@waniwani/sdk 0.14.0 → 0.14.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/dist/angular-html-GK625GFM.js +2 -0
  2. package/dist/{angular-ts-UPMUIYI3.js → angular-ts-BBPQXDS2.js} +2 -2
  3. package/dist/{angular-ts-A7ZNTSV6.js → angular-ts-DFS2FCNO.js} +2 -2
  4. package/dist/{apl-QBN4KIYA.js → apl-FBR445XW.js} +2 -2
  5. package/dist/{apl-ZTMAKUPW.js → apl-JGB4KP74.js} +2 -2
  6. package/dist/{astro-OQUOYMBE.js → astro-BMSTTQT4.js} +2 -2
  7. package/dist/{astro-ZC25ZSBI.js → astro-K7JGTCPV.js} +2 -2
  8. package/dist/{blade-QBDEYXMB.js → blade-OHP5YUT7.js} +2 -2
  9. package/dist/{blade-BVUO2H7O.js → blade-RWJJQSLU.js} +2 -2
  10. package/dist/chat/embed.js +74 -72
  11. package/dist/chat/embed.js.map +1 -1
  12. package/dist/chat/express-js/index.d.ts +25 -1
  13. package/dist/chat/index.d.ts +20 -12
  14. package/dist/chat/index.js +10 -8
  15. package/dist/chat/index.js.map +1 -1
  16. package/dist/chat/next-js/index.d.ts +25 -1
  17. package/dist/chat/styles.css +1 -1
  18. package/dist/{chunk-7PHUBJVC.js → chunk-AI3BZXLG.js} +2 -2
  19. package/dist/{chunk-5JBHQYU5.js → chunk-F4UUXA3U.js} +3 -3
  20. package/dist/{chunk-2RS4JWNJ.js → chunk-HFFYDWFN.js} +2 -2
  21. package/dist/{chunk-AGWJ4LUC.js → chunk-HWHRZFFJ.js} +2 -2
  22. package/dist/{chunk-BFEOSXSG.js → chunk-IPSY5OIT.js} +2 -2
  23. package/dist/{chunk-BKIIYGWO.js → chunk-OHRY6PPX.js} +2 -2
  24. package/dist/{chunk-BNESB5SU.js → chunk-ORTYTFGK.js} +2 -2
  25. package/dist/{chunk-TV2UKRXD.js → chunk-REK5PMSH.js} +2 -2
  26. package/dist/{chunk-KMHU4XIM.js → chunk-SREBMPDB.js} +2 -2
  27. package/dist/{chunk-4OK4GCCR.js → chunk-VDGF5EL2.js} +2 -2
  28. package/dist/{chunk-VNX5AK2O.js → chunk-VNL3EXC2.js} +2 -2
  29. package/dist/{chunk-V6FKURGI.js → chunk-W4SPRY5O.js} +2 -2
  30. package/dist/{chunk-4WLKD7DL.js → chunk-YP6YTC7R.js} +3 -3
  31. package/dist/{cobol-6DNJTKH3.js → cobol-LJNKRWP5.js} +2 -2
  32. package/dist/{cobol-SKJIT3WM.js → cobol-ZFZ6ZP6X.js} +2 -2
  33. package/dist/{code-block-37QAKDTI-IIYKFI5S.js → code-block-37QAKDTI-HV355RRX.js} +2 -2
  34. package/dist/{code-block-37QAKDTI-IJYLCU3C.js → code-block-37QAKDTI-Y3BUEJRG.js} +2 -2
  35. package/dist/cpp-HLYUQ6RF.js +2 -0
  36. package/dist/{crystal-YFCJLEES.js → crystal-UPNOBGN4.js} +2 -2
  37. package/dist/{edge-3LWPZYS7.js → edge-XE5XFLFP.js} +2 -2
  38. package/dist/{elixir-3H7W7YJZ.js → elixir-EXRA4QJX.js} +2 -2
  39. package/dist/{erb-HGSLHT5Y.js → erb-KUYJX32Q.js} +2 -2
  40. package/dist/{erb-AXCKAI43.js → erb-LRUOJBTB.js} +2 -2
  41. package/dist/{glimmer-js-ZXI6Y36F.js → glimmer-js-JA25I4AE.js} +2 -2
  42. package/dist/{glimmer-ts-BJKMFBLF.js → glimmer-ts-CKELYRRF.js} +2 -2
  43. package/dist/graphql-NLMAEKLI.js +3 -0
  44. package/dist/graphql-UN5O7U5U.js +2 -0
  45. package/dist/{hack-KV5GHBVV.js → hack-QIUJFE3G.js} +2 -2
  46. package/dist/haml-JQIESO7E.js +2 -0
  47. package/dist/{handlebars-U44VLSEQ.js → handlebars-UBV5AWUH.js} +2 -2
  48. package/dist/html-AWDHWPK7.js +2 -0
  49. package/dist/html-derivative-QY3ZIV7G.js +2 -0
  50. package/dist/{http-NEPTRAQZ.js → http-7ZVVH3VM.js} +2 -2
  51. package/dist/{http-JSPDAWSO.js → http-KIGXJYY6.js} +2 -2
  52. package/dist/{hurl-V6ZX2Q3F.js → hurl-B6WXEN45.js} +2 -2
  53. package/dist/{hurl-OT2SM4S7.js → hurl-BZB5LDD5.js} +2 -2
  54. package/dist/index.d.ts +25 -1
  55. package/dist/{jinja-CCI3FGLW.js → jinja-AEVQQKWS.js} +2 -2
  56. package/dist/{julia-BWWONBRS.js → julia-75QR2XDN.js} +2 -2
  57. package/dist/{julia-QPZ7EOS6.js → julia-CPV3A4MM.js} +2 -2
  58. package/dist/legacy/chat/express-js/index.d.ts +25 -1
  59. package/dist/legacy/chat/next-js/index.d.ts +25 -1
  60. package/dist/legacy/index.d.ts +38 -13
  61. package/dist/legacy/index.js +16 -14
  62. package/dist/legacy/index.js.map +1 -1
  63. package/dist/{liquid-OSRU4KOW.js → liquid-S4LVU77Y.js} +2 -2
  64. package/dist/mcp/index.d.ts +25 -1
  65. package/dist/{mdc-PDOFYVVO.js → mdc-NDTDGSIG.js} +2 -2
  66. package/dist/{mdc-TEVTGSC7.js → mdc-XWCHWP6B.js} +2 -2
  67. package/dist/mermaid-4DMBBIKO-DV4JRUY5.js +2 -0
  68. package/dist/mermaid-4DMBBIKO-IGH2CKFF.js +3 -0
  69. package/dist/{nim-JPSYX5KC.js → nim-U57UBFBS.js} +2 -2
  70. package/dist/{nim-WGQAUAVA.js → nim-Z6EEJ7SX.js} +2 -2
  71. package/dist/{perl-Y3ALUOFJ.js → perl-5IQEFQG3.js} +2 -2
  72. package/dist/{perl-X4IFZB22.js → perl-IZHDGBO6.js} +2 -2
  73. package/dist/php-MNP62HWP.js +3 -0
  74. package/dist/php-UQGWKJAF.js +2 -0
  75. package/dist/{pug-7XNGVJEC.js → pug-XHTBJJNO.js} +2 -2
  76. package/dist/{razor-C2NV2YNT.js → razor-UMC4HKIF.js} +2 -2
  77. package/dist/{rst-WIWCR2KQ.js → rst-6KQSGP2V.js} +2 -2
  78. package/dist/{rst-W5S2XFF7.js → rst-HCGHBPBZ.js} +2 -2
  79. package/dist/ruby-ML25RVXY.js +2 -0
  80. package/dist/ruby-OWE2HOOR.js +3 -0
  81. package/dist/{soy-G2LDZSDN.js → soy-ALTWCQTO.js} +2 -2
  82. package/dist/{svelte-EYZDXUS2.js → svelte-6TT7H4YP.js} +2 -2
  83. package/dist/{templ-KXQ2KV7D.js → templ-WN3SJLUV.js} +2 -2
  84. package/dist/{ts-tags-TCQ23O6Y.js → ts-tags-NAJDOQCO.js} +2 -2
  85. package/dist/{ts-tags-7WGDLEKX.js → ts-tags-XNK5N5RZ.js} +2 -2
  86. package/dist/{twig-JAL4753Y.js → twig-GIY7NVAA.js} +2 -2
  87. package/dist/{twig-C6YWFFZU.js → twig-OEIJ72KK.js} +2 -2
  88. package/dist/{vue-O6SLORWU.js → vue-FIH2DYBE.js} +2 -2
  89. package/dist/{vue-D6SXQNWM.js → vue-V6GLJNYA.js} +2 -2
  90. package/dist/{vue-vine-T6MFB2MU.js → vue-vine-KB45C76H.js} +2 -2
  91. package/package.json +1 -1
  92. package/dist/angular-html-VZSV3CDH.js +0 -2
  93. package/dist/cpp-4EW5XLOK.js +0 -2
  94. package/dist/graphql-KHEFECOG.js +0 -2
  95. package/dist/graphql-YEJQLMOO.js +0 -3
  96. package/dist/haml-6R7X7F2Q.js +0 -2
  97. package/dist/html-MYZBE4UD.js +0 -2
  98. package/dist/html-derivative-OWRPAN3G.js +0 -2
  99. package/dist/mermaid-4DMBBIKO-7EL5WRQI.js +0 -2
  100. package/dist/mermaid-4DMBBIKO-PAA57QRQ.js +0 -3
  101. package/dist/php-3V7EPUAN.js +0 -3
  102. package/dist/php-QERWOQJG.js +0 -2
  103. package/dist/ruby-EYYAUQUG.js +0 -2
  104. package/dist/ruby-LXZJUMFB.js +0 -3
  105. /package/dist/{angular-html-VZSV3CDH.js.map → angular-html-GK625GFM.js.map} +0 -0
  106. /package/dist/{angular-ts-UPMUIYI3.js.map → angular-ts-BBPQXDS2.js.map} +0 -0
  107. /package/dist/{angular-ts-A7ZNTSV6.js.map → angular-ts-DFS2FCNO.js.map} +0 -0
  108. /package/dist/{apl-QBN4KIYA.js.map → apl-FBR445XW.js.map} +0 -0
  109. /package/dist/{apl-ZTMAKUPW.js.map → apl-JGB4KP74.js.map} +0 -0
  110. /package/dist/{astro-OQUOYMBE.js.map → astro-BMSTTQT4.js.map} +0 -0
  111. /package/dist/{astro-ZC25ZSBI.js.map → astro-K7JGTCPV.js.map} +0 -0
  112. /package/dist/{blade-QBDEYXMB.js.map → blade-OHP5YUT7.js.map} +0 -0
  113. /package/dist/{blade-BVUO2H7O.js.map → blade-RWJJQSLU.js.map} +0 -0
  114. /package/dist/{chunk-7PHUBJVC.js.map → chunk-AI3BZXLG.js.map} +0 -0
  115. /package/dist/{chunk-5JBHQYU5.js.map → chunk-F4UUXA3U.js.map} +0 -0
  116. /package/dist/{chunk-2RS4JWNJ.js.map → chunk-HFFYDWFN.js.map} +0 -0
  117. /package/dist/{chunk-AGWJ4LUC.js.map → chunk-HWHRZFFJ.js.map} +0 -0
  118. /package/dist/{chunk-BFEOSXSG.js.map → chunk-IPSY5OIT.js.map} +0 -0
  119. /package/dist/{chunk-BKIIYGWO.js.map → chunk-OHRY6PPX.js.map} +0 -0
  120. /package/dist/{chunk-BNESB5SU.js.map → chunk-ORTYTFGK.js.map} +0 -0
  121. /package/dist/{chunk-TV2UKRXD.js.map → chunk-REK5PMSH.js.map} +0 -0
  122. /package/dist/{chunk-KMHU4XIM.js.map → chunk-SREBMPDB.js.map} +0 -0
  123. /package/dist/{chunk-4OK4GCCR.js.map → chunk-VDGF5EL2.js.map} +0 -0
  124. /package/dist/{chunk-VNX5AK2O.js.map → chunk-VNL3EXC2.js.map} +0 -0
  125. /package/dist/{chunk-V6FKURGI.js.map → chunk-W4SPRY5O.js.map} +0 -0
  126. /package/dist/{chunk-4WLKD7DL.js.map → chunk-YP6YTC7R.js.map} +0 -0
  127. /package/dist/{cobol-6DNJTKH3.js.map → cobol-LJNKRWP5.js.map} +0 -0
  128. /package/dist/{cobol-SKJIT3WM.js.map → cobol-ZFZ6ZP6X.js.map} +0 -0
  129. /package/dist/{code-block-37QAKDTI-IIYKFI5S.js.map → code-block-37QAKDTI-HV355RRX.js.map} +0 -0
  130. /package/dist/{code-block-37QAKDTI-IJYLCU3C.js.map → code-block-37QAKDTI-Y3BUEJRG.js.map} +0 -0
  131. /package/dist/{cpp-4EW5XLOK.js.map → cpp-HLYUQ6RF.js.map} +0 -0
  132. /package/dist/{crystal-YFCJLEES.js.map → crystal-UPNOBGN4.js.map} +0 -0
  133. /package/dist/{edge-3LWPZYS7.js.map → edge-XE5XFLFP.js.map} +0 -0
  134. /package/dist/{elixir-3H7W7YJZ.js.map → elixir-EXRA4QJX.js.map} +0 -0
  135. /package/dist/{erb-HGSLHT5Y.js.map → erb-KUYJX32Q.js.map} +0 -0
  136. /package/dist/{erb-AXCKAI43.js.map → erb-LRUOJBTB.js.map} +0 -0
  137. /package/dist/{glimmer-js-ZXI6Y36F.js.map → glimmer-js-JA25I4AE.js.map} +0 -0
  138. /package/dist/{glimmer-ts-BJKMFBLF.js.map → glimmer-ts-CKELYRRF.js.map} +0 -0
  139. /package/dist/{graphql-KHEFECOG.js.map → graphql-NLMAEKLI.js.map} +0 -0
  140. /package/dist/{graphql-YEJQLMOO.js.map → graphql-UN5O7U5U.js.map} +0 -0
  141. /package/dist/{hack-KV5GHBVV.js.map → hack-QIUJFE3G.js.map} +0 -0
  142. /package/dist/{haml-6R7X7F2Q.js.map → haml-JQIESO7E.js.map} +0 -0
  143. /package/dist/{handlebars-U44VLSEQ.js.map → handlebars-UBV5AWUH.js.map} +0 -0
  144. /package/dist/{html-MYZBE4UD.js.map → html-AWDHWPK7.js.map} +0 -0
  145. /package/dist/{html-derivative-OWRPAN3G.js.map → html-derivative-QY3ZIV7G.js.map} +0 -0
  146. /package/dist/{http-NEPTRAQZ.js.map → http-7ZVVH3VM.js.map} +0 -0
  147. /package/dist/{http-JSPDAWSO.js.map → http-KIGXJYY6.js.map} +0 -0
  148. /package/dist/{hurl-V6ZX2Q3F.js.map → hurl-B6WXEN45.js.map} +0 -0
  149. /package/dist/{hurl-OT2SM4S7.js.map → hurl-BZB5LDD5.js.map} +0 -0
  150. /package/dist/{jinja-CCI3FGLW.js.map → jinja-AEVQQKWS.js.map} +0 -0
  151. /package/dist/{julia-BWWONBRS.js.map → julia-75QR2XDN.js.map} +0 -0
  152. /package/dist/{julia-QPZ7EOS6.js.map → julia-CPV3A4MM.js.map} +0 -0
  153. /package/dist/{liquid-OSRU4KOW.js.map → liquid-S4LVU77Y.js.map} +0 -0
  154. /package/dist/{mdc-PDOFYVVO.js.map → mdc-NDTDGSIG.js.map} +0 -0
  155. /package/dist/{mdc-TEVTGSC7.js.map → mdc-XWCHWP6B.js.map} +0 -0
  156. /package/dist/{mermaid-4DMBBIKO-7EL5WRQI.js.map → mermaid-4DMBBIKO-DV4JRUY5.js.map} +0 -0
  157. /package/dist/{mermaid-4DMBBIKO-PAA57QRQ.js.map → mermaid-4DMBBIKO-IGH2CKFF.js.map} +0 -0
  158. /package/dist/{nim-JPSYX5KC.js.map → nim-U57UBFBS.js.map} +0 -0
  159. /package/dist/{nim-WGQAUAVA.js.map → nim-Z6EEJ7SX.js.map} +0 -0
  160. /package/dist/{perl-Y3ALUOFJ.js.map → perl-5IQEFQG3.js.map} +0 -0
  161. /package/dist/{perl-X4IFZB22.js.map → perl-IZHDGBO6.js.map} +0 -0
  162. /package/dist/{php-3V7EPUAN.js.map → php-MNP62HWP.js.map} +0 -0
  163. /package/dist/{php-QERWOQJG.js.map → php-UQGWKJAF.js.map} +0 -0
  164. /package/dist/{pug-7XNGVJEC.js.map → pug-XHTBJJNO.js.map} +0 -0
  165. /package/dist/{razor-C2NV2YNT.js.map → razor-UMC4HKIF.js.map} +0 -0
  166. /package/dist/{rst-WIWCR2KQ.js.map → rst-6KQSGP2V.js.map} +0 -0
  167. /package/dist/{rst-W5S2XFF7.js.map → rst-HCGHBPBZ.js.map} +0 -0
  168. /package/dist/{ruby-EYYAUQUG.js.map → ruby-ML25RVXY.js.map} +0 -0
  169. /package/dist/{ruby-LXZJUMFB.js.map → ruby-OWE2HOOR.js.map} +0 -0
  170. /package/dist/{soy-G2LDZSDN.js.map → soy-ALTWCQTO.js.map} +0 -0
  171. /package/dist/{svelte-EYZDXUS2.js.map → svelte-6TT7H4YP.js.map} +0 -0
  172. /package/dist/{templ-KXQ2KV7D.js.map → templ-WN3SJLUV.js.map} +0 -0
  173. /package/dist/{ts-tags-TCQ23O6Y.js.map → ts-tags-NAJDOQCO.js.map} +0 -0
  174. /package/dist/{ts-tags-7WGDLEKX.js.map → ts-tags-XNK5N5RZ.js.map} +0 -0
  175. /package/dist/{twig-JAL4753Y.js.map → twig-GIY7NVAA.js.map} +0 -0
  176. /package/dist/{twig-C6YWFFZU.js.map → twig-OEIJ72KK.js.map} +0 -0
  177. /package/dist/{vue-O6SLORWU.js.map → vue-FIH2DYBE.js.map} +0 -0
  178. /package/dist/{vue-D6SXQNWM.js.map → vue-V6GLJNYA.js.map} +0 -0
  179. /package/dist/{vue-vine-T6MFB2MU.js.map → vue-vine-KB45C76H.js.map} +0 -0
@@ -1,4 +1,4 @@
1
- import{a as qr,b as Wr,c as Gr,d as wt,e as xt,f as ga,g as jr,h as zr,i as Vr,j as $r,k as wa,l as Xr,m as go,n as Kr,o as Qr,p as Lt,u as vt}from"../chunk-4WLKD7DL.js";import{a as ho,b as cu,c as fu}from"../chunk-R6LESDWJ.js";import{b as Tt,c as gt,d as Or,e as Hr}from"../chunk-PYLRF5BB.js";import{d as f}from"../chunk-LPD7BHH5.js";f();f();f();f();var xa="text/html+skybridge",La="text/html;profile=mcp-app",Jr=async(e,t)=>{let a=e.endsWith("/")?e.slice(0,-1):e;return await(await fetch(`${a}${t}`)).text()};function Zr(e){return{"openai/widgetDescription":e.description,"openai/widgetPrefersBorder":e.prefersBorder,"openai/widgetDomain":e.widgetDomain,...e.widgetCSP&&{"openai/widgetCSP":e.widgetCSP}}}function Yr(e){let t=e.widgetCSP?{connectDomains:e.widgetCSP.connect_domains,resourceDomains:e.widgetCSP.resource_domains,frameDomains:e.widgetCSP.frame_domains,redirectDomains:e.widgetCSP.redirect_domains}:void 0;return{ui:{...t&&{csp:t},...e.prefersBorder!==void 0&&{prefersBorder:e.prefersBorder}}}}function wo(e){return{...e.openaiTemplateUri&&{"openai/outputTemplate":e.openaiTemplateUri},"openai/toolInvocation/invoking":e.invoking,"openai/toolInvocation/invoked":e.invoked,"openai/widgetAccessible":!0,"openai/resultCanProduceWidget":!0,...e.mcpTemplateUri&&{ui:{resourceUri:e.mcpTemplateUri,...e.autoHeight&&{autoHeight:!0}}},...e.mcpTemplateUri&&{"ui/resourceUri":e.mcpTemplateUri}}}function es(e){let{id:t,title:a,description:o,baseUrl:r,htmlPath:s,widgetDomain:n,prefersBorder:i=!0,autoHeight:l=!0}=e,u=e.widgetCSP??{connect_domains:[r],resource_domains:[r]};if(process.env.NODE_ENV==="development")try{let{hostname:L}=new URL(r);(L==="localhost"||L==="127.0.0.1")&&(u={...u,connect_domains:[...u.connect_domains||[],`ws://${L}:*`,`wss://${L}:*`],resource_domains:[...u.resource_domains||[],`http://${L}:*`]})}catch{}let c=`ui://widgets/apps-sdk/${t}.html`,d=`ui://widgets/ext-apps/${t}.html`,p=null,m=()=>(p||(p=Jr(r,s)),p),h=o;async function I(L){let S=await m();L.registerResource(`${t}-openai-widget`,c,{title:a,description:h,mimeType:xa,_meta:{"openai/widgetDescription":h,"openai/widgetPrefersBorder":i}},async C=>({contents:[{uri:C.href,mimeType:xa,text:S,_meta:Zr({description:h,prefersBorder:i,widgetDomain:n,widgetCSP:u})}]})),L.registerResource(`${t}-mcp-widget`,d,{title:a,description:h,mimeType:La,_meta:{ui:{prefersBorder:i}}},async C=>({contents:[{uri:C.href,mimeType:La,text:S,_meta:Yr({description:h,prefersBorder:i,widgetCSP:u})}]}))}return{id:t,title:a,description:o,openaiUri:c,mcpUri:d,autoHeight:l,register:I}}f();f();f();var pu="waniwani/client";function ts(e){if(typeof e=="object"&&e!==null)return e[pu]}function mu(e,t){let{resource:a,description:o,inputSchema:r,annotations:s,autoInjectResultText:n=!0}=e,i=e.id??a?.id,l=e.title??a?.title;if(!i)throw new Error("createTool: `id` is required when no resource is provided");if(!l)throw new Error("createTool: `title` is required when no resource is provided");let u=a?wo({openaiTemplateUri:a.openaiUri,mcpTemplateUri:a.mcpUri,invoking:e.invoking??"Loading...",invoked:e.invoked??"Loaded",autoHeight:a.autoHeight}):void 0;return{id:i,title:l,description:o,async register(c){c.registerTool(i,{title:l,description:o,inputSchema:r,annotations:s,...u&&{_meta:u}},(async(d,p)=>{let m=p,h=m._meta??{},I=ts(m),L=await t(d,{extra:{_meta:h},waniwani:I});return a&&L.data?{content:[{type:"text",text:L.text}],structuredContent:L.data,_meta:{...u,...h,...n===!1?{"waniwani/autoInjectResultText":!1}:{}}}:{content:[{type:"text",text:L.text}],...L.data?{structuredContent:L.data}:{},...n===!1?{_meta:{"waniwani/autoInjectResultText":!1}}:{}}}))}}}async function hu(e,t){await Promise.all(t.map(a=>a.register(e)))}f();f();import{Fragment as Lu,jsx as Pt,jsxs as Cu}from"react/jsx-runtime";function gu(){let e=window.innerBaseUrl,t=window.__wwPassthroughOrigins??[],a=document.documentElement;new MutationObserver(l=>{l.forEach(u=>{if(u.type==="attributes"&&u.target===a){let c=u.attributeName;c&&c!=="suppresshydrationwarning"&&c!=="lang"&&c!=="class"&&c!=="style"&&a.removeAttribute(c)}})}).observe(a,{attributes:!0,attributeOldValue:!0});let r=history.replaceState.bind(history);history.replaceState=(l,u,c)=>{try{let d=new URL(String(c??""),window.location.href);r(null,u,d.pathname+d.search+d.hash)}catch{}};let s=history.pushState.bind(history);history.pushState=(l,u,c)=>{try{let d=new URL(String(c??""),window.location.href);s(null,u,d.pathname+d.search+d.hash)}catch{}};let n=new URL(e).origin,i=window.self!==window.top;if(window.addEventListener("click",l=>{let u=l?.target?.closest("a");if(!u||!u.href)return;let c=new URL(u.href,window.location.href);if(c.origin!==window.location.origin&&c.origin!==n)try{window.openai&&(window.openai?.openExternal({href:u.href}),l.preventDefault())}catch{console.warn("openExternal failed, likely not in OpenAI client")}},!0),i&&window.location.origin!==n){let l=window.fetch;window.fetch=((p,m)=>{let h=typeof p=="string"&&!/^[a-z][a-z0-9+.-]*:/i.test(p)&&!p.startsWith("//"),I;if(typeof p=="string"||p instanceof URL?I=new URL(p,window.location.href):I=new URL(p.url,window.location.href),I.origin===n)return typeof p=="string"||p instanceof URL?p=I.toString():p=new Request(I.toString(),p),l.call(window,p,{...m,mode:"cors"});if(t.indexOf(I.origin)!==-1)return l.call(window,p,m);if(h&&I.origin===window.location.origin){let L=new URL(e);return L.pathname=I.pathname,L.search=I.search,L.hash=I.hash,I=L,p=I.toString(),l.call(window,p,{...m,mode:"cors"})}return l.call(window,p,m)});let u=n.replace(/^http/,"ws"),c=window.WebSocket,d=((p,m)=>{let h=new URL(String(p),window.location.href);if(h.origin===window.location.origin||h.origin===window.location.origin.replace(/^http/,"ws")){let I=new URL(u);return I.pathname=h.pathname,I.search=h.search,I.hash=h.hash,new c(I.toString(),m)}return new c(p,m)});d.prototype=c.prototype,Object.assign(d,{CONNECTING:c.CONNECTING,OPEN:c.OPEN,CLOSING:c.CLOSING,CLOSED:c.CLOSED}),window.WebSocket=d}}var wu=`(${gu.toString()})()`;function xu({baseUrl:e,passthroughOrigins:t}){return Cu(Lu,{children:[Pt("base",{href:e}),Pt("script",{children:`window.innerBaseUrl = ${JSON.stringify(e)}`}),Pt("script",{children:`window.__wwPassthroughOrigins = ${JSON.stringify(t??[])}`}),Pt("script",{children:'window.__isChatGptApp = typeof window.openai !== "undefined";'}),Pt("script",{children:wu})]})}f();f();import{useCallback as je,useEffect as Ct,useRef as xo,useState as Ne}from"react";f();var as={theme:"dark",userAgent:{device:{type:"desktop"},capabilities:{hover:!0,touch:!1}},locale:"en",maxHeight:800,displayMode:"inline",safeArea:{insets:{top:0,bottom:0,left:0,right:0}},toolInput:{},toolOutput:null,toolResponseMetadata:null,widgetState:null},At={...as};function Rt(e){typeof window>"u"||window.openai||(At={...as,toolOutput:e??null},window.openai={...At,requestDisplayMode:async({mode:t})=>(tt("displayMode",t),{mode:t}),callTool:async(t,a)=>(console.log(`[DevMode] callTool: ${t}`,a),{result:JSON.stringify({mock:!0,tool:t,args:a})}),sendFollowUpMessage:async({prompt:t})=>{console.log(`[DevMode] sendFollowUpMessage: ${t}`)},openExternal:({href:t})=>{console.log(`[DevMode] openExternal: ${t}`),window.open(t,"_blank")},setWidgetState:async t=>{tt("widgetState",t)}},window.dispatchEvent(new Tt({globals:At})))}function tt(e,t){typeof window>"u"||!window.openai||(At[e]=t,window.openai[e]=t,window.dispatchEvent(new Tt({globals:{[e]:t}})))}function Ca(){return{...At}}function Mt(e){tt("toolOutput",e)}function Ft(e){tt("displayMode",e)}function Dt(e){tt("theme",e)}import{Fragment as Lo,jsx as E,jsxs as X}from"react/jsx-runtime";var Ia=150;function os({className:e}){return X("svg",{className:e,viewBox:"0 0 24 24",fill:"none",role:"img","aria-label":"Dev Controls",children:[E("rect",{x:"4",y:"4",width:"10",height:"10",rx:"2",stroke:"currentColor",strokeWidth:"1.5"}),E("rect",{x:"10",y:"10",width:"10",height:"10",rx:"2",stroke:"currentColor",strokeWidth:"1.5",fill:"currentColor",fillOpacity:"0.15"})]})}function Iu({className:e}){return E("svg",{"aria-hidden":"true",className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:E("path",{d:"M18 6L6 18M6 6l12 12"})})}function Su({className:e}){return E("svg",{"aria-hidden":"true",className:e,viewBox:"0 0 16 16",fill:"none",children:E("rect",{x:"2",y:"4",width:"12",height:"8",rx:"1.5",stroke:"currentColor",strokeWidth:"1.25"})})}function yu({className:e}){return X("svg",{"aria-hidden":"true",className:e,viewBox:"0 0 16 16",fill:"none",children:[E("rect",{x:"1.5",y:"3",width:"13",height:"10",rx:"1.5",stroke:"currentColor",strokeWidth:"1.25"}),E("rect",{x:"8.5",y:"7",width:"5",height:"4",rx:"0.75",fill:"currentColor"})]})}function bu({className:e}){return E("svg",{"aria-hidden":"true",className:e,viewBox:"0 0 16 16",fill:"none",children:E("path",{d:"M2 5.5V3.5C2 2.95 2.45 2.5 3 2.5H5.5M10.5 2.5H13C13.55 2.5 14 2.95 14 3.5V5.5M14 10.5V12.5C14 13.05 13.55 13.5 13 13.5H10.5M5.5 13.5H3C2.45 13.5 2 13.05 2 12.5V10.5",stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})})}function ku({className:e}){return X("svg",{"aria-hidden":"true",className:e,viewBox:"0 0 16 16",fill:"none",children:[E("circle",{cx:"8",cy:"8",r:"2.5",stroke:"currentColor",strokeWidth:"1.25"}),E("path",{d:"M8 2v1.5M8 12.5V14M2 8h1.5M12.5 8H14M4.11 4.11l1.06 1.06M10.83 10.83l1.06 1.06M4.11 11.89l1.06-1.06M10.83 5.17l1.06-1.06",stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round"})]})}function Tu({className:e}){return E("svg",{"aria-hidden":"true",className:e,viewBox:"0 0 16 16",fill:"none",children:E("path",{d:"M13.5 9.5a5.5 5.5 0 01-7-7 5.5 5.5 0 107 7z",stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})})}function vu({className:e}){return X("svg",{"aria-hidden":"true",className:e,viewBox:"0 0 16 16",fill:"none",children:[E("path",{d:"M2.5 8a5.5 5.5 0 019.37-3.9M13.5 8a5.5 5.5 0 01-9.37 3.9",stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round"}),E("path",{d:"M12.5 2v3h-3M3.5 14v-3h3",stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})]})}var Pu=`
1
+ import{a as So,b as ku,c as Tu}from"../chunk-R6LESDWJ.js";import{b as Mt,c as It,d as $r,e as Xr}from"../chunk-PYLRF5BB.js";import{a as Kr,b as Qr,c as Jr,d as Zr,e as Yr,f as ya,g as en,h as tn,i as an,j as on,k as yo,l as rn,m as St,n as yt,o as ba,p as bt,u as Ft}from"../chunk-YP6YTC7R.js";import{d as f}from"../chunk-LPD7BHH5.js";f();f();f();f();var ka="text/html+skybridge",Ta="text/html;profile=mcp-app",nn=async(e,t)=>{let a=e.endsWith("/")?e.slice(0,-1):e;return await(await fetch(`${a}${t}`)).text()};function sn(e){return{"openai/widgetDescription":e.description,"openai/widgetPrefersBorder":e.prefersBorder,"openai/widgetDomain":e.widgetDomain,...e.widgetCSP&&{"openai/widgetCSP":e.widgetCSP}}}function ln(e){let t=e.widgetCSP?{connectDomains:e.widgetCSP.connect_domains,resourceDomains:e.widgetCSP.resource_domains,frameDomains:e.widgetCSP.frame_domains,redirectDomains:e.widgetCSP.redirect_domains}:void 0;return{ui:{...t&&{csp:t},...e.prefersBorder!==void 0&&{prefersBorder:e.prefersBorder}}}}function bo(e){return{...e.openaiTemplateUri&&{"openai/outputTemplate":e.openaiTemplateUri},"openai/toolInvocation/invoking":e.invoking,"openai/toolInvocation/invoked":e.invoked,"openai/widgetAccessible":!0,"openai/resultCanProduceWidget":!0,...e.mcpTemplateUri&&{ui:{resourceUri:e.mcpTemplateUri,...e.autoHeight&&{autoHeight:!0}}},...e.mcpTemplateUri&&{"ui/resourceUri":e.mcpTemplateUri}}}function un(e){let{id:t,title:a,description:o,baseUrl:r,htmlPath:n,widgetDomain:s,prefersBorder:i=!0,autoHeight:l=!0}=e,u=e.widgetCSP??{connect_domains:[r],resource_domains:[r]};if(process.env.NODE_ENV==="development")try{let{hostname:L}=new URL(r);(L==="localhost"||L==="127.0.0.1")&&(u={...u,connect_domains:[...u.connect_domains||[],`ws://${L}:*`,`wss://${L}:*`],resource_domains:[...u.resource_domains||[],`http://${L}:*`]})}catch{}let c=`ui://widgets/apps-sdk/${t}.html`,d=`ui://widgets/ext-apps/${t}.html`,p=null,m=()=>(p||(p=nn(r,n)),p),h=o;async function I(L){let S=await m();L.registerResource(`${t}-openai-widget`,c,{title:a,description:h,mimeType:ka,_meta:{"openai/widgetDescription":h,"openai/widgetPrefersBorder":i}},async C=>({contents:[{uri:C.href,mimeType:ka,text:S,_meta:sn({description:h,prefersBorder:i,widgetDomain:s,widgetCSP:u})}]})),L.registerResource(`${t}-mcp-widget`,d,{title:a,description:h,mimeType:Ta,_meta:{ui:{prefersBorder:i}}},async C=>({contents:[{uri:C.href,mimeType:Ta,text:S,_meta:ln({description:h,prefersBorder:i,widgetCSP:u})}]}))}return{id:t,title:a,description:o,openaiUri:c,mcpUri:d,autoHeight:l,register:I}}f();f();f();var vu="waniwani/client";function dn(e){if(typeof e=="object"&&e!==null)return e[vu]}function Pu(e,t){let{resource:a,description:o,inputSchema:r,annotations:n,autoInjectResultText:s=!0}=e,i=e.id??a?.id,l=e.title??a?.title;if(!i)throw new Error("createTool: `id` is required when no resource is provided");if(!l)throw new Error("createTool: `title` is required when no resource is provided");let u=a?bo({openaiTemplateUri:a.openaiUri,mcpTemplateUri:a.mcpUri,invoking:e.invoking??"Loading...",invoked:e.invoked??"Loaded",autoHeight:a.autoHeight}):void 0;return{id:i,title:l,description:o,async register(c){c.registerTool(i,{title:l,description:o,inputSchema:r,annotations:n,...u&&{_meta:u}},(async(d,p)=>{let m=p,h=m._meta??{},I=dn(m),L=await t(d,{extra:{_meta:h},waniwani:I});return a&&L.data?{content:[{type:"text",text:L.text}],structuredContent:L.data,_meta:{...u,...h,...s===!1?{"waniwani/autoInjectResultText":!1}:{}}}:{content:[{type:"text",text:L.text}],...L.data?{structuredContent:L.data}:{},...s===!1?{_meta:{"waniwani/autoInjectResultText":!1}}:{}}}))}}}async function Au(e,t){await Promise.all(t.map(a=>a.register(e)))}f();f();import{Fragment as Du,jsx as Dt,jsxs as Bu}from"react/jsx-runtime";function Ru(){let e=window.innerBaseUrl,t=window.__wwPassthroughOrigins??[],a=document.documentElement;new MutationObserver(l=>{l.forEach(u=>{if(u.type==="attributes"&&u.target===a){let c=u.attributeName;c&&c!=="suppresshydrationwarning"&&c!=="lang"&&c!=="class"&&c!=="style"&&a.removeAttribute(c)}})}).observe(a,{attributes:!0,attributeOldValue:!0});let r=history.replaceState.bind(history);history.replaceState=(l,u,c)=>{try{let d=new URL(String(c??""),window.location.href);r(null,u,d.pathname+d.search+d.hash)}catch{}};let n=history.pushState.bind(history);history.pushState=(l,u,c)=>{try{let d=new URL(String(c??""),window.location.href);n(null,u,d.pathname+d.search+d.hash)}catch{}};let s=new URL(e).origin,i=window.self!==window.top;if(window.addEventListener("click",l=>{let u=l?.target?.closest("a");if(!u||!u.href)return;let c=new URL(u.href,window.location.href);if(c.origin!==window.location.origin&&c.origin!==s)try{window.openai&&(window.openai?.openExternal({href:u.href}),l.preventDefault())}catch{console.warn("openExternal failed, likely not in OpenAI client")}},!0),i&&window.location.origin!==s){let l=window.fetch;window.fetch=((p,m)=>{let h=typeof p=="string"&&!/^[a-z][a-z0-9+.-]*:/i.test(p)&&!p.startsWith("//"),I;if(typeof p=="string"||p instanceof URL?I=new URL(p,window.location.href):I=new URL(p.url,window.location.href),I.origin===s)return typeof p=="string"||p instanceof URL?p=I.toString():p=new Request(I.toString(),p),l.call(window,p,{...m,mode:"cors"});if(t.indexOf(I.origin)!==-1)return l.call(window,p,m);if(h&&I.origin===window.location.origin){let L=new URL(e);return L.pathname=I.pathname,L.search=I.search,L.hash=I.hash,I=L,p=I.toString(),l.call(window,p,{...m,mode:"cors"})}return l.call(window,p,m)});let u=s.replace(/^http/,"ws"),c=window.WebSocket,d=((p,m)=>{let h=new URL(String(p),window.location.href);if(h.origin===window.location.origin||h.origin===window.location.origin.replace(/^http/,"ws")){let I=new URL(u);return I.pathname=h.pathname,I.search=h.search,I.hash=h.hash,new c(I.toString(),m)}return new c(p,m)});d.prototype=c.prototype,Object.assign(d,{CONNECTING:c.CONNECTING,OPEN:c.OPEN,CLOSING:c.CLOSING,CLOSED:c.CLOSED}),window.WebSocket=d}}var Mu=`(${Ru.toString()})()`;function Fu({baseUrl:e,passthroughOrigins:t}){return Bu(Du,{children:[Dt("base",{href:e}),Dt("script",{children:`window.innerBaseUrl = ${JSON.stringify(e)}`}),Dt("script",{children:`window.__wwPassthroughOrigins = ${JSON.stringify(t??[])}`}),Dt("script",{children:'window.__isChatGptApp = typeof window.openai !== "undefined";'}),Dt("script",{children:Mu})]})}f();f();import{useCallback as Ve,useEffect as kt,useRef as ko,useState as Ue}from"react";f();var cn={theme:"dark",userAgent:{device:{type:"desktop"},capabilities:{hover:!0,touch:!1}},locale:"en",maxHeight:800,displayMode:"inline",safeArea:{insets:{top:0,bottom:0,left:0,right:0}},toolInput:{},toolOutput:null,toolResponseMetadata:null,widgetState:null},Bt={...cn};function Et(e){typeof window>"u"||window.openai||(Bt={...cn,toolOutput:e??null},window.openai={...Bt,requestDisplayMode:async({mode:t})=>(rt("displayMode",t),{mode:t}),callTool:async(t,a)=>(console.log(`[DevMode] callTool: ${t}`,a),{result:JSON.stringify({mock:!0,tool:t,args:a})}),sendFollowUpMessage:async({prompt:t})=>{console.log(`[DevMode] sendFollowUpMessage: ${t}`)},openExternal:({href:t})=>{console.log(`[DevMode] openExternal: ${t}`),window.open(t,"_blank")},setWidgetState:async t=>{rt("widgetState",t)}},window.dispatchEvent(new Mt({globals:Bt})))}function rt(e,t){typeof window>"u"||!window.openai||(Bt[e]=t,window.openai[e]=t,window.dispatchEvent(new Mt({globals:{[e]:t}})))}function va(){return{...Bt}}function _t(e){rt("toolOutput",e)}function Nt(e){rt("displayMode",e)}function Ot(e){rt("theme",e)}import{Fragment as To,jsx as B,jsxs as Q}from"react/jsx-runtime";var Pa=150;function fn({className:e}){return Q("svg",{className:e,viewBox:"0 0 24 24",fill:"none",role:"img","aria-label":"Dev Controls",children:[B("rect",{x:"4",y:"4",width:"10",height:"10",rx:"2",stroke:"currentColor",strokeWidth:"1.5"}),B("rect",{x:"10",y:"10",width:"10",height:"10",rx:"2",stroke:"currentColor",strokeWidth:"1.5",fill:"currentColor",fillOpacity:"0.15"})]})}function Eu({className:e}){return B("svg",{"aria-hidden":"true",className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:B("path",{d:"M18 6L6 18M6 6l12 12"})})}function _u({className:e}){return B("svg",{"aria-hidden":"true",className:e,viewBox:"0 0 16 16",fill:"none",children:B("rect",{x:"2",y:"4",width:"12",height:"8",rx:"1.5",stroke:"currentColor",strokeWidth:"1.25"})})}function Nu({className:e}){return Q("svg",{"aria-hidden":"true",className:e,viewBox:"0 0 16 16",fill:"none",children:[B("rect",{x:"1.5",y:"3",width:"13",height:"10",rx:"1.5",stroke:"currentColor",strokeWidth:"1.25"}),B("rect",{x:"8.5",y:"7",width:"5",height:"4",rx:"0.75",fill:"currentColor"})]})}function Ou({className:e}){return B("svg",{"aria-hidden":"true",className:e,viewBox:"0 0 16 16",fill:"none",children:B("path",{d:"M2 5.5V3.5C2 2.95 2.45 2.5 3 2.5H5.5M10.5 2.5H13C13.55 2.5 14 2.95 14 3.5V5.5M14 10.5V12.5C14 13.05 13.55 13.5 13 13.5H10.5M5.5 13.5H3C2.45 13.5 2 13.05 2 12.5V10.5",stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})})}function Uu({className:e}){return Q("svg",{"aria-hidden":"true",className:e,viewBox:"0 0 16 16",fill:"none",children:[B("circle",{cx:"8",cy:"8",r:"2.5",stroke:"currentColor",strokeWidth:"1.25"}),B("path",{d:"M8 2v1.5M8 12.5V14M2 8h1.5M12.5 8H14M4.11 4.11l1.06 1.06M10.83 10.83l1.06 1.06M4.11 11.89l1.06-1.06M10.83 5.17l1.06-1.06",stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round"})]})}function Hu({className:e}){return B("svg",{"aria-hidden":"true",className:e,viewBox:"0 0 16 16",fill:"none",children:B("path",{d:"M13.5 9.5a5.5 5.5 0 01-7-7 5.5 5.5 0 107 7z",stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})})}function qu({className:e}){return Q("svg",{"aria-hidden":"true",className:e,viewBox:"0 0 16 16",fill:"none",children:[B("path",{d:"M2.5 8a5.5 5.5 0 019.37-3.9M13.5 8a5.5 5.5 0 01-9.37 3.9",stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round"}),B("path",{d:"M12.5 2v3h-3M3.5 14v-3h3",stroke:"currentColor",strokeWidth:"1.25",strokeLinecap:"round",strokeLinejoin:"round"})]})}var Wu=`
2
2
  @keyframes devPanelSlideIn {
3
3
  0% {
4
4
  opacity: 0;
@@ -46,28 +46,28 @@ import{a as qr,b as Wr,c as Gr,d as wt,e as xt,f as ga,g as jr,h as zr,i as Vr,j
46
46
  .dev-json-editor::-webkit-scrollbar-thumb:hover {
47
47
  background: rgba(255, 255, 255, 0.15);
48
48
  }
49
- `;function ss({defaultProps:e,widgetPaths:t,children:a}){let[o,r]=Ne(!1),[s,n]=Ne(!1);return Ct(()=>{if(new URLSearchParams(window.location.search).get("platform")==="mcp-apps"){r(!0);return}if(t&&t.length>0){let l=window.location.pathname,u=t.some(c=>l===c||l.startsWith(`${c}/`));n(u),u&&Rt(e)}else Rt(e),n(!0);r(!0)},[e,t]),o?s?X(Lo,{children:[E(Au,{children:a}),E(Ru,{defaultProps:e})]}):E(Lo,{children:a}):null}function Au({children:e}){return E("div",{className:"min-h-screen bg-[#212121] flex items-center justify-center p-8",children:E("div",{className:"relative w-full max-w-md overflow-hidden rounded-2xl sm:rounded-3xl border border-[#414141]",style:{boxShadow:"0px 0px 0px 1px #414141, 0px 4px 14px rgba(0,0,0,0.24)"},children:e})})}function rs({options:e,value:t,onChange:a}){let o=e.findIndex(r=>r.value===t);return X("div",{className:"relative flex p-0.5 rounded-lg",style:{background:"rgba(255, 255, 255, 0.04)",border:"1px solid rgba(255, 255, 255, 0.06)"},children:[E("div",{className:"absolute top-0.5 bottom-0.5 rounded-md transition-transform duration-150 ease-out",style:{width:`calc(${100/e.length}% - 2px)`,left:"2px",transform:`translateX(calc(${o*100}% + ${o*2}px))`,background:"rgba(255, 255, 255, 0.1)"}}),e.map(r=>X("button",{type:"button",onClick:()=>a(r.value),className:`
49
+ `;function mn({defaultProps:e,widgetPaths:t,children:a}){let[o,r]=Ue(!1),[n,s]=Ue(!1);return kt(()=>{if(new URLSearchParams(window.location.search).get("platform")==="mcp-apps"){r(!0);return}if(t&&t.length>0){let l=window.location.pathname,u=t.some(c=>l===c||l.startsWith(`${c}/`));s(u),u&&Et(e)}else Et(e),s(!0);r(!0)},[e,t]),o?n?Q(To,{children:[B(Gu,{children:a}),B(ju,{defaultProps:e})]}):B(To,{children:a}):null}function Gu({children:e}){return B("div",{className:"min-h-screen bg-[#212121] flex items-center justify-center p-8",children:B("div",{className:"relative w-full max-w-md overflow-hidden rounded-2xl sm:rounded-3xl border border-[#414141]",style:{boxShadow:"0px 0px 0px 1px #414141, 0px 4px 14px rgba(0,0,0,0.24)"},children:e})})}function pn({options:e,value:t,onChange:a}){let o=e.findIndex(r=>r.value===t);return Q("div",{className:"relative flex p-0.5 rounded-lg",style:{background:"rgba(255, 255, 255, 0.04)",border:"1px solid rgba(255, 255, 255, 0.06)"},children:[B("div",{className:"absolute top-0.5 bottom-0.5 rounded-md transition-transform duration-150 ease-out",style:{width:`calc(${100/e.length}% - 2px)`,left:"2px",transform:`translateX(calc(${o*100}% + ${o*2}px))`,background:"rgba(255, 255, 255, 0.1)"}}),e.map(r=>Q("button",{type:"button",onClick:()=>a(r.value),className:`
50
50
  relative z-10 flex-1 flex items-center justify-center gap-1.5 px-2 py-1.5
51
51
  text-xs font-medium rounded-md transition-colors duration-150
52
52
  ${t===r.value?"text-white":"text-gray-400 hover:text-gray-300"}
53
- `,children:[r.icon,E("span",{className:"capitalize",children:r.label})]},r.value))]})}function Ru({defaultProps:e}){let[t,a]=Ne(()=>typeof window>"u"?!1:localStorage.getItem("dev-controls-open")==="true"),[o,r]=Ne(!1),[s,n]=Ne(t),[i,l]=Ne("inline"),[u,c]=Ne("dark"),[d,p]=Ne(!1),[m,h]=Ne(()=>JSON.stringify(e??{},null,2)),[I,L]=Ne(null),S=xo(null),C=xo(null),g=xo(null);Ct(()=>{let F=Ca();l(F.displayMode),c(F.theme)},[]),Ct(()=>{typeof window>"u"||(window.openai||(window.openai={}),window.openai.safeArea={insets:{top:0,bottom:d?Ia:0,left:0,right:0}},window.dispatchEvent(new Tt({globals:{safeArea:window.openai.safeArea}})))},[d]),Ct(()=>{localStorage.setItem("dev-controls-open",String(t))},[t]);let b=je(()=>{n(!0),requestAnimationFrame(()=>{a(!0)})},[]),v=je(()=>{r(!0),a(!1),setTimeout(()=>{n(!1),r(!1)},150)},[]),P=je(()=>{t?v():b()},[t,b,v]);Ct(()=>{let F=J=>{(J.metaKey||J.ctrlKey)&&J.shiftKey&&J.key==="d"&&(J.preventDefault(),P()),J.key==="Escape"&&t&&v()};return window.addEventListener("keydown",F),()=>window.removeEventListener("keydown",F)},[t,P,v]),Ct(()=>{if(!t)return;let F=J=>{g.current&&!g.current.contains(J.target)&&v()};return document.addEventListener("mousedown",F),()=>document.removeEventListener("mousedown",F)},[t,v]);let A=je(F=>{l(F),Ft(F)},[]),R=je(F=>{c(F),Dt(F)},[]),_=je(F=>{try{let J=JSON.parse(F);L(null),Mt(J)}catch{L("Invalid JSON")}},[]),M=je(F=>{h(F),S.current&&clearTimeout(S.current),S.current=setTimeout(()=>{_(F)},500)},[_]),T=je(()=>{S.current&&clearTimeout(S.current),_(m)},[_,m]),y=je(()=>{let F=JSON.stringify(e??{},null,2);h(F),L(null),Mt(e??{}),l("inline"),Ft("inline"),c("dark"),Dt("dark")},[e]),D=[{value:"inline",label:"inline",icon:E(Su,{className:"w-3.5 h-3.5"})},{value:"pip",label:"pip",icon:E(yu,{className:"w-3.5 h-3.5"})},{value:"fullscreen",label:"full",icon:E(bu,{className:"w-3.5 h-3.5"})}],H=[{value:"light",label:"light",icon:E(ku,{className:"w-3.5 h-3.5"})},{value:"dark",label:"dark",icon:E(Tu,{className:"w-3.5 h-3.5"})}];return X(Lo,{children:[E("style",{dangerouslySetInnerHTML:{__html:Pu}}),X("div",{ref:g,className:"fixed bottom-4 right-4 z-[9999] font-['Inter',_system-ui,_sans-serif]",children:[X("button",{type:"button",onClick:P,className:"group relative flex items-center justify-center w-11 h-11 rounded-xl transition-all duration-200 ease-out hover:scale-105 active:scale-95",style:{background:"rgba(14, 14, 16, 0.95)",backdropFilter:"blur(16px)",WebkitBackdropFilter:"blur(16px)",border:"1px solid rgba(255, 255, 255, 0.08)",boxShadow:`
53
+ `,children:[r.icon,B("span",{className:"capitalize",children:r.label})]},r.value))]})}function ju({defaultProps:e}){let[t,a]=Ue(()=>typeof window>"u"?!1:localStorage.getItem("dev-controls-open")==="true"),[o,r]=Ue(!1),[n,s]=Ue(t),[i,l]=Ue("inline"),[u,c]=Ue("dark"),[d,p]=Ue(!1),[m,h]=Ue(()=>JSON.stringify(e??{},null,2)),[I,L]=Ue(null),S=ko(null),C=ko(null),g=ko(null);kt(()=>{let v=va();l(v.displayMode),c(v.theme)},[]),kt(()=>{typeof window>"u"||(window.openai||(window.openai={}),window.openai.safeArea={insets:{top:0,bottom:d?Pa:0,left:0,right:0}},window.dispatchEvent(new Mt({globals:{safeArea:window.openai.safeArea}})))},[d]),kt(()=>{localStorage.setItem("dev-controls-open",String(t))},[t]);let y=Ve(()=>{s(!0),requestAnimationFrame(()=>{a(!0)})},[]),A=Ve(()=>{r(!0),a(!1),setTimeout(()=>{s(!1),r(!1)},150)},[]),R=Ve(()=>{t?A():y()},[t,y,A]);kt(()=>{let v=q=>{(q.metaKey||q.ctrlKey)&&q.shiftKey&&q.key==="d"&&(q.preventDefault(),R()),q.key==="Escape"&&t&&A()};return window.addEventListener("keydown",v),()=>window.removeEventListener("keydown",v)},[t,R,A]),kt(()=>{if(!t)return;let v=q=>{g.current&&!g.current.contains(q.target)&&A()};return document.addEventListener("mousedown",v),()=>document.removeEventListener("mousedown",v)},[t,A]);let P=Ve(v=>{l(v),Nt(v)},[]),M=Ve(v=>{c(v),Ot(v)},[]),N=Ve(v=>{try{let q=JSON.parse(v);L(null),_t(q)}catch{L("Invalid JSON")}},[]),D=Ve(v=>{h(v),S.current&&clearTimeout(S.current),S.current=setTimeout(()=>{N(v)},500)},[N]),_=Ve(()=>{S.current&&clearTimeout(S.current),N(m)},[N,m]),T=Ve(()=>{let v=JSON.stringify(e??{},null,2);h(v),L(null),_t(e??{}),l("inline"),Nt("inline"),c("dark"),Ot("dark")},[e]),E=[{value:"inline",label:"inline",icon:B(_u,{className:"w-3.5 h-3.5"})},{value:"pip",label:"pip",icon:B(Nu,{className:"w-3.5 h-3.5"})},{value:"fullscreen",label:"full",icon:B(Ou,{className:"w-3.5 h-3.5"})}],k=[{value:"light",label:"light",icon:B(Uu,{className:"w-3.5 h-3.5"})},{value:"dark",label:"dark",icon:B(Hu,{className:"w-3.5 h-3.5"})}];return Q(To,{children:[B("style",{dangerouslySetInnerHTML:{__html:Wu}}),Q("div",{ref:g,className:"fixed bottom-4 right-4 z-[9999] font-['Inter',_system-ui,_sans-serif]",children:[Q("button",{type:"button",onClick:R,className:"group relative flex items-center justify-center w-11 h-11 rounded-xl transition-all duration-200 ease-out hover:scale-105 active:scale-95",style:{background:"rgba(14, 14, 16, 0.95)",backdropFilter:"blur(16px)",WebkitBackdropFilter:"blur(16px)",border:"1px solid rgba(255, 255, 255, 0.08)",boxShadow:`
54
54
  0 4px 12px rgba(0, 0, 0, 0.4),
55
55
  0 0 0 1px rgba(255, 255, 255, 0.05),
56
56
  inset 0 1px 0 rgba(255, 255, 255, 0.04)
57
- `},"aria-label":"Toggle Dev Controls","aria-expanded":t,children:[E(os,{className:`w-5 h-5 transition-all duration-200 ${t?"text-indigo-400 scale-110":"text-gray-300 group-hover:text-white"}`}),E("div",{className:"absolute inset-0 rounded-xl opacity-0 group-hover:opacity-100 transition-opacity duration-200 pointer-events-none",style:{background:"radial-gradient(circle at center, rgba(99, 102, 241, 0.15) 0%, transparent 70%)"}})]}),s&&X("div",{ref:C,className:`absolute bottom-14 right-0 w-80 ${t&&!o?"dev-panel-enter":"dev-panel-exit"}`,style:{maxHeight:"calc(100vh - 120px)",background:"rgba(14, 14, 16, 0.92)",backdropFilter:"blur(24px)",WebkitBackdropFilter:"blur(24px)",border:"1px solid rgba(255, 255, 255, 0.06)",borderRadius:"16px",boxShadow:`
57
+ `},"aria-label":"Toggle Dev Controls","aria-expanded":t,children:[B(fn,{className:`w-5 h-5 transition-all duration-200 ${t?"text-indigo-400 scale-110":"text-gray-300 group-hover:text-white"}`}),B("div",{className:"absolute inset-0 rounded-xl opacity-0 group-hover:opacity-100 transition-opacity duration-200 pointer-events-none",style:{background:"radial-gradient(circle at center, rgba(99, 102, 241, 0.15) 0%, transparent 70%)"}})]}),n&&Q("div",{ref:C,className:`absolute bottom-14 right-0 w-80 ${t&&!o?"dev-panel-enter":"dev-panel-exit"}`,style:{maxHeight:"calc(100vh - 120px)",background:"rgba(14, 14, 16, 0.92)",backdropFilter:"blur(24px)",WebkitBackdropFilter:"blur(24px)",border:"1px solid rgba(255, 255, 255, 0.06)",borderRadius:"16px",boxShadow:`
58
58
  0 25px 50px -12px rgba(0, 0, 0, 0.6),
59
59
  0 0 0 1px rgba(255, 255, 255, 0.05),
60
60
  inset 0 1px 0 rgba(255, 255, 255, 0.04)
61
- `},children:[X("div",{className:"flex items-center justify-between px-4 py-3",style:{borderBottom:"1px solid rgba(255, 255, 255, 0.06)"},children:[X("div",{className:"flex items-center gap-2",children:[E(os,{className:"w-4 h-4 text-gray-400"}),E("span",{className:"text-sm font-medium text-white",children:"Dev Controls"})]}),X("div",{className:"flex items-center gap-2",children:[E("span",{className:"text-[10px] font-medium text-gray-500 px-1.5 py-0.5 rounded",style:{background:"rgba(255, 255, 255, 0.04)",border:"1px solid rgba(255, 255, 255, 0.06)"},children:typeof navigator<"u"&&navigator.platform?.includes("Mac")?"\u2318\u21E7D":"Ctrl+Shift+D"}),E("button",{type:"button",onClick:v,className:"p-1 rounded-md text-gray-500 hover:text-gray-300 hover:bg-white/5 transition-colors",children:E(Iu,{className:"w-4 h-4"})})]})]}),X("div",{className:"p-4 space-y-5 overflow-y-auto",style:{maxHeight:"calc(100vh - 200px)"},children:[X("div",{children:[E("label",{htmlFor:"display-mode",className:"text-[11px] font-medium uppercase tracking-wider text-gray-500 block mb-2",children:"Display Mode"}),E(rs,{options:D,value:i,onChange:A})]}),X("div",{children:[E("label",{htmlFor:"theme",className:"text-[11px] font-medium uppercase tracking-wider text-gray-500 block mb-2",children:"Theme"}),E(rs,{options:H,value:u,onChange:R})]}),X("div",{children:[E("label",{htmlFor:"safe-area",className:"text-[11px] font-medium uppercase tracking-wider text-gray-500 block mb-2",children:"Safe Area (Chat Input)"}),X("button",{type:"button",onClick:()=>p(!d),className:`w-full flex items-center justify-between px-3 py-2.5 rounded-lg text-xs font-medium transition-all duration-150 ${d?"text-emerald-400":"text-gray-400"}`,style:{background:d?"rgba(34, 197, 94, 0.1)":"rgba(255, 255, 255, 0.04)",border:d?"1px solid rgba(34, 197, 94, 0.3)":"1px solid rgba(255, 255, 255, 0.06)"},children:[E("span",{children:"Mock ChatGPT Input Bar"}),E("span",{className:`px-2 py-0.5 rounded text-[10px] font-semibold ${d?"bg-emerald-500/20 text-emerald-400":"bg-gray-500/20 text-gray-500"}`,children:d?"ON":"OFF"})]}),d&&X("p",{className:"text-[10px] text-gray-500 mt-1.5",children:["bottom: ",Ia,"px"]})]}),X("div",{children:[E("label",{htmlFor:"widget-props",className:"text-[11px] font-medium uppercase tracking-wider text-gray-500 block mb-2",children:"Widget Props"}),E("textarea",{value:m,onChange:F=>M(F.target.value),onBlur:T,className:"dev-json-editor w-full min-h-[160px] text-xs text-gray-200 p-3 rounded-lg resize-none focus:outline-none transition-colors",style:{background:"rgba(0, 0, 0, 0.3)",border:I?"1px solid rgba(239, 68, 68, 0.5)":"1px solid rgba(255, 255, 255, 0.06)",fontFamily:"'JetBrains Mono', 'SF Mono', 'Fira Code', monospace",lineHeight:1.6},onFocus:F=>{I||(F.target.style.borderColor="rgba(99, 102, 241, 0.5)")},onBlurCapture:F=>{I||(F.target.style.borderColor="rgba(255, 255, 255, 0.06)")},spellCheck:!1}),I&&X("p",{className:"text-red-400 text-[11px] mt-1.5 flex items-center gap-1",children:[E("svg",{"aria-hidden":"true","aria-label":"Error",className:"w-3 h-3",viewBox:"0 0 16 16",fill:"currentColor",children:E("path",{d:"M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM7 4.5h2v4H7v-4zm0 5h2v2H7v-2z"})}),I]})]}),X("button",{type:"button",onClick:y,className:"w-full flex items-center justify-center gap-2 px-3 py-2 rounded-lg text-xs font-medium text-gray-400 transition-all duration-150 hover:text-gray-200",style:{background:"rgba(255, 255, 255, 0.04)",border:"1px solid rgba(255, 255, 255, 0.06)"},onMouseEnter:F=>{F.currentTarget.style.background="rgba(255, 255, 255, 0.08)",F.currentTarget.style.borderColor="rgba(255, 255, 255, 0.1)"},onMouseLeave:F=>{F.currentTarget.style.background="rgba(255, 255, 255, 0.04)",F.currentTarget.style.borderColor="rgba(255, 255, 255, 0.06)"},children:[E(vu,{className:"w-3.5 h-3.5"}),"Reset to Defaults"]})]})]})]}),d&&X("div",{className:"fixed bottom-0 left-0 right-0 z-[9998] flex items-center justify-center pointer-events-none",style:{height:`${Ia}px`,background:"linear-gradient(to top, #1a1a1a 0%, #1a1a1a 80%, transparent 100%)"},children:[X("div",{className:"w-full max-w-2xl mx-4 px-4 py-3 rounded-2xl bg-[#2f2f2f] border border-[#424242] flex items-center gap-3",children:[E("div",{className:"w-8 h-8 rounded-full bg-[#424242] flex items-center justify-center",children:E("svg",{"aria-hidden":"true",className:"w-4 h-4 text-gray-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:E("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})})}),E("div",{className:"flex-1 text-gray-400 text-sm",children:"Ask me anything..."}),E("div",{className:"w-8 h-8 rounded-full bg-[#424242] flex items-center justify-center",children:E("svg",{"aria-hidden":"true",className:"w-4 h-4 text-gray-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:E("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 11a7 7 0 01-7 7m0 0a7 7 0 01-7-7m7 7v4m0 0H8m4 0h4m-4-8a3 3 0 01-3-3V5a3 3 0 116 0v6a3 3 0 01-3 3z"})})})]}),X("div",{className:"absolute bottom-1 text-[10px] text-gray-600 font-mono",children:["Mock SafeArea: bottom=",Ia,"px"]})]})]})}f();f();import{useCallback as Fu,useContext as Du,useLayoutEffect as Bu,useMemo as Eu,useRef as ns}from"react";f();import{createContext as Mu}from"react";var Bt=Mu(null);import{Fragment as is,jsx as Co}from"react/jsx-runtime";var _u="waniwani:send-follow-up:advanced:",Nu=1e4;function ls(e){return`${_u}${e??"default"}`}function Uu(e){try{let t=globalThis.localStorage?.getItem(ls(e));if(!t)return null;let a=JSON.parse(t);return typeof a?.at!="number"||typeof a?.byMountId!="string"?null:a}catch{return null}}function Ou(e,t){try{globalThis.localStorage?.setItem(ls(e),JSON.stringify({at:Date.now(),byMountId:t}))}catch{}}function Io(){return typeof window>"u"?!1:typeof window.openai=="object"}function Hu(){return Io()?window.openai:null}function qu(){return Bu(()=>{let e=document.documentElement,t=document.body,a=e.getAttribute("style"),o=t.getAttribute("style"),r="margin:0!important;padding:0!important;border:0!important;background:transparent!important;background-color:transparent!important;height:0!important;min-height:0!important;max-height:0!important;overflow:hidden!important;";return e.setAttribute("style",r),t.setAttribute("style",r),()=>{a===null?e.removeAttribute("style"):e.setAttribute("style",a),o===null?t.removeAttribute("style"):t.setAttribute("style",o)}},[]),null}function us(e){let t=Du(Bt),a=ns(e);a.current=e;let o=t?.getToolResponseMetadata?.()??null,r=Hu()?.toolResponseMetadata??null,s=o??r,n=s&&typeof s.viewUUID=="string"?s.viewUUID:void 0,i=ns("");i.current===""&&(i.current=crypto.randomUUID());let l=Fu((c,d)=>{Io()&&Ou(n,i.current);try{Promise.resolve(a.current(c)).catch(p=>{console.error("[unstable_useSendFollowUpWithGhostGuard]",p)})}catch(p){console.error("[unstable_useSendFollowUpWithGhostGuard]",p)}},[n]),u=Eu(()=>{let c=i.current;return function({children:p}){if(!Io())return Co(is,{children:p});let m=Uu(n);return m&&m.byMountId!==c&&Date.now()-m.at<Nu?Co(qu,{}):Co(is,{children:p})}},[n]);return{sendFollowUp:l,Guard:u}}f();import{useCallback as ju}from"react";f();import Et,{useCallback as cs,useContext as Wu,useEffect as fs,useState as So,useSyncExternalStore as Gu}from"react";f();async function ds(){let{detectPlatform:e}=await import("../platform-ZNBJH5XX.js");if(e()==="openai"){let{OpenAIWidgetClient:a}=await import("../openai-client-XYLENCIC.js");return new a}else{let{MCPAppsWidgetClient:a}=await import("../mcp-apps-client-RY3VD4L7.js");return new a}}function ps({children:e,loading:t=null,onError:a}){let[o,r]=So(null),[s,n]=So(null),[i,l]=So(!0);return fs(()=>{let u=!0,c=null;async function d(){try{let p=await ds();await p.connect(),u?(c=p,r(p),l(!1)):p.close()}catch(p){u&&(console.error("error",p),n(p instanceof Error?p:new Error(String(p))),l(!1))}}return d(),()=>{u=!1,c?.close()}},[]),fs(()=>{if(!o)return;let u=c=>{document.documentElement.classList.toggle("dark",c==="dark"),document.documentElement.style.colorScheme=c==="dark"?"dark":"auto"};return u(o.getTheme()),o.onThemeChange(u)},[o]),s&&a?Et.createElement(Et.Fragment,null,a(s)):i||!o?Et.createElement(Et.Fragment,null,t):Et.createElement(Bt.Provider,{value:o},e)}function W(e){let t=Wu(Bt);if(!t)throw new Error("useWidgetClient must be used within a WidgetProvider");let a=cs(s=>e==="toolOutput"?t.onToolResult(()=>s()):e==="theme"?t.onThemeChange(()=>s()):e==="displayMode"?t.onDisplayModeChange(()=>s()):e==="safeArea"?t.onSafeAreaChange(()=>s()):e==="maxHeight"?t.onMaxHeightChange(()=>s()):e==="toolResponseMetadata"?t.onToolResponseMetadataChange(()=>s()):e==="widgetState"?t.onWidgetStateChange(()=>s()):()=>{},[t,e]),o=cs(()=>e==="toolOutput"?t.getToolOutput():e==="theme"?t.getTheme():e==="displayMode"?t.getDisplayMode():e==="locale"?t.getLocale():e==="safeArea"?t.getSafeArea():e==="maxHeight"?t.getMaxHeight():e==="toolResponseMetadata"?t.getToolResponseMetadata():e==="widgetState"?t.getWidgetState():null,[t,e]),r=Gu(a,o,o);return e?r:t}function ms(){let e=W();return ju((t,a)=>e.callTool(t,a),[e])}f();function hs(){return W("displayMode")}f();f();function Sa(){return W("toolOutput")}function gs(){return{data:Sa()}}f();import{useSyncExternalStore as zu}from"react";function ws(){return zu(()=>()=>{},()=>typeof window>"u"?!1:window.__isChatGptApp===!0,()=>!1)}f();function xs(){return W("locale")}f();function Ls(){return W("maxHeight")}f();import{useCallback as Vu}from"react";function Cs(){let e=W();return Vu(t=>e.openExternal(t),[e])}f();import{useCallback as $u}from"react";function Is(){let e=W();return $u(t=>e.requestDisplayMode(t),[e])}f();function Ss(){return W("safeArea")}f();import{useCallback as Xu}from"react";function ys(){let e=W();return Xu((t,a)=>{(async()=>{gt(a?.modelContext)&&await Promise.resolve(e.updateModelContext(a.modelContext)),await Promise.resolve(e.sendFollowUp(t))})().catch(o=>{console.error("Failed to send follow-up message:",o)})},[e])}f();function bs(){return W("theme")}f();function ks(){return W("toolResponseMetadata")}f();import{useCallback as Ku}from"react";function Ts(){let e=W();return Ku(async t=>{await Promise.resolve(e.updateModelContext(t))},[e])}f();import{useCallback as Qu,useEffect as Ju,useState as Zu}from"react";function vs(e){let t=W("widgetState"),[a,o]=Zu(()=>t??(typeof e=="function"?e():e??null));Ju(()=>{o(t)},[t]);let r=Qu(s=>{o(n=>{let i=typeof s=="function"?s(n):s;return ho()==="openai"&&i!=null&&window.openai?.setWidgetState(i),i})},[]);return[a,r]}f();import{jsx as at,jsxs as Ps}from"react/jsx-runtime";var Yu=()=>Ps("div",{className:"flex flex-col items-center justify-center h-full min-h-[120px] gap-4",children:[Ps("div",{className:"flex gap-2",children:[at("div",{className:"w-3 h-3 rounded-full bg-gradient-to-r from-blue-400 to-cyan-400 animate-bounce [animation-delay:-0.3s]"}),at("div",{className:"w-3 h-3 rounded-full bg-gradient-to-r from-cyan-400 to-teal-400 animate-bounce [animation-delay:-0.15s]"}),at("div",{className:"w-3 h-3 rounded-full bg-gradient-to-r from-teal-400 to-emerald-400 animate-bounce"})]}),at("p",{className:"text-sm font-medium text-transparent bg-clip-text bg-gradient-to-r from-slate-400 via-slate-200 to-slate-400 bg-[length:200%_100%] animate-[shimmer_1.5s_ease-in-out_infinite]",children:"Loading widget..."}),at("div",{className:"absolute inset-0 flex items-center justify-center pointer-events-none",children:at("div",{className:"w-16 h-16 rounded-full border-2 border-blue-400/20 animate-ping"})}),at("style",{children:`
61
+ `},children:[Q("div",{className:"flex items-center justify-between px-4 py-3",style:{borderBottom:"1px solid rgba(255, 255, 255, 0.06)"},children:[Q("div",{className:"flex items-center gap-2",children:[B(fn,{className:"w-4 h-4 text-gray-400"}),B("span",{className:"text-sm font-medium text-white",children:"Dev Controls"})]}),Q("div",{className:"flex items-center gap-2",children:[B("span",{className:"text-[10px] font-medium text-gray-500 px-1.5 py-0.5 rounded",style:{background:"rgba(255, 255, 255, 0.04)",border:"1px solid rgba(255, 255, 255, 0.06)"},children:typeof navigator<"u"&&navigator.platform?.includes("Mac")?"\u2318\u21E7D":"Ctrl+Shift+D"}),B("button",{type:"button",onClick:A,className:"p-1 rounded-md text-gray-500 hover:text-gray-300 hover:bg-white/5 transition-colors",children:B(Eu,{className:"w-4 h-4"})})]})]}),Q("div",{className:"p-4 space-y-5 overflow-y-auto",style:{maxHeight:"calc(100vh - 200px)"},children:[Q("div",{children:[B("label",{htmlFor:"display-mode",className:"text-[11px] font-medium uppercase tracking-wider text-gray-500 block mb-2",children:"Display Mode"}),B(pn,{options:E,value:i,onChange:P})]}),Q("div",{children:[B("label",{htmlFor:"theme",className:"text-[11px] font-medium uppercase tracking-wider text-gray-500 block mb-2",children:"Theme"}),B(pn,{options:k,value:u,onChange:M})]}),Q("div",{children:[B("label",{htmlFor:"safe-area",className:"text-[11px] font-medium uppercase tracking-wider text-gray-500 block mb-2",children:"Safe Area (Chat Input)"}),Q("button",{type:"button",onClick:()=>p(!d),className:`w-full flex items-center justify-between px-3 py-2.5 rounded-lg text-xs font-medium transition-all duration-150 ${d?"text-emerald-400":"text-gray-400"}`,style:{background:d?"rgba(34, 197, 94, 0.1)":"rgba(255, 255, 255, 0.04)",border:d?"1px solid rgba(34, 197, 94, 0.3)":"1px solid rgba(255, 255, 255, 0.06)"},children:[B("span",{children:"Mock ChatGPT Input Bar"}),B("span",{className:`px-2 py-0.5 rounded text-[10px] font-semibold ${d?"bg-emerald-500/20 text-emerald-400":"bg-gray-500/20 text-gray-500"}`,children:d?"ON":"OFF"})]}),d&&Q("p",{className:"text-[10px] text-gray-500 mt-1.5",children:["bottom: ",Pa,"px"]})]}),Q("div",{children:[B("label",{htmlFor:"widget-props",className:"text-[11px] font-medium uppercase tracking-wider text-gray-500 block mb-2",children:"Widget Props"}),B("textarea",{value:m,onChange:v=>D(v.target.value),onBlur:_,className:"dev-json-editor w-full min-h-[160px] text-xs text-gray-200 p-3 rounded-lg resize-none focus:outline-none transition-colors",style:{background:"rgba(0, 0, 0, 0.3)",border:I?"1px solid rgba(239, 68, 68, 0.5)":"1px solid rgba(255, 255, 255, 0.06)",fontFamily:"'JetBrains Mono', 'SF Mono', 'Fira Code', monospace",lineHeight:1.6},onFocus:v=>{I||(v.target.style.borderColor="rgba(99, 102, 241, 0.5)")},onBlurCapture:v=>{I||(v.target.style.borderColor="rgba(255, 255, 255, 0.06)")},spellCheck:!1}),I&&Q("p",{className:"text-red-400 text-[11px] mt-1.5 flex items-center gap-1",children:[B("svg",{"aria-hidden":"true","aria-label":"Error",className:"w-3 h-3",viewBox:"0 0 16 16",fill:"currentColor",children:B("path",{d:"M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM7 4.5h2v4H7v-4zm0 5h2v2H7v-2z"})}),I]})]}),Q("button",{type:"button",onClick:T,className:"w-full flex items-center justify-center gap-2 px-3 py-2 rounded-lg text-xs font-medium text-gray-400 transition-all duration-150 hover:text-gray-200",style:{background:"rgba(255, 255, 255, 0.04)",border:"1px solid rgba(255, 255, 255, 0.06)"},onMouseEnter:v=>{v.currentTarget.style.background="rgba(255, 255, 255, 0.08)",v.currentTarget.style.borderColor="rgba(255, 255, 255, 0.1)"},onMouseLeave:v=>{v.currentTarget.style.background="rgba(255, 255, 255, 0.04)",v.currentTarget.style.borderColor="rgba(255, 255, 255, 0.06)"},children:[B(qu,{className:"w-3.5 h-3.5"}),"Reset to Defaults"]})]})]})]}),d&&Q("div",{className:"fixed bottom-0 left-0 right-0 z-[9998] flex items-center justify-center pointer-events-none",style:{height:`${Pa}px`,background:"linear-gradient(to top, #1a1a1a 0%, #1a1a1a 80%, transparent 100%)"},children:[Q("div",{className:"w-full max-w-2xl mx-4 px-4 py-3 rounded-2xl bg-[#2f2f2f] border border-[#424242] flex items-center gap-3",children:[B("div",{className:"w-8 h-8 rounded-full bg-[#424242] flex items-center justify-center",children:B("svg",{"aria-hidden":"true",className:"w-4 h-4 text-gray-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:B("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})})}),B("div",{className:"flex-1 text-gray-400 text-sm",children:"Ask me anything..."}),B("div",{className:"w-8 h-8 rounded-full bg-[#424242] flex items-center justify-center",children:B("svg",{"aria-hidden":"true",className:"w-4 h-4 text-gray-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:B("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 11a7 7 0 01-7 7m0 0a7 7 0 01-7-7m7 7v4m0 0H8m4 0h4m-4-8a3 3 0 01-3-3V5a3 3 0 116 0v6a3 3 0 01-3 3z"})})})]}),Q("div",{className:"absolute bottom-1 text-[10px] text-gray-600 font-mono",children:["Mock SafeArea: bottom=",Pa,"px"]})]})]})}f();f();import{useCallback as Vu,useContext as $u,useLayoutEffect as Xu,useMemo as Ku,useRef as hn}from"react";f();import{createContext as zu}from"react";var Ut=zu(null);import{Fragment as gn,jsx as vo}from"react/jsx-runtime";var Qu="waniwani:send-follow-up:advanced:",Ju=1e4;function wn(e){return`${Qu}${e??"default"}`}function Zu(e){try{let t=globalThis.localStorage?.getItem(wn(e));if(!t)return null;let a=JSON.parse(t);return typeof a?.at!="number"||typeof a?.byMountId!="string"?null:a}catch{return null}}function Yu(e,t){try{globalThis.localStorage?.setItem(wn(e),JSON.stringify({at:Date.now(),byMountId:t}))}catch{}}function Po(){return typeof window>"u"?!1:typeof window.openai=="object"}function ed(){return Po()?window.openai:null}function td(){return Xu(()=>{let e=document.documentElement,t=document.body,a=e.getAttribute("style"),o=t.getAttribute("style"),r="margin:0!important;padding:0!important;border:0!important;background:transparent!important;background-color:transparent!important;height:0!important;min-height:0!important;max-height:0!important;overflow:hidden!important;";return e.setAttribute("style",r),t.setAttribute("style",r),()=>{a===null?e.removeAttribute("style"):e.setAttribute("style",a),o===null?t.removeAttribute("style"):t.setAttribute("style",o)}},[]),null}function xn(e){let t=$u(Ut),a=hn(e);a.current=e;let o=t?.getToolResponseMetadata?.()??null,r=ed()?.toolResponseMetadata??null,n=o??r,s=n&&typeof n.viewUUID=="string"?n.viewUUID:void 0,i=hn("");i.current===""&&(i.current=crypto.randomUUID());let l=Vu((c,d)=>{Po()&&Yu(s,i.current);try{Promise.resolve(a.current(c)).catch(p=>{console.error("[unstable_useSendFollowUpWithGhostGuard]",p)})}catch(p){console.error("[unstable_useSendFollowUpWithGhostGuard]",p)}},[s]),u=Ku(()=>{let c=i.current;return function({children:p}){if(!Po())return vo(gn,{children:p});let m=Zu(s);return m&&m.byMountId!==c&&Date.now()-m.at<Ju?vo(td,{}):vo(gn,{children:p})}},[s]);return{sendFollowUp:l,Guard:u}}f();import{useCallback as rd}from"react";f();import Ht,{useCallback as Cn,useContext as ad,useEffect as In,useState as Ao,useSyncExternalStore as od}from"react";f();async function Ln(){let{detectPlatform:e}=await import("../platform-ZNBJH5XX.js");if(e()==="openai"){let{OpenAIWidgetClient:a}=await import("../openai-client-XYLENCIC.js");return new a}else{let{MCPAppsWidgetClient:a}=await import("../mcp-apps-client-RY3VD4L7.js");return new a}}function Sn({children:e,loading:t=null,onError:a}){let[o,r]=Ao(null),[n,s]=Ao(null),[i,l]=Ao(!0);return In(()=>{let u=!0,c=null;async function d(){try{let p=await Ln();await p.connect(),u?(c=p,r(p),l(!1)):p.close()}catch(p){u&&(console.error("error",p),s(p instanceof Error?p:new Error(String(p))),l(!1))}}return d(),()=>{u=!1,c?.close()}},[]),In(()=>{if(!o)return;let u=c=>{document.documentElement.classList.toggle("dark",c==="dark"),document.documentElement.style.colorScheme=c==="dark"?"dark":"auto"};return u(o.getTheme()),o.onThemeChange(u)},[o]),n&&a?Ht.createElement(Ht.Fragment,null,a(n)):i||!o?Ht.createElement(Ht.Fragment,null,t):Ht.createElement(Ut.Provider,{value:o},e)}function j(e){let t=ad(Ut);if(!t)throw new Error("useWidgetClient must be used within a WidgetProvider");let a=Cn(n=>e==="toolOutput"?t.onToolResult(()=>n()):e==="theme"?t.onThemeChange(()=>n()):e==="displayMode"?t.onDisplayModeChange(()=>n()):e==="safeArea"?t.onSafeAreaChange(()=>n()):e==="maxHeight"?t.onMaxHeightChange(()=>n()):e==="toolResponseMetadata"?t.onToolResponseMetadataChange(()=>n()):e==="widgetState"?t.onWidgetStateChange(()=>n()):()=>{},[t,e]),o=Cn(()=>e==="toolOutput"?t.getToolOutput():e==="theme"?t.getTheme():e==="displayMode"?t.getDisplayMode():e==="locale"?t.getLocale():e==="safeArea"?t.getSafeArea():e==="maxHeight"?t.getMaxHeight():e==="toolResponseMetadata"?t.getToolResponseMetadata():e==="widgetState"?t.getWidgetState():null,[t,e]),r=od(a,o,o);return e?r:t}function yn(){let e=j();return rd((t,a)=>e.callTool(t,a),[e])}f();function bn(){return j("displayMode")}f();f();function Aa(){return j("toolOutput")}function kn(){return{data:Aa()}}f();import{useSyncExternalStore as nd}from"react";function Tn(){return nd(()=>()=>{},()=>typeof window>"u"?!1:window.__isChatGptApp===!0,()=>!1)}f();function vn(){return j("locale")}f();function Pn(){return j("maxHeight")}f();import{useCallback as sd}from"react";function An(){let e=j();return sd(t=>e.openExternal(t),[e])}f();import{useCallback as id}from"react";function Rn(){let e=j();return id(t=>e.requestDisplayMode(t),[e])}f();function Mn(){return j("safeArea")}f();import{useCallback as ld}from"react";function Fn(){let e=j();return ld((t,a)=>{(async()=>{It(a?.modelContext)&&await Promise.resolve(e.updateModelContext(a.modelContext)),await Promise.resolve(e.sendFollowUp(t))})().catch(o=>{console.error("Failed to send follow-up message:",o)})},[e])}f();function Dn(){return j("theme")}f();function Bn(){return j("toolResponseMetadata")}f();import{useCallback as ud}from"react";function En(){let e=j();return ud(async t=>{await Promise.resolve(e.updateModelContext(t))},[e])}f();import{useCallback as dd,useEffect as cd,useState as fd}from"react";function _n(e){let t=j("widgetState"),[a,o]=fd(()=>t??(typeof e=="function"?e():e??null));cd(()=>{o(t)},[t]);let r=dd(n=>{o(s=>{let i=typeof n=="function"?n(s):n;return So()==="openai"&&i!=null&&window.openai?.setWidgetState(i),i})},[]);return[a,r]}f();import{jsx as nt,jsxs as Nn}from"react/jsx-runtime";var pd=()=>Nn("div",{className:"flex flex-col items-center justify-center h-full min-h-[120px] gap-4",children:[Nn("div",{className:"flex gap-2",children:[nt("div",{className:"w-3 h-3 rounded-full bg-gradient-to-r from-blue-400 to-cyan-400 animate-bounce [animation-delay:-0.3s]"}),nt("div",{className:"w-3 h-3 rounded-full bg-gradient-to-r from-cyan-400 to-teal-400 animate-bounce [animation-delay:-0.15s]"}),nt("div",{className:"w-3 h-3 rounded-full bg-gradient-to-r from-teal-400 to-emerald-400 animate-bounce"})]}),nt("p",{className:"text-sm font-medium text-transparent bg-clip-text bg-gradient-to-r from-slate-400 via-slate-200 to-slate-400 bg-[length:200%_100%] animate-[shimmer_1.5s_ease-in-out_infinite]",children:"Loading widget..."}),nt("div",{className:"absolute inset-0 flex items-center justify-center pointer-events-none",children:nt("div",{className:"w-16 h-16 rounded-full border-2 border-blue-400/20 animate-ping"})}),nt("style",{children:`
62
62
  @keyframes shimmer {
63
63
  0% { background-position: 200% 0; }
64
64
  100% { background-position: -200% 0; }
65
65
  }
66
- `})]});f();f();f();var ed={debug:0,warn:1,error:2,none:3};function td(){let e=process.env.WANIWANI_LOG_LEVEL;return e&&e in ed?e:process.env.WANIWANI_DEBUG?"debug":"none"}function Ue(e,t){return t??td()==="debug"?(...o)=>console.log(`[waniwani:${e}]`,...o):()=>{}}f();function As(e){if(e===!0)return{};if(!(e===!1||e===void 0))return e}f();function Rs(){return function(t){return t.headers.set("Access-Control-Allow-Origin","*"),t.headers.set("Access-Control-Allow-Methods","GET, POST, PATCH, OPTIONS"),t.headers.set("Access-Control-Allow-Headers","Content-Type, Authorization, X-Session-Id, X-Client-User-Agent"),t.headers.set("Access-Control-Expose-Headers","X-Session-Id"),t}}function Ms(e){return function(a,o){return e(new Response(JSON.stringify(a),{headers:{"Content-Type":"application/json"},status:o}))}}f();f();var ke=class extends Error{constructor(a,o){super(a);this.status=o;this.name="WaniWaniError"}};f();function Fs(e){let t=e.headers,a=t.get("x-vercel-ip-city")??t.get("cf-ipcity")??void 0,o=a?ad(a):void 0,r=t.get("x-vercel-ip-country")??t.get("cf-ipcountry")??void 0,s=t.get("x-vercel-ip-country-region")??void 0,n=t.get("x-vercel-ip-latitude")??t.get("cf-iplatitude")??void 0,i=t.get("x-vercel-ip-longitude")??t.get("cf-iplongitude")??void 0,l=t.get("x-vercel-ip-timezone")??t.get("cf-iptimezone")??void 0,u=t.get("x-real-ip")??t.get("x-forwarded-for")?.split(",")[0]?.trim()??t.get("cf-connecting-ip")??void 0;return{city:o,country:r,countryRegion:s,latitude:n,longitude:i,timezone:l,ip:u}}function ad(e){try{return decodeURIComponent(e)}catch{return e}}f();function Ds(e,t){if(!gt(t))return e;let a=Hr(t);return a?[e,a].filter(Boolean).join(`
66
+ `})]});f();f();f();var md={debug:0,warn:1,error:2,none:3};function hd(){let e=process.env.WANIWANI_LOG_LEVEL;return e&&e in md?e:process.env.WANIWANI_DEBUG?"debug":"none"}function He(e,t){return t??hd()==="debug"?(...o)=>console.log(`[waniwani:${e}]`,...o):()=>{}}f();function On(e){if(e===!0)return{};if(!(e===!1||e===void 0))return e}f();function Un(){return function(t){return t.headers.set("Access-Control-Allow-Origin","*"),t.headers.set("Access-Control-Allow-Methods","GET, POST, PATCH, OPTIONS"),t.headers.set("Access-Control-Allow-Headers","Content-Type, Authorization, X-Session-Id, X-Client-User-Agent"),t.headers.set("Access-Control-Expose-Headers","X-Session-Id"),t}}function Hn(e){return function(a,o){return e(new Response(JSON.stringify(a),{headers:{"Content-Type":"application/json"},status:o}))}}f();f();var ve=class extends Error{constructor(a,o){super(a);this.status=o;this.name="WaniWaniError"}};f();function qn(e){let t=e.headers,a=t.get("x-vercel-ip-city")??t.get("cf-ipcity")??void 0,o=a?gd(a):void 0,r=t.get("x-vercel-ip-country")??t.get("cf-ipcountry")??void 0,n=t.get("x-vercel-ip-country-region")??void 0,s=t.get("x-vercel-ip-latitude")??t.get("cf-iplatitude")??void 0,i=t.get("x-vercel-ip-longitude")??t.get("cf-iplongitude")??void 0,l=t.get("x-vercel-ip-timezone")??t.get("cf-iptimezone")??void 0,u=t.get("x-real-ip")??t.get("x-forwarded-for")?.split(",")[0]?.trim()??t.get("cf-connecting-ip")??void 0;return{city:o,country:r,countryRegion:n,latitude:s,longitude:i,timezone:l,ip:u}}function gd(e){try{return decodeURIComponent(e)}catch{return e}}f();function Wn(e,t){if(!It(t))return e;let a=Xr(t);return a?[e,a].filter(Boolean).join(`
67
67
 
68
- `):e}function Bs(e){let{apiKey:t,apiUrl:a,source:o,systemPrompt:r,maxSteps:s,beforeRequest:n,mcpServerUrl:i,resolveConfig:l,debug:u,webSearch:c}=e,d=Ue("chat",u);return async function(m){d("\u2192 POST",m.url);try{let h=await m.json(),I=h.messages??[],L=h.sessionId,S=h.modelContext,C=r,g=typeof h.extra=="object"&&h.extra!==null&&!Array.isArray(h.extra)?h.extra:void 0,b=h.visitorContext??null,v=Fs(m),P={geo:v,client:b};if(d("body parsed \u2014 messages:",I.length,"sessionId:",L??"(none)","geo:",JSON.stringify(v)),n){d("running beforeRequest hook");try{let D=await n({messages:I,sessionId:L,modelContext:S,request:m,visitor:P});D&&(D.messages&&(I=D.messages),D.systemPrompt!==void 0&&(C=D.systemPrompt),D.sessionId!==void 0&&(L=D.sessionId),D.modelContext!==void 0&&(S=D.modelContext)),d("beforeRequest hook done \u2014 messages:",I.length,"sessionId:",L??"(none)")}catch(D){console.error("[waniwani:chat] beforeRequest hook error:",D);let H=D instanceof ke?D.status:400,F=D instanceof Error?D.message:"Request rejected";return d("\u2190 returning",H,"from hook error"),Response.json({error:F},{status:H})}}let A=i??(await l()).mcpServerUrl;d("mcpServerUrl:",A),C=Ds(C,S);let R=`${a}/api/mcp/chat`;d("forwarding to",R);let _=m.headers.get("user-agent"),M=await fetch(R,{method:"POST",headers:{"Content-Type":"application/json","X-WaniWani-Stream-Protocol":"2",...t?{Authorization:`Bearer ${t}`}:{},..._?{"X-Client-User-Agent":_}:{}},body:JSON.stringify({messages:I,mcpServerUrl:A,sessionId:L,source:o,systemPrompt:C,maxSteps:s,visitor:P,webSearch:c,...g&&{extra:g}}),signal:m.signal});if(d("upstream response status:",M.status),!M.ok){let D=await M.text().catch(()=>"");return d("\u2190 returning",M.status,"upstream error:",D),new Response(D,{status:M.status,headers:{"Content-Type":M.headers.get("Content-Type")??"application/json"}})}let T=new Headers({"Content-Type":M.headers.get("Content-Type")??"text/event-stream"}),y=M.headers.get("x-session-id");return y&&T.set("x-session-id",y),d("\u2190 streaming response",M.status,"body null?",M.body===null),new Response(M.body,{status:M.status,headers:T})}catch(h){console.error("[waniwani:chat] handler error:",h);let I=h instanceof Error?h.message:"Unknown error occurred",L=h instanceof ke?h.status:500;return d("\u2190 returning",L,"from caught error"),Response.json({error:I},{status:L})}}}f();function Es(e){let{mcpServerUrl:t,resolveConfig:a,debug:o}=e,r=Ue("resource",o);return async function(n){r("\u2192 GET",n.toString());try{let i=n.searchParams.get("uri");if(r("uri:",i??"(missing)"),!i)return r("\u2190 400 missing uri"),Response.json({error:"Missing uri query parameter"},{status:400});let l=t??(await a()).mcpServerUrl;r("mcpServerUrl:",l);let u,c;try{[{createMCPClient:u},{StreamableHTTPClientTransport:c}]=await Promise.all([import("@ai-sdk/mcp"),import("@modelcontextprotocol/sdk/client/streamableHttp.js")]),r("MCP deps loaded")}catch(p){return console.error("[waniwani:resource] MCP deps import failed:",p),Response.json({error:"MCP resource handler requires @ai-sdk/mcp and @modelcontextprotocol/sdk. Install them to enable resource serving."},{status:501})}r("creating MCP client for",l);let d=await u({transport:new c(new URL(l))});try{r("reading resource:",i);let p=await d.readResource({uri:i});r("resource contents count:",p.contents.length);let m=p.contents[0];if(!m)return r("\u2190 404 resource not found"),Response.json({error:"Resource not found"},{status:404});let h;return"text"in m&&typeof m.text=="string"?h=m.text:"blob"in m&&typeof m.blob=="string"&&(h=atob(m.blob)),h?(r("\u2190 200 HTML length:",h.length),new Response(h,{headers:{"Content-Type":"text/html","Cache-Control":"private, max-age=300"}})):(r("\u2190 404 resource has no content, keys:",Object.keys(m)),Response.json({error:"Resource has no content"},{status:404}))}finally{await d.close(),r("MCP client closed")}}catch(i){console.error("[waniwani:resource] handler error:",i);let l=i instanceof Error?i.message:"Unknown error occurred",u=i instanceof ke?i.status:500;return r("\u2190 returning",u,"from caught error"),Response.json({error:l},{status:u})}}}f();function _s(e){let{mcpServerUrl:t,resolveConfig:a,debug:o,source:r}=e,s=Ue("tool",o);return async function(i){s("\u2192 POST",i.url);try{let l=await i.json(),{name:u,arguments:c}=l,d=i.headers.get("x-session-id")?.trim();if(!u||typeof u!="string")return s("\u2190 400 missing tool name"),Response.json({error:"Missing tool name"},{status:400});s("tool:",u,"args:",JSON.stringify(c),"sessionId:",d||"(none)");let p=t??(await a()).mcpServerUrl;s("mcpServerUrl:",p);let m,h;try{[{Client:m},{StreamableHTTPClientTransport:h}]=await Promise.all([import("@modelcontextprotocol/sdk/client/index.js"),import("@modelcontextprotocol/sdk/client/streamableHttp.js")]),s("MCP deps loaded")}catch(S){return console.error("[waniwani:tool] MCP deps import failed:",S),Response.json({error:"MCP tool handler requires @modelcontextprotocol/sdk. Install it to enable tool calls."},{status:501})}s("creating MCP client for",p);let I=new h(new URL(p)),L=new m({name:"waniwani-tool-caller",version:"1.0.0"});await L.connect(I);try{s("calling tool:",u);let S={};d&&(S["waniwani/sessionId"]=d),r&&(S["waniwani/source"]=r);let C=await L.callTool({name:u,arguments:c??{},...Object.keys(S).length>0?{_meta:S}:{}});return s("tool result received"),Response.json({content:C.content,structuredContent:C.structuredContent,_meta:C._meta,isError:C.isError})}finally{await L.close(),s("MCP client closed")}}catch(l){console.error("[waniwani:tool] handler error:",l);let u=l instanceof Error?l.message:"Unknown error occurred",c=l instanceof ke?l.status:500;return s("\u2190 returning",c,"from caught error"),Response.json({error:u},{status:c})}}}f();function Ns(e){let{mcpServerUrl:t,resolveConfig:a,debug:o}=e,r=Ue("tools-list",o);return async function(){r("\u2192 GET tools/list");try{let n=t??(await a()).mcpServerUrl;r("mcpServerUrl:",n);let i,l;try{[{createMCPClient:i},{StreamableHTTPClientTransport:l}]=await Promise.all([import("@ai-sdk/mcp"),import("@modelcontextprotocol/sdk/client/streamableHttp.js")]),r("MCP deps loaded")}catch(c){return console.error("[waniwani:tools-list] MCP deps import failed:",c),Response.json({error:"MCP tools list handler requires @ai-sdk/mcp and @modelcontextprotocol/sdk. Install them to enable tool discovery."},{status:501})}r("creating MCP client for",n);let u=await i({transport:new l(new URL(n))});try{r("listing tools");let c=await u.listTools();r("tools count:",c.tools.length);let d={tools:c.tools.map(p=>({name:p.name,...p.title!==void 0&&{title:p.title},...p.description!==void 0&&{description:p.description},...p.inputSchema!==void 0&&{inputSchema:p.inputSchema},...p.outputSchema!==void 0&&{outputSchema:p.outputSchema},...p.annotations!==void 0&&{annotations:p.annotations},...p._meta!==void 0&&{_meta:p._meta}})),...c.nextCursor!==void 0&&{nextCursor:c.nextCursor}};return r("\u2190 200"),Response.json(d,{headers:{"Cache-Control":"private, max-age=60"}})}finally{await u.close(),r("MCP client closed")}}catch(n){console.error("[waniwani:tools-list] handler error:",n);let i=n instanceof Error?n.message:"Unknown error occurred",l=n instanceof ke?n.status:500;return r("\u2190 returning",l,"from caught error"),Response.json({error:i},{status:l})}}}f();var od=300*1e3;function Us(e,t){let a=null,o=null;return async function(){if(a&&Date.now()<a.expiresAt)return a.config;if(o)return o;o=(async()=>{if(!t)throw new ke("WANIWANI_API_KEY is required for createChatHandler",401);let s=await fetch(`${e}/api/mcp/environments/config`,{method:"GET",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"}});if(!s.ok){let i=await s.text().catch(()=>"");throw new ke(`Failed to resolve MCP environment config: ${s.status} ${i}`,s.status)}let n=await s.json();return a={config:n,expiresAt:Date.now()+od},n})();try{return await o}finally{o=null}}}var rd="https://app.waniwani.ai";function Os(e={}){let{apiKey:t=process.env.WANIWANI_API_KEY,apiUrl:a=rd,source:o,systemPrompt:r,maxSteps:s=5,beforeRequest:n,mcpServerUrl:i,debug:l=!1,webSearch:u}=e,c=Ue("router",l),d=Rs(),p=Ms(d),m=Us(a,t),h=Bs({apiKey:t,apiUrl:a,source:o,systemPrompt:r,maxSteps:s,beforeRequest:n,mcpServerUrl:i,resolveConfig:m,debug:l,webSearch:As(u)}),I=Es({mcpServerUrl:i,resolveConfig:m,debug:l}),L=Ns({mcpServerUrl:i,resolveConfig:m,debug:l}),S=_s({mcpServerUrl:i,resolveConfig:m,debug:l,source:o}),C=process.env.WANIWANI_EVAL==="1";async function g(A){c("\u2192 GET",A.url);try{let R=new URL(A.url),M=R.pathname.replace(/\/$/,"").split("/").filter(Boolean).at(-1);if(c("pathname:",R.pathname,"subRoute:",M),C&&M==="scenarios"){c("dispatching to scenarios handler (proxy to app API)");try{let y=await(await fetch(`${a}/api/mcp/scenarios`,{headers:{...t?{Authorization:`Bearer ${t}`}:{}}})).json();return p(y.data??y,200)}catch{return p([],200)}}if(M==="resource"){c("dispatching to resource handler");let T=await I(R);return c("\u2190 resource handler returned",T.status),d(T)}if(M==="config")return c("dispatching to config handler"),p({debug:l,eval:C},200);if(M==="tools"){c("dispatching to tools-list handler");let T=await L();return c("\u2190 tools-list handler returned",T.status),d(T)}return c("\u2190 404 no matching sub-route for",M),p({error:"Not found"},404)}catch(R){console.error("[waniwani:router] GET handler error:",R);let _=R instanceof Error?R.message:"Unknown error occurred";return c("\u2190 500 from caught error"),p({error:_},500)}}async function b(A){c("\u2192 POST",A.url);try{let R=new URL(A.url),M=R.pathname.replace(/\/$/,"").split("/").filter(Boolean).at(-1);if(c("pathname:",R.pathname,"subRoute:",M),C&&M==="scenarios"){c("dispatching to save-scenario handler (proxy to app API)");try{let y=await A.json(),D=await fetch(`${a}/api/mcp/scenarios`,{method:"POST",headers:{"Content-Type":"application/json",...t?{Authorization:`Bearer ${t}`}:{}},body:JSON.stringify(y)}),H=await D.json();return D.ok?p({ok:!0,scenario:H.data},200):p({error:H.message??"Failed to save scenario"},D.status)}catch(y){let D=y instanceof Error?y.message:"Failed to save scenario";return p({error:D},400)}}if(M==="tool"){c("dispatching to tool handler");let y=await S(A);return c("\u2190 tool handler returned",y.status),d(y)}c("dispatching to chat handler");let T=await h(A);return d(T)}catch(R){console.error("[waniwani:router] POST handler error:",R);let _=R instanceof Error?R.message:"Unknown error occurred";return c("\u2190 500 from caught error"),p({error:_},500)}}async function v(A){c("\u2192 PATCH",A.url);try{let R=new URL(A.url),_=R.pathname.replace(/\/$/,"").split("/").filter(Boolean),M=_.at(-1),T=_.at(-2);if(c("pathname:",R.pathname,"subRoute:",T,"id:",M),C&&T==="scenarios"&&M){c("dispatching to update-scenario handler (proxy to app API)");try{let y=await A.json(),D=await fetch(`${a}/api/mcp/scenarios/${M}`,{method:"PATCH",headers:{"Content-Type":"application/json",...t?{Authorization:`Bearer ${t}`}:{}},body:JSON.stringify(y)}),H=await D.json();return D.ok?p({ok:!0,scenario:H.data},200):p({error:H.message??"Failed to update scenario"},D.status)}catch(y){let D=y instanceof Error?y.message:"Failed to update scenario";return p({error:D},400)}}return c("\u2190 404 no matching sub-route for PATCH",T),p({error:"Not found"},404)}catch(R){console.error("[waniwani:router] PATCH handler error:",R);let _=R instanceof Error?R.message:"Unknown error occurred";return c("\u2190 500 from caught error"),p({error:_},500)}}function P(){return d(new Response(null,{status:204}))}return{handleChat:h,handleResource:I,handleTool:S,routeGet:g,routePost:b,routePatch:v,handleOptions:P}}var Hs=!1;function dL(e,t){!Hs&&process.env.NODE_ENV!=="test"&&(console.warn("[waniwani-sdk] toNextJsHandler is deprecated; switch to toExpressJsHandler from @waniwani/sdk/express-js. It will be removed in a follow-up release."),Hs=!0);let{apiKey:a,apiUrl:o}=e._config,r=t?.debug??process.env.WANIWANI_DEBUG==="1",s=Os({...t?.chat,apiKey:a,apiUrl:o,source:t?.source,debug:r});return{POST:s.routePost,GET:s.routeGet,PATCH:s.routePatch,OPTIONS:()=>s.handleOptions()}}f();import{forwardRef as zh,useCallback as Er,useEffect as Vh,useImperativeHandle as $h,useRef as eu,useState as tu}from"react";f();f();f();import{forwardRef as nd,createElement as id}from"react";f();var ya=(...e)=>e.filter((t,a,o)=>!!t&&t.trim()!==""&&o.indexOf(t)===a).join(" ").trim();f();var qs=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();f();f();var Ws=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,o)=>o?o.toUpperCase():a.toLowerCase());var yo=e=>{let t=Ws(e);return t.charAt(0).toUpperCase()+t.slice(1)};f();import{forwardRef as sd,createElement as zs}from"react";f();var Gs={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};f();var js=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var Vs=sd(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:o,className:r="",children:s,iconNode:n,...i},l)=>zs("svg",{ref:l,...Gs,width:t,height:t,stroke:e,strokeWidth:o?Number(a)*24/Number(t):a,className:ya("lucide",r),...!s&&!js(i)&&{"aria-hidden":"true"},...i},[...n.map(([u,c])=>zs(u,c)),...Array.isArray(s)?s:[s]]));var G=(e,t)=>{let a=nd(({className:o,...r},s)=>id(Vs,{ref:s,iconNode:t,className:ya(`lucide-${qs(yo(e))}`,`lucide-${e}`,o),...r}));return a.displayName=yo(e),a};f();var ld=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],_t=G("arrow-down",ld);f();var ud=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],Nt=G("arrow-up",ud);f();var dd=[["path",{d:"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1",key:"ezmyqa"}],["path",{d:"M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1",key:"e1hn23"}]],Xe=G("braces",dd);f();var cd=[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]],Ut=G("brain",cd);f();var fd=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Ot=G("check",fd);f();var pd=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Ht=G("chevron-down",pd);f();var md=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],qt=G("chevron-right",md);f();var hd=[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]],Wt=G("clipboard-copy",hd);f();var gd=[["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"}]],Gt=G("file",gd);f();var wd=[["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m16.2 7.8 2.9-2.9",key:"r700ao"}],["path",{d:"M18 12h4",key:"wj9ykh"}],["path",{d:"m16.2 16.2 2.9 2.9",key:"1bxg5t"}],["path",{d:"M12 18v4",key:"jadmvz"}],["path",{d:"m4.9 19.1 2.9-2.9",key:"bwix9q"}],["path",{d:"M2 12h4",key:"j09sii"}],["path",{d:"m4.9 4.9 2.9 2.9",key:"giyufr"}]],jt=G("loader",wd);f();var xd=[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]],zt=G("paperclip",xd);f();var Ld=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],Vt=G("square",Ld);f();var Cd=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],ot=G("x",Cd);f();var Id=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],$t=G("zap",Id);import{useCallback as Ud}from"react";f();import{useCallback as Ke,useMemo as Sd,useRef as yd,useState as bo}from"react";var bd={damping:.7,stiffness:.05,mass:1.25},kd=70,Td=1e3/60,vd=350,ba=!1;globalThis.document?.addEventListener("mousedown",()=>{ba=!0});globalThis.document?.addEventListener("mouseup",()=>{ba=!1});globalThis.document?.addEventListener("click",()=>{ba=!1});var Xs=(e={})=>{let[t,a]=bo(!1),[o,r]=bo(e.initial!==!1),[s,n]=bo(!1),i=yd(null);i.current=e;let l=Ke(()=>{if(!ba)return!1;let C=window.getSelection();if(!C||!C.rangeCount)return!1;let g=C.getRangeAt(0);return g.commonAncestorContainer.contains(L.current)||L.current?.contains(g.commonAncestorContainer)},[]),u=Ke(C=>{d.isAtBottom=C,r(C)},[]),c=Ke(C=>{d.escapedFromLock=C,a(C)},[]),d=Sd(()=>{let C;return{escapedFromLock:t,isAtBottom:o,resizeDifference:0,accumulated:0,velocity:0,listeners:new Set,get scrollTop(){return L.current?.scrollTop??0},set scrollTop(g){L.current&&(L.current.scrollTop=g,d.ignoreScrollToTop=L.current.scrollTop)},get targetScrollTop(){return!L.current||!S.current?0:L.current.scrollHeight-1-L.current.clientHeight},get calculatedTargetScrollTop(){if(!L.current||!S.current)return 0;let{targetScrollTop:g}=this;if(!e.targetScrollTop)return g;if(C?.targetScrollTop===g)return C.calculatedScrollTop;let b=Math.max(Math.min(e.targetScrollTop(g,{scrollElement:L.current,contentElement:S.current}),g),0);return C={targetScrollTop:g,calculatedScrollTop:b},requestAnimationFrame(()=>{C=void 0}),b},get scrollDifference(){return this.calculatedTargetScrollTop-this.scrollTop},get isNearBottom(){return this.scrollDifference<=kd}}},[]),p=Ke((C={})=>{typeof C=="string"&&(C={animation:C}),C.preserveScrollPosition||u(!0);let g=Date.now()+(Number(C.wait)||0),b=To(i.current,C.animation),{ignoreEscapes:v=!1}=C,P,A=d.calculatedTargetScrollTop;C.duration instanceof Promise?C.duration.finally(()=>{P=Date.now()}):P=g+(C.duration??0);let R=async()=>{let _=new Promise(requestAnimationFrame).then(()=>{if(!d.isAtBottom)return d.animation=void 0,!1;let{scrollTop:M}=d,T=performance.now(),y=(T-(d.lastTick??T))/Td;if(d.animation||(d.animation={behavior:b,promise:_,ignoreEscapes:v}),d.animation.behavior===b&&(d.lastTick=T),l()||g>Date.now())return R();if(M<Math.min(A,d.calculatedTargetScrollTop)){if(d.animation?.behavior===b){if(b==="instant")return d.scrollTop=d.calculatedTargetScrollTop,R();d.velocity=(b.damping*d.velocity+b.stiffness*d.scrollDifference)/b.mass,d.accumulated+=d.velocity*y,d.scrollTop+=d.accumulated,d.scrollTop!==M&&(d.accumulated=0)}return R()}return P>Date.now()?(A=d.calculatedTargetScrollTop,R()):(d.animation=void 0,d.scrollTop<d.calculatedTargetScrollTop?p({animation:To(i.current,i.current.resize),ignoreEscapes:v,duration:Math.max(0,P-Date.now())||void 0}):d.isAtBottom)});return _.then(M=>(requestAnimationFrame(()=>{d.animation||(d.lastTick=void 0,d.velocity=0)}),M))};return C.wait!==!0&&(d.animation=void 0),d.animation?.behavior===b?d.animation.promise:R()},[u,l,d]),m=Ke(()=>{c(!0),u(!1)},[c,u]),h=Ke(({target:C})=>{if(C!==L.current)return;let{scrollTop:g,ignoreScrollToTop:b}=d,{lastScrollTop:v=g}=d;d.lastScrollTop=g,d.ignoreScrollToTop=void 0,b&&b>g&&(v=b),n(d.isNearBottom),setTimeout(()=>{if(d.resizeDifference||g===b)return;if(l()){c(!0),u(!1);return}let P=g>v,A=g<v;if(d.animation?.ignoreEscapes){d.scrollTop=v;return}A&&(c(!0),u(!1)),P&&c(!1),!d.escapedFromLock&&d.isNearBottom&&u(!0)},1)},[c,u,l,d]),I=Ke(({target:C,deltaY:g})=>{let b=C;for(;!["scroll","auto"].includes(getComputedStyle(b).overflow);){if(!b.parentElement)return;b=b.parentElement}b===L.current&&g<0&&L.current.scrollHeight>L.current.clientHeight&&!d.animation?.ignoreEscapes&&(c(!0),u(!1))},[c,u,d]),L=$s(C=>{L.current?.removeEventListener("scroll",h),L.current?.removeEventListener("wheel",I),C?.addEventListener("scroll",h,{passive:!0}),C?.addEventListener("wheel",I,{passive:!0})},[]),S=$s(C=>{if(d.resizeObserver?.disconnect(),!C)return;let g;d.resizeObserver=new ResizeObserver(([b])=>{let{height:v}=b.contentRect,P=v-(g??v);if(d.resizeDifference=P,d.scrollTop>d.targetScrollTop&&(d.scrollTop=d.targetScrollTop),n(d.isNearBottom),P>=0){let A=To(i.current,g?i.current.resize:i.current.initial);p({animation:A,wait:!0,preserveScrollPosition:!0,duration:A==="instant"?void 0:vd})}else d.isNearBottom&&(c(!1),u(!0));g=v,requestAnimationFrame(()=>{setTimeout(()=>{d.resizeDifference===P&&(d.resizeDifference=0)},1)})}),d.resizeObserver?.observe(C)},[]);return{contentRef:S,scrollRef:L,scrollToBottom:p,stopScroll:m,isAtBottom:o||s,isNearBottom:s,escapedFromLock:t,state:d}};function $s(e,t){let a=Ke(o=>(a.current=o,e(o)),t);return a}var ko=new Map;function To(...e){let t={...bd},a=!1;for(let r of e){if(r==="instant"){a=!0;continue}typeof r=="object"&&(a=!1,t.damping=r.damping??t.damping,t.stiffness=r.stiffness??t.stiffness,t.mass=r.mass??t.mass)}let o=JSON.stringify(t);return ko.has(o)||ko.set(o,Object.freeze(t)),a?"instant":ko.get(o)}f();import*as rt from"react";import{createContext as Pd,useContext as Ad,useEffect as Rd,useImperativeHandle as Md,useLayoutEffect as Fd,useMemo as Dd,useRef as Bd}from"react";var Ks=Pd(null),Ed=typeof window<"u"?Fd:Rd;function Xt({instance:e,children:t,resize:a,initial:o,mass:r,damping:s,stiffness:n,targetScrollTop:i,contextRef:l,...u}){let c=Bd(null),d=rt.useCallback((v,P)=>(b?.targetScrollTop??i)?.(v,P)??v,[i]),p=Xs({mass:r,damping:s,stiffness:n,resize:a,initial:o,targetScrollTop:d}),{scrollRef:m,contentRef:h,scrollToBottom:I,stopScroll:L,isAtBottom:S,escapedFromLock:C,state:g}=e??p,b=Dd(()=>({scrollToBottom:I,stopScroll:L,scrollRef:m,isAtBottom:S,escapedFromLock:C,contentRef:h,state:g,get targetScrollTop(){return c.current},set targetScrollTop(v){c.current=v}}),[I,S,h,m,L,C,g]);return Md(l,()=>b,[b]),Ed(()=>{m.current&&getComputedStyle(m.current).overflow==="visible"&&(m.current.style.overflow="auto")},[]),rt.createElement(Ks.Provider,{value:b},rt.createElement("div",{...u},typeof t=="function"?t(b):t))}(function(e){function t({children:a,scrollClassName:o,...r}){let s=vo();return rt.createElement("div",{ref:s.scrollRef,style:{height:"100%",width:"100%",scrollbarGutter:"stable both-edges"},className:o},rt.createElement("div",{...r,ref:s.contentRef},typeof a=="function"?a(s):a))}e.Content=t})(Xt||(Xt={}));function vo(){let e=Ad(Ks);if(!e)throw new Error("use-stick-to-bottom component context must be used within a StickToBottom component");return e}f();var _d=Wr({prefix:"ww"});function B(...e){return _d(qr(e))}f();import{jsx as Nd}from"react/jsx-runtime";var Oe=({className:e,variant:t="default",size:a="default",type:o="button",...r})=>Nd("button",{type:o,className:B("ww:inline-flex ww:cursor-pointer ww:items-center ww:justify-center ww:rounded-md ww:font-medium ww:transition-colors ww:disabled:pointer-events-none ww:disabled:opacity-50",t==="default"&&"ww:bg-primary ww:text-primary-foreground ww:hover:bg-primary/90",t==="outline"&&"ww:border ww:border-border ww:bg-background ww:hover:bg-accent ww:hover:text-accent-foreground",t==="ghost"&&"ww:hover:bg-accent ww:hover:text-accent-foreground",a==="default"&&"ww:h-9 ww:px-4 ww:py-2 ww:text-sm",a==="sm"&&"ww:h-8 ww:px-3 ww:text-xs",a==="icon"&&"ww:size-9 ww:!rounded-full",a==="icon-sm"&&"ww:size-7 ww:!rounded-full",e),...r});import{jsx as ka}from"react/jsx-runtime";var Qs=({className:e,...t})=>ka(Xt,{className:B("ww:relative ww:flex-1 ww:overflow-y-hidden",e),initial:"smooth",resize:"smooth",role:"log",...t}),Js=({className:e,...t})=>ka(Xt.Content,{className:B("ww:flex ww:flex-col ww:gap-6 ww:px-4 ww:py-6 ww:mx-auto ww:w-full ww:max-w-3xl",e),...t}),Zs=({className:e,...t})=>{let{isAtBottom:a,scrollToBottom:o}=vo(),r=Ud(()=>{o()},[o]);return!a&&ka(Oe,{className:B("ww:absolute ww:bottom-4 ww:left-[50%] ww:translate-x-[-50%] ww:rounded-full",e),onClick:r,size:"icon",variant:"outline",...t,children:ka(_t,{className:"ww:size-4"})})};f();f();import en from"crypto";f();var Ys="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var Od=128,st,It,Hd=e=>{!st||st.length<e?(st=Buffer.allocUnsafe(e*Od),en.randomFillSync(st),It=0):It+e>st.length&&(en.randomFillSync(st),It=0),It+=e};var Kt=(e=21)=>{Hd(e|=0);let t="";for(let a=It-e;a<It;a++)t+=Ys[st[a]&63];return t};import{createContext as Vd,useCallback as ze,useContext as $d,useEffect as Mo,useMemo as Xd,useRef as Fo,useState as tn}from"react";f();f();import{createContext as Gd,useContext as jd,useEffect as UI,useMemo as OI,useState as HI}from"react";f();f();f();f();var Ao={promptInput:{placeholder:"What would you like to know?",uploadFiles:"Upload files",stop:"Stop",submit:"Submit",removeAttachments:"Remove all attachments"},workingIndicator:{default:"On it\u2026"},reasoning:{thinking:"Thinking\u2026",thoughtBrief:"Thought for a few seconds",thoughtForSeconds:e=>`Thought for ${e} second${e===1?"":"s"}`},tool:{copy:"Copy",copied:"Copied",request:"Request",response:"Response",error:"Error"},attachments:{attachmentFallback:"attachment",fileFallback:"file"},threadMenu:{newChat:"New chat",threadHistory:"Thread history",deleteThread:"Delete thread",noPreviousChats:"No previous chats yet.",hiddenThreads:e=>`${e} older thread${e===1?"":"s"} hidden`},chatQueue:{attachmentFallback:"(attachment)",removeFromQueue:"Remove from queue",queued:e=>`${e} queued`},poweredBy:{label:"AI agent powered by"},aiDisclaimer:{default:"can make mistakes"},exportSession:{saving:"saving...",saved:"saved",error:"error",export:"export",tooltip:"Save scenario to WaniWani"},widgetErrorBoundary:{failedToLoad:"Widget failed to load",retry:"Retry"},launcher:{prompt:"Ask anything\u2026",open:"Open chat",close:"Close chat",minimize:"Minimize"}};f();f();import{jsx as $I}from"react/jsx-runtime";var zd=Gd(null);function z(){let e=jd(zd);return e||{locale:"en",t:Ao,ready:!0}}f();function Ro(e,t){let a=Date.now()-e;if(a<6e4)try{return new Intl.RelativeTimeFormat(t,{numeric:"auto",style:"narrow"}).format(0,"second")}catch{return"just now"}let o,r;a<60*6e4?(o=-Math.floor(a/6e4),r="minute"):a<1440*6e4?(o=-Math.floor(a/(60*6e4)),r="hour"):(o=-Math.floor(a/(1440*6e4)),r="day");try{return new Intl.RelativeTimeFormat(t,{numeric:"auto",style:"short"}).format(o,r)}catch{return`${Math.abs(o)}${r==="minute"?"m":r==="hour"?"h":"d"} ago`}}import{jsx as Be,jsxs as un}from"react/jsx-runtime";var Kd=async e=>{try{let a=await(await fetch(e)).blob();return new Promise(o=>{let r=new FileReader;r.onloadend=()=>o(r.result),r.onerror=()=>o(null),r.readAsDataURL(a)})}catch{return null}},an=Vd(null),on=()=>{let e=$d(an);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},rn=({className:e,accept:t,multiple:a,globalDrop:o,maxFiles:r,maxFileSize:s,onSubmit:n,children:i,...l})=>{let{t:u}=z(),c=Fo(null),d=Fo(null),[p,m]=tn([]),h=Fo(p);Mo(()=>{h.current=p},[p]);let I=ze(()=>{c.current?.click()},[]),L=ze(P=>{let A=[...P];if(A.length===0)return;let R=M=>s?M.size<=s:!0,_=A.filter(R);m(M=>{let T=typeof r=="number"?Math.max(0,r-M.length):void 0,y=typeof T=="number"?_.slice(0,T):_;return[...M,...y.map(D=>({filename:D.name,id:Kt(),mediaType:D.type,type:"file",url:URL.createObjectURL(D)}))]})},[r,s]),S=ze(P=>{m(A=>{let R=A.find(_=>_.id===P);return R?.url&&URL.revokeObjectURL(R.url),A.filter(_=>_.id!==P)})},[]),C=ze(()=>{m(P=>{for(let A of P)A.url&&URL.revokeObjectURL(A.url);return[]})},[]);Mo(()=>()=>{for(let P of h.current)P.url&&URL.revokeObjectURL(P.url)},[]);let g=ze(P=>{P.currentTarget.files&&L(P.currentTarget.files),P.currentTarget.value=""},[L]);Mo(()=>{if(!o)return;let P=R=>{R.dataTransfer?.types?.includes("Files")&&R.preventDefault()},A=R=>{R.dataTransfer?.types?.includes("Files")&&R.preventDefault(),R.dataTransfer?.files&&R.dataTransfer.files.length>0&&L(R.dataTransfer.files)};return document.addEventListener("dragover",P),document.addEventListener("drop",A),()=>{document.removeEventListener("dragover",P),document.removeEventListener("drop",A)}},[L,o]);let b=ze(async P=>{P.preventDefault();let A=P.currentTarget,_=new FormData(A).get("message")||"";A.reset();let M=await Promise.all(p.map(async({id:T,...y})=>{if(y.url?.startsWith("blob:")){let D=await Kd(y.url);return{...y,url:D??y.url}}return y}));try{let T=n({files:M,text:_},P);T instanceof Promise&&await T,C()}catch{}},[p,n,C]),v=Xd(()=>({add:L,clear:C,files:p,openFileDialog:I,remove:S}),[p,L,S,C,I]);return un(an.Provider,{value:v,children:[Be("input",{accept:t,"aria-label":u.promptInput.uploadFiles,className:"ww:hidden",multiple:a,onChange:g,ref:c,title:u.promptInput.uploadFiles,type:"file"}),Be("form",{className:B("ww:flex ww:w-full ww:flex-col ww:rounded-lg ww:border ww:border-border ww:bg-background",e),onSubmit:b,ref:d,...l,children:i})]})};var sn=({onChange:e,onKeyDown:t,className:a,placeholder:o,...r})=>{let{t:s}=z(),n=on(),[i,l]=tn(!1),u=o??s.promptInput.placeholder,c=ze(p=>{if(t?.(p),!p.defaultPrevented){if(p.key==="Enter"){if(i||p.nativeEvent.isComposing||p.shiftKey)return;p.preventDefault();let{form:m}=p.currentTarget;if(m?.querySelector('button[type="submit"]')?.disabled)return;m?.requestSubmit()}if(p.key==="Backspace"&&p.currentTarget.value===""&&n.files.length>0){p.preventDefault();let m=n.files.at(-1);m&&n.remove(m.id)}}},[t,i,n]),d=ze(p=>{let m=p.clipboardData?.items;if(!m)return;let h=[];for(let I of m)if(I.kind==="file"){let L=I.getAsFile();L&&h.push(L)}h.length>0&&(p.preventDefault(),n.add(h))},[n]);return Be("textarea",{className:B("ww:field-sizing-content ww:max-h-48 ww:min-h-0 ww:w-full ww:resize-none ww:border-0 ww:bg-transparent ww:px-3 ww:py-2 ww:text-base ww:sm:text-sm ww:outline-none ww:placeholder:text-muted-foreground",a),name:"message",onCompositionEnd:()=>l(!1),onCompositionStart:()=>l(!0),onKeyDown:c,onPaste:d,placeholder:u,onChange:e,...r})},nn=({className:e,status:t,onStop:a,onClick:o,children:r,...s})=>{let{t:n}=z(),i=t==="submitted"||t==="streaming",l=Be(Nt,{className:"ww:size-4"});t==="submitted"?l=Be(jt,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(l=Be(Vt,{className:"ww:size-4"}));let u=ze(c=>{if(i&&a){c.preventDefault(),a();return}o?.(c)},[i,a,o]);return Be(Oe,{"aria-label":i?n.promptInput.stop:n.promptInput.submit,className:B("ww:bg-foreground ww:text-background ww:hover:bg-foreground ww:rounded-full",e),onClick:u,size:"icon-sm",type:i&&a?"button":"submit",variant:"ghost",...s,children:r??l})},ln=({className:e,children:t,...a})=>{let{t:o}=z(),r=on();return r.files.length>0?un(Oe,{className:B("ww:group ww:relative",e),onClick:()=>r.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":o.promptInput.removeAttachments,...a,children:[Be("span",{className:"ww:flex ww:size-5 ww:items-center ww:justify-center ww:rounded-full ww:bg-primary ww:text-[10px] ww:font-medium ww:text-primary-foreground ww:transition-opacity ww:group-hover:opacity-0",children:r.files.length}),Be(ot,{className:"ww:absolute ww:size-4 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100"})]}):Be(Oe,{className:B(e),onClick:()=>r.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??Be(zt,{className:"ww:size-4"})})};f();import{memo as Qd,useCallback as Jd}from"react";f();import{jsx as St}from"react/jsx-runtime";var dn=({className:e,...t})=>St("div",{className:B("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),cn=({className:e,...t})=>St("li",{className:B("ww:group ww:flex ww:items-center ww:gap-2 ww:rounded-md ww:px-2 ww:py-1 ww:text-sm ww:transition-colors ww:hover:bg-muted",e),...t}),fn=({className:e,...t})=>St("span",{className:B("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),pn=({className:e,...t})=>St("span",{className:B("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),mn=({className:e,...t})=>St("div",{className:B("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),hn=({className:e,...t})=>St(Oe,{className:B("ww:size-auto ww:rounded ww:p-1 ww:text-muted-foreground ww:hover:bg-muted-foreground/10 ww:hover:text-foreground",e),size:"icon",type:"button",variant:"ghost",...t});import{jsx as Qe,jsxs as xn}from"react/jsx-runtime";var gn=Qd(({message:e,onRemove:t})=>{let{t:a}=z(),o=Jd(()=>t(e.id),[t,e.id]);return xn(cn,{children:[Qe(fn,{}),Qe(pn,{children:e.text||a.chatQueue.attachmentFallback}),Qe(mn,{children:Qe(hn,{"aria-label":a.chatQueue.removeFromQueue,onClick:o,children:Qe(ot,{className:"ww:size-3"})})})]})});gn.displayName="ChatQueueItem";function wn({queuedMessages:e,onRemove:t,className:a}){let{t:o}=z();return e.length===0?null:xn(dn,{className:B("ww:border-t ww:border-border",a),children:[Qe("div",{className:"ww:text-[11px] ww:font-medium ww:text-muted-foreground ww:px-2",children:o.chatQueue.queued(e.length)}),Qe("ul",{children:e.map(r=>Qe(gn,{message:r,onRemove:t},r.id))})]})}f();import{useState as Ln}from"react";import{jsx as Zd}from"react/jsx-runtime";function Cn({messages:e,evalEnabled:t,api:a="/api/waniwani"}){let{t:o}=z(),[r,s]=Ln(!1),[n,i]=Ln(null),l=async()=>{let c={name:`session-${new Date().toISOString().slice(0,19)}`,type:"functional",messages:e,mode:"manual"};s(!0),i(null);try{let d=await fetch(`${a}/scenarios`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)});if(!d.ok)throw new Error(`${d.status}`);i("saved")}catch{i("error")}finally{s(!1),setTimeout(()=>i(null),2e3)}};if(!t||e.length===0)return null;let u=r?o.exportSession.saving:n==="saved"?o.exportSession.saved:n==="error"?o.exportSession.error:o.exportSession.export;return Zd("button",{type:"button",onClick:l,disabled:r,title:o.exportSession.tooltip,className:"ww:ml-auto ww:text-[10px] ww:font-mono ww:uppercase ww:tracking-wider ww:text-muted-foreground hover:ww:text-foreground ww:cursor-pointer ww:transition-colors ww:disabled:opacity-40",children:u})}f();f();import{jsx as Qt,jsxs as ec}from"react/jsx-runtime";var In=({files:e,className:t,...a})=>e.length===0?null:Qt("div",{className:B("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((o,r)=>Qt(Yd,{file:o},r))});function Yd({file:e}){let{t}=z();return e.mediaType?.startsWith("image/")&&e.url?Qt("img",{src:e.url,alt:e.filename??t.attachments.attachmentFallback,className:"ww:h-16 ww:max-w-32 ww:rounded ww:object-cover"}):ec("span",{className:"ww:inline-flex ww:items-center ww:gap-1.5 ww:rounded ww:bg-background/20 ww:px-2 ww:py-1 ww:text-xs",children:[Qt(Gt,{className:"ww:size-3 ww:shrink-0"}),Qt("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??t.attachments.fileFallback})]})}f();f();f();f();f();f();var pe={carriageReturn:-5,lineFeed:-4,carriageReturnLineFeed:-3,horizontalTab:-2,virtualSpace:-1,eof:null,nul:0,soh:1,stx:2,etx:3,eot:4,enq:5,ack:6,bel:7,bs:8,ht:9,lf:10,vt:11,ff:12,cr:13,so:14,si:15,dle:16,dc1:17,dc2:18,dc3:19,dc4:20,nak:21,syn:22,etb:23,can:24,em:25,sub:26,esc:27,fs:28,gs:29,rs:30,us:31,space:32,exclamationMark:33,quotationMark:34,numberSign:35,dollarSign:36,percentSign:37,ampersand:38,apostrophe:39,leftParenthesis:40,rightParenthesis:41,asterisk:42,plusSign:43,comma:44,dash:45,dot:46,slash:47,digit0:48,digit1:49,digit2:50,digit3:51,digit4:52,digit5:53,digit6:54,digit7:55,digit8:56,digit9:57,colon:58,semicolon:59,lessThan:60,equalsTo:61,greaterThan:62,questionMark:63,atSign:64,uppercaseA:65,uppercaseB:66,uppercaseC:67,uppercaseD:68,uppercaseE:69,uppercaseF:70,uppercaseG:71,uppercaseH:72,uppercaseI:73,uppercaseJ:74,uppercaseK:75,uppercaseL:76,uppercaseM:77,uppercaseN:78,uppercaseO:79,uppercaseP:80,uppercaseQ:81,uppercaseR:82,uppercaseS:83,uppercaseT:84,uppercaseU:85,uppercaseV:86,uppercaseW:87,uppercaseX:88,uppercaseY:89,uppercaseZ:90,leftSquareBracket:91,backslash:92,rightSquareBracket:93,caret:94,underscore:95,graveAccent:96,lowercaseA:97,lowercaseB:98,lowercaseC:99,lowercaseD:100,lowercaseE:101,lowercaseF:102,lowercaseG:103,lowercaseH:104,lowercaseI:105,lowercaseJ:106,lowercaseK:107,lowercaseL:108,lowercaseM:109,lowercaseN:110,lowercaseO:111,lowercaseP:112,lowercaseQ:113,lowercaseR:114,lowercaseS:115,lowercaseT:116,lowercaseU:117,lowercaseV:118,lowercaseW:119,lowercaseX:120,lowercaseY:121,lowercaseZ:122,leftCurlyBrace:123,verticalBar:124,rightCurlyBrace:125,tilde:126,del:127,byteOrderMarker:65279,replacementCharacter:65533};f();var He={attentionSideAfter:2,attentionSideBefore:1,atxHeadingOpeningFenceSizeMax:6,autolinkDomainSizeMax:63,autolinkSchemeSizeMax:32,cdataOpeningString:"CDATA[",characterGroupPunctuation:2,characterGroupWhitespace:1,characterReferenceDecimalSizeMax:7,characterReferenceHexadecimalSizeMax:6,characterReferenceNamedSizeMax:31,codeFencedSequenceSizeMin:3,contentTypeContent:"content",contentTypeDocument:"document",contentTypeFlow:"flow",contentTypeString:"string",contentTypeText:"text",hardBreakPrefixSizeMin:2,htmlBasic:6,htmlCdata:5,htmlComment:2,htmlComplete:7,htmlDeclaration:4,htmlInstruction:3,htmlRawSizeMax:8,htmlRaw:1,linkResourceDestinationBalanceMax:32,linkReferenceSizeMax:999,listItemValueSizeMax:10,numericBaseDecimal:10,numericBaseHexadecimal:16,tabSize:4,thematicBreakMarkerCountMin:3,v8MaxSafeChunkSize:1e4};f();var ve={data:"data",whitespace:"whitespace",lineEnding:"lineEnding",lineEndingBlank:"lineEndingBlank",linePrefix:"linePrefix",lineSuffix:"lineSuffix",atxHeading:"atxHeading",atxHeadingSequence:"atxHeadingSequence",atxHeadingText:"atxHeadingText",autolink:"autolink",autolinkEmail:"autolinkEmail",autolinkMarker:"autolinkMarker",autolinkProtocol:"autolinkProtocol",characterEscape:"characterEscape",characterEscapeValue:"characterEscapeValue",characterReference:"characterReference",characterReferenceMarker:"characterReferenceMarker",characterReferenceMarkerNumeric:"characterReferenceMarkerNumeric",characterReferenceMarkerHexadecimal:"characterReferenceMarkerHexadecimal",characterReferenceValue:"characterReferenceValue",codeFenced:"codeFenced",codeFencedFence:"codeFencedFence",codeFencedFenceSequence:"codeFencedFenceSequence",codeFencedFenceInfo:"codeFencedFenceInfo",codeFencedFenceMeta:"codeFencedFenceMeta",codeFlowValue:"codeFlowValue",codeIndented:"codeIndented",codeText:"codeText",codeTextData:"codeTextData",codeTextPadding:"codeTextPadding",codeTextSequence:"codeTextSequence",content:"content",definition:"definition",definitionDestination:"definitionDestination",definitionDestinationLiteral:"definitionDestinationLiteral",definitionDestinationLiteralMarker:"definitionDestinationLiteralMarker",definitionDestinationRaw:"definitionDestinationRaw",definitionDestinationString:"definitionDestinationString",definitionLabel:"definitionLabel",definitionLabelMarker:"definitionLabelMarker",definitionLabelString:"definitionLabelString",definitionMarker:"definitionMarker",definitionTitle:"definitionTitle",definitionTitleMarker:"definitionTitleMarker",definitionTitleString:"definitionTitleString",emphasis:"emphasis",emphasisSequence:"emphasisSequence",emphasisText:"emphasisText",escapeMarker:"escapeMarker",hardBreakEscape:"hardBreakEscape",hardBreakTrailing:"hardBreakTrailing",htmlFlow:"htmlFlow",htmlFlowData:"htmlFlowData",htmlText:"htmlText",htmlTextData:"htmlTextData",image:"image",label:"label",labelText:"labelText",labelLink:"labelLink",labelImage:"labelImage",labelMarker:"labelMarker",labelImageMarker:"labelImageMarker",labelEnd:"labelEnd",link:"link",paragraph:"paragraph",reference:"reference",referenceMarker:"referenceMarker",referenceString:"referenceString",resource:"resource",resourceDestination:"resourceDestination",resourceDestinationLiteral:"resourceDestinationLiteral",resourceDestinationLiteralMarker:"resourceDestinationLiteralMarker",resourceDestinationRaw:"resourceDestinationRaw",resourceDestinationString:"resourceDestinationString",resourceMarker:"resourceMarker",resourceTitle:"resourceTitle",resourceTitleMarker:"resourceTitleMarker",resourceTitleString:"resourceTitleString",setextHeading:"setextHeading",setextHeadingText:"setextHeadingText",setextHeadingLine:"setextHeadingLine",setextHeadingLineSequence:"setextHeadingLineSequence",strong:"strong",strongSequence:"strongSequence",strongText:"strongText",thematicBreak:"thematicBreak",thematicBreakSequence:"thematicBreakSequence",blockQuote:"blockQuote",blockQuotePrefix:"blockQuotePrefix",blockQuoteMarker:"blockQuoteMarker",blockQuotePrefixWhitespace:"blockQuotePrefixWhitespace",listOrdered:"listOrdered",listUnordered:"listUnordered",listItemIndent:"listItemIndent",listItemMarker:"listItemMarker",listItemPrefix:"listItemPrefix",listItemPrefixWhitespace:"listItemPrefixWhitespace",listItemValue:"listItemValue",chunkDocument:"chunkDocument",chunkContent:"chunkContent",chunkFlow:"chunkFlow",chunkText:"chunkText",chunkString:"chunkString"};f();f();f();function Sn(e){return e===161||e===164||e===167||e===168||e===170||e===173||e===174||e>=176&&e<=180||e>=182&&e<=186||e>=188&&e<=191||e===198||e===208||e===215||e===216||e>=222&&e<=225||e===230||e>=232&&e<=234||e===236||e===237||e===240||e===242||e===243||e>=247&&e<=250||e===252||e===254||e===257||e===273||e===275||e===283||e===294||e===295||e===299||e>=305&&e<=307||e===312||e>=319&&e<=322||e===324||e>=328&&e<=331||e===333||e===338||e===339||e===358||e===359||e===363||e===462||e===464||e===466||e===468||e===470||e===472||e===474||e===476||e===593||e===609||e===708||e===711||e>=713&&e<=715||e===717||e===720||e>=728&&e<=731||e===733||e===735||e>=768&&e<=879||e>=913&&e<=929||e>=931&&e<=937||e>=945&&e<=961||e>=963&&e<=969||e===1025||e>=1040&&e<=1103||e===1105||e===8208||e>=8211&&e<=8214||e===8216||e===8217||e===8220||e===8221||e>=8224&&e<=8226||e>=8228&&e<=8231||e===8240||e===8242||e===8243||e===8245||e===8251||e===8254||e===8308||e===8319||e>=8321&&e<=8324||e===8364||e===8451||e===8453||e===8457||e===8467||e===8470||e===8481||e===8482||e===8486||e===8491||e===8531||e===8532||e>=8539&&e<=8542||e>=8544&&e<=8555||e>=8560&&e<=8569||e===8585||e>=8592&&e<=8601||e===8632||e===8633||e===8658||e===8660||e===8679||e===8704||e===8706||e===8707||e===8711||e===8712||e===8715||e===8719||e===8721||e===8725||e===8730||e>=8733&&e<=8736||e===8739||e===8741||e>=8743&&e<=8748||e===8750||e>=8756&&e<=8759||e===8764||e===8765||e===8776||e===8780||e===8786||e===8800||e===8801||e>=8804&&e<=8807||e===8810||e===8811||e===8814||e===8815||e===8834||e===8835||e===8838||e===8839||e===8853||e===8857||e===8869||e===8895||e===8978||e>=9312&&e<=9449||e>=9451&&e<=9547||e>=9552&&e<=9587||e>=9600&&e<=9615||e>=9618&&e<=9621||e===9632||e===9633||e>=9635&&e<=9641||e===9650||e===9651||e===9654||e===9655||e===9660||e===9661||e===9664||e===9665||e>=9670&&e<=9672||e===9675||e>=9678&&e<=9681||e>=9698&&e<=9701||e===9711||e===9733||e===9734||e===9737||e===9742||e===9743||e===9756||e===9758||e===9792||e===9794||e===9824||e===9825||e>=9827&&e<=9829||e>=9831&&e<=9834||e===9836||e===9837||e===9839||e===9886||e===9887||e===9919||e>=9926&&e<=9933||e>=9935&&e<=9939||e>=9941&&e<=9953||e===9955||e===9960||e===9961||e>=9963&&e<=9969||e===9972||e>=9974&&e<=9977||e===9979||e===9980||e===9982||e===9983||e===10045||e>=10102&&e<=10111||e>=11094&&e<=11097||e>=12872&&e<=12879||e>=57344&&e<=63743||e>=65024&&e<=65039||e===65533||e>=127232&&e<=127242||e>=127248&&e<=127277||e>=127280&&e<=127337||e>=127344&&e<=127373||e===127375||e===127376||e>=127387&&e<=127404||e>=917760&&e<=917999||e>=983040&&e<=1048573||e>=1048576&&e<=1114109}function yn(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function bn(e){return e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9776&&e<=9783||e>=9800&&e<=9811||e===9855||e>=9866&&e<=9871||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12773||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e>=94192&&e<=94198||e>=94208&&e<=101589||e>=101631&&e<=101662||e>=101760&&e<=101874||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e>=119552&&e<=119638||e>=119648&&e<=119670||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128728||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129674||e>=129678&&e<=129734||e===129736||e>=129741&&e<=129756||e>=129759&&e<=129770||e>=129775&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141}function kn(e){return Sn(e)?"ambiguous":yn(e)?"fullwidth":e===8361||e>=65377&&e<=65470||e>=65474&&e<=65479||e>=65482&&e<=65487||e>=65490&&e<=65495||e>=65498&&e<=65500||e>=65512&&e<=65518?"halfwidth":e>=32&&e<=126||e===162||e===163||e===165||e===166||e===172||e===175||e>=10214&&e<=10221||e===10629||e===10630?"narrow":bn(e)?"wide":"neutral"}function tc(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function Tn(e){return tc(e),kn(e)}var ac=Object.defineProperty,oc=(e,t,a)=>t in e?ac(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,rc=(e,t,a)=>oc(e,typeof t!="symbol"?t+"":t,a);function sc(e){return new RegExp("^\\p{Emoji_Presentation}","u").test(String.fromCodePoint(e))}function nc(e){if(!e||e<4352)return!1;switch(Tn(e)){case"fullwidth":case"halfwidth":return!0;case"wide":return!sc(e);case"narrow":return!1;case"ambiguous":return 917760<=e&&e<=917999?null:!1;case"neutral":return new RegExp("^\\p{sc=Hangul}","u").test(String.fromCodePoint(e))}}function ic(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function lc(e){return e!==null&&e>=65024&&e<=65038}var uc=vn(new RegExp("\\p{P}|\\p{S}","u")),dc=vn(/\s/);function vn(e){return t;function t(a){return a!==null&&a>-1&&e.test(String.fromCodePoint(a))}}var Pe;(e=>{e.spaceOrPunctuation=3,e.cjk=4096,e.cjkPunctuation=4098,e.ivs=8192,e.cjkOrIvs=12288,e.nonEmojiGeneralUseVS=16384,e.variationSelector=24576,e.ivsToCjkRightShift=1})(Pe||(Pe={}));function Je(e){if(e===pe.eof||Gr(e)||dc(e))return He.characterGroupWhitespace;let t=0;if(e>=4352){if(lc(e))return Pe.nonEmojiGeneralUseVS;switch(nc(e)){case null:return Pe.ivs;case!0:t|=Pe.cjk;break}}return uc(e)&&(t|=He.characterGroupPunctuation),t}function Ta(e,t,a){if(!fc(e))return e;let o=t(),r=Je(o);return!o||nt(r)?e:ic(o,a)?Pe.cjkPunctuation:cc(r)}function cc(e){return e&~Pe.ivs}function nt(e){return!!(e&He.characterGroupWhitespace)}function yt(e){return(e&Pe.cjkPunctuation)===He.characterGroupPunctuation}function Jt(e){return!!(e&Pe.cjk)}function Pn(e){return e===Pe.ivs}function An(e){return!!(e&Pe.cjkOrIvs)}function fc(e){return e===Pe.nonEmojiGeneralUseVS}function Do(e){return!!(e&Pe.spaceOrPunctuation)}function va(e){return!!(e&&e>=55296&&e<=56319)}function Pa(e){return!!(e&&e>=56320&&e<=57343)}function Aa(e,t,a){if(t._bufferIndex<2)return e;let r=a({start:{...t,_bufferIndex:t._bufferIndex-2},end:t}).codePointAt(0);return r&&r>=65536?r:e}function pc(e,t,a){let o=e>=65536?2:1;if(t._bufferIndex<1+o)return null;let r=t._bufferIndex-o-2,s=a({start:{...t,_bufferIndex:r>=0?r:0},end:{...t,_bufferIndex:t._bufferIndex-o}}),n=s.charCodeAt(s.length-1);if(Number.isNaN(n))return null;if(s.length<2||n<56320||57343<n)return n;let i=s.codePointAt(0);return i&&i>=65536?i:n}var Ra=class{constructor(e,t,a){this.previousCode=e,this.nowPoint=t,this.sliceSerialize=a,rc(this,"cachedValue")}value(){return this.cachedValue===void 0&&(this.cachedValue=pc(this.previousCode,this.nowPoint,this.sliceSerialize)),this.cachedValue}};function Ma(e,t,a){let o=a({start:t,end:{...t,_bufferIndex:t._bufferIndex+2}}).codePointAt(0);return o&&o>=65536?o:e}var Bo={name:"attention",resolveAll:mc,tokenize:hc};function mc(e,t){let a=-1,o,r,s,n,i,l,u,c;for(;++a<e.length;)if(e[a][0]==="enter"&&e[a][1].type==="attentionSequence"&&e[a][1]._close){for(o=a;o--;)if(e[o][0]==="exit"&&e[o][1].type==="attentionSequence"&&e[o][1]._open&&t.sliceSerialize(e[o][1]).charCodeAt(0)===t.sliceSerialize(e[a][1]).charCodeAt(0)){if((e[o][1]._close||e[a][1]._open)&&(e[a][1].end.offset-e[a][1].start.offset)%3&&!((e[o][1].end.offset-e[o][1].start.offset+e[a][1].end.offset-e[a][1].start.offset)%3))continue;l=e[o][1].end.offset-e[o][1].start.offset>1&&e[a][1].end.offset-e[a][1].start.offset>1?2:1;let d={...e[o][1].end},p={...e[a][1].start};Rn(d,-l),Rn(p,l),n={type:l>1?ve.strongSequence:ve.emphasisSequence,start:d,end:{...e[o][1].end}},i={type:l>1?ve.strongSequence:ve.emphasisSequence,start:{...e[a][1].start},end:p},s={type:l>1?ve.strongText:ve.emphasisText,start:{...e[o][1].end},end:{...e[a][1].start}},r={type:l>1?ve.strong:ve.emphasis,start:{...n.start},end:{...i.end}},e[o][1].end={...n.start},e[a][1].start={...i.end},u=[],e[o][1].end.offset-e[o][1].start.offset&&(u=xt(u,[["enter",e[o][1],t],["exit",e[o][1],t]])),u=xt(u,[["enter",r,t],["enter",n,t],["exit",n,t],["enter",s,t]]),t.parser.constructs.insideSpan.null,u=xt(u,ga(t.parser.constructs.insideSpan.null,e.slice(o+1,a),t)),u=xt(u,[["exit",s,t],["enter",i,t],["exit",i,t],["exit",r,t]]),e[a][1].end.offset-e[a][1].start.offset?(c=2,u=xt(u,[["enter",e[a][1],t],["exit",e[a][1],t]])):c=0,wt(e,o-1,a-o+3,u),a=o+u.length-c-2;break}}for(a=-1;++a<e.length;)e[a][1].type==="attentionSequence"&&(e[a][1].type="data");return e}function hc(e,t){let a=this.parser.constructs.attentionMarkers.null,{now:o,sliceSerialize:r,previous:s}=this,n=Pa(s)?Aa(s,o(),r):s,i=Je(n),l=new Ra(n,o(),r),u=Ta(i,l.value.bind(l),n),c;return d;function d(m){return m===pe.asterisk||pe.underscore,c=m,e.enter("attentionSequence"),p(m)}function p(m){if(m===c)return e.consume(m),p;let h=e.exit("attentionSequence"),I=va(m)?Ma(m,o(),r):m,L=Je(I);let S=yt(u),C=S||nt(u),g=yt(L),b=g||nt(L),v=An(u),P=!b||g&&(C||v)||a.includes(m),A=!C||S&&(b||Jt(L))||a.includes(n);return h._open=!!(c===pe.asterisk?P:P&&(Do(u)||!A)),h._close=!!(c===pe.asterisk?A:A&&(Do(L)||!P)),t(m)}}function Rn(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function Mn(){return{text:{[pe.asterisk]:Bo,[pe.underscore]:Bo},insideSpan:{null:[Bo]}}}function Fn(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(Mn())}f();f();function Dn(e){let a=(e||{}).singleTilde,o={name:"strikethrough",tokenize:s,resolveAll:r};return a==null&&(a=!0),{text:{[pe.tilde]:o},insideSpan:{null:[o]},attentionMarkers:{null:[pe.tilde]}};function r(n,i){let l=-1;for(;++l<n.length;)if(n[l][0]==="enter"&&n[l][1].type==="strikethroughSequenceTemporary"&&n[l][1]._close){let u=l;for(;u--;)if(n[u][0]==="exit"&&n[u][1].type==="strikethroughSequenceTemporary"&&n[u][1]._open&&n[l][1].end.offset-n[l][1].start.offset===n[u][1].end.offset-n[u][1].start.offset){n[l][1].type="strikethroughSequence",n[u][1].type="strikethroughSequence";let c={type:"strikethrough",start:Object.assign({},n[u][1].start),end:Object.assign({},n[l][1].end)},d={type:"strikethroughText",start:Object.assign({},n[u][1].end),end:Object.assign({},n[l][1].start)},p=[["enter",c,i],["enter",n[u][1],i],["exit",n[u][1],i],["enter",d,i]],m=i.parser.constructs.insideSpan.null;m&&wt(p,p.length,0,ga(m,n.slice(u+1,l),i)),wt(p,p.length,0,[["exit",d,i],["enter",n[l][1],i],["exit",n[l][1],i],["exit",c,i]]),wt(n,u-1,l-u+3,p),l=u+p.length-2;break}}for(l=-1;++l<n.length;)n[l][1].type==="strikethroughSequenceTemporary"&&(n[l][1].type=ve.data);return n}function s(n,i,l){let{now:u,sliceSerialize:c,previous:d}=this,p=Pa(d)?Aa(d,u(),c):d,m=Je(p),h=new Ra(p,u(),c),I=Ta(m,h.value.bind(h),p),L=this.events,S=0;return C;function C(b){return pe.tilde,p===pe.tilde&&L[L.length-1][1].type!==ve.characterEscape?l(b):(n.enter("strikethroughSequenceTemporary"),g(b))}function g(b){let v=Je(p);if(b===pe.tilde)return S>1?l(b):(n.consume(b),S++,g);if(S<2&&!a)return l(b);let P=n.exit("strikethroughSequenceTemporary"),A=va(b)?Ma(b,u(),c):b,R=Je(A),M=yt(I)||nt(I),y=yt(R)||nt(R),D=Jt(I)||Pn(v);return P._open=!y||R===He.attentionSideAfter&&(M||D),P._close=!M||v===He.attentionSideAfter&&(y||Jt(R)),i(b)}}}function Bn(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(Dn(e))}var gc=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),wc=/^(https?:\/\/|mailto:|www\.)/i,xc=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},Lc=e=>{let t=0;for(let a of e){if(gc.has(a))return t;t+=a.length}return null},Cc=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),Ic=e=>({type:"text",value:e}),Sc=()=>e=>{jr(e,"link",(t,a,o)=>{if(!o||typeof a!="number"||!xc(t)||!wc.test(t.url))return;let r=Lc(t.url);if(r===null||r===0)return;let s=t.url.slice(0,r),n=t.url.slice(r),i=Cc(s,t),l=Ic(n);return o.children.splice(a,1,i,l),a+1})};function yc(){let e=[Fn],t=[Sc,Bn],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var Eo=yc();f();f();f();f();f();var Y=class extends Error{constructor(t){super(t),this.name="ShikiError"}};f();function bc(e){return zo(e)}function zo(e){return Array.isArray(e)?kc(e):e instanceof RegExp?e:typeof e=="object"?Tc(e):e}function kc(e){let t=[];for(let a=0,o=e.length;a<o;a++)t[a]=zo(e[a]);return t}function Tc(e){let t={};for(let a in e)t[a]=zo(e[a]);return t}function Gn(e,...t){return t.forEach(a=>{for(let o in a)e[o]=a[o]}),e}function jn(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?jn(e.substring(0,e.length-1)):e.substr(~t+1)}var _o=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,Fa=class{static hasCaptures(e){return e===null?!1:(_o.lastIndex=0,_o.test(e))}static replaceCaptures(e,t,a){return e.replace(_o,(o,r,s,n)=>{let i=a[parseInt(r||s,10)];if(i){let l=t.substring(i.start,i.end);for(;l[0]===".";)l=l.substring(1);switch(n){case"downcase":return l.toLowerCase();case"upcase":return l.toUpperCase();default:return l}}else return o})}};function zn(e,t){return e<t?-1:e>t?1:0}function Vn(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let a=e.length,o=t.length;if(a===o){for(let r=0;r<a;r++){let s=zn(e[r],t[r]);if(s!==0)return s}return 0}return a-o}function En(e){return!!(/^#[0-9a-f]{6}$/i.test(e)||/^#[0-9a-f]{8}$/i.test(e)||/^#[0-9a-f]{3}$/i.test(e)||/^#[0-9a-f]{4}$/i.test(e))}function $n(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var Xn=class{constructor(e){this.fn=e}cache=new Map;get(e){if(this.cache.has(e))return this.cache.get(e);let t=this.fn(e);return this.cache.set(e,t),t}},ea=class{constructor(e,t,a){this._colorMap=e,this._defaults=t,this._root=a}static createFromRawTheme(e,t){return this.createFromParsedTheme(Ac(e),t)}static createFromParsedTheme(e,t){return Mc(e,t)}_cachedMatchRoot=new Xn(e=>this._root.match(e));getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(e){if(e===null)return this._defaults;let t=e.scopeName,o=this._cachedMatchRoot.get(t).find(r=>vc(e.parent,r.parentScopes));return o?new Kn(o.fontStyle,o.foreground,o.background):null}},No=class Da{constructor(t,a){this.parent=t,this.scopeName=a}static push(t,a){for(let o of a)t=new Da(t,o);return t}static from(...t){let a=null;for(let o=0;o<t.length;o++)a=new Da(a,t[o]);return a}push(t){return new Da(this,t)}getSegments(){let t=this,a=[];for(;t;)a.push(t.scopeName),t=t.parent;return a.reverse(),a}toString(){return this.getSegments().join(" ")}extends(t){return this===t?!0:this.parent===null?!1:this.parent.extends(t)}getExtensionIfDefined(t){let a=[],o=this;for(;o&&o!==t;)a.push(o.scopeName),o=o.parent;return o===t?a.reverse():void 0}};function vc(e,t){if(t.length===0)return!0;for(let a=0;a<t.length;a++){let o=t[a],r=!1;if(o===">"){if(a===t.length-1)return!1;o=t[++a],r=!0}for(;e&&!Pc(e.scopeName,o);){if(r)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function Pc(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var Kn=class{constructor(e,t,a){this.fontStyle=e,this.foregroundId=t,this.backgroundId=a}};function Ac(e){if(!e)return[];if(!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,a=[],o=0;for(let r=0,s=t.length;r<s;r++){let n=t[r];if(!n.settings)continue;let i;if(typeof n.scope=="string"){let d=n.scope;d=d.replace(/^[,]+/,""),d=d.replace(/[,]+$/,""),i=d.split(",")}else Array.isArray(n.scope)?i=n.scope:i=[""];let l=-1;if(typeof n.settings.fontStyle=="string"){l=0;let d=n.settings.fontStyle.split(" ");for(let p=0,m=d.length;p<m;p++)switch(d[p]){case"italic":l=l|1;break;case"bold":l=l|2;break;case"underline":l=l|4;break;case"strikethrough":l=l|8;break}}let u=null;typeof n.settings.foreground=="string"&&En(n.settings.foreground)&&(u=n.settings.foreground);let c=null;typeof n.settings.background=="string"&&En(n.settings.background)&&(c=n.settings.background);for(let d=0,p=i.length;d<p;d++){let h=i[d].trim().split(" "),I=h[h.length-1],L=null;h.length>1&&(L=h.slice(0,h.length-1),L.reverse()),a[o++]=new Rc(I,L,r,l,u,c)}}return a}var Rc=class{constructor(e,t,a,o,r,s){this.scope=e,this.parentScopes=t,this.index=a,this.fontStyle=o,this.foreground=r,this.background=s}},me=(e=>(e[e.NotSet=-1]="NotSet",e[e.None=0]="None",e[e.Italic=1]="Italic",e[e.Bold=2]="Bold",e[e.Underline=4]="Underline",e[e.Strikethrough=8]="Strikethrough",e))(me||{});function Mc(e,t){e.sort((l,u)=>{let c=zn(l.scope,u.scope);return c!==0||(c=Vn(l.parentScopes,u.parentScopes),c!==0)?c:l.index-u.index});let a=0,o="#000000",r="#ffffff";for(;e.length>=1&&e[0].scope==="";){let l=e.shift();l.fontStyle!==-1&&(a=l.fontStyle),l.foreground!==null&&(o=l.foreground),l.background!==null&&(r=l.background)}let s=new Fc(t),n=new Kn(a,s.getId(o),s.getId(r)),i=new Bc(new Oo(0,null,-1,0,0),[]);for(let l=0,u=e.length;l<u;l++){let c=e[l];i.insert(0,c.scope,c.parentScopes,c.fontStyle,s.getId(c.foreground),s.getId(c.background))}return new ea(s,n,i)}var Fc=class{_isFrozen;_lastColorId;_id2color;_color2id;constructor(e){if(this._lastColorId=0,this._id2color=[],this._color2id=Object.create(null),Array.isArray(e)){this._isFrozen=!0;for(let t=0,a=e.length;t<a;t++)this._color2id[e[t]]=t,this._id2color[t]=e[t]}else this._isFrozen=!1}getId(e){if(e===null)return 0;e=e.toUpperCase();let t=this._color2id[e];if(t)return t;if(this._isFrozen)throw new Error(`Missing color in color map - ${e}`);return t=++this._lastColorId,this._color2id[e]=t,this._id2color[t]=e,t}getColorMap(){return this._id2color.slice(0)}},Dc=Object.freeze([]),Oo=class Qn{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,o,r,s){this.scopeDepth=t,this.parentScopes=a||Dc,this.fontStyle=o,this.foreground=r,this.background=s}clone(){return new Qn(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background)}static cloneArr(t){let a=[];for(let o=0,r=t.length;o<r;o++)a[o]=t[o].clone();return a}acceptOverwrite(t,a,o,r){this.scopeDepth>t?console.log("how did this happen?"):this.scopeDepth=t,a!==-1&&(this.fontStyle=a),o!==0&&(this.foreground=o),r!==0&&(this.background=r)}},Bc=class Ho{constructor(t,a=[],o={}){this._mainRule=t,this._children=o,this._rulesWithParentScopes=a}_rulesWithParentScopes;static _cmpBySpecificity(t,a){if(t.scopeDepth!==a.scopeDepth)return a.scopeDepth-t.scopeDepth;let o=0,r=0;for(;t.parentScopes[o]===">"&&o++,a.parentScopes[r]===">"&&r++,!(o>=t.parentScopes.length||r>=a.parentScopes.length);){let s=a.parentScopes[r].length-t.parentScopes[o].length;if(s!==0)return s;o++,r++}return a.parentScopes.length-t.parentScopes.length}match(t){if(t!==""){let o=t.indexOf("."),r,s;if(o===-1?(r=t,s=""):(r=t.substring(0,o),s=t.substring(o+1)),this._children.hasOwnProperty(r))return this._children[r].match(s)}let a=this._rulesWithParentScopes.concat(this._mainRule);return a.sort(Ho._cmpBySpecificity),a}insert(t,a,o,r,s,n){if(a===""){this._doInsertHere(t,o,r,s,n);return}let i=a.indexOf("."),l,u;i===-1?(l=a,u=""):(l=a.substring(0,i),u=a.substring(i+1));let c;this._children.hasOwnProperty(l)?c=this._children[l]:(c=new Ho(this._mainRule.clone(),Oo.cloneArr(this._rulesWithParentScopes)),this._children[l]=c),c.insert(t+1,u,o,r,s,n)}_doInsertHere(t,a,o,r,s){if(a===null){this._mainRule.acceptOverwrite(t,o,r,s);return}for(let n=0,i=this._rulesWithParentScopes.length;n<i;n++){let l=this._rulesWithParentScopes[n];if(Vn(l.parentScopes,a)===0){l.acceptOverwrite(t,o,r,s);return}}o===-1&&(o=this._mainRule.fontStyle),r===0&&(r=this._mainRule.foreground),s===0&&(s=this._mainRule.background),this._rulesWithParentScopes.push(new Oo(t,a,o,r,s))}},lt=class Me{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){let a=Me.getLanguageId(t),o=Me.getTokenType(t),r=Me.getFontStyle(t),s=Me.getForeground(t),n=Me.getBackground(t);console.log({languageId:a,tokenType:o,fontStyle:r,foreground:s,background:n})}static getLanguageId(t){return(t&255)>>>0}static getTokenType(t){return(t&768)>>>8}static containsBalancedBrackets(t){return(t&1024)!==0}static getFontStyle(t){return(t&30720)>>>11}static getForeground(t){return(t&16744448)>>>15}static getBackground(t){return(t&4278190080)>>>24}static set(t,a,o,r,s,n,i){let l=Me.getLanguageId(t),u=Me.getTokenType(t),c=Me.containsBalancedBrackets(t)?1:0,d=Me.getFontStyle(t),p=Me.getForeground(t),m=Me.getBackground(t);return a!==0&&(l=a),o!==8&&(u=o),r!==null&&(c=r?1:0),s!==-1&&(d=s),n!==0&&(p=n),i!==0&&(m=i),(l<<0|u<<8|c<<10|d<<11|p<<15|m<<24)>>>0}};function Ea(e,t){let a=[],o=Ec(e),r=o.next();for(;r!==null;){let l=0;if(r.length===2&&r.charAt(1)===":"){switch(r.charAt(0)){case"R":l=1;break;case"L":l=-1;break;default:console.log(`Unknown priority ${r} in scope selector`)}r=o.next()}let u=n();if(a.push({matcher:u,priority:l}),r!==",")break;r=o.next()}return a;function s(){if(r==="-"){r=o.next();let l=s();return u=>!!l&&!l(u)}if(r==="("){r=o.next();let l=i();return r===")"&&(r=o.next()),l}if(_n(r)){let l=[];do l.push(r),r=o.next();while(_n(r));return u=>t(l,u)}return null}function n(){let l=[],u=s();for(;u;)l.push(u),u=s();return c=>l.every(d=>d(c))}function i(){let l=[],u=n();for(;u&&(l.push(u),r==="|"||r===",");){do r=o.next();while(r==="|"||r===",");u=n()}return c=>l.some(d=>d(c))}}function _n(e){return!!e&&!!e.match(/[\w\.:]+/)}function Ec(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,a=t.exec(e);return{next:()=>{if(!a)return null;let o=a[0];return a=t.exec(e),o}}}function Jn(e){typeof e.dispose=="function"&&e.dispose()}var ta=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},_c=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},Nc=class{_references=[];_seenReferenceKeys=new Set;get references(){return this._references}visitedRule=new Set;add(e){let t=e.toKey();this._seenReferenceKeys.has(t)||(this._seenReferenceKeys.add(t),this._references.push(e))}},Uc=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new ta(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new Nc;for(let a of e)Oc(a,this.initialScopeName,this.repo,t);for(let a of t.references)if(a instanceof ta){if(this.seenFullScopeRequests.has(a.scopeName))continue;this.seenFullScopeRequests.add(a.scopeName),this.Q.push(a)}else{if(this.seenFullScopeRequests.has(a.scopeName)||this.seenPartialScopeRequests.has(a.toKey()))continue;this.seenPartialScopeRequests.add(a.toKey()),this.Q.push(a)}}};function Oc(e,t,a,o){let r=a.lookup(e.scopeName);if(!r){if(e.scopeName===t)throw new Error(`No grammar provided for <${t}>`);return}let s=a.lookup(t);e instanceof ta?Ba({baseGrammar:s,selfGrammar:r},o):qo(e.ruleName,{baseGrammar:s,selfGrammar:r,repository:r.repository},o);let n=a.injections(e.scopeName);if(n)for(let i of n)o.add(new ta(i))}function qo(e,t,a){if(t.repository&&t.repository[e]){let o=t.repository[e];_a([o],t,a)}}function Ba(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&_a(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&_a(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function _a(e,t,a){for(let o of e){if(a.visitedRule.has(o))continue;a.visitedRule.add(o);let r=o.repository?Gn({},t.repository,o.repository):t.repository;Array.isArray(o.patterns)&&_a(o.patterns,{...t,repository:r},a);let s=o.include;if(!s)continue;let n=Zn(s);switch(n.kind){case 0:Ba({...t,selfGrammar:t.baseGrammar},a);break;case 1:Ba(t,a);break;case 2:qo(n.ruleName,{...t,repository:r},a);break;case 3:case 4:let i=n.scopeName===t.selfGrammar.scopeName?t.selfGrammar:n.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(i){let l={baseGrammar:t.baseGrammar,selfGrammar:i,repository:r};n.kind===4?qo(n.ruleName,l,a):Ba(l,a)}else n.kind===4?a.add(new _c(n.scopeName,n.ruleName)):a.add(new ta(n.scopeName));break}}}var Hc=class{kind=0},qc=class{kind=1},Wc=class{constructor(e){this.ruleName=e}kind=2},Gc=class{constructor(e){this.scopeName=e}kind=3},jc=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function Zn(e){if(e==="$base")return new Hc;if(e==="$self")return new qc;let t=e.indexOf("#");if(t===-1)return new Gc(e);if(t===0)return new Wc(e.substring(1));{let a=e.substring(0,t),o=e.substring(t+1);return new jc(a,o)}}var zc=/\\(\d+)/,Nn=/\\(\d+)/g;var Vc=-1,Yn=-2;var ra=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,a,o){this.$location=e,this.id=t,this._name=a||null,this._nameIsCapturing=Fa.hasCaptures(this._name),this._contentName=o||null,this._contentNameIsCapturing=Fa.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${jn(this.$location.filename)}:${this.$location.line}`:"unknown";return`${this.constructor.name}#${this.id} @ ${e}`}getName(e,t){return!this._nameIsCapturing||this._name===null||e===null||t===null?this._name:Fa.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:Fa.replaceCaptures(this._contentName,e,t)}},$c=class extends ra{retokenizeCapturedWithRuleId;constructor(e,t,a,o,r){super(e,t,a,o),this.retokenizeCapturedWithRuleId=r}dispose(){}collectPatterns(e,t){throw new Error("Not supported!")}compile(e,t){throw new Error("Not supported!")}compileAG(e,t,a,o){throw new Error("Not supported!")}},Xc=class extends ra{_match;captures;_cachedCompiledPatterns;constructor(e,t,a,o,r){super(e,t,a,null),this._match=new aa(o,this.id),this.captures=r,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugMatchRegExp(){return`${this._match.source}`}collectPatterns(e,t){t.push(this._match)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,a,o){return this._getCachedCompiledPatterns(e).compileAG(e,a,o)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new oa,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Un=class extends ra{hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,a,o,r){super(e,t,a,o),this.patterns=r.patterns,this.hasMissingPatterns=r.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}collectPatterns(e,t){for(let a of this.patterns)e.getRule(a).collectPatterns(e,t)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,a,o){return this._getCachedCompiledPatterns(e).compileAG(e,a,o)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new oa,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Wo=class extends ra{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,a,o,r,s,n,i,l,u){super(e,t,a,o),this._begin=new aa(r,this.id),this.beginCaptures=s,this._end=new aa(n||"\uFFFF",-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=i,this.applyEndPatternLast=l||!1,this.patterns=u.patterns,this.hasMissingPatterns=u.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugEndRegExp(){return`${this._end.source}`}getEndWithResolvedBackReferences(e,t){return this._end.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e,t).compile(e)}compileAG(e,t,a,o){return this._getCachedCompiledPatterns(e,t).compileAG(e,a,o)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new oa;for(let a of this.patterns)e.getRule(a).collectPatterns(e,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,t):this._cachedCompiledPatterns.setSource(0,t)),this._cachedCompiledPatterns}},Na=class extends ra{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,a,o,r,s,n,i,l){super(e,t,a,o),this._begin=new aa(r,this.id),this.beginCaptures=s,this.whileCaptures=i,this._while=new aa(n,Yn),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=l.patterns,this.hasMissingPatterns=l.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null),this._cachedCompiledWhilePatterns&&(this._cachedCompiledWhilePatterns.dispose(),this._cachedCompiledWhilePatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugWhileRegExp(){return`${this._while.source}`}getWhileWithResolvedBackReferences(e,t){return this._while.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,a,o){return this._getCachedCompiledPatterns(e).compileAG(e,a,o)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new oa;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns)}return this._cachedCompiledPatterns}compileWhile(e,t){return this._getCachedCompiledWhilePatterns(e,t).compile(e)}compileWhileAG(e,t,a,o){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,a,o)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new oa,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},ei=class Le{static createCaptureRule(t,a,o,r,s){return t.registerRule(n=>new $c(a,n,o,r,s))}static getCompiledRuleId(t,a,o){return t.id||a.registerRule(r=>{if(t.id=r,t.match)return new Xc(t.$vscodeTextmateLocation,t.id,t.name,t.match,Le._compileCaptures(t.captures,a,o));if(typeof t.begin>"u"){t.repository&&(o=Gn({},o,t.repository));let s=t.patterns;return typeof s>"u"&&t.include&&(s=[{include:t.include}]),new Un(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,Le._compilePatterns(s,a,o))}return t.while?new Na(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,Le._compileCaptures(t.beginCaptures||t.captures,a,o),t.while,Le._compileCaptures(t.whileCaptures||t.captures,a,o),Le._compilePatterns(t.patterns,a,o)):new Wo(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,Le._compileCaptures(t.beginCaptures||t.captures,a,o),t.end,Le._compileCaptures(t.endCaptures||t.captures,a,o),t.applyEndPatternLast,Le._compilePatterns(t.patterns,a,o))}),t.id}static _compileCaptures(t,a,o){let r=[];if(t){let s=0;for(let n in t){if(n==="$vscodeTextmateLocation")continue;let i=parseInt(n,10);i>s&&(s=i)}for(let n=0;n<=s;n++)r[n]=null;for(let n in t){if(n==="$vscodeTextmateLocation")continue;let i=parseInt(n,10),l=0;t[n].patterns&&(l=Le.getCompiledRuleId(t[n],a,o)),r[i]=Le.createCaptureRule(a,t[n].$vscodeTextmateLocation,t[n].name,t[n].contentName,l)}}return r}static _compilePatterns(t,a,o){let r=[];if(t)for(let s=0,n=t.length;s<n;s++){let i=t[s],l=-1;if(i.include){let u=Zn(i.include);switch(u.kind){case 0:case 1:l=Le.getCompiledRuleId(o[i.include],a,o);break;case 2:let c=o[u.ruleName];c&&(l=Le.getCompiledRuleId(c,a,o));break;case 3:case 4:let d=u.scopeName,p=u.kind===4?u.ruleName:null,m=a.getExternalGrammar(d,o);if(m)if(p){let h=m.repository[p];h&&(l=Le.getCompiledRuleId(h,a,m.repository))}else l=Le.getCompiledRuleId(m.repository.$self,a,m.repository);break}}else l=Le.getCompiledRuleId(i,a,o);if(l!==-1){let u=a.getRule(l),c=!1;if((u instanceof Un||u instanceof Wo||u instanceof Na)&&u.hasMissingPatterns&&u.patterns.length===0&&(c=!0),c)continue;r.push(l)}}return{patterns:r,hasMissingPatterns:(t?t.length:0)!==r.length}}},aa=class ti{source;ruleId;hasAnchor;hasBackReferences;_anchorCache;constructor(t,a){if(t&&typeof t=="string"){let o=t.length,r=0,s=[],n=!1;for(let i=0;i<o;i++)if(t.charAt(i)==="\\"&&i+1<o){let u=t.charAt(i+1);u==="z"?(s.push(t.substring(r,i)),s.push("$(?!\\n)(?<!\\n)"),r=i+2):(u==="A"||u==="G")&&(n=!0),i++}this.hasAnchor=n,r===0?this.source=t:(s.push(t.substring(r,o)),this.source=s.join(""))}else this.hasAnchor=!1,this.source=t;this.hasAnchor?this._anchorCache=this._buildAnchorCache():this._anchorCache=null,this.ruleId=a,typeof this.source=="string"?this.hasBackReferences=zc.test(this.source):this.hasBackReferences=!1}clone(){return new ti(this.source,this.ruleId)}setSource(t){this.source!==t&&(this.source=t,this.hasAnchor&&(this._anchorCache=this._buildAnchorCache()))}resolveBackReferences(t,a){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let o=a.map(r=>t.substring(r.start,r.end));return Nn.lastIndex=0,this.source.replace(Nn,(r,s)=>$n(o[parseInt(s,10)]||""))}_buildAnchorCache(){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let t=[],a=[],o=[],r=[],s,n,i,l;for(s=0,n=this.source.length;s<n;s++)i=this.source.charAt(s),t[s]=i,a[s]=i,o[s]=i,r[s]=i,i==="\\"&&s+1<n&&(l=this.source.charAt(s+1),l==="A"?(t[s+1]="\uFFFF",a[s+1]="\uFFFF",o[s+1]="A",r[s+1]="A"):l==="G"?(t[s+1]="\uFFFF",a[s+1]="G",o[s+1]="\uFFFF",r[s+1]="G"):(t[s+1]=l,a[s+1]=l,o[s+1]=l,r[s+1]=l),s++);return{A0_G0:t.join(""),A0_G1:a.join(""),A1_G0:o.join(""),A1_G1:r.join("")}}resolveAnchors(t,a){return!this.hasAnchor||!this._anchorCache||typeof this.source!="string"?this.source:t?a?this._anchorCache.A1_G1:this._anchorCache.A1_G0:a?this._anchorCache.A0_G1:this._anchorCache.A0_G0}},oa=class{_items;_hasAnchors;_cached;_anchorCache;constructor(){this._items=[],this._hasAnchors=!1,this._cached=null,this._anchorCache={A0_G0:null,A0_G1:null,A1_G0:null,A1_G1:null}}dispose(){this._disposeCaches()}_disposeCaches(){this._cached&&(this._cached.dispose(),this._cached=null),this._anchorCache.A0_G0&&(this._anchorCache.A0_G0.dispose(),this._anchorCache.A0_G0=null),this._anchorCache.A0_G1&&(this._anchorCache.A0_G1.dispose(),this._anchorCache.A0_G1=null),this._anchorCache.A1_G0&&(this._anchorCache.A1_G0.dispose(),this._anchorCache.A1_G0=null),this._anchorCache.A1_G1&&(this._anchorCache.A1_G1.dispose(),this._anchorCache.A1_G1=null)}push(e){this._items.push(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}unshift(e){this._items.unshift(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}length(){return this._items.length}setSource(e,t){this._items[e].source!==t&&(this._disposeCaches(),this._items[e].setSource(t))}compile(e){if(!this._cached){let t=this._items.map(a=>a.source);this._cached=new On(e,t,this._items.map(a=>a.ruleId))}return this._cached}compileAG(e,t,a){return this._hasAnchors?t?a?(this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(e,t,a)),this._anchorCache.A1_G1):(this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(e,t,a)),this._anchorCache.A1_G0):a?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(e,t,a)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(e,t,a)),this._anchorCache.A0_G0):this.compile(e)}_resolveAnchors(e,t,a){let o=this._items.map(r=>r.resolveAnchors(t,a));return new On(e,o,this._items.map(r=>r.ruleId))}},On=class{constructor(e,t,a){this.regExps=t,this.rules=a,this.scanner=e.createOnigScanner(t)}scanner;dispose(){typeof this.scanner.dispose=="function"&&this.scanner.dispose()}toString(){let e=[];for(let t=0,a=this.rules.length;t<a;t++)e.push(" - "+this.rules[t]+": "+this.regExps[t]);return e.join(`
69
- `)}findNextMatchSync(e,t,a){let o=this.scanner.findNextMatchSync(e,t,a);return o?{ruleId:this.rules[o.index],captureIndices:o.captureIndices}:null}},Uo=class{constructor(e,t){this.languageId=e,this.tokenType=t}},Kc=class Go{_defaultAttributes;_embeddedLanguagesMatcher;constructor(t,a){this._defaultAttributes=new Uo(t,8),this._embeddedLanguagesMatcher=new Qc(Object.entries(a||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?Go._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new Uo(0,0);_getBasicScopeAttributes=new Xn(t=>{let a=this._scopeToLanguage(t),o=this._toStandardTokenType(t);return new Uo(a,o)});_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){let a=t.match(Go.STANDARD_TOKEN_TYPE_REGEXP);if(!a)return 8;switch(a[1]){case"comment":return 1;case"string":return 2;case"regex":return 3;case"meta.embedded":return 0}throw new Error("Unexpected match for standard token type!")}static STANDARD_TOKEN_TYPE_REGEXP=/\b(comment|string|regex|meta\.embedded)\b/},Qc=class{values;scopesRegExp;constructor(e){if(e.length===0)this.values=null,this.scopesRegExp=null;else{this.values=new Map(e);let t=e.map(([a,o])=>$n(a));t.sort(),t.reverse(),this.scopesRegExp=new RegExp(`^((${t.join(")|(")}))($|\\.)`,"")}}match(e){if(!this.scopesRegExp)return;let t=e.match(this.scopesRegExp);if(t)return this.values.get(t[1])}},Dy={InDebugMode:typeof process<"u"&&!!process.env.VSCODE_TEXTMATE_DEBUG},ai=!1,Hn=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function oi(e,t,a,o,r,s,n,i){let l=t.content.length,u=!1,c=-1;if(n){let m=Jc(e,t,a,o,r,s);r=m.stack,o=m.linePos,a=m.isFirstLine,c=m.anchorPosition}let d=Date.now();for(;!u;){if(i!==0&&Date.now()-d>i)return new Hn(r,!0);p()}return new Hn(r,!1);function p(){let m=Zc(e,t,a,o,r,c);if(!m){s.produce(r,l),u=!0;return}let h=m.captureIndices,I=m.matchedRuleId,L=h&&h.length>0?h[0].end>o:!1;if(I===Vc){let S=r.getRule(e);s.produce(r,h[0].start),r=r.withContentNameScopesList(r.nameScopesList),Zt(e,t,a,r,s,S.endCaptures,h),s.produce(r,h[0].end);let C=r;if(r=r.parent,c=C.getAnchorPos(),!L&&C.getEnterPos()===o){r=C,s.produce(r,l),u=!0;return}}else{let S=e.getRule(I);s.produce(r,h[0].start);let C=r,g=S.getName(t.content,h),b=r.contentNameScopesList.pushAttributed(g,e);if(r=r.push(I,o,c,h[0].end===l,null,b,b),S instanceof Wo){let v=S;Zt(e,t,a,r,s,v.beginCaptures,h),s.produce(r,h[0].end),c=h[0].end;let P=v.getContentName(t.content,h),A=b.pushAttributed(P,e);if(r=r.withContentNameScopesList(A),v.endHasBackReferences&&(r=r.withEndRule(v.getEndWithResolvedBackReferences(t.content,h))),!L&&C.hasSameRuleAs(r)){r=r.pop(),s.produce(r,l),u=!0;return}}else if(S instanceof Na){let v=S;Zt(e,t,a,r,s,v.beginCaptures,h),s.produce(r,h[0].end),c=h[0].end;let P=v.getContentName(t.content,h),A=b.pushAttributed(P,e);if(r=r.withContentNameScopesList(A),v.whileHasBackReferences&&(r=r.withEndRule(v.getWhileWithResolvedBackReferences(t.content,h))),!L&&C.hasSameRuleAs(r)){r=r.pop(),s.produce(r,l),u=!0;return}}else if(Zt(e,t,a,r,s,S.captures,h),s.produce(r,h[0].end),r=r.pop(),!L){r=r.safePop(),s.produce(r,l),u=!0;return}}h[0].end>o&&(o=h[0].end,a=!1)}}function Jc(e,t,a,o,r,s){let n=r.beginRuleCapturedEOL?0:-1,i=[];for(let l=r;l;l=l.pop()){let u=l.getRule(e);u instanceof Na&&i.push({rule:u,stack:l})}for(let l=i.pop();l;l=i.pop()){let{ruleScanner:u,findOptions:c}=tf(l.rule,e,l.stack.endRule,a,o===n),d=u.findNextMatchSync(t,o,c);if(d){if(d.ruleId!==Yn){r=l.stack.pop();break}d.captureIndices&&d.captureIndices.length&&(s.produce(l.stack,d.captureIndices[0].start),Zt(e,t,a,l.stack,s,l.rule.whileCaptures,d.captureIndices),s.produce(l.stack,d.captureIndices[0].end),n=d.captureIndices[0].end,d.captureIndices[0].end>o&&(o=d.captureIndices[0].end,a=!1))}else{r=l.stack.pop();break}}return{stack:r,linePos:o,anchorPosition:n,isFirstLine:a}}function Zc(e,t,a,o,r,s){let n=Yc(e,t,a,o,r,s),i=e.getInjections();if(i.length===0)return n;let l=ef(i,e,t,a,o,r,s);if(!l)return n;if(!n)return l;let u=n.captureIndices[0].start,c=l.captureIndices[0].start;return c<u||l.priorityMatch&&c===u?l:n}function Yc(e,t,a,o,r,s){let n=r.getRule(e),{ruleScanner:i,findOptions:l}=ri(n,e,r.endRule,a,o===s),u=i.findNextMatchSync(t,o,l);return u?{captureIndices:u.captureIndices,matchedRuleId:u.ruleId}:null}function ef(e,t,a,o,r,s,n){let i=Number.MAX_VALUE,l=null,u,c=0,d=s.contentNameScopesList.getScopeNames();for(let p=0,m=e.length;p<m;p++){let h=e[p];if(!h.matcher(d))continue;let I=t.getRule(h.ruleId),{ruleScanner:L,findOptions:S}=ri(I,t,null,o,r===n),C=L.findNextMatchSync(a,r,S);if(!C)continue;let g=C.captureIndices[0].start;if(!(g>=i)&&(i=g,l=C.captureIndices,u=C.ruleId,c=h.priority,i===r))break}return l?{priorityMatch:c===-1,captureIndices:l,matchedRuleId:u}:null}function ri(e,t,a,o,r){if(ai){let n=e.compile(t,a),i=si(o,r);return{ruleScanner:n,findOptions:i}}return{ruleScanner:e.compileAG(t,a,o,r),findOptions:0}}function tf(e,t,a,o,r){if(ai){let n=e.compileWhile(t,a),i=si(o,r);return{ruleScanner:n,findOptions:i}}return{ruleScanner:e.compileWhileAG(t,a,o,r),findOptions:0}}function si(e,t){let a=0;return e||(a|=1),t||(a|=4),a}function Zt(e,t,a,o,r,s,n){if(s.length===0)return;let i=t.content,l=Math.min(s.length,n.length),u=[],c=n[0].end;for(let d=0;d<l;d++){let p=s[d];if(p===null)continue;let m=n[d];if(m.length===0)continue;if(m.start>c)break;for(;u.length>0&&u[u.length-1].endPos<=m.start;)r.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop();if(u.length>0?r.produceFromScopes(u[u.length-1].scopes,m.start):r.produce(o,m.start),p.retokenizeCapturedWithRuleId){let I=p.getName(i,n),L=o.contentNameScopesList.pushAttributed(I,e),S=p.getContentName(i,n),C=L.pushAttributed(S,e),g=o.push(p.retokenizeCapturedWithRuleId,m.start,-1,!1,null,L,C),b=e.createOnigString(i.substring(0,m.end));oi(e,b,a&&m.start===0,m.start,g,r,!1,0),Jn(b);continue}let h=p.getName(i,n);if(h!==null){let L=(u.length>0?u[u.length-1].scopes:o.contentNameScopesList).pushAttributed(h,e);u.push(new af(L,m.end))}}for(;u.length>0;)r.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop()}var af=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function of(e,t,a,o,r,s,n,i){return new sf(e,t,a,o,r,s,n,i)}function qn(e,t,a,o,r){let s=Ea(t,Ua),n=ei.getCompiledRuleId(a,o,r.repository);for(let i of s)e.push({debugSelector:t,matcher:i.matcher,ruleId:n,grammar:r,priority:i.priority})}function Ua(e,t){if(t.length<e.length)return!1;let a=0;return e.every(o=>{for(let r=a;r<t.length;r++)if(rf(t[r],o))return a=r+1,!0;return!1})}function rf(e,t){if(!e)return!1;if(e===t)return!0;let a=t.length;return e.length>a&&e.substr(0,a)===t&&e[a]==="."}var sf=class{constructor(e,t,a,o,r,s,n,i){if(this._rootScopeName=e,this.balancedBracketSelectors=s,this._onigLib=i,this._basicScopeAttributesProvider=new Kc(a,o),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=n,this._grammar=Wn(t,null),this._injections=null,this._tokenTypeMatchers=[],r)for(let l of Object.keys(r)){let u=Ea(l,Ua);for(let c of u)this._tokenTypeMatchers.push({matcher:c.matcher,type:r[l]})}}_rootId;_lastRuleId;_ruleId2desc;_includedGrammars;_grammarRepository;_grammar;_injections;_basicScopeAttributesProvider;_tokenTypeMatchers;get themeProvider(){return this._grammarRepository}dispose(){for(let e of this._ruleId2desc)e&&e.dispose()}createOnigScanner(e){return this._onigLib.createOnigScanner(e)}createOnigString(e){return this._onigLib.createOnigString(e)}getMetadataForScope(e){return this._basicScopeAttributesProvider.getBasicScopeAttributes(e)}_collectInjections(){let e={lookup:r=>r===this._rootScopeName?this._grammar:this.getExternalGrammar(r),injections:r=>this._grammarRepository.injections(r)},t=[],a=this._rootScopeName,o=e.lookup(a);if(o){let r=o.injections;if(r)for(let n in r)qn(t,n,r[n],this,o);let s=this._grammarRepository.injections(a);s&&s.forEach(n=>{let i=this.getExternalGrammar(n);if(i){let l=i.injectionSelector;l&&qn(t,l,i,this,i)}})}return t.sort((r,s)=>r.priority-s.priority),t}getInjections(){return this._injections===null&&(this._injections=this._collectInjections()),this._injections}registerRule(e){let t=++this._lastRuleId,a=e(t);return this._ruleId2desc[t]=a,a}getRule(e){return this._ruleId2desc[e]}getExternalGrammar(e,t){if(this._includedGrammars[e])return this._includedGrammars[e];if(this._grammarRepository){let a=this._grammarRepository.lookup(e);if(a)return this._includedGrammars[e]=Wn(a,t&&t.$base),this._includedGrammars[e]}}tokenizeLine(e,t,a=0){let o=this._tokenize(e,t,!1,a);return{tokens:o.lineTokens.getResult(o.ruleStack,o.lineLength),ruleStack:o.ruleStack,stoppedEarly:o.stoppedEarly}}tokenizeLine2(e,t,a=0){let o=this._tokenize(e,t,!0,a);return{tokens:o.lineTokens.getBinaryResult(o.ruleStack,o.lineLength),ruleStack:o.ruleStack,stoppedEarly:o.stoppedEarly}}_tokenize(e,t,a,o){this._rootId===-1&&(this._rootId=ei.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let r;if(!t||t===jo.NULL){r=!0;let u=this._basicScopeAttributesProvider.getDefaultAttributes(),c=this.themeProvider.getDefaults(),d=lt.set(0,u.languageId,u.tokenType,null,c.fontStyle,c.foregroundId,c.backgroundId),p=this.getRule(this._rootId).getName(null,null),m;p?m=Yt.createRootAndLookUpScopeName(p,d,this):m=Yt.createRoot("unknown",d),t=new jo(null,this._rootId,-1,-1,!1,null,m,m)}else r=!1,t.reset();e=e+`
70
- `;let s=this.createOnigString(e),n=s.content.length,i=new lf(a,e,this._tokenTypeMatchers,this.balancedBracketSelectors),l=oi(this,s,r,0,t,i,!0,o);return Jn(s),{lineLength:n,lineTokens:i,ruleStack:l.stack,stoppedEarly:l.stoppedEarly}}};function Wn(e,t){return e=bc(e),e.repository=e.repository||{},e.repository.$self={$vscodeTextmateLocation:e.$vscodeTextmateLocation,patterns:e.patterns,name:e.scopeName},e.repository.$base=t||e.repository.$self,e}var Yt=class qe{constructor(t,a,o){this.parent=t,this.scopePath=a,this.tokenAttributes=o}static fromExtension(t,a){let o=t,r=t?.scopePath??null;for(let s of a)r=No.push(r,s.scopeNames),o=new qe(o,r,s.encodedTokenAttributes);return o}static createRoot(t,a){return new qe(null,new No(null,t),a)}static createRootAndLookUpScopeName(t,a,o){let r=o.getMetadataForScope(t),s=new No(null,t),n=o.themeProvider.themeMatch(s),i=qe.mergeAttributes(a,r,n);return new qe(null,s,i)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return qe.equals(this,t)}static equals(t,a){do{if(t===a||!t&&!a)return!0;if(!t||!a||t.scopeName!==a.scopeName||t.tokenAttributes!==a.tokenAttributes)return!1;t=t.parent,a=a.parent}while(!0)}static mergeAttributes(t,a,o){let r=-1,s=0,n=0;return o!==null&&(r=o.fontStyle,s=o.foregroundId,n=o.backgroundId),lt.set(t,a.languageId,a.tokenType,null,r,s,n)}pushAttributed(t,a){if(t===null)return this;if(t.indexOf(" ")===-1)return qe._pushAttributed(this,t,a);let o=t.split(/ /g),r=this;for(let s of o)r=qe._pushAttributed(r,s,a);return r}static _pushAttributed(t,a,o){let r=o.getMetadataForScope(a),s=t.scopePath.push(a),n=o.themeProvider.themeMatch(s),i=qe.mergeAttributes(t.tokenAttributes,r,n);return new qe(t,s,i)}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(t){let a=[],o=this;for(;o&&o!==t;)a.push({encodedTokenAttributes:o.tokenAttributes,scopeNames:o.scopePath.getExtensionIfDefined(o.parent?.scopePath??null)}),o=o.parent;return o===t?a.reverse():void 0}},jo=class it{constructor(t,a,o,r,s,n,i,l){this.parent=t,this.ruleId=a,this.beginRuleCapturedEOL=s,this.endRule=n,this.nameScopesList=i,this.contentNameScopesList=l,this.depth=this.parent?this.parent.depth+1:1,this._enterPos=o,this._anchorPos=r}_stackElementBrand=void 0;static NULL=new it(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:it._equals(this,t)}static _equals(t,a){return t===a?!0:this._structuralEquals(t,a)?Yt.equals(t.contentNameScopesList,a.contentNameScopesList):!1}static _structuralEquals(t,a){do{if(t===a||!t&&!a)return!0;if(!t||!a||t.depth!==a.depth||t.ruleId!==a.ruleId||t.endRule!==a.endRule)return!1;t=t.parent,a=a.parent}while(!0)}clone(){return this}static _reset(t){for(;t;)t._enterPos=-1,t._anchorPos=-1,t=t.parent}reset(){it._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,a,o,r,s,n,i){return new it(this,t,a,o,r,s,n,i)}getEnterPos(){return this._enterPos}getAnchorPos(){return this._anchorPos}getRule(t){return t.getRule(this.ruleId)}toString(){let t=[];return this._writeString(t,0),"["+t.join(",")+"]"}_writeString(t,a){return this.parent&&(a=this.parent._writeString(t,a)),t[a++]=`(${this.ruleId}, ${this.nameScopesList?.toString()}, ${this.contentNameScopesList?.toString()})`,a}withContentNameScopesList(t){return this.contentNameScopesList===t?this:this.parent.push(this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,this.endRule,this.nameScopesList,t)}withEndRule(t){return this.endRule===t?this:new it(this.parent,this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,t,this.nameScopesList,this.contentNameScopesList)}hasSameRuleAs(t){let a=this;for(;a&&a._enterPos===t._enterPos;){if(a.ruleId===t.ruleId)return!0;a=a.parent}return!1}toStateStackFrame(){return{ruleId:this.ruleId,beginRuleCapturedEOL:this.beginRuleCapturedEOL,endRule:this.endRule,nameScopesList:this.nameScopesList?.getExtensionIfDefined(this.parent?.nameScopesList??null)??[],contentNameScopesList:this.contentNameScopesList?.getExtensionIfDefined(this.nameScopesList)??[]}}static pushFrame(t,a){let o=Yt.fromExtension(t?.nameScopesList??null,a.nameScopesList);return new it(t,a.ruleId,a.enterPos??-1,a.anchorPos??-1,a.beginRuleCapturedEOL,a.endRule,o,Yt.fromExtension(o,a.contentNameScopesList))}},nf=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(a=>a==="*"?(this.allowAny=!0,[]):Ea(a,Ua).map(o=>o.matcher)),this.unbalancedBracketScopes=t.flatMap(a=>Ea(a,Ua).map(o=>o.matcher))}get matchesAlways(){return this.allowAny&&this.unbalancedBracketScopes.length===0}get matchesNever(){return this.balancedBracketScopes.length===0&&!this.allowAny}match(e){for(let t of this.unbalancedBracketScopes)if(t(e))return!1;for(let t of this.balancedBracketScopes)if(t(e))return!0;return this.allowAny}},lf=class{constructor(e,t,a,o){this.balancedBracketSelectors=o,this._emitBinaryTokens=e,this._tokenTypeOverrides=a,this._lineText=null,this._tokens=[],this._binaryTokens=[],this._lastTokenEndIndex=0}_emitBinaryTokens;_lineText;_tokens;_binaryTokens;_lastTokenEndIndex;_tokenTypeOverrides;produce(e,t){this.produceFromScopes(e.contentNameScopesList,t)}produceFromScopes(e,t){if(this._lastTokenEndIndex>=t)return;if(this._emitBinaryTokens){let o=e?.tokenAttributes??0,r=!1;if(this.balancedBracketSelectors?.matchesAlways&&(r=!0),this._tokenTypeOverrides.length>0||this.balancedBracketSelectors&&!this.balancedBracketSelectors.matchesAlways&&!this.balancedBracketSelectors.matchesNever){let s=e?.getScopeNames()??[];for(let n of this._tokenTypeOverrides)n.matcher(s)&&(o=lt.set(o,0,n.type,null,-1,0,0));this.balancedBracketSelectors&&(r=this.balancedBracketSelectors.match(s))}if(r&&(o=lt.set(o,0,8,r,-1,0,0)),this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-1]===o){this._lastTokenEndIndex=t;return}this._binaryTokens.push(this._lastTokenEndIndex),this._binaryTokens.push(o),this._lastTokenEndIndex=t;return}let a=e?.getScopeNames()??[];this._tokens.push({startIndex:this._lastTokenEndIndex,endIndex:t,scopes:a}),this._lastTokenEndIndex=t}getResult(e,t){return this._tokens.length>0&&this._tokens[this._tokens.length-1].startIndex===t-1&&this._tokens.pop(),this._tokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._tokens[this._tokens.length-1].startIndex=0),this._tokens}getBinaryResult(e,t){this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-2]===t-1&&(this._binaryTokens.pop(),this._binaryTokens.pop()),this._binaryTokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._binaryTokens[this._binaryTokens.length-2]=0);let a=new Uint32Array(this._binaryTokens.length);for(let o=0,r=this._binaryTokens.length;o<r;o++)a[o]=this._binaryTokens[o];return a}},uf=class{constructor(e,t){this._onigLib=t,this._theme=e}_grammars=new Map;_rawGrammars=new Map;_injectionGrammars=new Map;_theme;dispose(){for(let e of this._grammars.values())e.dispose()}setTheme(e){this._theme=e}getColorMap(){return this._theme.getColorMap()}addGrammar(e,t){this._rawGrammars.set(e.scopeName,e),t&&this._injectionGrammars.set(e.scopeName,t)}lookup(e){return this._rawGrammars.get(e)}injections(e){return this._injectionGrammars.get(e)}getDefaults(){return this._theme.getDefaults()}themeMatch(e){return this._theme.match(e)}grammarForScopeName(e,t,a,o,r){if(!this._grammars.has(e)){let s=this._rawGrammars.get(e);if(!s)return null;this._grammars.set(e,of(e,s,t,a,o,r,this,this._onigLib))}return this._grammars.get(e)}},ni=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new uf(ea.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(ea.createFromRawTheme(e,t))}getColorMap(){return this._syncRegistry.getColorMap()}loadGrammarWithEmbeddedLanguages(e,t,a){return this.loadGrammarWithConfiguration(e,t,{embeddedLanguages:a})}loadGrammarWithConfiguration(e,t,a){return this._loadGrammar(e,t,a.embeddedLanguages,a.tokenTypes,new nf(a.balancedBracketSelectors||[],a.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,a,o,r){let s=new Uc(this._syncRegistry,e);for(;s.Q.length>0;)s.Q.map(n=>this._loadSingleGrammar(n.scopeName)),s.processQueue();return this._grammarForScopeName(e,t,a,o,r)}_loadSingleGrammar(e){this._ensureGrammarCache.has(e)||(this._doLoadSingleGrammar(e),this._ensureGrammarCache.set(e,!0))}_doLoadSingleGrammar(e){let t=this._options.loadGrammar(e);if(t){let a=typeof this._options.getInjections=="function"?this._options.getInjections(e):void 0;this._syncRegistry.addGrammar(t,a)}}addGrammar(e,t=[],a=0,o=null){return this._syncRegistry.addGrammar(e,t),this._grammarForScopeName(e.scopeName,a,o)}_grammarForScopeName(e,t=0,a=null,o=null,r=null){return this._syncRegistry.grammarForScopeName(e,t,a,o,r)}},Oa=jo.NULL;f();f();f();f();f();f();var df=/["&'<>`]/g,cf=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,ff=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,pf=/[|\\{}()[\]^$+*?.]/g,ii=new WeakMap;function li(e,t){if(e=e.replace(t.subset?mf(t.subset):df,o),t.subset||t.escapeOnly)return e;return e.replace(cf,a).replace(ff,o);function a(r,s,n){return t.format((r.charCodeAt(0)-55296)*1024+r.charCodeAt(1)-56320+65536,n.charCodeAt(s+2),t)}function o(r,s,n){return t.format(r.charCodeAt(0),n.charCodeAt(s+1),t)}}function mf(e){let t=ii.get(e);return t||(t=hf(e),ii.set(e,t)),t}function hf(e){let t=[],a=-1;for(;++a<e.length;)t.push(e[a].replace(pf,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}f();f();var gf=/[\dA-Fa-f]/;function ui(e,t,a){let o="&#x"+e.toString(16).toUpperCase();return a&&t&&!gf.test(String.fromCharCode(t))?o:o+";"}f();var wf=/\d/;function di(e,t,a){let o="&#"+String(e);return a&&t&&!wf.test(String.fromCharCode(t))?o:o+";"}f();f();var ci=["AElig","AMP","Aacute","Acirc","Agrave","Aring","Atilde","Auml","COPY","Ccedil","ETH","Eacute","Ecirc","Egrave","Euml","GT","Iacute","Icirc","Igrave","Iuml","LT","Ntilde","Oacute","Ocirc","Ograve","Oslash","Otilde","Ouml","QUOT","REG","THORN","Uacute","Ucirc","Ugrave","Uuml","Yacute","aacute","acirc","acute","aelig","agrave","amp","aring","atilde","auml","brvbar","ccedil","cedil","cent","copy","curren","deg","divide","eacute","ecirc","egrave","eth","euml","frac12","frac14","frac34","gt","iacute","icirc","iexcl","igrave","iquest","iuml","laquo","lt","macr","micro","middot","nbsp","not","ntilde","oacute","ocirc","ograve","ordf","ordm","oslash","otilde","ouml","para","plusmn","pound","quot","raquo","reg","sect","shy","sup1","sup2","sup3","szlig","thorn","times","uacute","ucirc","ugrave","uml","uuml","yacute","yen","yuml"];f();var Ha={nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",frac34:"\xBE",iquest:"\xBF",Agrave:"\xC0",Aacute:"\xC1",Acirc:"\xC2",Atilde:"\xC3",Auml:"\xC4",Aring:"\xC5",AElig:"\xC6",Ccedil:"\xC7",Egrave:"\xC8",Eacute:"\xC9",Ecirc:"\xCA",Euml:"\xCB",Igrave:"\xCC",Iacute:"\xCD",Icirc:"\xCE",Iuml:"\xCF",ETH:"\xD0",Ntilde:"\xD1",Ograve:"\xD2",Oacute:"\xD3",Ocirc:"\xD4",Otilde:"\xD5",Ouml:"\xD6",times:"\xD7",Oslash:"\xD8",Ugrave:"\xD9",Uacute:"\xDA",Ucirc:"\xDB",Uuml:"\xDC",Yacute:"\xDD",THORN:"\xDE",szlig:"\xDF",agrave:"\xE0",aacute:"\xE1",acirc:"\xE2",atilde:"\xE3",auml:"\xE4",aring:"\xE5",aelig:"\xE6",ccedil:"\xE7",egrave:"\xE8",eacute:"\xE9",ecirc:"\xEA",euml:"\xEB",igrave:"\xEC",iacute:"\xED",icirc:"\xEE",iuml:"\xEF",eth:"\xF0",ntilde:"\xF1",ograve:"\xF2",oacute:"\xF3",ocirc:"\xF4",otilde:"\xF5",ouml:"\xF6",divide:"\xF7",oslash:"\xF8",ugrave:"\xF9",uacute:"\xFA",ucirc:"\xFB",uuml:"\xFC",yacute:"\xFD",thorn:"\xFE",yuml:"\xFF",fnof:"\u0192",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039A",Lambda:"\u039B",Mu:"\u039C",Nu:"\u039D",Xi:"\u039E",Omicron:"\u039F",Pi:"\u03A0",Rho:"\u03A1",Sigma:"\u03A3",Tau:"\u03A4",Upsilon:"\u03A5",Phi:"\u03A6",Chi:"\u03A7",Psi:"\u03A8",Omega:"\u03A9",alpha:"\u03B1",beta:"\u03B2",gamma:"\u03B3",delta:"\u03B4",epsilon:"\u03B5",zeta:"\u03B6",eta:"\u03B7",theta:"\u03B8",iota:"\u03B9",kappa:"\u03BA",lambda:"\u03BB",mu:"\u03BC",nu:"\u03BD",xi:"\u03BE",omicron:"\u03BF",pi:"\u03C0",rho:"\u03C1",sigmaf:"\u03C2",sigma:"\u03C3",tau:"\u03C4",upsilon:"\u03C5",phi:"\u03C6",chi:"\u03C7",psi:"\u03C8",omega:"\u03C9",thetasym:"\u03D1",upsih:"\u03D2",piv:"\u03D6",bull:"\u2022",hellip:"\u2026",prime:"\u2032",Prime:"\u2033",oline:"\u203E",frasl:"\u2044",weierp:"\u2118",image:"\u2111",real:"\u211C",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21B5",lArr:"\u21D0",uArr:"\u21D1",rArr:"\u21D2",dArr:"\u21D3",hArr:"\u21D4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220B",prod:"\u220F",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221A",prop:"\u221D",infin:"\u221E",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222A",int:"\u222B",there4:"\u2234",sim:"\u223C",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22A5",sdot:"\u22C5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230A",rfloor:"\u230B",lang:"\u2329",rang:"\u232A",loz:"\u25CA",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666",quot:'"',amp:"&",lt:"<",gt:">",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",circ:"\u02C6",tilde:"\u02DC",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",permil:"\u2030",lsaquo:"\u2039",rsaquo:"\u203A",euro:"\u20AC"};f();var fi=["cent","copy","divide","gt","lt","not","para","times"];var pi={}.hasOwnProperty,Vo={},qa;for(qa in Ha)pi.call(Ha,qa)&&(Vo[Ha[qa]]=qa);var xf=/[^\dA-Za-z]/;function mi(e,t,a,o){let r=String.fromCharCode(e);if(pi.call(Vo,r)){let s=Vo[r],n="&"+s;return a&&ci.includes(s)&&!fi.includes(s)&&(!o||t&&t!==61&&xf.test(String.fromCharCode(t)))?n:n+";"}return""}function hi(e,t,a){let o=ui(e,t,a.omitOptionalSemicolons),r;if((a.useNamedReferences||a.useShortestReferences)&&(r=mi(e,t,a.omitOptionalSemicolons,a.attribute)),(a.useShortestReferences||!r)&&a.useShortestReferences){let s=di(e,t,a.omitOptionalSemicolons);s.length<o.length&&(o=s)}return r&&(!a.useShortestReferences||r.length<o.length)?r:o}function Ve(e,t){return li(e,Object.assign({format:hi},t))}var Lf=/^>|^->|<!--|-->|--!>|<!-$/g,Cf=[">"],If=["<",">"];function gi(e,t,a,o){return o.settings.bogusComments?"<?"+Ve(e.value,Object.assign({},o.settings.characterReferences,{subset:Cf}))+">":"<!--"+e.value.replace(Lf,r)+"-->";function r(s){return Ve(s,Object.assign({},o.settings.characterReferences,{subset:If}))}}f();function wi(e,t,a,o){return"<!"+(o.settings.upperDoctype?"DOCTYPE":"doctype")+(o.settings.tightDoctype?"":" ")+"html>"}f();f();f();var re=xi(1),$o=xi(-1),Sf=[];function xi(e){return t;function t(a,o,r){let s=a?a.children:Sf,n=(o||0)+e,i=s[n];if(!r)for(;i&&Lt(i);)n+=e,i=s[n];return i}}f();var yf={}.hasOwnProperty;function Wa(e){return t;function t(a,o,r){return yf.call(e,a.tagName)&&e[a.tagName](a,o,r)}}var sa=Wa({body:kf,caption:Xo,colgroup:Xo,dd:Af,dt:Pf,head:Xo,html:bf,li:vf,optgroup:Rf,option:Mf,p:Tf,rp:Li,rt:Li,tbody:Df,td:Ci,tfoot:Bf,th:Ci,thead:Ff,tr:Ef});function Xo(e,t,a){let o=re(a,t,!0);return!o||o.type!=="comment"&&!(o.type==="text"&&Lt(o.value.charAt(0)))}function bf(e,t,a){let o=re(a,t);return!o||o.type!=="comment"}function kf(e,t,a){let o=re(a,t);return!o||o.type!=="comment"}function Tf(e,t,a){let o=re(a,t);return o?o.type==="element"&&(o.tagName==="address"||o.tagName==="article"||o.tagName==="aside"||o.tagName==="blockquote"||o.tagName==="details"||o.tagName==="div"||o.tagName==="dl"||o.tagName==="fieldset"||o.tagName==="figcaption"||o.tagName==="figure"||o.tagName==="footer"||o.tagName==="form"||o.tagName==="h1"||o.tagName==="h2"||o.tagName==="h3"||o.tagName==="h4"||o.tagName==="h5"||o.tagName==="h6"||o.tagName==="header"||o.tagName==="hgroup"||o.tagName==="hr"||o.tagName==="main"||o.tagName==="menu"||o.tagName==="nav"||o.tagName==="ol"||o.tagName==="p"||o.tagName==="pre"||o.tagName==="section"||o.tagName==="table"||o.tagName==="ul"):!a||!(a.type==="element"&&(a.tagName==="a"||a.tagName==="audio"||a.tagName==="del"||a.tagName==="ins"||a.tagName==="map"||a.tagName==="noscript"||a.tagName==="video"))}function vf(e,t,a){let o=re(a,t);return!o||o.type==="element"&&o.tagName==="li"}function Pf(e,t,a){let o=re(a,t);return!!(o&&o.type==="element"&&(o.tagName==="dt"||o.tagName==="dd"))}function Af(e,t,a){let o=re(a,t);return!o||o.type==="element"&&(o.tagName==="dt"||o.tagName==="dd")}function Li(e,t,a){let o=re(a,t);return!o||o.type==="element"&&(o.tagName==="rp"||o.tagName==="rt")}function Rf(e,t,a){let o=re(a,t);return!o||o.type==="element"&&o.tagName==="optgroup"}function Mf(e,t,a){let o=re(a,t);return!o||o.type==="element"&&(o.tagName==="option"||o.tagName==="optgroup")}function Ff(e,t,a){let o=re(a,t);return!!(o&&o.type==="element"&&(o.tagName==="tbody"||o.tagName==="tfoot"))}function Df(e,t,a){let o=re(a,t);return!o||o.type==="element"&&(o.tagName==="tbody"||o.tagName==="tfoot")}function Bf(e,t,a){return!re(a,t)}function Ef(e,t,a){let o=re(a,t);return!o||o.type==="element"&&o.tagName==="tr"}function Ci(e,t,a){let o=re(a,t);return!o||o.type==="element"&&(o.tagName==="td"||o.tagName==="th")}f();var Ii=Wa({body:Uf,colgroup:Of,head:Nf,html:_f,tbody:Hf});function _f(e){let t=re(e,-1);return!t||t.type!=="comment"}function Nf(e){let t=new Set;for(let o of e.children)if(o.type==="element"&&(o.tagName==="base"||o.tagName==="title")){if(t.has(o.tagName))return!1;t.add(o.tagName)}let a=e.children[0];return!a||a.type==="element"}function Uf(e){let t=re(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&Lt(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function Of(e,t,a){let o=$o(a,t),r=re(e,-1,!0);return a&&o&&o.type==="element"&&o.tagName==="colgroup"&&sa(o,a.children.indexOf(o),a)?!1:!!(r&&r.type==="element"&&r.tagName==="col")}function Hf(e,t,a){let o=$o(a,t),r=re(e,-1);return a&&o&&o.type==="element"&&(o.tagName==="thead"||o.tagName==="tbody")&&sa(o,a.children.indexOf(o),a)?!1:!!(r&&r.type==="element"&&r.tagName==="tr")}var Ga={name:[[`
68
+ `):e}function Gn(e){let{apiKey:t,apiUrl:a,source:o,systemPrompt:r,maxSteps:n,beforeRequest:s,mcpServerUrl:i,resolveConfig:l,debug:u,webSearch:c}=e,d=He("chat",u);return async function(m){d("\u2192 POST",m.url);try{let h=await m.json(),I=h.messages??[],L=h.sessionId,S=h.modelContext,C=r,g=typeof h.extra=="object"&&h.extra!==null&&!Array.isArray(h.extra)?h.extra:void 0,y=h.visitorContext??null,A=qn(m),R={geo:A,client:y};if(d("body parsed \u2014 messages:",I.length,"sessionId:",L??"(none)","geo:",JSON.stringify(A)),s){d("running beforeRequest hook");try{let E=await s({messages:I,sessionId:L,modelContext:S,request:m,visitor:R});E&&(E.messages&&(I=E.messages),E.systemPrompt!==void 0&&(C=E.systemPrompt),E.sessionId!==void 0&&(L=E.sessionId),E.modelContext!==void 0&&(S=E.modelContext)),d("beforeRequest hook done \u2014 messages:",I.length,"sessionId:",L??"(none)")}catch(E){console.error("[waniwani:chat] beforeRequest hook error:",E);let k=E instanceof ve?E.status:400,v=E instanceof Error?E.message:"Request rejected";return d("\u2190 returning",k,"from hook error"),Response.json({error:v},{status:k})}}let P=i??(await l()).mcpServerUrl;d("mcpServerUrl:",P),C=Wn(C,S);let M=`${a}/api/mcp/chat`;d("forwarding to",M);let N=m.headers.get("user-agent"),D=await fetch(M,{method:"POST",headers:{"Content-Type":"application/json","X-WaniWani-Stream-Protocol":"2",...t?{Authorization:`Bearer ${t}`}:{},...N?{"X-Client-User-Agent":N}:{}},body:JSON.stringify({messages:I,mcpServerUrl:P,sessionId:L,source:o,systemPrompt:C,maxSteps:n,visitor:R,webSearch:c,...g&&{extra:g}}),signal:m.signal});if(d("upstream response status:",D.status),!D.ok){let E=await D.text().catch(()=>"");return d("\u2190 returning",D.status,"upstream error:",E),new Response(E,{status:D.status,headers:{"Content-Type":D.headers.get("Content-Type")??"application/json"}})}let _=new Headers({"Content-Type":D.headers.get("Content-Type")??"text/event-stream"}),T=D.headers.get("x-session-id");return T&&_.set("x-session-id",T),d("\u2190 streaming response",D.status,"body null?",D.body===null),new Response(D.body,{status:D.status,headers:_})}catch(h){console.error("[waniwani:chat] handler error:",h);let I=h instanceof Error?h.message:"Unknown error occurred",L=h instanceof ve?h.status:500;return d("\u2190 returning",L,"from caught error"),Response.json({error:I},{status:L})}}}f();function jn(e){let{mcpServerUrl:t,resolveConfig:a,debug:o}=e,r=He("resource",o);return async function(s){r("\u2192 GET",s.toString());try{let i=s.searchParams.get("uri");if(r("uri:",i??"(missing)"),!i)return r("\u2190 400 missing uri"),Response.json({error:"Missing uri query parameter"},{status:400});let l=t??(await a()).mcpServerUrl;r("mcpServerUrl:",l);let u,c;try{[{createMCPClient:u},{StreamableHTTPClientTransport:c}]=await Promise.all([import("@ai-sdk/mcp"),import("@modelcontextprotocol/sdk/client/streamableHttp.js")]),r("MCP deps loaded")}catch(p){return console.error("[waniwani:resource] MCP deps import failed:",p),Response.json({error:"MCP resource handler requires @ai-sdk/mcp and @modelcontextprotocol/sdk. Install them to enable resource serving."},{status:501})}r("creating MCP client for",l);let d=await u({transport:new c(new URL(l))});try{r("reading resource:",i);let p=await d.readResource({uri:i});r("resource contents count:",p.contents.length);let m=p.contents[0];if(!m)return r("\u2190 404 resource not found"),Response.json({error:"Resource not found"},{status:404});let h;return"text"in m&&typeof m.text=="string"?h=m.text:"blob"in m&&typeof m.blob=="string"&&(h=atob(m.blob)),h?(r("\u2190 200 HTML length:",h.length),new Response(h,{headers:{"Content-Type":"text/html","Cache-Control":"private, max-age=300"}})):(r("\u2190 404 resource has no content, keys:",Object.keys(m)),Response.json({error:"Resource has no content"},{status:404}))}finally{await d.close(),r("MCP client closed")}}catch(i){console.error("[waniwani:resource] handler error:",i);let l=i instanceof Error?i.message:"Unknown error occurred",u=i instanceof ve?i.status:500;return r("\u2190 returning",u,"from caught error"),Response.json({error:l},{status:u})}}}f();function zn(e){let{mcpServerUrl:t,resolveConfig:a,debug:o,source:r}=e,n=He("tool",o);return async function(i){n("\u2192 POST",i.url);try{let l=await i.json(),{name:u,arguments:c}=l,d=i.headers.get("x-session-id")?.trim();if(!u||typeof u!="string")return n("\u2190 400 missing tool name"),Response.json({error:"Missing tool name"},{status:400});n("tool:",u,"args:",JSON.stringify(c),"sessionId:",d||"(none)");let p=t??(await a()).mcpServerUrl;n("mcpServerUrl:",p);let m,h;try{[{Client:m},{StreamableHTTPClientTransport:h}]=await Promise.all([import("@modelcontextprotocol/sdk/client/index.js"),import("@modelcontextprotocol/sdk/client/streamableHttp.js")]),n("MCP deps loaded")}catch(S){return console.error("[waniwani:tool] MCP deps import failed:",S),Response.json({error:"MCP tool handler requires @modelcontextprotocol/sdk. Install it to enable tool calls."},{status:501})}n("creating MCP client for",p);let I=new h(new URL(p)),L=new m({name:"waniwani-tool-caller",version:"1.0.0"});await L.connect(I);try{n("calling tool:",u);let S={};d&&(S["waniwani/sessionId"]=d),r&&(S["waniwani/source"]=r);let C=await L.callTool({name:u,arguments:c??{},...Object.keys(S).length>0?{_meta:S}:{}});return n("tool result received"),Response.json({content:C.content,structuredContent:C.structuredContent,_meta:C._meta,isError:C.isError})}finally{await L.close(),n("MCP client closed")}}catch(l){console.error("[waniwani:tool] handler error:",l);let u=l instanceof Error?l.message:"Unknown error occurred",c=l instanceof ve?l.status:500;return n("\u2190 returning",c,"from caught error"),Response.json({error:u},{status:c})}}}f();function Vn(e){let{mcpServerUrl:t,resolveConfig:a,debug:o}=e,r=He("tools-list",o);return async function(){r("\u2192 GET tools/list");try{let s=t??(await a()).mcpServerUrl;r("mcpServerUrl:",s);let i,l;try{[{createMCPClient:i},{StreamableHTTPClientTransport:l}]=await Promise.all([import("@ai-sdk/mcp"),import("@modelcontextprotocol/sdk/client/streamableHttp.js")]),r("MCP deps loaded")}catch(c){return console.error("[waniwani:tools-list] MCP deps import failed:",c),Response.json({error:"MCP tools list handler requires @ai-sdk/mcp and @modelcontextprotocol/sdk. Install them to enable tool discovery."},{status:501})}r("creating MCP client for",s);let u=await i({transport:new l(new URL(s))});try{r("listing tools");let c=await u.listTools();r("tools count:",c.tools.length);let d={tools:c.tools.map(p=>({name:p.name,...p.title!==void 0&&{title:p.title},...p.description!==void 0&&{description:p.description},...p.inputSchema!==void 0&&{inputSchema:p.inputSchema},...p.outputSchema!==void 0&&{outputSchema:p.outputSchema},...p.annotations!==void 0&&{annotations:p.annotations},...p._meta!==void 0&&{_meta:p._meta}})),...c.nextCursor!==void 0&&{nextCursor:c.nextCursor}};return r("\u2190 200"),Response.json(d,{headers:{"Cache-Control":"private, max-age=60"}})}finally{await u.close(),r("MCP client closed")}}catch(s){console.error("[waniwani:tools-list] handler error:",s);let i=s instanceof Error?s.message:"Unknown error occurred",l=s instanceof ve?s.status:500;return r("\u2190 returning",l,"from caught error"),Response.json({error:i},{status:l})}}}f();var wd=300*1e3;function $n(e,t){let a=null,o=null;return async function(){if(a&&Date.now()<a.expiresAt)return a.config;if(o)return o;o=(async()=>{if(!t)throw new ve("WANIWANI_API_KEY is required for createChatHandler",401);let n=await fetch(`${e}/api/mcp/environments/config`,{method:"GET",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"}});if(!n.ok){let i=await n.text().catch(()=>"");throw new ve(`Failed to resolve MCP environment config: ${n.status} ${i}`,n.status)}let s=await n.json();return a={config:s,expiresAt:Date.now()+wd},s})();try{return await o}finally{o=null}}}var xd="https://app.waniwani.ai";function Xn(e={}){let{apiKey:t=process.env.WANIWANI_API_KEY,apiUrl:a=xd,source:o,systemPrompt:r,maxSteps:n=5,beforeRequest:s,mcpServerUrl:i,debug:l=!1,webSearch:u}=e,c=He("router",l),d=Un(),p=Hn(d),m=$n(a,t),h=Gn({apiKey:t,apiUrl:a,source:o,systemPrompt:r,maxSteps:n,beforeRequest:s,mcpServerUrl:i,resolveConfig:m,debug:l,webSearch:On(u)}),I=jn({mcpServerUrl:i,resolveConfig:m,debug:l}),L=Vn({mcpServerUrl:i,resolveConfig:m,debug:l}),S=zn({mcpServerUrl:i,resolveConfig:m,debug:l,source:o}),C=process.env.WANIWANI_EVAL==="1";async function g(P){c("\u2192 GET",P.url);try{let M=new URL(P.url),D=M.pathname.replace(/\/$/,"").split("/").filter(Boolean).at(-1);if(c("pathname:",M.pathname,"subRoute:",D),C&&D==="scenarios"){c("dispatching to scenarios handler (proxy to app API)");try{let T=await(await fetch(`${a}/api/mcp/scenarios`,{headers:{...t?{Authorization:`Bearer ${t}`}:{}}})).json();return p(T.data??T,200)}catch{return p([],200)}}if(D==="resource"){c("dispatching to resource handler");let _=await I(M);return c("\u2190 resource handler returned",_.status),d(_)}if(D==="config")return c("dispatching to config handler"),p({debug:l,eval:C},200);if(D==="tools"){c("dispatching to tools-list handler");let _=await L();return c("\u2190 tools-list handler returned",_.status),d(_)}return c("\u2190 404 no matching sub-route for",D),p({error:"Not found"},404)}catch(M){console.error("[waniwani:router] GET handler error:",M);let N=M instanceof Error?M.message:"Unknown error occurred";return c("\u2190 500 from caught error"),p({error:N},500)}}async function y(P){c("\u2192 POST",P.url);try{let M=new URL(P.url),D=M.pathname.replace(/\/$/,"").split("/").filter(Boolean).at(-1);if(c("pathname:",M.pathname,"subRoute:",D),C&&D==="scenarios"){c("dispatching to save-scenario handler (proxy to app API)");try{let T=await P.json(),E=await fetch(`${a}/api/mcp/scenarios`,{method:"POST",headers:{"Content-Type":"application/json",...t?{Authorization:`Bearer ${t}`}:{}},body:JSON.stringify(T)}),k=await E.json();return E.ok?p({ok:!0,scenario:k.data},200):p({error:k.message??"Failed to save scenario"},E.status)}catch(T){let E=T instanceof Error?T.message:"Failed to save scenario";return p({error:E},400)}}if(D==="tool"){c("dispatching to tool handler");let T=await S(P);return c("\u2190 tool handler returned",T.status),d(T)}c("dispatching to chat handler");let _=await h(P);return d(_)}catch(M){console.error("[waniwani:router] POST handler error:",M);let N=M instanceof Error?M.message:"Unknown error occurred";return c("\u2190 500 from caught error"),p({error:N},500)}}async function A(P){c("\u2192 PATCH",P.url);try{let M=new URL(P.url),N=M.pathname.replace(/\/$/,"").split("/").filter(Boolean),D=N.at(-1),_=N.at(-2);if(c("pathname:",M.pathname,"subRoute:",_,"id:",D),C&&_==="scenarios"&&D){c("dispatching to update-scenario handler (proxy to app API)");try{let T=await P.json(),E=await fetch(`${a}/api/mcp/scenarios/${D}`,{method:"PATCH",headers:{"Content-Type":"application/json",...t?{Authorization:`Bearer ${t}`}:{}},body:JSON.stringify(T)}),k=await E.json();return E.ok?p({ok:!0,scenario:k.data},200):p({error:k.message??"Failed to update scenario"},E.status)}catch(T){let E=T instanceof Error?T.message:"Failed to update scenario";return p({error:E},400)}}return c("\u2190 404 no matching sub-route for PATCH",_),p({error:"Not found"},404)}catch(M){console.error("[waniwani:router] PATCH handler error:",M);let N=M instanceof Error?M.message:"Unknown error occurred";return c("\u2190 500 from caught error"),p({error:N},500)}}function R(){return d(new Response(null,{status:204}))}return{handleChat:h,handleResource:I,handleTool:S,routeGet:g,routePost:y,routePatch:A,handleOptions:R}}var Kn=!1;function DL(e,t){!Kn&&process.env.NODE_ENV!=="test"&&(console.warn("[waniwani-sdk] toNextJsHandler is deprecated; switch to toExpressJsHandler from @waniwani/sdk/express-js. It will be removed in a follow-up release."),Kn=!0);let{apiKey:a,apiUrl:o}=e._config,r=t?.debug??process.env.WANIWANI_DEBUG==="1",n=Xn({...t?.chat,apiKey:a,apiUrl:o,source:t?.source,debug:r});return{POST:n.routePost,GET:n.routeGet,PATCH:n.routePatch,OPTIONS:()=>n.handleOptions()}}f();import{forwardRef as mg,useCallback as Gr,useEffect as hg,useImperativeHandle as gg,useRef as mu,useState as hu}from"react";f();f();f();import{forwardRef as Cd,createElement as Id}from"react";f();var Ra=(...e)=>e.filter((t,a,o)=>!!t&&t.trim()!==""&&o.indexOf(t)===a).join(" ").trim();f();var Qn=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();f();f();var Jn=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,o)=>o?o.toUpperCase():a.toLowerCase());var Ro=e=>{let t=Jn(e);return t.charAt(0).toUpperCase()+t.slice(1)};f();import{forwardRef as Ld,createElement as es}from"react";f();var Zn={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};f();var Yn=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var ts=Ld(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:o,className:r="",children:n,iconNode:s,...i},l)=>es("svg",{ref:l,...Zn,width:t,height:t,stroke:e,strokeWidth:o?Number(a)*24/Number(t):a,className:Ra("lucide",r),...!n&&!Yn(i)&&{"aria-hidden":"true"},...i},[...s.map(([u,c])=>es(u,c)),...Array.isArray(n)?n:[n]]));var W=(e,t)=>{let a=Cd(({className:o,...r},n)=>Id(ts,{ref:n,iconNode:t,className:Ra(`lucide-${Qn(Ro(e))}`,`lucide-${e}`,o),...r}));return a.displayName=Ro(e),a};f();var Sd=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],qt=W("arrow-down",Sd);f();var yd=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],Wt=W("arrow-up",yd);f();var bd=[["path",{d:"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1",key:"ezmyqa"}],["path",{d:"M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1",key:"e1hn23"}]],Qe=W("braces",bd);f();var kd=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Gt=W("check",kd);f();var Td=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Je=W("chevron-down",Td);f();var vd=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],jt=W("chevron-right",vd);f();var Pd=[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]],zt=W("clipboard-copy",Pd);f();var Ad=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],st=W("clock",Ad);f();var Rd=[["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"}]],Vt=W("file",Rd);f();var Md=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],$t=W("globe",Md);f();var Fd=[["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m16.2 7.8 2.9-2.9",key:"r700ao"}],["path",{d:"M18 12h4",key:"wj9ykh"}],["path",{d:"m16.2 16.2 2.9 2.9",key:"1bxg5t"}],["path",{d:"M12 18v4",key:"jadmvz"}],["path",{d:"m4.9 19.1 2.9-2.9",key:"bwix9q"}],["path",{d:"M2 12h4",key:"j09sii"}],["path",{d:"m4.9 4.9 2.9 2.9",key:"giyufr"}]],Xt=W("loader",Fd);f();var Dd=[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]],Kt=W("paperclip",Dd);f();var Bd=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],Qt=W("square",Bd);f();var Ed=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]],it=W("wrench",Ed);f();var _d=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],lt=W("x",_d);f();var Nd=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],Jt=W("zap",Nd);import{useCallback as ec}from"react";f();import{useCallback as Ze,useMemo as Od,useRef as Ud,useState as Mo}from"react";var Hd={damping:.7,stiffness:.05,mass:1.25},qd=70,Wd=1e3/60,Gd=350,Ma=!1;globalThis.document?.addEventListener("mousedown",()=>{Ma=!0});globalThis.document?.addEventListener("mouseup",()=>{Ma=!1});globalThis.document?.addEventListener("click",()=>{Ma=!1});var os=(e={})=>{let[t,a]=Mo(!1),[o,r]=Mo(e.initial!==!1),[n,s]=Mo(!1),i=Ud(null);i.current=e;let l=Ze(()=>{if(!Ma)return!1;let C=window.getSelection();if(!C||!C.rangeCount)return!1;let g=C.getRangeAt(0);return g.commonAncestorContainer.contains(L.current)||L.current?.contains(g.commonAncestorContainer)},[]),u=Ze(C=>{d.isAtBottom=C,r(C)},[]),c=Ze(C=>{d.escapedFromLock=C,a(C)},[]),d=Od(()=>{let C;return{escapedFromLock:t,isAtBottom:o,resizeDifference:0,accumulated:0,velocity:0,listeners:new Set,get scrollTop(){return L.current?.scrollTop??0},set scrollTop(g){L.current&&(L.current.scrollTop=g,d.ignoreScrollToTop=L.current.scrollTop)},get targetScrollTop(){return!L.current||!S.current?0:L.current.scrollHeight-1-L.current.clientHeight},get calculatedTargetScrollTop(){if(!L.current||!S.current)return 0;let{targetScrollTop:g}=this;if(!e.targetScrollTop)return g;if(C?.targetScrollTop===g)return C.calculatedScrollTop;let y=Math.max(Math.min(e.targetScrollTop(g,{scrollElement:L.current,contentElement:S.current}),g),0);return C={targetScrollTop:g,calculatedScrollTop:y},requestAnimationFrame(()=>{C=void 0}),y},get scrollDifference(){return this.calculatedTargetScrollTop-this.scrollTop},get isNearBottom(){return this.scrollDifference<=qd}}},[]),p=Ze((C={})=>{typeof C=="string"&&(C={animation:C}),C.preserveScrollPosition||u(!0);let g=Date.now()+(Number(C.wait)||0),y=Do(i.current,C.animation),{ignoreEscapes:A=!1}=C,R,P=d.calculatedTargetScrollTop;C.duration instanceof Promise?C.duration.finally(()=>{R=Date.now()}):R=g+(C.duration??0);let M=async()=>{let N=new Promise(requestAnimationFrame).then(()=>{if(!d.isAtBottom)return d.animation=void 0,!1;let{scrollTop:D}=d,_=performance.now(),T=(_-(d.lastTick??_))/Wd;if(d.animation||(d.animation={behavior:y,promise:N,ignoreEscapes:A}),d.animation.behavior===y&&(d.lastTick=_),l()||g>Date.now())return M();if(D<Math.min(P,d.calculatedTargetScrollTop)){if(d.animation?.behavior===y){if(y==="instant")return d.scrollTop=d.calculatedTargetScrollTop,M();d.velocity=(y.damping*d.velocity+y.stiffness*d.scrollDifference)/y.mass,d.accumulated+=d.velocity*T,d.scrollTop+=d.accumulated,d.scrollTop!==D&&(d.accumulated=0)}return M()}return R>Date.now()?(P=d.calculatedTargetScrollTop,M()):(d.animation=void 0,d.scrollTop<d.calculatedTargetScrollTop?p({animation:Do(i.current,i.current.resize),ignoreEscapes:A,duration:Math.max(0,R-Date.now())||void 0}):d.isAtBottom)});return N.then(D=>(requestAnimationFrame(()=>{d.animation||(d.lastTick=void 0,d.velocity=0)}),D))};return C.wait!==!0&&(d.animation=void 0),d.animation?.behavior===y?d.animation.promise:M()},[u,l,d]),m=Ze(()=>{c(!0),u(!1)},[c,u]),h=Ze(({target:C})=>{if(C!==L.current)return;let{scrollTop:g,ignoreScrollToTop:y}=d,{lastScrollTop:A=g}=d;d.lastScrollTop=g,d.ignoreScrollToTop=void 0,y&&y>g&&(A=y),s(d.isNearBottom),setTimeout(()=>{if(d.resizeDifference||g===y)return;if(l()){c(!0),u(!1);return}let R=g>A,P=g<A;if(d.animation?.ignoreEscapes){d.scrollTop=A;return}P&&(c(!0),u(!1)),R&&c(!1),!d.escapedFromLock&&d.isNearBottom&&u(!0)},1)},[c,u,l,d]),I=Ze(({target:C,deltaY:g})=>{let y=C;for(;!["scroll","auto"].includes(getComputedStyle(y).overflow);){if(!y.parentElement)return;y=y.parentElement}y===L.current&&g<0&&L.current.scrollHeight>L.current.clientHeight&&!d.animation?.ignoreEscapes&&(c(!0),u(!1))},[c,u,d]),L=as(C=>{L.current?.removeEventListener("scroll",h),L.current?.removeEventListener("wheel",I),C?.addEventListener("scroll",h,{passive:!0}),C?.addEventListener("wheel",I,{passive:!0})},[]),S=as(C=>{if(d.resizeObserver?.disconnect(),!C)return;let g;d.resizeObserver=new ResizeObserver(([y])=>{let{height:A}=y.contentRect,R=A-(g??A);if(d.resizeDifference=R,d.scrollTop>d.targetScrollTop&&(d.scrollTop=d.targetScrollTop),s(d.isNearBottom),R>=0){let P=Do(i.current,g?i.current.resize:i.current.initial);p({animation:P,wait:!0,preserveScrollPosition:!0,duration:P==="instant"?void 0:Gd})}else d.isNearBottom&&(c(!1),u(!0));g=A,requestAnimationFrame(()=>{setTimeout(()=>{d.resizeDifference===R&&(d.resizeDifference=0)},1)})}),d.resizeObserver?.observe(C)},[]);return{contentRef:S,scrollRef:L,scrollToBottom:p,stopScroll:m,isAtBottom:o||n,isNearBottom:n,escapedFromLock:t,state:d}};function as(e,t){let a=Ze(o=>(a.current=o,e(o)),t);return a}var Fo=new Map;function Do(...e){let t={...Hd},a=!1;for(let r of e){if(r==="instant"){a=!0;continue}typeof r=="object"&&(a=!1,t.damping=r.damping??t.damping,t.stiffness=r.stiffness??t.stiffness,t.mass=r.mass??t.mass)}let o=JSON.stringify(t);return Fo.has(o)||Fo.set(o,Object.freeze(t)),a?"instant":Fo.get(o)}f();import*as ut from"react";import{createContext as jd,useContext as zd,useEffect as Vd,useImperativeHandle as $d,useLayoutEffect as Xd,useMemo as Kd,useRef as Qd}from"react";var rs=jd(null),Jd=typeof window<"u"?Xd:Vd;function Zt({instance:e,children:t,resize:a,initial:o,mass:r,damping:n,stiffness:s,targetScrollTop:i,contextRef:l,...u}){let c=Qd(null),d=ut.useCallback((A,R)=>(y?.targetScrollTop??i)?.(A,R)??A,[i]),p=os({mass:r,damping:n,stiffness:s,resize:a,initial:o,targetScrollTop:d}),{scrollRef:m,contentRef:h,scrollToBottom:I,stopScroll:L,isAtBottom:S,escapedFromLock:C,state:g}=e??p,y=Kd(()=>({scrollToBottom:I,stopScroll:L,scrollRef:m,isAtBottom:S,escapedFromLock:C,contentRef:h,state:g,get targetScrollTop(){return c.current},set targetScrollTop(A){c.current=A}}),[I,S,h,m,L,C,g]);return $d(l,()=>y,[y]),Jd(()=>{m.current&&getComputedStyle(m.current).overflow==="visible"&&(m.current.style.overflow="auto")},[]),ut.createElement(rs.Provider,{value:y},ut.createElement("div",{...u},typeof t=="function"?t(y):t))}(function(e){function t({children:a,scrollClassName:o,...r}){let n=Bo();return ut.createElement("div",{ref:n.scrollRef,style:{height:"100%",width:"100%",scrollbarGutter:"stable both-edges"},className:o},ut.createElement("div",{...r,ref:n.contentRef},typeof a=="function"?a(n):a))}e.Content=t})(Zt||(Zt={}));function Bo(){let e=zd(rs);if(!e)throw new Error("use-stick-to-bottom component context must be used within a StickToBottom component");return e}f();var Zd=Qr({prefix:"ww"});function F(...e){return Zd(Kr(e))}f();import{jsx as Yd}from"react/jsx-runtime";var qe=({className:e,variant:t="default",size:a="default",type:o="button",...r})=>Yd("button",{type:o,className:F("ww:inline-flex ww:cursor-pointer ww:items-center ww:justify-center ww:rounded-md ww:font-medium ww:transition-colors ww:disabled:pointer-events-none ww:disabled:opacity-50",t==="default"&&"ww:bg-primary ww:text-primary-foreground ww:hover:bg-primary/90",t==="outline"&&"ww:border ww:border-border ww:bg-background ww:hover:bg-accent ww:hover:text-accent-foreground",t==="ghost"&&"ww:hover:bg-accent ww:hover:text-accent-foreground",a==="default"&&"ww:h-9 ww:px-4 ww:py-2 ww:text-sm",a==="sm"&&"ww:h-8 ww:px-3 ww:text-xs",a==="icon"&&"ww:size-9 ww:!rounded-full",a==="icon-sm"&&"ww:size-7 ww:!rounded-full",e),...r});import{jsx as Fa}from"react/jsx-runtime";var ns=({className:e,...t})=>Fa(Zt,{className:F("ww:relative ww:flex-1 ww:overflow-y-hidden",e),initial:"smooth",resize:"smooth",role:"log",...t}),ss=({className:e,...t})=>Fa(Zt.Content,{className:F("ww:flex ww:flex-col ww:gap-6 ww:px-4 ww:py-6 ww:mx-auto ww:w-full ww:max-w-3xl",e),...t}),is=({className:e,...t})=>{let{isAtBottom:a,scrollToBottom:o}=Bo(),r=ec(()=>{o()},[o]);return!a&&Fa(qe,{className:F("ww:absolute ww:bottom-4 ww:left-[50%] ww:translate-x-[-50%] ww:rounded-full",e),onClick:r,size:"icon",variant:"outline",...t,children:Fa(qt,{className:"ww:size-4"})})};f();f();import us from"crypto";f();var ls="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var tc=128,dt,Tt,ac=e=>{!dt||dt.length<e?(dt=Buffer.allocUnsafe(e*tc),us.randomFillSync(dt),Tt=0):Tt+e>dt.length&&(us.randomFillSync(dt),Tt=0),Tt+=e};var Yt=(e=21)=>{ac(e|=0);let t="";for(let a=Tt-e;a<Tt;a++)t+=ls[dt[a]&63];return t};import{createContext as lc,useCallback as $e,useContext as uc,useEffect as Oo,useMemo as dc,useRef as Uo,useState as ds}from"react";f();f();import{createContext as nc,useContext as sc,useEffect as hS,useMemo as gS,useState as wS}from"react";f();f();f();f();var _o={promptInput:{placeholder:"What would you like to know?",uploadFiles:"Upload files",stop:"Stop",submit:"Submit",removeAttachments:"Remove all attachments"},workingIndicator:{default:"On it\u2026"},reasoning:{thinking:"Thinking\u2026",thoughtBrief:"Thought for a few seconds",thoughtForSeconds:e=>`Thought for ${e} second${e===1?"":"s"}`},tool:{copy:"Copy",copied:"Copied",request:"Request",response:"Response",error:"Error"},attachments:{attachmentFallback:"attachment",fileFallback:"file"},threadMenu:{newChat:"New chat",threadHistory:"Thread history",deleteThread:"Delete thread",noPreviousChats:"No previous chats yet.",hiddenThreads:e=>`${e} older thread${e===1?"":"s"} hidden`},chatQueue:{attachmentFallback:"(attachment)",removeFromQueue:"Remove from queue",queued:e=>`${e} queued`},poweredBy:{label:"AI agent powered by"},aiDisclaimer:{default:"can make mistakes"},exportSession:{saving:"saving...",saved:"saved",error:"error",export:"export",tooltip:"Save scenario to WaniWani"},widgetErrorBoundary:{failedToLoad:"Widget failed to load",retry:"Retry"},launcher:{prompt:"Ask anything\u2026",open:"Open chat",close:"Close chat",minimize:"Minimize"}};f();f();import{jsx as bS}from"react/jsx-runtime";var ic=nc(null);function V(){let e=sc(ic);return e||{locale:"en",t:_o,ready:!0}}f();function No(e,t){let a=Date.now()-e;if(a<6e4)try{return new Intl.RelativeTimeFormat(t,{numeric:"auto",style:"narrow"}).format(0,"second")}catch{return"just now"}let o,r;a<60*6e4?(o=-Math.floor(a/6e4),r="minute"):a<1440*6e4?(o=-Math.floor(a/(60*6e4)),r="hour"):(o=-Math.floor(a/(1440*6e4)),r="day");try{return new Intl.RelativeTimeFormat(t,{numeric:"auto",style:"short"}).format(o,r)}catch{return`${Math.abs(o)}${r==="minute"?"m":r==="hour"?"h":"d"} ago`}}import{jsx as _e,jsxs as ws}from"react/jsx-runtime";var cc=async e=>{try{let a=await(await fetch(e)).blob();return new Promise(o=>{let r=new FileReader;r.onloadend=()=>o(r.result),r.onerror=()=>o(null),r.readAsDataURL(a)})}catch{return null}},cs=lc(null),fs=()=>{let e=uc(cs);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},ps=({className:e,accept:t,multiple:a,globalDrop:o,maxFiles:r,maxFileSize:n,onSubmit:s,children:i,...l})=>{let{t:u}=V(),c=Uo(null),d=Uo(null),[p,m]=ds([]),h=Uo(p);Oo(()=>{h.current=p},[p]);let I=$e(()=>{c.current?.click()},[]),L=$e(R=>{let P=[...R];if(P.length===0)return;let M=D=>n?D.size<=n:!0,N=P.filter(M);m(D=>{let _=typeof r=="number"?Math.max(0,r-D.length):void 0,T=typeof _=="number"?N.slice(0,_):N;return[...D,...T.map(E=>({filename:E.name,id:Yt(),mediaType:E.type,type:"file",url:URL.createObjectURL(E)}))]})},[r,n]),S=$e(R=>{m(P=>{let M=P.find(N=>N.id===R);return M?.url&&URL.revokeObjectURL(M.url),P.filter(N=>N.id!==R)})},[]),C=$e(()=>{m(R=>{for(let P of R)P.url&&URL.revokeObjectURL(P.url);return[]})},[]);Oo(()=>()=>{for(let R of h.current)R.url&&URL.revokeObjectURL(R.url)},[]);let g=$e(R=>{R.currentTarget.files&&L(R.currentTarget.files),R.currentTarget.value=""},[L]);Oo(()=>{if(!o)return;let R=M=>{M.dataTransfer?.types?.includes("Files")&&M.preventDefault()},P=M=>{M.dataTransfer?.types?.includes("Files")&&M.preventDefault(),M.dataTransfer?.files&&M.dataTransfer.files.length>0&&L(M.dataTransfer.files)};return document.addEventListener("dragover",R),document.addEventListener("drop",P),()=>{document.removeEventListener("dragover",R),document.removeEventListener("drop",P)}},[L,o]);let y=$e(async R=>{R.preventDefault();let P=R.currentTarget,N=new FormData(P).get("message")||"";P.reset();let D=await Promise.all(p.map(async({id:_,...T})=>{if(T.url?.startsWith("blob:")){let E=await cc(T.url);return{...T,url:E??T.url}}return T}));try{let _=s({files:D,text:N},R);_ instanceof Promise&&await _,C()}catch{}},[p,s,C]),A=dc(()=>({add:L,clear:C,files:p,openFileDialog:I,remove:S}),[p,L,S,C,I]);return ws(cs.Provider,{value:A,children:[_e("input",{accept:t,"aria-label":u.promptInput.uploadFiles,className:"ww:hidden",multiple:a,onChange:g,ref:c,title:u.promptInput.uploadFiles,type:"file"}),_e("form",{className:F("ww:flex ww:w-full ww:flex-col ww:rounded-lg ww:border ww:border-border ww:bg-background",e),onSubmit:y,ref:d,...l,children:i})]})};var ms=({onChange:e,onKeyDown:t,className:a,placeholder:o,...r})=>{let{t:n}=V(),s=fs(),[i,l]=ds(!1),u=o??n.promptInput.placeholder,c=$e(p=>{if(t?.(p),!p.defaultPrevented){if(p.key==="Enter"){if(i||p.nativeEvent.isComposing||p.shiftKey)return;p.preventDefault();let{form:m}=p.currentTarget;if(m?.querySelector('button[type="submit"]')?.disabled)return;m?.requestSubmit()}if(p.key==="Backspace"&&p.currentTarget.value===""&&s.files.length>0){p.preventDefault();let m=s.files.at(-1);m&&s.remove(m.id)}}},[t,i,s]),d=$e(p=>{let m=p.clipboardData?.items;if(!m)return;let h=[];for(let I of m)if(I.kind==="file"){let L=I.getAsFile();L&&h.push(L)}h.length>0&&(p.preventDefault(),s.add(h))},[s]);return _e("textarea",{className:F("ww:field-sizing-content ww:max-h-48 ww:min-h-0 ww:w-full ww:resize-none ww:border-0 ww:bg-transparent ww:px-3 ww:py-2 ww:text-base ww:sm:text-sm ww:outline-none ww:placeholder:text-muted-foreground",a),name:"message",onCompositionEnd:()=>l(!1),onCompositionStart:()=>l(!0),onKeyDown:c,onPaste:d,placeholder:u,onChange:e,...r})},hs=({className:e,status:t,onStop:a,onClick:o,children:r,...n})=>{let{t:s}=V(),i=t==="submitted"||t==="streaming",l=_e(Wt,{className:"ww:size-4"});t==="submitted"?l=_e(Xt,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(l=_e(Qt,{className:"ww:size-4"}));let u=$e(c=>{if(i&&a){c.preventDefault(),a();return}o?.(c)},[i,a,o]);return _e(qe,{"aria-label":i?s.promptInput.stop:s.promptInput.submit,className:F("ww:bg-foreground ww:text-background ww:hover:bg-foreground ww:rounded-full",e),onClick:u,size:"icon-sm",type:i&&a?"button":"submit",variant:"ghost",...n,children:r??l})},gs=({className:e,children:t,...a})=>{let{t:o}=V(),r=fs();return r.files.length>0?ws(qe,{className:F("ww:group ww:relative",e),onClick:()=>r.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":o.promptInput.removeAttachments,...a,children:[_e("span",{className:"ww:flex ww:size-5 ww:items-center ww:justify-center ww:rounded-full ww:bg-primary ww:text-[10px] ww:font-medium ww:text-primary-foreground ww:transition-opacity ww:group-hover:opacity-0",children:r.files.length}),_e(lt,{className:"ww:absolute ww:size-4 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100"})]}):_e(qe,{className:F(e),onClick:()=>r.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??_e(Kt,{className:"ww:size-4"})})};f();import{memo as fc,useCallback as pc}from"react";f();import{jsx as vt}from"react/jsx-runtime";var xs=({className:e,...t})=>vt("div",{className:F("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),Ls=({className:e,...t})=>vt("li",{className:F("ww:group ww:flex ww:items-center ww:gap-2 ww:rounded-md ww:px-2 ww:py-1 ww:text-sm ww:transition-colors ww:hover:bg-muted",e),...t}),Cs=({className:e,...t})=>vt("span",{className:F("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),Is=({className:e,...t})=>vt("span",{className:F("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),Ss=({className:e,...t})=>vt("div",{className:F("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),ys=({className:e,...t})=>vt(qe,{className:F("ww:size-auto ww:rounded ww:p-1 ww:text-muted-foreground ww:hover:bg-muted-foreground/10 ww:hover:text-foreground",e),size:"icon",type:"button",variant:"ghost",...t});import{jsx as Ye,jsxs as Ts}from"react/jsx-runtime";var bs=fc(({message:e,onRemove:t})=>{let{t:a}=V(),o=pc(()=>t(e.id),[t,e.id]);return Ts(Ls,{children:[Ye(Cs,{}),Ye(Is,{children:e.text||a.chatQueue.attachmentFallback}),Ye(Ss,{children:Ye(ys,{"aria-label":a.chatQueue.removeFromQueue,onClick:o,children:Ye(lt,{className:"ww:size-3"})})})]})});bs.displayName="ChatQueueItem";function ks({queuedMessages:e,onRemove:t,className:a}){let{t:o}=V();return e.length===0?null:Ts(xs,{className:F("ww:border-t ww:border-border",a),children:[Ye("div",{className:"ww:text-[11px] ww:font-medium ww:text-muted-foreground ww:px-2",children:o.chatQueue.queued(e.length)}),Ye("ul",{children:e.map(r=>Ye(bs,{message:r,onRemove:t},r.id))})]})}f();import{useState as vs}from"react";import{jsx as mc}from"react/jsx-runtime";function Ps({messages:e,evalEnabled:t,api:a="/api/waniwani"}){let{t:o}=V(),[r,n]=vs(!1),[s,i]=vs(null),l=async()=>{let c={name:`session-${new Date().toISOString().slice(0,19)}`,type:"functional",messages:e,mode:"manual"};n(!0),i(null);try{let d=await fetch(`${a}/scenarios`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)});if(!d.ok)throw new Error(`${d.status}`);i("saved")}catch{i("error")}finally{n(!1),setTimeout(()=>i(null),2e3)}};if(!t||e.length===0)return null;let u=r?o.exportSession.saving:s==="saved"?o.exportSession.saved:s==="error"?o.exportSession.error:o.exportSession.export;return mc("button",{type:"button",onClick:l,disabled:r,title:o.exportSession.tooltip,className:"ww:ml-auto ww:text-[10px] ww:font-mono ww:uppercase ww:tracking-wider ww:text-muted-foreground hover:ww:text-foreground ww:cursor-pointer ww:transition-colors ww:disabled:opacity-40",children:u})}f();f();import{jsx as ea,jsxs as gc}from"react/jsx-runtime";var As=({files:e,className:t,...a})=>e.length===0?null:ea("div",{className:F("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((o,r)=>ea(hc,{file:o},r))});function hc({file:e}){let{t}=V();return e.mediaType?.startsWith("image/")&&e.url?ea("img",{src:e.url,alt:e.filename??t.attachments.attachmentFallback,className:"ww:h-16 ww:max-w-32 ww:rounded ww:object-cover"}):gc("span",{className:"ww:inline-flex ww:items-center ww:gap-1.5 ww:rounded ww:bg-background/20 ww:px-2 ww:py-1 ww:text-xs",children:[ea(Vt,{className:"ww:size-3 ww:shrink-0"}),ea("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??t.attachments.fileFallback})]})}f();import{createContext as Pc,useCallback as Ac,useContext as Rc,useEffect as Ds,useMemo as Mc,useRef as Fc,useState as Go}from"react";f();import{createContext as Cc,memo as Wo,useCallback as Ic,useContext as Sc,useEffect as Ho,useMemo as yc,useRef as Rs,useState as qo}from"react";f();f();import{memo as wc}from"react";import{jsx as Lc}from"react/jsx-runtime";var xc=({as:e="span",className:t,duration:a=2,style:o,children:r,...n})=>{let s={backgroundImage:"linear-gradient(90deg, var(--ww-color-muted-foreground) 0%, var(--ww-color-muted-foreground) 40%, var(--ww-color-foreground) 50%, var(--ww-color-muted-foreground) 60%, var(--ww-color-muted-foreground) 100%)",backgroundSize:"250% 100%",WebkitBackgroundClip:"text",backgroundClip:"text",color:"transparent",animation:`ww-shimmer ${a}s linear infinite`,...o};return Lc(e,{"data-waniwani-shimmer":"",className:F("ww:inline-block",t),style:s,...n,children:r})},Ne=wc(xc);Ne.displayName="Shimmer";import{Fragment as Tc,jsx as Oe,jsxs as vc}from"react/jsx-runtime";var Ms=Cc(null);function Fs(){let e=Sc(Ms);if(!e)throw new Error("Reasoning components must be used within <Reasoning>");return e}var bc=1e3,kc=1e3,ta=Wo(({className:e,isStreaming:t=!1,open:a,defaultOpen:o,onOpenChange:r,duration:n,children:s,...i})=>{let l=o??t,u=o===!1,c=a!==void 0,[d,p]=qo(l),m=c?a:d,h=Ic(P=>{c||p(P),r?.(P)},[c,r]),[I,L]=qo(void 0),S=n??I,C=Rs(t),[g,y]=qo(!1),A=Rs(null);Ho(()=>{t?(C.current=!0,A.current===null&&(A.current=Date.now())):A.current!==null&&(L(Math.ceil((Date.now()-A.current)/kc)),A.current=null)},[t]),Ho(()=>{t&&!m&&!u&&h(!0)},[t,m,u,h]),Ho(()=>{if(C.current&&!t&&m&&!g){let P=setTimeout(()=>{h(!1),y(!0)},bc);return()=>clearTimeout(P)}},[t,m,g,h]);let R=yc(()=>({isStreaming:t,isOpen:m,setIsOpen:h,duration:S}),[t,m,h,S]);return Oe(Ms.Provider,{value:R,children:Oe("div",{className:F("ww:mb-4 ww:flex ww:flex-col ww:gap-2",e),"data-state":m?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...i,children:s})})});ta.displayName="Reasoning";var aa=Wo(({className:e,children:t,getThinkingMessage:a,hideIcon:o=!1,onClick:r,...n})=>{let{t:s}=V(),{isStreaming:i,isOpen:l,duration:u,setIsOpen:c}=Fs(),p=a??((m,h)=>m||h===0?Oe(Ne,{duration:1.6,children:s.reasoning.thinking}):h===void 0?Oe("span",{children:s.reasoning.thoughtBrief}):Oe("span",{children:s.reasoning.thoughtForSeconds(h)}));return Oe("button",{type:"button","aria-expanded":l,onClick:m=>{c(!l),r?.(m)},className:F("ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),...n,children:t??vc(Tc,{children:[!o&&Oe(st,{className:"ww:size-4 ww:shrink-0"}),p(i,u)]})})});aa.displayName="ReasoningTrigger";var oa=Wo(({className:e,children:t,...a})=>{let{isOpen:o}=Fs();return Oe("div",{className:F("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",o?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:Oe("div",{className:"ww:min-h-0 ww:overflow-hidden",children:Oe("div",{className:F("ww:text-sm ww:text-muted-foreground",e),...a,children:Oe(Ft,{children:t})})})})});oa.displayName="ReasoningContent";import{jsx as ee,jsxs as ct}from"react/jsx-runtime";var Dc=1e3,Bs=Pc(null);function Es(){let e=Rc(Bs);if(!e)throw new Error("ChainOfThought components must be used within <ChainOfThought>");return e}function _s({className:e,isWorking:t=!1,open:a,defaultOpen:o,onOpenChange:r,children:n,...s}){let i=o??t,l=a!==void 0,[u,c]=Go(i),d=l?a:u,p=Ac(S=>{l||c(S),r?.(S)},[l,r]),m=Fc(t),[h,I]=Go(!1);Ds(()=>{t&&(m.current=!0,I(!1),l||c(!0))},[t,l]),Ds(()=>{if(m.current&&!t&&d&&!h){let S=setTimeout(()=>{p(!1),I(!0)},Dc);return()=>clearTimeout(S)}},[t,d,h,p]);let L=Mc(()=>({open:d,setOpen:p,isWorking:t}),[d,p,t]);return ee(Bs.Provider,{value:L,children:ee("div",{className:F("ww:mb-4 ww:flex ww:flex-col ww:gap-2",e),"data-state":d?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...s,children:n})})}function Ns({className:e,label:t,children:a,...o}){let{open:r,setOpen:n,isWorking:s}=Es(),i=a??(s?ee(Ne,{duration:1.6,children:t??""}):t);return ct("button",{type:"button",onClick:()=>n(!r),"aria-expanded":r,className:F("ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),...o,children:[ee(it,{className:"ww:size-4 ww:shrink-0"}),ee("span",{className:"ww:truncate",children:i}),ee(Je,{className:F("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",r&&"ww:rotate-180")})]})}function Os({className:e,children:t,...a}){let{open:o}=Es();return ee("div",{className:F("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",o?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:ee("div",{className:"ww:min-h-0 ww:overflow-hidden",children:ee("div",{className:F("ww:flex ww:flex-col",e),...a,children:t})})})}function Us({icon:e,isLast:t,running:a,error:o}){return ct("div",{className:"ww:flex ww:flex-col ww:items-center ww:self-stretch",children:[ee("span",{className:"ww:flex ww:h-5 ww:items-center",children:ee(e,{className:F("ww:size-4 ww:shrink-0",o?"ww:text-destructive":a?"ww:animate-pulse ww:text-foreground":"ww:text-muted-foreground")})}),!t&&ee("span",{className:"ww:w-px ww:flex-1 ww:bg-border"})]})}function jo({className:e,icon:t,title:a,state:o,isLast:r=!1,children:n,...s}){let i=o==="input-available"||o==="input-streaming",l=o==="output-error",u=n!=null,[c,d]=Go(!1),p=a??"",m=i?ee(Ne,{duration:1.6,children:p}):ee("span",{className:"ww:truncate",children:p});return ct("div",{className:F("ww:flex ww:gap-2",e),...s,children:[ee(Us,{icon:t,isLast:r,running:i,error:l}),ct("div",{className:F("ww:min-w-0 ww:flex-1",!r&&"ww:pb-3"),children:[u?ct("button",{type:"button",onClick:()=>d(h=>!h),"aria-expanded":c,className:"ww:flex ww:w-full ww:items-center ww:gap-1.5 ww:text-left ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",children:[m,ee(Je,{className:F("ww:size-3.5 ww:shrink-0 ww:transition-transform ww:duration-200",c&&"ww:rotate-180")})]}):ee("div",{className:"ww:flex ww:items-center ww:text-sm ww:text-muted-foreground",children:m}),u&&ee("div",{className:F("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",c?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:ee("div",{className:"ww:min-h-0 ww:overflow-hidden",children:ee("div",{className:"ww:mt-2 ww:space-y-3 ww:rounded-lg ww:border ww:border-border ww:bg-background ww:p-3",children:n})})})]})]})}function Hs({isStreaming:e=!1,isLast:t=!1,children:a}){return ct("div",{className:"ww:flex ww:gap-2",children:[ee(Us,{icon:st,isLast:t,running:e}),ee("div",{className:F("ww:min-w-0 ww:flex-1",!t&&"ww:pb-3"),children:ct(ta,{isStreaming:e,className:"ww:mb-0",children:[ee(aa,{hideIcon:!0}),ee(oa,{children:a})]})})]})}f();f();f();f();f();f();var he={carriageReturn:-5,lineFeed:-4,carriageReturnLineFeed:-3,horizontalTab:-2,virtualSpace:-1,eof:null,nul:0,soh:1,stx:2,etx:3,eot:4,enq:5,ack:6,bel:7,bs:8,ht:9,lf:10,vt:11,ff:12,cr:13,so:14,si:15,dle:16,dc1:17,dc2:18,dc3:19,dc4:20,nak:21,syn:22,etb:23,can:24,em:25,sub:26,esc:27,fs:28,gs:29,rs:30,us:31,space:32,exclamationMark:33,quotationMark:34,numberSign:35,dollarSign:36,percentSign:37,ampersand:38,apostrophe:39,leftParenthesis:40,rightParenthesis:41,asterisk:42,plusSign:43,comma:44,dash:45,dot:46,slash:47,digit0:48,digit1:49,digit2:50,digit3:51,digit4:52,digit5:53,digit6:54,digit7:55,digit8:56,digit9:57,colon:58,semicolon:59,lessThan:60,equalsTo:61,greaterThan:62,questionMark:63,atSign:64,uppercaseA:65,uppercaseB:66,uppercaseC:67,uppercaseD:68,uppercaseE:69,uppercaseF:70,uppercaseG:71,uppercaseH:72,uppercaseI:73,uppercaseJ:74,uppercaseK:75,uppercaseL:76,uppercaseM:77,uppercaseN:78,uppercaseO:79,uppercaseP:80,uppercaseQ:81,uppercaseR:82,uppercaseS:83,uppercaseT:84,uppercaseU:85,uppercaseV:86,uppercaseW:87,uppercaseX:88,uppercaseY:89,uppercaseZ:90,leftSquareBracket:91,backslash:92,rightSquareBracket:93,caret:94,underscore:95,graveAccent:96,lowercaseA:97,lowercaseB:98,lowercaseC:99,lowercaseD:100,lowercaseE:101,lowercaseF:102,lowercaseG:103,lowercaseH:104,lowercaseI:105,lowercaseJ:106,lowercaseK:107,lowercaseL:108,lowercaseM:109,lowercaseN:110,lowercaseO:111,lowercaseP:112,lowercaseQ:113,lowercaseR:114,lowercaseS:115,lowercaseT:116,lowercaseU:117,lowercaseV:118,lowercaseW:119,lowercaseX:120,lowercaseY:121,lowercaseZ:122,leftCurlyBrace:123,verticalBar:124,rightCurlyBrace:125,tilde:126,del:127,byteOrderMarker:65279,replacementCharacter:65533};f();var We={attentionSideAfter:2,attentionSideBefore:1,atxHeadingOpeningFenceSizeMax:6,autolinkDomainSizeMax:63,autolinkSchemeSizeMax:32,cdataOpeningString:"CDATA[",characterGroupPunctuation:2,characterGroupWhitespace:1,characterReferenceDecimalSizeMax:7,characterReferenceHexadecimalSizeMax:6,characterReferenceNamedSizeMax:31,codeFencedSequenceSizeMin:3,contentTypeContent:"content",contentTypeDocument:"document",contentTypeFlow:"flow",contentTypeString:"string",contentTypeText:"text",hardBreakPrefixSizeMin:2,htmlBasic:6,htmlCdata:5,htmlComment:2,htmlComplete:7,htmlDeclaration:4,htmlInstruction:3,htmlRawSizeMax:8,htmlRaw:1,linkResourceDestinationBalanceMax:32,linkReferenceSizeMax:999,listItemValueSizeMax:10,numericBaseDecimal:10,numericBaseHexadecimal:16,tabSize:4,thematicBreakMarkerCountMin:3,v8MaxSafeChunkSize:1e4};f();var Ae={data:"data",whitespace:"whitespace",lineEnding:"lineEnding",lineEndingBlank:"lineEndingBlank",linePrefix:"linePrefix",lineSuffix:"lineSuffix",atxHeading:"atxHeading",atxHeadingSequence:"atxHeadingSequence",atxHeadingText:"atxHeadingText",autolink:"autolink",autolinkEmail:"autolinkEmail",autolinkMarker:"autolinkMarker",autolinkProtocol:"autolinkProtocol",characterEscape:"characterEscape",characterEscapeValue:"characterEscapeValue",characterReference:"characterReference",characterReferenceMarker:"characterReferenceMarker",characterReferenceMarkerNumeric:"characterReferenceMarkerNumeric",characterReferenceMarkerHexadecimal:"characterReferenceMarkerHexadecimal",characterReferenceValue:"characterReferenceValue",codeFenced:"codeFenced",codeFencedFence:"codeFencedFence",codeFencedFenceSequence:"codeFencedFenceSequence",codeFencedFenceInfo:"codeFencedFenceInfo",codeFencedFenceMeta:"codeFencedFenceMeta",codeFlowValue:"codeFlowValue",codeIndented:"codeIndented",codeText:"codeText",codeTextData:"codeTextData",codeTextPadding:"codeTextPadding",codeTextSequence:"codeTextSequence",content:"content",definition:"definition",definitionDestination:"definitionDestination",definitionDestinationLiteral:"definitionDestinationLiteral",definitionDestinationLiteralMarker:"definitionDestinationLiteralMarker",definitionDestinationRaw:"definitionDestinationRaw",definitionDestinationString:"definitionDestinationString",definitionLabel:"definitionLabel",definitionLabelMarker:"definitionLabelMarker",definitionLabelString:"definitionLabelString",definitionMarker:"definitionMarker",definitionTitle:"definitionTitle",definitionTitleMarker:"definitionTitleMarker",definitionTitleString:"definitionTitleString",emphasis:"emphasis",emphasisSequence:"emphasisSequence",emphasisText:"emphasisText",escapeMarker:"escapeMarker",hardBreakEscape:"hardBreakEscape",hardBreakTrailing:"hardBreakTrailing",htmlFlow:"htmlFlow",htmlFlowData:"htmlFlowData",htmlText:"htmlText",htmlTextData:"htmlTextData",image:"image",label:"label",labelText:"labelText",labelLink:"labelLink",labelImage:"labelImage",labelMarker:"labelMarker",labelImageMarker:"labelImageMarker",labelEnd:"labelEnd",link:"link",paragraph:"paragraph",reference:"reference",referenceMarker:"referenceMarker",referenceString:"referenceString",resource:"resource",resourceDestination:"resourceDestination",resourceDestinationLiteral:"resourceDestinationLiteral",resourceDestinationLiteralMarker:"resourceDestinationLiteralMarker",resourceDestinationRaw:"resourceDestinationRaw",resourceDestinationString:"resourceDestinationString",resourceMarker:"resourceMarker",resourceTitle:"resourceTitle",resourceTitleMarker:"resourceTitleMarker",resourceTitleString:"resourceTitleString",setextHeading:"setextHeading",setextHeadingText:"setextHeadingText",setextHeadingLine:"setextHeadingLine",setextHeadingLineSequence:"setextHeadingLineSequence",strong:"strong",strongSequence:"strongSequence",strongText:"strongText",thematicBreak:"thematicBreak",thematicBreakSequence:"thematicBreakSequence",blockQuote:"blockQuote",blockQuotePrefix:"blockQuotePrefix",blockQuoteMarker:"blockQuoteMarker",blockQuotePrefixWhitespace:"blockQuotePrefixWhitespace",listOrdered:"listOrdered",listUnordered:"listUnordered",listItemIndent:"listItemIndent",listItemMarker:"listItemMarker",listItemPrefix:"listItemPrefix",listItemPrefixWhitespace:"listItemPrefixWhitespace",listItemValue:"listItemValue",chunkDocument:"chunkDocument",chunkContent:"chunkContent",chunkFlow:"chunkFlow",chunkText:"chunkText",chunkString:"chunkString"};f();f();f();function qs(e){return e===161||e===164||e===167||e===168||e===170||e===173||e===174||e>=176&&e<=180||e>=182&&e<=186||e>=188&&e<=191||e===198||e===208||e===215||e===216||e>=222&&e<=225||e===230||e>=232&&e<=234||e===236||e===237||e===240||e===242||e===243||e>=247&&e<=250||e===252||e===254||e===257||e===273||e===275||e===283||e===294||e===295||e===299||e>=305&&e<=307||e===312||e>=319&&e<=322||e===324||e>=328&&e<=331||e===333||e===338||e===339||e===358||e===359||e===363||e===462||e===464||e===466||e===468||e===470||e===472||e===474||e===476||e===593||e===609||e===708||e===711||e>=713&&e<=715||e===717||e===720||e>=728&&e<=731||e===733||e===735||e>=768&&e<=879||e>=913&&e<=929||e>=931&&e<=937||e>=945&&e<=961||e>=963&&e<=969||e===1025||e>=1040&&e<=1103||e===1105||e===8208||e>=8211&&e<=8214||e===8216||e===8217||e===8220||e===8221||e>=8224&&e<=8226||e>=8228&&e<=8231||e===8240||e===8242||e===8243||e===8245||e===8251||e===8254||e===8308||e===8319||e>=8321&&e<=8324||e===8364||e===8451||e===8453||e===8457||e===8467||e===8470||e===8481||e===8482||e===8486||e===8491||e===8531||e===8532||e>=8539&&e<=8542||e>=8544&&e<=8555||e>=8560&&e<=8569||e===8585||e>=8592&&e<=8601||e===8632||e===8633||e===8658||e===8660||e===8679||e===8704||e===8706||e===8707||e===8711||e===8712||e===8715||e===8719||e===8721||e===8725||e===8730||e>=8733&&e<=8736||e===8739||e===8741||e>=8743&&e<=8748||e===8750||e>=8756&&e<=8759||e===8764||e===8765||e===8776||e===8780||e===8786||e===8800||e===8801||e>=8804&&e<=8807||e===8810||e===8811||e===8814||e===8815||e===8834||e===8835||e===8838||e===8839||e===8853||e===8857||e===8869||e===8895||e===8978||e>=9312&&e<=9449||e>=9451&&e<=9547||e>=9552&&e<=9587||e>=9600&&e<=9615||e>=9618&&e<=9621||e===9632||e===9633||e>=9635&&e<=9641||e===9650||e===9651||e===9654||e===9655||e===9660||e===9661||e===9664||e===9665||e>=9670&&e<=9672||e===9675||e>=9678&&e<=9681||e>=9698&&e<=9701||e===9711||e===9733||e===9734||e===9737||e===9742||e===9743||e===9756||e===9758||e===9792||e===9794||e===9824||e===9825||e>=9827&&e<=9829||e>=9831&&e<=9834||e===9836||e===9837||e===9839||e===9886||e===9887||e===9919||e>=9926&&e<=9933||e>=9935&&e<=9939||e>=9941&&e<=9953||e===9955||e===9960||e===9961||e>=9963&&e<=9969||e===9972||e>=9974&&e<=9977||e===9979||e===9980||e===9982||e===9983||e===10045||e>=10102&&e<=10111||e>=11094&&e<=11097||e>=12872&&e<=12879||e>=57344&&e<=63743||e>=65024&&e<=65039||e===65533||e>=127232&&e<=127242||e>=127248&&e<=127277||e>=127280&&e<=127337||e>=127344&&e<=127373||e===127375||e===127376||e>=127387&&e<=127404||e>=917760&&e<=917999||e>=983040&&e<=1048573||e>=1048576&&e<=1114109}function Ws(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function Gs(e){return e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9776&&e<=9783||e>=9800&&e<=9811||e===9855||e>=9866&&e<=9871||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12773||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e>=94192&&e<=94198||e>=94208&&e<=101589||e>=101631&&e<=101662||e>=101760&&e<=101874||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e>=119552&&e<=119638||e>=119648&&e<=119670||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128728||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129674||e>=129678&&e<=129734||e===129736||e>=129741&&e<=129756||e>=129759&&e<=129770||e>=129775&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141}function js(e){return qs(e)?"ambiguous":Ws(e)?"fullwidth":e===8361||e>=65377&&e<=65470||e>=65474&&e<=65479||e>=65482&&e<=65487||e>=65490&&e<=65495||e>=65498&&e<=65500||e>=65512&&e<=65518?"halfwidth":e>=32&&e<=126||e===162||e===163||e===165||e===166||e===172||e===175||e>=10214&&e<=10221||e===10629||e===10630?"narrow":Gs(e)?"wide":"neutral"}function Bc(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function zs(e){return Bc(e),js(e)}var Ec=Object.defineProperty,_c=(e,t,a)=>t in e?Ec(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Nc=(e,t,a)=>_c(e,typeof t!="symbol"?t+"":t,a);function Oc(e){return new RegExp("^\\p{Emoji_Presentation}","u").test(String.fromCodePoint(e))}function Uc(e){if(!e||e<4352)return!1;switch(zs(e)){case"fullwidth":case"halfwidth":return!0;case"wide":return!Oc(e);case"narrow":return!1;case"ambiguous":return 917760<=e&&e<=917999?null:!1;case"neutral":return new RegExp("^\\p{sc=Hangul}","u").test(String.fromCodePoint(e))}}function Hc(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function qc(e){return e!==null&&e>=65024&&e<=65038}var Wc=Vs(new RegExp("\\p{P}|\\p{S}","u")),Gc=Vs(/\s/);function Vs(e){return t;function t(a){return a!==null&&a>-1&&e.test(String.fromCodePoint(a))}}var Re;(e=>{e.spaceOrPunctuation=3,e.cjk=4096,e.cjkPunctuation=4098,e.ivs=8192,e.cjkOrIvs=12288,e.nonEmojiGeneralUseVS=16384,e.variationSelector=24576,e.ivsToCjkRightShift=1})(Re||(Re={}));function et(e){if(e===he.eof||rn(e)||Gc(e))return We.characterGroupWhitespace;let t=0;if(e>=4352){if(qc(e))return Re.nonEmojiGeneralUseVS;switch(Uc(e)){case null:return Re.ivs;case!0:t|=Re.cjk;break}}return Wc(e)&&(t|=We.characterGroupPunctuation),t}function Da(e,t,a){if(!zc(e))return e;let o=t(),r=et(o);return!o||ft(r)?e:Hc(o,a)?Re.cjkPunctuation:jc(r)}function jc(e){return e&~Re.ivs}function ft(e){return!!(e&We.characterGroupWhitespace)}function Pt(e){return(e&Re.cjkPunctuation)===We.characterGroupPunctuation}function ra(e){return!!(e&Re.cjk)}function $s(e){return e===Re.ivs}function Xs(e){return!!(e&Re.cjkOrIvs)}function zc(e){return e===Re.nonEmojiGeneralUseVS}function zo(e){return!!(e&Re.spaceOrPunctuation)}function Ba(e){return!!(e&&e>=55296&&e<=56319)}function Ea(e){return!!(e&&e>=56320&&e<=57343)}function _a(e,t,a){if(t._bufferIndex<2)return e;let r=a({start:{...t,_bufferIndex:t._bufferIndex-2},end:t}).codePointAt(0);return r&&r>=65536?r:e}function Vc(e,t,a){let o=e>=65536?2:1;if(t._bufferIndex<1+o)return null;let r=t._bufferIndex-o-2,n=a({start:{...t,_bufferIndex:r>=0?r:0},end:{...t,_bufferIndex:t._bufferIndex-o}}),s=n.charCodeAt(n.length-1);if(Number.isNaN(s))return null;if(n.length<2||s<56320||57343<s)return s;let i=n.codePointAt(0);return i&&i>=65536?i:s}var Na=class{constructor(e,t,a){this.previousCode=e,this.nowPoint=t,this.sliceSerialize=a,Nc(this,"cachedValue")}value(){return this.cachedValue===void 0&&(this.cachedValue=Vc(this.previousCode,this.nowPoint,this.sliceSerialize)),this.cachedValue}};function Oa(e,t,a){let o=a({start:t,end:{...t,_bufferIndex:t._bufferIndex+2}}).codePointAt(0);return o&&o>=65536?o:e}var Vo={name:"attention",resolveAll:$c,tokenize:Xc};function $c(e,t){let a=-1,o,r,n,s,i,l,u,c;for(;++a<e.length;)if(e[a][0]==="enter"&&e[a][1].type==="attentionSequence"&&e[a][1]._close){for(o=a;o--;)if(e[o][0]==="exit"&&e[o][1].type==="attentionSequence"&&e[o][1]._open&&t.sliceSerialize(e[o][1]).charCodeAt(0)===t.sliceSerialize(e[a][1]).charCodeAt(0)){if((e[o][1]._close||e[a][1]._open)&&(e[a][1].end.offset-e[a][1].start.offset)%3&&!((e[o][1].end.offset-e[o][1].start.offset+e[a][1].end.offset-e[a][1].start.offset)%3))continue;l=e[o][1].end.offset-e[o][1].start.offset>1&&e[a][1].end.offset-e[a][1].start.offset>1?2:1;let d={...e[o][1].end},p={...e[a][1].start};Ks(d,-l),Ks(p,l),s={type:l>1?Ae.strongSequence:Ae.emphasisSequence,start:d,end:{...e[o][1].end}},i={type:l>1?Ae.strongSequence:Ae.emphasisSequence,start:{...e[a][1].start},end:p},n={type:l>1?Ae.strongText:Ae.emphasisText,start:{...e[o][1].end},end:{...e[a][1].start}},r={type:l>1?Ae.strong:Ae.emphasis,start:{...s.start},end:{...i.end}},e[o][1].end={...s.start},e[a][1].start={...i.end},u=[],e[o][1].end.offset-e[o][1].start.offset&&(u=yt(u,[["enter",e[o][1],t],["exit",e[o][1],t]])),u=yt(u,[["enter",r,t],["enter",s,t],["exit",s,t],["enter",n,t]]),t.parser.constructs.insideSpan.null,u=yt(u,ba(t.parser.constructs.insideSpan.null,e.slice(o+1,a),t)),u=yt(u,[["exit",n,t],["enter",i,t],["exit",i,t],["exit",r,t]]),e[a][1].end.offset-e[a][1].start.offset?(c=2,u=yt(u,[["enter",e[a][1],t],["exit",e[a][1],t]])):c=0,St(e,o-1,a-o+3,u),a=o+u.length-c-2;break}}for(a=-1;++a<e.length;)e[a][1].type==="attentionSequence"&&(e[a][1].type="data");return e}function Xc(e,t){let a=this.parser.constructs.attentionMarkers.null,{now:o,sliceSerialize:r,previous:n}=this,s=Ea(n)?_a(n,o(),r):n,i=et(s),l=new Na(s,o(),r),u=Da(i,l.value.bind(l),s),c;return d;function d(m){return m===he.asterisk||he.underscore,c=m,e.enter("attentionSequence"),p(m)}function p(m){if(m===c)return e.consume(m),p;let h=e.exit("attentionSequence"),I=Ba(m)?Oa(m,o(),r):m,L=et(I);let S=Pt(u),C=S||ft(u),g=Pt(L),y=g||ft(L),A=Xs(u),R=!y||g&&(C||A)||a.includes(m),P=!C||S&&(y||ra(L))||a.includes(s);return h._open=!!(c===he.asterisk?R:R&&(zo(u)||!P)),h._close=!!(c===he.asterisk?P:P&&(zo(L)||!R)),t(m)}}function Ks(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function Qs(){return{text:{[he.asterisk]:Vo,[he.underscore]:Vo},insideSpan:{null:[Vo]}}}function Js(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(Qs())}f();f();function Zs(e){let a=(e||{}).singleTilde,o={name:"strikethrough",tokenize:n,resolveAll:r};return a==null&&(a=!0),{text:{[he.tilde]:o},insideSpan:{null:[o]},attentionMarkers:{null:[he.tilde]}};function r(s,i){let l=-1;for(;++l<s.length;)if(s[l][0]==="enter"&&s[l][1].type==="strikethroughSequenceTemporary"&&s[l][1]._close){let u=l;for(;u--;)if(s[u][0]==="exit"&&s[u][1].type==="strikethroughSequenceTemporary"&&s[u][1]._open&&s[l][1].end.offset-s[l][1].start.offset===s[u][1].end.offset-s[u][1].start.offset){s[l][1].type="strikethroughSequence",s[u][1].type="strikethroughSequence";let c={type:"strikethrough",start:Object.assign({},s[u][1].start),end:Object.assign({},s[l][1].end)},d={type:"strikethroughText",start:Object.assign({},s[u][1].end),end:Object.assign({},s[l][1].start)},p=[["enter",c,i],["enter",s[u][1],i],["exit",s[u][1],i],["enter",d,i]],m=i.parser.constructs.insideSpan.null;m&&St(p,p.length,0,ba(m,s.slice(u+1,l),i)),St(p,p.length,0,[["exit",d,i],["enter",s[l][1],i],["exit",s[l][1],i],["exit",c,i]]),St(s,u-1,l-u+3,p),l=u+p.length-2;break}}for(l=-1;++l<s.length;)s[l][1].type==="strikethroughSequenceTemporary"&&(s[l][1].type=Ae.data);return s}function n(s,i,l){let{now:u,sliceSerialize:c,previous:d}=this,p=Ea(d)?_a(d,u(),c):d,m=et(p),h=new Na(p,u(),c),I=Da(m,h.value.bind(h),p),L=this.events,S=0;return C;function C(y){return he.tilde,p===he.tilde&&L[L.length-1][1].type!==Ae.characterEscape?l(y):(s.enter("strikethroughSequenceTemporary"),g(y))}function g(y){let A=et(p);if(y===he.tilde)return S>1?l(y):(s.consume(y),S++,g);if(S<2&&!a)return l(y);let R=s.exit("strikethroughSequenceTemporary"),P=Ba(y)?Oa(y,u(),c):y,M=et(P),D=Pt(I)||ft(I),T=Pt(M)||ft(M),E=ra(I)||$s(A);return R._open=!T||M===We.attentionSideAfter&&(D||E),R._close=!D||A===We.attentionSideAfter&&(T||ra(M)),i(y)}}}function Ys(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(Zs(e))}var Kc=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),Qc=/^(https?:\/\/|mailto:|www\.)/i,Jc=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},Zc=e=>{let t=0;for(let a of e){if(Kc.has(a))return t;t+=a.length}return null},Yc=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),ef=e=>({type:"text",value:e}),tf=()=>e=>{Jr(e,"link",(t,a,o)=>{if(!o||typeof a!="number"||!Jc(t)||!Qc.test(t.url))return;let r=Zc(t.url);if(r===null||r===0)return;let n=t.url.slice(0,r),s=t.url.slice(r),i=Yc(n,t),l=ef(s);return o.children.splice(a,1,i,l),a+1})};function af(){let e=[Js],t=[tf,Ys],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var $o=af();f();f();f();f();f();var ae=class extends Error{constructor(t){super(t),this.name="ShikiError"}};f();function of(e){return or(e)}function or(e){return Array.isArray(e)?rf(e):e instanceof RegExp?e:typeof e=="object"?nf(e):e}function rf(e){let t=[];for(let a=0,o=e.length;a<o;a++)t[a]=or(e[a]);return t}function nf(e){let t={};for(let a in e)t[a]=or(e[a]);return t}function li(e,...t){return t.forEach(a=>{for(let o in a)e[o]=a[o]}),e}function ui(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?ui(e.substring(0,e.length-1)):e.substr(~t+1)}var Xo=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,Ua=class{static hasCaptures(e){return e===null?!1:(Xo.lastIndex=0,Xo.test(e))}static replaceCaptures(e,t,a){return e.replace(Xo,(o,r,n,s)=>{let i=a[parseInt(r||n,10)];if(i){let l=t.substring(i.start,i.end);for(;l[0]===".";)l=l.substring(1);switch(s){case"downcase":return l.toLowerCase();case"upcase":return l.toUpperCase();default:return l}}else return o})}};function di(e,t){return e<t?-1:e>t?1:0}function ci(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let a=e.length,o=t.length;if(a===o){for(let r=0;r<a;r++){let n=di(e[r],t[r]);if(n!==0)return n}return 0}return a-o}function ei(e){return!!(/^#[0-9a-f]{6}$/i.test(e)||/^#[0-9a-f]{8}$/i.test(e)||/^#[0-9a-f]{3}$/i.test(e)||/^#[0-9a-f]{4}$/i.test(e))}function fi(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var pi=class{constructor(e){this.fn=e}cache=new Map;get(e){if(this.cache.has(e))return this.cache.get(e);let t=this.fn(e);return this.cache.set(e,t),t}},ia=class{constructor(e,t,a){this._colorMap=e,this._defaults=t,this._root=a}static createFromRawTheme(e,t){return this.createFromParsedTheme(uf(e),t)}static createFromParsedTheme(e,t){return cf(e,t)}_cachedMatchRoot=new pi(e=>this._root.match(e));getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(e){if(e===null)return this._defaults;let t=e.scopeName,o=this._cachedMatchRoot.get(t).find(r=>sf(e.parent,r.parentScopes));return o?new mi(o.fontStyle,o.foreground,o.background):null}},Ko=class Ha{constructor(t,a){this.parent=t,this.scopeName=a}static push(t,a){for(let o of a)t=new Ha(t,o);return t}static from(...t){let a=null;for(let o=0;o<t.length;o++)a=new Ha(a,t[o]);return a}push(t){return new Ha(this,t)}getSegments(){let t=this,a=[];for(;t;)a.push(t.scopeName),t=t.parent;return a.reverse(),a}toString(){return this.getSegments().join(" ")}extends(t){return this===t?!0:this.parent===null?!1:this.parent.extends(t)}getExtensionIfDefined(t){let a=[],o=this;for(;o&&o!==t;)a.push(o.scopeName),o=o.parent;return o===t?a.reverse():void 0}};function sf(e,t){if(t.length===0)return!0;for(let a=0;a<t.length;a++){let o=t[a],r=!1;if(o===">"){if(a===t.length-1)return!1;o=t[++a],r=!0}for(;e&&!lf(e.scopeName,o);){if(r)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function lf(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var mi=class{constructor(e,t,a){this.fontStyle=e,this.foregroundId=t,this.backgroundId=a}};function uf(e){if(!e)return[];if(!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,a=[],o=0;for(let r=0,n=t.length;r<n;r++){let s=t[r];if(!s.settings)continue;let i;if(typeof s.scope=="string"){let d=s.scope;d=d.replace(/^[,]+/,""),d=d.replace(/[,]+$/,""),i=d.split(",")}else Array.isArray(s.scope)?i=s.scope:i=[""];let l=-1;if(typeof s.settings.fontStyle=="string"){l=0;let d=s.settings.fontStyle.split(" ");for(let p=0,m=d.length;p<m;p++)switch(d[p]){case"italic":l=l|1;break;case"bold":l=l|2;break;case"underline":l=l|4;break;case"strikethrough":l=l|8;break}}let u=null;typeof s.settings.foreground=="string"&&ei(s.settings.foreground)&&(u=s.settings.foreground);let c=null;typeof s.settings.background=="string"&&ei(s.settings.background)&&(c=s.settings.background);for(let d=0,p=i.length;d<p;d++){let h=i[d].trim().split(" "),I=h[h.length-1],L=null;h.length>1&&(L=h.slice(0,h.length-1),L.reverse()),a[o++]=new df(I,L,r,l,u,c)}}return a}var df=class{constructor(e,t,a,o,r,n){this.scope=e,this.parentScopes=t,this.index=a,this.fontStyle=o,this.foreground=r,this.background=n}},ge=(e=>(e[e.NotSet=-1]="NotSet",e[e.None=0]="None",e[e.Italic=1]="Italic",e[e.Bold=2]="Bold",e[e.Underline=4]="Underline",e[e.Strikethrough=8]="Strikethrough",e))(ge||{});function cf(e,t){e.sort((l,u)=>{let c=di(l.scope,u.scope);return c!==0||(c=ci(l.parentScopes,u.parentScopes),c!==0)?c:l.index-u.index});let a=0,o="#000000",r="#ffffff";for(;e.length>=1&&e[0].scope==="";){let l=e.shift();l.fontStyle!==-1&&(a=l.fontStyle),l.foreground!==null&&(o=l.foreground),l.background!==null&&(r=l.background)}let n=new ff(t),s=new mi(a,n.getId(o),n.getId(r)),i=new mf(new Jo(0,null,-1,0,0),[]);for(let l=0,u=e.length;l<u;l++){let c=e[l];i.insert(0,c.scope,c.parentScopes,c.fontStyle,n.getId(c.foreground),n.getId(c.background))}return new ia(n,s,i)}var ff=class{_isFrozen;_lastColorId;_id2color;_color2id;constructor(e){if(this._lastColorId=0,this._id2color=[],this._color2id=Object.create(null),Array.isArray(e)){this._isFrozen=!0;for(let t=0,a=e.length;t<a;t++)this._color2id[e[t]]=t,this._id2color[t]=e[t]}else this._isFrozen=!1}getId(e){if(e===null)return 0;e=e.toUpperCase();let t=this._color2id[e];if(t)return t;if(this._isFrozen)throw new Error(`Missing color in color map - ${e}`);return t=++this._lastColorId,this._color2id[e]=t,this._id2color[t]=e,t}getColorMap(){return this._id2color.slice(0)}},pf=Object.freeze([]),Jo=class hi{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,o,r,n){this.scopeDepth=t,this.parentScopes=a||pf,this.fontStyle=o,this.foreground=r,this.background=n}clone(){return new hi(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background)}static cloneArr(t){let a=[];for(let o=0,r=t.length;o<r;o++)a[o]=t[o].clone();return a}acceptOverwrite(t,a,o,r){this.scopeDepth>t?console.log("how did this happen?"):this.scopeDepth=t,a!==-1&&(this.fontStyle=a),o!==0&&(this.foreground=o),r!==0&&(this.background=r)}},mf=class Zo{constructor(t,a=[],o={}){this._mainRule=t,this._children=o,this._rulesWithParentScopes=a}_rulesWithParentScopes;static _cmpBySpecificity(t,a){if(t.scopeDepth!==a.scopeDepth)return a.scopeDepth-t.scopeDepth;let o=0,r=0;for(;t.parentScopes[o]===">"&&o++,a.parentScopes[r]===">"&&r++,!(o>=t.parentScopes.length||r>=a.parentScopes.length);){let n=a.parentScopes[r].length-t.parentScopes[o].length;if(n!==0)return n;o++,r++}return a.parentScopes.length-t.parentScopes.length}match(t){if(t!==""){let o=t.indexOf("."),r,n;if(o===-1?(r=t,n=""):(r=t.substring(0,o),n=t.substring(o+1)),this._children.hasOwnProperty(r))return this._children[r].match(n)}let a=this._rulesWithParentScopes.concat(this._mainRule);return a.sort(Zo._cmpBySpecificity),a}insert(t,a,o,r,n,s){if(a===""){this._doInsertHere(t,o,r,n,s);return}let i=a.indexOf("."),l,u;i===-1?(l=a,u=""):(l=a.substring(0,i),u=a.substring(i+1));let c;this._children.hasOwnProperty(l)?c=this._children[l]:(c=new Zo(this._mainRule.clone(),Jo.cloneArr(this._rulesWithParentScopes)),this._children[l]=c),c.insert(t+1,u,o,r,n,s)}_doInsertHere(t,a,o,r,n){if(a===null){this._mainRule.acceptOverwrite(t,o,r,n);return}for(let s=0,i=this._rulesWithParentScopes.length;s<i;s++){let l=this._rulesWithParentScopes[s];if(ci(l.parentScopes,a)===0){l.acceptOverwrite(t,o,r,n);return}}o===-1&&(o=this._mainRule.fontStyle),r===0&&(r=this._mainRule.foreground),n===0&&(n=this._mainRule.background),this._rulesWithParentScopes.push(new Jo(t,a,o,r,n))}},mt=class De{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){let a=De.getLanguageId(t),o=De.getTokenType(t),r=De.getFontStyle(t),n=De.getForeground(t),s=De.getBackground(t);console.log({languageId:a,tokenType:o,fontStyle:r,foreground:n,background:s})}static getLanguageId(t){return(t&255)>>>0}static getTokenType(t){return(t&768)>>>8}static containsBalancedBrackets(t){return(t&1024)!==0}static getFontStyle(t){return(t&30720)>>>11}static getForeground(t){return(t&16744448)>>>15}static getBackground(t){return(t&4278190080)>>>24}static set(t,a,o,r,n,s,i){let l=De.getLanguageId(t),u=De.getTokenType(t),c=De.containsBalancedBrackets(t)?1:0,d=De.getFontStyle(t),p=De.getForeground(t),m=De.getBackground(t);return a!==0&&(l=a),o!==8&&(u=o),r!==null&&(c=r?1:0),n!==-1&&(d=n),s!==0&&(p=s),i!==0&&(m=i),(l<<0|u<<8|c<<10|d<<11|p<<15|m<<24)>>>0}};function Wa(e,t){let a=[],o=hf(e),r=o.next();for(;r!==null;){let l=0;if(r.length===2&&r.charAt(1)===":"){switch(r.charAt(0)){case"R":l=1;break;case"L":l=-1;break;default:console.log(`Unknown priority ${r} in scope selector`)}r=o.next()}let u=s();if(a.push({matcher:u,priority:l}),r!==",")break;r=o.next()}return a;function n(){if(r==="-"){r=o.next();let l=n();return u=>!!l&&!l(u)}if(r==="("){r=o.next();let l=i();return r===")"&&(r=o.next()),l}if(ti(r)){let l=[];do l.push(r),r=o.next();while(ti(r));return u=>t(l,u)}return null}function s(){let l=[],u=n();for(;u;)l.push(u),u=n();return c=>l.every(d=>d(c))}function i(){let l=[],u=s();for(;u&&(l.push(u),r==="|"||r===",");){do r=o.next();while(r==="|"||r===",");u=s()}return c=>l.some(d=>d(c))}}function ti(e){return!!e&&!!e.match(/[\w\.:]+/)}function hf(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,a=t.exec(e);return{next:()=>{if(!a)return null;let o=a[0];return a=t.exec(e),o}}}function gi(e){typeof e.dispose=="function"&&e.dispose()}var la=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},gf=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},wf=class{_references=[];_seenReferenceKeys=new Set;get references(){return this._references}visitedRule=new Set;add(e){let t=e.toKey();this._seenReferenceKeys.has(t)||(this._seenReferenceKeys.add(t),this._references.push(e))}},xf=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new la(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new wf;for(let a of e)Lf(a,this.initialScopeName,this.repo,t);for(let a of t.references)if(a instanceof la){if(this.seenFullScopeRequests.has(a.scopeName))continue;this.seenFullScopeRequests.add(a.scopeName),this.Q.push(a)}else{if(this.seenFullScopeRequests.has(a.scopeName)||this.seenPartialScopeRequests.has(a.toKey()))continue;this.seenPartialScopeRequests.add(a.toKey()),this.Q.push(a)}}};function Lf(e,t,a,o){let r=a.lookup(e.scopeName);if(!r){if(e.scopeName===t)throw new Error(`No grammar provided for <${t}>`);return}let n=a.lookup(t);e instanceof la?qa({baseGrammar:n,selfGrammar:r},o):Yo(e.ruleName,{baseGrammar:n,selfGrammar:r,repository:r.repository},o);let s=a.injections(e.scopeName);if(s)for(let i of s)o.add(new la(i))}function Yo(e,t,a){if(t.repository&&t.repository[e]){let o=t.repository[e];Ga([o],t,a)}}function qa(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&Ga(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&Ga(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function Ga(e,t,a){for(let o of e){if(a.visitedRule.has(o))continue;a.visitedRule.add(o);let r=o.repository?li({},t.repository,o.repository):t.repository;Array.isArray(o.patterns)&&Ga(o.patterns,{...t,repository:r},a);let n=o.include;if(!n)continue;let s=wi(n);switch(s.kind){case 0:qa({...t,selfGrammar:t.baseGrammar},a);break;case 1:qa(t,a);break;case 2:Yo(s.ruleName,{...t,repository:r},a);break;case 3:case 4:let i=s.scopeName===t.selfGrammar.scopeName?t.selfGrammar:s.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(i){let l={baseGrammar:t.baseGrammar,selfGrammar:i,repository:r};s.kind===4?Yo(s.ruleName,l,a):qa(l,a)}else s.kind===4?a.add(new gf(s.scopeName,s.ruleName)):a.add(new la(s.scopeName));break}}}var Cf=class{kind=0},If=class{kind=1},Sf=class{constructor(e){this.ruleName=e}kind=2},yf=class{constructor(e){this.scopeName=e}kind=3},bf=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function wi(e){if(e==="$base")return new Cf;if(e==="$self")return new If;let t=e.indexOf("#");if(t===-1)return new yf(e);if(t===0)return new Sf(e.substring(1));{let a=e.substring(0,t),o=e.substring(t+1);return new bf(a,o)}}var kf=/\\(\d+)/,ai=/\\(\d+)/g;var Tf=-1,xi=-2;var ca=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,a,o){this.$location=e,this.id=t,this._name=a||null,this._nameIsCapturing=Ua.hasCaptures(this._name),this._contentName=o||null,this._contentNameIsCapturing=Ua.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${ui(this.$location.filename)}:${this.$location.line}`:"unknown";return`${this.constructor.name}#${this.id} @ ${e}`}getName(e,t){return!this._nameIsCapturing||this._name===null||e===null||t===null?this._name:Ua.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:Ua.replaceCaptures(this._contentName,e,t)}},vf=class extends ca{retokenizeCapturedWithRuleId;constructor(e,t,a,o,r){super(e,t,a,o),this.retokenizeCapturedWithRuleId=r}dispose(){}collectPatterns(e,t){throw new Error("Not supported!")}compile(e,t){throw new Error("Not supported!")}compileAG(e,t,a,o){throw new Error("Not supported!")}},Pf=class extends ca{_match;captures;_cachedCompiledPatterns;constructor(e,t,a,o,r){super(e,t,a,null),this._match=new ua(o,this.id),this.captures=r,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugMatchRegExp(){return`${this._match.source}`}collectPatterns(e,t){t.push(this._match)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,a,o){return this._getCachedCompiledPatterns(e).compileAG(e,a,o)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new da,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},oi=class extends ca{hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,a,o,r){super(e,t,a,o),this.patterns=r.patterns,this.hasMissingPatterns=r.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}collectPatterns(e,t){for(let a of this.patterns)e.getRule(a).collectPatterns(e,t)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,a,o){return this._getCachedCompiledPatterns(e).compileAG(e,a,o)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new da,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},er=class extends ca{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,a,o,r,n,s,i,l,u){super(e,t,a,o),this._begin=new ua(r,this.id),this.beginCaptures=n,this._end=new ua(s||"\uFFFF",-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=i,this.applyEndPatternLast=l||!1,this.patterns=u.patterns,this.hasMissingPatterns=u.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugEndRegExp(){return`${this._end.source}`}getEndWithResolvedBackReferences(e,t){return this._end.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e,t).compile(e)}compileAG(e,t,a,o){return this._getCachedCompiledPatterns(e,t).compileAG(e,a,o)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new da;for(let a of this.patterns)e.getRule(a).collectPatterns(e,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,t):this._cachedCompiledPatterns.setSource(0,t)),this._cachedCompiledPatterns}},ja=class extends ca{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,a,o,r,n,s,i,l){super(e,t,a,o),this._begin=new ua(r,this.id),this.beginCaptures=n,this.whileCaptures=i,this._while=new ua(s,xi),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=l.patterns,this.hasMissingPatterns=l.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null),this._cachedCompiledWhilePatterns&&(this._cachedCompiledWhilePatterns.dispose(),this._cachedCompiledWhilePatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugWhileRegExp(){return`${this._while.source}`}getWhileWithResolvedBackReferences(e,t){return this._while.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,a,o){return this._getCachedCompiledPatterns(e).compileAG(e,a,o)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new da;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns)}return this._cachedCompiledPatterns}compileWhile(e,t){return this._getCachedCompiledWhilePatterns(e,t).compile(e)}compileWhileAG(e,t,a,o){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,a,o)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new da,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},Li=class Se{static createCaptureRule(t,a,o,r,n){return t.registerRule(s=>new vf(a,s,o,r,n))}static getCompiledRuleId(t,a,o){return t.id||a.registerRule(r=>{if(t.id=r,t.match)return new Pf(t.$vscodeTextmateLocation,t.id,t.name,t.match,Se._compileCaptures(t.captures,a,o));if(typeof t.begin>"u"){t.repository&&(o=li({},o,t.repository));let n=t.patterns;return typeof n>"u"&&t.include&&(n=[{include:t.include}]),new oi(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,Se._compilePatterns(n,a,o))}return t.while?new ja(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,Se._compileCaptures(t.beginCaptures||t.captures,a,o),t.while,Se._compileCaptures(t.whileCaptures||t.captures,a,o),Se._compilePatterns(t.patterns,a,o)):new er(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,Se._compileCaptures(t.beginCaptures||t.captures,a,o),t.end,Se._compileCaptures(t.endCaptures||t.captures,a,o),t.applyEndPatternLast,Se._compilePatterns(t.patterns,a,o))}),t.id}static _compileCaptures(t,a,o){let r=[];if(t){let n=0;for(let s in t){if(s==="$vscodeTextmateLocation")continue;let i=parseInt(s,10);i>n&&(n=i)}for(let s=0;s<=n;s++)r[s]=null;for(let s in t){if(s==="$vscodeTextmateLocation")continue;let i=parseInt(s,10),l=0;t[s].patterns&&(l=Se.getCompiledRuleId(t[s],a,o)),r[i]=Se.createCaptureRule(a,t[s].$vscodeTextmateLocation,t[s].name,t[s].contentName,l)}}return r}static _compilePatterns(t,a,o){let r=[];if(t)for(let n=0,s=t.length;n<s;n++){let i=t[n],l=-1;if(i.include){let u=wi(i.include);switch(u.kind){case 0:case 1:l=Se.getCompiledRuleId(o[i.include],a,o);break;case 2:let c=o[u.ruleName];c&&(l=Se.getCompiledRuleId(c,a,o));break;case 3:case 4:let d=u.scopeName,p=u.kind===4?u.ruleName:null,m=a.getExternalGrammar(d,o);if(m)if(p){let h=m.repository[p];h&&(l=Se.getCompiledRuleId(h,a,m.repository))}else l=Se.getCompiledRuleId(m.repository.$self,a,m.repository);break}}else l=Se.getCompiledRuleId(i,a,o);if(l!==-1){let u=a.getRule(l),c=!1;if((u instanceof oi||u instanceof er||u instanceof ja)&&u.hasMissingPatterns&&u.patterns.length===0&&(c=!0),c)continue;r.push(l)}}return{patterns:r,hasMissingPatterns:(t?t.length:0)!==r.length}}},ua=class Ci{source;ruleId;hasAnchor;hasBackReferences;_anchorCache;constructor(t,a){if(t&&typeof t=="string"){let o=t.length,r=0,n=[],s=!1;for(let i=0;i<o;i++)if(t.charAt(i)==="\\"&&i+1<o){let u=t.charAt(i+1);u==="z"?(n.push(t.substring(r,i)),n.push("$(?!\\n)(?<!\\n)"),r=i+2):(u==="A"||u==="G")&&(s=!0),i++}this.hasAnchor=s,r===0?this.source=t:(n.push(t.substring(r,o)),this.source=n.join(""))}else this.hasAnchor=!1,this.source=t;this.hasAnchor?this._anchorCache=this._buildAnchorCache():this._anchorCache=null,this.ruleId=a,typeof this.source=="string"?this.hasBackReferences=kf.test(this.source):this.hasBackReferences=!1}clone(){return new Ci(this.source,this.ruleId)}setSource(t){this.source!==t&&(this.source=t,this.hasAnchor&&(this._anchorCache=this._buildAnchorCache()))}resolveBackReferences(t,a){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let o=a.map(r=>t.substring(r.start,r.end));return ai.lastIndex=0,this.source.replace(ai,(r,n)=>fi(o[parseInt(n,10)]||""))}_buildAnchorCache(){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let t=[],a=[],o=[],r=[],n,s,i,l;for(n=0,s=this.source.length;n<s;n++)i=this.source.charAt(n),t[n]=i,a[n]=i,o[n]=i,r[n]=i,i==="\\"&&n+1<s&&(l=this.source.charAt(n+1),l==="A"?(t[n+1]="\uFFFF",a[n+1]="\uFFFF",o[n+1]="A",r[n+1]="A"):l==="G"?(t[n+1]="\uFFFF",a[n+1]="G",o[n+1]="\uFFFF",r[n+1]="G"):(t[n+1]=l,a[n+1]=l,o[n+1]=l,r[n+1]=l),n++);return{A0_G0:t.join(""),A0_G1:a.join(""),A1_G0:o.join(""),A1_G1:r.join("")}}resolveAnchors(t,a){return!this.hasAnchor||!this._anchorCache||typeof this.source!="string"?this.source:t?a?this._anchorCache.A1_G1:this._anchorCache.A1_G0:a?this._anchorCache.A0_G1:this._anchorCache.A0_G0}},da=class{_items;_hasAnchors;_cached;_anchorCache;constructor(){this._items=[],this._hasAnchors=!1,this._cached=null,this._anchorCache={A0_G0:null,A0_G1:null,A1_G0:null,A1_G1:null}}dispose(){this._disposeCaches()}_disposeCaches(){this._cached&&(this._cached.dispose(),this._cached=null),this._anchorCache.A0_G0&&(this._anchorCache.A0_G0.dispose(),this._anchorCache.A0_G0=null),this._anchorCache.A0_G1&&(this._anchorCache.A0_G1.dispose(),this._anchorCache.A0_G1=null),this._anchorCache.A1_G0&&(this._anchorCache.A1_G0.dispose(),this._anchorCache.A1_G0=null),this._anchorCache.A1_G1&&(this._anchorCache.A1_G1.dispose(),this._anchorCache.A1_G1=null)}push(e){this._items.push(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}unshift(e){this._items.unshift(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}length(){return this._items.length}setSource(e,t){this._items[e].source!==t&&(this._disposeCaches(),this._items[e].setSource(t))}compile(e){if(!this._cached){let t=this._items.map(a=>a.source);this._cached=new ri(e,t,this._items.map(a=>a.ruleId))}return this._cached}compileAG(e,t,a){return this._hasAnchors?t?a?(this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(e,t,a)),this._anchorCache.A1_G1):(this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(e,t,a)),this._anchorCache.A1_G0):a?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(e,t,a)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(e,t,a)),this._anchorCache.A0_G0):this.compile(e)}_resolveAnchors(e,t,a){let o=this._items.map(r=>r.resolveAnchors(t,a));return new ri(e,o,this._items.map(r=>r.ruleId))}},ri=class{constructor(e,t,a){this.regExps=t,this.rules=a,this.scanner=e.createOnigScanner(t)}scanner;dispose(){typeof this.scanner.dispose=="function"&&this.scanner.dispose()}toString(){let e=[];for(let t=0,a=this.rules.length;t<a;t++)e.push(" - "+this.rules[t]+": "+this.regExps[t]);return e.join(`
69
+ `)}findNextMatchSync(e,t,a){let o=this.scanner.findNextMatchSync(e,t,a);return o?{ruleId:this.rules[o.index],captureIndices:o.captureIndices}:null}},Qo=class{constructor(e,t){this.languageId=e,this.tokenType=t}},Af=class tr{_defaultAttributes;_embeddedLanguagesMatcher;constructor(t,a){this._defaultAttributes=new Qo(t,8),this._embeddedLanguagesMatcher=new Rf(Object.entries(a||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?tr._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new Qo(0,0);_getBasicScopeAttributes=new pi(t=>{let a=this._scopeToLanguage(t),o=this._toStandardTokenType(t);return new Qo(a,o)});_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){let a=t.match(tr.STANDARD_TOKEN_TYPE_REGEXP);if(!a)return 8;switch(a[1]){case"comment":return 1;case"string":return 2;case"regex":return 3;case"meta.embedded":return 0}throw new Error("Unexpected match for standard token type!")}static STANDARD_TOKEN_TYPE_REGEXP=/\b(comment|string|regex|meta\.embedded)\b/},Rf=class{values;scopesRegExp;constructor(e){if(e.length===0)this.values=null,this.scopesRegExp=null;else{this.values=new Map(e);let t=e.map(([a,o])=>fi(a));t.sort(),t.reverse(),this.scopesRegExp=new RegExp(`^((${t.join(")|(")}))($|\\.)`,"")}}match(e){if(!this.scopesRegExp)return;let t=e.match(this.scopesRegExp);if(t)return this.values.get(t[1])}},Hb={InDebugMode:typeof process<"u"&&!!process.env.VSCODE_TEXTMATE_DEBUG},Ii=!1,ni=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function Si(e,t,a,o,r,n,s,i){let l=t.content.length,u=!1,c=-1;if(s){let m=Mf(e,t,a,o,r,n);r=m.stack,o=m.linePos,a=m.isFirstLine,c=m.anchorPosition}let d=Date.now();for(;!u;){if(i!==0&&Date.now()-d>i)return new ni(r,!0);p()}return new ni(r,!1);function p(){let m=Ff(e,t,a,o,r,c);if(!m){n.produce(r,l),u=!0;return}let h=m.captureIndices,I=m.matchedRuleId,L=h&&h.length>0?h[0].end>o:!1;if(I===Tf){let S=r.getRule(e);n.produce(r,h[0].start),r=r.withContentNameScopesList(r.nameScopesList),na(e,t,a,r,n,S.endCaptures,h),n.produce(r,h[0].end);let C=r;if(r=r.parent,c=C.getAnchorPos(),!L&&C.getEnterPos()===o){r=C,n.produce(r,l),u=!0;return}}else{let S=e.getRule(I);n.produce(r,h[0].start);let C=r,g=S.getName(t.content,h),y=r.contentNameScopesList.pushAttributed(g,e);if(r=r.push(I,o,c,h[0].end===l,null,y,y),S instanceof er){let A=S;na(e,t,a,r,n,A.beginCaptures,h),n.produce(r,h[0].end),c=h[0].end;let R=A.getContentName(t.content,h),P=y.pushAttributed(R,e);if(r=r.withContentNameScopesList(P),A.endHasBackReferences&&(r=r.withEndRule(A.getEndWithResolvedBackReferences(t.content,h))),!L&&C.hasSameRuleAs(r)){r=r.pop(),n.produce(r,l),u=!0;return}}else if(S instanceof ja){let A=S;na(e,t,a,r,n,A.beginCaptures,h),n.produce(r,h[0].end),c=h[0].end;let R=A.getContentName(t.content,h),P=y.pushAttributed(R,e);if(r=r.withContentNameScopesList(P),A.whileHasBackReferences&&(r=r.withEndRule(A.getWhileWithResolvedBackReferences(t.content,h))),!L&&C.hasSameRuleAs(r)){r=r.pop(),n.produce(r,l),u=!0;return}}else if(na(e,t,a,r,n,S.captures,h),n.produce(r,h[0].end),r=r.pop(),!L){r=r.safePop(),n.produce(r,l),u=!0;return}}h[0].end>o&&(o=h[0].end,a=!1)}}function Mf(e,t,a,o,r,n){let s=r.beginRuleCapturedEOL?0:-1,i=[];for(let l=r;l;l=l.pop()){let u=l.getRule(e);u instanceof ja&&i.push({rule:u,stack:l})}for(let l=i.pop();l;l=i.pop()){let{ruleScanner:u,findOptions:c}=Ef(l.rule,e,l.stack.endRule,a,o===s),d=u.findNextMatchSync(t,o,c);if(d){if(d.ruleId!==xi){r=l.stack.pop();break}d.captureIndices&&d.captureIndices.length&&(n.produce(l.stack,d.captureIndices[0].start),na(e,t,a,l.stack,n,l.rule.whileCaptures,d.captureIndices),n.produce(l.stack,d.captureIndices[0].end),s=d.captureIndices[0].end,d.captureIndices[0].end>o&&(o=d.captureIndices[0].end,a=!1))}else{r=l.stack.pop();break}}return{stack:r,linePos:o,anchorPosition:s,isFirstLine:a}}function Ff(e,t,a,o,r,n){let s=Df(e,t,a,o,r,n),i=e.getInjections();if(i.length===0)return s;let l=Bf(i,e,t,a,o,r,n);if(!l)return s;if(!s)return l;let u=s.captureIndices[0].start,c=l.captureIndices[0].start;return c<u||l.priorityMatch&&c===u?l:s}function Df(e,t,a,o,r,n){let s=r.getRule(e),{ruleScanner:i,findOptions:l}=yi(s,e,r.endRule,a,o===n),u=i.findNextMatchSync(t,o,l);return u?{captureIndices:u.captureIndices,matchedRuleId:u.ruleId}:null}function Bf(e,t,a,o,r,n,s){let i=Number.MAX_VALUE,l=null,u,c=0,d=n.contentNameScopesList.getScopeNames();for(let p=0,m=e.length;p<m;p++){let h=e[p];if(!h.matcher(d))continue;let I=t.getRule(h.ruleId),{ruleScanner:L,findOptions:S}=yi(I,t,null,o,r===s),C=L.findNextMatchSync(a,r,S);if(!C)continue;let g=C.captureIndices[0].start;if(!(g>=i)&&(i=g,l=C.captureIndices,u=C.ruleId,c=h.priority,i===r))break}return l?{priorityMatch:c===-1,captureIndices:l,matchedRuleId:u}:null}function yi(e,t,a,o,r){if(Ii){let s=e.compile(t,a),i=bi(o,r);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileAG(t,a,o,r),findOptions:0}}function Ef(e,t,a,o,r){if(Ii){let s=e.compileWhile(t,a),i=bi(o,r);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileWhileAG(t,a,o,r),findOptions:0}}function bi(e,t){let a=0;return e||(a|=1),t||(a|=4),a}function na(e,t,a,o,r,n,s){if(n.length===0)return;let i=t.content,l=Math.min(n.length,s.length),u=[],c=s[0].end;for(let d=0;d<l;d++){let p=n[d];if(p===null)continue;let m=s[d];if(m.length===0)continue;if(m.start>c)break;for(;u.length>0&&u[u.length-1].endPos<=m.start;)r.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop();if(u.length>0?r.produceFromScopes(u[u.length-1].scopes,m.start):r.produce(o,m.start),p.retokenizeCapturedWithRuleId){let I=p.getName(i,s),L=o.contentNameScopesList.pushAttributed(I,e),S=p.getContentName(i,s),C=L.pushAttributed(S,e),g=o.push(p.retokenizeCapturedWithRuleId,m.start,-1,!1,null,L,C),y=e.createOnigString(i.substring(0,m.end));Si(e,y,a&&m.start===0,m.start,g,r,!1,0),gi(y);continue}let h=p.getName(i,s);if(h!==null){let L=(u.length>0?u[u.length-1].scopes:o.contentNameScopesList).pushAttributed(h,e);u.push(new _f(L,m.end))}}for(;u.length>0;)r.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop()}var _f=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function Nf(e,t,a,o,r,n,s,i){return new Uf(e,t,a,o,r,n,s,i)}function si(e,t,a,o,r){let n=Wa(t,za),s=Li.getCompiledRuleId(a,o,r.repository);for(let i of n)e.push({debugSelector:t,matcher:i.matcher,ruleId:s,grammar:r,priority:i.priority})}function za(e,t){if(t.length<e.length)return!1;let a=0;return e.every(o=>{for(let r=a;r<t.length;r++)if(Of(t[r],o))return a=r+1,!0;return!1})}function Of(e,t){if(!e)return!1;if(e===t)return!0;let a=t.length;return e.length>a&&e.substr(0,a)===t&&e[a]==="."}var Uf=class{constructor(e,t,a,o,r,n,s,i){if(this._rootScopeName=e,this.balancedBracketSelectors=n,this._onigLib=i,this._basicScopeAttributesProvider=new Af(a,o),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=s,this._grammar=ii(t,null),this._injections=null,this._tokenTypeMatchers=[],r)for(let l of Object.keys(r)){let u=Wa(l,za);for(let c of u)this._tokenTypeMatchers.push({matcher:c.matcher,type:r[l]})}}_rootId;_lastRuleId;_ruleId2desc;_includedGrammars;_grammarRepository;_grammar;_injections;_basicScopeAttributesProvider;_tokenTypeMatchers;get themeProvider(){return this._grammarRepository}dispose(){for(let e of this._ruleId2desc)e&&e.dispose()}createOnigScanner(e){return this._onigLib.createOnigScanner(e)}createOnigString(e){return this._onigLib.createOnigString(e)}getMetadataForScope(e){return this._basicScopeAttributesProvider.getBasicScopeAttributes(e)}_collectInjections(){let e={lookup:r=>r===this._rootScopeName?this._grammar:this.getExternalGrammar(r),injections:r=>this._grammarRepository.injections(r)},t=[],a=this._rootScopeName,o=e.lookup(a);if(o){let r=o.injections;if(r)for(let s in r)si(t,s,r[s],this,o);let n=this._grammarRepository.injections(a);n&&n.forEach(s=>{let i=this.getExternalGrammar(s);if(i){let l=i.injectionSelector;l&&si(t,l,i,this,i)}})}return t.sort((r,n)=>r.priority-n.priority),t}getInjections(){return this._injections===null&&(this._injections=this._collectInjections()),this._injections}registerRule(e){let t=++this._lastRuleId,a=e(t);return this._ruleId2desc[t]=a,a}getRule(e){return this._ruleId2desc[e]}getExternalGrammar(e,t){if(this._includedGrammars[e])return this._includedGrammars[e];if(this._grammarRepository){let a=this._grammarRepository.lookup(e);if(a)return this._includedGrammars[e]=ii(a,t&&t.$base),this._includedGrammars[e]}}tokenizeLine(e,t,a=0){let o=this._tokenize(e,t,!1,a);return{tokens:o.lineTokens.getResult(o.ruleStack,o.lineLength),ruleStack:o.ruleStack,stoppedEarly:o.stoppedEarly}}tokenizeLine2(e,t,a=0){let o=this._tokenize(e,t,!0,a);return{tokens:o.lineTokens.getBinaryResult(o.ruleStack,o.lineLength),ruleStack:o.ruleStack,stoppedEarly:o.stoppedEarly}}_tokenize(e,t,a,o){this._rootId===-1&&(this._rootId=Li.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let r;if(!t||t===ar.NULL){r=!0;let u=this._basicScopeAttributesProvider.getDefaultAttributes(),c=this.themeProvider.getDefaults(),d=mt.set(0,u.languageId,u.tokenType,null,c.fontStyle,c.foregroundId,c.backgroundId),p=this.getRule(this._rootId).getName(null,null),m;p?m=sa.createRootAndLookUpScopeName(p,d,this):m=sa.createRoot("unknown",d),t=new ar(null,this._rootId,-1,-1,!1,null,m,m)}else r=!1,t.reset();e=e+`
70
+ `;let n=this.createOnigString(e),s=n.content.length,i=new qf(a,e,this._tokenTypeMatchers,this.balancedBracketSelectors),l=Si(this,n,r,0,t,i,!0,o);return gi(n),{lineLength:s,lineTokens:i,ruleStack:l.stack,stoppedEarly:l.stoppedEarly}}};function ii(e,t){return e=of(e),e.repository=e.repository||{},e.repository.$self={$vscodeTextmateLocation:e.$vscodeTextmateLocation,patterns:e.patterns,name:e.scopeName},e.repository.$base=t||e.repository.$self,e}var sa=class Ge{constructor(t,a,o){this.parent=t,this.scopePath=a,this.tokenAttributes=o}static fromExtension(t,a){let o=t,r=t?.scopePath??null;for(let n of a)r=Ko.push(r,n.scopeNames),o=new Ge(o,r,n.encodedTokenAttributes);return o}static createRoot(t,a){return new Ge(null,new Ko(null,t),a)}static createRootAndLookUpScopeName(t,a,o){let r=o.getMetadataForScope(t),n=new Ko(null,t),s=o.themeProvider.themeMatch(n),i=Ge.mergeAttributes(a,r,s);return new Ge(null,n,i)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return Ge.equals(this,t)}static equals(t,a){do{if(t===a||!t&&!a)return!0;if(!t||!a||t.scopeName!==a.scopeName||t.tokenAttributes!==a.tokenAttributes)return!1;t=t.parent,a=a.parent}while(!0)}static mergeAttributes(t,a,o){let r=-1,n=0,s=0;return o!==null&&(r=o.fontStyle,n=o.foregroundId,s=o.backgroundId),mt.set(t,a.languageId,a.tokenType,null,r,n,s)}pushAttributed(t,a){if(t===null)return this;if(t.indexOf(" ")===-1)return Ge._pushAttributed(this,t,a);let o=t.split(/ /g),r=this;for(let n of o)r=Ge._pushAttributed(r,n,a);return r}static _pushAttributed(t,a,o){let r=o.getMetadataForScope(a),n=t.scopePath.push(a),s=o.themeProvider.themeMatch(n),i=Ge.mergeAttributes(t.tokenAttributes,r,s);return new Ge(t,n,i)}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(t){let a=[],o=this;for(;o&&o!==t;)a.push({encodedTokenAttributes:o.tokenAttributes,scopeNames:o.scopePath.getExtensionIfDefined(o.parent?.scopePath??null)}),o=o.parent;return o===t?a.reverse():void 0}},ar=class pt{constructor(t,a,o,r,n,s,i,l){this.parent=t,this.ruleId=a,this.beginRuleCapturedEOL=n,this.endRule=s,this.nameScopesList=i,this.contentNameScopesList=l,this.depth=this.parent?this.parent.depth+1:1,this._enterPos=o,this._anchorPos=r}_stackElementBrand=void 0;static NULL=new pt(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:pt._equals(this,t)}static _equals(t,a){return t===a?!0:this._structuralEquals(t,a)?sa.equals(t.contentNameScopesList,a.contentNameScopesList):!1}static _structuralEquals(t,a){do{if(t===a||!t&&!a)return!0;if(!t||!a||t.depth!==a.depth||t.ruleId!==a.ruleId||t.endRule!==a.endRule)return!1;t=t.parent,a=a.parent}while(!0)}clone(){return this}static _reset(t){for(;t;)t._enterPos=-1,t._anchorPos=-1,t=t.parent}reset(){pt._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,a,o,r,n,s,i){return new pt(this,t,a,o,r,n,s,i)}getEnterPos(){return this._enterPos}getAnchorPos(){return this._anchorPos}getRule(t){return t.getRule(this.ruleId)}toString(){let t=[];return this._writeString(t,0),"["+t.join(",")+"]"}_writeString(t,a){return this.parent&&(a=this.parent._writeString(t,a)),t[a++]=`(${this.ruleId}, ${this.nameScopesList?.toString()}, ${this.contentNameScopesList?.toString()})`,a}withContentNameScopesList(t){return this.contentNameScopesList===t?this:this.parent.push(this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,this.endRule,this.nameScopesList,t)}withEndRule(t){return this.endRule===t?this:new pt(this.parent,this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,t,this.nameScopesList,this.contentNameScopesList)}hasSameRuleAs(t){let a=this;for(;a&&a._enterPos===t._enterPos;){if(a.ruleId===t.ruleId)return!0;a=a.parent}return!1}toStateStackFrame(){return{ruleId:this.ruleId,beginRuleCapturedEOL:this.beginRuleCapturedEOL,endRule:this.endRule,nameScopesList:this.nameScopesList?.getExtensionIfDefined(this.parent?.nameScopesList??null)??[],contentNameScopesList:this.contentNameScopesList?.getExtensionIfDefined(this.nameScopesList)??[]}}static pushFrame(t,a){let o=sa.fromExtension(t?.nameScopesList??null,a.nameScopesList);return new pt(t,a.ruleId,a.enterPos??-1,a.anchorPos??-1,a.beginRuleCapturedEOL,a.endRule,o,sa.fromExtension(o,a.contentNameScopesList))}},Hf=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(a=>a==="*"?(this.allowAny=!0,[]):Wa(a,za).map(o=>o.matcher)),this.unbalancedBracketScopes=t.flatMap(a=>Wa(a,za).map(o=>o.matcher))}get matchesAlways(){return this.allowAny&&this.unbalancedBracketScopes.length===0}get matchesNever(){return this.balancedBracketScopes.length===0&&!this.allowAny}match(e){for(let t of this.unbalancedBracketScopes)if(t(e))return!1;for(let t of this.balancedBracketScopes)if(t(e))return!0;return this.allowAny}},qf=class{constructor(e,t,a,o){this.balancedBracketSelectors=o,this._emitBinaryTokens=e,this._tokenTypeOverrides=a,this._lineText=null,this._tokens=[],this._binaryTokens=[],this._lastTokenEndIndex=0}_emitBinaryTokens;_lineText;_tokens;_binaryTokens;_lastTokenEndIndex;_tokenTypeOverrides;produce(e,t){this.produceFromScopes(e.contentNameScopesList,t)}produceFromScopes(e,t){if(this._lastTokenEndIndex>=t)return;if(this._emitBinaryTokens){let o=e?.tokenAttributes??0,r=!1;if(this.balancedBracketSelectors?.matchesAlways&&(r=!0),this._tokenTypeOverrides.length>0||this.balancedBracketSelectors&&!this.balancedBracketSelectors.matchesAlways&&!this.balancedBracketSelectors.matchesNever){let n=e?.getScopeNames()??[];for(let s of this._tokenTypeOverrides)s.matcher(n)&&(o=mt.set(o,0,s.type,null,-1,0,0));this.balancedBracketSelectors&&(r=this.balancedBracketSelectors.match(n))}if(r&&(o=mt.set(o,0,8,r,-1,0,0)),this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-1]===o){this._lastTokenEndIndex=t;return}this._binaryTokens.push(this._lastTokenEndIndex),this._binaryTokens.push(o),this._lastTokenEndIndex=t;return}let a=e?.getScopeNames()??[];this._tokens.push({startIndex:this._lastTokenEndIndex,endIndex:t,scopes:a}),this._lastTokenEndIndex=t}getResult(e,t){return this._tokens.length>0&&this._tokens[this._tokens.length-1].startIndex===t-1&&this._tokens.pop(),this._tokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._tokens[this._tokens.length-1].startIndex=0),this._tokens}getBinaryResult(e,t){this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-2]===t-1&&(this._binaryTokens.pop(),this._binaryTokens.pop()),this._binaryTokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._binaryTokens[this._binaryTokens.length-2]=0);let a=new Uint32Array(this._binaryTokens.length);for(let o=0,r=this._binaryTokens.length;o<r;o++)a[o]=this._binaryTokens[o];return a}},Wf=class{constructor(e,t){this._onigLib=t,this._theme=e}_grammars=new Map;_rawGrammars=new Map;_injectionGrammars=new Map;_theme;dispose(){for(let e of this._grammars.values())e.dispose()}setTheme(e){this._theme=e}getColorMap(){return this._theme.getColorMap()}addGrammar(e,t){this._rawGrammars.set(e.scopeName,e),t&&this._injectionGrammars.set(e.scopeName,t)}lookup(e){return this._rawGrammars.get(e)}injections(e){return this._injectionGrammars.get(e)}getDefaults(){return this._theme.getDefaults()}themeMatch(e){return this._theme.match(e)}grammarForScopeName(e,t,a,o,r){if(!this._grammars.has(e)){let n=this._rawGrammars.get(e);if(!n)return null;this._grammars.set(e,Nf(e,n,t,a,o,r,this,this._onigLib))}return this._grammars.get(e)}},ki=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new Wf(ia.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(ia.createFromRawTheme(e,t))}getColorMap(){return this._syncRegistry.getColorMap()}loadGrammarWithEmbeddedLanguages(e,t,a){return this.loadGrammarWithConfiguration(e,t,{embeddedLanguages:a})}loadGrammarWithConfiguration(e,t,a){return this._loadGrammar(e,t,a.embeddedLanguages,a.tokenTypes,new Hf(a.balancedBracketSelectors||[],a.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,a,o,r){let n=new xf(this._syncRegistry,e);for(;n.Q.length>0;)n.Q.map(s=>this._loadSingleGrammar(s.scopeName)),n.processQueue();return this._grammarForScopeName(e,t,a,o,r)}_loadSingleGrammar(e){this._ensureGrammarCache.has(e)||(this._doLoadSingleGrammar(e),this._ensureGrammarCache.set(e,!0))}_doLoadSingleGrammar(e){let t=this._options.loadGrammar(e);if(t){let a=typeof this._options.getInjections=="function"?this._options.getInjections(e):void 0;this._syncRegistry.addGrammar(t,a)}}addGrammar(e,t=[],a=0,o=null){return this._syncRegistry.addGrammar(e,t),this._grammarForScopeName(e.scopeName,a,o)}_grammarForScopeName(e,t=0,a=null,o=null,r=null){return this._syncRegistry.grammarForScopeName(e,t,a,o,r)}},Va=ar.NULL;f();f();f();f();f();f();var Gf=/["&'<>`]/g,jf=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,zf=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,Vf=/[|\\{}()[\]^$+*?.]/g,Ti=new WeakMap;function vi(e,t){if(e=e.replace(t.subset?$f(t.subset):Gf,o),t.subset||t.escapeOnly)return e;return e.replace(jf,a).replace(zf,o);function a(r,n,s){return t.format((r.charCodeAt(0)-55296)*1024+r.charCodeAt(1)-56320+65536,s.charCodeAt(n+2),t)}function o(r,n,s){return t.format(r.charCodeAt(0),s.charCodeAt(n+1),t)}}function $f(e){let t=Ti.get(e);return t||(t=Xf(e),Ti.set(e,t)),t}function Xf(e){let t=[],a=-1;for(;++a<e.length;)t.push(e[a].replace(Vf,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}f();f();var Kf=/[\dA-Fa-f]/;function Pi(e,t,a){let o="&#x"+e.toString(16).toUpperCase();return a&&t&&!Kf.test(String.fromCharCode(t))?o:o+";"}f();var Qf=/\d/;function Ai(e,t,a){let o="&#"+String(e);return a&&t&&!Qf.test(String.fromCharCode(t))?o:o+";"}f();f();var Ri=["AElig","AMP","Aacute","Acirc","Agrave","Aring","Atilde","Auml","COPY","Ccedil","ETH","Eacute","Ecirc","Egrave","Euml","GT","Iacute","Icirc","Igrave","Iuml","LT","Ntilde","Oacute","Ocirc","Ograve","Oslash","Otilde","Ouml","QUOT","REG","THORN","Uacute","Ucirc","Ugrave","Uuml","Yacute","aacute","acirc","acute","aelig","agrave","amp","aring","atilde","auml","brvbar","ccedil","cedil","cent","copy","curren","deg","divide","eacute","ecirc","egrave","eth","euml","frac12","frac14","frac34","gt","iacute","icirc","iexcl","igrave","iquest","iuml","laquo","lt","macr","micro","middot","nbsp","not","ntilde","oacute","ocirc","ograve","ordf","ordm","oslash","otilde","ouml","para","plusmn","pound","quot","raquo","reg","sect","shy","sup1","sup2","sup3","szlig","thorn","times","uacute","ucirc","ugrave","uml","uuml","yacute","yen","yuml"];f();var $a={nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",frac34:"\xBE",iquest:"\xBF",Agrave:"\xC0",Aacute:"\xC1",Acirc:"\xC2",Atilde:"\xC3",Auml:"\xC4",Aring:"\xC5",AElig:"\xC6",Ccedil:"\xC7",Egrave:"\xC8",Eacute:"\xC9",Ecirc:"\xCA",Euml:"\xCB",Igrave:"\xCC",Iacute:"\xCD",Icirc:"\xCE",Iuml:"\xCF",ETH:"\xD0",Ntilde:"\xD1",Ograve:"\xD2",Oacute:"\xD3",Ocirc:"\xD4",Otilde:"\xD5",Ouml:"\xD6",times:"\xD7",Oslash:"\xD8",Ugrave:"\xD9",Uacute:"\xDA",Ucirc:"\xDB",Uuml:"\xDC",Yacute:"\xDD",THORN:"\xDE",szlig:"\xDF",agrave:"\xE0",aacute:"\xE1",acirc:"\xE2",atilde:"\xE3",auml:"\xE4",aring:"\xE5",aelig:"\xE6",ccedil:"\xE7",egrave:"\xE8",eacute:"\xE9",ecirc:"\xEA",euml:"\xEB",igrave:"\xEC",iacute:"\xED",icirc:"\xEE",iuml:"\xEF",eth:"\xF0",ntilde:"\xF1",ograve:"\xF2",oacute:"\xF3",ocirc:"\xF4",otilde:"\xF5",ouml:"\xF6",divide:"\xF7",oslash:"\xF8",ugrave:"\xF9",uacute:"\xFA",ucirc:"\xFB",uuml:"\xFC",yacute:"\xFD",thorn:"\xFE",yuml:"\xFF",fnof:"\u0192",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039A",Lambda:"\u039B",Mu:"\u039C",Nu:"\u039D",Xi:"\u039E",Omicron:"\u039F",Pi:"\u03A0",Rho:"\u03A1",Sigma:"\u03A3",Tau:"\u03A4",Upsilon:"\u03A5",Phi:"\u03A6",Chi:"\u03A7",Psi:"\u03A8",Omega:"\u03A9",alpha:"\u03B1",beta:"\u03B2",gamma:"\u03B3",delta:"\u03B4",epsilon:"\u03B5",zeta:"\u03B6",eta:"\u03B7",theta:"\u03B8",iota:"\u03B9",kappa:"\u03BA",lambda:"\u03BB",mu:"\u03BC",nu:"\u03BD",xi:"\u03BE",omicron:"\u03BF",pi:"\u03C0",rho:"\u03C1",sigmaf:"\u03C2",sigma:"\u03C3",tau:"\u03C4",upsilon:"\u03C5",phi:"\u03C6",chi:"\u03C7",psi:"\u03C8",omega:"\u03C9",thetasym:"\u03D1",upsih:"\u03D2",piv:"\u03D6",bull:"\u2022",hellip:"\u2026",prime:"\u2032",Prime:"\u2033",oline:"\u203E",frasl:"\u2044",weierp:"\u2118",image:"\u2111",real:"\u211C",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21B5",lArr:"\u21D0",uArr:"\u21D1",rArr:"\u21D2",dArr:"\u21D3",hArr:"\u21D4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220B",prod:"\u220F",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221A",prop:"\u221D",infin:"\u221E",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222A",int:"\u222B",there4:"\u2234",sim:"\u223C",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22A5",sdot:"\u22C5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230A",rfloor:"\u230B",lang:"\u2329",rang:"\u232A",loz:"\u25CA",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666",quot:'"',amp:"&",lt:"<",gt:">",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",circ:"\u02C6",tilde:"\u02DC",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",permil:"\u2030",lsaquo:"\u2039",rsaquo:"\u203A",euro:"\u20AC"};f();var Mi=["cent","copy","divide","gt","lt","not","para","times"];var Fi={}.hasOwnProperty,rr={},Xa;for(Xa in $a)Fi.call($a,Xa)&&(rr[$a[Xa]]=Xa);var Jf=/[^\dA-Za-z]/;function Di(e,t,a,o){let r=String.fromCharCode(e);if(Fi.call(rr,r)){let n=rr[r],s="&"+n;return a&&Ri.includes(n)&&!Mi.includes(n)&&(!o||t&&t!==61&&Jf.test(String.fromCharCode(t)))?s:s+";"}return""}function Bi(e,t,a){let o=Pi(e,t,a.omitOptionalSemicolons),r;if((a.useNamedReferences||a.useShortestReferences)&&(r=Di(e,t,a.omitOptionalSemicolons,a.attribute)),(a.useShortestReferences||!r)&&a.useShortestReferences){let n=Ai(e,t,a.omitOptionalSemicolons);n.length<o.length&&(o=n)}return r&&(!a.useShortestReferences||r.length<o.length)?r:o}function Xe(e,t){return vi(e,Object.assign({format:Bi},t))}var Zf=/^>|^->|<!--|-->|--!>|<!-$/g,Yf=[">"],ep=["<",">"];function Ei(e,t,a,o){return o.settings.bogusComments?"<?"+Xe(e.value,Object.assign({},o.settings.characterReferences,{subset:Yf}))+">":"<!--"+e.value.replace(Zf,r)+"-->";function r(n){return Xe(n,Object.assign({},o.settings.characterReferences,{subset:ep}))}}f();function _i(e,t,a,o){return"<!"+(o.settings.upperDoctype?"DOCTYPE":"doctype")+(o.settings.tightDoctype?"":" ")+"html>"}f();f();f();var se=Ni(1),nr=Ni(-1),tp=[];function Ni(e){return t;function t(a,o,r){let n=a?a.children:tp,s=(o||0)+e,i=n[s];if(!r)for(;i&&bt(i);)s+=e,i=n[s];return i}}f();var ap={}.hasOwnProperty;function Ka(e){return t;function t(a,o,r){return ap.call(e,a.tagName)&&e[a.tagName](a,o,r)}}var fa=Ka({body:rp,caption:sr,colgroup:sr,dd:lp,dt:ip,head:sr,html:op,li:sp,optgroup:up,option:dp,p:np,rp:Oi,rt:Oi,tbody:fp,td:Ui,tfoot:pp,th:Ui,thead:cp,tr:mp});function sr(e,t,a){let o=se(a,t,!0);return!o||o.type!=="comment"&&!(o.type==="text"&&bt(o.value.charAt(0)))}function op(e,t,a){let o=se(a,t);return!o||o.type!=="comment"}function rp(e,t,a){let o=se(a,t);return!o||o.type!=="comment"}function np(e,t,a){let o=se(a,t);return o?o.type==="element"&&(o.tagName==="address"||o.tagName==="article"||o.tagName==="aside"||o.tagName==="blockquote"||o.tagName==="details"||o.tagName==="div"||o.tagName==="dl"||o.tagName==="fieldset"||o.tagName==="figcaption"||o.tagName==="figure"||o.tagName==="footer"||o.tagName==="form"||o.tagName==="h1"||o.tagName==="h2"||o.tagName==="h3"||o.tagName==="h4"||o.tagName==="h5"||o.tagName==="h6"||o.tagName==="header"||o.tagName==="hgroup"||o.tagName==="hr"||o.tagName==="main"||o.tagName==="menu"||o.tagName==="nav"||o.tagName==="ol"||o.tagName==="p"||o.tagName==="pre"||o.tagName==="section"||o.tagName==="table"||o.tagName==="ul"):!a||!(a.type==="element"&&(a.tagName==="a"||a.tagName==="audio"||a.tagName==="del"||a.tagName==="ins"||a.tagName==="map"||a.tagName==="noscript"||a.tagName==="video"))}function sp(e,t,a){let o=se(a,t);return!o||o.type==="element"&&o.tagName==="li"}function ip(e,t,a){let o=se(a,t);return!!(o&&o.type==="element"&&(o.tagName==="dt"||o.tagName==="dd"))}function lp(e,t,a){let o=se(a,t);return!o||o.type==="element"&&(o.tagName==="dt"||o.tagName==="dd")}function Oi(e,t,a){let o=se(a,t);return!o||o.type==="element"&&(o.tagName==="rp"||o.tagName==="rt")}function up(e,t,a){let o=se(a,t);return!o||o.type==="element"&&o.tagName==="optgroup"}function dp(e,t,a){let o=se(a,t);return!o||o.type==="element"&&(o.tagName==="option"||o.tagName==="optgroup")}function cp(e,t,a){let o=se(a,t);return!!(o&&o.type==="element"&&(o.tagName==="tbody"||o.tagName==="tfoot"))}function fp(e,t,a){let o=se(a,t);return!o||o.type==="element"&&(o.tagName==="tbody"||o.tagName==="tfoot")}function pp(e,t,a){return!se(a,t)}function mp(e,t,a){let o=se(a,t);return!o||o.type==="element"&&o.tagName==="tr"}function Ui(e,t,a){let o=se(a,t);return!o||o.type==="element"&&(o.tagName==="td"||o.tagName==="th")}f();var Hi=Ka({body:wp,colgroup:xp,head:gp,html:hp,tbody:Lp});function hp(e){let t=se(e,-1);return!t||t.type!=="comment"}function gp(e){let t=new Set;for(let o of e.children)if(o.type==="element"&&(o.tagName==="base"||o.tagName==="title")){if(t.has(o.tagName))return!1;t.add(o.tagName)}let a=e.children[0];return!a||a.type==="element"}function wp(e){let t=se(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&bt(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function xp(e,t,a){let o=nr(a,t),r=se(e,-1,!0);return a&&o&&o.type==="element"&&o.tagName==="colgroup"&&fa(o,a.children.indexOf(o),a)?!1:!!(r&&r.type==="element"&&r.tagName==="col")}function Lp(e,t,a){let o=nr(a,t),r=se(e,-1);return a&&o&&o.type==="element"&&(o.tagName==="thead"||o.tagName==="tbody")&&fa(o,a.children.indexOf(o),a)?!1:!!(r&&r.type==="element"&&r.tagName==="tr")}var Qa={name:[[`
71
71
  \f\r &/=>`.split(""),`
72
72
  \f\r "&'/=>\``.split("")],[`\0
73
73
  \f\r "&'/<=>`.split(""),`\0
@@ -75,11 +75,11 @@ import{a as qr,b as Wr,c as Gr,d as wt,e as xt,f as ga,g as jr,h as zr,i as Vr,j
75
75
  \f\r &>`.split(""),`\0
76
76
  \f\r "&'<=>\``.split("")],[`\0
77
77
  \f\r "&'<=>\``.split(""),`\0
78
- \f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function Si(e,t,a,o){let r=o.schema,s=r.space==="svg"?!1:o.settings.omitOptionalTags,n=r.space==="svg"?o.settings.closeEmptyElements:o.settings.voids.includes(e.tagName.toLowerCase()),i=[],l;r.space==="html"&&e.tagName==="svg"&&(o.schema=wa);let u=qf(o,e.properties),c=o.all(r.space==="html"&&e.tagName==="template"?e.content:e);return o.schema=r,c&&(n=!1),(u||!s||!Ii(e,t,a))&&(i.push("<",e.tagName,u?" "+u:""),n&&(r.space==="svg"||o.settings.closeSelfClosing)&&(l=u.charAt(u.length-1),(!o.settings.tightSelfClosing||l==="/"||l&&l!=='"'&&l!=="'")&&i.push(" "),i.push("/")),i.push(">")),i.push(c),!n&&(!s||!sa(e,t,a))&&i.push("</"+e.tagName+">"),i.join("")}function qf(e,t){let a=[],o=-1,r;if(t){for(r in t)if(t[r]!==null&&t[r]!==void 0){let s=Wf(e,r,t[r]);s&&a.push(s)}}for(;++o<a.length;){let s=e.settings.tightAttributes?a[o].charAt(a[o].length-1):void 0;o!==a.length-1&&s!=='"'&&s!=="'"&&(a[o]+=" ")}return a.join("")}function Wf(e,t,a){let o=Vr(e.schema,t),r=e.settings.allowParseErrors&&e.schema.space==="html"?0:1,s=e.settings.allowDangerousCharacters?0:1,n=e.quote,i;if(o.overloadedBoolean&&(a===o.attribute||a==="")?a=!0:(o.boolean||o.overloadedBoolean)&&(typeof a!="string"||a===o.attribute||a==="")&&(a=!!a),a==null||a===!1||typeof a=="number"&&Number.isNaN(a))return"";let l=Ve(o.attribute,Object.assign({},e.settings.characterReferences,{subset:Ga.name[r][s]}));return a===!0||(a=Array.isArray(a)?(o.commaSeparated?Kr:Qr)(a,{padLeft:!e.settings.tightCommaSeparatedLists}):String(a),e.settings.collapseEmptyAttributes&&!a)?l:(e.settings.preferUnquoted&&(i=Ve(a,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:Ga.unquoted[r][s]}))),i!==a&&(e.settings.quoteSmart&&go(a,n)>go(a,e.alternative)&&(n=e.alternative),i=n+Ve(a,Object.assign({},e.settings.characterReferences,{subset:(n==="'"?Ga.single:Ga.double)[r][s],attribute:!0}))+n),l+(i&&"="+i))}f();f();var Gf=["<","&"];function ja(e,t,a,o){return a&&a.type==="element"&&(a.tagName==="script"||a.tagName==="style")?e.value:Ve(e.value,Object.assign({},o.settings.characterReferences,{subset:Gf}))}function yi(e,t,a,o){return o.settings.allowDangerousHtml?e.value:ja(e,t,a,o)}f();function bi(e,t,a,o){return o.all(e)}var ki=Xr("type",{invalid:jf,unknown:zf,handlers:{comment:gi,doctype:wi,element:Si,raw:yi,root:bi,text:ja}});function jf(e){throw new Error("Expected node, not `"+e+"`")}function zf(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var Vf={},$f={},Xf=[];function Ko(e,t){let a=t||Vf,o=a.quote||'"',r=o==='"'?"'":'"';if(o!=='"'&&o!=="'")throw new Error("Invalid quote `"+o+"`, expected `'` or `\"`");return{one:Kf,all:Qf,settings:{omitOptionalTags:a.omitOptionalTags||!1,allowParseErrors:a.allowParseErrors||!1,allowDangerousCharacters:a.allowDangerousCharacters||!1,quoteSmart:a.quoteSmart||!1,preferUnquoted:a.preferUnquoted||!1,tightAttributes:a.tightAttributes||!1,upperDoctype:a.upperDoctype||!1,tightDoctype:a.tightDoctype||!1,bogusComments:a.bogusComments||!1,tightCommaSeparatedLists:a.tightCommaSeparatedLists||!1,tightSelfClosing:a.tightSelfClosing||!1,collapseEmptyAttributes:a.collapseEmptyAttributes||!1,allowDangerousHtml:a.allowDangerousHtml||!1,voids:a.voids||zr,characterReferences:a.characterReferences||$f,closeSelfClosing:a.closeSelfClosing||!1,closeEmptyElements:a.closeEmptyElements||!1},schema:a.space==="svg"?wa:$r,quote:o,alternative:r}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function Kf(e,t,a){return ki(e,t,a,this)}function Qf(e){let t=[],a=e&&e.children||Xf,o=-1;for(;++o<a.length;)t[o]=this.one(a[o],o,e);return t.join("")}function za(e,t){let a=typeof e=="string"?{}:{...e.colorReplacements},o=typeof e=="string"?e:e.name;for(let[r,s]of Object.entries(t?.colorReplacements||{}))typeof s=="string"?a[r]=s:r===o&&Object.assign(a,s);return a}function Ye(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function Jf(e){return Array.isArray(e)?e:[e]}async function Fi(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function tr(e){return!e||["plaintext","txt","text","plain"].includes(e)}function Di(e){return e==="ansi"||tr(e)}function ar(e){return e==="none"}function Bi(e){return ar(e)}function Ei(e,t){if(!t)return e;e.properties||={},e.properties.class||=[],typeof e.properties.class=="string"&&(e.properties.class=e.properties.class.split(/\s+/g)),Array.isArray(e.properties.class)||(e.properties.class=[]);let a=Array.isArray(t)?t:t.split(/\s+/g);for(let o of a)o&&!e.properties.class.includes(o)&&e.properties.class.push(o);return e}function Qa(e,t=!1){if(e.length===0)return[["",0]];let a=e.split(/(\r?\n)/g),o=0,r=[];for(let s=0;s<a.length;s+=2){let n=t?a[s]+(a[s+1]||""):a[s];r.push([n,o]),o+=a[s].length,o+=a[s+1]?.length||0}return r}function Zf(e){let t=Qa(e,!0).map(([r])=>r);function a(r){if(r===e.length)return{line:t.length-1,character:t[t.length-1].length};let s=r,n=0;for(let i of t){if(s<i.length)break;s-=i.length,n++}return{line:n,character:s}}function o(r,s){let n=0;for(let i=0;i<r;i++)n+=t[i].length;return n+=s,n}return{lines:t,indexToPos:a,posToIndex:o}}function _i(e,t,a){let o=new Set;for(let s of e.matchAll(/:?lang=["']([^"']+)["']/g)){let n=s[1].toLowerCase().trim();n&&o.add(n)}for(let s of e.matchAll(/(?:```|~~~)([\w-]+)/g)){let n=s[1].toLowerCase().trim();n&&o.add(n)}for(let s of e.matchAll(/\\begin\{([\w-]+)\}/g)){let n=s[1].toLowerCase().trim();n&&o.add(n)}for(let s of e.matchAll(/<script\s+(?:type|lang)=["']([^"']+)["']/gi)){let n=s[1].toLowerCase().trim(),i=n.includes("/")?n.split("/").pop():n;i&&o.add(i)}if(!a)return Array.from(o);let r=a.getBundledLanguages();return Array.from(o).filter(s=>s&&r[s])}var or="light-dark()",Yf=["color","background-color"];function ep(e,t){let a=0,o=[];for(let r of t)r>a&&o.push({...e,content:e.content.slice(a,r),offset:e.offset+a}),a=r;return a<e.content.length&&o.push({...e,content:e.content.slice(a),offset:e.offset+a}),o}function tp(e,t){let a=Array.from(t instanceof Set?t:new Set(t)).sort((o,r)=>o-r);return a.length?e.map(o=>o.flatMap(r=>{let s=a.filter(n=>r.offset<n&&n<r.offset+r.content.length).map(n=>n-r.offset).sort((n,i)=>n-i);return s.length?ep(r,s):r})):e}function ap(e,t,a,o,r="css-vars"){let s={content:e.content,explanation:e.explanation,offset:e.offset},n=t.map(c=>Va(e.variants[c])),i=new Set(n.flatMap(c=>Object.keys(c))),l={},u=(c,d)=>{let p=d==="color"?"":d==="background-color"?"-bg":`-${d}`;return a+t[c]+(d==="color"?"":p)};return n.forEach((c,d)=>{for(let p of i){let m=c[p]||"inherit";if(d===0&&o&&Yf.includes(p))if(o===or&&n.length>1){let h=t.findIndex(C=>C==="light"),I=t.findIndex(C=>C==="dark");if(h===-1||I===-1)throw new Y('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let L=n[h][p]||"inherit",S=n[I][p]||"inherit";l[p]=`light-dark(${L}, ${S})`,r==="css-vars"&&(l[u(d,p)]=m)}else l[p]=m;else r==="css-vars"&&(l[u(d,p)]=m)}}),s.htmlStyle=l,s}function Va(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t["background-color"]=e.bgColor),e.fontStyle){e.fontStyle&me.Italic&&(t["font-style"]="italic"),e.fontStyle&me.Bold&&(t["font-weight"]="bold");let a=[];e.fontStyle&me.Underline&&a.push("underline"),e.fontStyle&me.Strikethrough&&a.push("line-through"),a.length&&(t["text-decoration"]=a.join(" "))}return t}function Zo(e){return typeof e=="string"?e:Object.entries(e).map(([t,a])=>`${t}:${a}`).join(";")}var Ni=new WeakMap;function Ja(e,t){Ni.set(e,t)}function ia(e){return Ni.get(e)}var bt=class e{_stacks={};lang;get themes(){return Object.keys(this._stacks)}get theme(){return this.themes[0]}get _stack(){return this._stacks[this.theme]}static initial(t,a){return new e(Object.fromEntries(Jf(a).map(o=>[o,Oa])),t)}constructor(...t){if(t.length===2){let[a,o]=t;this.lang=o,this._stacks=a}else{let[a,o,r]=t;this.lang=o,this._stacks={[r]:a}}}getInternalStack(t=this.theme){return this._stacks[t]}getScopes(t=this.theme){return op(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function op(e){let t=[],a=new Set;function o(r){if(a.has(r))return;a.add(r);let s=r?.nameScopesList?.scopeName;s&&t.push(s),r.parent&&o(r.parent)}return o(e),t}function rp(e,t){if(!(e instanceof bt))throw new Y("Invalid grammar state");return e.getInternalStack(t)}function sp(){let e=new WeakMap;function t(a){if(!e.has(a.meta)){let o=function(n){if(typeof n=="number"){if(n<0||n>a.source.length)throw new Y(`Invalid decoration offset: ${n}. Code length: ${a.source.length}`);return{...r.indexToPos(n),offset:n}}else{let i=r.lines[n.line];if(i===void 0)throw new Y(`Invalid decoration position ${JSON.stringify(n)}. Lines length: ${r.lines.length}`);let l=n.character;if(l<0&&(l=i.length+l),l<0||l>i.length)throw new Y(`Invalid decoration position ${JSON.stringify(n)}. Line ${n.line} length: ${i.length}`);return{...n,character:l,offset:r.posToIndex(n.line,l)}}},r=Zf(a.source),s=(a.options.decorations||[]).map(n=>({...n,start:o(n.start),end:o(n.end)}));np(s),e.set(a.meta,{decorations:s,converter:r,source:a.source})}return e.get(a.meta)}return{name:"shiki:decorations",tokens(a){if(!this.options.decorations?.length)return;let r=t(this).decorations.flatMap(n=>[n.start.offset,n.end.offset]);return tp(a,r)},code(a){if(!this.options.decorations?.length)return;let o=t(this),r=Array.from(a.children).filter(c=>c.type==="element"&&c.tagName==="span");if(r.length!==o.converter.lines.length)throw new Y(`Number of lines in code element (${r.length}) does not match the number of lines in the source (${o.converter.lines.length}). Failed to apply decorations.`);function s(c,d,p,m){let h=r[c],I="",L=-1,S=-1;if(d===0&&(L=0),p===0&&(S=0),p===Number.POSITIVE_INFINITY&&(S=h.children.length),L===-1||S===-1)for(let g=0;g<h.children.length;g++)I+=Ui(h.children[g]),L===-1&&I.length===d&&(L=g+1),S===-1&&I.length===p&&(S=g+1);if(L===-1)throw new Y(`Failed to find start index for decoration ${JSON.stringify(m.start)}`);if(S===-1)throw new Y(`Failed to find end index for decoration ${JSON.stringify(m.end)}`);let C=h.children.slice(L,S);if(!m.alwaysWrap&&C.length===h.children.length)i(h,m,"line");else if(!m.alwaysWrap&&C.length===1&&C[0].type==="element")i(C[0],m,"token");else{let g={type:"element",tagName:"span",properties:{},children:C};i(g,m,"wrapper"),h.children.splice(L,C.length,g)}}function n(c,d){r[c]=i(r[c],d,"line")}function i(c,d,p){let m=d.properties||{},h=d.transform||(I=>I);return c.tagName=d.tagName||"span",c.properties={...c.properties,...m,class:c.properties.class},d.properties?.class&&Ei(c,d.properties.class),c=h(c,p)||c,c}let l=[],u=o.decorations.sort((c,d)=>d.start.offset-c.start.offset||c.end.offset-d.end.offset);for(let c of u){let{start:d,end:p}=c;if(d.line===p.line)s(d.line,d.character,p.character,c);else if(d.line<p.line){s(d.line,d.character,Number.POSITIVE_INFINITY,c);for(let m=d.line+1;m<p.line;m++)l.unshift(()=>n(m,c));s(p.line,0,p.character,c)}}l.forEach(c=>c())}}}function np(e){for(let t=0;t<e.length;t++){let a=e[t];if(a.start.offset>a.end.offset)throw new Y(`Invalid decoration range: ${JSON.stringify(a.start)} - ${JSON.stringify(a.end)}`);for(let o=t+1;o<e.length;o++){let r=e[o],s=a.start.offset<=r.start.offset&&r.start.offset<a.end.offset,n=a.start.offset<r.end.offset&&r.end.offset<=a.end.offset,i=r.start.offset<=a.start.offset&&a.start.offset<r.end.offset,l=r.start.offset<a.end.offset&&a.end.offset<=r.end.offset;if(s||n||i||l){if(s&&n||i&&l||i&&a.start.offset===a.end.offset||n&&r.start.offset===r.end.offset)continue;throw new Y(`Decorations ${JSON.stringify(a.start)} and ${JSON.stringify(r.start)} intersect.`)}}}}function Ui(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(Ui).join(""):""}var ip=[sp()];function $a(e){let t=lp(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...ip]}function lp(e){let t=[],a=[],o=[];for(let r of e)switch(r.enforce){case"pre":t.push(r);break;case"post":a.push(r);break;default:o.push(r)}return{pre:t,post:a,normal:o}}var ut=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],Qo={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function up(e,t){let a=e.indexOf("\x1B",t);if(a!==-1&&e[a+1]==="["){let o=e.indexOf("m",a);if(o!==-1)return{sequence:e.substring(a+2,o).split(";"),startPosition:a,position:o+1}}return{position:e.length}}function Ti(e){let t=e.shift();if(t==="2"){let a=e.splice(0,3).map(o=>Number.parseInt(o));return a.length!==3||a.some(o=>Number.isNaN(o))?void 0:{type:"rgb",rgb:a}}else if(t==="5"){let a=e.shift();if(a)return{type:"table",index:Number(a)}}}function dp(e){let t=[];for(;e.length>0;){let a=e.shift();if(!a)continue;let o=Number.parseInt(a);if(!Number.isNaN(o))if(o===0)t.push({type:"resetAll"});else if(o<=9)Qo[o]&&t.push({type:"setDecoration",value:Qo[o]});else if(o<=29){let r=Qo[o-20];r&&(t.push({type:"resetDecoration",value:r}),r==="dim"&&t.push({type:"resetDecoration",value:"bold"}))}else if(o<=37)t.push({type:"setForegroundColor",value:{type:"named",name:ut[o-30]}});else if(o===38){let r=Ti(e);r&&t.push({type:"setForegroundColor",value:r})}else if(o===39)t.push({type:"resetForegroundColor"});else if(o<=47)t.push({type:"setBackgroundColor",value:{type:"named",name:ut[o-40]}});else if(o===48){let r=Ti(e);r&&t.push({type:"setBackgroundColor",value:r})}else o===49?t.push({type:"resetBackgroundColor"}):o===53?t.push({type:"setDecoration",value:"overline"}):o===55?t.push({type:"resetDecoration",value:"overline"}):o>=90&&o<=97?t.push({type:"setForegroundColor",value:{type:"named",name:ut[o-90+8]}}):o>=100&&o<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:ut[o-100+8]}})}return t}function cp(){let e=null,t=null,a=new Set;return{parse(o){let r=[],s=0;do{let n=up(o,s),i=n.sequence?o.substring(s,n.startPosition):o.substring(s);if(i.length>0&&r.push({value:i,foreground:e,background:t,decorations:new Set(a)}),n.sequence){let l=dp(n.sequence);for(let u of l)u.type==="resetAll"?(e=null,t=null,a.clear()):u.type==="resetForegroundColor"?e=null:u.type==="resetBackgroundColor"?t=null:u.type==="resetDecoration"&&a.delete(u.value);for(let u of l)u.type==="setForegroundColor"?e=u.value:u.type==="setBackgroundColor"?t=u.value:u.type==="setDecoration"&&a.add(u.value)}s=n.position}while(s<o.length);return r}}}var fp={black:"#000000",red:"#bb0000",green:"#00bb00",yellow:"#bbbb00",blue:"#0000bb",magenta:"#ff00ff",cyan:"#00bbbb",white:"#eeeeee",brightBlack:"#555555",brightRed:"#ff5555",brightGreen:"#00ff00",brightYellow:"#ffff55",brightBlue:"#5555ff",brightMagenta:"#ff55ff",brightCyan:"#55ffff",brightWhite:"#ffffff"};function pp(e=fp){function t(i){return e[i]}function a(i){return`#${i.map(l=>Math.max(0,Math.min(l,255)).toString(16).padStart(2,"0")).join("")}`}let o;function r(){if(o)return o;o=[];for(let u=0;u<ut.length;u++)o.push(t(ut[u]));let i=[0,95,135,175,215,255];for(let u=0;u<6;u++)for(let c=0;c<6;c++)for(let d=0;d<6;d++)o.push(a([i[u],i[c],i[d]]));let l=8;for(let u=0;u<24;u++,l+=10)o.push(a([l,l,l]));return o}function s(i){return r()[i]}function n(i){switch(i.type){case"named":return t(i.name);case"rgb":return a(i.rgb);case"table":return s(i.index)}}return{value:n}}var mp={black:"#000000",red:"#cd3131",green:"#0DBC79",yellow:"#E5E510",blue:"#2472C8",magenta:"#BC3FBC",cyan:"#11A8CD",white:"#E5E5E5",brightBlack:"#666666",brightRed:"#F14C4C",brightGreen:"#23D18B",brightYellow:"#F5F543",brightBlue:"#3B8EEA",brightMagenta:"#D670D6",brightCyan:"#29B8DB",brightWhite:"#FFFFFF"};function hp(e,t,a){let o=za(e,a),r=Qa(t),s=Object.fromEntries(ut.map(l=>{let u=`terminal.ansi${l[0].toUpperCase()}${l.substring(1)}`,c=e.colors?.[u];return[l,c||mp[l]]})),n=pp(s),i=cp();return r.map(l=>i.parse(l[0]).map(u=>{let c,d;u.decorations.has("reverse")?(c=u.background?n.value(u.background):e.bg,d=u.foreground?n.value(u.foreground):e.fg):(c=u.foreground?n.value(u.foreground):e.fg,d=u.background?n.value(u.background):void 0),c=Ye(c,o),d=Ye(d,o),u.decorations.has("dim")&&(c=gp(c));let p=me.None;return u.decorations.has("bold")&&(p|=me.Bold),u.decorations.has("italic")&&(p|=me.Italic),u.decorations.has("underline")&&(p|=me.Underline),u.decorations.has("strikethrough")&&(p|=me.Strikethrough),{content:u.value,offset:l[1],color:c,bgColor:d,fontStyle:p}}))}function gp(e){let t=e.match(/#([0-9a-f]{3,8})/i);if(t){let o=t[1];if(o.length===8){let r=Math.round(Number.parseInt(o.slice(6,8),16)/2).toString(16).padStart(2,"0");return`#${o.slice(0,6)}${r}`}else{if(o.length===6)return`#${o}80`;if(o.length===4){let r=o[0],s=o[1],n=o[2],i=o[3],l=Math.round(Number.parseInt(`${i}${i}`,16)/2).toString(16).padStart(2,"0");return`#${r}${r}${s}${s}${n}${n}${l}`}else if(o.length===3){let r=o[0],s=o[1],n=o[2];return`#${r}${r}${s}${s}${n}${n}80`}}}let a=e.match(/var\((--[\w-]+-ansi-[\w-]+)\)/);return a?`var(${a[1]}-dim)`:e}function rr(e,t,a={}){let{theme:o=e.getLoadedThemes()[0]}=a,r=e.resolveLangAlias(a.lang||"text");if(tr(r)||ar(o))return Qa(t).map(l=>[{content:l[0],offset:l[1]}]);let{theme:s,colorMap:n}=e.setTheme(o);if(r==="ansi")return hp(s,t,a);let i=e.getLanguage(a.lang||"text");if(a.grammarState){if(a.grammarState.lang!==i.name)throw new Y(`Grammar state language "${a.grammarState.lang}" does not match highlight language "${i.name}"`);if(!a.grammarState.themes.includes(s.name))throw new Y(`Grammar state themes "${a.grammarState.themes}" do not contain highlight theme "${s.name}"`)}return xp(t,i,s,n,a)}function wp(...e){if(e.length===2)return ia(e[1]);let[t,a,o={}]=e,{lang:r="text",theme:s=t.getLoadedThemes()[0]}=o;if(tr(r)||ar(s))throw new Y("Plain language does not have grammar state");if(r==="ansi")throw new Y("ANSI language does not have grammar state");let{theme:n,colorMap:i}=t.setTheme(s),l=t.getLanguage(r);return new bt(sr(a,l,n,i,o).stateStack,l.name,n.name)}function xp(e,t,a,o,r){let s=sr(e,t,a,o,r),n=new bt(s.stateStack,t.name,a.name);return Ja(s.tokens,n),s.tokens}function sr(e,t,a,o,r){let s=za(a,r),{tokenizeMaxLineLength:n=0,tokenizeTimeLimit:i=500}=r,l=Qa(e),u=r.grammarState?rp(r.grammarState,a.name)??Oa:r.grammarContextCode!=null?sr(r.grammarContextCode,t,a,o,{...r,grammarState:void 0,grammarContextCode:void 0}).stateStack:Oa,c=[],d=[];for(let p=0,m=l.length;p<m;p++){let[h,I]=l[p];if(h===""){c=[],d.push([]);continue}if(n>0&&h.length>=n){c=[],d.push([{content:h,offset:I,color:"",fontStyle:0}]);continue}let L,S,C;r.includeExplanation&&(L=t.tokenizeLine(h,u,i),S=L.tokens,C=0);let g=t.tokenizeLine2(h,u,i),b=g.tokens.length/2;for(let v=0;v<b;v++){let P=g.tokens[2*v],A=v+1<b?g.tokens[2*v+2]:h.length;if(P===A)continue;let R=g.tokens[2*v+1],_=Ye(o[lt.getForeground(R)],s),M=lt.getFontStyle(R),T={content:h.substring(P,A),offset:I+P,color:_,fontStyle:M};if(r.includeExplanation){let y=[];if(r.includeExplanation!=="scopeName")for(let H of a.settings){let F;switch(typeof H.scope){case"string":F=H.scope.split(/,/).map(J=>J.trim());break;case"object":F=H.scope;break;default:continue}y.push({settings:H,selectors:F.map(J=>J.split(/ /))})}T.explanation=[];let D=0;for(;P+D<A;){let H=S[C],F=h.substring(H.startIndex,H.endIndex);D+=F.length,T.explanation.push({content:F,scopes:r.includeExplanation==="scopeName"?Lp(H.scopes):Cp(y,H.scopes)}),C+=1}}c.push(T)}d.push(c),c=[],u=g.ruleStack}return{tokens:d,stateStack:u}}function Lp(e){return e.map(t=>({scopeName:t}))}function Cp(e,t){let a=[];for(let o=0,r=t.length;o<r;o++){let s=t[o];a[o]={scopeName:s,themeMatches:Sp(e,s,t.slice(0,o))}}return a}function vi(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function Ip(e,t,a){if(!vi(e[e.length-1],t))return!1;let o=e.length-2,r=a.length-1;for(;o>=0&&r>=0;)vi(e[o],a[r])&&(o-=1),r-=1;return o===-1}function Sp(e,t,a){let o=[];for(let{selectors:r,settings:s}of e)for(let n of r)if(Ip(n,t,a)){o.push(s);break}return o}function Oi(e,t,a){let o=Object.entries(a.themes).filter(l=>l[1]).map(l=>({color:l[0],theme:l[1]})),r=o.map(l=>{let u=rr(e,t,{...a,theme:l.theme}),c=ia(u),d=typeof l.theme=="string"?l.theme:l.theme.name;return{tokens:u,state:c,theme:d}}),s=yp(...r.map(l=>l.tokens)),n=s[0].map((l,u)=>l.map((c,d)=>{let p={content:c.content,variants:{},offset:c.offset};return"includeExplanation"in a&&a.includeExplanation&&(p.explanation=c.explanation),s.forEach((m,h)=>{let{content:I,explanation:L,offset:S,...C}=m[u][d];p.variants[o[h].color]=C}),p})),i=r[0].state?new bt(Object.fromEntries(r.map(l=>[l.theme,l.state?.getInternalStack(l.theme)])),r[0].state.lang):void 0;return i&&Ja(n,i),n}function yp(...e){let t=e.map(()=>[]),a=e.length;for(let o=0;o<e[0].length;o++){let r=e.map(l=>l[o]),s=t.map(()=>[]);t.forEach((l,u)=>l.push(s[u]));let n=r.map(()=>0),i=r.map(l=>l[0]);for(;i.every(l=>l);){let l=Math.min(...i.map(u=>u.content.length));for(let u=0;u<a;u++){let c=i[u];c.content.length===l?(s[u].push(c),n[u]+=1,i[u]=r[u][n[u]]):(s[u].push({...c,content:c.content.slice(0,l)}),i[u]={...c,content:c.content.slice(l),offset:c.offset+l})}}}return t}function Xa(e,t,a){let o,r,s,n,i,l;if("themes"in a){let{defaultColor:u="light",cssVariablePrefix:c="--shiki-",colorsRendering:d="css-vars"}=a,p=Object.entries(a.themes).filter(S=>S[1]).map(S=>({color:S[0],theme:S[1]})).sort((S,C)=>S.color===u?-1:C.color===u?1:0);if(p.length===0)throw new Y("`themes` option must not be empty");let m=Oi(e,t,a);if(l=ia(m),u&&or!==u&&!p.find(S=>S.color===u))throw new Y(`\`themes\` option must contain the defaultColor key \`${u}\``);let h=p.map(S=>e.getTheme(S.theme)),I=p.map(S=>S.color);s=m.map(S=>S.map(C=>ap(C,I,c,u,d))),l&&Ja(s,l);let L=p.map(S=>za(S.theme,a));r=Pi(p,h,L,c,u,"fg",d),o=Pi(p,h,L,c,u,"bg",d),n=`shiki-themes ${h.map(S=>S.name).join(" ")}`,i=u?void 0:[r,o].join(";")}else if("theme"in a){let u=za(a.theme,a);s=rr(e,t,a);let c=e.getTheme(a.theme);o=Ye(c.bg,u),r=Ye(c.fg,u),n=c.name,l=ia(s)}else throw new Y("Invalid options, either `theme` or `themes` must be provided");return{tokens:s,fg:r,bg:o,themeName:n,rootStyle:i,grammarState:l}}function Pi(e,t,a,o,r,s,n){return e.map((i,l)=>{let u=Ye(t[l][s],a[l])||"inherit",c=`${o+i.color}${s==="bg"?"-bg":""}:${u}`;if(l===0&&r){if(r===or&&e.length>1){let d=e.findIndex(I=>I.color==="light"),p=e.findIndex(I=>I.color==="dark");if(d===-1||p===-1)throw new Y('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let m=Ye(t[d][s],a[d])||"inherit",h=Ye(t[p][s],a[p])||"inherit";return`light-dark(${m}, ${h});${c}`}return u}return n==="css-vars"?c:null}).filter(i=>!!i).join(";")}function Ka(e,t,a,o={meta:{},options:a,codeToHast:(r,s)=>Ka(e,r,s),codeToTokens:(r,s)=>Xa(e,r,s)}){let r=t;for(let h of $a(a))r=h.preprocess?.call(o,r,a)||r;let{tokens:s,fg:n,bg:i,themeName:l,rootStyle:u,grammarState:c}=Xa(e,r,a),{mergeWhitespaces:d=!0,mergeSameStyleTokens:p=!1}=a;d===!0?s=kp(s):d==="never"&&(s=Tp(s)),p&&(s=vp(s));let m={...o,get source(){return r}};for(let h of $a(a))s=h.tokens?.call(m,s)||s;return bp(s,{...a,fg:n,bg:i,themeName:l,rootStyle:a.rootStyle===!1?!1:a.rootStyle??u},m,c)}function bp(e,t,a,o=ia(e)){let r=$a(t),s=[],n={type:"root",children:[]},{structure:i="classic",tabindex:l="0"}=t,u={class:`shiki ${t.themeName||""}`};t.rootStyle!==!1&&(t.rootStyle!=null?u.style=t.rootStyle:u.style=`background-color:${t.bg};color:${t.fg}`),l!==!1&&l!=null&&(u.tabindex=l.toString());for(let[I,L]of Object.entries(t.meta||{}))I.startsWith("_")||(u[I]=L);let c={type:"element",tagName:"pre",properties:u,children:[],data:t.data},d={type:"element",tagName:"code",properties:{},children:s},p=[],m={...a,structure:i,addClassToHast:Ei,get source(){return a.source},get tokens(){return e},get options(){return t},get root(){return n},get pre(){return c},get code(){return d},get lines(){return p}};if(e.forEach((I,L)=>{L&&(i==="inline"?n.children.push({type:"element",tagName:"br",properties:{},children:[]}):i==="classic"&&s.push({type:"text",value:`
79
- `}));let S={type:"element",tagName:"span",properties:{class:"line"},children:[]},C=0;for(let g of I){let b={type:"element",tagName:"span",properties:{...g.htmlAttrs},children:[{type:"text",value:g.content}]},v=Zo(g.htmlStyle||Va(g));v&&(b.properties.style=v);for(let P of r)b=P?.span?.call(m,b,L+1,C,S,g)||b;i==="inline"?n.children.push(b):i==="classic"&&S.children.push(b),C+=g.content.length}if(i==="classic"){for(let g of r)S=g?.line?.call(m,S,L+1)||S;p.push(S),s.push(S)}else i==="inline"&&p.push(S)}),i==="classic"){for(let I of r)d=I?.code?.call(m,d)||d;c.children.push(d);for(let I of r)c=I?.pre?.call(m,c)||c;n.children.push(c)}else if(i==="inline"){let I=[],L={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(let g of n.children)g.type==="element"&&g.tagName==="br"?(I.push(L),L={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(g.type==="element"||g.type==="text")&&L.children.push(g);I.push(L);let C={type:"element",tagName:"code",properties:{},children:I};for(let g of r)C=g?.code?.call(m,C)||C;n.children=[];for(let g=0;g<C.children.length;g++){g>0&&n.children.push({type:"element",tagName:"br",properties:{},children:[]});let b=C.children[g];b.type==="element"&&n.children.push(...b.children)}}let h=n;for(let I of r)h=I?.root?.call(m,h)||h;return o&&Ja(h,o),h}function kp(e){return e.map(t=>{let a=[],o="",r;return t.forEach((s,n)=>{let l=!(s.fontStyle&&(s.fontStyle&me.Underline||s.fontStyle&me.Strikethrough));l&&s.content.match(/^\s+$/)&&t[n+1]?(r===void 0&&(r=s.offset),o+=s.content):o?(l?a.push({...s,offset:r,content:o+s.content}):a.push({content:o,offset:r},s),r=void 0,o=""):a.push(s)}),a})}function Tp(e){return e.map(t=>t.flatMap(a=>{if(a.content.match(/^\s+$/))return a;let o=a.content.match(/^(\s*)(.*?)(\s*)$/);if(!o)return a;let[,r,s,n]=o;if(!r&&!n)return a;let i=[{...a,offset:a.offset+r.length,content:s}];return r&&i.unshift({content:r,offset:a.offset}),n&&i.push({content:n,offset:a.offset+r.length+s.length}),i}))}function vp(e){return e.map(t=>{let a=[];for(let o of t){if(a.length===0){a.push({...o});continue}let r=a[a.length-1],s=Zo(r.htmlStyle||Va(r)),n=Zo(o.htmlStyle||Va(o)),i=r.fontStyle&&(r.fontStyle&me.Underline||r.fontStyle&me.Strikethrough),l=o.fontStyle&&(o.fontStyle&me.Underline||o.fontStyle&me.Strikethrough);!i&&!l&&s===n?r.content+=o.content:a.push({...o})}return a})}var Pp=Ko;function Ap(e,t,a){let o={meta:{},options:a,codeToHast:(s,n)=>Ka(e,s,n),codeToTokens:(s,n)=>Xa(e,s,n)},r=Pp(Ka(e,t,a,o));for(let s of $a(a))r=s.postprocess?.call(o,r,a)||r;return r}var Ai={light:"#333333",dark:"#bbbbbb"},Ri={light:"#fffffe",dark:"#1e1e1e"},Mi="__shiki_resolved";function nr(e){if(e?.[Mi])return e;let t={...e};t.tokenColors&&!t.settings&&(t.settings=t.tokenColors,delete t.tokenColors),t.type||="dark",t.colorReplacements={...t.colorReplacements},t.settings||=[];let{bg:a,fg:o}=t;if(!a||!o){let i=t.settings?t.settings.find(l=>!l.name&&!l.scope):void 0;i?.settings?.foreground&&(o=i.settings.foreground),i?.settings?.background&&(a=i.settings.background),!o&&t?.colors?.["editor.foreground"]&&(o=t.colors["editor.foreground"]),!a&&t?.colors?.["editor.background"]&&(a=t.colors["editor.background"]),o||(o=t.type==="light"?Ai.light:Ai.dark),a||(a=t.type==="light"?Ri.light:Ri.dark),t.fg=o,t.bg=a}t.settings[0]&&t.settings[0].settings&&!t.settings[0].scope||t.settings.unshift({settings:{foreground:t.fg,background:t.bg}});let r=0,s=new Map;function n(i){if(s.has(i))return s.get(i);r+=1;let l=`#${r.toString(16).padStart(8,"0").toLowerCase()}`;return t.colorReplacements?.[`#${l}`]?n(i):(s.set(i,l),l)}t.settings=t.settings.map(i=>{let l=i.settings?.foreground&&!i.settings.foreground.startsWith("#"),u=i.settings?.background&&!i.settings.background.startsWith("#");if(!l&&!u)return i;let c={...i,settings:{...i.settings}};if(l){let d=n(i.settings.foreground);t.colorReplacements[d]=i.settings.foreground,c.settings.foreground=d}if(u){let d=n(i.settings.background);t.colorReplacements[d]=i.settings.background,c.settings.background=d}return c});for(let i of Object.keys(t.colors||{}))if((i==="editor.foreground"||i==="editor.background"||i.startsWith("terminal.ansi"))&&!t.colors[i]?.startsWith("#")){let l=n(t.colors[i]);t.colorReplacements[l]=t.colors[i],t.colors[i]=l}return Object.defineProperty(t,Mi,{enumerable:!1,writable:!1,value:!0}),t}async function Hi(e){return Array.from(new Set((await Promise.all(e.filter(t=>!Di(t)).map(async t=>await Fi(t).then(a=>Array.isArray(a)?a:[a])))).flat()))}async function qi(e){return(await Promise.all(e.map(async a=>Bi(a)?null:nr(await Fi(a))))).filter(a=>!!a)}var Jo=3,Rp=!1;function Mp(e,t=3){if(Jo&&!(typeof Jo=="number"&&t>Jo)){if(Rp)throw new Error(`[SHIKI DEPRECATE]: ${e}`);console.trace(`[SHIKI DEPRECATE]: ${e}`)}}var Ze=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Wi(e,t){if(!t)return e;if(t[e]){let a=new Set([e]);for(;t[e];){if(e=t[e],a.has(e))throw new Ze(`Circular alias \`${Array.from(a).join(" -> ")} -> ${e}\``);a.add(e)}}return e}var Yo=class extends ni{constructor(t,a,o,r={}){super(t),this._resolver=t,this._themes=a,this._langs=o,this._alias=r,this._themes.map(s=>this.loadTheme(s)),this.loadLanguages(this._langs)}_resolvedThemes=new Map;_resolvedGrammars=new Map;_langMap=new Map;_langGraph=new Map;_textmateThemeCache=new WeakMap;_loadedThemesCache=null;_loadedLanguagesCache=null;getTheme(t){return typeof t=="string"?this._resolvedThemes.get(t):this.loadTheme(t)}loadTheme(t){let a=nr(t);return a.name&&(this._resolvedThemes.set(a.name,a),this._loadedThemesCache=null),a}getLoadedThemes(){return this._loadedThemesCache||(this._loadedThemesCache=[...this._resolvedThemes.keys()]),this._loadedThemesCache}setTheme(t){let a=this._textmateThemeCache.get(t);a||(a=ea.createFromRawTheme(t),this._textmateThemeCache.set(t,a)),this._syncRegistry.setTheme(a)}getGrammar(t){return t=Wi(t,this._alias),this._resolvedGrammars.get(t)}loadLanguage(t){if(this.getGrammar(t.name))return;let a=new Set([...this._langMap.values()].filter(s=>s.embeddedLangsLazy?.includes(t.name)));this._resolver.addLanguage(t);let o={balancedBracketSelectors:t.balancedBracketSelectors||["*"],unbalancedBracketSelectors:t.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(t.scopeName,t);let r=this.loadGrammarWithConfiguration(t.scopeName,1,o);if(r.name=t.name,this._resolvedGrammars.set(t.name,r),t.aliases&&t.aliases.forEach(s=>{this._alias[s]=t.name}),this._loadedLanguagesCache=null,a.size)for(let s of a)this._resolvedGrammars.delete(s.name),this._loadedLanguagesCache=null,this._syncRegistry?._injectionGrammars?.delete(s.scopeName),this._syncRegistry?._grammars?.delete(s.scopeName),this.loadLanguage(this._langMap.get(s.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(t){for(let r of t)this.resolveEmbeddedLanguages(r);let a=Array.from(this._langGraph.entries()),o=a.filter(([r,s])=>!s);if(o.length){let r=a.filter(([s,n])=>n?(n.embeddedLanguages||n.embeddedLangs)?.some(l=>o.map(([u])=>u).includes(l)):!1).filter(s=>!o.includes(s));throw new Ze(`Missing languages ${o.map(([s])=>`\`${s}\``).join(", ")}, required by ${r.map(([s])=>`\`${s}\``).join(", ")}`)}for(let[r,s]of a)this._resolver.addLanguage(s);for(let[r,s]of a)this.loadLanguage(s)}getLoadedLanguages(){return this._loadedLanguagesCache||(this._loadedLanguagesCache=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])]),this._loadedLanguagesCache}resolveEmbeddedLanguages(t){this._langMap.set(t.name,t),this._langGraph.set(t.name,t);let a=t.embeddedLanguages??t.embeddedLangs;if(a)for(let o of a)this._langGraph.set(o,this._langMap.get(o))}},er=class{_langs=new Map;_scopeToLang=new Map;_injections=new Map;_onigLib;constructor(t,a){this._onigLib={createOnigScanner:o=>t.createScanner(o),createOnigString:o=>t.createString(o)},a.forEach(o=>this.addLanguage(o))}get onigLib(){return this._onigLib}getLangRegistration(t){return this._langs.get(t)}loadGrammar(t){return this._scopeToLang.get(t)}addLanguage(t){this._langs.set(t.name,t),t.aliases&&t.aliases.forEach(a=>{this._langs.set(a,t)}),this._scopeToLang.set(t.scopeName,t),t.injectTo&&t.injectTo.forEach(a=>{this._injections.get(a)||this._injections.set(a,[]),this._injections.get(a).push(t.scopeName)})}getInjections(t){let a=t.split("."),o=[];for(let r=1;r<=a.length;r++){let s=a.slice(0,r).join(".");o=[...o,...this._injections.get(s)||[]]}return o}},na=0;function Fp(e){na+=1,e.warnings!==!1&&na>=10&&na%10===0&&console.warn(`[Shiki] ${na} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \`highlighter.dispose()\` to release unused instances.`);let t=!1;if(!e.engine)throw new Ze("`engine` option is required for synchronous mode");let a=(e.langs||[]).flat(1),o=(e.themes||[]).flat(1).map(nr),r=new er(e.engine,a),s=new Yo(r,o,a,e.langAlias),n;function i(g){return Wi(g,e.langAlias)}function l(g){S();let b=s.getGrammar(typeof g=="string"?g:g.name);if(!b)throw new Ze(`Language \`${g}\` not found, you may need to load it first`);return b}function u(g){if(g==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};S();let b=s.getTheme(g);if(!b)throw new Ze(`Theme \`${g}\` not found, you may need to load it first`);return b}function c(g){S();let b=u(g);n!==g&&(s.setTheme(b),n=g);let v=s.getColorMap();return{theme:b,colorMap:v}}function d(){return S(),s.getLoadedThemes()}function p(){return S(),s.getLoadedLanguages()}function m(...g){S(),s.loadLanguages(g.flat(1))}async function h(...g){return m(await Hi(g))}function I(...g){S();for(let b of g.flat(1))s.loadTheme(b)}async function L(...g){return S(),I(await qi(g))}function S(){if(t)throw new Ze("Shiki instance has been disposed")}function C(){t||(t=!0,s.dispose(),na-=1)}return{setTheme:c,getTheme:u,getLanguage:l,getLoadedThemes:d,getLoadedLanguages:p,resolveLangAlias:i,loadLanguage:h,loadLanguageSync:m,loadTheme:L,loadThemeSync:I,dispose:C,[Symbol.dispose]:C}}async function Dp(e){e.engine||Mp("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,a,o]=await Promise.all([qi(e.themes||[]),Hi(e.langs||[]),e.engine]);return Fp({...e,themes:t,langs:a,engine:o})}async function Bp(e){let t=await Dp(e);return{getLastGrammarState:(...a)=>wp(t,...a),codeToTokensBase:(a,o)=>rr(t,a,o),codeToTokensWithThemes:(a,o)=>Oi(t,a,o),codeToTokens:(a,o)=>Xa(t,a,o),codeToHast:(a,o)=>Ka(t,a,o),codeToHtml:(a,o)=>Ap(t,a,o),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function Gi(e){let t=e.langs,a=e.themes,o=e.engine;async function r(s){function n(d){if(typeof d=="string"){if(d=s.langAlias?.[d]||d,Di(d))return[];let p=t[d];if(!p)throw new Y(`Language \`${d}\` is not included in this bundle. You may want to load it from external source.`);return p}return d}function i(d){if(Bi(d))return"none";if(typeof d=="string"){let p=a[d];if(!p)throw new Y(`Theme \`${d}\` is not included in this bundle. You may want to load it from external source.`);return p}return d}let l=(s.themes??[]).map(d=>i(d)),u=(s.langs??[]).map(d=>n(d)),c=await Bp({engine:s.engine??o(),...s,themes:l,langs:u});return{...c,loadLanguage(...d){return c.loadLanguage(...d.map(n))},loadTheme(...d){return c.loadTheme(...d.map(i))},getBundledLanguages(){return t},getBundledThemes(){return a}}}return r}function Ep(e){let t;async function a(o={}){if(t){let r=await t;return await Promise.all([r.loadTheme(...o.themes||[]),r.loadLanguage(...o.langs||[])]),r}else{t=e({...o,themes:[],langs:[]});let r=await t;return await Promise.all([r.loadTheme(...o.themes||[]),r.loadLanguage(...o.langs||[])]),r}}return a}function ji(e,t){let a=Ep(e);async function o(r,s){let n=await a({langs:[s.lang],themes:"theme"in s?[s.theme]:Object.values(s.themes)}),i=await t?.guessEmbeddedLanguages?.(r,s.lang,n);return i&&await n.loadLanguage(...i),n}return{getSingletonHighlighter(r){return a(r)},async codeToHtml(r,s){return(await o(r,s)).codeToHtml(r,s)},async codeToHast(r,s){return(await o(r,s)).codeToHast(r,s)},async codeToTokens(r,s){return(await o(r,s)).codeToTokens(r,s)},async codeToTokensBase(r,s){return(await o(r,s)).codeToTokensBase(r,s)},async codeToTokensWithThemes(r,s){return(await o(r,s)).codeToTokensWithThemes(r,s)},async getLastGrammarState(r,s){return(await a({langs:[s.lang],themes:[s.theme]})).getLastGrammarState(r,s)}}}f();var ir=[{id:"abap",name:"ABAP",import:(()=>import("../abap-3IAGZ3PS.js"))},{id:"actionscript-3",name:"ActionScript",import:(()=>import("../actionscript-3-C46RIPM4.js"))},{id:"ada",name:"Ada",import:(()=>import("../ada-DNTYS66P.js"))},{id:"angular-html",name:"Angular HTML",import:(()=>import("../angular-html-VZSV3CDH.js"))},{id:"angular-ts",name:"Angular TypeScript",import:(()=>import("../angular-ts-UPMUIYI3.js"))},{id:"apache",name:"Apache Conf",import:(()=>import("../apache-DU26FTNI.js"))},{id:"apex",name:"Apex",import:(()=>import("../apex-OU63AG2P.js"))},{id:"apl",name:"APL",import:(()=>import("../apl-ZTMAKUPW.js"))},{id:"applescript",name:"AppleScript",import:(()=>import("../applescript-TT4XSRXH.js"))},{id:"ara",name:"Ara",import:(()=>import("../ara-Q7AJDKA4.js"))},{id:"asciidoc",name:"AsciiDoc",aliases:["adoc"],import:(()=>import("../asciidoc-WADBFJPS.js"))},{id:"asm",name:"Assembly",import:(()=>import("../asm-D3LJR7GV.js"))},{id:"astro",name:"Astro",import:(()=>import("../astro-ZC25ZSBI.js"))},{id:"awk",name:"AWK",import:(()=>import("../awk-DCAM52A7.js"))},{id:"ballerina",name:"Ballerina",import:(()=>import("../ballerina-44XARFEK.js"))},{id:"bat",name:"Batch File",aliases:["batch"],import:(()=>import("../bat-WM4RL2AB.js"))},{id:"beancount",name:"Beancount",import:(()=>import("../beancount-5PUWGPVT.js"))},{id:"berry",name:"Berry",aliases:["be"],import:(()=>import("../berry-YAK4XTWX.js"))},{id:"bibtex",name:"BibTeX",import:(()=>import("../bibtex-2ISWNMJJ.js"))},{id:"bicep",name:"Bicep",import:(()=>import("../bicep-EOACOM4G.js"))},{id:"blade",name:"Blade",import:(()=>import("../blade-BVUO2H7O.js"))},{id:"bsl",name:"1C (Enterprise)",aliases:["1c"],import:(()=>import("../bsl-TNLQPNE3.js"))},{id:"c",name:"C",import:(()=>import("../c-G7V525MX.js"))},{id:"c3",name:"C3",import:(()=>import("../c3-CDQIRWGP.js"))},{id:"cadence",name:"Cadence",aliases:["cdc"],import:(()=>import("../cadence-U32GKKTR.js"))},{id:"cairo",name:"Cairo",import:(()=>import("../cairo-26RR6N4F.js"))},{id:"clarity",name:"Clarity",import:(()=>import("../clarity-4JIHRN2V.js"))},{id:"clojure",name:"Clojure",aliases:["clj"],import:(()=>import("../clojure-PKTTXYYS.js"))},{id:"cmake",name:"CMake",import:(()=>import("../cmake-HXKHWGGH.js"))},{id:"cobol",name:"COBOL",import:(()=>import("../cobol-SKJIT3WM.js"))},{id:"codeowners",name:"CODEOWNERS",import:(()=>import("../codeowners-WCXRHQ2R.js"))},{id:"codeql",name:"CodeQL",aliases:["ql"],import:(()=>import("../codeql-XZZ2USHF.js"))},{id:"coffee",name:"CoffeeScript",aliases:["coffeescript"],import:(()=>import("../coffee-SGQWHBUL.js"))},{id:"common-lisp",name:"Common Lisp",aliases:["lisp"],import:(()=>import("../common-lisp-IK3DGBCK.js"))},{id:"coq",name:"Coq",import:(()=>import("../coq-UPTUVPLH.js"))},{id:"cpp",name:"C++",aliases:["c++"],import:(()=>import("../cpp-4EW5XLOK.js"))},{id:"crystal",name:"Crystal",import:(()=>import("../crystal-YFCJLEES.js"))},{id:"csharp",name:"C#",aliases:["c#","cs"],import:(()=>import("../csharp-6EXQ7B24.js"))},{id:"css",name:"CSS",import:(()=>import("../css-MH4LSMNV.js"))},{id:"csv",name:"CSV",import:(()=>import("../csv-CRTD5FOL.js"))},{id:"cue",name:"CUE",import:(()=>import("../cue-IFMTDLM2.js"))},{id:"cypher",name:"Cypher",aliases:["cql"],import:(()=>import("../cypher-WH7754G7.js"))},{id:"d",name:"D",import:(()=>import("../d-VFMGCSG3.js"))},{id:"dart",name:"Dart",import:(()=>import("../dart-CSERBUPM.js"))},{id:"dax",name:"DAX",import:(()=>import("../dax-Y4DTPR3K.js"))},{id:"desktop",name:"Desktop",import:(()=>import("../desktop-UYAYGPQT.js"))},{id:"diff",name:"Diff",import:(()=>import("../diff-BJDM3N45.js"))},{id:"docker",name:"Dockerfile",aliases:["dockerfile"],import:(()=>import("../docker-UOM4Q7PD.js"))},{id:"dotenv",name:"dotEnv",import:(()=>import("../dotenv-LK44WBD3.js"))},{id:"dream-maker",name:"Dream Maker",import:(()=>import("../dream-maker-7RP4JRQH.js"))},{id:"edge",name:"Edge",import:(()=>import("../edge-3LWPZYS7.js"))},{id:"elixir",name:"Elixir",import:(()=>import("../elixir-3H7W7YJZ.js"))},{id:"elm",name:"Elm",import:(()=>import("../elm-THYL2NRS.js"))},{id:"emacs-lisp",name:"Emacs Lisp",aliases:["elisp"],import:(()=>import("../emacs-lisp-YHLQYGNI.js"))},{id:"erb",name:"ERB",import:(()=>import("../erb-AXCKAI43.js"))},{id:"erlang",name:"Erlang",aliases:["erl"],import:(()=>import("../erlang-UNX5MMGA.js"))},{id:"fennel",name:"Fennel",import:(()=>import("../fennel-HYSSBG3N.js"))},{id:"fish",name:"Fish",import:(()=>import("../fish-PTKGQOJI.js"))},{id:"fluent",name:"Fluent",aliases:["ftl"],import:(()=>import("../fluent-LEZHPPJV.js"))},{id:"fortran-fixed-form",name:"Fortran (Fixed Form)",aliases:["f","for","f77"],import:(()=>import("../fortran-fixed-form-J5AMEFMB.js"))},{id:"fortran-free-form",name:"Fortran (Free Form)",aliases:["f90","f95","f03","f08","f18"],import:(()=>import("../fortran-free-form-S3BNTBLS.js"))},{id:"fsharp",name:"F#",aliases:["f#","fs"],import:(()=>import("../fsharp-H4OIW62Z.js"))},{id:"gdresource",name:"GDResource",aliases:["tscn","tres"],import:(()=>import("../gdresource-A6NTYFLM.js"))},{id:"gdscript",name:"GDScript",aliases:["gd"],import:(()=>import("../gdscript-YQUSJRNZ.js"))},{id:"gdshader",name:"GDShader",import:(()=>import("../gdshader-S5432GFE.js"))},{id:"genie",name:"Genie",import:(()=>import("../genie-RNVG5N7L.js"))},{id:"gherkin",name:"Gherkin",import:(()=>import("../gherkin-E5R62T6O.js"))},{id:"git-commit",name:"Git Commit Message",import:(()=>import("../git-commit-QGH6XOBG.js"))},{id:"git-rebase",name:"Git Rebase Message",import:(()=>import("../git-rebase-XTCZTXU4.js"))},{id:"gleam",name:"Gleam",import:(()=>import("../gleam-W5WZ7CST.js"))},{id:"glimmer-js",name:"Glimmer JS",aliases:["gjs"],import:(()=>import("../glimmer-js-ZXI6Y36F.js"))},{id:"glimmer-ts",name:"Glimmer TS",aliases:["gts"],import:(()=>import("../glimmer-ts-BJKMFBLF.js"))},{id:"glsl",name:"GLSL",import:(()=>import("../glsl-PVW2OPUD.js"))},{id:"gn",name:"GN",import:(()=>import("../gn-FCAO7WI5.js"))},{id:"gnuplot",name:"Gnuplot",import:(()=>import("../gnuplot-Q6SE5CHZ.js"))},{id:"go",name:"Go",import:(()=>import("../go-CPCZAAWX.js"))},{id:"graphql",name:"GraphQL",aliases:["gql"],import:(()=>import("../graphql-KHEFECOG.js"))},{id:"groovy",name:"Groovy",import:(()=>import("../groovy-PJAEBBJY.js"))},{id:"hack",name:"Hack",import:(()=>import("../hack-KV5GHBVV.js"))},{id:"haml",name:"Ruby Haml",import:(()=>import("../haml-6R7X7F2Q.js"))},{id:"handlebars",name:"Handlebars",aliases:["hbs"],import:(()=>import("../handlebars-U44VLSEQ.js"))},{id:"haskell",name:"Haskell",aliases:["hs"],import:(()=>import("../haskell-NX6XRMNO.js"))},{id:"haxe",name:"Haxe",import:(()=>import("../haxe-7YNB7FVC.js"))},{id:"hcl",name:"HashiCorp HCL",import:(()=>import("../hcl-ZF75ASCX.js"))},{id:"hjson",name:"Hjson",import:(()=>import("../hjson-65TX6QOC.js"))},{id:"hlsl",name:"HLSL",import:(()=>import("../hlsl-U2O526MI.js"))},{id:"html",name:"HTML",import:(()=>import("../html-MYZBE4UD.js"))},{id:"html-derivative",name:"HTML (Derivative)",import:(()=>import("../html-derivative-OWRPAN3G.js"))},{id:"http",name:"HTTP",import:(()=>import("../http-JSPDAWSO.js"))},{id:"hurl",name:"Hurl",import:(()=>import("../hurl-OT2SM4S7.js"))},{id:"hxml",name:"HXML",import:(()=>import("../hxml-IGTXIURH.js"))},{id:"hy",name:"Hy",import:(()=>import("../hy-CLDGXJYP.js"))},{id:"imba",name:"Imba",import:(()=>import("../imba-NWHLCVE5.js"))},{id:"ini",name:"INI",aliases:["properties"],import:(()=>import("../ini-R6WYP7NC.js"))},{id:"java",name:"Java",import:(()=>import("../java-DHBXDMBM.js"))},{id:"javascript",name:"JavaScript",aliases:["js","cjs","mjs"],import:(()=>import("../javascript-GNUEDNHO.js"))},{id:"jinja",name:"Jinja",import:(()=>import("../jinja-CCI3FGLW.js"))},{id:"jison",name:"Jison",import:(()=>import("../jison-64A6IJCV.js"))},{id:"json",name:"JSON",import:(()=>import("../json-2ELCHKXT.js"))},{id:"json5",name:"JSON5",import:(()=>import("../json5-QRH5UJYD.js"))},{id:"jsonc",name:"JSON with Comments",import:(()=>import("../jsonc-IXPVR4NY.js"))},{id:"jsonl",name:"JSON Lines",import:(()=>import("../jsonl-C57GMUK5.js"))},{id:"jsonnet",name:"Jsonnet",import:(()=>import("../jsonnet-VNADFLKI.js"))},{id:"jssm",name:"JSSM",aliases:["fsl"],import:(()=>import("../jssm-CW4ZYDSF.js"))},{id:"jsx",name:"JSX",import:(()=>import("../jsx-YTENXENT.js"))},{id:"julia",name:"Julia",aliases:["jl"],import:(()=>import("../julia-BWWONBRS.js"))},{id:"kdl",name:"KDL",import:(()=>import("../kdl-X3AS2HRT.js"))},{id:"kotlin",name:"Kotlin",aliases:["kt","kts"],import:(()=>import("../kotlin-WGITM75W.js"))},{id:"kusto",name:"Kusto",aliases:["kql"],import:(()=>import("../kusto-LT46F7AO.js"))},{id:"latex",name:"LaTeX",import:(()=>import("../latex-R4PJ7JDY.js"))},{id:"lean",name:"Lean 4",aliases:["lean4"],import:(()=>import("../lean-DYWOENAS.js"))},{id:"less",name:"Less",import:(()=>import("../less-ZYJT7MPU.js"))},{id:"liquid",name:"Liquid",import:(()=>import("../liquid-OSRU4KOW.js"))},{id:"llvm",name:"LLVM IR",import:(()=>import("../llvm-WBQ7MHV7.js"))},{id:"log",name:"Log file",import:(()=>import("../log-AXKDFD3L.js"))},{id:"logo",name:"Logo",import:(()=>import("../logo-E23LAFZY.js"))},{id:"lua",name:"Lua",import:(()=>import("../lua-QQ5QEPPO.js"))},{id:"luau",name:"Luau",import:(()=>import("../luau-D432BEB5.js"))},{id:"make",name:"Makefile",aliases:["makefile"],import:(()=>import("../make-QFMWQJMG.js"))},{id:"markdown",name:"Markdown",aliases:["md"],import:(()=>import("../markdown-D756RUOP.js"))},{id:"marko",name:"Marko",import:(()=>import("../marko-WVASNOGB.js"))},{id:"matlab",name:"MATLAB",import:(()=>import("../matlab-ZKZ7YBAH.js"))},{id:"mdc",name:"MDC",import:(()=>import("../mdc-PDOFYVVO.js"))},{id:"mdx",name:"MDX",import:(()=>import("../mdx-34BL2O4O.js"))},{id:"mermaid",name:"Mermaid",aliases:["mmd"],import:(()=>import("../mermaid-54Z3SAII.js"))},{id:"mipsasm",name:"MIPS Assembly",aliases:["mips"],import:(()=>import("../mipsasm-NKQWJEL7.js"))},{id:"mojo",name:"Mojo",import:(()=>import("../mojo-KRRNBH7O.js"))},{id:"moonbit",name:"MoonBit",aliases:["mbt","mbti"],import:(()=>import("../moonbit-LQ7JL5LZ.js"))},{id:"move",name:"Move",import:(()=>import("../move-4VWCI4YQ.js"))},{id:"narrat",name:"Narrat Language",aliases:["nar"],import:(()=>import("../narrat-4QSDQDLH.js"))},{id:"nextflow",name:"Nextflow",aliases:["nf"],import:(()=>import("../nextflow-DPCEWQNZ.js"))},{id:"nginx",name:"Nginx",import:(()=>import("../nginx-DXHAXQRH.js"))},{id:"nim",name:"Nim",import:(()=>import("../nim-WGQAUAVA.js"))},{id:"nix",name:"Nix",import:(()=>import("../nix-WAYR4BYU.js"))},{id:"nushell",name:"nushell",aliases:["nu"],import:(()=>import("../nushell-26KZW4VL.js"))},{id:"objective-c",name:"Objective-C",aliases:["objc"],import:(()=>import("../objective-c-246HWLKT.js"))},{id:"objective-cpp",name:"Objective-C++",import:(()=>import("../objective-cpp-RJUXXPYQ.js"))},{id:"ocaml",name:"OCaml",import:(()=>import("../ocaml-P7NGS7PR.js"))},{id:"odin",name:"Odin",import:(()=>import("../odin-UPPZCJGN.js"))},{id:"openscad",name:"OpenSCAD",aliases:["scad"],import:(()=>import("../openscad-JRK6K3FL.js"))},{id:"pascal",name:"Pascal",import:(()=>import("../pascal-RDFLUHHA.js"))},{id:"perl",name:"Perl",import:(()=>import("../perl-Y3ALUOFJ.js"))},{id:"php",name:"PHP",import:(()=>import("../php-QERWOQJG.js"))},{id:"pkl",name:"Pkl",import:(()=>import("../pkl-PAM76VXP.js"))},{id:"plsql",name:"PL/SQL",import:(()=>import("../plsql-3Y6UMFEG.js"))},{id:"po",name:"Gettext PO",aliases:["pot","potx"],import:(()=>import("../po-GNTAKCTE.js"))},{id:"polar",name:"Polar",import:(()=>import("../polar-EVTMRLGV.js"))},{id:"postcss",name:"PostCSS",import:(()=>import("../postcss-42343LW7.js"))},{id:"powerquery",name:"PowerQuery",import:(()=>import("../powerquery-M34PNR4X.js"))},{id:"powershell",name:"PowerShell",aliases:["ps","ps1"],import:(()=>import("../powershell-IR7ICFQW.js"))},{id:"prisma",name:"Prisma",import:(()=>import("../prisma-RXSIFLZX.js"))},{id:"prolog",name:"Prolog",import:(()=>import("../prolog-YBBQ4UD5.js"))},{id:"proto",name:"Protocol Buffer 3",aliases:["protobuf"],import:(()=>import("../proto-U4FF45G6.js"))},{id:"pug",name:"Pug",aliases:["jade"],import:(()=>import("../pug-7XNGVJEC.js"))},{id:"puppet",name:"Puppet",import:(()=>import("../puppet-HWOKIYJP.js"))},{id:"purescript",name:"PureScript",import:(()=>import("../purescript-D45AJS5J.js"))},{id:"python",name:"Python",aliases:["py"],import:(()=>import("../python-QWA7UE2I.js"))},{id:"qml",name:"QML",import:(()=>import("../qml-RHCWFR3S.js"))},{id:"qmldir",name:"QML Directory",import:(()=>import("../qmldir-FBDC3XMZ.js"))},{id:"qss",name:"Qt Style Sheets",import:(()=>import("../qss-AD3WZQ45.js"))},{id:"r",name:"R",import:(()=>import("../r-NHIAHDOD.js"))},{id:"racket",name:"Racket",import:(()=>import("../racket-7G65C5N5.js"))},{id:"raku",name:"Raku",aliases:["perl6"],import:(()=>import("../raku-IWS7BLGD.js"))},{id:"razor",name:"ASP.NET Razor",import:(()=>import("../razor-C2NV2YNT.js"))},{id:"reg",name:"Windows Registry Script",import:(()=>import("../reg-V4XLWESR.js"))},{id:"regexp",name:"RegExp",aliases:["regex"],import:(()=>import("../regexp-XP4MR635.js"))},{id:"rel",name:"Rel",import:(()=>import("../rel-DE6UXATM.js"))},{id:"riscv",name:"RISC-V",import:(()=>import("../riscv-5PDXBPPL.js"))},{id:"ron",name:"RON",import:(()=>import("../ron-WD6BJFDY.js"))},{id:"rosmsg",name:"ROS Interface",import:(()=>import("../rosmsg-7LDUCZRQ.js"))},{id:"rst",name:"reStructuredText",import:(()=>import("../rst-W5S2XFF7.js"))},{id:"ruby",name:"Ruby",aliases:["rb"],import:(()=>import("../ruby-EYYAUQUG.js"))},{id:"rust",name:"Rust",aliases:["rs"],import:(()=>import("../rust-Z2NYMT2Z.js"))},{id:"sas",name:"SAS",import:(()=>import("../sas-A4JCTK6H.js"))},{id:"sass",name:"Sass",import:(()=>import("../sass-75VDP7DE.js"))},{id:"scala",name:"Scala",import:(()=>import("../scala-7TJ4N6KC.js"))},{id:"scheme",name:"Scheme",import:(()=>import("../scheme-5XARZMKT.js"))},{id:"scss",name:"SCSS",import:(()=>import("../scss-4QR2BXFS.js"))},{id:"sdbl",name:"1C (Query)",aliases:["1c-query"],import:(()=>import("../sdbl-6M55AJVA.js"))},{id:"shaderlab",name:"ShaderLab",aliases:["shader"],import:(()=>import("../shaderlab-322XNY5V.js"))},{id:"shellscript",name:"Shell",aliases:["bash","sh","shell","zsh"],import:(()=>import("../shellscript-F23VVVTW.js"))},{id:"shellsession",name:"Shell Session",aliases:["console"],import:(()=>import("../shellsession-G65XJMCC.js"))},{id:"smalltalk",name:"Smalltalk",import:(()=>import("../smalltalk-LALIO5SC.js"))},{id:"solidity",name:"Solidity",import:(()=>import("../solidity-TQUKTJZZ.js"))},{id:"soy",name:"Closure Templates",aliases:["closure-templates"],import:(()=>import("../soy-G2LDZSDN.js"))},{id:"sparql",name:"SPARQL",import:(()=>import("../sparql-ARI3MVK7.js"))},{id:"splunk",name:"Splunk Query Language",aliases:["spl"],import:(()=>import("../splunk-QEFG3NPJ.js"))},{id:"sql",name:"SQL",import:(()=>import("../sql-SBP7VV3V.js"))},{id:"ssh-config",name:"SSH Config",import:(()=>import("../ssh-config-SC6RC6IV.js"))},{id:"stata",name:"Stata",import:(()=>import("../stata-MNI5YOQU.js"))},{id:"stylus",name:"Stylus",aliases:["styl"],import:(()=>import("../stylus-YYWEHAK3.js"))},{id:"surrealql",name:"SurrealQL",aliases:["surql"],import:(()=>import("../surrealql-5X7LI3J6.js"))},{id:"svelte",name:"Svelte",import:(()=>import("../svelte-EYZDXUS2.js"))},{id:"swift",name:"Swift",import:(()=>import("../swift-JEBLU4EM.js"))},{id:"system-verilog",name:"SystemVerilog",import:(()=>import("../system-verilog-46QRSGNM.js"))},{id:"systemd",name:"Systemd Units",import:(()=>import("../systemd-3PUVCSI7.js"))},{id:"talonscript",name:"TalonScript",aliases:["talon"],import:(()=>import("../talonscript-AK4LB3KC.js"))},{id:"tasl",name:"Tasl",import:(()=>import("../tasl-VHTYBUVI.js"))},{id:"tcl",name:"Tcl",import:(()=>import("../tcl-UUMKHRHL.js"))},{id:"templ",name:"Templ",import:(()=>import("../templ-KXQ2KV7D.js"))},{id:"terraform",name:"Terraform",aliases:["tf","tfvars"],import:(()=>import("../terraform-GCGIT2RL.js"))},{id:"tex",name:"TeX",import:(()=>import("../tex-L55DZDKV.js"))},{id:"toml",name:"TOML",import:(()=>import("../toml-7AH4HFBN.js"))},{id:"ts-tags",name:"TypeScript with Tags",aliases:["lit"],import:(()=>import("../ts-tags-TCQ23O6Y.js"))},{id:"tsv",name:"TSV",import:(()=>import("../tsv-EB3LRXYX.js"))},{id:"tsx",name:"TSX",import:(()=>import("../tsx-Y5YXGNIX.js"))},{id:"turtle",name:"Turtle",import:(()=>import("../turtle-KM6UGYIQ.js"))},{id:"twig",name:"Twig",import:(()=>import("../twig-JAL4753Y.js"))},{id:"typescript",name:"TypeScript",aliases:["ts","cts","mts"],import:(()=>import("../typescript-ZF5AMNEZ.js"))},{id:"typespec",name:"TypeSpec",aliases:["tsp"],import:(()=>import("../typespec-6JSRRA42.js"))},{id:"typst",name:"Typst",aliases:["typ"],import:(()=>import("../typst-ZOSAUKL5.js"))},{id:"v",name:"V",import:(()=>import("../v-HVLBO3DI.js"))},{id:"vala",name:"Vala",import:(()=>import("../vala-WWRVCJNF.js"))},{id:"vb",name:"Visual Basic",aliases:["cmd"],import:(()=>import("../vb-XFFF4O73.js"))},{id:"verilog",name:"Verilog",import:(()=>import("../verilog-XTDPJNP7.js"))},{id:"vhdl",name:"VHDL",import:(()=>import("../vhdl-OCZJ2AOZ.js"))},{id:"viml",name:"Vim Script",aliases:["vim","vimscript"],import:(()=>import("../viml-PVA3ZJ5L.js"))},{id:"vue",name:"Vue",import:(()=>import("../vue-D6SXQNWM.js"))},{id:"vue-html",name:"Vue HTML",import:(()=>import("../vue-html-G4DE7FYD.js"))},{id:"vue-vine",name:"Vue Vine",import:(()=>import("../vue-vine-T6MFB2MU.js"))},{id:"vyper",name:"Vyper",aliases:["vy"],import:(()=>import("../vyper-SBDFKHRI.js"))},{id:"wasm",name:"WebAssembly",import:(()=>import("../wasm-SXNE4SKX.js"))},{id:"wenyan",name:"Wenyan",aliases:["\u6587\u8A00"],import:(()=>import("../wenyan-PMSCJP7P.js"))},{id:"wgsl",name:"WGSL",import:(()=>import("../wgsl-DOXQU7M4.js"))},{id:"wikitext",name:"Wikitext",aliases:["mediawiki","wiki"],import:(()=>import("../wikitext-LGNEKWDX.js"))},{id:"wit",name:"WebAssembly Interface Types",import:(()=>import("../wit-G62U2KBE.js"))},{id:"wolfram",name:"Wolfram",aliases:["wl"],import:(()=>import("../wolfram-YTZHUYN6.js"))},{id:"xml",name:"XML",import:(()=>import("../xml-WGLM4CWK.js"))},{id:"xsl",name:"XSL",import:(()=>import("../xsl-KAAH2GEK.js"))},{id:"yaml",name:"YAML",aliases:["yml"],import:(()=>import("../yaml-JGEBDSVI.js"))},{id:"zenscript",name:"ZenScript",import:(()=>import("../zenscript-QQQPZNJ7.js"))},{id:"zig",name:"Zig",import:(()=>import("../zig-6LJUAPBA.js"))}],zi=Object.fromEntries(ir.map(e=>[e.id,e.import])),Vi=Object.fromEntries(ir.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),la={...zi,...Vi};f();var _p=[{id:"andromeeda",displayName:"Andromeeda",type:"dark",import:(()=>import("../andromeeda-XSK3JERF.js"))},{id:"aurora-x",displayName:"Aurora X",type:"dark",import:(()=>import("../aurora-x-CGSVHL4H.js"))},{id:"ayu-dark",displayName:"Ayu Dark",type:"dark",import:(()=>import("../ayu-dark-XYI57HMC.js"))},{id:"ayu-light",displayName:"Ayu Light",type:"light",import:(()=>import("../ayu-light-4PSGMDIC.js"))},{id:"ayu-mirage",displayName:"Ayu Mirage",type:"dark",import:(()=>import("../ayu-mirage-DU5SNMZX.js"))},{id:"catppuccin-frappe",displayName:"Catppuccin Frapp\xE9",type:"dark",import:(()=>import("../catppuccin-frappe-UZ4N3Z4I.js"))},{id:"catppuccin-latte",displayName:"Catppuccin Latte",type:"light",import:(()=>import("../catppuccin-latte-GCOWYLZG.js"))},{id:"catppuccin-macchiato",displayName:"Catppuccin Macchiato",type:"dark",import:(()=>import("../catppuccin-macchiato-PJD7W5WJ.js"))},{id:"catppuccin-mocha",displayName:"Catppuccin Mocha",type:"dark",import:(()=>import("../catppuccin-mocha-RRH4FOBS.js"))},{id:"dark-plus",displayName:"Dark Plus",type:"dark",import:(()=>import("../dark-plus-PSM5XP2I.js"))},{id:"dracula",displayName:"Dracula Theme",type:"dark",import:(()=>import("../dracula-2VHT5LK5.js"))},{id:"dracula-soft",displayName:"Dracula Theme Soft",type:"dark",import:(()=>import("../dracula-soft-MSCUO73T.js"))},{id:"everforest-dark",displayName:"Everforest Dark",type:"dark",import:(()=>import("../everforest-dark-AGVJEQ35.js"))},{id:"everforest-light",displayName:"Everforest Light",type:"light",import:(()=>import("../everforest-light-62GPFKVJ.js"))},{id:"github-dark",displayName:"GitHub Dark",type:"dark",import:(()=>import("../github-dark-5OJVMBCE.js"))},{id:"github-dark-default",displayName:"GitHub Dark Default",type:"dark",import:(()=>import("../github-dark-default-4WERFSZW.js"))},{id:"github-dark-dimmed",displayName:"GitHub Dark Dimmed",type:"dark",import:(()=>import("../github-dark-dimmed-7VD3SZKC.js"))},{id:"github-dark-high-contrast",displayName:"GitHub Dark High Contrast",type:"dark",import:(()=>import("../github-dark-high-contrast-FVMMS656.js"))},{id:"github-light",displayName:"GitHub Light",type:"light",import:(()=>import("../github-light-SE4LEKO7.js"))},{id:"github-light-default",displayName:"GitHub Light Default",type:"light",import:(()=>import("../github-light-default-TV7BYQGI.js"))},{id:"github-light-high-contrast",displayName:"GitHub Light High Contrast",type:"light",import:(()=>import("../github-light-high-contrast-WKO4I3G7.js"))},{id:"gruvbox-dark-hard",displayName:"Gruvbox Dark Hard",type:"dark",import:(()=>import("../gruvbox-dark-hard-LOYZQIGI.js"))},{id:"gruvbox-dark-medium",displayName:"Gruvbox Dark Medium",type:"dark",import:(()=>import("../gruvbox-dark-medium-UIMSJJ6K.js"))},{id:"gruvbox-dark-soft",displayName:"Gruvbox Dark Soft",type:"dark",import:(()=>import("../gruvbox-dark-soft-PU6RNTTO.js"))},{id:"gruvbox-light-hard",displayName:"Gruvbox Light Hard",type:"light",import:(()=>import("../gruvbox-light-hard-ZQJ7XSZF.js"))},{id:"gruvbox-light-medium",displayName:"Gruvbox Light Medium",type:"light",import:(()=>import("../gruvbox-light-medium-CD3ZGYV6.js"))},{id:"gruvbox-light-soft",displayName:"Gruvbox Light Soft",type:"light",import:(()=>import("../gruvbox-light-soft-S74MAGOM.js"))},{id:"horizon",displayName:"Horizon",type:"dark",import:(()=>import("../horizon-EAAZ4KVN.js"))},{id:"houston",displayName:"Houston",type:"dark",import:(()=>import("../houston-UNRWGR67.js"))},{id:"kanagawa-dragon",displayName:"Kanagawa Dragon",type:"dark",import:(()=>import("../kanagawa-dragon-BOSCCB42.js"))},{id:"kanagawa-lotus",displayName:"Kanagawa Lotus",type:"light",import:(()=>import("../kanagawa-lotus-NXMB2IVI.js"))},{id:"kanagawa-wave",displayName:"Kanagawa Wave",type:"dark",import:(()=>import("../kanagawa-wave-YOHS63UF.js"))},{id:"laserwave",displayName:"LaserWave",type:"dark",import:(()=>import("../laserwave-TS4AG4VO.js"))},{id:"light-plus",displayName:"Light Plus",type:"light",import:(()=>import("../light-plus-2HYW3NJ6.js"))},{id:"material-theme",displayName:"Material Theme",type:"dark",import:(()=>import("../material-theme-KPDVFAGV.js"))},{id:"material-theme-darker",displayName:"Material Theme Darker",type:"dark",import:(()=>import("../material-theme-darker-GVSTMSNT.js"))},{id:"material-theme-lighter",displayName:"Material Theme Lighter",type:"light",import:(()=>import("../material-theme-lighter-JWZNUXUH.js"))},{id:"material-theme-ocean",displayName:"Material Theme Ocean",type:"dark",import:(()=>import("../material-theme-ocean-MU4N3XNQ.js"))},{id:"material-theme-palenight",displayName:"Material Theme Palenight",type:"dark",import:(()=>import("../material-theme-palenight-VMWD73WM.js"))},{id:"min-dark",displayName:"Min Dark",type:"dark",import:(()=>import("../min-dark-ASEVSA24.js"))},{id:"min-light",displayName:"Min Light",type:"light",import:(()=>import("../min-light-3H54BB3D.js"))},{id:"monokai",displayName:"Monokai",type:"dark",import:(()=>import("../monokai-5QWQOFN6.js"))},{id:"night-owl",displayName:"Night Owl",type:"dark",import:(()=>import("../night-owl-4QQBS2UX.js"))},{id:"night-owl-light",displayName:"Night Owl Light",type:"light",import:(()=>import("../night-owl-light-HR6A2OQO.js"))},{id:"nord",displayName:"Nord",type:"dark",import:(()=>import("../nord-XK3AUNCF.js"))},{id:"one-dark-pro",displayName:"One Dark Pro",type:"dark",import:(()=>import("../one-dark-pro-ZV7CEA5M.js"))},{id:"one-light",displayName:"One Light",type:"light",import:(()=>import("../one-light-FKZJCKM6.js"))},{id:"plastic",displayName:"Plastic",type:"dark",import:(()=>import("../plastic-SXCQPKYC.js"))},{id:"poimandres",displayName:"Poimandres",type:"dark",import:(()=>import("../poimandres-S3UYVG4O.js"))},{id:"red",displayName:"Red",type:"dark",import:(()=>import("../red-A6OC2HVL.js"))},{id:"rose-pine",displayName:"Ros\xE9 Pine",type:"dark",import:(()=>import("../rose-pine-GLWOWPBK.js"))},{id:"rose-pine-dawn",displayName:"Ros\xE9 Pine Dawn",type:"light",import:(()=>import("../rose-pine-dawn-HYE6T7LV.js"))},{id:"rose-pine-moon",displayName:"Ros\xE9 Pine Moon",type:"dark",import:(()=>import("../rose-pine-moon-VHVTDDVO.js"))},{id:"slack-dark",displayName:"Slack Dark",type:"dark",import:(()=>import("../slack-dark-OPW5CYSY.js"))},{id:"slack-ochin",displayName:"Slack Ochin",type:"light",import:(()=>import("../slack-ochin-WTVMYBFH.js"))},{id:"snazzy-light",displayName:"Snazzy Light",type:"light",import:(()=>import("../snazzy-light-5UQ56PC5.js"))},{id:"solarized-dark",displayName:"Solarized Dark",type:"dark",import:(()=>import("../solarized-dark-DSMP6D7D.js"))},{id:"solarized-light",displayName:"Solarized Light",type:"light",import:(()=>import("../solarized-light-3IZTZCIV.js"))},{id:"synthwave-84",displayName:"Synthwave '84",type:"dark",import:(()=>import("../synthwave-84-JWI6CVJZ.js"))},{id:"tokyo-night",displayName:"Tokyo Night",type:"dark",import:(()=>import("../tokyo-night-SRK4SADJ.js"))},{id:"vesper",displayName:"Vesper",type:"dark",import:(()=>import("../vesper-WIZFPFI7.js"))},{id:"vitesse-black",displayName:"Vitesse Black",type:"dark",import:(()=>import("../vitesse-black-PEGI4HJX.js"))},{id:"vitesse-dark",displayName:"Vitesse Dark",type:"dark",import:(()=>import("../vitesse-dark-M2ZAGPXG.js"))},{id:"vitesse-light",displayName:"Vitesse Light",type:"light",import:(()=>import("../vitesse-light-RICZI4IG.js"))}],$i=Object.fromEntries(_p.map(e=>[e.id,e.import]));f();var ua=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Np(){return 2147483648}function Up(){return typeof performance<"u"?performance.now():Date.now()}var Op=(e,t)=>e+(t-e%t)%t;async function Hp(e){let t,a,o={};function r(m){a=m,o.HEAPU8=new Uint8Array(m),o.HEAPU32=new Uint32Array(m)}function s(m,h,I){o.HEAPU8.copyWithin(m,h,h+I)}function n(m){try{return t.grow(m-a.byteLength+65535>>>16),r(t.buffer),1}catch{}}function i(m){let h=o.HEAPU8.length;m=m>>>0;let I=Np();if(m>I)return!1;for(let L=1;L<=4;L*=2){let S=h*(1+.2/L);S=Math.min(S,m+100663296);let C=Math.min(I,Op(Math.max(m,S),65536));if(n(C))return!0}return!1}let l=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function u(m,h,I=1024){let L=h+I,S=h;for(;m[S]&&!(S>=L);)++S;if(S-h>16&&m.buffer&&l)return l.decode(m.subarray(h,S));let C="";for(;h<S;){let g=m[h++];if(!(g&128)){C+=String.fromCharCode(g);continue}let b=m[h++]&63;if((g&224)===192){C+=String.fromCharCode((g&31)<<6|b);continue}let v=m[h++]&63;if((g&240)===224?g=(g&15)<<12|b<<6|v:g=(g&7)<<18|b<<12|v<<6|m[h++]&63,g<65536)C+=String.fromCharCode(g);else{let P=g-65536;C+=String.fromCharCode(55296|P>>10,56320|P&1023)}}return C}function c(m,h){return m?u(o.HEAPU8,m,h):""}let d={emscripten_get_now:Up,emscripten_memcpy_big:s,emscripten_resize_heap:i,fd_write:()=>0};async function p(){let h=await e({env:d,wasi_snapshot_preview1:d});t=h.memory,r(t.buffer),Object.assign(o,h),o.UTF8ToString=c}return await p(),o}var qp=Object.defineProperty,Wp=(e,t,a)=>t in e?qp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,le=(e,t,a)=>Wp(e,typeof t!="symbol"?t+"":t,a),fe=null;function Gp(e){throw new ua(e.UTF8ToString(e.getLastOnigError()))}var Ya=class e{constructor(t){le(this,"utf16Length"),le(this,"utf8Length"),le(this,"utf16Value"),le(this,"utf8Value"),le(this,"utf16OffsetToUtf8"),le(this,"utf8OffsetToUtf16");let a=t.length,o=e._utf8ByteLength(t),r=o!==a,s=r?new Uint32Array(a+1):null;r&&(s[a]=o);let n=r?new Uint32Array(o+1):null;r&&(n[o]=a);let i=new Uint8Array(o),l=0;for(let u=0;u<a;u++){let c=t.charCodeAt(u),d=c,p=!1;if(c>=55296&&c<=56319&&u+1<a){let m=t.charCodeAt(u+1);m>=56320&&m<=57343&&(d=(c-55296<<10)+65536|m-56320,p=!0)}r&&(s[u]=l,p&&(s[u+1]=l),d<=127?n[l+0]=u:d<=2047?(n[l+0]=u,n[l+1]=u):d<=65535?(n[l+0]=u,n[l+1]=u,n[l+2]=u):(n[l+0]=u,n[l+1]=u,n[l+2]=u,n[l+3]=u)),d<=127?i[l++]=d:d<=2047?(i[l++]=192|(d&1984)>>>6,i[l++]=128|(d&63)>>>0):d<=65535?(i[l++]=224|(d&61440)>>>12,i[l++]=128|(d&4032)>>>6,i[l++]=128|(d&63)>>>0):(i[l++]=240|(d&1835008)>>>18,i[l++]=128|(d&258048)>>>12,i[l++]=128|(d&4032)>>>6,i[l++]=128|(d&63)>>>0),p&&u++}this.utf16Length=a,this.utf8Length=o,this.utf16Value=t,this.utf8Value=i,this.utf16OffsetToUtf8=s,this.utf8OffsetToUtf16=n}static _utf8ByteLength(t){let a=0;for(let o=0,r=t.length;o<r;o++){let s=t.charCodeAt(o),n=s,i=!1;if(s>=55296&&s<=56319&&o+1<r){let l=t.charCodeAt(o+1);l>=56320&&l<=57343&&(n=(s-55296<<10)+65536|l-56320,i=!0)}n<=127?a+=1:n<=2047?a+=2:n<=65535?a+=3:a+=4,i&&o++}return a}createString(t){let a=t.omalloc(this.utf8Length);return t.HEAPU8.set(this.utf8Value,a),a}},eo=class We{constructor(t){if(le(this,"id",++We.LAST_ID),le(this,"_onigBinding"),le(this,"content"),le(this,"utf16Length"),le(this,"utf8Length"),le(this,"utf16OffsetToUtf8"),le(this,"utf8OffsetToUtf16"),le(this,"ptr"),!fe)throw new ua("Must invoke loadWasm first.");this._onigBinding=fe,this.content=t;let a=new Ya(t);this.utf16Length=a.utf16Length,this.utf8Length=a.utf8Length,this.utf16OffsetToUtf8=a.utf16OffsetToUtf8,this.utf8OffsetToUtf16=a.utf8OffsetToUtf16,this.utf8Length<1e4&&!We._sharedPtrInUse?(We._sharedPtr||(We._sharedPtr=fe.omalloc(1e4)),We._sharedPtrInUse=!0,fe.HEAPU8.set(a.utf8Value,We._sharedPtr),this.ptr=We._sharedPtr):this.ptr=a.createString(fe)}convertUtf8OffsetToUtf16(t){return this.utf8OffsetToUtf16?t<0?0:t>this.utf8Length?this.utf16Length:this.utf8OffsetToUtf16[t]:t}convertUtf16OffsetToUtf8(t){return this.utf16OffsetToUtf8?t<0?0:t>this.utf16Length?this.utf8Length:this.utf16OffsetToUtf8[t]:t}dispose(){this.ptr===We._sharedPtr?We._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};le(eo,"LAST_ID",0);le(eo,"_sharedPtr",0);le(eo,"_sharedPtrInUse",!1);var Xi=eo,ur=class{constructor(t){if(le(this,"_onigBinding"),le(this,"_ptr"),!fe)throw new ua("Must invoke loadWasm first.");let a=[],o=[];for(let i=0,l=t.length;i<l;i++){let u=new Ya(t[i]);a[i]=u.createString(fe),o[i]=u.utf8Length}let r=fe.omalloc(4*t.length);fe.HEAPU32.set(a,r/4);let s=fe.omalloc(4*t.length);fe.HEAPU32.set(o,s/4);let n=fe.createOnigScanner(r,s,t.length);for(let i=0,l=t.length;i<l;i++)fe.ofree(a[i]);fe.ofree(s),fe.ofree(r),n===0&&Gp(fe),this._onigBinding=fe,this._ptr=n}dispose(){this._onigBinding.freeOnigScanner(this._ptr)}findNextMatchSync(t,a,o){let r=0;if(typeof o=="number"&&(r=o),typeof t=="string"){t=new Xi(t);let s=this._findNextMatchSync(t,a,!1,r);return t.dispose(),s}return this._findNextMatchSync(t,a,!1,r)}_findNextMatchSync(t,a,o,r){let s=this._onigBinding,n=s.findNextOnigScannerMatch(this._ptr,t.id,t.ptr,t.utf8Length,t.convertUtf16OffsetToUtf8(a),r);if(n===0)return null;let i=s.HEAPU32,l=n/4,u=i[l++],c=i[l++],d=[];for(let p=0;p<c;p++){let m=t.convertUtf8OffsetToUtf16(i[l++]),h=t.convertUtf8OffsetToUtf16(i[l++]);d[p]={start:m,end:h,length:h-m}}return{index:u,captureIndices:d}}};function jp(e){return typeof e.instantiator=="function"}function zp(e){return typeof e.default=="function"}function Vp(e){return typeof e.data<"u"}function $p(e){return typeof Response<"u"&&e instanceof Response}function Xp(e){return typeof ArrayBuffer<"u"&&(e instanceof ArrayBuffer||ArrayBuffer.isView(e))||typeof Buffer<"u"&&Buffer.isBuffer?.(e)||typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer||typeof Uint32Array<"u"&&e instanceof Uint32Array}var Za;function Kp(e){if(Za)return Za;async function t(){fe=await Hp(async a=>{let o=e;return o=await o,typeof o=="function"&&(o=await o(a)),typeof o=="function"&&(o=await o(a)),jp(o)?o=await o.instantiator(a):zp(o)?o=await o.default(a):(Vp(o)&&(o=o.data),$p(o)?typeof WebAssembly.instantiateStreaming=="function"?o=await Qp(o)(a):o=await Jp(o)(a):Xp(o)?o=await lr(o)(a):o instanceof WebAssembly.Module?o=await lr(o)(a):"default"in o&&o.default instanceof WebAssembly.Module&&(o=await lr(o.default)(a))),"instance"in o&&(o=o.instance),"exports"in o&&(o=o.exports),o})}return Za=t(),Za}function lr(e){return t=>WebAssembly.instantiate(e,t)}function Qp(e){return t=>WebAssembly.instantiateStreaming(e,t)}function Jp(e){return async t=>{let a=await e.arrayBuffer();return WebAssembly.instantiate(a,t)}}async function Ki(e){return e&&await Kp(e),{createScanner(t){return new ur(t.map(a=>typeof a=="string"?a:a.source))},createString(t){return new Xi(t)}}}var to=Gi({langs:la,themes:$i,engine:()=>Ki(import("../wasm-ISCPKFD2.js"))}),{codeToHtml:Zp,codeToHast:Yp,codeToTokens:em,codeToTokensBase:tm,codeToTokensWithThemes:am,getSingletonHighlighter:om,getLastGrammarState:rm}=ji(to,{guessEmbeddedLanguages:_i});var Qi=new Set(Object.keys(la)),dr=new Map,cr=new Map,kt=new Map,sm=(e,t)=>`${e}-${t[0]}-${t[1]}`,nm=(e,t,a)=>{let o=e.slice(0,100),r=e.length>100?e.slice(-100):"";return`${t}:${a[0]}:${a[1]}:${e.length}:${o}:${r}`},im=(e,t)=>{let a=sm(e,t);if(dr.has(a))return dr.get(a);let o=to({themes:t,langs:[e]});return dr.set(a,o),o};function lm(e={}){var t;let a=(t=e.themes)!=null?t:["github-light","github-dark"];return{name:"shiki",type:"code-highlighter",supportsLanguage(o){return Qi.has(o)},getSupportedLanguages(){return Array.from(Qi)},getThemes(){return a},highlight({code:o,language:r,themes:s},n){let i=nm(o,r,s);return cr.has(i)?cr.get(i):(n&&(kt.has(i)||kt.set(i,new Set),kt.get(i).add(n)),im(r,s).then(l=>{let u=l.getLoadedLanguages().includes(r)?r:"text",c=l.codeToTokens(o,{lang:u,themes:{light:s[0],dark:s[1]}});cr.set(i,c);let d=kt.get(i);if(d){for(let p of d)p(c);kt.delete(i)}}).catch(l=>{console.error("[Streamdown Code] Failed to highlight code:",l),kt.delete(i)}),null)}}}var Ji=lm();import{memo as fm}from"react";f();f();import{useEffect as um,useRef as ao,useState as dm}from"react";var cm=5,Zi=400;function Yi(e,t,a={}){let{msPerChar:o=cm}=a,[r,s]=dm(t?"":e),n=ao(e),i=ao(t?0:e.length),l=ao(0),u=ao(null);return(e.length<i.current||!e.startsWith(r.slice(0,i.current)))&&(i.current=t?0:e.length),n.current=e,um(()=>{if(!t){u.current!==null&&(cancelAnimationFrame(u.current),u.current=null),i.current=e.length,s(e);return}if(n.current.length-i.current>Zi&&(i.current=n.current.length-Zi),u.current!==null)return;let d=p=>{let m=n.current;if(i.current>=m.length){u.current=null;return}l.current===0&&(l.current=p);let h=p-l.current;if(h>=o){let I=Math.min(Math.floor(h/o),m.length-i.current);i.current+=I,s(m.slice(0,i.current)),l.current=p}u.current=requestAnimationFrame(d)};return u.current=requestAnimationFrame(d),()=>{u.current!==null&&(cancelAnimationFrame(u.current),u.current=null)}},[e,t,o]),r}import{jsx as oo}from"react/jsx-runtime";var fr=({className:e,from:t,children:a,...o})=>oo("div",{className:B("ww:group ww:flex ww:w-full",t==="user"?"is-user ww:ml-auto ww:max-w-[80%] ww:flex-col ww:items-end":"is-assistant ww:flex-col",e),...o,children:oo("div",{className:B("ww:flex ww:min-w-0 ww:flex-col ww:gap-2","ww:w-full"),children:a})}),pr=({children:e,className:t,...a})=>oo("div",{className:B("ww:flex ww:w-fit ww:min-w-0 ww:max-w-full ww:flex-col ww:gap-2 ww:overflow-hidden ww:text-base","ww:group-[.is-user]:ml-auto ww:group-[.is-user]:rounded-lg ww:group-[.is-user]:bg-user-bubble ww:group-[.is-user]:px-4 ww:group-[.is-user]:py-3 ww:group-[.is-user]:text-primary-foreground","ww:group-[.is-assistant]:text-foreground",t),...a,children:e}),pm={cjk:Eo,code:Ji},mm={cjk:Eo},hm={enabled:!1};function gm({className:e,linkSafety:t,isStreaming:a,children:o,...r}){let n=Yi(typeof o=="string"?o:"",!!a),i=typeof o=="string"?n:o;return oo(vt,{className:B("ww:size-full ww:[&>*:first-child]:mt-0 ww:[&>*:last-child]:mb-0",e),linkSafety:t??hm,plugins:a?mm:pm,...r,children:i})}var ro=fm(gm,(e,t)=>e.children===t.children&&e.isStreaming===t.isStreaming);ro.displayName="MessageResponse";f();import{createContext as Cm,memo as gr,useCallback as Im,useContext as Sm,useEffect as mr,useMemo as ym,useRef as el,useState as hr}from"react";f();import{memo as wm}from"react";import{jsx as Lm}from"react/jsx-runtime";var xm=({as:e="span",className:t,duration:a=2,style:o,children:r,...s})=>{let n={backgroundImage:"linear-gradient(90deg, var(--ww-color-muted-foreground) 0%, var(--ww-color-muted-foreground) 40%, var(--ww-color-foreground) 50%, var(--ww-color-muted-foreground) 60%, var(--ww-color-muted-foreground) 100%)",backgroundSize:"250% 100%",WebkitBackgroundClip:"text",backgroundClip:"text",color:"transparent",animation:`ww-shimmer ${a}s linear infinite`,...o};return Lm(e,{"data-waniwani-shimmer":"",className:B("ww:inline-block",t),style:n,...s,children:r})},et=wm(xm);et.displayName="Shimmer";import{Fragment as Tm,jsx as Ee,jsxs as vm}from"react/jsx-runtime";var tl=Cm(null);function al(){let e=Sm(tl);if(!e)throw new Error("Reasoning components must be used within <Reasoning>");return e}var bm=1e3,km=1e3,wr=gr(({className:e,isStreaming:t=!1,open:a,defaultOpen:o,onOpenChange:r,duration:s,children:n,...i})=>{let l=o??t,u=o===!1,c=a!==void 0,[d,p]=hr(l),m=c?a:d,h=Im(A=>{c||p(A),r?.(A)},[c,r]),[I,L]=hr(void 0),S=s??I,C=el(t),[g,b]=hr(!1),v=el(null);mr(()=>{t?(C.current=!0,v.current===null&&(v.current=Date.now())):v.current!==null&&(L(Math.ceil((Date.now()-v.current)/km)),v.current=null)},[t]),mr(()=>{t&&!m&&!u&&h(!0)},[t,m,u,h]),mr(()=>{if(C.current&&!t&&m&&!g){let A=setTimeout(()=>{h(!1),b(!0)},bm);return()=>clearTimeout(A)}},[t,m,g,h]);let P=ym(()=>({isStreaming:t,isOpen:m,setIsOpen:h,duration:S}),[t,m,h,S]);return Ee(tl.Provider,{value:P,children:Ee("div",{className:B("ww:mb-4 ww:flex ww:flex-col ww:gap-2",e),"data-state":m?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...i,children:n})})});wr.displayName="Reasoning";var xr=gr(({className:e,children:t,getThinkingMessage:a,onClick:o,...r})=>{let{t:s}=z(),{isStreaming:n,isOpen:i,duration:l,setIsOpen:u}=al(),d=a??((p,m)=>p||m===0?Ee(et,{duration:1.6,children:s.reasoning.thinking}):m===void 0?Ee("span",{children:s.reasoning.thoughtBrief}):Ee("span",{children:s.reasoning.thoughtForSeconds(m)}));return Ee("button",{type:"button","aria-expanded":i,onClick:p=>{u(!i),o?.(p)},className:B("ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),...r,children:t??vm(Tm,{children:[Ee(Ut,{className:"ww:size-4 ww:shrink-0"}),d(n,l)]})})});xr.displayName="ReasoningTrigger";var Lr=gr(({className:e,children:t,...a})=>{let{isOpen:o}=al();return Ee("div",{className:B("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",o?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:Ee("div",{className:"ww:min-h-0 ww:overflow-hidden",children:Ee("div",{className:B("ww:text-sm ww:text-muted-foreground",e),...a,children:Ee(vt,{children:t})})})})});Lr.displayName="ReasoningContent";f();import{createContext as Pm,useCallback as Am,useContext as nl,useEffect as Rm,useMemo as Ir,useRef as Mm,useState as Sr}from"react";import{Fragment as sl,jsx as V,jsxs as dt}from"react/jsx-runtime";function Fm(e,t=80){if(e==null)return String(e);if(typeof e!="object")return String(e).slice(0,t);if(Array.isArray(e))return`Array(${e.length})`;let a=JSON.stringify(e);if(a.length<=t)return a;let o=Object.entries(e),r=[],s=t-2;for(let[n,i]of o){if(s<=8)break;let l=n.length>4?`${n.slice(0,4)}\u2026`:n,u;typeof i=="string"?u=i.length>2?`'${i.slice(0,1)}\u2026`:`'${i}'`:Array.isArray(i)?u=`Array(${i.length})`:typeof i=="object"&&i!==null?u="{\u2026}":u=String(i);let c=`${l}\u2009${u}`;r.push(c),s-=c.length+3}return`{${r.join(", ")}}`}function Dm({text:e,className:t}){let{t:a}=z(),[o,r]=Sr(!1),s=Mm(null);Rm(()=>()=>{s.current&&clearTimeout(s.current)},[]);let n=Am(async i=>{i.stopPropagation();try{await navigator.clipboard.writeText(e),r(!0),s.current&&clearTimeout(s.current),s.current=setTimeout(()=>r(!1),2e3)}catch{}},[e]);return V(Oe,{variant:"ghost",size:"sm",onClick:n,className:B("ww:h-auto ww:gap-1 ww:px-1.5 ww:py-0.5 ww:text-xs ww:text-muted-foreground ww:hover:text-foreground",t),children:o?dt(sl,{children:[V(Ot,{className:"ww:size-3.5"}),V("span",{children:a.tool.copied})]}):dt(sl,{children:[V(Wt,{className:"ww:size-3.5"}),V("span",{children:a.tool.copy})]})})}function il({data:e,label:t,className:a,...o}){let[r,s]=Sr(!1),n=Ir(()=>JSON.stringify(e,null,2),[e]),i=Fm(e);return dt("div",{className:B("ww:rounded-lg ww:bg-tool-card",a),...o,children:[dt("div",{className:"ww:flex ww:items-center ww:justify-between ww:px-3 ww:pt-2.5 ww:pb-1.5",children:[V("span",{className:"ww:text-xs ww:font-medium ww:text-muted-foreground",children:t}),V(Dm,{text:n})]}),dt("button",{type:"button",onClick:()=>s(l=>!l),className:"ww:flex ww:w-full ww:items-start ww:gap-2 ww:px-3 ww:pb-3 ww:text-left",children:[V(qt,{className:B("ww:mt-0.5 ww:size-3.5 ww:shrink-0 ww:text-muted-foreground ww:transition-transform ww:duration-150",r&&"ww:rotate-90")}),r?V("pre",{className:"ww:overflow-x-auto ww:text-xs ww:font-mono ww:text-foreground ww:whitespace-pre-wrap ww:break-all",children:V("code",{children:n})}):V("span",{className:"ww:truncate ww:text-xs ww:font-mono ww:text-foreground/80",children:i})]})]})}var yr=Pm({open:!1,toggle:()=>{}});function ll({className:e,defaultOpen:t=!1,children:a,...o}){let[r,s]=Sr(t);return V(yr.Provider,{value:{open:r,toggle:()=>s(n=>!n)},children:V("div",{className:B("ww:mb-4 ww:w-full",e),"data-state":r?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...o,children:a})})}function ul({className:e,title:t,state:a,...o}){let{open:r,toggle:s}=nl(yr),n=a==="input-available"||a==="input-streaming",i=t??"";return dt("button",{type:"button",onClick:s,className:B("ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),"aria-expanded":r,...o,children:[V(Xe,{className:"ww:size-4 ww:shrink-0"}),V("span",{className:"ww:truncate",children:n?V(et,{duration:1.6,children:i}):i}),V(Ht,{className:B("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",r&&"ww:rotate-180")})]})}function dl({className:e,title:t,state:a,...o}){let r=a==="input-available"||a==="input-streaming",s=t??"";return V("div",{className:B("ww:mb-4 ww:flex ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground",e),style:{animation:"ww-fade-in 0.2s ease-out"},...o,children:V("span",{className:"ww:truncate",children:r?V(et,{duration:1.6,children:s}):s})})}function cl({className:e,children:t,...a}){let{open:o}=nl(yr);return V("div",{className:B("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",o?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:V("div",{className:"ww:min-h-0 ww:overflow-hidden",children:V("div",{className:B("ww:mt-2 ww:space-y-3 ww:rounded-lg ww:border ww:border-border ww:bg-background ww:p-3",e),...a,children:t})})})}function fl({className:e,input:t,debug:a,...o}){let{t:r}=z(),s=Ir(()=>{if(!a&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:n,...i}=t;return i}return t},[t,a]);return V(il,{data:s,label:r.tool.request,className:e,...o})}function Cr(e){if(!(typeof e!="object"||e===null))return e}function pl(e){return Cr(e?.ui)}function ml(e){return Cr(Cr(e)?._meta)}function ol(e){if(!e)return;let t=pl(e)?.resourceUri;if(typeof t=="string"&&t.length>0)return t;let a=e["ui/resourceUri"];if(typeof a=="string"&&a.length>0)return a;let o=e["openai/outputTemplate"];if(typeof o=="string"&&o.length>0)return o}function rl(e){return pl(e)?.autoHeight===!0}function da(e,t,a){if(e){let o=ol(a?.[e]?._meta);if(o)return o}return ol(ml(t))}function hl(e,t,a){return e&&rl(a?.[e]?._meta)?!0:rl(ml(t))}function gl({className:e,output:t,errorText:a,debug:o,...r}){let{t:s}=z(),n=Ir(()=>{if(!o&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:i,...l}=t;return l}return t},[t,o]);return t||a?a?dt("div",{className:B("ww:space-y-2",e),...r,children:[V("h4",{className:"ww:text-xs ww:font-medium ww:uppercase ww:tracking-wide ww:text-muted-foreground",children:s.tool.error}),V("div",{className:"ww:rounded-lg ww:bg-destructive/10 ww:p-3 ww:text-xs ww:text-destructive",children:a})]}):V(il,{data:n,label:s.tool.response,className:e,...r}):null}f();import{jsx as wl,jsxs as Bm}from"react/jsx-runtime";function xl(e){return e.type==="text"||e.type==="reasoning"||e.type==="file"||"toolCallId"in e}function br(e){return e.parts.some(xl)}function Ll(e,t,a){if(t!=="submitted"&&t!=="streaming")return!1;let o=e[e.length-1];return!o||o.role!=="assistant"?!0:!(a?.ignoreToolParts?o.parts.some(s=>xl(s)&&!("toolCallId"in s)):br(o))}function Cl({className:e,...t}){let{t:a}=z();return Bm("div",{"aria-live":"polite",className:B("ww:mb-4 ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground",e),style:{animation:"ww-fade-in 0.2s ease-out"},...t,children:[wl($t,{className:"ww:size-4 ww:shrink-0"}),wl(et,{duration:1.6,children:a.workingIndicator.default})]})}f();import{useCallback as Em,useEffect as Il,useMemo as _m,useRef as Ie,useState as Sl}from"react";import{jsx as $m}from"react/jsx-runtime";var Nm="/api/mcp/resource",Um=500,Om=0,Hm=16,qm="2026-01-26",Wm=300,Gm=3e3,jm=3;function zm(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function Vm(e,t,a){return da(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function yl({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:o=Nm,chatSessionId:r,isDark:s=!1,className:n,autoHeight:i=!1,onOpenLink:l,onFollowUp:u,onCallTool:c,onDisplayModeChange:d,isFullscreen:p=!1,toolDefinitions:m}){let h=Ie(null),I=Ie(t),L=Ie(a),S=Ie({width:0,height:0}),C=Ie(null),g=Ie(!1),b=Ie(0),v=Ie("inline"),[P,A]=Sl(Om),[R,_]=Sl(void 0),M=Ie(l),T=Ie(u),y=Ie(c),D=Ie(d),H=Ie(r),F=Ie(m);I.current=t,L.current=a,M.current=l,T.current=u,y.current=c,D.current=d,H.current=r,F.current=m;let J=Em(ae=>i?Math.max(ae+Hm,0):Math.min(Math.max(ae,50),Um),[i]),_e=_m(()=>{let ae=o.includes("?")?"&":"?";return`${o}${ae}uri=${encodeURIComponent(e)}`},[o,e]),Se=Ie(s);return Se.current=s,Il(()=>{if(!g.current)return;let ae=h.current;ae?.contentWindow&&ae.contentWindow.postMessage({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{theme:s?"dark":"light"}},"*")},[s]),Il(()=>{let ae=h.current;if(!ae)return;let we=!1,Te=!1,Ce=null,ye=null,$e=setTimeout(()=>{if(we||Te||b.current>=jm)return;b.current+=1;let te=new URL(ae.src);te.searchParams.set("_retry",String(b.current)),ae.src=te.toString()},Gm),U=te=>{ae.contentWindow?.postMessage(te,"*")},de=te=>{if(we||te.source!==ae.contentWindow)return;let K=te.data;if(!K||typeof K!="object"||K.jsonrpc!=="2.0")return;let oe=K.method,q=K.id;if(oe==="ui/initialize"&&q!=null){Te=!0,clearTimeout($e),U({jsonrpc:"2.0",id:q,result:{protocolVersion:K.params?.protocolVersion??qm,hostInfo:{name:"WaniWani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:Se.current?"dark":"light",displayMode:v.current}}});return}if(oe==="ui/notifications/initialized"){g.current=!0;let j=I.current,$=L.current,Z=$._meta&&typeof $._meta=="object"?$._meta:null,Q=zm(H.current),se=Z&&typeof Z.waniwani=="object"&&Z.waniwani!==null?Z.waniwani:null,be=se||Q?{...se??{},...Q?{sessionId:Q}:{}}:void 0,Re=Z||be?{...Z??{},...be?{waniwani:be}:{}}:void 0;U({jsonrpc:"2.0",method:"ui/notifications/tool-input",params:{arguments:j}});let mt=$.content??[{type:"text",text:JSON.stringify($)}];U({jsonrpc:"2.0",method:"ui/notifications/tool-result",params:{content:mt,structuredContent:$.structuredContent,_meta:Re,meta:Re}});return}if(oe==="ui/notifications/size-changed"){let j=K.params,$=typeof j?.height=="number"?j.height:void 0,Z=typeof j?.width=="number"?j.width:void 0,Q=S.current,se=$!==void 0&&$!==Q.height,be=Z!==void 0&&Z!==Q.width;if(!se&&!be)return;if(se&&$!==void 0){Q.height=$;let Re=J($),mt=ae.getBoundingClientRect().height;if(C.current&&(C.current.cancel(),C.current=null),A(Re),ae.animate&&Math.abs(mt-Re)>2){let ht=ae.animate([{height:`${mt}px`},{height:`${Re}px`}],{duration:Wm,easing:"ease-out",fill:"forwards"});C.current=ht,ht.onfinish=()=>{C.current===ht&&(ht.cancel(),C.current=null)}}}be&&i&&Z!==void 0&&(Q.width=Z,_(Z));return}if(oe==="ui/open-link"&&q!=null){let j=K.params?.url;typeof j=="string"&&(M.current?M.current(j):window.open(j,"_blank","noopener,noreferrer")),U({jsonrpc:"2.0",id:q,result:{}});return}if(oe==="ui/message"&&q!=null){if(T.current&&K.params){let j=K.params,$=Ce;if(Ce=null,ye){clearTimeout(ye.timer);let Z=ye.text;ye=null;let Q=(j.content??[]).map(se=>se.text??"").join("").trim();j={...j,content:[{type:"text",text:`${Q}
78
+ \f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function qi(e,t,a,o){let r=o.schema,n=r.space==="svg"?!1:o.settings.omitOptionalTags,s=r.space==="svg"?o.settings.closeEmptyElements:o.settings.voids.includes(e.tagName.toLowerCase()),i=[],l;r.space==="html"&&e.tagName==="svg"&&(o.schema=ya);let u=Cp(o,e.properties),c=o.all(r.space==="html"&&e.tagName==="template"?e.content:e);return o.schema=r,c&&(s=!1),(u||!n||!Hi(e,t,a))&&(i.push("<",e.tagName,u?" "+u:""),s&&(r.space==="svg"||o.settings.closeSelfClosing)&&(l=u.charAt(u.length-1),(!o.settings.tightSelfClosing||l==="/"||l&&l!=='"'&&l!=="'")&&i.push(" "),i.push("/")),i.push(">")),i.push(c),!s&&(!n||!fa(e,t,a))&&i.push("</"+e.tagName+">"),i.join("")}function Cp(e,t){let a=[],o=-1,r;if(t){for(r in t)if(t[r]!==null&&t[r]!==void 0){let n=Ip(e,r,t[r]);n&&a.push(n)}}for(;++o<a.length;){let n=e.settings.tightAttributes?a[o].charAt(a[o].length-1):void 0;o!==a.length-1&&n!=='"'&&n!=="'"&&(a[o]+=" ")}return a.join("")}function Ip(e,t,a){let o=Zr(e.schema,t),r=e.settings.allowParseErrors&&e.schema.space==="html"?0:1,n=e.settings.allowDangerousCharacters?0:1,s=e.quote,i;if(o.overloadedBoolean&&(a===o.attribute||a==="")?a=!0:(o.boolean||o.overloadedBoolean)&&(typeof a!="string"||a===o.attribute||a==="")&&(a=!!a),a==null||a===!1||typeof a=="number"&&Number.isNaN(a))return"";let l=Xe(o.attribute,Object.assign({},e.settings.characterReferences,{subset:Qa.name[r][n]}));return a===!0||(a=Array.isArray(a)?(o.commaSeparated?en:tn)(a,{padLeft:!e.settings.tightCommaSeparatedLists}):String(a),e.settings.collapseEmptyAttributes&&!a)?l:(e.settings.preferUnquoted&&(i=Xe(a,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:Qa.unquoted[r][n]}))),i!==a&&(e.settings.quoteSmart&&yo(a,s)>yo(a,e.alternative)&&(s=e.alternative),i=s+Xe(a,Object.assign({},e.settings.characterReferences,{subset:(s==="'"?Qa.single:Qa.double)[r][n],attribute:!0}))+s),l+(i&&"="+i))}f();f();var Sp=["<","&"];function Ja(e,t,a,o){return a&&a.type==="element"&&(a.tagName==="script"||a.tagName==="style")?e.value:Xe(e.value,Object.assign({},o.settings.characterReferences,{subset:Sp}))}function Wi(e,t,a,o){return o.settings.allowDangerousHtml?e.value:Ja(e,t,a,o)}f();function Gi(e,t,a,o){return o.all(e)}var ji=an("type",{invalid:yp,unknown:bp,handlers:{comment:Ei,doctype:_i,element:qi,raw:Wi,root:Gi,text:Ja}});function yp(e){throw new Error("Expected node, not `"+e+"`")}function bp(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var kp={},Tp={},vp=[];function ir(e,t){let a=t||kp,o=a.quote||'"',r=o==='"'?"'":'"';if(o!=='"'&&o!=="'")throw new Error("Invalid quote `"+o+"`, expected `'` or `\"`");return{one:Pp,all:Ap,settings:{omitOptionalTags:a.omitOptionalTags||!1,allowParseErrors:a.allowParseErrors||!1,allowDangerousCharacters:a.allowDangerousCharacters||!1,quoteSmart:a.quoteSmart||!1,preferUnquoted:a.preferUnquoted||!1,tightAttributes:a.tightAttributes||!1,upperDoctype:a.upperDoctype||!1,tightDoctype:a.tightDoctype||!1,bogusComments:a.bogusComments||!1,tightCommaSeparatedLists:a.tightCommaSeparatedLists||!1,tightSelfClosing:a.tightSelfClosing||!1,collapseEmptyAttributes:a.collapseEmptyAttributes||!1,allowDangerousHtml:a.allowDangerousHtml||!1,voids:a.voids||on,characterReferences:a.characterReferences||Tp,closeSelfClosing:a.closeSelfClosing||!1,closeEmptyElements:a.closeEmptyElements||!1},schema:a.space==="svg"?ya:Yr,quote:o,alternative:r}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function Pp(e,t,a){return ji(e,t,a,this)}function Ap(e){let t=[],a=e&&e.children||vp,o=-1;for(;++o<a.length;)t[o]=this.one(a[o],o,e);return t.join("")}function Za(e,t){let a=typeof e=="string"?{}:{...e.colorReplacements},o=typeof e=="string"?e:e.name;for(let[r,n]of Object.entries(t?.colorReplacements||{}))typeof n=="string"?a[r]=n:r===o&&Object.assign(a,n);return a}function at(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function Rp(e){return Array.isArray(e)?e:[e]}async function Ji(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function pr(e){return!e||["plaintext","txt","text","plain"].includes(e)}function Zi(e){return e==="ansi"||pr(e)}function mr(e){return e==="none"}function Yi(e){return mr(e)}function el(e,t){if(!t)return e;e.properties||={},e.properties.class||=[],typeof e.properties.class=="string"&&(e.properties.class=e.properties.class.split(/\s+/g)),Array.isArray(e.properties.class)||(e.properties.class=[]);let a=Array.isArray(t)?t:t.split(/\s+/g);for(let o of a)o&&!e.properties.class.includes(o)&&e.properties.class.push(o);return e}function oo(e,t=!1){if(e.length===0)return[["",0]];let a=e.split(/(\r?\n)/g),o=0,r=[];for(let n=0;n<a.length;n+=2){let s=t?a[n]+(a[n+1]||""):a[n];r.push([s,o]),o+=a[n].length,o+=a[n+1]?.length||0}return r}function Mp(e){let t=oo(e,!0).map(([r])=>r);function a(r){if(r===e.length)return{line:t.length-1,character:t[t.length-1].length};let n=r,s=0;for(let i of t){if(n<i.length)break;n-=i.length,s++}return{line:s,character:n}}function o(r,n){let s=0;for(let i=0;i<r;i++)s+=t[i].length;return s+=n,s}return{lines:t,indexToPos:a,posToIndex:o}}function tl(e,t,a){let o=new Set;for(let n of e.matchAll(/:?lang=["']([^"']+)["']/g)){let s=n[1].toLowerCase().trim();s&&o.add(s)}for(let n of e.matchAll(/(?:```|~~~)([\w-]+)/g)){let s=n[1].toLowerCase().trim();s&&o.add(s)}for(let n of e.matchAll(/\\begin\{([\w-]+)\}/g)){let s=n[1].toLowerCase().trim();s&&o.add(s)}for(let n of e.matchAll(/<script\s+(?:type|lang)=["']([^"']+)["']/gi)){let s=n[1].toLowerCase().trim(),i=s.includes("/")?s.split("/").pop():s;i&&o.add(i)}if(!a)return Array.from(o);let r=a.getBundledLanguages();return Array.from(o).filter(n=>n&&r[n])}var hr="light-dark()",Fp=["color","background-color"];function Dp(e,t){let a=0,o=[];for(let r of t)r>a&&o.push({...e,content:e.content.slice(a,r),offset:e.offset+a}),a=r;return a<e.content.length&&o.push({...e,content:e.content.slice(a),offset:e.offset+a}),o}function Bp(e,t){let a=Array.from(t instanceof Set?t:new Set(t)).sort((o,r)=>o-r);return a.length?e.map(o=>o.flatMap(r=>{let n=a.filter(s=>r.offset<s&&s<r.offset+r.content.length).map(s=>s-r.offset).sort((s,i)=>s-i);return n.length?Dp(r,n):r})):e}function Ep(e,t,a,o,r="css-vars"){let n={content:e.content,explanation:e.explanation,offset:e.offset},s=t.map(c=>Ya(e.variants[c])),i=new Set(s.flatMap(c=>Object.keys(c))),l={},u=(c,d)=>{let p=d==="color"?"":d==="background-color"?"-bg":`-${d}`;return a+t[c]+(d==="color"?"":p)};return s.forEach((c,d)=>{for(let p of i){let m=c[p]||"inherit";if(d===0&&o&&Fp.includes(p))if(o===hr&&s.length>1){let h=t.findIndex(C=>C==="light"),I=t.findIndex(C=>C==="dark");if(h===-1||I===-1)throw new ae('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let L=s[h][p]||"inherit",S=s[I][p]||"inherit";l[p]=`light-dark(${L}, ${S})`,r==="css-vars"&&(l[u(d,p)]=m)}else l[p]=m;else r==="css-vars"&&(l[u(d,p)]=m)}}),n.htmlStyle=l,n}function Ya(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t["background-color"]=e.bgColor),e.fontStyle){e.fontStyle&ge.Italic&&(t["font-style"]="italic"),e.fontStyle&ge.Bold&&(t["font-weight"]="bold");let a=[];e.fontStyle&ge.Underline&&a.push("underline"),e.fontStyle&ge.Strikethrough&&a.push("line-through"),a.length&&(t["text-decoration"]=a.join(" "))}return t}function dr(e){return typeof e=="string"?e:Object.entries(e).map(([t,a])=>`${t}:${a}`).join(";")}var al=new WeakMap;function ro(e,t){al.set(e,t)}function ma(e){return al.get(e)}var At=class e{_stacks={};lang;get themes(){return Object.keys(this._stacks)}get theme(){return this.themes[0]}get _stack(){return this._stacks[this.theme]}static initial(t,a){return new e(Object.fromEntries(Rp(a).map(o=>[o,Va])),t)}constructor(...t){if(t.length===2){let[a,o]=t;this.lang=o,this._stacks=a}else{let[a,o,r]=t;this.lang=o,this._stacks={[r]:a}}}getInternalStack(t=this.theme){return this._stacks[t]}getScopes(t=this.theme){return _p(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function _p(e){let t=[],a=new Set;function o(r){if(a.has(r))return;a.add(r);let n=r?.nameScopesList?.scopeName;n&&t.push(n),r.parent&&o(r.parent)}return o(e),t}function Np(e,t){if(!(e instanceof At))throw new ae("Invalid grammar state");return e.getInternalStack(t)}function Op(){let e=new WeakMap;function t(a){if(!e.has(a.meta)){let o=function(s){if(typeof s=="number"){if(s<0||s>a.source.length)throw new ae(`Invalid decoration offset: ${s}. Code length: ${a.source.length}`);return{...r.indexToPos(s),offset:s}}else{let i=r.lines[s.line];if(i===void 0)throw new ae(`Invalid decoration position ${JSON.stringify(s)}. Lines length: ${r.lines.length}`);let l=s.character;if(l<0&&(l=i.length+l),l<0||l>i.length)throw new ae(`Invalid decoration position ${JSON.stringify(s)}. Line ${s.line} length: ${i.length}`);return{...s,character:l,offset:r.posToIndex(s.line,l)}}},r=Mp(a.source),n=(a.options.decorations||[]).map(s=>({...s,start:o(s.start),end:o(s.end)}));Up(n),e.set(a.meta,{decorations:n,converter:r,source:a.source})}return e.get(a.meta)}return{name:"shiki:decorations",tokens(a){if(!this.options.decorations?.length)return;let r=t(this).decorations.flatMap(s=>[s.start.offset,s.end.offset]);return Bp(a,r)},code(a){if(!this.options.decorations?.length)return;let o=t(this),r=Array.from(a.children).filter(c=>c.type==="element"&&c.tagName==="span");if(r.length!==o.converter.lines.length)throw new ae(`Number of lines in code element (${r.length}) does not match the number of lines in the source (${o.converter.lines.length}). Failed to apply decorations.`);function n(c,d,p,m){let h=r[c],I="",L=-1,S=-1;if(d===0&&(L=0),p===0&&(S=0),p===Number.POSITIVE_INFINITY&&(S=h.children.length),L===-1||S===-1)for(let g=0;g<h.children.length;g++)I+=ol(h.children[g]),L===-1&&I.length===d&&(L=g+1),S===-1&&I.length===p&&(S=g+1);if(L===-1)throw new ae(`Failed to find start index for decoration ${JSON.stringify(m.start)}`);if(S===-1)throw new ae(`Failed to find end index for decoration ${JSON.stringify(m.end)}`);let C=h.children.slice(L,S);if(!m.alwaysWrap&&C.length===h.children.length)i(h,m,"line");else if(!m.alwaysWrap&&C.length===1&&C[0].type==="element")i(C[0],m,"token");else{let g={type:"element",tagName:"span",properties:{},children:C};i(g,m,"wrapper"),h.children.splice(L,C.length,g)}}function s(c,d){r[c]=i(r[c],d,"line")}function i(c,d,p){let m=d.properties||{},h=d.transform||(I=>I);return c.tagName=d.tagName||"span",c.properties={...c.properties,...m,class:c.properties.class},d.properties?.class&&el(c,d.properties.class),c=h(c,p)||c,c}let l=[],u=o.decorations.sort((c,d)=>d.start.offset-c.start.offset||c.end.offset-d.end.offset);for(let c of u){let{start:d,end:p}=c;if(d.line===p.line)n(d.line,d.character,p.character,c);else if(d.line<p.line){n(d.line,d.character,Number.POSITIVE_INFINITY,c);for(let m=d.line+1;m<p.line;m++)l.unshift(()=>s(m,c));n(p.line,0,p.character,c)}}l.forEach(c=>c())}}}function Up(e){for(let t=0;t<e.length;t++){let a=e[t];if(a.start.offset>a.end.offset)throw new ae(`Invalid decoration range: ${JSON.stringify(a.start)} - ${JSON.stringify(a.end)}`);for(let o=t+1;o<e.length;o++){let r=e[o],n=a.start.offset<=r.start.offset&&r.start.offset<a.end.offset,s=a.start.offset<r.end.offset&&r.end.offset<=a.end.offset,i=r.start.offset<=a.start.offset&&a.start.offset<r.end.offset,l=r.start.offset<a.end.offset&&a.end.offset<=r.end.offset;if(n||s||i||l){if(n&&s||i&&l||i&&a.start.offset===a.end.offset||s&&r.start.offset===r.end.offset)continue;throw new ae(`Decorations ${JSON.stringify(a.start)} and ${JSON.stringify(r.start)} intersect.`)}}}}function ol(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(ol).join(""):""}var Hp=[Op()];function eo(e){let t=qp(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...Hp]}function qp(e){let t=[],a=[],o=[];for(let r of e)switch(r.enforce){case"pre":t.push(r);break;case"post":a.push(r);break;default:o.push(r)}return{pre:t,post:a,normal:o}}var ht=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],lr={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function Wp(e,t){let a=e.indexOf("\x1B",t);if(a!==-1&&e[a+1]==="["){let o=e.indexOf("m",a);if(o!==-1)return{sequence:e.substring(a+2,o).split(";"),startPosition:a,position:o+1}}return{position:e.length}}function zi(e){let t=e.shift();if(t==="2"){let a=e.splice(0,3).map(o=>Number.parseInt(o));return a.length!==3||a.some(o=>Number.isNaN(o))?void 0:{type:"rgb",rgb:a}}else if(t==="5"){let a=e.shift();if(a)return{type:"table",index:Number(a)}}}function Gp(e){let t=[];for(;e.length>0;){let a=e.shift();if(!a)continue;let o=Number.parseInt(a);if(!Number.isNaN(o))if(o===0)t.push({type:"resetAll"});else if(o<=9)lr[o]&&t.push({type:"setDecoration",value:lr[o]});else if(o<=29){let r=lr[o-20];r&&(t.push({type:"resetDecoration",value:r}),r==="dim"&&t.push({type:"resetDecoration",value:"bold"}))}else if(o<=37)t.push({type:"setForegroundColor",value:{type:"named",name:ht[o-30]}});else if(o===38){let r=zi(e);r&&t.push({type:"setForegroundColor",value:r})}else if(o===39)t.push({type:"resetForegroundColor"});else if(o<=47)t.push({type:"setBackgroundColor",value:{type:"named",name:ht[o-40]}});else if(o===48){let r=zi(e);r&&t.push({type:"setBackgroundColor",value:r})}else o===49?t.push({type:"resetBackgroundColor"}):o===53?t.push({type:"setDecoration",value:"overline"}):o===55?t.push({type:"resetDecoration",value:"overline"}):o>=90&&o<=97?t.push({type:"setForegroundColor",value:{type:"named",name:ht[o-90+8]}}):o>=100&&o<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:ht[o-100+8]}})}return t}function jp(){let e=null,t=null,a=new Set;return{parse(o){let r=[],n=0;do{let s=Wp(o,n),i=s.sequence?o.substring(n,s.startPosition):o.substring(n);if(i.length>0&&r.push({value:i,foreground:e,background:t,decorations:new Set(a)}),s.sequence){let l=Gp(s.sequence);for(let u of l)u.type==="resetAll"?(e=null,t=null,a.clear()):u.type==="resetForegroundColor"?e=null:u.type==="resetBackgroundColor"?t=null:u.type==="resetDecoration"&&a.delete(u.value);for(let u of l)u.type==="setForegroundColor"?e=u.value:u.type==="setBackgroundColor"?t=u.value:u.type==="setDecoration"&&a.add(u.value)}n=s.position}while(n<o.length);return r}}}var zp={black:"#000000",red:"#bb0000",green:"#00bb00",yellow:"#bbbb00",blue:"#0000bb",magenta:"#ff00ff",cyan:"#00bbbb",white:"#eeeeee",brightBlack:"#555555",brightRed:"#ff5555",brightGreen:"#00ff00",brightYellow:"#ffff55",brightBlue:"#5555ff",brightMagenta:"#ff55ff",brightCyan:"#55ffff",brightWhite:"#ffffff"};function Vp(e=zp){function t(i){return e[i]}function a(i){return`#${i.map(l=>Math.max(0,Math.min(l,255)).toString(16).padStart(2,"0")).join("")}`}let o;function r(){if(o)return o;o=[];for(let u=0;u<ht.length;u++)o.push(t(ht[u]));let i=[0,95,135,175,215,255];for(let u=0;u<6;u++)for(let c=0;c<6;c++)for(let d=0;d<6;d++)o.push(a([i[u],i[c],i[d]]));let l=8;for(let u=0;u<24;u++,l+=10)o.push(a([l,l,l]));return o}function n(i){return r()[i]}function s(i){switch(i.type){case"named":return t(i.name);case"rgb":return a(i.rgb);case"table":return n(i.index)}}return{value:s}}var $p={black:"#000000",red:"#cd3131",green:"#0DBC79",yellow:"#E5E510",blue:"#2472C8",magenta:"#BC3FBC",cyan:"#11A8CD",white:"#E5E5E5",brightBlack:"#666666",brightRed:"#F14C4C",brightGreen:"#23D18B",brightYellow:"#F5F543",brightBlue:"#3B8EEA",brightMagenta:"#D670D6",brightCyan:"#29B8DB",brightWhite:"#FFFFFF"};function Xp(e,t,a){let o=Za(e,a),r=oo(t),n=Object.fromEntries(ht.map(l=>{let u=`terminal.ansi${l[0].toUpperCase()}${l.substring(1)}`,c=e.colors?.[u];return[l,c||$p[l]]})),s=Vp(n),i=jp();return r.map(l=>i.parse(l[0]).map(u=>{let c,d;u.decorations.has("reverse")?(c=u.background?s.value(u.background):e.bg,d=u.foreground?s.value(u.foreground):e.fg):(c=u.foreground?s.value(u.foreground):e.fg,d=u.background?s.value(u.background):void 0),c=at(c,o),d=at(d,o),u.decorations.has("dim")&&(c=Kp(c));let p=ge.None;return u.decorations.has("bold")&&(p|=ge.Bold),u.decorations.has("italic")&&(p|=ge.Italic),u.decorations.has("underline")&&(p|=ge.Underline),u.decorations.has("strikethrough")&&(p|=ge.Strikethrough),{content:u.value,offset:l[1],color:c,bgColor:d,fontStyle:p}}))}function Kp(e){let t=e.match(/#([0-9a-f]{3,8})/i);if(t){let o=t[1];if(o.length===8){let r=Math.round(Number.parseInt(o.slice(6,8),16)/2).toString(16).padStart(2,"0");return`#${o.slice(0,6)}${r}`}else{if(o.length===6)return`#${o}80`;if(o.length===4){let r=o[0],n=o[1],s=o[2],i=o[3],l=Math.round(Number.parseInt(`${i}${i}`,16)/2).toString(16).padStart(2,"0");return`#${r}${r}${n}${n}${s}${s}${l}`}else if(o.length===3){let r=o[0],n=o[1],s=o[2];return`#${r}${r}${n}${n}${s}${s}80`}}}let a=e.match(/var\((--[\w-]+-ansi-[\w-]+)\)/);return a?`var(${a[1]}-dim)`:e}function gr(e,t,a={}){let{theme:o=e.getLoadedThemes()[0]}=a,r=e.resolveLangAlias(a.lang||"text");if(pr(r)||mr(o))return oo(t).map(l=>[{content:l[0],offset:l[1]}]);let{theme:n,colorMap:s}=e.setTheme(o);if(r==="ansi")return Xp(n,t,a);let i=e.getLanguage(a.lang||"text");if(a.grammarState){if(a.grammarState.lang!==i.name)throw new ae(`Grammar state language "${a.grammarState.lang}" does not match highlight language "${i.name}"`);if(!a.grammarState.themes.includes(n.name))throw new ae(`Grammar state themes "${a.grammarState.themes}" do not contain highlight theme "${n.name}"`)}return Jp(t,i,n,s,a)}function Qp(...e){if(e.length===2)return ma(e[1]);let[t,a,o={}]=e,{lang:r="text",theme:n=t.getLoadedThemes()[0]}=o;if(pr(r)||mr(n))throw new ae("Plain language does not have grammar state");if(r==="ansi")throw new ae("ANSI language does not have grammar state");let{theme:s,colorMap:i}=t.setTheme(n),l=t.getLanguage(r);return new At(wr(a,l,s,i,o).stateStack,l.name,s.name)}function Jp(e,t,a,o,r){let n=wr(e,t,a,o,r),s=new At(n.stateStack,t.name,a.name);return ro(n.tokens,s),n.tokens}function wr(e,t,a,o,r){let n=Za(a,r),{tokenizeMaxLineLength:s=0,tokenizeTimeLimit:i=500}=r,l=oo(e),u=r.grammarState?Np(r.grammarState,a.name)??Va:r.grammarContextCode!=null?wr(r.grammarContextCode,t,a,o,{...r,grammarState:void 0,grammarContextCode:void 0}).stateStack:Va,c=[],d=[];for(let p=0,m=l.length;p<m;p++){let[h,I]=l[p];if(h===""){c=[],d.push([]);continue}if(s>0&&h.length>=s){c=[],d.push([{content:h,offset:I,color:"",fontStyle:0}]);continue}let L,S,C;r.includeExplanation&&(L=t.tokenizeLine(h,u,i),S=L.tokens,C=0);let g=t.tokenizeLine2(h,u,i),y=g.tokens.length/2;for(let A=0;A<y;A++){let R=g.tokens[2*A],P=A+1<y?g.tokens[2*A+2]:h.length;if(R===P)continue;let M=g.tokens[2*A+1],N=at(o[mt.getForeground(M)],n),D=mt.getFontStyle(M),_={content:h.substring(R,P),offset:I+R,color:N,fontStyle:D};if(r.includeExplanation){let T=[];if(r.includeExplanation!=="scopeName")for(let k of a.settings){let v;switch(typeof k.scope){case"string":v=k.scope.split(/,/).map(q=>q.trim());break;case"object":v=k.scope;break;default:continue}T.push({settings:k,selectors:v.map(q=>q.split(/ /))})}_.explanation=[];let E=0;for(;R+E<P;){let k=S[C],v=h.substring(k.startIndex,k.endIndex);E+=v.length,_.explanation.push({content:v,scopes:r.includeExplanation==="scopeName"?Zp(k.scopes):Yp(T,k.scopes)}),C+=1}}c.push(_)}d.push(c),c=[],u=g.ruleStack}return{tokens:d,stateStack:u}}function Zp(e){return e.map(t=>({scopeName:t}))}function Yp(e,t){let a=[];for(let o=0,r=t.length;o<r;o++){let n=t[o];a[o]={scopeName:n,themeMatches:tm(e,n,t.slice(0,o))}}return a}function Vi(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function em(e,t,a){if(!Vi(e[e.length-1],t))return!1;let o=e.length-2,r=a.length-1;for(;o>=0&&r>=0;)Vi(e[o],a[r])&&(o-=1),r-=1;return o===-1}function tm(e,t,a){let o=[];for(let{selectors:r,settings:n}of e)for(let s of r)if(em(s,t,a)){o.push(n);break}return o}function rl(e,t,a){let o=Object.entries(a.themes).filter(l=>l[1]).map(l=>({color:l[0],theme:l[1]})),r=o.map(l=>{let u=gr(e,t,{...a,theme:l.theme}),c=ma(u),d=typeof l.theme=="string"?l.theme:l.theme.name;return{tokens:u,state:c,theme:d}}),n=am(...r.map(l=>l.tokens)),s=n[0].map((l,u)=>l.map((c,d)=>{let p={content:c.content,variants:{},offset:c.offset};return"includeExplanation"in a&&a.includeExplanation&&(p.explanation=c.explanation),n.forEach((m,h)=>{let{content:I,explanation:L,offset:S,...C}=m[u][d];p.variants[o[h].color]=C}),p})),i=r[0].state?new At(Object.fromEntries(r.map(l=>[l.theme,l.state?.getInternalStack(l.theme)])),r[0].state.lang):void 0;return i&&ro(s,i),s}function am(...e){let t=e.map(()=>[]),a=e.length;for(let o=0;o<e[0].length;o++){let r=e.map(l=>l[o]),n=t.map(()=>[]);t.forEach((l,u)=>l.push(n[u]));let s=r.map(()=>0),i=r.map(l=>l[0]);for(;i.every(l=>l);){let l=Math.min(...i.map(u=>u.content.length));for(let u=0;u<a;u++){let c=i[u];c.content.length===l?(n[u].push(c),s[u]+=1,i[u]=r[u][s[u]]):(n[u].push({...c,content:c.content.slice(0,l)}),i[u]={...c,content:c.content.slice(l),offset:c.offset+l})}}}return t}function to(e,t,a){let o,r,n,s,i,l;if("themes"in a){let{defaultColor:u="light",cssVariablePrefix:c="--shiki-",colorsRendering:d="css-vars"}=a,p=Object.entries(a.themes).filter(S=>S[1]).map(S=>({color:S[0],theme:S[1]})).sort((S,C)=>S.color===u?-1:C.color===u?1:0);if(p.length===0)throw new ae("`themes` option must not be empty");let m=rl(e,t,a);if(l=ma(m),u&&hr!==u&&!p.find(S=>S.color===u))throw new ae(`\`themes\` option must contain the defaultColor key \`${u}\``);let h=p.map(S=>e.getTheme(S.theme)),I=p.map(S=>S.color);n=m.map(S=>S.map(C=>Ep(C,I,c,u,d))),l&&ro(n,l);let L=p.map(S=>Za(S.theme,a));r=$i(p,h,L,c,u,"fg",d),o=$i(p,h,L,c,u,"bg",d),s=`shiki-themes ${h.map(S=>S.name).join(" ")}`,i=u?void 0:[r,o].join(";")}else if("theme"in a){let u=Za(a.theme,a);n=gr(e,t,a);let c=e.getTheme(a.theme);o=at(c.bg,u),r=at(c.fg,u),s=c.name,l=ma(n)}else throw new ae("Invalid options, either `theme` or `themes` must be provided");return{tokens:n,fg:r,bg:o,themeName:s,rootStyle:i,grammarState:l}}function $i(e,t,a,o,r,n,s){return e.map((i,l)=>{let u=at(t[l][n],a[l])||"inherit",c=`${o+i.color}${n==="bg"?"-bg":""}:${u}`;if(l===0&&r){if(r===hr&&e.length>1){let d=e.findIndex(I=>I.color==="light"),p=e.findIndex(I=>I.color==="dark");if(d===-1||p===-1)throw new ae('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let m=at(t[d][n],a[d])||"inherit",h=at(t[p][n],a[p])||"inherit";return`light-dark(${m}, ${h});${c}`}return u}return s==="css-vars"?c:null}).filter(i=>!!i).join(";")}function ao(e,t,a,o={meta:{},options:a,codeToHast:(r,n)=>ao(e,r,n),codeToTokens:(r,n)=>to(e,r,n)}){let r=t;for(let h of eo(a))r=h.preprocess?.call(o,r,a)||r;let{tokens:n,fg:s,bg:i,themeName:l,rootStyle:u,grammarState:c}=to(e,r,a),{mergeWhitespaces:d=!0,mergeSameStyleTokens:p=!1}=a;d===!0?n=rm(n):d==="never"&&(n=nm(n)),p&&(n=sm(n));let m={...o,get source(){return r}};for(let h of eo(a))n=h.tokens?.call(m,n)||n;return om(n,{...a,fg:s,bg:i,themeName:l,rootStyle:a.rootStyle===!1?!1:a.rootStyle??u},m,c)}function om(e,t,a,o=ma(e)){let r=eo(t),n=[],s={type:"root",children:[]},{structure:i="classic",tabindex:l="0"}=t,u={class:`shiki ${t.themeName||""}`};t.rootStyle!==!1&&(t.rootStyle!=null?u.style=t.rootStyle:u.style=`background-color:${t.bg};color:${t.fg}`),l!==!1&&l!=null&&(u.tabindex=l.toString());for(let[I,L]of Object.entries(t.meta||{}))I.startsWith("_")||(u[I]=L);let c={type:"element",tagName:"pre",properties:u,children:[],data:t.data},d={type:"element",tagName:"code",properties:{},children:n},p=[],m={...a,structure:i,addClassToHast:el,get source(){return a.source},get tokens(){return e},get options(){return t},get root(){return s},get pre(){return c},get code(){return d},get lines(){return p}};if(e.forEach((I,L)=>{L&&(i==="inline"?s.children.push({type:"element",tagName:"br",properties:{},children:[]}):i==="classic"&&n.push({type:"text",value:`
79
+ `}));let S={type:"element",tagName:"span",properties:{class:"line"},children:[]},C=0;for(let g of I){let y={type:"element",tagName:"span",properties:{...g.htmlAttrs},children:[{type:"text",value:g.content}]},A=dr(g.htmlStyle||Ya(g));A&&(y.properties.style=A);for(let R of r)y=R?.span?.call(m,y,L+1,C,S,g)||y;i==="inline"?s.children.push(y):i==="classic"&&S.children.push(y),C+=g.content.length}if(i==="classic"){for(let g of r)S=g?.line?.call(m,S,L+1)||S;p.push(S),n.push(S)}else i==="inline"&&p.push(S)}),i==="classic"){for(let I of r)d=I?.code?.call(m,d)||d;c.children.push(d);for(let I of r)c=I?.pre?.call(m,c)||c;s.children.push(c)}else if(i==="inline"){let I=[],L={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(let g of s.children)g.type==="element"&&g.tagName==="br"?(I.push(L),L={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(g.type==="element"||g.type==="text")&&L.children.push(g);I.push(L);let C={type:"element",tagName:"code",properties:{},children:I};for(let g of r)C=g?.code?.call(m,C)||C;s.children=[];for(let g=0;g<C.children.length;g++){g>0&&s.children.push({type:"element",tagName:"br",properties:{},children:[]});let y=C.children[g];y.type==="element"&&s.children.push(...y.children)}}let h=s;for(let I of r)h=I?.root?.call(m,h)||h;return o&&ro(h,o),h}function rm(e){return e.map(t=>{let a=[],o="",r;return t.forEach((n,s)=>{let l=!(n.fontStyle&&(n.fontStyle&ge.Underline||n.fontStyle&ge.Strikethrough));l&&n.content.match(/^\s+$/)&&t[s+1]?(r===void 0&&(r=n.offset),o+=n.content):o?(l?a.push({...n,offset:r,content:o+n.content}):a.push({content:o,offset:r},n),r=void 0,o=""):a.push(n)}),a})}function nm(e){return e.map(t=>t.flatMap(a=>{if(a.content.match(/^\s+$/))return a;let o=a.content.match(/^(\s*)(.*?)(\s*)$/);if(!o)return a;let[,r,n,s]=o;if(!r&&!s)return a;let i=[{...a,offset:a.offset+r.length,content:n}];return r&&i.unshift({content:r,offset:a.offset}),s&&i.push({content:s,offset:a.offset+r.length+n.length}),i}))}function sm(e){return e.map(t=>{let a=[];for(let o of t){if(a.length===0){a.push({...o});continue}let r=a[a.length-1],n=dr(r.htmlStyle||Ya(r)),s=dr(o.htmlStyle||Ya(o)),i=r.fontStyle&&(r.fontStyle&ge.Underline||r.fontStyle&ge.Strikethrough),l=o.fontStyle&&(o.fontStyle&ge.Underline||o.fontStyle&ge.Strikethrough);!i&&!l&&n===s?r.content+=o.content:a.push({...o})}return a})}var im=ir;function lm(e,t,a){let o={meta:{},options:a,codeToHast:(n,s)=>ao(e,n,s),codeToTokens:(n,s)=>to(e,n,s)},r=im(ao(e,t,a,o));for(let n of eo(a))r=n.postprocess?.call(o,r,a)||r;return r}var Xi={light:"#333333",dark:"#bbbbbb"},Ki={light:"#fffffe",dark:"#1e1e1e"},Qi="__shiki_resolved";function xr(e){if(e?.[Qi])return e;let t={...e};t.tokenColors&&!t.settings&&(t.settings=t.tokenColors,delete t.tokenColors),t.type||="dark",t.colorReplacements={...t.colorReplacements},t.settings||=[];let{bg:a,fg:o}=t;if(!a||!o){let i=t.settings?t.settings.find(l=>!l.name&&!l.scope):void 0;i?.settings?.foreground&&(o=i.settings.foreground),i?.settings?.background&&(a=i.settings.background),!o&&t?.colors?.["editor.foreground"]&&(o=t.colors["editor.foreground"]),!a&&t?.colors?.["editor.background"]&&(a=t.colors["editor.background"]),o||(o=t.type==="light"?Xi.light:Xi.dark),a||(a=t.type==="light"?Ki.light:Ki.dark),t.fg=o,t.bg=a}t.settings[0]&&t.settings[0].settings&&!t.settings[0].scope||t.settings.unshift({settings:{foreground:t.fg,background:t.bg}});let r=0,n=new Map;function s(i){if(n.has(i))return n.get(i);r+=1;let l=`#${r.toString(16).padStart(8,"0").toLowerCase()}`;return t.colorReplacements?.[`#${l}`]?s(i):(n.set(i,l),l)}t.settings=t.settings.map(i=>{let l=i.settings?.foreground&&!i.settings.foreground.startsWith("#"),u=i.settings?.background&&!i.settings.background.startsWith("#");if(!l&&!u)return i;let c={...i,settings:{...i.settings}};if(l){let d=s(i.settings.foreground);t.colorReplacements[d]=i.settings.foreground,c.settings.foreground=d}if(u){let d=s(i.settings.background);t.colorReplacements[d]=i.settings.background,c.settings.background=d}return c});for(let i of Object.keys(t.colors||{}))if((i==="editor.foreground"||i==="editor.background"||i.startsWith("terminal.ansi"))&&!t.colors[i]?.startsWith("#")){let l=s(t.colors[i]);t.colorReplacements[l]=t.colors[i],t.colors[i]=l}return Object.defineProperty(t,Qi,{enumerable:!1,writable:!1,value:!0}),t}async function nl(e){return Array.from(new Set((await Promise.all(e.filter(t=>!Zi(t)).map(async t=>await Ji(t).then(a=>Array.isArray(a)?a:[a])))).flat()))}async function sl(e){return(await Promise.all(e.map(async a=>Yi(a)?null:xr(await Ji(a))))).filter(a=>!!a)}var ur=3,um=!1;function dm(e,t=3){if(ur&&!(typeof ur=="number"&&t>ur)){if(um)throw new Error(`[SHIKI DEPRECATE]: ${e}`);console.trace(`[SHIKI DEPRECATE]: ${e}`)}}var tt=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function il(e,t){if(!t)return e;if(t[e]){let a=new Set([e]);for(;t[e];){if(e=t[e],a.has(e))throw new tt(`Circular alias \`${Array.from(a).join(" -> ")} -> ${e}\``);a.add(e)}}return e}var cr=class extends ki{constructor(t,a,o,r={}){super(t),this._resolver=t,this._themes=a,this._langs=o,this._alias=r,this._themes.map(n=>this.loadTheme(n)),this.loadLanguages(this._langs)}_resolvedThemes=new Map;_resolvedGrammars=new Map;_langMap=new Map;_langGraph=new Map;_textmateThemeCache=new WeakMap;_loadedThemesCache=null;_loadedLanguagesCache=null;getTheme(t){return typeof t=="string"?this._resolvedThemes.get(t):this.loadTheme(t)}loadTheme(t){let a=xr(t);return a.name&&(this._resolvedThemes.set(a.name,a),this._loadedThemesCache=null),a}getLoadedThemes(){return this._loadedThemesCache||(this._loadedThemesCache=[...this._resolvedThemes.keys()]),this._loadedThemesCache}setTheme(t){let a=this._textmateThemeCache.get(t);a||(a=ia.createFromRawTheme(t),this._textmateThemeCache.set(t,a)),this._syncRegistry.setTheme(a)}getGrammar(t){return t=il(t,this._alias),this._resolvedGrammars.get(t)}loadLanguage(t){if(this.getGrammar(t.name))return;let a=new Set([...this._langMap.values()].filter(n=>n.embeddedLangsLazy?.includes(t.name)));this._resolver.addLanguage(t);let o={balancedBracketSelectors:t.balancedBracketSelectors||["*"],unbalancedBracketSelectors:t.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(t.scopeName,t);let r=this.loadGrammarWithConfiguration(t.scopeName,1,o);if(r.name=t.name,this._resolvedGrammars.set(t.name,r),t.aliases&&t.aliases.forEach(n=>{this._alias[n]=t.name}),this._loadedLanguagesCache=null,a.size)for(let n of a)this._resolvedGrammars.delete(n.name),this._loadedLanguagesCache=null,this._syncRegistry?._injectionGrammars?.delete(n.scopeName),this._syncRegistry?._grammars?.delete(n.scopeName),this.loadLanguage(this._langMap.get(n.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(t){for(let r of t)this.resolveEmbeddedLanguages(r);let a=Array.from(this._langGraph.entries()),o=a.filter(([r,n])=>!n);if(o.length){let r=a.filter(([n,s])=>s?(s.embeddedLanguages||s.embeddedLangs)?.some(l=>o.map(([u])=>u).includes(l)):!1).filter(n=>!o.includes(n));throw new tt(`Missing languages ${o.map(([n])=>`\`${n}\``).join(", ")}, required by ${r.map(([n])=>`\`${n}\``).join(", ")}`)}for(let[r,n]of a)this._resolver.addLanguage(n);for(let[r,n]of a)this.loadLanguage(n)}getLoadedLanguages(){return this._loadedLanguagesCache||(this._loadedLanguagesCache=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])]),this._loadedLanguagesCache}resolveEmbeddedLanguages(t){this._langMap.set(t.name,t),this._langGraph.set(t.name,t);let a=t.embeddedLanguages??t.embeddedLangs;if(a)for(let o of a)this._langGraph.set(o,this._langMap.get(o))}},fr=class{_langs=new Map;_scopeToLang=new Map;_injections=new Map;_onigLib;constructor(t,a){this._onigLib={createOnigScanner:o=>t.createScanner(o),createOnigString:o=>t.createString(o)},a.forEach(o=>this.addLanguage(o))}get onigLib(){return this._onigLib}getLangRegistration(t){return this._langs.get(t)}loadGrammar(t){return this._scopeToLang.get(t)}addLanguage(t){this._langs.set(t.name,t),t.aliases&&t.aliases.forEach(a=>{this._langs.set(a,t)}),this._scopeToLang.set(t.scopeName,t),t.injectTo&&t.injectTo.forEach(a=>{this._injections.get(a)||this._injections.set(a,[]),this._injections.get(a).push(t.scopeName)})}getInjections(t){let a=t.split("."),o=[];for(let r=1;r<=a.length;r++){let n=a.slice(0,r).join(".");o=[...o,...this._injections.get(n)||[]]}return o}},pa=0;function cm(e){pa+=1,e.warnings!==!1&&pa>=10&&pa%10===0&&console.warn(`[Shiki] ${pa} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \`highlighter.dispose()\` to release unused instances.`);let t=!1;if(!e.engine)throw new tt("`engine` option is required for synchronous mode");let a=(e.langs||[]).flat(1),o=(e.themes||[]).flat(1).map(xr),r=new fr(e.engine,a),n=new cr(r,o,a,e.langAlias),s;function i(g){return il(g,e.langAlias)}function l(g){S();let y=n.getGrammar(typeof g=="string"?g:g.name);if(!y)throw new tt(`Language \`${g}\` not found, you may need to load it first`);return y}function u(g){if(g==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};S();let y=n.getTheme(g);if(!y)throw new tt(`Theme \`${g}\` not found, you may need to load it first`);return y}function c(g){S();let y=u(g);s!==g&&(n.setTheme(y),s=g);let A=n.getColorMap();return{theme:y,colorMap:A}}function d(){return S(),n.getLoadedThemes()}function p(){return S(),n.getLoadedLanguages()}function m(...g){S(),n.loadLanguages(g.flat(1))}async function h(...g){return m(await nl(g))}function I(...g){S();for(let y of g.flat(1))n.loadTheme(y)}async function L(...g){return S(),I(await sl(g))}function S(){if(t)throw new tt("Shiki instance has been disposed")}function C(){t||(t=!0,n.dispose(),pa-=1)}return{setTheme:c,getTheme:u,getLanguage:l,getLoadedThemes:d,getLoadedLanguages:p,resolveLangAlias:i,loadLanguage:h,loadLanguageSync:m,loadTheme:L,loadThemeSync:I,dispose:C,[Symbol.dispose]:C}}async function fm(e){e.engine||dm("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,a,o]=await Promise.all([sl(e.themes||[]),nl(e.langs||[]),e.engine]);return cm({...e,themes:t,langs:a,engine:o})}async function pm(e){let t=await fm(e);return{getLastGrammarState:(...a)=>Qp(t,...a),codeToTokensBase:(a,o)=>gr(t,a,o),codeToTokensWithThemes:(a,o)=>rl(t,a,o),codeToTokens:(a,o)=>to(t,a,o),codeToHast:(a,o)=>ao(t,a,o),codeToHtml:(a,o)=>lm(t,a,o),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function ll(e){let t=e.langs,a=e.themes,o=e.engine;async function r(n){function s(d){if(typeof d=="string"){if(d=n.langAlias?.[d]||d,Zi(d))return[];let p=t[d];if(!p)throw new ae(`Language \`${d}\` is not included in this bundle. You may want to load it from external source.`);return p}return d}function i(d){if(Yi(d))return"none";if(typeof d=="string"){let p=a[d];if(!p)throw new ae(`Theme \`${d}\` is not included in this bundle. You may want to load it from external source.`);return p}return d}let l=(n.themes??[]).map(d=>i(d)),u=(n.langs??[]).map(d=>s(d)),c=await pm({engine:n.engine??o(),...n,themes:l,langs:u});return{...c,loadLanguage(...d){return c.loadLanguage(...d.map(s))},loadTheme(...d){return c.loadTheme(...d.map(i))},getBundledLanguages(){return t},getBundledThemes(){return a}}}return r}function mm(e){let t;async function a(o={}){if(t){let r=await t;return await Promise.all([r.loadTheme(...o.themes||[]),r.loadLanguage(...o.langs||[])]),r}else{t=e({...o,themes:[],langs:[]});let r=await t;return await Promise.all([r.loadTheme(...o.themes||[]),r.loadLanguage(...o.langs||[])]),r}}return a}function ul(e,t){let a=mm(e);async function o(r,n){let s=await a({langs:[n.lang],themes:"theme"in n?[n.theme]:Object.values(n.themes)}),i=await t?.guessEmbeddedLanguages?.(r,n.lang,s);return i&&await s.loadLanguage(...i),s}return{getSingletonHighlighter(r){return a(r)},async codeToHtml(r,n){return(await o(r,n)).codeToHtml(r,n)},async codeToHast(r,n){return(await o(r,n)).codeToHast(r,n)},async codeToTokens(r,n){return(await o(r,n)).codeToTokens(r,n)},async codeToTokensBase(r,n){return(await o(r,n)).codeToTokensBase(r,n)},async codeToTokensWithThemes(r,n){return(await o(r,n)).codeToTokensWithThemes(r,n)},async getLastGrammarState(r,n){return(await a({langs:[n.lang],themes:[n.theme]})).getLastGrammarState(r,n)}}}f();var Lr=[{id:"abap",name:"ABAP",import:(()=>import("../abap-3IAGZ3PS.js"))},{id:"actionscript-3",name:"ActionScript",import:(()=>import("../actionscript-3-C46RIPM4.js"))},{id:"ada",name:"Ada",import:(()=>import("../ada-DNTYS66P.js"))},{id:"angular-html",name:"Angular HTML",import:(()=>import("../angular-html-GK625GFM.js"))},{id:"angular-ts",name:"Angular TypeScript",import:(()=>import("../angular-ts-BBPQXDS2.js"))},{id:"apache",name:"Apache Conf",import:(()=>import("../apache-DU26FTNI.js"))},{id:"apex",name:"Apex",import:(()=>import("../apex-OU63AG2P.js"))},{id:"apl",name:"APL",import:(()=>import("../apl-JGB4KP74.js"))},{id:"applescript",name:"AppleScript",import:(()=>import("../applescript-TT4XSRXH.js"))},{id:"ara",name:"Ara",import:(()=>import("../ara-Q7AJDKA4.js"))},{id:"asciidoc",name:"AsciiDoc",aliases:["adoc"],import:(()=>import("../asciidoc-WADBFJPS.js"))},{id:"asm",name:"Assembly",import:(()=>import("../asm-D3LJR7GV.js"))},{id:"astro",name:"Astro",import:(()=>import("../astro-K7JGTCPV.js"))},{id:"awk",name:"AWK",import:(()=>import("../awk-DCAM52A7.js"))},{id:"ballerina",name:"Ballerina",import:(()=>import("../ballerina-44XARFEK.js"))},{id:"bat",name:"Batch File",aliases:["batch"],import:(()=>import("../bat-WM4RL2AB.js"))},{id:"beancount",name:"Beancount",import:(()=>import("../beancount-5PUWGPVT.js"))},{id:"berry",name:"Berry",aliases:["be"],import:(()=>import("../berry-YAK4XTWX.js"))},{id:"bibtex",name:"BibTeX",import:(()=>import("../bibtex-2ISWNMJJ.js"))},{id:"bicep",name:"Bicep",import:(()=>import("../bicep-EOACOM4G.js"))},{id:"blade",name:"Blade",import:(()=>import("../blade-RWJJQSLU.js"))},{id:"bsl",name:"1C (Enterprise)",aliases:["1c"],import:(()=>import("../bsl-TNLQPNE3.js"))},{id:"c",name:"C",import:(()=>import("../c-G7V525MX.js"))},{id:"c3",name:"C3",import:(()=>import("../c3-CDQIRWGP.js"))},{id:"cadence",name:"Cadence",aliases:["cdc"],import:(()=>import("../cadence-U32GKKTR.js"))},{id:"cairo",name:"Cairo",import:(()=>import("../cairo-26RR6N4F.js"))},{id:"clarity",name:"Clarity",import:(()=>import("../clarity-4JIHRN2V.js"))},{id:"clojure",name:"Clojure",aliases:["clj"],import:(()=>import("../clojure-PKTTXYYS.js"))},{id:"cmake",name:"CMake",import:(()=>import("../cmake-HXKHWGGH.js"))},{id:"cobol",name:"COBOL",import:(()=>import("../cobol-ZFZ6ZP6X.js"))},{id:"codeowners",name:"CODEOWNERS",import:(()=>import("../codeowners-WCXRHQ2R.js"))},{id:"codeql",name:"CodeQL",aliases:["ql"],import:(()=>import("../codeql-XZZ2USHF.js"))},{id:"coffee",name:"CoffeeScript",aliases:["coffeescript"],import:(()=>import("../coffee-SGQWHBUL.js"))},{id:"common-lisp",name:"Common Lisp",aliases:["lisp"],import:(()=>import("../common-lisp-IK3DGBCK.js"))},{id:"coq",name:"Coq",import:(()=>import("../coq-UPTUVPLH.js"))},{id:"cpp",name:"C++",aliases:["c++"],import:(()=>import("../cpp-HLYUQ6RF.js"))},{id:"crystal",name:"Crystal",import:(()=>import("../crystal-UPNOBGN4.js"))},{id:"csharp",name:"C#",aliases:["c#","cs"],import:(()=>import("../csharp-6EXQ7B24.js"))},{id:"css",name:"CSS",import:(()=>import("../css-MH4LSMNV.js"))},{id:"csv",name:"CSV",import:(()=>import("../csv-CRTD5FOL.js"))},{id:"cue",name:"CUE",import:(()=>import("../cue-IFMTDLM2.js"))},{id:"cypher",name:"Cypher",aliases:["cql"],import:(()=>import("../cypher-WH7754G7.js"))},{id:"d",name:"D",import:(()=>import("../d-VFMGCSG3.js"))},{id:"dart",name:"Dart",import:(()=>import("../dart-CSERBUPM.js"))},{id:"dax",name:"DAX",import:(()=>import("../dax-Y4DTPR3K.js"))},{id:"desktop",name:"Desktop",import:(()=>import("../desktop-UYAYGPQT.js"))},{id:"diff",name:"Diff",import:(()=>import("../diff-BJDM3N45.js"))},{id:"docker",name:"Dockerfile",aliases:["dockerfile"],import:(()=>import("../docker-UOM4Q7PD.js"))},{id:"dotenv",name:"dotEnv",import:(()=>import("../dotenv-LK44WBD3.js"))},{id:"dream-maker",name:"Dream Maker",import:(()=>import("../dream-maker-7RP4JRQH.js"))},{id:"edge",name:"Edge",import:(()=>import("../edge-XE5XFLFP.js"))},{id:"elixir",name:"Elixir",import:(()=>import("../elixir-EXRA4QJX.js"))},{id:"elm",name:"Elm",import:(()=>import("../elm-THYL2NRS.js"))},{id:"emacs-lisp",name:"Emacs Lisp",aliases:["elisp"],import:(()=>import("../emacs-lisp-YHLQYGNI.js"))},{id:"erb",name:"ERB",import:(()=>import("../erb-LRUOJBTB.js"))},{id:"erlang",name:"Erlang",aliases:["erl"],import:(()=>import("../erlang-UNX5MMGA.js"))},{id:"fennel",name:"Fennel",import:(()=>import("../fennel-HYSSBG3N.js"))},{id:"fish",name:"Fish",import:(()=>import("../fish-PTKGQOJI.js"))},{id:"fluent",name:"Fluent",aliases:["ftl"],import:(()=>import("../fluent-LEZHPPJV.js"))},{id:"fortran-fixed-form",name:"Fortran (Fixed Form)",aliases:["f","for","f77"],import:(()=>import("../fortran-fixed-form-J5AMEFMB.js"))},{id:"fortran-free-form",name:"Fortran (Free Form)",aliases:["f90","f95","f03","f08","f18"],import:(()=>import("../fortran-free-form-S3BNTBLS.js"))},{id:"fsharp",name:"F#",aliases:["f#","fs"],import:(()=>import("../fsharp-H4OIW62Z.js"))},{id:"gdresource",name:"GDResource",aliases:["tscn","tres"],import:(()=>import("../gdresource-A6NTYFLM.js"))},{id:"gdscript",name:"GDScript",aliases:["gd"],import:(()=>import("../gdscript-YQUSJRNZ.js"))},{id:"gdshader",name:"GDShader",import:(()=>import("../gdshader-S5432GFE.js"))},{id:"genie",name:"Genie",import:(()=>import("../genie-RNVG5N7L.js"))},{id:"gherkin",name:"Gherkin",import:(()=>import("../gherkin-E5R62T6O.js"))},{id:"git-commit",name:"Git Commit Message",import:(()=>import("../git-commit-QGH6XOBG.js"))},{id:"git-rebase",name:"Git Rebase Message",import:(()=>import("../git-rebase-XTCZTXU4.js"))},{id:"gleam",name:"Gleam",import:(()=>import("../gleam-W5WZ7CST.js"))},{id:"glimmer-js",name:"Glimmer JS",aliases:["gjs"],import:(()=>import("../glimmer-js-JA25I4AE.js"))},{id:"glimmer-ts",name:"Glimmer TS",aliases:["gts"],import:(()=>import("../glimmer-ts-CKELYRRF.js"))},{id:"glsl",name:"GLSL",import:(()=>import("../glsl-PVW2OPUD.js"))},{id:"gn",name:"GN",import:(()=>import("../gn-FCAO7WI5.js"))},{id:"gnuplot",name:"Gnuplot",import:(()=>import("../gnuplot-Q6SE5CHZ.js"))},{id:"go",name:"Go",import:(()=>import("../go-CPCZAAWX.js"))},{id:"graphql",name:"GraphQL",aliases:["gql"],import:(()=>import("../graphql-UN5O7U5U.js"))},{id:"groovy",name:"Groovy",import:(()=>import("../groovy-PJAEBBJY.js"))},{id:"hack",name:"Hack",import:(()=>import("../hack-QIUJFE3G.js"))},{id:"haml",name:"Ruby Haml",import:(()=>import("../haml-JQIESO7E.js"))},{id:"handlebars",name:"Handlebars",aliases:["hbs"],import:(()=>import("../handlebars-UBV5AWUH.js"))},{id:"haskell",name:"Haskell",aliases:["hs"],import:(()=>import("../haskell-NX6XRMNO.js"))},{id:"haxe",name:"Haxe",import:(()=>import("../haxe-7YNB7FVC.js"))},{id:"hcl",name:"HashiCorp HCL",import:(()=>import("../hcl-ZF75ASCX.js"))},{id:"hjson",name:"Hjson",import:(()=>import("../hjson-65TX6QOC.js"))},{id:"hlsl",name:"HLSL",import:(()=>import("../hlsl-U2O526MI.js"))},{id:"html",name:"HTML",import:(()=>import("../html-AWDHWPK7.js"))},{id:"html-derivative",name:"HTML (Derivative)",import:(()=>import("../html-derivative-QY3ZIV7G.js"))},{id:"http",name:"HTTP",import:(()=>import("../http-KIGXJYY6.js"))},{id:"hurl",name:"Hurl",import:(()=>import("../hurl-BZB5LDD5.js"))},{id:"hxml",name:"HXML",import:(()=>import("../hxml-IGTXIURH.js"))},{id:"hy",name:"Hy",import:(()=>import("../hy-CLDGXJYP.js"))},{id:"imba",name:"Imba",import:(()=>import("../imba-NWHLCVE5.js"))},{id:"ini",name:"INI",aliases:["properties"],import:(()=>import("../ini-R6WYP7NC.js"))},{id:"java",name:"Java",import:(()=>import("../java-DHBXDMBM.js"))},{id:"javascript",name:"JavaScript",aliases:["js","cjs","mjs"],import:(()=>import("../javascript-GNUEDNHO.js"))},{id:"jinja",name:"Jinja",import:(()=>import("../jinja-AEVQQKWS.js"))},{id:"jison",name:"Jison",import:(()=>import("../jison-64A6IJCV.js"))},{id:"json",name:"JSON",import:(()=>import("../json-2ELCHKXT.js"))},{id:"json5",name:"JSON5",import:(()=>import("../json5-QRH5UJYD.js"))},{id:"jsonc",name:"JSON with Comments",import:(()=>import("../jsonc-IXPVR4NY.js"))},{id:"jsonl",name:"JSON Lines",import:(()=>import("../jsonl-C57GMUK5.js"))},{id:"jsonnet",name:"Jsonnet",import:(()=>import("../jsonnet-VNADFLKI.js"))},{id:"jssm",name:"JSSM",aliases:["fsl"],import:(()=>import("../jssm-CW4ZYDSF.js"))},{id:"jsx",name:"JSX",import:(()=>import("../jsx-YTENXENT.js"))},{id:"julia",name:"Julia",aliases:["jl"],import:(()=>import("../julia-75QR2XDN.js"))},{id:"kdl",name:"KDL",import:(()=>import("../kdl-X3AS2HRT.js"))},{id:"kotlin",name:"Kotlin",aliases:["kt","kts"],import:(()=>import("../kotlin-WGITM75W.js"))},{id:"kusto",name:"Kusto",aliases:["kql"],import:(()=>import("../kusto-LT46F7AO.js"))},{id:"latex",name:"LaTeX",import:(()=>import("../latex-R4PJ7JDY.js"))},{id:"lean",name:"Lean 4",aliases:["lean4"],import:(()=>import("../lean-DYWOENAS.js"))},{id:"less",name:"Less",import:(()=>import("../less-ZYJT7MPU.js"))},{id:"liquid",name:"Liquid",import:(()=>import("../liquid-S4LVU77Y.js"))},{id:"llvm",name:"LLVM IR",import:(()=>import("../llvm-WBQ7MHV7.js"))},{id:"log",name:"Log file",import:(()=>import("../log-AXKDFD3L.js"))},{id:"logo",name:"Logo",import:(()=>import("../logo-E23LAFZY.js"))},{id:"lua",name:"Lua",import:(()=>import("../lua-QQ5QEPPO.js"))},{id:"luau",name:"Luau",import:(()=>import("../luau-D432BEB5.js"))},{id:"make",name:"Makefile",aliases:["makefile"],import:(()=>import("../make-QFMWQJMG.js"))},{id:"markdown",name:"Markdown",aliases:["md"],import:(()=>import("../markdown-D756RUOP.js"))},{id:"marko",name:"Marko",import:(()=>import("../marko-WVASNOGB.js"))},{id:"matlab",name:"MATLAB",import:(()=>import("../matlab-ZKZ7YBAH.js"))},{id:"mdc",name:"MDC",import:(()=>import("../mdc-NDTDGSIG.js"))},{id:"mdx",name:"MDX",import:(()=>import("../mdx-34BL2O4O.js"))},{id:"mermaid",name:"Mermaid",aliases:["mmd"],import:(()=>import("../mermaid-54Z3SAII.js"))},{id:"mipsasm",name:"MIPS Assembly",aliases:["mips"],import:(()=>import("../mipsasm-NKQWJEL7.js"))},{id:"mojo",name:"Mojo",import:(()=>import("../mojo-KRRNBH7O.js"))},{id:"moonbit",name:"MoonBit",aliases:["mbt","mbti"],import:(()=>import("../moonbit-LQ7JL5LZ.js"))},{id:"move",name:"Move",import:(()=>import("../move-4VWCI4YQ.js"))},{id:"narrat",name:"Narrat Language",aliases:["nar"],import:(()=>import("../narrat-4QSDQDLH.js"))},{id:"nextflow",name:"Nextflow",aliases:["nf"],import:(()=>import("../nextflow-DPCEWQNZ.js"))},{id:"nginx",name:"Nginx",import:(()=>import("../nginx-DXHAXQRH.js"))},{id:"nim",name:"Nim",import:(()=>import("../nim-Z6EEJ7SX.js"))},{id:"nix",name:"Nix",import:(()=>import("../nix-WAYR4BYU.js"))},{id:"nushell",name:"nushell",aliases:["nu"],import:(()=>import("../nushell-26KZW4VL.js"))},{id:"objective-c",name:"Objective-C",aliases:["objc"],import:(()=>import("../objective-c-246HWLKT.js"))},{id:"objective-cpp",name:"Objective-C++",import:(()=>import("../objective-cpp-RJUXXPYQ.js"))},{id:"ocaml",name:"OCaml",import:(()=>import("../ocaml-P7NGS7PR.js"))},{id:"odin",name:"Odin",import:(()=>import("../odin-UPPZCJGN.js"))},{id:"openscad",name:"OpenSCAD",aliases:["scad"],import:(()=>import("../openscad-JRK6K3FL.js"))},{id:"pascal",name:"Pascal",import:(()=>import("../pascal-RDFLUHHA.js"))},{id:"perl",name:"Perl",import:(()=>import("../perl-5IQEFQG3.js"))},{id:"php",name:"PHP",import:(()=>import("../php-UQGWKJAF.js"))},{id:"pkl",name:"Pkl",import:(()=>import("../pkl-PAM76VXP.js"))},{id:"plsql",name:"PL/SQL",import:(()=>import("../plsql-3Y6UMFEG.js"))},{id:"po",name:"Gettext PO",aliases:["pot","potx"],import:(()=>import("../po-GNTAKCTE.js"))},{id:"polar",name:"Polar",import:(()=>import("../polar-EVTMRLGV.js"))},{id:"postcss",name:"PostCSS",import:(()=>import("../postcss-42343LW7.js"))},{id:"powerquery",name:"PowerQuery",import:(()=>import("../powerquery-M34PNR4X.js"))},{id:"powershell",name:"PowerShell",aliases:["ps","ps1"],import:(()=>import("../powershell-IR7ICFQW.js"))},{id:"prisma",name:"Prisma",import:(()=>import("../prisma-RXSIFLZX.js"))},{id:"prolog",name:"Prolog",import:(()=>import("../prolog-YBBQ4UD5.js"))},{id:"proto",name:"Protocol Buffer 3",aliases:["protobuf"],import:(()=>import("../proto-U4FF45G6.js"))},{id:"pug",name:"Pug",aliases:["jade"],import:(()=>import("../pug-XHTBJJNO.js"))},{id:"puppet",name:"Puppet",import:(()=>import("../puppet-HWOKIYJP.js"))},{id:"purescript",name:"PureScript",import:(()=>import("../purescript-D45AJS5J.js"))},{id:"python",name:"Python",aliases:["py"],import:(()=>import("../python-QWA7UE2I.js"))},{id:"qml",name:"QML",import:(()=>import("../qml-RHCWFR3S.js"))},{id:"qmldir",name:"QML Directory",import:(()=>import("../qmldir-FBDC3XMZ.js"))},{id:"qss",name:"Qt Style Sheets",import:(()=>import("../qss-AD3WZQ45.js"))},{id:"r",name:"R",import:(()=>import("../r-NHIAHDOD.js"))},{id:"racket",name:"Racket",import:(()=>import("../racket-7G65C5N5.js"))},{id:"raku",name:"Raku",aliases:["perl6"],import:(()=>import("../raku-IWS7BLGD.js"))},{id:"razor",name:"ASP.NET Razor",import:(()=>import("../razor-UMC4HKIF.js"))},{id:"reg",name:"Windows Registry Script",import:(()=>import("../reg-V4XLWESR.js"))},{id:"regexp",name:"RegExp",aliases:["regex"],import:(()=>import("../regexp-XP4MR635.js"))},{id:"rel",name:"Rel",import:(()=>import("../rel-DE6UXATM.js"))},{id:"riscv",name:"RISC-V",import:(()=>import("../riscv-5PDXBPPL.js"))},{id:"ron",name:"RON",import:(()=>import("../ron-WD6BJFDY.js"))},{id:"rosmsg",name:"ROS Interface",import:(()=>import("../rosmsg-7LDUCZRQ.js"))},{id:"rst",name:"reStructuredText",import:(()=>import("../rst-HCGHBPBZ.js"))},{id:"ruby",name:"Ruby",aliases:["rb"],import:(()=>import("../ruby-ML25RVXY.js"))},{id:"rust",name:"Rust",aliases:["rs"],import:(()=>import("../rust-Z2NYMT2Z.js"))},{id:"sas",name:"SAS",import:(()=>import("../sas-A4JCTK6H.js"))},{id:"sass",name:"Sass",import:(()=>import("../sass-75VDP7DE.js"))},{id:"scala",name:"Scala",import:(()=>import("../scala-7TJ4N6KC.js"))},{id:"scheme",name:"Scheme",import:(()=>import("../scheme-5XARZMKT.js"))},{id:"scss",name:"SCSS",import:(()=>import("../scss-4QR2BXFS.js"))},{id:"sdbl",name:"1C (Query)",aliases:["1c-query"],import:(()=>import("../sdbl-6M55AJVA.js"))},{id:"shaderlab",name:"ShaderLab",aliases:["shader"],import:(()=>import("../shaderlab-322XNY5V.js"))},{id:"shellscript",name:"Shell",aliases:["bash","sh","shell","zsh"],import:(()=>import("../shellscript-F23VVVTW.js"))},{id:"shellsession",name:"Shell Session",aliases:["console"],import:(()=>import("../shellsession-G65XJMCC.js"))},{id:"smalltalk",name:"Smalltalk",import:(()=>import("../smalltalk-LALIO5SC.js"))},{id:"solidity",name:"Solidity",import:(()=>import("../solidity-TQUKTJZZ.js"))},{id:"soy",name:"Closure Templates",aliases:["closure-templates"],import:(()=>import("../soy-ALTWCQTO.js"))},{id:"sparql",name:"SPARQL",import:(()=>import("../sparql-ARI3MVK7.js"))},{id:"splunk",name:"Splunk Query Language",aliases:["spl"],import:(()=>import("../splunk-QEFG3NPJ.js"))},{id:"sql",name:"SQL",import:(()=>import("../sql-SBP7VV3V.js"))},{id:"ssh-config",name:"SSH Config",import:(()=>import("../ssh-config-SC6RC6IV.js"))},{id:"stata",name:"Stata",import:(()=>import("../stata-MNI5YOQU.js"))},{id:"stylus",name:"Stylus",aliases:["styl"],import:(()=>import("../stylus-YYWEHAK3.js"))},{id:"surrealql",name:"SurrealQL",aliases:["surql"],import:(()=>import("../surrealql-5X7LI3J6.js"))},{id:"svelte",name:"Svelte",import:(()=>import("../svelte-6TT7H4YP.js"))},{id:"swift",name:"Swift",import:(()=>import("../swift-JEBLU4EM.js"))},{id:"system-verilog",name:"SystemVerilog",import:(()=>import("../system-verilog-46QRSGNM.js"))},{id:"systemd",name:"Systemd Units",import:(()=>import("../systemd-3PUVCSI7.js"))},{id:"talonscript",name:"TalonScript",aliases:["talon"],import:(()=>import("../talonscript-AK4LB3KC.js"))},{id:"tasl",name:"Tasl",import:(()=>import("../tasl-VHTYBUVI.js"))},{id:"tcl",name:"Tcl",import:(()=>import("../tcl-UUMKHRHL.js"))},{id:"templ",name:"Templ",import:(()=>import("../templ-WN3SJLUV.js"))},{id:"terraform",name:"Terraform",aliases:["tf","tfvars"],import:(()=>import("../terraform-GCGIT2RL.js"))},{id:"tex",name:"TeX",import:(()=>import("../tex-L55DZDKV.js"))},{id:"toml",name:"TOML",import:(()=>import("../toml-7AH4HFBN.js"))},{id:"ts-tags",name:"TypeScript with Tags",aliases:["lit"],import:(()=>import("../ts-tags-NAJDOQCO.js"))},{id:"tsv",name:"TSV",import:(()=>import("../tsv-EB3LRXYX.js"))},{id:"tsx",name:"TSX",import:(()=>import("../tsx-Y5YXGNIX.js"))},{id:"turtle",name:"Turtle",import:(()=>import("../turtle-KM6UGYIQ.js"))},{id:"twig",name:"Twig",import:(()=>import("../twig-GIY7NVAA.js"))},{id:"typescript",name:"TypeScript",aliases:["ts","cts","mts"],import:(()=>import("../typescript-ZF5AMNEZ.js"))},{id:"typespec",name:"TypeSpec",aliases:["tsp"],import:(()=>import("../typespec-6JSRRA42.js"))},{id:"typst",name:"Typst",aliases:["typ"],import:(()=>import("../typst-ZOSAUKL5.js"))},{id:"v",name:"V",import:(()=>import("../v-HVLBO3DI.js"))},{id:"vala",name:"Vala",import:(()=>import("../vala-WWRVCJNF.js"))},{id:"vb",name:"Visual Basic",aliases:["cmd"],import:(()=>import("../vb-XFFF4O73.js"))},{id:"verilog",name:"Verilog",import:(()=>import("../verilog-XTDPJNP7.js"))},{id:"vhdl",name:"VHDL",import:(()=>import("../vhdl-OCZJ2AOZ.js"))},{id:"viml",name:"Vim Script",aliases:["vim","vimscript"],import:(()=>import("../viml-PVA3ZJ5L.js"))},{id:"vue",name:"Vue",import:(()=>import("../vue-V6GLJNYA.js"))},{id:"vue-html",name:"Vue HTML",import:(()=>import("../vue-html-G4DE7FYD.js"))},{id:"vue-vine",name:"Vue Vine",import:(()=>import("../vue-vine-KB45C76H.js"))},{id:"vyper",name:"Vyper",aliases:["vy"],import:(()=>import("../vyper-SBDFKHRI.js"))},{id:"wasm",name:"WebAssembly",import:(()=>import("../wasm-SXNE4SKX.js"))},{id:"wenyan",name:"Wenyan",aliases:["\u6587\u8A00"],import:(()=>import("../wenyan-PMSCJP7P.js"))},{id:"wgsl",name:"WGSL",import:(()=>import("../wgsl-DOXQU7M4.js"))},{id:"wikitext",name:"Wikitext",aliases:["mediawiki","wiki"],import:(()=>import("../wikitext-LGNEKWDX.js"))},{id:"wit",name:"WebAssembly Interface Types",import:(()=>import("../wit-G62U2KBE.js"))},{id:"wolfram",name:"Wolfram",aliases:["wl"],import:(()=>import("../wolfram-YTZHUYN6.js"))},{id:"xml",name:"XML",import:(()=>import("../xml-WGLM4CWK.js"))},{id:"xsl",name:"XSL",import:(()=>import("../xsl-KAAH2GEK.js"))},{id:"yaml",name:"YAML",aliases:["yml"],import:(()=>import("../yaml-JGEBDSVI.js"))},{id:"zenscript",name:"ZenScript",import:(()=>import("../zenscript-QQQPZNJ7.js"))},{id:"zig",name:"Zig",import:(()=>import("../zig-6LJUAPBA.js"))}],dl=Object.fromEntries(Lr.map(e=>[e.id,e.import])),cl=Object.fromEntries(Lr.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),ha={...dl,...cl};f();var hm=[{id:"andromeeda",displayName:"Andromeeda",type:"dark",import:(()=>import("../andromeeda-XSK3JERF.js"))},{id:"aurora-x",displayName:"Aurora X",type:"dark",import:(()=>import("../aurora-x-CGSVHL4H.js"))},{id:"ayu-dark",displayName:"Ayu Dark",type:"dark",import:(()=>import("../ayu-dark-XYI57HMC.js"))},{id:"ayu-light",displayName:"Ayu Light",type:"light",import:(()=>import("../ayu-light-4PSGMDIC.js"))},{id:"ayu-mirage",displayName:"Ayu Mirage",type:"dark",import:(()=>import("../ayu-mirage-DU5SNMZX.js"))},{id:"catppuccin-frappe",displayName:"Catppuccin Frapp\xE9",type:"dark",import:(()=>import("../catppuccin-frappe-UZ4N3Z4I.js"))},{id:"catppuccin-latte",displayName:"Catppuccin Latte",type:"light",import:(()=>import("../catppuccin-latte-GCOWYLZG.js"))},{id:"catppuccin-macchiato",displayName:"Catppuccin Macchiato",type:"dark",import:(()=>import("../catppuccin-macchiato-PJD7W5WJ.js"))},{id:"catppuccin-mocha",displayName:"Catppuccin Mocha",type:"dark",import:(()=>import("../catppuccin-mocha-RRH4FOBS.js"))},{id:"dark-plus",displayName:"Dark Plus",type:"dark",import:(()=>import("../dark-plus-PSM5XP2I.js"))},{id:"dracula",displayName:"Dracula Theme",type:"dark",import:(()=>import("../dracula-2VHT5LK5.js"))},{id:"dracula-soft",displayName:"Dracula Theme Soft",type:"dark",import:(()=>import("../dracula-soft-MSCUO73T.js"))},{id:"everforest-dark",displayName:"Everforest Dark",type:"dark",import:(()=>import("../everforest-dark-AGVJEQ35.js"))},{id:"everforest-light",displayName:"Everforest Light",type:"light",import:(()=>import("../everforest-light-62GPFKVJ.js"))},{id:"github-dark",displayName:"GitHub Dark",type:"dark",import:(()=>import("../github-dark-5OJVMBCE.js"))},{id:"github-dark-default",displayName:"GitHub Dark Default",type:"dark",import:(()=>import("../github-dark-default-4WERFSZW.js"))},{id:"github-dark-dimmed",displayName:"GitHub Dark Dimmed",type:"dark",import:(()=>import("../github-dark-dimmed-7VD3SZKC.js"))},{id:"github-dark-high-contrast",displayName:"GitHub Dark High Contrast",type:"dark",import:(()=>import("../github-dark-high-contrast-FVMMS656.js"))},{id:"github-light",displayName:"GitHub Light",type:"light",import:(()=>import("../github-light-SE4LEKO7.js"))},{id:"github-light-default",displayName:"GitHub Light Default",type:"light",import:(()=>import("../github-light-default-TV7BYQGI.js"))},{id:"github-light-high-contrast",displayName:"GitHub Light High Contrast",type:"light",import:(()=>import("../github-light-high-contrast-WKO4I3G7.js"))},{id:"gruvbox-dark-hard",displayName:"Gruvbox Dark Hard",type:"dark",import:(()=>import("../gruvbox-dark-hard-LOYZQIGI.js"))},{id:"gruvbox-dark-medium",displayName:"Gruvbox Dark Medium",type:"dark",import:(()=>import("../gruvbox-dark-medium-UIMSJJ6K.js"))},{id:"gruvbox-dark-soft",displayName:"Gruvbox Dark Soft",type:"dark",import:(()=>import("../gruvbox-dark-soft-PU6RNTTO.js"))},{id:"gruvbox-light-hard",displayName:"Gruvbox Light Hard",type:"light",import:(()=>import("../gruvbox-light-hard-ZQJ7XSZF.js"))},{id:"gruvbox-light-medium",displayName:"Gruvbox Light Medium",type:"light",import:(()=>import("../gruvbox-light-medium-CD3ZGYV6.js"))},{id:"gruvbox-light-soft",displayName:"Gruvbox Light Soft",type:"light",import:(()=>import("../gruvbox-light-soft-S74MAGOM.js"))},{id:"horizon",displayName:"Horizon",type:"dark",import:(()=>import("../horizon-EAAZ4KVN.js"))},{id:"houston",displayName:"Houston",type:"dark",import:(()=>import("../houston-UNRWGR67.js"))},{id:"kanagawa-dragon",displayName:"Kanagawa Dragon",type:"dark",import:(()=>import("../kanagawa-dragon-BOSCCB42.js"))},{id:"kanagawa-lotus",displayName:"Kanagawa Lotus",type:"light",import:(()=>import("../kanagawa-lotus-NXMB2IVI.js"))},{id:"kanagawa-wave",displayName:"Kanagawa Wave",type:"dark",import:(()=>import("../kanagawa-wave-YOHS63UF.js"))},{id:"laserwave",displayName:"LaserWave",type:"dark",import:(()=>import("../laserwave-TS4AG4VO.js"))},{id:"light-plus",displayName:"Light Plus",type:"light",import:(()=>import("../light-plus-2HYW3NJ6.js"))},{id:"material-theme",displayName:"Material Theme",type:"dark",import:(()=>import("../material-theme-KPDVFAGV.js"))},{id:"material-theme-darker",displayName:"Material Theme Darker",type:"dark",import:(()=>import("../material-theme-darker-GVSTMSNT.js"))},{id:"material-theme-lighter",displayName:"Material Theme Lighter",type:"light",import:(()=>import("../material-theme-lighter-JWZNUXUH.js"))},{id:"material-theme-ocean",displayName:"Material Theme Ocean",type:"dark",import:(()=>import("../material-theme-ocean-MU4N3XNQ.js"))},{id:"material-theme-palenight",displayName:"Material Theme Palenight",type:"dark",import:(()=>import("../material-theme-palenight-VMWD73WM.js"))},{id:"min-dark",displayName:"Min Dark",type:"dark",import:(()=>import("../min-dark-ASEVSA24.js"))},{id:"min-light",displayName:"Min Light",type:"light",import:(()=>import("../min-light-3H54BB3D.js"))},{id:"monokai",displayName:"Monokai",type:"dark",import:(()=>import("../monokai-5QWQOFN6.js"))},{id:"night-owl",displayName:"Night Owl",type:"dark",import:(()=>import("../night-owl-4QQBS2UX.js"))},{id:"night-owl-light",displayName:"Night Owl Light",type:"light",import:(()=>import("../night-owl-light-HR6A2OQO.js"))},{id:"nord",displayName:"Nord",type:"dark",import:(()=>import("../nord-XK3AUNCF.js"))},{id:"one-dark-pro",displayName:"One Dark Pro",type:"dark",import:(()=>import("../one-dark-pro-ZV7CEA5M.js"))},{id:"one-light",displayName:"One Light",type:"light",import:(()=>import("../one-light-FKZJCKM6.js"))},{id:"plastic",displayName:"Plastic",type:"dark",import:(()=>import("../plastic-SXCQPKYC.js"))},{id:"poimandres",displayName:"Poimandres",type:"dark",import:(()=>import("../poimandres-S3UYVG4O.js"))},{id:"red",displayName:"Red",type:"dark",import:(()=>import("../red-A6OC2HVL.js"))},{id:"rose-pine",displayName:"Ros\xE9 Pine",type:"dark",import:(()=>import("../rose-pine-GLWOWPBK.js"))},{id:"rose-pine-dawn",displayName:"Ros\xE9 Pine Dawn",type:"light",import:(()=>import("../rose-pine-dawn-HYE6T7LV.js"))},{id:"rose-pine-moon",displayName:"Ros\xE9 Pine Moon",type:"dark",import:(()=>import("../rose-pine-moon-VHVTDDVO.js"))},{id:"slack-dark",displayName:"Slack Dark",type:"dark",import:(()=>import("../slack-dark-OPW5CYSY.js"))},{id:"slack-ochin",displayName:"Slack Ochin",type:"light",import:(()=>import("../slack-ochin-WTVMYBFH.js"))},{id:"snazzy-light",displayName:"Snazzy Light",type:"light",import:(()=>import("../snazzy-light-5UQ56PC5.js"))},{id:"solarized-dark",displayName:"Solarized Dark",type:"dark",import:(()=>import("../solarized-dark-DSMP6D7D.js"))},{id:"solarized-light",displayName:"Solarized Light",type:"light",import:(()=>import("../solarized-light-3IZTZCIV.js"))},{id:"synthwave-84",displayName:"Synthwave '84",type:"dark",import:(()=>import("../synthwave-84-JWI6CVJZ.js"))},{id:"tokyo-night",displayName:"Tokyo Night",type:"dark",import:(()=>import("../tokyo-night-SRK4SADJ.js"))},{id:"vesper",displayName:"Vesper",type:"dark",import:(()=>import("../vesper-WIZFPFI7.js"))},{id:"vitesse-black",displayName:"Vitesse Black",type:"dark",import:(()=>import("../vitesse-black-PEGI4HJX.js"))},{id:"vitesse-dark",displayName:"Vitesse Dark",type:"dark",import:(()=>import("../vitesse-dark-M2ZAGPXG.js"))},{id:"vitesse-light",displayName:"Vitesse Light",type:"light",import:(()=>import("../vitesse-light-RICZI4IG.js"))}],fl=Object.fromEntries(hm.map(e=>[e.id,e.import]));f();var ga=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function gm(){return 2147483648}function wm(){return typeof performance<"u"?performance.now():Date.now()}var xm=(e,t)=>e+(t-e%t)%t;async function Lm(e){let t,a,o={};function r(m){a=m,o.HEAPU8=new Uint8Array(m),o.HEAPU32=new Uint32Array(m)}function n(m,h,I){o.HEAPU8.copyWithin(m,h,h+I)}function s(m){try{return t.grow(m-a.byteLength+65535>>>16),r(t.buffer),1}catch{}}function i(m){let h=o.HEAPU8.length;m=m>>>0;let I=gm();if(m>I)return!1;for(let L=1;L<=4;L*=2){let S=h*(1+.2/L);S=Math.min(S,m+100663296);let C=Math.min(I,xm(Math.max(m,S),65536));if(s(C))return!0}return!1}let l=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function u(m,h,I=1024){let L=h+I,S=h;for(;m[S]&&!(S>=L);)++S;if(S-h>16&&m.buffer&&l)return l.decode(m.subarray(h,S));let C="";for(;h<S;){let g=m[h++];if(!(g&128)){C+=String.fromCharCode(g);continue}let y=m[h++]&63;if((g&224)===192){C+=String.fromCharCode((g&31)<<6|y);continue}let A=m[h++]&63;if((g&240)===224?g=(g&15)<<12|y<<6|A:g=(g&7)<<18|y<<12|A<<6|m[h++]&63,g<65536)C+=String.fromCharCode(g);else{let R=g-65536;C+=String.fromCharCode(55296|R>>10,56320|R&1023)}}return C}function c(m,h){return m?u(o.HEAPU8,m,h):""}let d={emscripten_get_now:wm,emscripten_memcpy_big:n,emscripten_resize_heap:i,fd_write:()=>0};async function p(){let h=await e({env:d,wasi_snapshot_preview1:d});t=h.memory,r(t.buffer),Object.assign(o,h),o.UTF8ToString=c}return await p(),o}var Cm=Object.defineProperty,Im=(e,t,a)=>t in e?Cm(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,de=(e,t,a)=>Im(e,typeof t!="symbol"?t+"":t,a),me=null;function Sm(e){throw new ga(e.UTF8ToString(e.getLastOnigError()))}var so=class e{constructor(t){de(this,"utf16Length"),de(this,"utf8Length"),de(this,"utf16Value"),de(this,"utf8Value"),de(this,"utf16OffsetToUtf8"),de(this,"utf8OffsetToUtf16");let a=t.length,o=e._utf8ByteLength(t),r=o!==a,n=r?new Uint32Array(a+1):null;r&&(n[a]=o);let s=r?new Uint32Array(o+1):null;r&&(s[o]=a);let i=new Uint8Array(o),l=0;for(let u=0;u<a;u++){let c=t.charCodeAt(u),d=c,p=!1;if(c>=55296&&c<=56319&&u+1<a){let m=t.charCodeAt(u+1);m>=56320&&m<=57343&&(d=(c-55296<<10)+65536|m-56320,p=!0)}r&&(n[u]=l,p&&(n[u+1]=l),d<=127?s[l+0]=u:d<=2047?(s[l+0]=u,s[l+1]=u):d<=65535?(s[l+0]=u,s[l+1]=u,s[l+2]=u):(s[l+0]=u,s[l+1]=u,s[l+2]=u,s[l+3]=u)),d<=127?i[l++]=d:d<=2047?(i[l++]=192|(d&1984)>>>6,i[l++]=128|(d&63)>>>0):d<=65535?(i[l++]=224|(d&61440)>>>12,i[l++]=128|(d&4032)>>>6,i[l++]=128|(d&63)>>>0):(i[l++]=240|(d&1835008)>>>18,i[l++]=128|(d&258048)>>>12,i[l++]=128|(d&4032)>>>6,i[l++]=128|(d&63)>>>0),p&&u++}this.utf16Length=a,this.utf8Length=o,this.utf16Value=t,this.utf8Value=i,this.utf16OffsetToUtf8=n,this.utf8OffsetToUtf16=s}static _utf8ByteLength(t){let a=0;for(let o=0,r=t.length;o<r;o++){let n=t.charCodeAt(o),s=n,i=!1;if(n>=55296&&n<=56319&&o+1<r){let l=t.charCodeAt(o+1);l>=56320&&l<=57343&&(s=(n-55296<<10)+65536|l-56320,i=!0)}s<=127?a+=1:s<=2047?a+=2:s<=65535?a+=3:a+=4,i&&o++}return a}createString(t){let a=t.omalloc(this.utf8Length);return t.HEAPU8.set(this.utf8Value,a),a}},io=class je{constructor(t){if(de(this,"id",++je.LAST_ID),de(this,"_onigBinding"),de(this,"content"),de(this,"utf16Length"),de(this,"utf8Length"),de(this,"utf16OffsetToUtf8"),de(this,"utf8OffsetToUtf16"),de(this,"ptr"),!me)throw new ga("Must invoke loadWasm first.");this._onigBinding=me,this.content=t;let a=new so(t);this.utf16Length=a.utf16Length,this.utf8Length=a.utf8Length,this.utf16OffsetToUtf8=a.utf16OffsetToUtf8,this.utf8OffsetToUtf16=a.utf8OffsetToUtf16,this.utf8Length<1e4&&!je._sharedPtrInUse?(je._sharedPtr||(je._sharedPtr=me.omalloc(1e4)),je._sharedPtrInUse=!0,me.HEAPU8.set(a.utf8Value,je._sharedPtr),this.ptr=je._sharedPtr):this.ptr=a.createString(me)}convertUtf8OffsetToUtf16(t){return this.utf8OffsetToUtf16?t<0?0:t>this.utf8Length?this.utf16Length:this.utf8OffsetToUtf16[t]:t}convertUtf16OffsetToUtf8(t){return this.utf16OffsetToUtf8?t<0?0:t>this.utf16Length?this.utf8Length:this.utf16OffsetToUtf8[t]:t}dispose(){this.ptr===je._sharedPtr?je._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};de(io,"LAST_ID",0);de(io,"_sharedPtr",0);de(io,"_sharedPtrInUse",!1);var pl=io,Ir=class{constructor(t){if(de(this,"_onigBinding"),de(this,"_ptr"),!me)throw new ga("Must invoke loadWasm first.");let a=[],o=[];for(let i=0,l=t.length;i<l;i++){let u=new so(t[i]);a[i]=u.createString(me),o[i]=u.utf8Length}let r=me.omalloc(4*t.length);me.HEAPU32.set(a,r/4);let n=me.omalloc(4*t.length);me.HEAPU32.set(o,n/4);let s=me.createOnigScanner(r,n,t.length);for(let i=0,l=t.length;i<l;i++)me.ofree(a[i]);me.ofree(n),me.ofree(r),s===0&&Sm(me),this._onigBinding=me,this._ptr=s}dispose(){this._onigBinding.freeOnigScanner(this._ptr)}findNextMatchSync(t,a,o){let r=0;if(typeof o=="number"&&(r=o),typeof t=="string"){t=new pl(t);let n=this._findNextMatchSync(t,a,!1,r);return t.dispose(),n}return this._findNextMatchSync(t,a,!1,r)}_findNextMatchSync(t,a,o,r){let n=this._onigBinding,s=n.findNextOnigScannerMatch(this._ptr,t.id,t.ptr,t.utf8Length,t.convertUtf16OffsetToUtf8(a),r);if(s===0)return null;let i=n.HEAPU32,l=s/4,u=i[l++],c=i[l++],d=[];for(let p=0;p<c;p++){let m=t.convertUtf8OffsetToUtf16(i[l++]),h=t.convertUtf8OffsetToUtf16(i[l++]);d[p]={start:m,end:h,length:h-m}}return{index:u,captureIndices:d}}};function ym(e){return typeof e.instantiator=="function"}function bm(e){return typeof e.default=="function"}function km(e){return typeof e.data<"u"}function Tm(e){return typeof Response<"u"&&e instanceof Response}function vm(e){return typeof ArrayBuffer<"u"&&(e instanceof ArrayBuffer||ArrayBuffer.isView(e))||typeof Buffer<"u"&&Buffer.isBuffer?.(e)||typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer||typeof Uint32Array<"u"&&e instanceof Uint32Array}var no;function Pm(e){if(no)return no;async function t(){me=await Lm(async a=>{let o=e;return o=await o,typeof o=="function"&&(o=await o(a)),typeof o=="function"&&(o=await o(a)),ym(o)?o=await o.instantiator(a):bm(o)?o=await o.default(a):(km(o)&&(o=o.data),Tm(o)?typeof WebAssembly.instantiateStreaming=="function"?o=await Am(o)(a):o=await Rm(o)(a):vm(o)?o=await Cr(o)(a):o instanceof WebAssembly.Module?o=await Cr(o)(a):"default"in o&&o.default instanceof WebAssembly.Module&&(o=await Cr(o.default)(a))),"instance"in o&&(o=o.instance),"exports"in o&&(o=o.exports),o})}return no=t(),no}function Cr(e){return t=>WebAssembly.instantiate(e,t)}function Am(e){return t=>WebAssembly.instantiateStreaming(e,t)}function Rm(e){return async t=>{let a=await e.arrayBuffer();return WebAssembly.instantiate(a,t)}}async function ml(e){return e&&await Pm(e),{createScanner(t){return new Ir(t.map(a=>typeof a=="string"?a:a.source))},createString(t){return new pl(t)}}}var lo=ll({langs:ha,themes:fl,engine:()=>ml(import("../wasm-ISCPKFD2.js"))}),{codeToHtml:Mm,codeToHast:Fm,codeToTokens:Dm,codeToTokensBase:Bm,codeToTokensWithThemes:Em,getSingletonHighlighter:_m,getLastGrammarState:Nm}=ul(lo,{guessEmbeddedLanguages:tl});var hl=new Set(Object.keys(ha)),Sr=new Map,yr=new Map,Rt=new Map,Om=(e,t)=>`${e}-${t[0]}-${t[1]}`,Um=(e,t,a)=>{let o=e.slice(0,100),r=e.length>100?e.slice(-100):"";return`${t}:${a[0]}:${a[1]}:${e.length}:${o}:${r}`},Hm=(e,t)=>{let a=Om(e,t);if(Sr.has(a))return Sr.get(a);let o=lo({themes:t,langs:[e]});return Sr.set(a,o),o};function qm(e={}){var t;let a=(t=e.themes)!=null?t:["github-light","github-dark"];return{name:"shiki",type:"code-highlighter",supportsLanguage(o){return hl.has(o)},getSupportedLanguages(){return Array.from(hl)},getThemes(){return a},highlight({code:o,language:r,themes:n},s){let i=Um(o,r,n);return yr.has(i)?yr.get(i):(s&&(Rt.has(i)||Rt.set(i,new Set),Rt.get(i).add(s)),Hm(r,n).then(l=>{let u=l.getLoadedLanguages().includes(r)?r:"text",c=l.codeToTokens(o,{lang:u,themes:{light:n[0],dark:n[1]}});yr.set(i,c);let d=Rt.get(i);if(d){for(let p of d)p(c);Rt.delete(i)}}).catch(l=>{console.error("[Streamdown Code] Failed to highlight code:",l),Rt.delete(i)}),null)}}}var gl=qm();import{memo as zm}from"react";f();import{useEffect as Wm,useRef as uo,useState as Gm}from"react";var jm=5,wl=400;function xl(e,t,a={}){let{msPerChar:o=jm}=a,[r,n]=Gm(t?"":e),s=uo(e),i=uo(t?0:e.length),l=uo(0),u=uo(null);return(e.length<i.current||!e.startsWith(r.slice(0,i.current)))&&(i.current=t?0:e.length),s.current=e,Wm(()=>{if(!t){u.current!==null&&(cancelAnimationFrame(u.current),u.current=null),i.current=e.length,n(e);return}if(s.current.length-i.current>wl&&(i.current=s.current.length-wl),u.current!==null)return;let d=p=>{let m=s.current;if(i.current>=m.length){u.current=null;return}l.current===0&&(l.current=p);let h=p-l.current;if(h>=o){let I=Math.min(Math.floor(h/o),m.length-i.current);i.current+=I,n(m.slice(0,i.current)),l.current=p}u.current=requestAnimationFrame(d)};return u.current=requestAnimationFrame(d),()=>{u.current!==null&&(cancelAnimationFrame(u.current),u.current=null)}},[e,t,o]),r}import{jsx as co}from"react/jsx-runtime";var br=({className:e,from:t,children:a,...o})=>co("div",{className:F("ww:group ww:flex ww:w-full",t==="user"?"is-user ww:ml-auto ww:max-w-[80%] ww:flex-col ww:items-end":"is-assistant ww:flex-col",e),...o,children:co("div",{className:F("ww:flex ww:min-w-0 ww:flex-col ww:gap-2","ww:w-full"),children:a})}),kr=({children:e,className:t,...a})=>co("div",{className:F("ww:flex ww:w-fit ww:min-w-0 ww:max-w-full ww:flex-col ww:gap-2 ww:overflow-hidden ww:text-base","ww:group-[.is-user]:ml-auto ww:group-[.is-user]:rounded-lg ww:group-[.is-user]:bg-user-bubble ww:group-[.is-user]:px-4 ww:group-[.is-user]:py-3 ww:group-[.is-user]:text-primary-foreground","ww:group-[.is-assistant]:text-foreground",t),...a,children:e}),Vm={cjk:$o,code:gl},$m={cjk:$o},Xm={enabled:!1};function Km({className:e,linkSafety:t,isStreaming:a,children:o,...r}){let s=xl(typeof o=="string"?o:"",!!a),i=typeof o=="string"?s:o;return co(Ft,{className:F("ww:size-full ww:[&>*:first-child]:mt-0 ww:[&>*:last-child]:mb-0",e),linkSafety:t??Xm,plugins:a?$m:Vm,...r,children:i})}var fo=zm(Km,(e,t)=>e.children===t.children&&e.isStreaming===t.isStreaming);fo.displayName="MessageResponse";f();import{createContext as Qm,useCallback as Jm,useContext as Sl,useEffect as Zm,useMemo as vr,useRef as Ym,useState as Pr}from"react";import{Fragment as Il,jsx as $,jsxs as gt}from"react/jsx-runtime";function eh(e,t=80){if(e==null)return String(e);if(typeof e!="object")return String(e).slice(0,t);if(Array.isArray(e))return`Array(${e.length})`;let a=JSON.stringify(e);if(a.length<=t)return a;let o=Object.entries(e),r=[],n=t-2;for(let[s,i]of o){if(n<=8)break;let l=s.length>4?`${s.slice(0,4)}\u2026`:s,u;typeof i=="string"?u=i.length>2?`'${i.slice(0,1)}\u2026`:`'${i}'`:Array.isArray(i)?u=`Array(${i.length})`:typeof i=="object"&&i!==null?u="{\u2026}":u=String(i);let c=`${l}\u2009${u}`;r.push(c),n-=c.length+3}return`{${r.join(", ")}}`}function th({text:e,className:t}){let{t:a}=V(),[o,r]=Pr(!1),n=Ym(null);Zm(()=>()=>{n.current&&clearTimeout(n.current)},[]);let s=Jm(async i=>{i.stopPropagation();try{await navigator.clipboard.writeText(e),r(!0),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>r(!1),2e3)}catch{}},[e]);return $(qe,{variant:"ghost",size:"sm",onClick:s,className:F("ww:h-auto ww:gap-1 ww:px-1.5 ww:py-0.5 ww:text-xs ww:text-muted-foreground ww:hover:text-foreground",t),children:o?gt(Il,{children:[$(Gt,{className:"ww:size-3.5"}),$("span",{children:a.tool.copied})]}):gt(Il,{children:[$(zt,{className:"ww:size-3.5"}),$("span",{children:a.tool.copy})]})})}function yl({data:e,label:t,className:a,...o}){let[r,n]=Pr(!1),s=vr(()=>JSON.stringify(e,null,2),[e]),i=eh(e);return gt("div",{className:F("ww:rounded-lg ww:bg-tool-card",a),...o,children:[gt("div",{className:"ww:flex ww:items-center ww:justify-between ww:px-3 ww:pt-2.5 ww:pb-1.5",children:[$("span",{className:"ww:text-xs ww:font-medium ww:text-muted-foreground",children:t}),$(th,{text:s})]}),gt("button",{type:"button",onClick:()=>n(l=>!l),className:"ww:flex ww:w-full ww:items-start ww:gap-2 ww:px-3 ww:pb-3 ww:text-left",children:[$(jt,{className:F("ww:mt-0.5 ww:size-3.5 ww:shrink-0 ww:text-muted-foreground ww:transition-transform ww:duration-150",r&&"ww:rotate-90")}),r?$("pre",{className:"ww:overflow-x-auto ww:text-xs ww:font-mono ww:text-foreground ww:whitespace-pre-wrap ww:break-all",children:$("code",{children:s})}):$("span",{className:"ww:truncate ww:text-xs ww:font-mono ww:text-foreground/80",children:i})]})]})}var Ar=Qm({open:!1,toggle:()=>{}});function bl({className:e,defaultOpen:t=!1,children:a,...o}){let[r,n]=Pr(t);return $(Ar.Provider,{value:{open:r,toggle:()=>n(s=>!s)},children:$("div",{className:F("ww:mb-4 ww:w-full",e),"data-state":r?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...o,children:a})})}function kl({className:e,title:t,state:a,...o}){let{open:r,toggle:n}=Sl(Ar),s=a==="input-available"||a==="input-streaming",i=t??"";return gt("button",{type:"button",onClick:n,className:F("ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),"aria-expanded":r,...o,children:[$(Qe,{className:"ww:size-4 ww:shrink-0"}),$("span",{className:"ww:truncate",children:s?$(Ne,{duration:1.6,children:i}):i}),$(Je,{className:F("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",r&&"ww:rotate-180")})]})}function Tl({className:e,title:t,state:a,...o}){let r=a==="input-available"||a==="input-streaming",n=t??"";return $("div",{className:F("ww:mb-4 ww:flex ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground",e),style:{animation:"ww-fade-in 0.2s ease-out"},...o,children:$("span",{className:"ww:truncate",children:r?$(Ne,{duration:1.6,children:n}):n})})}function vl({className:e,children:t,...a}){let{open:o}=Sl(Ar);return $("div",{className:F("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",o?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:$("div",{className:"ww:min-h-0 ww:overflow-hidden",children:$("div",{className:F("ww:mt-2 ww:space-y-3 ww:rounded-lg ww:border ww:border-border ww:bg-background ww:p-3",e),...a,children:t})})})}function Rr({className:e,input:t,debug:a,...o}){let{t:r}=V(),n=vr(()=>{if(!a&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:s,...i}=t;return i}return t},[t,a]);return $(yl,{data:n,label:r.tool.request,className:e,...o})}function Tr(e){if(!(typeof e!="object"||e===null))return e}function Pl(e){return Tr(e?.ui)}function Al(e){return Tr(Tr(e)?._meta)}function Ll(e){if(!e)return;let t=Pl(e)?.resourceUri;if(typeof t=="string"&&t.length>0)return t;let a=e["ui/resourceUri"];if(typeof a=="string"&&a.length>0)return a;let o=e["openai/outputTemplate"];if(typeof o=="string"&&o.length>0)return o}function Cl(e){return Pl(e)?.autoHeight===!0}function wa(e,t,a){if(e){let o=Ll(a?.[e]?._meta);if(o)return o}return Ll(Al(t))}function Rl(e,t,a){return e&&Cl(a?.[e]?._meta)?!0:Cl(Al(t))}function Mr({className:e,output:t,errorText:a,debug:o,...r}){let{t:n}=V(),s=vr(()=>{if(!o&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:i,...l}=t;return l}return t},[t,o]);return t||a?a?gt("div",{className:F("ww:space-y-2",e),...r,children:[$("h4",{className:"ww:text-xs ww:font-medium ww:uppercase ww:tracking-wide ww:text-muted-foreground",children:n.tool.error}),$("div",{className:"ww:rounded-lg ww:bg-destructive/10 ww:p-3 ww:text-xs ww:text-destructive",children:a})]}):$(yl,{data:s,label:n.tool.response,className:e,...r}):null}f();import{jsx as Ml,jsxs as ah}from"react/jsx-runtime";function Fl(e){return e.type==="text"||e.type==="reasoning"||e.type==="file"||"toolCallId"in e}function Dl(e){return e.parts.some(Fl)}function Bl(e,t,a){if(t!=="submitted"&&t!=="streaming")return!1;let o=e[e.length-1];return!o||o.role!=="assistant"?!0:!o.parts.some(n=>!(!Fl(n)||a?.ignoreToolParts&&"toolCallId"in n||a?.ignoreReasoningParts&&n.type==="reasoning"))}function El({className:e,...t}){let{t:a}=V();return ah("div",{"aria-live":"polite",className:F("ww:mb-4 ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground",e),style:{animation:"ww-fade-in 0.2s ease-out"},...t,children:[Ml(Jt,{className:"ww:size-4 ww:shrink-0"}),Ml(Ne,{duration:1.6,children:a.workingIndicator.default})]})}f();import{useCallback as oh,useEffect as _l,useMemo as rh,useRef as be,useState as Nl}from"react";import{jsx as hh}from"react/jsx-runtime";var nh="/api/mcp/resource",sh=500,ih=0,lh=16,uh="2026-01-26",dh=300,ch=3e3,fh=3;function ph(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function mh(e,t,a){return wa(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function Ol({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:o=nh,chatSessionId:r,isDark:n=!1,className:s,autoHeight:i=!1,onOpenLink:l,onFollowUp:u,onCallTool:c,onDisplayModeChange:d,isFullscreen:p=!1,toolDefinitions:m}){let h=be(null),I=be(t),L=be(a),S=be({width:0,height:0}),C=be(null),g=be(!1),y=be(0),A=be("inline"),[R,P]=Nl(ih),[M,N]=Nl(void 0),D=be(l),_=be(u),T=be(c),E=be(d),k=be(r),v=be(m);I.current=t,L.current=a,D.current=l,_.current=u,T.current=c,E.current=d,k.current=r,v.current=m;let q=oh(X=>i?Math.max(X+lh,0):Math.min(Math.max(X,50),sh),[i]),Le=rh(()=>{let X=o.includes("?")?"&":"?";return`${o}${X}uri=${encodeURIComponent(e)}`},[o,e]),ie=be(n);return ie.current=n,_l(()=>{if(!g.current)return;let X=h.current;X?.contentWindow&&X.contentWindow.postMessage({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{theme:n?"dark":"light"}},"*")},[n]),_l(()=>{let X=h.current;if(!X)return;let Ce=!1,Pe=!1,ye=null,ke=null,Ke=setTimeout(()=>{if(Ce||Pe||y.current>=fh)return;y.current+=1;let re=new URL(X.src);re.searchParams.set("_retry",String(y.current)),X.src=re.toString()},ch),U=re=>{X.contentWindow?.postMessage(re,"*")},fe=re=>{if(Ce||re.source!==X.contentWindow)return;let Z=re.data;if(!Z||typeof Z!="object"||Z.jsonrpc!=="2.0")return;let ne=Z.method,G=Z.id;if(ne==="ui/initialize"&&G!=null){Pe=!0,clearTimeout(Ke),U({jsonrpc:"2.0",id:G,result:{protocolVersion:Z.params?.protocolVersion??uh,hostInfo:{name:"WaniWani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:ie.current?"dark":"light",displayMode:A.current}}});return}if(ne==="ui/notifications/initialized"){g.current=!0;let z=I.current,K=L.current,te=K._meta&&typeof K._meta=="object"?K._meta:null,Y=ph(k.current),le=te&&typeof te.waniwani=="object"&&te.waniwani!==null?te.waniwani:null,Te=le||Y?{...le??{},...Y?{sessionId:Y}:{}}:void 0,Fe=te||Te?{...te??{},...Te?{waniwani:Te}:{}}:void 0;U({jsonrpc:"2.0",method:"ui/notifications/tool-input",params:{arguments:z}});let Lt=K.content??[{type:"text",text:JSON.stringify(K)}];U({jsonrpc:"2.0",method:"ui/notifications/tool-result",params:{content:Lt,structuredContent:K.structuredContent,_meta:Fe,meta:Fe}});return}if(ne==="ui/notifications/size-changed"){let z=Z.params,K=typeof z?.height=="number"?z.height:void 0,te=typeof z?.width=="number"?z.width:void 0,Y=S.current,le=K!==void 0&&K!==Y.height,Te=te!==void 0&&te!==Y.width;if(!le&&!Te)return;if(le&&K!==void 0){Y.height=K;let Fe=q(K),Lt=X.getBoundingClientRect().height;if(C.current&&(C.current.cancel(),C.current=null),P(Fe),X.animate&&Math.abs(Lt-Fe)>2){let Ct=X.animate([{height:`${Lt}px`},{height:`${Fe}px`}],{duration:dh,easing:"ease-out",fill:"forwards"});C.current=Ct,Ct.onfinish=()=>{C.current===Ct&&(Ct.cancel(),C.current=null)}}}Te&&i&&te!==void 0&&(Y.width=te,N(te));return}if(ne==="ui/open-link"&&G!=null){let z=Z.params?.url;typeof z=="string"&&(D.current?D.current(z):window.open(z,"_blank","noopener,noreferrer")),U({jsonrpc:"2.0",id:G,result:{}});return}if(ne==="ui/message"&&G!=null){if(_.current&&Z.params){let z=Z.params,K=ye;if(ye=null,ke){clearTimeout(ke.timer);let te=ke.text;ke=null;let Y=(z.content??[]).map(le=>le.text??"").join("").trim();z={...z,content:[{type:"text",text:`${Y}
80
80
 
81
- ${Z}`}]}}T.current({...j,...$?{modelContext:$}:{}})}U({jsonrpc:"2.0",id:q,result:{}});return}if(oe==="ui/update-model-context"&&q!=null){Ce=Or(Ce,K.params),U({jsonrpc:"2.0",id:q,result:{}});return}if(oe==="tools/call"&&q!=null){let j=y.current;if(!j){U({jsonrpc:"2.0",id:q,error:{code:-32601,message:"tools/call not supported"}});return}let $=K.params?.name;j({name:$,arguments:K.params?.arguments??{}}).then(Z=>{U({jsonrpc:"2.0",id:q,result:Z});let Q=Z.content?.map(se=>se.text??"").join("").trim();Q&&Vm($,Z,F.current)&&(ye&&clearTimeout(ye.timer),ye={text:Q,timer:setTimeout(()=>{if(we)return;let se=Ce;Ce=null,ye=null,T.current?.({role:"user",content:[{type:"text",text:Q}],...se?{modelContext:se}:{}})},500)})}).catch(Z=>{let Q=Z instanceof Error?Z.message:"Tool call failed";U({jsonrpc:"2.0",id:q,error:{code:-32e3,message:Q}})});return}if(oe==="ui/request-display-mode"&&q!=null){let j=K.params?.mode,$=j==="fullscreen"||j==="inline"||j==="pip"?j:"inline";v.current=$,U({jsonrpc:"2.0",id:q,result:{mode:$}}),U({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{displayMode:$}}),D.current?.($);return}if(oe==="ui/resource-teardown"&&q!=null){U({jsonrpc:"2.0",id:q,result:{}});return}oe==="ping"&&q!=null&&U({jsonrpc:"2.0",id:q,result:{}})};return window.addEventListener("message",de),()=>{we=!0,clearTimeout($e),ye&&clearTimeout(ye.timer),window.removeEventListener("message",de)}},[i,J]),$m("iframe",{ref:h,src:_e,sandbox:"allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox",className:B(!p&&"ww:rounded-md ww:border ww:border-border",n),style:{height:p?"100%":P,minWidth:p||!R?void 0:`min(${R}px, 100%)`,width:"100%",border:"none",colorScheme:s?"dark":"auto"},title:"MCP App"})}f();import{jsx as ca,jsxs as Xm}from"react/jsx-runtime";function bl({icon:e,title:t,description:a,suggestions:o,onSuggestionSelect:r}){return Xm("div",{className:"ww:flex ww:flex-col ww:items-center ww:justify-center ww:py-12 ww:px-6 ww:text-center ww:min-h-full",children:[e&&ca("div",{className:"ww:mb-4 ww:flex ww:items-center ww:justify-center ww:size-12 ww:rounded-xl ww:bg-foreground ww:text-background",children:e}),ca("h2",{className:"ww:text-lg ww:font-semibold ww:text-foreground",children:t}),a&&ca("p",{className:"ww:mt-1 ww:text-sm ww:text-muted-foreground ww:max-w-sm",children:a}),o&&o.length>0&&ca("div",{className:"ww:mt-6 ww:w-full ww:max-w-md ww:flex ww:flex-col ww:gap-2",children:o.map((s,n)=>ca("button",{type:"button",onClick:()=>r?.(s),className:B("ww:w-full ww:text-left ww:rounded-xl ww:border ww:border-border ww:bg-background ww:px-4 ww:py-3 ww:text-sm","ww:text-foreground ww:hover:bg-accent ww:hover:border-primary/30","ww:transition-all ww:duration-200 ww:ease-out ww:cursor-pointer","ww:animate-[ww-fade-in_0.2s_ease-out_both]"),style:{animationDelay:`${n*50}ms`},children:s},s))})]})}f();import{Component as Km}from"react";import{jsx as kr,jsxs as Jm}from"react/jsx-runtime";function Qm({onRetry:e}){let{t}=z();return Jm("div",{className:"ww:flex ww:items-center ww:justify-between ww:rounded-md ww:border ww:border-border ww:bg-muted/50 ww:px-4 ww:py-3 ww:text-sm ww:text-muted-foreground",children:[kr("span",{children:t.widgetErrorBoundary.failedToLoad}),kr("button",{type:"button",onClick:e,className:"ww:text-xs ww:font-medium ww:text-primary ww:hover:underline",children:t.widgetErrorBoundary.retry})]})}var so=class extends Km{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.warn("[WaniWani] Widget failed to render:",t.message)}render(){return this.state.hasError?kr(Qm,{onRetry:()=>this.setState({hasError:!1})}):this.props.children}};import{Fragment as Zm,jsx as ne,jsxs as ct}from"react/jsx-runtime";function kl(e){return e?e.replace(/[-_]/g," ").replace(/^\w/,t=>t.toUpperCase()):"Tool"}function Tl({messages:e,status:t,welcomeMessage:a,welcome:o,onSuggestionSelect:r,resourceEndpoint:s,chatSessionId:n,isDark:i,onFollowUp:l,onCallTool:u,onWidgetDisplayModeChange:c,fullscreenToolCallId:d,debug:p,showToolCalls:m=!0,toolDefinitions:h}){let I=e[e.length-1],L=e.length>0,S=d!=null,C=!S&&Ll(e,t,{ignoreToolParts:m===!1});return ct(Zm,{children:[!S&&(!L&&o?ne(bl,{...o,onSuggestionSelect:r}):a&&ne(fr,{from:"assistant",children:ne(pr,{children:ne(ro,{children:a})})})),e.map(g=>{let b=g.parts.filter(T=>T.type==="text"),v=g.parts.filter(T=>T.type==="reasoning"),P=g.parts.filter(T=>T.type==="file"),A=g.parts.filter(T=>"toolCallId"in T),R=g===I&&g.role==="assistant",_=b.length>0,M=S?A.some(T=>T.toolCallId===d):!1;return S&&!M?ne("div",{style:{display:"none"}},g.id):g.role==="assistant"&&!br(g)?ne("div",{style:{display:"none"}},g.id):m===!1&&g.role==="assistant"&&!_&&v.length===0&&P.length===0&&A.every(T=>{let y="output"in T?T.output:void 0;return y===void 0||!s||!da(T.toolName,y,h)})?ne("div",{style:{display:"none"}},g.id):ct(fr,{from:g.role,children:[!M&&v.map((T,y)=>ct(wr,{isStreaming:T.state==="streaming",children:[ne(xr,{}),ne(Lr,{children:T.text})]},`reasoning-${g.id}-${y}`)),A.map(T=>{let y="output"in T?T.output:void 0,D=da(T.toolName,y,h),H=hl(T.toolName,y,h),F=T.toolCallId===d;return m===!1&&!(D&&s&&y!==void 0)?null:ct("div",{style:F?{position:"absolute",inset:0,zIndex:10,display:"flex",flexDirection:"column",overflow:"hidden",background:"var(--ww-color-background)"}:void 0,children:[m!==!1&&ne("div",{style:F?{display:"none"}:void 0,children:m==="titles-only"?ne(dl,{title:T.title??kl(T.toolName),state:T.state}):ct(ll,{children:[ne(ul,{title:T.title??kl(T.toolName),state:T.state}),ct(cl,{children:[ne(fl,{input:T.input,debug:p}),y!==void 0&&ne(gl,{output:y,errorText:"errorText"in T?T.errorText:void 0,debug:p})]})]})}),D&&s&&y!==void 0&&ne(so,{children:ne(yl,{isFullscreen:F,resourceUri:D,toolInput:T.input??{},toolResult:{content:y.content,structuredContent:y.structuredContent,_meta:y._meta},resourceEndpoint:s,chatSessionId:n,isDark:i,autoHeight:H,toolDefinitions:h,onFollowUp:l,onCallTool:u,onDisplayModeChange:c?J=>c(J,{toolCallId:T.toolCallId,resourceUri:D,toolInput:T.input??{},toolResult:{content:y.content,structuredContent:y.structuredContent,_meta:y._meta},autoHeight:H}):void 0})})]},T.toolCallId)}),!M&&ne("div",{children:ct(pr,{children:[P.length>0&&ne(In,{files:P}),_?b.map((T,y)=>{let D=R&&t==="streaming"&&y===b.length-1;return ne(ro,{isStreaming:D,children:T.type==="text"?T.text:""},`${g.id}-${y}`)}):null]})})]},g.id)}),C&&ne(Cl,{})]})}f();import{jsx as vl,jsxs as th}from"react/jsx-runtime";var Ym="https://app.waniwani.ai/assets/waniwani-logo.svg",eh="https://waniwani.ai";function Pl(){let{t:e}=z();return th("a",{href:eh,target:"_blank",rel:"noopener noreferrer",className:"ww:flex ww:items-center ww:gap-1.5 ww:text-[11px] ww:text-muted-foreground ww:opacity-70 hover:ww:opacity-100 ww:transition-opacity",children:[vl("span",{children:e.poweredBy.label}),vl("img",{src:Ym,alt:"WaniWani",width:72,height:10,"data-waniwani-logo":"",className:"ww:h-2.5 ww:w-auto"})]})}f();import{jsx as no}from"react/jsx-runtime";function Al({suggestions:e,isLoading:t,onSelect:a,className:o,...r}){return e.length===0&&!t?null:no("div",{className:B("ww:px-4 ww:py-2",o),...r,children:no("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl ww:flex ww:flex-wrap ww:gap-2",children:t?[0,1,2].map(s=>no("div",{className:"ww:h-7 ww:rounded-full ww:bg-accent ww:animate-pulse",style:{width:`${60+s*20}px`}},s)):e.map((s,n)=>no("button",{type:"button",onClick:()=>a(s),className:B("ww:rounded-full ww:border ww:border-border ww:bg-background ww:px-3 ww:py-1 ww:text-xs","ww:text-foreground ww:hover:bg-accent ww:hover:border-primary/30","ww:transition-all ww:duration-200 ww:ease-out ww:cursor-pointer","ww:animate-[ww-fade-in_0.2s_ease-out_both]"),style:{animationDelay:`${n*50}ms`},children:s},s))})})}f();import{useEffect as ah,useRef as oh,useState as rh}from"react";import{jsx as ee,jsxs as ft}from"react/jsx-runtime";var Rl=20;function sh({label:e}){return ft("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[ee("title",{children:e}),ee("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),ee("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}function nh({label:e}){return ft("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[ee("title",{children:e}),ee("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),ee("polyline",{points:"3 4 3 9 8 9"}),ee("line",{x1:"12",y1:"7",x2:"12",y2:"12"}),ee("line",{x1:"12",y1:"12",x2:"15",y2:"14"})]})}function ih({label:e}){return ft("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[ee("title",{children:e}),ee("polyline",{points:"3 6 5 6 21 6"}),ee("path",{d:"M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6"}),ee("path",{d:"M10 11v6"}),ee("path",{d:"M14 11v6"})]})}function Ml({threads:e,activeThreadId:t,onNewThread:a,onSelectThread:o,onDeleteThread:r}){let{locale:s,t:n}=z(),[i,l]=rh(!1),u=oh(null);ah(()=>{if(!i)return;let p=m=>{let h=u.current;h&&(m.composedPath().includes(h)||l(!1))};return document.addEventListener("mousedown",p),()=>document.removeEventListener("mousedown",p)},[i]);let c=e.slice(0,Rl),d=Math.max(0,e.length-Rl);return ft("div",{ref:u,className:"ww:relative ww:flex ww:items-center ww:gap-1",children:[ee("button",{type:"button",onClick:a,title:n.threadMenu.newChat,"aria-label":n.threadMenu.newChat,className:"ww:p-1.5 ww:rounded-md ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/5 ww:transition-colors ww:cursor-pointer",children:ee(sh,{label:n.threadMenu.newChat})}),ee("button",{type:"button",onClick:()=>l(p=>!p),title:n.threadMenu.threadHistory,"aria-label":n.threadMenu.threadHistory,"aria-expanded":i,className:"ww:p-1.5 ww:rounded-md ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/5 ww:transition-colors ww:cursor-pointer",children:ee(nh,{label:n.threadMenu.threadHistory})}),i&&ft("div",{role:"menu",className:"ww:absolute ww:right-0 ww:top-full ww:mt-1 ww:w-72 ww:max-h-80 ww:overflow-y-auto ww:rounded-lg ww:border ww:border-border ww:bg-background ww:shadow-lg ww:z-50",children:[c.length===0&&ee("div",{className:"ww:px-3 ww:py-3 ww:text-xs ww:text-muted-foreground",children:n.threadMenu.noPreviousChats}),c.map(p=>{let m=p.threadId===t,h=Date.parse(p.updatedAt);return ft("div",{className:`ww:flex ww:items-center ww:gap-2 ww:px-3 ww:py-2 ww:text-xs hover:ww:bg-foreground/5 ${m?"ww:bg-foreground/5":""}`,children:[ft("button",{type:"button",onClick:()=>{o(p.threadId),l(!1)},className:"ww:flex-1 ww:min-w-0 ww:text-left ww:cursor-pointer",children:[ee("div",{className:"ww:truncate ww:text-foreground ww:font-medium",children:p.title}),ee("div",{className:"ww:text-[10px] ww:text-muted-foreground",children:Number.isNaN(h)?"":Ro(h,s)})]}),ee("button",{type:"button",onClick:I=>{I.stopPropagation(),r(p.threadId)},title:n.threadMenu.deleteThread,"aria-label":n.threadMenu.deleteThread,className:"ww:p-1 ww:rounded ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/10 ww:transition-colors ww:cursor-pointer",children:ee(ih,{label:n.threadMenu.deleteThread})})]},p.threadId)}),d>0&&ee("div",{className:"ww:px-3 ww:py-2 ww:text-[10px] ww:text-muted-foreground ww:border-t ww:border-border",children:n.threadMenu.hiddenThreads(d)})]})]})}f();import{useCallback as lh,useRef as uh}from"react";function Fl(e){let t=uh(e);return t.current=e,lh(async a=>{let{api:o,headers:r,onCallTool:s,sessionId:n}=t.current;if(s)return s(a);let i=`${o??"/api/waniwani"}/tool`,l=typeof n=="string"&&n.trim().length>0?n.trim():void 0,u=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json",...l?{"X-Session-Id":l}:{},...r},body:JSON.stringify(a)});if(!u.ok)throw new Error(`Tool call failed: ${u.status} ${u.statusText}`);return u.json()},[])}f();import{useChat as Th}from"@ai-sdk/react";import{useCallback as he,useEffect as Fe,useRef as ue,useState as pt}from"react";f();import{DefaultChatTransport as dh,uiMessageChunkSchema as ch}from"ai";function fh(e){let t=e?.cause,a=t?.issues??t?.errors;if(!Array.isArray(a))return null;let o=a.find(r=>r.code==="invalid_union");if(!o?.errors)return null;for(let r of o.errors){if(!Array.isArray(r)||r.some(i=>(i.code==="invalid_value"||i.code==="invalid_literal")&&i.path?.[0]==="type"))continue;let n=r.filter(i=>i.code==="unrecognized_keys").flatMap(i=>i.keys??[]);if(n.length>0)return n}return null}var io=class extends dh{processResponseStream(t){let a="",o=ch(),r=o.validate?.bind(o);return t.pipeThrough(new TextDecoderStream).pipeThrough(new TransformStream({async transform(s,n){a+=s;let i=a.split(`
82
- `);a=i.pop()??"";for(let l of i){let u=l.trim();if(!u.startsWith("data:"))continue;let c=u.slice(5).trim();if(c!=="[DONE]")try{let d=JSON.parse(c);if(!r){n.enqueue(d);continue}let p=await r(d);if(p.success){n.enqueue(p.value);continue}let m=fh(p.error);if(m?.length){let h={...d};for(let L of m)delete h[L];let I=await r(h);I.success&&n.enqueue(I.value)}}catch{}}}}))}};f();f();var ph="waniwani-memory";var Ae="threads",lo="by_memoryUserId",mh="by_updatedAt";var Bl="memoryUserId",Dl="waniwani-memory-user-id",Tr=null;function vr(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function hh(e,t){if(t<1&&(e.objectStoreNames.contains("ids")||e.createObjectStore("ids")),t<2&&!e.objectStoreNames.contains(Ae)){let a=e.createObjectStore(Ae,{keyPath:"threadId"});a.createIndex(lo,"memoryUserId",{unique:!1}),a.createIndex(mh,"updatedAt",{unique:!1})}}async function Pr(){return new Promise((e,t)=>{let a=indexedDB.open(ph,2);a.onupgradeneeded=o=>{hh(a.result,o.oldVersion)},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})}async function gh(){return Pr()}async function wh(e){return new Promise((t,a)=>{let s=e.transaction("ids","readonly").objectStore("ids").get(Bl);s.onsuccess=()=>t(typeof s.result=="string"?s.result:null),s.onerror=()=>a(s.error)})}async function xh(e,t){return new Promise((a,o)=>{let n=e.transaction("ids","readwrite").objectStore("ids").put(t,Bl);n.onsuccess=()=>a(),n.onerror=()=>o(n.error)})}async function Lh(){if(typeof indexedDB>"u")return null;try{let e=await gh();try{let t=await wh(e);if(t)return t;let a=vr();return await xh(e,a),a}finally{e.close()}}catch{return null}}function Ch(){try{let e=localStorage.getItem(Dl);if(e)return e;let t=vr();return localStorage.setItem(Dl,t),t}catch{return null}}async function El(){let e=await Lh();if(e)return e;let t=Ch();return t||(Tr||(Tr=vr()),Tr)}var _l=50,Nl=1e3;function uo(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.threadId=="string"&&typeof t.memoryUserId=="string"&&typeof t.title=="string"&&Array.isArray(t.messages)&&typeof t.createdAt=="string"&&typeof t.updatedAt=="string"}async function co(e){if(typeof indexedDB>"u")return null;let t=null;try{return t=await Pr(),await e(t)}catch{return null}finally{try{t?.close()}catch{}}}function Ar(e){return new Promise((t,a)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>a(e.error)})}async function Rr(e){return await co(async a=>{let s=a.transaction(Ae,"readonly").objectStore(Ae).index(lo),i=(await Ar(s.getAll(e))??[]).filter(uo);return i.sort((l,u)=>l.updatedAt<u.updatedAt?1:-1),i})??[]}async function fo(e){return await co(async a=>{let r=a.transaction(Ae,"readonly").objectStore(Ae),s=await Ar(r.get(e));return uo(s)?s:null})??null}async function Mr(e){if(!uo(e))return;let t=e.messages.length>Nl?{...e,messages:e.messages.slice(e.messages.length-Nl)}:e;await co(async a=>{await new Promise((l,u)=>{let c=a.transaction(Ae,"readwrite");c.oncomplete=()=>l(),c.onerror=()=>u(c.error),c.onabort=()=>u(c.error),c.objectStore(Ae).put(t)});let o=a.transaction(Ae,"readwrite"),r=o.objectStore(Ae),s=r.index(lo),i=(await Ar(s.getAll(t.memoryUserId))??[]).filter(uo);if(i.length>_l){i.sort((u,c)=>u.updatedAt<c.updatedAt?-1:1);let l=i.slice(0,i.length-_l);for(let u of l)r.delete(u.threadId)}return await new Promise((l,u)=>{o.oncomplete=()=>l(),o.onerror=()=>u(o.error),o.onabort=()=>u(o.error)}),null})}async function Ul(e){await co(async t=>(await new Promise((a,o)=>{let r=t.transaction(Ae,"readwrite");r.oncomplete=()=>a(),r.onerror=()=>o(r.error),r.onabort=()=>o(r.error),r.objectStore(Ae).delete(e)}),null))}async function Fr(e){return(await Rr(e))[0]?.threadId??null}function Ol(e){let t=e.trim();if(!t)return`Conversation on ${new Date().toISOString().slice(0,10)}`;let a=t.split(/\r?\n/,1)[0]??t;return a.length<=60?a:`${a.slice(0,60).trimEnd()}\u2026`}f();var Hl="waniwani-visitor-id";function ql(e,t){return e.match(t)?.[1]??null}function Ih(e){let t=[["Edge",/Edg(?:e|A|iOS)?\/(\S+)/],["Opera",/(?:OPR|Opera)\/(\S+)/],["Samsung Internet",/SamsungBrowser\/(\S+)/],["Firefox",/Firefox\/(\S+)/],["Chrome",/Chrome\/(\S+)/],["Safari",/Version\/(\S+).*Safari/]];for(let[a,o]of t){let r=ql(e,o);if(r)return{name:a,version:r}}return null}function Sh(e){let t=[["iOS",/(?:iPhone|iPad|iPod).+?OS (\d+[_.\d]*)/],["Android",/Android (\d+[.\d]*)/],["macOS",/Mac OS X (\d+[_.\d]*)/],["Windows",/Windows NT (\d+[.\d]*)/],["ChromeOS",/CrOS \S+ (\d+[.\d]*)/],["Linux",/Linux/]];for(let[a,o]of t){let r=ql(e,o);if(r)return{name:a,version:r.replace(/_/g,".")};if(a==="Linux"&&o.test(e))return{name:a,version:""}}return null}function yh(e){return typeof navigator<"u"&&"userAgentData"in navigator&&navigator.userAgentData?.mobile?"mobile":/iPad|tablet|PlayBook/i.test(e)?"tablet":/Mobi|Android.*Mobile|iPhone|iPod/i.test(e)?"mobile":"desktop"}async function bh(e){let t=new TextEncoder().encode(e),a=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(a)).map(o=>o.toString(16).padStart(2,"0")).join("")}async function kh(){try{let a=localStorage.getItem(Hl);if(a)return a}catch{}let e=[navigator.userAgent,screen.width,screen.height,screen.colorDepth,Intl.DateTimeFormat().resolvedOptions().timeZone,navigator.language,navigator.hardwareConcurrency??"",navigator.platform??""].join("|"),t=await bh(e);try{localStorage.setItem(Hl,t)}catch{}return t}async function Dr(){let e=navigator.userAgent,[t,a]=await Promise.all([kh(),El()]);return{userAgent:e,browser:Ih(e),os:Sh(e),deviceType:yh(e),language:navigator.language,languages:[...navigator.languages],timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,screenWidth:screen.width,screenHeight:screen.height,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight,colorDepth:screen.colorDepth,devicePixelRatio:window.devicePixelRatio??1,touchSupport:"ontouchstart"in window||navigator.maxTouchPoints>0,connectionType:navigator.connection?.effectiveType??"unknown",referrer:document.referrer,visitorId:t,memoryUserId:a}}var vh="x-session-id",Ph=250;function Wl(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Kt()}function po(){return new Date().toISOString()}function Gl(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}async function Ah(e,t){let a=`${e.replace(/\/$/,"")}/tools`,o=await fetch(a,{method:"GET",headers:t?{...t}:void 0});if(!o.ok)throw new Error(`[WaniWani] Failed to fetch /tools: ${o.status} ${o.statusText}`);let r=await o.json();if(!r||!Array.isArray(r.tools))return{};let s={};for(let n of r.tools)n&&typeof n.name=="string"&&(s[n.name]=n);return s}function jl(e){let{api:t="/api/waniwani",headers:a,body:o,onMessageSent:r,onResponseReceived:s,enableThreadHistory:n=!1,activeThreadId:i,onThreadChange:l}=e,u=ue(a),c=ue(o),d=ue(n);Fe(()=>{d.current=n},[n]);let p=ue(void 0),m=ue(null),[h,I]=pt(void 0),L=ue(h),[S,C]=pt(i),g=ue(S),[b,v]=pt([]),[P,A]=pt(!n),R=ue(void 0),_=ue(void 0),M=ue(void 0),T=ue(void 0),y=ue(0),D=ue(l);Fe(()=>{D.current=l},[l]);let H=he(k=>{g.current=k,C(k),k&&D.current?.(k)},[]),F=he(async()=>{if(!n)return;let k=m.current?.memoryUserId;if(!k)return;let N=await Rr(k);v(N)},[n]),J=he(()=>L.current,[]),_e=he(k=>{let N=Gl(k);N&&L.current!==N&&(L.current=N,I(N))},[]),Se=he(()=>{L.current=void 0,I(void 0)},[]);Fe(()=>{u.current=a},[a]),Fe(()=>{c.current=o},[o]),Fe(()=>{let k=!1,N=y.current;return(async()=>{try{let xe=await Dr();if(k)return;m.current=xe}catch{}if(!n)return;let O=m.current?.memoryUserId;if(!O){A(!0);return}try{let xe=i??await Fr(O);if(k||N!==y.current)return;if(xe){let ce=await fo(xe);if(k||N!==y.current)return;ce&&ce.memoryUserId===O&&(g.current=ce.threadId,C(ce.threadId),R.current=ce.createdAt,_.current=ce.title,ce.sessionId&&(L.current=ce.sessionId,I(ce.sessionId)),oe(ce.messages))}await F()}finally{k||A(!0)}})(),()=>{k=!0}},[]);let ae=ue(new io({api:t,headers:()=>({...u.current}),body:()=>{let k={...c.current??{}},N=Object.hasOwn(k,"sessionId"),O=Gl(k.sessionId);if(O)_e(O),k.sessionId=O;else if(N)Se(),delete k.sessionId;else{let De=J();De&&(k.sessionId=De)}if(gt(p.current)&&(k.modelContext=p.current),m.current){let De=m.current;k.visitorContext={timezone:De.timezone,language:De.language,languages:De.languages,deviceType:De.deviceType,referrer:De.referrer,visitorId:De.visitorId};let Ge=typeof k.visitor=="object"&&k.visitor!==null?k.visitor:{},du=typeof Ge.client=="object"&&Ge.client!==null?Ge.client:{};k.visitor={...Ge,client:{...du,memoryUserId:De.memoryUserId}}}let xe=typeof k.extra=="object"&&k.extra!==null&&!Array.isArray(k.extra)?k.extra:void 0,ce=m.current?.memoryUserId,ie=m.current?.language,ha={};if(ce&&(ha.memoryUserId=ce),ie&&(ha.locale=ie),(Object.keys(ha).length>0||xe)&&(k.extra={...ha,...xe??{}}),d.current)if(Object.hasOwn(k,"threadId"))typeof k.threadId=="string"&&(g.current=k.threadId);else{let Ge=g.current;Ge||(Ge=Wl(),R.current=po(),_.current=void 0,H(Ge)),k.threadId=Ge}return k},fetch:(async(k,N)=>{let O=await fetch(k,N);return p.current=void 0,_e(O.headers.get(vh)),O})})),we=ue(null),Te=ue(null),Ce=ue({}),[ye,$e]=pt(0),U=e.skipRemoteConfig===!0,de=he(async()=>{if(!U)try{let k=await Ah(t,u.current);Ce.current=k,$e(N=>N+1)}catch(k){console.warn("[WaniWani] Failed to fetch tool definitions:",k instanceof Error?k.message:k)}},[t,U]);Fe(()=>{de()},[de]);let{messages:te,sendMessage:K,setMessages:oe,status:q}=Th({messages:e.initialMessages,transport:ae.current,onFinish({message:k}){s?.(),we.current&&(Te.current=k)},onError(k){console.warn("[WaniWani] Chat error:",k.message),we.current&&(we.current.reject(k),we.current=null)}}),j=ue(te);Fe(()=>{j.current=te},[te]);let $=ue(n);Fe(()=>{if(!n||$.current||($.current=!0,j.current.length>0))return;let k=!1,N=y.current;return A(!1),(async()=>{try{let O=m.current;if(!O)try{O=await Dr(),m.current=O}catch{}let xe=O?.memoryUserId;if(!xe||k||N!==y.current){k||A(!0);return}let ce=i??await Fr(xe);if(k||N!==y.current)return;if(ce){let ie=await fo(ce);if(k||N!==y.current)return;ie&&ie.memoryUserId===xe&&(g.current=ie.threadId,C(ie.threadId),R.current=ie.createdAt,_.current=ie.title,ie.sessionId&&(L.current=ie.sessionId,I(ie.sessionId)),oe(ie.messages))}await F()}finally{k||A(!0)}})(),()=>{k=!0}},[n]),Fe(()=>{if(q==="ready"&&we.current&&Te.current){let k=we.current,N=Te.current;we.current=null,Te.current=null,k.resolve(N)}},[q]);let[Z,Q]=pt(""),[se,be]=pt([]),Re=q==="submitted"||q==="streaming",mt=he(k=>{be(N=>N.filter(O=>O.id!==k))},[]),ht=Re&&se.length>0,au=he(k=>{let N=!!k.text?.trim(),O=!!k.files?.length;if(N||O){if(Re){if(se.length>0)return;be(xe=>[...xe,{id:Kt(),text:k.text||"",files:k.files??[],modelContext:k.modelContext}]),Q("");return}p.current=k.modelContext,K({text:k.text||"",files:k.files}),r?.(k.text||""),Q("")}},[K,r,Re,se.length]),ou=he(k=>new Promise((N,O)=>{we.current={resolve:N,reject:O},K({text:k}),r?.(k)}),[K,r]);Fe(()=>{if(q!=="ready"||se.length===0)return;let[k,...N]=se;be(N),p.current=k.modelContext,K({text:k.text,files:k.files.length>0?k.files:void 0}),r?.(k.text)},[q,K,r,se]);let ru=he(()=>{oe([]),be([]),Se(),Q(""),Ce.current={},$e(k=>k+1),de()},[oe,Se,de]),pa=he(()=>{if(!d.current)return;let k=m.current?.memoryUserId,N=g.current,O=j.current;if(!(!k||!N||O.length===0)){if(R.current||(R.current=po()),!_.current){let xe=O.find(ie=>ie.role==="user"),ce=xe?xe.parts.map(ie=>"text"in ie&&typeof ie.text=="string"?ie.text:"").join(" "):"";_.current=Ol(ce)}return{threadId:N,memoryUserId:k,title:_.current,messages:O,sessionId:L.current,createdAt:R.current,updatedAt:po()}}},[]),_r=he(async()=>{let k=pa();k&&(await Mr(k),await F())},[pa,F]);Fe(()=>{if(n&&P&&!(q==="submitted"||q==="streaming")&&te.length!==0)return M.current&&clearTimeout(M.current),M.current=setTimeout(()=>{M.current=void 0;let k=_r().finally(()=>{T.current===k&&(T.current=void 0)});T.current=k},Ph),()=>{M.current&&clearTimeout(M.current)}},[n,P,te,q,_r]);let ma=he(()=>{let k=T.current,N=M.current,O=N?pa():void 0;return N&&(clearTimeout(N),M.current=void 0),(async()=>{k&&await k,O&&(await Mr(O),await F())})()},[pa,F]),su=he(()=>{y.current+=1,ma(),oe([]),be([]),Se(),Q("");let k=Wl();return R.current=po(),_.current=void 0,H(k),F(),k},[oe,Se,H,F,ma]),mo=he(async k=>{y.current+=1;let N=y.current;if(await ma(),N!==y.current)return;let O=await fo(k);N===y.current&&O&&(H(O.threadId),R.current=O.createdAt,_.current=O.title,O.sessionId?(L.current=O.sessionId,I(O.sessionId)):Se(),oe(O.messages),be([]),Q(""))},[oe,Se,H,ma]),nu=he(async k=>{if(g.current===k){y.current+=1,M.current&&(clearTimeout(M.current),M.current=void 0);let N=T.current;N&&await N}await Ul(k),await F(),g.current===k&&(oe([]),be([]),Se(),Q(""),g.current=void 0,C(void 0),R.current=void 0,_.current=void 0)},[oe,Se,F]);Fe(()=>{n&&P&&i!==void 0&&i!==g.current&&mo(i)},[i,n,P,mo]);let iu=he(k=>{Q(k.target.value)},[]),Nr=te[te.length-1],Ur=te.length>0,lu=Re&&(!Ur||Nr.role==="user"),uu=Ce.current;return{messages:te,status:q,text:Z,setText:Q,handleSubmit:au,handleTextChange:iu,isLoading:Re,showLoaderBubble:lu,lastMessage:Nr,hasMessages:Ur,sendMessage:K,sendMessageAndWait:ou,reset:ru,queuedMessages:se,queueFull:ht,removeQueuedMessage:mt,sessionId:h,toolDefinitions:uu,refreshToolDefinitions:de,threads:b,activeThreadId:S,isThreadHistoryReady:P,startNewThread:su,switchThread:mo,deleteThread:nu}}f();import{useEffect as zl,useRef as Rh,useState as Mh}from"react";var Fh={debug:!1,eval:!1};function Vl(e="/api/waniwani",t,a=!1){let[o,r]=Mh(Fh),s=Rh(t);return zl(()=>{s.current=t},[t]),zl(()=>{a||(async()=>{try{let n=s.current,l=await(await fetch(`${e}/config`,{headers:n?{...n}:void 0})).json();r({debug:l.debug===!0,eval:l.eval===!0})}catch{}})()},[e,a]),o}f();import{useCallback as Dh,useEffect as Br,useRef as Bh,useState as Eh}from"react";function _h(e){for(let t of e.parts){let a=t;if(a.type==="data"||a.type==="data-suggestions"){let o=a.data;if(o&&Array.isArray(o.suggestions))return o.suggestions}}return null}function $l(e){return typeof e=="object"&&e!==null&&"initial"in e}function Xl(e){let{messages:t,status:a,config:o}=e,r=$l(o)&&o.initial?o.initial:void 0,[s,n]=Eh(r??[]),i=Bh(a),l=o===!0||$l(o)&&o.dynamic!==!1,u=Dh(()=>{n([])},[]),c=t.length>0;Br(()=>{!c&&r&&r.length>0&&n(r)},[r,c]);let d=t[t.length-1];return Br(()=>{d?.role==="user"&&u()},[d,u]),Br(()=>{let p=i.current;if(i.current=a,p==="streaming"&&a==="ready"&&l){let m=[...t].reverse().find(I=>I.role==="assistant");if(!m)return;let h=_h(m);h&&n(h)}},[a,l,t]),{suggestions:s,isLoading:!1,clear:u}}f();import{useEffect as Nh,useRef as Uh,useState as Oh}from"react";var Hh=50,qh=30,Wh=2e3,Kl=500;function Ql(e,t=!0){let[a,o]=Oh(""),r=Uh(void 0);return Nh(()=>{if(!t){o("");return}let s=0,n=!1,i=!1,l=()=>{i||(n?(s--,o(e.slice(0,s)),s<=0?(n=!1,r.current=setTimeout(l,Kl)):r.current=setTimeout(l,qh)):(s++,o(e.slice(0,s)),s>=e.length?(n=!0,r.current=setTimeout(l,Wh)):r.current=setTimeout(l,Hh)))};return r.current=setTimeout(l,Kl),()=>{i=!0,clearTimeout(r.current)}},[e,t]),a}f();function Jl(e,t){let a=t?.Authorization,o=typeof a=="string"&&a.startsWith("Bearer ")?a.slice(7):null;return o?`${e}/resource?token=${encodeURIComponent(o)}`:`${e}/resource`}f();var Gh={primaryColor:"#6366f1",primaryForeground:"#1f2937",backgroundColor:"#ffffff",textColor:"#1f2937",mutedColor:"#6b7280",borderColor:"#e5e7eb",borderWidth:0,boxShadow:"none",assistantBubbleColor:"#f3f4f6",userBubbleColor:"#f4f4f4",inputBackgroundColor:"#f9fafb",borderRadius:16,messageBorderRadius:12,fontFamily:"system-ui, -apple-system, 'Segoe UI', sans-serif",headerBackgroundColor:"#ffffff",headerTextColor:"#1f2937",statusColor:"#22c55e",toolCardColor:"#f4f4f5"};var jh={primaryColor:["--ww-primary","--ww-color-primary"],primaryForeground:["--ww-primary-fg","--ww-color-primary-foreground"],backgroundColor:["--ww-bg","--ww-color-background"],textColor:["--ww-text","--ww-color-foreground","--ww-color-accent-foreground"],mutedColor:["--ww-muted","--ww-color-muted-foreground"],borderColor:["--ww-border","--ww-color-border"],borderWidth:["--ww-border-width"],boxShadow:["--ww-shadow"],assistantBubbleColor:["--ww-assistant-bubble","--ww-color-accent"],userBubbleColor:["--ww-user-bubble"],inputBackgroundColor:["--ww-input-bg","--ww-color-input"],borderRadius:["--ww-radius"],messageBorderRadius:["--ww-msg-radius"],fontFamily:["--ww-font"],headerBackgroundColor:["--ww-header-bg"],headerTextColor:["--ww-header-text"],statusColor:["--ww-status"],toolCardColor:["--ww-tool-card","--ww-color-tool-card"]};function Zl(e){return{...Gh,...e}}function Yl(e){let t={};for(let[a,o]of Object.entries(jh)){let r=e[a];if(r===void 0)continue;let s=typeof r=="number"?`${r}px`:String(r);for(let n of o)t[n]=s}return t}import{jsx as ge,jsxs as fa}from"react/jsx-runtime";var Xh=zh(function(t,a){let{theme:o,title:r="Assistant",width:s,height:n,className:i,allowAttachments:l=!1,welcomeMessage:u,welcome:c,placeholder:d="Ask me anything...",triggerEvent:p="triggerDemoRequest",api:m,debug:h,enableThreadHistory:I=!1,showToolCalls:L=!0}=t,S=m??"/api/waniwani",C=Jl(S,t.headers),g=Zl(o),b=Yl(g),v=g.backgroundColor.replace("#",""),P=parseInt(v.substring(0,2),16),A=parseInt(v.substring(2,4),16),R=parseInt(v.substring(4,6),16),_=(P*299+A*587+R*114)/1e3<128,M=Vl(S,t.headers,t.skipRemoteConfig),T=h??M.debug,y=jl({...t,api:S}),D=Fl({...t,api:S,sessionId:y.sessionId}),H=Ql(d,!y.text),[F,J]=tu(!1),[_e,Se]=tu(null),ae=eu(null),we=eu(void 0),Te=Er(()=>{let U=ae.current;if(!U)return;U.scrollIntoView({behavior:"smooth",block:"center"});let de=U.querySelector("textarea");de&&setTimeout(()=>de.focus(),300),J(!0),clearTimeout(we.current),we.current=setTimeout(()=>J(!1),2e3)},[]),Ce=Xl({messages:y.messages,status:y.status,config:t.suggestions}),ye=Er(U=>{let de=U.content.map(te=>te.text??"").join("").trim();de&&y.handleSubmit({text:de,files:[],modelContext:U.modelContext})},[y.handleSubmit]),$e=Er(U=>{Ce.clear(),y.handleSubmit({text:U,files:[]})},[Ce.clear,y.handleSubmit]);return $h(a,()=>({sendMessage:U=>{y.handleSubmit({text:U,files:[]}),Te()},sendMessageAndWait:U=>y.sendMessageAndWait(U),reset:y.reset,focus:Te,get messages(){return y.messages},get sessionId(){return y.sessionId}}),[y.handleSubmit,y.sendMessageAndWait,y.reset,y.messages,y.sessionId,Te]),Vh(()=>{if(!p)return;let U=de=>{let te=de.detail,K=typeof te?.message=="string"?te.message:void 0;K&&y.handleSubmit({text:K,files:[]}),Te()};return window.addEventListener(p,U),()=>window.removeEventListener(p,U)},[p,y.handleSubmit,Te]),fa("div",{ref:ae,style:{...b,width:s,height:n},"data-waniwani-chat":"","data-waniwani-layout":"card",..._?{"data-waniwani-dark":""}:{},className:B("ww:flex ww:flex-col ww:font-[family-name:var(--ww-font)] ww:text-foreground ww:bg-background ww:rounded-[var(--ww-radius)] ww:overflow-hidden",F&&"ww:ring-2 ww:ring-blue-400/70 ww:ring-offset-2 ww:ring-offset-background",i),children:[fa("div",{className:"ww:shrink-0 ww:flex ww:items-center ww:gap-2 ww:px-6 ww:py-3",style:{backgroundColor:g.headerBackgroundColor,color:g.headerTextColor},children:[ge("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:r}),ge(Cn,{messages:y.messages,evalEnabled:M.eval,api:S}),I&&ge(Ml,{threads:y.threads,activeThreadId:y.activeThreadId,onNewThread:y.startNewThread,onSelectThread:U=>{y.switchThread(U)},onDeleteThread:U=>{y.deleteThread(U)}})]}),fa(Qs,{className:"ww:flex-1 ww:min-h-0 ww:bg-background",children:[ge(Js,{scrollClassName:_e?"ww:!relative ww:!overflow-hidden":void 0,children:ge(Tl,{messages:y.messages,status:y.status,welcomeMessage:u,welcome:c,onSuggestionSelect:$e,resourceEndpoint:C,chatSessionId:y.sessionId,isDark:_,onFollowUp:ye,onCallTool:D,fullscreenToolCallId:_e,debug:T,showToolCalls:L,toolDefinitions:y.toolDefinitions,onWidgetDisplayModeChange:(U,de)=>{Se(U==="fullscreen"?de.toolCallId:null)}})}),ge(Zs,{})]}),ge("div",{style:_e?{display:"none"}:void 0,children:ge(Al,{suggestions:Ce.suggestions,isLoading:Ce.isLoading,onSelect:$e})}),ge("div",{style:_e?{display:"none"}:void 0,children:ge(wn,{queuedMessages:y.queuedMessages,onRemove:y.removeQueuedMessage})}),ge("div",{style:_e?{display:"none"}:void 0,children:ge("div",{className:"ww:shrink-0 ww:px-4 ww:pb-8 ww:pt-2 ww:bg-background",children:fa("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[ge(rn,{onSubmit:y.handleSubmit,globalDrop:l,multiple:l,className:"ww:rounded-2xl ww:border-border ww:bg-input",children:fa("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[l&&ge(ln,{}),ge(sn,{onChange:y.handleTextChange,value:y.text,placeholder:H,className:"ww:min-h-0 ww:py-1 ww:px-0"}),ge(nn,{status:y.status,disabled:y.queueFull})]})}),ge(Pl,{})]})})})]})});export{Xh as ChatCard,ss as DevModeProvider,xu as InitializeNextJsInIframe,Yu as LoadingWidget,ps as WidgetProvider,es as createResource,mu as createTool,ho as detectPlatform,Ca as getMockState,Rt as initializeMockOpenAI,fu as isMCPApps,cu as isOpenAI,hu as registerTools,dL as toNextJsHandler,us as unstable_useSendFollowUpWithGhostGuard,Ft as updateMockDisplayMode,tt as updateMockGlobal,Dt as updateMockTheme,Mt as updateMockToolOutput,ms as useCallTool,hs as useDisplayMode,gs as useFlowAction,ws as useIsChatGptApp,xs as useLocale,Ls as useMaxHeight,Cs as useOpenExternal,Is as useRequestDisplayMode,Ss as useSafeArea,ys as useSendFollowUp,bs as useTheme,Sa as useToolOutput,ks as useToolResponseMetadata,Ts as useUpdateModelContext,W as useWidgetClient,vs as useWidgetState};
81
+ ${te}`}]}}_.current({...z,...K?{modelContext:K}:{}})}U({jsonrpc:"2.0",id:G,result:{}});return}if(ne==="ui/update-model-context"&&G!=null){ye=$r(ye,Z.params),U({jsonrpc:"2.0",id:G,result:{}});return}if(ne==="tools/call"&&G!=null){let z=T.current;if(!z){U({jsonrpc:"2.0",id:G,error:{code:-32601,message:"tools/call not supported"}});return}let K=Z.params?.name;z({name:K,arguments:Z.params?.arguments??{}}).then(te=>{U({jsonrpc:"2.0",id:G,result:te});let Y=te.content?.map(le=>le.text??"").join("").trim();Y&&mh(K,te,v.current)&&(ke&&clearTimeout(ke.timer),ke={text:Y,timer:setTimeout(()=>{if(Ce)return;let le=ye;ye=null,ke=null,_.current?.({role:"user",content:[{type:"text",text:Y}],...le?{modelContext:le}:{}})},500)})}).catch(te=>{let Y=te instanceof Error?te.message:"Tool call failed";U({jsonrpc:"2.0",id:G,error:{code:-32e3,message:Y}})});return}if(ne==="ui/request-display-mode"&&G!=null){let z=Z.params?.mode,K=z==="fullscreen"||z==="inline"||z==="pip"?z:"inline";A.current=K,U({jsonrpc:"2.0",id:G,result:{mode:K}}),U({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{displayMode:K}}),E.current?.(K);return}if(ne==="ui/resource-teardown"&&G!=null){U({jsonrpc:"2.0",id:G,result:{}});return}ne==="ping"&&G!=null&&U({jsonrpc:"2.0",id:G,result:{}})};return window.addEventListener("message",fe),()=>{Ce=!0,clearTimeout(Ke),ke&&clearTimeout(ke.timer),window.removeEventListener("message",fe)}},[i,q]),hh("iframe",{ref:h,src:Le,sandbox:"allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox",className:F(!p&&"ww:rounded-md ww:border ww:border-border",s),style:{height:p?"100%":R,minWidth:p||!M?void 0:`min(${M}px, 100%)`,width:"100%",border:"none",colorScheme:n?"dark":"auto"},title:"MCP App"})}f();import{jsx as xa,jsxs as gh}from"react/jsx-runtime";function Ul({icon:e,title:t,description:a,suggestions:o,onSuggestionSelect:r}){return gh("div",{className:"ww:flex ww:flex-col ww:items-center ww:justify-center ww:py-12 ww:px-6 ww:text-center ww:min-h-full",children:[e&&xa("div",{className:"ww:mb-4 ww:flex ww:items-center ww:justify-center ww:size-12 ww:rounded-xl ww:bg-foreground ww:text-background",children:e}),xa("h2",{className:"ww:text-lg ww:font-semibold ww:text-foreground",children:t}),a&&xa("p",{className:"ww:mt-1 ww:text-sm ww:text-muted-foreground ww:max-w-sm",children:a}),o&&o.length>0&&xa("div",{className:"ww:mt-6 ww:w-full ww:max-w-md ww:flex ww:flex-col ww:gap-2",children:o.map((n,s)=>xa("button",{type:"button",onClick:()=>r?.(n),className:F("ww:w-full ww:text-left ww:rounded-xl ww:border ww:border-border ww:bg-background ww:px-4 ww:py-3 ww:text-sm","ww:text-foreground ww:hover:bg-accent ww:hover:border-primary/30","ww:transition-all ww:duration-200 ww:ease-out ww:cursor-pointer","ww:animate-[ww-fade-in_0.2s_ease-out_both]"),style:{animationDelay:`${s*50}ms`},children:n},n))})]})}f();import{Component as wh}from"react";import{jsx as Fr,jsxs as Lh}from"react/jsx-runtime";function xh({onRetry:e}){let{t}=V();return Lh("div",{className:"ww:flex ww:items-center ww:justify-between ww:rounded-md ww:border ww:border-border ww:bg-muted/50 ww:px-4 ww:py-3 ww:text-sm ww:text-muted-foreground",children:[Fr("span",{children:t.widgetErrorBoundary.failedToLoad}),Fr("button",{type:"button",onClick:e,className:"ww:text-xs ww:font-medium ww:text-primary ww:hover:underline",children:t.widgetErrorBoundary.retry})]})}var po=class extends wh{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.warn("[WaniWani] Widget failed to render:",t.message)}render(){return this.state.hasError?Fr(xh,{onRetry:()=>this.setState({hasError:!1})}):this.props.children}};import{Fragment as Ih,jsx as J,jsxs as ot}from"react/jsx-runtime";function Dr(e){return e?e.replace(/[-_]/g," ").replace(/^\w/,t=>t.toUpperCase()):"Tool"}function Ch(e){return e&&/search|find|lookup|query|web|browse|google/i.test(e)?$t:it}function Hl({messages:e,status:t,welcomeMessage:a,welcome:o,onSuggestionSelect:r,resourceEndpoint:n,chatSessionId:s,isDark:i,onFollowUp:l,onCallTool:u,onWidgetDisplayModeChange:c,fullscreenToolCallId:d,debug:p,showToolCalls:m=!0,toolDefinitions:h}){let I=e[e.length-1],L=e.length>0,S=d!=null,C=!S&&Bl(e,t,{ignoreToolParts:m===!1,ignoreReasoningParts:m===!1});return ot(Ih,{children:[!S&&(!L&&o?J(Ul,{...o,onSuggestionSelect:r}):a&&J(br,{from:"assistant",children:J(kr,{children:J(fo,{children:a})})})),e.map(g=>{let y=g.parts.filter(k=>k.type==="text"),A=g.parts.filter(k=>k.type==="reasoning"),R=g.parts.filter(k=>k.type==="file"),P=g.parts.filter(k=>"toolCallId"in k),M=g.parts.filter(k=>k.type==="reasoning"||"toolCallId"in k),N=g===I&&g.role==="assistant",D=y.length>0,_=S?P.some(k=>k.toolCallId===d):!1,T=P.some(k=>k.state==="input-available"||k.state==="input-streaming"),E=m!==!1&&!_&&P.length>=2;return S&&!_?J("div",{style:{display:"none"}},g.id):g.role==="assistant"&&!Dl(g)?J("div",{style:{display:"none"}},g.id):m===!1&&g.role==="assistant"&&!D&&R.length===0&&P.every(k=>{let v="output"in k?k.output:void 0;return v===void 0||!n||!wa(k.toolName,v,h)})?J("div",{style:{display:"none"}},g.id):ot(br,{from:g.role,children:[m!==!1&&!_&&!E&&A.map((k,v)=>ot(ta,{isStreaming:k.state==="streaming",children:[J(aa,{}),J(oa,{children:k.text})]},`reasoning-${g.id}-${v}`)),E&&ot(_s,{isWorking:T||A.some(k=>k.state==="streaming"),children:[J(Ns,{label:P[P.length-1].title??Dr(P[P.length-1].toolName)}),J(Os,{children:M.map((k,v)=>{let q=v===M.length-1;if(k.type==="reasoning")return J(Hs,{isStreaming:k.state==="streaming",isLast:q,children:k.text},`reasoning-${g.id}-${v}`);let Le=k.title??Dr(k.toolName),ie=Ch(k.toolName);if(m==="titles-only")return J(jo,{icon:ie,title:Le,state:k.state,isLast:q},k.toolCallId);let X="output"in k?k.output:void 0;return ot(jo,{icon:ie,title:Le,state:k.state,isLast:q,children:[J(Rr,{input:k.input,debug:p}),X!==void 0&&J(Mr,{output:X,errorText:"errorText"in k?k.errorText:void 0,debug:p})]},k.toolCallId)})})]}),m!==!1&&!_&&P.length===1&&(()=>{let k=P[0],v=k.title??Dr(k.toolName);if(m==="titles-only")return J(Tl,{title:v,state:k.state});let q="output"in k?k.output:void 0;return ot(bl,{children:[J(kl,{title:v,state:k.state}),ot(vl,{children:[J(Rr,{input:k.input,debug:p}),q!==void 0&&J(Mr,{output:q,errorText:"errorText"in k?k.errorText:void 0,debug:p})]})]})})(),P.map(k=>{let v="output"in k?k.output:void 0,q=wa(k.toolName,v,h),Le=Rl(k.toolName,v,h),ie=k.toolCallId===d;return q&&n&&v!==void 0?J("div",{style:ie?{position:"absolute",inset:0,zIndex:10,display:"flex",flexDirection:"column",overflow:"hidden",background:"var(--ww-color-background)"}:void 0,children:q&&n&&v!==void 0&&J(po,{children:J(Ol,{isFullscreen:ie,resourceUri:q,toolInput:k.input??{},toolResult:{content:v.content,structuredContent:v.structuredContent,_meta:v._meta},resourceEndpoint:n,chatSessionId:s,isDark:i,autoHeight:Le,toolDefinitions:h,onFollowUp:l,onCallTool:u,onDisplayModeChange:c?X=>c(X,{toolCallId:k.toolCallId,resourceUri:q,toolInput:k.input??{},toolResult:{content:v.content,structuredContent:v.structuredContent,_meta:v._meta},autoHeight:Le}):void 0})})},k.toolCallId):null}),!_&&J("div",{children:ot(kr,{children:[R.length>0&&J(As,{files:R}),D?y.map((k,v)=>{let q=N&&t==="streaming"&&v===y.length-1;return J(fo,{isStreaming:q,children:k.type==="text"?k.text:""},`${g.id}-${v}`)}):null]})})]},g.id)}),C&&J(El,{})]})}f();import{jsx as ql,jsxs as bh}from"react/jsx-runtime";var Sh="https://app.waniwani.ai/assets/waniwani-logo.svg",yh="https://waniwani.ai";function Wl(){let{t:e}=V();return bh("a",{href:yh,target:"_blank",rel:"noopener noreferrer",className:"ww:flex ww:items-center ww:gap-1.5 ww:text-[11px] ww:text-muted-foreground ww:opacity-70 hover:ww:opacity-100 ww:transition-opacity",children:[ql("span",{children:e.poweredBy.label}),ql("img",{src:Sh,alt:"WaniWani",width:72,height:10,"data-waniwani-logo":"",className:"ww:h-2.5 ww:w-auto"})]})}f();import{jsx as mo}from"react/jsx-runtime";function Gl({suggestions:e,isLoading:t,onSelect:a,className:o,...r}){return e.length===0&&!t?null:mo("div",{className:F("ww:px-4 ww:py-2",o),...r,children:mo("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl ww:flex ww:flex-wrap ww:gap-2",children:t?[0,1,2].map(n=>mo("div",{className:"ww:h-7 ww:rounded-full ww:bg-accent ww:animate-pulse",style:{width:`${60+n*20}px`}},n)):e.map((n,s)=>mo("button",{type:"button",onClick:()=>a(n),className:F("ww:rounded-full ww:border ww:border-border ww:bg-background ww:px-3 ww:py-1 ww:text-xs","ww:text-foreground ww:hover:bg-accent ww:hover:border-primary/30","ww:transition-all ww:duration-200 ww:ease-out ww:cursor-pointer","ww:animate-[ww-fade-in_0.2s_ease-out_both]"),style:{animationDelay:`${s*50}ms`},children:n},n))})})}f();import{useEffect as kh,useRef as Th,useState as vh}from"react";import{jsx as oe,jsxs as wt}from"react/jsx-runtime";var jl=20;function Ph({label:e}){return wt("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[oe("title",{children:e}),oe("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),oe("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}function Ah({label:e}){return wt("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[oe("title",{children:e}),oe("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),oe("polyline",{points:"3 4 3 9 8 9"}),oe("line",{x1:"12",y1:"7",x2:"12",y2:"12"}),oe("line",{x1:"12",y1:"12",x2:"15",y2:"14"})]})}function Rh({label:e}){return wt("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[oe("title",{children:e}),oe("polyline",{points:"3 6 5 6 21 6"}),oe("path",{d:"M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6"}),oe("path",{d:"M10 11v6"}),oe("path",{d:"M14 11v6"})]})}function zl({threads:e,activeThreadId:t,onNewThread:a,onSelectThread:o,onDeleteThread:r}){let{locale:n,t:s}=V(),[i,l]=vh(!1),u=Th(null);kh(()=>{if(!i)return;let p=m=>{let h=u.current;h&&(m.composedPath().includes(h)||l(!1))};return document.addEventListener("mousedown",p),()=>document.removeEventListener("mousedown",p)},[i]);let c=e.slice(0,jl),d=Math.max(0,e.length-jl);return wt("div",{ref:u,className:"ww:relative ww:flex ww:items-center ww:gap-1",children:[oe("button",{type:"button",onClick:a,title:s.threadMenu.newChat,"aria-label":s.threadMenu.newChat,className:"ww:p-1.5 ww:rounded-md ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/5 ww:transition-colors ww:cursor-pointer",children:oe(Ph,{label:s.threadMenu.newChat})}),oe("button",{type:"button",onClick:()=>l(p=>!p),title:s.threadMenu.threadHistory,"aria-label":s.threadMenu.threadHistory,"aria-expanded":i,className:"ww:p-1.5 ww:rounded-md ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/5 ww:transition-colors ww:cursor-pointer",children:oe(Ah,{label:s.threadMenu.threadHistory})}),i&&wt("div",{role:"menu",className:"ww:absolute ww:right-0 ww:top-full ww:mt-1 ww:w-72 ww:max-h-80 ww:overflow-y-auto ww:rounded-lg ww:border ww:border-border ww:bg-background ww:shadow-lg ww:z-50",children:[c.length===0&&oe("div",{className:"ww:px-3 ww:py-3 ww:text-xs ww:text-muted-foreground",children:s.threadMenu.noPreviousChats}),c.map(p=>{let m=p.threadId===t,h=Date.parse(p.updatedAt);return wt("div",{className:`ww:flex ww:items-center ww:gap-2 ww:px-3 ww:py-2 ww:text-xs hover:ww:bg-foreground/5 ${m?"ww:bg-foreground/5":""}`,children:[wt("button",{type:"button",onClick:()=>{o(p.threadId),l(!1)},className:"ww:flex-1 ww:min-w-0 ww:text-left ww:cursor-pointer",children:[oe("div",{className:"ww:truncate ww:text-foreground ww:font-medium",children:p.title}),oe("div",{className:"ww:text-[10px] ww:text-muted-foreground",children:Number.isNaN(h)?"":No(h,n)})]}),oe("button",{type:"button",onClick:I=>{I.stopPropagation(),r(p.threadId)},title:s.threadMenu.deleteThread,"aria-label":s.threadMenu.deleteThread,className:"ww:p-1 ww:rounded ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/10 ww:transition-colors ww:cursor-pointer",children:oe(Rh,{label:s.threadMenu.deleteThread})})]},p.threadId)}),d>0&&oe("div",{className:"ww:px-3 ww:py-2 ww:text-[10px] ww:text-muted-foreground ww:border-t ww:border-border",children:s.threadMenu.hiddenThreads(d)})]})]})}f();import{useCallback as Mh,useRef as Fh}from"react";function Vl(e){let t=Fh(e);return t.current=e,Mh(async a=>{let{api:o,headers:r,onCallTool:n,sessionId:s}=t.current;if(n)return n(a);let i=`${o??"/api/waniwani"}/tool`,l=typeof s=="string"&&s.trim().length>0?s.trim():void 0,u=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json",...l?{"X-Session-Id":l}:{},...r},body:JSON.stringify(a)});if(!u.ok)throw new Error(`Tool call failed: ${u.status} ${u.statusText}`);return u.json()},[])}f();import{useChat as Kh}from"@ai-sdk/react";import{useCallback as we,useEffect as Be,useRef as ce,useState as xt}from"react";f();import{DefaultChatTransport as Dh,uiMessageChunkSchema as Bh}from"ai";function Eh(e){let t=e?.cause,a=t?.issues??t?.errors;if(!Array.isArray(a))return null;let o=a.find(r=>r.code==="invalid_union");if(!o?.errors)return null;for(let r of o.errors){if(!Array.isArray(r)||r.some(i=>(i.code==="invalid_value"||i.code==="invalid_literal")&&i.path?.[0]==="type"))continue;let s=r.filter(i=>i.code==="unrecognized_keys").flatMap(i=>i.keys??[]);if(s.length>0)return s}return null}var ho=class extends Dh{processResponseStream(t){let a="",o=Bh(),r=o.validate?.bind(o);return t.pipeThrough(new TextDecoderStream).pipeThrough(new TransformStream({async transform(n,s){a+=n;let i=a.split(`
82
+ `);a=i.pop()??"";for(let l of i){let u=l.trim();if(!u.startsWith("data:"))continue;let c=u.slice(5).trim();if(c!=="[DONE]")try{let d=JSON.parse(c);if(!r){s.enqueue(d);continue}let p=await r(d);if(p.success){s.enqueue(p.value);continue}let m=Eh(p.error);if(m?.length){let h={...d};for(let L of m)delete h[L];let I=await r(h);I.success&&s.enqueue(I.value)}}catch{}}}}))}};f();f();var _h="waniwani-memory";var Me="threads",go="by_memoryUserId",Nh="by_updatedAt";var Xl="memoryUserId",$l="waniwani-memory-user-id",Br=null;function Er(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function Oh(e,t){if(t<1&&(e.objectStoreNames.contains("ids")||e.createObjectStore("ids")),t<2&&!e.objectStoreNames.contains(Me)){let a=e.createObjectStore(Me,{keyPath:"threadId"});a.createIndex(go,"memoryUserId",{unique:!1}),a.createIndex(Nh,"updatedAt",{unique:!1})}}async function _r(){return new Promise((e,t)=>{let a=indexedDB.open(_h,2);a.onupgradeneeded=o=>{Oh(a.result,o.oldVersion)},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})}async function Uh(){return _r()}async function Hh(e){return new Promise((t,a)=>{let n=e.transaction("ids","readonly").objectStore("ids").get(Xl);n.onsuccess=()=>t(typeof n.result=="string"?n.result:null),n.onerror=()=>a(n.error)})}async function qh(e,t){return new Promise((a,o)=>{let s=e.transaction("ids","readwrite").objectStore("ids").put(t,Xl);s.onsuccess=()=>a(),s.onerror=()=>o(s.error)})}async function Wh(){if(typeof indexedDB>"u")return null;try{let e=await Uh();try{let t=await Hh(e);if(t)return t;let a=Er();return await qh(e,a),a}finally{e.close()}}catch{return null}}function Gh(){try{let e=localStorage.getItem($l);if(e)return e;let t=Er();return localStorage.setItem($l,t),t}catch{return null}}async function Kl(){let e=await Wh();if(e)return e;let t=Gh();return t||(Br||(Br=Er()),Br)}var Ql=50,Jl=1e3;function wo(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.threadId=="string"&&typeof t.memoryUserId=="string"&&typeof t.title=="string"&&Array.isArray(t.messages)&&typeof t.createdAt=="string"&&typeof t.updatedAt=="string"}async function xo(e){if(typeof indexedDB>"u")return null;let t=null;try{return t=await _r(),await e(t)}catch{return null}finally{try{t?.close()}catch{}}}function Nr(e){return new Promise((t,a)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>a(e.error)})}async function Or(e){return await xo(async a=>{let n=a.transaction(Me,"readonly").objectStore(Me).index(go),i=(await Nr(n.getAll(e))??[]).filter(wo);return i.sort((l,u)=>l.updatedAt<u.updatedAt?1:-1),i})??[]}async function Lo(e){return await xo(async a=>{let r=a.transaction(Me,"readonly").objectStore(Me),n=await Nr(r.get(e));return wo(n)?n:null})??null}async function Ur(e){if(!wo(e))return;let t=e.messages.length>Jl?{...e,messages:e.messages.slice(e.messages.length-Jl)}:e;await xo(async a=>{await new Promise((l,u)=>{let c=a.transaction(Me,"readwrite");c.oncomplete=()=>l(),c.onerror=()=>u(c.error),c.onabort=()=>u(c.error),c.objectStore(Me).put(t)});let o=a.transaction(Me,"readwrite"),r=o.objectStore(Me),n=r.index(go),i=(await Nr(n.getAll(t.memoryUserId))??[]).filter(wo);if(i.length>Ql){i.sort((u,c)=>u.updatedAt<c.updatedAt?-1:1);let l=i.slice(0,i.length-Ql);for(let u of l)r.delete(u.threadId)}return await new Promise((l,u)=>{o.oncomplete=()=>l(),o.onerror=()=>u(o.error),o.onabort=()=>u(o.error)}),null})}async function Zl(e){await xo(async t=>(await new Promise((a,o)=>{let r=t.transaction(Me,"readwrite");r.oncomplete=()=>a(),r.onerror=()=>o(r.error),r.onabort=()=>o(r.error),r.objectStore(Me).delete(e)}),null))}async function Hr(e){return(await Or(e))[0]?.threadId??null}function Yl(e){let t=e.trim();if(!t)return`Conversation on ${new Date().toISOString().slice(0,10)}`;let a=t.split(/\r?\n/,1)[0]??t;return a.length<=60?a:`${a.slice(0,60).trimEnd()}\u2026`}f();var eu="waniwani-visitor-id";function tu(e,t){return e.match(t)?.[1]??null}function jh(e){let t=[["Edge",/Edg(?:e|A|iOS)?\/(\S+)/],["Opera",/(?:OPR|Opera)\/(\S+)/],["Samsung Internet",/SamsungBrowser\/(\S+)/],["Firefox",/Firefox\/(\S+)/],["Chrome",/Chrome\/(\S+)/],["Safari",/Version\/(\S+).*Safari/]];for(let[a,o]of t){let r=tu(e,o);if(r)return{name:a,version:r}}return null}function zh(e){let t=[["iOS",/(?:iPhone|iPad|iPod).+?OS (\d+[_.\d]*)/],["Android",/Android (\d+[.\d]*)/],["macOS",/Mac OS X (\d+[_.\d]*)/],["Windows",/Windows NT (\d+[.\d]*)/],["ChromeOS",/CrOS \S+ (\d+[.\d]*)/],["Linux",/Linux/]];for(let[a,o]of t){let r=tu(e,o);if(r)return{name:a,version:r.replace(/_/g,".")};if(a==="Linux"&&o.test(e))return{name:a,version:""}}return null}function Vh(e){return typeof navigator<"u"&&"userAgentData"in navigator&&navigator.userAgentData?.mobile?"mobile":/iPad|tablet|PlayBook/i.test(e)?"tablet":/Mobi|Android.*Mobile|iPhone|iPod/i.test(e)?"mobile":"desktop"}async function $h(e){let t=new TextEncoder().encode(e),a=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(a)).map(o=>o.toString(16).padStart(2,"0")).join("")}async function Xh(){try{let a=localStorage.getItem(eu);if(a)return a}catch{}let e=[navigator.userAgent,screen.width,screen.height,screen.colorDepth,Intl.DateTimeFormat().resolvedOptions().timeZone,navigator.language,navigator.hardwareConcurrency??"",navigator.platform??""].join("|"),t=await $h(e);try{localStorage.setItem(eu,t)}catch{}return t}async function qr(){let e=navigator.userAgent,[t,a]=await Promise.all([Xh(),Kl()]);return{userAgent:e,browser:jh(e),os:zh(e),deviceType:Vh(e),language:navigator.language,languages:[...navigator.languages],timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,screenWidth:screen.width,screenHeight:screen.height,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight,colorDepth:screen.colorDepth,devicePixelRatio:window.devicePixelRatio??1,touchSupport:"ontouchstart"in window||navigator.maxTouchPoints>0,connectionType:navigator.connection?.effectiveType??"unknown",referrer:document.referrer,visitorId:t,memoryUserId:a}}var Qh="x-session-id",Jh=250;function au(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Yt()}function Co(){return new Date().toISOString()}function ou(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}async function Zh(e,t){let a=`${e.replace(/\/$/,"")}/tools`,o=await fetch(a,{method:"GET",headers:t?{...t}:void 0});if(!o.ok)throw new Error(`[WaniWani] Failed to fetch /tools: ${o.status} ${o.statusText}`);let r=await o.json();if(!r||!Array.isArray(r.tools))return{};let n={};for(let s of r.tools)s&&typeof s.name=="string"&&(n[s.name]=s);return n}function ru(e){let{api:t="/api/waniwani",headers:a,body:o,onMessageSent:r,onResponseReceived:n,enableThreadHistory:s=!1,activeThreadId:i,onThreadChange:l}=e,u=ce(a),c=ce(o),d=ce(s);Be(()=>{d.current=s},[s]);let p=ce(void 0),m=ce(null),[h,I]=xt(void 0),L=ce(h),[S,C]=xt(i),g=ce(S),[y,A]=xt([]),[R,P]=xt(!s),M=ce(void 0),N=ce(void 0),D=ce(void 0),_=ce(void 0),T=ce(0),E=ce(l);Be(()=>{E.current=l},[l]);let k=we(b=>{g.current=b,C(b),b&&E.current?.(b)},[]),v=we(async()=>{if(!s)return;let b=m.current?.memoryUserId;if(!b)return;let O=await Or(b);A(O)},[s]),q=we(()=>L.current,[]),Le=we(b=>{let O=ou(b);O&&L.current!==O&&(L.current=O,I(O))},[]),ie=we(()=>{L.current=void 0,I(void 0)},[]);Be(()=>{u.current=a},[a]),Be(()=>{c.current=o},[o]),Be(()=>{let b=!1,O=T.current;return(async()=>{try{let Ie=await qr();if(b)return;m.current=Ie}catch{}if(!s)return;let H=m.current?.memoryUserId;if(!H){P(!0);return}try{let Ie=i??await Hr(H);if(b||O!==T.current)return;if(Ie){let pe=await Lo(Ie);if(b||O!==T.current)return;pe&&pe.memoryUserId===H&&(g.current=pe.threadId,C(pe.threadId),M.current=pe.createdAt,N.current=pe.title,pe.sessionId&&(L.current=pe.sessionId,I(pe.sessionId)),ne(pe.messages))}await v()}finally{b||P(!0)}})(),()=>{b=!0}},[]);let X=ce(new ho({api:t,headers:()=>({...u.current}),body:()=>{let b={...c.current??{}},O=Object.hasOwn(b,"sessionId"),H=ou(b.sessionId);if(H)Le(H),b.sessionId=H;else if(O)ie(),delete b.sessionId;else{let Ee=q();Ee&&(b.sessionId=Ee)}if(It(p.current)&&(b.modelContext=p.current),m.current){let Ee=m.current;b.visitorContext={timezone:Ee.timezone,language:Ee.language,languages:Ee.languages,deviceType:Ee.deviceType,referrer:Ee.referrer,visitorId:Ee.visitorId};let ze=typeof b.visitor=="object"&&b.visitor!==null?b.visitor:{},bu=typeof ze.client=="object"&&ze.client!==null?ze.client:{};b.visitor={...ze,client:{...bu,memoryUserId:Ee.memoryUserId}}}let Ie=typeof b.extra=="object"&&b.extra!==null&&!Array.isArray(b.extra)?b.extra:void 0,pe=m.current?.memoryUserId,ue=m.current?.language,Sa={};if(pe&&(Sa.memoryUserId=pe),ue&&(Sa.locale=ue),(Object.keys(Sa).length>0||Ie)&&(b.extra={...Sa,...Ie??{}}),d.current)if(Object.hasOwn(b,"threadId"))typeof b.threadId=="string"&&(g.current=b.threadId);else{let ze=g.current;ze||(ze=au(),M.current=Co(),N.current=void 0,k(ze)),b.threadId=ze}return b},fetch:(async(b,O)=>{let H=await fetch(b,O);return p.current=void 0,Le(H.headers.get(Qh)),H})})),Ce=ce(null),Pe=ce(null),ye=ce({}),[ke,Ke]=xt(0),U=e.skipRemoteConfig===!0,fe=we(async()=>{if(!U)try{let b=await Zh(t,u.current);ye.current=b,Ke(O=>O+1)}catch(b){console.warn("[WaniWani] Failed to fetch tool definitions:",b instanceof Error?b.message:b)}},[t,U]);Be(()=>{fe()},[fe]);let{messages:re,sendMessage:Z,setMessages:ne,status:G}=Kh({messages:e.initialMessages,transport:X.current,onFinish({message:b}){n?.(),Ce.current&&(Pe.current=b)},onError(b){console.warn("[WaniWani] Chat error:",b.message),Ce.current&&(Ce.current.reject(b),Ce.current=null)}}),z=ce(re);Be(()=>{z.current=re},[re]);let K=ce(s);Be(()=>{if(!s||K.current||(K.current=!0,z.current.length>0))return;let b=!1,O=T.current;return P(!1),(async()=>{try{let H=m.current;if(!H)try{H=await qr(),m.current=H}catch{}let Ie=H?.memoryUserId;if(!Ie||b||O!==T.current){b||P(!0);return}let pe=i??await Hr(Ie);if(b||O!==T.current)return;if(pe){let ue=await Lo(pe);if(b||O!==T.current)return;ue&&ue.memoryUserId===Ie&&(g.current=ue.threadId,C(ue.threadId),M.current=ue.createdAt,N.current=ue.title,ue.sessionId&&(L.current=ue.sessionId,I(ue.sessionId)),ne(ue.messages))}await v()}finally{b||P(!0)}})(),()=>{b=!0}},[s]),Be(()=>{if(G==="ready"&&Ce.current&&Pe.current){let b=Ce.current,O=Pe.current;Ce.current=null,Pe.current=null,b.resolve(O)}},[G]);let[te,Y]=xt(""),[le,Te]=xt([]),Fe=G==="submitted"||G==="streaming",Lt=we(b=>{Te(O=>O.filter(H=>H.id!==b))},[]),Ct=Fe&&le.length>0,gu=we(b=>{let O=!!b.text?.trim(),H=!!b.files?.length;if(O||H){if(Fe){if(le.length>0)return;Te(Ie=>[...Ie,{id:Yt(),text:b.text||"",files:b.files??[],modelContext:b.modelContext}]),Y("");return}p.current=b.modelContext,Z({text:b.text||"",files:b.files}),r?.(b.text||""),Y("")}},[Z,r,Fe,le.length]),wu=we(b=>new Promise((O,H)=>{Ce.current={resolve:O,reject:H},Z({text:b}),r?.(b)}),[Z,r]);Be(()=>{if(G!=="ready"||le.length===0)return;let[b,...O]=le;Te(O),p.current=b.modelContext,Z({text:b.text,files:b.files.length>0?b.files:void 0}),r?.(b.text)},[G,Z,r,le]);let xu=we(()=>{ne([]),Te([]),ie(),Y(""),ye.current={},Ke(b=>b+1),fe()},[ne,ie,fe]),Ca=we(()=>{if(!d.current)return;let b=m.current?.memoryUserId,O=g.current,H=z.current;if(!(!b||!O||H.length===0)){if(M.current||(M.current=Co()),!N.current){let Ie=H.find(ue=>ue.role==="user"),pe=Ie?Ie.parts.map(ue=>"text"in ue&&typeof ue.text=="string"?ue.text:"").join(" "):"";N.current=Yl(pe)}return{threadId:O,memoryUserId:b,title:N.current,messages:H,sessionId:L.current,createdAt:M.current,updatedAt:Co()}}},[]),jr=we(async()=>{let b=Ca();b&&(await Ur(b),await v())},[Ca,v]);Be(()=>{if(s&&R&&!(G==="submitted"||G==="streaming")&&re.length!==0)return D.current&&clearTimeout(D.current),D.current=setTimeout(()=>{D.current=void 0;let b=jr().finally(()=>{_.current===b&&(_.current=void 0)});_.current=b},Jh),()=>{D.current&&clearTimeout(D.current)}},[s,R,re,G,jr]);let Ia=we(()=>{let b=_.current,O=D.current,H=O?Ca():void 0;return O&&(clearTimeout(O),D.current=void 0),(async()=>{b&&await b,H&&(await Ur(H),await v())})()},[Ca,v]),Lu=we(()=>{T.current+=1,Ia(),ne([]),Te([]),ie(),Y("");let b=au();return M.current=Co(),N.current=void 0,k(b),v(),b},[ne,ie,k,v,Ia]),Io=we(async b=>{T.current+=1;let O=T.current;if(await Ia(),O!==T.current)return;let H=await Lo(b);O===T.current&&H&&(k(H.threadId),M.current=H.createdAt,N.current=H.title,H.sessionId?(L.current=H.sessionId,I(H.sessionId)):ie(),ne(H.messages),Te([]),Y(""))},[ne,ie,k,Ia]),Cu=we(async b=>{if(g.current===b){T.current+=1,D.current&&(clearTimeout(D.current),D.current=void 0);let O=_.current;O&&await O}await Zl(b),await v(),g.current===b&&(ne([]),Te([]),ie(),Y(""),g.current=void 0,C(void 0),M.current=void 0,N.current=void 0)},[ne,ie,v]);Be(()=>{s&&R&&i!==void 0&&i!==g.current&&Io(i)},[i,s,R,Io]);let Iu=we(b=>{Y(b.target.value)},[]),zr=re[re.length-1],Vr=re.length>0,Su=Fe&&(!Vr||zr.role==="user"),yu=ye.current;return{messages:re,status:G,text:te,setText:Y,handleSubmit:gu,handleTextChange:Iu,isLoading:Fe,showLoaderBubble:Su,lastMessage:zr,hasMessages:Vr,sendMessage:Z,sendMessageAndWait:wu,reset:xu,queuedMessages:le,queueFull:Ct,removeQueuedMessage:Lt,sessionId:h,toolDefinitions:yu,refreshToolDefinitions:fe,threads:y,activeThreadId:S,isThreadHistoryReady:R,startNewThread:Lu,switchThread:Io,deleteThread:Cu}}f();import{useEffect as nu,useRef as Yh,useState as eg}from"react";var tg={debug:!1,eval:!1};function su(e="/api/waniwani",t,a=!1){let[o,r]=eg(tg),n=Yh(t);return nu(()=>{n.current=t},[t]),nu(()=>{a||(async()=>{try{let s=n.current,l=await(await fetch(`${e}/config`,{headers:s?{...s}:void 0})).json();r({debug:l.debug===!0,eval:l.eval===!0})}catch{}})()},[e,a]),o}f();import{useCallback as ag,useEffect as Wr,useRef as og,useState as rg}from"react";function ng(e){for(let t of e.parts){let a=t;if(a.type==="data"||a.type==="data-suggestions"){let o=a.data;if(o&&Array.isArray(o.suggestions))return o.suggestions}}return null}function iu(e){return typeof e=="object"&&e!==null&&"initial"in e}function lu(e){let{messages:t,status:a,config:o}=e,r=iu(o)&&o.initial?o.initial:void 0,[n,s]=rg(r??[]),i=og(a),l=o===!0||iu(o)&&o.dynamic!==!1,u=ag(()=>{s([])},[]),c=t.length>0;Wr(()=>{!c&&r&&r.length>0&&s(r)},[r,c]);let d=t[t.length-1];return Wr(()=>{d?.role==="user"&&u()},[d,u]),Wr(()=>{let p=i.current;if(i.current=a,p==="streaming"&&a==="ready"&&l){let m=[...t].reverse().find(I=>I.role==="assistant");if(!m)return;let h=ng(m);h&&s(h)}},[a,l,t]),{suggestions:n,isLoading:!1,clear:u}}f();import{useEffect as sg,useRef as ig,useState as lg}from"react";var ug=50,dg=30,cg=2e3,uu=500;function du(e,t=!0){let[a,o]=lg(""),r=ig(void 0);return sg(()=>{if(!t){o("");return}let n=0,s=!1,i=!1,l=()=>{i||(s?(n--,o(e.slice(0,n)),n<=0?(s=!1,r.current=setTimeout(l,uu)):r.current=setTimeout(l,dg)):(n++,o(e.slice(0,n)),n>=e.length?(s=!0,r.current=setTimeout(l,cg)):r.current=setTimeout(l,ug)))};return r.current=setTimeout(l,uu),()=>{i=!0,clearTimeout(r.current)}},[e,t]),a}f();function cu(e,t){let a=t?.Authorization,o=typeof a=="string"&&a.startsWith("Bearer ")?a.slice(7):null;return o?`${e}/resource?token=${encodeURIComponent(o)}`:`${e}/resource`}f();var fg={primaryColor:"#6366f1",primaryForeground:"#1f2937",backgroundColor:"#ffffff",textColor:"#1f2937",mutedColor:"#6b7280",borderColor:"#e5e7eb",borderWidth:0,boxShadow:"none",assistantBubbleColor:"#f3f4f6",userBubbleColor:"#f4f4f4",inputBackgroundColor:"#f9fafb",borderRadius:16,messageBorderRadius:12,fontFamily:"system-ui, -apple-system, 'Segoe UI', sans-serif",headerBackgroundColor:"#ffffff",headerTextColor:"#1f2937",statusColor:"#22c55e",toolCardColor:"#f4f4f5"};var pg={primaryColor:["--ww-primary","--ww-color-primary"],primaryForeground:["--ww-primary-fg","--ww-color-primary-foreground"],backgroundColor:["--ww-bg","--ww-color-background"],textColor:["--ww-text","--ww-color-foreground","--ww-color-accent-foreground"],mutedColor:["--ww-muted","--ww-color-muted-foreground"],borderColor:["--ww-border","--ww-color-border"],borderWidth:["--ww-border-width"],boxShadow:["--ww-shadow"],assistantBubbleColor:["--ww-assistant-bubble","--ww-color-accent"],userBubbleColor:["--ww-user-bubble"],inputBackgroundColor:["--ww-input-bg","--ww-color-input"],borderRadius:["--ww-radius"],messageBorderRadius:["--ww-msg-radius"],fontFamily:["--ww-font"],headerBackgroundColor:["--ww-header-bg"],headerTextColor:["--ww-header-text"],statusColor:["--ww-status"],toolCardColor:["--ww-tool-card","--ww-color-tool-card"]};function fu(e){return{...fg,...e}}function pu(e){let t={};for(let[a,o]of Object.entries(pg)){let r=e[a];if(r===void 0)continue;let n=typeof r=="number"?`${r}px`:String(r);for(let s of o)t[s]=n}return t}import{jsx as xe,jsxs as La}from"react/jsx-runtime";var wg=mg(function(t,a){let{theme:o,title:r="Assistant",width:n,height:s,className:i,allowAttachments:l=!1,welcomeMessage:u,welcome:c,placeholder:d="Ask me anything...",triggerEvent:p="triggerDemoRequest",api:m,debug:h,enableThreadHistory:I=!1,showToolCalls:L=!0}=t,S=m??"/api/waniwani",C=cu(S,t.headers),g=fu(o),y=pu(g),A=g.backgroundColor.replace("#",""),R=parseInt(A.substring(0,2),16),P=parseInt(A.substring(2,4),16),M=parseInt(A.substring(4,6),16),N=(R*299+P*587+M*114)/1e3<128,D=su(S,t.headers,t.skipRemoteConfig),_=h??D.debug,T=ru({...t,api:S}),E=Vl({...t,api:S,sessionId:T.sessionId}),k=du(d,!T.text),[v,q]=hu(!1),[Le,ie]=hu(null),X=mu(null),Ce=mu(void 0),Pe=Gr(()=>{let U=X.current;if(!U)return;U.scrollIntoView({behavior:"smooth",block:"center"});let fe=U.querySelector("textarea");fe&&setTimeout(()=>fe.focus(),300),q(!0),clearTimeout(Ce.current),Ce.current=setTimeout(()=>q(!1),2e3)},[]),ye=lu({messages:T.messages,status:T.status,config:t.suggestions}),ke=Gr(U=>{let fe=U.content.map(re=>re.text??"").join("").trim();fe&&T.handleSubmit({text:fe,files:[],modelContext:U.modelContext})},[T.handleSubmit]),Ke=Gr(U=>{ye.clear(),T.handleSubmit({text:U,files:[]})},[ye.clear,T.handleSubmit]);return gg(a,()=>({sendMessage:U=>{T.handleSubmit({text:U,files:[]}),Pe()},sendMessageAndWait:U=>T.sendMessageAndWait(U),reset:T.reset,focus:Pe,get messages(){return T.messages},get sessionId(){return T.sessionId}}),[T.handleSubmit,T.sendMessageAndWait,T.reset,T.messages,T.sessionId,Pe]),hg(()=>{if(!p)return;let U=fe=>{let re=fe.detail,Z=typeof re?.message=="string"?re.message:void 0;Z&&T.handleSubmit({text:Z,files:[]}),Pe()};return window.addEventListener(p,U),()=>window.removeEventListener(p,U)},[p,T.handleSubmit,Pe]),La("div",{ref:X,style:{...y,width:n,height:s},"data-waniwani-chat":"","data-waniwani-layout":"card",...N?{"data-waniwani-dark":""}:{},className:F("ww:flex ww:flex-col ww:font-[family-name:var(--ww-font)] ww:text-foreground ww:bg-background ww:rounded-[var(--ww-radius)] ww:overflow-hidden",v&&"ww:ring-2 ww:ring-blue-400/70 ww:ring-offset-2 ww:ring-offset-background",i),children:[La("div",{className:"ww:shrink-0 ww:flex ww:items-center ww:gap-2 ww:px-6 ww:py-3",style:{backgroundColor:g.headerBackgroundColor,color:g.headerTextColor},children:[xe("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:r}),xe(Ps,{messages:T.messages,evalEnabled:D.eval,api:S}),I&&xe(zl,{threads:T.threads,activeThreadId:T.activeThreadId,onNewThread:T.startNewThread,onSelectThread:U=>{T.switchThread(U)},onDeleteThread:U=>{T.deleteThread(U)}})]}),La(ns,{className:"ww:flex-1 ww:min-h-0 ww:bg-background",children:[xe(ss,{scrollClassName:Le?"ww:!relative ww:!overflow-hidden":void 0,children:xe(Hl,{messages:T.messages,status:T.status,welcomeMessage:u,welcome:c,onSuggestionSelect:Ke,resourceEndpoint:C,chatSessionId:T.sessionId,isDark:N,onFollowUp:ke,onCallTool:E,fullscreenToolCallId:Le,debug:_,showToolCalls:L,toolDefinitions:T.toolDefinitions,onWidgetDisplayModeChange:(U,fe)=>{ie(U==="fullscreen"?fe.toolCallId:null)}})}),xe(is,{})]}),xe("div",{style:Le?{display:"none"}:void 0,children:xe(Gl,{suggestions:ye.suggestions,isLoading:ye.isLoading,onSelect:Ke})}),xe("div",{style:Le?{display:"none"}:void 0,children:xe(ks,{queuedMessages:T.queuedMessages,onRemove:T.removeQueuedMessage})}),xe("div",{style:Le?{display:"none"}:void 0,children:xe("div",{className:"ww:shrink-0 ww:px-4 ww:pb-8 ww:pt-2 ww:bg-background",children:La("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[xe(ps,{onSubmit:T.handleSubmit,globalDrop:l,multiple:l,className:"ww:rounded-2xl ww:border-border ww:bg-input",children:La("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[l&&xe(gs,{}),xe(ms,{onChange:T.handleTextChange,value:T.text,placeholder:k,className:"ww:min-h-0 ww:py-1 ww:px-0"}),xe(hs,{status:T.status,disabled:T.queueFull})]})}),xe(Wl,{})]})})})]})});export{wg as ChatCard,mn as DevModeProvider,Fu as InitializeNextJsInIframe,pd as LoadingWidget,Sn as WidgetProvider,un as createResource,Pu as createTool,So as detectPlatform,va as getMockState,Et as initializeMockOpenAI,Tu as isMCPApps,ku as isOpenAI,Au as registerTools,DL as toNextJsHandler,xn as unstable_useSendFollowUpWithGhostGuard,Nt as updateMockDisplayMode,rt as updateMockGlobal,Ot as updateMockTheme,_t as updateMockToolOutput,yn as useCallTool,bn as useDisplayMode,kn as useFlowAction,Tn as useIsChatGptApp,vn as useLocale,Pn as useMaxHeight,An as useOpenExternal,Rn as useRequestDisplayMode,Mn as useSafeArea,Fn as useSendFollowUp,Dn as useTheme,Aa as useToolOutput,Bn as useToolResponseMetadata,En as useUpdateModelContext,j as useWidgetClient,_n as useWidgetState};
83
83
  /*! Bundled license information:
84
84
 
85
85
  lucide-react/dist/esm/shared/src/utils/mergeClasses.js:
@@ -93,15 +93,17 @@ lucide-react/dist/esm/createLucideIcon.js:
93
93
  lucide-react/dist/esm/icons/arrow-down.js:
94
94
  lucide-react/dist/esm/icons/arrow-up.js:
95
95
  lucide-react/dist/esm/icons/braces.js:
96
- lucide-react/dist/esm/icons/brain.js:
97
96
  lucide-react/dist/esm/icons/check.js:
98
97
  lucide-react/dist/esm/icons/chevron-down.js:
99
98
  lucide-react/dist/esm/icons/chevron-right.js:
100
99
  lucide-react/dist/esm/icons/clipboard-copy.js:
100
+ lucide-react/dist/esm/icons/clock.js:
101
101
  lucide-react/dist/esm/icons/file.js:
102
+ lucide-react/dist/esm/icons/globe.js:
102
103
  lucide-react/dist/esm/icons/loader.js:
103
104
  lucide-react/dist/esm/icons/paperclip.js:
104
105
  lucide-react/dist/esm/icons/square.js:
106
+ lucide-react/dist/esm/icons/wrench.js:
105
107
  lucide-react/dist/esm/icons/x.js:
106
108
  lucide-react/dist/esm/icons/zap.js:
107
109
  lucide-react/dist/esm/lucide-react.js: