@waniwani/sdk 0.12.9 → 0.12.10
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.
- package/dist/chat/embed.js +27 -27
- package/dist/chat/embed.js.map +1 -1
- package/dist/chat/index.js +7 -7
- package/dist/chat/index.js.map +1 -1
- package/dist/chat/server/index.d.ts +145 -0
- package/dist/kb/index.d.ts +84 -0
- package/package.json +1 -1
package/dist/chat/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import{a as pr,b as mr,c as hr,d as ot,e as rt,f as $t,g as gr,h as wr,i as xr,j as Lr,k as Xt,l as Cr,m as to,n as Ir,o as Sr,p as st,u as ao}from"../chunk-5JBHQYU5.js";import"../chunk-V3ZDECK5.js";import{forwardRef as Zc,useCallback as sr,useEffect as Yc,useImperativeHandle as ep,useRef as wi,useState as xi}from"react";import{forwardRef as _i,createElement as Ni}from"react";var Qt=(...e)=>e.filter((t,a,o)=>!!t&&t.trim()!==""&&o.indexOf(t)===a).join(" ").trim();var yr=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var kr=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,o)=>o?o.toUpperCase():a.toLowerCase());var oo=e=>{let t=kr(e);return t.charAt(0).toUpperCase()+t.slice(1)};import{forwardRef as Ei,createElement as Pr}from"react";var br={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"};var Tr=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var Ar=Ei(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:o,className:r="",children:s,iconNode:n,...i},l)=>Pr("svg",{ref:l,...br,width:t,height:t,stroke:e,strokeWidth:o?Number(a)*24/Number(t):a,className:Qt("lucide",r),...!s&&!Tr(i)&&{"aria-hidden":"true"},...i},[...n.map(([u,f])=>Pr(u,f)),...Array.isArray(s)?s:[s]]));var X=(e,t)=>{let a=_i(({className:o,...r},s)=>Ni(Ar,{ref:s,iconNode:t,className:Qt(`lucide-${yr(oo(e))}`,`lucide-${e}`,o),...r}));return a.displayName=oo(e),a};var Oi=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],je=X("arrow-down",Oi);var Ui=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],mt=X("arrow-up",Ui);var Hi=[["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"}]],Oe=X("braces",Hi);var qi=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],ht=X("check",qi);var Gi=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],gt=X("chevron-down",Gi);var Wi=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],wt=X("chevron-right",Wi);var zi=[["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"}]],xt=X("clipboard-copy",zi);var ji=[["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"}]],Lt=X("file",ji);var Vi=[["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"}]],Ct=X("loader",Vi);var $i=[["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"}]],It=X("paperclip",$i);var Xi=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],St=X("square",Xi);var Qi=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],Ve=X("x",Qi);import{useCallback as cl}from"react";import{useCallback as Ue,useMemo as Ki,useRef as Ji,useState as ro}from"react";var Zi={damping:.7,stiffness:.05,mass:1.25},Yi=70,el=1e3/60,tl=350,Kt=!1;globalThis.document?.addEventListener("mousedown",()=>{Kt=!0});globalThis.document?.addEventListener("mouseup",()=>{Kt=!1});globalThis.document?.addEventListener("click",()=>{Kt=!1});var Mr=(e={})=>{let[t,a]=ro(!1),[o,r]=ro(e.initial!==!1),[s,n]=ro(!1),i=Ji(null);i.current=e;let l=Ue(()=>{if(!Kt)return!1;let g=window.getSelection();if(!g||!g.rangeCount)return!1;let h=g.getRangeAt(0);return h.commonAncestorContainer.contains(x.current)||x.current?.contains(h.commonAncestorContainer)},[]),u=Ue(g=>{d.isAtBottom=g,r(g)},[]),f=Ue(g=>{d.escapedFromLock=g,a(g)},[]),d=Ki(()=>{let g;return{escapedFromLock:t,isAtBottom:o,resizeDifference:0,accumulated:0,velocity:0,listeners:new Set,get scrollTop(){return x.current?.scrollTop??0},set scrollTop(h){x.current&&(x.current.scrollTop=h,d.ignoreScrollToTop=x.current.scrollTop)},get targetScrollTop(){return!x.current||!w.current?0:x.current.scrollHeight-1-x.current.clientHeight},get calculatedTargetScrollTop(){if(!x.current||!w.current)return 0;let{targetScrollTop:h}=this;if(!e.targetScrollTop)return h;if(g?.targetScrollTop===h)return g.calculatedScrollTop;let L=Math.max(Math.min(e.targetScrollTop(h,{scrollElement:x.current,contentElement:w.current}),h),0);return g={targetScrollTop:h,calculatedScrollTop:L},requestAnimationFrame(()=>{g=void 0}),L},get scrollDifference(){return this.calculatedTargetScrollTop-this.scrollTop},get isNearBottom(){return this.scrollDifference<=Yi}}},[]),p=Ue((g={})=>{typeof g=="string"&&(g={animation:g}),g.preserveScrollPosition||u(!0);let h=Date.now()+(Number(g.wait)||0),L=no(i.current,g.animation),{ignoreEscapes:y=!1}=g,T,v=d.calculatedTargetScrollTop;g.duration instanceof Promise?g.duration.finally(()=>{T=Date.now()}):T=h+(g.duration??0);let R=async()=>{let N=new Promise(requestAnimationFrame).then(()=>{if(!d.isAtBottom)return d.animation=void 0,!1;let{scrollTop:F}=d,k=performance.now(),I=(k-(d.lastTick??k))/el;if(d.animation||(d.animation={behavior:L,promise:N,ignoreEscapes:y}),d.animation.behavior===L&&(d.lastTick=k),l()||h>Date.now())return R();if(F<Math.min(v,d.calculatedTargetScrollTop)){if(d.animation?.behavior===L){if(L==="instant")return d.scrollTop=d.calculatedTargetScrollTop,R();d.velocity=(L.damping*d.velocity+L.stiffness*d.scrollDifference)/L.mass,d.accumulated+=d.velocity*I,d.scrollTop+=d.accumulated,d.scrollTop!==F&&(d.accumulated=0)}return R()}return T>Date.now()?(v=d.calculatedTargetScrollTop,R()):(d.animation=void 0,d.scrollTop<d.calculatedTargetScrollTop?p({animation:no(i.current,i.current.resize),ignoreEscapes:y,duration:Math.max(0,T-Date.now())||void 0}):d.isAtBottom)});return N.then(F=>(requestAnimationFrame(()=>{d.animation||(d.lastTick=void 0,d.velocity=0)}),F))};return g.wait!==!0&&(d.animation=void 0),d.animation?.behavior===L?d.animation.promise:R()},[u,l,d]),c=Ue(()=>{f(!0),u(!1)},[f,u]),m=Ue(({target:g})=>{if(g!==x.current)return;let{scrollTop:h,ignoreScrollToTop:L}=d,{lastScrollTop:y=h}=d;d.lastScrollTop=h,d.ignoreScrollToTop=void 0,L&&L>h&&(y=L),n(d.isNearBottom),setTimeout(()=>{if(d.resizeDifference||h===L)return;if(l()){f(!0),u(!1);return}let T=h>y,v=h<y;if(d.animation?.ignoreEscapes){d.scrollTop=y;return}v&&(f(!0),u(!1)),T&&f(!1),!d.escapedFromLock&&d.isNearBottom&&u(!0)},1)},[f,u,l,d]),C=Ue(({target:g,deltaY:h})=>{let L=g;for(;!["scroll","auto"].includes(getComputedStyle(L).overflow);){if(!L.parentElement)return;L=L.parentElement}L===x.current&&h<0&&x.current.scrollHeight>x.current.clientHeight&&!d.animation?.ignoreEscapes&&(f(!0),u(!1))},[f,u,d]),x=vr(g=>{x.current?.removeEventListener("scroll",m),x.current?.removeEventListener("wheel",C),g?.addEventListener("scroll",m,{passive:!0}),g?.addEventListener("wheel",C,{passive:!0})},[]),w=vr(g=>{if(d.resizeObserver?.disconnect(),!g)return;let h;d.resizeObserver=new ResizeObserver(([L])=>{let{height:y}=L.contentRect,T=y-(h??y);if(d.resizeDifference=T,d.scrollTop>d.targetScrollTop&&(d.scrollTop=d.targetScrollTop),n(d.isNearBottom),T>=0){let v=no(i.current,h?i.current.resize:i.current.initial);p({animation:v,wait:!0,preserveScrollPosition:!0,duration:v==="instant"?void 0:tl})}else d.isNearBottom&&(f(!1),u(!0));h=y,requestAnimationFrame(()=>{setTimeout(()=>{d.resizeDifference===T&&(d.resizeDifference=0)},1)})}),d.resizeObserver?.observe(g)},[]);return{contentRef:w,scrollRef:x,scrollToBottom:p,stopScroll:c,isAtBottom:o||s,isNearBottom:s,escapedFromLock:t,state:d}};function vr(e,t){let a=Ue(o=>(a.current=o,e(o)),t);return a}var so=new Map;function no(...e){let t={...Zi},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 so.has(o)||so.set(o,Object.freeze(t)),a?"instant":so.get(o)}import*as $e from"react";import{createContext as al,useContext as ol,useEffect as rl,useImperativeHandle as sl,useLayoutEffect as nl,useMemo as il,useRef as ll}from"react";var Rr=al(null),ul=typeof window<"u"?nl:rl;function yt({instance:e,children:t,resize:a,initial:o,mass:r,damping:s,stiffness:n,targetScrollTop:i,contextRef:l,...u}){let f=ll(null),d=$e.useCallback((y,T)=>(L?.targetScrollTop??i)?.(y,T)??y,[i]),p=Mr({mass:r,damping:s,stiffness:n,resize:a,initial:o,targetScrollTop:d}),{scrollRef:c,contentRef:m,scrollToBottom:C,stopScroll:x,isAtBottom:w,escapedFromLock:g,state:h}=e??p,L=il(()=>({scrollToBottom:C,stopScroll:x,scrollRef:c,isAtBottom:w,escapedFromLock:g,contentRef:m,state:h,get targetScrollTop(){return f.current},set targetScrollTop(y){f.current=y}}),[C,w,m,c,x,g,h]);return sl(l,()=>L,[L]),ul(()=>{c.current&&getComputedStyle(c.current).overflow==="visible"&&(c.current.style.overflow="auto")},[]),$e.createElement(Rr.Provider,{value:L},$e.createElement("div",{...u},typeof t=="function"?t(L):t))}(function(e){function t({children:a,scrollClassName:o,...r}){let s=io();return $e.createElement("div",{ref:s.scrollRef,style:{height:"100%",width:"100%",scrollbarGutter:"stable both-edges"},className:o},$e.createElement("div",{...r,ref:s.contentRef},typeof a=="function"?a(s):a))}e.Content=t})(yt||(yt={}));function io(){let e=ol(Rr);if(!e)throw new Error("use-stick-to-bottom component context must be used within a StickToBottom component");return e}var dl=mr({prefix:"ww"});function P(...e){return dl(pr(e))}import{jsx as fl}from"react/jsx-runtime";var ke=({className:e,variant:t="default",size:a="default",type:o="button",...r})=>fl("button",{type:o,className:P("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 Jt}from"react/jsx-runtime";var Fr=({className:e,...t})=>Jt(yt,{className:P("ww:relative ww:flex-1 ww:overflow-y-hidden",e),initial:"smooth",resize:"smooth",role:"log",...t}),Br=({className:e,...t})=>Jt(yt.Content,{className:P("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}),Dr=({className:e,...t})=>{let{isAtBottom:a,scrollToBottom:o}=io(),r=cl(()=>{o()},[o]);return!a&&Jt(ke,{className:P("ww:absolute ww:bottom-4 ww:left-[50%] ww:translate-x-[-50%] ww:rounded-full",e),onClick:r,size:"icon",variant:"outline",...t,children:Jt(je,{className:"ww:size-4"})})};import _r from"crypto";var Er="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var pl=128,Xe,nt,ml=e=>{!Xe||Xe.length<e?(Xe=Buffer.allocUnsafe(e*pl),_r.randomFillSync(Xe),nt=0):nt+e>Xe.length&&(_r.randomFillSync(Xe),nt=0),nt+=e};var kt=(e=21)=>{ml(e|=0);let t="";for(let a=nt-e;a<nt;a++)t+=Er[Xe[a]&63];return t};import{createContext as hl,useCallback as De,useContext as gl,useEffect as lo,useMemo as wl,useRef as uo,useState as Nr}from"react";import{jsx as Pe,jsxs as Hr}from"react/jsx-runtime";var xl=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}},Or=hl(null),Ur=()=>{let e=gl(Or);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},Zt=({className:e,accept:t,multiple:a,globalDrop:o,maxFiles:r,maxFileSize:s,onSubmit:n,children:i,...l})=>{let u=uo(null),f=uo(null),[d,p]=Nr([]),c=uo(d);lo(()=>{c.current=d},[d]);let m=De(()=>{u.current?.click()},[]),C=De(y=>{let T=[...y];if(T.length===0)return;let v=N=>s?N.size<=s:!0,R=T.filter(v);p(N=>{let F=typeof r=="number"?Math.max(0,r-N.length):void 0,k=typeof F=="number"?R.slice(0,F):R;return[...N,...k.map(I=>({filename:I.name,id:kt(),mediaType:I.type,type:"file",url:URL.createObjectURL(I)}))]})},[r,s]),x=De(y=>{p(T=>{let v=T.find(R=>R.id===y);return v?.url&&URL.revokeObjectURL(v.url),T.filter(R=>R.id!==y)})},[]),w=De(()=>{p(y=>{for(let T of y)T.url&&URL.revokeObjectURL(T.url);return[]})},[]);lo(()=>()=>{for(let y of c.current)y.url&&URL.revokeObjectURL(y.url)},[]);let g=De(y=>{y.currentTarget.files&&C(y.currentTarget.files),y.currentTarget.value=""},[C]);lo(()=>{if(!o)return;let y=v=>{v.dataTransfer?.types?.includes("Files")&&v.preventDefault()},T=v=>{v.dataTransfer?.types?.includes("Files")&&v.preventDefault(),v.dataTransfer?.files&&v.dataTransfer.files.length>0&&C(v.dataTransfer.files)};return document.addEventListener("dragover",y),document.addEventListener("drop",T),()=>{document.removeEventListener("dragover",y),document.removeEventListener("drop",T)}},[C,o]);let h=De(async y=>{y.preventDefault();let T=y.currentTarget,R=new FormData(T).get("message")||"";T.reset();let N=await Promise.all(d.map(async({id:F,...k})=>{if(k.url?.startsWith("blob:")){let I=await xl(k.url);return{...k,url:I??k.url}}return k}));try{let F=n({files:N,text:R},y);F instanceof Promise&&await F,w()}catch{}},[d,n,w]),L=wl(()=>({add:C,clear:w,files:d,openFileDialog:m,remove:x}),[d,C,x,w,m]);return Hr(Or.Provider,{value:L,children:[Pe("input",{accept:t,"aria-label":"Upload files",className:"ww:hidden",multiple:a,onChange:g,ref:u,title:"Upload files",type:"file"}),Pe("form",{className:P("ww:flex ww:w-full ww:flex-col ww:rounded-lg ww:border ww:border-border ww:bg-background",e),onSubmit:h,ref:f,...l,children:i})]})};var Yt=({onChange:e,onKeyDown:t,className:a,placeholder:o="What would you like to know?",...r})=>{let s=Ur(),[n,i]=Nr(!1),l=De(f=>{if(t?.(f),!f.defaultPrevented){if(f.key==="Enter"){if(n||f.nativeEvent.isComposing||f.shiftKey)return;f.preventDefault();let{form:d}=f.currentTarget;if(d?.querySelector('button[type="submit"]')?.disabled)return;d?.requestSubmit()}if(f.key==="Backspace"&&f.currentTarget.value===""&&s.files.length>0){f.preventDefault();let d=s.files.at(-1);d&&s.remove(d.id)}}},[t,n,s]),u=De(f=>{let d=f.clipboardData?.items;if(!d)return;let p=[];for(let c of d)if(c.kind==="file"){let m=c.getAsFile();m&&p.push(m)}p.length>0&&(f.preventDefault(),s.add(p))},[s]);return Pe("textarea",{className:P("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:()=>i(!1),onCompositionStart:()=>i(!0),onKeyDown:l,onPaste:u,placeholder:o,onChange:e,...r})},ea=({className:e,status:t,onStop:a,onClick:o,children:r,...s})=>{let n=t==="submitted"||t==="streaming",i=Pe(mt,{className:"ww:size-4"});t==="submitted"?i=Pe(Ct,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(i=Pe(St,{className:"ww:size-4"}));let l=De(u=>{if(n&&a){u.preventDefault(),a();return}o?.(u)},[n,a,o]);return Pe(ke,{"aria-label":n?"Stop":"Submit",className:P("ww:bg-foreground ww:text-background ww:hover:bg-foreground ww:rounded-full",e),onClick:l,size:"icon-sm",type:n&&a?"button":"submit",variant:"ghost",...s,children:r??i})},ta=({className:e,children:t,...a})=>{let o=Ur();return o.files.length>0?Hr(ke,{className:P("ww:group ww:relative",e),onClick:()=>o.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":"Remove all attachments",...a,children:[Pe("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:o.files.length}),Pe(Ve,{className:"ww:absolute ww:size-4 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100"})]}):Pe(ke,{className:P(e),onClick:()=>o.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??Pe(It,{className:"ww:size-4"})})};import{memo as Ll,useCallback as Cl}from"react";import{jsx as it}from"react/jsx-runtime";var qr=({className:e,...t})=>it("div",{className:P("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),Gr=({className:e,...t})=>it("li",{className:P("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}),Wr=({className:e,...t})=>it("span",{className:P("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),zr=({className:e,...t})=>it("span",{className:P("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),jr=({className:e,...t})=>it("div",{className:P("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),Vr=({className:e,...t})=>it(ke,{className:P("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 fo}from"react/jsx-runtime";var $r=Ll(({message:e,onRemove:t})=>{let a=Cl(()=>t(e.id),[t,e.id]);return fo(Gr,{children:[Qe(Wr,{}),Qe(zr,{children:e.text||"(attachment)"}),Qe(jr,{children:Qe(Vr,{"aria-label":"Remove from queue",onClick:a,children:Qe(Ve,{className:"ww:size-3"})})})]})});$r.displayName="ChatQueueItem";function aa({queuedMessages:e,onRemove:t,className:a}){return e.length===0?null:fo(qr,{className:P("ww:border-t ww:border-border",a),children:[fo("div",{className:"ww:text-[11px] ww:font-medium ww:text-muted-foreground ww:px-2",children:[e.length," queued"]}),Qe("ul",{children:e.map(o=>Qe($r,{message:o,onRemove:t},o.id))})]})}import{useState as Xr}from"react";import{jsx as Il}from"react/jsx-runtime";function Qr({messages:e,evalEnabled:t,api:a="/api/waniwani"}){let[o,r]=Xr(!1),[s,n]=Xr(null),i=async()=>{let u={name:`session-${new Date().toISOString().slice(0,19)}`,type:"functional",messages:e,mode:"manual"};r(!0),n(null);try{let f=await fetch(`${a}/scenarios`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(u)});if(!f.ok)throw new Error(`${f.status}`);n("saved")}catch{n("error")}finally{r(!1),setTimeout(()=>n(null),2e3)}};return!t||e.length===0?null:Il("button",{type:"button",onClick:i,disabled:o,title:"Save scenario to WaniWani",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:o?"saving...":s==="saved"?"saved":s==="error"?"error":"export"})}import{jsx as bt,jsxs as yl}from"react/jsx-runtime";var Kr=({files:e,className:t,...a})=>e.length===0?null:bt("div",{className:P("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((o,r)=>bt(Sl,{file:o},r))});function Sl({file:e}){return e.mediaType?.startsWith("image/")&&e.url?bt("img",{src:e.url,alt:e.filename??"attachment",className:"ww:h-16 ww:max-w-32 ww:rounded ww:object-cover"}):yl("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:[bt(Lt,{className:"ww:size-3 ww:shrink-0"}),bt("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??"file"})]})}import{jsx as Jr}from"react/jsx-runtime";var co=({className:e,size:t=5,...a})=>Jr("div",{className:P("ww:flex ww:items-center ww:gap-1",e),...a,children:[0,1,2].map(o=>Jr("div",{className:"ww:rounded-full ww:bg-muted-foreground/60",style:{width:t,height:t,animation:"ww-pulse 1.4s ease-in-out infinite",animationDelay:`${o*.2}s`}},o))});var fe={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};var Me={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};var Ce={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"};function Zr(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 Yr(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function es(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 ts(e){return Zr(e)?"ambiguous":Yr(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":es(e)?"wide":"neutral"}function kl(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function as(e){return kl(e),ts(e)}var bl=Object.defineProperty,Tl=(e,t,a)=>t in e?bl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Pl=(e,t,a)=>Tl(e,typeof t!="symbol"?t+"":t,a);function Al(e){return/^\p{Emoji_Presentation}/u.test(String.fromCodePoint(e))}function vl(e){if(!e||e<4352)return!1;switch(as(e)){case"fullwidth":case"halfwidth":return!0;case"wide":return!Al(e);case"narrow":return!1;case"ambiguous":return 917760<=e&&e<=917999?null:!1;case"neutral":return/^\p{sc=Hangul}/u.test(String.fromCodePoint(e))}}function Ml(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function Rl(e){return e!==null&&e>=65024&&e<=65038}var Fl=os(/\p{P}|\p{S}/u),Bl=os(/\s/);function os(e){return t;function t(a){return a!==null&&a>-1&&e.test(String.fromCodePoint(a))}}var Ie;(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})(Ie||(Ie={}));function He(e){if(e===fe.eof||hr(e)||Bl(e))return Me.characterGroupWhitespace;let t=0;if(e>=4352){if(Rl(e))return Ie.nonEmojiGeneralUseVS;switch(vl(e)){case null:return Ie.ivs;case!0:t|=Ie.cjk;break}}return Fl(e)&&(t|=Me.characterGroupPunctuation),t}function oa(e,t,a){if(!El(e))return e;let o=t(),r=He(o);return!o||Ke(r)?e:Ml(o,a)?Ie.cjkPunctuation:Dl(r)}function Dl(e){return e&~Ie.ivs}function Ke(e){return!!(e&Me.characterGroupWhitespace)}function lt(e){return(e&Ie.cjkPunctuation)===Me.characterGroupPunctuation}function Tt(e){return!!(e&Ie.cjk)}function rs(e){return e===Ie.ivs}function ss(e){return!!(e&Ie.cjkOrIvs)}function El(e){return e===Ie.nonEmojiGeneralUseVS}function po(e){return!!(e&Ie.spaceOrPunctuation)}function ra(e){return!!(e&&e>=55296&&e<=56319)}function sa(e){return!!(e&&e>=56320&&e<=57343)}function na(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 _l(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 ia=class{constructor(e,t,a){this.previousCode=e,this.nowPoint=t,this.sliceSerialize=a,Pl(this,"cachedValue")}value(){return this.cachedValue===void 0&&(this.cachedValue=_l(this.previousCode,this.nowPoint,this.sliceSerialize)),this.cachedValue}};function la(e,t,a){let o=a({start:t,end:{...t,_bufferIndex:t._bufferIndex+2}}).codePointAt(0);return o&&o>=65536?o:e}var mo={name:"attention",resolveAll:Nl,tokenize:Ol};function Nl(e,t){let a=-1,o,r,s,n,i,l,u,f;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};ns(d,-l),ns(p,l),n={type:l>1?Ce.strongSequence:Ce.emphasisSequence,start:d,end:{...e[o][1].end}},i={type:l>1?Ce.strongSequence:Ce.emphasisSequence,start:{...e[a][1].start},end:p},s={type:l>1?Ce.strongText:Ce.emphasisText,start:{...e[o][1].end},end:{...e[a][1].start}},r={type:l>1?Ce.strong:Ce.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=rt(u,[["enter",e[o][1],t],["exit",e[o][1],t]])),u=rt(u,[["enter",r,t],["enter",n,t],["exit",n,t],["enter",s,t]]),t.parser.constructs.insideSpan.null,u=rt(u,$t(t.parser.constructs.insideSpan.null,e.slice(o+1,a),t)),u=rt(u,[["exit",s,t],["enter",i,t],["exit",i,t],["exit",r,t]]),e[a][1].end.offset-e[a][1].start.offset?(f=2,u=rt(u,[["enter",e[a][1],t],["exit",e[a][1],t]])):f=0,ot(e,o-1,a-o+3,u),a=o+u.length-f-2;break}}for(a=-1;++a<e.length;)e[a][1].type==="attentionSequence"&&(e[a][1].type="data");return e}function Ol(e,t){let a=this.parser.constructs.attentionMarkers.null,{now:o,sliceSerialize:r,previous:s}=this,n=sa(s)?na(s,o(),r):s,i=He(n),l=new ia(n,o(),r),u=oa(i,l.value.bind(l),n),f;return d;function d(c){return c===fe.asterisk||fe.underscore,f=c,e.enter("attentionSequence"),p(c)}function p(c){if(c===f)return e.consume(c),p;let m=e.exit("attentionSequence"),C=ra(c)?la(c,o(),r):c,x=He(C);let w=lt(u),g=w||Ke(u),h=lt(x),L=h||Ke(x),y=ss(u),T=!L||h&&(g||y)||a.includes(c),v=!g||w&&(L||Tt(x))||a.includes(n);return m._open=!!(f===fe.asterisk?T:T&&(po(u)||!v)),m._close=!!(f===fe.asterisk?v:v&&(po(x)||!T)),t(c)}}function ns(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function is(){return{text:{[fe.asterisk]:mo,[fe.underscore]:mo},insideSpan:{null:[mo]}}}function ls(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(is())}function us(e){let a=(e||{}).singleTilde,o={name:"strikethrough",tokenize:s,resolveAll:r};return a==null&&(a=!0),{text:{[fe.tilde]:o},insideSpan:{null:[o]},attentionMarkers:{null:[fe.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 f={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",f,i],["enter",n[u][1],i],["exit",n[u][1],i],["enter",d,i]],c=i.parser.constructs.insideSpan.null;c&&ot(p,p.length,0,$t(c,n.slice(u+1,l),i)),ot(p,p.length,0,[["exit",d,i],["enter",n[l][1],i],["exit",n[l][1],i],["exit",f,i]]),ot(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=Ce.data);return n}function s(n,i,l){let{now:u,sliceSerialize:f,previous:d}=this,p=sa(d)?na(d,u(),f):d,c=He(p),m=new ia(p,u(),f),C=oa(c,m.value.bind(m),p),x=this.events,w=0;return g;function g(L){return fe.tilde,p===fe.tilde&&x[x.length-1][1].type!==Ce.characterEscape?l(L):(n.enter("strikethroughSequenceTemporary"),h(L))}function h(L){let y=He(p);if(L===fe.tilde)return w>1?l(L):(n.consume(L),w++,h);if(w<2&&!a)return l(L);let T=n.exit("strikethroughSequenceTemporary"),v=ra(L)?la(L,u(),f):L,R=He(v),F=lt(C)||Ke(C),I=lt(R)||Ke(R),U=Tt(C)||rs(y);return T._open=!I||R===Me.attentionSideAfter&&(F||U),T._close=!F||y===Me.attentionSideAfter&&(I||Tt(R)),i(L)}}}function ds(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(us(e))}var Ul=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),Hl=/^(https?:\/\/|mailto:|www\.)/i,ql=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},Gl=e=>{let t=0;for(let a of e){if(Ul.has(a))return t;t+=a.length}return null},Wl=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),zl=e=>({type:"text",value:e}),jl=()=>e=>{gr(e,"link",(t,a,o)=>{if(!o||typeof a!="number"||!ql(t)||!Hl.test(t.url))return;let r=Gl(t.url);if(r===null||r===0)return;let s=t.url.slice(0,r),n=t.url.slice(r),i=Wl(s,t),l=zl(n);return o.children.splice(a,1,i,l),a+1})};function Vl(){let e=[ls],t=[jl,ds],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var fs=Vl();var K=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function $l(e){return ko(e)}function ko(e){return Array.isArray(e)?Xl(e):e instanceof RegExp?e:typeof e=="object"?Ql(e):e}function Xl(e){let t=[];for(let a=0,o=e.length;a<o;a++)t[a]=ko(e[a]);return t}function Ql(e){let t={};for(let a in e)t[a]=ko(e[a]);return t}function Cs(e,...t){return t.forEach(a=>{for(let o in a)e[o]=a[o]}),e}function Is(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?Is(e.substring(0,e.length-1)):e.substr(~t+1)}var ho=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,ua=class{static hasCaptures(e){return e===null?!1:(ho.lastIndex=0,ho.test(e))}static replaceCaptures(e,t,a){return e.replace(ho,(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 Ss(e,t){return e<t?-1:e>t?1:0}function ys(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=Ss(e[r],t[r]);if(s!==0)return s}return 0}return a-o}function cs(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 ks(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var bs=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}},vt=class{constructor(e,t,a){this._colorMap=e,this._defaults=t,this._root=a}static createFromRawTheme(e,t){return this.createFromParsedTheme(Zl(e),t)}static createFromParsedTheme(e,t){return eu(e,t)}_cachedMatchRoot=new bs(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=>Kl(e.parent,r.parentScopes));return o?new Ts(o.fontStyle,o.foreground,o.background):null}},go=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 Kl(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&&!Jl(e.scopeName,o);){if(r)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function Jl(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var Ts=class{constructor(e,t,a){this.fontStyle=e,this.foregroundId=t,this.backgroundId=a}};function Zl(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,c=d.length;p<c;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"&&cs(n.settings.foreground)&&(u=n.settings.foreground);let f=null;typeof n.settings.background=="string"&&cs(n.settings.background)&&(f=n.settings.background);for(let d=0,p=i.length;d<p;d++){let m=i[d].trim().split(" "),C=m[m.length-1],x=null;m.length>1&&(x=m.slice(0,m.length-1),x.reverse()),a[o++]=new Yl(C,x,r,l,u,f)}}return a}var Yl=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}},ce=(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))(ce||{});function eu(e,t){e.sort((l,u)=>{let f=Ss(l.scope,u.scope);return f!==0||(f=ys(l.parentScopes,u.parentScopes),f!==0)?f: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 tu(t),n=new Ts(a,s.getId(o),s.getId(r)),i=new ou(new xo(0,null,-1,0,0),[]);for(let l=0,u=e.length;l<u;l++){let f=e[l];i.insert(0,f.scope,f.parentScopes,f.fontStyle,s.getId(f.foreground),s.getId(f.background))}return new vt(s,n,i)}var tu=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)}},au=Object.freeze([]),xo=class Ps{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,o,r,s){this.scopeDepth=t,this.parentScopes=a||au,this.fontStyle=o,this.foreground=r,this.background=s}clone(){return new Ps(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)}},ou=class Lo{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(Lo._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 f;this._children.hasOwnProperty(l)?f=this._children[l]:(f=new Lo(this._mainRule.clone(),xo.cloneArr(this._rulesWithParentScopes)),this._children[l]=f),f.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(ys(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 xo(t,a,o,r,s))}},Ze=class be{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){let a=be.getLanguageId(t),o=be.getTokenType(t),r=be.getFontStyle(t),s=be.getForeground(t),n=be.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=be.getLanguageId(t),u=be.getTokenType(t),f=be.containsBalancedBrackets(t)?1:0,d=be.getFontStyle(t),p=be.getForeground(t),c=be.getBackground(t);return a!==0&&(l=a),o!==8&&(u=o),r!==null&&(f=r?1:0),s!==-1&&(d=s),n!==0&&(p=n),i!==0&&(c=i),(l<<0|u<<8|f<<10|d<<11|p<<15|c<<24)>>>0}};function ca(e,t){let a=[],o=ru(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(ps(r)){let l=[];do l.push(r),r=o.next();while(ps(r));return u=>t(l,u)}return null}function n(){let l=[],u=s();for(;u;)l.push(u),u=s();return f=>l.every(d=>d(f))}function i(){let l=[],u=n();for(;u&&(l.push(u),r==="|"||r===",");){do r=o.next();while(r==="|"||r===",");u=n()}return f=>l.some(d=>d(f))}}function ps(e){return!!e&&!!e.match(/[\w\.:]+/)}function ru(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 As(e){typeof e.dispose=="function"&&e.dispose()}var Mt=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},su=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},nu=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))}},iu=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new Mt(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new nu;for(let a of e)lu(a,this.initialScopeName,this.repo,t);for(let a of t.references)if(a instanceof Mt){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 lu(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 Mt?fa({baseGrammar:s,selfGrammar:r},o):Co(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 Mt(i))}function Co(e,t,a){if(t.repository&&t.repository[e]){let o=t.repository[e];pa([o],t,a)}}function fa(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&pa(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&pa(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function pa(e,t,a){for(let o of e){if(a.visitedRule.has(o))continue;a.visitedRule.add(o);let r=o.repository?Cs({},t.repository,o.repository):t.repository;Array.isArray(o.patterns)&&pa(o.patterns,{...t,repository:r},a);let s=o.include;if(!s)continue;let n=vs(s);switch(n.kind){case 0:fa({...t,selfGrammar:t.baseGrammar},a);break;case 1:fa(t,a);break;case 2:Co(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?Co(n.ruleName,l,a):fa(l,a)}else n.kind===4?a.add(new su(n.scopeName,n.ruleName)):a.add(new Mt(n.scopeName));break}}}var uu=class{kind=0},du=class{kind=1},fu=class{constructor(e){this.ruleName=e}kind=2},cu=class{constructor(e){this.scopeName=e}kind=3},pu=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function vs(e){if(e==="$base")return new uu;if(e==="$self")return new du;let t=e.indexOf("#");if(t===-1)return new cu(e);if(t===0)return new fu(e.substring(1));{let a=e.substring(0,t),o=e.substring(t+1);return new pu(a,o)}}var mu=/\\(\d+)/,ms=/\\(\d+)/g;var hu=-1,Ms=-2;var Bt=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?`${Is(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)}},gu=class extends Bt{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!")}},wu=class extends Bt{_match;captures;_cachedCompiledPatterns;constructor(e,t,a,o,r){super(e,t,a,null),this._match=new Rt(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 Ft,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},hs=class extends Bt{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 Ft,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Io=class extends Bt{_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 Rt(r,this.id),this.beginCaptures=s,this._end=new Rt(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 Ft;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}},ma=class extends Bt{_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 Rt(r,this.id),this.beginCaptures=s,this.whileCaptures=i,this._while=new Rt(n,Ms),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 Ft;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 Ft,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},Rs=class ge{static createCaptureRule(t,a,o,r,s){return t.registerRule(n=>new gu(a,n,o,r,s))}static getCompiledRuleId(t,a,o){return t.id||a.registerRule(r=>{if(t.id=r,t.match)return new wu(t.$vscodeTextmateLocation,t.id,t.name,t.match,ge._compileCaptures(t.captures,a,o));if(typeof t.begin>"u"){t.repository&&(o=Cs({},o,t.repository));let s=t.patterns;return typeof s>"u"&&t.include&&(s=[{include:t.include}]),new hs(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,ge._compilePatterns(s,a,o))}return t.while?new ma(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,ge._compileCaptures(t.beginCaptures||t.captures,a,o),t.while,ge._compileCaptures(t.whileCaptures||t.captures,a,o),ge._compilePatterns(t.patterns,a,o)):new Io(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,ge._compileCaptures(t.beginCaptures||t.captures,a,o),t.end,ge._compileCaptures(t.endCaptures||t.captures,a,o),t.applyEndPatternLast,ge._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=ge.getCompiledRuleId(t[n],a,o)),r[i]=ge.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=vs(i.include);switch(u.kind){case 0:case 1:l=ge.getCompiledRuleId(o[i.include],a,o);break;case 2:let f=o[u.ruleName];f&&(l=ge.getCompiledRuleId(f,a,o));break;case 3:case 4:let d=u.scopeName,p=u.kind===4?u.ruleName:null,c=a.getExternalGrammar(d,o);if(c)if(p){let m=c.repository[p];m&&(l=ge.getCompiledRuleId(m,a,c.repository))}else l=ge.getCompiledRuleId(c.repository.$self,a,c.repository);break}}else l=ge.getCompiledRuleId(i,a,o);if(l!==-1){let u=a.getRule(l),f=!1;if((u instanceof hs||u instanceof Io||u instanceof ma)&&u.hasMissingPatterns&&u.patterns.length===0&&(f=!0),f)continue;r.push(l)}}return{patterns:r,hasMissingPatterns:(t?t.length:0)!==r.length}}},Rt=class Fs{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=mu.test(this.source):this.hasBackReferences=!1}clone(){return new Fs(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 ms.lastIndex=0,this.source.replace(ms,(r,s)=>ks(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}},Ft=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 gs(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 gs(e,o,this._items.map(r=>r.ruleId))}},gs=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(`
|
|
3
|
-
`)}findNextMatchSync(e,t,a){let o=this.scanner.findNextMatchSync(e,t,a);return o?{ruleId:this.rules[o.index],captureIndices:o.captureIndices}:null}},wo=class{constructor(e,t){this.languageId=e,this.tokenType=t}},xu=class So{_defaultAttributes;_embeddedLanguagesMatcher;constructor(t,a){this._defaultAttributes=new wo(t,8),this._embeddedLanguagesMatcher=new Lu(Object.entries(a||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?So._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new wo(0,0);_getBasicScopeAttributes=new bs(t=>{let a=this._scopeToLanguage(t),o=this._toStandardTokenType(t);return new wo(a,o)});_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){let a=t.match(So.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/},Lu=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])=>ks(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])}},Kh={InDebugMode:typeof process<"u"&&!!process.env.VSCODE_TEXTMATE_DEBUG},Bs=!1,ws=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function Ds(e,t,a,o,r,s,n,i){let l=t.content.length,u=!1,f=-1;if(n){let c=Cu(e,t,a,o,r,s);r=c.stack,o=c.linePos,a=c.isFirstLine,f=c.anchorPosition}let d=Date.now();for(;!u;){if(i!==0&&Date.now()-d>i)return new ws(r,!0);p()}return new ws(r,!1);function p(){let c=Iu(e,t,a,o,r,f);if(!c){s.produce(r,l),u=!0;return}let m=c.captureIndices,C=c.matchedRuleId,x=m&&m.length>0?m[0].end>o:!1;if(C===hu){let w=r.getRule(e);s.produce(r,m[0].start),r=r.withContentNameScopesList(r.nameScopesList),Pt(e,t,a,r,s,w.endCaptures,m),s.produce(r,m[0].end);let g=r;if(r=r.parent,f=g.getAnchorPos(),!x&&g.getEnterPos()===o){r=g,s.produce(r,l),u=!0;return}}else{let w=e.getRule(C);s.produce(r,m[0].start);let g=r,h=w.getName(t.content,m),L=r.contentNameScopesList.pushAttributed(h,e);if(r=r.push(C,o,f,m[0].end===l,null,L,L),w instanceof Io){let y=w;Pt(e,t,a,r,s,y.beginCaptures,m),s.produce(r,m[0].end),f=m[0].end;let T=y.getContentName(t.content,m),v=L.pushAttributed(T,e);if(r=r.withContentNameScopesList(v),y.endHasBackReferences&&(r=r.withEndRule(y.getEndWithResolvedBackReferences(t.content,m))),!x&&g.hasSameRuleAs(r)){r=r.pop(),s.produce(r,l),u=!0;return}}else if(w instanceof
|
|
4
|
-
`;let s=this.createOnigString(e),n=s.content.length,i=new Mu(a,e,this._tokenTypeMatchers,this.balancedBracketSelectors),l=Ds(this,s,r,0,t,i,!0,o);return As(s),{lineLength:n,lineTokens:i,ruleStack:l.stack,stoppedEarly:l.stoppedEarly}}};function Ls(e,t){return e=$l(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 At=class Re{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=go.push(r,s.scopeNames),o=new Re(o,r,s.encodedTokenAttributes);return o}static createRoot(t,a){return new Re(null,new go(null,t),a)}static createRootAndLookUpScopeName(t,a,o){let r=o.getMetadataForScope(t),s=new go(null,t),n=o.themeProvider.themeMatch(s),i=Re.mergeAttributes(a,r,n);return new Re(null,s,i)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return Re.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),Ze.set(t,a.languageId,a.tokenType,null,r,s,n)}pushAttributed(t,a){if(t===null)return this;if(t.indexOf(" ")===-1)return Re._pushAttributed(this,t,a);let o=t.split(/ /g),r=this;for(let s of o)r=Re._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=Re.mergeAttributes(t.tokenAttributes,r,n);return new Re(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}},yo=class Je{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 Je(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:Je._equals(this,t)}static _equals(t,a){return t===a?!0:this._structuralEquals(t,a)?At.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(){Je._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,a,o,r,s,n,i){return new Je(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 Je(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=At.fromExtension(t?.nameScopesList??null,a.nameScopesList);return new Je(t,a.ruleId,a.enterPos??-1,a.anchorPos??-1,a.beginRuleCapturedEOL,a.endRule,o,At.fromExtension(o,a.contentNameScopesList))}},vu=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(a=>a==="*"?(this.allowAny=!0,[]):ca(a,ha).map(o=>o.matcher)),this.unbalancedBracketScopes=t.flatMap(a=>ca(a,ha).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}},Mu=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=Ze.set(o,0,n.type,null,-1,0,0));this.balancedBracketSelectors&&(r=this.balancedBracketSelectors.match(s))}if(r&&(o=Ze.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}},Ru=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,Tu(e,s,t,a,o,r,this,this._onigLib))}return this._grammars.get(e)}},Ns=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new Ru(vt.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(vt.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 vu(a.balancedBracketSelectors||[],a.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,a,o,r){let s=new iu(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)}},ga=yo.NULL;var Fu=/["&'<>`]/g,Bu=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Du=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,Eu=/[|\\{}()[\]^$+*?.]/g,Os=new WeakMap;function Us(e,t){if(e=e.replace(t.subset?_u(t.subset):Fu,o),t.subset||t.escapeOnly)return e;return e.replace(Bu,a).replace(Du,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 _u(e){let t=Os.get(e);return t||(t=Nu(e),Os.set(e,t)),t}function Nu(e){let t=[],a=-1;for(;++a<e.length;)t.push(e[a].replace(Eu,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}var Ou=/[\dA-Fa-f]/;function Hs(e,t,a){let o="&#x"+e.toString(16).toUpperCase();return a&&t&&!Ou.test(String.fromCharCode(t))?o:o+";"}var Uu=/\d/;function qs(e,t,a){let o="&#"+String(e);return a&&t&&!Uu.test(String.fromCharCode(t))?o:o+";"}var Gs=["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"];var wa={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"};var Ws=["cent","copy","divide","gt","lt","not","para","times"];var zs={}.hasOwnProperty,bo={},xa;for(xa in wa)zs.call(wa,xa)&&(bo[wa[xa]]=xa);var Hu=/[^\dA-Za-z]/;function js(e,t,a,o){let r=String.fromCharCode(e);if(zs.call(bo,r)){let s=bo[r],n="&"+s;return a&&Gs.includes(s)&&!Ws.includes(s)&&(!o||t&&t!==61&&Hu.test(String.fromCharCode(t)))?n:n+";"}return""}function Vs(e,t,a){let o=Hs(e,t,a.omitOptionalSemicolons),r;if((a.useNamedReferences||a.useShortestReferences)&&(r=js(e,t,a.omitOptionalSemicolons,a.attribute)),(a.useShortestReferences||!r)&&a.useShortestReferences){let s=qs(e,t,a.omitOptionalSemicolons);s.length<o.length&&(o=s)}return r&&(!a.useShortestReferences||r.length<o.length)?r:o}function Ee(e,t){return Us(e,Object.assign({format:Vs},t))}var qu=/^>|^->|<!--|-->|--!>|<!-$/g,Gu=[">"],Wu=["<",">"];function $s(e,t,a,o){return o.settings.bogusComments?"<?"+Ee(e.value,Object.assign({},o.settings.characterReferences,{subset:Gu}))+">":"<!--"+e.value.replace(qu,r)+"-->";function r(s){return Ee(s,Object.assign({},o.settings.characterReferences,{subset:Wu}))}}function Xs(e,t,a,o){return"<!"+(o.settings.upperDoctype?"DOCTYPE":"doctype")+(o.settings.tightDoctype?"":" ")+"html>"}var Z=Qs(1),To=Qs(-1),zu=[];function Qs(e){return t;function t(a,o,r){let s=a?a.children:zu,n=(o||0)+e,i=s[n];if(!r)for(;i&&st(i);)n+=e,i=s[n];return i}}var ju={}.hasOwnProperty;function La(e){return t;function t(a,o,r){return ju.call(e,a.tagName)&&e[a.tagName](a,o,r)}}var Dt=La({body:$u,caption:Po,colgroup:Po,dd:Ju,dt:Ku,head:Po,html:Vu,li:Qu,optgroup:Zu,option:Yu,p:Xu,rp:Ks,rt:Ks,tbody:td,td:Js,tfoot:ad,th:Js,thead:ed,tr:od});function Po(e,t,a){let o=Z(a,t,!0);return!o||o.type!=="comment"&&!(o.type==="text"&&st(o.value.charAt(0)))}function Vu(e,t,a){let o=Z(a,t);return!o||o.type!=="comment"}function $u(e,t,a){let o=Z(a,t);return!o||o.type!=="comment"}function Xu(e,t,a){let o=Z(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 Qu(e,t,a){let o=Z(a,t);return!o||o.type==="element"&&o.tagName==="li"}function Ku(e,t,a){let o=Z(a,t);return!!(o&&o.type==="element"&&(o.tagName==="dt"||o.tagName==="dd"))}function Ju(e,t,a){let o=Z(a,t);return!o||o.type==="element"&&(o.tagName==="dt"||o.tagName==="dd")}function Ks(e,t,a){let o=Z(a,t);return!o||o.type==="element"&&(o.tagName==="rp"||o.tagName==="rt")}function Zu(e,t,a){let o=Z(a,t);return!o||o.type==="element"&&o.tagName==="optgroup"}function Yu(e,t,a){let o=Z(a,t);return!o||o.type==="element"&&(o.tagName==="option"||o.tagName==="optgroup")}function ed(e,t,a){let o=Z(a,t);return!!(o&&o.type==="element"&&(o.tagName==="tbody"||o.tagName==="tfoot"))}function td(e,t,a){let o=Z(a,t);return!o||o.type==="element"&&(o.tagName==="tbody"||o.tagName==="tfoot")}function ad(e,t,a){return!Z(a,t)}function od(e,t,a){let o=Z(a,t);return!o||o.type==="element"&&o.tagName==="tr"}function Js(e,t,a){let o=Z(a,t);return!o||o.type==="element"&&(o.tagName==="td"||o.tagName==="th")}var Zs=La({body:nd,colgroup:id,head:sd,html:rd,tbody:ld});function rd(e){let t=Z(e,-1);return!t||t.type!=="comment"}function sd(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 nd(e){let t=Z(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&st(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function id(e,t,a){let o=To(a,t),r=Z(e,-1,!0);return a&&o&&o.type==="element"&&o.tagName==="colgroup"&&Dt(o,a.children.indexOf(o),a)?!1:!!(r&&r.type==="element"&&r.tagName==="col")}function ld(e,t,a){let o=To(a,t),r=Z(e,-1);return a&&o&&o.type==="element"&&(o.tagName==="thead"||o.tagName==="tbody")&&Dt(o,a.children.indexOf(o),a)?!1:!!(r&&r.type==="element"&&r.tagName==="tr")}var Ca={name:[[`
|
|
2
|
+
import{a as pr,b as mr,c as hr,d as ot,e as rt,f as Vt,g as gr,h as wr,i as xr,j as Lr,k as $t,l as Cr,m as to,n as Ir,o as Sr,p as st,u as ao}from"../chunk-5JBHQYU5.js";import"../chunk-V3ZDECK5.js";import{forwardRef as Zc,useCallback as sr,useEffect as Yc,useImperativeHandle as ep,useRef as wi,useState as xi}from"react";import{forwardRef as _i,createElement as Ni}from"react";var Xt=(...e)=>e.filter((t,a,o)=>!!t&&t.trim()!==""&&o.indexOf(t)===a).join(" ").trim();var yr=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var kr=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,o)=>o?o.toUpperCase():a.toLowerCase());var oo=e=>{let t=kr(e);return t.charAt(0).toUpperCase()+t.slice(1)};import{forwardRef as Ei,createElement as Pr}from"react";var br={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"};var Tr=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var Ar=Ei(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:o,className:r="",children:s,iconNode:n,...i},l)=>Pr("svg",{ref:l,...br,width:t,height:t,stroke:e,strokeWidth:o?Number(a)*24/Number(t):a,className:Xt("lucide",r),...!s&&!Tr(i)&&{"aria-hidden":"true"},...i},[...n.map(([u,f])=>Pr(u,f)),...Array.isArray(s)?s:[s]]));var $=(e,t)=>{let a=_i(({className:o,...r},s)=>Ni(Ar,{ref:s,iconNode:t,className:Xt(`lucide-${yr(oo(e))}`,`lucide-${e}`,o),...r}));return a.displayName=oo(e),a};var Oi=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],je=$("arrow-down",Oi);var Ui=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],mt=$("arrow-up",Ui);var Hi=[["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"}]],Oe=$("braces",Hi);var qi=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],ht=$("check",qi);var Gi=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],gt=$("chevron-down",Gi);var Wi=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],wt=$("chevron-right",Wi);var zi=[["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"}]],xt=$("clipboard-copy",zi);var ji=[["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"}]],Lt=$("file",ji);var Vi=[["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"}]],Ct=$("loader",Vi);var $i=[["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"}]],It=$("paperclip",$i);var Xi=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],St=$("square",Xi);var Qi=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],Ve=$("x",Qi);import{useCallback as cl}from"react";import{useCallback as Ue,useMemo as Ki,useRef as Ji,useState as ro}from"react";var Zi={damping:.7,stiffness:.05,mass:1.25},Yi=70,el=1e3/60,tl=350,Qt=!1;globalThis.document?.addEventListener("mousedown",()=>{Qt=!0});globalThis.document?.addEventListener("mouseup",()=>{Qt=!1});globalThis.document?.addEventListener("click",()=>{Qt=!1});var Mr=(e={})=>{let[t,a]=ro(!1),[o,r]=ro(e.initial!==!1),[s,n]=ro(!1),i=Ji(null);i.current=e;let l=Ue(()=>{if(!Qt)return!1;let g=window.getSelection();if(!g||!g.rangeCount)return!1;let h=g.getRangeAt(0);return h.commonAncestorContainer.contains(x.current)||x.current?.contains(h.commonAncestorContainer)},[]),u=Ue(g=>{d.isAtBottom=g,r(g)},[]),f=Ue(g=>{d.escapedFromLock=g,a(g)},[]),d=Ki(()=>{let g;return{escapedFromLock:t,isAtBottom:o,resizeDifference:0,accumulated:0,velocity:0,listeners:new Set,get scrollTop(){return x.current?.scrollTop??0},set scrollTop(h){x.current&&(x.current.scrollTop=h,d.ignoreScrollToTop=x.current.scrollTop)},get targetScrollTop(){return!x.current||!w.current?0:x.current.scrollHeight-1-x.current.clientHeight},get calculatedTargetScrollTop(){if(!x.current||!w.current)return 0;let{targetScrollTop:h}=this;if(!e.targetScrollTop)return h;if(g?.targetScrollTop===h)return g.calculatedScrollTop;let L=Math.max(Math.min(e.targetScrollTop(h,{scrollElement:x.current,contentElement:w.current}),h),0);return g={targetScrollTop:h,calculatedScrollTop:L},requestAnimationFrame(()=>{g=void 0}),L},get scrollDifference(){return this.calculatedTargetScrollTop-this.scrollTop},get isNearBottom(){return this.scrollDifference<=Yi}}},[]),p=Ue((g={})=>{typeof g=="string"&&(g={animation:g}),g.preserveScrollPosition||u(!0);let h=Date.now()+(Number(g.wait)||0),L=no(i.current,g.animation),{ignoreEscapes:y=!1}=g,T,v=d.calculatedTargetScrollTop;g.duration instanceof Promise?g.duration.finally(()=>{T=Date.now()}):T=h+(g.duration??0);let R=async()=>{let N=new Promise(requestAnimationFrame).then(()=>{if(!d.isAtBottom)return d.animation=void 0,!1;let{scrollTop:F}=d,k=performance.now(),I=(k-(d.lastTick??k))/el;if(d.animation||(d.animation={behavior:L,promise:N,ignoreEscapes:y}),d.animation.behavior===L&&(d.lastTick=k),l()||h>Date.now())return R();if(F<Math.min(v,d.calculatedTargetScrollTop)){if(d.animation?.behavior===L){if(L==="instant")return d.scrollTop=d.calculatedTargetScrollTop,R();d.velocity=(L.damping*d.velocity+L.stiffness*d.scrollDifference)/L.mass,d.accumulated+=d.velocity*I,d.scrollTop+=d.accumulated,d.scrollTop!==F&&(d.accumulated=0)}return R()}return T>Date.now()?(v=d.calculatedTargetScrollTop,R()):(d.animation=void 0,d.scrollTop<d.calculatedTargetScrollTop?p({animation:no(i.current,i.current.resize),ignoreEscapes:y,duration:Math.max(0,T-Date.now())||void 0}):d.isAtBottom)});return N.then(F=>(requestAnimationFrame(()=>{d.animation||(d.lastTick=void 0,d.velocity=0)}),F))};return g.wait!==!0&&(d.animation=void 0),d.animation?.behavior===L?d.animation.promise:R()},[u,l,d]),c=Ue(()=>{f(!0),u(!1)},[f,u]),m=Ue(({target:g})=>{if(g!==x.current)return;let{scrollTop:h,ignoreScrollToTop:L}=d,{lastScrollTop:y=h}=d;d.lastScrollTop=h,d.ignoreScrollToTop=void 0,L&&L>h&&(y=L),n(d.isNearBottom),setTimeout(()=>{if(d.resizeDifference||h===L)return;if(l()){f(!0),u(!1);return}let T=h>y,v=h<y;if(d.animation?.ignoreEscapes){d.scrollTop=y;return}v&&(f(!0),u(!1)),T&&f(!1),!d.escapedFromLock&&d.isNearBottom&&u(!0)},1)},[f,u,l,d]),C=Ue(({target:g,deltaY:h})=>{let L=g;for(;!["scroll","auto"].includes(getComputedStyle(L).overflow);){if(!L.parentElement)return;L=L.parentElement}L===x.current&&h<0&&x.current.scrollHeight>x.current.clientHeight&&!d.animation?.ignoreEscapes&&(f(!0),u(!1))},[f,u,d]),x=vr(g=>{x.current?.removeEventListener("scroll",m),x.current?.removeEventListener("wheel",C),g?.addEventListener("scroll",m,{passive:!0}),g?.addEventListener("wheel",C,{passive:!0})},[]),w=vr(g=>{if(d.resizeObserver?.disconnect(),!g)return;let h;d.resizeObserver=new ResizeObserver(([L])=>{let{height:y}=L.contentRect,T=y-(h??y);if(d.resizeDifference=T,d.scrollTop>d.targetScrollTop&&(d.scrollTop=d.targetScrollTop),n(d.isNearBottom),T>=0){let v=no(i.current,h?i.current.resize:i.current.initial);p({animation:v,wait:!0,preserveScrollPosition:!0,duration:v==="instant"?void 0:tl})}else d.isNearBottom&&(f(!1),u(!0));h=y,requestAnimationFrame(()=>{setTimeout(()=>{d.resizeDifference===T&&(d.resizeDifference=0)},1)})}),d.resizeObserver?.observe(g)},[]);return{contentRef:w,scrollRef:x,scrollToBottom:p,stopScroll:c,isAtBottom:o||s,isNearBottom:s,escapedFromLock:t,state:d}};function vr(e,t){let a=Ue(o=>(a.current=o,e(o)),t);return a}var so=new Map;function no(...e){let t={...Zi},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 so.has(o)||so.set(o,Object.freeze(t)),a?"instant":so.get(o)}import*as $e from"react";import{createContext as al,useContext as ol,useEffect as rl,useImperativeHandle as sl,useLayoutEffect as nl,useMemo as il,useRef as ll}from"react";var Rr=al(null),ul=typeof window<"u"?nl:rl;function yt({instance:e,children:t,resize:a,initial:o,mass:r,damping:s,stiffness:n,targetScrollTop:i,contextRef:l,...u}){let f=ll(null),d=$e.useCallback((y,T)=>(L?.targetScrollTop??i)?.(y,T)??y,[i]),p=Mr({mass:r,damping:s,stiffness:n,resize:a,initial:o,targetScrollTop:d}),{scrollRef:c,contentRef:m,scrollToBottom:C,stopScroll:x,isAtBottom:w,escapedFromLock:g,state:h}=e??p,L=il(()=>({scrollToBottom:C,stopScroll:x,scrollRef:c,isAtBottom:w,escapedFromLock:g,contentRef:m,state:h,get targetScrollTop(){return f.current},set targetScrollTop(y){f.current=y}}),[C,w,m,c,x,g,h]);return sl(l,()=>L,[L]),ul(()=>{c.current&&getComputedStyle(c.current).overflow==="visible"&&(c.current.style.overflow="auto")},[]),$e.createElement(Rr.Provider,{value:L},$e.createElement("div",{...u},typeof t=="function"?t(L):t))}(function(e){function t({children:a,scrollClassName:o,...r}){let s=io();return $e.createElement("div",{ref:s.scrollRef,style:{height:"100%",width:"100%",scrollbarGutter:"stable both-edges"},className:o},$e.createElement("div",{...r,ref:s.contentRef},typeof a=="function"?a(s):a))}e.Content=t})(yt||(yt={}));function io(){let e=ol(Rr);if(!e)throw new Error("use-stick-to-bottom component context must be used within a StickToBottom component");return e}var dl=mr({prefix:"ww"});function P(...e){return dl(pr(e))}import{jsx as fl}from"react/jsx-runtime";var ke=({className:e,variant:t="default",size:a="default",type:o="button",...r})=>fl("button",{type:o,className:P("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 Kt}from"react/jsx-runtime";var Fr=({className:e,...t})=>Kt(yt,{className:P("ww:relative ww:flex-1 ww:overflow-y-hidden",e),initial:"smooth",resize:"smooth",role:"log",...t}),Br=({className:e,...t})=>Kt(yt.Content,{className:P("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}),Dr=({className:e,...t})=>{let{isAtBottom:a,scrollToBottom:o}=io(),r=cl(()=>{o()},[o]);return!a&&Kt(ke,{className:P("ww:absolute ww:bottom-4 ww:left-[50%] ww:translate-x-[-50%] ww:rounded-full",e),onClick:r,size:"icon",variant:"outline",...t,children:Kt(je,{className:"ww:size-4"})})};import _r from"crypto";var Er="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var pl=128,Xe,nt,ml=e=>{!Xe||Xe.length<e?(Xe=Buffer.allocUnsafe(e*pl),_r.randomFillSync(Xe),nt=0):nt+e>Xe.length&&(_r.randomFillSync(Xe),nt=0),nt+=e};var kt=(e=21)=>{ml(e|=0);let t="";for(let a=nt-e;a<nt;a++)t+=Er[Xe[a]&63];return t};import{createContext as hl,useCallback as Be,useContext as gl,useEffect as lo,useMemo as wl,useRef as uo,useState as Nr}from"react";import{jsx as Pe,jsxs as Hr}from"react/jsx-runtime";var xl=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}},Or=hl(null),Ur=()=>{let e=gl(Or);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},Jt=({className:e,accept:t,multiple:a,globalDrop:o,maxFiles:r,maxFileSize:s,onSubmit:n,children:i,...l})=>{let u=uo(null),f=uo(null),[d,p]=Nr([]),c=uo(d);lo(()=>{c.current=d},[d]);let m=Be(()=>{u.current?.click()},[]),C=Be(y=>{let T=[...y];if(T.length===0)return;let v=N=>s?N.size<=s:!0,R=T.filter(v);p(N=>{let F=typeof r=="number"?Math.max(0,r-N.length):void 0,k=typeof F=="number"?R.slice(0,F):R;return[...N,...k.map(I=>({filename:I.name,id:kt(),mediaType:I.type,type:"file",url:URL.createObjectURL(I)}))]})},[r,s]),x=Be(y=>{p(T=>{let v=T.find(R=>R.id===y);return v?.url&&URL.revokeObjectURL(v.url),T.filter(R=>R.id!==y)})},[]),w=Be(()=>{p(y=>{for(let T of y)T.url&&URL.revokeObjectURL(T.url);return[]})},[]);lo(()=>()=>{for(let y of c.current)y.url&&URL.revokeObjectURL(y.url)},[]);let g=Be(y=>{y.currentTarget.files&&C(y.currentTarget.files),y.currentTarget.value=""},[C]);lo(()=>{if(!o)return;let y=v=>{v.dataTransfer?.types?.includes("Files")&&v.preventDefault()},T=v=>{v.dataTransfer?.types?.includes("Files")&&v.preventDefault(),v.dataTransfer?.files&&v.dataTransfer.files.length>0&&C(v.dataTransfer.files)};return document.addEventListener("dragover",y),document.addEventListener("drop",T),()=>{document.removeEventListener("dragover",y),document.removeEventListener("drop",T)}},[C,o]);let h=Be(async y=>{y.preventDefault();let T=y.currentTarget,R=new FormData(T).get("message")||"";T.reset();let N=await Promise.all(d.map(async({id:F,...k})=>{if(k.url?.startsWith("blob:")){let I=await xl(k.url);return{...k,url:I??k.url}}return k}));try{let F=n({files:N,text:R},y);F instanceof Promise&&await F,w()}catch{}},[d,n,w]),L=wl(()=>({add:C,clear:w,files:d,openFileDialog:m,remove:x}),[d,C,x,w,m]);return Hr(Or.Provider,{value:L,children:[Pe("input",{accept:t,"aria-label":"Upload files",className:"ww:hidden",multiple:a,onChange:g,ref:u,title:"Upload files",type:"file"}),Pe("form",{className:P("ww:flex ww:w-full ww:flex-col ww:rounded-lg ww:border ww:border-border ww:bg-background",e),onSubmit:h,ref:f,...l,children:i})]})};var Zt=({onChange:e,onKeyDown:t,className:a,placeholder:o="What would you like to know?",...r})=>{let s=Ur(),[n,i]=Nr(!1),l=Be(f=>{if(t?.(f),!f.defaultPrevented){if(f.key==="Enter"){if(n||f.nativeEvent.isComposing||f.shiftKey)return;f.preventDefault();let{form:d}=f.currentTarget;if(d?.querySelector('button[type="submit"]')?.disabled)return;d?.requestSubmit()}if(f.key==="Backspace"&&f.currentTarget.value===""&&s.files.length>0){f.preventDefault();let d=s.files.at(-1);d&&s.remove(d.id)}}},[t,n,s]),u=Be(f=>{let d=f.clipboardData?.items;if(!d)return;let p=[];for(let c of d)if(c.kind==="file"){let m=c.getAsFile();m&&p.push(m)}p.length>0&&(f.preventDefault(),s.add(p))},[s]);return Pe("textarea",{className:P("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:()=>i(!1),onCompositionStart:()=>i(!0),onKeyDown:l,onPaste:u,placeholder:o,onChange:e,...r})},Yt=({className:e,status:t,onStop:a,onClick:o,children:r,...s})=>{let n=t==="submitted"||t==="streaming",i=Pe(mt,{className:"ww:size-4"});t==="submitted"?i=Pe(Ct,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(i=Pe(St,{className:"ww:size-4"}));let l=Be(u=>{if(n&&a){u.preventDefault(),a();return}o?.(u)},[n,a,o]);return Pe(ke,{"aria-label":n?"Stop":"Submit",className:P("ww:bg-foreground ww:text-background ww:hover:bg-foreground ww:rounded-full",e),onClick:l,size:"icon-sm",type:n&&a?"button":"submit",variant:"ghost",...s,children:r??i})},ea=({className:e,children:t,...a})=>{let o=Ur();return o.files.length>0?Hr(ke,{className:P("ww:group ww:relative",e),onClick:()=>o.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":"Remove all attachments",...a,children:[Pe("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:o.files.length}),Pe(Ve,{className:"ww:absolute ww:size-4 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100"})]}):Pe(ke,{className:P(e),onClick:()=>o.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??Pe(It,{className:"ww:size-4"})})};import{memo as Ll,useCallback as Cl}from"react";import{jsx as it}from"react/jsx-runtime";var qr=({className:e,...t})=>it("div",{className:P("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),Gr=({className:e,...t})=>it("li",{className:P("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}),Wr=({className:e,...t})=>it("span",{className:P("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),zr=({className:e,...t})=>it("span",{className:P("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),jr=({className:e,...t})=>it("div",{className:P("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),Vr=({className:e,...t})=>it(ke,{className:P("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 fo}from"react/jsx-runtime";var $r=Ll(({message:e,onRemove:t})=>{let a=Cl(()=>t(e.id),[t,e.id]);return fo(Gr,{children:[Qe(Wr,{}),Qe(zr,{children:e.text||"(attachment)"}),Qe(jr,{children:Qe(Vr,{"aria-label":"Remove from queue",onClick:a,children:Qe(Ve,{className:"ww:size-3"})})})]})});$r.displayName="ChatQueueItem";function ta({queuedMessages:e,onRemove:t,className:a}){return e.length===0?null:fo(qr,{className:P("ww:border-t ww:border-border",a),children:[fo("div",{className:"ww:text-[11px] ww:font-medium ww:text-muted-foreground ww:px-2",children:[e.length," queued"]}),Qe("ul",{children:e.map(o=>Qe($r,{message:o,onRemove:t},o.id))})]})}import{useState as Xr}from"react";import{jsx as Il}from"react/jsx-runtime";function Qr({messages:e,evalEnabled:t,api:a="/api/waniwani"}){let[o,r]=Xr(!1),[s,n]=Xr(null),i=async()=>{let u={name:`session-${new Date().toISOString().slice(0,19)}`,type:"functional",messages:e,mode:"manual"};r(!0),n(null);try{let f=await fetch(`${a}/scenarios`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(u)});if(!f.ok)throw new Error(`${f.status}`);n("saved")}catch{n("error")}finally{r(!1),setTimeout(()=>n(null),2e3)}};return!t||e.length===0?null:Il("button",{type:"button",onClick:i,disabled:o,title:"Save scenario to WaniWani",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:o?"saving...":s==="saved"?"saved":s==="error"?"error":"export"})}import{jsx as bt,jsxs as yl}from"react/jsx-runtime";var Kr=({files:e,className:t,...a})=>e.length===0?null:bt("div",{className:P("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((o,r)=>bt(Sl,{file:o},r))});function Sl({file:e}){return e.mediaType?.startsWith("image/")&&e.url?bt("img",{src:e.url,alt:e.filename??"attachment",className:"ww:h-16 ww:max-w-32 ww:rounded ww:object-cover"}):yl("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:[bt(Lt,{className:"ww:size-3 ww:shrink-0"}),bt("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??"file"})]})}import{jsx as Jr}from"react/jsx-runtime";var co=({className:e,size:t=5,...a})=>Jr("div",{className:P("ww:flex ww:items-center ww:gap-1",e),...a,children:[0,1,2].map(o=>Jr("div",{className:"ww:rounded-full ww:bg-muted-foreground/60",style:{width:t,height:t,animation:"ww-pulse 1.4s ease-in-out infinite",animationDelay:`${o*.2}s`}},o))});var de={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};var ve={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};var Ce={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"};function Zr(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 Yr(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function es(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 ts(e){return Zr(e)?"ambiguous":Yr(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":es(e)?"wide":"neutral"}function kl(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function as(e){return kl(e),ts(e)}var bl=Object.defineProperty,Tl=(e,t,a)=>t in e?bl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Pl=(e,t,a)=>Tl(e,typeof t!="symbol"?t+"":t,a);function Al(e){return/^\p{Emoji_Presentation}/u.test(String.fromCodePoint(e))}function vl(e){if(!e||e<4352)return!1;switch(as(e)){case"fullwidth":case"halfwidth":return!0;case"wide":return!Al(e);case"narrow":return!1;case"ambiguous":return 917760<=e&&e<=917999?null:!1;case"neutral":return/^\p{sc=Hangul}/u.test(String.fromCodePoint(e))}}function Ml(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function Rl(e){return e!==null&&e>=65024&&e<=65038}var Fl=os(/\p{P}|\p{S}/u),Bl=os(/\s/);function os(e){return t;function t(a){return a!==null&&a>-1&&e.test(String.fromCodePoint(a))}}var Ie;(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})(Ie||(Ie={}));function He(e){if(e===de.eof||hr(e)||Bl(e))return ve.characterGroupWhitespace;let t=0;if(e>=4352){if(Rl(e))return Ie.nonEmojiGeneralUseVS;switch(vl(e)){case null:return Ie.ivs;case!0:t|=Ie.cjk;break}}return Fl(e)&&(t|=ve.characterGroupPunctuation),t}function aa(e,t,a){if(!El(e))return e;let o=t(),r=He(o);return!o||Ke(r)?e:Ml(o,a)?Ie.cjkPunctuation:Dl(r)}function Dl(e){return e&~Ie.ivs}function Ke(e){return!!(e&ve.characterGroupWhitespace)}function lt(e){return(e&Ie.cjkPunctuation)===ve.characterGroupPunctuation}function Tt(e){return!!(e&Ie.cjk)}function rs(e){return e===Ie.ivs}function ss(e){return!!(e&Ie.cjkOrIvs)}function El(e){return e===Ie.nonEmojiGeneralUseVS}function po(e){return!!(e&Ie.spaceOrPunctuation)}function oa(e){return!!(e&&e>=55296&&e<=56319)}function ra(e){return!!(e&&e>=56320&&e<=57343)}function sa(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 _l(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 na=class{constructor(e,t,a){this.previousCode=e,this.nowPoint=t,this.sliceSerialize=a,Pl(this,"cachedValue")}value(){return this.cachedValue===void 0&&(this.cachedValue=_l(this.previousCode,this.nowPoint,this.sliceSerialize)),this.cachedValue}};function ia(e,t,a){let o=a({start:t,end:{...t,_bufferIndex:t._bufferIndex+2}}).codePointAt(0);return o&&o>=65536?o:e}var mo={name:"attention",resolveAll:Nl,tokenize:Ol};function Nl(e,t){let a=-1,o,r,s,n,i,l,u,f;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};ns(d,-l),ns(p,l),n={type:l>1?Ce.strongSequence:Ce.emphasisSequence,start:d,end:{...e[o][1].end}},i={type:l>1?Ce.strongSequence:Ce.emphasisSequence,start:{...e[a][1].start},end:p},s={type:l>1?Ce.strongText:Ce.emphasisText,start:{...e[o][1].end},end:{...e[a][1].start}},r={type:l>1?Ce.strong:Ce.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=rt(u,[["enter",e[o][1],t],["exit",e[o][1],t]])),u=rt(u,[["enter",r,t],["enter",n,t],["exit",n,t],["enter",s,t]]),t.parser.constructs.insideSpan.null,u=rt(u,Vt(t.parser.constructs.insideSpan.null,e.slice(o+1,a),t)),u=rt(u,[["exit",s,t],["enter",i,t],["exit",i,t],["exit",r,t]]),e[a][1].end.offset-e[a][1].start.offset?(f=2,u=rt(u,[["enter",e[a][1],t],["exit",e[a][1],t]])):f=0,ot(e,o-1,a-o+3,u),a=o+u.length-f-2;break}}for(a=-1;++a<e.length;)e[a][1].type==="attentionSequence"&&(e[a][1].type="data");return e}function Ol(e,t){let a=this.parser.constructs.attentionMarkers.null,{now:o,sliceSerialize:r,previous:s}=this,n=ra(s)?sa(s,o(),r):s,i=He(n),l=new na(n,o(),r),u=aa(i,l.value.bind(l),n),f;return d;function d(c){return c===de.asterisk||de.underscore,f=c,e.enter("attentionSequence"),p(c)}function p(c){if(c===f)return e.consume(c),p;let m=e.exit("attentionSequence"),C=oa(c)?ia(c,o(),r):c,x=He(C);let w=lt(u),g=w||Ke(u),h=lt(x),L=h||Ke(x),y=ss(u),T=!L||h&&(g||y)||a.includes(c),v=!g||w&&(L||Tt(x))||a.includes(n);return m._open=!!(f===de.asterisk?T:T&&(po(u)||!v)),m._close=!!(f===de.asterisk?v:v&&(po(x)||!T)),t(c)}}function ns(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function is(){return{text:{[de.asterisk]:mo,[de.underscore]:mo},insideSpan:{null:[mo]}}}function ls(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(is())}function us(e){let a=(e||{}).singleTilde,o={name:"strikethrough",tokenize:s,resolveAll:r};return a==null&&(a=!0),{text:{[de.tilde]:o},insideSpan:{null:[o]},attentionMarkers:{null:[de.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 f={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",f,i],["enter",n[u][1],i],["exit",n[u][1],i],["enter",d,i]],c=i.parser.constructs.insideSpan.null;c&&ot(p,p.length,0,Vt(c,n.slice(u+1,l),i)),ot(p,p.length,0,[["exit",d,i],["enter",n[l][1],i],["exit",n[l][1],i],["exit",f,i]]),ot(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=Ce.data);return n}function s(n,i,l){let{now:u,sliceSerialize:f,previous:d}=this,p=ra(d)?sa(d,u(),f):d,c=He(p),m=new na(p,u(),f),C=aa(c,m.value.bind(m),p),x=this.events,w=0;return g;function g(L){return de.tilde,p===de.tilde&&x[x.length-1][1].type!==Ce.characterEscape?l(L):(n.enter("strikethroughSequenceTemporary"),h(L))}function h(L){let y=He(p);if(L===de.tilde)return w>1?l(L):(n.consume(L),w++,h);if(w<2&&!a)return l(L);let T=n.exit("strikethroughSequenceTemporary"),v=oa(L)?ia(L,u(),f):L,R=He(v),F=lt(C)||Ke(C),I=lt(R)||Ke(R),O=Tt(C)||rs(y);return T._open=!I||R===ve.attentionSideAfter&&(F||O),T._close=!F||y===ve.attentionSideAfter&&(I||Tt(R)),i(L)}}}function ds(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(us(e))}var Ul=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),Hl=/^(https?:\/\/|mailto:|www\.)/i,ql=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},Gl=e=>{let t=0;for(let a of e){if(Ul.has(a))return t;t+=a.length}return null},Wl=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),zl=e=>({type:"text",value:e}),jl=()=>e=>{gr(e,"link",(t,a,o)=>{if(!o||typeof a!="number"||!ql(t)||!Hl.test(t.url))return;let r=Gl(t.url);if(r===null||r===0)return;let s=t.url.slice(0,r),n=t.url.slice(r),i=Wl(s,t),l=zl(n);return o.children.splice(a,1,i,l),a+1})};function Vl(){let e=[ls],t=[jl,ds],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var fs=Vl();var Q=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function $l(e){return ko(e)}function ko(e){return Array.isArray(e)?Xl(e):e instanceof RegExp?e:typeof e=="object"?Ql(e):e}function Xl(e){let t=[];for(let a=0,o=e.length;a<o;a++)t[a]=ko(e[a]);return t}function Ql(e){let t={};for(let a in e)t[a]=ko(e[a]);return t}function Cs(e,...t){return t.forEach(a=>{for(let o in a)e[o]=a[o]}),e}function Is(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?Is(e.substring(0,e.length-1)):e.substr(~t+1)}var ho=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,la=class{static hasCaptures(e){return e===null?!1:(ho.lastIndex=0,ho.test(e))}static replaceCaptures(e,t,a){return e.replace(ho,(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 Ss(e,t){return e<t?-1:e>t?1:0}function ys(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=Ss(e[r],t[r]);if(s!==0)return s}return 0}return a-o}function cs(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 ks(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var bs=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}},vt=class{constructor(e,t,a){this._colorMap=e,this._defaults=t,this._root=a}static createFromRawTheme(e,t){return this.createFromParsedTheme(Zl(e),t)}static createFromParsedTheme(e,t){return eu(e,t)}_cachedMatchRoot=new bs(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=>Kl(e.parent,r.parentScopes));return o?new Ts(o.fontStyle,o.foreground,o.background):null}},go=class ua{constructor(t,a){this.parent=t,this.scopeName=a}static push(t,a){for(let o of a)t=new ua(t,o);return t}static from(...t){let a=null;for(let o=0;o<t.length;o++)a=new ua(a,t[o]);return a}push(t){return new ua(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 Kl(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&&!Jl(e.scopeName,o);){if(r)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function Jl(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var Ts=class{constructor(e,t,a){this.fontStyle=e,this.foregroundId=t,this.backgroundId=a}};function Zl(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,c=d.length;p<c;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"&&cs(n.settings.foreground)&&(u=n.settings.foreground);let f=null;typeof n.settings.background=="string"&&cs(n.settings.background)&&(f=n.settings.background);for(let d=0,p=i.length;d<p;d++){let m=i[d].trim().split(" "),C=m[m.length-1],x=null;m.length>1&&(x=m.slice(0,m.length-1),x.reverse()),a[o++]=new Yl(C,x,r,l,u,f)}}return a}var Yl=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}},fe=(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))(fe||{});function eu(e,t){e.sort((l,u)=>{let f=Ss(l.scope,u.scope);return f!==0||(f=ys(l.parentScopes,u.parentScopes),f!==0)?f: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 tu(t),n=new Ts(a,s.getId(o),s.getId(r)),i=new ou(new xo(0,null,-1,0,0),[]);for(let l=0,u=e.length;l<u;l++){let f=e[l];i.insert(0,f.scope,f.parentScopes,f.fontStyle,s.getId(f.foreground),s.getId(f.background))}return new vt(s,n,i)}var tu=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)}},au=Object.freeze([]),xo=class Ps{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,o,r,s){this.scopeDepth=t,this.parentScopes=a||au,this.fontStyle=o,this.foreground=r,this.background=s}clone(){return new Ps(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)}},ou=class Lo{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(Lo._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 f;this._children.hasOwnProperty(l)?f=this._children[l]:(f=new Lo(this._mainRule.clone(),xo.cloneArr(this._rulesWithParentScopes)),this._children[l]=f),f.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(ys(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 xo(t,a,o,r,s))}},Ze=class be{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){let a=be.getLanguageId(t),o=be.getTokenType(t),r=be.getFontStyle(t),s=be.getForeground(t),n=be.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=be.getLanguageId(t),u=be.getTokenType(t),f=be.containsBalancedBrackets(t)?1:0,d=be.getFontStyle(t),p=be.getForeground(t),c=be.getBackground(t);return a!==0&&(l=a),o!==8&&(u=o),r!==null&&(f=r?1:0),s!==-1&&(d=s),n!==0&&(p=n),i!==0&&(c=i),(l<<0|u<<8|f<<10|d<<11|p<<15|c<<24)>>>0}};function fa(e,t){let a=[],o=ru(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(ps(r)){let l=[];do l.push(r),r=o.next();while(ps(r));return u=>t(l,u)}return null}function n(){let l=[],u=s();for(;u;)l.push(u),u=s();return f=>l.every(d=>d(f))}function i(){let l=[],u=n();for(;u&&(l.push(u),r==="|"||r===",");){do r=o.next();while(r==="|"||r===",");u=n()}return f=>l.some(d=>d(f))}}function ps(e){return!!e&&!!e.match(/[\w\.:]+/)}function ru(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 As(e){typeof e.dispose=="function"&&e.dispose()}var Mt=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},su=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},nu=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))}},iu=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new Mt(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new nu;for(let a of e)lu(a,this.initialScopeName,this.repo,t);for(let a of t.references)if(a instanceof Mt){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 lu(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 Mt?da({baseGrammar:s,selfGrammar:r},o):Co(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 Mt(i))}function Co(e,t,a){if(t.repository&&t.repository[e]){let o=t.repository[e];ca([o],t,a)}}function da(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&ca(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&ca(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function ca(e,t,a){for(let o of e){if(a.visitedRule.has(o))continue;a.visitedRule.add(o);let r=o.repository?Cs({},t.repository,o.repository):t.repository;Array.isArray(o.patterns)&&ca(o.patterns,{...t,repository:r},a);let s=o.include;if(!s)continue;let n=vs(s);switch(n.kind){case 0:da({...t,selfGrammar:t.baseGrammar},a);break;case 1:da(t,a);break;case 2:Co(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?Co(n.ruleName,l,a):da(l,a)}else n.kind===4?a.add(new su(n.scopeName,n.ruleName)):a.add(new Mt(n.scopeName));break}}}var uu=class{kind=0},du=class{kind=1},fu=class{constructor(e){this.ruleName=e}kind=2},cu=class{constructor(e){this.scopeName=e}kind=3},pu=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function vs(e){if(e==="$base")return new uu;if(e==="$self")return new du;let t=e.indexOf("#");if(t===-1)return new cu(e);if(t===0)return new fu(e.substring(1));{let a=e.substring(0,t),o=e.substring(t+1);return new pu(a,o)}}var mu=/\\(\d+)/,ms=/\\(\d+)/g;var hu=-1,Ms=-2;var Bt=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,a,o){this.$location=e,this.id=t,this._name=a||null,this._nameIsCapturing=la.hasCaptures(this._name),this._contentName=o||null,this._contentNameIsCapturing=la.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${Is(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:la.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:la.replaceCaptures(this._contentName,e,t)}},gu=class extends Bt{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!")}},wu=class extends Bt{_match;captures;_cachedCompiledPatterns;constructor(e,t,a,o,r){super(e,t,a,null),this._match=new Rt(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 Ft,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},hs=class extends Bt{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 Ft,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Io=class extends Bt{_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 Rt(r,this.id),this.beginCaptures=s,this._end=new Rt(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 Ft;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}},pa=class extends Bt{_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 Rt(r,this.id),this.beginCaptures=s,this.whileCaptures=i,this._while=new Rt(n,Ms),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 Ft;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 Ft,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},Rs=class me{static createCaptureRule(t,a,o,r,s){return t.registerRule(n=>new gu(a,n,o,r,s))}static getCompiledRuleId(t,a,o){return t.id||a.registerRule(r=>{if(t.id=r,t.match)return new wu(t.$vscodeTextmateLocation,t.id,t.name,t.match,me._compileCaptures(t.captures,a,o));if(typeof t.begin>"u"){t.repository&&(o=Cs({},o,t.repository));let s=t.patterns;return typeof s>"u"&&t.include&&(s=[{include:t.include}]),new hs(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,me._compilePatterns(s,a,o))}return t.while?new pa(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,me._compileCaptures(t.beginCaptures||t.captures,a,o),t.while,me._compileCaptures(t.whileCaptures||t.captures,a,o),me._compilePatterns(t.patterns,a,o)):new Io(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,me._compileCaptures(t.beginCaptures||t.captures,a,o),t.end,me._compileCaptures(t.endCaptures||t.captures,a,o),t.applyEndPatternLast,me._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=me.getCompiledRuleId(t[n],a,o)),r[i]=me.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=vs(i.include);switch(u.kind){case 0:case 1:l=me.getCompiledRuleId(o[i.include],a,o);break;case 2:let f=o[u.ruleName];f&&(l=me.getCompiledRuleId(f,a,o));break;case 3:case 4:let d=u.scopeName,p=u.kind===4?u.ruleName:null,c=a.getExternalGrammar(d,o);if(c)if(p){let m=c.repository[p];m&&(l=me.getCompiledRuleId(m,a,c.repository))}else l=me.getCompiledRuleId(c.repository.$self,a,c.repository);break}}else l=me.getCompiledRuleId(i,a,o);if(l!==-1){let u=a.getRule(l),f=!1;if((u instanceof hs||u instanceof Io||u instanceof pa)&&u.hasMissingPatterns&&u.patterns.length===0&&(f=!0),f)continue;r.push(l)}}return{patterns:r,hasMissingPatterns:(t?t.length:0)!==r.length}}},Rt=class Fs{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=mu.test(this.source):this.hasBackReferences=!1}clone(){return new Fs(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 ms.lastIndex=0,this.source.replace(ms,(r,s)=>ks(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}},Ft=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 gs(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 gs(e,o,this._items.map(r=>r.ruleId))}},gs=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(`
|
|
3
|
+
`)}findNextMatchSync(e,t,a){let o=this.scanner.findNextMatchSync(e,t,a);return o?{ruleId:this.rules[o.index],captureIndices:o.captureIndices}:null}},wo=class{constructor(e,t){this.languageId=e,this.tokenType=t}},xu=class So{_defaultAttributes;_embeddedLanguagesMatcher;constructor(t,a){this._defaultAttributes=new wo(t,8),this._embeddedLanguagesMatcher=new Lu(Object.entries(a||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?So._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new wo(0,0);_getBasicScopeAttributes=new bs(t=>{let a=this._scopeToLanguage(t),o=this._toStandardTokenType(t);return new wo(a,o)});_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){let a=t.match(So.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/},Lu=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])=>ks(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])}},Kh={InDebugMode:typeof process<"u"&&!!process.env.VSCODE_TEXTMATE_DEBUG},Bs=!1,ws=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function Ds(e,t,a,o,r,s,n,i){let l=t.content.length,u=!1,f=-1;if(n){let c=Cu(e,t,a,o,r,s);r=c.stack,o=c.linePos,a=c.isFirstLine,f=c.anchorPosition}let d=Date.now();for(;!u;){if(i!==0&&Date.now()-d>i)return new ws(r,!0);p()}return new ws(r,!1);function p(){let c=Iu(e,t,a,o,r,f);if(!c){s.produce(r,l),u=!0;return}let m=c.captureIndices,C=c.matchedRuleId,x=m&&m.length>0?m[0].end>o:!1;if(C===hu){let w=r.getRule(e);s.produce(r,m[0].start),r=r.withContentNameScopesList(r.nameScopesList),Pt(e,t,a,r,s,w.endCaptures,m),s.produce(r,m[0].end);let g=r;if(r=r.parent,f=g.getAnchorPos(),!x&&g.getEnterPos()===o){r=g,s.produce(r,l),u=!0;return}}else{let w=e.getRule(C);s.produce(r,m[0].start);let g=r,h=w.getName(t.content,m),L=r.contentNameScopesList.pushAttributed(h,e);if(r=r.push(C,o,f,m[0].end===l,null,L,L),w instanceof Io){let y=w;Pt(e,t,a,r,s,y.beginCaptures,m),s.produce(r,m[0].end),f=m[0].end;let T=y.getContentName(t.content,m),v=L.pushAttributed(T,e);if(r=r.withContentNameScopesList(v),y.endHasBackReferences&&(r=r.withEndRule(y.getEndWithResolvedBackReferences(t.content,m))),!x&&g.hasSameRuleAs(r)){r=r.pop(),s.produce(r,l),u=!0;return}}else if(w instanceof pa){let y=w;Pt(e,t,a,r,s,y.beginCaptures,m),s.produce(r,m[0].end),f=m[0].end;let T=y.getContentName(t.content,m),v=L.pushAttributed(T,e);if(r=r.withContentNameScopesList(v),y.whileHasBackReferences&&(r=r.withEndRule(y.getWhileWithResolvedBackReferences(t.content,m))),!x&&g.hasSameRuleAs(r)){r=r.pop(),s.produce(r,l),u=!0;return}}else if(Pt(e,t,a,r,s,w.captures,m),s.produce(r,m[0].end),r=r.pop(),!x){r=r.safePop(),s.produce(r,l),u=!0;return}}m[0].end>o&&(o=m[0].end,a=!1)}}function Cu(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 pa&&i.push({rule:u,stack:l})}for(let l=i.pop();l;l=i.pop()){let{ruleScanner:u,findOptions:f}=ku(l.rule,e,l.stack.endRule,a,o===n),d=u.findNextMatchSync(t,o,f);if(d){if(d.ruleId!==Ms){r=l.stack.pop();break}d.captureIndices&&d.captureIndices.length&&(s.produce(l.stack,d.captureIndices[0].start),Pt(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 Iu(e,t,a,o,r,s){let n=Su(e,t,a,o,r,s),i=e.getInjections();if(i.length===0)return n;let l=yu(i,e,t,a,o,r,s);if(!l)return n;if(!n)return l;let u=n.captureIndices[0].start,f=l.captureIndices[0].start;return f<u||l.priorityMatch&&f===u?l:n}function Su(e,t,a,o,r,s){let n=r.getRule(e),{ruleScanner:i,findOptions:l}=Es(n,e,r.endRule,a,o===s),u=i.findNextMatchSync(t,o,l);return u?{captureIndices:u.captureIndices,matchedRuleId:u.ruleId}:null}function yu(e,t,a,o,r,s,n){let i=Number.MAX_VALUE,l=null,u,f=0,d=s.contentNameScopesList.getScopeNames();for(let p=0,c=e.length;p<c;p++){let m=e[p];if(!m.matcher(d))continue;let C=t.getRule(m.ruleId),{ruleScanner:x,findOptions:w}=Es(C,t,null,o,r===n),g=x.findNextMatchSync(a,r,w);if(!g)continue;let h=g.captureIndices[0].start;if(!(h>=i)&&(i=h,l=g.captureIndices,u=g.ruleId,f=m.priority,i===r))break}return l?{priorityMatch:f===-1,captureIndices:l,matchedRuleId:u}:null}function Es(e,t,a,o,r){if(Bs){let n=e.compile(t,a),i=_s(o,r);return{ruleScanner:n,findOptions:i}}return{ruleScanner:e.compileAG(t,a,o,r),findOptions:0}}function ku(e,t,a,o,r){if(Bs){let n=e.compileWhile(t,a),i=_s(o,r);return{ruleScanner:n,findOptions:i}}return{ruleScanner:e.compileWhileAG(t,a,o,r),findOptions:0}}function _s(e,t){let a=0;return e||(a|=1),t||(a|=4),a}function Pt(e,t,a,o,r,s,n){if(s.length===0)return;let i=t.content,l=Math.min(s.length,n.length),u=[],f=n[0].end;for(let d=0;d<l;d++){let p=s[d];if(p===null)continue;let c=n[d];if(c.length===0)continue;if(c.start>f)break;for(;u.length>0&&u[u.length-1].endPos<=c.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,c.start):r.produce(o,c.start),p.retokenizeCapturedWithRuleId){let C=p.getName(i,n),x=o.contentNameScopesList.pushAttributed(C,e),w=p.getContentName(i,n),g=x.pushAttributed(w,e),h=o.push(p.retokenizeCapturedWithRuleId,c.start,-1,!1,null,x,g),L=e.createOnigString(i.substring(0,c.end));Ds(e,L,a&&c.start===0,c.start,h,r,!1,0),As(L);continue}let m=p.getName(i,n);if(m!==null){let x=(u.length>0?u[u.length-1].scopes:o.contentNameScopesList).pushAttributed(m,e);u.push(new bu(x,c.end))}}for(;u.length>0;)r.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop()}var bu=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function Tu(e,t,a,o,r,s,n,i){return new Au(e,t,a,o,r,s,n,i)}function xs(e,t,a,o,r){let s=fa(t,ma),n=Rs.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 ma(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(Pu(t[r],o))return a=r+1,!0;return!1})}function Pu(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 Au=class{constructor(e,t,a,o,r,s,n,i){if(this._rootScopeName=e,this.balancedBracketSelectors=s,this._onigLib=i,this._basicScopeAttributesProvider=new xu(a,o),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=n,this._grammar=Ls(t,null),this._injections=null,this._tokenTypeMatchers=[],r)for(let l of Object.keys(r)){let u=fa(l,ma);for(let f of u)this._tokenTypeMatchers.push({matcher:f.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)xs(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&&xs(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]=Ls(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=Rs.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let r;if(!t||t===yo.NULL){r=!0;let u=this._basicScopeAttributesProvider.getDefaultAttributes(),f=this.themeProvider.getDefaults(),d=Ze.set(0,u.languageId,u.tokenType,null,f.fontStyle,f.foregroundId,f.backgroundId),p=this.getRule(this._rootId).getName(null,null),c;p?c=At.createRootAndLookUpScopeName(p,d,this):c=At.createRoot("unknown",d),t=new yo(null,this._rootId,-1,-1,!1,null,c,c)}else r=!1,t.reset();e=e+`
|
|
4
|
+
`;let s=this.createOnigString(e),n=s.content.length,i=new Mu(a,e,this._tokenTypeMatchers,this.balancedBracketSelectors),l=Ds(this,s,r,0,t,i,!0,o);return As(s),{lineLength:n,lineTokens:i,ruleStack:l.stack,stoppedEarly:l.stoppedEarly}}};function Ls(e,t){return e=$l(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 At=class Me{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=go.push(r,s.scopeNames),o=new Me(o,r,s.encodedTokenAttributes);return o}static createRoot(t,a){return new Me(null,new go(null,t),a)}static createRootAndLookUpScopeName(t,a,o){let r=o.getMetadataForScope(t),s=new go(null,t),n=o.themeProvider.themeMatch(s),i=Me.mergeAttributes(a,r,n);return new Me(null,s,i)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return Me.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),Ze.set(t,a.languageId,a.tokenType,null,r,s,n)}pushAttributed(t,a){if(t===null)return this;if(t.indexOf(" ")===-1)return Me._pushAttributed(this,t,a);let o=t.split(/ /g),r=this;for(let s of o)r=Me._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=Me.mergeAttributes(t.tokenAttributes,r,n);return new Me(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}},yo=class Je{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 Je(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:Je._equals(this,t)}static _equals(t,a){return t===a?!0:this._structuralEquals(t,a)?At.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(){Je._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,a,o,r,s,n,i){return new Je(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 Je(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=At.fromExtension(t?.nameScopesList??null,a.nameScopesList);return new Je(t,a.ruleId,a.enterPos??-1,a.anchorPos??-1,a.beginRuleCapturedEOL,a.endRule,o,At.fromExtension(o,a.contentNameScopesList))}},vu=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(a=>a==="*"?(this.allowAny=!0,[]):fa(a,ma).map(o=>o.matcher)),this.unbalancedBracketScopes=t.flatMap(a=>fa(a,ma).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}},Mu=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=Ze.set(o,0,n.type,null,-1,0,0));this.balancedBracketSelectors&&(r=this.balancedBracketSelectors.match(s))}if(r&&(o=Ze.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}},Ru=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,Tu(e,s,t,a,o,r,this,this._onigLib))}return this._grammars.get(e)}},Ns=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new Ru(vt.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(vt.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 vu(a.balancedBracketSelectors||[],a.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,a,o,r){let s=new iu(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)}},ha=yo.NULL;var Fu=/["&'<>`]/g,Bu=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Du=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,Eu=/[|\\{}()[\]^$+*?.]/g,Os=new WeakMap;function Us(e,t){if(e=e.replace(t.subset?_u(t.subset):Fu,o),t.subset||t.escapeOnly)return e;return e.replace(Bu,a).replace(Du,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 _u(e){let t=Os.get(e);return t||(t=Nu(e),Os.set(e,t)),t}function Nu(e){let t=[],a=-1;for(;++a<e.length;)t.push(e[a].replace(Eu,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}var Ou=/[\dA-Fa-f]/;function Hs(e,t,a){let o="&#x"+e.toString(16).toUpperCase();return a&&t&&!Ou.test(String.fromCharCode(t))?o:o+";"}var Uu=/\d/;function qs(e,t,a){let o="&#"+String(e);return a&&t&&!Uu.test(String.fromCharCode(t))?o:o+";"}var Gs=["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"];var ga={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"};var Ws=["cent","copy","divide","gt","lt","not","para","times"];var zs={}.hasOwnProperty,bo={},wa;for(wa in ga)zs.call(ga,wa)&&(bo[ga[wa]]=wa);var Hu=/[^\dA-Za-z]/;function js(e,t,a,o){let r=String.fromCharCode(e);if(zs.call(bo,r)){let s=bo[r],n="&"+s;return a&&Gs.includes(s)&&!Ws.includes(s)&&(!o||t&&t!==61&&Hu.test(String.fromCharCode(t)))?n:n+";"}return""}function Vs(e,t,a){let o=Hs(e,t,a.omitOptionalSemicolons),r;if((a.useNamedReferences||a.useShortestReferences)&&(r=js(e,t,a.omitOptionalSemicolons,a.attribute)),(a.useShortestReferences||!r)&&a.useShortestReferences){let s=qs(e,t,a.omitOptionalSemicolons);s.length<o.length&&(o=s)}return r&&(!a.useShortestReferences||r.length<o.length)?r:o}function De(e,t){return Us(e,Object.assign({format:Vs},t))}var qu=/^>|^->|<!--|-->|--!>|<!-$/g,Gu=[">"],Wu=["<",">"];function $s(e,t,a,o){return o.settings.bogusComments?"<?"+De(e.value,Object.assign({},o.settings.characterReferences,{subset:Gu}))+">":"<!--"+e.value.replace(qu,r)+"-->";function r(s){return De(s,Object.assign({},o.settings.characterReferences,{subset:Wu}))}}function Xs(e,t,a,o){return"<!"+(o.settings.upperDoctype?"DOCTYPE":"doctype")+(o.settings.tightDoctype?"":" ")+"html>"}var Z=Qs(1),To=Qs(-1),zu=[];function Qs(e){return t;function t(a,o,r){let s=a?a.children:zu,n=(o||0)+e,i=s[n];if(!r)for(;i&&st(i);)n+=e,i=s[n];return i}}var ju={}.hasOwnProperty;function xa(e){return t;function t(a,o,r){return ju.call(e,a.tagName)&&e[a.tagName](a,o,r)}}var Dt=xa({body:$u,caption:Po,colgroup:Po,dd:Ju,dt:Ku,head:Po,html:Vu,li:Qu,optgroup:Zu,option:Yu,p:Xu,rp:Ks,rt:Ks,tbody:td,td:Js,tfoot:ad,th:Js,thead:ed,tr:od});function Po(e,t,a){let o=Z(a,t,!0);return!o||o.type!=="comment"&&!(o.type==="text"&&st(o.value.charAt(0)))}function Vu(e,t,a){let o=Z(a,t);return!o||o.type!=="comment"}function $u(e,t,a){let o=Z(a,t);return!o||o.type!=="comment"}function Xu(e,t,a){let o=Z(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 Qu(e,t,a){let o=Z(a,t);return!o||o.type==="element"&&o.tagName==="li"}function Ku(e,t,a){let o=Z(a,t);return!!(o&&o.type==="element"&&(o.tagName==="dt"||o.tagName==="dd"))}function Ju(e,t,a){let o=Z(a,t);return!o||o.type==="element"&&(o.tagName==="dt"||o.tagName==="dd")}function Ks(e,t,a){let o=Z(a,t);return!o||o.type==="element"&&(o.tagName==="rp"||o.tagName==="rt")}function Zu(e,t,a){let o=Z(a,t);return!o||o.type==="element"&&o.tagName==="optgroup"}function Yu(e,t,a){let o=Z(a,t);return!o||o.type==="element"&&(o.tagName==="option"||o.tagName==="optgroup")}function ed(e,t,a){let o=Z(a,t);return!!(o&&o.type==="element"&&(o.tagName==="tbody"||o.tagName==="tfoot"))}function td(e,t,a){let o=Z(a,t);return!o||o.type==="element"&&(o.tagName==="tbody"||o.tagName==="tfoot")}function ad(e,t,a){return!Z(a,t)}function od(e,t,a){let o=Z(a,t);return!o||o.type==="element"&&o.tagName==="tr"}function Js(e,t,a){let o=Z(a,t);return!o||o.type==="element"&&(o.tagName==="td"||o.tagName==="th")}var Zs=xa({body:nd,colgroup:id,head:sd,html:rd,tbody:ld});function rd(e){let t=Z(e,-1);return!t||t.type!=="comment"}function sd(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 nd(e){let t=Z(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&st(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function id(e,t,a){let o=To(a,t),r=Z(e,-1,!0);return a&&o&&o.type==="element"&&o.tagName==="colgroup"&&Dt(o,a.children.indexOf(o),a)?!1:!!(r&&r.type==="element"&&r.tagName==="col")}function ld(e,t,a){let o=To(a,t),r=Z(e,-1);return a&&o&&o.type==="element"&&(o.tagName==="thead"||o.tagName==="tbody")&&Dt(o,a.children.indexOf(o),a)?!1:!!(r&&r.type==="element"&&r.tagName==="tr")}var La={name:[[`
|
|
5
5
|
\f\r &/=>`.split(""),`
|
|
6
6
|
\f\r "&'/=>\``.split("")],[`\0
|
|
7
7
|
\f\r "&'/<=>`.split(""),`\0
|
|
@@ -9,11 +9,11 @@ import{a as pr,b as mr,c as hr,d as ot,e as rt,f as $t,g as gr,h as wr,i as xr,j
|
|
|
9
9
|
\f\r &>`.split(""),`\0
|
|
10
10
|
\f\r "&'<=>\``.split("")],[`\0
|
|
11
11
|
\f\r "&'<=>\``.split(""),`\0
|
|
12
|
-
\f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function Ys(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=Xt);let u=ud(o,e.properties),f=o.all(r.space==="html"&&e.tagName==="template"?e.content:e);return o.schema=r,f&&(n=!1),(u||!s||!Zs(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(f),!n&&(!s||!Dt(e,t,a))&&i.push("</"+e.tagName+">"),i.join("")}function ud(e,t){let a=[],o=-1,r;if(t){for(r in t)if(t[r]!==null&&t[r]!==void 0){let s=dd(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 dd(e,t,a){let o=xr(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=Ee(o.attribute,Object.assign({},e.settings.characterReferences,{subset:Ca.name[r][s]}));return a===!0||(a=Array.isArray(a)?(o.commaSeparated?Ir:Sr)(a,{padLeft:!e.settings.tightCommaSeparatedLists}):String(a),e.settings.collapseEmptyAttributes&&!a)?l:(e.settings.preferUnquoted&&(i=Ee(a,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:Ca.unquoted[r][s]}))),i!==a&&(e.settings.quoteSmart&&to(a,n)>to(a,e.alternative)&&(n=e.alternative),i=n+Ee(a,Object.assign({},e.settings.characterReferences,{subset:(n==="'"?Ca.single:Ca.double)[r][s],attribute:!0}))+n),l+(i&&"="+i))}var fd=["<","&"];function Ia(e,t,a,o){return a&&a.type==="element"&&(a.tagName==="script"||a.tagName==="style")?e.value:Ee(e.value,Object.assign({},o.settings.characterReferences,{subset:fd}))}function en(e,t,a,o){return o.settings.allowDangerousHtml?e.value:Ia(e,t,a,o)}function tn(e,t,a,o){return o.all(e)}var an=Cr("type",{invalid:cd,unknown:pd,handlers:{comment:$s,doctype:Xs,element:Ys,raw:en,root:tn,text:Ia}});function cd(e){throw new Error("Expected node, not `"+e+"`")}function pd(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var md={},hd={},gd=[];function Ao(e,t){let a=t||md,o=a.quote||'"',r=o==='"'?"'":'"';if(o!=='"'&&o!=="'")throw new Error("Invalid quote `"+o+"`, expected `'` or `\"`");return{one:wd,all:xd,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||wr,characterReferences:a.characterReferences||hd,closeSelfClosing:a.closeSelfClosing||!1,closeEmptyElements:a.closeEmptyElements||!1},schema:a.space==="svg"?Xt:Lr,quote:o,alternative:r}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function wd(e,t,a){return an(e,t,a,this)}function xd(e){let t=[],a=e&&e.children||gd,o=-1;for(;++o<a.length;)t[o]=this.one(a[o],o,e);return t.join("")}function Sa(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 Ge(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function Ld(e){return Array.isArray(e)?e:[e]}async function dn(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function Do(e){return!e||["plaintext","txt","text","plain"].includes(e)}function fn(e){return e==="ansi"||Do(e)}function Eo(e){return e==="none"}function cn(e){return Eo(e)}function pn(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 Pa(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 Cd(e){let t=Pa(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 mn(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 _o="light-dark()",Id=["color","background-color"];function Sd(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 yd(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?Sd(r,s):r})):e}function kd(e,t,a,o,r="css-vars"){let s={content:e.content,explanation:e.explanation,offset:e.offset},n=t.map(f=>ya(e.variants[f])),i=new Set(n.flatMap(f=>Object.keys(f))),l={},u=(f,d)=>{let p=d==="color"?"":d==="background-color"?"-bg":`-${d}`;return a+t[f]+(d==="color"?"":p)};return n.forEach((f,d)=>{for(let p of i){let c=f[p]||"inherit";if(d===0&&o&&Id.includes(p))if(o===_o&&n.length>1){let m=t.findIndex(g=>g==="light"),C=t.findIndex(g=>g==="dark");if(m===-1||C===-1)throw new K('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let x=n[m][p]||"inherit",w=n[C][p]||"inherit";l[p]=`light-dark(${x}, ${w})`,r==="css-vars"&&(l[u(d,p)]=c)}else l[p]=c;else r==="css-vars"&&(l[u(d,p)]=c)}}),s.htmlStyle=l,s}function ya(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t["background-color"]=e.bgColor),e.fontStyle){e.fontStyle&ce.Italic&&(t["font-style"]="italic"),e.fontStyle&ce.Bold&&(t["font-weight"]="bold");let a=[];e.fontStyle&ce.Underline&&a.push("underline"),e.fontStyle&ce.Strikethrough&&a.push("line-through"),a.length&&(t["text-decoration"]=a.join(" "))}return t}function Ro(e){return typeof e=="string"?e:Object.entries(e).map(([t,a])=>`${t}:${a}`).join(";")}var hn=new WeakMap;function Aa(e,t){hn.set(e,t)}function _t(e){return hn.get(e)}var ut=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(Ld(a).map(o=>[o,ga])),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 bd(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function bd(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 Td(e,t){if(!(e instanceof ut))throw new K("Invalid grammar state");return e.getInternalStack(t)}function Pd(){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 K(`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 K(`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 K(`Invalid decoration position ${JSON.stringify(n)}. Line ${n.line} length: ${i.length}`);return{...n,character:l,offset:r.posToIndex(n.line,l)}}},r=Cd(a.source),s=(a.options.decorations||[]).map(n=>({...n,start:o(n.start),end:o(n.end)}));Ad(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 yd(a,r)},code(a){if(!this.options.decorations?.length)return;let o=t(this),r=Array.from(a.children).filter(f=>f.type==="element"&&f.tagName==="span");if(r.length!==o.converter.lines.length)throw new K(`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(f,d,p,c){let m=r[f],C="",x=-1,w=-1;if(d===0&&(x=0),p===0&&(w=0),p===Number.POSITIVE_INFINITY&&(w=m.children.length),x===-1||w===-1)for(let h=0;h<m.children.length;h++)C+=gn(m.children[h]),x===-1&&C.length===d&&(x=h+1),w===-1&&C.length===p&&(w=h+1);if(x===-1)throw new K(`Failed to find start index for decoration ${JSON.stringify(c.start)}`);if(w===-1)throw new K(`Failed to find end index for decoration ${JSON.stringify(c.end)}`);let g=m.children.slice(x,w);if(!c.alwaysWrap&&g.length===m.children.length)i(m,c,"line");else if(!c.alwaysWrap&&g.length===1&&g[0].type==="element")i(g[0],c,"token");else{let h={type:"element",tagName:"span",properties:{},children:g};i(h,c,"wrapper"),m.children.splice(x,g.length,h)}}function n(f,d){r[f]=i(r[f],d,"line")}function i(f,d,p){let c=d.properties||{},m=d.transform||(C=>C);return f.tagName=d.tagName||"span",f.properties={...f.properties,...c,class:f.properties.class},d.properties?.class&&pn(f,d.properties.class),f=m(f,p)||f,f}let l=[],u=o.decorations.sort((f,d)=>d.start.offset-f.start.offset||f.end.offset-d.end.offset);for(let f of u){let{start:d,end:p}=f;if(d.line===p.line)s(d.line,d.character,p.character,f);else if(d.line<p.line){s(d.line,d.character,Number.POSITIVE_INFINITY,f);for(let c=d.line+1;c<p.line;c++)l.unshift(()=>n(c,f));s(p.line,0,p.character,f)}}l.forEach(f=>f())}}}function Ad(e){for(let t=0;t<e.length;t++){let a=e[t];if(a.start.offset>a.end.offset)throw new K(`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 K(`Decorations ${JSON.stringify(a.start)} and ${JSON.stringify(r.start)} intersect.`)}}}}function gn(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(gn).join(""):""}var vd=[Pd()];function ka(e){let t=Md(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...vd]}function Md(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 Ye=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],vo={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function Rd(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 on(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 Fd(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)vo[o]&&t.push({type:"setDecoration",value:vo[o]});else if(o<=29){let r=vo[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:Ye[o-30]}});else if(o===38){let r=on(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:Ye[o-40]}});else if(o===48){let r=on(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:Ye[o-90+8]}}):o>=100&&o<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:Ye[o-100+8]}})}return t}function Bd(){let e=null,t=null,a=new Set;return{parse(o){let r=[],s=0;do{let n=Rd(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=Fd(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 Dd={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 Ed(e=Dd){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<Ye.length;u++)o.push(t(Ye[u]));let i=[0,95,135,175,215,255];for(let u=0;u<6;u++)for(let f=0;f<6;f++)for(let d=0;d<6;d++)o.push(a([i[u],i[f],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 _d={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 Nd(e,t,a){let o=Sa(e,a),r=Pa(t),s=Object.fromEntries(Ye.map(l=>{let u=`terminal.ansi${l[0].toUpperCase()}${l.substring(1)}`,f=e.colors?.[u];return[l,f||_d[l]]})),n=Ed(s),i=Bd();return r.map(l=>i.parse(l[0]).map(u=>{let f,d;u.decorations.has("reverse")?(f=u.background?n.value(u.background):e.bg,d=u.foreground?n.value(u.foreground):e.fg):(f=u.foreground?n.value(u.foreground):e.fg,d=u.background?n.value(u.background):void 0),f=Ge(f,o),d=Ge(d,o),u.decorations.has("dim")&&(f=Od(f));let p=ce.None;return u.decorations.has("bold")&&(p|=ce.Bold),u.decorations.has("italic")&&(p|=ce.Italic),u.decorations.has("underline")&&(p|=ce.Underline),u.decorations.has("strikethrough")&&(p|=ce.Strikethrough),{content:u.value,offset:l[1],color:f,bgColor:d,fontStyle:p}}))}function Od(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 No(e,t,a={}){let{theme:o=e.getLoadedThemes()[0]}=a,r=e.resolveLangAlias(a.lang||"text");if(Do(r)||Eo(o))return Pa(t).map(l=>[{content:l[0],offset:l[1]}]);let{theme:s,colorMap:n}=e.setTheme(o);if(r==="ansi")return Nd(s,t,a);let i=e.getLanguage(a.lang||"text");if(a.grammarState){if(a.grammarState.lang!==i.name)throw new K(`Grammar state language "${a.grammarState.lang}" does not match highlight language "${i.name}"`);if(!a.grammarState.themes.includes(s.name))throw new K(`Grammar state themes "${a.grammarState.themes}" do not contain highlight theme "${s.name}"`)}return Hd(t,i,s,n,a)}function Ud(...e){if(e.length===2)return _t(e[1]);let[t,a,o={}]=e,{lang:r="text",theme:s=t.getLoadedThemes()[0]}=o;if(Do(r)||Eo(s))throw new K("Plain language does not have grammar state");if(r==="ansi")throw new K("ANSI language does not have grammar state");let{theme:n,colorMap:i}=t.setTheme(s),l=t.getLanguage(r);return new ut(Oo(a,l,n,i,o).stateStack,l.name,n.name)}function Hd(e,t,a,o,r){let s=Oo(e,t,a,o,r),n=new ut(s.stateStack,t.name,a.name);return Aa(s.tokens,n),s.tokens}function Oo(e,t,a,o,r){let s=Sa(a,r),{tokenizeMaxLineLength:n=0,tokenizeTimeLimit:i=500}=r,l=Pa(e),u=r.grammarState?Td(r.grammarState,a.name)??ga:r.grammarContextCode!=null?Oo(r.grammarContextCode,t,a,o,{...r,grammarState:void 0,grammarContextCode:void 0}).stateStack:ga,f=[],d=[];for(let p=0,c=l.length;p<c;p++){let[m,C]=l[p];if(m===""){f=[],d.push([]);continue}if(n>0&&m.length>=n){f=[],d.push([{content:m,offset:C,color:"",fontStyle:0}]);continue}let x,w,g;r.includeExplanation&&(x=t.tokenizeLine(m,u,i),w=x.tokens,g=0);let h=t.tokenizeLine2(m,u,i),L=h.tokens.length/2;for(let y=0;y<L;y++){let T=h.tokens[2*y],v=y+1<L?h.tokens[2*y+2]:m.length;if(T===v)continue;let R=h.tokens[2*y+1],N=Ge(o[Ze.getForeground(R)],s),F=Ze.getFontStyle(R),k={content:m.substring(T,v),offset:C+T,color:N,fontStyle:F};if(r.includeExplanation){let I=[];if(r.includeExplanation!=="scopeName")for(let W of a.settings){let H;switch(typeof W.scope){case"string":H=W.scope.split(/,/).map(ie=>ie.trim());break;case"object":H=W.scope;break;default:continue}I.push({settings:W,selectors:H.map(ie=>ie.split(/ /))})}k.explanation=[];let U=0;for(;T+U<v;){let W=w[g],H=m.substring(W.startIndex,W.endIndex);U+=H.length,k.explanation.push({content:H,scopes:r.includeExplanation==="scopeName"?qd(W.scopes):Gd(I,W.scopes)}),g+=1}}f.push(k)}d.push(f),f=[],u=h.ruleStack}return{tokens:d,stateStack:u}}function qd(e){return e.map(t=>({scopeName:t}))}function Gd(e,t){let a=[];for(let o=0,r=t.length;o<r;o++){let s=t[o];a[o]={scopeName:s,themeMatches:zd(e,s,t.slice(0,o))}}return a}function rn(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function Wd(e,t,a){if(!rn(e[e.length-1],t))return!1;let o=e.length-2,r=a.length-1;for(;o>=0&&r>=0;)rn(e[o],a[r])&&(o-=1),r-=1;return o===-1}function zd(e,t,a){let o=[];for(let{selectors:r,settings:s}of e)for(let n of r)if(Wd(n,t,a)){o.push(s);break}return o}function wn(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=No(e,t,{...a,theme:l.theme}),f=_t(u),d=typeof l.theme=="string"?l.theme:l.theme.name;return{tokens:u,state:f,theme:d}}),s=jd(...r.map(l=>l.tokens)),n=s[0].map((l,u)=>l.map((f,d)=>{let p={content:f.content,variants:{},offset:f.offset};return"includeExplanation"in a&&a.includeExplanation&&(p.explanation=f.explanation),s.forEach((c,m)=>{let{content:C,explanation:x,offset:w,...g}=c[u][d];p.variants[o[m].color]=g}),p})),i=r[0].state?new ut(Object.fromEntries(r.map(l=>[l.theme,l.state?.getInternalStack(l.theme)])),r[0].state.lang):void 0;return i&&Aa(n,i),n}function jd(...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 f=i[u];f.content.length===l?(s[u].push(f),n[u]+=1,i[u]=r[u][n[u]]):(s[u].push({...f,content:f.content.slice(0,l)}),i[u]={...f,content:f.content.slice(l),offset:f.offset+l})}}}return t}function ba(e,t,a){let o,r,s,n,i,l;if("themes"in a){let{defaultColor:u="light",cssVariablePrefix:f="--shiki-",colorsRendering:d="css-vars"}=a,p=Object.entries(a.themes).filter(w=>w[1]).map(w=>({color:w[0],theme:w[1]})).sort((w,g)=>w.color===u?-1:g.color===u?1:0);if(p.length===0)throw new K("`themes` option must not be empty");let c=wn(e,t,a);if(l=_t(c),u&&_o!==u&&!p.find(w=>w.color===u))throw new K(`\`themes\` option must contain the defaultColor key \`${u}\``);let m=p.map(w=>e.getTheme(w.theme)),C=p.map(w=>w.color);s=c.map(w=>w.map(g=>kd(g,C,f,u,d))),l&&Aa(s,l);let x=p.map(w=>Sa(w.theme,a));r=sn(p,m,x,f,u,"fg",d),o=sn(p,m,x,f,u,"bg",d),n=`shiki-themes ${m.map(w=>w.name).join(" ")}`,i=u?void 0:[r,o].join(";")}else if("theme"in a){let u=Sa(a.theme,a);s=No(e,t,a);let f=e.getTheme(a.theme);o=Ge(f.bg,u),r=Ge(f.fg,u),n=f.name,l=_t(s)}else throw new K("Invalid options, either `theme` or `themes` must be provided");return{tokens:s,fg:r,bg:o,themeName:n,rootStyle:i,grammarState:l}}function sn(e,t,a,o,r,s,n){return e.map((i,l)=>{let u=Ge(t[l][s],a[l])||"inherit",f=`${o+i.color}${s==="bg"?"-bg":""}:${u}`;if(l===0&&r){if(r===_o&&e.length>1){let d=e.findIndex(C=>C.color==="light"),p=e.findIndex(C=>C.color==="dark");if(d===-1||p===-1)throw new K('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let c=Ge(t[d][s],a[d])||"inherit",m=Ge(t[p][s],a[p])||"inherit";return`light-dark(${c}, ${m});${f}`}return u}return n==="css-vars"?f:null}).filter(i=>!!i).join(";")}function Ta(e,t,a,o={meta:{},options:a,codeToHast:(r,s)=>Ta(e,r,s),codeToTokens:(r,s)=>ba(e,r,s)}){let r=t;for(let m of ka(a))r=m.preprocess?.call(o,r,a)||r;let{tokens:s,fg:n,bg:i,themeName:l,rootStyle:u,grammarState:f}=ba(e,r,a),{mergeWhitespaces:d=!0,mergeSameStyleTokens:p=!1}=a;d===!0?s=$d(s):d==="never"&&(s=Xd(s)),p&&(s=Qd(s));let c={...o,get source(){return r}};for(let m of ka(a))s=m.tokens?.call(c,s)||s;return Vd(s,{...a,fg:n,bg:i,themeName:l,rootStyle:a.rootStyle===!1?!1:a.rootStyle??u},c,f)}function Vd(e,t,a,o=_t(e)){let r=ka(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[C,x]of Object.entries(t.meta||{}))C.startsWith("_")||(u[C]=x);let f={type:"element",tagName:"pre",properties:u,children:[],data:t.data},d={type:"element",tagName:"code",properties:{},children:s},p=[],c={...a,structure:i,addClassToHast:pn,get source(){return a.source},get tokens(){return e},get options(){return t},get root(){return n},get pre(){return f},get code(){return d},get lines(){return p}};if(e.forEach((C,x)=>{x&&(i==="inline"?n.children.push({type:"element",tagName:"br",properties:{},children:[]}):i==="classic"&&s.push({type:"text",value:`
|
|
13
|
-
`}));let w={type:"element",tagName:"span",properties:{class:"line"},children:[]},g=0;for(let h of C){let L={type:"element",tagName:"span",properties:{...h.htmlAttrs},children:[{type:"text",value:h.content}]},y=Ro(h.htmlStyle||ya(h));y&&(L.properties.style=y);for(let T of r)L=T?.span?.call(c,L,x+1,g,w,h)||L;i==="inline"?n.children.push(L):i==="classic"&&w.children.push(L),g+=h.content.length}if(i==="classic"){for(let h of r)w=h?.line?.call(c,w,x+1)||w;p.push(w),s.push(w)}else i==="inline"&&p.push(w)}),i==="classic"){for(let C of r)d=C?.code?.call(c,d)||d;f.children.push(d);for(let C of r)f=C?.pre?.call(c,f)||f;n.children.push(f)}else if(i==="inline"){let C=[],x={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(let h of n.children)h.type==="element"&&h.tagName==="br"?(C.push(x),x={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(h.type==="element"||h.type==="text")&&x.children.push(h);C.push(x);let g={type:"element",tagName:"code",properties:{},children:C};for(let h of r)g=h?.code?.call(c,g)||g;n.children=[];for(let h=0;h<g.children.length;h++){h>0&&n.children.push({type:"element",tagName:"br",properties:{},children:[]});let L=g.children[h];L.type==="element"&&n.children.push(...L.children)}}let m=n;for(let C of r)m=C?.root?.call(c,m)||m;return o&&Aa(m,o),m}function $d(e){return e.map(t=>{let a=[],o="",r;return t.forEach((s,n)=>{let l=!(s.fontStyle&&(s.fontStyle&ce.Underline||s.fontStyle&ce.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 Xd(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 Qd(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=Ro(r.htmlStyle||ya(r)),n=Ro(o.htmlStyle||ya(o)),i=r.fontStyle&&(r.fontStyle&ce.Underline||r.fontStyle&ce.Strikethrough),l=o.fontStyle&&(o.fontStyle&ce.Underline||o.fontStyle&ce.Strikethrough);!i&&!l&&s===n?r.content+=o.content:a.push({...o})}return a})}var Kd=Ao;function Jd(e,t,a){let o={meta:{},options:a,codeToHast:(s,n)=>Ta(e,s,n),codeToTokens:(s,n)=>ba(e,s,n)},r=Kd(Ta(e,t,a,o));for(let s of ka(a))r=s.postprocess?.call(o,r,a)||r;return r}var nn={light:"#333333",dark:"#bbbbbb"},ln={light:"#fffffe",dark:"#1e1e1e"},un="__shiki_resolved";function Uo(e){if(e?.[un])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"?nn.light:nn.dark),a||(a=t.type==="light"?ln.light:ln.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 f={...i,settings:{...i.settings}};if(l){let d=n(i.settings.foreground);t.colorReplacements[d]=i.settings.foreground,f.settings.foreground=d}if(u){let d=n(i.settings.background);t.colorReplacements[d]=i.settings.background,f.settings.background=d}return f});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,un,{enumerable:!1,writable:!1,value:!0}),t}async function xn(e){return Array.from(new Set((await Promise.all(e.filter(t=>!fn(t)).map(async t=>await dn(t).then(a=>Array.isArray(a)?a:[a])))).flat()))}async function Ln(e){return(await Promise.all(e.map(async a=>cn(a)?null:Uo(await dn(a))))).filter(a=>!!a)}var Mo=3,Zd=!1;function Yd(e,t=3){if(Mo&&!(typeof Mo=="number"&&t>Mo)){if(Zd)throw new Error(`[SHIKI DEPRECATE]: ${e}`);console.trace(`[SHIKI DEPRECATE]: ${e}`)}}var qe=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Cn(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 qe(`Circular alias \`${Array.from(a).join(" -> ")} -> ${e}\``);a.add(e)}}return e}var Fo=class extends Ns{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=Uo(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=vt.createFromRawTheme(t),this._textmateThemeCache.set(t,a)),this._syncRegistry.setTheme(a)}getGrammar(t){return t=Cn(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 qe(`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))}},Bo=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}},Et=0;function ef(e){Et+=1,e.warnings!==!1&&Et>=10&&Et%10===0&&console.warn(`[Shiki] ${Et} 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 qe("`engine` option is required for synchronous mode");let a=(e.langs||[]).flat(1),o=(e.themes||[]).flat(1).map(Uo),r=new Bo(e.engine,a),s=new Fo(r,o,a,e.langAlias),n;function i(h){return Cn(h,e.langAlias)}function l(h){w();let L=s.getGrammar(typeof h=="string"?h:h.name);if(!L)throw new qe(`Language \`${h}\` not found, you may need to load it first`);return L}function u(h){if(h==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};w();let L=s.getTheme(h);if(!L)throw new qe(`Theme \`${h}\` not found, you may need to load it first`);return L}function f(h){w();let L=u(h);n!==h&&(s.setTheme(L),n=h);let y=s.getColorMap();return{theme:L,colorMap:y}}function d(){return w(),s.getLoadedThemes()}function p(){return w(),s.getLoadedLanguages()}function c(...h){w(),s.loadLanguages(h.flat(1))}async function m(...h){return c(await xn(h))}function C(...h){w();for(let L of h.flat(1))s.loadTheme(L)}async function x(...h){return w(),C(await Ln(h))}function w(){if(t)throw new qe("Shiki instance has been disposed")}function g(){t||(t=!0,s.dispose(),Et-=1)}return{setTheme:f,getTheme:u,getLanguage:l,getLoadedThemes:d,getLoadedLanguages:p,resolveLangAlias:i,loadLanguage:m,loadLanguageSync:c,loadTheme:x,loadThemeSync:C,dispose:g,[Symbol.dispose]:g}}async function tf(e){e.engine||Yd("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,a,o]=await Promise.all([Ln(e.themes||[]),xn(e.langs||[]),e.engine]);return ef({...e,themes:t,langs:a,engine:o})}async function af(e){let t=await tf(e);return{getLastGrammarState:(...a)=>Ud(t,...a),codeToTokensBase:(a,o)=>No(t,a,o),codeToTokensWithThemes:(a,o)=>wn(t,a,o),codeToTokens:(a,o)=>ba(t,a,o),codeToHast:(a,o)=>Ta(t,a,o),codeToHtml:(a,o)=>Jd(t,a,o),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function In(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,fn(d))return[];let p=t[d];if(!p)throw new K(`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(cn(d))return"none";if(typeof d=="string"){let p=a[d];if(!p)throw new K(`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)),f=await af({engine:s.engine??o(),...s,themes:l,langs:u});return{...f,loadLanguage(...d){return f.loadLanguage(...d.map(n))},loadTheme(...d){return f.loadTheme(...d.map(i))},getBundledLanguages(){return t},getBundledThemes(){return a}}}return r}function of(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 Sn(e,t){let a=of(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)}}}var Ho=[{id:"abap",name:"ABAP",import:(()=>import("../abap-KGVIZMDC.js"))},{id:"actionscript-3",name:"ActionScript",import:(()=>import("../actionscript-3-2UHK5QYP.js"))},{id:"ada",name:"Ada",import:(()=>import("../ada-JKTWR5BV.js"))},{id:"angular-html",name:"Angular HTML",import:(()=>import("../angular-html-EOIKHM3D.js"))},{id:"angular-ts",name:"Angular TypeScript",import:(()=>import("../angular-ts-A7ZNTSV6.js"))},{id:"apache",name:"Apache Conf",import:(()=>import("../apache-MPGFGQFB.js"))},{id:"apex",name:"Apex",import:(()=>import("../apex-BOAZL66Z.js"))},{id:"apl",name:"APL",import:(()=>import("../apl-QBN4KIYA.js"))},{id:"applescript",name:"AppleScript",import:(()=>import("../applescript-C4CJ3STL.js"))},{id:"ara",name:"Ara",import:(()=>import("../ara-FSFFBRSD.js"))},{id:"asciidoc",name:"AsciiDoc",aliases:["adoc"],import:(()=>import("../asciidoc-QQK2LANG.js"))},{id:"asm",name:"Assembly",import:(()=>import("../asm-X43A2VYW.js"))},{id:"astro",name:"Astro",import:(()=>import("../astro-OQUOYMBE.js"))},{id:"awk",name:"AWK",import:(()=>import("../awk-4Z3PRTF7.js"))},{id:"ballerina",name:"Ballerina",import:(()=>import("../ballerina-JCXSJ2QD.js"))},{id:"bat",name:"Batch File",aliases:["batch"],import:(()=>import("../bat-XFWR7RMZ.js"))},{id:"beancount",name:"Beancount",import:(()=>import("../beancount-7BBDB4BH.js"))},{id:"berry",name:"Berry",aliases:["be"],import:(()=>import("../berry-PQ2BEJIZ.js"))},{id:"bibtex",name:"BibTeX",import:(()=>import("../bibtex-J2PAB23I.js"))},{id:"bicep",name:"Bicep",import:(()=>import("../bicep-TNKT6R3W.js"))},{id:"blade",name:"Blade",import:(()=>import("../blade-QBDEYXMB.js"))},{id:"bsl",name:"1C (Enterprise)",aliases:["1c"],import:(()=>import("../bsl-PQW6E45S.js"))},{id:"c",name:"C",import:(()=>import("../c-PZBJFNXE.js"))},{id:"c3",name:"C3",import:(()=>import("../c3-GP7XYHE6.js"))},{id:"cadence",name:"Cadence",aliases:["cdc"],import:(()=>import("../cadence-NABGDHKY.js"))},{id:"cairo",name:"Cairo",import:(()=>import("../cairo-WQSC2GLN.js"))},{id:"clarity",name:"Clarity",import:(()=>import("../clarity-NXNSINKX.js"))},{id:"clojure",name:"Clojure",aliases:["clj"],import:(()=>import("../clojure-Y57BKRMA.js"))},{id:"cmake",name:"CMake",import:(()=>import("../cmake-LVMEA3JZ.js"))},{id:"cobol",name:"COBOL",import:(()=>import("../cobol-6DNJTKH3.js"))},{id:"codeowners",name:"CODEOWNERS",import:(()=>import("../codeowners-JYHOTXQS.js"))},{id:"codeql",name:"CodeQL",aliases:["ql"],import:(()=>import("../codeql-IWWSYR3L.js"))},{id:"coffee",name:"CoffeeScript",aliases:["coffeescript"],import:(()=>import("../coffee-NNDQ5QXC.js"))},{id:"common-lisp",name:"Common Lisp",aliases:["lisp"],import:(()=>import("../common-lisp-JKXCDYH3.js"))},{id:"coq",name:"Coq",import:(()=>import("../coq-BEHPNP64.js"))},{id:"cpp",name:"C++",aliases:["c++"],import:(()=>import("../cpp-IALOHSZA.js"))},{id:"crystal",name:"Crystal",import:(()=>import("../crystal-ZDP3FIUI.js"))},{id:"csharp",name:"C#",aliases:["c#","cs"],import:(()=>import("../csharp-ODFBXRGA.js"))},{id:"css",name:"CSS",import:(()=>import("../css-CJGL5AVH.js"))},{id:"csv",name:"CSV",import:(()=>import("../csv-LIK4TU3Z.js"))},{id:"cue",name:"CUE",import:(()=>import("../cue-UAAEAKHI.js"))},{id:"cypher",name:"Cypher",aliases:["cql"],import:(()=>import("../cypher-SZPVUQZJ.js"))},{id:"d",name:"D",import:(()=>import("../d-VSCA3XHG.js"))},{id:"dart",name:"Dart",import:(()=>import("../dart-A4PE6FIS.js"))},{id:"dax",name:"DAX",import:(()=>import("../dax-TILIKSFB.js"))},{id:"desktop",name:"Desktop",import:(()=>import("../desktop-75KK3D55.js"))},{id:"diff",name:"Diff",import:(()=>import("../diff-HOT6P45M.js"))},{id:"docker",name:"Dockerfile",aliases:["dockerfile"],import:(()=>import("../docker-FF35TY6T.js"))},{id:"dotenv",name:"dotEnv",import:(()=>import("../dotenv-FVPPHJI3.js"))},{id:"dream-maker",name:"Dream Maker",import:(()=>import("../dream-maker-SYE3ZPSJ.js"))},{id:"edge",name:"Edge",import:(()=>import("../edge-CCLQ2CKA.js"))},{id:"elixir",name:"Elixir",import:(()=>import("../elixir-F6DQGRKA.js"))},{id:"elm",name:"Elm",import:(()=>import("../elm-5QRQXDZ6.js"))},{id:"emacs-lisp",name:"Emacs Lisp",aliases:["elisp"],import:(()=>import("../emacs-lisp-NJ4S4OHV.js"))},{id:"erb",name:"ERB",import:(()=>import("../erb-HGSLHT5Y.js"))},{id:"erlang",name:"Erlang",aliases:["erl"],import:(()=>import("../erlang-APEONNZ6.js"))},{id:"fennel",name:"Fennel",import:(()=>import("../fennel-7OCMFVPS.js"))},{id:"fish",name:"Fish",import:(()=>import("../fish-BC46ME2N.js"))},{id:"fluent",name:"Fluent",aliases:["ftl"],import:(()=>import("../fluent-MXZS6EX3.js"))},{id:"fortran-fixed-form",name:"Fortran (Fixed Form)",aliases:["f","for","f77"],import:(()=>import("../fortran-fixed-form-35BC2KX6.js"))},{id:"fortran-free-form",name:"Fortran (Free Form)",aliases:["f90","f95","f03","f08","f18"],import:(()=>import("../fortran-free-form-AXRAI2HH.js"))},{id:"fsharp",name:"F#",aliases:["f#","fs"],import:(()=>import("../fsharp-JKNSQXHD.js"))},{id:"gdresource",name:"GDResource",aliases:["tscn","tres"],import:(()=>import("../gdresource-ZMKZGPZV.js"))},{id:"gdscript",name:"GDScript",aliases:["gd"],import:(()=>import("../gdscript-HNCVXEYB.js"))},{id:"gdshader",name:"GDShader",import:(()=>import("../gdshader-XAJ4QRYP.js"))},{id:"genie",name:"Genie",import:(()=>import("../genie-HEFVQZAP.js"))},{id:"gherkin",name:"Gherkin",import:(()=>import("../gherkin-OFBRDPXX.js"))},{id:"git-commit",name:"Git Commit Message",import:(()=>import("../git-commit-ZE2M3Q5H.js"))},{id:"git-rebase",name:"Git Rebase Message",import:(()=>import("../git-rebase-3N3INGLU.js"))},{id:"gleam",name:"Gleam",import:(()=>import("../gleam-NFFQFQLP.js"))},{id:"glimmer-js",name:"Glimmer JS",aliases:["gjs"],import:(()=>import("../glimmer-js-RSUW6JYN.js"))},{id:"glimmer-ts",name:"Glimmer TS",aliases:["gts"],import:(()=>import("../glimmer-ts-EZGWLX5T.js"))},{id:"glsl",name:"GLSL",import:(()=>import("../glsl-VJLRYEVJ.js"))},{id:"gn",name:"GN",import:(()=>import("../gn-UH2XQWLG.js"))},{id:"gnuplot",name:"Gnuplot",import:(()=>import("../gnuplot-K6IV6NNR.js"))},{id:"go",name:"Go",import:(()=>import("../go-BDV7RR5G.js"))},{id:"graphql",name:"GraphQL",aliases:["gql"],import:(()=>import("../graphql-YEJQLMOO.js"))},{id:"groovy",name:"Groovy",import:(()=>import("../groovy-SX7K3XGL.js"))},{id:"hack",name:"Hack",import:(()=>import("../hack-3TGPQNR2.js"))},{id:"haml",name:"Ruby Haml",import:(()=>import("../haml-335RVEQR.js"))},{id:"handlebars",name:"Handlebars",aliases:["hbs"],import:(()=>import("../handlebars-73IS6B2J.js"))},{id:"haskell",name:"Haskell",aliases:["hs"],import:(()=>import("../haskell-P5PTJARU.js"))},{id:"haxe",name:"Haxe",import:(()=>import("../haxe-RCPSSA3N.js"))},{id:"hcl",name:"HashiCorp HCL",import:(()=>import("../hcl-AKKZAVC2.js"))},{id:"hjson",name:"Hjson",import:(()=>import("../hjson-REXV6F6N.js"))},{id:"hlsl",name:"HLSL",import:(()=>import("../hlsl-AJ7VWOVL.js"))},{id:"html",name:"HTML",import:(()=>import("../html-654LNGWF.js"))},{id:"html-derivative",name:"HTML (Derivative)",import:(()=>import("../html-derivative-CMQ7BFDQ.js"))},{id:"http",name:"HTTP",import:(()=>import("../http-NEPTRAQZ.js"))},{id:"hurl",name:"Hurl",import:(()=>import("../hurl-V6ZX2Q3F.js"))},{id:"hxml",name:"HXML",import:(()=>import("../hxml-5BXJCAAU.js"))},{id:"hy",name:"Hy",import:(()=>import("../hy-SB4TMFE7.js"))},{id:"imba",name:"Imba",import:(()=>import("../imba-Y64MHYWP.js"))},{id:"ini",name:"INI",aliases:["properties"],import:(()=>import("../ini-J2OP4CNW.js"))},{id:"java",name:"Java",import:(()=>import("../java-MJKJ5GPP.js"))},{id:"javascript",name:"JavaScript",aliases:["js","cjs","mjs"],import:(()=>import("../javascript-IYAGHPR6.js"))},{id:"jinja",name:"Jinja",import:(()=>import("../jinja-WPD26JJ6.js"))},{id:"jison",name:"Jison",import:(()=>import("../jison-UYDZQBN5.js"))},{id:"json",name:"JSON",import:(()=>import("../json-5V4JESJO.js"))},{id:"json5",name:"JSON5",import:(()=>import("../json5-7SHUZD3R.js"))},{id:"jsonc",name:"JSON with Comments",import:(()=>import("../jsonc-X3Z34FN3.js"))},{id:"jsonl",name:"JSON Lines",import:(()=>import("../jsonl-6I3D2HM6.js"))},{id:"jsonnet",name:"Jsonnet",import:(()=>import("../jsonnet-PZEQIBYV.js"))},{id:"jssm",name:"JSSM",aliases:["fsl"],import:(()=>import("../jssm-GJJ25IKR.js"))},{id:"jsx",name:"JSX",import:(()=>import("../jsx-NI2J427C.js"))},{id:"julia",name:"Julia",aliases:["jl"],import:(()=>import("../julia-QPZ7EOS6.js"))},{id:"kdl",name:"KDL",import:(()=>import("../kdl-IA7HA2TL.js"))},{id:"kotlin",name:"Kotlin",aliases:["kt","kts"],import:(()=>import("../kotlin-CCRMGYMI.js"))},{id:"kusto",name:"Kusto",aliases:["kql"],import:(()=>import("../kusto-7DW25GYH.js"))},{id:"latex",name:"LaTeX",import:(()=>import("../latex-F2CTDTFG.js"))},{id:"lean",name:"Lean 4",aliases:["lean4"],import:(()=>import("../lean-MGJJWBTR.js"))},{id:"less",name:"Less",import:(()=>import("../less-WFSIMX5G.js"))},{id:"liquid",name:"Liquid",import:(()=>import("../liquid-7CFNUD3V.js"))},{id:"llvm",name:"LLVM IR",import:(()=>import("../llvm-CFQSEDXB.js"))},{id:"log",name:"Log file",import:(()=>import("../log-YQNML6LA.js"))},{id:"logo",name:"Logo",import:(()=>import("../logo-2PPKBL2M.js"))},{id:"lua",name:"Lua",import:(()=>import("../lua-RPAMRKNG.js"))},{id:"luau",name:"Luau",import:(()=>import("../luau-GR2DOH6N.js"))},{id:"make",name:"Makefile",aliases:["makefile"],import:(()=>import("../make-DQQEEPI4.js"))},{id:"markdown",name:"Markdown",aliases:["md"],import:(()=>import("../markdown-OC5ILZSY.js"))},{id:"marko",name:"Marko",import:(()=>import("../marko-XSB3CTWQ.js"))},{id:"matlab",name:"MATLAB",import:(()=>import("../matlab-YQY6FS4U.js"))},{id:"mdc",name:"MDC",import:(()=>import("../mdc-TEVTGSC7.js"))},{id:"mdx",name:"MDX",import:(()=>import("../mdx-ZIH2JLVR.js"))},{id:"mermaid",name:"Mermaid",aliases:["mmd"],import:(()=>import("../mermaid-WPX56SBB.js"))},{id:"mipsasm",name:"MIPS Assembly",aliases:["mips"],import:(()=>import("../mipsasm-IDXQRZ2B.js"))},{id:"mojo",name:"Mojo",import:(()=>import("../mojo-MH7EQVOK.js"))},{id:"moonbit",name:"MoonBit",aliases:["mbt","mbti"],import:(()=>import("../moonbit-5JDFTWKE.js"))},{id:"move",name:"Move",import:(()=>import("../move-RWSXKYDY.js"))},{id:"narrat",name:"Narrat Language",aliases:["nar"],import:(()=>import("../narrat-QJUEXMVV.js"))},{id:"nextflow",name:"Nextflow",aliases:["nf"],import:(()=>import("../nextflow-2EICNZA3.js"))},{id:"nginx",name:"Nginx",import:(()=>import("../nginx-RIWAEC5Z.js"))},{id:"nim",name:"Nim",import:(()=>import("../nim-JPSYX5KC.js"))},{id:"nix",name:"Nix",import:(()=>import("../nix-XCKQVWCN.js"))},{id:"nushell",name:"nushell",aliases:["nu"],import:(()=>import("../nushell-QGW7HANA.js"))},{id:"objective-c",name:"Objective-C",aliases:["objc"],import:(()=>import("../objective-c-V7KYXFHL.js"))},{id:"objective-cpp",name:"Objective-C++",import:(()=>import("../objective-cpp-NKUEWVGU.js"))},{id:"ocaml",name:"OCaml",import:(()=>import("../ocaml-QT2CZJZN.js"))},{id:"odin",name:"Odin",import:(()=>import("../odin-MVMIXBHP.js"))},{id:"openscad",name:"OpenSCAD",aliases:["scad"],import:(()=>import("../openscad-BJDUXUUZ.js"))},{id:"pascal",name:"Pascal",import:(()=>import("../pascal-HGWEFD6L.js"))},{id:"perl",name:"Perl",import:(()=>import("../perl-X4IFZB22.js"))},{id:"php",name:"PHP",import:(()=>import("../php-3V7EPUAN.js"))},{id:"pkl",name:"Pkl",import:(()=>import("../pkl-VA5ZK5DW.js"))},{id:"plsql",name:"PL/SQL",import:(()=>import("../plsql-J7A7YWFH.js"))},{id:"po",name:"Gettext PO",aliases:["pot","potx"],import:(()=>import("../po-5RDI65JX.js"))},{id:"polar",name:"Polar",import:(()=>import("../polar-VUJL2E7F.js"))},{id:"postcss",name:"PostCSS",import:(()=>import("../postcss-ESTB5G7N.js"))},{id:"powerquery",name:"PowerQuery",import:(()=>import("../powerquery-ODTEKQCW.js"))},{id:"powershell",name:"PowerShell",aliases:["ps","ps1"],import:(()=>import("../powershell-ZOYRAWBJ.js"))},{id:"prisma",name:"Prisma",import:(()=>import("../prisma-QHG2W5GE.js"))},{id:"prolog",name:"Prolog",import:(()=>import("../prolog-CSAPG5PH.js"))},{id:"proto",name:"Protocol Buffer 3",aliases:["protobuf"],import:(()=>import("../proto-WDNJBTSW.js"))},{id:"pug",name:"Pug",aliases:["jade"],import:(()=>import("../pug-P7LS6DER.js"))},{id:"puppet",name:"Puppet",import:(()=>import("../puppet-LHFWHTY3.js"))},{id:"purescript",name:"PureScript",import:(()=>import("../purescript-DUFJP4FY.js"))},{id:"python",name:"Python",aliases:["py"],import:(()=>import("../python-5ZNZSNQ2.js"))},{id:"qml",name:"QML",import:(()=>import("../qml-LTAXB6W5.js"))},{id:"qmldir",name:"QML Directory",import:(()=>import("../qmldir-7Z2ODQLM.js"))},{id:"qss",name:"Qt Style Sheets",import:(()=>import("../qss-FDFD3HQD.js"))},{id:"r",name:"R",import:(()=>import("../r-6ZOS53WN.js"))},{id:"racket",name:"Racket",import:(()=>import("../racket-7AYZPEUI.js"))},{id:"raku",name:"Raku",aliases:["perl6"],import:(()=>import("../raku-A4F6VHVG.js"))},{id:"razor",name:"ASP.NET Razor",import:(()=>import("../razor-4QOCK4UD.js"))},{id:"reg",name:"Windows Registry Script",import:(()=>import("../reg-FAPHGG66.js"))},{id:"regexp",name:"RegExp",aliases:["regex"],import:(()=>import("../regexp-5BYLYA2R.js"))},{id:"rel",name:"Rel",import:(()=>import("../rel-7DJ7HHU4.js"))},{id:"riscv",name:"RISC-V",import:(()=>import("../riscv-YIYJATFG.js"))},{id:"ron",name:"RON",import:(()=>import("../ron-HYYMCHTX.js"))},{id:"rosmsg",name:"ROS Interface",import:(()=>import("../rosmsg-FDNH6QF7.js"))},{id:"rst",name:"reStructuredText",import:(()=>import("../rst-WIWCR2KQ.js"))},{id:"ruby",name:"Ruby",aliases:["rb"],import:(()=>import("../ruby-LXZJUMFB.js"))},{id:"rust",name:"Rust",aliases:["rs"],import:(()=>import("../rust-V3GMJA2K.js"))},{id:"sas",name:"SAS",import:(()=>import("../sas-D3G4GB3X.js"))},{id:"sass",name:"Sass",import:(()=>import("../sass-JTO65AGR.js"))},{id:"scala",name:"Scala",import:(()=>import("../scala-4XQGFSVM.js"))},{id:"scheme",name:"Scheme",import:(()=>import("../scheme-CB7AC7IL.js"))},{id:"scss",name:"SCSS",import:(()=>import("../scss-6SKV4OGI.js"))},{id:"sdbl",name:"1C (Query)",aliases:["1c-query"],import:(()=>import("../sdbl-LKGZFJ46.js"))},{id:"shaderlab",name:"ShaderLab",aliases:["shader"],import:(()=>import("../shaderlab-K536DHEB.js"))},{id:"shellscript",name:"Shell",aliases:["bash","sh","shell","zsh"],import:(()=>import("../shellscript-LRNUKUSZ.js"))},{id:"shellsession",name:"Shell Session",aliases:["console"],import:(()=>import("../shellsession-IBQK7VWQ.js"))},{id:"smalltalk",name:"Smalltalk",import:(()=>import("../smalltalk-DQOSWAW7.js"))},{id:"solidity",name:"Solidity",import:(()=>import("../solidity-V2FMZEG4.js"))},{id:"soy",name:"Closure Templates",aliases:["closure-templates"],import:(()=>import("../soy-VW3CKXWF.js"))},{id:"sparql",name:"SPARQL",import:(()=>import("../sparql-L2VKP7YP.js"))},{id:"splunk",name:"Splunk Query Language",aliases:["spl"],import:(()=>import("../splunk-KDKHP7GC.js"))},{id:"sql",name:"SQL",import:(()=>import("../sql-UF27CALT.js"))},{id:"ssh-config",name:"SSH Config",import:(()=>import("../ssh-config-JC2DQ6ED.js"))},{id:"stata",name:"Stata",import:(()=>import("../stata-7PXCUY24.js"))},{id:"stylus",name:"Stylus",aliases:["styl"],import:(()=>import("../stylus-2L7N3EZD.js"))},{id:"surrealql",name:"SurrealQL",aliases:["surql"],import:(()=>import("../surrealql-ZY3E6XEL.js"))},{id:"svelte",name:"Svelte",import:(()=>import("../svelte-Q45XIK2A.js"))},{id:"swift",name:"Swift",import:(()=>import("../swift-XBH5HZSC.js"))},{id:"system-verilog",name:"SystemVerilog",import:(()=>import("../system-verilog-VRAUSZY3.js"))},{id:"systemd",name:"Systemd Units",import:(()=>import("../systemd-JOTSGJD4.js"))},{id:"talonscript",name:"TalonScript",aliases:["talon"],import:(()=>import("../talonscript-NNZRZKOU.js"))},{id:"tasl",name:"Tasl",import:(()=>import("../tasl-MBFZ4QNC.js"))},{id:"tcl",name:"Tcl",import:(()=>import("../tcl-4GEDCBVE.js"))},{id:"templ",name:"Templ",import:(()=>import("../templ-3XM7DLQ3.js"))},{id:"terraform",name:"Terraform",aliases:["tf","tfvars"],import:(()=>import("../terraform-XTHOS4UK.js"))},{id:"tex",name:"TeX",import:(()=>import("../tex-UXMN2CV7.js"))},{id:"toml",name:"TOML",import:(()=>import("../toml-J6K55ZSV.js"))},{id:"ts-tags",name:"TypeScript with Tags",aliases:["lit"],import:(()=>import("../ts-tags-7WGDLEKX.js"))},{id:"tsv",name:"TSV",import:(()=>import("../tsv-DOUJHQDQ.js"))},{id:"tsx",name:"TSX",import:(()=>import("../tsx-G5BMVRHK.js"))},{id:"turtle",name:"Turtle",import:(()=>import("../turtle-JHJ7W6U5.js"))},{id:"twig",name:"Twig",import:(()=>import("../twig-C6YWFFZU.js"))},{id:"typescript",name:"TypeScript",aliases:["ts","cts","mts"],import:(()=>import("../typescript-LMKEAHFC.js"))},{id:"typespec",name:"TypeSpec",aliases:["tsp"],import:(()=>import("../typespec-5CLTIJYY.js"))},{id:"typst",name:"Typst",aliases:["typ"],import:(()=>import("../typst-4W4Z436Z.js"))},{id:"v",name:"V",import:(()=>import("../v-Y4SBDBN7.js"))},{id:"vala",name:"Vala",import:(()=>import("../vala-UMKT2MFA.js"))},{id:"vb",name:"Visual Basic",aliases:["cmd"],import:(()=>import("../vb-DQ7A5WJU.js"))},{id:"verilog",name:"Verilog",import:(()=>import("../verilog-N6ZF7GQD.js"))},{id:"vhdl",name:"VHDL",import:(()=>import("../vhdl-BNYDT37G.js"))},{id:"viml",name:"Vim Script",aliases:["vim","vimscript"],import:(()=>import("../viml-37RMDCBC.js"))},{id:"vue",name:"Vue",import:(()=>import("../vue-O6SLORWU.js"))},{id:"vue-html",name:"Vue HTML",import:(()=>import("../vue-html-ZLTZN573.js"))},{id:"vue-vine",name:"Vue Vine",import:(()=>import("../vue-vine-6JKAZ54I.js"))},{id:"vyper",name:"Vyper",aliases:["vy"],import:(()=>import("../vyper-GVXF46KD.js"))},{id:"wasm",name:"WebAssembly",import:(()=>import("../wasm-NTB4O7GL.js"))},{id:"wenyan",name:"Wenyan",aliases:["\u6587\u8A00"],import:(()=>import("../wenyan-W7WB3BC7.js"))},{id:"wgsl",name:"WGSL",import:(()=>import("../wgsl-7GTDVXHG.js"))},{id:"wikitext",name:"Wikitext",aliases:["mediawiki","wiki"],import:(()=>import("../wikitext-ASAFPAIL.js"))},{id:"wit",name:"WebAssembly Interface Types",import:(()=>import("../wit-ZBCR6544.js"))},{id:"wolfram",name:"Wolfram",aliases:["wl"],import:(()=>import("../wolfram-SZRZOETJ.js"))},{id:"xml",name:"XML",import:(()=>import("../xml-EBTJCOTU.js"))},{id:"xsl",name:"XSL",import:(()=>import("../xsl-IBYEXWDX.js"))},{id:"yaml",name:"YAML",aliases:["yml"],import:(()=>import("../yaml-GMVQNECR.js"))},{id:"zenscript",name:"ZenScript",import:(()=>import("../zenscript-O2TZFP4A.js"))},{id:"zig",name:"Zig",import:(()=>import("../zig-ZLGM7IMN.js"))}],yn=Object.fromEntries(Ho.map(e=>[e.id,e.import])),kn=Object.fromEntries(Ho.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),Nt={...yn,...kn};var rf=[{id:"andromeeda",displayName:"Andromeeda",type:"dark",import:(()=>import("../andromeeda-HAPOYWX3.js"))},{id:"aurora-x",displayName:"Aurora X",type:"dark",import:(()=>import("../aurora-x-R6WAWEBC.js"))},{id:"ayu-dark",displayName:"Ayu Dark",type:"dark",import:(()=>import("../ayu-dark-KMD4YO7F.js"))},{id:"ayu-light",displayName:"Ayu Light",type:"light",import:(()=>import("../ayu-light-2ATPDILG.js"))},{id:"ayu-mirage",displayName:"Ayu Mirage",type:"dark",import:(()=>import("../ayu-mirage-LJ7PG5AM.js"))},{id:"catppuccin-frappe",displayName:"Catppuccin Frapp\xE9",type:"dark",import:(()=>import("../catppuccin-frappe-Z4Y2POK6.js"))},{id:"catppuccin-latte",displayName:"Catppuccin Latte",type:"light",import:(()=>import("../catppuccin-latte-4TQUIKX4.js"))},{id:"catppuccin-macchiato",displayName:"Catppuccin Macchiato",type:"dark",import:(()=>import("../catppuccin-macchiato-B7YYPERT.js"))},{id:"catppuccin-mocha",displayName:"Catppuccin Mocha",type:"dark",import:(()=>import("../catppuccin-mocha-KX33VXKA.js"))},{id:"dark-plus",displayName:"Dark Plus",type:"dark",import:(()=>import("../dark-plus-LNHXUR7U.js"))},{id:"dracula",displayName:"Dracula Theme",type:"dark",import:(()=>import("../dracula-T2CMBBQ5.js"))},{id:"dracula-soft",displayName:"Dracula Theme Soft",type:"dark",import:(()=>import("../dracula-soft-SMFRNKX2.js"))},{id:"everforest-dark",displayName:"Everforest Dark",type:"dark",import:(()=>import("../everforest-dark-DBZHIUAO.js"))},{id:"everforest-light",displayName:"Everforest Light",type:"light",import:(()=>import("../everforest-light-TDAGYJUK.js"))},{id:"github-dark",displayName:"GitHub Dark",type:"dark",import:(()=>import("../github-dark-3E25TTAN.js"))},{id:"github-dark-default",displayName:"GitHub Dark Default",type:"dark",import:(()=>import("../github-dark-default-KCBFVSS5.js"))},{id:"github-dark-dimmed",displayName:"GitHub Dark Dimmed",type:"dark",import:(()=>import("../github-dark-dimmed-WRCBXEVS.js"))},{id:"github-dark-high-contrast",displayName:"GitHub Dark High Contrast",type:"dark",import:(()=>import("../github-dark-high-contrast-ET7SAHAV.js"))},{id:"github-light",displayName:"GitHub Light",type:"light",import:(()=>import("../github-light-6FNTZH5H.js"))},{id:"github-light-default",displayName:"GitHub Light Default",type:"light",import:(()=>import("../github-light-default-GGTAKNM7.js"))},{id:"github-light-high-contrast",displayName:"GitHub Light High Contrast",type:"light",import:(()=>import("../github-light-high-contrast-LHYKPR5E.js"))},{id:"gruvbox-dark-hard",displayName:"Gruvbox Dark Hard",type:"dark",import:(()=>import("../gruvbox-dark-hard-IQWZCHF7.js"))},{id:"gruvbox-dark-medium",displayName:"Gruvbox Dark Medium",type:"dark",import:(()=>import("../gruvbox-dark-medium-ARPWF4FS.js"))},{id:"gruvbox-dark-soft",displayName:"Gruvbox Dark Soft",type:"dark",import:(()=>import("../gruvbox-dark-soft-ODS6FPID.js"))},{id:"gruvbox-light-hard",displayName:"Gruvbox Light Hard",type:"light",import:(()=>import("../gruvbox-light-hard-KFA5YFDW.js"))},{id:"gruvbox-light-medium",displayName:"Gruvbox Light Medium",type:"light",import:(()=>import("../gruvbox-light-medium-MMET4L3Y.js"))},{id:"gruvbox-light-soft",displayName:"Gruvbox Light Soft",type:"light",import:(()=>import("../gruvbox-light-soft-DBZDERMK.js"))},{id:"horizon",displayName:"Horizon",type:"dark",import:(()=>import("../horizon-FSOMPXNP.js"))},{id:"houston",displayName:"Houston",type:"dark",import:(()=>import("../houston-FAQBCORN.js"))},{id:"kanagawa-dragon",displayName:"Kanagawa Dragon",type:"dark",import:(()=>import("../kanagawa-dragon-JNDVF5RJ.js"))},{id:"kanagawa-lotus",displayName:"Kanagawa Lotus",type:"light",import:(()=>import("../kanagawa-lotus-S7JK6TQ6.js"))},{id:"kanagawa-wave",displayName:"Kanagawa Wave",type:"dark",import:(()=>import("../kanagawa-wave-QJJIMVEV.js"))},{id:"laserwave",displayName:"LaserWave",type:"dark",import:(()=>import("../laserwave-YFP3EJVX.js"))},{id:"light-plus",displayName:"Light Plus",type:"light",import:(()=>import("../light-plus-NGDHCPUZ.js"))},{id:"material-theme",displayName:"Material Theme",type:"dark",import:(()=>import("../material-theme-H2BHKUKX.js"))},{id:"material-theme-darker",displayName:"Material Theme Darker",type:"dark",import:(()=>import("../material-theme-darker-VENCGWTB.js"))},{id:"material-theme-lighter",displayName:"Material Theme Lighter",type:"light",import:(()=>import("../material-theme-lighter-SDMLS22W.js"))},{id:"material-theme-ocean",displayName:"Material Theme Ocean",type:"dark",import:(()=>import("../material-theme-ocean-UHDBRLVF.js"))},{id:"material-theme-palenight",displayName:"Material Theme Palenight",type:"dark",import:(()=>import("../material-theme-palenight-3TB2BEET.js"))},{id:"min-dark",displayName:"Min Dark",type:"dark",import:(()=>import("../min-dark-CQ5WKNT7.js"))},{id:"min-light",displayName:"Min Light",type:"light",import:(()=>import("../min-light-LZRD4NPR.js"))},{id:"monokai",displayName:"Monokai",type:"dark",import:(()=>import("../monokai-WHRY6275.js"))},{id:"night-owl",displayName:"Night Owl",type:"dark",import:(()=>import("../night-owl-7PNEW2JB.js"))},{id:"night-owl-light",displayName:"Night Owl Light",type:"light",import:(()=>import("../night-owl-light-GJUYOOJR.js"))},{id:"nord",displayName:"Nord",type:"dark",import:(()=>import("../nord-EVGUMUX2.js"))},{id:"one-dark-pro",displayName:"One Dark Pro",type:"dark",import:(()=>import("../one-dark-pro-PMTR3SA7.js"))},{id:"one-light",displayName:"One Light",type:"light",import:(()=>import("../one-light-O7WH4N5X.js"))},{id:"plastic",displayName:"Plastic",type:"dark",import:(()=>import("../plastic-FBVUW6NJ.js"))},{id:"poimandres",displayName:"Poimandres",type:"dark",import:(()=>import("../poimandres-WBB7GZAD.js"))},{id:"red",displayName:"Red",type:"dark",import:(()=>import("../red-7KAMONOP.js"))},{id:"rose-pine",displayName:"Ros\xE9 Pine",type:"dark",import:(()=>import("../rose-pine-F2G5IHZD.js"))},{id:"rose-pine-dawn",displayName:"Ros\xE9 Pine Dawn",type:"light",import:(()=>import("../rose-pine-dawn-ALZ7XGH2.js"))},{id:"rose-pine-moon",displayName:"Ros\xE9 Pine Moon",type:"dark",import:(()=>import("../rose-pine-moon-D3K4SWUL.js"))},{id:"slack-dark",displayName:"Slack Dark",type:"dark",import:(()=>import("../slack-dark-YFPJODWS.js"))},{id:"slack-ochin",displayName:"Slack Ochin",type:"light",import:(()=>import("../slack-ochin-H67AWZOI.js"))},{id:"snazzy-light",displayName:"Snazzy Light",type:"light",import:(()=>import("../snazzy-light-OUVS63VK.js"))},{id:"solarized-dark",displayName:"Solarized Dark",type:"dark",import:(()=>import("../solarized-dark-2RCAVEXJ.js"))},{id:"solarized-light",displayName:"Solarized Light",type:"light",import:(()=>import("../solarized-light-XFSENHTC.js"))},{id:"synthwave-84",displayName:"Synthwave '84",type:"dark",import:(()=>import("../synthwave-84-5XXB3K6S.js"))},{id:"tokyo-night",displayName:"Tokyo Night",type:"dark",import:(()=>import("../tokyo-night-CHJCCBJH.js"))},{id:"vesper",displayName:"Vesper",type:"dark",import:(()=>import("../vesper-Y5GIEAN4.js"))},{id:"vitesse-black",displayName:"Vitesse Black",type:"dark",import:(()=>import("../vitesse-black-7TI33KHX.js"))},{id:"vitesse-dark",displayName:"Vitesse Dark",type:"dark",import:(()=>import("../vitesse-dark-FOB25MRB.js"))},{id:"vitesse-light",displayName:"Vitesse Light",type:"light",import:(()=>import("../vitesse-light-4WCNCTCO.js"))}],bn=Object.fromEntries(rf.map(e=>[e.id,e.import]));var Ot=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function sf(){return 2147483648}function nf(){return typeof performance<"u"?performance.now():Date.now()}var lf=(e,t)=>e+(t-e%t)%t;async function uf(e){let t,a,o={};function r(c){a=c,o.HEAPU8=new Uint8Array(c),o.HEAPU32=new Uint32Array(c)}function s(c,m,C){o.HEAPU8.copyWithin(c,m,m+C)}function n(c){try{return t.grow(c-a.byteLength+65535>>>16),r(t.buffer),1}catch{}}function i(c){let m=o.HEAPU8.length;c=c>>>0;let C=sf();if(c>C)return!1;for(let x=1;x<=4;x*=2){let w=m*(1+.2/x);w=Math.min(w,c+100663296);let g=Math.min(C,lf(Math.max(c,w),65536));if(n(g))return!0}return!1}let l=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function u(c,m,C=1024){let x=m+C,w=m;for(;c[w]&&!(w>=x);)++w;if(w-m>16&&c.buffer&&l)return l.decode(c.subarray(m,w));let g="";for(;m<w;){let h=c[m++];if(!(h&128)){g+=String.fromCharCode(h);continue}let L=c[m++]&63;if((h&224)===192){g+=String.fromCharCode((h&31)<<6|L);continue}let y=c[m++]&63;if((h&240)===224?h=(h&15)<<12|L<<6|y:h=(h&7)<<18|L<<12|y<<6|c[m++]&63,h<65536)g+=String.fromCharCode(h);else{let T=h-65536;g+=String.fromCharCode(55296|T>>10,56320|T&1023)}}return g}function f(c,m){return c?u(o.HEAPU8,c,m):""}let d={emscripten_get_now:nf,emscripten_memcpy_big:s,emscripten_resize_heap:i,fd_write:()=>0};async function p(){let m=await e({env:d,wasi_snapshot_preview1:d});t=m.memory,r(t.buffer),Object.assign(o,m),o.UTF8ToString=f}return await p(),o}var df=Object.defineProperty,ff=(e,t,a)=>t in e?df(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,oe=(e,t,a)=>ff(e,typeof t!="symbol"?t+"":t,a),re=null;function cf(e){throw new Ot(e.UTF8ToString(e.getLastOnigError()))}var Ma=class e{constructor(t){oe(this,"utf16Length"),oe(this,"utf8Length"),oe(this,"utf16Value"),oe(this,"utf8Value"),oe(this,"utf16OffsetToUtf8"),oe(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 f=t.charCodeAt(u),d=f,p=!1;if(f>=55296&&f<=56319&&u+1<a){let c=t.charCodeAt(u+1);c>=56320&&c<=57343&&(d=(f-55296<<10)+65536|c-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}},Ra=class Fe{constructor(t){if(oe(this,"id",++Fe.LAST_ID),oe(this,"_onigBinding"),oe(this,"content"),oe(this,"utf16Length"),oe(this,"utf8Length"),oe(this,"utf16OffsetToUtf8"),oe(this,"utf8OffsetToUtf16"),oe(this,"ptr"),!re)throw new Ot("Must invoke loadWasm first.");this._onigBinding=re,this.content=t;let a=new Ma(t);this.utf16Length=a.utf16Length,this.utf8Length=a.utf8Length,this.utf16OffsetToUtf8=a.utf16OffsetToUtf8,this.utf8OffsetToUtf16=a.utf8OffsetToUtf16,this.utf8Length<1e4&&!Fe._sharedPtrInUse?(Fe._sharedPtr||(Fe._sharedPtr=re.omalloc(1e4)),Fe._sharedPtrInUse=!0,re.HEAPU8.set(a.utf8Value,Fe._sharedPtr),this.ptr=Fe._sharedPtr):this.ptr=a.createString(re)}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===Fe._sharedPtr?Fe._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};oe(Ra,"LAST_ID",0);oe(Ra,"_sharedPtr",0);oe(Ra,"_sharedPtrInUse",!1);var Tn=Ra,Go=class{constructor(t){if(oe(this,"_onigBinding"),oe(this,"_ptr"),!re)throw new Ot("Must invoke loadWasm first.");let a=[],o=[];for(let i=0,l=t.length;i<l;i++){let u=new Ma(t[i]);a[i]=u.createString(re),o[i]=u.utf8Length}let r=re.omalloc(4*t.length);re.HEAPU32.set(a,r/4);let s=re.omalloc(4*t.length);re.HEAPU32.set(o,s/4);let n=re.createOnigScanner(r,s,t.length);for(let i=0,l=t.length;i<l;i++)re.ofree(a[i]);re.ofree(s),re.ofree(r),n===0&&cf(re),this._onigBinding=re,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 Tn(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++],f=i[l++],d=[];for(let p=0;p<f;p++){let c=t.convertUtf8OffsetToUtf16(i[l++]),m=t.convertUtf8OffsetToUtf16(i[l++]);d[p]={start:c,end:m,length:m-c}}return{index:u,captureIndices:d}}};function pf(e){return typeof e.instantiator=="function"}function mf(e){return typeof e.default=="function"}function hf(e){return typeof e.data<"u"}function gf(e){return typeof Response<"u"&&e instanceof Response}function wf(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 va;function xf(e){if(va)return va;async function t(){re=await uf(async a=>{let o=e;return o=await o,typeof o=="function"&&(o=await o(a)),typeof o=="function"&&(o=await o(a)),pf(o)?o=await o.instantiator(a):mf(o)?o=await o.default(a):(hf(o)&&(o=o.data),gf(o)?typeof WebAssembly.instantiateStreaming=="function"?o=await Lf(o)(a):o=await Cf(o)(a):wf(o)?o=await qo(o)(a):o instanceof WebAssembly.Module?o=await qo(o)(a):"default"in o&&o.default instanceof WebAssembly.Module&&(o=await qo(o.default)(a))),"instance"in o&&(o=o.instance),"exports"in o&&(o=o.exports),o})}return va=t(),va}function qo(e){return t=>WebAssembly.instantiate(e,t)}function Lf(e){return t=>WebAssembly.instantiateStreaming(e,t)}function Cf(e){return async t=>{let a=await e.arrayBuffer();return WebAssembly.instantiate(a,t)}}async function Pn(e){return e&&await xf(e),{createScanner(t){return new Go(t.map(a=>typeof a=="string"?a:a.source))},createString(t){return new Tn(t)}}}var Fa=In({langs:Nt,themes:bn,engine:()=>Pn(import("../wasm-EOPKAILK.js"))}),{codeToHtml:If,codeToHast:Sf,codeToTokens:yf,codeToTokensBase:kf,codeToTokensWithThemes:bf,getSingletonHighlighter:Tf,getLastGrammarState:Pf}=Sn(Fa,{guessEmbeddedLanguages:mn});var An=new Set(Object.keys(Nt)),Wo=new Map,zo=new Map,dt=new Map,Af=(e,t)=>`${e}-${t[0]}-${t[1]}`,vf=(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}`},Mf=(e,t)=>{let a=Af(e,t);if(Wo.has(a))return Wo.get(a);let o=Fa({themes:t,langs:[e]});return Wo.set(a,o),o};function Rf(e={}){var t;let a=(t=e.themes)!=null?t:["github-light","github-dark"];return{name:"shiki",type:"code-highlighter",supportsLanguage(o){return An.has(o)},getSupportedLanguages(){return Array.from(An)},getThemes(){return a},highlight({code:o,language:r,themes:s},n){let i=vf(o,r,s);return zo.has(i)?zo.get(i):(n&&(dt.has(i)||dt.set(i,new Set),dt.get(i).add(n)),Mf(r,s).then(l=>{let u=l.getLoadedLanguages().includes(r)?r:"text",f=l.codeToTokens(o,{lang:u,themes:{light:s[0],dark:s[1]}});zo.set(i,f);let d=dt.get(i);if(d){for(let p of d)p(f);dt.delete(i)}}).catch(l=>{console.error("[Streamdown Code] Failed to highlight code:",l),dt.delete(i)}),null)}}}var vn=Rf();import{memo as Ff}from"react";import{jsx as Ba}from"react/jsx-runtime";var Da=({className:e,from:t,children:a,...o})=>Ba("div",{className:P("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:Ba("div",{className:P("ww:flex ww:min-w-0 ww:flex-col ww:gap-2","ww:w-full"),children:a})}),Ea=({children:e,className:t,...a})=>Ba("div",{className:P("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}),Bf={cjk:fs,code:vn},Df={enabled:!1},_a=Ff(({className:e,linkSafety:t,...a})=>Ba(ao,{className:P("ww:size-full ww:[&>*:first-child]:mt-0 ww:[&>*:last-child]:mb-0",e),linkSafety:t??Df,plugins:Bf,...a}),(e,t)=>e.children===t.children);_a.displayName="MessageResponse";import{jsx as Ef}from"react/jsx-runtime";function Mn({className:e,text:t,...a}){return t?Ef("pre",{className:P("ww:mb-2 ww:overflow-x-auto ww:whitespace-pre-wrap ww:break-words ww:text-xs ww:font-mono ww:text-muted-foreground",e),...a,children:t}):null}import{createContext as _f,useCallback as Nf,useContext as Dn,useEffect as Of,useMemo as Vo,useRef as Uf,useState as $o}from"react";import{Fragment as Bn,jsx as z,jsxs as _e}from"react/jsx-runtime";function Hf(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 f=`${l}\u2009${u}`;r.push(f),s-=f.length+3}return`{${r.join(", ")}}`}function qf({text:e,className:t}){let[a,o]=$o(!1),r=Uf(null);Of(()=>()=>{r.current&&clearTimeout(r.current)},[]);let s=Nf(async n=>{n.stopPropagation();try{await navigator.clipboard.writeText(e),o(!0),r.current&&clearTimeout(r.current),r.current=setTimeout(()=>o(!1),2e3)}catch{}},[e]);return z(ke,{variant:"ghost",size:"sm",onClick:s,className:P("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:a?_e(Bn,{children:[z(ht,{className:"ww:size-3.5"}),z("span",{children:"Copied"})]}):_e(Bn,{children:[z(xt,{className:"ww:size-3.5"}),z("span",{children:"Copy"})]})})}function En({data:e,label:t,className:a,...o}){let[r,s]=$o(!1),n=Vo(()=>JSON.stringify(e,null,2),[e]),i=Hf(e);return _e("div",{className:P("ww:rounded-lg ww:bg-tool-card",a),...o,children:[_e("div",{className:"ww:flex ww:items-center ww:justify-between ww:px-3 ww:pt-2.5 ww:pb-1.5",children:[z("span",{className:"ww:text-xs ww:font-medium ww:text-muted-foreground",children:t}),z(qf,{text:n})]}),_e("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:[z(wt,{className:P("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?z("pre",{className:"ww:overflow-x-auto ww:text-xs ww:font-mono ww:text-foreground ww:whitespace-pre-wrap ww:break-all",children:z("code",{children:n})}):z("span",{className:"ww:truncate ww:text-xs ww:font-mono ww:text-foreground/80",children:i})]})]})}var Xo=_f({open:!1,toggle:()=>{}});function _n({className:e,defaultOpen:t=!1,children:a,...o}){let[r,s]=$o(t);return z(Xo.Provider,{value:{open:r,toggle:()=>s(n=>!n)},children:z("div",{className:P("ww:mb-4 ww:w-full",e),"data-state":r?"open":"closed",...o,children:a})})}function Nn({className:e,title:t,state:a,...o}){let{open:r,toggle:s}=Dn(Xo),n=a==="input-available"||a==="input-streaming";return _e("button",{type:"button",onClick:s,className:P("ww:flex ww:w-full ww:items-center ww:justify-between ww:gap-3 ww:py-1.5",e),"aria-expanded":r,...o,children:[_e("div",{className:"ww:flex ww:min-w-0 ww:items-center ww:gap-2",children:[z(Oe,{className:"ww:size-4 ww:shrink-0 ww:text-muted-foreground"}),z("span",{className:"ww:truncate ww:text-sm ww:font-medium",children:t}),n&&z("span",{className:"ww:size-2 ww:shrink-0 ww:rounded-full ww:bg-primary ww:animate-pulse"})]}),z(gt,{className:P("ww:size-4 ww:shrink-0 ww:text-muted-foreground ww:transition-transform ww:duration-200",r&&"ww:rotate-180")})]})}function On({className:e,title:t,state:a,...o}){let r=a==="input-available"||a==="input-streaming";return _e("div",{className:P("ww:mb-4 ww:flex ww:items-center ww:gap-2 ww:py-1.5 ww:text-sm ww:text-muted-foreground ww:italic",e),...o,children:[z("span",{className:"ww:truncate",children:t}),r&&z("span",{className:"ww:size-2 ww:shrink-0 ww:rounded-full ww:bg-primary ww:animate-pulse"})]})}function Un({className:e,children:t,...a}){let{open:o}=Dn(Xo);return z("div",{className:P("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:z("div",{className:"ww:min-h-0 ww:overflow-hidden",children:z("div",{className:P("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 Hn({className:e,input:t,debug:a,...o}){let r=Vo(()=>{if(!a&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:s,...n}=t;return n}return t},[t,a]);return z(En,{data:r,label:"Request",className:e,...o})}function jo(e){if(!(typeof e!="object"||e===null))return e}function qn(e){return jo(e?.ui)}function Gn(e){return jo(jo(e)?._meta)}function Rn(e){if(!e)return;let t=qn(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 Fn(e){return qn(e)?.autoHeight===!0}function Na(e,t,a){if(e){let o=Rn(a?.[e]?._meta);if(o)return o}return Rn(Gn(t))}function Wn(e,t,a){return e&&Fn(a?.[e]?._meta)?!0:Fn(Gn(t))}function zn({className:e,output:t,errorText:a,debug:o,...r}){let s=Vo(()=>{if(!o&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:n,...i}=t;return i}return t},[t,o]);return t||a?a?_e("div",{className:P("ww:space-y-2",e),...r,children:[z("h4",{className:"ww:text-xs ww:font-medium ww:uppercase ww:tracking-wide ww:text-muted-foreground",children:"Error"}),z("div",{className:"ww:rounded-lg ww:bg-destructive/10 ww:p-3 ww:text-xs ww:text-destructive",children:a})]}):z(En,{data:s,label:"Response",className:e,...r}):null}import{useCallback as Gf,useEffect as Vn,useMemo as Wf,useRef as xe,useState as $n}from"react";function ft(e){if(!e)return!1;let t=Array.isArray(e.content)&&e.content.length>0,a=typeof e.structuredContent=="object"&&e.structuredContent!==null&&Object.keys(e.structuredContent).length>0;return t||a}function jn(e,t){return!ft(e)&&!ft(t)?null:ft(e)?ft(t)?{...e.content||t.content?{content:[...e.content??[],...t.content??[]]}:{},...e.structuredContent||t.structuredContent?{structuredContent:{...e.structuredContent??{},...t.structuredContent??{}}}:{}}:{...e.content?{content:[...e.content]}:{},...e.structuredContent?{structuredContent:{...e.structuredContent}}:{}}:{...t?.content?{content:[...t.content]}:{},...t?.structuredContent?{structuredContent:{...t.structuredContent}}:{}}}import{jsx as ec}from"react/jsx-runtime";var zf="/api/mcp/resource",jf=500,Vf=0,$f=16,Xf="2026-01-26",Qf=300,Kf=3e3,Jf=3;function Zf(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function Yf(e,t,a){return Na(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function Qo({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:o=zf,chatSessionId:r,isDark:s=!1,className:n,autoHeight:i=!1,onOpenLink:l,onFollowUp:u,onCallTool:f,onDisplayModeChange:d,isFullscreen:p=!1,toolDefinitions:c}){let m=xe(null),C=xe(t),x=xe(a),w=xe({width:0,height:0}),g=xe(null),h=xe(!1),L=xe(0),y=xe("inline"),[T,v]=$n(Vf),[R,N]=$n(void 0),F=xe(l),k=xe(u),I=xe(f),U=xe(d),W=xe(r),H=xe(c);C.current=t,x.current=a,F.current=l,k.current=u,I.current=f,U.current=d,W.current=r,H.current=c;let ie=Gf($=>i?Math.max($+$f,0):Math.min(Math.max($,50),jf),[i]),he=Wf(()=>{let $=o.includes("?")?"&":"?";return`${o}${$}uri=${encodeURIComponent(e)}`},[o,e]),Y=xe(s);return Y.current=s,Vn(()=>{if(!h.current)return;let $=m.current;$?.contentWindow&&$.contentWindow.postMessage({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{theme:s?"dark":"light"}},"*")},[s]),Vn(()=>{let $=m.current;if(!$)return;let ae=!1,le=!1,ue=null,de=null,Le=setTimeout(()=>{if(ae||le||L.current>=Jf)return;L.current+=1;let q=new URL($.src);q.searchParams.set("_retry",String(L.current)),$.src=q.toString()},Kf),B=q=>{$.contentWindow?.postMessage(q,"*")},j=q=>{if(ae||q.source!==$.contentWindow)return;let G=q.data;if(!G||typeof G!="object"||G.jsonrpc!=="2.0")return;let Q=G.method,O=G.id;if(Q==="ui/initialize"&&O!=null){le=!0,clearTimeout(Le),B({jsonrpc:"2.0",id:O,result:{protocolVersion:G.params?.protocolVersion??Xf,hostInfo:{name:"WaniWani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:Y.current?"dark":"light",displayMode:y.current}}});return}if(Q==="ui/notifications/initialized"){h.current=!0;let b=C.current,A=x.current,M=A._meta&&typeof A._meta=="object"?A._meta:null,E=Zf(W.current),V=M&&typeof M.waniwani=="object"&&M.waniwani!==null?M.waniwani:null,ee=V||E?{...V??{},...E?{sessionId:E}:{}}:void 0,ve=M||ee?{...M??{},...ee?{waniwani:ee}:{}}:void 0;B({jsonrpc:"2.0",method:"ui/notifications/tool-input",params:{arguments:b}});let tt=A.content??[{type:"text",text:JSON.stringify(A)}];B({jsonrpc:"2.0",method:"ui/notifications/tool-result",params:{content:tt,structuredContent:A.structuredContent,_meta:ve,meta:ve}});return}if(Q==="ui/notifications/size-changed"){let b=G.params,A=typeof b?.height=="number"?b.height:void 0,M=typeof b?.width=="number"?b.width:void 0,E=w.current,V=A!==void 0&&A!==E.height,ee=M!==void 0&&M!==E.width;if(!V&&!ee)return;if(V&&A!==void 0){E.height=A;let ve=ie(A),tt=$.getBoundingClientRect().height;if(g.current&&(g.current.cancel(),g.current=null),v(ve),$.animate&&Math.abs(tt-ve)>2){let at=$.animate([{height:`${tt}px`},{height:`${ve}px`}],{duration:Qf,easing:"ease-out",fill:"forwards"});g.current=at,at.onfinish=()=>{g.current===at&&(at.cancel(),g.current=null)}}}ee&&i&&M!==void 0&&(E.width=M,N(M));return}if(Q==="ui/open-link"&&O!=null){let b=G.params?.url;typeof b=="string"&&(F.current?F.current(b):window.open(b,"_blank","noopener,noreferrer")),B({jsonrpc:"2.0",id:O,result:{}});return}if(Q==="ui/message"&&O!=null){if(k.current&&G.params){let b=G.params,A=ue;if(ue=null,de){clearTimeout(de.timer);let M=de.text;de=null;let E=(b.content??[]).map(V=>V.text??"").join("").trim();b={...b,content:[{type:"text",text:`${E}
|
|
12
|
+
\f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function Ys(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=$t);let u=ud(o,e.properties),f=o.all(r.space==="html"&&e.tagName==="template"?e.content:e);return o.schema=r,f&&(n=!1),(u||!s||!Zs(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(f),!n&&(!s||!Dt(e,t,a))&&i.push("</"+e.tagName+">"),i.join("")}function ud(e,t){let a=[],o=-1,r;if(t){for(r in t)if(t[r]!==null&&t[r]!==void 0){let s=dd(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 dd(e,t,a){let o=xr(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=De(o.attribute,Object.assign({},e.settings.characterReferences,{subset:La.name[r][s]}));return a===!0||(a=Array.isArray(a)?(o.commaSeparated?Ir:Sr)(a,{padLeft:!e.settings.tightCommaSeparatedLists}):String(a),e.settings.collapseEmptyAttributes&&!a)?l:(e.settings.preferUnquoted&&(i=De(a,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:La.unquoted[r][s]}))),i!==a&&(e.settings.quoteSmart&&to(a,n)>to(a,e.alternative)&&(n=e.alternative),i=n+De(a,Object.assign({},e.settings.characterReferences,{subset:(n==="'"?La.single:La.double)[r][s],attribute:!0}))+n),l+(i&&"="+i))}var fd=["<","&"];function Ca(e,t,a,o){return a&&a.type==="element"&&(a.tagName==="script"||a.tagName==="style")?e.value:De(e.value,Object.assign({},o.settings.characterReferences,{subset:fd}))}function en(e,t,a,o){return o.settings.allowDangerousHtml?e.value:Ca(e,t,a,o)}function tn(e,t,a,o){return o.all(e)}var an=Cr("type",{invalid:cd,unknown:pd,handlers:{comment:$s,doctype:Xs,element:Ys,raw:en,root:tn,text:Ca}});function cd(e){throw new Error("Expected node, not `"+e+"`")}function pd(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var md={},hd={},gd=[];function Ao(e,t){let a=t||md,o=a.quote||'"',r=o==='"'?"'":'"';if(o!=='"'&&o!=="'")throw new Error("Invalid quote `"+o+"`, expected `'` or `\"`");return{one:wd,all:xd,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||wr,characterReferences:a.characterReferences||hd,closeSelfClosing:a.closeSelfClosing||!1,closeEmptyElements:a.closeEmptyElements||!1},schema:a.space==="svg"?$t:Lr,quote:o,alternative:r}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function wd(e,t,a){return an(e,t,a,this)}function xd(e){let t=[],a=e&&e.children||gd,o=-1;for(;++o<a.length;)t[o]=this.one(a[o],o,e);return t.join("")}function Ia(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 Ge(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function Ld(e){return Array.isArray(e)?e:[e]}async function dn(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function Do(e){return!e||["plaintext","txt","text","plain"].includes(e)}function fn(e){return e==="ansi"||Do(e)}function Eo(e){return e==="none"}function cn(e){return Eo(e)}function pn(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 Ta(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 Cd(e){let t=Ta(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 mn(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 _o="light-dark()",Id=["color","background-color"];function Sd(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 yd(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?Sd(r,s):r})):e}function kd(e,t,a,o,r="css-vars"){let s={content:e.content,explanation:e.explanation,offset:e.offset},n=t.map(f=>Sa(e.variants[f])),i=new Set(n.flatMap(f=>Object.keys(f))),l={},u=(f,d)=>{let p=d==="color"?"":d==="background-color"?"-bg":`-${d}`;return a+t[f]+(d==="color"?"":p)};return n.forEach((f,d)=>{for(let p of i){let c=f[p]||"inherit";if(d===0&&o&&Id.includes(p))if(o===_o&&n.length>1){let m=t.findIndex(g=>g==="light"),C=t.findIndex(g=>g==="dark");if(m===-1||C===-1)throw new Q('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let x=n[m][p]||"inherit",w=n[C][p]||"inherit";l[p]=`light-dark(${x}, ${w})`,r==="css-vars"&&(l[u(d,p)]=c)}else l[p]=c;else r==="css-vars"&&(l[u(d,p)]=c)}}),s.htmlStyle=l,s}function Sa(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t["background-color"]=e.bgColor),e.fontStyle){e.fontStyle&fe.Italic&&(t["font-style"]="italic"),e.fontStyle&fe.Bold&&(t["font-weight"]="bold");let a=[];e.fontStyle&fe.Underline&&a.push("underline"),e.fontStyle&fe.Strikethrough&&a.push("line-through"),a.length&&(t["text-decoration"]=a.join(" "))}return t}function Ro(e){return typeof e=="string"?e:Object.entries(e).map(([t,a])=>`${t}:${a}`).join(";")}var hn=new WeakMap;function Pa(e,t){hn.set(e,t)}function _t(e){return hn.get(e)}var ut=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(Ld(a).map(o=>[o,ha])),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 bd(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function bd(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 Td(e,t){if(!(e instanceof ut))throw new Q("Invalid grammar state");return e.getInternalStack(t)}function Pd(){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 Q(`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 Q(`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 Q(`Invalid decoration position ${JSON.stringify(n)}. Line ${n.line} length: ${i.length}`);return{...n,character:l,offset:r.posToIndex(n.line,l)}}},r=Cd(a.source),s=(a.options.decorations||[]).map(n=>({...n,start:o(n.start),end:o(n.end)}));Ad(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 yd(a,r)},code(a){if(!this.options.decorations?.length)return;let o=t(this),r=Array.from(a.children).filter(f=>f.type==="element"&&f.tagName==="span");if(r.length!==o.converter.lines.length)throw new Q(`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(f,d,p,c){let m=r[f],C="",x=-1,w=-1;if(d===0&&(x=0),p===0&&(w=0),p===Number.POSITIVE_INFINITY&&(w=m.children.length),x===-1||w===-1)for(let h=0;h<m.children.length;h++)C+=gn(m.children[h]),x===-1&&C.length===d&&(x=h+1),w===-1&&C.length===p&&(w=h+1);if(x===-1)throw new Q(`Failed to find start index for decoration ${JSON.stringify(c.start)}`);if(w===-1)throw new Q(`Failed to find end index for decoration ${JSON.stringify(c.end)}`);let g=m.children.slice(x,w);if(!c.alwaysWrap&&g.length===m.children.length)i(m,c,"line");else if(!c.alwaysWrap&&g.length===1&&g[0].type==="element")i(g[0],c,"token");else{let h={type:"element",tagName:"span",properties:{},children:g};i(h,c,"wrapper"),m.children.splice(x,g.length,h)}}function n(f,d){r[f]=i(r[f],d,"line")}function i(f,d,p){let c=d.properties||{},m=d.transform||(C=>C);return f.tagName=d.tagName||"span",f.properties={...f.properties,...c,class:f.properties.class},d.properties?.class&&pn(f,d.properties.class),f=m(f,p)||f,f}let l=[],u=o.decorations.sort((f,d)=>d.start.offset-f.start.offset||f.end.offset-d.end.offset);for(let f of u){let{start:d,end:p}=f;if(d.line===p.line)s(d.line,d.character,p.character,f);else if(d.line<p.line){s(d.line,d.character,Number.POSITIVE_INFINITY,f);for(let c=d.line+1;c<p.line;c++)l.unshift(()=>n(c,f));s(p.line,0,p.character,f)}}l.forEach(f=>f())}}}function Ad(e){for(let t=0;t<e.length;t++){let a=e[t];if(a.start.offset>a.end.offset)throw new Q(`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 Q(`Decorations ${JSON.stringify(a.start)} and ${JSON.stringify(r.start)} intersect.`)}}}}function gn(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(gn).join(""):""}var vd=[Pd()];function ya(e){let t=Md(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...vd]}function Md(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 Ye=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],vo={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function Rd(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 on(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 Fd(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)vo[o]&&t.push({type:"setDecoration",value:vo[o]});else if(o<=29){let r=vo[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:Ye[o-30]}});else if(o===38){let r=on(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:Ye[o-40]}});else if(o===48){let r=on(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:Ye[o-90+8]}}):o>=100&&o<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:Ye[o-100+8]}})}return t}function Bd(){let e=null,t=null,a=new Set;return{parse(o){let r=[],s=0;do{let n=Rd(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=Fd(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 Dd={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 Ed(e=Dd){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<Ye.length;u++)o.push(t(Ye[u]));let i=[0,95,135,175,215,255];for(let u=0;u<6;u++)for(let f=0;f<6;f++)for(let d=0;d<6;d++)o.push(a([i[u],i[f],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 _d={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 Nd(e,t,a){let o=Ia(e,a),r=Ta(t),s=Object.fromEntries(Ye.map(l=>{let u=`terminal.ansi${l[0].toUpperCase()}${l.substring(1)}`,f=e.colors?.[u];return[l,f||_d[l]]})),n=Ed(s),i=Bd();return r.map(l=>i.parse(l[0]).map(u=>{let f,d;u.decorations.has("reverse")?(f=u.background?n.value(u.background):e.bg,d=u.foreground?n.value(u.foreground):e.fg):(f=u.foreground?n.value(u.foreground):e.fg,d=u.background?n.value(u.background):void 0),f=Ge(f,o),d=Ge(d,o),u.decorations.has("dim")&&(f=Od(f));let p=fe.None;return u.decorations.has("bold")&&(p|=fe.Bold),u.decorations.has("italic")&&(p|=fe.Italic),u.decorations.has("underline")&&(p|=fe.Underline),u.decorations.has("strikethrough")&&(p|=fe.Strikethrough),{content:u.value,offset:l[1],color:f,bgColor:d,fontStyle:p}}))}function Od(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 No(e,t,a={}){let{theme:o=e.getLoadedThemes()[0]}=a,r=e.resolveLangAlias(a.lang||"text");if(Do(r)||Eo(o))return Ta(t).map(l=>[{content:l[0],offset:l[1]}]);let{theme:s,colorMap:n}=e.setTheme(o);if(r==="ansi")return Nd(s,t,a);let i=e.getLanguage(a.lang||"text");if(a.grammarState){if(a.grammarState.lang!==i.name)throw new Q(`Grammar state language "${a.grammarState.lang}" does not match highlight language "${i.name}"`);if(!a.grammarState.themes.includes(s.name))throw new Q(`Grammar state themes "${a.grammarState.themes}" do not contain highlight theme "${s.name}"`)}return Hd(t,i,s,n,a)}function Ud(...e){if(e.length===2)return _t(e[1]);let[t,a,o={}]=e,{lang:r="text",theme:s=t.getLoadedThemes()[0]}=o;if(Do(r)||Eo(s))throw new Q("Plain language does not have grammar state");if(r==="ansi")throw new Q("ANSI language does not have grammar state");let{theme:n,colorMap:i}=t.setTheme(s),l=t.getLanguage(r);return new ut(Oo(a,l,n,i,o).stateStack,l.name,n.name)}function Hd(e,t,a,o,r){let s=Oo(e,t,a,o,r),n=new ut(s.stateStack,t.name,a.name);return Pa(s.tokens,n),s.tokens}function Oo(e,t,a,o,r){let s=Ia(a,r),{tokenizeMaxLineLength:n=0,tokenizeTimeLimit:i=500}=r,l=Ta(e),u=r.grammarState?Td(r.grammarState,a.name)??ha:r.grammarContextCode!=null?Oo(r.grammarContextCode,t,a,o,{...r,grammarState:void 0,grammarContextCode:void 0}).stateStack:ha,f=[],d=[];for(let p=0,c=l.length;p<c;p++){let[m,C]=l[p];if(m===""){f=[],d.push([]);continue}if(n>0&&m.length>=n){f=[],d.push([{content:m,offset:C,color:"",fontStyle:0}]);continue}let x,w,g;r.includeExplanation&&(x=t.tokenizeLine(m,u,i),w=x.tokens,g=0);let h=t.tokenizeLine2(m,u,i),L=h.tokens.length/2;for(let y=0;y<L;y++){let T=h.tokens[2*y],v=y+1<L?h.tokens[2*y+2]:m.length;if(T===v)continue;let R=h.tokens[2*y+1],N=Ge(o[Ze.getForeground(R)],s),F=Ze.getFontStyle(R),k={content:m.substring(T,v),offset:C+T,color:N,fontStyle:F};if(r.includeExplanation){let I=[];if(r.includeExplanation!=="scopeName")for(let G of a.settings){let U;switch(typeof G.scope){case"string":U=G.scope.split(/,/).map(ne=>ne.trim());break;case"object":U=G.scope;break;default:continue}I.push({settings:G,selectors:U.map(ne=>ne.split(/ /))})}k.explanation=[];let O=0;for(;T+O<v;){let G=w[g],U=m.substring(G.startIndex,G.endIndex);O+=U.length,k.explanation.push({content:U,scopes:r.includeExplanation==="scopeName"?qd(G.scopes):Gd(I,G.scopes)}),g+=1}}f.push(k)}d.push(f),f=[],u=h.ruleStack}return{tokens:d,stateStack:u}}function qd(e){return e.map(t=>({scopeName:t}))}function Gd(e,t){let a=[];for(let o=0,r=t.length;o<r;o++){let s=t[o];a[o]={scopeName:s,themeMatches:zd(e,s,t.slice(0,o))}}return a}function rn(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function Wd(e,t,a){if(!rn(e[e.length-1],t))return!1;let o=e.length-2,r=a.length-1;for(;o>=0&&r>=0;)rn(e[o],a[r])&&(o-=1),r-=1;return o===-1}function zd(e,t,a){let o=[];for(let{selectors:r,settings:s}of e)for(let n of r)if(Wd(n,t,a)){o.push(s);break}return o}function wn(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=No(e,t,{...a,theme:l.theme}),f=_t(u),d=typeof l.theme=="string"?l.theme:l.theme.name;return{tokens:u,state:f,theme:d}}),s=jd(...r.map(l=>l.tokens)),n=s[0].map((l,u)=>l.map((f,d)=>{let p={content:f.content,variants:{},offset:f.offset};return"includeExplanation"in a&&a.includeExplanation&&(p.explanation=f.explanation),s.forEach((c,m)=>{let{content:C,explanation:x,offset:w,...g}=c[u][d];p.variants[o[m].color]=g}),p})),i=r[0].state?new ut(Object.fromEntries(r.map(l=>[l.theme,l.state?.getInternalStack(l.theme)])),r[0].state.lang):void 0;return i&&Pa(n,i),n}function jd(...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 f=i[u];f.content.length===l?(s[u].push(f),n[u]+=1,i[u]=r[u][n[u]]):(s[u].push({...f,content:f.content.slice(0,l)}),i[u]={...f,content:f.content.slice(l),offset:f.offset+l})}}}return t}function ka(e,t,a){let o,r,s,n,i,l;if("themes"in a){let{defaultColor:u="light",cssVariablePrefix:f="--shiki-",colorsRendering:d="css-vars"}=a,p=Object.entries(a.themes).filter(w=>w[1]).map(w=>({color:w[0],theme:w[1]})).sort((w,g)=>w.color===u?-1:g.color===u?1:0);if(p.length===0)throw new Q("`themes` option must not be empty");let c=wn(e,t,a);if(l=_t(c),u&&_o!==u&&!p.find(w=>w.color===u))throw new Q(`\`themes\` option must contain the defaultColor key \`${u}\``);let m=p.map(w=>e.getTheme(w.theme)),C=p.map(w=>w.color);s=c.map(w=>w.map(g=>kd(g,C,f,u,d))),l&&Pa(s,l);let x=p.map(w=>Ia(w.theme,a));r=sn(p,m,x,f,u,"fg",d),o=sn(p,m,x,f,u,"bg",d),n=`shiki-themes ${m.map(w=>w.name).join(" ")}`,i=u?void 0:[r,o].join(";")}else if("theme"in a){let u=Ia(a.theme,a);s=No(e,t,a);let f=e.getTheme(a.theme);o=Ge(f.bg,u),r=Ge(f.fg,u),n=f.name,l=_t(s)}else throw new Q("Invalid options, either `theme` or `themes` must be provided");return{tokens:s,fg:r,bg:o,themeName:n,rootStyle:i,grammarState:l}}function sn(e,t,a,o,r,s,n){return e.map((i,l)=>{let u=Ge(t[l][s],a[l])||"inherit",f=`${o+i.color}${s==="bg"?"-bg":""}:${u}`;if(l===0&&r){if(r===_o&&e.length>1){let d=e.findIndex(C=>C.color==="light"),p=e.findIndex(C=>C.color==="dark");if(d===-1||p===-1)throw new Q('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let c=Ge(t[d][s],a[d])||"inherit",m=Ge(t[p][s],a[p])||"inherit";return`light-dark(${c}, ${m});${f}`}return u}return n==="css-vars"?f:null}).filter(i=>!!i).join(";")}function ba(e,t,a,o={meta:{},options:a,codeToHast:(r,s)=>ba(e,r,s),codeToTokens:(r,s)=>ka(e,r,s)}){let r=t;for(let m of ya(a))r=m.preprocess?.call(o,r,a)||r;let{tokens:s,fg:n,bg:i,themeName:l,rootStyle:u,grammarState:f}=ka(e,r,a),{mergeWhitespaces:d=!0,mergeSameStyleTokens:p=!1}=a;d===!0?s=$d(s):d==="never"&&(s=Xd(s)),p&&(s=Qd(s));let c={...o,get source(){return r}};for(let m of ya(a))s=m.tokens?.call(c,s)||s;return Vd(s,{...a,fg:n,bg:i,themeName:l,rootStyle:a.rootStyle===!1?!1:a.rootStyle??u},c,f)}function Vd(e,t,a,o=_t(e)){let r=ya(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[C,x]of Object.entries(t.meta||{}))C.startsWith("_")||(u[C]=x);let f={type:"element",tagName:"pre",properties:u,children:[],data:t.data},d={type:"element",tagName:"code",properties:{},children:s},p=[],c={...a,structure:i,addClassToHast:pn,get source(){return a.source},get tokens(){return e},get options(){return t},get root(){return n},get pre(){return f},get code(){return d},get lines(){return p}};if(e.forEach((C,x)=>{x&&(i==="inline"?n.children.push({type:"element",tagName:"br",properties:{},children:[]}):i==="classic"&&s.push({type:"text",value:`
|
|
13
|
+
`}));let w={type:"element",tagName:"span",properties:{class:"line"},children:[]},g=0;for(let h of C){let L={type:"element",tagName:"span",properties:{...h.htmlAttrs},children:[{type:"text",value:h.content}]},y=Ro(h.htmlStyle||Sa(h));y&&(L.properties.style=y);for(let T of r)L=T?.span?.call(c,L,x+1,g,w,h)||L;i==="inline"?n.children.push(L):i==="classic"&&w.children.push(L),g+=h.content.length}if(i==="classic"){for(let h of r)w=h?.line?.call(c,w,x+1)||w;p.push(w),s.push(w)}else i==="inline"&&p.push(w)}),i==="classic"){for(let C of r)d=C?.code?.call(c,d)||d;f.children.push(d);for(let C of r)f=C?.pre?.call(c,f)||f;n.children.push(f)}else if(i==="inline"){let C=[],x={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(let h of n.children)h.type==="element"&&h.tagName==="br"?(C.push(x),x={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(h.type==="element"||h.type==="text")&&x.children.push(h);C.push(x);let g={type:"element",tagName:"code",properties:{},children:C};for(let h of r)g=h?.code?.call(c,g)||g;n.children=[];for(let h=0;h<g.children.length;h++){h>0&&n.children.push({type:"element",tagName:"br",properties:{},children:[]});let L=g.children[h];L.type==="element"&&n.children.push(...L.children)}}let m=n;for(let C of r)m=C?.root?.call(c,m)||m;return o&&Pa(m,o),m}function $d(e){return e.map(t=>{let a=[],o="",r;return t.forEach((s,n)=>{let l=!(s.fontStyle&&(s.fontStyle&fe.Underline||s.fontStyle&fe.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 Xd(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 Qd(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=Ro(r.htmlStyle||Sa(r)),n=Ro(o.htmlStyle||Sa(o)),i=r.fontStyle&&(r.fontStyle&fe.Underline||r.fontStyle&fe.Strikethrough),l=o.fontStyle&&(o.fontStyle&fe.Underline||o.fontStyle&fe.Strikethrough);!i&&!l&&s===n?r.content+=o.content:a.push({...o})}return a})}var Kd=Ao;function Jd(e,t,a){let o={meta:{},options:a,codeToHast:(s,n)=>ba(e,s,n),codeToTokens:(s,n)=>ka(e,s,n)},r=Kd(ba(e,t,a,o));for(let s of ya(a))r=s.postprocess?.call(o,r,a)||r;return r}var nn={light:"#333333",dark:"#bbbbbb"},ln={light:"#fffffe",dark:"#1e1e1e"},un="__shiki_resolved";function Uo(e){if(e?.[un])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"?nn.light:nn.dark),a||(a=t.type==="light"?ln.light:ln.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 f={...i,settings:{...i.settings}};if(l){let d=n(i.settings.foreground);t.colorReplacements[d]=i.settings.foreground,f.settings.foreground=d}if(u){let d=n(i.settings.background);t.colorReplacements[d]=i.settings.background,f.settings.background=d}return f});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,un,{enumerable:!1,writable:!1,value:!0}),t}async function xn(e){return Array.from(new Set((await Promise.all(e.filter(t=>!fn(t)).map(async t=>await dn(t).then(a=>Array.isArray(a)?a:[a])))).flat()))}async function Ln(e){return(await Promise.all(e.map(async a=>cn(a)?null:Uo(await dn(a))))).filter(a=>!!a)}var Mo=3,Zd=!1;function Yd(e,t=3){if(Mo&&!(typeof Mo=="number"&&t>Mo)){if(Zd)throw new Error(`[SHIKI DEPRECATE]: ${e}`);console.trace(`[SHIKI DEPRECATE]: ${e}`)}}var qe=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Cn(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 qe(`Circular alias \`${Array.from(a).join(" -> ")} -> ${e}\``);a.add(e)}}return e}var Fo=class extends Ns{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=Uo(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=vt.createFromRawTheme(t),this._textmateThemeCache.set(t,a)),this._syncRegistry.setTheme(a)}getGrammar(t){return t=Cn(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 qe(`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))}},Bo=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}},Et=0;function ef(e){Et+=1,e.warnings!==!1&&Et>=10&&Et%10===0&&console.warn(`[Shiki] ${Et} 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 qe("`engine` option is required for synchronous mode");let a=(e.langs||[]).flat(1),o=(e.themes||[]).flat(1).map(Uo),r=new Bo(e.engine,a),s=new Fo(r,o,a,e.langAlias),n;function i(h){return Cn(h,e.langAlias)}function l(h){w();let L=s.getGrammar(typeof h=="string"?h:h.name);if(!L)throw new qe(`Language \`${h}\` not found, you may need to load it first`);return L}function u(h){if(h==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};w();let L=s.getTheme(h);if(!L)throw new qe(`Theme \`${h}\` not found, you may need to load it first`);return L}function f(h){w();let L=u(h);n!==h&&(s.setTheme(L),n=h);let y=s.getColorMap();return{theme:L,colorMap:y}}function d(){return w(),s.getLoadedThemes()}function p(){return w(),s.getLoadedLanguages()}function c(...h){w(),s.loadLanguages(h.flat(1))}async function m(...h){return c(await xn(h))}function C(...h){w();for(let L of h.flat(1))s.loadTheme(L)}async function x(...h){return w(),C(await Ln(h))}function w(){if(t)throw new qe("Shiki instance has been disposed")}function g(){t||(t=!0,s.dispose(),Et-=1)}return{setTheme:f,getTheme:u,getLanguage:l,getLoadedThemes:d,getLoadedLanguages:p,resolveLangAlias:i,loadLanguage:m,loadLanguageSync:c,loadTheme:x,loadThemeSync:C,dispose:g,[Symbol.dispose]:g}}async function tf(e){e.engine||Yd("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,a,o]=await Promise.all([Ln(e.themes||[]),xn(e.langs||[]),e.engine]);return ef({...e,themes:t,langs:a,engine:o})}async function af(e){let t=await tf(e);return{getLastGrammarState:(...a)=>Ud(t,...a),codeToTokensBase:(a,o)=>No(t,a,o),codeToTokensWithThemes:(a,o)=>wn(t,a,o),codeToTokens:(a,o)=>ka(t,a,o),codeToHast:(a,o)=>ba(t,a,o),codeToHtml:(a,o)=>Jd(t,a,o),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function In(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,fn(d))return[];let p=t[d];if(!p)throw new Q(`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(cn(d))return"none";if(typeof d=="string"){let p=a[d];if(!p)throw new Q(`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)),f=await af({engine:s.engine??o(),...s,themes:l,langs:u});return{...f,loadLanguage(...d){return f.loadLanguage(...d.map(n))},loadTheme(...d){return f.loadTheme(...d.map(i))},getBundledLanguages(){return t},getBundledThemes(){return a}}}return r}function of(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 Sn(e,t){let a=of(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)}}}var Ho=[{id:"abap",name:"ABAP",import:(()=>import("../abap-KGVIZMDC.js"))},{id:"actionscript-3",name:"ActionScript",import:(()=>import("../actionscript-3-2UHK5QYP.js"))},{id:"ada",name:"Ada",import:(()=>import("../ada-JKTWR5BV.js"))},{id:"angular-html",name:"Angular HTML",import:(()=>import("../angular-html-EOIKHM3D.js"))},{id:"angular-ts",name:"Angular TypeScript",import:(()=>import("../angular-ts-A7ZNTSV6.js"))},{id:"apache",name:"Apache Conf",import:(()=>import("../apache-MPGFGQFB.js"))},{id:"apex",name:"Apex",import:(()=>import("../apex-BOAZL66Z.js"))},{id:"apl",name:"APL",import:(()=>import("../apl-QBN4KIYA.js"))},{id:"applescript",name:"AppleScript",import:(()=>import("../applescript-C4CJ3STL.js"))},{id:"ara",name:"Ara",import:(()=>import("../ara-FSFFBRSD.js"))},{id:"asciidoc",name:"AsciiDoc",aliases:["adoc"],import:(()=>import("../asciidoc-QQK2LANG.js"))},{id:"asm",name:"Assembly",import:(()=>import("../asm-X43A2VYW.js"))},{id:"astro",name:"Astro",import:(()=>import("../astro-OQUOYMBE.js"))},{id:"awk",name:"AWK",import:(()=>import("../awk-4Z3PRTF7.js"))},{id:"ballerina",name:"Ballerina",import:(()=>import("../ballerina-JCXSJ2QD.js"))},{id:"bat",name:"Batch File",aliases:["batch"],import:(()=>import("../bat-XFWR7RMZ.js"))},{id:"beancount",name:"Beancount",import:(()=>import("../beancount-7BBDB4BH.js"))},{id:"berry",name:"Berry",aliases:["be"],import:(()=>import("../berry-PQ2BEJIZ.js"))},{id:"bibtex",name:"BibTeX",import:(()=>import("../bibtex-J2PAB23I.js"))},{id:"bicep",name:"Bicep",import:(()=>import("../bicep-TNKT6R3W.js"))},{id:"blade",name:"Blade",import:(()=>import("../blade-QBDEYXMB.js"))},{id:"bsl",name:"1C (Enterprise)",aliases:["1c"],import:(()=>import("../bsl-PQW6E45S.js"))},{id:"c",name:"C",import:(()=>import("../c-PZBJFNXE.js"))},{id:"c3",name:"C3",import:(()=>import("../c3-GP7XYHE6.js"))},{id:"cadence",name:"Cadence",aliases:["cdc"],import:(()=>import("../cadence-NABGDHKY.js"))},{id:"cairo",name:"Cairo",import:(()=>import("../cairo-WQSC2GLN.js"))},{id:"clarity",name:"Clarity",import:(()=>import("../clarity-NXNSINKX.js"))},{id:"clojure",name:"Clojure",aliases:["clj"],import:(()=>import("../clojure-Y57BKRMA.js"))},{id:"cmake",name:"CMake",import:(()=>import("../cmake-LVMEA3JZ.js"))},{id:"cobol",name:"COBOL",import:(()=>import("../cobol-6DNJTKH3.js"))},{id:"codeowners",name:"CODEOWNERS",import:(()=>import("../codeowners-JYHOTXQS.js"))},{id:"codeql",name:"CodeQL",aliases:["ql"],import:(()=>import("../codeql-IWWSYR3L.js"))},{id:"coffee",name:"CoffeeScript",aliases:["coffeescript"],import:(()=>import("../coffee-NNDQ5QXC.js"))},{id:"common-lisp",name:"Common Lisp",aliases:["lisp"],import:(()=>import("../common-lisp-JKXCDYH3.js"))},{id:"coq",name:"Coq",import:(()=>import("../coq-BEHPNP64.js"))},{id:"cpp",name:"C++",aliases:["c++"],import:(()=>import("../cpp-IALOHSZA.js"))},{id:"crystal",name:"Crystal",import:(()=>import("../crystal-ZDP3FIUI.js"))},{id:"csharp",name:"C#",aliases:["c#","cs"],import:(()=>import("../csharp-ODFBXRGA.js"))},{id:"css",name:"CSS",import:(()=>import("../css-CJGL5AVH.js"))},{id:"csv",name:"CSV",import:(()=>import("../csv-LIK4TU3Z.js"))},{id:"cue",name:"CUE",import:(()=>import("../cue-UAAEAKHI.js"))},{id:"cypher",name:"Cypher",aliases:["cql"],import:(()=>import("../cypher-SZPVUQZJ.js"))},{id:"d",name:"D",import:(()=>import("../d-VSCA3XHG.js"))},{id:"dart",name:"Dart",import:(()=>import("../dart-A4PE6FIS.js"))},{id:"dax",name:"DAX",import:(()=>import("../dax-TILIKSFB.js"))},{id:"desktop",name:"Desktop",import:(()=>import("../desktop-75KK3D55.js"))},{id:"diff",name:"Diff",import:(()=>import("../diff-HOT6P45M.js"))},{id:"docker",name:"Dockerfile",aliases:["dockerfile"],import:(()=>import("../docker-FF35TY6T.js"))},{id:"dotenv",name:"dotEnv",import:(()=>import("../dotenv-FVPPHJI3.js"))},{id:"dream-maker",name:"Dream Maker",import:(()=>import("../dream-maker-SYE3ZPSJ.js"))},{id:"edge",name:"Edge",import:(()=>import("../edge-CCLQ2CKA.js"))},{id:"elixir",name:"Elixir",import:(()=>import("../elixir-F6DQGRKA.js"))},{id:"elm",name:"Elm",import:(()=>import("../elm-5QRQXDZ6.js"))},{id:"emacs-lisp",name:"Emacs Lisp",aliases:["elisp"],import:(()=>import("../emacs-lisp-NJ4S4OHV.js"))},{id:"erb",name:"ERB",import:(()=>import("../erb-HGSLHT5Y.js"))},{id:"erlang",name:"Erlang",aliases:["erl"],import:(()=>import("../erlang-APEONNZ6.js"))},{id:"fennel",name:"Fennel",import:(()=>import("../fennel-7OCMFVPS.js"))},{id:"fish",name:"Fish",import:(()=>import("../fish-BC46ME2N.js"))},{id:"fluent",name:"Fluent",aliases:["ftl"],import:(()=>import("../fluent-MXZS6EX3.js"))},{id:"fortran-fixed-form",name:"Fortran (Fixed Form)",aliases:["f","for","f77"],import:(()=>import("../fortran-fixed-form-35BC2KX6.js"))},{id:"fortran-free-form",name:"Fortran (Free Form)",aliases:["f90","f95","f03","f08","f18"],import:(()=>import("../fortran-free-form-AXRAI2HH.js"))},{id:"fsharp",name:"F#",aliases:["f#","fs"],import:(()=>import("../fsharp-JKNSQXHD.js"))},{id:"gdresource",name:"GDResource",aliases:["tscn","tres"],import:(()=>import("../gdresource-ZMKZGPZV.js"))},{id:"gdscript",name:"GDScript",aliases:["gd"],import:(()=>import("../gdscript-HNCVXEYB.js"))},{id:"gdshader",name:"GDShader",import:(()=>import("../gdshader-XAJ4QRYP.js"))},{id:"genie",name:"Genie",import:(()=>import("../genie-HEFVQZAP.js"))},{id:"gherkin",name:"Gherkin",import:(()=>import("../gherkin-OFBRDPXX.js"))},{id:"git-commit",name:"Git Commit Message",import:(()=>import("../git-commit-ZE2M3Q5H.js"))},{id:"git-rebase",name:"Git Rebase Message",import:(()=>import("../git-rebase-3N3INGLU.js"))},{id:"gleam",name:"Gleam",import:(()=>import("../gleam-NFFQFQLP.js"))},{id:"glimmer-js",name:"Glimmer JS",aliases:["gjs"],import:(()=>import("../glimmer-js-RSUW6JYN.js"))},{id:"glimmer-ts",name:"Glimmer TS",aliases:["gts"],import:(()=>import("../glimmer-ts-EZGWLX5T.js"))},{id:"glsl",name:"GLSL",import:(()=>import("../glsl-VJLRYEVJ.js"))},{id:"gn",name:"GN",import:(()=>import("../gn-UH2XQWLG.js"))},{id:"gnuplot",name:"Gnuplot",import:(()=>import("../gnuplot-K6IV6NNR.js"))},{id:"go",name:"Go",import:(()=>import("../go-BDV7RR5G.js"))},{id:"graphql",name:"GraphQL",aliases:["gql"],import:(()=>import("../graphql-YEJQLMOO.js"))},{id:"groovy",name:"Groovy",import:(()=>import("../groovy-SX7K3XGL.js"))},{id:"hack",name:"Hack",import:(()=>import("../hack-3TGPQNR2.js"))},{id:"haml",name:"Ruby Haml",import:(()=>import("../haml-335RVEQR.js"))},{id:"handlebars",name:"Handlebars",aliases:["hbs"],import:(()=>import("../handlebars-73IS6B2J.js"))},{id:"haskell",name:"Haskell",aliases:["hs"],import:(()=>import("../haskell-P5PTJARU.js"))},{id:"haxe",name:"Haxe",import:(()=>import("../haxe-RCPSSA3N.js"))},{id:"hcl",name:"HashiCorp HCL",import:(()=>import("../hcl-AKKZAVC2.js"))},{id:"hjson",name:"Hjson",import:(()=>import("../hjson-REXV6F6N.js"))},{id:"hlsl",name:"HLSL",import:(()=>import("../hlsl-AJ7VWOVL.js"))},{id:"html",name:"HTML",import:(()=>import("../html-654LNGWF.js"))},{id:"html-derivative",name:"HTML (Derivative)",import:(()=>import("../html-derivative-CMQ7BFDQ.js"))},{id:"http",name:"HTTP",import:(()=>import("../http-NEPTRAQZ.js"))},{id:"hurl",name:"Hurl",import:(()=>import("../hurl-V6ZX2Q3F.js"))},{id:"hxml",name:"HXML",import:(()=>import("../hxml-5BXJCAAU.js"))},{id:"hy",name:"Hy",import:(()=>import("../hy-SB4TMFE7.js"))},{id:"imba",name:"Imba",import:(()=>import("../imba-Y64MHYWP.js"))},{id:"ini",name:"INI",aliases:["properties"],import:(()=>import("../ini-J2OP4CNW.js"))},{id:"java",name:"Java",import:(()=>import("../java-MJKJ5GPP.js"))},{id:"javascript",name:"JavaScript",aliases:["js","cjs","mjs"],import:(()=>import("../javascript-IYAGHPR6.js"))},{id:"jinja",name:"Jinja",import:(()=>import("../jinja-WPD26JJ6.js"))},{id:"jison",name:"Jison",import:(()=>import("../jison-UYDZQBN5.js"))},{id:"json",name:"JSON",import:(()=>import("../json-5V4JESJO.js"))},{id:"json5",name:"JSON5",import:(()=>import("../json5-7SHUZD3R.js"))},{id:"jsonc",name:"JSON with Comments",import:(()=>import("../jsonc-X3Z34FN3.js"))},{id:"jsonl",name:"JSON Lines",import:(()=>import("../jsonl-6I3D2HM6.js"))},{id:"jsonnet",name:"Jsonnet",import:(()=>import("../jsonnet-PZEQIBYV.js"))},{id:"jssm",name:"JSSM",aliases:["fsl"],import:(()=>import("../jssm-GJJ25IKR.js"))},{id:"jsx",name:"JSX",import:(()=>import("../jsx-NI2J427C.js"))},{id:"julia",name:"Julia",aliases:["jl"],import:(()=>import("../julia-QPZ7EOS6.js"))},{id:"kdl",name:"KDL",import:(()=>import("../kdl-IA7HA2TL.js"))},{id:"kotlin",name:"Kotlin",aliases:["kt","kts"],import:(()=>import("../kotlin-CCRMGYMI.js"))},{id:"kusto",name:"Kusto",aliases:["kql"],import:(()=>import("../kusto-7DW25GYH.js"))},{id:"latex",name:"LaTeX",import:(()=>import("../latex-F2CTDTFG.js"))},{id:"lean",name:"Lean 4",aliases:["lean4"],import:(()=>import("../lean-MGJJWBTR.js"))},{id:"less",name:"Less",import:(()=>import("../less-WFSIMX5G.js"))},{id:"liquid",name:"Liquid",import:(()=>import("../liquid-7CFNUD3V.js"))},{id:"llvm",name:"LLVM IR",import:(()=>import("../llvm-CFQSEDXB.js"))},{id:"log",name:"Log file",import:(()=>import("../log-YQNML6LA.js"))},{id:"logo",name:"Logo",import:(()=>import("../logo-2PPKBL2M.js"))},{id:"lua",name:"Lua",import:(()=>import("../lua-RPAMRKNG.js"))},{id:"luau",name:"Luau",import:(()=>import("../luau-GR2DOH6N.js"))},{id:"make",name:"Makefile",aliases:["makefile"],import:(()=>import("../make-DQQEEPI4.js"))},{id:"markdown",name:"Markdown",aliases:["md"],import:(()=>import("../markdown-OC5ILZSY.js"))},{id:"marko",name:"Marko",import:(()=>import("../marko-XSB3CTWQ.js"))},{id:"matlab",name:"MATLAB",import:(()=>import("../matlab-YQY6FS4U.js"))},{id:"mdc",name:"MDC",import:(()=>import("../mdc-TEVTGSC7.js"))},{id:"mdx",name:"MDX",import:(()=>import("../mdx-ZIH2JLVR.js"))},{id:"mermaid",name:"Mermaid",aliases:["mmd"],import:(()=>import("../mermaid-WPX56SBB.js"))},{id:"mipsasm",name:"MIPS Assembly",aliases:["mips"],import:(()=>import("../mipsasm-IDXQRZ2B.js"))},{id:"mojo",name:"Mojo",import:(()=>import("../mojo-MH7EQVOK.js"))},{id:"moonbit",name:"MoonBit",aliases:["mbt","mbti"],import:(()=>import("../moonbit-5JDFTWKE.js"))},{id:"move",name:"Move",import:(()=>import("../move-RWSXKYDY.js"))},{id:"narrat",name:"Narrat Language",aliases:["nar"],import:(()=>import("../narrat-QJUEXMVV.js"))},{id:"nextflow",name:"Nextflow",aliases:["nf"],import:(()=>import("../nextflow-2EICNZA3.js"))},{id:"nginx",name:"Nginx",import:(()=>import("../nginx-RIWAEC5Z.js"))},{id:"nim",name:"Nim",import:(()=>import("../nim-JPSYX5KC.js"))},{id:"nix",name:"Nix",import:(()=>import("../nix-XCKQVWCN.js"))},{id:"nushell",name:"nushell",aliases:["nu"],import:(()=>import("../nushell-QGW7HANA.js"))},{id:"objective-c",name:"Objective-C",aliases:["objc"],import:(()=>import("../objective-c-V7KYXFHL.js"))},{id:"objective-cpp",name:"Objective-C++",import:(()=>import("../objective-cpp-NKUEWVGU.js"))},{id:"ocaml",name:"OCaml",import:(()=>import("../ocaml-QT2CZJZN.js"))},{id:"odin",name:"Odin",import:(()=>import("../odin-MVMIXBHP.js"))},{id:"openscad",name:"OpenSCAD",aliases:["scad"],import:(()=>import("../openscad-BJDUXUUZ.js"))},{id:"pascal",name:"Pascal",import:(()=>import("../pascal-HGWEFD6L.js"))},{id:"perl",name:"Perl",import:(()=>import("../perl-X4IFZB22.js"))},{id:"php",name:"PHP",import:(()=>import("../php-3V7EPUAN.js"))},{id:"pkl",name:"Pkl",import:(()=>import("../pkl-VA5ZK5DW.js"))},{id:"plsql",name:"PL/SQL",import:(()=>import("../plsql-J7A7YWFH.js"))},{id:"po",name:"Gettext PO",aliases:["pot","potx"],import:(()=>import("../po-5RDI65JX.js"))},{id:"polar",name:"Polar",import:(()=>import("../polar-VUJL2E7F.js"))},{id:"postcss",name:"PostCSS",import:(()=>import("../postcss-ESTB5G7N.js"))},{id:"powerquery",name:"PowerQuery",import:(()=>import("../powerquery-ODTEKQCW.js"))},{id:"powershell",name:"PowerShell",aliases:["ps","ps1"],import:(()=>import("../powershell-ZOYRAWBJ.js"))},{id:"prisma",name:"Prisma",import:(()=>import("../prisma-QHG2W5GE.js"))},{id:"prolog",name:"Prolog",import:(()=>import("../prolog-CSAPG5PH.js"))},{id:"proto",name:"Protocol Buffer 3",aliases:["protobuf"],import:(()=>import("../proto-WDNJBTSW.js"))},{id:"pug",name:"Pug",aliases:["jade"],import:(()=>import("../pug-P7LS6DER.js"))},{id:"puppet",name:"Puppet",import:(()=>import("../puppet-LHFWHTY3.js"))},{id:"purescript",name:"PureScript",import:(()=>import("../purescript-DUFJP4FY.js"))},{id:"python",name:"Python",aliases:["py"],import:(()=>import("../python-5ZNZSNQ2.js"))},{id:"qml",name:"QML",import:(()=>import("../qml-LTAXB6W5.js"))},{id:"qmldir",name:"QML Directory",import:(()=>import("../qmldir-7Z2ODQLM.js"))},{id:"qss",name:"Qt Style Sheets",import:(()=>import("../qss-FDFD3HQD.js"))},{id:"r",name:"R",import:(()=>import("../r-6ZOS53WN.js"))},{id:"racket",name:"Racket",import:(()=>import("../racket-7AYZPEUI.js"))},{id:"raku",name:"Raku",aliases:["perl6"],import:(()=>import("../raku-A4F6VHVG.js"))},{id:"razor",name:"ASP.NET Razor",import:(()=>import("../razor-4QOCK4UD.js"))},{id:"reg",name:"Windows Registry Script",import:(()=>import("../reg-FAPHGG66.js"))},{id:"regexp",name:"RegExp",aliases:["regex"],import:(()=>import("../regexp-5BYLYA2R.js"))},{id:"rel",name:"Rel",import:(()=>import("../rel-7DJ7HHU4.js"))},{id:"riscv",name:"RISC-V",import:(()=>import("../riscv-YIYJATFG.js"))},{id:"ron",name:"RON",import:(()=>import("../ron-HYYMCHTX.js"))},{id:"rosmsg",name:"ROS Interface",import:(()=>import("../rosmsg-FDNH6QF7.js"))},{id:"rst",name:"reStructuredText",import:(()=>import("../rst-WIWCR2KQ.js"))},{id:"ruby",name:"Ruby",aliases:["rb"],import:(()=>import("../ruby-LXZJUMFB.js"))},{id:"rust",name:"Rust",aliases:["rs"],import:(()=>import("../rust-V3GMJA2K.js"))},{id:"sas",name:"SAS",import:(()=>import("../sas-D3G4GB3X.js"))},{id:"sass",name:"Sass",import:(()=>import("../sass-JTO65AGR.js"))},{id:"scala",name:"Scala",import:(()=>import("../scala-4XQGFSVM.js"))},{id:"scheme",name:"Scheme",import:(()=>import("../scheme-CB7AC7IL.js"))},{id:"scss",name:"SCSS",import:(()=>import("../scss-6SKV4OGI.js"))},{id:"sdbl",name:"1C (Query)",aliases:["1c-query"],import:(()=>import("../sdbl-LKGZFJ46.js"))},{id:"shaderlab",name:"ShaderLab",aliases:["shader"],import:(()=>import("../shaderlab-K536DHEB.js"))},{id:"shellscript",name:"Shell",aliases:["bash","sh","shell","zsh"],import:(()=>import("../shellscript-LRNUKUSZ.js"))},{id:"shellsession",name:"Shell Session",aliases:["console"],import:(()=>import("../shellsession-IBQK7VWQ.js"))},{id:"smalltalk",name:"Smalltalk",import:(()=>import("../smalltalk-DQOSWAW7.js"))},{id:"solidity",name:"Solidity",import:(()=>import("../solidity-V2FMZEG4.js"))},{id:"soy",name:"Closure Templates",aliases:["closure-templates"],import:(()=>import("../soy-VW3CKXWF.js"))},{id:"sparql",name:"SPARQL",import:(()=>import("../sparql-L2VKP7YP.js"))},{id:"splunk",name:"Splunk Query Language",aliases:["spl"],import:(()=>import("../splunk-KDKHP7GC.js"))},{id:"sql",name:"SQL",import:(()=>import("../sql-UF27CALT.js"))},{id:"ssh-config",name:"SSH Config",import:(()=>import("../ssh-config-JC2DQ6ED.js"))},{id:"stata",name:"Stata",import:(()=>import("../stata-7PXCUY24.js"))},{id:"stylus",name:"Stylus",aliases:["styl"],import:(()=>import("../stylus-2L7N3EZD.js"))},{id:"surrealql",name:"SurrealQL",aliases:["surql"],import:(()=>import("../surrealql-ZY3E6XEL.js"))},{id:"svelte",name:"Svelte",import:(()=>import("../svelte-Q45XIK2A.js"))},{id:"swift",name:"Swift",import:(()=>import("../swift-XBH5HZSC.js"))},{id:"system-verilog",name:"SystemVerilog",import:(()=>import("../system-verilog-VRAUSZY3.js"))},{id:"systemd",name:"Systemd Units",import:(()=>import("../systemd-JOTSGJD4.js"))},{id:"talonscript",name:"TalonScript",aliases:["talon"],import:(()=>import("../talonscript-NNZRZKOU.js"))},{id:"tasl",name:"Tasl",import:(()=>import("../tasl-MBFZ4QNC.js"))},{id:"tcl",name:"Tcl",import:(()=>import("../tcl-4GEDCBVE.js"))},{id:"templ",name:"Templ",import:(()=>import("../templ-3XM7DLQ3.js"))},{id:"terraform",name:"Terraform",aliases:["tf","tfvars"],import:(()=>import("../terraform-XTHOS4UK.js"))},{id:"tex",name:"TeX",import:(()=>import("../tex-UXMN2CV7.js"))},{id:"toml",name:"TOML",import:(()=>import("../toml-J6K55ZSV.js"))},{id:"ts-tags",name:"TypeScript with Tags",aliases:["lit"],import:(()=>import("../ts-tags-7WGDLEKX.js"))},{id:"tsv",name:"TSV",import:(()=>import("../tsv-DOUJHQDQ.js"))},{id:"tsx",name:"TSX",import:(()=>import("../tsx-G5BMVRHK.js"))},{id:"turtle",name:"Turtle",import:(()=>import("../turtle-JHJ7W6U5.js"))},{id:"twig",name:"Twig",import:(()=>import("../twig-C6YWFFZU.js"))},{id:"typescript",name:"TypeScript",aliases:["ts","cts","mts"],import:(()=>import("../typescript-LMKEAHFC.js"))},{id:"typespec",name:"TypeSpec",aliases:["tsp"],import:(()=>import("../typespec-5CLTIJYY.js"))},{id:"typst",name:"Typst",aliases:["typ"],import:(()=>import("../typst-4W4Z436Z.js"))},{id:"v",name:"V",import:(()=>import("../v-Y4SBDBN7.js"))},{id:"vala",name:"Vala",import:(()=>import("../vala-UMKT2MFA.js"))},{id:"vb",name:"Visual Basic",aliases:["cmd"],import:(()=>import("../vb-DQ7A5WJU.js"))},{id:"verilog",name:"Verilog",import:(()=>import("../verilog-N6ZF7GQD.js"))},{id:"vhdl",name:"VHDL",import:(()=>import("../vhdl-BNYDT37G.js"))},{id:"viml",name:"Vim Script",aliases:["vim","vimscript"],import:(()=>import("../viml-37RMDCBC.js"))},{id:"vue",name:"Vue",import:(()=>import("../vue-O6SLORWU.js"))},{id:"vue-html",name:"Vue HTML",import:(()=>import("../vue-html-ZLTZN573.js"))},{id:"vue-vine",name:"Vue Vine",import:(()=>import("../vue-vine-6JKAZ54I.js"))},{id:"vyper",name:"Vyper",aliases:["vy"],import:(()=>import("../vyper-GVXF46KD.js"))},{id:"wasm",name:"WebAssembly",import:(()=>import("../wasm-NTB4O7GL.js"))},{id:"wenyan",name:"Wenyan",aliases:["\u6587\u8A00"],import:(()=>import("../wenyan-W7WB3BC7.js"))},{id:"wgsl",name:"WGSL",import:(()=>import("../wgsl-7GTDVXHG.js"))},{id:"wikitext",name:"Wikitext",aliases:["mediawiki","wiki"],import:(()=>import("../wikitext-ASAFPAIL.js"))},{id:"wit",name:"WebAssembly Interface Types",import:(()=>import("../wit-ZBCR6544.js"))},{id:"wolfram",name:"Wolfram",aliases:["wl"],import:(()=>import("../wolfram-SZRZOETJ.js"))},{id:"xml",name:"XML",import:(()=>import("../xml-EBTJCOTU.js"))},{id:"xsl",name:"XSL",import:(()=>import("../xsl-IBYEXWDX.js"))},{id:"yaml",name:"YAML",aliases:["yml"],import:(()=>import("../yaml-GMVQNECR.js"))},{id:"zenscript",name:"ZenScript",import:(()=>import("../zenscript-O2TZFP4A.js"))},{id:"zig",name:"Zig",import:(()=>import("../zig-ZLGM7IMN.js"))}],yn=Object.fromEntries(Ho.map(e=>[e.id,e.import])),kn=Object.fromEntries(Ho.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),Nt={...yn,...kn};var rf=[{id:"andromeeda",displayName:"Andromeeda",type:"dark",import:(()=>import("../andromeeda-HAPOYWX3.js"))},{id:"aurora-x",displayName:"Aurora X",type:"dark",import:(()=>import("../aurora-x-R6WAWEBC.js"))},{id:"ayu-dark",displayName:"Ayu Dark",type:"dark",import:(()=>import("../ayu-dark-KMD4YO7F.js"))},{id:"ayu-light",displayName:"Ayu Light",type:"light",import:(()=>import("../ayu-light-2ATPDILG.js"))},{id:"ayu-mirage",displayName:"Ayu Mirage",type:"dark",import:(()=>import("../ayu-mirage-LJ7PG5AM.js"))},{id:"catppuccin-frappe",displayName:"Catppuccin Frapp\xE9",type:"dark",import:(()=>import("../catppuccin-frappe-Z4Y2POK6.js"))},{id:"catppuccin-latte",displayName:"Catppuccin Latte",type:"light",import:(()=>import("../catppuccin-latte-4TQUIKX4.js"))},{id:"catppuccin-macchiato",displayName:"Catppuccin Macchiato",type:"dark",import:(()=>import("../catppuccin-macchiato-B7YYPERT.js"))},{id:"catppuccin-mocha",displayName:"Catppuccin Mocha",type:"dark",import:(()=>import("../catppuccin-mocha-KX33VXKA.js"))},{id:"dark-plus",displayName:"Dark Plus",type:"dark",import:(()=>import("../dark-plus-LNHXUR7U.js"))},{id:"dracula",displayName:"Dracula Theme",type:"dark",import:(()=>import("../dracula-T2CMBBQ5.js"))},{id:"dracula-soft",displayName:"Dracula Theme Soft",type:"dark",import:(()=>import("../dracula-soft-SMFRNKX2.js"))},{id:"everforest-dark",displayName:"Everforest Dark",type:"dark",import:(()=>import("../everforest-dark-DBZHIUAO.js"))},{id:"everforest-light",displayName:"Everforest Light",type:"light",import:(()=>import("../everforest-light-TDAGYJUK.js"))},{id:"github-dark",displayName:"GitHub Dark",type:"dark",import:(()=>import("../github-dark-3E25TTAN.js"))},{id:"github-dark-default",displayName:"GitHub Dark Default",type:"dark",import:(()=>import("../github-dark-default-KCBFVSS5.js"))},{id:"github-dark-dimmed",displayName:"GitHub Dark Dimmed",type:"dark",import:(()=>import("../github-dark-dimmed-WRCBXEVS.js"))},{id:"github-dark-high-contrast",displayName:"GitHub Dark High Contrast",type:"dark",import:(()=>import("../github-dark-high-contrast-ET7SAHAV.js"))},{id:"github-light",displayName:"GitHub Light",type:"light",import:(()=>import("../github-light-6FNTZH5H.js"))},{id:"github-light-default",displayName:"GitHub Light Default",type:"light",import:(()=>import("../github-light-default-GGTAKNM7.js"))},{id:"github-light-high-contrast",displayName:"GitHub Light High Contrast",type:"light",import:(()=>import("../github-light-high-contrast-LHYKPR5E.js"))},{id:"gruvbox-dark-hard",displayName:"Gruvbox Dark Hard",type:"dark",import:(()=>import("../gruvbox-dark-hard-IQWZCHF7.js"))},{id:"gruvbox-dark-medium",displayName:"Gruvbox Dark Medium",type:"dark",import:(()=>import("../gruvbox-dark-medium-ARPWF4FS.js"))},{id:"gruvbox-dark-soft",displayName:"Gruvbox Dark Soft",type:"dark",import:(()=>import("../gruvbox-dark-soft-ODS6FPID.js"))},{id:"gruvbox-light-hard",displayName:"Gruvbox Light Hard",type:"light",import:(()=>import("../gruvbox-light-hard-KFA5YFDW.js"))},{id:"gruvbox-light-medium",displayName:"Gruvbox Light Medium",type:"light",import:(()=>import("../gruvbox-light-medium-MMET4L3Y.js"))},{id:"gruvbox-light-soft",displayName:"Gruvbox Light Soft",type:"light",import:(()=>import("../gruvbox-light-soft-DBZDERMK.js"))},{id:"horizon",displayName:"Horizon",type:"dark",import:(()=>import("../horizon-FSOMPXNP.js"))},{id:"houston",displayName:"Houston",type:"dark",import:(()=>import("../houston-FAQBCORN.js"))},{id:"kanagawa-dragon",displayName:"Kanagawa Dragon",type:"dark",import:(()=>import("../kanagawa-dragon-JNDVF5RJ.js"))},{id:"kanagawa-lotus",displayName:"Kanagawa Lotus",type:"light",import:(()=>import("../kanagawa-lotus-S7JK6TQ6.js"))},{id:"kanagawa-wave",displayName:"Kanagawa Wave",type:"dark",import:(()=>import("../kanagawa-wave-QJJIMVEV.js"))},{id:"laserwave",displayName:"LaserWave",type:"dark",import:(()=>import("../laserwave-YFP3EJVX.js"))},{id:"light-plus",displayName:"Light Plus",type:"light",import:(()=>import("../light-plus-NGDHCPUZ.js"))},{id:"material-theme",displayName:"Material Theme",type:"dark",import:(()=>import("../material-theme-H2BHKUKX.js"))},{id:"material-theme-darker",displayName:"Material Theme Darker",type:"dark",import:(()=>import("../material-theme-darker-VENCGWTB.js"))},{id:"material-theme-lighter",displayName:"Material Theme Lighter",type:"light",import:(()=>import("../material-theme-lighter-SDMLS22W.js"))},{id:"material-theme-ocean",displayName:"Material Theme Ocean",type:"dark",import:(()=>import("../material-theme-ocean-UHDBRLVF.js"))},{id:"material-theme-palenight",displayName:"Material Theme Palenight",type:"dark",import:(()=>import("../material-theme-palenight-3TB2BEET.js"))},{id:"min-dark",displayName:"Min Dark",type:"dark",import:(()=>import("../min-dark-CQ5WKNT7.js"))},{id:"min-light",displayName:"Min Light",type:"light",import:(()=>import("../min-light-LZRD4NPR.js"))},{id:"monokai",displayName:"Monokai",type:"dark",import:(()=>import("../monokai-WHRY6275.js"))},{id:"night-owl",displayName:"Night Owl",type:"dark",import:(()=>import("../night-owl-7PNEW2JB.js"))},{id:"night-owl-light",displayName:"Night Owl Light",type:"light",import:(()=>import("../night-owl-light-GJUYOOJR.js"))},{id:"nord",displayName:"Nord",type:"dark",import:(()=>import("../nord-EVGUMUX2.js"))},{id:"one-dark-pro",displayName:"One Dark Pro",type:"dark",import:(()=>import("../one-dark-pro-PMTR3SA7.js"))},{id:"one-light",displayName:"One Light",type:"light",import:(()=>import("../one-light-O7WH4N5X.js"))},{id:"plastic",displayName:"Plastic",type:"dark",import:(()=>import("../plastic-FBVUW6NJ.js"))},{id:"poimandres",displayName:"Poimandres",type:"dark",import:(()=>import("../poimandres-WBB7GZAD.js"))},{id:"red",displayName:"Red",type:"dark",import:(()=>import("../red-7KAMONOP.js"))},{id:"rose-pine",displayName:"Ros\xE9 Pine",type:"dark",import:(()=>import("../rose-pine-F2G5IHZD.js"))},{id:"rose-pine-dawn",displayName:"Ros\xE9 Pine Dawn",type:"light",import:(()=>import("../rose-pine-dawn-ALZ7XGH2.js"))},{id:"rose-pine-moon",displayName:"Ros\xE9 Pine Moon",type:"dark",import:(()=>import("../rose-pine-moon-D3K4SWUL.js"))},{id:"slack-dark",displayName:"Slack Dark",type:"dark",import:(()=>import("../slack-dark-YFPJODWS.js"))},{id:"slack-ochin",displayName:"Slack Ochin",type:"light",import:(()=>import("../slack-ochin-H67AWZOI.js"))},{id:"snazzy-light",displayName:"Snazzy Light",type:"light",import:(()=>import("../snazzy-light-OUVS63VK.js"))},{id:"solarized-dark",displayName:"Solarized Dark",type:"dark",import:(()=>import("../solarized-dark-2RCAVEXJ.js"))},{id:"solarized-light",displayName:"Solarized Light",type:"light",import:(()=>import("../solarized-light-XFSENHTC.js"))},{id:"synthwave-84",displayName:"Synthwave '84",type:"dark",import:(()=>import("../synthwave-84-5XXB3K6S.js"))},{id:"tokyo-night",displayName:"Tokyo Night",type:"dark",import:(()=>import("../tokyo-night-CHJCCBJH.js"))},{id:"vesper",displayName:"Vesper",type:"dark",import:(()=>import("../vesper-Y5GIEAN4.js"))},{id:"vitesse-black",displayName:"Vitesse Black",type:"dark",import:(()=>import("../vitesse-black-7TI33KHX.js"))},{id:"vitesse-dark",displayName:"Vitesse Dark",type:"dark",import:(()=>import("../vitesse-dark-FOB25MRB.js"))},{id:"vitesse-light",displayName:"Vitesse Light",type:"light",import:(()=>import("../vitesse-light-4WCNCTCO.js"))}],bn=Object.fromEntries(rf.map(e=>[e.id,e.import]));var Ot=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function sf(){return 2147483648}function nf(){return typeof performance<"u"?performance.now():Date.now()}var lf=(e,t)=>e+(t-e%t)%t;async function uf(e){let t,a,o={};function r(c){a=c,o.HEAPU8=new Uint8Array(c),o.HEAPU32=new Uint32Array(c)}function s(c,m,C){o.HEAPU8.copyWithin(c,m,m+C)}function n(c){try{return t.grow(c-a.byteLength+65535>>>16),r(t.buffer),1}catch{}}function i(c){let m=o.HEAPU8.length;c=c>>>0;let C=sf();if(c>C)return!1;for(let x=1;x<=4;x*=2){let w=m*(1+.2/x);w=Math.min(w,c+100663296);let g=Math.min(C,lf(Math.max(c,w),65536));if(n(g))return!0}return!1}let l=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function u(c,m,C=1024){let x=m+C,w=m;for(;c[w]&&!(w>=x);)++w;if(w-m>16&&c.buffer&&l)return l.decode(c.subarray(m,w));let g="";for(;m<w;){let h=c[m++];if(!(h&128)){g+=String.fromCharCode(h);continue}let L=c[m++]&63;if((h&224)===192){g+=String.fromCharCode((h&31)<<6|L);continue}let y=c[m++]&63;if((h&240)===224?h=(h&15)<<12|L<<6|y:h=(h&7)<<18|L<<12|y<<6|c[m++]&63,h<65536)g+=String.fromCharCode(h);else{let T=h-65536;g+=String.fromCharCode(55296|T>>10,56320|T&1023)}}return g}function f(c,m){return c?u(o.HEAPU8,c,m):""}let d={emscripten_get_now:nf,emscripten_memcpy_big:s,emscripten_resize_heap:i,fd_write:()=>0};async function p(){let m=await e({env:d,wasi_snapshot_preview1:d});t=m.memory,r(t.buffer),Object.assign(o,m),o.UTF8ToString=f}return await p(),o}var df=Object.defineProperty,ff=(e,t,a)=>t in e?df(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,ae=(e,t,a)=>ff(e,typeof t!="symbol"?t+"":t,a),oe=null;function cf(e){throw new Ot(e.UTF8ToString(e.getLastOnigError()))}var va=class e{constructor(t){ae(this,"utf16Length"),ae(this,"utf8Length"),ae(this,"utf16Value"),ae(this,"utf8Value"),ae(this,"utf16OffsetToUtf8"),ae(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 f=t.charCodeAt(u),d=f,p=!1;if(f>=55296&&f<=56319&&u+1<a){let c=t.charCodeAt(u+1);c>=56320&&c<=57343&&(d=(f-55296<<10)+65536|c-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}},Ma=class Re{constructor(t){if(ae(this,"id",++Re.LAST_ID),ae(this,"_onigBinding"),ae(this,"content"),ae(this,"utf16Length"),ae(this,"utf8Length"),ae(this,"utf16OffsetToUtf8"),ae(this,"utf8OffsetToUtf16"),ae(this,"ptr"),!oe)throw new Ot("Must invoke loadWasm first.");this._onigBinding=oe,this.content=t;let a=new va(t);this.utf16Length=a.utf16Length,this.utf8Length=a.utf8Length,this.utf16OffsetToUtf8=a.utf16OffsetToUtf8,this.utf8OffsetToUtf16=a.utf8OffsetToUtf16,this.utf8Length<1e4&&!Re._sharedPtrInUse?(Re._sharedPtr||(Re._sharedPtr=oe.omalloc(1e4)),Re._sharedPtrInUse=!0,oe.HEAPU8.set(a.utf8Value,Re._sharedPtr),this.ptr=Re._sharedPtr):this.ptr=a.createString(oe)}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===Re._sharedPtr?Re._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};ae(Ma,"LAST_ID",0);ae(Ma,"_sharedPtr",0);ae(Ma,"_sharedPtrInUse",!1);var Tn=Ma,Go=class{constructor(t){if(ae(this,"_onigBinding"),ae(this,"_ptr"),!oe)throw new Ot("Must invoke loadWasm first.");let a=[],o=[];for(let i=0,l=t.length;i<l;i++){let u=new va(t[i]);a[i]=u.createString(oe),o[i]=u.utf8Length}let r=oe.omalloc(4*t.length);oe.HEAPU32.set(a,r/4);let s=oe.omalloc(4*t.length);oe.HEAPU32.set(o,s/4);let n=oe.createOnigScanner(r,s,t.length);for(let i=0,l=t.length;i<l;i++)oe.ofree(a[i]);oe.ofree(s),oe.ofree(r),n===0&&cf(oe),this._onigBinding=oe,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 Tn(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++],f=i[l++],d=[];for(let p=0;p<f;p++){let c=t.convertUtf8OffsetToUtf16(i[l++]),m=t.convertUtf8OffsetToUtf16(i[l++]);d[p]={start:c,end:m,length:m-c}}return{index:u,captureIndices:d}}};function pf(e){return typeof e.instantiator=="function"}function mf(e){return typeof e.default=="function"}function hf(e){return typeof e.data<"u"}function gf(e){return typeof Response<"u"&&e instanceof Response}function wf(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 Aa;function xf(e){if(Aa)return Aa;async function t(){oe=await uf(async a=>{let o=e;return o=await o,typeof o=="function"&&(o=await o(a)),typeof o=="function"&&(o=await o(a)),pf(o)?o=await o.instantiator(a):mf(o)?o=await o.default(a):(hf(o)&&(o=o.data),gf(o)?typeof WebAssembly.instantiateStreaming=="function"?o=await Lf(o)(a):o=await Cf(o)(a):wf(o)?o=await qo(o)(a):o instanceof WebAssembly.Module?o=await qo(o)(a):"default"in o&&o.default instanceof WebAssembly.Module&&(o=await qo(o.default)(a))),"instance"in o&&(o=o.instance),"exports"in o&&(o=o.exports),o})}return Aa=t(),Aa}function qo(e){return t=>WebAssembly.instantiate(e,t)}function Lf(e){return t=>WebAssembly.instantiateStreaming(e,t)}function Cf(e){return async t=>{let a=await e.arrayBuffer();return WebAssembly.instantiate(a,t)}}async function Pn(e){return e&&await xf(e),{createScanner(t){return new Go(t.map(a=>typeof a=="string"?a:a.source))},createString(t){return new Tn(t)}}}var Ra=In({langs:Nt,themes:bn,engine:()=>Pn(import("../wasm-EOPKAILK.js"))}),{codeToHtml:If,codeToHast:Sf,codeToTokens:yf,codeToTokensBase:kf,codeToTokensWithThemes:bf,getSingletonHighlighter:Tf,getLastGrammarState:Pf}=Sn(Ra,{guessEmbeddedLanguages:mn});var An=new Set(Object.keys(Nt)),Wo=new Map,zo=new Map,dt=new Map,Af=(e,t)=>`${e}-${t[0]}-${t[1]}`,vf=(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}`},Mf=(e,t)=>{let a=Af(e,t);if(Wo.has(a))return Wo.get(a);let o=Ra({themes:t,langs:[e]});return Wo.set(a,o),o};function Rf(e={}){var t;let a=(t=e.themes)!=null?t:["github-light","github-dark"];return{name:"shiki",type:"code-highlighter",supportsLanguage(o){return An.has(o)},getSupportedLanguages(){return Array.from(An)},getThemes(){return a},highlight({code:o,language:r,themes:s},n){let i=vf(o,r,s);return zo.has(i)?zo.get(i):(n&&(dt.has(i)||dt.set(i,new Set),dt.get(i).add(n)),Mf(r,s).then(l=>{let u=l.getLoadedLanguages().includes(r)?r:"text",f=l.codeToTokens(o,{lang:u,themes:{light:s[0],dark:s[1]}});zo.set(i,f);let d=dt.get(i);if(d){for(let p of d)p(f);dt.delete(i)}}).catch(l=>{console.error("[Streamdown Code] Failed to highlight code:",l),dt.delete(i)}),null)}}}var vn=Rf();import{memo as Ff}from"react";import{jsx as Fa}from"react/jsx-runtime";var Ba=({className:e,from:t,children:a,...o})=>Fa("div",{className:P("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:Fa("div",{className:P("ww:flex ww:min-w-0 ww:flex-col ww:gap-2","ww:w-full"),children:a})}),Da=({children:e,className:t,...a})=>Fa("div",{className:P("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}),Bf={cjk:fs,code:vn},Df={enabled:!1},Ea=Ff(({className:e,linkSafety:t,...a})=>Fa(ao,{className:P("ww:size-full ww:[&>*:first-child]:mt-0 ww:[&>*:last-child]:mb-0",e),linkSafety:t??Df,plugins:Bf,...a}),(e,t)=>e.children===t.children);Ea.displayName="MessageResponse";import{jsx as Ef}from"react/jsx-runtime";function Mn({className:e,text:t,...a}){return t?Ef("pre",{className:P("ww:mb-2 ww:overflow-x-auto ww:whitespace-pre-wrap ww:break-words ww:text-xs ww:font-mono ww:text-muted-foreground",e),...a,children:t}):null}import{createContext as _f,useCallback as Nf,useContext as Dn,useEffect as Of,useMemo as Vo,useRef as Uf,useState as $o}from"react";import{Fragment as Bn,jsx as W,jsxs as Ee}from"react/jsx-runtime";function Hf(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 f=`${l}\u2009${u}`;r.push(f),s-=f.length+3}return`{${r.join(", ")}}`}function qf({text:e,className:t}){let[a,o]=$o(!1),r=Uf(null);Of(()=>()=>{r.current&&clearTimeout(r.current)},[]);let s=Nf(async n=>{n.stopPropagation();try{await navigator.clipboard.writeText(e),o(!0),r.current&&clearTimeout(r.current),r.current=setTimeout(()=>o(!1),2e3)}catch{}},[e]);return W(ke,{variant:"ghost",size:"sm",onClick:s,className:P("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:a?Ee(Bn,{children:[W(ht,{className:"ww:size-3.5"}),W("span",{children:"Copied"})]}):Ee(Bn,{children:[W(xt,{className:"ww:size-3.5"}),W("span",{children:"Copy"})]})})}function En({data:e,label:t,className:a,...o}){let[r,s]=$o(!1),n=Vo(()=>JSON.stringify(e,null,2),[e]),i=Hf(e);return Ee("div",{className:P("ww:rounded-lg ww:bg-tool-card",a),...o,children:[Ee("div",{className:"ww:flex ww:items-center ww:justify-between ww:px-3 ww:pt-2.5 ww:pb-1.5",children:[W("span",{className:"ww:text-xs ww:font-medium ww:text-muted-foreground",children:t}),W(qf,{text:n})]}),Ee("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:[W(wt,{className:P("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?W("pre",{className:"ww:overflow-x-auto ww:text-xs ww:font-mono ww:text-foreground ww:whitespace-pre-wrap ww:break-all",children:W("code",{children:n})}):W("span",{className:"ww:truncate ww:text-xs ww:font-mono ww:text-foreground/80",children:i})]})]})}var Xo=_f({open:!1,toggle:()=>{}});function _n({className:e,defaultOpen:t=!1,children:a,...o}){let[r,s]=$o(t);return W(Xo.Provider,{value:{open:r,toggle:()=>s(n=>!n)},children:W("div",{className:P("ww:mb-4 ww:w-full",e),"data-state":r?"open":"closed",...o,children:a})})}function Nn({className:e,title:t,state:a,...o}){let{open:r,toggle:s}=Dn(Xo),n=a==="input-available"||a==="input-streaming";return Ee("button",{type:"button",onClick:s,className:P("ww:flex ww:w-full ww:items-center ww:justify-between ww:gap-3 ww:py-1.5",e),"aria-expanded":r,...o,children:[Ee("div",{className:"ww:flex ww:min-w-0 ww:items-center ww:gap-2",children:[W(Oe,{className:"ww:size-4 ww:shrink-0 ww:text-muted-foreground"}),W("span",{className:"ww:truncate ww:text-sm ww:font-medium",children:t}),n&&W("span",{className:"ww:size-2 ww:shrink-0 ww:rounded-full ww:bg-primary ww:animate-pulse"})]}),W(gt,{className:P("ww:size-4 ww:shrink-0 ww:text-muted-foreground ww:transition-transform ww:duration-200",r&&"ww:rotate-180")})]})}function On({className:e,title:t,state:a,...o}){let r=a==="input-available"||a==="input-streaming";return Ee("div",{className:P("ww:mb-4 ww:flex ww:items-center ww:gap-2 ww:py-1.5 ww:text-sm ww:text-muted-foreground ww:italic",e),...o,children:[W("span",{className:"ww:truncate",children:t}),r&&W("span",{className:"ww:size-2 ww:shrink-0 ww:rounded-full ww:bg-primary ww:animate-pulse"})]})}function Un({className:e,children:t,...a}){let{open:o}=Dn(Xo);return W("div",{className:P("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:W("div",{className:"ww:min-h-0 ww:overflow-hidden",children:W("div",{className:P("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 Hn({className:e,input:t,debug:a,...o}){let r=Vo(()=>{if(!a&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:s,...n}=t;return n}return t},[t,a]);return W(En,{data:r,label:"Request",className:e,...o})}function jo(e){if(!(typeof e!="object"||e===null))return e}function qn(e){return jo(e?.ui)}function Gn(e){return jo(jo(e)?._meta)}function Rn(e){if(!e)return;let t=qn(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 Fn(e){return qn(e)?.autoHeight===!0}function _a(e,t,a){if(e){let o=Rn(a?.[e]?._meta);if(o)return o}return Rn(Gn(t))}function Wn(e,t,a){return e&&Fn(a?.[e]?._meta)?!0:Fn(Gn(t))}function zn({className:e,output:t,errorText:a,debug:o,...r}){let s=Vo(()=>{if(!o&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:n,...i}=t;return i}return t},[t,o]);return t||a?a?Ee("div",{className:P("ww:space-y-2",e),...r,children:[W("h4",{className:"ww:text-xs ww:font-medium ww:uppercase ww:tracking-wide ww:text-muted-foreground",children:"Error"}),W("div",{className:"ww:rounded-lg ww:bg-destructive/10 ww:p-3 ww:text-xs ww:text-destructive",children:a})]}):W(En,{data:s,label:"Response",className:e,...r}):null}import{useCallback as Gf,useEffect as Vn,useMemo as Wf,useRef as we,useState as $n}from"react";function ft(e){if(!e)return!1;let t=Array.isArray(e.content)&&e.content.length>0,a=typeof e.structuredContent=="object"&&e.structuredContent!==null&&Object.keys(e.structuredContent).length>0;return t||a}function jn(e,t){return!ft(e)&&!ft(t)?null:ft(e)?ft(t)?{...e.content||t.content?{content:[...e.content??[],...t.content??[]]}:{},...e.structuredContent||t.structuredContent?{structuredContent:{...e.structuredContent??{},...t.structuredContent??{}}}:{}}:{...e.content?{content:[...e.content]}:{},...e.structuredContent?{structuredContent:{...e.structuredContent}}:{}}:{...t?.content?{content:[...t.content]}:{},...t?.structuredContent?{structuredContent:{...t.structuredContent}}:{}}}import{jsx as ec}from"react/jsx-runtime";var zf="/api/mcp/resource",jf=500,Vf=0,$f=16,Xf="2026-01-26",Qf=300,Kf=3e3,Jf=3;function Zf(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function Yf(e,t,a){return _a(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function Qo({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:o=zf,chatSessionId:r,isDark:s=!1,className:n,autoHeight:i=!1,onOpenLink:l,onFollowUp:u,onCallTool:f,onDisplayModeChange:d,isFullscreen:p=!1,toolDefinitions:c}){let m=we(null),C=we(t),x=we(a),w=we({width:0,height:0}),g=we(null),h=we(!1),L=we(0),y=we("inline"),[T,v]=$n(Vf),[R,N]=$n(void 0),F=we(l),k=we(u),I=we(f),O=we(d),G=we(r),U=we(c);C.current=t,x.current=a,F.current=l,k.current=u,I.current=f,O.current=d,G.current=r,U.current=c;let ne=Gf(j=>i?Math.max(j+$f,0):Math.min(Math.max(j,50),jf),[i]),he=Wf(()=>{let j=o.includes("?")?"&":"?";return`${o}${j}uri=${encodeURIComponent(e)}`},[o,e]),Y=we(s);return Y.current=s,Vn(()=>{if(!h.current)return;let j=m.current;j?.contentWindow&&j.contentWindow.postMessage({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{theme:s?"dark":"light"}},"*")},[s]),Vn(()=>{let j=m.current;if(!j)return;let te=!1,ie=!1,le=null,ue=null,xe=setTimeout(()=>{if(te||ie||L.current>=Jf)return;L.current+=1;let V=new URL(j.src);V.searchParams.set("_retry",String(L.current)),j.src=V.toString()},Kf),M=V=>{j.contentWindow?.postMessage(V,"*")},X=V=>{if(te||V.source!==j.contentWindow)return;let H=V.data;if(!H||typeof H!="object"||H.jsonrpc!=="2.0")return;let K=H.method,b=H.id;if(K==="ui/initialize"&&b!=null){ie=!0,clearTimeout(xe),M({jsonrpc:"2.0",id:b,result:{protocolVersion:H.params?.protocolVersion??Xf,hostInfo:{name:"WaniWani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:Y.current?"dark":"light",displayMode:y.current}}});return}if(K==="ui/notifications/initialized"){h.current=!0;let A=C.current,E=x.current,B=E._meta&&typeof E._meta=="object"?E._meta:null,q=Zf(G.current),z=B&&typeof B.waniwani=="object"&&B.waniwani!==null?B.waniwani:null,Le=z||q?{...z??{},...q?{sessionId:q}:{}}:void 0,_e=B||Le?{...B??{},...Le?{waniwani:Le}:{}}:void 0;M({jsonrpc:"2.0",method:"ui/notifications/tool-input",params:{arguments:A}});let tt=E.content??[{type:"text",text:JSON.stringify(E)}];M({jsonrpc:"2.0",method:"ui/notifications/tool-result",params:{content:tt,structuredContent:E.structuredContent,_meta:_e,meta:_e}});return}if(K==="ui/notifications/size-changed"){let A=H.params,E=typeof A?.height=="number"?A.height:void 0,B=typeof A?.width=="number"?A.width:void 0,q=w.current,z=E!==void 0&&E!==q.height,Le=B!==void 0&&B!==q.width;if(!z&&!Le)return;if(z&&E!==void 0){q.height=E;let _e=ne(E),tt=j.getBoundingClientRect().height;if(g.current&&(g.current.cancel(),g.current=null),v(_e),j.animate&&Math.abs(tt-_e)>2){let at=j.animate([{height:`${tt}px`},{height:`${_e}px`}],{duration:Qf,easing:"ease-out",fill:"forwards"});g.current=at,at.onfinish=()=>{g.current===at&&(at.cancel(),g.current=null)}}}Le&&i&&B!==void 0&&(q.width=B,N(B));return}if(K==="ui/open-link"&&b!=null){let A=H.params?.url;typeof A=="string"&&(F.current?F.current(A):window.open(A,"_blank","noopener,noreferrer")),M({jsonrpc:"2.0",id:b,result:{}});return}if(K==="ui/message"&&b!=null){if(k.current&&H.params){let A=H.params,E=le;if(le=null,ue){clearTimeout(ue.timer);let B=ue.text;ue=null;let q=(A.content??[]).map(z=>z.text??"").join("").trim();A={...A,content:[{type:"text",text:`${q}
|
|
14
14
|
|
|
15
|
-
${M}`}]}}k.current({...b,...A?{modelContext:A}:{}})}B({jsonrpc:"2.0",id:O,result:{}});return}if(Q==="ui/update-model-context"&&O!=null){ue=jn(ue,G.params),B({jsonrpc:"2.0",id:O,result:{}});return}if(Q==="tools/call"&&O!=null){let b=I.current;if(!b){B({jsonrpc:"2.0",id:O,error:{code:-32601,message:"tools/call not supported"}});return}let A=G.params?.name;b({name:A,arguments:G.params?.arguments??{}}).then(M=>{B({jsonrpc:"2.0",id:O,result:M});let E=M.content?.map(V=>V.text??"").join("").trim();E&&Yf(A,M,H.current)&&(de&&clearTimeout(de.timer),de={text:E,timer:setTimeout(()=>{if(ae)return;let V=ue;ue=null,de=null,k.current?.({role:"user",content:[{type:"text",text:E}],...V?{modelContext:V}:{}})},500)})}).catch(M=>{let E=M instanceof Error?M.message:"Tool call failed";B({jsonrpc:"2.0",id:O,error:{code:-32e3,message:E}})});return}if(Q==="ui/request-display-mode"&&O!=null){let b=G.params?.mode,A=b==="fullscreen"||b==="inline"||b==="pip"?b:"inline";y.current=A,B({jsonrpc:"2.0",id:O,result:{mode:A}}),B({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{displayMode:A}}),U.current?.(A);return}if(Q==="ui/resource-teardown"&&O!=null){B({jsonrpc:"2.0",id:O,result:{}});return}Q==="ping"&&O!=null&&B({jsonrpc:"2.0",id:O,result:{}})};return window.addEventListener("message",j),()=>{ae=!0,clearTimeout(Le),de&&clearTimeout(de.timer),window.removeEventListener("message",j)}},[i,ie]),ec("iframe",{ref:m,src:he,sandbox:"allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox",className:P(!p&&"ww:rounded-md ww:border ww:border-border",n),style:{height:p?"100%":T,minWidth:p||!R?void 0:`min(${R}px, 100%)`,width:"100%",border:"none",colorScheme:s?"dark":"auto"},title:"MCP App"})}import{jsx as Ut,jsxs as tc}from"react/jsx-runtime";function Xn({icon:e,title:t,description:a,suggestions:o,onSuggestionSelect:r}){return tc("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&&Ut("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}),Ut("h2",{className:"ww:text-lg ww:font-semibold ww:text-foreground",children:t}),a&&Ut("p",{className:"ww:mt-1 ww:text-sm ww:text-muted-foreground ww:max-w-sm",children:a}),o&&o.length>0&&Ut("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)=>Ut("button",{type:"button",onClick:()=>r?.(s),className:P("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))})]})}import{Component as ac}from"react";import{jsx as Qn,jsxs as oc}from"react/jsx-runtime";var Oa=class extends ac{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.warn("[WaniWani] Widget failed to render:",t.message)}render(){return this.state.hasError?oc("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:[Qn("span",{children:"Widget failed to load"}),Qn("button",{type:"button",onClick:()=>this.setState({hasError:!1}),className:"ww:text-xs ww:font-medium ww:text-primary ww:hover:underline",children:"Retry"})]}):this.props.children}};import{Fragment as rc,jsx as te,jsxs as ct}from"react/jsx-runtime";function Kn(e){return e?e.replace(/[-_]/g," ").replace(/^\w/,t=>t.toUpperCase()):"Tool"}function Ua({messages:e,status:t,welcomeMessage:a,welcome:o,onSuggestionSelect:r,resourceEndpoint:s,chatSessionId:n,isDark:i,onFollowUp:l,onCallTool:u,onWidgetDisplayModeChange:f,fullscreenToolCallId:d,debug:p,showToolCalls:c=!0,toolDefinitions:m}){let C=t==="submitted"||t==="streaming",x=e[e.length-1],w=e.length>0,g=C&&(!w||x.role==="user"),h=d!=null;return ct(rc,{children:[!h&&(!w&&o?te(Xn,{...o,onSuggestionSelect:r}):a&&te(Da,{from:"assistant",children:te(Ea,{children:te(_a,{children:a})})})),e.map(L=>{let y=L.parts.filter(I=>I.type==="text"),T=L.parts.filter(I=>I.type==="reasoning"),v=L.parts.filter(I=>I.type==="file"),R=L.parts.filter(I=>"toolCallId"in I),N=L===x&&L.role==="assistant",F=y.length>0,k=h?R.some(I=>I.toolCallId===d):!1;return h&&!k?te("div",{style:{display:"none"}},L.id):ct(Da,{from:L.role,children:[!k&&T.map((I,U)=>te(Mn,{text:I.text},`reasoning-${L.id}-${U}`)),R.map(I=>{let U="output"in I?I.output:void 0,W=Na(I.toolName,U,m),H=Wn(I.toolName,U,m),ie=I.toolCallId===d;return ct("div",{style:ie?{position:"absolute",inset:0,zIndex:10,display:"flex",flexDirection:"column",overflow:"hidden",background:"var(--ww-color-background)"}:void 0,children:[te("div",{style:ie?{display:"none"}:void 0,children:c?ct(_n,{children:[te(Nn,{title:I.title??Kn(I.toolName),state:I.state}),ct(Un,{children:[te(Hn,{input:I.input,debug:p}),U!==void 0&&te(zn,{output:U,errorText:"errorText"in I?I.errorText:void 0,debug:p})]})]}):te(On,{title:I.title??Kn(I.toolName),state:I.state})}),W&&s&&U!==void 0&&te(Oa,{children:te(Qo,{isFullscreen:ie,resourceUri:W,toolInput:I.input??{},toolResult:{content:U.content,structuredContent:U.structuredContent,_meta:U._meta},resourceEndpoint:s,chatSessionId:n,isDark:i,autoHeight:H,toolDefinitions:m,onFollowUp:l,onCallTool:u,onDisplayModeChange:f?he=>f(he,{toolCallId:I.toolCallId,resourceUri:W,toolInput:I.input??{},toolResult:{content:U.content,structuredContent:U.structuredContent,_meta:U._meta},autoHeight:H}):void 0})})]},I.toolCallId)}),!k&&te("div",{children:ct(Ea,{children:[v.length>0&&te(Kr,{files:v}),F?y.map((I,U)=>te(_a,{children:I.type==="text"?I.text:""},`${L.id}-${U}`)):N&&C&&te(co,{})]})})]},L.id)}),!h&&g&&te(Da,{from:"assistant",children:te(Ea,{children:te(co,{})})})]})}import{jsx as Jn,jsxs as ic}from"react/jsx-runtime";var sc="https://app.waniwani.ai/assets/waniwani-logo.svg",nc="https://waniwani.ai";function Ha(){return ic("a",{href:nc,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:[Jn("span",{children:"AI agent powered by"}),Jn("img",{src:sc,alt:"WaniWani",width:72,height:10,"data-waniwani-logo":"",className:"ww:h-2.5 ww:w-auto"})]})}import{jsx as qa}from"react/jsx-runtime";function Ga({suggestions:e,isLoading:t,onSelect:a,className:o,...r}){return e.length===0&&!t?null:qa("div",{className:P("ww:px-4 ww:py-2",o),...r,children:qa("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=>qa("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)=>qa("button",{type:"button",onClick:()=>a(s),className:P("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))})})}import{useEffect as lc,useRef as uc,useState as dc}from"react";import{jsx as J,jsxs as We}from"react/jsx-runtime";var Zn=20;function fc(e){let t=Date.parse(e);if(Number.isNaN(t))return"";let a=Date.now()-t;return a<6e4?"just now":a<60*6e4?`${Math.floor(a/6e4)}m ago`:a<1440*6e4?`${Math.floor(a/(60*6e4))}h ago`:`${Math.floor(a/(1440*6e4))}d ago`}function cc(){return We("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":"New chat",children:[J("title",{children:"New chat"}),J("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),J("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}function pc(){return We("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":"Thread history",children:[J("title",{children:"Thread history"}),J("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),J("polyline",{points:"3 4 3 9 8 9"}),J("line",{x1:"12",y1:"7",x2:"12",y2:"12"}),J("line",{x1:"12",y1:"12",x2:"15",y2:"14"})]})}function mc(){return We("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":"Delete thread",children:[J("title",{children:"Delete thread"}),J("polyline",{points:"3 6 5 6 21 6"}),J("path",{d:"M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6"}),J("path",{d:"M10 11v6"}),J("path",{d:"M14 11v6"})]})}function Wa({threads:e,activeThreadId:t,onNewThread:a,onSelectThread:o,onDeleteThread:r}){let[s,n]=dc(!1),i=uc(null);lc(()=>{if(!s)return;let f=d=>{let p=i.current;p&&(d.composedPath().includes(p)||n(!1))};return document.addEventListener("mousedown",f),()=>document.removeEventListener("mousedown",f)},[s]);let l=e.slice(0,Zn),u=Math.max(0,e.length-Zn);return We("div",{ref:i,className:"ww:relative ww:flex ww:items-center ww:gap-1",children:[J("button",{type:"button",onClick:a,title:"New chat","aria-label":"New chat",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:J(cc,{})}),J("button",{type:"button",onClick:()=>n(f=>!f),title:"Thread history","aria-label":"Thread history","aria-expanded":s,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:J(pc,{})}),s&&We("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:[l.length===0&&J("div",{className:"ww:px-3 ww:py-3 ww:text-xs ww:text-muted-foreground",children:"No previous chats yet."}),l.map(f=>{let d=f.threadId===t;return We("div",{className:`ww:flex ww:items-center ww:gap-2 ww:px-3 ww:py-2 ww:text-xs hover:ww:bg-foreground/5 ${d?"ww:bg-foreground/5":""}`,children:[We("button",{type:"button",onClick:()=>{o(f.threadId),n(!1)},className:"ww:flex-1 ww:min-w-0 ww:text-left ww:cursor-pointer",children:[J("div",{className:"ww:truncate ww:text-foreground ww:font-medium",children:f.title}),J("div",{className:"ww:text-[10px] ww:text-muted-foreground",children:fc(f.updatedAt)})]}),J("button",{type:"button",onClick:p=>{p.stopPropagation(),r(f.threadId)},title:"Delete thread","aria-label":"Delete thread",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:J(mc,{})})]},f.threadId)}),u>0&&We("div",{className:"ww:px-3 ww:py-2 ww:text-[10px] ww:text-muted-foreground ww:border-t ww:border-border",children:[u," older thread",u===1?"":"s"," hidden"]})]})]})}import{useCallback as hc,useRef as gc}from"react";function za(e){let t=gc(e);return t.current=e,hc(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()},[])}import{useChat as Bc}from"@ai-sdk/react";import{useCallback as pe,useEffect as Ae,useRef as se,useState as et}from"react";import{DefaultChatTransport as wc,uiMessageChunkSchema as xc}from"ai";function Lc(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 ja=class extends wc{processResponseStream(t){let a="",o=xc(),r=o.validate?.bind(o);return t.pipeThrough(new TextDecoderStream).pipeThrough(new TransformStream({async transform(s,n){a+=s;let i=a.split(`
|
|
16
|
-
`);a=i.pop()??"";for(let l of i){let u=l.trim();if(!u.startsWith("data:"))continue;let f=u.slice(5).trim();if(f!=="[DONE]")try{let d=JSON.parse(f);if(!r){n.enqueue(d);continue}let p=await r(d);if(p.success){n.enqueue(p.value);continue}let c=Lc(p.error);if(c?.length){let m={...d};for(let x of c)delete m[x];let C=await r(m);C.success&&n.enqueue(C.value)}}catch{}}}}))}};var Cc="waniwani-memory";var Se="threads",Va="by_memoryUserId",Ic="by_updatedAt";var ei="memoryUserId",Yn="waniwani-memory-user-id",Ko=null;function Jo(){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 Sc(e,t){if(t<1&&(e.objectStoreNames.contains("ids")||e.createObjectStore("ids")),t<2&&!e.objectStoreNames.contains(Se)){let a=e.createObjectStore(Se,{keyPath:"threadId"});a.createIndex(Va,"memoryUserId",{unique:!1}),a.createIndex(Ic,"updatedAt",{unique:!1})}}async function Zo(){return new Promise((e,t)=>{let a=indexedDB.open(Cc,2);a.onupgradeneeded=o=>{Sc(a.result,o.oldVersion)},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})}async function yc(){return Zo()}async function kc(e){return new Promise((t,a)=>{let s=e.transaction("ids","readonly").objectStore("ids").get(ei);s.onsuccess=()=>t(typeof s.result=="string"?s.result:null),s.onerror=()=>a(s.error)})}async function bc(e,t){return new Promise((a,o)=>{let n=e.transaction("ids","readwrite").objectStore("ids").put(t,ei);n.onsuccess=()=>a(),n.onerror=()=>o(n.error)})}async function Tc(){if(typeof indexedDB>"u")return null;try{let e=await yc();try{let t=await kc(e);if(t)return t;let a=Jo();return await bc(e,a),a}finally{e.close()}}catch{return null}}function Pc(){try{let e=localStorage.getItem(Yn);if(e)return e;let t=Jo();return localStorage.setItem(Yn,t),t}catch{return null}}async function ti(){let e=await Tc();if(e)return e;let t=Pc();return t||(Ko||(Ko=Jo()),Ko)}var ai=50,oi=1e3;function $a(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 Xa(e){if(typeof indexedDB>"u")return null;let t=null;try{return t=await Zo(),await e(t)}catch{return null}finally{try{t?.close()}catch{}}}function Yo(e){return new Promise((t,a)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>a(e.error)})}async function er(e){return await Xa(async a=>{let s=a.transaction(Se,"readonly").objectStore(Se).index(Va),i=(await Yo(s.getAll(e))??[]).filter($a);return i.sort((l,u)=>l.updatedAt<u.updatedAt?1:-1),i})??[]}async function tr(e){return await Xa(async a=>{let r=a.transaction(Se,"readonly").objectStore(Se),s=await Yo(r.get(e));return $a(s)?s:null})??null}async function ar(e){if(!$a(e))return;let t=e.messages.length>oi?{...e,messages:e.messages.slice(e.messages.length-oi)}:e;await Xa(async a=>{await new Promise((l,u)=>{let f=a.transaction(Se,"readwrite");f.oncomplete=()=>l(),f.onerror=()=>u(f.error),f.onabort=()=>u(f.error),f.objectStore(Se).put(t)});let o=a.transaction(Se,"readwrite"),r=o.objectStore(Se),s=r.index(Va),i=(await Yo(s.getAll(t.memoryUserId))??[]).filter($a);if(i.length>ai){i.sort((u,f)=>u.updatedAt<f.updatedAt?-1:1);let l=i.slice(0,i.length-ai);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 ri(e){await Xa(async t=>(await new Promise((a,o)=>{let r=t.transaction(Se,"readwrite");r.oncomplete=()=>a(),r.onerror=()=>o(r.error),r.onabort=()=>o(r.error),r.objectStore(Se).delete(e)}),null))}async function si(e){return(await er(e))[0]?.threadId??null}function ni(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`}var ii="waniwani-visitor-id";function li(e,t){return e.match(t)?.[1]??null}function Ac(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=li(e,o);if(r)return{name:a,version:r}}return null}function vc(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=li(e,o);if(r)return{name:a,version:r.replace(/_/g,".")};if(a==="Linux"&&o.test(e))return{name:a,version:""}}return null}function Mc(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 Rc(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 Fc(){try{let a=localStorage.getItem(ii);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 Rc(e);try{localStorage.setItem(ii,t)}catch{}return t}async function ui(){let e=navigator.userAgent,[t,a]=await Promise.all([Fc(),ti()]);return{userAgent:e,browser:Ac(e),os:vc(e),deviceType:Mc(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 Dc="x-session-id",Ec=250;function di(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():kt()}function Qa(){return new Date().toISOString()}function fi(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}async function _c(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 Ka(e){let{api:t="/api/waniwani",headers:a,body:o,onMessageSent:r,onResponseReceived:s,enableThreadHistory:n=!1,activeThreadId:i,onThreadChange:l}=e,u=se(a),f=se(o),d=se(n);Ae(()=>{d.current=n},[n]);let p=se(void 0),c=se(null),[m,C]=et(void 0),x=se(m),[w,g]=et(i),h=se(w),[L,y]=et([]),[T,v]=et(!n),R=se(void 0),N=se(void 0),F=se(void 0),k=se(void 0),I=se(0),U=se(l);Ae(()=>{U.current=l},[l]);let W=pe(S=>{h.current=S,g(S),S&&U.current?.(S)},[]),H=pe(async()=>{if(!n)return;let S=c.current?.memoryUserId;if(!S)return;let D=await er(S);y(D)},[n]),ie=pe(()=>x.current,[]),he=pe(S=>{let D=fi(S);D&&x.current!==D&&(x.current=D,C(D))},[]),Y=pe(()=>{x.current=void 0,C(void 0)},[]);Ae(()=>{u.current=a},[a]),Ae(()=>{f.current=o},[o]),Ae(()=>{let S=!1,D=I.current;return(async()=>{try{let ye=await ui();if(S)return;c.current=ye}catch{}if(!n)return;let _=c.current?.memoryUserId;if(!_){v(!0);return}try{let ye=i??await si(_);if(S||D!==I.current)return;if(ye){let we=await tr(ye);if(S||D!==I.current)return;we&&we.memoryUserId===_&&(h.current=we.threadId,g(we.threadId),R.current=we.createdAt,N.current=we.title,we.sessionId&&(x.current=we.sessionId,C(we.sessionId)),Q(we.messages))}await H()}finally{S||v(!0)}})(),()=>{S=!0}},[]);let $=se(new ja({api:t,headers:()=>({...u.current}),body:()=>{let S={...f.current??{}},D=Object.hasOwn(S,"sessionId"),_=fi(S.sessionId);if(_)he(_),S.sessionId=_;else if(D)Y(),delete S.sessionId;else{let Te=ie();Te&&(S.sessionId=Te)}if(ft(p.current)&&(S.modelContext=p.current),c.current){let Te=c.current;S.visitorContext={timezone:Te.timezone,language:Te.language,languages:Te.languages,deviceType:Te.deviceType,referrer:Te.referrer,visitorId:Te.visitorId};let Be=typeof S.visitor=="object"&&S.visitor!==null?S.visitor:{},Di=typeof Be.client=="object"&&Be.client!==null?Be.client:{};S.visitor={...Be,client:{...Di,memoryUserId:Te.memoryUserId}}}let ye=typeof S.extra=="object"&&S.extra!==null&&!Array.isArray(S.extra)?S.extra:void 0,we=c.current?.memoryUserId,Ne=c.current?.language,Vt={};if(we&&(Vt.memoryUserId=we),Ne&&(Vt.locale=Ne),(Object.keys(Vt).length>0||ye)&&(S.extra={...Vt,...ye??{}}),d.current)if(Object.hasOwn(S,"threadId"))typeof S.threadId=="string"&&(h.current=S.threadId);else{let Be=h.current;Be||(Be=di(),R.current=Qa(),N.current=void 0,W(Be)),S.threadId=Be}return S},fetch:(async(S,D)=>{let _=await fetch(S,D);return p.current=void 0,he(_.headers.get(Dc)),_})})),ae=se(null),le=se(null),ue=se({}),[de,Le]=et(0),B=e.skipRemoteConfig===!0,j=pe(async()=>{if(!B)try{let S=await _c(t,u.current);ue.current=S,Le(D=>D+1)}catch(S){console.warn("[WaniWani] Failed to fetch tool definitions:",S instanceof Error?S.message:S)}},[t,B]);Ae(()=>{j()},[j]);let{messages:q,sendMessage:G,setMessages:Q,status:O}=Bc({messages:e.initialMessages,transport:$.current,onFinish({message:S}){s?.(),ae.current&&(le.current=S)},onError(S){console.warn("[WaniWani] Chat error:",S.message),ae.current&&(ae.current.reject(S),ae.current=null)}}),b=se(q);Ae(()=>{b.current=q},[q]),Ae(()=>{if(O==="ready"&&ae.current&&le.current){let S=ae.current,D=le.current;ae.current=null,le.current=null,S.resolve(D)}},[O]);let[A,M]=et(""),[E,V]=et([]),ee=O==="submitted"||O==="streaming",ve=pe(S=>{V(D=>D.filter(_=>_.id!==S))},[]),tt=ee&&E.length>0,at=pe(S=>{let D=!!S.text?.trim(),_=!!S.files?.length;if(D||_){if(ee){if(E.length>0)return;V(ye=>[...ye,{id:kt(),text:S.text||"",files:S.files??[],modelContext:S.modelContext}]),M("");return}p.current=S.modelContext,G({text:S.text||"",files:S.files}),r?.(S.text||""),M("")}},[G,r,ee,E.length]),Pi=pe(S=>new Promise((D,_)=>{ae.current={resolve:D,reject:_},G({text:S}),r?.(S)}),[G,r]);Ae(()=>{if(O!=="ready"||E.length===0)return;let[S,...D]=E;V(D),p.current=S.modelContext,G({text:S.text,files:S.files.length>0?S.files:void 0}),r?.(S.text)},[O,G,r,E]);let Ai=pe(()=>{Q([]),V([]),Y(),M(""),ue.current={},Le(S=>S+1),j()},[Q,Y,j]),zt=pe(()=>{if(!d.current)return;let S=c.current?.memoryUserId,D=h.current,_=b.current;if(!(!S||!D||_.length===0)){if(R.current||(R.current=Qa()),!N.current){let ye=_.find(Ne=>Ne.role==="user"),we=ye?ye.parts.map(Ne=>"text"in Ne&&typeof Ne.text=="string"?Ne.text:"").join(" "):"";N.current=ni(we)}return{threadId:D,memoryUserId:S,title:N.current,messages:_,sessionId:x.current,createdAt:R.current,updatedAt:Qa()}}},[]),dr=pe(async()=>{let S=zt();S&&(await ar(S),await H())},[zt,H]);Ae(()=>{if(n&&T&&!(O==="submitted"||O==="streaming")&&q.length!==0)return F.current&&clearTimeout(F.current),F.current=setTimeout(()=>{F.current=void 0;let S=dr().finally(()=>{k.current===S&&(k.current=void 0)});k.current=S},Ec),()=>{F.current&&clearTimeout(F.current)}},[n,T,q,O,dr]);let jt=pe(()=>{let S=k.current,D=F.current,_=D?zt():void 0;return D&&(clearTimeout(D),F.current=void 0),(async()=>{S&&await S,_&&(await ar(_),await H())})()},[zt,H]),vi=pe(()=>{I.current+=1,jt(),Q([]),V([]),Y(),M("");let S=di();return R.current=Qa(),N.current=void 0,W(S),H(),S},[Q,Y,W,H,jt]),eo=pe(async S=>{I.current+=1;let D=I.current;if(await jt(),D!==I.current)return;let _=await tr(S);D===I.current&&_&&(W(_.threadId),R.current=_.createdAt,N.current=_.title,_.sessionId?(x.current=_.sessionId,C(_.sessionId)):Y(),Q(_.messages),V([]),M(""))},[Q,Y,W,jt]),Mi=pe(async S=>{if(h.current===S){I.current+=1,F.current&&(clearTimeout(F.current),F.current=void 0);let D=k.current;D&&await D}await ri(S),await H(),h.current===S&&(Q([]),V([]),Y(),M(""),h.current=void 0,g(void 0),R.current=void 0,N.current=void 0)},[Q,Y,H]);Ae(()=>{n&&T&&i!==void 0&&i!==h.current&&eo(i)},[i,n,T,eo]);let Ri=pe(S=>{M(S.target.value)},[]),fr=q[q.length-1],cr=q.length>0,Fi=ee&&(!cr||fr.role==="user"),Bi=ue.current;return{messages:q,status:O,text:A,setText:M,handleSubmit:at,handleTextChange:Ri,isLoading:ee,showLoaderBubble:Fi,lastMessage:fr,hasMessages:cr,sendMessage:G,sendMessageAndWait:Pi,reset:Ai,queuedMessages:E,queueFull:tt,removeQueuedMessage:ve,sessionId:m,toolDefinitions:Bi,refreshToolDefinitions:j,threads:L,activeThreadId:w,isThreadHistoryReady:T,startNewThread:vi,switchThread:eo,deleteThread:Mi}}import{useEffect as ci,useRef as Nc,useState as Oc}from"react";var Uc={debug:!1,eval:!1};function pi(e="/api/waniwani",t,a=!1){let[o,r]=Oc(Uc),s=Nc(t);return ci(()=>{s.current=t},[t]),ci(()=>{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}import{useCallback as Hc,useEffect as or,useRef as qc,useState as Gc}from"react";function Wc(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 mi(e){return typeof e=="object"&&e!==null&&"initial"in e}function Ja(e){let{messages:t,status:a,config:o}=e,r=mi(o)&&o.initial?o.initial:void 0,[s,n]=Gc(r??[]),i=qc(a),l=o===!0||mi(o)&&o.dynamic!==!1,u=Hc(()=>{n([])},[]),f=t.length>0;or(()=>{!f&&r&&r.length>0&&n(r)},[r,f]);let d=t[t.length-1];return or(()=>{d?.role==="user"&&u()},[d,u]),or(()=>{let p=i.current;if(i.current=a,p==="streaming"&&a==="ready"&&l){let c=[...t].reverse().find(C=>C.role==="assistant");if(!c)return;let m=Wc(c);m&&n(m)}},[a,l,t]),{suggestions:s,isLoading:!1,clear:u}}import{useEffect as zc,useRef as jc,useState as Vc}from"react";var $c=50,Xc=30,Qc=2e3,hi=500;function Za(e,t=!0){let[a,o]=Vc(""),r=jc(void 0);return zc(()=>{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,hi)):r.current=setTimeout(l,Xc)):(s++,o(e.slice(0,s)),s>=e.length?(n=!0,r.current=setTimeout(l,Qc)):r.current=setTimeout(l,$c)))};return r.current=setTimeout(l,hi),()=>{i=!0,clearTimeout(r.current)}},[e,t]),a}function Ya(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`}var gi={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"},Kc={backgroundColor:"#212121",headerBackgroundColor:"#1e1e1e",headerTextColor:"#ececec",textColor:"#ececec",primaryForeground:"#ffffff",mutedColor:"#8e8ea0",borderColor:"#444444",assistantBubbleColor:"#2f2f2f",userBubbleColor:"#303030",inputBackgroundColor:"#2f2f2f",primaryColor:"#6366f1",statusColor:"#22c55e",toolCardColor:"#262626"},Jc={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 rr(e){return{...gi,...e}}function Ht(e){let t={};for(let[a,o]of Object.entries(Jc)){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 me,jsxs as qt}from"react/jsx-runtime";var tp=Zc(function(t,a){let{theme:o,title:r="Assistant",width:s,height:n,className:i,allowAttachments:l=!1,welcomeMessage:u,welcome:f,placeholder:d="Ask me anything...",triggerEvent:p="triggerDemoRequest",api:c,debug:m,enableThreadHistory:C=!1,showToolCalls:x=!0}=t,w=c??"/api/waniwani",g=Ya(w,t.headers),h=rr(o),L=Ht(h),y=h.backgroundColor.replace("#",""),T=parseInt(y.substring(0,2),16),v=parseInt(y.substring(2,4),16),R=parseInt(y.substring(4,6),16),N=(T*299+v*587+R*114)/1e3<128,F=pi(w,t.headers,t.skipRemoteConfig),k=m??F.debug,I=Ka({...t,api:w}),U=za({...t,api:w,sessionId:I.sessionId}),W=Za(d,!I.text),[H,ie]=xi(!1),[he,Y]=xi(null),$=wi(null),ae=wi(void 0),le=sr(()=>{let B=$.current;if(!B)return;B.scrollIntoView({behavior:"smooth",block:"center"});let j=B.querySelector("textarea");j&&setTimeout(()=>j.focus(),300),ie(!0),clearTimeout(ae.current),ae.current=setTimeout(()=>ie(!1),2e3)},[]),ue=Ja({messages:I.messages,status:I.status,config:t.suggestions}),de=sr(B=>{let j=B.content.map(q=>q.text??"").join("").trim();j&&I.handleSubmit({text:j,files:[],modelContext:B.modelContext})},[I.handleSubmit]),Le=sr(B=>{ue.clear(),I.handleSubmit({text:B,files:[]})},[ue.clear,I.handleSubmit]);return ep(a,()=>({sendMessage:B=>{I.handleSubmit({text:B,files:[]}),le()},sendMessageAndWait:B=>I.sendMessageAndWait(B),reset:I.reset,focus:le,get messages(){return I.messages}}),[I.handleSubmit,I.sendMessageAndWait,I.reset,I.messages,le]),Yc(()=>{if(!p)return;let B=j=>{let q=j.detail,G=typeof q?.message=="string"?q.message:void 0;G&&I.handleSubmit({text:G,files:[]}),le()};return window.addEventListener(p,B),()=>window.removeEventListener(p,B)},[p,I.handleSubmit,le]),qt("div",{ref:$,style:{...L,width:s,height:n},"data-waniwani-chat":"","data-waniwani-layout":"card",...N?{"data-waniwani-dark":""}:{},className:P("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",H&&"ww:ring-2 ww:ring-blue-400/70 ww:ring-offset-2 ww:ring-offset-background",i),children:[qt("div",{className:"ww:shrink-0 ww:flex ww:items-center ww:gap-2 ww:px-6 ww:py-3",style:{backgroundColor:h.headerBackgroundColor,color:h.headerTextColor},children:[me("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:r}),me(Qr,{messages:I.messages,evalEnabled:F.eval,api:w}),C&&me(Wa,{threads:I.threads,activeThreadId:I.activeThreadId,onNewThread:I.startNewThread,onSelectThread:B=>{I.switchThread(B)},onDeleteThread:B=>{I.deleteThread(B)}})]}),qt(Fr,{className:"ww:flex-1 ww:min-h-0 ww:bg-background",children:[me(Br,{scrollClassName:he?"ww:!relative ww:!overflow-hidden":void 0,children:me(Ua,{messages:I.messages,status:I.status,welcomeMessage:u,welcome:f,onSuggestionSelect:Le,resourceEndpoint:g,chatSessionId:I.sessionId,isDark:N,onFollowUp:de,onCallTool:U,fullscreenToolCallId:he,debug:k,showToolCalls:x,toolDefinitions:I.toolDefinitions,onWidgetDisplayModeChange:(B,j)=>{Y(B==="fullscreen"?j.toolCallId:null)}})}),me(Dr,{})]}),me("div",{style:he?{display:"none"}:void 0,children:me(Ga,{suggestions:ue.suggestions,isLoading:ue.isLoading,onSelect:Le})}),me("div",{style:he?{display:"none"}:void 0,children:me(aa,{queuedMessages:I.queuedMessages,onRemove:I.removeQueuedMessage})}),me("div",{style:he?{display:"none"}:void 0,children:me("div",{className:"ww:shrink-0 ww:px-4 ww:pb-8 ww:pt-2 ww:bg-background",children:qt("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[me(Zt,{onSubmit:I.handleSubmit,globalDrop:l,multiple:l,className:"ww:rounded-2xl ww:border-border ww:bg-input",children:qt("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[l&&me(ta,{}),me(Yt,{onChange:I.handleTextChange,value:I.text,placeholder:W,className:"ww:min-h-0 ww:py-1 ww:px-0"}),me(ea,{status:I.status,disabled:I.queueFull})]})}),me(Ha,{})]})})})]})});import{forwardRef as rp,useCallback as Gt,useEffect as pt,useImperativeHandle as sp,useRef as Wt,useState as nr}from"react";import{jsx as op}from"react/jsx-runtime";var ap="can make mistakes";function Li({text:e}){return e===!1?null:op("span",{className:"ww:text-[11px] ww:text-muted-foreground ww:opacity-70",children:e||ap})}import{jsx as ne,jsxs as ze}from"react/jsx-runtime";var ir=rp(function(t,a){let{appearance:o,className:r,allowAttachments:s=!1,welcomeMessage:n,welcome:i,placeholder:l="Ask me anything...",triggerEvent:u="triggerDemoRequest",api:f,mcp:d,debug:p=!1,readOnly:c=!1,title:m,headerActions:C,hideHeader:x=!1,enableThreadHistory:w=!1,showToolCalls:g=!0,initializing:h=!1,disclaimer:L}=t,y=o?.theme,T=o?.variables,v=T?Ht(T):{},[R,N]=nr(!1);pt(()=>{if(y!=="auto"||typeof window>"u")return;let b=window.matchMedia("(prefers-color-scheme: dark)");N(b.matches);let A=()=>N(b.matches);return b.addEventListener("change",A),()=>b.removeEventListener("change",A)},[y]);let F=y==="dark"||y==="auto"&&R,k=Ka({...t,api:f}),I=za({...t,api:f,sessionId:k.sessionId,onCallTool:d?.onCallTool}),U=d?.resourceEndpoint??Ya(f,t.headers),W=Za(l,!k.text),[H,ie]=nr(null),he=Wt(null),Y=Wt(null),$=Wt(null),ae=Wt(null),[le,ue]=nr(!0),de=Wt(le);de.current=le;let Le=Gt(()=>{let b=he.current;if(!b)return;let A=b.querySelector("textarea");A&&A.focus()},[]),B=Gt(()=>{typeof window>"u"||window.matchMedia("(pointer: coarse)").matches&&window.setTimeout(()=>{let b=he.current;if(!b)return;let A=window.visualViewport,M=A?.height??window.innerHeight,E=A?.offsetTop??0,ee=b.getBoundingClientRect().bottom-(E+M-8);Math.abs(ee)>4&&window.scrollBy({top:ee,behavior:"smooth"})},350)},[]),j=Gt((b="smooth")=>{let A=Y.current;A&&A.scrollTo({top:A.scrollHeight,behavior:b})},[]);pt(()=>{let b=ae.current,A=Y.current;if(!b||!A)return;let M=new IntersectionObserver(([E])=>ue(E.isIntersecting),{root:A,rootMargin:"0px 0px 200px 0px",threshold:0});return M.observe(b),()=>M.disconnect()},[]),pt(()=>{(k.messages[k.messages.length-1]?.role==="user"||de.current)&&j("smooth")},[k.messages.length,k.messages[k.messages.length-1]]),pt(()=>{j("auto")},[j]),pt(()=>{if(typeof ResizeObserver>"u")return;let b=Y.current,A=$.current;if(!b&&!A)return;let M=b?.scrollHeight??0,E=b?.clientHeight??0,V=new ResizeObserver(()=>{let ee=Y.current;if(!ee)return;let ve=ee.scrollTop+E>=M-5;M=ee.scrollHeight,E=ee.clientHeight,ve&&j("auto")});return b&&V.observe(b),A&&V.observe(A),()=>V.disconnect()},[j]);let q=Ja({messages:k.messages,status:k.status,config:t.suggestions}),G=Gt(b=>{let A=b.content.map(M=>M.text??"").join("").trim();A&&k.handleSubmit({text:A,files:[],modelContext:b.modelContext})},[k.handleSubmit]),Q=Gt(b=>{q.clear(),k.handleSubmit({text:b,files:[]})},[q.clear,k.handleSubmit]);sp(a,()=>({sendMessage:b=>{k.handleSubmit({text:b,files:[]}),Le()},sendMessageAndWait:b=>k.sendMessageAndWait(b),reset:k.reset,focus:Le,get messages(){return k.messages}}),[k.handleSubmit,k.sendMessageAndWait,k.reset,k.messages,Le]),pt(()=>{if(!u)return;let b=A=>{let M=A.detail,E=typeof M?.message=="string"?M.message:void 0;E&&k.handleSubmit({text:E,files:[]}),Le()};return window.addEventListener(u,b),()=>window.removeEventListener(u,b)},[u,k.handleSubmit,Le]);let O=!x&&!!(m||w||C);return ze("div",{ref:he,style:{...v,maxHeight:"inherit",opacity:h?0:1,transition:"opacity 220ms ease-out"},"data-waniwani-chat":"","data-waniwani-layout":"embed","data-color-scheme":y==="auto"?"auto":void 0,...h?{"data-waniwani-initializing":""}:{},...F?{"data-waniwani-dark":""}:{},className:P("ww:relative ww:w-full ww:h-full ww:flex ww:flex-col ww:bg-background ww:text-foreground ww:font-[family-name:var(--ww-font)] ww:overflow-hidden",y==="dark"&&"dark",r),children:[O&&ze("div",{className:"ww:shrink-0 ww:flex ww:items-center ww:gap-2 ww:px-6 ww:py-3 ww:border-b ww:border-border",style:{backgroundColor:"var(--ww-color-card-header)",color:"var(--ww-color-card-header-foreground)"},children:[m&&ne("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:m}),!m&&ne("div",{className:"ww:flex-1"}),C,w&&ne(Wa,{threads:k.threads,activeThreadId:k.activeThreadId,onNewThread:k.startNewThread,onSelectThread:b=>{k.switchThread(b)},onDeleteThread:b=>{k.deleteThread(b)}})]}),ze("div",{ref:Y,className:P("ww:relative ww:flex-1 ww:min-h-0",H?"ww:overflow-hidden":"ww:overflow-y-auto"),children:[ze("div",{ref:$,className:P("ww:mx-auto ww:w-full ww:max-w-3xl ww:px-4 ww:py-6 ww:flex ww:flex-col ww:gap-6",H&&"ww:!py-0"),children:[ne(Ua,{messages:k.messages,status:k.status,welcomeMessage:n,welcome:i,onSuggestionSelect:Q,resourceEndpoint:U,chatSessionId:k.sessionId,isDark:F,onFollowUp:G,onCallTool:I,fullscreenToolCallId:H,debug:p,showToolCalls:g,toolDefinitions:k.toolDefinitions,onWidgetDisplayModeChange:(b,A)=>{ie(b==="fullscreen"?A.toolCallId:null)}}),ne("div",{ref:ae,"aria-hidden":!0,style:{height:1}})]}),!le&&!H&&ne("div",{className:"ww:sticky ww:bottom-2 ww:flex ww:justify-center ww:pointer-events-none",children:ne(ke,{type:"button",onClick:()=>j("smooth"),size:"icon",variant:"outline",className:"ww:rounded-full ww:shadow ww:pointer-events-auto","aria-label":"Scroll to latest",children:ne(je,{className:"ww:size-4"})})})]}),!c&&ze("div",{className:"ww:shrink-0 ww:bg-background",style:H?{display:"none"}:void 0,children:[ne(Ga,{suggestions:q.suggestions,isLoading:q.isLoading,onSelect:Q}),ne(aa,{queuedMessages:k.queuedMessages,onRemove:k.removeQueuedMessage}),ne("div",{className:"ww:px-4 ww:pb-2 ww:pt-2",children:ze("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[ne(Zt,{onSubmit:k.handleSubmit,globalDrop:s,multiple:s,className:"ww:rounded-2xl ww:border-border ww:bg-input",children:ze("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[s&&ne(ta,{}),ne(Yt,{onChange:k.handleTextChange,onFocus:B,value:k.text,placeholder:W,className:"ww:min-h-0 ww:py-1 ww:px-0"}),ne(ea,{status:k.status,disabled:k.queueFull})]})}),ze("div",{className:"ww:pt-2 ww:pb-1 ww:flex ww:justify-center ww:items-center ww:gap-1.5",children:[ne(Ha,{}),L!==!1&&ne("span",{"aria-hidden":!0,className:"ww:text-[11px] ww:text-muted-foreground ww:opacity-70",children:"\xB7"}),ne(Li,{text:L})]})]})})]})]})});import{forwardRef as pp,useEffect as mp,useMemo as ki,useState as bi}from"react";var np="https://app.waniwani.ai/api/mcp/chat",ip={api:np};function lp(){if(typeof document>"u")return null;if(document.currentScript instanceof HTMLScriptElement)return document.currentScript;let e=document.querySelectorAll("script[src]");for(let t of e)if(t instanceof HTMLScriptElement&&/embed/i.test(t.src))return t;return null}function up(){let e=lp();if(!e)return{};let t=g=>e.getAttribute(g)??void 0,a=g=>{let h=e.getAttribute(g);if(h==null)return;let L=h.trim().toLowerCase();if(L==="true"||L==="1"||L==="")return!0;if(L==="false"||L==="0")return!1},o={},r=t("data-api");r&&(o.api=r);let s=t("data-token");s&&(o.token=s);let n=t("data-title");n&&(o.title=n);let i=t("data-welcome-message");i&&(o.welcomeMessage=i);let l=t("data-placeholder");l&&(o.placeholder=l);let u=t("data-mcp-server-url");u&&(o.mcpServerUrl=u);let f=t("data-channel-id");f&&(o.channelId=f);let d=a("data-show-tool-calls");d!==void 0&&(o.showToolCalls=d);let p=t("data-css");p&&(o.css=p);let c=t("data-suggestions");c&&(o.suggestions=c.split(",").map(g=>g.trim()).filter(Boolean));let m=a("data-enable-thread-history");m!==void 0&&(o.enableThreadHistory=m);let C=a("data-hide-header");C!==void 0&&(o.hideHeader=C);let x=t("data-theme");(x==="light"||x==="dark"||x==="auto")&&(o.appearance={theme:x});let w=t("data-disclaimer");if(w!==void 0){let g=w.trim(),h=g.toLowerCase();h==="false"||h==="0"?o.disclaimer=!1:g&&(o.disclaimer=g)}return o}function lr(e){if(!e)return{};let t={};for(let a in e)e[a]!==void 0&&(t[a]=e[a]);return t}function ur(e,t,a){let o=a??up(),r=dp(t,o,e),s={token:"",...ip,...lr(t),...lr(o),...lr(e),...r?{appearance:r}:{}};if(!s.token)throw new Error("[WaniWani] Missing required config: `token`. Set data-token on the script tag or pass it to WaniWani.chat.init().");return s}function dp(e,t,a){let o=a?.appearance?.theme??t.appearance?.theme??e?.appearance?.theme,r={...e?.appearance?.variables??{},...t.appearance?.variables??{},...a?.appearance?.variables??{}},s=Object.keys(r).length>0;if(!o&&!s)return;let n={};return o&&(n.theme=o),s&&(n.variables=r),n}import{useEffect as hC,useState as gC}from"react";var fp="waniwani:config:";function Ci(e,t,a){return`${fp}${e}|${t}|${a??""}`}function Ii(e,t,a){if(typeof window>"u")return null;try{let o=window.sessionStorage.getItem(Ci(e,t,a));if(!o)return null;let r=JSON.parse(o);return r&&typeof r=="object"?r:null}catch{return null}}function Si(e,t,a,o){if(!(typeof window>"u"))try{window.sessionStorage.setItem(Ci(e,t,a),JSON.stringify(o))}catch{}}async function yi(e,t,a,o){try{let r=`${e.replace(/\/$/,"")}/config`,s=o?`${r}?channel=${encodeURIComponent(o)}`:r,n=await fetch(s,{method:"GET",headers:{Authorization:`Bearer ${t}`},signal:a});if(!n.ok)return{};let i=await n.json(),l=i&&typeof i=="object"&&"data"in i&&i.data?i.data:i;return l?cp(l):{}}catch{return{}}}function cp(e){let t={};return e.title!=null&&(t.title=e.title),e.welcomeMessage!=null&&(t.welcomeMessage=e.welcomeMessage),e.placeholder!=null&&(t.placeholder=e.placeholder),e.suggestions!=null&&e.suggestions.length>0&&(t.suggestions=e.suggestions),typeof e.enableThreadHistory=="boolean"&&(t.enableThreadHistory=e.enableThreadHistory),t}import{jsx as wp}from"react/jsx-runtime";var hp=600,Ti="https://app.waniwani.ai/api/mcp/chat",gp=pp(function(t,a){let{token:o,channelId:r,className:s,overrides:n}=t,i=ki(()=>({token:o,channelId:r,api:n?.api,mcpServerUrl:n?.mcpServerUrl,title:n?.title,hideHeader:n?.hideHeader,welcomeMessage:n?.welcomeMessage,placeholder:n?.placeholder,suggestions:n?.suggestions,enableThreadHistory:n?.enableThreadHistory,showToolCalls:n?.showToolCalls,appearance:n?.appearance,disclaimer:n?.disclaimer}),[o,r,n?.api,n?.mcpServerUrl,n?.title,n?.hideHeader,n?.welcomeMessage,n?.placeholder,n?.suggestions,n?.enableThreadHistory,n?.showToolCalls,n?.appearance,n?.disclaimer]),l=n?.api??Ti,[u,f]=bi({}),[d,p]=bi(!1);mp(()=>{if(!o){p(!0);return}let C=Ii(l,o,r);C&&(f(C),p(!0));let x=new AbortController,w=setTimeout(()=>p(!0),hp);return yi(l,o,x.signal,r).then(g=>{x.signal.aborted||(Object.keys(g).length>0&&(Si(l,o,r,g),f(g)),p(!0))}).catch(g=>{console.error("[WaniWani] Remote config fetch failed:",g),p(!0)}).finally(()=>clearTimeout(w)),()=>{x.abort(),clearTimeout(w)}},[l,o,r]);let c=ki(()=>ur(i,u,void 0),[i,u]),m={};return c.mcpServerUrl&&(m.mcpServerUrl=c.mcpServerUrl),c.channelId&&(m.channelId=c.channelId),wp(ir,{ref:a,api:c.api??Ti,headers:{Authorization:`Bearer ${c.token}`},skipRemoteConfig:!0,body:Object.keys(m).length>0?m:void 0,appearance:c.appearance,title:c.title,hideHeader:c.hideHeader,welcomeMessage:c.welcomeMessage,welcome:n?.welcome,placeholder:c.placeholder,suggestions:c.suggestions?{initial:c.suggestions}:void 0,enableThreadHistory:c.enableThreadHistory,showToolCalls:c.showToolCalls,disclaimer:c.disclaimer,allowAttachments:n?.allowAttachments,className:s,initializing:!d})});export{tp as ChatCard,ir as ChatEmbed,Kc as DARK_THEME,gi as DEFAULT_THEME,Qo as McpAppFrame,gp as WaniwaniChat,rr as mergeTheme,Ht as themeToCSSProperties};
|
|
15
|
+
${B}`}]}}k.current({...A,...E?{modelContext:E}:{}})}M({jsonrpc:"2.0",id:b,result:{}});return}if(K==="ui/update-model-context"&&b!=null){le=jn(le,H.params),M({jsonrpc:"2.0",id:b,result:{}});return}if(K==="tools/call"&&b!=null){let A=I.current;if(!A){M({jsonrpc:"2.0",id:b,error:{code:-32601,message:"tools/call not supported"}});return}let E=H.params?.name;A({name:E,arguments:H.params?.arguments??{}}).then(B=>{M({jsonrpc:"2.0",id:b,result:B});let q=B.content?.map(z=>z.text??"").join("").trim();q&&Yf(E,B,U.current)&&(ue&&clearTimeout(ue.timer),ue={text:q,timer:setTimeout(()=>{if(te)return;let z=le;le=null,ue=null,k.current?.({role:"user",content:[{type:"text",text:q}],...z?{modelContext:z}:{}})},500)})}).catch(B=>{let q=B instanceof Error?B.message:"Tool call failed";M({jsonrpc:"2.0",id:b,error:{code:-32e3,message:q}})});return}if(K==="ui/request-display-mode"&&b!=null){let A=H.params?.mode,E=A==="fullscreen"||A==="inline"||A==="pip"?A:"inline";y.current=E,M({jsonrpc:"2.0",id:b,result:{mode:E}}),M({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{displayMode:E}}),O.current?.(E);return}if(K==="ui/resource-teardown"&&b!=null){M({jsonrpc:"2.0",id:b,result:{}});return}K==="ping"&&b!=null&&M({jsonrpc:"2.0",id:b,result:{}})};return window.addEventListener("message",X),()=>{te=!0,clearTimeout(xe),ue&&clearTimeout(ue.timer),window.removeEventListener("message",X)}},[i,ne]),ec("iframe",{ref:m,src:he,sandbox:"allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox",className:P(!p&&"ww:rounded-md ww:border ww:border-border",n),style:{height:p?"100%":T,minWidth:p||!R?void 0:`min(${R}px, 100%)`,width:"100%",border:"none",colorScheme:s?"dark":"auto"},title:"MCP App"})}import{jsx as Ut,jsxs as tc}from"react/jsx-runtime";function Xn({icon:e,title:t,description:a,suggestions:o,onSuggestionSelect:r}){return tc("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&&Ut("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}),Ut("h2",{className:"ww:text-lg ww:font-semibold ww:text-foreground",children:t}),a&&Ut("p",{className:"ww:mt-1 ww:text-sm ww:text-muted-foreground ww:max-w-sm",children:a}),o&&o.length>0&&Ut("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)=>Ut("button",{type:"button",onClick:()=>r?.(s),className:P("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))})]})}import{Component as ac}from"react";import{jsx as Qn,jsxs as oc}from"react/jsx-runtime";var Na=class extends ac{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.warn("[WaniWani] Widget failed to render:",t.message)}render(){return this.state.hasError?oc("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:[Qn("span",{children:"Widget failed to load"}),Qn("button",{type:"button",onClick:()=>this.setState({hasError:!1}),className:"ww:text-xs ww:font-medium ww:text-primary ww:hover:underline",children:"Retry"})]}):this.props.children}};import{Fragment as rc,jsx as ee,jsxs as ct}from"react/jsx-runtime";function Kn(e){return e?e.replace(/[-_]/g," ").replace(/^\w/,t=>t.toUpperCase()):"Tool"}function Oa({messages:e,status:t,welcomeMessage:a,welcome:o,onSuggestionSelect:r,resourceEndpoint:s,chatSessionId:n,isDark:i,onFollowUp:l,onCallTool:u,onWidgetDisplayModeChange:f,fullscreenToolCallId:d,debug:p,showToolCalls:c=!0,toolDefinitions:m}){let C=t==="submitted"||t==="streaming",x=e[e.length-1],w=e.length>0,g=C&&(!w||x.role==="user"),h=d!=null;return ct(rc,{children:[!h&&(!w&&o?ee(Xn,{...o,onSuggestionSelect:r}):a&&ee(Ba,{from:"assistant",children:ee(Da,{children:ee(Ea,{children:a})})})),e.map(L=>{let y=L.parts.filter(I=>I.type==="text"),T=L.parts.filter(I=>I.type==="reasoning"),v=L.parts.filter(I=>I.type==="file"),R=L.parts.filter(I=>"toolCallId"in I),N=L===x&&L.role==="assistant",F=y.length>0,k=h?R.some(I=>I.toolCallId===d):!1;return h&&!k?ee("div",{style:{display:"none"}},L.id):ct(Ba,{from:L.role,children:[!k&&T.map((I,O)=>ee(Mn,{text:I.text},`reasoning-${L.id}-${O}`)),R.map(I=>{let O="output"in I?I.output:void 0,G=_a(I.toolName,O,m),U=Wn(I.toolName,O,m),ne=I.toolCallId===d;return ct("div",{style:ne?{position:"absolute",inset:0,zIndex:10,display:"flex",flexDirection:"column",overflow:"hidden",background:"var(--ww-color-background)"}:void 0,children:[ee("div",{style:ne?{display:"none"}:void 0,children:c?ct(_n,{children:[ee(Nn,{title:I.title??Kn(I.toolName),state:I.state}),ct(Un,{children:[ee(Hn,{input:I.input,debug:p}),O!==void 0&&ee(zn,{output:O,errorText:"errorText"in I?I.errorText:void 0,debug:p})]})]}):ee(On,{title:I.title??Kn(I.toolName),state:I.state})}),G&&s&&O!==void 0&&ee(Na,{children:ee(Qo,{isFullscreen:ne,resourceUri:G,toolInput:I.input??{},toolResult:{content:O.content,structuredContent:O.structuredContent,_meta:O._meta},resourceEndpoint:s,chatSessionId:n,isDark:i,autoHeight:U,toolDefinitions:m,onFollowUp:l,onCallTool:u,onDisplayModeChange:f?he=>f(he,{toolCallId:I.toolCallId,resourceUri:G,toolInput:I.input??{},toolResult:{content:O.content,structuredContent:O.structuredContent,_meta:O._meta},autoHeight:U}):void 0})})]},I.toolCallId)}),!k&&ee("div",{children:ct(Da,{children:[v.length>0&&ee(Kr,{files:v}),F?y.map((I,O)=>ee(Ea,{children:I.type==="text"?I.text:""},`${L.id}-${O}`)):N&&C&&ee(co,{})]})})]},L.id)}),!h&&g&&ee(Ba,{from:"assistant",children:ee(Da,{children:ee(co,{})})})]})}import{jsx as Jn,jsxs as ic}from"react/jsx-runtime";var sc="https://app.waniwani.ai/assets/waniwani-logo.svg",nc="https://waniwani.ai";function Ua(){return ic("a",{href:nc,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:[Jn("span",{children:"AI agent powered by"}),Jn("img",{src:sc,alt:"WaniWani",width:72,height:10,"data-waniwani-logo":"",className:"ww:h-2.5 ww:w-auto"})]})}import{jsx as Ha}from"react/jsx-runtime";function qa({suggestions:e,isLoading:t,onSelect:a,className:o,...r}){return e.length===0&&!t?null:Ha("div",{className:P("ww:px-4 ww:py-2",o),...r,children:Ha("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=>Ha("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)=>Ha("button",{type:"button",onClick:()=>a(s),className:P("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))})})}import{useEffect as lc,useRef as uc,useState as dc}from"react";import{jsx as J,jsxs as We}from"react/jsx-runtime";var Zn=20;function fc(e){let t=Date.parse(e);if(Number.isNaN(t))return"";let a=Date.now()-t;return a<6e4?"just now":a<60*6e4?`${Math.floor(a/6e4)}m ago`:a<1440*6e4?`${Math.floor(a/(60*6e4))}h ago`:`${Math.floor(a/(1440*6e4))}d ago`}function cc(){return We("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":"New chat",children:[J("title",{children:"New chat"}),J("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),J("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}function pc(){return We("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":"Thread history",children:[J("title",{children:"Thread history"}),J("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),J("polyline",{points:"3 4 3 9 8 9"}),J("line",{x1:"12",y1:"7",x2:"12",y2:"12"}),J("line",{x1:"12",y1:"12",x2:"15",y2:"14"})]})}function mc(){return We("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":"Delete thread",children:[J("title",{children:"Delete thread"}),J("polyline",{points:"3 6 5 6 21 6"}),J("path",{d:"M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6"}),J("path",{d:"M10 11v6"}),J("path",{d:"M14 11v6"})]})}function Ga({threads:e,activeThreadId:t,onNewThread:a,onSelectThread:o,onDeleteThread:r}){let[s,n]=dc(!1),i=uc(null);lc(()=>{if(!s)return;let f=d=>{let p=i.current;p&&(d.composedPath().includes(p)||n(!1))};return document.addEventListener("mousedown",f),()=>document.removeEventListener("mousedown",f)},[s]);let l=e.slice(0,Zn),u=Math.max(0,e.length-Zn);return We("div",{ref:i,className:"ww:relative ww:flex ww:items-center ww:gap-1",children:[J("button",{type:"button",onClick:a,title:"New chat","aria-label":"New chat",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:J(cc,{})}),J("button",{type:"button",onClick:()=>n(f=>!f),title:"Thread history","aria-label":"Thread history","aria-expanded":s,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:J(pc,{})}),s&&We("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:[l.length===0&&J("div",{className:"ww:px-3 ww:py-3 ww:text-xs ww:text-muted-foreground",children:"No previous chats yet."}),l.map(f=>{let d=f.threadId===t;return We("div",{className:`ww:flex ww:items-center ww:gap-2 ww:px-3 ww:py-2 ww:text-xs hover:ww:bg-foreground/5 ${d?"ww:bg-foreground/5":""}`,children:[We("button",{type:"button",onClick:()=>{o(f.threadId),n(!1)},className:"ww:flex-1 ww:min-w-0 ww:text-left ww:cursor-pointer",children:[J("div",{className:"ww:truncate ww:text-foreground ww:font-medium",children:f.title}),J("div",{className:"ww:text-[10px] ww:text-muted-foreground",children:fc(f.updatedAt)})]}),J("button",{type:"button",onClick:p=>{p.stopPropagation(),r(f.threadId)},title:"Delete thread","aria-label":"Delete thread",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:J(mc,{})})]},f.threadId)}),u>0&&We("div",{className:"ww:px-3 ww:py-2 ww:text-[10px] ww:text-muted-foreground ww:border-t ww:border-border",children:[u," older thread",u===1?"":"s"," hidden"]})]})]})}import{useCallback as hc,useRef as gc}from"react";function Wa(e){let t=gc(e);return t.current=e,hc(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()},[])}import{useChat as Bc}from"@ai-sdk/react";import{useCallback as ce,useEffect as Ae,useRef as re,useState as et}from"react";import{DefaultChatTransport as wc,uiMessageChunkSchema as xc}from"ai";function Lc(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 za=class extends wc{processResponseStream(t){let a="",o=xc(),r=o.validate?.bind(o);return t.pipeThrough(new TextDecoderStream).pipeThrough(new TransformStream({async transform(s,n){a+=s;let i=a.split(`
|
|
16
|
+
`);a=i.pop()??"";for(let l of i){let u=l.trim();if(!u.startsWith("data:"))continue;let f=u.slice(5).trim();if(f!=="[DONE]")try{let d=JSON.parse(f);if(!r){n.enqueue(d);continue}let p=await r(d);if(p.success){n.enqueue(p.value);continue}let c=Lc(p.error);if(c?.length){let m={...d};for(let x of c)delete m[x];let C=await r(m);C.success&&n.enqueue(C.value)}}catch{}}}}))}};var Cc="waniwani-memory";var Se="threads",ja="by_memoryUserId",Ic="by_updatedAt";var ei="memoryUserId",Yn="waniwani-memory-user-id",Ko=null;function Jo(){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 Sc(e,t){if(t<1&&(e.objectStoreNames.contains("ids")||e.createObjectStore("ids")),t<2&&!e.objectStoreNames.contains(Se)){let a=e.createObjectStore(Se,{keyPath:"threadId"});a.createIndex(ja,"memoryUserId",{unique:!1}),a.createIndex(Ic,"updatedAt",{unique:!1})}}async function Zo(){return new Promise((e,t)=>{let a=indexedDB.open(Cc,2);a.onupgradeneeded=o=>{Sc(a.result,o.oldVersion)},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})}async function yc(){return Zo()}async function kc(e){return new Promise((t,a)=>{let s=e.transaction("ids","readonly").objectStore("ids").get(ei);s.onsuccess=()=>t(typeof s.result=="string"?s.result:null),s.onerror=()=>a(s.error)})}async function bc(e,t){return new Promise((a,o)=>{let n=e.transaction("ids","readwrite").objectStore("ids").put(t,ei);n.onsuccess=()=>a(),n.onerror=()=>o(n.error)})}async function Tc(){if(typeof indexedDB>"u")return null;try{let e=await yc();try{let t=await kc(e);if(t)return t;let a=Jo();return await bc(e,a),a}finally{e.close()}}catch{return null}}function Pc(){try{let e=localStorage.getItem(Yn);if(e)return e;let t=Jo();return localStorage.setItem(Yn,t),t}catch{return null}}async function ti(){let e=await Tc();if(e)return e;let t=Pc();return t||(Ko||(Ko=Jo()),Ko)}var ai=50,oi=1e3;function Va(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 $a(e){if(typeof indexedDB>"u")return null;let t=null;try{return t=await Zo(),await e(t)}catch{return null}finally{try{t?.close()}catch{}}}function Yo(e){return new Promise((t,a)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>a(e.error)})}async function er(e){return await $a(async a=>{let s=a.transaction(Se,"readonly").objectStore(Se).index(ja),i=(await Yo(s.getAll(e))??[]).filter(Va);return i.sort((l,u)=>l.updatedAt<u.updatedAt?1:-1),i})??[]}async function tr(e){return await $a(async a=>{let r=a.transaction(Se,"readonly").objectStore(Se),s=await Yo(r.get(e));return Va(s)?s:null})??null}async function ar(e){if(!Va(e))return;let t=e.messages.length>oi?{...e,messages:e.messages.slice(e.messages.length-oi)}:e;await $a(async a=>{await new Promise((l,u)=>{let f=a.transaction(Se,"readwrite");f.oncomplete=()=>l(),f.onerror=()=>u(f.error),f.onabort=()=>u(f.error),f.objectStore(Se).put(t)});let o=a.transaction(Se,"readwrite"),r=o.objectStore(Se),s=r.index(ja),i=(await Yo(s.getAll(t.memoryUserId))??[]).filter(Va);if(i.length>ai){i.sort((u,f)=>u.updatedAt<f.updatedAt?-1:1);let l=i.slice(0,i.length-ai);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 ri(e){await $a(async t=>(await new Promise((a,o)=>{let r=t.transaction(Se,"readwrite");r.oncomplete=()=>a(),r.onerror=()=>o(r.error),r.onabort=()=>o(r.error),r.objectStore(Se).delete(e)}),null))}async function si(e){return(await er(e))[0]?.threadId??null}function ni(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`}var ii="waniwani-visitor-id";function li(e,t){return e.match(t)?.[1]??null}function Ac(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=li(e,o);if(r)return{name:a,version:r}}return null}function vc(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=li(e,o);if(r)return{name:a,version:r.replace(/_/g,".")};if(a==="Linux"&&o.test(e))return{name:a,version:""}}return null}function Mc(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 Rc(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 Fc(){try{let a=localStorage.getItem(ii);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 Rc(e);try{localStorage.setItem(ii,t)}catch{}return t}async function ui(){let e=navigator.userAgent,[t,a]=await Promise.all([Fc(),ti()]);return{userAgent:e,browser:Ac(e),os:vc(e),deviceType:Mc(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 Dc="x-session-id",Ec=250;function di(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():kt()}function Xa(){return new Date().toISOString()}function fi(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}async function _c(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 Qa(e){let{api:t="/api/waniwani",headers:a,body:o,onMessageSent:r,onResponseReceived:s,enableThreadHistory:n=!1,activeThreadId:i,onThreadChange:l}=e,u=re(a),f=re(o),d=re(n);Ae(()=>{d.current=n},[n]);let p=re(void 0),c=re(null),[m,C]=et(void 0),x=re(m),[w,g]=et(i),h=re(w),[L,y]=et([]),[T,v]=et(!n),R=re(void 0),N=re(void 0),F=re(void 0),k=re(void 0),I=re(0),O=re(l);Ae(()=>{O.current=l},[l]);let G=ce(S=>{h.current=S,g(S),S&&O.current?.(S)},[]),U=ce(async()=>{if(!n)return;let S=c.current?.memoryUserId;if(!S)return;let D=await er(S);y(D)},[n]),ne=ce(()=>x.current,[]),he=ce(S=>{let D=fi(S);D&&x.current!==D&&(x.current=D,C(D))},[]),Y=ce(()=>{x.current=void 0,C(void 0)},[]);Ae(()=>{u.current=a},[a]),Ae(()=>{f.current=o},[o]),Ae(()=>{let S=!1,D=I.current;return(async()=>{try{let ye=await ui();if(S)return;c.current=ye}catch{}if(!n)return;let _=c.current?.memoryUserId;if(!_){v(!0);return}try{let ye=i??await si(_);if(S||D!==I.current)return;if(ye){let ge=await tr(ye);if(S||D!==I.current)return;ge&&ge.memoryUserId===_&&(h.current=ge.threadId,g(ge.threadId),R.current=ge.createdAt,N.current=ge.title,ge.sessionId&&(x.current=ge.sessionId,C(ge.sessionId)),K(ge.messages))}await U()}finally{S||v(!0)}})(),()=>{S=!0}},[]);let j=re(new za({api:t,headers:()=>({...u.current}),body:()=>{let S={...f.current??{}},D=Object.hasOwn(S,"sessionId"),_=fi(S.sessionId);if(_)he(_),S.sessionId=_;else if(D)Y(),delete S.sessionId;else{let Te=ne();Te&&(S.sessionId=Te)}if(ft(p.current)&&(S.modelContext=p.current),c.current){let Te=c.current;S.visitorContext={timezone:Te.timezone,language:Te.language,languages:Te.languages,deviceType:Te.deviceType,referrer:Te.referrer,visitorId:Te.visitorId};let Fe=typeof S.visitor=="object"&&S.visitor!==null?S.visitor:{},Di=typeof Fe.client=="object"&&Fe.client!==null?Fe.client:{};S.visitor={...Fe,client:{...Di,memoryUserId:Te.memoryUserId}}}let ye=typeof S.extra=="object"&&S.extra!==null&&!Array.isArray(S.extra)?S.extra:void 0,ge=c.current?.memoryUserId,Ne=c.current?.language,jt={};if(ge&&(jt.memoryUserId=ge),Ne&&(jt.locale=Ne),(Object.keys(jt).length>0||ye)&&(S.extra={...jt,...ye??{}}),d.current)if(Object.hasOwn(S,"threadId"))typeof S.threadId=="string"&&(h.current=S.threadId);else{let Fe=h.current;Fe||(Fe=di(),R.current=Xa(),N.current=void 0,G(Fe)),S.threadId=Fe}return S},fetch:(async(S,D)=>{let _=await fetch(S,D);return p.current=void 0,he(_.headers.get(Dc)),_})})),te=re(null),ie=re(null),le=re({}),[ue,xe]=et(0),M=e.skipRemoteConfig===!0,X=ce(async()=>{if(!M)try{let S=await _c(t,u.current);le.current=S,xe(D=>D+1)}catch(S){console.warn("[WaniWani] Failed to fetch tool definitions:",S instanceof Error?S.message:S)}},[t,M]);Ae(()=>{X()},[X]);let{messages:V,sendMessage:H,setMessages:K,status:b}=Bc({messages:e.initialMessages,transport:j.current,onFinish({message:S}){s?.(),te.current&&(ie.current=S)},onError(S){console.warn("[WaniWani] Chat error:",S.message),te.current&&(te.current.reject(S),te.current=null)}}),A=re(V);Ae(()=>{A.current=V},[V]),Ae(()=>{if(b==="ready"&&te.current&&ie.current){let S=te.current,D=ie.current;te.current=null,ie.current=null,S.resolve(D)}},[b]);let[E,B]=et(""),[q,z]=et([]),Le=b==="submitted"||b==="streaming",_e=ce(S=>{z(D=>D.filter(_=>_.id!==S))},[]),tt=Le&&q.length>0,at=ce(S=>{let D=!!S.text?.trim(),_=!!S.files?.length;if(D||_){if(Le){if(q.length>0)return;z(ye=>[...ye,{id:kt(),text:S.text||"",files:S.files??[],modelContext:S.modelContext}]),B("");return}p.current=S.modelContext,H({text:S.text||"",files:S.files}),r?.(S.text||""),B("")}},[H,r,Le,q.length]),Pi=ce(S=>new Promise((D,_)=>{te.current={resolve:D,reject:_},H({text:S}),r?.(S)}),[H,r]);Ae(()=>{if(b!=="ready"||q.length===0)return;let[S,...D]=q;z(D),p.current=S.modelContext,H({text:S.text,files:S.files.length>0?S.files:void 0}),r?.(S.text)},[b,H,r,q]);let Ai=ce(()=>{K([]),z([]),Y(),B(""),le.current={},xe(S=>S+1),X()},[K,Y,X]),Wt=ce(()=>{if(!d.current)return;let S=c.current?.memoryUserId,D=h.current,_=A.current;if(!(!S||!D||_.length===0)){if(R.current||(R.current=Xa()),!N.current){let ye=_.find(Ne=>Ne.role==="user"),ge=ye?ye.parts.map(Ne=>"text"in Ne&&typeof Ne.text=="string"?Ne.text:"").join(" "):"";N.current=ni(ge)}return{threadId:D,memoryUserId:S,title:N.current,messages:_,sessionId:x.current,createdAt:R.current,updatedAt:Xa()}}},[]),dr=ce(async()=>{let S=Wt();S&&(await ar(S),await U())},[Wt,U]);Ae(()=>{if(n&&T&&!(b==="submitted"||b==="streaming")&&V.length!==0)return F.current&&clearTimeout(F.current),F.current=setTimeout(()=>{F.current=void 0;let S=dr().finally(()=>{k.current===S&&(k.current=void 0)});k.current=S},Ec),()=>{F.current&&clearTimeout(F.current)}},[n,T,V,b,dr]);let zt=ce(()=>{let S=k.current,D=F.current,_=D?Wt():void 0;return D&&(clearTimeout(D),F.current=void 0),(async()=>{S&&await S,_&&(await ar(_),await U())})()},[Wt,U]),vi=ce(()=>{I.current+=1,zt(),K([]),z([]),Y(),B("");let S=di();return R.current=Xa(),N.current=void 0,G(S),U(),S},[K,Y,G,U,zt]),eo=ce(async S=>{I.current+=1;let D=I.current;if(await zt(),D!==I.current)return;let _=await tr(S);D===I.current&&_&&(G(_.threadId),R.current=_.createdAt,N.current=_.title,_.sessionId?(x.current=_.sessionId,C(_.sessionId)):Y(),K(_.messages),z([]),B(""))},[K,Y,G,zt]),Mi=ce(async S=>{if(h.current===S){I.current+=1,F.current&&(clearTimeout(F.current),F.current=void 0);let D=k.current;D&&await D}await ri(S),await U(),h.current===S&&(K([]),z([]),Y(),B(""),h.current=void 0,g(void 0),R.current=void 0,N.current=void 0)},[K,Y,U]);Ae(()=>{n&&T&&i!==void 0&&i!==h.current&&eo(i)},[i,n,T,eo]);let Ri=ce(S=>{B(S.target.value)},[]),fr=V[V.length-1],cr=V.length>0,Fi=Le&&(!cr||fr.role==="user"),Bi=le.current;return{messages:V,status:b,text:E,setText:B,handleSubmit:at,handleTextChange:Ri,isLoading:Le,showLoaderBubble:Fi,lastMessage:fr,hasMessages:cr,sendMessage:H,sendMessageAndWait:Pi,reset:Ai,queuedMessages:q,queueFull:tt,removeQueuedMessage:_e,sessionId:m,toolDefinitions:Bi,refreshToolDefinitions:X,threads:L,activeThreadId:w,isThreadHistoryReady:T,startNewThread:vi,switchThread:eo,deleteThread:Mi}}import{useEffect as ci,useRef as Nc,useState as Oc}from"react";var Uc={debug:!1,eval:!1};function pi(e="/api/waniwani",t,a=!1){let[o,r]=Oc(Uc),s=Nc(t);return ci(()=>{s.current=t},[t]),ci(()=>{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}import{useCallback as Hc,useEffect as or,useRef as qc,useState as Gc}from"react";function Wc(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 mi(e){return typeof e=="object"&&e!==null&&"initial"in e}function Ka(e){let{messages:t,status:a,config:o}=e,r=mi(o)&&o.initial?o.initial:void 0,[s,n]=Gc(r??[]),i=qc(a),l=o===!0||mi(o)&&o.dynamic!==!1,u=Hc(()=>{n([])},[]),f=t.length>0;or(()=>{!f&&r&&r.length>0&&n(r)},[r,f]);let d=t[t.length-1];return or(()=>{d?.role==="user"&&u()},[d,u]),or(()=>{let p=i.current;if(i.current=a,p==="streaming"&&a==="ready"&&l){let c=[...t].reverse().find(C=>C.role==="assistant");if(!c)return;let m=Wc(c);m&&n(m)}},[a,l,t]),{suggestions:s,isLoading:!1,clear:u}}import{useEffect as zc,useRef as jc,useState as Vc}from"react";var $c=50,Xc=30,Qc=2e3,hi=500;function Ja(e,t=!0){let[a,o]=Vc(""),r=jc(void 0);return zc(()=>{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,hi)):r.current=setTimeout(l,Xc)):(s++,o(e.slice(0,s)),s>=e.length?(n=!0,r.current=setTimeout(l,Qc)):r.current=setTimeout(l,$c)))};return r.current=setTimeout(l,hi),()=>{i=!0,clearTimeout(r.current)}},[e,t]),a}function Za(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`}var gi={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"},Kc={backgroundColor:"#212121",headerBackgroundColor:"#1e1e1e",headerTextColor:"#ececec",textColor:"#ececec",primaryForeground:"#ffffff",mutedColor:"#8e8ea0",borderColor:"#444444",assistantBubbleColor:"#2f2f2f",userBubbleColor:"#303030",inputBackgroundColor:"#2f2f2f",primaryColor:"#6366f1",statusColor:"#22c55e",toolCardColor:"#262626"},Jc={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 rr(e){return{...gi,...e}}function Ht(e){let t={};for(let[a,o]of Object.entries(Jc)){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 pe,jsxs as qt}from"react/jsx-runtime";var tp=Zc(function(t,a){let{theme:o,title:r="Assistant",width:s,height:n,className:i,allowAttachments:l=!1,welcomeMessage:u,welcome:f,placeholder:d="Ask me anything...",triggerEvent:p="triggerDemoRequest",api:c,debug:m,enableThreadHistory:C=!1,showToolCalls:x=!0}=t,w=c??"/api/waniwani",g=Za(w,t.headers),h=rr(o),L=Ht(h),y=h.backgroundColor.replace("#",""),T=parseInt(y.substring(0,2),16),v=parseInt(y.substring(2,4),16),R=parseInt(y.substring(4,6),16),N=(T*299+v*587+R*114)/1e3<128,F=pi(w,t.headers,t.skipRemoteConfig),k=m??F.debug,I=Qa({...t,api:w}),O=Wa({...t,api:w,sessionId:I.sessionId}),G=Ja(d,!I.text),[U,ne]=xi(!1),[he,Y]=xi(null),j=wi(null),te=wi(void 0),ie=sr(()=>{let M=j.current;if(!M)return;M.scrollIntoView({behavior:"smooth",block:"center"});let X=M.querySelector("textarea");X&&setTimeout(()=>X.focus(),300),ne(!0),clearTimeout(te.current),te.current=setTimeout(()=>ne(!1),2e3)},[]),le=Ka({messages:I.messages,status:I.status,config:t.suggestions}),ue=sr(M=>{let X=M.content.map(V=>V.text??"").join("").trim();X&&I.handleSubmit({text:X,files:[],modelContext:M.modelContext})},[I.handleSubmit]),xe=sr(M=>{le.clear(),I.handleSubmit({text:M,files:[]})},[le.clear,I.handleSubmit]);return ep(a,()=>({sendMessage:M=>{I.handleSubmit({text:M,files:[]}),ie()},sendMessageAndWait:M=>I.sendMessageAndWait(M),reset:I.reset,focus:ie,get messages(){return I.messages}}),[I.handleSubmit,I.sendMessageAndWait,I.reset,I.messages,ie]),Yc(()=>{if(!p)return;let M=X=>{let V=X.detail,H=typeof V?.message=="string"?V.message:void 0;H&&I.handleSubmit({text:H,files:[]}),ie()};return window.addEventListener(p,M),()=>window.removeEventListener(p,M)},[p,I.handleSubmit,ie]),qt("div",{ref:j,style:{...L,width:s,height:n},"data-waniwani-chat":"","data-waniwani-layout":"card",...N?{"data-waniwani-dark":""}:{},className:P("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",U&&"ww:ring-2 ww:ring-blue-400/70 ww:ring-offset-2 ww:ring-offset-background",i),children:[qt("div",{className:"ww:shrink-0 ww:flex ww:items-center ww:gap-2 ww:px-6 ww:py-3",style:{backgroundColor:h.headerBackgroundColor,color:h.headerTextColor},children:[pe("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:r}),pe(Qr,{messages:I.messages,evalEnabled:F.eval,api:w}),C&&pe(Ga,{threads:I.threads,activeThreadId:I.activeThreadId,onNewThread:I.startNewThread,onSelectThread:M=>{I.switchThread(M)},onDeleteThread:M=>{I.deleteThread(M)}})]}),qt(Fr,{className:"ww:flex-1 ww:min-h-0 ww:bg-background",children:[pe(Br,{scrollClassName:he?"ww:!relative ww:!overflow-hidden":void 0,children:pe(Oa,{messages:I.messages,status:I.status,welcomeMessage:u,welcome:f,onSuggestionSelect:xe,resourceEndpoint:g,chatSessionId:I.sessionId,isDark:N,onFollowUp:ue,onCallTool:O,fullscreenToolCallId:he,debug:k,showToolCalls:x,toolDefinitions:I.toolDefinitions,onWidgetDisplayModeChange:(M,X)=>{Y(M==="fullscreen"?X.toolCallId:null)}})}),pe(Dr,{})]}),pe("div",{style:he?{display:"none"}:void 0,children:pe(qa,{suggestions:le.suggestions,isLoading:le.isLoading,onSelect:xe})}),pe("div",{style:he?{display:"none"}:void 0,children:pe(ta,{queuedMessages:I.queuedMessages,onRemove:I.removeQueuedMessage})}),pe("div",{style:he?{display:"none"}:void 0,children:pe("div",{className:"ww:shrink-0 ww:px-4 ww:pb-8 ww:pt-2 ww:bg-background",children:qt("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[pe(Jt,{onSubmit:I.handleSubmit,globalDrop:l,multiple:l,className:"ww:rounded-2xl ww:border-border ww:bg-input",children:qt("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[l&&pe(ea,{}),pe(Zt,{onChange:I.handleTextChange,value:I.text,placeholder:G,className:"ww:min-h-0 ww:py-1 ww:px-0"}),pe(Yt,{status:I.status,disabled:I.queueFull})]})}),pe(Ua,{})]})})})]})});import{forwardRef as rp,useCallback as Ya,useEffect as pt,useImperativeHandle as sp,useRef as Gt,useState as nr}from"react";import{jsx as op}from"react/jsx-runtime";var ap="can make mistakes";function Li({text:e}){return e===!1?null:op("span",{className:"ww:text-[11px] ww:text-muted-foreground ww:opacity-70",children:e||ap})}import{jsx as se,jsxs as ze}from"react/jsx-runtime";var ir=rp(function(t,a){let{appearance:o,className:r,allowAttachments:s=!1,welcomeMessage:n,welcome:i,placeholder:l="Ask me anything...",triggerEvent:u="triggerDemoRequest",api:f,mcp:d,debug:p=!1,readOnly:c=!1,title:m,headerActions:C,hideHeader:x=!1,enableThreadHistory:w=!1,showToolCalls:g=!0,initializing:h=!1,disclaimer:L}=t,y=o?.theme,T=o?.variables,v=T?Ht(T):{},[R,N]=nr(!1);pt(()=>{if(y!=="auto"||typeof window>"u")return;let b=window.matchMedia("(prefers-color-scheme: dark)");N(b.matches);let A=()=>N(b.matches);return b.addEventListener("change",A),()=>b.removeEventListener("change",A)},[y]);let F=y==="dark"||y==="auto"&&R,k=Qa({...t,api:f}),I=Wa({...t,api:f,sessionId:k.sessionId,onCallTool:d?.onCallTool}),O=d?.resourceEndpoint??Za(f,t.headers),G=Ja(l,!k.text),[U,ne]=nr(null),he=Gt(null),Y=Gt(null),j=Gt(null),te=Gt(null),[ie,le]=nr(!0),ue=Gt(ie);ue.current=ie;let xe=Ya(()=>{let b=he.current;if(!b)return;let A=b.querySelector("textarea");A&&A.focus()},[]),M=Ya((b="smooth")=>{let A=Y.current;A&&A.scrollTo({top:A.scrollHeight,behavior:b})},[]);pt(()=>{let b=te.current,A=Y.current;if(!b||!A)return;let E=new IntersectionObserver(([B])=>le(B.isIntersecting),{root:A,rootMargin:"0px 0px 200px 0px",threshold:0});return E.observe(b),()=>E.disconnect()},[]),pt(()=>{(k.messages[k.messages.length-1]?.role==="user"||ue.current)&&M("smooth")},[k.messages.length,k.messages[k.messages.length-1]]),pt(()=>{M("auto")},[M]),pt(()=>{if(typeof ResizeObserver>"u")return;let b=Y.current,A=j.current;if(!b&&!A)return;let E=b?.scrollHeight??0,B=b?.clientHeight??0,q=new ResizeObserver(()=>{let z=Y.current;if(!z)return;let Le=z.scrollTop+B>=E-5;E=z.scrollHeight,B=z.clientHeight,Le&&M("auto")});return b&&q.observe(b),A&&q.observe(A),()=>q.disconnect()},[M]);let X=Ka({messages:k.messages,status:k.status,config:t.suggestions}),V=Ya(b=>{let A=b.content.map(E=>E.text??"").join("").trim();A&&k.handleSubmit({text:A,files:[],modelContext:b.modelContext})},[k.handleSubmit]),H=Ya(b=>{X.clear(),k.handleSubmit({text:b,files:[]})},[X.clear,k.handleSubmit]);sp(a,()=>({sendMessage:b=>{k.handleSubmit({text:b,files:[]}),xe()},sendMessageAndWait:b=>k.sendMessageAndWait(b),reset:k.reset,focus:xe,get messages(){return k.messages}}),[k.handleSubmit,k.sendMessageAndWait,k.reset,k.messages,xe]),pt(()=>{if(!u)return;let b=A=>{let E=A.detail,B=typeof E?.message=="string"?E.message:void 0;B&&k.handleSubmit({text:B,files:[]}),xe()};return window.addEventListener(u,b),()=>window.removeEventListener(u,b)},[u,k.handleSubmit,xe]);let K=!x&&!!(m||w||C);return ze("div",{ref:he,style:{...v,maxHeight:"inherit",opacity:h?0:1,transition:"opacity 220ms ease-out"},"data-waniwani-chat":"","data-waniwani-layout":"embed","data-color-scheme":y==="auto"?"auto":void 0,...h?{"data-waniwani-initializing":""}:{},...F?{"data-waniwani-dark":""}:{},className:P("ww:relative ww:w-full ww:h-full ww:flex ww:flex-col ww:bg-background ww:text-foreground ww:font-[family-name:var(--ww-font)] ww:overflow-hidden",y==="dark"&&"dark",r),children:[K&&ze("div",{className:"ww:shrink-0 ww:flex ww:items-center ww:gap-2 ww:px-6 ww:py-3 ww:border-b ww:border-border",style:{backgroundColor:"var(--ww-color-card-header)",color:"var(--ww-color-card-header-foreground)"},children:[m&&se("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:m}),!m&&se("div",{className:"ww:flex-1"}),C,w&&se(Ga,{threads:k.threads,activeThreadId:k.activeThreadId,onNewThread:k.startNewThread,onSelectThread:b=>{k.switchThread(b)},onDeleteThread:b=>{k.deleteThread(b)}})]}),ze("div",{ref:Y,className:P("ww:relative ww:flex-1 ww:min-h-0",U?"ww:overflow-hidden":"ww:overflow-y-auto"),children:[ze("div",{ref:j,className:P("ww:mx-auto ww:w-full ww:max-w-3xl ww:px-4 ww:py-6 ww:flex ww:flex-col ww:gap-6",U&&"ww:!py-0"),children:[se(Oa,{messages:k.messages,status:k.status,welcomeMessage:n,welcome:i,onSuggestionSelect:H,resourceEndpoint:O,chatSessionId:k.sessionId,isDark:F,onFollowUp:V,onCallTool:I,fullscreenToolCallId:U,debug:p,showToolCalls:g,toolDefinitions:k.toolDefinitions,onWidgetDisplayModeChange:(b,A)=>{ne(b==="fullscreen"?A.toolCallId:null)}}),se("div",{ref:te,"aria-hidden":!0,style:{height:1}})]}),!ie&&!U&&se("div",{className:"ww:sticky ww:bottom-2 ww:flex ww:justify-center ww:pointer-events-none",children:se(ke,{type:"button",onClick:()=>M("smooth"),size:"icon",variant:"outline",className:"ww:rounded-full ww:shadow ww:pointer-events-auto","aria-label":"Scroll to latest",children:se(je,{className:"ww:size-4"})})})]}),!c&&ze("div",{className:"ww:shrink-0 ww:bg-background",style:U?{display:"none"}:void 0,children:[se(qa,{suggestions:X.suggestions,isLoading:X.isLoading,onSelect:H}),se(ta,{queuedMessages:k.queuedMessages,onRemove:k.removeQueuedMessage}),se("div",{className:"ww:px-4 ww:pb-2 ww:pt-2",children:ze("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[se(Jt,{onSubmit:k.handleSubmit,globalDrop:s,multiple:s,className:"ww:rounded-2xl ww:border-border ww:bg-input",children:ze("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[s&&se(ea,{}),se(Zt,{onChange:k.handleTextChange,value:k.text,placeholder:G,className:"ww:min-h-0 ww:py-1 ww:px-0"}),se(Yt,{status:k.status,disabled:k.queueFull})]})}),ze("div",{className:"ww:pt-2 ww:pb-1 ww:flex ww:justify-center ww:items-center ww:gap-1.5",children:[se(Ua,{}),L!==!1&&se("span",{"aria-hidden":!0,className:"ww:text-[11px] ww:text-muted-foreground ww:opacity-70",children:"\xB7"}),se(Li,{text:L})]})]})})]})]})});import{forwardRef as pp,useEffect as mp,useMemo as ki,useState as bi}from"react";var np="https://app.waniwani.ai/api/mcp/chat",ip={api:np};function lp(){if(typeof document>"u")return null;if(document.currentScript instanceof HTMLScriptElement)return document.currentScript;let e=document.querySelectorAll("script[src]");for(let t of e)if(t instanceof HTMLScriptElement&&/embed/i.test(t.src))return t;return null}function up(){let e=lp();if(!e)return{};let t=g=>e.getAttribute(g)??void 0,a=g=>{let h=e.getAttribute(g);if(h==null)return;let L=h.trim().toLowerCase();if(L==="true"||L==="1"||L==="")return!0;if(L==="false"||L==="0")return!1},o={},r=t("data-api");r&&(o.api=r);let s=t("data-token");s&&(o.token=s);let n=t("data-title");n&&(o.title=n);let i=t("data-welcome-message");i&&(o.welcomeMessage=i);let l=t("data-placeholder");l&&(o.placeholder=l);let u=t("data-mcp-server-url");u&&(o.mcpServerUrl=u);let f=t("data-channel-id");f&&(o.channelId=f);let d=a("data-show-tool-calls");d!==void 0&&(o.showToolCalls=d);let p=t("data-css");p&&(o.css=p);let c=t("data-suggestions");c&&(o.suggestions=c.split(",").map(g=>g.trim()).filter(Boolean));let m=a("data-enable-thread-history");m!==void 0&&(o.enableThreadHistory=m);let C=a("data-hide-header");C!==void 0&&(o.hideHeader=C);let x=t("data-theme");(x==="light"||x==="dark"||x==="auto")&&(o.appearance={theme:x});let w=t("data-disclaimer");if(w!==void 0){let g=w.trim(),h=g.toLowerCase();h==="false"||h==="0"?o.disclaimer=!1:g&&(o.disclaimer=g)}return o}function lr(e){if(!e)return{};let t={};for(let a in e)e[a]!==void 0&&(t[a]=e[a]);return t}function ur(e,t,a){let o=a??up(),r=dp(t,o,e),s={token:"",...ip,...lr(t),...lr(o),...lr(e),...r?{appearance:r}:{}};if(!s.token)throw new Error("[WaniWani] Missing required config: `token`. Set data-token on the script tag or pass it to WaniWani.chat.init().");return s}function dp(e,t,a){let o=a?.appearance?.theme??t.appearance?.theme??e?.appearance?.theme,r={...e?.appearance?.variables??{},...t.appearance?.variables??{},...a?.appearance?.variables??{}},s=Object.keys(r).length>0;if(!o&&!s)return;let n={};return o&&(n.theme=o),s&&(n.variables=r),n}import{useEffect as hC,useState as gC}from"react";var fp="waniwani:config:";function Ci(e,t,a){return`${fp}${e}|${t}|${a??""}`}function Ii(e,t,a){if(typeof window>"u")return null;try{let o=window.sessionStorage.getItem(Ci(e,t,a));if(!o)return null;let r=JSON.parse(o);return r&&typeof r=="object"?r:null}catch{return null}}function Si(e,t,a,o){if(!(typeof window>"u"))try{window.sessionStorage.setItem(Ci(e,t,a),JSON.stringify(o))}catch{}}async function yi(e,t,a,o){try{let r=`${e.replace(/\/$/,"")}/config`,s=o?`${r}?channel=${encodeURIComponent(o)}`:r,n=await fetch(s,{method:"GET",headers:{Authorization:`Bearer ${t}`},signal:a});if(!n.ok)return{};let i=await n.json(),l=i&&typeof i=="object"&&"data"in i&&i.data?i.data:i;return l?cp(l):{}}catch{return{}}}function cp(e){let t={};return e.title!=null&&(t.title=e.title),e.welcomeMessage!=null&&(t.welcomeMessage=e.welcomeMessage),e.placeholder!=null&&(t.placeholder=e.placeholder),e.suggestions!=null&&e.suggestions.length>0&&(t.suggestions=e.suggestions),typeof e.enableThreadHistory=="boolean"&&(t.enableThreadHistory=e.enableThreadHistory),t}import{jsx as wp}from"react/jsx-runtime";var hp=600,Ti="https://app.waniwani.ai/api/mcp/chat",gp=pp(function(t,a){let{token:o,channelId:r,className:s,overrides:n}=t,i=ki(()=>({token:o,channelId:r,api:n?.api,mcpServerUrl:n?.mcpServerUrl,title:n?.title,hideHeader:n?.hideHeader,welcomeMessage:n?.welcomeMessage,placeholder:n?.placeholder,suggestions:n?.suggestions,enableThreadHistory:n?.enableThreadHistory,showToolCalls:n?.showToolCalls,appearance:n?.appearance,disclaimer:n?.disclaimer}),[o,r,n?.api,n?.mcpServerUrl,n?.title,n?.hideHeader,n?.welcomeMessage,n?.placeholder,n?.suggestions,n?.enableThreadHistory,n?.showToolCalls,n?.appearance,n?.disclaimer]),l=n?.api??Ti,[u,f]=bi({}),[d,p]=bi(!1);mp(()=>{if(!o){p(!0);return}let C=Ii(l,o,r);C&&(f(C),p(!0));let x=new AbortController,w=setTimeout(()=>p(!0),hp);return yi(l,o,x.signal,r).then(g=>{x.signal.aborted||(Object.keys(g).length>0&&(Si(l,o,r,g),f(g)),p(!0))}).catch(g=>{console.error("[WaniWani] Remote config fetch failed:",g),p(!0)}).finally(()=>clearTimeout(w)),()=>{x.abort(),clearTimeout(w)}},[l,o,r]);let c=ki(()=>ur(i,u,void 0),[i,u]),m={};return c.mcpServerUrl&&(m.mcpServerUrl=c.mcpServerUrl),c.channelId&&(m.channelId=c.channelId),wp(ir,{ref:a,api:c.api??Ti,headers:{Authorization:`Bearer ${c.token}`},skipRemoteConfig:!0,body:Object.keys(m).length>0?m:void 0,appearance:c.appearance,title:c.title,hideHeader:c.hideHeader,welcomeMessage:c.welcomeMessage,welcome:n?.welcome,placeholder:c.placeholder,suggestions:c.suggestions?{initial:c.suggestions}:void 0,enableThreadHistory:c.enableThreadHistory,showToolCalls:c.showToolCalls,disclaimer:c.disclaimer,allowAttachments:n?.allowAttachments,className:s,initializing:!d})});export{tp as ChatCard,ir as ChatEmbed,Kc as DARK_THEME,gi as DEFAULT_THEME,Qo as McpAppFrame,gp as WaniwaniChat,rr as mergeTheme,Ht as themeToCSSProperties};
|
|
17
17
|
/*! Bundled license information:
|
|
18
18
|
|
|
19
19
|
lucide-react/dist/esm/shared/src/utils/mergeClasses.js:
|