@waniwani/sdk 0.11.27 → 0.12.0

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.
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import{a as mr,b as hr,c as gr,d as ot,e as rt,f as $t,g as wr,h as xr,i as Lr,j as Cr,k as Xt,l as Ir,m as oo,n as Sr,o as yr,p as st,u as ro}from"../chunk-5JBHQYU5.js";import"../chunk-V3ZDECK5.js";import{forwardRef as Yc,useCallback as ir,useEffect as ep,useImperativeHandle as tp,useRef as wi,useState as xi}from"react";import{forwardRef as Ni,createElement as Oi}from"react";var Qt=(...e)=>e.filter((t,a,o)=>!!t&&t.trim()!==""&&o.indexOf(t)===a).join(" ").trim();var kr=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var br=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,o)=>o?o.toUpperCase():a.toLowerCase());var so=e=>{let t=br(e);return t.charAt(0).toUpperCase()+t.slice(1)};import{forwardRef as _i,createElement as Ar}from"react";var Tr={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 Pr=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var vr=_i(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:o,className:r="",children:s,iconNode:n,...i},l)=>Ar("svg",{ref:l,...Tr,width:t,height:t,stroke:e,strokeWidth:o?Number(a)*24/Number(t):a,className:Qt("lucide",r),...!s&&!Pr(i)&&{"aria-hidden":"true"},...i},[...n.map(([u,f])=>Ar(u,f)),...Array.isArray(s)?s:[s]]));var Q=(e,t)=>{let a=Ni(({className:o,...r},s)=>Oi(vr,{ref:s,iconNode:t,className:Qt(`lucide-${kr(so(e))}`,`lucide-${e}`,o),...r}));return a.displayName=so(e),a};var Ui=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],ze=Q("arrow-down",Ui);var Hi=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],pt=Q("arrow-up",Hi);var qi=[["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=Q("braces",qi);var Gi=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],mt=Q("check",Gi);var Wi=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],ht=Q("chevron-down",Wi);var zi=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],gt=Q("chevron-right",zi);var ji=[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]],wt=Q("clipboard-copy",ji);var Vi=[["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"}]],xt=Q("file",Vi);var $i=[["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"}]],Lt=Q("loader",$i);var Xi=[["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"}]],Ct=Q("paperclip",Xi);var Qi=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],It=Q("square",Qi);var Ki=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],je=Q("x",Ki);import{useCallback as pl}from"react";import{useCallback as Ue,useMemo as Ji,useRef as Zi,useState as no}from"react";var Yi={damping:.7,stiffness:.05,mass:1.25},el=70,tl=1e3/60,al=350,Kt=!1;globalThis.document?.addEventListener("mousedown",()=>{Kt=!0});globalThis.document?.addEventListener("mouseup",()=>{Kt=!1});globalThis.document?.addEventListener("click",()=>{Kt=!1});var Rr=(e={})=>{let[t,a]=no(!1),[o,r]=no(e.initial!==!1),[s,n]=no(!1),i=Zi(null);i.current=e;let l=Ue(()=>{if(!Kt)return!1;let g=window.getSelection();if(!g||!g.rangeCount)return!1;let m=g.getRangeAt(0);return m.commonAncestorContainer.contains(x.current)||x.current?.contains(m.commonAncestorContainer)},[]),u=Ue(g=>{d.isAtBottom=g,r(g)},[]),f=Ue(g=>{d.escapedFromLock=g,a(g)},[]),d=Ji(()=>{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(m){x.current&&(x.current.scrollTop=m,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:m}=this;if(!e.targetScrollTop)return m;if(g?.targetScrollTop===m)return g.calculatedScrollTop;let L=Math.max(Math.min(e.targetScrollTop(m,{scrollElement:x.current,contentElement:w.current}),m),0);return g={targetScrollTop:m,calculatedScrollTop:L},requestAnimationFrame(()=>{g=void 0}),L},get scrollDifference(){return this.calculatedTargetScrollTop-this.scrollTop},get isNearBottom(){return this.scrollDifference<=el}}},[]),p=Ue((g={})=>{typeof g=="string"&&(g={animation:g}),g.preserveScrollPosition||u(!0);let m=Date.now()+(Number(g.wait)||0),L=lo(i.current,g.animation),{ignoreEscapes:y=!1}=g,I,P=d.calculatedTargetScrollTop;g.duration instanceof Promise?g.duration.finally(()=>{I=Date.now()}):I=m+(g.duration??0);let k=async()=>{let O=new Promise(requestAnimationFrame).then(()=>{if(!d.isAtBottom)return d.animation=void 0,!1;let{scrollTop:v}=d,F=performance.now(),b=(F-(d.lastTick??F))/tl;if(d.animation||(d.animation={behavior:L,promise:O,ignoreEscapes:y}),d.animation.behavior===L&&(d.lastTick=F),l()||m>Date.now())return k();if(v<Math.min(P,d.calculatedTargetScrollTop)){if(d.animation?.behavior===L){if(L==="instant")return d.scrollTop=d.calculatedTargetScrollTop,k();d.velocity=(L.damping*d.velocity+L.stiffness*d.scrollDifference)/L.mass,d.accumulated+=d.velocity*b,d.scrollTop+=d.accumulated,d.scrollTop!==v&&(d.accumulated=0)}return k()}return I>Date.now()?(P=d.calculatedTargetScrollTop,k()):(d.animation=void 0,d.scrollTop<d.calculatedTargetScrollTop?p({animation:lo(i.current,i.current.resize),ignoreEscapes:y,duration:Math.max(0,I-Date.now())||void 0}):d.isAtBottom)});return O.then(v=>(requestAnimationFrame(()=>{d.animation||(d.lastTick=void 0,d.velocity=0)}),v))};return g.wait!==!0&&(d.animation=void 0),d.animation?.behavior===L?d.animation.promise:k()},[u,l,d]),c=Ue(()=>{f(!0),u(!1)},[f,u]),h=Ue(({target:g})=>{if(g!==x.current)return;let{scrollTop:m,ignoreScrollToTop:L}=d,{lastScrollTop:y=m}=d;d.lastScrollTop=m,d.ignoreScrollToTop=void 0,L&&L>m&&(y=L),n(d.isNearBottom),setTimeout(()=>{if(d.resizeDifference||m===L)return;if(l()){f(!0),u(!1);return}let I=m>y,P=m<y;if(d.animation?.ignoreEscapes){d.scrollTop=y;return}P&&(f(!0),u(!1)),I&&f(!1),!d.escapedFromLock&&d.isNearBottom&&u(!0)},1)},[f,u,l,d]),C=Ue(({target:g,deltaY:m})=>{let L=g;for(;!["scroll","auto"].includes(getComputedStyle(L).overflow);){if(!L.parentElement)return;L=L.parentElement}L===x.current&&m<0&&x.current.scrollHeight>x.current.clientHeight&&!d.animation?.ignoreEscapes&&(f(!0),u(!1))},[f,u,d]),x=Mr(g=>{x.current?.removeEventListener("scroll",h),x.current?.removeEventListener("wheel",C),g?.addEventListener("scroll",h,{passive:!0}),g?.addEventListener("wheel",C,{passive:!0})},[]),w=Mr(g=>{if(d.resizeObserver?.disconnect(),!g)return;let m;d.resizeObserver=new ResizeObserver(([L])=>{let{height:y}=L.contentRect,I=y-(m??y);if(d.resizeDifference=I,d.scrollTop>d.targetScrollTop&&(d.scrollTop=d.targetScrollTop),n(d.isNearBottom),I>=0){let P=lo(i.current,m?i.current.resize:i.current.initial);p({animation:P,wait:!0,preserveScrollPosition:!0,duration:P==="instant"?void 0:al})}else d.isNearBottom&&(f(!1),u(!0));m=y,requestAnimationFrame(()=>{setTimeout(()=>{d.resizeDifference===I&&(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 Mr(e,t){let a=Ue(o=>(a.current=o,e(o)),t);return a}var io=new Map;function lo(...e){let t={...Yi},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 io.has(o)||io.set(o,Object.freeze(t)),a?"instant":io.get(o)}import*as Ve from"react";import{createContext as ol,useContext as rl,useEffect as sl,useImperativeHandle as nl,useLayoutEffect as il,useMemo as ll,useRef as ul}from"react";var Fr=ol(null),dl=typeof window<"u"?il:sl;function St({instance:e,children:t,resize:a,initial:o,mass:r,damping:s,stiffness:n,targetScrollTop:i,contextRef:l,...u}){let f=ul(null),d=Ve.useCallback((y,I)=>(L?.targetScrollTop??i)?.(y,I)??y,[i]),p=Rr({mass:r,damping:s,stiffness:n,resize:a,initial:o,targetScrollTop:d}),{scrollRef:c,contentRef:h,scrollToBottom:C,stopScroll:x,isAtBottom:w,escapedFromLock:g,state:m}=e??p,L=ll(()=>({scrollToBottom:C,stopScroll:x,scrollRef:c,isAtBottom:w,escapedFromLock:g,contentRef:h,state:m,get targetScrollTop(){return f.current},set targetScrollTop(y){f.current=y}}),[C,w,h,c,x,g,m]);return nl(l,()=>L,[L]),dl(()=>{c.current&&getComputedStyle(c.current).overflow==="visible"&&(c.current.style.overflow="auto")},[]),Ve.createElement(Fr.Provider,{value:L},Ve.createElement("div",{...u},typeof t=="function"?t(L):t))}(function(e){function t({children:a,scrollClassName:o,...r}){let s=uo();return Ve.createElement("div",{ref:s.scrollRef,style:{height:"100%",width:"100%",scrollbarGutter:"stable both-edges"},className:o},Ve.createElement("div",{...r,ref:s.contentRef},typeof a=="function"?a(s):a))}e.Content=t})(St||(St={}));function uo(){let e=rl(Fr);if(!e)throw new Error("use-stick-to-bottom component context must be used within a StickToBottom component");return e}var fl=hr({prefix:"ww"});function T(...e){return fl(mr(e))}import{jsx as cl}from"react/jsx-runtime";var ye=({className:e,variant:t="default",size:a="default",type:o="button",...r})=>cl("button",{type:o,className:T("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 Br=({className:e,...t})=>Jt(St,{className:T("ww:relative ww:flex-1 ww:overflow-y-hidden",e),initial:"smooth",resize:"smooth",role:"log",...t}),Dr=({className:e,...t})=>Jt(St.Content,{className:T("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}),Er=({className:e,...t})=>{let{isAtBottom:a,scrollToBottom:o}=uo(),r=pl(()=>{o()},[o]);return!a&&Jt(ye,{className:T("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(ze,{className:"ww:size-4"})})};import Nr from"crypto";var _r="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var ml=128,$e,nt,hl=e=>{!$e||$e.length<e?($e=Buffer.allocUnsafe(e*ml),Nr.randomFillSync($e),nt=0):nt+e>$e.length&&(Nr.randomFillSync($e),nt=0),nt+=e};var yt=(e=21)=>{hl(e|=0);let t="";for(let a=nt-e;a<nt;a++)t+=_r[$e[a]&63];return t};import{createContext as gl,useCallback as Be,useContext as wl,useEffect as fo,useMemo as xl,useRef as co,useState as Or}from"react";import{jsx as Te,jsxs as qr}from"react/jsx-runtime";var Ll=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}},Ur=gl(null),Hr=()=>{let e=wl(Ur);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=co(null),f=co(null),[d,p]=Or([]),c=co(d);fo(()=>{c.current=d},[d]);let h=Be(()=>{u.current?.click()},[]),C=Be(y=>{let I=[...y];if(I.length===0)return;let P=O=>s?O.size<=s:!0,k=I.filter(P);p(O=>{let v=typeof r=="number"?Math.max(0,r-O.length):void 0,F=typeof v=="number"?k.slice(0,v):k;return[...O,...F.map(b=>({filename:b.name,id:yt(),mediaType:b.type,type:"file",url:URL.createObjectURL(b)}))]})},[r,s]),x=Be(y=>{p(I=>{let P=I.find(k=>k.id===y);return P?.url&&URL.revokeObjectURL(P.url),I.filter(k=>k.id!==y)})},[]),w=Be(()=>{p(y=>{for(let I of y)I.url&&URL.revokeObjectURL(I.url);return[]})},[]);fo(()=>()=>{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]);fo(()=>{if(!o)return;let y=P=>{P.dataTransfer?.types?.includes("Files")&&P.preventDefault()},I=P=>{P.dataTransfer?.types?.includes("Files")&&P.preventDefault(),P.dataTransfer?.files&&P.dataTransfer.files.length>0&&C(P.dataTransfer.files)};return document.addEventListener("dragover",y),document.addEventListener("drop",I),()=>{document.removeEventListener("dragover",y),document.removeEventListener("drop",I)}},[C,o]);let m=Be(async y=>{y.preventDefault();let I=y.currentTarget,k=new FormData(I).get("message")||"";I.reset();let O=await Promise.all(d.map(async({id:v,...F})=>{if(F.url?.startsWith("blob:")){let b=await Ll(F.url);return{...F,url:b??F.url}}return F}));try{let v=n({files:O,text:k},y);v instanceof Promise&&await v,w()}catch{}},[d,n,w]),L=xl(()=>({add:C,clear:w,files:d,openFileDialog:h,remove:x}),[d,C,x,w,h]);return qr(Ur.Provider,{value:L,children:[Te("input",{accept:t,"aria-label":"Upload files",className:"ww:hidden",multiple:a,onChange:g,ref:u,title:"Upload files",type:"file"}),Te("form",{className:T("ww:flex ww:w-full ww:flex-col ww:rounded-lg ww:border ww:border-border ww:bg-background",e),onSubmit:m,ref:f,...l,children:i})]})};var Yt=({onChange:e,onKeyDown:t,className:a,placeholder:o="What would you like to know?",...r})=>{let s=Hr(),[n,i]=Or(!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 h=c.getAsFile();h&&p.push(h)}p.length>0&&(f.preventDefault(),s.add(p))},[s]);return Te("textarea",{className:T("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-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=Te(pt,{className:"ww:size-4"});t==="submitted"?i=Te(Lt,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(i=Te(It,{className:"ww:size-4"}));let l=Be(u=>{if(n&&a){u.preventDefault(),a();return}o?.(u)},[n,a,o]);return Te(ye,{"aria-label":n?"Stop":"Submit",className:T("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=Hr();return o.files.length>0?qr(ye,{className:T("ww:group ww:relative",e),onClick:()=>o.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":"Remove all attachments",...a,children:[Te("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}),Te(je,{className:"ww:absolute ww:size-4 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100"})]}):Te(ye,{className:T(e),onClick:()=>o.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??Te(Ct,{className:"ww:size-4"})})};import{memo as Cl,useCallback as Il}from"react";import{jsx as it}from"react/jsx-runtime";var Gr=({className:e,...t})=>it("div",{className:T("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),Wr=({className:e,...t})=>it("li",{className:T("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}),zr=({className:e,...t})=>it("span",{className:T("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),jr=({className:e,...t})=>it("span",{className:T("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),Vr=({className:e,...t})=>it("div",{className:T("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),$r=({className:e,...t})=>it(ye,{className:T("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 Xe,jsxs as po}from"react/jsx-runtime";var Xr=Cl(({message:e,onRemove:t})=>{let a=Il(()=>t(e.id),[t,e.id]);return po(Wr,{children:[Xe(zr,{}),Xe(jr,{children:e.text||"(attachment)"}),Xe(Vr,{children:Xe($r,{"aria-label":"Remove from queue",onClick:a,children:Xe(je,{className:"ww:size-3"})})})]})});Xr.displayName="ChatQueueItem";function aa({queuedMessages:e,onRemove:t,className:a}){return e.length===0?null:po(Gr,{className:T("ww:border-t ww:border-border",a),children:[po("div",{className:"ww:text-[11px] ww:font-medium ww:text-muted-foreground ww:px-2",children:[e.length," queued"]}),Xe("ul",{children:e.map(o=>Xe(Xr,{message:o,onRemove:t},o.id))})]})}import{useState as Qr}from"react";import{jsx as Sl}from"react/jsx-runtime";function Kr({messages:e,evalEnabled:t,api:a="/api/waniwani"}){let[o,r]=Qr(!1),[s,n]=Qr(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:Sl("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 kt,jsxs as kl}from"react/jsx-runtime";var Jr=({files:e,className:t,...a})=>e.length===0?null:kt("div",{className:T("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((o,r)=>kt(yl,{file:o},r))});function yl({file:e}){return e.mediaType?.startsWith("image/")&&e.url?kt("img",{src:e.url,alt:e.filename??"attachment",className:"ww:h-16 ww:max-w-32 ww:rounded ww:object-cover"}):kl("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:[kt(xt,{className:"ww:size-3 ww:shrink-0"}),kt("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??"file"})]})}import{jsx as Zr}from"react/jsx-runtime";var mo=({className:e,size:t=5,...a})=>Zr("div",{className:T("ww:flex ww:items-center ww:gap-1",e),...a,children:[0,1,2].map(o=>Zr("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 ue={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 xe={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 Yr(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 es(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function ts(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 as(e){return Yr(e)?"ambiguous":es(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":ts(e)?"wide":"neutral"}function bl(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function os(e){return bl(e),as(e)}var Tl=Object.defineProperty,Pl=(e,t,a)=>t in e?Tl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Al=(e,t,a)=>Pl(e,typeof t!="symbol"?t+"":t,a);function vl(e){return/^\p{Emoji_Presentation}/u.test(String.fromCodePoint(e))}function Ml(e){if(!e||e<4352)return!1;switch(os(e)){case"fullwidth":case"halfwidth":return!0;case"wide":return!vl(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 Rl(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function Fl(e){return e!==null&&e>=65024&&e<=65038}var Bl=rs(/\p{P}|\p{S}/u),Dl=rs(/\s/);function rs(e){return t;function t(a){return a!==null&&a>-1&&e.test(String.fromCodePoint(a))}}var Le;(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})(Le||(Le={}));function He(e){if(e===ue.eof||gr(e)||Dl(e))return ve.characterGroupWhitespace;let t=0;if(e>=4352){if(Fl(e))return Le.nonEmojiGeneralUseVS;switch(Ml(e)){case null:return Le.ivs;case!0:t|=Le.cjk;break}}return Bl(e)&&(t|=ve.characterGroupPunctuation),t}function oa(e,t,a){if(!_l(e))return e;let o=t(),r=He(o);return!o||Qe(r)?e:Rl(o,a)?Le.cjkPunctuation:El(r)}function El(e){return e&~Le.ivs}function Qe(e){return!!(e&ve.characterGroupWhitespace)}function lt(e){return(e&Le.cjkPunctuation)===ve.characterGroupPunctuation}function bt(e){return!!(e&Le.cjk)}function ss(e){return e===Le.ivs}function ns(e){return!!(e&Le.cjkOrIvs)}function _l(e){return e===Le.nonEmojiGeneralUseVS}function ho(e){return!!(e&Le.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 Nl(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,Al(this,"cachedValue")}value(){return this.cachedValue===void 0&&(this.cachedValue=Nl(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 go={name:"attention",resolveAll:Ol,tokenize:Ul};function Ol(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};is(d,-l),is(p,l),n={type:l>1?xe.strongSequence:xe.emphasisSequence,start:d,end:{...e[o][1].end}},i={type:l>1?xe.strongSequence:xe.emphasisSequence,start:{...e[a][1].start},end:p},s={type:l>1?xe.strongText:xe.emphasisText,start:{...e[o][1].end},end:{...e[a][1].start}},r={type:l>1?xe.strong:xe.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 Ul(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===ue.asterisk||ue.underscore,f=c,e.enter("attentionSequence"),p(c)}function p(c){if(c===f)return e.consume(c),p;let h=e.exit("attentionSequence"),C=ra(c)?la(c,o(),r):c,x=He(C);let w=lt(u),g=w||Qe(u),m=lt(x),L=m||Qe(x),y=ns(u),I=!L||m&&(g||y)||a.includes(c),P=!g||w&&(L||bt(x))||a.includes(n);return h._open=!!(f===ue.asterisk?I:I&&(ho(u)||!P)),h._close=!!(f===ue.asterisk?P:P&&(ho(x)||!I)),t(c)}}function is(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function ls(){return{text:{[ue.asterisk]:go,[ue.underscore]:go},insideSpan:{null:[go]}}}function us(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(ls())}function ds(e){let a=(e||{}).singleTilde,o={name:"strikethrough",tokenize:s,resolveAll:r};return a==null&&(a=!0),{text:{[ue.tilde]:o},insideSpan:{null:[o]},attentionMarkers:{null:[ue.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=xe.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),h=new ia(p,u(),f),C=oa(c,h.value.bind(h),p),x=this.events,w=0;return g;function g(L){return ue.tilde,p===ue.tilde&&x[x.length-1][1].type!==xe.characterEscape?l(L):(n.enter("strikethroughSequenceTemporary"),m(L))}function m(L){let y=He(p);if(L===ue.tilde)return w>1?l(L):(n.consume(L),w++,m);if(w<2&&!a)return l(L);let I=n.exit("strikethroughSequenceTemporary"),P=ra(L)?la(L,u(),f):L,k=He(P),v=lt(C)||Qe(C),b=lt(k)||Qe(k),M=bt(C)||ss(y);return I._open=!b||k===ve.attentionSideAfter&&(v||M),I._close=!v||y===ve.attentionSideAfter&&(b||bt(k)),i(L)}}}function fs(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(ds(e))}var Hl=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),ql=/^(https?:\/\/|mailto:|www\.)/i,Gl=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},Wl=e=>{let t=0;for(let a of e){if(Hl.has(a))return t;t+=a.length}return null},zl=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),jl=e=>({type:"text",value:e}),Vl=()=>e=>{wr(e,"link",(t,a,o)=>{if(!o||typeof a!="number"||!Gl(t)||!ql.test(t.url))return;let r=Wl(t.url);if(r===null||r===0)return;let s=t.url.slice(0,r),n=t.url.slice(r),i=zl(s,t),l=jl(n);return o.children.splice(a,1,i,l),a+1})};function $l(){let e=[us],t=[Vl,fs],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var cs=$l();var J=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Xl(e){return To(e)}function To(e){return Array.isArray(e)?Ql(e):e instanceof RegExp?e:typeof e=="object"?Kl(e):e}function Ql(e){let t=[];for(let a=0,o=e.length;a<o;a++)t[a]=To(e[a]);return t}function Kl(e){let t={};for(let a in e)t[a]=To(e[a]);return t}function Is(e,...t){return t.forEach(a=>{for(let o in a)e[o]=a[o]}),e}function Ss(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?Ss(e.substring(0,e.length-1)):e.substr(~t+1)}var wo=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,ua=class{static hasCaptures(e){return e===null?!1:(wo.lastIndex=0,wo.test(e))}static replaceCaptures(e,t,a){return e.replace(wo,(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 ys(e,t){return e<t?-1:e>t?1:0}function ks(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=ys(e[r],t[r]);if(s!==0)return s}return 0}return a-o}function ps(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 bs(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var Ts=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}},At=class{constructor(e,t,a){this._colorMap=e,this._defaults=t,this._root=a}static createFromRawTheme(e,t){return this.createFromParsedTheme(Yl(e),t)}static createFromParsedTheme(e,t){return tu(e,t)}_cachedMatchRoot=new Ts(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=>Jl(e.parent,r.parentScopes));return o?new Ps(o.fontStyle,o.foreground,o.background):null}},xo=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 Jl(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&&!Zl(e.scopeName,o);){if(r)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function Zl(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var Ps=class{constructor(e,t,a){this.fontStyle=e,this.foregroundId=t,this.backgroundId=a}};function Yl(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"&&ps(n.settings.foreground)&&(u=n.settings.foreground);let f=null;typeof n.settings.background=="string"&&ps(n.settings.background)&&(f=n.settings.background);for(let d=0,p=i.length;d<p;d++){let h=i[d].trim().split(" "),C=h[h.length-1],x=null;h.length>1&&(x=h.slice(0,h.length-1),x.reverse()),a[o++]=new eu(C,x,r,l,u,f)}}return a}var eu=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}},de=(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))(de||{});function tu(e,t){e.sort((l,u)=>{let f=ys(l.scope,u.scope);return f!==0||(f=ks(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 au(t),n=new Ps(a,s.getId(o),s.getId(r)),i=new ru(new Co(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 At(s,n,i)}var au=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)}},ou=Object.freeze([]),Co=class As{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,o,r,s){this.scopeDepth=t,this.parentScopes=a||ou,this.fontStyle=o,this.foreground=r,this.background=s}clone(){return new As(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)}},ru=class Io{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(Io._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 Io(this._mainRule.clone(),Co.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(ks(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 Co(t,a,o,r,s))}},Je=class ke{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){let a=ke.getLanguageId(t),o=ke.getTokenType(t),r=ke.getFontStyle(t),s=ke.getForeground(t),n=ke.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=ke.getLanguageId(t),u=ke.getTokenType(t),f=ke.containsBalancedBrackets(t)?1:0,d=ke.getFontStyle(t),p=ke.getForeground(t),c=ke.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=su(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(ms(r)){let l=[];do l.push(r),r=o.next();while(ms(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 ms(e){return!!e&&!!e.match(/[\w\.:]+/)}function su(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 vs(e){typeof e.dispose=="function"&&e.dispose()}var vt=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},nu=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},iu=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))}},lu=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new vt(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new iu;for(let a of e)uu(a,this.initialScopeName,this.repo,t);for(let a of t.references)if(a instanceof vt){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 uu(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 vt?fa({baseGrammar:s,selfGrammar:r},o):So(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 vt(i))}function So(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?Is({},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=Ms(s);switch(n.kind){case 0:fa({...t,selfGrammar:t.baseGrammar},a);break;case 1:fa(t,a);break;case 2:So(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?So(n.ruleName,l,a):fa(l,a)}else n.kind===4?a.add(new nu(n.scopeName,n.ruleName)):a.add(new vt(n.scopeName));break}}}var du=class{kind=0},fu=class{kind=1},cu=class{constructor(e){this.ruleName=e}kind=2},pu=class{constructor(e){this.scopeName=e}kind=3},mu=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function Ms(e){if(e==="$base")return new du;if(e==="$self")return new fu;let t=e.indexOf("#");if(t===-1)return new pu(e);if(t===0)return new cu(e.substring(1));{let a=e.substring(0,t),o=e.substring(t+1);return new mu(a,o)}}var hu=/\\(\d+)/,hs=/\\(\d+)/g;var gu=-1,Rs=-2;var Ft=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?`${Ss(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)}},wu=class extends Ft{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!")}},xu=class extends Ft{_match;captures;_cachedCompiledPatterns;constructor(e,t,a,o,r){super(e,t,a,null),this._match=new Mt(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 Rt,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},gs=class extends Ft{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 Rt,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},yo=class extends Ft{_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 Mt(r,this.id),this.beginCaptures=s,this._end=new Mt(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 Rt;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 Ft{_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 Mt(r,this.id),this.beginCaptures=s,this.whileCaptures=i,this._while=new Mt(n,Rs),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 Rt;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 Rt,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},Fs=class pe{static createCaptureRule(t,a,o,r,s){return t.registerRule(n=>new wu(a,n,o,r,s))}static getCompiledRuleId(t,a,o){return t.id||a.registerRule(r=>{if(t.id=r,t.match)return new xu(t.$vscodeTextmateLocation,t.id,t.name,t.match,pe._compileCaptures(t.captures,a,o));if(typeof t.begin>"u"){t.repository&&(o=Is({},o,t.repository));let s=t.patterns;return typeof s>"u"&&t.include&&(s=[{include:t.include}]),new gs(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,pe._compilePatterns(s,a,o))}return t.while?new ma(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,pe._compileCaptures(t.beginCaptures||t.captures,a,o),t.while,pe._compileCaptures(t.whileCaptures||t.captures,a,o),pe._compilePatterns(t.patterns,a,o)):new yo(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,pe._compileCaptures(t.beginCaptures||t.captures,a,o),t.end,pe._compileCaptures(t.endCaptures||t.captures,a,o),t.applyEndPatternLast,pe._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=pe.getCompiledRuleId(t[n],a,o)),r[i]=pe.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=Ms(i.include);switch(u.kind){case 0:case 1:l=pe.getCompiledRuleId(o[i.include],a,o);break;case 2:let f=o[u.ruleName];f&&(l=pe.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 h=c.repository[p];h&&(l=pe.getCompiledRuleId(h,a,c.repository))}else l=pe.getCompiledRuleId(c.repository.$self,a,c.repository);break}}else l=pe.getCompiledRuleId(i,a,o);if(l!==-1){let u=a.getRule(l),f=!1;if((u instanceof gs||u instanceof yo||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}}},Mt=class Bs{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=hu.test(this.source):this.hasBackReferences=!1}clone(){return new Bs(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 hs.lastIndex=0,this.source.replace(hs,(r,s)=>bs(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}},Rt=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 ws(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 ws(e,o,this._items.map(r=>r.ruleId))}},ws=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}},Lo=class{constructor(e,t){this.languageId=e,this.tokenType=t}},Lu=class ko{_defaultAttributes;_embeddedLanguagesMatcher;constructor(t,a){this._defaultAttributes=new Lo(t,8),this._embeddedLanguagesMatcher=new Cu(Object.entries(a||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?ko._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new Lo(0,0);_getBasicScopeAttributes=new Ts(t=>{let a=this._scopeToLanguage(t),o=this._toStandardTokenType(t);return new Lo(a,o)});_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){let a=t.match(ko.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/},Cu=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])=>bs(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])}},Xh={InDebugMode:typeof process<"u"&&!!process.env.VSCODE_TEXTMATE_DEBUG},Ds=!1,xs=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function Es(e,t,a,o,r,s,n,i){let l=t.content.length,u=!1,f=-1;if(n){let c=Iu(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 xs(r,!0);p()}return new xs(r,!1);function p(){let c=Su(e,t,a,o,r,f);if(!c){s.produce(r,l),u=!0;return}let h=c.captureIndices,C=c.matchedRuleId,x=h&&h.length>0?h[0].end>o:!1;if(C===gu){let w=r.getRule(e);s.produce(r,h[0].start),r=r.withContentNameScopesList(r.nameScopesList),Tt(e,t,a,r,s,w.endCaptures,h),s.produce(r,h[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,h[0].start);let g=r,m=w.getName(t.content,h),L=r.contentNameScopesList.pushAttributed(m,e);if(r=r.push(C,o,f,h[0].end===l,null,L,L),w instanceof yo){let y=w;Tt(e,t,a,r,s,y.beginCaptures,h),s.produce(r,h[0].end),f=h[0].end;let I=y.getContentName(t.content,h),P=L.pushAttributed(I,e);if(r=r.withContentNameScopesList(P),y.endHasBackReferences&&(r=r.withEndRule(y.getEndWithResolvedBackReferences(t.content,h))),!x&&g.hasSameRuleAs(r)){r=r.pop(),s.produce(r,l),u=!0;return}}else if(w instanceof ma){let y=w;Tt(e,t,a,r,s,y.beginCaptures,h),s.produce(r,h[0].end),f=h[0].end;let I=y.getContentName(t.content,h),P=L.pushAttributed(I,e);if(r=r.withContentNameScopesList(P),y.whileHasBackReferences&&(r=r.withEndRule(y.getWhileWithResolvedBackReferences(t.content,h))),!x&&g.hasSameRuleAs(r)){r=r.pop(),s.produce(r,l),u=!0;return}}else if(Tt(e,t,a,r,s,w.captures,h),s.produce(r,h[0].end),r=r.pop(),!x){r=r.safePop(),s.produce(r,l),u=!0;return}}h[0].end>o&&(o=h[0].end,a=!1)}}function Iu(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 ma&&i.push({rule:u,stack:l})}for(let l=i.pop();l;l=i.pop()){let{ruleScanner:u,findOptions:f}=bu(l.rule,e,l.stack.endRule,a,o===n),d=u.findNextMatchSync(t,o,f);if(d){if(d.ruleId!==Rs){r=l.stack.pop();break}d.captureIndices&&d.captureIndices.length&&(s.produce(l.stack,d.captureIndices[0].start),Tt(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 Su(e,t,a,o,r,s){let n=yu(e,t,a,o,r,s),i=e.getInjections();if(i.length===0)return n;let l=ku(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 yu(e,t,a,o,r,s){let n=r.getRule(e),{ruleScanner:i,findOptions:l}=_s(n,e,r.endRule,a,o===s),u=i.findNextMatchSync(t,o,l);return u?{captureIndices:u.captureIndices,matchedRuleId:u.ruleId}:null}function ku(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 h=e[p];if(!h.matcher(d))continue;let C=t.getRule(h.ruleId),{ruleScanner:x,findOptions:w}=_s(C,t,null,o,r===n),g=x.findNextMatchSync(a,r,w);if(!g)continue;let m=g.captureIndices[0].start;if(!(m>=i)&&(i=m,l=g.captureIndices,u=g.ruleId,f=h.priority,i===r))break}return l?{priorityMatch:f===-1,captureIndices:l,matchedRuleId:u}:null}function _s(e,t,a,o,r){if(Ds){let n=e.compile(t,a),i=Ns(o,r);return{ruleScanner:n,findOptions:i}}return{ruleScanner:e.compileAG(t,a,o,r),findOptions:0}}function bu(e,t,a,o,r){if(Ds){let n=e.compileWhile(t,a),i=Ns(o,r);return{ruleScanner:n,findOptions:i}}return{ruleScanner:e.compileWhileAG(t,a,o,r),findOptions:0}}function Ns(e,t){let a=0;return e||(a|=1),t||(a|=4),a}function Tt(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),m=o.push(p.retokenizeCapturedWithRuleId,c.start,-1,!1,null,x,g),L=e.createOnigString(i.substring(0,c.end));Es(e,L,a&&c.start===0,c.start,m,r,!1,0),vs(L);continue}let h=p.getName(i,n);if(h!==null){let x=(u.length>0?u[u.length-1].scopes:o.contentNameScopesList).pushAttributed(h,e);u.push(new Tu(x,c.end))}}for(;u.length>0;)r.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop()}var Tu=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function Pu(e,t,a,o,r,s,n,i){return new vu(e,t,a,o,r,s,n,i)}function Ls(e,t,a,o,r){let s=ca(t,ha),n=Fs.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 ha(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(Au(t[r],o))return a=r+1,!0;return!1})}function Au(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 vu=class{constructor(e,t,a,o,r,s,n,i){if(this._rootScopeName=e,this.balancedBracketSelectors=s,this._onigLib=i,this._basicScopeAttributesProvider=new Lu(a,o),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=n,this._grammar=Cs(t,null),this._injections=null,this._tokenTypeMatchers=[],r)for(let l of Object.keys(r)){let u=ca(l,ha);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)Ls(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&&Ls(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]=Cs(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=Fs.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let r;if(!t||t===bo.NULL){r=!0;let u=this._basicScopeAttributesProvider.getDefaultAttributes(),f=this.themeProvider.getDefaults(),d=Je.set(0,u.languageId,u.tokenType,null,f.fontStyle,f.foregroundId,f.backgroundId),p=this.getRule(this._rootId).getName(null,null),c;p?c=Pt.createRootAndLookUpScopeName(p,d,this):c=Pt.createRoot("unknown",d),t=new bo(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 Ru(a,e,this._tokenTypeMatchers,this.balancedBracketSelectors),l=Es(this,s,r,0,t,i,!0,o);return vs(s),{lineLength:n,lineTokens:i,ruleStack:l.stack,stoppedEarly:l.stoppedEarly}}};function Cs(e,t){return e=Xl(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 Pt=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=xo.push(r,s.scopeNames),o=new Me(o,r,s.encodedTokenAttributes);return o}static createRoot(t,a){return new Me(null,new xo(null,t),a)}static createRootAndLookUpScopeName(t,a,o){let r=o.getMetadataForScope(t),s=new xo(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),Je.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}},bo=class Ke{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 Ke(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:Ke._equals(this,t)}static _equals(t,a){return t===a?!0:this._structuralEquals(t,a)?Pt.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(){Ke._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,a,o,r,s,n,i){return new Ke(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 Ke(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=Pt.fromExtension(t?.nameScopesList??null,a.nameScopesList);return new Ke(t,a.ruleId,a.enterPos??-1,a.anchorPos??-1,a.beginRuleCapturedEOL,a.endRule,o,Pt.fromExtension(o,a.contentNameScopesList))}},Mu=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}},Ru=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=Je.set(o,0,n.type,null,-1,0,0));this.balancedBracketSelectors&&(r=this.balancedBracketSelectors.match(s))}if(r&&(o=Je.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}},Fu=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,Pu(e,s,t,a,o,r,this,this._onigLib))}return this._grammars.get(e)}},Os=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new Fu(At.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(At.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 Mu(a.balancedBracketSelectors||[],a.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,a,o,r){let s=new lu(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=bo.NULL;var Bu=/["&'<>`]/g,Du=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Eu=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,_u=/[|\\{}()[\]^$+*?.]/g,Us=new WeakMap;function Hs(e,t){if(e=e.replace(t.subset?Nu(t.subset):Bu,o),t.subset||t.escapeOnly)return e;return e.replace(Du,a).replace(Eu,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 Nu(e){let t=Us.get(e);return t||(t=Ou(e),Us.set(e,t)),t}function Ou(e){let t=[],a=-1;for(;++a<e.length;)t.push(e[a].replace(_u,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}var Uu=/[\dA-Fa-f]/;function qs(e,t,a){let o="&#x"+e.toString(16).toUpperCase();return a&&t&&!Uu.test(String.fromCharCode(t))?o:o+";"}var Hu=/\d/;function Gs(e,t,a){let o="&#"+String(e);return a&&t&&!Hu.test(String.fromCharCode(t))?o:o+";"}var Ws=["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 zs=["cent","copy","divide","gt","lt","not","para","times"];var js={}.hasOwnProperty,Po={},xa;for(xa in wa)js.call(wa,xa)&&(Po[wa[xa]]=xa);var qu=/[^\dA-Za-z]/;function Vs(e,t,a,o){let r=String.fromCharCode(e);if(js.call(Po,r)){let s=Po[r],n="&"+s;return a&&Ws.includes(s)&&!zs.includes(s)&&(!o||t&&t!==61&&qu.test(String.fromCharCode(t)))?n:n+";"}return""}function $s(e,t,a){let o=qs(e,t,a.omitOptionalSemicolons),r;if((a.useNamedReferences||a.useShortestReferences)&&(r=Vs(e,t,a.omitOptionalSemicolons,a.attribute)),(a.useShortestReferences||!r)&&a.useShortestReferences){let s=Gs(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 Hs(e,Object.assign({format:$s},t))}var Gu=/^>|^->|<!--|-->|--!>|<!-$/g,Wu=[">"],zu=["<",">"];function Xs(e,t,a,o){return o.settings.bogusComments?"<?"+De(e.value,Object.assign({},o.settings.characterReferences,{subset:Wu}))+">":"<!--"+e.value.replace(Gu,r)+"-->";function r(s){return De(s,Object.assign({},o.settings.characterReferences,{subset:zu}))}}function Qs(e,t,a,o){return"<!"+(o.settings.upperDoctype?"DOCTYPE":"doctype")+(o.settings.tightDoctype?"":" ")+"html>"}var ee=Ks(1),Ao=Ks(-1),ju=[];function Ks(e){return t;function t(a,o,r){let s=a?a.children:ju,n=(o||0)+e,i=s[n];if(!r)for(;i&&st(i);)n+=e,i=s[n];return i}}var Vu={}.hasOwnProperty;function La(e){return t;function t(a,o,r){return Vu.call(e,a.tagName)&&e[a.tagName](a,o,r)}}var Bt=La({body:Xu,caption:vo,colgroup:vo,dd:Zu,dt:Ju,head:vo,html:$u,li:Ku,optgroup:Yu,option:ed,p:Qu,rp:Js,rt:Js,tbody:ad,td:Zs,tfoot:od,th:Zs,thead:td,tr:rd});function vo(e,t,a){let o=ee(a,t,!0);return!o||o.type!=="comment"&&!(o.type==="text"&&st(o.value.charAt(0)))}function $u(e,t,a){let o=ee(a,t);return!o||o.type!=="comment"}function Xu(e,t,a){let o=ee(a,t);return!o||o.type!=="comment"}function Qu(e,t,a){let o=ee(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 Ku(e,t,a){let o=ee(a,t);return!o||o.type==="element"&&o.tagName==="li"}function Ju(e,t,a){let o=ee(a,t);return!!(o&&o.type==="element"&&(o.tagName==="dt"||o.tagName==="dd"))}function Zu(e,t,a){let o=ee(a,t);return!o||o.type==="element"&&(o.tagName==="dt"||o.tagName==="dd")}function Js(e,t,a){let o=ee(a,t);return!o||o.type==="element"&&(o.tagName==="rp"||o.tagName==="rt")}function Yu(e,t,a){let o=ee(a,t);return!o||o.type==="element"&&o.tagName==="optgroup"}function ed(e,t,a){let o=ee(a,t);return!o||o.type==="element"&&(o.tagName==="option"||o.tagName==="optgroup")}function td(e,t,a){let o=ee(a,t);return!!(o&&o.type==="element"&&(o.tagName==="tbody"||o.tagName==="tfoot"))}function ad(e,t,a){let o=ee(a,t);return!o||o.type==="element"&&(o.tagName==="tbody"||o.tagName==="tfoot")}function od(e,t,a){return!ee(a,t)}function rd(e,t,a){let o=ee(a,t);return!o||o.type==="element"&&o.tagName==="tr"}function Zs(e,t,a){let o=ee(a,t);return!o||o.type==="element"&&(o.tagName==="td"||o.tagName==="th")}var Ys=La({body:id,colgroup:ld,head:nd,html:sd,tbody:ud});function sd(e){let t=ee(e,-1);return!t||t.type!=="comment"}function nd(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 id(e){let t=ee(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 ld(e,t,a){let o=Ao(a,t),r=ee(e,-1,!0);return a&&o&&o.type==="element"&&o.tagName==="colgroup"&&Bt(o,a.children.indexOf(o),a)?!1:!!(r&&r.type==="element"&&r.tagName==="col")}function ud(e,t,a){let o=Ao(a,t),r=ee(e,-1);return a&&o&&o.type==="element"&&(o.tagName==="thead"||o.tagName==="tbody")&&Bt(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,b,v=d.calculatedTargetScrollTop;g.duration instanceof Promise?g.duration.finally(()=>{b=Date.now()}):b=h+(g.duration??0);let M=async()=>{let O=new Promise(requestAnimationFrame).then(()=>{if(!d.isAtBottom)return d.animation=void 0,!1;let{scrollTop:k}=d,D=performance.now(),I=(D-(d.lastTick??D))/el;if(d.animation||(d.animation={behavior:L,promise:O,ignoreEscapes:y}),d.animation.behavior===L&&(d.lastTick=D),l()||h>Date.now())return M();if(k<Math.min(v,d.calculatedTargetScrollTop)){if(d.animation?.behavior===L){if(L==="instant")return d.scrollTop=d.calculatedTargetScrollTop,M();d.velocity=(L.damping*d.velocity+L.stiffness*d.scrollDifference)/L.mass,d.accumulated+=d.velocity*I,d.scrollTop+=d.accumulated,d.scrollTop!==k&&(d.accumulated=0)}return M()}return b>Date.now()?(v=d.calculatedTargetScrollTop,M()):(d.animation=void 0,d.scrollTop<d.calculatedTargetScrollTop?p({animation:no(i.current,i.current.resize),ignoreEscapes:y,duration:Math.max(0,b-Date.now())||void 0}):d.isAtBottom)});return O.then(k=>(requestAnimationFrame(()=>{d.animation||(d.lastTick=void 0,d.velocity=0)}),k))};return g.wait!==!0&&(d.animation=void 0),d.animation?.behavior===L?d.animation.promise:M()},[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 b=h>y,v=h<y;if(d.animation?.ignoreEscapes){d.scrollTop=y;return}v&&(f(!0),u(!1)),b&&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,b=y-(h??y);if(d.resizeDifference=b,d.scrollTop>d.targetScrollTop&&(d.scrollTop=d.targetScrollTop),n(d.isNearBottom),b>=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===b&&(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,b)=>(L?.targetScrollTop??i)?.(y,b)??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 b=[...y];if(b.length===0)return;let v=O=>s?O.size<=s:!0,M=b.filter(v);p(O=>{let k=typeof r=="number"?Math.max(0,r-O.length):void 0,D=typeof k=="number"?M.slice(0,k):M;return[...O,...D.map(I=>({filename:I.name,id:kt(),mediaType:I.type,type:"file",url:URL.createObjectURL(I)}))]})},[r,s]),x=Be(y=>{p(b=>{let v=b.find(M=>M.id===y);return v?.url&&URL.revokeObjectURL(v.url),b.filter(M=>M.id!==y)})},[]),w=Be(()=>{p(y=>{for(let b of y)b.url&&URL.revokeObjectURL(b.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()},b=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",b),()=>{document.removeEventListener("dragover",y),document.removeEventListener("drop",b)}},[C,o]);let h=Be(async y=>{y.preventDefault();let b=y.currentTarget,M=new FormData(b).get("message")||"";b.reset();let O=await Promise.all(d.map(async({id:k,...D})=>{if(D.url?.startsWith("blob:")){let I=await xl(D.url);return{...D,url:I??D.url}}return D}));try{let k=n({files:O,text:M},y);k instanceof Promise&&await k,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-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 Le={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 Ce;(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})(Ce||(Ce={}));function He(e){if(e===de.eof||hr(e)||Bl(e))return ve.characterGroupWhitespace;let t=0;if(e>=4352){if(Rl(e))return Ce.nonEmojiGeneralUseVS;switch(vl(e)){case null:return Ce.ivs;case!0:t|=Ce.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)?Ce.cjkPunctuation:Dl(r)}function Dl(e){return e&~Ce.ivs}function Ke(e){return!!(e&ve.characterGroupWhitespace)}function lt(e){return(e&Ce.cjkPunctuation)===ve.characterGroupPunctuation}function Tt(e){return!!(e&Ce.cjk)}function rs(e){return e===Ce.ivs}function ss(e){return!!(e&Ce.cjkOrIvs)}function El(e){return e===Ce.nonEmojiGeneralUseVS}function po(e){return!!(e&Ce.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?Le.strongSequence:Le.emphasisSequence,start:d,end:{...e[o][1].end}},i={type:l>1?Le.strongSequence:Le.emphasisSequence,start:{...e[a][1].start},end:p},s={type:l>1?Le.strongText:Le.emphasisText,start:{...e[o][1].end},end:{...e[a][1].start}},r={type:l>1?Le.strong:Le.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),b=!L||h&&(g||y)||a.includes(c),v=!g||w&&(L||Tt(x))||a.includes(n);return m._open=!!(f===de.asterisk?b:b&&(po(u)||!v)),m._close=!!(f===de.asterisk?v:v&&(po(x)||!b)),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=Le.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!==Le.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 b=n.exit("strikethroughSequenceTemporary"),v=oa(L)?ia(L,u(),f):L,M=He(v),k=lt(C)||Ke(C),I=lt(M)||Ke(M),U=Tt(C)||rs(y);return b._open=!I||M===ve.attentionSideAfter&&(k||U),b._close=!k||y===ve.attentionSideAfter&&(I||Tt(M)),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 X=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 b=y.getContentName(t.content,m),v=L.pushAttributed(b,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 b=y.getContentName(t.content,m),v=L.pushAttributed(b,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 J=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=J(a,t,!0);return!o||o.type!=="comment"&&!(o.type==="text"&&st(o.value.charAt(0)))}function Vu(e,t,a){let o=J(a,t);return!o||o.type!=="comment"}function $u(e,t,a){let o=J(a,t);return!o||o.type!=="comment"}function Xu(e,t,a){let o=J(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=J(a,t);return!o||o.type==="element"&&o.tagName==="li"}function Ku(e,t,a){let o=J(a,t);return!!(o&&o.type==="element"&&(o.tagName==="dt"||o.tagName==="dd"))}function Ju(e,t,a){let o=J(a,t);return!o||o.type==="element"&&(o.tagName==="dt"||o.tagName==="dd")}function Ks(e,t,a){let o=J(a,t);return!o||o.type==="element"&&(o.tagName==="rp"||o.tagName==="rt")}function Zu(e,t,a){let o=J(a,t);return!o||o.type==="element"&&o.tagName==="optgroup"}function Yu(e,t,a){let o=J(a,t);return!o||o.type==="element"&&(o.tagName==="option"||o.tagName==="optgroup")}function ed(e,t,a){let o=J(a,t);return!!(o&&o.type==="element"&&(o.tagName==="tbody"||o.tagName==="tfoot"))}function td(e,t,a){let o=J(a,t);return!o||o.type==="element"&&(o.tagName==="tbody"||o.tagName==="tfoot")}function ad(e,t,a){return!J(a,t)}function od(e,t,a){let o=J(a,t);return!o||o.type==="element"&&o.tagName==="tr"}function Js(e,t,a){let o=J(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=J(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=J(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=J(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=J(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 mr,b as hr,c as gr,d as ot,e as rt,f as $t,g as wr,h as xr,i as Lr,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 en(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=dd(o,e.properties),f=o.all(r.space==="html"&&e.tagName==="template"?e.content:e);return o.schema=r,f&&(n=!1),(u||!s||!Ys(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||!Bt(e,t,a))&&i.push("</"+e.tagName+">"),i.join("")}function dd(e,t){let a=[],o=-1,r;if(t){for(r in t)if(t[r]!==null&&t[r]!==void 0){let s=fd(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 fd(e,t,a){let o=Lr(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:Ca.name[r][s]}));return a===!0||(a=Array.isArray(a)?(o.commaSeparated?Sr:yr)(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:Ca.unquoted[r][s]}))),i!==a&&(e.settings.quoteSmart&&oo(a,n)>oo(a,e.alternative)&&(n=e.alternative),i=n+De(a,Object.assign({},e.settings.characterReferences,{subset:(n==="'"?Ca.single:Ca.double)[r][s],attribute:!0}))+n),l+(i&&"="+i))}var cd=["<","&"];function Ia(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:cd}))}function tn(e,t,a,o){return o.settings.allowDangerousHtml?e.value:Ia(e,t,a,o)}function an(e,t,a,o){return o.all(e)}var on=Ir("type",{invalid:pd,unknown:md,handlers:{comment:Xs,doctype:Qs,element:en,raw:tn,root:an,text:Ia}});function pd(e){throw new Error("Expected node, not `"+e+"`")}function md(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var hd={},gd={},wd=[];function Mo(e,t){let a=t||hd,o=a.quote||'"',r=o==='"'?"'":'"';if(o!=='"'&&o!=="'")throw new Error("Invalid quote `"+o+"`, expected `'` or `\"`");return{one:xd,all:Ld,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||xr,characterReferences:a.characterReferences||gd,closeSelfClosing:a.closeSelfClosing||!1,closeEmptyElements:a.closeEmptyElements||!1},schema:a.space==="svg"?Xt:Cr,quote:o,alternative:r}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function xd(e,t,a){return on(e,t,a,this)}function Ld(e){let t=[],a=e&&e.children||wd,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 Cd(e){return Array.isArray(e)?e:[e]}async function fn(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function _o(e){return!e||["plaintext","txt","text","plain"].includes(e)}function cn(e){return e==="ansi"||_o(e)}function No(e){return e==="none"}function pn(e){return No(e)}function mn(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 Id(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 hn(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 Oo="light-dark()",Sd=["color","background-color"];function yd(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 kd(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?yd(r,s):r})):e}function bd(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&&Sd.includes(p))if(o===Oo&&n.length>1){let h=t.findIndex(g=>g==="light"),C=t.findIndex(g=>g==="dark");if(h===-1||C===-1)throw new J('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let x=n[h][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&de.Italic&&(t["font-style"]="italic"),e.fontStyle&de.Bold&&(t["font-weight"]="bold");let a=[];e.fontStyle&de.Underline&&a.push("underline"),e.fontStyle&de.Strikethrough&&a.push("line-through"),a.length&&(t["text-decoration"]=a.join(" "))}return t}function Bo(e){return typeof e=="string"?e:Object.entries(e).map(([t,a])=>`${t}:${a}`).join(";")}var gn=new WeakMap;function Aa(e,t){gn.set(e,t)}function Et(e){return gn.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(Cd(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 Td(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function Td(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 Pd(e,t){if(!(e instanceof ut))throw new J("Invalid grammar state");return e.getInternalStack(t)}function Ad(){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 J(`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 J(`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 J(`Invalid decoration position ${JSON.stringify(n)}. Line ${n.line} length: ${i.length}`);return{...n,character:l,offset:r.posToIndex(n.line,l)}}},r=Id(a.source),s=(a.options.decorations||[]).map(n=>({...n,start:o(n.start),end:o(n.end)}));vd(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 kd(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 J(`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 h=r[f],C="",x=-1,w=-1;if(d===0&&(x=0),p===0&&(w=0),p===Number.POSITIVE_INFINITY&&(w=h.children.length),x===-1||w===-1)for(let m=0;m<h.children.length;m++)C+=wn(h.children[m]),x===-1&&C.length===d&&(x=m+1),w===-1&&C.length===p&&(w=m+1);if(x===-1)throw new J(`Failed to find start index for decoration ${JSON.stringify(c.start)}`);if(w===-1)throw new J(`Failed to find end index for decoration ${JSON.stringify(c.end)}`);let g=h.children.slice(x,w);if(!c.alwaysWrap&&g.length===h.children.length)i(h,c,"line");else if(!c.alwaysWrap&&g.length===1&&g[0].type==="element")i(g[0],c,"token");else{let m={type:"element",tagName:"span",properties:{},children:g};i(m,c,"wrapper"),h.children.splice(x,g.length,m)}}function n(f,d){r[f]=i(r[f],d,"line")}function i(f,d,p){let c=d.properties||{},h=d.transform||(C=>C);return f.tagName=d.tagName||"span",f.properties={...f.properties,...c,class:f.properties.class},d.properties?.class&&mn(f,d.properties.class),f=h(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 vd(e){for(let t=0;t<e.length;t++){let a=e[t];if(a.start.offset>a.end.offset)throw new J(`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 J(`Decorations ${JSON.stringify(a.start)} and ${JSON.stringify(r.start)} intersect.`)}}}}function wn(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(wn).join(""):""}var Md=[Ad()];function ka(e){let t=Rd(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...Md]}function Rd(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 Ze=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],Ro={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function Fd(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 rn(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 Bd(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)Ro[o]&&t.push({type:"setDecoration",value:Ro[o]});else if(o<=29){let r=Ro[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:Ze[o-30]}});else if(o===38){let r=rn(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:Ze[o-40]}});else if(o===48){let r=rn(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:Ze[o-90+8]}}):o>=100&&o<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:Ze[o-100+8]}})}return t}function Dd(){let e=null,t=null,a=new Set;return{parse(o){let r=[],s=0;do{let n=Fd(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=Bd(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 Ed={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 _d(e=Ed){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<Ze.length;u++)o.push(t(Ze[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 Nd={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 Od(e,t,a){let o=Sa(e,a),r=Pa(t),s=Object.fromEntries(Ze.map(l=>{let u=`terminal.ansi${l[0].toUpperCase()}${l.substring(1)}`,f=e.colors?.[u];return[l,f||Nd[l]]})),n=_d(s),i=Dd();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=Ud(f));let p=de.None;return u.decorations.has("bold")&&(p|=de.Bold),u.decorations.has("italic")&&(p|=de.Italic),u.decorations.has("underline")&&(p|=de.Underline),u.decorations.has("strikethrough")&&(p|=de.Strikethrough),{content:u.value,offset:l[1],color:f,bgColor:d,fontStyle:p}}))}function Ud(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 Uo(e,t,a={}){let{theme:o=e.getLoadedThemes()[0]}=a,r=e.resolveLangAlias(a.lang||"text");if(_o(r)||No(o))return Pa(t).map(l=>[{content:l[0],offset:l[1]}]);let{theme:s,colorMap:n}=e.setTheme(o);if(r==="ansi")return Od(s,t,a);let i=e.getLanguage(a.lang||"text");if(a.grammarState){if(a.grammarState.lang!==i.name)throw new J(`Grammar state language "${a.grammarState.lang}" does not match highlight language "${i.name}"`);if(!a.grammarState.themes.includes(s.name))throw new J(`Grammar state themes "${a.grammarState.themes}" do not contain highlight theme "${s.name}"`)}return qd(t,i,s,n,a)}function Hd(...e){if(e.length===2)return Et(e[1]);let[t,a,o={}]=e,{lang:r="text",theme:s=t.getLoadedThemes()[0]}=o;if(_o(r)||No(s))throw new J("Plain language does not have grammar state");if(r==="ansi")throw new J("ANSI language does not have grammar state");let{theme:n,colorMap:i}=t.setTheme(s),l=t.getLanguage(r);return new ut(Ho(a,l,n,i,o).stateStack,l.name,n.name)}function qd(e,t,a,o,r){let s=Ho(e,t,a,o,r),n=new ut(s.stateStack,t.name,a.name);return Aa(s.tokens,n),s.tokens}function Ho(e,t,a,o,r){let s=Sa(a,r),{tokenizeMaxLineLength:n=0,tokenizeTimeLimit:i=500}=r,l=Pa(e),u=r.grammarState?Pd(r.grammarState,a.name)??ga:r.grammarContextCode!=null?Ho(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[h,C]=l[p];if(h===""){f=[],d.push([]);continue}if(n>0&&h.length>=n){f=[],d.push([{content:h,offset:C,color:"",fontStyle:0}]);continue}let x,w,g;r.includeExplanation&&(x=t.tokenizeLine(h,u,i),w=x.tokens,g=0);let m=t.tokenizeLine2(h,u,i),L=m.tokens.length/2;for(let y=0;y<L;y++){let I=m.tokens[2*y],P=y+1<L?m.tokens[2*y+2]:h.length;if(I===P)continue;let k=m.tokens[2*y+1],O=Ge(o[Je.getForeground(k)],s),v=Je.getFontStyle(k),F={content:h.substring(I,P),offset:C+I,color:O,fontStyle:v};if(r.includeExplanation){let b=[];if(r.includeExplanation!=="scopeName")for(let W of a.settings){let H;switch(typeof W.scope){case"string":H=W.scope.split(/,/).map(se=>se.trim());break;case"object":H=W.scope;break;default:continue}b.push({settings:W,selectors:H.map(se=>se.split(/ /))})}F.explanation=[];let M=0;for(;I+M<P;){let W=w[g],H=h.substring(W.startIndex,W.endIndex);M+=H.length,F.explanation.push({content:H,scopes:r.includeExplanation==="scopeName"?Gd(W.scopes):Wd(b,W.scopes)}),g+=1}}f.push(F)}d.push(f),f=[],u=m.ruleStack}return{tokens:d,stateStack:u}}function Gd(e){return e.map(t=>({scopeName:t}))}function Wd(e,t){let a=[];for(let o=0,r=t.length;o<r;o++){let s=t[o];a[o]={scopeName:s,themeMatches:jd(e,s,t.slice(0,o))}}return a}function sn(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function zd(e,t,a){if(!sn(e[e.length-1],t))return!1;let o=e.length-2,r=a.length-1;for(;o>=0&&r>=0;)sn(e[o],a[r])&&(o-=1),r-=1;return o===-1}function jd(e,t,a){let o=[];for(let{selectors:r,settings:s}of e)for(let n of r)if(zd(n,t,a)){o.push(s);break}return o}function xn(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=Uo(e,t,{...a,theme:l.theme}),f=Et(u),d=typeof l.theme=="string"?l.theme:l.theme.name;return{tokens:u,state:f,theme:d}}),s=Vd(...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,h)=>{let{content:C,explanation:x,offset:w,...g}=c[u][d];p.variants[o[h].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 Vd(...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 J("`themes` option must not be empty");let c=xn(e,t,a);if(l=Et(c),u&&Oo!==u&&!p.find(w=>w.color===u))throw new J(`\`themes\` option must contain the defaultColor key \`${u}\``);let h=p.map(w=>e.getTheme(w.theme)),C=p.map(w=>w.color);s=c.map(w=>w.map(g=>bd(g,C,f,u,d))),l&&Aa(s,l);let x=p.map(w=>Sa(w.theme,a));r=nn(p,h,x,f,u,"fg",d),o=nn(p,h,x,f,u,"bg",d),n=`shiki-themes ${h.map(w=>w.name).join(" ")}`,i=u?void 0:[r,o].join(";")}else if("theme"in a){let u=Sa(a.theme,a);s=Uo(e,t,a);let f=e.getTheme(a.theme);o=Ge(f.bg,u),r=Ge(f.fg,u),n=f.name,l=Et(s)}else throw new J("Invalid options, either `theme` or `themes` must be provided");return{tokens:s,fg:r,bg:o,themeName:n,rootStyle:i,grammarState:l}}function nn(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===Oo&&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 J('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let c=Ge(t[d][s],a[d])||"inherit",h=Ge(t[p][s],a[p])||"inherit";return`light-dark(${c}, ${h});${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 h of ka(a))r=h.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=Xd(s):d==="never"&&(s=Qd(s)),p&&(s=Kd(s));let c={...o,get source(){return r}};for(let h of ka(a))s=h.tokens?.call(c,s)||s;return $d(s,{...a,fg:n,bg:i,themeName:l,rootStyle:a.rootStyle===!1?!1:a.rootStyle??u},c,f)}function $d(e,t,a,o=Et(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:mn,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 m of C){let L={type:"element",tagName:"span",properties:{...m.htmlAttrs},children:[{type:"text",value:m.content}]},y=Bo(m.htmlStyle||ya(m));y&&(L.properties.style=y);for(let I of r)L=I?.span?.call(c,L,x+1,g,w,m)||L;i==="inline"?n.children.push(L):i==="classic"&&w.children.push(L),g+=m.content.length}if(i==="classic"){for(let m of r)w=m?.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 m of n.children)m.type==="element"&&m.tagName==="br"?(C.push(x),x={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(m.type==="element"||m.type==="text")&&x.children.push(m);C.push(x);let g={type:"element",tagName:"code",properties:{},children:C};for(let m of r)g=m?.code?.call(c,g)||g;n.children=[];for(let m=0;m<g.children.length;m++){m>0&&n.children.push({type:"element",tagName:"br",properties:{},children:[]});let L=g.children[m];L.type==="element"&&n.children.push(...L.children)}}let h=n;for(let C of r)h=C?.root?.call(c,h)||h;return o&&Aa(h,o),h}function Xd(e){return e.map(t=>{let a=[],o="",r;return t.forEach((s,n)=>{let l=!(s.fontStyle&&(s.fontStyle&de.Underline||s.fontStyle&de.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 Qd(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 Kd(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=Bo(r.htmlStyle||ya(r)),n=Bo(o.htmlStyle||ya(o)),i=r.fontStyle&&(r.fontStyle&de.Underline||r.fontStyle&de.Strikethrough),l=o.fontStyle&&(o.fontStyle&de.Underline||o.fontStyle&de.Strikethrough);!i&&!l&&s===n?r.content+=o.content:a.push({...o})}return a})}var Jd=Mo;function Zd(e,t,a){let o={meta:{},options:a,codeToHast:(s,n)=>Ta(e,s,n),codeToTokens:(s,n)=>ba(e,s,n)},r=Jd(Ta(e,t,a,o));for(let s of ka(a))r=s.postprocess?.call(o,r,a)||r;return r}var ln={light:"#333333",dark:"#bbbbbb"},un={light:"#fffffe",dark:"#1e1e1e"},dn="__shiki_resolved";function qo(e){if(e?.[dn])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"?ln.light:ln.dark),a||(a=t.type==="light"?un.light:un.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,dn,{enumerable:!1,writable:!1,value:!0}),t}async function Ln(e){return Array.from(new Set((await Promise.all(e.filter(t=>!cn(t)).map(async t=>await fn(t).then(a=>Array.isArray(a)?a:[a])))).flat()))}async function Cn(e){return(await Promise.all(e.map(async a=>pn(a)?null:qo(await fn(a))))).filter(a=>!!a)}var Fo=3,Yd=!1;function ef(e,t=3){if(Fo&&!(typeof Fo=="number"&&t>Fo)){if(Yd)throw new Error(`[SHIKI DEPRECATE]: ${e}`);console.trace(`[SHIKI DEPRECATE]: ${e}`)}}var qe=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function In(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 Do=class extends Os{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=qo(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=At.createFromRawTheme(t),this._textmateThemeCache.set(t,a)),this._syncRegistry.setTheme(a)}getGrammar(t){return t=In(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))}},Eo=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}},Dt=0;function tf(e){Dt+=1,e.warnings!==!1&&Dt>=10&&Dt%10===0&&console.warn(`[Shiki] ${Dt} 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(qo),r=new Eo(e.engine,a),s=new Do(r,o,a,e.langAlias),n;function i(m){return In(m,e.langAlias)}function l(m){w();let L=s.getGrammar(typeof m=="string"?m:m.name);if(!L)throw new qe(`Language \`${m}\` not found, you may need to load it first`);return L}function u(m){if(m==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};w();let L=s.getTheme(m);if(!L)throw new qe(`Theme \`${m}\` not found, you may need to load it first`);return L}function f(m){w();let L=u(m);n!==m&&(s.setTheme(L),n=m);let y=s.getColorMap();return{theme:L,colorMap:y}}function d(){return w(),s.getLoadedThemes()}function p(){return w(),s.getLoadedLanguages()}function c(...m){w(),s.loadLanguages(m.flat(1))}async function h(...m){return c(await Ln(m))}function C(...m){w();for(let L of m.flat(1))s.loadTheme(L)}async function x(...m){return w(),C(await Cn(m))}function w(){if(t)throw new qe("Shiki instance has been disposed")}function g(){t||(t=!0,s.dispose(),Dt-=1)}return{setTheme:f,getTheme:u,getLanguage:l,getLoadedThemes:d,getLoadedLanguages:p,resolveLangAlias:i,loadLanguage:h,loadLanguageSync:c,loadTheme:x,loadThemeSync:C,dispose:g,[Symbol.dispose]:g}}async function af(e){e.engine||ef("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,a,o]=await Promise.all([Cn(e.themes||[]),Ln(e.langs||[]),e.engine]);return tf({...e,themes:t,langs:a,engine:o})}async function of(e){let t=await af(e);return{getLastGrammarState:(...a)=>Hd(t,...a),codeToTokensBase:(a,o)=>Uo(t,a,o),codeToTokensWithThemes:(a,o)=>xn(t,a,o),codeToTokens:(a,o)=>ba(t,a,o),codeToHast:(a,o)=>Ta(t,a,o),codeToHtml:(a,o)=>Zd(t,a,o),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function Sn(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,cn(d))return[];let p=t[d];if(!p)throw new J(`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(pn(d))return"none";if(typeof d=="string"){let p=a[d];if(!p)throw new J(`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 of({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 rf(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 yn(e,t){let a=rf(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 Go=[{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"))}],kn=Object.fromEntries(Go.map(e=>[e.id,e.import])),bn=Object.fromEntries(Go.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),_t={...kn,...bn};var sf=[{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"))}],Tn=Object.fromEntries(sf.map(e=>[e.id,e.import]));var Nt=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function nf(){return 2147483648}function lf(){return typeof performance<"u"?performance.now():Date.now()}var uf=(e,t)=>e+(t-e%t)%t;async function df(e){let t,a,o={};function r(c){a=c,o.HEAPU8=new Uint8Array(c),o.HEAPU32=new Uint32Array(c)}function s(c,h,C){o.HEAPU8.copyWithin(c,h,h+C)}function n(c){try{return t.grow(c-a.byteLength+65535>>>16),r(t.buffer),1}catch{}}function i(c){let h=o.HEAPU8.length;c=c>>>0;let C=nf();if(c>C)return!1;for(let x=1;x<=4;x*=2){let w=h*(1+.2/x);w=Math.min(w,c+100663296);let g=Math.min(C,uf(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,h,C=1024){let x=h+C,w=h;for(;c[w]&&!(w>=x);)++w;if(w-h>16&&c.buffer&&l)return l.decode(c.subarray(h,w));let g="";for(;h<w;){let m=c[h++];if(!(m&128)){g+=String.fromCharCode(m);continue}let L=c[h++]&63;if((m&224)===192){g+=String.fromCharCode((m&31)<<6|L);continue}let y=c[h++]&63;if((m&240)===224?m=(m&15)<<12|L<<6|y:m=(m&7)<<18|L<<12|y<<6|c[h++]&63,m<65536)g+=String.fromCharCode(m);else{let I=m-65536;g+=String.fromCharCode(55296|I>>10,56320|I&1023)}}return g}function f(c,h){return c?u(o.HEAPU8,c,h):""}let d={emscripten_get_now:lf,emscripten_memcpy_big:s,emscripten_resize_heap:i,fd_write:()=>0};async function p(){let h=await e({env:d,wasi_snapshot_preview1:d});t=h.memory,r(t.buffer),Object.assign(o,h),o.UTF8ToString=f}return await p(),o}var ff=Object.defineProperty,cf=(e,t,a)=>t in e?ff(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,ne=(e,t,a)=>cf(e,typeof t!="symbol"?t+"":t,a),ie=null;function pf(e){throw new Nt(e.UTF8ToString(e.getLastOnigError()))}var Ma=class e{constructor(t){ne(this,"utf16Length"),ne(this,"utf8Length"),ne(this,"utf16Value"),ne(this,"utf8Value"),ne(this,"utf16OffsetToUtf8"),ne(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 Re{constructor(t){if(ne(this,"id",++Re.LAST_ID),ne(this,"_onigBinding"),ne(this,"content"),ne(this,"utf16Length"),ne(this,"utf8Length"),ne(this,"utf16OffsetToUtf8"),ne(this,"utf8OffsetToUtf16"),ne(this,"ptr"),!ie)throw new Nt("Must invoke loadWasm first.");this._onigBinding=ie,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&&!Re._sharedPtrInUse?(Re._sharedPtr||(Re._sharedPtr=ie.omalloc(1e4)),Re._sharedPtrInUse=!0,ie.HEAPU8.set(a.utf8Value,Re._sharedPtr),this.ptr=Re._sharedPtr):this.ptr=a.createString(ie)}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)}};ne(Ra,"LAST_ID",0);ne(Ra,"_sharedPtr",0);ne(Ra,"_sharedPtrInUse",!1);var Pn=Ra,zo=class{constructor(t){if(ne(this,"_onigBinding"),ne(this,"_ptr"),!ie)throw new Nt("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(ie),o[i]=u.utf8Length}let r=ie.omalloc(4*t.length);ie.HEAPU32.set(a,r/4);let s=ie.omalloc(4*t.length);ie.HEAPU32.set(o,s/4);let n=ie.createOnigScanner(r,s,t.length);for(let i=0,l=t.length;i<l;i++)ie.ofree(a[i]);ie.ofree(s),ie.ofree(r),n===0&&pf(ie),this._onigBinding=ie,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 Pn(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++]),h=t.convertUtf8OffsetToUtf16(i[l++]);d[p]={start:c,end:h,length:h-c}}return{index:u,captureIndices:d}}};function mf(e){return typeof e.instantiator=="function"}function hf(e){return typeof e.default=="function"}function gf(e){return typeof e.data<"u"}function wf(e){return typeof Response<"u"&&e instanceof Response}function xf(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 Lf(e){if(va)return va;async function t(){ie=await df(async a=>{let o=e;return o=await o,typeof o=="function"&&(o=await o(a)),typeof o=="function"&&(o=await o(a)),mf(o)?o=await o.instantiator(a):hf(o)?o=await o.default(a):(gf(o)&&(o=o.data),wf(o)?typeof WebAssembly.instantiateStreaming=="function"?o=await Cf(o)(a):o=await If(o)(a):xf(o)?o=await Wo(o)(a):o instanceof WebAssembly.Module?o=await Wo(o)(a):"default"in o&&o.default instanceof WebAssembly.Module&&(o=await Wo(o.default)(a))),"instance"in o&&(o=o.instance),"exports"in o&&(o=o.exports),o})}return va=t(),va}function Wo(e){return t=>WebAssembly.instantiate(e,t)}function Cf(e){return t=>WebAssembly.instantiateStreaming(e,t)}function If(e){return async t=>{let a=await e.arrayBuffer();return WebAssembly.instantiate(a,t)}}async function An(e){return e&&await Lf(e),{createScanner(t){return new zo(t.map(a=>typeof a=="string"?a:a.source))},createString(t){return new Pn(t)}}}var Fa=Sn({langs:_t,themes:Tn,engine:()=>An(import("../wasm-EOPKAILK.js"))}),{codeToHtml:Sf,codeToHast:yf,codeToTokens:kf,codeToTokensBase:bf,codeToTokensWithThemes:Tf,getSingletonHighlighter:Pf,getLastGrammarState:Af}=yn(Fa,{guessEmbeddedLanguages:hn});var vn=new Set(Object.keys(_t)),jo=new Map,Vo=new Map,dt=new Map,vf=(e,t)=>`${e}-${t[0]}-${t[1]}`,Mf=(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}`},Rf=(e,t)=>{let a=vf(e,t);if(jo.has(a))return jo.get(a);let o=Fa({themes:t,langs:[e]});return jo.set(a,o),o};function Ff(e={}){var t;let a=(t=e.themes)!=null?t:["github-light","github-dark"];return{name:"shiki",type:"code-highlighter",supportsLanguage(o){return vn.has(o)},getSupportedLanguages(){return Array.from(vn)},getThemes(){return a},highlight({code:o,language:r,themes:s},n){let i=Mf(o,r,s);return Vo.has(i)?Vo.get(i):(n&&(dt.has(i)||dt.set(i,new Set),dt.get(i).add(n)),Rf(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]}});Vo.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 Mn=Ff();import{memo as Bf}from"react";import{jsx as Ba}from"react/jsx-runtime";var Da=({className:e,from:t,children:a,...o})=>Ba("div",{className:T("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:T("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:T("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}),Df={cjk:cs,code:Mn},Ef={enabled:!1},_a=Bf(({className:e,linkSafety:t,...a})=>Ba(ro,{className:T("ww:size-full ww:[&>*:first-child]:mt-0 ww:[&>*:last-child]:mb-0",e),linkSafety:t??Ef,plugins:Df,...a}),(e,t)=>e.children===t.children);_a.displayName="MessageResponse";import{jsx as _f}from"react/jsx-runtime";function Rn({className:e,text:t,...a}){return t?_f("pre",{className:T("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 Nf,useCallback as Of,useContext as En,useEffect as Uf,useMemo as Xo,useRef as Hf,useState as Qo}from"react";import{Fragment as Dn,jsx as j,jsxs as Ee}from"react/jsx-runtime";function qf(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 Gf({text:e,className:t}){let[a,o]=Qo(!1),r=Hf(null);Uf(()=>()=>{r.current&&clearTimeout(r.current)},[]);let s=Of(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 j(ye,{variant:"ghost",size:"sm",onClick:s,className:T("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(Dn,{children:[j(mt,{className:"ww:size-3.5"}),j("span",{children:"Copied"})]}):Ee(Dn,{children:[j(wt,{className:"ww:size-3.5"}),j("span",{children:"Copy"})]})})}function _n({data:e,label:t,className:a,...o}){let[r,s]=Qo(!1),n=Xo(()=>JSON.stringify(e,null,2),[e]),i=qf(e);return Ee("div",{className:T("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:[j("span",{className:"ww:text-xs ww:font-medium ww:text-muted-foreground",children:t}),j(Gf,{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:[j(gt,{className:T("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?j("pre",{className:"ww:overflow-x-auto ww:text-xs ww:font-mono ww:text-foreground ww:whitespace-pre-wrap ww:break-all",children:j("code",{children:n})}):j("span",{className:"ww:truncate ww:text-xs ww:font-mono ww:text-foreground/80",children:i})]})]})}var Ko=Nf({open:!1,toggle:()=>{}});function Nn({className:e,defaultOpen:t=!1,children:a,...o}){let[r,s]=Qo(t);return j(Ko.Provider,{value:{open:r,toggle:()=>s(n=>!n)},children:j("div",{className:T("ww:mb-4 ww:w-full",e),"data-state":r?"open":"closed",...o,children:a})})}function On({className:e,title:t,state:a,...o}){let{open:r,toggle:s}=En(Ko),n=a==="input-available"||a==="input-streaming";return Ee("button",{type:"button",onClick:s,className:T("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:[j(Oe,{className:"ww:size-4 ww:shrink-0 ww:text-muted-foreground"}),j("span",{className:"ww:truncate ww:text-sm ww:font-medium",children:t}),n&&j("span",{className:"ww:size-2 ww:shrink-0 ww:rounded-full ww:bg-primary ww:animate-pulse"})]}),j(ht,{className:T("ww:size-4 ww:shrink-0 ww:text-muted-foreground ww:transition-transform ww:duration-200",r&&"ww:rotate-180")})]})}function Un({className:e,title:t,state:a,...o}){let r=a==="input-available"||a==="input-streaming";return Ee("div",{className:T("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:[j("span",{className:"ww:truncate",children:t}),r&&j("span",{className:"ww:size-2 ww:shrink-0 ww:rounded-full ww:bg-primary ww:animate-pulse"})]})}function Hn({className:e,children:t,...a}){let{open:o}=En(Ko);return j("div",{className:T("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:j("div",{className:"ww:min-h-0 ww:overflow-hidden",children:j("div",{className:T("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 qn({className:e,input:t,debug:a,...o}){let r=Xo(()=>{if(!a&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:s,...n}=t;return n}return t},[t,a]);return j(_n,{data:r,label:"Request",className:e,...o})}function $o(e){if(!(typeof e!="object"||e===null))return e}function Gn(e){return $o(e?.ui)}function Wn(e){return $o($o(e)?._meta)}function Fn(e){if(!e)return;let t=Gn(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 Bn(e){return Gn(e)?.autoHeight===!0}function Na(e,t,a){if(e){let o=Fn(a?.[e]?._meta);if(o)return o}return Fn(Wn(t))}function zn(e,t,a){return e&&Bn(a?.[e]?._meta)?!0:Bn(Wn(t))}function jn({className:e,output:t,errorText:a,debug:o,...r}){let s=Xo(()=>{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:T("ww:space-y-2",e),...r,children:[j("h4",{className:"ww:text-xs ww:font-medium ww:uppercase ww:tracking-wide ww:text-muted-foreground",children:"Error"}),j("div",{className:"ww:rounded-lg ww:bg-destructive/10 ww:p-3 ww:text-xs ww:text-destructive",children:a})]}):j(_n,{data:s,label:"Response",className:e,...r}):null}import{useCallback as Wf,useEffect as $n,useMemo as zf,useRef as ge,useState as Xn}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 Vn(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 tc}from"react/jsx-runtime";var jf="/api/mcp/resource",Vf=500,$f=0,Xf=16,Qf="2026-01-26",Kf=300,Jf=3e3,Zf=3;function Yf(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function ec(e,t,a){return Na(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function Jo({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:o=jf,chatSessionId:r,isDark:s=!1,className:n,autoHeight:i=!1,onOpenLink:l,onFollowUp:u,onCallTool:f,onDisplayModeChange:d,isFullscreen:p=!1,toolDefinitions:c}){let h=ge(null),C=ge(t),x=ge(a),w=ge({width:0,height:0}),g=ge(null),m=ge(!1),L=ge(0),y=ge("inline"),[I,P]=Xn($f),[k,O]=Xn(void 0),v=ge(l),F=ge(u),b=ge(f),M=ge(d),W=ge(r),H=ge(c);C.current=t,x.current=a,v.current=l,F.current=u,b.current=f,M.current=d,W.current=r,H.current=c;let se=Wf(z=>i?Math.max(z+Xf,0):Math.min(Math.max(z,50),Vf),[i]),we=zf(()=>{let z=o.includes("?")?"&":"?";return`${o}${z}uri=${encodeURIComponent(e)}`},[o,e]),te=ge(s);return te.current=s,$n(()=>{if(!m.current)return;let z=h.current;z?.contentWindow&&z.contentWindow.postMessage({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{theme:s?"dark":"light"}},"*")},[s]),$n(()=>{let z=h.current;if(!z)return;let K=!1,B=!1,Z=null,ae=null,Ae=setTimeout(()=>{if(K||B||L.current>=Zf)return;L.current+=1;let q=new URL(z.src);q.searchParams.set("_retry",String(L.current)),z.src=q.toString()},Jf),A=q=>{z.contentWindow?.postMessage(q,"*")},U=q=>{if(K||q.source!==z.contentWindow)return;let _=q.data;if(!_||typeof _!="object"||_.jsonrpc!=="2.0")return;let $=_.method,D=_.id;if($==="ui/initialize"&&D!=null){B=!0,clearTimeout(Ae),A({jsonrpc:"2.0",id:D,result:{protocolVersion:_.params?.protocolVersion??Qf,hostInfo:{name:"WaniWani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:te.current?"dark":"light",displayMode:y.current}}});return}if($==="ui/notifications/initialized"){m.current=!0;let G=C.current,V=x.current,N=V._meta&&typeof V._meta=="object"?V._meta:null,X=Yf(W.current),oe=N&&typeof N.waniwani=="object"&&N.waniwani!==null?N.waniwani:null,Ie=oe||X?{...oe??{},...X?{sessionId:X}:{}}:void 0,_e=N||Ie?{...N??{},...Ie?{waniwani:Ie}:{}}:void 0;A({jsonrpc:"2.0",method:"ui/notifications/tool-input",params:{arguments:G}});let tt=V.content??[{type:"text",text:JSON.stringify(V)}];A({jsonrpc:"2.0",method:"ui/notifications/tool-result",params:{content:tt,structuredContent:V.structuredContent,_meta:_e,meta:_e}});return}if($==="ui/notifications/size-changed"){let G=_.params,V=typeof G?.height=="number"?G.height:void 0,N=typeof G?.width=="number"?G.width:void 0,X=w.current,oe=V!==void 0&&V!==X.height,Ie=N!==void 0&&N!==X.width;if(!oe&&!Ie)return;if(oe&&V!==void 0){X.height=V;let _e=se(V),tt=z.getBoundingClientRect().height;if(g.current&&(g.current.cancel(),g.current=null),P(_e),z.animate&&Math.abs(tt-_e)>2){let at=z.animate([{height:`${tt}px`},{height:`${_e}px`}],{duration:Kf,easing:"ease-out",fill:"forwards"});g.current=at,at.onfinish=()=>{g.current===at&&(at.cancel(),g.current=null)}}}Ie&&i&&N!==void 0&&(X.width=N,O(N));return}if($==="ui/open-link"&&D!=null){let G=_.params?.url;typeof G=="string"&&(v.current?v.current(G):window.open(G,"_blank","noopener,noreferrer")),A({jsonrpc:"2.0",id:D,result:{}});return}if($==="ui/message"&&D!=null){if(F.current&&_.params){let G=_.params,V=Z;if(Z=null,ae){clearTimeout(ae.timer);let N=ae.text;ae=null;let X=(G.content??[]).map(oe=>oe.text??"").join("").trim();G={...G,content:[{type:"text",text:`${X}
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 X('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 X("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 X(`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 X(`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 X(`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 X(`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 X(`Failed to find start index for decoration ${JSON.stringify(c.start)}`);if(w===-1)throw new X(`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 X(`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 X(`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 X(`Grammar state language "${a.grammarState.lang}" does not match highlight language "${i.name}"`);if(!a.grammarState.themes.includes(s.name))throw new X(`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 X("Plain language does not have grammar state");if(r==="ansi")throw new X("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 b=h.tokens[2*y],v=y+1<L?h.tokens[2*y+2]:m.length;if(b===v)continue;let M=h.tokens[2*y+1],O=Ge(o[Ze.getForeground(M)],s),k=Ze.getFontStyle(M),D={content:m.substring(b,v),offset:C+b,color:O,fontStyle:k};if(r.includeExplanation){let I=[];if(r.includeExplanation!=="scopeName")for(let H of a.settings){let W;switch(typeof H.scope){case"string":W=H.scope.split(/,/).map(oe=>oe.trim());break;case"object":W=H.scope;break;default:continue}I.push({settings:H,selectors:W.map(oe=>oe.split(/ /))})}D.explanation=[];let U=0;for(;b+U<v;){let H=w[g],W=m.substring(H.startIndex,H.endIndex);U+=W.length,D.explanation.push({content:W,scopes:r.includeExplanation==="scopeName"?qd(H.scopes):Gd(I,H.scopes)}),g+=1}}f.push(D)}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 X("`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 X(`\`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 X("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 X('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 b of r)L=b?.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 X(`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 X(`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 b=h-65536;g+=String.fromCharCode(55296|b>>10,56320|b&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),ne=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"),!ne)throw new Ot("Must invoke loadWasm first.");this._onigBinding=ne,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=ne.omalloc(1e4)),Re._sharedPtrInUse=!0,ne.HEAPU8.set(a.utf8Value,Re._sharedPtr),this.ptr=Re._sharedPtr):this.ptr=a.createString(ne)}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"),!ne)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(ne),o[i]=u.utf8Length}let r=ne.omalloc(4*t.length);ne.HEAPU32.set(a,r/4);let s=ne.omalloc(4*t.length);ne.HEAPU32.set(o,s/4);let n=ne.createOnigScanner(r,s,t.length);for(let i=0,l=t.length;i<l;i++)ne.ofree(a[i]);ne.ofree(s),ne.ofree(r),n===0&&cf(ne),this._onigBinding=ne,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(){ne=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 z,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 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?Ee(Bn,{children:[z(ht,{className:"ww:size-3.5"}),z("span",{children:"Copied"})]}):Ee(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 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:[z("span",{className:"ww:text-xs ww:font-medium ww:text-muted-foreground",children:t}),z(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:[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 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:[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 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:[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 _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:[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 _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=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"),[b,v]=$n(Vf),[M,O]=$n(void 0),k=xe(l),D=xe(u),I=xe(f),U=xe(d),H=xe(r),W=xe(c);C.current=t,x.current=a,k.current=l,D.current=u,I.current=f,U.current=d,H.current=r,W.current=c;let oe=Gf(V=>i?Math.max(V+$f,0):Math.min(Math.max(V,50),jf),[i]),re=Wf(()=>{let V=o.includes("?")?"&":"?";return`${o}${V}uri=${encodeURIComponent(e)}`},[o,e]),ue=xe(s);return ue.current=s,Vn(()=>{if(!h.current)return;let V=m.current;V?.contentWindow&&V.contentWindow.postMessage({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{theme:s?"dark":"light"}},"*")},[s]),Vn(()=>{let V=m.current;if(!V)return;let Z=!1,he=!1,se=null,Y=null,ge=setTimeout(()=>{if(Z||he||L.current>=Jf)return;L.current+=1;let j=new URL(V.src);j.searchParams.set("_retry",String(L.current)),V.src=j.toString()},Kf),R=j=>{V.contentWindow?.postMessage(j,"*")},ee=j=>{if(Z||j.source!==V.contentWindow)return;let G=j.data;if(!G||typeof G!="object"||G.jsonrpc!=="2.0")return;let T=G.method,A=G.id;if(T==="ui/initialize"&&A!=null){he=!0,clearTimeout(ge),R({jsonrpc:"2.0",id:A,result:{protocolVersion:G.params?.protocolVersion??Xf,hostInfo:{name:"WaniWani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:ue.current?"dark":"light",displayMode:y.current}}});return}if(T==="ui/notifications/initialized"){h.current=!0;let B=C.current,_=x.current,E=_._meta&&typeof _._meta=="object"?_._meta:null,q=Zf(H.current),Q=E&&typeof E.waniwani=="object"&&E.waniwani!==null?E.waniwani:null,Se=Q||q?{...Q??{},...q?{sessionId:q}:{}}:void 0,_e=E||Se?{...E??{},...Se?{waniwani:Se}:{}}:void 0;R({jsonrpc:"2.0",method:"ui/notifications/tool-input",params:{arguments:B}});let tt=_.content??[{type:"text",text:JSON.stringify(_)}];R({jsonrpc:"2.0",method:"ui/notifications/tool-result",params:{content:tt,structuredContent:_.structuredContent,_meta:_e,meta:_e}});return}if(T==="ui/notifications/size-changed"){let B=G.params,_=typeof B?.height=="number"?B.height:void 0,E=typeof B?.width=="number"?B.width:void 0,q=w.current,Q=_!==void 0&&_!==q.height,Se=E!==void 0&&E!==q.width;if(!Q&&!Se)return;if(Q&&_!==void 0){q.height=_;let _e=oe(_),tt=V.getBoundingClientRect().height;if(g.current&&(g.current.cancel(),g.current=null),v(_e),V.animate&&Math.abs(tt-_e)>2){let at=V.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)}}}Se&&i&&E!==void 0&&(q.width=E,O(E));return}if(T==="ui/open-link"&&A!=null){let B=G.params?.url;typeof B=="string"&&(k.current?k.current(B):window.open(B,"_blank","noopener,noreferrer")),R({jsonrpc:"2.0",id:A,result:{}});return}if(T==="ui/message"&&A!=null){if(D.current&&G.params){let B=G.params,_=se;if(se=null,Y){clearTimeout(Y.timer);let E=Y.text;Y=null;let q=(B.content??[]).map(Q=>Q.text??"").join("").trim();B={...B,content:[{type:"text",text:`${q}
14
14
 
15
- ${N}`}]}}F.current({...G,...V?{modelContext:V}:{}})}A({jsonrpc:"2.0",id:D,result:{}});return}if($==="ui/update-model-context"&&D!=null){Z=Vn(Z,_.params),A({jsonrpc:"2.0",id:D,result:{}});return}if($==="tools/call"&&D!=null){let G=b.current;if(!G){A({jsonrpc:"2.0",id:D,error:{code:-32601,message:"tools/call not supported"}});return}let V=_.params?.name;G({name:V,arguments:_.params?.arguments??{}}).then(N=>{A({jsonrpc:"2.0",id:D,result:N});let X=N.content?.map(oe=>oe.text??"").join("").trim();X&&ec(V,N,H.current)&&(ae&&clearTimeout(ae.timer),ae={text:X,timer:setTimeout(()=>{if(K)return;let oe=Z;Z=null,ae=null,F.current?.({role:"user",content:[{type:"text",text:X}],...oe?{modelContext:oe}:{}})},500)})}).catch(N=>{let X=N instanceof Error?N.message:"Tool call failed";A({jsonrpc:"2.0",id:D,error:{code:-32e3,message:X}})});return}if($==="ui/request-display-mode"&&D!=null){let G=_.params?.mode,V=G==="fullscreen"||G==="inline"||G==="pip"?G:"inline";y.current=V,A({jsonrpc:"2.0",id:D,result:{mode:V}}),A({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{displayMode:V}}),M.current?.(V);return}if($==="ui/resource-teardown"&&D!=null){A({jsonrpc:"2.0",id:D,result:{}});return}$==="ping"&&D!=null&&A({jsonrpc:"2.0",id:D,result:{}})};return window.addEventListener("message",U),()=>{K=!0,clearTimeout(Ae),ae&&clearTimeout(ae.timer),window.removeEventListener("message",U)}},[i,se]),tc("iframe",{ref:h,src:we,sandbox:"allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox",className:T(!p&&"ww:rounded-md ww:border ww:border-border",n),style:{height:p?"100%":I,minWidth:p||!k?void 0:`min(${k}px, 100%)`,width:"100%",border:"none",colorScheme:s?"dark":"auto"},title:"MCP App"})}import{jsx as Ot,jsxs as ac}from"react/jsx-runtime";function Qn({icon:e,title:t,description:a,suggestions:o,onSuggestionSelect:r}){return ac("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&&Ot("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}),Ot("h2",{className:"ww:text-lg ww:font-semibold ww:text-foreground",children:t}),a&&Ot("p",{className:"ww:mt-1 ww:text-sm ww:text-muted-foreground ww:max-w-sm",children:a}),o&&o.length>0&&Ot("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)=>Ot("button",{type:"button",onClick:()=>r?.(s),className:T("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 oc}from"react";import{jsx as Kn,jsxs as rc}from"react/jsx-runtime";var Oa=class extends oc{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.warn("[WaniWani] Widget failed to render:",t.message)}render(){return this.state.hasError?rc("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:[Kn("span",{children:"Widget failed to load"}),Kn("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 sc,jsx as re,jsxs as ct}from"react/jsx-runtime";function Jn(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:h}){let C=t==="submitted"||t==="streaming",x=e[e.length-1],w=e.length>0,g=C&&(!w||x.role==="user"),m=d!=null;return ct(sc,{children:[!m&&(!w&&o?re(Qn,{...o,onSuggestionSelect:r}):a&&re(Da,{from:"assistant",children:re(Ea,{children:re(_a,{children:a})})})),e.map(L=>{let y=L.parts.filter(b=>b.type==="text"),I=L.parts.filter(b=>b.type==="reasoning"),P=L.parts.filter(b=>b.type==="file"),k=L.parts.filter(b=>"toolCallId"in b),O=L===x&&L.role==="assistant",v=y.length>0,F=m?k.some(b=>b.toolCallId===d):!1;return m&&!F?re("div",{style:{display:"none"}},L.id):ct(Da,{from:L.role,children:[!F&&I.map((b,M)=>re(Rn,{text:b.text},`reasoning-${L.id}-${M}`)),k.map(b=>{let M="output"in b?b.output:void 0,W=Na(b.toolName,M,h),H=zn(b.toolName,M,h),se=b.toolCallId===d;return ct("div",{style:se?{position:"absolute",inset:0,zIndex:10,display:"flex",flexDirection:"column",overflow:"hidden",background:"var(--ww-color-background)"}:void 0,children:[re("div",{style:se?{display:"none"}:void 0,children:c?ct(Nn,{children:[re(On,{title:b.title??Jn(b.toolName),state:b.state}),ct(Hn,{children:[re(qn,{input:b.input,debug:p}),M!==void 0&&re(jn,{output:M,errorText:"errorText"in b?b.errorText:void 0,debug:p})]})]}):re(Un,{title:b.title??Jn(b.toolName),state:b.state})}),W&&s&&M!==void 0&&re(Oa,{children:re(Jo,{isFullscreen:se,resourceUri:W,toolInput:b.input??{},toolResult:{content:M.content,structuredContent:M.structuredContent,_meta:M._meta},resourceEndpoint:s,chatSessionId:n,isDark:i,autoHeight:H,toolDefinitions:h,onFollowUp:l,onCallTool:u,onDisplayModeChange:f?we=>f(we,{toolCallId:b.toolCallId,resourceUri:W,toolInput:b.input??{},toolResult:{content:M.content,structuredContent:M.structuredContent,_meta:M._meta},autoHeight:H}):void 0})})]},b.toolCallId)}),!F&&re("div",{children:ct(Ea,{children:[P.length>0&&re(Jr,{files:P}),v?y.map((b,M)=>re(_a,{children:b.type==="text"?b.text:""},`${L.id}-${M}`)):O&&C&&re(mo,{})]})})]},L.id)}),!m&&g&&re(Da,{from:"assistant",children:re(Ea,{children:re(mo,{})})})]})}import{jsx as Zo,jsxs as lc}from"react/jsx-runtime";var nc="https://app.waniwani.ai/assets/waniwani-logo.svg",ic="https://waniwani.ai";function Ha(){return Zo("div",{className:"ww:pt-2 ww:pb-1 ww:flex ww:justify-center",children:lc("a",{href:ic,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:[Zo("span",{children:"powered by"}),Zo("img",{src:nc,alt:"WaniWani",width:72,height:10,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:T("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:T("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 uc,useRef as dc,useState as fc}from"react";import{jsx as Y,jsxs as We}from"react/jsx-runtime";var Zn=20;function cc(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 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":"New chat",children:[Y("title",{children:"New chat"}),Y("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),Y("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}function mc(){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:[Y("title",{children:"Thread history"}),Y("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),Y("polyline",{points:"3 4 3 9 8 9"}),Y("line",{x1:"12",y1:"7",x2:"12",y2:"12"}),Y("line",{x1:"12",y1:"12",x2:"15",y2:"14"})]})}function hc(){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:[Y("title",{children:"Delete thread"}),Y("polyline",{points:"3 6 5 6 21 6"}),Y("path",{d:"M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6"}),Y("path",{d:"M10 11v6"}),Y("path",{d:"M14 11v6"})]})}function Wa({threads:e,activeThreadId:t,onNewThread:a,onSelectThread:o,onDeleteThread:r}){let[s,n]=fc(!1),i=dc(null);uc(()=>{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:[Y("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:Y(pc,{})}),Y("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:Y(mc,{})}),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&&Y("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:[Y("div",{className:"ww:truncate ww:text-foreground ww:font-medium",children:f.title}),Y("div",{className:"ww:text-[10px] ww:text-muted-foreground",children:cc(f.updatedAt)})]}),Y("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:Y(hc,{})})]},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 gc,useRef as wc}from"react";function za(e){let t=wc(e);return t.current=e,gc(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 Dc}from"@ai-sdk/react";import{useCallback as fe,useEffect as Pe,useRef as le,useState as Ye}from"react";import{DefaultChatTransport as xc,uiMessageChunkSchema as Lc}from"ai";function Cc(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 xc{processResponseStream(t){let a="",o=Lc(),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=Cc(p.error);if(c?.length){let h={...d};for(let x of c)delete h[x];let C=await r(h);C.success&&n.enqueue(C.value)}}catch{}}}}))}};var Ic="waniwani-memory";var Ce="threads",Va="by_memoryUserId",Sc="by_updatedAt";var ei="memoryUserId",Yn="waniwani-memory-user-id",Yo=null;function er(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function yc(e,t){if(t<1&&(e.objectStoreNames.contains("ids")||e.createObjectStore("ids")),t<2&&!e.objectStoreNames.contains(Ce)){let a=e.createObjectStore(Ce,{keyPath:"threadId"});a.createIndex(Va,"memoryUserId",{unique:!1}),a.createIndex(Sc,"updatedAt",{unique:!1})}}async function tr(){return new Promise((e,t)=>{let a=indexedDB.open(Ic,2);a.onupgradeneeded=o=>{yc(a.result,o.oldVersion)},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})}async function kc(){return tr()}async function bc(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 Tc(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 Pc(){if(typeof indexedDB>"u")return null;try{let e=await kc();try{let t=await bc(e);if(t)return t;let a=er();return await Tc(e,a),a}finally{e.close()}}catch{return null}}function Ac(){try{let e=localStorage.getItem(Yn);if(e)return e;let t=er();return localStorage.setItem(Yn,t),t}catch{return null}}async function ti(){let e=await Pc();if(e)return e;let t=Ac();return t||(Yo||(Yo=er()),Yo)}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 tr(),await e(t)}catch{return null}finally{try{t?.close()}catch{}}}function ar(e){return new Promise((t,a)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>a(e.error)})}async function or(e){return await Xa(async a=>{let s=a.transaction(Ce,"readonly").objectStore(Ce).index(Va),i=(await ar(s.getAll(e))??[]).filter($a);return i.sort((l,u)=>l.updatedAt<u.updatedAt?1:-1),i})??[]}async function rr(e){return await Xa(async a=>{let r=a.transaction(Ce,"readonly").objectStore(Ce),s=await ar(r.get(e));return $a(s)?s:null})??null}async function sr(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(Ce,"readwrite");f.oncomplete=()=>l(),f.onerror=()=>u(f.error),f.onabort=()=>u(f.error),f.objectStore(Ce).put(t)});let o=a.transaction(Ce,"readwrite"),r=o.objectStore(Ce),s=r.index(Va),i=(await ar(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(Ce,"readwrite");r.oncomplete=()=>a(),r.onerror=()=>o(r.error),r.onabort=()=>o(r.error),r.objectStore(Ce).delete(e)}),null))}async function si(e){return(await or(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 vc(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 Mc(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 Rc(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 Fc(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 Bc(){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 Fc(e);try{localStorage.setItem(ii,t)}catch{}return t}async function ui(){let e=navigator.userAgent,[t,a]=await Promise.all([Bc(),ti()]);return{userAgent:e,browser:vc(e),os:Mc(e),deviceType:Rc(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 Ec="x-session-id",_c=250;function di(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():yt()}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 Nc(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=le(a),f=le(o),d=le(n);Pe(()=>{d.current=n},[n]);let p=le(void 0),c=le(null),[h,C]=Ye(void 0),x=le(h),[w,g]=Ye(i),m=le(w),[L,y]=Ye([]),[I,P]=Ye(!n),k=le(void 0),O=le(void 0),v=le(void 0),F=le(void 0),b=le(0),M=le(l);Pe(()=>{M.current=l},[l]);let W=fe(S=>{m.current=S,g(S),S&&M.current?.(S)},[]),H=fe(async()=>{if(!n)return;let S=c.current?.memoryUserId;if(!S)return;let R=await or(S);y(R)},[n]),se=fe(()=>x.current,[]),we=fe(S=>{let R=fi(S);R&&x.current!==R&&(x.current=R,C(R))},[]),te=fe(()=>{x.current=void 0,C(void 0)},[]);Pe(()=>{u.current=a},[a]),Pe(()=>{f.current=o},[o]),Pe(()=>{let S=!1,R=b.current;return(async()=>{try{let Se=await ui();if(S)return;c.current=Se}catch{}if(!n)return;let E=c.current?.memoryUserId;if(!E){P(!0);return}try{let Se=i??await si(E);if(S||R!==b.current)return;if(Se){let he=await rr(Se);if(S||R!==b.current)return;he&&he.memoryUserId===E&&(m.current=he.threadId,g(he.threadId),k.current=he.createdAt,O.current=he.title,he.sessionId&&(x.current=he.sessionId,C(he.sessionId)),$(he.messages))}await H()}finally{S||P(!0)}})(),()=>{S=!0}},[]);let z=le(new ja({api:t,headers:()=>({...u.current}),body:()=>{let S={...f.current??{}},R=Object.hasOwn(S,"sessionId"),E=fi(S.sessionId);if(E)we(E),S.sessionId=E;else if(R)te(),delete S.sessionId;else{let be=se();be&&(S.sessionId=be)}if(ft(p.current)&&(S.modelContext=p.current),c.current){let be=c.current;S.visitorContext={timezone:be.timezone,language:be.language,languages:be.languages,deviceType:be.deviceType,referrer:be.referrer,visitorId:be.visitorId};let Fe=typeof S.visitor=="object"&&S.visitor!==null?S.visitor:{},Ei=typeof Fe.client=="object"&&Fe.client!==null?Fe.client:{};S.visitor={...Fe,client:{...Ei,memoryUserId:be.memoryUserId}}}let Se=typeof S.extra=="object"&&S.extra!==null&&!Array.isArray(S.extra)?S.extra:void 0,he=c.current?.memoryUserId,Ne=c.current?.language,Vt={};if(he&&(Vt.memoryUserId=he),Ne&&(Vt.locale=Ne),(Object.keys(Vt).length>0||Se)&&(S.extra={...Vt,...Se??{}}),d.current)if(Object.hasOwn(S,"threadId"))typeof S.threadId=="string"&&(m.current=S.threadId);else{let Fe=m.current;Fe||(Fe=di(),k.current=Qa(),O.current=void 0,W(Fe)),S.threadId=Fe}return S},fetch:(async(S,R)=>{let E=await fetch(S,R);return p.current=void 0,we(E.headers.get(Ec)),E})})),K=le(null),B=le(null),Z=le({}),[ae,Ae]=Ye(0),A=e.skipRemoteConfig===!0,U=fe(async()=>{if(!A)try{let S=await Nc(t,u.current);Z.current=S,Ae(R=>R+1)}catch(S){console.warn("[WaniWani] Failed to fetch tool definitions:",S instanceof Error?S.message:S)}},[t,A]);Pe(()=>{U()},[U]);let{messages:q,sendMessage:_,setMessages:$,status:D}=Dc({messages:e.initialMessages,transport:z.current,onFinish({message:S}){s?.(),K.current&&(B.current=S)},onError(S){console.warn("[WaniWani] Chat error:",S.message),K.current&&(K.current.reject(S),K.current=null)}}),G=le(q);Pe(()=>{G.current=q},[q]),Pe(()=>{if(D==="ready"&&K.current&&B.current){let S=K.current,R=B.current;K.current=null,B.current=null,S.resolve(R)}},[D]);let[V,N]=Ye(""),[X,oe]=Ye([]),Ie=D==="submitted"||D==="streaming",_e=fe(S=>{oe(R=>R.filter(E=>E.id!==S))},[]),tt=Ie&&X.length>0,at=fe(S=>{let R=!!S.text?.trim(),E=!!S.files?.length;if(R||E){if(Ie){if(X.length>0)return;oe(Se=>[...Se,{id:yt(),text:S.text||"",files:S.files??[],modelContext:S.modelContext}]),N("");return}p.current=S.modelContext,_({text:S.text||"",files:S.files}),r?.(S.text||""),N("")}},[_,r,Ie,X.length]),Ai=fe(S=>new Promise((R,E)=>{K.current={resolve:R,reject:E},_({text:S}),r?.(S)}),[_,r]);Pe(()=>{if(D!=="ready"||X.length===0)return;let[S,...R]=X;oe(R),p.current=S.modelContext,_({text:S.text,files:S.files.length>0?S.files:void 0}),r?.(S.text)},[D,_,r,X]);let vi=fe(()=>{$([]),oe([]),te(),N(""),Z.current={},Ae(S=>S+1),U()},[$,te,U]),zt=fe(()=>{if(!d.current)return;let S=c.current?.memoryUserId,R=m.current,E=G.current;if(!(!S||!R||E.length===0)){if(k.current||(k.current=Qa()),!O.current){let Se=E.find(Ne=>Ne.role==="user"),he=Se?Se.parts.map(Ne=>"text"in Ne&&typeof Ne.text=="string"?Ne.text:"").join(" "):"";O.current=ni(he)}return{threadId:R,memoryUserId:S,title:O.current,messages:E,sessionId:x.current,createdAt:k.current,updatedAt:Qa()}}},[]),fr=fe(async()=>{let S=zt();S&&(await sr(S),await H())},[zt,H]);Pe(()=>{if(n&&I&&!(D==="submitted"||D==="streaming")&&q.length!==0)return v.current&&clearTimeout(v.current),v.current=setTimeout(()=>{v.current=void 0;let S=fr().finally(()=>{F.current===S&&(F.current=void 0)});F.current=S},_c),()=>{v.current&&clearTimeout(v.current)}},[n,I,q,D,fr]);let jt=fe(()=>{let S=F.current,R=v.current,E=R?zt():void 0;return R&&(clearTimeout(R),v.current=void 0),(async()=>{S&&await S,E&&(await sr(E),await H())})()},[zt,H]),Mi=fe(()=>{b.current+=1,jt(),$([]),oe([]),te(),N("");let S=di();return k.current=Qa(),O.current=void 0,W(S),H(),S},[$,te,W,H,jt]),ao=fe(async S=>{b.current+=1;let R=b.current;if(await jt(),R!==b.current)return;let E=await rr(S);R===b.current&&E&&(W(E.threadId),k.current=E.createdAt,O.current=E.title,E.sessionId?(x.current=E.sessionId,C(E.sessionId)):te(),$(E.messages),oe([]),N(""))},[$,te,W,jt]),Ri=fe(async S=>{if(m.current===S){b.current+=1,v.current&&(clearTimeout(v.current),v.current=void 0);let R=F.current;R&&await R}await ri(S),await H(),m.current===S&&($([]),oe([]),te(),N(""),m.current=void 0,g(void 0),k.current=void 0,O.current=void 0)},[$,te,H]);Pe(()=>{n&&I&&i!==void 0&&i!==m.current&&ao(i)},[i,n,I,ao]);let Fi=fe(S=>{N(S.target.value)},[]),cr=q[q.length-1],pr=q.length>0,Bi=Ie&&(!pr||cr.role==="user"),Di=Z.current;return{messages:q,status:D,text:V,setText:N,handleSubmit:at,handleTextChange:Fi,isLoading:Ie,showLoaderBubble:Bi,lastMessage:cr,hasMessages:pr,sendMessage:_,sendMessageAndWait:Ai,reset:vi,queuedMessages:X,queueFull:tt,removeQueuedMessage:_e,sessionId:h,toolDefinitions:Di,refreshToolDefinitions:U,threads:L,activeThreadId:w,isThreadHistoryReady:I,startNewThread:Mi,switchThread:ao,deleteThread:Ri}}import{useEffect as ci,useRef as Oc,useState as Uc}from"react";var Hc={debug:!1,eval:!1};function pi(e="/api/waniwani",t,a=!1){let[o,r]=Uc(Hc),s=Oc(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 qc,useEffect as nr,useRef as Gc,useState as Wc}from"react";function zc(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]=Wc(r??[]),i=Gc(a),l=o===!0||mi(o)&&o.dynamic!==!1,u=qc(()=>{n([])},[]),f=t.length>0;nr(()=>{!f&&r&&r.length>0&&n(r)},[r,f]);let d=t[t.length-1];return nr(()=>{d?.role==="user"&&u()},[d,u]),nr(()=>{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 h=zc(c);h&&n(h)}},[a,l,t]),{suggestions:s,isLoading:!1,clear:u}}import{useEffect as jc,useRef as Vc,useState as $c}from"react";var Xc=50,Qc=30,Kc=2e3,hi=500;function Za(e,t=!0){let[a,o]=$c(""),r=Vc(void 0);return jc(()=>{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,Qc)):(s++,o(e.slice(0,s)),s>=e.length?(n=!0,r.current=setTimeout(l,Kc)):r.current=setTimeout(l,Xc)))};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",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"},Jc={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"},Zc={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"],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 Ut(e){return{...gi,...e}}function eo(e){let t=e.backgroundColor.replace("#",""),a=parseInt(t.substring(0,2),16),o=parseInt(t.substring(2,4),16),r=parseInt(t.substring(4,6),16);return(a*299+o*587+r*114)/1e3<128}function Ht(e){let t={};for(let[a,o]of Object.entries(Zc)){let r=e[a],s=typeof r=="number"?`${r}px`:String(r);for(let n of o)t[n]=s}return t}import{jsx as ce,jsxs as qt}from"react/jsx-runtime";var ap=Yc(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:h,enableThreadHistory:C=!1,showToolCalls:x=!0}=t,w=c??"/api/waniwani",g=Ya(w,t.headers),m=Ut(o),L=Ht(m),y=eo(m),I=pi(w,t.headers,t.skipRemoteConfig),P=h??I.debug,k=Ka({...t,api:w}),O=za({...t,api:w,sessionId:k.sessionId}),v=Za(d,!k.text),[F,b]=xi(!1),[M,W]=xi(null),H=wi(null),se=wi(void 0),we=ir(()=>{let B=H.current;if(!B)return;B.scrollIntoView({behavior:"smooth",block:"center"});let Z=B.querySelector("textarea");Z&&setTimeout(()=>Z.focus(),300),b(!0),clearTimeout(se.current),se.current=setTimeout(()=>b(!1),2e3)},[]),te=Ja({messages:k.messages,status:k.status,config:t.suggestions}),z=ir(B=>{let Z=B.content.map(ae=>ae.text??"").join("").trim();Z&&k.handleSubmit({text:Z,files:[],modelContext:B.modelContext})},[k.handleSubmit]),K=ir(B=>{te.clear(),k.handleSubmit({text:B,files:[]})},[te.clear,k.handleSubmit]);return tp(a,()=>({sendMessage:B=>{k.handleSubmit({text:B,files:[]}),we()},sendMessageAndWait:B=>k.sendMessageAndWait(B),reset:k.reset,focus:we,get messages(){return k.messages}}),[k.handleSubmit,k.sendMessageAndWait,k.reset,k.messages,we]),ep(()=>{if(!p)return;let B=Z=>{let ae=Z.detail,Ae=typeof ae?.message=="string"?ae.message:void 0;Ae&&k.handleSubmit({text:Ae,files:[]}),we()};return window.addEventListener(p,B),()=>window.removeEventListener(p,B)},[p,k.handleSubmit,we]),qt("div",{ref:H,style:{...L,width:s,height:n},"data-waniwani-chat":"","data-waniwani-layout":"card",...y?{"data-waniwani-dark":""}:{},className:T("ww:flex ww:flex-col ww:font-[family-name:var(--ww-font)] ww:text-foreground ww:bg-background ww:rounded-[var(--ww-radius)] ww:overflow-hidden",F&&"ww:ring-2 ww:ring-blue-400/70 ww:ring-offset-2 ww:ring-offset-background",i),children:[qt("div",{className:"ww:shrink-0 ww:flex ww:items-center ww:gap-2 ww:px-6 ww:py-3",style:{backgroundColor:m.headerBackgroundColor,color:m.headerTextColor},children:[ce("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:r}),ce(Kr,{messages:k.messages,evalEnabled:I.eval,api:w}),C&&ce(Wa,{threads:k.threads,activeThreadId:k.activeThreadId,onNewThread:k.startNewThread,onSelectThread:B=>{k.switchThread(B)},onDeleteThread:B=>{k.deleteThread(B)}})]}),qt(Br,{className:"ww:flex-1 ww:min-h-0 ww:bg-background",children:[ce(Dr,{scrollClassName:M?"ww:!relative ww:!overflow-hidden":void 0,children:ce(Ua,{messages:k.messages,status:k.status,welcomeMessage:u,welcome:f,onSuggestionSelect:K,resourceEndpoint:g,chatSessionId:k.sessionId,isDark:y,onFollowUp:z,onCallTool:O,fullscreenToolCallId:M,debug:P,showToolCalls:x,toolDefinitions:k.toolDefinitions,onWidgetDisplayModeChange:(B,Z)=>{W(B==="fullscreen"?Z.toolCallId:null)}})}),ce(Er,{})]}),ce("div",{style:M?{display:"none"}:void 0,children:ce(Ga,{suggestions:te.suggestions,isLoading:te.isLoading,onSelect:K})}),ce("div",{style:M?{display:"none"}:void 0,children:ce(aa,{queuedMessages:k.queuedMessages,onRemove:k.removeQueuedMessage})}),ce("div",{style:M?{display:"none"}:void 0,children:ce("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:[ce(Zt,{onSubmit:k.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&&ce(ta,{}),ce(Yt,{onChange:k.handleTextChange,value:k.text,placeholder:v,className:"ww:min-h-0 ww:py-1 ww:px-0"}),ce(ea,{status:k.status,disabled:k.queueFull})]})}),ce(Ha,{})]})})})]})});import{forwardRef as op,useCallback as to,useEffect as Gt,useImperativeHandle as rp,useRef as Wt,useState as Li}from"react";import{jsx as me,jsxs as et}from"react/jsx-runtime";var lr=op(function(t,a){let{theme: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:h,headerActions:C,enableThreadHistory:x=!1,showToolCalls:w=!0,initializing:g=!1}=t,m=Ut(o),L=Ht(m),y=eo(m),I=Ka({...t,api:f}),P=za({...t,api:f,sessionId:I.sessionId,onCallTool:d?.onCallTool}),k=d?.resourceEndpoint??Ya(f,t.headers),O=Za(l,!I.text),[v,F]=Li(null),b=Wt(null),M=Wt(null),W=Wt(null),H=Wt(null),[se,we]=Li(!0),te=Wt(se);te.current=se;let z=to(()=>{let A=b.current;if(!A)return;let U=A.querySelector("textarea");U&&U.focus()},[]),K=to((A="smooth")=>{let U=M.current;U&&U.scrollTo({top:U.scrollHeight,behavior:A})},[]);Gt(()=>{let A=H.current,U=M.current;if(!A||!U)return;let q=new IntersectionObserver(([_])=>we(_.isIntersecting),{root:U,rootMargin:"0px 0px 200px 0px",threshold:0});return q.observe(A),()=>q.disconnect()},[]),Gt(()=>{(I.messages[I.messages.length-1]?.role==="user"||te.current)&&K("smooth")},[I.messages.length,I.messages[I.messages.length-1]]),Gt(()=>{K("auto")},[K]),Gt(()=>{if(typeof ResizeObserver>"u")return;let A=M.current,U=W.current;if(!A&&!U)return;let q=A?.scrollHeight??0,_=A?.clientHeight??0,$=new ResizeObserver(()=>{let D=M.current;if(!D)return;let G=D.scrollTop+_>=q-5;q=D.scrollHeight,_=D.clientHeight,G&&K("auto")});return A&&$.observe(A),U&&$.observe(U),()=>$.disconnect()},[K]);let B=Ja({messages:I.messages,status:I.status,config:t.suggestions}),Z=to(A=>{let U=A.content.map(q=>q.text??"").join("").trim();U&&I.handleSubmit({text:U,files:[],modelContext:A.modelContext})},[I.handleSubmit]),ae=to(A=>{B.clear(),I.handleSubmit({text:A,files:[]})},[B.clear,I.handleSubmit]);rp(a,()=>({sendMessage:A=>{I.handleSubmit({text:A,files:[]}),z()},sendMessageAndWait:A=>I.sendMessageAndWait(A),reset:I.reset,focus:z,get messages(){return I.messages}}),[I.handleSubmit,I.sendMessageAndWait,I.reset,I.messages,z]),Gt(()=>{if(!u)return;let A=U=>{let q=U.detail,_=typeof q?.message=="string"?q.message:void 0;_&&I.handleSubmit({text:_,files:[]}),z()};return window.addEventListener(u,A),()=>window.removeEventListener(u,A)},[u,I.handleSubmit,z]);let Ae=!!(h||x||C);return et("div",{ref:b,style:{...L,maxHeight:"inherit",opacity:g?0:1,transition:"opacity 220ms ease-out"},"data-waniwani-chat":"","data-waniwani-layout":"embed",...g?{"data-waniwani-initializing":""}:{},...y?{"data-waniwani-dark":""}:{},className:T("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",r),children:[Ae&&et("div",{className:"ww:shrink-0 ww:flex ww:items-center ww:gap-2 ww:px-6 ww:py-3 ww:bg-background ww:border-b ww:border-border",style:{backgroundColor:m.headerBackgroundColor,color:m.headerTextColor},children:[h&&me("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:h}),!h&&me("div",{className:"ww:flex-1"}),C,x&&me(Wa,{threads:I.threads,activeThreadId:I.activeThreadId,onNewThread:I.startNewThread,onSelectThread:A=>{I.switchThread(A)},onDeleteThread:A=>{I.deleteThread(A)}})]}),et("div",{ref:M,className:T("ww:relative ww:flex-1 ww:min-h-0",v?"ww:overflow-hidden":"ww:overflow-y-auto"),children:[et("div",{ref:W,className:T("ww:mx-auto ww:w-full ww:max-w-3xl ww:px-4 ww:py-6 ww:flex ww:flex-col ww:gap-6",v&&"ww:!py-0"),children:[me(Ua,{messages:I.messages,status:I.status,welcomeMessage:n,welcome:i,onSuggestionSelect:ae,resourceEndpoint:k,chatSessionId:I.sessionId,isDark:y,onFollowUp:Z,onCallTool:P,fullscreenToolCallId:v,debug:p,showToolCalls:w,toolDefinitions:I.toolDefinitions,onWidgetDisplayModeChange:(A,U)=>{F(A==="fullscreen"?U.toolCallId:null)}}),me("div",{ref:H,"aria-hidden":!0,style:{height:1}})]}),!se&&!v&&me("div",{className:"ww:sticky ww:bottom-2 ww:flex ww:justify-center ww:pointer-events-none",children:me(ye,{type:"button",onClick:()=>K("smooth"),size:"icon",variant:"outline",className:"ww:rounded-full ww:shadow ww:pointer-events-auto","aria-label":"Scroll to latest",children:me(ze,{className:"ww:size-4"})})})]}),!c&&et("div",{className:"ww:shrink-0 ww:bg-background",style:v?{display:"none"}:void 0,children:[me(Ga,{suggestions:B.suggestions,isLoading:B.isLoading,onSelect:ae}),me(aa,{queuedMessages:I.queuedMessages,onRemove:I.removeQueuedMessage}),me("div",{className:"ww:px-4 ww:pb-2 ww:pt-2",children:et("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[me(Zt,{onSubmit:I.handleSubmit,globalDrop:s,multiple:s,className:"ww:rounded-2xl ww:border-border ww:bg-input",children:et("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[s&&me(ta,{}),me(Yt,{onChange:I.handleTextChange,value:I.text,placeholder:O,className:"ww:min-h-0 ww:py-1 ww:px-0"}),me(ea,{status:I.status,disabled:I.queueFull})]})}),me(Ha,{})]})})]})]})});import{forwardRef as fp,useEffect as cp,useMemo as bi,useState as Ti}from"react";var sp="https://app.waniwani.ai/api/mcp/chat",np={api:sp};function ip(){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 lp(){let e=ip();if(!e)return{};let t=m=>e.getAttribute(m)??void 0,a=m=>{let L=e.getAttribute(m);if(L==null)return;let y=L.trim().toLowerCase();if(y==="true"||y==="1"||y==="")return!0;if(y==="false"||y==="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(m=>m.trim()).filter(Boolean));let h=a("data-enable-thread-history");h!==void 0&&(o.enableThreadHistory=h);let C=t("data-primary-color"),x=t("data-background-color"),w=t("data-text-color"),g=t("data-font-family");return(C||x||w||g)&&(o.theme={},C&&(o.theme.primaryColor=C),x&&(o.theme.backgroundColor=x),w&&(o.theme.textColor=w),g&&(o.theme.fontFamily=g)),o}function ur(e){if(!e)return{};let t={};for(let a in e)e[a]!==void 0&&(t[a]=e[a]);return t}function dr(e,t,a){let o=a??lp(),r={token:"",...np,...ur(t),...ur(o),...ur(e),theme:{...t?.theme??{},...o.theme,...e?.theme}};if(!r.token)throw new Error("[WaniWani] Missing required config: `token`. Set data-token on the script tag or pass it to WaniWani.chat.init().");return r}function Ci(e){if(!(!e.theme||Object.keys(e.theme).length===0))return e.theme}import{useEffect as dC,useState as fC}from"react";var up="waniwani:config:";function Ii(e,t,a){return`${up}${e}|${t}|${a??""}`}function Si(e,t,a){if(typeof window>"u")return null;try{let o=window.sessionStorage.getItem(Ii(e,t,a));if(!o)return null;let r=JSON.parse(o);return r&&typeof r=="object"?r:null}catch{return null}}function yi(e,t,a,o){if(!(typeof window>"u"))try{window.sessionStorage.setItem(Ii(e,t,a),JSON.stringify(o))}catch{}}async function ki(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?dp(l):{}}catch{return{}}}function dp(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 hp}from"react/jsx-runtime";var pp=600,Pi="https://app.waniwani.ai/api/mcp/chat",mp=fp(function(t,a){let{token:o,channelId:r,className:s,overrides:n}=t,i=bi(()=>({token:o,channelId:r,api:n?.api,mcpServerUrl:n?.mcpServerUrl,title:n?.title,welcomeMessage:n?.welcomeMessage,placeholder:n?.placeholder,suggestions:n?.suggestions,enableThreadHistory:n?.enableThreadHistory,showToolCalls:n?.showToolCalls,theme:n?.theme}),[o,r,n?.api,n?.mcpServerUrl,n?.title,n?.welcomeMessage,n?.placeholder,n?.suggestions,n?.enableThreadHistory,n?.showToolCalls,n?.theme]),l=n?.api??Pi,[u,f]=Ti({}),[d,p]=Ti(!1);cp(()=>{if(!o){p(!0);return}let x=Si(l,o,r);x&&(f(x),p(!0));let w=new AbortController,g=setTimeout(()=>p(!0),pp);return ki(l,o,w.signal,r).then(m=>{w.signal.aborted||(Object.keys(m).length>0&&(yi(l,o,r,m),f(m)),p(!0))}).catch(m=>{console.error("[WaniWani] Remote config fetch failed:",m),p(!0)}).finally(()=>clearTimeout(g)),()=>{w.abort(),clearTimeout(g)}},[l,o,r]);let c=bi(()=>dr(i,u,void 0),[i,u]),h=Ci(c),C={};return c.mcpServerUrl&&(C.mcpServerUrl=c.mcpServerUrl),c.channelId&&(C.channelId=c.channelId),hp(lr,{ref:a,api:c.api??Pi,headers:{Authorization:`Bearer ${c.token}`},skipRemoteConfig:!0,body:Object.keys(C).length>0?C:void 0,theme:h,title:c.title,welcomeMessage:c.welcomeMessage,welcome:n?.welcome,placeholder:c.placeholder,suggestions:c.suggestions?{initial:c.suggestions}:void 0,enableThreadHistory:c.enableThreadHistory,showToolCalls:c.showToolCalls,allowAttachments:n?.allowAttachments,className:s,initializing:!d})});export{ap as ChatCard,lr as ChatEmbed,Jc as DARK_THEME,gi as DEFAULT_THEME,Jo as McpAppFrame,mp as WaniwaniChat,Ut as mergeTheme,Ht as themeToCSSProperties};
15
+ ${E}`}]}}D.current({...B,..._?{modelContext:_}:{}})}R({jsonrpc:"2.0",id:A,result:{}});return}if(T==="ui/update-model-context"&&A!=null){se=jn(se,G.params),R({jsonrpc:"2.0",id:A,result:{}});return}if(T==="tools/call"&&A!=null){let B=I.current;if(!B){R({jsonrpc:"2.0",id:A,error:{code:-32601,message:"tools/call not supported"}});return}let _=G.params?.name;B({name:_,arguments:G.params?.arguments??{}}).then(E=>{R({jsonrpc:"2.0",id:A,result:E});let q=E.content?.map(Q=>Q.text??"").join("").trim();q&&Yf(_,E,W.current)&&(Y&&clearTimeout(Y.timer),Y={text:q,timer:setTimeout(()=>{if(Z)return;let Q=se;se=null,Y=null,D.current?.({role:"user",content:[{type:"text",text:q}],...Q?{modelContext:Q}:{}})},500)})}).catch(E=>{let q=E instanceof Error?E.message:"Tool call failed";R({jsonrpc:"2.0",id:A,error:{code:-32e3,message:q}})});return}if(T==="ui/request-display-mode"&&A!=null){let B=G.params?.mode,_=B==="fullscreen"||B==="inline"||B==="pip"?B:"inline";y.current=_,R({jsonrpc:"2.0",id:A,result:{mode:_}}),R({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{displayMode:_}}),U.current?.(_);return}if(T==="ui/resource-teardown"&&A!=null){R({jsonrpc:"2.0",id:A,result:{}});return}T==="ping"&&A!=null&&R({jsonrpc:"2.0",id:A,result:{}})};return window.addEventListener("message",ee),()=>{Z=!0,clearTimeout(ge),Y&&clearTimeout(Y.timer),window.removeEventListener("message",ee)}},[i,oe]),ec("iframe",{ref:m,src:re,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%":b,minWidth:p||!M?void 0:`min(${M}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 te,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?te(Xn,{...o,onSuggestionSelect:r}):a&&te(Ba,{from:"assistant",children:te(Da,{children:te(Ea,{children:a})})})),e.map(L=>{let y=L.parts.filter(I=>I.type==="text"),b=L.parts.filter(I=>I.type==="reasoning"),v=L.parts.filter(I=>I.type==="file"),M=L.parts.filter(I=>"toolCallId"in I),O=L===x&&L.role==="assistant",k=y.length>0,D=h?M.some(I=>I.toolCallId===d):!1;return h&&!D?te("div",{style:{display:"none"}},L.id):ct(Ba,{from:L.role,children:[!D&&b.map((I,U)=>te(Mn,{text:I.text},`reasoning-${L.id}-${U}`)),M.map(I=>{let U="output"in I?I.output:void 0,H=_a(I.toolName,U,m),W=Wn(I.toolName,U,m),oe=I.toolCallId===d;return ct("div",{style:oe?{position:"absolute",inset:0,zIndex:10,display:"flex",flexDirection:"column",overflow:"hidden",background:"var(--ww-color-background)"}:void 0,children:[te("div",{style:oe?{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})}),H&&s&&U!==void 0&&te(Na,{children:te(Qo,{isFullscreen:oe,resourceUri:H,toolInput:I.input??{},toolResult:{content:U.content,structuredContent:U.structuredContent,_meta:U._meta},resourceEndpoint:s,chatSessionId:n,isDark:i,autoHeight:W,toolDefinitions:m,onFollowUp:l,onCallTool:u,onDisplayModeChange:f?re=>f(re,{toolCallId:I.toolCallId,resourceUri:H,toolInput:I.input??{},toolResult:{content:U.content,structuredContent:U.structuredContent,_meta:U._meta},autoHeight:W}):void 0})})]},I.toolCallId)}),!D&&te("div",{children:ct(Da,{children:[v.length>0&&te(Kr,{files:v}),k?y.map((I,U)=>te(Ea,{children:I.type==="text"?I.text:""},`${L.id}-${U}`)):O&&C&&te(co,{})]})})]},L.id)}),!h&&g&&te(Ba,{from:"assistant",children:te(Da,{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 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 K,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:[K("title",{children:"New chat"}),K("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),K("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:[K("title",{children:"Thread history"}),K("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),K("polyline",{points:"3 4 3 9 8 9"}),K("line",{x1:"12",y1:"7",x2:"12",y2:"12"}),K("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:[K("title",{children:"Delete thread"}),K("polyline",{points:"3 6 5 6 21 6"}),K("path",{d:"M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6"}),K("path",{d:"M10 11v6"}),K("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:[K("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:K(cc,{})}),K("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:K(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&&K("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:[K("div",{className:"ww:truncate ww:text-foreground ww:font-medium",children:f.title}),K("div",{className:"ww:text-[10px] ww:text-muted-foreground",children:fc(f.updatedAt)})]}),K("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:K(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 ie,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 Ie="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(Ie)){let a=e.createObjectStore(Ie,{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(Ie,"readonly").objectStore(Ie).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(Ie,"readonly").objectStore(Ie),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(Ie,"readwrite");f.oncomplete=()=>l(),f.onerror=()=>u(f.error),f.onabort=()=>u(f.error),f.objectStore(Ie).put(t)});let o=a.transaction(Ie,"readwrite"),r=o.objectStore(Ie),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(Ie,"readwrite");r.oncomplete=()=>a(),r.onerror=()=>o(r.error),r.onabort=()=>o(r.error),r.objectStore(Ie).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=ie(a),f=ie(o),d=ie(n);Ae(()=>{d.current=n},[n]);let p=ie(void 0),c=ie(null),[m,C]=et(void 0),x=ie(m),[w,g]=et(i),h=ie(w),[L,y]=et([]),[b,v]=et(!n),M=ie(void 0),O=ie(void 0),k=ie(void 0),D=ie(void 0),I=ie(0),U=ie(l);Ae(()=>{U.current=l},[l]);let H=ce(S=>{h.current=S,g(S),S&&U.current?.(S)},[]),W=ce(async()=>{if(!n)return;let S=c.current?.memoryUserId;if(!S)return;let F=await er(S);y(F)},[n]),oe=ce(()=>x.current,[]),re=ce(S=>{let F=fi(S);F&&x.current!==F&&(x.current=F,C(F))},[]),ue=ce(()=>{x.current=void 0,C(void 0)},[]);Ae(()=>{u.current=a},[a]),Ae(()=>{f.current=o},[o]),Ae(()=>{let S=!1,F=I.current;return(async()=>{try{let ye=await ui();if(S)return;c.current=ye}catch{}if(!n)return;let N=c.current?.memoryUserId;if(!N){v(!0);return}try{let ye=i??await si(N);if(S||F!==I.current)return;if(ye){let we=await tr(ye);if(S||F!==I.current)return;we&&we.memoryUserId===N&&(h.current=we.threadId,g(we.threadId),M.current=we.createdAt,O.current=we.title,we.sessionId&&(x.current=we.sessionId,C(we.sessionId)),T(we.messages))}await W()}finally{S||v(!0)}})(),()=>{S=!0}},[]);let V=ie(new za({api:t,headers:()=>({...u.current}),body:()=>{let S={...f.current??{}},F=Object.hasOwn(S,"sessionId"),N=fi(S.sessionId);if(N)re(N),S.sessionId=N;else if(F)ue(),delete S.sessionId;else{let Te=oe();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,we=c.current?.memoryUserId,Ne=c.current?.language,jt={};if(we&&(jt.memoryUserId=we),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(),M.current=Xa(),O.current=void 0,H(Fe)),S.threadId=Fe}return S},fetch:(async(S,F)=>{let N=await fetch(S,F);return p.current=void 0,re(N.headers.get(Dc)),N})})),Z=ie(null),he=ie(null),se=ie({}),[Y,ge]=et(0),R=e.skipRemoteConfig===!0,ee=ce(async()=>{if(!R)try{let S=await _c(t,u.current);se.current=S,ge(F=>F+1)}catch(S){console.warn("[WaniWani] Failed to fetch tool definitions:",S instanceof Error?S.message:S)}},[t,R]);Ae(()=>{ee()},[ee]);let{messages:j,sendMessage:G,setMessages:T,status:A}=Bc({messages:e.initialMessages,transport:V.current,onFinish({message:S}){s?.(),Z.current&&(he.current=S)},onError(S){console.warn("[WaniWani] Chat error:",S.message),Z.current&&(Z.current.reject(S),Z.current=null)}}),B=ie(j);Ae(()=>{B.current=j},[j]),Ae(()=>{if(A==="ready"&&Z.current&&he.current){let S=Z.current,F=he.current;Z.current=null,he.current=null,S.resolve(F)}},[A]);let[_,E]=et(""),[q,Q]=et([]),Se=A==="submitted"||A==="streaming",_e=ce(S=>{Q(F=>F.filter(N=>N.id!==S))},[]),tt=Se&&q.length>0,at=ce(S=>{let F=!!S.text?.trim(),N=!!S.files?.length;if(F||N){if(Se){if(q.length>0)return;Q(ye=>[...ye,{id:kt(),text:S.text||"",files:S.files??[],modelContext:S.modelContext}]),E("");return}p.current=S.modelContext,G({text:S.text||"",files:S.files}),r?.(S.text||""),E("")}},[G,r,Se,q.length]),Pi=ce(S=>new Promise((F,N)=>{Z.current={resolve:F,reject:N},G({text:S}),r?.(S)}),[G,r]);Ae(()=>{if(A!=="ready"||q.length===0)return;let[S,...F]=q;Q(F),p.current=S.modelContext,G({text:S.text,files:S.files.length>0?S.files:void 0}),r?.(S.text)},[A,G,r,q]);let Ai=ce(()=>{T([]),Q([]),ue(),E(""),se.current={},ge(S=>S+1),ee()},[T,ue,ee]),Wt=ce(()=>{if(!d.current)return;let S=c.current?.memoryUserId,F=h.current,N=B.current;if(!(!S||!F||N.length===0)){if(M.current||(M.current=Xa()),!O.current){let ye=N.find(Ne=>Ne.role==="user"),we=ye?ye.parts.map(Ne=>"text"in Ne&&typeof Ne.text=="string"?Ne.text:"").join(" "):"";O.current=ni(we)}return{threadId:F,memoryUserId:S,title:O.current,messages:N,sessionId:x.current,createdAt:M.current,updatedAt:Xa()}}},[]),dr=ce(async()=>{let S=Wt();S&&(await ar(S),await W())},[Wt,W]);Ae(()=>{if(n&&b&&!(A==="submitted"||A==="streaming")&&j.length!==0)return k.current&&clearTimeout(k.current),k.current=setTimeout(()=>{k.current=void 0;let S=dr().finally(()=>{D.current===S&&(D.current=void 0)});D.current=S},Ec),()=>{k.current&&clearTimeout(k.current)}},[n,b,j,A,dr]);let zt=ce(()=>{let S=D.current,F=k.current,N=F?Wt():void 0;return F&&(clearTimeout(F),k.current=void 0),(async()=>{S&&await S,N&&(await ar(N),await W())})()},[Wt,W]),vi=ce(()=>{I.current+=1,zt(),T([]),Q([]),ue(),E("");let S=di();return M.current=Xa(),O.current=void 0,H(S),W(),S},[T,ue,H,W,zt]),eo=ce(async S=>{I.current+=1;let F=I.current;if(await zt(),F!==I.current)return;let N=await tr(S);F===I.current&&N&&(H(N.threadId),M.current=N.createdAt,O.current=N.title,N.sessionId?(x.current=N.sessionId,C(N.sessionId)):ue(),T(N.messages),Q([]),E(""))},[T,ue,H,zt]),Mi=ce(async S=>{if(h.current===S){I.current+=1,k.current&&(clearTimeout(k.current),k.current=void 0);let F=D.current;F&&await F}await ri(S),await W(),h.current===S&&(T([]),Q([]),ue(),E(""),h.current=void 0,g(void 0),M.current=void 0,O.current=void 0)},[T,ue,W]);Ae(()=>{n&&b&&i!==void 0&&i!==h.current&&eo(i)},[i,n,b,eo]);let Ri=ce(S=>{E(S.target.value)},[]),fr=j[j.length-1],cr=j.length>0,Fi=Se&&(!cr||fr.role==="user"),Bi=se.current;return{messages:j,status:A,text:_,setText:E,handleSubmit:at,handleTextChange:Ri,isLoading:Se,showLoaderBubble:Fi,lastMessage:fr,hasMessages:cr,sendMessage:G,sendMessageAndWait:Pi,reset:Ai,queuedMessages:q,queueFull:tt,removeQueuedMessage:_e,sessionId:m,toolDefinitions:Bi,refreshToolDefinitions:ee,threads:L,activeThreadId:w,isThreadHistoryReady:b,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("#",""),b=parseInt(y.substring(0,2),16),v=parseInt(y.substring(2,4),16),M=parseInt(y.substring(4,6),16),O=(b*299+v*587+M*114)/1e3<128,k=pi(w,t.headers,t.skipRemoteConfig),D=m??k.debug,I=Qa({...t,api:w}),U=Wa({...t,api:w,sessionId:I.sessionId}),H=Ja(d,!I.text),[W,oe]=xi(!1),[re,ue]=xi(null),V=wi(null),Z=wi(void 0),he=sr(()=>{let R=V.current;if(!R)return;R.scrollIntoView({behavior:"smooth",block:"center"});let ee=R.querySelector("textarea");ee&&setTimeout(()=>ee.focus(),300),oe(!0),clearTimeout(Z.current),Z.current=setTimeout(()=>oe(!1),2e3)},[]),se=Ka({messages:I.messages,status:I.status,config:t.suggestions}),Y=sr(R=>{let ee=R.content.map(j=>j.text??"").join("").trim();ee&&I.handleSubmit({text:ee,files:[],modelContext:R.modelContext})},[I.handleSubmit]),ge=sr(R=>{se.clear(),I.handleSubmit({text:R,files:[]})},[se.clear,I.handleSubmit]);return ep(a,()=>({sendMessage:R=>{I.handleSubmit({text:R,files:[]}),he()},sendMessageAndWait:R=>I.sendMessageAndWait(R),reset:I.reset,focus:he,get messages(){return I.messages}}),[I.handleSubmit,I.sendMessageAndWait,I.reset,I.messages,he]),Yc(()=>{if(!p)return;let R=ee=>{let j=ee.detail,G=typeof j?.message=="string"?j.message:void 0;G&&I.handleSubmit({text:G,files:[]}),he()};return window.addEventListener(p,R),()=>window.removeEventListener(p,R)},[p,I.handleSubmit,he]),qt("div",{ref:V,style:{...L,width:s,height:n},"data-waniwani-chat":"","data-waniwani-layout":"card",...O?{"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",W&&"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:k.eval,api:w}),C&&pe(Ga,{threads:I.threads,activeThreadId:I.activeThreadId,onNewThread:I.startNewThread,onSelectThread:R=>{I.switchThread(R)},onDeleteThread:R=>{I.deleteThread(R)}})]}),qt(Fr,{className:"ww:flex-1 ww:min-h-0 ww:bg-background",children:[pe(Br,{scrollClassName:re?"ww:!relative ww:!overflow-hidden":void 0,children:pe(Oa,{messages:I.messages,status:I.status,welcomeMessage:u,welcome:f,onSuggestionSelect:ge,resourceEndpoint:g,chatSessionId:I.sessionId,isDark:O,onFollowUp:Y,onCallTool:U,fullscreenToolCallId:re,debug:D,showToolCalls:x,toolDefinitions:I.toolDefinitions,onWidgetDisplayModeChange:(R,ee)=>{ue(R==="fullscreen"?ee.toolCallId:null)}})}),pe(Dr,{})]}),pe("div",{style:re?{display:"none"}:void 0,children:pe(qa,{suggestions:se.suggestions,isLoading:se.isLoading,onSelect:ge})}),pe("div",{style:re?{display:"none"}:void 0,children:pe(ta,{queuedMessages:I.queuedMessages,onRemove:I.removeQueuedMessage})}),pe("div",{style:re?{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:H,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 le,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,enableThreadHistory:x=!1,showToolCalls:w=!0,initializing:g=!1,disclaimer:h}=t,L=o?.theme,y=o?.variables,b=y?Ht(y):{},[v,M]=nr(!1);pt(()=>{if(L!=="auto"||typeof window>"u")return;let T=window.matchMedia("(prefers-color-scheme: dark)");M(T.matches);let A=()=>M(T.matches);return T.addEventListener("change",A),()=>T.removeEventListener("change",A)},[L]);let O=L==="dark"||L==="auto"&&v,k=Qa({...t,api:f}),D=Wa({...t,api:f,sessionId:k.sessionId,onCallTool:d?.onCallTool}),I=d?.resourceEndpoint??Za(f,t.headers),U=Ja(l,!k.text),[H,W]=nr(null),oe=Gt(null),re=Gt(null),ue=Gt(null),V=Gt(null),[Z,he]=nr(!0),se=Gt(Z);se.current=Z;let Y=Ya(()=>{let T=oe.current;if(!T)return;let A=T.querySelector("textarea");A&&A.focus()},[]),ge=Ya((T="smooth")=>{let A=re.current;A&&A.scrollTo({top:A.scrollHeight,behavior:T})},[]);pt(()=>{let T=V.current,A=re.current;if(!T||!A)return;let B=new IntersectionObserver(([_])=>he(_.isIntersecting),{root:A,rootMargin:"0px 0px 200px 0px",threshold:0});return B.observe(T),()=>B.disconnect()},[]),pt(()=>{(k.messages[k.messages.length-1]?.role==="user"||se.current)&&ge("smooth")},[k.messages.length,k.messages[k.messages.length-1]]),pt(()=>{ge("auto")},[ge]),pt(()=>{if(typeof ResizeObserver>"u")return;let T=re.current,A=ue.current;if(!T&&!A)return;let B=T?.scrollHeight??0,_=T?.clientHeight??0,E=new ResizeObserver(()=>{let q=re.current;if(!q)return;let Q=q.scrollTop+_>=B-5;B=q.scrollHeight,_=q.clientHeight,Q&&ge("auto")});return T&&E.observe(T),A&&E.observe(A),()=>E.disconnect()},[ge]);let R=Ka({messages:k.messages,status:k.status,config:t.suggestions}),ee=Ya(T=>{let A=T.content.map(B=>B.text??"").join("").trim();A&&k.handleSubmit({text:A,files:[],modelContext:T.modelContext})},[k.handleSubmit]),j=Ya(T=>{R.clear(),k.handleSubmit({text:T,files:[]})},[R.clear,k.handleSubmit]);sp(a,()=>({sendMessage:T=>{k.handleSubmit({text:T,files:[]}),Y()},sendMessageAndWait:T=>k.sendMessageAndWait(T),reset:k.reset,focus:Y,get messages(){return k.messages}}),[k.handleSubmit,k.sendMessageAndWait,k.reset,k.messages,Y]),pt(()=>{if(!u)return;let T=A=>{let B=A.detail,_=typeof B?.message=="string"?B.message:void 0;_&&k.handleSubmit({text:_,files:[]}),Y()};return window.addEventListener(u,T),()=>window.removeEventListener(u,T)},[u,k.handleSubmit,Y]);let G=!!(m||x||C);return ze("div",{ref:oe,style:{...b,maxHeight:"inherit",opacity:g?0:1,transition:"opacity 220ms ease-out"},"data-waniwani-chat":"","data-waniwani-layout":"embed","data-color-scheme":L==="auto"?"auto":void 0,...g?{"data-waniwani-initializing":""}:{},...O?{"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",L==="dark"&&"dark",r),children:[G&&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&&le("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:m}),!m&&le("div",{className:"ww:flex-1"}),C,x&&le(Ga,{threads:k.threads,activeThreadId:k.activeThreadId,onNewThread:k.startNewThread,onSelectThread:T=>{k.switchThread(T)},onDeleteThread:T=>{k.deleteThread(T)}})]}),ze("div",{ref:re,className:P("ww:relative ww:flex-1 ww:min-h-0",H?"ww:overflow-hidden":"ww:overflow-y-auto"),children:[ze("div",{ref:ue,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:[le(Oa,{messages:k.messages,status:k.status,welcomeMessage:n,welcome:i,onSuggestionSelect:j,resourceEndpoint:I,chatSessionId:k.sessionId,isDark:O,onFollowUp:ee,onCallTool:D,fullscreenToolCallId:H,debug:p,showToolCalls:w,toolDefinitions:k.toolDefinitions,onWidgetDisplayModeChange:(T,A)=>{W(T==="fullscreen"?A.toolCallId:null)}}),le("div",{ref:V,"aria-hidden":!0,style:{height:1}})]}),!Z&&!H&&le("div",{className:"ww:sticky ww:bottom-2 ww:flex ww:justify-center ww:pointer-events-none",children:le(ke,{type:"button",onClick:()=>ge("smooth"),size:"icon",variant:"outline",className:"ww:rounded-full ww:shadow ww:pointer-events-auto","aria-label":"Scroll to latest",children:le(je,{className:"ww:size-4"})})})]}),!c&&ze("div",{className:"ww:shrink-0 ww:bg-background",style:H?{display:"none"}:void 0,children:[le(qa,{suggestions:R.suggestions,isLoading:R.isLoading,onSelect:j}),le(ta,{queuedMessages:k.queuedMessages,onRemove:k.removeQueuedMessage}),le("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:[le(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&&le(ea,{}),le(Zt,{onChange:k.handleTextChange,value:k.text,placeholder:U,className:"ww:min-h-0 ww:py-1 ww:px-0"}),le(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:[le(Ua,{}),h!==!1&&le("span",{"aria-hidden":!0,className:"ww:text-[11px] ww:text-muted-foreground ww:opacity-70",children:"\xB7"}),le(Li,{text:h})]})]})})]})]})});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=w=>e.getAttribute(w)??void 0,a=w=>{let g=e.getAttribute(w);if(g==null)return;let h=g.trim().toLowerCase();if(h==="true"||h==="1"||h==="")return!0;if(h==="false"||h==="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(w=>w.trim()).filter(Boolean));let m=a("data-enable-thread-history");m!==void 0&&(o.enableThreadHistory=m);let C=t("data-theme");(C==="light"||C==="dark"||C==="auto")&&(o.appearance={theme:C});let x=t("data-disclaimer");if(x!==void 0){let w=x.trim(),g=w.toLowerCase();g==="false"||g==="0"?o.disclaimer=!1:w&&(o.disclaimer=w)}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,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?.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,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: