termdock 1.4.178 → 1.4.179

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 (333) hide show
  1. package/dist/client/assets/App-DXq9kwY5.js +150 -0
  2. package/dist/client/assets/App-DXq9kwY5.js.br +0 -0
  3. package/dist/client/assets/App-DXq9kwY5.js.gz +0 -0
  4. package/dist/client/assets/{ChangeWalkthroughPanel-BNWqAnqc.js → ChangeWalkthroughPanel-DWUBYx6Q.js} +2 -2
  5. package/dist/client/assets/ChangeWalkthroughPanel-DWUBYx6Q.js.br +0 -0
  6. package/dist/client/assets/ChangeWalkthroughPanel-DWUBYx6Q.js.gz +0 -0
  7. package/dist/client/assets/{DagPlayground-IlTGwr-I.js → DagPlayground-DyczrcHM.js} +1 -1
  8. package/dist/client/assets/DagPlayground-DyczrcHM.js.br +0 -0
  9. package/dist/client/assets/DagPlayground-DyczrcHM.js.gz +0 -0
  10. package/dist/client/assets/{DiffLab-CwhNpJvo.js → DiffLab-D5wb-H7y.js} +1 -1
  11. package/dist/client/assets/DiffLab-D5wb-H7y.js.br +0 -0
  12. package/dist/client/assets/DiffLab-D5wb-H7y.js.gz +0 -0
  13. package/dist/client/assets/{DiffReview-DyhINv0F.js → DiffReview-CVIz-B5T.js} +1 -1
  14. package/dist/client/assets/DiffReview-CVIz-B5T.js.br +0 -0
  15. package/dist/client/assets/DiffReview-CVIz-B5T.js.gz +0 -0
  16. package/dist/client/assets/{DiffReviewLab-D9Kt5VwB.js → DiffReviewLab-99hTNRaj.js} +1 -1
  17. package/dist/client/assets/DiffReviewLab-99hTNRaj.js.br +0 -0
  18. package/dist/client/assets/DiffReviewLab-99hTNRaj.js.gz +0 -0
  19. package/dist/client/assets/{DiffViewer-3zz2PI-8.js → DiffViewer-BPor2_7o.js} +1 -1
  20. package/dist/client/assets/DiffViewer-BPor2_7o.js.br +0 -0
  21. package/dist/client/assets/DiffViewer-BPor2_7o.js.gz +0 -0
  22. package/dist/client/assets/{ModelPreview-CN8xsiGC.js → ModelPreview-DpImj4vY.js} +1 -1
  23. package/dist/client/assets/ModelPreview-DpImj4vY.js.br +0 -0
  24. package/dist/client/assets/ModelPreview-DpImj4vY.js.gz +0 -0
  25. package/dist/client/assets/RightSidebar-BW8SSsoA.js +79 -0
  26. package/dist/client/assets/RightSidebar-BW8SSsoA.js.br +0 -0
  27. package/dist/client/assets/RightSidebar-BW8SSsoA.js.gz +0 -0
  28. package/dist/client/assets/{abnfDiagram-VCTEODGH-DkdoJ2ZH.js → abnfDiagram-VCTEODGH-CNWmFVMh.js} +1 -1
  29. package/dist/client/assets/abnfDiagram-VCTEODGH-CNWmFVMh.js.br +0 -0
  30. package/dist/client/assets/abnfDiagram-VCTEODGH-CNWmFVMh.js.gz +0 -0
  31. package/dist/client/assets/app-Pl7tV8Be.js +34 -0
  32. package/dist/client/assets/app-Pl7tV8Be.js.br +0 -0
  33. package/dist/client/assets/app-Pl7tV8Be.js.gz +0 -0
  34. package/dist/client/assets/{arc-ctzz5PcK.js → arc-Z8mcHjh7.js} +1 -1
  35. package/dist/client/assets/arc-Z8mcHjh7.js.br +0 -0
  36. package/dist/client/assets/arc-Z8mcHjh7.js.gz +0 -0
  37. package/dist/client/assets/{architectureDiagram-5GKGNRK7-DNLcYfGQ.js → architectureDiagram-5GKGNRK7-DuxbAeFP.js} +1 -1
  38. package/dist/client/assets/architectureDiagram-5GKGNRK7-DuxbAeFP.js.br +0 -0
  39. package/dist/client/assets/architectureDiagram-5GKGNRK7-DuxbAeFP.js.gz +0 -0
  40. package/dist/client/assets/{blockDiagram-I7D4REHJ-Coye1ou5.js → blockDiagram-I7D4REHJ-SxAFw0An.js} +1 -1
  41. package/dist/client/assets/blockDiagram-I7D4REHJ-SxAFw0An.js.br +0 -0
  42. package/dist/client/assets/blockDiagram-I7D4REHJ-SxAFw0An.js.gz +0 -0
  43. package/dist/client/assets/{c4Diagram-7LVT6UL2-DTa8jyPp.js → c4Diagram-7LVT6UL2-CcRdiWo7.js} +1 -1
  44. package/dist/client/assets/{c4Diagram-7LVT6UL2-DTa8jyPp.js.br → c4Diagram-7LVT6UL2-CcRdiWo7.js.br} +0 -0
  45. package/dist/client/assets/c4Diagram-7LVT6UL2-CcRdiWo7.js.gz +0 -0
  46. package/dist/client/assets/channel-nXn0ntBk.js +1 -0
  47. package/dist/client/assets/{chunk-2Q5K7J3B-BpDyjNfs.js → chunk-2Q5K7J3B-DJ_qzvZZ.js} +1 -1
  48. package/dist/client/assets/{chunk-5VM5RSS4-DgwdqXKl.js → chunk-5VM5RSS4-l3H0C2ci.js} +1 -1
  49. package/dist/client/assets/{chunk-F27PBJKO-DWf2gZ96.js → chunk-F27PBJKO-B7xASv8n.js} +1 -1
  50. package/dist/client/assets/chunk-F27PBJKO-B7xASv8n.js.br +0 -0
  51. package/dist/client/assets/chunk-F27PBJKO-B7xASv8n.js.gz +0 -0
  52. package/dist/client/assets/{chunk-IMKFNOWR-l42o_E2c.js → chunk-IMKFNOWR-Wg5gR7sZ.js} +1 -1
  53. package/dist/client/assets/chunk-IMKFNOWR-Wg5gR7sZ.js.br +0 -0
  54. package/dist/client/assets/chunk-IMKFNOWR-Wg5gR7sZ.js.gz +0 -0
  55. package/dist/client/assets/{chunk-JWPE2WC7-8CkEf05l.js → chunk-JWPE2WC7-BlXUS79m.js} +1 -1
  56. package/dist/client/assets/{chunk-POPQ4Y6H-BKKOfbdg.js → chunk-POPQ4Y6H-CU38G8hb.js} +1 -1
  57. package/dist/client/assets/{chunk-SVP7TREG-RORrf2aM.js → chunk-SVP7TREG-D-yZlXqX.js} +1 -1
  58. package/dist/client/assets/chunk-SVP7TREG-D-yZlXqX.js.br +0 -0
  59. package/dist/client/assets/chunk-SVP7TREG-D-yZlXqX.js.gz +0 -0
  60. package/dist/client/assets/{chunk-TICWLB2K-hPqafEtC.js → chunk-TICWLB2K-DrOYmcBB.js} +1 -1
  61. package/dist/client/assets/{chunk-TICWLB2K-hPqafEtC.js.br → chunk-TICWLB2K-DrOYmcBB.js.br} +0 -0
  62. package/dist/client/assets/chunk-TICWLB2K-DrOYmcBB.js.gz +0 -0
  63. package/dist/client/assets/{chunk-XXDRQBXY-CrvjJwms.js → chunk-XXDRQBXY-BbsHtVFa.js} +1 -1
  64. package/dist/client/assets/classDiagram-ZZMXUADV-DxqN38m7.js +1 -0
  65. package/dist/client/assets/classDiagram-v2-VYDZK3BY-DxqN38m7.js +1 -0
  66. package/dist/client/assets/{cose-bilkent-JH36ORCC-CwRSiQLa.js → cose-bilkent-JH36ORCC-_wKUNL8T.js} +1 -1
  67. package/dist/client/assets/cose-bilkent-JH36ORCC-_wKUNL8T.js.br +0 -0
  68. package/dist/client/assets/cose-bilkent-JH36ORCC-_wKUNL8T.js.gz +0 -0
  69. package/dist/client/assets/{cynefin-OW5HDTMX-CXnppZ8I.js → cynefin-OW5HDTMX-CPr--Wnc.js} +1 -1
  70. package/dist/client/assets/cynefin-OW5HDTMX-CPr--Wnc.js.br +0 -0
  71. package/dist/client/assets/cynefin-OW5HDTMX-CPr--Wnc.js.gz +0 -0
  72. package/dist/client/assets/{cynefinDiagram-5FMLGOSQ-BSDrHSIA.js → cynefinDiagram-5FMLGOSQ-5ygpPOWT.js} +1 -1
  73. package/dist/client/assets/cynefinDiagram-5FMLGOSQ-5ygpPOWT.js.br +0 -0
  74. package/dist/client/assets/cynefinDiagram-5FMLGOSQ-5ygpPOWT.js.gz +0 -0
  75. package/dist/client/assets/{dagre-GXQ25YYZ-d-5j4vkq.js → dagre-GXQ25YYZ-Cvx65nHO.js} +1 -1
  76. package/dist/client/assets/dagre-GXQ25YYZ-Cvx65nHO.js.br +0 -0
  77. package/dist/client/assets/dagre-GXQ25YYZ-Cvx65nHO.js.gz +0 -0
  78. package/dist/client/assets/{diagram-S7CK7UJ4-DizMBpGW.js → diagram-S7CK7UJ4-Dw5cp_BA.js} +1 -1
  79. package/dist/client/assets/diagram-S7CK7UJ4-Dw5cp_BA.js.br +0 -0
  80. package/dist/client/assets/diagram-S7CK7UJ4-Dw5cp_BA.js.gz +0 -0
  81. package/dist/client/assets/{diagram-UQ7AKVKN-CNQK26rH.js → diagram-UQ7AKVKN-D8BZ5Tp3.js} +1 -1
  82. package/dist/client/assets/diagram-UQ7AKVKN-D8BZ5Tp3.js.br +0 -0
  83. package/dist/client/assets/diagram-UQ7AKVKN-D8BZ5Tp3.js.gz +0 -0
  84. package/dist/client/assets/{diagram-VSXAHHWV-Dua-2_46.js → diagram-VSXAHHWV-BxJD7ZWH.js} +1 -1
  85. package/dist/client/assets/diagram-VSXAHHWV-BxJD7ZWH.js.br +0 -0
  86. package/dist/client/assets/diagram-VSXAHHWV-BxJD7ZWH.js.gz +0 -0
  87. package/dist/client/assets/{diagram-VX7I27RA-CIq-4729.js → diagram-VX7I27RA-CvzlU0bI.js} +1 -1
  88. package/dist/client/assets/diagram-VX7I27RA-CvzlU0bI.js.br +0 -0
  89. package/dist/client/assets/diagram-VX7I27RA-CvzlU0bI.js.gz +0 -0
  90. package/dist/client/assets/{diagram-Z3DM3KII-BukQ0u-x.js → diagram-Z3DM3KII-Be4HdFlL.js} +1 -1
  91. package/dist/client/assets/diagram-Z3DM3KII-Be4HdFlL.js.br +0 -0
  92. package/dist/client/assets/diagram-Z3DM3KII-Be4HdFlL.js.gz +0 -0
  93. package/dist/client/assets/{ebnfDiagram-PWID7BFC-D2zRkRBI.js → ebnfDiagram-PWID7BFC-C_wrrPjF.js} +1 -1
  94. package/dist/client/assets/ebnfDiagram-PWID7BFC-C_wrrPjF.js.br +0 -0
  95. package/dist/client/assets/ebnfDiagram-PWID7BFC-C_wrrPjF.js.gz +0 -0
  96. package/dist/client/assets/{erDiagram-RLTQ6QDP-DbX6A3ls.js → erDiagram-RLTQ6QDP-IHyLgV6M.js} +1 -1
  97. package/dist/client/assets/erDiagram-RLTQ6QDP-IHyLgV6M.js.br +0 -0
  98. package/dist/client/assets/erDiagram-RLTQ6QDP-IHyLgV6M.js.gz +0 -0
  99. package/dist/client/assets/{flowDiagram-HODETNUW-YECDWA2G.js → flowDiagram-HODETNUW-CpfW88Uc.js} +1 -1
  100. package/dist/client/assets/flowDiagram-HODETNUW-CpfW88Uc.js.br +0 -0
  101. package/dist/client/assets/flowDiagram-HODETNUW-CpfW88Uc.js.gz +0 -0
  102. package/dist/client/assets/{ganttDiagram-EL5Y4UJY-D3EJdUov.js → ganttDiagram-EL5Y4UJY-CsbQ6KLb.js} +1 -1
  103. package/dist/client/assets/ganttDiagram-EL5Y4UJY-CsbQ6KLb.js.br +0 -0
  104. package/dist/client/assets/ganttDiagram-EL5Y4UJY-CsbQ6KLb.js.gz +0 -0
  105. package/dist/client/assets/{gestureArbiter-D3IZpZS7.js → gestureArbiter-CJQ8K48V.js} +1 -1
  106. package/dist/client/assets/gestureArbiter-CJQ8K48V.js.br +0 -0
  107. package/dist/client/assets/gestureArbiter-CJQ8K48V.js.gz +0 -0
  108. package/dist/client/assets/{gitGraphDiagram-WWUBYQGX-tr_HKoQK.js → gitGraphDiagram-WWUBYQGX-DJZqSGtH.js} +1 -1
  109. package/dist/client/assets/gitGraphDiagram-WWUBYQGX-DJZqSGtH.js.br +0 -0
  110. package/dist/client/assets/gitGraphDiagram-WWUBYQGX-DJZqSGtH.js.gz +0 -0
  111. package/dist/client/assets/{index-C4Ny0NDQ.css → index-PWu1VEN_.css} +1 -1
  112. package/dist/client/assets/index-PWu1VEN_.css.br +0 -0
  113. package/dist/client/assets/index-PWu1VEN_.css.gz +0 -0
  114. package/dist/client/assets/{infoDiagram-27XIBGKW-xBV63YYg.js → infoDiagram-27XIBGKW-D6sSgR2Y.js} +1 -1
  115. package/dist/client/assets/{ishikawaDiagram-5VMMS53U-BrYSZu1R.js → ishikawaDiagram-5VMMS53U-BJJSUXep.js} +1 -1
  116. package/dist/client/assets/ishikawaDiagram-5VMMS53U-BJJSUXep.js.br +0 -0
  117. package/dist/client/assets/ishikawaDiagram-5VMMS53U-BJJSUXep.js.gz +0 -0
  118. package/dist/client/assets/{journeyDiagram-3NMN7TZE-C9Ft--aA.js → journeyDiagram-3NMN7TZE-ou1XS2DP.js} +1 -1
  119. package/dist/client/assets/journeyDiagram-3NMN7TZE-ou1XS2DP.js.br +0 -0
  120. package/dist/client/assets/journeyDiagram-3NMN7TZE-ou1XS2DP.js.gz +0 -0
  121. package/dist/client/assets/{kanban-definition-UXKFOSKX-FCxqSu11.js → kanban-definition-UXKFOSKX-BFQGYQzd.js} +1 -1
  122. package/dist/client/assets/kanban-definition-UXKFOSKX-BFQGYQzd.js.br +0 -0
  123. package/dist/client/assets/kanban-definition-UXKFOSKX-BFQGYQzd.js.gz +0 -0
  124. package/dist/client/assets/{layout-BqjIyPqO.js → layout-zUU3xcam.js} +1 -1
  125. package/dist/client/assets/layout-zUU3xcam.js.br +0 -0
  126. package/dist/client/assets/layout-zUU3xcam.js.gz +0 -0
  127. package/dist/client/assets/{linear-CEAGQX5N.js → linear-CYwYQI2I.js} +1 -1
  128. package/dist/client/assets/linear-CYwYQI2I.js.br +0 -0
  129. package/dist/client/assets/linear-CYwYQI2I.js.gz +0 -0
  130. package/dist/client/assets/{mermaid.core-DvAY78t_.js → mermaid.core-91Llsw5j.js} +5 -5
  131. package/dist/client/assets/mermaid.core-91Llsw5j.js.br +0 -0
  132. package/dist/client/assets/mermaid.core-91Llsw5j.js.gz +0 -0
  133. package/dist/client/assets/{mindmap-definition-YA3MSWOX-D7_qIQ9H.js → mindmap-definition-YA3MSWOX-RWG074lb.js} +1 -1
  134. package/dist/client/assets/mindmap-definition-YA3MSWOX-RWG074lb.js.br +0 -0
  135. package/dist/client/assets/mindmap-definition-YA3MSWOX-RWG074lb.js.gz +0 -0
  136. package/dist/client/assets/{passwordBootstrap-Dksfdvk3.js → passwordBootstrap-DRknuNUN.js} +1 -1
  137. package/dist/client/assets/passwordBootstrap-DRknuNUN.js.br +0 -0
  138. package/dist/client/assets/passwordBootstrap-DRknuNUN.js.gz +0 -0
  139. package/dist/client/assets/{pegDiagram-XKGWAZYB-DeTIBKGC.js → pegDiagram-XKGWAZYB-Dyh2rzGS.js} +1 -1
  140. package/dist/client/assets/pegDiagram-XKGWAZYB-Dyh2rzGS.js.br +0 -0
  141. package/dist/client/assets/pegDiagram-XKGWAZYB-Dyh2rzGS.js.gz +0 -0
  142. package/dist/client/assets/{pieDiagram-E7YTZNPT-z5IcoVwx.js → pieDiagram-E7YTZNPT-CL3UcUfh.js} +1 -1
  143. package/dist/client/assets/pieDiagram-E7YTZNPT-CL3UcUfh.js.br +0 -0
  144. package/dist/client/assets/pieDiagram-E7YTZNPT-CL3UcUfh.js.gz +0 -0
  145. package/dist/client/assets/{quadrantDiagram-AXDQQJYC-B-zCZvES.js → quadrantDiagram-AXDQQJYC-DOkejMel.js} +1 -1
  146. package/dist/client/assets/quadrantDiagram-AXDQQJYC-DOkejMel.js.br +0 -0
  147. package/dist/client/assets/quadrantDiagram-AXDQQJYC-DOkejMel.js.gz +0 -0
  148. package/dist/client/assets/{railroadDiagram-O6MQD6OU-DbpeB7P2.js → railroadDiagram-O6MQD6OU-BC780Uh3.js} +1 -1
  149. package/dist/client/assets/railroadDiagram-O6MQD6OU-BC780Uh3.js.br +0 -0
  150. package/dist/client/assets/railroadDiagram-O6MQD6OU-BC780Uh3.js.gz +0 -0
  151. package/dist/client/assets/{referenceLongPress-p56g9xFb.js → referenceLongPress-Dlc0425_.js} +1 -1
  152. package/dist/client/assets/referenceLongPress-Dlc0425_.js.br +0 -0
  153. package/dist/client/assets/referenceLongPress-Dlc0425_.js.gz +0 -0
  154. package/dist/client/assets/{requirementDiagram-BXWQKSXE-UhJYMJ_U.js → requirementDiagram-BXWQKSXE-CwCGr0qR.js} +1 -1
  155. package/dist/client/assets/requirementDiagram-BXWQKSXE-CwCGr0qR.js.br +0 -0
  156. package/dist/client/assets/requirementDiagram-BXWQKSXE-CwCGr0qR.js.gz +0 -0
  157. package/dist/client/assets/{sankeyDiagram-P5KCCOFB-xKsuFR17.js → sankeyDiagram-P5KCCOFB-CYDYBwJQ.js} +1 -1
  158. package/dist/client/assets/sankeyDiagram-P5KCCOFB-CYDYBwJQ.js.br +0 -0
  159. package/dist/client/assets/sankeyDiagram-P5KCCOFB-CYDYBwJQ.js.gz +0 -0
  160. package/dist/client/assets/{sequenceDiagram-WJ2MYXX4-DrjBl65C.js → sequenceDiagram-WJ2MYXX4-DhHsZi3K.js} +1 -1
  161. package/dist/client/assets/sequenceDiagram-WJ2MYXX4-DhHsZi3K.js.br +0 -0
  162. package/dist/client/assets/sequenceDiagram-WJ2MYXX4-DhHsZi3K.js.gz +0 -0
  163. package/dist/client/assets/{sizeCapture-INFHLROL-BIlGJ9tm.js → sizeCapture-INFHLROL-4oUXWvYA.js} +1 -1
  164. package/dist/client/assets/sizeCapture-INFHLROL-4oUXWvYA.js.br +0 -0
  165. package/dist/client/assets/sizeCapture-INFHLROL-4oUXWvYA.js.gz +0 -0
  166. package/dist/client/assets/{sparkles-B-uEi0Pa.js → sparkles-gqiuBkfP.js} +1 -1
  167. package/dist/client/assets/{stateDiagram-D77RDMKH-C3k9XvA6.js → stateDiagram-D77RDMKH-7hUELZGo.js} +1 -1
  168. package/dist/client/assets/stateDiagram-D77RDMKH-7hUELZGo.js.br +0 -0
  169. package/dist/client/assets/stateDiagram-D77RDMKH-7hUELZGo.js.gz +0 -0
  170. package/dist/client/assets/stateDiagram-v2-MP3YSRHH-MO84Jqt6.js +1 -0
  171. package/dist/client/assets/{swimlanes-42K2YHIH-BN-x1rXp.js → swimlanes-42K2YHIH-E1qoordP.js} +1 -1
  172. package/dist/client/assets/swimlanes-42K2YHIH-E1qoordP.js.br +0 -0
  173. package/dist/client/assets/swimlanes-42K2YHIH-E1qoordP.js.gz +0 -0
  174. package/dist/client/assets/swimlanesDiagram-VR7AAH4N-DnSXMnZQ.js +8 -0
  175. package/dist/client/assets/{timeline-definition-24CTP7MA-Dcedjtic.js → timeline-definition-24CTP7MA-CTYyCnUW.js} +1 -1
  176. package/dist/client/assets/timeline-definition-24CTP7MA-CTYyCnUW.js.br +0 -0
  177. package/dist/client/assets/timeline-definition-24CTP7MA-CTYyCnUW.js.gz +0 -0
  178. package/dist/client/assets/{triangle-alert-BSNAwyll.js → triangle-alert-DrBuMUPw.js} +1 -1
  179. package/dist/client/assets/{vennDiagram-4TSXK5OY-DAIk-5Rt.js → vennDiagram-4TSXK5OY-DVWbhWsS.js} +1 -1
  180. package/dist/client/assets/vennDiagram-4TSXK5OY-DVWbhWsS.js.br +0 -0
  181. package/dist/client/assets/vennDiagram-4TSXK5OY-DVWbhWsS.js.gz +0 -0
  182. package/dist/client/assets/{wardleyDiagram-VM6X3IG4-3iXOTpAg.js → wardleyDiagram-VM6X3IG4-BFAwOxhc.js} +1 -1
  183. package/dist/client/assets/wardleyDiagram-VM6X3IG4-BFAwOxhc.js.br +0 -0
  184. package/dist/client/assets/wardleyDiagram-VM6X3IG4-BFAwOxhc.js.gz +0 -0
  185. package/dist/client/assets/{xychartDiagram-S5SC5T6Z-OD1a_9Qg.js → xychartDiagram-S5SC5T6Z-DYXOiBiX.js} +1 -1
  186. package/dist/client/assets/xychartDiagram-S5SC5T6Z-DYXOiBiX.js.br +0 -0
  187. package/dist/client/assets/xychartDiagram-S5SC5T6Z-DYXOiBiX.js.gz +0 -0
  188. package/dist/client/index.html +2 -2
  189. package/dist/client/index.html.br +0 -0
  190. package/dist/client/index.html.gz +0 -0
  191. package/dist/client/sw-notifications.js +5 -45
  192. package/dist/client/sw-notifications.js.br +0 -0
  193. package/dist/client/sw-notifications.js.gz +0 -0
  194. package/dist/client/sw.js +1 -1
  195. package/dist/client/sw.js.br +0 -0
  196. package/dist/client/sw.js.gz +0 -0
  197. package/dist/server/agent/collaborationCli.js +10 -3
  198. package/dist/server/agent/collaborationDeliveryWorker.js +154 -0
  199. package/dist/server/agent/collaborationRoutes.js +15 -4
  200. package/dist/server/agent/collaborationRouting.js +94 -0
  201. package/dist/server/agent/collaborationStore.js +6 -1
  202. package/dist/server/agent/collaborationTmuxDelivery.js +10 -0
  203. package/dist/server/agent/sessionBindingRecovery.js +59 -0
  204. package/dist/server/entry.js +30 -13
  205. package/dist/server/federation/desktopTargets.js +64 -0
  206. package/dist/server/federation/directRoutes.js +27 -19
  207. package/dist/server/federation/routeAccess.js +14 -7
  208. package/dist/server/federation/trustedCa.js +55 -0
  209. package/dist/server/routes/terminal.js +242 -67
  210. package/package.json +1 -1
  211. package/runtime-manifest.json +3 -3
  212. package/dist/client/assets/App-CAEtVL8Z.js +0 -150
  213. package/dist/client/assets/App-CAEtVL8Z.js.br +0 -0
  214. package/dist/client/assets/App-CAEtVL8Z.js.gz +0 -0
  215. package/dist/client/assets/ChangeWalkthroughPanel-BNWqAnqc.js.br +0 -0
  216. package/dist/client/assets/ChangeWalkthroughPanel-BNWqAnqc.js.gz +0 -0
  217. package/dist/client/assets/DagPlayground-IlTGwr-I.js.br +0 -0
  218. package/dist/client/assets/DagPlayground-IlTGwr-I.js.gz +0 -0
  219. package/dist/client/assets/DiffLab-CwhNpJvo.js.br +0 -0
  220. package/dist/client/assets/DiffLab-CwhNpJvo.js.gz +0 -0
  221. package/dist/client/assets/DiffReview-DyhINv0F.js.br +0 -0
  222. package/dist/client/assets/DiffReview-DyhINv0F.js.gz +0 -0
  223. package/dist/client/assets/DiffReviewLab-D9Kt5VwB.js.br +0 -0
  224. package/dist/client/assets/DiffReviewLab-D9Kt5VwB.js.gz +0 -0
  225. package/dist/client/assets/DiffViewer-3zz2PI-8.js.br +0 -0
  226. package/dist/client/assets/DiffViewer-3zz2PI-8.js.gz +0 -0
  227. package/dist/client/assets/ModelPreview-CN8xsiGC.js.br +0 -0
  228. package/dist/client/assets/ModelPreview-CN8xsiGC.js.gz +0 -0
  229. package/dist/client/assets/RightSidebar-DQk1cwKH.js +0 -79
  230. package/dist/client/assets/RightSidebar-DQk1cwKH.js.br +0 -0
  231. package/dist/client/assets/RightSidebar-DQk1cwKH.js.gz +0 -0
  232. package/dist/client/assets/abnfDiagram-VCTEODGH-DkdoJ2ZH.js.br +0 -0
  233. package/dist/client/assets/abnfDiagram-VCTEODGH-DkdoJ2ZH.js.gz +0 -0
  234. package/dist/client/assets/app-B42CoF1r.js +0 -34
  235. package/dist/client/assets/app-B42CoF1r.js.br +0 -0
  236. package/dist/client/assets/app-B42CoF1r.js.gz +0 -0
  237. package/dist/client/assets/arc-ctzz5PcK.js.br +0 -0
  238. package/dist/client/assets/arc-ctzz5PcK.js.gz +0 -0
  239. package/dist/client/assets/architectureDiagram-5GKGNRK7-DNLcYfGQ.js.br +0 -0
  240. package/dist/client/assets/architectureDiagram-5GKGNRK7-DNLcYfGQ.js.gz +0 -0
  241. package/dist/client/assets/blockDiagram-I7D4REHJ-Coye1ou5.js.br +0 -0
  242. package/dist/client/assets/blockDiagram-I7D4REHJ-Coye1ou5.js.gz +0 -0
  243. package/dist/client/assets/c4Diagram-7LVT6UL2-DTa8jyPp.js.gz +0 -0
  244. package/dist/client/assets/channel-CzvSDv06.js +0 -1
  245. package/dist/client/assets/chunk-F27PBJKO-DWf2gZ96.js.br +0 -0
  246. package/dist/client/assets/chunk-F27PBJKO-DWf2gZ96.js.gz +0 -0
  247. package/dist/client/assets/chunk-IMKFNOWR-l42o_E2c.js.br +0 -0
  248. package/dist/client/assets/chunk-IMKFNOWR-l42o_E2c.js.gz +0 -0
  249. package/dist/client/assets/chunk-SVP7TREG-RORrf2aM.js.br +0 -0
  250. package/dist/client/assets/chunk-SVP7TREG-RORrf2aM.js.gz +0 -0
  251. package/dist/client/assets/chunk-TICWLB2K-hPqafEtC.js.gz +0 -0
  252. package/dist/client/assets/classDiagram-ZZMXUADV-CDknJfE0.js +0 -1
  253. package/dist/client/assets/classDiagram-v2-VYDZK3BY-CDknJfE0.js +0 -1
  254. package/dist/client/assets/cose-bilkent-JH36ORCC-CwRSiQLa.js.br +0 -0
  255. package/dist/client/assets/cose-bilkent-JH36ORCC-CwRSiQLa.js.gz +0 -0
  256. package/dist/client/assets/cynefin-OW5HDTMX-CXnppZ8I.js.br +0 -0
  257. package/dist/client/assets/cynefin-OW5HDTMX-CXnppZ8I.js.gz +0 -0
  258. package/dist/client/assets/cynefinDiagram-5FMLGOSQ-BSDrHSIA.js.br +0 -0
  259. package/dist/client/assets/cynefinDiagram-5FMLGOSQ-BSDrHSIA.js.gz +0 -0
  260. package/dist/client/assets/dagre-GXQ25YYZ-d-5j4vkq.js.br +0 -0
  261. package/dist/client/assets/dagre-GXQ25YYZ-d-5j4vkq.js.gz +0 -0
  262. package/dist/client/assets/diagram-S7CK7UJ4-DizMBpGW.js.br +0 -0
  263. package/dist/client/assets/diagram-S7CK7UJ4-DizMBpGW.js.gz +0 -0
  264. package/dist/client/assets/diagram-UQ7AKVKN-CNQK26rH.js.br +0 -0
  265. package/dist/client/assets/diagram-UQ7AKVKN-CNQK26rH.js.gz +0 -0
  266. package/dist/client/assets/diagram-VSXAHHWV-Dua-2_46.js.br +0 -0
  267. package/dist/client/assets/diagram-VSXAHHWV-Dua-2_46.js.gz +0 -0
  268. package/dist/client/assets/diagram-VX7I27RA-CIq-4729.js.br +0 -0
  269. package/dist/client/assets/diagram-VX7I27RA-CIq-4729.js.gz +0 -0
  270. package/dist/client/assets/diagram-Z3DM3KII-BukQ0u-x.js.br +0 -0
  271. package/dist/client/assets/diagram-Z3DM3KII-BukQ0u-x.js.gz +0 -0
  272. package/dist/client/assets/ebnfDiagram-PWID7BFC-D2zRkRBI.js.br +0 -0
  273. package/dist/client/assets/ebnfDiagram-PWID7BFC-D2zRkRBI.js.gz +0 -0
  274. package/dist/client/assets/erDiagram-RLTQ6QDP-DbX6A3ls.js.br +0 -0
  275. package/dist/client/assets/erDiagram-RLTQ6QDP-DbX6A3ls.js.gz +0 -0
  276. package/dist/client/assets/flowDiagram-HODETNUW-YECDWA2G.js.br +0 -0
  277. package/dist/client/assets/flowDiagram-HODETNUW-YECDWA2G.js.gz +0 -0
  278. package/dist/client/assets/ganttDiagram-EL5Y4UJY-D3EJdUov.js.br +0 -0
  279. package/dist/client/assets/ganttDiagram-EL5Y4UJY-D3EJdUov.js.gz +0 -0
  280. package/dist/client/assets/gestureArbiter-D3IZpZS7.js.br +0 -0
  281. package/dist/client/assets/gestureArbiter-D3IZpZS7.js.gz +0 -0
  282. package/dist/client/assets/gitGraphDiagram-WWUBYQGX-tr_HKoQK.js.br +0 -0
  283. package/dist/client/assets/gitGraphDiagram-WWUBYQGX-tr_HKoQK.js.gz +0 -0
  284. package/dist/client/assets/index-C4Ny0NDQ.css.br +0 -0
  285. package/dist/client/assets/index-C4Ny0NDQ.css.gz +0 -0
  286. package/dist/client/assets/ishikawaDiagram-5VMMS53U-BrYSZu1R.js.br +0 -0
  287. package/dist/client/assets/ishikawaDiagram-5VMMS53U-BrYSZu1R.js.gz +0 -0
  288. package/dist/client/assets/journeyDiagram-3NMN7TZE-C9Ft--aA.js.br +0 -0
  289. package/dist/client/assets/journeyDiagram-3NMN7TZE-C9Ft--aA.js.gz +0 -0
  290. package/dist/client/assets/kanban-definition-UXKFOSKX-FCxqSu11.js.br +0 -0
  291. package/dist/client/assets/kanban-definition-UXKFOSKX-FCxqSu11.js.gz +0 -0
  292. package/dist/client/assets/layout-BqjIyPqO.js.br +0 -0
  293. package/dist/client/assets/layout-BqjIyPqO.js.gz +0 -0
  294. package/dist/client/assets/linear-CEAGQX5N.js.br +0 -0
  295. package/dist/client/assets/linear-CEAGQX5N.js.gz +0 -0
  296. package/dist/client/assets/mermaid.core-DvAY78t_.js.br +0 -0
  297. package/dist/client/assets/mermaid.core-DvAY78t_.js.gz +0 -0
  298. package/dist/client/assets/mindmap-definition-YA3MSWOX-D7_qIQ9H.js.br +0 -0
  299. package/dist/client/assets/mindmap-definition-YA3MSWOX-D7_qIQ9H.js.gz +0 -0
  300. package/dist/client/assets/passwordBootstrap-Dksfdvk3.js.br +0 -0
  301. package/dist/client/assets/passwordBootstrap-Dksfdvk3.js.gz +0 -0
  302. package/dist/client/assets/pegDiagram-XKGWAZYB-DeTIBKGC.js.br +0 -0
  303. package/dist/client/assets/pegDiagram-XKGWAZYB-DeTIBKGC.js.gz +0 -0
  304. package/dist/client/assets/pieDiagram-E7YTZNPT-z5IcoVwx.js.br +0 -0
  305. package/dist/client/assets/pieDiagram-E7YTZNPT-z5IcoVwx.js.gz +0 -0
  306. package/dist/client/assets/quadrantDiagram-AXDQQJYC-B-zCZvES.js.br +0 -0
  307. package/dist/client/assets/quadrantDiagram-AXDQQJYC-B-zCZvES.js.gz +0 -0
  308. package/dist/client/assets/railroadDiagram-O6MQD6OU-DbpeB7P2.js.br +0 -0
  309. package/dist/client/assets/railroadDiagram-O6MQD6OU-DbpeB7P2.js.gz +0 -0
  310. package/dist/client/assets/referenceLongPress-p56g9xFb.js.br +0 -0
  311. package/dist/client/assets/referenceLongPress-p56g9xFb.js.gz +0 -0
  312. package/dist/client/assets/requirementDiagram-BXWQKSXE-UhJYMJ_U.js.br +0 -0
  313. package/dist/client/assets/requirementDiagram-BXWQKSXE-UhJYMJ_U.js.gz +0 -0
  314. package/dist/client/assets/sankeyDiagram-P5KCCOFB-xKsuFR17.js.br +0 -0
  315. package/dist/client/assets/sankeyDiagram-P5KCCOFB-xKsuFR17.js.gz +0 -0
  316. package/dist/client/assets/sequenceDiagram-WJ2MYXX4-DrjBl65C.js.br +0 -0
  317. package/dist/client/assets/sequenceDiagram-WJ2MYXX4-DrjBl65C.js.gz +0 -0
  318. package/dist/client/assets/sizeCapture-INFHLROL-BIlGJ9tm.js.br +0 -0
  319. package/dist/client/assets/sizeCapture-INFHLROL-BIlGJ9tm.js.gz +0 -0
  320. package/dist/client/assets/stateDiagram-D77RDMKH-C3k9XvA6.js.br +0 -0
  321. package/dist/client/assets/stateDiagram-D77RDMKH-C3k9XvA6.js.gz +0 -0
  322. package/dist/client/assets/stateDiagram-v2-MP3YSRHH-B7GnCu2o.js +0 -1
  323. package/dist/client/assets/swimlanes-42K2YHIH-BN-x1rXp.js.br +0 -0
  324. package/dist/client/assets/swimlanes-42K2YHIH-BN-x1rXp.js.gz +0 -0
  325. package/dist/client/assets/swimlanesDiagram-VR7AAH4N-BH_gm34Y.js +0 -8
  326. package/dist/client/assets/timeline-definition-24CTP7MA-Dcedjtic.js.br +0 -0
  327. package/dist/client/assets/timeline-definition-24CTP7MA-Dcedjtic.js.gz +0 -0
  328. package/dist/client/assets/vennDiagram-4TSXK5OY-DAIk-5Rt.js.br +0 -0
  329. package/dist/client/assets/vennDiagram-4TSXK5OY-DAIk-5Rt.js.gz +0 -0
  330. package/dist/client/assets/wardleyDiagram-VM6X3IG4-3iXOTpAg.js.br +0 -0
  331. package/dist/client/assets/wardleyDiagram-VM6X3IG4-3iXOTpAg.js.gz +0 -0
  332. package/dist/client/assets/xychartDiagram-S5SC5T6Z-OD1a_9Qg.js.br +0 -0
  333. package/dist/client/assets/xychartDiagram-S5SC5T6Z-OD1a_9Qg.js.gz +0 -0
@@ -0,0 +1,150 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/app-Pl7tV8Be.js","assets/react-XDCjal2T.js","assets/dnd-BCFAPC0L.js","assets/terminal-C7X98Amf.js","assets/index-PWu1VEN_.css","assets/RightSidebar-BW8SSsoA.js","assets/gestureArbiter-CJQ8K48V.js","assets/gestureArbiter-C2J0D0kV.css","assets/referenceLongPress-Dlc0425_.js","assets/DiffReview-CVIz-B5T.js","assets/sparkles-gqiuBkfP.js","assets/DiffViewer-BPor2_7o.js","assets/DiffViewer-T3uj2-aP.css","assets/triangle-alert-DrBuMUPw.js","assets/ChangeWalkthroughPanel-DWUBYx6Q.js","assets/RightSidebar-DW-JEgm2.css"])))=>i.map(i=>d[i]);
2
+ import{J as zt,bt as Wy,_ as C5,bk as Gy,bl as U1,bG as _5,bH as ln,aE as c,I as Q0,e as Vy,w as qy,ao as _f,aM as Lf,br as Zy,$ as Yy,b9 as Ky,D as L5,b8 as Xy,bp as I5,G as Jy,K as e7,L as Xr,C as sa,X as $s,c as Kl,as as t7,aL as xp,a4 as r7,bK as n7,i as s7,aQ as k5,aY as i7,aS as o7,bn as $1,bo as z1,bq as H1,aX as a7,bu as l7,T as W1,bE as Gu,am as c7,g as u7,bj as d7,aj as h7,b1 as f7,b2 as p7,B as m7,ba as g7,R as x7,V as G1,aG as E5,h as Hi,bx as gh,Q as b7,r as If,bh as y7,d as kd,f as Fc,aC as v7,aD as w7,W as R5,ak as bp,a2 as M5,bF as ea,aH as A7,aJ as N5,P as D5,a_ as T7,bs as S7,bd as C7,bi as _7,aK as V1,bg as Qc,b0 as B5,bw as L7,bm as I7,aR as Q5,bf as k7,aI as q1,S as kf,aP as E7,a$ as R7,aZ as M7,Z as N7,a1 as D7,a3 as B7,an as ic,aw as Q7,bB as j7,ax as P7,U as O7,bC as F7,t as U7,O as $7,H as z7,A as H7,bI as W7,bb as G7,al as V7,F as q7,v as Z7,bz as Y7,ah as K7,ap as Z1,b5 as X7,aN as J7,b3 as Y1,b6 as e8,b4 as d0,b7 as t8}from"./app-Pl7tV8Be.js";import{b as _,R as S,r as Ra,a as r8}from"./dnd-BCFAPC0L.js";import{b as n8,c as s8,F as j0,S as i8,e as o8,h as a8,r as l8,y as c8,d as u8,u as d8}from"./gestureArbiter-CJQ8K48V.js";import{a as h8,C as f8,e as $t,b as p8,P as j5,c as Vu,u as yp,r as h0,w as On,s as m8}from"./referenceLongPress-Dlc0425_.js";import{L as g8,l as x8}from"./terminal-C7X98Amf.js";import{T as P5,L as P0,C as K1}from"./triangle-alert-DrBuMUPw.js";import{r as b8}from"./react-XDCjal2T.js";const y8=[["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}],["path",{d:"M10 4v4",key:"pp8u80"}],["path",{d:"M2 8h20",key:"d11cs7"}],["path",{d:"M6 4v4",key:"1svtjw"}]],v8=zt("app-window",y8);const w8=[["path",{d:"m3 16 4 4 4-4",key:"1co6wj"}],["path",{d:"M7 20V4",key:"1yoxec"}],["path",{d:"M20 8h-5",key:"1vsyxs"}],["path",{d:"M15 10V6.5a2.5 2.5 0 0 1 5 0V10",key:"ag13bf"}],["path",{d:"M15 14h5l-5 6h5",key:"ur5jdg"}]],A8=zt("arrow-down-a-z",w8);const T8=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],S8=zt("arrow-down",T8);const C8=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],O5=zt("arrow-up",C8);const _8=[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M11.68 2.009A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673c-.824-.85-1.678-1.731-2.21-3.348",key:"xaq59h"}],["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}]],Cl=zt("bell-dot",_8);const L8=[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]],I8=zt("bell",L8);const k8=[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]],Ed=zt("bot",k8);const E8=[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]],R8=zt("box",E8);const M8=[["path",{d:"M17 19a1 1 0 0 1-1-1v-2a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2a1 1 0 0 1-1 1z",key:"trhst0"}],["path",{d:"M17 21v-2",key:"ds4u3f"}],["path",{d:"M19 14V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V10",key:"1mo9zo"}],["path",{d:"M21 21v-2",key:"eo0ou"}],["path",{d:"M3 5V3",key:"1k5hjh"}],["path",{d:"M4 10a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2z",key:"1dd30t"}],["path",{d:"M7 5V3",key:"1t1388"}]],N8=zt("cable",M8);const D8=[["path",{d:"M16 14v2.2l1.6 1",key:"fo4ql5"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5",key:"1osxxc"}],["path",{d:"M3 10h5",key:"r794hk"}],["path",{d:"M8 2v4",key:"1cmpym"}],["circle",{cx:"16",cy:"16",r:"6",key:"qoo3c4"}]],B8=zt("calendar-clock",D8);const Q8=[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M7 16h8",key:"srdodz"}],["path",{d:"M7 11h12",key:"127s9w"}],["path",{d:"M7 6h3",key:"w9rmul"}]],j8=zt("chart-bar",Q8);const P8=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}]],O8=zt("circle-dot",P8);const F8=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]],id=zt("circle-question-mark",F8);const U8=[["path",{d:"M11 14h10",key:"1w8e9d"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v1.344",key:"1e62lh"}],["path",{d:"m17 18 4-4-4-4",key:"z2g111"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 1.793-1.113",key:"bjbb7m"}],["rect",{x:"8",y:"2",width:"8",height:"4",rx:"1",key:"ublpy"}]],$8=zt("clipboard-paste",U8);const z8=[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}]],F5=zt("clipboard",z8);const H8=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6h4",key:"135r8i"}]],Uc=zt("clock-3",H8);const W8=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]],G8=zt("clock",W8);const V8=[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]],q8=zt("code",V8);const Z8=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M12 3v18",key:"108xh3"}]],zl=zt("columns-2",Z8);const Y8=[["path",{d:"M20 4v7a4 4 0 0 1-4 4H4",key:"6o5b7l"}],["path",{d:"m9 10-5 5 5 5",key:"1kshq7"}]],K8=zt("corner-down-left",Y8);const X8=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],$c=zt("download",X8);const J8=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],U5=zt("external-link",J8);const ev=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}]],tv=zt("file-code",ev);const rv=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M12 12v6",key:"3ahymv"}],["path",{d:"m15 15-3-3-3 3",key:"15xj92"}]],nv=zt("file-up",rv);const sv=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]],$5=zt("file",sv);const iv=[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]],N0=zt("folder-open",iv);const ov=[["path",{d:"M10.7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v4.1",key:"1bw5m7"}],["path",{d:"m21 21-1.9-1.9",key:"1g2n9r"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}]],vp=zt("folder-search",ov);const av=[["path",{d:"M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z",key:"hod4my"}],["path",{d:"M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z",key:"w4yl2u"}],["path",{d:"M3 5a2 2 0 0 0 2 2h3",key:"f2jnh7"}],["path",{d:"M3 3v13a2 2 0 0 0 2 2h3",key:"k8epm1"}]],lv=zt("folder-tree",av);const cv=[["path",{d:"M12 3v18",key:"108xh3"}],["path",{d:"M3 12h18",key:"1i2n21"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}]],X1=zt("grid-2x2",cv);const uv=[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]],dv=zt("grip-vertical",uv);const hv=[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]],fv=zt("hash",hv);const pv=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]],I0=zt("history",pv);const mv=[["path",{d:"M10 8h.01",key:"1r9ogq"}],["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M14 8h.01",key:"1primd"}],["path",{d:"M16 12h.01",key:"1l6xoz"}],["path",{d:"M18 8h.01",key:"emo2bl"}],["path",{d:"M6 8h.01",key:"x9i8wu"}],["path",{d:"M7 16h10",key:"wp8him"}],["path",{d:"M8 12h.01",key:"czm47f"}],["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}]],gv=zt("keyboard",mv);const xv=[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]],bv=zt("layers",xv);const yv=[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]],O0=zt("layout-grid",yv);const vv=[["path",{d:"M5 12h14",key:"1ays0h"}]],wv=zt("minus",vv);const Av=[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]],Tv=zt("moon",Av);const Sv=[["path",{d:"M12 2v20",key:"t6zp3m"}],["path",{d:"m15 19-3 3-3-3",key:"11eu04"}],["path",{d:"m19 9 3 3-3 3",key:"1mg7y2"}],["path",{d:"M2 12h20",key:"9i4pu4"}],["path",{d:"m5 9-3 3 3 3",key:"j64kie"}],["path",{d:"m9 5 3-3 3 3",key:"l8vdw6"}]],Cv=zt("move",Sv);const _v=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]],Lv=zt("panel-left",_v);const Iv=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}]],kv=zt("panel-right",Iv);const Ev=[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]],Rv=zt("pause",Ev);const Mv=[["path",{d:"M13 21h8",key:"1jsn5i"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]],Nv=zt("pen-line",Mv);const Dv=[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]],zc=zt("pin",Dv);const Bv=[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89",key:"znwnzq"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11",key:"c9qhm2"}]],Hc=zt("pin-off",Bv);const Qv=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]],J1=zt("play",Qv);const jv=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],gs=zt("refresh-cw",jv);const Pv=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],z5=zt("rotate-ccw",Pv);const Ov=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 12h18",key:"1i2n21"}]],em=zt("rows-2",Ov);const Fv=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],od=zt("search",Fv);const Uv=[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]],$v=zt("settings-2",Uv);const zv=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Hv=zt("settings",zv);const Wv=[["path",{d:"M10 5H3",key:"1qgfaw"}],["path",{d:"M12 19H3",key:"yhmn1j"}],["path",{d:"M14 3v4",key:"1sua03"}],["path",{d:"M16 17v4",key:"1q0r14"}],["path",{d:"M21 12h-9",key:"1o4lsq"}],["path",{d:"M21 19h-5",key:"1rlt1p"}],["path",{d:"M21 5h-7",key:"1oszz2"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M8 12H3",key:"a7s4jb"}]],Gv=zt("sliders-horizontal",Wv);const Vv=[["path",{d:"M11 2v2",key:"1539x4"}],["path",{d:"M5 2v2",key:"1yf1q8"}],["path",{d:"M5 3H4a2 2 0 0 0-2 2v4a6 6 0 0 0 12 0V5a2 2 0 0 0-2-2h-1",key:"rb5t3r"}],["path",{d:"M8 15a6 6 0 0 0 12 0v-3",key:"x18d4x"}],["circle",{cx:"20",cy:"10",r:"2",key:"ts1r5v"}]],qv=zt("stethoscope",Vv);const Zv=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]],Yv=zt("sun",Zv);const Kv=[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]],na=zt("terminal",Kv);const Xv=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],to=zt("trash-2",Xv);const Jv=[["path",{d:"m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71",key:"yqzxt4"}],["path",{d:"m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71",key:"4qinb0"}],["line",{x1:"8",x2:"8",y1:"2",y2:"5",key:"1041cp"}],["line",{x1:"2",x2:"5",y1:"8",y2:"8",key:"14m1p5"}],["line",{x1:"16",x2:"16",y1:"19",y2:"22",key:"rzdirn"}],["line",{x1:"19",x2:"22",y1:"16",y2:"16",key:"ox905f"}]],e9=zt("unlink",Jv);const t9=[["path",{d:"m19 5 3-3",key:"yk6iyv"}],["path",{d:"m2 22 3-3",key:"19mgm9"}],["path",{d:"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z",key:"goz73y"}],["path",{d:"M7.5 13.5 10 11",key:"7xgeeb"}],["path",{d:"M10.5 16.5 13 14",key:"10btkg"}],["path",{d:"m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z",key:"1snsnr"}]],r9=zt("unplug",t9);const n9=[["path",{d:"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",key:"ftymec"}],["rect",{x:"2",y:"6",width:"14",height:"12",rx:"2",key:"158x01"}]],s9=zt("video",n9);const i9=[["path",{d:"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72",key:"ul74o6"}],["path",{d:"m14 7 3 3",key:"1r5n42"}],["path",{d:"M5 6v4",key:"ilb8ba"}],["path",{d:"M19 14v4",key:"blhpug"}],["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M7 8H3",key:"zfb6yr"}],["path",{d:"M21 16h-4",key:"1cnmox"}],["path",{d:"M11 3H9",key:"1obp7u"}]],o9=zt("wand-sparkles",i9);const a9=[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]],tm=zt("workflow",a9);let Ef=0,rm=!1,k0=0;function l9(){if(rm||typeof window>"u")return;rm=!0;const e=()=>{Ef=performance.now()};window.addEventListener("pointerdown",()=>{k0+=1,e()},{passive:!0,capture:!0});for(const t of["pointerup","pointercancel"])window.addEventListener(t,()=>{k0=Math.max(0,k0-1),e()},{passive:!0,capture:!0});for(const t of["pointermove","wheel","keydown"])window.addEventListener(t,e,{passive:!0,capture:!0});window.addEventListener("blur",()=>{k0=0,e()})}function wp(e,t=500){l9();let r=!1,s,i;const u=()=>{if(r)return;if(k0>0||performance.now()-Ef<400){i=setTimeout(u,100);return}const l=()=>{if(!r){if(k0>0||performance.now()-Ef<400){i=setTimeout(u,100);return}e()}};"requestIdleCallback"in window?s=window.requestIdleCallback(l):i=setTimeout(l,16)};return i=setTimeout(u,t),()=>{r=!0,clearTimeout(i),s!==void 0&&window.cancelIdleCallback(s)}}function c9(e){const[t,r]=_.useState(e);return _.useEffect(()=>wp(()=>r(e),0),[e]),t}function u9(e,t,r){_.useEffect(()=>{e&&Wy(e,!0)},[e,r])}const hi=[];for(let e=0;e<256;++e)hi.push((e+256).toString(16).slice(1));function d9(e,t=0){return(hi[e[t+0]]+hi[e[t+1]]+hi[e[t+2]]+hi[e[t+3]]+"-"+hi[e[t+4]]+hi[e[t+5]]+"-"+hi[e[t+6]]+hi[e[t+7]]+"-"+hi[e[t+8]]+hi[e[t+9]]+"-"+hi[e[t+10]]+hi[e[t+11]]+hi[e[t+12]]+hi[e[t+13]]+hi[e[t+14]]+hi[e[t+15]]).toLowerCase()}let xh;const h9=new Uint8Array(16);function f9(){if(!xh){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");xh=crypto.getRandomValues.bind(crypto)}return xh(h9)}const p9=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),nm={randomUUID:p9};function m9(e,t,r){e=e||{};const s=e.random??e.rng?.()??f9();if(s.length<16)throw new Error("Random bytes length must be >= 16");return s[6]=s[6]&15|64,s[8]=s[8]&63|128,d9(s)}function g9(e,t,r){return nm.randomUUID&&!e?nm.randomUUID():m9(e)}const x9=256*1024,b9=256*1024,y9=128;function sm(e,t=x9){if(!e)return[];if(e.length<=t)return[e];const r=[];let s=0;for(;s<e.length;){let i=Math.min(s+t,e.length);if(i<e.length){const u=e.lastIndexOf(`
3
+ `,i);u>s&&(i=u+1)}r.push(e.slice(s,i)),s=i}return r}function v9(e,t=b9,r=y9){const s=new Map;let i=0,u=0;for(const l of[...e.keys()]){const h=e.get(l);if(!h||h.length===0){e.delete(l);continue}const p=[];for(;h.length>0;){const g=h[0];if(u>0&&(u>=r||i+g.length>t))break;h.shift(),p.push(g),i+=g.length,u+=1}if(p.length>0&&s.set(l,p),e.delete(l),h.length>0&&e.set(l,h),u>=r||i>=t)break}return s}function w9(e,t){if(!t)return!1;try{const r=new URL(t.serviceOrigin||t.url);return r.origin===e&&/^(localhost|\[::1\]|127(?:\.\d{1,3}){3})$/.test(r.hostname)&&!(t.routes??[]).some(s=>s.targetPeerId!==t.targetPeerId)}catch{return!1}}function A9(e){const t=u=>u.target instanceof Element?u.target.closest("[data-termdock-terminal-dropzone]"):null,r=()=>!w9(location.origin,Gy()),s=u=>{const l=t(u);!l||!r()||!u.dataTransfer?.types.includes("Files")||(u.preventDefault(),u.stopImmediatePropagation(),u.dataTransfer.dropEffect="copy",l.dataset.nativeFileDrag="true",l.dataset.nativeFileDropState="remote")},i=u=>{const l=t(u),h=Array.from(u.dataTransfer?.files??[]);if(!l||!h.length||!r())return;u.preventDefault(),u.stopImmediatePropagation();const p=l.dataset.termdockTerminalDropzone??"";l.dataset.nativeFileDrag="true",l.dataset.nativeFileDropState="uploading",C5(async()=>{const{uploadFiles:g}=await import("./app-Pl7tV8Be.js").then(x=>x.l);return{uploadFiles:g}},__vite__mapDeps([0,1,2,3,4])).then(({uploadFiles:g})=>g("/tmp",h)).then(g=>{if(g.files.length!==h.length||g.files.some(x=>!x.path))throw new Error("Upload did not return every file path");delete l.dataset.nativeFileDrag,delete l.dataset.nativeFileDropState,e({sessionKey:p,paths:g.files.map(x=>x.path)})}).catch(g=>{l.dataset.nativeFileDropState="error",l.dispatchEvent(new CustomEvent("termdock:file-drop-error",{bubbles:!0,detail:g instanceof Error?g.message:"File upload failed"})),window.setTimeout(()=>{l.dataset.nativeFileDropState==="error"&&(delete l.dataset.nativeFileDrag,delete l.dataset.nativeFileDropState)},3e3)})};return window.addEventListener("dragover",s,!0),window.addEventListener("drop",i,!0),()=>{window.removeEventListener("dragover",s,!0),window.removeEventListener("drop",i,!0)}}function xi(){return typeof window>"u"?null:window.termdockDesktop??null}function T9(e){return typeof e?.reportServiceActivity=="function"&&typeof e.focusService=="function"&&typeof e.onServiceActivity=="function"}const bh=new Set;let im=!1;function S9(e){const t=xi();if(!t)return()=>{};if(bh.add(e),!im){const r=s=>{for(const i of bh)i(s)};A9(r),t.onNativeFileDrop(r),im=!0}return()=>{bh.delete(e)}}const H5="termdock-pwa-notifications-enabled",W5="termdock-pwa-ai-notifications-enabled",G5="termdock-pwa-exit-notifications-enabled",V5="termdock-pwa-notification-alert-style",C9="termdock-notification-claim:",Rf=5e3,_9=1500,Mf="termdock-push-last-sync",om=360*60*1e3,L9=10080*60*1e3,jc=new Map;function Hl(){return xi()?!0:typeof window<"u"&&typeof Notification<"u"&&"serviceWorker"in navigator&&window.isSecureContext}function I9(){if(typeof navigator>"u")return!1;const e=navigator.userAgent;return/iPad|iPhone|iPod/.test(e)||navigator.platform==="MacIntel"&&navigator.maxTouchPoints>1}function k9(){return typeof window>"u"?!1:!!(window.matchMedia("(display-mode: standalone)").matches||"standalone"in navigator&&navigator.standalone===!0)}function q5(){return xi()?!0:!(!Hl()||I9()&&!k9())}function yh(){return xi()?"granted":typeof Notification>"u"?"unsupported":Notification.permission}function Rd(){if(typeof window>"u")return!1;try{return window.localStorage.getItem(H5)==="true"}catch{return!1}}function wu(e){if(!(typeof window>"u"))try{window.localStorage.setItem(H5,String(e))}catch{}}function Md(){if(typeof window>"u")return!0;try{const e=window.localStorage.getItem(W5);return e===null?!0:e==="true"}catch{return!0}}function E9(e){if(!(typeof window>"u"))try{window.localStorage.setItem(W5,String(e))}catch{}}function Ap(){if(typeof window>"u")return!1;try{return window.localStorage.getItem(G5)==="true"}catch{return!1}}function R9(e){if(!(typeof window>"u"))try{window.localStorage.setItem(G5,String(e))}catch{}}function Wc(){if(typeof window>"u")return"normal";try{const e=window.localStorage.getItem(V5);if(e==="quiet"||e==="persistent")return e}catch{}return"normal"}function M9(e){if(!(typeof window>"u"))try{window.localStorage.setItem(V5,e)}catch{}}async function N9(){return xi()?"granted":Hl()?Notification.permission==="default"?Notification.requestPermission():Notification.permission:"unsupported"}function D9(){return typeof document>"u"?!0:document.visibilityState==="visible"&&document.hasFocus()}function B9(e){for(const[t,r]of jc)e-r>Rf&&jc.delete(t)}function Q9(e){return e.dedupKey?.trim()?e.dedupKey.trim():e.tag?.trim()?e.tag.trim():[e.data?.sessionId,e.title,e.body].filter(t=>typeof t=="string"&&t.trim().length>0).map(t=>t.trim()).join("|")}function j9(e){const t=Q9(e);if(!t)return!0;const r=Date.now();B9(r);const s=jc.get(t)??0;if(r-s<Rf)return!1;try{if(typeof window<"u"&&window.localStorage){const i=`${C9}${t}`,u=Number(window.localStorage.getItem(i)??"0");if(Number.isFinite(u)&&r-u<Rf)return jc.set(t,u),!1;Number.isFinite(u)&&u>0&&window.localStorage.removeItem(i),window.localStorage.setItem(i,String(r))}}catch{}return jc.set(t,r),!0}async function Nd(){if(typeof navigator>"u"||!("serviceWorker"in navigator))return null;try{const e=await navigator.serviceWorker.getRegistration()??null;return e?.active?e:await Promise.race([navigator.serviceWorker.ready,new Promise(r=>{window.setTimeout(()=>r(null),_9)})])??e}catch{return null}}function P9(e){const t="=".repeat((4-e.length%4)%4),r=(e+t).replace(/-/g,"+").replace(/_/g,"/"),s=window.atob(r),i=new Uint8Array(new ArrayBuffer(s.length));for(let u=0;u<s.length;u+=1)i[u]=s.charCodeAt(u);return i}async function Tp(e,t){const r=await fetch("/api/csrf-token");if(!r.ok)throw new Error("Unable to get notification security token");const{csrfToken:s}=await r.json();return fetch(`/api/notifications/${e}`,{method:"POST",headers:{"Content-Type":"application/json","X-XSRF-TOKEN":s},body:JSON.stringify(t)})}async function C0(e=!1,t=!1){if(xi())return!0;if(!Rd()||!q5()||Notification.permission!=="granted")return!1;const r=await Nd();if(!r?.pushManager)return!1;try{const s=await fetch("/api/notifications/status");if(!s.ok)return!1;const i=await s.json();let u=await r.pushManager.getSubscription();const l=!!(u?.expirationTime&&u.expirationTime-Date.now()<L9);if(!u)try{u=await r.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:P9(i.publicKey)})}catch(g){return console.warn(`[PWA notifications] Push subscription missing; re-subscribe failed${t?" (user gesture)":""}:`,g),!1}const h=Number(window.localStorage.getItem(Mf)??"0"),p=!i.subscription||i.subscription.endpoint!==u.endpoint||Date.now()-(i.subscription.updatedAt??0)>=om;if(e||p||Date.now()-h>=om||l){if(!(await Tp("subscribe",{subscription:u.toJSON(),aiEnabled:Md(),exitEnabled:Ap(),alertStyle:Wc(),locale:navigator.language})).ok)return!1;window.localStorage.setItem(Mf,String(Date.now()))}return!0}catch(s){return console.warn("[PWA notifications] Push subscription sync failed:",s),!1}}async function O9(){if(xi())return;const t=await(await Nd())?.pushManager?.getSubscription();try{await Tp("unsubscribe",{endpoint:t?.endpoint})}finally{await t?.unsubscribe();try{window.localStorage.removeItem(Mf)}catch{}}}async function vh(){if(xi()||!Rd())return;(await Tp("preferences",{aiEnabled:Md(),exitEnabled:Ap(),alertStyle:Wc(),locale:navigator.language})).status===404&&await C0(!0)}async function F9(){if(!xi())try{const e=navigator;typeof e.clearAppBadge=="function"&&await e.clearAppBadge()}catch{}}async function U9(e){if(!xi())try{const t=await Nd();if(!t||typeof t.getNotifications!="function")return;const r=`agent:${e}`,s=await t.getNotifications({tag:r});for(const u of s)u.close();const i=navigator;if(typeof i.setAppBadge=="function"){const u=await t.getNotifications();await i.setAppBadge(u.length)}}catch{}}async function qu(e){if(!Rd()||!Hl())return!1;if(e.requireHidden!==!1&&D9())return!0;const t=xi();if(t){const u=e.alertStyle??Wc(),l=await t.showNotification({title:e.title,body:e.body,tag:e.tag,sessionId:e.data?.sessionId,silent:u==="quiet",persistent:u==="persistent"});return t.notificationDeliveryConfirmation===!0&&l}if(Notification.permission!=="granted")return!1;const r=await Nd();if(e.deferToPush&&await r?.pushManager?.getSubscription())return!0;if(e.requireHidden!==!1){if(await r?.pushManager?.getSubscription())return!0}if(!j9(e))return!0;const s=e.alertStyle??Wc(),i={body:e.body,tag:e.tag,icon:"/pwa-192x192.png",badge:"/maskable-icon-512x512.png",requireInteraction:s==="persistent",renotify:s==="persistent"?!!e.tag:!1,silent:s==="quiet",vibrate:s==="quiet"?[]:[80,40,80],data:{url:e.data?.url??"/",sessionId:e.data?.sessionId}};try{if(r&&typeof r.showNotification=="function")return await r.showNotification(e.title,i),!0;const u=new Notification(e.title,i);return u.onclick=()=>{window.focus(),e.data?.url&&window.location.href!==e.data.url&&window.location.assign(e.data.url),u.close()},!0}catch(u){if(u instanceof DOMException&&u.name==="NotSupportedError"&&i.renotify)try{const l={...i,renotify:!1};return r&&typeof r.showNotification=="function"?await r.showNotification(e.title,l):new Notification(e.title,l),!0}catch(l){return console.warn("[PWA notifications] Failed to show notification (renotify fallback):",l),!1}return console.warn("[PWA notifications] Failed to show notification:",u),!1}}function $9(){try{return localStorage.getItem("termdock:locale")||"en"}catch{return"en"}}function z9(e,t){return e==="zh"?{waitingTitle:`${t} 需要你的处理`,waitingBody:`${t} 需要你的处理。`,doneTitle:`${t} 已完成`,doneBody:`${t} 已完成,点按查看结果。`,exitedTitle:`${t} 已退出`,exitedBody:`${t} 已退出,点按查看结果。`}:{waitingTitle:`${t} needs your input`,waitingBody:`${t} is waiting for your input.`,doneTitle:`${t} finished`,doneBody:"Tap to see the result.",exitedTitle:`${t} exited`,exitedBody:"Tap to see the result."}}const am=1e6;function pl(e){return{sessionId:e,directory:"",terminalSessionId:null,mode:"shell",tmuxSessionName:null,activeProgram:null,activeProgramRaw:null,activeProgramSource:null,cwd:null,inCopyMode:!1,isConnecting:!1,agentStatus:null,agentIndicator:null,agentStatusDetail:null,agent:null,agentMessage:null,agentNativeSessionId:null,agentResumeRecovered:!1,agentRich:!1,agentActivity:0,agentCwd:null,agentNeedsReview:!1,shellTitle:null,promptState:null,shellExitCode:null,tuiProgress:null,gitStatus:null,bufferChunks:[],bufferLength:0,lastOutputAt:null,updatedAt:Date.now()}}const Dd="termdock-shell-titles-v1";function Bd(){if(typeof window>"u")return{};try{const e=localStorage.getItem(Dd);if(!e)return{};const t=JSON.parse(e);return typeof t=="object"&&t!==null?t:{}}catch{return{}}}function H9(e){return Bd()[e]??null}function W9(e,t){if(!(typeof window>"u"))try{const r=Bd();t?r[e]=t:delete r[e],localStorage.setItem(Dd,JSON.stringify(r))}catch{}}function G9(e){if(!(typeof window>"u"))try{const t=Bd();delete t[e],localStorage.setItem(Dd,JSON.stringify(t))}catch{}}const Qd="termdock-agent-cache-v1";function Sp(){if(typeof window>"u")return{};try{const e=localStorage.getItem(Qd);if(!e)return{};const t=JSON.parse(e);return typeof t=="object"&&t!==null?t:{}}catch{return{}}}function V9(e,t){if(!(typeof window>"u"))try{const r=Sp();t?r[e]=t:delete r[e],localStorage.setItem(Qd,JSON.stringify(r))}catch{}}function q9(e){if(!(typeof window>"u"))try{const t=Sp();delete t[e],localStorage.setItem(Qd,JSON.stringify(t))}catch{}}function Z9(){if(!(typeof window>"u"))try{localStorage.removeItem(Qd)}catch{}}function lm(e){return Sp()[e]??null}function Y9(){if(!(typeof window>"u"))try{localStorage.removeItem(Dd)}catch{}}const Er=h8((e,t)=>{const r={pendingChunksBySession:new Map,activitySessionIds:new Set,batchFlushRafRef:null},s=(l,h)=>{const p=new Map;return e(g=>{const x=new Map(g.sessions);let b=g.nextChunkId;const v=Date.now();for(const[A,k]of l){const I=x.get(A)??pl(A);let R=I.bufferChunks.length>0?[...I.bufferChunks]:[],M=I.bufferLength;for(const B of k){const F=b++;R.push({id:F,data:B}),p.set(A,F),M+=B.length}for(;M>am&&R.length>1;){const B=R.shift();if(!B)break;M-=B.data.length}x.set(A,{...I,bufferChunks:R,bufferLength:M,lastOutputAt:h.has(A)?v:I.lastOutputAt,updatedAt:v})}return{sessions:x,nextChunkId:b}}),p},i=()=>{if(r.batchFlushRafRef===null){if(typeof window>"u"){u();return}r.batchFlushRafRef=window.requestAnimationFrame(()=>{r.batchFlushRafRef=null,u()})}},u=()=>{if(r.pendingChunksBySession.size===0)return;const l=v9(r.pendingChunksBySession),h=new Set([...l.keys()].filter(p=>r.activitySessionIds.has(p)));for(const p of l.keys())r.pendingChunksBySession.has(p)||r.activitySessionIds.delete(p);s(l,h),r.pendingChunksBySession.size>0&&i()};return{sessions:new Map,nextChunkId:1,activeSessionId:null,getTerminalSession:l=>t().sessions.get(l),setActiveSessionId:l=>{if(e({activeSessionId:l}),l){const h=t().sessions.get(l);if(h?.agentNeedsReview){const p=new Map(t().sessions);p.set(l,{...h,agentNeedsReview:!1,updatedAt:Date.now()}),e({sessions:p}),h.terminalSessionId&&U1(h.terminalSessionId)}}},setTerminalSession:(l,h)=>{e(p=>{const g=new Map(p.sessions),x=g.get(l),v=!x||x.terminalSessionId!==h.sessionId?pl(l):x??pl(l),A=h.history??x?.history??[];return g.set(l,{...v,terminalSessionId:h.sessionId,mode:h.mode??v.mode,tmuxSessionName:h.tmuxSessionName??v.tmuxSessionName,activeProgram:h.activeProgram??x?.activeProgram??v.activeProgram,activeProgramRaw:h.activeProgramRaw??x?.activeProgramRaw??v.activeProgramRaw,activeProgramSource:h.activeProgramSource??x?.activeProgramSource??v.activeProgramSource,cwd:h.cwd??x?.cwd??v.cwd,agentResumeRecovered:x?.agentResumeRecovered??v.agentResumeRecovered,shellTitle:x?.shellTitle??Bd()[l]??v.shellTitle,sessionId:l,isConnecting:!1,history:A,updatedAt:Date.now()}),{sessions:g}})},setSessionHistory:(l,h)=>{e(p=>{const g=new Map(p.sessions),x=g.get(l)??pl(l);return g.set(l,{...x,history:h,updatedAt:Date.now()}),{sessions:g}})},setSessionActiveProgram:(l,h,p=null,g=null)=>{e(x=>{const b=new Map(x.sessions),v=b.get(l)??pl(l);return b.set(l,{...v,activeProgram:h,activeProgramRaw:g,activeProgramSource:p,updatedAt:Date.now()}),{sessions:b}})},setSessionCwd:(l,h)=>{e(p=>{const g=new Map(p.sessions),x=g.get(l)??pl(l);return g.set(l,{...x,cwd:h,updatedAt:Date.now()}),{sessions:g}})},setSessionShellTitle:(l,h)=>{e(p=>{const g=p.sessions.get(l);if(!g||g.shellTitle===h)return p;const x=new Map(p.sessions);return x.set(l,{...g,shellTitle:h,updatedAt:Date.now()}),{sessions:x}}),W9(l,h)},setSessionPromptState:(l,h,p)=>{e(g=>{const x=g.sessions.get(l);if(!x||x.promptState===h)return g;const b=new Map(g.sessions);return b.set(l,{...x,promptState:h,shellExitCode:p??x.shellExitCode,updatedAt:Date.now()}),{sessions:b}})},setSessionTuiProgress:(l,h)=>{e(p=>{const g=p.sessions.get(l);if(!g)return p;const x=h?.state==="remove"?null:h;if(g.tuiProgress?.state===x?.state&&g.tuiProgress?.progress===x?.progress)return p;const b=new Map(p.sessions);return b.set(l,{...g,tuiProgress:x,updatedAt:Date.now()}),{sessions:b}})},setSessionGitStatus:(l,h)=>{e(p=>{const g=new Map(p.sessions),x=g.get(l);return!x||JSON.stringify(x.gitStatus)===JSON.stringify(h)?p:(g.set(l,{...x,gitStatus:h,updatedAt:Date.now()}),{sessions:g})})},setSessionCopyMode:(l,h)=>{e(p=>{const g=new Map(p.sessions),x=g.get(l);return!x||x.inCopyMode===h?p:(g.set(l,{...x,inCopyMode:h,updatedAt:Date.now()}),{sessions:g})})},setSessionAgentStatus:(l,h)=>{const p=t(),g=p.sessions.get(l);if(!g)return;const x=h.agentStatus??null,b=x&&x!=="idle"?h.agentIndicator??g.agentIndicator??null:null,v=x&&x!=="idle"?h.agentStatusDetail??null:null,A=h.agent!==void 0?h.agent:g.agent,k=h.agentMessage!==void 0?h.agentMessage:x?g.agentMessage:null,I=h.agentNativeSessionId!==void 0?h.agentNativeSessionId:g.agentNativeSessionId,R=h.agentResumeRecovered!==void 0?h.agentResumeRecovered:g.agentResumeRecovered,M=h.agentRich??g.agentRich,B=h.agentActivity??g.agentActivity,F=h.agentCwd!==void 0?h.agentCwd:g.agentCwd,W=p.activeSessionId!==l,O=g.agentStatus==="working"||g.agentStatus==="waiting"||g.agentStatus==="done",q=h.reviewed===!1||h.reviewed===null&&x===null&&O&&W;if(g.agentStatus===x&&g.agentIndicator===b&&g.agentStatusDetail===v&&g.agent===A&&g.agentMessage===k&&g.agentNativeSessionId===I&&g.agentResumeRecovered===R&&g.agentRich===M&&g.agentActivity===B&&g.agentCwd===F&&g.agentNeedsReview===q)return;const ee=new Map(p.sessions);if(ee.set(l,{...g,agentStatus:x,agentIndicator:b,agentStatusDetail:v,agent:A,agentMessage:k,agentNativeSessionId:I,agentResumeRecovered:R,agentRich:M,agentActivity:B,agentCwd:F,agentNeedsReview:q,updatedAt:Date.now()}),e({sessions:ee}),A&&V9(l,A),!Md())return;const de=A?.displayName??g.agent?.displayName??"Agent",Ae=$9(),Le=z9(Ae,de);if(x==="waiting"&&g.agentStatus!=="waiting"&&W){qu({title:Le.waitingTitle,body:k??Le.waitingBody,tag:`agent:${l}`,dedupKey:`agent:${l}:waiting:${B}`,data:{url:"/",sessionId:l},deferToPush:!0});return}if(x==="done"&&g.agentStatus!=="done"&&W){qu({title:Le.doneTitle,body:Le.doneBody,tag:`agent:${l}`,dedupKey:`agent:${l}:done:${B}`,data:{url:"/",sessionId:l},deferToPush:!0});return}x===null&&(g.agentStatus==="working"||g.agentStatus==="waiting")&&W&&qu({title:Le.exitedTitle,body:Le.exitedBody,tag:`agent:${l}`,dedupKey:`agent:${l}:exited:${B}`,data:{url:"/",sessionId:l},deferToPush:!0})},setAgentResumeRecovered:(l,h)=>{e(p=>{const g=new Map(p.sessions),x=g.get(l)??pl(l);return x.agentResumeRecovered===h?p:(g.set(l,{...x,agentResumeRecovered:h,updatedAt:Date.now()}),{sessions:g})})},clearAgentNeedsReview:l=>{const h=t().sessions.get(l);h?.agentNeedsReview&&(e(p=>{const g=new Map(p.sessions),x=g.get(l);return!x||!x.agentNeedsReview?p:(g.set(l,{...x,agentNeedsReview:!1,updatedAt:Date.now()}),{sessions:g})}),h.terminalSessionId&&U1(h.terminalSessionId))},setConnecting:(l,h)=>{e(p=>{const g=new Map(p.sessions),x=g.get(l)??pl(l);return g.set(l,{...x,isConnecting:h,updatedAt:Date.now()}),{sessions:g}})},appendToBuffer:(l,h,p)=>{if(!h)return;let g=r.pendingChunksBySession.get(l);g||(g=[],r.pendingChunksBySession.set(l,g)),g.push(...sm(h)),p?.markActivity!==!1&&r.activitySessionIds.add(l),i()},hasPendingBufferWrites:l=>(r.pendingChunksBySession.get(l)?.length??0)>0,flushPendingBufferWrites:l=>{const h=r.pendingChunksBySession.get(l);if(!h?.length)return t().sessions.get(l)?.bufferChunks.at(-1)?.id??null;r.pendingChunksBySession.delete(l);const p=r.activitySessionIds.delete(l);return r.pendingChunksBySession.size===0&&r.batchFlushRafRef!==null&&(window.cancelAnimationFrame(r.batchFlushRafRef),r.batchFlushRafRef=null),s(new Map([[l,h]]),p?new Set([l]):new Set).get(l)??null},replaceBuffer:(l,h)=>{r.pendingChunksBySession.delete(l),r.activitySessionIds.delete(l),r.pendingChunksBySession.size===0&&r.batchFlushRafRef!==null&&(window.cancelAnimationFrame(r.batchFlushRafRef),r.batchFlushRafRef=null);let p=null;return e(g=>{const x=new Map(g.sessions),b=x.get(l);if(!b)return g;if(!h||h.length===0)return x.set(l,{...b,bufferChunks:[],bufferLength:0,updatedAt:Date.now()}),{sessions:x};let v=g.nextChunkId;const A=[];let k=0;for(const I of h)if(I)for(const R of sm(I)){const M=v++;A.push({id:M,data:R}),p=M,k+=R.length}for(;k>am&&A.length>1;){const I=A.shift();if(!I)break;k-=I.data.length}return x.set(l,{...b,bufferChunks:A,bufferLength:k,updatedAt:Date.now()}),{sessions:x,nextChunkId:v}}),p},clearTerminalSession:l=>{r.pendingChunksBySession.delete(l),r.activitySessionIds.delete(l),r.pendingChunksBySession.size===0&&r.batchFlushRafRef!==null&&(window.cancelAnimationFrame(r.batchFlushRafRef),r.batchFlushRafRef=null),e(h=>{const p=new Map(h.sessions),g=p.get(l);return g&&p.set(l,{...g,terminalSessionId:null,isConnecting:!1,agentStatus:null,agentIndicator:null,agentStatusDetail:null,agent:null,agentMessage:null,agentNeedsReview:!1,updatedAt:Date.now()}),{sessions:p}})},clearBuffer:l=>{r.pendingChunksBySession.delete(l),r.activitySessionIds.delete(l),r.pendingChunksBySession.size===0&&r.batchFlushRafRef!==null&&(window.cancelAnimationFrame(r.batchFlushRafRef),r.batchFlushRafRef=null),e(h=>{const p=new Map(h.sessions),g=p.get(l);return g?(p.set(l,{...g,bufferChunks:[],bufferLength:0,updatedAt:Date.now()}),{sessions:p}):h})},removeTerminalSession:l=>{r.pendingChunksBySession.delete(l),r.activitySessionIds.delete(l),e(h=>{const p=new Map(h.sessions);return p.delete(l),{sessions:p}}),G9(l),q9(l)},clearAllTerminalSessions:()=>{r.pendingChunksBySession.clear(),r.activitySessionIds.clear(),r.batchFlushRafRef!==null&&(window.cancelAnimationFrame(r.batchFlushRafRef),r.batchFlushRafRef=null),e({sessions:new Map,nextChunkId:1}),Y9(),Z9()}}}),Z5="\x1B[?2026h",K9="\x1B[?2026l",Y5="\x1Bc";function X9(e){return e.replace(/(?:\x1b\]|\x9d)[\s\S]*?(?:\x07|\x1b\\|\x9c|$)|(?:\x1b[P_X^]|[\x90\x98\x9e\x9f])[\s\S]*?(?:\x1b\\|\x9c|$)|(?:\x1b\[|\x9b)\?([\d;]+)([hl])|(?:\x1b\[|\x9b)[\d;]*!p|\x1bc/g,(t,r,s)=>{if(t===Y5||t.endsWith("!p"))return t+Z5;if(r===void 0)return t;const i=r.split(";").filter(u=>Number(u)!==2026);return i.length?`\x1B[?${i.join(";")}${s}`:""})}function J9(e){const t=e.filter(s=>s.length>0).join("");if(!t)return[];const r=X9(t.replace(/^(?:\x1bc)+/,""));return[`${Y5}${Z5}${r}${K9}`]}function ew(e){return[`\x1B[!p\x1B[?2026h\x1B[H\x1B[2J\x1B[3J${e.join("")}\x1B[?2026l`]}const tw=/^[A-Za-z0-9_@%+=:,./-]$/;function cm(e){return Array.from(e,t=>(t.codePointAt(0)??0)>127||tw.test(t)?t:`\\${t}`).join("")}async function rw(e){if(!e.type.startsWith("image/")||e.size===0)throw new Error("Clipboard image is empty");const t=e.type==="image/jpeg"?"jpg":e.type.split("/")[1].replace(/[^a-z0-9]/gi,"")||"png",r=new File([e],`termdock-clipboard-${Date.now()}-${crypto.randomUUID()}.${t}`,{type:e.type}),{files:s}=await _5("/tmp",[r]);if(!s[0]?.path)throw new Error("Upload did not return an image path");return s[0].path}async function nw(e){for(const t of await e.read()){const r=t.types.find(u=>u.startsWith("image/"));if(!r)continue;const s=await t.getType(r),i=r==="image/jpeg"?"jpg":r.split("/")[1].replace(/[^a-z0-9]/gi,"")||"png";return new File([s],`termdock-clipboard-${Date.now()}.${i}`,{type:r})}return null}function zs(e){return{dispose:e}}function sw(e){if(!e)return e;if(Array.isArray(e)){for(let t of e)t.dispose();return[]}return e.dispose(),e}function iw(...e){return zs(()=>sw(e))}var K5=class{constructor(){this._disposables=new Set,this._isDisposed=!1}get isDisposed(){return this._isDisposed}add(e){return this._isDisposed?e.dispose():this._disposables.add(e),e}dispose(){if(!this._isDisposed){this._isDisposed=!0;for(let e of this._disposables)e.dispose();this._disposables.clear()}}clear(){for(let e of this._disposables)e.dispose();this._disposables.clear()}},e0=class{constructor(){this._store=new K5}dispose(){this._store.dispose()}_register(t){return this._store.add(t)}};e0.None=Object.freeze({dispose(){}});var oc=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,this._value?.dispose(),this._value=void 0}},X5=!!(typeof process<"u"&&"title"in process&&(typeof navigator>"u"||navigator.userAgent.startsWith("Node.js/"))),ru=X5?"node":navigator.userAgent,ow=X5?"node":navigator.platform,aw=ru.includes("Firefox");ru.includes("Chrome");var lw=ru.includes("Edge"),J5=/^((?!chrome|android).)*safari/i.test(ru);function cw(){if(!J5)return 0;let e=ru.match(/Version\/(\d+)/);return e===null||e.length<2?0:parseInt(e[1],10)}ow.indexOf("Linux")>=0;var Ys=0,Ks=0,Xs=0,os=0,No={css:"#00000000",rgba:0},zi;(e=>{function t(i,u,l,h){return h!==void 0?`#${Nl(i)}${Nl(u)}${Nl(l)}${Nl(h)}`:`#${Nl(i)}${Nl(u)}${Nl(l)}`}e.toCss=t;function r(i,u,l,h=255){return(i<<24|u<<16|l<<8|h)>>>0}e.toRgba=r;function s(i,u,l,h){return{css:e.toCss(i,u,l,h),rgba:e.toRgba(i,u,l,h)}}e.toColor=s})(zi||={});var Mc;(e=>{function t(p,g){if(os=(g.rgba&255)/255,os===1)return{css:g.css,rgba:g.rgba};let x=g.rgba>>24&255,b=g.rgba>>16&255,v=g.rgba>>8&255,A=p.rgba>>24&255,k=p.rgba>>16&255,I=p.rgba>>8&255;Ys=A+Math.round((x-A)*os),Ks=k+Math.round((b-k)*os),Xs=I+Math.round((v-I)*os);let R=zi.toCss(Ys,Ks,Xs),M=zi.toRgba(Ys,Ks,Xs);return{css:R,rgba:M}}e.blend=t;function r(p){return(p.rgba&255)===255}e.isOpaque=r;function s(p,g,x){let b=Gl.ensureContrastRatio(p.rgba,g.rgba,x);if(b)return zi.toColor(b>>24&255,b>>16&255,b>>8&255)}e.ensureContrastRatio=s;function i(p){let g=(p.rgba|255)>>>0;return[Ys,Ks,Xs]=Gl.toChannels(g),{css:zi.toCss(Ys,Ks,Xs),rgba:g}}e.opaque=i;function u(p,g){return os=Math.round(g*255),[Ys,Ks,Xs]=Gl.toChannels(p.rgba),{css:zi.toCss(Ys,Ks,Xs,os),rgba:zi.toRgba(Ys,Ks,Xs,os)}}e.opacity=u;function l(p,g){return os=p.rgba&255,u(p,os*g/255)}e.multiplyOpacity=l;function h(p){return[p.rgba>>24&255,p.rgba>>16&255,p.rgba>>8&255]}e.toColorRGB=h})(Mc||={});var uw;(e=>{let t,r;try{let i=document.createElement("canvas");i.width=1,i.height=1;let u=i.getContext("2d",{willReadFrequently:!0});u&&(t=u,t.globalCompositeOperation="copy",r=t.createLinearGradient(0,0,1,1))}catch{}function s(i){if(i.match(/#[\da-f]{3,8}/i))switch(i.length){case 4:return Ys=parseInt(i.slice(1,2).repeat(2),16),Ks=parseInt(i.slice(2,3).repeat(2),16),Xs=parseInt(i.slice(3,4).repeat(2),16),zi.toColor(Ys,Ks,Xs);case 5:return Ys=parseInt(i.slice(1,2).repeat(2),16),Ks=parseInt(i.slice(2,3).repeat(2),16),Xs=parseInt(i.slice(3,4).repeat(2),16),os=parseInt(i.slice(4,5).repeat(2),16),zi.toColor(Ys,Ks,Xs,os);case 7:return{css:i,rgba:(parseInt(i.slice(1),16)<<8|255)>>>0};case 9:return{css:i,rgba:parseInt(i.slice(1),16)>>>0}}let u=i.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(u)return Ys=parseInt(u[1],10),Ks=parseInt(u[2],10),Xs=parseInt(u[3],10),os=Math.round((u[5]===void 0?1:parseFloat(u[5]))*255),zi.toColor(Ys,Ks,Xs,os);if(i==="transparent")return{css:"transparent",rgba:0};if(!t||!r)throw new Error("css.toColor: Unsupported css format");if(t.fillStyle=r,t.fillStyle=i,typeof t.fillStyle!="string")throw new Error("css.toColor: Unsupported css format");if(t.fillRect(0,0,1,1),[Ys,Ks,Xs,os]=t.getImageData(0,0,1,1).data,os!==255)throw new Error("css.toColor: Unsupported css format");return{rgba:zi.toRgba(Ys,Ks,Xs,os),css:i}}e.toColor=s})(uw||={});var Fi;(e=>{function t(s){return r(s>>16&255,s>>8&255,s&255)}e.relativeLuminance=t;function r(s,i,u){let l=s/255,h=i/255,p=u/255,g=l<=.03928?l/12.92:Math.pow((l+.055)/1.055,2.4),x=h<=.03928?h/12.92:Math.pow((h+.055)/1.055,2.4),b=p<=.03928?p/12.92:Math.pow((p+.055)/1.055,2.4);return g*.2126+x*.7152+b*.0722}e.relativeLuminance2=r})(Fi||={});var Gl;(e=>{function t(l,h){if(os=(h&255)/255,os===1)return h;let p=h>>24&255,g=h>>16&255,x=h>>8&255,b=l>>24&255,v=l>>16&255,A=l>>8&255;return Ys=b+Math.round((p-b)*os),Ks=v+Math.round((g-v)*os),Xs=A+Math.round((x-A)*os),zi.toRgba(Ys,Ks,Xs)}e.blend=t;function r(l,h,p){let g=Fi.relativeLuminance(l>>8),x=Fi.relativeLuminance(h>>8);if(Ha(g,x)<p){if(x<g){let A=s(l,h,p),k=Ha(g,Fi.relativeLuminance(A>>8));if(k<p){let I=i(l,h,p),R=Ha(g,Fi.relativeLuminance(I>>8));return k>R?A:I}return A}let b=i(l,h,p),v=Ha(g,Fi.relativeLuminance(b>>8));if(v<p){let A=s(l,h,p),k=Ha(g,Fi.relativeLuminance(A>>8));return v>k?b:A}return b}}e.ensureContrastRatio=r;function s(l,h,p){let g=l>>24&255,x=l>>16&255,b=l>>8&255,v=h>>24&255,A=h>>16&255,k=h>>8&255,I=Ha(Fi.relativeLuminance2(v,A,k),Fi.relativeLuminance2(g,x,b));for(;I<p&&(v>0||A>0||k>0);)v-=Math.max(0,Math.ceil(v*.1)),A-=Math.max(0,Math.ceil(A*.1)),k-=Math.max(0,Math.ceil(k*.1)),I=Ha(Fi.relativeLuminance2(v,A,k),Fi.relativeLuminance2(g,x,b));return(v<<24|A<<16|k<<8|255)>>>0}e.reduceLuminance=s;function i(l,h,p){let g=l>>24&255,x=l>>16&255,b=l>>8&255,v=h>>24&255,A=h>>16&255,k=h>>8&255,I=Ha(Fi.relativeLuminance2(v,A,k),Fi.relativeLuminance2(g,x,b));for(;I<p&&(v<255||A<255||k<255);)v=Math.min(255,v+Math.ceil((255-v)*.1)),A=Math.min(255,A+Math.ceil((255-A)*.1)),k=Math.min(255,k+Math.ceil((255-k)*.1)),I=Ha(Fi.relativeLuminance2(v,A,k),Fi.relativeLuminance2(g,x,b));return(v<<24|A<<16|k<<8|255)>>>0}e.increaseLuminance=i;function u(l){return[l>>24&255,l>>16&255,l>>8&255,l&255]}e.toChannels=u})(Gl||={});function Nl(e){let t=e.toString(16);return t.length<2?"0"+t:t}function Ha(e,t){return e<t?(t+.05)/(e+.05):(e+.05)/(t+.05)}function ks(e){if(!e)throw new Error("value must not be falsy");return e}function Cp(e){return 57508<=e&&e<=57558}function dw(e){return 57520<=e&&e<=57527}function hw(e){return 57344<=e&&e<=63743}function fw(e){return 9472<=e&&e<=9631}function pw(e){return e>=128512&&e<=128591||e>=127744&&e<=128511||e>=128640&&e<=128767||e>=9728&&e<=9983||e>=9984&&e<=10175||e>=65024&&e<=65039||e>=129280&&e<=129535||e>=127462&&e<=127487}function mw(e,t,r,s){return t===1&&r>Math.ceil(s*1.5)&&e!==void 0&&e>255&&!pw(e)&&!Cp(e)&&!hw(e)}function e3(e){return Cp(e)||fw(e)}function gw(){return{css:{canvas:Au(),cell:Au()},device:{canvas:Au(),cell:Au(),char:{width:0,height:0,left:0,top:0}}}}function Au(){return{width:0,height:0}}function xw(e,t,r=0){return(e-(Math.round(t)*2-r))%(Math.round(t)*2)}var me;(e=>(e.LINE_H=Object.freeze({type:2,data:"M0,.5 L1,.5",strokeWidth:1}),e.LINE_V=Object.freeze({type:2,data:"M.5,0 L.5,1",strokeWidth:1}),e.FADE_RIGHT=Object.freeze({type:2,data:"M0,.5 L.28,.5 M.32,.5 L.52,.5 M.60,.5 L.72,.5 M.84,.5 L.90,.5",strokeWidth:1}),e.FADE_LEFT=Object.freeze({type:2,data:"M.10,.5 L.16,.5 M.28,.5 L.40,.5 M.48,.5 L.68,.5 M.72,.5 L1,.5",strokeWidth:1}),e.FADE_DOWN=Object.freeze({type:2,data:"M.5,0 L.5,.28 M.5,.32 L.5,.52 M.5,.60 L.5,.72 M.5,.84 L.5,.90",strokeWidth:1}),e.FADE_UP=Object.freeze({type:2,data:"M.5,.10 L.5,.16 M.5,.28 L.5,.40 M.5,.48 L.5,.68 M.5,.72 L.5,1",strokeWidth:1}),e.CURVE_DOWN_RIGHT=Object.freeze({type:2,data:(t,r)=>`M.5,1 L.5,${.5+r/.15*.5} C.5,${.5+r/.15*.5},.5,.5,1,.5`,strokeWidth:1}),e.CURVE_DOWN_LEFT=Object.freeze({type:2,data:(t,r)=>`M.5,1 L.5,${.5+r/.15*.5} C.5,${.5+r/.15*.5},.5,.5,0,.5`,strokeWidth:1}),e.CURVE_UP_RIGHT=Object.freeze({type:2,data:(t,r)=>`M.5,0 L.5,${.5-r/.15*.5} C.5,${.5-r/.15*.5},.5,.5,1,.5`,strokeWidth:1}),e.CURVE_UP_LEFT=Object.freeze({type:2,data:(t,r)=>`M.5,0 L.5,${.5-r/.15*.5} C.5,${.5-r/.15*.5},.5,.5,0,.5`,strokeWidth:1}),e.NODE_FILL=Object.freeze({type:3,data:"M.85,.5 A.35,.175,0,1,1,.15,.5 A.35,.175,0,1,1,.85,.5"}),e.NODE_STROKE=Object.freeze({type:3,data:"M.85,.5 A.35,.175,0,1,1,.15,.5 A.35,.175,0,1,1,.85,.5",strokeWidth:1}),e.NODE_LINE_RIGHT=Object.freeze({type:3,data:"M1,.5 L.85,.5",strokeWidth:1}),e.NODE_LINE_LEFT=Object.freeze({type:3,data:"M0,.5 L.15,.5",strokeWidth:1}),e.NODE_LINE_DOWN=Object.freeze({type:3,data:"M.5,1 L.5,.7",strokeWidth:1}),e.NODE_LINE_UP=Object.freeze({type:3,data:"M.5,0 L.5,.3",strokeWidth:1})))(me||={});var bw={"─":{type:2,data:"M0,.5 L1,.5",strokeWidth:1},"━":{type:2,data:"M0,.5 L1,.5",strokeWidth:3},"│":{type:2,data:"M.5,0 L.5,1",strokeWidth:1},"┃":{type:2,data:"M.5,0 L.5,1",strokeWidth:3},"┄":{type:2,data:"M.0667,.5 L.2667,.5 M.4,.5 L.6,.5 M.7333,.5 L.9333,.5",strokeWidth:1},"┅":{type:2,data:"M.0667,.5 L.2667,.5 M.4,.5 L.6,.5 M.7333,.5 L.9333,.5",strokeWidth:3},"┆":{type:2,data:"M.5,.0667 L.5,.2667 M.5,.4 L.5,.6 M.5,.7333 L.5,.9333",strokeWidth:1},"┇":{type:2,data:"M.5,.0667 L.5,.2667 M.5,.4 L.5,.6 M.5,.7333 L.5,.9333",strokeWidth:3},"┈":{type:2,data:"M.05,.5 L.2,.5 M.3,.5 L.45,.5 M.55,.5 L.7,.5 M.8,.5 L.95,.5",strokeWidth:1},"┉":{type:2,data:"M.05,.5 L.2,.5 M.3,.5 L.45,.5 M.55,.5 L.7,.5 M.8,.5 L.95,.5",strokeWidth:3},"┊":{type:2,data:"M.5,.05 L.5,.2 M.5,.3 L.5,.45 L.5,.55 M.5,.7 L.5,.95",strokeWidth:1},"┋":{type:2,data:"M.5,.05 L.5,.2 M.5,.3 L.5,.45 L.5,.55 M.5,.7 L.5,.95",strokeWidth:3},"┌":{type:2,data:"M0.5,1 L.5,.5 L1,.5",strokeWidth:1},"┍":[{type:2,data:"M.5,.5 L.5,1",strokeWidth:1},{type:2,data:"M.5,.5 L1,.5",strokeWidth:3}],"┎":[{type:2,data:"M.5,.5 L1,.5",strokeWidth:1},{type:2,data:"M.5,.5 L.5,1",strokeWidth:3}],"┏":{type:2,data:"M0.5,1 L.5,.5 L1,.5",strokeWidth:3},"┐":{type:2,data:"M0,.5 L.5,.5 L.5,1",strokeWidth:1},"┑":[{type:2,data:"M.5,.5 L.5,1",strokeWidth:1},{type:2,data:"M.5,.5 L0,.5",strokeWidth:3}],"┒":[{type:2,data:"M.5,.5 L0,.5",strokeWidth:1},{type:2,data:"M.5,.5 L.5,1",strokeWidth:3}],"┓":{type:2,data:"M0,.5 L.5,.5 L.5,1",strokeWidth:3},"└":{type:2,data:"M.5,0 L.5,.5 L1,.5",strokeWidth:1},"┕":[{type:2,data:"M.5,.5 L.5,0",strokeWidth:1},{type:2,data:"M.5,.5 L1,.5",strokeWidth:3}],"┖":[{type:2,data:"M.5,.5 L1,.5",strokeWidth:1},{type:2,data:"M.5,.5 L.5,0",strokeWidth:3}],"┗":{type:2,data:"M.5,0 L.5,.5 L1,.5",strokeWidth:3},"┘":{type:2,data:"M.5,0 L.5,.5 L0,.5",strokeWidth:1},"┙":[{type:2,data:"M.5,.5 L.5,0",strokeWidth:1},{type:2,data:"M.5,.5 L0,.5",strokeWidth:3}],"┚":[{type:2,data:"M.5,.5 L0,.5",strokeWidth:1},{type:2,data:"M.5,.5 L.5,0",strokeWidth:3}],"┛":{type:2,data:"M.5,0 L.5,.5 L0,.5",strokeWidth:3},"├":{type:2,data:"M.5,0 L.5,1 M.5,.5 L1,.5",strokeWidth:1},"┝":[{type:2,data:"M.5,0 L.5,1",strokeWidth:1},{type:2,data:"M.5,.5 L1,.5",strokeWidth:3}],"┞":[{type:2,data:"M0.5,1 L.5,.5 L1,.5",strokeWidth:1},{type:2,data:"M.5,.5 L.5,0",strokeWidth:3}],"┟":[{type:2,data:"M.5,0 L.5,.5 L1,.5",strokeWidth:1},{type:2,data:"M.5,.5 L.5,1",strokeWidth:3}],"┠":[{type:2,data:"M.5,.5 L1,.5",strokeWidth:1},{type:2,data:"M.5,0 L.5,1",strokeWidth:3}],"┡":[{type:2,data:"M.5,.5 L.5,1",strokeWidth:1},{type:2,data:"M.5,0 L.5,.5 L1,.5",strokeWidth:3}],"┢":[{type:2,data:"M.5,.5 L.5,0",strokeWidth:1},{type:2,data:"M0.5,1 L.5,.5 L1,.5",strokeWidth:3}],"┣":{type:2,data:"M.5,0 L.5,1 M.5,.5 L1,.5",strokeWidth:3},"┤":{type:2,data:"M.5,0 L.5,1 M.5,.5 L0,.5",strokeWidth:1},"┥":[{type:2,data:"M.5,0 L.5,1",strokeWidth:1},{type:2,data:"M.5,.5 L0,.5",strokeWidth:3}],"┦":[{type:2,data:"M0,.5 L.5,.5 L.5,1",strokeWidth:1},{type:2,data:"M.5,.5 L.5,0",strokeWidth:3}],"┧":[{type:2,data:"M.5,0 L.5,.5 L0,.5",strokeWidth:1},{type:2,data:"M.5,.5 L.5,1",strokeWidth:3}],"┨":[{type:2,data:"M.5,.5 L0,.5",strokeWidth:1},{type:2,data:"M.5,0 L.5,1",strokeWidth:3}],"┩":[{type:2,data:"M.5,.5 L.5,1",strokeWidth:1},{type:2,data:"M.5,0 L.5,.5 L0,.5",strokeWidth:3}],"┪":[{type:2,data:"M.5,.5 L.5,0",strokeWidth:1},{type:2,data:"M0,.5 L.5,.5 L.5,1",strokeWidth:3}],"┫":{type:2,data:"M.5,0 L.5,1 M.5,.5 L0,.5",strokeWidth:3},"┬":{type:2,data:"M0,.5 L1,.5 M.5,.5 L.5,1",strokeWidth:1},"┭":[{type:2,data:"M0.5,1 L.5,.5 L1,.5",strokeWidth:1},{type:2,data:"M.5,.5 L0,.5",strokeWidth:3}],"┮":[{type:2,data:"M0,.5 L.5,.5 L.5,1",strokeWidth:1},{type:2,data:"M.5,.5 L1,.5",strokeWidth:3}],"┯":[{type:2,data:"M.5,.5 L.5,1",strokeWidth:1},{type:2,data:"M0,.5 L1,.5",strokeWidth:3}],"┰":[{type:2,data:"M0,.5 L1,.5",strokeWidth:1},{type:2,data:"M.5,.5 L.5,1",strokeWidth:3}],"┱":[{type:2,data:"M.5,.5 L1,.5",strokeWidth:1},{type:2,data:"M0,.5 L.5,.5 L.5,1",strokeWidth:3}],"┲":[{type:2,data:"M.5,.5 L0,.5",strokeWidth:1},{type:2,data:"M0.5,1 L.5,.5 L1,.5",strokeWidth:3}],"┳":{type:2,data:"M0,.5 L1,.5 M.5,.5 L.5,1",strokeWidth:3},"┴":{type:2,data:"M0,.5 L1,.5 M.5,.5 L.5,0",strokeWidth:1},"┵":[{type:2,data:"M.5,0 L.5,.5 L1,.5",strokeWidth:1},{type:2,data:"M.5,.5 L0,.5",strokeWidth:3}],"┶":[{type:2,data:"M.5,0 L.5,.5 L0,.5",strokeWidth:1},{type:2,data:"M.5,.5 L1,.5",strokeWidth:3}],"┷":[{type:2,data:"M.5,.5 L.5,0",strokeWidth:1},{type:2,data:"M0,.5 L1,.5",strokeWidth:3}],"┸":[{type:2,data:"M0,.5 L1,.5",strokeWidth:1},{type:2,data:"M.5,.5 L.5,0",strokeWidth:3}],"┹":[{type:2,data:"M.5,.5 L1,.5",strokeWidth:1},{type:2,data:"M.5,0 L.5,.5 L0,.5",strokeWidth:3}],"┺":[{type:2,data:"M.5,.5 L0,.5",strokeWidth:1},{type:2,data:"M.5,0 L.5,.5 L1,.5",strokeWidth:3}],"┻":{type:2,data:"M0,.5 L1,.5 M.5,.5 L.5,0",strokeWidth:3},"┼":{type:2,data:"M0,.5 L1,.5 M.5,0 L.5,1",strokeWidth:1},"┽":[{type:2,data:"M.5,0 L.5,1 M.5,.5 L1,.5",strokeWidth:1},{type:2,data:"M.5,.5 L0,.5",strokeWidth:3}],"┾":[{type:2,data:"M.5,0 L.5,1 M.5,.5 L0,.5",strokeWidth:1},{type:2,data:"M.5,.5 L1,.5",strokeWidth:3}],"┿":[{type:2,data:"M.5,0 L.5,1",strokeWidth:1},{type:2,data:"M0,.5 L1,.5",strokeWidth:3}],"╀":[{type:2,data:"M0,.5 L1,.5 M.5,.5 L.5,1",strokeWidth:1},{type:2,data:"M.5,.5 L.5,0",strokeWidth:3}],"╁":[{type:2,data:"M.5,.5 L.5,0 M0,.5 L1,.5",strokeWidth:1},{type:2,data:"M.5,.5 L.5,1",strokeWidth:3}],"╂":[{type:2,data:"M0,.5 L1,.5",strokeWidth:1},{type:2,data:"M.5,0 L.5,1",strokeWidth:3}],"╃":[{type:2,data:"M0.5,1 L.5,.5 L1,.5",strokeWidth:1},{type:2,data:"M.5,0 L.5,.5 L0,.5",strokeWidth:3}],"╄":[{type:2,data:"M0,.5 L.5,.5 L.5,1",strokeWidth:1},{type:2,data:"M.5,0 L.5,.5 L1,.5",strokeWidth:3}],"╅":[{type:2,data:"M.5,0 L.5,.5 L1,.5",strokeWidth:1},{type:2,data:"M0,.5 L.5,.5 L.5,1",strokeWidth:3}],"╆":[{type:2,data:"M.5,0 L.5,.5 L0,.5",strokeWidth:1},{type:2,data:"M0.5,1 L.5,.5 L1,.5",strokeWidth:3}],"╇":[{type:2,data:"M.5,.5 L.5,1",strokeWidth:1},{type:2,data:"M.5,.5 L.5,0 M0,.5 L1,.5",strokeWidth:3}],"╈":[{type:2,data:"M.5,.5 L.5,0",strokeWidth:1},{type:2,data:"M0,.5 L1,.5 M.5,.5 L.5,1",strokeWidth:3}],"╉":[{type:2,data:"M.5,.5 L1,.5",strokeWidth:1},{type:2,data:"M.5,0 L.5,1 M.5,.5 L0,.5",strokeWidth:3}],"╊":[{type:2,data:"M.5,.5 L0,.5",strokeWidth:1},{type:2,data:"M.5,0 L.5,1 M.5,.5 L1,.5",strokeWidth:3}],"╋":{type:2,data:"M0,.5 L1,.5 M.5,0 L.5,1",strokeWidth:3},"╌":{type:2,data:"M.1,.5 L.4,.5 M.6,.5 L.9,.5",strokeWidth:1},"╍":{type:2,data:"M.1,.5 L.4,.5 M.6,.5 L.9,.5",strokeWidth:3},"╎":{type:2,data:"M.5,.1 L.5,.4 M.5,.6 L.5,.9",strokeWidth:1},"╏":{type:2,data:"M.5,.1 L.5,.4 M.5,.6 L.5,.9",strokeWidth:3},"═":{type:2,data:(e,t)=>`M0,${.5-t} L1,${.5-t} M0,${.5+t} L1,${.5+t}`,strokeWidth:1},"║":{type:2,data:(e,t)=>`M${.5-e},0 L${.5-e},1 M${.5+e},0 L${.5+e},1`,strokeWidth:1},"╒":{type:2,data:(e,t)=>`M.5,1 L.5,${.5-t} L1,${.5-t} M.5,${.5+t} L1,${.5+t}`,strokeWidth:1},"╓":{type:2,data:(e,t)=>`M${.5-e},1 L${.5-e},.5 L1,.5 M${.5+e},.5 L${.5+e},1`,strokeWidth:1},"╔":{type:2,data:(e,t)=>`M1,${.5-t} L${.5-e},${.5-t} L${.5-e},1 M1,${.5+t} L${.5+e},${.5+t} L${.5+e},1`,strokeWidth:1},"╕":{type:2,data:(e,t)=>`M0,${.5-t} L.5,${.5-t} L.5,1 M0,${.5+t} L.5,${.5+t}`,strokeWidth:1},"╖":{type:2,data:(e,t)=>`M${.5+e},1 L${.5+e},.5 L0,.5 M${.5-e},.5 L${.5-e},1`,strokeWidth:1},"╗":{type:2,data:(e,t)=>`M0,${.5+t} L${.5-e},${.5+t} L${.5-e},1 M0,${.5-t} L${.5+e},${.5-t} L${.5+e},1`,strokeWidth:1},"╘":{type:2,data:(e,t)=>`M.5,0 L.5,${.5+t} L1,${.5+t} M.5,${.5-t} L1,${.5-t}`,strokeWidth:1},"╙":{type:2,data:(e,t)=>`M1,.5 L${.5-e},.5 L${.5-e},0 M${.5+e},.5 L${.5+e},0`,strokeWidth:1},"╚":{type:2,data:(e,t)=>`M1,${.5-t} L${.5+e},${.5-t} L${.5+e},0 M1,${.5+t} L${.5-e},${.5+t} L${.5-e},0`,strokeWidth:1},"╛":{type:2,data:(e,t)=>`M0,${.5+t} L.5,${.5+t} L.5,0 M0,${.5-t} L.5,${.5-t}`,strokeWidth:1},"╜":{type:2,data:(e,t)=>`M0,.5 L${.5+e},.5 L${.5+e},0 M${.5-e},.5 L${.5-e},0`,strokeWidth:1},"╝":{type:2,data:(e,t)=>`M0,${.5-t} L${.5-e},${.5-t} L${.5-e},0 M0,${.5+t} L${.5+e},${.5+t} L${.5+e},0`,strokeWidth:1},"╞":{type:2,data:(e,t)=>`M.5,0 L.5,1 M.5,${.5-t} L1,${.5-t} M.5,${.5+t} L1,${.5+t}`,strokeWidth:1},"╟":{type:2,data:(e,t)=>`M${.5-e},0 L${.5-e},1 M${.5+e},0 L${.5+e},1 M${.5+e},.5 L1,.5`,strokeWidth:1},"╠":{type:2,data:(e,t)=>`M${.5-e},0 L${.5-e},1 M1,${.5+t} L${.5+e},${.5+t} L${.5+e},1 M1,${.5-t} L${.5+e},${.5-t} L${.5+e},0`,strokeWidth:1},"╡":{type:2,data:(e,t)=>`M.5,0 L.5,1 M0,${.5-t} L.5,${.5-t} M0,${.5+t} L.5,${.5+t}`,strokeWidth:1},"╢":{type:2,data:(e,t)=>`M0,.5 L${.5-e},.5 M${.5-e},0 L${.5-e},1 M${.5+e},0 L${.5+e},1`,strokeWidth:1},"╣":{type:2,data:(e,t)=>`M${.5+e},0 L${.5+e},1 M0,${.5+t} L${.5-e},${.5+t} L${.5-e},1 M0,${.5-t} L${.5-e},${.5-t} L${.5-e},0`,strokeWidth:1},"╤":{type:2,data:(e,t)=>`M0,${.5-t} L1,${.5-t} M0,${.5+t} L1,${.5+t} M.5,${.5+t} L.5,1`,strokeWidth:1},"╥":{type:2,data:(e,t)=>`M0,.5 L1,.5 M${.5-e},.5 L${.5-e},1 M${.5+e},.5 L${.5+e},1`,strokeWidth:1},"╦":{type:2,data:(e,t)=>`M0,${.5-t} L1,${.5-t} M0,${.5+t} L${.5-e},${.5+t} L${.5-e},1 M1,${.5+t} L${.5+e},${.5+t} L${.5+e},1`,strokeWidth:1},"╧":{type:2,data:(e,t)=>`M.5,0 L.5,${.5-t} M0,${.5-t} L1,${.5-t} M0,${.5+t} L1,${.5+t}`,strokeWidth:1},"╨":{type:2,data:(e,t)=>`M0,.5 L1,.5 M${.5-e},.5 L${.5-e},0 M${.5+e},.5 L${.5+e},0`,strokeWidth:1},"╩":{type:2,data:(e,t)=>`M0,${.5+t} L1,${.5+t} M0,${.5-t} L${.5-e},${.5-t} L${.5-e},0 M1,${.5-t} L${.5+e},${.5-t} L${.5+e},0`,strokeWidth:1},"╪":{type:2,data:(e,t)=>`M.5,0 L.5,1 M0,${.5-t} L1,${.5-t} M0,${.5+t} L1,${.5+t}`,strokeWidth:1},"╫":{type:2,data:(e,t)=>`M0,.5 L1,.5 M${.5-e},0 L${.5-e},1 M${.5+e},0 L${.5+e},1`,strokeWidth:1},"╬":{type:2,data:(e,t)=>`M0,${.5+t} L${.5-e},${.5+t} L${.5-e},1 M1,${.5+t} L${.5+e},${.5+t} L${.5+e},1 M0,${.5-t} L${.5-e},${.5-t} L${.5-e},0 M1,${.5-t} L${.5+e},${.5-t} L${.5+e},0`,strokeWidth:1},"╭":{type:2,data:(e,t)=>`M.5,1 L.5,${.5+t/.15*.5} C.5,${.5+t/.15*.5},.5,.5,1,.5`,strokeWidth:1},"╮":{type:2,data:(e,t)=>`M.5,1 L.5,${.5+t/.15*.5} C.5,${.5+t/.15*.5},.5,.5,0,.5`,strokeWidth:1},"╯":{type:2,data:(e,t)=>`M.5,0 L.5,${.5-t/.15*.5} C.5,${.5-t/.15*.5},.5,.5,0,.5`,strokeWidth:1},"╰":{type:2,data:(e,t)=>`M.5,0 L.5,${.5-t/.15*.5} C.5,${.5-t/.15*.5},.5,.5,1,.5`,strokeWidth:1},"╱":{type:2,data:"M1,0 L0,1",strokeWidth:1},"╲":{type:2,data:"M0,0 L1,1",strokeWidth:1},"╳":{type:2,data:"M1,0 L0,1 M0,0 L1,1",strokeWidth:1},"╴":{type:2,data:"M.5,.5 L0,.5",strokeWidth:1},"╵":{type:2,data:"M.5,.5 L.5,0",strokeWidth:1},"╶":{type:2,data:"M.5,.5 L1,.5",strokeWidth:1},"╷":{type:2,data:"M.5,.5 L.5,1",strokeWidth:1},"╸":{type:2,data:"M.5,.5 L0,.5",strokeWidth:3},"╹":{type:2,data:"M.5,.5 L.5,0",strokeWidth:3},"╺":{type:2,data:"M.5,.5 L1,.5",strokeWidth:3},"╻":{type:2,data:"M.5,.5 L.5,1",strokeWidth:3},"╼":[{type:2,data:"M.5,.5 L0,.5",strokeWidth:1},{type:2,data:"M.5,.5 L1,.5",strokeWidth:3}],"╽":[{type:2,data:"M.5,.5 L.5,0",strokeWidth:1},{type:2,data:"M.5,.5 L.5,1",strokeWidth:3}],"╾":[{type:2,data:"M.5,.5 L1,.5",strokeWidth:1},{type:2,data:"M.5,.5 L0,.5",strokeWidth:3}],"╿":[{type:2,data:"M.5,.5 L.5,1",strokeWidth:1},{type:2,data:"M.5,.5 L.5,0",strokeWidth:3}],"▀":{type:0,data:[{x:0,y:0,w:8,h:4}]},"▁":{type:0,data:[{x:0,y:7,w:8,h:1}]},"▂":{type:0,data:[{x:0,y:6,w:8,h:2}]},"▃":{type:0,data:[{x:0,y:5,w:8,h:3}]},"▄":{type:0,data:[{x:0,y:4,w:8,h:4}]},"▅":{type:0,data:[{x:0,y:3,w:8,h:5}]},"▆":{type:0,data:[{x:0,y:2,w:8,h:6}]},"▇":{type:0,data:[{x:0,y:1,w:8,h:7}]},"█":{type:0,data:[{x:0,y:0,w:8,h:8}]},"▉":{type:0,data:[{x:0,y:0,w:7,h:8}]},"▊":{type:0,data:[{x:0,y:0,w:6,h:8}]},"▋":{type:0,data:[{x:0,y:0,w:5,h:8}]},"▌":{type:0,data:[{x:0,y:0,w:4,h:8}]},"▍":{type:0,data:[{x:0,y:0,w:3,h:8}]},"▎":{type:0,data:[{x:0,y:0,w:2,h:8}]},"▏":{type:0,data:[{x:0,y:0,w:1,h:8}]},"▐":{type:0,data:[{x:4,y:0,w:4,h:8}]},"░":{type:1,data:[[1,0],[0,0]]},"▒":{type:1,data:[[1,0],[0,1]]},"▓":{type:1,data:[[1,1],[1,0]]},"▔":{type:0,data:[{x:0,y:0,w:8,h:1}]},"▕":{type:0,data:[{x:7,y:0,w:1,h:8}]},"▖":{type:0,data:[{x:0,y:4,w:4,h:4}]},"▗":{type:0,data:[{x:4,y:4,w:4,h:4}]},"▘":{type:0,data:[{x:0,y:0,w:4,h:4}]},"▙":{type:0,data:[{x:0,y:0,w:4,h:8},{x:0,y:4,w:8,h:4}]},"▚":{type:0,data:[{x:0,y:0,w:4,h:4},{x:4,y:4,w:4,h:4}]},"▛":{type:0,data:[{x:0,y:0,w:4,h:8},{x:4,y:0,w:4,h:4}]},"▜":{type:0,data:[{x:0,y:0,w:8,h:4},{x:4,y:0,w:4,h:8}]},"▝":{type:0,data:[{x:4,y:0,w:4,h:4}]},"▞":{type:0,data:[{x:4,y:0,w:4,h:4},{x:0,y:4,w:4,h:4}]},"▟":{type:0,data:[{x:4,y:0,w:4,h:8},{x:0,y:4,w:8,h:4}]},"":{type:5,data:{d:"M.3,1 L.03,1 L.03,.88 C.03,.82,.06,.78,.11,.73 C.15,.7,.2,.68,.28,.65 L.43,.6 C.49,.58,.53,.56,.56,.53 C.59,.5,.6,.47,.6,.43 L.6,.27 L.4,.27 L.69,.1 L.98,.27 L.78,.27 L.78,.46 C.78,.52,.76,.56,.72,.61 C.68,.66,.63,.67,.56,.7 L.48,.72 C.42,.74,.38,.76,.35,.78 C.32,.8,.31,.84,.31,.88 L.31,1 M.3,.5 L.03,.59 L.03,.09 L.3,.09 L.3,.655",type:0}},"":{type:5,data:{d:"M.7,.4 L.7,.47 L.2,.47 L.2,.03 L.355,.03 L.355,.4 L.705,.4 M.7,.5 L.86,.5 L.86,.95 L.69,.95 L.44,.66 L.46,.86 L.46,.95 L.3,.95 L.3,.49 L.46,.49 L.71,.78 L.69,.565 L.69,.5",type:0}},"":{type:5,data:{d:"M.25,.94 C.16,.94,.11,.92,.11,.87 L.11,.53 C.11,.48,.15,.455,.23,.45 L.23,.3 C.23,.25,.26,.22,.31,.19 C.36,.16,.43,.15,.51,.15 C.59,.15,.66,.16,.71,.19 C.77,.22,.79,.26,.79,.3 L.79,.45 C.87,.45,.91,.48,.91,.53 L.91,.87 C.91,.92,.86,.94,.77,.94 L.24,.94 M.53,.2 C.49,.2,.45,.21,.42,.23 C.39,.25,.38,.27,.38,.3 L.38,.45 L.68,.45 L.68,.3 C.68,.27,.67,.25,.64,.23 C.61,.21,.58,.2,.53,.2 M.58,.82 L.58,.66 C.63,.65,.65,.63,.65,.6 C.65,.58,.64,.57,.61,.56 C.58,.55,.56,.54,.52,.54 C.48,.54,.46,.55,.43,.56 C.4,.57,.39,.59,.39,.6 C.39,.63,.41,.64,.46,.66 L.46,.82 L.57,.82",type:0}},"":{type:5,data:{d:"M.7,.4 L.7,.47 L.2,.47 L.2,.03 L.7,.03 L.7,.1 L.355,.1 L.355,.4 L.705,.4 M.7,.5 L.86,.5 L.86,.95 L.69,.95 L.44,.66 L.46,.86 L.46,.95 L.3,.95 L.3,.49 L.46,.49 L.71,.78 L.69,.565 L.69,.5",type:0}},"":{type:5,data:{d:"M0,0 L1,.5 L0,1",type:0,rightPadding:2}},"":{type:5,data:{d:"M-1,-.5 L1,.5 L-1,1.5",type:1,leftPadding:1,rightPadding:1}},"":{type:5,data:{d:"M1,0 L0,.5 L1,1",type:0,leftPadding:2}},"":{type:5,data:{d:"M2,-.5 L0,.5 L2,1.5",type:1,leftPadding:1,rightPadding:1}},"":{type:5,data:{d:"M0,0 L0,1 C0.552,1,1,0.776,1,.5 C1,0.224,0.552,0,0,0",type:0,rightPadding:1}},"":{type:5,data:{d:"M.2,1 C.422,1,.8,.826,.78,.5 C.8,.174,0.422,0,.2,0",type:1,rightPadding:1}},"":{type:5,data:{d:"M1,0 L1,1 C0.448,1,0,0.776,0,.5 C0,0.224,0.448,0,1,0",type:0,leftPadding:1}},"":{type:5,data:{d:"M.8,1 C0.578,1,0.2,.826,.22,.5 C0.2,0.174,0.578,0,0.8,0",type:1,leftPadding:1}},"":{type:5,data:{d:"M-.5,-.5 L1.5,1.5 L-.5,1.5",type:0}},"":{type:5,data:{d:"M-.5,-.5 L1.5,1.5",type:1,leftPadding:1,rightPadding:1}},"":{type:5,data:{d:"M1.5,-.5 L-.5,1.5 L1.5,1.5",type:0}},"":{type:5,data:{d:"M1.5,-.5 L-.5,1.5",type:1,leftPadding:1,rightPadding:1}},"":{type:5,data:{d:"M1.5,-.5 L-.5,1.5 L-.5,-.5",type:0}},"":{type:5,data:{d:"M1.5,-.5 L-.5,1.5",type:1,leftPadding:1,rightPadding:1}},"":{type:5,data:{d:"M-.5,-.5 L1.5,1.5 L1.5,-.5",type:0}},"":{type:5,data:{d:"M-.5,-.5 L1.5,1.5",type:1,leftPadding:1,rightPadding:1}},"":{type:5,data:{d:"M0.8069,0.6075 Q0.7991,0.612,0.7815,0.6218 T0.7542,0.6369 T0.7282,0.6508 T0.7016,0.6644 T0.6778,0.6758 T0.6551,0.6854 T0.637,0.6911 T0.622,0.6936 Q0.6186,0.6936,0.6128,0.6942 T0.6018,0.6952 T0.5894,0.6956 T0.5757,0.6952 T0.561,0.693 T0.5451,0.6879 Q0.5342,0.6834,0.5193,0.6756 T0.4925,0.6614 T0.4673,0.6485 T0.4436,0.6389 T0.4239,0.6363 T0.4089,0.6422 Q0.4045,0.6467,0.3958,0.6554 T0.3843,0.6669 T0.3748,0.6746 T0.3613,0.683 T0.3442,0.6903 L0.3499,0.6956 Q0.3584,0.7042,0.3679,0.7177 T0.3836,0.7403 T0.4019,0.7583 T0.4295,0.7703 Q0.4688,0.7785,0.5203,0.7605 Q0.4902,0.7817,0.449,0.7911 T0.3696,0.8001 Q0.3567,0.7997,0.341,0.7942 T0.3111,0.7813 T0.2805,0.766 T0.2493,0.753 T0.218,0.7472 T0.187,0.754 Q0.1762,0.7589,0.1653,0.7681 T0.1453,0.7895 T0.1308,0.818 T0.1264,0.8507 L0.1264,0.858 Q0.1453,0.8462,0.1607,0.8433 T0.1899,0.8452 T0.2226,0.8625 Q0.2344,0.8707,0.2485,0.8752 T0.2813,0.8831 T0.3089,0.889 Q0.2981,0.8915,0.2846,0.8956 T0.2603,0.9037 T0.2368,0.9115 T0.2129,0.9174 T0.1894,0.9194 T0.1653,0.9155 Q0.1504,0.9115,0.1328,0.9196 T0.0986,0.9421 T0.0655,0.9708 T0.0317,0.9943 T0,1 Q0.001,0.94,0.0017,0.6508 T0.0024,0.2322 Q0.002,0.2109,0.0007,0.1379 T0,0.0249 Q0.0058,0.0253,0.009,0.0257 T0.0156,0.0288 T0.0203,0.0333 T0.0264,0.0422 T0.0349,0.0539 Q0.044,0.0657,0.0542,0.072 T0.0752,0.0789 T0.096,0.0775 T0.1175,0.0694 T0.1379,0.0573 T0.1579,0.0432 Q0.2141,0,0.2673,0.0318 Q0.2588,0.0318,0.2517,0.033 T0.239,0.0361 T0.2276,0.0424 T0.218,0.0504 T0.2085,0.0612 T0.1997,0.0732 T0.1899,0.0875 T0.1795,0.1028 Q0.1748,0.1093,0.1507,0.1234 T0.1186,0.1448 Q0.0999,0.1612,0.1108,0.1783 Q0.1162,0.1877,0.1238,0.1928 T0.1404,0.1979 T0.158,0.1967 T0.1775,0.1895 T0.1963,0.1791 T0.2151,0.1663 T0.2314,0.1534 T0.2458,0.141 T0.2561,0.1322 Q0.2815,0.1106,0.3017,0.101 T0.344,0.0926 T0.3919,0.1077 Q0.4099,0.1175,0.4265,0.1206 T0.4588,0.1202 T0.488,0.1098 T0.5176,0.0914 Q0.5071,0.1032,0.4963,0.1122 T0.4722,0.1285 T0.4497,0.1401 T0.4223,0.1518 T0.3943,0.1636 Q0.374,0.1726,0.3623,0.1863 T0.3482,0.2162 Q0.3445,0.2403,0.3608,0.2605 T0.4072,0.2876 Q0.4194,0.2909,0.4326,0.2899 T0.457,0.2856 T0.4805,0.2764 T0.5032,0.264 T0.5256,0.2497 T0.5478,0.2352 T0.5698,0.2222 T0.5921,0.2118 Q0.6982,0.173,0.81,0.2436 Q0.833,0.2583,0.8496,0.2674 T0.887,0.2846 T0.925,0.294 T0.9617,0.2911 T1,0.2746 Q0.9817,0.2946,0.96,0.3056 T0.9175,0.3191 T0.8731,0.3209 T0.8277,0.3164 T0.7818,0.3109 T0.7359,0.3101 T0.6907,0.3197 T0.647,0.3448 Q0.6443,0.3472,0.6333,0.3562 T0.6194,0.3674 T0.6076,0.3766 T0.594,0.386 T0.5815,0.3931 T0.5661,0.4007 T0.5501,0.4064 L0.5556,0.4121 Q0.5627,0.4198,0.5722,0.4251 T0.5926,0.4337 T0.6131,0.439 T0.6343,0.4431 T0.6521,0.4468 Q0.6762,0.4529,0.7056,0.4463 Q0.6772,0.4623,0.6543,0.471 T0.604,0.4814 Q0.5962,0.4818,0.5815,0.4825 T0.5591,0.4835 T0.5393,0.4857 T0.519,0.4908 T0.5007,0.4996 T0.4812,0.5141 T0.4627,0.5353 L0.4549,0.5451 L0.4661,0.543 Q0.4759,0.541,0.4909,0.55 T0.5315,0.5796 T0.5684,0.6083 Q0.5799,0.6161,0.5915,0.6212 T0.6181,0.6308 L0.6331,0.6353 Q0.6514,0.6418,0.7004,0.633 T0.8069,0.6075 Z",type:0}},"":{type:5,data:{d:"M0.011,0.0469 Q0.0152,0.0412,0.02,0.0361 T0.0292,0.0281 T0.0365,0.0253 Q0.0426,0.0257,0.0461,0.0263 T0.0534,0.03 T0.0582,0.0345 T0.0645,0.0434 T0.0723,0.0546 Q0.0807,0.0653,0.0897,0.0712 T0.1081,0.0775 T0.1255,0.0765 T0.1438,0.0695 T0.1605,0.0593 T0.1772,0.0473 Q0.2388,0,0.2927,0.0326 L0.2614,0.0767 L0.2581,0.0767 Q0.2494,0.0767,0.2444,0.0773 T0.2359,0.0789 T0.2291,0.0842 T0.2233,0.0922 T0.2146,0.1054 T0.2026,0.1236 Q0.1943,0.1354,0.1843,0.1444 T0.1675,0.1574 T0.1526,0.1654 T0.1429,0.1701 Q0.1436,0.1717,0.1446,0.1733 Q0.1504,0.1823,0.1581,0.1866 T0.1733,0.1915 T0.1909,0.1884 T0.2085,0.1809 T0.2265,0.169 T0.2427,0.1564 T0.2575,0.1436 T0.2688,0.1338 Q0.2969,0.1101,0.3195,0.0995 T0.3643,0.0901 T0.4114,0.1048 Q0.4279,0.1138,0.4426,0.1168 T0.4705,0.117 T0.4945,0.1089 T0.5186,0.0942 L0.5211,0.0926 L0.5289,0.0922 Q0.5411,0.095,0.5189,0.1203 Q0.505,0.1358,0.4913,0.1474 T0.4634,0.167 T0.4389,0.1796 T0.4121,0.1909 T0.3866,0.2011 Q0.3782,0.2047,0.3727,0.2092 Q0.3717,0.2117,0.3714,0.2141 Q0.3695,0.2263,0.3751,0.2388 T0.394,0.2616 T0.4253,0.2761 Q0.4398,0.2785,0.4513,0.2779 T0.4756,0.2724 T0.4987,0.2616 T0.5216,0.2476 T0.5453,0.2321 T0.5703,0.217 T0.5976,0.2043 Q0.7015,0.166,0.8099,0.2345 Q0.8361,0.2512,0.8572,0.2616 T0.9006,0.2779 T0.9432,0.281 T0.9819,0.2663 L0.9887,0.2671 Q1,0.272,0.9768,0.2969 Q0.9558,0.3193,0.9319,0.333 T0.8858,0.3513 T0.8391,0.3569 T0.793,0.3546 T0.7485,0.3497 T0.7065,0.3473 T0.6681,0.3522 T0.6344,0.3699 Q0.5963,0.4005,0.5847,0.4082 Q0.595,0.4139,0.6079,0.4174 T0.6367,0.4237 T0.6586,0.4278 Q0.6793,0.4331,0.7044,0.4278 Q0.7057,0.4278,0.707,0.4274 Q0.7067,0.429,0.7062,0.4313 T0.7036,0.4398 T0.6993,0.4513 T0.6931,0.4619 T0.6851,0.4698 Q0.6573,0.4857,0.6336,0.4947 T0.5831,0.5053 Q0.577,0.5057,0.5615,0.5065 T0.5394,0.508 T0.5221,0.51 T0.5042,0.5139 T0.4905,0.5204 Q0.5008,0.5232,0.515,0.5328 T0.549,0.5585 T0.5799,0.5824 Q0.5905,0.5897,0.6013,0.5946 T0.6262,0.6036 T0.6409,0.6081 Q0.6567,0.6134,0.7035,0.605 T0.8028,0.5816 L0.7974,0.5922 T0.7867,0.6134 L0.7812,0.624 Q0.7799,0.6248,0.7786,0.6252 Q0.7709,0.6297,0.7573,0.6372 T0.7346,0.6499 T0.7123,0.6621 T0.6897,0.6741 T0.6686,0.6847 T0.648,0.6941 T0.6297,0.7013 T0.6129,0.7062 T0.5995,0.7076 Q0.5992,0.7076,0.5831,0.7092 T0.5529,0.7092 T0.525,0.7019 Q0.5105,0.6958,0.4824,0.6811 T0.4356,0.6586 T0.4079,0.6533 Q0.3872,0.6741,0.3827,0.6782 Q0.3872,0.6835,0.3934,0.6929 T0.4037,0.7078 T0.4142,0.7198 T0.4284,0.7304 T0.4466,0.7365 Q0.4824,0.7443,0.5292,0.728 L0.5292,0.7294 T0.529,0.7333 T0.5284,0.7392 T0.5266,0.7463 T0.5236,0.7539 T0.5186,0.7612 T0.5111,0.7679 Q0.5086,0.77,0.5056,0.7716 Q0.4466,0.8104,0.3591,0.8091 Q0.344,0.8091,0.3246,0.802 T0.2893,0.7863 T0.2543,0.77 T0.2206,0.76 T0.1894,0.7643 Q0.1804,0.7684,0.1733,0.7753 Q0.1591,0.7892,0.1601,0.8169 Q0.1784,0.8067,0.1938,0.8053 T0.2212,0.8087 T0.2507,0.825 Q0.2614,0.8324,0.2744,0.8365 T0.3053,0.844 T0.332,0.8499 L0.303,0.894 L0.2998,0.8948 Q0.2904,0.8968,0.278,0.9009 T0.2554,0.9086 T0.233,0.9158 T0.2099,0.9213 T0.1868,0.9229 T0.1633,0.9192 Q0.1517,0.916,0.1367,0.9241 T0.1065,0.9462 T0.0753,0.9737 T0.041,0.9955 T0.0061,1 Q0,0.9984,0.0068,0.9845 Q0.009,0.9804,0.0123,0.9755 Q0.0187,0.9666,0.0261,0.9606 T0.0374,0.9555 Q0.0481,0.958,0.0629,0.949 T0.0931,0.9262 T0.1247,0.8987 T0.1597,0.8777 T0.1949,0.8752 Q0.213,0.8805,0.2343,0.8772 Q0.2249,0.8736,0.2172,0.8683 Q0.1914,0.8511,0.1738,0.8497 T0.1349,0.8617 Q0.1304,0.865,0.1273,0.8646 T0.1242,0.8605 L0.1239,0.8536 Q0.1226,0.8295,0.1354,0.8016 T0.1723,0.7496 Q0.1914,0.7308,0.2104,0.7219 Q0.2259,0.7145,0.2425,0.7141 T0.273,0.7182 T0.3022,0.7296 T0.3301,0.7439 T0.3569,0.7571 T0.3821,0.7643 Q0.373,0.7561,0.3598,0.7367 T0.3382,0.7088 L0.3327,0.7035 Q0.3282,0.699,0.3353,0.6884 T0.3517,0.6692 L0.3611,0.6607 Q0.3711,0.657,0.3751,0.6554 T0.3837,0.6507 T0.3898,0.6458 T0.3979,0.637 T0.4111,0.6236 Q0.4172,0.6175,0.4234,0.6138 Q0.4327,0.6081,0.4439,0.6077 T0.4655,0.6105 T0.4884,0.6201 T0.5113,0.633 T0.5347,0.6468 T0.5573,0.6578 Q0.5705,0.6635,0.5833,0.665 T0.6112,0.665 T0.6286,0.6635 Q0.6421,0.6631,0.6718,0.6501 Q0.626,0.6578,0.6089,0.6517 Q0.6063,0.6509,0.6002,0.6491 T0.5884,0.6454 T0.5757,0.6409 T0.561,0.6344 T0.5466,0.6256 Q0.536,0.6183,0.5108,0.5989 T0.4722,0.5712 T0.4527,0.564 L0.4418,0.5661 Q0.4308,0.5681,0.4366,0.5563 Q0.4401,0.5485,0.4476,0.5392 L0.455,0.5298 Q0.4631,0.5188,0.4714,0.51 T0.4866,0.4947 T0.5021,0.4831 T0.516,0.4749 T0.53,0.4694 T0.5428,0.4657 T0.5558,0.4637 T0.5674,0.4629 T0.5795,0.4625 Q0.5489,0.4543,0.534,0.4384 L0.5286,0.4327 Q0.5244,0.4282,0.5318,0.4174 T0.5486,0.398 L0.5579,0.3899 Q0.567,0.387,0.5749,0.3834 T0.5878,0.3772 T0.6012,0.3687 T0.6126,0.3603 T0.6268,0.3487 T0.6421,0.3361 Q0.6567,0.3242,0.6712,0.3159 T0.7009,0.3034 T0.7277,0.2973 T0.7556,0.2961 T0.7809,0.2977 T0.8074,0.301 Q0.8096,0.3014,0.8109,0.3016 T0.8143,0.302 T0.818,0.3026 Q0.8012,0.2936,0.7767,0.2781 Q0.6718,0.2117,0.5744,0.2476 Q0.5637,0.2516,0.5492,0.2604 T0.5218,0.2779 T0.4923,0.2965 T0.461,0.3124 T0.4282,0.3216 T0.394,0.3206 Q0.3637,0.3136,0.3474,0.2936 T0.3353,0.2459 Q0.3385,0.2247,0.355,0.2023 Q0.3646,0.1892,0.3763,0.179 Q0.3898,0.1672,0.4063,0.1595 Q0.3927,0.1562,0.3785,0.1485 Q0.3604,0.1387,0.3453,0.1354 T0.3161,0.1354 T0.2899,0.1458 T0.2627,0.166 Q0.262,0.1664,0.254,0.1733 T0.2414,0.1841 T0.2267,0.196 T0.2094,0.2086 T0.1915,0.2196 T0.1725,0.2288 T0.1546,0.2337 T0.1373,0.2343 T0.1223,0.228 T0.1097,0.2145 Q0.0962,0.1929,0.1258,0.1582 Q0.131,0.1517,0.1371,0.1464 Q0.1462,0.1387,0.156,0.1321 T0.1752,0.1205 T0.1878,0.1134 Q0.1891,0.1117,0.1947,0.103 T0.2035,0.0899 T0.2125,0.0781 T0.2243,0.064 Q0.1949,0.0616,0.1672,0.0828 Q0.153,0.0934,0.1412,0.1009 T0.1146,0.1146 T0.0873,0.1213 T0.0616,0.116 T0.0374,0.0962 Q0.0339,0.0909,0.0295,0.0846 T0.024,0.0767 T0.0202,0.0728 T0.0148,0.0704 T0.0068,0.0697 Q0.0003,0.0693,0.0058,0.0567 Q0.0077,0.0522,0.011,0.0469 Z",type:0}},"":{type:5,data:{d:"M0.1934,0.6075 Q0.2012,0.612,0.2188,0.6218 T0.2459,0.6369 T0.2718,0.6508 T0.2983,0.6644 T0.322,0.6758 T0.3447,0.6854 T0.363,0.6911 T0.3783,0.6936 Q0.3796,0.6936,0.396,0.6952 T0.4265,0.6952 T0.4548,0.6879 Q0.4656,0.6834,0.4805,0.6756 T0.5073,0.6614 T0.5327,0.6485 T0.5564,0.6389 T0.5759,0.6363 T0.5909,0.6422 Q0.5953,0.6467,0.604,0.6554 T0.6155,0.6669 T0.6251,0.6746 T0.6387,0.683 T0.6556,0.6903 L0.6498,0.6956 Q0.6414,0.7042,0.6319,0.7177 T0.6162,0.7403 T0.5979,0.7583 T0.5703,0.7703 Q0.5313,0.7785,0.4799,0.7605 Q0.5097,0.7817,0.5508,0.7911 T0.6302,0.8001 Q0.6431,0.7997,0.659,0.7942 T0.6888,0.7813 T0.7194,0.766 T0.7506,0.753 T0.7819,0.7472 T0.8131,0.754 Q0.8239,0.7589,0.8346,0.7681 T0.8544,0.7895 T0.8689,0.818 T0.8737,0.8507 L0.8733,0.858 Q0.8591,0.849,0.8474,0.845 T0.8242,0.8421 T0.8021,0.8482 T0.7772,0.8625 Q0.7653,0.8707,0.7513,0.8752 T0.7184,0.8831 T0.6908,0.889 Q0.7017,0.8915,0.7152,0.8956 T0.7396,0.9037 T0.7633,0.9115 T0.7872,0.9174 T0.8107,0.9194 T0.8347,0.9155 Q0.8493,0.9115,0.8671,0.9196 T0.9015,0.9421 T0.9345,0.9708 T0.9682,0.9943 T0.9997,1 Q0.999,0.94,0.9983,0.6508 T0.9976,0.2322 Q0.9976,0.2109,0.9992,0.1379 T1,0.0249 Q0.9949,0.0249,0.9917,0.0257 T0.9863,0.0273 T0.9817,0.0308 T0.9776,0.0357 T0.9721,0.0437 T0.9651,0.0539 Q0.956,0.0657,0.9456,0.072 T0.9247,0.0789 T0.904,0.0775 T0.8823,0.0694 T0.862,0.0573 T0.8422,0.0432 Q0.7856,0,0.7328,0.0318 Q0.7392,0.0318,0.7452,0.0324 T0.756,0.0345 T0.7657,0.0386 T0.7741,0.0437 T0.7821,0.0506 T0.7894,0.0588 T0.7966,0.0683 T0.8039,0.0787 T0.8119,0.0904 T0.8202,0.1028 Q0.8249,0.1093,0.849,0.1234 T0.8811,0.1448 Q0.8998,0.1612,0.8893,0.1783 Q0.8835,0.1877,0.8759,0.1928 T0.8593,0.1979 T0.8417,0.1967 T0.8222,0.1895 T0.8034,0.1791 T0.7848,0.1663 T0.7687,0.1534 T0.7543,0.141 T0.744,0.1322 Q0.7186,0.1106,0.6984,0.101 T0.6559,0.0926 T0.6082,0.1077 Q0.5899,0.1175,0.5733,0.1206 T0.5411,0.1202 T0.5122,0.1098 T0.4822,0.0914 Q0.4927,0.1032,0.5036,0.1122 T0.5276,0.1285 T0.5503,0.1401 T0.5777,0.1518 T0.6055,0.1636 Q0.6258,0.1726,0.6375,0.1863 T0.6519,0.2162 Q0.6556,0.2403,0.6392,0.2605 T0.5926,0.2876 Q0.5804,0.2909,0.5672,0.2899 T0.5428,0.2856 T0.5193,0.2764 T0.4966,0.264 T0.4744,0.2497 T0.4523,0.2352 T0.4301,0.2222 T0.4077,0.2118 Q0.3021,0.173,0.1903,0.2436 Q0.1669,0.2583,0.1504,0.2674 T0.1129,0.2846 T0.075,0.294 T0.0384,0.2911 T0,0.2746 Q0.021,0.297,0.0459,0.3082 T0.0953,0.3207 T0.146,0.3193 T0.1988,0.3131 T0.2508,0.3095 T0.3029,0.3176 T0.3529,0.3448 Q0.3566,0.348,0.3652,0.355 T0.3771,0.3645 T0.3877,0.3731 T0.3993,0.3815 T0.4103,0.3884 T0.4226,0.3953 T0.4352,0.4009 T0.4497,0.4064 L0.4443,0.4121 Q0.4372,0.4198,0.4277,0.4251 T0.4072,0.4337 T0.3867,0.439 T0.3656,0.4431 T0.3481,0.4468 Q0.3241,0.4529,0.2943,0.4463 Q0.3227,0.4623,0.3458,0.471 T0.3959,0.4814 Q0.404,0.4818,0.4187,0.4825 T0.4409,0.4835 T0.4605,0.4857 T0.4809,0.4908 T0.4992,0.4996 T0.5186,0.5141 T0.5371,0.5353 L0.5449,0.5451 L0.5337,0.543 Q0.5242,0.541,0.5091,0.55 T0.4683,0.5796 T0.4314,0.6083 Q0.4203,0.6161,0.4086,0.6212 T0.382,0.6308 T0.3667,0.6353 Q0.3485,0.6418,0.2995,0.633 T0.1934,0.6075 Z",type:0}},"":{type:5,data:{d:"M0.989,0.0469 Q0.9829,0.0379,0.9753,0.0316 T0.9635,0.0253 Q0.9574,0.0257,0.9539,0.0263 T0.9466,0.03 T0.9418,0.0345 T0.9355,0.0434 T0.9277,0.0546 Q0.9193,0.0653,0.9103,0.0712 T0.8919,0.0775 T0.8745,0.0765 T0.8564,0.0695 T0.8396,0.0593 T0.8228,0.0473 Q0.7612,0,0.7073,0.0326 L0.7386,0.0767 L0.7419,0.0767 Q0.7506,0.0767,0.7556,0.0773 T0.7641,0.0789 T0.7709,0.0842 T0.7767,0.0922 T0.7854,0.1054 T0.7974,0.1236 Q0.8057,0.1354,0.8157,0.1444 T0.8325,0.1574 T0.8474,0.1654 T0.8571,0.1701 Q0.8564,0.1717,0.8554,0.1733 Q0.8503,0.1815,0.844,0.186 T0.8301,0.1909 T0.8153,0.1903 T0.7993,0.1845 T0.7836,0.1758 T0.768,0.1648 T0.754,0.1535 T0.741,0.1425 T0.7312,0.1338 Q0.7031,0.1101,0.6805,0.0995 T0.6357,0.0901 T0.5886,0.1048 Q0.5721,0.1138,0.5574,0.1168 T0.5295,0.117 T0.5055,0.1089 T0.4814,0.0942 L0.4789,0.0926 L0.4711,0.0922 Q0.4589,0.095,0.4811,0.1203 Q0.495,0.1358,0.5087,0.1474 T0.5366,0.167 T0.5611,0.1796 T0.5879,0.1909 T0.6134,0.2011 Q0.6218,0.2047,0.6273,0.2092 Q0.6283,0.2117,0.6286,0.2141 Q0.6305,0.2263,0.6249,0.2388 T0.606,0.2616 T0.5747,0.2761 Q0.5602,0.2785,0.5487,0.2779 T0.5245,0.2724 T0.5015,0.2616 T0.4784,0.2476 T0.4547,0.2321 T0.4297,0.217 T0.4024,0.2043 Q0.2985,0.166,0.1901,0.2345 Q0.1694,0.248,0.1523,0.2569 T0.1165,0.2726 T0.0818,0.2812 T0.0494,0.2796 T0.0181,0.2663 L0.0116,0.2671 Q0,0.272,0.0232,0.2969 Q0.0468,0.3222,0.0742,0.3365 T0.1278,0.3542 T0.1807,0.3564 T0.233,0.352 T0.2815,0.3473 T0.3269,0.3509 T0.3656,0.3699 Q0.4037,0.4005,0.4153,0.4082 Q0.405,0.4139,0.3921,0.4174 T0.3633,0.4237 T0.3414,0.4278 Q0.3207,0.4331,0.2956,0.4278 Q0.2943,0.4278,0.293,0.4274 Q0.2933,0.429,0.2938,0.4313 T0.2964,0.4398 T0.3007,0.4513 T0.3069,0.4619 T0.3149,0.4698 Q0.3427,0.4857,0.3664,0.4947 T0.4169,0.5053 Q0.423,0.5057,0.4385,0.5065 T0.4606,0.508 T0.4779,0.51 T0.4958,0.5139 T0.5095,0.5204 Q0.4992,0.5232,0.485,0.5328 T0.451,0.5585 T0.4201,0.5824 Q0.4095,0.5897,0.3987,0.5946 T0.3738,0.6036 T0.3591,0.6081 Q0.3433,0.6134,0.2965,0.605 T0.1972,0.5816 L0.2026,0.5922 T0.2133,0.6134 L0.2188,0.624 Q0.2201,0.6248,0.2214,0.6252 Q0.2291,0.6297,0.2486,0.6405 T0.2786,0.657 T0.3066,0.6721 T0.3353,0.6866 T0.3598,0.6972 T0.383,0.7051 T0.4005,0.7076 Q0.4008,0.7076,0.4169,0.7092 T0.4471,0.7092 T0.475,0.7019 Q0.4895,0.6958,0.5176,0.6811 T0.5644,0.6586 T0.5921,0.6533 Q0.6128,0.6741,0.6173,0.6782 Q0.6131,0.6835,0.6068,0.6929 T0.5963,0.7078 T0.5858,0.7198 T0.5716,0.7304 T0.5534,0.7365 Q0.5179,0.7443,0.4708,0.728 L0.4708,0.7294 T0.471,0.7333 T0.4716,0.7392 T0.4734,0.7463 T0.4764,0.7539 T0.4814,0.7612 T0.4889,0.7679 Q0.4914,0.77,0.4944,0.7716 Q0.5534,0.8104,0.6409,0.8091 Q0.6521,0.8091,0.6654,0.8053 T0.6907,0.7959 T0.7157,0.7838 T0.741,0.772 T0.7652,0.7631 T0.7888,0.7594 T0.8106,0.7643 Q0.8196,0.7684,0.8267,0.7753 Q0.8409,0.7892,0.8399,0.8169 Q0.8216,0.8067,0.8062,0.8053 T0.7788,0.8087 T0.7493,0.825 Q0.7386,0.8324,0.7256,0.8365 T0.6947,0.844 T0.668,0.8499 L0.697,0.894 L0.7002,0.8948 Q0.7099,0.8968,0.7222,0.9009 T0.7446,0.9086 T0.767,0.9158 T0.7901,0.9213 T0.8132,0.9229 T0.8367,0.9192 Q0.8483,0.916,0.8633,0.9241 T0.8937,0.9462 T0.9248,0.9737 T0.959,0.9955 T0.9939,1 Q1,0.9984,0.9932,0.9845 Q0.991,0.9804,0.9877,0.9755 Q0.9813,0.9666,0.9739,0.9606 T0.9626,0.9555 Q0.9519,0.958,0.9372,0.949 T0.9071,0.9262 T0.8753,0.8987 T0.8403,0.8777 T0.8051,0.8752 Q0.787,0.8805,0.7657,0.8772 Q0.7751,0.8736,0.7828,0.8683 Q0.8086,0.8511,0.8262,0.8497 T0.8651,0.8617 Q0.8696,0.865,0.8727,0.8646 T0.8758,0.8605 L0.8761,0.8536 Q0.8774,0.8295,0.8646,0.8016 T0.8277,0.7496 Q0.8086,0.7308,0.7896,0.7219 Q0.7741,0.7145,0.7575,0.7141 T0.727,0.7182 T0.6978,0.7296 T0.6699,0.7439 T0.6433,0.7571 T0.6179,0.7643 Q0.627,0.7561,0.6402,0.7367 T0.6618,0.7088 L0.6673,0.7035 Q0.6718,0.699,0.6647,0.6884 T0.6483,0.6692 L0.6389,0.6607 Q0.6289,0.657,0.6249,0.6554 T0.6163,0.6507 T0.6102,0.6458 T0.6021,0.637 T0.5889,0.6236 Q0.5828,0.6175,0.5766,0.6138 Q0.5673,0.6081,0.5561,0.6077 T0.5345,0.6105 T0.5116,0.6201 T0.4887,0.633 T0.4653,0.6468 T0.4427,0.6578 Q0.4295,0.6635,0.4167,0.665 T0.3888,0.665 T0.3714,0.6635 Q0.3579,0.6631,0.3282,0.6501 Q0.374,0.6578,0.3911,0.6517 Q0.3937,0.6509,0.4024,0.6482 T0.4179,0.6434 T0.4348,0.6364 T0.4534,0.6256 Q0.464,0.6183,0.4892,0.5989 T0.5278,0.5712 T0.5476,0.564 L0.5582,0.5661 Q0.5692,0.5681,0.5634,0.5563 Q0.5599,0.5485,0.5524,0.5392 L0.545,0.5298 Q0.5369,0.5188,0.5286,0.51 T0.5134,0.4947 T0.4979,0.4831 T0.484,0.4749 T0.47,0.4694 T0.4572,0.4657 T0.4442,0.4637 T0.4326,0.4629 T0.4205,0.4625 Q0.4511,0.4543,0.466,0.4384 L0.4714,0.4327 Q0.4795,0.4237,0.4469,0.394 L0.4421,0.3899 Q0.433,0.387,0.4251,0.3834 T0.4122,0.3772 T0.3988,0.3687 T0.3874,0.3603 T0.3732,0.3487 T0.3579,0.3361 Q0.3433,0.3242,0.3288,0.3159 T0.2993,0.3034 T0.2725,0.2973 T0.2446,0.2961 T0.2193,0.2977 T0.1926,0.301 Q0.1855,0.3022,0.182,0.3026 Q0.1991,0.2936,0.2233,0.2781 Q0.3282,0.2117,0.4256,0.2476 Q0.4363,0.2516,0.451,0.2604 T0.4784,0.2779 T0.5077,0.2965 T0.539,0.3124 T0.5718,0.3216 T0.606,0.3206 Q0.6363,0.3136,0.6526,0.2936 T0.6647,0.2459 Q0.6615,0.2247,0.645,0.2023 Q0.6354,0.1892,0.6237,0.179 Q0.6102,0.1672,0.5937,0.1595 Q0.6073,0.1562,0.6215,0.1485 Q0.6396,0.1387,0.6547,0.1354 T0.6839,0.1354 T0.7101,0.1458 T0.7373,0.166 Q0.738,0.1664,0.746,0.1733 T0.7586,0.1841 T0.7733,0.196 T0.7907,0.2086 T0.8086,0.2196 T0.8275,0.2288 T0.8454,0.2337 T0.8627,0.2343 T0.8777,0.228 T0.8903,0.2145 Q0.9038,0.1929,0.8742,0.1582 Q0.869,0.1517,0.8629,0.1464 Q0.8538,0.1387,0.844,0.1321 T0.8248,0.1205 T0.8122,0.1134 Q0.8109,0.1117,0.8053,0.103 T0.7965,0.0899 T0.7875,0.0781 T0.7757,0.064 Q0.8051,0.0616,0.8328,0.0828 Q0.847,0.0934,0.8588,0.1009 T0.8854,0.1146 T0.9127,0.1213 T0.9384,0.116 T0.9626,0.0962 Q0.9664,0.0909,0.9706,0.0846 T0.976,0.0767 T0.9798,0.0728 T0.9852,0.0704 T0.9932,0.0697 Q0.9997,0.0693,0.9942,0.0567 Q0.9923,0.0522,0.989,0.0469 Z",type:0}},"":{type:5,data:{d:"M0.4116,0.0126 L0.4116,0.0776 L0.4871,0.0776 L0.4871,0.0126 L0.4116,0.0126 Z M0.4043,0 L0.4944,0 Q0.4973,0,0.4995,0.0021 T0.5017,0.0063 L0.5017,0.0839 Q0.5017,0.0864,0.4993,0.0883 T0.4944,0.0902 L0.4043,0.0902 Q0.4014,0.0902,0.3992,0.0881 T0.397,0.0839 L0.397,0.0063 Q0.397,0.0038,0.3994,0.0019 T0.4043,0 Z M0.4116,0.0126 L0.4116,0.0776 L0.4871,0.0776 L0.4871,0.0126 L0.4116,0.0126 Z M0.4043,0 L0.4944,0 Q0.4973,0,0.4995,0.0021 T0.5017,0.0063 L0.5017,0.0839 Q0.5017,0.0864,0.4993,0.0883 T0.4944,0.0902 L0.4043,0.0902 Q0.4014,0.0902,0.3992,0.0881 T0.397,0.0839 L0.397,0.0063 Q0.397,0.0038,0.3994,0.0019 T0.4043,0 Z M0.4116,0.0126 L0.4116,0.0776 L0.4871,0.0776 L0.4871,0.0126 L0.4116,0.0126 Z M0.4043,0 L0.4944,0 Q0.4973,0,0.4995,0.0021 T0.5017,0.0063 L0.5017,0.0839 Q0.5017,0.0864,0.4993,0.0883 T0.4944,0.0902 L0.4043,0.0902 Q0.4014,0.0902,0.3992,0.0881 T0.397,0.0839 L0.397,0.0063 Q0.397,0.0038,0.3994,0.0019 T0.4043,0 Z M0.9099,0.0084 L0.9099,0.0818 L0.9951,0.0818 L0.9951,0.0084 L0.9099,0.0084 Z M0.9075,0.0042 L0.9976,0.0042 Q1,0.0042,1,0.0063 L1,0.0839 Q1,0.086,0.9976,0.086 L0.9075,0.086 Q0.905,0.086,0.905,0.0839 L0.905,0.0063 Q0.905,0.0042,0.9075,0.0042 Z M0.9099,0.0084 L0.9099,0.0818 L0.9951,0.0818 L0.9951,0.0084 L0.9099,0.0084 Z M0.9075,0.0042 L0.9976,0.0042 Q1,0.0042,1,0.0063 L1,0.0839 Q1,0.086,0.9976,0.086 L0.9075,0.086 Q0.905,0.086,0.905,0.0839 L0.905,0.0063 Q0.905,0.0042,0.9075,0.0042 Z M0.9099,0.0084 L0.9099,0.0818 L0.9951,0.0818 L0.9951,0.0084 L0.9099,0.0084 Z M0.9075,0.0042 L0.9976,0.0042 Q1,0.0042,1,0.0063 L1,0.0839 Q1,0.086,0.9976,0.086 L0.9075,0.086 Q0.905,0.086,0.905,0.0839 L0.905,0.0063 Q0.905,0.0042,0.9075,0.0042 Z M0.66,0.0063 L0.7501,0.0063 L0.7501,0.0839 L0.66,0.0839 L0.66,0.0063 Z M0.66,0.0063 L0.7501,0.0063 L0.7501,0.0839 L0.66,0.0839 L0.66,0.0063 Z M0.66,0.0063 L0.7501,0.0063 L0.7501,0.0839 L0.66,0.0839 L0.66,0.0063 Z M0.5309,0.0063 L0.621,0.0063 L0.621,0.0839 L0.5309,0.0839 L0.5309,0.0063 Z M0.5309,0.0063 L0.621,0.0063 L0.621,0.0839 L0.5309,0.0839 L0.5309,0.0063 Z M0.5309,0.0063 L0.621,0.0063 L0.621,0.0839 L0.5309,0.0839 L0.5309,0.0063 Z M0.2689,0.0063 L0.359,0.0063 L0.359,0.0839 L0.2689,0.0839 L0.2689,0.0063 Z M0.2689,0.0063 L0.359,0.0063 L0.359,0.0839 L0.2689,0.0839 L0.2689,0.0063 Z M0.2689,0.0063 L0.359,0.0063 L0.359,0.0839 L0.2689,0.0839 L0.2689,0.0063 Z M0.1374,0.0063 L0.2275,0.0063 L0.2275,0.0839 L0.1374,0.0839 L0.1374,0.0063 Z M0.1374,0.0063 L0.2275,0.0063 L0.2275,0.0839 L0.1374,0.0839 L0.1374,0.0063 Z M0.1374,0.0063 L0.2275,0.0063 L0.2275,0.0839 L0.1374,0.0839 L0.1374,0.0063 Z M0,0.0063 L0.0901,0.0063 L0.0901,0.0839 L0,0.0839 L0,0.0063 Z M0,0.0063 L0.0901,0.0063 L0.0901,0.0839 L0,0.0839 L0,0.0063 Z M0,0.0063 L0.0901,0.0063 L0.0901,0.0839 L0,0.0839 L0,0.0063 Z M0.4087,0.9224 L0.4087,0.9958 L0.4939,0.9958 L0.4939,0.9224 L0.4087,0.9224 Z M0.4062,0.9182 L0.4963,0.9182 Q0.4988,0.9182,0.4988,0.9203 L0.4988,0.9979 Q0.4988,1,0.4963,1 L0.4062,1 Q0.4038,1,0.4038,0.9979 L0.4038,0.9203 Q0.4038,0.9182,0.4062,0.9182 Z M0.4087,0.9224 L0.4087,0.9958 L0.4939,0.9958 L0.4939,0.9224 L0.4087,0.9224 Z M0.4062,0.9182 L0.4963,0.9182 Q0.4988,0.9182,0.4988,0.9203 L0.4988,0.9979 Q0.4988,1,0.4963,1 L0.4062,1 Q0.4038,1,0.4038,0.9979 L0.4038,0.9203 Q0.4038,0.9182,0.4062,0.9182 Z M0.4087,0.9224 L0.4087,0.9958 L0.4939,0.9958 L0.4939,0.9224 L0.4087,0.9224 Z M0.4062,0.9182 L0.4963,0.9182 Q0.4988,0.9182,0.4988,0.9203 L0.4988,0.9979 Q0.4988,1,0.4963,1 L0.4062,1 Q0.4038,1,0.4038,0.9979 L0.4038,0.9203 Q0.4038,0.9182,0.4062,0.9182 Z M0.1374,0.9203 L0.2275,0.9203 L0.2275,0.9979 L0.1374,0.9979 L0.1374,0.9203 Z M0.1374,0.9203 L0.2275,0.9203 L0.2275,0.9979 L0.1374,0.9979 L0.1374,0.9203 Z M0.1374,0.9203 L0.2275,0.9203 L0.2275,0.9979 L0.1374,0.9979 L0.1374,0.9203 Z M0,0.9203 L0.0901,0.9203 L0.0901,0.9979 L0,0.9979 L0,0.9203 Z M0,0.9203 L0.0901,0.9203 L0.0901,0.9979 L0,0.9979 L0,0.9203 Z M0,0.9203 L0.0901,0.9203 L0.0901,0.9979 L0,0.9979 L0,0.9203 Z M0.9099,0.1158 L0.9099,0.1888 L0.9951,0.1888 L0.9951,0.1158 L0.9099,0.1158 Z M0.9075,0.1116 L0.9976,0.1116 Q1,0.1116,1,0.1137 L1,0.1909 Q1,0.193,0.9976,0.193 L0.9075,0.193 Q0.905,0.193,0.905,0.1909 L0.905,0.1137 Q0.905,0.1116,0.9075,0.1116 Z M0.7852,0.6086 L0.7852,0.682 L0.8704,0.682 L0.8704,0.6086 L0.7852,0.6086 Z M0.7828,0.6044 L0.8729,0.6044 Q0.8753,0.6044,0.8753,0.6065 L0.8753,0.6841 Q0.8753,0.6862,0.8729,0.6862 L0.7828,0.6862 Q0.7803,0.6862,0.7803,0.6841 L0.7803,0.6065 Q0.7803,0.6044,0.7828,0.6044 Z M0.66,0.1137 L0.7501,0.1137 L0.7501,0.1909 L0.66,0.1909 L0.66,0.1137 Z M0.6624,0.4102 L0.6624,0.4836 L0.7477,0.4836 L0.7477,0.4102 L0.6624,0.4102 Z M0.66,0.406 L0.7501,0.406 Q0.7526,0.406,0.7526,0.4081 L0.7526,0.4857 Q0.7526,0.4878,0.7501,0.4878 L0.66,0.4878 Q0.6576,0.4878,0.6576,0.4857 L0.6576,0.4081 Q0.6576,0.406,0.66,0.406 Z M0.6624,0.7131 L0.6624,0.7865 L0.7477,0.7865 L0.7477,0.7131 L0.6624,0.7131 Z M0.66,0.7089 L0.7501,0.7089 Q0.7526,0.7089,0.7526,0.711 L0.7526,0.7886 Q0.7526,0.7907,0.7501,0.7907 L0.66,0.7907 Q0.6576,0.7907,0.6576,0.7886 L0.6576,0.711 Q0.6576,0.7089,0.66,0.7089 Z M0.5407,0.2227 L0.5407,0.2836 L0.6113,0.2836 L0.6113,0.2227 L0.5407,0.2227 Z M0.5309,0.206 L0.621,0.206 Q0.623,0.206,0.6249,0.2068 T0.6281,0.2089 T0.6301,0.2116 T0.6308,0.2143 L0.6308,0.2919 Q0.6308,0.2957,0.6276,0.298 T0.621,0.3003 L0.5309,0.3003 Q0.5265,0.3003,0.5239,0.2976 T0.5212,0.2919 L0.5212,0.2143 Q0.5212,0.211,0.5244,0.2085 T0.5309,0.206 Z M0.5407,0.3184 L0.5407,0.3792 L0.6113,0.3792 L0.6113,0.3184 L0.5407,0.3184 Z M0.5309,0.3016 L0.621,0.3016 Q0.6254,0.3016,0.6281,0.3043 T0.6308,0.31 L0.6308,0.3876 Q0.6308,0.3914,0.6276,0.3937 T0.621,0.396 L0.5309,0.396 Q0.5265,0.396,0.5239,0.3932 T0.5212,0.3876 L0.5212,0.31 Q0.5212,0.3062,0.5244,0.3039 T0.5309,0.3016 Z M0.5309,0.4081 L0.621,0.4081 L0.621,0.4857 L0.5309,0.4857 L0.5309,0.4081 Z M0.5309,0.5059 L0.621,0.5059 L0.621,0.5835 L0.5309,0.5835 L0.5309,0.5059 Z M0.5407,0.6149 L0.5407,0.6758 L0.6113,0.6758 L0.6113,0.6149 L0.5407,0.6149 Z M0.5309,0.5982 L0.621,0.5982 Q0.6254,0.5982,0.6281,0.6009 T0.6308,0.6065 L0.6308,0.6841 Q0.6308,0.6879,0.6276,0.6902 T0.621,0.6925 L0.5309,0.6925 Q0.5265,0.6925,0.5239,0.6898 T0.5212,0.6841 L0.5212,0.6065 Q0.5212,0.6028,0.5244,0.6005 T0.5309,0.5982 Z M0.4062,0.1137 L0.4963,0.1137 L0.4963,0.1909 L0.4062,0.1909 L0.4062,0.1137 Z M0.4062,0.2143 L0.4963,0.2143 L0.4963,0.2919 L0.4062,0.2919 L0.4062,0.2143 Z M0.4184,0.4186 L0.4184,0.4753 L0.4842,0.4753 L0.4842,0.4186 L0.4184,0.4186 Z M0.4062,0.3977 L0.4963,0.3977 Q0.5017,0.3977,0.5051,0.401 T0.5085,0.4081 L0.5085,0.4857 Q0.5085,0.4904,0.5046,0.4933 T0.4963,0.4962 L0.4062,0.4962 Q0.4009,0.4962,0.3975,0.4929 T0.3941,0.4857 L0.3941,0.4081 Q0.3941,0.4035,0.398,0.4006 T0.4062,0.3977 Z M0.4062,0.5059 L0.4963,0.5059 L0.4963,0.5835 L0.4062,0.5835 L0.4062,0.5059 Z M0.4087,0.7131 L0.4087,0.7865 L0.4939,0.7865 L0.4939,0.7131 L0.4087,0.7131 Z M0.4062,0.7089 L0.4963,0.7089 Q0.4988,0.7089,0.4988,0.711 L0.4988,0.7886 Q0.4988,0.7907,0.4963,0.7907 L0.4062,0.7907 Q0.4038,0.7907,0.4038,0.7886 L0.4038,0.711 Q0.4038,0.7089,0.4062,0.7089 Z M0.2689,0.1137 L0.359,0.1137 L0.359,0.1909 L0.2689,0.1909 L0.2689,0.1137 Z M0.2689,0.2143 L0.359,0.2143 L0.359,0.2919 L0.2689,0.2919 L0.2689,0.2143 Z M0.2689,0.8154 L0.359,0.8154 L0.359,0.8926 L0.2689,0.8926 L0.2689,0.8154 Z M0.2689,0.31 L0.359,0.31 L0.359,0.3876 L0.2689,0.3876 L0.2689,0.31 Z M0.2689,0.8154 L0.359,0.8154 L0.359,0.8926 L0.2689,0.8926 L0.2689,0.8154 Z M0.2689,0.4081 L0.359,0.4081 L0.359,0.4857 L0.2689,0.4857 L0.2689,0.4081 Z M0.2689,0.5059 L0.359,0.5059 L0.359,0.5835 L0.2689,0.5835 L0.2689,0.5059 Z M0.2689,0.711 L0.359,0.711 L0.359,0.7886 L0.2689,0.7886 L0.2689,0.711 Z M0.2689,0.8154 L0.359,0.8154 L0.359,0.8926 L0.2689,0.8926 L0.2689,0.8154 Z M0.1374,0.1137 L0.2275,0.1137 L0.2275,0.1909 L0.1374,0.1909 L0.1374,0.1137 Z M0.1374,0.2143 L0.2275,0.2143 L0.2275,0.2919 L0.1374,0.2919 L0.1374,0.2143 Z M0.1374,0.8154 L0.2275,0.8154 L0.2275,0.8926 L0.1374,0.8926 L0.1374,0.8154 Z M0.1374,0.31 L0.2275,0.31 L0.2275,0.3876 L0.1374,0.3876 L0.1374,0.31 Z M0.1374,0.8154 L0.2275,0.8154 L0.2275,0.8926 L0.1374,0.8926 L0.1374,0.8154 Z M0.1374,0.4081 L0.2275,0.4081 L0.2275,0.4857 L0.1374,0.4857 L0.1374,0.4081 Z M0.1374,0.5059 L0.2275,0.5059 L0.2275,0.5835 L0.1374,0.5835 L0.1374,0.5059 Z M0.1374,0.6065 L0.2275,0.6065 L0.2275,0.6841 L0.1374,0.6841 L0.1374,0.6065 Z M0.1374,0.711 L0.2275,0.711 L0.2275,0.7886 L0.1374,0.7886 L0.1374,0.711 Z M0.1374,0.8154 L0.2275,0.8154 L0.2275,0.8926 L0.1374,0.8926 L0.1374,0.8154 Z M0,0.1137 L0.0901,0.1137 L0.0901,0.1909 L0,0.1909 L0,0.1137 Z M0,0.2143 L0.0901,0.2143 L0.0901,0.2919 L0,0.2919 L0,0.2143 Z M0,0.8154 L0.0901,0.8154 L0.0901,0.8926 L0,0.8926 L0,0.8154 Z M0,0.31 L0.0901,0.31 L0.0901,0.3876 L0,0.3876 L0,0.31 Z M0,0.8154 L0.0901,0.8154 L0.0901,0.8926 L0,0.8926 L0,0.8154 Z M0,0.4081 L0.0901,0.4081 L0.0901,0.4857 L0,0.4857 L0,0.4081 Z M0,0.5059 L0.0901,0.5059 L0.0901,0.5835 L0,0.5835 L0,0.5059 Z M0,0.6065 L0.0901,0.6065 L0.0901,0.6841 L0,0.6841 L0,0.6065 Z M0,0.711 L0.0901,0.711 L0.0901,0.7886 L0,0.7886 L0,0.711 Z M0,0.8154 L0.0901,0.8154 L0.0901,0.8926 L0,0.8926 L0,0.8154 Z",type:0}},"":{type:5,data:{d:"M0.5884,0.0126 L0.5884,0.0776 L0.5129,0.0776 L0.5129,0.0126 L0.5884,0.0126 Z M0.5957,0 L0.5056,0 Q0.5027,0,0.5005,0.0021 T0.4983,0.0063 L0.4983,0.0839 Q0.4983,0.0864,0.5007,0.0883 T0.5056,0.0902 L0.5957,0.0902 Q0.5986,0.0902,0.6008,0.0881 T0.603,0.0839 L0.603,0.0063 Q0.603,0.0038,0.6006,0.0019 T0.5957,0 Z M0.5884,0.0126 L0.5884,0.0776 L0.5129,0.0776 L0.5129,0.0126 L0.5884,0.0126 Z M0.5957,0 L0.5056,0 Q0.5027,0,0.5005,0.0021 T0.4983,0.0063 L0.4983,0.0839 Q0.4983,0.0864,0.5007,0.0883 T0.5056,0.0902 L0.5957,0.0902 Q0.5986,0.0902,0.6008,0.0881 T0.603,0.0839 L0.603,0.0063 Q0.603,0.0038,0.6006,0.0019 T0.5957,0 Z M0.5884,0.0126 L0.5884,0.0776 L0.5129,0.0776 L0.5129,0.0126 L0.5884,0.0126 Z M0.5957,0 L0.5056,0 Q0.5027,0,0.5005,0.0021 T0.4983,0.0063 L0.4983,0.0839 Q0.4983,0.0864,0.5007,0.0883 T0.5056,0.0902 L0.5957,0.0902 Q0.5986,0.0902,0.6008,0.0881 T0.603,0.0839 L0.603,0.0063 Q0.603,0.0038,0.6006,0.0019 T0.5957,0 Z M0.0901,0.0084 L0.0901,0.0818 L0.0049,0.0818 L0.0049,0.0084 L0.0901,0.0084 Z M0.0925,0.0042 L0.0024,0.0042 Q0,0.0042,0,0.0063 L0,0.0839 Q0,0.086,0.0024,0.086 L0.0925,0.086 Q0.095,0.086,0.095,0.0839 L0.095,0.0063 Q0.095,0.0042,0.0925,0.0042 Z M0.0901,0.0084 L0.0901,0.0818 L0.0049,0.0818 L0.0049,0.0084 L0.0901,0.0084 Z M0.0925,0.0042 L0.0024,0.0042 Q0,0.0042,0,0.0063 L0,0.0839 Q0,0.086,0.0024,0.086 L0.0925,0.086 Q0.095,0.086,0.095,0.0839 L0.095,0.0063 Q0.095,0.0042,0.0925,0.0042 Z M0.0901,0.0084 L0.0901,0.0818 L0.0049,0.0818 L0.0049,0.0084 L0.0901,0.0084 Z M0.0925,0.0042 L0.0024,0.0042 Q0,0.0042,0,0.0063 L0,0.0839 Q0,0.086,0.0024,0.086 L0.0925,0.086 Q0.095,0.086,0.095,0.0839 L0.095,0.0063 Q0.095,0.0042,0.0925,0.0042 Z M0.34,0.0063 L0.2499,0.0063 L0.2499,0.0839 L0.34,0.0839 L0.34,0.0063 Z M0.34,0.0063 L0.2499,0.0063 L0.2499,0.0839 L0.34,0.0839 L0.34,0.0063 Z M0.34,0.0063 L0.2499,0.0063 L0.2499,0.0839 L0.34,0.0839 L0.34,0.0063 Z M0.4691,0.0063 L0.379,0.0063 L0.379,0.0839 L0.4691,0.0839 L0.4691,0.0063 Z M0.4691,0.0063 L0.379,0.0063 L0.379,0.0839 L0.4691,0.0839 L0.4691,0.0063 Z M0.4691,0.0063 L0.379,0.0063 L0.379,0.0839 L0.4691,0.0839 L0.4691,0.0063 Z M0.7311,0.0063 L0.641,0.0063 L0.641,0.0839 L0.7311,0.0839 L0.7311,0.0063 Z M0.7311,0.0063 L0.641,0.0063 L0.641,0.0839 L0.7311,0.0839 L0.7311,0.0063 Z M0.7311,0.0063 L0.641,0.0063 L0.641,0.0839 L0.7311,0.0839 L0.7311,0.0063 Z M0.8626,0.0063 L0.7725,0.0063 L0.7725,0.0839 L0.8626,0.0839 L0.8626,0.0063 Z M0.8626,0.0063 L0.7725,0.0063 L0.7725,0.0839 L0.8626,0.0839 L0.8626,0.0063 Z M0.8626,0.0063 L0.7725,0.0063 L0.7725,0.0839 L0.8626,0.0839 L0.8626,0.0063 Z M1,0.0063 L0.9099,0.0063 L0.9099,0.0839 L1,0.0839 L1,0.0063 Z M1,0.0063 L0.9099,0.0063 L0.9099,0.0839 L1,0.0839 L1,0.0063 Z M1,0.0063 L0.9099,0.0063 L0.9099,0.0839 L1,0.0839 L1,0.0063 Z M0.5913,0.9224 L0.5913,0.9958 L0.5061,0.9958 L0.5061,0.9224 L0.5913,0.9224 Z M0.5938,0.9182 L0.5037,0.9182 Q0.5012,0.9182,0.5012,0.9203 L0.5012,0.9979 Q0.5012,1,0.5037,1 L0.5938,1 Q0.5962,1,0.5962,0.9979 L0.5962,0.9203 Q0.5962,0.9182,0.5938,0.9182 Z M0.5913,0.9224 L0.5913,0.9958 L0.5061,0.9958 L0.5061,0.9224 L0.5913,0.9224 Z M0.5938,0.9182 L0.5037,0.9182 Q0.5012,0.9182,0.5012,0.9203 L0.5012,0.9979 Q0.5012,1,0.5037,1 L0.5938,1 Q0.5962,1,0.5962,0.9979 L0.5962,0.9203 Q0.5962,0.9182,0.5938,0.9182 Z M0.5913,0.9224 L0.5913,0.9958 L0.5061,0.9958 L0.5061,0.9224 L0.5913,0.9224 Z M0.5938,0.9182 L0.5037,0.9182 Q0.5012,0.9182,0.5012,0.9203 L0.5012,0.9979 Q0.5012,1,0.5037,1 L0.5938,1 Q0.5962,1,0.5962,0.9979 L0.5962,0.9203 Q0.5962,0.9182,0.5938,0.9182 Z M0.8626,0.9203 L0.7725,0.9203 L0.7725,0.9979 L0.8626,0.9979 L0.8626,0.9203 Z M0.8626,0.9203 L0.7725,0.9203 L0.7725,0.9979 L0.8626,0.9979 L0.8626,0.9203 Z M0.8626,0.9203 L0.7725,0.9203 L0.7725,0.9979 L0.8626,0.9979 L0.8626,0.9203 Z M1,0.9203 L0.9099,0.9203 L0.9099,0.9979 L1,0.9979 L1,0.9203 Z M1,0.9203 L0.9099,0.9203 L0.9099,0.9979 L1,0.9979 L1,0.9203 Z M1,0.9203 L0.9099,0.9203 L0.9099,0.9979 L1,0.9979 L1,0.9203 Z M0.0901,0.1158 L0.0901,0.1888 L0.0049,0.1888 L0.0049,0.1158 L0.0901,0.1158 Z M0.0925,0.1116 L0.0024,0.1116 Q0,0.1116,0,0.1137 L0,0.1909 Q0,0.193,0.0024,0.193 L0.0925,0.193 Q0.095,0.193,0.095,0.1909 L0.095,0.1137 Q0.095,0.1116,0.0925,0.1116 Z M0.2148,0.6086 L0.2148,0.682 L0.1296,0.682 L0.1296,0.6086 L0.2148,0.6086 Z M0.2172,0.6044 L0.1271,0.6044 Q0.1247,0.6044,0.1247,0.6065 L0.1247,0.6841 Q0.1247,0.6862,0.1271,0.6862 L0.2172,0.6862 Q0.2197,0.6862,0.2197,0.6841 L0.2197,0.6065 Q0.2197,0.6044,0.2172,0.6044 Z M0.34,0.1137 L0.2499,0.1137 L0.2499,0.1909 L0.34,0.1909 L0.34,0.1137 Z M0.3376,0.4102 L0.3376,0.4836 L0.2523,0.4836 L0.2523,0.4102 L0.3376,0.4102 Z M0.34,0.406 L0.2499,0.406 Q0.2474,0.406,0.2474,0.4081 L0.2474,0.4857 Q0.2474,0.4878,0.2499,0.4878 L0.34,0.4878 Q0.3424,0.4878,0.3424,0.4857 L0.3424,0.4081 Q0.3424,0.406,0.34,0.406 Z M0.3376,0.7131 L0.3376,0.7865 L0.2523,0.7865 L0.2523,0.7131 L0.3376,0.7131 Z M0.34,0.7089 L0.2499,0.7089 Q0.2474,0.7089,0.2474,0.711 L0.2474,0.7886 Q0.2474,0.7907,0.2499,0.7907 L0.34,0.7907 Q0.3424,0.7907,0.3424,0.7886 L0.3424,0.711 Q0.3424,0.7089,0.34,0.7089 Z M0.4593,0.2227 L0.4593,0.2836 L0.3887,0.2836 L0.3887,0.2227 L0.4593,0.2227 Z M0.4691,0.206 L0.379,0.206 Q0.3746,0.206,0.3719,0.2087 T0.3692,0.2143 L0.3692,0.2919 Q0.3692,0.2957,0.3724,0.298 T0.379,0.3003 L0.4691,0.3003 Q0.4735,0.3003,0.4761,0.2976 T0.4788,0.2919 L0.4788,0.2143 Q0.4788,0.211,0.4756,0.2085 T0.4691,0.206 Z M0.4593,0.3184 L0.4593,0.3792 L0.3887,0.3792 L0.3887,0.3184 L0.4593,0.3184 Z M0.4691,0.3016 L0.379,0.3016 Q0.3746,0.3016,0.3719,0.3043 T0.3692,0.31 L0.3692,0.3876 Q0.3692,0.3914,0.3724,0.3937 T0.379,0.396 L0.4691,0.396 Q0.4735,0.396,0.4761,0.3932 T0.4788,0.3876 L0.4788,0.31 Q0.4788,0.3062,0.4756,0.3039 T0.4691,0.3016 Z M0.4691,0.4081 L0.379,0.4081 L0.379,0.4857 L0.4691,0.4857 L0.4691,0.4081 Z M0.4691,0.5059 L0.379,0.5059 L0.379,0.5835 L0.4691,0.5835 L0.4691,0.5059 Z M0.4593,0.6149 L0.4593,0.6758 L0.3887,0.6758 L0.3887,0.6149 L0.4593,0.6149 Z M0.4691,0.5982 L0.379,0.5982 Q0.3746,0.5982,0.3719,0.6009 T0.3692,0.6065 L0.3692,0.6841 Q0.3692,0.6879,0.3724,0.6902 T0.379,0.6925 L0.4691,0.6925 Q0.4735,0.6925,0.4761,0.6898 T0.4788,0.6841 L0.4788,0.6065 Q0.4788,0.6028,0.4756,0.6005 T0.4691,0.5982 Z M0.5938,0.1137 L0.5037,0.1137 L0.5037,0.1909 L0.5938,0.1909 L0.5938,0.1137 Z M0.5938,0.2143 L0.5037,0.2143 L0.5037,0.2919 L0.5938,0.2919 L0.5938,0.2143 Z M0.5816,0.4186 L0.5816,0.4753 L0.5158,0.4753 L0.5158,0.4186 L0.5816,0.4186 Z M0.5938,0.3977 L0.5037,0.3977 Q0.4983,0.3977,0.4949,0.401 T0.4915,0.4081 L0.4915,0.4857 Q0.4915,0.4904,0.4954,0.4933 T0.5037,0.4962 L0.5938,0.4962 Q0.5991,0.4962,0.6025,0.4929 T0.6059,0.4857 L0.6059,0.4081 Q0.6059,0.4035,0.602,0.4006 T0.5938,0.3977 Z M0.5938,0.5059 L0.5037,0.5059 L0.5037,0.5835 L0.5938,0.5835 L0.5938,0.5059 Z M0.5913,0.7131 L0.5913,0.7865 L0.5061,0.7865 L0.5061,0.7131 L0.5913,0.7131 Z M0.5938,0.7089 L0.5037,0.7089 Q0.5012,0.7089,0.5012,0.711 L0.5012,0.7886 Q0.5012,0.7907,0.5037,0.7907 L0.5938,0.7907 Q0.5962,0.7907,0.5962,0.7886 L0.5962,0.711 Q0.5962,0.7089,0.5938,0.7089 Z M0.7311,0.1137 L0.641,0.1137 L0.641,0.1909 L0.7311,0.1909 L0.7311,0.1137 Z M0.7311,0.2143 L0.641,0.2143 L0.641,0.2919 L0.7311,0.2919 L0.7311,0.2143 Z M0.7311,0.8154 L0.641,0.8154 L0.641,0.8926 L0.7311,0.8926 L0.7311,0.8154 Z M0.7311,0.31 L0.641,0.31 L0.641,0.3876 L0.7311,0.3876 L0.7311,0.31 Z M0.7311,0.8154 L0.641,0.8154 L0.641,0.8926 L0.7311,0.8926 L0.7311,0.8154 Z M0.7311,0.4081 L0.641,0.4081 L0.641,0.4857 L0.7311,0.4857 L0.7311,0.4081 Z M0.7311,0.5059 L0.641,0.5059 L0.641,0.5835 L0.7311,0.5835 L0.7311,0.5059 Z M0.7311,0.711 L0.641,0.711 L0.641,0.7886 L0.7311,0.7886 L0.7311,0.711 Z M0.7311,0.8154 L0.641,0.8154 L0.641,0.8926 L0.7311,0.8926 L0.7311,0.8154 Z M0.8626,0.1137 L0.7725,0.1137 L0.7725,0.1909 L0.8626,0.1909 L0.8626,0.1137 Z M0.8626,0.2143 L0.7725,0.2143 L0.7725,0.2919 L0.8626,0.2919 L0.8626,0.2143 Z M0.8626,0.8154 L0.7725,0.8154 L0.7725,0.8926 L0.8626,0.8926 L0.8626,0.8154 Z M0.8626,0.31 L0.7725,0.31 L0.7725,0.3876 L0.8626,0.3876 L0.8626,0.31 Z M0.8626,0.8154 L0.7725,0.8154 L0.7725,0.8926 L0.8626,0.8926 L0.8626,0.8154 Z M0.8626,0.4081 L0.7725,0.4081 L0.7725,0.4857 L0.8626,0.4857 L0.8626,0.4081 Z M0.8626,0.5059 L0.7725,0.5059 L0.7725,0.5835 L0.8626,0.5835 L0.8626,0.5059 Z M0.8626,0.6065 L0.7725,0.6065 L0.7725,0.6841 L0.8626,0.6841 L0.8626,0.6065 Z M0.8626,0.711 L0.7725,0.711 L0.7725,0.7886 L0.8626,0.7886 L0.8626,0.711 Z M0.8626,0.8154 L0.7725,0.8154 L0.7725,0.8926 L0.8626,0.8926 L0.8626,0.8154 Z M1,0.1137 L0.9099,0.1137 L0.9099,0.1909 L1,0.1909 L1,0.1137 Z M1,0.2143 L0.9099,0.2143 L0.9099,0.2919 L1,0.2919 L1,0.2143 Z M1,0.8154 L0.9099,0.8154 L0.9099,0.8926 L1,0.8926 L1,0.8154 Z M1,0.31 L0.9099,0.31 L0.9099,0.3876 L1,0.3876 L1,0.31 Z M1,0.8154 L0.9099,0.8154 L0.9099,0.8926 L1,0.8926 L1,0.8154 Z M1,0.4081 L0.9099,0.4081 L0.9099,0.4857 L1,0.4857 L1,0.4081 Z M1,0.5059 L0.9099,0.5059 L0.9099,0.5835 L1,0.5835 L1,0.5059 Z M1,0.6065 L0.9099,0.6065 L0.9099,0.6841 L1,0.6841 L1,0.6065 Z M1,0.711 L0.9099,0.711 L0.9099,0.7886 L1,0.7886 L1,0.711 Z M1,0.8154 L0.9099,0.8154 L0.9099,0.8926 L1,0.8926 L1,0.8154 Z",type:0}},"":{type:5,data:{d:"M0.6529,0.018 L0.6529,0.112 L0.7724,0.112 L0.7724,0.018 L0.6529,0.018 Z M0.6411,0 L0.7837,0 Q0.7873,0,0.7902,0.0015 T0.7943,0.005 T0.7956,0.0092 L0.7956,0.1208 Q0.7956,0.125,0.7917,0.1275 T0.7837,0.13 L0.6411,0.13 Q0.6359,0.13,0.6326,0.1271 T0.6292,0.1208 L0.6292,0.0092 Q0.6292,0.005,0.6331,0.0025 T0.6411,0 Z M0.6529,0.018 L0.6529,0.112 L0.7724,0.112 L0.7724,0.018 L0.6529,0.018 Z M0.6411,0 L0.7837,0 Q0.7873,0,0.7902,0.0015 T0.7943,0.005 T0.7956,0.0092 L0.7956,0.1208 Q0.7956,0.125,0.7917,0.1275 T0.7837,0.13 L0.6411,0.13 Q0.6359,0.13,0.6326,0.1271 T0.6292,0.1208 L0.6292,0.0092 Q0.6292,0.005,0.6331,0.0025 T0.6411,0 Z M0.6529,0.018 L0.6529,0.112 L0.7724,0.112 L0.7724,0.018 L0.6529,0.018 Z M0.6411,0 L0.7837,0 Q0.7873,0,0.7902,0.0015 T0.7943,0.005 T0.7956,0.0092 L0.7956,0.1208 Q0.7956,0.125,0.7917,0.1275 T0.7837,0.13 L0.6411,0.13 Q0.6359,0.13,0.6326,0.1271 T0.6292,0.1208 L0.6292,0.0092 Q0.6292,0.005,0.6331,0.0025 T0.6411,0 Z M0.4325,0.0143 L0.4325,0.1158 L0.5628,0.1158 L0.5628,0.0143 L0.4325,0.0143 Z M0.4264,0.0042 L0.5695,0.0042 Q0.5721,0.0042,0.5739,0.0057 T0.5757,0.0092 L0.5757,0.1208 Q0.5757,0.1221,0.5752,0.1231 T0.5736,0.1248 T0.5716,0.1256 T0.5695,0.1258 L0.4264,0.1258 Q0.4238,0.1258,0.422,0.1244 T0.4202,0.1208 L0.4202,0.0092 Q0.4202,0.008,0.4207,0.0069 T0.4222,0.0052 T0.4243,0.0044 T0.4264,0.0042 Z M0.4325,0.0143 L0.4325,0.1158 L0.5628,0.1158 L0.5628,0.0143 L0.4325,0.0143 Z M0.4264,0.0042 L0.5695,0.0042 Q0.5721,0.0042,0.5739,0.0057 T0.5757,0.0092 L0.5757,0.1208 Q0.5757,0.1221,0.5752,0.1231 T0.5736,0.1248 T0.5716,0.1256 T0.5695,0.1258 L0.4264,0.1258 Q0.4238,0.1258,0.422,0.1244 T0.4202,0.1208 L0.4202,0.0092 Q0.4202,0.008,0.4207,0.0069 T0.4222,0.0052 T0.4243,0.0044 T0.4264,0.0042 Z M0.4325,0.0143 L0.4325,0.1158 L0.5628,0.1158 L0.5628,0.0143 L0.4325,0.0143 Z M0.4264,0.0042 L0.5695,0.0042 Q0.5721,0.0042,0.5739,0.0057 T0.5757,0.0092 L0.5757,0.1208 Q0.5757,0.1221,0.5752,0.1231 T0.5736,0.1248 T0.5716,0.1256 T0.5695,0.1258 L0.4264,0.1258 Q0.4238,0.1258,0.422,0.1244 T0.4202,0.1208 L0.4202,0.0092 Q0.4202,0.008,0.4207,0.0069 T0.4222,0.0052 T0.4243,0.0044 T0.4264,0.0042 Z M0.2178,0.0092 L0.3605,0.0092 L0.3605,0.1208 L0.2178,0.1208 L0.2178,0.0092 Z M0.2178,0.0092 L0.3605,0.0092 L0.3605,0.1208 L0.2178,0.1208 L0.2178,0.0092 Z M0.2178,0.0092 L0.3605,0.0092 L0.3605,0.1208 L0.2178,0.1208 L0.2178,0.0092 Z M0,0.0092 L0.1432,0.0092 L0.1432,0.1208 L0,0.1208 L0,0.0092 Z M0,0.0092 L0.1432,0.0092 L0.1432,0.1208 L0,0.1208 L0,0.0092 Z M0,0.0092 L0.1432,0.0092 L0.1432,0.1208 L0,0.1208 L0,0.0092 Z M0.8574,0.3217 L0.8574,0.4098 L0.9691,0.4098 L0.9691,0.3217 L0.8574,0.3217 Z M0.8419,0.2978 L0.9846,0.2978 Q0.9892,0.2978,0.9928,0.2997 T0.9982,0.3043 T1,0.31 L1,0.4216 Q1,0.427,0.9951,0.4304 T0.9846,0.4337 L0.8419,0.4337 Q0.8352,0.4337,0.8308,0.4299 T0.8265,0.4216 L0.8265,0.31 Q0.8265,0.3062,0.829,0.3035 T0.835,0.2993 T0.8419,0.2978 Z M0.8574,0.888 L0.8574,0.9757 L0.9691,0.9757 L0.9691,0.888 L0.8574,0.888 Z M0.8419,0.8637 L0.9846,0.8637 Q0.9892,0.8637,0.9928,0.8658 T0.9982,0.8706 T1,0.8758 L1,0.9878 Q1,0.9929,0.9951,0.9964 T0.9846,1 L0.8419,1 Q0.8352,1,0.8308,0.996 T0.8265,0.9878 L0.8265,0.8758 Q0.8265,0.8708,0.8314,0.8672 T0.8419,0.8637 Z M0.6509,0.169 L0.6509,0.2706 L0.7806,0.2706 L0.7806,0.169 L0.6509,0.169 Z M0.6442,0.159 L0.7868,0.159 Q0.7899,0.159,0.7917,0.1604 T0.7935,0.164 L0.7935,0.2756 Q0.7935,0.2781,0.7915,0.2796 T0.7868,0.281 L0.6442,0.281 Q0.6416,0.281,0.6395,0.2794 T0.6375,0.2756 L0.6375,0.164 Q0.6375,0.1619,0.6398,0.1604 T0.6442,0.159 Z M0.6632,0.6044 L0.6632,0.6858 L0.7678,0.6858 L0.7678,0.6044 L0.6632,0.6044 Z M0.6442,0.5742 L0.7868,0.5742 Q0.7951,0.5742,0.8007,0.5791 T0.8064,0.5893 L0.8064,0.7013 Q0.8064,0.7076,0.8002,0.712 T0.7868,0.7164 L0.6442,0.7164 Q0.6359,0.7164,0.6305,0.7114 T0.6251,0.7013 L0.6251,0.5893 Q0.6251,0.5847,0.6282,0.5812 T0.6357,0.5759 T0.6442,0.5742 Z M0.4264,0.164 L0.5695,0.164 L0.5695,0.2756 L0.4264,0.2756 L0.4264,0.164 Z M0.4325,0.315 L0.4325,0.4165 L0.5628,0.4165 L0.5628,0.315 L0.4325,0.315 Z M0.4264,0.3049 L0.5695,0.3049 Q0.5721,0.3049,0.5739,0.3064 T0.5757,0.31 L0.5757,0.4216 Q0.5757,0.4237,0.5736,0.4251 T0.5695,0.4266 L0.4264,0.4266 Q0.4238,0.4266,0.422,0.4251 T0.4202,0.4216 L0.4202,0.31 Q0.4202,0.3087,0.4207,0.3077 T0.4222,0.306 T0.4243,0.3052 T0.4264,0.3049 Z M0.4264,0.4476 L0.5695,0.4476 L0.5695,0.5596 L0.4264,0.5596 L0.4264,0.4476 Z M0.4392,0.7408 L0.4392,0.8326 L0.5561,0.8326 L0.5561,0.7408 L0.4392,0.7408 Z M0.4264,0.7206 L0.5695,0.7206 Q0.5747,0.7206,0.5783,0.724 T0.5819,0.7307 L0.5819,0.8427 Q0.5819,0.8469,0.5778,0.8498 T0.5695,0.8528 L0.4264,0.8528 Q0.4207,0.8528,0.4171,0.8496 T0.4135,0.8427 L0.4135,0.7307 Q0.4135,0.7265,0.4176,0.7236 T0.4264,0.7206 Z M0.2178,0.164 L0.3605,0.164 L0.3605,0.2756 L0.2178,0.2756 L0.2178,0.164 Z M0.2178,0.31 L0.3605,0.31 L0.3605,0.4216 L0.2178,0.4216 L0.2178,0.31 Z M0.2178,0.5893 L0.3605,0.5893 L0.3605,0.7013 L0.2178,0.7013 L0.2178,0.5893 Z M0.2178,0.7307 L0.3605,0.7307 L0.3605,0.8427 L0.2178,0.8427 L0.2178,0.7307 Z M0.2178,0.8758 L0.3605,0.8758 L0.3605,0.9878 L0.2178,0.9878 L0.2178,0.8758 Z M0,0.164 L0.1432,0.164 L0.1432,0.2756 L0,0.2756 L0,0.164 Z M0,0.31 L0.1432,0.31 L0.1432,0.4216 L0,0.4216 L0,0.31 Z M0,0.4476 L0.1432,0.4476 L0.1432,0.5596 L0,0.5596 L0,0.4476 Z M0,0.5893 L0.1432,0.5893 L0.1432,0.7013 L0,0.7013 L0,0.5893 Z M0,0.7307 L0.1432,0.7307 L0.1432,0.8427 L0,0.8427 L0,0.7307 Z M0,0.8758 L0.1432,0.8758 L0.1432,0.9878 L0,0.9878 L0,0.8758 Z",type:0}},"":{type:5,data:{d:"M0.3476,0.018 L0.3476,0.112 L0.2276,0.112 L0.2276,0.018 L0.3476,0.018 Z M0.3594,0 L0.2163,0 Q0.2132,0,0.2104,0.0015 T0.2062,0.005 T0.2049,0.0092 L0.2049,0.1208 Q0.2049,0.1237,0.2067,0.1258 T0.2111,0.129 T0.2163,0.13 L0.3594,0.13 Q0.3641,0.13,0.3674,0.1271 T0.3708,0.1208 L0.3708,0.0092 Q0.3708,0.005,0.3669,0.0025 T0.3594,0 Z M0.3476,0.018 L0.3476,0.112 L0.2276,0.112 L0.2276,0.018 L0.3476,0.018 Z M0.3594,0 L0.2163,0 Q0.2132,0,0.2104,0.0015 T0.2062,0.005 T0.2049,0.0092 L0.2049,0.1208 Q0.2049,0.1237,0.2067,0.1258 T0.2111,0.129 T0.2163,0.13 L0.3594,0.13 Q0.3641,0.13,0.3674,0.1271 T0.3708,0.1208 L0.3708,0.0092 Q0.3708,0.005,0.3669,0.0025 T0.3594,0 Z M0.3476,0.018 L0.3476,0.112 L0.2276,0.112 L0.2276,0.018 L0.3476,0.018 Z M0.3594,0 L0.2163,0 Q0.2132,0,0.2104,0.0015 T0.2062,0.005 T0.2049,0.0092 L0.2049,0.1208 Q0.2049,0.1237,0.2067,0.1258 T0.2111,0.129 T0.2163,0.13 L0.3594,0.13 Q0.3641,0.13,0.3674,0.1271 T0.3708,0.1208 L0.3708,0.0092 Q0.3708,0.005,0.3669,0.0025 T0.3594,0 Z M0.5675,0.0143 L0.5675,0.1158 L0.4377,0.1158 L0.4377,0.0143 L0.5675,0.0143 Z M0.5736,0.0042 L0.431,0.0042 Q0.4284,0.0042,0.4264,0.0057 T0.4243,0.0092 L0.4243,0.1208 Q0.4243,0.1221,0.4251,0.1231 T0.4269,0.1248 T0.4289,0.1256 T0.431,0.1258 L0.5736,0.1258 Q0.5767,0.1258,0.5785,0.1244 T0.5803,0.1208 L0.5803,0.0092 Q0.5803,0.008,0.5798,0.0069 T0.5783,0.0052 T0.5762,0.0044 T0.5736,0.0042 Z M0.5675,0.0143 L0.5675,0.1158 L0.4377,0.1158 L0.4377,0.0143 L0.5675,0.0143 Z M0.5736,0.0042 L0.431,0.0042 Q0.4284,0.0042,0.4264,0.0057 T0.4243,0.0092 L0.4243,0.1208 Q0.4243,0.1221,0.4251,0.1231 T0.4269,0.1248 T0.4289,0.1256 T0.431,0.1258 L0.5736,0.1258 Q0.5767,0.1258,0.5785,0.1244 T0.5803,0.1208 L0.5803,0.0092 Q0.5803,0.008,0.5798,0.0069 T0.5783,0.0052 T0.5762,0.0044 T0.5736,0.0042 Z M0.5675,0.0143 L0.5675,0.1158 L0.4377,0.1158 L0.4377,0.0143 L0.5675,0.0143 Z M0.5736,0.0042 L0.431,0.0042 Q0.4284,0.0042,0.4264,0.0057 T0.4243,0.0092 L0.4243,0.1208 Q0.4243,0.1221,0.4251,0.1231 T0.4269,0.1248 T0.4289,0.1256 T0.431,0.1258 L0.5736,0.1258 Q0.5767,0.1258,0.5785,0.1244 T0.5803,0.1208 L0.5803,0.0092 Q0.5803,0.008,0.5798,0.0069 T0.5783,0.0052 T0.5762,0.0044 T0.5736,0.0042 Z M0.7827,0.0092 L0.6395,0.0092 L0.6395,0.1208 L0.7827,0.1208 L0.7827,0.0092 Z M0.7827,0.0092 L0.6395,0.0092 L0.6395,0.1208 L0.7827,0.1208 L0.7827,0.0092 Z M0.7827,0.0092 L0.6395,0.0092 L0.6395,0.1208 L0.7827,0.1208 L0.7827,0.0092 Z M1,0.0092 L0.8574,0.0092 L0.8574,0.1208 L1,0.1208 L1,0.0092 Z M1,0.0092 L0.8574,0.0092 L0.8574,0.1208 L1,0.1208 L1,0.0092 Z M1,0.0092 L0.8574,0.0092 L0.8574,0.1208 L1,0.1208 L1,0.0092 Z M0.1432,0.3217 L0.1432,0.4098 L0.0309,0.4098 L0.0309,0.3217 L0.1432,0.3217 Z M0.1586,0.2978 L0.0154,0.2978 Q0.0088,0.2978,0.0044,0.3016 T0,0.31 L0,0.4216 Q0,0.427,0.0049,0.4304 T0.0154,0.4337 L0.1586,0.4337 Q0.1648,0.4337,0.1694,0.4299 T0.174,0.4216 L0.174,0.31 Q0.174,0.3062,0.1715,0.3035 T0.1653,0.2993 T0.1586,0.2978 Z M0.1432,0.888 L0.1432,0.9757 L0.0309,0.9757 L0.0309,0.888 L0.1432,0.888 Z M0.1586,0.8637 L0.0154,0.8637 Q0.0108,0.8637,0.0072,0.8658 T0.0018,0.8706 T0,0.8758 L0,0.9878 Q0,0.9929,0.0049,0.9964 T0.0154,1 L0.1586,1 Q0.1648,1,0.1694,0.996 T0.174,0.9878 L0.174,0.8758 Q0.174,0.8725,0.1715,0.8695 T0.1653,0.8651 T0.1586,0.8637 Z M0.3496,0.169 L0.3496,0.2706 L0.2194,0.2706 L0.2194,0.169 L0.3496,0.169 Z M0.3563,0.159 L0.2132,0.159 Q0.2106,0.159,0.2088,0.1604 T0.207,0.164 L0.207,0.2756 Q0.207,0.2781,0.2091,0.2796 T0.2132,0.281 L0.3563,0.281 Q0.3589,0.281,0.3607,0.2794 T0.3625,0.2756 L0.3625,0.164 Q0.3625,0.1619,0.3605,0.1604 T0.3563,0.159 Z M0.3368,0.6044 L0.3368,0.6858 L0.2327,0.6858 L0.2327,0.6044 L0.3368,0.6044 Z M0.3563,0.5742 L0.2132,0.5742 Q0.2049,0.5742,0.1993,0.5791 T0.1936,0.5893 L0.1936,0.7013 Q0.1936,0.7076,0.2001,0.712 T0.2132,0.7164 L0.3563,0.7164 Q0.3641,0.7164,0.3697,0.7114 T0.3754,0.7013 L0.3754,0.5893 Q0.3754,0.5847,0.3723,0.5812 T0.3648,0.5759 T0.3563,0.5742 Z M0.5736,0.164 L0.431,0.164 L0.431,0.2756 L0.5736,0.2756 L0.5736,0.164 Z M0.5675,0.315 L0.5675,0.4165 L0.4377,0.4165 L0.4377,0.315 L0.5675,0.315 Z M0.5736,0.3049 L0.431,0.3049 Q0.4284,0.3049,0.4264,0.3064 T0.4243,0.31 L0.4243,0.4216 Q0.4243,0.4237,0.4266,0.4251 T0.431,0.4266 L0.5736,0.4266 Q0.5767,0.4266,0.5785,0.4251 T0.5803,0.4216 L0.5803,0.31 Q0.5803,0.3087,0.5798,0.3077 T0.5783,0.306 T0.5762,0.3052 T0.5736,0.3049 Z M0.5736,0.4476 L0.431,0.4476 L0.431,0.5596 L0.5736,0.5596 L0.5736,0.4476 Z M0.5613,0.7408 L0.5613,0.8326 L0.4439,0.8326 L0.4439,0.7408 L0.5613,0.7408 Z M0.5736,0.7206 L0.431,0.7206 Q0.4253,0.7206,0.4217,0.724 T0.4181,0.7307 L0.4181,0.8427 Q0.4181,0.8469,0.4222,0.8498 T0.431,0.8528 L0.5736,0.8528 Q0.5778,0.8528,0.5808,0.8511 T0.5855,0.8471 T0.587,0.8427 L0.587,0.7307 Q0.587,0.7265,0.5826,0.7236 T0.5736,0.7206 Z M0.7827,0.164 L0.6395,0.164 L0.6395,0.2756 L0.7827,0.2756 L0.7827,0.164 Z M0.7827,0.31 L0.6395,0.31 L0.6395,0.4216 L0.7827,0.4216 L0.7827,0.31 Z M0.7827,0.5893 L0.6395,0.5893 L0.6395,0.7013 L0.7827,0.7013 L0.7827,0.5893 Z M0.7827,0.7307 L0.6395,0.7307 L0.6395,0.8427 L0.7827,0.8427 L0.7827,0.7307 Z M0.7827,0.8758 L0.6395,0.8758 L0.6395,0.9878 L0.7827,0.9878 L0.7827,0.8758 Z M1,0.164 L0.8574,0.164 L0.8574,0.2756 L1,0.2756 L1,0.164 Z M1,0.31 L0.8574,0.31 L0.8574,0.4216 L1,0.4216 L1,0.31 Z M1,0.4476 L0.8574,0.4476 L0.8574,0.5596 L1,0.5596 L1,0.4476 Z M1,0.5893 L0.8574,0.5893 L0.8574,0.7013 L1,0.7013 L1,0.5893 Z M1,0.7307 L0.8574,0.7307 L0.8574,0.8427 L1,0.8427 L1,0.7307 Z M1,0.8758 L0.8574,0.8758 L0.8574,0.9878 L1,0.9878 L1,0.8758 Z",type:0}},"":{type:5,data:{d:"M0.0008,0.9979 Q0.0008,1,0.0032,1 Q0.0482,1,0.0602,0.9975 Q0.0667,0.9963,0.0847,0.9917 T0.1084,0.9859 Q0.1124,0.9851,0.1221,0.9851 L0.1253,0.9851 L0.1285,0.9851 Q0.1518,0.9851,0.1655,0.9809 Q0.1695,0.9801,0.1731,0.9788 T0.1791,0.9766 T0.1839,0.9747 T0.1888,0.9732 L0.1936,0.972 T0.1988,0.9712 T0.2048,0.971 L0.2096,0.971 Q0.2201,0.9714,0.2233,0.9714 T0.2345,0.9693 Q0.2386,0.9685,0.2502,0.9674 T0.2715,0.966 L0.2811,0.9656 Q0.2916,0.9647,0.2916,0.9573 Q0.2916,0.954,0.2892,0.9515 T0.2819,0.9486 Q0.2755,0.9482,0.2683,0.9482 Q0.2643,0.9482,0.2582,0.9484 T0.2498,0.9486 Q0.2426,0.9486,0.2402,0.9473 Q0.2386,0.9469,0.2317,0.943 T0.2161,0.937 Q0.2104,0.9357,0.1992,0.933 T0.1831,0.9291 Q0.1807,0.9287,0.1783,0.9285 T0.1739,0.928 T0.1703,0.9276 T0.1675,0.9272 T0.1655,0.9266 T0.1639,0.9253 Q0.1598,0.9216,0.1462,0.9216 L0.143,0.9216 L0.1398,0.9216 L0.1365,0.9216 Q0.1197,0.9195,0.1197,0.9154 L0.1197,0.9154 Q0.1205,0.9121,0.1373,0.9088 T0.1703,0.9054 Q0.1791,0.9054,0.1863,0.904 T0.1984,0.9011 T0.2064,0.8992 Q0.2402,0.8967,0.2506,0.8934 Q0.2538,0.8926,0.2602,0.8899 T0.2707,0.8872 Q0.2715,0.8872,0.2731,0.8876 Q0.2795,0.8884,0.2884,0.8884 Q0.3068,0.8884,0.3092,0.8826 L0.3092,0.8797 Q0.3092,0.8772,0.3076,0.8747 T0.3044,0.8706 T0.3028,0.8681 Q0.3076,0.8656,0.3237,0.8656 Q0.3317,0.8656,0.3622,0.8623 Q0.3655,0.8623,0.3867,0.8617 T0.4217,0.8602 Q0.4241,0.8598,0.4289,0.8598 L0.4345,0.8598 L0.441,0.8598 Q0.4578,0.8598,0.4667,0.8586 Q0.4739,0.8573,0.4851,0.8567 T0.5004,0.8552 Q0.5012,0.8552,0.5108,0.855 T0.5269,0.853 T0.5333,0.8461 Q0.5333,0.8445,0.5325,0.8432 T0.5309,0.8409 T0.5289,0.8391 T0.5261,0.8378 L0.5229,0.837 T0.5185,0.8362 T0.5133,0.8355 T0.5076,0.8349 T0.502,0.8341 Q0.4932,0.8324,0.4859,0.8324 Q0.4827,0.8324,0.4787,0.8328 T0.4731,0.8333 Q0.4707,0.8333,0.4683,0.8324 Q0.4482,0.825,0.4394,0.825 Q0.4369,0.825,0.4345,0.8254 Q0.4225,0.827,0.4153,0.827 Q0.4088,0.827,0.4064,0.8258 Q0.3976,0.8204,0.3751,0.8204 Q0.3703,0.8204,0.3667,0.8214 T0.3622,0.8225 Q0.3598,0.8225,0.3558,0.82 Q0.351,0.8175,0.3402,0.8167 T0.3177,0.8156 T0.3028,0.8146 L0.2956,0.8121 T0.2871,0.8094 T0.2771,0.8073 T0.2635,0.8063 Q0.261,0.8063,0.2586,0.8067 Q0.2378,0.8071,0.2273,0.8071 Q0.2072,0.8071,0.2024,0.8051 Q0.1976,0.8034,0.1932,0.8026 T0.1867,0.8013 T0.1847,0.8001 L0.1847,0.7993 Q0.1855,0.7984,0.1855,0.7978 T0.1859,0.7966 T0.1867,0.7959 T0.188,0.7955 T0.1896,0.7951 T0.1916,0.7949 T0.1944,0.7945 T0.1984,0.7941 T0.2032,0.7939 Q0.212,0.7926,0.2325,0.7918 T0.2562,0.7905 Q0.2691,0.7893,0.2787,0.7847 Q0.2835,0.7827,0.2968,0.7791 T0.3149,0.7756 Q0.3189,0.7756,0.3305,0.7733 T0.3446,0.771 L0.3454,0.771 Q0.3462,0.771,0.3498,0.7721 T0.3574,0.774 T0.3655,0.7748 Q0.3703,0.7748,0.3743,0.7731 T0.3823,0.7708 T0.3916,0.77 T0.3992,0.7694 Q0.4008,0.7694,0.4076,0.7688 T0.4205,0.7675 L0.4305,0.7665 Q0.4345,0.7657,0.4402,0.7617 T0.4458,0.7545 Q0.4458,0.7503,0.4353,0.7487 Q0.4297,0.7478,0.4209,0.7462 T0.4044,0.7433 T0.3904,0.7416 L0.3847,0.7416 Q0.3807,0.7416,0.3747,0.7422 T0.3663,0.7428 T0.3606,0.7424 Q0.3582,0.742,0.3562,0.7418 T0.3522,0.7412 T0.3482,0.7406 T0.3446,0.7401 T0.341,0.7397 T0.3373,0.7393 T0.3341,0.7391 L0.3293,0.7391 Q0.3277,0.7395,0.3253,0.7395 Q0.3205,0.7395,0.3052,0.7387 T0.2835,0.7379 Q0.2755,0.7379,0.253,0.7325 Q0.2506,0.7316,0.2462,0.731 T0.2382,0.7296 T0.2305,0.7271 T0.2181,0.7234 T0.2048,0.7196 T0.2,0.7155 Q0.2,0.7142,0.2016,0.713 Q0.208,0.7059,0.2285,0.6978 T0.2618,0.6898 Q0.2739,0.6898,0.2831,0.6848 T0.2956,0.6794 Q0.3028,0.6786,0.3289,0.6765 T0.3566,0.674 Q0.3582,0.674,0.3855,0.6723 T0.4406,0.6688 T0.4755,0.6653 Q0.5004,0.6607,0.5124,0.6599 L0.5165,0.6599 Q0.5213,0.6599,0.5277,0.6605 T0.5373,0.6611 Q0.543,0.6611,0.5494,0.6599 Q0.592,0.6524,0.6,0.6524 Q0.6064,0.6524,0.61,0.6499 T0.6161,0.6474 Q0.6177,0.6474,0.6261,0.6495 T0.6418,0.6516 L0.6482,0.6516 Q0.653,0.6512,0.6651,0.6506 T0.6876,0.6493 T0.7084,0.6477 T0.7229,0.645 Q0.7269,0.6437,0.7333,0.6437 Q0.7373,0.6437,0.7458,0.6443 T0.7574,0.645 Q0.7614,0.645,0.7631,0.6445 T0.7655,0.6441 Q0.7671,0.6441,0.7723,0.6448 T0.7823,0.6454 Q0.788,0.6454,0.7952,0.6445 Q0.8233,0.6408,0.8723,0.6367 Q0.9012,0.6342,0.9092,0.6342 L0.9165,0.6342 L0.9205,0.6342 Q0.9277,0.6342,0.9382,0.6323 T0.9526,0.6304 Q0.9534,0.6304,0.9594,0.6307 T0.9695,0.6309 Q0.9976,0.6309,0.9992,0.6234 Q1,0.6201,1,0.618 Q1,0.6089,0.9775,0.608 Q0.9703,0.6076,0.9582,0.6076 Q0.9518,0.6076,0.9394,0.6078 T0.9213,0.608 Q0.9036,0.608,0.8972,0.6072 Q0.894,0.6068,0.8871,0.6058 T0.8751,0.6039 T0.8627,0.6024 T0.8506,0.6018 L0.8474,0.6018 Q0.841,0.6022,0.8281,0.6041 T0.8112,0.606 Q0.8096,0.606,0.808,0.6056 Q0.7783,0.6002,0.7647,0.6002 Q0.7598,0.6002,0.7454,0.6006 T0.7261,0.601 Q0.7221,0.601,0.7145,0.6022 T0.7036,0.6035 Q0.6996,0.6035,0.6964,0.6022 Q0.6723,0.5902,0.6442,0.5902 Q0.6426,0.5902,0.6386,0.5904 T0.6337,0.5906 Q0.6273,0.5906,0.6249,0.5894 L0.6177,0.5856 T0.6116,0.5838 T0.6016,0.5825 T0.5855,0.5823 Q0.5719,0.5823,0.5574,0.5798 T0.5373,0.5774 L0.5341,0.5774 Q0.5293,0.5778,0.5213,0.5786 T0.51,0.5794 Q0.5036,0.5794,0.4988,0.5769 Q0.4932,0.574,0.4771,0.574 Q0.4723,0.574,0.4631,0.5745 T0.4498,0.5749 Q0.4418,0.5749,0.4394,0.5736 Q0.4353,0.5724,0.4305,0.5715 T0.4225,0.5707 T0.4145,0.5705 T0.4056,0.5699 Q0.4008,0.5691,0.398,0.5689 T0.394,0.5689 T0.3908,0.5686 T0.3855,0.5674 Q0.3831,0.567,0.3811,0.5662 T0.3779,0.5645 T0.3743,0.563 T0.3695,0.5624 Q0.3655,0.5624,0.3594,0.5635 T0.3494,0.5645 T0.3406,0.5635 T0.3325,0.5624 Q0.3309,0.5624,0.3301,0.5628 L0.3141,0.5628 Q0.2635,0.5628,0.2506,0.5612 Q0.2474,0.5608,0.2434,0.5608 Q0.2402,0.5608,0.2349,0.561 T0.2273,0.5612 Q0.2209,0.5612,0.2177,0.5595 Q0.2145,0.557,0.2145,0.5558 Q0.2169,0.5537,0.2345,0.5521 Q0.2876,0.5475,0.3028,0.5425 Q0.3068,0.5413,0.3149,0.5396 T0.3309,0.5367 T0.3478,0.5338 T0.3606,0.5309 Q0.3631,0.5305,0.3755,0.5259 T0.3968,0.5214 Q0.3992,0.5214,0.4024,0.5218 T0.4096,0.5222 Q0.4161,0.5222,0.4213,0.5209 T0.4313,0.5185 T0.4402,0.5172 Q0.4418,0.5168,0.447,0.5168 L0.4558,0.5168 T0.4639,0.5162 T0.4707,0.5141 T0.4731,0.5102 Q0.4731,0.5089,0.4723,0.5081 Q0.4699,0.5019,0.4627,0.4994 T0.4369,0.4965 Q0.4273,0.4961,0.4193,0.4946 T0.4048,0.4915 T0.3952,0.4894 Q0.392,0.4886,0.388,0.4886 Q0.3847,0.4886,0.3775,0.4892 T0.3647,0.4898 Q0.3598,0.4898,0.355,0.4894 Q0.3165,0.4861,0.3141,0.4853 Q0.2779,0.4774,0.2715,0.4774 Q0.2699,0.4774,0.2683,0.4776 T0.2627,0.4778 Q0.2498,0.4778,0.2281,0.4762 Q0.2241,0.4749,0.2233,0.4737 Q0.2249,0.472,0.2321,0.4708 Q0.2402,0.4695,0.2554,0.4695 L0.2675,0.4695 L0.2795,0.4695 Q0.294,0.4695,0.2996,0.4679 Q0.3141,0.4629,0.3373,0.4616 Q0.3414,0.4612,0.3466,0.4606 T0.3582,0.4589 T0.3687,0.4562 T0.3727,0.4525 Q0.3727,0.4509,0.3703,0.4492 Q0.3639,0.4455,0.3474,0.4419 T0.3213,0.4384 L0.3157,0.4384 L0.31,0.4384 Q0.294,0.4384,0.2859,0.4363 Q0.2795,0.4347,0.2691,0.4347 L0.2618,0.4347 L0.2546,0.4347 Q0.2458,0.4347,0.2394,0.4338 Q0.2257,0.4318,0.2193,0.4303 T0.2092,0.4266 T0.2052,0.4224 T0.2024,0.4154 T0.196,0.4052 Q0.1912,0.3994,0.1867,0.3949 T0.1807,0.3884 T0.1791,0.3849 Q0.1791,0.3824,0.1839,0.3745 Q0.1871,0.3687,0.1944,0.3637 T0.2072,0.3561 T0.2221,0.3501 T0.2321,0.3463 Q0.2353,0.3455,0.241,0.3445 T0.2522,0.3428 T0.2639,0.3411 T0.2731,0.3384 T0.2956,0.3351 T0.3197,0.3326 Q0.3213,0.3322,0.3237,0.3322 T0.3325,0.3331 T0.3414,0.3339 Q0.3478,0.3339,0.3518,0.3314 Q0.3606,0.3264,0.3703,0.3264 Q0.3775,0.3264,0.3847,0.3293 Q0.3888,0.331,0.396,0.331 Q0.4024,0.331,0.4116,0.3295 T0.4265,0.3266 T0.4414,0.3227 T0.4514,0.3202 Q0.4578,0.3181,0.4839,0.3152 T0.5112,0.3123 T0.5177,0.3119 T0.5285,0.3111 T0.5398,0.3096 T0.549,0.3065 T0.5526,0.3015 Q0.5526,0.2999,0.5518,0.2982 Q0.547,0.2903,0.5386,0.2883 T0.5165,0.2862 Q0.5116,0.2862,0.5056,0.2866 T0.4972,0.287 Q0.4884,0.287,0.4787,0.2833 Q0.4594,0.2758,0.4265,0.2758 Q0.4169,0.2758,0.4129,0.2766 Q0.4112,0.2771,0.4104,0.2771 Q0.4088,0.2771,0.4056,0.2748 T0.3968,0.2721 Q0.3695,0.2696,0.359,0.2659 Q0.355,0.2646,0.351,0.2646 T0.3426,0.2661 T0.3365,0.2675 T0.3333,0.2659 Q0.3277,0.2605,0.3116,0.2553 T0.2859,0.2501 L0.2843,0.2501 L0.2819,0.2501 Q0.2779,0.2501,0.2723,0.2493 T0.2586,0.2472 T0.2474,0.2455 Q0.1799,0.236,0.1719,0.236 Q0.1663,0.236,0.1606,0.235 T0.1502,0.2316 T0.1454,0.2265 Q0.1454,0.2223,0.1558,0.2173 Q0.1679,0.2115,0.1859,0.2092 T0.2185,0.207 T0.2353,0.2057 Q0.2369,0.2049,0.2502,0.2041 T0.2799,0.2022 T0.302,0.2007 Q0.3084,0.1999,0.3245,0.1954 T0.347,0.1908 Q0.3502,0.1908,0.3534,0.1916 Q0.3663,0.197,0.388,0.197 Q0.404,0.197,0.4088,0.1929 Q0.4096,0.192,0.4108,0.192 T0.4177,0.1945 T0.4277,0.197 T0.4369,0.1949 Q0.4442,0.1908,0.4843,0.1875 Q0.4892,0.1871,0.4968,0.1839 T0.5084,0.1808 L0.5108,0.1808 Q0.5213,0.1825,0.5454,0.1825 Q0.5823,0.1825,0.5992,0.1779 Q0.6096,0.1746,0.6217,0.1746 Q0.6249,0.1746,0.6309,0.1748 T0.6394,0.175 Q0.6434,0.175,0.6466,0.1746 Q0.6474,0.1746,0.6594,0.1738 T0.6787,0.1713 T0.6892,0.1659 Q0.6924,0.1634,0.6924,0.1593 Q0.6924,0.1547,0.6888,0.151 T0.6795,0.1472 Q0.6779,0.1472,0.6763,0.1477 Q0.6699,0.1493,0.6667,0.1493 Q0.661,0.1493,0.6506,0.1456 Q0.6329,0.1394,0.6129,0.1394 Q0.6048,0.1394,0.5992,0.1377 T0.5888,0.136 T0.5803,0.1377 T0.5751,0.1394 Q0.5711,0.1394,0.5639,0.1369 Q0.5365,0.1273,0.5116,0.1273 Q0.4876,0.1273,0.4667,0.1253 Q0.4627,0.1248,0.4542,0.1211 T0.4337,0.1174 L0.4305,0.1174 Q0.4217,0.1178,0.4153,0.119 T0.408,0.1203 Q0.4056,0.1203,0.4,0.117 Q0.3976,0.1153,0.396,0.1136 T0.3932,0.1112 T0.39,0.1099 T0.3847,0.1095 Q0.3799,0.1095,0.3687,0.1103 Q0.355,0.1112,0.3434,0.1141 T0.3301,0.117 Q0.3261,0.117,0.3229,0.1145 Q0.3181,0.1116,0.3052,0.1087 T0.2787,0.1043 T0.2546,0.1029 Q0.2506,0.1029,0.2474,0.1033 Q0.2418,0.1037,0.2349,0.1054 T0.2249,0.107 Q0.2225,0.107,0.2193,0.1066 Q0.2024,0.1024,0.1863,0.1024 Q0.1823,0.1024,0.1562,0.0971 T0.1269,0.0917 T0.1161,0.0896 T0.106,0.0854 Q0.1076,0.0846,0.11,0.0842 Q0.1173,0.0821,0.1261,0.0821 Q0.1301,0.0821,0.1369,0.0825 T0.1462,0.083 Q0.1494,0.083,0.151,0.0825 T0.1831,0.0813 T0.2201,0.0784 T0.243,0.074 T0.2667,0.0718 Q0.2707,0.0718,0.2755,0.0724 T0.2843,0.073 T0.2936,0.0724 T0.3024,0.0705 T0.3072,0.068 T0.3092,0.0657 T0.3108,0.0647 Q0.3116,0.0643,0.3133,0.0643 L0.3157,0.0643 L0.3181,0.0643 Q0.3446,0.0643,0.3446,0.0556 T0.3205,0.0469 L0.3189,0.0469 Q0.3157,0.0469,0.3157,0.0465 Q0.3084,0.0427,0.2835,0.0386 Q0.2739,0.0369,0.2675,0.0342 T0.2538,0.0299 Q0.249,0.029,0.245,0.029 T0.2378,0.0303 T0.2321,0.0315 Q0.2305,0.0315,0.2273,0.0307 Q0.2201,0.0286,0.2004,0.0272 T0.1775,0.0245 Q0.1735,0.0228,0.1663,0.0226 T0.1522,0.0197 T0.1345,0.0145 T0.1124,0.0079 Q0.0996,0.0033,0.0671,0.0044 T0.0297,0.0041 Q0.0169,0,0.0024,0.0017 Q0,0.0021,0,0.0037 Z M0.0064,0.9954 L0.0056,0.0058 Q0.0177,0.005,0.0281,0.0083 Q0.0345,0.01,0.0675,0.0089 T0.1108,0.012 Q0.1221,0.0162,0.1329,0.0187 T0.1498,0.0236 T0.1606,0.0268 T0.1691,0.0274 T0.1759,0.0286 Q0.1807,0.0303,0.2,0.0315 T0.2257,0.0348 Q0.2305,0.0361,0.2337,0.0361 Q0.2361,0.0361,0.2398,0.0348 T0.2466,0.0336 Q0.249,0.0336,0.2522,0.034 Q0.2586,0.0353,0.2655,0.0382 T0.2827,0.0427 Q0.3068,0.0469,0.3124,0.0502 Q0.3157,0.0523,0.3237,0.0523 L0.3277,0.0523 L0.3309,0.0523 Q0.3398,0.0523,0.3398,0.0556 Q0.3398,0.0581,0.3341,0.0587 T0.3205,0.0593 T0.3092,0.0603 T0.3036,0.0643 T0.2932,0.068 Q0.2884,0.0684,0.2843,0.0684 Q0.2811,0.0684,0.2763,0.0678 T0.2667,0.0672 Q0.2586,0.0672,0.2422,0.0697 T0.2177,0.0747 Q0.2137,0.0759,0.1831,0.0767 T0.1494,0.0784 L0.1474,0.0784 T0.1398,0.078 T0.1285,0.0776 Q0.1173,0.0776,0.1084,0.08 Q0.1004,0.0817,0.1004,0.0846 Q0.1004,0.0867,0.104,0.0888 T0.1124,0.0923 T0.1213,0.0948 T0.1269,0.0958 T0.155,0.1014 T0.1863,0.107 Q0.2016,0.107,0.2185,0.1107 Q0.2217,0.1116,0.2257,0.1116 Q0.2289,0.1116,0.2365,0.1099 T0.2482,0.1074 L0.2538,0.1074 Q0.2683,0.1074,0.2912,0.1107 T0.3197,0.1182 Q0.3245,0.1215,0.3301,0.1215 Q0.3333,0.1215,0.3454,0.1184 T0.3687,0.1145 Q0.3735,0.1141,0.3779,0.1139 T0.3843,0.1134 T0.3871,0.1132 Q0.3896,0.1132,0.39,0.1136 T0.392,0.1161 T0.3968,0.1203 Q0.404,0.1248,0.408,0.1248 Q0.4096,0.1248,0.4165,0.1234 T0.4305,0.1215 L0.4337,0.1215 Q0.4442,0.1215,0.4518,0.1251 T0.4659,0.1294 Q0.4876,0.1319,0.5116,0.1319 T0.5622,0.141 Q0.5703,0.1439,0.5751,0.1439 Q0.5791,0.1439,0.5831,0.1423 T0.5888,0.1406 Q0.592,0.1406,0.5944,0.1412 T0.6012,0.1427 T0.6129,0.1435 Q0.6313,0.1435,0.649,0.1497 Q0.6602,0.1535,0.6667,0.1535 Q0.6715,0.1535,0.6779,0.1522 Q0.6787,0.1518,0.6795,0.1518 Q0.6827,0.1518,0.6847,0.1541 T0.6867,0.1593 Q0.6867,0.1618,0.6851,0.1634 Q0.6835,0.1655,0.6775,0.1667 T0.6598,0.169 T0.6458,0.1705 T0.6402,0.1709 Q0.6378,0.1709,0.6321,0.1705 T0.6225,0.1701 Q0.6096,0.1701,0.5968,0.1738 Q0.5823,0.1779,0.5446,0.1779 Q0.5205,0.1779,0.5116,0.1767 Q0.51,0.1763,0.5084,0.1763 Q0.5028,0.1763,0.4944,0.1796 T0.4835,0.1829 L0.4771,0.1833 T0.4659,0.1844 L0.4546,0.1858 T0.443,0.1881 T0.4337,0.1912 Q0.4321,0.1916,0.4305,0.1916 Q0.4273,0.1916,0.4209,0.1895 T0.412,0.1875 Q0.408,0.1875,0.4056,0.19 Q0.4024,0.1925,0.388,0.1925 Q0.3663,0.1925,0.3558,0.1879 Q0.3518,0.1862,0.3462,0.1862 Q0.3373,0.1862,0.3213,0.191 T0.3012,0.1962 Q0.2964,0.1966,0.2799,0.1976 T0.2494,0.1997 T0.2313,0.2024 L0.2313,0.2024 L0.2293,0.2024 L0.2261,0.2024 L0.2217,0.2024 Q0.204,0.2024,0.1851,0.2047 T0.1526,0.2136 Q0.1406,0.2198,0.1406,0.226 Q0.1406,0.2319,0.1518,0.2362 T0.1719,0.2406 Q0.1791,0.2406,0.2466,0.2497 Q0.2498,0.2501,0.2574,0.2516 T0.2711,0.2538 T0.2819,0.2547 L0.2851,0.2547 Q0.2851,0.2543,0.2859,0.2543 Q0.294,0.2543,0.3096,0.2592 T0.3285,0.2684 Q0.3317,0.2721,0.3373,0.2721 Q0.3406,0.2721,0.3462,0.2708 T0.3542,0.2696 Q0.3558,0.2696,0.3574,0.27 Q0.3679,0.2737,0.3968,0.2762 Q0.3984,0.2766,0.4004,0.2779 L0.4044,0.2804 T0.4096,0.2816 Q0.412,0.2816,0.4145,0.2808 Q0.4177,0.2804,0.4249,0.2804 Q0.4586,0.2804,0.4763,0.287 Q0.4867,0.2912,0.4972,0.2912 Q0.5004,0.2912,0.5064,0.2908 T0.5165,0.2903 Q0.5293,0.2903,0.5361,0.2922 T0.547,0.3003 L0.547,0.3011 Q0.547,0.3036,0.5414,0.3049 T0.5249,0.3067 T0.51,0.3082 Q0.5092,0.3082,0.4831,0.3111 T0.4498,0.3161 Q0.408,0.3264,0.3952,0.3264 Q0.3896,0.3264,0.3863,0.3252 Q0.3783,0.3223,0.3703,0.3223 Q0.359,0.3223,0.3494,0.3277 Q0.347,0.3293,0.343,0.3293 Q0.3414,0.3293,0.3353,0.3285 T0.3253,0.3277 T0.3181,0.3285 Q0.3149,0.3289,0.2952,0.3306 T0.2699,0.3347 Q0.2675,0.3364,0.2598,0.3372 T0.2434,0.3395 T0.2297,0.3426 L0.2205,0.3461 T0.2048,0.3523 T0.1908,0.3606 T0.1791,0.3725 Q0.1743,0.3803,0.1743,0.3845 Q0.1743,0.3874,0.1763,0.3901 T0.1827,0.3976 T0.1912,0.4073 T0.198,0.4189 T0.2032,0.4276 T0.2137,0.4326 T0.2386,0.438 Q0.2458,0.4392,0.2562,0.4392 L0.2639,0.4392 L0.2699,0.4392 Q0.2795,0.4392,0.2843,0.4405 Q0.2932,0.443,0.3092,0.443 L0.3157,0.443 L0.3213,0.443 Q0.3293,0.443,0.3458,0.4463 T0.3671,0.4525 Q0.3598,0.4558,0.3373,0.4571 Q0.3124,0.4587,0.298,0.4637 Q0.294,0.465,0.2811,0.465 L0.2703,0.465 L0.2586,0.465 Q0.241,0.465,0.2305,0.4666 Q0.2185,0.4687,0.2185,0.4728 Q0.2185,0.4745,0.2205,0.4764 T0.2241,0.4791 L0.2265,0.4803 L0.2273,0.4803 Q0.2506,0.4824,0.261,0.4824 Q0.2675,0.4824,0.2699,0.482 Q0.2699,0.4815,0.2707,0.4815 Q0.2771,0.4815,0.3124,0.4898 Q0.3173,0.4907,0.3229,0.4913 T0.3386,0.4925 T0.3542,0.4936 T0.3663,0.494 Q0.3711,0.494,0.3787,0.4936 T0.3888,0.4932 Q0.392,0.4932,0.3944,0.4936 T0.4032,0.4959 T0.4181,0.499 T0.4369,0.5006 Q0.449,0.501,0.455,0.5021 T0.4639,0.5048 T0.4675,0.5093 L0.4675,0.5097 Q0.4675,0.5106,0.4663,0.511 T0.4622,0.5116 L0.4566,0.512 T0.4486,0.5124 T0.4402,0.5127 Q0.4345,0.5131,0.4257,0.5153 T0.4096,0.5176 Q0.4064,0.5176,0.4024,0.5172 L0.3968,0.5172 Q0.3863,0.5172,0.3731,0.522 T0.359,0.5268 Q0.355,0.528,0.3317,0.5321 T0.3004,0.5388 Q0.2867,0.5433,0.2337,0.5479 Q0.2096,0.55,0.2096,0.5562 Q0.2096,0.5591,0.2145,0.5628 Q0.2193,0.5662,0.2289,0.5662 Q0.2313,0.5662,0.2373,0.5657 T0.2458,0.5653 L0.2498,0.5653 Q0.2635,0.5674,0.3124,0.5674 Q0.3261,0.5674,0.3301,0.567 L0.3317,0.567 Q0.3341,0.567,0.3394,0.568 T0.3486,0.5691 Q0.3542,0.5691,0.3606,0.5678 T0.3699,0.5666 T0.3759,0.5686 T0.3839,0.5718 T0.3908,0.573 T0.3964,0.5734 T0.4048,0.5742 T0.4165,0.5751 T0.4277,0.5757 T0.4369,0.5778 Q0.4426,0.5794,0.4538,0.5794 Q0.4586,0.5794,0.4679,0.5792 T0.4811,0.579 Q0.4924,0.579,0.4956,0.5807 Q0.502,0.584,0.5108,0.584 L0.5137,0.584 T0.5173,0.5838 L0.5205,0.5834 L0.5237,0.583 L0.5269,0.5825 T0.5305,0.5821 T0.5341,0.5819 L0.5365,0.5819 Q0.5414,0.5819,0.5562,0.5842 T0.5855,0.5865 Q0.5912,0.5865,0.5948,0.5867 T0.6012,0.5869 T0.6064,0.5873 T0.61,0.5877 T0.6133,0.5886 T0.6157,0.5896 L0.6185,0.591 T0.6217,0.5931 Q0.6265,0.5952,0.6369,0.5952 L0.6418,0.5952 L0.6466,0.5952 Q0.6723,0.5952,0.6932,0.606 Q0.698,0.608,0.7044,0.608 Q0.7084,0.608,0.7161,0.6068 T0.7261,0.6056 Q0.7309,0.6056,0.7454,0.6051 T0.7647,0.6047 Q0.7775,0.6047,0.8072,0.6101 Q0.8096,0.6105,0.812,0.6105 Q0.8177,0.6105,0.8297,0.6085 T0.8474,0.606 L0.8506,0.606 Q0.8562,0.606,0.8647,0.607 T0.8831,0.6095 T0.8964,0.6118 Q0.9036,0.6122,0.9221,0.6122 L0.9406,0.6122 L0.959,0.6122 L0.9767,0.6122 Q0.9952,0.613,0.9952,0.6172 Q0.9952,0.6176,0.9944,0.6221 Q0.9936,0.6259,0.9574,0.6259 L0.955,0.6259 L0.9526,0.6259 Q0.9478,0.6259,0.9373,0.628 T0.9205,0.63 L0.9173,0.63 Q0.9133,0.6296,0.9084,0.6296 Q0.9004,0.6296,0.8715,0.6321 Q0.8233,0.6367,0.7944,0.64 Q0.7888,0.6408,0.7839,0.6408 T0.7739,0.6402 T0.7671,0.6396 Q0.7639,0.6396,0.7622,0.64 Q0.7614,0.6404,0.759,0.6404 Q0.7574,0.6404,0.749,0.6398 T0.7357,0.6392 Q0.7261,0.6392,0.7213,0.6412 Q0.7173,0.6425,0.7032,0.6437 T0.6711,0.6458 T0.6474,0.647 Q0.645,0.6474,0.6418,0.6474 Q0.6353,0.6474,0.6277,0.6454 T0.6161,0.6433 Q0.6104,0.6433,0.6072,0.6456 T0.6,0.6479 Q0.5912,0.6479,0.5486,0.6557 Q0.5422,0.657,0.5373,0.657 Q0.5349,0.657,0.5289,0.6564 T0.5173,0.6557 L0.5124,0.6557 Q0.4996,0.6562,0.4739,0.6611 Q0.4675,0.6624,0.4398,0.6645 T0.3851,0.668 T0.3558,0.6698 Q0.355,0.6698,0.3285,0.6721 T0.2948,0.6752 Q0.2892,0.6761,0.2843,0.6786 T0.2747,0.6831 T0.2618,0.6852 Q0.253,0.6852,0.2394,0.6893 T0.2141,0.6993 T0.1968,0.7105 Q0.1944,0.713,0.1944,0.7155 Q0.1944,0.7196,0.2012,0.7229 T0.2177,0.7285 T0.2281,0.7308 Q0.2321,0.7329,0.2365,0.7339 T0.245,0.7356 T0.2514,0.7366 Q0.2522,0.737,0.2554,0.7379 T0.2614,0.7393 T0.2679,0.7406 T0.2755,0.7416 T0.2835,0.742 Q0.29,0.742,0.3048,0.7428 T0.3253,0.7437 L0.3301,0.7437 L0.3333,0.7437 Q0.3341,0.7437,0.3598,0.7466 Q0.3639,0.7474,0.3671,0.7474 T0.3759,0.7466 T0.3855,0.7457 Q0.388,0.7457,0.3904,0.7462 Q0.3984,0.7466,0.4137,0.7495 T0.4349,0.7532 T0.441,0.7557 Q0.441,0.7599,0.4289,0.7619 Q0.4257,0.7628,0.4197,0.7634 T0.4072,0.7644 T0.3984,0.7652 Q0.3968,0.7652,0.3912,0.7655 T0.3811,0.7665 T0.3719,0.7694 Q0.3695,0.7702,0.3655,0.7702 T0.3546,0.7686 T0.3462,0.7665 L0.3446,0.7665 Q0.3406,0.7665,0.3293,0.769 T0.3149,0.7715 Q0.3084,0.7715,0.2952,0.7748 T0.2763,0.781 Q0.2675,0.7847,0.2554,0.7864 Q0.253,0.7864,0.2325,0.7874 T0.2024,0.7893 Q0.2008,0.7893,0.1984,0.7897 T0.1948,0.7901 T0.1916,0.7903 T0.1888,0.7908 T0.1867,0.7914 T0.1847,0.7922 L0.1831,0.793 T0.1819,0.7943 L0.1811,0.7959 T0.1799,0.7976 Q0.1791,0.7993,0.1791,0.8001 Q0.1791,0.8034,0.1831,0.8051 T0.1932,0.8078 T0.2,0.8092 Q0.2072,0.8117,0.2257,0.8117 Q0.2337,0.8117,0.2586,0.8109 L0.2635,0.8109 Q0.2707,0.8109,0.2767,0.8117 T0.2859,0.8136 T0.2936,0.8163 T0.3012,0.8187 Q0.3068,0.82,0.3277,0.8206 T0.3526,0.8237 Q0.3582,0.8266,0.3622,0.8266 Q0.3647,0.8266,0.3687,0.8258 T0.3751,0.825 Q0.396,0.825,0.404,0.8291 Q0.408,0.8316,0.4161,0.8316 Q0.4217,0.8316,0.4353,0.8295 L0.4394,0.8295 Q0.4466,0.8295,0.4659,0.8366 Q0.4699,0.8378,0.4747,0.8378 Q0.4763,0.8378,0.4807,0.8374 T0.4884,0.837 Q0.494,0.837,0.5004,0.8382 Q0.5052,0.8391,0.5124,0.8399 Q0.5221,0.8411,0.5249,0.8422 T0.5277,0.8461 Q0.5277,0.8482,0.5233,0.849 T0.5112,0.8501 T0.4996,0.8511 Q0.4964,0.8519,0.4851,0.8523 T0.4659,0.8544 Q0.4578,0.8557,0.4402,0.8557 L0.4349,0.8557 L0.4297,0.8557 L0.4209,0.8557 Q0.408,0.8565,0.3867,0.8571 T0.3614,0.8582 Q0.3317,0.8611,0.3237,0.8611 L0.3225,0.8611 L0.3213,0.8611 Q0.2972,0.8611,0.2972,0.8681 Q0.2972,0.8714,0.3008,0.8747 T0.3044,0.8805 Q0.3044,0.881,0.3036,0.8814 Q0.3012,0.8839,0.2851,0.8839 Q0.2779,0.8839,0.2739,0.883 Q0.2723,0.8826,0.2699,0.8826 T0.2643,0.8835 T0.259,0.8853 T0.2542,0.8876 T0.249,0.8893 Q0.2386,0.8922,0.2056,0.8946 Q0.2016,0.8951,0.1916,0.898 T0.1703,0.9009 Q0.1518,0.9009,0.1337,0.9044 T0.1149,0.9146 L0.1149,0.9158 Q0.1149,0.9175,0.1157,0.9187 T0.1173,0.921 T0.1201,0.9226 T0.1233,0.9237 T0.1269,0.9245 L0.1305,0.9251 T0.1337,0.9255 L0.1357,0.9258 Q0.139,0.9262,0.1446,0.9262 T0.1542,0.9266 T0.1598,0.9282 Q0.1614,0.9303,0.1647,0.9314 T0.1739,0.9328 T0.1815,0.9336 Q0.1863,0.9345,0.1976,0.9372 T0.2145,0.9415 Q0.2225,0.9432,0.2285,0.9467 T0.2378,0.9515 Q0.2426,0.9531,0.2514,0.9531 Q0.2538,0.9531,0.2602,0.9529 T0.2707,0.9527 Q0.2763,0.9527,0.2815,0.9531 T0.2867,0.9569 T0.2811,0.9614 Q0.2434,0.9627,0.2329,0.9652 Q0.2249,0.9672,0.2241,0.9672 L0.2096,0.9668 L0.2056,0.9668 Q0.2,0.9668,0.196,0.9672 T0.1884,0.9687 T0.1815,0.9708 T0.1731,0.9737 T0.1639,0.9772 Q0.1518,0.9805,0.1285,0.9805 L0.1253,0.9805 Q0.1124,0.9805,0.1076,0.9818 Q0.1012,0.983,0.0831,0.9876 T0.0594,0.9934 Q0.049,0.9954,0.0064,0.9954 Z M0.0032,0.9979 L0.0024,0.0037 Q0.0161,0.0021,0.0289,0.0062 Q0.0337,0.0075,0.0671,0.0066 T0.1116,0.01 T0.1337,0.0166 T0.151,0.022 Q0.1582,0.0249,0.1659,0.0251 T0.1767,0.0265 Q0.1807,0.0278,0.2,0.0292 T0.2265,0.0328 Q0.2305,0.034,0.2329,0.034 T0.239,0.0326 T0.2458,0.0311 T0.253,0.0319 Q0.2578,0.0332,0.2614,0.0342 T0.2667,0.0363 T0.2723,0.0384 T0.2827,0.0406 Q0.3084,0.0448,0.3141,0.0485 Q0.3149,0.0494,0.3225,0.0494 T0.3361,0.0504 T0.3422,0.0554 T0.3357,0.0606 T0.3205,0.0618 T0.31,0.0626 Q0.3092,0.0626,0.3056,0.0659 T0.2932,0.0701 Q0.2884,0.0709,0.2843,0.0709 Q0.2811,0.0709,0.2759,0.0701 T0.2667,0.0693 Q0.2586,0.0693,0.2422,0.0718 T0.2193,0.0763 Q0.2137,0.0784,0.1831,0.079 T0.1502,0.0805 Q0.1494,0.0809,0.147,0.0809 Q0.1454,0.0809,0.1386,0.0803 T0.1277,0.0796 Q0.1173,0.0796,0.1092,0.0821 Q0.1036,0.0834,0.1036,0.0854 Q0.1036,0.0879,0.1129,0.0908 T0.1269,0.0937 Q0.1293,0.0937,0.1558,0.0991 T0.1863,0.1045 Q0.2016,0.1045,0.2193,0.1087 Q0.2225,0.1091,0.2249,0.1091 Q0.2289,0.1091,0.2357,0.1076 T0.2482,0.1054 Q0.2506,0.1049,0.2546,0.1049 Q0.2699,0.1049,0.2924,0.1085 T0.3213,0.1165 Q0.3253,0.119,0.3301,0.119 Q0.3325,0.119,0.3446,0.1161 T0.3687,0.1124 Q0.3831,0.1112,0.3863,0.1112 T0.3908,0.1118 T0.3936,0.1145 T0.3984,0.1186 Q0.4048,0.1228,0.408,0.1228 Q0.4096,0.1228,0.4161,0.1213 T0.4305,0.1195 L0.4337,0.1195 Q0.4426,0.1195,0.4474,0.1211 T0.4566,0.1246 T0.4667,0.1273 Q0.4876,0.1298,0.5116,0.1298 Q0.5365,0.1298,0.5631,0.1389 Q0.5703,0.1414,0.5751,0.1414 Q0.5783,0.1414,0.5819,0.1398 T0.5888,0.1381 Q0.5928,0.1381,0.5984,0.1398 T0.6129,0.1414 Q0.6321,0.1414,0.6498,0.1477 Q0.661,0.1514,0.6667,0.1514 Q0.6707,0.1514,0.6771,0.1501 Q0.6787,0.1497,0.6795,0.1497 Q0.6835,0.1497,0.6863,0.1526 T0.6892,0.1593 Q0.6892,0.1626,0.6876,0.1647 Q0.6851,0.1672,0.6799,0.1686 T0.6695,0.1705 T0.6566,0.1715 T0.6458,0.1725 Q0.6434,0.173,0.6402,0.173 Q0.6378,0.173,0.6317,0.1727 T0.6225,0.1725 Q0.6096,0.1725,0.5984,0.1759 Q0.5823,0.1804,0.5454,0.1804 Q0.5205,0.1804,0.5116,0.1788 L0.5084,0.1788 Q0.5036,0.1788,0.4956,0.1819 T0.4843,0.185 Q0.4434,0.1887,0.4353,0.1929 Q0.4321,0.1945,0.4289,0.1945 T0.4197,0.1922 T0.4112,0.19 T0.4072,0.1912 Q0.4032,0.1949,0.388,0.1949 Q0.3663,0.1949,0.3542,0.19 Q0.351,0.1883,0.3462,0.1883 Q0.3406,0.1883,0.3321,0.1906 T0.3153,0.1954 T0.302,0.1983 Q0.2972,0.1991,0.2859,0.1997 T0.2643,0.201 T0.245,0.2024 T0.2337,0.2041 Q0.2321,0.2045,0.2181,0.2045 T0.1851,0.207 T0.1542,0.2157 Q0.143,0.2211,0.143,0.226 Q0.143,0.2314,0.153,0.2348 T0.1719,0.2381 Q0.1791,0.2381,0.2474,0.2476 Q0.2506,0.248,0.2558,0.2489 T0.2651,0.2505 T0.2739,0.252 T0.2819,0.2526 Q0.2835,0.2526,0.2851,0.2522 L0.2859,0.2522 Q0.2948,0.2522,0.3104,0.2574 T0.3309,0.2671 Q0.3333,0.2696,0.3365,0.2696 Q0.339,0.2696,0.3442,0.2684 T0.3526,0.2671 T0.3582,0.2679 Q0.3687,0.2717,0.3968,0.2742 Q0.4,0.2746,0.4036,0.2771 T0.4096,0.2796 Q0.4112,0.2796,0.4137,0.2787 Q0.4169,0.2779,0.4257,0.2779 Q0.4594,0.2779,0.4779,0.2849 Q0.4876,0.2891,0.4972,0.2891 Q0.4996,0.2891,0.506,0.2887 T0.5165,0.2883 Q0.5253,0.2883,0.5305,0.2889 T0.541,0.292 T0.5494,0.299 L0.5494,0.3015 Q0.5494,0.3036,0.5466,0.3051 T0.5386,0.3073 T0.5285,0.3086 T0.5181,0.3094 T0.5108,0.3102 Q0.5068,0.3107,0.494,0.3121 L0.4683,0.315 T0.4506,0.3181 Q0.449,0.3181,0.4426,0.32 T0.4313,0.3229 T0.4197,0.3256 T0.4064,0.3281 T0.3952,0.3289 Q0.3888,0.3289,0.3855,0.3273 Q0.3783,0.3243,0.3703,0.3243 Q0.3598,0.3243,0.351,0.3297 Q0.3478,0.3314,0.3422,0.3314 Q0.3398,0.3314,0.3337,0.3306 T0.3245,0.3297 T0.3189,0.3306 Q0.3149,0.3314,0.2956,0.3328 T0.2715,0.3368 Q0.2691,0.338,0.2635,0.3391 T0.2522,0.3407 T0.2406,0.3424 T0.2313,0.3447 Q0.2305,0.3447,0.2213,0.348 T0.206,0.354 T0.1924,0.3621 T0.1815,0.3733 Q0.1767,0.3816,0.1767,0.3849 Q0.1767,0.387,0.1783,0.3893 T0.1847,0.3961 T0.1936,0.4063 T0.2004,0.4181 T0.2052,0.4264 T0.2145,0.4309 T0.2386,0.4359 Q0.2458,0.4372,0.2554,0.4372 Q0.2578,0.4372,0.2627,0.437 T0.2699,0.4367 Q0.2795,0.4367,0.2851,0.4384 Q0.294,0.4409,0.3092,0.4409 Q0.3116,0.4409,0.3157,0.4407 T0.3213,0.4405 Q0.3301,0.4405,0.3466,0.444 T0.3687,0.4509 Q0.3703,0.4517,0.3703,0.4525 Q0.3703,0.4575,0.3373,0.4596 Q0.3133,0.4608,0.2988,0.4658 Q0.294,0.4674,0.2803,0.4674 Q0.2763,0.4674,0.2687,0.4672 T0.257,0.467 Q0.2402,0.467,0.2313,0.4687 Q0.2209,0.4708,0.2209,0.4737 Q0.2209,0.4741,0.2213,0.4749 T0.2229,0.4764 L0.2249,0.4774 T0.2265,0.4778 L0.2273,0.4782 Q0.2498,0.4803,0.2618,0.4803 Q0.2667,0.4803,0.2691,0.4799 Q0.2699,0.4795,0.2715,0.4795 Q0.2779,0.4795,0.3133,0.4873 Q0.3181,0.4886,0.3233,0.4892 T0.3386,0.4905 T0.3542,0.4915 T0.3655,0.4919 Q0.3703,0.4919,0.3779,0.4915 T0.3888,0.4911 T0.3952,0.4915 Q0.3976,0.4919,0.4008,0.4927 L0.4072,0.4944 T0.4149,0.4961 T0.4249,0.4975 T0.4369,0.4985 Q0.449,0.499,0.4554,0.5 T0.4651,0.5031 T0.4699,0.5085 Q0.4707,0.5093,0.4707,0.5097 Q0.4707,0.5114,0.4687,0.5124 T0.4631,0.5139 T0.4562,0.5145 T0.4478,0.5147 L0.4402,0.5147 Q0.4353,0.5151,0.4265,0.5174 T0.4096,0.5197 L0.4024,0.5197 Q0.4,0.5193,0.3968,0.5193 Q0.3896,0.5193,0.3831,0.5209 T0.3703,0.5253 T0.3598,0.5288 Q0.3558,0.5301,0.3321,0.5342 T0.302,0.5409 Q0.2876,0.5454,0.2337,0.55 Q0.2112,0.5521,0.2112,0.5558 Q0.2112,0.5574,0.2161,0.5612 Q0.2201,0.5637,0.2281,0.5637 Q0.2305,0.5637,0.2361,0.5633 T0.2442,0.5628 Q0.2474,0.5628,0.2498,0.5633 Q0.2635,0.5653,0.3133,0.5653 Q0.3261,0.5653,0.3301,0.5649 L0.3325,0.5649 Q0.3349,0.5649,0.3402,0.5657 T0.3494,0.5666 Q0.3542,0.5666,0.3598,0.5657 Q0.3663,0.5645,0.3695,0.5645 Q0.3735,0.5645,0.3775,0.5666 T0.3847,0.5695 Q0.3888,0.5707,0.3912,0.5709 T0.3968,0.5711 T0.4048,0.572 Q0.4096,0.5724,0.4165,0.5726 T0.4281,0.5734 T0.4378,0.5757 Q0.4418,0.5774,0.4522,0.5774 Q0.4562,0.5774,0.4655,0.5769 T0.4795,0.5765 Q0.4932,0.5765,0.4972,0.579 Q0.5028,0.5819,0.51,0.5819 Q0.5141,0.5819,0.5221,0.5809 T0.5341,0.5798 L0.5373,0.5798 Q0.5422,0.5798,0.557,0.5821 T0.5855,0.5844 L0.5936,0.5844 L0.5992,0.5844 T0.604,0.5848 T0.6076,0.5852 T0.6108,0.5859 T0.6137,0.5865 T0.6161,0.5873 T0.6181,0.5881 T0.6209,0.5896 L0.6233,0.591 Q0.6265,0.5927,0.6353,0.5927 L0.6402,0.5927 L0.645,0.5927 Q0.6723,0.5927,0.6948,0.6039 Q0.6988,0.606,0.7036,0.606 Q0.7076,0.606,0.7153,0.6045 T0.7261,0.6031 Q0.7309,0.6031,0.7454,0.6027 T0.7647,0.6022 Q0.7783,0.6022,0.808,0.608 L0.812,0.608 Q0.8169,0.608,0.8293,0.6062 T0.8474,0.6039 L0.8506,0.6039 Q0.857,0.6039,0.8655,0.6049 T0.8835,0.6074 T0.8972,0.6093 Q0.9036,0.6101,0.9213,0.6101 L0.9398,0.6101 L0.959,0.6101 L0.9767,0.6101 Q0.9976,0.6109,0.9976,0.6176 Q0.9976,0.6188,0.9968,0.6226 Q0.9952,0.6284,0.9671,0.6284 L0.959,0.6284 L0.9526,0.6284 Q0.9486,0.6284,0.9382,0.6302 T0.9205,0.6321 L0.9173,0.6321 Q0.9133,0.6317,0.9092,0.6317 Q0.9012,0.6317,0.8715,0.6346 Q0.8233,0.6387,0.7944,0.6421 Q0.7888,0.6429,0.7831,0.6429 Q0.7783,0.6429,0.7731,0.6425 T0.7663,0.6421 L0.7622,0.6421 Q0.7614,0.6425,0.7586,0.6425 T0.7474,0.6421 T0.7349,0.6416 Q0.7261,0.6416,0.7221,0.6429 Q0.7173,0.645,0.7032,0.646 T0.6711,0.6479 T0.6482,0.6491 Q0.645,0.6495,0.6418,0.6495 Q0.6353,0.6495,0.6273,0.6474 T0.6161,0.6454 Q0.612,0.6454,0.6088,0.6477 T0.6,0.6499 Q0.5912,0.6499,0.5494,0.6578 Q0.5422,0.6591,0.5373,0.6591 Q0.5341,0.6591,0.5281,0.6584 T0.5173,0.6578 L0.5124,0.6578 Q0.5004,0.6582,0.4747,0.6632 Q0.4675,0.6649,0.4398,0.6667 T0.3851,0.6703 T0.3566,0.6719 Q0.3534,0.6723,0.3406,0.6734 T0.3141,0.6757 T0.2948,0.6773 Q0.2908,0.6781,0.2819,0.6829 T0.2618,0.6877 Q0.2482,0.6877,0.2273,0.6958 T0.1992,0.7117 Q0.1976,0.7138,0.1976,0.7155 Q0.1976,0.7188,0.2032,0.7213 T0.2181,0.7258 T0.2289,0.7292 Q0.2337,0.7308,0.2378,0.7316 L0.2458,0.7333 T0.2522,0.7345 Q0.2747,0.7399,0.2835,0.7399 Q0.29,0.7399,0.3048,0.7408 T0.3253,0.7416 Q0.3277,0.7416,0.3297,0.7414 T0.3341,0.7412 L0.3598,0.7445 Q0.3639,0.7449,0.3663,0.7449 Q0.3695,0.7449,0.3751,0.7443 T0.3855,0.7437 L0.3904,0.7437 Q0.3984,0.7441,0.4141,0.7472 T0.4353,0.7507 Q0.4434,0.752,0.4434,0.7553 Q0.4434,0.7578,0.439,0.7605 T0.4297,0.764 Q0.4257,0.7648,0.4201,0.7655 T0.4076,0.7665 T0.3984,0.7673 Q0.3968,0.7673,0.3912,0.7677 T0.3815,0.7688 T0.3735,0.771 T0.3655,0.7727 Q0.3606,0.7727,0.3534,0.7708 T0.3458,0.769 L0.3446,0.769 Q0.3414,0.769,0.3297,0.7713 T0.3149,0.7735 Q0.3092,0.7735,0.296,0.7771 T0.2771,0.7831 Q0.2683,0.7872,0.2554,0.7885 Q0.253,0.7889,0.2325,0.7897 T0.2032,0.7914 Q0.2008,0.7918,0.198,0.792 T0.194,0.7924 T0.1912,0.7928 T0.1888,0.793 T0.1867,0.7934 T0.1851,0.7943 T0.1843,0.7953 T0.1835,0.7968 T0.1823,0.7984 T0.1815,0.8001 Q0.1815,0.8022,0.1847,0.8032 T0.1932,0.8053 T0.2008,0.8071 Q0.2072,0.8092,0.2265,0.8092 Q0.2361,0.8092,0.2586,0.8088 L0.2635,0.8088 Q0.2731,0.8088,0.2795,0.8098 T0.2928,0.8134 T0.302,0.8167 Q0.306,0.8179,0.3277,0.8183 T0.3542,0.8221 Q0.359,0.8246,0.3622,0.8246 Q0.3639,0.8246,0.3675,0.8237 T0.3751,0.8229 Q0.3968,0.8229,0.4048,0.8275 Q0.4088,0.8291,0.4161,0.8291 Q0.4225,0.8291,0.4353,0.8275 Q0.4369,0.827,0.4394,0.827 Q0.4474,0.827,0.4675,0.8345 Q0.4707,0.8358,0.4739,0.8358 Q0.4755,0.8358,0.4799,0.8353 T0.4876,0.8349 Q0.494,0.8349,0.5012,0.8362 L0.5076,0.837 T0.5133,0.8376 T0.5181,0.8382 T0.5221,0.8391 L0.5253,0.8399 T0.5277,0.8409 L0.5293,0.8422 T0.5301,0.8438 L0.5301,0.8461 Q0.5301,0.8499,0.5249,0.8511 T0.5112,0.8526 T0.5004,0.8532 Q0.4964,0.854,0.4851,0.8546 T0.4667,0.8565 Q0.4578,0.8577,0.441,0.8577 L0.4345,0.8577 L0.4289,0.8577 L0.4209,0.8577 Q0.4153,0.8582,0.4088,0.8586 T0.3968,0.8592 T0.3855,0.8594 T0.3755,0.8596 T0.3675,0.86 T0.3622,0.8602 Q0.3317,0.8635,0.3237,0.8635 Q0.2996,0.8635,0.2996,0.8681 Q0.2996,0.8698,0.3032,0.8733 T0.3068,0.8797 L0.3068,0.8822 Q0.3052,0.8859,0.2859,0.8859 Q0.2787,0.8859,0.2739,0.8851 L0.2699,0.8851 Q0.2659,0.8851,0.259,0.888 T0.2498,0.8913 Q0.2394,0.8946,0.2056,0.8971 Q0.2032,0.8971,0.1928,0.9002 T0.1703,0.9034 Q0.1526,0.9034,0.1353,0.9067 T0.1173,0.915 L0.1173,0.9158 Q0.1173,0.9166,0.1177,0.9175 T0.1189,0.9191 T0.1205,0.9204 T0.1229,0.9212 T0.1257,0.922 T0.1285,0.9226 T0.1309,0.9231 T0.1337,0.9235 T0.1365,0.9237 L0.1446,0.9237 T0.1554,0.9243 T0.1614,0.9268 T0.1659,0.9293 T0.1743,0.9303 T0.1823,0.9316 Q0.1863,0.932,0.1912,0.9332 T0.2028,0.9361 T0.2153,0.939 Q0.2233,0.9411,0.2297,0.9448 T0.2386,0.9494 Q0.2426,0.9506,0.2506,0.9506 Q0.253,0.9506,0.2594,0.9504 T0.2699,0.9502 Q0.2763,0.9502,0.2819,0.9511 Q0.2851,0.9511,0.2871,0.9529 T0.2892,0.9573 Q0.2892,0.9627,0.2811,0.9635 Q0.2434,0.9652,0.2337,0.9672 Q0.2257,0.9693,0.2241,0.9693 Q0.2217,0.9693,0.2096,0.9689 L0.2056,0.9689 Q0.1976,0.9689,0.1924,0.9699 T0.1787,0.9741 L0.1647,0.9793 Q0.1518,0.983,0.1285,0.983 L0.1261,0.983 L0.1237,0.983 Q0.1124,0.983,0.1076,0.9838 Q0.102,0.9851,0.0839,0.9896 T0.0602,0.9954 T0.0406,0.9971 T0.0153,0.9979 L0.0032,0.9979 Z",type:0}},"":{type:5,data:{d:"M0.9992,0.998 Q0.9992,1,0.9968,1 Q0.9521,1,0.9392,0.998 Q0.9335,0.997,0.9152,0.9921 T0.8913,0.9862 Q0.8873,0.9852,0.8783,0.9852 L0.8747,0.9852 L0.871,0.9852 Q0.8483,0.9852,0.8345,0.9812 Q0.8289,0.9792,0.8228,0.9773 T0.8135,0.9743 T0.8054,0.9723 T0.7948,0.9713 L0.7908,0.9713 L0.777,0.9713 T0.7656,0.9693 Q0.7616,0.9683,0.7498,0.9674 T0.7283,0.9664 L0.7186,0.9654 Q0.708,0.9644,0.708,0.9575 Q0.708,0.9545,0.7109,0.952 T0.7178,0.9486 L0.7315,0.9486 L0.7417,0.9486 L0.7502,0.9486 Q0.7575,0.9486,0.7599,0.9476 Q0.7616,0.9466,0.7685,0.9426 T0.7843,0.9377 Q0.7899,0.9357,0.8009,0.9332 T0.8175,0.9298 Q0.82,0.9288,0.8228,0.9283 T0.8277,0.9278 T0.8313,0.9273 T0.8341,0.9263 T0.8362,0.9258 Q0.8402,0.9219,0.854,0.9219 L0.8569,0.9219 L0.8597,0.9219 L0.8637,0.9219 Q0.88,0.9199,0.88,0.9159 L0.88,0.9149 Q0.88,0.913,0.8719,0.911 T0.852,0.9075 T0.8297,0.906 Q0.8224,0.906,0.8167,0.905 T0.8074,0.9031 T0.8001,0.9006 T0.794,0.8991 Q0.7599,0.8971,0.7494,0.8942 Q0.7461,0.8932,0.7397,0.8902 T0.7299,0.8872 L0.7267,0.8872 Q0.721,0.8882,0.7121,0.8882 Q0.6926,0.8882,0.691,0.8833 L0.691,0.8803 Q0.691,0.8773,0.6922,0.8749 T0.6955,0.8704 L0.6975,0.8684 Q0.6926,0.8655,0.6764,0.8655 Q0.6683,0.8655,0.6375,0.8625 Q0.6358,0.8625,0.629,0.862 T0.6148,0.8615 T0.5973,0.861 T0.5791,0.8605 L0.5718,0.8605 L0.5661,0.8605 L0.5596,0.8605 Q0.5426,0.8605,0.5337,0.8586 Q0.5264,0.8576,0.515,0.8571 T0.4996,0.8556 Q0.498,0.8556,0.4947,0.8551 T0.4882,0.8546 T0.4809,0.8541 T0.474,0.8531 T0.4692,0.8506 T0.4672,0.8467 Q0.4672,0.8437,0.468,0.8422 T0.4704,0.8398 T0.4736,0.8383 T0.4781,0.8368 T0.4838,0.8358 T0.4911,0.8353 T0.4988,0.8338 Q0.5069,0.8328,0.5142,0.8328 Q0.5174,0.8328,0.5215,0.8333 T0.5264,0.8338 Q0.5296,0.8338,0.532,0.8328 Q0.5523,0.8249,0.5604,0.8249 L0.5653,0.8249 Q0.5775,0.8269,0.5848,0.8269 Q0.5912,0.8269,0.5937,0.8259 Q0.6026,0.821,0.6253,0.821 Q0.6294,0.821,0.6334,0.822 T0.6383,0.8229 Q0.6399,0.8229,0.644,0.82 Q0.6504,0.817,0.6723,0.816 T0.6975,0.814 Q0.6999,0.814,0.7048,0.8121 T0.7129,0.8091 T0.7226,0.8071 T0.7372,0.8061 L0.7421,0.8061 Q0.7624,0.8071,0.7721,0.8071 Q0.7924,0.8071,0.7981,0.8051 Q0.8021,0.8032,0.807,0.8027 T0.8135,0.8017 T0.8151,0.8002 L0.8151,0.7992 Q0.8143,0.7962,0.8127,0.7957 T0.8045,0.7943 Q0.7997,0.7943,0.7964,0.7933 Q0.7883,0.7933,0.7676,0.7923 T0.7437,0.7903 Q0.7307,0.7893,0.7218,0.7844 Q0.7194,0.7834,0.7141,0.7819 L0.7036,0.7789 T0.693,0.7765 T0.6853,0.7755 Q0.6805,0.7755,0.6691,0.773 T0.6553,0.7705 Q0.6545,0.7705,0.6545,0.7715 Q0.6537,0.7715,0.65,0.7725 T0.6423,0.774 T0.635,0.7745 Q0.6294,0.7745,0.6257,0.773 T0.618,0.771 T0.6083,0.77 T0.601,0.7695 Q0.5985,0.7695,0.5921,0.769 T0.5795,0.7676 T0.5702,0.7666 Q0.5653,0.7656,0.5596,0.7616 T0.5539,0.7547 Q0.5539,0.7498,0.5645,0.7488 Q0.5693,0.7478,0.5852,0.7448 T0.6099,0.7418 L0.6148,0.7418 Q0.6196,0.7418,0.6253,0.7423 T0.6338,0.7428 L0.6399,0.7428 Q0.6431,0.7418,0.6488,0.7409 T0.6586,0.7394 T0.6659,0.7389 L0.6707,0.7389 Q0.6723,0.7399,0.6748,0.7399 Q0.6796,0.7399,0.6946,0.7389 T0.7161,0.7379 Q0.7251,0.7379,0.7478,0.7319 Q0.7494,0.7319,0.7539,0.7315 T0.762,0.73 T0.7697,0.727 T0.7818,0.723 T0.7948,0.7196 T0.7997,0.7151 Q0.7997,0.7141,0.7989,0.7132 Q0.7924,0.7062,0.7717,0.6978 T0.738,0.6894 Q0.7267,0.6894,0.717,0.6845 T0.7048,0.6795 Q0.6975,0.6785,0.6711,0.6766 T0.6431,0.6746 Q0.6415,0.6736,0.6144,0.6721 T0.5596,0.6686 T0.5247,0.6657 Q0.4996,0.6607,0.4874,0.6597 L0.4834,0.6597 Q0.4785,0.6597,0.4724,0.6607 T0.4631,0.6617 Q0.4574,0.6617,0.4501,0.6597 Q0.4088,0.6518,0.4006,0.6518 Q0.3933,0.6518,0.3901,0.6499 T0.3844,0.6479 T0.3739,0.6499 T0.3585,0.6518 L0.352,0.6518 Q0.3471,0.6508,0.335,0.6503 T0.3122,0.6494 T0.2912,0.6479 T0.2766,0.6449 Q0.2733,0.6439,0.2668,0.6439 Q0.2628,0.6439,0.2543,0.6444 T0.2425,0.6449 T0.2368,0.6439 L0.2344,0.6439 Q0.2336,0.6439,0.2283,0.6444 T0.2182,0.6449 Q0.2117,0.6449,0.2052,0.6439 Q0.1768,0.6409,0.1281,0.637 Q0.0989,0.634,0.0916,0.634 L0.0835,0.634 L0.0795,0.634 Q0.0722,0.634,0.0616,0.632 T0.0479,0.6301 Q0.0462,0.6301,0.0406,0.6306 T0.0308,0.6311 Q0.0032,0.6311,0.0008,0.6231 Q0,0.6202,0,0.6182 Q0,0.6083,0.0227,0.6083 Q0.03,0.6073,0.0422,0.6073 Q0.0487,0.6073,0.0608,0.6078 T0.0787,0.6083 Q0.0973,0.6083,0.103,0.6073 Q0.1062,0.6063,0.1131,0.6053 T0.1253,0.6039 T0.1375,0.6024 T0.1492,0.6014 L0.1533,0.6014 Q0.1598,0.6024,0.1723,0.6044 T0.189,0.6063 Q0.1906,0.6063,0.1922,0.6053 Q0.2214,0.6004,0.236,0.6004 Q0.2409,0.6004,0.2551,0.6009 T0.2741,0.6014 Q0.2782,0.6014,0.2859,0.6024 T0.2968,0.6034 Q0.3009,0.6034,0.3041,0.6024 Q0.3277,0.5905,0.356,0.5905 L0.3613,0.5905 L0.3666,0.5905 Q0.3731,0.5905,0.3755,0.5895 Q0.382,0.5856,0.3844,0.5846 T0.3938,0.5831 T0.4144,0.5826 T0.4428,0.5801 T0.4631,0.5776 L0.4663,0.5776 Q0.4704,0.5776,0.4785,0.5786 T0.4899,0.5796 Q0.4964,0.5796,0.5012,0.5767 Q0.5069,0.5737,0.5223,0.5737 Q0.5272,0.5737,0.5369,0.5742 T0.5499,0.5747 Q0.558,0.5747,0.5612,0.5737 Q0.5661,0.5717,0.5714,0.5712 T0.5835,0.5702 T0.5945,0.5692 T0.6018,0.5687 L0.6062,0.5687 T0.6095,0.5682 T0.6148,0.5678 Q0.6172,0.5668,0.6196,0.5653 T0.6245,0.5633 T0.631,0.5628 T0.6407,0.5638 T0.6504,0.5648 T0.6594,0.5638 T0.6675,0.5628 L0.6707,0.5628 L0.6861,0.5628 Q0.7364,0.5628,0.7494,0.5608 L0.7567,0.5608 L0.7652,0.5608 L0.7729,0.5608 Q0.7794,0.5608,0.7818,0.5589 Q0.7851,0.5569,0.7859,0.5559 Q0.7835,0.5539,0.7656,0.5519 Q0.7121,0.547,0.6975,0.543 Q0.6934,0.541,0.6853,0.5396 L0.6691,0.5366 T0.6525,0.5336 T0.6391,0.5312 Q0.6367,0.5302,0.6245,0.5257 T0.6034,0.5213 L0.5977,0.5213 Q0.5945,0.5223,0.5904,0.5223 Q0.5839,0.5223,0.5787,0.5208 T0.5685,0.5183 T0.5596,0.5173 Q0.558,0.5173,0.5552,0.5168 T0.5495,0.5163 L0.5434,0.5163 T0.5373,0.5158 T0.532,0.5148 T0.5284,0.5129 T0.5272,0.5104 L0.5272,0.5074 Q0.5304,0.5015,0.5377,0.499 T0.5629,0.4965 Q0.5734,0.4955,0.5811,0.4946 T0.5953,0.4916 T0.605,0.4896 Q0.6083,0.4886,0.6123,0.4886 Q0.6148,0.4886,0.6225,0.4891 T0.635,0.4896 L0.6456,0.4896 Q0.6837,0.4857,0.6861,0.4857 Q0.7226,0.4768,0.7283,0.4768 Q0.7307,0.4768,0.732,0.4773 T0.7372,0.4777 Q0.7502,0.4777,0.7721,0.4758 Q0.7753,0.4748,0.777,0.4738 Q0.7745,0.4718,0.768,0.4708 Q0.7599,0.4688,0.7445,0.4688 Q0.7405,0.4688,0.7324,0.4693 T0.721,0.4698 Q0.7056,0.4698,0.6999,0.4679 Q0.6861,0.4629,0.6626,0.4619 Q0.6586,0.4609,0.6533,0.4604 T0.6419,0.459 T0.6314,0.456 T0.6269,0.452 Q0.6269,0.451,0.6302,0.4491 Q0.6358,0.4451,0.6525,0.4416 T0.6788,0.4382 L0.6845,0.4382 L0.6902,0.4382 Q0.7064,0.4382,0.7145,0.4362 Q0.7202,0.4342,0.7307,0.4342 L0.7356,0.4342 L0.7409,0.4342 L0.7453,0.4342 Q0.7543,0.4342,0.7607,0.4332 Q0.7778,0.4313,0.7847,0.4288 T0.7932,0.4248 T0.7972,0.4169 T0.8045,0.4045 L0.8094,0.3986 T0.8135,0.3942 L0.8167,0.3912 T0.8191,0.3887 T0.8204,0.3867 T0.8208,0.3848 Q0.8208,0.3818,0.8167,0.3739 Q0.8127,0.3689,0.8054,0.3635 T0.7924,0.3556 T0.7778,0.3497 T0.768,0.3462 Q0.764,0.3442,0.7478,0.3427 T0.7267,0.3383 Q0.7234,0.3363,0.7044,0.3348 T0.6805,0.3323 L0.6764,0.3323 T0.6679,0.3328 T0.6586,0.3333 Q0.6521,0.3333,0.648,0.3314 Q0.6391,0.3264,0.6294,0.3264 Q0.6229,0.3264,0.6156,0.3294 Q0.6115,0.3304,0.6042,0.3304 Q0.5977,0.3304,0.5888,0.3289 T0.5738,0.3264 T0.5584,0.3225 L0.5491,0.3195 Q0.5418,0.3185,0.5162,0.3155 T0.4895,0.3121 T0.4826,0.3116 T0.4716,0.3111 T0.4607,0.3096 T0.4513,0.3066 T0.4477,0.3017 Q0.4477,0.2997,0.4485,0.2977 Q0.4526,0.2898,0.4611,0.2878 T0.4842,0.2859 Q0.4882,0.2859,0.4943,0.2864 T0.5028,0.2868 Q0.5118,0.2868,0.5215,0.2829 Q0.5401,0.276,0.5734,0.276 Q0.5831,0.276,0.5872,0.277 L0.5904,0.277 T0.5949,0.2745 T0.6034,0.272 Q0.631,0.269,0.6407,0.2661 Q0.6448,0.2641,0.6488,0.2641 T0.6573,0.2656 T0.6634,0.2671 Q0.6659,0.2671,0.6675,0.2651 Q0.6723,0.2601,0.6886,0.2552 T0.7137,0.2502 L0.7153,0.2502 L0.7178,0.2502 Q0.7218,0.2502,0.7279,0.2493 T0.7417,0.2468 T0.7526,0.2453 Q0.8208,0.2354,0.8281,0.2354 Q0.8337,0.2354,0.8394,0.2344 T0.8496,0.2315 T0.854,0.2265 Q0.854,0.2216,0.8443,0.2176 Q0.8354,0.2127,0.8216,0.2102 T0.7972,0.2072 T0.777,0.2067 T0.7648,0.2057 Q0.7632,0.2047,0.7498,0.2038 T0.7202,0.2018 T0.6983,0.1998 Q0.6918,0.1998,0.676,0.1949 T0.6537,0.1899 Q0.6496,0.1899,0.6472,0.1919 Q0.6342,0.1968,0.6123,0.1968 Q0.5961,0.1968,0.5912,0.1929 Q0.5904,0.1919,0.5892,0.1919 T0.5823,0.1944 T0.5722,0.1968 T0.5637,0.1949 Q0.5556,0.1909,0.5158,0.1869 Q0.5109,0.1869,0.5032,0.1835 T0.4915,0.18 Q0.4907,0.18,0.4891,0.181 Q0.4793,0.182,0.455,0.182 Q0.4177,0.182,0.4015,0.1771 Q0.3901,0.1741,0.3779,0.1741 Q0.3747,0.1741,0.369,0.1746 T0.3609,0.1751 Q0.3569,0.1751,0.3536,0.1741 Q0.3512,0.1741,0.3459,0.1736 T0.3358,0.1726 T0.3256,0.1716 T0.3167,0.1696 T0.3106,0.1662 Q0.3082,0.1632,0.3082,0.1592 Q0.3082,0.1543,0.3114,0.1508 T0.3204,0.1474 L0.3236,0.1474 Q0.3301,0.1494,0.3333,0.1494 Q0.339,0.1494,0.3496,0.1454 Q0.3674,0.1385,0.3869,0.1385 Q0.395,0.1385,0.4011,0.137 T0.4116,0.1355 T0.4197,0.1375 T0.425,0.1395 Q0.429,0.1395,0.4355,0.1365 Q0.4631,0.1266,0.4882,0.1266 Q0.5126,0.1266,0.5337,0.1246 Q0.5369,0.1246,0.5458,0.1207 T0.5661,0.1167 L0.5693,0.1167 Q0.5791,0.1177,0.5852,0.1187 T0.5921,0.1197 Q0.5945,0.1197,0.6002,0.1167 Q0.6026,0.1147,0.605,0.1123 T0.6091,0.1093 T0.6156,0.1088 T0.6318,0.1098 Q0.6456,0.1108,0.6569,0.1137 T0.6707,0.1167 Q0.674,0.1167,0.6772,0.1147 Q0.6821,0.1108,0.6946,0.1083 T0.721,0.1044 T0.7453,0.1029 L0.7526,0.1029 Q0.7583,0.1039,0.7652,0.1053 T0.7753,0.1068 Q0.7778,0.1068,0.7802,0.1058 Q0.7981,0.1019,0.8143,0.1019 Q0.8175,0.1019,0.8439,0.0964 T0.8735,0.091 Q0.8759,0.091,0.8836,0.089 T0.8938,0.0851 Q0.8929,0.0841,0.8905,0.0841 Q0.8832,0.0821,0.8735,0.0821 Q0.8694,0.0821,0.8629,0.0826 T0.854,0.0831 Q0.8508,0.0831,0.8491,0.0821 Q0.8475,0.0821,0.8171,0.0811 T0.7802,0.0781 T0.7571,0.0737 T0.7332,0.0712 Q0.7299,0.0712,0.7247,0.0717 T0.7161,0.0722 L0.7064,0.0722 Q0.7032,0.0712,0.7003,0.0707 T0.6959,0.0692 T0.693,0.0678 T0.6914,0.0663 T0.6902,0.0648 T0.689,0.0643 L0.6869,0.0643 L0.6845,0.0643 L0.6821,0.0643 Q0.6553,0.0643,0.6553,0.0554 T0.6796,0.0465 L0.6813,0.0465 L0.6845,0.0465 Q0.6918,0.0425,0.717,0.0376 Q0.7226,0.0366,0.7267,0.0356 T0.7324,0.0336 T0.7376,0.0317 T0.747,0.0297 Q0.7518,0.0287,0.7551,0.0287 T0.762,0.0297 T0.768,0.0307 L0.7729,0.0307 Q0.7802,0.0277,0.7997,0.0267 T0.8224,0.0237 Q0.8273,0.0227,0.8341,0.0223 T0.8475,0.0193 T0.8654,0.0143 T0.8873,0.0079 Q0.9002,0.003,0.9331,0.004 T0.97,0.004 Q0.9838,0,0.9976,0.001 Q1,0.001,1,0.003 Z M0.9935,0.996 L0.9951,0.0049 Q0.9822,0.0049,0.9716,0.0079 Q0.9659,0.0099,0.9327,0.0089 T0.8897,0.0119 Q0.8775,0.0158,0.8666,0.0183 T0.85,0.0237 Q0.8418,0.0267,0.8341,0.0272 T0.8248,0.0277 Q0.82,0.0297,0.8001,0.0312 T0.7745,0.0346 Q0.7697,0.0356,0.7664,0.0356 Q0.764,0.0356,0.7603,0.0341 T0.7534,0.0326 Q0.751,0.0326,0.7478,0.0336 Q0.7429,0.0346,0.7397,0.0356 T0.7344,0.0376 T0.7283,0.0401 T0.7178,0.0425 Q0.6926,0.0465,0.6878,0.0495 Q0.6845,0.0514,0.6764,0.0514 L0.6723,0.0514 L0.6691,0.0514 Q0.6602,0.0514,0.6602,0.0554 Q0.6602,0.0574,0.6659,0.0579 T0.6796,0.0589 T0.691,0.0603 T0.6967,0.0643 T0.7072,0.0673 Q0.7121,0.0682,0.7153,0.0682 T0.7238,0.0678 T0.7332,0.0673 Q0.7413,0.0673,0.7579,0.0692 T0.7818,0.0742 Q0.7867,0.0752,0.8171,0.0762 T0.8508,0.0781 L0.852,0.0781 T0.8601,0.0776 T0.8719,0.0772 Q0.8832,0.0772,0.8921,0.0791 Q0.8994,0.0811,0.8994,0.0841 T0.8933,0.0895 T0.8812,0.094 T0.8735,0.0959 T0.8451,0.1014 T0.8143,0.1068 Q0.7989,0.1068,0.7818,0.1098 Q0.7778,0.1108,0.7745,0.1108 T0.768,0.1103 T0.7603,0.1088 T0.7518,0.1068 L0.7461,0.1068 Q0.7315,0.1068,0.7088,0.1103 T0.6805,0.1177 Q0.6756,0.1207,0.6699,0.1207 Q0.6667,0.1207,0.6545,0.1177 T0.631,0.1147 Q0.6269,0.1137,0.6225,0.1133 T0.616,0.1128 L0.6123,0.1128 T0.6103,0.1133 L0.6083,0.1157 T0.6034,0.1197 Q0.5961,0.1246,0.5921,0.1246 Q0.5904,0.1246,0.5835,0.1231 T0.5693,0.1217 L0.5661,0.1217 Q0.558,0.1217,0.5535,0.1231 T0.5446,0.1266 T0.5345,0.1296 Q0.5126,0.1316,0.4882,0.1316 T0.438,0.1405 Q0.4298,0.1434,0.425,0.1434 Q0.4209,0.1434,0.4173,0.1419 T0.4112,0.1405 T0.4027,0.1419 T0.3869,0.1434 Q0.3682,0.1434,0.3512,0.1494 Q0.3398,0.1533,0.3333,0.1533 Q0.3285,0.1533,0.3228,0.1513 L0.3212,0.1513 Q0.3179,0.1513,0.3155,0.1538 T0.3131,0.1592 Q0.3131,0.1612,0.3147,0.1632 Q0.3171,0.1652,0.3232,0.1667 T0.3406,0.1691 T0.3544,0.1701 L0.3601,0.1701 L0.3678,0.1701 L0.3771,0.1701 Q0.3909,0.1701,0.4031,0.1731 Q0.4177,0.178,0.4558,0.178 Q0.4793,0.178,0.4882,0.1761 L0.4915,0.1761 Q0.498,0.1761,0.5061,0.179 T0.5158,0.183 Q0.5166,0.183,0.5231,0.1835 T0.5341,0.1845 T0.545,0.1855 T0.5572,0.1874 T0.5661,0.1909 Q0.5677,0.1919,0.5702,0.1919 T0.5791,0.1894 T0.588,0.1869 Q0.5921,0.1869,0.5945,0.1899 Q0.5977,0.1919,0.6123,0.1919 Q0.6334,0.1919,0.6448,0.1879 Q0.6488,0.186,0.6537,0.186 Q0.6626,0.186,0.6784,0.1909 T0.6983,0.1958 Q0.704,0.1968,0.7206,0.1973 T0.7506,0.1993 T0.7689,0.2018 L0.7705,0.2018 L0.7741,0.2018 L0.7786,0.2018 Q0.8248,0.2018,0.8475,0.2136 Q0.8597,0.2196,0.8597,0.2255 T0.8483,0.2359 T0.8281,0.2404 Q0.8208,0.2404,0.7534,0.2493 Q0.7502,0.2502,0.7425,0.2512 T0.7287,0.2532 T0.7178,0.2542 L0.7153,0.2542 L0.7137,0.2542 Q0.7064,0.2542,0.6906,0.2591 T0.6715,0.2681 T0.6626,0.272 Q0.6594,0.272,0.6541,0.2705 T0.6464,0.269 T0.6431,0.27 Q0.6318,0.273,0.6034,0.276 Q0.6018,0.276,0.5998,0.2774 T0.5957,0.2799 T0.5904,0.2809 L0.5856,0.2809 Q0.5823,0.2799,0.575,0.2799 Q0.541,0.2799,0.5239,0.2868 Q0.5134,0.2908,0.5028,0.2908 Q0.4996,0.2908,0.4935,0.2903 T0.4842,0.2898 Q0.4704,0.2898,0.4635,0.2918 T0.4534,0.2997 L0.4534,0.3007 Q0.4534,0.3037,0.459,0.3046 T0.4753,0.3066 T0.4899,0.3076 Q0.4907,0.3076,0.5166,0.3106 T0.5507,0.3155 Q0.5921,0.3264,0.605,0.3264 Q0.6107,0.3264,0.6131,0.3254 Q0.6212,0.3225,0.6294,0.3225 Q0.6407,0.3225,0.6513,0.3274 Q0.6529,0.3294,0.6569,0.3294 Q0.6594,0.3294,0.665,0.3284 T0.6748,0.3274 T0.6821,0.3284 Q0.6861,0.3294,0.6967,0.3299 T0.7165,0.3314 T0.7299,0.3343 Q0.7324,0.3363,0.7486,0.3383 T0.7697,0.3422 Q0.7713,0.3432,0.7774,0.3452 T0.7887,0.3492 T0.8005,0.3546 T0.8127,0.3625 T0.8208,0.3719 Q0.8256,0.3798,0.8256,0.3848 Q0.8256,0.3877,0.8236,0.3902 T0.8171,0.3976 T0.809,0.4075 T0.8021,0.4189 T0.7968,0.4273 T0.7867,0.4322 T0.7616,0.4382 Q0.7543,0.4392,0.7437,0.4392 L0.7364,0.4392 L0.7299,0.4392 Q0.7202,0.4392,0.7161,0.4402 Q0.7072,0.4431,0.691,0.4431 L0.6845,0.4431 L0.6788,0.4431 Q0.6707,0.4431,0.6545,0.4461 T0.6334,0.452 Q0.6399,0.456,0.6626,0.457 Q0.6878,0.458,0.7024,0.4639 Q0.7064,0.4649,0.7186,0.4649 L0.7295,0.4649 L0.7413,0.4649 Q0.7591,0.4649,0.7697,0.4669 Q0.7818,0.4688,0.7818,0.4728 Q0.7818,0.4748,0.7798,0.4763 T0.7753,0.4787 L0.7737,0.4797 L0.7729,0.4797 Q0.7494,0.4827,0.7388,0.4827 Q0.7332,0.4827,0.7307,0.4817 L0.7291,0.4817 Q0.7226,0.4817,0.6878,0.4896 Q0.6829,0.4906,0.6772,0.4911 T0.6618,0.4921 T0.646,0.4931 T0.6342,0.4936 T0.6212,0.4931 T0.6115,0.4926 Q0.6083,0.4926,0.6058,0.4931 T0.5969,0.4955 T0.5819,0.499 T0.5629,0.5005 Q0.5572,0.5005,0.5527,0.501 T0.545,0.502 T0.5397,0.503 T0.5361,0.5045 T0.5337,0.5064 T0.5328,0.5094 L0.532,0.5094 Q0.532,0.5104,0.5337,0.5109 T0.5381,0.5114 T0.5438,0.5119 T0.5515,0.5124 L0.5604,0.5124 Q0.5661,0.5134,0.5746,0.5153 T0.5912,0.5173 L0.5977,0.5173 L0.6026,0.5173 Q0.6139,0.5173,0.6273,0.5218 T0.6407,0.5272 Q0.6448,0.5282,0.6683,0.5321 T0.6991,0.5381 Q0.7137,0.543,0.7664,0.548 Q0.7908,0.55,0.7908,0.5559 Q0.7908,0.5589,0.7859,0.5628 Q0.781,0.5658,0.7713,0.5658 Q0.7689,0.5658,0.7628,0.5653 T0.7543,0.5648 T0.7502,0.5658 Q0.7364,0.5678,0.6878,0.5678 Q0.674,0.5678,0.6699,0.5668 L0.6683,0.5668 Q0.6659,0.5668,0.6606,0.5678 T0.6513,0.5687 Q0.6464,0.5687,0.6391,0.5678 Q0.6334,0.5668,0.6302,0.5668 T0.6241,0.5687 T0.6164,0.5717 Q0.6123,0.5727,0.6099,0.5727 L0.6062,0.5727 T0.6022,0.5732 T0.5953,0.5737 Q0.5904,0.5747,0.5839,0.5747 T0.5726,0.5752 T0.5629,0.5776 T0.5458,0.5796 Q0.5418,0.5796,0.5324,0.5791 T0.5191,0.5786 Q0.5077,0.5786,0.5045,0.5806 Q0.498,0.5836,0.4899,0.5836 Q0.4858,0.5836,0.4777,0.5826 T0.4655,0.5816 L0.4631,0.5816 Q0.4582,0.5816,0.4436,0.5841 T0.4144,0.5865 L0.4051,0.5865 L0.3986,0.5865 T0.3933,0.587 T0.3897,0.5875 T0.3869,0.5885 T0.3844,0.5895 T0.3812,0.591 T0.3779,0.5925 Q0.3739,0.5955,0.3633,0.5955 L0.3585,0.5955 L0.3536,0.5955 Q0.3277,0.5955,0.3066,0.6053 Q0.3017,0.6083,0.296,0.6083 Q0.2912,0.6083,0.2839,0.6068 T0.2741,0.6053 Q0.2693,0.6053,0.2547,0.6048 T0.236,0.6044 Q0.2222,0.6044,0.193,0.6103 L0.1882,0.6103 Q0.1825,0.6103,0.1703,0.6083 T0.1525,0.6063 L0.15,0.6063 Q0.1436,0.6063,0.135,0.6073 T0.1168,0.6098 T0.1038,0.6113 Q0.0973,0.6123,0.0787,0.6123 L0.06,0.6123 L0.0414,0.6123 L0.0235,0.6123 Q0.0049,0.6133,0.0049,0.6172 L0.0057,0.6222 Q0.0073,0.6261,0.043,0.6261 L0.0454,0.6261 L0.0479,0.6261 Q0.0527,0.6261,0.0633,0.6281 T0.0803,0.6301 L0.0835,0.6301 L0.0916,0.6301 Q0.0998,0.6301,0.129,0.632 Q0.1768,0.636,0.206,0.64 Q0.2117,0.6409,0.2165,0.6409 Q0.2206,0.6409,0.2263,0.6405 T0.2336,0.64 L0.2384,0.64 L0.2409,0.64 T0.251,0.6395 T0.2644,0.639 Q0.2741,0.639,0.279,0.6409 Q0.283,0.6429,0.2972,0.6439 T0.3293,0.6459 T0.3528,0.6469 L0.3577,0.6469 Q0.3642,0.6469,0.3723,0.6449 T0.3844,0.6429 Q0.3901,0.6429,0.3933,0.6454 T0.4006,0.6479 Q0.4088,0.6479,0.4517,0.6558 Q0.4582,0.6568,0.4623,0.6568 Q0.4655,0.6568,0.4716,0.6563 T0.4826,0.6558 L0.4882,0.6558 Q0.5004,0.6558,0.5255,0.6607 Q0.5328,0.6627,0.5604,0.6647 T0.6152,0.6682 T0.644,0.6696 T0.6719,0.6721 T0.7056,0.6756 Q0.7113,0.6756,0.7198,0.6805 T0.738,0.6855 Q0.7453,0.6855,0.7551,0.6879 T0.7741,0.6939 T0.7912,0.7018 T0.8029,0.7102 Q0.8054,0.7132,0.8054,0.7151 Q0.8054,0.7191,0.8009,0.7216 T0.7908,0.7255 T0.779,0.7285 T0.7721,0.731 Q0.7672,0.7329,0.7632,0.7339 T0.7551,0.7354 T0.7486,0.7369 Q0.7478,0.7369,0.7445,0.7379 T0.7388,0.7394 T0.7324,0.7404 L0.7242,0.7413 T0.7161,0.7418 Q0.7105,0.7418,0.6955,0.7428 T0.6748,0.7438 L0.6699,0.7438 L0.6667,0.7438 Q0.6659,0.7438,0.6407,0.7468 Q0.6367,0.7478,0.6334,0.7478 T0.6245,0.7468 T0.6148,0.7458 L0.6099,0.7458 Q0.6018,0.7468,0.5864,0.7498 T0.5653,0.7532 T0.5596,0.7557 Q0.5596,0.7596,0.571,0.7616 Q0.5742,0.7626,0.5803,0.7631 T0.5929,0.7641 T0.6018,0.7656 L0.6087,0.7656 T0.6192,0.7666 T0.6277,0.7695 Q0.631,0.7705,0.6342,0.7705 Q0.6383,0.7705,0.6452,0.7685 T0.6537,0.7666 L0.6553,0.7666 Q0.6602,0.7666,0.6711,0.769 T0.6853,0.7715 Q0.691,0.7715,0.7048,0.775 T0.7242,0.7814 Q0.7324,0.7854,0.7445,0.7864 Q0.7478,0.7864,0.768,0.7873 T0.7972,0.7893 Q0.7989,0.7893,0.8017,0.7898 T0.8054,0.7903 L0.8082,0.7903 T0.811,0.7908 T0.8131,0.7913 T0.8151,0.7918 L0.8167,0.7928 T0.8179,0.7943 T0.8191,0.7957 T0.8204,0.7977 T0.8208,0.8002 Q0.8208,0.8032,0.8171,0.8051 T0.8074,0.8081 T0.7997,0.8091 Q0.7932,0.8121,0.7737,0.8121 Q0.7664,0.8121,0.7413,0.8111 L0.7364,0.8111 Q0.7275,0.8111,0.7214,0.8121 T0.7084,0.8155 T0.6991,0.819 Q0.6934,0.82,0.6723,0.8205 T0.6472,0.8239 Q0.6423,0.8269,0.6375,0.8269 Q0.6358,0.8269,0.6338,0.8264 T0.6294,0.8254 T0.6253,0.8249 Q0.6042,0.8249,0.5961,0.8289 Q0.5921,0.8318,0.5839,0.8318 Q0.5783,0.8318,0.5645,0.8299 L0.5604,0.8299 Q0.5531,0.8299,0.5337,0.8368 Q0.5296,0.8378,0.5255,0.8378 Q0.5239,0.8378,0.5195,0.8373 T0.5118,0.8368 Q0.5061,0.8368,0.4996,0.8388 Q0.4947,0.8388,0.4882,0.8398 Q0.4777,0.8417,0.4753,0.8427 T0.4728,0.8467 Q0.4728,0.8487,0.4769,0.8492 T0.4886,0.8501 T0.5004,0.8516 Q0.5036,0.8516,0.515,0.8521 T0.5345,0.8546 Q0.5426,0.8556,0.5596,0.8556 L0.5649,0.8556 L0.5702,0.8556 L0.5791,0.8556 Q0.5921,0.8566,0.6135,0.8571 T0.6383,0.8586 Q0.6683,0.8615,0.6764,0.8615 L0.6776,0.8615 L0.6788,0.8615 Q0.7032,0.8615,0.7032,0.8684 Q0.7032,0.8714,0.6995,0.8749 T0.6959,0.8803 L0.6959,0.8813 Q0.6991,0.8843,0.7153,0.8843 Q0.7218,0.8843,0.7259,0.8833 L0.7299,0.8833 Q0.7324,0.8833,0.7348,0.8838 T0.7393,0.8848 T0.7433,0.8863 L0.7474,0.8882 T0.751,0.8892 Q0.7616,0.8922,0.7948,0.8952 Q0.7981,0.8952,0.8082,0.8981 T0.8297,0.9011 T0.8528,0.9026 T0.8747,0.907 T0.8856,0.9149 L0.8856,0.9159 Q0.8856,0.9179,0.8848,0.9189 T0.8828,0.9209 T0.88,0.9228 T0.8767,0.9243 T0.8731,0.9248 T0.8698,0.9253 T0.8666,0.9258 L0.8646,0.9258 Q0.8621,0.9258,0.8577,0.9263 T0.85,0.9268 T0.8439,0.9273 T0.8402,0.9278 Q0.8386,0.9298,0.8358,0.9308 T0.8305,0.9322 T0.8244,0.9332 T0.8183,0.9337 Q0.8135,0.9347,0.8025,0.9372 T0.7859,0.9416 Q0.7778,0.9436,0.7717,0.9471 T0.7624,0.9515 Q0.7575,0.9535,0.7486,0.9535 Q0.7461,0.9535,0.7397,0.953 T0.7291,0.9525 Q0.7234,0.9525,0.7186,0.953 T0.7137,0.957 T0.7194,0.9614 Q0.7567,0.9634,0.7664,0.9654 Q0.7745,0.9674,0.7762,0.9674 L0.7908,0.9674 Q0.7924,0.9664,0.7948,0.9664 Q0.8029,0.9664,0.8082,0.9679 T0.8224,0.9723 T0.8362,0.9773 Q0.8483,0.9812,0.871,0.9812 L0.8751,0.9812 Q0.8873,0.9812,0.8929,0.9822 T0.9165,0.9876 T0.9408,0.9931 Q0.9513,0.996,0.9935,0.996 Z M0.9968,0.998 L0.9976,0.003 Q0.9838,0.002,0.9708,0.0059 Q0.9659,0.0069,0.9327,0.0059 T0.8881,0.0099 Q0.8767,0.0138,0.8658,0.0163 T0.8491,0.0218 Q0.8418,0.0247,0.8341,0.0247 T0.8232,0.0257 Q0.8191,0.0277,0.7997,0.0292 T0.7737,0.0326 Q0.7697,0.0336,0.7672,0.0336 T0.7612,0.0321 T0.7543,0.0307 T0.747,0.0317 Q0.7397,0.0326,0.7336,0.0356 T0.717,0.0406 Q0.6918,0.0445,0.6861,0.0475 Q0.6845,0.0485,0.6772,0.0485 T0.6638,0.05 T0.6577,0.0549 T0.6642,0.0598 T0.6796,0.0613 T0.6902,0.0623 Q0.691,0.0623,0.6946,0.0658 T0.7064,0.0702 L0.7161,0.0702 Q0.7194,0.0702,0.7242,0.0697 T0.7332,0.0692 Q0.7413,0.0692,0.7579,0.0717 T0.781,0.0762 Q0.7867,0.0781,0.8171,0.0786 T0.85,0.0801 L0.8532,0.0801 Q0.8548,0.0801,0.8613,0.0796 T0.8727,0.0791 Q0.8832,0.0791,0.8913,0.0811 Q0.897,0.0831,0.897,0.0851 Q0.897,0.088,0.8873,0.0905 T0.8735,0.093 Q0.871,0.093,0.8447,0.0984 T0.8143,0.1039 Q0.7981,0.1039,0.781,0.1078 Q0.7778,0.1088,0.7745,0.1088 T0.7644,0.1073 T0.7518,0.1048 L0.7453,0.1048 Q0.7299,0.1048,0.7076,0.1083 T0.6788,0.1157 Q0.6748,0.1187,0.6699,0.1187 Q0.6675,0.1187,0.6557,0.1157 T0.6318,0.1118 Q0.6164,0.1108,0.6135,0.1108 T0.6095,0.1113 T0.6067,0.1142 T0.6018,0.1187 Q0.5953,0.1227,0.5921,0.1227 Q0.5904,0.1227,0.5839,0.1212 T0.5693,0.1187 L0.5661,0.1187 Q0.558,0.1187,0.5527,0.1207 T0.5434,0.1246 T0.5337,0.1266 Q0.5126,0.1296,0.4882,0.1296 T0.4371,0.1385 Q0.4298,0.1414,0.425,0.1414 Q0.4225,0.1414,0.4189,0.1395 T0.4112,0.1375 Q0.4079,0.1375,0.4019,0.1395 T0.3869,0.1414 Q0.3682,0.1414,0.3504,0.1474 Q0.3398,0.1513,0.3333,0.1513 Q0.3293,0.1513,0.3228,0.1494 L0.3204,0.1494 Q0.3179,0.1494,0.3155,0.1508 T0.3118,0.1543 T0.3106,0.1592 T0.3127,0.1642 T0.32,0.1677 T0.3305,0.1701 T0.3435,0.1716 T0.3544,0.1721 Q0.3569,0.1731,0.3601,0.1731 Q0.3625,0.1731,0.3686,0.1726 T0.3779,0.1721 Q0.3901,0.1721,0.4023,0.1751 Q0.4177,0.18,0.455,0.18 Q0.4793,0.18,0.4882,0.178 L0.4915,0.178 Q0.4964,0.178,0.5045,0.1815 T0.5158,0.185 Q0.5564,0.1889,0.5645,0.1929 Q0.5677,0.1939,0.571,0.1939 Q0.575,0.1939,0.5807,0.1919 T0.5888,0.1899 T0.5929,0.1909 Q0.5969,0.1949,0.6123,0.1949 Q0.6334,0.1949,0.6456,0.1899 Q0.6488,0.1879,0.6537,0.1879 Q0.661,0.1879,0.6772,0.1929 T0.6983,0.1978 Q0.704,0.1988,0.7206,0.1998 T0.7502,0.2018 T0.7664,0.2038 Q0.7672,0.2038,0.7818,0.2043 T0.8151,0.2067 T0.8459,0.2156 Q0.8573,0.2206,0.8573,0.2255 Q0.8573,0.2295,0.8516,0.2324 T0.8394,0.2369 T0.8281,0.2384 Q0.8208,0.2384,0.7526,0.2473 Q0.7494,0.2483,0.7421,0.2493 T0.7287,0.2512 T0.7178,0.2522 L0.7153,0.2522 L0.7137,0.2522 Q0.7056,0.2522,0.6898,0.2572 T0.6691,0.2671 Q0.6667,0.269,0.6634,0.269 Q0.661,0.269,0.6557,0.2681 T0.6472,0.2671 Q0.6448,0.2671,0.6415,0.2681 Q0.631,0.271,0.6034,0.274 Q0.5994,0.274,0.5961,0.2765 T0.5904,0.2789 L0.5864,0.2789 Q0.5831,0.2779,0.5742,0.2779 Q0.541,0.2779,0.5223,0.2849 Q0.5126,0.2888,0.5028,0.2888 Q0.5004,0.2888,0.4943,0.2883 T0.4842,0.2878 Q0.4704,0.2878,0.4627,0.2898 T0.4509,0.2987 Q0.4501,0.2997,0.4501,0.3007 Q0.4501,0.3046,0.4574,0.3066 T0.4765,0.3091 T0.4899,0.3096 Q0.4931,0.3106,0.5061,0.3121 T0.5316,0.315 T0.5499,0.3175 Q0.5507,0.3175,0.5572,0.3195 T0.5685,0.3225 T0.5803,0.3254 T0.5933,0.3279 T0.605,0.3284 T0.6148,0.3274 Q0.6221,0.3244,0.6294,0.3244 Q0.6399,0.3244,0.6496,0.3294 Q0.6529,0.3314,0.6577,0.3314 Q0.6602,0.3314,0.6663,0.3304 T0.6756,0.3294 T0.6813,0.3304 Q0.6837,0.3304,0.6873,0.3309 L0.6946,0.3318 T0.7024,0.3323 T0.7105,0.3328 T0.7178,0.3338 T0.7238,0.3348 T0.7283,0.3363 Q0.7324,0.3383,0.7482,0.3403 T0.7689,0.3442 Q0.7697,0.3442,0.779,0.3477 T0.794,0.3536 T0.8074,0.3615 T0.8183,0.3729 Q0.8232,0.3808,0.8232,0.3848 Q0.8232,0.3867,0.8216,0.3892 T0.8151,0.3961 T0.8062,0.406 T0.7997,0.4179 T0.7952,0.4263 T0.7855,0.4308 T0.7616,0.4362 Q0.7543,0.4372,0.7445,0.4372 L0.7372,0.4372 L0.7307,0.4372 Q0.7202,0.4372,0.7153,0.4382 Q0.7064,0.4402,0.691,0.4402 L0.6845,0.4402 L0.6788,0.4402 Q0.6699,0.4402,0.6533,0.4436 T0.6318,0.451 Q0.6302,0.451,0.6302,0.452 Q0.6302,0.457,0.6626,0.459 Q0.6869,0.4609,0.7015,0.4659 Q0.7064,0.4669,0.7202,0.4669 L0.7311,0.4669 L0.7429,0.4669 Q0.7599,0.4669,0.7689,0.4688 Q0.7794,0.4708,0.7794,0.4738 L0.7786,0.4748 T0.777,0.4763 T0.7749,0.4773 L0.7737,0.4777 L0.7729,0.4777 Q0.7502,0.4797,0.738,0.4797 L0.7315,0.4797 L0.7291,0.4797 Q0.7226,0.4797,0.6869,0.4876 Q0.6821,0.4886,0.6768,0.4891 T0.6614,0.4901 T0.6456,0.4916 L0.6342,0.4916 Q0.6294,0.4916,0.6217,0.4911 T0.6115,0.4906 Q0.6083,0.4906,0.6054,0.4911 T0.5961,0.4936 T0.5815,0.4965 T0.5629,0.4985 Q0.5507,0.4985,0.5442,0.4995 T0.5345,0.5025 T0.5304,0.5084 L0.5296,0.5094 Q0.5296,0.5114,0.5316,0.5124 T0.5373,0.5138 T0.5442,0.5143 L0.5523,0.5143 L0.5604,0.5143 Q0.5637,0.5153,0.5677,0.5158 T0.5742,0.5173 T0.5811,0.5188 T0.5904,0.5193 L0.5977,0.5193 L0.6026,0.5193 Q0.6107,0.5193,0.6168,0.5208 T0.6294,0.5252 T0.6399,0.5292 Q0.6448,0.5302,0.6679,0.5341 T0.6983,0.541 Q0.7129,0.545,0.7664,0.55 Q0.7883,0.5519,0.7883,0.5559 Q0.7883,0.5579,0.7843,0.5608 T0.7721,0.5638 Q0.7697,0.5638,0.764,0.5633 T0.7559,0.5628 L0.7502,0.5628 Q0.7364,0.5648,0.6869,0.5648 L0.6699,0.5648 L0.6675,0.5648 Q0.665,0.5648,0.6602,0.5658 T0.6513,0.5668 Q0.6464,0.5668,0.6399,0.5658 Q0.6342,0.5648,0.6302,0.5648 T0.6225,0.5668 T0.6156,0.5697 Q0.6107,0.5707,0.6087,0.5707 T0.6034,0.5712 T0.5953,0.5717 Q0.5904,0.5727,0.5835,0.5727 T0.5718,0.5732 T0.562,0.5757 Q0.558,0.5767,0.5483,0.5767 L0.5349,0.5767 L0.5207,0.5767 Q0.5069,0.5767,0.5028,0.5786 Q0.4972,0.5816,0.4899,0.5816 Q0.4858,0.5816,0.4781,0.5806 T0.4663,0.5796 L0.4631,0.5796 Q0.4582,0.5796,0.4432,0.5821 T0.4144,0.5846 L0.4071,0.5846 L0.4011,0.5846 T0.3958,0.5851 T0.3921,0.5856 T0.3889,0.5861 T0.3865,0.5865 T0.384,0.5875 L0.382,0.5885 L0.3796,0.5895 L0.3771,0.5905 Q0.3731,0.5925,0.365,0.5925 L0.3601,0.5925 L0.3552,0.5925 Q0.3277,0.5925,0.3049,0.6044 Q0.3017,0.6053,0.296,0.6053 Q0.292,0.6053,0.2847,0.6044 T0.2741,0.6034 Q0.2693,0.6034,0.2547,0.6029 T0.236,0.6024 Q0.2222,0.6024,0.1922,0.6073 Q0.1906,0.6083,0.1882,0.6083 Q0.1833,0.6083,0.1711,0.6063 T0.1533,0.6044 Q0.1517,0.6034,0.1492,0.6034 Q0.1436,0.6034,0.135,0.6048 T0.1168,0.6078 T0.103,0.6093 Q0.0973,0.6103,0.0787,0.6103 L0.0604,0.6103 L0.0414,0.6103 L0.0235,0.6103 Q0.0024,0.6113,0.0024,0.6172 Q0.0024,0.6192,0.0032,0.6231 Q0.0049,0.6281,0.0333,0.6281 L0.0414,0.6281 L0.0479,0.6281 Q0.0519,0.6281,0.0624,0.6301 T0.0803,0.632 L0.0835,0.632 L0.0916,0.632 Q0.0989,0.632,0.1281,0.634 L0.206,0.6419 Q0.2117,0.6429,0.2174,0.6429 Q0.2214,0.6429,0.2271,0.6424 T0.2344,0.6419 L0.2376,0.6419 Q0.2393,0.6429,0.2417,0.6429 T0.2526,0.6419 T0.2652,0.6409 Q0.2741,0.6409,0.2782,0.6429 T0.2968,0.6459 T0.3293,0.6479 T0.352,0.6489 Q0.3552,0.6499,0.3585,0.6499 Q0.365,0.6499,0.3731,0.6474 T0.3844,0.6449 Q0.3885,0.6449,0.3917,0.6474 T0.4006,0.6499 Q0.4088,0.6499,0.4509,0.6578 Q0.4574,0.6588,0.4631,0.6588 Q0.4655,0.6588,0.4716,0.6583 T0.4834,0.6578 L0.4874,0.6578 Q0.5004,0.6588,0.5255,0.6637 Q0.532,0.6647,0.56,0.6667 T0.6148,0.6701 T0.644,0.6716 Q0.6464,0.6726,0.6594,0.6736 T0.6861,0.6756 T0.7048,0.6775 Q0.7097,0.6775,0.7186,0.6825 T0.738,0.6874 Q0.7518,0.6874,0.7729,0.6958 T0.8005,0.7122 Q0.8029,0.7141,0.8029,0.7151 Q0.8029,0.7191,0.7968,0.7216 T0.7818,0.726 T0.7705,0.729 L0.764,0.731 T0.7583,0.7324 T0.753,0.7334 T0.7486,0.7349 Q0.7251,0.7399,0.7161,0.7399 Q0.7097,0.7399,0.6951,0.7409 T0.6748,0.7418 L0.6703,0.7418 L0.6667,0.7418 Q0.6659,0.7418,0.6399,0.7448 L0.6334,0.7448 Q0.631,0.7448,0.6249,0.7443 T0.6148,0.7438 L0.6099,0.7438 Q0.601,0.7448,0.5856,0.7473 T0.5645,0.7507 Q0.5572,0.7517,0.5572,0.7547 T0.5616,0.7606 T0.5702,0.7646 Q0.5734,0.7646,0.5779,0.7651 T0.5864,0.7661 T0.5949,0.7671 T0.6018,0.7676 L0.6071,0.7676 T0.6135,0.7681 T0.62,0.769 T0.6269,0.771 T0.6342,0.7725 Q0.6391,0.7725,0.6464,0.7705 T0.6541,0.7685 L0.6553,0.7685 Q0.6586,0.7685,0.6699,0.771 T0.6853,0.7735 Q0.6902,0.7735,0.704,0.777 T0.7226,0.7834 Q0.7315,0.7873,0.7445,0.7883 Q0.747,0.7883,0.7676,0.7893 T0.7972,0.7913 Q0.7989,0.7913,0.8017,0.7918 T0.8058,0.7923 T0.809,0.7928 T0.8114,0.7933 T0.8131,0.7938 T0.8147,0.7943 T0.8159,0.7953 L0.8171,0.7967 T0.8175,0.7982 Q0.8183,0.7992,0.8183,0.8002 Q0.8183,0.8022,0.8155,0.8032 T0.807,0.8051 T0.7989,0.8071 Q0.7932,0.8091,0.7737,0.8091 L0.7413,0.8091 L0.7372,0.8091 Q0.7275,0.8091,0.721,0.8101 T0.7072,0.8136 T0.6983,0.817 Q0.6942,0.818,0.6825,0.818 T0.6602,0.819 T0.6456,0.822 Q0.6415,0.8249,0.6375,0.8249 Q0.6367,0.8249,0.6326,0.8239 T0.6253,0.8229 Q0.6034,0.8229,0.5953,0.8279 Q0.5912,0.8289,0.5848,0.8289 Q0.5775,0.8289,0.5645,0.8279 Q0.5629,0.8269,0.5604,0.8269 Q0.5523,0.8269,0.5328,0.8348 Q0.5296,0.8358,0.5264,0.8358 Q0.5247,0.8358,0.5203,0.8353 T0.5126,0.8348 Q0.5061,0.8348,0.4988,0.8358 Q0.4947,0.8368,0.4882,0.8378 Q0.4826,0.8388,0.4797,0.8388 T0.474,0.8398 T0.4704,0.8422 T0.4696,0.8462 T0.472,0.8501 T0.4781,0.8521 T0.4854,0.8526 L0.4935,0.8526 T0.4996,0.8536 Q0.5036,0.8536,0.515,0.8546 T0.5337,0.8566 Q0.5426,0.8576,0.5596,0.8576 L0.5657,0.8576 L0.571,0.8576 L0.5791,0.8576 Q0.5921,0.8586,0.6135,0.8591 T0.6383,0.8605 Q0.6683,0.8635,0.6764,0.8635 Q0.6999,0.8635,0.6999,0.8684 Q0.6999,0.8694,0.6967,0.8734 T0.6934,0.8803 L0.6934,0.8823 Q0.6951,0.8863,0.7137,0.8863 Q0.7218,0.8863,0.7267,0.8853 L0.7299,0.8853 Q0.734,0.8853,0.7409,0.8882 T0.7502,0.8912 Q0.7607,0.8942,0.794,0.8971 Q0.7972,0.8971,0.8078,0.9001 T0.8297,0.9031 Q0.8475,0.9031,0.8646,0.9065 T0.8824,0.9149 L0.8824,0.9159 Q0.8824,0.9169,0.882,0.9179 T0.8808,0.9194 L0.8792,0.9204 T0.8767,0.9214 T0.8743,0.9224 T0.8715,0.9228 L0.8686,0.9228 T0.8662,0.9233 T0.8637,0.9238 L0.8556,0.9238 T0.8447,0.9243 T0.8386,0.9268 Q0.837,0.9278,0.835,0.9288 T0.8305,0.9303 T0.8244,0.9308 T0.8175,0.9318 Q0.8127,0.9327,0.8017,0.9352 T0.7851,0.9397 Q0.777,0.9416,0.7705,0.9451 T0.7616,0.9496 Q0.7575,0.9505,0.7494,0.9505 L0.7405,0.9505 L0.7307,0.9505 Q0.7234,0.9505,0.7178,0.9515 Q0.7145,0.9515,0.7125,0.9535 T0.7105,0.9575 Q0.7105,0.9624,0.7194,0.9634 Q0.7567,0.9654,0.7664,0.9674 Q0.7745,0.9693,0.7762,0.9693 L0.7908,0.9693 L0.7948,0.9693 Q0.8005,0.9693,0.8058,0.9698 T0.8143,0.9718 T0.824,0.9753 T0.8354,0.9792 Q0.8483,0.9832,0.871,0.9832 L0.8739,0.9832 L0.8767,0.9832 Q0.8873,0.9832,0.8921,0.9842 Q0.8978,0.9852,0.9157,0.9896 T0.94,0.996 Q0.9424,0.996,0.9469,0.9965 T0.9566,0.997 T0.9676,0.9975 T0.9781,0.998 L0.9874,0.998 L0.9943,0.998 L0.9968,0.998 Z",type:0}},"":{type:5,data:{d:"M1,0.5071 L0.8623,0.7102 L0.5865,0.7102 L0.4489,0.5071 L0.5865,0.3045 L0.8623,0.3045 Z M0.4135,0.7974 L0.2758,1 L0,1 L0,0.5944 L0.2758,0.5944 Z M0.4135,0.2026 L0.2758,0.4056 L0,0.4056 L0,0 L0.2758,0 Z",type:0}},"":{type:5,data:{d:"M0.9726,0.5071 L0.8451,0.3184 L0.59,0.3184 L0.4624,0.5071 L0.59,0.6955 L0.8451,0.6955 Z M1,0.5071 L0.8588,0.716 L0.5768,0.716 L0.4355,0.5071 L0.5768,0.2982 L0.8588,0.2982 Z M0.401,0.7911 L0.2735,0.6028 L0.0236,0.6028 L0.0236,0.9799 L0.2735,0.9799 Z M0.4284,0.7911 L0.2872,1 L0,1 L0,0.5826 L0.2872,0.5826 Z M0.401,0.2089 L0.2735,0.0201 L0.0236,0.0201 L0.0236,0.3972 L0.2735,0.3972 Z M0.4284,0.2089 L0.2872,0.4174 L0,0.4174 L0,0 L0.2872,0 Z",type:0}},"":{type:5,data:{d:"M1,0.4996 Q1,0.5365,0.9924,0.568 T0.9718,0.6177 T0.9433,0.6363 L0.9425,0.6367 Q0.9355,0.6367,0.9285,0.6326 L0.9308,0.6326 Q0.9129,0.6195,0.9013,0.587 T0.8871,0.5164 T0.8943,0.4373 T0.9254,0.3687 L0.9254,0.3691 Q0.9339,0.3628,0.9425,0.3628 Q0.9584,0.3628,0.9716,0.3811 T0.9924,0.431 T1,0.4996 Z M0.9234,0.6321 L0.8776,0.7169 Q0.8791,0.732,0.8791,0.7441 Q0.8791,0.781,0.8716,0.8123 T0.8508,0.862 T0.8224,0.8809 L0.8216,0.8809 Q0.8154,0.8809,0.8092,0.8775 L0.8088,0.8775 Q0.7905,0.8633,0.7792,0.8297 T0.766,0.7571 T0.775,0.6768 T0.8088,0.6086 L0.7431,0.6065 Q0.719,0.6313,0.7072,0.6705 T0.6965,0.7487 T0.7097,0.823 T0.7423,0.8763 L0.7913,0.8775 L0.7314,0.9895 L0.4648,0.5038 L0.7299,0.0176 L0.7882,0.1229 L0.7404,0.1212 Q0.7244,0.138,0.7136,0.1617 T0.6982,0.2108 T0.6943,0.2632 T0.7003,0.3144 T0.7159,0.3586 T0.7396,0.3909 L0.8072,0.3926 Q0.7894,0.3796,0.7777,0.3479 T0.7635,0.2789 T0.7697,0.2011 T0.7987,0.1326 Q0.8092,0.1225,0.8204,0.1225 Q0.8321,0.1225,0.8426,0.1332 T0.8609,0.1623 T0.8731,0.2062 T0.8776,0.2592 Q0.8776,0.268,0.8768,0.2815 L0.9219,0.3628 L0.8644,0.3612 Q0.8403,0.3855,0.8284,0.4247 T0.8177,0.5029 T0.8309,0.5772 T0.8632,0.6305 Z M0.6759,0.6384 Q0.6576,0.625,0.6457,0.5914 T0.6319,0.5185 T0.6407,0.4375 T0.6751,0.3691 L0.609,0.367 Q0.5849,0.3918,0.5731,0.431 T0.5626,0.509 T0.5758,0.5833 T0.6082,0.6367 Z M0.6459,0.0025 L0.391,0.4551 L0.0035,0.4551 L0.246,0 Z M0.6553,1 L0.2421,1 L0,0.5449 L0.3875,0.5449 Z",type:0}},"":{type:5,data:{d:"M0.4996,0 Q0.5562,0,0.5961,0.0166 T0.6364,0.0566 L0.6368,0.0575 Q0.6368,0.0646,0.6324,0.0713 L0.6324,0.0692 Q0.6196,0.0868,0.5872,0.0986 T0.5166,0.1128 T0.4373,0.1057 T0.3689,0.0747 L0.3694,0.0747 Q0.3627,0.0663,0.3627,0.0575 Q0.3627,0.0336,0.4028,0.0168 T0.4996,0 Z M0.6324,0.0768 L0.717,0.1225 Q0.7321,0.1212,0.744,0.1212 Q0.8007,0.1212,0.8406,0.1378 T0.8809,0.1779 L0.8813,0.1783 Q0.8813,0.1846,0.8778,0.1909 Q0.8636,0.2093,0.8299,0.2208 T0.7573,0.2343 T0.6769,0.2253 T0.6089,0.1913 L0.6067,0.2567 Q0.6315,0.281,0.6707,0.2928 T0.7489,0.3035 T0.8231,0.2903 T0.8764,0.258 L0.8778,0.2085 L0.9898,0.2685 L0.504,0.5352 L0.0177,0.2701 L0.1227,0.2118 L0.1213,0.2596 Q0.1457,0.2836,0.1851,0.2955 T0.2635,0.3062 T0.3377,0.293 T0.3911,0.2605 L0.3928,0.193 Q0.38,0.2106,0.3483,0.2221 T0.2792,0.2364 T0.2013,0.2303 T0.1324,0.2013 Q0.1222,0.1909,0.1222,0.1795 Q0.1222,0.156,0.1623,0.1393 T0.2591,0.1225 Q0.2679,0.1225,0.2817,0.1233 L0.3627,0.078 L0.3609,0.1359 Q0.3857,0.1598,0.4249,0.1718 T0.5031,0.1825 T0.5773,0.1693 T0.6306,0.1367 Z M0.6386,0.3242 Q0.6253,0.3427,0.5917,0.3544 T0.5186,0.3683 T0.4376,0.3595 T0.3689,0.3251 L0.3671,0.3909 Q0.3915,0.4148,0.4309,0.4268 T0.5093,0.4375 T0.5835,0.4243 T0.6368,0.3918 Z M0.0027,0.354 L0.4553,0.6091 L0.4553,0.9962 L0,0.7542 Z M1,0.3448 L1,0.7576 L0.5447,1 L0.5447,0.6128 Z",type:0}},"":{type:5,data:{d:"M0,0.7699 Q0,0.7172,0.0277,0.6731 T0.103,0.6032 T0.2066,0.5774 Q0.2487,0.5774,0.2865,0.5922 T0.3526,0.6339 L0.3935,0.6715 Q0.4218,0.6984,0.438,0.7336 T0.4541,0.8075 Q0.4541,0.8602,0.4264,0.9046 T0.3511,0.9745 T0.2475,1 Q0.2054,1,0.1676,0.9852 T0.1016,0.9435 L0.0606,0.9059 Q0.0317,0.879,0.0159,0.8438 T0,0.7699 Z M0.5459,0.7699 Q0.5459,0.7172,0.5736,0.6731 T0.6489,0.6032 T0.7525,0.5774 Q0.7946,0.5774,0.8324,0.5922 T0.8984,0.6339 L0.9394,0.6715 Q0.9579,0.6892,0.9714,0.7105 T0.9925,0.7567 T1,0.8075 Q1,0.8602,0.9723,0.9046 T0.897,0.9745 T0.7934,1 Q0.7513,1,0.7135,0.9852 T0.6474,0.9435 L0.6065,0.9059 Q0.5776,0.879,0.5617,0.8438 T0.5459,0.7699 Z M0,0.1925 Q0,0.1398,0.0277,0.0957 T0.103,0.0258 T0.2066,0 Q0.2487,0,0.2865,0.0148 T0.3526,0.0565 L0.3935,0.0941 Q0.4218,0.121,0.438,0.1562 T0.4541,0.2301 Q0.4541,0.2828,0.4264,0.3269 T0.3511,0.3968 T0.2475,0.4226 Q0.2054,0.4226,0.1676,0.4078 T0.1016,0.3661 L0.0606,0.3285 Q0.0317,0.3016,0.0159,0.2664 T0,0.1925 Z M0.5459,0.1925 Q0.5459,0.1398,0.5736,0.0957 T0.6489,0.0258 T0.7525,0 Q0.7946,0,0.8324,0.0148 T0.8984,0.0565 L0.9394,0.0941 Q0.9677,0.121,0.9838,0.1562 T1,0.2301 Q1,0.2828,0.9723,0.3269 T0.897,0.3968 T0.7934,0.4226 Q0.7513,0.4226,0.7135,0.4078 T0.6474,0.3661 L0.6065,0.3285 Q0.5874,0.3108,0.5741,0.2895 T0.5534,0.2433 T0.5459,0.1925 Z M0.3301,0.6403 Q0.3306,0.6403,0.3312,0.6409 L0.3272,0.6371 L0.3272,0.6371 Z M0.8759,0.6403 Q0.8765,0.6403,0.8771,0.6409 Q0.8748,0.6387,0.8725,0.6371 L0.8731,0.6371 Z M0.3301,0.0629 Q0.3306,0.0629,0.3312,0.0634 L0.3272,0.0597 L0.3272,0.0602 Z M0.8759,0.0629 Q0.8765,0.0629,0.8771,0.0634 Q0.8748,0.0613,0.8725,0.0597 Q0.8731,0.0597,0.8731,0.0602 Z M0.779,0.4113 L0.7501,0.3849 Q0.7046,0.3844,0.6636,0.3661 Q0.7132,0.407,0.779,0.4113 Z M0.7957,0.4118 Q0.8477,0.4113,0.8918,0.3874 T0.9619,0.3223 T0.9885,0.2323 L0.9585,0.2048 Q0.9538,0.2769,0.8987,0.3282 T0.7657,0.3844 Z M0.9879,0.2167 Q0.9827,0.1554,0.9388,0.1097 Q0.9585,0.1478,0.959,0.1898 Z M0.2331,0.4113 L0.2043,0.3849 Q0.1587,0.3844,0.1177,0.3661 Q0.1673,0.407,0.2331,0.4113 Z M0.2499,0.4118 Q0.2885,0.4118,0.324,0.3973 T0.3852,0.3589 T0.4264,0.3019 T0.4426,0.2323 L0.4126,0.2048 Q0.408,0.2769,0.3529,0.3282 T0.2198,0.3844 Z M0.442,0.2167 Q0.4368,0.1554,0.393,0.1097 Q0.4126,0.1478,0.4132,0.1903 Z M0.779,0.9887 L0.7501,0.9624 Q0.7046,0.9618,0.6636,0.9435 Q0.7132,0.9844,0.779,0.9887 Z M0.7957,0.9892 Q0.8477,0.9887,0.8918,0.9648 T0.9619,0.8997 T0.9885,0.8097 L0.9585,0.7823 Q0.9538,0.8543,0.8987,0.9056 T0.7657,0.9618 Z M0.9879,0.7941 Q0.9827,0.7328,0.9388,0.6871 Q0.9585,0.7253,0.959,0.7672 Z M0.2331,0.9887 L0.2043,0.9624 Q0.1587,0.9618,0.1177,0.9435 Q0.1673,0.9844,0.2331,0.9887 Z M0.2499,0.9892 Q0.3018,0.9887,0.3459,0.9648 T0.416,0.8997 T0.4426,0.8102 L0.4126,0.7823 Q0.408,0.8543,0.3529,0.9056 T0.2198,0.9618 Z M0.442,0.7941 Q0.4368,0.7328,0.393,0.6871 Q0.4126,0.7253,0.4132,0.7672 Z M0.3191,0.6452 Q0.2943,0.622,0.2643,0.6091 T0.2066,0.5962 Q0.1795,0.5962,0.1497,0.6091 T0.0949,0.6441 T0.0537,0.6995 T0.0375,0.7699 Q0.0375,0.8419,0.0941,0.8941 Q0.1189,0.9172,0.1489,0.9304 T0.2066,0.9435 Q0.2337,0.9435,0.2634,0.9304 T0.3182,0.8952 T0.3595,0.8398 T0.3756,0.7699 Q0.3756,0.6978,0.3191,0.6452 Z M0.026,0.7731 L0.026,0.7699 Q0.026,0.6935,0.0854,0.6376 Q0.0658,0.6538,0.0514,0.6739 T0.0289,0.718 T0.0202,0.7677 Z M0.0271,0.7892 L0.0208,0.7833 Q0.0254,0.8419,0.0681,0.886 Q0.0664,0.8828,0.0646,0.879 Q0.0329,0.8382,0.0271,0.7892 Z M0.3866,0.7823 Q0.382,0.8511,0.3278,0.9016 Q0.3843,0.8565,0.3918,0.7871 Z M0.3872,0.7677 L0.393,0.7726 L0.393,0.7699 Q0.393,0.7349,0.3791,0.7038 Q0.3739,0.6973,0.3681,0.6914 Q0.3866,0.7274,0.3872,0.7677 Z M0.865,0.6452 Q0.8402,0.622,0.8102,0.6091 T0.7525,0.5962 Q0.7305,0.5962,0.7072,0.6043 T0.6619,0.628 T0.6223,0.6642 T0.5941,0.7124 T0.5834,0.7699 Q0.5834,0.8419,0.6399,0.8941 Q0.6561,0.9097,0.6757,0.9207 T0.7149,0.9376 T0.7525,0.9435 Q0.7796,0.9435,0.8093,0.9304 T0.8641,0.8952 T0.9054,0.8398 T0.9215,0.7699 Q0.9215,0.6978,0.865,0.6452 Z M0.5718,0.7731 L0.5718,0.7699 Q0.5718,0.6935,0.6313,0.6376 Q0.6013,0.6618,0.584,0.6954 T0.5661,0.7677 Z M0.573,0.7892 L0.5666,0.7833 Q0.5713,0.8419,0.614,0.886 Q0.6122,0.8828,0.6105,0.879 Q0.5788,0.8382,0.573,0.7892 Z M0.9325,0.7823 Q0.9279,0.8511,0.8736,0.9016 Q0.9308,0.8565,0.9377,0.7871 Z M0.9331,0.7672 L0.9388,0.7726 L0.9388,0.7699 Q0.9388,0.7349,0.925,0.7038 Q0.9198,0.6973,0.914,0.6914 Q0.9325,0.7274,0.9331,0.7672 Z M0.3191,0.0677 Q0.2943,0.0446,0.2643,0.0317 T0.2066,0.0188 Q0.1795,0.0188,0.1497,0.0317 T0.0949,0.0667 T0.0537,0.122 T0.0375,0.1925 Q0.0375,0.2645,0.0941,0.3167 Q0.1189,0.3398,0.1489,0.353 T0.2066,0.3661 Q0.2337,0.3661,0.2634,0.353 T0.3182,0.3177 T0.3595,0.2624 T0.3756,0.1925 Q0.3756,0.1204,0.3191,0.0677 Z M0.026,0.1957 L0.026,0.1925 Q0.026,0.1161,0.0854,0.0602 Q0.0554,0.0844,0.0381,0.118 T0.0202,0.1903 Z M0.0271,0.2118 L0.0208,0.2059 Q0.0254,0.2645,0.0681,0.3086 Q0.0664,0.3054,0.0646,0.3016 Q0.0329,0.2608,0.0271,0.2118 Z M0.3866,0.2048 Q0.382,0.2737,0.3278,0.3242 Q0.3849,0.279,0.3918,0.2097 Z M0.3872,0.1903 L0.393,0.1952 L0.393,0.1925 Q0.393,0.1581,0.3791,0.1263 Q0.3739,0.1199,0.3681,0.114 Q0.3866,0.15,0.3872,0.1903 Z M0.865,0.0677 Q0.8402,0.0446,0.8102,0.0317 T0.7525,0.0188 Q0.7253,0.0188,0.6956,0.0317 T0.6408,0.0667 T0.5995,0.122 T0.5834,0.1925 Q0.5834,0.2645,0.6399,0.3167 Q0.6647,0.3398,0.6947,0.353 T0.7525,0.3661 Q0.7796,0.3661,0.8093,0.353 T0.8641,0.3177 T0.9054,0.2624 T0.9215,0.1925 Q0.9215,0.1204,0.865,0.0677 Z M0.5718,0.1957 L0.5718,0.1925 Q0.5718,0.1161,0.6313,0.0602 Q0.6013,0.0844,0.584,0.118 T0.5661,0.1903 Z M0.573,0.2118 L0.5666,0.2059 Q0.5713,0.2645,0.614,0.3086 Q0.6122,0.3054,0.6105,0.3016 Q0.5788,0.2608,0.573,0.2118 Z M0.9325,0.2048 Q0.9279,0.2737,0.8736,0.3242 Q0.9308,0.279,0.9377,0.2097 Z M0.9331,0.1898 L0.9388,0.1952 L0.9388,0.1925 Q0.9388,0.1575,0.925,0.1263 Q0.9198,0.1199,0.914,0.114 Q0.9325,0.15,0.9331,0.1898 Z",type:0}},"":{type:5,data:{d:"M0.7639,0.1974 L0.9593,0.1974 L0.9593,0.1443 L0.7639,0.1443 L0.7639,0.1974 Z M0.7586,0.109 L0.9727,0.109 Q0.9839,0.109,0.992,0.1153 T1,0.1291 L1,0.382 Q1,0.3906,0.9912,0.3964 T0.9727,0.4021 L0.7586,0.4021 Q0.7468,0.4021,0.739,0.3956 T0.7313,0.382 L0.7313,0.1291 Q0.7313,0.1246,0.7339,0.1207 T0.7406,0.1143 T0.7495,0.1104 T0.7586,0.109 Z M0.7639,0.6575 L0.9593,0.6575 L0.9593,0.6044 L0.7639,0.6044 L0.7639,0.6575 Z M0.7313,0.8347 L0.7313,0.5843 Q0.7313,0.5757,0.7401,0.5699 T0.7586,0.5641 L0.9706,0.5641 Q0.9818,0.5641,0.9898,0.5705 T0.9979,0.5843 L0.9979,0.8347 Q0.9979,0.8433,0.989,0.8491 T0.9706,0.8549 L0.7586,0.8549 Q0.7468,0.8549,0.739,0.8483 T0.7313,0.8347 Z M0,1 L0,0 L0.7607,0 L0.7607,1 L0,1 Z",type:0}},"":{type:5,data:{d:"M0.9764,0.0029 L0.3179,0.4552 L0,0.4552 L0,0 Z M1,1 L0,1 L0,0.5448 L0.3091,0.5448 Z",type:0}},"":{type:5,data:{d:"M0.0236,0.0029 L0.6824,0.4552 L1,0.4552 L1,0 Z M0,1 L1,1 L1,0.5448 L0.6912,0.5448 Z",type:0}},"":{type:3,data:"M0,0 L1,0 L1,.05 L.1,.05 L.1,.95 L1,.95 L1,1 L0,1 Z"},"":{type:3,data:"M0,0 L1,0 L1,.05 L0,.05 Z M0,.95 L1,.95 L1,1 L0,1 Z"},"":{type:3,data:"M1,0 L0,0 L0,.05 L.9,.05 L.9,.95 L0,.95 L0,1 L1,1 Z"},"":{type:3,data:"M0,0 L1,0 L1,.05 L.1,.05 L.1,.95 L1,.95 L1,1 L0,1 Z M.25,.15 L1,.15 L1,.85 L.25,.85 Z"},"":{type:3,data:"M0,0 L1,0 L1,.05 L0,.05 Z M0,.95 L1,.95 L1,1 L0,1 Z M0,.15 L1,.15 L1,.85 L0,.85 Z"},"":{type:3,data:"M1,0 L0,0 L0,.05 L.9,.05 L.9,.95 L0,.95 L0,1 L1,1 Z M0,.15 L.75,.15 L.75,.85 L0,.85 Z"},"":{type:5,data:{d:"M0.6574,0.303 Q0.623,0.291,0.5852,0.285 T0.5082,0.279 T0.4311,0.285 T0.359,0.303 L0.3082,0.248 Q0.3525,0.232,0.4041,0.2235 T0.5082,0.215 T0.6123,0.2235 T0.7082,0.248 Z",type:0},scaleType:1},"":{type:5,data:{d:"M0.8557,0.582 L0.7656,0.551 Q0.7852,0.53,0.7951,0.507 T0.8049,0.46 Q0.8049,0.424,0.782,0.3905 T0.718,0.332 T0.6221,0.293 T0.5082,0.279 L0.5082,0.215 Q0.5607,0.215,0.6123,0.2235 T0.709,0.248 T0.7918,0.287 T0.8557,0.3375 T0.8959,0.3965 T0.9098,0.46 T0.8959,0.5235 T0.8557,0.582 Z",type:0},scaleType:1},"":{type:5,data:{d:"M0.5082,0.705 Q0.482,0.705,0.4557,0.703 T0.4049,0.697 L0.4311,0.635 Q0.4508,0.638,0.4697,0.6395 T0.5082,0.641 Q0.5672,0.641,0.6221,0.627 T0.718,0.588 T0.782,0.5295 T0.8049,0.46 Q0.8049,0.436,0.7951,0.413 T0.7656,0.369 L0.8557,0.338 Q0.882,0.365,0.8959,0.3965 T0.9098,0.46 T0.8959,0.5235 T0.8557,0.5825 T0.7918,0.633 T0.709,0.672 T0.6123,0.6965 T0.5082,0.705 Z",type:0},scaleType:1},"":{type:5,data:{d:"M0.5082,0.705 Q0.4557,0.705,0.4041,0.6965 T0.3074,0.672 T0.2246,0.633 T0.1607,0.5825 T0.1205,0.5235 T0.1066,0.46 L0.2115,0.46 Q0.2115,0.496,0.2344,0.5295 T0.2984,0.588 T0.3943,0.627 T0.5082,0.641 T0.6221,0.627 T0.718,0.588 T0.782,0.5295 T0.8049,0.46 L0.9098,0.46 Q0.9098,0.492,0.8959,0.5235 T0.8557,0.5825 T0.7918,0.633 T0.709,0.672 T0.6123,0.6965 T0.5082,0.705 Z",type:0},scaleType:1},"":{type:5,data:{d:"M0.5082,0.705 Q0.4557,0.705,0.4041,0.6965 T0.3074,0.672 T0.2246,0.633 T0.1607,0.5825 T0.1205,0.5235 T0.1066,0.46 T0.1205,0.3965 T0.1607,0.338 L0.2508,0.369 Q0.2311,0.39,0.2213,0.413 T0.2115,0.46 Q0.2115,0.496,0.2344,0.5295 T0.2984,0.588 T0.3943,0.627 T0.5082,0.641 Q0.5279,0.641,0.5467,0.6395 T0.5852,0.635 L0.6115,0.697 Q0.5869,0.701,0.5607,0.703 T0.5082,0.705 Z",type:0},scaleType:1},"":{type:5,data:{d:"M0.1607,0.582 Q0.1344,0.555,0.1205,0.5235 T0.1066,0.46 T0.1205,0.3965 T0.1607,0.3375 T0.2246,0.287 T0.3074,0.248 T0.4041,0.2235 T0.5082,0.215 L0.5082,0.279 Q0.4492,0.279,0.3943,0.293 T0.2984,0.332 T0.2344,0.3905 T0.2115,0.46 Q0.2115,0.484,0.2213,0.507 T0.2508,0.551 Z",type:0},scaleType:1},"":me.LINE_H,"":me.LINE_V,"":me.FADE_RIGHT,"":me.FADE_LEFT,"":me.FADE_DOWN,"":me.FADE_UP,"":me.CURVE_DOWN_RIGHT,"":me.CURVE_DOWN_LEFT,"":me.CURVE_UP_RIGHT,"":me.CURVE_UP_LEFT,"":[me.LINE_V,me.CURVE_UP_RIGHT],"":[me.LINE_V,me.CURVE_DOWN_RIGHT],"":[me.CURVE_DOWN_RIGHT,me.CURVE_UP_RIGHT],"":[me.LINE_V,me.CURVE_UP_LEFT],"":[me.LINE_V,me.CURVE_DOWN_LEFT],"":[me.CURVE_DOWN_LEFT,me.CURVE_UP_LEFT],"":[me.LINE_H,me.CURVE_DOWN_LEFT],"":[me.LINE_H,me.CURVE_DOWN_RIGHT],"":[me.CURVE_DOWN_LEFT,me.CURVE_DOWN_RIGHT],"":[me.LINE_H,me.CURVE_UP_LEFT],"":[me.LINE_H,me.CURVE_UP_RIGHT],"":[me.CURVE_UP_LEFT,me.CURVE_UP_RIGHT],"":[me.LINE_V,me.CURVE_UP_LEFT,me.CURVE_UP_RIGHT],"":[me.LINE_V,me.CURVE_DOWN_LEFT,me.CURVE_DOWN_RIGHT],"":[me.LINE_H,me.CURVE_DOWN_LEFT,me.CURVE_UP_LEFT],"":[me.LINE_H,me.CURVE_DOWN_RIGHT,me.CURVE_UP_RIGHT],"":[me.LINE_V,me.CURVE_DOWN_RIGHT,me.CURVE_UP_LEFT],"":[me.LINE_V,me.CURVE_DOWN_LEFT,me.CURVE_UP_RIGHT],"":[me.LINE_H,me.CURVE_DOWN_RIGHT,me.CURVE_UP_LEFT],"":[me.LINE_H,me.CURVE_DOWN_LEFT,me.CURVE_UP_RIGHT],"":[me.NODE_FILL,me.NODE_STROKE],"":me.NODE_STROKE,"":[me.NODE_FILL,me.NODE_STROKE,me.NODE_LINE_RIGHT],"":[me.NODE_STROKE,me.NODE_LINE_RIGHT],"":[me.NODE_FILL,me.NODE_STROKE,me.NODE_LINE_LEFT],"":[me.NODE_STROKE,me.NODE_LINE_LEFT],"":[me.NODE_FILL,me.NODE_STROKE,me.NODE_LINE_LEFT,me.NODE_LINE_RIGHT],"":[me.NODE_STROKE,me.NODE_LINE_LEFT,me.NODE_LINE_RIGHT],"":[me.NODE_FILL,me.NODE_STROKE,me.NODE_LINE_DOWN],"":[me.NODE_STROKE,me.NODE_LINE_DOWN],"":[me.NODE_FILL,me.NODE_STROKE,me.NODE_LINE_UP],"":[me.NODE_STROKE,me.NODE_LINE_UP],"":[me.NODE_FILL,me.NODE_STROKE,me.NODE_LINE_DOWN,me.NODE_LINE_UP],"":[me.NODE_STROKE,me.NODE_LINE_DOWN,me.NODE_LINE_UP],"":[me.NODE_FILL,me.NODE_STROKE,me.NODE_LINE_DOWN,me.NODE_LINE_RIGHT],"":[me.NODE_STROKE,me.NODE_LINE_DOWN,me.NODE_LINE_RIGHT],"":[me.NODE_FILL,me.NODE_STROKE,me.NODE_LINE_DOWN,me.NODE_LINE_LEFT],"":[me.NODE_STROKE,me.NODE_LINE_DOWN,me.NODE_LINE_LEFT],"":[me.NODE_FILL,me.NODE_STROKE,me.NODE_LINE_UP,me.NODE_LINE_RIGHT],"":[me.NODE_STROKE,me.NODE_LINE_UP,me.NODE_LINE_RIGHT],"":[me.NODE_FILL,me.NODE_STROKE,me.NODE_LINE_UP,me.NODE_LINE_LEFT],"":[me.NODE_STROKE,me.NODE_LINE_UP,me.NODE_LINE_LEFT],"":[me.NODE_FILL,me.NODE_STROKE,me.NODE_LINE_UP,me.NODE_LINE_DOWN,me.NODE_LINE_RIGHT],"":[me.NODE_STROKE,me.NODE_LINE_UP,me.NODE_LINE_DOWN,me.NODE_LINE_RIGHT],"":[me.NODE_FILL,me.NODE_STROKE,me.NODE_LINE_UP,me.NODE_LINE_DOWN,me.NODE_LINE_LEFT],"":[me.NODE_STROKE,me.NODE_LINE_UP,me.NODE_LINE_DOWN,me.NODE_LINE_LEFT],"":[me.NODE_FILL,me.NODE_STROKE,me.NODE_LINE_DOWN,me.NODE_LINE_LEFT,me.NODE_LINE_RIGHT],"":[me.NODE_STROKE,me.NODE_LINE_DOWN,me.NODE_LINE_LEFT,me.NODE_LINE_RIGHT],"":[me.NODE_FILL,me.NODE_STROKE,me.NODE_LINE_UP,me.NODE_LINE_LEFT,me.NODE_LINE_RIGHT],"":[me.NODE_STROKE,me.NODE_LINE_UP,me.NODE_LINE_LEFT,me.NODE_LINE_RIGHT],"":[me.NODE_FILL,me.NODE_STROKE,me.NODE_LINE_UP,me.NODE_LINE_DOWN,me.NODE_LINE_LEFT,me.NODE_LINE_RIGHT],"":[me.NODE_STROKE,me.NODE_LINE_UP,me.NODE_LINE_DOWN,me.NODE_LINE_LEFT,me.NODE_LINE_RIGHT],"🬀":Gt(1),"🬁":Gt(2),"🬂":Gt(3),"🬃":Gt(4),"🬄":Gt(5),"🬅":Gt(6),"🬆":Gt(7),"🬇":Gt(8),"🬈":Gt(9),"🬉":Gt(10),"🬊":Gt(11),"🬋":Gt(12),"🬌":Gt(13),"🬍":Gt(14),"🬎":Gt(15),"🬏":Gt(16),"🬐":Gt(17),"🬑":Gt(18),"🬒":Gt(19),"🬓":Gt(20),"🬔":Gt(22),"🬕":Gt(23),"🬖":Gt(24),"🬗":Gt(25),"🬘":Gt(26),"🬙":Gt(27),"🬚":Gt(28),"🬛":Gt(29),"🬜":Gt(30),"🬝":Gt(31),"🬞":Gt(32),"🬟":Gt(33),"🬠":Gt(34),"🬡":Gt(35),"🬢":Gt(36),"🬣":Gt(37),"🬤":Gt(38),"🬥":Gt(39),"🬦":Gt(40),"🬧":Gt(41),"🬨":Gt(43),"🬩":Gt(44),"🬪":Gt(45),"🬫":Gt(46),"🬬":Gt(47),"🬭":Gt(48),"🬮":Gt(49),"🬯":Gt(50),"🬰":Gt(51),"🬱":Gt(52),"🬲":Gt(53),"🬳":Gt(54),"🬴":Gt(55),"🬵":Gt(56),"🬶":Gt(57),"🬷":Gt(58),"🬸":Gt(59),"🬹":Gt(60),"🬺":Gt(61),"🬻":Gt(62),"🬼":{type:3,data:"M0,0.6667 L0,1 L0.5,1 Z"},"🬽":{type:3,data:"M0,0.6667 L0,1 L1,1 Z"},"🬾":{type:3,data:"M0,0.3333 L0,1 L0.5,1 Z"},"🬿":{type:3,data:"M0,0.3333 L0,1 L1,1 Z"},"🭀":{type:3,data:"M0,0 L0,1 L0.5,1 Z"},"🭁":{type:3,data:"M0,0.3333 L0.5,0 L1,0 L1,1 L0,1 Z"},"🭂":{type:3,data:"M0,0.3333 L1,0 L1,1 L0,1 Z"},"🭃":{type:3,data:"M0,0.6667 L0.5,0 L1,0 L1,1 L0,1 Z"},"🭄":{type:3,data:"M0,0.6667 L1,0 L1,1 L0,1 Z"},"🭅":{type:3,data:"M0,1 L0.5,0 L1,0 L1,1 Z"},"🭆":{type:3,data:"M0,0.6667 L1,0.3333 L1,1 L0,1 Z"},"🭇":{type:3,data:"M0.5,1 L1,0.6667 L1,1 Z"},"🭈":{type:3,data:"M0,1 L1,0.6667 L1,1 Z"},"🭉":{type:3,data:"M0.5,1 L1,0.3333 L1,1 Z"},"🭊":{type:3,data:"M0,1 L1,0.3333 L1,1 Z"},"🭋":{type:3,data:"M0.5,1 L1,0 L1,1 Z"},"🭌":{type:3,data:"M0.5,0 L0,0 L0,1 L1,1 L1,0.3333 Z"},"🭍":{type:3,data:"M0,0 L0,1 L1,1 L1,0.3333 Z"},"🭎":{type:3,data:"M0.5,0 L0,0 L0,1 L1,1 L1,0.6667 Z"},"🭏":{type:3,data:"M0,0 L0,1 L1,1 L1,0.6667 Z"},"🭐":{type:3,data:"M0.5,0 L0,0 L0,1 L1,1 Z"},"🭑":{type:3,data:"M0,0.3333 L0,1 L1,1 L1,0.6667 Z"},"🭒":{type:3,data:"M0,0.6667 L0.5,1 L1,1 L1,0 L0,0 Z"},"🭓":{type:3,data:"M0,0.6667 L1,1 L1,0 L0,0 Z"},"🭔":{type:3,data:"M0,0.3333 L0.5,1 L1,1 L1,0 L0,0 Z"},"🭕":{type:3,data:"M0,0.3333 L1,1 L1,0 L0,0 Z"},"🭖":{type:3,data:"M0,0 L0.5,1 L1,1 L1,0 Z"},"🭗":{type:3,data:"M0,0.3333 L0,0 L0.5,0 Z"},"🭘":{type:3,data:"M0,0.3333 L0,0 L1,0 Z"},"🭙":{type:3,data:"M0,0.6667 L0,0 L0.5,0 Z"},"🭚":{type:3,data:"M0,0.6667 L0,0 L1,0 Z"},"🭛":{type:3,data:"M0,1 L0,0 L0.5,0 Z"},"🭜":{type:3,data:"M0,0.6667 L0,0 L1,0 L1,0.3333 Z"},"🭝":{type:3,data:"M0.5,1 L0,1 L0,0 L1,0 L1,0.6667 Z"},"🭞":{type:3,data:"M0,1 L0,0 L1,0 L1,0.6667 Z"},"🭟":{type:3,data:"M0.5,1 L0,1 L0,0 L1,0 L1,0.3333 Z"},"🭠":{type:3,data:"M0,1 L0,0 L1,0 L1,0.3333 Z"},"🭡":{type:3,data:"M0.5,1 L0,1 L0,0 L1,0 Z"},"🭢":{type:3,data:"M0.5,0 L1,0 L1,0.3333 Z"},"🭣":{type:3,data:"M0,0 L1,0 L1,0.3333 Z"},"🭤":{type:3,data:"M0.5,0 L1,0 L1,0.6667 Z"},"🭥":{type:3,data:"M0,0 L1,0 L1,0.6667 Z"},"🭦":{type:3,data:"M0.5,0 L1,0 L1,1 Z"},"🭧":{type:3,data:"M0,0.3333 L1,0.6667 L1,0 L0,0 Z"},"🭨":{type:3,data:"M0,0 L1,0 L1,1 L0,1 L0.5,0.5 Z"},"🭩":{type:3,data:"M0,0 L0.5,0.5 L1,0 L1,1 L0,1 Z"},"🭪":{type:3,data:"M0,0 L1,0 L0.5,0.5 L1,1 L0,1 Z"},"🭫":{type:3,data:"M0,0 L1,0 L1,1 L0.5,0.5 L0,1 Z"},"🭬":{type:3,data:"M0,0 L0.5,0.5 L0,1 Z"},"🭭":{type:3,data:"M0,0 L1,0 L0.5,0.5 Z"},"🭮":{type:3,data:"M1,0 L1,1 L0.5,0.5 Z"},"🭯":{type:3,data:"M0,1 L1,1 L0.5,0.5 Z"},"🭰":{type:0,data:[{x:1,y:0,w:1,h:8}]},"🭱":{type:0,data:[{x:2,y:0,w:1,h:8}]},"🭲":{type:0,data:[{x:3,y:0,w:1,h:8}]},"🭳":{type:0,data:[{x:4,y:0,w:1,h:8}]},"🭴":{type:0,data:[{x:5,y:0,w:1,h:8}]},"🭵":{type:0,data:[{x:6,y:0,w:1,h:8}]},"🭶":{type:0,data:[{x:0,y:1,w:8,h:1}]},"🭷":{type:0,data:[{x:0,y:2,w:8,h:1}]},"🭸":{type:0,data:[{x:0,y:3,w:8,h:1}]},"🭹":{type:0,data:[{x:0,y:4,w:8,h:1}]},"🭺":{type:0,data:[{x:0,y:5,w:8,h:1}]},"🭻":{type:0,data:[{x:0,y:6,w:8,h:1}]},"🭼":{type:0,data:[{x:0,y:0,w:1,h:8},{x:0,y:7,w:8,h:1}]},"🭽":{type:0,data:[{x:0,y:0,w:1,h:8},{x:0,y:0,w:8,h:1}]},"🭾":{type:0,data:[{x:7,y:0,w:1,h:8},{x:0,y:0,w:8,h:1}]},"🭿":{type:0,data:[{x:7,y:0,w:1,h:8},{x:0,y:7,w:8,h:1}]},"🮀":{type:0,data:[{x:0,y:0,w:8,h:1},{x:0,y:7,w:8,h:1}]},"🮁":{type:0,data:[{x:0,y:0,w:8,h:1},{x:0,y:2,w:8,h:1},{x:0,y:4,w:8,h:1},{x:0,y:7,w:8,h:1}]},"🮂":{type:0,data:[{x:0,y:0,w:8,h:2}]},"🮃":{type:0,data:[{x:0,y:0,w:8,h:3}]},"🮄":{type:0,data:[{x:0,y:0,w:8,h:5}]},"🮅":{type:0,data:[{x:0,y:0,w:8,h:6}]},"🮆":{type:0,data:[{x:0,y:0,w:8,h:7}]},"🮇":{type:0,data:[{x:6,y:0,w:2,h:8}]},"🮈":{type:0,data:[{x:5,y:0,w:3,h:8}]},"🮉":{type:0,data:[{x:3,y:0,w:5,h:8}]},"🮊":{type:0,data:[{x:2,y:0,w:6,h:8}]},"🮋":{type:0,data:[{x:1,y:0,w:7,h:8}]},"🮌":{type:1,data:[[1,0],[0,1]],clipPath:"M0,0 L0.5,0 L0.5,1 L0,1 Z"},"🮍":{type:1,data:[[1,0],[0,1]],clipPath:"M0.5,0 L1,0 L1,1 L0.5,1 Z"},"🮎":{type:1,data:[[1,0],[0,1]],clipPath:"M0,0 L1,0 L1,0.5 L0,0.5 Z"},"🮏":{type:1,data:[[1,0],[0,1]],clipPath:"M0,0.5 L1,0.5 L1,1 L0,1 Z"},"🮐":{type:1,data:[[0,1],[1,0]]},"🮑":[{type:1,data:[[0,1],[1,0]],clipPath:"M0,0.5 L1,0.5 L1,1 L0,1 Z"},{type:0,data:[{x:0,y:0,w:8,h:4}]}],"🮒":[{type:1,data:[[0,1],[1,0]],clipPath:"M0,0 L1,0 L1,0.5 L0,0.5 Z"},{type:0,data:[{x:0,y:4,w:8,h:4}]}],"🮔":[{type:1,data:[[0,1],[1,0]],clipPath:"M0,0 L0.5,0 L0.5,1 L0,1 Z"},{type:0,data:[{x:4,y:0,w:4,h:8}]}],"🮕":{type:0,data:[{x:0,y:0,w:2,h:2},{x:4,y:0,w:2,h:2},{x:2,y:2,w:2,h:2},{x:6,y:2,w:2,h:2},{x:0,y:4,w:2,h:2},{x:4,y:4,w:2,h:2},{x:2,y:6,w:2,h:2},{x:6,y:6,w:2,h:2}]},"🮖":{type:0,data:[{x:2,y:0,w:2,h:2},{x:6,y:0,w:2,h:2},{x:0,y:2,w:2,h:2},{x:4,y:2,w:2,h:2},{x:2,y:4,w:2,h:2},{x:6,y:4,w:2,h:2},{x:0,y:6,w:2,h:2},{x:4,y:6,w:2,h:2}]},"🮗":{type:0,data:[{x:0,y:2,w:8,h:2},{x:0,y:6,w:8,h:2}]},"🮘":{type:2,data:"M-0.25,-0.25 L1.25,1.25 M-0.25,0 L1,1.25 M-0.25,0.25 L0.75,1.25 M-0.25,0.5 L0.5,1.25 M0,-0.25 L1.25,1 M0.25,-0.25 L1.25,0.75 M0.5,-0.25 L1.25,0.5 M-0.25,0.75 L0.25,1.25 M0.75,-0.25 L1.25,0.25",strokeWidth:1},"🮙":{type:2,data:"M-0.25,0.5 L0.5,-0.25 M-0.25,0.75 L0.75,-0.25 M-0.25,1 L1,-0.25 M-0.25,1.25 L1.25,-0.25 M0,1.25 L1.25,0 M0.25,1.25 L1.25,0.25 M0.5,1.25 L1.25,0.5 M-0.25,0.25 L0.25,-0.25 M0.75,1.25 L1.25,0.75",strokeWidth:1},"🮚":{type:5,data:{d:"M0,0 L.5,.5 L0,1 L1,1 L.5,.5 L1,0",type:0}},"🮛":{type:5,data:{d:"M0,0 L.5,.5 L1,0 L1,1 L.5,.5 L0,1",type:0}},"🮜":{type:1,data:[[1,0],[0,1]],clipPath:"M0,0 L1,0 L0,1 Z"},"🮝":{type:1,data:[[1,0],[0,1]],clipPath:"M0,0 L1,0 L1,1 Z"},"🮞":{type:1,data:[[1,0],[0,1]],clipPath:"M1,0 L1,1 L0,1 Z"},"🮟":{type:1,data:[[1,0],[0,1]],clipPath:"M0,0 L1,1 L0,1 Z"},"🮠":{type:2,data:"M.5,0 L0,.5",strokeWidth:1},"🮡":{type:2,data:"M.5,0 L1,.5",strokeWidth:1},"🮢":{type:2,data:"M0,.5 L.5,1",strokeWidth:1},"🮣":{type:2,data:"M1,.5 L.5,1",strokeWidth:1},"🮤":{type:2,data:"M.5,0 L0,.5 L.5,1",strokeWidth:1},"🮥":{type:2,data:"M.5,0 L1,.5 L.5,1",strokeWidth:1},"🮦":{type:2,data:"M0,.5 L.5,1 L1,.5",strokeWidth:1},"🮧":{type:2,data:"M0,.5 L.5,0 L1,.5",strokeWidth:1},"🮨":{type:2,data:"M.5,0 L0,.5 M1,.5 L.5,1",strokeWidth:1},"🮩":{type:2,data:"M.5,0 L1,.5 M0,.5 L.5,1",strokeWidth:1},"🮪":{type:2,data:"M.5,0 L1,.5 L.5,1 L0,.5",strokeWidth:1},"🮫":{type:2,data:"M.5,0 L0,.5 L.5,1 L1,.5",strokeWidth:1},"🮬":{type:2,data:"M0,.5 L.5,0 L1,.5 L.5,1",strokeWidth:1},"🮭":{type:2,data:"M1,.5 L.5,0 L0,.5 L.5,1",strokeWidth:1},"🮮":{type:2,data:"M.5,0 L1,.5 L.5,1 L0,.5 Z",strokeWidth:1},"🮯":{type:2,data:"M0,.5 L1,.5 M.5,.35 L.5,.65",strokeWidth:1},"🮰":{type:3,data:"M0.1,0.2 L0.1,.8 L.4,.6 L.9,0.6 Z",scaleType:1},"🮱":{type:4,data:{d:"M.1,.525 L.35,.675 L.9,.35",type:1},scaleType:1},"🮲":{type:3,data:"M.29,.27 L0.13,.56 L.22,.59 L.35,0.35 L.67,.35 L.57,.57 L.71,.76 L.22,.76 L.42,1 L.53,.98 L.43,.86 L.9,.86 L.71,.6 L1,.6 L1,.52 L.83,.52 L.92,.36 L1,.36 L1,.27Z M.99,.13 A.12,.12,0,1,1,.75,.13 A.12,.12,0,1,1,.99,.13"},"🮳":{type:3,data:"M0,.27 L.3,.27 L.55,.12 L.63,.18 L.33,.36 L0,.36 M0,.52 L.33,.52 L.59,.89 L.73,.89 L.73,.98 L.53,.98 L.28,.6 L0,.6"},"🮴":{type:4,data:{d:"M.15,.55 L.5,.4 L.5,.45 L.65,.45 L.65,.35 L.85,.35 L.85,.625 L.5,.625 L.5,.7 Z",type:0},scaleType:1},"🮵":[{type:5,data:{d:"M0,0 L1,0 L1,.0625 L0,.0625 Z M0,.9375 L1,.9375 L1,1 L0,1 Z",type:0}},{type:5,data:{d:"M.15,.5 L.5,.35 L.5,.425 L.85,.425 L.85,.575 L.5,.575 L.5,.65 Z",type:0},scaleType:1}],"🮶":[{type:5,data:{d:"M0,0 L1,0 L1,.0625 L0,.0625 Z M0,.9375 L1,.9375 L1,1 L0,1 Z",type:0}},{type:5,data:{d:"M.85,.5 L.5,.35 L.5,.425 L.15,.425 L.15,.575 L.5,.575 L.5,.65 Z",type:0},scaleType:1}],"🮷":[{type:5,data:{d:"M.875,0 L1,0 L1,1 L.875,1 Z",type:0}},{type:5,data:{d:"M.5,.675 L.2,.5 L.35,.5 L.35,.325 L.65,.325 L.65,.5 L.8,.5 Z",type:0},scaleType:1}],"🮸":[{type:5,data:{d:"M.875,0 L1,0 L1,1 L.875,1 Z",type:0}},{type:5,data:{d:"M.5,.325 L.2,.5 L.35,.5 L.35,.675 L.65,.675 L.65,.5 L.8,.5 Z",type:0},scaleType:1}],"🮹":{type:5,data:{d:"M1,.89 L.11,.89 L.11,.37 L.36,.12 L.74,.12 L.96,.34 L1,.34 L1,.405 L.92,.405 L.69,.185 L.41,.185 L.21,.42 L.21,.825 L1,.825 Z",type:0}},"🮺":{type:5,data:{d:"M0,.89 L0,.825 L.78,.825 L.78,.53 L.7,.415 L0,.415 L0,.35 L.75,.35 L.88,.48 L.88,.89 Z",type:0}},"🮻":{type:5,data:{d:"M.31,.275 L.44,.275 L.44,.47 L.05,.47 L.05,.405 L.31,.405 Z M.56,.275 L.69,.275 L.69,.405 L.95,.405 L.95,.47 L.56,.47 Z M.05,.53 L.44,.53 L.44,.725 L.31,.725 L.31,.595 L.05,.595 Z M.56,.53 L.95,.53 L.95,.595 L.69,.595 L.69,.725 L.56,.725 Z",type:0},scaleType:1},"🮼":[{type:3,data:"M0,0 L1,0 L1,1 L0,1 L0,.935 L.885,.935 L.885,.065 L0,.065 Z"},{type:3,data:"M.67,.5 A.17,.085,0,1,1,.33,.5 A.17,.085,0,1,1,.67,.5",scaleType:1}],"🮽":{type:4,data:{d:"M0,0 L.5,.5 L1,0 L1,1 L.5,.5 L0,1 Z",type:1}},"🮾":{type:4,data:{d:"M1,.5 L.5,1",type:1}},"🮿":{type:4,data:{d:"M.5,0 L1,.5 L.5,1 L0,.5 Z",type:1}},"🯀":{type:3,data:"M.16,.445 A.02,.01,0,0,1,.39,.33 L.5,.375 L.61,.33 A.02,.01,0,0,1,.84,.445 L.75,.5 L.84,.555 A.02,.01,0,0,1,.61,.67 L.5,.625 L.39,.67 A.02,.01,0,0,1,.16,.555 L.25,.5 Z M.24,.41 L.39,.5 L.24,.59 L.32,.63 L.5,.555 L.68,.63 L.76,.59 L.61,.5 L.76,.41 L.68,.37 L.5,.445 L.32,.37 Z",scaleType:1},"🯁":{type:3,data:"M0.142308,0.924 Q0.130770,0.924,0.120193,0.922 T0.101924,0.916 T0.089424,0.9065 T0.084616,0.895 V0.025 Q0.084616,0.019,0.089424,0.0135 T0.101924,0.004 T0.120193,-0.002 T0.142308,-0.004 Q0.150000,-0.004,0.157693,-0.003 T0.173078,0.000 L0.430770,0.085 Q0.451924,0.059,0.494232,0.041 T0.587501,0.013 T0.692309,-0.0005 T0.800001,-0.004 H1 V0.055 H0.800001 Q0.771155,0.055,0.742309,0.056 T0.685578,0.060 T0.630770,0.0685 T0.580770,0.0825 T0.543270,0.1045 T0.528847,0.133 V0.647 H0.530770 Q0.596155,0.645,0.659616,0.638 T0.782693,0.6165 T0.893270,0.5805 T1,0.531 V0.623 Q0.934616,0.644,0.880770,0.6595 T0.769232,0.685 T0.650963,0.700 T0.528847,0.707 V0.787 Q0.528847,0.802,0.543270,0.8155 T0.580770,0.8375 T0.630770,0.8515 T0.685578,0.860 T0.742309,0.864 T0.800001,0.865 H1 V0.924 H0.800001 Q0.746155,0.924,0.692309,0.9205 T0.587501,0.907 T0.494232,0.879 T0.430770,0.835 L0.173078,0.920 Q0.165386,0.922,0.157693,0.923 T0.142308,0.924 Z M0.2,0.841 L0.415385,0.770 V0.150 L0.2,0.079 V0.841 Z M1,0.698 Q0.973077,0.694,0.969231,0.6885 T0.965385,0.677 Q0.965385,0.672,0.969231,0.6665 T1,0.657 V0.698 Z"},"🯂":{type:3,data:"M0,0.623 V0.531 Q0.044231,0.512,0.0625,0.4905 T0.092308,0.4465 T0.108654,0.4005 T0.113462,0.354 V0.351 Q0.113462,0.345,0.117308,0.3395 T0.129808,0.3305 T0.148846,0.3245 T0.171154,0.323 H0.501923 Q0.532692,0.323,0.563462,0.3185 T0.617308,0.303 T0.651923,0.2765 T0.663462,0.2435 V0.241 Q0.663462,0.219,0.657692,0.197 T0.639423,0.1545 T0.604808,0.115 T0.549615,0.082 T0.475577,0.0615 T0.392308,0.055 H0 V-0.004 H1 V0.055 H0.667308 Q0.694231,0.071,0.713462,0.09 T0.746154,0.129 T0.766346,0.1705 T0.775,0.213 H1 V0.316 Q0.971154,0.305,0.955769,0.2965 T0.920192,0.2825 T0.876923,0.2745 T0.830769,0.272 H0.773077 Q0.767308,0.297,0.743269,0.319 T0.680769,0.355 T0.595192,0.375 T0.501923,0.381 H0.227308 Q0.223462,0.415,0.211,0.4485 T0.172692,0.5135 T0.108269,0.573 T0,0.623 Z M0.611538,0.924 H0 V0.865 H0.611538 Q0.642308,0.865,0.673077,0.8605 T0.727885,0.845 T0.762308,0.8185 T0.773077,0.787 V0.785 Q0.773077,0.769,0.762308,0.7535 T0.727885,0.727 T0.673077,0.7115 T0.611538,0.707 H0.059615 Q0.048077,0.707,0.037115,0.7045 T0,0.694 V0.653 Q0.026923,0.648,0.037115,0.646 T0.059615,0.644 H0.722692 Q0.753462,0.644,0.784231,0.6395 T0.839038,0.624 T0.873846,0.5975 T0.884615,0.566 V0.564 Q0.884615,0.548,0.873846,0.532 T0.839038,0.5055 T0.784231,0.49 T0.722692,0.4855 H0.392308 Q0.380769,0.4855,0.370192,0.483 T0.351923,0.4765 T0.339423,0.467 T0.334615,0.4555 T0.339423,0.444 T0.351923,0.4345 T0.370192,0.428 T0.392308,0.4255 H0.832692 Q0.855769,0.4255,0.878846,0.4235 T0.922115,0.416 T0.957692,0.4015 T1,0.3815 V0.4685 Q0.975,0.4705,0.966346,0.4725 T0.95,0.4765 Q0.961538,0.4835,0.969231,0.4915 T1,0.5075 V0.6205 Q0.965385,0.6455,0.926923,0.665 T0.84,0.6935 Q0.866923,0.7115,0.877596,0.7345 T0.894231,0.7855 V0.787 Q0.894231,0.815,0.876923,0.8425 T0.820192,0.8895 T0.726923,0.916 T0.611538,0.924 Z"},"🯃":{type:3,data:"M0,0.473 V0.386 Q0.025490,0.378,0.028431,0.3695 T0.031373,0.352 V0.35 Q0.031373,0.342,0.028431,0.333 T0,0.316 V0.213 H0.652941 Q0.684314,0.213,0.715686,0.2085 T0.770588,0.193 T0.804902,0.1665 T0.815686,0.135 V0.133 Q0.815686,0.117,0.804902,0.101 T0.770588,0.0745 T0.715686,0.0595 T0.652941,0.055 H0 V-0.004 H0.652941 Q0.707843,-0.004,0.761765,0.004 T0.856863,0.031 T0.915686,0.0775 T0.933333,0.133 V0.135 Q0.933333,0.163,0.915686,0.1905 T0.856863,0.237 T0.761765,0.264 T0.652941,0.272 H0.109804 Q0.131373,0.29,0.140196,0.31 T0.149020,0.35 V0.352 Q0.149020,0.37,0.142157,0.388 T0.118627,0.4225 T0.076471,0.452 T0,0.473 Z M0,0.625 V0.513 Q0.029412,0.526,0.032353,0.54 T0.035294,0.568 V0.57 Q0.035294,0.584,0.032353,0.598 T0,0.625 Z"},"🯄":{type:3,data:"M0.019231,1.085 V-0.165 H0.980769 V1.085 H0.019231 Z M0.446154,0.527 H0.553846 Q0.553846,0.511,0.5625,0.495 T0.591346,0.466 T0.631731,0.4405 T0.666346,0.4135 T0.688462,0.3825 T0.696154,0.35 Q0.696154,0.33,0.682692,0.311 T0.641346,0.2785 T0.575,0.259 T0.498077,0.253 T0.421154,0.259 T0.356731,0.279 T0.315385,0.3125 T0.301923,0.352 V0.357 H0.409615 V0.354 Q0.409615,0.345,0.414423,0.335 T0.431731,0.318 T0.4625,0.3075 T0.498077,0.304 Q0.517308,0.304,0.534615,0.307 T0.564423,0.3165 T0.582692,0.332 T0.588462,0.35 Q0.588462,0.366,0.572115,0.3805 T0.535577,0.4075 T0.496154,0.4335 T0.465385,0.4625 T0.45,0.4945 T0.446154,0.527 Z M0.5,0.667 Q0.519231,0.667,0.5375,0.664 T0.569231,0.654 T0.588462,0.637 T0.594231,0.617 T0.588462,0.5975 T0.569231,0.581 T0.5375,0.571 T0.5,0.568 T0.4625,0.571 T0.430769,0.581 T0.411538,0.5975 T0.405769,0.617 T0.411538,0.637 T0.430769,0.654 T0.4625,0.664 T0.5,0.667 Z",scaleType:1},"🯅":{type:5,data:{d:"M.44,.425 L.44,.51 L.44,.56 L.19,.685 L.26,.72 L.5,.605 L.74,.72 L.81,.685 L.56,.56 L.56,.51 L.56,.425 Z M.17,.46 L.17,.51 L.83,.51 L.83,.46 Z M.67,.35 C.67,.303,.594,.265,.5,.265 C.406,.265,.33,.303,.33,.35 C.33,.397,.406,.435,.5,.435 C.594,.435,.67,.397,.67,.35 Z M.56,.35 C.56,.3665,.533,.38,.5,.38 C.467,.38,.44,.3665,.44,.35 C.44,.3335,.467,.32,.5,.32 C.533,.32,.56,.3335,.56,.35 Z",type:0},scaleType:1},"🯆":{type:5,data:{d:"M.44,.425 L.44,.46 L.23,.385 L.19,.43 L.44,.51 L.44,.56 L.29,.71 L.38,.735 L.5,.605 L.61,.735 L.7,.71 L.56,.56 L.56,.51 L.81,.43 L.77,.385 L.56,.46 L.56,.425 Z M.67,.35 C.67,.303,.594,.265,.5,.265 C.406,.265,.33,.303,.33,.35 C.33,.397,.406,.435,.5,.435 C.594,.435,.67,.397,.67,.35 Z M.56,.35 C.56,.3665,.533,.38,.5,.38 C.467,.38,.44,.3665,.44,.35 C.44,.3335,.467,.32,.5,.32 C.533,.32,.56,.3335,.56,.35 Z",type:0},scaleType:1},"🯇":{type:5,data:{d:"M.44,.425 L.44,.56 L.29,.71 L.38,.735 L.5,.605 L.74,.72 L.81,.685 L.56,.56 L.56,.425 Z M.18,.53 L.23,.575 L.81,.43 L.77,.385 Z M.67,.35 C.67,.303,.594,.265,.5,.265 C.406,.265,.33,.303,.33,.35 C.33,.397,.406,.435,.5,.435 C.594,.435,.67,.397,.67,.35 Z M.56,.35 C.56,.3665,.533,.38,.5,.38 C.467,.38,.44,.3665,.44,.35 C.44,.3335,.467,.32,.5,.32 C.533,.32,.56,.3335,.56,.35 Z",type:0},scaleType:1},"🯈":{type:5,data:{d:"M.44,.425 L.44,.56 L.19,.685 L.26,.72 L.5,.605 L.62,.735 L.71,.71 L.56,.56 L.56,.425 Z M.23,.385 L.18,.43 L.77,.575 L.81,.53 Z M.67,.35 C.67,.303,.594,.265,.5,.265 C.406,.265,.33,.303,.33,.35 C.33,.397,.406,.435,.5,.435 C.594,.435,.67,.397,.67,.35 Z M.56,.35 C.56,.3665,.533,.38,.5,.38 C.467,.38,.44,.3665,.44,.35 C.44,.3335,.467,.32,.5,.32 C.533,.32,.56,.3335,.56,.35 Z",type:0},scaleType:1},"🯉":{type:5,data:{d:"M.44,.425 L.45,.495 L.15,.645 L.34,.645 L.34,.7 L.44,.7 L.44,.645 L.56,.645 L.56,.7 L.66,.7 L.66,.645 L.84,.645 L.54,.495 L.56,.425 Z M.39,.6 L.5,.55 L.60,.6 Z M.17,.46 L.17,.51 L.83,.51 L.83,.46 Z M.67,.35 C.67,.303,.594,.265,.5,.265 C.406,.265,.33,.303,.33,.35 C.33,.397,.406,.435,.5,.435 C.594,.435,.67,.397,.67,.35 Z M.56,.35 C.56,.3665,.533,.38,.5,.38 C.467,.38,.44,.3665,.44,.35 C.44,.3335,.467,.32,.5,.32 C.533,.32,.56,.3335,.56,.35 Z",type:0},scaleType:1},"🯊":{type:5,data:{d:"M.26,.375 L.5,.255 L.74,.375 L.74,.665 L.5,.55 L.26,.665 Z M.37,.395 L.37,.54 L.5,.475 L.63,.54 L.63,.395 L.5,.33 Z",type:0},scaleType:1},"🯋":{type:5,data:{d:"M.09,.41 L.32,.295 L.5,.375 L.68,.295 L.91,.41 L.75,.5 L.91,.59 L.68,.705 L.5,.625 L.32,.705 L.09,.59 L.25,.5 Z M.24,.41 L.39,.5 L.24,.59 L.32,.63 L.5,.555 L.68,.63 L.76,.59 L.61,.5 L.76,.41 L.68,.37 L.5,.445 L.32,.37 Z",type:0},scaleType:1},"🯌":{type:5,data:{d:"M.55,.305 L.88,.305 L.88,.355 L.65,.355 L.65,.47 L.88,.47 L.88,.52 L.55,.52 Z",type:0},scaleType:1},"🯍":{type:5,data:{d:"M.38,.39 L.5,.33 L.62,.39 L.62,.53 L.5,.47 L.38,.53 Z",type:0},scaleType:1},"🯎":{type:3,data:"M0,0 L0.6667,0 L0.6667,1 L0,1 Z"},"🯏":{type:3,data:"M0,0 L0.3333,0 L0.3333,1 L0,1 Z"},"🯐":{type:2,data:"M1,.5 L0,1",strokeWidth:1},"🯑":{type:2,data:"M1,0 L0,.5",strokeWidth:1},"🯒":{type:2,data:"M0,0 L1,.5",strokeWidth:1},"🯓":{type:2,data:"M0,.5 L1,1",strokeWidth:1},"🯔":{type:2,data:"M0,0 L.5,1",strokeWidth:1},"🯕":{type:2,data:"M.5,0 L1,1",strokeWidth:1},"🯖":{type:2,data:"M1,0 L.5,1",strokeWidth:1},"🯗":{type:2,data:"M.5,0 L0,1",strokeWidth:1},"🯘":{type:2,data:"M0,0 L.5,.5 L1,0",strokeWidth:1},"🯙":{type:2,data:"M1,0 L.5,.5 L1,1",strokeWidth:1},"🯚":{type:2,data:"M0,1 L.5,.5 L1,1",strokeWidth:1},"🯛":{type:2,data:"M0,0 L.5,.5 L0,1",strokeWidth:1},"🯜":{type:2,data:"M0,0 L.5,1 L1,0",strokeWidth:1},"🯝":{type:2,data:"M1,0 L0,.5 L1,1",strokeWidth:1},"🯞":{type:2,data:"M0,1 L.5,0 L1,1",strokeWidth:1},"🯟":{type:2,data:"M0,0 L1,.5 L0,1",strokeWidth:1},"🯠":{type:5,data:{d:"M0,0 C0,.276,.224,.5,.5,.5 C.776,.5,1,.276,1,0",type:1}},"🯡":{type:5,data:{d:"M1,0 C.724,0,.5,.224,.5,.5 C.5,.776,.724,1,1,1",type:1}},"🯢":{type:5,data:{d:"M0,1 C0,.724,.224,.5,.5,.5 C.776,.5,1,.724,1,1",type:1}},"🯣":{type:5,data:{d:"M0,0 C.276,0,.5,.224,.5,.5 C.5,.776,.276,1,0,1",type:1}},"🯤":{type:0,data:[{x:2,y:0,w:4,h:4}]},"🯥":{type:0,data:[{x:2,y:4,w:4,h:4}]},"🯦":{type:0,data:[{x:0,y:2,w:4,h:4}]},"🯧":{type:0,data:[{x:4,y:2,w:4,h:4}]},"🯨":{type:5,data:{d:"M0,0 C0,.276,.224,.5,.5,.5 C.776,.5,1,.276,1,0 Z",type:0}},"🯩":{type:5,data:{d:"M1,0 C.724,0,.5,.224,.5,.5 C.5,.776,.724,1,1,1 Z",type:0}},"🯪":{type:5,data:{d:"M0,1 C0,.724,.224,.5,.5,.5 C.776,.5,1,.724,1,1 Z",type:0}},"🯫":{type:5,data:{d:"M0,0 C.276,0,.5,.224,.5,.5 C.5,.776,.276,1,0,1 Z",type:0}},"🯬":{type:5,data:{d:"M1,0 L.5,0 C.5,.276,.724,.5,1,.5 Z",type:0}},"🯭":{type:5,data:{d:"M0,1 L.5,1 C.5,.724,.276,.5,0,.5 Z",type:0}},"🯮":{type:5,data:{d:"M1,1 L1,.5 C.724,.5,.5,.724,.5,1 Z",type:0}},"🯯":{type:5,data:{d:"M0,0 L0,.5 C.276,.5,.5,.276,.5,0 Z",type:0}},"🯰":{type:5,data:{d:ba(126),type:0},scaleType:1},"🯱":{type:5,data:{d:ba(48),type:0},scaleType:1},"🯲":{type:5,data:{d:ba(109),type:0},scaleType:1},"🯳":{type:5,data:{d:ba(121),type:0},scaleType:1},"🯴":{type:5,data:{d:ba(51),type:0},scaleType:1},"🯵":{type:5,data:{d:ba(91),type:0},scaleType:1},"🯶":{type:5,data:{d:ba(95),type:0},scaleType:1},"🯷":{type:5,data:{d:ba(114),type:0},scaleType:1},"🯸":{type:5,data:{d:ba(127),type:0},scaleType:1},"🯹":{type:5,data:{d:ba(123),type:0},scaleType:1},"🯺":{type:5,data:{d:"M.5,.175 C.2,.175,.15,.305,.15,.435 L.05,.63 L.35,.63 C.35,.682,.42,.76,.5,.76 C.58,.76,.65,.682,.65,.63 L.95,.63 L.85,.435 C.85,.305,.8,.175,.5,.175 Z",type:0},scaleType:1},...Object.fromEntries(Array.from({length:256},(e,t)=>[String.fromCodePoint(10240+t),{type:6,data:t}]))},yw=new Set([9617,9618,9619,129932,129933,129934,129935,129936,129937,129938,129940,129948,129949,129950,129951]);function Gt(e){return{type:2,data:()=>{let t=[],r=[.375,.25,.375],s=[0,3/8,5/8];for(let i=0;i<3;i++){let u=e>>i*2&1,l=e>>i*2+1&1;u&&l?t.push(`M0,${s[i]} L1,${s[i]} L1,${s[i]+r[i]} L0,${s[i]+r[i]} Z`):u?t.push(`M0,${s[i]} L${.5},${s[i]} L${.5},${s[i]+r[i]} L0,${s[i]+r[i]} Z`):l&&t.push(`M${.5},${s[i]} L1,${s[i]} L1,${s[i]+r[i]} L${.5},${s[i]+r[i]} Z`)}return t.join(" ")}}}function ba(e){let t=[];if(e&64){let r=.21500000000000002,s=.95-.15-.015;t.push(`M${r},${.2125} L${r+.075},${.175} L${s-.075},${.175} L${s},${.2125} L${s-.075},${.25} L${r+.075},${.25} Z`)}if(e&32){let r=.7999999999999999,s=.95-.15/2,i=.95,u=.175+.075+.015,l=.5-.015;t.push(`M${s},${u} L${i},${u+.0375} L${i},${l-.0375} L${s},${l} L${r},${l-.0375} L${r},${u+.0375} Z`)}if(e&16){let r=.7999999999999999,s=.95-.15/2,i=.95,u=.5+.015,l=.825-.075-.015;t.push(`M${s},${u} L${i},${u+.0375} L${i},${l-.0375} L${s},${l} L${r},${l-.0375} L${r},${u+.0375} Z`)}if(e&8){let r=.21500000000000002,s=.95-.15-.015;t.push(`M${r},${.7875} L${r+.075},${.75} L${s-.075},${.75} L${s},${.7875} L${s-.075},${.825} L${r+.075},${.825} Z`)}if(e&4&&t.push(`M${.125},${.515} L${.2},${.515+.0375} L${.2},${.735-.0375} L${.125},${.735} L${.05},${.735-.0375} L${.05},${.515+.0375} Z`),e&2&&t.push(`M${.125},${.265} L${.2},${.265+.0375} L${.2},${.485-.0375} L${.125},${.485} L${.05},${.485-.0375} L${.05},${.265+.0375} Z`),e&1){let r=.21500000000000002,s=.95-.15-.015;t.push(`M${r},${.5} L${r+.075},${.4625} L${s-.075},${.4625} L${s},${.5} L${s-.075},${.5375} L${r+.075},${.5375} Z`)}return t.join(" ")}var ci=0,qs=0,ya=!1,Wa=!1,Tu=!1,Ki,ac=0,vw=class{constructor(e,t,r,s,i,u){this._terminal=e,this._optionService=t,this._selectionRenderModel=r,this._decorationService=s,this._coreBrowserService=i,this._themeService=u,this.result={fg:0,bg:0,ext:0}}resolve(e,t,r,s,i){this.result.bg=e.bg,this.result.fg=e.fg,this.result.ext=e.bg&268435456?e.extended.ext:0,qs=0,ci=0,Wa=!1,ya=!1,Tu=!1,Ki=this._themeService.colors,ac=0;let u=e.getCode();if(u!==0&&e.extended.underlineStyle===4){let l=Math.max(1,Math.floor(this._optionService.rawOptions.fontSize*this._coreBrowserService.dpr/15));ac=t*s%(Math.round(l)*2)}if(ac===0&&yw.has(u)&&(ac=t*s%2*2+r*i%2),this._decorationService.forEachDecorationAtCell(t,r,"bottom",l=>{l.backgroundColorRGB&&(qs=l.backgroundColorRGB.rgba>>8&16777215,Wa=!0),l.foregroundColorRGB&&(ci=l.foregroundColorRGB.rgba>>8&16777215,ya=!0)}),Tu=this._selectionRenderModel.isCellSelected(this._terminal,t,r),Tu){if(this.result.fg&67108864||(this.result.bg&50331648)!==0){if(this.result.fg&67108864)switch(this.result.fg&50331648){case 16777216:case 33554432:qs=this._themeService.colors.ansi[this.result.fg&255].rgba;break;case 50331648:qs=(this.result.fg&16777215)<<8|255;break;default:qs=this._themeService.colors.foreground.rgba}else switch(this.result.bg&50331648){case 16777216:case 33554432:qs=this._themeService.colors.ansi[this.result.bg&255].rgba;break;case 50331648:qs=(this.result.bg&16777215)<<8|255;break}qs=Gl.blend(qs,(this._coreBrowserService.isFocused?Ki.selectionBackgroundOpaque:Ki.selectionInactiveBackgroundOpaque).rgba&4294967040|128)>>8&16777215}else qs=(this._coreBrowserService.isFocused?Ki.selectionBackgroundOpaque:Ki.selectionInactiveBackgroundOpaque).rgba>>8&16777215;if(Wa=!0,Ki.selectionForeground&&(ci=Ki.selectionForeground.rgba>>8&16777215,ya=!0),e3(e.getCode())){if(this.result.fg&67108864&&(this.result.bg&50331648)===0)ci=(this._coreBrowserService.isFocused?Ki.selectionBackgroundOpaque:Ki.selectionInactiveBackgroundOpaque).rgba>>8&16777215;else{if(this.result.fg&67108864)switch(this.result.bg&50331648){case 16777216:case 33554432:ci=this._themeService.colors.ansi[this.result.bg&255].rgba;break;case 50331648:ci=(this.result.bg&16777215)<<8|255;break}else switch(this.result.fg&50331648){case 16777216:case 33554432:ci=this._themeService.colors.ansi[this.result.fg&255].rgba;break;case 50331648:ci=(this.result.fg&16777215)<<8|255;break;default:ci=this._themeService.colors.foreground.rgba}ci=Gl.blend(ci,(this._coreBrowserService.isFocused?Ki.selectionBackgroundOpaque:Ki.selectionInactiveBackgroundOpaque).rgba&4294967040|128)>>8&16777215}ya=!0}}this._decorationService.forEachDecorationAtCell(t,r,"top",l=>{l.backgroundColorRGB&&(qs=l.backgroundColorRGB.rgba>>8&16777215,Wa=!0),l.foregroundColorRGB&&(ci=l.foregroundColorRGB.rgba>>8&16777215,ya=!0)}),Wa&&(Tu?qs=e.bg&-16777216&-134217729|qs|50331648:qs=e.bg&-16777216|qs|50331648),ya&&(ci=e.fg&-16777216&-67108865|ci|50331648),this.result.fg&67108864&&(Wa&&!ya&&((this.result.bg&50331648)===0?ci=this.result.fg&-134217728|Ki.background.rgba>>8&16777215&16777215|50331648:ci=this.result.fg&-134217728|this.result.bg&67108863,ya=!0),!Wa&&ya&&((this.result.fg&50331648)===0?qs=this.result.bg&-67108864|Ki.foreground.rgba>>8&16777215&16777215|50331648:qs=this.result.bg&-67108864|this.result.fg&67108863,Wa=!0)),Ki=void 0,this.result.bg=Wa?qs:this.result.bg,this.result.fg=ya?ci:this.result.fg,this.result.ext&=536870911,this.result.ext|=ac<<29&3758096384}},ww=.5,t3=aw||lw?"bottom":"ideographic";function Aw(e,t,r,s,i,u,l,h,p,g,x,b,v=0){let A=bw[t];if(A){let k=Array.isArray(A)?A:[A];for(let I of k)Tw(e,I,r,s,i,u,l,h,p,g,x,b,v);return!0}return!1}function Tw(e,t,r,s,i,u,l,h,p,g,x,b,v=0){let A=i,k=u,I=r,R=s;switch(t.scaleType===1&&(A=l,k=h,I=r+(i-l)/2,R=s+(u-h)/2),t.clipPath&&(e.save(),Rw(e,t.clipPath,I,R,A,k)),t.type){case 0:Sw(e,t.data,I,R,A,k);break;case 1:kw(e,t.data,I,R,A,k,v);break;case 2:Ew(e,t.data,I,R,A,k,g,x,t.strokeWidth);break;case 3:_w(e,t.data,I,R,A,k,g,t.strokeWidth);break;case 4:Iw(e,t.data,I,R,A,k,g,b);break;case 5:Mw(e,t.data,I,R,A,k,p,g,x);break;case 6:Cw(e,t.data,I,R,A,k);break}t.clipPath&&e.restore()}function Sw(e,t,r,s,i,u){for(let l=0;l<t.length;l++){let h=t[l],p=i/8,g=u/8;e.fillRect(r+h.x*p,s+h.y*g,h.w*p,h.h*g)}}var um=new Uint8Array([1,0,1,2,1,4,5,0,5,2,5,4,1,6,5,6]);function Cw(e,t,r,s,i,u){let l=i/8,h=u*.1,p=u*.8/8,g=Math.min(l,p);for(let x=0;x<8;x++)if(t&1<<x){let b=um[x*2],v=um[x*2+1],A=r+(b+1)*l,k=s+h+(v+1)*p;e.beginPath(),e.arc(A,k,g,0,Math.PI*2),e.fill()}}function _w(e,t,r,s,i,u,l,h){let p=typeof t=="string"?t:t(0,0);e.beginPath();let g=0,x=0,b=0,v=0,A="";for(let k of p.split(" ")){let I=k[0],R=k.substring(1).split(",");if(I==="Z"){e.closePath(),A=I;continue}if(I==="V"){let B=s+parseFloat(R[0])*u;e.lineTo(g,B),x=B,b=g,v=x,A=I;continue}if(I==="H"){let B=r+parseFloat(R[0])*i;e.lineTo(B,x),g=B,b=g,v=x,A=I;continue}if(!R[0]||!R[1])continue;if(I==="A"){let B=parseFloat(R[0])*i,F=parseFloat(R[1])*u,W=parseFloat(R[2])*Math.PI/180,O=parseInt(R[3],10),q=parseInt(R[4],10),ee=r+parseFloat(R[5])*i,de=s+parseFloat(R[6])*u;Lw(e,g,x,B,F,W,O,q,ee,de),g=ee,x=de;continue}let M=R.map((B,F)=>{let W=parseFloat(B);return F%2===0?r+W*i:s+W*u});if(I==="M")e.moveTo(M[0],M[1]),g=M[0],x=M[1],b=g,v=x;else if(I==="L")e.lineTo(M[0],M[1]),g=M[0],x=M[1],b=g,v=x;else if(I==="Q")e.quadraticCurveTo(M[0],M[1],M[2],M[3]),b=M[0],v=M[1],g=M[2],x=M[3];else if(I==="T"){let B,F;A==="Q"||A==="T"?(B=2*g-b,F=2*x-v):(B=g,F=x),e.quadraticCurveTo(B,F,M[0],M[1]),b=B,v=F,g=M[0],x=M[1]}else I==="C"&&(e.bezierCurveTo(M[0],M[1],M[2],M[3],M[4],M[5]),b=M[2],v=M[3],g=M[4],x=M[5]);A=I}h!==void 0?(e.strokeStyle=e.fillStyle,e.lineWidth=l*h,e.stroke()):e.fill()}function Lw(e,t,r,s,i,u,l,h,p,g){if(s===0||i===0){e.lineTo(p,g);return}s=Math.abs(s),i=Math.abs(i);let x=Math.cos(u),b=Math.sin(u),v=(t-p)/2,A=(r-g)/2,k=x*v+b*A,I=-b*v+x*A,R=s*s,M=i*i,B=k*k,F=I*I,W=B/R+F/M;if(W>1){let oe=Math.sqrt(W);s*=oe,i*=oe,R=s*s,M=i*i}let O=(R*M-R*F-M*B)/(R*F+M*B);O<0&&(O=0);let q=(l===h?-1:1)*Math.sqrt(O),ee=q*(s*I/i),de=q*-(i*k/s),Ae=x*ee-b*de+(t+p)/2,Le=b*ee+x*de+(r+g)/2,ve=(k-ee)/s,Ye=(I-de)/i,Te=(-k-ee)/s,fe=(-I-de)/i,je=Math.atan2(Ye,ve),be=Math.atan2(fe,Te)-je;h===0&&be>0?be-=2*Math.PI:h===1&&be<0&&(be+=2*Math.PI);let ie=je+be;e.ellipse(Ae,Le,s,i,u,je,ie,h===0)}function Iw(e,t,r,s,i,u,l,h){e.save(),e.fillRect(r,s,i,u),h&&(e.fillStyle=h,e.strokeStyle=h),e.lineWidth=l,e.lineCap="square",e.beginPath();for(let p of t.d.split(" ")){let g=p[0],x=p.substring(1).split(",");if(!x[0]||!x[1]){g==="Z"&&e.closePath();continue}let b=x.map((v,A)=>{let k=parseFloat(v);return A%2===0?r+k*i:s+k*u});g==="M"?e.moveTo(b[0],b[1]):g==="L"&&e.lineTo(b[0],b[1])}t.type===1?e.stroke():e.fill(),e.restore()}var dm=new Map;function kw(e,t,r,s,i,u,l=0){let h=dm.get(t);h||(h=new Map,dm.set(t,h));let p=e.fillStyle;if(typeof p!="string")throw new Error(`Unexpected fillStyle type "${p}"`);let g=h.get(p);if(!g){let v=t[0].length,A=t.length,k=e.canvas.ownerDocument.createElement("canvas");k.width=v,k.height=A;let I=ks(k.getContext("2d")),R=new ImageData(v,A),M,B,F,W;if(p.startsWith("#"))M=parseInt(p.slice(1,3),16),B=parseInt(p.slice(3,5),16),F=parseInt(p.slice(5,7),16),W=p.length>7&&parseInt(p.slice(7,9),16)||1;else if(p.startsWith("rgba"))[M,B,F,W]=p.substring(5,p.length-1).split(",").map(O=>parseFloat(O));else throw new Error(`Unexpected fillStyle color format "${p}" when drawing pattern glyph`);for(let O=0;O<A;O++)for(let q=0;q<v;q++)R.data[(O*v+q)*4]=M,R.data[(O*v+q)*4+1]=B,R.data[(O*v+q)*4+2]=F,R.data[(O*v+q)*4+3]=t[O][q]*(W*255);I.putImageData(R,0,0),g=ks(e.createPattern(k,null)),h.set(p,g)}let x=l>>1&1,b=l&1;x!==0||b!==0?g.setTransform(new DOMMatrix().translateSelf(-x,-b)):g.setTransform(new DOMMatrix),e.fillStyle=g,e.fillRect(r,s,i,u)}function Ew(e,t,r,s,i,u,l,h,p){e.save(),e.beginPath(),e.rect(r,s,i,u),e.clip(),e.beginPath();let g;if(typeof t=="function"){let b=.15/u*i;g=t(.15,b)}else g=t;let x={currentX:0,currentY:0,lastControlX:0,lastControlY:0,lastCommand:""};for(let b of g.split(" ")){let v=b[0];if(v==="Z"){e.closePath(),x.lastCommand=v;continue}let A=r3[v];if(!A){h.error(`Could not find drawing instructions for "${v}"`);continue}let k=b.substring(1).split(",");!k[0]||!k[1]||(A(e,n3(k,i,u,r,s,!0,l,0,0,!1),x),x.lastCommand=v)}p!==void 0?(e.strokeStyle=e.fillStyle,e.lineWidth=l*p,e.stroke()):e.fill(),e.closePath(),e.restore()}function Rw(e,t,r,s,i,u){e.beginPath();for(let l of t.split(" ")){let h=l[0];if(h==="Z"){e.closePath();continue}let p=l.substring(1).split(",");if(!p[0]||!p[1])continue;let g=r+parseFloat(p[0])*i,x=s+parseFloat(p[1])*u;h==="M"?e.moveTo(g,x):h==="L"&&e.lineTo(g,x)}e.clip()}function Mw(e,t,r,s,i,u,l,h,p){let g=new Path2D;g.rect(r,s,i,u),e.clip(g),e.beginPath();let x=l/12;e.lineWidth=h*x;let b={currentX:0,currentY:0,lastControlX:0,lastControlY:0,lastCommand:""};for(let v of t.d.split(" ")){let A=v[0];if(A==="Z"){e.closePath(),b.lastCommand=A;continue}let k=r3[A];if(!k){p.error(`Could not find drawing instructions for "${A}"`);continue}let I=v.substring(1).split(",");!I[0]||!I[1]||(k(e,n3(I,i,u,r,s,!1,h,(t.leftPadding??0)*(x/2),(t.rightPadding??0)*(x/2)),b),b.lastCommand=A)}t.type===1?(e.strokeStyle=e.fillStyle,e.stroke()):e.fill(),e.closePath()}function hm(e,t,r=0){return Math.max(Math.min(e,t),r)}var r3={C:(e,t,r)=>{e.bezierCurveTo(t[0],t[1],t[2],t[3],t[4],t[5]),r.lastControlX=t[2],r.lastControlY=t[3],r.currentX=t[4],r.currentY=t[5]},L:(e,t,r)=>{e.lineTo(t[0],t[1]),r.lastControlX=r.currentX=t[0],r.lastControlY=r.currentY=t[1]},M:(e,t,r)=>{e.moveTo(t[0],t[1]),r.lastControlX=r.currentX=t[0],r.lastControlY=r.currentY=t[1]},Q:(e,t,r)=>{e.quadraticCurveTo(t[0],t[1],t[2],t[3]),r.lastControlX=t[0],r.lastControlY=t[1],r.currentX=t[2],r.currentY=t[3]},T:(e,t,r)=>{let s,i;r.lastCommand==="Q"||r.lastCommand==="T"?(s=2*r.currentX-r.lastControlX,i=2*r.currentY-r.lastControlY):(s=r.currentX,i=r.currentY),e.quadraticCurveTo(s,i,t[0],t[1]),r.lastControlX=s,r.lastControlY=i,r.currentX=t[0],r.currentY=t[1]}};function n3(e,t,r,s,i,u,l,h=0,p=0,g=!0){let x=e.map(b=>parseFloat(b)||parseInt(b));if(x.length<2)throw new Error("Too few arguments for instruction");for(let b=0;b<x.length;b+=2){if(x[b]*=t-h*l-p*l,u&&x[b]!==0){let v=Math.round(x[b]+.5)-.5;x[b]=g?hm(v,t,0):v}x[b]+=s+h*l}for(let b=1;b<x.length;b+=2){if(x[b]*=r,u&&x[b]!==0){let v=Math.round(x[b]+.5)-.5;x[b]=g?hm(v,r,0):v}x[b]+=i}return x}var fm=class{constructor(){this._data={}}set(e,t,r){this._data[e]||(this._data[e]={}),this._data[e][t]=r}get(e,t){return this._data[e]?this._data[e][t]:void 0}clear(){this._data={}}},pm=class{constructor(){this._data=new fm}set(e,t,r,s,i){this._data.get(e,t)||this._data.set(e,t,new fm),this._data.get(e,t).set(r,s,i)}get(e,t,r,s){return this._data.get(e,t)?.get(r,s)}clear(){this._data.clear()}},s3=class{constructor(e){this._tasks=[],this._i=0,this._logService=e}enqueue(e){this._tasks.push(e),this._start()}flush(){for(;this._i<this._tasks.length;)this._tasks[this._i]()||this._i++;this.clear()}clear(){this._idleCallback&&(this._cancelCallback(this._idleCallback),this._idleCallback=void 0),this._i=0,this._tasks.length=0}_start(){this._idleCallback||(this._idleCallback=this._requestCallback(this._process.bind(this)))}_process(e){this._idleCallback=void 0;let t,r=0,s=e.timeRemaining(),i;for(;this._i<this._tasks.length;){if(t=performance.now(),this._tasks[this._i]()||this._i++,t=Math.max(1,performance.now()-t),r=Math.max(t,r),i=e.timeRemaining(),r*1.5>i){s-t<-20&&this._logService.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(s-t))}ms`),this._start();return}s=i}this.clear()}},Nw=class extends s3{_requestCallback(t){return setTimeout(()=>t(this._createDeadline(16)))}_cancelCallback(t){clearTimeout(t)}_createDeadline(t){let r=performance.now()+t;return{timeRemaining:()=>Math.max(0,r-performance.now())}}},Dw=class extends s3{_requestCallback(t){return requestIdleCallback(t)}_cancelCallback(t){cancelIdleCallback(t)}},Bw="requestIdleCallback"in globalThis?Dw:Nw,E0=class i3{constructor(){this.fg=0,this.bg=0,this.extended=new o3}static toColorRGB(t){return[t>>>16&255,t>>>8&255,t&255]}static fromColorRGB(t){return(t[0]&255)<<16|(t[1]&255)<<8|t[2]&255}clone(){let t=new i3;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)===50331648}isBgRGB(){return(this.bg&50331648)===50331648}isFgPalette(){return(this.fg&50331648)===16777216||(this.fg&50331648)===33554432}isBgPalette(){return(this.bg&50331648)===16777216||(this.bg&50331648)===33554432}isFgDefault(){return(this.fg&50331648)===0}isBgDefault(){return(this.bg&50331648)===0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===16777216||(this.extended.underlineColor&50331648)===33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===0:this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},o3=class a3{constructor(t=0,r=0){this._ext=0,this._urlId=0,this._ext=t,this._urlId=r}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(t){this._ext=t}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(t){this._ext&=-469762049,this._ext|=t<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(t){this._ext&=-67108864,this._ext|=t&67108863}get urlId(){return this._urlId}set urlId(t){this._urlId=t}get underlineVariantOffset(){let t=(this._ext&3758096384)>>29;return t<0?t^4294967288:t}set underlineVariantOffset(t){this._ext&=536870911,this._ext|=t<<29&3758096384}clone(){return new a3(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},ta=class{constructor(){this._listeners=[],this._disposed=!1}get event(){return this._event?this._event:(this._event=(t,r,s)=>{if(this._disposed)return zs(()=>{});let i={fn:t,thisArgs:r};this._listeners.push(i);let u=zs(()=>{let l=this._listeners.indexOf(i);l!==-1&&this._listeners.splice(l,1)});return s&&(Array.isArray(s)?s.push(u):s.add(u)),u},this._event)}fire(t){if(!this._disposed)switch(this._listeners.length){case 0:return;case 1:{let{fn:r,thisArgs:s}=this._listeners[0];r.call(s,t);return}default:{let r=this._listeners.slice();for(let{fn:s,thisArgs:i}of r)s.call(i,t)}}}dispose(){this._disposed||(this._disposed=!0,this._listeners.length=0)}},Wl;(e=>{function t(u,l){return u(h=>l.fire(h))}e.forward=t;function r(u,l){return(h,p,g)=>u(x=>h.call(p,l(x)),void 0,g)}e.map=r;function s(...u){return(l,h,p)=>{let g=new K5;for(let x of u)g.add(x(b=>l.call(h,b)));return p&&(Array.isArray(p)?p.push(g):p.add(g)),g}}e.any=s;function i(u,l,h){return l(h),u(p=>l(p))}e.runAndSubscribe=i})(Wl||={});var mm={texturePage:0,texturePosition:{x:0,y:0},texturePositionClipSpace:{x:0,y:0},offset:{x:0,y:0},size:{x:0,y:0},sizeClipSpace:{x:0,y:0}},lc=2,cc,yl=class _0{constructor(t,r,s,i){this._document=t,this._config=r,this._unicodeService=s,this._logService=i,this._didWarmUp=!1,this._cacheMap=new pm,this._cacheMapCombined=new pm,this._pages=[],this._activePages=[],this._workBoundingBox={top:0,left:0,bottom:0,right:0},this._workAttributeData=new E0,this._textureSize=512,this._onAddTextureAtlasCanvas=new ta,this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=new ta,this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._requestClearModel=!1,this._createNewPage(),this._tmpCanvas=c3(t,this._config.deviceCellWidth*4+lc*2,this._config.deviceCellHeight+lc*2),this._tmpCtx=ks(this._tmpCanvas.getContext("2d",{alpha:this._config.allowTransparency,willReadFrequently:!0}))}get pages(){return this._pages}dispose(){this._tmpCanvas.remove();for(let t of this.pages)t.canvas.remove();this._onAddTextureAtlasCanvas.dispose(),this._onRemoveTextureAtlasCanvas.dispose()}warmUp(){this._didWarmUp||(this._doWarmUp(),this._didWarmUp=!0)}_doWarmUp(){let t=new Bw(this._logService);for(let r=33;r<126;r++)t.enqueue(()=>{if(!this._cacheMap.get(r,0,0,0)){let s=this._drawToCache(r,0,0,0,!1,void 0);this._cacheMap.set(r,0,0,0,s)}})}beginFrame(){let t=this._requestClearModel;return this._requestClearModel=!1,t}clearTexture(){if(!(this._pages[0].currentRow.x===0&&this._pages[0].currentRow.y===0)){for(let t of this._pages)t.clear();this._cacheMap.clear(),this._cacheMapCombined.clear(),this._didWarmUp=!1}}_createNewPage(){if(_0.maxAtlasPages&&this._pages.length>=Math.max(4,_0.maxAtlasPages)){let r=this._pages.filter(g=>g.canvas.width*2<=(_0.maxTextureSize||4096)).sort((g,x)=>x.canvas.width!==g.canvas.width?x.canvas.width-g.canvas.width:x.percentageUsed-g.percentageUsed),s=-1,i=0;for(let g=0;g<r.length;g++)if(r[g].canvas.width!==i)s=g,i=r[g].canvas.width;else if(g-s===3)break;let u=r.slice(s,s+4);if(u.length<4||u.some(g=>g.canvas.width!==u[0].canvas.width)){let g=new Dl(this._document,this._textureSize);return this._pages.push(g),this._activePages.push(g),this._onAddTextureAtlasCanvas.fire(g.canvas),g}let l=u.map(g=>g.glyphs[0].texturePage).sort((g,x)=>g-x),h=this.pages.length-u.length,p=this._mergePages(u,h);p.version=++Dl.nextVersion;for(let g=l.length-1;g>=0;g--)this._deletePage(l[g]);this.pages.push(p),this._requestClearModel=!0,this._onAddTextureAtlasCanvas.fire(p.canvas)}let t=new Dl(this._document,this._textureSize);return this._pages.push(t),this._activePages.push(t),this._onAddTextureAtlasCanvas.fire(t.canvas),t}_mergePages(t,r){let s=t[0].canvas.width*2,i=new Dl(this._document,s,t);for(let[u,l]of t.entries()){let h=u*l.canvas.width%s,p=Math.floor(u/2)*l.canvas.height;i.ctx.drawImage(l.canvas,h,p);for(let x of l.glyphs)x.texturePage=r,x.sizeClipSpace.x=x.size.x/s,x.sizeClipSpace.y=x.size.y/s,x.texturePosition.x+=h,x.texturePosition.y+=p,x.texturePositionClipSpace.x=x.texturePosition.x/s,x.texturePositionClipSpace.y=x.texturePosition.y/s;this._onRemoveTextureAtlasCanvas.fire(l.canvas);let g=this._activePages.indexOf(l);g!==-1&&this._activePages.splice(g,1)}return i}_deletePage(t){this._pages.splice(t,1);for(let r=t;r<this._pages.length;r++){let s=this._pages[r];for(let i of s.glyphs)i.texturePage--;s.version=++Dl.nextVersion}}getRasterizedGlyphCombinedChar(t,r,s,i,u,l){return this._getFromCacheMap(this._cacheMapCombined,t,r,s,i,u,l)}getRasterizedGlyph(t,r,s,i,u,l){return this._getFromCacheMap(this._cacheMap,t,r,s,i,u,l)}_getFromCacheMap(t,r,s,i,u,l,h){return cc=t.get(r,s,i,u),cc||(cc=this._drawToCache(r,s,i,u,l,h),t.set(r,s,i,u,cc)),cc}_getColorFromAnsiIndex(t){if(t>=this._config.colors.ansi.length)throw new Error("No color found for idx "+t);return this._config.colors.ansi[t]}_getBackgroundColor(t,r,s,i){if(this._config.allowTransparency)return No;let u;switch(t){case 16777216:case 33554432:u=this._getColorFromAnsiIndex(r);break;case 50331648:let l=E0.toColorRGB(r);u=zi.toColor(l[0],l[1],l[2]);break;default:s?u=Mc.opaque(this._config.colors.foreground):u=this._config.colors.background;break}return this._config.allowTransparency||(u=Mc.opaque(u)),u}_getForegroundColor(t,r,s,i,u,l,h,p,g,x){let b=this._getMinimumContrastColor(t,r,s,i,u,l,h,g,p,x);if(b)return b;let v;switch(u){case 16777216:case 33554432:this._config.drawBoldTextInBrightColors&&g&&l<8&&(l+=8),v=this._getColorFromAnsiIndex(l);break;case 50331648:let A=E0.toColorRGB(l);v=zi.toColor(A[0],A[1],A[2]);break;default:h?v=this._config.colors.background:v=this._config.colors.foreground}return this._config.allowTransparency&&(v=Mc.opaque(v)),p&&(v=Mc.multiplyOpacity(v,ww)),v}_resolveBackgroundRgba(t,r,s){switch(t){case 16777216:case 33554432:return this._getColorFromAnsiIndex(r).rgba;case 50331648:return r<<8;default:return s?this._config.colors.foreground.rgba:this._config.colors.background.rgba}}_resolveForegroundRgba(t,r,s,i){switch(t){case 16777216:case 33554432:return this._config.drawBoldTextInBrightColors&&i&&r<8&&(r+=8),this._getColorFromAnsiIndex(r).rgba;case 50331648:return r<<8;default:return s?this._config.colors.background.rgba:this._config.colors.foreground.rgba}}_getMinimumContrastColor(t,r,s,i,u,l,h,p,g,x){if(this._config.minimumContrastRatio===1||x)return;let b=this._getContrastCache(g),v=b.getColor(t,i);if(v!==void 0)return v??void 0;let A=this._resolveBackgroundRgba(r,s,h),k=this._resolveForegroundRgba(u,l,h,p),I=Gl.ensureContrastRatio(A,k,this._config.minimumContrastRatio/(g?2:1));if(!I){b.setColor(t,i,null);return}let R=zi.toColor(I>>24&255,I>>16&255,I>>8&255);return b.setColor(t,i,R),R}_getContrastCache(t){return t?this._config.colors.halfContrastCache:this._config.colors.contrastCache}_drawToCache(t,r,s,i,u,l){let h=typeof t=="number"?String.fromCharCode(t):t;l&&this._tmpCanvas.parentElement!==l&&(this._tmpCanvas.style.display="none",l.append(this._tmpCanvas));let p=Math.min(this._config.deviceCellWidth*Math.max(h.length,2)+lc*2,this._config.deviceMaxTextureSize);this._tmpCanvas.width<p&&(this._tmpCanvas.width=p);let g=Math.min(this._config.deviceCellHeight+lc*4,this._textureSize);if(this._tmpCanvas.height<g&&(this._tmpCanvas.height=g),this._tmpCtx.save(),this._workAttributeData.fg=s,this._workAttributeData.bg=r,this._workAttributeData.extended.ext=i,!!this._workAttributeData.isInvisible())return mm;let x=!!this._workAttributeData.isBold(),b=!!this._workAttributeData.isInverse(),v=!!this._workAttributeData.isDim(),A=!!this._workAttributeData.isItalic(),k=!!this._workAttributeData.isUnderline(),I=!!this._workAttributeData.isStrikethrough(),R=!!this._workAttributeData.isOverline(),M=this._workAttributeData.getFgColor(),B=this._workAttributeData.getFgColorMode(),F=this._workAttributeData.getBgColor(),W=this._workAttributeData.getBgColorMode();if(b){let ke=M;M=F,F=ke;let qe=B;B=W,W=qe}let O=this._getBackgroundColor(W,F,b,v);this._tmpCtx.globalCompositeOperation="copy",this._tmpCtx.fillStyle=O.css,this._tmpCtx.fillRect(0,0,this._tmpCanvas.width,this._tmpCanvas.height),this._tmpCtx.globalCompositeOperation="source-over";let q=x?this._config.fontWeightBold:this._config.fontWeight,ee=A?"italic":"";this._tmpCtx.font=`${ee} ${q} ${this._config.fontSize*this._config.devicePixelRatio}px ${this._config.fontFamily}`,this._tmpCtx.textBaseline=t3;let de=h.length===1&&Cp(h.charCodeAt(0)),Ae=h.length===1&&dw(h.charCodeAt(0)),Le=this._getForegroundColor(r,W,F,s,B,M,b,v,x,e3(h.charCodeAt(0)));this._tmpCtx.fillStyle=Le.css;let ve=Ae?0:lc*2,Ye=!1;if(this._config.customGlyphs!==!1){let ke=this._workAttributeData.getUnderlineVariantOffset();Ye=Aw(this._tmpCtx,h,ve,ve,this._config.deviceCellWidth,this._config.deviceCellHeight,this._config.deviceCharWidth,this._config.deviceCharHeight,this._config.fontSize,this._config.devicePixelRatio,this._logService,O.css,ke)}let Te=!de,fe;if(typeof t=="number"?fe=this._unicodeService.wcwidth(t):fe=this._unicodeService.getStringCellWidth(t),k){this._tmpCtx.save();let ke=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/15)),qe=ke%2===1?.5:0;if(this._tmpCtx.lineWidth=ke,this._workAttributeData.isUnderlineColorDefault())this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle;else if(this._workAttributeData.isUnderlineColorRGB())Te=!1,this._tmpCtx.strokeStyle=`rgb(${E0.toColorRGB(this._workAttributeData.getUnderlineColor()).join(",")})`;else{Te=!1;let rt=this._workAttributeData.getUnderlineColor();this._config.drawBoldTextInBrightColors&&this._workAttributeData.isBold()&&rt<8&&(rt+=8),this._tmpCtx.strokeStyle=this._getColorFromAnsiIndex(rt).css}this._tmpCtx.fillStyle=this._tmpCtx.strokeStyle,this._tmpCtx.beginPath();let se=ve,Se=Math.ceil(ve+this._config.deviceCharHeight)-qe-(u?ke*2:0),Lt=Se+ke*2,Dt=this._workAttributeData.getUnderlineVariantOffset(),Ue=0,Z=0;for(let rt=0;rt<fe;rt++){let gt=!1;this._tmpCtx.save(),Ue=Se,Z=Lt;let J=se+rt*this._config.deviceCellWidth,K=se+(rt+1)*this._config.deviceCellWidth;switch(this._workAttributeData.extended.underlineStyle){case 2:this._tmpCtx.moveTo(J,Se),this._tmpCtx.lineTo(K,Se),this._tmpCtx.moveTo(J,Lt),this._tmpCtx.lineTo(K,Lt);break;case 3:Ue=this._config.deviceCharHeight+1,Z=Ue+3*this._config.devicePixelRatio;let Fe=new Path2D;Fe.rect(J,Ue,this._config.deviceCellWidth,Z-Ue),this._tmpCtx.clip(Fe);let Je=this._config.deviceCellWidth,vt=Z-Ue,xt=Je/6,Ct=vt/3,he=[[0,2,1,3,2.4,3,0,.6],[5.5,0,2.5,3,1.1,3,4.1,0],[4,0,6,2,6,.6,5.4,0]];for(let pr of he){this._tmpCtx.beginPath();for(let nt=0;nt<pr.length;nt+=2){let ft=J+pr[nt]*xt,_t=Z-pr[nt+1]*Ct;nt===0?this._tmpCtx.moveTo(ft,_t):this._tmpCtx.lineTo(ft,_t)}this._tmpCtx.closePath(),this._tmpCtx.fill()}gt=!0;break;case 4:let xe=Dt===0?0:Dt>=ke?ke*2-Dt:ke-Dt;Dt>=ke||xe===0?(this._tmpCtx.setLineDash([Math.round(ke),Math.round(ke)]),this._tmpCtx.moveTo(J+xe,Se),this._tmpCtx.lineTo(K,Se)):(this._tmpCtx.setLineDash([Math.round(ke),Math.round(ke)]),this._tmpCtx.moveTo(J,Se),this._tmpCtx.lineTo(J+xe,Se),this._tmpCtx.moveTo(J+xe+ke,Se),this._tmpCtx.lineTo(K,Se)),Dt=xw(K-J,ke,Dt);break;case 5:let De=.6,At=.3,Ke=K-J,at=Math.floor(De*Ke),kt=Math.floor(At*Ke),tr=Ke-at-kt;this._tmpCtx.setLineDash([at,kt,tr]),this._tmpCtx.moveTo(J,Se),this._tmpCtx.lineTo(K,Se);break;default:this._tmpCtx.moveTo(J,Se),this._tmpCtx.lineTo(K,Se);break}gt||this._tmpCtx.stroke(),this._tmpCtx.restore()}if(this._tmpCtx.restore(),!Ye&&this._config.fontSize>=12&&!this._config.allowTransparency&&h!==" "){this._tmpCtx.save(),this._tmpCtx.textBaseline="alphabetic";let rt=this._tmpCtx.measureText(h);if(this._tmpCtx.restore(),"actualBoundingBoxDescent"in rt&&rt.actualBoundingBoxDescent>0){this._tmpCtx.save();let gt=new Path2D;gt.rect(se,Ue-Math.ceil(ke/2),this._config.deviceCellWidth*fe,Z-Ue+Math.ceil(ke/2)),this._tmpCtx.clip(gt),this._tmpCtx.lineWidth=this._config.devicePixelRatio*3,this._tmpCtx.strokeStyle=O.css,this._tmpCtx.strokeText(h,ve,ve+this._config.deviceCharHeight),this._tmpCtx.restore()}}}if(R){let ke=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/15)),qe=ke%2===1?.5:0;this._tmpCtx.lineWidth=ke,this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle,this._tmpCtx.beginPath(),this._tmpCtx.moveTo(ve,ve+qe),this._tmpCtx.lineTo(ve+this._config.deviceCharWidth*fe,ve+qe),this._tmpCtx.stroke()}if(Ye||this._tmpCtx.fillText(h,ve,ve+this._config.deviceCharHeight),h==="_"&&!this._config.allowTransparency){let ke=wh(this._tmpCtx.getImageData(ve,ve,this._config.deviceCellWidth,this._config.deviceCellHeight),O,Le,Te);if(ke)for(let qe=1;qe<=5&&(this._tmpCtx.save(),this._tmpCtx.fillStyle=O.css,this._tmpCtx.fillRect(0,0,this._tmpCanvas.width,this._tmpCanvas.height),this._tmpCtx.restore(),this._tmpCtx.fillText(h,ve,ve+this._config.deviceCharHeight-qe),ke=wh(this._tmpCtx.getImageData(ve,ve,this._config.deviceCellWidth,this._config.deviceCellHeight),O,Le,Te),!!ke);qe++);}if(I){let ke=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/10)),qe=this._tmpCtx.lineWidth%2===1?.5:0;this._tmpCtx.lineWidth=ke,this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle,this._tmpCtx.beginPath(),this._tmpCtx.moveTo(ve,ve+Math.floor(this._config.deviceCharHeight/2)-qe),this._tmpCtx.lineTo(ve+this._config.deviceCharWidth*fe,ve+Math.floor(this._config.deviceCharHeight/2)-qe),this._tmpCtx.stroke()}this._tmpCtx.restore();let je=this._tmpCtx.getImageData(0,0,this._tmpCanvas.width,this._tmpCanvas.height),be;if(this._config.allowTransparency?be=Qw(je):be=wh(je,O,Le,Te),be)return mm;let ie=this._findGlyphBoundingBox(je,this._workBoundingBox,p,Ae,Ye,ve),oe,Ie;for(;;){if(this._activePages.length===0){let ke=this._createNewPage();oe=ke,Ie=ke.currentRow,Ie.height=ie.size.y;break}oe=this._activePages[this._activePages.length-1],Ie=oe.currentRow;for(let ke of this._activePages)ie.size.y<=ke.currentRow.height&&(oe=ke,Ie=ke.currentRow);for(let ke=this._activePages.length-1;ke>=0;ke--)for(let qe of this._activePages[ke].fixedRows)qe.height<=Ie.height&&ie.size.y<=qe.height&&(oe=this._activePages[ke],Ie=qe);if(ie.size.x>this._textureSize){this._overflowSizePage||(this._overflowSizePage=new Dl(this._document,this._config.deviceMaxTextureSize),this.pages.push(this._overflowSizePage),this._requestClearModel=!0,this._onAddTextureAtlasCanvas.fire(this._overflowSizePage.canvas)),oe=this._overflowSizePage,Ie=this._overflowSizePage.currentRow,Ie.x+ie.size.x>=oe.canvas.width&&(Ie.x=0,Ie.y+=Ie.height,Ie.height=0);break}if(Ie.y+ie.size.y>=oe.canvas.height||Ie.height>ie.size.y+2){let ke=!1;if(oe.currentRow.y+oe.currentRow.height+ie.size.y>=oe.canvas.height){let qe;for(let se of this._activePages)if(se.currentRow.y+se.currentRow.height+ie.size.y<se.canvas.height){qe=se;break}if(qe)oe=qe;else if(_0.maxAtlasPages&&this._pages.length>=_0.maxAtlasPages&&Ie.y+ie.size.y<=oe.canvas.height&&Ie.height>=ie.size.y&&Ie.x+ie.size.x<=oe.canvas.width)ke=!0;else{let se=this._createNewPage();oe=se,Ie=se.currentRow,Ie.height=ie.size.y,ke=!0}}ke||(oe.currentRow.height>0&&oe.fixedRows.push(oe.currentRow),Ie={x:0,y:oe.currentRow.y+oe.currentRow.height,height:ie.size.y},oe.fixedRows.push(Ie),oe.currentRow={x:0,y:Ie.y+Ie.height,height:0})}if(Ie.x+ie.size.x<=oe.canvas.width)break;Ie===oe.currentRow?(Ie.x=0,Ie.y+=Ie.height,Ie.height=0):oe.fixedRows.splice(oe.fixedRows.indexOf(Ie),1)}return ie.texturePage=this._pages.indexOf(oe),ie.texturePosition.x=Ie.x,ie.texturePosition.y=Ie.y,ie.texturePositionClipSpace.x=Ie.x/oe.canvas.width,ie.texturePositionClipSpace.y=Ie.y/oe.canvas.height,ie.sizeClipSpace.x/=oe.canvas.width,ie.sizeClipSpace.y/=oe.canvas.height,Ie.height=Math.max(Ie.height,ie.size.y),Ie.x+=ie.size.x,oe.ctx.putImageData(je,ie.texturePosition.x-this._workBoundingBox.left,ie.texturePosition.y-this._workBoundingBox.top,this._workBoundingBox.left,this._workBoundingBox.top,ie.size.x,ie.size.y),oe.addGlyph(ie),oe.version=++Dl.nextVersion,ie}_findGlyphBoundingBox(t,r,s,i,u,l){r.top=0;let h=i?this._config.deviceCellHeight:this._tmpCanvas.height,p=i?this._config.deviceCellWidth:s,g=!1;for(let x=0;x<h;x++){for(let b=0;b<p;b++){let v=x*this._tmpCanvas.width*4+b*4+3;if(t.data[v]!==0){r.top=x,g=!0;break}}if(g)break}r.left=0,g=!1;for(let x=0;x<l+p;x++){for(let b=0;b<h;b++){let v=b*this._tmpCanvas.width*4+x*4+3;if(t.data[v]!==0){r.left=x,g=!0;break}}if(g)break}r.right=p,g=!1;for(let x=l+p-1;x>=l;x--){for(let b=0;b<h;b++){let v=b*this._tmpCanvas.width*4+x*4+3;if(t.data[v]!==0){r.right=x,g=!0;break}}if(g)break}r.bottom=h,g=!1;for(let x=h-1;x>=0;x--){for(let b=0;b<p;b++){let v=x*this._tmpCanvas.width*4+b*4+3;if(t.data[v]!==0){r.bottom=x,g=!0;break}}if(g)break}return{texturePage:0,texturePosition:{x:0,y:0},texturePositionClipSpace:{x:0,y:0},size:{x:r.right-r.left+1,y:r.bottom-r.top+1},sizeClipSpace:{x:r.right-r.left+1,y:r.bottom-r.top+1},offset:{x:-r.left+l+(i||u?Math.floor((this._config.deviceCellWidth-this._config.deviceCharWidth)/2):0),y:-r.top+l+(i||u?this._config.lineHeight===1?0:Math.round((this._config.deviceCellHeight-this._config.deviceCharHeight)/2):0)}}}},l3=class Nf{constructor(t,r,s){if(this._usedPixels=0,this._glyphs=[],this.version=++Nf.nextVersion,this.currentRow={x:0,y:0,height:0},this.fixedRows=[],this.canvas=c3(t,r,r),this.ctx=ks(this.canvas.getContext("2d",{alpha:!0})),s)if(s.length===4)this._glyphs=this._glyphs.concat(s[0].glyphs,s[1].glyphs,s[2].glyphs,s[3].glyphs),this._usedPixels=s[0]._usedPixels+s[1]._usedPixels+s[2]._usedPixels+s[3]._usedPixels;else for(let i=0;i<s.length;++i)this._glyphs=this._glyphs.concat(s[i].glyphs),this._usedPixels+=s[i]._usedPixels}get percentageUsed(){return this._usedPixels/(this.canvas.width*this.canvas.height)}get glyphs(){return this._glyphs}addGlyph(t){this._glyphs.push(t),this._usedPixels+=t.size.x*t.size.y}clear(){this.ctx.clearRect(0,0,this.canvas.width,this.canvas.height),this.currentRow.x=0,this.currentRow.y=0,this.currentRow.height=0,this.fixedRows.length=0,this.version=++Nf.nextVersion}};l3.nextVersion=0;var Dl=l3;function wh(e,t,r,s){let i=t.rgba>>>24,u=t.rgba>>>16&255,l=t.rgba>>>8&255,h=r.rgba>>>24,p=r.rgba>>>16&255,g=r.rgba>>>8&255,x=Math.floor((Math.abs(i-h)+Math.abs(u-p)+Math.abs(l-g))/12),b=!0;for(let v=0;v<e.data.length;v+=4)e.data[v]===i&&e.data[v+1]===u&&e.data[v+2]===l||s&&Math.abs(e.data[v]-i)+Math.abs(e.data[v+1]-u)+Math.abs(e.data[v+2]-l)<x?e.data[v+3]=0:b=!1;return b}function Qw(e){for(let t=0;t<e.data.length;t+=4)if(e.data[t+3]>0)return!1;return!0}function c3(e,t,r){let s=e.createElement("canvas");return s.width=t,s.height=r,s}function jw(e,t,r,s,i,u,l,h,p=!0){let g={foreground:u.foreground,background:u.background,cursor:No,cursorAccent:No,selectionForeground:No,selectionBackgroundTransparent:No,selectionBackgroundOpaque:No,selectionInactiveBackgroundTransparent:No,selectionInactiveBackgroundOpaque:No,overviewRulerBorder:No,scrollbarSliderBackground:No,scrollbarSliderHoverBackground:No,scrollbarSliderActiveBackground:No,ansi:u.ansi.slice(),contrastCache:u.contrastCache,halfContrastCache:u.halfContrastCache};return{customGlyphs:p,devicePixelRatio:l,deviceMaxTextureSize:h,letterSpacing:i.letterSpacing,lineHeight:i.lineHeight,deviceCellWidth:e,deviceCellHeight:t,deviceCharWidth:r,deviceCharHeight:s,fontFamily:i.fontFamily,fontSize:i.fontSize,fontWeight:i.fontWeight,fontWeightBold:i.fontWeightBold,allowTransparency:i.allowTransparency,drawBoldTextInBrightColors:i.drawBoldTextInBrightColors,minimumContrastRatio:i.minimumContrastRatio,colors:g}}function gm(e,t){for(let r=0;r<e.colors.ansi.length;r++)if(e.colors.ansi[r].rgba!==t.colors.ansi[r].rgba)return!1;return e.devicePixelRatio===t.devicePixelRatio&&e.deviceMaxTextureSize===t.deviceMaxTextureSize&&e.customGlyphs===t.customGlyphs&&e.lineHeight===t.lineHeight&&e.letterSpacing===t.letterSpacing&&e.fontFamily===t.fontFamily&&e.fontSize===t.fontSize&&e.fontWeight===t.fontWeight&&e.fontWeightBold===t.fontWeightBold&&e.allowTransparency===t.allowTransparency&&e.deviceCellWidth===t.deviceCellWidth&&e.deviceCellHeight===t.deviceCellHeight&&e.deviceCharWidth===t.deviceCharWidth&&e.deviceCharHeight===t.deviceCharHeight&&e.drawBoldTextInBrightColors===t.drawBoldTextInBrightColors&&e.minimumContrastRatio===t.minimumContrastRatio&&e.colors.foreground.rgba===t.colors.foreground.rgba&&e.colors.background.rgba===t.colors.background.rgba}function Pw(e){return(e&50331648)===16777216||(e&50331648)===33554432}var Do=[];function u3(e,t,r,s,i,u,l,h,p,g=!0){let x=jw(s,i,u,l,t,r,h,p,g);for(let k=0;k<Do.length;k++){let I=Do[k],R=I.ownedBy.indexOf(e);if(R>=0){if(gm(I.config,x))return I.atlas;I.ownedBy.length===1?(I.atlas.dispose(),Do.splice(k,1)):I.ownedBy.splice(R,1);break}}for(let k=0;k<Do.length;k++){let I=Do[k];if(gm(I.config,x))return I.ownedBy.push(e),I.atlas}let b=e._core,v=b._logService,A={atlas:new yl(document,x,b.unicodeService,v),config:x,ownedBy:[e]};return Do.push(A),A.atlas}function xm(e){for(let t=0;t<Do.length;t++){let r=Do[t].ownedBy.indexOf(e);if(r!==-1){Do[t].ownedBy.length===1?(Do[t].atlas.dispose(),Do.splice(t,1)):Do[t].ownedBy.splice(r,1);break}}}var Ow=class{constructor(e,t){this._renderCallback=e,this._coreBrowserService=t,this._isIdlePaused=!1,this.isCursorVisible=!0,this._coreBrowserService.isFocused&&(this._restartInterval(),this._resetIdleTimer())}get isPaused(){return!(this._blinkStartTimeout||this._blinkInterval)}dispose(){this._blinkInterval&&(this._coreBrowserService.window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(this._coreBrowserService.window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0),this._idleTimeout&&(this._coreBrowserService.window.clearTimeout(this._idleTimeout),this._idleTimeout=void 0)}restartBlinkAnimation(){this._isIdlePaused&&this._resetIdleTimer(),!this.isPaused&&(this._animationTimeRestarted=Date.now(),this.isCursorVisible=!0,this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._renderCallback(),this._animationFrame=void 0})))}_restartInterval(e=600){this._blinkInterval&&(this._coreBrowserService.window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout=this._coreBrowserService.window.setTimeout(()=>{if(this._animationTimeRestarted){let t=600-(Date.now()-this._animationTimeRestarted);if(this._animationTimeRestarted=void 0,t>0){this._restartInterval(t);return}}this.isCursorVisible=!1,this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._renderCallback(),this._animationFrame=void 0}),this._blinkInterval=this._coreBrowserService.window.setInterval(()=>{if(this._animationTimeRestarted){let t=600-(Date.now()-this._animationTimeRestarted);this._animationTimeRestarted=void 0,this._restartInterval(t);return}this.isCursorVisible=!this.isCursorVisible,this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._renderCallback(),this._animationFrame=void 0})},600)},e)}pause(){this.isCursorVisible=!0,this._isIdlePaused=!1,this._blinkInterval&&(this._coreBrowserService.window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(this._coreBrowserService.window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0),this._idleTimeout&&(this._coreBrowserService.window.clearTimeout(this._idleTimeout),this._idleTimeout=void 0)}resume(){this.pause(),this._animationTimeRestarted=void 0,this._restartInterval(),this._resetIdleTimer(),this.restartBlinkAnimation()}_resetIdleTimer(){this._isIdlePaused=!1,this._idleTimeout&&this._coreBrowserService.window.clearTimeout(this._idleTimeout),this._idleTimeout=this._coreBrowserService.window.setTimeout(()=>{this._stopBlinkingDueToIdle()},3e5)}_stopBlinkingDueToIdle(){this.isCursorVisible=!0,this._isIdlePaused=!0,this._blinkInterval&&(this._coreBrowserService.window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(this._coreBrowserService.window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0),this._coreBrowserService.window.clearTimeout(this._idleTimeout),this._idleTimeout=void 0,this._renderCallback()}};function bm(e,t,r){let s=new t.ResizeObserver(i=>{let u=i.find(p=>p.target===e);if(!u)return;if(!("devicePixelContentBoxSize"in u)){s?.disconnect(),s=void 0;return}let l=u.devicePixelContentBoxSize[0].inlineSize,h=u.devicePixelContentBoxSize[0].blockSize;l>0&&h>0&&r(l,h)});try{s.observe(e,{box:["device-pixel-content-box"]})}catch{s.disconnect(),s=void 0}return zs(()=>s?.disconnect())}function Fw(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}var Uw=class d3 extends E0{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new o3,this.combinedData=""}static fromCharData(t){let r=new d3;return r.setFromCharData(t),r}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?Fw(this.content&2097151):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(t){this.fg=t[0],this.bg=0;let r=!1;if(t[1].length>2)r=!0;else if(t[1].length===2){let s=t[1].charCodeAt(0);if(55296<=s&&s<=56319){let i=t[1].charCodeAt(1);56320<=i&&i<=57343?this.content=(s-55296)*1024+i-56320+65536|t[2]<<22:r=!0}else r=!0}else this.content=t[1].charCodeAt(0)|t[2]<<22;r&&(this.combinedData=t[1],this.content=2097152|t[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}attributesEquals(t){if(this.getFgColorMode()!==t.getFgColorMode()||this.getFgColor()!==t.getFgColor()||this.getBgColorMode()!==t.getBgColorMode()||this.getBgColor()!==t.getBgColor()||this.isInverse()!==t.isInverse()||this.isBold()!==t.isBold()||this.isUnderline()!==t.isUnderline())return!1;if(this.isUnderline()){if(this.getUnderlineStyle()!==t.getUnderlineStyle())return!1;let r=this.isUnderlineColorDefault(),s=t.isUnderlineColorDefault();if(!(r&&s)&&(r!==s||this.getUnderlineColor()!==t.getUnderlineColor()||this.getUnderlineColorMode()!==t.getUnderlineColorMode()))return!1}return!(this.isOverline()!==t.isOverline()||this.isBlink()!==t.isBlink()||this.isInvisible()!==t.isInvisible()||this.isItalic()!==t.isItalic()||this.isDim()!==t.isDim()||this.isStrikethrough()!==t.isStrikethrough())}},$w=class extends e0{constructor(e,t,r){super(),this._renderCallback=e,this._coreBrowserService=t,this._optionsService=r,this._intervalDuration=0,this._blinkOn=!0,this._needsBlinkInViewport=!1,this._isViewportVisible=!0,this._register(this._optionsService.onSpecificOptionChange("blinkIntervalDuration",s=>{this.setIntervalDuration(s)})),this.setIntervalDuration(this._optionsService.rawOptions.blinkIntervalDuration),this._register(zs(()=>this._clearInterval()))}get isBlinkOn(){return this._blinkOn}get isEnabled(){return this._intervalDuration>0}setNeedsBlinkInViewport(e){this._needsBlinkInViewport!==e&&(this._needsBlinkInViewport=e,this._updateIntervalState())}setViewportVisible(e){this._isViewportVisible!==e&&(this._isViewportVisible=e,this._updateIntervalState())}setIntervalDuration(e){e!==this._intervalDuration&&(this._intervalDuration=e,this._clearInterval(),this._updateIntervalState())}_updateIntervalState(){if(this._intervalDuration>0&&this._needsBlinkInViewport&&this._isViewportVisible){if(this._interval!==void 0)return;let e=this._blinkOn;this._blinkOn=!0,this._interval=this._coreBrowserService.window.setInterval(()=>{this._blinkOn=!this._blinkOn,this._renderCallback()},this._intervalDuration),e||this._renderCallback();return}this._clearInterval(),this._blinkOn||(this._blinkOn=!0,this._renderCallback())}_clearInterval(){this._interval!==void 0&&(this._coreBrowserService.window.clearInterval(this._interval),this._interval=void 0)}},h3=new Float32Array([2,0,0,0,0,-2,0,0,0,0,1,0,-1,1,0,1]);function f3(e,t,r,s){let i=ks(e.createProgram());if(e.attachShader(i,ks(ym(e,e.VERTEX_SHADER,t,s))),e.attachShader(i,ks(ym(e,e.FRAGMENT_SHADER,r,s))),e.linkProgram(i),e.getProgramParameter(i,e.LINK_STATUS))return i;s.error(e.getProgramInfoLog(i)),e.deleteProgram(i)}function ym(e,t,r,s){let i=ks(e.createShader(t));if(e.shaderSource(i,r),e.compileShader(i),e.getShaderParameter(i,e.COMPILE_STATUS))return i;s.error(e.getShaderInfoLog(i)),e.deleteShader(i)}function zw(e,t){let r=Math.min(e.length*2,t),s=new Float32Array(r);for(let i=0;i<e.length;i++)s[i]=e[i];return s}var Hw=class{constructor(t){this.texture=t,this.version=-1}},Ww=`#version 300 es
4
+ layout (location = 0) in vec2 a_unitquad;
5
+ layout (location = 1) in vec2 a_cellpos;
6
+ layout (location = 2) in vec2 a_offset;
7
+ layout (location = 3) in vec2 a_size;
8
+ layout (location = 4) in float a_texpage;
9
+ layout (location = 5) in vec2 a_texcoord;
10
+ layout (location = 6) in vec2 a_texsize;
11
+
12
+ uniform mat4 u_projection;
13
+ uniform vec2 u_resolution;
14
+
15
+ out vec2 v_texcoord;
16
+ flat out int v_texpage;
17
+
18
+ void main() {
19
+ vec2 zeroToOne = (a_offset / u_resolution) + a_cellpos + (a_unitquad * a_size);
20
+ gl_Position = u_projection * vec4(zeroToOne, 0.0, 1.0);
21
+ v_texpage = int(a_texpage);
22
+ v_texcoord = a_texcoord + a_unitquad * a_texsize;
23
+ }`;function Gw(e){let t="";for(let r=1;r<e;r++)t+=` else if (v_texpage == ${r}) { outColor = texture(u_texture[${r}], v_texcoord); }`;return`#version 300 es
24
+ precision lowp float;
25
+
26
+ in vec2 v_texcoord;
27
+ flat in int v_texpage;
28
+
29
+ uniform sampler2D u_texture[${e}];
30
+
31
+ out vec4 outColor;
32
+
33
+ void main() {
34
+ if (v_texpage == 0) {
35
+ outColor = texture(u_texture[0], v_texcoord);
36
+ } ${t}
37
+ }`}var is=0,Hn,Ah=0,uc=0,Vw=class extends e0{constructor(t,r,s,i,u){super(),this._terminal=t,this._gl=r,this._dimensions=s,this._optionsService=i,this._logService=u,this._activeBuffer=0,this._vertices={count:0,attributes:new Float32Array(0),attributesBuffers:[new Float32Array(0),new Float32Array(0)]};let l=this._gl;yl.maxAtlasPages===void 0&&(yl.maxAtlasPages=Math.min(32,ks(l.getParameter(l.MAX_TEXTURE_IMAGE_UNITS))),yl.maxTextureSize=ks(l.getParameter(l.MAX_TEXTURE_SIZE))),this._program=ks(f3(l,Ww,Gw(yl.maxAtlasPages),this._logService)),this._register(zs(()=>l.deleteProgram(this._program))),this._projectionLocation=ks(l.getUniformLocation(this._program,"u_projection")),this._resolutionLocation=ks(l.getUniformLocation(this._program,"u_resolution")),this._textureLocation=ks(l.getUniformLocation(this._program,"u_texture"));let h=this._vertexArrayObject=l.createVertexArray();this._register(zs(()=>l.deleteVertexArray(h))),l.bindVertexArray(h);let p=new Float32Array([0,0,1,0,0,1,1,1]),g=l.createBuffer();this._register(zs(()=>l.deleteBuffer(g))),l.bindBuffer(l.ARRAY_BUFFER,g),l.bufferData(l.ARRAY_BUFFER,p,l.STATIC_DRAW),l.enableVertexAttribArray(0),l.vertexAttribPointer(0,2,this._gl.FLOAT,!1,0,0);let x=new Uint8Array([0,1,2,3]),b=l.createBuffer();this._register(zs(()=>l.deleteBuffer(b))),l.bindBuffer(l.ELEMENT_ARRAY_BUFFER,b),l.bufferData(l.ELEMENT_ARRAY_BUFFER,x,l.STATIC_DRAW),this._attributesBuffer=ks(l.createBuffer()),this._register(zs(()=>l.deleteBuffer(this._attributesBuffer))),l.bindBuffer(l.ARRAY_BUFFER,this._attributesBuffer),l.enableVertexAttribArray(2),l.vertexAttribPointer(2,2,l.FLOAT,!1,44,0),l.vertexAttribDivisor(2,1),l.enableVertexAttribArray(3),l.vertexAttribPointer(3,2,l.FLOAT,!1,44,2*Float32Array.BYTES_PER_ELEMENT),l.vertexAttribDivisor(3,1),l.enableVertexAttribArray(4),l.vertexAttribPointer(4,1,l.FLOAT,!1,44,4*Float32Array.BYTES_PER_ELEMENT),l.vertexAttribDivisor(4,1),l.enableVertexAttribArray(5),l.vertexAttribPointer(5,2,l.FLOAT,!1,44,5*Float32Array.BYTES_PER_ELEMENT),l.vertexAttribDivisor(5,1),l.enableVertexAttribArray(6),l.vertexAttribPointer(6,2,l.FLOAT,!1,44,7*Float32Array.BYTES_PER_ELEMENT),l.vertexAttribDivisor(6,1),l.enableVertexAttribArray(1),l.vertexAttribPointer(1,2,l.FLOAT,!1,44,9*Float32Array.BYTES_PER_ELEMENT),l.vertexAttribDivisor(1,1),l.useProgram(this._program);let v=new Int32Array(yl.maxAtlasPages);for(let A=0;A<yl.maxAtlasPages;A++)v[A]=A;l.uniform1iv(this._textureLocation,v),l.uniformMatrix4fv(this._projectionLocation,!1,h3),this._atlasTextures=[];for(let A=0;A<yl.maxAtlasPages;A++){let k=new Hw(ks(l.createTexture()));this._register(zs(()=>l.deleteTexture(k.texture))),l.activeTexture(l.TEXTURE0+A),l.bindTexture(l.TEXTURE_2D,k.texture),l.texParameteri(l.TEXTURE_2D,l.TEXTURE_WRAP_S,l.CLAMP_TO_EDGE),l.texParameteri(l.TEXTURE_2D,l.TEXTURE_WRAP_T,l.CLAMP_TO_EDGE),l.texImage2D(l.TEXTURE_2D,0,l.RGBA,1,1,0,l.RGBA,l.UNSIGNED_BYTE,new Uint8Array([255,0,0,255])),this._atlasTextures[A]=k}l.enable(l.BLEND),l.blendFunc(l.SRC_ALPHA,l.ONE_MINUS_SRC_ALPHA),this.handleResize()}beginFrame(){return this._atlas?this._atlas.beginFrame():!0}updateCell(t,r,s,i,u,l,h,p,g){this._updateCell(this._vertices.attributes,t,r,s,i,u,l,h,p,g)}_updateCell(t,r,s,i,u,l,h,p,g,x){if(is=(s*this._terminal.cols+r)*11,i===0||i===void 0){t.fill(0,is,is+11-1-2);return}this._atlas&&(p&&p.length>1?Hn=this._atlas.getRasterizedGlyphCombinedChar(p,u,l,h,!1,this._terminal.element):Hn=this._atlas.getRasterizedGlyph(i,u,l,h,!1,this._terminal.element),Ah=Math.floor((this._dimensions.device.cell.width-this._dimensions.device.char.width)/2),u!==x&&Hn.offset.x>Ah?(uc=Hn.offset.x-Ah,t[is]=-(Hn.offset.x-uc)+this._dimensions.device.char.left,t[is+1]=-Hn.offset.y+this._dimensions.device.char.top,t[is+2]=(Hn.size.x-uc)/this._dimensions.device.canvas.width,t[is+3]=Hn.size.y/this._dimensions.device.canvas.height,t[is+4]=Hn.texturePage,t[is+5]=Hn.texturePositionClipSpace.x+uc/this._atlas.pages[Hn.texturePage].canvas.width,t[is+6]=Hn.texturePositionClipSpace.y,t[is+7]=Hn.sizeClipSpace.x-uc/this._atlas.pages[Hn.texturePage].canvas.width,t[is+8]=Hn.sizeClipSpace.y):(t[is]=-Hn.offset.x+this._dimensions.device.char.left,t[is+1]=-Hn.offset.y+this._dimensions.device.char.top,t[is+2]=Hn.size.x/this._dimensions.device.canvas.width,t[is+3]=Hn.size.y/this._dimensions.device.canvas.height,t[is+4]=Hn.texturePage,t[is+5]=Hn.texturePositionClipSpace.x,t[is+6]=Hn.texturePositionClipSpace.y,t[is+7]=Hn.sizeClipSpace.x,t[is+8]=Hn.sizeClipSpace.y),this._optionsService.rawOptions.rescaleOverlappingGlyphs&&mw(i,g,Hn.size.x,this._dimensions.device.cell.width)&&(t[is+2]=(this._dimensions.device.cell.width-1)/this._dimensions.device.canvas.width))}clear(){let t=this._terminal,r=t.cols*t.rows*11;this._vertices.count!==r?this._vertices.attributes=new Float32Array(r):this._vertices.attributes.fill(0);let s=0;for(;s<this._vertices.attributesBuffers.length;s++)this._vertices.count!==r?this._vertices.attributesBuffers[s]=new Float32Array(r):this._vertices.attributesBuffers[s].fill(0);this._vertices.count=r,s=0;for(let i=0;i<t.rows;i++)for(let u=0;u<t.cols;u++)this._vertices.attributes[s+9]=u/t.cols,this._vertices.attributes[s+10]=i/t.rows,s+=11}handleResize(){let t=this._gl;t.useProgram(this._program),t.viewport(0,0,this._dimensions.device.canvas.width,this._dimensions.device.canvas.height),t.uniform2f(this._resolutionLocation,this._dimensions.device.canvas.width,this._dimensions.device.canvas.height),this.clear()}render(t){if(!this._atlas)return;let r=this._gl;r.useProgram(this._program),r.bindVertexArray(this._vertexArrayObject),this._activeBuffer=(this._activeBuffer+1)%2;let s=this._vertices.attributesBuffers[this._activeBuffer],i=0;for(let u=0;u<t.lineLengths.length;u++){let l=u*this._terminal.cols*11,h=this._vertices.attributes.subarray(l,l+t.lineLengths[u]*11);s.set(h,i),i+=h.length}r.bindBuffer(r.ARRAY_BUFFER,this._attributesBuffer),r.bufferData(r.ARRAY_BUFFER,s.subarray(0,i),r.STREAM_DRAW);for(let u=0;u<this._atlas.pages.length;u++)this._atlas.pages[u].version!==this._atlasTextures[u].version&&this._bindAtlasPageTexture(r,this._atlas,u);r.drawElementsInstanced(r.TRIANGLE_STRIP,4,r.UNSIGNED_BYTE,0,i/11)}setAtlas(t){this._atlas=t,this.invalidateAtlasTextures()}invalidateAtlasTextures(){for(let t of this._atlasTextures)t.version=-1}_bindAtlasPageTexture(t,r,s){t.activeTexture(t.TEXTURE0+s),t.bindTexture(t.TEXTURE_2D,this._atlasTextures[s].texture),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,r.pages[s].canvas),this._atlasTextures[s].version=r.pages[s].version}setDimensions(t){this._dimensions=t}},qw=class{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(t,r,s,i=!1){if(this.selectionStart=r,this.selectionEnd=s,!r||!s||r[0]===s[0]&&r[1]===s[1]){this.clear();return}let u=t.buffers.active.ydisp,l=r[1]-u,h=s[1]-u,p=Math.max(l,0),g=Math.min(h,t.rows-1);if(p>=t.rows||g<0){this.clear();return}this.hasSelection=!0,this.columnSelectMode=i,this.viewportStartRow=l,this.viewportEndRow=h,this.viewportCappedStartRow=p,this.viewportCappedEndRow=g,this.startCol=r[0],this.endCol=s[0]}isCellSelected(t,r,s){return this.hasSelection?(s-=t.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?r>=this.startCol&&s>=this.viewportCappedStartRow&&r<this.endCol&&s<=this.viewportCappedEndRow:r<this.startCol&&s>=this.viewportCappedStartRow&&r>=this.endCol&&s<=this.viewportCappedEndRow:s>this.viewportStartRow&&s<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&s===this.viewportStartRow&&r>=this.startCol&&r<this.endCol||this.viewportStartRow<this.viewportEndRow&&s===this.viewportEndRow&&r<this.endCol||this.viewportStartRow<this.viewportEndRow&&s===this.viewportStartRow&&r>=this.startCol):!1}};function Zw(){return new qw}var Yw=2147483648,Kw=class{constructor(){this.cells=new Uint32Array(0),this.lineLengths=new Uint32Array(0),this.selection=Zw()}resize(t,r){let s=t*r*4;s!==this.cells.length&&(this.cells=new Uint32Array(s),this.lineLengths=new Uint32Array(r))}clear(){this.cells.fill(0,0),this.lineLengths.fill(0,0)}},Xw=`#version 300 es
38
+ layout (location = 0) in vec2 a_position;
39
+ layout (location = 1) in vec2 a_size;
40
+ layout (location = 2) in vec4 a_color;
41
+ layout (location = 3) in vec2 a_unitquad;
42
+
43
+ uniform mat4 u_projection;
44
+
45
+ out vec4 v_color;
46
+
47
+ void main() {
48
+ vec2 zeroToOne = a_position + (a_unitquad * a_size);
49
+ gl_Position = u_projection * vec4(zeroToOne, 0.0, 1.0);
50
+ v_color = a_color;
51
+ }`,Jw=`#version 300 es
52
+ precision lowp float;
53
+
54
+ in vec4 v_color;
55
+
56
+ out vec4 outColor;
57
+
58
+ void main() {
59
+ outColor = v_color;
60
+ }`,La=8,Th=La*Float32Array.BYTES_PER_ELEMENT,eA=20*La,vm=class{constructor(){this.attributes=new Float32Array(eA),this.count=0}},Ga=0,wm=0,Am=0,Tm=0,Sm=0,Cm=0,_m=0,tA=class extends e0{constructor(t,r,s,i,u){super(),this._terminal=t,this._gl=r,this._dimensions=s,this._themeService=i,this._logService=u,this._vertices=new vm,this._verticesCursor=new vm;let l=this._gl;this._program=ks(f3(l,Xw,Jw,this._logService)),this._register(zs(()=>l.deleteProgram(this._program))),this._projectionLocation=ks(l.getUniformLocation(this._program,"u_projection"));let h=this._vertexArrayObject=l.createVertexArray();this._register(zs(()=>l.deleteVertexArray(h))),l.bindVertexArray(h);let p=new Float32Array([0,0,1,0,0,1,1,1]),g=l.createBuffer();this._register(zs(()=>l.deleteBuffer(g))),l.bindBuffer(l.ARRAY_BUFFER,g),l.bufferData(l.ARRAY_BUFFER,p,l.STATIC_DRAW),l.enableVertexAttribArray(3),l.vertexAttribPointer(3,2,this._gl.FLOAT,!1,0,0);let x=new Uint8Array([0,1,2,3]),b=l.createBuffer();this._register(zs(()=>l.deleteBuffer(b))),l.bindBuffer(l.ELEMENT_ARRAY_BUFFER,b),l.bufferData(l.ELEMENT_ARRAY_BUFFER,x,l.STATIC_DRAW),this._attributesBuffer=ks(l.createBuffer()),this._register(zs(()=>l.deleteBuffer(this._attributesBuffer))),l.bindBuffer(l.ARRAY_BUFFER,this._attributesBuffer),l.enableVertexAttribArray(0),l.vertexAttribPointer(0,2,l.FLOAT,!1,Th,0),l.vertexAttribDivisor(0,1),l.enableVertexAttribArray(1),l.vertexAttribPointer(1,2,l.FLOAT,!1,Th,2*Float32Array.BYTES_PER_ELEMENT),l.vertexAttribDivisor(1,1),l.enableVertexAttribArray(2),l.vertexAttribPointer(2,4,l.FLOAT,!1,Th,4*Float32Array.BYTES_PER_ELEMENT),l.vertexAttribDivisor(2,1),this._updateCachedColors(i.colors),this._register(this._themeService.onChangeColors(v=>{this._updateCachedColors(v),this._updateViewportRectangle()}))}renderBackgrounds(){this._renderVertices(this._vertices)}renderCursor(){this._renderVertices(this._verticesCursor)}_renderVertices(t){let r=this._gl;r.useProgram(this._program),r.bindVertexArray(this._vertexArrayObject),r.uniformMatrix4fv(this._projectionLocation,!1,h3),r.bindBuffer(r.ARRAY_BUFFER,this._attributesBuffer),r.bufferData(r.ARRAY_BUFFER,t.attributes,r.DYNAMIC_DRAW),r.drawElementsInstanced(this._gl.TRIANGLE_STRIP,4,r.UNSIGNED_BYTE,0,t.count)}handleResize(){this._updateViewportRectangle()}setDimensions(t){this._dimensions=t}_updateCachedColors(t){this._bgFloat=this._colorToFloat32Array(t.background),this._cursorFloat=this._colorToFloat32Array(t.cursor)}_updateViewportRectangle(){this._addRectangleFloat(this._vertices.attributes,0,0,0,this._terminal.cols*this._dimensions.device.cell.width,this._terminal.rows*this._dimensions.device.cell.height,this._bgFloat)}updateBackgrounds(t){let r=this._terminal,s=this._vertices,i=1,u,l,h,p,g,x,b,v,A,k,I;for(u=0;u<r.rows;u++){for(h=-1,p=0,g=0,x=!1,l=0;l<r.cols;l++)b=(u*r.cols+l)*4,v=t.cells[b+1],A=t.cells[b+2],k=!!(A&67108864),(v!==p||A!==g&&(x||k))&&((p!==0||x&&g!==0)&&(I=i++*La,this._updateRectangle(s,I,g,p,h,l,u)),h=l,p=v,g=A,x=k);(p!==0||x&&g!==0)&&(I=i++*La,this._updateRectangle(s,I,g,p,h,r.cols,u))}s.count=i}updateCursor(t){let r=this._verticesCursor,s=t.cursor;if(!s||s.style==="block"){r.count=0;return}let i,u=0;(s.style==="bar"||s.style==="outline")&&(i=u++*La,this._addRectangleFloat(r.attributes,i,s.x*this._dimensions.device.cell.width,s.y*this._dimensions.device.cell.height,s.style==="bar"?s.dpr*s.cursorWidth:s.dpr,this._dimensions.device.cell.height,this._cursorFloat)),(s.style==="underline"||s.style==="outline")&&(i=u++*La,this._addRectangleFloat(r.attributes,i,s.x*this._dimensions.device.cell.width,(s.y+1)*this._dimensions.device.cell.height-s.dpr,s.width*this._dimensions.device.cell.width,s.dpr,this._cursorFloat)),s.style==="outline"&&(i=u++*La,this._addRectangleFloat(r.attributes,i,s.x*this._dimensions.device.cell.width,s.y*this._dimensions.device.cell.height,s.width*this._dimensions.device.cell.width,s.dpr,this._cursorFloat),i=u++*La,this._addRectangleFloat(r.attributes,i,(s.x+s.width)*this._dimensions.device.cell.width-s.dpr,s.y*this._dimensions.device.cell.height,s.dpr,this._dimensions.device.cell.height,this._cursorFloat)),r.count=u}_updateRectangle(t,r,s,i,u,l,h){if(s&67108864)switch(s&50331648){case 16777216:case 33554432:Ga=this._themeService.colors.ansi[s&255].rgba;break;case 50331648:Ga=(s&16777215)<<8;break;default:Ga=this._themeService.colors.foreground.rgba}else switch(i&50331648){case 16777216:case 33554432:Ga=this._themeService.colors.ansi[i&255].rgba;break;case 50331648:Ga=(i&16777215)<<8;break;default:Ga=this._themeService.colors.background.rgba}t.attributes.length<r+La&&(t.attributes=zw(t.attributes,(this._terminal.rows*this._terminal.cols+1)*La)),wm=u*this._dimensions.device.cell.width,Am=h*this._dimensions.device.cell.height,Tm=(Ga>>24&255)/255,Sm=(Ga>>16&255)/255,Cm=(Ga>>8&255)/255,_m=1,this._addRectangle(t.attributes,r,wm,Am,(l-u)*this._dimensions.device.cell.width,this._dimensions.device.cell.height,Tm,Sm,Cm,_m)}_addRectangle(t,r,s,i,u,l,h,p,g,x){t[r]=s/this._dimensions.device.canvas.width,t[r+1]=i/this._dimensions.device.canvas.height,t[r+2]=u/this._dimensions.device.canvas.width,t[r+3]=l/this._dimensions.device.canvas.height,t[r+4]=h,t[r+5]=p,t[r+6]=g,t[r+7]=x}_addRectangleFloat(t,r,s,i,u,l,h){t[r]=s/this._dimensions.device.canvas.width,t[r+1]=i/this._dimensions.device.canvas.height,t[r+2]=u/this._dimensions.device.canvas.width,t[r+3]=l/this._dimensions.device.canvas.height,t[r+4]=h[0],t[r+5]=h[1],t[r+6]=h[2],t[r+7]=h[3]}_colorToFloat32Array(t){return new Float32Array([(t.rgba>>24&255)/255,(t.rgba>>16&255)/255,(t.rgba>>8&255)/255,(t.rgba&255)/255])}},rA=class extends e0{constructor(e,t,r,s,i,u,l,h){super(),this._container=t,this._alpha=i,this._coreBrowserService=u,this._optionsService=l,this._themeService=h,this._deviceCharWidth=0,this._deviceCharHeight=0,this._deviceCellWidth=0,this._deviceCellHeight=0,this._deviceCharLeft=0,this._deviceCharTop=0,this._canvas=this._coreBrowserService.mainDocument.createElement("canvas"),this._canvas.classList.add(`xterm-${r}-layer`),this._canvas.style.zIndex=s.toString(),this._initCanvas(),this._container.appendChild(this._canvas),this._register(this._themeService.onChangeColors(p=>{this._refreshCharAtlas(e,p),this.reset(e)})),this._register(zs(()=>{this._canvas.remove()}))}_initCanvas(){this._ctx=ks(this._canvas.getContext("2d",{alpha:this._alpha})),this._alpha||this._clearAll()}handleBlur(e){}handleFocus(e){}handleCursorMove(e){}handleGridChanged(e,t,r){}handleSelectionChanged(e,t,r,s=!1){}_setTransparency(e,t){if(t===this._alpha)return;let r=this._canvas;this._alpha=t,this._canvas=this._canvas.cloneNode(),this._initCanvas(),this._container.replaceChild(this._canvas,r),this._refreshCharAtlas(e,this._themeService.colors),this.handleGridChanged(e,0,e.rows-1)}_refreshCharAtlas(e,t){this._deviceCharWidth<=0&&this._deviceCharHeight<=0||(this._charAtlas=u3(e,this._optionsService.rawOptions,t,this._deviceCellWidth,this._deviceCellHeight,this._deviceCharWidth,this._deviceCharHeight,this._coreBrowserService.dpr,2048),this._charAtlas.warmUp())}resize(e,t){this._deviceCellWidth=t.device.cell.width,this._deviceCellHeight=t.device.cell.height,this._deviceCharWidth=t.device.char.width,this._deviceCharHeight=t.device.char.height,this._deviceCharLeft=t.device.char.left,this._deviceCharTop=t.device.char.top,this._canvas.width=t.device.canvas.width,this._canvas.height=t.device.canvas.height,this._canvas.style.width=`${t.css.canvas.width}px`,this._canvas.style.height=`${t.css.canvas.height}px`,this._alpha||this._clearAll(),this._refreshCharAtlas(e,this._themeService.colors)}_fillBottomLineAtCells(e,t,r=1){this._ctx.fillRect(e*this._deviceCellWidth,(t+1)*this._deviceCellHeight-this._coreBrowserService.dpr-1,r*this._deviceCellWidth,this._coreBrowserService.dpr)}_clearAll(){this._alpha?this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height):(this._ctx.fillStyle=this._themeService.colors.background.css,this._ctx.fillRect(0,0,this._canvas.width,this._canvas.height))}_clearCells(e,t,r,s){this._alpha?this._ctx.clearRect(e*this._deviceCellWidth,t*this._deviceCellHeight,r*this._deviceCellWidth,s*this._deviceCellHeight):(this._ctx.fillStyle=this._themeService.colors.background.css,this._ctx.fillRect(e*this._deviceCellWidth,t*this._deviceCellHeight,r*this._deviceCellWidth,s*this._deviceCellHeight))}_fillCharTrueColor(e,t,r,s){this._ctx.font=this._getFont(e,!1,!1),this._ctx.textBaseline=t3,this._clipCell(r,s,t.getWidth()),this._ctx.fillText(t.getChars(),r*this._deviceCellWidth+this._deviceCharLeft,s*this._deviceCellHeight+this._deviceCharTop+this._deviceCharHeight)}_clipCell(e,t,r){this._ctx.beginPath(),this._ctx.rect(e*this._deviceCellWidth,t*this._deviceCellHeight,r*this._deviceCellWidth,this._deviceCellHeight),this._ctx.clip()}_getFont(e,t,r){let s=t?e.options.fontWeightBold:e.options.fontWeight;return`${r?"italic":""} ${s} ${e.options.fontSize*this._coreBrowserService.dpr}px ${e.options.fontFamily}`}},nA=class extends rA{constructor(t,r,s,i,u,l,h){super(s,t,"link",r,!0,u,l,h),this._register(i.onShowLinkUnderline(p=>this._handleShowLinkUnderline(p))),this._register(i.onHideLinkUnderline(p=>this._handleHideLinkUnderline(p)))}resize(t,r){super.resize(t,r),this._state=void 0}reset(t){this._clearCurrentLink()}_clearCurrentLink(){if(this._state){this._clearCells(this._state.x1,this._state.y1,this._state.cols-this._state.x1,1);let t=this._state.y2-this._state.y1-1;t>0&&this._clearCells(0,this._state.y1+1,this._state.cols,t),this._clearCells(0,this._state.y2,this._state.x2,1),this._state=void 0}}_handleShowLinkUnderline(t){if(t.fg===257?this._ctx.fillStyle=this._themeService.colors.background.css:t.fg!==void 0&&Pw(t.fg)?this._ctx.fillStyle=this._themeService.colors.ansi[t.fg].css:this._ctx.fillStyle=this._themeService.colors.foreground.css,t.y1===t.y2)this._fillBottomLineAtCells(t.x1,t.y1,t.x2-t.x1);else{this._fillBottomLineAtCells(t.x1,t.y1,t.cols-t.x1);for(let r=t.y1+1;r<t.y2;r++)this._fillBottomLineAtCells(0,r,t.cols);this._fillBottomLineAtCells(0,t.y2,t.x2)}this._state=t}_handleHideLinkUnderline(t){this._clearCurrentLink()}},sA=class{constructor(t,r,s,i){this._node=t,this._type=r,this._handler=s,this._options=i,t.addEventListener(r,s,i)}dispose(){!this._node||!this._handler||(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}};function Sh(e,t,r,s){return new sA(e,t,r,s)}var iA=class extends e0{constructor(e,t,r,s,i,u,l,h,p,g=!0,x){super(),this._terminal=e,this._characterJoinerService=t,this._charSizeService=r,this._coreBrowserService=s,this._coreService=i,this._decorationService=u,this._logService=l,this._optionsService=h,this._themeService=p,this._customGlyphs=g,this._cursorBlinkStateManager=this._register(new oc),this._charAtlasDisposable=this._register(new oc),this._observerDisposable=this._register(new oc),this._model=new Kw,this._rowHasBlinkingCells=[],this._rowHasBlinkingCellsCount=0,this._workCell=new Uw,this._rectangleRenderer=this._register(new oc),this._glyphRenderer=this._register(new oc),this._onChangeTextureAtlas=this._register(new ta),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this._register(new ta),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=this._register(new ta),this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._onRequestRedraw=this._register(new ta),this.onRequestRedraw=this._onRequestRedraw.event,this._onContextLoss=this._register(new ta),this.onContextLoss=this._onContextLoss.event,this._canvas=this._coreBrowserService.mainDocument.createElement("canvas");let b={antialias:!1,depth:!1,preserveDrawingBuffer:x};if(this._gl=this._canvas.getContext("webgl2",b),!this._gl)throw new Error("WebGL2 not supported "+this._gl);this._register(this._themeService.onChangeColors(()=>this._handleColorChange())),this._cellColorResolver=new vw(this._terminal,this._optionsService,this._model.selection,this._decorationService,this._coreBrowserService,this._themeService),this._core=this._terminal._core,this._renderLayers=[new nA(this._core.screenElement,2,this._terminal,this._core.linkifier,this._coreBrowserService,h,this._themeService)],this.dimensions=gw(),this._devicePixelRatio=this._coreBrowserService.dpr,this._updateDimensions(),this._updateCursorBlink(),this._register(h.onOptionChange(()=>this._handleOptionsChanged())),this._textBlinkStateManager=this._register(new $w(()=>this._requestRedrawViewport(),this._coreBrowserService,this._optionsService)),this._resetBlinkingRowState(),this._deviceMaxTextureSize=this._gl.getParameter(this._gl.MAX_TEXTURE_SIZE),this._register(Sh(this._canvas,"webglcontextlost",v=>{this._logService.debug("webglcontextlost event received"),v.preventDefault(),this._contextRestorationTimeout=setTimeout(()=>{this._contextRestorationTimeout=void 0,this._logService.warn("webgl context not restored; firing onContextLoss"),this._onContextLoss.fire(v)},3e3)})),this._register(Sh(this._canvas,"webglcontextrestored",v=>{this._logService.warn("webglcontextrestored event received"),clearTimeout(this._contextRestorationTimeout),this._contextRestorationTimeout=void 0,xm(this._terminal),this._initializeWebGLState(),this._requestRedrawViewport()})),this._observerDisposable.value=bm(this._canvas,this._coreBrowserService.window,(v,A)=>this._setCanvasDevicePixelDimensions(v,A)),this._register(this._coreBrowserService.onWindowChange(v=>{this._observerDisposable.value=bm(this._canvas,v,(A,k)=>this._setCanvasDevicePixelDimensions(A,k))})),this._register(Sh(this._coreBrowserService.mainDocument,"mousedown",()=>this._cursorBlinkStateManager.value?.restartBlinkAnimation())),this._core.screenElement.appendChild(this._canvas),[this._rectangleRenderer.value,this._glyphRenderer.value]=this._initializeWebGLState(),this._isAttached=this._core.screenElement.isConnected,this._register(zs(()=>{clearTimeout(this._contextRestorationTimeout),this._contextRestorationTimeout=void 0;for(let v of this._renderLayers)v.dispose();this._canvas.parentElement?.removeChild(this._canvas),xm(this._terminal)}))}get textureAtlas(){return this._charAtlas?.pages[0].canvas}_handleColorChange(){this._refreshCharAtlas(),this._clearModel(!0)}handleDevicePixelRatioChange(){this._devicePixelRatio!==this._coreBrowserService.dpr&&(this._devicePixelRatio=this._coreBrowserService.dpr,this.handleResize(this._terminal.cols,this._terminal.rows))}handleResize(e,t){this._updateDimensions(),this._model.resize(this._terminal.cols,this._terminal.rows),this._resetBlinkingRowState();for(let r of this._renderLayers)r.resize(this._terminal,this.dimensions);this._canvas.width=this.dimensions.device.canvas.width,this._canvas.height=this.dimensions.device.canvas.height,this._canvas.style.width=`${this.dimensions.css.canvas.width}px`,this._canvas.style.height=`${this.dimensions.css.canvas.height}px`,this._core.screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._core.screenElement.style.height=`${this.dimensions.css.canvas.height}px`,this._rectangleRenderer.value?.setDimensions(this.dimensions),this._rectangleRenderer.value?.handleResize(),this._glyphRenderer.value?.setDimensions(this.dimensions),this._glyphRenderer.value?.handleResize(),this._refreshCharAtlas(),this._clearModel(!1),this._onRequestRedraw.fire({start:0,end:this._terminal.rows-1,sync:!0})}handleCharSizeChanged(){this.handleResize(this._terminal.cols,this._terminal.rows)}handleBlur(){for(let e of this._renderLayers)e.handleBlur(this._terminal);this._cursorBlinkStateManager.value?.pause(),this._requestRedrawViewport()}handleFocus(){for(let e of this._renderLayers)e.handleFocus(this._terminal);this._cursorBlinkStateManager.value?.resume(),this._requestRedrawViewport()}handleViewportVisibilityChange(e){this._textBlinkStateManager.setViewportVisible(e)}handleSelectionChanged(e,t,r){for(let s of this._renderLayers)s.handleSelectionChanged(this._terminal,e,t,r);this._model.selection.update(this._core,e,t,r),this._requestRedrawViewport()}handleCursorMove(){for(let e of this._renderLayers)e.handleCursorMove(this._terminal);this._cursorBlinkStateManager.value?.restartBlinkAnimation()}_handleOptionsChanged(){this._updateDimensions(),this._refreshCharAtlas(),this._updateCursorBlink()}_initializeWebGLState(){return this._rectangleRenderer.value=new tA(this._terminal,this._gl,this.dimensions,this._themeService,this._logService),this._glyphRenderer.value=new Vw(this._terminal,this._gl,this.dimensions,this._optionsService,this._logService),this.handleCharSizeChanged(),[this._rectangleRenderer.value,this._glyphRenderer.value]}_refreshCharAtlas(){if(this.dimensions.device.char.width<=0&&this.dimensions.device.char.height<=0){this._isAttached=!1;return}let e=u3(this._terminal,this._optionsService.rawOptions,this._themeService.colors,this.dimensions.device.cell.width,this.dimensions.device.cell.height,this.dimensions.device.char.width,this.dimensions.device.char.height,this._coreBrowserService.dpr,this._deviceMaxTextureSize,this._customGlyphs);this._charAtlas!==e&&(this._onChangeTextureAtlas.fire(e.pages[0].canvas),this._charAtlasDisposable.value=iw(Wl.forward(e.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas),Wl.forward(e.onRemoveTextureAtlasCanvas,this._onRemoveTextureAtlasCanvas))),this._charAtlas=e,this._charAtlas.warmUp(),this._glyphRenderer.value?.setAtlas(this._charAtlas)}_clearModel(e){this._model.clear(),e&&this._glyphRenderer.value?.clear()}clearTextureAtlas(){this._charAtlas?.clearTexture(),this._clearModel(!0),this._requestRedrawViewport()}clear(){this._clearModel(!0);for(let e of this._renderLayers)e.reset(this._terminal);this._resetBlinkingRowState(),this._textBlinkStateManager.setNeedsBlinkInViewport(!1),this._cursorBlinkStateManager.value?.restartBlinkAnimation(),this._updateCursorBlink()}renderRows(e,t){if(!this._isAttached)if(this._core.screenElement?.isConnected&&this._charSizeService.width&&this._charSizeService.height)this._updateDimensions(),this._refreshCharAtlas(),this._isAttached=!0;else return;for(let i of this._renderLayers)i.handleGridChanged(this._terminal,e,t);if(!this._glyphRenderer.value||!this._rectangleRenderer.value)return;this._glyphRenderer.value.beginFrame()?(this._clearModel(!0),this._updateModel(0,this._terminal.rows-1)):this._updateModel(e,t);let r=!1,s=0;for(;this._charAtlas&&this._glyphRenderer.value.beginFrame()&&s++<32;)r=!0,this._clearModel(!0),this._updateModel(0,this._terminal.rows-1);r&&this._glyphRenderer.value.invalidateAtlasTextures(),this._rectangleRenderer.value.renderBackgrounds(),this._glyphRenderer.value.render(this._model),(!this._cursorBlinkStateManager.value||this._cursorBlinkStateManager.value.isCursorVisible)&&this._rectangleRenderer.value.renderCursor()}_updateCursorBlink(){this._coreService.decPrivateModes.cursorBlink??this._terminal.options.cursorBlink?this._cursorBlinkStateManager.value=new Ow(()=>{this._requestRedrawCursor()},this._coreBrowserService):this._cursorBlinkStateManager.clear(),this._requestRedrawCursor()}_updateModel(e,t){let r=this._core,s=this._workCell,i,u,l,h,p,g,x,b,v,A,k,I,R,M,B,F,W;e=Lm(e,r.rows-1,0),t=Lm(t,r.rows-1,0);let O=this._coreService.decPrivateModes.cursorStyle??r.options.cursorStyle??"block",q=this._terminal.buffer.active.baseY+this._terminal.buffer.active.cursorY,ee=q-r.buffer.ydisp,de=Math.min(this._terminal.buffer.active.cursorX,r.cols-1),Ae=-1,Le=this._coreService.isCursorInitialized&&!this._coreService.isCursorHidden&&(!this._cursorBlinkStateManager.value||this._cursorBlinkStateManager.value.isCursorVisible);this._model.cursor=void 0;let ve=!1;for(u=e;u<=t;u++){l=u+r.buffer.ydisp;let Ye=r.buffer.lines.get(l);if(!Ye){for(this._model.lineLengths[u]=0,F=0;F<r.cols;F++)W=(u*r.cols+F)*4,ve=!0,this._nullModelCell(F,u,W,0,0,0);this._setRowBlinkState(u,!1);continue}h=Ye;let Te=!1;for(this._model.lineLengths[u]=0,k=q===l,x=0,p=this._characterJoinerService.getJoinedCharacters(l),F=0;F<r.cols;F++){if(i=this._cellColorResolver.result.bg,h.loadCell(F,s),F===0&&(i=this._cellColorResolver.result.bg),g=!1,b=F>=x,v=F,p.length>0&&F===p[0][0]&&b){A=p.shift();let fe=this._model.selection.isCellSelected(this._terminal,A[0],l);for(B=A[0]+1;B<A[1];B++)b&&=fe===this._model.selection.isCellSelected(this._terminal,B,l);b&&=!k||de<A[0]||de>=A[1],b?(g=!0,s=new oA(s,h.translateToString(!0,A[0],A[1]),A[1]-A[0]),v=A[1]-1):x=A[1]}if(I=s.getChars(),R=s.getCode(),B=(u*r.cols+F)*4,!Te&&s.isBlink()&&(Te=!0),this._cellColorResolver.resolve(s,F,l,this.dimensions.device.cell.width,this.dimensions.device.cell.height),Le&&l===q&&(F===de&&(this._model.cursor={x:de,y:ee,width:s.getWidth(),style:this._coreBrowserService.isFocused?O:r.options.cursorInactiveStyle,cursorWidth:r.options.cursorWidth,dpr:this._devicePixelRatio},Ae=de+s.getWidth()-1),F>=de&&F<=Ae&&(this._coreBrowserService.isFocused&&O==="block"||this._coreBrowserService.isFocused===!1&&r.options.cursorInactiveStyle==="block")&&(this._cellColorResolver.result.fg=50331648|this._themeService.colors.cursorAccent.rgba>>8&16777215,this._cellColorResolver.result.bg=50331648|this._themeService.colors.cursor.rgba>>8&16777215)),this._textBlinkStateManager.isEnabled&&!this._textBlinkStateManager.isBlinkOn&&s.isBlink()&&(this._cellColorResolver.result.fg|=1073741824),R!==0&&(this._model.lineLengths[u]=F+1),!(this._model.cells[B]===R&&this._model.cells[B+1]===this._cellColorResolver.result.bg&&this._model.cells[B+2]===this._cellColorResolver.result.fg&&this._model.cells[B+3]===this._cellColorResolver.result.ext)&&(ve=!0,I.length>1&&(R|=Yw),this._model.cells[B]=R,this._model.cells[B+1]=this._cellColorResolver.result.bg,this._model.cells[B+2]=this._cellColorResolver.result.fg,this._model.cells[B+3]=this._cellColorResolver.result.ext,M=s.getWidth(),this._glyphRenderer.value.updateCell(F,u,R,this._cellColorResolver.result.bg,this._cellColorResolver.result.fg,this._cellColorResolver.result.ext,I,M,i),g)){for(s=this._workCell,F++;F<=v;F++)W=(u*r.cols+F)*4,this._nullModelCell(F,u,W,this._cellColorResolver.result.bg,this._cellColorResolver.result.fg,this._cellColorResolver.result.ext);F--}}this._setRowBlinkState(u,Te)}ve&&this._rectangleRenderer.value.updateBackgrounds(this._model),this._rectangleRenderer.value.updateCursor(this._model),this._updateTextBlinkState()}_nullModelCell(e,t,r,s,i,u){this._glyphRenderer.value.updateCell(e,t,0,s,i,u,"",0,0),this._model.cells[r]=0,this._model.cells[r+1]=s,this._model.cells[r+2]=i,this._model.cells[r+3]=u}_resetBlinkingRowState(){this._rowHasBlinkingCells=new Array(this._terminal.rows).fill(!1),this._rowHasBlinkingCellsCount=0}_setRowBlinkState(e,t){this._rowHasBlinkingCells[e]!==t&&(this._rowHasBlinkingCells[e]=t,this._rowHasBlinkingCellsCount+=t?1:-1)}_updateTextBlinkState(){this._textBlinkStateManager.setNeedsBlinkInViewport(this._rowHasBlinkingCellsCount>0)}_updateDimensions(){!this._charSizeService.width||!this._charSizeService.height||(this.dimensions.device.char.width=Math.floor(this._charSizeService.width*this._devicePixelRatio),this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*this._devicePixelRatio),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.top=this._optionsService.rawOptions.lineHeight===1?0:Math.round((this.dimensions.device.cell.height-this.dimensions.device.char.height)/2),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.char.left=Math.floor(this._optionsService.rawOptions.letterSpacing/2),this.dimensions.device.canvas.height=this._terminal.rows*this.dimensions.device.cell.height,this.dimensions.device.canvas.width=this._terminal.cols*this.dimensions.device.cell.width,this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/this._devicePixelRatio),this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/this._devicePixelRatio),this.dimensions.css.cell.height=this.dimensions.device.cell.height/this._devicePixelRatio,this.dimensions.css.cell.width=this.dimensions.device.cell.width/this._devicePixelRatio)}_setCanvasDevicePixelDimensions(e,t){this._canvas.width===e&&this._canvas.height===t||(this._canvas.width=e,this._canvas.height=t,this._onRequestRedraw.fire({start:0,end:this._terminal.rows-1,sync:!0}))}_requestRedrawViewport(){this._onRequestRedraw.fire({start:0,end:this._terminal.rows-1})}_requestRedrawCursor(){let e=this._terminal.buffer.active.cursorY;this._onRequestRedraw.fire({start:e,end:e})}},oA=class extends E0{constructor(t,r,s){super(),this.content=0,this.combinedData="",this.fg=t.fg,this.bg=t.bg,this.combinedData=r,this._width=s}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(t){throw new Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}};function Lm(e,t,r=0){return Math.max(Math.min(e,t),r)}var aA=class extends e0{constructor(e){if(J5&&cw()<16){let t={antialias:!1,depth:!1,preserveDrawingBuffer:!0};if(!document.createElement("canvas").getContext("webgl2",t))throw new Error("WebGL2 is only supported on Safari 16 and above")}super(),this._onChangeTextureAtlas=this._register(new ta),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this._register(new ta),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=this._register(new ta),this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._onContextLoss=this._register(new ta),this.onContextLoss=this._onContextLoss.event,this._customGlyphs=e?.customGlyphs??!0,this._preserveDrawingBuffer=e?.preserveDrawingBuffer}activate(e){let t=e._core;if(!e.element){this._register(t.onWillOpen(()=>this.activate(e)));return}this._terminal=e;let r=t.coreService,s=t.optionsService,i=t,u=i._renderService,l=i._characterJoinerService,h=i._charSizeService,p=i._coreBrowserService,g=i._decorationService,x=i._logService,b=i._themeService;this._renderer=this._register(new iA(e,l,h,p,r,g,x,s,b,this._customGlyphs,this._preserveDrawingBuffer)),this._register(Wl.forward(this._renderer.onContextLoss,this._onContextLoss)),this._register(Wl.forward(this._renderer.onChangeTextureAtlas,this._onChangeTextureAtlas)),this._register(Wl.forward(this._renderer.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas)),this._register(Wl.forward(this._renderer.onRemoveTextureAtlasCanvas,this._onRemoveTextureAtlasCanvas)),u.setRenderer(this._renderer),this._register(zs(()=>{if(this._terminal._core._store._isDisposed)return;let v=this._terminal._core._renderService;v.setRenderer(this._terminal._core._createRenderer()),v.handleResize(e.cols,e.rows)}))}get textureAtlas(){return this._renderer?.textureAtlas}clearTextureAtlas(){this._renderer?.clearTextureAtlas()}};var lA=class{constructor(t,r,s,i={}){this._terminal=t,this._regex=r,this._handler=s,this._options=i}provideLinks(t,r){let s=uA.computeLink(t,this._regex,this._terminal,this._handler);r(this._addCallbacks(s))}_addCallbacks(t){return t.map(r=>(r.leave=this._options.leave,r.hover=(s,i)=>{if(this._options.hover){let{range:u}=r;this._options.hover(s,i,u)}},r))}};function cA(e){try{let t=new URL(e),r=t.password&&t.username?`${t.protocol}//${t.username}:${t.password}@${t.host}`:t.username?`${t.protocol}//${t.username}@${t.host}`:`${t.protocol}//${t.host}`;return e.toLocaleLowerCase().startsWith(r.toLocaleLowerCase())}catch{return!1}}var uA=class Zu{static computeLink(t,r,s,i){let u=r.flags.includes("g")?r.flags:`${r.flags}g`,l=new RegExp(r.source,u),[h,p]=Zu._getWindowedLineStrings(t-1,s),g=h.join(""),x,b=[];for(;x=l.exec(g);){let v=x[0];if(!cA(v))continue;let[A,k]=Zu._mapStrIdx(s,p,0,x.index),[I,R]=Zu._mapStrIdx(s,A,k,v.length);if(A===-1||k===-1||I===-1||R===-1)continue;let M={start:{x:k+1,y:A+1},end:{x:R,y:I+1}};b.push({range:M,text:v,activate:i})}return b}static _getWindowedLineStrings(t,r){let s,i=t,u=t,l,h,p=[];if(s=r.buffer.active.getLine(t)){let g=s.translateToString(!0);if(s.isWrapped&&g[0]!==" "){for(l=0;(s=r.buffer.active.getLine(--i))&&l<2048&&(h=s.translateToString(!0),l+=h.length,p.push(h),!(!s.isWrapped||h.indexOf(" ")!==-1)););p.reverse()}for(p.push(g),l=0;(s=r.buffer.active.getLine(++u))&&s.isWrapped&&l<2048&&(h=s.translateToString(!0),l+=h.length,p.push(h),h.indexOf(" ")===-1););}return[p,i]}static _mapStrIdx(t,r,s,i){let u=t.buffer.active,l=u.getNullCell(),h=s;for(;i;){let p=u.getLine(r);if(!p)return[-1,-1];for(let g=h;g<p.length;++g){p.getCell(g,l);let x=l.getChars();if(l.getWidth()&&(i-=x.length||1,g===p.length-1&&x==="")){let b=u.getLine(r+1);b&&b.isWrapped&&(b.getCell(0,l),l.getWidth()===2&&(i+=1))}if(i<0)return[r,g]}r++,h=0}return[r,h]}},dA=/(https?|HTTPS?):[/]{2}[^\s"'!*(){}|\\\^<>`]*[^\s"':,.!?{}|\\\^~\[\]`()<>]/;function hA(e,t){let r=window.open();if(r){try{r.opener=null}catch{}r.location.href=t}else console.warn("Opening link blocked as opener could not be cleared")}var fA=class{constructor(t=hA,r={}){this._handler=t,this._options=r}activate(t){this._terminal=t;let r=this._options,s=r.urlRegex??dA;this._linkProvider=this._terminal.registerLinkProvider(new lA(this._terminal,s,this._handler,r))}dispose(){this._linkProvider?.dispose()}};function Im(e){return{dispose:e}}var pA=class{constructor(){this._disposables=new Set,this._isDisposed=!1}get isDisposed(){return this._isDisposed}add(e){return this._isDisposed?e.dispose():this._disposables.add(e),e}dispose(){if(!this._isDisposed){this._isDisposed=!0;for(let e of this._disposables)e.dispose();this._disposables.clear()}}clear(){for(let e of this._disposables)e.dispose();this._disposables.clear()}},mA=class{constructor(){this._listeners=[],this._disposed=!1}get event(){return this._event?this._event:(this._event=(t,r,s)=>{if(this._disposed)return Im(()=>{});let i={fn:t,thisArgs:r};this._listeners.push(i);let u=Im(()=>{let l=this._listeners.indexOf(i);l!==-1&&this._listeners.splice(l,1)});return s&&(Array.isArray(s)?s.push(u):s.add(u)),u},this._event)}fire(t){if(!this._disposed)switch(this._listeners.length){case 0:return;case 1:{let{fn:r,thisArgs:s}=this._listeners[0];r.call(s,t);return}default:{let r=this._listeners.slice();for(let{fn:s,thisArgs:i}of r)s.call(i,t)}}}dispose(){this._disposed||(this._disposed=!0,this._listeners.length=0)}},gA;(e=>{function t(u,l){return u(h=>l.fire(h))}e.forward=t;function r(u,l){return(h,p,g)=>u(x=>h.call(p,l(x)),void 0,g)}e.map=r;function s(...u){return(l,h,p)=>{let g=new pA;for(let x of u)g.add(x(b=>l.call(h,b)));return p&&(Array.isArray(p)?p.push(g):p.add(g)),g}}e.any=s;function i(u,l,h){return l(h),u(p=>l(p))}e.runAndSubscribe=i})(gA||={});var km=class Yu{constructor(){this._providers=Object.create(null),this._active="",this._onChange=new mA,this.onChange=this._onChange.event}static extractShouldJoin(t){return(t&1)!==0}static extractWidth(t){return t>>1&3}static extractCharKind(t){return t>>3}static createPropertyValue(t,r,s=!1){return(t&16777215)<<3|(r&3)<<1|(s?1:0)}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(t){if(!this._providers[t])throw new Error(`unknown Unicode version "${t}"`);this._active=t,this._activeProvider=this._providers[t],this._onChange.fire(t)}register(t){this._providers[t.version]=t,this._active||(this.activeVersion=t.version)}wcwidth(t){return this._activeProvider.wcwidth(t)}getStringCellWidth(t){let r=0,s=0,i=t.length;for(let u=0;u<i;++u){let l=t.charCodeAt(u);if(55296<=l&&l<=56319){if(++u>=i)return r+this.wcwidth(l);let g=t.charCodeAt(u);56320<=g&&g<=57343?l=(l-55296)*1024+g-56320+65536:r+=this.wcwidth(g)}let h=this.charProperties(l,s),p=Yu.extractWidth(h);Yu.extractShouldJoin(h)&&(p-=Yu.extractWidth(s)),r+=p,s=h}return r}charProperties(t,r){return this._activeProvider.charProperties(t,r)}},Ch=[[768,879],[1155,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1541],[1552,1562],[1564,1564],[1611,1631],[1648,1648],[1750,1757],[1759,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2045,2045],[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2259,2306],[2362,2362],[2364,2364],[2369,2376],[2381,2381],[2385,2391],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2558,2558],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2641,2641],[2672,2673],[2677,2677],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2810,2815],[2817,2817],[2876,2876],[2879,2879],[2881,2884],[2893,2893],[2902,2902],[2914,2915],[2946,2946],[3008,3008],[3021,3021],[3072,3072],[3076,3076],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3170,3171],[3201,3201],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3328,3329],[3387,3388],[3393,3396],[3405,3405],[3426,3427],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3981,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4151],[4153,4154],[4157,4158],[4184,4185],[4190,4192],[4209,4212],[4226,4226],[4229,4230],[4237,4237],[4253,4253],[4448,4607],[4957,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6158],[6277,6278],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6683,6683],[6742,6742],[6744,6750],[6752,6752],[6754,6754],[6757,6764],[6771,6780],[6783,6783],[6832,6846],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7040,7041],[7074,7077],[7080,7081],[7083,7085],[7142,7142],[7144,7145],[7149,7149],[7151,7153],[7212,7219],[7222,7223],[7376,7378],[7380,7392],[7394,7400],[7405,7405],[7412,7412],[7416,7417],[7616,7673],[7675,7679],[8203,8207],[8234,8238],[8288,8292],[8294,8303],[8400,8432],[11503,11505],[11647,11647],[11744,11775],[12330,12333],[12441,12442],[42607,42610],[42612,42621],[42654,42655],[42736,42737],[43010,43010],[43014,43014],[43019,43019],[43045,43046],[43204,43205],[43232,43249],[43263,43263],[43302,43309],[43335,43345],[43392,43394],[43443,43443],[43446,43449],[43452,43453],[43493,43493],[43561,43566],[43569,43570],[43573,43574],[43587,43587],[43596,43596],[43644,43644],[43696,43696],[43698,43700],[43703,43704],[43710,43711],[43713,43713],[43756,43757],[43766,43766],[44005,44005],[44008,44008],[44013,44013],[64286,64286],[65024,65039],[65056,65071],[65279,65279],[65529,65531]],xA=[[66045,66045],[66272,66272],[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[68325,68326],[68900,68903],[69446,69456],[69633,69633],[69688,69702],[69759,69761],[69811,69814],[69817,69818],[69821,69821],[69837,69837],[69888,69890],[69927,69931],[69933,69940],[70003,70003],[70016,70017],[70070,70078],[70089,70092],[70191,70193],[70196,70196],[70198,70199],[70206,70206],[70367,70367],[70371,70378],[70400,70401],[70459,70460],[70464,70464],[70502,70508],[70512,70516],[70712,70719],[70722,70724],[70726,70726],[70750,70750],[70835,70840],[70842,70842],[70847,70848],[70850,70851],[71090,71093],[71100,71101],[71103,71104],[71132,71133],[71219,71226],[71229,71229],[71231,71232],[71339,71339],[71341,71341],[71344,71349],[71351,71351],[71453,71455],[71458,71461],[71463,71467],[71727,71735],[71737,71738],[72148,72151],[72154,72155],[72160,72160],[72193,72202],[72243,72248],[72251,72254],[72263,72263],[72273,72278],[72281,72283],[72330,72342],[72344,72345],[72752,72758],[72760,72765],[72767,72767],[72850,72871],[72874,72880],[72882,72883],[72885,72886],[73009,73014],[73018,73018],[73020,73021],[73023,73029],[73031,73031],[73104,73105],[73109,73109],[73111,73111],[73459,73460],[78896,78904],[92912,92916],[92976,92982],[94031,94031],[94095,94098],[113821,113822],[113824,113827],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],[121461,121461],[121476,121476],[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],[123184,123190],[123628,123631],[125136,125142],[125252,125258],[917505,917505],[917536,917631],[917760,917999]],_h=[[4352,4447],[8986,8987],[9001,9002],[9193,9196],[9200,9200],[9203,9203],[9725,9726],[9748,9749],[9800,9811],[9855,9855],[9875,9875],[9889,9889],[9898,9899],[9917,9918],[9924,9925],[9934,9934],[9940,9940],[9962,9962],[9970,9971],[9973,9973],[9978,9978],[9981,9981],[9989,9989],[9994,9995],[10024,10024],[10060,10060],[10062,10062],[10067,10069],[10071,10071],[10133,10135],[10160,10160],[10175,10175],[11035,11036],[11088,11088],[11093,11093],[11904,11929],[11931,12019],[12032,12245],[12272,12283],[12288,12329],[12334,12350],[12353,12438],[12443,12543],[12549,12591],[12593,12686],[12688,12730],[12736,12771],[12784,12830],[12832,12871],[12880,19903],[19968,42124],[42128,42182],[43360,43388],[44032,55203],[63744,64255],[65040,65049],[65072,65106],[65108,65126],[65128,65131],[65281,65376],[65504,65510]],bA=[[94176,94179],[94208,100343],[100352,101106],[110592,110878],[110928,110930],[110948,110951],[110960,111355],[126980,126980],[127183,127183],[127374,127374],[127377,127386],[127488,127490],[127504,127547],[127552,127560],[127568,127569],[127584,127589],[127744,127776],[127789,127797],[127799,127868],[127870,127891],[127904,127946],[127951,127955],[127968,127984],[127988,127988],[127992,128062],[128064,128064],[128066,128252],[128255,128317],[128331,128334],[128336,128359],[128378,128378],[128405,128406],[128420,128420],[128507,128591],[128640,128709],[128716,128716],[128720,128722],[128725,128725],[128747,128748],[128756,128762],[128992,129003],[129293,129393],[129395,129398],[129402,129442],[129445,129450],[129454,129482],[129485,129535],[129648,129651],[129656,129658],[129664,129666],[129680,129685],[131072,196605],[196608,262141]],Va;function Em(e,t){let r=0,s=t.length-1,i;if(e<t[0][0]||e>t[s][1])return!1;for(;s>=r;)if(i=r+s>>1,e>t[i][1])r=i+1;else if(e<t[i][0])s=i-1;else return!0;return!1}var yA=class{constructor(){if(this.version="11",!Va){Va=new Uint8Array(65536),Va.fill(1),Va[0]=0,Va.fill(0,1,32),Va.fill(0,127,160);for(let e=0;e<Ch.length;++e)Va.fill(0,Ch[e][0],Ch[e][1]+1);for(let e=0;e<_h.length;++e)Va.fill(2,_h[e][0],_h[e][1]+1)}}wcwidth(e){return e<32?0:e<127?1:e<65536?Va[e]:Em(e,xA)?0:Em(e,bA)?2:1}charProperties(e,t){let r=this.wcwidth(e),s=r===0&&t!==0;if(s){let i=km.extractWidth(t);i===0?s=!1:i>r&&(r=i)}return km.createPropertyValue(0,r,s)}},vA=class{activate(e){e.unicode.register(new yA)}dispose(){}};function Xl(e){return{dispose:e}}function Ku(e){if(!e)return e;if(Array.isArray(e)){for(let t of e)t.dispose();return[]}return e.dispose(),e}function wA(...e){return Xl(()=>Ku(e))}var p3=class{constructor(){this._disposables=new Set,this._isDisposed=!1}get isDisposed(){return this._isDisposed}add(t){return this._isDisposed?t.dispose():this._disposables.add(t),t}dispose(){if(!this._isDisposed){this._isDisposed=!0;for(let t of this._disposables)t.dispose();this._disposables.clear()}}clear(){for(let t of this._disposables)t.dispose();this._disposables.clear()}},nu=class{constructor(){this._store=new p3}dispose(){this._store.dispose()}_register(t){return this._store.add(t)}};nu.None=Object.freeze({dispose(){}});var ad=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(t){this._isDisposed||t===this._value||(this._value?.dispose(),this._value=t)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,this._value?.dispose(),this._value=void 0}},Df=class{constructor(){this._listeners=[],this._disposed=!1}get event(){return this._event?this._event:(this._event=(e,t,r)=>{if(this._disposed)return Xl(()=>{});let s={fn:e,thisArgs:t};this._listeners.push(s);let i=Xl(()=>{let u=this._listeners.indexOf(s);u!==-1&&this._listeners.splice(u,1)});return r&&(Array.isArray(r)?r.push(i):r.add(i)),i},this._event)}fire(e){if(!this._disposed)switch(this._listeners.length){case 0:return;case 1:{let{fn:t,thisArgs:r}=this._listeners[0];t.call(r,e);return}default:{let t=this._listeners.slice();for(let{fn:r,thisArgs:s}of t)r.call(s,e)}}}dispose(){this._disposed||(this._disposed=!0,this._listeners.length=0)}},AA;(e=>{function t(u,l){return u(h=>l.fire(h))}e.forward=t;function r(u,l){return(h,p,g)=>u(x=>h.call(p,l(x)),void 0,g)}e.map=r;function s(...u){return(l,h,p)=>{let g=new p3;for(let x of u)g.add(x(b=>l.call(h,b)));return p&&(Array.isArray(p)?p.push(g):p.add(g)),g}}e.any=s;function i(u,l,h){return l(h),u(p=>l(p))}e.runAndSubscribe=i})(AA||={});function m3(e,t=0,r){let s=setTimeout(()=>{e()},t);return Xl(()=>{clearTimeout(s)})}var TA=class extends nu{constructor(e){super(),this._terminal=e,this._linesCacheTimeout=this._register(new ad),this._linesCacheDisposables=this._register(new ad),this._lastAccessTimestamp=0,this._register(Xl(()=>this._destroyLinesCache()))}initLinesCache(){this._linesCache||(this._linesCache=new Array(this._terminal.buffer.active.length),this._linesCacheDisposables.value=wA(this._terminal.onLineFeed(()=>this._destroyLinesCache()),this._terminal.onCursorMove(()=>this._destroyLinesCache()),this._terminal.onResize(()=>this._destroyLinesCache()))),this._lastAccessTimestamp=Date.now(),this._linesCacheTimeout.value||this._scheduleLinesCacheTimeout(15e3)}_destroyLinesCache(){this._linesCache=void 0,this._lastAccessTimestamp=0,this._linesCacheDisposables.clear(),this._linesCacheTimeout.clear()}_scheduleLinesCacheTimeout(e){this._linesCacheTimeout.value=m3(()=>{if(!this._linesCache)return;let t=Date.now()-this._lastAccessTimestamp;if(t>=15e3){this._destroyLinesCache();return}this._scheduleLinesCacheTimeout(15e3-t)},e)}getLineFromCache(e){return this._linesCache?.[e]}setLineInCache(e,t){this._linesCache&&(this._linesCache[e]=t)}translateBufferLineToStringWithWrap(e,t){let r=[],s=[0],i=this._terminal.buffer.active.getLine(e);for(;i;){let u=this._terminal.buffer.active.getLine(e+1),l=u?u.isWrapped:!1,h=i.translateToString(!l&&t);if(l&&u){let p=i.getCell(i.length-1);p&&p.getCode()===0&&p.getWidth()===1&&u.getCell(0)?.getWidth()===2&&(h=h.slice(0,-1))}if(r.push(h),l)s.push(s[s.length-1]+h.length);else break;e++,i=u}return[r.join(""),s]}},SA=class{get cachedSearchTerm(){return this._cachedSearchTerm}set cachedSearchTerm(t){this._cachedSearchTerm=t}get lastSearchOptions(){return this._lastSearchOptions}set lastSearchOptions(t){this._lastSearchOptions=t}isValidSearchTerm(t){return!!(t&&t.length>0)}didOptionsChange(t){return this._lastSearchOptions?t?this._lastSearchOptions.caseSensitive!==t.caseSensitive||this._lastSearchOptions.regex!==t.regex||this._lastSearchOptions.wholeWord!==t.wholeWord:!1:!0}shouldUpdateHighlighting(t,r){return r?.decorations?this._cachedSearchTerm===void 0||t!==this._cachedSearchTerm||this.didOptionsChange(r):!1}clearCachedTerm(){this._cachedSearchTerm=void 0}reset(){this._cachedSearchTerm=void 0,this._lastSearchOptions=void 0}},CA=class{constructor(t,r){this._terminal=t,this._lineCache=r}find(t,r,s,i){if(!t||t.length===0){this._terminal.clearSelection();return}if(s>=this._terminal.cols)throw new Error(`Invalid col: ${s} to search in terminal of ${this._terminal.cols} cols`);this._lineCache.initLinesCache();let u={startRow:r,startCol:s},l=this._findInLine(t,u,i);if(!l)for(let h=r+1;h<this._terminal.buffer.active.baseY+this._terminal.rows&&(u.startRow=h,u.startCol=0,l=this._findInLine(t,u,i),!l);h++);return l}findNextWithSelection(t,r,s){if(!t||t.length===0){this._terminal.clearSelection();return}let i=this._terminal.getSelectionPosition();this._terminal.clearSelection();let u=0,l=0;i&&(s===t?(u=i.end.x,l=i.end.y):(u=i.start.x,l=i.start.y)),this._lineCache.initLinesCache();let h={startRow:l,startCol:u},p=this._findInLine(t,h,r);if(!p)for(let g=l+1;g<this._terminal.buffer.active.baseY+this._terminal.rows&&(h.startRow=g,h.startCol=0,p=this._findInLine(t,h,r),!p);g++);if(!p&&l!==0)for(let g=0;g<l&&(h.startRow=g,h.startCol=0,p=this._findInLine(t,h,r),!p);g++);return!p&&i&&(h.startRow=i.start.y,h.startCol=0,p=this._findInLine(t,h,r)),p}findPreviousWithSelection(t,r,s){if(!t||t.length===0){this._terminal.clearSelection();return}let i=this._terminal.getSelectionPosition();this._terminal.clearSelection();let u=this._terminal.buffer.active.baseY+this._terminal.rows-1,l=this._terminal.cols,h=!0;this._lineCache.initLinesCache();let p={startRow:u,startCol:l},g;if(i&&(p.startRow=u=i.start.y,p.startCol=i.start.x,s!==t&&(g=this._findInLine(t,p,r,!1),g||(p.startRow=u=i.end.y,p.startCol=i.end.x))),g??=this._findInLine(t,p,r,h),!g){p.startCol=Math.max(p.startCol,this._terminal.cols);for(let x=u-1;x>=0&&(p.startRow=x,g=this._findInLine(t,p,r,h),!g);x--);}if(!g&&u!==this._terminal.buffer.active.baseY+this._terminal.rows-1)for(let x=this._terminal.buffer.active.baseY+this._terminal.rows-1;x>=u&&(p.startRow=x,g=this._findInLine(t,p,r,h),!g);x--);return g}_isWholeWord(t,r,s){return(t===0||" ~!@#$%^&*()+`-=[]{}|\\;:\"',./<>?".includes(r[t-1]))&&(t+s.length===r.length||" ~!@#$%^&*()+`-=[]{}|\\;:\"',./<>?".includes(r[t+s.length]))}_findInLine(t,r,s={},i=!1){let u=r.startRow,l=r.startCol;if(this._terminal.buffer.active.getLine(u)?.isWrapped){if(i){r.startCol+=this._terminal.cols;return}return r.startRow--,r.startCol+=this._terminal.cols,this._findInLine(t,r,s)}let h=this._lineCache.getLineFromCache(u);h||(h=this._lineCache.translateBufferLineToStringWithWrap(u,!0),this._lineCache.setLineInCache(u,h));let[p,g]=h,x=this._bufferColsToStringOffset(u,l),b=t,v=p;s.regex||(b=s.caseSensitive?t:t.toLowerCase(),v=s.caseSensitive?p:p.toLowerCase());let A=-1;if(s.regex){let k=RegExp(b,s.caseSensitive?"g":"gi"),I;if(i)for(;I=k.exec(v.slice(0,x));)A=k.lastIndex-I[0].length,t=I[0],k.lastIndex-=t.length-1;else I=k.exec(v.slice(x)),I&&I[0].length>0&&(A=x+(k.lastIndex-I[0].length),t=I[0])}else i?x-b.length>=0&&(A=v.lastIndexOf(b,x-b.length)):A=v.indexOf(b,x);if(A>=0){if(s.wholeWord&&!this._isWholeWord(A,v,t))return;let k=0;for(;k<g.length-1&&A>=g[k+1];)k++;let I=k;for(;I<g.length-1&&A+t.length>=g[I+1];)I++;let R=A-g[k],M=A+t.length-g[I],B=this._stringLengthToBufferSize(u+k,R),F=this._stringLengthToBufferSize(u+I,M)-B+this._terminal.cols*(I-k);return{term:t,col:B,row:u+k,size:F}}}_stringLengthToBufferSize(t,r){let s=this._terminal.buffer.active.getLine(t);if(!s)return 0;for(let i=0;i<r;i++){let u=s.getCell(i);if(!u)break;let l=u.getChars();l.length>1&&(r-=l.length-1);let h=s.getCell(i+1);h&&h.getWidth()===0&&r++}return r}_bufferColsToStringOffset(t,r){let s=t,i=0,u=this._terminal.buffer.active.getLine(s);for(;r>0&&u;){for(let l=0;l<r&&l<this._terminal.cols;l++){let h=u.getCell(l);if(!h)break;h.getWidth()&&(i+=h.getCode()===0?1:h.getChars().length)}if(s++,u=this._terminal.buffer.active.getLine(s),u&&!u.isWrapped)break;r-=this._terminal.cols}return i}},_A=class extends nu{constructor(t){super(),this._terminal=t,this._highlightDecorations=[],this._highlightedLines=new Set,this._register(Xl(()=>this.clearHighlightDecorations()))}createHighlightDecorations(t,r){this.clearHighlightDecorations();for(let s of t){let i=this._createResultDecorations(s,r,!1);if(i)for(let u of i)this._storeDecoration(u,s)}}createActiveDecoration(t,r){let s=this._createResultDecorations(t,r,!0);if(s)return{decorations:s,match:t,dispose(){Ku(s)}}}clearHighlightDecorations(){Ku(this._highlightDecorations),this._highlightDecorations=[],this._highlightedLines.clear()}_storeDecoration(t,r){this._highlightedLines.add(t.marker.line),this._highlightDecorations.push({decoration:t,match:r,dispose(){t.dispose()}})}_applyStyles(t,r,s){t.classList.contains("xterm-find-result-decoration")||(t.classList.add("xterm-find-result-decoration"),r&&(t.style.outline=`1px solid ${r}`)),s&&t.classList.add("xterm-find-active-result-decoration")}_createResultDecorations(t,r,s){let i=[],u=t.col,l=t.size,h=-this._terminal.buffer.active.baseY-this._terminal.buffer.active.cursorY+t.row;for(;l>0;){let g=Math.min(this._terminal.cols-u,l);i.push([h,u,g]),u=0,l-=g,h++}let p=[];for(let g of i){let x=this._terminal.registerMarker(g[0]),b=this._terminal.registerDecoration({marker:x,x:g[1],width:g[2],layer:s?"top":"bottom",backgroundColor:s?r.activeMatchBackground:r.matchBackground,overviewRulerOptions:this._highlightedLines.has(x.line)?void 0:{color:s?r.activeMatchColorOverviewRuler:r.matchOverviewRuler,position:"center"}});if(b){let v=[];v.push(x),v.push(b.onRender(A=>this._applyStyles(A,s?r.activeMatchBorder:r.matchBorder,!1))),v.push(b.onDispose(()=>Ku(v))),p.push(b)}}return p.length===0?void 0:p}},LA=class extends nu{constructor(){super(...arguments),this._searchResults=[],this._onDidChangeResults=this._register(new Df)}get onDidChangeResults(){return this._onDidChangeResults.event}get searchResults(){return this._searchResults}get selectedDecoration(){return this._selectedDecoration}set selectedDecoration(t){this._selectedDecoration=t}updateResults(t,r){this._searchResults=t.slice(0,r)}clearResults(){this._searchResults=[]}clearSelectedDecoration(){this._selectedDecoration&&(this._selectedDecoration.dispose(),this._selectedDecoration=void 0)}findResultIndex(t){for(let r=0;r<this._searchResults.length;r++){let s=this._searchResults[r];if(s.row===t.row&&s.col===t.col&&s.size===t.size)return r}return-1}fireResultsChanged(t){if(!t)return;let r=-1;this._selectedDecoration&&(r=this.findResultIndex(this._selectedDecoration.match)),this._onDidChangeResults.fire({resultIndex:r,resultCount:this._searchResults.length})}reset(){this.clearSelectedDecoration(),this.clearResults()}},IA=class extends nu{constructor(t){super(),this._highlightTimeout=this._register(new ad),this._lineCache=this._register(new ad),this._state=new SA,this._resultTracker=this._register(new LA),this._onAfterSearch=this._register(new Df),this.onAfterSearch=this._onAfterSearch.event,this._onBeforeSearch=this._register(new Df),this.onBeforeSearch=this._onBeforeSearch.event,this._highlightLimit=t?.highlightLimit??1e3}get onDidChangeResults(){return this._resultTracker.onDidChangeResults}activate(t){this._terminal=t,this._lineCache.value=new TA(t),this._engine=new CA(t,this._lineCache.value),this._decorationManager=new _A(t),this._register(this._terminal.onWriteParsed(()=>this._updateMatches())),this._register(this._terminal.onResize(()=>this._updateMatches())),this._register(Xl(()=>this.clearDecorations()))}_updateMatches(){this._highlightTimeout.clear(),this._state.cachedSearchTerm&&this._state.lastSearchOptions?.decorations&&(this._highlightTimeout.value=m3(()=>{let t=this._state.cachedSearchTerm;this._state.clearCachedTerm(),this.findPrevious(t,{...this._state.lastSearchOptions,incremental:!0},{noScroll:!0})},200))}clearDecorations(t){this._resultTracker.clearSelectedDecoration(),this._decorationManager?.clearHighlightDecorations(),this._resultTracker.clearResults(),t||this._state.clearCachedTerm()}clearActiveDecoration(){this._resultTracker.clearSelectedDecoration()}findNext(t,r,s){if(!this._terminal||!this._engine)throw new Error("Cannot use addon until it has been loaded");this._onBeforeSearch.fire(),this._state.lastSearchOptions=r,this._state.shouldUpdateHighlighting(t,r)&&this._highlightAllMatches(t,r);let i=this._findNextAndSelect(t,r,s);return this._fireResults(r),this._state.cachedSearchTerm=t,this._onAfterSearch.fire(),i}_highlightAllMatches(t,r){if(!this._terminal||!this._engine||!this._decorationManager)throw new Error("Cannot use addon until it has been loaded");if(!this._state.isValidSearchTerm(t)){this.clearDecorations();return}this.clearDecorations(!0);let s=[],i,u=this._engine.find(t,0,0,r);for(;u&&(i?.row!==u.row||i?.col!==u.col)&&!(s.length>=this._highlightLimit);){i=u,s.push(i);let l=this._terminal.cols,h=i.col+i.size,p=i.row;h>=l&&(p+=Math.floor(h/l),h=h%l),u=this._engine.find(t,p,h,r)}this._resultTracker.updateResults(s,this._highlightLimit),r.decorations&&this._decorationManager.createHighlightDecorations(s,r.decorations)}_findNextAndSelect(t,r,s){if(!this._terminal||!this._engine)return!1;if(!this._state.isValidSearchTerm(t))return this._terminal.clearSelection(),this.clearDecorations(),!1;let i=this._engine.findNextWithSelection(t,r,this._state.cachedSearchTerm);return this._selectResult(i,r?.decorations,s?.noScroll)}findPrevious(t,r,s){if(!this._terminal||!this._engine)throw new Error("Cannot use addon until it has been loaded");this._onBeforeSearch.fire(),this._state.lastSearchOptions=r,this._state.shouldUpdateHighlighting(t,r)&&this._highlightAllMatches(t,r);let i=this._findPreviousAndSelect(t,r,s);return this._fireResults(r),this._state.cachedSearchTerm=t,this._onAfterSearch.fire(),i}_fireResults(t){this._resultTracker.fireResultsChanged(!!t?.decorations)}_findPreviousAndSelect(t,r,s){if(!this._terminal||!this._engine)return!1;if(!this._state.isValidSearchTerm(t))return this._terminal.clearSelection(),this.clearDecorations(),!1;let i=this._engine.findPreviousWithSelection(t,r,this._state.cachedSearchTerm);return this._selectResult(i,r?.decorations,s?.noScroll)}_selectResult(t,r,s){if(!this._terminal||!this._decorationManager)return!1;if(this._resultTracker.clearSelectedDecoration(),!t)return this._terminal.clearSelection(),!1;if(this._terminal.select(t.col,t.row,t.size),r){let i=this._decorationManager.createActiveDecoration(t,r);i&&(this._resultTracker.selectedDecoration=i)}if(!s&&(t.row>=this._terminal.buffer.active.viewportY+this._terminal.rows||t.row<this._terminal.buffer.active.viewportY)){let i=t.row-this._terminal.buffer.active.viewportY;i-=Math.floor(this._terminal.rows/2),this._terminal.scrollLines(i)}return!0}};var Js=0,ei=0,ti=0,as=0,Li;(e=>{function t(i,u,l,h){return h!==void 0?`#${Bl(i)}${Bl(u)}${Bl(l)}${Bl(h)}`:`#${Bl(i)}${Bl(u)}${Bl(l)}`}e.toCss=t;function r(i,u,l,h=255){return(i<<24|u<<16|l<<8|h)>>>0}e.toRgba=r;function s(i,u,l,h){return{css:e.toCss(i,u,l,h),rgba:e.toRgba(i,u,l,h)}}e.toColor=s})(Li||={});var kA;(e=>{function t(p,g){if(as=(g.rgba&255)/255,as===1)return{css:g.css,rgba:g.rgba};let x=g.rgba>>24&255,b=g.rgba>>16&255,v=g.rgba>>8&255,A=p.rgba>>24&255,k=p.rgba>>16&255,I=p.rgba>>8&255;Js=A+Math.round((x-A)*as),ei=k+Math.round((b-k)*as),ti=I+Math.round((v-I)*as);let R=Li.toCss(Js,ei,ti),M=Li.toRgba(Js,ei,ti);return{css:R,rgba:M}}e.blend=t;function r(p){return(p.rgba&255)===255}e.isOpaque=r;function s(p,g,x){let b=Xu.ensureContrastRatio(p.rgba,g.rgba,x);if(b)return Li.toColor(b>>24&255,b>>16&255,b>>8&255)}e.ensureContrastRatio=s;function i(p){let g=(p.rgba|255)>>>0;return[Js,ei,ti]=Xu.toChannels(g),{css:Li.toCss(Js,ei,ti),rgba:g}}e.opaque=i;function u(p,g){return as=Math.round(g*255),[Js,ei,ti]=Xu.toChannels(p.rgba),{css:Li.toCss(Js,ei,ti,as),rgba:Li.toRgba(Js,ei,ti,as)}}e.opacity=u;function l(p,g){return as=p.rgba&255,u(p,as*g/255)}e.multiplyOpacity=l;function h(p){return[p.rgba>>24&255,p.rgba>>16&255,p.rgba>>8&255]}e.toColorRGB=h})(kA||={});var fi;(e=>{let t,r;try{let i=document.createElement("canvas");i.width=1,i.height=1;let u=i.getContext("2d",{willReadFrequently:!0});u&&(t=u,t.globalCompositeOperation="copy",r=t.createLinearGradient(0,0,1,1))}catch{}function s(i){if(i.match(/#[\da-f]{3,8}/i))switch(i.length){case 4:return Js=parseInt(i.slice(1,2).repeat(2),16),ei=parseInt(i.slice(2,3).repeat(2),16),ti=parseInt(i.slice(3,4).repeat(2),16),Li.toColor(Js,ei,ti);case 5:return Js=parseInt(i.slice(1,2).repeat(2),16),ei=parseInt(i.slice(2,3).repeat(2),16),ti=parseInt(i.slice(3,4).repeat(2),16),as=parseInt(i.slice(4,5).repeat(2),16),Li.toColor(Js,ei,ti,as);case 7:return{css:i,rgba:(parseInt(i.slice(1),16)<<8|255)>>>0};case 9:return{css:i,rgba:parseInt(i.slice(1),16)>>>0}}let u=i.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(u)return Js=parseInt(u[1],10),ei=parseInt(u[2],10),ti=parseInt(u[3],10),as=Math.round((u[5]===void 0?1:parseFloat(u[5]))*255),Li.toColor(Js,ei,ti,as);if(i==="transparent")return{css:"transparent",rgba:0};if(!t||!r)throw new Error("css.toColor: Unsupported css format");if(t.fillStyle=r,t.fillStyle=i,typeof t.fillStyle!="string")throw new Error("css.toColor: Unsupported css format");if(t.fillRect(0,0,1,1),[Js,ei,ti,as]=t.getImageData(0,0,1,1).data,as!==255)throw new Error("css.toColor: Unsupported css format");return{rgba:Li.toRgba(Js,ei,ti,as),css:i}}e.toColor=s})(fi||={});var Ui;(e=>{function t(s){return r(s>>16&255,s>>8&255,s&255)}e.relativeLuminance=t;function r(s,i,u){let l=s/255,h=i/255,p=u/255,g=l<=.03928?l/12.92:Math.pow((l+.055)/1.055,2.4),x=h<=.03928?h/12.92:Math.pow((h+.055)/1.055,2.4),b=p<=.03928?p/12.92:Math.pow((p+.055)/1.055,2.4);return g*.2126+x*.7152+b*.0722}e.relativeLuminance2=r})(Ui||={});var Xu;(e=>{function t(l,h){if(as=(h&255)/255,as===1)return h;let p=h>>24&255,g=h>>16&255,x=h>>8&255,b=l>>24&255,v=l>>16&255,A=l>>8&255;return Js=b+Math.round((p-b)*as),ei=v+Math.round((g-v)*as),ti=A+Math.round((x-A)*as),Li.toRgba(Js,ei,ti)}e.blend=t;function r(l,h,p){let g=Ui.relativeLuminance(l>>8),x=Ui.relativeLuminance(h>>8);if(qa(g,x)<p){if(x<g){let A=s(l,h,p),k=qa(g,Ui.relativeLuminance(A>>8));if(k<p){let I=i(l,h,p),R=qa(g,Ui.relativeLuminance(I>>8));return k>R?A:I}return A}let b=i(l,h,p),v=qa(g,Ui.relativeLuminance(b>>8));if(v<p){let A=s(l,h,p),k=qa(g,Ui.relativeLuminance(A>>8));return v>k?b:A}return b}}e.ensureContrastRatio=r;function s(l,h,p){let g=l>>24&255,x=l>>16&255,b=l>>8&255,v=h>>24&255,A=h>>16&255,k=h>>8&255,I=qa(Ui.relativeLuminance2(v,A,k),Ui.relativeLuminance2(g,x,b));for(;I<p&&(v>0||A>0||k>0);)v-=Math.max(0,Math.ceil(v*.1)),A-=Math.max(0,Math.ceil(A*.1)),k-=Math.max(0,Math.ceil(k*.1)),I=qa(Ui.relativeLuminance2(v,A,k),Ui.relativeLuminance2(g,x,b));return(v<<24|A<<16|k<<8|255)>>>0}e.reduceLuminance=s;function i(l,h,p){let g=l>>24&255,x=l>>16&255,b=l>>8&255,v=h>>24&255,A=h>>16&255,k=h>>8&255,I=qa(Ui.relativeLuminance2(v,A,k),Ui.relativeLuminance2(g,x,b));for(;I<p&&(v<255||A<255||k<255);)v=Math.min(255,v+Math.ceil((255-v)*.1)),A=Math.min(255,A+Math.ceil((255-A)*.1)),k=Math.min(255,k+Math.ceil((255-k)*.1)),I=qa(Ui.relativeLuminance2(v,A,k),Ui.relativeLuminance2(g,x,b));return(v<<24|A<<16|k<<8|255)>>>0}e.increaseLuminance=i;function u(l){return[l>>24&255,l>>16&255,l>>8&255,l&255]}e.toChannels=u})(Xu||={});function Bl(e){let t=e.toString(16);return t.length<2?"0"+t:t}function qa(e,t){return e<t?(t+.05)/(e+.05):(e+.05)/(t+.05)}var EA=Object.freeze((()=>{let e=[fi.toColor("#2e3436"),fi.toColor("#cc0000"),fi.toColor("#4e9a06"),fi.toColor("#c4a000"),fi.toColor("#3465a4"),fi.toColor("#75507b"),fi.toColor("#06989a"),fi.toColor("#d3d7cf"),fi.toColor("#555753"),fi.toColor("#ef2929"),fi.toColor("#8ae234"),fi.toColor("#fce94f"),fi.toColor("#729fcf"),fi.toColor("#ad7fa8"),fi.toColor("#34e2e2"),fi.toColor("#eeeeec")],t=[0,95,135,175,215,255];for(let r=0;r<216;r++){let s=t[r/36%6|0],i=t[r/6%6|0],u=t[r%6];e.push({css:Li.toCss(s,i,u),rgba:Li.toRgba(s,i,u)})}for(let r=0;r<24;r++){let s=8+r*10;e.push({css:Li.toCss(s,s,s),rgba:Li.toRgba(s,s,s)})}return e})());function Rm(e,t,r){return Math.max(t,Math.min(e,r))}function RA(e){switch(e){case"&":return"&amp;";case"<":return"&lt;"}return e}var g3=class{constructor(e){this._buffer=e}serialize(e,t){let r=this._buffer.getNullCell(),s=this._buffer.getNullCell(),i=r,u=e.start.y,l=e.end.y,h=e.start.x,p=e.end.x;this._beforeSerialize(l-u,u,l);for(let g=u;g<=l;g++){let x=this._buffer.getLine(g);if(x){let b=g===e.start.y?h:0,v=g===e.end.y?p:x.length;for(let A=b;A<v;A++){let k=x.getCell(A,i===r?s:r);if(!k){console.warn(`Can't get cell at row=${g}, col=${A}`);continue}this._nextCell(k,i,g,A),i=k}}this._rowEnd(g,g===l)}return this._afterSerialize(),this._serializeString(t)}_nextCell(e,t,r,s){}_rowEnd(e,t){}_beforeSerialize(e,t,r){}_afterSerialize(){}_serializeString(e){return""}};function _p(e,t){return e.getFgColorMode()===t.getFgColorMode()&&e.getFgColor()===t.getFgColor()}function Ia(e,t){return e.getBgColorMode()===t.getBgColorMode()&&e.getBgColor()===t.getBgColor()}function x3(e,t){if(!e.isUnderline()&&!t.isUnderline())return!0;if(e.getUnderlineStyle()!==t.getUnderlineStyle())return!1;let r=e.isUnderlineColorDefault(),s=t.isUnderlineColorDefault();return r&&s?!0:r!==s?!1:e.getUnderlineColor()===t.getUnderlineColor()&&e.getUnderlineColorMode()===t.getUnderlineColorMode()}function Lp(e,t){return e.isInverse()===t.isInverse()&&e.isBold()===t.isBold()&&e.isUnderline()===t.isUnderline()&&x3(e,t)&&e.isOverline()===t.isOverline()&&e.isBlink()===t.isBlink()&&e.isInvisible()===t.isInvisible()&&e.isItalic()===t.isItalic()&&e.isDim()===t.isDim()&&e.isStrikethrough()===t.isStrikethrough()}function b3(e,t){let r=e;return typeof r.attributesEquals=="function"?r.attributesEquals(t):_p(e,t)&&Ia(e,t)&&Lp(e,t)}var MA=class extends g3{constructor(t,r){super(t),this._terminal=r,this._rowIndex=0,this._allRows=new Array,this._allRowSeparators=new Array,this._currentRow="",this._nullCellCount=0,this._cursorStyle=this._buffer.getNullCell(),this._cursorStyleRow=0,this._cursorStyleCol=0,this._backgroundCell=this._buffer.getNullCell(),this._firstRow=0,this._lastCursorRow=0,this._lastCursorCol=0,this._lastContentCursorRow=0,this._lastContentCursorCol=0,this._thisRowLastChar=this._buffer.getNullCell(),this._thisRowLastSecondChar=this._buffer.getNullCell(),this._nextRowFirstChar=this._buffer.getNullCell()}_beforeSerialize(t,r,s){this._allRows=new Array(t),this._lastContentCursorRow=r,this._lastCursorRow=r,this._firstRow=r}_rowEnd(t,r){this._nullCellCount>0&&!Ia(this._cursorStyle,this._backgroundCell)&&(this._currentRow+=`\x1B[${this._nullCellCount}X`);let s="";if(!r){t-this._firstRow>=this._terminal.rows&&this._buffer.getLine(this._cursorStyleRow)?.getCell(this._cursorStyleCol,this._backgroundCell);let i=this._buffer.getLine(t),u=this._buffer.getLine(t+1);if(!u.isWrapped)s=`\r
61
+ `,this._lastCursorRow=t+1,this._lastCursorCol=0;else{s="";let l=i.getCell(i.length-1,this._thisRowLastChar),h=i.getCell(i.length-2,this._thisRowLastSecondChar),p=u.getCell(0,this._nextRowFirstChar),g=p.getWidth()>1,x=!1;(p.getChars()&&g?this._nullCellCount<=1:this._nullCellCount<=0)&&((l.getChars()||l.getWidth()===0)&&Ia(l,p)&&(x=!0),g&&(h.getChars()||h.getWidth()===0)&&Ia(l,p)&&Ia(h,p)&&(x=!0)),x||(s="-".repeat(this._nullCellCount+1),s+="\x1B[1D\x1B[1X",this._nullCellCount>0&&(s+="\x1B[A",s+=`\x1B[${i.length-this._nullCellCount}C`,s+=`\x1B[${this._nullCellCount}X`,s+=`\x1B[${i.length-this._nullCellCount}D`,s+="\x1B[B"),this._lastContentCursorRow=t+1,this._lastContentCursorCol=0,this._lastCursorRow=t+1,this._lastCursorCol=0)}}this._allRows[this._rowIndex]=this._currentRow,this._allRowSeparators[this._rowIndex++]=s,this._currentRow="",this._nullCellCount=0}_diffStyle(t,r){let s=[];if(b3(t,r))return s;let i=!_p(t,r),u=!Ia(t,r),l=!Lp(t,r);if(i||u||l)if(t.isAttributeDefault())r.isAttributeDefault()||s.push(0);else{if(i){let h=t.getFgColor();t.isFgRGB()?s.push(38,2,h>>>16&255,h>>>8&255,h&255):t.isFgPalette()?h>=16?s.push(38,5,h):s.push(h&8?90+(h&7):30+(h&7)):s.push(39)}if(u){let h=t.getBgColor();t.isBgRGB()?s.push(48,2,h>>>16&255,h>>>8&255,h&255):t.isBgPalette()?h>=16?s.push(48,5,h):s.push(h&8?100+(h&7):40+(h&7)):s.push(49)}if(l){if(t.isInverse()!==r.isInverse()&&s.push(t.isInverse()?7:27),t.isBold()!==r.isBold()&&s.push(t.isBold()?1:22),x3(t,r))t.isUnderline()!==r.isUnderline()&&s.push(t.isUnderline()?4:24);else{let h=t.getUnderlineStyle();if(h===0)s.push(24);else if(h===1&&t.isUnderlineColorDefault())s.push(4);else if(s.push("4:"+h),!t.isUnderlineColorDefault()){let p=t.getUnderlineColor();t.isUnderlineColorRGB()?s.push("58:2::"+(p>>>16&255)+":"+(p>>>8&255)+":"+(p&255)):s.push("58:5:"+p)}}t.isOverline()!==r.isOverline()&&s.push(t.isOverline()?53:55),t.isBlink()!==r.isBlink()&&s.push(t.isBlink()?5:25),t.isInvisible()!==r.isInvisible()&&s.push(t.isInvisible()?8:28),t.isItalic()!==r.isItalic()&&s.push(t.isItalic()?3:23),t.isDim()!==r.isDim()&&s.push(t.isDim()?2:22),t.isStrikethrough()!==r.isStrikethrough()&&s.push(t.isStrikethrough()?9:29)}}return s}_nextCell(t,r,s,i){if(t.getWidth()===0)return;let u=t.getChars()==="",l=this._diffStyle(t,this._cursorStyle);if(u?!Ia(this._cursorStyle,t):l.length>0){this._nullCellCount>0&&(Ia(this._cursorStyle,this._backgroundCell)||(this._currentRow+=`\x1B[${this._nullCellCount}X`),this._currentRow+=`\x1B[${this._nullCellCount}C`,this._nullCellCount=0),this._lastContentCursorRow=this._lastCursorRow=s,this._lastContentCursorCol=this._lastCursorCol=i,this._currentRow+=`\x1B[${l.join(";")}m`;let h=this._buffer.getLine(s);h!==void 0&&(h.getCell(i,this._cursorStyle),this._cursorStyleRow=s,this._cursorStyleCol=i)}u?this._nullCellCount+=t.getWidth():(this._nullCellCount>0&&(Ia(this._cursorStyle,this._backgroundCell)?this._currentRow+=`\x1B[${this._nullCellCount}C`:(this._currentRow+=`\x1B[${this._nullCellCount}X`,this._currentRow+=`\x1B[${this._nullCellCount}C`),this._nullCellCount=0),this._currentRow+=t.getChars(),this._lastContentCursorRow=this._lastCursorRow=s,this._lastContentCursorCol=this._lastCursorCol=i+t.getWidth())}_serializeString(t){let r=this._allRows.length;this._buffer.length-this._firstRow<=this._terminal.rows&&(r=this._lastContentCursorRow+1-this._firstRow,this._lastCursorCol=this._lastContentCursorCol,this._lastCursorRow=this._lastContentCursorRow);let s="";for(let l=0;l<r;l++)s+=this._allRows[l],l+1<r&&(s+=this._allRowSeparators[l]);if(!t){let l=this._buffer.baseY+this._buffer.cursorY,h=this._buffer.cursorX,p=l!==this._lastCursorRow||h!==this._lastCursorCol,g=x=>{x>0?s+=`\x1B[${x}C`:x<0&&(s+=`\x1B[${-x}D`)};p&&((x=>{x>0?s+=`\x1B[${x}B`:x<0&&(s+=`\x1B[${-x}A`)})(l-this._lastCursorRow),g(h-this._lastCursorCol))}let i=this._terminal._core._inputHandler._curAttrData,u=this._diffStyle(i,this._cursorStyle);return u.length>0&&(s+=`\x1B[${u.join(";")}m`),s}},NA=class{activate(t){this._terminal=t}_serializeBufferByScrollback(t,r,s){let i=r.length,u=s===void 0?i:Rm(s+t.rows,0,i);return this._serializeBufferByRange(t,r,{start:i-u,end:i-1},!1)}_serializeBufferByRange(t,r,s,i){return new MA(r,t).serialize({start:{x:0,y:typeof s.start=="number"?s.start:s.start.line},end:{x:t.cols,y:typeof s.end=="number"?s.end:s.end.line}},i)}_serializeBufferAsHTML(t,r){let s=t.buffer.active,i=new DA(s,t,r),u=r.onlySelection??!1,l=r.range;if(l)return i.serialize({start:{x:l.startCol,y:(l.startLine,l.startLine)},end:{x:t.cols,y:(l.endLine,l.endLine)}});if(!u){let p=s.length,g=r.scrollback,x=g===void 0?p:Rm(g+t.rows,0,p);return i.serialize({start:{x:0,y:p-x},end:{x:t.cols,y:p-1}})}let h=this._terminal?.getSelectionPosition();return h!==void 0?i.serialize({start:{x:h.start.x,y:h.start.y},end:{x:h.end.x,y:h.end.y}}):""}_serializeScrollRegion(t){let r=t._core.buffer,s=r.scrollTop,i=r.scrollBottom;return s!==0||i!==t.rows-1?`\x1B[${s+1};${i+1}r`:""}_serializeModes(t){let r="",s=t.modes;if(s.applicationCursorKeysMode&&(r+="\x1B[?1h"),s.applicationKeypadMode&&(r+="\x1B[?66h"),s.bracketedPasteMode&&(r+="\x1B[?2004h"),s.insertMode&&(r+="\x1B[4h"),s.originMode&&(r+="\x1B[?6h"),s.reverseWraparoundMode&&(r+="\x1B[?45h"),s.sendFocusMode&&(r+="\x1B[?1004h"),s.wraparoundMode===!1&&(r+="\x1B[?7l"),s.mouseTrackingMode!=="none")switch(s.mouseTrackingMode){case"x10":r+="\x1B[?9h";break;case"vt200":r+="\x1B[?1000h";break;case"drag":r+="\x1B[?1002h";break;case"any":r+="\x1B[?1003h";break}return s.showCursor||(r+="\x1B[?25l"),r}serialize(t){if(!this._terminal)throw new Error("Cannot use addon until it has been loaded");let r=t?.range?this._serializeBufferByRange(this._terminal,this._terminal.buffer.normal,t.range,!0):this._serializeBufferByScrollback(this._terminal,this._terminal.buffer.normal,t?.scrollback);if(!t?.excludeAltBuffer&&this._terminal.buffer.active.type==="alternate"){let s=this._serializeBufferByScrollback(this._terminal,this._terminal.buffer.alternate,void 0);r+=`\x1B[?1049h\x1B[H${s}`}return t?.excludeModes||(r+=this._serializeModes(this._terminal),r+=this._serializeScrollRegion(this._terminal)),r}serializeAsHTML(t){if(!this._terminal)throw new Error("Cannot use addon until it has been loaded");return this._serializeBufferAsHTML(this._terminal,t??{})}dispose(){}},DA=class extends g3{constructor(t,r,s){super(t),this._terminal=r,this._options=s,this._currentRow="",this._htmlContent="",r._core._themeService?this._ansiColors=r._core._themeService.colors.ansi:this._ansiColors=EA}_beforeSerialize(t,r,s){this._htmlContent+="<html><body><!--StartFragment--><pre>";let i="#000000",u="#ffffff";(this._options.includeGlobalBackground??!1)&&(i=this._terminal.options.theme?.foreground??"#ffffff",u=this._terminal.options.theme?.background??"#000000");let l=[];l.push("color: "+i+";"),l.push("background-color: "+u+";"),l.push("font-family: "+this._terminal.options.fontFamily+";"),l.push("font-size: "+this._terminal.options.fontSize+"px;"),this._htmlContent+="<div style='"+l.join(" ")+"'>"}_afterSerialize(){this._htmlContent+="</div>",this._htmlContent+="</pre><!--EndFragment--></body></html>"}_rowEnd(t,r){this._htmlContent+="<div><span>"+this._currentRow+"</span></div>",this._currentRow=""}_getHexColor(t,r){let s=r?t.getFgColor():t.getBgColor();if(r?t.isFgRGB():t.isBgRGB())return"#"+[s>>16&255,s>>8&255,s&255].map(i=>i.toString(16).padStart(2,"0")).join("");if(r?t.isFgPalette():t.isBgPalette())return this._ansiColors[s].css}_getUnderlineColor(t){if(t.isUnderlineColorDefault())return;let r=t.getUnderlineColor();return t.isUnderlineColorRGB()?"#"+[r>>16&255,r>>8&255,r&255].map(s=>s.toString(16).padStart(2,"0")).join(""):this._ansiColors[r].css}_getUnderlineStyle(t){switch(t.getUnderlineStyle()){case 1:return"underline";case 2:return"underline double";case 3:return"underline wavy";case 4:return"underline dotted";case 5:return"underline dashed";default:return"underline"}}_diffStyle(t,r){let s=[];if(b3(t,r))return;let i=!_p(t,r),u=!Ia(t,r),l=!Lp(t,r);if(i||u||l){let h=this._getHexColor(t,!0);h&&s.push("color: "+h+";");let p=this._getHexColor(t,!1);p&&s.push("background-color: "+p+";"),t.isInverse()&&s.push("color: #000000; background-color: #BFBFBF;"),t.isBold()&&s.push("font-weight: bold;");let g=[];if(t.isUnderline()&&g.push(this._getUnderlineStyle(t)),t.isOverline()&&g.push("overline"),t.isStrikethrough()&&g.push("line-through"),t.isBlink()&&g.push("blink"),g.length>0&&s.push("text-decoration: "+g.join(" ")+";"),t.isUnderline()){let x=this._getUnderlineColor(t);x&&s.push("text-decoration-color: "+x+";")}return t.isInvisible()&&s.push("visibility: hidden;"),t.isItalic()&&s.push("font-style: italic;"),t.isDim()&&s.push("opacity: 0.5;"),s}}_nextCell(t,r,s,i){if(t.getWidth()===0)return;let u=t.getChars()==="",l=this._diffStyle(t,r);l&&(this._currentRow+=l.length===0?"</span><span>":"</span><span style='"+l.join(" ")+"'>"),u?this._currentRow+=" ":this._currentRow+=RA(t.getChars())}_serializeString(){return this._htmlContent}};var BA=class{constructor(e=new QA,t=new y3){this._base64=e,this._provider=t}activate(e){this._terminal=e,this._disposable=e.parser.registerOscHandler(52,t=>this._setOrReportClipboard(t))}dispose(){return this._disposable?.dispose()}_readText(e,t){let r=this._base64.encodeText(t);this._terminal?.input(`\x1B]52;${e};${r}\x07`,!1)}_setOrReportClipboard(e){let t=e.split(";");if(t.length<2)return!0;let r=t[0],s=t[1];if(s==="?"){let l=this._provider.readText(r);return l instanceof Promise?l.then(h=>(this._readText(r,h),!0)):(this._readText(r,l),!0)}let i="";try{i=this._base64.decodeText(s)}catch{}let u=this._provider.writeText(r,i);return u instanceof Promise?u.then(()=>!0):!0}},y3=class{readText(e){return navigator.clipboard.readText()}writeText(e,t){return navigator.clipboard.writeText(t)}},QA=class{encodeText(t){let r=new TextEncoder().encode(t);if(r.toBase64!==void 0)return r.toBase64();let s="";for(let i=0;i<r.length;i++)s+=String.fromCharCode(r[i]);return btoa(s)}decodeText(t){if(Uint8Array.fromBase64!==void 0){try{return new TextDecoder().decode(Uint8Array.fromBase64(t))}catch{}return""}try{let r=atob(t),s=new Uint8Array(r.length);for(let i=0;i<r.length;++i)s[i]=r.charCodeAt(i);return new TextDecoder().decode(s)}catch{}return""}};var jA=Object.create,v3=Object.defineProperty,PA=Object.getOwnPropertyDescriptor,OA=Object.getOwnPropertyNames,FA=Object.getPrototypeOf,UA=Object.prototype.hasOwnProperty,G0=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(r){throw t=0,r}},$A=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of OA(t))!UA.call(e,i)&&i!==r&&v3(e,i,{get:()=>t[i],enumerable:!(s=PA(t,i))||s.enumerable});return e},V0=(e,t,r)=>(r=e!=null?jA(FA(e)):{},$A(!e||!e.__esModule?v3(r,"default",{value:e,enumerable:!0}):r,e)),Ip=G0(e=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DEFAULT_FOREGROUND=e.DEFAULT_BACKGROUND=e.PALETTE_ANSI_256=e.PALETTE_VT340_GREY=e.PALETTE_VT340_COLOR=e.normalizeHLS=e.normalizeRGB=e.nearestColorIndex=e.fromRGBA8888=e.toRGBA8888=e.alpha=e.blue=e.green=e.red=e.BIG_ENDIAN=void 0,e.BIG_ENDIAN=new Uint8Array(new Uint32Array([4278190080]).buffer)[0]===255,e.BIG_ENDIAN&&console.warn("BE platform detected. This version of node-sixel works only on LE properly.");function t(A){return A&255}e.red=t;function r(A){return A>>>8&255}e.green=r;function s(A){return A>>>16&255}e.blue=s;function i(A){return A>>>24&255}e.alpha=i;function u(A,k,I,R=255){return((R&255)<<24|(I&255)<<16|(k&255)<<8|A&255)>>>0}e.toRGBA8888=u;function l(A){return[A&255,A>>8&255,A>>16&255,A>>>24]}e.fromRGBA8888=l;function h(A,k){let I=t(A),R=r(A),M=s(A),B=Number.MAX_SAFE_INTEGER,F=-1;for(let W=0;W<k.length;++W){let O=I-k[W][0],q=R-k[W][1],ee=M-k[W][2],de=O*O+q*q+ee*ee;if(!de)return W;de<B&&(B=de,F=W)}return F}e.nearestColorIndex=h;function p(A,k,I){return Math.max(A,Math.min(I,k))}function g(A,k,I){return I<0&&(I+=1),I>1&&(I-=1),I*6<1?k+(A-k)*6*I:I*2<1?A:I*3<2?k+(A-k)*(4-I*6):k}function x(A,k,I){if(!I){let B=Math.round(k*255);return u(B,B,B)}let R=k<.5?k*(1+I):k+I-k*I,M=2*k-R;return u(p(0,255,Math.round(g(R,M,A+1/3)*255)),p(0,255,Math.round(g(R,M,A)*255)),p(0,255,Math.round(g(R,M,A-1/3)*255)))}function b(A,k,I){return(4278190080|Math.round(I/100*255)<<16|Math.round(k/100*255)<<8|Math.round(A/100*255))>>>0}e.normalizeRGB=b;function v(A,k,I){return x((A+240%360)/360,k/100,I/100)}e.normalizeHLS=v,e.PALETTE_VT340_COLOR=new Uint32Array([b(0,0,0),b(20,20,80),b(80,13,13),b(20,80,20),b(80,20,80),b(20,80,80),b(80,80,20),b(53,53,53),b(26,26,26),b(33,33,60),b(60,26,26),b(33,60,33),b(60,33,60),b(33,60,60),b(60,60,33),b(80,80,80)]),e.PALETTE_VT340_GREY=new Uint32Array([b(0,0,0),b(13,13,13),b(26,26,26),b(40,40,40),b(6,6,6),b(20,20,20),b(33,33,33),b(46,46,46),b(0,0,0),b(13,13,13),b(26,26,26),b(40,40,40),b(6,6,6),b(20,20,20),b(33,33,33),b(46,46,46)]),e.PALETTE_ANSI_256=(()=>{let A=[u(0,0,0),u(205,0,0),u(0,205,0),u(205,205,0),u(0,0,238),u(205,0,205),u(0,250,205),u(229,229,229),u(127,127,127),u(255,0,0),u(0,255,0),u(255,255,0),u(92,92,255),u(255,0,255),u(0,255,255),u(255,255,255)],k=[0,95,135,175,215,255];for(let I=0;I<6;++I)for(let R=0;R<6;++R)for(let M=0;M<6;++M)A.push(u(k[I],k[R],k[M]));for(let I=8;I<=238;I+=10)A.push(u(I,I,I));return new Uint32Array(A)})(),e.DEFAULT_BACKGROUND=u(0,0,0,255),e.DEFAULT_FOREGROUND=u(255,255,255,255)}),w3=G0(e=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InWasm=r;var t=s=>{if(Uint8Array.fromBase64)return Uint8Array.fromBase64(s);if(typeof Buffer<"u")return Buffer.from(s,"base64");let i=atob(s),u=new Uint8Array(i.length);for(let l=0;l<u.length;++l)u[l]=i.charCodeAt(l);return u};function r(s){if(s.d){let{t:i,s:u,d:l}=s,h,p,g=WebAssembly;return i===0?u?x=>new g.Instance(p||(p=new g.Module(h||(h=t(l)))),x):x=>p?g.instantiate(p,x):g.instantiate(h||(h=t(l)),x).then(b=>(p=b.module)&&b.instance):i===1?u?()=>p||(p=new g.Module(h||(h=t(l)))):()=>p?Promise.resolve(p):g.compile(h||(h=t(l))).then(x=>p=x):u?()=>h||(h=t(l)):()=>Promise.resolve(h||(h=t(l)))}if(typeof _wasmCtx>"u")throw new Error('must run "inwasm"');_wasmCtx.add(s)}}),A3=G0(e=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var t=w3(),r=(0,t.InWasm)({s:1,t:0,d:"AGFzbQEAAAABBQFgAAF/Ag8BA2VudgZtZW1vcnkCAAEDAwIAAAcNAgNkZWMAAANlbmQAAQqLBgKZBAEKf0GIKCgCAEGgKGohAUGEKCgCACIDQaAoaiEAQYAoKAIAQQFrQXxxIgRBoChqIQUgBEEQayADSgRAIARBkChqIQMDQCABIABBA2otAABBAnQoAoAgIABBAmotAABBAnQoAoAYIABBAWotAABBAnQoAoAQIAAtAABBAnQoAoAIcnJyIgY2AgAgAUEDaiAAQQdqLQAAQQJ0KAKAICAAQQZqLQAAQQJ0KAKAGCAAQQVqLQAAQQJ0KAKAECAAQQRqLQAAQQJ0KAKACHJyciIHNgIAIAFBBmogAEELai0AAEECdCgCgCAgAEEKai0AAEECdCgCgBggAEEJai0AAEECdCgCgBAgAEEIai0AAEECdCgCgAhycnIiCDYCACABQQlqIABBD2otAABBAnQoAoAgIABBDmotAABBAnQoAoAYIABBDWotAABBAnQoAoAQIABBDGotAABBAnQoAoAIcnJyIgk2AgAgAiAGciAHciAIciAJciECIAFBDGohASAAQRBqIgAgA0kNAAsLIAAgBUkEQANAIAEgAEEDai0AAEECdCgCgCAgAEECai0AAEECdCgCgBggAEEBai0AAEECdCgCgBAgAC0AAEECdCgCgAhycnIiAzYCACACIANyIQIgAUEDaiEBIABBBGoiACAFSQ0ACwtBfyEAIAJB////B00Ef0GEKCAENgIAQYgoIAFBoChrNgIAQQAFQX8LC+0BAQR/AkBBgCgoAgAiAUGEKCgCACIAa0EFTgRAQX8hAxAADQFBgCgoAgAhAUGEKCgCACEAC0F/IQMgASAAayIBQQJIDQAgAC0AoShBAnQoAoAQIAAtAKAoQQJ0KAKACHIhAgJ/IAFBBEYEQEEDQQQgAC0AoyhBPUYbIAAtAKIoQT1GayEBC0EBIAFBA0kNABogAC0AoihBAnQoAoAYIAJyIQJBAiABQQRHDQAaIAAtAKMoQQJ0KAKAICACciECQQMLIQEgAkH///8HSw0AQQAhA0GIKCgCACIAIAI2AKAoQYgoIAAgAWo2AgALIAML"}),s=new Uint8Array("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("").map(h=>h.charCodeAt(0))),i=new Uint32Array(1024);i.fill(4278190080);for(let h=0;h<s.length;++h)i[s[h]]=h<<2;for(let h=0;h<s.length;++h)i[256+s[h]]=h>>4|(h<<4&255)<<8;for(let h=0;h<s.length;++h)i[512+s[h]]=h>>2<<8|(h<<6&255)<<16;for(let h=0;h<s.length;++h)i[768+s[h]]=h<<16;var u=new Uint8Array(0),l=class{constructor(h,p,g){if(this._inst=null,this._ended=!0,this._bytes=0,this.keepSize=h??1048576,this.maxBytes=p??4294901760,this._bytes=g??32768,this._bytes>this.maxBytes||this.maxBytes>4294901760)throw new Error("invalid byte settings")}get data8(){return this._inst?this._d.subarray(0,this._m32[1282]):u}release(){this._inst&&(this._bytes>this.keepSize?this._inst=this._m32=this._d=this._mem=null:(this._m32[1280]=0,this._m32[1281]=0,this._m32[1282]=0))}init(h,p){if(this.maxBytes=h??this.maxBytes,this._bytes=p??Math.min(this._bytes,this.maxBytes),this._bytes>this.maxBytes||this.maxBytes>4294901760)throw Error("invalid byte settings");let g=this._m32,x=this._bytes+5152;this._inst?this._mem.buffer.byteLength<x&&(this._mem.grow(Math.ceil((x-this._mem.buffer.byteLength)/65536)),g=new Uint32Array(this._mem.buffer,0),this._d=new Uint8Array(this._mem.buffer,5152)):(this._mem=new WebAssembly.Memory({initial:Math.ceil(x/65536)}),this._inst=r({env:{memory:this._mem}}),g=new Uint32Array(this._mem.buffer,0),g.set(i,256),this._d=new Uint8Array(this._mem.buffer,5152)),g[1280]=0,g[1281]=0,g[1282]=0,this._m32=g,this._ended=!1}_realloc(h){let p=this._m32[1280]+h;if(this._bytes<p){if(p>this.maxBytes)return-3;let g=this._bytes;for(;(g*=2)<p;);if(g=Math.min(g,this.maxBytes),g<p)return-3;if(g+5152>this._mem.buffer.byteLength){let x=Math.ceil((g+5152-this._mem.buffer.byteLength)/65536);this._mem.grow(x),this._m32=new Uint32Array(this._mem.buffer,0),this._d=new Uint8Array(this._mem.buffer,5152)}this._bytes=g}return 0}put(h){if(!this._inst||this._ended)return-2;if(this._realloc(h.length))return-3;let p=this._m32;return this._d.set(h,p[1280]),p[1280]+=h.length,p[1280]-p[1281]>=131072?this._inst.exports.dec():0}end(){return this._ended=!0,this._inst?this._inst.exports.end():-2}get loadedBytes(){return this._inst?this._m32[1280]:0}get freeBytes(){return this._inst?this.maxBytes-this._m32[1280]:0}};e.default=l}),zA=G0(e=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var t=w3(),r=(0,t.InWasm)({s:1,t:0,d:"AGFzbQEAAAABCgJgAABgA39/fwACDwEDZW52Bm1lbW9yeQIAAQMDAgABBwcBA2RlYwABCAEACu4EAgwAQQBBAEGAAvwLAAveBAEJf0EAQQBBgAL8CwAgAUEXTgRAIAAgAWpBCGshCkGACCEBIAJBAnRBgAhqIQsgAEEOaiEDQf8BIQZBACECA0AgA0EBaiEHIAMtAAAiCEE/cSEAAkACQCAIQcABcSIJRQRAIABBAnQiAC0AAyEGIAAtAAIhBCAALQABIQUgAC0AACECIAchAwwBCwJAIAhB/QFLDQAgCUHAAUcNACAFQQVsIAJBA2xqIARBB2xqIAZBC2xqQT9xQQJ0IgMgBDoAAiADIAU6AAEgAyACOgAAIANBA2ogBjoAAANAIAEgAjoAACABQQNqIAY6AAAgAUECaiAEOgAAIAFBAWogBToAACABQQRqIQEgAEUEQCAHIQMMBAsgAEEBayEAIAEgC0kNAAsgByEDDAILAn8CQAJAAkAgCEH+AWsOAgABAgsgAy0AAyEEIAMtAAIhBSADLQABIQIgA0EEagwCCyADKAIBIgJBGHYhBiACQRB2IQQgAkEIdiEFIANBBWoMAQsgCUGAAUcEQCAHIAlBwABHDQEaIAQgCEEDcWpBAmshBCACIABBBHZqQQJrIQIgBSAIQQJ2QQNxakECayEFIAcMAQsgBCAAQShrIgkgAy0AASIHQQ9xamohBCACIAdBBHYgCWpqIQIgACAFakEgayEFIANBAmoLIQMgBUEFbCACQQNsaiAEQQdsaiAGQQtsakE/cUECdCIAIAQ6AAIgACAFOgABIAAgAjoAACAAQQNqIAY6AAALIAEgBjoAAyABIAQ6AAIgASAFOgABIAEgAjoAACABQQRqIQELIAMgCkkNAAsLCw=="}),s=class{constructor(i){this.keepSize=i,this.width=0,this.height=0}decode(i){this.width=i[4]<<24|i[5]<<16|i[6]<<8|i[7],this.height=i[8]<<24|i[9]<<16|i[10]<<8|i[11];let u=this.width*this.height,l=u*4,h=i.length,p=Math.max(l,h)+(Math.min(l,h)>>1)+4096;this._inst?this._mem.buffer.byteLength<p&&(this._mem.grow(Math.ceil((p-this._mem.buffer.byteLength)/65536)),this._d=null):(this._mem=new WebAssembly.Memory({initial:Math.ceil(p/65536)}),this._inst=r({env:{memory:this._mem}})),this._d||(this._d=new Uint8Array(this._mem.buffer));let g=this._mem.buffer.byteLength-h&-256;return this._d.set(i,g),this._inst.exports.dec(g,h,u),this._d.subarray(1024,1024+l)}release(){this._inst&&this._mem.buffer.byteLength>this.keepSize&&(this._inst=this._d=this._mem=null)}};e.default=s}),HA=G0(e=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LIMITS=void 0,e.LIMITS={CHUNK_SIZE:16384,PALETTE_SIZE:4096,MAX_WIDTH:16384,BYTES:"AGFzbQEAAAABJAdgAAF/YAJ/fwBgA39/fwF/YAF/AX9gAABgBH9/f38AYAF/AAIlAgNlbnYLaGFuZGxlX2JhbmQAAwNlbnYLbW9kZV9wYXJzZWQAAwMTEgQAAAAAAQQBAQUBAAACAgAGAwQFAXABBwcFBAEBBwcGCAF/AUGAihoLB9wBDgZtZW1vcnkCABFnZXRfc3RhdGVfYWRkcmVzcwADEWdldF9jaHVua19hZGRyZXNzAAQOZ2V0X3AwX2FkZHJlc3MABRNnZXRfcGFsZXR0ZV9hZGRyZXNzAAYEaW5pdAALBmRlY29kZQAMDWN1cnJlbnRfd2lkdGgADQ5jdXJyZW50X2hlaWdodAAOGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtfaW5pdGlhbGl6ZQACCXN0YWNrU2F2ZQARDHN0YWNrUmVzdG9yZQASCnN0YWNrQWxsb2MAEwkMAQBBAQsGCgcJDxACDAEBCq5UEgMAAQsFAEGgCAsGAEGQiQELBgBBsIkCCwUAQZAJC+okAQh/QeQIKAIAIQVB4AgoAgAhA0HoCCgCACEIIAFBkIkBaiIJQf8BOgAAIAAgAUgEQCAAQZCJAWohBgNAIAMhBCAGQQFqIQECQCAGLQAAQf8AcSIDQTBrQQlLBEAgASEGDAELQewIKAIAQQJ0QewIaiICKAIAIQADQCACIAMgAEEKbGpBMGsiADYCACABLQAAIQMgAUEBaiIGIQEgA0H/AHEiA0Ewa0EKSQ0ACwsCQAJAAkACQAJAAkACQAJ/AkACQCADQT9rIgBBP00EQCAERQ0BIARBIUYEQAJAQfAIKAIAIgFBASABGyIHIAhqIgFB1AgoAgAiA0gNACADQf//AEoNAANAIANBAnQiAkGgiQJqIgRBoAgpAwA3AwAgAkGoiQJqQaAIKQMANwMAIAJBsIkCakGgCCkDADcDACACQbiJAmpBoAgpAwA3AwAgAkHAiQJqQaAIKQMANwMAIAJByIkCakGgCCkDADcDACACQdCJAmpBoAgpAwA3AwAgAkHYiQJqQaAIKQMANwMAIAJB4IkCakGgCCkDADcDACACQeiJAmpBoAgpAwA3AwAgAkHwiQJqQaAIKQMANwMAIAJB+IkCakGgCCkDADcDACACQYCKAmpBoAgpAwA3AwAgAkGIigJqQaAIKQMANwMAIAJBkIoCakGgCCkDADcDACACQZiKAmpBoAgpAwA3AwAgAkGgigJqQaAIKQMANwMAIAJBqIoCakGgCCkDADcDACACQbCKAmpBoAgpAwA3AwAgAkG4igJqQaAIKQMANwMAIAJBwIoCakGgCCkDADcDACACQciKAmpBoAgpAwA3AwAgAkHQigJqQaAIKQMANwMAIAJB2IoCakGgCCkDADcDACACQeCKAmpBoAgpAwA3AwAgAkHoigJqQaAIKQMANwMAIAJB8IoCakGgCCkDADcDACACQfiKAmpBoAgpAwA3AwAgAkGAiwJqQaAIKQMANwMAIAJBiIsCakGgCCkDADcDACACQZCLAmpBoAgpAwA3AwAgAkGYiwJqQaAIKQMANwMAIAJBoIsCakGgCCkDADcDACACQaiLAmpBoAgpAwA3AwAgAkGwiwJqQaAIKQMANwMAIAJBuIsCakGgCCkDADcDACACQcCLAmpBoAgpAwA3AwAgAkHIiwJqQaAIKQMANwMAIAJB0IsCakGgCCkDADcDACACQdiLAmpBoAgpAwA3AwAgAkHgiwJqQaAIKQMANwMAIAJB6IsCakGgCCkDADcDACACQfCLAmpBoAgpAwA3AwAgAkH4iwJqQaAIKQMANwMAIAJBgIwCakGgCCkDADcDACACQYiMAmpBoAgpAwA3AwAgAkGQjAJqQaAIKQMANwMAIAJBmIwCakGgCCkDADcDACACQaCMAmpBoAgpAwA3AwAgAkGojAJqQaAIKQMANwMAIAJBsIwCakGgCCkDADcDACACQbiMAmpBoAgpAwA3AwAgAkHAjAJqQaAIKQMANwMAIAJByIwCakGgCCkDADcDACACQdCMAmpBoAgpAwA3AwAgAkHYjAJqQaAIKQMANwMAIAJB4IwCakGgCCkDADcDACACQeiMAmpBoAgpAwA3AwAgAkHwjAJqQaAIKQMANwMAIAJB+IwCakGgCCkDADcDACACQYCNAmpBoAgpAwA3AwAgAkGIjQJqQaAIKQMANwMAIAJBkI0CakGgCCkDADcDACACQZiNAmpBoAgpAwA3AwAgAkGwiQZqIARBgAT8CgAAQdQIKAIAQQJ0QcCJCmogBEGABPwKAABB1AgoAgBBAnRB0IkOaiAEQYAE/AoAAEHUCCgCAEECdEHgiRJqIARBgAT8CgAAQdQIKAIAQQJ0QfCJFmogBEGABPwKAABB1AhB1AgoAgAiAkGAAWoiAzYCACABIANIDQEgAkGA/wBIDQALCwJAIABFDQAgCEH//wBLDQBBgIABIAhrIAcgAUH//wBLGyECAkAgAEEBcUUNACACRQ0AIAhBAnRBoIkCaiEDIAIhBCACQQdxIgcEQANAIAMgBTYCACADQQRqIQMgBEEBayEEIAdBAWsiBw0ACwsgAkEBa0EHSQ0AA0AgAyAFNgIcIAMgBTYCGCADIAU2AhQgAyAFNgIQIAMgBTYCDCADIAU2AgggAyAFNgIEIAMgBTYCACADQSBqIQMgBEEIayIEDQALCwJAIABBAnFFDQAgAkUNACAIQQJ0QbCJBmohAyACIQQgAkEHcSIHBEADQCADIAU2AgAgA0EEaiEDIARBAWshBCAHQQFrIgcNAAsLIAJBAWtBB0kNAANAIAMgBTYCHCADIAU2AhggAyAFNgIUIAMgBTYCECADIAU2AgwgAyAFNgIIIAMgBTYCBCADIAU2AgAgA0EgaiEDIARBCGsiBA0ACwsCQCAAQQRxRQ0AIAJFDQAgCEECdEHAiQpqIQMgAiEEIAJBB3EiBwRAA0AgAyAFNgIAIANBBGohAyAEQQFrIQQgB0EBayIHDQALCyACQQFrQQdJDQADQCADIAU2AhwgAyAFNgIYIAMgBTYCFCADIAU2AhAgAyAFNgIMIAMgBTYCCCADIAU2AgQgAyAFNgIAIANBIGohAyAEQQhrIgQNAAsLAkAgAEEIcUUNACACRQ0AIAhBAnRB0IkOaiEDIAIhBCACQQdxIgcEQANAIAMgBTYCACADQQRqIQMgBEEBayEEIAdBAWsiBw0ACwsgAkEBa0EHSQ0AA0AgAyAFNgIcIAMgBTYCGCADIAU2AhQgAyAFNgIQIAMgBTYCDCADIAU2AgggAyAFNgIEIAMgBTYCACADQSBqIQMgBEEIayIEDQALCwJAIABBEHFFDQAgAkUNACAIQQJ0QeCJEmohAyACIQQgAkEHcSIHBEADQCADIAU2AgAgA0EEaiEDIARBAWshBCAHQQFrIgcNAAsLIAJBAWtBB0kNAANAIAMgBTYCHCADIAU2AhggAyAFNgIUIAMgBTYCECADIAU2AgwgAyAFNgIIIAMgBTYCBCADIAU2AgAgA0EgaiEDIARBCGsiBA0ACwsgAEEgcUUNACACRQ0AIAJBAWshByAIQQJ0QfCJFmohAyACQQdxIgQEQANAIAMgBTYCACADQQRqIQMgAkEBayECIARBAWsiBA0ACwsgB0EHSQ0AA0AgAyAFNgIcIAMgBTYCGCADIAU2AhQgAyAFNgIQIAMgBTYCDCADIAU2AgggAyAFNgIEIAMgBTYCACADQSBqIQMgAkEIayICDQALC0HcCEHcCCgCACAAcjYCACAGQQFqIgIgBi0AAEH/AHEiA0E/ayIAQT9LDQQaDAMLAkBB7AgoAgAiBEEBRgRAQfAIKAIAIgNBzAgoAgAiAUkNASADIAFwIQMMAQtB+AgoAgAhAkH0CCgCACEBAkACQCAEQQVHDQAgAUEBRw0AIAJB6QJODQQMAQsgAkHkAEoNA0H8CCgCAEHkAEoNA0GACSgCAEHkAEoNAwsCQCABRQ0AIAFBAkoNACACQfwIKAIAQYAJKAIAIAFBAnRBiAhqKAIAEQIAIQFB8AgoAgAiA0HMCCgCACICTwR/IAMgAnAFIAMLQQJ0QZAJaiABNgIAC0HwCCgCACIDQcwIKAIAIgFJDQAgAyABcCEDCyADQQJ0QZAJaigCACEFDAELIANB/QBxQSFHBEAgCCEBIAYhAgwECyAEQSNHDQQCQEHsCCgCACICQQFGBEBB8AgoAgAiAUHMCCgCACIASQ0BIAEgAHAhAQwBC0H4CCgCACEBQfQIKAIAIQACQAJAIAJBBUcNACAAQQFHDQAgAUHpAkgNAQwHCyABQeQASg0GQfwIKAIAQeQASg0GQYAJKAIAQeQASg0GCwJAIABFDQAgAEECSg0AIAFB/AgoAgBBgAkoAgAgAEECdEGICGooAgARAgAhAEHwCCgCACIBQcwIKAIAIgJPBH8gASACcAUgAQtBAnRBkAlqIAA2AgALQfAIKAIAIgFBzAgoAgAiAEkNACABIABwIQELIAFBAnRBkAlqKAIAIQUMBAsgCCEBIAYhAgtB1AgoAgAhBgNAAkAgASAGSA0AIAZB//8ASg0AIAZBAnQiBEGgiQJqIgZBoAgpAwA3AwAgBEGoiQJqQaAIKQMANwMAIARBsIkCakGgCCkDADcDACAEQbiJAmpBoAgpAwA3AwAgBEHAiQJqQaAIKQMANwMAIARByIkCakGgCCkDADcDACAEQdCJAmpBoAgpAwA3AwAgBEHYiQJqQaAIKQMANwMAIARB4IkCakGgCCkDADcDACAEQeiJAmpBoAgpAwA3AwAgBEHwiQJqQaAIKQMANwMAIARB+IkCakGgCCkDADcDACAEQYCKAmpBoAgpAwA3AwAgBEGIigJqQaAIKQMANwMAIARBkIoCakGgCCkDADcDACAEQZiKAmpBoAgpAwA3AwAgBEGgigJqQaAIKQMANwMAIARBqIoCakGgCCkDADcDACAEQbCKAmpBoAgpAwA3AwAgBEG4igJqQaAIKQMANwMAIARBwIoCakGgCCkDADcDACAEQciKAmpBoAgpAwA3AwAgBEHQigJqQaAIKQMANwMAIARB2IoCakGgCCkDADcDACAEQeCKAmpBoAgpAwA3AwAgBEHoigJqQaAIKQMANwMAIARB8IoCakGgCCkDADcDACAEQfiKAmpBoAgpAwA3AwAgBEGAiwJqQaAIKQMANwMAIARBiIsCakGgCCkDADcDACAEQZCLAmpBoAgpAwA3AwAgBEGYiwJqQaAIKQMANwMAIARBoIsCakGgCCkDADcDACAEQaiLAmpBoAgpAwA3AwAgBEGwiwJqQaAIKQMANwMAIARBuIsCakGgCCkDADcDACAEQcCLAmpBoAgpAwA3AwAgBEHIiwJqQaAIKQMANwMAIARB0IsCakGgCCkDADcDACAEQdiLAmpBoAgpAwA3AwAgBEHgiwJqQaAIKQMANwMAIARB6IsCakGgCCkDADcDACAEQfCLAmpBoAgpAwA3AwAgBEH4iwJqQaAIKQMANwMAIARBgIwCakGgCCkDADcDACAEQYiMAmpBoAgpAwA3AwAgBEGQjAJqQaAIKQMANwMAIARBmIwCakGgCCkDADcDACAEQaCMAmpBoAgpAwA3AwAgBEGojAJqQaAIKQMANwMAIARBsIwCakGgCCkDADcDACAEQbiMAmpBoAgpAwA3AwAgBEHAjAJqQaAIKQMANwMAIARByIwCakGgCCkDADcDACAEQdCMAmpBoAgpAwA3AwAgBEHYjAJqQaAIKQMANwMAIARB4IwCakGgCCkDADcDACAEQeiMAmpBoAgpAwA3AwAgBEHwjAJqQaAIKQMANwMAIARB+IwCakGgCCkDADcDACAEQYCNAmpBoAgpAwA3AwAgBEGIjQJqQaAIKQMANwMAIARBkI0CakGgCCkDADcDACAEQZiNAmpBoAgpAwA3AwAgBEGwiQZqIAZBgAT8CgAAQdQIKAIAQQJ0QcCJCmogBkGABPwKAABB1AgoAgBBAnRB0IkOaiAGQYAE/AoAAEHUCCgCAEECdEHgiRJqIAZBgAT8CgAAQdQIKAIAQQJ0QfCJFmogBkGABPwKAABB1AhB1AgoAgBBgAFqIgY2AgALIAFB//8ATQRAIABBAXEgAWxBAnRBoIkCaiAFNgIAIABBAXZBAXEgAWxBAnRBsIkGaiAFNgIAIABBAnZBAXEgAWxBAnRBwIkKaiAFNgIAIABBA3ZBAXEgAWxBAnRB0IkOaiAFNgIAIABBBHZBAXEgAWxBAnRB4IkSaiAFNgIAIABBBXYgAWxBAnRB8IkWaiAFNgIAQdQIKAIAIQYLIAFBAWohAUHcCEHcCCgCACAAcjYCACACLQAAIQAgAkEBaiIEIQIgAEH/AHEiA0E/ayIAQcAASQ0ACyAECyECQQAhBCACIQYgASEIIANB/QBxQSFGDQELIANBJGsOCgEDAwMDAwMDAwIDC0HsCEIBNwIADAQLQdgIIAFB2AgoAgAiACAAIAFIGyIAQYCAASAAQYCAAUgbNgIADAILQegIIAFB2AgoAgAiACAAIAFIGyIAQYCAASAAQYCAAUgbIgA2AgBB2AggADYCACAAQQRrEAAEQEHoCEEENgIAQdgIQQQ2AgBB0AhBATYCAA8LEAgMAQsCQCADQTtHDQBB7AgoAgAiAEEHSg0AQewIIABBAWo2AgAgAEECdEHwCGpBADYCAAsgAiEGIAQhAyABIQgMAQtBBCEIIAIhBiAEIQMLIAYgCUkNAAsLQeQIIAU2AgBB4AggAzYCAEHoCCAINgIAC9ELAgF+CH9B2AhCBDcDAEGojQJBoAgpAwAiADcDAEGgjQIgADcDAEGYjQIgADcDAEGQjQIgADcDAEGIjQIgADcDAEGAjQIgADcDAEH4jAIgADcDAEHwjAIgADcDAEHojAIgADcDAEHgjAIgADcDAEHYjAIgADcDAEHQjAIgADcDAEHIjAIgADcDAEHAjAIgADcDAEG4jAIgADcDAEGwjAIgADcDAEGojAIgADcDAEGgjAIgADcDAEGYjAIgADcDAEGQjAIgADcDAEGIjAIgADcDAEGAjAIgADcDAEH4iwIgADcDAEHwiwIgADcDAEHoiwIgADcDAEHgiwIgADcDAEHYiwIgADcDAEHQiwIgADcDAEHIiwIgADcDAEHAiwIgADcDAEG4iwIgADcDAEGwiwIgADcDAEGoiwIgADcDAEGgiwIgADcDAEGYiwIgADcDAEGQiwIgADcDAEGIiwIgADcDAEGAiwIgADcDAEH4igIgADcDAEHwigIgADcDAEHoigIgADcDAEHgigIgADcDAEHYigIgADcDAEHQigIgADcDAEHIigIgADcDAEHAigIgADcDAEG4igIgADcDAEGwigIgADcDAEGoigIgADcDAEGgigIgADcDAEGYigIgADcDAEGQigIgADcDAEGIigIgADcDAEGAigIgADcDAEH4iQIgADcDAEHwiQIgADcDAEHoiQIgADcDAEHgiQIgADcDAEHYiQIgADcDAEHQiQIgADcDAEHIiQIgADcDAEHAiQIgADcDAEG4iQIgADcDAEGwiQIgADcDAEGoCCgCACIEQf8AakGAAW0hCAJAIARBgQFIDQBBASEBIAhBAiAIQQJKG0EBayICQQFxIQMgBEGBAk4EQCACQX5xIQIDQCABQQl0IgdBEHJBoIkCakGwiQJBgAT8CgAAIAdBsI0CakGwiQJBgAT8CgAAIAFBAmohASACQQJrIgINAAsLIANFDQAgAUEJdEEQckGgiQJqQbCJAkGABPwKAAALAkAgBEEBSA0AIAhBASAIQQFKGyIDQQFxIQUCQCADQQFrIgdFBEBBACEBDAELIANB/v///wdxIQJBACEBA0AgAUEJdCIGQRByQbCJBmpBsIkCQYAE/AoAACAGQZAEckGwiQZqQbCJAkGABPwKAAAgAUECaiEBIAJBAmsiAg0ACwsgBQRAIAFBCXRBEHJBsIkGakGwiQJBgAT8CgAACyAEQQFIDQAgA0EBcSEFIAcEfyADQf7///8HcSECQQAhAQNAIAFBCXQiBkEQckHAiQpqQbCJAkGABPwKAAAgBkGQBHJBwIkKakGwiQJBgAT8CgAAIAFBAmohASACQQJrIgINAAsgAUEHdEEEcgVBBAshASAFBEAgAUECdEHAiQpqQbCJAkGABPwKAAALIARBAUgNACADQQFxIQUgBwR/IANB/v///wdxIQJBACEBA0AgAUEJdCIGQRByQdCJDmpBsIkCQYAE/AoAACAGQZAEckHQiQ5qQbCJAkGABPwKAAAgAUECaiEBIAJBAmsiAg0ACyABQQd0QQRyBUEECyEBIAUEQCABQQJ0QdCJDmpBsIkCQYAE/AoAAAsgBEEBSA0AIANBAXEhBSAHBH8gA0H+////B3EhAkEAIQEDQCABQQl0IgZBEHJB4IkSakGwiQJBgAT8CgAAIAZBkARyQeCJEmpBsIkCQYAE/AoAACABQQJqIQEgAkECayICDQALIAFBB3RBBHIFQQQLIQEgBQRAIAFBAnRB4IkSakGwiQJBgAT8CgAACyAEQQFIDQAgA0EBcSEEIAcEfyADQf7///8HcSECQQAhAQNAIAFBCXQiA0EQckHwiRZqQbCJAkGABPwKAAAgA0GQBHJB8IkWakGwiQJBgAT8CgAAIAFBAmohASACQQJrIgINAAsgAUEHdEEEcgVBBAshASAERQ0AIAFBAnRB8IkWakGwiQJBgAT8CgAAC0HUCCAIQQd0QQRyNgIAC58TAgh/AX5B5AgoAgAhA0HgCCgCACECQegIKAIAIQcgAUGQiQFqIglB/wE6AAAgACABSARAIABBkIkBaiEIA0AgAiEEIAhBAWohAQJAIAgtAABB/wBxIgJBMGtBCUsEQCABIQgMAQtB7AgoAgBBAnRB7AhqIgUoAgAhAANAIAUgAiAAQQpsakEwayIANgIAIAEtAAAhAiABQQFqIgghASACQf8AcSICQTBrQQpJDQALCwJAAkACQAJAAkACQAJ/AkAgAkE/ayIAQT9NBEAgBEUNASAEQSFGBEBB8AgoAgAiAUEBIAEbIgQgB2ohAQJAIABFDQAgB0H//wBLDQBBgIABIAdrIAQgAUH//wBLGyEFAkAgAEEBcUUNACAHQQJ0QaCJAmohAiAFIgRBB3EiBgRAA0AgAiADNgIAIAJBBGohAiAEQQFrIQQgBkEBayIGDQALCyAFQQFrQQdJDQADQCACIAM2AhwgAiADNgIYIAIgAzYCFCACIAM2AhAgAiADNgIMIAIgAzYCCCACIAM2AgQgAiADNgIAIAJBIGohAiAEQQhrIgQNAAsLAkAgAEECcUUNACAHQQJ0QbCJBmohAiAFIgRBB3EiBgRAA0AgAiADNgIAIAJBBGohAiAEQQFrIQQgBkEBayIGDQALCyAFQQFrQQdJDQADQCACIAM2AhwgAiADNgIYIAIgAzYCFCACIAM2AhAgAiADNgIMIAIgAzYCCCACIAM2AgQgAiADNgIAIAJBIGohAiAEQQhrIgQNAAsLAkAgAEEEcUUNACAHQQJ0QcCJCmohAiAFIgRBB3EiBgRAA0AgAiADNgIAIAJBBGohAiAEQQFrIQQgBkEBayIGDQALCyAFQQFrQQdJDQADQCACIAM2AhwgAiADNgIYIAIgAzYCFCACIAM2AhAgAiADNgIMIAIgAzYCCCACIAM2AgQgAiADNgIAIAJBIGohAiAEQQhrIgQNAAsLAkAgAEEIcUUNACAHQQJ0QdCJDmohAiAFIgRBB3EiBgRAA0AgAiADNgIAIAJBBGohAiAEQQFrIQQgBkEBayIGDQALCyAFQQFrQQdJDQADQCACIAM2AhwgAiADNgIYIAIgAzYCFCACIAM2AhAgAiADNgIMIAIgAzYCCCACIAM2AgQgAiADNgIAIAJBIGohAiAEQQhrIgQNAAsLAkAgAEEQcUUNACAHQQJ0QeCJEmohAiAFIgRBB3EiBgRAA0AgAiADNgIAIAJBBGohAiAEQQFrIQQgBkEBayIGDQALCyAFQQFrQQdJDQADQCACIAM2AhwgAiADNgIYIAIgAzYCFCACIAM2AhAgAiADNgIMIAIgAzYCCCACIAM2AgQgAiADNgIAIAJBIGohAiAEQQhrIgQNAAsLIABBIHFFDQAgBUEBayEEIAdBAnRB8IkWaiEAIAVBB3EiAgRAA0AgACADNgIAIABBBGohACAFQQFrIQUgAkEBayICDQALCyAEQQdJDQADQCAAIAM2AhwgACADNgIYIAAgAzYCFCAAIAM2AhAgACADNgIMIAAgAzYCCCAAIAM2AgQgACADNgIAIABBIGohACAFQQhrIgUNAAsLIAhBAWoiBSAILQAAQf8AcSICQT9rIgBBP00NAxoMBAsCQEHsCCgCACIFQQFGBEBB8AgoAgAiAUHMCCgCACIESQ0BIAEgBHAhAQwBC0H4CCgCACEEQfQIKAIAIQECQAJAIAVBBUcNACABQQFHDQAgBEHpAk4NBAwBCyAEQeQASg0DQfwIKAIAQeQASg0DQYAJKAIAQeQASg0DCwJAIAFFDQAgAUECSg0AIARB/AgoAgBBgAkoAgAgAUECdEGICGooAgARAgAhBEHwCCgCACIBQcwIKAIAIgVPBH8gASAFcAUgAQtBAnRBkAlqIAQ2AgALQfAIKAIAIgFBzAgoAgAiBEkNACABIARwIQELIAFBAnRBkAlqKAIAIQMMAQsgAkH9AHFBIUcEQCAHIQEgAiEADAQLIARBI0cNBAJAQewIKAIAIgRBAUYEQEHwCCgCACIBQcwIKAIAIgBJDQEgASAAcCEBDAELQfgIKAIAIQFB9AgoAgAhAAJAAkAgBEEFRw0AIABBAUcNACABQekCSA0BDAcLIAFB5ABKDQZB/AgoAgBB5ABKDQZBgAkoAgBB5ABKDQYLAkAgAEUNACAAQQJKDQAgAUH8CCgCAEGACSgCACAAQQJ0QYgIaigCABECACEAQfAIKAIAIgFBzAgoAgAiBE8EfyABIARwBSABC0ECdEGQCWogADYCAAtB8AgoAgAiAUHMCCgCACIASQ0AIAEgAHAhAQsgAUECdEGQCWooAgAhAwwECyAHIQEgCAshBQNAIAFB//8ATQRAIABBAXEgAWxBAnRBoIkCaiADNgIAIABBAXZBAXEgAWxBAnRBsIkGaiADNgIAIABBAnZBAXEgAWxBAnRBwIkKaiADNgIAIABBA3ZBAXEgAWxBAnRB0IkOaiADNgIAIABBBHZBAXEgAWxBAnRB4IkSaiADNgIAIABBBXYgAWxBAnRB8IkWaiADNgIACyABQQFqIQEgBS0AACEAIAVBAWoiBCEFIABB/wBxIgJBP2siAEHAAEkNAAsgBCEFC0EAIQQgBSEIIAEhByACIQAgAkH9AHFBIUYNAQtBBCEHIAQhAiAAQSRrDgoDAgICAgICAgIBAgtB7AhCATcCAAwCC0GoCCgCAEEEaxAABEBB0AhBATYCAA8LAkBBqAgoAgAiBkEFSA0AQaAIKQMAIQogBkEDa0EBdiIBQQdxIQJBACEAIAFBAWtBB08EQCABQfj///8HcSEFA0AgAEEDdCIBQbCJAmogCjcDACABQQhyQbCJAmogCjcDACABQRByQbCJAmogCjcDACABQRhyQbCJAmogCjcDACABQSByQbCJAmogCjcDACABQShyQbCJAmogCjcDACABQTByQbCJAmogCjcDACABQThyQbCJAmogCjcDACAAQQhqIQAgBUEIayIFDQALCyACRQ0AA0AgAEEDdEGwiQJqIAo3AwAgAEEBaiEAIAJBAWsiAg0ACwtBwIkGQbCJAiAGQQJ0IgD8CgAAQdCJCkGwiQIgAPwKAABB4IkOQbCJAiAA/AoAAEHwiRJBsIkCIAD8CgAAQYCKFkGwiQIgAPwKAAAgBCECDAELAkAgAEE7Rw0AQewIKAIAIgBBB0oNAEHsCCAAQQFqNgIAIABBAnRB8AhqQQA2AgALIAEhBwsgCCAJSQ0ACwtB5AggAzYCAEHgCCACNgIAQegIIAc2AgAL4gcCBX8BfgJAQdAIAn8CQAJAIAAgAU4NACABQZCJAWohBiAAQZCJAWohBQNAIAUtAAAiA0H/AHEhAgJAAkACQAJAAkACQAJAQeAIKAIAIgRBIkcEQCAEDQcgAkEiRgRAQewIQgE3AgBB4AhBIjYCAAwICyACQT9rQcAASQ0GIANBIWsiAkEMTQ0BDAULAkAgAkEwayIEQQlNBEBB7AgoAgBBAnRB7AhqIgIgBCACKAIAQQpsajYCAAwBC0HsCCgCACEEIAJBO0YEQCAEQQdKDQFB7AggBEEBajYCACAEQQJ0QfAIakEANgIADAELIARBBEYEQEHECEECNgIAQbAIQfAIKQMANwMAQbgIQfgIKAIAIgI2AgBBvAhB/AgoAgAiBDYCAEHICEECQQFBwAgoAgAiAxs2AgBBrAggBEEAIAMbNgIAQagIIAJBgIABIAJBgIABSBtBBGpBACADGzYCAEHgCEEANgIADAoLIAJBP2tBwABJDQQLIANBIWsiAkEMTQ0BDAILQQEgAnRBjSBxRQ0DDAQLQQEgAnRBjSBxDQELIANBoQFrIgJBDEsNA0EBIAJ0QY0gcUUNAwtBxAhCgYCAgBA3AgBBsAhB8AgoAgBBAEHsCCgCACICQQBKGzYCAEG0CEH0CCgCAEEAIAJBAUobNgIAQbgIQfgIKAIAQQAgAkECShs2AgBB4AhBADYCAEG8CEEANgIADAQLIANBoQFrIgJBDEsNAUEBIAJ0QY0gcUUNAQtBxAhCgYCAgBA3AgBBsAhCADcDAEG4CEIANwMADAMLIAVBAWoiBSAGSQ0ACwsCQEHICCgCAA4DAwEAAQsCQEGoCCgCACIFQQVIDQBBoAgpAwAhByAFQQNrQQF2IgNBB3EhBEEAIQIgA0EBa0EHTwRAIANB+P///wdxIQYDQCACQQN0IgNBsIkCaiAHNwMAIANBCHJBsIkCaiAHNwMAIANBEHJBsIkCaiAHNwMAIANBGHJBsIkCaiAHNwMAIANBIHJBsIkCaiAHNwMAIANBKHJBsIkCaiAHNwMAIANBMHJBsIkCaiAHNwMAIANBOHJBsIkCaiAHNwMAIAJBCGohAiAGQQhrIgYNAAsLIARFDQADQCACQQN0QbCJAmogBzcDACACQQFqIQIgBEEBayIEDQALC0HAiQZBsIkCIAVBAnQiA/wKAABB0IkKQbCJAiAD/AoAAEHgiQ5BsIkCIAP8CgAAQfCJEkGwiQIgA/wKAABBgIoWQbCJAiAD/AoAAEECDAELEAhByAgoAgALEAEiAjYCACACDQAgACABQcgIKAIAQQJ0QYAIaigCABEBAAsLdABB6AhBBDYCAEHkCCAANgIAQewIQgE3AgBBxAhCADcCAEHACCADNgIAQdwIQgA3AgBBqAhCADcDAEGwCEIANwMAQbgIQgA3AwBBzAggAkGAICACQYAgSRs2AgBBoAggAa1CgYCAgBB+NwMAQdAIQQA2AgALIwBB0AgoAgBFBEAgACABQcgIKAIAQQJ0QYAIaigCABEBAAsLWgECfwJAAkACQEHICCgCAEEBaw4CAAECC0HYCEHoCCgCACIAQdgIKAIAIgEgACABShsiAEGAgAEgAEGAgAFIGyIANgIAIABBBGsPC0GoCCgCAEEEayEACyAAC0IBAX8Cf0EGQdwIKAIAIgBBIHENABpBBSAAQRBxDQAaQQQgAEEIcQ0AGkEDIABBBHENABpBAiAAQQFxIABBAnEbCwu9BQEFfQJ/IAJFBEAgAUH/AWxBMmpB5ABtIgBBCHQgAHIgAEEQdHIMAQsgArJDAADIQpUhBiAAQfABarJDAAC0Q5UhBQJ9IAGyQwAAyEKVIgNDAAAAP10EQCADIAZDAACAP5KUDAELIAYgA0MAAIA/IAaTlJILIQcgAyADkiEGAkAgBUOrqqo+kiIEQwAAAABdBEAgBEMAAIA/kiEEDAELIARDAACAP15FDQAgBEMAAIC/kiEECyAGIAeTIQMgBUMAAAAAXSEAAn8CfSADIAcgA5NDAADAQJQgBJSSIARDq6oqPl0NABogByAEQwAAAD9dDQAaIAMgBEOrqio/XUUNABogAyAHIAOTIARDAADAwJRDAACAQJKUkgtDAAB/Q5RDAAAAP5IiBkMAAIBPXSAGQwAAAABgcQRAIAapDAELQQALIQECQCAABEAgBUMAAIA/kiEEDAELIAUiBEMAAIA/XkUNACAFQwAAgL+SIQQLIAVDq6qqvpIiBUMAAAAAXSECAn8CfSADIAcgA5NDAADAQJQgBJSSIARDq6oqPl0NABogByAEQwAAAD9dDQAaIAMgBEOrqio/XUUNABogAyAHIAOTIARDAADAwJRDAACAQJKUkgtDAAB/Q5RDAAAAP5IiBkMAAIBPXSAGQwAAAABgcQRAIAapDAELQQALIQACQCACBEAgBUMAAIA/kiEFDAELIAVDAACAP15FDQAgBUMAAIC/kiEFCwJAIAVDq6oqPl0EQCADIAcgA5NDAADAQJQgBZSSIQcMAQsgBUMAAAA/XQ0AIAVDq6oqP11FBEAgAyEHDAELIAMgByADkyAFQwAAwMCUQwAAgECSlJIhBwsgAEEIdAJ/IAdDAAB/Q5RDAAAAP5IiBkMAAIBPXSAGQwAAAABgcQRAIAapDAELQQALQRB0ciABcgtBgICAeHILNwAgAEH/AWxBMmpB5ABtIAFB/wFsQTJqQeQAbUEIdHIgAkH/AWxBMmpB5ABtQRB0ckGAgIB4cgsEACMACwYAIAAkAAsQACMAIABrQXBxIgAkACAACwsYAQBBgAgLEQEAAAACAAAAAwAAAAQAAAAF"}}),WA=G0(e=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.decodeAsync=e.decode=e.Decoder=e.DecoderAsync=void 0;var t=Ip(),r=HA();function s(A){if(typeof Buffer<"u")return Buffer.from(A,"base64");let k=atob(A),I=new Uint8Array(k.length);for(let R=0;R<I.length;++R)I[R]=k.charCodeAt(R);return I}var i=s(r.LIMITS.BYTES),u,l=new Uint32Array,h=class{constructor(){this.bandHandler=A=>1,this.modeHandler=A=>1}handle_band(A){return this.bandHandler(A)}mode_parsed(A){return this.modeHandler(A)}},p={memoryLimit:2048*65536,sixelColor:t.DEFAULT_FOREGROUND,fillColor:t.DEFAULT_BACKGROUND,palette:t.PALETTE_VT340_COLOR,paletteLimit:r.LIMITS.PALETTE_SIZE,truncate:!0};function g(A){let k=new h,I={env:{handle_band:k.handle_band.bind(k),mode_parsed:k.mode_parsed.bind(k)}};return WebAssembly.instantiate(u||i,I).then(R=>(u=u||R.module,new x(A,R.instance||R,k)))}e.DecoderAsync=g;var x=class{constructor(A,k,I){if(this._PIXEL_OFFSET=r.LIMITS.MAX_WIDTH+4,this._canvas=l,this._bandWidths=[],this._maxWidth=0,this._minWidth=r.LIMITS.MAX_WIDTH,this._lastOffset=0,this._currentHeight=0,this._opts=Object.assign({},p,A),this._opts.paletteLimit>r.LIMITS.PALETTE_SIZE)throw new Error(`DecoderOptions.paletteLimit must not exceed ${r.LIMITS.PALETTE_SIZE}`);if(k)I.bandHandler=this._handle_band.bind(this),I.modeHandler=this._initCanvas.bind(this);else{let R=u||(u=new WebAssembly.Module(i));k=new WebAssembly.Instance(R,{env:{handle_band:this._handle_band.bind(this),mode_parsed:this._initCanvas.bind(this)}})}this._instance=k,this._wasm=this._instance.exports,this._chunk=new Uint8Array(this._wasm.memory.buffer,this._wasm.get_chunk_address(),r.LIMITS.CHUNK_SIZE),this._states=new Uint32Array(this._wasm.memory.buffer,this._wasm.get_state_address(),12),this._palette=new Uint32Array(this._wasm.memory.buffer,this._wasm.get_palette_address(),r.LIMITS.PALETTE_SIZE),this._palette.set(this._opts.palette),this._pSrc=new Uint32Array(this._wasm.memory.buffer,this._wasm.get_p0_address()),this._wasm.init(t.DEFAULT_FOREGROUND,0,this._opts.paletteLimit,0)}get _fillColor(){return this._states[0]}get _truncate(){return this._states[8]}get _rasterWidth(){return this._states[6]}get _rasterHeight(){return this._states[7]}get _width(){return this._states[2]?this._states[2]-4:0}get _height(){return this._states[3]}get _level(){return this._states[9]}get _mode(){return this._states[10]}get _paletteLimit(){return this._states[11]}_initCanvas(A){if(A===2){let k=this.width*this.height;if(k>this._canvas.length){if(this._opts.memoryLimit&&k*4>this._opts.memoryLimit)throw this.release(),new Error("image exceeds memory limit");this._canvas=new Uint32Array(k)}this._maxWidth=this._width}else if(A===1)if(this._level===2){let k=Math.min(this._rasterWidth,r.LIMITS.MAX_WIDTH)*this._rasterHeight;if(k>this._canvas.length){if(this._opts.memoryLimit&&k*4>this._opts.memoryLimit)throw this.release(),new Error("image exceeds memory limit");this._canvas=new Uint32Array(k)}}else this._canvas.length<65536&&(this._canvas=new Uint32Array(65536));return 0}_realloc(A,k){let I=A+k;if(I>this._canvas.length){if(this._opts.memoryLimit&&I*4>this._opts.memoryLimit)throw this.release(),new Error("image exceeds memory limit");let R=new Uint32Array(Math.ceil(I/65536)*65536);R.set(this._canvas),this._canvas=R}}_handle_band(A){let k=this._PIXEL_OFFSET,I=this._lastOffset;if(this._mode===2){let R=this.height-this._currentHeight,M=0;for(;M<6&&R>0;)this._canvas.set(this._pSrc.subarray(k*M,k*M+A),I+A*M),M++,R--;this._lastOffset+=A*M,this._currentHeight+=M}else if(this._mode===1){this._realloc(I,A*6),this._maxWidth=Math.max(this._maxWidth,A),this._minWidth=Math.min(this._minWidth,A);for(let R=0;R<6;++R)this._canvas.set(this._pSrc.subarray(k*R,k*R+A),I+A*R);this._bandWidths.push(A),this._lastOffset+=A*6,this._currentHeight+=6}return 0}get width(){return this._mode!==1?this._width:Math.max(this._maxWidth,this._wasm.current_width())}get height(){return this._mode!==1?this._height:this._wasm.current_width()?this._bandWidths.length*6+this._wasm.current_height():this._bandWidths.length*6}get palette(){return this._palette.subarray(0,this._paletteLimit)}get memoryUsage(){return this._canvas.byteLength+this._wasm.memory.buffer.byteLength+8*this._bandWidths.length}get properties(){return{width:this.width,height:this.height,mode:this._mode,level:this._level,truncate:!!this._truncate,paletteLimit:this._paletteLimit,fillColor:this._fillColor,memUsage:this.memoryUsage,rasterAttributes:{numerator:this._states[4],denominator:this._states[5],width:this._rasterWidth,height:this._rasterHeight}}}init(A=this._opts.fillColor,k=this._opts.palette,I=this._opts.paletteLimit,R=this._opts.truncate){this._wasm.init(this._opts.sixelColor,A,I,R?1:0),k&&this._palette.set(k.subarray(0,r.LIMITS.PALETTE_SIZE)),this._bandWidths.length=0,this._maxWidth=0,this._minWidth=r.LIMITS.MAX_WIDTH,this._lastOffset=0,this._currentHeight=0}decode(A,k=0,I=A.length){let R=k;for(;R<I;){let M=Math.min(I-R,r.LIMITS.CHUNK_SIZE);this._chunk.set(A.subarray(R,R+=M)),this._wasm.decode(0,M)}}decodeString(A,k=0,I=A.length){let R=k;for(;R<I;){let M=Math.min(I-R,r.LIMITS.CHUNK_SIZE);for(let B=0,F=R;B<M;++B,++F)this._chunk[B]=A.charCodeAt(F);R+=M,this._wasm.decode(0,M)}}get data32(){if(this._mode===0||!this.width||!this.height)return l;let A=this._wasm.current_width();if(this._mode===2){let k=this.height-this._currentHeight;if(k>0){let I=this._PIXEL_OFFSET,R=this._lastOffset,M=0;for(;M<6&&k>0;)this._canvas.set(this._pSrc.subarray(I*M,I*M+A),R+A*M),M++,k--;k&&this._canvas.fill(this._fillColor,R+A*M)}return this._canvas.subarray(0,this.width*this.height)}if(this._mode===1){if(this._minWidth===this._maxWidth){let M=!1;if(A)if(A!==this._minWidth)M=!0;else{let B=this._PIXEL_OFFSET,F=this._lastOffset;this._realloc(F,A*6);for(let W=0;W<6;++W)this._canvas.set(this._pSrc.subarray(B*W,B*W+A),F+A*W)}if(!M)return this._canvas.subarray(0,this.width*this.height)}let k=new Uint32Array(this.width*this.height);k.fill(this._fillColor);let I=0,R=0;for(let M=0;M<this._bandWidths.length;++M){let B=this._bandWidths[M];for(let F=0;F<6;++F)k.set(this._canvas.subarray(R,R+=B),I),I+=this.width}if(A){let M=this._PIXEL_OFFSET,B=this._wasm.current_height();for(let F=0;F<B;++F)k.set(this._pSrc.subarray(M*F,M*F+A),I+this.width*F)}return k}return l}get data8(){return new Uint8ClampedArray(this.data32.buffer,0,this.width*this.height*4)}release(){this._canvas=l,this._bandWidths.length=0,this._maxWidth=0,this._minWidth=r.LIMITS.MAX_WIDTH,this._wasm.init(t.DEFAULT_FOREGROUND,0,this._opts.paletteLimit,0)}};e.Decoder=x;function b(A,k){let I=new x(k);return I.init(),typeof A=="string"?I.decodeString(A):I.decode(A),{width:I.width,height:I.height,data32:I.data32,data8:I.data8}}e.decode=b;async function v(A,k){let I=await g(k);return I.init(),typeof A=="string"?I.decodeString(A):I.decode(A),{width:I.width,height:I.height,data32:I.data32,data8:I.data8}}e.decodeAsync=v});function Bf(e){return{dispose:e}}var T3=class{constructor(){this._disposables=new Set,this._isDisposed=!1}get isDisposed(){return this._isDisposed}add(e){return this._isDisposed?e.dispose():this._disposables.add(e),e}dispose(){if(!this._isDisposed){this._isDisposed=!0;for(let e of this._disposables)e.dispose();this._disposables.clear()}}clear(){for(let e of this._disposables)e.dispose();this._disposables.clear()}},S3=class{constructor(){this._store=new T3}dispose(){this._store.dispose()}_register(t){return this._store.add(t)}};S3.None=Object.freeze({dispose(){}});var GA=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(t){this._isDisposed||t===this._value||(this._value?.dispose(),this._value=t)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,this._value?.dispose(),this._value=void 0}},VA=class{constructor(){this._listeners=[],this._disposed=!1}get event(){return this._event?this._event:(this._event=(e,t,r)=>{if(this._disposed)return Bf(()=>{});let s={fn:e,thisArgs:t};this._listeners.push(s);let i=Bf(()=>{let u=this._listeners.indexOf(s);u!==-1&&this._listeners.splice(u,1)});return r&&(Array.isArray(r)?r.push(i):r.add(i)),i},this._event)}fire(e){if(!this._disposed)switch(this._listeners.length){case 0:return;case 1:{let{fn:t,thisArgs:r}=this._listeners[0];t.call(r,e);return}default:{let t=this._listeners.slice();for(let{fn:r,thisArgs:s}of t)r.call(s,e)}}}dispose(){this._disposed||(this._disposed=!0,this._listeners.length=0)}},qA;(e=>{function t(u,l){return u(h=>l.fire(h))}e.forward=t;function r(u,l){return(h,p,g)=>u(x=>h.call(p,l(x)),void 0,g)}e.map=r;function s(...u){return(l,h,p)=>{let g=new T3;for(let x of u)g.add(x(b=>l.call(h,b)));return p&&(Array.isArray(p)?p.push(g):p.add(g)),g}}e.any=s;function i(u,l,h){return l(h),u(p=>l(p))}e.runAndSubscribe=i})(qA||={});var Mm=V0(Ip()),F0=class vl extends S3{constructor(t){super(),this._terminal=t,this._layers=new Map,this._optionsRefresh=this._register(new GA),this._oldOpen=this._terminal._core.open,this._terminal._core.open=r=>{this._oldOpen?.call(this._terminal._core,r),this._open()},this._terminal._core.screenElement&&this._open(),this._optionsRefresh.value=this._terminal._core.optionsService.onOptionChange(r=>{r==="fontSize"&&(this.rescaleCanvas(),this._renderService?.refreshRows(0,this._terminal.rows))}),this._register(Bf(()=>{this.removeLayerFromDom(),this.removeLayerFromDom("bottom"),this._terminal._core&&this._oldOpen&&(this._terminal._core.open=this._oldOpen,this._oldOpen=void 0),this._renderService&&this._oldSetRenderer&&(this._renderService.setRenderer=this._oldSetRenderer,this._oldSetRenderer=void 0),this._renderService=void 0,this._layers.clear(),this._placeholderBitmap?.close(),this._placeholderBitmap=void 0,this._placeholder=void 0}))}get canvas(){return this._layers.get("top")?.canvas}static createCanvas(t,r,s){let i=(t??document).createElement("canvas");return i.width=r|0,i.height=s|0,i}static createImageData(t,r,s,i){if(typeof ImageData!="function"){let u=t.createImageData(r,s);return i&&u.data.set(new Uint8ClampedArray(i,0,r*s*4)),u}return i?new ImageData(new Uint8ClampedArray(i,0,r*s*4),r,s):new ImageData(r,s)}static createImageBitmap(t){return typeof createImageBitmap!="function"?Promise.resolve(void 0):createImageBitmap(t)}showPlaceholder(t){t?!this._placeholder&&this.cellSize.height!==-1&&this._createPlaceHolder(Math.max(this.cellSize.height+1,24)):(this._placeholderBitmap?.close(),this._placeholderBitmap=void 0,this._placeholder=void 0),this._renderService?.refreshRows(0,this._terminal.rows)}get dimensions(){return this._terminal.dimensions}get cellSize(){return{width:this.dimensions?.css.cell.width||-1,height:this.dimensions?.css.cell.height||-1}}clearLines(t,r,s){let i=t*(this.dimensions?.css.cell.height||0),u=this.dimensions?.css.canvas.width||0,l=(r+1-t)*(this.dimensions?.css.cell.height||0);(!s||s==="top")&&this._layers.get("top")?.clearRect(0,i,u,l),(!s||s==="bottom")&&this._layers.get("bottom")?.clearRect(0,i,u,l)}clearAll(t){if(!t||t==="top"){let r=this._layers.get("top");r?.clearRect(0,0,r.canvas.width,r.canvas.height)}if(!t||t==="bottom"){let r=this._layers.get("bottom");r?.clearRect(0,0,r.canvas.width,r.canvas.height)}}draw(t,r,s,i,u=1){let l=this._layers.get(t.layer);if(!l)return;let{width:h,height:p}=this.cellSize;if(h===-1||p===-1)return;this._rescaleImage(t,h,p);let g=t.actual,x=Math.ceil(g.width/h),b=r%x*h,v=Math.floor(r/x)*p,A=s*h,k=i*p,I=u*h+b>g.width?g.width-b:u*h,R=v+p>g.height?g.height-v:p;l.drawImage(g,Math.floor(b),Math.floor(v),Math.ceil(I),Math.ceil(R),Math.floor(A),Math.floor(k),Math.ceil(I),Math.ceil(R))}extractTile(t,r){let{width:s,height:i}=this.cellSize;if(s===-1||i===-1)return;this._rescaleImage(t,s,i);let u=t.actual,l=Math.ceil(u.width/s),h=r%l*s,p=Math.floor(r/l)*i,g=s+h>u.width?u.width-h:s,x=p+i>u.height?u.height-p:i,b=vl.createCanvas(this.document,g,x),v=b.getContext("2d");if(v)return v.drawImage(u,Math.floor(h),Math.floor(p),Math.floor(g),Math.floor(x),0,0,Math.floor(g),Math.floor(x)),b}drawPlaceholder(t,r,s=1){let i=this._layers.get("top");if(i){let{width:u,height:l}=this.cellSize;if(u===-1||l===-1||(this._placeholder?l>=this._placeholder.height&&this._createPlaceHolder(l+1):this._createPlaceHolder(Math.max(l+1,24)),!this._placeholder))return;i.drawImage(this._placeholderBitmap??this._placeholder,t*u,r*l%2?0:1,u*s,l,t*u,r*l,u*s,l)}}rescaleCanvas(){let t=this.dimensions?.css.canvas.width||0,r=this.dimensions?.css.canvas.height||0;for(let s of this._layers.values())(s.canvas.width!==t||s.canvas.height!==r)&&(s.canvas.width=t,s.canvas.height=r)}_rescaleImage(t,r,s){if(r===t.actualCellSize.width&&s===t.actualCellSize.height)return;let{width:i,height:u}=t.origCellSize;if(r===i&&s===u){t.actual=t.orig,t.actualCellSize.width=i,t.actualCellSize.height=u;return}let l=vl.createCanvas(this.document,Math.ceil(t.orig.width*r/i),Math.ceil(t.orig.height*s/u)),h=l.getContext("2d");h&&(h.drawImage(t.orig,0,0,l.width,l.height),t.actual=l,t.actualCellSize.width=r,t.actualCellSize.height=s)}_open(){this._renderService=this._terminal._core._renderService,this._oldSetRenderer=this._renderService.setRenderer.bind(this._renderService),this._renderService.setRenderer=t=>{for(let r of[...this._layers.keys()])this.removeLayerFromDom(r);this._oldSetRenderer?.call(this._renderService,t)}}insertLayerToDom(t="top"){if(!this.document||!this._terminal._core.screenElement){console.warn("image addon: cannot insert output canvas to DOM, missing document or screenElement");return}if(this._layers.has(t))return;let r=vl.createCanvas(this.document,this.dimensions?.css.canvas.width||0,this.dimensions?.css.canvas.height||0);r.classList.add(`xterm-image-layer-${t}`);let s=this._terminal._core.screenElement;s.style.isolation="isolate",t==="bottom"?(r.style.zIndex="-1",s.insertBefore(r,s.firstChild)):(r.style.zIndex="0",s.appendChild(r));let i=r.getContext("2d",{alpha:!0});if(!i){r.remove();return}this._layers.set(t,i),this.clearAll(t)}removeLayerFromDom(t="top"){let r=this._layers.get(t);r&&(r.canvas.remove(),this._layers.delete(t))}hasLayer(t){return this._layers.has(t)}_createPlaceHolder(t=24){this._placeholderBitmap?.close(),this._placeholderBitmap=void 0;let r=32,s=vl.createCanvas(this.document,r,t),i=s.getContext("2d",{alpha:!1});if(!i)return;let u=vl.createImageData(i,r,t),l=new Uint32Array(u.data.buffer),h=(0,Mm.toRGBA8888)(0,0,0),p=(0,Mm.toRGBA8888)(255,255,255);l.fill(h);for(let b=0;b<t;++b){let v=b%2,A=b*r;for(let k=0;k<r;k+=2)l[A+k+v]=p}i.putImageData(u,0,0);let g=screen.width+r-1&-32||4096;this._placeholder=vl.createCanvas(this.document,g,t);let x=this._placeholder.getContext("2d",{alpha:!1});if(!x){this._placeholder=void 0;return}for(let b=0;b<g;b+=r)x.drawImage(s,b,0);vl.createImageBitmap(this._placeholder).then(b=>this._placeholderBitmap=b)}get document(){return this._terminal._core._coreBrowserService?.window.document}},Ja={width:7,height:14},Qf=class C3{constructor(t=0,r=0,s=-1,i=-1){this.imageId=s,this.tileId=i,this._ext=0,this._urlId=0,this._ext=t,this._urlId=r}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(t){this._ext=t}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(t){this._ext&=-469762049,this._ext|=t<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(t){this._ext&=-67108864,this._ext|=t&67108863}get underlineVariantOffset(){let t=(this._ext&3758096384)>>29;return t<0?t^4294967288:t}set underlineVariantOffset(t){this._ext&=536870911,this._ext|=t<<29&3758096384}get urlId(){return this._urlId}set urlId(t){this._urlId=t}clone(){return new C3(this._ext,this._urlId,this.imageId,this.tileId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0&&this.imageId===-1}},Su=new Qf,ZA=class{constructor(e,t,r){this._terminal=e,this._renderer=t,this._opts=r,this._images=new Map,this._lastId=0,this._lowestId=0,this._fullyCleared=!1,this._needsFullClear=!1,this._pixelLimit=25e5;try{this.setLimit(this._opts.storageLimit)}catch(s){s instanceof Error&&console.error(s.message),console.warn(`storageLimit is set to ${this.getLimit()} MB`)}this._viewportMetrics={cols:this._terminal.cols,rows:this._terminal.rows}}dispose(){this.reset()}reset(){for(let e of this._images.values())e.marker?.dispose();this._images.clear(),this._renderer.clearAll()}getLimit(){return this._pixelLimit*4/1e6}setLimit(e){if(e<.5||e>1e3)throw RangeError("invalid storageLimit, should be at least 0.5 MB and not exceed 1G");this._pixelLimit=e/4*1e6>>>0,this._evictOldest(0)}getUsage(){return this._getStoredPixels()*4/1e6}_getStoredPixels(){let e=0;for(let t of this._images.values())t.orig&&(e+=t.orig.width*t.orig.height,t.actual&&t.actual!==t.orig&&(e+=t.actual.width*t.actual.height));return e}_delImg(e){let t=this._images.get(e);t&&(this._images.delete(e),window.ImageBitmap&&t.orig instanceof ImageBitmap&&t.orig.close(),this.onImageDeleted?.(e))}wipeAlternate(){let e=[];for(let[t,r]of this._images.entries())r.bufferType==="alternate"&&(r.marker?.dispose(),e.push(t));for(let t of e)this._delImg(t);this._needsFullClear=!0,this._fullyCleared=!1}deleteImage(e){let t=this._images.get(e);t&&(t.marker?.dispose(),this._delImg(e))}addImage(e,t){this._evictOldest(e.width*e.height);let r=this._renderer.cellSize;(r.width===-1||r.height===-1)&&(r=Ja);let s=Math.ceil(e.width/r.width),i=Math.ceil(e.height/r.height),u=++this._lastId,l=this._terminal._core.buffer,h=this._terminal.cols,p=this._terminal.rows,g=l.x,x=l.y,b=g,v=0;t.scrolling||(l.x=0,l.y=0,b=0),this._terminal._core._inputHandler._dirtyRowTracker.markDirty(l.y);for(let R=0;R<i;++R){let M=l.lines.get(l.y+l.ybase);for(let B=0;B<s&&!(b+B>=h);++B)this._writeToCell(M,b+B,u,R*s+B),v++;if(t.scrolling)R<i-1&&this._terminal._core._inputHandler.lineFeed();else if(++l.y>=p)break;l.x=b}this._terminal._core._inputHandler._dirtyRowTracker.markDirty(l.y),t.scrolling?t.cursorPos==="iip"?l.x=Math.min(b+s,h):l.x=b:(l.x=g,l.y=x);let A=[];for(let[R,M]of this._images.entries())M.tileCount<1&&(M.marker?.dispose(),A.push(R));for(let R of A)this._delImg(R);let k=this._terminal.registerMarker(0);k?.onDispose(()=>{this._images.get(u)&&this._delImg(u)}),this._terminal.buffer.active.type==="alternate"&&this._evictOnAlternate();let I={orig:e,origCellSize:r,actual:e,actualCellSize:{...r},marker:k||void 0,tileCount:v,bufferType:this._terminal.buffer.active.type,layer:t.layer,zIndex:t.zIndex};return this._images.set(u,I),this.onImageAdded?.(),u}render(e){let t=!1,r=!1;for(let g of this._images.values())if(g.layer==="bottom"?r=!0:t=!0,t&&r)break;if(t&&!this._renderer.hasLayer("top")&&(this._renderer.insertLayerToDom("top"),!this._renderer.hasLayer("top")))return;if(r&&!this._renderer.hasLayer("bottom")&&this._renderer.insertLayerToDom("bottom"),this._renderer.rescaleCanvas(),!this._images.size){this._fullyCleared||(this._renderer.clearAll(),this._fullyCleared=!0,this._needsFullClear=!1),this._renderer.hasLayer("top")&&this._renderer.removeLayerFromDom("top"),this._renderer.hasLayer("bottom")&&this._renderer.removeLayerFromDom("bottom");return}!t&&this._renderer.hasLayer("top")&&(this._renderer.clearAll("top"),this._renderer.removeLayerFromDom("top")),!r&&this._renderer.hasLayer("bottom")&&(this._renderer.clearAll("bottom"),this._renderer.removeLayerFromDom("bottom")),this._needsFullClear&&(this._renderer.clearAll(),this._fullyCleared=!0,this._needsFullClear=!1);let{start:s,end:i}=e,u=this._terminal._core.buffer,l=this._terminal._core.cols;this._renderer.clearLines(s,i);let h=[],p=[];for(let g=s;g<=i;++g){let x=u.lines.get(g+u.ydisp);if(!x)return;for(let b=0;b<l;++b){let v;if(x.getBg(b)&268435456)v=x._extendedAttrs[b]??Su;else{let I=x._extendedAttrs[b];if(!I||I.imageId===void 0||I.imageId===-1)continue;v=I}let A=v.imageId;if(A===void 0||A===-1)continue;let k=this._images.get(A);if(v.tileId!==-1){let I=v.tileId,R=b,M=1;for(;++b<l;){let B=x._extendedAttrs[b];if(!B||B.imageId!==A||B.tileId!==I+M)break;M++}b--,k?k.actual&&h.push({imgSpec:k,tileId:I,col:R,row:g,count:M}):this._opts.showPlaceholder&&p.push({col:R,row:g,count:M}),this._fullyCleared=!1}}}h.sort((g,x)=>g.imgSpec.zIndex-x.imgSpec.zIndex);for(let g of p)this._renderer.drawPlaceholder(g.col,g.row,g.count);for(let g of h)this._renderer.draw(g.imgSpec,g.tileId,g.col,g.row,g.count)}viewportResize(e){if(!this._images.size){this._viewportMetrics=e;return}if(this._viewportMetrics.cols>=e.cols){this._viewportMetrics=e;return}let t=this._terminal._core.buffer,r=t.lines.length,s=this._viewportMetrics.cols-1;for(let i=0;i<r;++i){let u=t.lines.get(i);if(u.getBg(s)&268435456){let l=u._extendedAttrs[s]??Su,h=l.imageId;if(h===void 0||h===-1)continue;let p=this._images.get(h);if(!p)continue;let g=Math.ceil((p.actual?.width||0)/p.actualCellSize.width);if(l.tileId%g+1>=g)continue;let x=!1;for(let A=s+1;A>e.cols;++A)if(u._data[A*3+0]&4194303){x=!0;break}if(x)continue;let b=Math.min(e.cols,g-l.tileId%g+s),v=l.tileId;for(let A=s+1;A<b;++A)this._writeToCell(u,A,h,++v),p.tileCount++}}this._viewportMetrics=e}getImageAtBufferCell(e,t){let r=this._terminal._core.buffer.lines.get(t);if(r&&r.getBg(e)&268435456){let s=r._extendedAttrs[e]??Su;if(s.imageId&&s.imageId!==-1){let i=this._images.get(s.imageId)?.orig;if(window.ImageBitmap&&i instanceof ImageBitmap){let u=F0.createCanvas(window.document,i.width,i.height);return u.getContext("2d")?.drawImage(i,0,0,i.width,i.height),u}return i}}}extractTileAtBufferCell(e,t){let r=this._terminal._core.buffer.lines.get(t);if(r&&r.getBg(e)&268435456){let s=r._extendedAttrs[e]??Su;if(s.imageId&&s.imageId!==-1&&s.tileId!==-1){let i=this._images.get(s.imageId);if(i)return this._renderer.extractTile(i,s.tileId)}}}_evictOldest(e){let t=this._getStoredPixels(),r=t;for(;this._pixelLimit<r+e&&this._images.size;){let s=this._images.get(++this._lowestId);s&&s.orig&&(r-=s.orig.width*s.orig.height,s.actual&&s.orig!==s.actual&&(r-=s.actual.width*s.actual.height),s.marker?.dispose(),this._delImg(this._lowestId))}return t-r}_writeToCell(e,t,r,s){if(e._data[t*3+2]&268435456){let i=e._extendedAttrs[t];if(i){if(i.imageId!==void 0){let u=this._images.get(i.imageId);u&&u.tileCount--,i.imageId=r,i.tileId=s;return}e._extendedAttrs[t]=new Qf(i.ext,i.urlId,r,s);return}}e._data[t*3+2]|=268435456,e._extendedAttrs[t]=new Qf(0,0,r,s)}_evictOnAlternate(){for(let r of this._images.values())r.bufferType==="alternate"&&(r.tileCount=0);let e=this._terminal._core.buffer;for(let r=0;r<this._terminal.rows;++r){let s=e.lines.get(r);if(s){for(let i=0;i<this._terminal.cols;++i)if(s._data[i*3+2]&268435456){let u=s._extendedAttrs[i]?.imageId;if(u){let l=this._images.get(u);l&&l.tileCount++}}}}let t=[];for(let[r,s]of this._images.entries())s.bufferType==="alternate"&&!s.tileCount&&(s.marker?.dispose(),t.push(r));for(let r of t)this._delImg(r)}},YA=V0(A3()),KA=V0(zA());function ld(e){let t="";for(let r=0;r<e.length;++r)t+=String.fromCharCode(e[r]);return t}function Lh(e){let t=0;for(let r=0;r<e.length;++r){if(e[r]<48||e[r]>57)throw new Error("illegal char");t=t*10+e[r]-48}return t}function Nm(e){let t=ld(e);if(!t.match(/^((auto)|(\d+?((px)|(%)){0,1}))$/))throw new Error("illegal size");return t}function XA(e){if(typeof Buffer<"u")return Buffer.from(ld(e),"base64").toString();let t=atob(ld(e)),r=new Uint8Array(t.length);for(let s=0;s<r.length;++s)r[s]=t.charCodeAt(s);return new TextDecoder().decode(r)}var Dm={inline:Lh,size:Lh,name:XA,width:Nm,height:Nm,preserveAspectRatio:Lh},Bm=[70,105,108,101],Qm=[77,117,108,116,105,112,97,114,116,70,105,108,101],Ih=[70,105,108,101,80,97,114,116],kh=[70,105,108,101,69,110,100],Eh=[82,101,112,111,114,116,67,101,108,108,83,105,122,101],Rh=1024,JA=class{constructor(){this.state=0,this._buffer=new Uint32Array(Rh),this._position=0,this._key="",this.fields={}}reset(){this._buffer.fill(0),this.state=0,this._position=0,this.fields={},this._key=""}end(){if(this.state===0){if(this._position===kh.length){for(let t=0;t<kh.length;++t)if(this._buffer[t]!==kh[t])return this._a();return this.fields.type=4,this.state=4,0}if(this._position===Eh.length){for(let t=0;t<Eh.length;++t)if(this._buffer[t]!==Eh[t])return this._a();return this.fields.type=5,this.state=4,0}return this._a()}return this.state===4?0:this.state===3&&this.fields.type===2?this._storeValue(this._position)?(this.state=4,0):this._a():this._a()}parse(t,r,s){let i=this.state,u=this._position,l=this._buffer;if(i===1||i===4||i===0&&u>14)return-1;for(let h=r;h<s;++h){let p=t[h];switch(p){case 59:if(!this._storeValue(u))return this._a();i=2,u=0;break;case 61:if(i===0){if(l[0]===70){let g=0;for(;g<Bm.length;++g)if(l[g]!==Bm[g])return this._a();if(this.fields.type=1,u===Ih.length){for(;g<Ih.length;++g)if(l[g]!==Ih[g])return this._a();return this.fields.type=3,this.state=4,h+1}}else if(l[0]===77){for(let g=0;g<Qm.length;++g)if(l[g]!==Qm[g])return this._a();this.fields.type=2}else return this._a();i=2,u=0}else if(i===2){if(!this._storeKey(u))return this._a();i=3,u=0}else if(i===3){if(u>=Rh)return this._a();l[u++]=p}break;case 58:return i===3&&!this._storeValue(u)?this._a():(this.state=4,h+1);default:if(u>=Rh)return this._a();l[u++]=p}}return this.state=i,this._position=u,-2}_a(){return this.fields.type=0,this.state=1,-1}_storeKey(t){let r=ld(this._buffer.subarray(0,t));return r?(this._key=r,this.fields[r]=null,!0):!1}_storeValue(t){if(this._key){try{let r=this._buffer.slice(0,t);this.fields[this._key]=Dm[this._key]?Dm[this._key](r):r}catch{return!1}return!0}return!1}},cd={mime:"unsupported",width:0,height:0};function eT(e){if(e.length<24)return cd;let t=new Uint32Array(e.buffer,e.byteOffset,6);if(t[0]===1196314761&&t[1]===169478669&&t[3]===1380206665)return{mime:"image/png",width:e[16]<<24|e[17]<<16|e[18]<<8|e[19],height:e[20]<<24|e[21]<<16|e[22]<<8|e[23]};if(e[0]===255&&e[1]===216&&e[2]===255){let[r,s]=tT(e);return{mime:"image/jpeg",width:r,height:s}}return t[0]===944130375&&(e[4]===55||e[4]===57)&&e[5]===97?{mime:"image/gif",width:e[7]<<8|e[6],height:e[9]<<8|e[8]}:t[0]===1718185841?{mime:"image/qoi",width:e[4]<<24|e[5]<<16|e[6]<<8|e[7],height:e[8]<<24|e[9]<<16|e[10]<<8|e[11]}:cd}function tT(e){let t=e.length,r=4,s=e[r]<<8|e[r+1];for(;;){if(r+=s,r>=t)return[0,0];if(e[r]!==255)return[0,0];if(e[r+1]===192||e[r+1]===194)return r+8<t?[e[r+7]<<8|e[r+8],e[r+5]<<8|e[r+6]]:[0,0];r+=2,s=e[r]<<8|e[r+1]}}var Mh={type:0,name:"Unnamed file",size:0,width:"auto",height:"auto",preserveAspectRatio:1,inline:0},rT=class{constructor(e,t,r,s){this._opts=e,this._renderer=t,this._storage=r,this._coreTerminal=s,this._aborted=!1,this._hp=new JA,this._header=Mh,this._metrics=cd,this._isMultipart=!1,this._abortMulti=!1;let i=Math.ceil(this._opts.iipSizeLimit*4/3),u=Math.min(1048576,i);this._dec=new YA.default(4194304,i,u),this._qoiDec=new KA.default(4194304)}reset(){this._hp.reset(),this._dec.release(),this._qoiDec.release()}start(){this._aborted=!1,this._metrics=cd,this._hp.reset()}put(e,t,r){if(!this._aborted)if(this._hp.state===4)this._dec.put(e.subarray(t,r))!==0&&(this._dec.release(),this._aborted=!0);else{let s=this._hp.parse(e,t,r);if(s===-1){this._aborted=!0;return}if(s>0){if(this._hp.fields.type===1){if(this._isMultipart&&(this._isMultipart=!1,this._abortMulti=!1,this._dec.release()),this._header=Object.assign({},Mh,this._hp.fields),!this._header.inline){this._aborted=!0;return}this._dec.init()}else if(this._abortMulti){this._aborted=!0;return}this._dec.put(e.subarray(s,r))!==0&&(this._dec.release(),this._aborted=!0,this._isMultipart&&(this._abortMulti=!0))}}}end(e){if(this._aborted||this._hp.state!==4&&this._hp.end())return!0;let t=this._hp.fields.type;if(t===3)return!0;if(t===5){let l=Ja.width,h=Ja.height;this._renderer.dimensions&&(l=this._renderer.dimensions.css.canvas.width/this._coreTerminal.cols,h=this._renderer.dimensions.css.canvas.height/this._coreTerminal.rows);let p=this._coreTerminal._core._coreBrowserService?.dpr??1,g=`\x1B]1337;ReportCellSize=${h.toFixed(3)};${l.toFixed(3)};${p.toFixed(3)}\x1B\\`;return this._coreTerminal.input(g,!1),!0}if(t===2)return this._header=Object.assign({},Mh,this._hp.fields),this._isMultipart=!0,this._abortMulti=!1,this._dec.release(),this._dec.init(),!0;if(t===4&&(!this._isMultipart||(this._isMultipart=!1,this._abortMulti||this._header.type!==2)))return!0;let r=0,s=0,i;if((i=e)&&(i=!this._dec.end())&&(this._metrics=eT(this._dec.data8),(i=this._metrics.mime!=="unsupported")&&(r=this._metrics.width,s=this._metrics.height,(i=r&&s&&r*s<this._opts.pixelLimit)&&([r,s]=this._resize(r,s).map(Math.floor),i=r&&s&&r*s<this._opts.pixelLimit))),!i)return this._dec.release(),!0;let u;if(this._metrics.mime==="image/qoi"){let l=this._qoiDec.decode(this._dec.data8);if(u=new ImageData(new Uint8ClampedArray(l.buffer,l.byteOffset,l.byteLength),this._qoiDec.width,this._qoiDec.height),this._qoiDec.release(),r===this._qoiDec.width&&s===this._qoiDec.height){this._dec.release();let h=F0.createCanvas(void 0,this._qoiDec.width,this._qoiDec.height);return h.getContext("2d")?.putImageData(u,0,0),this._storage.addImage(h),!0}}else u=new Blob([this._dec.data8],{type:this._metrics.mime});return this._dec.release(),createImageBitmap(u,{resizeWidth:r,resizeHeight:s}).then(l=>(this._storage.addImage(l),!0))}_resize(e,t){let r=this._renderer.dimensions?.css.cell.width||Ja.width,s=this._renderer.dimensions?.css.cell.height||Ja.height,i=this._renderer.dimensions?.css.canvas.width||r*this._coreTerminal.cols,u=this._renderer.dimensions?.css.canvas.height||s*this._coreTerminal.rows,l=this._dim(this._header.width,i,r),h=this._dim(this._header.height,u,s);if(!l&&!h){let p=i/e,g=(u-s)/t,x=Math.min(p,g);return x<1?[e*x,t*x]:[e,t]}return l?this._header.preserveAspectRatio||!l||!h?[l,t*l/e]:[l,h]:[e*h/t,h]}_dim(e,t,r){return e==="auto"?0:e.endsWith("%")?parseInt(e.slice(0,-1),10)*t/100:e.endsWith("px")?parseInt(e.slice(0,-2),10):parseInt(e,10)*r}},nT=V0(A3());function jm(e){let t={},r=e.split(",");for(let s of r){let i=s.indexOf("=");if(i===-1)continue;let u=s.substring(0,i),l=s.substring(i+1);if(u==="a"){t.action=l;continue}if(u==="o"){t.compression=l;continue}if(u==="t"){t.transmission=l;continue}if(u==="d"){t.deleteSelector=l;continue}let h=parseInt(l,10);switch(u){case"f":t.format=h;break;case"i":t.id=h;break;case"I":t.imageNumber=h;break;case"s":t.width=h;break;case"v":t.height=h;break;case"x":t.x=h;break;case"y":t.y=h;break;case"w":t.sourceWidth=h;break;case"h":t.sourceHeight=h;break;case"X":t.xOffset=h;break;case"Y":t.yOffset=h;break;case"c":t.columns=h;break;case"r":t.rows=h;break;case"m":t.more=h;break;case"q":t.quiet=h;break;case"C":t.cursorMovement=h;break;case"z":t.zIndex=h;break;case"p":t.placementId=h;break}}return t}var Pm=0,sT=class{constructor(e,t,r,s){this._opts=e,this._renderer=t,this._kittyStorage=r,this._coreTerminal=s,this._aborted=!1,this._decodeError=!1,this._activeDecoder=null,this._inControlData=!0,this._controlData=new Uint32Array(512),this._controlLength=0,this._encodedSizeLimit=0,this._totalEncodedSize=0,this._parsedCommand=null,this._pendingTransmissions=new Map,this._maxEncodedBytes=Math.ceil(this._opts.kittySizeLimit*4/3),this._initialEncodedBytes=Math.min(4194304,this._maxEncodedBytes)}reset(){this._cleanupAllPending(),this._activeDecoder&&(this._activeDecoder.release(),this._activeDecoder=null),this._kittyStorage.reset()}dispose(){this.reset()}_removePendingEntry(e){this._pendingTransmissions.delete(e),this._lastPendingKey===e&&(this._lastPendingKey=void 0)}_cleanupAllPending(){for(let e of this._pendingTransmissions.values())e.decoder.release();this._pendingTransmissions.clear(),this._lastPendingKey=void 0}start(){this._aborted=!1,this._decodeError=!1,this._inControlData=!0,this._controlLength=0,this._parsedCommand=null,this._encodedSizeLimit=this._maxEncodedBytes,this._totalEncodedSize=0,this._activeDecoder=null}put(e,t,r){if(!this._aborted)if(!this._inControlData)this._streamPayload(e,t,r);else{let s=r;for(let u=t;u<r;u++)if(e[u]===59){this._inControlData=!1,s=u;break}let i=s-t;if(this._controlLength+i>512){this._aborted=!0;return}if(this._controlData.set(e.subarray(t,s),this._controlLength),this._controlLength+=i,!this._inControlData){if(this._parsedCommand=jm(this._parseControlDataString()),this._parsedCommand.id!==void 0&&this._parsedCommand.imageNumber!==void 0){this._sendResponse(this._parsedCommand.id,"EINVAL:cannot specify both i and I keys",this._parsedCommand.quiet??0),this._aborted=!0;return}if(this._parsedCommand.action==="d")return;let u=s+1;u<r&&this._streamPayload(e,u,r)}}}_streamPayload(e,t,r){if(this._aborted)return;let s=this._parsedCommand?.id??this._lastPendingKey??0,i=this._pendingTransmissions.get(s),u=i?.totalEncodedSize??0;if(this._totalEncodedSize+=r-t,u+this._totalEncodedSize>this._encodedSizeLimit){let l=this._activeDecoder??i?.decoder;l&&l.release(),this._activeDecoder=null,i&&this._removePendingEntry(s),this._aborted=!0;return}this._decodeError||(i?.decoder&&!this._activeDecoder&&(this._activeDecoder=i.decoder),this._activeDecoder||(this._activeDecoder=new nT.default(4194304,this._maxEncodedBytes,this._initialEncodedBytes),this._activeDecoder.init()),this._activeDecoder.put(e.subarray(t,r))!==Pm&&(this._activeDecoder.release(),this._activeDecoder=null,this._decodeError=!0,i&&this._removePendingEntry(s)))}end(e){if(this._aborted||!e)return this._activeDecoder&&(this._activeDecoder.release(),this._activeDecoder=null),!0;if(this._inControlData)return this._handleNoPayloadCommand();let t=this._parsedCommand;if(t.action==="d")return this._handleDelete(t);let r=t.id??this._lastPendingKey??0,s=t.more===1,i=this._pendingTransmissions.get(r);if(s)return this._activeDecoder&&(i?(i.totalEncodedSize+=this._totalEncodedSize,i.decodeError=i.decodeError||this._decodeError):this._pendingTransmissions.set(r,{cmd:{...t},decoder:this._activeDecoder,totalEncodedSize:this._totalEncodedSize,decodeError:this._decodeError}),this._lastPendingKey=r,this._activeDecoder=null),!0;i&&(this._lastPendingKey=void 0);let u=this._decodeError,l=t,h=this._activeDecoder;i&&(l=i.cmd,h=i.decoder,u=u||i.decodeError,this._pendingTransmissions.delete(r));let p=new Uint8Array(0);h&&(h.end()!==Pm&&(u=!0),p=h.data8),this._activeDecoder=null;let g=this._handleCommandWithBytesAndCmd(l,p,u);return h&&h.release(),g}_parseControlDataString(){let e="";for(let t=0;t<this._controlLength;t++)e+=String.fromCodePoint(this._controlData[t]);return e}_handleNoPayloadCommand(){let e=jm(this._parseControlDataString());if(e.id!==void 0&&e.imageNumber!==void 0)return this._sendResponse(e.id,"EINVAL:cannot specify both i and I keys",e.quiet??0),!0;switch(e.action??"t"){case"d":return this._handleDelete(e);case"q":return this._sendResponse(e.id??0,"OK",e.quiet??0),!0;case"p":return this._handlePlacement(e);default:return e.id!==void 0&&this._sendResponse(e.id,"EINVAL:unsupported action",e.quiet??0),!0}}_handleCommandWithBytesAndCmd(e,t,r){switch(e.action??"t"){case"t":{let s=this._handleTransmit(e,t,r);return(e.transmission??"d")==="d"&&e.id!==void 0&&(r?this._sendResponse(e.id,"EINVAL:invalid base64 data",e.quiet??0):t.length>0&&this._sendResponse(e.id,"OK",e.quiet??0)),s}case"T":return this._handleTransmitDisplay(e,t,r);case"q":return this._handleQuery(e,t,r);case"p":return this._handlePlacement(e);default:return e.id!==void 0&&this._sendResponse(e.id,"EINVAL:unsupported action",e.quiet??0),!0}}_handlePlacement(e){if(e.id===void 0)return!0;let t=e.id,r=this._kittyStorage.getImage(t);return r?this._displayImage(r,e).then(s=>(this._sendResponse(t,s?"OK":"EINVAL:image rendering failed",e.quiet??0,e.placementId),!0)):(this._sendResponse(t,"ENOENT:image not found",e.quiet??0,e.placementId),!0)}_handleTransmit(e,t,r){return(e.transmission??"d")!=="d"?(e.id!==void 0&&this._sendResponse(e.id,"EINVAL:unsupported transmission medium",e.quiet??0),!0):(r||t.length===0||this._kittyStorage.storeImage(e.id,{data:new Blob([t]),width:e.width??0,height:e.height??0,format:e.format??32,compression:e.compression??""}),!0)}_handleTransmitDisplay(e,t,r){if(r)return e.id!==void 0&&this._sendResponse(e.id,"EINVAL:invalid base64 data",e.quiet??0),!0;this._handleTransmit(e,t,r);let s=e.id??this._kittyStorage.lastImageId,i=this._kittyStorage.getImage(s);if(i){let u=this._displayImage(i,e);return e.id!==void 0?u.then(l=>(this._sendResponse(s,l?"OK":"EINVAL:image rendering failed",e.quiet??0),!0)):u.then(()=>!0)}return!0}_handleQuery(e,t,r){let s=e.id??0,i=e.quiet??0;if((e.transmission??"d")!=="d")return this._sendResponse(s,"EINVAL:unsupported transmission medium",i),!0;if(r)return this._sendResponse(s,"EINVAL:invalid base64 data",i),!0;if(t.length===0)return this._sendResponse(s,"OK",i),!0;let u=e.format??32;if(u===100)this._sendResponse(s,"OK",i);else{let l=e.width??0,h=e.height??0;if(!l||!h)return this._sendResponse(s,"EINVAL:width and height required for raw pixel data",i),!0;let p=u===32?4:3,g=l*h*p;if(t.length<g)return this._sendResponse(s,"EINVAL:insufficient pixel data",i),!0;this._sendResponse(s,"OK",i)}return!0}_handleDelete(e){switch(e.deleteSelector??"a"){case"a":case"A":this._cleanupAllPending(),this._kittyStorage.deleteAll();break;case"i":case"I":if(e.id!==void 0){let t=this._pendingTransmissions.get(e.id);t&&t.decoder.release(),this._removePendingEntry(e.id),this._kittyStorage.deleteById(e.id)}break}return!0}_sendResponse(e,t,r,s){let i=t==="OK";if(i&&r>=1||!i&&r>=2)return;let u=s?`,p=${s}`:"",l=`\x1B_Gi=${e}${u};${t}\x1B\\`;this._coreTerminal._core.coreService.triggerDataEvent(l)}_displayImage(e,t){return this._decodeAndDisplay(e,t).then(()=>!0).catch(()=>!1)}async _decodeAndDisplay(e,t){let r=await this._createBitmap(e);try{let s=Math.max(0,t.x??0),i=Math.max(0,t.y??0),u=t.sourceWidth||r.width-s,l=t.sourceHeight||r.height-i,h=Math.max(0,r.width-s),p=Math.max(0,r.height-i),g=Math.max(0,Math.min(u,h)),x=Math.max(0,Math.min(l,p));if(g===0||x===0)throw new Error("invalid source rectangle");if(s!==0||i!==0||g!==r.width||x!==r.height){let Ae=await createImageBitmap(r,s,i,g,x);r.close(),r=Ae}let b=this._renderer.dimensions?.css.cell.width||Ja.width,v=this._renderer.dimensions?.css.cell.height||Ja.height,A,k;t.columns!==void 0&&t.rows!==void 0?(A=t.columns,k=t.rows):t.columns!==void 0?(A=t.columns,k=Math.max(1,Math.ceil(r.height/r.width*(A*b)/v))):t.rows!==void 0?(k=t.rows,A=Math.max(1,Math.ceil(r.width/r.height*(k*v)/b))):(A=Math.ceil(r.width/b),k=Math.ceil(r.height/v));let I=r.width,R=r.height;if((t.columns!==void 0||t.rows!==void 0)&&(I=Math.round(A*b),R=Math.round(k*v)),I*R>this._opts.pixelLimit)throw new Error("image exceeds pixel limit");let M=this._coreTerminal._core.buffer,B=M.x,F=M.y,W=M.ybase,O=t.zIndex!==void 0&&t.zIndex<0?"bottom":"top";if(I!==r.width||R!==r.height){let Ae=await createImageBitmap(r,{resizeWidth:I,resizeHeight:R});r.close(),r=Ae}let q=Math.min(Math.max(0,t.xOffset??0),b-1),ee=Math.min(Math.max(0,t.yOffset??0),v-1);if(q!==0||ee!==0){let Ae=t.columns!==void 0?Math.round(A*b):r.width+q,Le=t.rows!==void 0?Math.round(k*v):r.height+ee,ve=F0.createCanvas(window.document,Ae,Le),Ye=ve.getContext("2d");if(!Ye)throw new Error("Failed to create offset canvas context");Ye.drawImage(r,q,ee);let Te=await createImageBitmap(ve);if(ve.width=ve.height=0,r.close(),r=Te,I=r.width,R=r.height,I*R>this._opts.pixelLimit)throw new Error("image exceeds pixel limit");t.columns===void 0&&(A=Math.ceil(r.width/b)),t.rows===void 0&&(k=Math.ceil(r.height/v))}let de=t.zIndex??0;if(this._kittyStorage.addImage(e.id,r,!0,O,de),r=void 0,t.cursorMovement===1){let Ae=M.ybase-W;M.x=B,M.y=Math.max(F-Ae,0)}else M.x=Math.min(B+A,this._coreTerminal.cols)}catch(s){throw r?.close(),s}}async _createBitmap(e){let t=new Uint8Array(await e.data.arrayBuffer());if(e.compression==="z"&&(t=await this._decompressZlib(t)),e.format===100){let I=new Blob([t],{type:"image/png"});if(!window.createImageBitmap){let R=URL.createObjectURL(I),M=new Image;return new Promise((B,F)=>{M.addEventListener("load",()=>{URL.revokeObjectURL(R);let W=F0.createCanvas(window.document,M.width,M.height);W.getContext("2d")?.drawImage(M,0,0),createImageBitmap(W).then(B).catch(F)}),M.addEventListener("error",()=>{URL.revokeObjectURL(R),F(new Error("Failed to load image"))}),M.src=R})}return createImageBitmap(I)}let r=e.width,s=e.height;if(!r||!s)throw new Error("Width and height required for raw pixel data");let i=e.format===32?4:3,u=r*s*i;if(t.length<u)throw new Error("Insufficient pixel data");let l=r*s;if(e.format===32)return createImageBitmap(new ImageData(new Uint8ClampedArray(t.buffer,t.byteOffset,l*4),r,s));let h=new Uint8ClampedArray(l*4),p=new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4)),g=new Uint32Array(h.buffer),x=l&-4,b=0,v=0;for(let I=0;I<x;I+=4){let R=p[b++],M=p[b++],B=p[b++];g[v++]=4278190080|R,g[v++]=4278190080|R>>>24|M<<8,g[v++]=4278190080|M>>>16|B<<16,g[v++]=4278190080|B>>>8}let A=x*3,k=x*4;for(let I=x;I<l;I++)h[k]=t[A],h[k+1]=t[A+1],h[k+2]=t[A+2],h[k+3]=255,A+=3,k+=4;return createImageBitmap(new ImageData(h,r,s))}async _decompressZlib(e){try{return await this._decompress(e,"deflate")}catch{return await this._decompress(e,"deflate-raw")}}async _decompress(e,t){let r=new DecompressionStream(t),s=r.writable.getWriter();s.write(e),s.close();let i=[],u=r.readable.getReader();for(;;){let{done:g,value:x}=await u.read();if(g)break;i.push(x)}let l=i.reduce((g,x)=>g+x.length,0),h=new Uint8Array(l),p=0;for(let g of i)h.set(g,p),p+=g.length;return h}get images(){return this._kittyStorage.images}get _kittyIdToStorageId(){return this._kittyStorage.kittyIdToStorageId}get pendingTransmissions(){return this._pendingTransmissions}},_3=class jf{constructor(t){this._storage=t,this._nextImageId=1,this._images=new Map,this._kittyIdToStorageId=new Map,this._storageIdToKittyId=new Map,this._handleStorageImageDeleted=r=>{let s=this._storageIdToKittyId.get(r);s!==void 0&&(this._kittyIdToStorageId.delete(s),this._storageIdToKittyId.delete(r),this._images.delete(s))},this._addImageOpts={scrolling:!0,layer:"top",zIndex:0,cursorPos:"iip"},this._previousOnImageDeleted=this._storage.onImageDeleted,this._wrappedOnImageDeleted=r=>{this._previousOnImageDeleted?.(r),this._handleStorageImageDeleted(r)},this._storage.onImageDeleted=this._wrappedOnImageDeleted}reset(){this._nextImageId=1,this._images.clear(),this._kittyIdToStorageId.clear(),this._storageIdToKittyId.clear()}dispose(){this.reset(),this._storage.onImageDeleted===this._wrappedOnImageDeleted&&(this._storage.onImageDeleted=this._previousOnImageDeleted)}storeImage(t,r){let s=t??this._nextImageId++,i=this._kittyIdToStorageId.get(s);return i!==void 0&&(this._storage.deleteImage(i),this._kittyIdToStorageId.delete(s),this._storageIdToKittyId.delete(i)),!this._images.has(s)&&this._images.size>=jf._maxStoredImages&&this._evictUndisplayedImages(),this._images.set(s,{...r,id:s}),s}addImage(t,r,s,i,u){let l=this._kittyIdToStorageId.get(t);l!==void 0&&this._storageIdToKittyId.delete(l),this._addImageOpts.scrolling=s,this._addImageOpts.layer=i,this._addImageOpts.zIndex=u;let h=this._storage.addImage(r,this._addImageOpts);this._kittyIdToStorageId.set(t,h),this._storageIdToKittyId.set(h,t)}getImage(t){return this._images.get(t)}deleteById(t){this._images.delete(t);let r=this._kittyIdToStorageId.get(t);r!==void 0&&(this._storage.deleteImage(r),this._kittyIdToStorageId.delete(t),this._storageIdToKittyId.delete(r))}deleteAll(){this._images.clear();for(let t of this._kittyIdToStorageId.values())this._storage.deleteImage(t);this._kittyIdToStorageId.clear(),this._storageIdToKittyId.clear()}get images(){return this._images}get kittyIdToStorageId(){return this._kittyIdToStorageId}get lastImageId(){return this._nextImageId-1}_evictUndisplayedImages(){for(let[t]of this._images){if(this._images.size<=jf._maxStoredImages/2)break;this._kittyIdToStorageId.has(t)||this._images.delete(t)}}};_3._maxStoredImages=256;var iT=_3,Gc=V0(Ip()),oT=V0(WA()),aT=4194304,Pf=Gc.PALETTE_ANSI_256;Pf.set(Gc.PALETTE_VT340_COLOR);var lT=class{constructor(e,t,r){this._opts=e,this._storage=t,this._coreTerminal=r,this._size=0,this._aborted=!1,(0,oT.DecoderAsync)({memoryLimit:this._opts.pixelLimit*4,palette:Pf,paletteLimit:this._opts.sixelPaletteLimit}).then(s=>this._dec=s)}reset(){this._dec&&(this._dec.release(),this._dec._palette.fill(0),this._dec.init(0,Pf,this._opts.sixelPaletteLimit))}hook(e){if(this._size=0,this._aborted=!1,this._dec){let t=e.params[1]===1?0:cT(this._coreTerminal._core._inputHandler._curAttrData,this._coreTerminal._core._themeService?.colors);this._dec.init(t,null,this._opts.sixelPaletteLimit)}}put(e,t,r){if(!(this._aborted||!this._dec)){if(this._size+=r-t,this._size>this._opts.sixelSizeLimit){console.warn("SIXEL: too much data, aborting"),this._aborted=!0,this._dec.release();return}try{this._dec.decode(e,t,r)}catch(s){console.warn(`SIXEL: error while decoding image - ${s}`),this._aborted=!0,this._dec.release()}}}unhook(e){if(this._aborted||!e||!this._dec)return!0;let t=this._dec.width,r=this._dec.height;if(!t||!r)return r&&this._storage.advanceCursor(r),!0;let s=F0.createCanvas(void 0,t,r);return s.getContext("2d")?.putImageData(new ImageData(this._dec.data8,t,r),0,0),this._dec.memoryUsage>aT&&this._dec.release(),this._storage.addImage(s),!0}};function cT(e,t){let r=0;if(!t)return r;if(e.isInverse())if(e.isFgDefault())r=Cu(t.foreground.rgba);else if(e.isFgRGB()){let s=e.constructor.toColorRGB(e.getFgColor());r=(0,Gc.toRGBA8888)(...s)}else r=Cu(t.ansi[e.getFgColor()].rgba);else if(e.isBgDefault())r=Cu(t.background.rgba);else if(e.isBgRGB()){let s=e.constructor.toColorRGB(e.getBgColor());r=(0,Gc.toRGBA8888)(...s)}else r=Cu(t.ansi[e.getBgColor()].rgba);return r}function Cu(e){return Gc.BIG_ENDIAN?e:(e&255)<<24|(e>>>8&255)<<16|(e>>>16&255)<<8|e>>>24&255}var uT=class{constructor(e,t,r,s){this._storage=e,this._opts=t,this._renderer=r,this._terminal=s,this._addImageOpts={scrolling:!0,layer:"top",zIndex:0,cursorPos:"vt340"}}addImage(e){this._addImageOpts.scrolling=this._opts.sixelScrolling,this._storage.addImage(e,this._addImageOpts)}advanceCursor(e){if(this._opts.sixelScrolling){let t=this._renderer.cellSize;(t.width===-1||t.height===-1)&&(t=Ja);let r=Math.ceil(e/t.height);for(let s=1;s<r;++s)this._terminal._core._inputHandler.lineFeed()}}},dT=class{constructor(e){this._storage=e,this._addImageOpts={scrolling:!0,layer:"top",zIndex:0,cursorPos:"iip"}}addImage(e){this._storage.addImage(e,this._addImageOpts)}},Om={enableSizeReports:!0,pixelLimit:16777216,sixelSupport:!0,sixelScrolling:!0,sixelPaletteLimit:4096,sixelSizeLimit:33554432,storageLimit:128,showPlaceholder:!0,iipSupport:!0,iipSizeLimit:33554432,kittySupport:!0,kittySizeLimit:33554432},Fm=4096,hT=class{constructor(t){this._disposables=[],this._handlers=new Map,this._onImageAdded=new VA,this.onImageAdded=this._onImageAdded.event,this._opts=Object.assign({},Om,t),this._defaultOpts=Object.assign({},Om,t)}dispose(){for(let t of this._disposables)t.dispose();this._disposables.length=0,this._handlers.clear(),this._onImageAdded.dispose()}_disposeLater(...t){for(let r of t)this._disposables.push(r)}activate(t){if(this._terminal=t,this._renderer=new F0(t),this._storage=new ZA(t,this._renderer,this._opts),this._storage.onImageAdded=()=>this._onImageAdded.fire(),this._opts.enableSizeReports){let r=t.options.windowOptions??{};r.getWinSizePixels=!0,r.getCellSizePixels=!0,r.getWinSizeChars=!0,t.options.windowOptions=r}if(this._disposeLater(this._renderer,this._storage,t.parser.registerCsiHandler({prefix:"?",final:"h"},r=>this._decset(r)),t.parser.registerCsiHandler({prefix:"?",final:"l"},r=>this._decrst(r)),t.parser.registerCsiHandler({final:"c"},r=>this._da1(r)),t.parser.registerCsiHandler({prefix:"?",final:"S"},r=>this._xtermGraphicsAttributes(r)),t.onRender(r=>this._storage?.render(r)),t.parser.registerCsiHandler({intermediates:"!",final:"p"},()=>this.reset()),t.parser.registerEscHandler({final:"c"},()=>this.reset()),t._core._inputHandler.onRequestReset(()=>this.reset()),t.buffer.onBufferChange(()=>this._storage?.wipeAlternate()),t.onResize(r=>this._storage?.viewportResize(r))),this._opts.sixelSupport){let r=new uT(this._storage,this._opts,this._renderer,t),s=new lT(this._opts,r,t);this._handlers.set("sixel",s),this._disposeLater(t._core._inputHandler._parser.registerDcsHandler({final:"q"},s))}if(this._opts.iipSupport){let r=new dT(this._storage),s=new rT(this._opts,this._renderer,r,t);this._handlers.set("iip",s),this._disposeLater(t._core._inputHandler._parser.registerOscHandler(1337,s))}if(this._opts.kittySupport){let r=new iT(this._storage),s=new sT(this._opts,this._renderer,r,t);this._handlers.set("kitty",s),this._disposeLater(r,s,t._core._inputHandler._parser.registerApcHandler({final:"G"},s))}}reset(){this._opts.sixelScrolling=this._defaultOpts.sixelScrolling,this._opts.sixelPaletteLimit=this._defaultOpts.sixelPaletteLimit,this._storage?.reset();for(let t of this._handlers.values())t.reset();return!1}get storageLimit(){return this._storage?.getLimit()||-1}set storageLimit(t){this._storage?.setLimit(t),this._opts.storageLimit=t}get storageUsage(){return this._storage?this._storage.getUsage():-1}get showPlaceholder(){return this._opts.showPlaceholder}set showPlaceholder(t){this._opts.showPlaceholder=t,this._renderer?.showPlaceholder(t)}getImageAtBufferCell(t,r){return this._storage?.getImageAtBufferCell(t,r)}extractTileAtBufferCell(t,r){return this._storage?.extractTileAtBufferCell(t,r)}_report(t){this._terminal?._core.input(t,!1)}_decset(t){for(let r=0;r<t.length;++r)t[r]===80&&(this._opts.sixelScrolling=!1);return!1}_decrst(t){for(let r=0;r<t.length;++r)t[r]===80&&(this._opts.sixelScrolling=!0);return!1}_da1(t){return t[0]?!0:this._opts.sixelSupport?(this._report("\x1B[?62;4;9;22c"),!0):!1}_xtermGraphicsAttributes(t){if(t.length<2)return!0;if(t[0]===1)switch(t[1]){case 1:return this._report(`\x1B[?${t[0]};0;${this._opts.sixelPaletteLimit}S`),!0;case 2:this._opts.sixelPaletteLimit=this._defaultOpts.sixelPaletteLimit,this._report(`\x1B[?${t[0]};0;${this._opts.sixelPaletteLimit}S`);for(let r of this._handlers.values())r.reset();return!0;case 3:return t.length>2&&!(t[2]instanceof Array)&&t[2]<=Fm?(this._opts.sixelPaletteLimit=t[2],this._report(`\x1B[?${t[0]};0;${this._opts.sixelPaletteLimit}S`)):this._report(`\x1B[?${t[0]};2S`),!0;case 4:return this._report(`\x1B[?${t[0]};0;${Fm}S`),!0;default:return this._report(`\x1B[?${t[0]};2S`),!0}if(t[0]===2)switch(t[1]){case 1:let r=this._renderer?.dimensions?.css.canvas.width,s=this._renderer?.dimensions?.css.canvas.height;if(!r||!s){let u=Ja;r=(this._terminal?.cols||80)*u.width,s=(this._terminal?.rows||24)*u.height}if(r*s<this._opts.pixelLimit)this._report(`\x1B[?${t[0]};0;${r.toFixed(0)};${s.toFixed(0)}S`);else{let u=Math.floor(Math.sqrt(this._opts.pixelLimit));this._report(`\x1B[?${t[0]};0;${u};${u}S`)}return!0;case 4:let i=Math.floor(Math.sqrt(this._opts.pixelLimit));return this._report(`\x1B[?${t[0]};0;${i};${i}S`),!0;default:return this._report(`\x1B[?${t[0]};2S`),!0}return this._report(`\x1B[?${t[0]};1S`),!0}};const f0=new Map;function L0(e){return{name:e,get hasSubscribers(){return(f0.get(e)?.size??0)>0},publish(t){const r=f0.get(e);if(r)for(const s of r)s(t,e)},subscribe(t){const r=f0.get(e)??new Set;r.add(t),f0.set(e,r)},unsubscribe(t){const r=f0.get(e);if(!r)return!1;const s=r.delete(t);return r.size===0&&f0.delete(e),s}}}function fT(e){const t={start:`${e}:start`,end:`${e}:end`,asyncStart:`${e}:asyncStart`,asyncEnd:`${e}:asyncEnd`,error:`${e}:error`},r={start:L0(t.start),end:L0(t.end),asyncStart:L0(t.asyncStart),asyncEnd:L0(t.asyncEnd),error:L0(t.error),traceSync(s,i,u,...l){r.start.publish(i);try{const h=s.apply(u,l);return r.end.publish(i),h}catch(h){throw r.error.publish(h),h}},async tracePromise(s,i,u,...l){r.asyncStart.publish(i);try{const h=await s.apply(u,l);return r.asyncEnd.publish(i),h}catch(h){throw r.error.publish(h),h}},traceCallback(s,i,u,l,...h){r.start.publish(u);try{const p=s.apply(l,h);return r.end.publish(u),p}catch(p){throw r.error.publish(p),p}}};return r}var pT=Object.create,kp=Object.defineProperty,mT=Object.getOwnPropertyDescriptor,gT=Object.getOwnPropertyNames,xT=Object.getPrototypeOf,bT=Object.prototype.hasOwnProperty,L3=e=>{throw TypeError(e)},yT=(e,t,r)=>t in e?kp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,vT=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(r){throw t=0,r}},wT=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of gT(t))!bT.call(e,i)&&i!==r&&kp(e,i,{get:()=>t[i],enumerable:!(s=mT(t,i))||s.enumerable});return e},AT=(e,t,r)=>(r=e!=null?pT(xT(e)):{},wT(!e||!e.__esModule?kp(r,"default",{value:e,enumerable:!0}):r,e)),Us=(e,t,r)=>yT(e,typeof t!="symbol"?t+"":t,r),Ep=(e,t,r)=>t.has(e)||L3("Cannot "+r),G=(e,t,r)=>(Ep(e,t,"read from private field"),r?r.call(e):t.get(e)),Ur=(e,t,r)=>t.has(e)?L3("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),er=(e,t,r,s)=>(Ep(e,t,"write to private field"),t.set(e,r),r),St=(e,t,r)=>(Ep(e,t,"access private method"),r),Nh=(e,t,r,s)=>({set _(i){er(e,t,i)},get _(){return G(e,t,s)}}),TT=vT((e,t)=>{var r=(()=>{var s=Object.defineProperty,i=Object.getOwnPropertyDescriptor,u=Object.getOwnPropertyNames,l=Object.prototype.hasOwnProperty,h=(n,o)=>{for(var a in o)s(n,a,{get:o[a],enumerable:!0})},p=(n,o,a,d)=>{if(o&&typeof o=="object"||typeof o=="function")for(let f of u(o))!l.call(n,f)&&f!==a&&s(n,f,{get:()=>o[f],enumerable:!(d=i(o,f))||d.enumerable});return n},g=n=>p(s({},"__esModule",{value:!0}),n),x={};h(x,{BoundingBox:()=>qe,Font:()=>Q1,Glyph:()=>zr,Path:()=>rt,_parse:()=>lt,load:()=>$y,loadSync:()=>zy,parse:()=>Uy});var b=0,v=-3;function A(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function k(n,o){this.source=n,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=o,this.destLen=0,this.ltree=new A,this.dtree=new A}var I=new A,R=new A,M=new Uint8Array(30),B=new Uint16Array(30),F=new Uint8Array(30),W=new Uint16Array(30),O=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),q=new A,ee=new Uint8Array(320);function de(n,o,a,d){var f,m;for(f=0;f<a;++f)n[f]=0;for(f=0;f<30-a;++f)n[f+a]=f/a|0;for(m=d,f=0;f<30;++f)o[f]=m,m+=1<<n[f]}function Ae(n,o){var a;for(a=0;a<7;++a)n.table[a]=0;for(n.table[7]=24,n.table[8]=152,n.table[9]=112,a=0;a<24;++a)n.trans[a]=256+a;for(a=0;a<144;++a)n.trans[24+a]=a;for(a=0;a<8;++a)n.trans[168+a]=280+a;for(a=0;a<112;++a)n.trans[176+a]=144+a;for(a=0;a<5;++a)o.table[a]=0;for(o.table[5]=32,a=0;a<32;++a)o.trans[a]=a}var Le=new Uint16Array(16);function ve(n,o,a,d){var f,m;for(f=0;f<16;++f)n.table[f]=0;for(f=0;f<d;++f)n.table[o[a+f]]++;for(n.table[0]=0,m=0,f=0;f<16;++f)Le[f]=m,m+=n.table[f];for(f=0;f<d;++f)o[a+f]&&(n.trans[Le[o[a+f]]++]=f)}function Ye(n){n.bitcount--||(n.tag=n.source[n.sourceIndex++],n.bitcount=7);var o=n.tag&1;return n.tag>>>=1,o}function Te(n,o,a){if(!o)return a;for(;n.bitcount<24;)n.tag|=n.source[n.sourceIndex++]<<n.bitcount,n.bitcount+=8;var d=n.tag&65535>>>16-o;return n.tag>>>=o,n.bitcount-=o,d+a}function fe(n,o){for(;n.bitcount<24;)n.tag|=n.source[n.sourceIndex++]<<n.bitcount,n.bitcount+=8;var a=0,d=0,f=0,m=n.tag;do d=2*d+(m&1),m>>>=1,++f,a+=o.table[f],d-=o.table[f];while(d>=0);return n.tag=m,n.bitcount-=f,o.trans[a+d]}function je(n,o,a){var d,f,m,y,w,T;for(d=Te(n,5,257),f=Te(n,5,1),m=Te(n,4,4),y=0;y<19;++y)ee[y]=0;for(y=0;y<m;++y){var N=Te(n,3,0);ee[O[y]]=N}for(ve(q,ee,0,19),w=0;w<d+f;){var E=fe(n,q);switch(E){case 16:var z=ee[w-1];for(T=Te(n,2,3);T;--T)ee[w++]=z;break;case 17:for(T=Te(n,3,3);T;--T)ee[w++]=0;break;case 18:for(T=Te(n,7,11);T;--T)ee[w++]=0;break;default:ee[w++]=E;break}}ve(o,ee,0,d),ve(a,ee,d,f)}function be(n,o,a){for(;;){var d=fe(n,o);if(d===256)return b;if(d<256)n.dest[n.destLen++]=d;else{var f,m,y,w;for(d-=257,f=Te(n,M[d],B[d]),m=fe(n,a),y=n.destLen-Te(n,F[m],W[m]),w=y;w<y+f;++w)n.dest[n.destLen++]=n.dest[w]}}}function ie(n){for(var o,a,d;n.bitcount>8;)n.sourceIndex--,n.bitcount-=8;if(o=n.source[n.sourceIndex+1],o=256*o+n.source[n.sourceIndex],a=n.source[n.sourceIndex+3],a=256*a+n.source[n.sourceIndex+2],o!==(~a&65535))return v;for(n.sourceIndex+=4,d=o;d;--d)n.dest[n.destLen++]=n.source[n.sourceIndex++];return n.bitcount=0,b}function oe(n,o){var a=new k(n,o),d,f,m;do{switch(d=Ye(a),f=Te(a,2,0),f){case 0:m=ie(a);break;case 1:m=be(a,I,R);break;case 2:je(a,a.ltree,a.dtree),m=be(a,a.ltree,a.dtree);break;default:m=v}if(m!==b)throw new Error("Data error")}while(!d);return a.destLen<a.dest.length?typeof a.dest.slice=="function"?a.dest.slice(0,a.destLen):a.dest.subarray(0,a.destLen):a.dest}Ae(I,R),de(M,B,4,3),de(F,W,2,1),M[28]=0,B[28]=258;function Ie(n,o,a,d,f){return Math.pow(1-f,3)*n+3*Math.pow(1-f,2)*f*o+3*(1-f)*Math.pow(f,2)*a+Math.pow(f,3)*d}function ke(){this.x1=Number.NaN,this.y1=Number.NaN,this.x2=Number.NaN,this.y2=Number.NaN}ke.prototype.isEmpty=function(){return isNaN(this.x1)||isNaN(this.y1)||isNaN(this.x2)||isNaN(this.y2)},ke.prototype.addPoint=function(n,o){typeof n=="number"&&((isNaN(this.x1)||isNaN(this.x2))&&(this.x1=n,this.x2=n),n<this.x1&&(this.x1=n),n>this.x2&&(this.x2=n)),typeof o=="number"&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=o,this.y2=o),o<this.y1&&(this.y1=o),o>this.y2&&(this.y2=o))},ke.prototype.addX=function(n){this.addPoint(n,null)},ke.prototype.addY=function(n){this.addPoint(null,n)},ke.prototype.addBezier=function(n,o,a,d,f,m,y,w){let T=[n,o],N=[a,d],E=[f,m],z=[y,w];this.addPoint(n,o),this.addPoint(y,w);for(let $=0;$<=1;$++){let ne=6*T[$]-12*N[$]+6*E[$],Y=-3*T[$]+9*N[$]-9*E[$]+3*z[$],le=3*N[$]-3*T[$];if(Y===0){if(ne===0)continue;let nr=-le/ne;0<nr&&nr<1&&($===0&&this.addX(Ie(T[$],N[$],E[$],z[$],nr)),$===1&&this.addY(Ie(T[$],N[$],E[$],z[$],nr)));continue}let Pe=Math.pow(ne,2)-4*le*Y;if(Pe<0)continue;let Ht=(-ne+Math.sqrt(Pe))/(2*Y);0<Ht&&Ht<1&&($===0&&this.addX(Ie(T[$],N[$],E[$],z[$],Ht)),$===1&&this.addY(Ie(T[$],N[$],E[$],z[$],Ht)));let Pt=(-ne-Math.sqrt(Pe))/(2*Y);0<Pt&&Pt<1&&($===0&&this.addX(Ie(T[$],N[$],E[$],z[$],Pt)),$===1&&this.addY(Ie(T[$],N[$],E[$],z[$],Pt)))}},ke.prototype.addQuad=function(n,o,a,d,f,m){let y=n+.6666666666666666*(a-n),w=o+2/3*(d-o),T=y+1/3*(f-n),N=w+1/3*(m-o);this.addBezier(n,o,y,w,T,N,f,m)};var qe=ke;function se(){this.commands=[],this.fill="black",this.stroke=null,this.strokeWidth=1}var Se={};function Lt(n,o){let a=Math.floor(n),d=n-a;if(Se[o]||(Se[o]={}),Se[o][d]!==void 0){let m=Se[o][d];return a+m}let f=+(Math.round(d+"e+"+o)+"e-"+o);return Se[o][d]=f,a+f}function Dt(n){let o=[[]],a=0,d=0;for(let f=0;f<n.length;f+=1){let m=o[o.length-1],y=n[f],w=m[0],T=m[1],N=m[m.length-1],E=n[f+1];m.push(y),y.type==="M"?(a=y.x,d=y.y):y.type==="L"&&(!E||E.type==="Z")?Math.abs(y.x-a)>1||Math.abs(y.y-d)>1||m.pop():y.type==="L"&&N&&N.x===y.x&&N.y===y.y?m.pop():y.type==="Z"&&(w&&T&&N&&w.type==="M"&&T.type==="L"&&N.type==="L"&&N.x===w.x&&N.y===w.y&&(m.shift(),m[0].type="M"),f+1<n.length&&o.push([]))}return n=[].concat.apply([],o),n}function Ue(n){return Object.assign({},{decimalPlaces:2,optimize:!0,flipY:!0,flipYBase:void 0,scale:1,x:0,y:0},n)}function Z(n){return parseInt(n)===n&&(n={decimalPlaces:n,flipY:!1}),Object.assign({},{decimalPlaces:2,optimize:!0,flipY:!0,flipYBase:void 0},n)}se.prototype.fromSVG=function(n,o={}){typeof SVGPathElement<"u"&&n instanceof SVGPathElement&&(n=n.getAttribute("d")),o=Ue(o),this.commands=[];let a="0123456789",d="MmLlQqCcZzHhVv",f="SsTtAa",m="-+",y={},w=[""],T=!1;function N(Y){return Y.filter(le=>le.length).map(le=>{let Pe=parseFloat(le);return(o.decimalPlaces||o.decimalPlaces===0)&&(Pe=Lt(Pe,o.decimalPlaces)),Pe})}function E(Y){if(!this.commands.length)return Y;let le=this.commands[this.commands.length-1];for(let Pe=0;Pe<Y.length;Pe++)Y[Pe]+=le[Pe&1?"y":"x"];return Y}function z(){if(y.type===void 0)return;let Y=y.type.toUpperCase(),le=Y!=="Z"&&y.type.toUpperCase()!==y.type,Pe=N(w);if(w=[""],!Pe.length&&Y!=="Z")return;le&&Y!=="H"&&Y!=="V"&&(Pe=E.apply(this,[Pe]));let Ht=this.commands.length&&this.commands[this.commands.length-1].x||0,Pt=this.commands.length&&this.commands[this.commands.length-1].y||0;switch(Y){case"M":this.moveTo(...Pe);break;case"L":this.lineTo(...Pe);break;case"V":for(let nr=0;nr<Pe.length;nr++){let Cr=0;le&&(Cr=this.commands.length&&this.commands[this.commands.length-1].y||0),this.lineTo(Ht,Pe[nr]+Cr)}break;case"H":for(let nr=0;nr<Pe.length;nr++){let Cr=0;le&&(Cr=this.commands.length&&this.commands[this.commands.length-1].x||0),this.lineTo(Pe[nr]+Cr,Pt)}break;case"C":this.bezierCurveTo(...Pe);break;case"Q":this.quadraticCurveTo(...Pe);break;case"Z":(this.commands.length<1||this.commands[this.commands.length-1].type!=="Z")&&this.close();break}if(this.commands.length)for(let nr in this.commands[this.commands.length-1])this.commands[this.commands.length-1][nr]===void 0&&(this.commands[this.commands.length-1][nr]=0)}for(let Y=0;Y<n.length;Y++){let le=n.charAt(Y),Pe=w[w.length-1];if(a.indexOf(le)>-1)w[w.length-1]+=le;else if(m.indexOf(le)>-1)if(!y.type&&!this.commands.length&&(y.type="L"),le==="-")!y.type||Pe.indexOf("-")>0?T=!0:Pe.length?w.push("-"):w[w.length-1]=le;else if(!y.type||Pe.length>0)T=!0;else continue;else if(d.indexOf(le)>-1)y.type?(z.apply(this),y={type:le}):y.type=le;else{if(f.indexOf(le)>-1)throw new Error("Unsupported path command: "+le+". Currently supported commands are "+d.split("").join(", ")+".");` ,
62
+ \r\f\v`.indexOf(le)>-1?w.push(""):le==="."?!y.type||Pe.indexOf(le)>-1?T=!0:w[w.length-1]+=le:T=!0}if(T)throw new Error("Unexpected character: "+le+" at offset "+Y)}z.apply(this),o.optimize&&(this.commands=Dt(this.commands));let $=o.flipY,ne=o.flipYBase;if($===!0&&o.flipYBase===void 0){let Y=this.getBoundingBox();ne=Y.y1+Y.y2}for(let Y in this.commands){let le=this.commands[Y];for(let Pe in le)["x","x1","x2"].includes(Pe)?this.commands[Y][Pe]=o.x+le[Pe]*o.scale:["y","y1","y2"].includes(Pe)&&(this.commands[Y][Pe]=o.y+($?ne-le[Pe]:le[Pe])*o.scale)}return this},se.fromSVG=function(n,o){return new se().fromSVG(n,o)},se.prototype.moveTo=function(n,o){this.commands.push({type:"M",x:n,y:o})},se.prototype.lineTo=function(n,o){this.commands.push({type:"L",x:n,y:o})},se.prototype.curveTo=se.prototype.bezierCurveTo=function(n,o,a,d,f,m){this.commands.push({type:"C",x1:n,y1:o,x2:a,y2:d,x:f,y:m})},se.prototype.quadTo=se.prototype.quadraticCurveTo=function(n,o,a,d){this.commands.push({type:"Q",x1:n,y1:o,x:a,y:d})},se.prototype.close=se.prototype.closePath=function(){this.commands.push({type:"Z"})},se.prototype.extend=function(n){if(n.commands)n=n.commands;else if(n instanceof qe){let o=n;this.moveTo(o.x1,o.y1),this.lineTo(o.x2,o.y1),this.lineTo(o.x2,o.y2),this.lineTo(o.x1,o.y2),this.close();return}Array.prototype.push.apply(this.commands,n)},se.prototype.getBoundingBox=function(){let n=new qe,o=0,a=0,d=0,f=0;for(let m=0;m<this.commands.length;m++){let y=this.commands[m];switch(y.type){case"M":n.addPoint(y.x,y.y),o=d=y.x,a=f=y.y;break;case"L":n.addPoint(y.x,y.y),d=y.x,f=y.y;break;case"Q":n.addQuad(d,f,y.x1,y.y1,y.x,y.y),d=y.x,f=y.y;break;case"C":n.addBezier(d,f,y.x1,y.y1,y.x2,y.y2,y.x,y.y),d=y.x,f=y.y;break;case"Z":d=o,f=a;break;default:throw new Error("Unexpected path command "+y.type)}}return n.isEmpty()&&n.addPoint(0,0),n},se.prototype.draw=function(n){let o=this._layers;if(o&&o.length){for(let d=0;d<o.length;d++)this.draw.call(o[d],n);return}let a=this._image;if(a){n.drawImage(a.image,a.x,a.y,a.width,a.height);return}n.beginPath();for(let d=0;d<this.commands.length;d+=1){let f=this.commands[d];f.type==="M"?n.moveTo(f.x,f.y):f.type==="L"?n.lineTo(f.x,f.y):f.type==="C"?n.bezierCurveTo(f.x1,f.y1,f.x2,f.y2,f.x,f.y):f.type==="Q"?n.quadraticCurveTo(f.x1,f.y1,f.x,f.y):f.type==="Z"&&this.stroke&&this.strokeWidth&&n.closePath()}this.fill&&(n.fillStyle=this.fill,n.fill()),this.stroke&&(n.strokeStyle=this.stroke,n.lineWidth=this.strokeWidth,n.stroke())},se.prototype.toPathData=function(n){n=Z(n);function o(w){let T=Lt(w,n.decimalPlaces);return Math.round(w)===T?""+T:T.toFixed(n.decimalPlaces)}function a(){let w="";for(let T=0;T<arguments.length;T+=1){let N=arguments[T];N>=0&&T>0&&(w+=" "),w+=o(N)}return w}let d=this.commands;n.optimize&&(d=JSON.parse(JSON.stringify(this.commands)),d=Dt(d));let f=n.flipY,m=n.flipYBase;if(f===!0&&m===void 0){let w=new se;w.extend(d);let T=w.getBoundingBox();m=T.y1+T.y2}let y="";for(let w=0;w<d.length;w+=1){let T=d[w];T.type==="M"?y+="M"+a(T.x,f?m-T.y:T.y):T.type==="L"?y+="L"+a(T.x,f?m-T.y:T.y):T.type==="C"?y+="C"+a(T.x1,f?m-T.y1:T.y1,T.x2,f?m-T.y2:T.y2,T.x,f?m-T.y:T.y):T.type==="Q"?y+="Q"+a(T.x1,f?m-T.y1:T.y1,T.x,f?m-T.y:T.y):T.type==="Z"&&(y+="Z")}return y},se.prototype.toSVG=function(n,o){this._layers&&this._layers.length&&console.warn("toSVG() does not support colr font layers yet"),this._image&&console.warn("toSVG() does not support SVG glyphs yet"),o||(o=this.toPathData(n));let a='<path d="';return a+=o,a+='"',this.fill!==void 0&&this.fill!=="black"&&(this.fill===null?a+=' fill="none"':a+=' fill="'+this.fill+'"'),this.stroke&&(a+=' stroke="'+this.stroke+'" stroke-width="'+this.strokeWidth+'"'),a+="/>",a},se.prototype.toDOMElement=function(n,o){this._layers&&this._layers.length&&console.warn("toDOMElement() does not support colr font layers yet"),o||(o=this.toPathData(n));let a=document.createElementNS("http://www.w3.org/2000/svg","path");return a.setAttribute("d",o),this.fill!==void 0&&this.fill!=="black"&&(this.fill===null?a.setAttribute("fill","none"):a.setAttribute("fill",this.fill)),this.stroke&&(a.setAttribute("stroke",this.stroke),a.setAttribute("stroke-width",this.strokeWidth)),a};var rt=se;function gt(n){throw new Error(n)}function J(n,o){n||gt(o)}var K={fail:gt,argument:J,assert:J},Fe=32768,Je=2147483648,vt=-32768,xt=32767+1/65536,Ct={},he={},xe={};function De(n){return function(){return n}}he.BYTE=function(n){return K.argument(n>=0&&n<=255,"Byte value should be between 0 and 255."),[n]},xe.BYTE=De(1),he.CHAR=function(n){return[n.charCodeAt(0)]},xe.CHAR=De(1),he.CHARARRAY=function(n){(n===null||typeof n>"u")&&(n="",console.warn("CHARARRAY with undefined or null value encountered and treated as an empty string. This is probably caused by a missing glyph name."));let o=[];for(let a=0;a<n.length;a+=1)o[a]=n.charCodeAt(a);return o},xe.CHARARRAY=function(n){return typeof n>"u"?0:n.length},he.USHORT=function(n){return[n>>8&255,n&255]},xe.USHORT=De(2),he.SHORT=function(n){return n>=Fe&&(n=-(2*Fe-n)),[n>>8&255,n&255]},xe.SHORT=De(2),he.UINT24=function(n){return[n>>16&255,n>>8&255,n&255]},xe.UINT24=De(3),he.ULONG=function(n){return[n>>24&255,n>>16&255,n>>8&255,n&255]},xe.ULONG=De(4),he.LONG=function(n){return n>=Je&&(n=-(2*Je-n)),[n>>24&255,n>>16&255,n>>8&255,n&255]},xe.LONG=De(4),he.FLOAT=function(n){if(n>xt||n<vt)throw new Error(`Value ${n} is outside the range of representable values in 16.16 format`);let o=Math.round(n*65536)<<0;return he.ULONG(o)},xe.FLOAT=xe.ULONG,he.FIXED=he.ULONG,xe.FIXED=xe.ULONG,he.FWORD=he.SHORT,xe.FWORD=xe.SHORT,he.UFWORD=he.USHORT,xe.UFWORD=xe.USHORT,he.F2DOT14=function(n){return he.USHORT(n*16384)},xe.F2DOT14=xe.USHORT,he.LONGDATETIME=function(n){return[0,0,0,0,n>>24&255,n>>16&255,n>>8&255,n&255]},xe.LONGDATETIME=De(8),he.TAG=function(n){return K.argument(n.length===4,"Tag should be exactly 4 ASCII characters."),[n.charCodeAt(0),n.charCodeAt(1),n.charCodeAt(2),n.charCodeAt(3)]},xe.TAG=De(4),he.Card8=he.BYTE,xe.Card8=xe.BYTE,he.Card16=he.USHORT,xe.Card16=xe.USHORT,he.OffSize=he.BYTE,xe.OffSize=xe.BYTE,he.SID=he.USHORT,xe.SID=xe.USHORT,he.NUMBER=function(n){return n>=-107&&n<=107?[n+139]:n>=108&&n<=1131?(n=n-108,[(n>>8)+247,n&255]):n>=-1131&&n<=-108?(n=-n-108,[(n>>8)+251,n&255]):n>=-32768&&n<=32767?he.NUMBER16(n):he.NUMBER32(n)},xe.NUMBER=function(n){return he.NUMBER(n).length},he.NUMBER16=function(n){return[28,n>>8&255,n&255]},xe.NUMBER16=De(3),he.NUMBER32=function(n){return[29,n>>24&255,n>>16&255,n>>8&255,n&255]},xe.NUMBER32=De(5),he.REAL=function(n){let o=n.toString(),a=/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/.exec(o);if(a){let m=parseFloat("1e"+((a[2]?+a[2]:0)+a[1].length));o=(Math.round(n*m)/m).toString()}let d="";for(let m=0,y=o.length;m<y;m+=1){let w=o[m];w==="e"?d+=o[++m]==="-"?"c":"b":w==="."?d+="a":w==="-"?d+="e":d+=w}d+=d.length&1?"f":"ff";let f=[30];for(let m=0,y=d.length;m<y;m+=2)f.push(parseInt(d.substr(m,2),16));return f},xe.REAL=function(n){return he.REAL(n).length},he.NAME=he.CHARARRAY,xe.NAME=xe.CHARARRAY,he.STRING=he.CHARARRAY,xe.STRING=xe.CHARARRAY,Ct.UTF8=function(n,o,a){let d=[],f=a;for(let m=0;m<f;m++,o+=1)d[m]=n.getUint8(o);return String.fromCharCode.apply(null,d)},Ct.UTF16=function(n,o,a){let d=[],f=a/2;for(let m=0;m<f;m++,o+=2)d[m]=n.getUint16(o);return String.fromCharCode.apply(null,d)},he.UTF16=function(n){let o=[];for(let a=0;a<n.length;a+=1){let d=n.charCodeAt(a);o[o.length]=d>>8&255,o[o.length]=d&255}return o},xe.UTF16=function(n){return n.length*2};var At={"x-mac-croatian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø¿¡¬√ƒ≈ƫȅ ÀÃÕŒœĐ—“”‘’÷◊©⁄€‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ","x-mac-cyrillic":"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°Ґ£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµґЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю","x-mac-gaelic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØḂ±≤≥ḃĊċḊḋḞḟĠġṀæøṁṖṗɼƒſṠ«»… ÀÃÕŒœ–—“”‘’ṡẛÿŸṪ€‹›Ŷŷṫ·Ỳỳ⁊ÂÊÁËÈÍÎÏÌÓÔ♣ÒÚÛÙıÝýŴŵẄẅẀẁẂẃ","x-mac-greek":"Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦€ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ­","x-mac-icelandic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüݰ¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-inuit":"ᐃᐄᐅᐆᐊᐋᐱᐲᐳᐴᐸᐹᑉᑎᑏᑐᑑᑕᑖᑦᑭᑮᑯᑰᑲᑳᒃᒋᒌᒍᒎᒐᒑ°ᒡᒥᒦ•¶ᒧ®©™ᒨᒪᒫᒻᓂᓃᓄᓅᓇᓈᓐᓯᓰᓱᓲᓴᓵᔅᓕᓖᓗᓘᓚᓛᓪᔨᔩᔪᔫᔭ… ᔮᔾᕕᕖᕗ–—“”‘’ᕘᕙᕚᕝᕆᕇᕈᕉᕋᕌᕐᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᙱᙲᙳᙴᙵᙶᖖᖠᖡᖢᖣᖤᖥᖦᕼŁł","x-mac-ce":"ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ",macintosh:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-romanian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂȘ∞±≤≥¥µ∂∑∏π∫ªºΩăș¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›Țț‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-turkish":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙˆ˜¯˘˙˚¸˝˛ˇ"};Ct.MACSTRING=function(n,o,a,d){let f=At[d];if(f===void 0)return;let m="";for(let y=0;y<a;y++){let w=n.getUint8(o+y);w<=127?m+=String.fromCharCode(w):m+=f[w&127]}return m};var Ke=typeof WeakMap=="function"&&new WeakMap,at,kt=function(n){if(!at){at={};for(let f in At)at[f]=new String(f)}let o=at[n];if(o===void 0)return;if(Ke){let f=Ke.get(o);if(f!==void 0)return f}let a=At[n];if(a===void 0)return;let d={};for(let f=0;f<a.length;f++)d[a.charCodeAt(f)]=f+128;return Ke&&Ke.set(o,d),d};he.MACSTRING=function(n,o){let a=kt(o);if(a===void 0)return;let d=[];for(let f=0;f<n.length;f++){let m=n.charCodeAt(f);if(m>=128&&(m=a[m],m===void 0))return;d[f]=m}return d},xe.MACSTRING=function(n,o){let a=he.MACSTRING(n,o);return a!==void 0?a.length:0};function tr(n){return n>=-128&&n<=127}function pr(n,o,a){let d=0,f=n.length;for(;o<f&&d<64&&n[o]===0;)++o,++d;return a.push(128|d-1),o}function nt(n,o,a){let d=0,f=n.length,m=o;for(;m<f&&d<64;){let y=n[m];if(!tr(y)||y===0&&m+1<f&&n[m+1]===0)break;++m,++d}a.push(d-1);for(let y=o;y<m;++y)a.push(n[y]+256&255);return m}function ft(n,o,a){let d=0,f=n.length,m=o;for(;m<f&&d<64;){let y=n[m];if(y===0||tr(y)&&m+1<f&&tr(n[m+1]))break;++m,++d}a.push(64|d-1);for(let y=o;y<m;++y){let w=n[y];a.push(w+65536>>8&255,w+256&255)}return m}he.VARDELTAS=function(n){let o=0,a=[];for(;o<n.length;){let d=n[o];d===0?o=pr(n,o,a):d>=-128&&d<=127?o=nt(n,o,a):o=ft(n,o,a)}return a},he.INDEX=function(n){let o=1,a=[o],d=[];for(let w=0;w<n.length;w+=1){let T=he.OBJECT(n[w]);Array.prototype.push.apply(d,T),o+=T.length,a.push(o)}if(d.length===0)return[0,0];let f=[],m=1+Math.floor(Math.log(o)/Math.log(2))/8|0,y=[void 0,he.BYTE,he.USHORT,he.UINT24,he.ULONG][m];for(let w=0;w<a.length;w+=1){let T=y(a[w]);Array.prototype.push.apply(f,T)}return Array.prototype.concat(he.Card16(n.length),he.OffSize(m),f,d)},xe.INDEX=function(n){return he.INDEX(n).length},he.DICT=function(n){let o=[],a=Object.keys(n),d=a.length;for(let f=0;f<d;f+=1){let m=parseInt(a[f],0),y=n[m],w=he.OPERAND(y.value,y.type),T=he.OPERATOR(m);for(let N=0;N<w.length;N++)o.push(w[N]);for(let N=0;N<T.length;N++)o.push(T[N])}return o},xe.DICT=function(n){return he.DICT(n).length},he.OPERATOR=function(n){return n<1200?[n]:[12,n-1200]},he.OPERAND=function(n,o){let a=[];if(Array.isArray(o))for(let d=0;d<o.length;d+=1){K.argument(n.length===o.length,"Not enough arguments given for type"+o);let f=he.OPERAND(n[d],o[d]);for(let m=0;m<f.length;m++)a.push(f[m])}else if(o==="SID"){let d=he.NUMBER(n);for(let f=0;f<d.length;f++)a.push(d[f])}else if(o==="offset"){let d=he.NUMBER32(n);for(let f=0;f<d.length;f++)a.push(d[f])}else if(o==="number"){let d=he.NUMBER(n);for(let f=0;f<d.length;f++)a.push(d[f])}else if(o==="real"){let d=he.REAL(n);for(let f=0;f<d.length;f++)a.push(d[f])}else throw new Error("Unknown operand type "+o);return a},he.OP=he.BYTE,xe.OP=xe.BYTE;var _t=typeof WeakMap=="function"&&new WeakMap;he.CHARSTRING=function(n){if(_t){let d=_t.get(n);if(d!==void 0)return d}let o=[],a=n.length;for(let d=0;d<a;d+=1){let f=n[d],m=he[f.type](f.value);for(let y=0;y<m.length;y++)o.push(m[y])}return _t&&_t.set(n,o),o},xe.CHARSTRING=function(n){return he.CHARSTRING(n).length},he.OBJECT=function(n){let o=he[n.type];return K.argument(o!==void 0,"No encoding function for type "+n.type),o(n.value)},xe.OBJECT=function(n){let o=xe[n.type];return K.argument(o!==void 0,"No sizeOf function for type "+n.type),o(n.value)},he.TABLE=function(n){let o=[],a=(n.fields||[]).length,d=[],f=[];for(let m=0;m<a;m+=1){let y=n.fields[m],w=he[y.type];K.argument(w!==void 0,"No encoding function for field type "+y.type+" ("+y.name+")");let T=n[y.name];T===void 0&&(T=y.value);let N=w(T);if(y.type==="TABLE")T.fields!==null&&(f.push(o.length),d.push(N)),o.push(0,0);else for(let E=0;E<N.length;E++)o.push(N[E])}for(let m=0;m<d.length;m+=1){let y=f[m],w=o.length;K.argument(w<65536,"Table "+n.tableName+" too big."),o[y]=w>>8,o[y+1]=w&255;for(let T=0;T<d[m].length;T++)o.push(d[m][T])}return o},xe.TABLE=function(n){let o=0,a=(n.fields||[]).length;for(let d=0;d<a;d+=1){let f=n.fields[d],m=xe[f.type];K.argument(m!==void 0,"No sizeOf function for field type "+f.type+" ("+f.name+")");let y=n[f.name];y===void 0&&(y=f.value),o+=m(y),f.type==="TABLE"&&(o+=2)}return o},he.RECORD=he.TABLE,xe.RECORD=xe.TABLE,he.LITERAL=function(n){return n},xe.LITERAL=function(n){return n.length};function Tt(n,o,a){if(o&&o.length)for(let d=0;d<o.length;d+=1){let f=o[d];this[f.name]=f.value}if(this.tableName=n,this.fields=o,a){let d=Object.keys(a);for(let f=0;f<d.length;f+=1){let m=d[f],y=a[m];this[m]!==void 0&&(this[m]=y)}}}Tt.prototype.encode=function(){return he.TABLE(this)},Tt.prototype.sizeOf=function(){return xe.TABLE(this)};function Qt(n,o,a){a===void 0&&(a=o.length);let d=new Array(o.length+1);d[0]={name:n+"Count",type:"USHORT",value:a};for(let f=0;f<o.length;f++)d[f+1]={name:n+f,type:"USHORT",value:o[f]};return d}function j(n,o,a){let d=o.length,f=new Array(d+1);f[0]={name:n+"Count",type:"USHORT",value:d};for(let m=0;m<d;m++)f[m+1]={name:n+m,type:"TABLE",value:a(o[m],m)};return f}function pe(n,o,a){let d=o.length,f=[];f[0]={name:n+"Count",type:"USHORT",value:d};for(let m=0;m<d;m++)f=f.concat(a(o[m],m));return f}function Oe(n){n.format===1?Tt.call(this,"coverageTable",[{name:"coverageFormat",type:"USHORT",value:1}].concat(Qt("glyph",n.glyphs))):n.format===2?Tt.call(this,"coverageTable",[{name:"coverageFormat",type:"USHORT",value:2}].concat(pe("rangeRecord",n.ranges,function(o,a){return[{name:"startGlyphID"+a,type:"USHORT",value:o.start},{name:"endGlyphID"+a,type:"USHORT",value:o.end},{name:"startCoverageIndex"+a,type:"USHORT",value:o.index}]}))):K.assert(!1,"Coverage format must be 1 or 2.")}Oe.prototype=Object.create(Tt.prototype),Oe.prototype.constructor=Oe;function Et(n){Tt.call(this,"scriptListTable",pe("scriptRecord",n,function(o,a){let d=o.script,f=d.defaultLangSys;return K.assert(!!f,"Unable to write GSUB: script "+o.tag+" has no default language system."),[{name:"scriptTag"+a,type:"TAG",value:o.tag},{name:"script"+a,type:"TABLE",value:new Tt("scriptTable",[{name:"defaultLangSys",type:"TABLE",value:new Tt("defaultLangSys",[{name:"lookupOrder",type:"USHORT",value:0},{name:"reqFeatureIndex",type:"USHORT",value:f.reqFeatureIndex}].concat(Qt("featureIndex",f.featureIndexes)))}].concat(pe("langSys",d.langSysRecords,function(m,y){let w=m.langSys;return[{name:"langSysTag"+y,type:"TAG",value:m.tag},{name:"langSys"+y,type:"TABLE",value:new Tt("langSys",[{name:"lookupOrder",type:"USHORT",value:0},{name:"reqFeatureIndex",type:"USHORT",value:w.reqFeatureIndex}].concat(Qt("featureIndex",w.featureIndexes)))}]})))}]}))}Et.prototype=Object.create(Tt.prototype),Et.prototype.constructor=Et;function Qe(n){Tt.call(this,"featureListTable",pe("featureRecord",n,function(o,a){let d=o.feature;return[{name:"featureTag"+a,type:"TAG",value:o.tag},{name:"feature"+a,type:"TABLE",value:new Tt("featureTable",[{name:"featureParams",type:"USHORT",value:d.featureParams}].concat(Qt("lookupListIndex",d.lookupListIndexes)))}]}))}Qe.prototype=Object.create(Tt.prototype),Qe.prototype.constructor=Qe;function et(n,o){Tt.call(this,"lookupListTable",j("lookup",n,function(a){let d=o[a.lookupType];return K.assert(!!d,"Unable to write GSUB lookup type "+a.lookupType+" tables."),new Tt("lookupTable",[{name:"lookupType",type:"USHORT",value:a.lookupType},{name:"lookupFlag",type:"USHORT",value:a.lookupFlag}].concat(j("subtable",a.subtables,d)))}))}et.prototype=Object.create(Tt.prototype),et.prototype.constructor=et;function lr(n){n.format===1?Tt.call(this,"classDefTable",[{name:"classFormat",type:"USHORT",value:1},{name:"startGlyphID",type:"USHORT",value:n.startGlyph}].concat(Qt("glyph",n.classes))):n.format===2?Tt.call(this,"classDefTable",[{name:"classFormat",type:"USHORT",value:2}].concat(pe("rangeRecord",n.ranges,function(o,a){return[{name:"startGlyphID"+a,type:"USHORT",value:o.start},{name:"endGlyphID"+a,type:"USHORT",value:o.end},{name:"class"+a,type:"USHORT",value:o.classId}]}))):K.assert(!1,"Class format must be 1 or 2.")}lr.prototype=Object.create(Tt.prototype),lr.prototype.constructor=lr;var Ne={Table:Tt,Record:Tt,Coverage:Oe,ClassDef:lr,ScriptList:Et,FeatureList:Qe,LookupList:et,ushortList:Qt,tableList:j,recordList:pe};function cn(n,o){return n.getUint8(o)}function Qr(n,o){return n.getUint16(o,!1)}function Re(n,o){return n.getInt16(o,!1)}function Rr(n,o){return(n.getUint16(o)<<8)+n.getUint8(o+2)}function ut(n,o){return n.getUint32(o,!1)}function un(n,o){return n.getInt32(o,!1)}function Lr(n,o){let a=n.getInt16(o,!1),d=n.getUint16(o+2,!1);return a+d/65535}function wn(n,o){let a="";for(let d=o;d<o+4;d+=1)a+=String.fromCharCode(n.getInt8(d));return a}function mr(n,o,a){let d=0;for(let f=0;f<a;f+=1)d<<=8,d+=n.getUint8(o+f);return d}function Mr(n,o,a){let d=[];for(let f=o;f<a;f+=1)d.push(n.getUint8(f));return d}function Bn(n){let o="";for(let a=0;a<n.length;a+=1)o+=String.fromCharCode(n[a]);return o}var Ir={byte:1,uShort:2,f2dot14:2,short:2,uInt24:3,uLong:4,fixed:4,longDateTime:8,tag:4},Nr={LONG_WORDS:32768,WORD_DELTA_COUNT_MASK:32767,SHARED_POINT_NUMBERS:32768,COUNT_MASK:4095,EMBEDDED_PEAK_TUPLE:32768,INTERMEDIATE_REGION:16384,PRIVATE_POINT_NUMBERS:8192,TUPLE_INDEX_MASK:4095,POINTS_ARE_WORDS:128,POINT_RUN_COUNT_MASK:127,DELTAS_ARE_ZERO:128,DELTAS_ARE_WORDS:64,DELTA_RUN_COUNT_MASK:63,INNER_INDEX_BIT_COUNT_MASK:15,MAP_ENTRY_SIZE_MASK:48};function ae(n,o){this.data=n,this.offset=o,this.relativeOffset=0}ae.prototype.parseByte=function(){let n=this.data.getUint8(this.offset+this.relativeOffset);return this.relativeOffset+=1,n},ae.prototype.parseChar=function(){let n=this.data.getInt8(this.offset+this.relativeOffset);return this.relativeOffset+=1,n},ae.prototype.parseCard8=ae.prototype.parseByte,ae.prototype.parseUShort=function(){let n=this.data.getUint16(this.offset+this.relativeOffset);return this.relativeOffset+=2,n},ae.prototype.parseCard16=ae.prototype.parseUShort,ae.prototype.parseSID=ae.prototype.parseUShort,ae.prototype.parseOffset16=ae.prototype.parseUShort,ae.prototype.parseShort=function(){let n=this.data.getInt16(this.offset+this.relativeOffset);return this.relativeOffset+=2,n},ae.prototype.parseF2Dot14=function(){let n=this.data.getInt16(this.offset+this.relativeOffset)/16384;return this.relativeOffset+=2,n},ae.prototype.parseUInt24=function(){let n=Rr(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=3,n},ae.prototype.parseULong=function(){let n=ut(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,n},ae.prototype.parseLong=function(){let n=un(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,n},ae.prototype.parseOffset32=ae.prototype.parseULong,ae.prototype.parseFixed=function(){let n=Lr(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,n},ae.prototype.parseString=function(n){let o=this.data,a=this.offset+this.relativeOffset,d="";this.relativeOffset+=n;for(let f=0;f<n;f++)d+=String.fromCharCode(o.getUint8(a+f));return d},ae.prototype.parseTag=function(){return this.parseString(4)},ae.prototype.parseLongDateTime=function(){let n=ut(this.data,this.offset+this.relativeOffset+4);return n-=2082844800,this.relativeOffset+=8,n},ae.prototype.parseVersion=function(n){let o=Qr(this.data,this.offset+this.relativeOffset),a=Qr(this.data,this.offset+this.relativeOffset+2);return this.relativeOffset+=4,n===void 0&&(n=4096),o+a/n/10},ae.prototype.skip=function(n,o){o===void 0&&(o=1),this.relativeOffset+=Ir[n]*o},ae.prototype.parseULongList=function(n){n===void 0&&(n=this.parseULong());let o=new Array(n),a=this.data,d=this.offset+this.relativeOffset;for(let f=0;f<n;f++)o[f]=a.getUint32(d),d+=4;return this.relativeOffset+=n*4,o},ae.prototype.parseOffset16List=ae.prototype.parseUShortList=function(n){n===void 0&&(n=this.parseUShort());let o=new Array(n),a=this.data,d=this.offset+this.relativeOffset;for(let f=0;f<n;f++)o[f]=a.getUint16(d),d+=2;return this.relativeOffset+=n*2,o},ae.prototype.parseShortList=function(n){let o=new Array(n),a=this.data,d=this.offset+this.relativeOffset;for(let f=0;f<n;f++)o[f]=a.getInt16(d),d+=2;return this.relativeOffset+=n*2,o},ae.prototype.parseByteList=function(n){let o=new Array(n),a=this.data,d=this.offset+this.relativeOffset;for(let f=0;f<n;f++)o[f]=a.getUint8(d++);return this.relativeOffset+=n,o},ae.prototype.parseList=function(n,o){o||(o=n,n=this.parseUShort());let a=new Array(n);for(let d=0;d<n;d++)a[d]=o.call(this);return a},ae.prototype.parseList32=function(n,o){o||(o=n,n=this.parseULong());let a=new Array(n);for(let d=0;d<n;d++)a[d]=o.call(this);return a},ae.prototype.parseRecordList=function(n,o){o||(o=n,n=this.parseUShort());let a=new Array(n),d=Object.keys(o);for(let f=0;f<n;f++){let m={};for(let y=0;y<d.length;y++){let w=d[y],T=o[w];m[w]=T.call(this)}a[f]=m}return a},ae.prototype.parseRecordList32=function(n,o){o||(o=n,n=this.parseULong());let a=new Array(n),d=Object.keys(o);for(let f=0;f<n;f++){let m={};for(let y=0;y<d.length;y++){let w=d[y],T=o[w];m[w]=T.call(this)}a[f]=m}return a},ae.prototype.parseTupleRecords=function(n,o){let a=[];for(let d=0;d<n;d++){let f=[];for(let m=0;m<o;m++)f.push(this.parseF2Dot14());a.push(f)}return a},ae.prototype.parseStruct=function(n){if(typeof n=="function")return n.call(this);{let o=Object.keys(n),a={};for(let d=0;d<o.length;d++){let f=o[d],m=n[f];a[f]=m.call(this)}return a}},ae.prototype.parseValueRecord=function(n){if(n===void 0&&(n=this.parseUShort()),n===0)return;let o={};return n&1&&(o.xPlacement=this.parseShort()),n&2&&(o.yPlacement=this.parseShort()),n&4&&(o.xAdvance=this.parseShort()),n&8&&(o.yAdvance=this.parseShort()),n&16&&(o.xPlaDevice=void 0,this.parseShort()),n&32&&(o.yPlaDevice=void 0,this.parseShort()),n&64&&(o.xAdvDevice=void 0,this.parseShort()),n&128&&(o.yAdvDevice=void 0,this.parseShort()),o},ae.prototype.parseValueRecordList=function(){let n=this.parseUShort(),o=this.parseUShort(),a=new Array(o);for(let d=0;d<o;d++)a[d]=this.parseValueRecord(n);return a},ae.prototype.parsePointer=function(n){let o=this.parseOffset16();if(o>0)return new ae(this.data,this.offset+o).parseStruct(n)},ae.prototype.parsePointer32=function(n){let o=this.parseOffset32();if(o>0)return new ae(this.data,this.offset+o).parseStruct(n)},ae.prototype.parseListOfLists=function(n){let o=this.parseOffset16List(),a=o.length,d=this.relativeOffset,f=new Array(a);for(let m=0;m<a;m++){let y=o[m];if(y===0){f[m]=void 0;continue}if(this.relativeOffset=y,n){let w=this.parseOffset16List(),T=new Array(w.length);for(let N=0;N<w.length;N++)this.relativeOffset=y+w[N],T[N]=n.call(this);f[m]=T}else f[m]=this.parseUShortList()}return this.relativeOffset=d,f},ae.prototype.parseCoverage=function(){let n=this.offset+this.relativeOffset,o=this.parseUShort(),a=this.parseUShort();if(o===1)return{format:1,glyphs:this.parseUShortList(a)};if(o===2){let d=new Array(a);for(let f=0;f<a;f++)d[f]={start:this.parseUShort(),end:this.parseUShort(),index:this.parseUShort()};return{format:2,ranges:d}}throw new Error("0x"+n.toString(16)+": Coverage format must be 1 or 2.")},ae.prototype.parseClassDef=function(){let n=this.offset+this.relativeOffset,o=this.parseUShort();return o===1?{format:1,startGlyph:this.parseUShort(),classes:this.parseUShortList()}:o===2?{format:2,ranges:this.parseRecordList({start:ae.uShort,end:ae.uShort,classId:ae.uShort})}:(console.warn(`0x${n.toString(16)}: This font file uses an invalid ClassDef format of ${o}. It might be corrupted and should be reacquired if it doesn't display as intended.`),{format:o})},ae.list=function(n,o){return function(){return this.parseList(n,o)}},ae.list32=function(n,o){return function(){return this.parseList32(n,o)}},ae.recordList=function(n,o){return function(){return this.parseRecordList(n,o)}},ae.recordList32=function(n,o){return function(){return this.parseRecordList32(n,o)}},ae.pointer=function(n){return function(){return this.parsePointer(n)}},ae.pointer32=function(n){return function(){return this.parsePointer32(n)}},ae.tag=ae.prototype.parseTag,ae.byte=ae.prototype.parseByte,ae.uShort=ae.offset16=ae.prototype.parseUShort,ae.uShortList=ae.prototype.parseUShortList,ae.uInt24=ae.prototype.parseUInt24,ae.uLong=ae.offset32=ae.prototype.parseULong,ae.uLongList=ae.prototype.parseULongList,ae.fixed=ae.prototype.parseFixed,ae.f2Dot14=ae.prototype.parseF2Dot14,ae.struct=ae.prototype.parseStruct,ae.coverage=ae.prototype.parseCoverage,ae.classDef=ae.prototype.parseClassDef;var rr={reserved:ae.uShort,reqFeatureIndex:ae.uShort,featureIndexes:ae.uShortList};ae.prototype.parseScriptList=function(){return this.parsePointer(ae.recordList({tag:ae.tag,script:ae.pointer({defaultLangSys:ae.pointer(rr),langSysRecords:ae.recordList({tag:ae.tag,langSys:ae.pointer(rr)})})}))||[]},ae.prototype.parseFeatureList=function(){return this.parsePointer(ae.recordList({tag:ae.tag,feature:ae.pointer({featureParams:ae.offset16,lookupListIndexes:ae.uShortList})}))||[]},ae.prototype.parseLookupList=function(n){return this.parsePointer(ae.list(ae.pointer(function(){let o=this.parseUShort();K.argument(1<=o&&o<=9,"GPOS/GSUB lookup type "+o+" unknown.");let a=this.parseUShort(),d=a&16;return{lookupType:o,lookupFlag:a,subtables:this.parseList(ae.pointer(n[o])),markFilteringSet:d?this.parseUShort():void 0}})))||[]},ae.prototype.parseFeatureVariationsList=function(){return this.parsePointer32(function(){let n=this.parseUShort(),o=this.parseUShort();return K.argument(n===1&&o<1,"GPOS/GSUB feature variations table unknown."),this.parseRecordList32({conditionSetOffset:ae.offset32,featureTableSubstitutionOffset:ae.offset32})})||[]},ae.prototype.parseVariationStore=function(){let n=this.relativeOffset,o=this.parseUShort(),a={itemVariationStore:this.parseItemVariationStore()};return this.relativeOffset=n+o+2,a},ae.prototype.parseItemVariationStore=function(){let n=this.relativeOffset,o={format:this.parseUShort(),variationRegions:[],itemVariationSubtables:[]},a=this.parseOffset32(),d=this.parseUShort(),f=this.parseULongList(d);this.relativeOffset=n+a,o.variationRegions=this.parseVariationRegionList();for(let m=0;m<d;m++){let y=f[m];this.relativeOffset=n+y,o.itemVariationSubtables.push(this.parseItemVariationSubtable())}return o},ae.prototype.parseVariationRegionList=function(){let n=this.parseUShort(),o=this.parseUShort();return this.parseRecordList(o,{regionAxes:ae.recordList(n,{startCoord:ae.f2Dot14,peakCoord:ae.f2Dot14,endCoord:ae.f2Dot14})})},ae.prototype.parseItemVariationSubtable=function(){let n=this.parseUShort(),o=this.parseUShort(),a=this.parseUShortList(),d=a.length;return{regionIndexes:a,deltaSets:n&&d?this.parseDeltaSets(n,o,d):[]}},ae.prototype.parseDeltaSetIndexMap=function(){let n=this.parseByte(),o=this.parseByte(),a=[],d=0;switch(n){case 0:d=this.parseUShort();break;case 1:d=this.parseULong();break;default:console.error(`unsupported DeltaSetIndexMap format ${n}`)}if(!d)return{format:n,entryFormat:o};let f=(o&Nr.INNER_INDEX_BIT_COUNT_MASK)+1,m=((o&Nr.MAP_ENTRY_SIZE_MASK)>>4)+1;for(let y=0;y<d;y++){let w;if(m===1)w=this.parseByte();else if(m===2)w=this.parseUShort();else if(m===3)w=this.parseUInt24();else if(m===4)w=this.parseULong();else throw new Error(`Invalid entry size of ${m}`);let T=w>>f,N=w&(1<<f)-1;a.push({outerIndex:T,innerIndex:N})}return{format:n,entryFormat:o,map:a}},ae.prototype.parseDeltaSets=function(n,o,a){let d=Array.from({length:n},()=>[]),f=o&Nr.LONG_WORDS,m=o&Nr.WORD_DELTA_COUNT_MASK;if(m>a)throw Error("wordCount must be less than or equal to regionIndexCount");let y=(f?this.parseLong:this.parseShort).bind(this),w=(f?this.parseShort:this.parseChar).bind(this);for(let T=0;T<n;T++)for(let N=0;N<a;N++)N<m?d[T].push(y()):d[T].push(w());return d},ae.prototype.parseTupleVariationStoreList=function(n,o,a){let d=this.parseUShort(),f=this.parseUShort()&1,m=this.parseOffset32(),y=(f?this.parseULong:this.parseUShort).bind(this),w={},T=y();f||(T*=2);let N;for(let E=0;E<d;E++){N=y(),f||(N*=2);let z=N-T;w[E]=z?this.parseTupleVariationStore(m+T,n,o,a,E):void 0,T=N}return w},ae.prototype.parseTupleVariationStore=function(n,o,a,d,f){let m=this.relativeOffset;this.relativeOffset=n,a==="cvar"&&(this.relativeOffset+=4);let y=this.parseUShort(),w=!!(y&Nr.SHARED_POINT_NUMBERS),T=y&Nr.COUNT_MASK,N=this.parseOffset16(),E=[],z=[];for(let Y=0;Y<T;Y++){let le=this.parseTupleVariationHeader(o,a);E.push(le)}this.relativeOffset!==n+N&&(console.warn(`Unexpected offset after parsing tuple variation headers! Expected ${n+N}, actually ${this.relativeOffset}`),this.relativeOffset=n+N),w&&(z=this.parsePackedPointNumbers());let $=this.relativeOffset;for(let Y=0;Y<T;Y++){let le=E[Y];le.privatePoints=[],this.relativeOffset=$,a==="cvar"&&!le.peakTuple&&console.warn("An embedded peak tuple is required in TupleVariationHeaders for the cvar table."),le.flags.privatePointNumbers&&(le.privatePoints=this.parsePackedPointNumbers()),delete le.flags;let Pe=this.offset,Ht=this.relativeOffset,Pt=nr=>{let Cr,pn,In=()=>{let kn=0;if(a==="gvar"){if(kn=le.privatePoints.length||z.length,!kn){let Ls=d.get(f);Ls.path,kn=Ls.points.length,kn+=4}}else a==="cvar"&&(kn=d.length);this.offset=Pe,this.relativeOffset=Ht,Cr=this.parsePackedDeltas(kn),a==="gvar"&&(pn=this.parsePackedDeltas(kn))};return{configurable:!0,get:function(){return Cr===void 0&&In(),nr==="deltasY"?pn:Cr},set:function(kn){Cr===void 0&&In(),nr==="deltasY"?pn=kn:Cr=kn}}};Object.defineProperty(le,"deltas",Pt.call(this,"deltas")),a==="gvar"&&Object.defineProperty(le,"deltasY",Pt.call(this,"deltasY")),$+=le.variationDataSize,delete le.variationDataSize}this.relativeOffset=m;let ne={headers:E};return ne.sharedPoints=z,ne},ae.prototype.parseTupleVariationHeader=function(n,o){let a=this.parseUShort(),d=this.parseUShort(),f=!!(d&Nr.EMBEDDED_PEAK_TUPLE),m=!!(d&Nr.INTERMEDIATE_REGION),y=!!(d&Nr.PRIVATE_POINT_NUMBERS),w=f?void 0:d&Nr.TUPLE_INDEX_MASK,T=f?this.parseTupleRecords(1,n)[0]:void 0,N=m?this.parseTupleRecords(1,n)[0]:void 0,E=m?this.parseTupleRecords(1,n)[0]:void 0,z={variationDataSize:a,peakTuple:T,intermediateStartTuple:N,intermediateEndTuple:E,flags:{embeddedPeakTuple:f,intermediateRegion:m,privatePointNumbers:y}};return o==="gvar"&&(z.sharedTupleRecordsIndex=w),z},ae.prototype.parsePackedPointNumbers=function(){let n=this.parseByte(),o=[],a=n;if(n>=128){let f=this.parseByte();a=(n&Nr.POINT_RUN_COUNT_MASK)<<8|f}let d=0;for(;o.length<a;){let f=this.parseByte(),m=!!(f&Nr.POINTS_ARE_WORDS),y=(f&Nr.POINT_RUN_COUNT_MASK)+1;for(let w=0;w<y&&o.length<a;w++){let T;m?T=this.parseUShort():T=this.parseByte(),d=d+T,o.push(d)}}return o},ae.prototype.parsePackedDeltas=function(n){let o=[];for(;o.length<n;){let a=this.parseByte(),d=!!(a&Nr.DELTAS_ARE_ZERO),f=!!(a&Nr.DELTAS_ARE_WORDS),m=(a&Nr.DELTA_RUN_COUNT_MASK)+1;for(let y=0;y<m&&o.length<n;y++)d?o.push(0):f?o.push(this.parseShort()):o.push(this.parseChar())}return o};var lt={getByte:cn,getCard8:cn,getUShort:Qr,getCard16:Qr,getShort:Re,getUInt24:Rr,getULong:ut,getFixed:Lr,getTag:wn,getOffset:mr,getBytes:Mr,bytesToString:Bn,Parser:ae},es=["copyright","fontFamily","fontSubfamily","uniqueID","fullName","version","postScriptName","trademark","manufacturer","designer","description","manufacturerURL","designerURL","license","licenseURL","reserved","preferredFamily","preferredSubfamily","compatibleFullName","sampleText","postScriptFindFontName","wwsFamily","wwsSubfamily"],Jt={0:"en",1:"fr",2:"de",3:"it",4:"nl",5:"sv",6:"es",7:"da",8:"pt",9:"no",10:"he",11:"ja",12:"ar",13:"fi",14:"el",15:"is",16:"mt",17:"tr",18:"hr",19:"zh-Hant",20:"ur",21:"hi",22:"th",23:"ko",24:"lt",25:"pl",26:"hu",27:"es",28:"lv",29:"se",30:"fo",31:"fa",32:"ru",33:"zh",34:"nl-BE",35:"ga",36:"sq",37:"ro",38:"cz",39:"sk",40:"si",41:"yi",42:"sr",43:"mk",44:"bg",45:"uk",46:"be",47:"uz",48:"kk",49:"az-Cyrl",50:"az-Arab",51:"hy",52:"ka",53:"mo",54:"ky",55:"tg",56:"tk",57:"mn-CN",58:"mn",59:"ps",60:"ks",61:"ku",62:"sd",63:"bo",64:"ne",65:"sa",66:"mr",67:"bn",68:"as",69:"gu",70:"pa",71:"or",72:"ml",73:"kn",74:"ta",75:"te",76:"si",77:"my",78:"km",79:"lo",80:"vi",81:"id",82:"tl",83:"ms",84:"ms-Arab",85:"am",86:"ti",87:"om",88:"so",89:"sw",90:"rw",91:"rn",92:"ny",93:"mg",94:"eo",128:"cy",129:"eu",130:"ca",131:"la",132:"qu",133:"gn",134:"ay",135:"tt",136:"ug",137:"dz",138:"jv",139:"su",140:"gl",141:"af",142:"br",143:"iu",144:"gd",145:"gv",146:"ga",147:"to",148:"el-polyton",149:"kl",150:"az",151:"nn"},Qn={0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:5,11:1,12:4,13:0,14:6,15:0,16:0,17:0,18:0,19:2,20:4,21:9,22:21,23:3,24:29,25:29,26:29,27:29,28:29,29:0,30:0,31:4,32:7,33:25,34:0,35:0,36:0,37:0,38:29,39:29,40:0,41:5,42:7,43:7,44:7,45:7,46:7,47:7,48:7,49:7,50:4,51:24,52:23,53:7,54:7,55:7,56:7,57:27,58:7,59:4,60:4,61:4,62:4,63:26,64:9,65:9,66:9,67:13,68:13,69:11,70:10,71:12,72:17,73:16,74:14,75:15,76:18,77:19,78:20,79:22,80:30,81:0,82:0,83:0,84:4,85:28,86:28,87:28,88:0,89:0,90:0,91:0,92:0,93:0,94:0,128:0,129:0,130:0,131:0,132:0,133:0,134:0,135:7,136:4,137:26,138:0,139:0,140:0,141:0,142:0,143:28,144:0,145:0,146:0,147:0,148:6,149:0,150:0,151:0},xs={1078:"af",1052:"sq",1156:"gsw",1118:"am",5121:"ar-DZ",15361:"ar-BH",3073:"ar",2049:"ar-IQ",11265:"ar-JO",13313:"ar-KW",12289:"ar-LB",4097:"ar-LY",6145:"ary",8193:"ar-OM",16385:"ar-QA",1025:"ar-SA",10241:"ar-SY",7169:"aeb",14337:"ar-AE",9217:"ar-YE",1067:"hy",1101:"as",2092:"az-Cyrl",1068:"az",1133:"ba",1069:"eu",1059:"be",2117:"bn",1093:"bn-IN",8218:"bs-Cyrl",5146:"bs",1150:"br",1026:"bg",1027:"ca",3076:"zh-HK",5124:"zh-MO",2052:"zh",4100:"zh-SG",1028:"zh-TW",1155:"co",1050:"hr",4122:"hr-BA",1029:"cs",1030:"da",1164:"prs",1125:"dv",2067:"nl-BE",1043:"nl",3081:"en-AU",10249:"en-BZ",4105:"en-CA",9225:"en-029",16393:"en-IN",6153:"en-IE",8201:"en-JM",17417:"en-MY",5129:"en-NZ",13321:"en-PH",18441:"en-SG",7177:"en-ZA",11273:"en-TT",2057:"en-GB",1033:"en",12297:"en-ZW",1061:"et",1080:"fo",1124:"fil",1035:"fi",2060:"fr-BE",3084:"fr-CA",1036:"fr",5132:"fr-LU",6156:"fr-MC",4108:"fr-CH",1122:"fy",1110:"gl",1079:"ka",3079:"de-AT",1031:"de",5127:"de-LI",4103:"de-LU",2055:"de-CH",1032:"el",1135:"kl",1095:"gu",1128:"ha",1037:"he",1081:"hi",1038:"hu",1039:"is",1136:"ig",1057:"id",1117:"iu",2141:"iu-Latn",2108:"ga",1076:"xh",1077:"zu",1040:"it",2064:"it-CH",1041:"ja",1099:"kn",1087:"kk",1107:"km",1158:"quc",1159:"rw",1089:"sw",1111:"kok",1042:"ko",1088:"ky",1108:"lo",1062:"lv",1063:"lt",2094:"dsb",1134:"lb",1071:"mk",2110:"ms-BN",1086:"ms",1100:"ml",1082:"mt",1153:"mi",1146:"arn",1102:"mr",1148:"moh",1104:"mn",2128:"mn-CN",1121:"ne",1044:"nb",2068:"nn",1154:"oc",1096:"or",1123:"ps",1045:"pl",1046:"pt",2070:"pt-PT",1094:"pa",1131:"qu-BO",2155:"qu-EC",3179:"qu",1048:"ro",1047:"rm",1049:"ru",9275:"smn",4155:"smj-NO",5179:"smj",3131:"se-FI",1083:"se",2107:"se-SE",8251:"sms",6203:"sma-NO",7227:"sms",1103:"sa",7194:"sr-Cyrl-BA",3098:"sr",6170:"sr-Latn-BA",2074:"sr-Latn",1132:"nso",1074:"tn",1115:"si",1051:"sk",1060:"sl",11274:"es-AR",16394:"es-BO",13322:"es-CL",9226:"es-CO",5130:"es-CR",7178:"es-DO",12298:"es-EC",17418:"es-SV",4106:"es-GT",18442:"es-HN",2058:"es-MX",19466:"es-NI",6154:"es-PA",15370:"es-PY",10250:"es-PE",20490:"es-PR",3082:"es",1034:"es",21514:"es-US",14346:"es-UY",8202:"es-VE",2077:"sv-FI",1053:"sv",1114:"syr",1064:"tg",2143:"tzm",1097:"ta",1092:"tt",1098:"te",1054:"th",1105:"bo",1055:"tr",1090:"tk",1152:"ug",1058:"uk",1070:"hsb",1056:"ur",2115:"uz-Cyrl",1091:"uz",1066:"vi",1106:"cy",1160:"wo",1157:"sah",1144:"ii",1130:"yo"};function xo(n,o,a){switch(n){case 0:if(o===65535)return"und";if(a)return a[o];break;case 1:return Jt[o];case 3:return xs[o]}}var ts="utf-16",Gn={0:"macintosh",1:"x-mac-japanese",2:"x-mac-chinesetrad",3:"x-mac-korean",6:"x-mac-greek",7:"x-mac-cyrillic",9:"x-mac-devanagai",10:"x-mac-gurmukhi",11:"x-mac-gujarati",12:"x-mac-oriya",13:"x-mac-bengali",14:"x-mac-tamil",15:"x-mac-telugu",16:"x-mac-kannada",17:"x-mac-malayalam",18:"x-mac-sinhalese",19:"x-mac-burmese",20:"x-mac-khmer",21:"x-mac-thai",22:"x-mac-lao",23:"x-mac-georgian",24:"x-mac-armenian",25:"x-mac-chinesesimp",26:"x-mac-tibetan",27:"x-mac-mongolian",28:"x-mac-ethiopic",29:"x-mac-ce",30:"x-mac-vietnamese",31:"x-mac-extarabic"},An={15:"x-mac-icelandic",17:"x-mac-turkish",18:"x-mac-croatian",24:"x-mac-ce",25:"x-mac-ce",26:"x-mac-ce",27:"x-mac-ce",28:"x-mac-ce",30:"x-mac-icelandic",37:"x-mac-romanian",38:"x-mac-ce",39:"x-mac-ce",40:"x-mac-ce",143:"x-mac-inuit",146:"x-mac-gaelic"};function gn(n,o,a){switch(n){case 0:return ts;case 1:return An[a]||Gn[o];case 3:if(o===1||o===10)return ts;break}}var Rs={0:"unicode",1:"macintosh",2:"reserved",3:"windows"};function Tn(n){return Rs[n]}function Wr(n,o,a){let d={},f=new lt.Parser(n,o),m=f.parseUShort(),y=f.parseUShort(),w=f.offset+f.parseUShort();for(let T=0;T<y;T++){let N=f.parseUShort(),E=f.parseUShort(),z=f.parseUShort(),$=f.parseUShort(),ne=es[$]||$,Y=f.parseUShort(),le=f.parseUShort(),Pe=xo(N,z,a),Ht=gn(N,E,z),Pt=Tn(N);if(Ht!==void 0&&Pe!==void 0&&Pt!==void 0){let nr;if(Ht===ts?nr=Ct.UTF16(n,w+le,Y):nr=Ct.MACSTRING(n,w+le,Y,Ht),nr){let Cr=d[Pt];Cr===void 0&&(Cr=d[Pt]={});let pn=Cr[ne];pn===void 0&&(pn=Cr[ne]={}),pn[Pe]=nr}}}return m===1&&f.parseUShort(),d}function ur(n){let o={};for(let a in n)o[n[a]]=parseInt(a);return o}function Or(n,o,a,d,f,m){return new Ne.Record("NameRecord",[{name:"platformID",type:"USHORT",value:n},{name:"encodingID",type:"USHORT",value:o},{name:"languageID",type:"USHORT",value:a},{name:"nameID",type:"USHORT",value:d},{name:"length",type:"USHORT",value:f},{name:"offset",type:"USHORT",value:m}])}function Zt(n,o){let a=n.length,d=o.length-a+1;e:for(let f=0;f<d;f++)for(;f<d;f++){for(let m=0;m<a;m++)if(o[f+m]!==n[m])continue e;return f}return-1}function Tr(n,o){let a=Zt(n,o);if(a<0){a=o.length;let d=0,f=n.length;for(;d<f;++d)o.push(n[d])}return a}function Sn(n,o){let a=ur(Rs),d=ur(Jt),f=ur(xs),m=[],y=[];for(let T in n){let N,E=[],z={},$=ur(es),ne=a[T];for(let Y in n[T]){let le=$[Y];if(le===void 0&&(le=Y),N=parseInt(le),isNaN(N))throw new Error('Name table entry "'+Y+'" does not exist, see nameTableNames for complete list.');z[N]=n[T][Y],E.push(N)}for(let Y=0;Y<E.length;Y++){N=E[Y];let le=z[N];for(let Pe in le){let Ht=le[Pe];if(ne===1||ne===0){let Pt=d[Pe],nr=Qn[Pt],Cr=gn(ne,nr,Pt),pn=he.MACSTRING(Ht,Cr);if(ne===0&&(Pt=o.indexOf(Pe),Pt<0&&(Pt=o.length,o.push(Pe)),nr=4,pn=he.UTF16(Ht)),pn!==void 0){let In=Tr(pn,y);m.push(Or(ne,nr,Pt,N,pn.length,In))}}if(ne===3){let Pt=f[Pe];if(Pt!==void 0){let nr=he.UTF16(Ht),Cr=Tr(nr,y);m.push(Or(3,1,Pt,N,nr.length,Cr))}}}}}m.sort(function(T,N){return T.platformID-N.platformID||T.encodingID-N.encodingID||T.languageID-N.languageID||T.nameID-N.nameID});let w=new Ne.Table("name",[{name:"format",type:"USHORT",value:0},{name:"count",type:"USHORT",value:m.length},{name:"stringOffset",type:"USHORT",value:6+m.length*12}]);for(let T=0;T<m.length;T++)w.fields.push({name:"record_"+T,type:"RECORD",value:m[T]});return w.fields.push({name:"strings",type:"LITERAL",value:y}),w}function Mt(n,o,a=[]){if(o<256&&o in es){if(a.length&&!a.includes(parseInt(o)))return;o=es[o]}for(let d in n)for(let f in n[d])if(f===o||parseInt(f)===o)return n[d][f]}var bs={parse:Wr,make:Sn,getNameByID:Mt};function dr(n,o,a,d){n.length=o.parseUShort(),n.language=o.parseUShort()-1;let f=o.parseByteList(n.length),m=Object.assign({},f),y=gn(a,d,n.language),w=At[y];for(let T=0;T<w.length;T++)m[w.charCodeAt(T)]=f[128+T];n.glyphIndexMap=m}function Cn(n,o,a){o.parseUShort(),n.length=o.parseULong(),n.language=o.parseULong();let d;n.groupCount=d=o.parseULong(),n.glyphIndexMap={};for(let f=0;f<d;f+=1){let m=o.parseULong(),y=o.parseULong(),w=o.parseULong();for(let T=m;T<=y;T+=1)n.glyphIndexMap[T]=w,a===12&&w++}}function rs(n,o,a,d,f){n.length=o.parseUShort(),n.language=o.parseUShort();let m;n.segCount=m=o.parseUShort()>>1,o.skip("uShort",3),n.glyphIndexMap={};let y=new lt.Parser(a,d+f+14),w=new lt.Parser(a,d+f+16+m*2),T=new lt.Parser(a,d+f+16+m*4),N=new lt.Parser(a,d+f+16+m*6),E=d+f+16+m*8;for(let z=0;z<m-1;z+=1){let $,ne=y.parseUShort(),Y=w.parseUShort(),le=T.parseShort(),Pe=N.parseUShort();for(let Ht=Y;Ht<=ne;Ht+=1)Pe!==0?(E=N.offset+N.relativeOffset-2,E+=Pe,E+=(Ht-Y)*2,$=lt.getUShort(a,E),$!==0&&($=$+le&65535)):$=Ht+le&65535,n.glyphIndexMap[Ht]=$}}function Kn(n,o){let a={};o.skip("uLong");let d=o.parseULong();for(let f=0;f<d;f+=1){let m=o.parseUInt24(),y={varSelector:m},w=o.parseOffset32(),T=o.parseOffset32(),N=o.relativeOffset;w&&(o.relativeOffset=w,y.defaultUVS=o.parseStruct({ranges:function(){return o.parseRecordList32({startUnicodeValue:o.parseUInt24,additionalCount:o.parseByte})}})),T&&(o.relativeOffset=T,y.nonDefaultUVS=o.parseStruct({uvsMappings:function(){let E={},z=o.parseRecordList32({unicodeValue:o.parseUInt24,glyphID:o.parseUShort});for(let $=0;$<z.length;$+=1)E[z[$].unicodeValue]=z[$];return E}})),a[m]=y,o.relativeOffset=N}n.varSelectorList=a}function En(n,o){let a={};a.version=lt.getUShort(n,o),K.argument(a.version===0,"cmap table version should be 0."),a.numTables=lt.getUShort(n,o+2);let d=null,f=-1,m=-1,y=null,w=null,T=[0,1,2,3,4,6],N=[0,1,10];for(let z=a.numTables-1;z>=0;z-=1)if(y=lt.getUShort(n,o+4+z*8),w=lt.getUShort(n,o+4+z*8+2),y===3&&N.includes(w)||y===0&&T.includes(w)||y===1&&w===0){if(m>0)continue;if(m=lt.getULong(n,o+4+z*8+4),d)break}else if(y===0&&w===5){if(f=lt.getULong(n,o+4+z*8+4),d=new lt.Parser(n,o+f),d.parseUShort()!==14)f=-1,d=null;else if(m>0)break}if(m===-1)throw new Error("No valid cmap sub-tables found.");let E=new lt.Parser(n,o+m);if(a.format=E.parseUShort(),a.format===0)dr(a,E,y,w);else if(a.format===12||a.format===13)Cn(a,E,a.format);else if(a.format===4)rs(a,E,n,o,m);else throw new Error("Only format 0 (platformId 1, encodingId 0), 4, 12 and 14 cmap tables are supported (found format "+a.format+", platformId "+y+", encodingId "+w+").");return d&&Kn(a,d),a}function ys(n,o,a){n.segments.push({end:o,start:o,delta:-(o-a),offset:0,glyphIndex:a})}function qr(n){n.segments.push({end:65535,start:65535,delta:1,offset:0})}function ls(n){if(n.length===0)return n;let o=[n[0]];for(let a=1;a<n.length;a++){let d=o[o.length-1],f=n[a];d.end+1===f.start&&d.delta===f.delta&&f.end!==65535?d.end=f.end:o.push(f)}return o}function Vn(n){let o=!0,a;for(a=n.length-1;a>0;a-=1)if(n.get(a).unicode>65535){o=!1;break}let d=[{name:"version",type:"USHORT",value:0},{name:"numTables",type:"USHORT",value:o?1:2},{name:"platformID",type:"USHORT",value:3},{name:"encodingID",type:"USHORT",value:1},{name:"offset",type:"ULONG",value:o?12:20}];o||d.push({name:"cmap12PlatformID",type:"USHORT",value:3},{name:"cmap12EncodingID",type:"USHORT",value:10},{name:"cmap12Offset",type:"ULONG",value:0}),d.push({name:"format",type:"USHORT",value:4},{name:"cmap4Length",type:"USHORT",value:0},{name:"language",type:"USHORT",value:0},{name:"segCountX2",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0});let f=new Ne.Table("cmap",d);for(f.segments=[],a=0;a<n.length;a+=1){let ne=n.get(a);for(let Y=0;Y<ne.unicodes.length;Y+=1)ys(f,ne.unicodes[Y],a)}f.segments.sort(function(ne,Y){return ne.start-Y.start}),f.segments=ls(f.segments),qr(f);let m=f.segments.length,y=0,w=[],T=[],N=[],E=[],z=[],$=[];for(a=0;a<m;a+=1){let ne=f.segments[a];ne.end<=65535&&ne.start<=65535?(w.push({name:"end_"+a,type:"USHORT",value:ne.end}),T.push({name:"start_"+a,type:"USHORT",value:ne.start}),N.push({name:"idDelta_"+a,type:"SHORT",value:ne.delta}),E.push({name:"idRangeOffset_"+a,type:"USHORT",value:ne.offset}),ne.glyphId!==void 0&&z.push({name:"glyph_"+a,type:"USHORT",value:ne.glyphId})):y+=1,!o&&ne.glyphIndex!==void 0&&($.push({name:"cmap12Start_"+a,type:"ULONG",value:ne.start}),$.push({name:"cmap12End_"+a,type:"ULONG",value:ne.end}),$.push({name:"cmap12Glyph_"+a,type:"ULONG",value:ne.glyphIndex}))}f.segCountX2=(m-y)*2,f.searchRange=Math.pow(2,Math.floor(Math.log(m-y)/Math.log(2)))*2,f.entrySelector=Math.log(f.searchRange/2)/Math.log(2),f.rangeShift=f.segCountX2-f.searchRange;for(let ne=0;ne<w.length;ne++)f.fields.push(w[ne]);f.fields.push({name:"reservedPad",type:"USHORT",value:0});for(let ne=0;ne<T.length;ne++)f.fields.push(T[ne]);for(let ne=0;ne<N.length;ne++)f.fields.push(N[ne]);for(let ne=0;ne<E.length;ne++)f.fields.push(E[ne]);for(let ne=0;ne<z.length;ne++)f.fields.push(z[ne]);if(f.cmap4Length=14+w.length*2+2+T.length*2+N.length*2+E.length*2+z.length*2,!o){let ne=16+$.length*4;f.cmap12Offset=20+f.cmap4Length,f.fields.push({name:"cmap12Format",type:"USHORT",value:12},{name:"cmap12Reserved",type:"USHORT",value:0},{name:"cmap12Length",type:"ULONG",value:ne},{name:"cmap12Language",type:"ULONG",value:0},{name:"cmap12nGroups",type:"ULONG",value:$.length/3});for(let Y=0;Y<$.length;Y++)f.fields.push($[Y])}return f}var Wi={parse:En,make:Vn},Ms=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","266 ff","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"],V=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron"],ue=[".notdef","space","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],He=[".notdef","space","dollaroldstyle","dollarsuperior","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","hyphensuperior","colonmonetary","onefitted","rupiah","centoldstyle","figuredash","hypheninferior","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior"],ge=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","","endash","dagger","daggerdbl","periodcentered","","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","","questiondown","","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","","ring","cedilla","","hungarumlaut","ogonek","caron","emdash","","","","","","","","","","","","","","","","","AE","","ordfeminine","","","","","Lslash","Oslash","OE","ordmasculine","","","","","","ae","","","","dotlessi","","","lslash","oslash","oe","germandbls"],Ce=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","","asuperior","bsuperior","centsuperior","dsuperior","esuperior","","","isuperior","","","lsuperior","msuperior","nsuperior","osuperior","","","rsuperior","ssuperior","tsuperior","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdownsmall","centoldstyle","Lslashsmall","","","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","","Dotaccentsmall","","","Macronsmall","","","figuredash","hypheninferior","","","Ogoneksmall","Ringsmall","Cedillasmall","","","","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],Ve=[".notdef",".null","nonmarkingreturn","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","nonbreakingspace","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron","Lslash","lslash","Scaron","scaron","Zcaron","zcaron","brokenbar","Eth","eth","Yacute","yacute","Thorn","thorn","minus","multiply","onesuperior","twosuperior","threesuperior","onehalf","onequarter","threequarters","franc","Gbreve","gbreve","Idotaccent","Scedilla","scedilla","Cacute","cacute","Ccaron","ccaron","dcroat"];function it(n){this.font=n}it.prototype.charToGlyphIndex=function(n){let o=n.codePointAt(0),a=this.font.glyphs;if(a)for(let d=0;d<a.length;d+=1){let f=a.get(d);for(let m=0;m<f.unicodes.length;m+=1)if(f.unicodes[m]===o)return d}return null};function $e(n){this.cmap=n}$e.prototype.charToGlyphIndex=function(n){return this.cmap.glyphIndexMap[n.codePointAt(0)]||0};function We(n,o){this.encoding=n,this.charset=o}We.prototype.charToGlyphIndex=function(n){let o=n.codePointAt(0),a=this.encoding[o];return this.charset.indexOf(a)};function ot(n){switch(n.version){case 1:this.names=Ve.slice();break;case 2:this.names=new Array(n.numberOfGlyphs);for(let o=0;o<n.numberOfGlyphs;o++)n.glyphNameIndex[o]<Ve.length?this.names[o]=Ve[n.glyphNameIndex[o]]:this.names[o]=n.names[n.glyphNameIndex[o]-Ve.length];break;case 2.5:this.names=new Array(n.numberOfGlyphs);for(let o=0;o<n.numberOfGlyphs;o++)this.names[o]=Ve[o+n.glyphNameIndex[o]];break;case 3:this.names=[];break;default:this.names=[];break}}ot.prototype.nameToGlyphIndex=function(n){return this.names.indexOf(n)},ot.prototype.glyphIndexToName=function(n){return this.names[n]};function br(n){let o,a=n.tables.cmap.glyphIndexMap,d=Object.keys(a);for(let f=0;f<d.length;f+=1){let m=d[f],y=a[m];o=n.glyphs.get(y),o.addUnicode(parseInt(m))}for(let f=0;f<n.glyphs.length;f+=1)o=n.glyphs.get(f),n.cffEncoding?o.name=n.cffEncoding.charset[f]:n.glyphNames.names&&(o.name=n.glyphNames.glyphIndexToName(f))}function bt(n){n._IndexToUnicodeMap={};let o=n.tables.cmap.glyphIndexMap,a=Object.keys(o);for(let d=0;d<a.length;d+=1){let f=a[d],m=o[f];n._IndexToUnicodeMap[m]===void 0?n._IndexToUnicodeMap[m]={unicodes:[parseInt(f)]}:n._IndexToUnicodeMap[m].unicodes.push(parseInt(f))}}function yr(n,o){o.lowMemory?bt(n):br(n)}function ct(n,o,a,d,f){n.beginPath(),n.moveTo(o,a),n.lineTo(d,f),n.stroke()}var Ft={line:ct};function gr(n,o){let a=new ae(n,o),d=a.parseShort();d!==0&&console.warn("Only CPALv0 is currently fully supported.");let f=a.parseShort(),m=a.parseShort(),y=a.parseShort(),w=a.parseOffset32(),T=a.parseUShortList(m);a.relativeOffset=w;let N=a.parseULongList(y);return a.relativeOffset=w,{version:d,numPaletteEntries:f,colorRecords:N,colorRecordIndices:T}}function sr({version:n=0,numPaletteEntries:o=0,colorRecords:a=[],colorRecordIndices:d=[0]}){return K.argument(n===0,"Only CPALv0 are supported."),K.argument(a.length,"No colorRecords given."),K.argument(d.length,"No colorRecordIndices given."),d.length>1&&K.argument(o,"Can't infer numPaletteEntries on multiple colorRecordIndices"),new Ne.Table("CPAL",[{name:"version",type:"USHORT",value:n},{name:"numPaletteEntries",type:"USHORT",value:o||a.length},{name:"numPalettes",type:"USHORT",value:d.length},{name:"numColorRecords",type:"USHORT",value:a.length},{name:"colorRecordsArrayOffset",type:"ULONG",value:12+2*d.length},...d.map((f,m)=>({name:"colorRecordIndices_"+m,type:"USHORT",value:f})),...a.map((f,m)=>({name:"colorRecords_"+m,type:"ULONG",value:f}))])}function or(n){var o=(n&4278190080)>>24,a=(n&16711680)>>16,d=(n&65280)>>8,f=n&255;return o=o+256&255,a=a+256&255,d=d+256&255,f=(f+256&255)/255,{b:o,g:a,r:d,a:f}}function qn(n,o,a=0,d="hexa"){if(o==65535)return"currentColor";let f=n&&n.tables&&n.tables.cpal;if(!f)return"currentColor";if(a>f.colorRecordIndices.length-1)throw new Error(`Palette index out of range (colorRecordIndices.length: ${f.colorRecordIndices.length}, index: ${o})`);if(o>f.numPaletteEntries)throw new Error(`Color index out of range (numPaletteEntries: ${f.numPaletteEntries}, index: ${o})`);let m=f.colorRecordIndices[a]+o;if(m>f.colorRecords)throw new Error(`Color index out of range (colorRecords.length: ${f.colorRecords.length}, lookupIndex: ${m})`);let y=or(f.colorRecords[m]);return d==="bgra"?y:Ws(y,d)}function en(n){return("0"+parseInt(n).toString(16)).slice(-2)}function Zn(n){let o=n.r/255,a=n.g/255,d=n.b/255,f=Math.max(o,a,d),m=Math.min(o,a,d),y,w,T=(f+m)/2;if(f===m)y=w=0;else{let N=f-m;switch(w=T>.5?N/(2-f-m):N/(f+m),f){case o:y=(a-d)/N+(a<d?6:0);break;case a:y=(d-o)/N+2;break;case d:y=(o-a)/N+4;break}y/=6}return{h:y*360,s:w*100,l:T*100}}function Xn(n){let{h:o,s:a,l:d,a:f}=n;o=o%360,a/=100,d/=100;let m=(1-Math.abs(2*d-1))*a,y=m*(1-Math.abs(o/60%2-1)),w=d-m/2,T=0,N=0,E=0;return 0<=o&&o<60?(T=m,N=y,E=0):60<=o&&o<120?(T=y,N=m,E=0):120<=o&&o<180?(T=0,N=m,E=y):180<=o&&o<240?(T=0,N=y,E=m):240<=o&&o<300?(T=y,N=0,E=m):300<=o&&o<=360&&(T=m,N=0,E=y),{r:Math.round((T+w)*255),g:Math.round((N+w)*255),b:Math.round((E+w)*255),a:f}}function cs(n){return parseInt(`0x${en(n.b)}${en(n.g)}${en(n.r)}${en(n.a*255)}`,16)}function Hs(n,o="hexa"){let a=o=="raw"||o=="cpal",d=Number.isInteger(n),f=!0;if(d&&a||n==="currentColor")return n;if(typeof n=="object"){if(o=="bgra")return n;if(a)return cs(n)}else if(!d&&/^#([a-f0-9]{3}|[a-f0-9]{4}|[a-f0-9]{6}|[a-f0-9]{8})$/i.test(n.trim())){switch(n=n.trim().substring(1),n.length){case 3:n={r:parseInt(n[0].repeat(2),16),g:parseInt(n[1].repeat(2),16),b:parseInt(n[2].repeat(2),16),a:1};break;case 4:n={r:parseInt(n[0].repeat(2),16),g:parseInt(n[1].repeat(2),16),b:parseInt(n[2].repeat(2),16),a:parseInt(n[3].repeat(2),16)/255};break;case 6:n={r:parseInt(n[0]+n[1],16),g:parseInt(n[2]+n[3],16),b:parseInt(n[4]+n[5],16),a:1};break;case 8:n={r:parseInt(n[0]+n[1],16),g:parseInt(n[2]+n[3],16),b:parseInt(n[4]+n[5],16),a:parseInt(n[6]+n[7],16)/255};break}if(o=="bgra")return n}else if(typeof document<"u"&&/^[a-z]+$/i.test(n)){let m=document.createElement("canvas").getContext("2d");m.fillStyle=n;let y=Ws(m.fillStyle,"hexa");y==="#000000ff"&&n.toLowerCase()!=="black"?f=!1:n=y}else{n=n.trim();let m=/rgba?\(\s*(?:(\d*\.\d+)(%?)|(\d+)(%?))\s*(?:,|\s*)\s*(?:(\d*\.\d+)(%?)|(\d+)(%?))\s*(?:,|\s*)\s*(?:(\d*\.\d+)(%?)|(\d+)(%?))\s*(?:(?:,|\s|\/)\s*(?:(0*(?:\.\d+)?()|0*1(?:\.0+)?())|(?:\.\d+)|(\d+)(%)|(\d*\.\d+)(%)))?\s*\)/;if(m.test(n)){let y=n.match(m).filter(w=>typeof w<"u");n={r:Math.round(parseFloat(y[1])/(y[2]?.39215686274509803:1)),g:Math.round(parseFloat(y[3])/(y[4]?.39215686274509803:1)),b:Math.round(parseFloat(y[5])/(y[6]?.39215686274509803:1)),a:y[7]?parseFloat(y[7])/(y[8]?100:1):1}}else{let y=/hsla?\(\s*(?:(\d*\.\d+|\d+)(deg|turn|))\s*(?:,|\s*)\s*(?:(\d*\.\d+)%?|(\d+)%?)\s*(?:,|\s*)\s*(?:(\d*\.\d+)%?|(\d+)%?)\s*(?:(?:,|\s|\/)\s*(?:(0*(?:\.\d+)?()|0*1(?:\.0+)?())|(?:\.\d+)|(\d+)(%)|(\d*\.\d+)(%)))?\s*\)/;if(y.test(n)){let w=n.match(y).filter(T=>typeof T<"u");n=Xn({h:parseFloat(w[1])*(w[2]==="turn"?360:1),s:parseFloat(w[3]),l:parseFloat(w[4]),a:w[5]?parseFloat(w[5])/(w[6]?100:1):1})}else f=!1}}if(!f)throw new Error(`Invalid color format: ${n}`);return Ws(n,o)}function Ws(n,o="hexa"){if(n==="currentColor")return n;if(Number.isInteger(n)){if(o=="raw"||o=="cpal")return n;n=or(n)}else typeof n!="object"&&(n=Hs(n,"bgra"));let a=["hsl","hsla"].includes(o)?Zn(n):null;switch(o){case"rgba":return`rgba(${n.r}, ${n.g}, ${n.b}, ${parseFloat(n.a.toFixed(3))})`;case"rgb":return`rgb(${n.r}, ${n.g}, ${n.b})`;case"hex":case"hex6":case"hex-6":return`#${en(n.r)}${en(n.g)}${en(n.b)}`;case"hexa":case"hex8":case"hex-8":return`#${en(n.r)}${en(n.g)}${en(n.b)}${en(n.a*255)}`;case"hsl":return`hsl(${a.h.toFixed(2)}, ${a.s.toFixed(2)}%, ${a.l.toFixed(2)}%)`;case"hsla":return`hsla(${a.h.toFixed(2)}, ${a.s.toFixed(2)}%, ${a.l.toFixed(2)}%, ${parseFloat(n.a.toFixed(3))})`;case"bgra":return n;case"raw":case"cpal":return cs(n);default:throw new Error("Unknown color format: "+o)}}var Gi={parse:gr,make:sr,getPaletteColor:qn,parseColor:Hs,formatColor:Ws};function Rn(n,o){let a=o||new rt;return{configurable:!0,get:function(){return typeof a=="function"&&(a=a()),a},set:function(d){a=d}}}function $r(n){this.bindConstructorValues(n)}$r.prototype.bindConstructorValues=function(n){if(this.index=n.index||0,n.name===".notdef"?n.unicode=void 0:n.name===".null"&&(n.unicode=0),n.unicode===0&&n.name!==".null")throw new Error('The unicode value "0" is reserved for the glyph name ".null" and cannot be used by any other glyph.');this.name=n.name||null,this.unicode=n.unicode,this.unicodes=n.unicodes||(n.unicode!==void 0?[n.unicode]:[]),"xMin"in n&&(this.xMin=n.xMin),"yMin"in n&&(this.yMin=n.yMin),"xMax"in n&&(this.xMax=n.xMax),"yMax"in n&&(this.yMax=n.yMax),"advanceWidth"in n&&(this.advanceWidth=n.advanceWidth),"leftSideBearing"in n&&(this.leftSideBearing=n.leftSideBearing),"points"in n&&(this.points=n.points),Object.defineProperty(this,"path",Rn(this,n.path))},$r.prototype.addUnicode=function(n){this.unicodes.length===0&&(this.unicode=n),this.unicodes.push(n)},$r.prototype.getBoundingBox=function(){return this.path.getBoundingBox()},$r.prototype.getPath=function(n,o,a,d,f){n=n!==void 0?n:0,o=o!==void 0?o:0,a=a!==void 0?a:72,d=Object.assign({},f&&f.defaultRenderOptions,d);let m,y,w=d.xScale,T=d.yScale,N=1/(this.path.unitsPerEm||1e3)*a,E=this;f&&f.variation&&(E=f.variation.getTransform(this,d.variation),m=E.path.commands),d.hinting&&f&&f.hinting&&(y=E.path&&f.hinting.exec(E,a,d)),y?(m=f.hinting.getCommands(y),n=Math.round(n),o=Math.round(o),w=T=1):(m=E.path.commands,w===void 0&&(w=N),T===void 0&&(T=N));let z=new rt;if(d.drawSVG){let $=this.getSvgImage(f);if($){let ne=new rt;return ne._image={image:$.image,x:n+$.leftSideBearing*N,y:o-$.baseline*N,width:$.image.width*N,height:$.image.height*N},z._layers=[ne],z}}if(d.drawLayers){let $=this.getLayers(f);if($&&$.length){z._layers=[];for(let ne=0;ne<$.length;ne+=1){let Y=$[ne],le=qn(f,Y.paletteIndex,d.usePalette);le==="currentColor"?le=d.fill||"black":le=Ws(le,d.colorFormat||"rgba"),d=Object.assign({},d,{fill:le}),z._layers.push(this.getPath.call(Y.glyph,n,o,a,d,f))}return z}}z.fill=d.fill||this.path.fill,z.stroke=this.path.stroke,z.strokeWidth=this.path.strokeWidth*N;for(let $=0;$<m.length;$+=1){let ne=m[$];ne.type==="M"?z.moveTo(n+ne.x*w,o+-ne.y*T):ne.type==="L"?z.lineTo(n+ne.x*w,o+-ne.y*T):ne.type==="Q"?z.quadraticCurveTo(n+ne.x1*w,o+-ne.y1*T,n+ne.x*w,o+-ne.y*T):ne.type==="C"?z.curveTo(n+ne.x1*w,o+-ne.y1*T,n+ne.x2*w,o+-ne.y2*T,n+ne.x*w,o+-ne.y*T):ne.type==="Z"&&z.stroke&&z.strokeWidth&&z.closePath()}return z},$r.prototype.getLayers=function(n){if(!n)throw new Error("The font object is required to read the colr/cpal tables in order to get the layers.");return n.layers.get(this.index)},$r.prototype.getSvgImage=function(n){if(!n)throw new Error("The font object is required to read the svg table in order to get the image.");return n.svgImages.get(this.index)},$r.prototype.getContours=function(n=null){if(this.points===void 0&&!n)return[];let o=[],a=[],d=n||this.points;for(let f=0;f<d.length;f+=1){let m=d[f];a.push(m),m.lastPointOfContour&&(o.push(a),a=[])}return K.argument(a.length===0,"There are still points left in the current contour."),o},$r.prototype.getMetrics=function(){let n=this.path.commands,o=[],a=[];for(let f=0;f<n.length;f+=1){let m=n[f];m.type!=="Z"&&(o.push(m.x),a.push(m.y)),(m.type==="Q"||m.type==="C")&&(o.push(m.x1),a.push(m.y1)),m.type==="C"&&(o.push(m.x2),a.push(m.y2))}let d={xMin:Math.min.apply(null,o),yMin:Math.min.apply(null,a),xMax:Math.max.apply(null,o),yMax:Math.max.apply(null,a),leftSideBearing:this.leftSideBearing};return isFinite(d.xMin)||(d.xMin=0),isFinite(d.xMax)||(d.xMax=this.advanceWidth),isFinite(d.yMin)||(d.yMin=0),isFinite(d.yMax)||(d.yMax=0),d.rightSideBearing=this.advanceWidth-d.leftSideBearing-(d.xMax-d.xMin),d},$r.prototype.draw=function(n,o,a,d,f,m){f=Object.assign({},m&&m.defaultRenderOptions,f),this.getPath(o,a,d,f,m).draw(n)},$r.prototype.drawPoints=function(n,o,a,d,f,m){if(f=Object.assign({},m&&m.defaultRenderOptions,f),f.drawLayers){let z=this.getLayers(m);if(z&&z.length){for(let $=0;$<z.length;$+=1)z[$].glyph.index!==this.index&&this.drawPoints.call(z[$].glyph,n,o,a,d);return}}function y(z,$,ne,Y){n.beginPath();for(let le=0;le<z.length;le+=1)n.moveTo($+z[le].x*Y,ne+z[le].y*Y),n.arc($+z[le].x*Y,ne+z[le].y*Y,2,0,Math.PI*2,!1);n.fill()}o=o!==void 0?o:0,a=a!==void 0?a:0,d=d!==void 0?d:24;let w=1/this.path.unitsPerEm*d,T=[],N=[],E=this.path.commands;m&&m.variation&&(E=m.variation.getTransform(this,f.variation).path.commands);for(let z=0;z<E.length;z+=1){let $=E[z];$.x!==void 0&&T.push({x:$.x,y:-$.y}),$.x1!==void 0&&N.push({x:$.x1,y:-$.y1}),$.x2!==void 0&&N.push({x:$.x2,y:-$.y2})}n.fillStyle="blue",y(T,o,a,w),n.fillStyle="red",y(N,o,a,w)},$r.prototype.drawMetrics=function(n,o,a,d){let f;o=o!==void 0?o:0,a=a!==void 0?a:0,d=d!==void 0?d:24,f=1/this.path.unitsPerEm*d,n.lineWidth=1,n.strokeStyle="black",Ft.line(n,o,-1e4,o,1e4),Ft.line(n,-1e4,a,1e4,a);let m=this.xMin||0,y=this.yMin||0,w=this.xMax||0,T=this.yMax||0,N=this.advanceWidth||0;n.strokeStyle="blue",Ft.line(n,o+m*f,-1e4,o+m*f,1e4),Ft.line(n,o+w*f,-1e4,o+w*f,1e4),Ft.line(n,-1e4,a+-y*f,1e4,a+-y*f),Ft.line(n,-1e4,a+-T*f,1e4,a+-T*f),n.strokeStyle="green",Ft.line(n,o+N*f,-1e4,o+N*f,1e4)},$r.prototype.toPathData=function(n,o){n=Object.assign({},{variation:o&&o.defaultRenderOptions.variation},n);let a=this;o&&o.variation&&(a=o.variation.getTransform(this,n.variation));let d=a.points&&n.pointsTransform?n.pointsTransform(a.points):a.path;return n.pathTransform&&(d=n.pathTransform(d)),d.toPathData(n)},$r.prototype.fromSVG=function(n,o={}){return this.path.fromSVG(n,o)},$r.prototype.toSVG=function(n,o){let a=this.toPathData.apply(this,[n,o]);return this.path.toSVG(n,a)},$r.prototype.toDOMElement=function(n,o){n=Object.assign({},{variation:o&&o.defaultRenderOptions.variation},n);let a=this.path;return o&&o.variation&&(a=o.variation.getTransform(this,n.variation).path),a.toDOMElement(n)};var zr=$r;function _n(n,o,a){Object.defineProperty(n,o,{get:function(){return typeof n[a]>"u"&&n.path,n[a]},set:function(d){n[a]=d},enumerable:!0,configurable:!0})}function jn(n,o){if(this.font=n,this.glyphs={},Array.isArray(o))for(let a=0;a<o.length;a++){let d=o[a];d.path.unitsPerEm=n.unitsPerEm,this.glyphs[a]=d}this.length=o&&o.length||0}typeof Symbol<"u"&&Symbol.iterator&&(jn.prototype[Symbol.iterator]=function(){let n=-1;return{next:(function(){n++;let o=n>=this.length-1;return{value:this.get(n),done:o}}).bind(this)}}),jn.prototype.get=function(n){if(this.font._push&&this.glyphs[n]===void 0){this.font._push(n),typeof this.glyphs[n]=="function"&&(this.glyphs[n]=this.glyphs[n]());let o=this.glyphs[n],a=this.font._IndexToUnicodeMap[n];if(a)for(let d=0;d<a.unicodes.length;d++)o.addUnicode(a.unicodes[d]);this.font.cffEncoding?o.name=this.font.cffEncoding.charset[n]:this.font.glyphNames.names&&(o.name=this.font.glyphNames.glyphIndexToName(n)),this.glyphs[n].advanceWidth=this.font._hmtxTableData[n].advanceWidth,this.glyphs[n].leftSideBearing=this.font._hmtxTableData[n].leftSideBearing}else typeof this.glyphs[n]=="function"&&(this.glyphs[n]=this.glyphs[n]());return this.glyphs[n]},jn.prototype.push=function(n,o){this.glyphs[n]=o,this.length++};function U(n,o){return new zr({index:o,font:n})}function X(n,o,a,d,f,m){return function(){let y=new zr({index:o,font:n});return y.path=function(){a(y,d,f);let w=m(n.glyphs,y);return w.unitsPerEm=n.unitsPerEm,w},_n(y,"numberOfContours","_numberOfContours"),_n(y,"xMin","_xMin"),_n(y,"xMax","_xMax"),_n(y,"yMin","_yMin"),_n(y,"yMax","_yMax"),_n(y,"points","_points"),y}}function ce(n,o,a,d,f){return function(){let m=new zr({index:o,font:n});return m.path=function(){let y=a(n,m,d,f);return y.unitsPerEm=n.unitsPerEm,y},m}}var ye={GlyphSet:jn,glyphLoader:U,ttfGlyphLoader:X,cffGlyphLoader:ce};function Xe(n,o){if(n===o)return!0;if(Array.isArray(n)&&Array.isArray(o)){if(n.length!==o.length)return!1;for(let a=0;a<n.length;a+=1)if(!Xe(n[a],o[a]))return!1;return!0}else return!1}var st=10;function Vt(n){let o;return n.length<1240?o=107:n.length<33900?o=1131:o=32768,o}function yt(n,o,a,d){let f=[],m=[],y=d>1?lt.getULong(n,o):lt.getCard16(n,o),w=d>1?4:2,T,N;if(y!==0){let E=lt.getByte(n,o+w);T=o+(y+1)*E+w;let z=o+w+1;for(let $=0;$<y+1;$+=1)f.push(lt.getOffset(n,z,E)),z+=E;N=T+f[y]}else N=o+w;for(let E=0;E<f.length-1;E+=1){let z=lt.getBytes(n,T+f[E],T+f[E+1]);a&&(z=a(z,n,o,d)),m.push(z)}return{objects:m,startOffset:o,endOffset:N}}function It(n,o,a){let d=[],f=a>1?lt.getULong(n,o):lt.getCard16(n,o),m=a>1?4:2,y,w;if(f!==0){let T=lt.getByte(n,o+m);y=o+(f+1)*T+m;let N=o+m+1;for(let E=0;E<f+1;E+=1)d.push(lt.getOffset(n,N,T)),N+=T;w=y+d[f]}else w=o+m;return{offsets:d,startOffset:o,endOffset:w}}function Fr(n,o,a,d,f,m){let y=m>1?lt.getULong(a,d):lt.getCard16(a,d),w=m>1?4:2,T=0;if(y!==0){let E=lt.getByte(a,d+w);T=d+(y+1)*E+w}let N=lt.getBytes(a,T+o[n],T+o[n+1]);return f&&(N=f(N)),N}function Sr(n){let o="",a=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"];for(;;){let d=n.parseByte(),f=d>>4,m=d&15;if(f===15||(o+=a[f],m===15))break;o+=a[m]}return parseFloat(o)}function jr(n,o){let a,d,f,m;if(o===28)return a=n.parseByte(),d=n.parseByte(),a<<8|d;if(o===29)return a=n.parseByte(),d=n.parseByte(),f=n.parseByte(),m=n.parseByte(),a<<24|d<<16|f<<8|m;if(o===30)return Sr(n);if(o>=32&&o<=246)return o-139;if(o>=247&&o<=250)return a=n.parseByte(),(o-247)*256+a+108;if(o>=251&&o<=254)return a=n.parseByte(),-(o-251)*256-a-108;throw new Error("Invalid b0 "+o)}function kr(n){let o={};for(let a=0;a<n.length;a+=1){let d=n[a][0],f=n[a][1],m;if(f.length===1?m=f[0]:m=f,Object.prototype.hasOwnProperty.call(o,d)&&!isNaN(o[d]))throw new Error("Object "+o+" already has key "+d);o[d]=m}return o}function hr(n,o,a,d){o=o!==void 0?o:0;let f=new lt.Parser(n,o),m=[],y=[];a=a!==void 0?a:n.byteLength;let w=d<2?22:28;for(;f.relativeOffset<a;){let T=f.parseByte();if(T<w){if(T===12&&(T=1200+f.parseByte()),d>1&&T===23){ws(y);continue}m.push([T,y]),y=[]}else y.push(jr(f,T,d))}return kr(m)}function tn(n,o){return o<=390?o=Ms[o]:n?o=n[o-391]:o=void 0,o}function Jr(n,o,a){let d={},f;for(let m=0;m<o.length;m+=1){let y=o[m];if(Array.isArray(y.type)){let w=[];w.length=y.type.length;for(let T=0;T<y.type.length;T++)f=n[y.op]!==void 0?n[y.op][T]:void 0,f===void 0&&(f=y.value!==void 0&&y.value[T]!==void 0?y.value[T]:null),y.type[T]==="SID"&&(f=tn(a,f)),w[T]=f;d[y.name]=w}else f=n[y.op],f===void 0&&(f=y.value!==void 0?y.value:null),y.type==="SID"&&(f=tn(a,f)),d[y.name]=f}return d}function ir(n,o){let a={};if(a.formatMajor=lt.getCard8(n,o),a.formatMinor=lt.getCard8(n,o+1),a.formatMajor>2)throw new Error(`Unsupported CFF table version ${a.formatMajor}.${a.formatMinor}`);return a.size=lt.getCard8(n,o+2),a.formatMajor<2?(a.offsetSize=lt.getCard8(n,o+3),a.startOffset=o,a.endOffset=o+4):(a.topDictLength=lt.getCard16(n,o+3),a.endOffset=o+8),a}var Ut=[{name:"version",op:0,type:"SID"},{name:"notice",op:1,type:"SID"},{name:"copyright",op:1200,type:"SID"},{name:"fullName",op:2,type:"SID"},{name:"familyName",op:3,type:"SID"},{name:"weight",op:4,type:"SID"},{name:"isFixedPitch",op:1201,type:"number",value:0},{name:"italicAngle",op:1202,type:"number",value:0},{name:"underlinePosition",op:1203,type:"number",value:-100},{name:"underlineThickness",op:1204,type:"number",value:50},{name:"paintType",op:1205,type:"number",value:0},{name:"charstringType",op:1206,type:"number",value:2},{name:"fontMatrix",op:1207,type:["real","real","real","real","real","real"],value:[.001,0,0,.001,0,0]},{name:"uniqueId",op:13,type:"number"},{name:"fontBBox",op:5,type:["number","number","number","number"],value:[0,0,0,0]},{name:"strokeWidth",op:1208,type:"number",value:0},{name:"xuid",op:14,type:[],value:null},{name:"charset",op:15,type:"offset",value:0},{name:"encoding",op:16,type:"offset",value:0},{name:"charStrings",op:17,type:"offset",value:0},{name:"private",op:18,type:["number","offset"],value:[0,0]},{name:"ros",op:1230,type:["SID","SID","number"]},{name:"cidFontVersion",op:1231,type:"number",value:0},{name:"cidFontRevision",op:1232,type:"number",value:0},{name:"cidFontType",op:1233,type:"number",value:0},{name:"cidCount",op:1234,type:"number",value:8720},{name:"uidBase",op:1235,type:"number"},{name:"fdArray",op:1236,type:"offset"},{name:"fdSelect",op:1237,type:"offset"},{name:"fontName",op:1238,type:"SID"}],jt=[{name:"fontMatrix",op:1207,type:["real","real","real","real","real","real"],value:[.001,0,0,.001,0,0]},{name:"charStrings",op:17,type:"offset"},{name:"fdArray",op:1236,type:"offset"},{name:"fdSelect",op:1237,type:"offset"},{name:"vstore",op:24,type:"offset"}],xr=[{name:"subrs",op:19,type:"offset",value:0},{name:"defaultWidthX",op:20,type:"number",value:0},{name:"nominalWidthX",op:21,type:"number",value:0}],Xt=[{name:"blueValues",op:6,type:"delta"},{name:"otherBlues",op:7,type:"delta"},{name:"familyBlues",op:7,type:"delta"},{name:"familyBlues",op:8,type:"delta"},{name:"familyOtherBlues",op:9,type:"delta"},{name:"blueScale",op:1209,type:"number",value:.039625},{name:"blueShift",op:1210,type:"number",value:7},{name:"blueFuzz",op:1211,type:"number",value:1},{name:"stdHW",op:10,type:"number"},{name:"stdVW",op:11,type:"number"},{name:"stemSnapH",op:1212,type:"number"},{name:"stemSnapV",op:1213,type:"number"},{name:"languageGroup",op:1217,type:"number",value:0},{name:"expansionFactor",op:1218,type:"number",value:.06},{name:"vsindex",op:22,type:"number",value:0},{name:"subrs",op:19,type:"offset"}],fr=[{name:"private",op:18,type:["number","offset"],value:[0,0]}];function dn(n,o,a,d){let f=hr(n,o,n.byteLength,d);return Jr(f,d>1?jt:Ut,a)}function vs(n,o,a,d,f){let m=hr(n,o,a,f);return Jr(m,f>1?Xt:xr,d)}function si(n,o,a){let d=hr(n,o,void 0,a);return Jr(d,fr)}function hn(n,o,a){let d=[];for(let f=0;f<a.length;f++){let m=new DataView(new Uint8Array(a[f]).buffer),y=si(m,0,2),w=y.private[0],T=y.private[1];if(w!==0&&T!==0){let N=vs(n,T+o,w,[],2);if(N.subrs){let E=T+N.subrs,z=yt(n,E+o,void 0,2);y._subrs=z.objects,y._subrsBias=Vt(y._subrs)}y._privateDict=N}d.push(y)}return d}function Zr(n,o,a,d,f){let m=[];for(let y=0;y<a.length;y+=1){let w=new DataView(new Uint8Array(a[y]).buffer),T=dn(w,0,d,f);T._subrs=[],T._subrsBias=0,T._defaultWidthX=0,T._nominalWidthX=0;let N=f<2?T.private[0]:0,E=f<2?T.private[1]:0;if(N!==0&&E!==0){let z=vs(n,E+o,N,d,f);if(T._defaultWidthX=z.defaultWidthX,T._nominalWidthX=z.nominalWidthX,z.subrs!==0){let $=E+z.subrs,ne=yt(n,$+o,void 0,f);T._subrs=ne.objects,T._subrsBias=Vt(T._subrs)}T._privateDict=z}m.push(T)}return m}function Pn(n,o,a,d,f){let m,y,w=new lt.Parser(n,o);a-=1;let T=[".notdef"],N=w.parseCard8();if(N===0)for(let E=0;E<a;E+=1)m=w.parseSID(),f?T.push(m):T.push(tn(d,m)||m);else if(N===1)for(;T.length<=a;){m=w.parseSID(),y=w.parseCard8();for(let E=0;E<=y;E+=1)f?T.push("cid"+("00000"+m).slice(-5)):T.push(tn(d,m)||m),m+=1}else if(N===2)for(;T.length<=a;){m=w.parseSID(),y=w.parseCard16();for(let E=0;E<=y;E+=1)f?T.push("cid"+("00000"+m).slice(-5)):T.push(tn(d,m)||m),m+=1}else throw new Error("Unknown charset format "+N);return T}function Vi(n,o){let a,d={},f=new lt.Parser(n,o),m=f.parseCard8();if(m===0){let y=f.parseCard8();for(let w=0;w<y;w+=1)a=f.parseCard8(),d[a]=w}else if(m===1){let y=f.parseCard8();a=1;for(let w=0;w<y;w+=1){let T=f.parseCard8(),N=f.parseCard8();for(let E=T;E<=T+N;E+=1)d[E]=a,a+=1}}else throw new Error("Unknown encoding format "+m);return d}function ws(n){let o=n.pop();for(;n.length>o;)n.pop()}function us(n,o){let a=n.tables.cff&&n.tables.cff.topDict&&n.tables.cff.topDict.paintType||0;return a===2&&(o.fill=null,o.stroke="black",o.strokeWidth=n.tables.cff.topDict.strokeWidth||0),a}function yi(n,o,a,d,f){let m,y,w,T,N=new rt,E=[],z=0,$=!1,ne=!1,Y=0,le=0,Pe,Ht,Pt,nr,Cr=0,pn=[],In,kn=0,Ls=n.tables.cff2||n.tables.cff;if(Pt=Ls.topDict._defaultWidthX,nr=Ls.topDict._nominalWidthX,f=f||n.variation&&n.variation.get(),o.getBlendPath||(o.getBlendPath=function(Nt){return yi(n,o,a,d,Nt)}),n.isCIDFont||d>1){let Nt=Ls.topDict._fdSelect?Ls.topDict._fdSelect[o.index]:0,Bt=Ls.topDict._fdArray[Nt];Pe=Bt._subrs,Ht=Bt._subrsBias,d>1?(pn=Ls.topDict._vstore.itemVariationStore,Cr=Bt._privateDict.vsindex):(Pt=Bt._defaultWidthX,nr=Bt._nominalWidthX)}else Pe=Ls.topDict._subrs,Ht=Ls.topDict._subrsBias;let qo=us(n,N),_r=Pt;function lo(Nt,Bt){ne&&qo!==2&&N.closePath(),N.moveTo(Nt,Bt),ne=!0}function Di(){let Nt;Nt=(E.length&1)!==0,Nt&&!$&&(_r=E.shift()+nr),z+=E.length>>1,E.length=0,$=!0}function Wt(Nt){let Bt,Ci,fl,bu,Rl,Zo,Bi,To,_i,co,Qi,ji,ms=0;for(;ms<Nt.length;){let Co=Nt[ms];switch(ms+=1,Co){case 1:Di();break;case 3:Di();break;case 4:E.length>1&&!$&&(_r=E.shift()+nr,$=!0),le+=E.pop(),lo(Y,le);break;case 5:for(;E.length>0;)Y+=E.shift(),le+=E.shift(),N.lineTo(Y,le);break;case 6:for(;E.length>0&&(Y+=E.shift(),N.lineTo(Y,le),E.length!==0);)le+=E.shift(),N.lineTo(Y,le);break;case 7:for(;E.length>0&&(le+=E.shift(),N.lineTo(Y,le),E.length!==0);)Y+=E.shift(),N.lineTo(Y,le);break;case 8:for(;E.length>0;)m=Y+E.shift(),y=le+E.shift(),w=m+E.shift(),T=y+E.shift(),Y=w+E.shift(),le=T+E.shift(),N.curveTo(m,y,w,T,Y,le);break;case 10:if(Rl=E.pop()+Ht,Zo=Pe[Rl],Zo){if(kn>=st){console.warn("CFF charstring subroutine call depth exceeded, skipping callsubr");break}kn++,Wt(Zo),kn--}break;case 11:if(d>1){console.error("CFF CharString operator return (11) is not supported in CFF2");break}return;case 12:switch(Co=Nt[ms],ms+=1,Co){case 35:m=Y+E.shift(),y=le+E.shift(),w=m+E.shift(),T=y+E.shift(),Bi=w+E.shift(),To=T+E.shift(),_i=Bi+E.shift(),co=To+E.shift(),Qi=_i+E.shift(),ji=co+E.shift(),Y=Qi+E.shift(),le=ji+E.shift(),E.shift(),N.curveTo(m,y,w,T,Bi,To),N.curveTo(_i,co,Qi,ji,Y,le);break;case 34:m=Y+E.shift(),y=le,w=m+E.shift(),T=y+E.shift(),Bi=w+E.shift(),To=T,_i=Bi+E.shift(),co=T,Qi=_i+E.shift(),ji=le,Y=Qi+E.shift(),N.curveTo(m,y,w,T,Bi,To),N.curveTo(_i,co,Qi,ji,Y,le);break;case 36:m=Y+E.shift(),y=le+E.shift(),w=m+E.shift(),T=y+E.shift(),Bi=w+E.shift(),To=T,_i=Bi+E.shift(),co=T,Qi=_i+E.shift(),ji=co+E.shift(),Y=Qi+E.shift(),N.curveTo(m,y,w,T,Bi,To),N.curveTo(_i,co,Qi,ji,Y,le);break;case 37:m=Y+E.shift(),y=le+E.shift(),w=m+E.shift(),T=y+E.shift(),Bi=w+E.shift(),To=T+E.shift(),_i=Bi+E.shift(),co=To+E.shift(),Qi=_i+E.shift(),ji=co+E.shift(),Math.abs(Qi-Y)>Math.abs(ji-le)?Y=Qi+E.shift():le=ji+E.shift(),N.curveTo(m,y,w,T,Bi,To),N.curveTo(_i,co,Qi,ji,Y,le);break;default:console.log("Glyph "+o.index+": unknown operator 1200"+Co),E.length=0}break;case 14:if(d>1){console.error("CFF CharString operator endchar (14) is not supported in CFF2");break}if(E.length>=4){let Ml=ge[E.pop()],u0=ge[E.pop()],yu=E.pop(),vu=E.pop();if(Ml&&u0){o.isComposite=!0,o.components=[];let O1=n.cffEncoding.charset.indexOf(Ml),F1=n.cffEncoding.charset.indexOf(u0);o.components.push({glyphIndex:F1,dx:0,dy:0}),o.components.push({glyphIndex:O1,dx:vu,dy:yu}),N.extend(n.glyphs.get(F1).path);let Hy=n.glyphs.get(O1),ph=JSON.parse(JSON.stringify(Hy.path.commands));for(let mh=0;mh<ph.length;mh+=1){let xa=ph[mh];xa.type!=="Z"&&(xa.x+=vu,xa.y+=yu),(xa.type==="Q"||xa.type==="C")&&(xa.x1+=vu,xa.y1+=yu),xa.type==="C"&&(xa.x2+=vu,xa.y2+=yu)}N.extend(ph)}}else E.length>0&&!$&&(_r=E.shift()+nr,$=!0);ne&&qo!==2&&(N.closePath(),ne=!1);break;case 15:if(d<2){console.error("CFF2 CharString operator vsindex (15) is not supported in CFF");break}Cr=E.pop();break;case 16:if(d<2){console.error("CFF2 CharString operator blend (16) is not supported in CFF");break}In||(In=n.variation&&f&&n.variation.process.getBlendVector(pn,Cr,f));var Dn=E.pop(),Yi=In?In.length:pn.itemVariationSubtables[Cr].regionIndexes.length,So=Dn*Yi,Yo=E.length-So,za=Yo-Dn;if(In)for(let Ml=0;Ml<Dn;Ml++){var P1=E[za+Ml];for(let u0=0;u0<Yi;u0++)P1+=In[u0]*E[Yo++];E[za+Ml]=P1}for(;So--;)E.pop();break;case 18:Di();break;case 19:case 20:Di(),ms+=z+7>>3;break;case 21:E.length>2&&!$&&(_r=E.shift()+nr,$=!0),le+=E.pop(),Y+=E.pop(),lo(Y,le);break;case 22:E.length>1&&!$&&(_r=E.shift()+nr,$=!0),Y+=E.pop(),lo(Y,le);break;case 23:Di();break;case 24:for(;E.length>2;)m=Y+E.shift(),y=le+E.shift(),w=m+E.shift(),T=y+E.shift(),Y=w+E.shift(),le=T+E.shift(),N.curveTo(m,y,w,T,Y,le);Y+=E.shift(),le+=E.shift(),N.lineTo(Y,le);break;case 25:for(;E.length>6;)Y+=E.shift(),le+=E.shift(),N.lineTo(Y,le);m=Y+E.shift(),y=le+E.shift(),w=m+E.shift(),T=y+E.shift(),Y=w+E.shift(),le=T+E.shift(),N.curveTo(m,y,w,T,Y,le);break;case 26:for(E.length&1&&(Y+=E.shift());E.length>0;)m=Y,y=le+E.shift(),w=m+E.shift(),T=y+E.shift(),Y=w,le=T+E.shift(),N.curveTo(m,y,w,T,Y,le);break;case 27:for(E.length&1&&(le+=E.shift());E.length>0;)m=Y+E.shift(),y=le,w=m+E.shift(),T=y+E.shift(),Y=w+E.shift(),le=T,N.curveTo(m,y,w,T,Y,le);break;case 28:Bt=Nt[ms],Ci=Nt[ms+1],E.push((Bt<<24|Ci<<16)>>16),ms+=2;break;case 29:if(Rl=E.pop()+n.gsubrsBias,Zo=n.gsubrs[Rl],Zo){if(kn>=st){console.warn("CFF charstring subroutine call depth exceeded, skipping callgsubr");break}kn++,Wt(Zo),kn--}break;case 30:for(;E.length>0&&(m=Y,y=le+E.shift(),w=m+E.shift(),T=y+E.shift(),Y=w+E.shift(),le=T+(E.length===1?E.shift():0),N.curveTo(m,y,w,T,Y,le),E.length!==0);)m=Y+E.shift(),y=le,w=m+E.shift(),T=y+E.shift(),le=T+E.shift(),Y=w+(E.length===1?E.shift():0),N.curveTo(m,y,w,T,Y,le);break;case 31:for(;E.length>0&&(m=Y+E.shift(),y=le,w=m+E.shift(),T=y+E.shift(),le=T+E.shift(),Y=w+(E.length===1?E.shift():0),N.curveTo(m,y,w,T,Y,le),E.length!==0);)m=Y,y=le+E.shift(),w=m+E.shift(),T=y+E.shift(),Y=w+E.shift(),le=T+(E.length===1?E.shift():0),N.curveTo(m,y,w,T,Y,le);break;default:Co<32?console.log("Glyph "+o.index+": unknown operator "+Co):Co<247?E.push(Co-139):Co<251?(Bt=Nt[ms],ms+=1,E.push((Co-247)*256+Bt+108)):Co<255?(Bt=Nt[ms],ms+=1,E.push(-(Co-251)*256-Bt-108)):(Bt=Nt[ms],Ci=Nt[ms+1],fl=Nt[ms+2],bu=Nt[ms+3],ms+=4,E.push((Bt<<24|Ci<<16|fl<<8|bu)/65536))}}}return Wt(a),n.variation&&f&&(N.commands=N.commands.map(Nt=>{let Bt=Object.keys(Nt);for(let Ci=0;Ci<Bt.length;Ci++){let fl=Bt[Ci];fl!=="type"&&(Nt[fl]=Math.round(Nt[fl]))}return Nt})),$&&(o.advanceWidth=_r),N}function Gr(n,o,a,d,f){let m=[],y,w=new lt.Parser(n,o),T=w.parseCard8();if(T===0)for(let N=0;N<a;N++){if(y=w.parseCard8(),y>=d)throw new Error("CFF table CID Font FDSelect has bad FD index value "+y+" (FD count "+d+")");m.push(y)}else if(T===3||f>1&&T===4){let N=T===4?w.parseULong():w.parseCard16(),E=T===4?w.parseULong():w.parseCard16();if(E!==0)throw new Error(`CFF Table CID Font FDSelect format ${T} range has bad initial GID ${E}`);let z;for(let $=0;$<N;$++){if(y=T===4?w.parseUShort():w.parseCard8(),z=T===4?w.parseULong():w.parseCard16(),y>=d)throw new Error("CFF table CID Font FDSelect has bad FD index value "+y+" (FD count "+d+")");if(z>a)throw new Error(`CFF Table CID Font FDSelect format ${f} range has bad GID ${z}`);for(;E<z;E++)m.push(y);E=z}if(z!==a)throw new Error("CFF Table CID Font FDSelect format 3 range has bad final (Sentinal) GID "+z)}else throw new Error("CFF Table CID Font FDSelect table has unsupported format "+T);return m}function qi(n,o,a,d){let f,m=ir(n,o);m.formatMajor===2?f=a.tables.cff2={}:f=a.tables.cff={};let y=m.formatMajor>1?null:yt(n,m.endOffset,lt.bytesToString),w=m.formatMajor>1?null:yt(n,y.endOffset),T=m.formatMajor>1?null:yt(n,w.endOffset,lt.bytesToString),N=yt(n,m.formatMajor>1?o+m.size+m.topDictLength:T.endOffset,void 0,m.formatMajor);a.gsubrs=N.objects,a.gsubrsBias=Vt(a.gsubrs);let E;if(m.formatMajor>1){let $=o+m.size,ne=lt.getBytes(n,$,$+m.topDictLength);E=Zr(n,0,[ne],void 0,m.formatMajor)[0]}else{let $=Zr(n,o,w.objects,T.objects,m.formatMajor);if($.length!==1)throw new Error("CFF table has too many fonts in 'FontSet' - count of fonts NameIndex.length = "+$.length);E=$[0]}if(f.topDict=E,E._privateDict&&(a.defaultWidthX=E._privateDict.defaultWidthX,a.nominalWidthX=E._privateDict.nominalWidthX),m.formatMajor<2&&E.ros[0]!==void 0&&E.ros[1]!==void 0&&(a.isCIDFont=!0),m.formatMajor>1){let $=E.fdArray,ne=E.fdSelect;if(!$)throw new Error("This is a CFF2 font, but FDArray information is missing");let Y=yt(n,o+$,null,m.formatMajor),le=hn(n,o,Y.objects);E._fdArray=le,ne&&(E._fdSelect=Gr(n,o+ne,a.numGlyphs,le.length,m.formatMajor))}else if(a.isCIDFont){let $=E.fdArray,ne=E.fdSelect;if($===0||ne===0)throw new Error("Font is marked as a CID font, but FDArray and/or FDSelect information is missing");$+=o;let Y=yt(n,$),le=Zr(n,o,Y.objects,T.objects,m.formatMajor);E._fdArray=le,ne+=o,E._fdSelect=Gr(n,ne,a.numGlyphs,le.length,m.formatMajor)}if(m.formatMajor<2){let $=o+E.private[1],ne=vs(n,$,E.private[0],T.objects,m.formatMajor);if(a.defaultWidthX=ne.defaultWidthX,a.nominalWidthX=ne.nominalWidthX,ne.subrs!==0){let Y=$+ne.subrs,le=yt(n,Y);a.subrs=le.objects,a.subrsBias=Vt(a.subrs)}else a.subrs=[],a.subrsBias=0}let z;if(d.lowMemory?(z=It(n,o+E.charStrings,m.formatMajor),a.nGlyphs=z.offsets.length-(m.formatMajor>1?1:0)):(z=yt(n,o+E.charStrings,null,m.formatMajor),a.nGlyphs=z.objects.length),m.formatMajor>1&&a.tables.maxp&&a.nGlyphs!==a.tables.maxp.numGlyphs&&console.error(`Glyph count in the CFF2 table (${a.nGlyphs}) must correspond to the glyph count in the maxp table (${a.tables.maxp.numGlyphs})`),m.formatMajor<2){let $=[],ne=[];E.charset===0?$=V:E.charset===1?$=ue:E.charset===2?$=He:$=Pn(n,o+E.charset,a.nGlyphs,T.objects,a.isCIDFont),E.encoding===0?ne=ge:E.encoding===1?ne=Ce:ne=Vi(n,o+E.encoding),a.cffEncoding=new We(ne,$),a.encoding=a.encoding||a.cffEncoding}if(a.glyphs=new ye.GlyphSet(a),d.lowMemory)a._push=function($){let ne=Fr($,z.offsets,n,o+E.charStrings,void 0,m.formatMajor);a.glyphs.push($,ye.cffGlyphLoader(a,$,yi,ne,m.formatMajor))};else for(let $=0;$<a.nGlyphs;$+=1){let ne=z.objects[$];a.glyphs.push($,ye.cffGlyphLoader(a,$,yi,ne,m.formatMajor))}if(E.vstore){let $=new lt.Parser(n,o+E.vstore);E._vstore=$.parseVariationStore()}}function Ns(n,o){let a,d=Ms.indexOf(n);return d>=0&&(a=d),d=o.indexOf(n),d>=0?a=d+Ms.length:(a=Ms.length+o.length,o.push(n)),a}function Ma(){return new Ne.Record("Header",[{name:"major",type:"Card8",value:1},{name:"minor",type:"Card8",value:0},{name:"hdrSize",type:"Card8",value:4},{name:"major",type:"Card8",value:1}])}function ro(n){let o=new Ne.Record("Name INDEX",[{name:"names",type:"INDEX",value:[]}]);o.names=[];for(let a=0;a<n.length;a+=1)o.names.push({name:"name_"+a,type:"NAME",value:n[a]});return o}function Na(n,o,a){let d={};for(let f=0;f<n.length;f+=1){let m=n[f],y=o[m.name];y!==void 0&&!Xe(y,m.value)&&(m.type==="SID"&&(y=Ns(y,a)),d[m.op]={name:m.name,type:m.type,value:y})}return d}function ia(n,o,a){let d=new Ne.Record("Top DICT",[{name:"dict",type:"DICT",value:{}}]);return d.dict=Na(a>1?jt:Ut,n,o),d}function Po(n){let o=new Ne.Record("Top DICT INDEX",[{name:"topDicts",type:"INDEX",value:[]}]);return o.topDicts=[{name:"topDict_0",type:"TABLE",value:n}],o}function no(n){let o=new Ne.Record("String INDEX",[{name:"strings",type:"INDEX",value:[]}]);o.strings=[];for(let a=0;a<n.length;a+=1)o.strings.push({name:"string_"+a,type:"STRING",value:n[a]});return o}function Oo(){return new Ne.Record("Global Subr INDEX",[{name:"subrs",type:"INDEX",value:[]}])}function oa(n,o){let a=new Ne.Record("Charsets",[{name:"format",type:"Card8",value:0}]);for(let d=0;d<n.length;d+=1){let f=n[d],m=Ns(f,o);a.fields.push({name:"glyph_"+d,type:"SID",value:m})}return a}function Ii(n,o){let a=[],d=n.path;o<2&&a.push({name:"width",type:"NUMBER",value:n.advanceWidth});let f=0,m=0;for(let y=0;y<d.commands.length;y+=1){let w,T,N=d.commands[y];if(N.type==="Q"){let E=.3333333333333333,z=2/3;N={type:"C",x:N.x,y:N.y,x1:Math.round(E*f+z*N.x1),y1:Math.round(E*m+z*N.y1),x2:Math.round(E*N.x+z*N.x1),y2:Math.round(E*N.y+z*N.y1)}}if(N.type==="M")w=Math.round(N.x-f),T=Math.round(N.y-m),a.push({name:"dx",type:"NUMBER",value:w}),a.push({name:"dy",type:"NUMBER",value:T}),a.push({name:"rmoveto",type:"OP",value:21}),f=Math.round(N.x),m=Math.round(N.y);else if(N.type==="L")w=Math.round(N.x-f),T=Math.round(N.y-m),a.push({name:"dx",type:"NUMBER",value:w}),a.push({name:"dy",type:"NUMBER",value:T}),a.push({name:"rlineto",type:"OP",value:5}),f=Math.round(N.x),m=Math.round(N.y);else if(N.type==="C"){let E=Math.round(N.x1-f),z=Math.round(N.y1-m),$=Math.round(N.x2-N.x1),ne=Math.round(N.y2-N.y1);w=Math.round(N.x-N.x2),T=Math.round(N.y-N.y2),a.push({name:"dx1",type:"NUMBER",value:E}),a.push({name:"dy1",type:"NUMBER",value:z}),a.push({name:"dx2",type:"NUMBER",value:$}),a.push({name:"dy2",type:"NUMBER",value:ne}),a.push({name:"dx",type:"NUMBER",value:w}),a.push({name:"dy",type:"NUMBER",value:T}),a.push({name:"rrcurveto",type:"OP",value:8}),f=Math.round(N.x),m=Math.round(N.y)}}return o<2&&a.push({name:"endchar",type:"OP",value:14}),a}function ki(n,o){let a=new Ne.Record("CharStrings INDEX",[{name:"charStrings",type:"INDEX",value:[]}]);for(let d=0;d<n.length;d+=1){let f=n.get(d),m=Ii(f,o);a.charStrings.push({name:f.name,type:"CHARSTRING",value:m})}return a}function As(n,o,a){let d=new Ne.Record("Private DICT",[{name:"dict",type:"DICT",value:{}}]);return d.dict=Na(a>1?Xt:xr,n,o),d}function Ts(n,o){let a=new Ne.Table("CFF ",[{name:"header",type:"RECORD"},{name:"nameIndex",type:"RECORD"},{name:"topDictIndex",type:"RECORD"},{name:"stringIndex",type:"RECORD"},{name:"globalSubrIndex",type:"RECORD"},{name:"charsets",type:"RECORD"},{name:"charStringsIndex",type:"RECORD"},{name:"privateDict",type:"RECORD"}]),d=1/o.unitsPerEm,f={version:o.version,fullName:o.fullName,familyName:o.familyName,weight:o.weightName,fontBBox:o.fontBBox||[0,0,0,0],fontMatrix:[d,0,0,d,0,0],charset:999,encoding:0,charStrings:999,private:[0,999]},m=o&&o.topDict||{};m.paintType&&(f.paintType=m.paintType,f.strokeWidth=m.strokeWidth||0);let y={},w=[],T;for(let $=1;$<n.length;$+=1)T=n.get($),w.push(T.name);let N=[];a.header=Ma(),a.nameIndex=ro([o.postScriptName]);let E=ia(f,N);a.topDictIndex=Po(E),a.globalSubrIndex=Oo(),a.charsets=oa(w,N),a.charStringsIndex=ki(n,1),a.privateDict=As(y,N),a.stringIndex=no(N);let z=a.header.sizeOf()+a.nameIndex.sizeOf()+a.topDictIndex.sizeOf()+a.stringIndex.sizeOf()+a.globalSubrIndex.sizeOf();return f.charset=z,f.encoding=0,f.charStrings=f.charset+a.charsets.sizeOf(),f.private[1]=f.charStrings+a.charStringsIndex.sizeOf(),E=ia(f,N),a.topDictIndex=Po(E),a}var Ei={parse:qi,make:Ts};function vi(n,o){let a={},d=new lt.Parser(n,o);return a.version=d.parseVersion(),a.fontRevision=Math.round(d.parseFixed()*1e3)/1e3,a.checkSumAdjustment=d.parseULong(),a.magicNumber=d.parseULong(),K.argument(a.magicNumber===1594834165,"Font header has wrong magic number."),a.flags=d.parseUShort(),a.unitsPerEm=d.parseUShort(),a.created=d.parseLongDateTime(),a.modified=d.parseLongDateTime(),a.xMin=d.parseShort(),a.yMin=d.parseShort(),a.xMax=d.parseShort(),a.yMax=d.parseShort(),a.macStyle=d.parseUShort(),a.lowestRecPPEM=d.parseUShort(),a.fontDirectionHint=d.parseShort(),a.indexToLocFormat=d.parseShort(),a.glyphDataFormat=d.parseShort(),a}function bo(n){let o=Math.round(new Date().getTime()/1e3)+2082844800,a=o,d=n.macStyle||0;return n.createdTimestamp&&(a=n.createdTimestamp+2082844800),new Ne.Table("head",[{name:"version",type:"FIXED",value:65536},{name:"fontRevision",type:"FIXED",value:65536},{name:"checkSumAdjustment",type:"ULONG",value:0},{name:"magicNumber",type:"ULONG",value:1594834165},{name:"flags",type:"USHORT",value:0},{name:"unitsPerEm",type:"USHORT",value:1e3},{name:"created",type:"LONGDATETIME",value:a},{name:"modified",type:"LONGDATETIME",value:o},{name:"xMin",type:"SHORT",value:0},{name:"yMin",type:"SHORT",value:0},{name:"xMax",type:"SHORT",value:0},{name:"yMax",type:"SHORT",value:0},{name:"macStyle",type:"USHORT",value:d},{name:"lowestRecPPEM",type:"USHORT",value:0},{name:"fontDirectionHint",type:"SHORT",value:2},{name:"indexToLocFormat",type:"SHORT",value:0},{name:"glyphDataFormat",type:"SHORT",value:0}],n)}var aa={parse:vi,make:bo};function Da(n,o){let a={},d=new lt.Parser(n,o);return a.version=d.parseVersion(),a.ascender=d.parseShort(),a.descender=d.parseShort(),a.lineGap=d.parseShort(),a.advanceWidthMax=d.parseUShort(),a.minLeftSideBearing=d.parseShort(),a.minRightSideBearing=d.parseShort(),a.xMaxExtent=d.parseShort(),a.caretSlopeRise=d.parseShort(),a.caretSlopeRun=d.parseShort(),a.caretOffset=d.parseShort(),d.relativeOffset+=8,a.metricDataFormat=d.parseShort(),a.numberOfHMetrics=d.parseUShort(),a}function wi(n){return new Ne.Table("hhea",[{name:"version",type:"FIXED",value:65536},{name:"ascender",type:"FWORD",value:0},{name:"descender",type:"FWORD",value:0},{name:"lineGap",type:"FWORD",value:0},{name:"advanceWidthMax",type:"UFWORD",value:0},{name:"minLeftSideBearing",type:"FWORD",value:0},{name:"minRightSideBearing",type:"FWORD",value:0},{name:"xMaxExtent",type:"FWORD",value:0},{name:"caretSlopeRise",type:"SHORT",value:1},{name:"caretSlopeRun",type:"SHORT",value:0},{name:"caretOffset",type:"SHORT",value:0},{name:"reserved1",type:"SHORT",value:0},{name:"reserved2",type:"SHORT",value:0},{name:"reserved3",type:"SHORT",value:0},{name:"reserved4",type:"SHORT",value:0},{name:"metricDataFormat",type:"SHORT",value:0},{name:"numberOfHMetrics",type:"USHORT",value:0}],n)}var yo={parse:Da,make:wi};function tl(n,o,a,d,f){let m,y,w=new lt.Parser(n,o);for(let T=0;T<d;T+=1){T<a&&(m=w.parseUShort(),y=w.parseShort());let N=f.get(T);N.advanceWidth=m,N.leftSideBearing=y}}function la(n,o,a,d,f){n._hmtxTableData={};let m,y,w=new lt.Parser(o,a);for(let T=0;T<f;T+=1)T<d&&(m=w.parseUShort(),y=w.parseShort()),n._hmtxTableData[T]={advanceWidth:m,leftSideBearing:y}}function Ba(n,o,a,d,f,m,y){y.lowMemory?la(n,o,a,d,f):tl(o,a,d,f,m)}function Qa(n){let o=new Ne.Table("hmtx",[]);for(let a=0;a<n.length;a+=1){let d=n.get(a),f=d.advanceWidth||0,m=d.leftSideBearing||0;o.fields.push({name:"advanceWidth_"+a,type:"USHORT",value:f}),o.fields.push({name:"leftSideBearing_"+a,type:"SHORT",value:m})}return o}var Ss={parse:Ba,make:Qa};function so(n){let o=new Ne.Table("ltag",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"numTags",type:"ULONG",value:n.length}]),a="",d=12+n.length*4;for(let f=0;f<n.length;++f){let m=a.indexOf(n[f]);m<0&&(m=a.length,a+=n[f]),o.fields.push({name:"offset "+f,type:"USHORT",value:d+m}),o.fields.push({name:"length "+f,type:"USHORT",value:n[f].length})}return o.fields.push({name:"stringPool",type:"CHARARRAY",value:a}),o}function io(n,o){let a=new lt.Parser(n,o),d=a.parseULong();K.argument(d===1,"Unsupported ltag table version."),a.skip("uLong",1);let f=a.parseULong(),m=[];for(let y=0;y<f;y++){let w="",T=o+a.parseUShort(),N=a.parseUShort();for(let E=T;E<T+N;++E)w+=String.fromCharCode(n.getInt8(E));m.push(w)}return m}var ca={make:so,parse:io};function Ai(n,o){let a={},d=new lt.Parser(n,o);return a.version=d.parseVersion(),a.numGlyphs=d.parseUShort(),a.version===1&&(a.maxPoints=d.parseUShort(),a.maxContours=d.parseUShort(),a.maxCompositePoints=d.parseUShort(),a.maxCompositeContours=d.parseUShort(),a.maxZones=d.parseUShort(),a.maxTwilightPoints=d.parseUShort(),a.maxStorage=d.parseUShort(),a.maxFunctionDefs=d.parseUShort(),a.maxInstructionDefs=d.parseUShort(),a.maxStackElements=d.parseUShort(),a.maxSizeOfInstructions=d.parseUShort(),a.maxComponentElements=d.parseUShort(),a.maxComponentDepth=d.parseUShort()),a}function ns(n){return new Ne.Table("maxp",[{name:"version",type:"FIXED",value:20480},{name:"numGlyphs",type:"USHORT",value:n}])}var Ds={parse:Ai,make:ns},Bs=[{begin:0,end:127},{begin:128,end:255},{begin:256,end:383},{begin:384,end:591},{begin:592,end:687},{begin:688,end:767},{begin:768,end:879},{begin:880,end:1023},{begin:11392,end:11519},{begin:1024,end:1279},{begin:1328,end:1423},{begin:1424,end:1535},{begin:42240,end:42559},{begin:1536,end:1791},{begin:1984,end:2047},{begin:2304,end:2431},{begin:2432,end:2559},{begin:2560,end:2687},{begin:2688,end:2815},{begin:2816,end:2943},{begin:2944,end:3071},{begin:3072,end:3199},{begin:3200,end:3327},{begin:3328,end:3455},{begin:3584,end:3711},{begin:3712,end:3839},{begin:4256,end:4351},{begin:6912,end:7039},{begin:4352,end:4607},{begin:7680,end:7935},{begin:7936,end:8191},{begin:8192,end:8303},{begin:8304,end:8351},{begin:8352,end:8399},{begin:8400,end:8447},{begin:8448,end:8527},{begin:8528,end:8591},{begin:8592,end:8703},{begin:8704,end:8959},{begin:8960,end:9215},{begin:9216,end:9279},{begin:9280,end:9311},{begin:9312,end:9471},{begin:9472,end:9599},{begin:9600,end:9631},{begin:9632,end:9727},{begin:9728,end:9983},{begin:9984,end:10175},{begin:12288,end:12351},{begin:12352,end:12447},{begin:12448,end:12543},{begin:12544,end:12591},{begin:12592,end:12687},{begin:43072,end:43135},{begin:12800,end:13055},{begin:13056,end:13311},{begin:44032,end:55215},{begin:55296,end:57343},{begin:67840,end:67871},{begin:19968,end:40959},{begin:57344,end:63743},{begin:12736,end:12783},{begin:64256,end:64335},{begin:64336,end:65023},{begin:65056,end:65071},{begin:65040,end:65055},{begin:65104,end:65135},{begin:65136,end:65279},{begin:65280,end:65519},{begin:65520,end:65535},{begin:3840,end:4095},{begin:1792,end:1871},{begin:1920,end:1983},{begin:3456,end:3583},{begin:4096,end:4255},{begin:4608,end:4991},{begin:5024,end:5119},{begin:5120,end:5759},{begin:5760,end:5791},{begin:5792,end:5887},{begin:6016,end:6143},{begin:6144,end:6319},{begin:10240,end:10495},{begin:40960,end:42127},{begin:5888,end:5919},{begin:66304,end:66351},{begin:66352,end:66383},{begin:66560,end:66639},{begin:118784,end:119039},{begin:119808,end:120831},{begin:1044480,end:1048573},{begin:65024,end:65039},{begin:917504,end:917631},{begin:6400,end:6479},{begin:6480,end:6527},{begin:6528,end:6623},{begin:6656,end:6687},{begin:11264,end:11359},{begin:11568,end:11647},{begin:19904,end:19967},{begin:43008,end:43055},{begin:65536,end:65663},{begin:65856,end:65935},{begin:66432,end:66463},{begin:66464,end:66527},{begin:66640,end:66687},{begin:66688,end:66735},{begin:67584,end:67647},{begin:68096,end:68191},{begin:119552,end:119647},{begin:73728,end:74751},{begin:119648,end:119679},{begin:7040,end:7103},{begin:7168,end:7247},{begin:7248,end:7295},{begin:43136,end:43231},{begin:43264,end:43311},{begin:43312,end:43359},{begin:43520,end:43615},{begin:65936,end:65999},{begin:66e3,end:66047},{begin:66208,end:66271},{begin:127024,end:127135}];function ua(n){for(let o=0;o<Bs.length;o+=1){let a=Bs[o];if(n>=a.begin&&n<a.end)return o}return-1}function rl(n,o){let a={},d=new lt.Parser(n,o);a.version=d.parseUShort(),a.xAvgCharWidth=d.parseShort(),a.usWeightClass=d.parseUShort(),a.usWidthClass=d.parseUShort(),a.fsType=d.parseUShort(),a.ySubscriptXSize=d.parseShort(),a.ySubscriptYSize=d.parseShort(),a.ySubscriptXOffset=d.parseShort(),a.ySubscriptYOffset=d.parseShort(),a.ySuperscriptXSize=d.parseShort(),a.ySuperscriptYSize=d.parseShort(),a.ySuperscriptXOffset=d.parseShort(),a.ySuperscriptYOffset=d.parseShort(),a.yStrikeoutSize=d.parseShort(),a.yStrikeoutPosition=d.parseShort(),a.sFamilyClass=d.parseShort(),a.panose=[];for(let f=0;f<10;f++)a.panose[f]=d.parseByte();return a.ulUnicodeRange1=d.parseULong(),a.ulUnicodeRange2=d.parseULong(),a.ulUnicodeRange3=d.parseULong(),a.ulUnicodeRange4=d.parseULong(),a.achVendID=String.fromCharCode(d.parseByte(),d.parseByte(),d.parseByte(),d.parseByte()),a.fsSelection=d.parseUShort(),a.usFirstCharIndex=d.parseUShort(),a.usLastCharIndex=d.parseUShort(),a.sTypoAscender=d.parseShort(),a.sTypoDescender=d.parseShort(),a.sTypoLineGap=d.parseShort(),a.usWinAscent=d.parseUShort(),a.usWinDescent=d.parseUShort(),a.version>=1&&(a.ulCodePageRange1=d.parseULong(),a.ulCodePageRange2=d.parseULong()),a.version>=2&&(a.sxHeight=d.parseShort(),a.sCapHeight=d.parseShort(),a.usDefaultChar=d.parseUShort(),a.usBreakChar=d.parseUShort(),a.usMaxContent=d.parseUShort()),a}function da(n){return new Ne.Table("OS/2",[{name:"version",type:"USHORT",value:3},{name:"xAvgCharWidth",type:"SHORT",value:0},{name:"usWeightClass",type:"USHORT",value:0},{name:"usWidthClass",type:"USHORT",value:0},{name:"fsType",type:"USHORT",value:0},{name:"ySubscriptXSize",type:"SHORT",value:650},{name:"ySubscriptYSize",type:"SHORT",value:699},{name:"ySubscriptXOffset",type:"SHORT",value:0},{name:"ySubscriptYOffset",type:"SHORT",value:140},{name:"ySuperscriptXSize",type:"SHORT",value:650},{name:"ySuperscriptYSize",type:"SHORT",value:699},{name:"ySuperscriptXOffset",type:"SHORT",value:0},{name:"ySuperscriptYOffset",type:"SHORT",value:479},{name:"yStrikeoutSize",type:"SHORT",value:49},{name:"yStrikeoutPosition",type:"SHORT",value:258},{name:"sFamilyClass",type:"SHORT",value:0},{name:"bFamilyType",type:"BYTE",value:0},{name:"bSerifStyle",type:"BYTE",value:0},{name:"bWeight",type:"BYTE",value:0},{name:"bProportion",type:"BYTE",value:0},{name:"bContrast",type:"BYTE",value:0},{name:"bStrokeVariation",type:"BYTE",value:0},{name:"bArmStyle",type:"BYTE",value:0},{name:"bLetterform",type:"BYTE",value:0},{name:"bMidline",type:"BYTE",value:0},{name:"bXHeight",type:"BYTE",value:0},{name:"ulUnicodeRange1",type:"ULONG",value:0},{name:"ulUnicodeRange2",type:"ULONG",value:0},{name:"ulUnicodeRange3",type:"ULONG",value:0},{name:"ulUnicodeRange4",type:"ULONG",value:0},{name:"achVendID",type:"CHARARRAY",value:"XXXX"},{name:"fsSelection",type:"USHORT",value:0},{name:"usFirstCharIndex",type:"USHORT",value:0},{name:"usLastCharIndex",type:"USHORT",value:0},{name:"sTypoAscender",type:"SHORT",value:0},{name:"sTypoDescender",type:"SHORT",value:0},{name:"sTypoLineGap",type:"SHORT",value:0},{name:"usWinAscent",type:"USHORT",value:0},{name:"usWinDescent",type:"USHORT",value:0},{name:"ulCodePageRange1",type:"ULONG",value:0},{name:"ulCodePageRange2",type:"ULONG",value:0},{name:"sxHeight",type:"SHORT",value:0},{name:"sCapHeight",type:"SHORT",value:0},{name:"usDefaultChar",type:"USHORT",value:0},{name:"usBreakChar",type:"USHORT",value:0},{name:"usMaxContext",type:"USHORT",value:0}],n)}var ha={parse:rl,make:da,unicodeRanges:Bs,getUnicodeRange:ua};function ja(n,o){let a={},d=new lt.Parser(n,o);switch(a.version=d.parseVersion(),a.italicAngle=d.parseFixed(),a.underlinePosition=d.parseShort(),a.underlineThickness=d.parseShort(),a.isFixedPitch=d.parseULong(),a.minMemType42=d.parseULong(),a.maxMemType42=d.parseULong(),a.minMemType1=d.parseULong(),a.maxMemType1=d.parseULong(),a.version){case 1:a.names=Ve.slice();break;case 2:a.numberOfGlyphs=d.parseUShort(),a.glyphNameIndex=new Array(a.numberOfGlyphs);for(let f=0;f<a.numberOfGlyphs;f++)a.glyphNameIndex[f]=d.parseUShort();a.names=[];for(let f=0;f<a.numberOfGlyphs;f++)if(a.glyphNameIndex[f]>=Ve.length){let m=d.parseChar();a.names.push(d.parseString(m))}break;case 2.5:a.numberOfGlyphs=d.parseUShort(),a.offset=new Array(a.numberOfGlyphs);for(let f=0;f<a.numberOfGlyphs;f++)a.offset[f]=d.parseChar();break}return a}function Cs(n){let{italicAngle:o=Math.round((n.italicAngle||0)*65536),underlinePosition:a=0,underlineThickness:d=0,isFixedPitch:f=0,minMemType42:m=0,maxMemType42:y=0,minMemType1:w=0,maxMemType1:T=0}=n.tables.post||{};return new Ne.Table("post",[{name:"version",type:"FIXED",value:196608},{name:"italicAngle",type:"FIXED",value:o},{name:"underlinePosition",type:"FWORD",value:a},{name:"underlineThickness",type:"FWORD",value:d},{name:"isFixedPitch",type:"ULONG",value:f},{name:"minMemType42",type:"ULONG",value:m},{name:"maxMemType42",type:"ULONG",value:y},{name:"minMemType1",type:"ULONG",value:w},{name:"maxMemType1",type:"ULONG",value:T}])}var Un={parse:ja,make:Cs},Mn=new Array(9);Mn[1]=function(){let n=this.offset+this.relativeOffset,o=this.parseUShort();if(o===1)return{substFormat:1,coverage:this.parsePointer(ae.coverage),deltaGlyphId:this.parseShort()};if(o===2)return{substFormat:2,coverage:this.parsePointer(ae.coverage),substitute:this.parseOffset16List()};K.assert(!1,"0x"+n.toString(16)+": lookup type 1 format must be 1 or 2.")},Mn[2]=function(){let n=this.parseUShort();return K.argument(n===1,"GSUB Multiple Substitution Subtable identifier-format must be 1"),{substFormat:n,coverage:this.parsePointer(ae.coverage),sequences:this.parseListOfLists()}},Mn[3]=function(){let n=this.parseUShort();return K.argument(n===1,"GSUB Alternate Substitution Subtable identifier-format must be 1"),{substFormat:n,coverage:this.parsePointer(ae.coverage),alternateSets:this.parseListOfLists()}},Mn[4]=function(){let n=this.parseUShort();return K.argument(n===1,"GSUB ligature table identifier-format must be 1"),{substFormat:n,coverage:this.parsePointer(ae.coverage),ligatureSets:this.parseListOfLists(function(){return{ligGlyph:this.parseUShort(),components:this.parseUShortList(this.parseUShort()-1)}})}};var Qs={sequenceIndex:ae.uShort,lookupListIndex:ae.uShort};Mn[5]=function(){let n=this.offset+this.relativeOffset,o=this.parseUShort();if(o===1)return{substFormat:o,coverage:this.parsePointer(ae.coverage),ruleSets:this.parseListOfLists(function(){let a=this.parseUShort(),d=this.parseUShort();return{input:this.parseUShortList(a-1),lookupRecords:this.parseRecordList(d,Qs)}})};if(o===2)return{substFormat:o,coverage:this.parsePointer(ae.coverage),classDef:this.parsePointer(ae.classDef),classSets:this.parseListOfLists(function(){let a=this.parseUShort(),d=this.parseUShort();return{classes:this.parseUShortList(a-1),lookupRecords:this.parseRecordList(d,Qs)}})};if(o===3){let a=this.parseUShort(),d=this.parseUShort();return{substFormat:o,coverages:this.parseList(a,ae.pointer(ae.coverage)),lookupRecords:this.parseRecordList(d,Qs)}}K.assert(!1,"0x"+n.toString(16)+": lookup type 5 format must be 1, 2 or 3.")},Mn[6]=function(){let n=this.offset+this.relativeOffset,o=this.parseUShort();if(o===1)return{substFormat:1,coverage:this.parsePointer(ae.coverage),chainRuleSets:this.parseListOfLists(function(){return{backtrack:this.parseUShortList(),input:this.parseUShortList(this.parseShort()-1),lookahead:this.parseUShortList(),lookupRecords:this.parseRecordList(Qs)}})};if(o===2)return{substFormat:2,coverage:this.parsePointer(ae.coverage),backtrackClassDef:this.parsePointer(ae.classDef),inputClassDef:this.parsePointer(ae.classDef),lookaheadClassDef:this.parsePointer(ae.classDef),chainClassSet:this.parseListOfLists(function(){return{backtrack:this.parseUShortList(),input:this.parseUShortList(this.parseShort()-1),lookahead:this.parseUShortList(),lookupRecords:this.parseRecordList(Qs)}})};if(o===3)return{substFormat:3,backtrackCoverage:this.parseList(ae.pointer(ae.coverage)),inputCoverage:this.parseList(ae.pointer(ae.coverage)),lookaheadCoverage:this.parseList(ae.pointer(ae.coverage)),lookupRecords:this.parseRecordList(Qs)};K.assert(!1,"0x"+n.toString(16)+": lookup type 6 format must be 1, 2 or 3.")},Mn[7]=function(){let n=this.parseUShort();K.argument(n===1,"GSUB Extension Substitution subtable identifier-format must be 1");let o=this.parseUShort(),a=new ae(this.data,this.offset+this.parseULong());return{substFormat:1,lookupType:o,extension:Mn[o].call(a)}},Mn[8]=function(){let n=this.parseUShort();return K.argument(n===1,"GSUB Reverse Chaining Contextual Single Substitution Subtable identifier-format must be 1"),{substFormat:n,coverage:this.parsePointer(ae.coverage),backtrackCoverage:this.parseList(ae.pointer(ae.coverage)),lookaheadCoverage:this.parseList(ae.pointer(ae.coverage)),substitutes:this.parseUShortList()}};function ii(n,o){o=o||0;let a=new ae(n,o),d=a.parseVersion(1);return K.argument(d===1||d===1.1,"Unsupported GSUB table version."),d===1?{version:d,scripts:a.parseScriptList(),features:a.parseFeatureList(),lookups:a.parseLookupList(Mn)}:{version:d,scripts:a.parseScriptList(),features:a.parseFeatureList(),lookups:a.parseLookupList(Mn),variations:a.parseFeatureVariationsList()}}var Gs=new Array(9);Gs[1]=function(n){if(n.substFormat===1)return new Ne.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new Ne.Coverage(n.coverage)},{name:"deltaGlyphID",type:"SHORT",value:n.deltaGlyphId}]);if(n.substFormat===2)return new Ne.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:2},{name:"coverage",type:"TABLE",value:new Ne.Coverage(n.coverage)}].concat(Ne.ushortList("substitute",n.substitute)));K.fail("Lookup type 1 substFormat must be 1 or 2.")},Gs[2]=function(n){return K.assert(n.substFormat===1,"Lookup type 2 substFormat must be 1."),new Ne.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new Ne.Coverage(n.coverage)}].concat(Ne.tableList("seqSet",n.sequences,function(o){return new Ne.Table("sequenceSetTable",Ne.ushortList("sequence",o))})))},Gs[3]=function(n){return K.assert(n.substFormat===1,"Lookup type 3 substFormat must be 1."),new Ne.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new Ne.Coverage(n.coverage)}].concat(Ne.tableList("altSet",n.alternateSets,function(o){return new Ne.Table("alternateSetTable",Ne.ushortList("alternate",o))})))},Gs[4]=function(n){return K.assert(n.substFormat===1,"Lookup type 4 substFormat must be 1."),new Ne.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new Ne.Coverage(n.coverage)}].concat(Ne.tableList("ligSet",n.ligatureSets,function(o){return new Ne.Table("ligatureSetTable",Ne.tableList("ligature",o,function(a){return new Ne.Table("ligatureTable",[{name:"ligGlyph",type:"USHORT",value:a.ligGlyph}].concat(Ne.ushortList("component",a.components,a.components.length+1)))}))})))},Gs[5]=function(n){if(n.substFormat===1)return new Ne.Table("contextualSubstitutionTable",[{name:"substFormat",type:"USHORT",value:n.substFormat},{name:"coverage",type:"TABLE",value:new Ne.Coverage(n.coverage)}].concat(Ne.tableList("sequenceRuleSet",n.ruleSets,function(o){return o?new Ne.Table("sequenceRuleSetTable",Ne.tableList("sequenceRule",o,function(a){let d=Ne.ushortList("seqLookup",[],a.lookupRecords.length).concat(Ne.ushortList("inputSequence",a.input,a.input.length+1));[d[0],d[1]]=[d[1],d[0]];for(let f=0;f<a.lookupRecords.length;f++){let m=a.lookupRecords[f];d=d.concat({name:"sequenceIndex"+f,type:"USHORT",value:m.sequenceIndex}).concat({name:"lookupListIndex"+f,type:"USHORT",value:m.lookupListIndex})}return new Ne.Table("sequenceRuleTable",d)})):new Ne.Table("NULL",null)})));if(n.substFormat===2)return new Ne.Table("contextualSubstitutionTable",[{name:"substFormat",type:"USHORT",value:n.substFormat},{name:"coverage",type:"TABLE",value:new Ne.Coverage(n.coverage)},{name:"classDef",type:"TABLE",value:new Ne.ClassDef(n.classDef)}].concat(Ne.tableList("classSeqRuleSet",n.classSets,function(o){return o?new Ne.Table("classSeqRuleSetTable",Ne.tableList("classSeqRule",o,function(a){let d=Ne.ushortList("classes",a.classes,a.classes.length+1).concat(Ne.ushortList("seqLookupCount",[],a.lookupRecords.length));for(let f=0;f<a.lookupRecords.length;f++){let m=a.lookupRecords[f];d=d.concat({name:"sequenceIndex"+f,type:"USHORT",value:m.sequenceIndex}).concat({name:"lookupListIndex"+f,type:"USHORT",value:m.lookupListIndex})}return new Ne.Table("classSeqRuleTable",d)})):new Ne.Table("NULL",null)})));if(n.substFormat===3){let o=[{name:"substFormat",type:"USHORT",value:n.substFormat}];o.push({name:"inputGlyphCount",type:"USHORT",value:n.coverages.length}),o.push({name:"substitutionCount",type:"USHORT",value:n.lookupRecords.length});for(let a=0;a<n.coverages.length;a++){let d=n.coverages[a];o.push({name:"inputCoverage"+a,type:"TABLE",value:new Ne.Coverage(d)})}for(let a=0;a<n.lookupRecords.length;a++){let d=n.lookupRecords[a];o=o.concat({name:"sequenceIndex"+a,type:"USHORT",value:d.sequenceIndex}).concat({name:"lookupListIndex"+a,type:"USHORT",value:d.lookupListIndex})}return new Ne.Table("contextualSubstitutionTable",o)}K.assert(!1,"lookup type 5 format must be 1, 2 or 3.")},Gs[6]=function(n){if(n.substFormat===1)return new Ne.Table("chainContextTable",[{name:"substFormat",type:"USHORT",value:n.substFormat},{name:"coverage",type:"TABLE",value:new Ne.Coverage(n.coverage)}].concat(Ne.tableList("chainRuleSet",n.chainRuleSets,function(o){return new Ne.Table("chainRuleSetTable",Ne.tableList("chainRule",o,function(a){let d=Ne.ushortList("backtrackGlyph",a.backtrack,a.backtrack.length).concat(Ne.ushortList("inputGlyph",a.input,a.input.length+1)).concat(Ne.ushortList("lookaheadGlyph",a.lookahead,a.lookahead.length)).concat(Ne.ushortList("substitution",[],a.lookupRecords.length));for(let f=0;f<a.lookupRecords.length;f++){let m=a.lookupRecords[f];d=d.concat({name:"sequenceIndex"+f,type:"USHORT",value:m.sequenceIndex}).concat({name:"lookupListIndex"+f,type:"USHORT",value:m.lookupListIndex})}return new Ne.Table("chainRuleTable",d)}))})));if(n.substFormat===2)K.assert(!1,"lookup type 6 format 2 is not yet supported.");else if(n.substFormat===3){let o=[{name:"substFormat",type:"USHORT",value:n.substFormat}];o.push({name:"backtrackGlyphCount",type:"USHORT",value:n.backtrackCoverage.length});for(let a=0;a<n.backtrackCoverage.length;a++){let d=n.backtrackCoverage[a];o.push({name:"backtrackCoverage"+a,type:"TABLE",value:new Ne.Coverage(d)})}o.push({name:"inputGlyphCount",type:"USHORT",value:n.inputCoverage.length});for(let a=0;a<n.inputCoverage.length;a++){let d=n.inputCoverage[a];o.push({name:"inputCoverage"+a,type:"TABLE",value:new Ne.Coverage(d)})}o.push({name:"lookaheadGlyphCount",type:"USHORT",value:n.lookaheadCoverage.length});for(let a=0;a<n.lookaheadCoverage.length;a++){let d=n.lookaheadCoverage[a];o.push({name:"lookaheadCoverage"+a,type:"TABLE",value:new Ne.Coverage(d)})}o.push({name:"substitutionCount",type:"USHORT",value:n.lookupRecords.length});for(let a=0;a<n.lookupRecords.length;a++){let d=n.lookupRecords[a];o=o.concat({name:"sequenceIndex"+a,type:"USHORT",value:d.sequenceIndex}).concat({name:"lookupListIndex"+a,type:"USHORT",value:d.lookupListIndex})}return new Ne.Table("chainContextTable",o)}K.assert(!1,"lookup type 6 format must be 1, 2 or 3.")};function fa(n){return new Ne.Table("GSUB",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new Ne.ScriptList(n.scripts)},{name:"features",type:"TABLE",value:new Ne.FeatureList(n.features)},{name:"lookups",type:"TABLE",value:new Ne.LookupList(n.lookups,Gs)}])}var oi={parse:ii,make:fa};function Ti(n,o){let a=new lt.Parser(n,o),d=a.parseULong();K.argument(d===1,"Unsupported META table version."),a.parseULong(),a.parseULong();let f=a.parseULong(),m={};for(let y=0;y<f;y++){let w=a.parseTag(),T=a.parseULong(),N=a.parseULong();if(w==="appl"||w==="bild")continue;let E=Ct.UTF8(n,o+T,N);m[w]=E}return m}function xn(n){let o=Object.keys(n).length,a="",d=16+o*12,f=new Ne.Table("meta",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"offset",type:"ULONG",value:d},{name:"numTags",type:"ULONG",value:o}]);for(let m in n){let y=a.length;a+=n[m],f.fields.push({name:"tag "+m,type:"TAG",value:m}),f.fields.push({name:"offset "+m,type:"ULONG",value:d+y}),f.fields.push({name:"length "+m,type:"ULONG",value:n[m].length})}return f.fields.push({name:"stringPool",type:"CHARARRAY",value:a}),f}var ai={parse:Ti,make:xn};function Vs(n,o){let a=new ae(n,o),d=a.parseUShort();d!==0&&console.warn("Only COLRv0 is currently fully supported. A subset of color glyphs might be available in this font if provided in the v0 format.");let f=a.parseUShort(),m=a.parseOffset32(),y=a.parseOffset32(),w=a.parseUShort();a.relativeOffset=m;let T=a.parseRecordList(f,{glyphID:ae.uShort,firstLayerIndex:ae.uShort,numLayers:ae.uShort});a.relativeOffset=y;let N=a.parseRecordList(w,{glyphID:ae.uShort,paletteIndex:ae.uShort});return{version:d,baseGlyphRecords:T,layerRecords:N}}function re({version:n=0,baseGlyphRecords:o=[],layerRecords:a=[]}){K.argument(n===0,"Only COLRv0 supported.");let d=14,f=d+o.length*6;return new Ne.Table("COLR",[{name:"version",type:"USHORT",value:n},{name:"numBaseGlyphRecords",type:"USHORT",value:o.length},{name:"baseGlyphRecordsOffset",type:"ULONG",value:d},{name:"layerRecordsOffset",type:"ULONG",value:f},{name:"numLayerRecords",type:"USHORT",value:a.length},...o.map((m,y)=>[{name:"glyphID_"+y,type:"USHORT",value:m.glyphID},{name:"firstLayerIndex_"+y,type:"USHORT",value:m.firstLayerIndex},{name:"numLayers_"+y,type:"USHORT",value:m.numLayers}]).flat(),...a.map((m,y)=>[{name:"LayerGlyphID_"+y,type:"USHORT",value:m.glyphID},{name:"paletteIndex_"+y,type:"USHORT",value:m.paletteIndex}]).flat()])}var Me={parse:Vs,make:re};function Ge(n,o){return[{name:"tag_"+n,type:"TAG",value:o.tag},{name:"minValue_"+n,type:"FIXED",value:o.minValue<<16},{name:"defaultValue_"+n,type:"FIXED",value:o.defaultValue<<16},{name:"maxValue_"+n,type:"FIXED",value:o.maxValue<<16},{name:"flags_"+n,type:"USHORT",value:0},{name:"nameID_"+n,type:"USHORT",value:o.axisNameID}]}function dt(n,o,a){let d={},f=new lt.Parser(n,o);d.tag=f.parseTag(),d.minValue=f.parseFixed(),d.defaultValue=f.parseFixed(),d.maxValue=f.parseFixed(),f.skip("uShort",1);let m=f.parseUShort();return d.axisNameID=m,d.name=Mt(a,m),d}function _e(n,o,a,d={}){let f=[{name:"nameID_"+n,type:"USHORT",value:o.subfamilyNameID},{name:"flags_"+n,type:"USHORT",value:0}];for(let m=0;m<a.length;++m){let y=a[m].tag;f.push({name:"axis_"+n+" "+y,type:"FIXED",value:o.coordinates[y]<<16})}return d&&d.postScriptNameID&&f.push({name:"postScriptNameID_",type:"USHORT",value:o.postScriptNameID!==void 0?o.postScriptNameID:65535}),f}function ht(n,o,a,d,f){let m={},y=new lt.Parser(n,o),w=y.parseUShort();m.subfamilyNameID=w,m.name=Mt(d,w,[2,17]),y.skip("uShort",1),m.coordinates={};for(let N=0;N<a.length;++N)m.coordinates[a[N].tag]=y.parseFixed();if(y.relativeOffset===f)return m.postScriptNameID=void 0,m.postScriptName=void 0,m;let T=y.parseUShort();return m.postScriptNameID=T==65535?void 0:T,m.postScriptName=m.postScriptNameID!==void 0?Mt(d,T,[6]):"",m}function cr(n,o){let a=new Ne.Table("fvar",[{name:"version",type:"ULONG",value:65536},{name:"offsetToData",type:"USHORT",value:0},{name:"countSizePairs",type:"USHORT",value:2},{name:"axisCount",type:"USHORT",value:n.axes.length},{name:"axisSize",type:"USHORT",value:20},{name:"instanceCount",type:"USHORT",value:n.instances.length},{name:"instanceSize",type:"USHORT",value:4+n.axes.length*4}]);a.offsetToData=a.sizeOf();for(let f=0;f<n.axes.length;f++)a.fields=a.fields.concat(Ge(f,n.axes[f],o));let d={};for(let f=0;f<n.instances.length;f++)if(n.instances[f].postScriptNameID!==void 0){a.instanceSize+=2,d.postScriptNameID=!0;break}for(let f=0;f<n.instances.length;f++)a.fields=a.fields.concat(_e(f,n.instances[f],n.axes,d));return a}function wr(n,o,a){let d=new lt.Parser(n,o),f=d.parseULong();K.argument(f===65536,"Unsupported fvar table version.");let m=d.parseOffset16();d.skip("uShort",1);let y=d.parseUShort(),w=d.parseUShort(),T=d.parseUShort(),N=d.parseUShort(),E=[];for(let ne=0;ne<y;ne++)E.push(dt(n,o+m+ne*w,a));let z=[],$=o+m+y*w;for(let ne=0;ne<T;ne++)z.push(ht(n,$+ne*N,E,a,N));return{axes:E,instances:z}}var Dr={make:cr,parse:wr},Ar={tag:ae.tag,nameID:ae.uShort,ordering:ae.uShort},$n=new Array(5);$n[1]=function(){return{axisIndex:this.parseUShort(),flags:this.parseUShort(),valueNameID:this.parseUShort(),value:this.parseFixed()}},$n[2]=function(){return{axisIndex:this.parseUShort(),flags:this.parseUShort(),valueNameID:this.parseUShort(),nominalValue:this.parseFixed(),rangeMinValue:this.parseFixed(),rangeMaxValue:this.parseFixed()}},$n[3]=function(){return{axisIndex:this.parseUShort(),flags:this.parseUShort(),valueNameID:this.parseUShort(),value:this.parseFixed(),linkedValue:this.parseFixed()}},$n[4]=function(){let n=this.parseUShort();return{flags:this.parseUShort(),valueNameID:this.parseUShort(),axisValues:this.parseList(n,function(){return{axisIndex:this.parseUShort(),value:this.parseFixed()}})}};function rn(){let n=this.parseUShort(),o=$n[n],a={format:n};return o===void 0?(console.warn(`Unknown axis value table format ${n}`),a):Object.assign(a,this.parseStruct(o.bind(this)))}function ds(n,o,a){o||(o=0);let d=new lt.Parser(n,o),f=d.parseUShort(),m=d.parseUShort();f!==1&&console.warn(`Unsupported STAT table version ${f}.${m}`);let y=[f,m],w=d.parseUShort(),T=d.parseUShort(),N=d.parseOffset32(),E=d.parseUShort(),z=d.parseOffset32(),$=f>1||m>0?d.parseUShort():void 0;a!==void 0&&K.argument(T>=a.axes.length,"STAT axis count must be greater than or equal to fvar axis count"),E>0&&K.argument(T>=0,"STAT axis count must be greater than 0 if STAT axis value count is greater than 0");let ne=[];for(let Pe=0;Pe<T;Pe++)d.offset=o+N,d.relativeOffset=Pe*w,ne.push(d.parseStruct(Ar));d.offset=o,d.relativeOffset=z;let Y=d.parseUShortList(E),le=[];for(let Pe=0;Pe<E;Pe++)d.offset=o+z,d.relativeOffset=Y[Pe],le.push(rn.apply(d));return{version:y,axes:ne,values:le,elidedFallbackNameID:$}}var _s=new Array(5);_s[1]=function(n,o){return[{name:`format${n}`,type:"USHORT",value:1},{name:`axisIndex${n}`,type:"USHORT",value:o.axisIndex},{name:`flags${n}`,type:"USHORT",value:o.flags},{name:`valueNameID${n}`,type:"USHORT",value:o.valueNameID},{name:`value${n}`,type:"FLOAT",value:o.value}]},_s[2]=function(n,o){return[{name:`format${n}`,type:"USHORT",value:2},{name:`axisIndex${n}`,type:"USHORT",value:o.axisIndex},{name:`flags${n}`,type:"USHORT",value:o.flags},{name:`valueNameID${n}`,type:"USHORT",value:o.valueNameID},{name:`nominalValue${n}`,type:"FLOAT",value:o.nominalValue},{name:`rangeMinValue${n}`,type:"FLOAT",value:o.rangeMinValue},{name:`rangeMaxValue${n}`,type:"FLOAT",value:o.rangeMaxValue}]},_s[3]=function(n,o){return[{name:`format${n}`,type:"USHORT",value:3},{name:`axisIndex${n}`,type:"USHORT",value:o.axisIndex},{name:`flags${n}`,type:"USHORT",value:o.flags},{name:`valueNameID${n}`,type:"USHORT",value:o.valueNameID},{name:`value${n}`,type:"FLOAT",value:o.value},{name:`linkedValue${n}`,type:"FLOAT",value:o.linkedValue}]},_s[4]=function(n,o){let a=[{name:`format${n}`,type:"USHORT",value:4},{name:`axisCount${n}`,type:"USHORT",value:o.axisValues.length},{name:`flags${n}`,type:"USHORT",value:o.flags},{name:`valueNameID${n}`,type:"USHORT",value:o.valueNameID}];for(let d=0;d<o.axisValues.length;d++)a=a.concat([{name:`format${n}axisIndex${d}`,type:"USHORT",value:o.axisValues[d].axisIndex},{name:`format${n}value${d}`,type:"FLOAT",value:o.axisValues[d].value}]);return a};function Fo(n,o){return new Ne.Record("axisRecord_"+n,[{name:"axisTag_"+n,type:"TAG",value:o.tag},{name:"axisNameID_"+n,type:"USHORT",value:o.nameID},{name:"axisOrdering_"+n,type:"USHORT",value:o.ordering}])}function Nn(n,o){let a=o.format,d=_s[a];K.argument(d!==void 0,`Unknown axis value table format ${a}`);let f=d(n,o);return new Ne.Table("axisValueTable_"+n,f)}function nn(n){let o=new Ne.Table("STAT",[{name:"majorVersion",type:"USHORT",value:1},{name:"minorVersion",type:"USHORT",value:2},{name:"designAxisSize",type:"USHORT",value:8},{name:"designAxisCount",type:"USHORT",value:n.axes.length},{name:"designAxesOffset",type:"ULONG",value:0},{name:"axisValueCount",type:"USHORT",value:n.values.length},{name:"offsetToAxisValueOffsets",type:"ULONG",value:0},{name:"elidedFallbackNameID",type:"USHORT",value:n.elidedFallbackNameID}]);o.designAxesOffset=o.offsetToAxisValueOffsets=o.sizeOf();for(let m=0;m<n.axes.length;m++){let y=Fo(m,n.axes[m]);o.offsetToAxisValueOffsets+=y.sizeOf(),o.fields=o.fields.concat(y.fields)}let a=[],d=[],f=n.values.length*2;for(let m=0;m<n.values.length;m++){let y=Nn(m,n.values[m]);a.push({name:"offset_"+m,type:"USHORT",value:f}),f+=y.sizeOf(),d=d.concat(y.fields)}return o.fields=o.fields.concat(a),o.fields=o.fields.concat(d),o}var r0={make:nn,parse:ds};function nl(n,o){return new Ne.Record("axisValueMap_"+n,[{name:"fromCoordinate_"+n,type:"F2DOT14",value:o.fromCoordinate},{name:"toCoordinate_"+n,type:"F2DOT14",value:o.toCoordinate}])}function n0(n,o){let a=new Ne.Record("segmentMap_"+n,[{name:"positionMapCount_"+n,type:"USHORT",value:o.axisValueMaps.length}]),d=[];for(let f=0;f<o.axisValueMaps.length;f++){let m=nl(`${n}_${f}`,o.axisValueMaps[f]);d=d.concat(m.fields)}return a.fields=a.fields.concat(d),a}function js(n,o){K.argument(n.axisSegmentMaps.length===o.axes.length,"avar axis count must correspond to fvar axis count");let a=new Ne.Table("avar",[{name:"majorVersion",type:"USHORT",value:1},{name:"minorVersion",type:"USHORT",value:0},{name:"reserved",type:"USHORT",value:0},{name:"axisCount",type:"USHORT",value:n.axisSegmentMaps.length}]);for(let d=0;d<n.axisSegmentMaps.length;d++){let f=n0(d,n.axisSegmentMaps[d]);a.fields=a.fields.concat(f.fields)}return a}function L(n,o,a){o||(o=0);let d=new ae(n,o),f=d.parseUShort(),m=d.parseUShort();f!==1&&console.warn(`Unsupported avar table version ${f}.${m}`),d.skip("uShort",1);let y=d.parseUShort();K.argument(y===a.axes.length,"avar axis count must correspond to fvar axis count");let w=[];for(let T=0;T<y;T++){let N=[],E=d.parseUShort();for(let z=0;z<E;z++){let $=d.parseF2Dot14(),ne=d.parseF2Dot14();N.push({fromCoordinate:$,toCoordinate:ne})}w.push({axisValueMaps:N})}return{version:[f,m],axisSegmentMaps:w}}var Q={make:js,parse:L};function P(n,o,a,d){let f=new lt.Parser(n,o),m=f.parseTupleVariationStore(f.relativeOffset,a.axes.length,"cvar",d),y=f.parseUShort(),w=f.parseUShort();return y!==1&&console.warn(`Unsupported cvar table version ${y}.${w}`),{version:[y,w],...m}}function H(){console.warn("Writing of cvar tables is not yet supported.")}var Ee={make:H,parse:P};function we(n,o,a,d){let f=new lt.Parser(n,o),m=f.parseUShort(),y=f.parseUShort();m!==1&&console.warn(`Unsupported gvar table version ${m}.${y}`);let w=f.parseUShort();w!==a.axes.length&&console.warn(`axisCount ${w} in gvar table does not match the number of axes ${a.axes.length} in the fvar table!`);let T=f.parseUShort(),N=f.parsePointer32(function(){return this.parseTupleRecords(T,w)}),E=f.parseTupleVariationStoreList(w,"gvar",d);return{version:[m,y],sharedTuples:N,glyphVariations:E}}function Ze(){console.warn("Writing of gvar tables is not yet supported.")}var ze={make:Ze,parse:we};function pt(n,o){let a={},d=new lt.Parser(n,o);a.version=d.parseUShort(),K.argument(a.version<=1,"Unsupported gasp table version."),a.numRanges=d.parseUShort(),a.gaspRanges=[];for(let f=0;f<a.numRanges;f++)a.gaspRanges[f]={rangeMaxPPEM:d.parseUShort(),rangeGaspBehavior:d.parseUShort()};return a}function ar(n){let o=new Ne.Table("gasp",[{name:"version",type:"USHORT",value:1},{name:"numRanges",type:"USHORT",value:n.numRanges}]);for(let a in n.gaspRanges)o.fields.push({name:"rangeMaxPPEM",type:"USHORT",value:n.gaspRanges[a].rangeMaxPPEM}),o.fields.push({name:"rangeGaspBehavior",type:"USHORT",value:n.gaspRanges[a].rangeGaspBehavior});return o}var Yr={parse:pt,make:ar};function Pr(n,o){let a=new Map,d=n.buffer,f=new ae(n,o);if(f.parseUShort()!==0)return a;f.relativeOffset=f.parseOffset32();let m=n.byteOffset+o+f.relativeOffset,y=f.parseUShort(),w=new Map;for(let T=0;T<y;T++){let N=f.parseUShort(),E=f.parseUShort(),z=m+f.parseOffset32(),$=f.parseULong(),ne=w.get(z);ne===void 0&&(ne=new Uint8Array(d,z,$),w.set(z,ne));for(let Y=N;Y<=E;Y++)a.set(Y,ne)}return a}function fn(n){let o=Array.from(n.keys()).sort(),a=[],d=[],f=new Map,m=0,y={endGlyphID:null};for(let $=0,ne=o.length;$<ne;$++){let Y=o[$],le=n.get(Y),Pe=f.get(le);Pe===void 0&&(Pe=m,d.push(le),f.set(le,Pe),m+=le.byteLength),Y-1===y.endGlyphID&&Pe===y.svgDocOffset?y.endGlyphID=Y:(y={startGlyphID:Y,endGlyphID:Y,svgDocOffset:Pe,svgDocLength:le.byteLength},a.push(y))}let w=a.length,T=d.length,N=2+w*12,E=new Array(4+w*4+T),z=0;E[z++]={name:"version",type:"USHORT",value:0},E[z++]={name:"svgDocumentListOffset",type:"ULONG",value:10},E[z++]={name:"reserved",type:"ULONG",value:0},E[z++]={name:"numEntries",type:"USHORT",value:w};for(let $=0;$<w;$++){let ne="documentRecord_"+$,{startGlyphID:Y,endGlyphID:le,svgDocOffset:Pe,svgDocLength:Ht}=a[$];E[z++]={name:ne+"_startGlyphID",type:"USHORT",value:Y},E[z++]={name:ne+"_endGlyphID",type:"USHORT",value:le},E[z++]={name:ne+"_svgDocOffset",type:"ULONG",value:N+Pe},E[z++]={name:ne+"_svgDocLength",type:"ULONG",value:Ht}}for(let $=0;$<T;$++)E[z++]={name:"svgDoc_"+$,type:"LITERAL",value:d[$]};return new Ne.Table("SVG ",E)}var qt={make:fn,parse:Pr};function Br(n){return Math.log(n)/Math.log(2)|0}function zn(n){for(;n.length%4!==0;)n.push(0);let o=0;for(let a=0;a<n.length;a+=4)o+=(n[a]<<24)+(n[a+1]<<16)+(n[a+2]<<8)+n[a+3];return o%=Math.pow(2,32),o}function Ps(n,o,a,d){return new Ne.Record("Table Record",[{name:"tag",type:"TAG",value:n!==void 0?n:""},{name:"checkSum",type:"ULONG",value:o!==void 0?o:0},{name:"offset",type:"ULONG",value:a!==void 0?a:0},{name:"length",type:"ULONG",value:d!==void 0?d:0}])}function hs(n){let o=new Ne.Table("sfnt",[{name:"version",type:"TAG",value:"OTTO"},{name:"numTables",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0}]);o.tables=n,o.numTables=n.length;let a=Math.pow(2,Br(o.numTables));o.searchRange=16*a,o.entrySelector=Br(a),o.rangeShift=o.numTables*16-o.searchRange;let d=[],f=[],m=o.sizeOf()+Ps().sizeOf()*o.numTables;for(;m%4!==0;)m+=1,f.push({name:"padding",type:"BYTE",value:0});for(let y=0;y<n.length;y+=1){let w=n[y];K.argument(w.tableName.length===4,"Table name"+w.tableName+" is invalid.");let T=w.sizeOf(),N=Ps(w.tableName,zn(w.encode()),m,T);for(d.push({name:N.tag+" Table Record",type:"RECORD",value:N}),f.push({name:w.tableName+" table",type:"RECORD",value:w}),m+=T,K.argument(!isNaN(m),"Something went wrong calculating the offset.");m%4!==0;)m+=1,f.push({name:"padding",type:"BYTE",value:0})}return d.sort(function(y,w){return y.value.tag>w.value.tag?1:-1}),o.fields=o.fields.concat(d),o.fields=o.fields.concat(f),o}function Ln(n,o,a){for(let d=0;d<o.length;d+=1){let f=n.charToGlyphIndex(o[d]);if(f>0)return n.glyphs.get(f).getMetrics()}return a}function vo(n){let o=0;for(let a=0;a<n.length;a+=1)o+=n[a];return o/n.length}function Uo(n){let o=[],a=[],d=[],f=[],m=[],y=[],w=[],T,N=0,E=0,z=0,$=0,ne=0;for(let Dn=0;Dn<n.glyphs.length;Dn+=1){let Yi=n.glyphs.get(Dn),So=Yi.unicode|0;if(isNaN(Yi.advanceWidth))throw new Error("Glyph "+Yi.name+" ("+Dn+"): advanceWidth is not a number.");(T>So||T===void 0)&&So>0&&(T=So),N<So&&(N=So);let Yo=ha.getUnicodeRange(So);if(Yo<32)E|=1<<Yo;else if(Yo<64)z|=1<<Yo-32;else if(Yo<96)$|=1<<Yo-64;else if(Yo<123)ne|=1<<Yo-96;else throw new Error("Unicode ranges bits > 123 are reserved for internal usage");if(Yi.name===".notdef")continue;let za=Yi.getMetrics();o.push(za.xMin),a.push(za.yMin),d.push(za.xMax),f.push(za.yMax),y.push(za.leftSideBearing),w.push(za.rightSideBearing),m.push(Yi.advanceWidth)}let Y={xMin:Math.min.apply(null,o),yMin:Math.min.apply(null,a),xMax:Math.max.apply(null,d),yMax:Math.max.apply(null,f),advanceWidthMax:Math.max.apply(null,m),advanceWidthAvg:vo(m),minLeftSideBearing:Math.min.apply(null,y),maxLeftSideBearing:Math.max.apply(null,y),minRightSideBearing:Math.min.apply(null,w)};Y.ascender=n.ascender,Y.descender=n.descender;let le=0;n.weightClass>=600&&(le|=n.macStyleValues.BOLD),n.italicAngle<0&&(le|=n.macStyleValues.ITALIC);let Pe=aa.make({flags:3,unitsPerEm:n.unitsPerEm,xMin:Y.xMin,yMin:Y.yMin,xMax:Y.xMax,yMax:Y.yMax,lowestRecPPEM:3,macStyle:le,createdTimestamp:n.createdTimestamp}),Ht=yo.make({ascender:Y.ascender,descender:Y.descender,advanceWidthMax:Y.advanceWidthMax,minLeftSideBearing:Y.minLeftSideBearing,minRightSideBearing:Y.minRightSideBearing,xMaxExtent:Y.maxLeftSideBearing+(Y.xMax-Y.xMin),numberOfHMetrics:n.glyphs.length}),Pt=Ds.make(n.glyphs.length),nr=ha.make(Object.assign({xAvgCharWidth:Math.round(Y.advanceWidthAvg),usFirstCharIndex:T,usLastCharIndex:N,ulUnicodeRange1:E,ulUnicodeRange2:z,ulUnicodeRange3:$,ulUnicodeRange4:ne,sTypoAscender:Y.ascender,sTypoDescender:Y.descender,sTypoLineGap:0,usWinAscent:Y.yMax,usWinDescent:Math.abs(Y.yMin),ulCodePageRange1:1,sxHeight:Ln(n,"xyvw",{yMax:Math.round(Y.ascender/2)}).yMax,sCapHeight:Ln(n,"HIKLEFJMNTZBDPRAGOQSUVWXY",Y).yMax,usDefaultChar:n.hasChar(" ")?32:0,usBreakChar:n.hasChar(" ")?32:0},n.tables.os2)),Cr=Ss.make(n.glyphs),pn=Wi.make(n.glyphs),In=n.getEnglishName("fontFamily"),kn=n.getEnglishName("fontSubfamily"),Ls=In+" "+kn,qo=n.getEnglishName("postScriptName");qo||(qo=In.replace(/\s/g,"")+"-"+kn);let _r={};for(let Dn in n.names)_r[Dn]=n.names[Dn];_r.unicode=_r.unicode||{},_r.macintosh=_r.macintosh||{},_r.windows=_r.windows||{};let lo=n.names.unicode||{},Di=n.names.macintosh||{},Wt=n.names.windows||{};for(let Dn in _r){if(_r[Dn]=_r[Dn]||{},!_r[Dn].uniqueID){let Yi=n.getEnglishName("manufacturer")||"";_r[Dn].uniqueID={en:`${Yi}: ${Ls}`}}_r[Dn].postScriptName||(_r[Dn].postScriptName={en:qo})}_r.unicode.preferredFamily||(_r.unicode.preferredFamily=lo.fontFamily||Di.fontFamily||Wt.fontFamily),_r.macintosh.preferredFamily||(_r.macintosh.preferredFamily=Di.fontFamily||lo.fontFamily||Wt.fontFamily),_r.windows.preferredFamily||(_r.windows.preferredFamily=Wt.fontFamily||lo.fontFamily||Di.fontFamily),_r.unicode.preferredSubfamily||(_r.unicode.preferredSubfamily=lo.fontSubfamily||Di.fontSubfamily||Wt.fontSubfamily),_r.macintosh.preferredSubfamily||(_r.macintosh.preferredSubfamily=Di.fontSubfamily||lo.fontSubfamily||Wt.fontSubfamily),_r.windows.preferredSubfamily||(_r.windows.preferredSubfamily=Wt.fontSubfamily||lo.fontSubfamily||Di.fontSubfamily);let Nt=[],Bt=bs.make(_r,Nt),Ci=Nt.length>0?ca.make(Nt):void 0,fl=Un.make(n),bu=Ei.make(n.glyphs,{version:n.getEnglishName("version"),fullName:Ls,familyName:In,weightName:kn,postScriptName:qo,unitsPerEm:n.unitsPerEm,fontBBox:[0,Y.yMin,Y.ascender,Y.advanceWidthMax],topDict:n.tables.cff&&n.tables.cff.topDict||{}}),Rl=n.metas&&Object.keys(n.metas).length>0?ai.make(n.metas):void 0,Zo=[Pe,Ht,Pt,nr,Bt,pn,fl,bu,Cr];Ci&&Zo.push(Ci);let Bi={gsub:oi,cpal:Gi,colr:Me,stat:r0,avar:Q,cvar:Ee,fvar:Dr,gvar:ze,gasp:Yr,svg:qt},To={avar:[n.tables.fvar],fvar:[n.names]};for(let Dn in Bi){let Yi=n.tables[Dn];if(Yi){let So=Bi[Dn].make.call(n,Yi,...To[Dn]||[]);So&&Zo.push(So)}}Rl&&Zo.push(Rl);let _i=hs(Zo),co=_i.encode(),Qi=zn(co),ji=_i.fields,ms=!1;for(let Dn=0;Dn<ji.length;Dn+=1)if(ji[Dn].name==="head table"){ji[Dn].value.checkSumAdjustment=2981146554-Qi,ms=!0;break}if(!ms)throw new Error("Could not find head table with checkSum to adjust.");return _i}var Os={make:hs,fontToTable:Uo,computeCheckSum:zn};function sl(n,o){let a=0,d=n.length-1;for(;a<=d;){let f=a+d>>>1,m=n[f].tag;if(m===o)return f;m<o?a=f+1:d=f-1}return-a-1}function Pa(n,o){let a=0,d=n.length-1;for(;a<=d;){let f=a+d>>>1,m=n[f];if(m===o)return f;m<o?a=f+1:d=f-1}return-a-1}function Ll(n,o){let a,d=0,f=n.length-1;for(;d<=f;){let m=d+f>>>1;a=n[m];let y=a.start;if(y===o)return a;y<o?d=m+1:f=m-1}if(d>0)return a=n[d-1],o>a.end?0:a}function $o(n,o){this.font=n,this.tableName=o}$o.prototype={searchTag:sl,binSearch:Pa,getTable:function(n){let o=this.font.tables[this.tableName];return!o&&n&&(o=this.font.tables[this.tableName]=this.createDefaultTable()),o},getScriptNames:function(){let n=this.getTable();return n?n.scripts.map(function(o){return o.tag}):[]},getDefaultScriptName:function(){let n=this.getTable();if(!n)return;let o=!1;for(let a=0;a<n.scripts.length;a++){let d=n.scripts[a].tag;if(d==="DFLT")return d;d==="latn"&&(o=!0)}if(o)return"latn"},getScriptTable:function(n,o){let a=this.getTable(o);if(a){n=n||"DFLT";let d=a.scripts,f=sl(a.scripts,n);if(f>=0)return d[f].script;if(o){let m={tag:n,script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}};return d.splice(-1-f,0,m),m.script}}},getLangSysTable:function(n,o,a){let d=this.getScriptTable(n,a);if(d){if(!o||o==="dflt"||o==="DFLT")return d.defaultLangSys;let f=sl(d.langSysRecords,o);if(f>=0)return d.langSysRecords[f].langSys;if(a){let m={tag:o,langSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]}};return d.langSysRecords.splice(-1-f,0,m),m.langSys}}},getFeatureTable:function(n,o,a,d){let f=this.getLangSysTable(n,o,d);if(f){let m,y=f.featureIndexes,w=this.font.tables[this.tableName].features;for(let T=0;T<y.length;T++)if(m=w[y[T]],m.tag===a)return m.feature;if(d){let T=w.length;return K.assert(T===0||a>=w[T-1].tag,"Features must be added in alphabetical order."),m={tag:a,feature:{params:0,lookupListIndexes:[]}},w.push(m),y.push(T),m.feature}}},getLookupTables:function(n,o,a,d,f){let m=this.getFeatureTable(n,o,a,f),y=[];if(m){let w,T=m.lookupListIndexes,N=this.font.tables[this.tableName].lookups;for(let E=0;E<T.length;E++)w=N[T[E]],w.lookupType===d&&y.push(w);if(y.length===0&&f){w={lookupType:d,lookupFlag:0,subtables:[],markFilteringSet:void 0};let E=N.length;return N.push(w),T.push(E),[w]}}return y},getGlyphClass:function(n,o){switch(n.format){case 1:return n.startGlyph<=o&&o<n.startGlyph+n.classes.length?n.classes[o-n.startGlyph]:0;case 2:{let a=Ll(n.ranges,o);return a?a.classId:0}}},getCoverageIndex:function(n,o){switch(n.format){case 1:{let a=Pa(n.glyphs,o);return a>=0?a:-1}case 2:{let a=Ll(n.ranges,o);return a?a.index+o-a.start:-1}}},expandCoverage:function(n){if(n.format===1)return n.glyphs;{let o=[],a=n.ranges;for(let d=0;d<a.length;d++){let f=a[d],m=f.start,y=f.end;for(let w=m;w<=y;w++)o.push(w)}return o}}};var Zi=$o;function pa(n){Zi.call(this,n,"gpos")}pa.prototype=Zi.prototype,pa.prototype.init=function(){let n=this.getDefaultScriptName();this.defaultKerningTables=this.getKerningTables(n)},pa.prototype.getKerningValue=function(n,o,a){for(let d=0;d<n.length;d++){let f=n[d].subtables;for(let m=0;m<f.length;m++){let y=f[m],w=this.getCoverageIndex(y.coverage,o);if(!(w<0))switch(y.posFormat){case 1:{let T=y.pairSets[w];for(let N=0;N<T.length;N++){let E=T[N];if(E.secondGlyph===a)return E.value1&&E.value1.xAdvance||0}break}case 2:{let T=this.getGlyphClass(y.classDef1,o),N=this.getGlyphClass(y.classDef2,a),E=y.classRecords[T][N];return E.value1&&E.value1.xAdvance||0}}}}return 0},pa.prototype.getKerningTables=function(n,o){if(this.font.tables.gpos)return this.getLookupTables(n,o,"kern",2)};var s0=pa;function Xd(n,o){let a=n.length;if(a!==o.length)return!1;for(let d=0;d<a;d++)if(n[d]!==o[d])return!1;return!0}function Jd(n,o,a){let d=0,f=n.length-1,m=null;for(;d<=f;){let y=Math.floor((d+f)/2),w=n[y],T=w[o];if(T<a)d=y+1;else if(T>a)f=y-1;else{m=w;break}}return m}function eh(n,o,a){let d=0,f=n.length-1;for(;d<=f;){let m=Math.floor((d+f)/2),y=n[m];if(y[o]<a)d=m+1;else if(y[o]>a)f=m-1;else return m}return-1}function zo(n,o,a){let d=0,f=n.length,m=(y,w)=>y[o]-w[o];for(;d<f;){let y=d+f>>>1;m(n[y],a)<0?d=y+1:f=y}return n.splice(d,0,a),d}function ma(n){return n[0]===31&&n[1]===139&&n[2]===8}function th(n){let o=new DataView(n.buffer,n.byteOffset,n.byteLength),a=10,d=n.byteLength-8,f=o.getInt8(3);if(f&4&&(a+=2+o.getUint16(a,!0)),f&8)for(;a<d&&n[a++]!==0;);if(f&16)for(;a<d&&n[a++]!==0;);if(f&2&&(a+=2),a>=d)throw new Error("Can't find compressed blocks");let m=o.getUint32(o.byteLength-4,!0);return oe(n.subarray(a,d),new Uint8Array(m))}function Il(n){return{x:n.x,y:n.y,onCurve:n.onCurve,lastPointOfContour:n.lastPointOfContour}}function lu(n){return{glyphIndex:n.glyphIndex,xScale:n.xScale,scale01:n.scale01,scale10:n.scale10,yScale:n.yScale,dx:n.dx,dy:n.dy}}function Si(n){Zi.call(this,n,"gsub")}function i0(n,o,a){let d=n.subtables;for(let f=0;f<d.length;f++){let m=d[f];if(m.substFormat===o)return m}if(a)return d.push(a),a}Si.prototype=Zi.prototype,Si.prototype.createDefaultTable=function(){return{version:1,scripts:[{tag:"DFLT",script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}}],features:[],lookups:[]}},Si.prototype.getSingle=function(n,o,a){let d=[],f=this.getLookupTables(o,a,n,1);for(let m=0;m<f.length;m++){let y=f[m].subtables;for(let w=0;w<y.length;w++){let T=y[w],N=this.expandCoverage(T.coverage),E;if(T.substFormat===1){let z=T.deltaGlyphId;for(E=0;E<N.length;E++){let $=N[E];d.push({sub:$,by:$+z})}}else{let z=T.substitute;for(E=0;E<N.length;E++)d.push({sub:N[E],by:z[E]})}}}return d},Si.prototype.getMultiple=function(n,o,a){let d=[],f=this.getLookupTables(o,a,n,2);for(let m=0;m<f.length;m++){let y=f[m].subtables;for(let w=0;w<y.length;w++){let T=y[w],N=this.expandCoverage(T.coverage),E;for(E=0;E<N.length;E++){let z=N[E],$=T.sequences[E];d.push({sub:z,by:$})}}}return d},Si.prototype.getAlternates=function(n,o,a){let d=[],f=this.getLookupTables(o,a,n,3);for(let m=0;m<f.length;m++){let y=f[m].subtables;for(let w=0;w<y.length;w++){let T=y[w],N=this.expandCoverage(T.coverage),E=T.alternateSets;for(let z=0;z<N.length;z++)d.push({sub:N[z],by:E[z]})}}return d},Si.prototype.getLigatures=function(n,o,a){let d=[],f=this.getLookupTables(o,a,n,4);for(let m=0;m<f.length;m++){let y=f[m].subtables;for(let w=0;w<y.length;w++){let T=y[w],N=this.expandCoverage(T.coverage),E=T.ligatureSets;for(let z=0;z<N.length;z++){let $=N[z],ne=E[z];for(let Y=0;Y<ne.length;Y++){let le=ne[Y];d.push({sub:[$].concat(le.components),by:le.ligGlyph})}}}}return d},Si.prototype.addSingle=function(n,o,a,d){let f=this.getLookupTables(a,d,n,1,!0)[0],m=i0(f,2,{substFormat:2,coverage:{format:1,glyphs:[]},substitute:[]});K.assert(m.coverage.format===1,"Single: unable to modify coverage table format "+m.coverage.format);let y=o.sub,w=this.binSearch(m.coverage.glyphs,y);w<0&&(w=-1-w,m.coverage.glyphs.splice(w,0,y),m.substitute.splice(w,0,0)),m.substitute[w]=o.by},Si.prototype.addMultiple=function(n,o,a,d){K.assert(o.by instanceof Array&&o.by.length>1,'Multiple: "by" must be an array of two or more ids');let f=this.getLookupTables(a,d,n,2,!0)[0],m=i0(f,1,{substFormat:1,coverage:{format:1,glyphs:[]},sequences:[]});K.assert(m.coverage.format===1,"Multiple: unable to modify coverage table format "+m.coverage.format);let y=o.sub,w=this.binSearch(m.coverage.glyphs,y);w<0&&(w=-1-w,m.coverage.glyphs.splice(w,0,y),m.sequences.splice(w,0,0)),m.sequences[w]=o.by},Si.prototype.addAlternate=function(n,o,a,d){let f=this.getLookupTables(a,d,n,3,!0)[0],m=i0(f,1,{substFormat:1,coverage:{format:1,glyphs:[]},alternateSets:[]});K.assert(m.coverage.format===1,"Alternate: unable to modify coverage table format "+m.coverage.format);let y=o.sub,w=this.binSearch(m.coverage.glyphs,y);w<0&&(w=-1-w,m.coverage.glyphs.splice(w,0,y),m.alternateSets.splice(w,0,0)),m.alternateSets[w]=o.by},Si.prototype.addLigature=function(n,o,a,d){let f=this.getLookupTables(a,d,n,4,!0)[0],m=f.subtables[0];m||(m={substFormat:1,coverage:{format:1,glyphs:[]},ligatureSets:[]},f.subtables[0]=m),K.assert(m.coverage.format===1,"Ligature: unable to modify coverage table format "+m.coverage.format);let y=o.sub[0],w=o.sub.slice(1),T={ligGlyph:o.by,components:w},N=this.binSearch(m.coverage.glyphs,y);if(N>=0){let E=m.ligatureSets[N];for(let z=0;z<E.length;z++)if(Xd(E[z].components,w))return;E.push(T)}else N=-1-N,m.coverage.glyphs.splice(N,0,y),m.ligatureSets.splice(N,0,[T])},Si.prototype.getFeature=function(n,o,a){if(/ss\d\d/.test(n))return this.getSingle(n,o,a);switch(n){case"aalt":case"salt":return this.getSingle(n,o,a).concat(this.getAlternates(n,o,a));case"dlig":case"liga":case"rlig":return this.getLigatures(n,o,a);case"ccmp":return this.getMultiple(n,o,a).concat(this.getLigatures(n,o,a));case"stch":return this.getMultiple(n,o,a)}},Si.prototype.add=function(n,o,a,d){if(/ss\d\d/.test(n))return this.addSingle(n,o,a,d);switch(n){case"aalt":case"salt":return typeof o.by=="number"?this.addSingle(n,o,a,d):this.addAlternate(n,o,a,d);case"dlig":case"liga":case"rlig":return this.addLigature(n,o,a,d);case"ccmp":return o.by instanceof Array?this.addMultiple(n,o,a,d):this.addLigature(n,o,a,d)}};var cu=Si,K0=class{constructor(n){this.defaultValue=255,this.font=n}cpal(){return this.font.tables&&this.font.tables.cpal?this.font.tables.cpal:!1}getAll(n){let o=[],a=this.cpal();if(!a)return o;for(let d=0;d<a.colorRecordIndices.length;d++){let f=a.colorRecordIndices[d],m=[];for(let y=f;y<f+a.numPaletteEntries;y++)m.push(Ws(a.colorRecords[y],n||"hexa"));o.push(m)}return o}toCPALcolor(n){return Array.isArray(n)?n.map(o=>Hs(o,"raw")):Hs(n,"raw")}fillPalette(n,o=[],a=this.cpal().numPaletteEntries){return n=Number.isInteger(n)?this.get(n,"raw"):n,Object.assign(Array(a).fill(this.defaultValue),this.toCPALcolor(n).concat(this.toCPALcolor(o)))}extend(n){if(this.ensureCPAL(Array(n).fill(this.defaultValue)))return;let o=this.cpal(),a=o.numPaletteEntries+n,d=this.getAll().map(f=>this.fillPalette(f,[],a));o.numPaletteEntries=a,o.colorRecords=this.toCPALcolor(d.flat()),this.updateIndices()}get(n,o="hexa"){return this.getAll(o)[n]||null}getColor(n,o=0,a="hexa"){return qn(this.font,n,o,a)}setColor(n,o,a=0){n=parseInt(n),a=parseInt(a);let d=this.getAll("raw"),f=d[a];if(!f)throw Error(`paletteIndex ${a} out of range`);let m=this.cpal(),y=m.numPaletteEntries;Array.isArray(o)||(o=[o]),o.length+n>y&&(this.extend(o.length+n-y),d=this.getAll("raw"),f=d[a]);for(let w=0;w<o.length;w++)f[w+n]=this.toCPALcolor(o[w]);m.colorRecords=d.flat(),this.updateIndices()}add(n){if(this.ensureCPAL(n))return;let o=this.cpal(),a=o.numPaletteEntries;n&&n.length?(n=this.toCPALcolor(n),n.length>a?this.extend(n.length-a):n.length<a&&(n=this.fillPalette(n)),o.colorRecordIndices.push(o.colorRecords.length),o.colorRecords.push(...n)):(o.colorRecordIndices.push(o.colorRecords.length),o.colorRecords.push(...Array(a).fill(this.defaultValue)))}delete(n){let o=this.getAll("raw");delete o[n];let a=this.cpal();a.colorRecordIndices.pop(),a.colorRecords=o.flat()}deleteColor(n,o){if(n===o)throw Error("replacementIndex cannot be the same as colorIndex");let a=this.cpal(),d=this.getAll("raw"),f=[];if(o>a.numPaletteEntries-1)throw Error(`Replacement index out of range: numPaletteEntries after deletion: ${a.numPaletteEntries-1}, replacementIndex: ${o})`);for(let w=0;w<d.length;w++){let T=d[w].filter((N,E)=>E!==n);f.push(T)}let m=this.font.tables.colr;if(m){let w=m.layerRecords;for(let T=0;T<w.length;T++){let N=w[T].paletteIndex;if(N>n)w[T].paletteIndex-=1;else if(N===n){let E=0;for(let z=0;z<d.length;z++)if(o>n&&o<=n+d[z].length){E++;break}w[T].paletteIndex=o-E}}this.font.tables.colr={...m,layerRecords:w}}let y=f.flat();for(let w=0;w<d.length;w++)a.colorRecordIndices[w]-=w;a.numPaletteEntries=Math.max(0,a.numPaletteEntries-1),a.colorRecords=this.toCPALcolor(y)}ensureCPAL(n){return this.cpal()?!1:(!n||!n.length?n=[this.defaultValue]:n=this.toCPALcolor(n),this.font.tables.cpal={version:0,numPaletteEntries:n.length,colorRecords:n,colorRecordIndices:[0]},!0)}updateIndices(){let n=this.cpal(),o=Math.ceil(n.colorRecords.length/n.numPaletteEntries);n.colorRecordIndices=[];for(let a=0;a<o;a++)n.colorRecordIndices.push(a*n.numPaletteEntries)}},kl=class{constructor(n){this.font=n}ensureCOLR(){return this.font.tables.colr||(this.font.tables.colr={version:0,baseGlyphRecords:[],layerRecords:[]}),this.font}get(n){let o=this.font,a=[],d=o.tables.colr,f=o.tables.cpal;if(!d||!f)return a;let m=Jd(d.baseGlyphRecords,"glyphID",n);if(!m)return a;let y=m.firstLayerIndex,w=m.numLayers;for(let T=0;T<w;T++){let N=d.layerRecords[y+T];a.push({glyph:o.glyphs.get(N.glyphID),paletteIndex:N.paletteIndex})}return a}add(n,o,a){let d=this.get(n);o=Array.isArray(o)?o:[o],a===void 0||a===1/0||a>d.length?a=d.length:a<0&&(a=d.length+1+a%(d.length+1),a>=d.length+1&&(a-=d.length+1));let f=[];for(let m=0;m<a;m++){let y=Number.isInteger(d[m].glyph)?d[m].glyph:d[m].glyph.index;f.push({glyphID:y,paletteIndex:d[m].paletteIndex})}for(let m of o){let y=Number.isInteger(m.glyph)?m.glyph:m.glyph.index;f.push({glyphID:y,paletteIndex:m.paletteIndex})}for(let m=a;m<d.length;m++){let y=Number.isInteger(d[m].glyph)?d[m].glyph:d[m].glyph.index;f.push({glyphID:y,paletteIndex:d[m].paletteIndex})}this.updateColrTable(n,f)}setPaletteIndex(n,o,a){let d=this.get(n);d[o]?(d=d.map((f,m)=>({glyphID:f.glyph.index,paletteIndex:m===o?a:f.paletteIndex})),this.updateColrTable(n,d)):console.error("Invalid layer index")}remove(n,o,a=o){let d=this.get(n);d=d.map(f=>({glyphID:f.glyph.index,paletteIndex:f.paletteIndex})),d.splice(o,a-o+1),this.updateColrTable(n,d)}updateColrTable(n,o){this.ensureCOLR();let a=this.font.tables.colr,d=eh(a.baseGlyphRecords,"glyphID",n);if(d===-1){let T={glyphID:n,firstLayerIndex:a.layerRecords.length,numLayers:0};d=zo(a.baseGlyphRecords,"glyphID",T)}let f=a.baseGlyphRecords[d],m=f.numLayers,y=o.length,w=y-m;if(w>0){let T=o.slice(m).map(N=>({glyphID:N.glyphID,paletteIndex:N.paletteIndex}));a.layerRecords.splice(f.firstLayerIndex+m,0,...T)}else w<0&&a.layerRecords.splice(f.firstLayerIndex+y,-w);for(let T=0;T<Math.min(m,y);T++)a.layerRecords[f.firstLayerIndex+T]={glyphID:o[T].glyphID,paletteIndex:o[T].paletteIndex};if(f.numLayers=y,w!==0)for(let T=0;T<a.baseGlyphRecords.length;T++){let N=a.baseGlyphRecords[T];T===d||N.firstLayerIndex<f.firstLayerIndex||(a.baseGlyphRecords[T].firstLayerIndex+=w)}}},il=class{constructor(n){this.font=n,this.cache=new WeakMap}get(n){let o=this.getOrCreateSvgImageCacheEntry(n);return o&&o.image}getAsync(n){let o=this.getOrCreateSvgImageCacheEntry(n);return o&&o.promise}getOrCreateSvgImageCacheEntry(n){let o=this.font.tables.svg;if(o===void 0)return;let a=o.get(n);if(a===void 0)return;let d=this.cache.get(a);d===void 0&&(d=rh(a),this.cache.set(a,d));let f=d.images.get(n);return f===void 0&&(f=uu(this.font,d.template,n),f.promise.then(m=>{if(f.image=m,typeof this.font.onGlyphUpdated=="function")try{this.font.onGlyphUpdated(n)}catch(y){console.error("font.onGlyphUpdated",n,y)}}),d.images.set(n,f)),f}};function rh(n){return{template:X0(n).then(du),images:new Map}}function uu(n,o,a){return{promise:o.then(d=>{let f;typeof d=="string"?f=d:(d[4]=a,f=d.join(""));let m=ec(f,n.unitsPerEm);return m.image.decode().then(()=>m)}),image:void 0}}var X0=typeof DecompressionStream=="function"?nh:J0;function J0(n){try{return Promise.resolve(new TextDecoder().decode(ma(n)?th(n):n))}catch(o){return Promise.reject(o)}}function nh(n){if(ma(n))return new Response(new Response(n).body.pipeThrough(new DecompressionStream("gzip"))).text();try{return Promise.resolve(new TextDecoder().decode(n))}catch(o){return Promise.reject(o)}}function du(n){let o=n.indexOf("<svg"),a=n.indexOf(">",o+4)+1;if(/ id=['"]glyph\d+['"]/.test(n.substring(o,a)))return n;let d=n.lastIndexOf("</svg>");return[n.substring(0,a),"<defs>",n.substring(a,d),'</defs><use href="#glyph',"",'"/>',n.substring(d)]}function ec(n,o){let a=new DOMParser().parseFromString(n,"image/svg+xml").documentElement,d=a.viewBox.baseVal,f=a.width.baseVal,m=a.height.baseVal,y=1,w=1;d.width>0&&d.height>0&&(f.unitType===1?(y=f.valueInSpecifiedUnits/d.width,w=m.unitType===1?m.valueInSpecifiedUnits/d.height:y):m.unitType===1?(w=m.valueInSpecifiedUnits/d.height,y=w):o&&(y=o/d.width,w=o/d.height));let T=document.createElement("div");T.style.position="fixed",T.style.visibility="hidden",T.appendChild(a),document.body.appendChild(T);let N=a.getBBox();document.body.removeChild(T);let E=(N.x-d.x)*y,z=(d.y-N.y)*w,$=N.width*y,ne=N.height*w;a.setAttribute("viewBox",[N.x,N.y,N.width,N.height].join(" ")),y!==1&&a.setAttribute("width",$),w!==1&&a.setAttribute("height",ne);let Y=new Image($,ne);return Y.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(a.outerHTML),{leftSideBearing:E,baseline:z,image:Y}}var o0=new WeakMap;function Ri(n,o,a,d,f){let m;return(o&d)>0?(m=n.parseByte(),(o&f)===0&&(m=-m),m=a+m):(o&f)>0?m=a:m=a+n.parseShort(),m}function Oa(n,o,a){let d=new lt.Parser(o,a);n._numberOfContours=d.parseShort(),n._xMin=d.parseShort(),n._yMin=d.parseShort(),n._xMax=d.parseShort(),n._yMax=d.parseShort();let f,m;if(n._numberOfContours>0){let y=n.endPointIndices=[];for(let T=0;T<n._numberOfContours;T+=1)y.push(d.parseUShort());n.instructionLength=d.parseUShort(),n.instructions=[];for(let T=0;T<n.instructionLength;T+=1)n.instructions.push(d.parseByte());let w=y[y.length-1]+1;f=[];for(let T=0;T<w;T+=1)if(m=d.parseByte(),f.push(m),(m&8)>0){let N=d.parseByte();for(let E=0;E<N;E+=1)f.push(m),T+=1}if(K.argument(f.length===w,"Bad flags."),y.length>0){let T=[],N;if(w>0){for(let $=0;$<w;$+=1)m=f[$],N={},N.onCurve=!!(m&1),N.lastPointOfContour=y.indexOf($)>=0,T.push(N);let E=0;for(let $=0;$<w;$+=1)m=f[$],N=T[$],N.x=Ri(d,m,E,2,16),E=N.x;let z=0;for(let $=0;$<w;$+=1)m=f[$],N=T[$],N.y=Ri(d,m,z,4,32),z=N.y}n.points=T}else n.points=[]}else if(n._numberOfContours===0)n.points=[];else{n.isComposite=!0,n.points=[],n.components=[];let y=!0;for(;y;){f=d.parseUShort();let w={glyphIndex:d.parseUShort(),xScale:1,scale01:0,scale10:0,yScale:1,dx:0,dy:0};(f&1)>0?(f&2)>0?(w.dx=d.parseShort(),w.dy=d.parseShort()):w.matchedPoints=[d.parseUShort(),d.parseUShort()]:(f&2)>0?(w.dx=d.parseChar(),w.dy=d.parseChar()):w.matchedPoints=[d.parseByte(),d.parseByte()],(f&8)>0?w.xScale=w.yScale=d.parseF2Dot14():(f&64)>0?(w.xScale=d.parseF2Dot14(),w.yScale=d.parseF2Dot14()):(f&128)>0&&(w.xScale=d.parseF2Dot14(),w.scale01=d.parseF2Dot14(),w.scale10=d.parseF2Dot14(),w.yScale=d.parseF2Dot14()),n.components.push(w),y=!!(f&32)}if(f&256){n.instructionLength=d.parseUShort(),n.instructions=[];for(let w=0;w<n.instructionLength;w+=1)n.instructions.push(d.parseByte())}}}function Fa(n,o){let a=[];for(let d=0;d<n.length;d+=1){let f=n[d],m={x:o.xScale*f.x+o.scale10*f.y+o.dx,y:o.scale01*f.x+o.yScale*f.y+o.dy,onCurve:f.onCurve,lastPointOfContour:f.lastPointOfContour};a.push(m)}return a}function a0(n){let o=[],a=[];for(let d=0;d<n.length;d+=1){let f=n[d];a.push(f),f.lastPointOfContour&&(o.push(a),a=[])}return K.argument(a.length===0,"There are still points left in the current contour."),o}function ga(n){let o=new rt;if(!n)return o;let a=a0(n);for(let d=0;d<a.length;++d){let f=a[d],m=f[f.length-1],y=f[0];if(m.onCurve)o.moveTo(m.x,m.y);else if(y.onCurve)o.moveTo(y.x,y.y);else{let w={x:(m.x+y.x)*.5,y:(m.y+y.y)*.5};o.moveTo(w.x,w.y)}for(let w=0;w<f.length;++w)if(m=y,y=f[(w+1)%f.length],m.onCurve)o.lineTo(m.x,m.y);else{let T=y;y.onCurve||(T={x:(m.x+y.x)*.5,y:(m.y+y.y)*.5}),o.quadraticCurveTo(m.x,m.y,T.x,T.y)}o.closePath()}return o}function fs(n,o){if(o.isComposite){o0.has(n)||o0.set(n,new Set);let a=o0.get(n);a.add(o.index);try{for(let d=0;d<o.components.length;d+=1){let f=o.components[d];if(a.has(f.glyphIndex))continue;let m=n.get(f.glyphIndex);if(m.getPath(),m.points){let y;if(f.matchedPoints===void 0)y=Fa(m.points,f);else{if(f.matchedPoints[0]>o.points.length-1||f.matchedPoints[1]>m.points.length-1)throw Error("Matched points out of range in "+o.name);let w=o.points[f.matchedPoints[0]],T=m.points[f.matchedPoints[1]],N={xScale:f.xScale,scale01:f.scale01,scale10:f.scale10,yScale:f.yScale,dx:0,dy:0};T=Fa([T],N)[0],N.dx=w.x-T.x,N.dy=w.y-T.y,y=Fa(m.points,N)}o.points=o.points.concat(y)}}}finally{a.delete(o.index)}}return ga(o.points)}function sh(n,o,a,d){let f=new ye.GlyphSet(d);for(let m=0;m<a.length-1;m+=1){let y=a[m],w=a[m+1];y!==w?f.push(m,ye.ttfGlyphLoader(d,m,Oa,n,o+y,fs)):f.push(m,ye.glyphLoader(d,m))}return f}function ih(n,o,a,d){let f=new ye.GlyphSet(d);return d._push=function(m){let y=a[m],w=a[m+1];y!==w?f.push(m,ye.ttfGlyphLoader(d,m,Oa,n,o+y,fs)):f.push(m,ye.glyphLoader(d,m))},f}function hu(n,o,a,d,f){return f.lowMemory?ih(n,o,a,d):sh(n,o,a,d)}var tc={getPath:ga,parse:hu},C=class{constructor(n){this.font=n}normalizeCoordTags(n){for(let o in n)if(o.length<4){let a=o.padEnd(4," ");n[a]===void 0&&(n[a]=n[o]),delete n[o]}}getNormalizedCoords(n){n||(n=this.font.variation.get());let o=[];this.normalizeCoordTags(n);for(let a=0;a<this.fvar().axes.length;a++){let d=this.fvar().axes[a],f=n[d.tag];f===void 0&&(f=d.defaultValue),f<d.defaultValue?o.push((f-d.defaultValue+Number.EPSILON)/(d.defaultValue-d.minValue+Number.EPSILON)):o.push((f-d.defaultValue+Number.EPSILON)/(d.maxValue-d.defaultValue+Number.EPSILON))}if(this.avar())for(let a=0;a<this.avar().axisSegmentMaps.length;a++){let d=this.avar().axisSegmentMaps[a];for(let f=0;f<d.axisValueMaps.length;f++){let m=d.axisValueMaps[f];if(f>=1&&o[a]<m.fromCoordinate){let y=d.axisValueMaps[f-1];o[a]=((o[a]-y.fromCoordinate)*(m.toCoordinate-y.toCoordinate)+Number.EPSILON)/(m.fromCoordinate-y.fromCoordinate+Number.EPSILON)+y.toCoordinate;break}}}return o}interpolatePoints(n,o,a){if(n.length===0)return;let d=0;for(;d<n.length;){let f=d,m=d,y=n[m];for(;!y.lastPointOfContour;)y=n[++m];for(;d<=m&&!a[d];)d++;if(d>m)continue;let w=d,T=d;for(d++;d<=m;)a[d]&&(this.deltaInterpolate(T+1,d-1,T,d,o,n),T=d),d++;T===w?this.deltaShift(f,m,T,o,n):(this.deltaInterpolate(T+1,m,T,w,o,n),w>0&&this.deltaInterpolate(f,w-1,T,w,o,n)),d=m+1}}deltaInterpolate(n,o,a,d,f,m){if(n>o)return;let y=["x","y"];for(let T=0;T<y.length;T++){let N=y[T];if(f[a][N]>f[d][N]){var w=a;a=d,d=w}let E=f[a][N],z=f[d][N],$=m[a][N],ne=m[d][N];if(E!==z||$===ne){let Y=E===z?0:(ne-$)/(z-E);for(let le=n;le<=o;le++){let Pe=f[le][N];Pe<=E?Pe+=$-E:Pe>=z?Pe+=ne-z:Pe=$+(Pe-E)*Y,m[le][N]=Pe}}}}deltaShift(n,o,a,d,f){let m=f[a].x-d[a].x,y=f[a].y-d[a].y;if(!(m===0&&y===0))for(let w=n;w<=o;w++)w!==a&&(f[w].x+=m,f[w].y+=y)}transformComponents(n,o,a,d,f,m){let y=0;for(let w=0;w<n.components.length;w++){let T=n.components[w],N=this.font.glyphs.get(T.glyphIndex),E=lu(T),z=d.indexOf(w);z>-1&&(E.dx+=Math.round(f.deltas[z]*m),E.dy+=Math.round(f.deltasY[z]*m));let $=Fa(this.getTransform(N,a).points,E);o.splice(y,$.length,...$),y+=N.points.length}}applyTupleVariationStore(n,o,a,d="gvar",f={}){a||(a=this.font.variation.get());let m=this.getNormalizedCoords(a),{headers:y,sharedPoints:w}=n,T=this.fvar().axes.length,N;d==="gvar"?N=o.map(Il):d==="cvar"&&(N=[...o]);for(let E=0;E<y.length;E++){let z=y[E],$=1;for(let Y=0;Y<T;Y++){let le=[0];switch(d){case"gvar":le=z.peakTuple?z.peakTuple:this.gvar().sharedTuples[z.sharedTupleRecordsIndex];break;case"cvar":le=z.peakTuple;break}if(le[Y]!==0){if(m[Y]===0){$=0;break}if(z.intermediateStartTuple)if(m[Y]<z.intermediateStartTuple[Y]||m[Y]>z.intermediateEndTuple[Y]){$=0;break}else m[Y]<le[Y]?$=$*(m[Y]-z.intermediateStartTuple[Y]+Number.EPSILON)/(le[Y]-z.intermediateStartTuple[Y]+Number.EPSILON):$=$*(z.intermediateEndTuple[Y]-m[Y]+Number.EPSILON)/(z.intermediateEndTuple[Y]-le[Y]+Number.EPSILON);else{if(m[Y]<Math.min(0,le[Y])||m[Y]>Math.max(0,le[Y])){$=0;break}$=($*m[Y]+Number.EPSILON)/(le[Y]+Number.EPSILON)}}}if($===0)continue;let ne=z.privatePoints.length?z.privatePoints:w;if(d==="gvar"&&f.glyph&&f.glyph.isComposite)this.transformComponents(f.glyph,N,a,ne,z,$);else if(ne.length===0)for(let Y=0;Y<N.length;Y++){let le=N[Y];d==="gvar"?N[Y]={x:Math.round(le.x+z.deltas[Y]*$),y:Math.round(le.y+z.deltasY[Y]*$),onCurve:le.onCurve,lastPointOfContour:le.lastPointOfContour}:d==="cvar"&&(N[Y]=Math.round(le+z.deltas[Y]*$))}else{let Y;d==="gvar"?Y=N.map(Il):d==="cvar"&&(Y=N);let le=Array(o.length).fill(!1);for(let Pe=0;Pe<ne.length;Pe++){let Ht=ne[Pe];if(Ht<o.length){let Pt=Y[Ht];d==="gvar"?(le[Ht]=!0,Pt.x+=z.deltas[Pe]*$,Pt.y+=z.deltasY[Pe]*$):d==="cvar"&&(N[Ht]=Math.round(Pt+z.deltas[Pe]*$))}}if(d==="gvar"){this.interpolatePoints(Y,N,le);for(let Pe=0;Pe<o.length;Pe++){let Ht=Y[Pe].x-N[Pe].x,Pt=Y[Pe].y-N[Pe].y;N[Pe].x=Math.round(N[Pe].x+Ht),N[Pe].y=Math.round(N[Pe].y+Pt)}}}}return N}getTransform(n,o){Number.isInteger(n)&&(n=this.font.glyphs.get(n));let a=n.getBlendPath,d=!!(n.points&&n.points.length),f=n;if(a||d){if(o||(o=this.font.variation.get()),d){let m=this.gvar()&&this.gvar().glyphVariations[n.index];if(m){let y=n.points,w=this.applyTupleVariationStore(m,y,o,"gvar",{glyph:n});f=new zr(Object.assign({},n,{points:w,path:ga(w)}))}}else if(a){let m=n.getBlendPath(o);f=new zr(Object.assign({},n,{path:m}))}}return this.font.tables.hvar&&(n._advanceWidth=typeof n._advanceWidth<"u"?n._advanceWidth:n.advanceWidth,n.advanceWidth=f.advanceWidth=Math.round(n._advanceWidth+this.getVariableAdjustment(f.index,"hvar","advanceWidth",o)),n._leftSideBearing=typeof n._leftSideBearing<"u"?n._leftSideBearing:n.leftSideBearing,n.leftSideBearing=f.leftSideBearing=Math.round(n._leftSideBearing+this.getVariableAdjustment(f.index,"hvar","lsb",o))),f}getCvarTransform(n){let o=this.font.tables.cvt,a=this.cvar();return!o||!o.length||!a||!a.headers.length?o:this.applyTupleVariationStore(a,o,n,"cvar")}getVariableAdjustment(n,o,a,d){d=d||this.font.variation.get();let f,m,y=this.font.tables[o];if(!y)throw Error(`trying to get variation adjustment from non-existent table "${y}"`);if(!y.itemVariationStore)throw Error(`trying to get variation adjustment from table "${y}" which does not have an itemVariationStore`);let w=y[a]&&y[a].map.length;if(w){let T=n;T>=w&&(T=w-1),{outerIndex:f,innerIndex:m}=y[a].map[T]}else f=0,m=n;return this.getDelta(y.itemVariationStore,f,m,d)}getDelta(n,o,a,d){if(o>=n.itemVariationSubtables.length)return 0;let f=n.itemVariationSubtables[o];if(a>=f.deltaSets.length)return 0;let m=f.deltaSets[a],y=this.getBlendVector(n,o,d),w=0;for(let T=0;T<f.regionIndexes.length;T++)w+=m[T]*y[T];return w}getBlendVector(n,o,a){a||(a=this.font.variation.get());let d=n.itemVariationSubtables[o],f=this.getNormalizedCoords(a),m=[];for(let y=0;y<d.regionIndexes.length;y++){let w=1,T=d.regionIndexes[y],N=n.variationRegions[T].regionAxes;for(let E=0;E<N.length;E++){let z=N[E],$;z.startCoord>z.peakCoord||z.peakCoord>z.endCoord||z.startCoord<0&&z.endCoord>0&&z.peakCoord!==0||z.peakCoord===0?$=1:f[E]<z.startCoord||f[E]>z.endCoord?$=0:f[E]===z.peakCoord?$=1:f[E]<z.peakCoord?$=(f[E]-z.startCoord+Number.EPSILON)/(z.peakCoord-z.startCoord+Number.EPSILON):$=(z.endCoord-f[E]+Number.EPSILON)/(z.endCoord-z.peakCoord+Number.EPSILON),w*=$}m[y]=w}return m}avar(){return this.font.tables.avar}cvar(){return this.font.tables.cvar}fvar(){return this.font.tables.fvar}gvar(){return this.font.tables.gvar}hvar(){return this.font.tables.hvar}},D=class{constructor(n){this.font=n,this.process=new C(this.font),this.activateDefaultVariation(),this.getTransform=this.process.getTransform.bind(this.process)}activateDefaultVariation(){let n=this.getDefaultInstanceIndex();n>-1?this.set(n):this.set(this.getDefaultCoordinates())}getDefaultCoordinates(){return this.fvar().axes.reduce((n,o)=>(n[o.tag]=o.defaultValue,n),{})}getDefaultInstanceIndex(){let n=this.getDefaultCoordinates(),o=this.getInstanceIndex(n);return o<0&&(o=this.fvar().instances.findIndex(a=>a.name&&a.name.en==="Regular")),o}getInstanceIndex(n){return this.fvar().instances.findIndex(o=>Object.keys(n).every(a=>o.coordinates[a]===n[a]))}getInstance(n){return this.fvar().instances&&this.fvar().instances[n]}set(n){let o;if(Number.isInteger(n)){let a=this.getInstance(n);if(!a)throw Error(`Invalid instance index ${n}`);o={...a.coordinates}}else o=n,this.process.normalizeCoordTags(o);o=Object.assign({},this.font.defaultRenderOptions.variation,o),this.font.defaultRenderOptions=Object.assign({},this.font.defaultRenderOptions,{variation:o})}get(){return Object.assign({},this.font.defaultRenderOptions.variation)}avar(){return this.font.tables.avar}cvar(){return this.font.tables.cvar}fvar(){return this.font.tables.fvar}gvar(){return this.font.tables.gvar}hvar(){return this.font.tables.hvar}},te=1e6,Be=64,tt=1e4,Rt,Yt,Kr,sn;function bn(n){this.font=n,this.getCommands=function(o){return tc.getPath(o).commands},this._fpgmState=this._prepState=void 0,this._errorState=0}function wo(n){return n}function yn(n){return Math.sign(n)*Math.round(Math.abs(n))}function Mi(n){return Math.sign(n)*Math.round(Math.abs(n*2))/2}function Ho(n){return Math.sign(n)*(Math.round(Math.abs(n)+.5)-.5)}function Wo(n){return Math.sign(n)*Math.ceil(Math.abs(n))}function oo(n){return Math.sign(n)*Math.floor(Math.abs(n))}var li=function(n){let o=this.srPeriod,a=this.srPhase,d=this.srThreshold,f=1;return n<0&&(n=-n,f=-1),n+=d-a,n=Math.trunc(n/o)*o,n+=a,n<0?a*f:n*f},ps={x:1,y:0,axis:"x",distance:function(n,o,a,d){return(a?n.xo:n.x)-(d?o.xo:o.x)},interpolate:function(n,o,a,d){let f,m,y,w,T,N,E;if(!d||d===this){if(f=n.xo-o.xo,m=n.xo-a.xo,T=o.x-o.xo,N=a.x-a.xo,y=Math.abs(f),w=Math.abs(m),E=y+w,E===0){n.x=n.xo+(T+N)/2;return}n.x=n.xo+(T*w+N*y)/E;return}if(f=d.distance(n,o,!0,!0),m=d.distance(n,a,!0,!0),T=d.distance(o,o,!1,!0),N=d.distance(a,a,!1,!0),y=Math.abs(f),w=Math.abs(m),E=y+w,E===0){ps.setRelative(n,n,(T+N)/2,d,!0);return}ps.setRelative(n,n,(T*w+N*y)/E,d,!0)},normalSlope:Number.NEGATIVE_INFINITY,setRelative:function(n,o,a,d,f){if(!d||d===this){n.x=(f?o.xo:o.x)+a;return}let m=f?o.xo:o.x,y=f?o.yo:o.y,w=m+a*d.x,T=y+a*d.y;n.x=w+(n.y-T)/d.normalSlope},slope:0,touch:function(n){n.xTouched=!0},touched:function(n){return n.xTouched},untouch:function(n){n.xTouched=!1}},Go={x:0,y:1,axis:"y",distance:function(n,o,a,d){return(a?n.yo:n.y)-(d?o.yo:o.y)},interpolate:function(n,o,a,d){let f,m,y,w,T,N,E;if(!d||d===this){if(f=n.yo-o.yo,m=n.yo-a.yo,T=o.y-o.yo,N=a.y-a.yo,y=Math.abs(f),w=Math.abs(m),E=y+w,E===0){n.y=n.yo+(T+N)/2;return}n.y=n.yo+(T*w+N*y)/E;return}if(f=d.distance(n,o,!0,!0),m=d.distance(n,a,!0,!0),T=d.distance(o,o,!1,!0),N=d.distance(a,a,!1,!0),y=Math.abs(f),w=Math.abs(m),E=y+w,E===0){Go.setRelative(n,n,(T+N)/2,d,!0);return}Go.setRelative(n,n,(T*w+N*y)/E,d,!0)},normalSlope:0,setRelative:function(n,o,a,d,f){if(!d||d===this){n.y=(f?o.yo:o.y)+a;return}let m=f?o.xo:o.x,y=f?o.yo:o.y,w=m+a*d.x,T=y+a*d.y;n.y=T+d.normalSlope*(n.x-w)},slope:Number.POSITIVE_INFINITY,touch:function(n){n.yTouched=!0},touched:function(n){return n.yTouched},untouch:function(n){n.yTouched=!1}};Object.freeze(ps),Object.freeze(Go);function Ua(n,o){this.x=n,this.y=o,this.axis=void 0,this.slope=o/n,this.normalSlope=-n/o,Object.freeze(this)}Ua.prototype.distance=function(n,o,a,d){return this.x*ps.distance(n,o,a,d)+this.y*Go.distance(n,o,a,d)},Ua.prototype.interpolate=function(n,o,a,d){let f,m,y,w,T,N,E;if(y=d.distance(n,o,!0,!0),w=d.distance(n,a,!0,!0),f=d.distance(o,o,!1,!0),m=d.distance(a,a,!1,!0),T=Math.abs(y),N=Math.abs(w),E=T+N,E===0){this.setRelative(n,n,(f+m)/2,d,!0);return}this.setRelative(n,n,(f*N+m*T)/E,d,!0)},Ua.prototype.setRelative=function(n,o,a,d,f){d=d||this;let m=f?o.xo:o.x,y=f?o.yo:o.y,w=m+a*d.x,T=y+a*d.y,N=d.normalSlope,E=this.slope,z=n.x,$=n.y;n.x=(E*z-N*w+T-$)/(E-N),n.y=E*(n.x-z)+$},Ua.prototype.touch=function(n){n.xTouched=!0,n.yTouched=!0};function rc(n,o){let a=Math.sqrt(n*n+o*o);return n/=a,o/=a,n===1&&o===0?ps:n===0&&o===1?Go:new Ua(n,o)}function $a(n,o,a,d){this.x=this.xo=Math.round(n*64)/64,this.y=this.yo=Math.round(o*64)/64,this.lastPointOfContour=a,this.onCurve=d,this.prevPointOnContour=void 0,this.nextPointOnContour=void 0,this.xTouched=!1,this.yTouched=!1,Object.preventExtensions(this)}$a.prototype.nextTouched=function(n){let o=this.nextPointOnContour;for(;!n.touched(o)&&o!==this;)o=o.nextPointOnContour;return o},$a.prototype.prevTouched=function(n){let o=this.prevPointOnContour;for(;!n.touched(o)&&o!==this;)o=o.prevPointOnContour;return o};var nc=Object.freeze(new $a(0,0)),$6={cvCutIn:17/16,deltaBase:9,deltaShift:.125,loop:1,minDis:1,autoFlip:!0};function ol(n,o){switch(this.env=n,this.stack=[],this.prog=o,n){case"glyf":this.zp0=this.zp1=this.zp2=1,this.rp0=this.rp1=this.rp2=0;case"prep":this.fv=this.pv=this.dpv=ps,this.round=yn}}bn.prototype.exec=function(n,o){if(typeof o!="number")throw new Error("Point size is not a number!");if(this._errorState>2)return;let a=this.font,d=this._prepState;if(!d||d.ppem!==o){let f=this._fpgmState;if(!f){ol.prototype=$6,f=this._fpgmState=new ol("fpgm",a.tables.fpgm),f.funcs=[],f.font=a,f.instructionCount=0,f.callDepth=0;try{Yt(f)}catch(y){console.log("Hinting error in FPGM:"+y),this._errorState=3;return}}ol.prototype=f,d=this._prepState=new ol("prep",a.tables.prep),d.ppem=o,d.instructionCount=0,d.callDepth=0;let m=a.variation&&a.variation.process.getCvarTransform()||a.tables.cvt;if(m){let y=d.cvt=new Array(m.length),w=o/a.unitsPerEm;for(let T=0;T<m.length;T++)y[T]=m[T]*w}else d.cvt=[];try{Yt(d)}catch(y){this._errorState<2&&console.log("Hinting error in PREP:"+y),this._errorState=2}}if(!(this._errorState>1))try{return Kr(n,d)}catch(f){this._errorState<1&&(console.log("Hinting error:"+f),console.log("Note: further hinting errors are silenced")),this._errorState=1;return}},Kr=function(n,o){let a=o.ppem/o.font.unitsPerEm,d=a,f=n.components,m,y,w;if(ol.prototype=o,!f)w=new ol("glyf",n.instructions),w.instructionCount=0,w.callDepth=0,sn(n,w,a,d),y=w.gZone;else{let T=o.font;y=[],m=[];for(let N=0;N<f.length;N++){let E=f[N],z=T.glyphs.get(E.glyphIndex);w=new ol("glyf",z.instructions),w.instructionCount=0,w.callDepth=0,sn(z,w,a,d);let $=Math.round(E.dx*a),ne=Math.round(E.dy*d),Y=w.gZone,le=w.contours;for(let Ht=0;Ht<Y.length;Ht++){let Pt=Y[Ht];Pt.xTouched=Pt.yTouched=!1,Pt.xo=Pt.x=Pt.x+$,Pt.yo=Pt.y=Pt.y+ne}let Pe=y.length;y.push.apply(y,Y);for(let Ht=0;Ht<le.length;Ht++)m.push(le[Ht]+Pe)}n.instructions&&!w.inhibitGridFit&&(w=new ol("glyf",n.instructions),w.gZone=w.z0=w.z1=w.z2=y,w.contours=m,y.push(new $a(0,0),new $a(Math.round(n.advanceWidth*a),0)),Yt(w),y.length-=2)}return y},sn=function(n,o,a,d){let f=n.points||[],m=f.length,y=o.gZone=o.z0=o.z1=o.z2=[],w=o.contours=[],T;for(let z=0;z<m;z++)T=f[z],y[z]=new $a(T.x*a,T.y*d,T.lastPointOfContour,T.onCurve);let N,E;for(let z=0;z<m;z++)T=y[z],N||(N=T,w.push(z)),T.lastPointOfContour?(T.nextPointOnContour=N,N.prevPointOnContour=T,N=void 0):(E=y[z+1],T.nextPointOnContour=E,E.prevPointOnContour=T);o.inhibitGridFit||(y.push(new $a(0,0),new $a(Math.round(n.advanceWidth*a),0)),Yt(o),y.length-=2)},Yt=function(n){let o=n.prog;if(!o)return;let a=o.length,d;for(n.ip=0;n.ip<a;n.ip++){if(++n.instructionCount>te)throw new Error("Hinting instructions exceeded maximum of "+te);if(d=Rt[o[n.ip]],!d)throw new Error("unknown instruction: 0x"+Number(o[n.ip]).toString(16));d(n)}};function fu(n){let o=n.tZone=new Array(n.gZone.length);for(let a=0;a<o.length;a++)o[a]=new $a(0,0)}function h1(n,o){let a=n.prog,d=n.ip,f=1,m;do if(m=a[++d],m===88)f++;else if(m===89)f--;else if(m===64)d+=a[d+1]+1;else if(m===65)d+=2*a[d+1]+1;else if(m>=176&&m<=183)d+=m-176+1;else if(m>=184&&m<=191)d+=(m-184+1)*2;else if(o&&f===1&&m===27)break;while(f>0);n.ip=d}function f1(n,o){o.fv=o.pv=o.dpv=n}function p1(n,o){o.pv=o.dpv=n}function m1(n,o){o.fv=n}function g1(n,o){let a=o.stack,d=a.pop(),f=a.pop(),m=o.z2[d],y=o.z1[f],w,T;n?(w=m.y-y.y,T=y.x-m.x):(w=y.x-m.x,T=y.y-m.y),o.pv=o.dpv=rc(w,T)}function x1(n,o){let a=o.stack,d=a.pop(),f=a.pop(),m=o.z2[d],y=o.z1[f],w,T;n?(w=m.y-y.y,T=y.x-m.x):(w=y.x-m.x,T=y.y-m.y),o.fv=rc(w,T)}function z6(n){let o=n.stack,a=o.pop(),d=o.pop();n.pv=n.dpv=rc(d,a)}function H6(n){let o=n.stack,a=o.pop(),d=o.pop();n.fv=rc(d,a)}function W6(n){let o=n.stack,a=n.pv;o.push(a.x*16384),o.push(a.y*16384)}function G6(n){let o=n.stack,a=n.fv;o.push(a.x*16384),o.push(a.y*16384)}function V6(n){n.fv=n.pv}function q6(n){let o=n.stack,a=o.pop(),d=o.pop(),f=o.pop(),m=o.pop(),y=o.pop(),w=n.z0,T=n.z1,N=w[a],E=w[d],z=T[f],$=T[m],ne=n.z2[y],Y=N.x,le=N.y,Pe=E.x,Ht=E.y,Pt=z.x,nr=z.y,Cr=$.x,pn=$.y,In=(Y-Pe)*(nr-pn)-(le-Ht)*(Pt-Cr),kn=Y*Ht-le*Pe,Ls=Pt*pn-nr*Cr;ne.x=(kn*(Pt-Cr)-Ls*(Y-Pe))/In,ne.y=(kn*(nr-pn)-Ls*(le-Ht))/In}function Z6(n){n.rp0=n.stack.pop()}function Y6(n){n.rp1=n.stack.pop()}function K6(n){n.rp2=n.stack.pop()}function X6(n){let o=n.stack.pop();switch(n.zp0=o,o){case 0:n.tZone||fu(n),n.z0=n.tZone;break;case 1:n.z0=n.gZone;break;default:throw new Error("Invalid zone pointer")}}function J6(n){let o=n.stack.pop();switch(n.zp1=o,o){case 0:n.tZone||fu(n),n.z1=n.tZone;break;case 1:n.z1=n.gZone;break;default:throw new Error("Invalid zone pointer")}}function e4(n){let o=n.stack.pop();switch(n.zp2=o,o){case 0:n.tZone||fu(n),n.z2=n.tZone;break;case 1:n.z2=n.gZone;break;default:throw new Error("Invalid zone pointer")}}function t4(n){let o=n.stack.pop();switch(n.zp0=n.zp1=n.zp2=o,o){case 0:n.tZone||fu(n),n.z0=n.z1=n.z2=n.tZone;break;case 1:n.z0=n.z1=n.z2=n.gZone;break;default:throw new Error("Invalid zone pointer")}}function r4(n){n.loop=n.stack.pop(),n.loop>tt&&(n.loop=tt)}function n4(n){n.round=yn}function s4(n){n.round=Ho}function i4(n){let o=n.stack.pop();n.minDis=o/64}function o4(n){h1(n,!1)}function a4(n){let o=n.stack.pop();n.ip+=o-1}function l4(n){let o=n.stack.pop();n.cvCutIn=o/64}function c4(n){let o=n.stack;o.push(o[o.length-1])}function oh(n){n.stack.pop()}function u4(n){n.stack.length=0}function d4(n){let o=n.stack,a=o.pop(),d=o.pop();o.push(a),o.push(d)}function h4(n){let o=n.stack;o.push(o.length)}function f4(n){let o=n.stack,a=o.pop(),d=o.pop();if(d>tt&&(d=tt),++n.callDepth>Be)throw new Error("Hinting call depth exceeded maximum of "+Be);let f=n.ip,m=n.prog;n.prog=n.funcs[a];for(let y=0;y<d;y++)Yt(n);n.ip=f,n.prog=m,n.callDepth--}function p4(n){let o=n.stack.pop();if(++n.callDepth>Be)throw new Error("Hinting call depth exceeded maximum of "+Be);let a=n.ip,d=n.prog;n.prog=n.funcs[o],Yt(n),n.ip=a,n.prog=d,n.callDepth--}function m4(n){let o=n.stack,a=o.pop();o.push(o[o.length-a])}function g4(n){let o=n.stack,a=o.pop();o.push(o.splice(o.length-a,1)[0])}function x4(n){if(n.env!=="fpgm")throw new Error("FDEF not allowed here");let o=n.stack,a=n.prog,d=n.ip,f=o.pop(),m=d;for(;a[++d]!==45;);n.ip=d,n.funcs[f]=a.slice(m+1,d)}function b1(n,o){let a=o.stack.pop(),d=o.z0[a],f=o.fv,m=o.pv,y=m.distance(d,nc);n&&(y=o.round(y)),f.setRelative(d,nc,y,m),f.touch(d),o.rp0=o.rp1=a}function y1(n,o){let a=o.z2,d=a.length-2,f,m,y;for(let w=0;w<d;w++)f=a[w],!n.touched(f)&&(m=f.prevTouched(n),m!==f&&(y=f.nextTouched(n),m===y&&n.setRelative(f,f,n.distance(m,m,!1,!0),n,!0),n.interpolate(f,m,y,n)))}function v1(n,o){let a=o.stack,d=n?o.rp1:o.rp2,f=(n?o.z0:o.z1)[d],m=o.fv,y=o.pv,w=o.loop,T=o.z2;for(;w--;){let N=a.pop(),E=T[N],z=y.distance(f,f,!1,!0);m.setRelative(E,E,z,y),m.touch(E)}o.loop=1}function w1(n,o){let a=o.stack,d=n?o.rp1:o.rp2,f=(n?o.z0:o.z1)[d],m=o.fv,y=o.pv,w=a.pop(),T=o.z2[o.contours[w]],N=T,E=y.distance(f,f,!1,!0);do N!==f&&m.setRelative(N,N,E,y),N=N.nextPointOnContour;while(N!==T)}function A1(n,o){let a=o.stack,d=n?o.rp1:o.rp2,f=(n?o.z0:o.z1)[d],m=o.fv,y=o.pv,w=a.pop(),T;switch(w){case 0:T=o.tZone;break;case 1:T=o.gZone;break;default:throw new Error("Invalid zone")}let N,E=y.distance(f,f,!1,!0),z=T.length-2;for(let $=0;$<z;$++)N=T[$],m.setRelative(N,N,E,y)}function b4(n){let o=n.stack,a=n.loop,d=n.fv,f=o.pop()/64,m=n.z2;for(;a--;){let y=o.pop(),w=m[y];d.setRelative(w,w,f),d.touch(w)}n.loop=1}function y4(n){let o=n.stack,a=n.rp1,d=n.rp2,f=n.loop,m=n.z0[a],y=n.z1[d],w=n.fv,T=n.dpv,N=n.z2;for(;f--;){let E=o.pop(),z=N[E];w.interpolate(z,m,y,T),w.touch(z)}n.loop=1}function T1(n,o){let a=o.stack,d=a.pop()/64,f=a.pop(),m=o.z1[f],y=o.z0[o.rp0],w=o.fv,T=o.pv;w.setRelative(m,y,d,T),w.touch(m),o.rp1=o.rp0,o.rp2=f,n&&(o.rp0=f)}function v4(n){let o=n.stack,a=n.rp0,d=n.z0[a],f=n.loop,m=n.fv,y=n.pv,w=n.z1;for(;f--;){let T=o.pop(),N=w[T];m.setRelative(N,d,0,y),m.touch(N)}n.loop=1}function w4(n){n.round=Mi}function S1(n,o){let a=o.stack,d=a.pop(),f=a.pop(),m=o.z0[f],y=o.fv,w=o.pv,T=o.cvt[d],N=w.distance(m,nc);n&&(Math.abs(N-T)<o.cvCutIn&&(N=T),N=o.round(N)),y.setRelative(m,nc,N,w),o.zp0===0&&(m.xo=m.x,m.yo=m.y),y.touch(m),o.rp0=o.rp1=f}function A4(n){let o=n.prog,a=n.ip,d=n.stack,f=o[++a];for(let m=0;m<f;m++)d.push(o[++a]);n.ip=a}function T4(n){let o=n.ip,a=n.prog,d=n.stack,f=a[++o];for(let m=0;m<f;m++){let y=a[++o]<<8|a[++o];y&32768&&(y=-((y^65535)+1)),d.push(y)}n.ip=o}function S4(n){let o=n.stack,a=n.store;a||(a=n.store=[]);let d=o.pop(),f=o.pop();a[f]=d}function C4(n){let o=n.stack,a=n.store,d=o.pop(),f=a&&a[d]||0;o.push(f)}function _4(n){let o=n.stack,a=o.pop(),d=o.pop();n.cvt[d]=a/64}function L4(n){let o=n.stack,a=o.pop();o.push(n.cvt[a]*64)}function C1(n,o){let a=o.stack,d=a.pop(),f=o.z2[d];a.push(o.dpv.distance(f,nc,n,!1)*64)}function _1(n,o){let a=o.stack,d=a.pop(),f=a.pop(),m=o.z1[d],y=o.z0[f],w=o.dpv.distance(y,m,n,n);o.stack.push(Math.round(w*64))}function I4(n){n.stack.push(n.ppem)}function k4(n){n.autoFlip=!0}function E4(n){let o=n.stack,a=o.pop(),d=o.pop();o.push(d<a?1:0)}function R4(n){let o=n.stack,a=o.pop(),d=o.pop();o.push(d<=a?1:0)}function M4(n){let o=n.stack,a=o.pop(),d=o.pop();o.push(d>a?1:0)}function N4(n){let o=n.stack,a=o.pop(),d=o.pop();o.push(d>=a?1:0)}function D4(n){let o=n.stack,a=o.pop(),d=o.pop();o.push(a===d?1:0)}function B4(n){let o=n.stack,a=o.pop(),d=o.pop();o.push(a!==d?1:0)}function Q4(n){let o=n.stack,a=o.pop();o.push(Math.trunc(a)&1?1:0)}function j4(n){let o=n.stack,a=o.pop();o.push(Math.trunc(a)&1?0:1)}function P4(n){let o=n.stack.pop(),a;o||h1(n,!0)}function O4(n){}function F4(n){let o=n.stack,a=o.pop(),d=o.pop();o.push(a&&d?1:0)}function U4(n){let o=n.stack,a=o.pop(),d=o.pop();o.push(a||d?1:0)}function $4(n){let o=n.stack,a=o.pop();o.push(a?0:1)}function ah(n,o){let a=o.stack,d=a.pop(),f=o.fv,m=o.pv,y=o.ppem,w=o.deltaBase+(n-1)*16,T=o.deltaShift,N=o.z0;for(let E=0;E<d;E++){let z=a.pop(),$=a.pop();if(w+(($&240)>>4)!==y)continue;let ne=($&15)-8;ne>=0&&ne++;let Y=N[z];f.setRelative(Y,Y,ne*T,m)}}function z4(n){let o=n.stack.pop();n.deltaBase=o}function H4(n){let o=n.stack.pop();n.deltaShift=Math.pow(.5,o)}function W4(n){let o=n.stack,a=o.pop(),d=o.pop();o.push(d+a)}function G4(n){let o=n.stack,a=o.pop(),d=o.pop();o.push(d-a)}function V4(n){let o=n.stack,a=o.pop(),d=o.pop();o.push(d*64/a)}function q4(n){let o=n.stack,a=o.pop(),d=o.pop();o.push(d*a/64)}function Z4(n){let o=n.stack,a=o.pop();o.push(Math.abs(a))}function Y4(n){let o=n.stack,a=o.pop();o.push(-a)}function K4(n){let o=n.stack,a=o.pop();o.push(Math.floor(a/64)*64)}function X4(n){let o=n.stack,a=o.pop();o.push(Math.ceil(a/64)*64)}function pu(n,o){let a=o.stack,d=a.pop();a.push(o.round(d/64)*64)}function J4(n){let o=n.stack,a=o.pop(),d=o.pop();n.cvt[d]=a*n.ppem/n.font.unitsPerEm}function lh(n,o){let a=o.stack,d=a.pop(),f=o.ppem,m=o.deltaBase+(n-1)*16,y=o.deltaShift;for(let w=0;w<d;w++){let T=a.pop(),N=a.pop();if(m+((N&240)>>4)!==f)continue;let E=(N&15)-8;E>=0&&E++;let z=E*y;o.cvt[T]+=z}}function eb(n){let o=n.stack.pop();n.round=li;let a;switch(o&192){case 0:a=.5;break;case 64:a=1;break;case 128:a=2;break;default:throw new Error("invalid SROUND value")}switch(n.srPeriod=a,o&48){case 0:n.srPhase=0;break;case 16:n.srPhase=.25*a;break;case 32:n.srPhase=.5*a;break;case 48:n.srPhase=.75*a;break;default:throw new Error("invalid SROUND value")}o&=15,o===0?n.srThreshold=0:n.srThreshold=(o/8-.5)*a}function tb(n){let o=n.stack.pop();n.round=li;let a;switch(o&192){case 0:a=Math.sqrt(2)/2;break;case 64:a=Math.sqrt(2);break;case 128:a=2*Math.sqrt(2);break;default:throw new Error("invalid S45ROUND value")}switch(n.srPeriod=a,o&48){case 0:n.srPhase=0;break;case 16:n.srPhase=.25*a;break;case 32:n.srPhase=.5*a;break;case 48:n.srPhase=.75*a;break;default:throw new Error("invalid S45ROUND value")}o&=15,o===0?n.srThreshold=0:n.srThreshold=(o/8-.5)*a}function rb(n){n.round=wo}function nb(n){n.round=Wo}function sb(n){n.round=oo}function ib(n){let o=n.stack.pop()}function L1(n,o){let a=o.stack,d=a.pop(),f=a.pop(),m=o.z2[d],y=o.z1[f],w,T;n?(w=m.y-y.y,T=y.x-m.x):(w=y.x-m.x,T=y.y-m.y),o.dpv=rc(w,T)}function ob(n){let o=n.stack,a=o.pop(),d=0;a&1&&(d=35),a&32&&(d|=4096),o.push(d)}function ab(n){let o=n.stack,a=o.pop(),d=o.pop(),f=o.pop();o.push(d),o.push(a),o.push(f)}function lb(n){let o=n.stack,a=o.pop(),d=o.pop();o.push(Math.max(d,a))}function cb(n){let o=n.stack,a=o.pop(),d=o.pop();o.push(Math.min(d,a))}function ub(n){let o=n.stack.pop()}function db(n){let o=n.stack.pop(),a=n.stack.pop();switch(o){case 1:n.inhibitGridFit=!!a;return;case 2:n.ignoreCvt=!!a;return;default:throw new Error("invalid INSTCTRL[] selector")}}function al(n,o){let a=o.stack,d=o.prog,f=o.ip;for(let m=0;m<n;m++)a.push(d[++f]);o.ip=f}function ll(n,o){let a=o.ip,d=o.prog,f=o.stack;for(let m=0;m<n;m++){let y=d[++a]<<8|d[++a];y&32768&&(y=-((y^65535)+1)),f.push(y)}o.ip=a}function Ot(n,o,a,d,f,m){let y=m.stack,w=n&&y.pop(),T=y.pop(),N=m.rp0,E=m.z0[N],z=m.z1[T],$=m.minDis,ne=m.fv,Y=m.dpv,le,Pe,Ht,Pt;Pe=le=Y.distance(z,E,!0,!0),Ht=Pe>=0?1:-1,Pe=Math.abs(Pe),n&&(Pt=m.cvt[w],d&&Math.abs(Pe-Pt)<m.cvCutIn&&(Pe=Pt)),a&&Pe<$&&(Pe=$),d&&(Pe=m.round(Pe)),ne.setRelative(z,E,Ht*Pe,Y),ne.touch(z),m.rp1=m.rp0,m.rp2=T,o&&(m.rp0=T)}Rt=[f1.bind(void 0,Go),f1.bind(void 0,ps),p1.bind(void 0,Go),p1.bind(void 0,ps),m1.bind(void 0,Go),m1.bind(void 0,ps),g1.bind(void 0,0),g1.bind(void 0,1),x1.bind(void 0,0),x1.bind(void 0,1),z6,H6,W6,G6,V6,q6,Z6,Y6,K6,X6,J6,e4,t4,r4,n4,s4,i4,o4,a4,l4,void 0,void 0,c4,oh,u4,d4,h4,m4,g4,void 0,void 0,void 0,f4,p4,x4,void 0,b1.bind(void 0,0),b1.bind(void 0,1),y1.bind(void 0,Go),y1.bind(void 0,ps),v1.bind(void 0,0),v1.bind(void 0,1),w1.bind(void 0,0),w1.bind(void 0,1),A1.bind(void 0,0),A1.bind(void 0,1),b4,y4,T1.bind(void 0,0),T1.bind(void 0,1),v4,w4,S1.bind(void 0,0),S1.bind(void 0,1),A4,T4,S4,C4,_4,L4,C1.bind(void 0,0),C1.bind(void 0,1),void 0,_1.bind(void 0,0),_1.bind(void 0,1),I4,void 0,k4,void 0,void 0,E4,R4,M4,N4,D4,B4,Q4,j4,P4,O4,F4,U4,$4,ah.bind(void 0,1),z4,H4,W4,G4,V4,q4,Z4,Y4,K4,X4,pu.bind(void 0,0),pu.bind(void 0,1),pu.bind(void 0,2),pu.bind(void 0,3),void 0,void 0,void 0,void 0,J4,ah.bind(void 0,2),ah.bind(void 0,3),lh.bind(void 0,1),lh.bind(void 0,2),lh.bind(void 0,3),eb,tb,void 0,void 0,rb,void 0,nb,sb,oh,oh,void 0,void 0,void 0,void 0,void 0,ib,L1.bind(void 0,0),L1.bind(void 0,1),ob,void 0,ab,lb,cb,ub,db,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,al.bind(void 0,1),al.bind(void 0,2),al.bind(void 0,3),al.bind(void 0,4),al.bind(void 0,5),al.bind(void 0,6),al.bind(void 0,7),al.bind(void 0,8),ll.bind(void 0,1),ll.bind(void 0,2),ll.bind(void 0,3),ll.bind(void 0,4),ll.bind(void 0,5),ll.bind(void 0,6),ll.bind(void 0,7),ll.bind(void 0,8),Ot.bind(void 0,0,0,0,0,0),Ot.bind(void 0,0,0,0,0,1),Ot.bind(void 0,0,0,0,0,2),Ot.bind(void 0,0,0,0,0,3),Ot.bind(void 0,0,0,0,1,0),Ot.bind(void 0,0,0,0,1,1),Ot.bind(void 0,0,0,0,1,2),Ot.bind(void 0,0,0,0,1,3),Ot.bind(void 0,0,0,1,0,0),Ot.bind(void 0,0,0,1,0,1),Ot.bind(void 0,0,0,1,0,2),Ot.bind(void 0,0,0,1,0,3),Ot.bind(void 0,0,0,1,1,0),Ot.bind(void 0,0,0,1,1,1),Ot.bind(void 0,0,0,1,1,2),Ot.bind(void 0,0,0,1,1,3),Ot.bind(void 0,0,1,0,0,0),Ot.bind(void 0,0,1,0,0,1),Ot.bind(void 0,0,1,0,0,2),Ot.bind(void 0,0,1,0,0,3),Ot.bind(void 0,0,1,0,1,0),Ot.bind(void 0,0,1,0,1,1),Ot.bind(void 0,0,1,0,1,2),Ot.bind(void 0,0,1,0,1,3),Ot.bind(void 0,0,1,1,0,0),Ot.bind(void 0,0,1,1,0,1),Ot.bind(void 0,0,1,1,0,2),Ot.bind(void 0,0,1,1,0,3),Ot.bind(void 0,0,1,1,1,0),Ot.bind(void 0,0,1,1,1,1),Ot.bind(void 0,0,1,1,1,2),Ot.bind(void 0,0,1,1,1,3),Ot.bind(void 0,1,0,0,0,0),Ot.bind(void 0,1,0,0,0,1),Ot.bind(void 0,1,0,0,0,2),Ot.bind(void 0,1,0,0,0,3),Ot.bind(void 0,1,0,0,1,0),Ot.bind(void 0,1,0,0,1,1),Ot.bind(void 0,1,0,0,1,2),Ot.bind(void 0,1,0,0,1,3),Ot.bind(void 0,1,0,1,0,0),Ot.bind(void 0,1,0,1,0,1),Ot.bind(void 0,1,0,1,0,2),Ot.bind(void 0,1,0,1,0,3),Ot.bind(void 0,1,0,1,1,0),Ot.bind(void 0,1,0,1,1,1),Ot.bind(void 0,1,0,1,1,2),Ot.bind(void 0,1,0,1,1,3),Ot.bind(void 0,1,1,0,0,0),Ot.bind(void 0,1,1,0,0,1),Ot.bind(void 0,1,1,0,0,2),Ot.bind(void 0,1,1,0,0,3),Ot.bind(void 0,1,1,0,1,0),Ot.bind(void 0,1,1,0,1,1),Ot.bind(void 0,1,1,0,1,2),Ot.bind(void 0,1,1,0,1,3),Ot.bind(void 0,1,1,1,0,0),Ot.bind(void 0,1,1,1,0,1),Ot.bind(void 0,1,1,1,0,2),Ot.bind(void 0,1,1,1,0,3),Ot.bind(void 0,1,1,1,1,0),Ot.bind(void 0,1,1,1,1,1),Ot.bind(void 0,1,1,1,1,2),Ot.bind(void 0,1,1,1,1,3)];var hb=bn;function l0(n){this.char=n,this.state={},this.activeState=null}function ch(n,o,a){this.contextName=a,this.startIndex=n,this.endOffset=o}function fb(n,o,a){this.contextName=n,this.openRange=null,this.ranges=[],this.checkStart=o,this.checkEnd=a}function Ni(n,o){this.context=n,this.index=o,this.length=n.length,this.current=n[o],this.backtrack=n.slice(0,o),this.lookahead=n.slice(o+1)}function mu(n){this.eventId=n,this.subscribers=[]}function pb(n){let o=["start","end","next","newToken","contextStart","contextEnd","insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD","updateContextsRanges"];for(let d=0;d<o.length;d++){let f=o[d];Object.defineProperty(this.events,f,{value:new mu(f)})}if(n)for(let d=0;d<o.length;d++){let f=o[d],m=n[f];typeof m=="function"&&this.events[f].subscribe(m)}let a=["insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD"];for(let d=0;d<a.length;d++){let f=a[d];this.events[f].subscribe(this.updateContextsRanges)}}function ss(n){this.tokens=[],this.registeredContexts={},this.contextCheckers=[],this.events={},this.registeredModifiers=[],pb.call(this,n)}l0.prototype.setState=function(n,o){return this.state[n]=o,this.activeState={key:n,value:this.state[n]},this.activeState},l0.prototype.getState=function(n){return this.state[n]||null},ss.prototype.inboundIndex=function(n){return n>=0&&n<this.tokens.length},ss.prototype.composeRUD=function(n){let o=n.map(d=>this[d[0]].apply(this,d.slice(1).concat(!0))),a=d=>typeof d=="object"&&Object.prototype.hasOwnProperty.call(d,"FAIL");if(o.every(a))return{FAIL:"composeRUD: one or more operations hasn't completed successfully",report:o.filter(a)};this.dispatch("composeRUD",[o.filter(d=>!a(d))])},ss.prototype.replaceRange=function(n,o,a,d){o=o!==null?o:this.tokens.length;let f=a.every(m=>m instanceof l0);if(!isNaN(n)&&this.inboundIndex(n)&&f){let m=this.tokens.splice.apply(this.tokens,[n,o].concat(a));return d||this.dispatch("replaceToken",[n,o,a]),[m,a]}else return{FAIL:"replaceRange: invalid tokens or startIndex."}},ss.prototype.replaceToken=function(n,o,a){if(!isNaN(n)&&this.inboundIndex(n)&&o instanceof l0){let d=this.tokens.splice(n,1,o);return a||this.dispatch("replaceToken",[n,o]),[d[0],o]}else return{FAIL:"replaceToken: invalid token or index."}},ss.prototype.removeRange=function(n,o,a){o=isNaN(o)?this.tokens.length:o;let d=this.tokens.splice(n,o);return a||this.dispatch("removeRange",[d,n,o]),d},ss.prototype.removeToken=function(n,o){if(!isNaN(n)&&this.inboundIndex(n)){let a=this.tokens.splice(n,1);return o||this.dispatch("removeToken",[a,n]),a}else return{FAIL:"removeToken: invalid token index."}},ss.prototype.insertToken=function(n,o,a){return n.every(d=>d instanceof l0)?(this.tokens.splice.apply(this.tokens,[o,0].concat(n)),a||this.dispatch("insertToken",[n,o]),n):{FAIL:"insertToken: invalid token(s)."}},ss.prototype.registerModifier=function(n,o,a){this.events.newToken.subscribe(function(d,f){let m=[d,f],y=o===null||o.apply(this,m)===!0,w=[d,f];if(y){let T=a.apply(this,w);d.setState(n,T)}}),this.registeredModifiers.push(n)},mu.prototype.subscribe=function(n){return typeof n=="function"?this.subscribers.push(n)-1:{FAIL:`invalid '${this.eventId}' event handler`}},mu.prototype.unsubscribe=function(n){this.subscribers.splice(n,1)},Ni.prototype.setCurrentIndex=function(n){this.index=n,this.current=this.context[n],this.backtrack=this.context.slice(0,n),this.lookahead=this.context.slice(n+1)},Ni.prototype.get=function(n){switch(!0){case n===0:return this.current;case(n<0&&Math.abs(n)<=this.backtrack.length):return this.backtrack.slice(n)[0];case(n>0&&n<=this.lookahead.length):return this.lookahead[n-1];default:return null}},ss.prototype.rangeToText=function(n){if(n instanceof ch)return this.getRangeTokens(n).map(o=>o.char).join("")},ss.prototype.getText=function(){return this.tokens.map(n=>n.char).join("")},ss.prototype.getContext=function(n){return this.registeredContexts[n]||null},ss.prototype.on=function(n,o){let a=this.events[n];return a?a.subscribe(o):null},ss.prototype.dispatch=function(n,o){let a=this.events[n];if(a instanceof mu)for(let d=0;d<a.subscribers.length;d++)a.subscribers[d].apply(this,o||[])},ss.prototype.registerContextChecker=function(n,o,a){if(this.getContext(n))return{FAIL:`context name '${n}' is already registered.`};if(typeof o!="function")return{FAIL:"missing context start check."};if(typeof a!="function")return{FAIL:"missing context end check."};let d=new fb(n,o,a);return this.registeredContexts[n]=d,this.contextCheckers.push(d),d},ss.prototype.getRangeTokens=function(n){let o=n.startIndex+n.endOffset;return[].concat(this.tokens.slice(n.startIndex,o))},ss.prototype.getContextRanges=function(n){let o=this.getContext(n);return o?o.ranges:{FAIL:`context checker '${n}' is not registered.`}},ss.prototype.resetContextsRanges=function(){let n=this.registeredContexts;for(let o in n)if(Object.prototype.hasOwnProperty.call(n,o)){let a=n[o];a.ranges=[]}},ss.prototype.updateContextsRanges=function(){this.resetContextsRanges();let n=this.tokens.map(o=>o.char);for(let o=0;o<n.length;o++){let a=new Ni(n,o);this.runContextCheck(a)}this.dispatch("updateContextsRanges",[this.registeredContexts])},ss.prototype.setEndOffset=function(n,o){let a=this.getContext(o).openRange.startIndex,d=new ch(a,n,o),f=this.getContext(o).ranges;return d.rangeId=`${o}.${f.length}`,f.push(d),this.getContext(o).openRange=null,d},ss.prototype.runContextCheck=function(n){let o=n.index;for(let a=0;a<this.contextCheckers.length;a++){let d=this.contextCheckers[a],f=d.contextName,m=this.getContext(f).openRange;if(!m&&d.checkStart(n)&&(m=new ch(o,null,f),this.getContext(f).openRange=m,this.dispatch("contextStart",[f,o])),m&&d.checkEnd(n)){let y=o-m.startIndex+1,w=this.setEndOffset(y,f);this.dispatch("contextEnd",[f,w])}}},ss.prototype.tokenize=function(n){this.tokens=[],this.resetContextsRanges();let o=Array.from(n);this.dispatch("start");for(let a=0;a<o.length;a++){let d=o[a],f=new Ni(o,a);this.dispatch("next",[f]),this.runContextCheck(f);let m=new l0(d);this.tokens.push(m),this.dispatch("newToken",[m,f])}return this.dispatch("end",[this.tokens]),this.tokens};var mb=ss;function cl(n){return/[\u0600-\u065F\u066A-\u06D2\u06FA-\u06FF]/.test(n)}function I1(n){return/[\u0630\u0690\u0621\u0631\u0661\u0671\u0622\u0632\u0672\u0692\u06C2\u0623\u0673\u0693\u06C3\u0624\u0694\u06C4\u0625\u0675\u0695\u06C5\u06E5\u0676\u0696\u06C6\u0627\u0677\u0697\u06C7\u0648\u0688\u0698\u06C8\u0689\u0699\u06C9\u068A\u06CA\u066B\u068B\u06CB\u068C\u068D\u06CD\u06FD\u068E\u06EE\u06FE\u062F\u068F\u06CF\u06EF]/.test(n)}function ul(n){return/[\u0600-\u0605\u060C-\u060E\u0610-\u061B\u061E\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED]/.test(n)}function gu(n){return/[\u0E00-\u0E7F]/.test(n)}function xu(n){return/[A-z]/.test(n)}function gb(n){return/\s/.test(n)}function ao(n){this.font=n,this.features={}}function dl(n){this.id=n.id,this.tag=n.tag,this.substitution=n.substitution}function hl(n,o){if(!n)return-1;switch(o.format){case 1:return o.glyphs.indexOf(n);case 2:{let a=o.ranges;for(let d=0;d<a.length;d++){let f=a[d];if(n>=f.start&&n<=f.end){let m=n-f.start;return f.index+m}}break}default:return-1}return-1}function xb(n,o){return hl(n,o.coverage)===-1?null:n+o.deltaGlyphId}function bb(n,o){let a=hl(n,o.coverage);return a===-1?null:o.substitute[a]}function uh(n,o){let a=[];for(let d=0;d<n.length;d++){let f=n[d],m=o.current;m=Array.isArray(m)?m[0]:m;let y=hl(m,f);y!==-1&&a.push(y)}return a.length!==n.length?-1:a}function yb(n,o){let a=o.inputCoverage.length+o.lookaheadCoverage.length+o.backtrackCoverage.length;if(n.context.length<a)return[];let d=uh(o.inputCoverage,n);if(d===-1)return[];let f=o.inputCoverage.length-1;if(n.lookahead.length<o.lookaheadCoverage.length)return[];let m=n.lookahead.slice(f);for(;m.length&&ul(m[0].char);)m.shift();let y=new Ni(m,0),w=uh(o.lookaheadCoverage,y),T=[].concat(n.backtrack);for(T.reverse();T.length&&ul(T[0].char);)T.shift();if(T.length<o.backtrackCoverage.length)return[];let N=new Ni(T,0),E=uh(o.backtrackCoverage,N),z=d.length===o.inputCoverage.length&&w.length===o.lookaheadCoverage.length&&E.length===o.backtrackCoverage.length,$=[];if(z)for(let ne=0;ne<o.lookupRecords.length;ne++){let Y=o.lookupRecords[ne],le=Y.lookupListIndex,Pe=this.getLookupByIndex(le);for(let Ht=0;Ht<Pe.subtables.length;Ht++){let Pt=Pe.subtables[Ht],nr,Cr=this.getSubstitutionType(Pe,Pt);if(Cr==="71"?(Cr=this.getSubstitutionType(Pt,Pt.extension),nr=this.getLookupMethod(Pt,Pt.extension),Pt=Pt.extension):nr=this.getLookupMethod(Pe,Pt),Cr==="12"){let pn=n.get(Y.sequenceIndex),In=nr(pn);In&&$.push(In)}else if(Cr==="21"){let pn=n.get(Y.sequenceIndex),In=nr(pn);In&&$.push(In)}else throw new Error(`Substitution type ${Cr} is not supported in chaining substitution`)}}return $}function vb(n,o){let a=n.current,d=hl(a,o.coverage);if(d===-1)return null;let f,m=o.ligatureSets[d];for(let y=0;y<m.length;y++){f=m[y];for(let w=0;w<f.components.length;w++){let T=n.lookahead[w],N=f.components[w];if(T!==N)break;if(w===f.components.length-1)return f}}return null}function wb(n,o){let a=n.current;if(hl(a,o.coverage)===-1)return null;for(let d of o.ruleSets)for(let f of d){let m=!0;for(let y=0;y<f.input.length;y++)if(n.lookahead[y]!==f.input[y]){m=!1;break}if(m){let y=[];y.push(a);for(let T=0;T<f.input.length;T++)y.push(f.input[T]);let w=(T,N)=>{let{lookupListIndex:E,sequenceIndex:z}=N,{subtables:$}=this.getLookupByIndex(E);for(let ne of $)hl(T[z],ne.coverage)!==-1&&(T[z]=ne.deltaGlyphId)};for(let T=0;T<f.lookupRecords.length;T++){let N=f.lookupRecords[T];w(y,N)}return y}}return null}function Ab(n,o){if(n.context.length<o.coverages.length)return[];for(let d=0;d<o.coverages.length;d++){let f=n.get(d);if(f=Array.isArray(f)?f[0]:f,hl(f,o.coverages[d])===-1)return[]}let a=[];for(let d=0;d<o.lookupRecords.length;d++){let f=o.lookupRecords[d],m=f.lookupListIndex,y=this.getLookupByIndex(m);for(let w=0;w<y.subtables.length;w++){let T=y.subtables[w],N,E=this.getSubstitutionType(y,T);if(E==="71"?(E=this.getSubstitutionType(T,T.extension),N=this.getLookupMethod(T,T.extension),T=T.extension):N=this.getLookupMethod(y,T),E==="12"){let z=n.get(f.sequenceIndex),$=N(z);$&&a.push($)}else if(E==="21"){let z=n.get(f.sequenceIndex),$=N(z);$&&a.push($)}}}return a}function Tb(n,o){let a=hl(n,o.coverage);return a===-1?null:o.sequences[a]}ao.prototype.getDefaultScriptFeaturesIndexes=function(){let n=this.font.tables.gsub.scripts;for(let o=0;o<n.length;o++){let a=n[o];if(a.tag==="DFLT")return a.script.defaultLangSys.featureIndexes}return[]},ao.prototype.getScriptFeaturesIndexes=function(n){if(!this.font.tables.gsub)return[];if(!n)return this.getDefaultScriptFeaturesIndexes();let o=this.font.tables.gsub.scripts;for(let a=0;a<o.length;a++){let d=o[a];if(d.tag===n&&d.script.defaultLangSys)return d.script.defaultLangSys.featureIndexes;{let f=d.langSysRecords;if(f)for(let m=0;m<f.length;m++){let y=f[m];if(y.tag===n)return y.langSys.featureIndexes}}}return this.getDefaultScriptFeaturesIndexes()},ao.prototype.mapTagsToFeatures=function(n,o){let a={};for(let d=0;d<n.length;d++){let f=n[d].tag,m=n[d].feature;a[f]=m}this.features[o].tags=a},ao.prototype.getScriptFeatures=function(n){let o=this.features[n];if(Object.prototype.hasOwnProperty.call(this.features,n))return o;let a=this.getScriptFeaturesIndexes(n);if(!a)return null;let d=this.font.tables.gsub;return o=a.map(f=>d.features[f]),this.features[n]=o,this.mapTagsToFeatures(o,n),o},ao.prototype.getSubstitutionType=function(n,o){let a=n.lookupType.toString(),d=o.substFormat.toString();return a+d},ao.prototype.getLookupMethod=function(n,o){let a=this.getSubstitutionType(n,o);switch(a){case"11":return d=>xb.apply(this,[d,o]);case"12":return d=>bb.apply(this,[d,o]);case"63":return d=>yb.apply(this,[d,o]);case"41":return d=>vb.apply(this,[d,o]);case"21":return d=>Tb.apply(this,[d,o]);case"51":return d=>wb.apply(this,[d,o]);case"53":return d=>Ab.apply(this,[d,o]);default:throw new Error(`substitutionType : ${a} lookupType: ${n.lookupType} - substFormat: ${o.substFormat} is not yet supported`)}},ao.prototype.lookupFeature=function(n){let o=n.contextParams,a=o.index,d=this.getFeature({tag:n.tag,script:n.script});if(!d)return new Error(`font '${(this.font.names.unicode||this.font.names.windows||this.font.names.macintosh).fullName.en}' doesn't support feature '${n.tag}' for script '${n.script}'.`);let f=this.getFeatureLookups(d),m=[].concat(o.context);for(let y=0;y<f.length;y++){let w=f[y],T=this.getLookupSubtables(w);for(let N=0;N<T.length;N++){let E=T[N],z=this.getSubstitutionType(w,E),$;z==="71"?(z=this.getSubstitutionType(E,E.extension),$=this.getLookupMethod(E,E.extension),E=E.extension):$=this.getLookupMethod(w,E);let ne;switch(z){case"11":ne=$(o.current),ne&&m.splice(a,1,new dl({id:11,tag:n.tag,substitution:ne}));break;case"12":ne=$(o.current),ne&&m.splice(a,1,new dl({id:12,tag:n.tag,substitution:ne}));break;case"63":ne=$(o),Array.isArray(ne)&&ne.length&&m.splice(a,1,new dl({id:63,tag:n.tag,substitution:ne}));break;case"41":ne=$(o),ne&&m.splice(a,1,new dl({id:41,tag:n.tag,substitution:ne}));break;case"21":ne=$(o.current),ne&&m.splice(a,1,new dl({id:21,tag:n.tag,substitution:ne}));break;case"51":case"53":ne=$(o),Array.isArray(ne)&&ne.length&&m.splice(a,1,new dl({id:parseInt(z),tag:n.tag,substitution:ne}));break}o=new Ni(m,a),!(Array.isArray(ne)&&!ne.length)&&(ne=null)}}return m.length?m:null},ao.prototype.supports=function(n){if(!n.script)return!1;this.getScriptFeatures(n.script);let o=Object.prototype.hasOwnProperty.call(this.features,n.script);if(!n.tag)return o;let a=this.features[n.script].some(d=>d.tag===n.tag);return o&&a},ao.prototype.getLookupSubtables=function(n){return n.subtables||null},ao.prototype.getLookupByIndex=function(n){return this.font.tables.gsub.lookups[n]||null},ao.prototype.getFeatureLookups=function(n){return n.lookupListIndexes.map(this.getLookupByIndex.bind(this))},ao.prototype.getFeature=function(n){if(!this.font)return{FAIL:"No font was found"};Object.prototype.hasOwnProperty.call(this.features,n.script)||this.getScriptFeatures(n.script);let o=this.features[n.script];return o?o.tags[n.tag]?this.features[n.script].tags[n.tag]:null:{FAIL:`No feature for script ${n.script}`}};var Sb=ao;function Cb(n){let o=n.current,a=n.get(-1);return a===null&&cl(o)||!cl(a)&&cl(o)}function _b(n){let o=n.get(1);return o===null||!cl(o)}var Lb={startCheck:Cb,endCheck:_b};function Ib(n){let o=n.current,a=n.get(-1);return(cl(o)||ul(o))&&!cl(a)}function kb(n){let o=n.get(1);switch(!0){case o===null:return!0;case(!cl(o)&&!ul(o)):{let a=gb(o);if(!a)return!0;if(a){let d=!1;if(d=n.lookahead.some(f=>cl(f)||ul(f)),!d)return!0}break}default:return!1}}var Eb={startCheck:Ib,endCheck:kb};function Rb(n,o,a){o[a].setState(n.tag,n.substitution)}function Mb(n,o,a){o[a].setState(n.tag,n.substitution)}function dh(n,o,a){for(let d=0;d<n.substitution.length;d++){let f=n.substitution[d],m=o[a+d];if(Array.isArray(f)){f.length?m.setState(n.tag,f[0]):m.setState("deleted",!0);continue}m.setState(n.tag,f)}}function Nb(n,o,a){let d=o[a];d.setState(n.tag,n.substitution.ligGlyph);let f=n.substitution.components.length;for(let m=0;m<f;m++)d=o[a+m+1],d.setState("deleted",!0)}var k1={11:Rb,12:Mb,63:dh,41:Nb,51:dh,53:dh};function Db(n,o,a){n instanceof dl&&k1[n.id]&&k1[n.id](n,o,a)}var El=Db;function Bb(n){let o=[].concat(n.backtrack);for(let a=o.length-1;a>=0;a--){let d=o[a],f=I1(d),m=ul(d);if(!f&&!m)return!0;if(f)return!1}return!1}function Qb(n){if(I1(n.current))return!1;for(let o=0;o<n.lookahead.length;o++){let a=n.lookahead[o];if(!ul(a))return!0}return!1}function jb(n){let o="arab",a=this.featuresTags[o],d=this.tokenizer.getRangeTokens(n);if(d.length===1)return;let f=new Ni(d.map(y=>y.getState("glyphIndex")),0),m=new Ni(d.map(y=>y.char),0);for(let y=0;y<d.length;y++){let w=d[y];if(ul(w.char))continue;f.setCurrentIndex(y),m.setCurrentIndex(y);let T=0;Bb(m)&&(T|=1),Qb(m)&&(T|=2);let N;switch(T){case 1:N="fina";break;case 2:N="init";break;case 3:N="medi";break}if(a.indexOf(N)===-1)continue;let E=this.query.lookupFeature({tag:N,script:o,contextParams:f});if(E instanceof Error){console.info(E.message);continue}for(let z=0;z<E.length;z++){let $=E[z];$ instanceof dl&&(El($,d,z),f.context[z]=$.substitution)}}}var Pb=jb;function E1(n,o){let a=n.map(d=>d.activeState.value);return new Ni(a,o||0)}function Ob(n){let o="arab",a=this.tokenizer.getRangeTokens(n),d=E1(a);for(let f=0;f<d.context.length;f++){d.setCurrentIndex(f);let m=this.query.lookupFeature({tag:"rlig",script:o,contextParams:d});if(m.length){for(let y=0;y<m.length;y++){let w=m[y];El(w,a,f)}d=E1(a)}}}var Fb=Ob;function Ub(n){return n.index===0&&n.context.length>1}function $b(n){return n.index===n.context.length-1}var zb={startCheck:Ub,endCheck:$b};function R1(n,o){let a=n.map(d=>d.activeState.value);return new Ni(a,o||0)}function Hb(n){let o="delf",a="ccmp",d=this.tokenizer.getRangeTokens(n),f=R1(d);for(let m=0;m<f.context.length;m++){if(!this.query.getFeature({tag:a,script:o,contextParams:f}))continue;f.setCurrentIndex(m);let y=this.query.lookupFeature({tag:a,script:o,contextParams:f});if(y.length){for(let w=0;w<y.length;w++){let T=y[w];El(T,d,m)}f=R1(d)}}}var Wb=Hb;function Gb(n){let o=n.current,a=n.get(-1);return a===null&&xu(o)||!xu(a)&&xu(o)}function Vb(n){let o=n.get(1);return o===null||!xu(o)}var qb={startCheck:Gb,endCheck:Vb};function M1(n,o){let a=n.map(d=>d.activeState.value);return new Ni(a,o||0)}function Zb(n){let o="latn",a=this.tokenizer.getRangeTokens(n),d=M1(a);for(let f=0;f<d.context.length;f++){d.setCurrentIndex(f);let m=this.query.lookupFeature({tag:"liga",script:o,contextParams:d});if(m.length){for(let y=0;y<m.length;y++){let w=m[y];El(w,a,f)}d=M1(a)}}}var Yb=Zb;function Kb(n){let o=n.current,a=n.get(-1);return a===null&&gu(o)||!gu(a)&&gu(o)}function Xb(n){let o=n.get(1);return o===null||!gu(o)}var Jb={startCheck:Kb,endCheck:Xb};function N1(n,o){let a=n.map(d=>d.activeState.value);return new Ni(a,o||0)}function ey(n){let o="thai",a=this.tokenizer.getRangeTokens(n),d=N1(a,0);for(let f=0;f<d.context.length;f++){d.setCurrentIndex(f);let m=this.query.lookupFeature({tag:"ccmp",script:o,contextParams:d});if(m.length){for(let y=0;y<m.length;y++){let w=m[y];El(w,a,f)}d=N1(a,f)}}}var ty=ey;function D1(n,o){let a=n.map(d=>d.activeState.value);return new Ni(a,o||0)}function ry(n){let o="thai",a=this.tokenizer.getRangeTokens(n),d=D1(a,0);for(let f=0;f<d.context.length;f++){d.setCurrentIndex(f);let m=this.query.lookupFeature({tag:"liga",script:o,contextParams:d});if(m.length){for(let y=0;y<m.length;y++){let w=m[y];El(w,a,f)}d=D1(a,f)}}}var ny=ry;function B1(n,o){let a=n.map(d=>d.activeState.value);return new Ni(a,o||0)}function sy(n){let o="thai",a=this.tokenizer.getRangeTokens(n),d=B1(a,0);for(let f=0;f<d.context.length;f++){d.setCurrentIndex(f);let m=this.query.lookupFeature({tag:"rlig",script:o,contextParams:d});if(m.length){for(let y=0;y<m.length;y++){let w=m[y];El(w,a,f)}d=B1(a,f)}}}var iy=sy;function hh(n){if(n===null)return!1;let o=n.codePointAt(0);return o>=6155&&o<=6157||o>=65024&&o<=65039||o>=917760&&o<=917999}function oy(n){let o=n.current,a=n.get(1);return a===null&&hh(o)||hh(a)}function ay(n){let o=n.get(1);return o===null||!hh(o)}var ly={startCheck:oy,endCheck:ay};function cy(n){let o=this.query.font,a=this.tokenizer.getRangeTokens(n);if(a[1].setState("deleted",!0),o.tables.cmap&&o.tables.cmap.varSelectorList){let d=a[0].char.codePointAt(0),f=a[1].char.codePointAt(0),m=o.tables.cmap.varSelectorList[f];if(m!==void 0&&m.nonDefaultUVS){let y=m.nonDefaultUVS.uvsMappings;if(y[d]){let w=y[d].glyphID;o.glyphs.glyphs[w]!==void 0&&a[0].setState("glyphIndex",w)}}}}var uy=cy;function Ao(n){this.baseDir=n||"ltr",this.tokenizer=new mb,this.featuresTags={}}Ao.prototype.setText=function(n){this.text=n},Ao.prototype.contextChecks={ccmpReplacementCheck:zb,latinWordCheck:qb,arabicWordCheck:Lb,arabicSentenceCheck:Eb,thaiWordCheck:Jb,unicodeVariationSequenceCheck:ly};function c0(n){let o=this.contextChecks[`${n}Check`];return this.tokenizer.registerContextChecker(n,o.startCheck,o.endCheck)}function dy(){return c0.call(this,"ccmpReplacement"),c0.call(this,"latinWord"),c0.call(this,"arabicWord"),c0.call(this,"arabicSentence"),c0.call(this,"thaiWord"),c0.call(this,"unicodeVariationSequence"),this.tokenizer.tokenize(this.text)}function hy(){let n=this.tokenizer.getContextRanges("arabicSentence");for(let o=0;o<n.length;o++){let a=n[o],d=this.tokenizer.getRangeTokens(a);this.tokenizer.replaceRange(a.startIndex,a.endOffset,d.reverse())}}Ao.prototype.registerFeatures=function(n,o){let a=o.filter(d=>this.query.supports({script:n,tag:d}));Object.prototype.hasOwnProperty.call(this.featuresTags,n)?this.featuresTags[n]=this.featuresTags[n].concat(a):this.featuresTags[n]=a},Ao.prototype.applyFeatures=function(n,o){if(!n)throw new Error("No valid font was provided to apply features");this.query||(this.query=new Sb(n));for(let a=0;a<o.length;a++){let d=o[a];this.query.supports({script:d.script})&&this.registerFeatures(d.script,d.tags)}},Ao.prototype.registerModifier=function(n,o,a){this.tokenizer.registerModifier(n,o,a)};function sc(){if(this.tokenizer.registeredModifiers.indexOf("glyphIndex")===-1)throw new Error("glyphIndex modifier is required to apply arabic presentation features.")}function fy(){if(!Object.prototype.hasOwnProperty.call(this.featuresTags,"arab"))return;sc.call(this);let n=this.tokenizer.getContextRanges("arabicWord");for(let o=0;o<n.length;o++){let a=n[o];Pb.call(this,a)}}function py(){sc.call(this);let n=this.tokenizer.getContextRanges("ccmpReplacement");for(let o=0;o<n.length;o++){let a=n[o];Wb.call(this,a)}}function my(){if(!this.hasFeatureEnabled("arab","rlig"))return;sc.call(this);let n=this.tokenizer.getContextRanges("arabicWord");for(let o=0;o<n.length;o++){let a=n[o];Fb.call(this,a)}}function gy(){if(!this.hasFeatureEnabled("latn","liga"))return;sc.call(this);let n=this.tokenizer.getContextRanges("latinWord");for(let o=0;o<n.length;o++){let a=n[o];Yb.call(this,a)}}function xy(){let n=this.tokenizer.getContextRanges("unicodeVariationSequence");for(let o=0;o<n.length;o++){let a=n[o];uy.call(this,a)}}function by(){sc.call(this);let n=this.tokenizer.getContextRanges("thaiWord");for(let o=0;o<n.length;o++){let a=n[o];this.hasFeatureEnabled("thai","liga")&&ny.call(this,a),this.hasFeatureEnabled("thai","rlig")&&iy.call(this,a),this.hasFeatureEnabled("thai","ccmp")&&ty.call(this,a)}}Ao.prototype.checkContextReady=function(n){return!!this.tokenizer.getContext(n)},Ao.prototype.applyFeaturesToContexts=function(){this.checkContextReady("ccmpReplacement")&&py.call(this),this.checkContextReady("arabicWord")&&(fy.call(this),my.call(this)),this.checkContextReady("latinWord")&&gy.call(this),this.checkContextReady("arabicSentence")&&hy.call(this),this.checkContextReady("thaiWord")&&by.call(this),this.checkContextReady("unicodeVariationSequence")&&xy.call(this)},Ao.prototype.hasFeatureEnabled=function(n,o){return(this.featuresTags[n]||[]).indexOf(o)!==-1},Ao.prototype.processText=function(n){(!this.text||this.text!==n)&&(this.setText(n),dy.call(this),this.applyFeaturesToContexts())},Ao.prototype.getBidiText=function(n){return this.processText(n),this.tokenizer.getText()},Ao.prototype.getTextGlyphs=function(n){this.processText(n);let o=[];for(let a=0;a<this.tokenizer.tokens.length;a++){let d=this.tokenizer.tokens[a];if(d.state.deleted)continue;let f=d.activeState.value;o.push(Array.isArray(f)?f[0]:f)}return o};var yy=Ao;function fh(n){return{fontFamily:{en:n.familyName||" "},fontSubfamily:{en:n.styleName||" "},fullName:{en:n.fullName||n.familyName+" "+n.styleName},postScriptName:{en:n.postScriptName||(n.familyName+n.styleName).replace(/\s/g,"")},designer:{en:n.designer||" "},designerURL:{en:n.designerURL||" "},manufacturer:{en:n.manufacturer||" "},manufacturerURL:{en:n.manufacturerURL||" "},license:{en:n.license||" "},licenseURL:{en:n.licenseURL||" "},version:{en:n.version||"Version 0.1"},description:{en:n.description||" "},copyright:{en:n.copyright||" "},trademark:{en:n.trademark||" "}}}function vn(n){if(n=n||{},n.tables=n.tables||{},!n.empty){if(!n.familyName)throw new Error("When creating a new Font object, familyName is required.");if(!n.styleName)throw new Error("When creating a new Font object, styleName is required.");if(!n.unitsPerEm)throw new Error("When creating a new Font object, unitsPerEm is required.");if(!n.ascender)throw new Error("When creating a new Font object, ascender is required.");if(n.descender>0)throw new Error("When creating a new Font object, negative descender value is required.");this.names={},this.names.unicode=fh(n),this.names.macintosh=fh(n),this.names.windows=fh(n),this.unitsPerEm=n.unitsPerEm||1e3,this.ascender=n.ascender,this.descender=n.descender,this.createdTimestamp=n.createdTimestamp,this.italicAngle=n.italicAngle||0,this.weightClass=n.weightClass||0;let o=0;n.fsSelection?o=n.fsSelection:(this.italicAngle<0?o|=this.fsSelectionValues.ITALIC:this.italicAngle>0&&(o|=this.fsSelectionValues.OBLIQUE),this.weightClass>=600&&(o|=this.fsSelectionValues.BOLD),o===0&&(o=this.fsSelectionValues.REGULAR)),(!n.panose||!Array.isArray(n.panose))&&(n.panose=[0,0,0,0,0,0,0,0,0]),this.tables=Object.assign(n.tables,{os2:Object.assign({usWeightClass:n.weightClass||this.usWeightClasses.MEDIUM,usWidthClass:n.widthClass||this.usWidthClasses.MEDIUM,bFamilyType:n.panose[0]||0,bSerifStyle:n.panose[1]||0,bWeight:n.panose[2]||0,bProportion:n.panose[3]||0,bContrast:n.panose[4]||0,bStrokeVariation:n.panose[5]||0,bArmStyle:n.panose[6]||0,bLetterform:n.panose[7]||0,bMidline:n.panose[8]||0,bXHeight:n.panose[9]||0,fsSelection:o},n.tables.os2)})}this.supported=!0,this.glyphs=new ye.GlyphSet(this,n.glyphs||[]),this.encoding=new it(this),this.position=new s0(this),this.substitution=new cu(this),this.tables=this.tables||{},this.tables=new Proxy(this.tables,{set:(o,a,d)=>(o[a]=d,o.fvar&&(o.gvar||o.cff2)&&!this.variation&&(this.variation=new D(this)),!0)}),this.palettes=new K0(this),this.layers=new kl(this),this.svgImages=new il(this),this._push=null,this._hmtxTableData={},Object.defineProperty(this,"hinting",{get:function(){return this._hinting?this._hinting:this.outlinesFormat==="truetype"?this._hinting=new hb(this):null}})}vn.prototype.hasChar=function(n){return this.encoding.charToGlyphIndex(n)>0},vn.prototype.charToGlyphIndex=function(n){return this.encoding.charToGlyphIndex(n)},vn.prototype.charToGlyph=function(n){let o=this.charToGlyphIndex(n),a=this.glyphs.get(o);return a||(a=this.glyphs.get(0)),a},vn.prototype.updateFeatures=function(n){return this.defaultRenderOptions.features.map(o=>o.script==="latn"?{script:"latn",tags:o.tags.filter(a=>n[a])}:o)},vn.prototype.stringToGlyphIndexes=function(n,o){let a=new yy,d=m=>this.charToGlyphIndex(m.char);a.registerModifier("glyphIndex",null,d);let f=o?this.updateFeatures(o.features):this.defaultRenderOptions.features;return a.applyFeatures(this,f),a.getTextGlyphs(n)},vn.prototype.stringToGlyphs=function(n,o){let a=this.stringToGlyphIndexes(n,o),d=a.length,f=new Array(d),m=this.glyphs.get(0);for(let y=0;y<d;y+=1)f[y]=this.glyphs.get(a[y])||m;return f},vn.prototype.nameToGlyphIndex=function(n){return this.glyphNames.nameToGlyphIndex(n)},vn.prototype.nameToGlyph=function(n){let o=this.nameToGlyphIndex(n),a=this.glyphs.get(o);return a||(a=this.glyphs.get(0)),a},vn.prototype.glyphIndexToName=function(n){return this.glyphNames.glyphIndexToName?this.glyphNames.glyphIndexToName(n):""},vn.prototype.getKerningValue=function(n,o){n=n.index||n,o=o.index||o;let a=this.position.defaultKerningTables;return a?this.position.getKerningValue(a,n,o):this.kerningPairs[n+","+o]||0},vn.prototype.defaultRenderOptions={kerning:!0,features:[{script:"arab",tags:["init","medi","fina","rlig"]},{script:"latn",tags:["liga","rlig"]},{script:"thai",tags:["liga","rlig","ccmp"]}],hinting:!1,usePalette:0,drawLayers:!0,drawSVG:!0},vn.prototype.forEachGlyph=function(n,o,a,d,f,m){o=o!==void 0?o:0,a=a!==void 0?a:0,d=d!==void 0?d:72,f=Object.assign({},this.defaultRenderOptions,f);let y=1/this.unitsPerEm*d,w=this.stringToGlyphs(n,f),T;if(f.kerning){let N=f.script||this.position.getDefaultScriptName();T=this.position.getKerningTables(N,f.language)}for(let N=0;N<w.length;N+=1){let E=w[N];if(m.call(this,E,o,a,d,f),E.advanceWidth&&(o+=E.advanceWidth*y),f.kerning&&N<w.length-1){let z=T?this.position.getKerningValue(T,E.index,w[N+1].index):this.getKerningValue(E,w[N+1]);o+=z*y}f.letterSpacing?o+=f.letterSpacing*d:f.tracking&&(o+=f.tracking/1e3*d)}return o},vn.prototype.getPath=function(n,o,a,d,f){f=Object.assign({},this.defaultRenderOptions,f);let m=new rt;if(m._layers=[],us(this,m,d),m.stroke){let y=1/(m.unitsPerEm||1e3)*d;m.strokeWidth*=y}return this.forEachGlyph(n,o,a,d,f,(y,w,T,N)=>{let E=y.getPath(w,T,N,f,this);if(f.drawSVG||f.drawLayers){let z=E._layers;if(z&&z.length){for(let $=0;$<z.length;$++){let ne=z[$];m._layers.push(ne)}return}}m.extend(E)}),m},vn.prototype.getPaths=function(n,o,a,d,f){f=Object.assign({},this.defaultRenderOptions,f);let m=[];return this.forEachGlyph(n,o,a,d,f,function(y,w,T,N){let E=y.getPath(w,T,N,f,this);m.push(E)}),m},vn.prototype.getAdvanceWidth=function(n,o,a){return a=Object.assign({},this.defaultRenderOptions,a),this.forEachGlyph(n,0,0,o,a,function(){})},vn.prototype.draw=function(n,o,a,d,f,m){this.getPath(o,a,d,f,m).draw(n)},vn.prototype.drawPoints=function(n,o,a,d,f,m){m=Object.assign({},this.defaultRenderOptions,m),this.forEachGlyph(o,a,d,f,m,function(y,w,T,N){y.drawPoints(n,w,T,N,m,this)})},vn.prototype.drawMetrics=function(n,o,a,d,f,m){m=Object.assign({},this.defaultRenderOptions,m),this.forEachGlyph(o,a,d,f,m,function(y,w,T,N){y.drawMetrics(n,w,T,N)})},vn.prototype.getEnglishName=function(n){let o=(this.names.unicode||this.names.macintosh||this.names.windows)[n];if(o)return o.en},vn.prototype.validate=function(){let n=[],o=this;function a(f,m){f||(console.warn(`[opentype.js] ${m}`),n.push(m))}function d(f){let m=o.getEnglishName(f);a(m&&m.trim().length>0,"No English "+f+" specified.")}if(d("fontFamily"),d("weightName"),d("manufacturer"),d("copyright"),d("version"),a(this.unitsPerEm>0,"No unitsPerEm specified."),this.tables.colr){let f=this.tables.colr.baseGlyphRecords,m=-1;for(let y=0;y<f.length;y++){let w=f[y].glyphID;if(a(m<f[y].glyphID,`baseGlyphs must be sorted by GlyphID in ascending order, but glyphID ${w} comes after ${m}`),m>f[y].glyphID)break;m=w}}return n},vn.prototype.toTables=function(){return Os.fontToTable(this)},vn.prototype.toBuffer=function(){return console.warn("Font.toBuffer is deprecated. Use Font.toArrayBuffer instead."),this.toArrayBuffer()},vn.prototype.toArrayBuffer=function(){let n=this.toTables().encode(),o=new ArrayBuffer(n.length),a=new Uint8Array(o);for(let d=0;d<n.length;d++)a[d]=n[d];return o},vn.prototype.download=function(){console.error("DEPRECATED: platform-specific actions are to be implemented on user-side")},vn.prototype.fsSelectionValues={ITALIC:1,UNDERSCORE:2,NEGATIVE:4,OUTLINED:8,STRIKEOUT:16,BOLD:32,REGULAR:64,USER_TYPO_METRICS:128,WWS:256,OBLIQUE:512},vn.prototype.macStyleValues={BOLD:1,ITALIC:2,UNDERLINE:4,OUTLINED:8,SHADOW:16,CONDENSED:32,EXTENDED:64},vn.prototype.usWidthClasses={ULTRA_CONDENSED:1,EXTRA_CONDENSED:2,CONDENSED:3,SEMI_CONDENSED:4,MEDIUM:5,SEMI_EXPANDED:6,EXPANDED:7,EXTRA_EXPANDED:8,ULTRA_EXPANDED:9},vn.prototype.usWeightClasses={THIN:100,EXTRA_LIGHT:200,LIGHT:300,NORMAL:400,MEDIUM:500,SEMI_BOLD:600,BOLD:700,EXTRA_BOLD:800,BLACK:900};var Q1=vn;function vy(n,o){let a=new lt.Parser(n,o),d=a.parseUShort(),f=a.parseUShort();d!==1&&console.warn(`Unsupported hvar table version ${d}.${f}`);let m=[d,f],y=a.parsePointer32(function(){return this.parseItemVariationStore()}),w=a.parsePointer32(function(){return this.parseDeltaSetIndexMap()}),T=a.parsePointer32(function(){return this.parseDeltaSetIndexMap()}),N=a.parsePointer32(function(){return this.parseDeltaSetIndexMap()});return{version:m,itemVariationStore:y,advanceWidth:w,lsb:T,rsb:N}}function wy(){console.warn("Writing of hvar tables is not yet supported.")}var Ay={make:wy,parse:vy},Ty=function(){return{coverage:this.parsePointer(ae.coverage),attachPoints:this.parseList(ae.pointer(ae.uShortList))}},Sy=function(){var n=this.parseUShort();if(K.argument(n===1||n===2||n===3,"Unsupported CaretValue table version."),n===1)return{coordinate:this.parseShort()};if(n===2)return{pointindex:this.parseShort()};if(n===3)return{coordinate:this.parseShort()}},Cy=function(){return this.parseList(ae.pointer(Sy))},_y=function(){return{coverage:this.parsePointer(ae.coverage),ligGlyphs:this.parseList(ae.pointer(Cy))}},Ly=function(){return this.parseUShort(),this.parseList(ae.pointer(ae.coverage))};function Iy(n,o){o=o||0;let a=new ae(n,o),d=a.parseVersion(1);K.argument(d===1||d===1.2||d===1.3,"Unsupported GDEF table version.");var f={version:d,classDef:a.parsePointer(ae.classDef),attachList:a.parsePointer(Ty),ligCaretList:a.parsePointer(_y),markAttachClassDef:a.parsePointer(ae.classDef)};return d>=1.2&&(f.markGlyphSets=a.parsePointer(Ly)),f}var ky={parse:Iy},Vo=new Array(10);Vo[1]=function(){let n=this.offset+this.relativeOffset,o=this.parseUShort();if(o===1)return{posFormat:1,coverage:this.parsePointer(ae.coverage),value:this.parseValueRecord()};if(o===2)return{posFormat:2,coverage:this.parsePointer(ae.coverage),values:this.parseValueRecordList()};K.assert(!1,"0x"+n.toString(16)+": GPOS lookup type 1 format must be 1 or 2.")},Vo[2]=function(){let n=this.offset+this.relativeOffset,o=this.parseUShort();K.assert(o===1||o===2,"0x"+n.toString(16)+": GPOS lookup type 2 format must be 1 or 2.");let a=this.parsePointer(ae.coverage),d=this.parseUShort(),f=this.parseUShort();if(o===1)return{posFormat:o,coverage:a,valueFormat1:d,valueFormat2:f,pairSets:this.parseList(ae.pointer(ae.list(function(){return{secondGlyph:this.parseUShort(),value1:this.parseValueRecord(d),value2:this.parseValueRecord(f)}})))};if(o===2){let m=this.parsePointer(ae.classDef),y=this.parsePointer(ae.classDef),w=this.parseUShort(),T=this.parseUShort();return{posFormat:o,coverage:a,valueFormat1:d,valueFormat2:f,classDef1:m,classDef2:y,class1Count:w,class2Count:T,classRecords:this.parseList(w,ae.list(T,function(){return{value1:this.parseValueRecord(d),value2:this.parseValueRecord(f)}}))}}},Vo[3]=function(){return{error:"GPOS Lookup 3 not supported"}},Vo[4]=function(){return{error:"GPOS Lookup 4 not supported"}},Vo[5]=function(){return{error:"GPOS Lookup 5 not supported"}},Vo[6]=function(){return{error:"GPOS Lookup 6 not supported"}},Vo[7]=function(){return{error:"GPOS Lookup 7 not supported"}},Vo[8]=function(){return{error:"GPOS Lookup 8 not supported"}},Vo[9]=function(){return{error:"GPOS Lookup 9 not supported"}};function Ey(n,o){o=o||0;let a=new ae(n,o),d=a.parseVersion(1);return K.argument(d===1||d===1.1,"Unsupported GPOS table version "+d),d===1?{version:d,scripts:a.parseScriptList(),features:a.parseFeatureList(),lookups:a.parseLookupList(Vo)}:{version:d,scripts:a.parseScriptList(),features:a.parseFeatureList(),lookups:a.parseLookupList(Vo),variations:a.parseFeatureVariationsList()}}var Ry=new Array(10);function My(n){return new Ne.Table("GPOS",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new Ne.ScriptList(n.scripts)},{name:"features",type:"TABLE",value:new Ne.FeatureList(n.features)},{name:"lookups",type:"TABLE",value:new Ne.LookupList(n.lookups,Ry)}])}var Ny={parse:Ey,make:My};function Dy(n){let o={};n.skip("uShort");let a=n.parseUShort();K.argument(a===0,"Unsupported kern sub-table version."),n.skip("uShort",2);let d=n.parseUShort();n.skip("uShort",3);for(let f=0;f<d;f+=1){let m=n.parseUShort(),y=n.parseUShort(),w=n.parseShort();o[m+","+y]=w}return o}function By(n){let o={};n.skip("uShort"),n.parseULong()>1&&console.warn("Only the first kern subtable is supported."),n.skip("uLong");let a=n.parseUShort()&255;if(n.skip("uShort"),a===0){let d=n.parseUShort();n.skip("uShort",3);for(let f=0;f<d;f+=1){let m=n.parseUShort(),y=n.parseUShort(),w=n.parseShort();o[m+","+y]=w}}return o}function Qy(n,o){let a=new lt.Parser(n,o),d=a.parseUShort();if(d===0)return Dy(a);if(d===1)return By(a);throw new Error("Unsupported kern table version ("+d+").")}var jy={parse:Qy};function Py(n,o,a,d){let f=new lt.Parser(n,o),m=d?f.parseUShort:f.parseULong,y=[];for(let w=0;w<a+1;w+=1){let T=m.call(f);d&&(T*=2),y.push(T)}return y}var Oy={parse:Py};function j1(n,o){let a=[],d=12;for(let f=0;f<o;f+=1){let m=lt.getTag(n,d),y=lt.getULong(n,d+4),w=lt.getULong(n,d+8),T=lt.getULong(n,d+12);a.push({tag:m,checksum:y,offset:w,length:T,compression:!1}),d+=16}return a}function Fy(n,o){let a=[],d=44;for(let f=0;f<o;f+=1){let m=lt.getTag(n,d),y=lt.getULong(n,d+4),w=lt.getULong(n,d+8),T=lt.getULong(n,d+12),N;w<T?N="WOFF":N=!1,a.push({tag:m,offset:y,compression:N,compressedLength:w,length:T}),d+=20}return a}function on(n,o){if(o.compression==="WOFF"){let a=new Uint8Array(n.buffer,o.offset+2,o.compressedLength-2),d=new Uint8Array(o.length);if(oe(a,d),d.byteLength!==o.length)throw new Error("Decompression error: "+o.tag+" decompressed length doesn't match recorded length");return{data:new DataView(d.buffer,0),offset:0}}else return{data:n,offset:o.offset}}function Uy(n,o={}){let a,d,f=new Q1({empty:!0});n.constructor!==ArrayBuffer&&(n=new Uint8Array(n).buffer);let m=new DataView(n,0),y,w=[],T=lt.getTag(m,0);if(T==="\0\0\0"||T==="true"||T==="typ1")f.outlinesFormat="truetype",y=lt.getUShort(m,4),w=j1(m,y);else if(T==="OTTO")f.outlinesFormat="cff",y=lt.getUShort(m,4),w=j1(m,y);else if(T==="wOFF"){let Wt=lt.getTag(m,4);if(Wt==="\0\0\0")f.outlinesFormat="truetype";else if(Wt==="OTTO")f.outlinesFormat="cff";else throw new Error("Unsupported OpenType flavor "+T);y=lt.getUShort(m,12),w=Fy(m,y)}else if(T==="wOF2"){let Wt="https://github.com/opentypejs/opentype.js/issues/183#issuecomment-1147228025";throw new Error("WOFF2 require an external decompressor library, see examples at: "+Wt)}else throw new Error("Unsupported OpenType signature "+T);let N,E,z,$,ne,Y,le,Pe,Ht,Pt,nr,Cr,pn,In,kn,Ls,qo,_r;for(let Wt=0;Wt<y;Wt+=1){let Nt=w[Wt],Bt;switch(Nt.tag){case"avar":le=Nt;break;case"cmap":Bt=on(m,Nt),f.tables.cmap=Wi.parse(Bt.data,Bt.offset),f.encoding=new $e(f.tables.cmap);break;case"cvt ":Bt=on(m,Nt),_r=new lt.Parser(Bt.data,Bt.offset),f.tables.cvt=_r.parseShortList(Nt.length/2);break;case"fvar":z=Nt;break;case"STAT":$=Nt;break;case"gvar":ne=Nt;break;case"cvar":Y=Nt;break;case"fpgm":Bt=on(m,Nt),_r=new lt.Parser(Bt.data,Bt.offset),f.tables.fpgm=_r.parseByteList(Nt.length);break;case"head":Bt=on(m,Nt),f.tables.head=aa.parse(Bt.data,Bt.offset),f.unitsPerEm=f.tables.head.unitsPerEm,a=f.tables.head.indexToLocFormat;break;case"hhea":Bt=on(m,Nt),f.tables.hhea=yo.parse(Bt.data,Bt.offset),f.ascender=f.tables.hhea.ascender,f.descender=f.tables.hhea.descender,f.numberOfHMetrics=f.tables.hhea.numberOfHMetrics;break;case"HVAR":pn=Nt;break;case"hmtx":Cr=Nt;break;case"ltag":Bt=on(m,Nt),d=ca.parse(Bt.data,Bt.offset);break;case"COLR":Bt=on(m,Nt),f.tables.colr=Me.parse(Bt.data,Bt.offset);break;case"CPAL":Bt=on(m,Nt),f.tables.cpal=Gi.parse(Bt.data,Bt.offset);break;case"maxp":Bt=on(m,Nt),f.tables.maxp=Ds.parse(Bt.data,Bt.offset),f.numGlyphs=f.tables.maxp.numGlyphs;break;case"name":Ls=Nt;break;case"OS/2":Bt=on(m,Nt),f.tables.os2=ha.parse(Bt.data,Bt.offset);break;case"post":Bt=on(m,Nt),f.tables.post=Un.parse(Bt.data,Bt.offset),f.glyphNames=new ot(f.tables.post);break;case"prep":Bt=on(m,Nt),_r=new lt.Parser(Bt.data,Bt.offset),f.tables.prep=_r.parseByteList(Nt.length);break;case"glyf":Pe=Nt;break;case"loca":kn=Nt;break;case"CFF ":N=Nt;break;case"CFF2":E=Nt;break;case"kern":In=Nt;break;case"GDEF":Ht=Nt;break;case"GPOS":Pt=Nt;break;case"GSUB":nr=Nt;break;case"meta":qo=Nt;break;case"gasp":try{Bt=on(m,Nt),f.tables.gasp=Yr.parse(Bt.data,Bt.offset)}catch(Ci){console.warn("Failed to parse gasp table, skipping."),console.warn(Ci)}break;case"SVG ":Bt=on(m,Nt),f.tables.svg=qt.parse(Bt.data,Bt.offset);break;default:break}}let lo=on(m,Ls);if(f.tables.name=bs.parse(lo.data,lo.offset,d),f.names=f.tables.name,Pe&&kn){let Wt=a===0,Nt=on(m,kn),Bt=Oy.parse(Nt.data,Nt.offset,f.numGlyphs,Wt),Ci=on(m,Pe);f.glyphs=tc.parse(Ci.data,Ci.offset,Bt,f,o)}else if(N){let Wt=on(m,N);Ei.parse(Wt.data,Wt.offset,f,o)}else if(E){let Wt=on(m,E);Ei.parse(Wt.data,Wt.offset,f,o)}else throw new Error("Font doesn't contain TrueType, CFF or CFF2 outlines.");let Di=on(m,Cr);if(Ss.parse(f,Di.data,Di.offset,f.numberOfHMetrics,f.numGlyphs,f.glyphs,o),yr(f,o),In){let Wt=on(m,In);f.kerningPairs=jy.parse(Wt.data,Wt.offset)}else f.kerningPairs={};if(Ht){let Wt=on(m,Ht);f.tables.gdef=ky.parse(Wt.data,Wt.offset)}if(Pt){let Wt=on(m,Pt);f.tables.gpos=Ny.parse(Wt.data,Wt.offset),f.position.init()}if(nr){let Wt=on(m,nr);f.tables.gsub=oi.parse(Wt.data,Wt.offset)}if(z){let Wt=on(m,z);f.tables.fvar=Dr.parse(Wt.data,Wt.offset,f.names)}if($){let Wt=on(m,$);f.tables.stat=r0.parse(Wt.data,Wt.offset,f.tables.fvar)}if(ne){z||console.warn("This font provides a gvar table, but no fvar table, which is required for variable fonts."),Pe||console.warn("This font provides a gvar table, but no glyf table. Glyph variation only works with TrueType outlines.");let Wt=on(m,ne);f.tables.gvar=ze.parse(Wt.data,Wt.offset,f.tables.fvar,f.glyphs)}if(Y){z||console.warn("This font provides a cvar table, but no fvar table, which is required for variable fonts."),f.tables.cvt||console.warn("This font provides a cvar table, but no cvt table which could be made variable."),Pe||console.warn("This font provides a gvar table, but no glyf table. Glyph variation only works with TrueType outlines.");let Wt=on(m,Y);f.tables.cvar=Ee.parse(Wt.data,Wt.offset,f.tables.fvar,f.tables.cvt||[])}if(le){z||console.warn("This font provides an avar table, but no fvar table, which is required for variable fonts.");let Wt=on(m,le);f.tables.avar=Q.parse(Wt.data,Wt.offset,f.tables.fvar)}if(pn){z||console.warn("This font provides an HVAR table, but no fvar table, which is required for variable fonts."),Cr||console.warn("This font provides an HVAR table, but no hmtx table to vary.");let Wt=on(m,pn);f.tables.hvar=Ay.parse(Wt.data,Wt.offset,f.tables.fvar)}if(qo){let Wt=on(m,qo);f.tables.meta=ai.parse(Wt.data,Wt.offset),f.metas=f.tables.meta}return f.palettes=new K0(f),f}function $y(){console.error("DEPRECATED! migrate to: opentype.parse(buffer, opt) See: https://github.com/opentypejs/opentype.js/issues/675")}function zy(){console.error('DEPRECATED! migrate to: opentype.parse(require("fs").readFileSync(url), opt)')}return g(x)})();(function(s,i){typeof define=="function"&&define.amd?define(i):typeof t=="object"&&t.exports?t.exports=i():s.opentype=i()})(typeof self<"u"?self:e,()=>({...r,default:r}))}),ST=AT(TT()),pi=L0("lru-cache:metrics"),Nc=fT("lru-cache"),CT=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,Dh=()=>pi.hasSubscribers||Nc.hasSubscribers,I3=new Set,Um=typeof process=="object"&&process?process:{},_T=(e,t,r,s)=>{typeof Um.emitWarning=="function"?Um.emitWarning(e,t,r,s):console.error(`[${r}] ${t}: ${e}`)},LT=e=>!I3.has(e),wl=e=>!!e&&e===Math.floor(e)&&e>0&&isFinite(e),k3=e=>wl(e)?e<=Math.pow(2,8)?Uint8Array:e<=Math.pow(2,16)?Uint16Array:e<=Math.pow(2,32)?Uint32Array:e<=Number.MAX_SAFE_INTEGER?Ju:null:null,Ju=class extends Array{constructor(e){super(e),this.fill(0)}},Ql,dc,IT=(Ql=class{constructor(e,t){if(Us(this,"heap"),Us(this,"length"),!G(Ql,dc))throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new t(e),this.length=0}static create(e){let t=k3(e);if(!t)return[];er(Ql,dc,!0);let r=new Ql(e,t);return er(Ql,dc,!1),r}push(e){this.heap[this.length++]=e}pop(){return this.heap[--this.length]}},dc=new WeakMap,Ur(Ql,dc,!1),Ql),$m,zm,Ko,_o,va,p0,wa,hc,fc,Aa,Zs,Lo,Fs,Yn,vr,Xi,Io,Pi,ui,Ta,di,Sa,Ca,ko,Eo,_a,pc,Ji,m0,wt,Bh,g0,ml,_u,Ro,Hm,x0,mc,Lu,gl,xl,Qh,b0,Iu,Wm,Gm,ku,Fn,jh,Vm,qm,gc,Ph,xc,bl,Oh,Fh,kT=(Fh=class{constructor(e){Ur(this,wt),Ur(this,Ko),Ur(this,_o),Ur(this,va),Ur(this,p0),Ur(this,wa),Ur(this,hc),Ur(this,fc),Ur(this,Aa),Us(this,"ttl"),Us(this,"ttlResolution"),Us(this,"ttlAutopurge"),Us(this,"updateAgeOnGet"),Us(this,"updateAgeOnHas"),Us(this,"allowStale"),Us(this,"noDisposeOnSet"),Us(this,"noUpdateTTL"),Us(this,"maxEntrySize"),Us(this,"sizeCalculation"),Us(this,"noDeleteOnFetchRejection"),Us(this,"noDeleteOnStaleGet"),Us(this,"allowStaleOnFetchAbort"),Us(this,"allowStaleOnFetchRejection"),Us(this,"ignoreFetchAbort"),Us(this,"backgroundFetchSize"),Ur(this,Zs),Ur(this,Lo),Ur(this,Fs),Ur(this,Yn),Ur(this,vr),Ur(this,Xi),Ur(this,Io),Ur(this,Pi),Ur(this,ui),Ur(this,Ta),Ur(this,di),Ur(this,Sa),Ur(this,Ca),Ur(this,ko),Ur(this,Eo),Ur(this,_a),Ur(this,pc),Ur(this,Ji),Ur(this,m0),Ur(this,g0,()=>{}),Ur(this,ml,()=>{}),Ur(this,_u,()=>{}),Ur(this,Ro,()=>!1),Ur(this,x0,Le=>{}),Ur(this,mc,(Le,ve,Ye)=>{}),Ur(this,Lu,(Le,ve,Ye,Te)=>{if(Ye||Te)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0}),Us(this,$m,"LRUCache");let{max:t=0,ttl:r,ttlResolution:s=1,ttlAutopurge:i,updateAgeOnGet:u,updateAgeOnHas:l,allowStale:h,dispose:p,onInsert:g,disposeAfter:x,noDisposeOnSet:b,noUpdateTTL:v,maxSize:A=0,maxEntrySize:k=0,sizeCalculation:I,fetchMethod:R,memoMethod:M,noDeleteOnFetchRejection:B,noDeleteOnStaleGet:F,allowStaleOnFetchRejection:W,allowStaleOnFetchAbort:O,ignoreFetchAbort:q,backgroundFetchSize:ee=1,perf:de}=e;if(this.backgroundFetchSize=ee,de!==void 0&&typeof de?.now!="function")throw new TypeError("perf option must have a now() method if specified");if(er(this,Aa,de??CT),t!==0&&!wl(t))throw new TypeError("max option must be a nonnegative integer");let Ae=t?k3(t):Array;if(!Ae)throw new Error("invalid max value: "+t);if(er(this,Ko,t),er(this,_o,A),this.maxEntrySize=k||G(this,_o),this.sizeCalculation=I,this.sizeCalculation){if(!G(this,_o)&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(M!==void 0&&typeof M!="function")throw new TypeError("memoMethod must be a function if defined");if(er(this,fc,M),R!==void 0&&typeof R!="function")throw new TypeError("fetchMethod must be a function if specified");if(er(this,hc,R),er(this,pc,!!R),er(this,Fs,new Map),er(this,Yn,Array.from({length:t}).fill(void 0)),er(this,vr,Array.from({length:t}).fill(void 0)),er(this,Xi,new Ae(t)),er(this,Io,new Ae(t)),er(this,Pi,0),er(this,ui,0),er(this,Ta,IT.create(t)),er(this,Zs,0),er(this,Lo,0),typeof p=="function"&&er(this,va,p),typeof g=="function"&&er(this,p0,g),typeof x=="function"?(er(this,wa,x),er(this,di,[])):(er(this,wa,void 0),er(this,di,void 0)),er(this,_a,!!G(this,va)),er(this,m0,!!G(this,p0)),er(this,Ji,!!G(this,wa)),this.noDisposeOnSet=!!b,this.noUpdateTTL=!!v,this.noDeleteOnFetchRejection=!!B,this.allowStaleOnFetchRejection=!!W,this.allowStaleOnFetchAbort=!!O,this.ignoreFetchAbort=!!q,this.maxEntrySize!==0){if(G(this,_o)!==0&&!wl(G(this,_o)))throw new TypeError("maxSize must be a positive integer if specified");if(!wl(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");St(this,wt,Hm).call(this)}if(this.allowStale=!!h,this.noDeleteOnStaleGet=!!F,this.updateAgeOnGet=!!u,this.updateAgeOnHas=!!l,this.ttlResolution=wl(s)||s===0?s:1,this.ttlAutopurge=!!i,this.ttl=r||0,this.ttl){if(!wl(this.ttl))throw new TypeError("ttl must be a positive integer if specified");St(this,wt,Bh).call(this)}if(G(this,Ko)===0&&this.ttl===0&&G(this,_o)===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!G(this,Ko)&&!G(this,_o)){let Le="LRU_CACHE_UNBOUNDED";LT(Le)&&(I3.add(Le),_T("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",Le,Fh))}}get perf(){return G(this,Aa)}static unsafeExposeInternals(e){return{starts:G(e,Ca),ttls:G(e,ko),autopurgeTimers:G(e,Eo),sizes:G(e,Sa),keyMap:G(e,Fs),keyList:G(e,Yn),valList:G(e,vr),next:G(e,Xi),prev:G(e,Io),get head(){return G(e,Pi)},get tail(){return G(e,ui)},free:G(e,Ta),isBackgroundFetch:t=>{var r;return St(r=e,wt,Fn).call(r,t)},backgroundFetch:(t,r,s,i)=>{var u;return St(u=e,wt,ku).call(u,t,r,s,i)},moveToTail:t=>{var r;return St(r=e,wt,xc).call(r,t)},indexes:t=>{var r;return St(r=e,wt,gl).call(r,t)},rindexes:t=>{var r;return St(r=e,wt,xl).call(r,t)},isStale:t=>{var r;return G(r=e,Ro).call(r,t)}}}get max(){return G(this,Ko)}get maxSize(){return G(this,_o)}get calculatedSize(){return G(this,Lo)}get size(){return G(this,Zs)}get fetchMethod(){return G(this,hc)}get memoMethod(){return G(this,fc)}get dispose(){return G(this,va)}get onInsert(){return G(this,p0)}get disposeAfter(){return G(this,wa)}getRemainingTTL(e){return G(this,Fs).has(e)?1/0:0}*entries(){for(let e of St(this,wt,gl).call(this))G(this,vr)[e]!==void 0&&G(this,Yn)[e]!==void 0&&!St(this,wt,Fn).call(this,G(this,vr)[e])&&(yield[G(this,Yn)[e],G(this,vr)[e]])}*rentries(){for(let e of St(this,wt,xl).call(this))G(this,vr)[e]!==void 0&&G(this,Yn)[e]!==void 0&&!St(this,wt,Fn).call(this,G(this,vr)[e])&&(yield[G(this,Yn)[e],G(this,vr)[e]])}*keys(){for(let e of St(this,wt,gl).call(this)){let t=G(this,Yn)[e];t!==void 0&&!St(this,wt,Fn).call(this,G(this,vr)[e])&&(yield t)}}*rkeys(){for(let e of St(this,wt,xl).call(this)){let t=G(this,Yn)[e];t!==void 0&&!St(this,wt,Fn).call(this,G(this,vr)[e])&&(yield t)}}*values(){for(let e of St(this,wt,gl).call(this))G(this,vr)[e]!==void 0&&!St(this,wt,Fn).call(this,G(this,vr)[e])&&(yield G(this,vr)[e])}*rvalues(){for(let e of St(this,wt,xl).call(this))G(this,vr)[e]!==void 0&&!St(this,wt,Fn).call(this,G(this,vr)[e])&&(yield G(this,vr)[e])}[(zm=Symbol.iterator,$m=Symbol.toStringTag,zm)](){return this.entries()}find(e,t={}){for(let r of St(this,wt,gl).call(this)){let s=G(this,vr)[r],i=St(this,wt,Fn).call(this,s)?s.__staleWhileFetching:s;if(i!==void 0&&e(i,G(this,Yn)[r],this))return St(this,wt,gc).call(this,G(this,Yn)[r],t)}}forEach(e,t=this){for(let r of St(this,wt,gl).call(this)){let s=G(this,vr)[r],i=St(this,wt,Fn).call(this,s)?s.__staleWhileFetching:s;i!==void 0&&e.call(t,i,G(this,Yn)[r],this)}}rforEach(e,t=this){for(let r of St(this,wt,xl).call(this)){let s=G(this,vr)[r],i=St(this,wt,Fn).call(this,s)?s.__staleWhileFetching:s;i!==void 0&&e.call(t,i,G(this,Yn)[r],this)}}purgeStale(){let e=!1;for(let t of St(this,wt,xl).call(this,{allowStale:!0}))G(this,Ro).call(this,t)&&(St(this,wt,bl).call(this,G(this,Yn)[t],"expire"),e=!0);return e}info(e){let t=G(this,Fs).get(e);if(t===void 0)return;let r=G(this,vr)[t],s=St(this,wt,Fn).call(this,r)?r.__staleWhileFetching:r;if(s===void 0)return;let i={value:s};if(G(this,ko)&&G(this,Ca)){let u=G(this,ko)[t],l=G(this,Ca)[t];if(u&&l){let h=u-(G(this,Aa).now()-l);i.ttl=h,i.start=Date.now()}}return G(this,Sa)&&(i.size=G(this,Sa)[t]),i}dump(){let e=[];for(let t of St(this,wt,gl).call(this,{allowStale:!0})){let r=G(this,Yn)[t],s=G(this,vr)[t],i=St(this,wt,Fn).call(this,s)?s.__staleWhileFetching:s;if(i===void 0||r===void 0)continue;let u={value:i};if(G(this,ko)&&G(this,Ca)){u.ttl=G(this,ko)[t];let l=G(this,Aa).now()-G(this,Ca)[t];u.start=Math.floor(Date.now()-l)}G(this,Sa)&&(u.size=G(this,Sa)[t]),e.unshift([r,u])}return e}load(e){this.clear();for(let[t,r]of e){if(r.start){let s=Date.now()-r.start;r.start=G(this,Aa).now()-s}St(this,wt,b0).call(this,t,r.value,r)}}set(e,t,r={}){let{status:s=pi.hasSubscribers?{}:void 0}=r;r.status=s,s&&(s.op="set",s.key=e,t!==void 0&&(s.value=t),s.cache=this);let i=St(this,wt,b0).call(this,e,t,r);return s&&pi.hasSubscribers&&pi.publish(s),i}pop(){var e;try{for(;G(this,Zs);){let t=G(this,vr)[G(this,Pi)];if(St(this,wt,Iu).call(this,!0),St(this,wt,Fn).call(this,t)){if(t.__staleWhileFetching)return t.__staleWhileFetching}else if(t!==void 0)return t}}finally{if(G(this,Ji)&&G(this,di)){let t=G(this,di),r;for(;r=t?.shift();)(e=G(this,wa))==null||e.call(this,...r)}}}has(e,t={}){let{status:r=pi.hasSubscribers?{}:void 0}=t;t.status=r,r&&(r.op="has",r.key=e,r.cache=this);let s=St(this,wt,Wm).call(this,e,t);return pi.hasSubscribers&&pi.publish(r),s}peek(e,t={}){let{status:r=Dh()?{}:void 0}=t;r&&(r.op="peek",r.key=e,r.cache=this),t.status=r;let s=St(this,wt,Gm).call(this,e,t);return pi.hasSubscribers&&pi.publish(r),s}fetch(e,t={}){let r=Nc.hasSubscribers,{status:s=Dh()?{}:void 0}=t;t.status=s,s&&t.context&&(s.context=t.context);let i=St(this,wt,jh).call(this,e,t);return s&&r&&(s.trace=!0,Nc.tracePromise(()=>i,s).catch(()=>{})),i}forceFetch(e,t={}){let r=Nc.hasSubscribers,{status:s=Dh()?{}:void 0}=t;t.status=s,s&&t.context&&(s.context=t.context);let i=St(this,wt,Vm).call(this,e,t);return s&&r&&(s.trace=!0,Nc.tracePromise(()=>i,s).catch(()=>{})),i}memo(e,t={}){let{status:r=pi.hasSubscribers?{}:void 0}=t;t.status=r,r&&(r.op="memo",r.key=e,t.context&&(r.context=t.context),r.cache=this);let s=St(this,wt,qm).call(this,e,t);return r&&(r.value=s),pi.hasSubscribers&&pi.publish(r),s}get(e,t={}){let{status:r=pi.hasSubscribers?{}:void 0}=t;t.status=r,r&&(r.op="get",r.key=e,r.cache=this);let s=St(this,wt,gc).call(this,e,t);return r&&(s!==void 0&&(r.value=s),pi.hasSubscribers&&pi.publish(r)),s}delete(e){return St(this,wt,bl).call(this,e,"delete")}clear(){return St(this,wt,Oh).call(this,"delete")}},Ko=new WeakMap,_o=new WeakMap,va=new WeakMap,p0=new WeakMap,wa=new WeakMap,hc=new WeakMap,fc=new WeakMap,Aa=new WeakMap,Zs=new WeakMap,Lo=new WeakMap,Fs=new WeakMap,Yn=new WeakMap,vr=new WeakMap,Xi=new WeakMap,Io=new WeakMap,Pi=new WeakMap,ui=new WeakMap,Ta=new WeakMap,di=new WeakMap,Sa=new WeakMap,Ca=new WeakMap,ko=new WeakMap,Eo=new WeakMap,_a=new WeakMap,pc=new WeakMap,Ji=new WeakMap,m0=new WeakMap,wt=new WeakSet,Bh=function(){let e=new Ju(G(this,Ko)),t=new Ju(G(this,Ko));er(this,ko,e),er(this,Ca,t);let r=this.ttlAutopurge?Array.from({length:G(this,Ko)}):void 0;er(this,Eo,r),er(this,_u,(l,h,p=G(this,Aa).now())=>{t[l]=h!==0?p:0,e[l]=h,s(l,h)}),er(this,g0,l=>{t[l]=e[l]!==0?G(this,Aa).now():0,s(l,e[l])});let s=this.ttlAutopurge?(l,h)=>{if(r?.[l]&&(clearTimeout(r[l]),r[l]=void 0),h&&h!==0&&r){let p=setTimeout(()=>{G(this,Ro).call(this,l)&&St(this,wt,bl).call(this,G(this,Yn)[l],"expire")},h+1);p.unref&&p.unref(),r[l]=p}}:()=>{};er(this,ml,(l,h)=>{if(e[h]){let p=e[h],g=t[h];if(!p||!g)return;l.ttl=p,l.start=g,l.now=i||u();let x=l.now-g;l.remainingTTL=p-x}});let i=0,u=()=>{let l=G(this,Aa).now();if(this.ttlResolution>0){i=l;let h=setTimeout(()=>i=0,this.ttlResolution);h.unref&&h.unref()}return l};this.getRemainingTTL=l=>{let h=G(this,Fs).get(l);if(h===void 0)return 0;let p=e[h],g=t[h];if(!p||!g)return 1/0;let x=(i||u())-g;return p-x},er(this,Ro,l=>{let h=t[l],p=e[l];return!!p&&!!h&&(i||u())-h>p})},g0=new WeakMap,ml=new WeakMap,_u=new WeakMap,Ro=new WeakMap,Hm=function(){let e=new Ju(G(this,Ko));er(this,Lo,0),er(this,Sa,e),er(this,x0,t=>{er(this,Lo,G(this,Lo)-e[t]),e[t]=0}),er(this,Lu,(t,r,s,i)=>{if(!wl(s)){if(St(this,wt,Fn).call(this,r))return this.backgroundFetchSize;if(i){if(typeof i!="function")throw new TypeError("sizeCalculation must be a function");if(s=i(r,t),!wl(s))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.")}return s}),er(this,mc,(t,r,s)=>{if(e[t]=r,G(this,_o)){let i=G(this,_o)-e[t];for(;G(this,Lo)>i;)St(this,wt,Iu).call(this,!0)}er(this,Lo,G(this,Lo)+e[t]),s&&(s.entrySize=r,s.totalCalculatedSize=G(this,Lo))})},x0=new WeakMap,mc=new WeakMap,Lu=new WeakMap,gl=function*({allowStale:e=this.allowStale}={}){if(G(this,Zs))for(let t=G(this,ui);St(this,wt,Qh).call(this,t)&&((e||!G(this,Ro).call(this,t))&&(yield t),t!==G(this,Pi));)t=G(this,Io)[t]},xl=function*({allowStale:e=this.allowStale}={}){if(G(this,Zs))for(let t=G(this,Pi);St(this,wt,Qh).call(this,t)&&((e||!G(this,Ro).call(this,t))&&(yield t),t!==G(this,ui));)t=G(this,Xi)[t]},Qh=function(e){return e!==void 0&&G(this,Fs).get(G(this,Yn)[e])===e},b0=function(e,t,r,s){var i,u,l,h;let{ttl:p=this.ttl,start:g,noDisposeOnSet:x=this.noDisposeOnSet,sizeCalculation:b=this.sizeCalculation,status:v}=r,A=St(this,wt,Fn).call(this,t);if(t===void 0)return v&&(v.set="deleted"),this.delete(e),this;let{noUpdateTTL:k=this.noUpdateTTL}=r;v&&!A&&(v.value=t);let I=G(this,Lu).call(this,e,t,r.size||0,b,v);if(this.maxEntrySize&&I>this.maxEntrySize)return St(this,wt,bl).call(this,e,"set"),v&&(v.set="miss",v.maxEntrySizeExceeded=!0),this;let R=G(this,Zs)===0?void 0:G(this,Fs).get(e);if(R===void 0)R=G(this,Zs)===0?G(this,ui):G(this,Ta).length!==0?G(this,Ta).pop():G(this,Zs)===G(this,Ko)?St(this,wt,Iu).call(this,!1):G(this,Zs),G(this,Yn)[R]=e,G(this,vr)[R]=t,G(this,Fs).set(e,R),G(this,Xi)[G(this,ui)]=R,G(this,Io)[R]=G(this,ui),er(this,ui,R),Nh(this,Zs)._++,G(this,mc).call(this,R,I,v),v&&(v.set="add"),k=!1,G(this,m0)&&!A&&((i=G(this,p0))==null||i.call(this,t,e,"add"));else{St(this,wt,xc).call(this,R);let M=G(this,vr)[R];if(t!==M){if(!x)if(St(this,wt,Fn).call(this,M)){M!==s&&M.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:B}=M;B!==void 0&&B!==t&&(G(this,_a)&&((u=G(this,va))==null||u.call(this,B,e,"set")),G(this,Ji)&&G(this,di)?.push([B,e,"set"]))}else G(this,_a)&&((l=G(this,va))==null||l.call(this,M,e,"set")),G(this,Ji)&&G(this,di)?.push([M,e,"set"]);if(G(this,x0).call(this,R),G(this,mc).call(this,R,I,v),G(this,vr)[R]=t,!A){let B=M&&St(this,wt,Fn).call(this,M)?M.__staleWhileFetching:M,F=B===void 0?"add":t!==B?"replace":"update";v&&(v.set=F,B!==void 0&&(v.oldValue=B)),G(this,m0)&&this.onInsert?.(t,e,F)}}else A||(v&&(v.set="update"),G(this,m0)&&this.onInsert?.(t,e,"update"))}if(p!==0&&!G(this,ko)&&St(this,wt,Bh).call(this),G(this,ko)&&(k||G(this,_u).call(this,R,p,g),v&&G(this,ml).call(this,v,R)),!x&&G(this,Ji)&&G(this,di)){let M=G(this,di),B;for(;B=M?.shift();)(h=G(this,wa))==null||h.call(this,...B)}return this},Iu=function(e){var t;let r=G(this,Pi),s=G(this,Yn)[r],i=G(this,vr)[r],u=St(this,wt,Fn).call(this,i);u&&i.__abortController.abort(new Error("evicted"));let l=u?i.__staleWhileFetching:i;return(G(this,_a)||G(this,Ji))&&l!==void 0&&(G(this,_a)&&((t=G(this,va))==null||t.call(this,l,s,"evict")),G(this,Ji)&&G(this,di)?.push([l,s,"evict"])),G(this,x0).call(this,r),G(this,Eo)?.[r]&&(clearTimeout(G(this,Eo)[r]),G(this,Eo)[r]=void 0),e&&(G(this,Yn)[r]=void 0,G(this,vr)[r]=void 0,G(this,Ta).push(r)),G(this,Zs)===1?(er(this,Pi,er(this,ui,0)),G(this,Ta).length=0):er(this,Pi,G(this,Xi)[r]),G(this,Fs).delete(s),Nh(this,Zs)._--,r},Wm=function(e,t={}){let{updateAgeOnHas:r=this.updateAgeOnHas,status:s}=t,i=G(this,Fs).get(e);if(i!==void 0){let u=G(this,vr)[i];if(St(this,wt,Fn).call(this,u)&&u.__staleWhileFetching===void 0)return!1;if(G(this,Ro).call(this,i))s&&(s.has="stale",G(this,ml).call(this,s,i));else return r&&G(this,g0).call(this,i),s&&(s.has="hit",G(this,ml).call(this,s,i)),!0}else s&&(s.has="miss");return!1},Gm=function(e,t){let{status:r,allowStale:s=this.allowStale}=t,i=G(this,Fs).get(e);if(i===void 0||!s&&G(this,Ro).call(this,i)){r&&(r.peek=i===void 0?"miss":"stale");return}let u=G(this,vr)[i],l=St(this,wt,Fn).call(this,u)?u.__staleWhileFetching:u;return r&&(l!==void 0?(r.peek="hit",r.value=l):r.peek="miss"),l},ku=function(e,t,r,s){let i=t===void 0?void 0:G(this,vr)[t];if(St(this,wt,Fn).call(this,i))return i;let u=new AbortController,{signal:l}=r;l?.addEventListener("abort",()=>u.abort(l.reason),{signal:u.signal});let h={signal:u.signal,options:r,context:s},p=(k,I=!1)=>{let{aborted:R}=u.signal,M=r.ignoreFetchAbort&&k!==void 0,B=r.ignoreFetchAbort||!!(r.allowStaleOnFetchAbort&&k!==void 0);if(r.status&&(R&&!I?(r.status.fetchAborted=!0,r.status.fetchError=u.signal.reason,M&&(r.status.fetchAbortIgnored=!0)):r.status.fetchResolved=!0),R&&!M&&!I)return x(u.signal.reason,B);let F=v,W=G(this,vr)[t];return(W===v||W===void 0&&M&&I)&&(k===void 0?F.__staleWhileFetching!==void 0?G(this,vr)[t]=F.__staleWhileFetching:St(this,wt,bl).call(this,e,"fetch"):(r.status&&(r.status.fetchUpdated=!0),St(this,wt,b0).call(this,e,k,h.options,F))),k},g=k=>(r.status&&(r.status.fetchRejected=!0,r.status.fetchError=k),x(k,!1)),x=(k,I)=>{let{aborted:R}=u.signal,M=R&&r.allowStaleOnFetchAbort,B=M||r.allowStaleOnFetchRejection,F=B||r.noDeleteOnFetchRejection,W=v;if(G(this,vr)[t]===v&&(!F||!I&&W.__staleWhileFetching===void 0?St(this,wt,bl).call(this,e,"fetch"):M||(G(this,vr)[t]=W.__staleWhileFetching)),B)return r.status&&W.__staleWhileFetching!==void 0&&(r.status.returnedStale=!0),W.__staleWhileFetching;if(W.__returned===W)throw k},b=(k,I)=>{var R;let M=(R=G(this,hc))==null?void 0:R.call(this,e,i,h);u.signal.addEventListener("abort",()=>{(!r.ignoreFetchAbort||r.allowStaleOnFetchAbort)&&(k(void 0),r.allowStaleOnFetchAbort&&(k=B=>p(B,!0)))}),M&&M instanceof Promise?M.then(B=>k(B===void 0?void 0:B),I):M!==void 0&&k(M)};r.status&&(r.status.fetchDispatched=!0);let v=new Promise(b).then(p,g),A=Object.assign(v,{__abortController:u,__staleWhileFetching:i,__returned:void 0});return t===void 0?(St(this,wt,b0).call(this,e,A,{...h.options,status:void 0}),t=G(this,Fs).get(e)):G(this,vr)[t]=A,A},Fn=function(e){if(!G(this,pc))return!1;let t=e;return!!t&&t instanceof Promise&&t.hasOwnProperty("__staleWhileFetching")&&t.__abortController instanceof AbortController},jh=async function(e,t={}){let{allowStale:r=this.allowStale,updateAgeOnGet:s=this.updateAgeOnGet,noDeleteOnStaleGet:i=this.noDeleteOnStaleGet,ttl:u=this.ttl,noDisposeOnSet:l=this.noDisposeOnSet,size:h=0,sizeCalculation:p=this.sizeCalculation,noUpdateTTL:g=this.noUpdateTTL,noDeleteOnFetchRejection:x=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:b=this.allowStaleOnFetchRejection,ignoreFetchAbort:v=this.ignoreFetchAbort,allowStaleOnFetchAbort:A=this.allowStaleOnFetchAbort,context:k,forceRefresh:I=!1,status:R,signal:M}=t;if(R&&(R.op="fetch",R.key=e,I&&(R.forceRefresh=!0),R.cache=this),!G(this,pc))return R&&(R.fetch="get"),St(this,wt,gc).call(this,e,{allowStale:r,updateAgeOnGet:s,noDeleteOnStaleGet:i,status:R});let B={allowStale:r,updateAgeOnGet:s,noDeleteOnStaleGet:i,ttl:u,noDisposeOnSet:l,size:h,sizeCalculation:p,noUpdateTTL:g,noDeleteOnFetchRejection:x,allowStaleOnFetchRejection:b,allowStaleOnFetchAbort:A,ignoreFetchAbort:v,status:R,signal:M},F=G(this,Fs).get(e);if(F===void 0){R&&(R.fetch="miss");let W=St(this,wt,ku).call(this,e,F,B,k);return W.__returned=W}else{let W=G(this,vr)[F];if(St(this,wt,Fn).call(this,W)){let de=r&&W.__staleWhileFetching!==void 0;return R&&(R.fetch="inflight",de&&(R.returnedStale=!0)),de?W.__staleWhileFetching:W.__returned=W}let O=G(this,Ro).call(this,F);if(!I&&!O)return R&&(R.fetch="hit"),St(this,wt,xc).call(this,F),s&&G(this,g0).call(this,F),R&&G(this,ml).call(this,R,F),W;let q=St(this,wt,ku).call(this,e,F,B,k),ee=q.__staleWhileFetching!==void 0&&r;return R&&(R.fetch=O?"stale":"refresh",ee&&O&&(R.returnedStale=!0)),ee?q.__staleWhileFetching:q.__returned=q}},Vm=async function(e,t={}){let r=await St(this,wt,jh).call(this,e,t);if(r===void 0)throw new Error("fetch() returned undefined");return r},qm=function(e,t={}){let r=G(this,fc);if(!r)throw new Error("no memoMethod provided to constructor");let{context:s,status:i,forceRefresh:u,...l}=t;i&&u&&(i.forceRefresh=!0);let h=St(this,wt,gc).call(this,e,l),p=u||h===void 0;if(i&&(i.memo=p?"miss":"hit",p||(i.value=h)),!p)return h;let g=r(e,h,{options:l,context:s});return i&&(i.value=g),St(this,wt,b0).call(this,e,g,l),g},gc=function(e,t={}){let{allowStale:r=this.allowStale,updateAgeOnGet:s=this.updateAgeOnGet,noDeleteOnStaleGet:i=this.noDeleteOnStaleGet,status:u}=t,l=G(this,Fs).get(e);if(l===void 0){u&&(u.get="miss");return}let h=G(this,vr)[l],p=St(this,wt,Fn).call(this,h);return u&&G(this,ml).call(this,u,l),G(this,Ro).call(this,l)?p?(u&&(u.get="stale-fetching"),r&&h.__staleWhileFetching!==void 0?(u&&(u.returnedStale=!0),h.__staleWhileFetching):void 0):(i||St(this,wt,bl).call(this,e,"expire"),u&&(u.get="stale"),r?(u&&(u.returnedStale=!0),h):void 0):(u&&(u.get=p?"fetching":"hit"),St(this,wt,xc).call(this,l),s&&G(this,g0).call(this,l),p?h.__staleWhileFetching:h)},Ph=function(e,t){G(this,Io)[t]=e,G(this,Xi)[e]=t},xc=function(e){e!==G(this,ui)&&(e===G(this,Pi)?er(this,Pi,G(this,Xi)[e]):St(this,wt,Ph).call(this,G(this,Io)[e],G(this,Xi)[e]),St(this,wt,Ph).call(this,G(this,ui),e),er(this,ui,e))},bl=function(e,t){var r,s;pi.hasSubscribers&&pi.publish({op:"delete",delete:t,key:e,cache:this});let i=!1;if(G(this,Zs)!==0){let u=G(this,Fs).get(e);if(u!==void 0)if(G(this,Eo)?.[u]&&(clearTimeout(G(this,Eo)?.[u]),G(this,Eo)[u]=void 0),i=!0,G(this,Zs)===1)St(this,wt,Oh).call(this,t);else{G(this,x0).call(this,u);let l=G(this,vr)[u];if(St(this,wt,Fn).call(this,l)?l.__abortController.abort(new Error("deleted")):(G(this,_a)||G(this,Ji))&&(G(this,_a)&&((r=G(this,va))==null||r.call(this,l,e,t)),G(this,Ji)&&G(this,di)?.push([l,e,t])),G(this,Fs).delete(e),G(this,Yn)[u]=void 0,G(this,vr)[u]=void 0,u===G(this,ui))er(this,ui,G(this,Io)[u]);else if(u===G(this,Pi))er(this,Pi,G(this,Xi)[u]);else{let h=G(this,Io)[u];G(this,Xi)[h]=G(this,Xi)[u];let p=G(this,Xi)[u];G(this,Io)[p]=G(this,Io)[u]}Nh(this,Zs)._--,G(this,Ta).push(u)}}if(G(this,Ji)&&G(this,di)?.length){let u=G(this,di),l;for(;l=u?.shift();)(s=G(this,wa))==null||s.call(this,...l)}return i},Oh=function(e){var t,r;for(let s of St(this,wt,xl).call(this,{allowStale:!0})){let i=G(this,vr)[s];if(St(this,wt,Fn).call(this,i))i.__abortController.abort(new Error("deleted"));else{let u=G(this,Yn)[s];G(this,_a)&&((t=G(this,va))==null||t.call(this,i,u,e)),G(this,Ji)&&G(this,di)?.push([i,u,e])}}if(G(this,Fs).clear(),G(this,vr).fill(void 0),G(this,Yn).fill(void 0),G(this,ko)&&G(this,Ca)){G(this,ko).fill(0),G(this,Ca).fill(0);for(let s of G(this,Eo)??[])s!==void 0&&clearTimeout(s);G(this,Eo)?.fill(void 0)}if(G(this,Sa)&&G(this,Sa).fill(0),er(this,Pi,0),er(this,ui,0),G(this,Ta).length=0,er(this,Lo,0),er(this,Zs,0),G(this,Ji)&&G(this,di)){let s=G(this,di),i;for(;i=s?.shift();)(r=G(this,wa))==null||r.call(this,...i)}},Fh);function E3(e){let t={individual:{},range:[]},r=new WeakMap;for(let s of e)Of(t,s,r);return t}function Of(e,t,r){for(let[s,i]of Object.entries(t.individual))if(e.individual[s])y0(e.individual[s],i,r);else{let u=!1;for(let[l,{range:h,entry:p}]of e.range.entries()){let g=Uh(Number(s),h);if(g.both!==null){u=!0,e.individual[s]=i,y0(e.individual[s],mi(p),r),e.range.splice(l,1);for(let x of g.second)Array.isArray(x)?e.range.push({range:x,entry:mi(p)}):e.individual[x]=mi(p)}}u||(e.individual[s]=i)}for(let{range:s,entry:i}of t.range){let u=[s];for(let l=0;l<e.range.length;l++){let{range:h,entry:p}=e.range[l];for(let[g,x]of u.entries())if(Array.isArray(x)){let b=ET(x,h);if(b.both===null)continue;e.range.splice(l,1),l--;let v=mi(p);Array.isArray(b.both)?e.range.push({range:b.both,entry:v}):e.individual[b.both]=v,y0(v,mi(i),r);for(let A of b.second)Array.isArray(A)?e.range.push({range:A,entry:mi(p)}):e.individual[A]=mi(p);u=b.first}else{let b=Uh(x,h);if(b.both===null)continue;e.individual[x]=mi(i),y0(e.individual[x],mi(p),r),e.range.splice(l,1),l--;for(let v of b.second)Array.isArray(v)?e.range.push({range:v,entry:mi(p)}):e.individual[v]=mi(p);u.splice(g,1,...b.first);break}}for(let l of Object.keys(e.individual))for(let[h,p]of u.entries())if(Array.isArray(p)){let g=Uh(Number(l),p);if(g.both===null)continue;y0(e.individual[l],mi(i),r),u.splice(h,1,...g.second);break}else if(Number(l)===p){y0(e.individual[l],mi(i),r);break}for(let l of u)Array.isArray(l)?e.range.push({range:l,entry:mi(i)}):e.individual[l]=mi(i)}}function y0(e,t,r){let s=r.get(e);s?.has(t)||(s||(s=new Set,r.set(e,s)),s.add(t),t.lookup&&(!e.lookup||e.lookup.index>t.lookup.index||e.lookup.index===t.lookup.index&&e.lookup.subIndex>t.lookup.subIndex)&&(e.lookup=t.lookup),t.forward&&(e.forward?Of(e.forward,t.forward,r):e.forward=t.forward),t.reverse&&(e.reverse?Of(e.reverse,t.reverse,r):e.reverse=t.reverse))}function ET(e,t){let r={first:[],second:[],both:null};if(e[0]<t[1]&&t[0]<e[1]){let s=Math.max(e[0],t[0]),i=Math.min(e[1],t[1]);r.both=$l(s,i)}if(e[0]<t[0]){let s=e[0],i=Math.min(t[0],e[1]);r.first.push($l(s,i))}else if(t[0]<e[0]){let s=t[0],i=Math.min(t[1],e[0]);r.second.push($l(s,i))}if(e[1]>t[1]){let s=Math.max(e[0],t[1]),i=e[1];r.first.push($l(s,i))}else if(t[1]>e[1]){let s=Math.max(e[1],t[0]),i=t[1];r.second.push($l(s,i))}return r}function Uh(e,t){if(e<t[0]||e>t[1])return{first:[e],second:[t],both:null};let r={first:[],second:[],both:e};return t[0]<e&&r.second.push($l(t[0],e)),t[1]>e&&r.second.push($l(e+1,t[1])),r}function $l(e,t){return t-e===1?e:[e,t]}function mi(e,t=new Map){if(t.has(e))return t.get(e);let r={};return t.set(e,r),e.forward&&(r.forward=Zm(e.forward,t)),e.reverse&&(r.reverse=Zm(e.reverse,t)),e.lookup&&(r.lookup={contextRange:e.lookup.contextRange.slice(),index:e.lookup.index,length:e.lookup.length,subIndex:e.lookup.subIndex,substitutions:e.lookup.substitutions.slice()}),r}function Zm(e,t=new Map){let r={};for(let[s,i]of Object.entries(e.individual))r[s]=mi(i,t);return{individual:r,range:e.range.map(({range:s,entry:i})=>({range:s.slice(),entry:mi(i,t)}))}}function Ff(e,t,r,s){let i=t[s],u=e[i];if(!u)return;let l=u.lookup;if(u.reverse){let p=RT(u.reverse,t,r);(!l&&p||p&&l&&(l.index>p.index||l.index===p.index&&l.subIndex>p.subIndex))&&(l=p)}if(++s>=t.length||!u.forward)return l;let h=Ff(u.forward,t,r,s);return(!l&&h||h&&l&&(l.index>h.index||l.index===h.index&&l.subIndex>h.subIndex))&&(l=h),l}function RT(e,t,r){let s=e[t[--r]],i=s&&s.lookup;for(;s&&((!i&&s.lookup||s.lookup&&i&&i.index>s.lookup.index)&&(i=s.lookup),!(--r<0||!s.reverse));)s=s.reverse[t[r]];return i}function Ym(e,t,r){let s=!1;for(let i=0;i<e.length;i++){let u=e[i];if(s){if(r<=u[0])return e[i-1][1]=r,e;if(r<=u[1])return e[i-1][1]=Math.max(r,u[1]),e.splice(i,1),e;e.splice(i,1),i--}else{if(r<=u[0])return e.splice(i,0,[t,r]),e;if(r<=u[1])return u[0]=Math.min(t,u[0]),e;if(t<u[1])u[0]=Math.min(t,u[0]),s=!0;else continue}}return s?e[e.length-1][1]=r:e.push([t,r]),e}function MT(e,t){switch(e.format){case 1:let r=e.glyphs.indexOf(t);return r!==-1?r:null;case 2:let s=e.ranges.find(i=>i.start<=t&&i.end>=t);return s?s.index:null}}function el(e){switch(e.format){case 1:return e.glyphs.map((r,s)=>({glyphId:r,index:s}));case 2:let t=[];for(let[r,s]of e.ranges.entries())s.end===s.start?t.push({glyphId:s.start,index:r}):t.push({glyphId:[s.start,s.end+1],index:r});return t}}function NT(e,t){let r=t[0],s=Uf(e,r),i=t[0]+1,u=new Map;for(;i<t[1];)Uf(e,i)!==s&&(i-r<=1?u.set(r,s):u.set([r,i],s)),i++;return i-r<=1?u.set(r,s):u.set([r,i],s),u}function Uf(e,t){let r=MT(e.coverage,t);if(r===null)return null;switch(e.substFormat){case 1:return(t+e.deltaGlyphId)%2**16;case 2:return e.substitute[r]??null}}function Rp(e,t,r,s,i){let u=[];for(let l of r){l.entry.forward={individual:{},range:[]};for(let h of e)u.push(...Od(l.entry.forward,s,i,t,h).map(({entry:p,substitution:g})=>({entry:p,substitutions:[...l.substitutions,g]})))}return u}function jd(e,t){let r=[],s=new Set;for(let i of t){if(s.has(i.entry))continue;s.add(i.entry),i.entry.forward??={individual:{},range:[]};let u={};for(let l of e)Array.isArray(l)?i.entry.forward.range.push({entry:u,range:l}):i.entry.forward.individual[l]=u;r.push({entry:u,substitutions:i.substitutions})}return r}function Pd(e,t){let r=[],s=new Set;for(let i of t){if(s.has(i.entry))continue;s.add(i.entry),i.entry.reverse??={individual:{},range:[]};let u={};for(let l of e)Array.isArray(l)?i.entry.reverse.range.push({entry:u,range:l}):i.entry.reverse.individual[l]=u;r.push({entry:u,substitutions:i.substitutions})}return r}function Od(e,t,r,s,i){let u=[];if(!Array.isArray(i))e.individual[i]={},u.push({entry:e.individual[i],substitution:BT(t,r,s,i)});else{let l=DT(t,r,s,i);for(let[h,p]of l){let g={};Array.isArray(h)?e.range.push({range:h,entry:g}):e.individual[h]={},u.push({entry:g,substitution:p})}}return u}function DT(e,t,r,s){for(let i of e.filter(u=>u.sequenceIndex===r))for(let u of t[i.lookupListIndex].subtables){let l=NT(u,s);if(!Array.from(l.values()).every(h=>h!==null))return l}return new Map([[s,null]])}function BT(e,t,r,s){for(let i of e.filter(u=>u.sequenceIndex===r))for(let u of t[i.lookupListIndex].subtables){let l=Uf(u,s);if(l!==null)return l}return null}function QT(e,t,r){let s={individual:{},range:[]},i=el(e.coverage);for(let{glyphId:u,index:l}of i){let h=e.chainRuleSets[l];if(h)for(let[p,g]of h.entries()){let x=Od(s,g.lookupRecords,t,0,u).map(({entry:b,substitution:v})=>({entry:b,substitutions:[v]}));for(let[b,v]of g.input.entries())x=Rp([v],b+1,x,g.lookupRecords,t);for(let b of g.lookahead)x=jd([b],x);for(let b of g.backtrack)x=Pd([b],x);for(let{entry:b,substitutions:v}of x)b.lookup={substitutions:v,length:g.input.length+1,index:r,subIndex:p,contextRange:[-1*g.backtrack.length,1+g.input.length+g.lookahead.length]}}}return s}function jT(e,t){return e.format===2?Array.isArray(t)?PT(e,t):new Map([[t,$f(e,t)]]):new Map([[t,null]])}function PT(e,t){let r=t[0],s=$f(e,r),i=t[0]+1,u=new Map;for(;i<t[1];)$f(e,i)!==s&&(i-r<=1?u.set(r,s):u.set([r,i],s)),i++;return i-r<=1?u.set(r,s):u.set([r,i],s),u}function $f(e,t){for(let r of e.ranges)if(r.start<=t&&r.end>=t)return r.classId;return null}function $h(e,t){switch(e.format){case 2:let r=[];for(let s of e.ranges)s.classId===t&&(s.end===s.start?r.push(s.start):r.push([s.start,s.end+1]));return r;default:return[]}}function OT(e,t,r){let s=[],i=el(e.coverage);for(let{glyphId:u}of i){let l=jT(e.inputClassDef,u);for(let[h,p]of l.entries()){if(p===null)continue;let g=e.chainClassSet[p];if(g)for(let[x,b]of g.entries()){let v={individual:{},range:[]},A=Od(v,b.lookupRecords,t,0,h).map(({entry:k,substitution:I})=>({entry:k,substitutions:[I]}));for(let[k,I]of b.input.entries())A=Rp($h(e.inputClassDef,I),k+1,A,b.lookupRecords,t);for(let k of b.lookahead)A=jd($h(e.lookaheadClassDef,k),A);for(let k of b.backtrack)A=Pd($h(e.backtrackClassDef,k),A);for(let{entry:k,substitutions:I}of A)k.lookup={substitutions:I,index:r,subIndex:x,length:b.input.length+1,contextRange:[-1*b.backtrack.length,1+b.input.length+b.lookahead.length]};s.push(v)}}}return E3(s)}function FT(e,t,r){let s={individual:{},range:[]},i=el(e.inputCoverage[0]);for(let{glyphId:u}of i){let l=Od(s,e.lookupRecords,t,0,u).map(({entry:h,substitution:p})=>({entry:h,substitutions:[p]}));for(let[h,p]of e.inputCoverage.slice(1).entries())l=Rp(el(p).map(g=>g.glyphId),h+1,l,e.lookupRecords,t);for(let h of e.lookaheadCoverage)l=jd(el(h).map(p=>p.glyphId),l);for(let h of e.backtrackCoverage)l=Pd(el(h).map(p=>p.glyphId),l);for(let{entry:h,substitutions:p}of l)h.lookup={substitutions:p,index:r,subIndex:0,length:e.inputCoverage.length,contextRange:[-1*e.backtrackCoverage.length,e.inputCoverage.length+e.lookaheadCoverage.length]}}return s}function UT(e,t){let r={individual:{},range:[]},s=el(e.coverage);for(let{glyphId:i,index:u}of s){let l={};Array.isArray(i)?r.range.push({entry:l,range:i}):r.individual[i]=l;let h=[{entry:l,substitutions:[e.substitutes[u]]}];for(let p of e.lookaheadCoverage)h=jd(el(p).map(g=>g.glyphId),h);for(let p of e.backtrackCoverage)h=Pd(el(p).map(g=>g.glyphId),h);for(let{entry:p,substitutions:g}of h)p.lookup={substitutions:g,index:t,subIndex:0,length:1,contextRange:[-1*e.backtrackCoverage.length,1+e.lookaheadCoverage.length]}}return r}function zf(e,t=new Map){let r={};for(let[s,i]of Object.entries(e.individual))r[s]=Km(i,t);for(let{range:s,entry:i}of e.range){let u=Km(i,t);for(let l=s[0];l<s[1];l++)r[l]=u}return r}function Km(e,t){if(t.has(e))return t.get(e);let r={};return t.set(e,r),e.forward&&(r.forward=zf(e.forward,t)),e.reverse&&(r.reverse=zf(e.reverse,t)),e.lookup&&(r.lookup=e.lookup),r}var $T=class{constructor(e,t){this._lookupTrees=[],this._glyphLookups={},this._font=e,t.cacheSize>0&&(this._cache=new kT({maxSize:t.cacheSize,sizeCalculation:((u,l)=>l.length)}));let r=(this._font.tables.gsub&&this._font.tables.gsub.features.filter(u=>u.tag==="calt")||[]).reduce((u,l)=>[...u,...l.feature.lookupListIndexes],[]),s=this._font.tables.gsub&&this._font.tables.gsub.lookups||[],i=s.filter((u,l)=>r.some(h=>h===l));for(let[u,l]of i.entries()){let h=[];switch(l.lookupType){case 6:for(let[g,x]of l.subtables.entries())switch(x.substFormat){case 1:h.push(QT(x,s,g));break;case 2:h.push(OT(x,s,g));break;case 3:h.push(FT(x,s,g));break}break;case 8:for(let[g,x]of l.subtables.entries())h.push(UT(x,g));break}let p=zf(E3(h));this._lookupTrees.push({tree:p,processForward:l.lookupType!==8});for(let g of Object.keys(p))this._glyphLookups[g]||(this._glyphLookups[g]=[]),this._glyphLookups[g].push(u)}}findLigatures(e){let t=this._cache&&this._cache.get(e);if(t&&!Array.isArray(t))return t;let r=[];for(let u of e)r.push(this._font.charToGlyphIndex(u));if(this._lookupTrees.length===0)return{inputGlyphs:r,outputGlyphs:r,contextRanges:[]};let s=this._findInternal(r.slice()),i={inputGlyphs:r,outputGlyphs:s.sequence,contextRanges:s.ranges};return this._cache&&this._cache.set(e,i),i}findLigatureRanges(e){if(this._lookupTrees.length===0)return[];let t=this._cache&&this._cache.get(e);if(t)return Array.isArray(t)?t:t.contextRanges;let r=[];for(let i of e)r.push(this._font.charToGlyphIndex(i));let s=this._findInternal(r);return this._cache&&this._cache.set(e,s.ranges),s.ranges}_findInternal(e){let t=[],r=this._getNextLookup(e,0);for(;r.index!==null;){let s=this._lookupTrees[r.index];if(s.processForward){let i=r.last;for(let u=r.first;u<i;u++){let l=Ff(s.tree,e,u,u);if(l){for(let h=0;h<l.substitutions.length;h++){let p=l.substitutions[h];p!==null&&(e[u+h]=p)}Ym(t,l.contextRange[0]+u,l.contextRange[1]+u),u+l.length>=i&&(i=u+l.length+1),u+=l.length-1}}}else for(let i=r.last-1;i>=r.first;i--){let u=Ff(s.tree,e,i,i);if(u){for(let l=0;l<u.substitutions.length;l++){let h=u.substitutions[l];h!==null&&(e[i+l]=h)}Ym(t,u.contextRange[0]+i,u.contextRange[1]+i),i-=u.length-1}}r=this._getNextLookup(e,r.index+1)}return{sequence:e,ranges:t}}_getNextLookup(e,t){let r={index:null,first:1/0,last:-1};for(let s=0;s<e.length;s++){let i=this._glyphLookups[e[s]];if(i)for(let u=0;u<i.length;u++){let l=i[u];if(l>=t){(r.index===null||l<=r.index)&&(r.index=l,r.first>s&&(r.first=s),r.last=s+1);break}}}return r}};function zT(e,t){let r=ST.parse(e);return new $T(r,{cacheSize:0,...t})}function HT(e){if(typeof e!="string")throw new Error("Font family must be a string");let t={input:e,offset:0},r=[],s="";for(;t.offset<t.input.length;){let i=t.input[t.offset++];switch(i){case"'":case'"':s+=WT(t,i);break;case",":r.push(s),s="";break;default:/\s/.test(i)||(t.offset--,s+=GT(t),r.push(s),s="")}}return r}function WT(e,t){let r="",s=!1;for(;e.offset<e.input.length;){let i=e.input[e.offset++];if(s)/[\dA-Fa-f]/.test(i)?(e.offset--,r+=R3(e)):i!==`
63
+ `&&(r+=i),s=!1;else switch(i){case t:return r;case"\\":s=!0;break;default:r+=i}}throw new Error("Unterminated string")}function GT(e){let t="",r=!1;for(;e.offset<e.input.length;){let s=e.input[e.offset++];if(r)/[\dA-Fa-f]/.test(s)?(e.offset--,t+=R3(e)):t+=s,r=!1;else switch(s){case"\\":r=!0;break;case",":return t;default:/\s/.test(s)?t.endsWith(" ")||(t+=" "):t+=s}}return t}function R3(e){let t="";for(;e.offset<e.input.length;){let r=e.input[e.offset++];if(/\s/.test(r))return zh(t);if(t.length>=6||!/[\dA-Fa-f]/.test(r))return e.offset--,zh(t);t+=r}return zh(t)}function zh(e){return String.fromCodePoint(parseInt(e,16))}var bc;async function VT(e,t){if(!bc){if(typeof navigator<"u"&&"fonts"in navigator){try{let i=await navigator.permissions.request?.({name:"local-fonts"});if(i&&i.state!=="granted")throw new Error("Permission to access local fonts not granted.")}catch(i){if(i instanceof Error&&i.name!=="TypeError")throw i}let s={};try{let i=await navigator.fonts.query();for(let u of i)s.hasOwnProperty(u.family)||(s[u.family]=[]),s[u.family].push(u);bc=Promise.resolve(s)}catch(i){i instanceof Error&&console.error(i.name,i.message)}}else if(typeof window<"u"&&"queryLocalFonts"in window){let s={};try{let i=await window.queryLocalFonts();for(let u of i)s.hasOwnProperty(u.family)||(s[u.family]=[]),s[u.family].push(u);bc=Promise.resolve(s)}catch(i){i instanceof Error&&console.error(i.name,i.message)}}bc??=Promise.resolve({})}let r=await bc;for(let s of HT(e)){if(qT.includes(s))return;if(r.hasOwnProperty(s)&&r[s].length>0){let i=r[s][0];if("blob"in i){let u=await(await i.blob()).arrayBuffer();return zT(u,{cacheSize:t})}return}}}var qT=["serif","sans-serif","cursive","fantasy","monospace","system-ui","emoji","math","fangsong"],ZT=1e5;function YT(e,t=[]){let r,s,i=0,u;return e.registerCharacterJoiner(l=>{let h=e.options.fontFamily;if(h&&(i===0||r!==h)){s=void 0,i=1,r=h;let p=r;VT(p,ZT).then(g=>{p===e.options.fontFamily&&(i=2,s=g,g&&e.refresh(0,e.rows-1))}).catch(g=>{p===e.options.fontFamily&&(i=3,e.options.logLevel==="debug"&&console.debug(u,new Error("Failure while loading font")),s=void 0,u=g)})}return s&&i===2?s.findLigatureRanges(l).map(p=>[p[0],p[1]]):KT(l,t)})}function KT(e,t){let r=[];for(let s=0;s<e.length;s++)for(let i=0;i<t.length;i++)if(e.startsWith(t[i],s)){r.push([s,s+t[i].length]),s+=t[i].length-1;break}return r}var XT=class{constructor(e){this._fallbackLigatures=(e?.fallbackLigatures??["<--","<---","<<-","<-","->","->>","-->","--->","<==","<===","<<=","<=","=>","=>>","==>","===>",">=",">>=","<->","<-->","<--->","<---->","<=>","<==>","<===>","<====>","::",":::","<~~","</","</>","/>","~~>","==","!=","/=","~=","<>","===","!==","!===","<:",":=","*=","*+","<*","<*>","*>","<|","<|>","|>","+*","=*","=:",":>","/*","*/","+++","<!--","<!---"]).sort((t,r)=>r.length-t.length),this._fontFeatureSettings=e?.fontFeatureSettings}activate(e){if(!e.element)throw new Error("Cannot activate LigaturesAddon before open is called");this._terminal=e,this._characterJoinerId=YT(e,this._fallbackLigatures),e.element.style.fontFeatureSettings=this._fontFeatureSettings??'"calt" on'}dispose(){this._characterJoinerId!==void 0&&(this._terminal?.deregisterCharacterJoiner(this._characterJoinerId),this._characterJoinerId=void 0),this._terminal?.element&&(this._terminal.element.style.fontFeatureSettings="")}};function Xm(e){let t=0;for(let r=0;r<e.length;++r){let s=e.charCodeAt(r);if(s<48||57<s)return-1;t=t*10+s-48}return t}var JT=class{constructor(){this._st=0,this._pr=0}dispose(){this._seqHandler?.dispose(),this._onChange?.dispose()}activate(e){this._seqHandler=e.parser.registerOscHandler(9,t=>{if(!t.startsWith("4;"))return!1;let r=t.split(";");if(r.length>3)return!0;r.length===2&&r.push("");let s=Xm(r[1]),i=Xm(r[2]);switch(s){case 0:this.progress={state:s,value:0};break;case 1:if(i<0)return!0;this.progress={state:s,value:i};break;case 2:case 4:if(i<0)return!0;this.progress={state:s,value:i||this._pr};break;case 3:this.progress={state:s,value:this._pr};break}return!0}),this._onChange=new e._core._onData.constructor,this.onChange=this._onChange.event}get progress(){return{state:this._st,value:this._pr}}set progress(e){if(e.state<0||e.state>4){console.warn("progress state out of bounds, not applied");return}this._st=e.state,this._pr=Math.min(Math.max(e.value,0),100),this._onChange?.fire({state:this._st,value:this._pr})}};function M3(e,t){const r=Math.max(e.left,t.left),s=Math.max(e.top,t.top),i=Math.min(e.right,t.right),u=Math.min(e.bottom,t.bottom);return i>r&&u>s?{left:r,top:s,right:i,bottom:u}:null}function Jm(e,t){const r=M3(e,t);return r?(r.right-r.left)*(r.bottom-r.top):0}function Vl(e){const t=e.element;if(!t||!e.cols||!e.rows)return null;const s=(t.querySelector?.(".xterm-screen")??null??t).getBoundingClientRect();if(!s.width||!s.height)return null;const i=e.dimensions?.css?.cell?.height,u=s.width/e.cols,l=i&&i>0?i:s.height/e.rows;return{originLeft:s.left,originTop:s.top,cellW:u,cellH:l}}function ed(e,t){const r=Vl(e);if(!r)return null;const s=t.row-e.buffer.active.viewportY;if(s<0||s>=e.rows)return null;const i=Math.max(0,Math.min(e.cols-1,t.col));return{x:r.originLeft+(i+.5)*r.cellW,y:r.originTop+s*r.cellH}}function eS(e,t){const r=Math.max(0,e.buffer.active.baseY+e.rows-1);return{col:Math.max(0,Math.min(e.cols-1,t.col)),row:Math.max(0,Math.min(r,t.row))}}function ud(e,t,r){const s=e.row*r+e.col,i=t.row*r+t.col;return s<=i?{start:e,end:t}:{start:t,end:e}}function tS(e,t,r){const s=Vl(e);if(!s)return null;const{start:i,end:u}=ud(t,r,e.cols),l=e.buffer.active.viewportY,h=l+e.rows-1;if(u.row<l||i.row>h)return null;const p=Math.max(i.row,l),g=Math.min(u.row,h),x=s.originTop+(p-l)*s.cellH,b=s.originTop+(g-l+1)*s.cellH;return i.row===u.row?{left:s.originLeft+i.col*s.cellW,top:x,right:s.originLeft+(u.col+1)*s.cellW,bottom:b}:{left:s.originLeft,top:x,right:s.originLeft+e.cols*s.cellW,bottom:b}}function rS(e){const t=Math.max(e.viewport.left,e.terminal.left),r=Math.max(e.viewport.top,e.terminal.top),s=Math.min(e.viewport.right,e.terminal.right),i=Math.min(e.viewport.bottom,e.terminal.bottom),u=t+e.margin,l=r+e.margin,h=Math.max(u,s-e.width-e.margin),p=Math.max(l,i-e.height-e.margin),g=de=>Math.max(u,Math.min(de,h)),x=de=>Math.max(l,Math.min(de,p)),b=e.selection?M3(e.selection,{left:t,top:r,right:s,bottom:i}):null;if(!b){const de=g(e.clientX-e.width/2),Ae=e.clientY-e.height-e.fingerGap,Le=e.clientY+e.fingerGap,ve=x(Ae>=l?Ae:Le);return{left:Math.round(de),top:Math.round(ve)}}const v=(b.left+b.right)/2,A=(b.top+b.bottom)/2,k=e.preference?.alignX??v,I=e.selectionGap??e.fingerGap,R=b.top-e.height-I,M=b.bottom+I,B=e.preference?.vertical==="below"?M:R,F=e.preference?.vertical==="below"?R:M,W=[{left:u,top:l},{left:h,top:l},{left:u,top:p},{left:h,top:p}];e.preference&&W.sort((de,Ae)=>{const Le=ve=>{const Ye=ve.left+e.width/2,Te=ve.top+e.height/2;return Math.hypot(Ye-e.preference.focusX,Te-e.preference.focusY)};return Le(Ae)-Le(de)});const O=[{left:k-e.width/2,top:B},{left:v-e.width/2,top:B},{left:k-e.width/2,top:F},{left:v-e.width/2,top:F},{left:b.left-e.width-e.fingerGap,top:A-e.height/2},{left:b.right+e.fingerGap,top:A-e.height/2},...W].map(de=>({left:g(de.left),top:x(de.top)}));let q=O[0],ee=Number.POSITIVE_INFINITY;return O.forEach((de,Ae)=>{const Le={left:de.left,top:de.top,right:de.left+e.width,bottom:de.top+e.height},ve=(e.avoid??[]).reduce((Te,fe)=>Te+Jm(Le,fe),0),Ye=(ve>0?1e6:0)+ve*100+Jm(Le,b)*10+Ae*.01;Ye<ee&&(q=de,ee=Ye)}),{left:Math.round(q.left),top:Math.round(q.top)}}function nS(e){const t=e.willChange.split(",").map(s=>s.trim()),r=(s,i)=>!!(s&&s!==i);return r(e.transform,"none")||r(e.perspective,"none")||r(e.filter,"none")||r(e.backdropFilter,"none")||r(e.containerType,"normal")||e.contain.includes("layout")||e.contain.includes("paint")||e.contain.includes("strict")||e.contain.includes("content")||t.includes("transform")||t.includes("perspective")||t.includes("filter")}function sS(e){let t=e.parentElement;for(;t;){if(nS(window.getComputedStyle(t)))return t;t=t.parentElement}return null}function iS(e,t,r,s){const i=e.getBoundingClientRect();let u=0,l=0;if(t){const h=t.getBoundingClientRect();u=h.left+t.clientLeft,l=h.top+t.clientTop}return{x:i.left-u+r,y:i.top-l+s}}function oS(e,t){const r=e.replace(/\r?\n/g,"\r");return`\x1B[200~${(t&&r.endsWith("\r")?r.slice(0,-1):r).replace(/\x1b/g,"␛")}\x1B[201~${t?"\r":""}`}function aS(e,t,r){let s=0;for(;s<e.length&&s<t.length&&e[s]===t[s];)s+=1;let i=0;const u=e.length-s,l=t.length-s;for(;i<u&&i<l&&e[e.length-1-i]===t[t.length-1-i];)i+=1;const h=t.slice(s,t.length-i);return h&&(r==="insertFromPaste"||r==="insertFromPasteAsQuotation"||/[\r\n]/.test(h))?h:null}const eg=2,lS=new Set(["mount","init-fit","resize","dpr-change","session-key-change","session-reset","tmux-layout"]);function cS(e){const t=e.reason.replace(/^refresh:/,""),r=lS.has(t),s=Math.abs(e.proposedCols-e.currentCols),i=Math.abs(e.proposedRows-e.currentRows);return{accept:r?s>0||i>0:s>=eg||i>=eg,isRealResize:r,colsDelta:s,rowsDelta:i}}function uS(e){return e.before.cols!==e.after.cols||e.before.rows!==e.after.rows||e.lastServerSize===null||e.reconcileServerSize===!0&&(e.lastServerSize.cols!==e.after.cols||e.lastServerSize.rows!==e.after.rows)}function dS(e,t){return!e||t}function hS(e,t,r){return e!=="alternate"&&r>=t}function fS(e,t){return e?"none":t?"single":"settled"}function pS(e,t,r){return!r&&(e||t)}function mS(e,t){return e==="webgl"&&t}function gS(e){let t,r,s=!1,i=0;const u=e.parser.registerCsiHandler({prefix:"?",final:"l"},h=>(t&&h.some(p=>p===2026)&&(s=!0),!1)),l=h=>{const p=t;if(!p)return;const g=r;if(t=void 0,r=void 0,s=!1,p(),h){const x=e._core?._renderService?._renderer?.value;g&&x?.handleResize(...g),x?.renderRows(0,e.rows-1),e.refresh(0,e.rows-1)}};return{begin(){if(i++,s=!1,t)return;const h=e._core?._renderService?._renderer?.value;if(!h||typeof h.handleResize!="function"||typeof h.renderRows!="function"||typeof h.clear!="function")return;const p=h.handleResize,g=h.renderRows,x=h.clear;h.handleResize=(b,v)=>{r=[b,v]},h.renderRows=()=>{},h.clear=()=>{},t=()=>{h.handleResize=p,h.renderRows=g,h.clear=x}},get generation(){return i},written(h){h===i&&s&&!e.modes.synchronizedOutputMode&&l(!0)},cancel(){l(!0)},dispose(){l(!1),u.dispose()}}}function Hh(){return{confirmed:null,pending:null,nextSeq:1}}function tg(e,t){return e?.cols===t.cols&&e.rows===t.rows}function Mp(e,t,r){const s={...t,seq:e.nextSeq,attempt:r};return{state:{...e,pending:s,nextSeq:e.nextSeq+1},request:s}}function xS(e,t){return tg(e.pending,t)||!e.pending&&tg(e.confirmed,t)?{state:e,request:null}:Mp(e,t,0)}function bS(e,t){return Mp(e,t,0)}function yS(e,t){const r=e.pending;if(!r||t.seq!==r.seq)return{state:e,accepted:!1};const s=t.ok&&Number.isFinite(t.cols)&&Number.isFinite(t.rows)&&(t.cols??0)>0&&(t.rows??0)>0?{cols:Math.floor(t.cols),rows:Math.floor(t.rows)}:null;return{state:{...e,confirmed:s,pending:null},accepted:!0}}function rg(e,t,r=1){const s=e.pending;return!s||s.seq!==t?{state:e,request:null,exhausted:!1}:s.attempt>=r?{state:{...e,confirmed:null,pending:null},request:null,exhausted:!0}:{...Mp(e,s,s.attempt+1),exhausted:!1}}function vS(e,t){return!Number.isFinite(t.cols)||!Number.isFinite(t.rows)||t.cols<=0||t.rows<=0?e:{...e,confirmed:{cols:Math.floor(t.cols),rows:Math.floor(t.rows)}}}function wS(e){return{...e,pending:null}}const Hf="termdock-settings",AS=6,TS=100,SS='"calt" on',CS=["<--","<---","<<-","<-","->","->>","-->","--->","<==","<===","<<=","<=","=>","=>>","==>","===>",">=",">>=","<->","<-->","<--->","<---->","<=>","<==>","<===>","<====>","::",":::","<~~","</","</>","/>","~~>","==","!=","/=","~=","<>","===","!==","!==","<:",":=","*=","*+","<*","<*>","*>","<|","<|>","|>","+*","=*","=:",":>","/*","*/","+++","<!--","<!---"];function _S(){if(typeof window>"u")return 13;const e=window.matchMedia("(max-width: 767px)").matches,t=window.matchMedia("(pointer: coarse)").matches;return e||t?10:13}function Np(){return{fontFamily:"var(--font-mono)",fontSize:_S(),rendererMode:"auto",fontWeight:"normal",fontWeightBold:"bold",letterSpacing:1,lineHeight:1.05,minimumContrastRatio:4.5,drawBoldTextInBrightColors:!0,unicodeVersion:"11",customGlyphs:!0,rescaleOverlappingGlyphs:!1,fontLigatures:!0,enableImages:!0,smoothScrolling:!0}}function Eu(e,t,r,s){return typeof e=="number"&&Number.isFinite(e)?Math.max(t,Math.min(r,e)):s}function ng(e,t){return e==="normal"||e==="bold"?e:typeof e=="number"&&Number.isFinite(e)?Math.max(1,Math.min(1e3,Math.round(e))):t}function D0(e){const t=Np(),r=e&&typeof e=="object"?e:{},s=r.rendererMode??r.renderer;return{fontFamily:typeof r.fontFamily=="string"&&r.fontFamily.trim()?r.fontFamily.trim():t.fontFamily,fontSize:Eu(r.fontSize,AS,TS,t.fontSize),rendererMode:s==="auto"||s==="webgl"||s==="canvas"?s:t.rendererMode,fontWeight:ng(r.fontWeight,t.fontWeight),fontWeightBold:ng(r.fontWeightBold,t.fontWeightBold),letterSpacing:Math.round(Eu(r.letterSpacing,-5,10,t.letterSpacing)),lineHeight:Eu(r.lineHeight,1,2,t.lineHeight),minimumContrastRatio:Eu(r.minimumContrastRatio,1,21,t.minimumContrastRatio),drawBoldTextInBrightColors:t.drawBoldTextInBrightColors,unicodeVersion:t.unicodeVersion,customGlyphs:t.customGlyphs,rescaleOverlappingGlyphs:t.rescaleOverlappingGlyphs,fontLigatures:t.fontLigatures,enableImages:t.enableImages,smoothScrolling:t.smoothScrolling}}function Ru(e){return e.pointerType==="touch"||e.pointerType==="pen"}class LS{handlers=new Map;active=new Map;pointerStates=new Map;sorted=[];sortedDirty=!1;listenersRegistered=!1;changeListeners=new Set;constructor(){this.ensureListeners()}register(t){return this.handlers.has(t.name)&&this.log("replace",t.name),this.handlers.set(t.name,t),this.sortedDirty=!0,this.log("register",t.name,`prio=${t.priority}`),()=>{this.unregister(t.name)}}unregister(t){this.handlers.delete(t),this.sortedDirty=!0;for(const[r,s]of this.active)s===t&&(this.active.delete(r),this.pointerStates.delete(r));this.log("unregister",t)}getHandlers(){return this.sortedHandlers().map(t=>({name:t.name,priority:t.priority,hasContainer:t.container!=null}))}getClaimedHandler(t){return this.active.get(t)??null}isClaimedBy(t,r){return this.active.get(t)===r}isAnyPointerClaimed(){return this.active.size>0}onChange(t){return this.changeListeners.add(t),()=>{this.changeListeners.delete(t)}}emitChange(t,r,s){this.changeListeners.size!==0&&this.changeListeners.forEach(i=>{try{i({type:t,pointerId:r,handler:s})}catch{}})}log(t,r,s=""){if(typeof window<"u"&&window.__TERMDOCK_GESTURE_DEBUG__){const i=performance.now().toFixed(0);console.debug(`[GestureManager ${i}] ${t} ${r} ${s}`)}}sortedHandlers(){return this.sortedDirty&&(this.sorted=[...this.handlers.values()].sort((t,r)=>r.priority-t.priority),this.sortedDirty=!1),this.sorted}ensureListeners(){this.listenersRegistered||(this.listenersRegistered=!0,document.addEventListener("pointerdown",this.handlePointerDown,{capture:!0,passive:!1}),document.addEventListener("pointermove",this.handlePointerMove,{capture:!0,passive:!1}),document.addEventListener("pointerup",this.handlePointerUp,{capture:!0,passive:!1}),document.addEventListener("pointercancel",this.handlePointerCancel,{capture:!0,passive:!1}))}handlePointerDown=t=>{if(!Ru(t))return;const r={pointerId:t.pointerId,startX:t.clientX,startY:t.clientY,startTime:performance.now()};this.pointerStates.set(t.pointerId,r);let s=!1;for(const i of this.sortedHandlers()){if(!this.handlerMatchesContainer(i,t)){this.log("skip-container",i.name);continue}i.onPointerDown(t,r)&&!s&&(this.active.set(t.pointerId,i.name),s=!0,this.log("claim",i.name,`pid=${t.pointerId} onPointerDown`),this.emitChange("claim",t.pointerId,i.name))}s&&t.preventDefault()};handlePointerMove=t=>{if(!Ru(t)||!this.pointerStates.has(t.pointerId))return;let r=!1;for(const s of this.sortedHandlers()){if(!this.handlerMatchesContainer(s,t))continue;const i=this.active.get(t.pointerId)===s.name,u=s.onPointerMove(t,i);if(u==="claim"&&!r){const l=this.active.get(t.pointerId)??null;this.active.set(t.pointerId,s.name),r=!0,t.preventDefault(),l&&l!==s.name&&this.log("handoff",`${l}->${s.name}`,`pid=${t.pointerId}`),this.log("claim",s.name,`pid=${t.pointerId} onPointerMove`),this.emitChange("claim",t.pointerId,s.name)}if(u==="release"&&i&&!r){const l=this.active.get(t.pointerId);this.active.delete(t.pointerId),this.log("release",s.name,`pid=${t.pointerId}`),this.emitChange("release",t.pointerId,l??null)}}};handlePointerUp=t=>{if(!Ru(t))return;for(const s of this.sortedHandlers())this.handlerMatchesContainer(s,t)&&s.onPointerUp(t);const r=this.active.get(t.pointerId)??null;this.active.delete(t.pointerId),this.pointerStates.delete(t.pointerId),this.emitChange("complete",t.pointerId,r)};handlePointerCancel=t=>{if(!Ru(t))return;for(const s of this.sortedHandlers())this.handlerMatchesContainer(s,t)&&s.onPointerCancel(t);const r=this.active.get(t.pointerId)??null;this.active.delete(t.pointerId),this.pointerStates.delete(t.pointerId),this.emitChange("complete",t.pointerId,r)};handlerMatchesContainer(t,r){return t.container?t.container.contains(r.target):!0}}const N3=new LS,IS=90,kS=80,ES=70,RS=(e,t)=>{const{scrollMultiplier:r=1.2,maxScrollBoost:s=.8,boostDenominator:i=50,velocityAlpha:u=.15,maxVelocity:l=15,minVelocity:h=.3,decelerationRate:p=.998,enableKinetic:g=!0,shouldCaptureTouch:x,canStartScrollGesture:b,onScroll:v,onScrollWithCoords:A,onTap:k,onClickWithCoords:I,onClaimChange:R,tapThreshold:M=10,gestureName:B="normal-scroll"}=t,F=1.06,W=S.useRef({lastY:null,lastTime:null,velocity:0,rafId:null,startX:null,startY:null,didMove:!1,pointerId:null,isCurrentlyScrolling:!1,gestureAxis:null}),O=S.useRef(0),q=S.useRef(0),ee=S.useRef(0),de=S.useRef(null),Ae=S.useRef(0),Le=S.useRef(!1),ve=S.useCallback(()=>typeof performance<"u"?performance.now():Date.now(),[]),Ye=S.useCallback(()=>{de.current=null,O.current!==0&&(A&&q.current>0&&ee.current>0?A(O.current,q.current,ee.current):v&&v(O.current),O.current=0,q.current=0,ee.current=0)},[v,A]),Te=S.useCallback(()=>{de.current===null&&typeof window<"u"&&(de.current=window.requestAnimationFrame(Ye))},[Ye]),fe=S.useCallback((Ue,Z,rt)=>{O.current+=Ue,Z!==void 0&&rt!==void 0&&(q.current=Z,ee.current=rt),Te()},[Te]),je=S.useCallback(Ue=>{if(!Ue||!v)return!1;const Z=v(Ue);return Z?Ae.current=0:Ae.current++,Z},[v]),be=S.useCallback(Ue=>{Le.current!==Ue&&(Le.current=Ue,R?.(Ue))},[R]),ie=S.useCallback(()=>{const Ue=W.current;Ue.rafId!==null&&typeof window<"u"&&window.cancelAnimationFrame(Ue.rafId),Ue.rafId=null,de.current!==null&&typeof window<"u"&&window.cancelAnimationFrame(de.current),de.current=null,O.current=0},[]),oe=S.useRef(k);oe.current=k;const Ie=S.useRef(I);Ie.current=I;const ke=S.useRef(x);ke.current=x;const qe=S.useCallback(()=>{const Ue=e.current;if(!Ue||!("PointerEvent"in window))return()=>{};const Z=W.current,rt={name:B,priority:ES,get container(){return e.current??void 0},onPointerDown:(K,Fe)=>(K.pointerType!=="touch"||(Z.pointerId=K.pointerId,Z.startX=Fe.startX,Z.startY=Fe.startY,Z.didMove=!1,Z.gestureAxis=null,Z.lastY=K.clientY,Z.lastTime=ve(),Z.velocity=0,ie()),!1),onPointerMove:(K,Fe)=>{if(K.pointerType!=="touch"||Z.pointerId!==K.pointerId||!Z.lastY||!Z.lastTime)return"neutral";const Je=K.clientX,vt=K.clientY,xt=ve(),Ct=xt-Z.lastTime,he=vt-Z.lastY;if(Z.startX!==null&&Z.startY!==null){const De=Je-Z.startX,At=vt-Z.startY;if(!Z.didMove&&Math.hypot(De,At)>=M&&(Z.didMove=!0),Z.gestureAxis===null&&Z.didMove){const Ke=Math.abs(De),at=Math.abs(At);Ke>at*F?Z.gestureAxis="x":at>Ke*F&&(Z.gestureAxis="y")}if(Z.gestureAxis==="x")return Z.isCurrentlyScrolling=!1,be(!1),Z.lastY=vt,Z.lastTime=xt,Fe?"release":"neutral";if(Z.gestureAxis===null)return Z.lastY=vt,Z.lastTime=xt,"neutral"}if(Z.gestureAxis==="y"&&!Fe&&!(b?.()??!0))return Z.lastY=vt,Z.lastTime=xt,be(!1),"neutral";const xe=he/Math.max(Ct,1);if(Z.velocity=Z.velocity*(1-u)+xe*u,Z.velocity=Math.max(-l,Math.min(l,Z.velocity)),Math.abs(he)>1){if(!Fe)return be(!0),Z.lastY=vt,Z.lastTime=xt,"claim";Z.isCurrentlyScrolling=!0;const De=r+Math.min(s,Math.abs(he)/i),At=-he*De;fe(At,Je,vt),be(!0)}return Z.lastY=vt,Z.lastTime=xt,Fe?"claim":"neutral"},onPointerUp:K=>{if(K.pointerType!=="touch"||Z.pointerId!==K.pointerId)return;const Fe=Z.isCurrentlyScrolling;Z.isCurrentlyScrolling=!1,be(!1);const Je=Z.rafId!==null||de.current!==null;!Z.didMove&&!Je&&Z.startX!==null&&Z.startY!==null&&oe.current?.(Z.startX,Z.startY),!Z.didMove&&!Je&&Z.startX!==null&&Z.startY!==null&&Ie.current?.(Z.startX,Z.startY),Z.pointerId=null,Z.startX=null,Z.startY=null;const vt=Z.gestureAxis==="x";if(Z.gestureAxis=null,g&&Fe&&!vt&&Math.abs(Z.velocity)>h&&Z.didMove){const xt=()=>{const Ct=ve(),he=Ct-(Z.lastTime||Ct);if(Z.lastTime=Ct,Z.velocity*=Math.pow(p,he),Math.abs(Z.velocity)<h){Z.velocity=0,ie();return}if(!je(-Z.velocity*he)&&Ae.current>2){Z.velocity=0,ie();return}Z.rafId=requestAnimationFrame(xt)};Z.rafId=requestAnimationFrame(xt)}},onPointerCancel:K=>{K.pointerType!=="touch"||Z.pointerId!==K.pointerId||(Z.isCurrentlyScrolling=!1,be(!1),Z.pointerId=null,Z.startX=null,Z.startY=null,Z.gestureAxis=null,ie())}},gt=N3.register(rt),J=Ue.style.touchAction;return Ue.style.touchAction="none",()=>{be(!1),gt(),Ue.style.touchAction=J,ie()}},[e,B,r,s,i,u,l,h,p,ve,ie,je,fe,M,g,be,b]),se=S.useCallback(()=>{const Ue=e.current;if(!Ue)return()=>{};const Z=W.current,rt=Fe=>{Fe.touches.length===1&&((x?.()??!0)&&Fe.cancelable&&Fe.preventDefault(),Z.isCurrentlyScrolling=!1,Z.gestureAxis=null,Z.lastY=Fe.touches[0].clientY,Z.startX=Fe.touches[0].clientX,Z.startY=Fe.touches[0].clientY,Z.didMove=!1,Z.velocity=0,ie())},gt=Fe=>{if(Fe.touches.length!==1)return;const Je=Fe.touches[0].clientX,vt=Fe.touches[0].clientY;if(Z.startX!==null&&Z.startY!==null){const Ct=Je-Z.startX,he=vt-Z.startY;if(!Z.didMove&&Math.hypot(Ct,he)>=M&&(Z.didMove=!0),Z.gestureAxis===null&&Z.didMove){const xe=Math.abs(Ct),De=Math.abs(he);xe>De*F?Z.gestureAxis="x":De>xe*F&&(Z.gestureAxis="y")}if(Z.gestureAxis==="x"){Z.isCurrentlyScrolling=!1,Z.lastY=vt;return}if(Z.gestureAxis===null){(x?.()??!1)&&Fe.cancelable&&Fe.preventDefault(),Z.lastY=vt;return}}if(Fe.preventDefault(),!Z.lastY){Z.lastY=vt;return}const xt=vt-Z.lastY;if(Math.abs(xt)>1){Z.isCurrentlyScrolling=!0;const Ct=r+Math.min(s,Math.abs(xt)/i),he=-xt*Ct;fe(he,Je,vt)}Z.lastY=vt},J=Fe=>{if(!Fe.changedTouches?.[0])return;const vt=Z.isCurrentlyScrolling;Z.isCurrentlyScrolling=!1;const xt=Z.rafId!==null||de.current!==null;!Z.didMove&&!xt&&k&&Z.startX!==null&&Z.startY!==null&&k(Z.startX,Z.startY),!Z.didMove&&!xt&&I&&Z.startX!==null&&Z.startY!==null&&I(Z.startX,Z.startY),Z.startX=null,Z.startY=null;const Ct=Z.gestureAxis==="x";if(Z.gestureAxis=null,g&&vt&&!Ct&&Z.didMove&&Math.abs(Z.velocity)>h){const he=()=>{if(Z.velocity*=Math.pow(p,16),Math.abs(Z.velocity)<h){Z.velocity=0,ie();return}if(!je(-Z.velocity*16)&&Ae.current>2){Z.velocity=0,ie();return}Z.rafId=requestAnimationFrame(he)};Z.rafId=requestAnimationFrame(he)}};Ue.addEventListener("touchstart",rt,{passive:!1}),Ue.addEventListener("touchmove",gt,{passive:!1}),Ue.addEventListener("touchend",J,{passive:!1}),Ue.addEventListener("touchcancel",J,{passive:!1});const K=Ue.style.touchAction;return Ue.style.touchAction="none",()=>{Ue.removeEventListener("touchstart",rt),Ue.removeEventListener("touchmove",gt),Ue.removeEventListener("touchend",J),Ue.removeEventListener("touchcancel",J),Ue.style.touchAction=K,ie()}},[e,r,s,i,h,p,ie,je,fe,k,I,M,x,g]),Se=S.useCallback(()=>{ie();const Ue=typeof window<"u"&&"PointerEvent"in window,Z=Ue?qe():()=>{},rt=Ue?()=>{}:se();return()=>{Z(),rt(),ie()}},[qe,se,ie]),Lt=S.useCallback(()=>W.current.isCurrentlyScrolling||W.current.rafId!==null||de.current!==null,[]),Dt=S.useCallback(()=>{ie();const Ue=W.current;Ue.isCurrentlyScrolling=!1,Ue.velocity=0,Ue.lastY=null,Ue.lastTime=null,Ue.startX=null,Ue.startY=null,Ue.pointerId=null,Ue.didMove=!1,Ue.gestureAxis=null},[ie]);return{setupTouchScroll:Se,isScrolling:Lt,stopAllScroll:Dt}};function sg(e){const{name:t,priority:r}=e,s=_.useRef(e.onPointerDown),i=_.useRef(e.onPointerMove),u=_.useRef(e.onPointerUp),l=_.useRef(e.onPointerCancel),h=_.useRef(e.container);s.current=e.onPointerDown,i.current=e.onPointerMove,u.current=e.onPointerUp,l.current=e.onPointerCancel,h.current=e.container,_.useEffect(()=>{const p={name:t,priority:r,get container(){const x=h.current;return typeof x=="function"?x():x},onPointerDown(x,b){return s.current?.(x,b)??!1},onPointerMove(x,b){return i.current?.(x,b)??"neutral"},onPointerUp(x){u.current?.(x)},onPointerCancel(x){l.current?.(x)}};return N3.register(p)},[t,r])}var Es;(function(e){e.Light="light",e.Medium="medium",e.Heavy="heavy",e.Success="success",e.Warning="warning",e.Error="error"})(Es||(Es={}));Es.Light,Es.Medium,Es.Heavy,Es.Success,Es.Warning,Es.Error;Es.Light,Es.Medium,Es.Heavy,Es.Success,Es.Warning,Es.Error;Es.Light,Es.Medium,Es.Heavy,Es.Success,Es.Warning,Es.Error;const MS=()=>typeof navigator<"u"&&typeof navigator.vibrate=="function",NS=()=>typeof document<"u"&&!!document.body,DS=()=>{if(NS())try{const e=document.createElement("label");e.setAttribute("aria-hidden","true"),e.style.cssText="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;";const t=document.createElement("input");t.type="checkbox",t.setAttribute("switch",""),e.appendChild(t),document.body.appendChild(e),e.click(),document.body.removeChild(e)}catch{}},ig=e=>Array.isArray(e)?[...e]:[e],BS=e=>{if(MS()){try{const i=ig(e),u=i.length===1?i[0]:i;navigator.vibrate(u)}catch{}return}const t=ig(e),r=Array.from({length:Math.ceil(t.length/2)},(i,u)=>[t[u*2]??0,t[u*2+1]??0]);let s=0;for(const[i,u]of r)i>0&&setTimeout(DS,s),s+=i+u},Jo=e=>BS(e),QS=({message:e})=>{const{t}=ln();return c.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:c.jsxs("div",{className:"rounded-full bg-surface-2 px-4 py-2 flex items-center gap-3 shadow-sm",children:[c.jsx("div",{className:"w-5 h-5 border-2 border-primary/30 border-t-primary rounded-full animate-spin"}),c.jsx("span",{className:"text-sm text-muted-foreground",children:e??t("terminal.loading")})]})})},jS=()=>{const{t:e}=ln();return c.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:c.jsxs("div",{className:"rounded-full bg-surface-2 px-4 py-2 flex items-center gap-3 shadow-sm",children:[c.jsx("div",{className:"w-5 h-5 border-2 border-primary/30 border-t-primary rounded-full animate-spin"}),c.jsx("span",{className:"text-sm text-muted-foreground",children:e("terminal.initializing")})]})})},PS=({message:e,onRetry:t})=>{const{t:r}=ln();return c.jsx("div",{className:"absolute inset-0 flex items-center justify-center p-4",children:c.jsxs("div",{className:"flex flex-col items-center gap-3 text-center max-w-md",children:[c.jsx("div",{className:"w-12 h-12 rounded-full bg-destructive/10 flex items-center justify-center",children:c.jsxs("svg",{className:"w-6 h-6 text-destructive",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,role:"img","aria-label":r("terminal.error"),children:[c.jsx("title",{children:r("terminal.error")}),c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"})]})}),c.jsxs("div",{className:"space-y-1",children:[c.jsx("h3",{className:"font-medium text-foreground",children:r("terminal.failedToLoad")}),c.jsx("p",{className:"text-sm text-muted-foreground",children:e||r("terminal.unknownError")})]}),t&&c.jsx("button",{type:"button",onClick:t,className:"mt-2 px-5 py-2.5 bg-primary text-primary-foreground text-sm font-medium rounded-full hover:bg-primary/90 active:scale-[0.97] transition-all shadow-sm",children:r("common.retry")})]})})};function td(e){return Array.from(e)}function og(e,t,r){return Math.max(t,Math.min(r,e))}function OS(e,t,r,s){const i=td(e),u=td(t);let l=og(r,0,i.length);const h=og(s,0,u.length);let p=0;for(;p<i.length&&p<u.length&&i[p]===u[p];)p++;let g=0;for(;g<i.length-p&&g<u.length-p&&i[i.length-1-g]===u[u.length-1-g];)g++;const x=i.length-p-g,b=u.slice(p,u.length-g).join(""),v=[];if(x>0||b){const A=p+x;l>A?v.push({left:l-A}):l<A&&v.push({right:A-l}),l=A,x>0&&(v.push({backspace:x}),l=p),b&&(v.push({insert:b}),l+=td(b).length)}return l>h?v.push({left:l-h}):l<h&&v.push({right:h-l}),l=h,{ops:v,cursor:l}}function ag(e){const t=e.value,r=e.selectionStart??t.length;return td(t.slice(0,r)).length}const dd=16,FS=10,lg=1.5,US=1.8,cg=240,$S=125,zS=92;function HS(e,t,r){const s=Math.hypot(e,t),i=Math.abs(e),u=Math.abs(t),l=()=>i>=u*lg?e>0?"right":"left":u>=i*lg?t>0?"down":"up":"";if(r==="")return s>dd?l():"";if(s<FS)return"";if(s<=dd)return r;const h=l();if(h===""||h===r)return r;if(r==="left"&&h==="right"||r==="right"&&h==="left"||r==="up"&&h==="down"||r==="down"&&h==="up")return h;const g=r==="left"||r==="right";return(g?u:i)>=(g?i:u)*US?h:r}function WS(e){const t=zS-dd,r=Math.min(Math.max((e-dd)/t,0),1);return cg-r*(cg-$S)}const GS="termdock-open-terminal-directory",ug=/(?:\\[ \t]|[^\s`"'<>|()[\]{}=,:;!?])+/gu,VS=/[,;:!?]+$/u,qS=/^[a-z][a-z\d+.-]*:\/\//iu;function ZS(e){return!e||e==="/"||qS.test(e)||e.startsWith("//")?!1:e.startsWith("/")||e.startsWith("~/")||e.startsWith("./")||e.startsWith("../")?!0:e.endsWith("/")||/^[^/:]+\/[^/:]+\/(?:[^/:]+\/?)+$/u.test(e)}function YS(e){const t=[];ug.lastIndex=0;let r;for(;(r=ug.exec(e))!==null;){const i=r[0].replace(VS,"");ZS(i)&&t.push({text:i,startIndex:r.index,endIndex:r.index+i.length})}return t}function Wh(e){const t=[];for(const r of e.split("/"))!r||r==="."||(r===".."?t.pop():t.push(r));return`/${t.join("/")}`}function KS(e){return e.match(/^\/(?:home|Users)\/[^/]+/u)?.[0]??null}function XS(e,t){const r=e.replace(/\\([ \t])/gu,"$1").replace(/\/+$/u,"")||"/";if(r.startsWith("/"))return Wh(r);if(r==="~"||r.startsWith("~/")){const s=t?KS(t):null;return s?Wh(`${s}/${r.slice(2)}`):null}return t?.startsWith("/")?Wh(`${t}/${r}`):null}function JS(e,t){const r=e.buffer.active;let s=t-1;if(!r.getLine(s))return null;for(;s>0&&r.getLine(s)?.isWrapped;)s-=1;let i=t-1;for(;i+1<r.length&&r.getLine(i+1)?.isWrapped;)i+=1;let u="";const l=[],h=[];for(let g=s;g<=i&&u.length<=2048;g+=1){const x=r.getLine(g);if(!x)break;for(let b=0;b<x.length;b+=1){const v=x.getCell(b);if(!v||v.getWidth()===0)continue;const A=v.getChars()||" ";u+=A;for(let k=0;k<A.length;k+=1)l.push({x:b+1,y:g+1}),h.push({x:b+Math.max(1,v.getWidth()),y:g+1})}}const p=u.trimEnd().length;return{text:u.slice(0,p),startPositions:l.slice(0,p),endPositions:h.slice(0,p)}}function eC(e,t){return{provideLinks(r,s){const i=JS(e,r);if(!i){s(void 0);return}const u=YS(i.text).map(l=>({text:l.text,range:{start:i.startPositions[l.startIndex]??{x:l.startIndex+1,y:r},end:i.endPositions[l.endIndex-1]??{x:l.endIndex,y:r}},activate:()=>t(l.text)}));s(u.length>0?u:void 0)}}}function dg(e,t){if(!e||e.lines.length===0||!Number.isFinite(t)||t<=0)return 0;const r=Math.floor(t),s=Number.isFinite(e.lines.maxLength)&&e.lines.maxLength>0?Math.floor(e.lines.maxLength):null;let i=0;if(s!==null){const p=Math.max(0,s-r);e.ybase>p&&(e.ybase=p,Number.isFinite(e.ydisp)&&(e.ydisp=Math.min(e.ydisp,p)),i++)}let u=Math.max(0,Math.floor(e.ybase)+r),l=s===null?u:Math.min(u,s),h=Math.max(0,l-e.lines.length);if(h>r){const p=Math.max(0,e.lines.length-r);e.ybase>p&&(e.ybase=p,Number.isFinite(e.ydisp)&&(e.ydisp=Math.min(e.ydisp,p)),i++),u=Math.max(0,Math.floor(e.ybase)+r),l=s===null?u:Math.min(u,s),h=Math.max(0,l-e.lines.length)}for(let p=0;p<h;p++){const g=e.lines.length;if(e.lines.push(e.getBlankLine(void 0)),e.lines.length<=g)break;i++}return i}function hg(e,t=e.rows){const s=e._core?._bufferService?.buffers;return s?dg(s.normal,t)+dg(s.alt,t):0}function Mu(e){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:0}function tC(e,t,r){const s=Mu(e.fontBoundingBoxAscent)+Mu(e.fontBoundingBoxDescent),i=Mu(e.actualBoundingBoxAscent)+Mu(e.actualBoundingBoxDescent);return Math.max(1,Math.floor(Math.ceil(s||i||t)*r))}const jl=8,Nu=36,fg=10,rC=1.08,nC=1.16,Du=6,sC=.94,iC=.08,oC=.12,aC=88,lC=36,cC=10,uC=14,dC=52;function yc(e){return e?e.replace(/\r\n|\r|\n/g,"\r").replace(/[\u00A0\u1680\u2000-\u200A\u202F\u205F\u3000]/g," ").replace(/[\u200B-\u200D\uFEFF]/g,""):""}const hC=80,fC=8,pg={F1:"\x1BOP",F2:"\x1BOQ",F3:"\x1BOR",F4:"\x1BOS",F5:"\x1B[15~",F6:"\x1B[17~",F7:"\x1B[18~",F8:"\x1B[19~",F9:"\x1B[20~",F10:"\x1B[21~",F11:"\x1B[23~",F12:"\x1B[24~"};function Al(e,t){return e.modes?.applicationCursorKeysMode===!0?`\x1BO${t}`:`\x1B[${t}`}function pC(e,t){switch(e.key){case"ArrowUp":return Al(t,"A");case"ArrowDown":return Al(t,"B");case"ArrowRight":return Al(t,"C");case"ArrowLeft":return Al(t,"D");case"Home":return"\x1B[H";case"End":return"\x1B[F";case"PageUp":return"\x1B[5~";case"PageDown":return"\x1B[6~";case"Insert":return"\x1B[2~";case"Delete":return"\x1B[3~";case"Tab":return" ";case"Escape":return"\x1B";default:return pg[e.key]?pg[e.key]:null}}function mC(e){return e.nativeEvent.isComposing||e.isComposing===!0||e.keyCode===229}function gC(e){try{const t=atob(e),r=Uint8Array.from(t,s=>s.charCodeAt(0));return new TextDecoder("utf-8").decode(r)}catch{return null}}function xC(e){const t="\x1B]52;";let r=0,s="";for(;r<e.length;){const i=e.indexOf(t,r);if(i===-1)return s+=e.slice(r),{cleaned:s,remainder:""};s+=e.slice(r,i);let u=-1,l=1;for(let g=i+t.length;g<e.length;g+=1){const x=e.charCodeAt(g);if(x===7){u=g,l=1;break}if(x===27&&g+1<e.length&&e[g+1]==="\\"){u=g,l=2;break}}if(u===-1)return{cleaned:s,remainder:e.slice(i)};const h=e.slice(i+t.length,u),p=h.indexOf(";");if(p>=0){const g=h.slice(p+1);if(g&&g!=="?"){const x=gC(g);x!==null&&navigator.clipboard?.writeText(x).catch(()=>{})}}r=u+l}return{cleaned:s,remainder:""}}function bC(e){if(typeof window>"u")return null;const t=[e,...Array.from(e.querySelectorAll("*"))];let r=null;for(const s of t){const u=window.getComputedStyle(s).overflowY;if(!(u!=="auto"&&u!=="scroll")){if(s.scrollHeight-s.clientHeight>2)return s;r||(r=s)}}return r}const yC=new Set(["visibility","bfcache","online"]),vC=5e5,wC=1e5,vc=260,wc=140,mg=80;function AC(e){return!e}let v0=null;const TC=[{font:'400 13px "Termdock Mono"',text:"Termdock 0123456789 ~!@#$%^&*()[]{}"},{font:'700 13px "Termdock Mono"',text:"Termdock 0123456789 ~!@#$%^&*()[]{}"},{font:'400 13px "Noto Sans Mono CJK SC"',text:"终端中文路径"},{font:'700 13px "Noto Sans Mono CJK SC"',text:"终端中文路径"},{font:'400 13px "Termdock Star Symbol"',text:"✦✧"},{font:'400 13px "Noto Sans Symbols 2"',text:"⏺⏸⏹✓✗"}],SC=()=>{if(v0)return v0;if(typeof document>"u"||!("fonts"in document))return v0=Promise.resolve(),v0;const e=document.fonts;return v0=Promise.allSettled(TC.map(({font:r,text:s})=>e.load(r,s))).then(()=>e.ready).then(()=>{}).catch(()=>{}),v0},gg=e=>{if((!e||e.includes("var("))&&typeof window<"u"){const t=getComputedStyle(document.documentElement).getPropertyValue("--font-mono").trim();if(t)return t}return e};function xg(e){return e==="normal"||e==="bold"?e:Math.max(1,Math.min(1e3,Math.round(e)))}function Pl(e,t,r){const s=e?.dimensions?.css.cell.height;return Math.max(8,Math.round(s||t*r))}function CC(e){return{background:e.background,foreground:e.foreground,cursor:e.cursor||e.foreground,cursorAccent:e.cursorAccent||e.background,selectionBackground:e.selectionBackground||"rgba(0, 0, 0, 0.3)",selectionForeground:e.selectionForeground||e.foreground,black:e.black||"#6F6E69",red:e.red||"#AF3029",green:e.green||"#66800B",yellow:e.yellow||"#AD8301",blue:e.blue||"#205EA6",magenta:e.magenta||"#A02F6F",cyan:e.cyan||"#24837B",white:e.white||"#CECDC3",brightBlack:e.brightBlack||"#6F6E69",brightRed:e.brightRed||"#D14D41",brightGreen:e.brightGreen||"#879A39",brightYellow:e.brightYellow||"#D0A215",brightBlue:e.brightBlue||"#4385BE",brightMagenta:e.brightMagenta||"#CE5D97",brightCyan:e.brightCyan||"#3AA99F",brightWhite:e.brightWhite||"#FFFCF0"}}const bg=new Map;function _C(e,t,r,s,i){if(typeof window>"u"||typeof document>"u")return null;const u=e.getBoundingClientRect();if(u.width<24||u.height<24)return null;const l=window.devicePixelRatio||1,h=`${r}::${s}::${i}::${l}::${t}`;let p=bg.get(h);if(!p)try{const v=document.createElement("canvas").getContext("2d");if(!v)return null;v.font=`${r}px ${t}`;const A=v.measureText("M"),I=(Math.floor(A.width*l)+Math.round(s))/l,R=tC(A,r,i);I>=1&&R>=1&&(p={cellWidth:I,cellHeight:R},bg.set(h,p))}catch{return null}if(!p)return null;const g=Math.max(2,Math.floor(u.width/p.cellWidth)),x=Math.max(2,Math.floor(u.height/p.cellHeight));return!Number.isFinite(g)||!Number.isFinite(x)?null:{cols:g,rows:x}}async function yg(e){if(!e)return!1;try{if(!navigator.clipboard?.writeText)throw new Error("Clipboard API unavailable");return await navigator.clipboard.writeText(e),!0}catch{try{const t=document.createElement("textarea");t.value=e,t.setAttribute("readonly",""),t.style.position="fixed",t.style.left="-9999px",t.style.top="0",document.body.appendChild(t),t.select();const r=document.execCommand("copy");return t.remove(),r}catch{return!1}}}function LC(e){const t=e.buffer.active,r=t.viewportY,s=Math.min(t.length,r+e.rows),i=[];for(let u=r;u<s;u+=1){const l=t.getLine(u);l&&i.push(l.translateToString(!0))}return i.join(`
64
+ `).replace(/\s+$/g,"")}function Ac(e,t,r){const s=Vl(e);if(!s)return null;const i=Math.max(0,Math.min(e.cols-1,Math.floor((t-s.originLeft)/s.cellW))),u=Math.max(0,Math.min(e.rows-1,Math.floor((r-s.originTop)/s.cellH)));return{col:i,row:e.buffer.active.viewportY+u}}function Gh(e,t,r){const s=t.row*e.cols+t.col,i=r.row*e.cols+r.col;if(s===i)return e.clearSelection(),!1;const u=Math.min(s,i),l=Math.max(s,i)+1,h=u%e.cols,p=Math.floor(u/e.cols);return e.select(h,p,l-u),!0}function vg(e){if(typeof document>"u")return 0;const t=Number.parseFloat(getComputedStyle(document.documentElement).getPropertyValue(e)||"0");return Number.isFinite(t)?t:0}function IC(e,t,r,s,i=!0){if(typeof window>"u")return{left:0,top:0};const u=window.visualViewport,l=u?.offsetLeft??0,h=u?.offsetTop??0,p=u?.width??window.innerWidth,g=u?.height??window.innerHeight,x=vg("--safe-top-inset"),b=vg("--safe-bottom-inset"),v=s?tS(s.terminal,s.anchor,s.focus):null,A=[];let k;if(i&&A.push({left:e-32,top:t-32,right:e+32,bottom:t+32}),s){const R=Vl(s.terminal),{start:M,end:B}=ud(s.anchor,s.focus,s.terminal.cols),F=ed(s.terminal,M),W=ed(s.terminal,B);if(F&&A.push({left:F.x-24,top:F.y-48,right:F.x+24,bottom:F.y+4}),W&&R){const O=W.y+R.cellH;A.push({left:W.x-24,top:O-4,right:W.x+24,bottom:O+48})}if(v){const O=s.anchor.row*s.terminal.cols+s.anchor.col,q=s.focus.row*s.terminal.cols+s.focus.col,ee=O<=q,de=v.right-v.left,Le=s.anchor.row===s.focus.row?ee?v.left+de*.25:v.right-de*.25:(v.left+v.right)/2,ve=ed(s.terminal,s.focus),Ye=ve&&R?ve.y+R.cellH/2:t;k={vertical:s.focus.row<s.anchor.row?"below":"above",alignX:Le,focusX:ve?.x??e,focusY:Ye}}}const I=rS({clientX:e,clientY:t,viewport:{left:l,top:h+x,right:l+p,bottom:h+g-b},terminal:r,width:aC,height:lC,margin:cC,fingerGap:uC,selection:v,avoid:A,preference:k,selectionGap:dC});return{left:I.left-r.left,top:I.top-r.top}}const D3=S.forwardRef(({sessionKey:e,isLayoutVisible:t=!0,chunks:r,onInput:s,onResize:i,onFlowControl:u,onTmuxScroll:l,tmuxScrollSensitivity:h=.55,onDoubleTap:p,onInputFocusChange:g,onMobileLongPressCopyResult:x,onMobilePasteResult:b,onReadyChange:v,onSizeSynchronizedChange:A,onWritesSettled:k,onWriteProgress:I,onCursorPositionChange:R,onDirectoryLinkActivate:M,terminalSettings:B,theme:F,className:W,enableTouchScroll:O,mobileLongPressMode:q="arrows",autoFocus:ee=!0,cursorVisible:de=!0,suppressSmoothScroll:Ae=!1},Le)=>{const{t:ve}=ln(),Ye=S.useRef(null),Te=S.useRef(null),fe=S.useRef(null),je=S.useRef(null),be=S.useRef(null),ie=S.useRef(Ae);ie.current=Ae;const oe=S.useRef(null),Ie=S.useRef(s),ke=S.useRef(i),qe=S.useRef(g),se=S.useRef(u),Se=S.useRef(v);Se.current=v;const Lt=S.useRef(A);Lt.current=A;const Dt=S.useRef(k);Dt.current=k;const Ue=S.useRef(I);Ue.current=I;const Z=S.useRef(R);Z.current=R;const rt=S.useRef(M);rt.current=M;const gt=S.useRef(B.rendererMode),J=S.useRef(""),K=S.useRef(0),Fe=S.useRef(!1),Je=S.useRef(null),vt=S.useRef(0),xt=S.useRef(0),Ct=S.useRef(!1),he=S.useRef(null),xe=S.useRef(null),De=S.useRef(()=>{}),At=S.useRef(null),Ke=S.useRef(null),at=S.useRef(void 0),kt=S.useRef(null),tr=S.useRef(!1),pr=S.useRef(0),nt=S.useRef(""),ft=S.useRef(null),_t=S.useRef(null),Tt=S.useRef(!1),Qt=S.useRef(typeof window<"u"?window.devicePixelRatio:1),j=S.useRef(!1),pe=S.useRef(!1),Oe=S.useRef(null),Et=S.useRef(""),Qe=S.useRef(0),et=S.useRef(null),lr=S.useRef(null),Ne=S.useRef(null),cn=S.useRef(0),Qr=S.useRef(0),Re=S.useRef(0),Rr=S.useRef(null),ut=S.useRef(0),un=S.useRef(0),Lr=S.useRef(!1),wn=S.useRef(0),[,mr]=S.useReducer(L=>L+1,0),[Mr,Bn]=S.useReducer(L=>L+1,0),[Ir,Nr]=S.useState("loading"),[ae,rr]=S.useState(null),[lt,es]=S.useState(null);S.useEffect(()=>{const L=Q=>{(Q.target instanceof Element?Q.target.closest("[data-termdock-terminal-dropzone]"):null)?.dataset.termdockTerminalDropzone===e&&es(String(Q.detail))};return window.addEventListener("termdock:file-drop-error",L),()=>window.removeEventListener("termdock:file-drop-error",L)},[e]);const Jt=S.useMemo(()=>Q0("terminal"),[]),[Qn,xs]=S.useState(!0),[xo,ts]=S.useState(!1);S.useEffect(()=>{if(!Qn&&Ir!=="loading"){ts(!1);return}const L=window.setTimeout(()=>ts(!0),160);return()=>window.clearTimeout(L)},[Qn,Ir]);const[Gn,An]=S.useState(!1),[gn,Rs]=S.useState({visible:!1,activeDir:""}),[Tn,Wr]=S.useState(null),ur=S.useRef(null),Or=S.useRef(!1),Zt=S.useRef({active:!1,anchor:null,focus:null,dragging:null}),[Tr,Sn]=S.useState(null),[Mt,bs]=S.useState({x:0,y:0,cellW:8,cellH:17,cursorX:0}),dr=S.useRef(Mt);dr.current=Mt;const Cn=S.useRef(null),[rs,Kn]=S.useState({active:!1,text:""}),En=S.useRef(null),ys=S.useRef(null);Ie.current=s,ke.current=i,qe.current=g,se.current=u,gt.current=B.rendererMode;const qr=S.useRef(ee);qr.current=ee;const ls=S.useRef(de);ls.current=de;const Vn=S.useRef(O);Vn.current=O;const Wi=S.useRef(t);Wi.current=t;const V=AC(!!l),{rendererMode:ue,fontFamily:He,fontSize:ge,fontWeight:Ce,fontWeightBold:Ve,letterSpacing:it,lineHeight:$e,minimumContrastRatio:We,drawBoldTextInBrightColors:ot,unicodeVersion:br,customGlyphs:bt,rescaleOverlappingGlyphs:yr,fontLigatures:ct,enableImages:Ft,smoothScrolling:gr}=B,sr=ue==="webgl",or=S.useCallback(()=>{ur.current!==null&&(clearTimeout(ur.current),ur.current=null),Wr(null)},[]),qn=S.useCallback((L,Q)=>{ur.current!==null&&(clearTimeout(ur.current),ur.current=null),Or.current=!1,Wr(L),!Q?.persistent&&(ur.current=setTimeout(()=>{ur.current=null,Wr(null)},3e3))},[]);S.useEffect(()=>{if(!Tn)return;const L=()=>{Zt.current.active||or()},Q=()=>or();return window.addEventListener("scroll",L,!0),window.addEventListener("resize",Q),document.addEventListener("visibilitychange",Q),()=>{window.removeEventListener("scroll",L,!0),window.removeEventListener("resize",Q),document.removeEventListener("visibilitychange",Q)}},[or,Tn]),S.useEffect(()=>()=>{ur.current!==null&&(clearTimeout(ur.current),ur.current=null)},[]);const en=S.useCallback(()=>{const L=fe.current,Q=Ye.current,P=Zt.current;if(!L||!Q||!P.active||!P.anchor||!P.focus){Sn(null);return}const H=Q.getBoundingClientRect(),Ee=Vl(L)?.cellH??16,{start:we,end:Ze}=ud(P.anchor,P.focus,L.cols),ze=P.dragging==="start"?P.focus:P.dragging==="end"?P.anchor:we,pt=P.dragging==="end"?P.focus:P.dragging==="start"?P.anchor:Ze,ar=(Yr,Pr)=>{const fn=ed(L,Yr);return fn?{left:fn.x-H.left,top:Pr?fn.y-H.top:fn.y+Ee-H.top}:null};Sn({start:ar(ze,!0),end:ar(pt,!1)})},[]),Zn=S.useCallback(L=>{const Q=fe.current,P=Ye.current,H=Zt.current;if(!Q||!P||!H.active||!H.anchor||!H.focus)return;if(H.dragging){or();return}const Ee=P.getBoundingClientRect(),we={x:(Ee.left+Ee.right)/2,y:(Ee.top+Ee.bottom)/2};qn(IC(L?.x??we.x,L?.y??we.y,Ee,{terminal:Q,anchor:H.anchor,focus:H.focus},L!==void 0),{persistent:!0})},[or,qn]),Xn=S.useCallback(()=>{const L=Zt.current;L.active=!1,L.anchor=null,L.focus=null,L.dragging=null,Sn(null),or()},[or]);S.useEffect(()=>{if(!Tr)return;const L=fe.current;if(!L)return;const Q=L.onScroll(()=>{en(),Zn()}),P=L.onResize(()=>Xn());return()=>{Q.dispose(),P.dispose()}},[Tr,en,Zn,Xn]),S.useEffect(()=>{O||qe.current?.(!1)},[O]);const cs=S.useCallback((L,Q,P)=>{const H=(P.element?.offsetWidth||0)/P.cols||8,Ee=(P.element?.offsetHeight||0)/P.rows||16,we=Math.max(1,Math.min(P.cols,Math.floor(L/H)+1)),Ze=Math.max(1,Math.min(P.rows,Math.floor(Q/Ee)+1));return{x:we,y:Ze}},[]),Hs=S.useCallback((L,Q,P)=>{const H=fe.current;if(!H)return!1;const Ee=L>0?-1:1;if(H.modes?.mouseTrackingMode!=="none"){let we,Ze;if(Q!==void 0&&P!==void 0){const ar=cs(Q,P,H);we=ar.x,Ze=ar.y}else we=H.buffer.active.cursorX+1,Ze=H.buffer.active.cursorY+1;const pt=`\x1B[<${Ee>0?64:65};${we};${Ze}M`;return Ie.current(pt),!0}if(H.buffer.active.type==="alternate"){const we=Ee>0?"\x1B[A":"\x1B[B";return Ie.current(we),!0}return null},[cs]),Ws=S.useCallback(L=>{const Q=fe.current;if(!Q)return!1;const P=Pl(fe.current,ge,$e),H=pr.current+L,Ee=Math.trunc(H/P);return pr.current=H-Ee*P,Ee!==0?(Q.scrollLines(Ee),!0):!1},[ge,$e]),Gi=S.useCallback(L=>{if(!fe.current)return!1;const H=Pl(fe.current,ge,$e)/Math.max(.1,h),Ee=pr.current+L;let we=Math.trunc(Ee/H);if(pr.current=Ee-we*H,we===0&&Math.abs(Ee)>=H/3&&(we=Ee>0?1:-1,pr.current=0),we===0)return!1;const Ze=we>0?"down":"up",ze=Math.max(1,Math.min(Math.abs(we),10));return l(Ze,ze),!0},[ge,$e,l,h]),Rn=S.useRef(Hs);Rn.current=Hs;const $r=S.useRef(Ws);$r.current=Ws;const zr=S.useRef(Gi);zr.current=Gi;const _n=S.useRef(l);_n.current=l;const jn=S.useRef({pointerId:null,tmuxActiveAtDown:!1});S.useEffect(()=>{if(!O)return;const L=Ye.current;if(!L)return;const Q=H=>{H.pointerType==="touch"&&(jn.current.pointerId=H.pointerId,jn.current.tmuxActiveAtDown=!!_n.current)},P=H=>{H.pointerType==="touch"&&jn.current.pointerId===H.pointerId&&(jn.current.pointerId=null,jn.current.tmuxActiveAtDown=!1)};return L.addEventListener("pointerdown",Q,{capture:!0,passive:!0}),L.addEventListener("pointerup",P,{capture:!0,passive:!0}),L.addEventListener("pointercancel",P,{capture:!0,passive:!0}),()=>{L.removeEventListener("pointerdown",Q,!0),L.removeEventListener("pointerup",P,!0),L.removeEventListener("pointercancel",P,!0)}},[O]);const U=S.useCallback(()=>{if(Lr.current)return!1;const L=jn.current;return L.pointerId!==null?!L.tmuxActiveAtDown:!_n.current},[]),X=S.useCallback((L,Q,P)=>{const H=Rn.current(L,Q,P);return H!==null?H:_n.current?zr.current(L):$r.current(L)},[]),ce=S.useCallback((L,Q)=>{if(performance.now()<=un.current){un.current=0;return}const P=fe.current;if(P&&P.modes?.mouseTrackingMode!=="none"){const H=cs(L,Q,P),Ee=H.x,we=H.y,Ze=`\x1B[<0;${Ee};${we}M`,ze=`\x1B[<0;${Ee};${we}m`;Ie.current(Ze),Ie.current(ze)}},[cs]),ye=S.useCallback(()=>typeof performance<"u"?performance.now():Date.now(),[]),Xe=S.useCallback((L=700)=>{Rr.current=null,ut.current=ye()+L},[ye]),st=S.useCallback(()=>Vn.current&&ye()<=ut.current,[ye]),Vt=S.useCallback(()=>{const L=Ke.current;return!L||typeof document>"u"?!1:document.activeElement===L},[]),yt=S.useCallback(()=>{if(typeof window>"u")return!1;const L=ze=>{if(typeof document>"u")return 0;const pt=Number.parseFloat(document.documentElement.style.getPropertyValue(ze)||"0");return Number.isFinite(pt)?pt:0},Q=L("--kb-height");if(Q>0)return Q>=mg;const P=window.visualViewport;if(!P)return!1;const H=L("--app-base-vh")||window.innerHeight,Ee=L("--safe-bottom-inset"),we=P.height+P.offsetTop;return Math.max(0,Math.round(H-we-Ee))>=mg},[]),It=S.useCallback(()=>{et.current!==null&&(clearTimeout(et.current),et.current=null),lr.current=null},[]),Fr=S.useCallback(L=>{const Q=fe.current;let P="";for(const H of L)H.left&&(P+=(Q?Al(Q,"D"):"\x1B[D").repeat(H.left)),H.right&&(P+=(Q?Al(Q,"C"):"\x1B[C").repeat(H.right)),H.backspace&&(P+="".repeat(H.backspace)),H.insert&&(P+=H.insert);return P},[]),Sr=S.useCallback(L=>{const Q=L.value,P=yc(Q),H=Et.current;if(!(Vn.current&&!P.includes("\r")&&!H.includes("\r"))){if(P===H)return;let ar=0;for(;ar<H.length&&ar<P.length&&H[ar]===P[ar];)ar++;const Yr=H.length-ar;Yr>0&&Ie.current("".repeat(Yr));const Pr=P.slice(ar);if(Pr){try{fe.current?.clearSelection()}catch{}Ie.current(Pr)}Et.current=P,Qe.current=Array.from(P).length;return}const we=ag(L),{ops:Ze,cursor:ze}=OS(H,P,Qe.current,we),pt=Fr(Ze);if(pt){if(Ze.some(ar=>ar.insert))try{fe.current?.clearSelection()}catch{}Ie.current(pt)}Et.current=P,Qe.current=ze},[Fr]),jr=S.useCallback((L,Q)=>{const P=L.value,H=yc(P),Ee=Et.current;if(H===Ee){It();return}let we=0;for(;we<Ee.length&&we<H.length&&Ee[we]===H[we];)we++;const Ze=Ee.length-we;if(O&&!Q?.immediate&&Ze>=fC){lr.current=L,et.current!==null&&clearTimeout(et.current),et.current=setTimeout(()=>{et.current=null;const pt=lr.current;lr.current=null,pt&&Sr(pt)},hC);return}It(),Sr(L)},[It,O,Sr]),kr=S.useCallback(L=>{jr(L,{immediate:!0}),Ie.current("\r"),L.value="",Et.current="",Qe.current=0},[jr]),hr=S.useCallback((L,Q,P)=>{if(!L)return;It();const H=Q??Ke.current;H&&(H.value=""),Et.current="",Qe.current=0;try{fe.current?.clearSelection()}catch{}if(Xn(),P?.paste&&/[\r\n]/.test(L)){const Ee=P.submitAfterPaste??L.endsWith("\r"),we=oS(L,Ee);Ie.current(we,{skipModifierTransform:!0,consumeModifier:P?.consumeModifier});return}Ie.current(L,{skipModifierTransform:!0,consumeModifier:P?.consumeModifier})},[It]),tn=S.useCallback((L,Q)=>{const P=yc(L);return P?(hr(P,Q,{paste:!0,submitAfterPaste:!1}),or(),!0):!1},[or,hr]);S.useEffect(()=>S9(L=>{if(L.sessionKey!==e||L.paths.length===0)return;const Q=L.paths.map(cm).join(" ");hr(`${Q} `);try{Ke.current?.focus({preventScroll:!0})}catch{}}),[hr,e]);const Jr=S.useCallback(async(L,Q)=>{es(null);try{const P=await rw(L);return hr(`${cm(P)} `,Q),or(),!0}catch(P){return es(P instanceof Error?P.message:"Image upload failed"),!1}},[or,hr]),ir=S.useCallback(async L=>{try{if(typeof navigator.clipboard?.read=="function"){const P=await nw(navigator.clipboard);if(P)return Jr(P,L)}if(!navigator.clipboard?.readText)return!1;const Q=await navigator.clipboard.readText();return tn(Q,L)}catch(Q){return es(Q instanceof Error?Q.message:"Clipboard read failed"),!1}},[Jr,tn]),Ut=S.useCallback(L=>{if(Cn.current&&!L?.repositionFrozen)return null;const Q=fe.current;if(!Q||!Q.element)return null;const P=Vl(Q),Ee=Q.element.querySelector(".xterm-screen")??Q.element,we=Ee.getBoundingClientRect(),Ze=P?.cellW??(we.width>0&&Q.cols>0?we.width/Q.cols:8),ze=P?.cellH??(we.height>0&&Q.rows>0?we.height/Q.rows:17),pt=Ke.current;let ar=at.current;pt&&(ar===void 0||ar!==null&&(!ar.isConnected||!ar.contains(pt)))&&(ar=sS(pt),at.current=ar);const Yr=Q.buffer.active,Pr=Yr.cursorX*Ze,fn=Yr.cursorY*ze,qt=iS(Ee,ar??null,Pr,fn),Br=Math.round(qt.x),zn=Math.round(qt.y),Ps={x:Br,y:zn,cellW:Ze,cellH:ze,cursorX:Yr.cursorX};return dr.current=Ps,Cn.current&&L?.repositionFrozen&&(Cn.current={...Ps}),bs(hs=>Math.abs(hs.x-Br)<.5&&Math.abs(hs.y-zn)<.5&&Math.abs(hs.cellW-Ze)<.5&&Math.abs(hs.cellH-ze)<.5&&hs.cursorX===Yr.cursorX?hs:Ps),Ps},[]),jt=S.useRef(Ut);jt.current=Ut,S.useEffect(()=>{if(!O)return;let L=null,Q=null;const P=()=>{L!==null&&window.cancelAnimationFrame(L),Q!==null&&window.cancelAnimationFrame(Q),L=window.requestAnimationFrame(()=>{L=null,Q=window.requestAnimationFrame(()=>{Q=null,jt.current({repositionFrozen:!0})})})};return window.visualViewport?.addEventListener("resize",P),window.visualViewport?.addEventListener("scroll",P),document.addEventListener("termdock:viewport-keyboard-change",P),()=>{L!==null&&window.cancelAnimationFrame(L),Q!==null&&window.cancelAnimationFrame(Q),window.visualViewport?.removeEventListener("resize",P),window.visualViewport?.removeEventListener("scroll",P),document.removeEventListener("termdock:viewport-keyboard-change",P)}},[O]);const xr=S.useCallback(L=>{let Q=0;for(const P of L){const H=P.codePointAt(0)??0,Ee=H>=4352&&H<=4447||H>=11904&&H<=12350||H>=12353&&H<=13311||H>=13312&&H<=19903||H>=19968&&H<=40959||H>=40960&&H<=42191||H>=44032&&H<=55203||H>=63744&&H<=64255||H>=65072&&H<=65103||H>=65280&&H<=65376||H>=65504&&H<=65510||H>=127744&&H<=129791;Q+=Ee?2:1}return Q},[]),Xt=S.useCallback(L=>{const Q=fe.current,{cellW:P,cellH:H}=Mt;if(!Q||!L)return{width:Math.max(1,Math.round(P)),height:Math.max(1,Math.round(H)),whiteSpace:"pre"};const we=Cn.current?.cursorX??Q.buffer.active.cursorX,Ze=Math.max(1,Q.cols),ze=Math.max(1,xr(L)),pt=Math.max(1,Ze-we);if(ze<=pt)return{width:Math.max(1,Math.round(ze*P)),height:Math.max(1,Math.round(H)),whiteSpace:"pre"};const ar=ze-pt,Pr=1+Math.ceil(ar/Ze);return{width:Math.max(1,Math.round(pt*P)),height:Math.max(1,Math.round(Pr*H)),whiteSpace:"pre-wrap"}},[Mt,xr]),fr=S.useCallback(()=>{at.current=void 0;const L=jt.current();Cn.current={...L??dr.current}},[]),dn=S.useCallback(()=>{Cn.current=null},[]),vs=S.useCallback(L=>{if(!j.current&&Cn.current===null)return!1;if(j.current=!1,Cn.current=null,It(),Oe.current!==null&&(clearTimeout(Oe.current),Oe.current=null),pe.current=!1,L){L.value=Et.current;try{L.setSelectionRange(L.value.length,L.value.length)}catch{}}return Kn(Q=>Q.active||Q.text?{active:!1,text:""}:Q),!0},[It]),si=S.useCallback((L,Q)=>{const P=Ke.current;if(P)try{P.removeAttribute("readonly");const Ee=typeof document<"u"&&document.activeElement===P&&!yt(),we=ye(),Ze=we-wn.current;wn.current=we,Ee&&Ze>600?(P.blur(),P.removeAttribute("readonly"),P.focus(),wn.current=ye()):P.focus()}catch{}},[yt,ye]),hn=S.useCallback(L=>{Qr.current=ye()+L},[ye]),Zr=S.useCallback(()=>O?ye()<=Qr.current:!1,[O,ye]),Pn=S.useCallback(L=>{hn(L),Re.current=ye()},[hn,ye]),Vi=S.useCallback(()=>{O&&Ke.current?.removeAttribute("readonly")},[O]),ws=S.useCallback(L=>L instanceof HTMLElement&&(L.closest('[data-terminal-copy-popover="true"]')!==null||L.closest('[data-mobile-copy-button="true"]')!==null||L.closest("[data-selection-handle]")!==null),[]),us=S.useCallback(L=>{if(Vi(),Pn(vc),!O||L.pointerType!=="touch"){Rr.current=null;return}const Q=L.target;if(ws(Q)){Xe();return}Tn&&!(Q instanceof HTMLElement&&Q.closest('[data-terminal-copy-popover="true"]'))&&or(),Rr.current={pointerId:L.pointerId,startX:L.clientX,startY:L.clientY,moved:!1}},[or,O,Pn,ws,Tn,Vi,Xe]),yi=S.useCallback(L=>{Pn(vc);const Q=Rr.current;!Q||Q.pointerId!==L.pointerId||Math.hypot(L.clientX-Q.startX,L.clientY-Q.startY)>12&&(Q.moved=!0)},[Pn]),Gr=S.useCallback(L=>{Pn(wc);const Q=Rr.current;Rr.current=null,!(!O||L.pointerType!=="touch")&&(!Q||Q.pointerId!==L.pointerId||Q.moved||st()||si(L.clientX,L.clientY))},[O,Pn,si,st]),qi=S.useCallback(()=>{Rr.current=null,Pn(wc)},[Pn]),Ns=S.useMemo(()=>({enableKinetic:!0}),[]),Ma=S.useRef(()=>!1),ro=S.useRef(si);ro.current=si;const Na=S.useCallback((L,Q)=>{st()||ro.current(L,Q)},[st]),ia=S.useRef(p);ia.current=p;const Po=S.useRef(x);Po.current=x;const no=S.useRef(b);no.current=b;const Oo=S.useCallback(()=>{if(Or.current)return;Or.current=!0,Xe();const L=fe.current,Q=L?.hasSelection()?L.getSelection():"";try{L?.clearSelection()}catch{}Ra.flushSync(()=>{Xn()}),(async()=>{const P=await yg(Q);Po.current?.(P)})()},[Xn,Xe]),oa=S.useCallback(L=>{document.dispatchEvent(new CustomEvent("termdock:gesture-lock",{detail:{locked:L}}))},[]),{setupTouchScroll:Ii,stopAllScroll:ki}=RS(Ye,{...Ns,shouldCaptureTouch:Ma.current,canStartScrollGesture:U,onScroll:X,onScrollWithCoords:X,onClickWithCoords:ce,onTap:Na,onClaimChange:oa,tapThreshold:12,gestureName:`normal-scroll:${e}`});S.useEffect(()=>{if(!O)return;Ke.current?.setAttribute("readonly","");const L=Ii();return()=>{L()}},[O,Ii]),S.useEffect(()=>{if(!O)return;let L=yt();const Q=()=>{const P=yt();if(L&&!P){const H=Ke.current;H&&typeof document<"u"&&document.activeElement===H&&(H.setAttribute("readonly",""),H.blur())}L=P};return window.visualViewport?.addEventListener("resize",Q),window.visualViewport?.addEventListener("scroll",Q),document.addEventListener("termdock:viewport-keyboard-change",Q),()=>{window.visualViewport?.removeEventListener("resize",Q),window.visualViewport?.removeEventListener("scroll",Q),document.removeEventListener("termdock:viewport-keyboard-change",Q)}},[O,yt]),S.useEffect(()=>{if(!O)return;const L=Ye.current;if(!L)return;const Q=H=>{const we=H.sourceCapabilities?.firesTouchEvents===!0,Ze=ye()-Re.current<=1200;return!we&&!Ze?!1:L.contains(H.target)},P=H=>{Q(H)&&(H.cancelable&&H.preventDefault(),H.stopImmediatePropagation(),H.stopPropagation())};return L.addEventListener("mousedown",P,{capture:!0,passive:!1}),L.addEventListener("mouseup",P,{capture:!0,passive:!1}),L.addEventListener("click",P,{capture:!0,passive:!1}),document.addEventListener("mouseup",P,{capture:!0,passive:!1}),()=>{L.removeEventListener("mousedown",P,!0),L.removeEventListener("mouseup",P,!0),L.removeEventListener("click",P,!0),document.removeEventListener("mouseup",P,!0)}},[O,ye]);const As=S.useRef({pointerId:null,lastX:null,lastY:null,startX:null,startY:null,gestureAxis:null,remainder:0,didScroll:!1,rafId:null,velocity:0,instantSpeed:0}),Ts=S.useCallback(()=>{const L=As.current;L.rafId!==null&&(cancelAnimationFrame(L.rafId),L.rafId=null)},[]),Ei=S.useCallback((L,Q,P)=>{const H=fe.current;if(!H||!H.element||!H.cols||!H.rows)return null;const Ee=As.current,we=H.element.getBoundingClientRect(),Ze=Q??Ee.lastX??we.left+we.width/2,ze=P??Ee.lastY??we.top+we.height/2,pt=Ze-we.left,ar=ze-we.top,Yr=H.element.offsetWidth/H.cols||8,Pr=H.element.offsetHeight/H.rows||16,fn=Math.max(1,Math.min(H.cols,Math.floor(pt/Yr)+1)),qt=Math.max(1,Math.min(H.rows,Math.floor(ar/Pr)+1));return`\x1B[<${L==="up"?64:65};${fn};${qt}M`},[]),vi=S.useCallback((L,Q,P,H)=>{if(Q<=0)return;const Ee=Ei(L,P,H);Ee&&Ie.current(Q===1?Ee:Ee.repeat(Q))},[Ei]),bo=S.useRef(vi);bo.current=vi;const aa=S.useRef(()=>{}),Da=S.useCallback(()=>{const Q=Pl(fe.current,ge,$e)/Math.max(.1,h),P=1+As.current.instantSpeed*.1;return Q/Math.min(6,P)},[ge,$e,h]),wi=S.useCallback(()=>{const L=As.current;L.rafId=null;const Q=Da();let P=0,H=0;for(;P+H<Du&&L.remainder>=Q;)L.remainder-=Q,H++;for(;P+H<Du&&L.remainder<=-Q;)L.remainder+=Q,P++;if(H>0&&vi("down",H),P>0&&vi("up",P),P+H>0)L.rafId=requestAnimationFrame(wi);else if(L.pointerId!==null&&Math.abs(L.remainder)>=Q/3){const we=L.remainder>0?"down":"up";L.remainder=0,vi(we,1),L.rafId=requestAnimationFrame(wi)}},[Da,vi]),yo=S.useCallback(()=>{const L=As.current;L.rafId===null&&typeof requestAnimationFrame<"u"&&(L.rafId=requestAnimationFrame(wi))},[wi]),tl=S.useCallback(L=>{if(L.pointerType!=="touch")return!1;Ts();const Q=As.current;return Q.pointerId=L.pointerId,Q.lastX=L.clientX,Q.lastY=L.clientY,Q.startX=L.clientX,Q.startY=L.clientY,Q.gestureAxis=null,Q.remainder=0,Q.velocity=0,Q.instantSpeed=0,Q.didScroll=!1,!1},[Ts]),la=S.useCallback((L,Q)=>{if(Lr.current)return Q?"release":"neutral";if(performance.now()<=un.current)return"neutral";const P=As.current;if(L.pointerType!=="touch"||L.pointerId!==P.pointerId||P.lastY==null)return"neutral";if(P.gestureAxis===null&&P.startX!==null&&P.startY!==null){const we=Math.abs(L.clientX-P.startX),Ze=Math.abs(L.clientY-P.startY);if(we>fg||Ze>fg){if(we>Ze*rC)return P.gestureAxis="x","release";Ze>we*nC&&(P.gestureAxis="y")}}if(P.gestureAxis==="x")return P.lastX=L.clientX,P.lastY=L.clientY,"release";if(P.gestureAxis===null)return P.lastX=L.clientX,P.lastY=L.clientY,"neutral";const H=L.clientY-P.lastY;P.lastX=L.clientX,P.lastY=L.clientY;const Ee=-H;if(P.remainder+=Ee,P.instantSpeed=Math.abs(Ee),P.velocity=P.velocity*.45+Ee*.55,Q){const Ze=Pl(fe.current,ge,$e)/Math.max(.1,h);Math.abs(P.remainder)>=Ze/3&&(P.didScroll=!0,yo())}return"claim"},[ge,$e,h,yo]),Ba=S.useCallback(L=>{const Q=As.current;if(L.pointerType!=="touch"||L.pointerId!==Q.pointerId)return;if(Ts(),Q.pointerId=null,Q.lastX=null,Q.lastY=null,Q.startX=null,Q.startY=null,Q.instantSpeed=0,Q.gestureAxis==="x"){Q.gestureAxis=null;return}Q.gestureAxis=null;const H=Pl(fe.current,ge,$e)/Math.max(.1,h);if(Q.didScroll&&Math.abs(Q.velocity)>H*iC){const Ee=()=>{Q.velocity*=sC,Q.remainder+=Q.velocity;const we=1+Math.abs(Q.velocity)*.1,Ze=H/Math.min(6,we);if(Math.abs(Q.velocity)<H*oC){if(Math.abs(Q.remainder)>=Ze/3){const ar=Q.remainder>0?"down":"up";vi(ar,1),Q.remainder=0}Q.velocity=0,Q.rafId=null;return}let ze=0,pt=0;for(;ze+pt<Du&&Q.remainder>=Ze;)Q.remainder-=Ze,pt++;for(;ze+pt<Du&&Q.remainder<=-Ze;)Q.remainder+=Ze,ze++;pt>0&&vi("down",pt),ze>0&&vi("up",ze),Q.rafId=requestAnimationFrame(Ee)};Q.rafId=requestAnimationFrame(Ee)}else Math.abs(Q.remainder)>=H/3&&yo();Q.didScroll&&L.stopImmediatePropagation()},[Ts,vi,yo,h,ge,$e]),Qa=S.useCallback(L=>{const Q=As.current;L.pointerType!=="touch"||L.pointerId!==Q.pointerId||(Ts(),Q.pointerId=null,Q.lastX=null,Q.lastY=null,Q.startX=null,Q.startY=null,Q.gestureAxis=null,Q.remainder=0,Q.velocity=0,Q.didScroll=!1)},[Ts]);sg({name:`tmux-scroll:${e}`,priority:kS,container:()=>Ye.current,onPointerDown:O&&l?tl:void 0,onPointerMove:O&&l?la:void 0,onPointerUp:O&&l?Ba:void 0,onPointerCancel:O&&l?Qa:void 0});const Ss=S.useRef({pointerId:null,originX:0,originY:0,holdTimer:null,mode:"idle",longPressMode:"arrows",copyStart:null,copyDidSelect:!1,edgeScrollTimer:null,edgeScrollDir:0,edgeScrollLines:0,edgeClientX:0,edgeClientY:0,gestureLocked:!1,joystickDir:"",joystickRepeatTimer:null,repeatIntervalMs:260,lastHapticTime:0,lastTapTime:0,lastTapX:0,lastTapY:0,tapStartX:0,tapStartY:0,tapDidMove:!1}),so=S.useRef(null);so.current=Ye.current;const io=so,ca=Ie,Ai=S.useRef(q);Ai.current=q;const ns=S.useCallback(L=>{const Q=Ss.current;Q.gestureLocked!==L&&(Q.gestureLocked=L,oa(L))},[oa]),Ds=S.useCallback(()=>{const L=Ss.current;L.edgeScrollTimer!==null&&(clearInterval(L.edgeScrollTimer),L.edgeScrollTimer=null),L.edgeScrollDir=0},[]),Bs=S.useCallback(L=>{const Q=fe.current,P=Ss.current;if(Q){if(P.mode==="copy"&&P.copyStart){P.copyDidSelect=Gh(Q,P.copyStart,L)||P.copyDidSelect;return}if(P.mode==="adjust"){const H=Zt.current;if(!H.active||!H.anchor)return;H.focus=eS(Q,L),Gh(Q,H.anchor,H.focus),en()}}},[en]),ua=S.useCallback((L,Q)=>{const P=fe.current,H=Ss.current;if(!P)return;const Ee=Vl(P);if(!Ee)return;const we=Ee.originTop,Ze=Ee.originTop+P.rows*Ee.cellH,ze=Math.max(28,Ee.cellH*1.5),pt=Q-we,ar=Ze-Q;let Yr=0,Pr=0;if(pt<ze?(Yr=-1,Pr=Math.min(1,(ze-pt)/ze)):ar<ze&&(Yr=1,Pr=Math.min(1,(ze-ar)/ze)),H.edgeClientX=L,H.edgeClientY=Q,Yr===0){Ds();return}H.edgeScrollDir=Yr,H.edgeScrollLines=1+Math.round(Pr*5),H.edgeScrollTimer===null&&(H.edgeScrollTimer=setInterval(()=>{const fn=fe.current,qt=Ss.current;if(!fn||qt.edgeScrollDir===0)return;if(qt.mode!=="copy"&&qt.mode!=="adjust"){Ds();return}fn.scrollLines(qt.edgeScrollDir*qt.edgeScrollLines);const Br=Ac(fn,qt.edgeClientX,qt.edgeClientY-Nu);Br&&Bs(Br)},60))},[Bs,Ds]),rl=S.useCallback(L=>{if(L.pointerType!=="touch")return!1;const Q=io.current;if(!Q)return!1;const P=L.target;if(!(P instanceof HTMLElement)||!Q.contains(P)||P.closest('[data-mobile-keyboard="true"]'))return!1;const H=Ss.current;H.longPressMode=Ai.current;const Ee=Zt.current;if(Ee.active&&H.pointerId===null){const we=P.closest("[data-selection-handle]");if(we instanceof HTMLElement){const Ze=fe.current,ze=we.dataset.selectionHandle==="start"?"start":"end";if(Ze&&Ee.anchor&&Ee.focus){const pt=ud(Ee.anchor,Ee.focus,Ze.cols);return Ee.anchor=ze==="start"?pt.end:pt.start,Ee.focus=ze==="start"?pt.start:pt.end,Ee.dragging=ze,or(),H.pointerId=L.pointerId,H.tapStartX=L.clientX,H.tapStartY=L.clientY,H.tapDidMove=!1,H.mode="adjust",Lr.current=!0,Xe(1800),Ke.current?.setAttribute("readonly",""),ki(),Ts(),Jo(jl),ns(!0),!0}}if(!P.closest("[data-terminal-copy-popover]")){Xn();try{fe.current?.clearSelection()}catch{}}}if(H.pointerId!==null)return!0;if(Lr.current=!1,ia.current){const we=performance.now(),Ze=L.clientX,ze=L.clientY;if(H.lastTapTime!==0&&we-H.lastTapTime<=300&&Math.hypot(Ze-H.lastTapX,ze-H.lastTapY)<=25)return Jo(jl),un.current=performance.now()+500,ia.current?.(),An(!0),ys.current&&clearTimeout(ys.current),ys.current=setTimeout(()=>An(!1),400),H.lastTapTime=0,!0}return H.holdTimer!==null&&(clearTimeout(H.holdTimer),H.holdTimer=null),H.joystickRepeatTimer!==null&&(clearTimeout(H.joystickRepeatTimer),H.joystickRepeatTimer=null),H.joystickDir="",H.copyStart=null,H.copyDidSelect=!1,H.pointerId=L.pointerId,H.originX=L.clientX,H.originY=L.clientY,H.tapStartX=L.clientX,H.tapStartY=L.clientY,H.tapDidMove=!1,H.mode="holding",H.longPressMode==="copy"&&ns(!0),H.holdTimer=setTimeout(()=>{if(H.holdTimer=null,H.mode==="holding"){if(H.longPressMode==="copy"){const we=fe.current,Ze=we?Ac(we,H.tapStartX,H.tapStartY):null;if(!we||!Ze){H.mode="idle";return}H.mode="copy",Lr.current=!0,Xe(1800),Ke.current?.setAttribute("readonly",""),H.copyStart=Ze,H.copyDidSelect=!1,ki(),Ts(),we.clearSelection(),Jo(jl),ns(!0);return}H.mode="arrow",Lr.current=!0,Xe(1e3),ki(),Ts(),Jo(jl),ns(!0),requestAnimationFrame(()=>{Rs({visible:!0,activeDir:""})})}},350),!0},[ns,or,Xn]),da=S.useCallback((L,Q)=>{if(L.pointerType!=="touch")return"neutral";const P=Ss.current;if(P.mode==="arrow"&&L.pointerId!==P.pointerId||P.mode==="copy"&&L.pointerId!==P.pointerId||P.mode!=="arrow"&&P.mode!=="copy"&&L.pointerId!==P.pointerId)return"neutral";const H=L.clientX-P.tapStartX,Ee=L.clientY-P.tapStartY;if(Math.hypot(H,Ee)>10&&(P.tapDidMove=!0),P.mode==="holding"){if(!Q)return P.holdTimer!==null&&(clearTimeout(P.holdTimer),P.holdTimer=null),ns(!1),Lr.current=!1,P.mode="idle","neutral";const we=L.clientX-P.originX,Ze=L.clientY-P.originY;return P.longPressMode==="copy"&&Math.hypot(we,Ze)>20?(P.holdTimer!==null&&(clearTimeout(P.holdTimer),P.holdTimer=null),ns(!1),Lr.current=!1,P.mode="idle","release"):Math.hypot(we,Ze)>20?(P.holdTimer!==null&&(clearTimeout(P.holdTimer),P.holdTimer=null),ns(!1),P.mode="idle","release"):"claim"}if(P.mode==="adjust"){if(!Q)return"claim";ki();const we=fe.current,Ze=Zt.current;if(!we||!Ze.active||!Ze.anchor||!Ze.focus)return"claim";const ze=Ac(we,L.clientX,L.clientY-Nu);return ze&&(Bs(ze),ua(L.clientX,L.clientY)),"claim"}if(P.mode==="copy"){if(!Q)return"claim";ki();const we=fe.current;if(!we||!P.copyStart)return"claim";const Ze=Ac(we,L.clientX,L.clientY-Nu);return Ze&&(Bs(Ze),ua(L.clientX,L.clientY)),"claim"}if(P.mode==="arrow"){if(!Q)return"claim";const we={up:"\x1B[A",down:"\x1B[B",left:"\x1B[D",right:"\x1B[C"},Ze=L.clientX-P.tapStartX,ze=L.clientY-P.tapStartY,pt=HS(Ze,ze,P.joystickDir);if(pt&&pt!==P.joystickDir&&(P.originX=L.clientX,P.originY=L.clientY),pt){const ar=L.clientX-P.originX,Yr=L.clientY-P.originY,Pr=Math.hypot(ar,Yr);if(P.repeatIntervalMs=WS(Pr),pt!==P.joystickDir){P.joystickRepeatTimer!==null&&clearTimeout(P.joystickRepeatTimer);const fn=P.joystickDir==="";P.joystickDir=pt,ca.current(we[pt]);const qt=performance.now();qt-P.lastHapticTime>120&&(Jo(jl),P.lastHapticTime=qt);const Br=fn?400:300;P.joystickRepeatTimer=setTimeout(function zn(){if(P.joystickDir!==pt)return;ca.current(we[pt]);const Ps=performance.now();Ps-P.lastHapticTime>120&&(Jo(jl),P.lastHapticTime=Ps),P.joystickRepeatTimer=setTimeout(zn,P.repeatIntervalMs)},Br)}Rs({visible:!0,activeDir:pt})}else P.joystickRepeatTimer!==null&&(clearTimeout(P.joystickRepeatTimer),P.joystickRepeatTimer=null),P.joystickDir="",Rs({visible:!0,activeDir:""});return"claim"}return"neutral"},[ns,Bs,ua]),ha=S.useCallback(L=>{if(L.pointerType!=="touch"||L.pointerId!==Ss.current.pointerId)return;const Q=Ss.current;if(Q.mode==="copy"){ki(),Ts(),Ds(),ns(!1);const H=fe.current;let Ee=null;if(H&&Q.copyStart&&(Ee=Ac(H,L.clientX,L.clientY-Nu),Ee&&(Q.copyDidSelect=Gh(H,Q.copyStart,Ee)||Q.copyDidSelect)),H&&Q.copyDidSelect&&H.hasSelection()&&Q.copyStart){const we=Zt.current;we.active=!0,we.anchor=Q.copyStart,we.focus=Ee??Q.copyStart,we.dragging=null,en(),Zn({x:L.clientX,y:L.clientY}),Xe(1800),Jo(jl)}else Po.current?.(!1);Q.holdTimer!==null&&(clearTimeout(Q.holdTimer),Q.holdTimer=null),Q.copyStart=null,Q.copyDidSelect=!1,Q.pointerId=null,Q.mode="idle",Lr.current=!1;return}if(Q.mode==="adjust"){ki(),Ts(),Ds(),ns(!1),Zt.current.dragging=null,en(),Zn({x:L.clientX,y:L.clientY}),Xe(1800),Q.pointerId=null,Q.mode="idle",Lr.current=!1;return}if(Q.mode==="arrow"){ki(),Ts(),ns(!1),Rs({visible:!1,activeDir:""}),Q.holdTimer!==null&&(clearTimeout(Q.holdTimer),Q.holdTimer=null),Q.joystickRepeatTimer!==null&&(clearTimeout(Q.joystickRepeatTimer),Q.joystickRepeatTimer=null),Q.joystickDir="",Q.pointerId=null,Q.mode="idle",Lr.current=!1;return}const P=io.current;if(P&&!Q.tapDidMove){const H=L.target;H instanceof HTMLElement&&P.contains(H)&&!H.closest('[data-mobile-keyboard="true"]')&&(Q.lastTapTime=performance.now(),Q.lastTapX=L.clientX,Q.lastTapY=L.clientY)}else Q.tapDidMove&&(Q.lastTapTime=0);Q.holdTimer!==null&&(clearTimeout(Q.holdTimer),Q.holdTimer=null),Q.joystickRepeatTimer!==null&&(clearTimeout(Q.joystickRepeatTimer),Q.joystickRepeatTimer=null),Q.joystickDir="",ns(!1),Lr.current=!1,Q.copyStart=null,Q.copyDidSelect=!1,Q.pointerId=null,Q.mode="idle"},[ns,ki,Xe,Ds,en,Zn]),ja=S.useCallback(()=>{const L=Ss.current;ns(!1),Ds(),L.mode==="arrow"&&Rs({visible:!1,activeDir:""}),L.mode==="adjust"&&(Zt.current.dragging=null,en(),Zn()),L.holdTimer!==null&&(clearTimeout(L.holdTimer),L.holdTimer=null),L.joystickRepeatTimer!==null&&(clearTimeout(L.joystickRepeatTimer),L.joystickRepeatTimer=null),L.joystickDir="",Lr.current=!1,L.copyStart=null,L.copyDidSelect=!1,L.pointerId=null,L.tapDidMove=!1,L.mode="idle"},[ns,Ds,en,Zn]);sg({name:`long-press:${e}`,priority:IS,container:()=>Ye.current,onPointerDown:O?rl:void 0,onPointerMove:O?da:void 0,onPointerUp:O?ha:void 0,onPointerCancel:O?ja:void 0});const Cs=S.useCallback((L={})=>{xt.current+=1,J.current="",xe.current=null,K.current=0,Fe.current&&(Fe.current=!1,L.notifyFlowResume===!0&&se.current?.(!1)),Je.current=null,Ct.current=!1,he.current=null,nt.current=""},[]),Un=S.useCallback((L="unknown")=>{const Q=oe.current,P=fe.current,H=Ye.current;if(!Q||!P||!H||!P.element||!P.cols||!P.rows)return;const Ee=H.getBoundingClientRect();if(Ee.width<24||Ee.height<24){Jt("skip fit: container too small",{reason:L,width:Math.round(Ee.width),height:Math.round(Ee.height)});return}try{const we={cols:P.cols,rows:P.rows},Ze=P.buffer.active,ze=hS(Ze.type,Ze.baseY,Ze.viewportY),pt=Q.proposeDimensions();if(!pt||pt.cols<=0||pt.rows<=0)return;const ar=hg(P,we.rows),Yr=cS({reason:L,currentCols:we.cols,currentRows:we.rows,proposedCols:pt.cols,proposedRows:pt.rows});let Pr=0;Yr.accept&&(dt.current&&_n.current&&(we.cols!==pt.cols||we.rows!==pt.rows)&&be.current?.begin(),P.resize(pt.cols,pt.rows),Pr=hg(P,pt.rows),ze&&P.scrollToBottom(),pr.current=0),(ar>0||Pr>0)&&(P.refresh(0,Math.max(0,P.rows-1)),Jt("xterm buffer invariant repaired",{reason:L,before:ar,after:Pr,cols:P.cols,rows:P.rows}));const fn={cols:P.cols,rows:P.rows};Jt("fit",{reason:L,backend:"xterm",width:Math.round(Ee.width),height:Math.round(Ee.height),before:we,proposed:pt,next:fn,hysteresis:Yr,changed:we.cols!==fn.cols||we.rows!==fn.rows})}catch{be.current?.cancel()}},[Jt]),Mn=S.useCallback(L=>{const Q=fe.current;if(Q)try{Q.refresh(0,Math.max(0,Q.rows-1)),Jt("terminal refreshed (sync)",{reason:L,cols:Q.cols,rows:Q.rows,hasWebgl:!!ft.current})}catch(P){Jt("terminal refresh (sync) failed",{reason:L,error:P})}},[Jt]),Qs=S.useCallback(L=>{const Q=_t.current;if(Q){try{Q.dispose()}catch{}_t.current=null}const P=ft.current;if(!P)return!1;be.current?.cancel();try{P.dispose()}catch{}return ft.current=null,Jt("renderer disposed",{type:"webgl",reason:L}),!0},[Jt]),ii=S.useCallback((L,Q)=>{if(ft.current)return!0;try{const P=new aA({customGlyphs:bt});return _t.current=P.onContextLoss(()=>{Jt("webgl context loss",{reason:"onContextLoss"}),Tt.current=!0,typeof window<"u"&&window.setTimeout(()=>{nn("webgl-context-loss",{forceRendererRecreate:!0})},0)}),be.current?.cancel(),L.loadAddon(P),ft.current=P,Tt.current=!1,Jt("renderer",{type:"webgl",reason:Q,mobile:O,mode:gt.current}),Mn(`webgl-enabled:${Q}`),Un(`webgl-enabled:${Q}`),Ge.current=!0,!0}catch(P){return Jt("webgl load failed, fallback to dom renderer",{reason:Q,error:P,mobile:O,mode:gt.current}),!1}},[Jt,bt,O,Un,Mn]),Gs=200,fa=S.useRef(0),oi=S.useRef(new Map),Ti=S.useRef(new Map),xn=S.useRef(Hh()),ai=S.useRef(null),Vs=S.useRef(null),re=S.useRef(-1),Me=S.useRef(new Map),Ge=S.useRef(!1),dt=S.useRef(!1),_e=S.useCallback(()=>{const L=oi.current;L.forEach(Q=>cancelAnimationFrame(Q)),L.clear(),Ti.current.clear()},[]),ht=S.useCallback(()=>{ai.current!==null&&(window.clearTimeout(ai.current),ai.current=null)},[]),cr=S.useRef(()=>{}),wr=S.useCallback(L=>{ht(),Lt.current?.(!1),ke.current(L.cols,L.rows,L.seq),ai.current=window.setTimeout(()=>{ai.current=null;const Q=rg(xn.current,L.seq);xn.current=Q.state,Q.request&&dt.current?(Jt("resize ack timeout; retrying",{seq:L.seq,retrySeq:Q.request.seq,cols:Q.request.cols,rows:Q.request.rows}),cr.current(Q.request)):Q.exhausted&&(be.current?.cancel(),Jt("resize ack timeout; leaving size unconfirmed",{seq:L.seq,cols:L.cols,rows:L.rows}))},1200)},[ht,Jt]);cr.current=wr;const Dr=S.useCallback((L,Q)=>{if(!dt.current)return;const P=xS(xn.current,{cols:L,rows:Q});xn.current=P.state,P.request&&wr(P.request)},[wr]),Ar=1500,$n=400,rn=S.useRef(0),ds=S.useRef(0),_s=S.useCallback((L,Q,P)=>{if(!Number.isFinite(L)||!Number.isFinite(Q)||L<=0||Q<=0)return;const H=Math.floor(L),Ee=Math.floor(Q);xn.current=vS(xn.current,{cols:H,rows:Ee}),rn.current=Date.now(),Jt("pty-size broadcast received",{cols:H,rows:Ee,source:P??"unknown"})},[Jt]),Fo=S.useCallback(L=>{const Q=fe.current;if(!Q||!Q.cols||!Q.rows||!dt.current||typeof document<"u"&&document.visibilityState!=="visible")return;const P=Date.now();if(P-rn.current<Ar||P-ds.current<$n)return;const H=Q.cols,Ee=Q.rows,we=xn.current.confirmed;we&&we.cols===H&&we.rows===Ee||(ds.current=P,Jt("ensureSizeMatches push",{reason:L,cols:H,rows:Ee,lastServerSize:we}),Dr(H,Ee))},[Jt,Dr]),Nn=S.useCallback((L,Q)=>{const P=fe.current,H=oe.current;if(!P||!H)return;if(!Ge.current){Jt("refresh skipped: renderer not ready",{reason:L});return}if(Q.dedupeKey!==void 0){if(Me.current.get(L)===Q.dedupeKey){Jt("refresh deduped",{reason:L,dedupeKey:Q.dedupeKey});return}Me.current.set(L,Q.dedupeKey)}Jt("refresh",{reason:L,options:Q});const Ee=Q.forceRendererRecreate===!0||Tt.current||sr&&!!ft.current&&yC.has(L)&&/Android/i.test(navigator.userAgent);let we=!1;Ee&&(Tt.current=!1,sr?(Qs(`refresh:${L}`),ii(P,`refresh:${L}`)||Mn(`refresh:${L}:webgl-fallback`),we=!0):(Mn(`refresh:${L}`),we=!0)),pS(Q.forceRedraw===!0,L==="dpr-change",we)?Mn(`refresh:${L}`):we||Jt("terminal redraw skipped: fit/write already repaints",{reason:L});const Ze={cols:P.cols,rows:P.rows};Un(`refresh:${L}`);const ze={cols:P.cols,rows:P.rows};if(Q.skipResizePush||uS({before:Ze,after:ze,lastServerSize:xn.current.confirmed,reconcileServerSize:Q.reconcileServerSize})&&Dr(ze.cols,ze.rows),!Q.skipScrollToBottom&&L!=="resize"&&L!=="dpr-change"){const ar=requestAnimationFrame(()=>{const fn=fe.current;if(fn&&fn.buffer.active.type!=="alternate")try{fn.scrollToBottom()}catch{}}),Yr=oi.current,Pr=Yr.get(L);Pr!==void 0&&cancelAnimationFrame(Pr),Yr.set(L,ar)}},[Jt,sr,Qs,ii,Mn,Un,Dr]),nn=S.useCallback((L,Q={})=>{if(fe.current,L==="session-key-change"&&(xn.current=Hh(),ht(),Me.current.clear(),_e()),!Q.force&&(L==="visibility"||L==="bfcache"||L==="online")){const H=Date.now();if(H-fa.current<Gs){Jt("refresh throttled",{reason:L});return}fa.current=H}if(Ti.current.set(L,Q),oi.current.has(L))return;const P=requestAnimationFrame(()=>{const H=Ti.current.get(L)??{};oi.current.delete(L),Ti.current.delete(L),Nn(L,H)});oi.current.set(L,P)},[Jt,_e,ht,Nn]),r0=S.useCallback(L=>{const Q=oi.current.get(L);if(Q===void 0)return;const P=Ti.current.get(L)??{};cancelAnimationFrame(Q),oi.current.delete(L),Ti.current.delete(L),Nn(L,P)},[Nn]);aa.current=()=>r0("resize"),S.useEffect(()=>()=>{_e(),kt.current!==null&&(window.clearTimeout(kt.current),kt.current=null)},[e,_e]),S.useEffect(()=>{xn.current=Hh(),ht(),Me.current.clear()},[e,ht]);const nl=S.useCallback(()=>{if(Ct.current)return;const L=fe.current;if(!L){Cs();return}if(!J.current)return;const Q=J.current,P=Q.length,H=xe.current;J.current="",xe.current=null,Ct.current=!0;const Ee=be.current,we=Ee?.generation;L.write(Q,()=>{if(we!==void 0&&Ee?.written(we),Ct.current=!1,K.current-=P,K.current<0&&(K.current=0),H!==null&&Ue.current?.(H),Fe.current&&K.current<wC&&(Fe.current=!1,se.current?.(!1)),J.current){nl();return}const Ze=++xt.current,ze=()=>{if(Ze!==xt.current||Ct.current||J.current)return;const pt=L.buffer.active;Dt.current?.({x:pt.cursorX,y:pt.cursorY,rows:L.rows,lastProcessedChunkId:he.current})};typeof window>"u"?ze():window.requestAnimationFrame(()=>{window.requestAnimationFrame(ze)})})},[Cs]);De.current=nl;const n0=S.useCallback(()=>{if(Je.current!==null)return;const L=++vt.current;Je.current=L,queueMicrotask(()=>{Je.current===L&&(Je.current=null,nl())})},[nl]),js=S.useCallback((L,Q)=>{L&&(xt.current+=1,J.current+=L,xe.current=Q,K.current+=L.length,!Fe.current&&K.current>=vC&&(Fe.current=!0,se.current?.(!0)),n0())},[n0]);return S.useEffect(()=>{let L=!1,Q=null,P=null,H=[];const Ee=Ye.current;return Ee?(Ee.tabIndex=O?-1:0,(async()=>{if(Se.current?.(!1),Nr("loading"),rr(null),xs(!0),await SC(),!L)try{const Ze=_C(Ee,gg(He),ge,it,$e),ze=new g8({...Ze?{cols:Ze.cols,rows:Ze.rows}:{},allowProposedApi:!0,fontFamily:gg(He),fontSize:ge,fontWeight:xg(Ce),fontWeightBold:xg(Ve),theme:CC(F),logLevel:"off",cursorBlink:!sr,cursorStyle:"block",cursorInactiveStyle:ls.current?"bar":"none",scrollback:l?2e3:5e3,scrollbar:{showScrollbar:!1},allowTransparency:mS(ue,Ft),convertEol:V,drawBoldTextInBrightColors:ot,rescaleOverlappingGlyphs:yr,minimumContrastRatio:We,letterSpacing:it,lineHeight:$e,smoothScrollDuration:gr&&!ie.current?125:0,scrollOnEraseInDisplay:!0,tabStopWidth:8,vtExtensions:{kittyKeyboard:!0},windowOptions:{getWinSizePixels:!0,getCellSizePixels:!0,getWinSizeChars:!0}}),pt=new x8;ze.loadAddon(pt),ze.loadAddon(new fA),ze.registerLinkProvider(eC(ze,qt=>{rt.current?.(qt)}));const ar=new vA;ze.loadAddon(ar),ze.unicode.activeVersion=br,ze.loadAddon(new IA({highlightLimit:1e3}));const Yr=new NA;ze.loadAddon(Yr),je.current=Yr,ze.loadAddon(new JT);try{ze.loadAddon(new BA(void 0,new y3))}catch(qt){Jt("clipboard addon skipped",{error:qt})}Q=ze,fe.current=ze,oe.current=pt,Qt.current=typeof window<"u"?window.devicePixelRatio:1,ze.open(Ee),be.current=gS(ze),ct&&ze.loadAddon(new XT({fontFeatureSettings:SS,fallbackLigatures:CS}));try{const qt=ze._core;qt?.coreService&&(qt.coreService.isCursorInitialized=!0),ze.refresh(0,ze.rows-1)}catch{}if(sr?(ii(ze,"init"),Ge.current=!0):(Jt("renderer",{type:"dom",reason:"renderer-mode-dom-fallback",mobile:O,mode:ue}),Ge.current=!0),xs(!1),Bn(),O){const qt=Br=>{if(Br.ctrlKey||Br.metaKey){Br.preventDefault();const zn=Br.deltaY>0?-1:1,Ps=Math.max(8,Math.min(32,ge+zn));Ps!==ge&&Ee.dispatchEvent(new CustomEvent("termfontchange",{detail:Ps}))}};Ne.current=qt,Ee.addEventListener("wheel",qt,{passive:!1})}if(!O){let qt=0,Br=null,zn=null,Ps=null;const hs=()=>{Ps=null,aa.current();const Ln=Pl(fe.current,ge,$e),vo=cn.current+qt;qt=0;const Uo=Math.trunc(vo/Ln);if(cn.current=vo-Uo*Ln,Uo!==0){const Os=Uo>0?"down":"up",sl=fe.current,Pa=Math.max(3,Math.floor((sl?.rows??24)/2)),Ll=Math.abs(Uo);Ll>Pa&&(cn.current=0),bo.current(Os,Math.min(Ll,Pa),Br??void 0,zn??void 0)}};ze.attachCustomWheelEventHandler(Ln=>{if(Ln.ctrlKey||Ln.metaKey||Ln.shiftKey)return!0;if(Ln.deltaY===0)return!1;if(!fe.current||!_n.current)return!0;const Uo=Pl(fe.current,ge,$e);let Os=Ln.deltaY;return Ln.deltaMode===1?Os=Ln.deltaY*Uo:Ln.deltaMode===2&&(Os=Ln.deltaY*(Ee.clientHeight||Uo*20)),qt+=Os,Br=Ln.clientX,zn=Ln.clientY,Ps===null&&(Ps=requestAnimationFrame(hs)),Ln.preventDefault(),!1})}const Pr=bC(Ee);if(Pr?(Pr.classList.add("overlay-scrollbar-target","overlay-scrollbar-container"),Te.current=Pr,mr()):Te.current=null,nn("mount",{skipResizePush:!0,skipScrollToBottom:!0}),qr.current&&(O?ze.focus():Ke.current?.focus({preventScroll:!0})),O||jt.current(),H.push(ze.onRender(()=>{const qt=ze.buffer.active;Z.current?.({x:qt.cursorX,y:qt.cursorY,rows:ze.rows}),O||jt.current()})),!O){try{const qt=ze.textarea;if(qt){qt.tabIndex=-1,qt.setAttribute("aria-hidden","true"),qt.setAttribute("readonly",""),qt.value="";const Br=()=>{Ke.current?.focus({preventScroll:!0})};qt.addEventListener("focus",Br),H.push({dispose:()=>qt.removeEventListener("focus",Br)})}}catch{}try{H.push(ze.onCursorMove(()=>jt.current())),H.push(ze.onResize(()=>jt.current()))}catch{}}H.push(ze.onData(qt=>{Ie.current(qt)}));const fn=qt=>{const Br=typeof window<"u"?window.devicePixelRatio:1,zn=Math.abs(Br-Qt.current)>.001;return zn&&(Qt.current=Br,Jt("device pixel ratio changed",{value:Br,source:qt})),zn};if(P=new ResizeObserver(qt=>{if(!dS(Vn.current,Wi.current)){Jt("resize observer skipped: hidden mobile session");return}at.current=void 0;const Br=qt[0];Br&&Jt("resize observer",{width:Math.round(Br.contentRect.width),height:Math.round(Br.contentRect.height)});const zn=fn("resize-observer");nn(zn?"dpr-change":"resize")}),P.observe(Ee),typeof window<"u"){const qt=()=>{fn("window-resize")&&nn("dpr-change")};window.addEventListener("resize",qt),H.push({dispose:()=>window.removeEventListener("resize",qt)});const Br=window.visualViewport;if(Br){const zn=()=>{fn("visual-viewport-resize")&&nn("dpr-change")};Br.addEventListener("resize",zn),H.push({dispose:()=>Br.removeEventListener("resize",zn)})}}Un("init-fit"),Nr("ready"),Se.current?.(!0)}catch(Ze){console.error("Failed to initialize terminal:",Ze),xs(!1),Nr("error"),rr(Ze instanceof Error?Ze.message:"Failed to load terminal")}})(),()=>{Se.current?.(!1),L=!0,qe.current?.(!1),At.current?.(),At.current=null,j.current=!1,Oe.current!==null&&(clearTimeout(Oe.current),Oe.current=null),pe.current=!1,Cn.current=null,It(),Kn({active:!1,text:""});for(const Ze of H)Ze.dispose();P?.disconnect(),Ne.current&&(Ee.removeEventListener("wheel",Ne.current),Ne.current=null),be.current?.dispose(),be.current=null,Qs("component-unmount"),Q?.dispose(),fe.current=null,oe.current=null,Te.current=null,Cs({notifyFlowResume:!0}),ht()}):void 0},[Un,He,ge,Ce,Ve,it,$e,We,ot,br,bt,yr,ct,Ft,gr,F,Cs,It,O,ii,Qs,Jt,ht]),S.useEffect(()=>{const L=fe.current;L&&(L.options.smoothScrollDuration=gr&&!Ae?125:0)},[gr,Ae,Mr]),S.useEffect(()=>{const L=fe.current;L&&(L.options.cursorInactiveStyle=de?"bar":"none",de||L.blur())},[de,Mr]),S.useEffect(()=>{const L=fe.current;if(L){if(sr){if(L.options.cursorBlink=!1,ii(L,"renderer-mode-change")&&Ft&&!tr.current)try{L.loadAddon(new hT({storageLimit:64,pixelLimit:1<<24,sixelSupport:!0,iipSupport:!0,kittySupport:!0})),tr.current=!0}catch(P){Jt("image addon skipped",{error:P})}return}L.options.cursorBlink=!0,Qs("renderer-mode-change")&&(Mn("renderer-mode-change:webgl-disabled"),Un("renderer-mode-change:webgl-disabled"))}},[sr,Ft,ii,Qs,Mn,Un,Jt]),S.useEffect(()=>{const L=fe.current;L&&(he.current!==null&&L.reset(),Cs(),Et.current="",Qe.current=0,Ke.current&&(Ke.current.value=""),nn("session-reset",{skipScrollToBottom:!0}),qr.current&&(Vn.current?L.focus():Ke.current?.focus({preventScroll:!0})))},[e,Mr,nn,Cs]),S.useEffect(()=>{if(!O||typeof document>"u")return;let L=null;const Q=()=>{L=null;const H=Ke.current;if(!H||document.activeElement!==H||j.current)return;const Ee=Et.current,we=yc(H.value);if(we!==Ee||we.includes("\r")||!yt())return;const Ze=Math.min(ag(H),Array.from(we).length),ze=Ze-Qe.current;if(ze===0)return;const pt=fe.current,ar=ze<0?(pt?Al(pt,"D"):"\x1B[D").repeat(-ze):(pt?Al(pt,"C"):"\x1B[C").repeat(ze);Ie.current(ar),Qe.current=Ze},P=()=>{L===null&&(L=requestAnimationFrame(Q))};return document.addEventListener("selectionchange",P),()=>{document.removeEventListener("selectionchange",P),L!==null&&cancelAnimationFrame(L)}},[O,yt]),S.useEffect(()=>{if(!O)return;const L=Ii();return At.current=L,()=>{L(),At.current=null}},[O,Ii]),S.useEffect(()=>{const L=fe.current;if(L)try{L.options.scrollback=l?0:1e3}catch{}},[l,Mr]),S.useEffect(()=>{const L=fe.current;if(!L)return;if(r.length===0){he.current!==null&&(L.reset(),Cs(),nn("buffer-reset",{skipResizePush:!0,skipScrollToBottom:!0}));return}const Q=he.current;let P;if(Q===null)P=r;else{const H=r.findIndex(Ee=>Ee.id===Q);P=H>=0?r.slice(H+1):r}if(P.length>0){const H=P.map(ze=>ze.data).join(""),Ee=nt.current+H,{cleaned:we,remainder:Ze}=xC(Ee);nt.current=Ze,we?js(we,P[P.length-1].id):Ue.current?.(P[P.length-1].id)}he.current=r[r.length-1].id},[r,Mr,js,nn,Cs]),S.useImperativeHandle(Le,()=>({serializeSnapshot:()=>fe.current?je.current?.serialize({scrollback:100})??null:null,focus:()=>{if(Vn.current){si();return}Ke.current?.focus({preventScroll:!0})},blur:()=>{const L=Ke.current;vs(L),L&&typeof document<"u"&&document.activeElement===L&&L.blur(),Vn.current&&L?.setAttribute("readonly",""),qe.current?.(!1)},clear:()=>{const L=fe.current;L&&(L.reset(),Cs(),nn("clear",{skipResizePush:!0,skipScrollToBottom:!0}))},prepareScreenReplacement:()=>{Cs({notifyFlowResume:!0})},copySelectionOrViewport:async()=>{const L=fe.current;if(!L)return!1;const Q=L.hasSelection()?L.getSelection():LC(L),P=await yg(Q);return P&&L.hasSelection()&&or(),P},pasteClipboardText:async()=>{Xe();const L=await ir(Ke.current);return no.current?.(L),L},sendSequence:(L,Q)=>{hr(L,null,Q)},getDimensions:()=>{const L=fe.current;return!L||!L.cols||!L.rows?null:{cols:L.cols,rows:L.rows}},requestRefresh:nn,setSessionReady:L=>{dt.current=L,L||(be.current?.cancel(),ht(),xn.current=wS(xn.current),Vs.current=null,re.current=-1,Lt.current?.(!1))},acknowledgeResize:L=>{if(!L.ok&&typeof L.seq=="number"){const we=rg(xn.current,L.seq);if(!we.request&&!we.exhausted)return;ht(),xn.current=we.state,we.request&&dt.current?cr.current(we.request):we.exhausted&&be.current?.cancel();return}const Q=yS(xn.current,L);if(!Q.accepted)return;ht(),xn.current=Q.state,Jt("resize acknowledged",{seq:L.seq,ok:L.ok,cols:L.cols,rows:L.rows,screenSyncPending:L.screenSyncPending===!0,screenSyncGeneration:L.screenSyncGeneration});const P=fe.current,H=Q.state.confirmed;if(!!!(P&&H&&P.cols===H.cols&&P.rows===H.rows)){Lt.current?.(!1);return}if(L.screenSyncPending&&typeof L.screenSyncGeneration=="number"){Vs.current=L.screenSyncGeneration;const we=re.current>=L.screenSyncGeneration;Lt.current?.(we),we&&(Vs.current=null);return}Vs.current=null,Lt.current?.(!0)},notifyScreenSynchronized:L=>{if(!Number.isFinite(L))return;re.current=Math.max(re.current,L);const Q=Vs.current;if(Q===null||L<Q)return;Vs.current=null;const P=fe.current,H=xn.current.confirmed;Lt.current?.(!!(P&&H&&P.cols===H.cols&&P.rows===H.rows))},notifyServerSize:_s,ensureSizeMatches:Fo,requestPtyRedraw:()=>{const L=fe.current;if(!L||!dt.current||xn.current.pending||Vs.current!==null)return;const Q=bS(xn.current,{cols:L.cols,rows:L.rows});xn.current=Q.state,cr.current(Q.request)}}),[O,vs,si,Cs,ir,hr,nn,ht,Jt,Dr,_s,Fo]),c.jsxs("div",{ref:Ye,"data-termdock-terminal-dropzone":e,className:`relative h-full w-full terminal-viewport-container ${W||""}`,style:{backgroundColor:F.background,touchAction:gn.visible?"none":void 0},role:"button",tabIndex:-1,onPointerDownCapture:us,onPointerMoveCapture:yi,onPointerUpCapture:Gr,onPointerCancelCapture:qi,onTouchStartCapture:L=>{if(ws(L.target)){Xe(),Pn(vc);return}Vi(),Pn(vc)},onTouchMoveCapture:()=>Pn(vc),onTouchEndCapture:()=>Pn(wc),onTouchCancelCapture:()=>Pn(wc),onMouseDown:L=>{O||L.button===0&&(kt.current!==null&&(window.clearTimeout(kt.current),kt.current=null),requestAnimationFrame(()=>{try{Ke.current?.focus({preventScroll:!0})}catch{}}))},onMouseUp:L=>{O||L.button===0&&(kt.current!==null&&window.clearTimeout(kt.current),kt.current=window.setTimeout(()=>{kt.current=null;try{Ke.current?.focus({preventScroll:!0})}catch{}},0))},children:[lt&&c.jsx("button",{type:"button",role:"alert",onClick:()=>es(null),className:"absolute bottom-2 left-2 right-2 z-20 rounded-md border border-border bg-surface-2 px-3 py-2 text-left text-sm text-foreground",children:lt}),Tn&&c.jsxs("button",{type:"button","data-terminal-copy-popover":"true",className:"absolute z-30 inline-flex h-9 w-[88px] select-none items-center justify-center gap-1.5 rounded-full border border-white/15 bg-[rgb(28_28_30_/_0.92)] px-3 text-[13px] font-semibold text-white shadow-[0_10px_28px_rgb(0_0_0_/_0.32),0_2px_8px_rgb(0_0_0_/_0.18)] backdrop-blur-xl transition-transform duration-100 ease-out active:scale-[0.96]",style:{left:Tn.left,top:Tn.top,WebkitBackdropFilter:"blur(18px)"},onPointerDown:L=>{Xe(),L.stopPropagation()},onPointerUp:L=>{L.preventDefault(),L.stopPropagation(),Oo()},onTouchStart:L=>{Xe(),L.stopPropagation()},onTouchEnd:L=>{L.preventDefault(),L.stopPropagation(),Oo()},onClick:L=>{L.preventDefault(),L.stopPropagation(),Oo()},children:[c.jsx(Vy,{size:14,strokeWidth:2.4}),c.jsx("span",{children:ve("common.copy")})]}),Tr?.start&&c.jsx("div",{"data-selection-handle":"start",className:"absolute z-30 h-11 w-11 select-none",style:{left:Tr.start.left,top:Tr.start.top,transform:"translate(-50%, -100%)",touchAction:"none"},onPointerDown:L=>L.stopPropagation(),children:c.jsxs("div",{className:"pointer-events-none absolute bottom-0 left-1/2 flex -translate-x-1/2 flex-col items-center",children:[c.jsx("div",{className:"h-3.5 w-3.5 rounded-full bg-[var(--accent)] shadow-[0_1px_4px_rgb(0_0_0_/_0.4)]"}),c.jsx("div",{className:"h-3 w-0.5 bg-[var(--accent)]"})]})}),Tr?.end&&c.jsx("div",{"data-selection-handle":"end",className:"absolute z-30 h-11 w-11 select-none",style:{left:Tr.end.left,top:Tr.end.top,transform:"translate(-50%, 0)",touchAction:"none"},onPointerDown:L=>L.stopPropagation(),children:c.jsxs("div",{className:"pointer-events-none absolute left-1/2 top-0 flex -translate-x-1/2 flex-col items-center",children:[c.jsx("div",{className:"h-3 w-0.5 bg-[var(--accent)]"}),c.jsx("div",{className:"h-3.5 w-3.5 rounded-full bg-[var(--accent)] shadow-[0_1px_4px_rgb(0_0_0_/_0.4)]"})]})}),xo&&Qn&&c.jsx(jS,{}),xo&&Ir==="loading"&&!Qn&&c.jsx(QS,{}),Ir==="error"&&c.jsx(PS,{message:ae||void 0,onRetry:()=>{window.location.reload()}}),Ir==="ready"&&c.jsxs(c.Fragment,{children:[c.jsx("textarea",{ref:Ke,"aria-label":ve("terminal.input"),"data-terminal-input-anchor":"true",inputMode:"text",enterKeyHint:"enter",autoCapitalize:"off",autoComplete:"nope",autoCorrect:"off",spellCheck:!1,tabIndex:-1,style:{position:"absolute",opacity:0,zIndex:20,background:"transparent",color:"transparent",caretColor:"transparent",resize:"none",overflow:"hidden",border:"none",padding:0,margin:0,outline:"none",...O?{inset:0,touchAction:"none",userSelect:"none",WebkitUserSelect:"none",WebkitTouchCallout:"none",pointerEvents:"auto",fontSize:"16px"}:(()=>{const L=Mt.x,Q=Mt.y,P={position:"fixed",left:L,top:Q,pointerEvents:"none",touchAction:"auto",fontSize:`${ge}px`,fontFamily:He,lineHeight:"1",whiteSpace:"pre",boxSizing:"content-box",width:Math.max(1,Math.round(Mt.cellW)),height:Math.max(1,Math.round(Mt.cellH))};if(!rs.active)return P;const H=Xt(rs.text);return{...P,opacity:1,color:"transparent",WebkitTextFillColor:"transparent",background:"transparent",transition:"none",caretColor:"transparent",textDecorationColor:"transparent",wordBreak:"break-all",zIndex:20,width:H.width,height:H.height,whiteSpace:H.whiteSpace}})()},onContextMenu:L=>{L.preventDefault()},onFocus:()=>{Jt("input anchor focus"),at.current=void 0,jt.current(),nn("focus",{skipResizePush:!0,skipScrollToBottom:!0}),qe.current?.(!0)},onBlur:L=>{O||vs(L.currentTarget);const Q=Zr(),P=typeof document<"u"?document.activeElement:null;if(Jt("input anchor blur",{guarded:Q,activeTag:P?.tagName??null,activeClass:P?.className??null}),!Q){O&&Ke.current?.setAttribute("readonly",""),qe.current?.(!1);return}if(typeof window>"u"){qe.current?.(!1);return}window.setTimeout(()=>{Vt()||yt()||(O&&Ke.current?.setAttribute("readonly",""),qe.current?.(!1))},wc)},onBeforeInput:L=>{if(j.current)return;const Q=L.nativeEvent;if(Q instanceof InputEvent){if(Q.inputType==="insertFromPaste"||Q.inputType==="insertFromPasteAsQuotation"){const P=Q.dataTransfer?.getData("text/plain")||Q.data;if(P){L.preventDefault();const H=tn(P,L.currentTarget);O&&no.current?.(H)}return}if(Q.inputType==="insertLineBreak"){if(pe.current){pe.current=!1,Oe.current!==null&&(clearTimeout(Oe.current),Oe.current=null),L.preventDefault();return}L.preventDefault(),kr(L.currentTarget);return}if(Q.inputType==="deleteContentBackward"||Q.inputType==="deleteContentForward"||Q.inputType==="deleteByCut"){if(!L.currentTarget.value){L.preventDefault(),Ie.current("");return}if(Q.inputType==="deleteContentBackward"&&L.currentTarget.selectionStart===0&&L.currentTarget.selectionEnd===0){L.preventDefault(),Ie.current("");return}return}}},onInput:L=>{if(j.current)return;const Q=L.nativeEvent,P=aS(Et.current,yc(L.currentTarget.value),Q.inputType);if(P){const H=tn(P,L.currentTarget);O&&no.current?.(H);return}jr(L.currentTarget)},onPaste:L=>{const Q=Array.from(L.clipboardData.files).find(Ee=>Ee.type.startsWith("image/"));if(Q){L.preventDefault(),Jr(Q,L.currentTarget);return}const P=L.clipboardData.getData("text/plain");if(!P)return;L.preventDefault();const H=tn(P,L.currentTarget);O&&no.current?.(H)},onKeyDown:L=>{const Q=mC(L);if(!O){const P=fe.current,H=L.metaKey,Ee=L.ctrlKey,we=L.altKey,Ze=L.shiftKey,ze=L.key;if(H&&!Ee&&!we&&!Ze&&ze==="Enter"){L.preventDefault(),kr(L.currentTarget);return}if((H||Ee)&&!we&&!Ze&&(ze==="v"||ze==="V"))return;if(H&&!Ee&&!we&&!Ze&&(ze==="c"||ze==="C")){L.preventDefault();const pt=P?.hasSelection()?P.getSelection():"";pt&&navigator.clipboard?.writeText(pt).catch(()=>{});return}if((H||Ee)&&!we&&!Ze&&(ze==="k"||ze==="K")){L.preventDefault(),P&&(P.reset(),Cs(),nn("clear",{skipResizePush:!0,skipScrollToBottom:!0})),L.currentTarget.value="",Et.current="",Qe.current=0;return}if(H&&!Ee&&!we&&!Ze&&ze==="Backspace"){L.preventDefault(),hr("",L.currentTarget);return}if(H&&!Ee&&!we&&!Ze&&ze==="Delete"){L.preventDefault(),hr("\v",L.currentTarget);return}if(H&&!Ee&&!we&&!Ze&&ze==="ArrowLeft"){L.preventDefault(),hr("",L.currentTarget);return}if(H&&!Ee&&!we&&!Ze&&ze==="ArrowRight"){L.preventDefault(),hr("",L.currentTarget);return}if(H)return;if(Ee&&!we&&!Ze&&ze===" "){L.preventDefault(),hr("\0",L.currentTarget);return}if(Ee&&!we&&!H&&ze.length===1){const pt=ze.toLowerCase().charCodeAt(0);if(pt>=64&&pt<=127){L.preventDefault(),hr(String.fromCharCode(pt&31),L.currentTarget);return}}if(we&&!Ee&&!H&&!Ze&&ze==="Backspace"){L.preventDefault(),hr("\x1B",L.currentTarget);return}if(we&&!Ee&&!H&&!Ze&&ze==="Delete"){L.preventDefault(),hr("\x1Bd",L.currentTarget);return}if(we&&!Ee&&!H&&!Ze&&ze==="ArrowLeft"){L.preventDefault(),hr("\x1Bb",L.currentTarget);return}if(we&&!Ee&&!H&&!Ze&&ze==="ArrowRight"){L.preventDefault(),hr("\x1Bf",L.currentTarget);return}if(we&&!Ee&&!H&&ze.length===1){L.preventDefault(),hr(`\x1B${ze}`,L.currentTarget);return}if(Q||j.current)return;if(P){const pt=pC(L,P);if(pt!==null){L.preventDefault(),hr(pt,L.currentTarget);return}}}if(L.key==="Enter"||L.key==="Go"||L.key==="done"||L.key==="send"){if(Q||j.current){L.preventDefault();return}if(pe.current){pe.current=!1,Oe.current!==null&&(clearTimeout(Oe.current),Oe.current=null),L.preventDefault();return}L.preventDefault(),kr(L.currentTarget);return}if(L.key==="Backspace"){if(j.current)return;if(!L.currentTarget.value){L.preventDefault(),Ie.current("");return}if(L.currentTarget.selectionStart===0&&L.currentTarget.selectionEnd===0){L.preventDefault(),Ie.current("");return}}},onCompositionStart:()=>{j.current=!0,fr(),Kn({active:!0,text:""})},onCompositionUpdate:L=>{j.current=!0;const Q=L.data??L.currentTarget.value;Kn(P=>P.active&&P.text===Q?P:{active:!0,text:Q})},onCompositionEnd:L=>{j.current=!1,pe.current=!0,Oe.current!==null&&clearTimeout(Oe.current),Oe.current=setTimeout(()=>{pe.current=!1,Oe.current=null},50),Kn({active:!1,text:""}),jr(L.currentTarget),dn()}}),rs.active&&(()=>{const L=Xt(rs.text);return c.jsx("div",{"aria-hidden":"true","data-terminal-ime-composition":"true",style:{position:"fixed",left:Mt.x,top:Mt.y,zIndex:21,pointerEvents:"none",overflow:"hidden",boxSizing:"content-box",width:L.width,height:L.height,margin:0,padding:0,color:F.foreground,background:F.background,boxShadow:`-1px 0 0 1px ${F.background}`,fontSize:`${ge}px`,fontFamily:He,lineHeight:"1",textDecorationLine:"underline",textDecorationStyle:"solid",textDecorationColor:F.foreground,wordBreak:"break-all",whiteSpace:L.whiteSpace,transition:"none"},children:rs.text})})(),c.jsx("div",{"aria-hidden":!0,className:`absolute left-1/2 -translate-x-1/2 top-6 z-30 pointer-events-none
65
+ rounded-full bg-[var(--surface-elevated)] px-4 py-1.5 text-sm font-semibold text-foreground
66
+ shadow-lg transition-all duration-150 ease-out`,style:{opacity:Gn?1:0,transform:Gn?"translate(-50%, 0) scale(1)":"translate(-50%, -8px) scale(0.9)"},children:"Tab"}),c.jsx("div",{ref:En,"aria-hidden":!0,className:"absolute left-1/2 top-6 z-30 pointer-events-none transition-opacity duration-150 ease-out",style:{opacity:gn.visible?1:0,transform:gn.visible?"translate(-50%, 0) scale(1)":"translate(-50%, -8px) scale(0.9)"},children:gn.visible&&(()=>{const{activeDir:L}=gn,Q=P=>L===P;return c.jsxs("div",{className:"flex flex-col items-center gap-0.5 rounded-xl bg-[var(--overlay-background)] backdrop-blur-sm shadow-lg px-1.5 py-1.5",children:[c.jsx("div",{className:`w-7 h-7 flex items-center justify-center rounded-lg transition-colors ${Q("up")?"bg-[var(--overlay-control-bg)] text-[color:var(--overlay-foreground)]":"text-[rgb(var(--overlay-foreground-rgb)_/_0.34)]"}`,children:c.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:c.jsx("path",{d:"M12 19V5M7 11l5-5 5 5"})})}),c.jsxs("div",{className:"flex items-center gap-0.5",children:[c.jsx("div",{className:`w-7 h-7 flex items-center justify-center rounded-lg transition-colors ${Q("left")?"bg-[var(--overlay-control-bg)] text-[color:var(--overlay-foreground)]":"text-[rgb(var(--overlay-foreground-rgb)_/_0.34)]"}`,children:c.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:c.jsx("path",{d:"M19 12H5M12 19l-7-7 7-7"})})}),c.jsx("div",{className:"w-7 h-7 flex items-center justify-center rounded-lg text-[rgb(var(--overlay-foreground-rgb)_/_0.18)]",children:c.jsx("svg",{width:"8",height:"8",viewBox:"0 0 24 24",fill:"currentColor",children:c.jsx("circle",{cx:"12",cy:"12",r:"4"})})}),c.jsx("div",{className:`w-7 h-7 flex items-center justify-center rounded-lg transition-colors ${Q("right")?"bg-[var(--overlay-control-bg)] text-[color:var(--overlay-foreground)]":"text-[rgb(var(--overlay-foreground-rgb)_/_0.34)]"}`,children:c.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:c.jsx("path",{d:"M5 12h14M12 5l7 7-7 7"})})})]}),c.jsx("div",{className:`w-7 h-7 flex items-center justify-center rounded-lg transition-colors ${Q("down")?"bg-[var(--overlay-control-bg)] text-[color:var(--overlay-foreground)]":"text-[rgb(var(--overlay-foreground-rgb)_/_0.34)]"}`,children:c.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:c.jsx("path",{d:"M12 5v14M19 12l-7 7-7-7"})})})]})})()})]})]})});D3.displayName="TerminalViewport";const kC=D3,Dp=new Set(["bash","zsh","fish","sh","dash","ksh","tcsh","csh","nu"]);function ka(e){if(!e)return null;if(e==="/")return"/";const t=e.replace(/\/+$/,"").split("/");return t[t.length-1]||e}function Za(e,t,r,s=Dp,i=null,u=null){if(e.customName)return{primary:e.name,secondary:ka(r)};if(i){const h=ka(r),p=i===r||i===h;if(u!=="idle"&&!s.has(i)&&!p)return{primary:i,secondary:h}}if(t&&!s.has(t))return{primary:t,secondary:ka(r)};const l=ka(r);return l?{primary:l,secondary:null}:{primary:e.name,secondary:null}}function EC(e,t,r,s=Dp,i=null,u=null){return Za(e,t,r,s,i,u).primary}function Bp(e,t,r){const s=[],i=new Map;for(const u of e){const l=t(u),h=l&&l.trim().length>0?l:"";let p=i.get(h);p||(p={key:h,label:h?ka(h)??h:r,sessions:[]},i.set(h,p),s.push(p)),p.sessions.push(u)}return s.sort((u,l)=>(u.key===""?1:0)-(l.key===""?1:0))}function Vh(e){return e&&e.trim().length>0?e:""}function B3(e,t,r){const s=[...e],[i]=s.splice(t,1);return i?(s.splice(r,0,i),s.flatMap(u=>u.sessions.map(l=>l.id))):e.flatMap(u=>u.sessions.map(l=>l.id))}function RC(e,t,r,s){return e.flatMap(i=>{if(i.key!==t)return i.sessions.map(h=>h.id);const u=i.sessions.map(h=>h.id),[l]=u.splice(r,1);return l===void 0?i.sessions.map(h=>h.id):(u.splice(s,0,l),u)})}function Q3(e,t,r,s){if(!r)return{arranged:e,groups:[]};const i=Bp(e,t,s);return{arranged:i.flatMap(l=>l.sessions),groups:i}}function MC(e){return e.isActive&&e.viewportFocused&&e.documentVisible&&e.windowFocused&&e.streamReady}function NC(e){return e.isActive&&e.documentVisible&&e.streamReady&&(!e.isDesktop||e.windowFocused)}function DC(e){return e.isActive&&!e.isMobile&&e.documentVisible&&!e.activeElementIsEditable}function BC(e,t){return!e&&t}const QC=e=>{const t=e?.retry;return{maxRetries:t?.maxRetries??3,initialRetryDelay:t?.initialDelayMs??1e3,maxRetryDelay:t?.maxDelayMs??8e3,connectionTimeout:e?.connectionTimeoutMs??1e4}},jC=()=>({async createSession(e){return e7(e)},connect(e,t,r){const s=Jy(e,t.onEvent,t.onError,{...QC(r),getDimensions:r?.getDimensions});return{close:()=>s()}},async sendInput(e,t){await I5(e,t)},async resize(e){await Xy(e.sessionId,e.cols,e.rows,e.seq)},async close(e){await L5(e)},async restartSession(e,t){return Ky(e,{cols:t.cols,rows:t.rows,mode:t.mode,tmuxSessionName:t.tmuxSessionName})},async forceKill(e){await Yy(e)},async tmuxAction(e,t){return Zy(e,t)},async listTmuxSessions(){return Lf()},async getTmuxStatus(){return _f()},async checkHealth(e){return qy(e)}}),PC="\x1B",OC=/\x1b\[[IO]/g,FC=/\x1b\[<[0-9]+;[0-9]+;[0-9]+[mM]/y,UC=/\x1b\[[0-9]+;[0-9]+;[0-9]+M/y;function wg(e,t,r){return e.lastIndex=r,e.exec(t)?e.lastIndex:-1}function $C(e){const t=e.replace(OC,"");if(t.length===0)return e.length>0;let r=0;for(;r<t.length;){let s=wg(FC,t,r);if(s<0&&(s=wg(UC,t,r)),s<0&&t.startsWith("\x1B[M",r)&&t.length>=r+6&&(s=r+6),s<0)return!1;r=s}return!0}function zC(e){return e===PC}function Wf(e,t){return e.label.trim().length>0?e.label:`Key ${t+1}`}const Dc=15;function HC(){return j3.map(e=>e.id)}const j3=[{id:"default",label:"Base",programs:[],includeAlt:!0,rowLayout:[3,3,3],actions:[],showOnDesktop:!1},{id:"opencode",label:"Code",programs:["opencode"],includeAlt:!1,rowLayout:[6],actions:[{id:"opencode-undo",label:"/undo",sequence:"/undo",doubleTapSequence:"/undo||\r"},{id:"opencode-new",label:"/new",sequence:"/new",doubleTapSequence:"/new||\r"},{id:"opencode-models",label:"/models",sequence:"/models",doubleTapSequence:"/models||\r"},{id:"opencode-compact",label:"/compact",sequence:"/compact",doubleTapSequence:"/compact||\r"}],showOnDesktop:!0},{id:"claude",label:"Claude",programs:["claude","claude-code"],includeAlt:!1,rowLayout:[6],actions:[{id:"claude-undo",label:"/undo",sequence:"/undo",doubleTapSequence:"/undo\r"},{id:"claude-clear",label:"/clear",sequence:"/clear",doubleTapSequence:"/clear\r"},{id:"claude-compact",label:"/compact",sequence:"/compact",doubleTapSequence:"/compact\r"}],showOnDesktop:!0},{id:"kimi",label:"Kimi",programs:["kimi","kimi-code"],includeAlt:!1,rowLayout:[6],actions:[{id:"kimi-undo",label:"/undo",sequence:"/undo",doubleTapSequence:"/undo\r"},{id:"kimi-new",label:"/new",sequence:"/new",doubleTapSequence:"/new\r"},{id:"kimi-sessions",label:"/sessions",sequence:"/sessions",doubleTapSequence:"/sessions\r"},{id:"kimi-compact",label:"/compact",sequence:"/compact",doubleTapSequence:"/compact\r"},{id:"kimi-goal",label:"/goal",sequence:"/goal",doubleTapSequence:"/goal\r"}],showOnDesktop:!0},{id:"codex",label:"Codex",programs:["codex"],includeAlt:!1,rowLayout:[6],actions:[{id:"codex-undo",label:"/undo",sequence:"/undo",doubleTapSequence:"/undo\r"},{id:"codex-clear",label:"/clear",sequence:"/clear",doubleTapSequence:"/clear\r"},{id:"codex-model",label:"/model",sequence:"/model",doubleTapSequence:"/model\r"},{id:"codex-compact",label:"/compact",sequence:"/compact",doubleTapSequence:"/compact\r"},{id:"codex-resume",label:"/resume",sequence:"/resume",doubleTapSequence:"/resume\r"}],showOnDesktop:!0},{id:"coco",label:"Coco",programs:["coco"],includeAlt:!1,rowLayout:[6],actions:[{id:"coco-undo",label:"/undo",sequence:"/||undo ",doubleTapSequence:"/||undo ||\r"},{id:"coco-clear",label:"/clear",sequence:"/||clear ",doubleTapSequence:"/||clear ||\r"},{id:"coco-model",label:"/model",sequence:"/||model ",doubleTapSequence:"/||model ||\r"},{id:"coco-resume",label:"/resume",sequence:"/||resume ",doubleTapSequence:"/||resume ||\r"}],showOnDesktop:!0},{id:"traex",label:"TraeX",programs:["traex","traecli"],includeAlt:!1,rowLayout:[6],actions:[{id:"traex-undo",label:"/undo",sequence:"/||undo ",doubleTapSequence:"/||undo ||\r"},{id:"traex-clear",label:"/clear",sequence:"/||clear ",doubleTapSequence:"/||clear ||\r"},{id:"traex-compact",label:"/compact",sequence:"/||compact ",doubleTapSequence:"/||compact ||\r"},{id:"traex-model",label:"/model",sequence:"/||model ",doubleTapSequence:"/||model ||\r"},{id:"traex-resume",label:"/resume",sequence:"/||resume ",doubleTapSequence:"/||resume ||\r"}],showOnDesktop:!0}];function Vc(){return j3.map(e=>({...e,programs:[...e.programs],includeAlt:e.includeAlt,rowLayout:[...e.rowLayout],actions:e.actions.map(t=>({...t})),showOnDesktop:e.showOnDesktop}))}function Qp(e){const t=Array.isArray(e)?e.map(r=>Math.min(20,Math.max(2,Math.floor(r)))).filter(r=>Number.isFinite(r)):[];return t.length>0?t:[3,3]}function P3(e){if(typeof e!="string")return null;const t=e.trim().toLowerCase();return t.length>0?t:null}const jp=/^\/(.+)\/([gimsuy]*)$/;function Ag(e){return jp.test(e.trim())}function hd(e){const t=e.trim().match(jp);if(!t)return null;try{return new RegExp(t[1]??"",t[2]??"")}catch{return null}}function O3(e){if(typeof e!="string")return null;const t=e.trim();return t?jp.test(t)?hd(t)?t:null:t.toLowerCase():null}function Tg(e){return e.replace(/\\u([0-9a-fA-F]{4})/g,(t,r)=>String.fromCharCode(Number.parseInt(r,16))).replace(/\\r/g,"\r").replace(/\\n/g,`
67
+ `).replace(/\\t/g," ")}const Sg="||",WC=120;function GC(e){return e.includes(Sg)?e.split(Sg).filter(t=>t.length>0):[e]}function R0(e){const t=new Set,r=e.map((i,u)=>{const l=typeof i.id=="string"&&i.id.trim().length>0?i.id.trim().toLowerCase().replace(/[^a-z0-9_-]/g,"-"):`preset-${u+1}`,h=t.has(l)?`${l}-${u+1}`:l;return t.add(h),{id:h,label:typeof i.label=="string"&&i.label.trim().length>0?i.label.trim():"Preset",programs:Array.isArray(i.programs)?i.programs.map(p=>O3(p)).filter(p=>!!p):[],includeAlt:typeof i.includeAlt=="boolean"?!!i.includeAlt:!1,rowLayout:Qp(i.rowLayout),showOnDesktop:typeof i.showOnDesktop=="boolean"?!!i.showOnDesktop:!1,actions:Array.isArray(i.actions)?i.actions.map((p,g)=>{const x={id:typeof p.id=="string"&&p.id.trim().length>0?p.id:`${h}-action-${g+1}`,label:typeof p.label=="string"?p.label:`Key ${g+1}`,sequence:typeof p.sequence=="string"?p.sequence:""};return typeof p.doubleTapSequence=="string"&&(x.doubleTapSequence=p.doubleTapSequence),x}):[]}}).filter(i=>i.id!=="auto"),s=Vc()[0];return s&&!r.some(i=>i.id==="default")&&r.unshift(s),r}function VC(e,t){const r=P3(e);if(!r)return"default";for(const s of t)if(s.id!=="default")for(const i of s.programs){const u=hd(i);if(u){if(u.test(r))return s.id}else if(r.includes(i))return s.id}return"default"}function Cg(e,t){return e.find(r=>r.id===t)??e.find(r=>r.id==="default")??Vc()[0]}function qC(e){return[{id:"auto",label:"Auto"},...e.map(t=>({id:t.id,label:t.label}))]}function ZC(e){return[{id:"auto",label:"Auto"},...e.filter(t=>t.showOnDesktop===!0).map(t=>({id:t.id,label:t.label}))]}function F3(e,t){const r=Qp(t),s=[];let i=0,u=0;for(;i<e.length;){const l=r[Math.min(u,r.length-1)]??3;s.push({columns:l,items:e.slice(i,i+l)}),i+=l,u+=1}return s}const U3=28,$3=({mode:e,presetLabel:t,title:r,ariaLabel:s,disabled:i,onPointerDown:u,buttonRef:l})=>c.jsx("button",{ref:l,type:"button",onPointerDown:u,tabIndex:-1,disabled:i,className:"h-7 w-7 rounded-full bg-surface-2 shadow-sm text-[11px] font-medium active:bg-accent active:text-accent-foreground transition-all keyboard-button-active disabled:opacity-50 flex items-center justify-center",title:r,"aria-label":s??r,children:e==="auto"?c.jsx(o9,{size:14}):(t.charAt(0)||"?").toUpperCase()}),YC={esc:"\x1B",enter:"\r",home:"\x1B[H",end:"\x1B[F","ctrl-c":"","ctrl-d":"","ctrl-w":"","ctrl-u":""},Bu=8;function KC(e,t){return YC[e]??null}const XC=({visible:e,interactive:t=!0,presentation:r="mobile",activeModifier:s,lockedModifier:i,disabled:u,defaultShowExtended:l=!1,presetLabel:h,presetModeLabel:p,presetMode:g,presetOptions:x,includeAlt:b,presetRowLayout:v,extraActions:A,onKeyPress:k,onTextPress:I,onPastePress:R,onFilePress:M,fileUploadState:B="idle",fileUploadProgress:F=0,longPressMode:W="arrows",copyFeedback:O="idle",onLongPressModeToggle:q,onModifierToggle:ee,onPresetSelect:de,onExpandedChange:Ae})=>{const{t:Le}=ln(),[ve,Ye]=S.useState(l),[Te,fe]=S.useState(!1),je=S.useRef(null),be=r==="desktop-actions",ie=be||ve,[oe,Ie]=S.useState(!1),[ke,qe]=S.useState(null),se=u||!e||!t,Se=u||!e,Lt=S.useRef(null),Dt=S.useRef(null),Ue=S.useRef(null),Z=S.useRef(null),rt=S.useRef(null),gt=S.useRef(O),J=S.useRef(null),K=S.useRef(0),Fe=S.useCallback(Qe=>{if(se)return;const et=Qe.target;if(!(et instanceof HTMLElement))return;const lr=et.closest("button"),Ne=lr?.hasAttribute("data-mobile-native-action")===!0;lr&&!Ne?(Qe.preventDefault(),Jo(Bu)):lr&&Jo(Bu)},[se]),Je=S.useCallback(Qe=>{Qe.preventDefault()},[]),vt=S.useCallback(Qe=>{const et=Qe.target;se||et instanceof HTMLElement&&et.closest("button")&&et.blur()},[se]);S.useEffect(()=>{Ye(l)},[l]),S.useEffect(()=>{be||Ae?.(ve)},[be,Ae,ve]),S.useEffect(()=>{se&&(J.current!==null&&(window.clearTimeout(J.current.timer),J.current=null),Ie(!1),qe(null))},[se]),S.useEffect(()=>{e||(Ie(!1),qe(null))},[e]),S.useEffect(()=>{if(!oe)return;const Qe=()=>{const et=Lt.current?.getBoundingClientRect();et&&qe({left:Math.max(8,et.left),top:Math.max(8,et.top-8)})};return Qe(),window.addEventListener("resize",Qe),window.addEventListener("scroll",Qe,!0),()=>{window.removeEventListener("resize",Qe),window.removeEventListener("scroll",Qe,!0)}},[oe]),S.useEffect(()=>{const Qe=gt.current;if(gt.current=O,O==="idle"||O===Qe)return;if(rt.current!==null&&window.clearTimeout(rt.current),!(typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches))if(O==="copied"){Dt.current?.animate?.([{transform:"scale(1)"},{transform:"scale(1.16)",offset:.28},{transform:"scale(0.96)",offset:.62},{transform:"scale(1)"}],{duration:720,easing:"cubic-bezier(0.16, 1, 0.3, 1)"});const lr=[{opacity:0,transform:"scale(0.65)"},{opacity:.75,transform:"scale(0.9)",offset:.18},{opacity:0,transform:"scale(1.65)"}];Ue.current?.animate?.(lr,{duration:760,easing:"ease-out"}),Z.current?.animate?.(lr,{duration:760,delay:130,easing:"ease-out"})}else Dt.current?.animate?.([{transform:"translateX(0)"},{transform:"translateX(-2px)"},{transform:"translateX(2px)"},{transform:"translateX(0)"}],{duration:280,easing:"ease-out"});Jo(Bu),O==="copied"&&(rt.current=window.setTimeout(()=>{Jo(Bu),rt.current=null},90),W==="copy"&&q?.())},[O,W,q]),S.useEffect(()=>()=>{rt.current!==null&&window.clearTimeout(rt.current)},[]);const xt=S.useCallback((Qe,et)=>{se||(Qe.preventDefault(),k(et))},[k,se]),Ct=S.useCallback((Qe,et)=>{se||(Qe.preventDefault(),ee(et))},[ee,se]),he=S.useCallback(Qe=>{se||(Qe.preventDefault(),Ye(et=>{const lr=!et;return lr&&(fe(!0),je.current!==null&&window.clearTimeout(je.current),je.current=window.setTimeout(()=>{fe(!1),je.current=null},350)),lr}))},[se]),xe=S.useCallback(()=>{const Qe=typeof performance<"u"?performance.now():Date.now();Qe-K.current<350||(K.current=Qe,R?.())},[R]),De=S.useCallback(Qe=>{se||(Qe.stopPropagation(),Qe.pointerType!=="touch"&&(Qe.preventDefault(),xe()))},[se,xe]),At=S.useCallback(Qe=>{se||(Qe.preventDefault(),Qe.stopPropagation(),xe())},[se,xe]),Ke=S.useCallback(Qe=>{se||B==="uploading"||!M||(Qe.preventDefault(),Qe.stopPropagation(),M())},[B,M,se]),at=S.useCallback(Qe=>{se||Qe.stopPropagation()},[se]),kt=250,tr=S.useCallback(()=>{J.current!==null&&(window.clearTimeout(J.current.timer),J.current=null)},[]);S.useEffect(()=>()=>{tr(),je.current!==null&&(window.clearTimeout(je.current),je.current=null)},[tr]);const pr=S.useCallback((Qe,et)=>{if(se)return;if(Qe.preventDefault(),!et.doubleTapSequence){I(et.sequence);return}const lr=J.current;if(lr!==null&&lr.actionId===et.id){window.clearTimeout(lr.timer),J.current=null,I(et.doubleTapSequence);return}tr();const Ne=window.setTimeout(()=>{J.current=null,I(et.sequence)},kt);J.current={actionId:et.id,timer:Ne}},[tr,I,se]),nt=S.useCallback(Qe=>{se||(Qe.preventDefault(),Qe.stopPropagation(),q?.())},[q,se]),ft=S.useCallback(Qe=>{se||Qe.stopPropagation()},[se]),_t=S.useCallback(Qe=>{if(se)return;Qe.preventDefault();const et=Qe.currentTarget.getBoundingClientRect();qe({left:Math.max(8,et.left),top:Math.max(8,et.top-8)}),Ie(lr=>!lr)},[se]),Tt=S.useCallback((Qe,et)=>{se||(Qe.preventDefault(),Ie(!1),qe(null),de(et))},[de,se]),Qt=A.length>0,j=S.useMemo(()=>{const Qe=[{id:"preset",kind:"preset"}];if(!be&&b&&Qe.push({id:"alt",kind:"alt"}),Qt){const et=A.map(lr=>({id:lr.id,kind:"text",action:lr}));return Qe.concat(et)}return be?Qe:Qe.concat([{id:"home",kind:"key",keyName:"home"},{id:"end",kind:"key",keyName:"end"},{id:"ctrl-d",kind:"key",keyName:"ctrl-d"}])},[A,Qt,b,be]),pe=S.useMemo(()=>F3(j,v),[j,v]),Oe=`${be?"space-y-1":"mt-1 space-y-1"}${Te?" pointer-events-none":""}`,Et=oe&&ke?Ra.createPortal(c.jsx("div",{className:"fixed z-popover min-w-28 -translate-y-full rounded-2xl bg-surface-elevated p-1.5 shadow-xl border border-border/15",style:{left:ke.left,top:ke.top},children:c.jsx("div",{className:"grid gap-1",children:x.map(Qe=>c.jsx("button",{type:"button",onPointerDown:et=>Tt(et,Qe.id),tabIndex:-1,disabled:Se,className:`h-7 rounded-full px-3 text-left text-xs font-medium transition-colors disabled:opacity-50 ${Qe.id===g?"bg-primary text-primary-foreground":"bg-surface-2 hover:bg-surface-elevated text-muted-foreground hover:text-foreground"}`,children:Qe.label},Qe.id))})}),document.body):null;return c.jsxs(c.Fragment,{children:[Et,c.jsx("div",{"data-mobile-keyboard":"true",className:`z-chrome select-none overflow-hidden app-chrome-bg transition-all duration-150 ease-out px-1 py-0 ${e?be?"max-h-24":"max-h-40":"max-h-0"} ${e?"opacity-100 pointer-events-auto":"opacity-0 pointer-events-none"} ${t?"":"[&_button]:pointer-events-none"}`,onMouseDownCapture:Fe,onPointerDownCapture:Fe,onContextMenuCapture:Je,onFocusCapture:vt,children:c.jsxs("div",{className:"rounded-2xl bg-surface-elevated p-0.5 space-y-0.5",children:[!be&&c.jsxs("div",{"data-mobile-keyboard-primary-row":"true",className:"grid grid-cols-10 gap-1",children:[c.jsx("button",{type:"button",onPointerDown:Qe=>xt(Qe,"esc"),tabIndex:-1,disabled:Se,className:"h-7 w-full rounded-full bg-surface-2 shadow-sm text-xs active:bg-accent active:text-accent-foreground transition-all keyboard-button-active disabled:opacity-50",children:"Esc"}),c.jsx("button",{type:"button",onPointerDown:Qe=>Ct(Qe,"ctrl"),tabIndex:-1,disabled:Se,className:`h-7 w-full rounded-full shadow-sm text-xs disabled:opacity-50 flex items-center justify-center transition-all ${s==="ctrl"?"bg-primary text-primary-foreground scale-105 shadow-md shadow-primary/40":"bg-surface-2"} ${i==="ctrl"?"ring-2 ring-accent":""}`,children:c.jsx("span",{className:"font-medium",children:i==="ctrl"?"Ctrl*":"Ctrl"})}),c.jsx("button",{type:"button",onPointerDown:Qe=>xt(Qe,"ctrl-c"),tabIndex:-1,disabled:Se,className:"h-7 w-full rounded-full bg-surface-2 shadow-sm text-xs active:bg-accent active:text-accent-foreground transition-all keyboard-button-active disabled:opacity-50",children:"C-C"}),c.jsx("button",{type:"button",onPointerDown:Qe=>xt(Qe,"ctrl-u"),tabIndex:-1,disabled:Se,className:"h-7 w-full rounded-full bg-surface-2 shadow-sm text-xs active:bg-accent active:text-accent-foreground transition-all keyboard-button-active disabled:opacity-50",children:"C-U"}),c.jsxs("button",{type:"button","data-mobile-native-action":"true",onPointerDown:at,onTouchStart:at,onClick:Ke,tabIndex:-1,disabled:Se||!M||B==="uploading",title:B==="uploading"?`${Le("rightSidebar.uploading")} ${Math.round(F)}%`:Le(B==="inserted"?"rightSidebar.inserted":B==="failed"?"rightSidebar.uploadFailed":"rightSidebar.insertLocalFile"),"aria-label":Le("rightSidebar.insertLocalFile"),className:`relative h-7 w-full overflow-hidden rounded-full shadow-sm active:bg-accent active:text-accent-foreground transition-all keyboard-button-active disabled:opacity-50 flex items-center justify-center ${B==="inserted"?"bg-primary/15 text-primary":B==="failed"?"bg-destructive/15 text-destructive":"bg-surface-2"}`,children:[B==="uploading"&&c.jsx("span",{"aria-hidden":"true","data-file-upload-progress":"true",className:"absolute inset-y-0 left-0 bg-primary/25 transition-[width] duration-150 ease-out",style:{width:`${Math.max(0,Math.min(100,F))}%`}}),c.jsx("span",{className:"relative z-10 flex items-center justify-center",children:B==="uploading"?c.jsx(Xr,{size:15,className:"animate-spin"}):B==="inserted"?c.jsx(sa,{size:15}):B==="failed"?c.jsx($s,{size:15}):c.jsx(nv,{size:15})}),B!=="idle"&&c.jsx("span",{className:"sr-only",role:"status","aria-live":"polite",children:B==="uploading"?`${Le("rightSidebar.uploading")} ${Math.round(F)}%`:Le(B==="inserted"?"rightSidebar.inserted":"rightSidebar.uploadFailed")})]}),c.jsx("button",{type:"button",onPointerDown:()=>I("/"),tabIndex:-1,disabled:Se,className:"h-7 w-full rounded-full bg-surface-2 shadow-sm text-xs active:bg-accent active:text-accent-foreground transition-all keyboard-button-active disabled:opacity-50",children:"/"}),c.jsx("button",{type:"button",onPointerDown:Qe=>xt(Qe,"enter"),tabIndex:-1,disabled:Se,className:"h-7 w-full rounded-full bg-surface-2 shadow-sm active:bg-accent active:text-accent-foreground transition-all keyboard-button-active disabled:opacity-50 flex items-center justify-center",children:c.jsx(K8,{size:16})}),c.jsxs("button",{ref:Dt,type:"button","data-mobile-copy-button":"true","data-mobile-native-action":"true",onPointerDown:ft,onTouchStart:ft,onClick:nt,tabIndex:-1,disabled:Se,title:Le(O==="copied"?"terminal.copied":O==="failed"?"terminal.copyFailed":W==="copy"?"terminal.longPressSelectsText":"terminal.longPressSendsArrows"),"aria-label":Le(W==="copy"?"terminal.switchLongPressToArrows":"terminal.switchLongPressToCopy"),className:`relative isolate h-7 w-full overflow-visible rounded-full shadow-sm active:bg-accent active:text-accent-foreground transition-colors keyboard-button-active disabled:opacity-50 flex items-center justify-center ${O==="copied"?"bg-primary/15 text-primary":O==="failed"?"bg-destructive/15 text-destructive":W==="copy"?"bg-primary/15 text-primary":"bg-surface-2"}`,children:[c.jsx("span",{ref:Ue,"aria-hidden":"true",className:"pointer-events-none absolute inset-0 z-0 rounded-full border border-primary/70 opacity-0"}),c.jsx("span",{ref:Z,"aria-hidden":"true",className:"pointer-events-none absolute inset-0 z-0 rounded-full border border-primary/40 opacity-0"}),c.jsxs("span",{className:"relative z-10 h-4 w-4","aria-hidden":"true",children:[c.jsx(sa,{size:16,className:`absolute inset-0 transition-[opacity,transform] duration-300 ease-out motion-reduce:transition-none ${O==="copied"?"scale-100 rotate-0 opacity-100":"scale-50 -rotate-45 opacity-0"}`}),c.jsx($s,{size:16,className:`absolute inset-0 transition-[opacity,transform] duration-200 ease-out motion-reduce:transition-none ${O==="failed"?"scale-100 opacity-100":"scale-50 opacity-0"}`}),c.jsx(F5,{size:15,className:`absolute inset-0 transition-[opacity,transform] duration-300 ease-out motion-reduce:transition-none ${O==="idle"&&W==="copy"?"scale-100 opacity-100":"scale-50 opacity-0"}`}),c.jsx(Cv,{size:15,className:`absolute inset-0 transition-[opacity,transform] duration-300 ease-out motion-reduce:transition-none ${O==="idle"&&W==="arrows"?"scale-100 rotate-0 opacity-100":"scale-50 rotate-45 opacity-0"}`})]}),O!=="idle"&&c.jsx("span",{className:"sr-only",role:"status","aria-live":"polite",children:O==="copied"?`${Le("terminal.copied")} · ${Le("terminal.longPressSendsArrows")}`:`${Le("terminal.copyFailed")} · ${Le("terminal.longPressSelectsText")}`})]}),c.jsx("button",{type:"button","data-mobile-copy-button":"true","data-mobile-native-action":"true",onPointerDown:De,onPointerUp:at,onTouchStart:at,onTouchEnd:at,onClick:At,tabIndex:-1,disabled:Se,title:Le("terminal.paste"),"aria-label":Le("terminal.paste"),className:"h-7 w-full rounded-full bg-surface-2 shadow-sm active:bg-accent active:text-accent-foreground transition-all keyboard-button-active disabled:opacity-50 flex items-center justify-center",children:c.jsx($8,{size:15})}),c.jsx("button",{type:"button",onPointerDown:he,tabIndex:-1,disabled:Se,className:"h-7 w-full rounded-full bg-surface-2 shadow-sm active:bg-accent active:text-accent-foreground transition-all keyboard-button-active disabled:opacity-50 flex items-center justify-center",children:ve?c.jsx(f8,{size:16}):c.jsx(Kl,{size:16})})]}),ie&&c.jsx("div",{className:Oe,children:pe.map((Qe,et)=>{const lr=Qe.items[0]?.kind==="preset",Ne=Math.max(2,Qe.columns),cn=lr?`${U3}px repeat(${Math.max(1,Ne-1)}, minmax(0, 1fr))`:`repeat(${Ne}, minmax(0, 1fr))`;return c.jsx("div",{className:"relative grid gap-1",style:{gridTemplateColumns:cn},children:Qe.items.map(Qr=>Qr.kind==="preset"?c.jsx($3,{buttonRef:Qr.id==="preset"?Lt:void 0,mode:g,presetLabel:h,title:p,disabled:Se,onPointerDown:_t},Qr.id):Qr.kind==="alt"?c.jsx("button",{type:"button",onPointerDown:Re=>Ct(Re,"alt"),tabIndex:-1,disabled:Se,className:`h-7 w-full rounded-full shadow-sm text-xs disabled:opacity-50 flex items-center justify-center transition-all ${s==="alt"?"bg-primary text-primary-foreground scale-105 shadow-md shadow-primary/40":"bg-surface-2"} ${i==="alt"?"ring-2 ring-accent":""}`,children:c.jsx("span",{className:"font-medium",children:i==="alt"?"Alt*":"Alt"})},Qr.id):Qr.kind==="text"?c.jsxs("button",{type:"button",onPointerDown:Re=>pr(Re,Qr.action),tabIndex:-1,disabled:Se,className:"h-7 w-full rounded-full bg-surface-2 shadow-sm px-1 text-xs active:bg-accent active:text-accent-foreground transition-all keyboard-button-active disabled:opacity-50 relative",children:[Qr.action.label,Qr.action.doubleTapSequence&&c.jsx("span",{className:"absolute top-0.5 right-1.5 h-1 w-1 rounded-full bg-accent/60"})]},Qr.id):c.jsx("button",{type:"button",onPointerDown:Re=>xt(Re,Qr.keyName),tabIndex:-1,disabled:Se,className:"h-7 w-full rounded-full bg-surface-2 shadow-sm text-xs active:bg-accent active:text-accent-foreground transition-all keyboard-button-active disabled:opacity-50",children:Qr.keyName==="ctrl-d"?"Ctrl-D":Qr.keyName==="home"?"Home":"End"},Qr.id))},`row-${et}`)})})]})})]})},JC=({isMobile:e,isInputFocused:t,isIOS:r,isConnecting:s,connectionError:i,terminalSessionId:u})=>{if(typeof window>"u")return null;const l=window.visualViewport?Math.max(0,Math.round(window.innerHeight-window.visualViewport.height-window.visualViewport.offsetTop)):0;return c.jsxs("div",{className:"px-3 py-2 bg-surface text-foreground text-xs border-b border-border/15",children:[c.jsx("div",{className:"font-bold mb-2",children:"Debug Info"}),c.jsxs("div",{className:"grid grid-cols-2 gap-1 font-mono",children:[c.jsxs("div",{children:["isMobile: ",c.jsx("span",{className:e?"text-accent":"text-destructive",children:String(e)})]}),c.jsxs("div",{children:["touchPoints: ",navigator.maxTouchPoints]}),c.jsxs("div",{children:["innerWidth: ",window.innerWidth]}),c.jsxs("div",{children:["innerHeight: ",window.innerHeight]}),c.jsxs("div",{children:["viewportH:"," ",window.visualViewport?Math.round(window.visualViewport.height):"N/A"]}),c.jsxs("div",{children:["inputFocused: ",String(t)]}),c.jsxs("div",{children:["keyboard~: ",l,"px"]}),c.jsxs("div",{children:["connecting:"," ",c.jsx("span",{className:s?"text-muted-foreground":"text-accent",children:String(s)})]}),c.jsxs("div",{children:["sessionId:"," ",c.jsx("span",{className:u?"text-accent":"text-destructive",children:u?"✓":"✗"})]}),c.jsxs("div",{children:["error:"," ",c.jsx("span",{className:i?"text-destructive":"text-accent",children:i?"Yes":"No"})]}),c.jsxs("div",{children:["isIOS:"," ",c.jsx("span",{className:r?"text-muted-foreground":"text-accent",children:String(r)})]})]}),c.jsx("div",{className:"mt-2 pt-2 border-t border-border/15",children:c.jsx("div",{children:"Tip: Tap the status bar 3 times to toggle debug panel"})})]})},e_=/^Reconnecting/i,t_=({connectionError:e,isFatalError:t,isRestarting:r,isConnecting:s,onHardRestart:i})=>{const{t:u}=ln(),l=!!e&&e_.test(e);return s&&!e||l?c.jsx("div",{className:"absolute inset-x-0 bottom-0 flex items-end justify-center pb-2 pointer-events-none",children:c.jsx("span",{className:"text-[11px] text-muted-foreground/60 animate-pulse tracking-wide",children:e||u("connection.reconnecting")})}):e?c.jsx("div",{className:"absolute inset-x-0 bottom-0 flex items-end justify-center pb-2",children:c.jsxs("div",{className:"flex items-center gap-2 text-[11px] text-destructive/70",children:[c.jsx("span",{children:e}),t&&c.jsx("button",{type:"button",onClick:i,disabled:r,className:"text-[11px] text-destructive/90 hover:text-destructive underline underline-offset-2 transition-colors disabled:opacity-40",children:u("common.retry")})]})}):null};let Bc=[],qh=!1;function ho(e,t,r={}){typeof window>"u"||(Bc.push(JSON.stringify({level:e,message:t,data:{ts:Date.now(),...r}})),r_())}async function r_(){if(!qh){qh=!0;try{for(;Bc.length>0;){const e=Bc[0];try{await fetch("/api/client-log",{method:"POST",headers:{"Content-Type":"application/json"},body:e,keepalive:!0}),Bc.shift()}catch{Bc=[];break}}}finally{qh=!1}}}const n_=120,s_=80,i_=400;function _g(){if(typeof window>"u"||document.visibilityState!=="visible"||!t7())return 0;const e=Number.parseFloat(document.documentElement.style.getPropertyValue("--kb-height")||"0");if(Number.isFinite(e)&&e>0)return Math.round(e);const t=window.visualViewport;if(!t)return 0;const r=Number.parseFloat(document.documentElement.style.getPropertyValue("--app-base-vh")||"0")||window.innerHeight,s=Number.parseFloat(document.documentElement.style.getPropertyValue("--safe-bottom-inset")||"0")||0,i=t.height+t.offsetTop;return Math.max(0,Math.round(r-i-s))}function z3(e){const{enabled:t,openThresholdPx:r=n_,closeThresholdPx:s=s_,settleDelayMs:i=i_}=e,u=S.useMemo(()=>Q0("keyboard"),[]),l=S.useRef(!1),h=S.useRef(null),p=S.useRef(0),[g,x]=S.useState({isOpen:!1,isSettled:!1,keyboardHeight:0});return S.useEffect(()=>{if(typeof window>"u"||!t){l.current=!1,h.current!==null&&(clearTimeout(h.current),h.current=null),x(q=>!q.isOpen&&!q.isSettled&&q.keyboardHeight===0?q:{isOpen:!1,isSettled:!1,keyboardHeight:0});return}let b=null;const v=()=>{b=null;const q=_g();let ee=l.current;if(q>=r?ee=!0:q<=s&&(ee=!1),l.current=ee,ee){const de=Math.abs(q-p.current);p.current=q,de>10&&(h.current!==null&&clearTimeout(h.current),h.current=setTimeout(()=>{h.current=null,x(Ae=>Ae.isSettled?Ae:{...Ae,isSettled:!0})},i))}else h.current!==null&&(clearTimeout(h.current),h.current=null);x(de=>{const Ae=ee?de.isSettled:!1;return de.isOpen===ee&&de.keyboardHeight===q&&de.isSettled===Ae?de:(u("sync",{keyboardHeight:q,isOpen:ee,isSettled:Ae,visualViewport:window.visualViewport?{width:Math.round(window.visualViewport.width),height:Math.round(window.visualViewport.height),offsetTop:Math.round(window.visualViewport.offsetTop)}:null}),{isOpen:ee,isSettled:Ae,keyboardHeight:q})})},A=(q="event")=>{(q.includes("visibilitychange")||q.includes("pageshow"))&&u("schedule",{source:q}),b===null&&(b=window.requestAnimationFrame(v))};A("mount");const k=()=>A("resize"),I=()=>A("orientationchange"),R=()=>A("visualViewport.resize"),M=()=>A("visualViewport.scroll"),B=()=>A("viewport-keyboard-change");window.addEventListener("resize",k),window.addEventListener("orientationchange",I),window.visualViewport?.addEventListener("resize",R),window.visualViewport?.addEventListener("scroll",M),document.addEventListener("termdock:viewport-keyboard-change",B);const F=q=>{u("resume",{source:q,keyboardHeight:_g(),hidden:document.hidden}),A(`${q}:now`),window.setTimeout(()=>A(`${q}:50ms`),50),window.setTimeout(()=>A(`${q}:200ms`),200)},W=()=>{document.hidden||F("visibilitychange")},O=()=>F("pageshow");return document.addEventListener("visibilitychange",W),window.addEventListener("pageshow",O),()=>{window.removeEventListener("resize",k),window.removeEventListener("orientationchange",I),window.visualViewport?.removeEventListener("resize",R),window.visualViewport?.removeEventListener("scroll",M),document.removeEventListener("termdock:viewport-keyboard-change",B),document.removeEventListener("visibilitychange",W),window.removeEventListener("pageshow",O),b!==null&&window.cancelAnimationFrame(b),h.current!==null&&(clearTimeout(h.current),h.current=null)}},[u,t,r,s,i]),g}const rd=300,o_=120,a_=2e3,l_=250,c_=6e4;function u_(e){const t=new Set(e.slides.flat()),r=new Set([...e.visibleSessionIds].filter(l=>t.has(l)));e.foregroundSessionId&&t.has(e.foregroundSessionId)&&r.add(e.foregroundSessionId);const s=e.slides.findIndex(l=>l.some(h=>r.has(h)));if(s<0)return r;const i=e.slides[s-1]??[],u=e.slides[s+1]??[];for(let l=0;l<Math.max(i.length,u.length)&&r.size<3;l+=1)for(const h of[i[l],u[l]])h&&r.size<3&&r.add(h);return r}function Zh(e,t){return t?e.find(r=>r.id===t||r.backendSessionId===t)?.id??null:null}function Qu(e){return e.prioritySessionId??e.activeSessionId??e.persistedActiveSessionId??e.firstSessionId}function d_(e){return e.foregroundSessionId===null||e.isVisible===!0||e.sessionId===e.foregroundSessionId||e.foregroundReady}function h_(e){return e.sessionId===e.foregroundSessionId||e.visibleSessionIds.has(e.sessionId)||e.deferredViewportSessionIds.has(e.sessionId)}function f_(e){return e.isMobile&&(!e.viewportReady||!e.streamReady||!e.contentReady)}function p_(e){return e.writtenChunkId!==null&&e.initialTargetChunkId!==null&&e.writtenChunkId>=e.initialTargetChunkId}function m_(e){return!e.initialConnectionPending}function g_(e){return!e}function x_(e){return e.requestToken===0||e.isVisible===!0||e.foregroundSessionId===null||e.isVisible===void 0&&e.sessionId===e.foregroundSessionId||e.foregroundCompletedToken===e.requestToken}function b_(e,t){return[...e].every(r=>t.has(r))}function y_(e,t){return e===null||t-e>=l_}function v_(e){return!1}function w_(e){return!e.isActive||e.isStreamReady||e.reconnectStartedAt===null?null:Math.max(0,c_-(e.now-e.reconnectStartedAt))}function A_(e,t){const r=new Map;let s=0;for(const i of e)if(!r.has(i)){if(t.has(i)){r.set(i,0);continue}r.set(i,rd+s*o_),s+=1}return r}const T_="Session not found on server",Yh="Terminal session not found",S_="STALE_SESSION_RESTORE_REJECTED";function C_(e){return e?.message===T_}function Lg(e){return e?.code===S_}function __(e,t){if(!e||e.startsWith("/"))return e;const r=e.replace(/^\.\//,"");return t?`${t.replace(/\/+$/,"")}/${r}`:r}function H3(e,t){return __(e,t).replace(/ /g,"\\ ")}function L_(e,t){return`${H3(e,t)} `}function Ig(e,t){return H3(e,t)}function kQ(e,t,r){if(!r)return Ig(e,t);const s=r.start===r.end?`${r.start}`:`${r.start}-${r.end}`;return`${Ig(e,t)}:${s}`}const I_="/tmp";async function W3(e,t,r){const i=(await t(I_,[e])).files[0];if(!i?.path)throw new Error("Upload did not return a file path");return r(i.path),i}const EQ=W3,k_=320,kg="termdock:mobile-keyboard-expanded",Eg="termdock:mobile-keyboard-preset-mode",Rg="termdock:mobile-long-press-mode",E_=80;function Kh(){return typeof window>"u"?!1:(navigator.maxTouchPoints>0||"ontouchstart"in window)&&window.innerWidth<768}const R_={retry:{maxRetries:60,initialDelayMs:1e3,maxDelayMs:2e4},connectionTimeoutMs:15e3},M_=({sessionId:e,mode:t,tmuxSessionName:r=null,terminalSettings:s=Np(),colorTheme:i="dark",toolbarPresets:u=[],isActive:l=!0,focusSuspended:h=!1,deferCursorUntilPositioned:p=!1,isLayoutVisible:g=!0,focusRequestToken:x=0,resumeRequestToken:b=0,resumeRequestReason:v="visibility",resumeRequestDelayMs:A=0,forceResumeReconnect:k=!1,initialConnectDelayMs:I=0,initialConnectEnabled:R=!0,resumeRequestEnabled:M=!0,onStreamReadyChange:B,onStreamConnected:F,onViewportReadyChange:W,onContentReadyChange:O,onKeyboardVisibilityChange:q,suppressKeyboard:ee=!1,keyboardPortalTarget:de=null,sharedMobileKeyboardLayout:Ae=!1,suppressPageFlipRefresh:Le=!1,showDebug:ve,onStatusChange:Ye})=>{const{t:Te}=ln(),[fe,je]=S.useState(s.fontSize),be=S.useMemo(()=>jC(),[]),ie=S.useMemo(()=>Q0("session"),[]),oe=S.useMemo(()=>Q0("keyboard"),[]),Ie=S.useRef(null),ke=S.useRef(null);S.useEffect(()=>{je(s.fontSize)},[s.fontSize]);const qe=S.useMemo(()=>({...s,fontSize:fe}),[s,fe]),[se]=S.useState(e||g9()),[Se,Lt]=S.useState(Kh),[Dt,Ue]=S.useState(!1),[Z,rt]=S.useState(!1),[gt,J]=S.useState(!1),[K,Fe]=S.useState(()=>typeof document>"u"?!0:!document.hidden),[Je,vt]=S.useState(()=>typeof document>"u"?!0:document.hasFocus()),[xt,Ct]=S.useState(!1),[he,xe]=S.useState(!1),[De,At]=S.useState(!1),[Ke,at]=S.useState(!1),[kt,tr]=S.useState(!0),{isOpen:pr,keyboardHeight:nt}=z3({enabled:Se&&l}),[ft,_t]=S.useState(null),[Tt,Qt]=S.useState(null),[j,pe]=S.useState(()=>typeof window>"u"?!1:window.localStorage.getItem(kg)==="true"),[Oe,Et]=S.useState(()=>{if(typeof window>"u")return"auto";const re=window.localStorage.getItem(Eg);return re&&re.length>0?re:"auto"}),[Qe,et]=S.useState(()=>typeof window>"u"?"arrows":window.localStorage.getItem(Rg)==="copy"?"copy":"arrows"),[lr,Ne]=S.useState("idle"),[cn,Qr]=S.useState("idle"),[Re,Rr]=S.useState(0),ut=Er(re=>re.sessions.get(se)),{setTerminalSession:un,setConnecting:Lr,appendToBuffer:wn,replaceBuffer:mr,clearTerminalSession:Mr,removeTerminalSession:Bn,clearBuffer:Ir,setSessionActiveProgram:Nr,setSessionCwd:ae,setSessionCopyMode:rr,setSessionAgentStatus:lt,setSessionShellTitle:es,setSessionPromptState:Jt,clearAgentNeedsReview:Qn}=Er.getState(),xs=S.useMemo(()=>`wt-${se.replace(/[^a-zA-Z0-9_-]/g,"").slice(0,12)}`,[se]),xo=ut?.terminalSessionId??null,ts=ut?.mode??"shell",Gn=ut?.activeProgram??null,An=S.useMemo(()=>R0(u),[u]),gn=ts==="tmux",Rs=ut?.bufferChunks??[],Tn=ut?.isConnecting??!1,Wr=xo,ur=S.useCallback(async re=>{const Me=XS(re,ut?.cwd||ut?.directory);if(!Me)return;let Ge=Me,dt="directory";try{Ge=(await xp(Me)).path}catch(_e){if(!(_e instanceof Error)||_e.message!=="Path is not a directory")return;dt="file"}try{const _e=$t.getState();_e.setRightTab("files"),_e.openRight(),window.dispatchEvent(new CustomEvent(GS,{detail:{path:Ge,kind:dt}}))}catch{}},[ut?.cwd,ut?.directory]),Or=t??ut?.mode??"shell",Zt=Or==="tmux"?r??ut?.tmuxSessionName??null:null,[Tr,Sn]=S.useState(null),Mt=S.useRef(!1),[bs,dr]=S.useState(!1),[Cn,rs]=S.useState(!1),[Kn,En]=S.useState(null),[ys,qr]=S.useState(0),[ls,Vn]=S.useState(null),Wi=ve!==void 0?ve:!1,Ms=S.useRef(null),V=S.useRef(null),ue=S.useRef(null),He=S.useRef(null),ge=S.useRef(null),Ce=S.useRef(!1),Ve=S.useRef(null),it=S.useRef([]),$e=S.useRef(0),We=S.useRef(!1),ot=S.useRef(null),br=S.useRef(null),bt=S.useRef(-1),yr=S.useRef(null),ct=S.useRef(0),Ft=S.useRef(null),gr=S.useRef(null),sr=S.useRef(0),or=S.useRef(!1),qn=S.useRef(null),en=S.useRef(null),Zn=S.useRef(!1),Xn=S.useRef(0),cs=S.useRef(!1),Hs=S.useRef(!1),Ws=S.useRef(!1),Gi=S.useRef(null),Rn=S.useRef(null),$r=S.useRef(null),zr=S.useRef(l);zr.current=l;const _n=S.useRef(h);_n.current=h;const jn=S.useRef(Se),U=S.useRef(null),X=S.useRef(null),ce=S.useRef(null),ye=S.useRef(null),Xe=S.useRef(null),st=S.useRef(null),Vt=S.useRef(null),yt=S.useCallback(()=>{const re=++Xn.current,Me=()=>{re===Xn.current&&xe(!0)};if(typeof window>"u"){Me();return}window.requestAnimationFrame(()=>window.requestAnimationFrame(Me))},[]),It=S.useCallback(re=>{if(cs.current){if(Rn.current!==null&&(window.clearTimeout(Rn.current),Rn.current=null),re.x===0&&re.y>=re.rows-1){tr(!1);return}Rn.current=window.setTimeout(()=>{Rn.current=null,tr(!0)},E_)}},[]),Fr=S.useRef(null);S.useEffect(()=>()=>{Fr.current?.()},[]);const Sr=S.useCallback(()=>{Fr.current||(Fr.current=wp(()=>{Fr.current=null;const re=Er.getState(),Me=ue.current,Ge=re.getTerminalSession(se);if(!Me||Ge?.mode!=="shell"||re.hasPendingBufferWrites(se))return;const dt=r7(Me),_e=ge.current?.getDimensions();if(!dt||!_e)return;const ht=ge.current?.serializeSnapshot();ht&&n7({id:Me,version:1,...dt,..._e,data:ht,savedAt:Date.now()})},2e3))},[se]),jr=S.useCallback(re=>{const Me=Er.getState(),Ge=Me.getTerminalSession(se)?.bufferChunks.at(-1)?.id;if(ue.current&&Ge!==void 0&&Ge<=re&&!Me.hasPendingBufferWrites(se)&&(s7(ue.current),Sr()),!or.current||!p_({writtenChunkId:re,initialTargetChunkId:qn.current}))return;const dt=en.current;en.current=null,dt!==null&&ge.current?.notifyScreenSynchronized(dt),or.current=!1,qn.current=null,yt()},[yt,Sr,se]),kr=S.useCallback(re=>{if(!cs.current)return;const Me=Gi.current;Me&&Me.x===re.x&&Me.y===re.y&&Me.rows===re.rows||(Gi.current=re,Rn.current!==null&&(window.clearTimeout(Rn.current),Rn.current=null),re.x===0&&re.y>=re.rows-1&&tr(!1))},[]);S.useEffect(()=>{if(!p){Hs.current=!1;return}Hs.current||(Hs.current=!0,Ws.current=!1,cs.current=!0,Gi.current=null,tr(!1),Rn.current!==null&&(window.clearTimeout(Rn.current),Rn.current=null),$r.current!==null&&window.clearTimeout($r.current),$r.current=window.setTimeout(()=>{$r.current=null,Rn.current!==null&&typeof window<"u"&&window.clearTimeout(Rn.current),Rn.current=null,cs.current=!1,tr(!0)},15e3))},[p]);const hr=S.useCallback(()=>{ye.current=null;const re=ce.current;ce.current=null,re&&es(re.sessionId,re.title)},[es]),tn=S.useCallback((re,Me)=>{if(ce.current={sessionId:re,title:Me},ye.current===null){if(typeof window>"u"){hr();return}ye.current=window.requestAnimationFrame(hr)}},[hr]),Jr=S.useCallback(()=>{ye.current!==null&&typeof window<"u"&&window.cancelAnimationFrame(ye.current),ye.current=null,ce.current=null},[]),ir=S.useCallback(async()=>{const re=Or;return(await k5({preferredFrontendSessionId:se,mode:re,tmuxSessionName:re==="tmux"?Zt||xs:void 0,termType:"xterm-256color",requireExisting:!0})).terminalSession},[Or,Zt,xs,se]),Ut=S.useRef(l);S.useEffect(()=>{if(!l){ge.current?.blur(),Ut.current=!1;return}if(Ut.current)return;Ut.current=!0;const re=fS(Se,Le);if(re==="single"){ge.current?.requestRefresh("focus",{skipResizePush:!0,skipScrollToBottom:!0});return}if(re==="none")return;let Me=0,Ge=0;Me=requestAnimationFrame(()=>{Ge=requestAnimationFrame(()=>{ge.current?.requestRefresh("page-flip",{reconcileServerSize:!0,skipScrollToBottom:!0})})});const dt=window.setTimeout(()=>{ge.current?.requestRefresh("page-flip",{skipScrollToBottom:!0,reconcileServerSize:!0})},360);return()=>{cancelAnimationFrame(Me),cancelAnimationFrame(Ge),window.clearTimeout(dt)}},[l,Se,Le,Wr]),S.useEffect(()=>{jn.current=Se},[Se]);const jt=S.useCallback(()=>{!zr.current||_n.current||ge.current?.focus()},[]);S.useLayoutEffect(()=>{h&&ge.current?.blur()},[h]),S.useEffect(()=>{if(!l||h||kt||Ws.current)return;Ws.current=!0;const re=window.requestAnimationFrame(()=>{ge.current?.requestPtyRedraw()});return()=>window.cancelAnimationFrame(re)},[h,l,kt]);const xr=S.useCallback(re=>{typeof window>"u"||typeof document>"u"||!zr.current||_n.current||jn.current||document.hidden||(U.current!==null&&window.clearTimeout(U.current),U.current=window.setTimeout(()=>{if(U.current=null,!zr.current||_n.current||jn.current||document.hidden)return;const Me=document.activeElement,Ge=Me?.getAttribute("data-terminal-input-anchor")==="true";if((Me instanceof HTMLInputElement||Me instanceof HTMLTextAreaElement||Me instanceof HTMLSelectElement||Me?.isContentEditable===!0)&&!Ge){oe("desktop resume focus skipped: editable active",{reason:re});return}oe("desktop resume focus",{reason:re}),ge.current?.requestRefresh("focus",{force:!0,forceRedraw:!0,skipResizePush:!0,skipScrollToBottom:!0}),ge.current?.focus()},50))},[oe]);S.useEffect(()=>()=>{U.current!==null&&typeof window<"u"&&window.clearTimeout(U.current),U.current=null,X.current!==null&&typeof window<"u"&&window.clearTimeout(X.current),X.current=null,Xe.current!==null&&typeof window<"u"&&window.clearTimeout(Xe.current),Xe.current=null,st.current!==null&&typeof window<"u"&&window.clearTimeout(st.current),st.current=null,$r.current!==null&&typeof window<"u"&&window.clearTimeout($r.current),$r.current=null,Rn.current!==null&&typeof window<"u"&&window.clearTimeout(Rn.current),Rn.current=null},[]),S.useEffect(()=>{if(typeof document>"u"||typeof window>"u")return;const re=()=>{X.current!==null&&window.clearTimeout(X.current),X.current=window.setTimeout(()=>{X.current=null;const Me=document.activeElement,dt=!(Me?.getAttribute("data-terminal-input-anchor")==="true")&&!!(Me&&(Me instanceof HTMLInputElement||Me instanceof HTMLTextAreaElement||Me instanceof HTMLSelectElement||Me.isContentEditable));DC({isActive:zr.current&&!_n.current,isMobile:jn.current,documentVisible:!document.hidden,activeElementIsEditable:dt})&&jt()},0)};return document.addEventListener("pointerup",re),()=>{document.removeEventListener("pointerup",re),X.current!==null&&(window.clearTimeout(X.current),X.current=null)}},[jt]);const Xt=S.useCallback(()=>{Gr.current=!1,qr(re=>re+1)},[]),fr=S.useCallback((re,Me,Ge)=>{const dt=ue.current,_e=Date.now();if(dt&&Me&&i7(dt)){ke.current={startedAt:_e,strategy:"reconnect",reason:re},ho("info","PWA_RESUME terminal-start",{frontendSessionId:se,backendSessionId:dt,strategy:"reconnect",reason:re,active:zr.current});return}if(dt&&o7(dt,()=>{const ht=ke.current;ho("info","PWA_RESUME terminal-responsive",{frontendSessionId:se,backendSessionId:dt,durationMs:ht?Date.now()-ht.startedAt:null,strategy:ht?.strategy??"probe",reason:ht?.reason??re}),ke.current=null,F?.(se)},{visible:Ge})){ke.current={startedAt:_e,strategy:"probe",reason:re},ho("info","PWA_RESUME terminal-start",{frontendSessionId:se,backendSessionId:dt,strategy:"probe",reason:re,active:zr.current}),ie("[Terminal] resume probe sent",{reason:re,backendSessionId:dt,active:zr.current});return}if(ie("[Terminal] resume probe missing connection, restarting ensureSession",{reason:re,backendSessionId:dt,active:zr.current}),!m_({initialConnectionPending:Zn.current})){ie("[Terminal] resume probe deferred during initial websocket handshake",{reason:re,backendSessionId:dt});return}Xt()},[ie,F,Xt,se]),dn=S.useCallback((re,Me)=>{const Ge=ue.current;Ge&&Ve.current!==re&&(Ve.current=re,$1(Ge,re,Me),ie("[Terminal] flow-control state sent",{backendSessionId:Ge,paused:re,reason:Me}))},[ie]),vs=S.useCallback((re,Me)=>{const Ge=ue.current;Ge&&Ft.current!==re&&(Ft.current=re,z1(Ge,re,Me),ie("[Terminal] focus state sent",{backendSessionId:Ge,focused:re,reason:Me}))},[ie]),si=S.useCallback((re,Me)=>{const Ge=ue.current;Ge&&gr.current!==re&&(gr.current=re,H1(Ge,re,Me),ie("[Terminal] viewing state sent",{backendSessionId:Ge,viewing:re,reason:Me}))},[ie]),hn=MC({isActive:l&&!h,viewportFocused:gt,documentVisible:K,windowFocused:Je,streamReady:xt}),Zr=NC({isActive:l,documentVisible:K,windowFocused:Je,streamReady:xt,isDesktop:xi()!==null}),Pn=S.useRef(hn),Vi=S.useRef(Zr);S.useEffect(()=>{Pn.current=hn,vs(hn,"logical-focus-change")},[hn,vs,Wr]),S.useEffect(()=>{Vi.current=Zr,si(Zr,"logical-viewing-change")},[Zr,si,Wr]),u9(Wr,K,xt),S.useEffect(()=>{const re=Me=>{const dt=Me.detail;typeof dt=="number"&&dt>=8&&dt<=32&&je(dt)};return document.addEventListener("termfontchange",re),()=>document.removeEventListener("termfontchange",re)},[]),S.useEffect(()=>{const re=()=>{const _e=!document.hidden;Fe(_e),_e&&l&&xr("visibility")},Me=_e=>{l&&xr(_e.persisted?"bfcache":"pageshow")},Ge=()=>{vt(!0),xr("window-focus")},dt=()=>vt(!1);return document.addEventListener("visibilitychange",re),window.addEventListener("pageshow",Me),window.addEventListener("focus",Ge),window.addEventListener("blur",dt),()=>{document.removeEventListener("visibilitychange",re),window.removeEventListener("pageshow",Me),window.removeEventListener("focus",Ge),window.removeEventListener("blur",dt)}},[l,xr]),S.useEffect(()=>{if(!b||!M||!qi.current)return;const re=A,Me=re<=0,Ge=Ie.current;if(Ge?.token===b&&(Ge.visible||!Me))return;const dt=()=>{Ie.current={token:b,visible:Me},ge.current?.requestRefresh(v,{skipScrollToBottom:!0}),fr(re>0?"global-resume-background":"global-resume-visible",re<=0&&k,Me)};if(re<=0){dt();return}const _e=window.setTimeout(dt,re);return()=>window.clearTimeout(_e)},[b,v,M,A,k,fr]);const ws=S.useRef(0);S.useEffect(()=>{if(xt){ws.current=0;return}if(!bs||Tr==="Authentication required"||Tr===Yh)return;const re=ws.current,Me=Math.min(2e3*Math.pow(2,Math.min(re,4)),3e4),Ge=setTimeout(()=>{ws.current+=1,ie("[Terminal] fatal self-heal: auto restarting ensureSession",{attempt:ws.current,backendSessionId:ue.current}),Sn("Reconnecting..."),dr(!1),Xt()},Me);return()=>clearTimeout(Ge)},[Tr,bs,xt,ys,ie,Xt]),S.useEffect(()=>{if(typeof window>"u"){Ue(!1);return}const re=/iPad|iPhone|iPod/.test(navigator.userAgent)||navigator.platform==="MacIntel"&&navigator.maxTouchPoints>1;Ue(re)},[]),S.useEffect(()=>{(!l||!Se)&&rt(!1),l||J(!1)},[l,Se]),S.useEffect(()=>{ue.current=Wr,bt.current=-1,en.current=null,Ft.current=null,gr.current=null,Ve.current=null},[Wr]),S.useEffect(()=>{B?.(se,xt)},[xt,B,se]),S.useEffect(()=>{O?.(se,xt&&he&&De)},[he,De,xt,O,se]),S.useEffect(()=>{gn||(We.current=!1,ot.current=null,br.current&&(clearTimeout(br.current),br.current=null))},[gn]),S.useEffect(()=>{Wr&&ge.current?.requestRefresh("session-key-change",{force:!0})},[Wr]),S.useEffect(()=>{const re=l&&Se&&pr;oe("visibility signal",{sessionId:se,isActive:l,isMobile:Se,isInputFocused:Z,isViewportKeyboardOpen:pr,viewportKeyboardHeight:nt,visible:re}),q?.(se,re)},[q,se,l,Se,pr,nt,oe]),S.useEffect(()=>{l&&x&&x!==ct.current&&(ct.current=x,jt())},[x,jt,l]),S.useEffect(()=>{He.current=se},[se]),S.useEffect(()=>{!Se&&(ft!==null||Tt!==null)&&(_t(null),Qt(null),yr.current=null)},[Se,ft,Tt]),S.useEffect(()=>{!Wr&&(ft!==null||Tt!==null)&&(_t(null),Qt(null),yr.current=null)},[Wr,ft,Tt]),S.useEffect(()=>{typeof window>"u"||window.localStorage.setItem(kg,j?"true":"false")},[j]),S.useEffect(()=>{typeof window>"u"||window.localStorage.setItem(Eg,Oe)},[Oe]),S.useEffect(()=>{typeof window>"u"||window.localStorage.setItem(Rg,Qe)},[Qe]),S.useEffect(()=>{Lt(Kh());const re=()=>{Lt(Kh())};return window.addEventListener("resize",re),()=>window.removeEventListener("resize",re)},[]);const us=S.useCallback(()=>{sr.current+=1,hr(),Jr();const re=Ms.current;Ms.current=null,V.current=null,Zn.current=!1,Ct(!1),ge.current?.setSessionReady(!1);const Me=ue.current;Me&&$1(Me,!1,"stream-disconnect"),Ce.current=!1,Ve.current=null,it.current=[],re?.()},[Jr,hr]),yi=S.useCallback(async re=>{if(V.current===re){ie(`[startStream] Skipping - already connected to ${re}`);return}ie(`[startStream] Starting stream for frontendSessionId=${se} backendSessionId=${re}`),En(null),Xn.current+=1,or.current=!1,qn.current=null,xe(!1),At(!1),us();const Me=sr.current+1;sr.current=Me,Zn.current=!0;const Ge=Er.getState().getTerminalSession(se);if(Ge?.mode==="shell"&&!Ge.bufferChunks.length){const _e=await Promise.race([a7(re),new Promise(ht=>window.setTimeout(()=>ht(null),75))]);if(sr.current!==Me||He.current!==se)return;if(_e&&!Er.getState().getTerminalSession(se)?.bufferChunks.length){Er.getState().replaceBuffer(se,[_e.data]);const ht=ge.current?.getDimensions();ht?.cols===_e.cols&&ht.rows===_e.rows&&l7(re,_e.seq,_e.epoch)}}const dt=be.connect(re,{onEvent:_e=>{if(sr.current!==Me)return;const ht=se;if(ht)switch(_e.type){case"connected":{Zn.current=!1;const cr=ke.current;cr&&(ho("info","PWA_RESUME terminal-connected",{frontendSessionId:ht,backendSessionId:ue.current,durationMs:Date.now()-cr.startedAt,strategy:cr.strategy,reason:cr.reason}),ke.current=null),F?.(ht),(_e.runtime||_e.ptyBackend)&&ie(`[Terminal] connected frontendSessionId=${ht} backendSessionId=${ue.current} runtime=${_e.runtime??"unknown"} pty=${_e.ptyBackend??"unknown"} cwd=${_e.cwd??"unknown"}`),Lr(ht,!1),Sn(null),dr(!1),En(null),Ct(!0),ue.current&&(z1(ue.current,Pn.current,"stream-connected"),H1(ue.current,Vi.current,"stream-connected")),ge.current?.setSessionReady(!0),Ve.current=null,dn(Ce.current,"stream-connected"),_e.tuiProgress!==void 0&&Er.getState().setSessionTuiProgress(ht,_e.tuiProgress??null),_e.shellTitle!==void 0&&Er.getState().setSessionShellTitle(ht,_e.shellTitle??null),_e.promptState!==void 0&&_e.promptState!==null&&Er.getState().setSessionPromptState(ht,_e.promptState);const wr=Er.getState().getTerminalSession(ht);if(wr?.terminalSessionId&&_e.mode&&Er.getState().setTerminalSession(ht,{sessionId:wr.terminalSessionId,cols:80,rows:24,mode:_e.mode,tmuxSessionName:_e.tmuxSessionName??null,cwd:_e.cwd??null}),_e.activeProgram!==void 0&&Nr(ht,_e.activeProgram??null,_e.activeProgramSource??null,_e.activeProgramRaw??null),ge.current?.requestRefresh("connected",{force:!0,reconcileServerSize:zr.current}),_e.mode!=="tmux"&&(Vn(null),rr(ht,!1)),ie("[Terminal] Connected event received:",{frontendSessionId:ht,backendSessionId:ue.current,storeHasState:!!wr,storeTerminalId:wr?.terminalSessionId,hasHistoryInStore:!!wr?.history?.length,historyLength:wr?.history?.length??0}),wr?.history&&wr.history.length>0){ie(`[Terminal] Restoring ${wr.history.length} history chunks to frontend session ${ht}`);const $n=wr.history.reduce((ds,_s)=>ds+_s.length,0),rn=Math.max(300,Math.min(2e3,Math.ceil($n/200)));$e.current=Date.now()+rn,wr.history.forEach(ds=>{wn(ht,ds,{markActivity:!1})}),Er.getState().setSessionHistory(ht,[]),ie(`[Terminal] History restoration complete for ${ht}`)}else ie(`[Terminal] No history to restore for ${ht}`);const Dr=_e.replayChunks,Ar=!!wr?.history?.length||!!Dr?.length;if(Ar?or.current=!0:yt(),Dr&&Dr.length>0){let $n=null;if(_e.replayOutOfWindow)ie(`[Terminal] Replay out-of-window, atomically replacing buffer (${Dr.length} chunks)`),$n=mr(ht,J9(Dr));else{ie(`[Terminal] Replay incremental: ${Dr.length} chunks`);for(const _s of Dr)wn(ht,_s)}const rn=Dr.reduce((_s,Fo)=>_s+Fo.length,0),ds=Math.max(200,Math.min(1500,Math.ceil(rn/200)));$e.current=Math.max($e.current,Date.now()+ds),qn.current=$n}Ar&&qn.current===null&&(qn.current=Er.getState().flushPendingBufferWrites(ht),qn.current===null&&(or.current=!1,yt()));break}case"reconnecting":{En(cr=>cr??Date.now()),Sn("Reconnecting..."),dr(!1);break}case"data":{_e.data&&(Ce.current?it.current.push(_e.data):wn(ht,_e.data));break}case"tmux-layout":{Vn(_e.layout??null),_e.layout&&rr(ht,_e.layout.inCopyMode);break}case"tmux-screen-sync":{const cr=_e.generation??0;if(cr<bt.current)break;bt.current=cr,Xn.current+=1,or.current=!0,xe(!1),it.current=[],ge.current?.prepareScreenReplacement(),en.current=cr,qn.current=mr(ht,ew(_e.chunks??[])),qn.current===null&&(en.current=null,ge.current?.notifyScreenSynchronized(cr),or.current=!1,yt()),typeof _e.cols=="number"&&typeof _e.rows=="number"&&ge.current?.notifyServerSize(_e.cols,_e.rows,"tmux-screen-sync");break}case"active-program":{Nr(ht,_e.activeProgram??null,_e.activeProgramSource??null,_e.activeProgramRaw??null);break}case"cwd":{ae(ht,_e.cwd??null);break}case"agent-status":{lt(ht,{agentStatus:_e.agentStatus??null,agentIndicator:_e.agentIndicator??null,agentStatusDetail:_e.agentStatusDetail??null,agent:_e.agent??null,agentMessage:_e.agentMessage??null,agentNativeSessionId:_e.agentNativeSessionId??null,agentResumeRecovered:_e.agentResumeRecovered===!0,agentRich:_e.agentRich===!0,agentActivity:_e.agentActivity??0,agentCwd:_e.agentCwd??null,reviewed:_e.reviewed??null});break}case"git-status":{Er.getState().setSessionGitStatus(ht,_e.gitStatus??null);break}case"focus-mode":{ie("[Terminal] focus tracking mode",{backendSessionId:ue.current,requested:_e.focusTrackingRequested===!0});break}case"resize-ack":{ge.current?.acknowledgeResize({seq:_e.seq,ok:_e.ok!==!1,cols:_e.cols,rows:_e.rows,screenSyncPending:_e.screenSyncPending,screenSyncGeneration:_e.screenSyncGeneration});break}case"pty-size":{typeof _e.cols=="number"&&typeof _e.rows=="number"&&ge.current?.notifyServerSize(_e.cols,_e.rows,_e.source);break}case"shell-title":{tn(ht,_e.title??null);break}case"prompt-state":{Jt(ht,_e.state??"idle",_e.exitCode??null);break}case"tui-progress":{Er.getState().setSessionTuiProgress(ht,_e.tuiProgress??null);break}case"exit":{const cr=typeof _e.exitCode=="number"?_e.exitCode:null,wr=typeof _e.signal=="number"?_e.signal:null;wn(ht,`\r
68
+ [Process exited${cr!==null?` with code ${cr}`:""}${wr!==null?` (signal ${wr})`:""}]\r
69
+ `),Mr(ht),Lr(ht,!1),Sn("Terminal session ended"),Ct(!1),dr(!1),En(null),Vn(null),rr(ht,!1),us();break}}},onError:(_e,ht)=>{if(sr.current!==Me)return;const cr=se;if(!cr)return;Zn.current=!1;const wr=ht&&_e.message==="Authentication required",Dr=C_(_e),Ar=wr?_e.message:Dr||ht?"Reconnecting...":_e.message||"Terminal stream connection error";console.error(`[Terminal] Stream error (fatal=${ht}):`,Ar),Dr&&console.warn("[Terminal] SESSION_NOT_FOUND_DETECTED",{terminalIdAtError:ue.current,frontendSessionId:cr,isActive:l,isMobile:Se,fatal:ht,stack:new Error().stack}),Sn(Ar),dr(!!ht),ht&&(En(null),Lr(cr,!1),us(),Dr&&(ie("[onError] Session lost, auto-recreating"),Sn("Reconnecting..."),dr(!1),Mr(cr),Ir(cr),ue.current=null,Gr.current=!1,Xt()))}},{...R_,getDimensions:()=>ge.current?.getDimensions()??null});Ms.current=()=>{dt.close(),sr.current===Me&&(V.current=null)},V.current=re},[wn,Ir,Mr,ie,us,yt,F,dn,Xt,tn,Lr,Nr,lt,rr,ae,Jt,be,se]);S.useEffect(()=>{const re=w_({isActive:l,isStreamReady:xt,reconnectStartedAt:Kn,now:Date.now()});if(re===null)return;const Me=window.setTimeout(()=>{ie("[Terminal] visible reconnect watchdog expired",{backendSessionId:ue.current,reconnectStartedAt:Kn}),us(),Lr(se,!1),Sn("Reconnecting..."),dr(!1),En(Date.now()),Xt()},re);return()=>window.clearTimeout(Me)},[ie,us,l,xt,Kn,Xt,se,Lr]);const Gr=S.useRef(!1),qi=S.useRef(!1),Ns=S.useRef(0);S.useEffect(()=>()=>{Ns.current+=1,Gr.current=!1,us()},[us]);const Ma=S.useRef(Or),ro=S.useRef(Zt);S.useEffect(()=>{const re=Ma.current,Me=ro.current;Ma.current=Or,ro.current=Zt,He.current===se&&(re===Or&&Me===Zt||(Gr.current=!1,us(),qr(Ge=>Ge+1)))},[Or,Zt,us,se]),S.useEffect(()=>{if(He.current!==se&&(ie(`[useEffect] sessionId changed from ${He.current} to ${se}, allowing reinitialization`),Gr.current=!1,qi.current=!1),Gr.current&&He.current===se){ie(`[useEffect] Already initialized for sessionId=${se}, skipping`);return}if(!Ke)return;const re=async ht=>{if(ie(`[ensureSession] Starting for sessionId=${se}, runId=${ht}`),!He.current||He.current!==se){ie(`[ensureSession] SessionId mismatch or stale run (current=${He.current}, target=${se}), skipping`);return}if(ht!==Ns.current){ie(`[ensureSession] Stale run detected (runId=${ht}, currentRunId=${Ns.current}), skipping`);return}const cr=Er.getState(),wr=cr.getTerminalSession(se),Dr=wr?.mode??Or;ie("[ensureSession] Current state from store:",{terminalSessionId:wr?.terminalSessionId,mode:wr?.mode,tmuxSessionName:wr?.tmuxSessionName,isConnecting:wr?.isConnecting});let Ar=wr?.terminalSessionId??null,$n=!Ar;if(Ar&&Dr!==Or?(ie(`[ensureSession] Store mode mismatch for ${Ar}: current=${Dr} desired=${Or}, will create new session`),$n=!0,cr.clearTerminalSession(se),Ar=null):Ar&&Or==="tmux"&&Zt&&wr?.tmuxSessionName!==Zt&&(ie(`[ensureSession] Store tmux name mismatch for ${Ar}: current=${wr?.tmuxSessionName} desired=${Zt}, will create new session`),$n=!0,cr.clearTerminalSession(se),Ar=null),Ar&&be.checkHealth&&!zr.current){ie(`[ensureSession] Checking health of existing session ${Ar}`);try{const rn=await be.checkHealth(Ar);if(ie("[ensureSession] Health check result:",rn),!rn.healthy)ie(`[ensureSession] Session ${Ar} is NOT healthy (healthy=${rn.healthy}), will create new session`),ie("[ensureSession] Health check details:",rn),$n=!0,rn.mode&&wr?.terminalSessionId&&cr.setTerminalSession(se,{sessionId:wr.terminalSessionId,cols:80,rows:24,mode:rn.mode,tmuxSessionName:rn.tmuxSessionName??null}),cr.clearTerminalSession(se),ie("[ensureSession] Cleared unhealthy session from store");else{ie(`[ensureSession] Session ${Ar} is healthy, reusing it, cwd=${rn.cwd}, clients=${rn.clients}, lastActivity=${Date.now()-(rn.lastActivity||0)}ms ago`),rn.mode&&wr?.terminalSessionId&&cr.setTerminalSession(se,{sessionId:wr.terminalSessionId,cols:80,rows:24,mode:rn.mode,tmuxSessionName:rn.tmuxSessionName??null}),ie(`[ensureSession] Setting terminalIdRef to ${Ar} and starting stream`),ue.current=Ar,yi(Ar),ie(`[ensureSession] Successfully reused healthy session ${Ar}, returning early`);return}}catch(rn){ie(`[ensureSession] Failed to check health of session ${Ar}:`,rn),ie("[ensureSession] Health check API call failed, proceeding as if session might be unhealthy")}}if(ie(`[ensureSession] Decision: shouldCreateNewSession=${$n}, terminalId=${Ar}`),$n){ie(`[ensureSession] Creating new session, shouldCreateNewSession=${$n}, runId=${ht}`),Sn(null),dr(!1),cr.setConnecting(se,!0);const ds=Er.getState().getTerminalSession(se),Fo=(ds?.mode??Or)===Or&&(Or!=="tmux"||!Zt||ds?.tmuxSessionName===Zt);if(ds?.terminalSessionId&&Fo)ie(`[ensureSession] Race condition avoided: another instance already created session ${ds.terminalSessionId}`),cr.setConnecting(se,!1),Ar=ds.terminalSessionId,$n=!1;else try{const Nn=await ir();if(ie(`[ensureSession] Opened managed backend session ${Nn.sessionId}`),ht!==Ns.current){ie(`[ensureSession] Stale run after session creation (runId=${ht}, currentRunId=${Ns.current}), leaving ${Nn.sessionId} for sibling`);return}cr.setTerminalSession(se,Nn),ie(`[ensureSession] Updated store with new session ${Nn.sessionId}`),Ar=Nn.sessionId}catch(Nn){if(ht!==Ns.current){ie("[ensureSession] Stale run after session creation failed, skipping error handling");return}if(Nn instanceof W1&&Lg(Nn)){ie("[ensureSession] Confirmed missing persisted session:",{sessionId:se,error:Nn.message}),cr.clearTerminalSession(se),Sn(Yh),dr(!0),cr.setConnecting(se,!1);return}Sn("Reconnecting..."),dr(!0),cr.setConnecting(se,!1);return}}if(ht!==Ns.current){ie(`[ensureSession] Stale run before starting stream (runId=${ht}, currentRunId=${Ns.current}), skipping`);return}if(!Ar){ie(`[ensureSession] No terminalId, terminalId=${Ar}`);return}ie(`[ensureSession] Starting stream for session ${Ar}`),ue.current=Ar,yi(Ar),ie(`[ensureSession] ensureSession completed for sessionId=${se}, terminalId=${Ar}`)};let Me=null,Ge=null;const dt=()=>{Ge=null,!(Gr.current&&He.current===se)&&(ie(`[useEffect] Running ensureSession for sessionId=${se}, hasInitialized=${Gr.current}`),Gr.current=!0,qi.current=!0,Me=++Ns.current,re(Me))};if(!R&&!qi.current){ie(`[useEffect] Holding background connection until the selected session is ready: ${se}`);return}const _e=qi.current?0:Math.max(0,I);return _e>0?(ie(`[useEffect] Delaying initial connection for sessionId=${se} by ${_e}ms`),Ge=window.setTimeout(dt,_e)):dt(),()=>{Ge!==null&&window.clearTimeout(Ge),ie(`[useEffect] Cleanup for sessionId=${se}, runId=${Me??"pending"}`)}},[se,ys,yi,us,be,ie,Or,Zt,xs,I,R,Ke]);const Na=S.useCallback(async()=>{if(se&&!Cn){rs(!0),Sn(null),dr(!1),En(null),us();try{be.forceKill&&await be.forceKill({sessionId:se})}catch{}Bn(se),Ir(se),ge.current?.clear(),await new Promise(re=>setTimeout(re,100));try{Lr(se,!0);const re=await ir();un(se,re),ue.current=re.sessionId,yi(re.sessionId)}catch(re){Sn(re instanceof W1&&Lg(re)?Yh:"Reconnecting..."),dr(!0),Lr(se,!1)}finally{rs(!1)}}},[se,Cn,us,be,Bn,Ir,Lr,un,yi,ir]),ia=S.useCallback((re,Me)=>{if(!zr.current||!re)return;const Ge=$C(re),dt=/^(\x1b\[<6[45];[0-9]+;[0-9]+M)+$/.test(re);if(gn&&dt&&(We.current=!0),Date.now()<$e.current)return;let _e=re,ht=Me?.consumeModifier??!1;if(!Me?.skipModifierTransform&&ft&&re.length>0){const Dr=re[0];if(Dr.length===1&&/[a-zA-Z]/.test(Dr)){const Ar=Dr.toUpperCase();ft==="ctrl"?(_e=String.fromCharCode(Ar.charCodeAt(0)&31),ht=!0):ft==="alt"&&(_e=`\x1B${re}`,ht=!0)}ht||(ft==="alt"&&(_e=`\x1B${re}`),ht=!0)}const cr=ue.current;if(!cr)return;(async()=>{try{if(gn&&!Ge&&We.current&&be.tmuxAction){We.current=!1;try{await be.tmuxAction(cr,{action:"copy-mode",enabled:!1})}catch{}if(zC(_e))return}await be.sendInput(cr,_e),Qn(se)}catch(Dr){Sn(Dr instanceof Error?Dr.message:"Failed to send input")}})(),ht&&(Tt||_t(null),jt())},[ft,Qn,jt,gn,Tt,be]);S.useEffect(()=>{const re=Me=>{if(!zr.current)return;const Ge=Me,dt=Ge.detail?.text;if(!dt)return;const _e=Ge.detail?.nonce;if(Mt.current){_e&&window.dispatchEvent(new CustomEvent("termdock-insert-reference-ack",{detail:{nonce:_e,ok:!1}}));return}ge.current?.sendSequence(dt,{paste:Ge.detail?.paste}),_e&&window.dispatchEvent(new CustomEvent("termdock-insert-reference-ack",{detail:{nonce:_e,ok:!0}})),BC(jn.current,Ge.detail?.focus!==!1)&&jt()};return window.addEventListener("termdock-insert-reference",re),()=>window.removeEventListener("termdock-insert-reference",re)},[jt]);const Po=S.useCallback((re,Me,Ge)=>{const dt=ue.current;if(!dt){oe("xterm resize push skipped: no terminalId",{cols:re,rows:Me});return}oe("xterm resize push",{cols:re,rows:Me}),be.resize({sessionId:dt,cols:re,rows:Me,seq:Ge}).catch(_e=>{ge.current?.acknowledgeResize({seq:Ge,ok:!1}),_e&&/session not found/i.test(String(_e.message||_e))&&console.warn("[Terminal] resize 404 session not found",{sessionId:dt,cols:re,rows:Me,stack:new Error().stack})})},[be,oe]),no=S.useCallback(async re=>{const Me=ue.current;if(!(!Me||!be.tmuxAction))try{const Ge=await be.tmuxAction(Me,re);Ge.layout&&(Vn(Ge.layout),re.action==="switch-session"&&(un(se,{sessionId:Me,cols:80,rows:24,mode:"tmux",tmuxSessionName:Ge.layout.sessionName}),Gu(se,{tmuxSessionName:Ge.layout.sessionName}).catch(dt=>{console.warn("[Terminal] failed to update inventory after tmux switch",dt)})))}catch(Ge){Sn(Ge instanceof Error?Ge.message:"Failed to execute tmux action")}},[se,un,be]);S.useEffect(()=>{if(!ls||!Wr)return;const Me=ls.windows.find(Ge=>Ge.id===ls.activeWindowId)?.panes.find(Ge=>Ge.id===ls.activePaneId);Me&&ge.current?.requestRefresh("tmux-layout",{skipScrollToBottom:!0,dedupeKey:`${Wr}:${ls.sessionId}:${Me.id}:${Me.width}x${Me.height}`})},[ls,Wr]);const Oo=S.useCallback((re,Me=5)=>{const Ge=Math.max(1,Math.min(Math.floor(Me)||1,40));We.current=!0;const dt=ot.current;if(dt&&dt.direction===re){dt.lines+=Ge;return}dt&&no({action:"scroll",direction:dt.direction,lines:dt.lines}).finally(()=>{jt()}),ot.current={direction:re,lines:Ge},br.current&&clearTimeout(br.current),br.current=setTimeout(()=>{const _e=ot.current;_e&&(ot.current=null,no({action:"scroll",direction:_e.direction,lines:_e.lines}).finally(()=>{jt()}))},0)},[jt,no]),oa=S.useCallback(re=>{const Me=Date.now(),Ge=yr.current,dt=Ge!==null&&Ge.modifier===re&&Me-Ge.timestamp<=k_;if(yr.current={modifier:re,timestamp:Me},Tt===re){Qt(null),_t(null);return}if(dt){Qt(re),_t(re);return}Tt!==null&&Tt!==re&&Qt(null),_t(_e=>_e===re?null:re)},[Tt]),Ii=S.useCallback(re=>{if(J(re&&zr.current),oe("input focus changed",{focused:re,isActive:zr.current,isMobile:jn.current}),!jn.current||!zr.current){rt(!1);return}rt(Me=>Me===re?Me:re)},[oe]),ki=S.useCallback(re=>{if(Ce.current=re,dn(re,"viewport-watermark"),!re&&it.current.length>0){const Me=se;if(Me){const Ge=it.current;it.current=[];for(const dt of Ge)wn(Me,dt)}}},[wn,dn,se]),As=S.useCallback(re=>{zr.current&&ge.current?.ensureSizeMatches(re)},[]),Ts=S.useRef(null);S.useEffect(()=>{if(!l)return;const re=Ts.current;if(!re)return;const Me=()=>As("pointerdown"),Ge=()=>As("keydown"),dt=()=>As("touchstart"),_e=()=>As("wheel");return re.addEventListener("pointerdown",Me),re.addEventListener("keydown",Ge),re.addEventListener("touchstart",dt,{passive:!0}),re.addEventListener("wheel",_e,{passive:!0}),()=>{re.removeEventListener("pointerdown",Me),re.removeEventListener("keydown",Ge),re.removeEventListener("touchstart",dt),re.removeEventListener("wheel",_e)}},[l,As]);const Ei=S.useCallback(re=>{ge.current=re},[]),vi=S.useCallback(re=>{at(re),W?.(se,re)},[W,se]),bo=S.useCallback(re=>{const Me=KC(re);if(!Me)return;const Ge=ft!==null;ge.current?.sendSequence(Me,{consumeModifier:Ge})},[ft]),aa=S.useCallback(re=>{const Me=GC(re);if(Me.length===0)return;const Ge=ft!==null;ge.current?.sendSequence(Tg(Me[0]),{consumeModifier:Ge});for(let dt=1;dt<Me.length;dt+=1){const _e=Me[dt];window.setTimeout(()=>{ge.current?.sendSequence(Tg(_e))},WC*dt)}},[ft]),Da=S.useCallback(()=>{ge.current?.pasteClipboardText()},[]),wi=S.useCallback(re=>{st.current!==null&&(window.clearTimeout(st.current),st.current=null),Qr(re),(re==="inserted"||re==="failed")&&(st.current=window.setTimeout(()=>{st.current=null,Qr("idle")},1400))},[]),yo=S.useCallback(()=>{wi("idle"),Rr(0),Vt.current?.click()},[wi]),tl=S.useCallback(re=>{const Me=re.currentTarget.files?.[0];re.currentTarget.value="",Me&&(Rr(0),wi("uploading"),W3(Me,(Ge,dt)=>_5(Ge,dt,void 0,Rr),Ge=>{if(!zr.current||Mt.current)throw new Error("Terminal unavailable");window.dispatchEvent(new CustomEvent("termdock-insert-reference",{detail:{text:L_(Ge,null),focus:!0}}))}).then(()=>wi("inserted"),()=>wi("failed")))},[wi]),la=Tn||Tr!==null;Mt.current=la;const Ba=S.useRef(Gn);la||(Ba.current=Gn);const Qa=la?Ba.current:Gn,Ss=S.useMemo(()=>VC(Qa,An),[Qa,An]),so=S.useMemo(()=>Cg(An,Oe),[Oe,An]),io=!Se&&Oe!=="auto"&&so.showOnDesktop!==!0?"auto":Oe,ca=io==="auto"?Ss:io,Ai=S.useMemo(()=>Cg(An,ca),[ca,An]),ns=S.useMemo(()=>Ai.actions.filter(re=>re.sequence.trim().length>0).map((re,Me)=>({...re,label:Wf(re,Me)})),[Ai.actions]),Ds=S.useMemo(()=>P3(Gn),[Gn]),Bs=Ai.label,ua=S.useMemo(()=>io!=="auto"?`Manual preset: ${Ai.label}`:Ds?`Auto preset · ${Ai.label} (${Ds})`:"Auto preset",[Ds,io,Ai.label]),rl=S.useCallback(re=>{Et(re)},[]),da=S.useCallback(()=>{et(re=>re==="copy"?"arrows":"copy"),Ne("idle")},[]),ha=S.useCallback(()=>{typeof window>"u"||(Xe.current!==null&&window.clearTimeout(Xe.current),Xe.current=window.setTimeout(()=>{Xe.current=null,Ne("idle")},1200))},[]),ja=S.useCallback(re=>{Xe.current!==null&&typeof window<"u"&&(window.clearTimeout(Xe.current),Xe.current=null),Ne(re?"copied":"failed"),ha()},[ha]),Cs=S.useCallback(re=>{pe(re)},[]),Un=S.useMemo(()=>Se?qC(An):ZC(An),[Se,An]),Mn=S.useMemo(()=>c7(i),[i]),Qs=S.useMemo(()=>`terminal::${se}`,[se]);S.useEffect(()=>{Ye?.({isConnecting:Tn,isRestarting:Cn,hasError:!!Tr,sessionId:Wr})},[Tn,Cn,Tr,Wr,Ye]);const ii=!Wr||Tn||Cn,Gs=S.useCallback((re,Me)=>{if(ii)return;const Ge=Math.max(1,Math.min(Math.floor(Me)||1,40));Oo(re,Ge)},[Oo,ii]);S.useEffect(()=>{if(!l||!Se)return;ge.current?.requestRefresh("resize",{skipScrollToBottom:!pr,force:!0})},[l,Se,pr,nt,se]),S.useEffect(()=>{if(!l||!Se)return;const re=Me=>{const Ge=Me.detail;ge.current?.requestRefresh("resize",{skipScrollToBottom:Ge?.isOpen!==!0,force:!0})};return document.addEventListener("termdock:viewport-keyboard-change",re),()=>{document.removeEventListener("termdock:viewport-keyboard-change",re)}},[l,Se,se]);const fa=!ee&&(Se||Ai.showOnDesktop===!0),oi=l,Ti=Se&&!Ae?{transform:"translateY(var(--kb-translate-y, 0px))",transition:"none"}:void 0,xn=Se&&!Ae?{marginTop:"var(--kb-margin-top, 0px)",transition:"none"}:void 0,ai=c.jsx(XC,{visible:fa,interactive:oi,presentation:Se?"mobile":"desktop-actions",activeModifier:ft,lockedModifier:Tt,disabled:ii,defaultShowExtended:j,presetLabel:Bs,presetModeLabel:ua,presetMode:io,presetOptions:Un,includeAlt:Ai.includeAlt,presetRowLayout:Ai.rowLayout,extraActions:ns,onKeyPress:bo,onTextPress:aa,onPastePress:Se?Da:void 0,onFilePress:Se?yo:void 0,fileUploadState:cn,fileUploadProgress:Re,longPressMode:Qe,copyFeedback:lr,onLongPressModeToggle:da,onModifierToggle:oa,onPresetSelect:rl,onExpandedChange:Cs}),Vs=typeof window<"u"&&(navigator.maxTouchPoints>0||"ontouchstart"in window);return c.jsxs("div",{className:"relative flex h-full min-h-0 flex-col overflow-hidden",style:Ti,children:[c.jsx("input",{ref:Vt,type:"file",className:"hidden",onChange:tl}),Wi&&c.jsx(JC,{isMobile:Se,isInputFocused:Z,isIOS:Dt,isConnecting:Tn,connectionError:Tr,terminalSessionId:Wr}),c.jsxs("div",{className:"relative min-h-0 flex-1 overflow-hidden",style:{backgroundColor:Mn.background,...xn},children:[c.jsx("div",{ref:Ts,className:"h-full w-full box-border",children:c.jsx(u7,{fallback:c.jsx("div",{className:"flex h-full items-center justify-center bg-background",children:c.jsxs("div",{className:"flex flex-col items-center gap-3 text-center rounded-2xl bg-surface-2 px-6 py-5 shadow-sm",children:[c.jsx("div",{className:"w-10 h-10 rounded-full bg-destructive/15 flex items-center justify-center",children:c.jsx("svg",{className:"w-5 h-5 text-destructive",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:c.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"})})}),c.jsx("span",{className:"text-sm text-muted-foreground",children:Te("terminal.componentFailed")})]})}),children:c.jsx(kC,{ref:Ei,sessionKey:Qs,isLayoutVisible:g,chunks:Rs,onInput:ia,onResize:Po,onFlowControl:ki,onTmuxScroll:gn?Gs:void 0,tmuxScrollSensitivity:.38,onDoubleTap:Se?()=>{ge.current?.sendSequence(" ")}:void 0,onInputFocusChange:Ii,onMobileLongPressCopyResult:ja,onReadyChange:vi,onSizeSynchronizedChange:At,onWritesSettled:It,onWriteProgress:jr,onCursorPositionChange:kr,onDirectoryLinkActivate:ur,terminalSettings:qe,theme:Mn,enableTouchScroll:Se,mobileLongPressMode:Qe,autoFocus:!h&&!Se&&!Vs,cursorVisible:!h&&kt,suppressSmoothScroll:!he||!De,className:h||!kt?"terminal-focus-suspended":void 0},Qs)})}),c.jsx(t_,{connectionError:Tr,isFatalError:bs,isRestarting:Cn,isConnecting:Tn,onHardRestart:Na})]}),de?ee?null:Ra.createPortal(ai,de):ai]})},N_=1e3,D_=2e4,B_=9e4,Q_=5e3,Hr={ws:null,listeners:new Set,reconnectAttempt:0,reconnectTimer:null,idleCloseTimer:null,closing:!1};let ju=0,B0=null;function j_(){return typeof window>"u"?null:`${window.location.protocol==="https:"?"wss":"ws"}://${window.location.host}/api/control/ws`}function G3(){Hr.idleCloseTimer&&(clearTimeout(Hr.idleCloseTimer),Hr.idleCloseTimer=null)}function P_(){G3(),!(Hr.ws&&Hr.ws.readyState===WebSocket.OPEN)&&(Hr.idleCloseTimer=setTimeout(()=>{Hr.idleCloseTimer=null,Hr.listeners.size===0&&O_()},Q_))}function O_(){if(Hr.ws){try{Hr.ws.close()}catch{}Hr.ws=null}B0&&(clearInterval(B0),B0=null)}function Mg(){if(Hr.reconnectTimer)return;const e=Math.min(N_*Math.pow(2,Hr.reconnectAttempt),D_);Hr.reconnectAttempt+=1,Hr.reconnectTimer=setTimeout(()=>{Hr.reconnectTimer=null,V3()},e)}function V3(){const e=j_();if(!e||Hr.ws&&Hr.ws.readyState===WebSocket.OPEN)return;let t;try{t=d7(e)}catch{Mg();return}Hr.ws=t,t.onopen=()=>{Hr.reconnectAttempt=0,ju=Date.now(),B0||(B0=setInterval(()=>{if(!(!Hr.ws||Hr.ws.readyState!==WebSocket.OPEN)&&ju>0&&Date.now()-ju>B_)try{Hr.ws.close()}catch{}},3e4),B0.unref?.())},t.onmessage=r=>{ju=Date.now();let s=null;try{s=JSON.parse(r.data)}catch{return}if(!s)return;if(s.type==="update-state"){const l=s.state;if(!l||typeof l.status!="string"||typeof l.currentVersion!="string")return;const h={type:"update-state",state:l};for(const p of Hr.listeners)try{p(h)}catch(g){console.error("[clientStateSync] listener threw:",g)}return}if(s.type==="context-draft"){if(typeof s.text!="string")return;const l={type:"context-draft",text:s.text,updatedAt:typeof s.updatedAt=="number"?s.updatedAt:Date.now(),origin:typeof s.origin=="string"?s.origin:null};for(const h of Hr.listeners)try{h(l)}catch(p){console.error("[clientStateSync] listener threw:",p)}return}if(s.type==="pinned-explorer-roots"){if(!s.pinnedExplorerRoots||typeof s.pinnedExplorerRoots!="object"||Array.isArray(s.pinnedExplorerRoots))return;const l={type:"pinned-explorer-roots",pinnedExplorerRoots:s.pinnedExplorerRoots,updatedAt:typeof s.updatedAt=="number"?s.updatedAt:Date.now(),origin:typeof s.origin=="string"?s.origin:null};for(const h of Hr.listeners)try{h(l)}catch(p){console.error("[clientStateSync] listener threw:",p)}return}if(s.type==="config-updated"){if(s.key!=="toolbar-presets"&&s.key!=="agent-rules"&&s.key!=="program-detection")return;const l={type:"config-updated",key:s.key,updatedAt:typeof s.updatedAt=="number"?s.updatedAt:void 0};for(const h of Hr.listeners)try{h(l)}catch(p){console.error("[clientStateSync] listener threw:",p)}return}if(s.type!=="client-state"||!s.state)return;const i=s.state,u={type:"client-state",clientState:{sessions:Array.isArray(i.sessions)?i.sessions:[],updatedAt:typeof i.updatedAt=="number"?i.updatedAt:Date.now()},inventory:s.inventory,seq:typeof s.seq=="number"?s.seq:void 0};for(const l of Hr.listeners)try{l(u)}catch(h){console.error("[clientStateSync] listener threw:",h)}},t.onclose=()=>{Hr.ws===t&&(Hr.ws=null),Hr.listeners.size>0&&Mg()},t.onerror=()=>{}}function Gf(e){return Hr.listeners.add(e),G3(),Hr.ws||V3(),()=>{Hr.listeners.delete(e),Hr.listeners.size===0&&P_()}}function q3(e,t,r){const s=e.findIndex(i=>r(i)===t);return s<0?null:e[s+1]?r(e[s+1]):s>0?r(e[s-1]):null}const Xh="termdock-sessions",Vf="termdock-active-session",Pp="termdock-sessions-cache";function qf(){try{const e=localStorage.getItem(Vf);return e&&e.trim().length>0?e:null}catch{return null}}function w0(e){try{e?localStorage.setItem(Vf,e):localStorage.removeItem(Vf)}catch{}}function Z3(){if(typeof window>"u")return null;try{const e=localStorage.getItem(Pp);if(!e)return null;const t=JSON.parse(e);return Array.isArray(t)?t.filter(r=>typeof r=="object"&&r!==null&&typeof r.sessionId=="string"&&typeof r.name=="string"):null}catch{return null}}function Ol(e){if(!(typeof window>"u"))try{localStorage.setItem(Pp,JSON.stringify(e))}catch{}}function Ng(){if(!(typeof window>"u"))try{localStorage.removeItem(Pp)}catch{}}function Y3(e){return e.map(t=>({...t,mode:t.mode==="tmux"?"tmux":"shell",tmuxSessionName:t.tmuxSessionName??null,customName:t.customName===!0}))}function Dg(e){return Y3(e.map(t=>({sessionId:t.sessionId,name:t.name,customName:t.customName===!0,backendSessionId:t.backendSessionId,mode:t.mode,tmuxSessionName:t.tmuxSessionName,createdAt:t.createdAt,lastActivity:t.lastActivity}))).map((t,r)=>({...t,activeProgram:e[r]?.activeProgram??null,cwd:e[r]?.cwd??null}))}function Bg(e){return e.map(t=>`${t.sessionId}:${t.name}:${t.customName}:${t.backendSessionId}:${t.mode}:${t.tmuxSessionName}:${t.lastActivity}:${t.activeProgram??""}:${t.cwd??""}`).join("|")}function Zf(e,t){return e.length===0?null:t&&e.some(r=>r.sessionId===t)?t:e[0]?.sessionId??null}function F_(){const e=Z3()??[];return{sessions:e,activeSessionId:Zf(e,qf())}}function U_(){const e=_.useRef(Z3()).current,t=_.useRef(qf()).current,[r,s]=_.useState(e??[]),[i,u]=_.useState(null),[l,h]=_.useState(e&&e.length>0?Zf(e,t):t),[p,g]=_.useState(e===null),x=_.useRef(!1),b=_.useRef(null),v=_.useRef(e===null),A=_.useRef(0),k=_.useRef(new Set),I=_.useRef(0);_.useEffect(()=>{v.current=p},[p]),_.useEffect(()=>{b.current=l},[l]);const R=_.useCallback(fe=>{const je=Zf(fe,b.current??qf());return h(be=>be===je?be:je),w0(je),b.current=je,je},[]),M=_.useCallback((fe,je)=>{const be=fe.filter(ie=>!k.current.has(ie.sessionId));s(ie=>Bg(ie)===Bg(be)?ie:be),Ol(be),je?.reconcileActive&&R(be)},[R]),B=_.useCallback((fe,je)=>{const be=k.current.size===0?fe:{...fe,clientSessions:fe.clientSessions.filter(ie=>!k.current.has(ie.sessionId))};u(be),M(Dg(be.clientSessions),je)},[M]),F=_.useCallback(()=>typeof window>"u"?[]:localStorage.getItem(Xh)?(localStorage.removeItem(Xh),Ng(),w0(null),s([]),h(null),console.info("[session-persist] discarded legacy local session cache"),[]):[],[]),W=_.useCallback(async()=>{if(typeof window>"u")return[];const fe=I.current;try{const je=await h7(),be=Dg(je.clientSessions);return fe!==I.current?(console.info("[session-inventory] ignored restore snapshot superseded by a local mutation"),be.filter(ie=>!k.current.has(ie.sessionId))):(B(je,{reconcileActive:!0}),be.length>0?be:F())}catch(je){console.error("Failed to restore sessions from server:",je);try{return F()}catch(be){console.error("Failed to discard legacy local sessions:",be)}}finally{g(!1)}return[]},[B,F]),O=_.useCallback(async fe=>{const je=++I.current,be=await k5(fe);return je===I.current&&(B(be.inventory),h(be.session.sessionId),w0(be.session.sessionId)),be},[B]),q=_.useCallback(async(fe,je)=>{++I.current,k.current.add(fe),s(be=>{const ie=be.filter(ke=>ke.sessionId!==fe),oe=je!=null&&ie.some(ke=>ke.sessionId===je),Ie=b.current===fe?oe?je:q3(be,fe,ke=>ke.sessionId):b.current;return h(Ie),w0(Ie),Ol(ie),ie});try{await f7(fe)}catch(be){console.error("Failed to remove session from inventory:",be)}},[]),ee=_.useCallback(fe=>{const je=Date.now();s(be=>{const ie=be.map(oe=>oe.sessionId===fe?{...oe,lastActivity:je}:oe);return Ol(ie),ie})},[]),de=_.useCallback(fe=>{h(fe),w0(fe)},[]),Ae=_.useCallback(async(fe,je)=>{const be=je.trim();if(!be)return;const ie=++I.current;s(oe=>{const Ie=oe.map(ke=>ke.sessionId===fe?{...ke,name:be,customName:!0}:ke);return Ol(Ie),Ie});try{const oe=await Gu(fe,{name:be,customName:!0});ie===I.current&&B(oe)}catch(oe){console.error("Failed to rename session in inventory:",oe)}},[B]),Le=_.useCallback(async fe=>{const je=++I.current;s(be=>{const ie=be.map(oe=>oe.sessionId===fe?{...oe,customName:!1}:oe);return Ol(ie),ie});try{const be=await Gu(fe,{customName:!1});je===I.current&&B(be)}catch(be){console.error("Failed to reset session name in inventory:",be)}},[B]),ve=_.useCallback(async fe=>{const je=++I.current;s(be=>{const ie=new Map(be.map(se=>[se.sessionId,se])),oe=fe.map(se=>ie.get(se)).filter(se=>se!==void 0),Ie=new Set(fe),ke=be.filter(se=>!Ie.has(se.sessionId)),qe=[...oe,...ke];return Ol(qe),qe});try{const be=await p7(fe);je===I.current&&B(be)}catch(be){console.error("Failed to reorder sessions in inventory:",be)}},[B]),Ye=_.useCallback(async()=>{++I.current;for(const fe of r)k.current.add(fe.sessionId);s([]),u(null),h(null),w0(null),Ng(),typeof window<"u"&&localStorage.removeItem(Xh);try{await m7()}catch(fe){console.error("Failed to clear session inventory:",fe)}},[r]),Te=_.useCallback(async(fe,je)=>{const be=++I.current;s(ie=>{const oe=ie.map(Ie=>Ie.sessionId===fe?{...Ie,backendSessionId:je}:Ie);return Ol(oe),oe});try{const ie=await Gu(fe,{backendSessionId:je});be===I.current&&B(ie)}catch(ie){console.error("Failed to update session backend in inventory:",ie)}},[B]);return _.useEffect(()=>{x.current||(x.current=!0,W())},[W]),_.useEffect(()=>Gf(je=>{if(je.type!=="client-state"||v.current)return;const be=typeof je.seq=="number"?je.seq:null;if(be!==null){if(be<A.current){console.warn("[session-inventory] ignored stale control snapshot",{seq:be,latestSeq:A.current});return}A.current=be}if(je.inventory){B(je.inventory,{reconcileActive:!0});return}const ie=Y3(je.clientState.sessions||[]);M(ie,{reconcileActive:!0})}),[B,M]),{sessions:r,inventory:i,activeSessionId:l,isLoading:p,openSession:O,removeSession:q,updateSessionActivity:ee,setActiveSession:de,updateSessionBackendId:Te,renameSession:Ae,resetSessionCustomName:Le,reorderSessions:ve,clearAllSessions:Ye,restoreSessions:W}}const $_="termdock:startup:";function M0(e){if(typeof performance>"u"||typeof performance.mark!="function")return;const t=`${$_}${e}`;performance.getEntriesByName(t,"mark").length>0||performance.mark(t)}function z_(e,t){e||Ra.flushSync(t)}const Yf="horizontal";function Ea(e){return e<=0?[]:Array.from({length:e},()=>1/e)}function ql(e,t){if(!Array.isArray(e)||e.length!==t)return Ea(t);const r=e.map(Number);if(r.some(i=>!Number.isFinite(i)||i<=0))return Ea(t);const s=r.reduce((i,u)=>i+u,0);return s<=0?Ea(t):r.map(i=>i/s)}function K3(e){const t=Math.max(1,Math.ceil(Math.sqrt(Math.max(1,e))));return{columns:t,rows:Math.max(1,Math.ceil(Math.max(1,e)/t))}}function H_(e,t,r,s){if(t<0||t>=e.length-1)return e;const i=[...e],u=i.slice(0,t).reduce((g,x)=>g+x,0),l=i[t]+i[t+1],h=Math.max(0,Math.min(l/2,s)),p=Math.min(l-h,Math.max(h,r-u));return i[t]=p,i[t+1]=l-p,i}function W_(e){return e==="horizontal"||e==="vertical"||e==="grid"}function G_(e){if(!Array.isArray(e))return[];const t=new Set,r=new Set,s=[];for(const i of e){if(!i||typeof i!="object")continue;const u=i;if(typeof u.id!="string"||!u.id||r.has(u.id))continue;const l=Array.isArray(u.sessionIds)?u.sessionIds.filter(g=>typeof g=="string"&&!!g&&!t.has(g)):[],h=[...new Set(l)];if(h.length<2)continue;const p=K3(h.length);h.forEach(g=>t.add(g)),r.add(u.id),s.push({id:u.id,...typeof u.name=="string"&&u.name.trim()?{name:u.name.trim().slice(0,80)}:{},sessionIds:h,layout:W_(u.layout)?u.layout:Yf,ratios:ql(u.ratios,h.length),...u.gridColumnRatios!==void 0?{gridColumnRatios:ql(u.gridColumnRatios,p.columns)}:{},...u.gridRowRatios!==void 0?{gridRowRatios:ql(u.gridRowRatios,p.rows)}:{}})}return s}function V_(e,t){const r=new Set(t);return e.flatMap(s=>{const i=s.sessionIds.filter(u=>r.has(u));return i.length<2?[]:[{...s,sessionIds:i,ratios:i.length===s.sessionIds.length?ql(s.ratios,i.length):Ea(i.length)}]})}function qc(e,t){if(t)return e.find(r=>r.sessionIds.includes(t))}function Jh(e,t,r){if(!t||!r||t===r)return e;const s=qc(e,t),i=qc(e,r);if(s&&s.id===i?.id)return e;const u=[...s?.sessionIds??[t],...i?.sessionIds??[r]],l=[...new Set(u)],h={id:s?.id??`split:${t}`,...s?.name?{name:s.name}:{},sessionIds:l,layout:l.length>2&&(!s||s.layout===Yf)?"grid":s?.layout??Yf,ratios:Ea(l.length)},p=new Set([s?.id,i?.id].filter(Boolean)),g=e.filter(b=>!p.has(b.id)),x=s?Math.max(0,e.findIndex(b=>b.id===s.id)):g.length;return g.splice(Math.min(x,g.length),0,h),g}function q_(e,t){const r=qc(e,t);if(!r||!t)return e;if(r.sessionIds.length<=2)return e.filter(i=>i.id!==r.id);const s=r.sessionIds.filter(i=>i!==t);return e.map(i=>i.id===r.id?{...i,sessionIds:s,ratios:Ea(s.length)}:i)}function Z_(e,t){const r=qc(e,t);return r?e.filter(s=>s.id!==r.id):e}function Y_(e,t,r){return e.map(s=>{if(s.id!==t)return s;const i=[...new Set(r)],u=new Set(s.sessionIds);return i.length===s.sessionIds.length&&i.every(h=>u.has(h))?{...s,sessionIds:i}:s})}function K_(e,t,r){const s=r.trim().slice(0,80);return e.map(i=>i.id===t?{...i,...s?{name:s}:{name:void 0}}:i)}const Kf=320,X3=1,X_=Kf+120,Xf="termdock:split-workspaces:v2",J3="termdock:split-workspace:v1",J_=.1,eL=.9,tL=.28,rL=300,nL=8,sL=280,iL=160;function ef(){if(typeof window>"u")return{mobile:!1,landscape:!1};const t=(navigator.maxTouchPoints>0||"ontouchstart"in window)&&Math.min(window.innerWidth,window.innerHeight)<768;return{mobile:t,landscape:t&&window.innerWidth>window.innerHeight}}function oL(){if(typeof window>"u")return[];try{const e=window.localStorage.getItem(Xf);if(e)return G_(JSON.parse(e));const t=JSON.parse(window.localStorage.getItem(J3)||"null");if(t&&typeof t.primaryId=="string"&&typeof t.secondaryId=="string"&&t.primaryId!==t.secondaryId){const r=Math.min(eL,Math.max(J_,typeof t.ratio=="number"?t.ratio:.5));return[{id:`split:${t.primaryId}`,sessionIds:[t.primaryId,t.secondaryId],layout:t.direction==="vertical"?"vertical":"horizontal",ratios:[r,1-r]}]}}catch{}return[]}function aL(e,t){const r=new Map(e.map(l=>[l.id,l])),s=new Map;t.forEach(l=>l.sessionIds.forEach(h=>s.set(h,l)));const i=new Set,u=[];for(const l of e){const h=s.get(l.id);if(!h){u.push({key:l.id,sessions:[l]});continue}if(i.has(h.id))continue;i.add(h.id);const p=h.sessionIds.flatMap(g=>{const x=r.get(g);return x?[x]:[]});p.length>=2&&u.push({key:h.id,sessions:p,workspace:h})}return u}function Qg(e){const t=e.wrapperEl;if(t)try{t.getAnimations().forEach(r=>r.cancel())}catch{}}function Pu(e,t){const r=fd(e,t);if(r===null)return;const s=e.wrapperEl;Qg(e),s&&(s.style.transitionDuration="0ms");try{const i=e;i.setTransition?.(0),i.setTranslate?.(r),Qg(e),s&&(s.style.transitionDuration="0ms",s.style.transform=`translate3d(${r}px, 0px, 0px)`)}catch{s&&(s.style.transitionDuration="0ms",s.style.transform=`translate3d(${r}px, 0px, 0px)`)}}function Jf(e){try{const t=typeof e.getTranslate=="function"?e.getTranslate():e.translate;return typeof t=="number"&&Number.isFinite(t)?t:null}catch{return typeof e.translate=="number"&&Number.isFinite(e.translate)?e.translate:null}}function fd(e,t){const r=e.snapGrid,s=Array.isArray(r)?r[t]:void 0;return typeof s!="number"||!Number.isFinite(s)?null:-s}function lL(e,t){const r=Jf(e),s=fd(e,t);return r!==null&&s!==null&&Math.abs(r-s)<=X3}function cL(e){const t=[],r=new Map,s=new Map,i=new Map;for(const u of e){const l=r.get(u.id)??[];if(l.push(u.id),r.set(u.id,l),u.sessionId){const h=s.get(u.sessionId)??[];h.push(u.id),s.set(u.sessionId,h)}if(u.mode==="tmux"&&u.tmuxSessionName){const h=i.get(u.tmuxSessionName)??[];h.push(u.id),i.set(u.tmuxSessionName,h)}}for(const[u,l]of r)l.length>1&&t.push({kind:"frontend",key:u,sessionIds:l});for(const[u,l]of s)l.length>1&&t.push({kind:"backend",key:u,sessionIds:l});for(const[u,l]of i)l.length>1&&t.push({kind:"tmux",key:u,sessionIds:l});return t}function ex(e){const t=new Map;for(const r of e)t.set(r.id,r);return Array.from(t.values())}function tx(e){return{id:e.sessionId,name:e.name,customName:e.customName===!0,sessionId:e.backendSessionId,mode:e.mode==="tmux"||e.mode==="shell"?e.mode:"shell",tmuxSessionName:e.tmuxSessionName??null}}function uL(e,t){const r=ex(e),s=r.findIndex(i=>i.id===t.id);if(s>=0){const i=[...r];return i[s]=t,i}return[...r,t]}function jg(e,t){const r=new Map(e.map(s=>[s.id,s]));return t.map(s=>{const i=r.get(s.sessionId);return{...tx(s),history:i?.history}})}function Pg(e,t){return e.length===0?null:t&&e.some(r=>r.sessionId===t)?t:e[0]?.sessionId??null}function Og(e){if(!e||typeof e!="object")return"unknown";const t=e;if(typeof t.pointerType=="string"&&t.pointerType)return t.pointerType;if(typeof t.type=="string"){if(t.type.startsWith("touch"))return"touch";if(t.type.startsWith("mouse"))return"mouse";if(t.type.startsWith("pointer"))return"pointer"}return"unknown"}function Fg(e){const t=new Map;for(const[r,s]of e)t.set(r,s.cwd??null);return t}function dL(e,t){if(e.size!==t.size)return!1;for(const[r,s]of t)if(e.get(r)!==s)return!1;return!0}function hL(e){const t="".toLowerCase().replace(/[^a-z0-9_-]/g,"").slice(0,12);if(t)return`wt-${t}`;const r=Date.now().toString(36),s=Math.random().toString(36).slice(2,8);return`wt-${r}${s}`}const fL=({terminalSettings:e=Np(),colorTheme:t="dark",toolbarPresets:r=[],showDebug:s,terminalFocusAvailable:i=!0,defaultSessionMode:u="shell",defaultTmuxSessionName:l="",connectionPrioritySessionId:h=null,connectionPriorityReady:p=!0,desktopPinnedRightSidebar:g=!1,desktopPinnedRightSidebarWidth:x=0,desktopPinnedLeftSidebarWidth:b=0,desktopViewportWidth:v=0,onStatusChange:A,onSessionDataUpdate:k,onInitialViewportReady:I})=>{const{t:R}=ln(),M=_.useMemo(()=>Q0("session"),[]),B=_.useMemo(()=>Q0("terminal"),[]),[F,W]=_.useState([]),[O,q]=_.useState(null),[ee,de]=_.useState(null),[Ae,Le]=_.useState(!0),[ve,Ye]=_.useState({token:0,reason:"visibility",forceForegroundReconnect:!1}),[Te,fe]=_.useState(()=>new Set),[je,be]=_.useState(()=>({token:0,completed:new Set})),[ie,oe]=_.useState(0),[Ie,ke]=_.useState(()=>new Set),[qe,se]=_.useState(()=>new Set),[Se,Lt]=_.useState(()=>new Set),Dt=_.useRef(!1),Ue=_.useRef(null),Z=_.useRef({}),[rt,gt]=_.useState(null),[J,K]=_.useState(()=>oL()),[Fe,Je]=_.useState(!1),[vt,xt]=_.useState(null),[Ct,he]=_.useState(null),[xe,De]=_.useState(null),[At,Ke]=_.useState(!1),[at,kt]=_.useState(()=>ef().mobile),[tr,pr]=_.useState(()=>ef().landscape),[nt,ft]=_.useState(null),[_t,Tt]=_.useState(null),Qt=_.useRef(i),j=_.useRef(!1),pe=_.useRef(!1),Oe=_.useRef(null),Et=_.useRef(null),Qe=_.useRef(at),et=_.useRef(null),lr=_.useRef(0),Ne=_.useRef([]),cn=_.useRef(0),Qr=_.useRef(null),Re=_.useRef(!1),Rr=_.useRef(!0),ut=_.useRef(null),un=_.useRef(""),Lr=_.useRef(null),wn=_.useRef(0);_.useEffect(()=>{if(typeof window>"u")return;const U=()=>{const X=ef();Qe.current=X.mobile,kt(X.mobile),pr(X.landscape)};return U(),window.addEventListener("resize",U),()=>window.removeEventListener("resize",U)},[]);const{sessions:mr,inventory:Mr,activeSessionId:Bn,isLoading:Ir,openSession:Nr,setActiveSession:ae,removeSession:rr,renameSession:lt,resetSessionCustomName:es,reorderSessions:Jt,restoreSessions:Qn}=U_(),xs=Mr?.tmuxRecovery??null;_.useEffect(()=>{De(null),he(null)},[xs?.id]);const xo=_.useCallback(async()=>{he("restore"),De(null);try{const U=await g7();await Qn(),U.failed>0&&De(R("tab.tmuxRecoveryPartial",{restored:U.restored,failed:U.failed}))}catch{De(R("tab.tmuxRecoveryFailed"))}finally{he(null)}},[Qn,R]),ts=_.useCallback(async()=>{he("dismiss"),De(null);try{await x7(),await Qn()}catch{De(R("tab.tmuxRecoveryDismissFailed"))}finally{he(null)}},[Qn,R]),Gn=$t(U=>U.groupByFolder),An=$t(U=>U.leftOpen||U.rightOpen),[gn,Rs]=_.useState(()=>Fg(Er.getState().sessions));_.useEffect(()=>Er.subscribe(U=>{const X=Fg(U.sessions);Rs(ce=>dL(ce,X)?ce:X)}),[]);const{arranged:Tn}=_.useMemo(()=>Q3(F,U=>gn.get(U.id)??null,Gn,""),[F,gn,Gn]),Wr=_.useRef(Tn);Wr.current=Tn;const ur=_.useMemo(()=>aL(Tn,J),[Tn,J]),Or=_.useRef(ur);Or.current=ur;const Zt=_.useMemo(()=>qc(J,O),[O,J]),Tr=_.useMemo(()=>{const U=ur.find(X=>X.sessions.some(ce=>ce.id===O));return new Set(U?.sessions.map(X=>X.id)??[])},[O,ur]),Sn=_.useMemo(()=>{const U=new Map;if(!g||v<=0)return U;for(const X of ur){const ce=X.sessions[0];if(!ce)continue;const ye=X.sessions.some(st=>st.id===O)?x:p8(ce.id,gn.get(ce.id)??null,X.workspace?.id??null),Xe=Vu(ye,v,b);U.set(X.key,Xe+j5)}return U},[O,gn,b,g,x,v,ur]),Mt=_.useMemo(()=>Zh(F.map(U=>({id:U.id,backendSessionId:U.sessionId})),h),[h,F]),bs=_.useMemo(()=>Pg(mr,Bn),[Bn,mr]),dr=Qu({prioritySessionId:Mt,activeSessionId:ee??O,persistedActiveSessionId:bs,firstSessionId:F[0]?.id??null}),Cn=_.useMemo(()=>A_(ur.flatMap(U=>U.sessions.map(X=>X.id)),Tr),[Tr,ur]),rs=dr!==null&&Te.has(dr),Kn=_.useMemo(()=>{const U=new Set(Tr);return ee&&U.add(ee),!U.size&&dr&&U.add(dr),U},[Tr,ee,dr]),En=je.token===ve.token&&b_(Kn,je.completed),ys=En||ie===ve.token?ve.token:-1;_.useEffect(()=>{if(!ve.token||En)return;const U=window.setTimeout(()=>oe(ve.token),a_);return()=>window.clearTimeout(U)},[ve.token,En]);const qr=_.useCallback((U,X)=>{fe(ce=>{if(ce.has(U)===X)return ce;const Xe=new Set(ce);return X?Xe.add(U):Xe.delete(U),Xe})},[]),ls=_.useCallback(U=>{const X=lr.current;be(ye=>{if(ye.token===X&&ye.completed.has(U))return ye;const Xe=new Set(ye.token===X?ye.completed:[]);return Xe.add(U),{token:X,completed:Xe}});const ce=Mt??ee??et.current;U===ce&&M0("foreground-stream-connected")},[ee,Mt]),Vn=_.useCallback((U,X)=>{ke(ce=>{if(ce.has(U)===X)return ce;const ye=new Set(ce);return X?ye.add(U):ye.delete(U),ye})},[]),Wi=_.useCallback((U,X)=>{se(ce=>{if(ce.has(U)===X)return ce;const ye=new Set(ce);return X?ye.add(U):ye.delete(U),ye})},[]),Ms=dr!==null&&Ie.has(dr),V=dr!==null&&qe.has(dr);_.useEffect(()=>{Ms&&M0("foreground-viewport-ready")},[Ms]),_.useEffect(()=>{V&&M0("foreground-content-ready")},[V]),_.useEffect(()=>{if(I){if(!Ae&&F.length===0){I();return}!Ms||!rs||!V||(M0("initial-viewport-presented"),I())}},[rs,V,Ms,Ae,I,F.length]);const ue=_.useMemo(()=>at?u_({slides:ur.map(U=>U.sessions.map(X=>X.id)),visibleSessionIds:Tr,foregroundSessionId:dr}):Se,[at,ur,Tr,dr,Se]);_.useEffect(()=>{if(at||Tr.size===0)return;const U=new Set(Tr),X=ur.findIndex(ce=>ce.sessions.some(ye=>Tr.has(ye.id)));for(let ce=-2;ce<=2;ce+=1)ce!==0&&ur[X+ce]?.sessions.forEach(ye=>U.add(ye.id));Lt(ce=>{let ye=!1;const Xe=new Set(ce);for(const st of U)Xe.has(st)||(Xe.add(st),ye=!0);return ye?Xe:ce})},[at,Tr,ur]);const He=c9(ue);_.useEffect(()=>{if(!ee)return;if(!F.some(X=>X.id===ee)){de(null);return}if(!Ie.has(ee)||!Te.has(ee)||!qe.has(ee))return;const U=window.setTimeout(()=>{de(X=>X===ee?null:X),Qt.current&&!Qe.current&&gt({sessionId:ee,token:Date.now()})},80);return()=>window.clearTimeout(U)},[qe,ee,Te,F,Ie]),_.useEffect(()=>{typeof window>"u"||(J.length>0?(window.localStorage.setItem(Xf,JSON.stringify(J)),window.localStorage.removeItem(J3)):window.localStorage.removeItem(Xf))},[J]),_.useEffect(()=>{Ir||Ae||J.length===0||K(U=>V_(U,F.map(X=>X.id)))},[Ir,Ae,F,J.length]),_.useEffect(()=>{if(!vt)return;const U=window.setTimeout(()=>xt(null),3200);return()=>window.clearTimeout(U)},[vt]),_.useEffect(()=>()=>Lr.current?.(),[]),et.current=O,lr.current=ve.token,Ne.current=F,Qr.current=Bn,Re.current=Ir,Rr.current=Ae,Qt.current=i;const ge=_.useCallback((U=Ue.current)=>{const X=cn.current,ce=typeof window<"u"?window.visualViewport:null,ye=U?Jf(U):null,Xe=U?fd(U,X):null;return{sessionsLength:Ne.current.length,workspaceSlidesLength:Or.current.length,sessionIds:Ne.current.map(st=>st.id),activeSessionId:et.current,activeSessionIndex:X,persistedActiveId:Qr.current,isLoading:Re.current,isRestoring:Rr.current,activeIndex:U?.activeIndex??null,previousIndex:U?.previousIndex??null,animating:U?.animating??null,allowTouchMove:U?.allowTouchMove??null,width:U?.width??null,translate:ye,targetTranslate:Xe,translateDelta:ye!==null&&Xe!==null?ye-Xe:null,snapGridLength:U?.snapGrid?.length??null,targetSnap:U?.snapGrid?.[X]??null,visualViewport:ce?{width:Math.round(ce.width),height:Math.round(ce.height),offsetTop:Math.round(ce.offsetTop)}:null}},[]),Ce=_.useCallback((U,X)=>{M(U,{...ge(),...X})},[M,ge]);_.useEffect(()=>{Ir||Ae||O!==Bn&&ae(O)},[O,Ir,Ae,Bn,ae]);const Ve=_.useMemo(()=>{if(Tn.length===0||!O)return 0;const U=ur.findIndex(X=>X.sessions.some(ce=>ce.id===O));return U>=0?U:0},[ur,O]);cn.current=Ve;const it=_.useCallback(()=>{Oe.current&&(clearTimeout(Oe.current),Oe.current=null)},[]),$e=_.useCallback(U=>{it(),Oe.current=setTimeout(()=>{Oe.current=null,j.current=!1,Ce("[swiper:touch-guard-clear]",{reason:U})},X_)},[it,Ce]),We=_.useCallback((U,X={})=>{const ce=Ue.current,ye=cn.current,Xe=Or.current;if(!ce||Xe.length===0||ye<0||ye>=Xe.length)return;if(j.current){Ce("[swiper:sync-skip-touch]",{reason:U});return}if(ce.animating){Ce("[swiper:sync-skip-animating]",{reason:U});return}const st=Jf(ce),Vt=fd(ce,ye),yt=st!==null&&Vt!==null&&Math.abs(st-Vt)<=X3,It=ce.activeIndex===ye;if(Ce("[swiper:sync-check]",{reason:U,activeIndexAligned:It,translateAligned:yt,immediate:X.immediate===!0}),!(It&&yt)){if(It){Pu(ce,ye),Ce("[swiper:sync-forced-active]",{reason:U,translateAligned:yt,immediate:X.immediate===!0});return}X.immediate?(Pu(ce,ye),ce.slideTo(ye,0,!1),Pu(ce,ye)):ce.slideTo(ye,Kf,!1),Ce("[swiper:sync-applied]",{reason:U,activeIndexAligned:It,translateAligned:yt,immediate:X.immediate===!0})}},[Ce]);_.useEffect(()=>{const U=X=>{const ce=X;Ue.current&&(Ue.current.allowTouchMove=!ce.detail.locked),Ce("[swiper:gesture-lock]",{locked:ce.detail.locked})};return document.addEventListener("termdock:gesture-lock",U),()=>document.removeEventListener("termdock:gesture-lock",U)},[Ce]),_.useEffect(()=>{if(F.length===0){O!==null&&q(null);return}if(!O){if(!p)return;q(Qu({prioritySessionId:Mt,activeSessionId:null,persistedActiveSessionId:bs,firstSessionId:F[0]?.id??null}));return}F.some(X=>X.id===O)||q(F[0].id)},[F,O,p,Mt,bs]);const ot=_.useCallback((U,X)=>{if(X&&Date.now()<wn.current){Z.current[U]=!1;return}Z.current[U]=X,Tt(ce=>X?U:ce===U?null:ce)},[]),br=_.useCallback(U=>{if(!j.current&&U.activeIndex!==cn.current){Ce("[swiper:slide-change-ignored-layout]",{instanceActiveIndex:U.activeIndex,expectedActiveIndex:cn.current}),requestAnimationFrame(()=>We("ignored-layout-slide-change",{immediate:!0}));return}const X=Or.current[U.activeIndex],ce=X?.sessions.some(st=>st.id===O)?O:X?.sessions[0]?.id;if(Ce("[swiper:slide-change]",{nextSessionId:ce??null,instanceActiveIndex:U.activeIndex}),!ce||ce===O)return;const ye=!!O&&Z.current[O]===!0,Xe=Qt.current&&(!Qe.current||ye);if(Et.current=ce,q(ce),Xe){gt({sessionId:ce,token:Date.now()});return}gt(null)},[F,O,Ce,We]);_.useEffect(()=>{if(Et.current===O){Ce("[swiper:sync-skip-swiper-driven]",{activeSessionId:O}),Et.current=null;return}We("active-session-index",{immediate:!0})},[O,Ve,F.length,We,Ce]),_.useEffect(()=>{const U=Ue.current;if(!U)return;const X=ur.length>1&&!An&&!Fe;U.allowTouchMove!==X&&(U.allowTouchMove=X,Ce("[swiper:allow-touch-sync]",{nextAllow:X,sidebarOverlayOpen:An}))},[ur.length,Ce,An,Fe]);const bt=_.useCallback(U=>{const X=Ue.current;if(!X)return;const ce=X.el;if(Ce("[swiper:layout-before]",{reason:U,scrollLeft:ce?.scrollLeft??null}),ce&&(ce.scrollLeft=0),X.updateSize(),X.updateSlides(),X.updateProgress(),X.updateSlidesClasses(),ce&&(ce.scrollLeft=0),Ce("[swiper:layout-after]",{reason:U,scrollLeft:ce?.scrollLeft??null}),j.current||X.animating){Ce("[swiper:layout-skip-sync-motion]",{reason:U});return}We(`layout:${U}`,{immediate:!0}),requestAnimationFrame(()=>{const ye=Ue.current;ye&&(j.current||ye.animating||Pu(ye,cn.current))})},[Ce,We]);_.useEffect(()=>()=>it(),[it]);const yr=ur.map(U=>U.key).join("\0");_.useEffect(()=>{requestAnimationFrame(()=>bt("group-change"))},[Gn,yr,bt]),_.useEffect(()=>{let U=null,X="mount";const ce=yt=>{X=yt,U===null&&(U=requestAnimationFrame(()=>{U=null,bt(`viewport-change:${X}`)}))},ye=()=>ce("window-resize"),Xe=()=>ce("visual-viewport-resize"),st=()=>ce("visual-viewport-scroll"),Vt=yt=>{ce(`measured:${yt.detail?.source??"unknown"}`)};return window.addEventListener("resize",ye),window.visualViewport?.addEventListener("resize",Xe),window.visualViewport?.addEventListener("scroll",st),document.addEventListener(G1,Vt),ce("mount"),()=>{window.removeEventListener("resize",ye),window.visualViewport?.removeEventListener("resize",Xe),window.visualViewport?.removeEventListener("scroll",st),document.removeEventListener(G1,Vt),U!==null&&cancelAnimationFrame(U)}},[bt]),_.useEffect(()=>{if(typeof document>"u")return;let U=null,X=null;const ce=It=>{if(It!=="online"&&document.hidden)return;const Fr=performance.now();if(!y_(X,Fr))return;X=Fr;const Sr=It==="bfcache"||It==="online"?It:"visibility",jr=v_();gh(),ho("info","PWA_RESUME scheduled",{source:It,forceForegroundReconnect:jr,activeSessionId:et.current}),Ye(kr=>({token:kr.token+1,reason:Sr,forceForegroundReconnect:jr})),requestAnimationFrame(()=>bt(`resume:${It}:raf`)),U&&clearTimeout(U),U=setTimeout(()=>{U=null,bt(`resume:${It}:settled`)},320)},ye=()=>{if(document.hidden){gh();return}ce("visibility")},Xe=()=>{gh()},st=It=>{ce(It.persisted?"bfcache":"pageshow")},Vt=()=>ce("online"),yt=()=>ce("focus");return document.addEventListener("visibilitychange",ye),window.addEventListener("pagehide",Xe),window.addEventListener("pageshow",st),window.addEventListener("online",Vt),window.addEventListener("focus",yt),()=>{document.removeEventListener("visibilitychange",ye),window.removeEventListener("pagehide",Xe),window.removeEventListener("pageshow",st),window.removeEventListener("online",Vt),window.removeEventListener("focus",yt),U&&clearTimeout(U)}},[bt]),_.useEffect(()=>{if(!g_(Ae))return;const U=cL(F),X=JSON.stringify(U);U.length>0&&X!==un.current?(un.current=X,console.warn("[session-invariant] duplicate mapping detected",U)):U.length===0&&un.current&&(un.current=""),k?.({sessions:F.map(ce=>({id:ce.id,name:ce.name,customName:ce.customName,mode:ce.mode,tmuxSessionName:ce.tmuxSessionName})),activeSessionId:O,splitWorkspaces:J.map(({id:ce,name:ye,sessionIds:Xe,layout:st})=>({id:ce,...ye?{name:ye}:{},sessionIds:Xe,layout:st}))})},[F,O,J,k,Ae]),_.useEffect(()=>{if(Ir||Dt.current)return;Dt.current=!0;const U=Zh(mr.map(st=>({id:st.sessionId,backendSessionId:st.backendSessionId??null})),h),X=Pg(mr,Bn),ce=Qu({prioritySessionId:p?U:null,activeSessionId:null,persistedActiveSessionId:X,firstSessionId:mr[0]?.sessionId??null}),ye=ex(mr.map(tx));if(M("[Session] Restoring",ye.length,"persisted sessions (one-shot)"),Ce("[swiper:restore-start]",{persistedSessionIds:mr.map(st=>st.sessionId),nextActiveSessionId:ce}),ye.length>0){const st=Er.getState();ye.forEach(yt=>{yt.sessionId&&st.setTerminalSession(yt.id,{sessionId:yt.sessionId,cols:80,rows:24,mode:yt.mode,tmuxSessionName:yt.tmuxSessionName,history:yt.history})}),mr.forEach(yt=>{yt.activeProgram!=null&&st.setSessionActiveProgram(yt.sessionId,yt.activeProgram),yt.cwd!=null&&st.setSessionCwd(yt.sessionId,yt.cwd)}),W(ye);const Vt=ce||ye[0]?.id||null;q(Vt),Ce("[swiper:restore-complete]",{restoredSessionIds:ye.map(yt=>yt.id),nextActiveSessionId:Vt})}(async()=>(ye.length===0&&await ut.current?.({createIfEmpty:!0}),Le(!1),requestAnimationFrame(()=>We("restore-finished",{immediate:!0}))))()},[Ir,mr,Bn,M,Ce,We,p,h]),_.useEffect(()=>{if(!p||Ae||F.length===0)return;const U=Zh(F.map(ce=>({id:ce.id,backendSessionId:ce.sessionId})),h),X=Qu({prioritySessionId:U,activeSessionId:et.current,persistedActiveSessionId:bs,firstSessionId:F[0]?.id??null});X&&X!==et.current&&q(X)},[p,h,Ae,bs,F]);const ct=_.useRef([]),Ft=_.useRef(!1);et.current=O,_.useEffect(()=>{if(Ae)return;const U=ct.current,X=mr;if(!Ft.current){W(It=>jg(It,X)),ct.current=X,Ft.current=!0;return}const ce=new Set(U.map(It=>It.sessionId)),ye=new Set(X.map(It=>It.sessionId)),Xe=new Map(U.map(It=>[It.sessionId,It.name]));ct.current=X,W(It=>{const Fr=jg(It,X);return(!et.current||!Fr.some(Sr=>Sr.id===et.current))&&q(Fr[0]?.id??null),Fr});const st=X.filter(It=>!ce.has(It.sessionId)),Vt=[...ce].filter(It=>!ye.has(It)),yt=X.filter(It=>ce.has(It.sessionId)&&Xe.get(It.sessionId)!==It.name);(st.length>0||Vt.length>0||yt.length>0)&&M("[Session] Synced persisted sessions:",{newSessionIds:st.map(It=>It.sessionId),removedSessionIds:Vt,renamedSessionIds:yt.map(It=>It.sessionId),currentSessionIds:X.map(It=>It.sessionId)});for(const It of X){if(!It.backendSessionId)continue;Er.getState().setTerminalSession(It.sessionId,{sessionId:It.backendSessionId,cols:80,rows:24,mode:It.mode,tmuxSessionName:It.tmuxSessionName})}},[mr,Ae,M]);const gr=_.useCallback(async U=>{try{const X=U?.mode==="tmux"||U?.mode==="shell"?U.mode:u,ce=(U?.tmuxSessionName||"").trim(),ye=l.trim(),Xe=X==="tmux"?ce||ye||hL():null,st=typeof U?.cwd=="string"?U.cwd:null,Vt=O?Er.getState().sessions.get(O)?.cwd??null:null,yt=typeof st=="string"&&st.trim().length>0?st:typeof Vt=="string"&&Vt.trim().length>0?Vt:void 0,It=await Nr({mode:X,tmuxSessionName:Xe,cwd:yt,termType:"xterm-256color",createIfEmpty:U?.createIfEmpty===!0}),Fr=It.session,Sr=It.terminalSession,jr={id:Fr.sessionId,name:Fr.name,customName:Fr.customName===!0,sessionId:Sr.sessionId,mode:Sr.mode??Fr.mode,tmuxSessionName:Sr.tmuxSessionName??Fr.tmuxSessionName};W(tn=>uL(tn,jr)),q(jr.id),Er.getState().setTerminalSession(jr.id,{sessionId:Sr.sessionId,cols:80,rows:24,mode:jr.mode,tmuxSessionName:jr.tmuxSessionName,activeProgram:Sr.activeProgram,activeProgramRaw:Sr.activeProgramRaw,activeProgramSource:Sr.activeProgramSource,cwd:Sr.cwd}),M("[Session] Inventory opened session:",{frontendSessionId:jr.id,backendSessionId:Sr.sessionId,reused:It.reused,mode:jr.mode,tmuxSessionName:jr.tmuxSessionName});const hr=U?.command?.trim();return hr&&await I5(Sr.sessionId,`${hr}\r`),jr.id}catch(X){return console.error("[Session] Failed to create new session:",X),null}},[u,l,O,Nr,M]);ut.current=gr;const sr=_.useCallback((U,X={})=>{const ce=et.current,ye=!!ce&&Z.current[ce]===!0;if(q(U),Qe.current&&X.preserveMobileKeyboard===!1){wn.current=Date.now()+600,ce&&(Z.current[ce]=!1),Tt(null),gt(null);const Xe=document.activeElement;Xe instanceof HTMLTextAreaElement&&Xe.closest(".terminal-viewport-container")&&Xe.blur();return}ye&&Qe.current&&Tt(U),Qt.current&&(!Qe.current||ye)&&gt({sessionId:U,token:Date.now()})},[]),or=_.useCallback(U=>{q(U),Je(!0),xt(null)},[]),qn=_.useCallback(U=>{const X=et.current;!X||X===U||(K(ce=>Jh(ce,X,U)),Je(!1),sr(X,{preserveMobileKeyboard:!1}))},[sr]),en=_.useCallback(async()=>{const U=et.current;if(!U||At)return;Ke(!0);const X=Er.getState().sessions.get(U)?.cwd??void 0,ce=await gr({cwd:X||void 0,mode:u});if(Ke(!1),!ce){xt(R("common.error"));return}K(ye=>Jh(ye,U,ce)),Je(!1),sr(U,{preserveMobileKeyboard:!1})},[sr,u,gr,At,R]),Zn=_.useCallback(U=>{K(X=>Z_(X,U)),U&&sr(U,{preserveMobileKeyboard:!1})},[sr]),Xn=_.useCallback(U=>{K(X=>q_(X,U)),sr(U,{preserveMobileKeyboard:!1})},[sr]),cs=_.useCallback((U,X,ce,ye,Xe,st="linear",Vt)=>{U.preventDefault(),U.stopPropagation();const yt=U.currentTarget,It=U.pointerId,Fr={x:U.clientX,y:U.clientY};yt.setPointerCapture?.(It);const Sr=X.getBoundingClientRect();let jr=!at,kr=null;const hr=Jr=>{if(Jr.pointerId!==It)return;if(!jr){Math.hypot(Jr.clientX-Fr.x,Jr.clientY-Fr.y)>nL&&kr!==null&&(window.clearTimeout(kr),kr=null);return}Jr.preventDefault();const ir=ce?(Jr.clientY-Sr.top)/Sr.height:(Jr.clientX-Sr.left)/Sr.width,Ut=ce?Sr.height:Sr.width,jt=at?0:ce?iL:sL;K(xr=>xr.map(Xt=>{if(Xt.id!==ye)return Xt;const fr=Vt??Xt.sessionIds.length,dn=st==="grid-columns"?Xt.gridColumnRatios:st==="grid-rows"?Xt.gridRowRatios:Xt.ratios,vs=ql(dn,fr),si=vs[Xe]+vs[Xe+1],hn=jt>0?Math.min(si/2,jt/Math.max(1,Ut)):Math.min(si/2,tL),Zr=H_(vs,Xe,ir,hn);return st==="grid-columns"?{...Xt,gridColumnRatios:Zr}:st==="grid-rows"?{...Xt,gridRowRatios:Zr}:{...Xt,ratios:Zr}}))},tn=()=>{kr!==null&&(window.clearTimeout(kr),kr=null),window.removeEventListener("pointermove",hr),window.removeEventListener("pointerup",tn),window.removeEventListener("pointercancel",tn),yt.classList.remove("bg-primary"),at&&document.dispatchEvent(new CustomEvent("termdock:gesture-lock",{detail:{locked:!1}})),Lr.current=null};Lr.current?.(),Lr.current=tn,window.addEventListener("pointermove",hr),window.addEventListener("pointerup",tn),window.addEventListener("pointercancel",tn),at&&(document.dispatchEvent(new CustomEvent("termdock:gesture-lock",{detail:{locked:!0}})),kr=window.setTimeout(()=>{kr=null,jr=!0,yt.classList.add("bg-primary"),navigator.vibrate?.(8)},rL))},[at]),Hs=_.useCallback(U=>{if(F.find(ce=>ce.id===U)){if(U===et.current)return;if(q(U),!f_({isMobile:Qe.current,viewportReady:Ie.has(U),streamReady:Te.has(U),contentReady:qe.has(U)})){de(null),Qt.current&&gt({sessionId:U,token:Date.now()}),M("[Session] Switched to session:",U);return}Lt(ye=>{if(ye.has(U))return ye;const Xe=new Set(ye);return Xe.add(U),Xe}),de(U),M("[Session] Switched to session:",U)}},[qe,M,Te,F,Ie]),Ws=_.useCallback((U,X)=>{X.trim()&&(W(ce=>ce.map(ye=>ye.id===U?{...ye,name:X.trim(),customName:!0}:ye)),lt(U,X.trim()))},[lt]),Gi=_.useCallback(U=>{W(X=>X.map(ce=>ce.id===U?{...ce,customName:!1}:ce)),es(U)},[es]),Rn=_.useCallback(U=>{W(X=>{const ce=new Map(X.map(Vt=>[Vt.id,Vt])),ye=U.map(Vt=>ce.get(Vt)).filter(Vt=>Vt!==void 0),Xe=new Set(U),st=X.filter(Vt=>!Xe.has(Vt.id));return[...ye,...st]}),Jt(U),M("[Session] Reordered sessions:",U),requestAnimationFrame(()=>{Ue.current?.update()})},[Jt,M]),$r=_.useCallback(async U=>{const X=typeof U=="string"?U:U.sessionId,ce=typeof U=="string"?"auto":U.closeMode??"auto",ye=F.find(st=>st.id===X);if(!ye)return;const Xe=q3(Tn,X,st=>st.id);try{ce==="destroy"&&ye.mode==="tmux"&&ye.tmuxSessionName?(await E5(ye.tmuxSessionName),M("[Session] Destroyed tmux session:",{frontendSessionId:ye.id,tmuxSessionName:ye.tmuxSessionName})):ye.sessionId&&(await L5(ye.sessionId),M("[Session] Closed backend terminal:",ye.sessionId))}catch(st){console.error("[Session] Failed to close backend terminal:",st);return}W(st=>{const Vt=st.filter(yt=>yt.id!==X);return q(Xe),Vt}),rr(X,Xe),delete Z.current[X],M("[Session] Closed session:",{sessionId:X,closeMode:ce})},[F,Tn,rr,M]),zr=_.useCallback(U=>{if(!U)return;const X=F.filter(ce=>ce.sessionId===U);if(X.length!==0){X.length>1&&console.warn("[session-invariant] backend matched multiple frontend sessions during cleanup",{backendSessionId:U,frontendSessionIds:X.map(ce=>ce.id)}),W(ce=>{const ye=ce.filter(Xe=>Xe.sessionId!==U);return ye.length!==ce.length&&!ye.some(st=>st.id===O)&&q(ye.length>0?ye[0].id:null),ye});for(const ce of X)rr(ce.id),delete Z.current[ce.id];M("[Session] Backend gone, dropped local session(s):",X.map(ce=>ce.id))}},[F,O,rr,M]);_.useEffect(()=>{const U=ir=>{gr(ir.detail)},X=ir=>{Hs(ir.detail)},ce=()=>{const ir=et.current;!ir||Qe.current||gt({sessionId:ir,token:Date.now()})},ye=ir=>{const Ut=ir;Ut.detail&&or(Ut.detail)},Xe=ir=>{const Ut=ir.detail;Zn(Ut??et.current??void 0)},st=ir=>{const Ut=ir.detail;Ut&&Xn(Ut)},Vt=ir=>{const Ut=ir.detail,jt=typeof Ut=="string"?Ut:Ut?.layout,xr=typeof Ut=="string"?et.current:Ut?.sessionId;jt!=="horizontal"&&jt!=="vertical"&&jt!=="grid"||K(Xt=>Xt.map(fr=>fr.sessionIds.includes(xr??"")?{...fr,layout:jt}:fr))},yt=ir=>{const jt=ir.detail?.direction;if(jt!=="prev"&&jt!=="next")return;const xr=Wr.current;if(xr.length<=1)return;const Xt=et.current,fr=Xt?xr.findIndex(Zr=>Zr.id===Xt):-1,si=((fr>=0?fr:0)+(jt==="next"?1:-1)+xr.length)%xr.length,hn=xr[si]?.id;hn&&hn!==Xt&&Hs(hn)},It=ir=>{$r(ir.detail)},Fr=ir=>{zr(ir.detail)},Sr=ir=>{const Ut=ir;!Ut.detail?.sessionId||!Ut.detail?.name||Ws(Ut.detail.sessionId,Ut.detail.name)},jr=ir=>{const Ut=ir;Ut.detail?.sessionId&&Gi(Ut.detail.sessionId)},kr=ir=>{const Ut=ir;Ut.detail?.sessionIds&&Rn(Ut.detail.sessionIds)},hr=ir=>{const Ut=ir.detail;!Ut?.workspaceId||!Array.isArray(Ut.sessionIds)||K(jt=>Y_(jt,Ut.workspaceId,Ut.sessionIds))},tn=ir=>{const Ut=ir.detail;!Ut?.workspaceId||typeof Ut.name!="string"||K(jt=>K_(jt,Ut.workspaceId,Ut.name))},Jr=ir=>{const Ut=ir.detail;!Ut?.primaryId||!Ut.secondaryId||Ut.primaryId===Ut.secondaryId||(K(jt=>Jh(jt,Ut.primaryId,Ut.secondaryId)),sr(Ut.primaryId,{preserveMobileKeyboard:!1}))};return window.addEventListener("new-terminal-session",U),window.addEventListener("switch-terminal-session",X),window.addEventListener("focus-active-terminal-session",ce),window.addEventListener("open-terminal-split-chooser",ye),window.addEventListener("close-terminal-split",Xe),window.addEventListener("remove-terminal-split-pane",st),window.addEventListener("set-terminal-split-direction",Vt),window.addEventListener("cycle-terminal-session",yt),window.addEventListener("close-terminal-session",It),window.addEventListener("close-terminal-session-by-backend",Fr),window.addEventListener("rename-terminal-session",Sr),window.addEventListener("reset-terminal-session-name",jr),window.addEventListener("reorder-terminal-session",kr),window.addEventListener("reorder-terminal-split-workspace",hr),window.addEventListener("rename-terminal-split-workspace",tn),window.addEventListener("combine-terminal-split-sessions",Jr),()=>{window.removeEventListener("new-terminal-session",U),window.removeEventListener("switch-terminal-session",X),window.removeEventListener("focus-active-terminal-session",ce),window.removeEventListener("open-terminal-split-chooser",ye),window.removeEventListener("close-terminal-split",Xe),window.removeEventListener("remove-terminal-split-pane",st),window.removeEventListener("set-terminal-split-direction",Vt),window.removeEventListener("cycle-terminal-session",yt),window.removeEventListener("close-terminal-session",It),window.removeEventListener("close-terminal-session-by-backend",Fr),window.removeEventListener("rename-terminal-session",Sr),window.removeEventListener("reset-terminal-session-name",jr),window.removeEventListener("reorder-terminal-session",kr),window.removeEventListener("reorder-terminal-split-workspace",hr),window.removeEventListener("rename-terminal-split-workspace",tn),window.removeEventListener("combine-terminal-split-sessions",Jr)}},[sr,gr,Hs,or,Zn,Xn,$r,zr,Ws,Gi,Rn]),_.useEffect(()=>{if(!Zt||at)return;const U=X=>{if(!(X.ctrlKey||X.metaKey)||!X.shiftKey)return;if(Zt.layout==="horizontal"?X.key==="ArrowLeft"||X.key==="ArrowRight":Zt.layout==="vertical"?X.key==="ArrowUp"||X.key==="ArrowDown":X.key.startsWith("Arrow")){X.preventDefault(),X.stopPropagation();const ye=Zt.sessionIds.indexOf(et.current??""),Xe=X.key==="ArrowLeft"||X.key==="ArrowUp"?-1:1,st=(Math.max(0,ye)+Xe+Zt.sessionIds.length)%Zt.sessionIds.length,Vt=Zt.sessionIds[st];if(!Vt)return;sr(Vt);return}X.key==="Backspace"&&(X.preventDefault(),X.stopPropagation(),Zn(et.current??void 0))};return window.addEventListener("keydown",U,!0),()=>window.removeEventListener("keydown",U,!0)},[sr,Zt,Zn,at]);const _n=U=>{const X=Er.getState().sessions.get(U.id);return Za(U,X?.activeProgram??null,X?.cwd??null,void 0,X?.shellTitle??null,X?.promptState??null)},jn=(U,X={})=>{const ce=U.id===O,ye=Tr.has(U.id)&&!X.hidden,Xe=p&&h_({sessionId:U.id,foregroundSessionId:dr,visibleSessionIds:Tr,deferredViewportSessionIds:at?He:ue}),st=d_({sessionId:U.id,foregroundSessionId:dr,foregroundReady:rs,isVisible:ye})&&p,Vt=x_({sessionId:U.id,foregroundSessionId:dr,requestToken:ve.token,foregroundCompletedToken:ys,isVisible:Kn.has(U.id)})&&p,yt=ye||U.id===dr||ue.has(U.id)?0:Cn.get(U.id)??rd;return c.jsx("div",{className:`relative flex h-full min-h-0 min-w-0 flex-col overflow-hidden ${X.hidden?"invisible pointer-events-none":""}`,style:X.containerStyle,"aria-hidden":X.hidden||void 0,onPointerDown:()=>{!ce&&ye&&sr(U.id)},onWheelCapture:()=>{z_(ce,()=>sr(U.id))},children:c.jsx("div",{className:"min-h-0 flex-1 app-chrome-bg",children:Xe&&c.jsx(M_,{sessionId:U.id,mode:U.mode,tmuxSessionName:U.tmuxSessionName,terminalSettings:e,colorTheme:t,toolbarPresets:r,isActive:ce,focusSuspended:ee!==null,deferCursorUntilPositioned:ee===U.id||U.mode==="tmux"&&!qe.has(U.id),isLayoutVisible:ye,initialConnectEnabled:st&&Vt,resumeRequestEnabled:Vt,suppressKeyboard:X.suppressKeyboard,keyboardPortalTarget:X.keyboardPortalTarget,sharedMobileKeyboardLayout:X.sharedMobileKeyboardLayout,suppressPageFlipRefresh:X.suppressPageFlipRefresh,focusRequestToken:rt?.sessionId===U.id?rt.token:0,resumeRequestToken:ve.token,resumeRequestReason:ve.reason,forceResumeReconnect:ve.forceForegroundReconnect&&Kn.has(U.id),resumeRequestDelayMs:Kn.has(U.id)?0:X.hidden?rd:Cn.get(U.id)??rd,initialConnectDelayMs:yt,onStreamReadyChange:qr,onStreamConnected:ls,onViewportReadyChange:Vn,onContentReadyChange:Wi,onKeyboardVisibilityChange:ot,showDebug:s,onStatusChange:ce?A:void 0})})},U.id)};return c.jsxs("div",{className:"relative h-full flex flex-col",children:[xs&&c.jsx("section",{className:"fixed inset-x-3 top-[calc(var(--safe-top-inset)+0.75rem)] z-toast mx-auto max-w-lg rounded-2xl border border-warning/30 bg-surface-elevated px-4 py-3.5 shadow-[0_20px_60px_var(--app-shadow-strong)]",role:"alert","aria-live":"assertive",children:c.jsxs("div",{className:"flex items-start gap-3",children:[c.jsx("span",{className:"mt-0.5 flex h-9 w-9 shrink-0 items-center justify-center rounded-xl bg-warning/15 text-warning",children:c.jsx(P5,{size:18})}),c.jsxs("div",{className:"min-w-0 flex-1",children:[c.jsx("h2",{className:"text-[13px] font-semibold text-foreground",children:R("tab.tmuxRecoveryTitle",{count:xs.sessions.length})}),c.jsx("p",{className:"mt-1 text-[11px] leading-relaxed text-muted-foreground",children:R("tab.tmuxRecoveryHint")}),c.jsx("p",{className:"mt-1.5 truncate text-[10px] text-foreground/70",children:xs.sessions.map(U=>U.name).join(" · ")}),xe&&c.jsx("p",{className:"mt-2 text-[10px] text-destructive",children:xe}),c.jsxs("div",{className:"mt-3 flex items-center gap-2",children:[c.jsxs("button",{type:"button",disabled:Ct!==null,onClick:()=>{xo()},className:"inline-flex min-h-9 items-center gap-1.5 rounded-lg bg-primary px-3 text-[11px] font-medium text-primary-foreground transition active:opacity-80 disabled:opacity-50",children:[c.jsx(z5,{size:13,className:Ct==="restore"?"animate-spin":""}),R(Ct==="restore"?"tab.tmuxRecoveryRestoring":"tab.tmuxRecoveryRestoreAll")]}),c.jsx("button",{type:"button",disabled:Ct!==null,onClick:()=>{ts()},className:"inline-flex min-h-9 items-center rounded-lg px-3 text-[11px] text-muted-foreground transition hover:bg-surface-2 hover:text-foreground disabled:opacity-50",children:R("tab.tmuxRecoveryDismiss")})]})]})]})}),c.jsx("div",{className:"flex-1 overflow-hidden",children:c.jsx(n8,{onSwiper:U=>{Ue.current=U,U.allowTouchMove=ur.length>1&&!An&&!Fe,Ce("[swiper:on-swiper]",{allowTouchMove:U.allowTouchMove}),requestAnimationFrame(()=>bt("on-swiper"))},onSlideChange:br,onTouchStart:(U,X)=>{const ce=Og(X),ye=ce==="touch"||ce==="pen"||ce==="unknown";B("[swipe:touch-start]",{pointerType:ce,allowed:ye}),Ce("[swiper:touch-start]",{pointerType:ce,allowed:ye}),ye&&(it(),pe.current=!0,j.current=!0)},onTouchEnd:(U,X)=>{const ce=Og(X),ye=ce==="touch"||ce==="pen"||ce==="unknown";B("[swipe:touch-end]",{pointerType:ce,allowed:ye}),Ce("[swiper:touch-end]",{pointerType:ce,allowed:ye}),ye&&(pe.current=!1,$e("touch-end"))},onTransitionEnd:()=>{const U=Ue.current;if(pe.current){Ce("[swiper:transition-end-during-touch]");return}if(j.current&&U&&!lL(U,cn.current)){Ce("[swiper:transition-end-deferred]");return}it(),j.current=!1,Ce("[swiper:transition-end]")},initialSlide:Math.max(0,Ve),speed:Kf,slidesPerView:1,resistanceRatio:.82,threshold:8,longSwipesRatio:.2,touchAngle:45,touchStartPreventDefault:!1,simulateTouch:!1,noSwiping:!0,noSwipingSelector:"[data-mobile-keyboard='true']",className:"terminal-session-swiper h-full",children:ur.map(U=>{const X=U.workspace,ce=!!X&&U.sessions.length>=2,ye=at?tr?"horizontal":"vertical":X?.layout??"horizontal",Xe=ye==="vertical",st=X?.ratios.length===U.sessions.length?X.ratios:Ea(U.sessions.length),Vt=_t?U.sessions.findIndex(jt=>jt.id===_t):-1,yt=at&&_t?U.sessions.some(jt=>jt.id===_t):!1,It=U.sessions.some(jt=>jt.id===O)?O:U.sessions[0]?.id,Fr=st.flatMap((jt,xr)=>[yt&&xr!==Vt?"0px":`minmax(0, ${jt}fr)`,...xr<st.length-1?[yt?"0px":"1px"]:[]]).join(" "),{columns:Sr,rows:jr}=K3(U.sessions.length),kr=ql(X?.gridColumnRatios,Sr),hr=ql(X?.gridRowRatios,jr),tn=kr.slice(0,-1).map((jt,xr)=>kr.slice(0,xr+1).reduce((Xt,fr)=>Xt+fr,0)),Jr=hr.slice(0,-1).map((jt,xr)=>hr.slice(0,xr+1).reduce((Xt,fr)=>Xt+fr,0)),ir=U.sessions.length%Sr,Ut={...ye==="grid"?{gridTemplateColumns:kr.map(jt=>`minmax(0, ${jt}fr)`).join(" "),gridTemplateRows:hr.map(jt=>`minmax(0, ${jt}fr)`).join(" "),gap:"1px"}:Xe?{gridTemplateRows:Fr}:{gridTemplateColumns:Fr},...at?{marginTop:"var(--kb-margin-top, 0px)",transition:"none"}:{}};return c.jsx(s8,{className:"h-full",children:c.jsx("div",{className:"h-full min-w-0","data-pinned-right-sidebar-inset":Sn.get(U.key)??0,style:{paddingRight:Sn.get(U.key)??0},children:ce?c.jsxs("div",{className:"flex h-full min-h-0 min-w-0 flex-col bg-[var(--chrome-bg)]",style:at?{transform:"translateY(var(--kb-translate-y, 0px))",transition:"none"}:void 0,children:[c.jsxs("div",{"data-split-container":"true",className:"relative grid min-h-0 min-w-0 flex-1 overflow-hidden",style:Ut,children:[U.sessions.map((jt,xr)=>c.jsxs(S.Fragment,{children:[jn(jt,{suppressKeyboard:at&&jt.id!==It,keyboardPortalTarget:at?nt:null,sharedMobileKeyboardLayout:at,suppressPageFlipRefresh:!0,hidden:yt&&Vt!==xr,containerStyle:ye==="grid"&&ir>0&&xr===U.sessions.length-1?{gridColumn:`span ${Sr-ir+1}`}:void 0}),ye!=="grid"&&xr<U.sessions.length-1&&X&&c.jsx("button",{type:"button",className:`swiper-no-swiping relative z-20 touch-none select-none bg-[var(--border-strong)] transition-colors hover:bg-primary active:bg-primary ${Xe?"cursor-row-resize":"cursor-col-resize"} ${yt?"invisible pointer-events-none":""}`,onPointerDownCapture:Xt=>{const fr=Xt.currentTarget.closest('[data-split-container="true"]');fr instanceof HTMLDivElement&&cs(Xt,fr,Xe,X.id,xr)},onDoubleClick:Xt=>{at||(Xt.preventDefault(),Xt.stopPropagation(),K(fr=>fr.map(dn=>dn.id===X.id?{...dn,ratios:Ea(dn.sessionIds.length)}:dn)))},onContextMenu:Xt=>{at&&Xt.preventDefault()},"aria-label":R("tab.split"),children:c.jsx("span",{"aria-hidden":"true","data-split-divider-hitarea":"true",className:`absolute ${Xe?"inset-x-0":"inset-y-0"}`,style:Xe?{top:-12,bottom:-12}:{left:-12,right:-12}})})]},jt.id)),ye==="grid"&&X&&tn.map((jt,xr)=>c.jsx("button",{type:"button","data-split-grid-column-divider":xr,className:"swiper-no-swiping absolute top-0 z-20 w-px -translate-x-1/2 touch-none select-none cursor-col-resize bg-[var(--border-strong)] transition-colors hover:bg-primary active:bg-primary",style:{left:`${jt*100}%`,bottom:ir===0||xr<ir-1?0:`${(hr.at(-1)??0)*100}%`},onPointerDownCapture:Xt=>{const fr=Xt.currentTarget.closest('[data-split-container="true"]');fr instanceof HTMLDivElement&&cs(Xt,fr,!1,X.id,xr,"grid-columns",Sr)},onDoubleClick:Xt=>{Xt.preventDefault(),Xt.stopPropagation(),K(fr=>fr.map(dn=>dn.id===X.id?{...dn,gridColumnRatios:Ea(Sr)}:dn))},"aria-label":R("tab.split"),children:c.jsx("span",{"aria-hidden":"true","data-split-divider-hitarea":"true",className:"absolute inset-y-0",style:{left:-12,right:-12}})},`grid-column-divider:${xr}`)),ye==="grid"&&X&&Jr.map((jt,xr)=>c.jsx("button",{type:"button","data-split-grid-row-divider":xr,className:"swiper-no-swiping absolute inset-x-0 z-20 h-px -translate-y-1/2 touch-none select-none cursor-row-resize bg-[var(--border-strong)] transition-colors hover:bg-primary active:bg-primary",style:{top:`${jt*100}%`},onPointerDownCapture:Xt=>{const fr=Xt.currentTarget.closest('[data-split-container="true"]');fr instanceof HTMLDivElement&&cs(Xt,fr,!0,X.id,xr,"grid-rows",jr)},onDoubleClick:Xt=>{Xt.preventDefault(),Xt.stopPropagation(),K(fr=>fr.map(dn=>dn.id===X.id?{...dn,gridRowRatios:Ea(jr)}:dn))},"aria-label":R("tab.split"),children:c.jsx("span",{"aria-hidden":"true","data-split-divider-hitarea":"true",className:"absolute inset-x-0",style:{top:-12,bottom:-12}})},`grid-row-divider:${xr}`))]}),at&&c.jsx("div",{ref:ft,className:"relative shrink-0 app-chrome-bg","data-split-keyboard-host":"true"})]}):jn(U.sessions[0])})},U.key)})})}),Fe&&O&&c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button",className:"fixed inset-0 z-modal-backdrop bg-[var(--app-backdrop-soft)] backdrop-blur-sm",onClick:()=>Je(!1),"aria-label":R("common.close")}),c.jsxs("section",{className:"fixed inset-x-3 bottom-3 z-modal-panel mx-auto max-h-[min(78svh,620px)] max-w-md overflow-hidden rounded-2xl border border-border/20 bg-surface shadow-[0_24px_70px_var(--app-shadow-strong)] sm:bottom-auto sm:top-1/2 sm:-translate-y-1/2",style:{paddingBottom:"var(--safe-bottom-inset)"},role:"dialog","aria-modal":"true","aria-label":R("tab.splitTitle"),children:[c.jsxs("header",{className:"flex items-start gap-3 border-b border-border/20 px-4 py-3.5",children:[c.jsx("div",{className:"mt-0.5 flex h-8 w-8 shrink-0 items-center justify-center rounded-xl bg-primary/15 text-primary",children:c.jsx(zl,{size:17})}),c.jsxs("div",{className:"min-w-0 flex-1",children:[c.jsx("h2",{className:"text-[14px] font-semibold text-foreground",children:R("tab.splitTitle")}),c.jsx("p",{className:"mt-0.5 text-[11px] leading-relaxed text-muted-foreground",children:R("tab.splitExistingHint")})]}),c.jsx("button",{type:"button",className:"inline-flex h-8 w-8 items-center justify-center rounded-lg text-muted-foreground transition hover:bg-surface-2 hover:text-foreground",onClick:()=>Je(!1),"aria-label":R("common.close"),children:c.jsx($s,{size:16})})]}),c.jsxs("div",{className:"max-h-[calc(min(78svh,620px)-72px)] overflow-y-auto overscroll-contain p-2",children:[c.jsxs("button",{type:"button",disabled:At,onClick:()=>{en()},className:"flex w-full items-center gap-3 rounded-xl px-3 py-3 text-left transition hover:bg-surface-2 active:bg-surface-elevated disabled:opacity-60",children:[c.jsx("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-xl bg-primary/15 text-primary",children:c.jsx(Hi,{size:17})}),c.jsxs("span",{className:"min-w-0 flex-1",children:[c.jsx("span",{className:"block text-[13px] font-medium text-foreground",children:R("tab.splitNew")}),c.jsx("span",{className:"mt-0.5 block text-[11px] text-muted-foreground",children:R("tab.splitNewHint")})]})]}),J.filter(U=>U.id!==Zt?.id).length>0&&c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"px-3 pb-1 pt-3 text-[10px] font-medium uppercase tracking-[0.12em] text-muted-foreground",children:R("tab.splitExistingGroups")}),J.filter(U=>U.id!==Zt?.id).map((U,X)=>{const ce=U.sessionIds.flatMap(st=>{const Vt=F.find(yt=>yt.id===st);return Vt?[Vt]:[]});if(ce.length<2)return null;const ye=U.name||`${R("tab.splitWorkspace")} ${X+1}`,Xe=ce.map(st=>_n(st).primary).join(" · ");return c.jsxs("button",{type:"button",onClick:()=>qn(ce[0].id),className:"group flex w-full items-center gap-3 rounded-xl px-3 py-2.5 text-left transition hover:bg-surface-2 active:bg-surface-elevated",children:[c.jsx("span",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-primary/10 text-primary",children:c.jsx(zl,{size:15})}),c.jsxs("span",{className:"min-w-0 flex-1",children:[c.jsxs("span",{className:"flex items-center gap-1.5",children:[c.jsx("span",{className:"min-w-0 flex-1 truncate text-[12px] font-medium text-foreground",children:ye}),c.jsx("span",{className:"shrink-0 rounded-full bg-primary/10 px-1.5 py-0.5 text-[9px] font-medium text-primary",children:R("tab.splitOccupied")})]}),c.jsxs("span",{className:"mt-0.5 block truncate text-[10px] text-muted-foreground",children:[R("tab.sessionCount",{count:ce.length})," · ",Xe]})]}),c.jsx(sa,{size:14,className:"text-primary opacity-0 transition group-hover:opacity-100"})]},U.id)})]}),c.jsx("div",{className:"px-3 pb-1 pt-3 text-[10px] font-medium uppercase tracking-[0.12em] text-muted-foreground",children:R("tab.splitAvailableSessions")}),F.filter(U=>!J.some(X=>X.sessionIds.includes(U.id))&&U.id!==O).length===0&&J.filter(U=>U.id!==Zt?.id).length===0?c.jsx("p",{className:"px-3 py-4 text-[12px] text-muted-foreground",children:R("tab.splitNoOtherSessions")}):F.filter(U=>!J.some(X=>X.sessionIds.includes(U.id))&&U.id!==O).map(U=>{const X=gn.get(U.id)??null,ce=_n(U);return c.jsxs("button",{type:"button",onClick:()=>qn(U.id),className:"group flex w-full items-center gap-3 rounded-xl px-3 py-2.5 text-left transition hover:bg-surface-2 active:bg-surface-elevated",children:[c.jsx("span",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-surface-2 text-muted-foreground",children:X?c.jsx(j0,{size:15}):c.jsx(zl,{size:15})}),c.jsxs("span",{className:"min-w-0 flex-1",children:[c.jsx("span",{className:"block truncate text-[12px] font-medium text-foreground",children:ce.primary}),c.jsx("span",{className:"mt-0.5 block truncate text-[10px] text-muted-foreground",children:X?ka(X)??X:U.name})]}),c.jsx(sa,{size:14,className:"text-primary opacity-0 transition group-hover:opacity-100"})]},U.id)})]})]})]}),vt&&c.jsx("div",{className:"fixed inset-x-3 bottom-4 z-toast mx-auto max-w-md rounded-xl border border-border/20 bg-surface-elevated px-4 py-3 text-center text-[12px] text-foreground shadow-lg",children:vt})]})},pL={sm:"h-4 w-7",md:"h-6 w-10"},mL={sm:"h-3 w-3",md:"h-5 w-5"},gL={sm:"translate-x-3",md:"translate-x-4"};function Ya({checked:e,disabled:t=!1,size:r="md",className:s=""}){return c.jsx("span",{"aria-hidden":"true",className:`inline-flex shrink-0 items-center rounded-full transition ${pL[r]} ${e?"bg-primary":"bg-surface-elevated"} ${t?"opacity-50":""} ${s}`,children:c.jsx("span",{className:`mx-0.5 inline-block rounded-full bg-[var(--background)] shadow transition ${mL[r]} ${e?gL[r]:""}`})})}function $i(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var xL=typeof Symbol=="function"&&Symbol.observable||"@@observable",Ug=xL,$g=()=>Math.random().toString(36).substring(7).split("").join("."),bL={INIT:`@@redux/INIT${$g()}`,REPLACE:`@@redux/REPLACE${$g()}`},zg=bL;function yL(e){if(typeof e!="object"||e===null)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function rx(e,t,r){if(typeof e!="function")throw new Error($i(2));if(typeof t=="function"&&typeof r=="function"||typeof r=="function"&&typeof arguments[3]=="function")throw new Error($i(0));if(typeof t=="function"&&typeof r>"u"&&(r=t,t=void 0),typeof r<"u"){if(typeof r!="function")throw new Error($i(1));return r(rx)(e,t)}let s=e,i=t,u=new Map,l=u,h=0,p=!1;function g(){l===u&&(l=new Map,u.forEach((R,M)=>{l.set(M,R)}))}function x(){if(p)throw new Error($i(3));return i}function b(R){if(typeof R!="function")throw new Error($i(4));if(p)throw new Error($i(5));let M=!0;g();const B=h++;return l.set(B,R),function(){if(M){if(p)throw new Error($i(6));M=!1,g(),l.delete(B),u=null}}}function v(R){if(!yL(R))throw new Error($i(7));if(typeof R.type>"u")throw new Error($i(8));if(typeof R.type!="string")throw new Error($i(17));if(p)throw new Error($i(9));try{p=!0,i=s(i,R)}finally{p=!1}return(u=l).forEach(B=>{B()}),R}function A(R){if(typeof R!="function")throw new Error($i(10));s=R,v({type:zg.REPLACE})}function k(){const R=b;return{subscribe(M){if(typeof M!="object"||M===null)throw new Error($i(11));function B(){const W=M;W.next&&W.next(x())}return B(),{unsubscribe:R(B)}},[Ug](){return this}}}return v({type:zg.INIT}),{dispatch:v,subscribe:b,getState:x,replaceReducer:A,[Ug]:k}}function Hg(e,t){return function(...r){return t(e.apply(this,r))}}function Wg(e,t){if(typeof e=="function")return Hg(e,t);if(typeof e!="object"||e===null)throw new Error($i(16));const r={};for(const s in e){const i=e[s];typeof i=="function"&&(r[s]=Hg(i,t))}return r}function nx(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,r)=>(...s)=>t(r(...s)))}function vL(...e){return t=>(r,s)=>{const i=t(r,s);let u=()=>{throw new Error($i(15))};const l={getState:i.getState,dispatch:(p,...g)=>u(p,...g)},h=e.map(p=>p(l));return u=nx(...h)(i.dispatch),{...i,dispatch:u}}}var tf={exports:{}},rf={};var Gg;function wL(){if(Gg)return rf;Gg=1;var e=b8();function t(p,g){return p===g&&(p!==0||1/p===1/g)||p!==p&&g!==g}var r=typeof Object.is=="function"?Object.is:t,s=e.useSyncExternalStore,i=e.useRef,u=e.useEffect,l=e.useMemo,h=e.useDebugValue;return rf.useSyncExternalStoreWithSelector=function(p,g,x,b,v){var A=i(null);if(A.current===null){var k={hasValue:!1,value:null};A.current=k}else k=A.current;A=l(function(){function R(O){if(!M){if(M=!0,B=O,O=b(O),v!==void 0&&k.hasValue){var q=k.value;if(v(q,O))return F=q}return F=O}if(q=F,r(B,O))return q;var ee=b(O);return v!==void 0&&v(q,ee)?(B=O,q):(B=O,F=ee)}var M=!1,B,F,W=x===void 0?null:x;return[function(){return R(g())},W===null?void 0:function(){return R(W())}]},[g,x,b,v]);var I=s(p,A[0],A[1]);return u(function(){k.hasValue=!0,k.value=I},[I]),h(I),I},rf}var Vg;function AL(){return Vg||(Vg=1,tf.exports=wL()),tf.exports}AL();var TL=_.version.startsWith("19"),SL=Symbol.for(TL?"react.transitional.element":"react.element"),CL=Symbol.for("react.portal"),_L=Symbol.for("react.fragment"),LL=Symbol.for("react.strict_mode"),IL=Symbol.for("react.profiler"),kL=Symbol.for("react.consumer"),EL=Symbol.for("react.context"),sx=Symbol.for("react.forward_ref"),RL=Symbol.for("react.suspense"),ML=Symbol.for("react.suspense_list"),Op=Symbol.for("react.memo"),NL=Symbol.for("react.lazy"),DL=sx,BL=Op;function QL(e){if(typeof e=="object"&&e!==null){const{$$typeof:t}=e;switch(t){case SL:switch(e=e.type,e){case _L:case IL:case LL:case RL:case ML:return e;default:switch(e=e&&e.$$typeof,e){case EL:case sx:case NL:case Op:return e;case kL:return e;default:return t}}case CL:return t}}}function jL(e){return QL(e)===Op}function PL(e,t,r,s,{areStatesEqual:i,areOwnPropsEqual:u,areStatePropsEqual:l}){let h=!1,p,g,x,b,v;function A(B,F){return p=B,g=F,x=e(p,g),b=t(s,g),v=r(x,b,g),h=!0,v}function k(){return x=e(p,g),t.dependsOnOwnProps&&(b=t(s,g)),v=r(x,b,g),v}function I(){return e.dependsOnOwnProps&&(x=e(p,g)),t.dependsOnOwnProps&&(b=t(s,g)),v=r(x,b,g),v}function R(){const B=e(p,g),F=!l(B,x);return x=B,F&&(v=r(x,b,g)),v}function M(B,F){const W=!u(F,g),O=!i(B,p,F,g);return p=B,g=F,W&&O?k():W?I():O?R():v}return function(F,W){return h?M(F,W):A(F,W)}}function OL(e,{initMapStateToProps:t,initMapDispatchToProps:r,initMergeProps:s,...i}){const u=t(e,i),l=r(e,i),h=s(e,i);return PL(u,l,h,e,i)}function FL(e,t){const r={};for(const s in e){const i=e[s];typeof i=="function"&&(r[s]=(...u)=>t(i(...u)))}return r}function ep(e){return function(r){const s=e(r);function i(){return s}return i.dependsOnOwnProps=!1,i}}function qg(e){return e.dependsOnOwnProps?!!e.dependsOnOwnProps:e.length!==1}function ix(e,t){return function(s,{displayName:i}){const u=function(h,p){return u.dependsOnOwnProps?u.mapToProps(h,p):u.mapToProps(h,void 0)};return u.dependsOnOwnProps=!0,u.mapToProps=function(h,p){u.mapToProps=e,u.dependsOnOwnProps=qg(e);let g=u(h,p);return typeof g=="function"&&(u.mapToProps=g,u.dependsOnOwnProps=qg(g),g=u(h,p)),g},u}}function Fp(e,t){return(r,s)=>{throw new Error(`Invalid value of type ${typeof e} for ${t} argument when connecting component ${s.wrappedComponentName}.`)}}function UL(e){return e&&typeof e=="object"?ep(t=>FL(e,t)):e?typeof e=="function"?ix(e):Fp(e,"mapDispatchToProps"):ep(t=>({dispatch:t}))}function $L(e){return e?typeof e=="function"?ix(e):Fp(e,"mapStateToProps"):ep(()=>({}))}function zL(e,t,r){return{...r,...e,...t}}function HL(e){return function(r,{displayName:s,areMergedPropsEqual:i}){let u=!1,l;return function(p,g,x){const b=e(p,g,x);return u?i(b,l)||(l=b):(u=!0,l=b),l}}}function WL(e){return e?typeof e=="function"?HL(e):Fp(e,"mergeProps"):()=>zL}function GL(e){e()}function VL(){let e=null,t=null;return{clear(){e=null,t=null},notify(){GL(()=>{let r=e;for(;r;)r.callback(),r=r.next})},get(){const r=[];let s=e;for(;s;)r.push(s),s=s.next;return r},subscribe(r){let s=!0;const i=t={callback:r,next:null,prev:t};return i.prev?i.prev.next=i:e=i,function(){!s||e===null||(s=!1,i.next?i.next.prev=i.prev:t=i.prev,i.prev?i.prev.next=i.next:e=i.next)}}}}var Zg={notify(){},get:()=>[]};function ox(e,t){let r,s=Zg,i=0,u=!1;function l(I){x();const R=s.subscribe(I);let M=!1;return()=>{M||(M=!0,R(),b())}}function h(){s.notify()}function p(){k.onStateChange&&k.onStateChange()}function g(){return u}function x(){i++,r||(r=t?t.addNestedSub(p):e.subscribe(p),s=VL())}function b(){i--,r&&i===0&&(r(),r=void 0,s.clear(),s=Zg)}function v(){u||(u=!0,x())}function A(){u&&(u=!1,b())}const k={addNestedSub:l,notifyNestedSubs:h,handleChangeWrapper:p,isSubscribed:g,trySubscribe:v,tryUnsubscribe:A,getListeners:()=>s};return k}var qL=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",ZL=qL(),YL=()=>typeof navigator<"u"&&navigator.product==="ReactNative",KL=YL(),XL=()=>ZL||KL?_.useLayoutEffect:_.useEffect,pd=XL();function Yg(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function nf(e,t){if(Yg(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;const r=Object.keys(e),s=Object.keys(t);if(r.length!==s.length)return!1;for(let i=0;i<r.length;i++)if(!Object.prototype.hasOwnProperty.call(t,r[i])||!Yg(e[r[i]],t[r[i]]))return!1;return!0}var JL={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},eI={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},tI={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},ax={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},rI={[DL]:tI,[BL]:ax};function Kg(e){return jL(e)?ax:rI[e.$$typeof]||JL}var nI=Object.defineProperty,sI=Object.getOwnPropertyNames,Xg=Object.getOwnPropertySymbols,iI=Object.getOwnPropertyDescriptor,oI=Object.getPrototypeOf,Jg=Object.prototype;function tp(e,t){if(typeof t!="string"){if(Jg){const u=oI(t);u&&u!==Jg&&tp(e,u)}let r=sI(t);Xg&&(r=r.concat(Xg(t)));const s=Kg(e),i=Kg(t);for(let u=0;u<r.length;++u){const l=r[u];if(!eI[l]&&!(i&&i[l])&&!(s&&s[l])){const h=iI(t,l);try{nI(e,l,h)}catch{}}}}return e}var aI=Symbol.for("react-redux-context"),lI=typeof globalThis<"u"?globalThis:{};function cI(){if(!_.createContext)return{};const e=lI[aI]??=new Map;let t=e.get(_.createContext);return t||(t=_.createContext(null),e.set(_.createContext,t)),t}var lx=cI(),uI=[null,null];function dI(e,t,r){pd(()=>e(...t),r)}function hI(e,t,r,s,i,u){e.current=s,r.current=!1,i.current&&(i.current=null,u())}function fI(e,t,r,s,i,u,l,h,p,g,x){if(!e)return()=>{};let b=!1,v=null;const A=()=>{if(b||!h.current)return;const I=t.getState();let R,M;try{R=s(I,i.current)}catch(B){M=B,v=B}M||(v=null),R===u.current?l.current||g():(u.current=R,p.current=R,l.current=!0,x())};return r.onStateChange=A,r.trySubscribe(),A(),()=>{if(b=!0,r.tryUnsubscribe(),r.onStateChange=null,v)throw v}}function pI(e,t){return e===t}function mI(e,t,r,{pure:s,areStatesEqual:i=pI,areOwnPropsEqual:u=nf,areStatePropsEqual:l=nf,areMergedPropsEqual:h=nf,forwardRef:p=!1,context:g=lx}={}){const x=g,b=$L(e),v=UL(t),A=WL(r),k=!!e;return R=>{const M=R.displayName||R.name||"Component",B=`Connect(${M})`,F={shouldHandleStateChanges:k,displayName:B,wrappedComponentName:M,WrappedComponent:R,initMapStateToProps:b,initMapDispatchToProps:v,initMergeProps:A,areStatesEqual:i,areStatePropsEqual:l,areOwnPropsEqual:u,areMergedPropsEqual:h};function W(ee){const[de,Ae,Le]=_.useMemo(()=>{const{reactReduxForwardedRef:Fe,...Je}=ee;return[ee.context,Fe,Je]},[ee]),ve=_.useMemo(()=>{let Fe=x;return de?.Consumer,Fe},[de,x]),Ye=_.useContext(ve),Te=!!ee.store&&!!ee.store.getState&&!!ee.store.dispatch,fe=!!Ye&&!!Ye.store,je=Te?ee.store:Ye.store,be=fe?Ye.getServerState:je.getState,ie=_.useMemo(()=>OL(je.dispatch,F),[je]),[oe,Ie]=_.useMemo(()=>{if(!k)return uI;const Fe=ox(je,Te?void 0:Ye.subscription),Je=Fe.notifyNestedSubs.bind(Fe);return[Fe,Je]},[je,Te,Ye]),ke=_.useMemo(()=>Te?Ye:{...Ye,subscription:oe},[Te,Ye,oe]),qe=_.useRef(void 0),se=_.useRef(Le),Se=_.useRef(void 0),Lt=_.useRef(!1),Dt=_.useRef(!1),Ue=_.useRef(void 0);pd(()=>(Dt.current=!0,()=>{Dt.current=!1}),[]);const Z=_.useMemo(()=>()=>Se.current&&Le===se.current?Se.current:ie(je.getState(),Le),[je,Le]),rt=_.useMemo(()=>Je=>oe?fI(k,je,oe,ie,se,qe,Lt,Dt,Se,Ie,Je):()=>{},[oe]);dI(hI,[se,qe,Lt,Le,Se,Ie]);let gt;try{gt=_.useSyncExternalStore(rt,Z,be?()=>ie(be(),Le):Z)}catch(Fe){throw Ue.current&&(Fe.message+=`
70
+ The error may be correlated with this previous error:
71
+ ${Ue.current.stack}
72
+
73
+ `),Fe}pd(()=>{Ue.current=void 0,Se.current=void 0,qe.current=gt});const J=_.useMemo(()=>_.createElement(R,{...gt,ref:Ae}),[Ae,R,gt]);return _.useMemo(()=>k?_.createElement(ve.Provider,{value:ke},J):J,[ve,J,ke])}const q=_.memo(W);if(q.WrappedComponent=R,q.displayName=W.displayName=B,p){const de=_.forwardRef(function(Le,ve){return _.createElement(q,{...Le,reactReduxForwardedRef:ve})});return de.displayName=B,de.WrappedComponent=R,tp(de,R)}return tp(q,R)}}var cx=mI;function gI(e){const{children:t,context:r,serverState:s,store:i}=e,u=_.useMemo(()=>{const p=ox(i);return{store:i,subscription:p,getServerState:s?()=>s:void 0}},[i,s]),l=_.useMemo(()=>i.getState(),[i]);pd(()=>{const{subscription:p}=u;return p.onStateChange=p.notifyNestedSubs,p.trySubscribe(),l!==i.getState()&&p.notifyNestedSubs(),()=>{p.tryUnsubscribe(),p.onStateChange=void 0}},[u,l]);const h=r||lx;return _.createElement(h.Provider,{value:u},t)}var xI=gI,bI="Invariant failed";function yI(e,t){throw new Error(bI)}var ra=function(t){var r=t.top,s=t.right,i=t.bottom,u=t.left,l=s-u,h=i-r,p={top:r,right:s,bottom:i,left:u,width:l,height:h,x:u,y:r,center:{x:(s+u)/2,y:(i+r)/2}};return p},Up=function(t,r){return{top:t.top-r.top,left:t.left-r.left,bottom:t.bottom+r.bottom,right:t.right+r.right}},e2=function(t,r){return{top:t.top+r.top,left:t.left+r.left,bottom:t.bottom-r.bottom,right:t.right-r.right}},vI=function(t,r){return{top:t.top+r.y,left:t.left+r.x,bottom:t.bottom+r.y,right:t.right+r.x}},sf={top:0,right:0,bottom:0,left:0},$p=function(t){var r=t.borderBox,s=t.margin,i=s===void 0?sf:s,u=t.border,l=u===void 0?sf:u,h=t.padding,p=h===void 0?sf:h,g=ra(Up(r,i)),x=ra(e2(r,l)),b=ra(e2(x,p));return{marginBox:g,borderBox:ra(r),paddingBox:x,contentBox:b,margin:i,border:l,padding:p}},Mo=function(t){var r=t.slice(0,-2),s=t.slice(-2);if(s!=="px")return 0;var i=Number(r);return isNaN(i)&&yI(),i},wI=function(){return{x:window.pageXOffset,y:window.pageYOffset}},md=function(t,r){var s=t.borderBox,i=t.border,u=t.margin,l=t.padding,h=vI(s,r);return $p({borderBox:h,border:i,margin:u,padding:l})},gd=function(t,r){return r===void 0&&(r=wI()),md(t,r)},ux=function(t,r){var s={top:Mo(r.marginTop),right:Mo(r.marginRight),bottom:Mo(r.marginBottom),left:Mo(r.marginLeft)},i={top:Mo(r.paddingTop),right:Mo(r.paddingRight),bottom:Mo(r.paddingBottom),left:Mo(r.paddingLeft)},u={top:Mo(r.borderTopWidth),right:Mo(r.borderRightWidth),bottom:Mo(r.borderBottomWidth),left:Mo(r.borderLeftWidth)};return $p({borderBox:t,margin:s,padding:i,border:u})},dx=function(t){var r=t.getBoundingClientRect(),s=window.getComputedStyle(t);return ux(r,s)},Zc=function(t){var r=[],s=null,i=function(){for(var l=arguments.length,h=new Array(l),p=0;p<l;p++)h[p]=arguments[p];r=h,!s&&(s=requestAnimationFrame(function(){s=null,t.apply(void 0,r)}))};return i.cancel=function(){s&&(cancelAnimationFrame(s),s=null)},i};function xd(){return xd=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var s in r)({}).hasOwnProperty.call(r,s)&&(e[s]=r[s])}return e},xd.apply(null,arguments)}function hx(e,t){}hx.bind(null,"warn");hx.bind(null,"error");function Tl(){}function AI(e,t){return{...e,...t}}function Qo(e,t,r){const s=t.map(i=>{const u=AI(r,i.options);return e.addEventListener(i.eventName,i.fn,u),function(){e.removeEventListener(i.eventName,i.fn,u)}});return function(){s.forEach(u=>{u()})}}const TI="Invariant failed";class bd extends Error{}bd.prototype.toString=function(){return this.message};function mt(e,t){throw new bd(TI)}class SI extends S.Component{constructor(...t){super(...t),this.callbacks=null,this.unbind=Tl,this.onWindowError=r=>{const s=this.getCallbacks();s.isDragging()&&s.tryAbort(),r.error instanceof bd&&r.preventDefault()},this.getCallbacks=()=>{if(!this.callbacks)throw new Error("Unable to find AppCallbacks in <ErrorBoundary/>");return this.callbacks},this.setCallbacks=r=>{this.callbacks=r}}componentDidMount(){this.unbind=Qo(window,[{eventName:"error",fn:this.onWindowError}])}componentDidCatch(t){if(t instanceof bd){this.setState({});return}throw t}componentWillUnmount(){this.unbind()}render(){return this.props.children(this.setCallbacks)}}const CI=`
74
+ Press space bar to start a drag.
75
+ When dragging you can use the arrow keys to move the item around and escape to cancel.
76
+ Some screen readers may require you to be in focus mode or to use your pass through key
77
+ `,yd=e=>e+1,_I=e=>`
78
+ You have lifted an item in position ${yd(e.source.index)}
79
+ `,fx=(e,t)=>{const r=e.droppableId===t.droppableId,s=yd(e.index),i=yd(t.index);return r?`
80
+ You have moved the item from position ${s}
81
+ to position ${i}
82
+ `:`
83
+ You have moved the item from position ${s}
84
+ in list ${e.droppableId}
85
+ to list ${t.droppableId}
86
+ in position ${i}
87
+ `},px=(e,t,r)=>t.droppableId===r.droppableId?`
88
+ The item ${e}
89
+ has been combined with ${r.draggableId}`:`
90
+ The item ${e}
91
+ in list ${t.droppableId}
92
+ has been combined with ${r.draggableId}
93
+ in list ${r.droppableId}
94
+ `,LI=e=>{const t=e.destination;if(t)return fx(e.source,t);const r=e.combine;return r?px(e.draggableId,e.source,r):"You are over an area that cannot be dropped on"},t2=e=>`
95
+ The item has returned to its starting position
96
+ of ${yd(e.index)}
97
+ `,II=e=>{if(e.reason==="CANCEL")return`
98
+ Movement cancelled.
99
+ ${t2(e.source)}
100
+ `;const t=e.destination,r=e.combine;return t?`
101
+ You have dropped the item.
102
+ ${fx(e.source,t)}
103
+ `:r?`
104
+ You have dropped the item.
105
+ ${px(e.draggableId,e.source,r)}
106
+ `:`
107
+ The item has been dropped while not over a drop area.
108
+ ${t2(e.source)}
109
+ `},nd={dragHandleUsageInstructions:CI,onDragStart:_I,onDragUpdate:LI,onDragEnd:II};function kI(e,t){return!!(e===t||Number.isNaN(e)&&Number.isNaN(t))}function mx(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!kI(e[r],t[r]))return!1;return!0}function Vr(e,t){const r=_.useState(()=>({inputs:t,result:e()}))[0],s=_.useRef(!0),i=_.useRef(r),l=s.current||!!(t&&i.current.inputs&&mx(t,i.current.inputs))?i.current:{inputs:t,result:e()};return _.useEffect(()=>{s.current=!1,i.current=l},[l]),l.result}function Kt(e,t){return Vr(()=>e,t)}const ni={x:0,y:0},bi=(e,t)=>({x:e.x+t.x,y:e.y+t.y}),fo=(e,t)=>({x:e.x-t.x,y:e.y-t.y}),Sl=(e,t)=>e.x===t.x&&e.y===t.y,q0=e=>({x:e.x!==0?-e.x:0,y:e.y!==0?-e.y:0}),Jl=(e,t,r=0)=>e==="x"?{x:t,y:r}:{x:r,y:t},Yc=(e,t)=>Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2),r2=(e,t)=>Math.min(...t.map(r=>Yc(e,r))),gx=e=>t=>({x:e(t.x),y:e(t.y)});var EI=(e,t)=>{const r=ra({top:Math.max(t.top,e.top),right:Math.min(t.right,e.right),bottom:Math.min(t.bottom,e.bottom),left:Math.max(t.left,e.left)});return r.width<=0||r.height<=0?null:r};const su=(e,t)=>({top:e.top+t.y,left:e.left+t.x,bottom:e.bottom+t.y,right:e.right+t.x}),n2=e=>[{x:e.left,y:e.top},{x:e.right,y:e.top},{x:e.left,y:e.bottom},{x:e.right,y:e.bottom}],RI={top:0,right:0,bottom:0,left:0},MI=(e,t)=>t?su(e,t.scroll.diff.displacement):e,NI=(e,t,r)=>r&&r.increasedBy?{...e,[t.end]:e[t.end]+r.increasedBy[t.line]}:e,DI=(e,t)=>t&&t.shouldClipSubject?EI(t.pageMarginBox,e):ra(e);var U0=({page:e,withPlaceholder:t,axis:r,frame:s})=>{const i=MI(e.marginBox,s),u=NI(i,r,t),l=DI(u,s);return{page:e,withPlaceholder:t,active:l}},zp=(e,t)=>{e.frame||mt();const r=e.frame,s=fo(t,r.scroll.initial),i=q0(s),u={...r,scroll:{initial:r.scroll.initial,current:t,diff:{value:s,displacement:i},max:r.scroll.max}},l=U0({page:e.subject.page,withPlaceholder:e.subject.withPlaceholder,axis:e.axis,frame:u});return{...e,frame:u,subject:l}};function ri(e,t=mx){let r=null;function s(...i){if(r&&r.lastThis===this&&t(i,r.lastArgs))return r.lastResult;const u=e.apply(this,i);return r={lastResult:u,lastArgs:i,lastThis:this},u}return s.clear=function(){r=null},s}const xx=ri(e=>e.reduce((t,r)=>(t[r.descriptor.id]=r,t),{})),bx=ri(e=>e.reduce((t,r)=>(t[r.descriptor.id]=r,t),{})),Fd=ri(e=>Object.values(e)),BI=ri(e=>Object.values(e));var Z0=ri((e,t)=>BI(t).filter(s=>e===s.descriptor.droppableId).sort((s,i)=>s.descriptor.index-i.descriptor.index));function Hp(e){return e.at&&e.at.type==="REORDER"?e.at.destination:null}function Ud(e){return e.at&&e.at.type==="COMBINE"?e.at.combine:null}var $d=ri((e,t)=>t.filter(r=>r.descriptor.id!==e.descriptor.id)),QI=({isMovingForward:e,draggable:t,destination:r,insideDestination:s,previousImpact:i})=>{if(!r.isCombineEnabled||!Hp(i))return null;function l(A){const k={type:"COMBINE",combine:{draggableId:A,droppableId:r.descriptor.id}};return{...i,at:k}}const h=i.displaced.all,p=h.length?h[0]:null;if(e)return p?l(p):null;const g=$d(t,s);if(!p){if(!g.length)return null;const A=g[g.length-1];return l(A.descriptor.id)}const x=g.findIndex(A=>A.descriptor.id===p);x===-1&&mt();const b=x-1;if(b<0)return null;const v=g[b];return l(v.descriptor.id)},Y0=(e,t)=>e.descriptor.droppableId===t.descriptor.id;const yx={point:ni,value:0},Kc={invisible:{},visible:{},all:[]},jI={displaced:Kc,displacedBy:yx,at:null};var jo=(e,t)=>r=>e<=r&&r<=t,vx=e=>{const t=jo(e.top,e.bottom),r=jo(e.left,e.right);return s=>{if(t(s.top)&&t(s.bottom)&&r(s.left)&&r(s.right))return!0;const u=t(s.top)||t(s.bottom),l=r(s.left)||r(s.right);if(u&&l)return!0;const p=s.top<e.top&&s.bottom>e.bottom,g=s.left<e.left&&s.right>e.right;return p&&g?!0:p&&l||g&&u}},PI=e=>{const t=jo(e.top,e.bottom),r=jo(e.left,e.right);return s=>t(s.top)&&t(s.bottom)&&r(s.left)&&r(s.right)};const Wp={direction:"vertical",line:"y",crossAxisLine:"x",start:"top",end:"bottom",size:"height",crossAxisStart:"left",crossAxisEnd:"right",crossAxisSize:"width"},wx={direction:"horizontal",line:"x",crossAxisLine:"y",start:"left",end:"right",size:"width",crossAxisStart:"top",crossAxisEnd:"bottom",crossAxisSize:"height"};var OI=e=>t=>{const r=jo(t.top,t.bottom),s=jo(t.left,t.right);return i=>e===Wp?r(i.top)&&r(i.bottom):s(i.left)&&s(i.right)};const FI=(e,t)=>{const r=t.frame?t.frame.scroll.diff.displacement:ni;return su(e,r)},UI=(e,t,r)=>t.subject.active?r(t.subject.active)(e):!1,$I=(e,t,r)=>r(t)(e),Gp=({target:e,destination:t,viewport:r,withDroppableDisplacement:s,isVisibleThroughFrameFn:i})=>{const u=s?FI(e,t):e;return UI(u,t,i)&&$I(u,r,i)},zI=e=>Gp({...e,isVisibleThroughFrameFn:vx}),Ax=e=>Gp({...e,isVisibleThroughFrameFn:PI}),HI=e=>Gp({...e,isVisibleThroughFrameFn:OI(e.destination.axis)}),WI=(e,t,r)=>{if(typeof r=="boolean")return r;if(!t)return!0;const{invisible:s,visible:i}=t;if(s[e])return!1;const u=i[e];return u?u.shouldAnimate:!0};function GI(e,t){const r=e.page.marginBox,s={top:t.point.y,right:0,bottom:0,left:t.point.x};return ra(Up(r,s))}function Xc({afterDragging:e,destination:t,displacedBy:r,viewport:s,forceShouldAnimate:i,last:u}){return e.reduce(function(h,p){const g=GI(p,r),x=p.descriptor.id;if(h.all.push(x),!zI({target:g,destination:t,viewport:s,withDroppableDisplacement:!0}))return h.invisible[p.descriptor.id]=!0,h;const v=WI(x,u,i),A={draggableId:x,shouldAnimate:v};return h.visible[x]=A,h},{all:[],visible:{},invisible:{}})}function VI(e,t){if(!e.length)return 0;const r=e[e.length-1].descriptor.index;return t.inHomeList?r:r+1}function s2({insideDestination:e,inHomeList:t,displacedBy:r,destination:s}){const i=VI(e,{inHomeList:t});return{displaced:Kc,displacedBy:r,at:{type:"REORDER",destination:{droppableId:s.descriptor.id,index:i}}}}function vd({draggable:e,insideDestination:t,destination:r,viewport:s,displacedBy:i,last:u,index:l,forceShouldAnimate:h}){const p=Y0(e,r);if(l==null)return s2({insideDestination:t,inHomeList:p,displacedBy:i,destination:r});const g=t.find(k=>k.descriptor.index===l);if(!g)return s2({insideDestination:t,inHomeList:p,displacedBy:i,destination:r});const x=$d(e,t),b=t.indexOf(g),v=x.slice(b);return{displaced:Xc({afterDragging:v,destination:r,displacedBy:i,last:u,viewport:s.frame,forceShouldAnimate:h}),displacedBy:i,at:{type:"REORDER",destination:{droppableId:r.descriptor.id,index:l}}}}function _l(e,t){return!!t.effected[e]}var qI=({isMovingForward:e,destination:t,draggables:r,combine:s,afterCritical:i})=>{if(!t.isCombineEnabled)return null;const u=s.draggableId,h=r[u].descriptor.index;return _l(u,i)?e?h:h-1:e?h+1:h},ZI=({isMovingForward:e,isInHomeList:t,insideDestination:r,location:s})=>{if(!r.length)return null;const i=s.index,u=e?i+1:i-1,l=r[0].descriptor.index,h=r[r.length-1].descriptor.index,p=t?h:h+1;return u<l||u>p?null:u},YI=({isMovingForward:e,isInHomeList:t,draggable:r,draggables:s,destination:i,insideDestination:u,previousImpact:l,viewport:h,afterCritical:p})=>{const g=l.at;if(g||mt(),g.type==="REORDER"){const b=ZI({isMovingForward:e,isInHomeList:t,location:g.destination,insideDestination:u});return b==null?null:vd({draggable:r,insideDestination:u,destination:i,viewport:h,last:l.displaced,displacedBy:l.displacedBy,index:b})}const x=qI({isMovingForward:e,destination:i,displaced:l.displaced,draggables:s,combine:g.combine,afterCritical:p});return x==null?null:vd({draggable:r,insideDestination:u,destination:i,viewport:h,last:l.displaced,displacedBy:l.displacedBy,index:x})},KI=({displaced:e,afterCritical:t,combineWith:r,displacedBy:s})=>{const i=!!(e.visible[r]||e.invisible[r]);return _l(r,t)?i?ni:q0(s.point):i?s.point:ni},XI=({afterCritical:e,impact:t,draggables:r})=>{const s=Ud(t);s||mt();const i=s.draggableId,u=r[i].page.borderBox.center,l=KI({displaced:t.displaced,afterCritical:e,combineWith:i,displacedBy:t.displacedBy});return bi(u,l)};const Tx=(e,t)=>t.margin[e.start]+t.borderBox[e.size]/2,JI=(e,t)=>t.margin[e.end]+t.borderBox[e.size]/2,Vp=(e,t,r)=>t[e.crossAxisStart]+r.margin[e.crossAxisStart]+r.borderBox[e.crossAxisSize]/2,i2=({axis:e,moveRelativeTo:t,isMoving:r})=>Jl(e.line,t.marginBox[e.end]+Tx(e,r),Vp(e,t.marginBox,r)),o2=({axis:e,moveRelativeTo:t,isMoving:r})=>Jl(e.line,t.marginBox[e.start]-JI(e,r),Vp(e,t.marginBox,r)),ek=({axis:e,moveInto:t,isMoving:r})=>Jl(e.line,t.contentBox[e.start]+Tx(e,r),Vp(e,t.contentBox,r));var tk=({impact:e,draggable:t,draggables:r,droppable:s,afterCritical:i})=>{const u=Z0(s.descriptor.id,r),l=t.page,h=s.axis;if(!u.length)return ek({axis:h,moveInto:s.page,isMoving:l});const{displaced:p,displacedBy:g}=e,x=p.all[0];if(x){const v=r[x];if(_l(x,i))return o2({axis:h,moveRelativeTo:v.page,isMoving:l});const A=md(v.page,g.point);return o2({axis:h,moveRelativeTo:A,isMoving:l})}const b=u[u.length-1];if(b.descriptor.id===t.descriptor.id)return l.borderBox.center;if(_l(b.descriptor.id,i)){const v=md(b.page,q0(i.displacedBy.point));return i2({axis:h,moveRelativeTo:v,isMoving:l})}return i2({axis:h,moveRelativeTo:b.page,isMoving:l})},rp=(e,t)=>{const r=e.frame;return r?bi(t,r.scroll.diff.displacement):t};const rk=({impact:e,draggable:t,droppable:r,draggables:s,afterCritical:i})=>{const u=t.page.borderBox.center,l=e.at;return!r||!l?u:l.type==="REORDER"?tk({impact:e,draggable:t,draggables:s,droppable:r,afterCritical:i}):XI({impact:e,draggables:s,afterCritical:i})};var zd=e=>{const t=rk(e),r=e.droppable;return r?rp(r,t):t},Sx=(e,t)=>{const r=fo(t,e.scroll.initial),s=q0(r);return{frame:ra({top:t.y,bottom:t.y+e.frame.height,left:t.x,right:t.x+e.frame.width}),scroll:{initial:e.scroll.initial,max:e.scroll.max,current:t,diff:{value:r,displacement:s}}}};function a2(e,t){return e.map(r=>t[r])}function nk(e,t){for(let r=0;r<t.length;r++){const s=t[r].visible[e];if(s)return s}return null}var sk=({impact:e,viewport:t,destination:r,draggables:s,maxScrollChange:i})=>{const u=Sx(t,bi(t.scroll.current,i)),l=r.frame?zp(r,bi(r.frame.scroll.current,i)):r,h=e.displaced,p=Xc({afterDragging:a2(h.all,s),destination:r,displacedBy:e.displacedBy,viewport:u.frame,last:h,forceShouldAnimate:!1}),g=Xc({afterDragging:a2(h.all,s),destination:l,displacedBy:e.displacedBy,viewport:t.frame,last:h,forceShouldAnimate:!1}),x={},b={},v=[h,p,g];return h.all.forEach(k=>{const I=nk(k,v);if(I){b[k]=I;return}x[k]=!0}),{...e,displaced:{all:h.all,invisible:x,visible:b}}},ik=(e,t)=>bi(e.scroll.diff.displacement,t),qp=({pageBorderBoxCenter:e,draggable:t,viewport:r})=>{const s=ik(r,e),i=fo(s,t.page.borderBox.center);return bi(t.client.borderBox.center,i)},Cx=({draggable:e,destination:t,newPageBorderBoxCenter:r,viewport:s,withDroppableDisplacement:i,onlyOnMainAxis:u=!1})=>{const l=fo(r,e.page.borderBox.center),p={target:su(e.page.borderBox,l),destination:t,withDroppableDisplacement:i,viewport:s};return u?HI(p):Ax(p)},ok=({isMovingForward:e,draggable:t,destination:r,draggables:s,previousImpact:i,viewport:u,previousPageBorderBoxCenter:l,previousClientSelection:h,afterCritical:p})=>{if(!r.isEnabled)return null;const g=Z0(r.descriptor.id,s),x=Y0(t,r),b=QI({isMovingForward:e,draggable:t,destination:r,insideDestination:g,previousImpact:i})||YI({isMovingForward:e,isInHomeList:x,draggable:t,draggables:s,destination:r,insideDestination:g,previousImpact:i,viewport:u,afterCritical:p});if(!b)return null;const v=zd({impact:b,draggable:t,droppable:r,draggables:s,afterCritical:p});if(Cx({draggable:t,destination:r,newPageBorderBoxCenter:v,viewport:u.frame,withDroppableDisplacement:!1,onlyOnMainAxis:!0}))return{clientSelection:qp({pageBorderBoxCenter:v,draggable:t,viewport:u}),impact:b,scrollJumpRequest:null};const k=fo(v,l),I=sk({impact:b,viewport:u,destination:r,draggables:s,maxScrollChange:k});return{clientSelection:h,impact:I,scrollJumpRequest:k}};const Oi=e=>{const t=e.subject.active;return t||mt(),t};var ak=({isMovingForward:e,pageBorderBoxCenter:t,source:r,droppables:s,viewport:i})=>{const u=r.subject.active;if(!u)return null;const l=r.axis,h=jo(u[l.start],u[l.end]),p=Fd(s).filter(x=>x!==r).filter(x=>x.isEnabled).filter(x=>!!x.subject.active).filter(x=>vx(i.frame)(Oi(x))).filter(x=>{const b=Oi(x);return e?u[l.crossAxisEnd]<b[l.crossAxisEnd]:b[l.crossAxisStart]<u[l.crossAxisStart]}).filter(x=>{const b=Oi(x),v=jo(b[l.start],b[l.end]);return h(b[l.start])||h(b[l.end])||v(u[l.start])||v(u[l.end])}).sort((x,b)=>{const v=Oi(x)[l.crossAxisStart],A=Oi(b)[l.crossAxisStart];return e?v-A:A-v}).filter((x,b,v)=>Oi(x)[l.crossAxisStart]===Oi(v[0])[l.crossAxisStart]);if(!p.length)return null;if(p.length===1)return p[0];const g=p.filter(x=>jo(Oi(x)[l.start],Oi(x)[l.end])(t[l.line]));return g.length===1?g[0]:g.length>1?g.sort((x,b)=>Oi(x)[l.start]-Oi(b)[l.start])[0]:p.sort((x,b)=>{const v=r2(t,n2(Oi(x))),A=r2(t,n2(Oi(b)));return v!==A?v-A:Oi(x)[l.start]-Oi(b)[l.start]})[0]};const l2=(e,t)=>{const r=e.page.borderBox.center;return _l(e.descriptor.id,t)?fo(r,t.displacedBy.point):r},lk=(e,t)=>{const r=e.page.borderBox;return _l(e.descriptor.id,t)?su(r,q0(t.displacedBy.point)):r};var ck=({pageBorderBoxCenter:e,viewport:t,destination:r,insideDestination:s,afterCritical:i})=>s.filter(l=>Ax({target:lk(l,i),destination:r,viewport:t.frame,withDroppableDisplacement:!0})).sort((l,h)=>{const p=Yc(e,rp(r,l2(l,i))),g=Yc(e,rp(r,l2(h,i)));return p<g?-1:g<p?1:l.descriptor.index-h.descriptor.index})[0]||null,iu=ri(function(t,r){const s=r[t.line];return{value:s,point:Jl(t.line,s)}});const uk=(e,t,r)=>{const s=e.axis;if(e.descriptor.mode==="virtual")return Jl(s.line,t[s.line]);const i=e.subject.page.contentBox[s.size],p=Z0(e.descriptor.id,r).reduce((g,x)=>g+x.client.marginBox[s.size],0)+t[s.line]-i;return p<=0?null:Jl(s.line,p)},_x=(e,t)=>({...e,scroll:{...e.scroll,max:t}}),Lx=(e,t,r)=>{const s=e.frame;Y0(t,e)&&mt(),e.subject.withPlaceholder&&mt();const i=iu(e.axis,t.displaceBy).point,u=uk(e,i,r),l={placeholderSize:i,increasedBy:u,oldFrameMaxScroll:e.frame?e.frame.scroll.max:null};if(!s){const x=U0({page:e.subject.page,withPlaceholder:l,axis:e.axis,frame:e.frame});return{...e,subject:x}}const h=u?bi(s.scroll.max,u):s.scroll.max,p=_x(s,h),g=U0({page:e.subject.page,withPlaceholder:l,axis:e.axis,frame:p});return{...e,subject:g,frame:p}},dk=e=>{const t=e.subject.withPlaceholder;t||mt();const r=e.frame;if(!r){const l=U0({page:e.subject.page,axis:e.axis,frame:null,withPlaceholder:null});return{...e,subject:l}}const s=t.oldFrameMaxScroll;s||mt();const i=_x(r,s),u=U0({page:e.subject.page,axis:e.axis,frame:i,withPlaceholder:null});return{...e,subject:u,frame:i}};var hk=({previousPageBorderBoxCenter:e,moveRelativeTo:t,insideDestination:r,draggable:s,draggables:i,destination:u,viewport:l,afterCritical:h})=>{if(!t){if(r.length)return null;const b={displaced:Kc,displacedBy:yx,at:{type:"REORDER",destination:{droppableId:u.descriptor.id,index:0}}},v=zd({impact:b,draggable:s,droppable:u,draggables:i,afterCritical:h}),A=Y0(s,u)?u:Lx(u,s,i);return Cx({draggable:s,destination:A,newPageBorderBoxCenter:v,viewport:l.frame,withDroppableDisplacement:!1,onlyOnMainAxis:!0})?b:null}const p=e[u.axis.line]<=t.page.borderBox.center[u.axis.line],g=(()=>{const b=t.descriptor.index;return t.descriptor.id===s.descriptor.id||p?b:b+1})(),x=iu(u.axis,s.displaceBy);return vd({draggable:s,insideDestination:r,destination:u,viewport:l,displacedBy:x,last:Kc,index:g})},fk=({isMovingForward:e,previousPageBorderBoxCenter:t,draggable:r,isOver:s,draggables:i,droppables:u,viewport:l,afterCritical:h})=>{const p=ak({isMovingForward:e,pageBorderBoxCenter:t,source:s,droppables:u,viewport:l});if(!p)return null;const g=Z0(p.descriptor.id,i),x=ck({pageBorderBoxCenter:t,viewport:l,destination:p,insideDestination:g,afterCritical:h}),b=hk({previousPageBorderBoxCenter:t,destination:p,draggable:r,draggables:i,moveRelativeTo:x,insideDestination:g,viewport:l,afterCritical:h});if(!b)return null;const v=zd({impact:b,draggable:r,droppable:p,draggables:i,afterCritical:h});return{clientSelection:qp({pageBorderBoxCenter:v,draggable:r,viewport:l}),impact:b,scrollJumpRequest:null}},mo=e=>{const t=e.at;return t?t.type==="REORDER"?t.destination.droppableId:t.combine.droppableId:null};const pk=(e,t)=>{const r=mo(e);return r?t[r]:null};var mk=({state:e,type:t})=>{const r=pk(e.impact,e.dimensions.droppables),s=!!r,i=e.dimensions.droppables[e.critical.droppable.id],u=r||i,l=u.axis.direction,h=l==="vertical"&&(t==="MOVE_UP"||t==="MOVE_DOWN")||l==="horizontal"&&(t==="MOVE_LEFT"||t==="MOVE_RIGHT");if(h&&!s)return null;const p=t==="MOVE_DOWN"||t==="MOVE_RIGHT",g=e.dimensions.draggables[e.critical.draggable.id],x=e.current.page.borderBoxCenter,{draggables:b,droppables:v}=e.dimensions;return h?ok({isMovingForward:p,previousPageBorderBoxCenter:x,draggable:g,destination:u,draggables:b,viewport:e.viewport,previousClientSelection:e.current.client.selection,previousImpact:e.impact,afterCritical:e.afterCritical}):fk({isMovingForward:p,previousPageBorderBoxCenter:x,draggable:g,isOver:u,draggables:b,droppables:v,viewport:e.viewport,afterCritical:e.afterCritical})};function Ul(e){return e.phase==="DRAGGING"||e.phase==="COLLECTING"}function Ix(e){const t=jo(e.top,e.bottom),r=jo(e.left,e.right);return function(i){return t(i.y)&&r(i.x)}}function gk(e,t){return e.left<t.right&&e.right>t.left&&e.top<t.bottom&&e.bottom>t.top}function xk({pageBorderBox:e,draggable:t,candidates:r}){const s=t.page.borderBox.center,i=r.map(u=>{const l=u.axis,h=Jl(u.axis.line,e.center[l.line],u.page.borderBox.center[l.crossAxisLine]);return{id:u.descriptor.id,distance:Yc(s,h)}}).sort((u,l)=>l.distance-u.distance);return i[0]?i[0].id:null}function bk({pageBorderBox:e,draggable:t,droppables:r}){const s=Fd(r).filter(i=>{if(!i.isEnabled)return!1;const u=i.subject.active;if(!u||!gk(e,u))return!1;if(Ix(u)(e.center))return!0;const l=i.axis,h=u.center[l.crossAxisLine],p=e[l.crossAxisStart],g=e[l.crossAxisEnd],x=jo(u[l.crossAxisStart],u[l.crossAxisEnd]),b=x(p),v=x(g);return!b&&!v?!0:b?p<h:g>h});return s.length?s.length===1?s[0].descriptor.id:xk({pageBorderBox:e,draggable:t,candidates:s}):null}const kx=(e,t)=>ra(su(e,t));var yk=(e,t)=>{const r=e.frame;return r?kx(t,r.scroll.diff.value):t};function Ex({displaced:e,id:t}){return!!(e.visible[t]||e.invisible[t])}function vk({draggable:e,closest:t,inHomeList:r}){return t?r&&t.descriptor.index>e.descriptor.index?t.descriptor.index-1:t.descriptor.index:null}var wk=({pageBorderBoxWithDroppableScroll:e,draggable:t,destination:r,insideDestination:s,last:i,viewport:u,afterCritical:l})=>{const h=r.axis,p=iu(r.axis,t.displaceBy),g=p.value,x=e[h.start],b=e[h.end],A=$d(t,s).find(I=>{const R=I.descriptor.id,M=I.page.borderBox.center[h.line],B=_l(R,l),F=Ex({displaced:i,id:R});return B?F?b<=M:x<M-g:F?b<=M+g:x<M})||null,k=vk({draggable:t,closest:A,inHomeList:Y0(t,r)});return vd({draggable:t,insideDestination:s,destination:r,viewport:u,last:i,displacedBy:p,index:k})};const Ak=4;var Tk=({draggable:e,pageBorderBoxWithDroppableScroll:t,previousImpact:r,destination:s,insideDestination:i,afterCritical:u})=>{if(!s.isCombineEnabled)return null;const l=s.axis,h=iu(s.axis,e.displaceBy),p=h.value,g=t[l.start],x=t[l.end],v=$d(e,i).find(k=>{const I=k.descriptor.id,R=k.page.borderBox,B=R[l.size]/Ak,F=_l(I,u),W=Ex({displaced:r.displaced,id:I});return F?W?x>R[l.start]+B&&x<R[l.end]-B:g>R[l.start]-p+B&&g<R[l.end]-p-B:W?x>R[l.start]+p+B&&x<R[l.end]+p-B:g>R[l.start]+B&&g<R[l.end]-B});return v?{displacedBy:h,displaced:r.displaced,at:{type:"COMBINE",combine:{draggableId:v.descriptor.id,droppableId:s.descriptor.id}}}:null},Rx=({pageOffset:e,draggable:t,draggables:r,droppables:s,previousImpact:i,viewport:u,afterCritical:l})=>{const h=kx(t.page.borderBox,e),p=bk({pageBorderBox:h,draggable:t,droppables:s});if(!p)return jI;const g=s[p],x=Z0(g.descriptor.id,r),b=yk(g,h);return Tk({pageBorderBoxWithDroppableScroll:b,draggable:t,previousImpact:i,destination:g,insideDestination:x,afterCritical:l})||wk({pageBorderBoxWithDroppableScroll:b,draggable:t,destination:g,insideDestination:x,last:i.displaced,viewport:u,afterCritical:l})},Zp=(e,t)=>({...e,[t.descriptor.id]:t});const Sk=({previousImpact:e,impact:t,droppables:r})=>{const s=mo(e),i=mo(t);if(!s||s===i)return r;const u=r[s];if(!u.subject.withPlaceholder)return r;const l=dk(u);return Zp(r,l)};var Ck=({draggable:e,draggables:t,droppables:r,previousImpact:s,impact:i})=>{const u=Sk({previousImpact:s,impact:i,droppables:r}),l=mo(i);if(!l)return u;const h=r[l];if(Y0(e,h)||h.subject.withPlaceholder)return u;const p=Lx(h,e,t);return Zp(u,p)},Pc=({state:e,clientSelection:t,dimensions:r,viewport:s,impact:i,scrollJumpRequest:u})=>{const l=s||e.viewport,h=r||e.dimensions,p=t||e.current.client.selection,g=fo(p,e.initial.client.selection),x={offset:g,selection:p,borderBoxCenter:bi(e.initial.client.borderBoxCenter,g)},b={selection:bi(x.selection,l.scroll.current),borderBoxCenter:bi(x.borderBoxCenter,l.scroll.current),offset:bi(x.offset,l.scroll.diff.value)},v={client:x,page:b};if(e.phase==="COLLECTING")return{...e,dimensions:h,viewport:l,current:v};const A=h.draggables[e.critical.draggable.id],k=i||Rx({pageOffset:b.offset,draggable:A,draggables:h.draggables,droppables:h.droppables,previousImpact:e.impact,viewport:l,afterCritical:e.afterCritical}),I=Ck({draggable:A,impact:k,previousImpact:e.impact,draggables:h.draggables,droppables:h.droppables});return{...e,current:v,dimensions:{draggables:h.draggables,droppables:I},impact:k,viewport:l,scrollJumpRequest:u||null,forceShouldAnimate:u?!1:null}};function _k(e,t){return e.map(r=>t[r])}var Mx=({impact:e,viewport:t,draggables:r,destination:s,forceShouldAnimate:i})=>{const u=e.displaced,l=_k(u.all,r),h=Xc({afterDragging:l,destination:s,displacedBy:e.displacedBy,viewport:t.frame,forceShouldAnimate:i,last:u});return{...e,displaced:h}},Nx=({impact:e,draggable:t,droppable:r,draggables:s,viewport:i,afterCritical:u})=>{const l=zd({impact:e,draggable:t,draggables:s,droppable:r,afterCritical:u});return qp({pageBorderBoxCenter:l,draggable:t,viewport:i})},Dx=({state:e,dimensions:t,viewport:r})=>{e.movementMode!=="SNAP"&&mt();const s=e.impact,i=r||e.viewport,u=t||e.dimensions,{draggables:l,droppables:h}=u,p=l[e.critical.draggable.id],g=mo(s);g||mt();const x=h[g],b=Mx({impact:s,viewport:i,destination:x,draggables:l}),v=Nx({impact:b,draggable:p,droppable:x,draggables:l,viewport:i,afterCritical:e.afterCritical});return Pc({impact:b,clientSelection:v,state:e,dimensions:u,viewport:i})},Lk=e=>({index:e.index,droppableId:e.droppableId}),Bx=({draggable:e,home:t,draggables:r,viewport:s})=>{const i=iu(t.axis,e.displaceBy),u=Z0(t.descriptor.id,r),l=u.indexOf(e);l===-1&&mt();const h=u.slice(l+1),p=h.reduce((v,A)=>(v[A.descriptor.id]=!0,v),{}),g={inVirtualList:t.descriptor.mode==="virtual",displacedBy:i,effected:p};return{impact:{displaced:Xc({afterDragging:h,destination:t,displacedBy:i,last:null,viewport:s.frame,forceShouldAnimate:!1}),displacedBy:i,at:{type:"REORDER",destination:Lk(e.descriptor)}},afterCritical:g}},Ik=(e,t)=>({draggables:e.draggables,droppables:Zp(e.droppables,t)}),kk=({draggable:e,offset:t,initialWindowScroll:r})=>{const s=md(e.client,t),i=gd(s,r);return{...e,placeholder:{...e.placeholder,client:s},client:s,page:i}},Ek=e=>{const t=e.frame;return t||mt(),t},Rk=({additions:e,updatedDroppables:t,viewport:r})=>{const s=r.scroll.diff.value;return e.map(i=>{const u=i.descriptor.droppableId,l=t[u],p=Ek(l).scroll.diff.value,g=bi(s,p);return kk({draggable:i,offset:g,initialWindowScroll:r.scroll.initial})})},Mk=({state:e,published:t})=>{const r=t.modified.map(M=>{const B=e.dimensions.droppables[M.droppableId];return zp(B,M.scroll)}),s={...e.dimensions.droppables,...xx(r)},i=bx(Rk({additions:t.additions,updatedDroppables:s,viewport:e.viewport})),u={...e.dimensions.draggables,...i};t.removals.forEach(M=>{delete u[M]});const l={droppables:s,draggables:u},h=mo(e.impact),p=h?l.droppables[h]:null,g=l.draggables[e.critical.draggable.id],x=l.droppables[e.critical.droppable.id],{impact:b,afterCritical:v}=Bx({draggable:g,home:x,draggables:u,viewport:e.viewport}),A=p&&p.isCombineEnabled?e.impact:b,k=Rx({pageOffset:e.current.page.offset,draggable:l.draggables[e.critical.draggable.id],draggables:l.draggables,droppables:l.droppables,previousImpact:A,viewport:e.viewport,afterCritical:v}),I={...e,phase:"DRAGGING",impact:k,onLiftImpact:b,dimensions:l,afterCritical:v,forceShouldAnimate:!1};return e.phase==="COLLECTING"?I:{...I,phase:"DROP_PENDING",reason:e.reason,isWaiting:!1}};const np=e=>e.movementMode==="SNAP",of=(e,t,r)=>{const s=Ik(e.dimensions,t);return!np(e)||r?Pc({state:e,dimensions:s}):Dx({state:e,dimensions:s})};function af(e){return e.isDragging&&e.movementMode==="SNAP"?{...e,scrollJumpRequest:null}:e}const c2={phase:"IDLE",completed:null,shouldFlush:!1};var Nk=(e=c2,t)=>{if(t.type==="FLUSH")return{...c2,shouldFlush:!0};if(t.type==="INITIAL_PUBLISH"){e.phase!=="IDLE"&&mt();const{critical:r,clientSelection:s,viewport:i,dimensions:u,movementMode:l}=t.payload,h=u.draggables[r.draggable.id],p=u.droppables[r.droppable.id],g={selection:s,borderBoxCenter:h.client.borderBox.center,offset:ni},x={client:g,page:{selection:bi(g.selection,i.scroll.initial),borderBoxCenter:bi(g.selection,i.scroll.initial),offset:bi(g.selection,i.scroll.diff.value)}},b=Fd(u.droppables).every(I=>!I.isFixedOnPage),{impact:v,afterCritical:A}=Bx({draggable:h,home:p,draggables:u.draggables,viewport:i});return{phase:"DRAGGING",isDragging:!0,critical:r,movementMode:l,dimensions:u,initial:x,current:x,isWindowScrollAllowed:b,impact:v,afterCritical:A,onLiftImpact:v,viewport:i,scrollJumpRequest:null,forceShouldAnimate:null}}if(t.type==="COLLECTION_STARTING")return e.phase==="COLLECTING"||e.phase==="DROP_PENDING"?e:(e.phase!=="DRAGGING"&&mt(),{...e,phase:"COLLECTING"});if(t.type==="PUBLISH_WHILE_DRAGGING")return e.phase==="COLLECTING"||e.phase==="DROP_PENDING"||mt(),Mk({state:e,published:t.payload});if(t.type==="MOVE"){if(e.phase==="DROP_PENDING")return e;Ul(e)||mt();const{client:r}=t.payload;return Sl(r,e.current.client.selection)?e:Pc({state:e,clientSelection:r,impact:np(e)?e.impact:null})}if(t.type==="UPDATE_DROPPABLE_SCROLL"){if(e.phase==="DROP_PENDING"||e.phase==="COLLECTING")return af(e);Ul(e)||mt();const{id:r,newScroll:s}=t.payload,i=e.dimensions.droppables[r];if(!i)return e;const u=zp(i,s);return of(e,u,!1)}if(t.type==="UPDATE_DROPPABLE_IS_ENABLED"){if(e.phase==="DROP_PENDING")return e;Ul(e)||mt();const{id:r,isEnabled:s}=t.payload,i=e.dimensions.droppables[r];i||mt(),i.isEnabled===s&&mt();const u={...i,isEnabled:s};return of(e,u,!0)}if(t.type==="UPDATE_DROPPABLE_IS_COMBINE_ENABLED"){if(e.phase==="DROP_PENDING")return e;Ul(e)||mt();const{id:r,isCombineEnabled:s}=t.payload,i=e.dimensions.droppables[r];i||mt(),i.isCombineEnabled===s&&mt();const u={...i,isCombineEnabled:s};return of(e,u,!0)}if(t.type==="MOVE_BY_WINDOW_SCROLL"){if(e.phase==="DROP_PENDING"||e.phase==="DROP_ANIMATING")return e;Ul(e)||mt(),e.isWindowScrollAllowed||mt();const r=t.payload.newScroll;if(Sl(e.viewport.scroll.current,r))return af(e);const s=Sx(e.viewport,r);return np(e)?Dx({state:e,viewport:s}):Pc({state:e,viewport:s})}if(t.type==="UPDATE_VIEWPORT_MAX_SCROLL"){if(!Ul(e))return e;const r=t.payload.maxScroll;if(Sl(r,e.viewport.scroll.max))return e;const s={...e.viewport,scroll:{...e.viewport.scroll,max:r}};return{...e,viewport:s}}if(t.type==="MOVE_UP"||t.type==="MOVE_DOWN"||t.type==="MOVE_LEFT"||t.type==="MOVE_RIGHT"){if(e.phase==="COLLECTING"||e.phase==="DROP_PENDING")return e;e.phase!=="DRAGGING"&&mt();const r=mk({state:e,type:t.type});return r?Pc({state:e,impact:r.impact,clientSelection:r.clientSelection,scrollJumpRequest:r.scrollJumpRequest}):e}if(t.type==="DROP_PENDING"){const r=t.payload.reason;return e.phase!=="COLLECTING"&&mt(),{...e,phase:"DROP_PENDING",isWaiting:!0,reason:r}}if(t.type==="DROP_ANIMATE"){const{completed:r,dropDuration:s,newHomeClientOffset:i}=t.payload;return e.phase==="DRAGGING"||e.phase==="DROP_PENDING"||mt(),{phase:"DROP_ANIMATING",completed:r,dropDuration:s,newHomeClientOffset:i,dimensions:e.dimensions}}if(t.type==="DROP_COMPLETE"){const{completed:r}=t.payload;return{phase:"IDLE",completed:r,shouldFlush:!1}}return e};function mn(e,t){return e instanceof Object&&"type"in e&&e.type===t}const Dk=e=>({type:"BEFORE_INITIAL_CAPTURE",payload:e}),Bk=e=>({type:"LIFT",payload:e}),Qk=e=>({type:"INITIAL_PUBLISH",payload:e}),jk=e=>({type:"PUBLISH_WHILE_DRAGGING",payload:e}),Pk=()=>({type:"COLLECTION_STARTING",payload:null}),Ok=e=>({type:"UPDATE_DROPPABLE_SCROLL",payload:e}),Fk=e=>({type:"UPDATE_DROPPABLE_IS_ENABLED",payload:e}),Uk=e=>({type:"UPDATE_DROPPABLE_IS_COMBINE_ENABLED",payload:e}),Qx=e=>({type:"MOVE",payload:e}),$k=e=>({type:"MOVE_BY_WINDOW_SCROLL",payload:e}),zk=e=>({type:"UPDATE_VIEWPORT_MAX_SCROLL",payload:e}),Hk=()=>({type:"MOVE_UP",payload:null}),Wk=()=>({type:"MOVE_DOWN",payload:null}),Gk=()=>({type:"MOVE_RIGHT",payload:null}),Vk=()=>({type:"MOVE_LEFT",payload:null}),Yp=()=>({type:"FLUSH",payload:null}),qk=e=>({type:"DROP_ANIMATE",payload:e}),Kp=e=>({type:"DROP_COMPLETE",payload:e}),jx=e=>({type:"DROP",payload:e}),Zk=e=>({type:"DROP_PENDING",payload:e}),Px=()=>({type:"DROP_ANIMATION_FINISHED",payload:null});var Yk=e=>({getState:t,dispatch:r})=>s=>i=>{if(!mn(i,"LIFT")){s(i);return}const{id:u,clientSelection:l,movementMode:h}=i.payload,p=t();p.phase==="DROP_ANIMATING"&&r(Kp({completed:p.completed})),t().phase!=="IDLE"&&mt(),r(Yp()),r(Dk({draggableId:u,movementMode:h}));const x={draggableId:u,scrollOptions:{shouldPublishImmediately:h==="SNAP"}},{critical:b,dimensions:v,viewport:A}=e.startPublishing(x);r(Qk({critical:b,dimensions:v,clientSelection:l,movementMode:h,viewport:A}))},Kk=e=>()=>t=>r=>{mn(r,"INITIAL_PUBLISH")&&e.dragging(),mn(r,"DROP_ANIMATE")&&e.dropping(r.payload.completed.result.reason),(mn(r,"FLUSH")||mn(r,"DROP_COMPLETE"))&&e.resting(),t(r)};const Xp={outOfTheWay:"cubic-bezier(0.2, 0, 0, 1)",drop:"cubic-bezier(.2,1,.1,1)"},Jc={opacity:{drop:0,combining:.7},scale:{drop:.75}},Ox={outOfTheWay:.2,minDropTime:.33,maxDropTime:.55},Fl=`${Ox.outOfTheWay}s ${Xp.outOfTheWay}`,Oc={fluid:`opacity ${Fl}`,snap:`transform ${Fl}, opacity ${Fl}`,drop:e=>{const t=`${e}s ${Xp.drop}`;return`transform ${t}, opacity ${t}`},outOfTheWay:`transform ${Fl}`,placeholder:`height ${Fl}, width ${Fl}, margin ${Fl}`},u2=e=>Sl(e,ni)?void 0:`translate(${e.x}px, ${e.y}px)`,sp={moveTo:u2,drop:(e,t)=>{const r=u2(e);if(r)return t?`${r} scale(${Jc.scale.drop})`:r}},{minDropTime:ip,maxDropTime:Fx}=Ox,Xk=Fx-ip,d2=1500,Jk=.6;var eE=({current:e,destination:t,reason:r})=>{const s=Yc(e,t);if(s<=0)return ip;if(s>=d2)return Fx;const i=s/d2,u=ip+Xk*i,l=r==="CANCEL"?u*Jk:u;return Number(l.toFixed(2))},tE=({impact:e,draggable:t,dimensions:r,viewport:s,afterCritical:i})=>{const{draggables:u,droppables:l}=r,h=mo(e),p=h?l[h]:null,g=l[t.descriptor.droppableId],x=Nx({impact:e,draggable:t,draggables:u,afterCritical:i,droppable:p||g,viewport:s});return fo(x,t.client.borderBox.center)},rE=({draggables:e,reason:t,lastImpact:r,home:s,viewport:i,onLiftImpact:u})=>!r.at||t!=="DROP"?{impact:Mx({draggables:e,impact:u,destination:s,viewport:i,forceShouldAnimate:!0}),didDropInsideDroppable:!1}:r.at.type==="REORDER"?{impact:r,didDropInsideDroppable:!0}:{impact:{...r,displaced:Kc},didDropInsideDroppable:!0};const nE=({getState:e,dispatch:t})=>r=>s=>{if(!mn(s,"DROP")){r(s);return}const i=e(),u=s.payload.reason;if(i.phase==="COLLECTING"){t(Zk({reason:u}));return}if(i.phase==="IDLE")return;i.phase==="DROP_PENDING"&&i.isWaiting&&mt(),i.phase==="DRAGGING"||i.phase==="DROP_PENDING"||mt();const h=i.critical,p=i.dimensions,g=p.draggables[i.critical.draggable.id],{impact:x,didDropInsideDroppable:b}=rE({reason:u,lastImpact:i.impact,afterCritical:i.afterCritical,onLiftImpact:i.onLiftImpact,home:i.dimensions.droppables[i.critical.droppable.id],viewport:i.viewport,draggables:i.dimensions.draggables}),v=b?Hp(x):null,A=b?Ud(x):null,k={index:h.draggable.index,droppableId:h.droppable.id},I={draggableId:g.descriptor.id,type:g.descriptor.type,source:k,reason:u,mode:i.movementMode,destination:v,combine:A},R=tE({impact:x,draggable:g,dimensions:p,viewport:i.viewport,afterCritical:i.afterCritical}),M={critical:i.critical,afterCritical:i.afterCritical,result:I,impact:x};if(!(!Sl(i.current.client.offset,R)||!!I.combine)){t(Kp({completed:M}));return}const F=eE({current:i.current.client.offset,destination:R,reason:u});t(qk({newHomeClientOffset:R,dropDuration:F,completed:M}))};var Ux=()=>({x:window.pageXOffset,y:window.pageYOffset});function sE(e){return{eventName:"scroll",options:{passive:!0,capture:!1},fn:t=>{t.target!==window&&t.target!==window.document||e()}}}function iE({onWindowScroll:e}){function t(){e(Ux())}const r=Zc(t),s=sE(r);let i=Tl;function u(){return i!==Tl}function l(){u()&&mt(),i=Qo(window,[s])}function h(){u()||mt(),r.cancel(),i(),i=Tl}return{start:l,stop:h,isActive:u}}const oE=e=>mn(e,"DROP_COMPLETE")||mn(e,"DROP_ANIMATE")||mn(e,"FLUSH"),aE=e=>{const t=iE({onWindowScroll:r=>{e.dispatch($k({newScroll:r}))}});return r=>s=>{!t.isActive()&&mn(s,"INITIAL_PUBLISH")&&t.start(),t.isActive()&&oE(s)&&t.stop(),r(s)}};var lE=e=>{let t=!1,r=!1;const s=setTimeout(()=>{r=!0}),i=u=>{t||r||(t=!0,e(u),clearTimeout(s))};return i.wasCalled=()=>t,i},cE=()=>{const e=[],t=i=>{const u=e.findIndex(h=>h.timerId===i);u===-1&&mt();const[l]=e.splice(u,1);l.callback()};return{add:i=>{const u=setTimeout(()=>t(u)),l={timerId:u,callback:i};e.push(l)},flush:()=>{if(!e.length)return;const i=[...e];e.length=0,i.forEach(u=>{clearTimeout(u.timerId),u.callback()})}}};const uE=(e,t)=>e==null&&t==null?!0:e==null||t==null?!1:e.droppableId===t.droppableId&&e.index===t.index,dE=(e,t)=>e==null&&t==null?!0:e==null||t==null?!1:e.draggableId===t.draggableId&&e.droppableId===t.droppableId,hE=(e,t)=>{if(e===t)return!0;const r=e.draggable.id===t.draggable.id&&e.draggable.droppableId===t.draggable.droppableId&&e.draggable.type===t.draggable.type&&e.draggable.index===t.draggable.index,s=e.droppable.id===t.droppable.id&&e.droppable.type===t.droppable.type;return r&&s},Tc=(e,t)=>{t()},Ou=(e,t)=>({draggableId:e.draggable.id,type:e.droppable.type,source:{droppableId:e.droppable.id,index:e.draggable.index},mode:t});function lf(e,t,r,s){if(!e){r(s(t));return}const i=lE(r);e(t,{announce:i}),i.wasCalled()||r(s(t))}var fE=(e,t)=>{const r=cE();let s=null;const i=(b,v)=>{s&&mt(),Tc("onBeforeCapture",()=>{const A=e().onBeforeCapture;A&&A({draggableId:b,mode:v})})},u=(b,v)=>{s&&mt(),Tc("onBeforeDragStart",()=>{const A=e().onBeforeDragStart;A&&A(Ou(b,v))})},l=(b,v)=>{s&&mt();const A=Ou(b,v);s={mode:v,lastCritical:b,lastLocation:A.source,lastCombine:null},r.add(()=>{Tc("onDragStart",()=>lf(e().onDragStart,A,t,nd.onDragStart))})},h=(b,v)=>{const A=Hp(v),k=Ud(v);s||mt();const I=!hE(b,s.lastCritical);I&&(s.lastCritical=b);const R=!uE(s.lastLocation,A);R&&(s.lastLocation=A);const M=!dE(s.lastCombine,k);if(M&&(s.lastCombine=k),!I&&!R&&!M)return;const B={...Ou(b,s.mode),combine:k,destination:A};r.add(()=>{Tc("onDragUpdate",()=>lf(e().onDragUpdate,B,t,nd.onDragUpdate))})},p=()=>{s||mt(),r.flush()},g=b=>{s||mt(),s=null,Tc("onDragEnd",()=>lf(e().onDragEnd,b,t,nd.onDragEnd))};return{beforeCapture:i,beforeStart:u,start:l,update:h,flush:p,drop:g,abort:()=>{if(!s)return;const b={...Ou(s.lastCritical,s.mode),combine:null,destination:null,reason:"CANCEL"};g(b)}}},pE=(e,t)=>{const r=fE(e,t);return s=>i=>u=>{if(mn(u,"BEFORE_INITIAL_CAPTURE")){r.beforeCapture(u.payload.draggableId,u.payload.movementMode);return}if(mn(u,"INITIAL_PUBLISH")){const h=u.payload.critical;r.beforeStart(h,u.payload.movementMode),i(u),r.start(h,u.payload.movementMode);return}if(mn(u,"DROP_COMPLETE")){const h=u.payload.completed.result;r.flush(),i(u),r.drop(h);return}if(i(u),mn(u,"FLUSH")){r.abort();return}const l=s.getState();l.phase==="DRAGGING"&&r.update(l.critical,l.impact)}};const mE=e=>t=>r=>{if(!mn(r,"DROP_ANIMATION_FINISHED")){t(r);return}const s=e.getState();s.phase!=="DROP_ANIMATING"&&mt(),e.dispatch(Kp({completed:s.completed}))},gE=e=>{let t=null,r=null;function s(){r&&(cancelAnimationFrame(r),r=null),t&&(t(),t=null)}return i=>u=>{if((mn(u,"FLUSH")||mn(u,"DROP_COMPLETE")||mn(u,"DROP_ANIMATION_FINISHED"))&&s(),i(u),!mn(u,"DROP_ANIMATE"))return;const l={eventName:"scroll",options:{capture:!0,passive:!1,once:!0},fn:function(){e.getState().phase==="DROP_ANIMATING"&&e.dispatch(Px())}};r=requestAnimationFrame(()=>{r=null,t=Qo(window,[l])})}};var xE=e=>()=>t=>r=>{(mn(r,"DROP_COMPLETE")||mn(r,"FLUSH")||mn(r,"DROP_ANIMATE"))&&e.stopPublishing(),t(r)},bE=e=>{let t=!1;return()=>r=>s=>{if(mn(s,"INITIAL_PUBLISH")){t=!0,e.tryRecordFocus(s.payload.critical.draggable.id),r(s),e.tryRestoreFocusRecorded();return}if(r(s),!!t){if(mn(s,"FLUSH")){t=!1,e.tryRestoreFocusRecorded();return}if(mn(s,"DROP_COMPLETE")){t=!1;const i=s.payload.completed.result;i.combine&&e.tryShiftRecord(i.draggableId,i.combine.draggableId),e.tryRestoreFocusRecorded()}}}};const yE=e=>mn(e,"DROP_COMPLETE")||mn(e,"DROP_ANIMATE")||mn(e,"FLUSH");var vE=e=>t=>r=>s=>{if(yE(s)){e.stop(),r(s);return}if(mn(s,"INITIAL_PUBLISH")){r(s);const i=t.getState();i.phase!=="DRAGGING"&&mt(),e.start(i);return}r(s),e.scroll(t.getState())};const wE=e=>t=>r=>{if(t(r),!mn(r,"PUBLISH_WHILE_DRAGGING"))return;const s=e.getState();s.phase==="DROP_PENDING"&&(s.isWaiting||e.dispatch(jx({reason:s.reason})))},AE=nx;var TE=({dimensionMarshal:e,focusMarshal:t,styleMarshal:r,getResponders:s,announce:i,autoScroller:u})=>rx(Nk,AE(vL(Kk(r),xE(e),Yk(e),nE,mE,gE,wE,vE(u),aE,bE(t),pE(s,i))));const cf=()=>({additions:{},removals:{},modified:{}});function SE({registry:e,callbacks:t}){let r=cf(),s=null;const i=()=>{s||(t.collectionStarting(),s=requestAnimationFrame(()=>{s=null;const{additions:p,removals:g,modified:x}=r,b=Object.keys(p).map(k=>e.draggable.getById(k).getDimension(ni)).sort((k,I)=>k.descriptor.index-I.descriptor.index),v=Object.keys(x).map(k=>{const R=e.droppable.getById(k).callbacks.getScrollWhileDragging();return{droppableId:k,scroll:R}}),A={additions:b,removals:Object.keys(g),modified:v};r=cf(),t.publish(A)}))};return{add:p=>{const g=p.descriptor.id;r.additions[g]=p,r.modified[p.descriptor.droppableId]=!0,r.removals[g]&&delete r.removals[g],i()},remove:p=>{const g=p.descriptor;r.removals[g.id]=!0,r.modified[g.droppableId]=!0,r.additions[g.id]&&delete r.additions[g.id],i()},stop:()=>{s&&(cancelAnimationFrame(s),s=null,r=cf())}}}var $x=({scrollHeight:e,scrollWidth:t,height:r,width:s})=>{const i=fo({x:t,y:e},{x:s,y:r});return{x:Math.max(0,i.x),y:Math.max(0,i.y)}},zx=()=>{const e=document.documentElement;return e||mt(),e},Hx=()=>{const e=zx();return $x({scrollHeight:e.scrollHeight,scrollWidth:e.scrollWidth,width:e.clientWidth,height:e.clientHeight})},CE=()=>{const e=Ux(),t=Hx(),r=e.y,s=e.x,i=zx(),u=i.clientWidth,l=i.clientHeight,h=s+u,p=r+l;return{frame:ra({top:r,left:s,right:h,bottom:p}),scroll:{initial:e,current:e,max:t,diff:{value:ni,displacement:ni}}}},_E=({critical:e,scrollOptions:t,registry:r})=>{const s=CE(),i=s.scroll.current,u=e.droppable,l=r.droppable.getAllByType(u.type).map(x=>x.callbacks.getDimensionAndWatchScroll(i,t)),h=r.draggable.getAllByType(e.draggable.type).map(x=>x.getDimension(i));return{dimensions:{draggables:bx(h),droppables:xx(l)},critical:e,viewport:s}};function h2(e,t,r){return!(r.descriptor.id===t.id||r.descriptor.type!==t.type||e.droppable.getById(r.descriptor.droppableId).descriptor.mode!=="virtual")}var LE=(e,t)=>{let r=null;const s=SE({callbacks:{publish:t.publishWhileDragging,collectionStarting:t.collectionStarting},registry:e}),i=(v,A)=>{e.droppable.exists(v)||mt(),r&&t.updateDroppableIsEnabled({id:v,isEnabled:A})},u=(v,A)=>{r&&(e.droppable.exists(v)||mt(),t.updateDroppableIsCombineEnabled({id:v,isCombineEnabled:A}))},l=(v,A)=>{r&&(e.droppable.exists(v)||mt(),t.updateDroppableScroll({id:v,newScroll:A}))},h=(v,A)=>{r&&e.droppable.getById(v).callbacks.scroll(A)},p=()=>{if(!r)return;s.stop();const v=r.critical.droppable;e.droppable.getAllByType(v.type).forEach(A=>A.callbacks.dragStopped()),r.unsubscribe(),r=null},g=v=>{r||mt();const A=r.critical.draggable;v.type==="ADDITION"&&h2(e,A,v.value)&&s.add(v.value),v.type==="REMOVAL"&&h2(e,A,v.value)&&s.remove(v.value)};return{updateDroppableIsEnabled:i,updateDroppableIsCombineEnabled:u,scrollDroppable:h,updateDroppableScroll:l,startPublishing:v=>{r&&mt();const A=e.draggable.getById(v.draggableId),k=e.droppable.getById(A.descriptor.droppableId),I={draggable:A.descriptor,droppable:k.descriptor},R=e.subscribe(g);return r={critical:I,unsubscribe:R},_E({critical:I,registry:e,scrollOptions:v.scrollOptions})},stopPublishing:p}},Wx=(e,t)=>e.phase==="IDLE"?!0:e.phase!=="DROP_ANIMATING"||e.completed.result.draggableId===t?!1:e.completed.result.reason==="DROP",IE=e=>{window.scrollBy(e.x,e.y)};const kE=ri(e=>Fd(e).filter(t=>!(!t.isEnabled||!t.frame))),EE=(e,t)=>kE(t).find(s=>(s.frame||mt(),Ix(s.frame.pageMarginBox)(e)))||null;var RE=({center:e,destination:t,droppables:r})=>{if(t){const i=r[t];return i.frame?i:null}return EE(e,r)};const eu={startFromPercentage:.25,maxScrollAtPercentage:.05,maxPixelScroll:28,ease:e=>e**2,durationDampening:{stopDampeningAt:1200,accelerateAt:360},disabled:!1};var ME=(e,t,r=()=>eu)=>{const s=r(),i=e[t.size]*s.startFromPercentage,u=e[t.size]*s.maxScrollAtPercentage;return{startScrollingFrom:i,maxScrollValueAt:u}},Gx=({startOfRange:e,endOfRange:t,current:r})=>{const s=t-e;return s===0?0:(r-e)/s},Jp=1,NE=(e,t,r=()=>eu)=>{const s=r();if(e>t.startScrollingFrom)return 0;if(e<=t.maxScrollValueAt)return s.maxPixelScroll;if(e===t.startScrollingFrom)return Jp;const u=1-Gx({startOfRange:t.maxScrollValueAt,endOfRange:t.startScrollingFrom,current:e}),l=s.maxPixelScroll*s.ease(u);return Math.ceil(l)},DE=(e,t,r)=>{const s=r(),i=s.durationDampening.accelerateAt,u=s.durationDampening.stopDampeningAt,l=t,h=u,g=Date.now()-l;if(g>=u)return e;if(g<i)return Jp;const x=Gx({startOfRange:i,endOfRange:h,current:g}),b=e*s.ease(x);return Math.ceil(b)},f2=({distanceToEdge:e,thresholds:t,dragStartTime:r,shouldUseTimeDampening:s,getAutoScrollerOptions:i})=>{const u=NE(e,t,i);return u===0?0:s?Math.max(DE(u,r,i),Jp):u},p2=({container:e,distanceToEdges:t,dragStartTime:r,axis:s,shouldUseTimeDampening:i,getAutoScrollerOptions:u})=>{const l=ME(e,s,u);return t[s.end]<t[s.start]?f2({distanceToEdge:t[s.end],thresholds:l,dragStartTime:r,shouldUseTimeDampening:i,getAutoScrollerOptions:u}):-1*f2({distanceToEdge:t[s.start],thresholds:l,dragStartTime:r,shouldUseTimeDampening:i,getAutoScrollerOptions:u})},BE=({container:e,subject:t,proposedScroll:r})=>{const s=t.height>e.height,i=t.width>e.width;return!i&&!s?r:i&&s?null:{x:i?0:r.x,y:s?0:r.y}};const QE=gx(e=>e===0?0:e);var Vx=({dragStartTime:e,container:t,subject:r,center:s,shouldUseTimeDampening:i,getAutoScrollerOptions:u})=>{const l={top:s.y-t.top,right:t.right-s.x,bottom:t.bottom-s.y,left:s.x-t.left},h=p2({container:t,distanceToEdges:l,dragStartTime:e,axis:Wp,shouldUseTimeDampening:i,getAutoScrollerOptions:u}),p=p2({container:t,distanceToEdges:l,dragStartTime:e,axis:wx,shouldUseTimeDampening:i,getAutoScrollerOptions:u}),g=QE({x:p,y:h});if(Sl(g,ni))return null;const x=BE({container:t,subject:r,proposedScroll:g});return x?Sl(x,ni)?null:x:null};const jE=gx(e=>e===0?0:e>0?1:-1),e1=(()=>{const e=(t,r)=>t<0?t:t>r?t-r:0;return({current:t,max:r,change:s})=>{const i=bi(t,s),u={x:e(i.x,r.x),y:e(i.y,r.y)};return Sl(u,ni)?null:u}})(),qx=({max:e,current:t,change:r})=>{const s={x:Math.max(t.x,e.x),y:Math.max(t.y,e.y)},i=jE(r),u=e1({max:s,current:t,change:i});return!u||i.x!==0&&u.x===0||i.y!==0&&u.y===0},t1=(e,t)=>qx({current:e.scroll.current,max:e.scroll.max,change:t}),PE=(e,t)=>{if(!t1(e,t))return null;const r=e.scroll.max,s=e.scroll.current;return e1({current:s,max:r,change:t})},r1=(e,t)=>{const r=e.frame;return r?qx({current:r.scroll.current,max:r.scroll.max,change:t}):!1},OE=(e,t)=>{const r=e.frame;return!r||!r1(e,t)?null:e1({current:r.scroll.current,max:r.scroll.max,change:t})};var FE=({viewport:e,subject:t,center:r,dragStartTime:s,shouldUseTimeDampening:i,getAutoScrollerOptions:u})=>{const l=Vx({dragStartTime:s,container:e.frame,subject:t,center:r,shouldUseTimeDampening:i,getAutoScrollerOptions:u});return l&&t1(e,l)?l:null},UE=({droppable:e,subject:t,center:r,dragStartTime:s,shouldUseTimeDampening:i,getAutoScrollerOptions:u})=>{const l=e.frame;if(!l)return null;const h=Vx({dragStartTime:s,container:l.pageMarginBox,subject:t,center:r,shouldUseTimeDampening:i,getAutoScrollerOptions:u});return h&&r1(e,h)?h:null},m2=({state:e,dragStartTime:t,shouldUseTimeDampening:r,scrollWindow:s,scrollDroppable:i,getAutoScrollerOptions:u})=>{const l=e.current.page.borderBoxCenter,p=e.dimensions.draggables[e.critical.draggable.id].page.marginBox;if(e.isWindowScrollAllowed){const b=e.viewport,v=FE({dragStartTime:t,viewport:b,subject:p,center:l,shouldUseTimeDampening:r,getAutoScrollerOptions:u});if(v){s(v);return}}const g=RE({center:l,destination:mo(e.impact),droppables:e.dimensions.droppables});if(!g)return;const x=UE({dragStartTime:t,droppable:g,subject:p,center:l,shouldUseTimeDampening:r,getAutoScrollerOptions:u});x&&i(g.descriptor.id,x)},$E=({scrollWindow:e,scrollDroppable:t,getAutoScrollerOptions:r=()=>eu})=>{const s=Zc(e),i=Zc(t);let u=null;const l=g=>{u||mt();const{shouldUseTimeDampening:x,dragStartTime:b}=u;m2({state:g,scrollWindow:s,scrollDroppable:i,dragStartTime:b,shouldUseTimeDampening:x,getAutoScrollerOptions:r})};return{start:g=>{u&&mt();const x=Date.now();let b=!1;const v=()=>{b=!0};m2({state:g,dragStartTime:0,shouldUseTimeDampening:!1,scrollWindow:v,scrollDroppable:v,getAutoScrollerOptions:r}),u={dragStartTime:x,shouldUseTimeDampening:b},b&&l(g)},stop:()=>{u&&(s.cancel(),i.cancel(),u=null)},scroll:l}},zE=({move:e,scrollDroppable:t,scrollWindow:r})=>{const s=(h,p)=>{const g=bi(h.current.client.selection,p);e({client:g})},i=(h,p)=>{if(!r1(h,p))return p;const g=OE(h,p);if(!g)return t(h.descriptor.id,p),null;const x=fo(p,g);return t(h.descriptor.id,x),fo(p,x)},u=(h,p,g)=>{if(!h||!t1(p,g))return g;const x=PE(p,g);if(!x)return r(g),null;const b=fo(g,x);return r(b),fo(g,b)};return h=>{const p=h.scrollJumpRequest;if(!p)return;const g=mo(h.impact);g||mt();const x=i(h.dimensions.droppables[g],p);if(!x)return;const b=h.viewport,v=u(h.isWindowScrollAllowed,b,x);v&&s(h,v)}},HE=({scrollDroppable:e,scrollWindow:t,move:r,getAutoScrollerOptions:s})=>{const i=$E({scrollWindow:t,scrollDroppable:e,getAutoScrollerOptions:s}),u=zE({move:r,scrollWindow:t,scrollDroppable:e});return{scroll:p=>{if(!(s().disabled||p.phase!=="DRAGGING")){if(p.movementMode==="FLUID"){i.scroll(p);return}p.scrollJumpRequest&&u(p)}},start:i.start,stop:i.stop}};const $0="data-rfd",z0=(()=>{const e=`${$0}-drag-handle`;return{base:e,draggableId:`${e}-draggable-id`,contextId:`${e}-context-id`}})(),op=(()=>{const e=`${$0}-draggable`;return{base:e,contextId:`${e}-context-id`,id:`${e}-id`}})(),WE=(()=>{const e=`${$0}-droppable`;return{base:e,contextId:`${e}-context-id`,id:`${e}-id`}})(),g2={contextId:`${$0}-scroll-container-context-id`},GE=e=>t=>`[${t}="${e}"]`,Sc=(e,t)=>e.map(r=>{const s=r.styles[t];return s?`${r.selector} { ${s} }`:""}).join(" "),VE="pointer-events: none;";var qE=e=>{const t=GE(e),r=(()=>{const h=`
110
+ cursor: -webkit-grab;
111
+ cursor: grab;
112
+ `;return{selector:t(z0.contextId),styles:{always:`
113
+ -webkit-touch-callout: none;
114
+ -webkit-tap-highlight-color: rgba(0,0,0,0);
115
+ touch-action: manipulation;
116
+ `,resting:h,dragging:VE,dropAnimating:h}}})(),s=(()=>{const h=`
117
+ transition: ${Oc.outOfTheWay};
118
+ `;return{selector:t(op.contextId),styles:{dragging:h,dropAnimating:h,userCancel:h}}})(),i={selector:t(WE.contextId),styles:{always:"overflow-anchor: none;"}},l=[s,r,i,{selector:"body",styles:{dragging:`
119
+ cursor: grabbing;
120
+ cursor: -webkit-grabbing;
121
+ user-select: none;
122
+ -webkit-user-select: none;
123
+ -moz-user-select: none;
124
+ -ms-user-select: none;
125
+ overflow-anchor: none;
126
+ `}}];return{always:Sc(l,"always"),resting:Sc(l,"resting"),dragging:Sc(l,"dragging"),dropAnimating:Sc(l,"dropAnimating"),userCancel:Sc(l,"userCancel")}};const go=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u"?_.useLayoutEffect:_.useEffect,uf=()=>{const e=document.querySelector("head");return e||mt(),e},x2=e=>{const t=document.createElement("style");return e&&t.setAttribute("nonce",e),t.type="text/css",t};function ZE(e,t){const r=Vr(()=>qE(e),[e]),s=_.useRef(null),i=_.useRef(null),u=Kt(ri(b=>{const v=i.current;v||mt(),v.textContent=b}),[]),l=Kt(b=>{const v=s.current;v||mt(),v.textContent=b},[]);go(()=>{!s.current&&!i.current||mt();const b=x2(t),v=x2(t);return s.current=b,i.current=v,b.setAttribute(`${$0}-always`,e),v.setAttribute(`${$0}-dynamic`,e),uf().appendChild(b),uf().appendChild(v),l(r.always),u(r.resting),()=>{const A=k=>{const I=k.current;I||mt(),uf().removeChild(I),k.current=null};A(s),A(i)}},[t,l,u,r.always,r.resting,e]);const h=Kt(()=>u(r.dragging),[u,r.dragging]),p=Kt(b=>{if(b==="DROP"){u(r.dropAnimating);return}u(r.userCancel)},[u,r.dropAnimating,r.userCancel]),g=Kt(()=>{i.current&&u(r.resting)},[u,r.resting]);return Vr(()=>({dragging:h,dropping:p,resting:g}),[h,p,g])}function Zx(e,t){return Array.from(e.querySelectorAll(t))}var Yx=e=>e&&e.ownerDocument&&e.ownerDocument.defaultView?e.ownerDocument.defaultView:window;function Hd(e){return e instanceof Yx(e).HTMLElement}function YE(e,t){const r=`[${z0.contextId}="${e}"]`,s=Zx(document,r);if(!s.length)return null;const i=s.find(u=>u.getAttribute(z0.draggableId)===t);return!i||!Hd(i)?null:i}function KE(e){const t=_.useRef({}),r=_.useRef(null),s=_.useRef(null),i=_.useRef(!1),u=Kt(function(v,A){const k={id:v,focus:A};return t.current[v]=k,function(){const R=t.current;R[v]!==k&&delete R[v]}},[]),l=Kt(function(v){const A=YE(e,v);A&&A!==document.activeElement&&A.focus()},[e]),h=Kt(function(v,A){r.current===v&&(r.current=A)},[]),p=Kt(function(){s.current||i.current&&(s.current=requestAnimationFrame(()=>{s.current=null;const v=r.current;v&&l(v)}))},[l]),g=Kt(function(v){r.current=null;const A=document.activeElement;A&&A.getAttribute(z0.draggableId)===v&&(r.current=v)},[]);return go(()=>(i.current=!0,function(){i.current=!1;const v=s.current;v&&cancelAnimationFrame(v)}),[]),Vr(()=>({register:u,tryRecordFocus:g,tryRestoreFocusRecorded:p,tryShiftRecord:h}),[u,g,p,h])}function XE(){const e={draggables:{},droppables:{}},t=[];function r(b){return t.push(b),function(){const A=t.indexOf(b);A!==-1&&t.splice(A,1)}}function s(b){t.length&&t.forEach(v=>v(b))}function i(b){return e.draggables[b]||null}function u(b){const v=i(b);return v||mt(),v}const l={register:b=>{e.draggables[b.descriptor.id]=b,s({type:"ADDITION",value:b})},update:(b,v)=>{const A=e.draggables[v.descriptor.id];A&&A.uniqueId===b.uniqueId&&(delete e.draggables[v.descriptor.id],e.draggables[b.descriptor.id]=b)},unregister:b=>{const v=b.descriptor.id,A=i(v);A&&b.uniqueId===A.uniqueId&&(delete e.draggables[v],e.droppables[b.descriptor.droppableId]&&s({type:"REMOVAL",value:b}))},getById:u,findById:i,exists:b=>!!i(b),getAllByType:b=>Object.values(e.draggables).filter(v=>v.descriptor.type===b)};function h(b){return e.droppables[b]||null}function p(b){const v=h(b);return v||mt(),v}const g={register:b=>{e.droppables[b.descriptor.id]=b},unregister:b=>{const v=h(b.descriptor.id);v&&b.uniqueId===v.uniqueId&&delete e.droppables[b.descriptor.id]},getById:p,findById:h,exists:b=>!!h(b),getAllByType:b=>Object.values(e.droppables).filter(v=>v.descriptor.type===b)};function x(){e.draggables={},e.droppables={},t.length=0}return{draggable:l,droppable:g,subscribe:r,clean:x}}function JE(){const e=Vr(XE,[]);return _.useEffect(()=>function(){e.clean()},[e]),e}var n1=S.createContext(null),wd=()=>{const e=document.body;return e||mt(),e};const eR={position:"absolute",width:"1px",height:"1px",margin:"-1px",border:"0",padding:"0",overflow:"hidden",clip:"rect(0 0 0 0)","clip-path":"inset(100%)"},tR=e=>`rfd-announcement-${e}`;function rR(e){const t=Vr(()=>tR(e),[e]),r=_.useRef(null);return _.useEffect(function(){const u=document.createElement("div");return r.current=u,u.id=t,u.setAttribute("aria-live","assertive"),u.setAttribute("aria-atomic","true"),xd(u.style,eR),wd().appendChild(u),function(){setTimeout(function(){const p=wd();p.contains(u)&&p.removeChild(u),u===r.current&&(r.current=null)})}},[t]),Kt(i=>{const u=r.current;if(u){u.textContent=i;return}},[])}const nR={separator:"::"};function s1(e,t=nR){const r=S.useId();return Vr(()=>`${e}${t.separator}${r}`,[t.separator,e,r])}function sR({contextId:e,uniqueId:t}){return`rfd-hidden-text-${e}-${t}`}function iR({contextId:e,text:t}){const r=s1("hidden-text",{separator:"-"}),s=Vr(()=>sR({contextId:e,uniqueId:r}),[r,e]);return _.useEffect(function(){const u=document.createElement("div");return u.id=s,u.textContent=t,u.style.display="none",wd().appendChild(u),function(){const h=wd();h.contains(u)&&h.removeChild(u)}},[s,t]),s}var Wd=S.createContext(null);function Kx(e){const t=_.useRef(e);return _.useEffect(()=>{t.current=e}),t}function oR(){let e=null;function t(){return!!e}function r(l){return l===e}function s(l){e&&mt();const h={abandon:l};return e=h,h}function i(){e||mt(),e=null}function u(){e&&(e.abandon(),i())}return{isClaimed:t,isActive:r,claim:s,release:i,tryAbandon:u}}function tu(e){return e.phase==="IDLE"||e.phase==="DROP_ANIMATING"?!1:e.isDragging}const aR=9,lR=13,i1=27,Xx=32,cR=33,uR=34,dR=35,hR=36,fR=37,pR=38,mR=39,gR=40,xR={[lR]:!0,[aR]:!0};var Jx=e=>{xR[e.keyCode]&&e.preventDefault()};const Gd=(()=>{const e="visibilitychange";return typeof document>"u"?e:[e,`ms${e}`,`webkit${e}`,`moz${e}`,`o${e}`].find(s=>`on${s}`in document)||e})(),e6=0,b2=5;function bR(e,t){return Math.abs(t.x-e.x)>=b2||Math.abs(t.y-e.y)>=b2}const y2={type:"IDLE"};function yR({cancel:e,completed:t,getPhase:r,setPhase:s}){return[{eventName:"mousemove",fn:i=>{const{button:u,clientX:l,clientY:h}=i;if(u!==e6)return;const p={x:l,y:h},g=r();if(g.type==="DRAGGING"){i.preventDefault(),g.actions.move(p);return}g.type!=="PENDING"&&mt();const x=g.point;if(!bR(x,p))return;i.preventDefault();const b=g.actions.fluidLift(p);s({type:"DRAGGING",actions:b})}},{eventName:"mouseup",fn:i=>{const u=r();if(u.type!=="DRAGGING"){e();return}i.preventDefault(),u.actions.drop({shouldBlockNextClick:!0}),t()}},{eventName:"mousedown",fn:i=>{r().type==="DRAGGING"&&i.preventDefault(),e()}},{eventName:"keydown",fn:i=>{if(r().type==="PENDING"){e();return}if(i.keyCode===i1){i.preventDefault(),e();return}Jx(i)}},{eventName:"resize",fn:e},{eventName:"scroll",options:{passive:!0,capture:!1},fn:()=>{r().type==="PENDING"&&e()}},{eventName:"webkitmouseforcedown",fn:i=>{const u=r();if(u.type==="IDLE"&&mt(),u.actions.shouldRespectForcePress()){e();return}i.preventDefault()}},{eventName:Gd,fn:e}]}function vR(e){const t=_.useRef(y2),r=_.useRef(Tl),s=Vr(()=>({eventName:"mousedown",fn:function(b){if(b.defaultPrevented||b.button!==e6||b.ctrlKey||b.metaKey||b.shiftKey||b.altKey)return;const v=e.findClosestDraggableId(b);if(!v)return;const A=e.tryGetLock(v,l,{sourceEvent:b});if(!A)return;b.preventDefault();const k={x:b.clientX,y:b.clientY};r.current(),g(A,k)}}),[e]),i=Vr(()=>({eventName:"webkitmouseforcewillbegin",fn:x=>{if(x.defaultPrevented)return;const b=e.findClosestDraggableId(x);if(!b)return;const v=e.findOptionsForDraggable(b);v&&(v.shouldRespectForcePress||e.canGetLock(b)&&x.preventDefault())}}),[e]),u=Kt(function(){const b={passive:!1,capture:!0};r.current=Qo(window,[i,s],b)},[i,s]),l=Kt(()=>{t.current.type!=="IDLE"&&(t.current=y2,r.current(),u())},[u]),h=Kt(()=>{const x=t.current;l(),x.type==="DRAGGING"&&x.actions.cancel({shouldBlockNextClick:!0}),x.type==="PENDING"&&x.actions.abort()},[l]),p=Kt(function(){const b={capture:!0,passive:!1},v=yR({cancel:h,completed:l,getPhase:()=>t.current,setPhase:A=>{t.current=A}});r.current=Qo(window,v,b)},[h,l]),g=Kt(function(b,v){t.current.type!=="IDLE"&&mt(),t.current={type:"PENDING",point:v,actions:b},p()},[p]);go(function(){return u(),function(){r.current()}},[u])}function wR(){}const AR={[uR]:!0,[cR]:!0,[hR]:!0,[dR]:!0};function TR(e,t){function r(){t(),e.cancel()}function s(){t(),e.drop()}return[{eventName:"keydown",fn:i=>{if(i.keyCode===i1){i.preventDefault(),r();return}if(i.keyCode===Xx){i.preventDefault(),s();return}if(i.keyCode===gR){i.preventDefault(),e.moveDown();return}if(i.keyCode===pR){i.preventDefault(),e.moveUp();return}if(i.keyCode===mR){i.preventDefault(),e.moveRight();return}if(i.keyCode===fR){i.preventDefault(),e.moveLeft();return}if(AR[i.keyCode]){i.preventDefault();return}Jx(i)}},{eventName:"mousedown",fn:r},{eventName:"mouseup",fn:r},{eventName:"click",fn:r},{eventName:"touchstart",fn:r},{eventName:"resize",fn:r},{eventName:"wheel",fn:r,options:{passive:!0}},{eventName:Gd,fn:r}]}function SR(e){const t=_.useRef(wR),r=Vr(()=>({eventName:"keydown",fn:function(u){if(u.defaultPrevented||u.keyCode!==Xx)return;const l=e.findClosestDraggableId(u);if(!l)return;const h=e.tryGetLock(l,x,{sourceEvent:u});if(!h)return;u.preventDefault();let p=!0;const g=h.snapLift();t.current();function x(){p||mt(),p=!1,t.current(),s()}t.current=Qo(window,TR(g,x),{capture:!0,passive:!1})}}),[e]),s=Kt(function(){const u={passive:!1,capture:!0};t.current=Qo(window,[r],u)},[r]);go(function(){return s(),function(){t.current()}},[s])}const df={type:"IDLE"},CR=120,_R=.15;function LR({cancel:e,getPhase:t}){return[{eventName:"orientationchange",fn:e},{eventName:"resize",fn:e},{eventName:"contextmenu",fn:r=>{r.preventDefault()}},{eventName:"keydown",fn:r=>{if(t().type!=="DRAGGING"){e();return}r.keyCode===i1&&r.preventDefault(),e()}},{eventName:Gd,fn:e}]}function IR({cancel:e,completed:t,getPhase:r}){return[{eventName:"touchmove",options:{capture:!1},fn:s=>{const i=r();if(i.type!=="DRAGGING"){e();return}i.hasMoved=!0;const{clientX:u,clientY:l}=s.touches[0],h={x:u,y:l};s.preventDefault(),i.actions.move(h)}},{eventName:"touchend",fn:s=>{const i=r();if(i.type!=="DRAGGING"){e();return}s.preventDefault(),i.actions.drop({shouldBlockNextClick:!0}),t()}},{eventName:"touchcancel",fn:s=>{if(r().type!=="DRAGGING"){e();return}s.preventDefault(),e()}},{eventName:"touchforcechange",fn:s=>{const i=r();i.type==="IDLE"&&mt();const u=s.touches[0];if(!u||!(u.force>=_R))return;const h=i.actions.shouldRespectForcePress();if(i.type==="PENDING"){h&&e();return}if(h){if(i.hasMoved){s.preventDefault();return}e();return}s.preventDefault()}},{eventName:Gd,fn:e}]}function kR(e){const t=_.useRef(df),r=_.useRef(Tl),s=Kt(function(){return t.current},[]),i=Kt(function(A){t.current=A},[]),u=Vr(()=>({eventName:"touchstart",fn:function(A){if(A.defaultPrevented)return;const k=e.findClosestDraggableId(A);if(!k)return;const I=e.tryGetLock(k,h,{sourceEvent:A});if(!I)return;const R=A.touches[0],{clientX:M,clientY:B}=R,F={x:M,y:B};r.current(),b(I,F)}}),[e]),l=Kt(function(){const A={capture:!0,passive:!1};r.current=Qo(window,[u],A)},[u]),h=Kt(()=>{const v=t.current;v.type!=="IDLE"&&(v.type==="PENDING"&&clearTimeout(v.longPressTimerId),i(df),r.current(),l())},[l,i]),p=Kt(()=>{const v=t.current;h(),v.type==="DRAGGING"&&v.actions.cancel({shouldBlockNextClick:!0}),v.type==="PENDING"&&v.actions.abort()},[h]),g=Kt(function(){const A={capture:!0,passive:!1},k={cancel:p,completed:h,getPhase:s},I=Qo(window,IR(k),A),R=Qo(window,LR(k),A);r.current=function(){I(),R()}},[p,s,h]),x=Kt(function(){const A=s();A.type!=="PENDING"&&mt();const k=A.actions.fluidLift(A.point);i({type:"DRAGGING",actions:k,hasMoved:!1})},[s,i]),b=Kt(function(A,k){s().type!=="IDLE"&&mt();const I=setTimeout(x,CR);i({type:"PENDING",point:k,actions:A,longPressTimerId:I}),g()},[g,s,i,x]);go(function(){return l(),function(){r.current();const k=s();k.type==="PENDING"&&(clearTimeout(k.longPressTimerId),i(df))}},[s,l,i]),go(function(){return Qo(window,[{eventName:"touchmove",fn:()=>{},options:{capture:!1,passive:!1}}])},[])}const ER=["input","button","textarea","select","option","optgroup","video","audio"];function t6(e,t){if(t==null)return!1;if(ER.includes(t.tagName.toLowerCase()))return!0;const s=t.getAttribute("contenteditable");return s==="true"||s===""?!0:t===e?!1:t6(e,t.parentElement)}function RR(e,t){const r=t.target;return Hd(r)?t6(e,r):!1}var MR=e=>ra(e.getBoundingClientRect()).center;function NR(e){return e instanceof Yx(e).Element}const DR=(()=>{const e="matches";return typeof document>"u"?e:[e,"msMatchesSelector","webkitMatchesSelector"].find(s=>s in Element.prototype)||e})();function r6(e,t){return e==null?null:e[DR](t)?e:r6(e.parentElement,t)}function BR(e,t){return e.closest?e.closest(t):r6(e,t)}function QR(e){return`[${z0.contextId}="${e}"]`}function jR(e,t){const r=t.target;if(!NR(r))return null;const s=QR(e),i=BR(r,s);return!i||!Hd(i)?null:i}function PR(e,t){const r=jR(e,t);return r?r.getAttribute(z0.draggableId):null}function OR(e,t){const r=`[${op.contextId}="${e}"]`,i=Zx(document,r).find(u=>u.getAttribute(op.id)===t);return!i||!Hd(i)?null:i}function FR(e){e.preventDefault()}function Fu({expected:e,phase:t,isLockActive:r,shouldWarn:s}){return!(!r()||e!==t)}function n6({lockAPI:e,store:t,registry:r,draggableId:s}){if(e.isClaimed())return!1;const i=r.draggable.findById(s);return!(!i||!i.options.isEnabled||!Wx(t.getState(),s))}function UR({lockAPI:e,contextId:t,store:r,registry:s,draggableId:i,forceSensorStop:u,sourceEvent:l}){if(!n6({lockAPI:e,store:r,registry:s,draggableId:i}))return null;const p=s.draggable.getById(i),g=OR(t,p.descriptor.id);if(!g||l&&!p.options.canDragInteractiveElements&&RR(g,l))return null;const x=e.claim(u||Tl);let b="PRE_DRAG";function v(){return p.options.shouldRespectForcePress}function A(){return e.isActive(x)}function k(O,q){Fu({expected:O,phase:b,isLockActive:A,shouldWarn:!0})&&r.dispatch(q())}const I=k.bind(null,"DRAGGING");function R(O){function q(){e.release(),b="COMPLETED"}b!=="PRE_DRAG"&&(q(),mt()),r.dispatch(Bk(O.liftActionArgs)),b="DRAGGING";function ee(de,Ae={shouldBlockNextClick:!1}){if(O.cleanup(),Ae.shouldBlockNextClick){const Le=Qo(window,[{eventName:"click",fn:FR,options:{once:!0,passive:!1,capture:!0}}]);setTimeout(Le)}q(),r.dispatch(jx({reason:de}))}return{isActive:()=>Fu({expected:"DRAGGING",phase:b,isLockActive:A,shouldWarn:!1}),shouldRespectForcePress:v,drop:de=>ee("DROP",de),cancel:de=>ee("CANCEL",de),...O.actions}}function M(O){const q=Zc(de=>{I(()=>Qx({client:de}))});return{...R({liftActionArgs:{id:i,clientSelection:O,movementMode:"FLUID"},cleanup:()=>q.cancel(),actions:{move:q}}),move:q}}function B(){const O={moveUp:()=>I(Hk),moveRight:()=>I(Gk),moveDown:()=>I(Wk),moveLeft:()=>I(Vk)};return R({liftActionArgs:{id:i,clientSelection:MR(g),movementMode:"SNAP"},cleanup:Tl,actions:O})}function F(){Fu({expected:"PRE_DRAG",phase:b,isLockActive:A,shouldWarn:!0})&&e.release()}return{isActive:()=>Fu({expected:"PRE_DRAG",phase:b,isLockActive:A,shouldWarn:!1}),shouldRespectForcePress:v,fluidLift:M,snapLift:B,abort:F}}const $R=[vR,SR,kR];function zR({contextId:e,store:t,registry:r,customSensors:s,enableDefaultSensors:i}){const u=[...i?$R:[],...s||[]],l=_.useState(()=>oR())[0],h=Kt(function(R,M){tu(R)&&!tu(M)&&l.tryAbandon()},[l]);go(function(){let R=t.getState();return t.subscribe(()=>{const B=t.getState();h(R,B),R=B})},[l,t,h]),go(()=>l.tryAbandon,[l.tryAbandon]);const p=Kt(I=>n6({lockAPI:l,registry:r,store:t,draggableId:I}),[l,r,t]),g=Kt((I,R,M)=>UR({lockAPI:l,registry:r,contextId:e,store:t,draggableId:I,forceSensorStop:R||null,sourceEvent:M&&M.sourceEvent?M.sourceEvent:null}),[e,l,r,t]),x=Kt(I=>PR(e,I),[e]),b=Kt(I=>{const R=r.draggable.findById(I);return R?R.options:null},[r.draggable]),v=Kt(function(){l.isClaimed()&&(l.tryAbandon(),t.getState().phase!=="IDLE"&&t.dispatch(Yp()))},[l,t]),A=Kt(()=>l.isClaimed(),[l]),k=Vr(()=>({canGetLock:p,tryGetLock:g,findClosestDraggableId:x,findOptionsForDraggable:b,tryReleaseLock:v,isLockClaimed:A}),[p,g,x,b,v,A]);for(let I=0;I<u.length;I++)u[I](k)}const HR=e=>({onBeforeCapture:t=>{const r=()=>{e.onBeforeCapture&&e.onBeforeCapture(t)};Ra.flushSync(r)},onBeforeDragStart:e.onBeforeDragStart,onDragStart:e.onDragStart,onDragEnd:e.onDragEnd,onDragUpdate:e.onDragUpdate}),WR=e=>({...eu,...e.autoScrollerOptions,durationDampening:{...eu.durationDampening,...e.autoScrollerOptions}});function Cc(e){return e.current||mt(),e.current}function GR(e){const{contextId:t,setCallbacks:r,sensors:s,nonce:i,dragHandleUsageInstructions:u}=e,l=_.useRef(null),h=Kx(e),p=Kt(()=>HR(h.current),[h]),g=Kt(()=>WR(h.current),[h]),x=rR(t),b=iR({contextId:t,text:u}),v=ZE(t,i),A=Kt(Le=>{Cc(l).dispatch(Le)},[]),k=Vr(()=>Wg({publishWhileDragging:jk,updateDroppableScroll:Ok,updateDroppableIsEnabled:Fk,updateDroppableIsCombineEnabled:Uk,collectionStarting:Pk},A),[A]),I=JE(),R=Vr(()=>LE(I,k),[I,k]),M=Vr(()=>HE({scrollWindow:IE,scrollDroppable:R.scrollDroppable,getAutoScrollerOptions:g,...Wg({move:Qx},A)}),[R.scrollDroppable,A,g]),B=KE(t),F=Vr(()=>TE({announce:x,autoScroller:M,dimensionMarshal:R,focusMarshal:B,getResponders:p,styleMarshal:v}),[x,M,R,B,p,v]);l.current=F;const W=Kt(()=>{const Le=Cc(l);Le.getState().phase!=="IDLE"&&Le.dispatch(Yp())},[]),O=Kt(()=>{const Le=Cc(l).getState();return Le.phase==="DROP_ANIMATING"?!0:Le.phase==="IDLE"?!1:Le.isDragging},[]),q=Vr(()=>({isDragging:O,tryAbort:W}),[O,W]);r(q);const ee=Kt(Le=>Wx(Cc(l).getState(),Le),[]),de=Kt(()=>Ul(Cc(l).getState()),[]),Ae=Vr(()=>({marshal:R,focus:B,contextId:t,canLift:ee,isMovementAllowed:de,dragHandleUsageInstructionsId:b,registry:I}),[t,R,b,B,ee,de,I]);return zR({contextId:t,store:F,registry:I,customSensors:s||null,enableDefaultSensors:e.enableDefaultSensors!==!1}),_.useEffect(()=>W,[W]),S.createElement(Wd.Provider,{value:Ae},S.createElement(xI,{context:n1,store:F},e.children))}function VR(){return S.useId()}function Ad(e){const t=VR(),r=e.dragHandleUsageInstructions||nd.dragHandleUsageInstructions;return S.createElement(SI,null,s=>S.createElement(GR,{nonce:e.nonce,contextId:t,setCallbacks:s,dragHandleUsageInstructions:r,enableDefaultSensors:e.enableDefaultSensors,sensors:e.sensors,onBeforeCapture:e.onBeforeCapture,onBeforeDragStart:e.onBeforeDragStart,onDragStart:e.onDragStart,onDragUpdate:e.onDragUpdate,onDragEnd:e.onDragEnd,autoScrollerOptions:e.autoScrollerOptions},e.children))}const v2={dragging:5e3,dropAnimating:4500},qR=(e,t)=>t?Oc.drop(t.duration):e?Oc.snap:Oc.fluid,ZR=(e,t)=>{if(e)return t?Jc.opacity.drop:Jc.opacity.combining},YR=e=>e.forceShouldAnimate!=null?e.forceShouldAnimate:e.mode==="SNAP";function KR(e){const r=e.dimension.client,{offset:s,combineWith:i,dropping:u}=e,l=!!i,h=YR(e),p=!!u,g=p?sp.drop(s,l):sp.moveTo(s);return{position:"fixed",top:r.marginBox.top,left:r.marginBox.left,boxSizing:"border-box",width:r.borderBox.width,height:r.borderBox.height,transition:qR(h,u),transform:g,opacity:ZR(l,p),zIndex:p?v2.dropAnimating:v2.dragging,pointerEvents:"none"}}function XR(e){return{transform:sp.moveTo(e.offset),transition:e.shouldAnimateDisplacement?void 0:"none"}}function JR(e){return e.type==="DRAGGING"?KR(e):XR(e)}function eM(e,t,r=ni){const s=window.getComputedStyle(t),i=t.getBoundingClientRect(),u=ux(i,s),l=gd(u,r),h={client:u,tagName:t.tagName.toLowerCase(),display:s.display},p={x:u.marginBox.width,y:u.marginBox.height};return{descriptor:e,placeholder:h,displaceBy:p,client:u,page:l}}function tM(e){const t=s1("draggable"),{descriptor:r,registry:s,getDraggableRef:i,canDragInteractiveElements:u,shouldRespectForcePress:l,isEnabled:h}=e,p=Vr(()=>({canDragInteractiveElements:u,shouldRespectForcePress:l,isEnabled:h}),[u,h,l]),g=Kt(A=>{const k=i();return k||mt(),eM(r,k,A)},[r,i]),x=Vr(()=>({uniqueId:t,descriptor:r,options:p,getDimension:g}),[r,g,p,t]),b=_.useRef(x),v=_.useRef(!0);go(()=>(s.draggable.register(b.current),()=>s.draggable.unregister(b.current)),[s.draggable]),go(()=>{if(v.current){v.current=!1;return}const A=b.current;b.current=x,s.draggable.update(x,A)},[x,s.draggable])}var o1=S.createContext(null);function Td(e){const t=_.useContext(e);return t||mt(),t}function rM(e){e.preventDefault()}const nM=e=>{const t=_.useRef(null),r=Kt((q=null)=>{t.current=q},[]),s=Kt(()=>t.current,[]),{contextId:i,dragHandleUsageInstructionsId:u,registry:l}=Td(Wd),{type:h,droppableId:p}=Td(o1),g=Vr(()=>({id:e.draggableId,index:e.index,type:h,droppableId:p}),[e.draggableId,e.index,h,p]),{children:x,draggableId:b,isEnabled:v,shouldRespectForcePress:A,canDragInteractiveElements:k,isClone:I,mapped:R,dropAnimationFinished:M}=e;if(!I){const q=Vr(()=>({descriptor:g,registry:l,getDraggableRef:s,canDragInteractiveElements:k,shouldRespectForcePress:A,isEnabled:v}),[g,l,s,k,A,v]);tM(q)}const B=Vr(()=>v?{tabIndex:0,role:"button","aria-describedby":u,"data-rfd-drag-handle-draggable-id":b,"data-rfd-drag-handle-context-id":i,draggable:!1,onDragStart:rM}:null,[i,u,b,v]),F=Kt(q=>{R.type==="DRAGGING"&&R.dropping&&q.propertyName==="transform"&&Ra.flushSync(M)},[M,R]),W=Vr(()=>{const q=JR(R),ee=R.type==="DRAGGING"&&R.dropping?F:void 0;return{innerRef:r,draggableProps:{"data-rfd-draggable-context-id":i,"data-rfd-draggable-id":b,style:q,onTransitionEnd:ee},dragHandleProps:B}},[i,B,b,R,F,r]),O=Vr(()=>({draggableId:g.id,type:g.type,source:{index:g.index,droppableId:g.droppableId}}),[g.droppableId,g.id,g.index,g.type]);return S.createElement(S.Fragment,null,x(W,R.snapshot,O))};var s6=(e,t)=>e===t,i6=e=>{const{combine:t,destination:r}=e;return r?r.droppableId:t?t.droppableId:null};const sM=e=>e.combine?e.combine.draggableId:null,iM=e=>e.at&&e.at.type==="COMBINE"?e.at.combine.draggableId:null;function oM(){const e=ri((i,u)=>({x:i,y:u})),t=ri((i,u,l=null,h=null,p=null)=>({isDragging:!0,isClone:u,isDropAnimating:!!p,dropAnimation:p,mode:i,draggingOver:l,combineWith:h,combineTargetFor:null})),r=ri((i,u,l,h,p=null,g=null,x=null)=>({mapped:{type:"DRAGGING",dropping:null,draggingOver:p,combineWith:g,mode:u,offset:i,dimension:l,forceShouldAnimate:x,snapshot:t(u,h,p,g,null)}}));return(i,u)=>{if(tu(i)){if(i.critical.draggable.id!==u.draggableId)return null;const l=i.current.client.offset,h=i.dimensions.draggables[u.draggableId],p=mo(i.impact),g=iM(i.impact),x=i.forceShouldAnimate;return r(e(l.x,l.y),i.movementMode,h,u.isClone,p,g,x)}if(i.phase==="DROP_ANIMATING"){const l=i.completed;if(l.result.draggableId!==u.draggableId)return null;const h=u.isClone,p=i.dimensions.draggables[u.draggableId],g=l.result,x=g.mode,b=i6(g),v=sM(g),k={duration:i.dropDuration,curve:Xp.drop,moveTo:i.newHomeClientOffset,opacity:v?Jc.opacity.drop:null,scale:v?Jc.scale.drop:null};return{mapped:{type:"DRAGGING",offset:i.newHomeClientOffset,dimension:p,dropping:k,draggingOver:b,combineWith:v,mode:x,forceShouldAnimate:null,snapshot:t(x,h,b,v,k)}}}return null}}function o6(e=null){return{isDragging:!1,isDropAnimating:!1,isClone:!1,dropAnimation:null,mode:null,draggingOver:null,combineTargetFor:e,combineWith:null}}const aM={mapped:{type:"SECONDARY",offset:ni,combineTargetFor:null,shouldAnimateDisplacement:!0,snapshot:o6(null)}};function lM(){const e=ri((l,h)=>({x:l,y:h})),t=ri(o6),r=ri((l,h=null,p)=>({mapped:{type:"SECONDARY",offset:l,combineTargetFor:h,shouldAnimateDisplacement:p,snapshot:t(h)}})),s=l=>l?r(ni,l,!0):null,i=(l,h,p,g)=>{const x=p.displaced.visible[l],b=!!(g.inVirtualList&&g.effected[l]),v=Ud(p),A=v&&v.draggableId===l?h:null;if(!x){if(!b)return s(A);if(p.displaced.invisible[l])return null;const R=q0(g.displacedBy.point),M=e(R.x,R.y);return r(M,A,!0)}if(b)return s(A);const k=p.displacedBy.point,I=e(k.x,k.y);return r(I,A,x.shouldAnimate)};return(l,h)=>{if(tu(l))return l.critical.draggable.id===h.draggableId?null:i(h.draggableId,l.critical.draggable.id,l.impact,l.afterCritical);if(l.phase==="DROP_ANIMATING"){const p=l.completed;return p.result.draggableId===h.draggableId?null:i(h.draggableId,p.result.draggableId,p.impact,p.afterCritical)}return null}}const cM=()=>{const e=oM(),t=lM();return(s,i)=>e(s,i)||t(s,i)||aM},uM={dropAnimationFinished:Px},dM=cx(cM,uM,null,{context:n1,areStatePropsEqual:s6})(nM);function a6(e){return Td(o1).isUsingCloneFor===e.draggableId&&!e.isClone?null:S.createElement(dM,e)}function Ka(e){const t=typeof e.isDragDisabled=="boolean"?!e.isDragDisabled:!0,r=!!e.disableInteractiveElementBlocking,s=!!e.shouldRespectForcePress;return S.createElement(a6,xd({},e,{isClone:!1,isEnabled:t,canDragInteractiveElements:r,shouldRespectForcePress:s}))}const l6=e=>t=>e===t,hM=l6("scroll"),fM=l6("auto"),w2=(e,t)=>t(e.overflowX)||t(e.overflowY),pM=e=>{const t=window.getComputedStyle(e),r={overflowX:t.overflowX,overflowY:t.overflowY};return w2(r,hM)||w2(r,fM)},mM=()=>!1,c6=e=>e==null?null:e===document.body?mM()?e:null:e===document.documentElement?null:pM(e)?e:c6(e.parentElement);var ap=e=>({x:e.scrollLeft,y:e.scrollTop});const u6=e=>e?window.getComputedStyle(e).position==="fixed"?!0:u6(e.parentElement):!1;var gM=e=>{const t=c6(e),r=u6(e);return{closestScrollable:t,isFixedOnPage:r}},xM=({descriptor:e,isEnabled:t,isCombineEnabled:r,isFixedOnPage:s,direction:i,client:u,page:l,closest:h})=>{const p=(()=>{if(!h)return null;const{scrollSize:v,client:A}=h,k=$x({scrollHeight:v.scrollHeight,scrollWidth:v.scrollWidth,height:A.paddingBox.height,width:A.paddingBox.width});return{pageMarginBox:h.page.marginBox,frameClient:A,scrollSize:v,shouldClipSubject:h.shouldClipSubject,scroll:{initial:h.scroll,current:h.scroll,max:k,diff:{value:ni,displacement:ni}}}})(),g=i==="vertical"?Wp:wx,x=U0({page:l,withPlaceholder:null,axis:g,frame:p});return{descriptor:e,isCombineEnabled:r,isFixedOnPage:s,axis:g,isEnabled:t,client:u,page:l,frame:p,subject:x}};const bM=(e,t)=>{const r=dx(e);if(!t||e!==t)return r;const s=r.paddingBox.top-t.scrollTop,i=r.paddingBox.left-t.scrollLeft,u=s+t.scrollHeight,l=i+t.scrollWidth,p=Up({top:s,right:l,bottom:u,left:i},r.border);return $p({borderBox:p,margin:r.margin,border:r.border,padding:r.padding})};var yM=({ref:e,descriptor:t,env:r,windowScroll:s,direction:i,isDropDisabled:u,isCombineEnabled:l,shouldClipSubject:h})=>{const p=r.closestScrollable,g=bM(e,p),x=gd(g,s),b=(()=>{if(!p)return null;const A=dx(p),k={scrollHeight:p.scrollHeight,scrollWidth:p.scrollWidth};return{client:A,page:gd(A,s),scroll:ap(p),scrollSize:k,shouldClipSubject:h}})();return xM({descriptor:t,isEnabled:!u,isCombineEnabled:l,isFixedOnPage:r.isFixedOnPage,direction:i,client:g,page:x,closest:b})};const vM={passive:!1},wM={passive:!0};var A2=e=>e.shouldPublishImmediately?vM:wM;const Uu=e=>e&&e.env.closestScrollable||null;function AM(e){const t=_.useRef(null),r=Td(Wd),s=s1("droppable"),{registry:i,marshal:u}=r,l=Kx(e),h=Vr(()=>({id:e.droppableId,type:e.type,mode:e.mode}),[e.droppableId,e.mode,e.type]),p=_.useRef(h),g=Vr(()=>ri((W,O)=>{t.current||mt();const q={x:W,y:O};u.updateDroppableScroll(h.id,q)}),[h.id,u]),x=Kt(()=>{const W=t.current;return!W||!W.env.closestScrollable?ni:ap(W.env.closestScrollable)},[]),b=Kt(()=>{const W=x();g(W.x,W.y)},[x,g]),v=Vr(()=>Zc(b),[b]),A=Kt(()=>{const W=t.current,O=Uu(W);if(W&&O||mt(),W.scrollOptions.shouldPublishImmediately){b();return}v()},[v,b]),k=Kt((W,O)=>{t.current&&mt();const q=l.current,ee=q.getDroppableRef();ee||mt();const de=gM(ee),Ae={ref:ee,descriptor:h,env:de,scrollOptions:O};t.current=Ae;const Le=yM({ref:ee,descriptor:h,env:de,windowScroll:W,direction:q.direction,isDropDisabled:q.isDropDisabled,isCombineEnabled:q.isCombineEnabled,shouldClipSubject:!q.ignoreContainerClipping}),ve=de.closestScrollable;return ve&&(ve.setAttribute(g2.contextId,r.contextId),ve.addEventListener("scroll",A,A2(Ae.scrollOptions))),Le},[r.contextId,h,A,l]),I=Kt(()=>{const W=t.current,O=Uu(W);return W&&O||mt(),ap(O)},[]),R=Kt(()=>{const W=t.current;W||mt();const O=Uu(W);t.current=null,O&&(v.cancel(),O.removeAttribute(g2.contextId),O.removeEventListener("scroll",A,A2(W.scrollOptions)))},[A,v]),M=Kt(W=>{const O=t.current;O||mt();const q=Uu(O);q||mt(),q.scrollTop+=W.y,q.scrollLeft+=W.x},[]),B=Vr(()=>({getDimensionAndWatchScroll:k,getScrollWhileDragging:I,dragStopped:R,scroll:M}),[R,k,I,M]),F=Vr(()=>({uniqueId:s,descriptor:h,callbacks:B}),[B,h,s]);go(()=>(p.current=F.descriptor,i.droppable.register(F),()=>{t.current&&R(),i.droppable.unregister(F)}),[B,h,R,F,u,i.droppable]),go(()=>{t.current&&u.updateDroppableIsEnabled(p.current.id,!e.isDropDisabled)},[e.isDropDisabled,u]),go(()=>{t.current&&u.updateDroppableIsCombineEnabled(p.current.id,e.isCombineEnabled)},[e.isCombineEnabled,u])}function hf(){}const T2={width:0,height:0,margin:RI},TM=({isAnimatingOpenOnMount:e,placeholder:t,animate:r})=>e||r==="close"?T2:{height:t.client.borderBox.height,width:t.client.borderBox.width,margin:t.client.margin},SM=({isAnimatingOpenOnMount:e,placeholder:t,animate:r})=>{const s=TM({isAnimatingOpenOnMount:e,placeholder:t,animate:r});return{display:t.display,boxSizing:"border-box",width:s.width,height:s.height,marginTop:s.margin.top,marginRight:s.margin.right,marginBottom:s.margin.bottom,marginLeft:s.margin.left,flexShrink:"0",flexGrow:"0",pointerEvents:"none",transition:r!=="none"?Oc.placeholder:null}},CM=e=>{const t=_.useRef(null),r=Kt(()=>{t.current&&(clearTimeout(t.current),t.current=null)},[]),{animate:s,onTransitionEnd:i,onClose:u,contextId:l}=e,[h,p]=_.useState(e.animate==="open");_.useEffect(()=>h?s!=="open"?(r(),p(!1),hf):t.current?hf:(t.current=setTimeout(()=>{t.current=null,p(!1)}),r):hf,[s,h,r]);const g=Kt(b=>{b.propertyName==="height"&&(i(),s==="close"&&u())},[s,u,i]),x=SM({isAnimatingOpenOnMount:h,animate:e.animate,placeholder:e.placeholder});return S.createElement(e.placeholder.tagName,{style:x,"data-rfd-placeholder-context-id":l,onTransitionEnd:g,ref:e.innerRef})};var _M=S.memo(CM);class LM extends S.PureComponent{constructor(...t){super(...t),this.state={isVisible:!!this.props.on,data:this.props.on,animate:this.props.shouldAnimate&&this.props.on?"open":"none"},this.onClose=()=>{this.state.animate==="close"&&this.setState({isVisible:!1})}}static getDerivedStateFromProps(t,r){return t.shouldAnimate?t.on?{isVisible:!0,data:t.on,animate:"open"}:r.isVisible?{isVisible:!0,data:r.data,animate:"close"}:{isVisible:!1,animate:"close",data:null}:{isVisible:!!t.on,data:t.on,animate:"none"}}render(){if(!this.state.isVisible)return null;const t={onClose:this.onClose,data:this.state.data,animate:this.state.animate};return this.props.children(t)}}const IM=e=>{const t=_.useContext(Wd);t||mt();const{contextId:r,isMovementAllowed:s}=t,i=_.useRef(null),u=_.useRef(null),{children:l,droppableId:h,type:p,mode:g,direction:x,ignoreContainerClipping:b,isDropDisabled:v,isCombineEnabled:A,snapshot:k,useClone:I,updateViewportMaxScroll:R,getContainerForClone:M}=e,B=Kt(()=>i.current,[]),F=Kt((ve=null)=>{i.current=ve},[]);Kt(()=>u.current,[]);const W=Kt((ve=null)=>{u.current=ve},[]),O=Kt(()=>{s()&&R({maxScroll:Hx()})},[s,R]);AM({droppableId:h,type:p,mode:g,direction:x,isDropDisabled:v,isCombineEnabled:A,ignoreContainerClipping:b,getDroppableRef:B});const q=Vr(()=>S.createElement(LM,{on:e.placeholder,shouldAnimate:e.shouldAnimatePlaceholder},({onClose:ve,data:Ye,animate:Te})=>S.createElement(_M,{placeholder:Ye,onClose:ve,innerRef:W,animate:Te,contextId:r,onTransitionEnd:O})),[r,O,e.placeholder,e.shouldAnimatePlaceholder,W]),ee=Vr(()=>({innerRef:F,placeholder:q,droppableProps:{"data-rfd-droppable-id":h,"data-rfd-droppable-context-id":r}}),[r,h,q,F]),de=I?I.dragging.draggableId:null,Ae=Vr(()=>({droppableId:h,type:p,isUsingCloneFor:de}),[h,de,p]);function Le(){if(!I)return null;const{dragging:ve,render:Ye}=I,Te=S.createElement(a6,{draggableId:ve.draggableId,index:ve.source.index,isClone:!0,isEnabled:!0,shouldRespectForcePress:!1,canDragInteractiveElements:!0},(fe,je)=>Ye(fe,je,ve));return r8.createPortal(Te,M())}return S.createElement(o1.Provider,{value:Ae},l(ee,k),Le())};function kM(){return document.body||mt(),document.body}const S2={mode:"standard",type:"DEFAULT",direction:"vertical",isDropDisabled:!1,isCombineEnabled:!1,ignoreContainerClipping:!1,renderClone:null,getContainerForClone:kM},d6=e=>{let t={...e},r;for(r in S2)e[r]===void 0&&(t={...t,[r]:S2[r]});return t},ff=(e,t)=>e===t.droppable.type,C2=(e,t)=>t.draggables[e.draggable.id],EM=()=>{const e={placeholder:null,shouldAnimatePlaceholder:!0,snapshot:{isDraggingOver:!1,draggingOverWith:null,draggingFromThisWith:null,isUsingPlaceholder:!1},useClone:null},t={...e,shouldAnimatePlaceholder:!1},r=ri(u=>({draggableId:u.id,type:u.type,source:{index:u.index,droppableId:u.droppableId}})),s=ri((u,l,h,p,g,x)=>{const b=g.descriptor.id;if(g.descriptor.droppableId===u){const k=x?{render:x,dragging:r(g.descriptor)}:null,I={isDraggingOver:h,draggingOverWith:h?b:null,draggingFromThisWith:b,isUsingPlaceholder:!0};return{placeholder:g.placeholder,shouldAnimatePlaceholder:!1,snapshot:I,useClone:k}}if(!l)return t;if(!p)return e;const A={isDraggingOver:h,draggingOverWith:b,draggingFromThisWith:null,isUsingPlaceholder:!0};return{placeholder:g.placeholder,shouldAnimatePlaceholder:!0,snapshot:A,useClone:null}});return(u,l)=>{const h=d6(l),p=h.droppableId,g=h.type,x=!h.isDropDisabled,b=h.renderClone;if(tu(u)){const v=u.critical;if(!ff(g,v))return t;const A=C2(v,u.dimensions),k=mo(u.impact)===p;return s(p,x,k,k,A,b)}if(u.phase==="DROP_ANIMATING"){const v=u.completed;if(!ff(g,v.critical))return t;const A=C2(v.critical,u.dimensions);return s(p,x,i6(v.result)===p,mo(v.impact)===p,A,b)}if(u.phase==="IDLE"&&u.completed&&!u.shouldFlush){const v=u.completed;if(!ff(g,v.critical))return t;const A=mo(v.impact)===p,k=!!(v.impact.at&&v.impact.at.type==="COMBINE"),I=v.critical.droppable.id===p;return A?k?e:t:I?e:t}return t}},RM={updateViewportMaxScroll:zk},Xa=cx(EM,RM,(e,t,r)=>({...d6(r),...e,...t}),{context:n1,areStatePropsEqual:s6})(IM);function MM(){if(typeof window>"u")return D0(void 0);try{const e=window.localStorage.getItem(Hf);return D0(e?JSON.parse(e):void 0)}catch{return D0(void 0)}}function pf(e){if(!(typeof window>"u"))try{const t=window.localStorage.getItem(Hf),r=t?JSON.parse(t):{},s=D0({...r,...e});window.localStorage.setItem(Hf,JSON.stringify(s))}catch{}}function NM(){const[e,t]=S.useState(MM);S.useEffect(()=>{pf(e)},[e]);const r=S.useCallback(i=>{t(u=>{const l=D0({...u,...i});return pf(l),l})},[]),s=S.useCallback(()=>{const i=D0(void 0);t(i),pf(i)},[]);return{terminalSettings:e,updateTerminalSettings:r,resetTerminalSettings:s}}const lp="termdock-settings";function DM(e){return e==="shell"||e==="tmux"}function BM(){if(typeof window>"u")return{mode:"shell",tmuxName:"",userSelectedMode:null};try{const e=window.localStorage.getItem(lp);if(!e)return{mode:"shell",tmuxName:"",userSelectedMode:null};const t=JSON.parse(e),r=t.newSessionModeUserSelected===!0&&DM(t.newSessionMode)?t.newSessionMode:null,s=r??"shell",i=typeof t.newSessionTmuxName=="string"?t.newSessionTmuxName:"";return{mode:s,tmuxName:i,userSelectedMode:r}}catch{return{mode:"shell",tmuxName:"",userSelectedMode:null}}}function _2(e){if(!(typeof window>"u"))try{const t=window.localStorage.getItem(lp),s={...t?JSON.parse(t):{},...e};window.localStorage.setItem(lp,JSON.stringify(s))}catch{}}function QM(){const[e,t]=S.useState(BM),r=S.useCallback((i,u)=>{const l=u?.userInitiated!==!1;t(h=>({...h,mode:i,userSelectedMode:l?i:h.userSelectedMode})),l&&_2({newSessionMode:i,newSessionModeUserSelected:!0})},[]),s=S.useCallback(i=>{t(u=>({...u,tmuxName:i})),_2({newSessionTmuxName:i})},[]);return{newSessionMode:e.mode,newSessionTmuxName:e.tmuxName,userSelectedNewSessionMode:e.userSelectedMode,setNewSessionMode:r,setNewSessionTmuxName:s}}const jM=550,PM=10;function h6(){const e=_.useRef(null),t=_.useRef(null),r=_.useRef(!1),s=_.useRef(!1),i=_.useRef(null),u=_.useCallback(()=>{e.current!=null&&(window.clearTimeout(e.current),e.current=null)},[]),l=_.useCallback(()=>{u(),t.current=null},[u]);return _.useCallback(p=>({onPointerDown:g=>{g.pointerType!=="touch"&&g.pointerType!=="pen"||(l(),r.current=!1,t.current={pointerId:g.pointerId,startX:g.clientX,startY:g.clientY},e.current=window.setTimeout(()=>{e.current=null,t.current&&(r.current=!0,p())},jM))},onPointerMove:g=>{const x=t.current;if(!x||x.pointerId!==g.pointerId||r.current)return;const b=g.clientX-x.startX,v=g.clientY-x.startY;Math.hypot(b,v)>PM&&l()},onPointerUp:g=>{r.current&&(g.preventDefault(),r.current=!1,s.current=!0,i.current!=null&&window.clearTimeout(i.current),i.current=window.setTimeout(()=>{s.current=!1,i.current=null},600)),l()},onPointerCancel:l,onPointerLeave:g=>{t.current?.pointerId===g.pointerId&&!r.current&&l()},onClickCapture:g=>{s.current&&(s.current=!1,i.current!=null&&(window.clearTimeout(i.current),i.current=null),g.preventDefault(),g.stopPropagation())}}),[l])}function L2({mode:e,activeProgram:t,promptState:r,shellNames:s}){return e!=="tmux"?!1:r==="running"?!0:r==="idle"?!1:t===null||!s.has(t.toLowerCase())}function OM(e,t,r){return!!(e&&t===e&&!r)}function FM(e){if(!e.startsWith("remote:"))return null;const t=e.slice(7).split(":");if(t.length!==2)return null;try{const r=decodeURIComponent(t[0]),s=decodeURIComponent(t[1]),i=new URL(r);return!["https:","http:"].includes(i.protocol)||i.origin!==r||!s?null:{origin:r,sessionId:s}}catch{return null}}async function f6(e){const t=FM(e);if(!t)throw new Error("远端会话标识无效");if(window.termdockDesktop?.collaborationFocus)try{if(await window.termdockDesktop.collaborationFocus(e))return}catch{}window.dispatchEvent(new CustomEvent("termdock:open-remote-session",{detail:t}))}function UM(e,t,r){return Math.max(t,Math.min(e,r))}const Wn={toVector(e,t){return e===void 0&&(e=t),Array.isArray(e)?e:[e,e]},add(e,t){return[e[0]+t[0],e[1]+t[1]]},sub(e,t){return[e[0]-t[0],e[1]-t[1]]},addTo(e,t){e[0]+=t[0],e[1]+=t[1]},subTo(e,t){e[0]-=t[0],e[1]-=t[1]}};function I2(e,t,r){return t===0||Math.abs(t)===1/0?Math.pow(e,r*5):e*t*r/(t+r*e)}function k2(e,t,r,s=.15){return s===0?UM(e,t,r):e<t?-I2(t-e,r-t,s)+t:e>r?+I2(e-r,r-t,s)+r:e}function $M(e,[t,r],[s,i]){const[[u,l],[h,p]]=e;return[k2(t,u,l,s),k2(r,h,p,i)]}function zM(e,t){if(typeof e!="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var s=r.call(e,t);if(typeof s!="object")return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function HM(e){var t=zM(e,"string");return typeof t=="symbol"?t:String(t)}function Is(e,t,r){return t=HM(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function E2(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,s)}return r}function Jn(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?E2(Object(r),!0).forEach(function(s){Is(e,s,r[s])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):E2(Object(r)).forEach(function(s){Object.defineProperty(e,s,Object.getOwnPropertyDescriptor(r,s))})}return e}const p6={pointer:{start:"down",change:"move",end:"up"},mouse:{start:"down",change:"move",end:"up"},touch:{start:"start",change:"move",end:"end"},gesture:{start:"start",change:"change",end:"end"}};function R2(e){return e?e[0].toUpperCase()+e.slice(1):""}const WM=["enter","leave"];function GM(e=!1,t){return e&&!WM.includes(t)}function VM(e,t="",r=!1){const s=p6[e],i=s&&s[t]||t;return"on"+R2(e)+R2(i)+(GM(r,i)?"Capture":"")}const qM=["gotpointercapture","lostpointercapture"];function ZM(e){let t=e.substring(2).toLowerCase();const r=!!~t.indexOf("passive");r&&(t=t.replace("passive",""));const s=qM.includes(t)?"capturecapture":"capture",i=!!~t.indexOf(s);return i&&(t=t.replace("capture","")),{device:t,capture:i,passive:r}}function YM(e,t=""){const r=p6[e],s=r&&r[t]||t;return e+s}function Vd(e){return"touches"in e}function m6(e){return Vd(e)?"touch":"pointerType"in e?e.pointerType:"mouse"}function KM(e){return Array.from(e.touches).filter(t=>{var r,s;return t.target===e.currentTarget||((r=e.currentTarget)===null||r===void 0||(s=r.contains)===null||s===void 0?void 0:s.call(r,t.target))})}function XM(e){return e.type==="touchend"||e.type==="touchcancel"?e.changedTouches:e.targetTouches}function g6(e){return Vd(e)?XM(e)[0]:e}function cp(e,t){try{const r=t.clientX-e.clientX,s=t.clientY-e.clientY,i=(t.clientX+e.clientX)/2,u=(t.clientY+e.clientY)/2,l=Math.hypot(r,s);return{angle:-(Math.atan2(r,s)*180)/Math.PI,distance:l,origin:[i,u]}}catch{}return null}function JM(e){return KM(e).map(t=>t.identifier)}function M2(e,t){const[r,s]=Array.from(e.touches).filter(i=>t.includes(i.identifier));return cp(r,s)}function mf(e){const t=g6(e);return Vd(e)?t.identifier:t.pointerId}function H0(e){const t=g6(e);return[t.clientX,t.clientY]}const N2=40,D2=800;function x6(e){let{deltaX:t,deltaY:r,deltaMode:s}=e;return s===1?(t*=N2,r*=N2):s===2&&(t*=D2,r*=D2),[t,r]}function eN(e){var t,r;const{scrollX:s,scrollY:i,scrollLeft:u,scrollTop:l}=e.currentTarget;return[(t=s??u)!==null&&t!==void 0?t:0,(r=i??l)!==null&&r!==void 0?r:0]}function tN(e){const t={};if("buttons"in e&&(t.buttons=e.buttons),"shiftKey"in e){const{shiftKey:r,altKey:s,metaKey:i,ctrlKey:u}=e;Object.assign(t,{shiftKey:r,altKey:s,metaKey:i,ctrlKey:u})}return t}function Sd(e,...t){return typeof e=="function"?e(...t):e}function rN(){}function nN(...e){return e.length===0?rN:e.length===1?e[0]:function(){let t;for(const r of e)t=r.apply(this,arguments)||t;return t}}function B2(e,t){return Object.assign({},t,e||{})}const sN=32;class b6{constructor(t,r,s){this.ctrl=t,this.args=r,this.key=s,this.state||(this.state={},this.computeValues([0,0]),this.computeInitial(),this.init&&this.init(),this.reset())}get state(){return this.ctrl.state[this.key]}set state(t){this.ctrl.state[this.key]=t}get shared(){return this.ctrl.state.shared}get eventStore(){return this.ctrl.gestureEventStores[this.key]}get timeoutStore(){return this.ctrl.gestureTimeoutStores[this.key]}get config(){return this.ctrl.config[this.key]}get sharedConfig(){return this.ctrl.config.shared}get handler(){return this.ctrl.handlers[this.key]}reset(){const{state:t,shared:r,ingKey:s,args:i}=this;r[s]=t._active=t.active=t._blocked=t._force=!1,t._step=[!1,!1],t.intentional=!1,t._movement=[0,0],t._distance=[0,0],t._direction=[0,0],t._delta=[0,0],t._bounds=[[-1/0,1/0],[-1/0,1/0]],t.args=i,t.axis=void 0,t.memo=void 0,t.elapsedTime=t.timeDelta=0,t.direction=[0,0],t.distance=[0,0],t.overflow=[0,0],t._movementBound=[!1,!1],t.velocity=[0,0],t.movement=[0,0],t.delta=[0,0],t.timeStamp=0}start(t){const r=this.state,s=this.config;r._active||(this.reset(),this.computeInitial(),r._active=!0,r.target=t.target,r.currentTarget=t.currentTarget,r.lastOffset=s.from?Sd(s.from,r):r.offset,r.offset=r.lastOffset,r.startTime=r.timeStamp=t.timeStamp)}computeValues(t){const r=this.state;r._values=t,r.values=this.config.transform(t)}computeInitial(){const t=this.state;t._initial=t._values,t.initial=t.values}compute(t){const{state:r,config:s,shared:i}=this;r.args=this.args;let u=0;if(t&&(r.event=t,s.preventDefault&&t.cancelable&&r.event.preventDefault(),r.type=t.type,i.touches=this.ctrl.pointerIds.size||this.ctrl.touchIds.size,i.locked=!!document.pointerLockElement,Object.assign(i,tN(t)),i.down=i.pressed=i.buttons%2===1||i.touches>0,u=t.timeStamp-r.timeStamp,r.timeStamp=t.timeStamp,r.elapsedTime=r.timeStamp-r.startTime),r._active){const q=r._delta.map(Math.abs);Wn.addTo(r._distance,q)}this.axisIntent&&this.axisIntent(t);const[l,h]=r._movement,[p,g]=s.threshold,{_step:x,values:b}=r;if(s.hasCustomTransform?(x[0]===!1&&(x[0]=Math.abs(l)>=p&&b[0]),x[1]===!1&&(x[1]=Math.abs(h)>=g&&b[1])):(x[0]===!1&&(x[0]=Math.abs(l)>=p&&Math.sign(l)*p),x[1]===!1&&(x[1]=Math.abs(h)>=g&&Math.sign(h)*g)),r.intentional=x[0]!==!1||x[1]!==!1,!r.intentional)return;const v=[0,0];if(s.hasCustomTransform){const[q,ee]=b;v[0]=x[0]!==!1?q-x[0]:0,v[1]=x[1]!==!1?ee-x[1]:0}else v[0]=x[0]!==!1?l-x[0]:0,v[1]=x[1]!==!1?h-x[1]:0;this.restrictToAxis&&!r._blocked&&this.restrictToAxis(v);const A=r.offset,k=r._active&&!r._blocked||r.active;k&&(r.first=r._active&&!r.active,r.last=!r._active&&r.active,r.active=i[this.ingKey]=r._active,t&&(r.first&&("bounds"in s&&(r._bounds=Sd(s.bounds,r)),this.setup&&this.setup()),r.movement=v,this.computeOffset()));const[I,R]=r.offset,[[M,B],[F,W]]=r._bounds;r.overflow=[I<M?-1:I>B?1:0,R<F?-1:R>W?1:0],r._movementBound[0]=r.overflow[0]?r._movementBound[0]===!1?r._movement[0]:r._movementBound[0]:!1,r._movementBound[1]=r.overflow[1]?r._movementBound[1]===!1?r._movement[1]:r._movementBound[1]:!1;const O=r._active?s.rubberband||[0,0]:[0,0];if(r.offset=$M(r._bounds,r.offset,O),r.delta=Wn.sub(r.offset,A),this.computeMovement(),k&&(!r.last||u>sN)){r.delta=Wn.sub(r.offset,A);const q=r.delta.map(Math.abs);Wn.addTo(r.distance,q),r.direction=r.delta.map(Math.sign),r._direction=r._delta.map(Math.sign),!r.first&&u>0&&(r.velocity=[q[0]/u,q[1]/u],r.timeDelta=u)}}emit(){const t=this.state,r=this.shared,s=this.config;if(t._active||this.clean(),(t._blocked||!t.intentional)&&!t._force&&!s.triggerAllEvents)return;const i=this.handler(Jn(Jn(Jn({},r),t),{},{[this.aliasKey]:t.values}));i!==void 0&&(t.memo=i)}clean(){this.eventStore.clean(),this.timeoutStore.clean()}}function iN([e,t],r){const s=Math.abs(e),i=Math.abs(t);if(s>i&&s>r)return"x";if(i>s&&i>r)return"y"}class ou extends b6{constructor(...t){super(...t),Is(this,"aliasKey","xy")}reset(){super.reset(),this.state.axis=void 0}init(){this.state.offset=[0,0],this.state.lastOffset=[0,0]}computeOffset(){this.state.offset=Wn.add(this.state.lastOffset,this.state.movement)}computeMovement(){this.state.movement=Wn.sub(this.state.offset,this.state.lastOffset)}axisIntent(t){const r=this.state,s=this.config;if(!r.axis&&t){const i=typeof s.axisThreshold=="object"?s.axisThreshold[m6(t)]:s.axisThreshold;r.axis=iN(r._movement,i)}r._blocked=(s.lockDirection||!!s.axis)&&!r.axis||!!s.axis&&s.axis!==r.axis}restrictToAxis(t){if(this.config.axis||this.config.lockDirection)switch(this.state.axis){case"x":t[1]=0;break;case"y":t[0]=0;break}}}const oN=e=>e,Q2=.15,y6={enabled(e=!0){return e},eventOptions(e,t,r){return Jn(Jn({},r.shared.eventOptions),e)},preventDefault(e=!1){return e},triggerAllEvents(e=!1){return e},rubberband(e=0){switch(e){case!0:return[Q2,Q2];case!1:return[0,0];default:return Wn.toVector(e)}},from(e){if(typeof e=="function")return e;if(e!=null)return Wn.toVector(e)},transform(e,t,r){const s=e||r.shared.transform;return this.hasCustomTransform=!!s,s||oN},threshold(e){return Wn.toVector(e,0)}},aN=0,t0=Jn(Jn({},y6),{},{axis(e,t,{axis:r}){if(this.lockDirection=r==="lock",!this.lockDirection)return r},axisThreshold(e=aN){return e},bounds(e={}){if(typeof e=="function")return u=>t0.bounds(e(u));if("current"in e)return()=>e.current;if(typeof HTMLElement=="function"&&e instanceof HTMLElement)return e;const{left:t=-1/0,right:r=1/0,top:s=-1/0,bottom:i=1/0}=e;return[[t,r],[s,i]]}}),j2={ArrowRight:(e,t=1)=>[e*t,0],ArrowLeft:(e,t=1)=>[-1*e*t,0],ArrowUp:(e,t=1)=>[0,-1*e*t],ArrowDown:(e,t=1)=>[0,e*t]};class lN extends ou{constructor(...t){super(...t),Is(this,"ingKey","dragging")}reset(){super.reset();const t=this.state;t._pointerId=void 0,t._pointerActive=!1,t._keyboardActive=!1,t._preventScroll=!1,t._delayed=!1,t.swipe=[0,0],t.tap=!1,t.canceled=!1,t.cancel=this.cancel.bind(this)}setup(){const t=this.state;if(t._bounds instanceof HTMLElement){const r=t._bounds.getBoundingClientRect(),s=t.currentTarget.getBoundingClientRect(),i={left:r.left-s.left+t.offset[0],right:r.right-s.right+t.offset[0],top:r.top-s.top+t.offset[1],bottom:r.bottom-s.bottom+t.offset[1]};t._bounds=t0.bounds(i)}}cancel(){const t=this.state;t.canceled||(t.canceled=!0,t._active=!1,setTimeout(()=>{this.compute(),this.emit()},0))}setActive(){this.state._active=this.state._pointerActive||this.state._keyboardActive}clean(){this.pointerClean(),this.state._pointerActive=!1,this.state._keyboardActive=!1,super.clean()}pointerDown(t){const r=this.config,s=this.state;if(t.buttons!=null&&(Array.isArray(r.pointerButtons)?!r.pointerButtons.includes(t.buttons):r.pointerButtons!==-1&&r.pointerButtons!==t.buttons))return;const i=this.ctrl.setEventIds(t);r.pointerCapture&&t.target.setPointerCapture(t.pointerId),!(i&&i.size>1&&s._pointerActive)&&(this.start(t),this.setupPointer(t),s._pointerId=mf(t),s._pointerActive=!0,this.computeValues(H0(t)),this.computeInitial(),r.preventScrollAxis&&m6(t)!=="mouse"?(s._active=!1,this.setupScrollPrevention(t)):r.delay>0?(this.setupDelayTrigger(t),r.triggerAllEvents&&(this.compute(t),this.emit())):this.startPointerDrag(t))}startPointerDrag(t){const r=this.state;r._active=!0,r._preventScroll=!0,r._delayed=!1,this.compute(t),this.emit()}pointerMove(t){const r=this.state,s=this.config;if(!r._pointerActive)return;const i=mf(t);if(r._pointerId!==void 0&&i!==r._pointerId)return;const u=H0(t);if(document.pointerLockElement===t.target?r._delta=[t.movementX,t.movementY]:(r._delta=Wn.sub(u,r._values),this.computeValues(u)),Wn.addTo(r._movement,r._delta),this.compute(t),r._delayed&&r.intentional){this.timeoutStore.remove("dragDelay"),r.active=!1,this.startPointerDrag(t);return}if(s.preventScrollAxis&&!r._preventScroll)if(r.axis)if(r.axis===s.preventScrollAxis||s.preventScrollAxis==="xy"){r._active=!1,this.clean();return}else{this.timeoutStore.remove("startPointerDrag"),this.startPointerDrag(t);return}else return;this.emit()}pointerUp(t){this.ctrl.setEventIds(t);try{this.config.pointerCapture&&t.target.hasPointerCapture(t.pointerId)&&t.target.releasePointerCapture(t.pointerId)}catch{}const r=this.state,s=this.config;if(!r._active||!r._pointerActive)return;const i=mf(t);if(r._pointerId!==void 0&&i!==r._pointerId)return;this.state._pointerActive=!1,this.setActive(),this.compute(t);const[u,l]=r._distance;if(r.tap=u<=s.tapsThreshold&&l<=s.tapsThreshold,r.tap&&s.filterTaps)r._force=!0;else{const[h,p]=r._delta,[g,x]=r._movement,[b,v]=s.swipe.velocity,[A,k]=s.swipe.distance,I=s.swipe.duration;if(r.elapsedTime<I){const R=Math.abs(h/r.timeDelta),M=Math.abs(p/r.timeDelta);R>b&&Math.abs(g)>A&&(r.swipe[0]=Math.sign(h)),M>v&&Math.abs(x)>k&&(r.swipe[1]=Math.sign(p))}}this.emit()}pointerClick(t){!this.state.tap&&t.detail>0&&(t.preventDefault(),t.stopPropagation())}setupPointer(t){const r=this.config,s=r.device;r.pointerLock&&t.currentTarget.requestPointerLock(),r.pointerCapture||(this.eventStore.add(this.sharedConfig.window,s,"change",this.pointerMove.bind(this)),this.eventStore.add(this.sharedConfig.window,s,"end",this.pointerUp.bind(this)),this.eventStore.add(this.sharedConfig.window,s,"cancel",this.pointerUp.bind(this)))}pointerClean(){this.config.pointerLock&&document.pointerLockElement===this.state.currentTarget&&document.exitPointerLock()}preventScroll(t){this.state._preventScroll&&t.cancelable&&t.preventDefault()}setupScrollPrevention(t){this.state._preventScroll=!1,cN(t);const r=this.eventStore.add(this.sharedConfig.window,"touch","change",this.preventScroll.bind(this),{passive:!1});this.eventStore.add(this.sharedConfig.window,"touch","end",r),this.eventStore.add(this.sharedConfig.window,"touch","cancel",r),this.timeoutStore.add("startPointerDrag",this.startPointerDrag.bind(this),this.config.preventScrollDelay,t)}setupDelayTrigger(t){this.state._delayed=!0,this.timeoutStore.add("dragDelay",()=>{this.state._step=[0,0],this.startPointerDrag(t)},this.config.delay)}keyDown(t){const r=j2[t.key];if(r){const s=this.state,i=t.shiftKey?10:t.altKey?.1:1;this.start(t),s._delta=r(this.config.keyboardDisplacement,i),s._keyboardActive=!0,Wn.addTo(s._movement,s._delta),this.compute(t),this.emit()}}keyUp(t){t.key in j2&&(this.state._keyboardActive=!1,this.setActive(),this.compute(t),this.emit())}bind(t){const r=this.config.device;t(r,"start",this.pointerDown.bind(this)),this.config.pointerCapture&&(t(r,"change",this.pointerMove.bind(this)),t(r,"end",this.pointerUp.bind(this)),t(r,"cancel",this.pointerUp.bind(this)),t("lostPointerCapture","",this.pointerUp.bind(this))),this.config.keys&&(t("key","down",this.keyDown.bind(this)),t("key","up",this.keyUp.bind(this))),this.config.filterTaps&&t("click","",this.pointerClick.bind(this),{capture:!0,passive:!1})}}function cN(e){"persist"in e&&typeof e.persist=="function"&&e.persist()}const au=typeof window<"u"&&window.document&&window.document.createElement;function v6(){return au&&"ontouchstart"in window}function uN(){return v6()||au&&window.navigator.maxTouchPoints>1}function dN(){return au&&"onpointerdown"in window}function hN(){return au&&"exitPointerLock"in window.document}function fN(){try{return"constructor"in GestureEvent}catch{return!1}}const Bo={isBrowser:au,gesture:fN(),touch:v6(),touchscreen:uN(),pointer:dN(),pointerLock:hN()},pN=250,mN=180,gN=.5,xN=50,bN=250,yN=10,P2={mouse:0,touch:0,pen:8},vN=Jn(Jn({},t0),{},{device(e,t,{pointer:{touch:r=!1,lock:s=!1,mouse:i=!1}={}}){return this.pointerLock=s&&Bo.pointerLock,Bo.touch&&r?"touch":this.pointerLock?"mouse":Bo.pointer&&!i?"pointer":Bo.touch?"touch":"mouse"},preventScrollAxis(e,t,{preventScroll:r}){if(this.preventScrollDelay=typeof r=="number"?r:r||r===void 0&&e?pN:void 0,!(!Bo.touchscreen||r===!1))return e||(r!==void 0?"y":void 0)},pointerCapture(e,t,{pointer:{capture:r=!0,buttons:s=1,keys:i=!0}={}}){return this.pointerButtons=s,this.keys=i,!this.pointerLock&&this.device==="pointer"&&r},threshold(e,t,{filterTaps:r=!1,tapsThreshold:s=3,axis:i=void 0}){const u=Wn.toVector(e,r?s:i?1:0);return this.filterTaps=r,this.tapsThreshold=s,u},swipe({velocity:e=gN,distance:t=xN,duration:r=bN}={}){return{velocity:this.transform(Wn.toVector(e)),distance:this.transform(Wn.toVector(t)),duration:r}},delay(e=0){switch(e){case!0:return mN;case!1:return 0;default:return e}},axisThreshold(e){return e?Jn(Jn({},P2),e):P2},keyboardDisplacement(e=yN){return e}});function w6(e){const[t,r]=e.overflow,[s,i]=e._delta,[u,l]=e._direction;(t<0&&s>0&&u<0||t>0&&s<0&&u>0)&&(e._movement[0]=e._movementBound[0]),(r<0&&i>0&&l<0||r>0&&i<0&&l>0)&&(e._movement[1]=e._movementBound[1])}const wN=30,AN=100;class TN extends b6{constructor(...t){super(...t),Is(this,"ingKey","pinching"),Is(this,"aliasKey","da")}init(){this.state.offset=[1,0],this.state.lastOffset=[1,0],this.state._pointerEvents=new Map}reset(){super.reset();const t=this.state;t._touchIds=[],t.canceled=!1,t.cancel=this.cancel.bind(this),t.turns=0}computeOffset(){const{type:t,movement:r,lastOffset:s}=this.state;t==="wheel"?this.state.offset=Wn.add(r,s):this.state.offset=[(1+r[0])*s[0],r[1]+s[1]]}computeMovement(){const{offset:t,lastOffset:r}=this.state;this.state.movement=[t[0]/r[0],t[1]-r[1]]}axisIntent(){const t=this.state,[r,s]=t._movement;if(!t.axis){const i=Math.abs(r)*wN-Math.abs(s);i<0?t.axis="angle":i>0&&(t.axis="scale")}}restrictToAxis(t){this.config.lockDirection&&(this.state.axis==="scale"?t[1]=0:this.state.axis==="angle"&&(t[0]=0))}cancel(){const t=this.state;t.canceled||setTimeout(()=>{t.canceled=!0,t._active=!1,this.compute(),this.emit()},0)}touchStart(t){this.ctrl.setEventIds(t);const r=this.state,s=this.ctrl.touchIds;if(r._active&&r._touchIds.every(u=>s.has(u))||s.size<2)return;this.start(t),r._touchIds=Array.from(s).slice(0,2);const i=M2(t,r._touchIds);i&&this.pinchStart(t,i)}pointerStart(t){if(t.buttons!=null&&t.buttons%2!==1)return;this.ctrl.setEventIds(t),t.target.setPointerCapture(t.pointerId);const r=this.state,s=r._pointerEvents,i=this.ctrl.pointerIds;if(r._active&&Array.from(s.keys()).every(l=>i.has(l))||(s.size<2&&s.set(t.pointerId,t),r._pointerEvents.size<2))return;this.start(t);const u=cp(...Array.from(s.values()));u&&this.pinchStart(t,u)}pinchStart(t,r){const s=this.state;s.origin=r.origin,this.computeValues([r.distance,r.angle]),this.computeInitial(),this.compute(t),this.emit()}touchMove(t){if(!this.state._active)return;const r=M2(t,this.state._touchIds);r&&this.pinchMove(t,r)}pointerMove(t){const r=this.state._pointerEvents;if(r.has(t.pointerId)&&r.set(t.pointerId,t),!this.state._active)return;const s=cp(...Array.from(r.values()));s&&this.pinchMove(t,s)}pinchMove(t,r){const s=this.state,i=s._values[1],u=r.angle-i;let l=0;Math.abs(u)>270&&(l+=Math.sign(u)),this.computeValues([r.distance,r.angle-360*l]),s.origin=r.origin,s.turns=l,s._movement=[s._values[0]/s._initial[0]-1,s._values[1]-s._initial[1]],this.compute(t),this.emit()}touchEnd(t){this.ctrl.setEventIds(t),this.state._active&&this.state._touchIds.some(r=>!this.ctrl.touchIds.has(r))&&(this.state._active=!1,this.compute(t),this.emit())}pointerEnd(t){const r=this.state;this.ctrl.setEventIds(t);try{t.target.releasePointerCapture(t.pointerId)}catch{}r._pointerEvents.has(t.pointerId)&&r._pointerEvents.delete(t.pointerId),r._active&&r._pointerEvents.size<2&&(r._active=!1,this.compute(t),this.emit())}gestureStart(t){t.cancelable&&t.preventDefault();const r=this.state;r._active||(this.start(t),this.computeValues([t.scale,t.rotation]),r.origin=[t.clientX,t.clientY],this.compute(t),this.emit())}gestureMove(t){if(t.cancelable&&t.preventDefault(),!this.state._active)return;const r=this.state;this.computeValues([t.scale,t.rotation]),r.origin=[t.clientX,t.clientY];const s=r._movement;r._movement=[t.scale-1,t.rotation],r._delta=Wn.sub(r._movement,s),this.compute(t),this.emit()}gestureEnd(t){this.state._active&&(this.state._active=!1,this.compute(t),this.emit())}wheel(t){const r=this.config.modifierKey;r&&(Array.isArray(r)?!r.find(s=>t[s]):!t[r])||(this.state._active?this.wheelChange(t):this.wheelStart(t),this.timeoutStore.add("wheelEnd",this.wheelEnd.bind(this)))}wheelStart(t){this.start(t),this.wheelChange(t)}wheelChange(t){"uv"in t||t.cancelable&&t.preventDefault();const s=this.state;s._delta=[-x6(t)[1]/AN*s.offset[0],0],Wn.addTo(s._movement,s._delta),w6(s),this.state.origin=[t.clientX,t.clientY],this.compute(t),this.emit()}wheelEnd(){this.state._active&&(this.state._active=!1,this.compute(),this.emit())}bind(t){const r=this.config.device;r&&(t(r,"start",this[r+"Start"].bind(this)),t(r,"change",this[r+"Move"].bind(this)),t(r,"end",this[r+"End"].bind(this)),t(r,"cancel",this[r+"End"].bind(this)),t("lostPointerCapture","",this[r+"End"].bind(this))),this.config.pinchOnWheel&&t("wheel","",this.wheel.bind(this),{passive:!1})}}const SN=Jn(Jn({},y6),{},{device(e,t,{shared:r,pointer:{touch:s=!1}={}}){if(r.target&&!Bo.touch&&Bo.gesture)return"gesture";if(Bo.touch&&s)return"touch";if(Bo.touchscreen){if(Bo.pointer)return"pointer";if(Bo.touch)return"touch"}},bounds(e,t,{scaleBounds:r={},angleBounds:s={}}){const i=l=>{const h=B2(Sd(r,l),{min:-1/0,max:1/0});return[h.min,h.max]},u=l=>{const h=B2(Sd(s,l),{min:-1/0,max:1/0});return[h.min,h.max]};return typeof r!="function"&&typeof s!="function"?[i(),u()]:l=>[i(l),u(l)]},threshold(e,t,r){return this.lockDirection=r.axis==="lock",Wn.toVector(e,this.lockDirection?[.1,3]:0)},modifierKey(e){return e===void 0?"ctrlKey":e},pinchOnWheel(e=!0){return e}});class CN extends ou{constructor(...t){super(...t),Is(this,"ingKey","moving")}move(t){this.config.mouseOnly&&t.pointerType!=="mouse"||(this.state._active?this.moveChange(t):this.moveStart(t),this.timeoutStore.add("moveEnd",this.moveEnd.bind(this)))}moveStart(t){this.start(t),this.computeValues(H0(t)),this.compute(t),this.computeInitial(),this.emit()}moveChange(t){if(!this.state._active)return;const r=H0(t),s=this.state;s._delta=Wn.sub(r,s._values),Wn.addTo(s._movement,s._delta),this.computeValues(r),this.compute(t),this.emit()}moveEnd(t){this.state._active&&(this.state._active=!1,this.compute(t),this.emit())}bind(t){t("pointer","change",this.move.bind(this)),t("pointer","leave",this.moveEnd.bind(this))}}const _N=Jn(Jn({},t0),{},{mouseOnly:(e=!0)=>e});class LN extends ou{constructor(...t){super(...t),Is(this,"ingKey","scrolling")}scroll(t){this.state._active||this.start(t),this.scrollChange(t),this.timeoutStore.add("scrollEnd",this.scrollEnd.bind(this))}scrollChange(t){t.cancelable&&t.preventDefault();const r=this.state,s=eN(t);r._delta=Wn.sub(s,r._values),Wn.addTo(r._movement,r._delta),this.computeValues(s),this.compute(t),this.emit()}scrollEnd(){this.state._active&&(this.state._active=!1,this.compute(),this.emit())}bind(t){t("scroll","",this.scroll.bind(this))}}const IN=t0;class kN extends ou{constructor(...t){super(...t),Is(this,"ingKey","wheeling")}wheel(t){this.state._active||this.start(t),this.wheelChange(t),this.timeoutStore.add("wheelEnd",this.wheelEnd.bind(this))}wheelChange(t){const r=this.state;r._delta=x6(t),Wn.addTo(r._movement,r._delta),w6(r),this.compute(t),this.emit()}wheelEnd(){this.state._active&&(this.state._active=!1,this.compute(),this.emit())}bind(t){t("wheel","",this.wheel.bind(this))}}const EN=t0;class RN extends ou{constructor(...t){super(...t),Is(this,"ingKey","hovering")}enter(t){this.config.mouseOnly&&t.pointerType!=="mouse"||(this.start(t),this.computeValues(H0(t)),this.compute(t),this.emit())}leave(t){if(this.config.mouseOnly&&t.pointerType!=="mouse")return;const r=this.state;if(!r._active)return;r._active=!1;const s=H0(t);r._movement=r._delta=Wn.sub(s,r._values),this.computeValues(s),this.compute(t),r.delta=r.movement,this.emit()}bind(t){t("pointer","enter",this.enter.bind(this)),t("pointer","leave",this.leave.bind(this))}}const MN=Jn(Jn({},t0),{},{mouseOnly:(e=!0)=>e}),a1=new Map,up=new Map;function A6(e){a1.set(e.key,e.engine),up.set(e.key,e.resolver)}const T6={key:"drag",engine:lN,resolver:vN},NN={key:"hover",engine:RN,resolver:MN},DN={key:"move",engine:CN,resolver:_N},BN={key:"pinch",engine:TN,resolver:SN},QN={key:"scroll",engine:LN,resolver:IN},jN={key:"wheel",engine:kN,resolver:EN};function PN(e,t){if(e==null)return{};var r={},s=Object.keys(e),i,u;for(u=0;u<s.length;u++)i=s[u],!(t.indexOf(i)>=0)&&(r[i]=e[i]);return r}function ON(e,t){if(e==null)return{};var r=PN(e,t),s,i;if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(i=0;i<u.length;i++)s=u[i],!(t.indexOf(s)>=0)&&Object.prototype.propertyIsEnumerable.call(e,s)&&(r[s]=e[s])}return r}const FN={target(e){if(e)return()=>"current"in e?e.current:e},enabled(e=!0){return e},window(e=Bo.isBrowser?window:void 0){return e},eventOptions({passive:e=!0,capture:t=!1}={}){return{passive:e,capture:t}},transform(e){return e}},UN=["target","eventOptions","window","enabled","transform"];function sd(e={},t){const r={};for(const[s,i]of Object.entries(t))switch(typeof i){case"function":r[s]=i.call(r,e[s],s,e);break;case"object":r[s]=sd(e[s],i);break;case"boolean":i&&(r[s]=e[s]);break}return r}function $N(e,t,r={}){const s=e,{target:i,eventOptions:u,window:l,enabled:h,transform:p}=s,g=ON(s,UN);if(r.shared=sd({target:i,eventOptions:u,window:l,enabled:h,transform:p},FN),t){const x=up.get(t);r[t]=sd(Jn({shared:r.shared},g),x)}else for(const x in g){const b=up.get(x);b&&(r[x]=sd(Jn({shared:r.shared},g[x]),b))}return r}class S6{constructor(t,r){Is(this,"_listeners",new Set),this._ctrl=t,this._gestureKey=r}add(t,r,s,i,u){const l=this._listeners,h=YM(r,s),p=this._gestureKey?this._ctrl.config[this._gestureKey].eventOptions:{},g=Jn(Jn({},p),u);t.addEventListener(h,i,g);const x=()=>{t.removeEventListener(h,i,g),l.delete(x)};return l.add(x),x}clean(){this._listeners.forEach(t=>t()),this._listeners.clear()}}class zN{constructor(){Is(this,"_timeouts",new Map)}add(t,r,s=140,...i){this.remove(t),this._timeouts.set(t,window.setTimeout(r,s,...i))}remove(t){const r=this._timeouts.get(t);r&&window.clearTimeout(r)}clean(){this._timeouts.forEach(t=>{window.clearTimeout(t)}),this._timeouts.clear()}}class HN{constructor(t){Is(this,"gestures",new Set),Is(this,"_targetEventStore",new S6(this)),Is(this,"gestureEventStores",{}),Is(this,"gestureTimeoutStores",{}),Is(this,"handlers",{}),Is(this,"config",{}),Is(this,"pointerIds",new Set),Is(this,"touchIds",new Set),Is(this,"state",{shared:{shiftKey:!1,metaKey:!1,ctrlKey:!1,altKey:!1}}),WN(this,t)}setEventIds(t){if(Vd(t))return this.touchIds=new Set(JM(t)),this.touchIds;if("pointerId"in t)return t.type==="pointerup"||t.type==="pointercancel"?this.pointerIds.delete(t.pointerId):t.type==="pointerdown"&&this.pointerIds.add(t.pointerId),this.pointerIds}applyHandlers(t,r){this.handlers=t,this.nativeHandlers=r}applyConfig(t,r){this.config=$N(t,r,this.config)}clean(){this._targetEventStore.clean();for(const t of this.gestures)this.gestureEventStores[t].clean(),this.gestureTimeoutStores[t].clean()}effect(){return this.config.shared.target&&this.bind(),()=>this._targetEventStore.clean()}bind(...t){const r=this.config.shared,s={};let i;if(!(r.target&&(i=r.target(),!i))){if(r.enabled){for(const l of this.gestures){const h=this.config[l],p=O2(s,h.eventOptions,!!i);if(h.enabled){const g=a1.get(l);new g(this,t,l).bind(p)}}const u=O2(s,r.eventOptions,!!i);for(const l in this.nativeHandlers)u(l,"",h=>this.nativeHandlers[l](Jn(Jn({},this.state.shared),{},{event:h,args:t})),void 0,!0)}for(const u in s)s[u]=nN(...s[u]);if(!i)return s;for(const u in s){const{device:l,capture:h,passive:p}=ZM(u);this._targetEventStore.add(i,l,"",s[u],{capture:h,passive:p})}}}}function A0(e,t){e.gestures.add(t),e.gestureEventStores[t]=new S6(e,t),e.gestureTimeoutStores[t]=new zN}function WN(e,t){t.drag&&A0(e,"drag"),t.wheel&&A0(e,"wheel"),t.scroll&&A0(e,"scroll"),t.move&&A0(e,"move"),t.pinch&&A0(e,"pinch"),t.hover&&A0(e,"hover")}const O2=(e,t,r)=>(s,i,u,l={},h=!1)=>{var p,g;const x=(p=l.capture)!==null&&p!==void 0?p:t.capture,b=(g=l.passive)!==null&&g!==void 0?g:t.passive;let v=h?s:VM(s,i,x);r&&b&&(v+="Passive"),e[v]=e[v]||[],e[v].push(u)},GN=/^on(Drag|Wheel|Scroll|Move|Pinch|Hover)/;function VN(e){const t={},r={},s=new Set;for(let i in e)GN.test(i)?(s.add(RegExp.lastMatch),r[i]=e[i]):t[i]=e[i];return[r,t,s]}function T0(e,t,r,s,i,u){if(!e.has(r)||!a1.has(s))return;const l=r+"Start",h=r+"End",p=g=>{let x;return g.first&&l in t&&t[l](g),r in t&&(x=t[r](g)),g.last&&h in t&&t[h](g),x};i[s]=p,u[s]=u[s]||{}}function qN(e,t){const[r,s,i]=VN(e),u={};return T0(i,r,"onDrag","drag",u,t),T0(i,r,"onWheel","wheel",u,t),T0(i,r,"onScroll","scroll",u,t),T0(i,r,"onPinch","pinch",u,t),T0(i,r,"onMove","move",u,t),T0(i,r,"onHover","hover",u,t),{handlers:u,config:t,nativeHandlers:s}}function C6(e,t={},r,s){const i=S.useMemo(()=>new HN(e),[]);if(i.applyHandlers(e,s),i.applyConfig(t,r),S.useEffect(i.effect.bind(i)),S.useEffect(()=>i.clean.bind(i),[]),t.target===void 0)return i.bind.bind(i)}function F2(e,t){return A6(T6),C6({drag:e},t||{},"drag")}function ZN(e){return e.forEach(A6),function(r,s){const{handlers:i,nativeHandlers:u,config:l}=qN(r,s||{});return C6(i,l,void 0,u)}}function RQ(e,t){return ZN([T6,BN,QN,jN,DN,NN])(e,t||{})}const U2={dampingRatio:.8,response:.3},YN=.998;function KN(e,t,r,s){const i=2*Math.PI/Math.max(e.response,.001),u=t-s,l=r,h=e.dampingRatio;if(Math.abs(h-1)<1e-4){const A=u,k=l+i*u;return{value:I=>s+(A+k*I)*Math.exp(-i*I),velocity:I=>(k-i*(A+k*I))*Math.exp(-i*I)}}if(h<1){const A=i*Math.sqrt(1-h*h),k=u,I=(l+h*i*u)/A;return{value:R=>s+Math.exp(-h*i*R)*(k*Math.cos(A*R)+I*Math.sin(A*R)),velocity:R=>Math.exp(-h*i*R)*((I*A-h*i*k)*Math.cos(A*R)-(k*A+h*i*I)*Math.sin(A*R))}}const p=i*Math.sqrt(h*h-1),g=-h*i+p,x=-h*i-p,b=(l-x*u)/(g-x),v=u-b;return{value:A=>s+b*Math.exp(g*A)+v*Math.exp(x*A),velocity:A=>b*g*Math.exp(g*A)+v*x*Math.exp(x*A)}}function XN(e,t=YN){return e/1e3*(t/(1-t))}function $2(e,t,r=.55){return e*t*r/(t+r*Math.abs(e))}function JN(){return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}const eD=.1,tD=5;function rD(e,t,r,s,i){const u=KN(e,t,r,s),l=1e3/60,h=240,p=[];for(let g=0;g<h;g++){const x=g*l/1e3,b=u.value(x),v=u.velocity(x);if(p.push(i?i(b):b),g>0&&Math.abs(b-s)<eD&&Math.abs(v)<tD)break}return p.push(i?i(s):s),{frames:p,durationMs:(p.length-1)*l,solver:u}}const nD='input:not([type="hidden"]), textarea, select, [contenteditable]:not([contenteditable="false"])';function sD(){if(typeof document>"u")return;const e=document.activeElement;e instanceof HTMLElement&&e.matches(nD)&&e.blur()}const iD=18,z2=8,H2={touch:z2,pen:z2},oD=500,gf=200,W2=50,aD=`[${i8}]`;function xf(e,t,r){return Math.min(r,Math.max(t,e))}function G2(e){if(!e||typeof e!="object")return!1;const t=e;return typeof t.pointerType=="string"?t.pointerType==="touch"||t.pointerType==="pen":typeof t.type=="string"&&t.type.startsWith("touch")}function V2(e){if(!e||typeof e!="object")return!1;const t=e.target;return t instanceof Element&&!!t.closest(aD)}function _c(...e){typeof window<"u"&&window.__SIDEBAR_DEBUG__&&console.log("[Sidebar]",...e)}const _6=S.forwardRef(function({side:t,isOpen:r,drawerWidthPx:s,onClose:i,onOpen:u,children:l,pinned:h=!1},p){const{t:g}=ln(),x=t==="left",b=x?-s:s,v=_.useRef(null),A=_.useRef(null),k=_.useRef(r?0:b),I=_.useRef(null),R=_.useRef(null),M=_.useRef(0),B=_.useRef(null),F=_.useRef(null),W=_.useRef(!1),O=_.useRef(null),q=_.useRef(!1),ee=_.useRef([]),de=_.useRef(null),Ae=_.useRef(k.current),Le=_.useRef(r?1:0),ve=_.useRef(r);ve.current=r;const Ye=_.useRef(b);Ye.current=b;const Te=_.useRef(s);Te.current=s;const fe=_.useRef(x);fe.current=x;const je=_.useRef(i);je.current=i;const be=_.useRef(u);be.current=u;const ie=_.useCallback(xe=>{v.current=xe,typeof p=="function"?p(xe):p&&(p.current=xe)},[p]),oe=_.useCallback(()=>{R.current!==null&&(window.cancelAnimationFrame(R.current),R.current=null),I.current=null},[]),Ie=_.useCallback(xe=>{const De=Te.current;return fe.current?(xe+De)/De:(De-xe)/De},[]),ke=_.useCallback(xe=>{const De=A.current;De&&(De.style.opacity=String(xf(Ie(xe),0,1)))},[Ie]),qe=_.useCallback(xe=>{k.current=xe;const De=v.current;De&&(De.style.transform=`translateX(${xe}px)`,ke(xe))},[ke]),se=_.useCallback(xe=>{I.current=xe,R.current===null&&(R.current=window.requestAnimationFrame(()=>{R.current=null;const De=I.current;I.current=null,De!==null&&qe(De)}))},[qe]),Se=_.useCallback(()=>{R.current!==null&&(window.cancelAnimationFrame(R.current),R.current=null);const xe=I.current;I.current=null,xe!==null&&qe(xe)},[qe]),Lt=_.useCallback(xe=>{const De=Ye.current;return xf(xe,Math.min(0,De),Math.max(0,De))},[]),Dt=_.useCallback(()=>{const xe=B.current;if(!xe)return null;B.current=null;const De=(performance.now()-xe.startTime)/1e3,At={value:xe.solver.value(De),velocity:xe.solver.velocity(De)};return xe.animations.forEach(Ke=>Ke.cancel()),At},[]),Ue=_.useCallback(()=>{F.current!==null&&(window.clearTimeout(F.current),F.current=null)},[]),Z=_.useCallback(()=>{de.current?.(),de.current=null},[]),rt=_.useCallback(()=>{Se(),Ue();const xe=Dt();xe&&qe(Lt(xe.value));const De=v.current,At=A.current;De?.getAnimations().forEach(Ke=>Ke.cancel()),De&&(De.style.transition="none",De.style.opacity="1"),At?.getAnimations().forEach(Ke=>Ke.cancel()),At&&(At.style.transition="none")},[qe,Ue,Lt,Se,Dt]),gt=_.useCallback((xe,De)=>{Se(),Ue();const At=v.current,Ke=A.current,at=xe?0:Ye.current;Ke&&(Ke.style.pointerEvents=xe?"auto":"none");const kt=Dt(),tr=kt?Lt(kt.value):k.current,pr=De?.velocity??kt?.velocity??0;if(JN())return k.current=at,At&&(At.style.transition=`opacity ${gf}ms ease`,At.style.opacity=xe?"1":"0",At.style.transform=`translateX(${at}px)`),Ke&&(Ke.style.transition=`opacity ${gf}ms ease`,Ke.style.opacity=xe?"1":"0"),gf;At&&(At.style.transition="none",At.style.opacity="1"),Ke&&(Ke.style.transition="none");const nt=Math.abs(De?.velocity??0)>oD,{frames:ft,durationMs:_t,solver:Tt}=rD({dampingRatio:nt?U2.dampingRatio:1,response:U2.response},tr,pr,at,Lt);if(!At||Math.abs(tr-at)<.5&&Math.abs(pr)<5)return qe(at),0;const Qt=At.animate(ft.map(pe=>({transform:`translateX(${pe}px)`})),{duration:_t,easing:"linear",fill:"forwards"}),j=[Qt];return Ke&&j.push(Ke.animate(ft.map(pe=>({opacity:String(xf(Ie(pe),0,1))})),{duration:_t,easing:"linear",fill:"forwards"})),B.current={solver:Tt,startTime:performance.now(),target:at,animations:j},_c("spring start",{startX:tr,startVelocity:pr,targetX:at,frames:ft.length,durationMs:_t}),Qt.onfinish=()=>{const pe=B.current;!pe||!pe.animations.includes(Qt)||(B.current=null,qe(at),pe.animations.forEach(Oe=>Oe.cancel()),_c("spring finish",{targetX:at}))},_t},[qe,Ue,Lt,Se,Ie,Dt]),J=_.useCallback(xe=>{Se();const De=xe,At=0,Ke=Ye.current,at=k.current+XN(De),kt=Math.abs(at-At)<=Math.abs(at-Ke);_c("decideSnap",{velocity:De,currentX:k.current,projected:at,shouldOpen:kt});const tr=gt(kt,{velocity:De});return kt&&!ve.current?F.current=window.setTimeout(()=>{F.current=null,be.current?.()},tr+W2):!kt&&ve.current&&(F.current=window.setTimeout(()=>{F.current=null,je.current()},tr+W2)),kt},[gt,Se]),K=_.useCallback(xe=>{const De=Ye.current,At=Math.min(0,De),Ke=Math.max(0,De),at=Te.current;return xe<At?At-$2(At-xe,at):xe>Ke?Ke+$2(xe-Ke,at):xe},[]),Fe=_.useCallback(xe=>{const De=ee.current,At=performance.now();De.push({t:At,x:xe});const Ke=At-120;for(;De.length>0&&De[0].t<Ke;)De.shift()},[]),Je=_.useCallback(()=>{const xe=ee.current;if(xe.length<2)return 0;const De=xe[xe.length-1];if(performance.now()-De.t>60)return 0;const At=xe[0],Ke=(De.t-At.t)/1e3;return Ke<.016?0:(De.x-At.x)/Ke},[]);_.useEffect(()=>{Ue();const xe=B.current,De=r?0:Ye.current;xe&&xe.target===De||gt(r)},[r,gt,Ue]),_.useEffect(()=>{rt(),se(ve.current?0:b)},[b,rt,se]),_.useEffect(()=>()=>{oe(),Ue(),Dt(),Z()},[Ue,oe,Z,Dt]);const vt=F2(({active:xe,cancel:De,first:At,last:Ke,movement:[at],event:kt})=>{if(_c("bindPanel",{active:xe,first:At,last:Ke,mx:at}),!G2(kt)){De();return}if(At){if(Z(),W.current=!1,O.current=null,ee.current=[],V2(kt)){De();return}const tr=v.current,pr=tr?o8(kt.target,tr):null;if(!pr||a8()){De();return}const nt=l8(pr,at,fe.current?-1:1);if(_c("arbitrate",{owner:nt.kind,mx:at}),nt.kind==="swiper"){de.current=c8(nt.instance),De();return}if(nt.kind==="scroller"){const ft=u8(nt.element);if(ft)O.current=ft;else{De();return}}O.current||(W.current=!0,rt(),M.current=k.current)}if(!xe){O.current=null,W.current&&(W.current=!1,J(Je()));return}if(O.current){d8(O.current,at);return}if(W.current){const tr=K(M.current+at);Fe(tr),se(tr)}},{axis:"x",axisThreshold:H2,filterTaps:!0,pointer:{touch:!0}}),xt=F2(({active:xe,cancel:De,first:At,movement:[Ke],event:at})=>{if(!G2(at)){De();return}if(ve.current){De();return}if(At&&(q.current=!0,ee.current=[],rt(),M.current=k.current),!xe){q.current&&(q.current=!1,J(Je())&&sD());return}if(q.current){const kt=K(M.current+Ke);Fe(kt),se(kt)}},{axis:"x",axisThreshold:H2,filterTaps:!0,pointer:{touch:!0}}),Ct=_.useCallback(xe=>{xe.preventDefault(),xe.stopPropagation(),ve.current||be.current?.()},[]);if(h)return c.jsx("aside",{ref:ie,"data-sidebar":t,"data-sidebar-pinned":"true",className:"relative flex h-full min-h-0 w-full flex-col app-chrome-bg",children:l});const he=vt();return c.jsxs(c.Fragment,{children:[c.jsx("div",{...xt(),style:{position:"fixed",top:"1.5rem",bottom:"10rem",...x?{left:0}:{right:0},width:iD,zIndex:"var(--z-chrome-hint)",touchAction:"none",pointerEvents:r?"none":"auto"},onClick:Ct,"aria-label":g(x?"sidebar.openLeftSidebar":"sidebar.openRightSidebar")}),c.jsx("div",{ref:A,"data-sidebar-backdrop":t,className:"fixed inset-0 z-sidebar-backdrop bg-[var(--app-backdrop)] cursor-default",style:{opacity:Le.current,pointerEvents:r?"auto":"none",transition:"none",willChange:"opacity"},onClick:i,"aria-label":g("sidebar.closeSidebar")}),c.jsx("aside",{...he,onClickCapture:xe=>{V2(xe)||he.onClickCapture?.(xe)},ref:ie,"data-sidebar":t,className:`fixed inset-y-0 z-sidebar-panel flex flex-col chrome-glow-panel will-change-transform ${x?"border-r border-border/15":"border-l border-border/15"}`,style:{...x?{left:0}:{right:0},width:s,maxWidth:"94vw",transform:`translateX(${Ae.current}px)`,transition:"none",touchAction:"pan-y",pointerEvents:r?"auto":"none",paddingTop:"var(--safe-top-inset, env(safe-area-inset-top, 0px))",paddingBottom:"var(--safe-bottom-inset, env(safe-area-inset-bottom, 0px))",...x?{paddingLeft:"var(--safe-left-inset, env(safe-area-inset-left, 0px))"}:{paddingRight:"var(--safe-right-inset, env(safe-area-inset-right, 0px))"}},children:l})]})});function lD(e){return e.agentStatus==="waiting"||e.agentNeedsReview===!0}function cD(e,t,r,s="next"){if(e.length===0)return null;const i=t?e.findIndex(u=>u.sessionId===t):-1;for(let u=1;u<=e.length;u+=1){const l=s==="next"?u:-u,h=(i+l+e.length)%e.length,p=e[h];if(p&&r(p))return p.sessionId}return null}function uD(e,t,r="next"){return cD(e,t,lD,r)}const po=42,Cd=20,dD=10;function dp(e,t,r){return Math.min(r,Math.max(t,e))}function qd(e){const t=Math.max(0,e.safeTop??0),r=Math.max(0,e.safeRight??0),s=Math.max(0,e.safeBottom??0),i=Math.max(0,e.safeLeft??0),u=Math.max(0,e.bottomClearance??72),l=i+Cd,h=Math.max(l,e.width-r-Cd-po),p=Math.max(t+12,52),g=Math.max(p,e.height-s-u-po);return{minX:l,maxX:h,minY:p,maxY:g}}function q2(e,t){const r=qd(e),s=dp(t.yRatio,0,1);return{x:t.side==="left"?r.minX:r.maxX,y:r.minY+(r.maxY-r.minY)*s}}function Zl(e,t){const r=qd(e);return{x:dp(t.x,r.minX,r.maxX),y:dp(t.y,r.minY,r.maxY)}}function Z2(e,t){const r=qd(e),s=Zl(e,t),i=(r.minX+r.maxX+po)/2,u=s.x+po/2<i?"left":"right",l=r.maxY-r.minY;return{position:{x:u==="left"?r.minX:r.maxX,y:s.y},preference:{side:u,yRatio:l>0?(s.y-r.minY)/l:0}}}function Y2(e,t,r){const s=Zl(e,t),i=po+dD,u=g=>Math.abs(g.x-r.x)<i&&Math.abs(g.y-r.y)<i;if(!u(s))return s;const l=[{...s,y:r.y-i},{...s,y:r.y+i}].map(g=>Zl(e,g)).filter(g=>!u(g)).sort((g,x)=>Math.abs(g.y-s.y)-Math.abs(x.y-s.y));if(l[0])return l[0];const h=qd(e);return[{...s,x:h.minX},{...s,x:h.maxX}].map(g=>Zl(e,g)).filter(g=>!u(g)).sort((g,x)=>Math.abs(g.x-s.x)-Math.abs(x.x-s.x))[0]??s}const bf="var(--warning)",hD="var(--success)",K2="var(--tmux)",X2="termdock:mobile-attention-position:v1",J2="termdock:running-session-position:v1",fD={side:"right",yRatio:.68},pD={side:"right",yRatio:.54};function e5(e,t){if(typeof window>"u")return t;try{const r=JSON.parse(window.localStorage.getItem(e)??"null");if(r&&(r.side==="left"||r.side==="right")&&typeof r.yRatio=="number"&&Number.isFinite(r.yRatio))return{side:r.side,yRatio:Math.min(1,Math.max(0,r.yRatio))}}catch{}return t}function mD(e,t){try{window.localStorage.setItem(e,JSON.stringify(t))}catch{}}function $u(e){if(typeof document>"u")return 0;const t=Number.parseFloat(getComputedStyle(document.documentElement).getPropertyValue(e));return Number.isFinite(t)?Math.max(0,t):0}function gD(e,t,r={}){if(typeof window>"u")return{width:390,height:664};const s=window.visualViewport,i=s?.width??window.innerWidth,u=s?.height??window.innerHeight,l=t?.getBoundingClientRect(),h=!!(l&&l.width>0&&l.height>0);return{width:i,height:u,safeTop:Math.max($u("--safe-top-inset"),(h?Math.max(0,l.top):0)+Math.max(0,r.top??0)),safeRight:Math.max($u("--safe-right-inset"),(h?Math.max(0,i-l.right):0)+Math.max(0,r.right??0)),safeBottom:Math.max($u("--safe-bottom-inset"),(h?Math.max(0,u-l.bottom):0)+Math.max(0,r.bottom??0)),safeLeft:Math.max($u("--safe-left-inset"),(h?Math.max(0,l.left):0)+Math.max(0,r.left??0)),bottomClearance:e?Cd:72}}function L6(){const e=Er.getState(),t=Array.from(e.sessions.values()),r=uD(t,e.activeSessionId);if(!r)return;const s=e.activeSessionId?e.sessions.get(e.activeSessionId):void 0;s?.agentNeedsReview&&e.clearAgentNeedsReview(s.sessionId),window.dispatchEvent(new CustomEvent("switch-terminal-session",{detail:r}))}function t5(e){window.dispatchEvent(new CustomEvent("switch-terminal-session",{detail:e}))}function I6(e){switch(e){case"success":return"var(--success)";case"warning":return"var(--warning)";case"danger":return"var(--destructive)";case"info":case"accent":return"var(--accent)";default:return"var(--muted-foreground)"}}function xD({indicator:e,tone:t,size:r}){const s=I6(t);switch(e){case"spinner":return c.jsx(Xr,{size:r,className:"shrink-0 animate-spin",style:{color:s}});case"question":return c.jsx(id,{size:r,className:"shrink-0 animate-bounce-y",style:{color:s}});case"badge":return c.jsx(Cl,{size:r+1,className:"shrink-0 animate-pulse",style:{color:s}});case"terminal":return c.jsx(na,{size:r,className:"shrink-0",style:{color:s}});case"pulse":return c.jsx(O8,{size:r,className:"shrink-0 animate-pulse",style:{color:s}});case"ring":return c.jsx("span",{className:"block shrink-0 rounded-full border-2",style:{width:r,height:r,borderColor:s}});case"dot":return c.jsx("span",{className:"block shrink-0 rounded-full",style:{width:Math.max(5,r-4),height:Math.max(5,r-4),backgroundColor:s}})}}function Yl({agent:e,size:t=12}){const r=t-4;if(!e.icon)return c.jsx("span",{className:"flex shrink-0 items-center justify-center rounded-[3px]",style:{width:t,height:t,backgroundColor:e.accentColor},title:e.displayName,children:c.jsx(Ed,{size:r,className:"text-white"})});let s;return e.isPlugin?(s=`/api/terminal/agent-plugin-icon/${e.slug}`,e.iconVersion&&(s+=`?v=${Math.floor(e.iconVersion)}`)):s=`/icons/agents/${e.icon}.svg`,e.iconMode==="native"?c.jsx("span",{className:"flex shrink-0 items-center justify-center rounded-[3px]",style:{width:t,height:t},title:e.displayName,children:c.jsx("img",{src:s,alt:e.displayName,style:{width:r,height:r}})}):c.jsx("span",{className:"flex shrink-0 items-center justify-center rounded-[3px]",style:{width:t,height:t,backgroundColor:e.accentColor},title:e.displayName,children:c.jsx("span",{className:"block bg-white",style:{width:r,height:r,WebkitMask:`url(${s}) center / contain no-repeat`,mask:`url(${s}) center / contain no-repeat`}})})}function bD({sessionMode:e,state:t,size:r=11}){const s=t?.agent?c.jsx(Yl,{agent:t.agent,size:r+1}):e==="tmux"?c.jsx(O0,{size:r,className:"shrink-0"}):c.jsx(na,{size:r,className:"shrink-0"});return t?.agentStatusDetail&&t.agentIndicator&&!(t.agentStatus==="done"&&t.agentNeedsReview)?c.jsx("span",{title:t.agentMessage??t.agentStatusDetail.label,"aria-label":t.agentStatusDetail.label,children:c.jsx(xD,{indicator:t.agentIndicator,tone:t.agentStatusDetail.tone,size:r})}):t?.agentStatus==="working"?c.jsx("span",{title:t.agentMessage??t.agent?.displayName,children:c.jsx(Xr,{size:r,className:"shrink-0 animate-spin",style:{color:hD}})}):t?.agentStatus==="waiting"?c.jsx("span",{title:t.agentMessage??void 0,children:c.jsx(id,{size:r,className:"shrink-0 animate-bounce-y",style:{color:bf}})}):t?.agentStatus==="done"&&t.agentNeedsReview?c.jsx("span",{title:t.agentMessage??void 0,children:c.jsx(Cl,{size:r+1,className:"shrink-0 animate-pulse",style:{color:bf}})}):t?.agentNeedsReview?c.jsx("span",{title:t.agentMessage??void 0,children:c.jsx(Cl,{size:r+1,className:"shrink-0 animate-pulse",style:{color:bf}})}):t?.inCopyMode?e==="tmux"?c.jsx(O0,{size:r,className:"shrink-0 animate-pulse",style:{color:K2}}):c.jsx(na,{size:r,className:"shrink-0 animate-pulse",style:{color:K2}}):s}function yD({status:e,detail:t,needsReview:r,inCopyMode:s}){const{t:i}=ln();return t&&!r?c.jsx("span",{className:"absolute right-0.5 top-0.5 h-2.5 w-2.5 rounded-full ring-2 ring-surface animate-pulse",style:{backgroundColor:I6(t.tone)},title:t.label}):e==="working"?c.jsx("span",{className:"absolute right-0.5 top-0.5 h-2.5 w-2.5 rounded-full bg-[var(--success)] ring-2 ring-surface shadow-[0_0_6px_rgb(var(--success-rgb)_/_0.50)] animate-pulse",title:i("agent.aiRunning")}):e==="waiting"||r?c.jsx("span",{className:"absolute right-0.5 top-0.5 h-2.5 w-2.5 rounded-full bg-[var(--warning)] ring-2 ring-surface shadow-[0_0_0_1px_rgb(var(--warning-rgb)_/_0.24)] animate-pulse",title:i(r?"agent.finishedReview":"agent.aiWaiting")}):e==="done"&&r?c.jsx("span",{className:"absolute right-0.5 top-0.5 h-2.5 w-2.5 rounded-full bg-[var(--warning)] ring-2 ring-surface shadow-[0_0_0_1px_rgb(var(--warning-rgb)_/_0.24)] animate-pulse",title:i("agent.finishedReview")}):s?c.jsx("span",{className:"absolute right-0.5 top-0.5 h-2.5 w-2.5 rounded-[2px] bg-[var(--tmux)] ring-2 ring-surface",title:i("agent.copyMode")}):null}function k6({count:e,tone:t,title:r}){const{t:s}=ln();if(e<=0)return null;const i=t==="running"?"inline-flex items-center gap-1 rounded-full bg-[rgb(var(--success-rgb)_/_0.12)] px-1.5 py-0.5 text-[10px] font-medium text-[color:var(--success)]":"inline-flex min-h-6 items-center gap-1 rounded-full bg-[rgb(var(--warning-rgb)_/_0.14)] px-2 py-0.5 text-[10px] font-semibold text-[color:var(--warning)] ring-1 ring-[rgb(var(--warning-rgb)_/_0.24)] transition hover:bg-[rgb(var(--warning-rgb)_/_0.22)] active:scale-[0.97]",u=t==="running"?"h-1.5 w-1.5 rounded-full bg-[var(--success)] animate-pulse":"h-1.5 w-1.5 rounded-full bg-[var(--warning)] animate-pulse";if(t==="review"){const l=r??s("agent.jumpToNext");return c.jsxs("button",{type:"button",className:i,title:`${l} · ${s("agent.jumpToNext")}`,"aria-label":`${l}: ${e}. ${s("agent.jumpToNext")}`,onClick:L6,children:[c.jsx(Cl,{size:11,className:"shrink-0"}),c.jsx("span",{children:s("agent.needsReview")}),c.jsx("span",{className:"tabular-nums",children:e})]})}return c.jsxs("span",{className:i,title:r,children:[c.jsx("span",{className:u}),e]})}function vD({runningCount:e,reviewCount:t,className:r=""}){const s=[];return e>0&&s.push({key:"running",count:e,className:"bg-[var(--success)] text-[color:var(--success-foreground)]"}),t>0&&s.push({key:"review",count:t,className:"bg-[var(--warning)] text-[color:var(--warning-foreground)]"}),s.length===0?null:c.jsx("span",{"aria-hidden":"true",className:`pointer-events-none absolute -right-1 ${s.length>1?"top-0.5 flex flex-col gap-0.5":"-top-1"} ${r}`,children:s.map(i=>c.jsx("span",{className:`flex h-3 min-w-3 items-center justify-center rounded-full px-0.5 text-[7px] font-bold leading-3 shadow-sm ring-1 ring-background ${i.className}`,children:i.count>9?"9+":i.count},i.key))})}const wD=380,r5=10,zu=10,yf=52,AD=104;function TD(e,t,r){const s=Math.max(0,t.safeLeft??0),i=t.width-Math.max(0,t.safeRight??0),u=Math.max(0,t.safeTop??0),l=t.height-Math.max(0,t.safeBottom??0),h=Cd,p=e.x+po/2>=s+(i-s)/2,g=p?e.x-zu-s-h:i-h-e.x-po-zu,x=Math.max(1,Math.min(Math.max(0,g),Math.max(168,r*AD))),b=p?e.x-zu-x:e.x+po+zu,v=Math.min(Math.max(b,s+h),Math.max(s+h,i-h-x)),A=e.y+po/2-yf/2,k=Math.min(Math.max(A,u+h),Math.max(u+h,l-h-yf));return{left:v,top:k,width:x,height:yf,itemWidth:x/Math.max(1,r),side:p?"left":"right"}}function n5(e,t,r,s){return t<e.left||t>e.left+e.width||r<e.top-14||r>e.top+e.height+14?null:Math.min(s-1,Math.max(0,Math.floor((t-e.left)/e.itemWidth)))}function SD(e,t){if(e.length===0)return null;const r=t?e.findIndex(s=>s.id===t):-1;return e[(r+1)%e.length]?.id??null}function CD({reviewCount:e,runningSessions:t,activeSessionId:r,runningButtonEnabled:s,isDesktopLayout:i,containerElement:u,occlusionInsets:l}){const{t:h}=ln(),p=$t(J=>J.leftOpen),g=$t(J=>J.rightOpen),{isOpen:x}=z3({enabled:!i}),b=i||!p&&!g&&!x,v=e>0&&b,A=t.length>1||t.length===1&&t[0]?.id!==r,k=s&&t.length>0&&A&&b,I=Math.max(0,l?.top??0),R=Math.max(0,l?.right??0),M=Math.max(0,l?.bottom??0),B=Math.max(0,l?.left??0),F=S.useCallback(()=>gD(i,u,{top:I,right:R,bottom:M,left:B}),[u,i,M,B,R,I]),W=S.useRef({attention:e5(X2,fD),running:e5(J2,pD)}),O=S.useCallback(()=>{const J=F(),K=q2(J,W.current.attention),Fe=q2(J,W.current.running);return{attention:K,running:v&&k?Y2(J,Fe,K):Fe}},[v,F,k]),[q,ee]=S.useState(()=>O()),de=S.useRef(q);de.current=q;const[Ae,Le]=S.useState(null),ve=S.useRef(null),[Ye,Te]=S.useState("idle"),[fe,je]=S.useState(null),be=S.useRef(null),ie=S.useRef({attention:!1,running:!1});S.useEffect(()=>()=>{const J=be.current?.longPressTimer;J!=null&&window.clearTimeout(J)},[]),S.useEffect(()=>{if(k)return;const J=be.current?.longPressTimer;J!=null&&window.clearTimeout(J),be.current=null,Te("idle"),je(null)},[k]),S.useLayoutEffect(()=>{const J=()=>{const Fe=O();de.current=Fe,ee(Fe)};J(),window.addEventListener("resize",J),window.addEventListener("orientationchange",J),window.visualViewport?.addEventListener("resize",J);const K=typeof ResizeObserver>"u"?null:new ResizeObserver(J);return u&&K?.observe(u),()=>{window.removeEventListener("resize",J),window.removeEventListener("orientationchange",J),window.visualViewport?.removeEventListener("resize",J),K?.disconnect()}},[u,O]);const oe=S.useCallback(J=>J==="attention"?k:v,[v,k]),Ie=S.useCallback((J,K)=>{if(!oe(J))return K;const Fe=J==="attention"?"running":"attention";return Y2(F(),K,de.current[Fe])},[F,oe]),ke=S.useCallback((J,K,Fe,Je)=>{const vt=F(),xt=K.moved?Zl(vt,{x:K.startX+(Fe-K.originX),y:K.startY+(Je-K.originY)}):de.current[J],Ct=Z2(vt,xt),he=Ie(J,Ct.position),xe=Z2(vt,he);W.current[J]=xe.preference,mD(J==="attention"?X2:J2,xe.preference);const De={...de.current,[J]:xe.position};de.current=De,ee(De)},[Ie,F]),qe=S.useCallback(J=>{ie.current[J]=!0,window.setTimeout(()=>{ie.current[J]=!1},0)},[]),se=S.useCallback(J=>{const K=ve.current;!K||K.kind!=="attention"||K.pointerId!==J.pointerId||(ve.current=null,Le(null),ke("attention",K,J.clientX,J.clientY),K.moved&&qe("attention"))},[ke,qe]),Se={onPointerDown:J=>{J.stopPropagation(),J.currentTarget.setPointerCapture(J.pointerId),ve.current={kind:"attention",pointerId:J.pointerId,originX:J.clientX,originY:J.clientY,startX:q.attention.x,startY:q.attention.y,moved:!1}},onPointerMove:J=>{const K=ve.current;if(!K||K.kind!=="attention"||K.pointerId!==J.pointerId)return;const Fe=J.clientX-K.originX,Je=J.clientY-K.originY;if(!K.moved&&Math.hypot(Fe,Je)<5)return;K.moved=!0,Le("attention");const vt=F(),xt=Ie("attention",Zl(vt,{x:K.startX+Fe,y:K.startY+Je})),Ct={...de.current,attention:xt};de.current=Ct,ee(Ct)},onPointerUp:se,onPointerCancel:se},Lt=u?TD(q.running,F(),t.length):null,Dt=J=>{J.longPressTimer!==null&&(window.clearTimeout(J.longPressTimer),J.longPressTimer=null)},Ue={onPointerDown:J=>{J.stopPropagation(),J.currentTarget.setPointerCapture(J.pointerId);const K=J.pointerId,Fe={pointerId:K,originX:J.clientX,originY:J.clientY,startX:q.running.x,startY:q.running.y,mode:"pressing",moved:!1,selectedIndex:null,longPressTimer:null};Fe.longPressTimer=window.setTimeout(()=>{const Je=be.current;!Je||Je.pointerId!==K||Je.mode!=="pressing"||(Je.longPressTimer=null,Je.mode="dragging",ie.current.running=!0,Te("dragging"))},wD),be.current=Fe,Te("pressing"),je(null)},onPointerMove:J=>{const K=be.current;if(!K||K.pointerId!==J.pointerId)return;const Fe=J.clientX-K.originX,Je=J.clientY-K.originY;if(K.mode==="pressing")if(Math.abs(Fe)>=r5&&Math.abs(Fe)>=Math.abs(Je))Dt(K),K.mode="selecting",ie.current.running=!0,Te("selecting");else if(Math.hypot(Fe,Je)>=r5){Dt(K),K.mode="cancelled",ie.current.running=!0,Te("idle");return}else return;if(K.mode==="selecting"){const he=Lt?n5(Lt,J.clientX,J.clientY,t.length):null;K.selectedIndex=he,je(he);return}if(K.mode!=="dragging"||!K.moved&&Math.hypot(Fe,Je)<5)return;K.moved=!0;const vt=F(),xt=Ie("running",Zl(vt,{x:K.startX+Fe,y:K.startY+Je})),Ct={...de.current,running:xt};de.current=Ct,ee(Ct)},onPointerUp:J=>{const K=be.current;if(!K||K.pointerId!==J.pointerId)return;Dt(K);const Fe=K.mode;if(Fe==="selecting"){const Je=Lt?n5(Lt,J.clientX,J.clientY,t.length):K.selectedIndex,vt=Je===null?null:t[Je]?.id;vt&&t5(vt)}else Fe==="dragging"&&ke("running",K,J.clientX,J.clientY);be.current=null,Te("idle"),je(null),Fe!=="pressing"&&qe("running")},onPointerCancel:J=>{const K=be.current;!K||K.pointerId!==J.pointerId||(Dt(K),be.current=null,Te("idle"),je(null),qe("running"))}},Z=(J,K)=>c.jsx("span",{className:`pointer-events-none absolute -right-1 -top-1 z-10 flex h-[18px] min-w-[18px] items-center justify-center rounded-full bg-surface px-1 text-[9px] font-bold tabular-nums ring-2 ring-[var(--chrome-bg)] ${K==="attention"?"text-[color:var(--warning)]":"text-[color:var(--success)]"}`,children:J>9?"9+":J}),rt=()=>{const J=h("agent.jumpToNext"),K=q.attention,Fe=Ae==="attention";return c.jsxs("button",{type:"button","data-attention-button":!0,"data-mobile-attention-button":!0,...Se,onClick:Je=>{Je.stopPropagation(),!ie.current.attention&&L6()},className:`fixed z-chrome-hint inline-flex items-center justify-center rounded-full bg-[var(--warning)] text-[color:var(--warning-foreground)] shadow-[0_8px_24px_var(--app-shadow-strong)] ring-1 ring-[rgb(var(--warning-rgb)_/_0.35)] animate-fade-in ${Fe?"cursor-grabbing scale-[1.04] shadow-[0_12px_30px_var(--app-shadow-strong)]":"cursor-grab transition-[left,top,transform,box-shadow] duration-200 active:scale-95"}`,style:{left:K.x,top:K.y,width:po,height:po,touchAction:"none"},"aria-label":`${J}: ${e}`,title:J,children:[c.jsx(Cl,{size:17,className:"shrink-0"}),Z(e,"attention")]},"attention")},gt=()=>{const J=t.length,K=q.running,Fe=Ye==="selecting",Je=Ye==="dragging";return c.jsxs(S.Fragment,{children:[c.jsxs("button",{type:"button","data-running-session-button":!0,"data-running-session-gesture":Ye,...Ue,onClick:vt=>{if(vt.stopPropagation(),ie.current.running)return;const xt=SD(t,r);xt&&t5(xt)},className:`fixed z-chrome-hint inline-flex select-none items-center justify-center rounded-full bg-[var(--success)] text-[color:var(--success-foreground)] shadow-[0_8px_24px_var(--app-shadow-strong)] ring-1 ring-[rgb(var(--success-rgb)_/_0.35)] animate-fade-in ${Je?"cursor-grabbing scale-[1.04] shadow-[0_12px_30px_var(--app-shadow-strong)]":Fe?"cursor-ew-resize scale-[1.04] ring-2 ring-[rgb(var(--success-rgb)_/_0.55)]":"cursor-grab transition-[left,top,transform,box-shadow] duration-200 active:scale-95"}`,style:{left:K.x,top:K.y,width:po,height:po,touchAction:"none"},"aria-label":`${h("agent.jumpToNextRunning")}: ${J}`,title:h("agent.runningSessionGestureHint"),children:[c.jsx(Xr,{size:18,className:"shrink-0 animate-spin"}),Z(J,"running")]}),Fe&&Lt&&c.jsx("div",{role:"listbox","data-running-session-rail":!0,"data-side":Lt.side,"aria-label":h("agent.selectRunningSession"),className:"pointer-events-none fixed z-popover flex overflow-hidden rounded-full border border-border/15 bg-surface/95 p-1 shadow-[0_18px_48px_var(--app-shadow-soft)] backdrop-blur animate-fade-in",style:{left:Lt.left,top:Lt.top,width:Lt.width,height:Lt.height},children:t.map((vt,xt)=>{const Ct=xt===fe,he=vt.id===r,xe=`${vt.label}${vt.detail?` · ${vt.detail}`:""}${he?` · ${h("agent.currentSession")}`:""}`;return c.jsxs("div",{role:"option","aria-selected":Ct,"data-running-session-option":vt.id,"data-selected":Ct?"true":"false",title:xe,className:`relative flex min-w-0 flex-1 items-center justify-center gap-1.5 rounded-full px-2 transition-[background-color,color,transform] duration-100 ${Ct?"scale-[1.02] bg-[var(--success)] text-[color:var(--success-foreground)]":he?"bg-primary/15 text-primary ring-1 ring-primary/30":"text-foreground"}`,children:[c.jsx("span",{className:`inline-flex h-5 w-5 shrink-0 items-center justify-center rounded-full text-[9px] font-bold tabular-nums ${Ct?"bg-surface/25":"bg-surface-2 text-muted-foreground"}`,children:xt+1}),c.jsx("span",{className:"truncate text-[10px] font-medium",children:vt.label})]},vt.id)})})]},"running")};return!v&&!k||u===null||typeof document>"u"?null:Ra.createPortal(c.jsxs(c.Fragment,{children:[v&&rt(),k&&gt()]}),document.body)}const _D=new Set([".ts",".tsx",".js",".jsx",".py",".rs",".go",".java",".c",".cpp",".h",".rb",".php",".swift",".kt",".sh",".css",".scss",".html",".json",".yaml",".yml",".toml",".md"]),s5=120,i5=120,LD=new Set,ID=[],kD={added:{label:"A",className:"text-[color:var(--diff-insert-strong)]",title:"Added"},modified:{label:"M",className:"text-[color:var(--diff-hunk-accent)]",title:"Modified"},deleted:{label:"D",className:"text-[color:var(--diff-delete-strong)]",title:"Deleted"},renamed:{label:"R",className:"text-muted-foreground",title:"Renamed"},copied:{label:"C",className:"text-[color:var(--diff-insert-strong)]",title:"Copied"},untracked:{label:"U",className:"text-[color:var(--diff-insert-strong)]",title:"Untracked (new file)"},conflicted:{label:"!",className:"text-destructive",title:"Conflicted"},unknown:{label:"?",className:"text-muted-foreground",title:"Unknown"}};function l1(e,t){if(t==="directory")return null;if(v7(e))return c.jsx(R8,{size:14});if(w7(e))return c.jsx(s9,{size:14});const r=e.lastIndexOf(".")>=0?e.slice(e.lastIndexOf(".")):"";return _D.has(r)?c.jsx(tv,{size:14}):c.jsx($5,{size:14})}function E6({path:e}){const r=$t(i=>i.changedFiles.get(e))?.status;if(!r)return null;const s=kD[r]??{label:"?",className:"text-muted-foreground",title:r};return c.jsx("span",{className:`w-4 shrink-0 text-center text-[10px] font-mono font-bold ${s.className}`,title:s.title,children:s.label})}function W0(e){return e?"ml-1 w-6 opacity-100":"ml-1 w-6 opacity-100 sm:ml-0 sm:w-0 sm:overflow-hidden sm:opacity-0 sm:group-hover:ml-1 sm:group-hover:w-6 sm:group-hover:opacity-100"}function c1(e){return W0(e)}const ED=_.memo(function({path:t}){const{t:r}=ln(),[s,i]=_.useState("idle"),[u,l]=_.useState(null),h=_.useCallback(async p=>{if(p.stopPropagation(),s!=="pending"){i("pending"),l(null);try{await R5(t),i("idle")}catch(g){i("error"),l(g instanceof Error?g.message:r("rightSidebar.downloadFailed"))}}},[t,s,r]);return c.jsx("span",{role:"button",tabIndex:-1,onClick:p=>{h(p)},className:`inline-flex h-6 shrink-0 select-none items-center justify-center rounded-full text-muted-foreground transition active:scale-95 ${W0(s==="pending")} ${s==="pending"?"bg-surface-elevated text-foreground":"bg-surface-2 hover:bg-surface-elevated hover:text-foreground"}`,title:s==="error"?u??r("rightSidebar.downloadFailed"):r("rightSidebar.downloadFile"),children:s==="pending"?c.jsx(Xr,{size:12,className:"animate-spin"}):c.jsx($c,{size:12})})});function R6(){const{t:e}=ln(),[t,r]=_.useState({status:"idle"}),s=_.useCallback(async i=>{r({status:"pending"});try{await R5(i),r({status:"idle"})}catch(u){r({status:"error",message:u instanceof Error?u.message:e("rightSidebar.downloadFailed")})}},[e]);return{state:t,run:s}}function hp(e){return e instanceof DOMException&&e.name==="AbortError"}function _d(){if(typeof window>"u")return!1;const e=window.getSelection();return!!(e&&!e.isCollapsed&&e.toString().trim())}function M6(e){return e.button===2||e.ctrlKey}const RD=176,MD=160,Lc=8;function o5(e,t,r,s){const i=window.visualViewport,u=i?.offsetLeft??0,l=i?.offsetTop??0,h=u+(i?.width??window.innerWidth),p=l+(i?.height??window.innerHeight),g=u+Lc,x=l+Lc,b=Math.max(g,h-r-Lc),v=Math.max(x,p-s-Lc),A=t+s<=p-Lc?t:t-s;return{anchorX:e,anchorY:t,left:Math.min(Math.max(e,g),b),top:Math.min(Math.max(A,x),v)}}function N6(e){const[t,r]=_.useState(null),s=_.useRef(null),i=_.useCallback((u,l)=>{r(o5(u,l,RD,MD))},[]);return _.useLayoutEffect(()=>{if(!e||!t||!s.current)return;const u=s.current.getBoundingClientRect();if(u.width<=0||u.height<=0)return;const l=o5(t.anchorX,t.anchorY,u.width,u.height);l.left===t.left&&l.top===t.top||r(l)},[e,t]),{position:t,menuRef:s,openAt:i,clearPosition:()=>r(null)}}function D6(e,t){return t&&typeof document<"u"?Ra.createPortal(e,document.body):e}function ND(e,t){return t?`${e.name} ${e.path}`.toLowerCase().includes(t):!0}function u1(e,t,r){if(!t||ND(e,t))return!0;const s=r.get(e.path);return s?s.some(i=>u1(i,t,r)):!1}function fp(e){return e.map(t=>({name:t.name,path:t.path,type:t.type,isSymlink:t.isSymlink,modified:t.modified,expanded:!1,loaded:!1,children:t.type==="directory"?[]:void 0}))}function pp(e,t){return!e||!t.startsWith(e)?t:t.slice(e.length).replace(/^\/+/,"")||t}const DD=_.memo(function e({node:t,depth:r,onFileSelect:s,directoriesOnly:i=!1,onPathReference:u,getReferenceText:l,onReferenceCopied:h,insertedReferenceKey:p,copiedReferenceKey:g,onDirectoryRoot:x,onSearchFromDirectory:b,onDirectoryPinToggle:v,onFilePinToggle:A,onOpenInFileBrowser:k,canOpenInFileBrowser:I,pinnedPaths:R,selectedFilePath:M,queryLower:B,onDirectoryDropFiles:F,onFileDeleteRequest:W,deletingFilePath:O,revealedDirectoryPath:q}){const{t:ee}=ln(),de=$t(Re=>Re.expandedPaths.has(t.path)),Ae=$t(Re=>Re.directoryCache.get(t.path)),Le=$t(Re=>Re.showHiddenFiles),ve=$t(Re=>Re.toggleExpanded),Ye=$t(Re=>Re.setDirectoryCache),Te=$t(Re=>Re.fileSortModes[t.path]??"name"),fe=$t(Re=>Re.setDirectorySortMode),[je,be]=_.useState(!1),[ie,oe]=_.useState(!1),{position:Ie,menuRef:ke,openAt:qe,clearPosition:se}=N6(ie),[Se,Lt]=_.useState(!1),Dt=_.useRef(0),Ue=_.useRef(null),Z=_.useRef(null),rt=t.path===M||t.path===q,gt=t.type==="directory"&&(de||!!B),J=t.type==="directory",K=R.has(t.path),Fe=!J&&!!A,Je=!!(I&&k),vt=`path:${t.path}`,xt=p===vt,Ct=g===vt,he=l?.(t.path)??t.path,xe=yp(h),{state:De,run:At}=R6(),Ke=O===t.path,at=J&&!i&&!!(x||b||v||Je),kt=_.useMemo(()=>{if(!Ae)return;if(!B)return Ae;const Re=$t.getState().directoryCache;return Ae.filter(Rr=>(!i||Rr.type==="directory")&&u1(Rr,B,Re))},[Ae,i,B]),tr=_.useCallback(async()=>{if(!$t.getState().directoryCache.has(t.path)&&!je){const Rr=`file-tree:${t.path}`;Ue.current?.abort(),If(Rr);const ut=new AbortController;Ue.current=ut,be(!0);try{const un=await xp(t.path,ut.signal,Le,"expand_directory",Rr,Te),Lr=fp(un.entries);Ye(t.path,Lr)}catch(un){hp(un)}finally{Ue.current===ut&&(Ue.current=null),be(!1)}}},[t.path,je,Ye,Le,Te]),pr=_.useCallback(async()=>{if(t.type!=="directory"){s(t.path);return}if(i&&x){x(t.path);return}const Re=!$t.getState().expandedPaths.has(t.path);ve(t.path),Re&&await tr()},[i,t.path,t.type,tr,x,ve,s]);_.useEffect(()=>{t.type==="directory"&&de&&!Ae&&!je&&tr()},[Ae,de,tr,je,t.type]);const nt=_.useCallback(Re=>{Re.stopPropagation(),u?.(t.path,vt)},[u,t.path,vt]),ft=_.useCallback(Re=>{Re.stopPropagation(),x?.(t.path),oe(!1)},[t.path,x]),_t=_.useCallback(Re=>{Re.stopPropagation(),b?.(t.path),oe(!1)},[t.path,b]),Tt=_.useCallback(Re=>{Re.stopPropagation(),v?.(t.path),oe(!1)},[t.path,v]),Qt=_.useCallback(Re=>{Re.stopPropagation(),fe(t.path,Te==="modified"?"name":"modified"),oe(!1)},[t.path,fe,Te]),j=_.useCallback(Re=>{Re.stopPropagation(),A?.(t.path),oe(!1)},[t.path,A]),pe=_.useCallback(Re=>{Re.stopPropagation(),oe(!1),At(t.path)},[t.path,At]),Oe=_.useCallback(Re=>{Re.stopPropagation(),oe(!1),W(t)},[t,W]),Et=_.useCallback(Re=>{Re.stopPropagation(),k?.(t.path),oe(!1)},[t.path,k]),Qe=_.useCallback(Re=>{!J||!F||!Re.dataTransfer.types.includes("Files")||(Re.preventDefault(),Re.stopPropagation(),Dt.current+=1,Lt(!0))},[J,F]),et=_.useCallback(Re=>{!J||!F||!Re.dataTransfer.types.includes("Files")||(Re.preventDefault(),Re.stopPropagation(),Re.dataTransfer.dropEffect="copy",Lt(!0))},[J,F]),lr=_.useCallback(Re=>{!J||!F||(Re.preventDefault(),Re.stopPropagation(),Dt.current-=1,Dt.current<=0&&(Dt.current=0,Lt(!1)))},[J,F]),Ne=_.useCallback(Re=>{if(!J||!F)return;Re.preventDefault(),Re.stopPropagation(),Dt.current=0,Lt(!1);const Rr=Array.from(Re.dataTransfer.files);Rr.length>0&&F(t.path,Rr)},[J,t.path,F]),cn=_.useCallback(Re=>{Re.stopPropagation(),se(),oe(Rr=>!Rr)},[se]),Qr=_.useCallback(Re=>{!at||!M6(Re)||(Re.preventDefault(),Re.stopPropagation(),qe(Re.clientX,Re.clientY),oe(!0))},[at,qe]);return _.useEffect(()=>{if(!ie)return;const Re=ut=>{const un=ut.target;un instanceof Node&&(Z.current?.contains(un)||ke.current?.contains(un))||oe(!1)},Rr=ut=>{ut.key==="Escape"&&oe(!1)};return document.addEventListener("pointerdown",Re),document.addEventListener("keydown",Rr),()=>{document.removeEventListener("pointerdown",Re),document.removeEventListener("keydown",Rr)}},[ie,ke]),_.useEffect(()=>()=>{Ue.current?.abort()},[]),c.jsxs("div",{style:!gt&&!ie?{contentVisibility:"auto",containIntrinsicSize:"auto 32px"}:void 0,children:[c.jsxs("div",{ref:Z,className:"relative",children:[xe.popoverNode,c.jsxs("div",{"data-file-tree-path":t.path,"data-sort-mode":Te,role:"button",tabIndex:0,onClick:()=>{_d()||pr()},onContextMenu:Qr,onKeyDown:Re=>{Re.key!=="Enter"&&Re.key!==" "||(Re.preventDefault(),pr())},onDragEnter:Qe,onDragOver:et,onDragLeave:lr,onDrop:Ne,className:`group relative flex w-full cursor-pointer items-center gap-1 rounded px-2 py-1 text-[13px] transition ${Se?"scale-[1.015] bg-primary/15 text-foreground shadow-[0_0_0_1px_rgb(var(--primary-rgb)_/_0.45)]":rt?"bg-surface-elevated text-foreground":"text-muted-foreground hover:bg-surface-2 hover:text-foreground"}`,style:{paddingLeft:`${r*14+8}px`},title:t.path,children:[Se&&c.jsx("span",{className:"pointer-events-none absolute right-2 top-1/2 z-10 -translate-y-1/2 rounded-full bg-primary px-2 py-0.5 text-[10px] font-semibold text-primary-foreground shadow-md",children:ee("fileTree.dropToUploadHere")}),t.type==="directory"?c.jsxs(c.Fragment,{children:[gt?c.jsx(Kl,{size:14,className:"shrink-0 text-muted-foreground/80"}):c.jsx(kd,{size:14,className:"shrink-0 text-muted-foreground/80"}),gt?c.jsx(N0,{size:14,className:"shrink-0 text-[color:var(--folder)]"}):c.jsx(j0,{size:14,className:"shrink-0 text-[color:var(--folder)]"})]}):c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"w-[14px] shrink-0"}),c.jsx("span",{className:rt?"text-primary":"text-muted-foreground/80",children:l1(t.name,t.type)})]}),c.jsxs("span",{className:`min-w-0 flex-1 select-text whitespace-normal break-all text-left leading-snug ${rt?"font-medium":""}`,children:[t.name,Te==="modified"&&c.jsx("span",{className:"ml-1 inline-flex align-middle text-primary",title:ee("fileTree.sortedByModified"),"aria-label":ee("fileTree.sortedByModified"),children:c.jsx(Uc,{size:11})}),t.isSymlink&&c.jsx("span",{className:"ml-1 inline-flex align-middle text-muted-foreground/70",title:ee("fileTree.symbolicLink"),children:c.jsx(P0,{size:11})})]}),je&&c.jsx(Xr,{size:12,className:"shrink-0 animate-spin text-muted-foreground"}),c.jsx(E6,{path:t.path}),at&&c.jsx("span",{onClick:cn,className:`inline-flex h-6 shrink-0 select-none items-center justify-center rounded-full text-muted-foreground transition active:scale-95 ${W0(ie)} ${ie?"bg-surface-elevated text-foreground":"bg-surface-2 hover:bg-surface-elevated hover:text-foreground"}`,title:ee("fileTree.moreDirActions"),children:c.jsx(Fc,{size:13})}),!J&&c.jsx("span",{onClick:cn,className:`inline-flex h-6 shrink-0 select-none items-center justify-center rounded-full text-muted-foreground transition active:scale-95 ${W0(ie||De.status==="pending"||Ke||K)} ${ie?"bg-surface-elevated text-foreground":K?"bg-primary/15 text-primary":"bg-surface-2 hover:bg-surface-elevated hover:text-foreground"}`,title:De.status==="error"?De.message??ee("rightSidebar.downloadFailed"):ee("fileTree.moreFileActions"),children:De.status==="pending"||Ke?c.jsx(Xr,{size:13,className:"animate-spin"}):c.jsx(Fc,{size:13})}),u&&c.jsx("span",{onClick:nt,...xe(he,vt),className:`inline-flex h-6 shrink-0 select-none items-center justify-center rounded-full text-[11px] font-semibold transition active:scale-95 ${c1(xt||Ct)} ${xt||Ct?"bg-surface-elevated text-foreground":"bg-primary/10 text-primary"}`,"aria-label":ee(Ct?"rightSidebar.copied":xt?"rightSidebar.inserted":"fileTree.insertRefTitle"),title:ee(Ct?"rightSidebar.copied":xt?"rightSidebar.inserted":"fileTree.insertRefTitle"),children:Ct||xt?c.jsx(sa,{size:12}):c.jsx(P0,{size:12})})]}),at&&ie&&D6(c.jsxs("div",{ref:ke,className:`${Ie?"fixed z-menu-panel":"absolute right-2 top-[calc(100%+2px)] z-30"} w-44 overflow-hidden rounded-xl border border-border/15 bg-surface/98 p-1 text-[12px] shadow-xl shadow-[0_18px_48px_var(--app-shadow-soft)] backdrop-blur animate-fade-in`,style:Ie?{left:Ie.left,top:Ie.top}:void 0,children:[Je&&c.jsxs("button",{type:"button",onClick:Et,className:"flex w-full items-center gap-2 rounded-lg px-2.5 py-1.5 text-left font-medium text-foreground transition hover:bg-surface-2 active:scale-[0.99]",title:ee("fileTree.openInFileBrowserTitle"),children:[c.jsx(N0,{size:13,className:"shrink-0 text-[color:var(--folder)]"}),c.jsx("span",{className:"min-w-0 flex-1 truncate",children:ee("fileTree.openInFileBrowser")})]}),x&&c.jsxs("button",{type:"button",onClick:ft,className:"flex w-full items-center gap-2 rounded-lg px-2.5 py-1.5 text-left font-medium text-foreground transition hover:bg-surface-2 active:scale-[0.99]",title:ee("fileTree.openDirRootTitle"),children:[c.jsx(N0,{size:13,className:"shrink-0 text-[color:var(--folder)]"}),c.jsx("span",{className:"min-w-0 flex-1 truncate",children:ee("fileTree.openDirRoot")})]}),b&&c.jsxs("button",{type:"button",onClick:_t,className:"flex w-full items-center gap-2 rounded-lg px-2.5 py-1.5 text-left font-medium text-foreground transition hover:bg-surface-2 active:scale-[0.99]",title:ee("fileTree.searchFromDirTitle"),children:[c.jsx(vp,{size:13,className:"shrink-0 text-primary"}),c.jsx("span",{className:"min-w-0 flex-1 truncate",children:ee("fileTree.searchFromDir")})]}),v&&c.jsxs("button",{type:"button",onClick:Tt,className:`flex w-full items-center gap-2 rounded-lg px-2.5 py-1.5 text-left font-medium transition active:scale-[0.99] ${K?"text-primary hover:bg-primary/10":"text-foreground hover:bg-surface-2"}`,title:ee(K?"fileTree.unpinDirTitle":"fileTree.pinDirTitle"),children:[K?c.jsx(Hc,{size:13,className:"shrink-0"}):c.jsx(zc,{size:13,className:"shrink-0"}),c.jsx("span",{className:"min-w-0 flex-1 truncate",children:ee(K?"fileTree.unpinDir":"fileTree.pinDir")})]}),c.jsxs("button",{type:"button",onClick:Qt,className:"flex w-full items-center gap-2 rounded-lg px-2.5 py-1.5 text-left font-medium text-foreground transition hover:bg-surface-2 active:scale-[0.99]",children:[Te==="modified"?c.jsx(A8,{size:13,className:"shrink-0"}):c.jsx(Uc,{size:13,className:"shrink-0"}),c.jsx("span",{className:"min-w-0 flex-1 truncate",children:ee(Te==="modified"?"fileTree.sortByName":"fileTree.sortByModified")})]})]}),!!Ie),!J&&ie&&c.jsxs("div",{className:"absolute right-2 top-[calc(100%+2px)] z-30 w-44 overflow-hidden rounded-xl border border-border/15 bg-surface/98 p-1 text-[12px] shadow-xl shadow-[0_18px_48px_var(--app-shadow-soft)] backdrop-blur animate-fade-in",children:[Je&&c.jsxs("button",{type:"button",onClick:Et,className:"flex w-full items-center gap-2 rounded-lg px-2.5 py-1.5 text-left font-medium text-foreground transition hover:bg-surface-2 active:scale-[0.99]",title:ee("fileTree.openInFileBrowserTitle"),children:[c.jsx($5,{size:13,className:"shrink-0"}),c.jsx("span",{className:"min-w-0 flex-1 truncate",children:ee("fileTree.openInFileBrowser")})]}),c.jsxs("button",{type:"button",onClick:pe,className:"flex w-full items-center gap-2 rounded-lg px-2.5 py-1.5 text-left font-medium text-foreground transition hover:bg-surface-2 active:scale-[0.99]",title:ee("rightSidebar.downloadFile"),children:[c.jsx($c,{size:13,className:"shrink-0"}),c.jsx("span",{className:"min-w-0 flex-1 truncate",children:ee("rightSidebar.downloadFile")})]}),Fe&&c.jsxs("button",{type:"button",onClick:j,className:`flex w-full items-center gap-2 rounded-lg px-2.5 py-1.5 text-left font-medium transition active:scale-[0.99] ${K?"text-primary hover:bg-primary/10":"text-foreground hover:bg-surface-2"}`,title:ee(K?"fileTree.unpinFileTitle":"fileTree.pinFileTitle"),children:[K?c.jsx(Hc,{size:13,className:"shrink-0"}):c.jsx(zc,{size:13,className:"shrink-0"}),c.jsx("span",{className:"min-w-0 flex-1 truncate",children:ee(K?"fileTree.unpinFile":"fileTree.pinFile")})]}),c.jsxs("button",{type:"button",onClick:Oe,disabled:Ke,className:"flex w-full items-center gap-2 rounded-lg px-2.5 py-1.5 text-left font-medium text-destructive transition hover:bg-destructive/10 active:scale-[0.99] disabled:opacity-50",title:ee("fileTree.deleteFile"),children:[Ke?c.jsx(Xr,{size:13,className:"shrink-0 animate-spin"}):c.jsx(to,{size:13,className:"shrink-0"}),c.jsx("span",{className:"min-w-0 flex-1 truncate",children:ee("fileTree.deleteFile")})]})]})]}),gt&&kt&&kt.length>0&&c.jsx("div",{className:r===0?"mt-0.5":"",children:kt.map(Re=>c.jsx(e,{node:Re,depth:r+1,onFileSelect:s,directoriesOnly:i,onPathReference:u,getReferenceText:l,onReferenceCopied:h,onDirectoryRoot:x,onSearchFromDirectory:b,onDirectoryPinToggle:v,onFilePinToggle:A,onOpenInFileBrowser:k,canOpenInFileBrowser:I,pinnedPaths:R,selectedFilePath:M,queryLower:B,insertedReferenceKey:p,copiedReferenceKey:g,onDirectoryDropFiles:F,onFileDeleteRequest:W,deletingFilePath:O,revealedDirectoryPath:q},Re.path))})]})}),BD=_.memo(function({node:t,rootPath:r,onFileSelect:s,onPathReference:i,getReferenceText:u,onReferenceCopied:l,insertedReferenceKey:h,copiedReferenceKey:p,onDirectoryRoot:g,onSearchFromDirectory:x,onDirectoryPinToggle:b,onFilePinToggle:v,pinnedPaths:A,selectedFilePath:k,onFileDeleteRequest:I,deletingFilePath:R}){const{t:M}=ln(),B=t.path===k,F=t.type==="directory",W=A.has(t.path),O=!F&&!!v,q=`path:${t.path}`,ee=h===q,de=p===q,Ae=u?.(t.path)??t.path,Le=yp(l),{state:ve,run:Ye}=R6(),[Te,fe]=_.useState(!1),{position:je,menuRef:be,openAt:ie,clearPosition:oe}=N6(Te),Ie=_.useRef(null),ke=R===t.path,qe=F&&!!(g||x||b),se=_.useCallback(()=>{_d()||(t.type==="directory"?g?.(t.path):s(t.path))},[t.path,t.type,g,s]),Se=_.useCallback(J=>{J.stopPropagation(),i?.(t.path,q)},[i,t.path,q]),Lt=_.useCallback(J=>{J.stopPropagation(),b?.(t.path),fe(!1)},[t.path,b]),Dt=_.useCallback(J=>{J.stopPropagation(),v?.(t.path),fe(!1)},[t.path,v]),Ue=_.useCallback(J=>{J.stopPropagation(),fe(!1),Ye(t.path)},[t.path,Ye]),Z=_.useCallback(J=>{J.stopPropagation(),fe(!1),I(t)},[t,I]),rt=_.useCallback(J=>{J.stopPropagation(),oe(),fe(K=>!K)},[oe]),gt=_.useCallback(J=>{!qe||!M6(J)||(J.preventDefault(),J.stopPropagation(),ie(J.clientX,J.clientY),fe(!0))},[qe,ie]);return _.useEffect(()=>{if(!Te)return;const J=Fe=>{const Je=Fe.target;Je instanceof Node&&(Ie.current?.contains(Je)||be.current?.contains(Je))||fe(!1)},K=Fe=>{Fe.key==="Escape"&&fe(!1)};return document.addEventListener("pointerdown",J),document.addEventListener("keydown",K),()=>{document.removeEventListener("pointerdown",J),document.removeEventListener("keydown",K)}},[Te,be]),c.jsxs("div",{ref:Ie,className:"relative border-b border-border/10 last:border-b-0",children:[Le.popoverNode,c.jsxs("div",{role:"button",tabIndex:0,onClick:se,onContextMenu:gt,onKeyDown:J=>{J.key!=="Enter"&&J.key!==" "||(J.preventDefault(),se())},className:`group flex w-full cursor-pointer items-center gap-2 rounded-lg px-2 py-2 text-left text-[13px] transition ${B?"bg-surface-elevated text-foreground":"text-muted-foreground hover:bg-surface-2 hover:text-foreground"}`,title:t.path,children:[t.type==="directory"?c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"w-[14px] shrink-0"}),c.jsx(j0,{size:14,className:"shrink-0 text-[color:var(--folder)]"})]}):c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"w-[14px] shrink-0"}),c.jsx("span",{className:B?"text-primary":"text-muted-foreground/80",children:l1(t.name,t.type)})]}),c.jsxs("span",{className:"min-w-0 flex-1 select-text",children:[c.jsxs("span",{className:`block whitespace-normal break-all font-medium leading-snug ${B?"text-primary":"text-foreground"}`,children:[t.name,t.isSymlink&&c.jsx("span",{className:"ml-1 inline-flex align-middle text-muted-foreground/70",title:M("fileTree.symbolicLink"),children:c.jsx(P0,{size:11})})]}),c.jsx("span",{className:"mt-0.5 block truncate font-mono text-[10px] text-muted-foreground/80",children:pp(r,t.path)})]}),c.jsx(E6,{path:t.path}),t.type==="directory"&&(b||x)&&c.jsx("span",{onClick:rt,className:`inline-flex h-6 shrink-0 select-none items-center justify-center rounded-full text-muted-foreground transition active:scale-95 ${W0(Te)} ${Te?"bg-surface-elevated text-foreground":"bg-surface-2 hover:bg-surface-elevated hover:text-foreground"}`,title:M("fileTree.moreDirActions"),children:c.jsx(Fc,{size:13})}),!F&&c.jsx("span",{onClick:rt,className:`inline-flex h-6 shrink-0 select-none items-center justify-center rounded-full text-muted-foreground transition active:scale-95 ${W0(Te||ve.status==="pending"||ke||W)} ${Te?"bg-surface-elevated text-foreground":W?"bg-primary/15 text-primary":"bg-surface-2 hover:bg-surface-elevated hover:text-foreground"}`,title:ve.status==="error"?ve.message??M("rightSidebar.downloadFailed"):M("fileTree.moreFileActions"),children:ve.status==="pending"||ke?c.jsx(Xr,{size:13,className:"animate-spin"}):c.jsx(Fc,{size:13})}),i&&c.jsx("span",{onClick:Se,...Le(Ae,q),className:`inline-flex h-6 shrink-0 select-none items-center justify-center rounded-full text-[11px] font-semibold transition active:scale-95 ${c1(ee||de)} ${ee||de?"bg-surface-elevated text-foreground":"bg-primary/10 text-primary"}`,"aria-label":M(de?"rightSidebar.copied":ee?"rightSidebar.inserted":"fileTree.insertRefTitle"),title:M(de?"rightSidebar.copied":ee?"rightSidebar.inserted":"fileTree.insertRefTitle"),children:de||ee?c.jsx(sa,{size:12}):c.jsx(P0,{size:12})})]}),qe&&Te&&D6(c.jsxs("div",{ref:be,className:`${je?"fixed z-menu-panel":"absolute right-2 top-[calc(100%+2px)] z-30"} w-44 overflow-hidden rounded-xl border border-border/15 bg-surface/98 p-1 text-[12px] shadow-xl shadow-[0_18px_48px_var(--app-shadow-soft)] backdrop-blur animate-fade-in`,style:je?{left:je.left,top:je.top}:void 0,children:[g&&c.jsxs("button",{type:"button",onClick:J=>{J.stopPropagation(),g(t.path),fe(!1)},className:"flex w-full items-center gap-2 rounded-lg px-2.5 py-1.5 text-left font-medium text-foreground transition hover:bg-surface-2 active:scale-[0.99]",title:M("fileTree.openDirRootTitle"),children:[c.jsx(N0,{size:13,className:"shrink-0 text-[color:var(--folder)]"}),c.jsx("span",{className:"min-w-0 flex-1 truncate",children:M("fileTree.openDirRoot")})]}),x&&c.jsxs("button",{type:"button",onClick:J=>{J.stopPropagation(),x(t.path),fe(!1)},className:"flex w-full items-center gap-2 rounded-lg px-2.5 py-1.5 text-left font-medium text-foreground transition hover:bg-surface-2 active:scale-[0.99]",children:[c.jsx(vp,{size:13,className:"shrink-0 text-primary"}),c.jsx("span",{className:"min-w-0 flex-1 truncate",children:M("fileTree.searchFromDir")})]}),b&&c.jsxs("button",{type:"button",onClick:Lt,className:`flex w-full items-center gap-2 rounded-lg px-2.5 py-1.5 text-left font-medium transition active:scale-[0.99] ${W?"text-primary hover:bg-primary/10":"text-foreground hover:bg-surface-2"}`,title:M(W?"fileTree.unpinDirTitle":"fileTree.pinDirTitle"),children:[W?c.jsx(Hc,{size:13,className:"shrink-0"}):c.jsx(zc,{size:13,className:"shrink-0"}),c.jsx("span",{className:"min-w-0 flex-1 truncate",children:M(W?"fileTree.unpinDir":"fileTree.pinDir")})]})]}),!!je),!F&&Te&&c.jsxs("div",{className:"absolute right-2 top-[calc(100%+2px)] z-30 w-44 overflow-hidden rounded-xl border border-border/15 bg-surface/98 p-1 text-[12px] shadow-xl shadow-[0_18px_48px_var(--app-shadow-soft)] backdrop-blur animate-fade-in",children:[c.jsxs("button",{type:"button",onClick:Ue,className:"flex w-full items-center gap-2 rounded-lg px-2.5 py-1.5 text-left font-medium text-foreground transition hover:bg-surface-2 active:scale-[0.99]",title:M("rightSidebar.downloadFile"),children:[c.jsx($c,{size:13,className:"shrink-0"}),c.jsx("span",{className:"min-w-0 flex-1 truncate",children:M("rightSidebar.downloadFile")})]}),O&&c.jsxs("button",{type:"button",onClick:Dt,className:`flex w-full items-center gap-2 rounded-lg px-2.5 py-1.5 text-left font-medium transition active:scale-[0.99] ${W?"text-primary hover:bg-primary/10":"text-foreground hover:bg-surface-2"}`,title:M(W?"fileTree.unpinFileTitle":"fileTree.pinFileTitle"),children:[W?c.jsx(Hc,{size:13,className:"shrink-0"}):c.jsx(zc,{size:13,className:"shrink-0"}),c.jsx("span",{className:"min-w-0 flex-1 truncate",children:M(W?"fileTree.unpinFile":"fileTree.pinFile")})]}),c.jsxs("button",{type:"button",onClick:Z,disabled:ke,className:"flex w-full items-center gap-2 rounded-lg px-2.5 py-1.5 text-left font-medium text-destructive transition hover:bg-destructive/10 active:scale-[0.99] disabled:opacity-50",title:M("fileTree.deleteFile"),children:[ke?c.jsx(Xr,{size:13,className:"shrink-0 animate-spin"}):c.jsx(to,{size:13,className:"shrink-0"}),c.jsx("span",{className:"min-w-0 flex-1 truncate",children:M("fileTree.deleteFile")})]})]})]})}),QD=60,a5=60,jD=20;function l5({count:e,loading:t,engine:r,limited:s,scope:i,content:u}){const{t:l}=ln();return c.jsxs("div",{className:"sticky top-0 z-10 -mx-2 -mt-2 mb-2 border-b border-border/15 bg-surface/95 px-3 py-2.5 backdrop-blur",children:[c.jsxs("div",{className:"flex items-center justify-between gap-2",children:[c.jsxs("span",{className:"inline-flex min-w-0 items-center gap-2 text-[12px] font-semibold text-foreground",children:[c.jsx(vp,{size:14,className:"shrink-0 text-primary"}),c.jsx("span",{children:u?l("fileTree.contentMatchesCount",{count:e}):l("fileTree.searchResults",{count:e})})]}),r&&c.jsxs("span",{className:"inline-flex shrink-0 items-center gap-1 rounded-full bg-surface-2 px-2 py-0.5 text-[9px] uppercase tracking-[0.12em] text-muted-foreground",children:[t&&c.jsx(Xr,{size:9,className:"animate-spin"}),r,s?" · limited":""]})]}),c.jsxs("div",{className:"mt-1 flex min-w-0 items-center gap-1.5 text-[10px] text-muted-foreground",children:[c.jsx("span",{className:"shrink-0",children:l("fileTree.searchScope")}),c.jsx("span",{className:"min-w-0 truncate font-mono text-foreground/75",title:i,children:i}),t&&c.jsx("span",{className:"ml-auto shrink-0",children:l("fileTree.searching")})]})]})}function PD(e,t){if(!t)return e;const r=e.toLowerCase(),s=t.toLowerCase(),i=[];let u=0,l=r.indexOf(s,u),h=0;for(;l>=0&&s;)l>u&&i.push(e.slice(u,l)),i.push(c.jsx("mark",{className:"rounded-sm bg-[rgb(var(--warning-rgb)_/_0.30)] px-0.5 text-foreground",children:e.slice(l,l+s.length)},`m-${h++}`)),u=l+s.length,l=r.indexOf(s,u);return u<e.length&&i.push(e.slice(u)),i.length>0?i:e}const OD=_.memo(function({entry:t,rootPath:r,selectedFilePath:s,query:i,onContentMatchSelect:u,onPathReference:l,getReferenceText:h,onReferenceCopied:p,insertedReferenceKey:g,copiedReferenceKey:x}){const{t:b}=ln(),[v,A]=_.useState(!0),k=t.path===s,I=v?t.matches.slice(0,jD):[],R=t.matches.length-I.length,M=`path:${t.path}`,B=g===M,F=x===M,W=h?.(t.path)??t.path,O=yp(p);return c.jsxs("div",{className:"border-b border-border/10 last:border-b-0",children:[O.popoverNode,c.jsxs("div",{role:"button",tabIndex:0,onClick:()=>{_d()||A(q=>!q)},onKeyDown:q=>{q.key!=="Enter"&&q.key!==" "||(q.preventDefault(),A(ee=>!ee))},className:`group flex w-full cursor-pointer items-center gap-2 rounded-lg px-2 py-2 text-left text-[13px] transition ${k?"bg-surface-elevated text-foreground":"text-muted-foreground hover:bg-surface-2 hover:text-foreground"}`,title:t.path,children:[v?c.jsx(Kl,{size:14,className:"shrink-0 text-muted-foreground/80"}):c.jsx(kd,{size:14,className:"shrink-0 text-muted-foreground/80"}),c.jsx("span",{className:k?"text-primary":"text-muted-foreground/80",children:l1(t.name,"file")}),c.jsxs("span",{className:"min-w-0 flex-1 select-text",children:[c.jsx("span",{className:"block whitespace-normal break-all font-medium leading-snug",children:t.name}),c.jsx("span",{className:"mt-0.5 block truncate font-mono text-[10px] text-muted-foreground/80",children:pp(r,t.path)})]}),c.jsx("span",{className:"shrink-0 select-none rounded-full bg-surface-2 px-1.5 py-0.5 text-[10px] text-muted-foreground",children:t.matches.length}),c.jsx(ED,{path:t.path}),l&&c.jsx("span",{onClick:q=>{q.stopPropagation(),l(t.path,M)},...O(W,M),className:`inline-flex h-6 shrink-0 select-none items-center justify-center rounded-full text-[11px] font-semibold transition active:scale-95 ${c1(B||F)} ${B||F?"bg-surface-elevated text-foreground":"bg-primary/10 text-primary"}`,"aria-label":b(F?"rightSidebar.copied":B?"rightSidebar.inserted":"fileTree.insertRefTitle"),title:b(F?"rightSidebar.copied":B?"rightSidebar.inserted":"fileTree.insertRefTitle"),children:F||B?c.jsx(sa,{size:12}):c.jsx(P0,{size:12})})]}),v&&c.jsxs("div",{className:"mb-1 ml-3 border-l border-border/20 pl-1",children:[I.map((q,ee)=>c.jsxs("div",{role:"button",tabIndex:0,onClick:()=>{_d()||u?.(t.path,q.line)},onKeyDown:de=>{de.key!=="Enter"&&de.key!==" "||(de.preventDefault(),u?.(t.path,q.line))},className:"flex w-full cursor-pointer items-start gap-2 rounded px-2 py-1 text-left font-mono text-[11px] text-muted-foreground transition hover:bg-surface-2 hover:text-foreground",title:`${pp(r,t.path)}:${q.line}`,children:[c.jsx("span",{className:"shrink-0 select-none tabular-nums text-muted-foreground/60",children:q.line}),c.jsx("span",{className:"min-w-0 flex-1 truncate whitespace-pre select-text",children:PD(q.text,i)})]},`${q.line}-${ee}`)),R>0&&c.jsx("div",{className:"px-2 py-1 text-[10px] text-muted-foreground/70",children:b("fileTree.moreMatches",{count:R})})]})]})});function FD({rootPath:e,onFileSelect:t,directoriesOnly:r=!1,onPathReference:s,getReferenceText:i,onReferenceCopied:u,insertedReferenceKey:l,copiedReferenceKey:h,onDirectoryRoot:p,onSearchFromDirectory:g,onDirectoryPinToggle:x,onFilePinToggle:b,onOpenInFileBrowser:v,canOpenInFileBrowser:A=!1,pinnedPaths:k=LD,selectedFilePath:I,query:R="",searchRootPath:M,searchOptions:B={},searchMode:F="name",onContentMatchSelect:W,onDirectoryDropFiles:O,revealDirectory:q}){const{t:ee}=ln(),de=$t(nt=>e?nt.directoryCache.get(e):void 0),Ae=$t(nt=>nt.setDirectoryCache),Le=$t(nt=>nt.showHiddenFiles),ve=$t(nt=>nt.fileSortModesHydrated),Ye=$t(nt=>nt.fileSortModes[e]??"name"),Te=$t(nt=>nt.hydrateFileSortModes),[fe,je]=_.useState(!1),[be,ie]=_.useState(null),[oe,Ie]=_.useState(!1),[ke,qe]=_.useState(!1),[se,Se]=_.useState(null),[Lt,Dt]=_.useState(ve),Ue=ve||Lt;_.useEffect(()=>{let nt=!1;return Te().catch(()=>{}).finally(()=>{nt||Dt(!0)}),()=>{nt=!0}},[Te]);const[Z,rt]=_.useState([]),[gt,J]=_.useState(null),[K,Fe]=_.useState(s5),[Je,vt]=_.useState([]),[xt,Ct]=_.useState(null),he=_.useRef(null),xe=_.useRef(0),De=R.trim().toLowerCase(),At=F==="content",Ke=M||e,at=B.excludePatterns??ID,kt=at.join(`
127
+ `);_.useEffect(()=>{const nt=q?.path;if(!nt||!nt.startsWith(`${e}/`)&&nt!==e)return;const ft=nt.slice(e.length).replace(/^\/+/,""),_t=ft?ft.split("/"):[],Tt=_t.map((et,lr)=>`${e}/${_t.slice(0,lr+1).join("/")}`),Qt=$t.getState(),j=Tt.filter(et=>!Qt.expandedPaths.has(et));j.length>0&&$t.setState(et=>({expandedPaths:new Set([...et.expandedPaths,...j])}));let pe=!1,Oe=0;const Et=()=>{if(pe)return;const et=Array.from(document.querySelectorAll("[data-file-tree-path]")).find(lr=>lr.dataset.fileTreePath===nt);if(et){et.scrollIntoView({block:"center",behavior:"smooth"});return}Oe+=1,Oe<80&&window.setTimeout(Et,50)},Qe=window.requestAnimationFrame(Et);return()=>{pe=!0,window.cancelAnimationFrame(Qe)}},[q?.nonce,q?.path,e]);const tr=_.useCallback(async nt=>{if(!(xt||nt.type==="directory")&&window.confirm(ee("fileTree.deleteFileConfirm",{name:nt.name}))){Ct(nt.path);try{await b7(nt.path),$t.getState().applyFileWatchEvents([{type:"deleted",path:nt.path}]),rt(ft=>ft.filter(_t=>_t.path!==nt.path)),vt(ft=>ft.filter(_t=>_t.path!==nt.path)),k.has(nt.path)&&b?.(nt.path)}catch(ft){const _t=ft instanceof Error?ft.message:String(ft);window.alert(ee("fileTree.deleteFileFailed",{message:_t}))}finally{Ct(null)}}},[xt,b,k,ee]);_.useEffect(()=>{if(!e||!Ue)return;if(De){je(!1);return}if($t.getState().directoryCache.has(e)){je(!1);return}let nt=!1;const ft=new AbortController;return je(!0),ie(null),xp(e,ft.signal,Le,"load_file_tree_root",`file-tree-root:${e}`,Ye).then(_t=>{if(nt)return;const Tt=fp(_t.entries);Ie(!!_t.truncated),Ae(e,Tt)}).catch(_t=>{nt||hp(_t)||ie(_t instanceof Error?_t.message:"Failed to load directory")}).finally(()=>{nt||je(!1)}),()=>{nt=!0,ft.abort(),If(`file-tree-root:${e}`)}},[De,de,e,Ye,Ae,Le,Ue]),_.useEffect(()=>{if(!Ke||!De){qe(!1),Se(null),rt([]),vt([]),J(null);return}let nt=!1;const ft=new AbortController,_t=new Set;qe(!0),Se(null),rt([]),vt([]),Fe(At?QD:s5),J({truncated:!1,total:0,engine:"rg",limited:!1,done:!1});const Tt=`file-search:${Ke}:${++xe.current}`;return y7(Ke,R.trim(),Qt=>{if(!nt){if(Qt.engine&&J(j=>({truncated:j?.truncated??!1,total:j?.total??0,engine:Qt.engine,limited:Qt.limited??j?.limited??!1,done:j?.done??!1})),Qt.entries?.length){const j=Qt.entries.filter(pe=>_t.has(pe.path)?!1:(_t.add(pe.path),!0));j.length>0&&(rt(pe=>[...pe,...fp(j)]),J(pe=>pe?{...pe,total:_t.size}:{truncated:!1,total:_t.size,engine:"rg",limited:!1,done:!1}))}if(Qt.contentEntries?.length){const j=Qt.contentEntries.filter(pe=>_t.has(pe.path)?!1:(_t.add(pe.path),!0));j.length>0&&(vt(pe=>[...pe,...j]),J(pe=>pe?{...pe,total:_t.size}:{truncated:!1,total:_t.size,engine:"rg",limited:!1,done:!1}))}Qt.done&&J(j=>({truncated:!!Qt.truncated,total:typeof Qt.total=="number"?Qt.total:_t.size,engine:Qt.engine??j?.engine??"rg",limited:!!Qt.limited,done:!0}))}},ft.signal,Le,F,Tt,{excludePatterns:at,caseSensitive:B.caseSensitive,wholeWord:B.wholeWord,regex:B.regex}).catch(Qt=>{nt||hp(Qt)||(Se(Qt instanceof Error?Qt.message:"Failed to search files"),rt([]),vt([]),J(null))}).finally(()=>{nt||qe(!1)}),()=>{nt=!0,ft.abort(),If(Tt)}},[Ke,kt,At,R,De,F,B.caseSensitive,B.regex,B.wholeWord,Le]),_.useEffect(()=>{if(!De)return;const nt=he.current;if(!nt)return;const ft=At?Je.length:Z.length,_t=At?a5:i5,Tt=new IntersectionObserver(Qt=>{Qt.some(j=>j.isIntersecting)&&Fe(j=>Math.min(j+_t,ft))},{rootMargin:"160px 0px"});return Tt.observe(nt),()=>Tt.disconnect()},[De,Z.length,Je.length,At]);const pr=_.useMemo(()=>{if(!de)return;if(!De)return r?de.filter(ft=>ft.type==="directory"):de;const nt=$t.getState().directoryCache;return de.filter(ft=>(!r||ft.type==="directory")&&u1(ft,De,nt))},[r,De,de]);if(!e)return c.jsx("div",{className:"px-4 py-8 text-center text-sm text-muted-foreground",children:ee("fileTree.noWorkingDir")});if(fe||!Ue)return c.jsx("div",{className:"flex items-center justify-center py-8",children:c.jsx(Xr,{size:20,className:"animate-spin text-muted-foreground"})});if(De&&At){const nt=gt?.total??Je.length,ft=Je.slice(0,K),_t=K<Je.length;return c.jsxs("div",{className:"termdock-native-select min-h-full space-y-px bg-surface px-2 py-2",children:[c.jsx(l5,{count:nt,loading:ke,engine:gt?.engine,limited:gt?.limited,scope:Ke,content:!0}),se?c.jsxs("div",{className:"mx-1 mt-3 rounded-xl border border-border/15 bg-surface-2 px-4 py-5 text-center text-sm text-muted-foreground",children:[ee("fileTree.contentSearchNeedsRipgrep"),c.jsx("div",{className:"mt-1 break-words text-[11px] text-muted-foreground/70",children:se})]}):ke&&Je.length===0?c.jsx("div",{className:"flex items-center justify-center py-8",children:c.jsx(Xr,{size:20,className:"animate-spin text-muted-foreground"})}):Je.length===0?c.jsx("div",{className:"mx-1 mt-3 overflow-hidden rounded-xl border border-border/15 bg-surface-2 px-4 py-8 text-center text-sm text-muted-foreground",children:ee("fileTree.noContentMatches")}):c.jsxs(c.Fragment,{children:[gt?.limited&&c.jsx("div",{className:"mb-2 rounded-xl bg-[rgb(var(--warning-rgb)_/_0.12)] px-3 py-2 text-[11px] text-[color:var(--warning)]",children:ee("fileTree.searchTruncatedHint",{count:gt.total})}),ft.map(Tt=>c.jsx(OD,{entry:Tt,rootPath:Ke,selectedFilePath:I,query:R.trim(),onContentMatchSelect:W,onPathReference:s,getReferenceText:i,onReferenceCopied:u,insertedReferenceKey:l,copiedReferenceKey:h},Tt.path)),c.jsx("div",{ref:he,className:"py-2 text-center text-[11px] text-muted-foreground",children:_t?c.jsx("button",{type:"button",onClick:()=>Fe(Tt=>Math.min(Tt+a5,Je.length)),className:"rounded-full bg-surface-2 px-3 py-1 hover:bg-surface-elevated hover:text-foreground",children:ee("fileTree.loadMoreSearchResults",{shown:ft.length,total:Je.length})}):ke?c.jsxs("span",{className:"inline-flex items-center gap-1",children:[c.jsx(Xr,{size:10,className:"animate-spin"}),ee("fileTree.searchStillRunning")]}):ft.length>0?c.jsx("span",{children:ee("fileTree.showingSearchResults",{shown:ft.length,total:nt})}):null})]})]})}if(De){const nt=gt?.total??Z.length,ft=Z.slice(0,K),_t=K<Z.length;return c.jsxs("div",{className:"termdock-native-select min-h-full space-y-px bg-surface px-2 py-2",children:[c.jsx(l5,{count:nt,loading:ke,engine:gt?.engine,limited:gt?.limited,scope:Ke,content:!1}),ke&&Z.length===0?c.jsx("div",{className:"flex items-center justify-center py-8",children:c.jsx(Xr,{size:20,className:"animate-spin text-muted-foreground"})}):se?c.jsx("div",{className:"px-4 py-4 text-sm text-destructive",children:se}):Z.length===0?c.jsx("div",{className:"mx-1 mt-3 overflow-hidden rounded-xl border border-border/15 bg-surface-2 px-4 py-8 text-center text-sm text-muted-foreground",children:ee("fileTree.noMatchingFiles")}):c.jsxs(c.Fragment,{children:[gt?.limited&&c.jsx("div",{className:"mb-2 rounded-xl bg-[rgb(var(--warning-rgb)_/_0.12)] px-3 py-2 text-[11px] text-[color:var(--warning)]",children:ee("fileTree.searchTruncatedHint",{count:gt.total})}),ft.map(Tt=>c.jsx(BD,{node:Tt,rootPath:Ke,onFileSelect:t,onPathReference:s,getReferenceText:i,onReferenceCopied:u,onDirectoryRoot:p,onSearchFromDirectory:g,onDirectoryPinToggle:x,onFilePinToggle:b,pinnedPaths:k,selectedFilePath:I,insertedReferenceKey:l,copiedReferenceKey:h,onFileDeleteRequest:tr,deletingFilePath:xt},Tt.path)),c.jsx("div",{ref:he,className:"py-2 text-center text-[11px] text-muted-foreground",children:_t?c.jsx("button",{type:"button",onClick:()=>Fe(Tt=>Math.min(Tt+i5,Z.length)),className:"rounded-full bg-surface-2 px-3 py-1 hover:bg-surface-elevated hover:text-foreground",children:ee("fileTree.loadMoreSearchResults",{shown:ft.length,total:Z.length})}):ke?c.jsxs("span",{className:"inline-flex items-center gap-1",children:[c.jsx(Xr,{size:10,className:"animate-spin"}),ee("fileTree.searchStillRunning")]}):ft.length>0?c.jsx("span",{children:ee("fileTree.showingSearchResults",{shown:ft.length,total:nt})}):null})]})]})}return be?c.jsx("div",{className:"px-4 py-4 text-sm text-destructive",children:be}):!de||de.length===0?c.jsx("div",{className:"px-4 py-8 text-center text-sm text-muted-foreground",children:ee("fileTree.emptyDir")}):!pr||pr.length===0?c.jsx("div",{className:"mx-3 mt-3 overflow-hidden rounded-xl border border-border/15 bg-surface-2 px-4 py-8 text-center text-sm text-muted-foreground",children:ee("fileTree.noMatchingFiles")}):c.jsxs("div",{className:"termdock-native-select space-y-px px-2 py-2",children:[oe&&c.jsx("div",{className:"mb-2 rounded-xl bg-[rgb(var(--warning-rgb)_/_0.12)] px-3 py-2 text-[11px] text-[color:var(--warning)]",children:ee("fileTree.truncatedHint")}),pr.map(nt=>c.jsx(DD,{node:nt,depth:0,onFileSelect:t,directoriesOnly:r,onPathReference:s,getReferenceText:i,onReferenceCopied:u,onDirectoryRoot:p,onSearchFromDirectory:g,onDirectoryPinToggle:x,onFilePinToggle:b,onOpenInFileBrowser:v,canOpenInFileBrowser:A,pinnedPaths:k,selectedFilePath:I,queryLower:De,insertedReferenceKey:l,copiedReferenceKey:h,onDirectoryDropFiles:O,onFileDeleteRequest:tr,deletingFilePath:xt,revealedDirectoryPath:q?.path},nt.path))]})}function mp(e){return e.trim().replace(/\/+$/,"")||"/"}function UD(e){const t=mp(e);if(t==="/")return"/";const r=t.lastIndexOf("/");return r<=0?"/":t.slice(0,r)}function B6({open:e,initialPath:t,title:r,labels:s,onCancel:i,onConfirm:u}){const{t:l}=ln(),h={hint:s?.hint??l("sidebar.directoryPickerHint"),cancel:s?.cancel??l("common.cancel"),confirm:s?.confirm??l("sidebar.useThisFolder"),close:s?.close??l("common.close"),parent:s?.parent??l("rightSidebar.parentFolder")},[p,g]=_.useState(()=>mp(t));return _.useEffect(()=>{e&&g(mp(t))},[t,e]),_.useEffect(()=>{if(!e)return;const x=document.body.style.overflow,b=v=>{v.key==="Escape"&&(v.preventDefault(),v.stopPropagation(),i())};return document.body.style.overflow="hidden",document.addEventListener("keydown",b,!0),()=>{document.body.style.overflow=x,document.removeEventListener("keydown",b,!0)}},[i,e]),e?Ra.createPortal(c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button",className:"fixed inset-0 z-modal-backdrop cursor-default bg-[var(--app-backdrop)] backdrop-blur-sm",onClick:i,"aria-label":h.cancel}),c.jsxs("section",{role:"dialog","aria-modal":"true","aria-labelledby":"directory-picker-title",className:"fixed bottom-[max(0.75rem,env(safe-area-inset-bottom,0px))] left-[max(0.75rem,env(safe-area-inset-left,0px))] right-[max(0.75rem,env(safe-area-inset-right,0px))] top-[max(0.75rem,env(safe-area-inset-top,0px))] z-modal-panel flex flex-col overflow-hidden rounded-2xl border border-border/15 bg-surface shadow-[0_28px_70px_var(--app-shadow-strong),0_14px_32px_var(--app-shadow-soft)] sm:bottom-auto sm:left-1/2 sm:right-auto sm:top-1/2 sm:h-[min(72svh,36rem)] sm:w-[min(36rem,calc(100vw-2rem))] sm:-translate-x-1/2 sm:-translate-y-1/2",children:[c.jsxs("header",{className:"flex shrink-0 items-center gap-3 border-b border-border/15 px-4 py-3",children:[c.jsx("span",{className:"inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-primary/15 text-primary",children:c.jsx(lv,{size:15})}),c.jsxs("div",{className:"min-w-0 flex-1",children:[c.jsx("h2",{id:"directory-picker-title",className:"text-[13px] font-semibold text-foreground",children:r}),c.jsx("p",{className:"mt-0.5 text-[10px] text-muted-foreground",children:h.hint})]}),c.jsx("button",{type:"button",autoFocus:!0,onClick:i,className:"inline-flex h-9 w-9 items-center justify-center rounded-lg text-muted-foreground transition hover:bg-surface-2 hover:text-foreground","aria-label":h.close,children:c.jsx($s,{size:15})})]}),c.jsxs("div",{className:"flex min-h-11 shrink-0 items-center gap-2 border-b border-border/15 px-3 py-1.5",children:[c.jsx("button",{type:"button",disabled:p==="/",onClick:()=>g(UD(p)),className:"inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-lg text-muted-foreground transition hover:bg-surface-2 hover:text-foreground disabled:opacity-30","aria-label":h.parent,children:c.jsx(O5,{size:14})}),c.jsx("span",{className:"min-w-0 flex-1 truncate font-mono text-[10.5px] text-foreground",title:p,children:p})]}),c.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto overscroll-contain py-1",children:c.jsx(FD,{rootPath:p,directoriesOnly:!0,onFileSelect:()=>{},onDirectoryRoot:g,selectedFilePath:t||null})}),c.jsxs("footer",{className:"flex shrink-0 items-center justify-end gap-2 border-t border-border/15 bg-surface-elevated px-3 py-3",children:[c.jsx("button",{type:"button",onClick:i,className:"min-h-10 rounded-lg bg-surface-2 px-4 text-[11px] font-medium text-foreground transition hover:bg-surface",children:h.cancel}),c.jsxs("button",{type:"button",onClick:()=>u(p),className:"inline-flex min-h-10 items-center gap-1.5 rounded-lg bg-primary px-4 text-[11px] font-semibold text-primary-foreground transition hover:bg-primary/90",children:[c.jsx(sa,{size:13}),h.confirm]})]})]})]}),document.body):null}function $D({directories:e,tmuxAvailable:t,options:r,agents:s,selectedAgent:i,detecting:u,resumeHistory:l,resumeHistoryLoading:h,resumeHistoryPendingId:p,resumeHistoryError:g,onRefreshAgents:x,onSelectAgent:b,onLaunchAgent:v,onResumeHistory:A,onRemoveResumeHistory:k,onClose:I,onOptionsChange:R}){const{t:M,locale:B}=ln(),[F,W]=_.useState(i),[O,q]=_.useState(!1),ee=_.useMemo(()=>[...new Set(e.filter(Boolean))].slice(0,5),[e]),de=F?.displayName??"Terminal",Ae=i?.displayName??"Terminal",Le=F===null?i===null:i?.slug===F.slug;_.useEffect(()=>{const Te=fe=>{fe.key==="Escape"&&(O||I())};return document.addEventListener("keydown",Te),()=>document.removeEventListener("keydown",Te)},[O,I]);const ve=Te=>{R({...r,cwd:Te}),q(!1)},Ye=Te=>new Intl.DateTimeFormat(B==="zh"?"zh-CN":"en",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}).format(new Date(Te));return c.jsxs("section",{className:"relative z-20 flex max-h-[min(56svh,36rem)] shrink-0 flex-col overflow-hidden border-t border-border/25 bg-surface-elevated shadow-[0_-18px_42px_var(--app-shadow-soft)] animate-slide-down","aria-label":M("sidebar.newSessionComposerTitle"),children:[c.jsxs("div",{className:"flex shrink-0 items-center justify-between gap-3 px-3 pb-2 pt-3",children:[c.jsxs("div",{className:"flex min-w-0 items-center gap-2.5",children:[c.jsx("span",{className:"inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-primary/15 text-primary",children:c.jsx(na,{size:14})}),c.jsxs("div",{className:"min-w-0",children:[c.jsx("div",{className:"text-[12px] font-semibold text-foreground",children:M("sidebar.newSessionComposerTitle")}),c.jsx("div",{className:"truncate text-[10.5px] text-muted-foreground",children:M("sidebar.newSessionHint")})]})]}),c.jsx("button",{type:"button",onClick:I,className:"inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-lg text-muted-foreground transition hover:bg-surface-2 hover:text-foreground","aria-label":M("common.close"),children:c.jsx($s,{size:14})})]}),c.jsxs("div",{className:"min-h-0 flex-1 overflow-y-auto overscroll-contain px-3 pb-3",children:[c.jsxs("div",{className:"mt-1 flex items-center justify-between gap-2",children:[c.jsx("span",{className:"text-[10px] font-medium uppercase tracking-[0.12em] text-muted-foreground",children:M("sidebar.sessionMode")}),r.mode==="tmux"&&c.jsx("span",{className:"text-[10px] text-muted-foreground",children:M("sidebar.tmuxKeepsRunning")})]}),c.jsx("div",{className:"mt-1.5 grid grid-cols-2 gap-1 rounded-lg bg-surface-2 p-1",children:["shell","tmux"].map(Te=>c.jsx("button",{type:"button",disabled:Te==="tmux"&&!t,onClick:()=>R({...r,mode:Te}),"aria-pressed":r.mode===Te,title:Te==="tmux"&&!t?M("sidebar.newTmuxDisabled"):void 0,className:`min-h-9 rounded-md px-2 py-1.5 text-[11px] font-medium transition ${r.mode===Te?"bg-surface-elevated text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"} disabled:cursor-not-allowed disabled:opacity-40`,children:M(Te==="shell"?"sidebar.newShell":"sidebar.newTmux")},Te))}),c.jsxs("div",{className:"mt-3 flex items-center justify-between",children:[c.jsx("span",{className:"text-[10px] font-medium uppercase tracking-[0.12em] text-muted-foreground",children:"Agent"}),c.jsxs("button",{type:"button",onClick:x,disabled:u,className:"inline-flex min-h-8 items-center gap-1 px-1 text-[10px] text-muted-foreground transition hover:text-foreground disabled:opacity-50",title:M("sidebar.detectAgents"),children:[c.jsx(gs,{size:10,className:u?"animate-spin":""}),M("sidebar.detectAgents")]})]}),c.jsxs("label",{className:"relative mt-1 flex min-h-11 cursor-pointer items-center gap-2.5 rounded-lg border border-border/30 bg-surface px-3 text-foreground transition hover:bg-surface-2 focus-within:border-primary/50",children:[F?c.jsx(Yl,{agent:F,size:16}):c.jsx(na,{size:14,className:"shrink-0"}),c.jsx("span",{className:"min-w-0 flex-1 truncate text-[11.5px] font-semibold",children:de}),Le&&c.jsx("span",{className:"shrink-0 text-[9.5px] text-muted-foreground",children:M("sidebar.defaultAgent")}),u?c.jsx(Xr,{size:12,className:"shrink-0 animate-spin text-muted-foreground"}):c.jsx(Kl,{size:13,className:"shrink-0 text-muted-foreground"}),c.jsxs("select",{"aria-label":"Agent",value:F?.slug??"__terminal__",onChange:Te=>{const fe=Te.target.value;W(fe==="__terminal__"?null:s.find(je=>je.slug===fe)??null)},className:"absolute inset-0 h-full w-full cursor-pointer opacity-0",children:[c.jsx("option",{value:"__terminal__",children:"Terminal"}),s.map(Te=>c.jsx("option",{value:Te.slug,children:Te.displayName},Te.slug))]})]}),!Le&&c.jsxs("div",{className:"mt-1 flex min-h-8 items-center justify-between gap-2 px-0.5 text-[10px]",children:[c.jsx("span",{className:"truncate text-muted-foreground",children:M("sidebar.currentDefaultAgent",{name:Ae})}),c.jsx("button",{type:"button",onClick:()=>b(F),className:"relative z-10 shrink-0 rounded-md px-2 py-1.5 font-medium text-primary transition hover:bg-primary/10",children:M("sidebar.makeDefault")})]}),c.jsx("label",{htmlFor:"new-session-directory",className:"mt-2.5 block text-[10px] font-medium uppercase tracking-[0.12em] text-muted-foreground",children:M("sidebar.workingDirectory")}),c.jsxs("button",{id:"new-session-directory",type:"button","aria-haspopup":"dialog",onClick:()=>q(!0),className:"mt-1 flex h-9 w-full items-center gap-2 rounded-lg border border-border/25 bg-surface px-2.5 font-mono text-[11px] text-foreground outline-none transition hover:bg-surface-2 focus-visible:border-primary/50",children:[c.jsx(j0,{size:12,className:"shrink-0 text-muted-foreground"}),c.jsx("span",{className:`min-w-0 flex-1 truncate text-left ${r.cwd?"":"text-muted-foreground"}`,children:r.cwd||M("sidebar.directoryPlaceholder")})]}),ee.length>0&&c.jsx("div",{className:"mt-1.5 flex gap-1 overflow-x-auto pb-0.5","aria-label":M("sidebar.recentDirectories"),children:ee.map(Te=>c.jsx("button",{type:"button",onClick:()=>ve(Te),title:Te,className:"min-h-8 shrink-0 rounded-md bg-surface-2 px-2 text-[10px] text-muted-foreground transition hover:bg-surface hover:text-foreground",children:ka(Te)||Te},Te))}),(l.length>0||g)&&c.jsxs("details",{className:"mt-3 border-t border-border/15 pt-2",children:[c.jsxs("summary",{className:"flex min-h-9 cursor-pointer list-none items-center gap-2 rounded-md px-1 text-[10px] font-medium uppercase tracking-[0.12em] text-muted-foreground transition hover:text-foreground",children:[c.jsx(I0,{size:11}),c.jsx("span",{className:"flex-1",children:M("sidebar.resumeHistory")}),h&&c.jsx(Xr,{size:10,className:"animate-spin"}),l.length>0&&c.jsx("span",{className:"normal-case tracking-normal",children:M("sidebar.resumeHistoryCount",{n:l.length})}),c.jsx(Kl,{size:11})]}),l.length>0&&c.jsx("div",{className:"mt-1 divide-y divide-border/10 overflow-hidden rounded-lg border border-border/15 bg-surface",children:l.slice(0,6).map(Te=>{const fe=p===Te.id;return c.jsxs("div",{className:"group flex min-w-0 items-stretch transition hover:bg-surface-2",children:[c.jsxs("button",{type:"button",disabled:p!==null,onClick:()=>A(Te),className:"flex min-h-11 min-w-0 flex-1 items-center gap-2.5 px-2.5 py-2 text-left disabled:cursor-wait disabled:opacity-60","aria-label":M("sidebar.resumeHistoryAction",{title:Te.title}),children:[c.jsx("span",{className:"inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-lg bg-primary/10 text-primary",children:fe?c.jsx(Xr,{size:13,className:"animate-spin"}):c.jsx(Yl,{agent:Te.agent,size:14})}),c.jsxs("span",{className:"min-w-0 flex-1",children:[c.jsx("span",{className:"block truncate text-[11px] font-semibold text-foreground",children:Te.title}),c.jsxs("span",{className:"block truncate text-[9.5px] text-muted-foreground",children:[Te.agent.displayName," · ",Ye(Te.closedAt)]})]}),c.jsx(z5,{size:12,className:"shrink-0 text-muted-foreground transition group-hover:text-primary"})]}),c.jsxs("button",{type:"button",disabled:p!==null,onClick:()=>k(Te.id),className:"relative inline-flex w-11 shrink-0 items-center justify-center text-muted-foreground transition hover:text-destructive disabled:opacity-40","aria-label":M("sidebar.resumeHistoryRemove",{title:Te.title}),children:[c.jsx("span",{"aria-hidden":"true",className:"pointer-events-none absolute inset-y-2 left-0 w-px bg-border opacity-30"}),c.jsx(to,{size:12})]})]},Te.id)})}),g&&c.jsx("div",{role:"alert",className:"mt-1.5 px-1 text-[10px] text-destructive",children:g})]})]}),c.jsx("div",{className:"shrink-0 border-t border-border/15 bg-surface-elevated p-3",children:c.jsxs("button",{type:"button",onClick:()=>v(F),className:"flex min-h-11 w-full items-center justify-center gap-2 rounded-lg bg-primary px-3 text-[12px] font-semibold text-primary-foreground shadow-md shadow-primary/20 transition hover:bg-primary/90 active:scale-[0.99]","aria-label":M("sidebar.launchSessionWith",{name:de}),children:[F?c.jsx(Yl,{agent:F,size:15}):c.jsx(na,{size:14}),c.jsx("span",{className:"truncate",children:M("sidebar.launchSessionWith",{name:de})})]})}),c.jsx(B6,{open:O,initialPath:r.cwd?.trim()||ee[0]||"/",title:M("sidebar.chooseDirectory"),onCancel:()=>q(!1),onConfirm:ve})]})}const Q6="termdock:new-session-agent:v1";function zD(){if(typeof window>"u")return null;try{const e=JSON.parse(window.localStorage.getItem(Q6)||"null");return!e||typeof e.slug!="string"||typeof e.command!="string"?null:{slug:e.slug,command:e.command,displayName:typeof e.displayName=="string"?e.displayName:e.slug,capabilities:Array.isArray(e.capabilities)?e.capabilities.filter(t=>typeof t=="string"):void 0,accentColor:typeof e.accentColor=="string"?e.accentColor:"var(--muted-foreground)",icon:typeof e.icon=="string"?e.icon:null,isPlugin:e.isPlugin===!0,iconMode:e.iconMode==="native"?"native":e.iconMode==="mask"?"mask":void 0,iconVersion:typeof e.iconVersion=="number"?e.iconVersion:void 0}}catch{return null}}function vf(e){if(!(typeof window>"u"))try{window.localStorage.setItem(Q6,JSON.stringify(e))}catch{}}function HD(e,t){return e?t.find(r=>r.slug===e)??null:null}function WD(){const[e,t]=_.useState(zD),[r,s]=_.useState([]),[i,u]=_.useState(!0),l=_.useCallback(async()=>{u(!0);try{const[p,g]=await Promise.all([bp(),M5()]),x=HD(p.newSessionAgentSlug,g);s(g),t(x),vf(x)}finally{u(!1)}},[]);_.useEffect(()=>{const p=()=>{l().catch(()=>{})};if(performance.getEntriesByName("termdock:startup:initial-viewport-presented").length>0){p();return}return window.addEventListener("termdock:initial-viewport-presented",p,{once:!0}),()=>window.removeEventListener("termdock:initial-viewport-presented",p)},[l]);const h=_.useCallback(async p=>{const g=e;t(p),vf(p);try{await ea({newSessionAgentSlug:p?.slug??null})}catch(x){throw t(g),vf(g),x}},[e]);return{preference:e,agents:r,detecting:i,refresh:l,selectAgent:h}}const gi="w-full rounded-lg border border-border/20 bg-surface-2 px-3 py-2 text-[12px] text-foreground outline-none transition focus:border-primary/60",an="inline-flex items-center justify-center gap-1.5 rounded-lg px-3 py-2 text-[12px] font-medium transition disabled:cursor-not-allowed disabled:opacity-40";function GD({activeSessionId:e,initialCollaborationGroupId:t=null,defaultSessionMode:r="shell",onClose:s,onNewSession:i}){const[u,l]=_.useState(t?"collaboration":"automation"),[h,p]=_.useState([]),[g,x]=_.useState([]),[b,v]=_.useState([]),[A,k]=_.useState([]),[I,R]=_.useState([]),[M,B]=_.useState(null),[F,W]=_.useState(null),[O,q]=_.useState(null),ee=t?A.find(Ae=>Ae.id===t)??null:null,de=_.useCallback(async(Ae={})=>{Ae.silent||W(null);try{const[Le,ve,Ye]=await Promise.all([A7(),N5(),M5()]);p(Le.automations),x(Le.runs),k(ve.groups),R(ve.sessions),v(Ye)}catch(Le){Ae.silent||W(Le instanceof Error?Le.message:"加载失败")}},[]);return _.useEffect(()=>{de();const Ae=window.setInterval(()=>{de({silent:!0})},1e4);return()=>window.clearInterval(Ae)},[de]),_.useEffect(()=>{const Ae=Le=>{Le.key==="Escape"&&s()};return window.addEventListener("keydown",Ae),()=>window.removeEventListener("keydown",Ae)},[s]),Ra.createPortal(c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button",className:"fixed inset-0 z-modal-backdrop bg-[var(--app-backdrop)] backdrop-blur-sm cursor-default",onClick:s,"aria-label":"关闭 Agent 工作台"}),c.jsxs("section",{className:"fixed left-[max(0.75rem,env(safe-area-inset-left,0px))] right-[max(0.75rem,env(safe-area-inset-right,0px))] top-[max(1.5rem,env(safe-area-inset-top,0px))] bottom-[max(1.5rem,env(safe-area-inset-bottom,0px))] z-modal-panel mx-auto flex max-w-3xl flex-col overflow-hidden rounded-2xl border border-border/15 bg-surface shadow-[0_28px_70px_var(--app-shadow-strong),0_14px_32px_var(--app-shadow-soft)] sm:top-[8%] sm:bottom-auto sm:max-h-[84vh]",children:[c.jsxs("header",{className:"flex items-center gap-2 border-b border-border/15 px-4 py-3",children:[c.jsx(Ed,{size:17,className:"text-primary"}),c.jsxs("div",{className:"min-w-0 flex-1",children:[c.jsx("h2",{className:"text-[14px] font-semibold text-foreground",children:ee?`${ee.name} · 协作消息`:"Agent 工作台"}),c.jsx("p",{className:"text-[10px] text-muted-foreground",children:ee?"发送任务、问题或工作交接":"自动任务、会话协作与全文恢复"})]}),c.jsx("button",{className:"rounded-lg p-2 text-muted-foreground hover:bg-surface-2 hover:text-foreground",onClick:s,"aria-label":"关闭",children:c.jsx($s,{size:16})})]}),c.jsx("nav",{className:"flex gap-1 border-b border-border/15 px-3 py-2",children:[["automation",Uc,"自动任务"],["collaboration",P0,"会话协作"],["search",od,"全文搜索"]].map(([Ae,Le,ve])=>c.jsxs("button",{onClick:()=>l(Ae),className:`${an} ${u===Ae?"bg-primary/15 text-primary":"text-muted-foreground hover:bg-surface-2 hover:text-foreground"}`,children:[c.jsx(Le,{size:14}),ve]},Ae))}),F&&c.jsx("div",{className:"mx-4 mt-3 rounded-lg bg-destructive/10 px-3 py-2 text-[11px] text-destructive",children:F}),O&&c.jsxs("div",{className:"mx-4 mt-3 flex items-center gap-2 rounded-lg bg-primary/10 px-3 py-2 text-[11px] text-primary",children:[c.jsx(sa,{size:13}),O]}),c.jsxs("div",{className:"min-h-0 flex-1 overflow-y-auto p-4",children:[u==="automation"&&c.jsx(VD,{automations:h,runs:g,agents:b,sessions:I,activeSessionId:e,busy:M,setBusy:B,setError:W,setNotice:q,refresh:de,onClose:s}),u==="collaboration"&&c.jsx(ZD,{groups:A,sessions:I,agents:b,activeSessionId:e,initialGroupId:t,defaultSessionMode:r,busy:M,setBusy:B,setError:W,setNotice:q,refresh:de}),u==="search"&&c.jsx(eB,{onClose:s,onNewSession:i,setError:W})]})]})]}),document.body)}function VD({automations:e,runs:t,agents:r,sessions:s,activeSessionId:i,busy:u,setBusy:l,setError:h,setNotice:p,refresh:g,onClose:x}){const[b,v]=_.useState(null),[A,k]=_.useState(!1),[I,R]=_.useState(null),M=async(B,F,W)=>{l(B),h(null),p(null);try{await F(),await g(),p(W)}catch(O){h(O instanceof Error?O.message:"操作失败")}finally{l(null)}};return c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{className:"flex items-start justify-between gap-4",children:[c.jsxs("div",{children:[c.jsx("h3",{className:"text-[13px] font-medium text-foreground",children:"自动任务"}),c.jsx("p",{className:"mt-1 max-w-xl text-[11px] leading-relaxed text-muted-foreground",children:"按计划把任务交给 Agent。每次运行都有独立会话和结果入口。"})]}),!A&&e.length>0&&c.jsxs("button",{className:`${an} shrink-0 bg-primary text-primary-foreground`,onClick:()=>{v(null),k(!0),p(null)},children:[c.jsx(Hi,{size:13}),"新建任务"]})]}),A&&c.jsx(qD,{agents:r,sessions:s,activeSessionId:i,initial:b,onCancel:()=>{v(null),k(!1)},onSaved:async B=>{v(null),k(!1),await g(),p(b?`“${B}”已更新`:`“${B}”已创建,将按计划自动运行`)},setError:h}),e.length===0&&!A&&c.jsxs("div",{className:"border-y border-border/15 py-8 text-center",children:[c.jsx(B8,{size:24,className:"mx-auto text-primary"}),c.jsx("p",{className:"mt-3 text-[13px] font-medium text-foreground",children:"把重复工作交给 Agent"}),c.jsx("p",{className:"mx-auto mt-1 max-w-sm text-[11px] leading-relaxed text-muted-foreground",children:"选择运行会话、写清任务内容,再设定时间。创建后可以先手动运行一次确认效果。"}),c.jsxs("button",{className:`${an} mt-4 bg-primary text-primary-foreground`,onClick:()=>k(!0),children:[c.jsx(Hi,{size:13}),"创建第一个任务"]})]}),c.jsx("div",{className:"space-y-2",children:e.map(B=>{const F=t.find(O=>O.automationId===B.id),W=r.find(O=>O.command===B.command);return c.jsxs("article",{className:"rounded-xl border border-border/15 bg-surface-2/40 p-3 transition hover:border-border/30",children:[c.jsxs("div",{className:"flex items-start gap-3",children:[c.jsxs("div",{className:"min-w-0 flex-1",children:[c.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[c.jsx("span",{className:"truncate text-[13px] font-medium text-foreground",children:B.name}),c.jsx("span",{className:`rounded-full px-2 py-0.5 text-[9px] ${B.enabled?"bg-primary/10 text-primary":"bg-surface-elevated text-muted-foreground"}`,children:B.enabled?"已启用":"已停用"}),B.lastRunStatus&&c.jsx("span",{className:`text-[10px] ${iB(B.lastRunStatus)}`,children:sB(B.lastRunStatus)})]}),c.jsxs("div",{className:"mt-2 flex flex-wrap gap-x-4 gap-y-1 text-[10px] text-muted-foreground",children:[c.jsxs("span",{className:"inline-flex items-center gap-1",children:[c.jsx(Uc,{size:11}),rB(B)]}),c.jsx("span",{children:B.enabled&&B.nextRunAt?`下次 ${Id(B.nextRunAt)}`:"不会自动运行"})]}),c.jsx("p",{className:"mt-1 truncate text-[10px] text-muted-foreground",children:B.targetSessionId?`发送到 ${s.find(O=>O.sessionId===B.targetSessionId)?.name??"指定会话"}`:`新建 ${W?.displayName??"Agent"} 会话 · ${B.cwd}`}),c.jsx("p",{className:"mt-2 line-clamp-2 text-[11px] leading-relaxed text-foreground/80",children:B.prompt}),B.lastRunAt&&c.jsxs("p",{className:"mt-2 text-[10px] text-muted-foreground",children:["上次 ",Id(B.lastRunAt),B.lastRunMessage?` · ${B.lastRunMessage}`:""]})]}),c.jsx("button",{"aria-label":`编辑 ${B.name}`,title:"编辑",className:"rounded-lg p-2 text-muted-foreground transition hover:bg-surface-elevated hover:text-foreground",onClick:()=>{v(B),k(!0),p(null)},children:c.jsx(D5,{size:13})})]}),c.jsx("div",{className:"mt-3 flex flex-wrap items-center justify-end gap-2 border-t border-border/10 pt-3",children:I===B.id?c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"mr-auto text-[10px] text-destructive",children:"删除后不会再自动运行"}),c.jsx("button",{className:`${an} bg-surface-elevated text-foreground`,onClick:()=>R(null),children:"取消"}),c.jsxs("button",{disabled:u!==null,className:`${an} bg-destructive text-destructive-foreground`,onClick:()=>{M(`delete:${B.id}`,()=>T7(B.id),`“${B.name}”已删除`).then(()=>R(null))},children:[u===`delete:${B.id}`?c.jsx(gs,{size:13,className:"animate-spin"}):c.jsx(to,{size:13}),"确认删除"]})]}):c.jsxs(c.Fragment,{children:[c.jsxs("button",{className:`${an} mr-auto px-2 text-destructive hover:bg-destructive/10`,onClick:()=>R(B.id),children:[c.jsx(to,{size:13}),"删除"]}),c.jsxs("button",{disabled:u!==null,className:`${an} ${B.enabled?"bg-surface-elevated text-foreground":"bg-primary/15 text-primary"}`,onClick:()=>{M(`toggle:${B.id}`,()=>S7(B.id,!B.enabled),B.enabled?`“${B.name}”已暂停,不会自动运行`:`“${B.name}”已恢复,将按原计划运行`)},children:[u===`toggle:${B.id}`?c.jsx(gs,{size:13,className:"animate-spin"}):B.enabled?c.jsx(Rv,{size:13}):c.jsx(J1,{size:13}),B.enabled?"暂停":"恢复"]}),F?.frontendSessionId&&c.jsxs("button",{className:`${an} bg-surface-elevated text-foreground`,onClick:()=>{window.dispatchEvent(new CustomEvent("switch-terminal-session",{detail:F.frontendSessionId})),x()},children:[c.jsx(U5,{size:13}),"打开上次会话"]}),c.jsxs("button",{disabled:u!==null,className:`${an} bg-primary/15 text-primary`,onClick:()=>{M(`run:${B.id}`,()=>C7(B.id),`“${B.name}”已投递,可打开会话查看进度`)},children:[u===`run:${B.id}`?c.jsx(gs,{size:13,className:"animate-spin"}):c.jsx(J1,{size:13}),"立即运行"]})]})})]},B.id)})})]})}function qD({agents:e,sessions:t,activeSessionId:r,initial:s,onCancel:i,onSaved:u,setError:l}){const[h,p]=_.useState(s?.name??""),g=t.find(Z=>Z.sessionId===r),x=s?.cwd??g?.cwd??t[0]?.cwd??"",[b,v]=_.useState(x),[A,k]=_.useState(!1),[I,R]=_.useState(()=>e.find(Z=>Z.command===s?.command)?.slug??""),[M,B]=_.useState(s?.prompt??""),[F,W]=_.useState(s?.targetSessionId??""),[O,q]=_.useState(s?.targetSessionId?"existing":"new"),[ee,de]=_.useState(s?.schedule.kind??"interval"),[Ae,Le]=_.useState(s?.schedule.kind==="interval"?s.schedule.everyMinutes:60),[ve,Ye]=_.useState(s?.schedule.kind==="daily"?s.schedule.time:"09:00"),[Te,fe]=_.useState(s?.schedule.kind==="daily"?s.schedule.weekdays:[1,2,3,4,5]),[je,be]=_.useState(s?.enabled??!0),[ie,oe]=_.useState(!1),ke=(e.find(Z=>Z.slug===I)??null)?.command??s?.command??"";_.useEffect(()=>{!s&&!I&&e[0]&&R(e[0].slug)},[e,s,I]);const qe=async()=>{oe(!0),l(null);try{await k7({id:s?.id,name:h,cwd:b,command:O==="new"?ke:"",prompt:M,targetSessionId:O==="existing"&&F||null,enabled:je,schedule:ee==="interval"?{kind:ee,everyMinutes:Ae}:{kind:ee,time:ve,weekdays:Te}}),await u(h.trim())}catch(Z){l(Z instanceof Error?Z.message:"保存失败")}finally{oe(!1)}},se=ee==="interval"?{kind:ee,everyMinutes:Ae}:{kind:ee,time:ve,weekdays:Te},[Se,Lt]=ve.split(":"),Dt=(Z,rt)=>Ye(`${Z}:${rt}`),Ue=!!(h.trim()&&M.trim()&&(O==="existing"?F:ke)&&(ee==="interval"?Ae>=1:Te.length>0));return c.jsxs("div",{className:"overflow-hidden rounded-xl border border-primary/25 bg-primary/5",children:[c.jsxs("div",{className:"flex items-center justify-between border-b border-primary/15 px-4 py-3",children:[c.jsxs("div",{children:[c.jsx("p",{className:"text-[13px] font-medium text-foreground",children:s?"编辑自动任务":"创建自动任务"}),c.jsx("p",{className:"mt-0.5 text-[10px] text-muted-foreground",children:"三步完成,保存后可立即试跑"})]}),c.jsx("button",{className:"rounded-lg p-2 text-muted-foreground hover:bg-surface-2 hover:text-foreground",onClick:i,"aria-label":"关闭任务表单",children:c.jsx($s,{size:14})})]}),c.jsxs("div",{className:"space-y-5 p-4",children:[c.jsxs("fieldset",{className:"space-y-3",children:[c.jsxs("legend",{className:"text-[11px] font-medium text-foreground",children:[c.jsx("span",{className:"mr-2 text-primary",children:"1"}),"要做什么"]}),c.jsxs("label",{className:"block space-y-1 text-[10px] text-muted-foreground",children:["任务名称",c.jsx("input",{autoFocus:!0,className:gi,value:h,onChange:Z=>p(Z.target.value),placeholder:"例如:每日代码巡检"})]}),c.jsxs("label",{className:"block space-y-1 text-[10px] text-muted-foreground",children:["任务内容",c.jsx("textarea",{className:`${gi} min-h-24 resize-y`,value:M,onChange:Z=>B(Z.target.value),placeholder:"说明目标、检查范围和期望产出,例如:检查当前分支的测试与待办,修复可安全处理的问题并总结结果。"})]})]}),c.jsxs("fieldset",{className:"space-y-3 border-t border-border/10 pt-4",children:[c.jsxs("legend",{className:"text-[11px] font-medium text-foreground",children:[c.jsx("span",{className:"mr-2 text-primary",children:"2"}),"在哪里运行"]}),c.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[c.jsx("button",{type:"button","aria-pressed":O==="new",className:`${an} justify-start border px-3 text-left ${O==="new"?"border-primary/40 bg-primary/10 text-primary":"border-border/15 bg-surface-2 text-muted-foreground"}`,onClick:()=>q("new"),children:"每次新建会话"}),c.jsx("button",{type:"button","aria-pressed":O==="existing",disabled:t.length===0,className:`${an} justify-start border px-3 text-left ${O==="existing"?"border-primary/40 bg-primary/10 text-primary":"border-border/15 bg-surface-2 text-muted-foreground"}`,onClick:()=>{q("existing"),F||W(r??t[0]?.sessionId??"")},children:"发送到现有会话"})]}),O==="new"?c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"grid gap-3 sm:grid-cols-2",children:[c.jsxs("label",{className:"space-y-1 text-[10px] text-muted-foreground",children:["Agent / Plugin",c.jsxs("select",{className:gi,value:I,onChange:Z=>R(Z.target.value),children:[s&&!e.some(Z=>Z.command===s.command)&&c.jsx("option",{value:"",children:"原 Agent 当前不可用"}),e.map(Z=>c.jsxs("option",{value:Z.slug,children:[Z.displayName,Z.isPlugin?" · Plugin":""]},Z.slug))]})]}),c.jsxs("label",{className:"space-y-1 text-[10px] text-muted-foreground",children:["工作目录",c.jsxs("div",{className:"flex gap-2",children:[c.jsx("input",{className:gi,value:b,onChange:Z=>v(Z.target.value),placeholder:"默认使用当前目录"}),c.jsxs("button",{type:"button","aria-haspopup":"dialog",className:`${an} shrink-0 bg-surface-2 text-foreground`,onClick:()=>k(!0),children:[c.jsx(N0,{size:13}),"选择"]})]})]})]}),e.length===0&&c.jsx("p",{className:"text-[10px] text-destructive",children:"没有检测到可启动的 Agent。请先在 Plugin 设置中安装或配置 Agent。"})]}):c.jsxs("label",{className:"block space-y-1 text-[10px] text-muted-foreground",children:["目标会话",c.jsx("select",{className:gi,value:F,onChange:Z=>W(Z.target.value),children:t.map(Z=>c.jsxs("option",{value:Z.sessionId,children:[Z.name," · ",Z.status]},Z.sessionId))}),c.jsx("span",{className:"block leading-relaxed",children:"运行时该会话需要在线,并且 Agent 处于可接收任务的状态。"})]})]}),c.jsxs("fieldset",{className:"space-y-3 border-t border-border/10 pt-4",children:[c.jsxs("legend",{className:"text-[11px] font-medium text-foreground",children:[c.jsx("span",{className:"mr-2 text-primary",children:"3"}),"什么时候运行"]}),c.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[c.jsx("button",{type:"button","aria-pressed":ee==="interval",className:`${an} border ${ee==="interval"?"border-primary/40 bg-primary/10 text-primary":"border-border/15 bg-surface-2 text-muted-foreground"}`,onClick:()=>de("interval"),children:"固定间隔"}),c.jsx("button",{type:"button","aria-pressed":ee==="daily",className:`${an} border ${ee==="daily"?"border-primary/40 bg-primary/10 text-primary":"border-border/15 bg-surface-2 text-muted-foreground"}`,onClick:()=>de("daily"),children:"指定日期与时间"})]}),ee==="interval"?c.jsxs("label",{className:"block space-y-1 text-[10px] text-muted-foreground",children:["每隔多少分钟",c.jsx("input",{className:gi,type:"number",min:1,max:43200,value:Ae,onChange:Z=>Le(Number(Z.target.value))}),c.jsx("span",{className:"block",children:"例如 60 = 每小时,1440 = 每天。始终按任务创建时间计算,之后编辑不会重置节奏。"})]}):c.jsxs("div",{className:"space-y-3",children:[c.jsxs("div",{children:[c.jsx("span",{className:"text-[10px] text-muted-foreground",children:"运行时间"}),c.jsxs("div",{className:"mt-1 flex items-center rounded-xl border border-border/20 bg-surface-2 px-3 py-2.5 focus-within:border-primary/60",children:[c.jsx(Uc,{size:15,className:"mr-3 shrink-0 text-primary"}),c.jsx(c5,{label:"小时",value:Se,options:24,onChange:Z=>Dt(Z,Lt)}),c.jsx("span",{"aria-hidden":"true",className:"px-2 text-[18px] font-medium text-muted-foreground",children:":"}),c.jsx(c5,{label:"分钟",value:Lt,options:60,onChange:Z=>Dt(Se,Z)}),c.jsx("span",{className:"ml-3 shrink-0 rounded-md bg-surface-elevated px-2 py-1 text-[9px] font-medium text-muted-foreground",children:"24 小时制"})]})]}),c.jsxs("div",{children:[c.jsx("span",{className:"text-[10px] text-muted-foreground",children:"运行日期"}),c.jsx("div",{className:"mt-1 grid grid-cols-7 gap-1",children:["日","一","二","三","四","五","六"].map((Z,rt)=>{const gt=Te.includes(rt);return c.jsx("button",{type:"button","aria-pressed":gt,"aria-label":`星期${Z}`,className:`rounded-lg py-2.5 text-[10px] transition ${gt?"bg-primary text-primary-foreground":"bg-surface-2 text-muted-foreground hover:bg-surface-elevated"}`,onClick:()=>fe(J=>gt?J.filter(K=>K!==rt):[...J,rt].sort()),children:Z},rt)})}),Te.length===0&&c.jsx("p",{className:"mt-1 text-[10px] text-destructive",children:"至少选择一天"})]})]})]})]}),c.jsxs("div",{className:"flex flex-col gap-3 border-t border-primary/15 bg-surface/50 px-4 py-3 sm:flex-row sm:items-center",children:[c.jsxs("div",{className:"min-w-0 flex-1",children:[c.jsxs("label",{className:"flex items-center gap-2 text-[11px] text-foreground",children:[c.jsx("input",{type:"checkbox",checked:je,onChange:Z=>be(Z.target.checked)}),"保存后启用"]}),c.jsx("p",{className:"mt-1 truncate text-[10px] text-muted-foreground",children:je&&Ue?`${s?"下次运行":"首次运行"}:${Id(nB(se,Date.now(),s?.createdAt))}`:je?"填写完整后显示首次运行时间":"任务会保存,但不会自动运行"})]}),c.jsxs("div",{className:"flex justify-end gap-2",children:[c.jsx("button",{className:`${an} bg-surface-2 text-foreground`,onClick:i,children:"取消"}),c.jsx("button",{disabled:ie||!Ue,className:`${an} bg-primary text-primary-foreground`,onClick:()=>{qe()},children:ie?"保存中…":s?"保存修改":"创建任务"})]})]}),c.jsx(B6,{open:A,initialPath:b||x||"/",title:"选择工作目录",labels:{hint:"进入文件夹,确认后才会更改工作目录。",cancel:"取消",confirm:"使用此目录",close:"关闭",parent:"上一级目录"},onCancel:()=>k(!1),onConfirm:Z=>{v(Z),k(!1)}})]})}function c5({label:e,value:t,options:r,onChange:s}){return c.jsxs("label",{className:"relative min-w-0 flex-1",children:[c.jsx("span",{className:"sr-only",children:e}),c.jsx("select",{"aria-label":e,className:"w-full appearance-none bg-transparent py-1 pl-1 pr-7 text-center text-[18px] font-semibold tabular-nums text-foreground outline-none",value:t,onChange:i=>s(i.target.value),children:Array.from({length:r},(i,u)=>{const l=String(u).padStart(2,"0");return c.jsx("option",{value:l,children:l},l)})}),c.jsx(Kl,{"aria-hidden":"true",size:13,className:"pointer-events-none absolute right-1 top-1/2 -translate-y-1/2 text-muted-foreground"})]})}function ZD({groups:e,sessions:t,agents:r,activeSessionId:s,initialGroupId:i,defaultSessionMode:u,busy:l,setBusy:h,setError:p,setNotice:g,refresh:x}){const[b,v]=_.useState(""),[A,k]=_.useState(()=>new Set(s?[s]:[])),[I,R]=_.useState(i??e[0]?.id??null),[M,B]=_.useState(""),[F,W]=_.useState(!1),[O,q]=_.useState([]),[ee,de]=_.useState(!1),[Ae,Le]=_.useState("all"),[ve,Ye]=_.useState(!0),[Te,fe]=_.useState(new Set),[je,be]=_.useState("*"),[ie,oe]=_.useState("message"),[Ie,ke]=_.useState(""),[qe,se]=_.useState(!1),[Se,Lt]=_.useState(new Set),[Dt,Ue]=_.useState(!1),[Z,rt]=_.useState(""),[gt,J]=_.useState(""),[K,Fe]=_.useState(""),[Je,vt]=_.useState(""),xt=_.useRef(null),Ct=_.useRef(!1),he=I==="new"?null:e.find(j=>j.id===I)??e[0]??null,xe=new Set(t.map(j=>j.sessionId)),De=[...A].filter(j=>xe.has(j)).length,At=M.trim().toLocaleLowerCase(),Ke=t.filter(j=>!At||[j.name,j.serviceLabel??"",j.cwd,Tf(j.currentTask)].some(pe=>pe.toLocaleLowerCase().includes(At)));_.useEffect(()=>{!I&&e[0]&&R(e[0].id)},[e,I]),_.useEffect(()=>{se(!1),Ue(!1);try{fe(new Set(JSON.parse(localStorage.getItem(`collab-seen:${he?.id}`)??"[]")))}catch{fe(new Set)}Lt(new Set(he?.sessionIds??[]))},[he?.id]),_.useEffect(()=>{!Z&&r[0]&&rt(r[0].slug)},[r,Z]),_.useEffect(()=>{if(q([]),!he){de(!1);return}de(!0);let j=!1,pe=0;const Oe=()=>{const Qe=++pe;V1(he.id).then(et=>{!j&&Qe===pe&&q(et.messages)}).catch(et=>{!j&&Qe===pe&&p(et instanceof Error?et.message:"消息加载失败")}).finally(()=>{!j&&Qe===pe&&de(!1)})};Oe();const Et=window.setInterval(Oe,3e3);return()=>{j=!0,window.clearInterval(Et)}},[he?.id,p]),_.useEffect(()=>{!i||he?.id!==i||Ct.current||(Ct.current=!0,xt.current?.scrollIntoView?.({block:"nearest"}))},[i,he?.id]);const at=async()=>{h("create-group"),p(null),g(null);try{const j=[...A].filter(Oe=>xe.has(Oe)),pe=await Qc({name:b,sessionIds:j});v(""),B(""),R(pe.group.id),await x(),g(`“${pe.group.name}”已创建,${pe.group.sessionIds.length} 个会话可以开始协作`)}catch(j){p(j instanceof Error?j.message:"创建失败")}finally{h(null)}},kt=async()=>{if(he){h("send-message"),p(null),g(null);try{const j=await I7(he.id,{fromSessionId:null,toSessionIds:je==="*"?void 0:[je],kind:ie,content:Ie});ke(""),q((await V1(he.id)).messages);const pe=j.deliveries?.filter(Et=>Et.serviceUnavailable).length??0,Oe=j.deliveries?.filter(Et=>Et.pending>0).length??0;g(pe>0?`已保存消息;${pe} 个接收成员的服务不可达,尚未送达,等待重连`:Oe>0?`已保存消息;${Oe} 个成员等待投递确认`:`消息已送达 ${j.messages.length} 个会话`)}catch(j){p(j instanceof Error?j.message:"发送失败")}finally{h(null)}}},tr=async()=>{if(!he)return;h(`delete:${he.id}`),p(null),g(null);const j=he.name;try{await B5(he.id),R(null),W(!1),await x(),g(`“${j}”已删除`)}catch(pe){p(pe instanceof Error?pe.message:"删除失败")}finally{h(null)}},pr=async()=>{if(!he)return;const j=t.filter(pe=>Se.has(pe.sessionId)).map(pe=>pe.sessionId);h("save-members"),p(null),g(null);try{await Qc({id:he.id,name:he.name,sessionIds:j}),se(!1),await x(),g(`“${he.name}”成员已更新,共 ${j.length} 个会话`)}catch(pe){p(pe instanceof Error?pe.message:"成员更新失败")}finally{h(null)}},nt=()=>{const j=t.find(pe=>pe.sessionId===s)?.cwd??t.find(pe=>he?.sessionIds.includes(pe.sessionId))?.cwd??"";Fe(j),J(""),vt(""),Ue(!0),se(!1)},ft=async()=>{if(!(!he||!Z)){h("spawn-agent"),p(null),g(null);try{const j=await L7(he.id,{agentSlug:Z,name:gt.trim()||void 0,cwd:K.trim()||void 0,task:Je.trim()||void 0,mode:u});Ue(!1),await x(),g(`“${j.session.name}”已创建并加入“${j.group.name}”`)}catch(j){p(j instanceof Error?j.message:"Agent Session 创建失败")}finally{h(null)}}},_t=O.filter(j=>(!ve||!Te.has(j.id))&&(Ae==="all"||j.responseKind===Ae)),Tt=JD(_t,t),Qt=()=>{const j=new Set([...Te,..._t.map(pe=>pe.id)].slice(-1e4));try{localStorage.setItem(`collab-seen:${he?.id}`,JSON.stringify([...j]))}catch{p("无法保存已看记录,请检查浏览器存储空间");return}fe(j)};return c.jsxs("div",{className:"space-y-5",children:[c.jsxs("div",{className:"flex items-start justify-between gap-4",children:[c.jsxs("div",{children:[c.jsx("h3",{className:"text-[13px] font-medium text-foreground",children:"会话协作"}),c.jsx("p",{className:"mt-1 max-w-xl text-[11px] leading-relaxed text-muted-foreground",children:"创建协作组后,一个 Agent 会话可以把任务直接交给另一个会话。比如“开发”写完代码后通知“测试”检查,测试结果再回复回来;你也可以给单个会话或全组发任务,所有交接和进展都记录在这里。"})]}),he&&c.jsxs("button",{className:`${an} shrink-0 bg-primary text-primary-foreground`,onClick:()=>{R("new"),W(!1),g(null)},children:[c.jsx(Hi,{size:13}),"新建组"]})]}),e.length>0&&c.jsx("div",{className:"flex gap-2 overflow-x-auto border-b border-border/15 pb-3",children:e.map(j=>c.jsxs("button",{onClick:()=>R(j.id),className:`${an} shrink-0 ${he?.id===j.id?"bg-primary/15 text-primary":"bg-surface-2 text-muted-foreground"}`,children:[j.name,c.jsx("span",{className:"text-[9px] opacity-70",children:j.sessionIds.length})]},j.id))}),!he&&c.jsxs("section",{className:"border-y border-border/15 py-4",children:[c.jsxs("div",{className:"flex items-start justify-between gap-3",children:[c.jsxs("div",{children:[c.jsx("h4",{className:"text-[12px] font-medium text-foreground",children:"创建协作组"}),c.jsx("p",{className:"mt-1 text-[10px] leading-relaxed text-muted-foreground",children:"至少选择两个会话。离线成员会在重新上线后收到消息;已从列表移除的会话不会提交。"})]}),c.jsxs("span",{className:`shrink-0 text-[10px] ${De>=2?"text-primary":"text-muted-foreground"}`,children:["已选 ",De," 个"]})]}),c.jsxs("label",{className:"mt-4 block space-y-1 text-[10px] text-muted-foreground",children:["协作组名称",c.jsx("input",{className:gi,value:b,onChange:j=>v(j.target.value),placeholder:"例如:发布准备"})]}),t.length>5&&c.jsxs("label",{className:"relative mt-3 block",children:[c.jsx("span",{className:"sr-only",children:"筛选会话"}),c.jsx(od,{size:13,className:"absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground"}),c.jsx("input",{className:`${gi} pl-8`,value:M,onChange:j=>B(j.target.value),placeholder:"按名称、目录或当前任务筛选"})]}),c.jsxs("div",{className:"mt-3 max-h-64 divide-y divide-border/10 overflow-y-auto border-y border-border/10",children:[Ke.map(j=>c.jsxs("label",{className:"flex cursor-pointer items-start gap-3 px-2 py-2.5 transition hover:bg-surface-2",children:[c.jsx("input",{className:"mt-0.5",type:"checkbox",checked:A.has(j.sessionId),onChange:()=>k(pe=>{const Oe=new Set(pe);return Oe.has(j.sessionId)?Oe.delete(j.sessionId):Oe.add(j.sessionId),Oe})}),c.jsxs("span",{className:"min-w-0 flex-1",children:[c.jsxs("span",{className:"flex items-center gap-2",children:[c.jsx("span",{className:"truncate text-[12px] text-foreground",children:j.name}),c.jsx(wf,{session:j}),c.jsx("span",{className:"shrink-0 text-[9px] text-muted-foreground",children:Af(j)})]}),c.jsxs("span",{className:"mt-0.5 block truncate text-[10px] text-muted-foreground",children:[Tf(j.currentTask)," · ",j.cwd]})]})]},j.sessionId)),t.length===0&&c.jsx("p",{className:"px-3 py-6 text-center text-[11px] text-muted-foreground",children:"暂无可选会话,请先打开两个会话"}),t.length>0&&Ke.length===0&&c.jsx("p",{className:"px-3 py-6 text-center text-[11px] text-muted-foreground",children:"没有符合筛选条件的会话"})]}),c.jsxs("div",{className:"mt-3 flex flex-col gap-2 sm:flex-row sm:items-center",children:[c.jsx("p",{className:`min-w-0 flex-1 text-[10px] ${De<2?"text-muted-foreground":"text-primary"}`,children:De<2?`还需选择 ${2-De} 个会话`:"成员已满足要求,可以创建"}),c.jsxs("div",{className:"flex justify-end gap-2",children:[e.length>0&&c.jsx("button",{className:`${an} bg-surface-2 text-foreground`,onClick:()=>R(e[0]?.id??null),children:"取消"}),c.jsxs("button",{disabled:l!==null||!b.trim()||De<2,className:`${an} bg-primary text-primary-foreground`,onClick:()=>{at()},children:[l==="create-group"?c.jsx(gs,{size:13,className:"animate-spin"}):c.jsx(Hi,{size:13}),"创建协作组"]})]})]})]}),he&&c.jsxs(c.Fragment,{children:[c.jsxs("section",{className:"border-y border-border/15 py-4",children:[c.jsxs("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[c.jsxs("div",{className:"min-w-0",children:[c.jsx("h4",{className:"text-[13px] font-medium text-foreground",children:he.name}),c.jsxs("p",{className:"mt-1 text-[10px] text-muted-foreground",children:[he.sessionIds.length," 个成员 · 组 ID:",c.jsx("span",{className:"break-all font-mono",children:he.id})]})]}),F?c.jsxs("div",{className:"flex flex-wrap items-center gap-1 sm:justify-end",children:[c.jsx("button",{className:`${an} bg-surface-2 px-2 text-foreground`,onClick:()=>W(!1),children:"取消"}),c.jsxs("button",{disabled:l!==null,className:`${an} bg-destructive px-2 text-destructive-foreground`,onClick:()=>{tr()},children:[l===`delete:${he.id}`?c.jsx(gs,{size:13,className:"animate-spin"}):null,"确认删除"]})]}):c.jsxs("div",{className:"flex flex-wrap items-center gap-1 sm:justify-end",children:[c.jsxs("button",{className:`${an} px-2 text-muted-foreground hover:bg-surface-2 hover:text-foreground`,onClick:()=>{Lt(new Set(he.sessionIds)),se(j=>!j),Ue(!1)},children:[c.jsx(D5,{size:13}),"管理成员"]}),c.jsxs("button",{className:`${an} px-2 text-primary hover:bg-primary/10`,onClick:nt,children:[c.jsx(Hi,{size:13}),"新建 Agent"]}),c.jsx("button",{"aria-label":`删除协作组 ${he.name}`,title:"删除协作组",disabled:l!==null,className:"rounded-lg p-2 text-muted-foreground transition hover:bg-destructive/10 hover:text-destructive",onClick:()=>W(!0),children:c.jsx(to,{size:14})})]})]}),c.jsx("div",{className:"mt-3 grid divide-y divide-border/10 border-y border-border/10 sm:grid-cols-2 sm:divide-x sm:divide-y-0",children:he.sessionIds.map(j=>{const pe=t.find(Oe=>Oe.sessionId===j);return c.jsxs("button",{disabled:!pe,onClick:()=>pe&&void YD(pe).catch(Oe=>p(Oe instanceof Error?Oe.message:"无法打开会话")),className:"min-w-0 px-3 py-2.5 text-left transition hover:bg-surface-2 disabled:cursor-default",children:[c.jsxs("span",{className:"flex items-center gap-2",children:[c.jsx("span",{className:`h-2 w-2 shrink-0 rounded-full ${pe?.status==="working"?"bg-primary":pe?"bg-[var(--success)]":"bg-muted-foreground"}`}),c.jsx("span",{className:"truncate text-[11px] text-foreground",children:pe?.name??j}),pe&&c.jsx(wf,{session:pe}),c.jsx("span",{className:"ml-auto shrink-0 text-[9px] text-muted-foreground",children:pe?Af(pe):"已离线"})]}),c.jsx("span",{className:"mt-1 block truncate text-[9px] text-muted-foreground",children:pe?Tf(pe.currentTask):"重新上线后可继续接收消息"})]},j)})}),qe&&c.jsxs("div",{className:"mt-4 border-t border-border/15 pt-4",children:[c.jsxs("div",{className:"flex items-start justify-between gap-3",children:[c.jsxs("div",{children:[c.jsx("h5",{className:"text-[11px] font-medium text-foreground",children:"管理成员"}),c.jsx("p",{className:"mt-1 text-[9px] text-muted-foreground",children:"勾选已有 Session,保存后立即参与之后的协作消息。"})]}),c.jsxs("span",{className:"text-[9px] text-muted-foreground",children:["已选 ",Se.size]})]}),c.jsx("div",{className:"mt-3 max-h-52 divide-y divide-border/10 overflow-y-auto border-y border-border/10",children:t.map(j=>c.jsxs("label",{className:"flex cursor-pointer items-center gap-3 px-2 py-2.5 transition hover:bg-surface-2",children:[c.jsx("input",{type:"checkbox",checked:Se.has(j.sessionId),onChange:()=>Lt(pe=>{const Oe=new Set(pe);return Oe.has(j.sessionId)?Oe.delete(j.sessionId):Oe.add(j.sessionId),Oe})}),c.jsxs("span",{className:"min-w-0 flex-1",children:[c.jsx("span",{className:"block truncate text-[11px] text-foreground",children:j.name}),c.jsx(wf,{session:j}),c.jsxs("span",{className:"block truncate text-[9px] text-muted-foreground",children:[Af(j)," · ",j.cwd]})]})]},j.sessionId))}),c.jsxs("div",{className:"mt-3 flex justify-end gap-2",children:[c.jsx("button",{className:`${an} bg-surface-2 text-foreground`,onClick:()=>se(!1),children:"取消"}),c.jsxs("button",{disabled:l!==null||Se.size<2,className:`${an} bg-primary text-primary-foreground`,onClick:()=>{pr()},children:[l==="save-members"?c.jsx(gs,{size:13,className:"animate-spin"}):c.jsx(sa,{size:13}),"保存成员"]})]})]}),Dt&&c.jsxs("div",{className:"mt-4 border-t border-primary/20 pt-4",children:[c.jsxs("div",{children:[c.jsx("h5",{className:"text-[11px] font-medium text-foreground",children:"创建 Agent Session"}),c.jsx("p",{className:"mt-1 text-[9px] text-muted-foreground",children:"新会话启动后自动加入本组,并收到初始任务和成员信息。"})]}),c.jsxs("div",{className:"mt-3 grid gap-2 sm:grid-cols-2",children:[c.jsxs("label",{className:"space-y-1 text-[9px] text-muted-foreground",children:["Agent / Plugin",c.jsx("select",{"aria-label":"新 Agent 类型",className:gi,value:Z,onChange:j=>rt(j.target.value),children:r.map(j=>c.jsxs("option",{value:j.slug,children:[j.displayName,j.isPlugin?" · Plugin":""]},j.slug))})]}),c.jsxs("label",{className:"space-y-1 text-[9px] text-muted-foreground",children:["会话名称",c.jsx("input",{"aria-label":"新 Agent 会话名称",className:gi,value:gt,onChange:j=>J(j.target.value),placeholder:"留空则自动命名"})]})]}),c.jsxs("label",{className:"mt-2 block space-y-1 text-[9px] text-muted-foreground",children:["工作目录",c.jsx("input",{"aria-label":"新 Agent 工作目录",className:gi,value:K,onChange:j=>Fe(j.target.value),placeholder:"默认继承当前会话"})]}),c.jsxs("label",{className:"mt-2 block space-y-1 text-[9px] text-muted-foreground",children:["初始任务",c.jsx("textarea",{"aria-label":"新 Agent 初始任务",className:`${gi} min-h-16 resize-y`,value:Je,onChange:j=>vt(j.target.value),placeholder:"说明它加入后要先完成什么"})]}),c.jsxs("div",{className:"mt-3 flex justify-end gap-2",children:[c.jsx("button",{className:`${an} bg-surface-2 text-foreground`,onClick:()=>Ue(!1),children:"取消"}),c.jsxs("button",{disabled:l!==null||!Z,className:`${an} bg-primary text-primary-foreground`,onClick:()=>{ft()},children:[l==="spawn-agent"?c.jsx(gs,{size:13,className:"animate-spin"}):c.jsx(Ed,{size:13}),"创建并加入"]})]})]})]}),c.jsxs("section",{children:[c.jsxs("div",{className:"mb-2 flex flex-wrap items-center justify-between gap-2",children:[c.jsx("h4",{className:"text-[11px] font-medium text-foreground",children:"协作记录"}),c.jsxs("span",{className:"text-[9px] text-muted-foreground",children:[Tt.length," 条"]})]}),c.jsxs("div",{className:"mb-2 flex flex-wrap items-center gap-2",children:[c.jsxs("select",{"aria-label":"筛选回复类型",className:`${gi} w-auto`,value:Ae,onChange:j=>Le(j.target.value),children:[c.jsx("option",{value:"all",children:"全部类型"}),c.jsx("option",{value:"ack",children:"收到确认"}),c.jsx("option",{value:"progress",children:"进展"}),c.jsx("option",{value:"result",children:"结果与证据"})]}),c.jsxs("label",{className:"flex min-h-9 items-center gap-2 text-[11px] text-muted-foreground",children:[c.jsx("input",{type:"checkbox",checked:ve,onChange:j=>Ye(j.target.checked)}),"只看新记录"]}),c.jsx("button",{className:`${an} min-h-9 text-muted-foreground`,disabled:!_t.length,onClick:Qt,children:"标记当前记录已看"})]}),c.jsxs("div",{className:"max-h-72 divide-y divide-border/10 overflow-y-auto border-y border-border/10",children:[Tt.map(j=>c.jsxs("div",{className:"px-2 py-3",children:[c.jsxs("div",{className:"flex items-center gap-2 text-[9px] text-muted-foreground",children:[c.jsx("span",{className:"font-medium text-primary",children:j.responseKind==="ack"?"收到确认":j.responseKind==="progress"?"进展":j.responseKind==="result"?"结果":XD(j.kind)}),c.jsx("span",{children:j.fromName}),c.jsx("span",{children:"→"}),c.jsx("span",{className:"truncate",children:j.toNames.join("、")}),c.jsx("span",{className:"ml-auto shrink-0",children:new Date(j.createdAt).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})})]}),c.jsx("p",{className:"mt-1 whitespace-pre-wrap text-[11px] leading-relaxed text-foreground",children:j.content}),c.jsx("p",{className:"mt-1 text-[9px] text-muted-foreground",children:j.status==="pending"?"尚未送达 · 等待连接或接收方读取":j.status==="read"?"接收方已确认读取 · 不代表任务完成":j.status==="failed"?"投递失败":j.status==="expired"?"消息已过期,未继续投递":"已写入接收方终端 · 等待接手确认"}),(j.task||j.failureReason)&&c.jsxs("details",{className:"mt-2 text-[10px] text-muted-foreground",children:[c.jsx("summary",{className:"cursor-pointer",children:"任务详情与证据"}),c.jsx("pre",{className:"mt-1 max-h-40 overflow-auto whitespace-pre-wrap break-words",children:JSON.stringify(j.task??{failure_reason:j.failureReason},null,2)})]})]},j.key)),Tt.length===0&&c.jsx(oB,{text:ee?"正在加载协作记录…":O.length?"没有符合筛选条件的新记录。可切换类型或取消“只看新记录”。":"还没有消息。可以先发一个任务或问题。"})]})]}),c.jsxs("section",{ref:xt,className:"border-t border-primary/20 bg-primary/5 px-3 py-3",children:[c.jsx("h4",{className:"text-[11px] font-medium text-foreground",children:"发送给成员"}),c.jsxs("div",{className:"mt-2 grid gap-2 sm:grid-cols-2",children:[c.jsxs("label",{className:"space-y-1 text-[9px] text-muted-foreground",children:["接收人",c.jsxs("select",{className:gi,value:je,onChange:j=>be(j.target.value),children:[c.jsx("option",{value:"*",children:"全组成员"}),he.sessionIds.map(j=>c.jsx("option",{value:j,children:j6(t.find(pe=>pe.sessionId===j))??`${j.slice(0,8)}(离线)`},j))]})]}),c.jsxs("label",{className:"space-y-1 text-[9px] text-muted-foreground",children:["消息类型",c.jsxs("select",{className:gi,value:ie,onChange:j=>oe(j.target.value),children:[c.jsx("option",{value:"message",children:"普通消息"}),c.jsx("option",{value:"ask",children:"需要回答的问题"}),c.jsx("option",{value:"task",children:"需要执行的任务"}),c.jsx("option",{value:"handoff",children:"工作交接"}),c.jsx("option",{value:"done",children:"完成通知"})]})]})]}),c.jsxs("label",{className:"mt-2 block space-y-1 text-[9px] text-muted-foreground",children:["内容",c.jsx("textarea",{className:`${gi} min-h-20 resize-y`,value:Ie,onChange:j=>ke(j.target.value),placeholder:"说明背景、期望产出,以及对方需要回复或完成什么…"})]}),c.jsxs("div",{className:"mt-2 flex items-center justify-between gap-3",children:[c.jsx("p",{className:"text-[9px] leading-relaxed text-muted-foreground",children:he.federated?"跨服务消息由 Mac 客户端转发,请保持客户端运行;服务不可达时等待重连。":"在线成员立即入队;离线成员上线后送达。"}),c.jsxs("button",{disabled:l!==null||!Ie.trim(),className:`${an} shrink-0 bg-primary text-primary-foreground`,onClick:()=>{kt()},children:[l==="send-message"?c.jsx(gs,{size:13,className:"animate-spin"}):null,"发送"]})]})]})]})]})}function wf({session:e}){return!e.serviceOrigin||e.serviceOrigin===window.location.origin?null:c.jsxs("span",{title:e.serviceOrigin,className:"inline-flex max-w-28 shrink-0 items-center gap-1 rounded border border-border/20 px-1 py-0.5 text-[9px] text-muted-foreground",children:[c.jsx(U5,{size:9}),c.jsx("span",{className:"truncate",children:e.serviceLabel??e.serviceOrigin})]})}function Af(e){return e.serviceConnected===!1?"服务不可达":KD(e.status)}function j6(e){return e?`${e.name}${e.serviceOrigin&&e.serviceOrigin!==window.location.origin?` · ${e.serviceLabel??e.serviceOrigin}`:""}`:void 0}async function YD(e){e.sessionId.startsWith("remote:")?await f6(e.sessionId):window.dispatchEvent(new CustomEvent("switch-terminal-session",{detail:e.sessionId}))}function KD(e){return e==="working"?"处理中":e==="idle"||e==="done"?"可接收":e==="offline"?"已离线":"在线"}function Tf(e){if(!e)return"暂无任务摘要";try{const t=JSON.parse(e);if(typeof t.prompt=="string")return Ld(t.prompt)||"暂无任务摘要"}catch{}return Ld(e)||"暂无任务摘要"}function XD(e){return{message:"消息",ask:"问题",reply:"回复",task:"任务",handoff:"交接",done:"完成"}[e]}function JD(e,t){const r=new Map(t.map(i=>[i.sessionId,j6(i)])),s=new Map;for(const i of e){const u=`${i.threadId}:${i.createdAt}:${i.fromSessionId??"user"}:${i.kind}:${i.responseKind??""}:${JSON.stringify(i.task??null)}:${i.content}`,l=s.get(u),h=r.get(i.toSessionId)??i.toSessionId.slice(0,8);if(l){l.toNames.push(h);const p={failed:-2,expired:-1,pending:0,delivered:1,read:2};p[i.status]<p[l.status]&&(l.status=i.status);continue}s.set(u,{key:u,kind:i.kind,content:i.content,createdAt:i.createdAt,fromName:i.fromSessionId?r.get(i.fromSessionId)??i.fromSessionId.slice(0,8):"你",toNames:[h],status:i.status,responseKind:i.responseKind,task:i.task,failureReason:i.failureReason})}return[...s.values()].sort((i,u)=>u.createdAt-i.createdAt)}function eB({onClose:e,onNewSession:t,setError:r}){const[s,i]=_.useState(""),[u,l]=_.useState([]),[h,p]=_.useState(!1),g=_.useRef(0);_.useEffect(()=>{const b=s.trim(),v=++g.current;if(l([]),!b){p(!1);return}p(!0);const A=window.setTimeout(()=>{_7(b).then(k=>{v===g.current&&l(k.results)}).catch(k=>{v===g.current&&r(k instanceof Error?k.message:"搜索失败")}).finally(()=>{v===g.current&&p(!1)})},250);return()=>window.clearTimeout(A)},[s,r]);const x=async b=>{if(b.live){window.dispatchEvent(new CustomEvent("switch-terminal-session",{detail:b.sessionId})),e();return}if(b.resumeHistoryId)try{const v=await Q5(b.resumeHistoryId);t({mode:"shell",cwd:v.cwd,command:v.command}),e()}catch(v){r(v instanceof Error?v.message:"恢复失败")}};return c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{className:"sticky -top-4 z-20 -mx-4 -mt-4 border-b border-border/15 bg-surface px-4 py-3",children:[c.jsxs("div",{children:[c.jsx("h3",{className:"text-[13px] font-medium text-foreground",children:"全文搜索"}),c.jsx("p",{className:"mt-1 text-[10px] text-muted-foreground",children:"搜索会话标题、项目目录、任务内容和终端记录"})]}),c.jsxs("label",{className:"relative mt-3 block",children:[c.jsx("span",{className:"sr-only",children:"搜索全部会话"}),c.jsx(od,{size:14,className:"absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground"}),c.jsx("input",{autoFocus:!0,className:`${gi} pl-9 pr-9`,value:s,onChange:b=>{r(null),i(b.target.value)},placeholder:"输入你记得的关键词"}),h?c.jsx(gs,{size:13,className:"absolute right-3 top-1/2 -translate-y-1/2 animate-spin text-muted-foreground"}):s&&c.jsx("button",{type:"button","aria-label":"清空搜索",className:"absolute right-1.5 top-1/2 -translate-y-1/2 rounded-md p-1.5 text-muted-foreground hover:bg-surface-2 hover:text-foreground",onClick:()=>i(""),children:c.jsx($s,{size:13})})]})]}),!s.trim()&&c.jsxs("div",{className:"border-y border-border/15 py-10 text-center",children:[c.jsx(od,{size:24,className:"mx-auto text-primary"}),c.jsx("p",{className:"mt-3 text-[13px] font-medium text-foreground",children:"找回之前做过的事"}),c.jsx("p",{className:"mx-auto mt-1 max-w-md text-[11px] leading-relaxed text-muted-foreground",children:"可以输入任务名、报错片段或目录名,例如“自动任务”“web-terminal”“构建失败”。搜索索引只保存在本机。"})]}),s.trim()&&!h&&u.length>0&&c.jsxs("div",{className:"flex items-center justify-between gap-3",children:[c.jsxs("p",{className:"text-[11px] text-foreground",children:["显示 ",u.length," 个会话"]}),c.jsx("p",{className:"text-[9px] text-muted-foreground",children:"在线可打开 · 已关闭可恢复"})]}),c.jsx("div",{className:"divide-y divide-border/10 border-y border-border/10",children:u.map(b=>{const v=b.live||!!b.resumeHistoryId,A=b.live?"打开会话":b.resumeHistoryId?"恢复会话":"仅供查阅",k=c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"flex items-start gap-3",children:[c.jsxs("div",{className:"min-w-0 flex-1",children:[c.jsx("p",{className:"truncate text-[12px] font-medium text-foreground",children:b.title}),c.jsx("p",{className:"mt-0.5 truncate text-[9px] text-muted-foreground",children:b.cwd})]}),c.jsx("span",{className:`shrink-0 text-[10px] ${b.live?"text-[var(--success)]":b.resumeHistoryId?"text-primary":"text-muted-foreground"}`,children:A})]}),c.jsx("p",{className:"mt-2 line-clamp-3 text-[10px] leading-relaxed text-foreground/75",children:tB(b)||"匹配内容来自标题、目录或终端控制信息"}),c.jsxs("p",{className:"mt-2 text-[9px] text-muted-foreground",children:[Id(b.updatedAt)," · ",b.matchCount," 处匹配",v?"":" · 没有可恢复记录"]})]});return v?c.jsx("button",{onClick:()=>{x(b)},className:"block w-full px-2 py-3 text-left transition hover:bg-surface-2 focus-visible:bg-surface-2 focus-visible:outline-none",children:k},b.sessionId):c.jsx("article",{className:"px-2 py-3",children:k},b.sessionId)})}),s.trim()&&!h&&u.length===0&&c.jsxs("div",{className:"border-y border-border/15 py-8 text-center",children:[c.jsxs("p",{className:"text-[12px] text-foreground",children:["没有找到“",s.trim(),"”"]}),c.jsx("p",{className:"mt-1 text-[10px] text-muted-foreground",children:"试试更短的关键词、目录名或报错中的一小段。"}),c.jsx("button",{className:`${an} mt-3 bg-surface-2 text-foreground`,onClick:()=>i(""),children:"清空后重试"})]})]})}function Ld(e){return e.replace(/\u001B\][^\u0007]*(?:\u0007|\u001B\\)/g," ").replace(/\u001B\[[0-?]*[ -/]*[@-~]/g," ").replace(/\(B/g," ").replace(/<[^>]{1,120}>/g," ").replace(/[─━│┃┄┅┆┇┈┉┊┋┌┐└┘├┤┬┴┼╭╮╯╰═║╔╗╚╝╠╣╦╩╬]+/g," ").replace(/([^\p{L}\p{N}\s])\1{3,}/gu," ").replace(/([A-Za-z])\1{12,}/g," ").replace(/[\u0000-\u0008\u000B\u000C\u000E-\u001F\u007F]/g," ").replace(/\s+/g," ").trim().slice(0,280)}function tB(e){let t=Ld(e.snippet);for(const r of[e.title,e.cwd,e.agentSlug])r&&(t=t.split(r).join(" "));return Ld(t)}function rB(e){if(e.schedule.kind==="interval")return e.schedule.everyMinutes===60?"每小时":e.schedule.everyMinutes===1440?"每天":`每 ${e.schedule.everyMinutes} 分钟`;const t=["日","一","二","三","四","五","六"];return`${e.schedule.weekdays.length===7?"每天":e.schedule.weekdays.map(s=>`周${t[s]}`).join("、")} ${e.schedule.time}`}function nB(e,t=Date.now(),r=t){if(e.kind==="interval"){const u=e.everyMinutes*6e4,l=Math.max(0,t-r);return r+(Math.floor(l/u)+1)*u}const[s,i]=e.time.split(":").map(Number);for(let u=0;u<=7;u+=1){const l=new Date(t);if(l.setDate(l.getDate()+u),l.setHours(s,i,0,0),l.getTime()>t&&e.weekdays.includes(l.getDay()))return l.getTime()}return t}function Id(e){return new Intl.DateTimeFormat("zh-CN",{month:"numeric",day:"numeric",hour:"2-digit",minute:"2-digit",hour12:!1}).format(e)}function sB(e){return e==="running"?"投递中":e==="success"?"已投递":e==="failed"?"投递失败":""}function iB(e){return e==="running"?"text-[var(--warning)]":e==="success"?"text-[var(--success)]":e==="failed"?"text-destructive":"text-muted-foreground"}function oB({text:e}){return c.jsx("div",{className:"rounded-xl border border-dashed border-border/20 px-4 py-8 text-center text-[11px] text-muted-foreground",children:e})}function aB(e,t){const r=new Set,s=[];for(const i of e){const u=Array.from(new Set(i.sessionIds)).filter(l=>t.has(l)&&!r.has(l));u.length<(i.federated?1:2)||(u.forEach(l=>r.add(l)),s.push({...i,sessionIds:u}))}return s}function Sf(e,t){const r=new Set(e),s=t.filter(u=>u.sessionIds.length>=2&&u.sessionIds.every(l=>r.has(l))),i=new Set;return e.flatMap(u=>{const l=s.find(h=>h.sessionIds.includes(u));return l?i.has(l.id)?[]:(i.add(l.id),[{sessionIds:l.sessionIds,workspace:l}]):[{sessionIds:[u]}]})}function Ic(e,t,r,s=[]){const i=new Map,u=new Map,l=new Set(e.map(x=>x.id));for(const x of s){const b=x.sessionIds.filter(A=>l.has(A));if(b.length<(x.federated?1:2))continue;const v=b.length===x.sessionIds.length?x:{...x,sessionIds:b};b.forEach(A=>i.set(A,v))}for(const x of t)if(!(x.sessionIds.length<2||!x.sessionIds.every(b=>l.has(b)))&&!x.sessionIds.some(b=>i.has(b)))for(const b of x.sessionIds)u.set(b,x);const h=new Set,p=new Set,g=[];for(const x of e){const b=i.get(x.id);if(b){if(h.has(b.id))continue;h.add(b.id);const k=b.sessionIds.flatMap(I=>{const R=r.get(I);return R?[R]:[]});g.push({kind:"collaboration",id:`collaboration:${b.id}`,group:b,members:k,sessionIds:b.sessionIds});continue}const v=u.get(x.id);if(!v){g.push({kind:"session",id:`session:${x.id}`,session:x,sessionIds:[x.id]});continue}if(p.has(v.id))continue;p.add(v.id);const A=v.sessionIds.flatMap(k=>{const I=r.get(k);return I?[I]:[]});g.push({kind:"workspace",id:`workspace:${v.id}`,workspace:v,members:A,sessionIds:v.sessionIds})}return g}function u5(e,t,r){const s=Math.min(e.length,Math.max(0,r)),i=e.slice(0,s).flatMap(l=>l.sessionIds.filter(h=>h!==t)),u=e.slice(s).flatMap(l=>l.sessionIds.filter(h=>h!==t));return[...i,t,...u]}function lB({status:e,detail:t,needsReview:r,inCopyMode:s}){return c.jsx(yD,{status:e,detail:t,needsReview:r,inCopyMode:s})}function d5({isOpen:e,drawerWidthPx:t,onClose:r,onOpen:s,sessions:i,activeSessionId:u,sessionStates:l,onNewSession:h,onCloseSession:p,onSplitSession:g,onCloseSplit:x,onRemoveFromSplit:b,splitWorkspaces:v,onSetSplitLayout:A,onReorderSplitWorkspace:k,onCombineSplitSessions:I,onReorderSessions:R,onSessionMenu:M,onOpenSettings:B,onOpenQuota:F,updateState:W,updateActionPending:O=!1,onConfirmUpdateRestart:q,onRetryUpdate:ee,tmuxAvailable:de=!0,defaultSessionMode:Ae="shell",push:Le,pinned:ve,runningSessionButtonEnabled:Ye=!1,onRunningSessionButtonEnabledChange:Te,onTogglePinned:fe,recoverableTmuxSessions:je=[],recoverableTmuxSessionsLoading:be=!1,onRefreshRecoverableTmuxSessions:ie}){const{t:oe}=ln(),[Ie,ke]=_.useState(!1),[qe,se]=_.useState(null),[Se,Lt]=_.useState(!1),[Dt,Ue]=_.useState(!1),[Z,rt]=_.useState(null),[gt,J]=_.useState([]),[K,Fe]=_.useState(!1),[Je,vt]=_.useState(null),[xt,Ct]=_.useState(null),[he,xe]=_.useState(null),[De,At]=_.useState([]),[Ke,at]=_.useState({mode:Ae}),{preference:kt,agents:tr,detecting:pr,refresh:nt,selectAgent:ft}=WD(),_t=_.useRef(null),Tt=_.useRef(null),Qt=!!(W?.latestVersion&&["installing","ready","restarting","error"].includes(W.status)),j=$t(V=>V.groupByFolder),pe=$t(V=>V.collapsedGroups),Oe=$t(V=>V.toggleGroupCollapsed),Et=_.useRef(null),Qe=_.useRef(0),et=_.useRef(!1),lr=_.useRef(null),Ne=_.useRef(null),[cn,Qr]=_.useState(!1),Re=_.useRef([]),Rr=_.useRef(null),ut=_.useRef(null),un=_.useRef(new Set),Lr=_.useRef(null),wn=_.useMemo(()=>new Set(v.flatMap(V=>V.sessionIds)),[v]),mr=_.useMemo(()=>new Map(i.map(V=>[V.id,V])),[i]),Mr=_.useMemo(()=>aB(De,new Set(mr.keys())),[De,mr]),Bn=_.useMemo(()=>new Set(Mr.flatMap(V=>V.sessionIds)),[Mr]),Ir=_.useCallback(async()=>{const V=++Qe.current;try{const ue=await N5();if(V!==Qe.current)return;At(Array.isArray(ue.groups)?ue.groups:[])}catch{}},[]);_.useEffect(()=>{Ir();const V=window.setInterval(()=>{Ir()},1e4),ue=()=>{Ir()};return window.addEventListener("focus",ue),()=>{Qe.current+=1,window.clearInterval(V),window.removeEventListener("focus",ue)}},[Ir]),_.useEffect(()=>{(e||!Dt)&&Ir()},[Dt,e,Ir]);const Nr=_.useCallback(()=>{Re.current=Array.from(document.querySelectorAll("[data-collaboration-member], [data-collaboration-background]")).flatMap(V=>{const ue=V.dataset.collaborationMember??"",He=V.hasAttribute("data-collaboration-background"),ge=V.closest("[data-collaboration-group]")?.dataset.collaborationGroup;if(!ue&&!He||!ge)return[];const Ce=[];for(let Ve=V.parentElement;Ve;Ve=Ve.parentElement)Ce.push({element:Ve,top:Ve.scrollTop,left:Ve.scrollLeft});return[{element:V,sessionId:ue,groupId:ge,background:He,rect:V.getBoundingClientRect(),scrollParents:Ce}]})},[]),ae=_.useCallback((V,ue)=>{if(!et.current)return;document.querySelectorAll("[data-split-exit-drop-index]").forEach(ct=>ct.removeAttribute("data-active")),document.querySelectorAll("[data-drop-active]").forEach(ct=>ct.removeAttribute("data-drop-active"));const ge=document.elementsFromPoint(V,ue).map(ct=>ct.closest("[data-collaboration-background]")).find(Boolean)?.closest("[data-collaboration-group]");if(ge?.dataset.collaborationGroup){ge.dataset.dropActive="true",ut.current={kind:"collaboration",groupId:ge.dataset.collaborationGroup,background:!0};return}const Ce=Re.current.find(ct=>{if(ct.sessionId===Ne.current||!ct.element.isConnected)return!1;const Ft=ct.scrollParents.reduce((sr,or)=>sr+or.element.scrollLeft-or.left,0),gr=ct.scrollParents.reduce((sr,or)=>sr+or.element.scrollTop-or.top,0);return V>=ct.rect.left-Ft&&V<=ct.rect.right-Ft&&ue>=ct.rect.top-gr+ct.rect.height*.25&&ue<=ct.rect.bottom-gr-ct.rect.height*.25});if(Ce?.background){Ce.element.closest("[data-collaboration-group]")?.setAttribute("data-drop-active","true"),ut.current={kind:"collaboration",groupId:Ce.groupId,background:!0};return}if(Ce&&!v.find(Ft=>Ft.sessionIds.includes(Ce.sessionId))?.sessionIds.includes(Ne.current??"")){Ce.element.dataset.dropActive="true",ut.current={kind:"split",sessionId:Ce.sessionId,groupId:Ce.groupId};return}const Ve=document.elementsFromPoint(V,ue).filter(ct=>{const Ft=ct.closest("[data-rfd-draggable-id]");return!Ft||!["session:","split-member:","collaboration-member:"].some(gr=>Ft.dataset.rfdDraggableId===`${gr}${Ne.current}`)}),it=Ve.map(ct=>ct.closest("[data-collaboration-group]")).find(ct=>ct?.dataset.collaborationGroup);if(it?.dataset.collaborationGroup){const ct=it.dataset.collaborationGroup,Ft=Ve.map(or=>or.closest("[data-collaboration-split]")).find(Boolean),gr=Ve.map(or=>or.closest("[data-collaboration-member]")).find(Boolean),sr=gr?.dataset.collaborationMember??Ft?.dataset.splitAnchor;if(sr&&(ct!==lr.current||!gr&&Ft)){it.dataset.dropActive="true";const or=gr??Ft;or&&(or.dataset.dropActive="true"),ut.current={kind:"split",sessionId:sr,groupId:ct}}else{const or=Ve.some(qn=>qn.closest("[data-collaboration-background]"));(ct!==lr.current||or)&&(it.dataset.dropActive="true"),ut.current={kind:"collaboration",groupId:ct,background:or}}return}const We=Array.from(document.querySelectorAll("[data-sidebar-entity-list-id]")).filter(ct=>ct.dataset.sidebarEntityListId===Rr.current).find(ct=>{const Ft=ct.getBoundingClientRect();return V>=Ft.left&&V<=Ft.right&&ue>=Ft.top-8&&ue<=Ft.bottom+8});if(!We){ut.current=null;return}const ot=Array.from(We.children).filter(ct=>ct instanceof HTMLElement&&ct.hasAttribute("data-sidebar-entity-index")),br=ot.findIndex(ct=>{const Ft=ct.getBoundingClientRect();return ue<Ft.top+Ft.height/2}),bt=br<0?ot.length:br;ut.current={kind:"list",listId:We.dataset.sidebarEntityListId??"",index:bt};const yr=Array.from(We.querySelectorAll(":scope > [data-sidebar-entity-index] > [data-split-exit-drop-index]")).find(ct=>ct.dataset.splitExitDropIndex===String(bt));yr instanceof HTMLElement&&(yr.dataset.active="true")},[v]);_.useEffect(()=>{const V=He=>ae(He.clientX,He.clientY),ue=He=>{const ge=He.touches[0];ge&&ae(ge.clientX,ge.clientY)};return window.addEventListener("pointermove",V),window.addEventListener("touchmove",ue,{passive:!0}),()=>{window.removeEventListener("pointermove",V),window.removeEventListener("touchmove",ue)}},[ae]);const rr=_.useCallback((V,ue)=>{try{V(ue)}finally{document.querySelectorAll("[data-sidebar-dragging]").forEach(He=>{delete He.dataset.sidebarDragging}),et.current=!1,Re.current=[],Qr(!1),lr.current=null,Ne.current=null,Rr.current=null,ut.current=null,document.querySelectorAll("[data-split-exit-drop-index]").forEach(He=>He.removeAttribute("data-active")),document.querySelectorAll("[data-drop-active]").forEach(He=>He.removeAttribute("data-drop-active"))}},[]),lt=_.useMemo(()=>i.filter(V=>!wn.has(V.id)),[i,wn]),es=_.useMemo(()=>{let V=0;for(const ue of i)l.get(ue.id)?.agentStatus==="working"&&(V+=1);return V},[i,l]);_.useEffect(()=>{e&&Et.current?.scrollIntoView({block:"nearest",behavior:"smooth"})},[u,e,lt.length,pe]);const Jt=_.useMemo(()=>{if(!j||!u)return null;const V=l.get(u)?.cwd??null;return Vh(V)},[j,u,l]);_.useEffect(()=>{if(!j){Lr.current=null,un.current.clear();return}if(!u){Lr.current=null;return}const V=$t.getState(),ue=un.current,He=Lr.current,ge=Jt;He!==null&&He!==ge&&ue.has(He)&&(V.collapsedGroups.has(He)||V.toggleGroupCollapsed(He),ue.delete(He)),ge!==null&&ge!==""&&V.collapsedGroups.has(ge)&&(V.toggleGroupCollapsed(ge),ue.add(ge)),Lr.current=ge},[j,u,Jt]),_.useEffect(()=>{e||(ke(!1),Lt(!1))},[e]),_.useEffect(()=>{at(V=>({...V,command:kt?.command}))},[kt]),_.useEffect(()=>{if(!Se)return;let V=!1;return Fe(!0),Ct(null),q1().then(ue=>{V||J(ue)}).catch(()=>{V||Ct(oe("sidebar.resumeHistoryLoadFailed"))}).finally(()=>{V||Fe(!1)}),()=>{V=!0}},[Se,oe]),_.useEffect(()=>{if(!Ie)return;const V=ue=>{ue instanceof KeyboardEvent&&ue.key!=="Escape"||ue instanceof MouseEvent&&ue.target instanceof Node&&_t.current?.contains(ue.target)||ke(!1)};return window.addEventListener("mousedown",V),window.addEventListener("keydown",V),()=>{window.removeEventListener("mousedown",V),window.removeEventListener("keydown",V)}},[Ie]),_.useEffect(()=>{if(!qe)return;const V=ue=>{ue instanceof KeyboardEvent&&ue.key!=="Escape"||ue instanceof PointerEvent&&ue.target instanceof Node&&Tt.current?.contains(ue.target)||se(null)};return window.addEventListener("pointerdown",V),window.addEventListener("keydown",V),()=>{window.removeEventListener("pointerdown",V),window.removeEventListener("keydown",V)}},[qe]);const Qn=()=>{!Le&&!ve&&r()},xs=Ae==="tmux"&&!de?"shell":Ae,xo=()=>{h({mode:xs}),Qn()},ts=()=>{kt&&(h({mode:xs,command:kt.command}),Qn())},Gn=V=>{xe(V.name),h({mode:"tmux",tmuxSessionName:V.name,cwd:V.cwd??void 0}),Qn()};_.useEffect(()=>{he&&(je.some(V=>V.name===he)||xe(null))},[he,je]);const An=V=>{h({...Ke,cwd:Ke.cwd?.trim()||void 0,command:V?.command}),Lt(!1),Qn()},gn=async V=>{vt(V.id),Ct(null);try{const ue=await Q5(V.id);h({mode:"shell",cwd:ue.cwd,command:ue.command}),Lt(!1),Qn()}catch(ue){const He=ue&&typeof ue=="object"&&"code"in ue?String(ue.code??""):"";Ct(oe(He==="AGENT_SESSION_ACTIVE_ELSEWHERE"?"tab.resumeAgentConflict":"sidebar.resumeHistoryFailed"))}finally{vt(null)}},Rs=async V=>{J(ue=>ue.filter(He=>He.id!==V));try{await R7(V)}catch{Ct(oe("sidebar.resumeHistoryRemoveFailed")),q1().then(J).catch(()=>{})}},Tn=()=>{if(Se){Lt(!1);return}at({mode:Ae==="tmux"&&!de?"shell":Ae,cwd:u?l.get(u)?.cwd??void 0:void 0,command:kt?.command}),Lt(!0)},Wr=_.useCallback(V=>{const ue=l.get(V);return ue?.agentStatus==="waiting"||ue?.agentNeedsReview?"bg-[rgb(var(--warning-rgb)_/_0.10)] text-foreground":ue?.agentStatus==="working"?"bg-[rgb(var(--success-rgb)_/_0.08)] text-foreground":ue?.inCopyMode?"bg-[rgb(var(--tmux-rgb)_/_0.08)] text-foreground":null},[l]),ur=h6(),Or=_.useCallback((V,ue,He,ge)=>{const Ce=V.id===u,Ve=wn.has(V.id),it=!!(He&&Ve),$e=l.get(V.id),We=ka($e?.cwd??null),ot=$e?.shellTitle??H9(V.id),br=ot===$e?.cwd||ot===We?null:ot,bt=EC(V,$e?.activeProgram??null,null,Dp,br,$e?.promptState??null),yr=!!($e?.tuiProgress&&$e.tuiProgress.state!=="remove"),Ft=$e?.promptState==="running"||$e?.agentStatus==="working"||yr?"bg-[var(--success)]":$e?.agentStatus==="waiting"||$e?.agentNeedsReview?"bg-[var(--warning)]":$e?.inCopyMode?"bg-[var(--tmux)]":"bg-primary";return c.jsxs(c.Fragment,{children:[c.jsxs("button",{ref:Ce?Et:null,type:"button",...ue??{},onContextMenu:gr=>{M&&(gr.preventDefault(),M(V.id,{x:gr.clientX,y:gr.clientY}))},onClick:()=>{window.dispatchEvent(new CustomEvent("switch-terminal-session",{detail:V.id})),Qn()},className:`sidebar-session-primary relative min-w-0 flex flex-1 items-center overflow-hidden text-left ${ue?"cursor-grab active:cursor-grabbing ":""}${He?"gap-1.5 py-0.5 pl-1.5 pr-0.5":"gap-1.5 py-1 pl-2 pr-1"}`,title:$e?.cwd??V.name,children:[Ce&&c.jsx("span",{className:`absolute inset-y-2 left-0 w-0.5 rounded-full ${Ft}`}),c.jsxs("span",{className:`relative inline-flex shrink-0 items-center justify-center rounded-md ${He?"h-5 w-[22px]":"h-[22px] w-[22px]"} ${Ce?V.mode==="tmux"?"bg-[rgb(var(--tmux-rgb)_/_0.15)] text-[color:var(--tmux)]":"bg-primary/15 text-primary":V.mode==="tmux"?"bg-surface text-[rgb(var(--tmux-rgb)_/_0.80)]":"bg-surface text-muted-foreground"}`,children:[$e?.isConnecting||yr&&!$e?.agentStatus?c.jsx(Xr,{size:He?10:11,className:"animate-spin"}):$e?.agent??lm(V.id)?c.jsx(Yl,{agent:$e?.agent??lm(V.id),size:He?13:15}):V.mode==="tmux"?c.jsx(O0,{size:He?10:11}):c.jsx(na,{size:He?10:11}),c.jsx(lB,{status:$e?.agentStatus??null,detail:$e?.agentStatusDetail,needsReview:$e?.agentNeedsReview,inCopyMode:$e?.inCopyMode})]}),c.jsx("span",{className:`min-w-0 flex-1 truncate leading-tight ${He?"text-[11px]":"text-[12px]"} ${Ce?"font-medium text-foreground":""} ${$e?.inCopyMode?"text-[color:var(--tmux)]":""}`,children:bt})]}),ge,c.jsx("button",{type:"button",onClick:gr=>{gr.stopPropagation(),it?b(V.id):Ve?x(V.id):g(V.id)},className:`sidebar-session-action inline-flex shrink-0 items-center justify-center rounded-md transition hover:bg-primary/15 hover:text-primary active:scale-95 ${He?"h-6 w-6":"h-[26px] w-[26px]"} ${Ve?"bg-primary/15 text-primary":"text-muted-foreground/70"}`,"aria-label":`${oe(it?"tab.splitRemovePane":Ve?"tab.splitClose":"tab.split")} ${bt}`,title:oe(it?"tab.splitRemovePane":Ve?"tab.splitClose":"tab.split"),children:it?c.jsx(e9,{size:11}):c.jsx(zl,{size:12})}),c.jsx("button",{type:"button",onClick:gr=>{gr.stopPropagation(),p(V.id,gr)},className:`sidebar-session-action inline-flex shrink-0 items-center justify-center rounded-md text-muted-foreground/70 transition hover:bg-destructive/15 hover:text-destructive active:scale-95 ${He?"h-6 w-6":"h-[26px] w-[26px]"}`,"aria-label":oe("sidebar.closeSession",{name:bt}),title:oe("common.close"),children:c.jsx($s,{size:He?11:12})})]})},[u,wn,l,p,g,x,b,M,oe]),Zt=_.useMemo(()=>{if(!j)return[];const V=Bp(i,ge=>l.get(ge.id)?.cwd??null,oe("sidebar.ungrouped")),ue=new Map,He=new Set;for(const ge of v){if(ge.sessionIds.some($e=>Bn.has($e)))continue;const Ce=ge.sessionIds[0];if(!Ce)continue;const Ve=Vh(l.get(Ce)?.cwd??null),it=ue.get(Ve)??new Set;ge.sessionIds.forEach($e=>{it.add($e),He.add($e)}),ue.set(Ve,it)}for(const ge of Mr){const Ce=ge.sessionIds[0];if(!Ce)continue;const Ve=Vh(l.get(Ce)?.cwd??null),it=ue.get(Ve)??new Set;ge.sessionIds.forEach($e=>it.add($e)),ue.set(Ve,it)}return V.flatMap(ge=>{const Ce=new Set(ge.sessions.filter(it=>!He.has(it.id)&&!Bn.has(it.id)).map(it=>it.id));ue.get(ge.key)?.forEach(it=>Ce.add(it));const Ve=i.filter(it=>Ce.has(it.id));return Ve.length>0?[{...ge,sessions:Ve}]:[]})},[Mr,Bn,j,i,l,v,oe]),Tr=_.useMemo(()=>Ic(i,v,mr,Mr),[Mr,i,mr,v]),Sn=_.useCallback(V=>{Qr(V.draggableId.startsWith("collaboration:")||V.draggableId.startsWith("workspace:"));const ue=V.draggableId.replace(/^split-member:/,"");Ne.current=V.draggableId.replace(/^(?:session|split-member|collaboration-member):/,"");const He=V.type==="split-member"?v.find($e=>$e.sessionIds.includes(ue)):null,ge=V.type==="collaboration-member"?V.source.droppableId.replace(/^collaboration-members:/,""):null,Ce=ge?Mr.find($e=>$e.id===ge):null;et.current=!!(He||Ce||V.type==="session"&&V.draggableId.startsWith("session:")),et.current&&document.querySelectorAll("[data-collaboration-group]").forEach($e=>{$e.dataset.sidebarDragging="true"}),lr.current=Ce?.id??null;const Ve=He?.sessionIds??Ce?.sessionIds??[],it=Ve.length>0?Zt.find($e=>Ve.every(We=>$e.sessions.some(ot=>ot.id===We))):null;Rr.current=j?it?`group-sessions:${it.key}`:null:Ve.length>0?"sidebar-entities":null,ut.current=null},[Mr,Zt,j,v]),Mt=_.useCallback((V,ue,He)=>{if(ue===He)return;const ge=ue?De.find(We=>We.id===ue):null,Ce=He?De.find(We=>We.id===He):null;if(He&&!Ce)return;if(Ce){const We=i.map(br=>br.id).filter(br=>br!==V);let ot=-1;We.forEach((br,bt)=>{Ce.sessionIds.includes(br)&&(ot=bt)}),ot>=0&&(We.splice(ot+1,0,V),R(We))}const Ve=ge?.sessionIds.filter(We=>We!==V)??[],it=Ce?[...Ce.sessionIds.filter(We=>We!==V),V]:[];At(We=>We.flatMap(ot=>ot.id===ue?Ve.length>=2?[{...ot,sessionIds:Ve}]:[]:ot.id===He?[{...ot,sessionIds:it}]:[ot]));const $e=[];ge&&$e.push(Ve.length>=2?Qc({id:ge.id,name:ge.name,sessionIds:Ve}):B5(ge.id)),Ce&&$e.push(Qc({id:Ce.id,name:Ce.name,sessionIds:it})),Promise.all($e).then(()=>Ir(),()=>Ir())},[De,Ir,i,R]),bs=_.useCallback((V,ue,He)=>{const ge=De.find(We=>We.id===V);if(!ge||ue===He)return;const Ce=ge.sessionIds.filter(We=>!We.startsWith("remote:")),Ve=Sf(Ce,v).flatMap(We=>We.sessionIds),[it]=Ve.splice(ue,1);if(!it)return;Ve.splice(He,0,it);const $e=v.find(We=>We.sessionIds.includes(it));if($e&&$e.sessionIds.every(We=>ge.sessionIds.includes(We))){const We=Ve.filter(ot=>$e.sessionIds.includes(ot));k($e.id,We)}Ve.push(...ge.sessionIds.filter(We=>We.startsWith("remote:"))),At(We=>We.map(ot=>ot.id===V?{...ot,sessionIds:Ve}:ot)),Qc({id:ge.id,name:ge.name,sessionIds:Ve}).then(()=>Ir(),()=>Ir())},[De,Ir,v,k]),dr=_.useCallback(V=>{if(V.type!=="collaboration-member")return!1;if(V.reason==="CANCEL")return!0;const ue=V.source.droppableId.replace(/^collaboration-members:/,""),He=V.draggableId.replace(/^collaboration-member:/,""),ge=ut.current;if(ge?.kind==="split")return Mt(He,ue,ge.groupId),I(ge.sessionId,He),!0;if(ge?.kind==="collaboration"&&ge.groupId!==ue)return Mt(He,ue,ge.groupId),!0;if(ge?.kind==="collaboration"&&ge.background)return wn.has(He)&&b(He),!0;if(V.destination&&V.destination.droppableId!==V.source.droppableId){const Ce=V.destination.droppableId.replace(/^collaboration-members:/,"");if(Mr.some(Ve=>Ve.id===Ce))return Mt(He,ue,Ce),!0}if(V.combine){const Ce=V.combine.droppableId.replace(/^collaboration-members:/,"");Ce!==ue&&Mt(He,ue,Ce);const Ve=V.combine.draggableId.replace(/^collaboration-member:/,"");if(v.find($e=>$e.sessionIds.includes(He))?.sessionIds.includes(Ve)){const $e=Mr.find(ot=>ot.id===ue),We=$e?Sf($e.sessionIds,v).flatMap(ot=>ot.sessionIds).indexOf(Ve):-1;We>=0&&bs(ue,V.source.index,We)}else mr.has(Ve)&&I(Ve,He);return!0}if(V.destination?.droppableId===V.source.droppableId)return bs(ue,V.source.index,V.destination.index),!0;if(ge?.kind!=="list")return!0;if(ge?.kind==="list"){const Ce=Zt.find(it=>`group-sessions:${it.key}`===ge.listId),Ve=ge.listId==="sidebar-entities"?Tr:Ce?Ic(Ce.sessions,v,mr,Mr):null;if(Ve){const it=u5(Ve,He,ge.index);ge.listId==="sidebar-entities"?R(it):Ce&&R(Zt.flatMap($e=>$e.key===Ce.key?it:$e.sessions.map(We=>We.id)))}}return Mt(He,ue,null),!0},[Mr,Tr,Zt,Mt,R,bs,mr,v,wn,b,I]),Cn=_.useCallback(V=>{if(V.type!=="split-member")return!1;if(V.reason==="CANCEL")return!0;const ue=V.draggableId.replace(/^split-member:/,""),He=v.find(We=>We.sessionIds.includes(ue));if(!He?.sessionIds.includes(ue))return!0;const ge=He.id,Ce=ut.current;if(Ce?.kind==="split")return Mt(ue,null,Ce.groupId),I(Ce.sessionId,ue),!0;if(Ce?.kind==="collaboration")return Mt(ue,null,Ce.groupId),!0;if(!V.destination&&Ce?.kind==="list"){const We=Zt.find(bt=>`group-sessions:${bt.key}`===Ce.listId),ot=Ce.listId==="sidebar-entities"?Tr:We?Ic(We.sessions,v,mr,Mr):null;if(!ot)return!0;const br=u5(ot,ue,Ce.index);return b(ue),Ce.listId==="sidebar-entities"?R(br):We&&R(Zt.flatMap(bt=>bt.key===We.key?br:bt.sessions.map(yr=>yr.id))),!0}if(!V.destination)return!0;const Ve=V.destination.droppableId.replace(/^split-members:/,"");if(Ve!==ge){const ot=v.find(br=>br.id===Ve)?.sessionIds[0];return ot&&I(ot,ue),!0}if(V.source.index===V.destination.index)return!0;const it=[...He.sessionIds],[$e]=it.splice(V.source.index,1);return $e&&(it.splice(V.destination.index,0,$e),k(ge,it)),!0},[Mr,Tr,Zt,Mt,I,b,R,k,mr,v]),rs=(V,ue="top")=>c.jsx("div",{"data-split-exit-drop-index":V,className:`group/split-exit pointer-events-none absolute inset-x-0 z-10 h-2 ${ue==="top"?"-top-1":"-bottom-1"}`,children:c.jsx("span",{"aria-hidden":"true",className:"pointer-events-none absolute inset-x-1 top-1/2 h-px -translate-y-1/2 rounded-full bg-transparent transition-colors group-data-[active=true]/split-exit:bg-primary"})}),Kn=_.useCallback((V,ue,He)=>{if(dr(V)||Cn(V)||V.reason==="CANCEL")return;const ge=ue.find(We=>We.id===V.draggableId);if(!ge)return;const Ce=ut.current;if(Ce?.kind==="split"&&ge.kind==="session"){Mt(ge.session.id,null,Ce.groupId),I(Ce.sessionId,ge.session.id);return}if(Ce?.kind==="collaboration"&&ge.kind==="session"){Mt(ge.session.id,null,Ce.groupId);return}if(V.combine&&ge.kind!=="session"){const We=ue.findIndex(ot=>ot.id===V.combine?.draggableId);if(We<0)return;V={...V,combine:null,destination:{...V.source,index:We}}}if(V.combine){const We=ue.find(ct=>ct.id===V.combine?.draggableId);if(!We)return;const ot=We.kind==="workspace"?We:ge.kind==="workspace"?ge:We,br=ot===ge?We:ge,bt=ot.sessionIds[0],yr=br.sessionIds[0];bt&&yr&&bt!==yr&&I(bt,yr);return}if(!V.destination||V.source.index===V.destination.index)return;const Ve=[...ue],[it]=Ve.splice(V.source.index,1);if(!it)return;Ve.splice(V.destination.index,0,it);const $e=Ve.flatMap(We=>We.sessionIds);if(He===void 0){R($e);return}R(Zt.flatMap(We=>We.key===He?$e:We.sessions.map(ot=>ot.id)))},[Zt,dr,Cn,Mt,I,R]),En=_.useCallback(V=>{if(V.reason==="CANCEL"||dr(V)||Cn(V))return;if(V.type==="group"){if(!V.destination||V.source.index===V.destination.index)return;R(B3(Zt,V.source.index,V.destination.index));return}const ue=V.source.droppableId.replace(/^group-sessions:/,""),He=Zt.find(Ce=>Ce.key===ue);if(!He)return;const ge=Ic(He.sessions,v,mr,Mr);if(V.combine||ut.current?.kind==="collaboration"||ut.current?.kind==="split"){Kn(V,ge,ue);return}!V.destination||V.destination.droppableId!==V.source.droppableId||Kn(V,ge,ue)},[Mr,Zt,mr,v,dr,Kn,Cn,R]),ys=V=>{const ue=qe===V.id,He=[{layout:"horizontal",label:oe("tab.splitHorizontal"),icon:zl},{layout:"vertical",label:oe("tab.splitVertical"),icon:em},...V.sessionIds.length>=3||V.layout==="grid"?[{layout:"grid",label:oe("tab.splitGrid"),icon:X1}]:[]],ge=V.layout==="vertical"?em:V.layout==="grid"?X1:zl,Ce=He.find(Ve=>Ve.layout===V.layout)?.label??oe("tab.splitHorizontal");return c.jsxs("div",{ref:ue?Tt:void 0,className:"relative shrink-0",onPointerDown:Ve=>Ve.stopPropagation(),children:[c.jsx("button",{type:"button",className:`sidebar-session-action inline-flex h-6 w-6 items-center justify-center rounded-md transition active:scale-95 ${ue?"bg-primary/15 text-primary":"text-muted-foreground/70 hover:bg-surface-2 hover:text-foreground"}`,"aria-label":`${oe("tab.splitLayout")}: ${Ce}`,"aria-haspopup":"menu","aria-expanded":ue,title:oe("tab.splitLayout"),onClick:Ve=>{Ve.stopPropagation(),se(it=>it===V.id?null:V.id)},children:c.jsx(ge,{size:12})}),ue&&c.jsx("div",{role:"menu","aria-label":oe("tab.splitLayout"),className:"absolute right-0 top-full z-30 mt-1 flex gap-0.5 rounded-md border border-border bg-surface-elevated p-1 shadow-lg",children:He.map(Ve=>{const it=Ve.icon,$e=Ve.layout===V.layout;return c.jsx("button",{type:"button",role:"menuitemradio","aria-checked":$e,"aria-label":Ve.label,title:Ve.label,className:`sidebar-session-action inline-flex h-7 w-7 items-center justify-center rounded-sm transition active:scale-95 ${$e?"bg-primary/15 text-primary":"text-muted-foreground hover:bg-surface-2 hover:text-foreground"}`,onClick:We=>{We.stopPropagation(),A(V.sessionIds[0],Ve.layout),se(null)},children:c.jsx(it,{size:13})},Ve.layout)})})]})},qr=(V,ue)=>ue&&c.jsx("button",{type:"button",...ue,"aria-label":V,title:V,onClick:He=>He.stopPropagation(),className:"absolute -left-2 inset-y-0 z-10 flex w-3 cursor-grab items-start justify-center pt-1.5 text-muted-foreground/60 transition hover:text-foreground focus-visible:text-foreground active:cursor-grabbing",children:c.jsx(dv,{size:10})}),ls=(V,ue,He=!1,ge=!1,Ce)=>{if(ue.length<2)return null;const Ve=ue.some(bt=>bt.id===u),it=[],$e=[],We=[];for(const bt of ue){const yr=l.get(bt.id);yr?.agentStatus==="waiting"||yr?.agentNeedsReview?it.push(bt):yr?.agentStatus==="working"?$e.push(bt):yr?.inCopyMode&&We.push(bt)}const ot=V.name?.trim()||`${oe("tab.splitWorkspace")} ${v.findIndex(bt=>bt.id===V.id)+1}`,br=qe===V.id;return c.jsxs("section",{"data-split-workspace":V.id,"aria-label":ot,className:`group/split relative rounded-md p-0.5 before:pointer-events-none before:absolute before:inset-0 before:rounded-md before:border before:border-border transition-colors ${ge?"bg-primary/15 ring-1 ring-primary/40":He?"bg-surface-elevated opacity-90 shadow-lg":it.length>0?"bg-[rgb(var(--warning-rgb)_/_0.08)] hover:bg-[rgb(var(--warning-rgb)_/_0.12)]":$e.length>0?"bg-[rgb(var(--success-rgb)_/_0.06)] hover:bg-[rgb(var(--success-rgb)_/_0.10)]":We.length>0?"bg-[rgb(var(--tmux-rgb)_/_0.07)] hover:bg-[rgb(var(--tmux-rgb)_/_0.11)]":Ve?"bg-primary/[0.07]":"hover:bg-surface-2"}`,children:[qr(`移动分屏组 ${ot}`,Ce),c.jsx(Xa,{droppableId:`split-members:${V.id}`,type:"split-member",direction:"vertical",children:(bt,yr)=>c.jsxs("div",{ref:bt.innerRef,...bt.droppableProps,"data-split-members":!0,className:yr.isDraggingOver?"rounded-sm bg-primary/10 ring-1 ring-primary/40":"",children:[ue.map((ct,Ft)=>c.jsx(Ka,{draggableId:`split-member:${ct.id}`,index:Ft,disableInteractiveElementBlocking:!0,children:(gr,sr)=>c.jsx("div",{ref:gr.innerRef,...gr.draggableProps,...M?ur(()=>M(ct.id)):{},className:`${Ft===0&&br?"relative z-20 ":"relative "}flex items-center rounded-sm pr-0.5 transition-colors ${sr.isDragging?"bg-surface-elevated opacity-90 shadow-lg ":""}${Wr(ct.id)??(ct.id===u?"bg-surface-elevated/80 text-foreground":"text-muted-foreground hover:bg-surface-2")}`,children:Or(ct,gr.dragHandleProps,!0,Ft===0?ys(V):void 0)})},ct.id)),bt.placeholder]})})]})},Vn=(V,ue,He,ge=!1,Ce=!1)=>{if(ue.length<(V.federated?1:2))return null;const Ve=ue.some(ot=>ot.id===u),it=Sf(V.sessionIds,v),$e=it.flatMap(ot=>ot.sessionIds),We=it.length===1?it[0]?.workspace:void 0;return c.jsxs("section",{"data-collaboration-group":V.id,"data-collaboration-group-name":V.name,"aria-label":`Agent 工作组:${V.name}`,className:`group/collaboration relative rounded-md p-0.5 before:pointer-events-none before:absolute before:inset-0 before:rounded-md before:border before:border-border transition-colors data-[drop-active=true]:bg-primary/15 data-[drop-active=true]:ring-1 data-[drop-active=true]:ring-primary/40 ${Ce?"bg-primary/15 ring-1 ring-primary/40":ge?"bg-surface-elevated opacity-90 shadow-lg":Ve?"bg-primary/[0.07]":"hover:bg-surface-2"}`,children:[qr(`移动工作组 ${V.name}`,He),c.jsx("button",{type:"button",className:"absolute -right-1 top-1.5 z-10 inline-flex h-4 w-4 items-center justify-center rounded-sm bg-[var(--chrome-bg)] text-muted-foreground transition hover:bg-surface-elevated hover:text-foreground",title:`打开 ${V.name} 的协作消息`,"aria-label":`打开 Agent 工作组消息:${V.name}`,onClick:ot=>{ot.stopPropagation(),rt(V.id),Ue(!0)},children:c.jsx(tm,{size:9})}),c.jsx(Xa,{droppableId:`collaboration-members:${V.id}`,type:"collaboration-member",direction:"vertical",isCombineEnabled:!0,children:(ot,br)=>c.jsxs("div",{ref:ot.innerRef,...ot.droppableProps,"data-collaboration-members":!0,className:`${br.isDraggingOver?"rounded-sm bg-primary/10":""}`,children:[it.map(bt=>c.jsx("div",{"data-collaboration-split":bt.workspace?.id,"data-split-anchor":bt.workspace?.sessionIds[0],role:bt.workspace?"region":void 0,"aria-label":bt.workspace?`${oe("tab.splitWorkspace")} · ${bt.sessionIds.length}`:void 0,className:bt.workspace&&!We?`relative my-0.5 rounded-sm before:pointer-events-none before:absolute before:inset-0 before:rounded-sm before:border before:border-border data-[drop-active=true]:ring-1 data-[drop-active=true]:ring-primary/40 ${bt.sessionIds.includes(u??"")?"bg-primary/[0.07]":"bg-surface/35"}`:void 0,children:bt.sessionIds.map(yr=>{const ct=mr.get(yr);return ct?c.jsx(Ka,{draggableId:`collaboration-member:${ct.id}`,index:$e.indexOf(ct.id),disableInteractiveElementBlocking:!0,children:(Ft,gr)=>c.jsxs("div",{ref:Ft.innerRef,...Ft.draggableProps,"data-collaboration-member":ct.id,"data-split-member":wn.has(ct.id)?"true":void 0,...M?ur(()=>M(ct.id)):{},className:`${bt.workspace&&yr===bt.sessionIds[0]&&qe===bt.workspace.id?"z-20 ":""}relative flex items-center rounded-sm pr-0.5 transition-colors data-[drop-active=true]:bg-primary/15 data-[drop-active=true]:ring-1 data-[drop-active=true]:ring-primary/40 ${gr.combineTargetFor?"bg-primary/15 ring-1 ring-primary/40 ":gr.isDragging?"bg-surface-elevated opacity-90 shadow-lg ":""}${Wr(ct.id)??(ct.id===u?"bg-surface-elevated/80 text-foreground":wn.has(ct.id)?"bg-primary/[0.05] text-muted-foreground hover:bg-primary/[0.09]":"text-muted-foreground hover:bg-surface-2")}`,children:[Or(ct,Ft.dragHandleProps,!0,bt.workspace&&yr===bt.sessionIds[0]?ys(bt.workspace):void 0),!bt.workspace&&wn.has(ct.id)&&c.jsx("button",{type:"button",className:"shrink-0 px-1 text-[10px] text-primary",title:`与 ${v.find(sr=>sr.sessionIds.includes(ct.id))?.sessionIds.filter(sr=>sr!==ct.id).map(sr=>mr.get(sr)?.name??sr).join("、")} 分屏`,"aria-label":`查看 ${ct.name} 的跨组分屏`,onClick:()=>{window.dispatchEvent(new CustomEvent("switch-terminal-session",{detail:ct.id})),Qn()},children:c.jsx(zl,{size:10})})]})},ct.id):null})},bt.workspace?.id??bt.sessionIds[0])),ot.placeholder]})}),V.remoteSessions?.map(ot=>c.jsxs("button",{type:"button",title:`${ot.serviceLabel??ot.serviceOrigin} · ${ot.serviceConnected===!1?"服务不可达,消息尚未送达":ot.status}`,className:"flex w-full min-w-0 items-center gap-1.5 rounded-sm px-2 py-1 text-left text-[11px] text-muted-foreground hover:bg-surface-2",onClick:()=>{f6(ot.sessionId).catch(()=>{rt(V.id),Ue(!0)})},children:[c.jsx("span",{className:`h-1.5 w-1.5 shrink-0 rounded-full ${ot.serviceConnected===!1?"bg-muted-foreground":"bg-primary"}`}),c.jsx("span",{className:"min-w-0 flex-1 truncate",children:ot.name}),c.jsx("span",{className:"max-w-20 truncate rounded border border-border/20 px-1 text-[9px]",children:ot.serviceLabel??ot.serviceOrigin}),ot.serviceConnected===!1&&c.jsx("span",{className:"shrink-0 text-[9px]",children:"不可达"})]},ot.sessionId)),c.jsx("div",{"data-collaboration-background":!0,className:"relative h-1.5",title:`工作组:${V.name}`,children:c.jsx("span",{className:"absolute inset-x-0 bottom-0 z-20 hidden rounded-sm bg-surface-elevated px-2 py-1 text-[10px] text-muted-foreground group-data-[sidebar-dragging=true]/collaboration:block",children:"拖入工作组 · 在此移出分屏"})})]})},Wi=(V,ue,He)=>c.jsx(Ad,{onBeforeCapture:Nr,onDragStart:Sn,onDragEnd:ge=>rr(Ce=>Kn(Ce,V,He),ge),children:c.jsx(Xa,{droppableId:ue,direction:"vertical",isCombineEnabled:!cn,children:ge=>c.jsxs("div",{ref:ge.innerRef,...ge.droppableProps,"data-sidebar-entity-list-id":ue,className:"space-y-0.5",children:[V.map((Ce,Ve)=>c.jsx(Ka,{draggableId:Ce.id,index:Ve,disableInteractiveElementBlocking:!0,children:(it,$e)=>c.jsxs("div",{ref:it.innerRef,...it.draggableProps,"data-sidebar-gesture-ignore":!0,"data-sidebar-entity-index":Ve,className:"relative",children:[rs(Ve),Ve===V.length-1&&rs(V.length,"bottom"),Ce.kind==="workspace"?ls(Ce.workspace,Ce.members,$e.isDragging,!!$e.combineTargetFor,it.dragHandleProps):Ce.kind==="collaboration"?Vn(Ce.group,Ce.members,it.dragHandleProps,$e.isDragging,!!$e.combineTargetFor):c.jsx("div",{...M?ur(()=>M(Ce.session.id)):{},className:`group relative flex items-center gap-1 rounded-md pr-1 transition-colors ${$e.combineTargetFor?"bg-primary/15 text-foreground ring-1 ring-primary/40":$e.isDragging?"bg-surface-elevated text-foreground opacity-90 shadow-lg":Wr(Ce.session.id)??(Ce.session.id===u?"bg-surface-elevated text-foreground":"text-muted-foreground hover:bg-surface-2")} cursor-grab active:cursor-grabbing`,children:Or(Ce.session,it.dragHandleProps)})]})},Ce.id)),ge.placeholder]})})}),Ms=c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"shrink-0 border-b border-border/15 px-2 py-2",children:c.jsxs("div",{className:"flex items-center gap-1.5",children:[c.jsx("div",{className:"min-w-0 flex-1 px-1",children:c.jsxs("div",{className:"flex items-baseline gap-1.5",children:[c.jsx("span",{className:"text-[13px] font-semibold text-foreground",children:oe("sidebar.sessions")}),c.jsx("span",{className:"text-[11px] text-muted-foreground",children:i.length}),es>0&&c.jsx("span",{className:"ml-1 flex items-center gap-1.5",children:c.jsx(k6,{count:es,tone:"running",title:oe("agent.aiRunning")})})]})}),c.jsxs("div",{className:"flex shrink-0 items-center gap-1",children:[c.jsxs("div",{ref:_t,className:Ie?"relative z-20":"relative",children:[c.jsxs("button",{type:"button",onClick:()=>ke(V=>!V),className:`relative inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-full transition active:scale-95 ${Ie?"bg-surface-elevated text-foreground":"bg-surface-2 text-muted-foreground hover:bg-surface-elevated hover:text-foreground"}`,"aria-expanded":Ie,"aria-haspopup":"menu","aria-label":Qt&&W?.latestVersion?`${oe("sidebar.moreActions")}: ${oe("sidebar.updateAvailable",{version:W.latestVersion})}`:oe("sidebar.moreActions"),title:Qt&&W?.latestVersion?`${oe("sidebar.moreActions")}: ${oe("sidebar.updateAvailable",{version:W.latestVersion})}`:oe("sidebar.moreActions"),children:[c.jsx(Fc,{size:15}),Qt&&c.jsx("span",{className:"absolute right-0.5 top-0.5 z-10 h-2 w-2 rounded-full bg-[var(--warning)] ring-2 ring-[var(--chrome-bg)]","aria-hidden":"true"})]}),Ie&&c.jsxs("div",{role:"menu",className:"absolute right-0 top-[calc(100%+4px)] z-30 w-60 overflow-hidden rounded-xl border border-border/15 bg-surface p-1 text-[12px] shadow-xl shadow-[0_18px_48px_var(--app-shadow-soft)] animate-fade-in",children:[Qt&&W?.latestVersion&&c.jsxs("div",{className:"mb-1 rounded-lg bg-[rgb(var(--warning-rgb)_/_0.10)] px-2.5 py-2.5 text-foreground",children:[c.jsxs("div",{className:"flex items-start gap-2",children:[c.jsx("span",{className:"mt-0.5 inline-flex h-6 w-6 shrink-0 items-center justify-center rounded-md bg-[rgb(var(--warning-rgb)_/_0.16)] text-[color:var(--warning)]",children:c.jsx(gs,{size:13,className:W.status==="installing"||W.status==="restarting"?"animate-spin":""})}),c.jsxs("span",{className:"min-w-0 flex-1",children:[c.jsx("span",{className:"block font-semibold",children:oe("sidebar.updateAvailable",{version:W.latestVersion})}),c.jsx("span",{className:"mt-0.5 block text-[10.5px] leading-relaxed text-muted-foreground",children:W.status==="installing"?oe("sidebar.updateInstalling"):W.status==="ready"?oe("sidebar.updateReady"):W.status==="restarting"?oe("sidebar.updateRestarting"):oe("sidebar.updateFailed")})]})]}),W.status==="ready"&&q&&c.jsx("button",{type:"button",role:"menuitem",disabled:O,onClick:q,className:"mt-2 flex w-full items-center justify-center rounded-md bg-[var(--warning)] px-2 py-1.5 text-[11px] font-semibold text-[color:var(--bg)] transition hover:opacity-90 disabled:cursor-wait disabled:opacity-60",children:oe("sidebar.updateRestart")}),W.status==="error"&&ee&&c.jsx("button",{type:"button",role:"menuitem",disabled:O,onClick:ee,className:"mt-2 flex w-full items-center justify-center rounded-md bg-surface-elevated px-2 py-1.5 text-[11px] font-semibold text-foreground transition hover:bg-surface-2 disabled:cursor-wait disabled:opacity-60",children:oe("sidebar.updateRetry")})]}),Te&&c.jsxs("button",{type:"button",role:"menuitemcheckbox","aria-checked":Ye,onClick:()=>Te(!Ye),className:"flex w-full items-center gap-2 rounded-lg px-2.5 py-2 text-left text-foreground transition hover:bg-surface-2",title:oe("sidebar.runningSessionButtonHint"),children:[c.jsx(Xr,{size:14,className:Ye?"text-[color:var(--success)]":"text-muted-foreground"}),c.jsxs("span",{className:"min-w-0 flex-1",children:[c.jsx("span",{className:"block",children:oe("sidebar.runningSessionButton")}),c.jsx("span",{className:"mt-0.5 block text-[10px] leading-tight text-muted-foreground",children:oe("sidebar.runningSessionButtonHint")})]}),c.jsx(Ya,{checked:Ye,size:"sm"})]}),F&&c.jsxs("button",{type:"button",role:"menuitem",onClick:()=>{ke(!1),F()},className:"flex w-full items-center gap-2 rounded-lg px-2.5 py-2 text-left text-foreground transition hover:bg-surface-2",children:[c.jsx(j8,{size:14,className:"text-muted-foreground"}),c.jsx("span",{children:oe("sidebar.subscriptionQuota")})]}),c.jsxs("button",{type:"button",role:"menuitem",onClick:()=>{ke(!1),rt(null),Ue(!0)},className:"flex w-full items-center gap-2 rounded-lg px-2.5 py-2 text-left text-foreground transition hover:bg-surface-2",children:[c.jsx(tm,{size:14,className:"text-muted-foreground"}),c.jsx("span",{children:"Agent 工作台"})]}),c.jsxs("button",{type:"button",role:"menuitem",onClick:()=>{ke(!1),E7()},className:"flex w-full items-center gap-2 rounded-lg px-2.5 py-2 text-left text-foreground transition hover:bg-surface-2",children:[c.jsx(kf,{size:14,className:"text-muted-foreground"}),c.jsx("span",{children:"服务与设备"})]}),c.jsxs("button",{type:"button",role:"menuitem",onClick:()=>{ke(!1),B()},className:"flex w-full items-center gap-2 rounded-lg px-2.5 py-2 text-left text-foreground transition hover:bg-surface-2",children:[c.jsx(Hv,{size:14,className:"text-muted-foreground"}),c.jsx("span",{children:oe("sidebar.settings")})]}),fe&&c.jsxs("button",{type:"button",role:"menuitem",onClick:()=>{ke(!1),fe()},className:`flex w-full items-center gap-2 rounded-lg px-2.5 py-2 text-left transition ${ve?"text-primary hover:bg-primary/10":"text-foreground hover:bg-surface-2"}`,children:[ve?c.jsx(Hc,{size:14}):c.jsx(zc,{size:14,className:"text-muted-foreground"}),c.jsx("span",{children:oe(ve?"sidebar.unpinSidebar":"sidebar.pinSidebar")})]})]})]}),(!Le||ve)&&c.jsx("button",{type:"button",onClick:r,className:"inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-surface-2 text-muted-foreground transition hover:bg-destructive/20 hover:text-destructive active:scale-95","aria-label":oe("common.close"),children:c.jsx($s,{size:14})})]})]})}),c.jsxs("div",{className:"min-h-0 flex-1 overflow-y-auto overscroll-contain px-1.5 py-1.5",children:[je.length>0&&c.jsxs("section",{className:"mb-2 rounded-lg bg-[rgb(var(--tmux-rgb)_/_0.07)] p-1","aria-label":oe("sidebar.recoverableSessions"),children:[c.jsxs("div",{className:"flex min-h-8 items-center gap-2 px-2 text-[10.5px] font-semibold text-[color:var(--tmux)]",children:[c.jsx(I0,{size:12,className:"shrink-0"}),c.jsx("span",{className:"min-w-0 flex-1 truncate",children:oe("sidebar.recoverableSessions")}),c.jsx("span",{className:"text-muted-foreground",children:je.length}),ie&&c.jsx("button",{type:"button",onClick:ie,disabled:be,className:"inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-md text-muted-foreground transition hover:bg-surface-elevated hover:text-foreground disabled:opacity-50","aria-label":oe("sidebar.refreshRecoverableSessions"),title:oe("sidebar.refreshRecoverableSessions"),children:c.jsx(gs,{size:11,className:be?"animate-spin":""})})]}),c.jsx("div",{className:"space-y-0.5",children:je.slice(0,4).map(V=>{const ue=V.friendlyName?.trim()||V.label?.trim()||V.name,He=ka(V.cwd??null),ge=he===V.name;return c.jsxs("button",{type:"button",disabled:he!==null,onClick:()=>Gn(V),className:"group flex min-h-10 w-full min-w-0 items-center gap-2 rounded-md px-2 text-left text-muted-foreground transition hover:bg-surface-elevated hover:text-foreground disabled:cursor-wait disabled:opacity-60","aria-label":oe("sidebar.restoreRecoverableSession",{name:ue}),title:V.cwd||V.name,children:[c.jsx("span",{className:"inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-md bg-[rgb(var(--tmux-rgb)_/_0.11)] text-[color:var(--tmux)]",children:ge?c.jsx(Xr,{size:12,className:"animate-spin"}):c.jsx(O0,{size:12})}),c.jsxs("span",{className:"min-w-0 flex-1",children:[c.jsx("span",{className:"block truncate text-[11.5px] font-semibold text-foreground",children:ue}),c.jsx("span",{className:"block truncate text-[9.5px] text-muted-foreground",children:[V.program,He].filter(Boolean).join(" · ")||`tmux:${V.name}`})]}),c.jsx("span",{className:"shrink-0 text-[10px] font-medium text-[color:var(--tmux)] group-hover:text-foreground",children:oe(ge?"sidebar.restoringRecoverableSession":"sidebar.restore")})]},V.name)})})]}),i.length===0?c.jsxs("div",{className:"rounded-xl bg-surface-2/60 px-4 py-8 text-center",children:[c.jsx(na,{size:26,className:"mx-auto mb-2 text-muted-foreground"}),c.jsx("p",{className:"text-[12px] text-muted-foreground",children:oe("sidebar.noSessions")})]}):lt.length===0&&v.length===0?c.jsx("div",{className:"rounded-xl bg-surface-2/60 px-4 py-6 text-center",children:c.jsx("p",{className:"text-[12px] text-muted-foreground",children:oe("sidebar.noMatchingSessions")})}):j?c.jsx("div",{className:"space-y-1.5",children:c.jsx(Ad,{onBeforeCapture:Nr,onDragStart:Sn,onDragEnd:V=>rr(En,V),children:c.jsx(Xa,{droppableId:"sidebar-groups",type:"group",direction:"vertical",children:V=>c.jsxs("div",{ref:V.innerRef,...V.droppableProps,className:"space-y-1.5",children:[Zt.map((ue,He)=>{const ge=pe.has(ue.key),Ce=Ic(ue.sessions,v,mr,Mr);let Ve=0,it=0;for(const We of ue.sessions){const ot=l.get(We.id);ot?.agentStatus==="working"&&(Ve+=1),(ot?.agentStatus==="waiting"||ot?.agentNeedsReview)&&(it+=1)}const $e=ue.key==="";return c.jsx(Ka,{draggableId:`sidebar-group:${ue.key||"__ungrouped__"}`,index:He,isDragDisabled:$e,disableInteractiveElementBlocking:!0,children:(We,ot)=>c.jsxs("div",{ref:We.innerRef,...We.draggableProps,className:`rounded-md transition-colors ${ot.isDragging?"bg-surface-elevated shadow-lg opacity-90":""}`,children:[c.jsxs("button",{type:"button",...$e?{}:We.dragHandleProps,onClick:()=>{Oe(ue.key),un.current.delete(ue.key)},className:`flex w-full items-center gap-1.5 rounded-md px-1.5 py-1 text-left text-muted-foreground transition hover:bg-surface-2 ${$e?"":"cursor-grab active:cursor-grabbing"}`,title:ue.key||ue.label,children:[c.jsx(kd,{size:13,className:`shrink-0 transition-transform ${ge?"":"rotate-90"}`}),c.jsx("span",{className:"min-w-0 flex-1 truncate text-[11.5px] font-semibold uppercase tracking-wide",children:ue.label}),Ve>0&&c.jsx("span",{className:"h-1.5 w-1.5 shrink-0 rounded-full bg-[var(--success)] animate-pulse"}),it>0&&c.jsx("span",{className:"h-1.5 w-1.5 shrink-0 rounded-full bg-[var(--warning)] animate-pulse"}),c.jsx("span",{className:"shrink-0 text-[10.5px] text-muted-foreground/70",children:ue.sessions.length})]}),!ge&&c.jsx("div",{className:"mt-0.5 pl-2",children:c.jsx(Xa,{droppableId:`group-sessions:${ue.key}`,type:"session",direction:"vertical",isCombineEnabled:!cn,children:br=>c.jsxs("div",{ref:br.innerRef,...br.droppableProps,"data-sidebar-entity-list-id":`group-sessions:${ue.key}`,className:"space-y-0.5",children:[Ce.map((bt,yr)=>c.jsx(Ka,{draggableId:bt.id,index:yr,disableInteractiveElementBlocking:!0,children:(ct,Ft)=>c.jsxs("div",{ref:ct.innerRef,...ct.draggableProps,"data-sidebar-gesture-ignore":!0,"data-sidebar-entity-index":yr,className:"relative",children:[rs(yr),yr===Ce.length-1&&rs(Ce.length,"bottom"),bt.kind==="workspace"?ls(bt.workspace,bt.members,Ft.isDragging,!!Ft.combineTargetFor,ct.dragHandleProps):bt.kind==="collaboration"?Vn(bt.group,bt.members,ct.dragHandleProps,Ft.isDragging,!!Ft.combineTargetFor):c.jsx("div",{...M?ur(()=>M(bt.session.id)):{},className:`group relative flex items-center gap-1 rounded-md pr-1 transition-colors ${Ft.combineTargetFor?"bg-primary/15 text-foreground ring-1 ring-primary/40":Ft.isDragging?"bg-surface-elevated text-foreground opacity-90 shadow-lg":Wr(bt.session.id)??(bt.session.id===u?"bg-surface-elevated text-foreground":"text-muted-foreground hover:bg-surface-2")} cursor-grab active:cursor-grabbing`,children:Or(bt.session,ct.dragHandleProps)})]})},bt.id)),br.placeholder]})})})]})},ue.key||"__ungrouped__")}),V.placeholder]})})})}):Wi(Tr,"sidebar-entities")]}),Se&&c.jsx($D,{directories:i.flatMap(V=>{const ue=l.get(V.id)?.cwd;return ue?[ue]:[]}),tmuxAvailable:de,options:Ke,agents:tr,selectedAgent:kt,detecting:pr,resumeHistory:gt,resumeHistoryLoading:K,resumeHistoryPendingId:Je,resumeHistoryError:xt,onRefreshAgents:()=>{nt().catch(()=>{})},onSelectAgent:V=>{ft(V).catch(()=>{})},onLaunchAgent:An,onResumeHistory:V=>{gn(V)},onRemoveResumeHistory:V=>{Rs(V)},onClose:()=>Lt(!1),onOptionsChange:at}),Dt&&c.jsx(GD,{activeSessionId:u,initialCollaborationGroupId:Z,defaultSessionMode:Ae,onClose:()=>{Ue(!1),rt(null)},onNewSession:V=>h(V)}),!Se&&c.jsx("div",{className:"relative z-10 shrink-0 border-t border-border/15 bg-[var(--chrome-bg)] p-2",children:c.jsxs("div",{className:`grid gap-1.5 ${kt?"grid-cols-[minmax(0,1fr)_minmax(0,1fr)_2.5rem]":"grid-cols-[minmax(0,1fr)_2.5rem]"}`,children:[c.jsxs("button",{type:"button",onClick:xo,className:`flex min-w-0 items-center justify-center gap-2 rounded-lg px-2 py-2.5 text-[12px] font-semibold transition active:scale-[0.99] ${kt?"bg-surface-elevated text-foreground ring-1 ring-border/30 hover:bg-surface-2":"bg-primary text-primary-foreground ring-1 ring-primary/40 shadow-md shadow-primary/25 hover:bg-primary/90"}`,title:oe("sidebar.newSession"),"aria-label":oe("sidebar.newSession"),children:[c.jsx(na,{size:15,className:"shrink-0"}),c.jsx("span",{className:"truncate",children:"Terminal"})]}),kt&&c.jsxs("button",{type:"button",onClick:ts,className:"flex min-w-0 items-center justify-center gap-2 rounded-lg bg-primary px-2 py-2.5 text-[12px] font-semibold text-primary-foreground ring-1 ring-primary/40 shadow-md shadow-primary/25 transition hover:bg-primary/90 active:scale-[0.99]",title:oe("sidebar.newSessionWithAgent",{agent:kt.displayName}),"aria-label":oe("sidebar.newSessionWithAgent",{agent:kt.displayName}),children:[c.jsx(Yl,{agent:kt,size:15}),c.jsx("span",{className:"truncate",children:kt.displayName})]}),c.jsx("button",{type:"button",onClick:Tn,className:"inline-flex w-10 shrink-0 items-center justify-center rounded-lg bg-surface-2 text-muted-foreground ring-1 ring-border/20 transition hover:bg-surface-elevated hover:text-foreground active:scale-[0.97]",title:oe("sidebar.moreLaunchOptions"),"aria-label":oe("sidebar.moreLaunchOptions"),"aria-expanded":!1,children:c.jsx(Kl,{size:15,className:"transition-transform duration-200"})})]})})]});return ve?c.jsx("div",{className:"h-full flex flex-col app-chrome-bg border-r border-border/15",children:Ms}):c.jsx(_6,{side:"left",isOpen:e,drawerWidthPx:t,onClose:r,onOpen:s,push:Le,children:Ms})}const P6=()=>C5(()=>import("./RightSidebar-BW8SSsoA.js").then(e=>e.R),__vite__mapDeps([5,0,1,2,3,4,6,7,8,9,10,11,12,13,14,15])).then(e=>({default:e.RightSidebar})),cB=_.lazy(P6);function h5(e){const t=_.useRef(!1);_.useEffect(()=>{const i=navigator.connection;if(!(i?.saveData||/2g|3g/.test(i?.effectiveType??"")))return wp(()=>{P6().catch(()=>{})},3e3)},[]);const{t:r}=ln();(e.isOpen||e.pinned)&&(t.current=!0);const s=c.jsx(_6,{side:"right",isOpen:e.isOpen,drawerWidthPx:e.drawerWidthPx,onClose:e.onClose,onOpen:e.onOpen,pinned:e.pinned,children:c.jsx("div",{className:"p-4 text-sm text-muted-foreground",role:"status",children:r("common.loading")})});return t.current?c.jsx(_.Suspense,{fallback:s,children:c.jsx(cB,{...e})}):s}function uB(e){return e>=90?"var(--destructive)":e>=70?"var(--warning)":"var(--success)"}function dB(e){return e>=90?"var(--destructive)/0.15":e>=70?"var(--warning)/0.15":"var(--success)/0.12"}function hB(e){if(!e)return"";const t=new Date(e),r=Date.now(),s=t.getTime()-r;if(s<=0)return"";const i=Math.floor(s/6e4),u=Math.floor(i/60),l=Math.floor(u/24),h=u%24,p=i%60,g=t.toLocaleDateString(void 0,{month:"short",day:"numeric"}),x=t.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit"});let b;return l>0?b=`${l}d ${h}h`:h>0?b=`${h}h ${p}m`:p>0?b=`${p}m`:b="soon",`resets in ${b} (${g} ${x})`}function fB(e){return{claude:"🧠",codex:"✨",kimi:"🌙",copilot:"🐙",grok:"🚀",gemini:"💎"}[e]||"📊"}function pB({result:e}){const{t}=ln(),r=e.windows.filter(h=>h.percent===0&&!h.resetAt),s=e.windows.filter(h=>h.percent>0||h.resetAt),i=r.length>0?r.map(h=>h.label).join(" · "):"",u=!!e.error;let l=null;return!u&&e.entitlement&&(e.usagePercent>=90?l=t("quota.exhausted"):e.remaining!==void 0&&e.remaining<e.entitlement?l=t("quota.left",{n:e.remaining}):l=`${Math.round(e.usagePercent)}%`),c.jsxs("div",{className:"rounded-xl border border-border/15 bg-surface-2 p-3 sm:p-4",children:[c.jsxs("div",{className:"flex items-center justify-between gap-2",children:[c.jsxs("span",{className:"flex min-w-0 items-center gap-1.5 text-[13px] font-semibold text-foreground",children:[c.jsx("span",{className:"shrink-0",children:fB(e.slug)}),c.jsx("span",{className:"truncate",children:e.displayName}),i&&c.jsx("span",{className:"shrink-0 rounded-full bg-surface-elevated px-2 py-0.5 text-[10px] font-normal text-muted-foreground",children:i})]}),l&&c.jsx("span",{className:"shrink-0 text-[11px] tabular-nums text-muted-foreground",children:l})]}),s.length>0?c.jsx("div",{className:"mt-2.5 space-y-2",children:s.map(h=>{const p=Math.max(0,Math.min(100,h.percent));return c.jsxs("div",{children:[c.jsxs("div",{className:"flex items-center gap-2 text-[12px]",children:[c.jsx("span",{className:"w-14 shrink-0 truncate text-muted-foreground sm:w-16",children:h.label}),c.jsx("div",{className:"flex-1",children:c.jsx("div",{className:"h-2 rounded-full",style:{background:dB(h.percent)},children:c.jsx("div",{className:"h-full rounded-full transition-all duration-500",style:{width:`${p}%`,background:uB(h.percent)}})})}),c.jsxs("span",{className:"w-9 shrink-0 text-right tabular-nums font-medium text-foreground",children:[Math.round(h.percent),"%"]})]}),h.resetAt&&c.jsx("p",{className:"mt-1 pl-14 text-[10px] text-muted-foreground sm:pl-16",children:hB(h.resetAt)})]},h.label)})}):u?c.jsx("p",{className:"mt-2 text-[11px] text-muted-foreground",children:e.error}):null]})}function mB({isOpen:e,onClose:t}){const{t:r}=ln(),[s,i]=_.useState([]),[u,l]=_.useState(!1),h=async(x=!1)=>{l(!0);try{const b=x?await M7():await N7();i(b.providers||[])}catch{}finally{l(!1)}};if(_.useEffect(()=>{e&&h()},[e]),_.useEffect(()=>{if(!e)return;const x=b=>{const v=b.detail;Array.isArray(v)&&i(v)};return window.addEventListener("termdock:quota-update",x),()=>{window.removeEventListener("termdock:quota-update",x)}},[e]),!e)return null;const p=s.filter(x=>!x.error),g=p.length>0?new Date(Math.max(...p.map(x=>x.fetchedAt||0))):null;return c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button",className:"fixed inset-0 z-modal-backdrop bg-[var(--app-backdrop)] backdrop-blur-sm cursor-default",onClick:t}),c.jsxs("div",{className:"fixed inset-x-3 z-modal-panel mx-auto flex max-w-lg flex-col overflow-hidden rounded-2xl bg-surface border border-border/15 shadow-[0_28px_70px_var(--app-shadow-strong),0_14px_32px_var(--app-shadow-soft)]",style:{top:"max(1.5rem, env(safe-area-inset-top, 0px))",bottom:"max(1.5rem, env(safe-area-inset-bottom, 0px))"},children:[c.jsxs("div",{className:"flex shrink-0 items-center justify-between border-b border-border/15 px-3 py-2.5 sm:px-6 sm:py-3",children:[c.jsx("h2",{className:"text-[14px] font-semibold text-foreground sm:text-base",children:r("quota.title")}),c.jsxs("div",{className:"flex items-center gap-1.5",children:[c.jsx("button",{type:"button",onClick:()=>h(!0),disabled:u,className:"shrink-0 rounded-full bg-surface-2 p-2 text-muted-foreground transition hover:bg-surface-elevated hover:text-foreground disabled:opacity-50","aria-label":r("quota.refresh"),children:c.jsx(gs,{size:15,className:u?"animate-spin":""})}),c.jsx("button",{type:"button",onClick:t,className:"shrink-0 rounded-full bg-surface-2 p-2 text-muted-foreground transition hover:bg-surface-elevated hover:text-foreground","aria-label":r("quota.close"),children:c.jsx($s,{size:17})})]})]}),c.jsxs("div",{className:"min-h-0 flex-1 overflow-y-auto p-3 sm:p-5",children:[u&&p.length===0?c.jsx("div",{className:"flex items-center justify-center py-12",children:c.jsx(gs,{size:24,className:"animate-spin text-muted-foreground"})}):p.length===0?c.jsxs("div",{className:"py-8 text-center text-[13px] text-muted-foreground",children:[c.jsx("p",{children:r("quota.noProviders")}),c.jsx("p",{className:"mt-1.5 text-[11px]",children:r("quota.noProvidersHint")})]}):c.jsx("div",{className:"space-y-2.5",children:p.map(x=>c.jsx(pB,{result:x},x.slug))}),g&&c.jsx("p",{className:"mt-3 text-center text-[10px] text-muted-foreground",children:r("quota.updated",{time:g.toLocaleTimeString()})})]})]})]})}const f5=[{label:"Esc",sequence:"\\u001b"},{label:"Tab",sequence:"\\t"},{label:"Enter",sequence:"\\r"},{label:"S-Tab",sequence:"\\u001b[Z"},{label:"C-c",sequence:"\\u0003"},{label:"C-d",sequence:"\\u0004"},{label:"C-l",sequence:"\\u000c"},{label:"C-r",sequence:"\\u0012"},{label:"C-z",sequence:"\\u001a"},{label:"C-w",sequence:"\\u0017"},{label:"Up",sequence:"\\u001b[A"},{label:"Down",sequence:"\\u001b[B"},{label:"Left",sequence:"\\u001b[D"},{label:"Right",sequence:"\\u001b[C"},{label:"PgUp",sequence:"\\u001b[5~"},{label:"PgDn",sequence:"\\u001b[6~"}],gB=2,xB=20;function bB({label:e}){return c.jsx("div",{className:"h-7 rounded-full bg-surface-2 px-3 text-[11px] leading-7 text-center text-muted-foreground truncate",children:e})}function yB({value:e,onChange:t,placeholder:r}){const{t:s}=ln(),[i,u]=S.useState(""),l=b=>{const v=[];let A="",k=!1;const I=()=>{const M=A.trim();M&&v.push(M),A=""};for(let M=0;M<b.length;M+=1){const B=b[M];if(!k&&B==="/"&&A.trim().length===0){k=!0,A+=B;continue}if(k){if(A+=B,B==="/"&&b[M-1]!=="\\"&&A.length>1){for(;M+1<b.length&&/[gimsuy]/.test(b[M+1]??"");)M+=1,A+=b[M];I(),k=!1}continue}if(B===","||/\s/.test(B)){I();continue}A+=B}if(I(),v.length===0)return;const R=[...e];for(const M of v){const B=O3(M);B&&(R.includes(B)||R.push(B))}t(R),u("")},h=b=>{t(e.filter(v=>v!==b))},p=i.trim(),g=p.length>0&&Ag(p),x=g&&!hd(p);return c.jsx("div",{className:"rounded-2xl bg-surface px-3 py-2 ring-1 ring-border/15 focus-within:ring-accent/40",children:c.jsxs("div",{className:"flex flex-wrap items-center gap-1.5",children:[e.map(b=>{const v=Ag(b),A=v&&!hd(b);return c.jsxs("span",{className:`inline-flex items-center gap-1 rounded-full px-2.5 py-1 text-[11px] ${A?"bg-destructive/15 text-destructive":v?"bg-accent/15 font-mono text-accent":"bg-surface-elevated text-foreground"}`,title:v?A?s("settings.invalidRegex"):"Regex match":"Substring match (case-insensitive)",children:[v&&c.jsx("span",{className:"text-[10px] opacity-70",children:"re"}),b,c.jsx("button",{type:"button",onClick:()=>h(b),className:"rounded-full p-0.5 text-muted-foreground hover:bg-destructive/20 hover:text-destructive","aria-label":s("toolbarPresets.removeAction",{name:b}),children:c.jsx($s,{size:12})})]},b)}),c.jsx("input",{type:"text",value:i,onChange:b=>u(b.target.value),onKeyDown:b=>{b.key==="Enter"||b.key===","&&!g?(b.preventDefault(),l(i)):b.key==="Backspace"&&i.length===0&&e.length>0&&h(e[e.length-1])},onBlur:()=>l(i),placeholder:e.length===0?r:"",className:`min-w-[8ch] flex-1 bg-transparent py-1 text-sm outline-none placeholder:text-muted/60 ${g?"font-mono":""} ${x?"text-destructive":""}`,autoCapitalize:"off",autoCorrect:"off",autoComplete:"off"})]})})}function vB({value:e,min:t,max:r,onChange:s}){const{t:i}=ln();return c.jsxs("div",{className:"inline-flex items-center gap-1 rounded-full bg-surface px-1 py-1 ring-1 ring-border/15",children:[c.jsx("button",{type:"button",onClick:()=>s(Math.max(t,e-1)),disabled:e<=t,className:"h-7 w-7 rounded-full bg-surface-2 text-muted-foreground transition hover:bg-surface-elevated disabled:opacity-40 inline-flex items-center justify-center","aria-label":i("common.decrease"),children:c.jsx(wv,{size:14})}),c.jsx("span",{className:"w-6 text-center text-sm font-medium tabular-nums text-foreground",children:e}),c.jsx("button",{type:"button",onClick:()=>s(Math.min(r,e+1)),disabled:e>=r,className:"h-7 w-7 rounded-full bg-surface-2 text-muted-foreground transition hover:bg-surface-elevated disabled:opacity-40 inline-flex items-center justify-center","aria-label":i("common.increase"),children:c.jsx(Hi,{size:14})})]})}const wB=({presets:e,selectedPresetId:t,onSelectPreset:r,onUpdatePreset:s,onAddPreset:i,onRemovePreset:u,onResetDefaults:l})=>{const{t:h}=ln(),p=e.find(M=>M.id===t)??e[0]??null,[g,x]=S.useState(null);if(!p)return null;const b=p.actions.length>0,v=[{id:"preview-auto",label:p.label,kind:"preset"},...p.includeAlt?[{id:"preview-alt",label:"Alt"}]:[],...b?p.actions.map((M,B)=>({id:M.id,label:Wf(M,B)})):["Enter","Home","End","Ctrl-C","Ctrl-D"].map(M=>({id:M,label:M}))],A=F3(v,p.rowLayout),k=(M,B)=>{s(p.id,F=>{const W=F.actions.findIndex(ee=>ee.id===M);if(W===-1)return F;const O=W+B;if(O<0||O>=F.actions.length)return F;const q=[...F.actions];return[q[W],q[O]]=[q[O],q[W]],{...F,actions:q}})},I=p.rowLayout.reduce((M,B)=>M+B,0),R=1+(p.includeAlt?1:0);return c.jsxs("div",{className:"space-y-4",children:[c.jsxs("div",{className:"sticky top-[-1rem] sm:top-[-1.5rem] z-10 -mx-4 -mt-4 sm:-mx-6 sm:-mt-6 border-b border-border/15 bg-surface/95 backdrop-blur px-4 py-3 sm:px-6",children:[c.jsxs("div",{className:"mb-2 flex items-center justify-between",children:[c.jsx("span",{className:"ui-kicker",children:h("toolbarPresets.preview")}),c.jsxs("span",{className:"text-[10px] text-muted-foreground",children:[p.actions.length," button",p.actions.length===1?"":"s"," · ",I," slot",I===1?"":"s"]})]}),c.jsx("div",{className:"space-y-1 rounded-2xl bg-surface-2/60 p-2",children:A.map((M,B)=>{const F=M.items[0]?.kind==="preset",W=Math.max(2,M.columns),O=F?`${U3}px repeat(${Math.max(1,W-1)}, minmax(0, 1fr))`:`repeat(${W}, minmax(0, 1fr))`;return c.jsx("div",{className:"grid gap-1",style:{gridTemplateColumns:O},children:M.items.map(q=>q.kind==="preset"?c.jsx($3,{mode:"auto",presetLabel:q.label,title:`Auto preset · ${q.label}`,disabled:!0},q.id):c.jsx(bB,{label:q.label},q.id))},`preview-row-${B}`)})}),p.actions.length>I-R&&c.jsx("p",{className:"mt-1.5 text-[10px] text-muted-foreground",children:h("toolbarPresets.overCapacityHint")})]}),c.jsxs("div",{className:"space-y-2",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx("span",{className:"ui-kicker",children:h("toolbarPresets.presets")}),c.jsxs("div",{className:"flex items-center gap-1",children:[c.jsxs("button",{type:"button",onClick:i,className:"inline-flex items-center gap-1 rounded-full bg-surface-2 px-3 py-2 text-xs font-medium hover:bg-surface-elevated transition",children:[c.jsx(Hi,{size:14}),h("toolbarPresets.new")]}),c.jsxs("button",{type:"button",onClick:l,className:"inline-flex items-center gap-1 rounded-full bg-surface-2 px-3 py-2 text-xs font-medium hover:bg-surface-elevated transition",children:[c.jsx(gs,{size:14}),h("toolbarPresets.reset")]})]})]}),c.jsx("div",{className:"-mx-1 flex flex-wrap gap-1.5 px-1",children:e.map(M=>c.jsxs("button",{type:"button",onClick:()=>r(M.id),className:`rounded-full px-3 py-2 text-xs font-medium transition ${M.id===p.id?"bg-primary/20 text-primary ring-1 ring-primary/30":"bg-surface-2 text-muted-foreground hover:bg-surface-elevated"}`,children:[M.label,M.actions.length>0&&c.jsx("span",{className:"ml-1.5 text-[10px] text-muted-foreground",children:M.actions.length})]},M.id))})]}),c.jsxs("div",{className:"space-y-4 rounded-2xl bg-surface p-4 ring-1 ring-border/10",children:[c.jsxs("div",{className:"space-y-1.5",children:[c.jsx("span",{className:"ui-kicker",children:h("toolbarPresets.label")}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("input",{type:"text",value:p.label,onChange:M=>s(p.id,B=>({...B,label:M.target.value})),className:"flex-1 rounded-full bg-surface-2 px-4 py-2.5 text-sm placeholder:text-muted/60 outline-none ring-1 ring-transparent focus:ring-accent/40",placeholder:h("toolbarPresets.presetLabelPlaceholder"),autoCapitalize:"off",autoCorrect:"off"}),p.id!=="default"&&c.jsx("button",{type:"button",onClick:()=>u(p.id),className:"shrink-0 rounded-full bg-surface-2 px-3 py-2.5 text-destructive hover:bg-destructive/15","aria-label":h("toolbarPresets.deletePreset",{name:p.label}),children:c.jsx(to,{size:14})})]})]}),c.jsxs("div",{className:"space-y-1.5",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx("span",{className:"ui-kicker",children:h("toolbarPresets.matchPrograms")}),c.jsx("span",{className:"text-[10px] text-muted-foreground",children:h("toolbarPresets.typeEnterHint")})]}),c.jsx(yB,{value:p.programs,onChange:M=>s(p.id,B=>({...B,programs:M})),placeholder:h("toolbarPresets.programsPlaceholder")}),c.jsx("p",{className:"text-[10px] text-muted-foreground",children:h("toolbarPresets.programsHelp")})]}),c.jsxs("button",{type:"button",onClick:()=>s(p.id,M=>({...M,includeAlt:!M.includeAlt})),className:"flex w-full items-center justify-between rounded-2xl bg-surface-2 px-4 py-3 text-sm transition hover:bg-surface-elevated",children:[c.jsxs("span",{children:[c.jsx("span",{className:"block font-medium text-foreground",children:h("toolbarPresets.altSlot")}),c.jsx("span",{className:"block text-[11px] text-muted-foreground",children:h("toolbarPresets.altSlotHint")})]}),c.jsx(Ya,{checked:p.includeAlt})]}),c.jsxs("button",{type:"button",onClick:()=>s(p.id,M=>({...M,showOnDesktop:!M.showOnDesktop})),className:"flex w-full items-center justify-between rounded-2xl bg-surface-2 px-4 py-3 text-sm transition hover:bg-surface-elevated",children:[c.jsxs("span",{children:[c.jsx("span",{className:"block font-medium text-foreground",children:h("toolbarPresets.desktopVisibility")}),c.jsx("span",{className:"block text-[11px] text-muted-foreground",children:h("toolbarPresets.desktopVisibilityHint")})]}),c.jsx(Ya,{checked:p.showOnDesktop===!0})]}),c.jsxs("div",{className:"space-y-2",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsxs("div",{children:[c.jsx("span",{className:"ui-kicker",children:h("toolbarPresets.rowLayout")}),c.jsx("p",{className:"text-[11px] text-muted-foreground",children:h("toolbarPresets.rowLayoutHint")})]}),c.jsxs("button",{type:"button",onClick:()=>s(p.id,M=>({...M,rowLayout:[...Qp(M.rowLayout),3]})),className:"inline-flex items-center gap-1 rounded-full bg-surface-2 px-3 py-1.5 text-xs font-medium hover:bg-surface-elevated",children:[c.jsx(Hi,{size:12}),h("toolbarPresets.addRow")]})]}),c.jsx("div",{className:"space-y-2",children:p.rowLayout.map((M,B)=>c.jsxs("div",{className:"flex items-center gap-3 rounded-2xl bg-surface-2 px-3 py-2",children:[c.jsx("span",{className:"w-12 shrink-0 text-xs text-muted-foreground",children:h("toolbarPresets.rowN",{n:B+1})}),c.jsx("div",{className:"flex-1"}),c.jsx(vB,{value:M,min:gB,max:xB,onChange:F=>s(p.id,W=>({...W,rowLayout:W.rowLayout.map((O,q)=>q===B?F:O)}))}),p.rowLayout.length>1&&c.jsx("button",{type:"button",onClick:()=>s(p.id,F=>({...F,rowLayout:F.rowLayout.filter((W,O)=>O!==B)})),className:"rounded-full bg-surface px-2.5 py-1 text-[11px] text-muted-foreground hover:bg-destructive/15 hover:text-destructive","aria-label":h("toolbarPresets.removeRow",{n:B+1}),children:h("toolbarPresets.del")})]},`row-${B}`))})]}),c.jsxs("div",{className:"space-y-2",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsxs("div",{children:[c.jsx("span",{className:"ui-kicker",children:h("toolbarPresets.buttons")}),c.jsx("p",{className:"text-[11px] text-muted-foreground",children:h("toolbarPresets.buttonsHint")})]}),c.jsxs("button",{type:"button",onClick:()=>{const M=`${p.id}-action-${Date.now()}`;s(p.id,B=>({...B,actions:[...B.actions,{id:M,label:`Key ${B.actions.length+1}`,sequence:""}]})),x(M)},className:"inline-flex items-center gap-1 rounded-full bg-primary/15 px-3 py-1.5 text-xs font-medium text-primary hover:bg-primary/25",children:[c.jsx(Hi,{size:12}),h("toolbarPresets.addButton")]})]}),p.actions.length===0&&c.jsx("div",{className:"rounded-2xl bg-surface-2/60 px-4 py-6 text-center text-[11px] text-muted-foreground",children:h("toolbarPresets.noCustomButtons")}),p.actions.map((M,B)=>{const F=g===M.id;return c.jsxs("div",{className:`rounded-2xl bg-surface-2 transition ${F?"ring-1 ring-accent/40":""}`,children:[c.jsxs("div",{className:"flex items-center gap-2 px-3 py-2",children:[c.jsxs("div",{className:"flex flex-col gap-0.5",children:[c.jsx("button",{type:"button",onClick:()=>k(M.id,-1),disabled:B===0,className:"h-6 w-6 rounded-full bg-surface text-muted-foreground hover:bg-surface-elevated disabled:opacity-30 inline-flex items-center justify-center","aria-label":h("toolbarPresets.moveUp"),children:c.jsx(O5,{size:12})}),c.jsx("button",{type:"button",onClick:()=>k(M.id,1),disabled:B===p.actions.length-1,className:"h-6 w-6 rounded-full bg-surface text-muted-foreground hover:bg-surface-elevated disabled:opacity-30 inline-flex items-center justify-center","aria-label":h("toolbarPresets.moveDown"),children:c.jsx(S8,{size:12})})]}),c.jsxs("button",{type:"button",onClick:()=>x(F?null:M.id),className:"min-w-0 flex-1 text-left",children:[c.jsx("div",{className:"truncate text-sm font-medium text-foreground",children:Wf(M,B)}),c.jsxs("div",{className:"truncate text-[11px] text-muted-foreground",children:[M.sequence?M.sequence:h("toolbarPresets.noSequence"),M.doubleTapSequence&&c.jsxs("span",{className:"ml-1 text-accent/70",children:["· 2× ",M.doubleTapSequence]})]})]}),c.jsx("button",{type:"button",onClick:()=>s(p.id,W=>({...W,actions:W.actions.filter(O=>O.id!==M.id)})),className:"shrink-0 rounded-full bg-surface p-2 text-muted-foreground hover:bg-destructive/15 hover:text-destructive","aria-label":h("toolbarPresets.removeAction",{name:M.label}),children:c.jsx(to,{size:14})})]}),F&&c.jsxs("div",{className:"space-y-3 border-t border-border/10 px-3 py-3",children:[c.jsxs("div",{className:"space-y-1.5",children:[c.jsx("span",{className:"text-[11px] uppercase tracking-wider text-muted-foreground",children:h("toolbarPresets.labelField")}),c.jsx("input",{type:"text",value:M.label,onChange:W=>s(p.id,O=>({...O,actions:O.actions.map(q=>q.id===M.id?{...q,label:W.target.value}:q)})),className:"w-full rounded-full bg-surface px-4 py-2.5 text-sm outline-none ring-1 ring-transparent focus:ring-accent/40",placeholder:h("toolbarPresets.labelPlaceholder"),autoCapitalize:"off",autoCorrect:"off"})]}),c.jsxs("div",{className:"space-y-1.5",children:[c.jsx("span",{className:"text-[11px] uppercase tracking-wider text-muted-foreground",children:h("toolbarPresets.sequence")}),c.jsx("input",{type:"text",value:M.sequence,onChange:W=>s(p.id,O=>({...O,actions:O.actions.map(q=>q.id===M.id?{...q,sequence:W.target.value}:q)})),className:"w-full rounded-full bg-surface px-4 py-2.5 font-mono text-sm outline-none ring-1 ring-transparent focus:ring-accent/40",placeholder:h("toolbarPresets.sequencePlaceholder"),autoCapitalize:"off",autoCorrect:"off",spellCheck:!1}),c.jsx("div",{className:"flex flex-wrap gap-1.5 pt-1",children:f5.map(W=>c.jsx("button",{type:"button",onClick:()=>s(p.id,O=>({...O,actions:O.actions.map(q=>q.id===M.id?{...q,sequence:W.sequence}:q)})),className:"rounded-full bg-surface px-2.5 py-1 text-[11px] font-medium text-muted-foreground hover:bg-surface-elevated hover:text-foreground",children:W.label},W.label))})]}),c.jsxs("div",{className:"space-y-1.5",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx("span",{className:"text-[11px] uppercase tracking-wider text-muted-foreground",children:h("toolbarPresets.doubleTap")}),!M.doubleTapSequence&&c.jsx("button",{type:"button",onClick:()=>s(p.id,W=>({...W,actions:W.actions.map(O=>O.id===M.id?{...O,doubleTapSequence:""}:O)})),className:"text-[10px] text-accent hover:text-accent/80",children:h("toolbarPresets.doubleTapAdd")})]}),M.doubleTapSequence!==void 0&&c.jsxs(c.Fragment,{children:[c.jsx("input",{type:"text",value:M.doubleTapSequence,onChange:W=>s(p.id,O=>({...O,actions:O.actions.map(q=>q.id===M.id?{...q,doubleTapSequence:W.target.value}:q)})),className:"w-full rounded-full bg-surface px-4 py-2.5 font-mono text-sm outline-none ring-1 ring-transparent focus:ring-accent/40",placeholder:h("toolbarPresets.doubleTapPlaceholder"),autoCapitalize:"off",autoCorrect:"off",spellCheck:!1}),c.jsxs("div",{className:"flex flex-wrap items-center gap-1.5 pt-1",children:[f5.map(W=>c.jsx("button",{type:"button",onClick:()=>s(p.id,O=>({...O,actions:O.actions.map(q=>q.id===M.id?{...q,doubleTapSequence:(q.doubleTapSequence??"")+W.sequence}:q)})),className:"rounded-full bg-surface px-2.5 py-1 text-[11px] font-medium text-muted-foreground hover:bg-surface-elevated hover:text-foreground",children:W.label},W.label)),c.jsx("button",{type:"button",onClick:()=>s(p.id,W=>({...W,actions:W.actions.map(O=>{if(O.id!==M.id)return O;const{doubleTapSequence:q,...ee}=O;return ee})})),className:"rounded-full bg-destructive/10 px-2.5 py-1 text-[11px] font-medium text-destructive/70 hover:bg-destructive/20 hover:text-destructive",children:h("toolbarPresets.remove")})]})]})]})]})]},M.id)})]})]})]})},AB={installed:"text-[color:var(--success)]",outdated:"text-[color:var(--warning)]","needs-approval":"text-[color:var(--warning)]","not-installed":"text-muted-foreground"};function TB(){const{t:e}=ln(),[t,r]=S.useState(null),[s,i]=S.useState(null),[u,l]=S.useState(null),[h,p]=S.useState(null),[g,x]=S.useState(!1),[b,v]=S.useState(!1),[A,k]=S.useState(""),[I,R]=S.useState(""),[M,B]=S.useState(null),[F,W]=S.useState([]),[O,q]=S.useState([]),[ee,de]=S.useState(null),[Ae,Le]=S.useState(new Set),[ve,Ye]=S.useState(null),[Te,fe]=S.useState("auto"),[je,be]=S.useState({}),[ie,oe]=S.useState(null),[Ie,ke]=S.useState(null),[qe,se]=S.useState(10),[Se,Lt]=S.useState(""),[Dt,Ue]=S.useState(""),[Z,rt]=S.useState(12e3),[gt,J]=S.useState(null),[K,Fe]=S.useState(null),Je=S.useCallback(async()=>{const[j,pe,Oe,Et]=await Promise.allSettled([D7(),B7(),bp(),ic()]);if(r(j.status==="fulfilled"?j.value:[]),pe.status==="fulfilled"){const Qe=pe.value;W(Qe.plugins??[]),q(Qe.errors??[])}else W([]),q([]);if(Oe.status==="fulfilled"){const Qe=Oe.value;Le(new Set(Qe.autoRenameAgents??[])),fe(Qe.autoRenameNamer??"auto"),be(Qe.autoRenameModels??{}),se(Qe.autoRenameIntervalMinutes??10),Lt(Qe.autoRenamePromptPreference??""),Ue(Qe.autoRenamePromptPreference??""),rt(Qe.autoRenamePromptPayloadChars??12e3)}else Le(new Set);oe(Et.status==="fulfilled"?Et.value:[])},[]);S.useEffect(()=>{Je()},[Je]);const vt=async(j,pe)=>{i(j),l(null);try{pe==="install"?(await Q7(j)).devMode&&p(j):(await j7(j),h===j&&p(null)),await Je()}catch(Oe){l(Oe instanceof Error?Oe.message:String(Oe))}finally{i(null)}},xt=j=>e(j==="installed"?"settings.agentHooksInstalled":j==="outdated"?"settings.agentHooksOutdated":j==="needs-approval"?"settings.agentHooksNeedsApproval":"settings.agentHooksNotInstalled"),Ct=async()=>{B(null);let j;try{j=JSON.parse(I)}catch{B("Invalid JSON");return}try{await z7(j),R(""),x(!1),await Je()}catch(pe){if(pe instanceof H7&&pe.migration){q(Oe=>[{slug:typeof j.slug=="string"?j.slug:"manifest.json",errors:pe.message.split(`
128
+ `),code:pe.code,migration:pe.migration},...Oe.filter(Et=>Et.slug!==j.slug)]);return}B(pe instanceof Error?pe.message:String(pe))}},he=async()=>{const j=A.trim();if(j){J("install"),B(null);try{await P7(j),k(""),v(!1),await Je()}catch(pe){B(pe instanceof Error?pe.message:String(pe))}finally{J(null)}}},xe=async j=>{J(`remove:${j}`);try{await $7(j),Fe(pe=>pe?.slug===j?null:pe),await Je()}catch(pe){l(pe instanceof Error?pe.message:String(pe))}finally{J(null)}},De=async j=>{J(`check:${j}`),l(null);try{await U7(j),await Je()}catch(pe){l(pe instanceof Error?pe.message:String(pe))}finally{J(null)}},At=async j=>{J(`update:${j}`),l(null);try{const pe=await F7(j),Oe=[pe.hookWarning,pe.titleWarning].filter(Boolean).join(" ");Oe&&l(Oe),Fe(Et=>Et?.slug===j?null:Et),await Je()}catch(pe){l(pe instanceof Error?pe.message:String(pe))}finally{J(null)}},Ke=async j=>{J(`doctor:${j}`),l(null),Fe(null);try{const pe=await O7(j);Fe(pe),oe(await ic())}catch(pe){l(pe instanceof Error?pe.message:String(pe))}finally{J(null)}},at=async j=>{const pe=j.migration?.aiPrompt??j.errors.join(`
129
+ `);try{await navigator.clipboard.writeText(pe),de(j.slug),window.setTimeout(()=>de(Oe=>Oe===j.slug?null:Oe),1800)}catch{B(pe)}},kt=async j=>{if(ve)return;const pe=Ae,Oe=new Set(pe);Oe.has(j)?Oe.delete(j):Oe.add(j),Le(Oe),Ye(j),l(null);try{const Et=await ea({autoRenameAgents:[...Oe]});Le(new Set(Et.autoRenameAgents??[])),oe(await ic(!0))}catch(Et){Le(pe),l(Et instanceof Error?Et.message:String(Et))}finally{Ye(null)}},tr=async j=>{const pe=Te;fe(j),ke("namer"),l(null);try{const Oe=await ea({autoRenameNamer:j});fe(Oe.autoRenameNamer??"auto"),oe(await ic(!0))}catch(Oe){fe(pe),l(Oe instanceof Error?Oe.message:String(Oe))}finally{ke(null)}},pr=async(j,pe)=>{const Oe=je,Et={...Oe};pe?Et[j]=pe:delete Et[j],be(Et),ke(j),l(null);try{const Qe=await ea({autoRenameModels:Et});be(Qe.autoRenameModels??{})}catch(Qe){be(Oe),l(Qe instanceof Error?Qe.message:String(Qe))}finally{ke(null)}},nt=async j=>{const pe=qe;se(j),ke("interval"),l(null);try{const Oe=await ea({autoRenameIntervalMinutes:j});se(Oe.autoRenameIntervalMinutes??10)}catch(Oe){se(pe),l(Oe instanceof Error?Oe.message:String(Oe))}finally{ke(null)}},ft=async()=>{const j=Se.trim();if(j!==Dt){ke("preference"),l(null);try{const Oe=(await ea({autoRenamePromptPreference:j})).autoRenamePromptPreference??"";Lt(Oe),Ue(Oe)}catch(pe){Lt(Dt),l(pe instanceof Error?pe.message:String(pe))}finally{ke(null)}}},_t=async j=>{const pe=Math.max(1e3,Math.min(64e3,Math.round(j||12e3))),Oe=Z;rt(pe),ke("payload-limit"),l(null);try{const Et=await ea({autoRenamePromptPayloadChars:pe});rt(Et.autoRenamePromptPayloadChars??12e3)}catch(Et){rt(Oe),l(Et instanceof Error?Et.message:String(Et))}finally{ke(null)}},Tt=new Set(F.map(j=>j.slug)),Qt=K?{ok:e("settings.agentPluginDoctorStatusOk"),"missing-title-namer":e("settings.agentPluginDoctorStatusMissing"),"cli-default":e("settings.agentPluginDoctorStatusCliDefault"),"no-models":e("settings.agentPluginDoctorStatusNoModels"),"probe-failed":e("settings.agentPluginDoctorStatusFailed")}[K.status]:"";return c.jsxs("div",{className:"space-y-3",children:[c.jsxs("div",{className:"rounded-xl bg-surface-2 px-3 py-2.5",children:[c.jsx("div",{className:"text-[12px] font-medium text-foreground",children:e("settings.agentAutoRename")}),c.jsx("p",{className:"mt-1 text-[10px] text-muted-foreground",children:e("settings.agentAutoRenameHint")}),c.jsxs("label",{className:"mt-2 flex items-center justify-between gap-3",children:[c.jsx("span",{className:"text-[11px] text-muted-foreground",children:e("settings.agentAutoRenameNamer")}),c.jsxs("select",{value:Te,disabled:Ie!==null,onChange:j=>{tr(j.target.value)},className:"min-w-0 rounded-lg bg-surface px-2.5 py-1.5 text-[11px] text-foreground outline-none disabled:opacity-50",children:[c.jsx("option",{value:"auto",children:e("settings.agentAutoRenameFollow")}),ie?.filter(j=>j.available).map(j=>c.jsx("option",{value:j.slug,children:j.displayName},j.slug))]})]}),c.jsxs("label",{className:"mt-2 flex items-center justify-between gap-3",children:[c.jsx("span",{className:"text-[11px] text-muted-foreground",children:e("settings.agentAutoRenameInterval")}),c.jsx("select",{value:qe,disabled:Ie!==null,onChange:j=>{nt(Number(j.target.value))},className:"min-w-0 rounded-lg bg-surface px-2.5 py-1.5 text-[11px] text-foreground outline-none disabled:opacity-50",children:[5,10,30,60].map(j=>c.jsxs("option",{value:j,children:[j," ",e("settings.agentAutoRenameMinutes")]},j))})]}),c.jsxs("details",{className:"mt-2 border-t border-border/40 pt-2",children:[c.jsx("summary",{className:"cursor-pointer select-none text-[11px] text-muted-foreground transition hover:text-foreground",children:e("settings.agentAutoRenameAdvanced")}),c.jsxs("label",{className:"mt-2 block",children:[c.jsx("span",{className:"text-[11px] font-medium text-foreground",children:e("settings.agentAutoRenamePreference")}),c.jsx("span",{className:"mt-0.5 block text-[10px] text-muted-foreground",children:e("settings.agentAutoRenamePreferenceHint")}),c.jsx("textarea",{value:Se,maxLength:2e3,rows:3,disabled:Ie!==null,placeholder:e("settings.agentAutoRenamePreferencePlaceholder"),onChange:j=>Lt(j.target.value),onBlur:()=>{ft()},className:"mt-1.5 w-full resize-y rounded-lg bg-surface px-2.5 py-2 text-[11px] text-foreground outline-none placeholder:text-muted-foreground/70 focus:ring-1 focus:ring-primary/50 disabled:opacity-50"}),c.jsx("span",{className:"mt-1 block text-right text-[10px] text-muted-foreground",children:Ie==="preference"?e("settings.saving"):`${Se.length}/2000`})]}),c.jsxs("label",{className:"mt-2 block",children:[c.jsx("span",{className:"text-[11px] font-medium text-foreground",children:e("settings.agentAutoRenamePayloadLimit")}),c.jsx("span",{className:"mt-0.5 block text-[10px] text-muted-foreground",children:e("settings.agentAutoRenamePayloadLimitHint")}),c.jsx("input",{type:"number",min:1e3,max:64e3,step:1e3,value:Z,disabled:Ie!==null,onChange:j=>rt(Number(j.target.value)),onBlur:j=>{_t(Number(j.target.value))},className:"mt-1.5 w-full rounded-lg bg-surface px-2.5 py-2 text-[11px] text-foreground outline-none focus:ring-1 focus:ring-primary/50 disabled:opacity-50"})]})]}),c.jsxs("div",{className:"mt-2 space-y-1.5 border-t border-border/40 pt-2",children:[c.jsxs("div",{className:"flex items-center justify-between gap-2",children:[c.jsx("span",{className:"text-[10px] text-muted-foreground",children:e("settings.agentAutoRenameModelsFromCli")}),c.jsx("button",{type:"button",onClick:async()=>{oe(null);try{oe(await ic(!0))}catch{oe([])}},className:"rounded p-1 text-muted-foreground transition hover:bg-surface-elevated hover:text-foreground",title:e("settings.agentAutoRenameRefreshModels"),children:c.jsx(gs,{size:11,className:ie===null?"animate-spin":""})})]}),ie?.filter(j=>j.available).map(j=>{const pe=j.models.find(Oe=>Oe.id===j.recommendedModel);return c.jsxs("label",{className:"flex items-center justify-between gap-3",children:[c.jsx("span",{className:"text-[11px] text-muted-foreground",children:j.displayName}),c.jsxs("select",{value:je[j.slug]??"",disabled:Ie!==null,onChange:Oe=>{pr(j.slug,Oe.target.value)},className:"min-w-0 max-w-[68%] rounded-lg bg-surface px-2.5 py-1.5 text-[11px] text-foreground outline-none disabled:opacity-50",children:[c.jsx("option",{value:"",children:pe?`${e("settings.agentAutoRenameAutomatic")} · ${pe.displayName}`:e("settings.agentAutoRenameCliDefault")}),j.models.map(Oe=>c.jsx("option",{value:Oe.id,children:Oe.displayName},Oe.id))]})]},j.slug)}),ie?.length===0&&c.jsx("div",{className:"text-[10px] text-[color:var(--warning)]",children:e("settings.agentAutoRenameNoCli")})]})]}),t===null&&c.jsxs("div",{className:"flex items-center gap-2 text-[11px] text-muted-foreground",children:[c.jsx(Xr,{size:12,className:"animate-spin"})," …"]}),t?.map(j=>{const pe=s===j.slug,Oe=j.state!=="not-installed",Et=Tt.has(j.slug);return c.jsxs("div",{className:"flex items-center gap-3 rounded-xl bg-surface-2 px-3 py-2.5",children:[c.jsx(Yl,{agent:{slug:j.slug,displayName:j.displayName,accentColor:j.accentColor??"#878580",icon:j.icon,isPlugin:Et,iconMode:j.iconMode,iconVersion:j.iconVersion??void 0},size:18}),c.jsxs("div",{className:"min-w-0 flex-1",children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("span",{className:"text-[13px] font-medium text-foreground",children:j.displayName}),Et&&c.jsx("span",{className:"rounded bg-[rgb(var(--success-rgb)_/_0.12)] px-1 py-px text-[9px] font-medium text-[color:var(--success)]",children:"plugin"}),c.jsxs("span",{className:`text-[10px] ${AB[j.state]}`,children:[j.state==="installed"&&c.jsx(K1,{size:10,className:"mr-0.5 inline"}),(j.state==="outdated"||j.state==="needs-approval")&&c.jsx(P5,{size:10,className:"mr-0.5 inline"}),xt(j.state)]})]}),c.jsxs("div",{className:"truncate text-[10px] text-muted-foreground",title:j.targetDisplay,children:[e("settings.agentHooksTarget")," ",j.targetDisplay]}),h===j.slug&&c.jsx("div",{className:"mt-0.5 text-[10px] text-[color:var(--warning)]",children:e("settings.agentHooksDevMode")}),j.state==="needs-approval"&&c.jsx("div",{className:"mt-0.5 text-[10px] text-[color:var(--warning)]",children:e("settings.agentHooksApprovalHint")})]}),c.jsxs("div",{className:"flex items-center gap-1",children:[c.jsxs("button",{type:"button",disabled:ve!==null,onClick:()=>{kt(j.slug)},className:"flex shrink-0 items-center gap-1.5 rounded-full px-2 py-1 text-[10px] text-muted-foreground transition hover:bg-surface-elevated hover:text-foreground disabled:opacity-50","aria-pressed":Ae.has(j.slug),title:e("settings.agentAutoRenameToggle"),children:[c.jsx("span",{children:e("settings.agentAutoRenameShort")}),c.jsx(Ya,{checked:Ae.has(j.slug),disabled:ve!==null,size:"sm"})]}),c.jsxs("button",{type:"button",disabled:pe,onClick:()=>{vt(j.slug,Oe?"uninstall":"install")},className:`flex shrink-0 items-center gap-1 rounded-full px-2.5 py-1 text-[11px] font-medium transition ${Oe?"bg-surface text-muted-foreground hover:bg-surface-elevated hover:text-foreground":"bg-[rgb(var(--success-rgb)_/_0.14)] text-[color:var(--success)] hover:bg-[rgb(var(--success-rgb)_/_0.22)]"} disabled:opacity-50`,children:[pe?c.jsx(Xr,{size:11,className:"animate-spin"}):Oe?c.jsx(to,{size:11}):j.state==="outdated"?c.jsx(gs,{size:11}):c.jsx($c,{size:11}),pe?"…":Oe?e("settings.agentHooksUninstall"):j.state==="outdated"?e("settings.agentHooksReinstall"):e("settings.agentHooksInstall")]})]})]},j.slug)}),u&&c.jsx("div",{className:"rounded-xl bg-[rgb(var(--warning-rgb)_/_0.10)] px-3 py-2 text-[11px] text-[color:var(--warning)]",children:u}),c.jsxs("div",{className:"rounded-xl bg-surface-2 px-3 py-2.5",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx("span",{className:"text-[12px] font-medium text-foreground",children:e("settings.agentPlugins")}),c.jsxs("button",{type:"button",onClick:()=>v(!b),className:"flex items-center gap-1 rounded-full bg-[rgb(var(--success-rgb)_/_0.14)] px-2.5 py-1 text-[11px] font-medium text-[color:var(--success)] hover:bg-[rgb(var(--success-rgb)_/_0.22)] transition",children:[c.jsx(Hi,{size:11}),e("settings.agentPluginAdd")]})]}),c.jsx("p",{className:"mt-1 text-[10px] text-muted-foreground",children:e("settings.agentPluginHint")}),b&&c.jsxs("div",{className:"mt-2 space-y-2",children:[c.jsxs("div",{className:"flex gap-2",children:[c.jsx("input",{value:A,onChange:j=>k(j.target.value),onKeyDown:j=>{j.key==="Enter"&&he()},className:"min-w-0 flex-1 rounded-lg bg-surface px-3 py-2 font-mono text-[11px] text-foreground placeholder:text-muted-foreground outline-none",placeholder:e("settings.agentPluginSourcePlaceholder")}),c.jsxs("button",{type:"button",disabled:!A.trim()||gt!==null,onClick:()=>{he()},className:"flex items-center gap-1 rounded-full bg-[rgb(var(--success-rgb)_/_0.14)] px-3 py-1 text-[11px] font-medium text-[color:var(--success)] transition hover:bg-[rgb(var(--success-rgb)_/_0.22)] disabled:opacity-50",children:[gt==="install"?c.jsx(Xr,{size:11,className:"animate-spin"}):c.jsx($c,{size:11}),e("settings.agentPluginInstallPackage")]})]}),c.jsx("button",{type:"button",onClick:()=>x(!g),className:"text-[10px] text-muted-foreground transition hover:text-foreground",children:e("settings.agentPluginAdvancedManifest")})]}),F.map(j=>{const pe=j.revision?.slice(0,8),Oe=gt?.endsWith(`:${j.slug}`)===!0;return c.jsxs("div",{className:"mt-2 flex items-center gap-2 border-t border-border/40 pt-2",children:[c.jsxs("div",{className:"min-w-0 flex-1",children:[c.jsxs("div",{className:"flex items-center gap-1.5 text-[11px] font-medium text-foreground",children:[c.jsx("span",{className:"truncate",children:j.displayName}),j.updateAvailable&&c.jsx("span",{className:"text-[9px] text-[color:var(--warning)]",children:e("settings.agentPluginUpdateAvailable")})]}),c.jsxs("div",{className:"truncate text-[9px] text-muted-foreground",title:j.source??void 0,children:[j.source??e("settings.agentPluginManualSource"),pe?` · ${pe}`:""]})]}),c.jsxs("button",{type:"button",disabled:gt!==null,onClick:()=>{Ke(j.slug)},className:"flex items-center gap-1 rounded-full bg-surface px-2 py-1 text-[10px] text-muted-foreground transition hover:bg-surface-elevated hover:text-foreground disabled:opacity-50",title:e("settings.agentPluginDoctorHint"),children:[gt===`doctor:${j.slug}`?c.jsx(Xr,{size:10,className:"animate-spin"}):c.jsx(qv,{size:10}),e("settings.agentPluginDoctor")]}),j.updateSupported&&c.jsxs("button",{type:"button",disabled:gt!==null,onClick:()=>{j.updateAvailable?At(j.slug):De(j.slug)},className:"flex items-center gap-1 rounded-full bg-surface px-2 py-1 text-[10px] text-muted-foreground transition hover:bg-surface-elevated hover:text-foreground disabled:opacity-50",children:[Oe?c.jsx(Xr,{size:10,className:"animate-spin"}):c.jsx(gs,{size:10}),j.updateAvailable?e("settings.agentPluginUpdate"):e("settings.agentPluginCheck")]}),c.jsx("button",{type:"button",disabled:gt!==null,onClick:()=>{xe(j.slug)},className:"rounded-full p-1 text-muted-foreground transition hover:bg-surface-elevated hover:text-[color:var(--warning)] disabled:opacity-50",title:e("settings.agentPluginDelete"),children:c.jsx(to,{size:11})})]},j.slug)}),K&&c.jsxs("div",{className:`mt-2 rounded-lg px-3 py-2 text-[10px] ${K.status==="ok"||K.status==="cli-default"?"bg-[rgb(var(--success-rgb)_/_0.10)] text-[color:var(--success)]":"bg-[rgb(var(--warning-rgb)_/_0.10)] text-[color:var(--warning)]"}`,children:[c.jsxs("div",{className:"font-medium",children:[K.displayName,": ",Qt]}),c.jsx("div",{className:"mt-1 text-muted-foreground",children:K.models.length>0?`${K.models.length} ${e("settings.agentPluginDoctorModels")}${K.recommendedModel?` · ${e("settings.agentPluginDoctorAutomatic")} ${K.recommendedModel}`:""}`:e("settings.agentPluginDoctorCliDefault")}),K.error&&c.jsx("div",{className:"mt-1 break-words",children:K.error}),K.warnings.length>0&&c.jsx("div",{className:"mt-1 space-y-0.5 text-muted-foreground",children:K.warnings.map(j=>c.jsxs("div",{children:["• ",j]},j))}),K.nextSteps.length>0&&c.jsx("div",{className:"mt-1 space-y-0.5 text-muted-foreground",children:K.nextSteps.map(j=>c.jsxs("div",{children:["→ ",j]},j))})]}),O.map(j=>c.jsxs("div",{className:"mt-2 rounded-lg bg-[rgb(var(--warning-rgb)_/_0.10)] px-3 py-2 text-[10px] text-[color:var(--warning)]",children:[c.jsxs("div",{className:"flex items-center justify-between gap-2",children:[c.jsxs("span",{className:"font-medium",children:[j.slug,": ",j.code??e("settings.agentPluginInvalid")]}),c.jsxs("button",{type:"button",onClick:()=>{at(j)},className:"flex shrink-0 items-center gap-1 rounded-full bg-[rgb(var(--warning-rgb)_/_0.14)] px-2 py-1 font-medium transition hover:bg-[rgb(var(--warning-rgb)_/_0.22)]",children:[ee===j.slug?c.jsx(K1,{size:10}):c.jsx(F5,{size:10}),ee===j.slug?e("settings.agentPluginCopied"):e("settings.agentPluginCopyAiPrompt")]})]}),c.jsx("div",{className:"mt-1 whitespace-pre-wrap break-words text-muted-foreground",children:j.errors.join(`
130
+ `)}),j.migration?.guideCommand&&c.jsx("code",{className:"mt-1 block select-all text-foreground",children:j.migration.guideCommand})]},j.slug)),b&&g&&c.jsxs("div",{className:"mt-2 space-y-2",children:[c.jsx("textarea",{value:I,onChange:j=>R(j.target.value),rows:10,className:"w-full rounded-lg bg-surface px-3 py-2 font-mono text-[11px] text-foreground placeholder:text-muted-foreground outline-none resize-y",placeholder:`{
131
+ "version": 2,
132
+ "slug": "my-agent",
133
+ "displayName": "My Agent",
134
+ "aliases": ["my-agent"],
135
+ "accentColor": "#4385BE",
136
+ "statuses": [
137
+ { "id": "thinking", "phase": "working", "label": "Thinking", "indicator": "spinner", "tone": "info" },
138
+ { "id": "approval", "phase": "waiting", "label": "Needs approval", "indicator": "question", "tone": "warning" },
139
+ { "id": "complete", "phase": "done", "label": "Complete", "indicator": "badge", "tone": "success" }
140
+ ],
141
+ "hooks": {
142
+ "target": "~/.my-agent/settings.json",
143
+ "events": [
144
+ { "hook": "UserPromptSubmit", "event": "prompt-submit", "status": "thinking" },
145
+ { "hook": "PermissionRequest", "event": "permission-request", "status": "approval" },
146
+ { "hook": "Stop", "event": "stop", "status": "complete" }
147
+ ]
148
+ }
149
+ }`}),M&&c.jsx("div",{className:"whitespace-pre-wrap break-words text-[10px] text-[color:var(--warning)]",children:M}),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsxs("button",{type:"button",onClick:()=>{Ct()},className:"flex items-center gap-1 rounded-full bg-[rgb(var(--success-rgb)_/_0.14)] px-3 py-1 text-[11px] font-medium text-[color:var(--success)] hover:bg-[rgb(var(--success-rgb)_/_0.22)] transition",children:[c.jsx(q8,{size:11}),e("settings.agentPluginCreate")]}),c.jsx("button",{type:"button",onClick:()=>{x(!1),R(""),B(null)},className:"rounded-full px-3 py-1 text-[11px] text-muted-foreground hover:text-foreground transition",children:e("common.cancel")})]})]})]})]})}function SB({state:e,pending:t,onCheck:r,onConfirmRestart:s,desktopState:i,desktopPending:u=!1,onCheckDesktop:l,onInstallDesktop:h}){const{t:p}=ln(),g=e?.status??"idle",x=t||g==="checking"||g==="installing"||g==="restarting",b=g==="ready"&&!!e?.latestVersion,v=g==="checking"?p("settings.updateChecking"):g==="installing"?p("sidebar.updateInstalling"):g==="ready"?p("sidebar.updateReady"):g==="restarting"?p("sidebar.updateRestarting"):g==="current"?p("settings.updateCurrent"):g==="error"?e?.error||p("sidebar.updateFailed"):p("settings.updateHint"),A=i?.status??"idle",k=u||A==="checking"||A==="downloading"||A==="installing",I=A==="ready",R=A==="unsupported"?p("settings.desktopUpdateUnsupported"):A==="checking"?p("settings.desktopUpdateChecking"):A==="current"?p("settings.desktopUpdateCurrent"):A==="downloading"?p("settings.desktopUpdateDownloading"):A==="ready"?p("settings.desktopUpdateReady"):A==="installing"?p("settings.desktopUpdateInstalling"):A==="error"&&i?.error||p("settings.desktopUpdateHint");return c.jsxs("section",{className:"mt-3 overflow-hidden rounded-xl bg-surface-2","aria-labelledby":"termdock-update-title",children:[c.jsx("div",{id:"termdock-update-title",className:"px-3 pt-3 text-[12px] font-semibold text-foreground",children:p("settings.updateTitle")}),c.jsxs("div",{className:"flex items-start justify-between gap-3 px-3 py-3",children:[c.jsxs("div",{className:"flex min-w-0 items-start gap-2.5",children:[c.jsx("span",{className:`mt-0.5 inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-lg ${b?"bg-[rgb(var(--warning-rgb)_/_0.16)] text-[color:var(--warning)]":"bg-primary/15 text-primary"}`,children:c.jsx(gs,{size:15,className:x?"animate-spin":""})}),c.jsxs("div",{className:"min-w-0",children:[c.jsx("div",{className:"text-[12px] font-medium text-foreground",children:p("settings.updateRuntimeTitle")}),c.jsx("div",{className:"mt-0.5 text-[10px] leading-relaxed text-muted-foreground",children:v}),e&&c.jsx("div",{className:"mt-1 text-[10px] tabular-nums text-muted-foreground/75",children:b&&e.latestVersion?`${e.currentVersion} → ${e.latestVersion}`:`v${e.currentVersion}`})]})]}),b?c.jsx("button",{type:"button",disabled:x,onClick:s,className:"shrink-0 rounded-full bg-[var(--warning)] px-3 py-1.5 text-[11px] font-semibold text-[color:var(--bg)] transition hover:opacity-90 disabled:cursor-wait disabled:opacity-60",children:p("sidebar.updateRestart")}):c.jsx("button",{type:"button",disabled:x,onClick:r,className:"shrink-0 rounded-full bg-surface px-3 py-1.5 text-[11px] font-medium text-foreground transition hover:bg-surface-elevated disabled:cursor-wait disabled:opacity-60",children:p(g==="checking"?"settings.updateCheckingShort":g==="installing"?"settings.updateInstallingShort":g==="error"?"sidebar.updateRetry":g==="current"?"settings.updateCheckAgain":"settings.updateCheck")})]}),i&&c.jsxs("div",{className:"flex items-start justify-between gap-3 border-t border-border/10 px-3 py-3",children:[c.jsxs("div",{className:"flex min-w-0 items-start gap-2.5",children:[c.jsx("span",{className:`mt-0.5 inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-lg ${I?"bg-[rgb(var(--warning-rgb)_/_0.16)] text-[color:var(--warning)]":"bg-primary/15 text-primary"}`,children:c.jsx(gs,{size:15,className:k?"animate-spin":""})}),c.jsxs("div",{className:"min-w-0",children:[c.jsx("div",{className:"text-[12px] font-medium text-foreground",children:p("settings.desktopUpdateTitle")}),c.jsx("div",{className:"mt-0.5 text-[10px] leading-relaxed text-muted-foreground",children:R}),c.jsx("div",{className:"mt-1 text-[10px] tabular-nums text-muted-foreground/75",children:I&&i.latestVersion?`${i.currentVersion} → ${i.latestVersion}`:`v${i.currentVersion}`})]})]}),I?c.jsx("button",{type:"button",disabled:k||!h,onClick:h,className:"shrink-0 rounded-full bg-[var(--warning)] px-3 py-1.5 text-[11px] font-semibold text-[color:var(--bg)] transition hover:opacity-90 disabled:cursor-wait disabled:opacity-60",children:p("settings.desktopUpdateRestart")}):c.jsx("button",{type:"button",disabled:k||A==="unsupported"||!l,onClick:l,className:"shrink-0 rounded-full bg-surface px-3 py-1.5 text-[11px] font-medium text-foreground transition hover:bg-surface-elevated disabled:cursor-wait disabled:opacity-60",children:p(A==="checking"?"settings.updateCheckingShort":A==="current"||A==="error"?"settings.desktopUpdateCheckAgain":"settings.desktopUpdateCheck")})]})]})}function CB({bridge:e,runningCount:t,reviewCount:r,labels:s}){const[i,u]=S.useState([]),[l,h]=S.useState(!1),p=S.useRef(null);if(S.useEffect(()=>e.onServiceActivity(u),[e]),S.useEffect(()=>{e.reportServiceActivity({runningCount:t,reviewCount:r})},[e,r,t]),S.useEffect(()=>{if(!l)return;const I=M=>{p.current?.contains(M.target)||h(!1)},R=M=>{M.key==="Escape"&&h(!1)};return document.addEventListener("pointerdown",I),document.addEventListener("keydown",R),()=>{document.removeEventListener("pointerdown",I),document.removeEventListener("keydown",R)}},[l]),i.length<2)return null;const g=[...i].sort((I,R)=>I.current!==R.current?I.current?-1:1:I.reviewCount!==R.reviewCount?R.reviewCount-I.reviewCount:I.runningCount!==R.runningCount?R.runningCount-I.runningCount:I.label.localeCompare(R.label)),x=g.find(I=>I.current),b=g.filter(I=>!I.current),v=b.reduce((I,R)=>I+R.runningCount,0),A=b.reduce((I,R)=>I+R.reviewCount,0),k=async I=>{await e.focusService(I)&&h(!1)};return c.jsxs("div",{ref:p,className:"relative z-20 shrink-0","data-testid":"desktop-service-switcher",children:[c.jsxs("button",{type:"button",className:`inline-flex h-7 items-center gap-1.5 rounded-md px-2 text-[11px] ring-1 transition sm:h-8 ${A>0?"bg-[rgb(var(--warning-rgb)_/_0.12)] text-[color:var(--warning)] ring-[rgb(var(--warning-rgb)_/_0.22)] hover:bg-[rgb(var(--warning-rgb)_/_0.18)]":"bg-surface-2 text-muted-foreground ring-border/10 hover:bg-surface-elevated hover:text-foreground"}`,"aria-haspopup":"menu","aria-expanded":l,"aria-label":s.switchService,title:x?`${s.switchService} · ${x.label}`:s.switchService,onClick:()=>h(I=>!I),children:[c.jsx(kf,{size:13,className:"shrink-0"}),v>0&&c.jsxs("span",{className:"inline-flex items-center gap-0.5 text-[color:var(--success)]",title:`${s.running}: ${v}`,children:[c.jsx(Xr,{size:10,className:"animate-spin"}),c.jsx("span",{className:"tabular-nums",children:v})]}),A>0&&c.jsxs("span",{className:"inline-flex items-center gap-0.5",title:`${s.review}: ${A}`,children:[c.jsx(Cl,{size:10,className:"animate-pulse"}),c.jsx("span",{className:"tabular-nums",children:A})]}),v===0&&A===0&&c.jsx("span",{className:"tabular-nums text-muted-foreground",children:i.length})]}),l&&c.jsxs("div",{role:"menu","aria-label":s.openServices,className:"absolute right-0 top-[calc(100%+0.4rem)] z-30 w-72 overflow-hidden rounded-xl border border-border/15 bg-surface-elevated p-1.5 text-foreground shadow-[0_18px_50px_var(--app-shadow-strong)]",children:[c.jsx("div",{className:"px-2.5 pb-1.5 pt-1 text-[10px] font-semibold uppercase tracking-[0.12em] text-muted-foreground",children:s.openServices}),g.map(I=>{const R=I.runningCount===0&&I.reviewCount===0;return c.jsxs("button",{type:"button",role:"menuitem",className:"flex min-h-11 w-full items-center gap-2 rounded-lg px-2.5 py-2 text-left transition hover:bg-surface-2 focus-visible:bg-surface-2 focus-visible:outline-none",onClick:()=>{k(I.origin)},children:[c.jsx("span",{className:"inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-md bg-surface text-muted-foreground",children:I.current?c.jsx(sa,{size:13,className:"text-primary"}):c.jsx(kf,{size:13})}),c.jsxs("span",{className:"min-w-0 flex-1",children:[c.jsxs("span",{className:"flex items-center gap-1.5",children:[c.jsx("span",{className:"truncate text-[12px] font-medium",children:I.label}),I.current&&c.jsx("span",{className:"shrink-0 text-[9px] text-primary",children:s.current})]}),c.jsx("span",{className:"mt-0.5 block truncate text-[9px] text-muted-foreground",children:I.origin})]}),c.jsxs("span",{className:"flex shrink-0 items-center gap-1.5 text-[10px] tabular-nums",children:[I.runningCount>0&&c.jsxs("span",{className:"inline-flex items-center gap-0.5 text-[color:var(--success)]",title:s.running,children:[c.jsx(Xr,{size:10,className:"animate-spin"}),I.runningCount]}),I.reviewCount>0&&c.jsxs("span",{className:"inline-flex items-center gap-0.5 text-[color:var(--warning)]",title:s.review,children:[c.jsx(Cl,{size:10}),I.reviewCount]}),R&&c.jsx("span",{className:"text-muted-foreground",children:s.idle})]})]},I.origin)}),c.jsx("div",{className:"mt-1 border-t border-border/15 pt-1",children:c.jsxs("button",{type:"button",role:"menuitem",className:"flex min-h-9 w-full items-center gap-2 rounded-lg px-2.5 text-left text-[11px] text-muted-foreground transition hover:bg-surface-2 hover:text-foreground focus-visible:bg-surface-2 focus-visible:outline-none",onClick:()=>{h(!1),e.showConnectionCenter()},children:[c.jsx($v,{size:13}),c.jsx("span",{children:s.manageServices})]})})]})]})}const gp="mobile-session-destroy";function _B(e,t){return t&&e.type==="session"&&e.destination?.droppableId===gp}const eo="termdock-program-rules-cache",Hu="termdock-toolbar-presets-cache",kc="termdock-settings-cache",p5="termdock-color-theme",m5="termdock:right-sidebar:file-preview-open-by-session:v2",Ec="termdock:running-session-button-enabled:v1",LB=60,g5=320,x5=420,Xo=8;function b5(e,t,r){return Math.min(Math.max(e,t),r)}function y5(e){if(typeof window>"u")return{left:Xo,top:Xo};const t=window.innerWidth/2,r=Math.min(64,window.innerHeight/4),s=e?.x??t,i=e?.y??r,u=Math.max(Xo,window.innerWidth-g5-Xo),l=Math.max(Xo,window.innerHeight-x5-Xo);return{left:b5(s+Xo,Xo,u),top:b5(i+Xo,Xo,l),width:g5,maxHeight:`min(${x5}px, calc(100vh - ${Xo*2}px))`}}function IB(e){return e==="dark"||e==="light"}function kB(e){return!e||typeof e!="object"||Array.isArray(e)?!1:Object.entries(e).every(([t,r])=>{if(!t||!r||typeof r!="object"||Array.isArray(r))return!1;const s=r;return typeof s.updatedAt=="number"&&Number.isFinite(s.updatedAt)})}function Cf(e){const t=Object.entries(e).filter(([r,s])=>r&&Number.isFinite(s.updatedAt)).sort(([,r],[,s])=>s.updatedAt-r.updatedAt).slice(0,LB);return Object.fromEntries(t)}function EB(e){return Array.isArray(e)&&e.every(t=>{if(!t||typeof t!="object")return!1;const r=t;return typeof r.id=="string"&&typeof r.pattern=="string"&&typeof r.output=="string"&&(r.matchType==="exact"||r.matchType==="includes"||r.matchType==="prefix"||r.matchType==="regex")})}function RB(e){return typeof e=="object"&&e!==null&&typeof e.version=="number"&&Array.isArray(e.presets)}function MB(e,t){const r=Vc(),s=new Set(HC()),i=Array.isArray(e)?e:[],u=R0(i),l=t<Dc;if(u.length===0)return r;if(l){const p=new Map(u.map(v=>[v.id,v])),g=new Map(i.map(v=>[typeof v.id=="string"?v.id.trim().toLowerCase().replace(/[^a-z0-9_-]/g,"-"):"",v])),x=u.filter(v=>!s.has(v.id));return[...r.map(v=>{const A=p.get(v.id),k=g.get(v.id);return A?{...v,rowLayout:A.rowLayout,showOnDesktop:typeof k?.showOnDesktop=="boolean"?k.showOnDesktop:v.showOnDesktop}:v}),...x]}const h=new Set(u.map(p=>p.id));return[...u,...r.filter(p=>!h.has(p.id))]}function NB(e){return typeof e=="object"&&e!==null&&typeof e.preventSleep=="boolean"&&typeof e.networkAvailable=="boolean"}const DB={name:"",source:"auto",hostname:"",fallbackHostname:"",url:"",fallbackUrl:"",onboardingUrl:null,status:"disabled",reason:null,httpsEnabled:!1,caAvailable:!1,lanAddresses:[],interfaces:[]},Zd="__termdockOverlay",Yd="__termdockBaseAnchor",Kd="__termdockBaseGuard",BB=3,v5=250,QB="termdock-notification-target-v1",w5="/__termdock-notification-target",A5=3e4;function jB(e){return e==="left-sidebar"||e==="right-sidebar"||e==="right-sidebar-repo-picker"||e==="right-sidebar-file-preview"||e==="settings"||e==="markdown-outline"||e==="markdown-image-lightbox"}function S0(e){if(!e||typeof e!="object")return null;const t=e[Zd];return jB(t)?t:null}function d1(e){return e&&typeof e=="object"?{...e}:{}}function O6(e){const t=d1(e);return delete t[Zd],t}function PB(e){const t=O6(e);return delete t[Kd],{...t,[Yd]:!0}}function OB(){typeof window>"u"||window.history.pushState({...O6(window.history.state),[Yd]:!0,[Kd]:!0},"",window.location.href)}function F6(){for(let e=0;e<BB;e+=1)OB()}function Wu(){typeof window>"u"||(window.history.replaceState(PB(window.history.state),"",window.location.href),F6())}function Rc(e){typeof window>"u"||window.history.pushState({...d1(window.history.state),[Yd]:!0,[Zd]:e,[Kd]:!1},"",window.location.href)}function FB(e){typeof window>"u"||window.history.replaceState({...d1(window.history.state),[Yd]:!0,[Zd]:e,[Kd]:!1},"",window.location.href)}const U6=["bash","zsh","fish","sh","dash","ksh","tcsh","csh","nu"];let uo=new Set(U6);function T5(e){const t=new Map;for(const[r,s]of e)t.set(r,{cwd:s.cwd,activeProgram:s.activeProgram,activeProgramRaw:s.activeProgramRaw,inCopyMode:s.inCopyMode,isConnecting:s.isConnecting,agentStatus:s.agentStatus,agentIndicator:s.agentIndicator,agentStatusDetail:s.agentStatusDetail,agent:s.agent,agentMessage:s.agentMessage,agentNativeSessionId:s.agentNativeSessionId,agentResumeRecovered:s.agentResumeRecovered,terminalSessionId:s.terminalSessionId,agentNeedsReview:s.agentNeedsReview,gitStatus:s.gitStatus,shellTitle:s.shellTitle,promptState:s.promptState,tuiProgress:s.tuiProgress});return t}function UB(e,t){if(e.size!==t.size)return!1;for(const[r,s]of t){const i=e.get(r);if(!i||i.cwd!==s.cwd||i.activeProgram!==s.activeProgram||i.activeProgramRaw!==s.activeProgramRaw||i.inCopyMode!==s.inCopyMode||i.isConnecting!==s.isConnecting||i.agentStatus!==s.agentStatus||i.agentIndicator!==s.agentIndicator||i.agentStatusDetail!==s.agentStatusDetail||i.agent!==s.agent||i.agentMessage!==s.agentMessage||i.agentNativeSessionId!==s.agentNativeSessionId||i.agentResumeRecovered!==s.agentResumeRecovered||i.terminalSessionId!==s.terminalSessionId||i.agentNeedsReview!==s.agentNeedsReview||i.gitStatus!==s.gitStatus||i.shellTitle!==s.shellTitle||i.promptState!==s.promptState||i.tuiProgress?.state!==s.tuiProgress?.state||i.tuiProgress?.progress!==s.tuiProgress?.progress)return!1}return!0}function S5(e,t){return c.jsx(bD,{sessionMode:e,state:t})}function $B(e,t){const r=new Map(e.map(l=>[l.id,l])),s=t.map(l=>r.get(l)).filter(l=>l!==void 0),i=new Set(t),u=e.filter(l=>!i.has(l.id));return[...s,...u]}function zB(){const{t:e,locale:t,setLocale:r}=ln(),s="env(safe-area-inset-top, 0px)",i="env(safe-area-inset-bottom, 0px)";W7();const u=S.useMemo(()=>typeof window>"u"?!1:/iPad|iPhone|iPod/.test(navigator.userAgent)||navigator.platform==="MacIntel"&&navigator.maxTouchPoints>1,[]),[l,h]=S.useState(!1),[p,g]=S.useState(()=>h0(p5,IB)??"dark"),x=S.useRef(h0(kc,NB)).current,[b,v]=S.useState(x?.preventSleep??!1),[A,k]=S.useState(x?.networkAvailable??!0),[I,R]=S.useState(Rd),[M,B]=S.useState(Md),[F,W]=S.useState(Ap),[O,q]=S.useState(Wc),[ee,de]=S.useState(yh),[Ae,Le]=S.useState(x?.localAccess??DB),[ve,Ye]=S.useState(x?.localAccess?.name??""),[Te,fe]=S.useState(!1),[je,be]=S.useState(null),[ie,oe]=S.useState(null),[Ie,ke]=S.useState(null),[qe,se]=S.useState(!1),Se=S.useMemo(()=>xi(),[]),Lt=!!(Se?.desktopUpdateState&&Se.checkDesktopUpdate&&Se.installDesktopUpdate),[Dt,Ue]=S.useState(null),[Z,rt]=S.useState(null),[gt,J]=S.useState(!1),[K,Fe]=S.useState(null),[Je,vt]=S.useState(!1),[xt,Ct]=S.useState(()=>Cf(h0(m5,kB)??{})),[he,xe]=S.useState(0),[De,At]=S.useState(!1),[Ke,at]=S.useState(0),[kt,tr]=S.useState(!1),[pr,nt]=S.useState(0),[ft,_t]=S.useState(!1),[Tt,Qt]=S.useState(0),j=S.useRef(null),[pe,Oe]=S.useState({}),{terminalSettings:Et,updateTerminalSettings:Qe}=NM(),et=Et.fontSize,lr=Et.rendererMode,[Ne,cn]=S.useState(!1),Qr=S.useRef(F_()).current,[Re,Rr]=_.useState(()=>Qr.sessions.map(C=>({id:C.sessionId,name:C.name,customName:C.customName,mode:C.mode,tmuxSessionName:C.tmuxSessionName}))),[ut,un]=S.useState(Qr.activeSessionId),[Lr,wn]=S.useState(!1),[mr,Mr]=S.useState(null),[Bn,Ir]=S.useState(null),[Nr,ae]=S.useState([]),[rr,lt]=_.useState(()=>{const C=Er.getState();return Qr.sessions.forEach(D=>{D.backendSessionId&&C.setTerminalSession(D.sessionId,{sessionId:D.backendSessionId,cols:80,rows:24,mode:D.mode,tmuxSessionName:D.tmuxSessionName}),D.activeProgram!=null&&C.setSessionActiveProgram(D.sessionId,D.activeProgram),D.cwd!=null&&C.setSessionCwd(D.sessionId,D.cwd)}),M0("session-chrome-hydrated"),T5(Er.getState().sessions)});_.useEffect(()=>{!Se||!Ne||Promise.all([Se.snapshot(),Se.desktopUpdateState?.()??Promise.resolve(null)]).then(([C,D])=>{Ue(C),rt(D)}).catch(C=>Fe(C instanceof Error?C.message:String(C)))},[Se,Ne]),_.useEffect(()=>{Se?.onDesktopUpdateState&&Se.onDesktopUpdateState(rt)},[Se]),_.useEffect(()=>Er.subscribe(C=>{const D=T5(C.sessions);lt(te=>UB(te,D)?te:D)}),[]);const es=_.useCallback(async(C,D)=>{Ir(null),Mr({sessionId:C,status:"submitting",error:null});try{await G7(D),Mr(te=>te?.sessionId===C?{...te,status:"waiting",error:null}:te)}catch(te){const tt=(te&&typeof te=="object"&&"code"in te?String(te.code??""):"")==="AGENT_SESSION_ACTIVE_ELSEWHERE"?e("tab.resumeAgentConflict"):te instanceof Error&&/busy/i.test(te.message)?e("tab.resumeAgentBusy"):e("tab.resumeAgentFailed");Mr(Rt=>Rt?.sessionId===C?{...Rt,error:tt}:Rt),Ir({tone:"error",message:tt})}},[e]);_.useEffect(()=>{if(!mr||mr.status!=="waiting")return;const C=rr.get(mr.sessionId);if(!C||C.agentResumeRecovered||C.agentStatus===null&&!C.agent)return;const D=C.agent?.displayName??"Agent";Mr(null),Ir({tone:"success",message:e("tab.resumeAgentSuccess",{agent:D})})},[mr,rr,e]),_.useEffect(()=>{if(!mr||mr.status!=="waiting"||mr.error)return;const C=mr.sessionId,D=window.setTimeout(()=>{const te=e("tab.resumeAgentTimeout");Mr(Be=>Be?.sessionId===C&&Be.status==="waiting"?{...Be,error:te}:Be),Ir({tone:"error",message:te})},15e3);return()=>window.clearTimeout(D)},[mr,e]),_.useEffect(()=>{if(Bn?.tone!=="success")return;const C=window.setTimeout(()=>Ir(null),3200);return()=>window.clearTimeout(C)},[Bn]),_.useEffect(()=>{let C=!1;V7().then(te=>{C||ke(te)}).catch(()=>{});const D=Gf(te=>{te.type==="update-state"&&!C&&ke(te.state)});return()=>{C=!0,D()}},[]);const Jt=_.useCallback(async()=>{const C=Ie?.latestVersion;if(!(!C||qe)&&window.confirm(e("sidebar.updateRestartConfirm",{version:C}))){se(!0);try{ke(await q7())}catch(D){window.alert(D instanceof Error?D.message:String(D))}finally{se(!1)}}},[Ie?.latestVersion,e,qe]),Qn=_.useCallback(async()=>{if(!qe){se(!0);try{ke(await Z7())}catch(C){window.alert(C instanceof Error?C.message:String(C))}finally{se(!1)}}},[qe]),xs=_.useCallback(async()=>{if(!(!Se?.checkDesktopUpdate||gt)){J(!0);try{rt(await Se.checkDesktopUpdate())}catch(C){Fe(C instanceof Error?C.message:String(C))}finally{J(!1)}}},[Se,gt]),xo=_.useCallback(async()=>{if(!(!Se?.installDesktopUpdate||gt||Z?.status!=="ready")&&window.confirm(e("settings.desktopUpdateRestartConfirm"))){J(!0);try{rt(await Se.installDesktopUpdate())}catch(C){Fe(C instanceof Error?C.message:String(C)),J(!1)}}},[Se,gt,Z?.status,e]);_.useEffect(()=>{document.documentElement.dataset.theme=p,Y7(p),On(p5,p)},[p]),_.useEffect(()=>{On(m5,Cf(xt))},[xt]);const ts=$t(C=>C.leftOpen),Gn=$t(C=>C.rightOpen),An=$t(C=>C.leftPinned),gn=$t(C=>C.leftSidebarWidth),Rs=$t(C=>C.rightPinned),Tn=$t(C=>C.rightSidebarWidth),Wr=$t(C=>C.rootPath),ur=$t(C=>C.contextKey),Or=$t(C=>C.selectedFilePath),Zt=$t(C=>C.groupByFolder),Tr=$t(C=>C.collapsedGroups),Sn=$t(C=>C.toggleGroupCollapsed),[Mt,bs]=_.useState(()=>typeof window>"u"?!0:window.matchMedia("(min-width: 1024px)").matches),[dr,Cn]=_.useState(()=>typeof window>"u"?1024:window.innerWidth),[rs,Kn]=_.useState(()=>typeof window>"u"?!1:window.matchMedia("(orientation: landscape)").matches),[En,ys]=_.useState([]),[qr,ls]=_.useState({available:!0,version:null,reason:null}),[Vn,Wi]=_.useState(!1),[Ms,V]=_.useState(null),[ue,He]=_.useState(null),[ge,Ce]=_.useState(null),[Ve,it]=_.useState(null),[$e,We]=_.useState(null),[ot,br]=_.useState(null),[bt,yr]=_.useState(null),[ct,Ft]=_.useState(null),[gr,sr]=_.useState(null),[or,qn]=_.useState(null),[en,Zn]=_.useState(!1),[Xn,cs]=_.useState(()=>h0(Ec,C=>typeof C=="boolean")??!1),Hs=_.useCallback(async C=>{const D=Xn;cs(C),On(Ec,C);try{const te=await ea({runningSessionButtonEnabled:C});cs(te.runningSessionButtonEnabled),On(Ec,te.runningSessionButtonEnabled)}catch{cs(D),On(Ec,D)}},[Xn]),[Ws,Gi]=_.useState(null),Rn=_.useCallback(C=>{Gi(C)},[]),$r=_.useRef(!1),[zr,_n]=_.useState(null),[jn,U]=_.useState(null),X=S.useRef(null),ce=S.useRef(!1),ye=S.useRef(null),Xe=S.useRef(!1),st=_.useCallback(()=>{br(null),yr(null)},[]),Vt=S.useRef(typeof window>"u"?null:new URLSearchParams(window.location.search).get("session")),[yt,It]=S.useState(Vt.current),[Fr,Sr]=S.useState(!0),jr=S.useRef(Vt.current),kr=S.useRef(typeof window>"u"?null:new URLSearchParams(window.location.search).get("_notifTrace"));_.useEffect(()=>{if(typeof window>"u")return;const C=window.matchMedia("(min-width: 1024px)"),D=()=>{bs(C.matches),Cn(window.innerWidth)};return D(),C.addEventListener("change",D),window.addEventListener("resize",D),()=>{C.removeEventListener("change",D),window.removeEventListener("resize",D)}},[]),_.useEffect(()=>{if(typeof window>"u")return;const C=window.matchMedia("(orientation: landscape)"),D=()=>Kn(C.matches);return D(),C.addEventListener("change",D),()=>C.removeEventListener("change",D)},[]);const hr=S.useMemo(()=>ut?Nr.find(C=>C.sessionIds.includes(ut))??null:null,[ut,Nr]),tn=hr?.id??null,Jr=hr?.sessionIds[0]??ut,ir=S.useRef([]);S.useLayoutEffect(()=>{const C=ir.current;if(ir.current=Nr,C.length===0)return;const D=new Set(Nr.flatMap(te=>te.sessionIds));for(const te of C){const Be=te.sessionIds.filter(tt=>!D.has(tt)).map(tt=>({sessionId:tt,rootPath:Er.getState().sessions.get(tt)?.cwd??null}));Be.length>0&&$t.getState().inheritRightSidebarStateFromSplitWorkspace(te.id,Be)}},[Nr]),S.useLayoutEffect(()=>((()=>{const D=Jr?Er.getState().sessions.get(Jr)?.cwd??null:null;$t.getState().setRootPath(D,Jr,tn)})(),Er.subscribe((D,te)=>{const Be=Jr?D.sessions.get(Jr)?.cwd??null:null,tt=Jr?te.sessions.get(Jr)?.cwd??null:null;Be!==tt&&$t.getState().setRootPath(Be,Jr,tn)})),[tn,Jr]);const Ut=Mt||rs,jt=Mt||rs,xr=Ut?Math.min(Math.max(dr*.9,360),dr-56):Math.min(dr*.92,420),Xt=jt?Math.min(Math.max(dr*.22,280),340):Math.min(dr*.86,380),fr=ut&&Wr?`${ut}\0${Wr}`:"",dn=!!(fr&&Or&&xt[fr]),vs=_.useCallback(C=>{fr&&(C&&!$t.getState().selectedFilePath||Ct(D=>{if(!!D[fr]===C)return D;if(C)return Cf({...D,[fr]:{updatedAt:Date.now()}});const Be={...D};return delete Be[fr],Be}))},[fr]);_.useEffect(()=>{OM(fr,ur,Or)&&Ct(C=>{if(!C[fr])return C;const D={...C};return delete D[fr],D})},[fr,ur,Or]);const hn=ft?"markdown-image-lightbox":kt?"markdown-outline":De?"right-sidebar-repo-picker":Gn&&dn?"right-sidebar-file-preview":Ne?"settings":Gn&&!(Rs&&Mt)?"right-sidebar":ts&&!(An&&Mt)?"left-sidebar":null,Zr=S.useRef(hn),Pn=S.useRef(hn),Vi=S.useRef(!1),ws=S.useRef(!1),us=_.useCallback(()=>{if(typeof window>"u")return;const C=window.matchMedia("(hover: hover) and (pointer: fine)").matches;!Mt||!C||navigator.maxTouchPoints>0||window.setTimeout(()=>{window.dispatchEvent(new CustomEvent("focus-active-terminal-session"))},0)},[Mt]),yi=_.useCallback(C=>{if(C==="markdown-image-lightbox"){_t(!1),Qt(D=>D+1);return}if(C==="markdown-outline"){tr(!1),nt(D=>D+1);return}if(C==="right-sidebar-file-preview"){tr(!1),nt(D=>D+1),vs(!1),xe(D=>D+1);return}if(C==="right-sidebar-repo-picker"){At(!1),at(D=>D+1);return}if(C==="settings"){cn(!1),Ti(!1),ai(!1),rn(!1);return}if(C==="left-sidebar"){$t.getState().closeLeft();return}tr(!1),nt(D=>D+1),At(!1),at(D=>D+1),_t(!1),Qt(D=>D+1),$t.getState().closeRight()},[vs]),Gr=_.useCallback(C=>{if(!u&&typeof window<"u"&&Zr.current===C&&S0(window.history.state)===C){window.history.back();return}yi(C)},[yi,u]),qi=_.useCallback(()=>{cn(!1);const C=$t.getState();C.closeRight(),C.openLeft()},[]),Ns=_.useCallback(()=>{cn(!1);const C=$t.getState();C.closeLeft(),C.openRight()},[]),Ma=_.useCallback(()=>{cn(!1);const C=$t.getState();C.closeLeft(),C.openRight(),C.setRightTab("files"),C.openRightSearch()},[]),ro=_.useCallback(()=>{const C=$t.getState();if(C.leftPinned){C.setLeftPinned(!1),C.closeLeft();return}if(ts){Gr("left-sidebar");return}qi()},[qi,Gr,ts]),Na=_.useCallback(()=>{const C=$t.getState();C.leftPinned?(C.setLeftPinned(!1),C.openLeft()):(C.setLeftPinned(!0),C.openLeft())},[]),ia=_.useCallback(()=>{const C=$t.getState();C.setLeftPinned(!1),C.closeLeft()},[]),Po=_.useCallback(()=>{const C=$t.getState();C.rightPinned?(C.setRightPinned(!1),C.openRight()):(C.setRightPinned(!0),C.openRight())},[]),no=_.useCallback(()=>{const C=$t.getState();C.setRightPinned(!1),C.closeRight()},[]),Oo=_.useRef(0),oa=_.useRef(0),Ii=_.useRef(null),ki=_.useCallback(C=>{C.preventDefault(),Oo.current=C.clientX,oa.current=$t.getState().leftSidebarWidth;const D=Be=>{Ii.current===null&&(Ii.current=requestAnimationFrame(()=>{Ii.current=null;const tt=Be.clientX-Oo.current;$t.getState().setLeftSidebarWidth(oa.current+tt)}))},te=()=>{window.removeEventListener("mousemove",D),window.removeEventListener("mouseup",te),Ii.current!==null&&(cancelAnimationFrame(Ii.current),Ii.current=null),document.body.style.cursor="",document.body.style.userSelect=""};document.body.style.cursor="col-resize",document.body.style.userSelect="none",window.addEventListener("mousemove",D),window.addEventListener("mouseup",te)},[]),As=_.useRef(0),Ts=_.useRef(0),Ei=_.useRef(null),vi=_.useCallback(C=>{C.preventDefault(),As.current=C.clientX;const D=$t.getState(),te=D.leftPinned?D.leftSidebarWidth:0;Ts.current=Vu(D.rightSidebarWidth,window.innerWidth,te);const Be=Rt=>{Ei.current===null&&(Ei.current=requestAnimationFrame(()=>{Ei.current=null;const Yt=As.current-Rt.clientX,Kr=$t.getState(),sn=Kr.leftPinned?Kr.leftSidebarWidth:0;Kr.setRightSidebarWidth(Vu(Ts.current+Yt,window.innerWidth,sn))}))},tt=()=>{window.removeEventListener("mousemove",Be),window.removeEventListener("mouseup",tt),Ei.current!==null&&(cancelAnimationFrame(Ei.current),Ei.current=null),document.body.style.cursor="",document.body.style.userSelect=""};document.body.style.cursor="col-resize",document.body.style.userSelect="none",window.addEventListener("mousemove",Be),window.addEventListener("mouseup",tt)},[]),bo=_.useCallback(()=>{const C=$t.getState();if(C.rightPinned){C.setRightPinned(!1),C.closeRight();return}if(Gn){Gr("right-sidebar");return}Ns()},[Ns,Gr,Gn]),aa=_.useCallback(()=>{!dn&&!u&&typeof window<"u"&&Zr.current==="right-sidebar"&&S0(window.history.state)==="right-sidebar"&&(Rc("right-sidebar-file-preview"),Pn.current="right-sidebar-file-preview"),vs(!0)},[dn,u,vs]),Da=_.useCallback(()=>{Gr("right-sidebar-file-preview")},[Gr]),wi=_.useCallback(()=>{!De&&!u&&typeof window<"u"&&Zr.current==="right-sidebar"&&S0(window.history.state)==="right-sidebar"&&(Rc("right-sidebar-repo-picker"),Pn.current="right-sidebar-repo-picker"),At(!0)},[De,u]),yo=_.useCallback(()=>{Gr("right-sidebar-repo-picker")},[Gr]),tl=_.useCallback(()=>{!kt&&!u&&typeof window<"u"&&Zr.current&&S0(window.history.state)===Zr.current&&(Rc("markdown-outline"),Pn.current="markdown-outline"),tr(!0)},[kt,u]),la=_.useCallback(()=>{Gr("markdown-outline")},[Gr]),Ba=_.useCallback(()=>{!u&&typeof window<"u"&&Zr.current&&S0(window.history.state)===Zr.current&&(Rc("markdown-image-lightbox"),Pn.current="markdown-image-lightbox"),_t(!0)},[u]),Qa=_.useCallback(()=>{Gr("markdown-image-lightbox")},[Gr]),Ss=_.useCallback(()=>{!u&&typeof window<"u"&&Zr.current&&S0(window.history.state)===Zr.current&&(FB("settings"),Pn.current="settings"),$t.getState().closeAll(),cn(!0)},[u]),so=_.useCallback(()=>{Gr("settings")},[Gr]);_.useEffect(()=>{if(!Se)return;const C=()=>Ss();return window.addEventListener("termdock:open-settings",C),()=>window.removeEventListener("termdock:open-settings",C)},[Se,Ss]);const io=_.useCallback(()=>{vt(!0),j.current!==null&&(window.clearTimeout(j.current),j.current=null)},[]),ca=_.useCallback(()=>{j.current!==null&&(window.clearTimeout(j.current),j.current=null),vt(!1),ws.current=!0,Wu(),ws.current},[]);_.useEffect(()=>()=>{j.current!==null&&window.clearTimeout(j.current)},[]),_.useEffect(()=>{u||Wu()},[u]),_.useEffect(()=>{if(typeof window>"u"||u)return;let C=null;const D=()=>{C!==null&&(window.clearTimeout(C),C=null)},te=Kr=>{if(Zr.current,ws.current,Zr.current){Zr.current;return}!Kr?.force&&ws.current||(Kr?.userActivated&&(ws.current=!0),Wu(),ws.current,void 0)},Be=()=>{D(),C=window.setTimeout(()=>{C=null,te({force:!0})},v5)},tt=()=>{te({userActivated:!0})},Rt=()=>{Be()},Yt=()=>{document.visibilityState==="visible"&&Be()};return window.addEventListener("pointerdown",tt,{capture:!0,passive:!0}),window.addEventListener("touchstart",tt,{capture:!0,passive:!0}),window.addEventListener("keydown",tt,{capture:!0}),window.addEventListener("pageshow",Rt),document.addEventListener("visibilitychange",Yt),()=>{D(),window.removeEventListener("pointerdown",tt,{capture:!0}),window.removeEventListener("touchstart",tt,{capture:!0}),window.removeEventListener("keydown",tt,{capture:!0}),window.removeEventListener("pageshow",Rt),document.removeEventListener("visibilitychange",Yt)}},[u]),_.useEffect(()=>{Zr.current=hn},[hn]),_.useEffect(()=>{if(typeof window>"u"||hn||u)return;const C=window.setTimeout(()=>{Zr.current?(Zr.current,void 0):Wu()},v5);return()=>window.clearTimeout(C)},[hn,u]),_.useEffect(()=>{if(typeof window>"u"||u)return;const C=Pn.current;Vi.current,hn&&hn!==C&&!Vi.current&&Rc(hn),!hn&&C&&us(),Pn.current=hn,!hn&&Vi.current&&window.setTimeout(()=>{Vi.current=!1},0)},[hn,u,us]),_.useEffect(()=>{if(typeof window>"u"||u)return;const C=()=>{const D=Zr.current;if(ws.current,!D){ws.current=!1,ws.current,io(),F6();return}Vi.current=!0,yi(D)};return window.addEventListener("popstate",C),()=>window.removeEventListener("popstate",C)},[yi,io,u]),_.useEffect(()=>{const C=D=>{const te=D.metaKey||D.ctrlKey;if(te&&D.key==="b"&&!D.shiftKey&&(D.preventDefault(),ro()),te&&D.shiftKey&&D.key==="E"&&(D.preventDefault(),bo()),te&&D.shiftKey&&D.key==="P"&&(D.preventDefault(),Ma()),te&&!D.shiftKey&&D.altKey&&(D.key==="ArrowLeft"||D.key==="ArrowRight")){D.preventDefault();const Be=D.key==="ArrowRight"?"next":"prev";window.dispatchEvent(new CustomEvent("cycle-terminal-session",{detail:{direction:Be}}));return}if(te&&D.shiftKey&&!D.altKey&&(D.code==="BracketLeft"||D.code==="BracketRight")){D.preventDefault();const Be=D.code==="BracketRight"?"next":"prev";window.dispatchEvent(new CustomEvent("cycle-terminal-session",{detail:{direction:Be}}));return}};return document.addEventListener("keydown",C),()=>{document.removeEventListener("keydown",C)}},[ro,bo,Ma]);const Ai=_.useCallback(async()=>{fe(!0),be(null);try{const C=await ea({localAccess:{name:ve}});Le(C.localAccess),Ye(C.localAccess.name),On(kc,{preventSleep:C.preventSleep,networkAvailable:C.networkAvailable,localAccess:C.localAccess})}catch(C){be(C instanceof Error?C.message:"Failed to save local access name")}finally{fe(!1)}},[ve]),ns=_.useCallback(async()=>{fe(!0),be(null);try{const C=await ea({localAccess:{reset:!0}});Le(C.localAccess),Ye(C.localAccess.name),On(kc,{preventSleep:C.preventSleep,networkAvailable:C.networkAvailable,localAccess:C.localAccess})}catch(C){be(C instanceof Error?C.message:"Failed to reset local access name")}finally{fe(!1)}},[]),Ds=_.useCallback(async(C,D="url")=>{if(C)try{if(typeof navigator<"u"&&navigator.clipboard)await navigator.clipboard.writeText(C);else{const te=document.createElement("textarea");te.value=C,te.style.position="fixed",te.style.left="-9999px",document.body.appendChild(te),te.focus(),te.select(),document.execCommand("copy"),document.body.removeChild(te)}oe(D),window.setTimeout(()=>oe(te=>te===D?null:te),1600)}catch{oe(null)}},[]),Bs=_.useCallback(C=>{const D=$B(Re,C);D.map(te=>te.id).join("\0")!==Re.map(te=>te.id).join("\0")&&(Rr(D),window.dispatchEvent(new CustomEvent("reorder-terminal-session",{detail:{sessionIds:D.map(te=>te.id)}})))},[Re]),ua=_.useCallback(C=>{Mt||C.type!=="session"||($r.current=!1,Zn(!1),qn(C.draggableId))},[Mt]),rl=_.useCallback(C=>{if(Mt||C.type!=="session")return;const D=C.destination?.droppableId===gp;D!==$r.current&&($r.current=D,Zn(D),D&&navigator.vibrate?.(20))},[Mt]),da=_.useCallback(C=>{const D=_B(C,!Mt);if($r.current=!1,Zn(!1),qn(null),!D)return!1;const te=Re.find(tt=>tt.id===C.draggableId),Be=te?rr.get(te.id):null;return te&&L2({mode:te.mode,activeProgram:Be?.activeProgram??null,promptState:Be?.promptState??null,shellNames:uo})?(U(null),_n(te.id),Ce(null)):te&&window.dispatchEvent(new CustomEvent("close-terminal-session",{detail:{sessionId:te.id,source:"other",closeMode:te.mode==="tmux"?"destroy":"auto"}})),!0},[Mt,Re,rr]),ha=_.useCallback(C=>{if(da(C)||!C.destination||C.source.index===C.destination.index)return;const D=[...Re],[te]=D.splice(C.source.index,1);D.splice(C.destination.index,0,te),Bs(D.map(Be=>Be.id))},[Bs,da,Re]),ja=_.useCallback((C,D)=>{const te=D.trim();te&&window.dispatchEvent(new CustomEvent("rename-terminal-session",{detail:{sessionId:C,name:te}}))},[]),Cs=_.useCallback(C=>{window.dispatchEvent(new CustomEvent("reset-terminal-session-name",{detail:{sessionId:C}}))},[]),{newSessionMode:Un,newSessionTmuxName:Mn,userSelectedNewSessionMode:Qs,setNewSessionMode:ii}=QM(),[Gs,fa]=_.useState(null),[oi,Ti]=S.useState(!1),[xn,ai]=S.useState(!1),[Vs,re]=S.useState("idle"),Me=S.useRef(h0(Hu,RB)).current,[Ge,dt]=S.useState(()=>{const C=Me?.presets;if(C&&C.length>0){const D=R0(C);if(D.length>0)return D}return Vc()}),[_e,ht]=S.useState(!1),[cr,wr]=S.useState("default"),Dr=S.useRef(typeof Me?.updatedAt=="number"?Me.updatedAt:null),Ar=S.useRef(!1),[$n,rn]=S.useState(!1),[ds,_s]=S.useState(!1),Fo=S.useRef(h0(eo,EB)).current,[Nn,nn]=S.useState(Fo??[]),[r0,nl]=S.useState(Fo!==null),[n0,js]=S.useState(!1),L=!hn&&!xn&&!oi&&!$n&&!ds&&!ot&&!zr&&!Gs,Q=S.useCallback(C=>{const D=typeof C.version=="number"?C.version:0,te=MB(Array.isArray(C.presets)?C.presets:[],D);Dr.current=typeof C.updatedAt=="number"?C.updatedAt:null,dt(Be=>m8(Be,te)?Be:(Ar.current=!0,te)),On(Hu,{version:Dc,presets:te,updatedAt:Dr.current??void 0})},[]);_.useEffect(()=>{const C=D=>{if(D.key!=="Escape")return;if(xn){D.preventDefault(),ai(!1);return}if(oi){D.preventDefault(),Ti(!1);return}if($n){D.preventDefault(),rn(!1);return}if(ds){D.preventDefault(),_s(!1);return}if(ot){D.preventDefault(),st();return}if(ct){D.preventDefault(),We(null),Ft(null);return}if(Ne){D.preventDefault(),so();return}if(Gn&&!(Rs&&Mt)){D.preventDefault(),Gr("right-sidebar");return}ts&&!(An&&Mt)&&(D.preventDefault(),Gr("left-sidebar"))};return document.addEventListener("keydown",C),()=>document.removeEventListener("keydown",C)},[xn,oi,$n,ot,st,Ne,Gn,Rs,ts,An,Mt,so,Gr]),_.useEffect(()=>{nl(!0)},[]);const[P,H]=S.useState({genericProgramNames:[],wrapperScriptNames:[],shellNames:U6}),[,Ee]=S.useState(!1),we=S.useCallback(()=>K7().then(C=>{H(C),uo=new Set(C.shellNames),Ee(!0)}).catch(()=>{}),[]);_.useEffect(()=>{we()},[we]),_.useEffect(()=>Gf(C=>{if(C.type==="config-updated"){if(C.key==="toolbar-presets"){Z1().then(D=>Q(D)).catch(D=>{console.warn("[toolbar-presets] Failed to refresh after remote update:",D)});return}C.key==="program-detection"&&we()}}),[Q,we]),_.useEffect(()=>{let C=!1;return(async()=>{try{const D=await Z1();if(C)return;Q(D)}catch(D){console.warn("[toolbar-presets] Failed to load from server:",D)}finally{C||ht(!0)}})(),()=>{C=!0}},[Q]),_.useEffect(()=>{if(_e){if(Ar.current){Ar.current=!1;return}On(Hu,{version:Dc,presets:Ge,updatedAt:Dr.current??void 0}),X7({version:Dc,presets:Ge,baseUpdatedAt:Dr.current??void 0}).then(C=>{Dr.current=typeof C.updatedAt=="number"?C.updatedAt:null,On(Hu,{version:Dc,presets:Ge,updatedAt:Dr.current??void 0})}).catch(C=>{const D=C instanceof Error&&"current"in C?C.current:null;D&&typeof D=="object"&&Q(D),console.warn("[toolbar-presets] Failed to save to server:",C)})}},[Q,Ge,_e]),_.useEffect(()=>{bp().then(C=>{v(D=>D===C.preventSleep?D:C.preventSleep),k(D=>D===C.networkAvailable?D:C.networkAvailable),Le(C.localAccess),Ye(C.localAccess.name),cs(C.runningSessionButtonEnabled),On(Ec,C.runningSessionButtonEnabled),On(kc,{preventSleep:C.preventSleep,networkAvailable:C.networkAvailable,localAccess:C.localAccess})}).catch(()=>{})},[]),_.useEffect(()=>{if(!I)return;const C=yh();de(C),C!=="granted"&&(R(!1),wu(!1))},[I]),_.useEffect(()=>{if(!I)return;C0();const C=()=>{document.visibilityState==="visible"&&(C0(),F9())},D=window.setInterval(()=>{C0()},360*60*1e3);return document.addEventListener("visibilitychange",C),window.addEventListener("focus",C),()=>{window.clearInterval(D),document.removeEventListener("visibilitychange",C),window.removeEventListener("focus",C)}},[I]);const Ze=_.useCallback(async()=>{if(I){R(!1),wu(!1),O9(),de(yh());return}const C=await N9();if(de(C),C!=="granted"){R(!1),wu(!1);return}R(!0),wu(!0),await C0(!0,!0),re("idle")},[I]),ze=_.useCallback(async()=>{re("checking"),await xi()?.prepareNotificationTest?.();const C=await qu({title:"Termdock",body:e("settings.notificationsTestBody"),tag:"termdock-notification-test",requireHidden:!1,data:{url:"/"}});re(C?"delivered":"failed")},[e]),pt=_.useCallback(C=>{B(C),E9(C),vh()},[]),ar=_.useCallback(C=>{W(C),R9(C),vh()},[]),Yr=_.useCallback(C=>{q(C),M9(C),vh()},[]);_.useEffect(()=>{Ge.some(C=>C.id===cr)||wr(Ge[0]?.id??"default")},[cr,Ge]),_.useEffect(()=>{if(!qr.available&&Un==="tmux"){ii("shell",{userInitiated:!1});return}qr.available&&Qs!=="shell"&&Un!=="tmux"&&ii("tmux",{userInitiated:!1})},[Un,qr.available,Qs,ii]),_.useEffect(()=>{fa(null)},[Ne,Un,qr.available]),_.useEffect(()=>{const C={};typeof navigator<"u"&&(C.userAgent=navigator.userAgent,C.platform=navigator.platform,C.maxTouchPoints=navigator.maxTouchPoints,C.hasTouch=navigator.maxTouchPoints>0||"ontouchstart"in window,C.vendor=navigator.vendor),typeof window<"u"&&(C.screenWidth=window.innerWidth,C.screenHeight=window.innerHeight,C.pixelRatio=window.devicePixelRatio,C.orientation=window.screen?.orientation?.type||"unknown",C.hasVisualViewport=!!window.visualViewport,C.visualViewportHeight=window.visualViewport?.height,C.visualViewportWidth=window.visualViewport?.width,C.location=window.location.href),C.timestamp=new Date().toISOString(),C.isIOS=/iPad|iPhone|iPod/.test(navigator.userAgent)||navigator.platform==="MacIntel"&&navigator.maxTouchPoints>1,C.isAndroid=/Android/.test(navigator.userAgent),Oe(C)},[]);const{groups:Pr}=S.useMemo(()=>Q3(Re,C=>rr.get(C.id)?.cwd??null,Zt,e("sidebar.ungrouped")),[Re,rr,Zt,e]),fn=_.useCallback(C=>{if(da(C)||!C.destination)return;if(C.type==="group"){if(C.source.index===C.destination.index)return;Bs(B3(Pr,C.source.index,C.destination.index));return}if(C.source.droppableId!==C.destination.droppableId||C.source.index===C.destination.index)return;const D=C.source.droppableId.replace(/^group-sessions:/,"");Bs(RC(Pr,D,C.source.index,C.destination.index))},[Pr,Bs,da]),qt=S.useMemo(()=>Pr.length>0?Pr.flatMap(C=>C.sessions):Re,[Pr,Re]),Br=S.useMemo(()=>qt.flatMap(C=>{const D=rr.get(C.id);if(D?.agentStatus!=="working")return[];const{primary:te,secondary:Be}=Za(C,D?.activeProgram??null,D?.cwd??null,uo,D?.shellTitle??null,D?.promptState??null);return[{id:C.id,label:te,detail:Be}]}),[qt,rr]),zn=ut?qt.findIndex(C=>C.id===ut):-1,Ps=qt.length>0&&zn>=0?`${zn+1}/${qt.length}`:`${qt.length}`,hs=S.useMemo(()=>{let C=0;for(const D of Re){const te=rr.get(D.id);(te?.agentStatus==="waiting"||te?.agentNeedsReview)&&(C+=1)}return{running:Br.length,review:C}},[Br.length,Re,rr]),Ln=ut?Re.find(C=>C.id===ut)??null:null,vo=Ln?rr.get(Ln.id):void 0,Uo=!!(Ln&&vo?.agentResumeRecovered&&vo.agentNativeSessionId&&vo.terminalSessionId),Os=Ln&&mr?.sessionId===Ln.id?mr:null;S.useLayoutEffect(()=>{if(!Fr)return;const C=ye.current;if(!C)return;const D=!Xe.current;C.scrollIntoView({inline:"nearest",block:"nearest",behavior:D?"auto":"smooth"}),Xe.current=!0,D&&M0("active-tab-positioned")},[ut,Fr]),_.useEffect(()=>{$e&&X.current&&(X.current.scrollIntoView({block:"nearest",inline:"nearest"}),X.current.focus(),X.current.select()),$e||(ce.current=!1)},[$e]);const sl=_.useCallback(C=>{window.dispatchEvent(new CustomEvent("switch-terminal-session",{detail:C}))},[]),Pa=_.useCallback((C,D)=>{yr(D??null),br(C)},[]),Ll=h6(),$o=_.useCallback(C=>{if(!C)return;It(C),kr.current&&ho("info","PWA_NOTIFICATION_CLICK app-focus-request",{traceId:kr.current,requestedSessionId:C,activeSessionId:ut,sessions:Re.map(te=>({id:te.id,terminalSessionId:rr.get(te.id)?.terminalSessionId??null}))}),U9(C);const D=Re.find(te=>te.id===C||rr.get(te.id)?.terminalSessionId===C);D?(jr.current=null,kr.current&&ho("info","PWA_NOTIFICATION_CLICK app-focus-dispatch",{traceId:kr.current,requestedSessionId:C,targetSessionId:D.id}),window.dispatchEvent(new CustomEvent("switch-terminal-session",{detail:D.id}))):(jr.current=C,kr.current&&ho("info","PWA_NOTIFICATION_CLICK app-focus-pending",{traceId:kr.current,requestedSessionId:C}))},[ut,Re,rr]);_.useEffect(()=>{if(typeof window>"u"||typeof caches>"u")return;let C=!1;const D=async()=>{try{const Be=await caches.open(QB),tt=await Be.match(w5);if(!tt)return;await Be.delete(w5);const Rt=await tt.json();if(C)return;const Yt=typeof Rt.sessionId=="string"?Rt.sessionId:null,Kr=typeof Rt.traceId=="string"?Rt.traceId:null,sn=typeof Rt.clickedAt=="number"?Rt.clickedAt:0,bn=Date.now()-sn;ho("info","PWA_NOTIFICATION_CLICK app-cache-consumed",{traceId:Kr,sessionId:Yt,ageMs:bn,valid:!!(Yt&&bn>=0&&bn<=A5),visibilityState:document.visibilityState}),Yt&&bn>=0&&bn<=A5&&(kr.current=Kr,$o(Yt))}catch(Be){ho("warn","PWA_NOTIFICATION_CLICK app-cache-failed",{error:Be instanceof Error?Be.message:String(Be)})}finally{C||Sr(!0)}},te=()=>{document.visibilityState==="visible"&&D()};return D(),document.addEventListener("visibilitychange",te),window.addEventListener("pageshow",D),()=>{C=!0,document.removeEventListener("visibilitychange",te),window.removeEventListener("pageshow",D)}},[$o]),_.useEffect(()=>{if(typeof window>"u")return;const C=new URLSearchParams(window.location.search),D=C.get("session");if(!D)return;ho("info","PWA_NOTIFICATION_CLICK app-url-received",{traceId:kr.current,targetSessionId:D,href:window.location.href,visibilityState:document.visibilityState}),jr.current=D,C.delete("session"),C.delete("_notifTrace");const te=C.toString(),Be=`${window.location.pathname}${te?`?${te}`:""}${window.location.hash}`;window.history.replaceState(window.history.state,"",Be)},[]),_.useEffect(()=>{if(typeof window>"u")return;const C=new URLSearchParams(window.location.search);if(C.get("_notif")!=="1")return;const D=C.get("session");C.delete("_notif");const te=C.toString(),Be=`${window.location.pathname}${te?`?${te}`:""}${window.location.hash}`;window.history.replaceState(window.history.state,"",Be);const tt=new BroadcastChannel("termdock:notif");let Rt=!1;const Yt=sn=>{sn.data?.type==="termdock:notif-pong"&&!Rt&&(Rt=!0,tt.close(),window.close())};tt.addEventListener("message",Yt),tt.postMessage({type:"termdock:notif-ping",sessionId:D});const Kr=setTimeout(()=>{Rt||tt.close()},500);return()=>{clearTimeout(Kr),Rt||tt.close()}},[]),_.useEffect(()=>{if(typeof window>"u")return;const C=new BroadcastChannel("termdock:notif"),D=te=>{te.data?.type==="termdock:notif-ping"&&(C.postMessage({type:"termdock:notif-pong"}),typeof te.data.sessionId=="string"&&$o(te.data.sessionId))};return C.addEventListener("message",D),()=>C.close()},[$o]),_.useEffect(()=>{if(typeof navigator>"u"||!("serviceWorker"in navigator))return;const C=D=>{const te=D.data;te&&te.type==="termdock:focus-session"&&typeof te.sessionId=="string"?(D.ports[0]?.postMessage({type:"termdock:focus-session-ack"}),$o(te.sessionId)):te?.type==="termdock:push-subscription-changed"?C0(!0):te?.type};return navigator.serviceWorker.addEventListener("message",C),()=>navigator.serviceWorker.removeEventListener("message",C)},[$o]),_.useEffect(()=>{const C=D=>{const te=D.detail;typeof te=="string"&&$o(te)};return window.addEventListener("termdock:focus-session",C),()=>window.removeEventListener("termdock:focus-session",C)},[$o]),_.useEffect(()=>{const C=jr.current;if(!C)return;const D=Re.find(te=>te.id===C||rr.get(te.id)?.terminalSessionId===C);D?(jr.current=null,kr.current&&ho("info","PWA_NOTIFICATION_CLICK app-pending-dispatch",{traceId:kr.current,requestedSessionId:C,targetSessionId:D.id,activeSessionId:ut}),window.dispatchEvent(new CustomEvent("switch-terminal-session",{detail:D.id}))):kr.current&&ho("info","PWA_NOTIFICATION_CLICK app-pending-unmatched",{traceId:kr.current,requestedSessionId:C,activeSessionId:ut,sessions:Re.map(te=>({id:te.id,terminalSessionId:rr.get(te.id)?.terminalSessionId??null}))})},[ut,Re,rr]);const Zi=S.useMemo(()=>{const C=[];for(const D of Re){const te=rr.get(D.id);(te?.agentStatus==="waiting"||te?.agentNeedsReview)&&C.push(D.id)}return C},[Re,rr]),pa=_.useCallback(()=>{if(Zi.length===0)return;ut&&Er.getState().clearAgentNeedsReview(ut);const C=ut?Re.findIndex(te=>te.id===ut):-1,D=Zi.find(te=>Re.findIndex(Be=>Be.id===te)>C)??Zi[0];D&&window.dispatchEvent(new CustomEvent("switch-terminal-session",{detail:D}))},[Zi,Re,ut]),s0=_.useCallback(()=>{if(Zi.length===0)return;ut&&Er.getState().clearAgentNeedsReview(ut);const C=ut?Re.findIndex(te=>te.id===ut):Re.length,D=[...Zi].reverse().find(te=>Re.findIndex(Be=>Be.id===te)<C)??Zi[Zi.length-1];D&&window.dispatchEvent(new CustomEvent("switch-terminal-session",{detail:D}))},[Zi,Re,ut]);_.useEffect(()=>{const C=D=>{!D.altKey||!D.shiftKey||D.metaKey||D.ctrlKey||D.key!=="ArrowUp"&&D.key!=="ArrowDown"||(D.preventDefault(),D.key==="ArrowUp"?s0():pa())};return window.addEventListener("keydown",C),()=>window.removeEventListener("keydown",C)},[pa,s0]);const Xd=_.useCallback(async C=>{const te=Er.getState().sessions.get(C)?.cwd;if(te)try{await navigator.clipboard?.writeText(te),sr(te),window.setTimeout(()=>{sr(Be=>Be===te?null:Be)},1400)}catch{}},[]),Jd=_.useCallback(C=>{Rr(C.sessions),un(C.activeSessionId),ae(C.splitWorkspaces),Er.getState().setActiveSessionId(C.activeSessionId)},[]),eh=_.useCallback(()=>{wn(!0),window.requestAnimationFrame(()=>{window.dispatchEvent(new Event("termdock:initial-viewport-presented"))})},[]);_.useEffect(()=>{if(!yt||!ut)return;Re.find(D=>D.id===yt||rr.get(D.id)?.terminalSessionId===yt)?.id===ut&&It(null)},[ut,yt,Re,rr]);const zo=_.useCallback(C=>{const D=C?.mode??Un,te=D==="tmux"&&(C?.tmuxSessionName?.trim()||Mn.trim())||void 0,Be=C?.cwd||(ut?Er.getState().sessions.get(ut)?.cwd:void 0);window.dispatchEvent(new CustomEvent("new-terminal-session",{detail:{mode:D,tmuxSessionName:te,cwd:Be,command:C?.command}}))},[Un,Mn,ut]),ma=_.useCallback(async()=>{Wi(!0);try{const C=await _f();if(ls(C),!C.available){ys([]);return}const D=await Lf();ys(D)}catch{ls({available:!1,version:null,reason:"tmux integration is unavailable with the current server build."}),ys([])}finally{Wi(!1)}},[]),th=_.useCallback(async C=>{He(C),Ce(null);try{const{cleanedSessions:D}=await E5(C);for(const te of D)window.dispatchEvent(new CustomEvent("close-terminal-session-by-backend",{detail:te}));V(null),await ma()}catch(D){Ce(D instanceof Error?D.message:"Failed to kill tmux session")}finally{He(null)}},[ma]);_.useEffect(()=>{if(!Ve)return;if(En.find(te=>te.name===Ve&&(te.connected||te.boundFrontendSessionId))){it(null);return}const D=setTimeout(()=>it(null),1e4);return()=>clearTimeout(D)},[Ve,En]);const Il=_.useCallback(C=>{window.dispatchEvent(new CustomEvent("close-terminal-session",{detail:C}))},[]),lu=_.useCallback(C=>{const D=C??ut;D&&window.dispatchEvent(new CustomEvent("open-terminal-split-chooser",{detail:D}))},[ut]),Si=_.useCallback((C,D)=>{window.dispatchEvent(new CustomEvent("set-terminal-split-direction",{detail:{sessionId:C,layout:D}}))},[]),i0=_.useCallback((C,D)=>{window.dispatchEvent(new CustomEvent("reorder-terminal-split-workspace",{detail:{workspaceId:C,sessionIds:D}}))},[]),cu=_.useCallback((C,D)=>{window.dispatchEvent(new CustomEvent("rename-terminal-split-workspace",{detail:{workspaceId:C,name:D}}))},[]),K0=_.useCallback((C,D)=>{window.dispatchEvent(new CustomEvent("combine-terminal-split-sessions",{detail:{primaryId:C,secondaryId:D}}))},[]),kl=_.useCallback((C,D)=>{const te=Re.find(tt=>tt.id===C);if(!te)return;const Be=rr.get(C);if(!L2({mode:te.mode,activeProgram:Be?.activeProgram??null,promptState:Be?.promptState??null,shellNames:uo})){Il({sessionId:C,source:"sidebar",closeMode:te.mode==="tmux"?"destroy":"auto"});return}U(D?{x:D.clientX,y:D.clientY}:null),_n(C),Ce(null)},[Re,rr,Il]);_.useEffect(()=>{if(!Se)return;const C=D=>{const te=D.detail;te==="new-session"?zo():te==="close-session"?ut&&kl(ut):te==="previous-session"||te==="next-session"?window.dispatchEvent(new CustomEvent("cycle-terminal-session",{detail:{direction:te==="next-session"?"next":"prev"}})):te==="toggle-left-sidebar"?ro():te==="toggle-right-sidebar"?bo():te==="previous-attention"?s0():te==="next-attention"&&pa()};return window.addEventListener("termdock:native-command",C),()=>window.removeEventListener("termdock:native-command",C)},[ut,Se,zo,kl,ro,bo,pa,s0]);const il=S.useMemo(()=>Re.find(C=>C.id===zr)??null,[Re,zr]),rh=S.useMemo(()=>{if(!il)return"";const C=rr.get(il.id);return Za(il,C?.activeProgram??null,C?.cwd??null,uo,C?.shellTitle??null,C?.promptState??null).primary},[il,rr]);_.useEffect(()=>{if(!Ne)return;let C=!1,D=!1;const te=async()=>{if(!D)try{const tt=await _f();if(C||ls(tt),!tt.available){C||ys([]);return}const Rt=await Lf();C||ys(Rt)}catch{D=!0,C||(ls({available:!1,version:null,reason:"tmux integration is unavailable with the current server build."}),ys([]))}};te();const Be=setInterval(()=>{te()},4e3);return()=>{C=!0,clearInterval(Be)}},[Ne]);const uu=Gs??Un,X0=uu==="shell",J0=uu==="tmux"&&qr.available,nh=S.useMemo(()=>Bp(En.map(C=>({...C,id:C.name})),C=>C.cwd??null,e("sidebar.ungrouped")),[En,e]),du=S.useMemo(()=>En.filter(C=>C.recoveryCandidate===!0&&!C.connected&&!C.boundFrontendSessionId).sort((C,D)=>(D.lastActiveAt??D.createdAt??0)-(C.lastActiveAt??C.createdAt??0)),[En]);_.useEffect(()=>{!ts&&!(An&&Mt)||ma()},[ts,An,Mt,Re.length,ma]);const ec=(C,D,te,Be=!1)=>{const tt=C.id===ut,Rt=C.id===$e,Yt=rr.get(C.id),{primary:Kr,secondary:sn}=Za(C,Yt?.activeProgram??null,Yt?.cwd??null,uo,Yt?.shellTitle??null,Yt?.promptState??null),bn=ka(Yt?.cwd??null),wo=D?sn??(bn&&bn!==Kr?bn:null):null,yn=Yt?.gitStatus,Mi=`${Yt?.cwd||C.name}${yn?`
150
+ ⎇ ${yn.branch} +${yn.added} −${yn.removed}`:""}`,Ho=!!(Yt?.tuiProgress&&Yt.tuiProgress.state!=="remove"),Wo=Yt?.agentStatus==="working"||Ho?"var(--success)":Yt?.agentStatus==="waiting"||Yt?.agentNeedsReview?"var(--warning)":Yt?.inCopyMode?"var(--tmux)":null;if(Rt&&Mt&&!ct){const oo=C.customName?C.name:Kr,li=(ps,Go)=>{const Ua=Go.trim();Ua?Ua!==oo&&ja(ps,Ua):Cs(ps),We(null)};return c.jsx("input",{ref:ps=>{X.current=ps},type:"text",defaultValue:oo,className:"h-8 shrink-0 rounded-md bg-surface-elevated px-2 text-[12px] leading-none text-foreground outline-none ring-1 ring-primary/50 sm:h-8 min-w-[5rem]",style:{width:`${Math.max(oo.length,5)}ch`},onKeyDown:ps=>{ps.key==="Enter"?li(C.id,ps.target.value):ps.key==="Escape"&&We(null)},onBlur:ps=>li(C.id,ps.target.value)})}return c.jsx("div",{ref:tt?ye:null,onContextMenu:oo=>{oo.preventDefault(),yr({x:oo.clientX,y:oo.clientY}),br(C.id)},...Ll(()=>Pa(C.id)),className:Be?`group relative inline-flex h-5 shrink-0 items-center rounded-sm text-[11px] leading-none transition ${tt?"bg-surface-elevated text-foreground shadow-sm":"text-muted-foreground hover:bg-surface-elevated/40 hover:text-foreground"}`:`group relative inline-flex h-8 shrink-0 items-center rounded-md text-[12px] leading-none transition sm:h-8 ${tt?"bg-surface-elevated text-foreground shadow-sm":"text-muted-foreground hover:bg-surface-elevated/50 hover:text-foreground"}`,style:!Be&&tt&&Wo?{boxShadow:`inset 2px 0 0 0 ${Wo}`}:!Be&&tt?{boxShadow:"inset 2px 0 0 0 rgb(var(--primary-rgb, 99 102 241))"}:void 0,title:Mi,children:c.jsx("button",{type:"button",...te??{},onClick:()=>sl(C.id),className:`inline-flex min-w-0 flex-1 items-center gap-1 overflow-hidden text-left ${Be?"px-1":"py-1 pl-1 pr-1.5 sm:pl-1.5 sm:pr-2"} ${te?"cursor-grab active:cursor-grabbing":""}`,title:Mi,children:c.jsxs("span",{className:"inline-flex min-w-0 items-center gap-1 overflow-hidden",children:[c.jsxs("span",{className:"inline-flex shrink-0 items-center",children:[S5(C.mode,Yt),Yt?.agentResumeRecovered&&c.jsx(I0,{size:Be?9:10,className:"-ml-0.5 shrink-0 text-[color:var(--warning)]","aria-label":e("tab.resumeAgentAvailable")}),Ho&&!Yt?.agentStatus&&c.jsx(Xr,{size:Be?9:10,className:"-ml-0.5 shrink-0 animate-spin text-[color:var(--success)]"})]}),wo?c.jsxs("span",{className:"flex min-w-0 flex-col justify-center leading-[0.82rem] sm:leading-[0.85rem]",children:[c.jsx("span",{className:`whitespace-nowrap text-[11px] sm:text-[12px] ${Yt?.inCopyMode?"text-[color:var(--tmux)]":""}`,children:Kr}),c.jsx("span",{className:"truncate text-[9px] text-muted-foreground/80 sm:text-[9.5px]",children:wo})]}):c.jsx("span",{className:`whitespace-nowrap text-[11px] sm:text-[12px] ${Yt?.inCopyMode?"text-[color:var(--tmux)]":""}`,children:Kr})]})})})},o0=()=>c.jsx(Xa,{droppableId:gp,type:"session",isDropDisabled:Mt,children:(C,D)=>{const te=en||D.isDraggingOver;return c.jsxs("div",{ref:C.innerRef,...C.droppableProps,className:"pointer-events-none fixed left-1/2 top-[42%] z-toast flex h-32 w-32 -translate-x-1/2 -translate-y-1/2 items-center justify-center",role:"status","aria-live":"polite","aria-hidden":!or,"data-mobile-session-destroy-target":"","data-active":te?"true":"false",children:[c.jsxs("div",{className:`flex h-28 w-28 flex-col items-center justify-center gap-2 rounded-full border bg-surface-elevated/95 shadow-2xl backdrop-blur transition duration-200 ${or?te?"scale-110 border-destructive bg-destructive text-destructive-foreground opacity-100":"scale-100 border-destructive/50 text-destructive opacity-100":"scale-75 border-transparent opacity-0"}`,children:[c.jsx(to,{size:28,strokeWidth:1.8}),c.jsx("span",{className:"px-2 text-center text-[11px] font-semibold leading-tight",children:e(te?"tab.releaseToClose":"tab.dragToClose")})]}),C.placeholder]})}}),Ri=An&&Mt,Oa=Rs&&Mt,Fa=Vu(Tn,dr,Ri?gn:0),a0=Oa?Fa+j5:0,ga=Ri?Re.find(C=>C.id===ut):null,fs=ga?rr.get(ga.id):void 0,sh=ga?Za(ga,fs?.activeProgram??null,fs?.cwd??null,uo,fs?.shellTitle??null,fs?.promptState??null).primary:"",ih=Ri&&fs?fs.agentStatus==="working"?"bg-gradient-to-r from-[rgb(var(--success-rgb)_/_0.08)] to-transparent":fs.agentStatus==="waiting"?"bg-gradient-to-r from-[rgb(var(--warning-rgb)_/_0.14)] to-transparent":fs.agentNeedsReview?"bg-gradient-to-r from-[rgb(var(--warning-rgb)_/_0.08)] to-transparent":fs.inCopyMode?"bg-gradient-to-r from-[rgb(var(--tmux-rgb)_/_0.07)] to-transparent":"":"",hu=c.jsxs("div",{className:"w-full h-full flex flex-col app-chrome-bg text-foreground",children:[c.jsx("main",{className:"relative min-h-0 flex-1 overflow-visible px-0 pb-0 pt-0",children:c.jsxs("div",{className:"flex h-full w-full min-h-0 flex-col overflow-visible app-chrome-bg",children:[c.jsxs("div",{className:`shrink-0 items-center gap-1 app-chrome-bg px-1 sm:px-1.5 transition-colors duration-500 ${Ri?"relative flex justify-end":"flex justify-between"} ${Zt?"h-10 sm:h-10":"h-9 sm:h-10"} ${ih}`,style:{marginRight:a0||void 0},children:[!Ri&&c.jsxs("button",{type:"button",onClick:ro,className:"relative inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-md bg-surface-2 text-muted-foreground ring-1 ring-border/10 transition hover:bg-surface-elevated hover:text-foreground sm:h-8 sm:w-8","aria-label":e("tab.sessionsTitle"),title:`${e("tab.sessionsTitle")} · ${e("agent.aiRunning")}: ${hs.running} · ${e("agent.needsReview")}: ${hs.review}`,children:[c.jsx(Lv,{size:14}),c.jsx(vD,{runningCount:hs.running,reviewCount:hs.review,className:"sm:hidden"})]}),Ri?c.jsx("div",{className:"absolute left-1/2 flex max-w-[40%] min-w-0 -translate-x-1/2 items-center justify-center gap-1.5 overflow-hidden",children:ga?c.jsxs(c.Fragment,{children:[S5(ga.mode,fs),c.jsx("span",{className:`truncate text-[12px] font-medium ${fs?.inCopyMode?"text-[color:var(--tmux)]":"text-foreground"}`,children:sh}),fs?.agentStatus==="working"&&c.jsx("span",{title:fs?.agentMessage??void 0,children:c.jsx(Xr,{size:12,className:"shrink-0 animate-spin text-[color:var(--success)]"})}),fs?.agentStatus==="waiting"&&c.jsx("span",{title:fs?.agentMessage??void 0,children:c.jsx(id,{size:12,className:"shrink-0 animate-bounce-y text-[color:var(--warning)]"})}),!fs?.agentStatus&&fs?.agentNeedsReview&&c.jsx("span",{title:fs?.agentMessage??void 0,children:c.jsx(Cl,{size:13,className:"shrink-0 animate-pulse text-[color:var(--warning)]"})})]}):c.jsx("span",{className:"truncate px-2 text-[12px] text-muted-foreground",children:e("sidebar.sessions")})}):Zt?c.jsxs(Ad,{onDragStart:ua,onDragUpdate:rl,onDragEnd:fn,children:[o0(),c.jsx(Xa,{droppableId:"groups",type:"group",direction:"horizontal",children:C=>c.jsxs("div",{ref:C.innerRef,...C.droppableProps,className:"scrollbar-hidden flex h-full min-w-0 flex-1 items-center gap-1 overflow-x-auto overflow-y-hidden whitespace-nowrap px-0.5 py-0.5",style:{touchAction:"pan-x"},children:[Pr.map((D,te)=>{let Be=0,tt=0;for(const sn of D.sessions){const bn=rr.get(sn.id);bn?.agentStatus==="working"&&(Be+=1),(bn?.agentStatus==="waiting"||bn?.agentNeedsReview)&&(tt+=1)}const Rt=D.sessions.some(sn=>sn.id===ut),Yt=Tr.has(D.key),Kr=D.key==="";return c.jsx(Ka,{draggableId:`group-${D.key||"__ungrouped__"}`,index:te,isDragDisabled:Kr,disableInteractiveElementBlocking:!0,children:(sn,bn)=>c.jsxs("div",{ref:sn.innerRef,...sn.draggableProps,className:`flex w-fit shrink-0 flex-col justify-center gap-px rounded-md py-0.5 px-1 ring-1 transition-colors ${bn.isDragging?"bg-surface-elevated ring-primary/30 shadow-lg opacity-90":Rt?"bg-primary/[0.06] ring-primary/20":"bg-surface-2/40 ring-border/10"}`,children:[c.jsxs("button",{type:"button",...Kr?{}:sn.dragHandleProps,onClick:()=>Sn(D.key),className:`flex ${Yt?"":D.sessions.length>1?"w-0 min-w-full":""} items-center gap-0.5 rounded text-[9px] font-semibold uppercase tracking-[0.08em] leading-none transition hover:bg-surface-elevated/40 ${Kr?"":"cursor-grab active:cursor-grabbing"} ${Rt?"text-primary/80":"text-muted-foreground/55"}`,title:D.key||D.label,children:[c.jsx(kd,{size:9,className:`shrink-0 opacity-70 transition-transform ${Yt?"":"rotate-90"}`}),c.jsx("span",{className:"min-w-0 truncate",children:D.label}),Be>0&&c.jsx("span",{className:"ml-auto h-1.5 w-1.5 shrink-0 rounded-full bg-[var(--success)]"}),tt>0&&c.jsx("span",{className:`h-1.5 w-1.5 shrink-0 rounded-full bg-[var(--warning)] ${Be>0?"":"ml-auto"}`})]}),Yt?c.jsx("span",{className:"flex h-5 items-center text-[10px] leading-none text-muted-foreground/50",children:e("tab.sessionCount",{count:D.sessions.length})}):c.jsx(Xa,{droppableId:`group-sessions:${D.key}`,type:"session",direction:"horizontal",children:wo=>c.jsxs("div",{ref:wo.innerRef,...wo.droppableProps,className:"flex items-center gap-px",children:[D.sessions.map((yn,Mi)=>c.jsx(Ka,{draggableId:yn.id,index:Mi,disableInteractiveElementBlocking:!0,children:(Ho,Wo)=>c.jsx("div",{ref:Ho.innerRef,...Ho.draggableProps,className:`flex shrink-0 items-center ${Wo.isDragging?"opacity-70":""}`,children:ec(yn,!1,Ho.dragHandleProps,!0)})},yn.id)),wo.placeholder]})})]})},D.key||"__ungrouped__")}),C.placeholder,c.jsx("button",{type:"button",onClick:()=>zo(),className:"my-auto inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-lg bg-surface-2 text-muted-foreground ring-1 ring-border/10 transition hover:bg-primary/15 hover:text-primary active:scale-95","aria-label":e("tab.new"),title:e("tab.new"),children:c.jsx(Hi,{size:14})})]})})]}):c.jsxs(Ad,{onDragStart:ua,onDragUpdate:rl,onDragEnd:ha,children:[o0(),c.jsx(Xa,{droppableId:"tabs",type:"session",direction:"horizontal",children:C=>c.jsxs("div",{ref:C.innerRef,...C.droppableProps,className:"scrollbar-hidden flex h-full min-w-0 flex-1 items-center gap-1 overflow-x-auto overflow-y-hidden whitespace-nowrap",style:{touchAction:"pan-x"},children:[Re.map((D,te)=>D.id===$e?c.jsx(S.Fragment,{children:c.jsx(Ka,{draggableId:D.id,index:te,isDragDisabled:!0,children:tt=>c.jsx("div",{ref:tt.innerRef,...tt.draggableProps,className:"flex h-full items-center",children:ec(D,!0)})})},D.id):c.jsx(S.Fragment,{children:c.jsx(Ka,{draggableId:D.id,index:te,disableInteractiveElementBlocking:!0,children:(tt,Rt)=>c.jsx("div",{ref:tt.innerRef,...tt.draggableProps,className:`flex h-full shrink-0 items-center ${Rt.isDragging?"opacity-70":""}`,children:ec(D,!0,tt.dragHandleProps)})})},D.id)),c.jsx("button",{type:"button",onClick:()=>zo(),className:"ml-1 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-md bg-surface-2 text-muted-foreground ring-1 ring-border/10 transition hover:bg-primary/15 hover:text-primary active:scale-95","aria-label":e("tab.new"),title:e("tab.new"),children:c.jsx(Hi,{size:14})}),C.placeholder]})})]}),c.jsxs("div",{className:"flex shrink-0 items-center gap-1.5",children:[T9(Se)&&c.jsx(CB,{bridge:Se,runningCount:hs.running,reviewCount:hs.review,labels:{switchService:e("desktopServices.switchService"),openServices:e("desktopServices.openServices"),current:e("agent.currentSession"),running:e("agent.aiRunning"),review:e("agent.needsReview"),idle:e("desktopServices.idle"),manageServices:e("desktopServices.manageServices")}}),!Ri&&hs.running>0&&c.jsx("span",{className:"hidden items-center gap-1 sm:inline-flex",children:c.jsx(k6,{count:hs.running,tone:"running",title:e("agent.aiRunning")})}),!Ri&&Re.length>0&&c.jsx("span",{className:"inline-flex shrink-0 items-center px-1 text-[10px] uppercase tracking-[0.16em] text-muted-foreground sm:text-[11px]",title:`Session ${zn+1} of ${Re.length}`,children:Ps}),!Oa&&c.jsx("button",{type:"button",onClick:bo,className:"inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-md bg-surface-2 text-muted-foreground ring-1 ring-border/10 transition hover:bg-surface-elevated hover:text-foreground sm:h-8 sm:w-8","aria-label":e("tab.explorerTitle"),title:e("tab.explorerTitle"),children:c.jsx(kv,{size:14})})]})]}),Uo&&Ln&&vo?.terminalSessionId&&c.jsxs("div",{className:"flex shrink-0 items-center gap-2 border-b border-border/15 bg-surface/80 px-3 py-2 animate-fade-in sm:px-4",style:{marginRight:a0||void 0},role:"status","data-testid":"agent-resume-recovery-banner",children:[c.jsx("span",{className:"inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full bg-[rgb(var(--warning-rgb)_/_0.14)] text-[color:var(--warning)]",children:!Os?.error&&(Os?.status==="submitting"||Os?.status==="waiting")?c.jsx(Xr,{size:14,className:"animate-spin"}):c.jsx(I0,{size:14})}),c.jsxs("div",{className:"min-w-0 flex-1",children:[c.jsx("div",{className:"truncate text-[12px] font-medium text-foreground",children:e("tab.resumeAgentRecoveredTitle",{agent:vo.agent?.displayName??"Agent"})}),c.jsx("div",{className:`truncate text-[10px] sm:text-[11px] ${Os?.error?"text-destructive":"text-muted-foreground"}`,children:Os?.error??(Os?.status==="submitting"?e("tab.resumeAgentSubmitting"):Os?.status==="waiting"?e("tab.resumeAgentWaiting"):e("tab.resumeAgentRecoveredHint"))})]}),c.jsx("button",{type:"button",disabled:!Os?.error&&(Os?.status==="submitting"||Os?.status==="waiting"),onClick:()=>{es(Ln.id,vo.terminalSessionId)},className:"shrink-0 rounded-full bg-primary px-3 py-1.5 text-[11px] font-semibold text-primary-foreground transition hover:opacity-90 active:scale-95 disabled:cursor-wait disabled:opacity-60 sm:text-[12px]",children:Os?.error?e("common.retry"):e("tab.resumeAgentNow")}),c.jsx("button",{type:"button",onClick:()=>{Er.getState().setAgentResumeRecovered(Ln.id,!1),Mr(C=>C?.sessionId===Ln.id?null:C)},className:"inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full text-muted-foreground transition hover:bg-surface-2 hover:text-foreground","aria-label":e("tab.resumeAgentLater"),title:e("tab.resumeAgentLater"),children:c.jsx($s,{size:13})})]}),c.jsx("div",{ref:Rn,className:"min-h-0 flex-1 flex overflow-hidden app-chrome-bg",children:c.jsx("div",{className:"min-h-0 flex-1 overflow-hidden",children:c.jsx(fL,{terminalSettings:Et,colorTheme:p,toolbarPresets:Ge,showDebug:l,terminalFocusAvailable:L,defaultSessionMode:Un,defaultTmuxSessionName:Mn,connectionPrioritySessionId:yt,connectionPriorityReady:Fr,desktopPinnedRightSidebar:Oa,desktopPinnedRightSidebarWidth:Fa,desktopPinnedLeftSidebarWidth:Ri?gn:0,desktopViewportWidth:dr,onSessionDataUpdate:Jd,onInitialViewportReady:eh})})})]})}),c.jsx(CD,{reviewCount:hs.review,runningSessions:Br,activeSessionId:ut,runningButtonEnabled:Xn,isDesktopLayout:Mt,containerElement:Ws,occlusionInsets:{right:a0}}),Ne&&c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button",className:"fixed inset-0 z-drawer-backdrop bg-[var(--app-backdrop)] backdrop-blur-sm animate-fade-in cursor-default",onClick:so,"aria-label":e("settings.closeSettings")}),c.jsx("div",{role:"dialog","aria-modal":"true","aria-labelledby":"settings-dialog-title",className:"pointer-events-none fixed inset-0 z-drawer-panel flex items-stretch justify-center p-0 animate-fade-in sm:p-4 md:p-6",children:c.jsxs("div",{className:"pointer-events-auto flex h-full w-full max-w-5xl flex-col overflow-hidden bg-surface shadow-[0_28px_90px_var(--app-shadow-strong),0_14px_34px_var(--app-shadow-soft)] sm:max-h-[calc(100dvh-3rem)] sm:rounded-3xl sm:border sm:border-border/15",style:{paddingTop:s,paddingBottom:i},children:[c.jsxs("div",{className:"flex shrink-0 items-center justify-between gap-3 border-b border-border/15 px-4 py-3 sm:px-6 sm:py-4",children:[c.jsxs("div",{className:"min-w-0 flex items-center gap-2",children:[c.jsx("span",{className:"inline-flex h-8 w-8 items-center justify-center rounded-full bg-primary/15 text-primary sm:h-9 sm:w-9",children:c.jsx(Gv,{size:15})}),c.jsx("h2",{id:"settings-dialog-title",className:"text-[15px] font-semibold text-foreground sm:text-[16px]",children:e("settings.title")})]}),c.jsx("button",{type:"button",onClick:so,className:"inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-surface-2 text-muted-foreground transition hover:bg-destructive/20 hover:text-destructive","aria-label":e("common.close"),children:c.jsx($s,{size:16})})]}),c.jsxs("div",{className:"min-h-0 flex-1 overflow-y-auto bg-background/25 px-3 py-3 sm:px-6 sm:py-5 md:px-8",children:[c.jsxs("div",{className:"space-y-2",children:[c.jsxs("div",{className:"flex items-center gap-2 rounded-xl bg-surface-2 px-2.5 py-2",children:[c.jsx("span",{className:"text-[12px] font-medium text-foreground/90 w-14 shrink-0",children:e("settings.font")}),c.jsx("button",{type:"button",onClick:()=>Qe({fontSize:Math.max(8,et-1)}),className:"h-8 w-8 shrink-0 rounded-md bg-surface text-muted-foreground transition hover:bg-surface-elevated hover:text-foreground active:scale-95",children:"−"}),c.jsx("input",{type:"range",min:"8",max:"32",value:et,onChange:C=>Qe({fontSize:parseInt(C.target.value,10)}),className:"min-w-0 flex-1","aria-label":e("settings.font")}),c.jsx("button",{type:"button",onClick:()=>Qe({fontSize:Math.min(32,et+1)}),className:"h-8 w-8 shrink-0 rounded-md bg-surface text-muted-foreground transition hover:bg-surface-elevated hover:text-foreground active:scale-95",children:"+"}),c.jsxs("span",{className:"w-8 shrink-0 text-right text-[11px] tabular-nums text-muted-foreground",children:[et,"px"]})]}),c.jsx("div",{className:"space-y-1.5 rounded-xl bg-surface-2 px-2.5 py-2",children:c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("span",{className:"text-[12px] font-medium text-foreground/90 w-14 shrink-0",children:e("settings.render")}),c.jsx("div",{className:"flex flex-1 items-center gap-1 rounded-md bg-surface p-0.5",children:["auto","webgl","canvas"].map(C=>{const D=lr===C;return c.jsx("button",{type:"button",onClick:()=>Qe({rendererMode:C}),className:`flex-1 rounded px-2 py-1 text-[11px] font-medium transition ${D?"bg-primary/20 text-primary":"text-muted-foreground hover:bg-surface-elevated"}`,children:e(C==="auto"?"settings.auto":C==="webgl"?"settings.webgl":"settings.canvas")},C)})})]})}),c.jsx("div",{className:"space-y-1.5 rounded-xl bg-surface-2 px-2.5 py-2",children:c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("span",{className:"text-[12px] font-medium text-foreground/90 w-14 shrink-0",children:e("settings.theme")}),c.jsx("div",{className:"flex flex-1 items-center gap-1 rounded-md bg-surface p-0.5",children:[["dark",Tv,e("settings.darkTheme")],["light",Yv,e("settings.lightTheme")]].map(([C,D,te])=>{const Be=p===C;return c.jsxs("button",{type:"button",onClick:()=>g(C),className:`flex flex-1 items-center justify-center gap-1 rounded px-2 py-1 text-[11px] font-medium transition ${Be?"bg-primary/20 text-primary":"text-muted-foreground hover:bg-surface-elevated"}`,children:[c.jsx(D,{size:12}),c.jsx("span",{children:te})]},C)})})]})}),c.jsxs("div",{className:"flex items-center gap-2 rounded-xl bg-surface-2 px-2.5 py-2",children:[c.jsx("span",{className:"text-[12px] font-medium text-foreground/90 w-14 shrink-0",children:e("settings.newTab")}),c.jsx("div",{className:"flex flex-1 items-center gap-1 rounded-md bg-surface p-0.5",children:["shell","tmux"].map(C=>{const D=Un===C,te=C==="tmux"&&!qr.available;return c.jsx("button",{type:"button",disabled:te,onClick:()=>ii(C,{userInitiated:!0}),className:`flex-1 rounded px-2 py-1 text-[11px] font-medium transition ${D?"bg-primary/20 text-primary":te?"cursor-not-allowed text-muted-foreground/40":"text-muted-foreground hover:bg-surface-elevated"}`,title:te?qr.reason||e("settings.installTmuxHint"):void 0,children:e(C==="shell"?"settings.shell":"settings.tmux")},C)})})]}),c.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[c.jsxs("button",{type:"button",onClick:()=>h(!l),className:`flex items-center justify-between rounded-xl px-3 py-2 text-[12px] transition ${l?"bg-primary/15 text-primary":"bg-surface-2 text-foreground hover:bg-surface-elevated"}`,children:[c.jsx("span",{className:"font-medium",children:e("settings.debug")}),c.jsx(Ya,{checked:l,size:"sm"})]}),c.jsxs("button",{type:"button",onClick:async()=>{const C=!b;v(C);try{const D=await ea({preventSleep:C});v(D.preventSleep),k(D.networkAvailable),Le(D.localAccess),On(kc,{preventSleep:D.preventSleep,networkAvailable:D.networkAvailable,localAccess:D.localAccess})}catch{v(!C)}},className:`flex items-center justify-between rounded-xl px-3 py-2 text-[12px] transition ${b?"bg-[rgb(var(--success-rgb)_/_0.15)] text-[color:var(--success)]":"bg-surface-2 text-foreground hover:bg-surface-elevated"}`,title:!A&&b?e("settings.noSleepUnavailable"):void 0,children:[c.jsx("span",{className:"font-medium truncate",children:e("settings.noSleep")}),c.jsx(Ya,{checked:b,size:"sm"})]})]})]}),c.jsxs("button",{type:"button",onClick:()=>ai(!0),className:"mt-3 flex w-full items-center justify-between gap-2 rounded-xl bg-surface-2 px-3 py-2.5 text-left text-[13px] transition hover:bg-surface-elevated",children:[c.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[c.jsx(I8,{size:14,className:I?"shrink-0 text-primary":"shrink-0 text-muted-foreground"}),c.jsxs("span",{className:"min-w-0",children:[c.jsx("span",{className:"block font-medium text-foreground",children:e("settings.notifications")}),c.jsx("span",{className:"block truncate text-[10px] text-muted-foreground",children:e(I?M&&F?"settings.notificationsBothOnSummary":M?"settings.notificationsAiOnSummary":F?"settings.notificationsExitOnSummary":"settings.notificationsNoEventsSummary":"settings.notificationsOffSummary")})]})]}),c.jsxs("span",{className:"flex shrink-0 items-center gap-1.5 text-[11px] text-muted-foreground",children:[c.jsx("span",{children:e(I?"common.on":"common.off")}),c.jsx("span",{children:"›"})]})]}),c.jsxs("details",{className:"mt-3 rounded-xl bg-surface-2 px-3 py-3",open:!1,children:[c.jsxs("summary",{className:"flex cursor-pointer items-start justify-between gap-2 list-none",children:[c.jsxs("div",{children:[c.jsx("div",{className:"text-[12px] font-medium text-foreground/90",children:e("settings.localAccess")}),c.jsx("div",{className:"mt-0.5 text-[10px] text-muted-foreground",children:e("settings.localAccessHint")})]}),c.jsx("span",{className:`rounded-full px-2 py-0.5 text-[10px] ${Ae.status==="active"?"bg-primary/15 text-primary":"bg-surface text-muted-foreground"}`,children:Ae.status})]}),c.jsxs("div",{className:"mt-3 flex items-center overflow-hidden rounded-lg bg-surface ring-1 ring-border/10 focus-within:ring-primary/40",children:[c.jsx("input",{value:ve,onChange:C=>Ye(C.target.value.toLowerCase()),className:"min-w-0 flex-1 bg-transparent px-2.5 py-2 text-[12px] text-foreground outline-none",placeholder:"jovn",spellCheck:!1}),c.jsx("span",{className:"shrink-0 border-l border-border/10 px-2.5 py-2 text-[11px] text-muted-foreground",children:".termdock.local"})]}),c.jsxs("div",{className:"mt-2 flex flex-wrap gap-2",children:[c.jsx("button",{type:"button",disabled:Te,onClick:()=>{Ai()},className:"rounded-full bg-primary/15 px-3 py-1.5 text-[11px] font-medium text-primary transition hover:bg-primary/25 disabled:opacity-50",children:e(Te?"settings.saving":"common.save")}),c.jsx("button",{type:"button",disabled:Te,onClick:()=>{ns()},className:"rounded-full bg-surface px-3 py-1.5 text-[11px] font-medium text-muted-foreground transition hover:bg-surface-elevated disabled:opacity-50",children:e("settings.resetAutoName")})]}),c.jsxs("div",{className:"mt-3 space-y-1.5 text-[11px]",children:[Ae.url&&c.jsxs("button",{type:"button",onClick:()=>{Ds(Ae.url,"lan")},className:"flex w-full items-center justify-between gap-2 rounded-lg bg-surface px-2.5 py-2 text-left text-muted-foreground transition hover:bg-surface-elevated",children:[c.jsxs("span",{className:"min-w-0 truncate",children:["Branded: ",Ae.url]}),c.jsx("span",{className:"shrink-0 rounded-full bg-primary/10 px-2 py-0.5 text-[10px] font-medium",children:ie==="lan"?"Copied":e("common.copy")})]}),Ae.interfaces.length>0&&c.jsxs("details",{className:"rounded-lg bg-surface px-2.5 py-2 text-muted-foreground",open:!1,children:[c.jsx("summary",{className:"cursor-pointer text-[11px] font-medium text-foreground/80",children:"IP fallback addresses"}),c.jsx("div",{className:"mt-2 grid grid-cols-1 gap-2 sm:grid-cols-2",children:Ae.interfaces.map(C=>{const D=C.url??`${Ae.httpsEnabled?"https":"http"}://${C.address}:9834`;return c.jsxs("div",{className:"rounded-lg bg-surface-2 p-2",children:[c.jsxs("div",{className:"text-[11px] font-medium text-foreground/85",children:[C.label," (",C.name,")"]}),c.jsx("div",{className:"mt-0.5 text-[10px] text-muted-foreground",children:C.address}),C.qrDataUrl&&c.jsx("div",{className:"mt-2 inline-block rounded-lg bg-[var(--background)] p-1.5",children:c.jsx("img",{src:C.qrDataUrl,alt:`QR code for ${D}`,className:"h-28 w-28"})}),c.jsxs("button",{type:"button",onClick:()=>{Ds(D,`ip-${C.address}`)},className:"mt-2 flex w-full items-center justify-between gap-2 rounded-md bg-surface px-2 py-1.5 text-left text-[11px] transition hover:bg-surface-elevated",children:[c.jsx("span",{className:"min-w-0 truncate",children:D}),c.jsx("span",{className:"shrink-0 text-[10px]",children:ie===`ip-${C.address}`?"Copied":e("common.copy")})]})]},`${C.name}-${C.address}`)})})]}),Ae.onboardingUrl&&c.jsxs("button",{type:"button",onClick:()=>{Ds(Ae.onboardingUrl,"setup")},className:"flex w-full items-center justify-between gap-2 rounded-lg bg-surface px-2.5 py-2 text-left text-muted-foreground transition hover:bg-surface-elevated",children:[c.jsxs("span",{className:"min-w-0 truncate",children:[e("settings.onboardingUrl"),": ",Ae.onboardingUrl]}),c.jsx("span",{className:"shrink-0 rounded-full bg-surface-2 px-2 py-0.5 text-[10px] font-medium",children:ie==="setup"?"Copied":e("common.copy")})]}),c.jsxs("div",{className:"text-muted-foreground",children:[Ae.httpsEnabled?e("settings.httpsActive"):e("settings.httpsInactive"),!Ae.caAvailable&&` · ${e("settings.caMissing")}`]}),Ae.reason&&c.jsx("div",{className:"text-[color:var(--warning)]",children:Ae.reason}),je&&c.jsx("div",{className:"text-destructive",children:je})]})]}),c.jsx(SB,{state:Ie,pending:qe,onCheck:()=>{Qn()},onConfirmRestart:()=>{Jt()},desktopState:Lt?Z:void 0,desktopPending:gt,onCheckDesktop:()=>{xs()},onInstallDesktop:()=>{xo()}}),Se&&c.jsxs("div",{className:"mt-3 overflow-hidden rounded-xl bg-surface-2",children:[c.jsxs("div",{className:"flex items-start justify-between gap-3 border-b border-border/10 px-3 py-3",children:[c.jsxs("div",{className:"flex min-w-0 items-start gap-2.5",children:[c.jsx("span",{className:"mt-0.5 inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-primary/15 text-primary",children:c.jsx(v8,{size:15})}),c.jsxs("div",{className:"min-w-0",children:[c.jsx("div",{className:"text-[12px] font-medium text-foreground",children:e("settings.desktopTitle")}),c.jsx("div",{className:"mt-0.5 truncate text-[10px] text-muted-foreground",children:Dt?`App ${Dt.appVersion} · CLI ${Dt.bundledCliVersion}`:e("settings.desktopStatusLoading")})]})]}),c.jsx("span",{className:"shrink-0 rounded-full bg-primary/10 px-2 py-0.5 text-[10px] font-medium text-primary",children:"macOS"})]}),c.jsxs("div",{className:"grid grid-cols-1 gap-px bg-border/10 sm:grid-cols-3",children:[c.jsxs("button",{type:"button",onClick:()=>{Se.showConnectionCenter()},className:"flex items-center gap-2 bg-surface-2 px-3 py-2.5 text-left text-[11px] text-muted-foreground transition hover:bg-surface-elevated hover:text-foreground",children:[c.jsx(N8,{size:13,className:"shrink-0 text-primary"}),e("settings.desktopSwitchService")]}),c.jsxs("button",{type:"button",onClick:()=>{Fe(null),Se.installCli().then(C=>{Ue(C),Fe(e("settings.desktopCliUpdated"))}).catch(C=>Fe(C instanceof Error?C.message:String(C)))},className:"flex items-center gap-2 bg-surface-2 px-3 py-2.5 text-left text-[11px] text-muted-foreground transition hover:bg-surface-elevated hover:text-foreground",children:[c.jsx(na,{size:13,className:"shrink-0 text-primary"}),e("settings.desktopInstallCli")]}),c.jsxs("button",{type:"button",onClick:()=>{Fe(null),Se.revealDataDirectory().catch(C=>Fe(C instanceof Error?C.message:String(C)))},className:"flex items-center gap-2 bg-surface-2 px-3 py-2.5 text-left text-[11px] text-muted-foreground transition hover:bg-surface-elevated hover:text-foreground",children:[c.jsx(N0,{size:13,className:"shrink-0 text-primary"}),e("settings.desktopOpenDataDirectory")]})]}),K&&c.jsx("div",{className:"border-t border-border/10 px-3 py-2 text-[10px] text-muted-foreground",children:K})]}),c.jsxs("div",{className:"mt-3 flex gap-2",children:[c.jsxs("button",{type:"button",onClick:()=>{fa(null),zo({mode:"shell"}),so()},className:`flex min-w-0 items-center justify-center gap-1.5 rounded-xl text-[13px] font-semibold transition active:scale-[0.98] ${X0?"flex-[2.7] bg-primary px-3 py-2.5 text-primary-foreground ring-1 ring-primary/40 shadow-md shadow-primary/25 hover:bg-primary/90":"flex-[0.78] bg-surface-2 px-2 py-2 text-muted-foreground hover:bg-surface-elevated hover:text-foreground"}`,title:e(Gs==="shell"?"sidebar.confirmNewShell":"settings.shell"),children:[c.jsx(Hi,{size:14,className:X0?"shrink-0":"hidden"}),c.jsx(na,{size:12}),c.jsx("span",{className:X0?"whitespace-nowrap":"hidden",children:e(Gs==="shell"?"sidebar.confirmNewShell":"settings.shell")})]}),c.jsxs("button",{type:"button",disabled:!qr.available,onClick:()=>{qr.available&&(fa(null),zo({mode:"tmux"}),so())},className:`flex min-w-0 items-center justify-center gap-1.5 rounded-xl text-[13px] font-semibold transition active:scale-[0.98] ${qr.available?J0?"flex-[2.7] bg-primary px-3 py-2.5 text-primary-foreground ring-1 ring-primary/40 shadow-md shadow-primary/25 hover:bg-primary/90":"flex-[0.78] bg-surface-2 px-2 py-2 text-muted-foreground hover:bg-surface-elevated hover:text-foreground":"flex-1 bg-surface-2/50 text-muted-foreground/50 cursor-not-allowed"}`,title:qr.available?e(Gs==="tmux"?"sidebar.confirmNewTmux":"settings.tmux"):qr.reason||e("settings.installTmuxHint"),children:[c.jsx(Hi,{size:14,className:J0?"shrink-0":"hidden"}),c.jsx(O0,{size:12}),c.jsx("span",{className:J0?"whitespace-nowrap":"hidden",children:e(Gs==="tmux"?"sidebar.confirmNewTmux":"settings.tmux")})]})]}),(qr.available||En.length>0)&&c.jsxs("details",{className:"mt-3 group rounded-xl bg-surface-2 [&[open]]:bg-surface-2",children:[c.jsxs("summary",{className:"flex cursor-pointer items-center justify-between rounded-xl px-3 py-2.5 text-[13px] hover:bg-surface-elevated",children:[c.jsxs("span",{className:"flex items-center gap-2",children:[c.jsx("span",{className:`inline-flex h-2 w-2 rounded-full ${qr.available?"bg-primary":"bg-destructive"}`}),c.jsx("span",{className:"font-medium",children:e("settings.tmuxServer")}),c.jsx("span",{className:"text-[11px] text-muted-foreground",children:qr.available?e("settings.sessions",{n:En.length}):e("settings.tmuxUnavailable")})]}),c.jsx("button",{type:"button",onClick:C=>{C.preventDefault(),ma()},disabled:Vn,className:"inline-flex h-7 w-7 items-center justify-center rounded-full text-muted-foreground transition hover:bg-surface-elevated hover:text-foreground disabled:opacity-50","aria-label":e("settings.refresh"),children:c.jsx(gs,{size:12,className:Vn?"animate-spin":""})})]}),c.jsx("div",{className:"px-2 pb-2",children:qr.available?En.length===0?c.jsx("p",{className:"px-2 py-1.5 text-[11px] text-muted-foreground",children:e("settings.noTmuxSessions")}):c.jsxs("div",{className:"space-y-2",children:[nh.map(C=>c.jsxs("div",{className:"space-y-1",children:[c.jsxs("div",{className:"flex min-w-0 items-center gap-2 px-1.5 py-1 text-[10px] text-muted-foreground",children:[c.jsx(j0,{size:11,className:"shrink-0 text-muted-foreground/70"}),c.jsx("span",{className:"shrink-0 font-medium text-foreground/75",children:C.label}),c.jsx("span",{className:"shrink-0 text-muted-foreground/70",children:e("settings.sessions",{n:C.sessions.length})}),C.key&&c.jsx("span",{className:"min-w-0 truncate text-muted-foreground/60",children:C.key})]}),C.sessions.map(D=>{const te=D.boundFrontendSessionId??null,Be=!!(D.connected||te),tt=te?Re.find(li=>li.id===te)??null:null,Rt=D.friendlyName?.trim()||null,Yt=D.label&&D.label!==D.name?D.label:null,Kr=Rt||Yt||D.name,sn=Rt||Yt?`tmux:${D.name}`:null,bn=D.clientCount&&D.clientCount>0?t==="zh"?`网页连接 ${D.clientCount}`:`Web clients ${D.clientCount}`:null,wo=D.attached>0?t==="zh"?`原生 tmux ${D.attached}`:`Native tmux ${D.attached}`:null,yn=[sn,Be?D.restorable?e("settings.restorable"):e("settings.attached"):null,bn,wo].filter(li=>!!li),Mi=[e("settings.windows",{n:D.windows}),D.createdAt?new Date(D.createdAt).toLocaleDateString():null].filter(li=>!!li),Ho=Ms===D.name,Wo=ue===D.name,oo=Ve===D.name;return c.jsxs("div",{className:`flex items-start gap-2 rounded-lg px-2.5 py-2 ${Ho?"bg-destructive/10 ring-1 ring-destructive/40":"bg-surface"}`,children:[c.jsx(O0,{size:13,className:Be?"mt-0.5 shrink-0 text-primary":"mt-0.5 shrink-0 text-muted-foreground"}),c.jsxs("div",{className:"min-w-0 flex-1 space-y-1",children:[c.jsxs("div",{className:"flex min-w-0 items-center gap-1.5",children:[c.jsx("div",{className:"truncate text-[12px] font-semibold text-foreground",children:Kr}),D.friendlyName&&c.jsx("span",{className:"shrink-0 rounded-full bg-primary/10 px-1.5 py-0.5 text-[9px] font-medium text-primary",children:t==="zh"?"自定义":"custom"})]}),yn.length>0&&c.jsx("div",{className:"flex min-w-0 flex-wrap gap-x-2 gap-y-0.5 text-[10px] text-muted-foreground",children:yn.map(li=>c.jsx("span",{className:"max-w-full truncate",children:li},li))}),(D.program||D.cwd)&&c.jsxs("div",{className:"grid min-w-0 gap-0.5 text-[10px] text-muted-foreground",children:[D.program&&c.jsxs("div",{className:"flex min-w-0 items-center gap-1",children:[c.jsx(fv,{size:10,className:"shrink-0 text-muted-foreground/70"}),c.jsx("span",{className:"truncate text-foreground/75",children:D.program})]}),D.cwd&&c.jsxs("div",{className:"flex min-w-0 items-center gap-1",children:[c.jsx(j0,{size:10,className:"shrink-0 text-muted-foreground/70"}),c.jsx("span",{className:"truncate",children:D.cwd})]})]}),c.jsx("div",{className:"flex min-w-0 flex-wrap gap-x-2 gap-y-0.5 text-[10px] text-muted-foreground/80",children:Mi.map(li=>c.jsxs("span",{className:"inline-flex items-center gap-1",children:[c.jsx(G8,{size:10,className:"shrink-0 text-muted-foreground/60"}),li]},li))})]}),Ho?c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button",disabled:Wo,onClick:()=>{th(D.name)},className:"shrink-0 rounded-full bg-destructive/90 px-2.5 py-1 text-[11px] font-medium text-destructive-foreground transition hover:bg-destructive disabled:opacity-50",children:Wo?"…":e("settings.destroy")}),c.jsx("button",{type:"button",disabled:Wo,onClick:()=>{V(null),Ce(null)},className:"shrink-0 rounded-full bg-surface-2 px-2.5 py-1 text-[11px] font-medium text-foreground transition hover:bg-surface-elevated",children:e("common.cancel")})]}):c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button",onClick:()=>{tt?sl(tt.id):(it(D.name),zo({mode:"tmux",tmuxSessionName:D.name}))},disabled:oo,className:`shrink-0 inline-flex items-center gap-1 rounded-full px-2.5 py-1 text-[11px] font-medium transition disabled:opacity-50 ${Be?"bg-surface text-foreground hover:bg-surface-elevated":oo?"bg-primary/10 text-primary":"bg-primary/15 text-primary hover:bg-primary/25"}`,children:oo?c.jsxs(c.Fragment,{children:[c.jsx(Xr,{size:10,className:"animate-spin"}),e("settings.attaching")]}):e(Be?"settings.attached":"settings.attach")}),c.jsx("button",{type:"button",disabled:Wo,onClick:()=>{Ce(null),V(D.name)},className:"shrink-0 inline-flex h-7 w-7 items-center justify-center rounded-full text-muted-foreground transition hover:bg-destructive/15 hover:text-destructive","aria-label":`Kill tmux session ${D.name}`,children:c.jsx(to,{size:12})})]})]},D.name)})]},C.key||"__ungrouped_tmux__")),ge&&c.jsx("p",{className:"px-2 text-[11px] text-destructive",children:ge})]}):c.jsx("p",{className:"px-2 py-1.5 text-[11px] text-muted-foreground",children:qr.reason||e("settings.installTmuxHint")})})]}),c.jsxs("button",{type:"button",onClick:()=>Ti(!0),className:"mt-2 flex w-full items-center justify-between gap-2 rounded-xl bg-surface-2 px-3 py-2.5 text-left text-[13px] transition hover:bg-surface-elevated",children:[c.jsxs("span",{className:"flex items-center gap-2",children:[c.jsx(gv,{size:14,className:"text-muted-foreground"}),c.jsx("span",{className:"font-medium text-foreground",children:e("settings.keyboardToolbar")})]}),c.jsxs("span",{className:"flex items-center gap-1.5 text-[11px] text-muted-foreground",children:[c.jsx("span",{children:e("settings.sessions",{n:Ge.length})}),c.jsx("span",{children:"›"})]})]}),c.jsxs("button",{type:"button",onClick:()=>rn(!0),className:"mt-2 flex w-full items-center justify-between gap-2 rounded-xl bg-surface-2 px-3 py-2.5 text-left text-[13px] transition hover:bg-surface-elevated",children:[c.jsxs("span",{className:"flex items-center gap-2",children:[c.jsx(Ed,{size:14,className:"text-muted-foreground"}),c.jsx("span",{className:"font-medium text-foreground",children:e("settings.aiAgentDetection")})]}),c.jsxs("span",{className:"flex items-center gap-1.5 text-[11px] text-muted-foreground",children:[c.jsx("span",{children:"hooks"}),c.jsx("span",{children:"›"})]})]}),c.jsxs("div",{className:"mt-3 flex items-center gap-2 rounded-xl bg-surface-2 px-2.5 py-2",children:[c.jsx("span",{className:"text-[12px] font-medium text-foreground/90 w-14 shrink-0",children:e("settings.language")}),c.jsx("div",{className:"flex flex-1 items-center gap-1 rounded-md bg-surface p-0.5",children:[{code:"en",label:"English"},{code:"zh",label:"中文"}].map(C=>{const D=t===C.code;return c.jsx("button",{type:"button",onClick:()=>r(C.code),className:`flex-1 rounded px-2 py-1 text-[11px] font-medium transition ${D?"bg-primary/20 text-primary":"text-muted-foreground hover:bg-surface-elevated"}`,children:C.label},C.code)})})]}),c.jsxs("button",{type:"button",onClick:async()=>{try{await J7()}catch{}window.dispatchEvent(new CustomEvent("auth:unauthorized"))},className:"mt-3 flex w-full items-center justify-center gap-2 rounded-xl bg-destructive/10 px-3 py-2.5 text-[13px] font-medium text-destructive transition hover:bg-destructive/20 active:scale-[0.98]",children:[c.jsx(r9,{size:14}),e("settings.signOut")]})]})]})})]}),il&&c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button",className:"fixed inset-0 z-menu-backdrop bg-[var(--app-backdrop-soft)] backdrop-blur-sm cursor-default animate-fade-in",onClick:()=>{_n(null),U(null),Ce(null)},"aria-label":e("common.close")}),c.jsxs("div",{className:`fixed z-menu-panel rounded-2xl bg-surface-elevated border border-border/15 shadow-[0_18px_48px_var(--app-shadow-soft)] animate-fade-in ${jn&&Mt?"":"inset-x-3 bottom-6 mx-auto max-w-sm sm:bottom-auto sm:top-[15%]"}`,style:jn&&Mt?{...y5(jn),paddingBottom:i}:{paddingBottom:i},children:[c.jsxs("div",{className:"border-b border-border/15 px-4 py-3",children:[c.jsx("div",{className:"text-[11px] uppercase tracking-[0.14em] text-muted-foreground",children:e("tab.closeChooserTitle")}),c.jsx("div",{className:"mt-0.5 truncate text-[14px] font-medium text-foreground",children:rh}),c.jsx("div",{className:"mt-0.5 text-[11px] text-muted-foreground/80",children:e("tab.closeChooserDescription")})]}),c.jsxs("div",{className:"flex flex-col py-1",children:[c.jsxs("button",{type:"button",onClick:()=>{Il({sessionId:il.id,source:"sidebar",closeMode:"destroy"}),_n(null),U(null)},className:"flex items-center gap-3 px-4 py-3 text-left text-[13px] text-destructive transition hover:bg-destructive/10",children:[c.jsx("span",{className:"inline-flex h-7 w-7 items-center justify-center rounded-full bg-destructive/15 text-destructive",children:c.jsx(to,{size:14})}),c.jsxs("span",{className:"min-w-0 flex-1",children:[c.jsx("span",{className:"block font-medium",children:e("tab.confirmDestroySession")}),c.jsx("span",{className:"block text-[11px] text-muted-foreground",children:e("tab.destroySessionHint")})]})]}),ge&&c.jsx("p",{className:"px-4 py-2 text-[11px] text-destructive",children:ge})]}),c.jsx("div",{className:"border-t border-border/15 px-3 py-2",children:c.jsx("button",{type:"button",onClick:()=>{_n(null),U(null),Ce(null)},className:"w-full rounded-full bg-surface-2 px-3 py-2 text-[12px] font-medium text-muted-foreground transition hover:bg-surface hover:text-foreground",children:e("common.cancel")})})]})]}),ot&&(()=>{const C=Re.find(bn=>bn.id===ot);if(!C)return null;const D=rr.get(C.id),{primary:te}=Za(C,D?.activeProgram??null,D?.cwd??null,uo),Be=Mt,tt=Be?y5(bt):{paddingBottom:i},Rt=Be?"fixed z-menu-panel overflow-y-auto overflow-x-hidden rounded-lg bg-surface-elevated border border-border/15 shadow-[0_18px_48px_var(--app-shadow-soft)] animate-fade-in":"fixed inset-x-3 bottom-6 z-menu-panel mx-auto max-w-sm rounded-2xl bg-surface-elevated border border-border/15 shadow-[0_18px_48px_var(--app-shadow-soft)] animate-fade-in sm:bottom-auto sm:top-[15%]",Yt=Be?"border-b border-border/15 px-3 py-2":"border-b border-border/15 px-4 py-3",Kr=Be?"flex items-center gap-2 px-3 py-2 text-left text-[12px] transition":"flex items-center gap-3 px-4 py-3 text-left text-[13px] transition",sn=Be?"inline-flex h-6 w-6 items-center justify-center rounded-md":"inline-flex h-7 w-7 items-center justify-center rounded-full";return c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button",className:`fixed inset-0 z-menu-backdrop cursor-default animate-fade-in ${Be?"bg-transparent":"bg-[var(--app-backdrop-soft)] backdrop-blur-sm"}`,onClick:st,"aria-label":"Close menu"}),c.jsxs("div",{className:Rt,style:tt,children:[c.jsxs("div",{className:Yt,children:[c.jsx("div",{className:"text-[11px] uppercase tracking-[0.14em] text-muted-foreground",children:e("tab.session")}),c.jsx("div",{className:"mt-0.5 truncate text-[14px] font-medium text-foreground",children:te}),D?.cwd&&c.jsx("div",{className:"mt-0.5 truncate text-[11px] text-muted-foreground/80",children:D.cwd})]}),c.jsxs("div",{className:"flex flex-col py-1",children:[c.jsxs("button",{type:"button",onClick:()=>{const bn=bt;st(),Ft(bn),We(C.id)},className:`${Kr} text-foreground hover:bg-surface-2`,children:[c.jsx("span",{className:`${sn} bg-primary/15 text-primary`,children:c.jsx(Nv,{size:14})}),c.jsxs("span",{className:"min-w-0 flex-1",children:[c.jsx("span",{className:"block font-medium",children:e("tab.rename")}),c.jsx("span",{className:"block text-[11px] text-muted-foreground",children:e("tab.renameHint")})]})]}),c.jsxs("button",{type:"button",disabled:!D?.cwd,onClick:()=>{Xd(C.id),st()},className:`${Kr} ${D?.cwd?"text-foreground hover:bg-surface-2":"text-muted-foreground/50 cursor-not-allowed"}`,children:[c.jsx("span",{className:`${sn} bg-surface-2 text-muted-foreground`,children:c.jsx(bv,{size:14})}),c.jsxs("span",{className:"min-w-0 flex-1",children:[c.jsx("span",{className:"block font-medium",children:e("tab.copyCwd")}),c.jsx("span",{className:"block text-[11px] text-muted-foreground",children:e("tab.copyCwdHint")})]}),gr&&gr===D?.cwd&&c.jsx("span",{className:"ml-auto text-[11px] text-primary",children:e("tab.copied")})]}),D?.agentNativeSessionId&&D.agentStatus!=="working"&&D.agentStatus!=="waiting"&&D.terminalSessionId&&c.jsxs("button",{type:"button",onClick:()=>{const bn=D.terminalSessionId;bn&&(st(),es(C.id,bn))},className:`${Kr} text-foreground hover:bg-surface-2`,children:[c.jsx("span",{className:`${sn} bg-[rgb(var(--success-rgb)_/_0.14)] text-[color:var(--success)]`,children:c.jsx(I0,{size:14})}),c.jsxs("span",{className:"min-w-0 flex-1",children:[c.jsxs("span",{className:"block font-medium",children:[e("tab.resumeAgent"),D.agent?.displayName?` · ${D.agent.displayName}`:""]}),c.jsx("span",{className:"block text-[11px] text-muted-foreground",children:e("tab.resumeAgentHint")})]})]}),c.jsx("div",{className:"my-1 border-t border-border/15"}),C.mode==="tmux"?c.jsxs("button",{type:"button",onClick:()=>{st(),kl(C.id)},className:`${Kr} text-destructive hover:bg-destructive/10`,children:[c.jsx("span",{className:`${sn} bg-destructive/15 text-destructive`,children:c.jsx(to,{size:14})}),c.jsxs("span",{className:"min-w-0 flex-1",children:[c.jsx("span",{className:"block font-medium",children:e("tab.destroySession")}),c.jsx("span",{className:"block text-[11px] text-muted-foreground",children:e("tab.destroySessionHint")})]})]}):c.jsxs("button",{type:"button",onClick:()=>{st(),Il({sessionId:C.id,source:"tab-menu",closeMode:"auto"})},className:`${Kr} text-destructive hover:bg-destructive/10`,children:[c.jsx("span",{className:`${sn} bg-destructive/15 text-destructive`,children:c.jsx($s,{size:14})}),c.jsxs("span",{className:"min-w-0 flex-1",children:[c.jsx("span",{className:"block font-medium",children:e("tab.close")}),c.jsx("span",{className:"block text-[11px] text-muted-foreground",children:e("tab.closeHint")})]})]}),!Be&&c.jsx("button",{type:"button",className:"flex items-center justify-center px-4 py-2 text-[11px] text-muted-foreground/80 transition hover:text-foreground",onClick:()=>{st()},children:e("tab.longPressTip")})]}),!Be&&c.jsx("div",{className:"border-t border-border/15 px-3 py-2",children:c.jsx("button",{type:"button",onClick:st,className:"w-full rounded-full bg-surface-2 px-3 py-2 text-[12px] font-medium text-muted-foreground transition hover:bg-surface hover:text-foreground",children:e("common.cancel")})})]})]})})(),$e&&ct&&Mt&&(()=>{const C=Re.find(yn=>yn.id===$e);if(!C)return null;const D=rr.get(C.id),{primary:te}=Za(C,D?.activeProgram??null,D?.cwd??null,uo,D?.shellTitle??null,D?.promptState??null),Be=C.customName?C.name:te,tt=yn=>{const Mi=yn.trim();Mi?Mi!==Be&&ja(C.id,Mi):Cs(C.id),We(null),Ft(null)},Rt=300,Yt=160,Kr=ct.x,sn=ct.y,bn=Math.min(Math.max(Kr-Rt/2,12),window.innerWidth-Rt-12),wo=sn+Yt+20>window.innerHeight?Math.max(sn-Yt-12,12):sn+12;return c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button",className:"fixed inset-0 z-menu-backdrop cursor-default animate-fade-in bg-transparent",onClick:()=>{We(null),Ft(null)},"aria-label":e("common.cancel")}),c.jsxs("div",{role:"dialog","aria-modal":"true","aria-label":e("tab.rename"),className:"fixed z-menu-panel w-[300px] rounded-xl bg-surface-elevated border border-border/15 shadow-[0_12px_36px_var(--app-shadow-soft)] animate-fade-in",style:{left:`${bn}px`,top:`${wo}px`},children:[c.jsxs("div",{className:"border-b border-border/15 px-3 py-2.5",children:[c.jsx("div",{className:"text-[11px] uppercase tracking-[0.14em] text-muted-foreground",children:e("tab.rename")}),c.jsx("div",{className:"mt-0.5 truncate text-[13px] font-medium text-foreground",children:te}),D?.cwd&&c.jsx("div",{className:"mt-0.5 truncate text-[11px] text-muted-foreground/70",children:D.cwd})]}),c.jsxs("form",{className:"px-3 py-2.5",onSubmit:yn=>{yn.preventDefault();const Mi=new FormData(yn.currentTarget).get("session-name");tt(typeof Mi=="string"?Mi:"")},children:[c.jsx("input",{ref:yn=>{X.current=yn,yn&&!ce.current&&(ce.current=!0,yn.focus({preventScroll:!0}),yn.select())},type:"text",name:"session-name",defaultValue:Be,placeholder:e("tab.renamePlaceholder"),autoComplete:"off",autoCapitalize:"off",autoCorrect:"off",spellCheck:!1,className:"w-full rounded-lg bg-surface-2 px-3 py-2 text-[13px] leading-snug text-foreground outline-none ring-1 ring-primary/40 placeholder:text-muted-foreground/60 focus:ring-primary/70",onKeyDown:yn=>{yn.key==="Escape"&&(yn.stopPropagation(),We(null),Ft(null))}}),c.jsxs("div",{className:"mt-2.5 flex gap-2",children:[c.jsx("button",{type:"button",onClick:()=>{We(null),Ft(null)},className:"flex-1 rounded-full bg-surface-2 px-3 py-1.5 text-[12px] font-medium text-muted-foreground transition hover:bg-surface hover:text-foreground",children:e("common.cancel")}),c.jsx("button",{type:"submit",className:"flex-1 rounded-full bg-primary px-3 py-1.5 text-[12px] font-semibold text-primary-foreground transition hover:bg-primary/90 active:scale-[0.97]",children:e("common.save")})]})]})]})]})})(),$e&&!Mt&&(()=>{const C=Re.find(Rt=>Rt.id===$e);if(!C)return null;const D=rr.get(C.id),{primary:te}=Za(C,D?.activeProgram??null,D?.cwd??null,uo,D?.shellTitle??null,D?.promptState??null),Be=C.customName?C.name:te,tt=Rt=>{const Yt=Rt.trim();Yt?Yt!==Be&&ja(C.id,Yt):Cs(C.id),We(null)};return c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button",className:"fixed inset-0 z-menu-backdrop cursor-default animate-fade-in bg-[var(--app-backdrop-soft)] backdrop-blur-sm",onClick:()=>We(null),"aria-label":e("common.cancel")}),c.jsxs("div",{role:"dialog","aria-modal":"true","aria-label":e("tab.rename"),className:"fixed inset-x-3 z-menu-panel mx-auto max-w-sm rounded-2xl bg-surface-elevated border border-border/15 shadow-[0_18px_48px_var(--app-shadow-soft)] animate-fade-in",style:{top:`calc(${s} + 3.5rem)`},children:[c.jsxs("div",{className:"border-b border-border/15 px-4 py-3",children:[c.jsx("div",{className:"text-[11px] uppercase tracking-[0.14em] text-muted-foreground",children:e("tab.session")}),c.jsx("div",{className:"mt-0.5 text-[14px] font-medium text-foreground",children:e("tab.rename")})]}),c.jsxs("form",{className:"px-4 py-3",onSubmit:Rt=>{Rt.preventDefault();const Yt=new FormData(Rt.currentTarget).get("session-name");tt(typeof Yt=="string"?Yt:"")},children:[c.jsx("input",{ref:Rt=>{X.current=Rt,Rt&&!ce.current&&(ce.current=!0,Rt.focus({preventScroll:!0}),Rt.select())},type:"text",name:"session-name",defaultValue:Be,placeholder:e("tab.renamePlaceholder"),autoComplete:"off",autoCapitalize:"off",autoCorrect:"off",spellCheck:!1,enterKeyHint:"done",className:"w-full rounded-lg bg-surface-2 px-3 py-2.5 text-[16px] leading-snug text-foreground outline-none ring-1 ring-primary/40 placeholder:text-muted-foreground/60 focus:ring-primary/70",onKeyDown:Rt=>{Rt.key==="Escape"&&(Rt.stopPropagation(),We(null))}}),c.jsxs("div",{className:"mt-3 flex gap-2",children:[c.jsx("button",{type:"button",onClick:()=>We(null),className:"flex-1 rounded-full bg-surface-2 px-3 py-2 text-[12px] font-medium text-muted-foreground transition hover:bg-surface hover:text-foreground",children:e("common.cancel")}),c.jsx("button",{type:"submit",className:"flex-1 rounded-full bg-primary/20 px-3 py-2 text-[12px] font-medium text-primary transition hover:bg-primary/30",children:e("common.save")})]})]})]})]})})(),xn&&c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button",className:"fixed inset-0 z-modal-backdrop bg-[var(--app-backdrop)] backdrop-blur-sm cursor-default",onClick:()=>ai(!1)}),c.jsxs("div",{className:"fixed left-[max(0.75rem,env(safe-area-inset-left,0px))] right-[max(0.75rem,env(safe-area-inset-right,0px))] top-[max(1.5rem,env(safe-area-inset-top,0px))] bottom-[max(1.5rem,env(safe-area-inset-bottom,0px))] z-modal-panel mx-auto flex max-w-xl flex-col overflow-hidden rounded-2xl bg-surface border border-border/15 shadow-[0_28px_70px_var(--app-shadow-strong),0_14px_32px_var(--app-shadow-soft)] sm:top-[10%] sm:bottom-auto sm:max-h-[80vh]",children:[c.jsxs("div",{className:"flex shrink-0 items-center justify-between border-b border-border/15 px-4 py-4 sm:px-6",children:[c.jsxs("div",{className:"min-w-0",children:[c.jsx("div",{className:"ui-kicker",children:e("settings.notifications")}),c.jsx("h2",{className:"section-title mt-1",children:e("settings.notificationsTitle")})]}),c.jsx("button",{type:"button",onClick:()=>ai(!1),className:"shrink-0 rounded-full bg-surface-2 p-2 text-muted-foreground transition hover:bg-surface-elevated hover:text-foreground","aria-label":"Close notifications settings",children:c.jsx($s,{size:18})})]}),c.jsxs("div",{className:"min-h-0 flex-1 overflow-y-auto p-4 sm:p-6",children:[c.jsx("p",{className:"text-[12px] leading-relaxed text-muted-foreground",children:e("settings.notificationsPageHint")}),c.jsxs("div",{className:"mt-4 rounded-2xl bg-surface-2 p-3",children:[c.jsxs("div",{className:"flex items-start justify-between gap-3",children:[c.jsxs("div",{className:"min-w-0",children:[c.jsx("div",{className:"text-[13px] font-semibold text-foreground",children:e("settings.notificationsMaster")}),c.jsx("div",{className:"mt-1 text-[11px] leading-relaxed text-muted-foreground",children:ee==="denied"?e("settings.notificationsDenied"):Hl()?e("settings.notificationsMasterHint"):e("settings.notificationsUnsupported")}),Hl()&&!q5()&&c.jsx("div",{className:"mt-1.5 text-[11px] leading-relaxed text-[var(--warning)]",children:e("settings.notificationsIOSInstallHint")})]}),c.jsx("button",{type:"button",onClick:()=>{Ze()},disabled:!Hl()||ee==="denied",className:"shrink-0 transition disabled:cursor-not-allowed","aria-pressed":I,children:c.jsx(Ya,{checked:I,disabled:!Hl()||ee==="denied"})})]}),c.jsxs("div",{className:"mt-3 flex flex-wrap items-center gap-2 text-[11px]",children:[c.jsxs("span",{className:`rounded-full px-2 py-0.5 ${ee==="granted"?"bg-primary/15 text-primary":"bg-surface text-muted-foreground"}`,children:[e("settings.notificationsPermission"),": ",xi()?e("settings.notificationsPermissionSystem"):ee]}),c.jsx("button",{type:"button",disabled:!I||ee!=="granted"||Vs==="checking",onClick:()=>{ze()},className:"rounded-full bg-surface px-3 py-1.5 font-medium text-muted-foreground transition hover:bg-surface-elevated hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",children:e(Vs==="checking"?"settings.notificationsTestChecking":"settings.notificationsTest")}),xi()?.openNotificationSettings&&c.jsx("button",{type:"button",onClick:()=>{xi()?.openNotificationSettings?.()},className:"rounded-full bg-surface px-3 py-1.5 font-medium text-muted-foreground transition hover:bg-surface-elevated hover:text-foreground",children:e("settings.notificationsOpenSystemSettings")})]}),Vs!=="idle"&&Vs!=="checking"&&c.jsx("div",{className:`mt-2 text-[11px] leading-relaxed ${Vs==="delivered"?"text-primary":"text-[var(--warning)]"}`,children:e(Vs==="delivered"?"settings.notificationsTestDelivered":"settings.notificationsTestFailed")})]}),c.jsxs("div",{className:"mt-4 rounded-2xl bg-surface-2 p-3",children:[c.jsx("div",{className:"text-[13px] font-semibold text-foreground",children:e("settings.notificationsAlertStyle")}),c.jsx("div",{className:"mt-1 text-[11px] leading-relaxed text-muted-foreground",children:e("settings.notificationsAlertStyleHint")}),c.jsx("div",{className:"mt-3 grid grid-cols-3 gap-1 rounded-xl bg-surface p-1",children:[["normal",e("settings.notificationsStyleNormal"),e("settings.notificationsStyleNormalHint")],["quiet",e("settings.notificationsStyleQuiet"),e("settings.notificationsStyleQuietHint")],["persistent",e("settings.notificationsStylePersistent"),e("settings.notificationsStylePersistentHint")]].map(([C,D,te])=>{const Be=O===C;return c.jsxs("button",{type:"button",disabled:!I,onClick:()=>Yr(C),className:`min-w-0 rounded-lg px-2 py-2 text-left transition ${Be&&I?"bg-primary/15 text-primary":I?"text-muted-foreground hover:bg-surface-elevated hover:text-foreground":"cursor-not-allowed text-muted-foreground/40"}`,title:te,children:[c.jsx("span",{className:"block truncate text-[11px] font-semibold",children:D}),c.jsx("span",{className:"mt-0.5 block truncate text-[9px] opacity-80",children:te})]},C)})})]}),c.jsxs("div",{className:"mt-4",children:[c.jsx("div",{className:"ui-kicker",children:e("settings.notificationsEvents")}),c.jsxs("div",{className:"mt-2 rounded-2xl bg-surface-2 p-3",children:[c.jsxs("div",{className:"flex items-start justify-between gap-3",children:[c.jsxs("div",{className:"min-w-0",children:[c.jsx("div",{className:"text-[13px] font-semibold text-foreground",children:e("settings.notificationsAiFinished")}),c.jsx("div",{className:"mt-1 text-[11px] leading-relaxed text-muted-foreground",children:e("settings.notificationsAiFinishedHint")})]}),c.jsx("button",{type:"button",disabled:!I,onClick:()=>pt(!M),className:"shrink-0 transition disabled:cursor-not-allowed","aria-pressed":M&&I,children:c.jsx(Ya,{checked:M&&I,disabled:!I})})]}),c.jsxs("div",{className:"mt-3 flex items-start justify-between gap-3 border-t border-border/10 pt-3",children:[c.jsxs("div",{className:"min-w-0",children:[c.jsx("div",{className:"text-[13px] font-semibold text-foreground",children:e("settings.notificationsSessionExited")}),c.jsx("div",{className:"mt-1 text-[11px] leading-relaxed text-muted-foreground",children:e("settings.notificationsSessionExitedHint")})]}),c.jsx("button",{type:"button",disabled:!I,onClick:()=>ar(!F),className:"shrink-0 transition disabled:cursor-not-allowed","aria-pressed":F&&I,children:c.jsx(Ya,{checked:F&&I,disabled:!I})})]})]}),c.jsx("p",{className:"mt-2 text-[10px] text-muted-foreground",children:e("settings.notificationsFutureHint")})]})]})]})]}),oi&&c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button",className:"fixed inset-0 z-modal-backdrop bg-[var(--app-backdrop)] backdrop-blur-sm cursor-default",onClick:()=>Ti(!1)}),c.jsxs("div",{className:"fixed left-[max(0.75rem,env(safe-area-inset-left,0px))] right-[max(0.75rem,env(safe-area-inset-right,0px))] top-[max(1.5rem,env(safe-area-inset-top,0px))] bottom-[max(1.5rem,env(safe-area-inset-bottom,0px))] z-modal-panel mx-auto flex max-w-4xl flex-col overflow-hidden rounded-2xl bg-surface border border-border/15 shadow-[0_28px_70px_var(--app-shadow-strong),0_14px_32px_var(--app-shadow-soft)]",children:[c.jsxs("div",{className:"flex shrink-0 items-center justify-between border-b border-border/15 px-4 py-4 sm:px-6",children:[c.jsxs("div",{className:"min-w-0",children:[c.jsx("div",{className:"ui-kicker",children:e("settings.mobileKeyboard")}),c.jsx("h2",{className:"section-title mt-1",children:e("settings.toolbarPresets")})]}),c.jsx("button",{type:"button",onClick:()=>Ti(!1),className:"shrink-0 rounded-full bg-surface-2 p-2 text-muted-foreground transition hover:bg-surface-elevated hover:text-foreground","aria-label":"Close toolbar presets",children:c.jsx($s,{size:18})})]}),c.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto p-4 sm:p-6",children:c.jsx(wB,{presets:Ge,selectedPresetId:cr,onSelectPreset:wr,onUpdatePreset:(C,D)=>{dt(te=>R0(te.map(Be=>Be.id===C?D(Be):Be)))},onAddPreset:()=>{const C=`preset-${Date.now()}`;dt(D=>R0([...D,{id:C,label:`Preset ${D.length}`,programs:[],includeAlt:!1,rowLayout:[3,3],actions:[],showOnDesktop:!1}])),wr(C)},onRemovePreset:C=>{dt(D=>R0(D.filter(te=>te.id!==C)))},onResetDefaults:()=>{dt(Vc()),wr("default")}})})]})]}),$n&&c.jsxs(c.Fragment,{children:[c.jsx("button",{type:"button",className:"fixed inset-0 z-modal-backdrop bg-[var(--app-backdrop)] backdrop-blur-sm cursor-default",onClick:()=>rn(!1)}),c.jsxs("div",{className:"fixed left-[max(0.75rem,env(safe-area-inset-left,0px))] right-[max(0.75rem,env(safe-area-inset-right,0px))] top-[max(1.5rem,env(safe-area-inset-top,0px))] bottom-[max(1.5rem,env(safe-area-inset-bottom,0px))] z-modal-panel mx-auto flex max-w-4xl flex-col overflow-hidden rounded-2xl bg-surface border border-border/15 shadow-[0_28px_70px_var(--app-shadow-strong),0_14px_32px_var(--app-shadow-soft)]",children:[c.jsxs("div",{className:"flex shrink-0 items-center justify-between border-b border-border/15 px-4 py-4 sm:px-6",children:[c.jsxs("div",{className:"min-w-0",children:[c.jsx("div",{className:"ui-kicker",children:e("settings.aiAgentDetection")}),c.jsx("h2",{className:"section-title mt-1",children:e("settings.detectionRules")})]}),c.jsx("div",{className:"flex items-center gap-2",children:c.jsx("button",{type:"button",onClick:()=>rn(!1),className:"shrink-0 rounded-full bg-surface-2 p-2 text-muted-foreground transition hover:bg-surface-elevated hover:text-foreground","aria-label":"Close agent rules",children:c.jsx($s,{size:18})})})]}),c.jsxs("div",{className:"min-h-0 flex-1 overflow-y-auto p-4 sm:p-6",children:[c.jsx("p",{className:"mb-4 text-[11px] text-muted-foreground",children:e("settings.agentHooksHint")}),c.jsx(TB,{}),c.jsxs("div",{className:"mt-6 border-t border-border/15 pt-4",children:[c.jsx("div",{className:"ui-kicker",children:e("settings.programLabelResolution")}),c.jsx("h3",{className:"mt-1 text-sm font-semibold text-foreground",children:e("settings.rawCommandMapping")}),c.jsx("p",{className:"mt-1 text-[11px] text-muted-foreground",children:e("settings.rawCommandMappingHint")}),c.jsx("div",{className:"mt-3 space-y-2 rounded-xl bg-surface-2 p-3",children:Re.map(C=>{const D=rr.get(C.id),te=D?.activeProgramRaw??null,Be=D?.activeProgram??null;return c.jsxs("div",{className:"rounded-lg bg-surface/60 px-2.5 py-2",children:[c.jsx("div",{className:"truncate text-[11px] text-muted-foreground",children:C.name}),c.jsxs("div",{className:"mt-0.5 text-[11px] text-foreground",children:[c.jsx("span",{className:"text-muted-foreground",children:"display:"})," ",Be||"—"]}),c.jsxs("div",{className:"mt-0.5 break-all font-mono text-[10px] text-muted-foreground",children:[c.jsx("span",{className:"text-muted-foreground/80",children:"raw:"})," ",te||"—"]})]},`raw-${C.id}`)})}),c.jsxs("div",{className:"mt-3 space-y-3",children:[[{key:"genericProgramNames",label:e("settings.genericProgramNames"),hint:e("settings.genericProgramNamesHint")},{key:"wrapperScriptNames",label:e("settings.wrapperScriptNames"),hint:e("settings.wrapperScriptNamesHint")},{key:"shellNames",label:e("settings.shellNamesConfig"),hint:e("settings.shellNamesHint")}].map(({key:C,label:D,hint:te})=>c.jsxs("div",{children:[c.jsx("div",{className:"mb-0.5 text-[11px] font-medium text-foreground",children:D}),c.jsx("div",{className:"text-[10px] text-muted-foreground",children:te}),c.jsxs("div",{className:"mt-1 flex flex-wrap items-center gap-1",children:[P[C].map(Be=>c.jsxs("span",{className:"inline-flex items-center gap-0.5 rounded-full bg-surface-2 px-2 py-0.5 text-[11px] font-mono text-foreground",children:[Be,c.jsx("button",{type:"button",onClick:()=>{const tt={...P,[C]:P[C].filter(Rt=>Rt!==Be)};H(tt),C==="shellNames"&&(uo=new Set(tt.shellNames)),Y1(tt).catch(()=>{})},className:"ml-0.5 text-muted-foreground hover:text-destructive",children:"×"})]},Be)),c.jsx("input",{placeholder:e("settings.addTag"),className:"w-16 rounded bg-surface px-1.5 py-0.5 text-[11px] font-mono",onKeyDown:Be=>{if(Be.key!=="Enter")return;const tt=Be.target.value.trim().toLowerCase();if(!tt||P[C].includes(tt))return;const Rt={...P,[C]:[...P[C],tt]};H(Rt),C==="shellNames"&&(uo=new Set(Rt.shellNames)),Be.target.value="",Y1(Rt).catch(()=>{})}})]})]},C)),c.jsx("button",{type:"button",onClick:()=>{e8().then(C=>{H(C),uo=new Set(C.shellNames)}).catch(()=>{})},className:"rounded-full bg-surface-2 px-3 py-1 text-[11px] text-muted-foreground hover:bg-surface-elevated hover:text-foreground",children:e("settings.resetDefaults")})]}),c.jsxs("div",{className:"mt-3",children:[c.jsx("div",{className:"mb-1 text-[11px] font-medium text-foreground",children:e("settings.customRules")}),Nn.map((C,D)=>c.jsx("div",{className:"mb-2 rounded-lg bg-surface-2 p-2.5",children:c.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[c.jsx("input",{type:"checkbox",checked:C.enabled!==!1,onChange:te=>{const Be=Nn.map((tt,Rt)=>Rt===D?{...tt,enabled:te.target.checked}:tt);nn(Be),On(eo,Be),js(!0),d0(Be).then(tt=>{nn(tt),On(eo,tt)}).catch(()=>{}).finally(()=>js(!1))}}),c.jsxs("select",{value:C.matchType,onChange:te=>{const Be=Nn.map((tt,Rt)=>Rt===D?{...tt,matchType:te.target.value}:tt);nn(Be),On(eo,Be),js(!0),d0(Be).then(tt=>{nn(tt),On(eo,tt)}).catch(()=>{}).finally(()=>js(!1))},className:"rounded bg-surface px-2 py-1 text-[11px]",children:[c.jsx("option",{value:"includes",children:"includes"}),c.jsx("option",{value:"exact",children:"exact"}),c.jsx("option",{value:"prefix",children:"prefix"}),c.jsx("option",{value:"regex",children:"regex"})]}),c.jsx("input",{value:C.pattern,onChange:te=>{const Be=Nn.map((tt,Rt)=>Rt===D?{...tt,pattern:te.target.value}:tt);nn(Be),On(eo,Be)},onBlur:()=>{js(!0),d0(Nn).then(te=>{nn(te),On(eo,te)}).catch(()=>{}).finally(()=>js(!1))},placeholder:"pattern",className:"min-w-[180px] flex-1 rounded bg-surface px-2 py-1 text-[11px] font-mono"}),c.jsx("input",{value:C.output,onChange:te=>{const Be=Nn.map((tt,Rt)=>Rt===D?{...tt,output:te.target.value}:tt);nn(Be),On(eo,Be)},onBlur:()=>{js(!0),d0(Nn).then(te=>{nn(te),On(eo,te)}).catch(()=>{}).finally(()=>js(!1))},placeholder:"output",className:"w-28 rounded bg-surface px-2 py-1 text-[11px]"}),c.jsx("button",{type:"button",onClick:()=>{const te=Nn.filter((Be,tt)=>tt!==D);nn(te),On(eo,te),js(!0),d0(te).then(Be=>{nn(Be),On(eo,Be)}).catch(()=>{}).finally(()=>js(!1))},className:"rounded bg-surface px-2 py-1 text-[11px] text-muted-foreground hover:text-destructive",children:e("common.delete")})]})},C.id)),c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("button",{type:"button",onClick:()=>{const C=[...Nn,{id:`rule-${Date.now()}`,enabled:!0,priority:100,matchType:"includes",pattern:"",output:""}];nn(C),On(eo,C),js(!0),d0(C).then(D=>{nn(D),On(eo,D)}).catch(()=>{}).finally(()=>js(!1))},className:"rounded-full bg-primary/15 px-3 py-1.5 text-[11px] font-medium text-primary hover:bg-primary/25",children:e("settings.addRule")}),c.jsx("button",{type:"button",onClick:()=>{js(!0),t8().then(C=>{nn(C),On(eo,C)}).catch(()=>{}).finally(()=>js(!1))},className:"rounded-full bg-surface-2 px-3 py-1.5 text-[11px] font-medium text-muted-foreground hover:bg-surface-elevated hover:text-foreground",children:e("settings.resetDefaults")}),c.jsx("span",{className:"text-[11px] text-muted-foreground",children:n0?e("settings.saving"):r0?`${Nn.length} rules`:"…"})]})]})]})]})]})]}),ds&&c.jsx(mB,{isOpen:ds,onClose:()=>_s(!1)}),!Ri&&c.jsx(d5,{isOpen:ts,drawerWidthPx:Xt,onClose:()=>Gr("left-sidebar"),onOpen:qi,sessions:Re,activeSessionId:ut,sessionStates:rr,onNewSession:C=>zo(C),recoverableTmuxSessions:du,recoverableTmuxSessionsLoading:Vn,onRefreshRecoverableTmuxSessions:()=>{ma()},onCloseSession:kl,onSplitSession:lu,onCloseSplit:C=>window.dispatchEvent(new CustomEvent("close-terminal-split",{detail:C})),onRemoveFromSplit:C=>window.dispatchEvent(new CustomEvent("remove-terminal-split-pane",{detail:C})),splitWorkspaces:Nr,onSetSplitLayout:Si,onReorderSplitWorkspace:i0,onRenameSplitWorkspace:cu,onCombineSplitSessions:K0,onReorderSessions:Bs,onSessionMenu:Pa,onOpenSettings:Ss,onOpenQuota:()=>_s(!0),updateState:Ie,updateActionPending:qe,onConfirmUpdateRestart:Jt,onRetryUpdate:Qn,tmuxAvailable:qr.available,defaultSessionMode:Un,runningSessionButtonEnabled:Xn,onRunningSessionButtonEnabledChange:Hs,onTogglePinned:Mt?Na:void 0}),!Oa&&c.jsx(h5,{isOpen:Gn,drawerWidthPx:xr,onClose:()=>Gr("right-sidebar"),onOpen:Ns,rightSidebarFilePreviewOpen:dn,rightSidebarFilePreviewCloseSignal:he,onOpenRightSidebarFilePreview:aa,onCloseRightSidebarFilePreview:Da,rightSidebarRepoPickerOpen:De,rightSidebarRepoPickerCloseSignal:Ke,onOpenRightSidebarRepoPicker:wi,onCloseRightSidebarRepoPicker:yo,markdownOutlineOpen:kt,markdownOutlineCloseSignal:pr,onOpenMarkdownOutline:tl,onCloseMarkdownOutline:la,markdownImageLightboxOpen:ft,markdownImageLightboxCloseSignal:Tt,onOpenMarkdownImageLightbox:Ba,onCloseMarkdownImageLightbox:Qa,onTogglePinned:Mt?Po:void 0}),Je&&!u&&c.jsx("button",{type:"button",onClick:ca,className:"fixed inset-0 z-toast flex cursor-default items-center justify-center bg-[var(--app-backdrop-soft)] px-6 text-left backdrop-blur-[1px]","aria-label":t==="zh"?"继续使用 Termdock":"Continue using Termdock",children:c.jsxs("div",{className:"max-w-[18rem] rounded-2xl border border-border/15 bg-surface/95 px-5 py-4 text-center shadow-[0_18px_50px_var(--app-shadow-strong)] backdrop-blur animate-fade-in",children:[c.jsx("div",{className:"text-[14px] font-semibold text-foreground",children:t==="zh"?"建议使用 Home":"Use Home instead"}),c.jsx("div",{className:"mt-1.5 text-[12px] leading-relaxed text-muted-foreground",children:t==="zh"?"按 Home 退后台,点任意位置继续。":"Use Home to leave. Tap anywhere to continue."}),c.jsx("div",{className:"mt-3 text-[11px] font-medium text-muted-foreground/80",children:t==="zh"?"轻点关闭提示":"Tap to dismiss"})]})}),Bn&&c.jsxs("div",{className:`fixed inset-x-3 bottom-4 z-toast mx-auto flex max-w-md items-center gap-2 rounded-xl border px-4 py-3 text-[12px] shadow-lg animate-fade-in ${Bn.tone==="success"?"border-[rgb(var(--success-rgb)_/_0.24)] bg-surface-elevated text-foreground":"border-destructive/30 bg-surface-elevated text-destructive"}`,role:Bn.tone==="error"?"alert":"status",children:[Bn.tone==="success"?c.jsx(I0,{size:14,className:"shrink-0 text-[color:var(--success)]"}):c.jsx(id,{size:14,className:"shrink-0"}),c.jsx("span",{className:"min-w-0 flex-1",children:Bn.message}),c.jsx("button",{type:"button",onClick:()=>Ir(null),className:"inline-flex h-6 w-6 shrink-0 items-center justify-center rounded-full text-muted-foreground transition hover:bg-surface-2 hover:text-foreground","aria-label":e("common.close"),children:c.jsx($s,{size:12})})]}),l&&c.jsxs("div",{className:"fixed bottom-0 left-0 right-0 z-toast max-h-48 overflow-y-auto border-t border-border/15 bg-surface p-3 animate-fade-in",children:[c.jsxs("div",{className:"flex items-center justify-between mb-2",children:[c.jsx("h4",{className:"ui-kicker",children:"Debug Info"}),c.jsx("button",{type:"button",onClick:()=>h(!1),className:"text-xs text-muted-foreground hover:text-foreground",children:"Close"})]}),c.jsx("pre",{className:"text-xs font-mono whitespace-pre-wrap break-all",children:JSON.stringify(pe,null,2)})]})]}),tc=Lr?null:c.jsxs("div",{className:"termdock-boot z-modal-panel",role:"status","aria-live":"polite",children:[c.jsx("div",{className:"termdock-boot-spinner","aria-hidden":"true"}),c.jsx("span",{children:"Loading Termdock"})]});return Ri||Oa?c.jsxs("div",{className:"w-screen h-full flex flex-row",children:[Ri&&c.jsxs(c.Fragment,{children:[c.jsx("div",{style:{width:gn,flexShrink:0,height:"100%"},children:c.jsx(d5,{isOpen:ts,drawerWidthPx:gn,onClose:ia,onOpen:qi,sessions:Re,activeSessionId:ut,sessionStates:rr,onNewSession:C=>zo(C),recoverableTmuxSessions:du,recoverableTmuxSessionsLoading:Vn,onRefreshRecoverableTmuxSessions:()=>{ma()},onCloseSession:kl,onSplitSession:lu,onCloseSplit:C=>window.dispatchEvent(new CustomEvent("close-terminal-split",{detail:C})),onRemoveFromSplit:C=>window.dispatchEvent(new CustomEvent("remove-terminal-split-pane",{detail:C})),splitWorkspaces:Nr,onSetSplitLayout:Si,onReorderSplitWorkspace:i0,onRenameSplitWorkspace:cu,onCombineSplitSessions:K0,onReorderSessions:Bs,onSessionMenu:Pa,onOpenSettings:Ss,onOpenQuota:()=>_s(!0),updateState:Ie,updateActionPending:qe,onConfirmUpdateRestart:Jt,onRetryUpdate:Qn,tmuxAvailable:qr.available,defaultSessionMode:Un,runningSessionButtonEnabled:Xn,onRunningSessionButtonEnabledChange:Hs,pinned:!0,onTogglePinned:Na})}),c.jsx("div",{role:"separator",tabIndex:-1,className:"shrink-0 w-[5px] h-full cursor-col-resize bg-border/10 hover:bg-primary/30 active:bg-primary/50 transition-colors",onMouseDown:ki})]}),c.jsxs("div",{className:"relative flex-1 min-w-0 h-full overflow-hidden",children:[hu,Oa&&c.jsxs("div",{className:"absolute inset-y-0 right-0 z-20 flex",style:{width:a0},children:[c.jsx("div",{role:"separator",tabIndex:-1,className:"h-full w-[5px] shrink-0 cursor-col-resize bg-border/10 transition-colors hover:bg-primary/30 active:bg-primary/50",onMouseDown:vi}),c.jsx("div",{style:{width:Fa,flexShrink:0,height:"100%"},children:c.jsx(h5,{isOpen:!0,drawerWidthPx:Fa,onClose:no,onOpen:Ns,pinned:!0,onTogglePinned:Po,rightSidebarFilePreviewOpen:dn,rightSidebarFilePreviewCloseSignal:he,onOpenRightSidebarFilePreview:aa,onCloseRightSidebarFilePreview:Da,rightSidebarRepoPickerOpen:De,rightSidebarRepoPickerCloseSignal:Ke,onOpenRightSidebarRepoPicker:wi,onCloseRightSidebarRepoPicker:yo,markdownOutlineOpen:kt,markdownOutlineCloseSignal:pr,onOpenMarkdownOutline:tl,onCloseMarkdownOutline:la,markdownImageLightboxOpen:ft,markdownImageLightboxCloseSignal:Tt,onOpenMarkdownImageLightbox:Ba,onCloseMarkdownImageLightbox:Qa})})]})]}),tc]}):c.jsxs(c.Fragment,{children:[hu,tc]})}const MQ=Object.freeze(Object.defineProperty({__proto__:null,default:zB},Symbol.toStringTag,{value:"Module"}));export{MQ as A,Uc as C,$c as D,FD as F,bv as L,Tv as M,Rv as P,gs as R,od as S,GS as T,S8 as a,A8 as b,O5 as c,K8 as d,vp as e,Nv as f,zc as g,Hc as h,J1 as i,z5 as j,_6 as k,Gv as l,Yv as m,to as n,H3 as o,kQ as p,Ig as q,L_ as r,__ as s,Gf as t,EQ as u,RQ as v,g9 as w};