@waniwani/sdk 0.19.5 → 0.19.6

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 yn,b as bn,c as kn,d as Tn,e as vn,f as La,g as Pn,h as An,i as Rn,j as Mn,k as Br,l as Fn,m as xt,n as Lt,o as Ia,p as It,u as Et}from"../chunk-F4UUXA3U.js";import"../chunk-V3ZDECK5.js";import{forwardRef as Rh,useCallback as tn,useEffect as Mh,useImperativeHandle as Fh,useRef as Xl,useState as Kl}from"react";import{forwardRef as Fu,createElement as Bu}from"react";var Ca=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();var Bn=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var En=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,r)=>r?r.toUpperCase():a.toLowerCase());var Er=e=>{let t=En(e);return t.charAt(0).toUpperCase()+t.slice(1)};import{forwardRef as Mu,createElement as Nn}from"react";var Dn={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 _n=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var On=Mu(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:n,iconNode:s,...i},l)=>Nn("svg",{ref:l,...Dn,width:t,height:t,stroke:e,strokeWidth:r?Number(a)*24/Number(t):a,className:Ca("lucide",o),...!n&&!_n(i)&&{"aria-hidden":"true"},...i},[...s.map(([u,c])=>Nn(u,c)),...Array.isArray(n)?n:[n]]));var j=(e,t)=>{let a=Fu(({className:r,...o},n)=>Bu(On,{ref:n,iconNode:t,className:Ca(`lucide-${Bn(Er(e))}`,`lucide-${e}`,r),...o}));return a.displayName=Er(e),a};var Eu=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],ot=j("arrow-down",Eu);var Du=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],Dt=j("arrow-up",Du);var _u=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],_t=j("check",_u);var Nu=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],$e=j("chevron-down",Nu);var Ou=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],Nt=j("chevron-right",Ou);var Uu=[["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"}]],Ot=j("clipboard-copy",Uu);var Hu=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],Ge=j("clock",Hu);var qu=[["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"}]],Ut=j("file",qu);var Wu=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],Ht=j("globe",Wu);var Gu=[["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"}]],qt=j("loader",Gu);var Vu=[["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"}]],Wt=j("paperclip",Vu);var zu=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],Gt=j("square",zu);var ju=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]],nt=j("wrench",ju);var $u=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],st=j("x",$u);var Xu=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],Vt=j("zap",Xu);import{useCallback as cd}from"react";import{useCallback as Xe,useMemo as Ku,useRef as Qu,useState as Dr}from"react";var Ju={damping:.7,stiffness:.05,mass:1.25},Yu=70,Zu=1e3/60,ed=350,Sa=!1;globalThis.document?.addEventListener("mousedown",()=>{Sa=!0});globalThis.document?.addEventListener("mouseup",()=>{Sa=!1});globalThis.document?.addEventListener("click",()=>{Sa=!1});var Hn=(e={})=>{let[t,a]=Dr(!1),[r,o]=Dr(e.initial!==!1),[n,s]=Dr(!1),i=Qu(null);i.current=e;let l=Xe(()=>{if(!Sa)return!1;let g=window.getSelection();if(!g||!g.rangeCount)return!1;let h=g.getRangeAt(0);return h.commonAncestorContainer.contains(L.current)||L.current?.contains(h.commonAncestorContainer)},[]),u=Xe(g=>{d.isAtBottom=g,o(g)},[]),c=Xe(g=>{d.escapedFromLock=g,a(g)},[]),d=Ku(()=>{let g;return{escapedFromLock:t,isAtBottom:r,resizeDifference:0,accumulated:0,velocity:0,listeners:new Set,get scrollTop(){return L.current?.scrollTop??0},set scrollTop(h){L.current&&(L.current.scrollTop=h,d.ignoreScrollToTop=L.current.scrollTop)},get targetScrollTop(){return!L.current||!w.current?0:L.current.scrollHeight-1-L.current.clientHeight},get calculatedTargetScrollTop(){if(!L.current||!w.current)return 0;let{targetScrollTop:h}=this;if(!e.targetScrollTop)return h;if(g?.targetScrollTop===h)return g.calculatedScrollTop;let x=Math.max(Math.min(e.targetScrollTop(h,{scrollElement:L.current,contentElement:w.current}),h),0);return g={targetScrollTop:h,calculatedScrollTop:x},requestAnimationFrame(()=>{g=void 0}),x},get scrollDifference(){return this.calculatedTargetScrollTop-this.scrollTop},get isNearBottom(){return this.scrollDifference<=Yu}}},[]),f=Xe((g={})=>{typeof g=="string"&&(g={animation:g}),g.preserveScrollPosition||u(!0);let h=Date.now()+(Number(g.wait)||0),x=Nr(i.current,g.animation),{ignoreEscapes:S=!1}=g,v,A=d.calculatedTargetScrollTop;g.duration instanceof Promise?g.duration.finally(()=>{v=Date.now()}):v=h+(g.duration??0);let P=async()=>{let D=new Promise(requestAnimationFrame).then(()=>{if(!d.isAtBottom)return d.animation=void 0,!1;let{scrollTop:k}=d,M=performance.now(),b=(M-(d.lastTick??M))/Zu;if(d.animation||(d.animation={behavior:x,promise:D,ignoreEscapes:S}),d.animation.behavior===x&&(d.lastTick=M),l()||h>Date.now())return P();if(k<Math.min(A,d.calculatedTargetScrollTop)){if(d.animation?.behavior===x){if(x==="instant")return d.scrollTop=d.calculatedTargetScrollTop,P();d.velocity=(x.damping*d.velocity+x.stiffness*d.scrollDifference)/x.mass,d.accumulated+=d.velocity*b,d.scrollTop+=d.accumulated,d.scrollTop!==k&&(d.accumulated=0)}return P()}return v>Date.now()?(A=d.calculatedTargetScrollTop,P()):(d.animation=void 0,d.scrollTop<d.calculatedTargetScrollTop?f({animation:Nr(i.current,i.current.resize),ignoreEscapes:S,duration:Math.max(0,v-Date.now())||void 0}):d.isAtBottom)});return D.then(k=>(requestAnimationFrame(()=>{d.animation||(d.lastTick=void 0,d.velocity=0)}),k))};return g.wait!==!0&&(d.animation=void 0),d.animation?.behavior===x?d.animation.promise:P()},[u,l,d]),p=Xe(()=>{c(!0),u(!1)},[c,u]),m=Xe(({target:g})=>{if(g!==L.current)return;let{scrollTop:h,ignoreScrollToTop:x}=d,{lastScrollTop:S=h}=d;d.lastScrollTop=h,d.ignoreScrollToTop=void 0,x&&x>h&&(S=x),s(d.isNearBottom),setTimeout(()=>{if(d.resizeDifference||h===x)return;if(l()){c(!0),u(!1);return}let v=h>S,A=h<S;if(d.animation?.ignoreEscapes){d.scrollTop=S;return}A&&(c(!0),u(!1)),v&&c(!1),!d.escapedFromLock&&d.isNearBottom&&u(!0)},1)},[c,u,l,d]),I=Xe(({target:g,deltaY:h})=>{let x=g;for(;!["scroll","auto"].includes(getComputedStyle(x).overflow);){if(!x.parentElement)return;x=x.parentElement}x===L.current&&h<0&&L.current.scrollHeight>L.current.clientHeight&&!d.animation?.ignoreEscapes&&(c(!0),u(!1))},[c,u,d]),L=Un(g=>{L.current?.removeEventListener("scroll",m),L.current?.removeEventListener("wheel",I),g?.addEventListener("scroll",m,{passive:!0}),g?.addEventListener("wheel",I,{passive:!0})},[]),w=Un(g=>{if(d.resizeObserver?.disconnect(),!g)return;let h;d.resizeObserver=new ResizeObserver(([x])=>{let{height:S}=x.contentRect,v=S-(h??S);if(d.resizeDifference=v,d.scrollTop>d.targetScrollTop&&(d.scrollTop=d.targetScrollTop),s(d.isNearBottom),v>=0){let A=Nr(i.current,h?i.current.resize:i.current.initial);f({animation:A,wait:!0,preserveScrollPosition:!0,duration:A==="instant"?void 0:ed})}else d.isNearBottom&&(c(!1),u(!0));h=S,requestAnimationFrame(()=>{setTimeout(()=>{d.resizeDifference===v&&(d.resizeDifference=0)},1)})}),d.resizeObserver?.observe(g)},[]);return{contentRef:w,scrollRef:L,scrollToBottom:f,stopScroll:p,isAtBottom:r||n,isNearBottom:n,escapedFromLock:t,state:d}};function Un(e,t){let a=Xe(r=>(a.current=r,e(r)),t);return a}var _r=new Map;function Nr(...e){let t={...Ju},a=!1;for(let o of e){if(o==="instant"){a=!0;continue}typeof o=="object"&&(a=!1,t.damping=o.damping??t.damping,t.stiffness=o.stiffness??t.stiffness,t.mass=o.mass??t.mass)}let r=JSON.stringify(t);return _r.has(r)||_r.set(r,Object.freeze(t)),a?"instant":_r.get(r)}import*as it from"react";import{createContext as td,useContext as ad,useEffect as rd,useImperativeHandle as od,useLayoutEffect as nd,useMemo as sd,useRef as id}from"react";var qn=td(null),ld=typeof window<"u"?nd:rd;function zt({instance:e,children:t,resize:a,initial:r,mass:o,damping:n,stiffness:s,targetScrollTop:i,contextRef:l,...u}){let c=id(null),d=it.useCallback((S,v)=>(x?.targetScrollTop??i)?.(S,v)??S,[i]),f=Hn({mass:o,damping:n,stiffness:s,resize:a,initial:r,targetScrollTop:d}),{scrollRef:p,contentRef:m,scrollToBottom:I,stopScroll:L,isAtBottom:w,escapedFromLock:g,state:h}=e??f,x=sd(()=>({scrollToBottom:I,stopScroll:L,scrollRef:p,isAtBottom:w,escapedFromLock:g,contentRef:m,state:h,get targetScrollTop(){return c.current},set targetScrollTop(S){c.current=S}}),[I,w,m,p,L,g,h]);return od(l,()=>x,[x]),ld(()=>{p.current&&getComputedStyle(p.current).overflow==="visible"&&(p.current.style.overflow="auto")},[]),it.createElement(qn.Provider,{value:x},it.createElement("div",{...u},typeof t=="function"?t(x):t))}(function(e){function t({children:a,scrollClassName:r,...o}){let n=Or();return it.createElement("div",{ref:n.scrollRef,style:{height:"100%",width:"100%",scrollbarGutter:"stable both-edges"},className:r},it.createElement("div",{...o,ref:n.contentRef},typeof a=="function"?a(n):a))}e.Content=t})(zt||(zt={}));function Or(){let e=ad(qn);if(!e)throw new Error("use-stick-to-bottom component context must be used within a StickToBottom component");return e}var ud=bn({prefix:"ww"});function T(...e){return ud(yn(e))}import{jsx as dd}from"react/jsx-runtime";var Ee=({className:e,variant:t="default",size:a="default",type:r="button",...o})=>dd("button",{type:r,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),...o});import{jsx as ya}from"react/jsx-runtime";var Wn=({className:e,...t})=>ya(zt,{className:T("ww:relative ww:flex-1 ww:overflow-y-hidden",e),initial:"smooth",resize:"smooth",role:"log",...t}),Gn=({className:e,...t})=>ya(zt.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}),Vn=({className:e,...t})=>{let{isAtBottom:a,scrollToBottom:r}=Or(),o=cd(()=>{r()},[r]);return!a&&ya(Ee,{className:T("ww:absolute ww:bottom-4 ww:left-[50%] ww:translate-x-[-50%] ww:rounded-full",e),onClick:o,size:"icon",variant:"outline",...t,children:ya(ot,{className:"ww:size-4"})})};import jn from"crypto";var zn="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var fd=128,lt,Ct,pd=e=>{!lt||lt.length<e?(lt=Buffer.allocUnsafe(e*fd),jn.randomFillSync(lt),Ct=0):Ct+e>lt.length&&(jn.randomFillSync(lt),Ct=0),Ct+=e};var jt=(e=21)=>{pd(e|=0);let t="";for(let a=Ct-e;a<Ct;a++)t+=zn[lt[a]&63];return t};import{createContext as Cd,useCallback as Ve,useContext as Sd,useEffect as Gr,useMemo as yd,useRef as Vr,useState as Yn}from"react";import{createContext as md,useContext as hd,useEffect as gd,useMemo as wd,useState as Qn}from"react";var $n=["en","fr","es"];function St(e){return $n.includes(e)}function Ur(e){if(e&&St(e))return e;if(e){let a=e.split("-")[0]?.toLowerCase();if(a&&St(a))return a}let t=[];if(typeof navigator<"u"&&(navigator.language&&t.push(navigator.language),navigator.languages&&t.push(...navigator.languages)),typeof document<"u"){let a=document.documentElement.getAttribute("lang");a&&t.push(a)}for(let a of t){let r=a.toLowerCase();if(St(r))return r;let o=r.split("-")[0];if(o&&St(o))return o}return"en"}var ba={promptInput:{placeholder:"What would you like to know?",uploadFiles:"Upload files",stop:"Stop",submit:"Submit",removeAttachments:"Remove all attachments"},workingIndicator:{default:"On it\u2026"},reasoning:{thinking:"Thinking\u2026",thoughtBrief:"Thought for a few seconds",thoughtForSeconds:e=>`Thought for ${e} second${e===1?"":"s"}`},chainOfThought:{working:"Working on it\u2026",done:"Thought process"},tool:{copy:"Copy",copied:"Copied",request:"Request",response:"Response",error:"Error"},attachments:{attachmentFallback:"attachment",fileFallback:"file"},threadMenu:{newChat:"New chat",threadHistory:"Thread history",deleteThread:"Delete thread",noPreviousChats:"No previous chats yet.",hiddenThreads:e=>`${e} older thread${e===1?"":"s"} hidden`},chatQueue:{attachmentFallback:"(attachment)",removeFromQueue:"Remove from queue",queued:e=>`${e} queued`},poweredBy:{label:"AI agent powered by"},aiDisclaimer:{default:"can make mistakes"},exportSession:{saving:"saving...",saved:"saved",error:"error",export:"export",tooltip:"Save scenario to Waniwani"},widgetErrorBoundary:{failedToLoad:"Widget failed to load",retry:"Retry"},launcher:{prompt:"Ask anything\u2026",open:"Open chat",close:"Close chat",minimize:"Minimize"}};var Xn={promptInput:{placeholder:"\xBFQu\xE9 te gustar\xEDa saber?",uploadFiles:"Subir archivos",stop:"Detener",submit:"Enviar",removeAttachments:"Eliminar todos los archivos adjuntos"},workingIndicator:{default:"Un momento\u2026"},reasoning:{thinking:"Pensando\u2026",thoughtBrief:"Pensado durante unos segundos",thoughtForSeconds:e=>`Pensado durante ${e} segundo${e===1?"":"s"}`},chainOfThought:{working:"Estoy en ello\u2026",done:"Razonamiento"},tool:{copy:"Copiar",copied:"Copiado",request:"Solicitud",response:"Respuesta",error:"Error"},attachments:{attachmentFallback:"adjunto",fileFallback:"archivo"},threadMenu:{newChat:"Nueva conversaci\xF3n",threadHistory:"Historial",deleteThread:"Eliminar conversaci\xF3n",noPreviousChats:"A\xFAn no hay conversaciones anteriores.",hiddenThreads:e=>`${e} conversaci\xF3n${e===1?"":"es"} anterior${e===1?"":"es"} oculta${e===1?"":"s"}`},chatQueue:{attachmentFallback:"(adjunto)",removeFromQueue:"Quitar de la cola",queued:e=>`${e} en cola`},poweredBy:{label:"Agente IA con tecnolog\xEDa de"},aiDisclaimer:{default:"puede cometer errores"},exportSession:{saving:"guardando...",saved:"guardado",error:"error",export:"exportar",tooltip:"Guardar escenario en Waniwani"},widgetErrorBoundary:{failedToLoad:"No se pudo cargar el widget",retry:"Reintentar"},launcher:{prompt:"Pregunta lo que quieras\u2026",open:"Abrir chat",close:"Cerrar chat",minimize:"Minimizar"}};var Kn={promptInput:{placeholder:"Que souhaitez-vous savoir ?",uploadFiles:"Importer des fichiers",stop:"Arr\xEAter",submit:"Envoyer",removeAttachments:"Supprimer toutes les pi\xE8ces jointes"},workingIndicator:{default:"Un instant\u2026"},reasoning:{thinking:"R\xE9flexion\u2026",thoughtBrief:"R\xE9flexion pendant quelques secondes",thoughtForSeconds:e=>`R\xE9flexion pendant ${e} seconde${e===1?"":"s"}`},chainOfThought:{working:"Je m'en occupe\u2026",done:"Raisonnement"},tool:{copy:"Copier",copied:"Copi\xE9",request:"Requ\xEAte",response:"R\xE9ponse",error:"Erreur"},attachments:{attachmentFallback:"pi\xE8ce jointe",fileFallback:"fichier"},threadMenu:{newChat:"Nouvelle conversation",threadHistory:"Historique",deleteThread:"Supprimer la conversation",noPreviousChats:"Aucune conversation pr\xE9c\xE9dente.",hiddenThreads:e=>`${e} conversation${e===1?"":"s"} plus ancienne${e===1?"":"s"} masqu\xE9e${e===1?"":"s"}`},chatQueue:{attachmentFallback:"(pi\xE8ce jointe)",removeFromQueue:"Retirer de la file",queued:e=>`${e} en attente`},poweredBy:{label:"Agent IA propuls\xE9 par"},aiDisclaimer:{default:"peut faire des erreurs"},exportSession:{saving:"enregistrement...",saved:"enregistr\xE9",error:"erreur",export:"exporter",tooltip:"Enregistrer le sc\xE9nario dans Waniwani"},widgetErrorBoundary:{failedToLoad:"\xC9chec du chargement du widget",retry:"R\xE9essayer"},launcher:{prompt:"Posez votre question\u2026",open:"Ouvrir le chat",close:"Fermer le chat",minimize:"R\xE9duire"}};var Hr={en:ba,fr:Kn,es:Xn};import{jsx as Id}from"react/jsx-runtime";var Jn=md(null);function xd(e,t){if(!t)return e;let a={...e};for(let r of Object.keys(e)){let o=e[r],n=t[r];n&&typeof o=="object"&&(a[r]={...o,...n})}return a}function qr({children:e,locale:t,messages:a}){let r=!!(t&&Ld(t)),o=r?t:"en",[n,s]=Qn(o),[i,l]=Qn(r);gd(()=>{s(Ur(t)),l(!0)},[t]);let u=wd(()=>{let c=Hr[n]??Hr["en"];return{locale:n,t:xd(c,a),ready:i}},[n,a,i]);return Id(Jn.Provider,{value:u,children:e})}function Ld(e){return e==="en"||e==="fr"||e==="es"}function V(){let e=hd(Jn);return e||{locale:"en",t:ba,ready:!0}}function Wr(e,t){let a=Date.now()-e;if(a<6e4)try{return new Intl.RelativeTimeFormat(t,{numeric:"auto",style:"narrow"}).format(0,"second")}catch{return"just now"}let r,o;a<60*6e4?(r=-Math.floor(a/6e4),o="minute"):a<1440*6e4?(r=-Math.floor(a/(60*6e4)),o="hour"):(r=-Math.floor(a/(1440*6e4)),o="day");try{return new Intl.RelativeTimeFormat(t,{numeric:"auto",style:"short"}).format(r,o)}catch{return`${Math.abs(r)}${o==="minute"?"m":o==="hour"?"h":"d"} ago`}}import{jsx as _e,jsxs as ts}from"react/jsx-runtime";var bd=async e=>{try{let a=await(await fetch(e)).blob();return new Promise(r=>{let o=new FileReader;o.onloadend=()=>r(o.result),o.onerror=()=>r(null),o.readAsDataURL(a)})}catch{return null}},Zn=Cd(null),es=()=>{let e=Sd(Zn);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},ka=({className:e,accept:t,multiple:a,globalDrop:r,maxFiles:o,maxFileSize:n,onSubmit:s,children:i,...l})=>{let{t:u}=V(),c=Vr(null),d=Vr(null),[f,p]=Yn([]),m=Vr(f);Gr(()=>{m.current=f},[f]);let I=Ve(()=>{c.current?.click()},[]),L=Ve(v=>{let A=[...v];if(A.length===0)return;let P=k=>n?k.size<=n:!0,D=A.filter(P);p(k=>{let M=typeof o=="number"?Math.max(0,o-k.length):void 0,b=typeof M=="number"?D.slice(0,M):D;return[...k,...b.map(z=>({filename:z.name,id:jt(),mediaType:z.type,type:"file",url:URL.createObjectURL(z)}))]})},[o,n]),w=Ve(v=>{p(A=>{let P=A.find(D=>D.id===v);return P?.url&&URL.revokeObjectURL(P.url),A.filter(D=>D.id!==v)})},[]),g=Ve(()=>{p(v=>{for(let A of v)A.url&&URL.revokeObjectURL(A.url);return[]})},[]);Gr(()=>()=>{for(let v of m.current)v.url&&URL.revokeObjectURL(v.url)},[]);let h=Ve(v=>{v.currentTarget.files&&L(v.currentTarget.files),v.currentTarget.value=""},[L]);Gr(()=>{if(!r)return;let v=P=>{P.dataTransfer?.types?.includes("Files")&&P.preventDefault()},A=P=>{P.dataTransfer?.types?.includes("Files")&&P.preventDefault(),P.dataTransfer?.files&&P.dataTransfer.files.length>0&&L(P.dataTransfer.files)};return document.addEventListener("dragover",v),document.addEventListener("drop",A),()=>{document.removeEventListener("dragover",v),document.removeEventListener("drop",A)}},[L,r]);let x=Ve(async v=>{v.preventDefault();let A=v.currentTarget,D=new FormData(A).get("message")||"";A.reset();let k=await Promise.all(f.map(async({id:M,...b})=>{if(b.url?.startsWith("blob:")){let z=await bd(b.url);return{...b,url:z??b.url}}return b}));try{let M=s({files:k,text:D},v);M instanceof Promise&&await M,g()}catch{}},[f,s,g]),S=yd(()=>({add:L,clear:g,files:f,openFileDialog:I,remove:w}),[f,L,w,g,I]);return ts(Zn.Provider,{value:S,children:[_e("input",{accept:t,"aria-label":u.promptInput.uploadFiles,className:"ww:hidden",multiple:a,onChange:h,ref:c,title:u.promptInput.uploadFiles,type:"file"}),_e("form",{className:T("ww:flex ww:w-full ww:flex-col ww:rounded-lg ww:border ww:border-border ww:bg-background",e),onSubmit:x,ref:d,...l,children:i})]})};var Ta=({onChange:e,onKeyDown:t,className:a,placeholder:r,...o})=>{let{t:n}=V(),s=es(),[i,l]=Yn(!1),u=r??n.promptInput.placeholder,c=Ve(f=>{if(t?.(f),!f.defaultPrevented){if(f.key==="Enter"){if(i||f.nativeEvent.isComposing||f.shiftKey)return;f.preventDefault();let{form:p}=f.currentTarget;if(p?.querySelector('button[type="submit"]')?.disabled)return;p?.requestSubmit()}if(f.key==="Backspace"&&f.currentTarget.value===""&&s.files.length>0){f.preventDefault();let p=s.files.at(-1);p&&s.remove(p.id)}}},[t,i,s]),d=Ve(f=>{let p=f.clipboardData?.items;if(!p)return;let m=[];for(let I of p)if(I.kind==="file"){let L=I.getAsFile();L&&m.push(L)}m.length>0&&(f.preventDefault(),s.add(m))},[s]);return _e("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-base ww:sm:text-sm ww:outline-none ww:placeholder:text-muted-foreground",a),name:"message",onCompositionEnd:()=>l(!1),onCompositionStart:()=>l(!0),onKeyDown:c,onPaste:d,placeholder:u,onChange:e,...o})},va=({className:e,status:t,onStop:a,onClick:r,children:o,...n})=>{let{t:s}=V(),i=t==="submitted"||t==="streaming",l=_e(Dt,{className:"ww:size-4"});t==="submitted"?l=_e(qt,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(l=_e(Gt,{className:"ww:size-4"}));let u=Ve(c=>{if(i&&a){c.preventDefault(),a();return}r?.(c)},[i,a,r]);return _e(Ee,{"aria-label":i?s.promptInput.stop:s.promptInput.submit,className:T("ww:bg-foreground ww:text-background ww:hover:bg-foreground ww:rounded-full",e),onClick:u,size:"icon-sm",type:i&&a?"button":"submit",variant:"ghost",...n,children:o??l})},Pa=({className:e,children:t,...a})=>{let{t:r}=V(),o=es();return o.files.length>0?ts(Ee,{className:T("ww:group ww:relative",e),onClick:()=>o.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":r.promptInput.removeAttachments,...a,children:[_e("span",{className:"ww:flex ww:size-5 ww:items-center ww:justify-center ww:rounded-full ww:bg-primary ww:text-[10px] ww:font-medium ww:text-primary-foreground ww:transition-opacity ww:group-hover:opacity-0",children:o.files.length}),_e(st,{className:"ww:absolute ww:size-4 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100"})]}):_e(Ee,{className:T(e),onClick:()=>o.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??_e(Wt,{className:"ww:size-4"})})};import{memo as kd,useCallback as Td}from"react";import{jsx as bt}from"react/jsx-runtime";var as=({className:e,...t})=>bt("div",{className:T("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),rs=({className:e,...t})=>bt("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}),os=({className:e,...t})=>bt("span",{className:T("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),ns=({className:e,...t})=>bt("span",{className:T("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),ss=({className:e,...t})=>bt("div",{className:T("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),is=({className:e,...t})=>bt(Ee,{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 Ke,jsxs as us}from"react/jsx-runtime";var ls=kd(({message:e,onRemove:t})=>{let{t:a}=V(),r=Td(()=>t(e.id),[t,e.id]);return us(rs,{children:[Ke(os,{}),Ke(ns,{children:e.text||a.chatQueue.attachmentFallback}),Ke(ss,{children:Ke(is,{"aria-label":a.chatQueue.removeFromQueue,onClick:r,children:Ke(st,{className:"ww:size-3"})})})]})});ls.displayName="ChatQueueItem";function Aa({queuedMessages:e,onRemove:t,className:a}){let{t:r}=V();return e.length===0?null:us(as,{className:T("ww:border-t ww:border-border",a),children:[Ke("div",{className:"ww:text-[11px] ww:font-medium ww:text-muted-foreground ww:px-2",children:r.chatQueue.queued(e.length)}),Ke("ul",{children:e.map(o=>Ke(ls,{message:o,onRemove:t},o.id))})]})}import{useState as ds}from"react";import{jsx as vd}from"react/jsx-runtime";function cs({messages:e,evalEnabled:t,api:a="/api/waniwani"}){let{t:r}=V(),[o,n]=ds(!1),[s,i]=ds(null),l=async()=>{let c={name:`session-${new Date().toISOString().slice(0,19)}`,type:"functional",messages:e,mode:"manual"};n(!0),i(null);try{let d=await fetch(`${a}/scenarios`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)});if(!d.ok)throw new Error(`${d.status}`);i("saved")}catch{i("error")}finally{n(!1),setTimeout(()=>i(null),2e3)}};if(!t||e.length===0)return null;let u=o?r.exportSession.saving:s==="saved"?r.exportSession.saved:s==="error"?r.exportSession.error:r.exportSession.export;return vd("button",{type:"button",onClick:l,disabled:o,title:r.exportSession.tooltip,className:"ww:ml-auto ww:text-[10px] ww:font-mono ww:uppercase ww:tracking-wider ww:text-muted-foreground hover:ww:text-foreground ww:cursor-pointer ww:transition-colors ww:disabled:opacity-40",children:u})}import{jsx as $t,jsxs as Ad}from"react/jsx-runtime";var fs=({files:e,className:t,...a})=>e.length===0?null:$t("div",{className:T("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((r,o)=>$t(Pd,{file:r},o))});function Pd({file:e}){let{t}=V();return e.mediaType?.startsWith("image/")&&e.url?$t("img",{src:e.url,alt:e.filename??t.attachments.attachmentFallback,className:"ww:h-16 ww:max-w-32 ww:rounded ww:object-cover"}):Ad("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:[$t(Ut,{className:"ww:size-3 ww:shrink-0"}),$t("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??t.attachments.fileFallback})]})}import{createContext as qd,useCallback as Wd,useContext as Gd,useEffect as Vd,useMemo as zd,useState as Xr}from"react";import{createContext as Bd,memo as $r,useCallback as Ed,useContext as Dd,useEffect as zr,useMemo as _d,useRef as ps,useState as jr}from"react";import{memo as Rd}from"react";import{jsx as Fd}from"react/jsx-runtime";var Md=({as:e="span",className:t,duration:a=2,style:r,children:o,...n})=>{let s={backgroundImage:"linear-gradient(90deg, var(--ww-color-muted-foreground) 0%, var(--ww-color-muted-foreground) 40%, var(--ww-color-foreground) 50%, var(--ww-color-muted-foreground) 60%, var(--ww-color-muted-foreground) 100%)",backgroundSize:"250% 100%",WebkitBackgroundClip:"text",backgroundClip:"text",color:"transparent",animation:`ww-shimmer ${a}s linear infinite`,...r};return Fd(e,{"data-waniwani-shimmer":"",className:T("ww:inline-block",t),style:s,...n,children:o})},Ne=Rd(Md);Ne.displayName="Shimmer";import{Fragment as Ud,jsx as Oe,jsxs as Hd}from"react/jsx-runtime";var ms=Bd(null);function hs(){let e=Dd(ms);if(!e)throw new Error("Reasoning components must be used within <Reasoning>");return e}var Nd=1e3,Od=1e3,Xt=$r(({className:e,isStreaming:t=!1,open:a,defaultOpen:r,onOpenChange:o,duration:n,children:s,...i})=>{let l=r??t,u=r===!1,c=a!==void 0,[d,f]=jr(l),p=c?a:d,m=Ed(A=>{c||f(A),o?.(A)},[c,o]),[I,L]=jr(void 0),w=n??I,g=ps(t),[h,x]=jr(!1),S=ps(null);zr(()=>{t?(g.current=!0,S.current===null&&(S.current=Date.now())):S.current!==null&&(L(Math.ceil((Date.now()-S.current)/Od)),S.current=null)},[t]),zr(()=>{t&&!p&&!u&&m(!0)},[t,p,u,m]),zr(()=>{if(g.current&&!t&&p&&!h){let A=setTimeout(()=>{m(!1),x(!0)},Nd);return()=>clearTimeout(A)}},[t,p,h,m]);let v=_d(()=>({isStreaming:t,isOpen:p,setIsOpen:m,duration:w}),[t,p,m,w]);return Oe(ms.Provider,{value:v,children:Oe("div",{className:T("ww:mb-4 ww:flex ww:flex-col ww:gap-2",e),"data-state":p?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...i,children:s})})});Xt.displayName="Reasoning";var Kt=$r(({className:e,children:t,getThinkingMessage:a,hideIcon:r=!1,onClick:o,...n})=>{let{t:s}=V(),{isStreaming:i,isOpen:l,duration:u,setIsOpen:c}=hs(),f=a??((p,m)=>p||m===0?Oe(Ne,{duration:1.6,children:s.reasoning.thinking}):m===void 0?Oe("span",{children:s.reasoning.thoughtBrief}):Oe("span",{children:s.reasoning.thoughtForSeconds(m)}));return Oe("button",{type:"button","aria-expanded":l,onClick:p=>{c(!l),o?.(p)},className:T("ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),...n,children:t??Hd(Ud,{children:[!r&&Oe(Ge,{className:"ww:size-4 ww:shrink-0"}),f(i,u)]})})});Kt.displayName="ReasoningTrigger";var Qt=$r(({className:e,children:t,...a})=>{let{isOpen:r}=hs();return Oe("div",{className:T("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",r?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:Oe("div",{className:"ww:min-h-0 ww:overflow-hidden",children:Oe("div",{className:T("ww:text-sm ww:text-muted-foreground",e),...a,children:Oe(Et,{children:t})})})})});Qt.displayName="ReasoningContent";import{jsx as J,jsxs as Qe}from"react/jsx-runtime";var jd=500,gs=qd(null);function ws(){let e=Gd(gs);if(!e)throw new Error("ChainOfThought components must be used within <ChainOfThought>");return e}function xs({className:e,isWorking:t=!1,activeStep:a,open:r,defaultOpen:o=!1,onOpenChange:n,children:s,...i}){let l=r!==void 0,[u,c]=Xr(o),d=l?r:u,f=Wd(L=>{l||c(L),n?.(L)},[l,n]),[p,m]=Xr(!t);Vd(()=>{if(t){m(!1);return}let L=setTimeout(()=>m(!0),jd);return()=>clearTimeout(L)},[t]);let I=zd(()=>({open:d,setOpen:f,isWorking:t,settled:p,activeStep:a}),[d,f,t,p,a]);return J(gs.Provider,{value:I,children:J("div",{className:T("ww:mb-4 ww:flex ww:flex-col ww:gap-2",e),"data-state":d?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...i,children:s})})}function Ls({className:e,label:t,workingLabel:a,children:r,...o}){let{open:n,setOpen:s,isWorking:i,settled:l,activeStep:u}=ws();if(!l){let c=u?.icon,d=u?.label??a??t??"";return J("div",{className:T("ww:flex ww:min-h-5 ww:w-full ww:items-center ww:gap-1.5 ww:text-sm ww:text-muted-foreground",e),children:Qe("span",{className:"ww:flex ww:min-w-0 ww:items-center ww:gap-1.5",style:{animation:"ww-fade-in 0.25s ease-out"},children:[c&&J(c,{className:T("ww:size-4 ww:shrink-0",i&&"ww:animate-pulse")}),J("span",{className:"ww:truncate",children:i?J(Ne,{duration:2.6,children:d}):d})]},d)})}return Qe("button",{type:"button",onClick:()=>s(!n),"aria-expanded":n,className:T("ww:flex ww:min-h-5 ww:w-full ww:items-center ww:gap-1.5 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),style:{animation:"ww-fade-in 0.25s ease-out"},...o,children:[J("span",{className:"ww:truncate",children:r??t}),J($e,{className:T("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",n&&"ww:rotate-180")})]})}function Is({className:e,children:t,...a}){let{open:r}=ws();return J("div",{className:T("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",r?"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:flex ww:flex-col",e),...a,children:t})})})}function Cs({icon:e,isLast:t,running:a,error:r}){return Qe("div",{className:"ww:flex ww:flex-col ww:items-center ww:self-stretch",children:[J("span",{className:"ww:flex ww:h-5 ww:items-center",children:J(e,{className:T("ww:size-4 ww:shrink-0",r?"ww:text-destructive":a?"ww:animate-pulse ww:text-foreground":"ww:text-muted-foreground")})}),!t&&J("span",{className:"ww:w-px ww:flex-1 ww:bg-border"})]})}function Kr({className:e,icon:t,title:a,state:r,isLast:o=!1,children:n,...s}){let i=r==="input-available"||r==="input-streaming",l=r==="output-error",u=n!=null,[c,d]=Xr(!1),f=a??"",p=i?J(Ne,{duration:1.6,children:f}):J("span",{className:"ww:truncate",children:f});return Qe("div",{className:T("ww:flex ww:gap-2",e),...s,children:[J(Cs,{icon:t,isLast:o,running:i,error:l}),Qe("div",{className:T("ww:min-w-0 ww:flex-1",!o&&"ww:pb-3"),children:[u?Qe("button",{type:"button",onClick:()=>d(m=>!m),"aria-expanded":c,className:"ww:flex ww:w-full ww:items-center ww:gap-1.5 ww:text-left ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",children:[p,J($e,{className:T("ww:size-3.5 ww:shrink-0 ww:transition-transform ww:duration-200",c&&"ww:rotate-180")})]}):J("div",{className:"ww:flex ww:items-center ww:text-sm ww:text-muted-foreground",children:p}),u&&J("div",{className:T("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",c?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:J("div",{className:"ww:min-h-0 ww:overflow-hidden",children:J("div",{className:"ww:mt-2 ww:space-y-3 ww:rounded-lg ww:border ww:border-border ww:bg-background ww:p-3",children:n})})})]})]})}function Ss({isStreaming:e=!1,isLast:t=!1,children:a}){return Qe("div",{className:"ww:flex ww:gap-2",children:[J(Cs,{icon:Ge,isLast:t,running:e}),J("div",{className:T("ww:min-w-0 ww:flex-1",!t&&"ww:pb-3"),children:Qe(Xt,{isStreaming:e,className:"ww:mb-0",children:[J(Kt,{hideIcon:!0}),J(Qt,{children:a})]})})]})}var Le={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 He={attentionSideAfter:2,attentionSideBefore:1,atxHeadingOpeningFenceSizeMax:6,autolinkDomainSizeMax:63,autolinkSchemeSizeMax:32,cdataOpeningString:"CDATA[",characterGroupPunctuation:2,characterGroupWhitespace:1,characterReferenceDecimalSizeMax:7,characterReferenceHexadecimalSizeMax:6,characterReferenceNamedSizeMax:31,codeFencedSequenceSizeMin:3,contentTypeContent:"content",contentTypeDocument:"document",contentTypeFlow:"flow",contentTypeString:"string",contentTypeText:"text",hardBreakPrefixSizeMin:2,htmlBasic:6,htmlCdata:5,htmlComment:2,htmlComplete:7,htmlDeclaration:4,htmlInstruction:3,htmlRawSizeMax:8,htmlRaw:1,linkResourceDestinationBalanceMax:32,linkReferenceSizeMax:999,listItemValueSizeMax:10,numericBaseDecimal:10,numericBaseHexadecimal:16,tabSize:4,thematicBreakMarkerCountMin:3,v8MaxSafeChunkSize:1e4};var Ae={data:"data",whitespace:"whitespace",lineEnding:"lineEnding",lineEndingBlank:"lineEndingBlank",linePrefix:"linePrefix",lineSuffix:"lineSuffix",atxHeading:"atxHeading",atxHeadingSequence:"atxHeadingSequence",atxHeadingText:"atxHeadingText",autolink:"autolink",autolinkEmail:"autolinkEmail",autolinkMarker:"autolinkMarker",autolinkProtocol:"autolinkProtocol",characterEscape:"characterEscape",characterEscapeValue:"characterEscapeValue",characterReference:"characterReference",characterReferenceMarker:"characterReferenceMarker",characterReferenceMarkerNumeric:"characterReferenceMarkerNumeric",characterReferenceMarkerHexadecimal:"characterReferenceMarkerHexadecimal",characterReferenceValue:"characterReferenceValue",codeFenced:"codeFenced",codeFencedFence:"codeFencedFence",codeFencedFenceSequence:"codeFencedFenceSequence",codeFencedFenceInfo:"codeFencedFenceInfo",codeFencedFenceMeta:"codeFencedFenceMeta",codeFlowValue:"codeFlowValue",codeIndented:"codeIndented",codeText:"codeText",codeTextData:"codeTextData",codeTextPadding:"codeTextPadding",codeTextSequence:"codeTextSequence",content:"content",definition:"definition",definitionDestination:"definitionDestination",definitionDestinationLiteral:"definitionDestinationLiteral",definitionDestinationLiteralMarker:"definitionDestinationLiteralMarker",definitionDestinationRaw:"definitionDestinationRaw",definitionDestinationString:"definitionDestinationString",definitionLabel:"definitionLabel",definitionLabelMarker:"definitionLabelMarker",definitionLabelString:"definitionLabelString",definitionMarker:"definitionMarker",definitionTitle:"definitionTitle",definitionTitleMarker:"definitionTitleMarker",definitionTitleString:"definitionTitleString",emphasis:"emphasis",emphasisSequence:"emphasisSequence",emphasisText:"emphasisText",escapeMarker:"escapeMarker",hardBreakEscape:"hardBreakEscape",hardBreakTrailing:"hardBreakTrailing",htmlFlow:"htmlFlow",htmlFlowData:"htmlFlowData",htmlText:"htmlText",htmlTextData:"htmlTextData",image:"image",label:"label",labelText:"labelText",labelLink:"labelLink",labelImage:"labelImage",labelMarker:"labelMarker",labelImageMarker:"labelImageMarker",labelEnd:"labelEnd",link:"link",paragraph:"paragraph",reference:"reference",referenceMarker:"referenceMarker",referenceString:"referenceString",resource:"resource",resourceDestination:"resourceDestination",resourceDestinationLiteral:"resourceDestinationLiteral",resourceDestinationLiteralMarker:"resourceDestinationLiteralMarker",resourceDestinationRaw:"resourceDestinationRaw",resourceDestinationString:"resourceDestinationString",resourceMarker:"resourceMarker",resourceTitle:"resourceTitle",resourceTitleMarker:"resourceTitleMarker",resourceTitleString:"resourceTitleString",setextHeading:"setextHeading",setextHeadingText:"setextHeadingText",setextHeadingLine:"setextHeadingLine",setextHeadingLineSequence:"setextHeadingLineSequence",strong:"strong",strongSequence:"strongSequence",strongText:"strongText",thematicBreak:"thematicBreak",thematicBreakSequence:"thematicBreakSequence",blockQuote:"blockQuote",blockQuotePrefix:"blockQuotePrefix",blockQuoteMarker:"blockQuoteMarker",blockQuotePrefixWhitespace:"blockQuotePrefixWhitespace",listOrdered:"listOrdered",listUnordered:"listUnordered",listItemIndent:"listItemIndent",listItemMarker:"listItemMarker",listItemPrefix:"listItemPrefix",listItemPrefixWhitespace:"listItemPrefixWhitespace",listItemValue:"listItemValue",chunkDocument:"chunkDocument",chunkContent:"chunkContent",chunkFlow:"chunkFlow",chunkText:"chunkText",chunkString:"chunkString"};function ys(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 bs(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function ks(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 ys(e)?"ambiguous":bs(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":ks(e)?"wide":"neutral"}function $d(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function vs(e){return $d(e),Ts(e)}var Xd=Object.defineProperty,Kd=(e,t,a)=>t in e?Xd(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Qd=(e,t,a)=>Kd(e,typeof t!="symbol"?t+"":t,a);function Jd(e){return/^\p{Emoji_Presentation}/u.test(String.fromCodePoint(e))}function Yd(e){if(!e||e<4352)return!1;switch(vs(e)){case"fullwidth":case"halfwidth":return!0;case"wide":return!Jd(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 Zd(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function ec(e){return e!==null&&e>=65024&&e<=65038}var tc=Ps(/\p{P}|\p{S}/u),ac=Ps(/\s/);function Ps(e){return t;function t(a){return a!==null&&a>-1&&e.test(String.fromCodePoint(a))}}var Re;(e=>{e.spaceOrPunctuation=3,e.cjk=4096,e.cjkPunctuation=4098,e.ivs=8192,e.cjkOrIvs=12288,e.nonEmojiGeneralUseVS=16384,e.variationSelector=24576,e.ivsToCjkRightShift=1})(Re||(Re={}));function Je(e){if(e===Le.eof||Fn(e)||ac(e))return He.characterGroupWhitespace;let t=0;if(e>=4352){if(ec(e))return Re.nonEmojiGeneralUseVS;switch(Yd(e)){case null:return Re.ivs;case!0:t|=Re.cjk;break}}return tc(e)&&(t|=He.characterGroupPunctuation),t}function Ra(e,t,a){if(!oc(e))return e;let r=t(),o=Je(r);return!r||ut(o)?e:Zd(r,a)?Re.cjkPunctuation:rc(o)}function rc(e){return e&~Re.ivs}function ut(e){return!!(e&He.characterGroupWhitespace)}function kt(e){return(e&Re.cjkPunctuation)===He.characterGroupPunctuation}function Jt(e){return!!(e&Re.cjk)}function As(e){return e===Re.ivs}function Rs(e){return!!(e&Re.cjkOrIvs)}function oc(e){return e===Re.nonEmojiGeneralUseVS}function Qr(e){return!!(e&Re.spaceOrPunctuation)}function Ma(e){return!!(e&&e>=55296&&e<=56319)}function Fa(e){return!!(e&&e>=56320&&e<=57343)}function Ba(e,t,a){if(t._bufferIndex<2)return e;let o=a({start:{...t,_bufferIndex:t._bufferIndex-2},end:t}).codePointAt(0);return o&&o>=65536?o:e}function nc(e,t,a){let r=e>=65536?2:1;if(t._bufferIndex<1+r)return null;let o=t._bufferIndex-r-2,n=a({start:{...t,_bufferIndex:o>=0?o:0},end:{...t,_bufferIndex:t._bufferIndex-r}}),s=n.charCodeAt(n.length-1);if(Number.isNaN(s))return null;if(n.length<2||s<56320||57343<s)return s;let i=n.codePointAt(0);return i&&i>=65536?i:s}var Ea=class{constructor(e,t,a){this.previousCode=e,this.nowPoint=t,this.sliceSerialize=a,Qd(this,"cachedValue")}value(){return this.cachedValue===void 0&&(this.cachedValue=nc(this.previousCode,this.nowPoint,this.sliceSerialize)),this.cachedValue}};function Da(e,t,a){let r=a({start:t,end:{...t,_bufferIndex:t._bufferIndex+2}}).codePointAt(0);return r&&r>=65536?r:e}var Jr={name:"attention",resolveAll:sc,tokenize:ic};function sc(e,t){let a=-1,r,o,n,s,i,l,u,c;for(;++a<e.length;)if(e[a][0]==="enter"&&e[a][1].type==="attentionSequence"&&e[a][1]._close){for(r=a;r--;)if(e[r][0]==="exit"&&e[r][1].type==="attentionSequence"&&e[r][1]._open&&t.sliceSerialize(e[r][1]).charCodeAt(0)===t.sliceSerialize(e[a][1]).charCodeAt(0)){if((e[r][1]._close||e[a][1]._open)&&(e[a][1].end.offset-e[a][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[a][1].end.offset-e[a][1].start.offset)%3))continue;l=e[r][1].end.offset-e[r][1].start.offset>1&&e[a][1].end.offset-e[a][1].start.offset>1?2:1;let d={...e[r][1].end},f={...e[a][1].start};Ms(d,-l),Ms(f,l),s={type:l>1?Ae.strongSequence:Ae.emphasisSequence,start:d,end:{...e[r][1].end}},i={type:l>1?Ae.strongSequence:Ae.emphasisSequence,start:{...e[a][1].start},end:f},n={type:l>1?Ae.strongText:Ae.emphasisText,start:{...e[r][1].end},end:{...e[a][1].start}},o={type:l>1?Ae.strong:Ae.emphasis,start:{...s.start},end:{...i.end}},e[r][1].end={...s.start},e[a][1].start={...i.end},u=[],e[r][1].end.offset-e[r][1].start.offset&&(u=Lt(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=Lt(u,[["enter",o,t],["enter",s,t],["exit",s,t],["enter",n,t]]),t.parser.constructs.insideSpan.null,u=Lt(u,Ia(t.parser.constructs.insideSpan.null,e.slice(r+1,a),t)),u=Lt(u,[["exit",n,t],["enter",i,t],["exit",i,t],["exit",o,t]]),e[a][1].end.offset-e[a][1].start.offset?(c=2,u=Lt(u,[["enter",e[a][1],t],["exit",e[a][1],t]])):c=0,xt(e,r-1,a-r+3,u),a=r+u.length-c-2;break}}for(a=-1;++a<e.length;)e[a][1].type==="attentionSequence"&&(e[a][1].type="data");return e}function ic(e,t){let a=this.parser.constructs.attentionMarkers.null,{now:r,sliceSerialize:o,previous:n}=this,s=Fa(n)?Ba(n,r(),o):n,i=Je(s),l=new Ea(s,r(),o),u=Ra(i,l.value.bind(l),s),c;return d;function d(p){return p===Le.asterisk||Le.underscore,c=p,e.enter("attentionSequence"),f(p)}function f(p){if(p===c)return e.consume(p),f;let m=e.exit("attentionSequence"),I=Ma(p)?Da(p,r(),o):p,L=Je(I);let w=kt(u),g=w||ut(u),h=kt(L),x=h||ut(L),S=Rs(u),v=!x||h&&(g||S)||a.includes(p),A=!g||w&&(x||Jt(L))||a.includes(s);return m._open=!!(c===Le.asterisk?v:v&&(Qr(u)||!A)),m._close=!!(c===Le.asterisk?A:A&&(Qr(L)||!v)),t(p)}}function Ms(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function Fs(){return{text:{[Le.asterisk]:Jr,[Le.underscore]:Jr},insideSpan:{null:[Jr]}}}function Bs(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(Fs())}function Es(e){let a=(e||{}).singleTilde,r={name:"strikethrough",tokenize:n,resolveAll:o};return a==null&&(a=!0),{text:{[Le.tilde]:r},insideSpan:{null:[r]},attentionMarkers:{null:[Le.tilde]}};function o(s,i){let l=-1;for(;++l<s.length;)if(s[l][0]==="enter"&&s[l][1].type==="strikethroughSequenceTemporary"&&s[l][1]._close){let u=l;for(;u--;)if(s[u][0]==="exit"&&s[u][1].type==="strikethroughSequenceTemporary"&&s[u][1]._open&&s[l][1].end.offset-s[l][1].start.offset===s[u][1].end.offset-s[u][1].start.offset){s[l][1].type="strikethroughSequence",s[u][1].type="strikethroughSequence";let c={type:"strikethrough",start:Object.assign({},s[u][1].start),end:Object.assign({},s[l][1].end)},d={type:"strikethroughText",start:Object.assign({},s[u][1].end),end:Object.assign({},s[l][1].start)},f=[["enter",c,i],["enter",s[u][1],i],["exit",s[u][1],i],["enter",d,i]],p=i.parser.constructs.insideSpan.null;p&&xt(f,f.length,0,Ia(p,s.slice(u+1,l),i)),xt(f,f.length,0,[["exit",d,i],["enter",s[l][1],i],["exit",s[l][1],i],["exit",c,i]]),xt(s,u-1,l-u+3,f),l=u+f.length-2;break}}for(l=-1;++l<s.length;)s[l][1].type==="strikethroughSequenceTemporary"&&(s[l][1].type=Ae.data);return s}function n(s,i,l){let{now:u,sliceSerialize:c,previous:d}=this,f=Fa(d)?Ba(d,u(),c):d,p=Je(f),m=new Ea(f,u(),c),I=Ra(p,m.value.bind(m),f),L=this.events,w=0;return g;function g(x){return Le.tilde,f===Le.tilde&&L[L.length-1][1].type!==Ae.characterEscape?l(x):(s.enter("strikethroughSequenceTemporary"),h(x))}function h(x){let S=Je(f);if(x===Le.tilde)return w>1?l(x):(s.consume(x),w++,h);if(w<2&&!a)return l(x);let v=s.exit("strikethroughSequenceTemporary"),A=Ma(x)?Da(x,u(),c):x,P=Je(A),k=kt(I)||ut(I),b=kt(P)||ut(P),z=Jt(I)||As(S);return v._open=!b||P===He.attentionSideAfter&&(k||z),v._close=!k||S===He.attentionSideAfter&&(b||Jt(P)),i(x)}}}function Ds(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(Es(e))}var lc=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),uc=/^(https?:\/\/|mailto:|www\.)/i,dc=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},cc=e=>{let t=0;for(let a of e){if(lc.has(a))return t;t+=a.length}return null},fc=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),pc=e=>({type:"text",value:e}),mc=()=>e=>{kn(e,"link",(t,a,r)=>{if(!r||typeof a!="number"||!dc(t)||!uc.test(t.url))return;let o=cc(t.url);if(o===null||o===0)return;let n=t.url.slice(0,o),s=t.url.slice(o),i=fc(n,t),l=pc(s);return r.children.splice(a,1,i,l),a+1})};function hc(){let e=[Bs],t=[mc,Ds],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var Yr=hc();var te=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function gc(e){return lo(e)}function lo(e){return Array.isArray(e)?wc(e):e instanceof RegExp?e:typeof e=="object"?xc(e):e}function wc(e){let t=[];for(let a=0,r=e.length;a<r;a++)t[a]=lo(e[a]);return t}function xc(e){let t={};for(let a in e)t[a]=lo(e[a]);return t}function Vs(e,...t){return t.forEach(a=>{for(let r in a)e[r]=a[r]}),e}function zs(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?zs(e.substring(0,e.length-1)):e.substr(~t+1)}var Zr=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,_a=class{static hasCaptures(e){return e===null?!1:(Zr.lastIndex=0,Zr.test(e))}static replaceCaptures(e,t,a){return e.replace(Zr,(r,o,n,s)=>{let i=a[parseInt(o||n,10)];if(i){let l=t.substring(i.start,i.end);for(;l[0]===".";)l=l.substring(1);switch(s){case"downcase":return l.toLowerCase();case"upcase":return l.toUpperCase();default:return l}}else return r})}};function js(e,t){return e<t?-1:e>t?1:0}function $s(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let a=e.length,r=t.length;if(a===r){for(let o=0;o<a;o++){let n=js(e[o],t[o]);if(n!==0)return n}return 0}return a-r}function _s(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 Xs(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var Ks=class{constructor(e){this.fn=e}cache=new Map;get(e){if(this.cache.has(e))return this.cache.get(e);let t=this.fn(e);return this.cache.set(e,t),t}},ea=class{constructor(e,t,a){this._colorMap=e,this._defaults=t,this._root=a}static createFromRawTheme(e,t){return this.createFromParsedTheme(Cc(e),t)}static createFromParsedTheme(e,t){return yc(e,t)}_cachedMatchRoot=new Ks(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,r=this._cachedMatchRoot.get(t).find(o=>Lc(e.parent,o.parentScopes));return r?new Qs(r.fontStyle,r.foreground,r.background):null}},eo=class Na{constructor(t,a){this.parent=t,this.scopeName=a}static push(t,a){for(let r of a)t=new Na(t,r);return t}static from(...t){let a=null;for(let r=0;r<t.length;r++)a=new Na(a,t[r]);return a}push(t){return new Na(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=[],r=this;for(;r&&r!==t;)a.push(r.scopeName),r=r.parent;return r===t?a.reverse():void 0}};function Lc(e,t){if(t.length===0)return!0;for(let a=0;a<t.length;a++){let r=t[a],o=!1;if(r===">"){if(a===t.length-1)return!1;r=t[++a],o=!0}for(;e&&!Ic(e.scopeName,r);){if(o)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function Ic(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var Qs=class{constructor(e,t,a){this.fontStyle=e,this.foregroundId=t,this.backgroundId=a}};function Cc(e){if(!e)return[];if(!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,a=[],r=0;for(let o=0,n=t.length;o<n;o++){let s=t[o];if(!s.settings)continue;let i;if(typeof s.scope=="string"){let d=s.scope;d=d.replace(/^[,]+/,""),d=d.replace(/[,]+$/,""),i=d.split(",")}else Array.isArray(s.scope)?i=s.scope:i=[""];let l=-1;if(typeof s.settings.fontStyle=="string"){l=0;let d=s.settings.fontStyle.split(" ");for(let f=0,p=d.length;f<p;f++)switch(d[f]){case"italic":l=l|1;break;case"bold":l=l|2;break;case"underline":l=l|4;break;case"strikethrough":l=l|8;break}}let u=null;typeof s.settings.foreground=="string"&&_s(s.settings.foreground)&&(u=s.settings.foreground);let c=null;typeof s.settings.background=="string"&&_s(s.settings.background)&&(c=s.settings.background);for(let d=0,f=i.length;d<f;d++){let m=i[d].trim().split(" "),I=m[m.length-1],L=null;m.length>1&&(L=m.slice(0,m.length-1),L.reverse()),a[r++]=new Sc(I,L,o,l,u,c)}}return a}var Sc=class{constructor(e,t,a,r,o,n){this.scope=e,this.parentScopes=t,this.index=a,this.fontStyle=r,this.foreground=o,this.background=n}},Ie=(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))(Ie||{});function yc(e,t){e.sort((l,u)=>{let c=js(l.scope,u.scope);return c!==0||(c=$s(l.parentScopes,u.parentScopes),c!==0)?c:l.index-u.index});let a=0,r="#000000",o="#ffffff";for(;e.length>=1&&e[0].scope==="";){let l=e.shift();l.fontStyle!==-1&&(a=l.fontStyle),l.foreground!==null&&(r=l.foreground),l.background!==null&&(o=l.background)}let n=new bc(t),s=new Qs(a,n.getId(r),n.getId(o)),i=new Tc(new ao(0,null,-1,0,0),[]);for(let l=0,u=e.length;l<u;l++){let c=e[l];i.insert(0,c.scope,c.parentScopes,c.fontStyle,n.getId(c.foreground),n.getId(c.background))}return new ea(n,s,i)}var bc=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)}},kc=Object.freeze([]),ao=class Js{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,r,o,n){this.scopeDepth=t,this.parentScopes=a||kc,this.fontStyle=r,this.foreground=o,this.background=n}clone(){return new Js(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background)}static cloneArr(t){let a=[];for(let r=0,o=t.length;r<o;r++)a[r]=t[r].clone();return a}acceptOverwrite(t,a,r,o){this.scopeDepth>t?console.log("how did this happen?"):this.scopeDepth=t,a!==-1&&(this.fontStyle=a),r!==0&&(this.foreground=r),o!==0&&(this.background=o)}},Tc=class ro{constructor(t,a=[],r={}){this._mainRule=t,this._children=r,this._rulesWithParentScopes=a}_rulesWithParentScopes;static _cmpBySpecificity(t,a){if(t.scopeDepth!==a.scopeDepth)return a.scopeDepth-t.scopeDepth;let r=0,o=0;for(;t.parentScopes[r]===">"&&r++,a.parentScopes[o]===">"&&o++,!(r>=t.parentScopes.length||o>=a.parentScopes.length);){let n=a.parentScopes[o].length-t.parentScopes[r].length;if(n!==0)return n;r++,o++}return a.parentScopes.length-t.parentScopes.length}match(t){if(t!==""){let r=t.indexOf("."),o,n;if(r===-1?(o=t,n=""):(o=t.substring(0,r),n=t.substring(r+1)),this._children.hasOwnProperty(o))return this._children[o].match(n)}let a=this._rulesWithParentScopes.concat(this._mainRule);return a.sort(ro._cmpBySpecificity),a}insert(t,a,r,o,n,s){if(a===""){this._doInsertHere(t,r,o,n,s);return}let i=a.indexOf("."),l,u;i===-1?(l=a,u=""):(l=a.substring(0,i),u=a.substring(i+1));let c;this._children.hasOwnProperty(l)?c=this._children[l]:(c=new ro(this._mainRule.clone(),ao.cloneArr(this._rulesWithParentScopes)),this._children[l]=c),c.insert(t+1,u,r,o,n,s)}_doInsertHere(t,a,r,o,n){if(a===null){this._mainRule.acceptOverwrite(t,r,o,n);return}for(let s=0,i=this._rulesWithParentScopes.length;s<i;s++){let l=this._rulesWithParentScopes[s];if($s(l.parentScopes,a)===0){l.acceptOverwrite(t,r,o,n);return}}r===-1&&(r=this._mainRule.fontStyle),o===0&&(o=this._mainRule.foreground),n===0&&(n=this._mainRule.background),this._rulesWithParentScopes.push(new ao(t,a,r,o,n))}},ct=class De{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){let a=De.getLanguageId(t),r=De.getTokenType(t),o=De.getFontStyle(t),n=De.getForeground(t),s=De.getBackground(t);console.log({languageId:a,tokenType:r,fontStyle:o,foreground:n,background:s})}static getLanguageId(t){return(t&255)>>>0}static getTokenType(t){return(t&768)>>>8}static containsBalancedBrackets(t){return(t&1024)!==0}static getFontStyle(t){return(t&30720)>>>11}static getForeground(t){return(t&16744448)>>>15}static getBackground(t){return(t&4278190080)>>>24}static set(t,a,r,o,n,s,i){let l=De.getLanguageId(t),u=De.getTokenType(t),c=De.containsBalancedBrackets(t)?1:0,d=De.getFontStyle(t),f=De.getForeground(t),p=De.getBackground(t);return a!==0&&(l=a),r!==8&&(u=r),o!==null&&(c=o?1:0),n!==-1&&(d=n),s!==0&&(f=s),i!==0&&(p=i),(l<<0|u<<8|c<<10|d<<11|f<<15|p<<24)>>>0}};function Ua(e,t){let a=[],r=vc(e),o=r.next();for(;o!==null;){let l=0;if(o.length===2&&o.charAt(1)===":"){switch(o.charAt(0)){case"R":l=1;break;case"L":l=-1;break;default:console.log(`Unknown priority ${o} in scope selector`)}o=r.next()}let u=s();if(a.push({matcher:u,priority:l}),o!==",")break;o=r.next()}return a;function n(){if(o==="-"){o=r.next();let l=n();return u=>!!l&&!l(u)}if(o==="("){o=r.next();let l=i();return o===")"&&(o=r.next()),l}if(Ns(o)){let l=[];do l.push(o),o=r.next();while(Ns(o));return u=>t(l,u)}return null}function s(){let l=[],u=n();for(;u;)l.push(u),u=n();return c=>l.every(d=>d(c))}function i(){let l=[],u=s();for(;u&&(l.push(u),o==="|"||o===",");){do o=r.next();while(o==="|"||o===",");u=s()}return c=>l.some(d=>d(c))}}function Ns(e){return!!e&&!!e.match(/[\w\.:]+/)}function vc(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,a=t.exec(e);return{next:()=>{if(!a)return null;let r=a[0];return a=t.exec(e),r}}}function Ys(e){typeof e.dispose=="function"&&e.dispose()}var ta=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},Pc=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},Ac=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))}},Rc=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new ta(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new Ac;for(let a of e)Mc(a,this.initialScopeName,this.repo,t);for(let a of t.references)if(a instanceof ta){if(this.seenFullScopeRequests.has(a.scopeName))continue;this.seenFullScopeRequests.add(a.scopeName),this.Q.push(a)}else{if(this.seenFullScopeRequests.has(a.scopeName)||this.seenPartialScopeRequests.has(a.toKey()))continue;this.seenPartialScopeRequests.add(a.toKey()),this.Q.push(a)}}};function Mc(e,t,a,r){let o=a.lookup(e.scopeName);if(!o){if(e.scopeName===t)throw new Error(`No grammar provided for <${t}>`);return}let n=a.lookup(t);e instanceof ta?Oa({baseGrammar:n,selfGrammar:o},r):oo(e.ruleName,{baseGrammar:n,selfGrammar:o,repository:o.repository},r);let s=a.injections(e.scopeName);if(s)for(let i of s)r.add(new ta(i))}function oo(e,t,a){if(t.repository&&t.repository[e]){let r=t.repository[e];Ha([r],t,a)}}function Oa(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&Ha(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&Ha(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function Ha(e,t,a){for(let r of e){if(a.visitedRule.has(r))continue;a.visitedRule.add(r);let o=r.repository?Vs({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&Ha(r.patterns,{...t,repository:o},a);let n=r.include;if(!n)continue;let s=Zs(n);switch(s.kind){case 0:Oa({...t,selfGrammar:t.baseGrammar},a);break;case 1:Oa(t,a);break;case 2:oo(s.ruleName,{...t,repository:o},a);break;case 3:case 4:let i=s.scopeName===t.selfGrammar.scopeName?t.selfGrammar:s.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(i){let l={baseGrammar:t.baseGrammar,selfGrammar:i,repository:o};s.kind===4?oo(s.ruleName,l,a):Oa(l,a)}else s.kind===4?a.add(new Pc(s.scopeName,s.ruleName)):a.add(new ta(s.scopeName));break}}}var Fc=class{kind=0},Bc=class{kind=1},Ec=class{constructor(e){this.ruleName=e}kind=2},Dc=class{constructor(e){this.scopeName=e}kind=3},_c=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function Zs(e){if(e==="$base")return new Fc;if(e==="$self")return new Bc;let t=e.indexOf("#");if(t===-1)return new Dc(e);if(t===0)return new Ec(e.substring(1));{let a=e.substring(0,t),r=e.substring(t+1);return new _c(a,r)}}var Nc=/\\(\d+)/,Os=/\\(\d+)/g;var Oc=-1,ei=-2;var oa=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,a,r){this.$location=e,this.id=t,this._name=a||null,this._nameIsCapturing=_a.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=_a.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${zs(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:_a.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:_a.replaceCaptures(this._contentName,e,t)}},Uc=class extends oa{retokenizeCapturedWithRuleId;constructor(e,t,a,r,o){super(e,t,a,r),this.retokenizeCapturedWithRuleId=o}dispose(){}collectPatterns(e,t){throw new Error("Not supported!")}compile(e,t){throw new Error("Not supported!")}compileAG(e,t,a,r){throw new Error("Not supported!")}},Hc=class extends oa{_match;captures;_cachedCompiledPatterns;constructor(e,t,a,r,o){super(e,t,a,null),this._match=new aa(r,this.id),this.captures=o,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,r){return this._getCachedCompiledPatterns(e).compileAG(e,a,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new ra,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Us=class extends oa{hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,a,r,o){super(e,t,a,r),this.patterns=o.patterns,this.hasMissingPatterns=o.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,r){return this._getCachedCompiledPatterns(e).compileAG(e,a,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new ra,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},no=class extends oa{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,a,r,o,n,s,i,l,u){super(e,t,a,r),this._begin=new aa(o,this.id),this.beginCaptures=n,this._end=new aa(s||"\uFFFF",-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=i,this.applyEndPatternLast=l||!1,this.patterns=u.patterns,this.hasMissingPatterns=u.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugEndRegExp(){return`${this._end.source}`}getEndWithResolvedBackReferences(e,t){return this._end.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e,t).compile(e)}compileAG(e,t,a,r){return this._getCachedCompiledPatterns(e,t).compileAG(e,a,r)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new ra;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}},qa=class extends oa{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,a,r,o,n,s,i,l){super(e,t,a,r),this._begin=new aa(o,this.id),this.beginCaptures=n,this.whileCaptures=i,this._while=new aa(s,ei),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,r){return this._getCachedCompiledPatterns(e).compileAG(e,a,r)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new ra;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,r){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,a,r)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new ra,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},ti=class ke{static createCaptureRule(t,a,r,o,n){return t.registerRule(s=>new Uc(a,s,r,o,n))}static getCompiledRuleId(t,a,r){return t.id||a.registerRule(o=>{if(t.id=o,t.match)return new Hc(t.$vscodeTextmateLocation,t.id,t.name,t.match,ke._compileCaptures(t.captures,a,r));if(typeof t.begin>"u"){t.repository&&(r=Vs({},r,t.repository));let n=t.patterns;return typeof n>"u"&&t.include&&(n=[{include:t.include}]),new Us(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,ke._compilePatterns(n,a,r))}return t.while?new qa(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,ke._compileCaptures(t.beginCaptures||t.captures,a,r),t.while,ke._compileCaptures(t.whileCaptures||t.captures,a,r),ke._compilePatterns(t.patterns,a,r)):new no(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,ke._compileCaptures(t.beginCaptures||t.captures,a,r),t.end,ke._compileCaptures(t.endCaptures||t.captures,a,r),t.applyEndPatternLast,ke._compilePatterns(t.patterns,a,r))}),t.id}static _compileCaptures(t,a,r){let o=[];if(t){let n=0;for(let s in t){if(s==="$vscodeTextmateLocation")continue;let i=parseInt(s,10);i>n&&(n=i)}for(let s=0;s<=n;s++)o[s]=null;for(let s in t){if(s==="$vscodeTextmateLocation")continue;let i=parseInt(s,10),l=0;t[s].patterns&&(l=ke.getCompiledRuleId(t[s],a,r)),o[i]=ke.createCaptureRule(a,t[s].$vscodeTextmateLocation,t[s].name,t[s].contentName,l)}}return o}static _compilePatterns(t,a,r){let o=[];if(t)for(let n=0,s=t.length;n<s;n++){let i=t[n],l=-1;if(i.include){let u=Zs(i.include);switch(u.kind){case 0:case 1:l=ke.getCompiledRuleId(r[i.include],a,r);break;case 2:let c=r[u.ruleName];c&&(l=ke.getCompiledRuleId(c,a,r));break;case 3:case 4:let d=u.scopeName,f=u.kind===4?u.ruleName:null,p=a.getExternalGrammar(d,r);if(p)if(f){let m=p.repository[f];m&&(l=ke.getCompiledRuleId(m,a,p.repository))}else l=ke.getCompiledRuleId(p.repository.$self,a,p.repository);break}}else l=ke.getCompiledRuleId(i,a,r);if(l!==-1){let u=a.getRule(l),c=!1;if((u instanceof Us||u instanceof no||u instanceof qa)&&u.hasMissingPatterns&&u.patterns.length===0&&(c=!0),c)continue;o.push(l)}}return{patterns:o,hasMissingPatterns:(t?t.length:0)!==o.length}}},aa=class ai{source;ruleId;hasAnchor;hasBackReferences;_anchorCache;constructor(t,a){if(t&&typeof t=="string"){let r=t.length,o=0,n=[],s=!1;for(let i=0;i<r;i++)if(t.charAt(i)==="\\"&&i+1<r){let u=t.charAt(i+1);u==="z"?(n.push(t.substring(o,i)),n.push("$(?!\\n)(?<!\\n)"),o=i+2):(u==="A"||u==="G")&&(s=!0),i++}this.hasAnchor=s,o===0?this.source=t:(n.push(t.substring(o,r)),this.source=n.join(""))}else this.hasAnchor=!1,this.source=t;this.hasAnchor?this._anchorCache=this._buildAnchorCache():this._anchorCache=null,this.ruleId=a,typeof this.source=="string"?this.hasBackReferences=Nc.test(this.source):this.hasBackReferences=!1}clone(){return new ai(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 r=a.map(o=>t.substring(o.start,o.end));return Os.lastIndex=0,this.source.replace(Os,(o,n)=>Xs(r[parseInt(n,10)]||""))}_buildAnchorCache(){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let t=[],a=[],r=[],o=[],n,s,i,l;for(n=0,s=this.source.length;n<s;n++)i=this.source.charAt(n),t[n]=i,a[n]=i,r[n]=i,o[n]=i,i==="\\"&&n+1<s&&(l=this.source.charAt(n+1),l==="A"?(t[n+1]="\uFFFF",a[n+1]="\uFFFF",r[n+1]="A",o[n+1]="A"):l==="G"?(t[n+1]="\uFFFF",a[n+1]="G",r[n+1]="\uFFFF",o[n+1]="G"):(t[n+1]=l,a[n+1]=l,r[n+1]=l,o[n+1]=l),n++);return{A0_G0:t.join(""),A0_G1:a.join(""),A1_G0:r.join(""),A1_G1:o.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}},ra=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 Hs(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 r=this._items.map(o=>o.resolveAnchors(t,a));return new Hs(e,r,this._items.map(o=>o.ruleId))}},Hs=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 r=this.scanner.findNextMatchSync(e,t,a);return r?{ruleId:this.rules[r.index],captureIndices:r.captureIndices}:null}},to=class{constructor(e,t){this.languageId=e,this.tokenType=t}},qc=class so{_defaultAttributes;_embeddedLanguagesMatcher;constructor(t,a){this._defaultAttributes=new to(t,8),this._embeddedLanguagesMatcher=new Wc(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 to(0,0);_getBasicScopeAttributes=new Ks(t=>{let a=this._scopeToLanguage(t),r=this._toStandardTokenType(t);return new to(a,r)});_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/},Wc=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,r])=>Xs(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])}},hI={InDebugMode:typeof process<"u"&&!!process.env.VSCODE_TEXTMATE_DEBUG},ri=!1,qs=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function oi(e,t,a,r,o,n,s,i){let l=t.content.length,u=!1,c=-1;if(s){let p=Gc(e,t,a,r,o,n);o=p.stack,r=p.linePos,a=p.isFirstLine,c=p.anchorPosition}let d=Date.now();for(;!u;){if(i!==0&&Date.now()-d>i)return new qs(o,!0);f()}return new qs(o,!1);function f(){let p=Vc(e,t,a,r,o,c);if(!p){n.produce(o,l),u=!0;return}let m=p.captureIndices,I=p.matchedRuleId,L=m&&m.length>0?m[0].end>r:!1;if(I===Oc){let w=o.getRule(e);n.produce(o,m[0].start),o=o.withContentNameScopesList(o.nameScopesList),Yt(e,t,a,o,n,w.endCaptures,m),n.produce(o,m[0].end);let g=o;if(o=o.parent,c=g.getAnchorPos(),!L&&g.getEnterPos()===r){o=g,n.produce(o,l),u=!0;return}}else{let w=e.getRule(I);n.produce(o,m[0].start);let g=o,h=w.getName(t.content,m),x=o.contentNameScopesList.pushAttributed(h,e);if(o=o.push(I,r,c,m[0].end===l,null,x,x),w instanceof no){let S=w;Yt(e,t,a,o,n,S.beginCaptures,m),n.produce(o,m[0].end),c=m[0].end;let v=S.getContentName(t.content,m),A=x.pushAttributed(v,e);if(o=o.withContentNameScopesList(A),S.endHasBackReferences&&(o=o.withEndRule(S.getEndWithResolvedBackReferences(t.content,m))),!L&&g.hasSameRuleAs(o)){o=o.pop(),n.produce(o,l),u=!0;return}}else if(w instanceof qa){let S=w;Yt(e,t,a,o,n,S.beginCaptures,m),n.produce(o,m[0].end),c=m[0].end;let v=S.getContentName(t.content,m),A=x.pushAttributed(v,e);if(o=o.withContentNameScopesList(A),S.whileHasBackReferences&&(o=o.withEndRule(S.getWhileWithResolvedBackReferences(t.content,m))),!L&&g.hasSameRuleAs(o)){o=o.pop(),n.produce(o,l),u=!0;return}}else if(Yt(e,t,a,o,n,w.captures,m),n.produce(o,m[0].end),o=o.pop(),!L){o=o.safePop(),n.produce(o,l),u=!0;return}}m[0].end>r&&(r=m[0].end,a=!1)}}function Gc(e,t,a,r,o,n){let s=o.beginRuleCapturedEOL?0:-1,i=[];for(let l=o;l;l=l.pop()){let u=l.getRule(e);u instanceof qa&&i.push({rule:u,stack:l})}for(let l=i.pop();l;l=i.pop()){let{ruleScanner:u,findOptions:c}=$c(l.rule,e,l.stack.endRule,a,r===s),d=u.findNextMatchSync(t,r,c);if(d){if(d.ruleId!==ei){o=l.stack.pop();break}d.captureIndices&&d.captureIndices.length&&(n.produce(l.stack,d.captureIndices[0].start),Yt(e,t,a,l.stack,n,l.rule.whileCaptures,d.captureIndices),n.produce(l.stack,d.captureIndices[0].end),s=d.captureIndices[0].end,d.captureIndices[0].end>r&&(r=d.captureIndices[0].end,a=!1))}else{o=l.stack.pop();break}}return{stack:o,linePos:r,anchorPosition:s,isFirstLine:a}}function Vc(e,t,a,r,o,n){let s=zc(e,t,a,r,o,n),i=e.getInjections();if(i.length===0)return s;let l=jc(i,e,t,a,r,o,n);if(!l)return s;if(!s)return l;let u=s.captureIndices[0].start,c=l.captureIndices[0].start;return c<u||l.priorityMatch&&c===u?l:s}function zc(e,t,a,r,o,n){let s=o.getRule(e),{ruleScanner:i,findOptions:l}=ni(s,e,o.endRule,a,r===n),u=i.findNextMatchSync(t,r,l);return u?{captureIndices:u.captureIndices,matchedRuleId:u.ruleId}:null}function jc(e,t,a,r,o,n,s){let i=Number.MAX_VALUE,l=null,u,c=0,d=n.contentNameScopesList.getScopeNames();for(let f=0,p=e.length;f<p;f++){let m=e[f];if(!m.matcher(d))continue;let I=t.getRule(m.ruleId),{ruleScanner:L,findOptions:w}=ni(I,t,null,r,o===s),g=L.findNextMatchSync(a,o,w);if(!g)continue;let h=g.captureIndices[0].start;if(!(h>=i)&&(i=h,l=g.captureIndices,u=g.ruleId,c=m.priority,i===o))break}return l?{priorityMatch:c===-1,captureIndices:l,matchedRuleId:u}:null}function ni(e,t,a,r,o){if(ri){let s=e.compile(t,a),i=si(r,o);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileAG(t,a,r,o),findOptions:0}}function $c(e,t,a,r,o){if(ri){let s=e.compileWhile(t,a),i=si(r,o);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileWhileAG(t,a,r,o),findOptions:0}}function si(e,t){let a=0;return e||(a|=1),t||(a|=4),a}function Yt(e,t,a,r,o,n,s){if(n.length===0)return;let i=t.content,l=Math.min(n.length,s.length),u=[],c=s[0].end;for(let d=0;d<l;d++){let f=n[d];if(f===null)continue;let p=s[d];if(p.length===0)continue;if(p.start>c)break;for(;u.length>0&&u[u.length-1].endPos<=p.start;)o.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop();if(u.length>0?o.produceFromScopes(u[u.length-1].scopes,p.start):o.produce(r,p.start),f.retokenizeCapturedWithRuleId){let I=f.getName(i,s),L=r.contentNameScopesList.pushAttributed(I,e),w=f.getContentName(i,s),g=L.pushAttributed(w,e),h=r.push(f.retokenizeCapturedWithRuleId,p.start,-1,!1,null,L,g),x=e.createOnigString(i.substring(0,p.end));oi(e,x,a&&p.start===0,p.start,h,o,!1,0),Ys(x);continue}let m=f.getName(i,s);if(m!==null){let L=(u.length>0?u[u.length-1].scopes:r.contentNameScopesList).pushAttributed(m,e);u.push(new Xc(L,p.end))}}for(;u.length>0;)o.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop()}var Xc=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function Kc(e,t,a,r,o,n,s,i){return new Jc(e,t,a,r,o,n,s,i)}function Ws(e,t,a,r,o){let n=Ua(t,Wa),s=ti.getCompiledRuleId(a,r,o.repository);for(let i of n)e.push({debugSelector:t,matcher:i.matcher,ruleId:s,grammar:o,priority:i.priority})}function Wa(e,t){if(t.length<e.length)return!1;let a=0;return e.every(r=>{for(let o=a;o<t.length;o++)if(Qc(t[o],r))return a=o+1,!0;return!1})}function Qc(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 Jc=class{constructor(e,t,a,r,o,n,s,i){if(this._rootScopeName=e,this.balancedBracketSelectors=n,this._onigLib=i,this._basicScopeAttributesProvider=new qc(a,r),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=s,this._grammar=Gs(t,null),this._injections=null,this._tokenTypeMatchers=[],o)for(let l of Object.keys(o)){let u=Ua(l,Wa);for(let c of u)this._tokenTypeMatchers.push({matcher:c.matcher,type:o[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:o=>o===this._rootScopeName?this._grammar:this.getExternalGrammar(o),injections:o=>this._grammarRepository.injections(o)},t=[],a=this._rootScopeName,r=e.lookup(a);if(r){let o=r.injections;if(o)for(let s in o)Ws(t,s,o[s],this,r);let n=this._grammarRepository.injections(a);n&&n.forEach(s=>{let i=this.getExternalGrammar(s);if(i){let l=i.injectionSelector;l&&Ws(t,l,i,this,i)}})}return t.sort((o,n)=>o.priority-n.priority),t}getInjections(){return this._injections===null&&(this._injections=this._collectInjections()),this._injections}registerRule(e){let t=++this._lastRuleId,a=e(t);return this._ruleId2desc[t]=a,a}getRule(e){return this._ruleId2desc[e]}getExternalGrammar(e,t){if(this._includedGrammars[e])return this._includedGrammars[e];if(this._grammarRepository){let a=this._grammarRepository.lookup(e);if(a)return this._includedGrammars[e]=Gs(a,t&&t.$base),this._includedGrammars[e]}}tokenizeLine(e,t,a=0){let r=this._tokenize(e,t,!1,a);return{tokens:r.lineTokens.getResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}tokenizeLine2(e,t,a=0){let r=this._tokenize(e,t,!0,a);return{tokens:r.lineTokens.getBinaryResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}_tokenize(e,t,a,r){this._rootId===-1&&(this._rootId=ti.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let o;if(!t||t===io.NULL){o=!0;let u=this._basicScopeAttributesProvider.getDefaultAttributes(),c=this.themeProvider.getDefaults(),d=ct.set(0,u.languageId,u.tokenType,null,c.fontStyle,c.foregroundId,c.backgroundId),f=this.getRule(this._rootId).getName(null,null),p;f?p=Zt.createRootAndLookUpScopeName(f,d,this):p=Zt.createRoot("unknown",d),t=new io(null,this._rootId,-1,-1,!1,null,p,p)}else o=!1,t.reset();e=e+`
4
- `;let n=this.createOnigString(e),s=n.content.length,i=new Zc(a,e,this._tokenTypeMatchers,this.balancedBracketSelectors),l=oi(this,n,o,0,t,i,!0,r);return Ys(n),{lineLength:s,lineTokens:i,ruleStack:l.stack,stoppedEarly:l.stoppedEarly}}};function Gs(e,t){return e=gc(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 Zt=class qe{constructor(t,a,r){this.parent=t,this.scopePath=a,this.tokenAttributes=r}static fromExtension(t,a){let r=t,o=t?.scopePath??null;for(let n of a)o=eo.push(o,n.scopeNames),r=new qe(r,o,n.encodedTokenAttributes);return r}static createRoot(t,a){return new qe(null,new eo(null,t),a)}static createRootAndLookUpScopeName(t,a,r){let o=r.getMetadataForScope(t),n=new eo(null,t),s=r.themeProvider.themeMatch(n),i=qe.mergeAttributes(a,o,s);return new qe(null,n,i)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return qe.equals(this,t)}static equals(t,a){do{if(t===a||!t&&!a)return!0;if(!t||!a||t.scopeName!==a.scopeName||t.tokenAttributes!==a.tokenAttributes)return!1;t=t.parent,a=a.parent}while(!0)}static mergeAttributes(t,a,r){let o=-1,n=0,s=0;return r!==null&&(o=r.fontStyle,n=r.foregroundId,s=r.backgroundId),ct.set(t,a.languageId,a.tokenType,null,o,n,s)}pushAttributed(t,a){if(t===null)return this;if(t.indexOf(" ")===-1)return qe._pushAttributed(this,t,a);let r=t.split(/ /g),o=this;for(let n of r)o=qe._pushAttributed(o,n,a);return o}static _pushAttributed(t,a,r){let o=r.getMetadataForScope(a),n=t.scopePath.push(a),s=r.themeProvider.themeMatch(n),i=qe.mergeAttributes(t.tokenAttributes,o,s);return new qe(t,n,i)}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(t){let a=[],r=this;for(;r&&r!==t;)a.push({encodedTokenAttributes:r.tokenAttributes,scopeNames:r.scopePath.getExtensionIfDefined(r.parent?.scopePath??null)}),r=r.parent;return r===t?a.reverse():void 0}},io=class dt{constructor(t,a,r,o,n,s,i,l){this.parent=t,this.ruleId=a,this.beginRuleCapturedEOL=n,this.endRule=s,this.nameScopesList=i,this.contentNameScopesList=l,this.depth=this.parent?this.parent.depth+1:1,this._enterPos=r,this._anchorPos=o}_stackElementBrand=void 0;static NULL=new dt(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:dt._equals(this,t)}static _equals(t,a){return t===a?!0:this._structuralEquals(t,a)?Zt.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(){dt._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,a,r,o,n,s,i){return new dt(this,t,a,r,o,n,s,i)}getEnterPos(){return this._enterPos}getAnchorPos(){return this._anchorPos}getRule(t){return t.getRule(this.ruleId)}toString(){let t=[];return this._writeString(t,0),"["+t.join(",")+"]"}_writeString(t,a){return this.parent&&(a=this.parent._writeString(t,a)),t[a++]=`(${this.ruleId}, ${this.nameScopesList?.toString()}, ${this.contentNameScopesList?.toString()})`,a}withContentNameScopesList(t){return this.contentNameScopesList===t?this:this.parent.push(this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,this.endRule,this.nameScopesList,t)}withEndRule(t){return this.endRule===t?this:new dt(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 r=Zt.fromExtension(t?.nameScopesList??null,a.nameScopesList);return new dt(t,a.ruleId,a.enterPos??-1,a.anchorPos??-1,a.beginRuleCapturedEOL,a.endRule,r,Zt.fromExtension(r,a.contentNameScopesList))}},Yc=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(a=>a==="*"?(this.allowAny=!0,[]):Ua(a,Wa).map(r=>r.matcher)),this.unbalancedBracketScopes=t.flatMap(a=>Ua(a,Wa).map(r=>r.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}},Zc=class{constructor(e,t,a,r){this.balancedBracketSelectors=r,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 r=e?.tokenAttributes??0,o=!1;if(this.balancedBracketSelectors?.matchesAlways&&(o=!0),this._tokenTypeOverrides.length>0||this.balancedBracketSelectors&&!this.balancedBracketSelectors.matchesAlways&&!this.balancedBracketSelectors.matchesNever){let n=e?.getScopeNames()??[];for(let s of this._tokenTypeOverrides)s.matcher(n)&&(r=ct.set(r,0,s.type,null,-1,0,0));this.balancedBracketSelectors&&(o=this.balancedBracketSelectors.match(n))}if(o&&(r=ct.set(r,0,8,o,-1,0,0)),this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-1]===r){this._lastTokenEndIndex=t;return}this._binaryTokens.push(this._lastTokenEndIndex),this._binaryTokens.push(r),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 r=0,o=this._binaryTokens.length;r<o;r++)a[r]=this._binaryTokens[r];return a}},ef=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,r,o){if(!this._grammars.has(e)){let n=this._rawGrammars.get(e);if(!n)return null;this._grammars.set(e,Kc(e,n,t,a,r,o,this,this._onigLib))}return this._grammars.get(e)}},ii=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new ef(ea.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(ea.createFromRawTheme(e,t))}getColorMap(){return this._syncRegistry.getColorMap()}loadGrammarWithEmbeddedLanguages(e,t,a){return this.loadGrammarWithConfiguration(e,t,{embeddedLanguages:a})}loadGrammarWithConfiguration(e,t,a){return this._loadGrammar(e,t,a.embeddedLanguages,a.tokenTypes,new Yc(a.balancedBracketSelectors||[],a.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,a,r,o){let n=new Rc(this._syncRegistry,e);for(;n.Q.length>0;)n.Q.map(s=>this._loadSingleGrammar(s.scopeName)),n.processQueue();return this._grammarForScopeName(e,t,a,r,o)}_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,r=null){return this._syncRegistry.addGrammar(e,t),this._grammarForScopeName(e.scopeName,a,r)}_grammarForScopeName(e,t=0,a=null,r=null,o=null){return this._syncRegistry.grammarForScopeName(e,t,a,r,o)}},Ga=io.NULL;var tf=/["&'<>`]/g,af=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,rf=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,of=/[|\\{}()[\]^$+*?.]/g,li=new WeakMap;function ui(e,t){if(e=e.replace(t.subset?nf(t.subset):tf,r),t.subset||t.escapeOnly)return e;return e.replace(af,a).replace(rf,r);function a(o,n,s){return t.format((o.charCodeAt(0)-55296)*1024+o.charCodeAt(1)-56320+65536,s.charCodeAt(n+2),t)}function r(o,n,s){return t.format(o.charCodeAt(0),s.charCodeAt(n+1),t)}}function nf(e){let t=li.get(e);return t||(t=sf(e),li.set(e,t)),t}function sf(e){let t=[],a=-1;for(;++a<e.length;)t.push(e[a].replace(of,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}var lf=/[\dA-Fa-f]/;function di(e,t,a){let r="&#x"+e.toString(16).toUpperCase();return a&&t&&!lf.test(String.fromCharCode(t))?r:r+";"}var uf=/\d/;function ci(e,t,a){let r="&#"+String(e);return a&&t&&!uf.test(String.fromCharCode(t))?r:r+";"}var fi=["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 Va={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 pi=["cent","copy","divide","gt","lt","not","para","times"];var mi={}.hasOwnProperty,uo={},za;for(za in Va)mi.call(Va,za)&&(uo[Va[za]]=za);var df=/[^\dA-Za-z]/;function hi(e,t,a,r){let o=String.fromCharCode(e);if(mi.call(uo,o)){let n=uo[o],s="&"+n;return a&&fi.includes(n)&&!pi.includes(n)&&(!r||t&&t!==61&&df.test(String.fromCharCode(t)))?s:s+";"}return""}function gi(e,t,a){let r=di(e,t,a.omitOptionalSemicolons),o;if((a.useNamedReferences||a.useShortestReferences)&&(o=hi(e,t,a.omitOptionalSemicolons,a.attribute)),(a.useShortestReferences||!o)&&a.useShortestReferences){let n=ci(e,t,a.omitOptionalSemicolons);n.length<r.length&&(r=n)}return o&&(!a.useShortestReferences||o.length<r.length)?o:r}function ze(e,t){return ui(e,Object.assign({format:gi},t))}var cf=/^>|^->|<!--|-->|--!>|<!-$/g,ff=[">"],pf=["<",">"];function wi(e,t,a,r){return r.settings.bogusComments?"<?"+ze(e.value,Object.assign({},r.settings.characterReferences,{subset:ff}))+">":"<!--"+e.value.replace(cf,o)+"-->";function o(n){return ze(n,Object.assign({},r.settings.characterReferences,{subset:pf}))}}function xi(e,t,a,r){return"<!"+(r.settings.upperDoctype?"DOCTYPE":"doctype")+(r.settings.tightDoctype?"":" ")+"html>"}var ie=Li(1),co=Li(-1),mf=[];function Li(e){return t;function t(a,r,o){let n=a?a.children:mf,s=(r||0)+e,i=n[s];if(!o)for(;i&&It(i);)s+=e,i=n[s];return i}}var hf={}.hasOwnProperty;function ja(e){return t;function t(a,r,o){return hf.call(e,a.tagName)&&e[a.tagName](a,r,o)}}var na=ja({body:wf,caption:fo,colgroup:fo,dd:Cf,dt:If,head:fo,html:gf,li:Lf,optgroup:Sf,option:yf,p:xf,rp:Ii,rt:Ii,tbody:kf,td:Ci,tfoot:Tf,th:Ci,thead:bf,tr:vf});function fo(e,t,a){let r=ie(a,t,!0);return!r||r.type!=="comment"&&!(r.type==="text"&&It(r.value.charAt(0)))}function gf(e,t,a){let r=ie(a,t);return!r||r.type!=="comment"}function wf(e,t,a){let r=ie(a,t);return!r||r.type!=="comment"}function xf(e,t,a){let r=ie(a,t);return r?r.type==="element"&&(r.tagName==="address"||r.tagName==="article"||r.tagName==="aside"||r.tagName==="blockquote"||r.tagName==="details"||r.tagName==="div"||r.tagName==="dl"||r.tagName==="fieldset"||r.tagName==="figcaption"||r.tagName==="figure"||r.tagName==="footer"||r.tagName==="form"||r.tagName==="h1"||r.tagName==="h2"||r.tagName==="h3"||r.tagName==="h4"||r.tagName==="h5"||r.tagName==="h6"||r.tagName==="header"||r.tagName==="hgroup"||r.tagName==="hr"||r.tagName==="main"||r.tagName==="menu"||r.tagName==="nav"||r.tagName==="ol"||r.tagName==="p"||r.tagName==="pre"||r.tagName==="section"||r.tagName==="table"||r.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 Lf(e,t,a){let r=ie(a,t);return!r||r.type==="element"&&r.tagName==="li"}function If(e,t,a){let r=ie(a,t);return!!(r&&r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd"))}function Cf(e,t,a){let r=ie(a,t);return!r||r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd")}function Ii(e,t,a){let r=ie(a,t);return!r||r.type==="element"&&(r.tagName==="rp"||r.tagName==="rt")}function Sf(e,t,a){let r=ie(a,t);return!r||r.type==="element"&&r.tagName==="optgroup"}function yf(e,t,a){let r=ie(a,t);return!r||r.type==="element"&&(r.tagName==="option"||r.tagName==="optgroup")}function bf(e,t,a){let r=ie(a,t);return!!(r&&r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot"))}function kf(e,t,a){let r=ie(a,t);return!r||r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot")}function Tf(e,t,a){return!ie(a,t)}function vf(e,t,a){let r=ie(a,t);return!r||r.type==="element"&&r.tagName==="tr"}function Ci(e,t,a){let r=ie(a,t);return!r||r.type==="element"&&(r.tagName==="td"||r.tagName==="th")}var Si=ja({body:Rf,colgroup:Mf,head:Af,html:Pf,tbody:Ff});function Pf(e){let t=ie(e,-1);return!t||t.type!=="comment"}function Af(e){let t=new Set;for(let r of e.children)if(r.type==="element"&&(r.tagName==="base"||r.tagName==="title")){if(t.has(r.tagName))return!1;t.add(r.tagName)}let a=e.children[0];return!a||a.type==="element"}function Rf(e){let t=ie(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&It(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function Mf(e,t,a){let r=co(a,t),o=ie(e,-1,!0);return a&&r&&r.type==="element"&&r.tagName==="colgroup"&&na(r,a.children.indexOf(r),a)?!1:!!(o&&o.type==="element"&&o.tagName==="col")}function Ff(e,t,a){let r=co(a,t),o=ie(e,-1);return a&&r&&r.type==="element"&&(r.tagName==="thead"||r.tagName==="tbody")&&na(r,a.children.indexOf(r),a)?!1:!!(o&&o.type==="element"&&o.tagName==="tr")}var $a={name:[[`
2
+ import{a as kn,b as Tn,c as vn,d as Pn,e as An,f as Ca,g as Rn,h as Mn,i as Fn,j as Bn,k as _r,l as En,m as Ct,n as St,o as Sa,p as yt,u as Dt}from"../chunk-F4UUXA3U.js";import"../chunk-V3ZDECK5.js";import{forwardRef as _h,useCallback as on,useEffect as Oh,useImperativeHandle as Nh,useRef as Ql,useState as Jl}from"react";import{forwardRef as Nu,createElement as Uu}from"react";var ya=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();var Dn=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var _n=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,r)=>r?r.toUpperCase():a.toLowerCase());var Or=e=>{let t=_n(e);return t.charAt(0).toUpperCase()+t.slice(1)};import{forwardRef as Ou,createElement as Un}from"react";var On={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 Nn=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var Hn=Ou(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:n,iconNode:s,...i},l)=>Un("svg",{ref:l,...On,width:t,height:t,stroke:e,strokeWidth:r?Number(a)*24/Number(t):a,className:ya("lucide",o),...!n&&!Nn(i)&&{"aria-hidden":"true"},...i},[...s.map(([u,c])=>Un(u,c)),...Array.isArray(n)?n:[n]]));var $=(e,t)=>{let a=Nu(({className:r,...o},n)=>Uu(Hn,{ref:n,iconNode:t,className:ya(`lucide-${Dn(Or(e))}`,`lucide-${e}`,r),...o}));return a.displayName=Or(e),a};var Hu=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],lt=$("arrow-down",Hu);var qu=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],_t=$("arrow-up",qu);var Wu=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Ot=$("check",Wu);var Gu=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Je=$("chevron-down",Gu);var Vu=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],Nt=$("chevron-right",Vu);var zu=[["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"}]],Ut=$("clipboard-copy",zu);var ju=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],je=$("clock",ju);var $u=[["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"}]],Ht=$("file",$u);var Xu=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],qt=$("globe",Xu);var Ku=[["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"}]],Wt=$("loader",Ku);var Qu=[["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"}]],Gt=$("paperclip",Qu);var Ju=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],Vt=$("square",Ju);var Yu=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]],ut=$("wrench",Yu);var Zu=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],dt=$("x",Zu);var ed=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],zt=$("zap",ed);import{useCallback as wd}from"react";import{useCallback as Ye,useMemo as td,useRef as ad,useState as Nr}from"react";var rd={damping:.7,stiffness:.05,mass:1.25},od=70,nd=1e3/60,sd=350,ba=!1;globalThis.document?.addEventListener("mousedown",()=>{ba=!0});globalThis.document?.addEventListener("mouseup",()=>{ba=!1});globalThis.document?.addEventListener("click",()=>{ba=!1});var Wn=(e={})=>{let[t,a]=Nr(!1),[r,o]=Nr(e.initial!==!1),[n,s]=Nr(!1),i=ad(null);i.current=e;let l=Ye(()=>{if(!ba)return!1;let g=window.getSelection();if(!g||!g.rangeCount)return!1;let h=g.getRangeAt(0);return h.commonAncestorContainer.contains(I.current)||I.current?.contains(h.commonAncestorContainer)},[]),u=Ye(g=>{d.isAtBottom=g,o(g)},[]),c=Ye(g=>{d.escapedFromLock=g,a(g)},[]),d=td(()=>{let g;return{escapedFromLock:t,isAtBottom:r,resizeDifference:0,accumulated:0,velocity:0,listeners:new Set,get scrollTop(){return I.current?.scrollTop??0},set scrollTop(h){I.current&&(I.current.scrollTop=h,d.ignoreScrollToTop=I.current.scrollTop)},get targetScrollTop(){return!I.current||!x.current?0:I.current.scrollHeight-1-I.current.clientHeight},get calculatedTargetScrollTop(){if(!I.current||!x.current)return 0;let{targetScrollTop:h}=this;if(!e.targetScrollTop)return h;if(g?.targetScrollTop===h)return g.calculatedScrollTop;let w=Math.max(Math.min(e.targetScrollTop(h,{scrollElement:I.current,contentElement:x.current}),h),0);return g={targetScrollTop:h,calculatedScrollTop:w},requestAnimationFrame(()=>{g=void 0}),w},get scrollDifference(){return this.calculatedTargetScrollTop-this.scrollTop},get isNearBottom(){return this.scrollDifference<=od}}},[]),f=Ye((g={})=>{typeof g=="string"&&(g={animation:g}),g.preserveScrollPosition||u(!0);let h=Date.now()+(Number(g.wait)||0),w=Hr(i.current,g.animation),{ignoreEscapes:S=!1}=g,v,A=d.calculatedTargetScrollTop;g.duration instanceof Promise?g.duration.finally(()=>{v=Date.now()}):v=h+(g.duration??0);let P=async()=>{let E=new Promise(requestAnimationFrame).then(()=>{if(!d.isAtBottom)return d.animation=void 0,!1;let{scrollTop:k}=d,B=performance.now(),y=(B-(d.lastTick??B))/nd;if(d.animation||(d.animation={behavior:w,promise:E,ignoreEscapes:S}),d.animation.behavior===w&&(d.lastTick=B),l()||h>Date.now())return P();if(k<Math.min(A,d.calculatedTargetScrollTop)){if(d.animation?.behavior===w){if(w==="instant")return d.scrollTop=d.calculatedTargetScrollTop,P();d.velocity=(w.damping*d.velocity+w.stiffness*d.scrollDifference)/w.mass,d.accumulated+=d.velocity*y,d.scrollTop+=d.accumulated,d.scrollTop!==k&&(d.accumulated=0)}return P()}return v>Date.now()?(A=d.calculatedTargetScrollTop,P()):(d.animation=void 0,d.scrollTop<d.calculatedTargetScrollTop?f({animation:Hr(i.current,i.current.resize),ignoreEscapes:S,duration:Math.max(0,v-Date.now())||void 0}):d.isAtBottom)});return E.then(k=>(requestAnimationFrame(()=>{d.animation||(d.lastTick=void 0,d.velocity=0)}),k))};return g.wait!==!0&&(d.animation=void 0),d.animation?.behavior===w?d.animation.promise:P()},[u,l,d]),p=Ye(()=>{c(!0),u(!1)},[c,u]),m=Ye(({target:g})=>{if(g!==I.current)return;let{scrollTop:h,ignoreScrollToTop:w}=d,{lastScrollTop:S=h}=d;d.lastScrollTop=h,d.ignoreScrollToTop=void 0,w&&w>h&&(S=w),s(d.isNearBottom),setTimeout(()=>{if(d.resizeDifference||h===w)return;if(l()){c(!0),u(!1);return}let v=h>S,A=h<S;if(d.animation?.ignoreEscapes){d.scrollTop=S;return}A&&(c(!0),u(!1)),v&&c(!1),!d.escapedFromLock&&d.isNearBottom&&u(!0)},1)},[c,u,l,d]),L=Ye(({target:g,deltaY:h})=>{let w=g;for(;!["scroll","auto"].includes(getComputedStyle(w).overflow);){if(!w.parentElement)return;w=w.parentElement}w===I.current&&h<0&&I.current.scrollHeight>I.current.clientHeight&&!d.animation?.ignoreEscapes&&(c(!0),u(!1))},[c,u,d]),I=qn(g=>{I.current?.removeEventListener("scroll",m),I.current?.removeEventListener("wheel",L),g?.addEventListener("scroll",m,{passive:!0}),g?.addEventListener("wheel",L,{passive:!0})},[]),x=qn(g=>{if(d.resizeObserver?.disconnect(),!g)return;let h;d.resizeObserver=new ResizeObserver(([w])=>{let{height:S}=w.contentRect,v=S-(h??S);if(d.resizeDifference=v,d.scrollTop>d.targetScrollTop&&(d.scrollTop=d.targetScrollTop),s(d.isNearBottom),v>=0){let A=Hr(i.current,h?i.current.resize:i.current.initial);f({animation:A,wait:!0,preserveScrollPosition:!0,duration:A==="instant"?void 0:sd})}else d.isNearBottom&&(c(!1),u(!0));h=S,requestAnimationFrame(()=>{setTimeout(()=>{d.resizeDifference===v&&(d.resizeDifference=0)},1)})}),d.resizeObserver?.observe(g)},[]);return{contentRef:x,scrollRef:I,scrollToBottom:f,stopScroll:p,isAtBottom:r||n,isNearBottom:n,escapedFromLock:t,state:d}};function qn(e,t){let a=Ye(r=>(a.current=r,e(r)),t);return a}var Ur=new Map;function Hr(...e){let t={...rd},a=!1;for(let o of e){if(o==="instant"){a=!0;continue}typeof o=="object"&&(a=!1,t.damping=o.damping??t.damping,t.stiffness=o.stiffness??t.stiffness,t.mass=o.mass??t.mass)}let r=JSON.stringify(t);return Ur.has(r)||Ur.set(r,Object.freeze(t)),a?"instant":Ur.get(r)}import*as ct from"react";import{createContext as id,useContext as ld,useEffect as ud,useImperativeHandle as dd,useLayoutEffect as cd,useMemo as fd,useRef as pd}from"react";var Gn=id(null),md=typeof window<"u"?cd:ud;function jt({instance:e,children:t,resize:a,initial:r,mass:o,damping:n,stiffness:s,targetScrollTop:i,contextRef:l,...u}){let c=pd(null),d=ct.useCallback((S,v)=>(w?.targetScrollTop??i)?.(S,v)??S,[i]),f=Wn({mass:o,damping:n,stiffness:s,resize:a,initial:r,targetScrollTop:d}),{scrollRef:p,contentRef:m,scrollToBottom:L,stopScroll:I,isAtBottom:x,escapedFromLock:g,state:h}=e??f,w=fd(()=>({scrollToBottom:L,stopScroll:I,scrollRef:p,isAtBottom:x,escapedFromLock:g,contentRef:m,state:h,get targetScrollTop(){return c.current},set targetScrollTop(S){c.current=S}}),[L,x,m,p,I,g,h]);return dd(l,()=>w,[w]),md(()=>{p.current&&getComputedStyle(p.current).overflow==="visible"&&(p.current.style.overflow="auto")},[]),ct.createElement(Gn.Provider,{value:w},ct.createElement("div",{...u},typeof t=="function"?t(w):t))}(function(e){function t({children:a,scrollClassName:r,...o}){let n=qr();return ct.createElement("div",{ref:n.scrollRef,style:{height:"100%",width:"100%",scrollbarGutter:"stable both-edges"},className:r},ct.createElement("div",{...o,ref:n.contentRef},typeof a=="function"?a(n):a))}e.Content=t})(jt||(jt={}));function qr(){let e=ld(Gn);if(!e)throw new Error("use-stick-to-bottom component context must be used within a StickToBottom component");return e}var hd=Tn({prefix:"ww"});function T(...e){return hd(kn(e))}import{jsx as gd}from"react/jsx-runtime";var De=({className:e,variant:t="default",size:a="default",type:r="button",...o})=>gd("button",{type:r,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),...o});import{jsx as ka}from"react/jsx-runtime";var Vn=({className:e,...t})=>ka(jt,{className:T("ww:relative ww:flex-1 ww:overflow-y-hidden",e),initial:"smooth",resize:"smooth",role:"log",...t}),zn=({className:e,...t})=>ka(jt.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}),jn=({className:e,...t})=>{let{isAtBottom:a,scrollToBottom:r}=qr(),o=wd(()=>{r()},[r]);return!a&&ka(De,{className:T("ww:absolute ww:bottom-4 ww:left-[50%] ww:translate-x-[-50%] ww:rounded-full",e),onClick:o,size:"icon",variant:"outline",...t,children:ka(lt,{className:"ww:size-4"})})};import Xn from"crypto";var $n="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var xd=128,ft,bt,Id=e=>{!ft||ft.length<e?(ft=Buffer.allocUnsafe(e*xd),Xn.randomFillSync(ft),bt=0):bt+e>ft.length&&(Xn.randomFillSync(ft),bt=0),bt+=e};var $t=(e=21)=>{Id(e|=0);let t="";for(let a=bt-e;a<bt;a++)t+=$n[ft[a]&63];return t};import{createContext as vd,useCallback as $e,useContext as Pd,useEffect as jr,useMemo as Ad,useRef as $r,useState as es}from"react";import{createContext as Ld,useContext as Cd,useEffect as Sd,useMemo as yd,useState as Yn}from"react";var Kn=["en","fr","es"];function kt(e){return Kn.includes(e)}function Wr(e){if(e&&kt(e))return e;if(e){let a=e.split("-")[0]?.toLowerCase();if(a&&kt(a))return a}let t=[];if(typeof navigator<"u"&&(navigator.language&&t.push(navigator.language),navigator.languages&&t.push(...navigator.languages)),typeof document<"u"){let a=document.documentElement.getAttribute("lang");a&&t.push(a)}for(let a of t){let r=a.toLowerCase();if(kt(r))return r;let o=r.split("-")[0];if(o&&kt(o))return o}return"en"}var Ta={promptInput:{placeholder:"What would you like to know?",uploadFiles:"Upload files",stop:"Stop",submit:"Submit",removeAttachments:"Remove all attachments"},workingIndicator:{default:"On it\u2026"},reasoning:{thinking:"Thinking\u2026",thoughtBrief:"Thought for a few seconds",thoughtForSeconds:e=>`Thought for ${e} second${e===1?"":"s"}`},chainOfThought:{working:"Working on it\u2026",done:"Thought process"},tool:{copy:"Copy",copied:"Copied",request:"Request",response:"Response",error:"Error"},attachments:{attachmentFallback:"attachment",fileFallback:"file"},threadMenu:{newChat:"New chat",threadHistory:"Thread history",deleteThread:"Delete thread",noPreviousChats:"No previous chats yet.",hiddenThreads:e=>`${e} older thread${e===1?"":"s"} hidden`},chatQueue:{attachmentFallback:"(attachment)",removeFromQueue:"Remove from queue",queued:e=>`${e} queued`},poweredBy:{label:"AI agent powered by"},aiDisclaimer:{default:"can make mistakes"},exportSession:{saving:"saving...",saved:"saved",error:"error",export:"export",tooltip:"Save scenario to Waniwani"},widgetErrorBoundary:{failedToLoad:"Widget failed to load",retry:"Retry"},launcher:{prompt:"Ask anything\u2026",open:"Open chat",close:"Close chat",minimize:"Minimize"}};var Qn={promptInput:{placeholder:"\xBFQu\xE9 te gustar\xEDa saber?",uploadFiles:"Subir archivos",stop:"Detener",submit:"Enviar",removeAttachments:"Eliminar todos los archivos adjuntos"},workingIndicator:{default:"Un momento\u2026"},reasoning:{thinking:"Pensando\u2026",thoughtBrief:"Pensado durante unos segundos",thoughtForSeconds:e=>`Pensado durante ${e} segundo${e===1?"":"s"}`},chainOfThought:{working:"Estoy en ello\u2026",done:"Razonamiento"},tool:{copy:"Copiar",copied:"Copiado",request:"Solicitud",response:"Respuesta",error:"Error"},attachments:{attachmentFallback:"adjunto",fileFallback:"archivo"},threadMenu:{newChat:"Nueva conversaci\xF3n",threadHistory:"Historial",deleteThread:"Eliminar conversaci\xF3n",noPreviousChats:"A\xFAn no hay conversaciones anteriores.",hiddenThreads:e=>`${e} conversaci\xF3n${e===1?"":"es"} anterior${e===1?"":"es"} oculta${e===1?"":"s"}`},chatQueue:{attachmentFallback:"(adjunto)",removeFromQueue:"Quitar de la cola",queued:e=>`${e} en cola`},poweredBy:{label:"Agente IA con tecnolog\xEDa de"},aiDisclaimer:{default:"puede cometer errores"},exportSession:{saving:"guardando...",saved:"guardado",error:"error",export:"exportar",tooltip:"Guardar escenario en Waniwani"},widgetErrorBoundary:{failedToLoad:"No se pudo cargar el widget",retry:"Reintentar"},launcher:{prompt:"Pregunta lo que quieras\u2026",open:"Abrir chat",close:"Cerrar chat",minimize:"Minimizar"}};var Jn={promptInput:{placeholder:"Que souhaitez-vous savoir ?",uploadFiles:"Importer des fichiers",stop:"Arr\xEAter",submit:"Envoyer",removeAttachments:"Supprimer toutes les pi\xE8ces jointes"},workingIndicator:{default:"Un instant\u2026"},reasoning:{thinking:"R\xE9flexion\u2026",thoughtBrief:"R\xE9flexion pendant quelques secondes",thoughtForSeconds:e=>`R\xE9flexion pendant ${e} seconde${e===1?"":"s"}`},chainOfThought:{working:"Je m'en occupe\u2026",done:"Raisonnement"},tool:{copy:"Copier",copied:"Copi\xE9",request:"Requ\xEAte",response:"R\xE9ponse",error:"Erreur"},attachments:{attachmentFallback:"pi\xE8ce jointe",fileFallback:"fichier"},threadMenu:{newChat:"Nouvelle conversation",threadHistory:"Historique",deleteThread:"Supprimer la conversation",noPreviousChats:"Aucune conversation pr\xE9c\xE9dente.",hiddenThreads:e=>`${e} conversation${e===1?"":"s"} plus ancienne${e===1?"":"s"} masqu\xE9e${e===1?"":"s"}`},chatQueue:{attachmentFallback:"(pi\xE8ce jointe)",removeFromQueue:"Retirer de la file",queued:e=>`${e} en attente`},poweredBy:{label:"Agent IA propuls\xE9 par"},aiDisclaimer:{default:"peut faire des erreurs"},exportSession:{saving:"enregistrement...",saved:"enregistr\xE9",error:"erreur",export:"exporter",tooltip:"Enregistrer le sc\xE9nario dans Waniwani"},widgetErrorBoundary:{failedToLoad:"\xC9chec du chargement du widget",retry:"R\xE9essayer"},launcher:{prompt:"Posez votre question\u2026",open:"Ouvrir le chat",close:"Fermer le chat",minimize:"R\xE9duire"}};var Gr={en:Ta,fr:Jn,es:Qn};import{jsx as Td}from"react/jsx-runtime";var Zn=Ld(null);function bd(e,t){if(!t)return e;let a={...e};for(let r of Object.keys(e)){let o=e[r],n=t[r];n&&typeof o=="object"&&(a[r]={...o,...n})}return a}function Vr({children:e,locale:t,messages:a}){let r=!!(t&&kd(t)),o=r?t:"en",[n,s]=Yn(o),[i,l]=Yn(r);Sd(()=>{s(Wr(t)),l(!0)},[t]);let u=yd(()=>{let c=Gr[n]??Gr["en"];return{locale:n,t:bd(c,a),ready:i}},[n,a,i]);return Td(Zn.Provider,{value:u,children:e})}function kd(e){return e==="en"||e==="fr"||e==="es"}function G(){let e=Cd(Zn);return e||{locale:"en",t:Ta,ready:!0}}function zr(e,t){let a=Date.now()-e;if(a<6e4)try{return new Intl.RelativeTimeFormat(t,{numeric:"auto",style:"narrow"}).format(0,"second")}catch{return"just now"}let r,o;a<60*6e4?(r=-Math.floor(a/6e4),o="minute"):a<1440*6e4?(r=-Math.floor(a/(60*6e4)),o="hour"):(r=-Math.floor(a/(1440*6e4)),o="day");try{return new Intl.RelativeTimeFormat(t,{numeric:"auto",style:"short"}).format(r,o)}catch{return`${Math.abs(r)}${o==="minute"?"m":o==="hour"?"h":"d"} ago`}}import{jsx as Oe,jsxs as rs}from"react/jsx-runtime";var Rd=async e=>{try{let a=await(await fetch(e)).blob();return new Promise(r=>{let o=new FileReader;o.onloadend=()=>r(o.result),o.onerror=()=>r(null),o.readAsDataURL(a)})}catch{return null}},ts=vd(null),as=()=>{let e=Pd(ts);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},va=({className:e,accept:t,multiple:a,globalDrop:r,maxFiles:o,maxFileSize:n,onSubmit:s,children:i,...l})=>{let{t:u}=G(),c=$r(null),d=$r(null),[f,p]=es([]),m=$r(f);jr(()=>{m.current=f},[f]);let L=$e(()=>{c.current?.click()},[]),I=$e(v=>{let A=[...v];if(A.length===0)return;let P=k=>n?k.size<=n:!0,E=A.filter(P);p(k=>{let B=typeof o=="number"?Math.max(0,o-k.length):void 0,y=typeof B=="number"?E.slice(0,B):E;return[...k,...y.map(X=>({filename:X.name,id:$t(),mediaType:X.type,type:"file",url:URL.createObjectURL(X)}))]})},[o,n]),x=$e(v=>{p(A=>{let P=A.find(E=>E.id===v);return P?.url&&URL.revokeObjectURL(P.url),A.filter(E=>E.id!==v)})},[]),g=$e(()=>{p(v=>{for(let A of v)A.url&&URL.revokeObjectURL(A.url);return[]})},[]);jr(()=>()=>{for(let v of m.current)v.url&&URL.revokeObjectURL(v.url)},[]);let h=$e(v=>{v.currentTarget.files&&I(v.currentTarget.files),v.currentTarget.value=""},[I]);jr(()=>{if(!r)return;let v=P=>{P.dataTransfer?.types?.includes("Files")&&P.preventDefault()},A=P=>{P.dataTransfer?.types?.includes("Files")&&P.preventDefault(),P.dataTransfer?.files&&P.dataTransfer.files.length>0&&I(P.dataTransfer.files)};return document.addEventListener("dragover",v),document.addEventListener("drop",A),()=>{document.removeEventListener("dragover",v),document.removeEventListener("drop",A)}},[I,r]);let w=$e(async v=>{v.preventDefault();let A=v.currentTarget,E=new FormData(A).get("message")||"";A.reset();let k=await Promise.all(f.map(async({id:B,...y})=>{if(y.url?.startsWith("blob:")){let X=await Rd(y.url);return{...y,url:X??y.url}}return y}));try{let B=s({files:k,text:E},v);B instanceof Promise&&await B,g()}catch{}},[f,s,g]),S=Ad(()=>({add:I,clear:g,files:f,openFileDialog:L,remove:x}),[f,I,x,g,L]);return rs(ts.Provider,{value:S,children:[Oe("input",{accept:t,"aria-label":u.promptInput.uploadFiles,className:"ww:hidden",multiple:a,onChange:h,ref:c,title:u.promptInput.uploadFiles,type:"file"}),Oe("form",{className:T("ww:flex ww:w-full ww:flex-col ww:rounded-lg ww:border ww:border-border ww:bg-background",e),onSubmit:w,ref:d,...l,children:i})]})};var Pa=({onChange:e,onKeyDown:t,className:a,placeholder:r,...o})=>{let{t:n}=G(),s=as(),[i,l]=es(!1),u=r??n.promptInput.placeholder,c=$e(f=>{if(t?.(f),!f.defaultPrevented){if(f.key==="Enter"){if(i||f.nativeEvent.isComposing||f.shiftKey)return;f.preventDefault();let{form:p}=f.currentTarget;if(p?.querySelector('button[type="submit"]')?.disabled)return;p?.requestSubmit()}if(f.key==="Backspace"&&f.currentTarget.value===""&&s.files.length>0){f.preventDefault();let p=s.files.at(-1);p&&s.remove(p.id)}}},[t,i,s]),d=$e(f=>{let p=f.clipboardData?.items;if(!p)return;let m=[];for(let L of p)if(L.kind==="file"){let I=L.getAsFile();I&&m.push(I)}m.length>0&&(f.preventDefault(),s.add(m))},[s]);return Oe("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-base ww:sm:text-sm ww:outline-none ww:placeholder:text-muted-foreground",a),name:"message",onCompositionEnd:()=>l(!1),onCompositionStart:()=>l(!0),onKeyDown:c,onPaste:d,placeholder:u,onChange:e,...o})},Aa=({className:e,status:t,onStop:a,onClick:r,children:o,...n})=>{let{t:s}=G(),i=t==="submitted"||t==="streaming",l=Oe(_t,{className:"ww:size-4"});t==="submitted"?l=Oe(Wt,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(l=Oe(Vt,{className:"ww:size-4"}));let u=$e(c=>{if(i&&a){c.preventDefault(),a();return}r?.(c)},[i,a,r]);return Oe(De,{"aria-label":i?s.promptInput.stop:s.promptInput.submit,className:T("ww:bg-foreground ww:text-background ww:hover:bg-foreground ww:rounded-full",e),onClick:u,size:"icon-sm",type:i&&a?"button":"submit",variant:"ghost",...n,children:o??l})},Ra=({className:e,children:t,...a})=>{let{t:r}=G(),o=as();return o.files.length>0?rs(De,{className:T("ww:group ww:relative",e),onClick:()=>o.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":r.promptInput.removeAttachments,...a,children:[Oe("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}),Oe(dt,{className:"ww:absolute ww:size-4 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100"})]}):Oe(De,{className:T(e),onClick:()=>o.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??Oe(Gt,{className:"ww:size-4"})})};import{memo as Md,useCallback as Fd}from"react";import{jsx as vt}from"react/jsx-runtime";var os=({className:e,...t})=>vt("div",{className:T("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),ns=({className:e,...t})=>vt("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}),ss=({className:e,...t})=>vt("span",{className:T("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),is=({className:e,...t})=>vt("span",{className:T("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),ls=({className:e,...t})=>vt("div",{className:T("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),us=({className:e,...t})=>vt(De,{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 Ze,jsxs as cs}from"react/jsx-runtime";var ds=Md(({message:e,onRemove:t})=>{let{t:a}=G(),r=Fd(()=>t(e.id),[t,e.id]);return cs(ns,{children:[Ze(ss,{}),Ze(is,{children:e.text||a.chatQueue.attachmentFallback}),Ze(ls,{children:Ze(us,{"aria-label":a.chatQueue.removeFromQueue,onClick:r,children:Ze(dt,{className:"ww:size-3"})})})]})});ds.displayName="ChatQueueItem";function Ma({queuedMessages:e,onRemove:t,className:a}){let{t:r}=G();return e.length===0?null:cs(os,{className:T("ww:border-t ww:border-border",a),children:[Ze("div",{className:"ww:text-[11px] ww:font-medium ww:text-muted-foreground ww:px-2",children:r.chatQueue.queued(e.length)}),Ze("ul",{children:e.map(o=>Ze(ds,{message:o,onRemove:t},o.id))})]})}import{useState as fs}from"react";import{jsx as Bd}from"react/jsx-runtime";function ps({messages:e,evalEnabled:t,api:a="/api/waniwani"}){let{t:r}=G(),[o,n]=fs(!1),[s,i]=fs(null),l=async()=>{let c={name:`session-${new Date().toISOString().slice(0,19)}`,type:"functional",messages:e,mode:"manual"};n(!0),i(null);try{let d=await fetch(`${a}/scenarios`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)});if(!d.ok)throw new Error(`${d.status}`);i("saved")}catch{i("error")}finally{n(!1),setTimeout(()=>i(null),2e3)}};if(!t||e.length===0)return null;let u=o?r.exportSession.saving:s==="saved"?r.exportSession.saved:s==="error"?r.exportSession.error:r.exportSession.export;return Bd("button",{type:"button",onClick:l,disabled:o,title:r.exportSession.tooltip,className:"ww:ml-auto ww:text-[10px] ww:font-mono ww:uppercase ww:tracking-wider ww:text-muted-foreground hover:ww:text-foreground ww:cursor-pointer ww:transition-colors ww:disabled:opacity-40",children:u})}import{jsx as Xt,jsxs as Dd}from"react/jsx-runtime";var ms=({files:e,className:t,...a})=>e.length===0?null:Xt("div",{className:T("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((r,o)=>Xt(Ed,{file:r},o))});function Ed({file:e}){let{t}=G();return e.mediaType?.startsWith("image/")&&e.url?Xt("img",{src:e.url,alt:e.filename??t.attachments.attachmentFallback,className:"ww:h-16 ww:max-w-32 ww:rounded ww:object-cover"}):Dd("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:[Xt(Ht,{className:"ww:size-3 ww:shrink-0"}),Xt("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??t.attachments.fileFallback})]})}import{createContext as $d,useCallback as Xd,useContext as Kd,useEffect as Qd,useMemo as Jd,useState as Jr}from"react";import{createContext as Ud,memo as Qr,useCallback as Hd,useContext as qd,useEffect as Xr,useMemo as Wd,useRef as hs,useState as Kr}from"react";import{memo as _d}from"react";import{jsx as Nd}from"react/jsx-runtime";var Od=({as:e="span",className:t,duration:a=2,style:r,children:o,...n})=>{let s={backgroundImage:"linear-gradient(90deg, var(--ww-color-muted-foreground) 0%, var(--ww-color-muted-foreground) 40%, var(--ww-color-foreground) 50%, var(--ww-color-muted-foreground) 60%, var(--ww-color-muted-foreground) 100%)",backgroundSize:"250% 100%",WebkitBackgroundClip:"text",backgroundClip:"text",color:"transparent",animation:`ww-shimmer ${a}s linear infinite`,...r};return Nd(e,{"data-waniwani-shimmer":"",className:T("ww:inline-block",t),style:s,...n,children:o})},Ne=_d(Od);Ne.displayName="Shimmer";import{Fragment as zd,jsx as Ue,jsxs as jd}from"react/jsx-runtime";var gs=Ud(null);function ws(){let e=qd(gs);if(!e)throw new Error("Reasoning components must be used within <Reasoning>");return e}var Gd=1e3,Vd=1e3,Kt=Qr(({className:e,isStreaming:t=!1,open:a,defaultOpen:r,onOpenChange:o,duration:n,children:s,...i})=>{let l=r??t,u=r===!1,c=a!==void 0,[d,f]=Kr(l),p=c?a:d,m=Hd(A=>{c||f(A),o?.(A)},[c,o]),[L,I]=Kr(void 0),x=n??L,g=hs(t),[h,w]=Kr(!1),S=hs(null);Xr(()=>{t?(g.current=!0,S.current===null&&(S.current=Date.now())):S.current!==null&&(I(Math.ceil((Date.now()-S.current)/Vd)),S.current=null)},[t]),Xr(()=>{t&&!p&&!u&&m(!0)},[t,p,u,m]),Xr(()=>{if(g.current&&!t&&p&&!h){let A=setTimeout(()=>{m(!1),w(!0)},Gd);return()=>clearTimeout(A)}},[t,p,h,m]);let v=Wd(()=>({isStreaming:t,isOpen:p,setIsOpen:m,duration:x}),[t,p,m,x]);return Ue(gs.Provider,{value:v,children:Ue("div",{className:T("ww:mb-4 ww:flex ww:flex-col ww:gap-2",e),"data-state":p?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...i,children:s})})});Kt.displayName="Reasoning";var Qt=Qr(({className:e,children:t,getThinkingMessage:a,hideIcon:r=!1,onClick:o,...n})=>{let{t:s}=G(),{isStreaming:i,isOpen:l,duration:u,setIsOpen:c}=ws(),f=a??((p,m)=>p||m===0?Ue(Ne,{duration:1.6,children:s.reasoning.thinking}):m===void 0?Ue("span",{children:s.reasoning.thoughtBrief}):Ue("span",{children:s.reasoning.thoughtForSeconds(m)}));return Ue("button",{type:"button","aria-expanded":l,onClick:p=>{c(!l),o?.(p)},className:T("ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),...n,children:t??jd(zd,{children:[!r&&Ue(je,{className:"ww:size-4 ww:shrink-0"}),f(i,u)]})})});Qt.displayName="ReasoningTrigger";var Jt=Qr(({className:e,children:t,...a})=>{let{isOpen:r}=ws();return Ue("div",{className:T("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",r?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:Ue("div",{className:"ww:min-h-0 ww:overflow-hidden",children:Ue("div",{className:T("ww:text-sm ww:text-muted-foreground",e),...a,children:Ue(Dt,{children:t})})})})});Jt.displayName="ReasoningContent";import{jsx as Y,jsxs as et}from"react/jsx-runtime";var Yd=500,xs=$d(null);function Is(){let e=Kd(xs);if(!e)throw new Error("ChainOfThought components must be used within <ChainOfThought>");return e}function Ls({className:e,isWorking:t=!1,activeStep:a,open:r,defaultOpen:o=!1,onOpenChange:n,children:s,...i}){let l=r!==void 0,[u,c]=Jr(o),d=l?r:u,f=Xd(I=>{l||c(I),n?.(I)},[l,n]),[p,m]=Jr(!t);Qd(()=>{if(t){m(!1);return}let I=setTimeout(()=>m(!0),Yd);return()=>clearTimeout(I)},[t]);let L=Jd(()=>({open:d,setOpen:f,isWorking:t,settled:p,activeStep:a}),[d,f,t,p,a]);return Y(xs.Provider,{value:L,children:Y("div",{className:T("ww:mb-4 ww:flex ww:flex-col ww:gap-2",e),"data-state":d?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...i,children:s})})}function Cs({className:e,label:t,workingLabel:a,children:r,...o}){let{open:n,setOpen:s,isWorking:i,settled:l,activeStep:u}=Is();if(!l){let c=u?.icon,d=u?.label??a??t??"";return Y("div",{className:T("ww:flex ww:min-h-5 ww:w-full ww:items-center ww:gap-1.5 ww:text-sm ww:text-muted-foreground",e),children:et("span",{className:"ww:flex ww:min-w-0 ww:items-center ww:gap-1.5",style:{animation:"ww-fade-in 0.25s ease-out"},children:[c&&Y(c,{className:T("ww:size-4 ww:shrink-0",i&&"ww:animate-pulse")}),Y("span",{className:"ww:truncate",children:i?Y(Ne,{duration:2.6,children:d}):d})]},d)})}return et("button",{type:"button",onClick:()=>s(!n),"aria-expanded":n,className:T("ww:flex ww:min-h-5 ww:w-full ww:items-center ww:gap-1.5 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),style:{animation:"ww-fade-in 0.25s ease-out"},...o,children:[Y("span",{className:"ww:truncate",children:r??t}),Y(Je,{className:T("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",n&&"ww:rotate-180")})]})}function Ss({className:e,children:t,...a}){let{open:r}=Is();return Y("div",{className:T("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",r?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:Y("div",{className:"ww:min-h-0 ww:overflow-hidden",children:Y("div",{className:T("ww:flex ww:flex-col",e),...a,children:t})})})}function ys({icon:e,isLast:t,running:a,error:r}){return et("div",{className:"ww:flex ww:flex-col ww:items-center ww:self-stretch",children:[Y("span",{className:"ww:flex ww:h-5 ww:items-center",children:Y(e,{className:T("ww:size-4 ww:shrink-0",r?"ww:text-destructive":a?"ww:animate-pulse ww:text-foreground":"ww:text-muted-foreground")})}),!t&&Y("span",{className:"ww:w-px ww:flex-1 ww:bg-border"})]})}function Yr({className:e,icon:t,title:a,state:r,isLast:o=!1,children:n,...s}){let i=r==="input-available"||r==="input-streaming",l=r==="output-error",u=n!=null,[c,d]=Jr(!1),f=a??"",p=i?Y(Ne,{duration:1.6,children:f}):Y("span",{className:"ww:truncate",children:f});return et("div",{className:T("ww:flex ww:gap-2",e),...s,children:[Y(ys,{icon:t,isLast:o,running:i,error:l}),et("div",{className:T("ww:min-w-0 ww:flex-1",!o&&"ww:pb-3"),children:[u?et("button",{type:"button",onClick:()=>d(m=>!m),"aria-expanded":c,className:"ww:flex ww:w-full ww:items-center ww:gap-1.5 ww:text-left ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",children:[p,Y(Je,{className:T("ww:size-3.5 ww:shrink-0 ww:transition-transform ww:duration-200",c&&"ww:rotate-180")})]}):Y("div",{className:"ww:flex ww:items-center ww:text-sm ww:text-muted-foreground",children:p}),u&&Y("div",{className:T("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",c?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:Y("div",{className:"ww:min-h-0 ww:overflow-hidden",children:Y("div",{className:"ww:mt-2 ww:space-y-3 ww:rounded-lg ww:border ww:border-border ww:bg-background ww:p-3",children:n})})})]})]})}function bs({isStreaming:e=!1,isLast:t=!1,children:a}){return et("div",{className:"ww:flex ww:gap-2",children:[Y(ys,{icon:je,isLast:t,running:e}),Y("div",{className:T("ww:min-w-0 ww:flex-1",!t&&"ww:pb-3"),children:et(Kt,{isStreaming:e,className:"ww:mb-0",children:[Y(Qt,{hideIcon:!0}),Y(Jt,{children:a})]})})]})}var Ie={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 qe={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 Me={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 ks(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 Ts(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function vs(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 Ps(e){return ks(e)?"ambiguous":Ts(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":vs(e)?"wide":"neutral"}function Zd(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function As(e){return Zd(e),Ps(e)}var ec=Object.defineProperty,tc=(e,t,a)=>t in e?ec(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,ac=(e,t,a)=>tc(e,typeof t!="symbol"?t+"":t,a);function rc(e){return/^\p{Emoji_Presentation}/u.test(String.fromCodePoint(e))}function oc(e){if(!e||e<4352)return!1;switch(As(e)){case"fullwidth":case"halfwidth":return!0;case"wide":return!rc(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 nc(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function sc(e){return e!==null&&e>=65024&&e<=65038}var ic=Rs(/\p{P}|\p{S}/u),lc=Rs(/\s/);function Rs(e){return t;function t(a){return a!==null&&a>-1&&e.test(String.fromCodePoint(a))}}var Fe;(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})(Fe||(Fe={}));function tt(e){if(e===Ie.eof||En(e)||lc(e))return qe.characterGroupWhitespace;let t=0;if(e>=4352){if(sc(e))return Fe.nonEmojiGeneralUseVS;switch(oc(e)){case null:return Fe.ivs;case!0:t|=Fe.cjk;break}}return ic(e)&&(t|=qe.characterGroupPunctuation),t}function Fa(e,t,a){if(!dc(e))return e;let r=t(),o=tt(r);return!r||pt(o)?e:nc(r,a)?Fe.cjkPunctuation:uc(o)}function uc(e){return e&~Fe.ivs}function pt(e){return!!(e&qe.characterGroupWhitespace)}function Pt(e){return(e&Fe.cjkPunctuation)===qe.characterGroupPunctuation}function Yt(e){return!!(e&Fe.cjk)}function Ms(e){return e===Fe.ivs}function Fs(e){return!!(e&Fe.cjkOrIvs)}function dc(e){return e===Fe.nonEmojiGeneralUseVS}function Zr(e){return!!(e&Fe.spaceOrPunctuation)}function Ba(e){return!!(e&&e>=55296&&e<=56319)}function Ea(e){return!!(e&&e>=56320&&e<=57343)}function Da(e,t,a){if(t._bufferIndex<2)return e;let o=a({start:{...t,_bufferIndex:t._bufferIndex-2},end:t}).codePointAt(0);return o&&o>=65536?o:e}function cc(e,t,a){let r=e>=65536?2:1;if(t._bufferIndex<1+r)return null;let o=t._bufferIndex-r-2,n=a({start:{...t,_bufferIndex:o>=0?o:0},end:{...t,_bufferIndex:t._bufferIndex-r}}),s=n.charCodeAt(n.length-1);if(Number.isNaN(s))return null;if(n.length<2||s<56320||57343<s)return s;let i=n.codePointAt(0);return i&&i>=65536?i:s}var _a=class{constructor(e,t,a){this.previousCode=e,this.nowPoint=t,this.sliceSerialize=a,ac(this,"cachedValue")}value(){return this.cachedValue===void 0&&(this.cachedValue=cc(this.previousCode,this.nowPoint,this.sliceSerialize)),this.cachedValue}};function Oa(e,t,a){let r=a({start:t,end:{...t,_bufferIndex:t._bufferIndex+2}}).codePointAt(0);return r&&r>=65536?r:e}var eo={name:"attention",resolveAll:fc,tokenize:pc};function fc(e,t){let a=-1,r,o,n,s,i,l,u,c;for(;++a<e.length;)if(e[a][0]==="enter"&&e[a][1].type==="attentionSequence"&&e[a][1]._close){for(r=a;r--;)if(e[r][0]==="exit"&&e[r][1].type==="attentionSequence"&&e[r][1]._open&&t.sliceSerialize(e[r][1]).charCodeAt(0)===t.sliceSerialize(e[a][1]).charCodeAt(0)){if((e[r][1]._close||e[a][1]._open)&&(e[a][1].end.offset-e[a][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[a][1].end.offset-e[a][1].start.offset)%3))continue;l=e[r][1].end.offset-e[r][1].start.offset>1&&e[a][1].end.offset-e[a][1].start.offset>1?2:1;let d={...e[r][1].end},f={...e[a][1].start};Bs(d,-l),Bs(f,l),s={type:l>1?Me.strongSequence:Me.emphasisSequence,start:d,end:{...e[r][1].end}},i={type:l>1?Me.strongSequence:Me.emphasisSequence,start:{...e[a][1].start},end:f},n={type:l>1?Me.strongText:Me.emphasisText,start:{...e[r][1].end},end:{...e[a][1].start}},o={type:l>1?Me.strong:Me.emphasis,start:{...s.start},end:{...i.end}},e[r][1].end={...s.start},e[a][1].start={...i.end},u=[],e[r][1].end.offset-e[r][1].start.offset&&(u=St(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=St(u,[["enter",o,t],["enter",s,t],["exit",s,t],["enter",n,t]]),t.parser.constructs.insideSpan.null,u=St(u,Sa(t.parser.constructs.insideSpan.null,e.slice(r+1,a),t)),u=St(u,[["exit",n,t],["enter",i,t],["exit",i,t],["exit",o,t]]),e[a][1].end.offset-e[a][1].start.offset?(c=2,u=St(u,[["enter",e[a][1],t],["exit",e[a][1],t]])):c=0,Ct(e,r-1,a-r+3,u),a=r+u.length-c-2;break}}for(a=-1;++a<e.length;)e[a][1].type==="attentionSequence"&&(e[a][1].type="data");return e}function pc(e,t){let a=this.parser.constructs.attentionMarkers.null,{now:r,sliceSerialize:o,previous:n}=this,s=Ea(n)?Da(n,r(),o):n,i=tt(s),l=new _a(s,r(),o),u=Fa(i,l.value.bind(l),s),c;return d;function d(p){return p===Ie.asterisk||Ie.underscore,c=p,e.enter("attentionSequence"),f(p)}function f(p){if(p===c)return e.consume(p),f;let m=e.exit("attentionSequence"),L=Ba(p)?Oa(p,r(),o):p,I=tt(L);let x=Pt(u),g=x||pt(u),h=Pt(I),w=h||pt(I),S=Fs(u),v=!w||h&&(g||S)||a.includes(p),A=!g||x&&(w||Yt(I))||a.includes(s);return m._open=!!(c===Ie.asterisk?v:v&&(Zr(u)||!A)),m._close=!!(c===Ie.asterisk?A:A&&(Zr(I)||!v)),t(p)}}function Bs(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function Es(){return{text:{[Ie.asterisk]:eo,[Ie.underscore]:eo},insideSpan:{null:[eo]}}}function Ds(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(Es())}function _s(e){let a=(e||{}).singleTilde,r={name:"strikethrough",tokenize:n,resolveAll:o};return a==null&&(a=!0),{text:{[Ie.tilde]:r},insideSpan:{null:[r]},attentionMarkers:{null:[Ie.tilde]}};function o(s,i){let l=-1;for(;++l<s.length;)if(s[l][0]==="enter"&&s[l][1].type==="strikethroughSequenceTemporary"&&s[l][1]._close){let u=l;for(;u--;)if(s[u][0]==="exit"&&s[u][1].type==="strikethroughSequenceTemporary"&&s[u][1]._open&&s[l][1].end.offset-s[l][1].start.offset===s[u][1].end.offset-s[u][1].start.offset){s[l][1].type="strikethroughSequence",s[u][1].type="strikethroughSequence";let c={type:"strikethrough",start:Object.assign({},s[u][1].start),end:Object.assign({},s[l][1].end)},d={type:"strikethroughText",start:Object.assign({},s[u][1].end),end:Object.assign({},s[l][1].start)},f=[["enter",c,i],["enter",s[u][1],i],["exit",s[u][1],i],["enter",d,i]],p=i.parser.constructs.insideSpan.null;p&&Ct(f,f.length,0,Sa(p,s.slice(u+1,l),i)),Ct(f,f.length,0,[["exit",d,i],["enter",s[l][1],i],["exit",s[l][1],i],["exit",c,i]]),Ct(s,u-1,l-u+3,f),l=u+f.length-2;break}}for(l=-1;++l<s.length;)s[l][1].type==="strikethroughSequenceTemporary"&&(s[l][1].type=Me.data);return s}function n(s,i,l){let{now:u,sliceSerialize:c,previous:d}=this,f=Ea(d)?Da(d,u(),c):d,p=tt(f),m=new _a(f,u(),c),L=Fa(p,m.value.bind(m),f),I=this.events,x=0;return g;function g(w){return Ie.tilde,f===Ie.tilde&&I[I.length-1][1].type!==Me.characterEscape?l(w):(s.enter("strikethroughSequenceTemporary"),h(w))}function h(w){let S=tt(f);if(w===Ie.tilde)return x>1?l(w):(s.consume(w),x++,h);if(x<2&&!a)return l(w);let v=s.exit("strikethroughSequenceTemporary"),A=Ba(w)?Oa(w,u(),c):w,P=tt(A),k=Pt(L)||pt(L),y=Pt(P)||pt(P),X=Yt(L)||Ms(S);return v._open=!y||P===qe.attentionSideAfter&&(k||X),v._close=!k||S===qe.attentionSideAfter&&(y||Yt(P)),i(w)}}}function Os(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(_s(e))}var mc=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),hc=/^(https?:\/\/|mailto:|www\.)/i,gc=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},wc=e=>{let t=0;for(let a of e){if(mc.has(a))return t;t+=a.length}return null},xc=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),Ic=e=>({type:"text",value:e}),Lc=()=>e=>{vn(e,"link",(t,a,r)=>{if(!r||typeof a!="number"||!gc(t)||!hc.test(t.url))return;let o=wc(t.url);if(o===null||o===0)return;let n=t.url.slice(0,o),s=t.url.slice(o),i=xc(n,t),l=Ic(s);return r.children.splice(a,1,i,l),a+1})};function Cc(){let e=[Ds],t=[Lc,Os],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var to=Cc();var te=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Sc(e){return fo(e)}function fo(e){return Array.isArray(e)?yc(e):e instanceof RegExp?e:typeof e=="object"?bc(e):e}function yc(e){let t=[];for(let a=0,r=e.length;a<r;a++)t[a]=fo(e[a]);return t}function bc(e){let t={};for(let a in e)t[a]=fo(e[a]);return t}function js(e,...t){return t.forEach(a=>{for(let r in a)e[r]=a[r]}),e}function $s(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?$s(e.substring(0,e.length-1)):e.substr(~t+1)}var ao=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,Na=class{static hasCaptures(e){return e===null?!1:(ao.lastIndex=0,ao.test(e))}static replaceCaptures(e,t,a){return e.replace(ao,(r,o,n,s)=>{let i=a[parseInt(o||n,10)];if(i){let l=t.substring(i.start,i.end);for(;l[0]===".";)l=l.substring(1);switch(s){case"downcase":return l.toLowerCase();case"upcase":return l.toUpperCase();default:return l}}else return r})}};function Xs(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,r=t.length;if(a===r){for(let o=0;o<a;o++){let n=Xs(e[o],t[o]);if(n!==0)return n}return 0}return a-r}function Ns(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 Qs(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var Js=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}},ta=class{constructor(e,t,a){this._colorMap=e,this._defaults=t,this._root=a}static createFromRawTheme(e,t){return this.createFromParsedTheme(vc(e),t)}static createFromParsedTheme(e,t){return Ac(e,t)}_cachedMatchRoot=new Js(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,r=this._cachedMatchRoot.get(t).find(o=>kc(e.parent,o.parentScopes));return r?new Ys(r.fontStyle,r.foreground,r.background):null}},ro=class Ua{constructor(t,a){this.parent=t,this.scopeName=a}static push(t,a){for(let r of a)t=new Ua(t,r);return t}static from(...t){let a=null;for(let r=0;r<t.length;r++)a=new Ua(a,t[r]);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=[],r=this;for(;r&&r!==t;)a.push(r.scopeName),r=r.parent;return r===t?a.reverse():void 0}};function kc(e,t){if(t.length===0)return!0;for(let a=0;a<t.length;a++){let r=t[a],o=!1;if(r===">"){if(a===t.length-1)return!1;r=t[++a],o=!0}for(;e&&!Tc(e.scopeName,r);){if(o)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function Tc(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var Ys=class{constructor(e,t,a){this.fontStyle=e,this.foregroundId=t,this.backgroundId=a}};function vc(e){if(!e)return[];if(!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,a=[],r=0;for(let o=0,n=t.length;o<n;o++){let s=t[o];if(!s.settings)continue;let i;if(typeof s.scope=="string"){let d=s.scope;d=d.replace(/^[,]+/,""),d=d.replace(/[,]+$/,""),i=d.split(",")}else Array.isArray(s.scope)?i=s.scope:i=[""];let l=-1;if(typeof s.settings.fontStyle=="string"){l=0;let d=s.settings.fontStyle.split(" ");for(let f=0,p=d.length;f<p;f++)switch(d[f]){case"italic":l=l|1;break;case"bold":l=l|2;break;case"underline":l=l|4;break;case"strikethrough":l=l|8;break}}let u=null;typeof s.settings.foreground=="string"&&Ns(s.settings.foreground)&&(u=s.settings.foreground);let c=null;typeof s.settings.background=="string"&&Ns(s.settings.background)&&(c=s.settings.background);for(let d=0,f=i.length;d<f;d++){let m=i[d].trim().split(" "),L=m[m.length-1],I=null;m.length>1&&(I=m.slice(0,m.length-1),I.reverse()),a[r++]=new Pc(L,I,o,l,u,c)}}return a}var Pc=class{constructor(e,t,a,r,o,n){this.scope=e,this.parentScopes=t,this.index=a,this.fontStyle=r,this.foreground=o,this.background=n}},Le=(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))(Le||{});function Ac(e,t){e.sort((l,u)=>{let c=Xs(l.scope,u.scope);return c!==0||(c=Ks(l.parentScopes,u.parentScopes),c!==0)?c:l.index-u.index});let a=0,r="#000000",o="#ffffff";for(;e.length>=1&&e[0].scope==="";){let l=e.shift();l.fontStyle!==-1&&(a=l.fontStyle),l.foreground!==null&&(r=l.foreground),l.background!==null&&(o=l.background)}let n=new Rc(t),s=new Ys(a,n.getId(r),n.getId(o)),i=new Fc(new no(0,null,-1,0,0),[]);for(let l=0,u=e.length;l<u;l++){let c=e[l];i.insert(0,c.scope,c.parentScopes,c.fontStyle,n.getId(c.foreground),n.getId(c.background))}return new ta(n,s,i)}var Rc=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)}},Mc=Object.freeze([]),no=class Zs{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,r,o,n){this.scopeDepth=t,this.parentScopes=a||Mc,this.fontStyle=r,this.foreground=o,this.background=n}clone(){return new Zs(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background)}static cloneArr(t){let a=[];for(let r=0,o=t.length;r<o;r++)a[r]=t[r].clone();return a}acceptOverwrite(t,a,r,o){this.scopeDepth>t?console.log("how did this happen?"):this.scopeDepth=t,a!==-1&&(this.fontStyle=a),r!==0&&(this.foreground=r),o!==0&&(this.background=o)}},Fc=class so{constructor(t,a=[],r={}){this._mainRule=t,this._children=r,this._rulesWithParentScopes=a}_rulesWithParentScopes;static _cmpBySpecificity(t,a){if(t.scopeDepth!==a.scopeDepth)return a.scopeDepth-t.scopeDepth;let r=0,o=0;for(;t.parentScopes[r]===">"&&r++,a.parentScopes[o]===">"&&o++,!(r>=t.parentScopes.length||o>=a.parentScopes.length);){let n=a.parentScopes[o].length-t.parentScopes[r].length;if(n!==0)return n;r++,o++}return a.parentScopes.length-t.parentScopes.length}match(t){if(t!==""){let r=t.indexOf("."),o,n;if(r===-1?(o=t,n=""):(o=t.substring(0,r),n=t.substring(r+1)),this._children.hasOwnProperty(o))return this._children[o].match(n)}let a=this._rulesWithParentScopes.concat(this._mainRule);return a.sort(so._cmpBySpecificity),a}insert(t,a,r,o,n,s){if(a===""){this._doInsertHere(t,r,o,n,s);return}let i=a.indexOf("."),l,u;i===-1?(l=a,u=""):(l=a.substring(0,i),u=a.substring(i+1));let c;this._children.hasOwnProperty(l)?c=this._children[l]:(c=new so(this._mainRule.clone(),no.cloneArr(this._rulesWithParentScopes)),this._children[l]=c),c.insert(t+1,u,r,o,n,s)}_doInsertHere(t,a,r,o,n){if(a===null){this._mainRule.acceptOverwrite(t,r,o,n);return}for(let s=0,i=this._rulesWithParentScopes.length;s<i;s++){let l=this._rulesWithParentScopes[s];if(Ks(l.parentScopes,a)===0){l.acceptOverwrite(t,r,o,n);return}}r===-1&&(r=this._mainRule.fontStyle),o===0&&(o=this._mainRule.foreground),n===0&&(n=this._mainRule.background),this._rulesWithParentScopes.push(new no(t,a,r,o,n))}},ht=class _e{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){let a=_e.getLanguageId(t),r=_e.getTokenType(t),o=_e.getFontStyle(t),n=_e.getForeground(t),s=_e.getBackground(t);console.log({languageId:a,tokenType:r,fontStyle:o,foreground:n,background:s})}static getLanguageId(t){return(t&255)>>>0}static getTokenType(t){return(t&768)>>>8}static containsBalancedBrackets(t){return(t&1024)!==0}static getFontStyle(t){return(t&30720)>>>11}static getForeground(t){return(t&16744448)>>>15}static getBackground(t){return(t&4278190080)>>>24}static set(t,a,r,o,n,s,i){let l=_e.getLanguageId(t),u=_e.getTokenType(t),c=_e.containsBalancedBrackets(t)?1:0,d=_e.getFontStyle(t),f=_e.getForeground(t),p=_e.getBackground(t);return a!==0&&(l=a),r!==8&&(u=r),o!==null&&(c=o?1:0),n!==-1&&(d=n),s!==0&&(f=s),i!==0&&(p=i),(l<<0|u<<8|c<<10|d<<11|f<<15|p<<24)>>>0}};function qa(e,t){let a=[],r=Bc(e),o=r.next();for(;o!==null;){let l=0;if(o.length===2&&o.charAt(1)===":"){switch(o.charAt(0)){case"R":l=1;break;case"L":l=-1;break;default:console.log(`Unknown priority ${o} in scope selector`)}o=r.next()}let u=s();if(a.push({matcher:u,priority:l}),o!==",")break;o=r.next()}return a;function n(){if(o==="-"){o=r.next();let l=n();return u=>!!l&&!l(u)}if(o==="("){o=r.next();let l=i();return o===")"&&(o=r.next()),l}if(Us(o)){let l=[];do l.push(o),o=r.next();while(Us(o));return u=>t(l,u)}return null}function s(){let l=[],u=n();for(;u;)l.push(u),u=n();return c=>l.every(d=>d(c))}function i(){let l=[],u=s();for(;u&&(l.push(u),o==="|"||o===",");){do o=r.next();while(o==="|"||o===",");u=s()}return c=>l.some(d=>d(c))}}function Us(e){return!!e&&!!e.match(/[\w\.:]+/)}function Bc(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,a=t.exec(e);return{next:()=>{if(!a)return null;let r=a[0];return a=t.exec(e),r}}}function ei(e){typeof e.dispose=="function"&&e.dispose()}var aa=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},Ec=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},Dc=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))}},_c=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new aa(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new Dc;for(let a of e)Oc(a,this.initialScopeName,this.repo,t);for(let a of t.references)if(a instanceof aa){if(this.seenFullScopeRequests.has(a.scopeName))continue;this.seenFullScopeRequests.add(a.scopeName),this.Q.push(a)}else{if(this.seenFullScopeRequests.has(a.scopeName)||this.seenPartialScopeRequests.has(a.toKey()))continue;this.seenPartialScopeRequests.add(a.toKey()),this.Q.push(a)}}};function Oc(e,t,a,r){let o=a.lookup(e.scopeName);if(!o){if(e.scopeName===t)throw new Error(`No grammar provided for <${t}>`);return}let n=a.lookup(t);e instanceof aa?Ha({baseGrammar:n,selfGrammar:o},r):io(e.ruleName,{baseGrammar:n,selfGrammar:o,repository:o.repository},r);let s=a.injections(e.scopeName);if(s)for(let i of s)r.add(new aa(i))}function io(e,t,a){if(t.repository&&t.repository[e]){let r=t.repository[e];Wa([r],t,a)}}function Ha(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&Wa(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&Wa(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function Wa(e,t,a){for(let r of e){if(a.visitedRule.has(r))continue;a.visitedRule.add(r);let o=r.repository?js({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&Wa(r.patterns,{...t,repository:o},a);let n=r.include;if(!n)continue;let s=ti(n);switch(s.kind){case 0:Ha({...t,selfGrammar:t.baseGrammar},a);break;case 1:Ha(t,a);break;case 2:io(s.ruleName,{...t,repository:o},a);break;case 3:case 4:let i=s.scopeName===t.selfGrammar.scopeName?t.selfGrammar:s.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(i){let l={baseGrammar:t.baseGrammar,selfGrammar:i,repository:o};s.kind===4?io(s.ruleName,l,a):Ha(l,a)}else s.kind===4?a.add(new Ec(s.scopeName,s.ruleName)):a.add(new aa(s.scopeName));break}}}var Nc=class{kind=0},Uc=class{kind=1},Hc=class{constructor(e){this.ruleName=e}kind=2},qc=class{constructor(e){this.scopeName=e}kind=3},Wc=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function ti(e){if(e==="$base")return new Nc;if(e==="$self")return new Uc;let t=e.indexOf("#");if(t===-1)return new qc(e);if(t===0)return new Hc(e.substring(1));{let a=e.substring(0,t),r=e.substring(t+1);return new Wc(a,r)}}var Gc=/\\(\d+)/,Hs=/\\(\d+)/g;var Vc=-1,ai=-2;var na=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,a,r){this.$location=e,this.id=t,this._name=a||null,this._nameIsCapturing=Na.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=Na.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${$s(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:Na.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:Na.replaceCaptures(this._contentName,e,t)}},zc=class extends na{retokenizeCapturedWithRuleId;constructor(e,t,a,r,o){super(e,t,a,r),this.retokenizeCapturedWithRuleId=o}dispose(){}collectPatterns(e,t){throw new Error("Not supported!")}compile(e,t){throw new Error("Not supported!")}compileAG(e,t,a,r){throw new Error("Not supported!")}},jc=class extends na{_match;captures;_cachedCompiledPatterns;constructor(e,t,a,r,o){super(e,t,a,null),this._match=new ra(r,this.id),this.captures=o,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,r){return this._getCachedCompiledPatterns(e).compileAG(e,a,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new oa,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},qs=class extends na{hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,a,r,o){super(e,t,a,r),this.patterns=o.patterns,this.hasMissingPatterns=o.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,r){return this._getCachedCompiledPatterns(e).compileAG(e,a,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new oa,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},lo=class extends na{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,a,r,o,n,s,i,l,u){super(e,t,a,r),this._begin=new ra(o,this.id),this.beginCaptures=n,this._end=new ra(s||"\uFFFF",-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=i,this.applyEndPatternLast=l||!1,this.patterns=u.patterns,this.hasMissingPatterns=u.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugEndRegExp(){return`${this._end.source}`}getEndWithResolvedBackReferences(e,t){return this._end.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e,t).compile(e)}compileAG(e,t,a,r){return this._getCachedCompiledPatterns(e,t).compileAG(e,a,r)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new oa;for(let a of this.patterns)e.getRule(a).collectPatterns(e,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,t):this._cachedCompiledPatterns.setSource(0,t)),this._cachedCompiledPatterns}},Ga=class extends na{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,a,r,o,n,s,i,l){super(e,t,a,r),this._begin=new ra(o,this.id),this.beginCaptures=n,this.whileCaptures=i,this._while=new ra(s,ai),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,r){return this._getCachedCompiledPatterns(e).compileAG(e,a,r)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new oa;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns)}return this._cachedCompiledPatterns}compileWhile(e,t){return this._getCachedCompiledWhilePatterns(e,t).compile(e)}compileWhileAG(e,t,a,r){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,a,r)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new oa,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},ri=class ke{static createCaptureRule(t,a,r,o,n){return t.registerRule(s=>new zc(a,s,r,o,n))}static getCompiledRuleId(t,a,r){return t.id||a.registerRule(o=>{if(t.id=o,t.match)return new jc(t.$vscodeTextmateLocation,t.id,t.name,t.match,ke._compileCaptures(t.captures,a,r));if(typeof t.begin>"u"){t.repository&&(r=js({},r,t.repository));let n=t.patterns;return typeof n>"u"&&t.include&&(n=[{include:t.include}]),new qs(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,ke._compilePatterns(n,a,r))}return t.while?new Ga(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,ke._compileCaptures(t.beginCaptures||t.captures,a,r),t.while,ke._compileCaptures(t.whileCaptures||t.captures,a,r),ke._compilePatterns(t.patterns,a,r)):new lo(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,ke._compileCaptures(t.beginCaptures||t.captures,a,r),t.end,ke._compileCaptures(t.endCaptures||t.captures,a,r),t.applyEndPatternLast,ke._compilePatterns(t.patterns,a,r))}),t.id}static _compileCaptures(t,a,r){let o=[];if(t){let n=0;for(let s in t){if(s==="$vscodeTextmateLocation")continue;let i=parseInt(s,10);i>n&&(n=i)}for(let s=0;s<=n;s++)o[s]=null;for(let s in t){if(s==="$vscodeTextmateLocation")continue;let i=parseInt(s,10),l=0;t[s].patterns&&(l=ke.getCompiledRuleId(t[s],a,r)),o[i]=ke.createCaptureRule(a,t[s].$vscodeTextmateLocation,t[s].name,t[s].contentName,l)}}return o}static _compilePatterns(t,a,r){let o=[];if(t)for(let n=0,s=t.length;n<s;n++){let i=t[n],l=-1;if(i.include){let u=ti(i.include);switch(u.kind){case 0:case 1:l=ke.getCompiledRuleId(r[i.include],a,r);break;case 2:let c=r[u.ruleName];c&&(l=ke.getCompiledRuleId(c,a,r));break;case 3:case 4:let d=u.scopeName,f=u.kind===4?u.ruleName:null,p=a.getExternalGrammar(d,r);if(p)if(f){let m=p.repository[f];m&&(l=ke.getCompiledRuleId(m,a,p.repository))}else l=ke.getCompiledRuleId(p.repository.$self,a,p.repository);break}}else l=ke.getCompiledRuleId(i,a,r);if(l!==-1){let u=a.getRule(l),c=!1;if((u instanceof qs||u instanceof lo||u instanceof Ga)&&u.hasMissingPatterns&&u.patterns.length===0&&(c=!0),c)continue;o.push(l)}}return{patterns:o,hasMissingPatterns:(t?t.length:0)!==o.length}}},ra=class oi{source;ruleId;hasAnchor;hasBackReferences;_anchorCache;constructor(t,a){if(t&&typeof t=="string"){let r=t.length,o=0,n=[],s=!1;for(let i=0;i<r;i++)if(t.charAt(i)==="\\"&&i+1<r){let u=t.charAt(i+1);u==="z"?(n.push(t.substring(o,i)),n.push("$(?!\\n)(?<!\\n)"),o=i+2):(u==="A"||u==="G")&&(s=!0),i++}this.hasAnchor=s,o===0?this.source=t:(n.push(t.substring(o,r)),this.source=n.join(""))}else this.hasAnchor=!1,this.source=t;this.hasAnchor?this._anchorCache=this._buildAnchorCache():this._anchorCache=null,this.ruleId=a,typeof this.source=="string"?this.hasBackReferences=Gc.test(this.source):this.hasBackReferences=!1}clone(){return new oi(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 r=a.map(o=>t.substring(o.start,o.end));return Hs.lastIndex=0,this.source.replace(Hs,(o,n)=>Qs(r[parseInt(n,10)]||""))}_buildAnchorCache(){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let t=[],a=[],r=[],o=[],n,s,i,l;for(n=0,s=this.source.length;n<s;n++)i=this.source.charAt(n),t[n]=i,a[n]=i,r[n]=i,o[n]=i,i==="\\"&&n+1<s&&(l=this.source.charAt(n+1),l==="A"?(t[n+1]="\uFFFF",a[n+1]="\uFFFF",r[n+1]="A",o[n+1]="A"):l==="G"?(t[n+1]="\uFFFF",a[n+1]="G",r[n+1]="\uFFFF",o[n+1]="G"):(t[n+1]=l,a[n+1]=l,r[n+1]=l,o[n+1]=l),n++);return{A0_G0:t.join(""),A0_G1:a.join(""),A1_G0:r.join(""),A1_G1:o.join("")}}resolveAnchors(t,a){return!this.hasAnchor||!this._anchorCache||typeof this.source!="string"?this.source:t?a?this._anchorCache.A1_G1:this._anchorCache.A1_G0:a?this._anchorCache.A0_G1:this._anchorCache.A0_G0}},oa=class{_items;_hasAnchors;_cached;_anchorCache;constructor(){this._items=[],this._hasAnchors=!1,this._cached=null,this._anchorCache={A0_G0:null,A0_G1:null,A1_G0:null,A1_G1:null}}dispose(){this._disposeCaches()}_disposeCaches(){this._cached&&(this._cached.dispose(),this._cached=null),this._anchorCache.A0_G0&&(this._anchorCache.A0_G0.dispose(),this._anchorCache.A0_G0=null),this._anchorCache.A0_G1&&(this._anchorCache.A0_G1.dispose(),this._anchorCache.A0_G1=null),this._anchorCache.A1_G0&&(this._anchorCache.A1_G0.dispose(),this._anchorCache.A1_G0=null),this._anchorCache.A1_G1&&(this._anchorCache.A1_G1.dispose(),this._anchorCache.A1_G1=null)}push(e){this._items.push(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}unshift(e){this._items.unshift(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}length(){return this._items.length}setSource(e,t){this._items[e].source!==t&&(this._disposeCaches(),this._items[e].setSource(t))}compile(e){if(!this._cached){let t=this._items.map(a=>a.source);this._cached=new 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 r=this._items.map(o=>o.resolveAnchors(t,a));return new Ws(e,r,this._items.map(o=>o.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 r=this.scanner.findNextMatchSync(e,t,a);return r?{ruleId:this.rules[r.index],captureIndices:r.captureIndices}:null}},oo=class{constructor(e,t){this.languageId=e,this.tokenType=t}},$c=class uo{_defaultAttributes;_embeddedLanguagesMatcher;constructor(t,a){this._defaultAttributes=new oo(t,8),this._embeddedLanguagesMatcher=new Xc(Object.entries(a||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?uo._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new oo(0,0);_getBasicScopeAttributes=new Js(t=>{let a=this._scopeToLanguage(t),r=this._toStandardTokenType(t);return new oo(a,r)});_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){let a=t.match(uo.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/},Xc=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,r])=>Qs(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])}},yL={InDebugMode:typeof process<"u"&&!!process.env.VSCODE_TEXTMATE_DEBUG},ni=!1,Gs=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function si(e,t,a,r,o,n,s,i){let l=t.content.length,u=!1,c=-1;if(s){let p=Kc(e,t,a,r,o,n);o=p.stack,r=p.linePos,a=p.isFirstLine,c=p.anchorPosition}let d=Date.now();for(;!u;){if(i!==0&&Date.now()-d>i)return new Gs(o,!0);f()}return new Gs(o,!1);function f(){let p=Qc(e,t,a,r,o,c);if(!p){n.produce(o,l),u=!0;return}let m=p.captureIndices,L=p.matchedRuleId,I=m&&m.length>0?m[0].end>r:!1;if(L===Vc){let x=o.getRule(e);n.produce(o,m[0].start),o=o.withContentNameScopesList(o.nameScopesList),Zt(e,t,a,o,n,x.endCaptures,m),n.produce(o,m[0].end);let g=o;if(o=o.parent,c=g.getAnchorPos(),!I&&g.getEnterPos()===r){o=g,n.produce(o,l),u=!0;return}}else{let x=e.getRule(L);n.produce(o,m[0].start);let g=o,h=x.getName(t.content,m),w=o.contentNameScopesList.pushAttributed(h,e);if(o=o.push(L,r,c,m[0].end===l,null,w,w),x instanceof lo){let S=x;Zt(e,t,a,o,n,S.beginCaptures,m),n.produce(o,m[0].end),c=m[0].end;let v=S.getContentName(t.content,m),A=w.pushAttributed(v,e);if(o=o.withContentNameScopesList(A),S.endHasBackReferences&&(o=o.withEndRule(S.getEndWithResolvedBackReferences(t.content,m))),!I&&g.hasSameRuleAs(o)){o=o.pop(),n.produce(o,l),u=!0;return}}else if(x instanceof Ga){let S=x;Zt(e,t,a,o,n,S.beginCaptures,m),n.produce(o,m[0].end),c=m[0].end;let v=S.getContentName(t.content,m),A=w.pushAttributed(v,e);if(o=o.withContentNameScopesList(A),S.whileHasBackReferences&&(o=o.withEndRule(S.getWhileWithResolvedBackReferences(t.content,m))),!I&&g.hasSameRuleAs(o)){o=o.pop(),n.produce(o,l),u=!0;return}}else if(Zt(e,t,a,o,n,x.captures,m),n.produce(o,m[0].end),o=o.pop(),!I){o=o.safePop(),n.produce(o,l),u=!0;return}}m[0].end>r&&(r=m[0].end,a=!1)}}function Kc(e,t,a,r,o,n){let s=o.beginRuleCapturedEOL?0:-1,i=[];for(let l=o;l;l=l.pop()){let u=l.getRule(e);u instanceof Ga&&i.push({rule:u,stack:l})}for(let l=i.pop();l;l=i.pop()){let{ruleScanner:u,findOptions:c}=Zc(l.rule,e,l.stack.endRule,a,r===s),d=u.findNextMatchSync(t,r,c);if(d){if(d.ruleId!==ai){o=l.stack.pop();break}d.captureIndices&&d.captureIndices.length&&(n.produce(l.stack,d.captureIndices[0].start),Zt(e,t,a,l.stack,n,l.rule.whileCaptures,d.captureIndices),n.produce(l.stack,d.captureIndices[0].end),s=d.captureIndices[0].end,d.captureIndices[0].end>r&&(r=d.captureIndices[0].end,a=!1))}else{o=l.stack.pop();break}}return{stack:o,linePos:r,anchorPosition:s,isFirstLine:a}}function Qc(e,t,a,r,o,n){let s=Jc(e,t,a,r,o,n),i=e.getInjections();if(i.length===0)return s;let l=Yc(i,e,t,a,r,o,n);if(!l)return s;if(!s)return l;let u=s.captureIndices[0].start,c=l.captureIndices[0].start;return c<u||l.priorityMatch&&c===u?l:s}function Jc(e,t,a,r,o,n){let s=o.getRule(e),{ruleScanner:i,findOptions:l}=ii(s,e,o.endRule,a,r===n),u=i.findNextMatchSync(t,r,l);return u?{captureIndices:u.captureIndices,matchedRuleId:u.ruleId}:null}function Yc(e,t,a,r,o,n,s){let i=Number.MAX_VALUE,l=null,u,c=0,d=n.contentNameScopesList.getScopeNames();for(let f=0,p=e.length;f<p;f++){let m=e[f];if(!m.matcher(d))continue;let L=t.getRule(m.ruleId),{ruleScanner:I,findOptions:x}=ii(L,t,null,r,o===s),g=I.findNextMatchSync(a,o,x);if(!g)continue;let h=g.captureIndices[0].start;if(!(h>=i)&&(i=h,l=g.captureIndices,u=g.ruleId,c=m.priority,i===o))break}return l?{priorityMatch:c===-1,captureIndices:l,matchedRuleId:u}:null}function ii(e,t,a,r,o){if(ni){let s=e.compile(t,a),i=li(r,o);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileAG(t,a,r,o),findOptions:0}}function Zc(e,t,a,r,o){if(ni){let s=e.compileWhile(t,a),i=li(r,o);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileWhileAG(t,a,r,o),findOptions:0}}function li(e,t){let a=0;return e||(a|=1),t||(a|=4),a}function Zt(e,t,a,r,o,n,s){if(n.length===0)return;let i=t.content,l=Math.min(n.length,s.length),u=[],c=s[0].end;for(let d=0;d<l;d++){let f=n[d];if(f===null)continue;let p=s[d];if(p.length===0)continue;if(p.start>c)break;for(;u.length>0&&u[u.length-1].endPos<=p.start;)o.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop();if(u.length>0?o.produceFromScopes(u[u.length-1].scopes,p.start):o.produce(r,p.start),f.retokenizeCapturedWithRuleId){let L=f.getName(i,s),I=r.contentNameScopesList.pushAttributed(L,e),x=f.getContentName(i,s),g=I.pushAttributed(x,e),h=r.push(f.retokenizeCapturedWithRuleId,p.start,-1,!1,null,I,g),w=e.createOnigString(i.substring(0,p.end));si(e,w,a&&p.start===0,p.start,h,o,!1,0),ei(w);continue}let m=f.getName(i,s);if(m!==null){let I=(u.length>0?u[u.length-1].scopes:r.contentNameScopesList).pushAttributed(m,e);u.push(new ef(I,p.end))}}for(;u.length>0;)o.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop()}var ef=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function tf(e,t,a,r,o,n,s,i){return new rf(e,t,a,r,o,n,s,i)}function Vs(e,t,a,r,o){let n=qa(t,Va),s=ri.getCompiledRuleId(a,r,o.repository);for(let i of n)e.push({debugSelector:t,matcher:i.matcher,ruleId:s,grammar:o,priority:i.priority})}function Va(e,t){if(t.length<e.length)return!1;let a=0;return e.every(r=>{for(let o=a;o<t.length;o++)if(af(t[o],r))return a=o+1,!0;return!1})}function af(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 rf=class{constructor(e,t,a,r,o,n,s,i){if(this._rootScopeName=e,this.balancedBracketSelectors=n,this._onigLib=i,this._basicScopeAttributesProvider=new $c(a,r),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=s,this._grammar=zs(t,null),this._injections=null,this._tokenTypeMatchers=[],o)for(let l of Object.keys(o)){let u=qa(l,Va);for(let c of u)this._tokenTypeMatchers.push({matcher:c.matcher,type:o[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:o=>o===this._rootScopeName?this._grammar:this.getExternalGrammar(o),injections:o=>this._grammarRepository.injections(o)},t=[],a=this._rootScopeName,r=e.lookup(a);if(r){let o=r.injections;if(o)for(let s in o)Vs(t,s,o[s],this,r);let n=this._grammarRepository.injections(a);n&&n.forEach(s=>{let i=this.getExternalGrammar(s);if(i){let l=i.injectionSelector;l&&Vs(t,l,i,this,i)}})}return t.sort((o,n)=>o.priority-n.priority),t}getInjections(){return this._injections===null&&(this._injections=this._collectInjections()),this._injections}registerRule(e){let t=++this._lastRuleId,a=e(t);return this._ruleId2desc[t]=a,a}getRule(e){return this._ruleId2desc[e]}getExternalGrammar(e,t){if(this._includedGrammars[e])return this._includedGrammars[e];if(this._grammarRepository){let a=this._grammarRepository.lookup(e);if(a)return this._includedGrammars[e]=zs(a,t&&t.$base),this._includedGrammars[e]}}tokenizeLine(e,t,a=0){let r=this._tokenize(e,t,!1,a);return{tokens:r.lineTokens.getResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}tokenizeLine2(e,t,a=0){let r=this._tokenize(e,t,!0,a);return{tokens:r.lineTokens.getBinaryResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}_tokenize(e,t,a,r){this._rootId===-1&&(this._rootId=ri.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let o;if(!t||t===co.NULL){o=!0;let u=this._basicScopeAttributesProvider.getDefaultAttributes(),c=this.themeProvider.getDefaults(),d=ht.set(0,u.languageId,u.tokenType,null,c.fontStyle,c.foregroundId,c.backgroundId),f=this.getRule(this._rootId).getName(null,null),p;f?p=ea.createRootAndLookUpScopeName(f,d,this):p=ea.createRoot("unknown",d),t=new co(null,this._rootId,-1,-1,!1,null,p,p)}else o=!1,t.reset();e=e+`
4
+ `;let n=this.createOnigString(e),s=n.content.length,i=new nf(a,e,this._tokenTypeMatchers,this.balancedBracketSelectors),l=si(this,n,o,0,t,i,!0,r);return ei(n),{lineLength:s,lineTokens:i,ruleStack:l.stack,stoppedEarly:l.stoppedEarly}}};function zs(e,t){return e=Sc(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 ea=class We{constructor(t,a,r){this.parent=t,this.scopePath=a,this.tokenAttributes=r}static fromExtension(t,a){let r=t,o=t?.scopePath??null;for(let n of a)o=ro.push(o,n.scopeNames),r=new We(r,o,n.encodedTokenAttributes);return r}static createRoot(t,a){return new We(null,new ro(null,t),a)}static createRootAndLookUpScopeName(t,a,r){let o=r.getMetadataForScope(t),n=new ro(null,t),s=r.themeProvider.themeMatch(n),i=We.mergeAttributes(a,o,s);return new We(null,n,i)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return We.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,r){let o=-1,n=0,s=0;return r!==null&&(o=r.fontStyle,n=r.foregroundId,s=r.backgroundId),ht.set(t,a.languageId,a.tokenType,null,o,n,s)}pushAttributed(t,a){if(t===null)return this;if(t.indexOf(" ")===-1)return We._pushAttributed(this,t,a);let r=t.split(/ /g),o=this;for(let n of r)o=We._pushAttributed(o,n,a);return o}static _pushAttributed(t,a,r){let o=r.getMetadataForScope(a),n=t.scopePath.push(a),s=r.themeProvider.themeMatch(n),i=We.mergeAttributes(t.tokenAttributes,o,s);return new We(t,n,i)}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(t){let a=[],r=this;for(;r&&r!==t;)a.push({encodedTokenAttributes:r.tokenAttributes,scopeNames:r.scopePath.getExtensionIfDefined(r.parent?.scopePath??null)}),r=r.parent;return r===t?a.reverse():void 0}},co=class mt{constructor(t,a,r,o,n,s,i,l){this.parent=t,this.ruleId=a,this.beginRuleCapturedEOL=n,this.endRule=s,this.nameScopesList=i,this.contentNameScopesList=l,this.depth=this.parent?this.parent.depth+1:1,this._enterPos=r,this._anchorPos=o}_stackElementBrand=void 0;static NULL=new mt(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:mt._equals(this,t)}static _equals(t,a){return t===a?!0:this._structuralEquals(t,a)?ea.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(){mt._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,a,r,o,n,s,i){return new mt(this,t,a,r,o,n,s,i)}getEnterPos(){return this._enterPos}getAnchorPos(){return this._anchorPos}getRule(t){return t.getRule(this.ruleId)}toString(){let t=[];return this._writeString(t,0),"["+t.join(",")+"]"}_writeString(t,a){return this.parent&&(a=this.parent._writeString(t,a)),t[a++]=`(${this.ruleId}, ${this.nameScopesList?.toString()}, ${this.contentNameScopesList?.toString()})`,a}withContentNameScopesList(t){return this.contentNameScopesList===t?this:this.parent.push(this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,this.endRule,this.nameScopesList,t)}withEndRule(t){return this.endRule===t?this:new mt(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 r=ea.fromExtension(t?.nameScopesList??null,a.nameScopesList);return new mt(t,a.ruleId,a.enterPos??-1,a.anchorPos??-1,a.beginRuleCapturedEOL,a.endRule,r,ea.fromExtension(r,a.contentNameScopesList))}},of=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(a=>a==="*"?(this.allowAny=!0,[]):qa(a,Va).map(r=>r.matcher)),this.unbalancedBracketScopes=t.flatMap(a=>qa(a,Va).map(r=>r.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}},nf=class{constructor(e,t,a,r){this.balancedBracketSelectors=r,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 r=e?.tokenAttributes??0,o=!1;if(this.balancedBracketSelectors?.matchesAlways&&(o=!0),this._tokenTypeOverrides.length>0||this.balancedBracketSelectors&&!this.balancedBracketSelectors.matchesAlways&&!this.balancedBracketSelectors.matchesNever){let n=e?.getScopeNames()??[];for(let s of this._tokenTypeOverrides)s.matcher(n)&&(r=ht.set(r,0,s.type,null,-1,0,0));this.balancedBracketSelectors&&(o=this.balancedBracketSelectors.match(n))}if(o&&(r=ht.set(r,0,8,o,-1,0,0)),this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-1]===r){this._lastTokenEndIndex=t;return}this._binaryTokens.push(this._lastTokenEndIndex),this._binaryTokens.push(r),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 r=0,o=this._binaryTokens.length;r<o;r++)a[r]=this._binaryTokens[r];return a}},sf=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,r,o){if(!this._grammars.has(e)){let n=this._rawGrammars.get(e);if(!n)return null;this._grammars.set(e,tf(e,n,t,a,r,o,this,this._onigLib))}return this._grammars.get(e)}},ui=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new sf(ta.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(ta.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 of(a.balancedBracketSelectors||[],a.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,a,r,o){let n=new _c(this._syncRegistry,e);for(;n.Q.length>0;)n.Q.map(s=>this._loadSingleGrammar(s.scopeName)),n.processQueue();return this._grammarForScopeName(e,t,a,r,o)}_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,r=null){return this._syncRegistry.addGrammar(e,t),this._grammarForScopeName(e.scopeName,a,r)}_grammarForScopeName(e,t=0,a=null,r=null,o=null){return this._syncRegistry.grammarForScopeName(e,t,a,r,o)}},za=co.NULL;var lf=/["&'<>`]/g,uf=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,df=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,cf=/[|\\{}()[\]^$+*?.]/g,di=new WeakMap;function ci(e,t){if(e=e.replace(t.subset?ff(t.subset):lf,r),t.subset||t.escapeOnly)return e;return e.replace(uf,a).replace(df,r);function a(o,n,s){return t.format((o.charCodeAt(0)-55296)*1024+o.charCodeAt(1)-56320+65536,s.charCodeAt(n+2),t)}function r(o,n,s){return t.format(o.charCodeAt(0),s.charCodeAt(n+1),t)}}function ff(e){let t=di.get(e);return t||(t=pf(e),di.set(e,t)),t}function pf(e){let t=[],a=-1;for(;++a<e.length;)t.push(e[a].replace(cf,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}var mf=/[\dA-Fa-f]/;function fi(e,t,a){let r="&#x"+e.toString(16).toUpperCase();return a&&t&&!mf.test(String.fromCharCode(t))?r:r+";"}var hf=/\d/;function pi(e,t,a){let r="&#"+String(e);return a&&t&&!hf.test(String.fromCharCode(t))?r:r+";"}var mi=["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 ja={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 hi=["cent","copy","divide","gt","lt","not","para","times"];var gi={}.hasOwnProperty,po={},$a;for($a in ja)gi.call(ja,$a)&&(po[ja[$a]]=$a);var gf=/[^\dA-Za-z]/;function wi(e,t,a,r){let o=String.fromCharCode(e);if(gi.call(po,o)){let n=po[o],s="&"+n;return a&&mi.includes(n)&&!hi.includes(n)&&(!r||t&&t!==61&&gf.test(String.fromCharCode(t)))?s:s+";"}return""}function xi(e,t,a){let r=fi(e,t,a.omitOptionalSemicolons),o;if((a.useNamedReferences||a.useShortestReferences)&&(o=wi(e,t,a.omitOptionalSemicolons,a.attribute)),(a.useShortestReferences||!o)&&a.useShortestReferences){let n=pi(e,t,a.omitOptionalSemicolons);n.length<r.length&&(r=n)}return o&&(!a.useShortestReferences||o.length<r.length)?o:r}function Xe(e,t){return ci(e,Object.assign({format:xi},t))}var wf=/^>|^->|<!--|-->|--!>|<!-$/g,xf=[">"],If=["<",">"];function Ii(e,t,a,r){return r.settings.bogusComments?"<?"+Xe(e.value,Object.assign({},r.settings.characterReferences,{subset:xf}))+">":"<!--"+e.value.replace(wf,o)+"-->";function o(n){return Xe(n,Object.assign({},r.settings.characterReferences,{subset:If}))}}function Li(e,t,a,r){return"<!"+(r.settings.upperDoctype?"DOCTYPE":"doctype")+(r.settings.tightDoctype?"":" ")+"html>"}var ie=Ci(1),mo=Ci(-1),Lf=[];function Ci(e){return t;function t(a,r,o){let n=a?a.children:Lf,s=(r||0)+e,i=n[s];if(!o)for(;i&&yt(i);)s+=e,i=n[s];return i}}var Cf={}.hasOwnProperty;function Xa(e){return t;function t(a,r,o){return Cf.call(e,a.tagName)&&e[a.tagName](a,r,o)}}var sa=Xa({body:yf,caption:ho,colgroup:ho,dd:vf,dt:Tf,head:ho,html:Sf,li:kf,optgroup:Pf,option:Af,p:bf,rp:Si,rt:Si,tbody:Mf,td:yi,tfoot:Ff,th:yi,thead:Rf,tr:Bf});function ho(e,t,a){let r=ie(a,t,!0);return!r||r.type!=="comment"&&!(r.type==="text"&&yt(r.value.charAt(0)))}function Sf(e,t,a){let r=ie(a,t);return!r||r.type!=="comment"}function yf(e,t,a){let r=ie(a,t);return!r||r.type!=="comment"}function bf(e,t,a){let r=ie(a,t);return r?r.type==="element"&&(r.tagName==="address"||r.tagName==="article"||r.tagName==="aside"||r.tagName==="blockquote"||r.tagName==="details"||r.tagName==="div"||r.tagName==="dl"||r.tagName==="fieldset"||r.tagName==="figcaption"||r.tagName==="figure"||r.tagName==="footer"||r.tagName==="form"||r.tagName==="h1"||r.tagName==="h2"||r.tagName==="h3"||r.tagName==="h4"||r.tagName==="h5"||r.tagName==="h6"||r.tagName==="header"||r.tagName==="hgroup"||r.tagName==="hr"||r.tagName==="main"||r.tagName==="menu"||r.tagName==="nav"||r.tagName==="ol"||r.tagName==="p"||r.tagName==="pre"||r.tagName==="section"||r.tagName==="table"||r.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 kf(e,t,a){let r=ie(a,t);return!r||r.type==="element"&&r.tagName==="li"}function Tf(e,t,a){let r=ie(a,t);return!!(r&&r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd"))}function vf(e,t,a){let r=ie(a,t);return!r||r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd")}function Si(e,t,a){let r=ie(a,t);return!r||r.type==="element"&&(r.tagName==="rp"||r.tagName==="rt")}function Pf(e,t,a){let r=ie(a,t);return!r||r.type==="element"&&r.tagName==="optgroup"}function Af(e,t,a){let r=ie(a,t);return!r||r.type==="element"&&(r.tagName==="option"||r.tagName==="optgroup")}function Rf(e,t,a){let r=ie(a,t);return!!(r&&r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot"))}function Mf(e,t,a){let r=ie(a,t);return!r||r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot")}function Ff(e,t,a){return!ie(a,t)}function Bf(e,t,a){let r=ie(a,t);return!r||r.type==="element"&&r.tagName==="tr"}function yi(e,t,a){let r=ie(a,t);return!r||r.type==="element"&&(r.tagName==="td"||r.tagName==="th")}var bi=Xa({body:_f,colgroup:Of,head:Df,html:Ef,tbody:Nf});function Ef(e){let t=ie(e,-1);return!t||t.type!=="comment"}function Df(e){let t=new Set;for(let r of e.children)if(r.type==="element"&&(r.tagName==="base"||r.tagName==="title")){if(t.has(r.tagName))return!1;t.add(r.tagName)}let a=e.children[0];return!a||a.type==="element"}function _f(e){let t=ie(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&yt(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function Of(e,t,a){let r=mo(a,t),o=ie(e,-1,!0);return a&&r&&r.type==="element"&&r.tagName==="colgroup"&&sa(r,a.children.indexOf(r),a)?!1:!!(o&&o.type==="element"&&o.tagName==="col")}function Nf(e,t,a){let r=mo(a,t),o=ie(e,-1);return a&&r&&r.type==="element"&&(r.tagName==="thead"||r.tagName==="tbody")&&sa(r,a.children.indexOf(r),a)?!1:!!(o&&o.type==="element"&&o.tagName==="tr")}var Ka={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 yn,b as bn,c as kn,d as Tn,e as vn,f as La,g as Pn,h as An,i as Rn,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 yi(e,t,a,r){let o=r.schema,n=o.space==="svg"?!1:r.settings.omitOptionalTags,s=o.space==="svg"?r.settings.closeEmptyElements:r.settings.voids.includes(e.tagName.toLowerCase()),i=[],l;o.space==="html"&&e.tagName==="svg"&&(r.schema=La);let u=Bf(r,e.properties),c=r.all(o.space==="html"&&e.tagName==="template"?e.content:e);return r.schema=o,c&&(s=!1),(u||!n||!Si(e,t,a))&&(i.push("<",e.tagName,u?" "+u:""),s&&(o.space==="svg"||r.settings.closeSelfClosing)&&(l=u.charAt(u.length-1),(!r.settings.tightSelfClosing||l==="/"||l&&l!=='"'&&l!=="'")&&i.push(" "),i.push("/")),i.push(">")),i.push(c),!s&&(!n||!na(e,t,a))&&i.push("</"+e.tagName+">"),i.join("")}function Bf(e,t){let a=[],r=-1,o;if(t){for(o in t)if(t[o]!==null&&t[o]!==void 0){let n=Ef(e,o,t[o]);n&&a.push(n)}}for(;++r<a.length;){let n=e.settings.tightAttributes?a[r].charAt(a[r].length-1):void 0;r!==a.length-1&&n!=='"'&&n!=="'"&&(a[r]+=" ")}return a.join("")}function Ef(e,t,a){let r=Tn(e.schema,t),o=e.settings.allowParseErrors&&e.schema.space==="html"?0:1,n=e.settings.allowDangerousCharacters?0:1,s=e.quote,i;if(r.overloadedBoolean&&(a===r.attribute||a==="")?a=!0:(r.boolean||r.overloadedBoolean)&&(typeof a!="string"||a===r.attribute||a==="")&&(a=!!a),a==null||a===!1||typeof a=="number"&&Number.isNaN(a))return"";let l=ze(r.attribute,Object.assign({},e.settings.characterReferences,{subset:$a.name[o][n]}));return a===!0||(a=Array.isArray(a)?(r.commaSeparated?Pn:An)(a,{padLeft:!e.settings.tightCommaSeparatedLists}):String(a),e.settings.collapseEmptyAttributes&&!a)?l:(e.settings.preferUnquoted&&(i=ze(a,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:$a.unquoted[o][n]}))),i!==a&&(e.settings.quoteSmart&&Br(a,s)>Br(a,e.alternative)&&(s=e.alternative),i=s+ze(a,Object.assign({},e.settings.characterReferences,{subset:(s==="'"?$a.single:$a.double)[o][n],attribute:!0}))+s),l+(i&&"="+i))}var Df=["<","&"];function Xa(e,t,a,r){return a&&a.type==="element"&&(a.tagName==="script"||a.tagName==="style")?e.value:ze(e.value,Object.assign({},r.settings.characterReferences,{subset:Df}))}function bi(e,t,a,r){return r.settings.allowDangerousHtml?e.value:Xa(e,t,a,r)}function ki(e,t,a,r){return r.all(e)}var Ti=Rn("type",{invalid:_f,unknown:Nf,handlers:{comment:wi,doctype:xi,element:yi,raw:bi,root:ki,text:Xa}});function _f(e){throw new Error("Expected node, not `"+e+"`")}function Nf(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var Of={},Uf={},Hf=[];function po(e,t){let a=t||Of,r=a.quote||'"',o=r==='"'?"'":'"';if(r!=='"'&&r!=="'")throw new Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:qf,all:Wf,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||Mn,characterReferences:a.characterReferences||Uf,closeSelfClosing:a.closeSelfClosing||!1,closeEmptyElements:a.closeEmptyElements||!1},schema:a.space==="svg"?La:vn,quote:r,alternative:o}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function qf(e,t,a){return Ti(e,t,a,this)}function Wf(e){let t=[],a=e&&e.children||Hf,r=-1;for(;++r<a.length;)t[r]=this.one(a[r],r,e);return t.join("")}function Ka(e,t){let a=typeof e=="string"?{}:{...e.colorReplacements},r=typeof e=="string"?e:e.name;for(let[o,n]of Object.entries(t?.colorReplacements||{}))typeof n=="string"?a[o]=n:o===r&&Object.assign(a,n);return a}function Ze(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function Gf(e){return Array.isArray(e)?e:[e]}async function Bi(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function Lo(e){return!e||["plaintext","txt","text","plain"].includes(e)}function Ei(e){return e==="ansi"||Lo(e)}function Io(e){return e==="none"}function Di(e){return Io(e)}function _i(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 r of a)r&&!e.properties.class.includes(r)&&e.properties.class.push(r);return e}function er(e,t=!1){if(e.length===0)return[["",0]];let a=e.split(/(\r?\n)/g),r=0,o=[];for(let n=0;n<a.length;n+=2){let s=t?a[n]+(a[n+1]||""):a[n];o.push([s,r]),r+=a[n].length,r+=a[n+1]?.length||0}return o}function Vf(e){let t=er(e,!0).map(([o])=>o);function a(o){if(o===e.length)return{line:t.length-1,character:t[t.length-1].length};let n=o,s=0;for(let i of t){if(n<i.length)break;n-=i.length,s++}return{line:s,character:n}}function r(o,n){let s=0;for(let i=0;i<o;i++)s+=t[i].length;return s+=n,s}return{lines:t,indexToPos:a,posToIndex:r}}function Ni(e,t,a){let r=new Set;for(let n of e.matchAll(/:?lang=["']([^"']+)["']/g)){let s=n[1].toLowerCase().trim();s&&r.add(s)}for(let n of e.matchAll(/(?:```|~~~)([\w-]+)/g)){let s=n[1].toLowerCase().trim();s&&r.add(s)}for(let n of e.matchAll(/\\begin\{([\w-]+)\}/g)){let s=n[1].toLowerCase().trim();s&&r.add(s)}for(let n of e.matchAll(/<script\s+(?:type|lang)=["']([^"']+)["']/gi)){let s=n[1].toLowerCase().trim(),i=s.includes("/")?s.split("/").pop():s;i&&r.add(i)}if(!a)return Array.from(r);let o=a.getBundledLanguages();return Array.from(r).filter(n=>n&&o[n])}var Co="light-dark()",zf=["color","background-color"];function jf(e,t){let a=0,r=[];for(let o of t)o>a&&r.push({...e,content:e.content.slice(a,o),offset:e.offset+a}),a=o;return a<e.content.length&&r.push({...e,content:e.content.slice(a),offset:e.offset+a}),r}function $f(e,t){let a=Array.from(t instanceof Set?t:new Set(t)).sort((r,o)=>r-o);return a.length?e.map(r=>r.flatMap(o=>{let n=a.filter(s=>o.offset<s&&s<o.offset+o.content.length).map(s=>s-o.offset).sort((s,i)=>s-i);return n.length?jf(o,n):o})):e}function Xf(e,t,a,r,o="css-vars"){let n={content:e.content,explanation:e.explanation,offset:e.offset},s=t.map(c=>Qa(e.variants[c])),i=new Set(s.flatMap(c=>Object.keys(c))),l={},u=(c,d)=>{let f=d==="color"?"":d==="background-color"?"-bg":`-${d}`;return a+t[c]+(d==="color"?"":f)};return s.forEach((c,d)=>{for(let f of i){let p=c[f]||"inherit";if(d===0&&r&&zf.includes(f))if(r===Co&&s.length>1){let m=t.findIndex(g=>g==="light"),I=t.findIndex(g=>g==="dark");if(m===-1||I===-1)throw new te('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let L=s[m][f]||"inherit",w=s[I][f]||"inherit";l[f]=`light-dark(${L}, ${w})`,o==="css-vars"&&(l[u(d,f)]=p)}else l[f]=p;else o==="css-vars"&&(l[u(d,f)]=p)}}),n.htmlStyle=l,n}function Qa(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t["background-color"]=e.bgColor),e.fontStyle){e.fontStyle&Ie.Italic&&(t["font-style"]="italic"),e.fontStyle&Ie.Bold&&(t["font-weight"]="bold");let a=[];e.fontStyle&Ie.Underline&&a.push("underline"),e.fontStyle&Ie.Strikethrough&&a.push("line-through"),a.length&&(t["text-decoration"]=a.join(" "))}return t}function go(e){return typeof e=="string"?e:Object.entries(e).map(([t,a])=>`${t}:${a}`).join(";")}var Oi=new WeakMap;function tr(e,t){Oi.set(e,t)}function ia(e){return Oi.get(e)}var Tt=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(Gf(a).map(r=>[r,Ga])),t)}constructor(...t){if(t.length===2){let[a,r]=t;this.lang=r,this._stacks=a}else{let[a,r,o]=t;this.lang=r,this._stacks={[o]:a}}}getInternalStack(t=this.theme){return this._stacks[t]}getScopes(t=this.theme){return Kf(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function Kf(e){let t=[],a=new Set;function r(o){if(a.has(o))return;a.add(o);let n=o?.nameScopesList?.scopeName;n&&t.push(n),o.parent&&r(o.parent)}return r(e),t}function Qf(e,t){if(!(e instanceof Tt))throw new te("Invalid grammar state");return e.getInternalStack(t)}function Jf(){let e=new WeakMap;function t(a){if(!e.has(a.meta)){let r=function(s){if(typeof s=="number"){if(s<0||s>a.source.length)throw new te(`Invalid decoration offset: ${s}. Code length: ${a.source.length}`);return{...o.indexToPos(s),offset:s}}else{let i=o.lines[s.line];if(i===void 0)throw new te(`Invalid decoration position ${JSON.stringify(s)}. Lines length: ${o.lines.length}`);let l=s.character;if(l<0&&(l=i.length+l),l<0||l>i.length)throw new te(`Invalid decoration position ${JSON.stringify(s)}. Line ${s.line} length: ${i.length}`);return{...s,character:l,offset:o.posToIndex(s.line,l)}}},o=Vf(a.source),n=(a.options.decorations||[]).map(s=>({...s,start:r(s.start),end:r(s.end)}));Yf(n),e.set(a.meta,{decorations:n,converter:o,source:a.source})}return e.get(a.meta)}return{name:"shiki:decorations",tokens(a){if(!this.options.decorations?.length)return;let o=t(this).decorations.flatMap(s=>[s.start.offset,s.end.offset]);return $f(a,o)},code(a){if(!this.options.decorations?.length)return;let r=t(this),o=Array.from(a.children).filter(c=>c.type==="element"&&c.tagName==="span");if(o.length!==r.converter.lines.length)throw new te(`Number of lines in code element (${o.length}) does not match the number of lines in the source (${r.converter.lines.length}). Failed to apply decorations.`);function n(c,d,f,p){let m=o[c],I="",L=-1,w=-1;if(d===0&&(L=0),f===0&&(w=0),f===Number.POSITIVE_INFINITY&&(w=m.children.length),L===-1||w===-1)for(let h=0;h<m.children.length;h++)I+=Ui(m.children[h]),L===-1&&I.length===d&&(L=h+1),w===-1&&I.length===f&&(w=h+1);if(L===-1)throw new te(`Failed to find start index for decoration ${JSON.stringify(p.start)}`);if(w===-1)throw new te(`Failed to find end index for decoration ${JSON.stringify(p.end)}`);let g=m.children.slice(L,w);if(!p.alwaysWrap&&g.length===m.children.length)i(m,p,"line");else if(!p.alwaysWrap&&g.length===1&&g[0].type==="element")i(g[0],p,"token");else{let h={type:"element",tagName:"span",properties:{},children:g};i(h,p,"wrapper"),m.children.splice(L,g.length,h)}}function s(c,d){o[c]=i(o[c],d,"line")}function i(c,d,f){let p=d.properties||{},m=d.transform||(I=>I);return c.tagName=d.tagName||"span",c.properties={...c.properties,...p,class:c.properties.class},d.properties?.class&&_i(c,d.properties.class),c=m(c,f)||c,c}let l=[],u=r.decorations.sort((c,d)=>d.start.offset-c.start.offset||c.end.offset-d.end.offset);for(let c of u){let{start:d,end:f}=c;if(d.line===f.line)n(d.line,d.character,f.character,c);else if(d.line<f.line){n(d.line,d.character,Number.POSITIVE_INFINITY,c);for(let p=d.line+1;p<f.line;p++)l.unshift(()=>s(p,c));n(f.line,0,f.character,c)}}l.forEach(c=>c())}}}function Yf(e){for(let t=0;t<e.length;t++){let a=e[t];if(a.start.offset>a.end.offset)throw new te(`Invalid decoration range: ${JSON.stringify(a.start)} - ${JSON.stringify(a.end)}`);for(let r=t+1;r<e.length;r++){let o=e[r],n=a.start.offset<=o.start.offset&&o.start.offset<a.end.offset,s=a.start.offset<o.end.offset&&o.end.offset<=a.end.offset,i=o.start.offset<=a.start.offset&&a.start.offset<o.end.offset,l=o.start.offset<a.end.offset&&a.end.offset<=o.end.offset;if(n||s||i||l){if(n&&s||i&&l||i&&a.start.offset===a.end.offset||s&&o.start.offset===o.end.offset)continue;throw new te(`Decorations ${JSON.stringify(a.start)} and ${JSON.stringify(o.start)} intersect.`)}}}}function Ui(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(Ui).join(""):""}var Zf=[Jf()];function Ja(e){let t=ep(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...Zf]}function ep(e){let t=[],a=[],r=[];for(let o of e)switch(o.enforce){case"pre":t.push(o);break;case"post":a.push(o);break;default:r.push(o)}return{pre:t,post:a,normal:r}}var ft=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],mo={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function tp(e,t){let a=e.indexOf("\x1B",t);if(a!==-1&&e[a+1]==="["){let r=e.indexOf("m",a);if(r!==-1)return{sequence:e.substring(a+2,r).split(";"),startPosition:a,position:r+1}}return{position:e.length}}function vi(e){let t=e.shift();if(t==="2"){let a=e.splice(0,3).map(r=>Number.parseInt(r));return a.length!==3||a.some(r=>Number.isNaN(r))?void 0:{type:"rgb",rgb:a}}else if(t==="5"){let a=e.shift();if(a)return{type:"table",index:Number(a)}}}function ap(e){let t=[];for(;e.length>0;){let a=e.shift();if(!a)continue;let r=Number.parseInt(a);if(!Number.isNaN(r))if(r===0)t.push({type:"resetAll"});else if(r<=9)mo[r]&&t.push({type:"setDecoration",value:mo[r]});else if(r<=29){let o=mo[r-20];o&&(t.push({type:"resetDecoration",value:o}),o==="dim"&&t.push({type:"resetDecoration",value:"bold"}))}else if(r<=37)t.push({type:"setForegroundColor",value:{type:"named",name:ft[r-30]}});else if(r===38){let o=vi(e);o&&t.push({type:"setForegroundColor",value:o})}else if(r===39)t.push({type:"resetForegroundColor"});else if(r<=47)t.push({type:"setBackgroundColor",value:{type:"named",name:ft[r-40]}});else if(r===48){let o=vi(e);o&&t.push({type:"setBackgroundColor",value:o})}else r===49?t.push({type:"resetBackgroundColor"}):r===53?t.push({type:"setDecoration",value:"overline"}):r===55?t.push({type:"resetDecoration",value:"overline"}):r>=90&&r<=97?t.push({type:"setForegroundColor",value:{type:"named",name:ft[r-90+8]}}):r>=100&&r<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:ft[r-100+8]}})}return t}function rp(){let e=null,t=null,a=new Set;return{parse(r){let o=[],n=0;do{let s=tp(r,n),i=s.sequence?r.substring(n,s.startPosition):r.substring(n);if(i.length>0&&o.push({value:i,foreground:e,background:t,decorations:new Set(a)}),s.sequence){let l=ap(s.sequence);for(let u of l)u.type==="resetAll"?(e=null,t=null,a.clear()):u.type==="resetForegroundColor"?e=null:u.type==="resetBackgroundColor"?t=null:u.type==="resetDecoration"&&a.delete(u.value);for(let u of l)u.type==="setForegroundColor"?e=u.value:u.type==="setBackgroundColor"?t=u.value:u.type==="setDecoration"&&a.add(u.value)}n=s.position}while(n<r.length);return o}}}var op={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 np(e=op){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 r;function o(){if(r)return r;r=[];for(let u=0;u<ft.length;u++)r.push(t(ft[u]));let i=[0,95,135,175,215,255];for(let u=0;u<6;u++)for(let c=0;c<6;c++)for(let d=0;d<6;d++)r.push(a([i[u],i[c],i[d]]));let l=8;for(let u=0;u<24;u++,l+=10)r.push(a([l,l,l]));return r}function n(i){return o()[i]}function s(i){switch(i.type){case"named":return t(i.name);case"rgb":return a(i.rgb);case"table":return n(i.index)}}return{value:s}}var sp={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 ip(e,t,a){let r=Ka(e,a),o=er(t),n=Object.fromEntries(ft.map(l=>{let u=`terminal.ansi${l[0].toUpperCase()}${l.substring(1)}`,c=e.colors?.[u];return[l,c||sp[l]]})),s=np(n),i=rp();return o.map(l=>i.parse(l[0]).map(u=>{let c,d;u.decorations.has("reverse")?(c=u.background?s.value(u.background):e.bg,d=u.foreground?s.value(u.foreground):e.fg):(c=u.foreground?s.value(u.foreground):e.fg,d=u.background?s.value(u.background):void 0),c=Ze(c,r),d=Ze(d,r),u.decorations.has("dim")&&(c=lp(c));let f=Ie.None;return u.decorations.has("bold")&&(f|=Ie.Bold),u.decorations.has("italic")&&(f|=Ie.Italic),u.decorations.has("underline")&&(f|=Ie.Underline),u.decorations.has("strikethrough")&&(f|=Ie.Strikethrough),{content:u.value,offset:l[1],color:c,bgColor:d,fontStyle:f}}))}function lp(e){let t=e.match(/#([0-9a-f]{3,8})/i);if(t){let r=t[1];if(r.length===8){let o=Math.round(Number.parseInt(r.slice(6,8),16)/2).toString(16).padStart(2,"0");return`#${r.slice(0,6)}${o}`}else{if(r.length===6)return`#${r}80`;if(r.length===4){let o=r[0],n=r[1],s=r[2],i=r[3],l=Math.round(Number.parseInt(`${i}${i}`,16)/2).toString(16).padStart(2,"0");return`#${o}${o}${n}${n}${s}${s}${l}`}else if(r.length===3){let o=r[0],n=r[1],s=r[2];return`#${o}${o}${n}${n}${s}${s}80`}}}let a=e.match(/var\((--[\w-]+-ansi-[\w-]+)\)/);return a?`var(${a[1]}-dim)`:e}function So(e,t,a={}){let{theme:r=e.getLoadedThemes()[0]}=a,o=e.resolveLangAlias(a.lang||"text");if(Lo(o)||Io(r))return er(t).map(l=>[{content:l[0],offset:l[1]}]);let{theme:n,colorMap:s}=e.setTheme(r);if(o==="ansi")return ip(n,t,a);let i=e.getLanguage(a.lang||"text");if(a.grammarState){if(a.grammarState.lang!==i.name)throw new te(`Grammar state language "${a.grammarState.lang}" does not match highlight language "${i.name}"`);if(!a.grammarState.themes.includes(n.name))throw new te(`Grammar state themes "${a.grammarState.themes}" do not contain highlight theme "${n.name}"`)}return dp(t,i,n,s,a)}function up(...e){if(e.length===2)return ia(e[1]);let[t,a,r={}]=e,{lang:o="text",theme:n=t.getLoadedThemes()[0]}=r;if(Lo(o)||Io(n))throw new te("Plain language does not have grammar state");if(o==="ansi")throw new te("ANSI language does not have grammar state");let{theme:s,colorMap:i}=t.setTheme(n),l=t.getLanguage(o);return new Tt(yo(a,l,s,i,r).stateStack,l.name,s.name)}function dp(e,t,a,r,o){let n=yo(e,t,a,r,o),s=new Tt(n.stateStack,t.name,a.name);return tr(n.tokens,s),n.tokens}function yo(e,t,a,r,o){let n=Ka(a,o),{tokenizeMaxLineLength:s=0,tokenizeTimeLimit:i=500}=o,l=er(e),u=o.grammarState?Qf(o.grammarState,a.name)??Ga:o.grammarContextCode!=null?yo(o.grammarContextCode,t,a,r,{...o,grammarState:void 0,grammarContextCode:void 0}).stateStack:Ga,c=[],d=[];for(let f=0,p=l.length;f<p;f++){let[m,I]=l[f];if(m===""){c=[],d.push([]);continue}if(s>0&&m.length>=s){c=[],d.push([{content:m,offset:I,color:"",fontStyle:0}]);continue}let L,w,g;o.includeExplanation&&(L=t.tokenizeLine(m,u,i),w=L.tokens,g=0);let h=t.tokenizeLine2(m,u,i),x=h.tokens.length/2;for(let S=0;S<x;S++){let v=h.tokens[2*S],A=S+1<x?h.tokens[2*S+2]:m.length;if(v===A)continue;let P=h.tokens[2*S+1],D=Ze(r[ct.getForeground(P)],n),k=ct.getFontStyle(P),M={content:m.substring(v,A),offset:I+v,color:D,fontStyle:k};if(o.includeExplanation){let b=[];if(o.includeExplanation!=="scopeName")for(let q of a.settings){let y;switch(typeof q.scope){case"string":y=q.scope.split(/,/).map(F=>F.trim());break;case"object":y=q.scope;break;default:continue}b.push({settings:q,selectors:y.map(F=>F.split(/ /))})}M.explanation=[];let z=0;for(;v+z<A;){let q=w[g],y=m.substring(q.startIndex,q.endIndex);z+=y.length,M.explanation.push({content:y,scopes:o.includeExplanation==="scopeName"?cp(q.scopes):fp(b,q.scopes)}),g+=1}}c.push(M)}d.push(c),c=[],u=h.ruleStack}return{tokens:d,stateStack:u}}function cp(e){return e.map(t=>({scopeName:t}))}function fp(e,t){let a=[];for(let r=0,o=t.length;r<o;r++){let n=t[r];a[r]={scopeName:n,themeMatches:mp(e,n,t.slice(0,r))}}return a}function Pi(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function pp(e,t,a){if(!Pi(e[e.length-1],t))return!1;let r=e.length-2,o=a.length-1;for(;r>=0&&o>=0;)Pi(e[r],a[o])&&(r-=1),o-=1;return r===-1}function mp(e,t,a){let r=[];for(let{selectors:o,settings:n}of e)for(let s of o)if(pp(s,t,a)){r.push(n);break}return r}function Hi(e,t,a){let r=Object.entries(a.themes).filter(l=>l[1]).map(l=>({color:l[0],theme:l[1]})),o=r.map(l=>{let u=So(e,t,{...a,theme:l.theme}),c=ia(u),d=typeof l.theme=="string"?l.theme:l.theme.name;return{tokens:u,state:c,theme:d}}),n=hp(...o.map(l=>l.tokens)),s=n[0].map((l,u)=>l.map((c,d)=>{let f={content:c.content,variants:{},offset:c.offset};return"includeExplanation"in a&&a.includeExplanation&&(f.explanation=c.explanation),n.forEach((p,m)=>{let{content:I,explanation:L,offset:w,...g}=p[u][d];f.variants[r[m].color]=g}),f})),i=o[0].state?new Tt(Object.fromEntries(o.map(l=>[l.theme,l.state?.getInternalStack(l.theme)])),o[0].state.lang):void 0;return i&&tr(s,i),s}function hp(...e){let t=e.map(()=>[]),a=e.length;for(let r=0;r<e[0].length;r++){let o=e.map(l=>l[r]),n=t.map(()=>[]);t.forEach((l,u)=>l.push(n[u]));let s=o.map(()=>0),i=o.map(l=>l[0]);for(;i.every(l=>l);){let l=Math.min(...i.map(u=>u.content.length));for(let u=0;u<a;u++){let c=i[u];c.content.length===l?(n[u].push(c),s[u]+=1,i[u]=o[u][s[u]]):(n[u].push({...c,content:c.content.slice(0,l)}),i[u]={...c,content:c.content.slice(l),offset:c.offset+l})}}}return t}function Ya(e,t,a){let r,o,n,s,i,l;if("themes"in a){let{defaultColor:u="light",cssVariablePrefix:c="--shiki-",colorsRendering:d="css-vars"}=a,f=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(f.length===0)throw new te("`themes` option must not be empty");let p=Hi(e,t,a);if(l=ia(p),u&&Co!==u&&!f.find(w=>w.color===u))throw new te(`\`themes\` option must contain the defaultColor key \`${u}\``);let m=f.map(w=>e.getTheme(w.theme)),I=f.map(w=>w.color);n=p.map(w=>w.map(g=>Xf(g,I,c,u,d))),l&&tr(n,l);let L=f.map(w=>Ka(w.theme,a));o=Ai(f,m,L,c,u,"fg",d),r=Ai(f,m,L,c,u,"bg",d),s=`shiki-themes ${m.map(w=>w.name).join(" ")}`,i=u?void 0:[o,r].join(";")}else if("theme"in a){let u=Ka(a.theme,a);n=So(e,t,a);let c=e.getTheme(a.theme);r=Ze(c.bg,u),o=Ze(c.fg,u),s=c.name,l=ia(n)}else throw new te("Invalid options, either `theme` or `themes` must be provided");return{tokens:n,fg:o,bg:r,themeName:s,rootStyle:i,grammarState:l}}function Ai(e,t,a,r,o,n,s){return e.map((i,l)=>{let u=Ze(t[l][n],a[l])||"inherit",c=`${r+i.color}${n==="bg"?"-bg":""}:${u}`;if(l===0&&o){if(o===Co&&e.length>1){let d=e.findIndex(I=>I.color==="light"),f=e.findIndex(I=>I.color==="dark");if(d===-1||f===-1)throw new te('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let p=Ze(t[d][n],a[d])||"inherit",m=Ze(t[f][n],a[f])||"inherit";return`light-dark(${p}, ${m});${c}`}return u}return s==="css-vars"?c:null}).filter(i=>!!i).join(";")}function Za(e,t,a,r={meta:{},options:a,codeToHast:(o,n)=>Za(e,o,n),codeToTokens:(o,n)=>Ya(e,o,n)}){let o=t;for(let m of Ja(a))o=m.preprocess?.call(r,o,a)||o;let{tokens:n,fg:s,bg:i,themeName:l,rootStyle:u,grammarState:c}=Ya(e,o,a),{mergeWhitespaces:d=!0,mergeSameStyleTokens:f=!1}=a;d===!0?n=wp(n):d==="never"&&(n=xp(n)),f&&(n=Lp(n));let p={...r,get source(){return o}};for(let m of Ja(a))n=m.tokens?.call(p,n)||n;return gp(n,{...a,fg:s,bg:i,themeName:l,rootStyle:a.rootStyle===!1?!1:a.rootStyle??u},p,c)}function gp(e,t,a,r=ia(e)){let o=Ja(t),n=[],s={type:"root",children:[]},{structure:i="classic",tabindex:l="0"}=t,u={class:`shiki ${t.themeName||""}`};t.rootStyle!==!1&&(t.rootStyle!=null?u.style=t.rootStyle:u.style=`background-color:${t.bg};color:${t.fg}`),l!==!1&&l!=null&&(u.tabindex=l.toString());for(let[I,L]of Object.entries(t.meta||{}))I.startsWith("_")||(u[I]=L);let c={type:"element",tagName:"pre",properties:u,children:[],data:t.data},d={type:"element",tagName:"code",properties:{},children:n},f=[],p={...a,structure:i,addClassToHast:_i,get source(){return a.source},get tokens(){return e},get options(){return t},get root(){return s},get pre(){return c},get code(){return d},get lines(){return f}};if(e.forEach((I,L)=>{L&&(i==="inline"?s.children.push({type:"element",tagName:"br",properties:{},children:[]}):i==="classic"&&n.push({type:"text",value:`
13
- `}));let w={type:"element",tagName:"span",properties:{class:"line"},children:[]},g=0;for(let h of I){let x={type:"element",tagName:"span",properties:{...h.htmlAttrs},children:[{type:"text",value:h.content}]},S=go(h.htmlStyle||Qa(h));S&&(x.properties.style=S);for(let v of o)x=v?.span?.call(p,x,L+1,g,w,h)||x;i==="inline"?s.children.push(x):i==="classic"&&w.children.push(x),g+=h.content.length}if(i==="classic"){for(let h of o)w=h?.line?.call(p,w,L+1)||w;f.push(w),n.push(w)}else i==="inline"&&f.push(w)}),i==="classic"){for(let I of o)d=I?.code?.call(p,d)||d;c.children.push(d);for(let I of o)c=I?.pre?.call(p,c)||c;s.children.push(c)}else if(i==="inline"){let I=[],L={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(let h of s.children)h.type==="element"&&h.tagName==="br"?(I.push(L),L={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(h.type==="element"||h.type==="text")&&L.children.push(h);I.push(L);let g={type:"element",tagName:"code",properties:{},children:I};for(let h of o)g=h?.code?.call(p,g)||g;s.children=[];for(let h=0;h<g.children.length;h++){h>0&&s.children.push({type:"element",tagName:"br",properties:{},children:[]});let x=g.children[h];x.type==="element"&&s.children.push(...x.children)}}let m=s;for(let I of o)m=I?.root?.call(p,m)||m;return r&&tr(m,r),m}function wp(e){return e.map(t=>{let a=[],r="",o;return t.forEach((n,s)=>{let l=!(n.fontStyle&&(n.fontStyle&Ie.Underline||n.fontStyle&Ie.Strikethrough));l&&n.content.match(/^\s+$/)&&t[s+1]?(o===void 0&&(o=n.offset),r+=n.content):r?(l?a.push({...n,offset:o,content:r+n.content}):a.push({content:r,offset:o},n),o=void 0,r=""):a.push(n)}),a})}function xp(e){return e.map(t=>t.flatMap(a=>{if(a.content.match(/^\s+$/))return a;let r=a.content.match(/^(\s*)(.*?)(\s*)$/);if(!r)return a;let[,o,n,s]=r;if(!o&&!s)return a;let i=[{...a,offset:a.offset+o.length,content:n}];return o&&i.unshift({content:o,offset:a.offset}),s&&i.push({content:s,offset:a.offset+o.length+n.length}),i}))}function Lp(e){return e.map(t=>{let a=[];for(let r of t){if(a.length===0){a.push({...r});continue}let o=a[a.length-1],n=go(o.htmlStyle||Qa(o)),s=go(r.htmlStyle||Qa(r)),i=o.fontStyle&&(o.fontStyle&Ie.Underline||o.fontStyle&Ie.Strikethrough),l=r.fontStyle&&(r.fontStyle&Ie.Underline||r.fontStyle&Ie.Strikethrough);!i&&!l&&n===s?o.content+=r.content:a.push({...r})}return a})}var Ip=po;function Cp(e,t,a){let r={meta:{},options:a,codeToHast:(n,s)=>Za(e,n,s),codeToTokens:(n,s)=>Ya(e,n,s)},o=Ip(Za(e,t,a,r));for(let n of Ja(a))o=n.postprocess?.call(r,o,a)||o;return o}var Ri={light:"#333333",dark:"#bbbbbb"},Mi={light:"#fffffe",dark:"#1e1e1e"},Fi="__shiki_resolved";function bo(e){if(e?.[Fi])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:r}=t;if(!a||!r){let i=t.settings?t.settings.find(l=>!l.name&&!l.scope):void 0;i?.settings?.foreground&&(r=i.settings.foreground),i?.settings?.background&&(a=i.settings.background),!r&&t?.colors?.["editor.foreground"]&&(r=t.colors["editor.foreground"]),!a&&t?.colors?.["editor.background"]&&(a=t.colors["editor.background"]),r||(r=t.type==="light"?Ri.light:Ri.dark),a||(a=t.type==="light"?Mi.light:Mi.dark),t.fg=r,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 o=0,n=new Map;function s(i){if(n.has(i))return n.get(i);o+=1;let l=`#${o.toString(16).padStart(8,"0").toLowerCase()}`;return t.colorReplacements?.[`#${l}`]?s(i):(n.set(i,l),l)}t.settings=t.settings.map(i=>{let l=i.settings?.foreground&&!i.settings.foreground.startsWith("#"),u=i.settings?.background&&!i.settings.background.startsWith("#");if(!l&&!u)return i;let c={...i,settings:{...i.settings}};if(l){let d=s(i.settings.foreground);t.colorReplacements[d]=i.settings.foreground,c.settings.foreground=d}if(u){let d=s(i.settings.background);t.colorReplacements[d]=i.settings.background,c.settings.background=d}return c});for(let i of Object.keys(t.colors||{}))if((i==="editor.foreground"||i==="editor.background"||i.startsWith("terminal.ansi"))&&!t.colors[i]?.startsWith("#")){let l=s(t.colors[i]);t.colorReplacements[l]=t.colors[i],t.colors[i]=l}return Object.defineProperty(t,Fi,{enumerable:!1,writable:!1,value:!0}),t}async function qi(e){return Array.from(new Set((await Promise.all(e.filter(t=>!Ei(t)).map(async t=>await Bi(t).then(a=>Array.isArray(a)?a:[a])))).flat()))}async function Wi(e){return(await Promise.all(e.map(async a=>Di(a)?null:bo(await Bi(a))))).filter(a=>!!a)}var ho=3,Sp=!1;function yp(e,t=3){if(ho&&!(typeof ho=="number"&&t>ho)){if(Sp)throw new Error(`[SHIKI DEPRECATE]: ${e}`);console.trace(`[SHIKI DEPRECATE]: ${e}`)}}var Ye=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Gi(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 Ye(`Circular alias \`${Array.from(a).join(" -> ")} -> ${e}\``);a.add(e)}}return e}var wo=class extends ii{constructor(t,a,r,o={}){super(t),this._resolver=t,this._themes=a,this._langs=r,this._alias=o,this._themes.map(n=>this.loadTheme(n)),this.loadLanguages(this._langs)}_resolvedThemes=new Map;_resolvedGrammars=new Map;_langMap=new Map;_langGraph=new Map;_textmateThemeCache=new WeakMap;_loadedThemesCache=null;_loadedLanguagesCache=null;getTheme(t){return typeof t=="string"?this._resolvedThemes.get(t):this.loadTheme(t)}loadTheme(t){let a=bo(t);return a.name&&(this._resolvedThemes.set(a.name,a),this._loadedThemesCache=null),a}getLoadedThemes(){return this._loadedThemesCache||(this._loadedThemesCache=[...this._resolvedThemes.keys()]),this._loadedThemesCache}setTheme(t){let a=this._textmateThemeCache.get(t);a||(a=ea.createFromRawTheme(t),this._textmateThemeCache.set(t,a)),this._syncRegistry.setTheme(a)}getGrammar(t){return t=Gi(t,this._alias),this._resolvedGrammars.get(t)}loadLanguage(t){if(this.getGrammar(t.name))return;let a=new Set([...this._langMap.values()].filter(n=>n.embeddedLangsLazy?.includes(t.name)));this._resolver.addLanguage(t);let r={balancedBracketSelectors:t.balancedBracketSelectors||["*"],unbalancedBracketSelectors:t.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(t.scopeName,t);let o=this.loadGrammarWithConfiguration(t.scopeName,1,r);if(o.name=t.name,this._resolvedGrammars.set(t.name,o),t.aliases&&t.aliases.forEach(n=>{this._alias[n]=t.name}),this._loadedLanguagesCache=null,a.size)for(let n of a)this._resolvedGrammars.delete(n.name),this._loadedLanguagesCache=null,this._syncRegistry?._injectionGrammars?.delete(n.scopeName),this._syncRegistry?._grammars?.delete(n.scopeName),this.loadLanguage(this._langMap.get(n.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(t){for(let o of t)this.resolveEmbeddedLanguages(o);let a=Array.from(this._langGraph.entries()),r=a.filter(([o,n])=>!n);if(r.length){let o=a.filter(([n,s])=>s?(s.embeddedLanguages||s.embeddedLangs)?.some(l=>r.map(([u])=>u).includes(l)):!1).filter(n=>!r.includes(n));throw new Ye(`Missing languages ${r.map(([n])=>`\`${n}\``).join(", ")}, required by ${o.map(([n])=>`\`${n}\``).join(", ")}`)}for(let[o,n]of a)this._resolver.addLanguage(n);for(let[o,n]of a)this.loadLanguage(n)}getLoadedLanguages(){return this._loadedLanguagesCache||(this._loadedLanguagesCache=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])]),this._loadedLanguagesCache}resolveEmbeddedLanguages(t){this._langMap.set(t.name,t),this._langGraph.set(t.name,t);let a=t.embeddedLanguages??t.embeddedLangs;if(a)for(let r of a)this._langGraph.set(r,this._langMap.get(r))}},xo=class{_langs=new Map;_scopeToLang=new Map;_injections=new Map;_onigLib;constructor(t,a){this._onigLib={createOnigScanner:r=>t.createScanner(r),createOnigString:r=>t.createString(r)},a.forEach(r=>this.addLanguage(r))}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("."),r=[];for(let o=1;o<=a.length;o++){let n=a.slice(0,o).join(".");r=[...r,...this._injections.get(n)||[]]}return r}},sa=0;function bp(e){sa+=1,e.warnings!==!1&&sa>=10&&sa%10===0&&console.warn(`[Shiki] ${sa} 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 Ye("`engine` option is required for synchronous mode");let a=(e.langs||[]).flat(1),r=(e.themes||[]).flat(1).map(bo),o=new xo(e.engine,a),n=new wo(o,r,a,e.langAlias),s;function i(h){return Gi(h,e.langAlias)}function l(h){w();let x=n.getGrammar(typeof h=="string"?h:h.name);if(!x)throw new Ye(`Language \`${h}\` not found, you may need to load it first`);return x}function u(h){if(h==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};w();let x=n.getTheme(h);if(!x)throw new Ye(`Theme \`${h}\` not found, you may need to load it first`);return x}function c(h){w();let x=u(h);s!==h&&(n.setTheme(x),s=h);let S=n.getColorMap();return{theme:x,colorMap:S}}function d(){return w(),n.getLoadedThemes()}function f(){return w(),n.getLoadedLanguages()}function p(...h){w(),n.loadLanguages(h.flat(1))}async function m(...h){return p(await qi(h))}function I(...h){w();for(let x of h.flat(1))n.loadTheme(x)}async function L(...h){return w(),I(await Wi(h))}function w(){if(t)throw new Ye("Shiki instance has been disposed")}function g(){t||(t=!0,n.dispose(),sa-=1)}return{setTheme:c,getTheme:u,getLanguage:l,getLoadedThemes:d,getLoadedLanguages:f,resolveLangAlias:i,loadLanguage:m,loadLanguageSync:p,loadTheme:L,loadThemeSync:I,dispose:g,[Symbol.dispose]:g}}async function kp(e){e.engine||yp("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,a,r]=await Promise.all([Wi(e.themes||[]),qi(e.langs||[]),e.engine]);return bp({...e,themes:t,langs:a,engine:r})}async function Tp(e){let t=await kp(e);return{getLastGrammarState:(...a)=>up(t,...a),codeToTokensBase:(a,r)=>So(t,a,r),codeToTokensWithThemes:(a,r)=>Hi(t,a,r),codeToTokens:(a,r)=>Ya(t,a,r),codeToHast:(a,r)=>Za(t,a,r),codeToHtml:(a,r)=>Cp(t,a,r),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function Vi(e){let t=e.langs,a=e.themes,r=e.engine;async function o(n){function s(d){if(typeof d=="string"){if(d=n.langAlias?.[d]||d,Ei(d))return[];let f=t[d];if(!f)throw new te(`Language \`${d}\` is not included in this bundle. You may want to load it from external source.`);return f}return d}function i(d){if(Di(d))return"none";if(typeof d=="string"){let f=a[d];if(!f)throw new te(`Theme \`${d}\` is not included in this bundle. You may want to load it from external source.`);return f}return d}let l=(n.themes??[]).map(d=>i(d)),u=(n.langs??[]).map(d=>s(d)),c=await Tp({engine:n.engine??r(),...n,themes:l,langs:u});return{...c,loadLanguage(...d){return c.loadLanguage(...d.map(s))},loadTheme(...d){return c.loadTheme(...d.map(i))},getBundledLanguages(){return t},getBundledThemes(){return a}}}return o}function vp(e){let t;async function a(r={}){if(t){let o=await t;return await Promise.all([o.loadTheme(...r.themes||[]),o.loadLanguage(...r.langs||[])]),o}else{t=e({...r,themes:[],langs:[]});let o=await t;return await Promise.all([o.loadTheme(...r.themes||[]),o.loadLanguage(...r.langs||[])]),o}}return a}function zi(e,t){let a=vp(e);async function r(o,n){let s=await a({langs:[n.lang],themes:"theme"in n?[n.theme]:Object.values(n.themes)}),i=await t?.guessEmbeddedLanguages?.(o,n.lang,s);return i&&await s.loadLanguage(...i),s}return{getSingletonHighlighter(o){return a(o)},async codeToHtml(o,n){return(await r(o,n)).codeToHtml(o,n)},async codeToHast(o,n){return(await r(o,n)).codeToHast(o,n)},async codeToTokens(o,n){return(await r(o,n)).codeToTokens(o,n)},async codeToTokensBase(o,n){return(await r(o,n)).codeToTokensBase(o,n)},async codeToTokensWithThemes(o,n){return(await r(o,n)).codeToTokensWithThemes(o,n)},async getLastGrammarState(o,n){return(await a({langs:[n.lang],themes:[n.theme]})).getLastGrammarState(o,n)}}}var ko=[{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-DFS2FCNO.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-FBR445XW.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-BMSTTQT4.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-OHP5YUT7.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-LJNKRWP5.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-KUYJX32Q.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-NLMAEKLI.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-7ZVVH3VM.js"))},{id:"hurl",name:"Hurl",import:(()=>import("../hurl-B6WXEN45.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-CPV3A4MM.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-XWCHWP6B.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-U57UBFBS.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-IZHDGBO6.js"))},{id:"php",name:"PHP",import:(()=>import("../php-MNP62HWP.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-6KQSGP2V.js"))},{id:"ruby",name:"Ruby",aliases:["rb"],import:(()=>import("../ruby-OWE2HOOR.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-XNK5N5RZ.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-OEIJ72KK.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-FIH2DYBE.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"))}],ji=Object.fromEntries(ko.map(e=>[e.id,e.import])),$i=Object.fromEntries(ko.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),la={...ji,...$i};var Pp=[{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"))}],Xi=Object.fromEntries(Pp.map(e=>[e.id,e.import]));var ua=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Ap(){return 2147483648}function Rp(){return typeof performance<"u"?performance.now():Date.now()}var Mp=(e,t)=>e+(t-e%t)%t;async function Fp(e){let t,a,r={};function o(p){a=p,r.HEAPU8=new Uint8Array(p),r.HEAPU32=new Uint32Array(p)}function n(p,m,I){r.HEAPU8.copyWithin(p,m,m+I)}function s(p){try{return t.grow(p-a.byteLength+65535>>>16),o(t.buffer),1}catch{}}function i(p){let m=r.HEAPU8.length;p=p>>>0;let I=Ap();if(p>I)return!1;for(let L=1;L<=4;L*=2){let w=m*(1+.2/L);w=Math.min(w,p+100663296);let g=Math.min(I,Mp(Math.max(p,w),65536));if(s(g))return!0}return!1}let l=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function u(p,m,I=1024){let L=m+I,w=m;for(;p[w]&&!(w>=L);)++w;if(w-m>16&&p.buffer&&l)return l.decode(p.subarray(m,w));let g="";for(;m<w;){let h=p[m++];if(!(h&128)){g+=String.fromCharCode(h);continue}let x=p[m++]&63;if((h&224)===192){g+=String.fromCharCode((h&31)<<6|x);continue}let S=p[m++]&63;if((h&240)===224?h=(h&15)<<12|x<<6|S:h=(h&7)<<18|x<<12|S<<6|p[m++]&63,h<65536)g+=String.fromCharCode(h);else{let v=h-65536;g+=String.fromCharCode(55296|v>>10,56320|v&1023)}}return g}function c(p,m){return p?u(r.HEAPU8,p,m):""}let d={emscripten_get_now:Rp,emscripten_memcpy_big:n,emscripten_resize_heap:i,fd_write:()=>0};async function f(){let m=await e({env:d,wasi_snapshot_preview1:d});t=m.memory,o(t.buffer),Object.assign(r,m),r.UTF8ToString=c}return await f(),r}var Bp=Object.defineProperty,Ep=(e,t,a)=>t in e?Bp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,ce=(e,t,a)=>Ep(e,typeof t!="symbol"?t+"":t,a),ge=null;function Dp(e){throw new ua(e.UTF8ToString(e.getLastOnigError()))}var rr=class e{constructor(t){ce(this,"utf16Length"),ce(this,"utf8Length"),ce(this,"utf16Value"),ce(this,"utf8Value"),ce(this,"utf16OffsetToUtf8"),ce(this,"utf8OffsetToUtf16");let a=t.length,r=e._utf8ByteLength(t),o=r!==a,n=o?new Uint32Array(a+1):null;o&&(n[a]=r);let s=o?new Uint32Array(r+1):null;o&&(s[r]=a);let i=new Uint8Array(r),l=0;for(let u=0;u<a;u++){let c=t.charCodeAt(u),d=c,f=!1;if(c>=55296&&c<=56319&&u+1<a){let p=t.charCodeAt(u+1);p>=56320&&p<=57343&&(d=(c-55296<<10)+65536|p-56320,f=!0)}o&&(n[u]=l,f&&(n[u+1]=l),d<=127?s[l+0]=u:d<=2047?(s[l+0]=u,s[l+1]=u):d<=65535?(s[l+0]=u,s[l+1]=u,s[l+2]=u):(s[l+0]=u,s[l+1]=u,s[l+2]=u,s[l+3]=u)),d<=127?i[l++]=d:d<=2047?(i[l++]=192|(d&1984)>>>6,i[l++]=128|(d&63)>>>0):d<=65535?(i[l++]=224|(d&61440)>>>12,i[l++]=128|(d&4032)>>>6,i[l++]=128|(d&63)>>>0):(i[l++]=240|(d&1835008)>>>18,i[l++]=128|(d&258048)>>>12,i[l++]=128|(d&4032)>>>6,i[l++]=128|(d&63)>>>0),f&&u++}this.utf16Length=a,this.utf8Length=r,this.utf16Value=t,this.utf8Value=i,this.utf16OffsetToUtf8=n,this.utf8OffsetToUtf16=s}static _utf8ByteLength(t){let a=0;for(let r=0,o=t.length;r<o;r++){let n=t.charCodeAt(r),s=n,i=!1;if(n>=55296&&n<=56319&&r+1<o){let l=t.charCodeAt(r+1);l>=56320&&l<=57343&&(s=(n-55296<<10)+65536|l-56320,i=!0)}s<=127?a+=1:s<=2047?a+=2:s<=65535?a+=3:a+=4,i&&r++}return a}createString(t){let a=t.omalloc(this.utf8Length);return t.HEAPU8.set(this.utf8Value,a),a}},or=class We{constructor(t){if(ce(this,"id",++We.LAST_ID),ce(this,"_onigBinding"),ce(this,"content"),ce(this,"utf16Length"),ce(this,"utf8Length"),ce(this,"utf16OffsetToUtf8"),ce(this,"utf8OffsetToUtf16"),ce(this,"ptr"),!ge)throw new ua("Must invoke loadWasm first.");this._onigBinding=ge,this.content=t;let a=new rr(t);this.utf16Length=a.utf16Length,this.utf8Length=a.utf8Length,this.utf16OffsetToUtf8=a.utf16OffsetToUtf8,this.utf8OffsetToUtf16=a.utf8OffsetToUtf16,this.utf8Length<1e4&&!We._sharedPtrInUse?(We._sharedPtr||(We._sharedPtr=ge.omalloc(1e4)),We._sharedPtrInUse=!0,ge.HEAPU8.set(a.utf8Value,We._sharedPtr),this.ptr=We._sharedPtr):this.ptr=a.createString(ge)}convertUtf8OffsetToUtf16(t){return this.utf8OffsetToUtf16?t<0?0:t>this.utf8Length?this.utf16Length:this.utf8OffsetToUtf16[t]:t}convertUtf16OffsetToUtf8(t){return this.utf16OffsetToUtf8?t<0?0:t>this.utf16Length?this.utf8Length:this.utf16OffsetToUtf8[t]:t}dispose(){this.ptr===We._sharedPtr?We._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};ce(or,"LAST_ID",0);ce(or,"_sharedPtr",0);ce(or,"_sharedPtrInUse",!1);var Ki=or,vo=class{constructor(t){if(ce(this,"_onigBinding"),ce(this,"_ptr"),!ge)throw new ua("Must invoke loadWasm first.");let a=[],r=[];for(let i=0,l=t.length;i<l;i++){let u=new rr(t[i]);a[i]=u.createString(ge),r[i]=u.utf8Length}let o=ge.omalloc(4*t.length);ge.HEAPU32.set(a,o/4);let n=ge.omalloc(4*t.length);ge.HEAPU32.set(r,n/4);let s=ge.createOnigScanner(o,n,t.length);for(let i=0,l=t.length;i<l;i++)ge.ofree(a[i]);ge.ofree(n),ge.ofree(o),s===0&&Dp(ge),this._onigBinding=ge,this._ptr=s}dispose(){this._onigBinding.freeOnigScanner(this._ptr)}findNextMatchSync(t,a,r){let o=0;if(typeof r=="number"&&(o=r),typeof t=="string"){t=new Ki(t);let n=this._findNextMatchSync(t,a,!1,o);return t.dispose(),n}return this._findNextMatchSync(t,a,!1,o)}_findNextMatchSync(t,a,r,o){let n=this._onigBinding,s=n.findNextOnigScannerMatch(this._ptr,t.id,t.ptr,t.utf8Length,t.convertUtf16OffsetToUtf8(a),o);if(s===0)return null;let i=n.HEAPU32,l=s/4,u=i[l++],c=i[l++],d=[];for(let f=0;f<c;f++){let p=t.convertUtf8OffsetToUtf16(i[l++]),m=t.convertUtf8OffsetToUtf16(i[l++]);d[f]={start:p,end:m,length:m-p}}return{index:u,captureIndices:d}}};function _p(e){return typeof e.instantiator=="function"}function Np(e){return typeof e.default=="function"}function Op(e){return typeof e.data<"u"}function Up(e){return typeof Response<"u"&&e instanceof Response}function Hp(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 ar;function qp(e){if(ar)return ar;async function t(){ge=await Fp(async a=>{let r=e;return r=await r,typeof r=="function"&&(r=await r(a)),typeof r=="function"&&(r=await r(a)),_p(r)?r=await r.instantiator(a):Np(r)?r=await r.default(a):(Op(r)&&(r=r.data),Up(r)?typeof WebAssembly.instantiateStreaming=="function"?r=await Wp(r)(a):r=await Gp(r)(a):Hp(r)?r=await To(r)(a):r instanceof WebAssembly.Module?r=await To(r)(a):"default"in r&&r.default instanceof WebAssembly.Module&&(r=await To(r.default)(a))),"instance"in r&&(r=r.instance),"exports"in r&&(r=r.exports),r})}return ar=t(),ar}function To(e){return t=>WebAssembly.instantiate(e,t)}function Wp(e){return t=>WebAssembly.instantiateStreaming(e,t)}function Gp(e){return async t=>{let a=await e.arrayBuffer();return WebAssembly.instantiate(a,t)}}async function Qi(e){return e&&await qp(e),{createScanner(t){return new vo(t.map(a=>typeof a=="string"?a:a.source))},createString(t){return new Ki(t)}}}var nr=Vi({langs:la,themes:Xi,engine:()=>Qi(import("../wasm-EOPKAILK.js"))}),{codeToHtml:Vp,codeToHast:zp,codeToTokens:jp,codeToTokensBase:$p,codeToTokensWithThemes:Xp,getSingletonHighlighter:Kp,getLastGrammarState:Qp}=zi(nr,{guessEmbeddedLanguages:Ni});var Ji=new Set(Object.keys(la)),Po=new Map,Ao=new Map,vt=new Map,Jp=(e,t)=>`${e}-${t[0]}-${t[1]}`,Yp=(e,t,a)=>{let r=e.slice(0,100),o=e.length>100?e.slice(-100):"";return`${t}:${a[0]}:${a[1]}:${e.length}:${r}:${o}`},Zp=(e,t)=>{let a=Jp(e,t);if(Po.has(a))return Po.get(a);let r=nr({themes:t,langs:[e]});return Po.set(a,r),r};function em(e={}){var t;let a=(t=e.themes)!=null?t:["github-light","github-dark"];return{name:"shiki",type:"code-highlighter",supportsLanguage(r){return Ji.has(r)},getSupportedLanguages(){return Array.from(Ji)},getThemes(){return a},highlight({code:r,language:o,themes:n},s){let i=Yp(r,o,n);return Ao.has(i)?Ao.get(i):(s&&(vt.has(i)||vt.set(i,new Set),vt.get(i).add(s)),Zp(o,n).then(l=>{let u=l.getLoadedLanguages().includes(o)?o:"text",c=l.codeToTokens(r,{lang:u,themes:{light:n[0],dark:n[1]}});Ao.set(i,c);let d=vt.get(i);if(d){for(let f of d)f(c);vt.delete(i)}}).catch(l=>{console.error("[Streamdown Code] Failed to highlight code:",l),vt.delete(i)}),null)}}}var Yi=em();import{memo as om}from"react";import{useEffect as tm,useRef as sr,useState as am}from"react";var rm=5,Zi=400;function el(e,t,a={}){let{msPerChar:r=rm}=a,[o,n]=am(t?"":e),s=sr(e),i=sr(t?0:e.length),l=sr(0),u=sr(null);return(e.length<i.current||!e.startsWith(o.slice(0,i.current)))&&(i.current=t?0:e.length),s.current=e,tm(()=>{if(!t){u.current!==null&&(cancelAnimationFrame(u.current),u.current=null),i.current=e.length,n(e);return}if(s.current.length-i.current>Zi&&(i.current=s.current.length-Zi),u.current!==null)return;let d=f=>{let p=s.current;if(i.current>=p.length){u.current=null;return}l.current===0&&(l.current=f);let m=f-l.current;if(m>=r){let I=Math.min(Math.floor(m/r),p.length-i.current);i.current+=I,n(p.slice(0,i.current)),l.current=f}u.current=requestAnimationFrame(d)};return u.current=requestAnimationFrame(d),()=>{u.current!==null&&(cancelAnimationFrame(u.current),u.current=null)}},[e,t,r]),o}import{jsx as ir}from"react/jsx-runtime";var Ro=({className:e,from:t,children:a,...r})=>ir("div",{className:T("ww-message ww:group ww:flex ww:w-full",t==="user"?"ww-message-user is-user ww:ml-auto ww:flex-col ww:items-end ww:[max-width:var(--ww-msg-max-width,80%)]":"ww-message-assistant is-assistant ww:flex-col",e),...r,children:ir("div",{className:T("ww:flex ww:min-w-0 ww:flex-col ww:gap-2","ww:w-full"),children:a})}),Mo=({children:e,className:t,...a})=>ir("div",{className:T("ww-bubble ww:flex ww:w-fit ww:min-w-0 ww:max-w-full ww:flex-col ww:gap-2 ww:overflow-hidden","ww:[font-size:var(--ww-font-size,1rem)] ww:[line-height:var(--ww-line-height,1.5)]","ww:group-[.is-user]:ml-auto ww:group-[.is-user]:bg-user-bubble ww:group-[.is-user]:[color:var(--ww-color-user-bubble-text)] ww:group-[.is-user]:[border-radius:var(--ww-msg-radius,8px)] ww:group-[.is-user]:[padding:var(--ww-msg-pad-y,12px)_var(--ww-msg-pad-x,16px)]","ww:group-[.is-assistant]:text-foreground",t),...a,children:e}),nm={cjk:Yr,code:Yi},sm={cjk:Yr},im={enabled:!1};function lm({className:e,linkSafety:t,isStreaming:a,children:r,...o}){let s=el(typeof r=="string"?r:"",!!a),i=typeof r=="string"?s:r;return ir(Et,{className:T("ww:size-full ww:[&>*:first-child]:mt-0 ww:[&>*:last-child]:mb-0",e),linkSafety:t??im,plugins:a?sm:nm,...o,children:i})}var lr=om(lm,(e,t)=>e.children===t.children&&e.isStreaming===t.isStreaming);lr.displayName="MessageResponse";import{createContext as um,useCallback as dm,useContext as ol,useEffect as cm,useMemo as Bo,useRef as fm,useState as Eo}from"react";import{Fragment as rl,jsx as K,jsxs as pt}from"react/jsx-runtime";function pm(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 r=Object.entries(e),o=[],n=t-2;for(let[s,i]of r){if(n<=8)break;let l=s.length>4?`${s.slice(0,4)}\u2026`:s,u;typeof i=="string"?u=i.length>2?`'${i.slice(0,1)}\u2026`:`'${i}'`:Array.isArray(i)?u=`Array(${i.length})`:typeof i=="object"&&i!==null?u="{\u2026}":u=String(i);let c=`${l}\u2009${u}`;o.push(c),n-=c.length+3}return`{${o.join(", ")}}`}function mm({text:e,className:t}){let{t:a}=V(),[r,o]=Eo(!1),n=fm(null);cm(()=>()=>{n.current&&clearTimeout(n.current)},[]);let s=dm(async i=>{i.stopPropagation();try{await navigator.clipboard.writeText(e),o(!0),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>o(!1),2e3)}catch{}},[e]);return K(Ee,{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:r?pt(rl,{children:[K(_t,{className:"ww:size-3.5"}),K("span",{children:a.tool.copied})]}):pt(rl,{children:[K(Ot,{className:"ww:size-3.5"}),K("span",{children:a.tool.copy})]})})}function nl({data:e,label:t,className:a,...r}){let[o,n]=Eo(!1),s=Bo(()=>JSON.stringify(e,null,2),[e]),i=pm(e);return pt("div",{className:T("ww:rounded-lg ww:bg-tool-card",a),...r,children:[pt("div",{className:"ww:flex ww:items-center ww:justify-between ww:px-3 ww:pt-2.5 ww:pb-1.5",children:[K("span",{className:"ww:text-xs ww:font-medium ww:text-muted-foreground",children:t}),K(mm,{text:s})]}),pt("button",{type:"button",onClick:()=>n(l=>!l),className:"ww:flex ww:w-full ww:items-start ww:gap-2 ww:px-3 ww:pb-3 ww:text-left",children:[K(Nt,{className:T("ww:mt-0.5 ww:size-3.5 ww:shrink-0 ww:text-muted-foreground ww:transition-transform ww:duration-150",o&&"ww:rotate-90")}),o?K("pre",{className:"ww:overflow-x-auto ww:text-xs ww:font-mono ww:text-foreground ww:whitespace-pre-wrap ww:break-all",children:K("code",{children:s})}):K("span",{className:"ww:truncate ww:text-xs ww:font-mono ww:text-foreground/80",children:i})]})]})}var Do=um({open:!1,toggle:()=>{}});function sl({className:e,defaultOpen:t=!1,children:a,...r}){let[o,n]=Eo(t);return K(Do.Provider,{value:{open:o,toggle:()=>n(s=>!s)},children:K("div",{className:T("ww:mb-4 ww:w-full",e),"data-state":o?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...r,children:a})})}function il({className:e,title:t,state:a,...r}){let{open:o,toggle:n}=ol(Do),s=a==="input-available"||a==="input-streaming",i=t??"";return pt("button",{type:"button",onClick:n,className:T("ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),"aria-expanded":o,...r,children:[K(nt,{className:"ww:size-4 ww:shrink-0"}),K("span",{className:"ww:truncate",children:s?K(Ne,{duration:1.6,children:i}):i}),K($e,{className:T("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",o&&"ww:rotate-180")})]})}function ll({className:e,title:t,state:a,...r}){let o=a==="input-available"||a==="input-streaming",n=t??"";return K("div",{className:T("ww:mb-4 ww:flex ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground",e),style:{animation:"ww-fade-in 0.2s ease-out"},...r,children:K("span",{className:"ww:truncate",children:o?K(Ne,{duration:1.6,children:n}):n})})}function ul({className:e,children:t,...a}){let{open:r}=ol(Do);return K("div",{className:T("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",r?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:K("div",{className:"ww:min-h-0 ww:overflow-hidden",children:K("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 _o({className:e,input:t,debug:a,...r}){let{t:o}=V(),n=Bo(()=>{if(!a&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:s,...i}=t;return i}return t},[t,a]);return K(nl,{data:n,label:o.tool.request,className:e,...r})}function Fo(e){if(!(typeof e!="object"||e===null))return e}function dl(e){return Fo(e?.ui)}function cl(e){return Fo(Fo(e)?._meta)}function tl(e){if(!e)return;let t=dl(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 r=e["openai/outputTemplate"];if(typeof r=="string"&&r.length>0)return r}function al(e){return dl(e)?.autoHeight===!0}function da(e,t,a){if(e){let r=tl(a?.[e]?._meta);if(r)return r}return tl(cl(t))}function fl(e,t,a){return e&&al(a?.[e]?._meta)?!0:al(cl(t))}function No({className:e,output:t,errorText:a,debug:r,...o}){let{t:n}=V(),s=Bo(()=>{if(!r&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:i,...l}=t;return l}return t},[t,r]);return t||a?a?pt("div",{className:T("ww:space-y-2",e),...o,children:[K("h4",{className:"ww:text-xs ww:font-medium ww:uppercase ww:tracking-wide ww:text-muted-foreground",children:n.tool.error}),K("div",{className:"ww:rounded-lg ww:bg-destructive/10 ww:p-3 ww:text-xs ww:text-destructive",children:a})]}):K(nl,{data:s,label:n.tool.response,className:e,...o}):null}import{jsx as pl,jsxs as hm}from"react/jsx-runtime";function ml(e){return e.type==="text"||e.type==="reasoning"||e.type==="file"||"toolCallId"in e}function hl(e){return e.parts.some(ml)}function gl(e,t,a){if(t!=="submitted"&&t!=="streaming")return!1;let r=e[e.length-1];return!r||r.role!=="assistant"?!0:!r.parts.some(n=>!(!ml(n)||a?.ignoreToolParts&&"toolCallId"in n||a?.ignoreReasoningParts&&n.type==="reasoning"))}function wl({className:e,...t}){let{t:a}=V();return hm("div",{"aria-live":"polite",className:T("ww:mb-4 ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground",e),style:{animation:"ww-fade-in 0.2s ease-out"},...t,children:[pl(Vt,{className:"ww:size-4 ww:shrink-0"}),pl(Ne,{duration:1.6,children:a.workingIndicator.default})]})}import{useCallback as gm,useEffect as Oo,useMemo as wm,useRef as Te,useState as Ll}from"react";function Pt(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 xl(e,t){return!Pt(e)&&!Pt(t)?null:Pt(e)?Pt(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 Pm}from"react/jsx-runtime";var xm="/api/mcp/resource",Lm=500,Im=0,Cm=16,Sm="2026-01-26",ym=300,bm=3e3,km=3;function Tm(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function vm(e,t,a){return da(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function Uo({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:r=xm,chatSessionId:o,isDark:n=!1,className:s,autoHeight:i=!1,onOpenLink:l,onFollowUp:u,onCallTool:c,onDisplayModeChange:d,isFullscreen:f=!1,toolDefinitions:p}){let m=Te(null),I=Te(t),L=Te(a),w=Te({width:0,height:0}),g=Te(null),h=Te(!1),x=Te(0),S=Te("inline"),[v,A]=Ll(Im),[P,D]=Ll(void 0),k=Te(l),M=Te(u),b=Te(c),z=Te(d),q=Te(o),y=Te(p);I.current=t,L.current=a,k.current=l,M.current=u,b.current=c,z.current=d,q.current=o,y.current=p;let F=gm(_=>i?Math.max(_+Cm,0):Math.min(Math.max(_,50),Lm),[i]),B=wm(()=>{let _=r.includes("?")?"&":"?";return`${r}${_}uri=${encodeURIComponent(e)}`},[r,e]),ve=Te(n);ve.current=n;let we=Te(f);return Oo(()=>{we.current=f,w.current.height=-1,g.current&&(g.current.cancel(),g.current=null)},[f]),Oo(()=>{if(!h.current)return;let _=m.current;_?.contentWindow&&_.contentWindow.postMessage({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{theme:n?"dark":"light"}},"*")},[n]),Oo(()=>{let _=m.current;if(!_)return;let me=!1,re=!1,ye=null,oe=null,G=setTimeout(()=>{if(me||re||x.current>=km)return;x.current+=1;let le=new URL(_.src);le.searchParams.set("_retry",String(x.current)),_.src=le.toString()},bm),$=le=>{_.contentWindow?.postMessage(le,"*")},Pe=le=>{if(me||le.source!==_.contentWindow)return;let Q=le.data;if(!Q||typeof Q!="object"||Q.jsonrpc!=="2.0")return;let ne=Q.method,W=Q.id;if(ne==="ui/initialize"&&W!=null){re=!0,clearTimeout(G),$({jsonrpc:"2.0",id:W,result:{protocolVersion:Q.params?.protocolVersion??Sm,hostInfo:{name:"Waniwani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:ve.current?"dark":"light",displayMode:S.current}}});return}if(ne==="ui/notifications/initialized"){h.current=!0;let N=I.current,U=L.current,X=U._meta&&typeof U._meta=="object"?U._meta:null,ue=Tm(q.current),Z=X&&typeof X.waniwani=="object"&&X.waniwani!==null?X.waniwani:null,be=Z||ue?{...Z??{},...ue?{sessionId:ue}:{}}:void 0,xe=X||be?{...X??{},...be?{waniwani:be}:{}}:void 0;$({jsonrpc:"2.0",method:"ui/notifications/tool-input",params:{arguments:N}});let R=U.content??[{type:"text",text:JSON.stringify(U)}];$({jsonrpc:"2.0",method:"ui/notifications/tool-result",params:{content:R,structuredContent:U.structuredContent,_meta:xe,meta:xe}});return}if(ne==="ui/notifications/size-changed"){let N=Q.params,U=typeof N?.height=="number"?N.height:void 0,X=typeof N?.width=="number"?N.width:void 0,ue=w.current,Z=U!==void 0&&U!==ue.height,be=X!==void 0&&X!==ue.width;if(!Z&&!be)return;if(Z&&U!==void 0){if(ue.height=U,we.current)return;let xe=F(U),R=_.getBoundingClientRect().height;if(g.current&&(g.current.cancel(),g.current=null),A(xe),_.animate&&Math.abs(R-xe)>2){let H=_.animate([{height:`${R}px`},{height:`${xe}px`}],{duration:ym,easing:"ease-out",fill:"forwards"});g.current=H,H.onfinish=()=>{g.current===H&&(H.cancel(),g.current=null)}}}be&&i&&X!==void 0&&(ue.width=X,D(X));return}if(ne==="ui/open-link"&&W!=null){let N=Q.params?.url;typeof N=="string"&&(k.current?k.current(N):window.open(N,"_blank","noopener,noreferrer")),$({jsonrpc:"2.0",id:W,result:{}});return}if(ne==="ui/message"&&W!=null){if(M.current&&Q.params){let N=Q.params,U=ye;if(ye=null,oe){clearTimeout(oe.timer);let X=oe.text;oe=null;let ue=(N.content??[]).map(Z=>Z.text??"").join("").trim();N={...N,content:[{type:"text",text:`${ue}
12
+ \f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function ki(e,t,a,r){let o=r.schema,n=o.space==="svg"?!1:r.settings.omitOptionalTags,s=o.space==="svg"?r.settings.closeEmptyElements:r.settings.voids.includes(e.tagName.toLowerCase()),i=[],l;o.space==="html"&&e.tagName==="svg"&&(r.schema=Ca);let u=Uf(r,e.properties),c=r.all(o.space==="html"&&e.tagName==="template"?e.content:e);return r.schema=o,c&&(s=!1),(u||!n||!bi(e,t,a))&&(i.push("<",e.tagName,u?" "+u:""),s&&(o.space==="svg"||r.settings.closeSelfClosing)&&(l=u.charAt(u.length-1),(!r.settings.tightSelfClosing||l==="/"||l&&l!=='"'&&l!=="'")&&i.push(" "),i.push("/")),i.push(">")),i.push(c),!s&&(!n||!sa(e,t,a))&&i.push("</"+e.tagName+">"),i.join("")}function Uf(e,t){let a=[],r=-1,o;if(t){for(o in t)if(t[o]!==null&&t[o]!==void 0){let n=Hf(e,o,t[o]);n&&a.push(n)}}for(;++r<a.length;){let n=e.settings.tightAttributes?a[r].charAt(a[r].length-1):void 0;r!==a.length-1&&n!=='"'&&n!=="'"&&(a[r]+=" ")}return a.join("")}function Hf(e,t,a){let r=Pn(e.schema,t),o=e.settings.allowParseErrors&&e.schema.space==="html"?0:1,n=e.settings.allowDangerousCharacters?0:1,s=e.quote,i;if(r.overloadedBoolean&&(a===r.attribute||a==="")?a=!0:(r.boolean||r.overloadedBoolean)&&(typeof a!="string"||a===r.attribute||a==="")&&(a=!!a),a==null||a===!1||typeof a=="number"&&Number.isNaN(a))return"";let l=Xe(r.attribute,Object.assign({},e.settings.characterReferences,{subset:Ka.name[o][n]}));return a===!0||(a=Array.isArray(a)?(r.commaSeparated?Rn:Mn)(a,{padLeft:!e.settings.tightCommaSeparatedLists}):String(a),e.settings.collapseEmptyAttributes&&!a)?l:(e.settings.preferUnquoted&&(i=Xe(a,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:Ka.unquoted[o][n]}))),i!==a&&(e.settings.quoteSmart&&_r(a,s)>_r(a,e.alternative)&&(s=e.alternative),i=s+Xe(a,Object.assign({},e.settings.characterReferences,{subset:(s==="'"?Ka.single:Ka.double)[o][n],attribute:!0}))+s),l+(i&&"="+i))}var qf=["<","&"];function Qa(e,t,a,r){return a&&a.type==="element"&&(a.tagName==="script"||a.tagName==="style")?e.value:Xe(e.value,Object.assign({},r.settings.characterReferences,{subset:qf}))}function Ti(e,t,a,r){return r.settings.allowDangerousHtml?e.value:Qa(e,t,a,r)}function vi(e,t,a,r){return r.all(e)}var Pi=Fn("type",{invalid:Wf,unknown:Gf,handlers:{comment:Ii,doctype:Li,element:ki,raw:Ti,root:vi,text:Qa}});function Wf(e){throw new Error("Expected node, not `"+e+"`")}function Gf(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var Vf={},zf={},jf=[];function go(e,t){let a=t||Vf,r=a.quote||'"',o=r==='"'?"'":'"';if(r!=='"'&&r!=="'")throw new Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:$f,all:Xf,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||Bn,characterReferences:a.characterReferences||zf,closeSelfClosing:a.closeSelfClosing||!1,closeEmptyElements:a.closeEmptyElements||!1},schema:a.space==="svg"?Ca:An,quote:r,alternative:o}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function $f(e,t,a){return Pi(e,t,a,this)}function Xf(e){let t=[],a=e&&e.children||jf,r=-1;for(;++r<a.length;)t[r]=this.one(a[r],r,e);return t.join("")}function Ja(e,t){let a=typeof e=="string"?{}:{...e.colorReplacements},r=typeof e=="string"?e:e.name;for(let[o,n]of Object.entries(t?.colorReplacements||{}))typeof n=="string"?a[o]=n:o===r&&Object.assign(a,n);return a}function rt(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function Kf(e){return Array.isArray(e)?e:[e]}async function Di(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function So(e){return!e||["plaintext","txt","text","plain"].includes(e)}function _i(e){return e==="ansi"||So(e)}function yo(e){return e==="none"}function Oi(e){return yo(e)}function Ni(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 r of a)r&&!e.properties.class.includes(r)&&e.properties.class.push(r);return e}function ar(e,t=!1){if(e.length===0)return[["",0]];let a=e.split(/(\r?\n)/g),r=0,o=[];for(let n=0;n<a.length;n+=2){let s=t?a[n]+(a[n+1]||""):a[n];o.push([s,r]),r+=a[n].length,r+=a[n+1]?.length||0}return o}function Qf(e){let t=ar(e,!0).map(([o])=>o);function a(o){if(o===e.length)return{line:t.length-1,character:t[t.length-1].length};let n=o,s=0;for(let i of t){if(n<i.length)break;n-=i.length,s++}return{line:s,character:n}}function r(o,n){let s=0;for(let i=0;i<o;i++)s+=t[i].length;return s+=n,s}return{lines:t,indexToPos:a,posToIndex:r}}function Ui(e,t,a){let r=new Set;for(let n of e.matchAll(/:?lang=["']([^"']+)["']/g)){let s=n[1].toLowerCase().trim();s&&r.add(s)}for(let n of e.matchAll(/(?:```|~~~)([\w-]+)/g)){let s=n[1].toLowerCase().trim();s&&r.add(s)}for(let n of e.matchAll(/\\begin\{([\w-]+)\}/g)){let s=n[1].toLowerCase().trim();s&&r.add(s)}for(let n of e.matchAll(/<script\s+(?:type|lang)=["']([^"']+)["']/gi)){let s=n[1].toLowerCase().trim(),i=s.includes("/")?s.split("/").pop():s;i&&r.add(i)}if(!a)return Array.from(r);let o=a.getBundledLanguages();return Array.from(r).filter(n=>n&&o[n])}var bo="light-dark()",Jf=["color","background-color"];function Yf(e,t){let a=0,r=[];for(let o of t)o>a&&r.push({...e,content:e.content.slice(a,o),offset:e.offset+a}),a=o;return a<e.content.length&&r.push({...e,content:e.content.slice(a),offset:e.offset+a}),r}function Zf(e,t){let a=Array.from(t instanceof Set?t:new Set(t)).sort((r,o)=>r-o);return a.length?e.map(r=>r.flatMap(o=>{let n=a.filter(s=>o.offset<s&&s<o.offset+o.content.length).map(s=>s-o.offset).sort((s,i)=>s-i);return n.length?Yf(o,n):o})):e}function ep(e,t,a,r,o="css-vars"){let n={content:e.content,explanation:e.explanation,offset:e.offset},s=t.map(c=>Ya(e.variants[c])),i=new Set(s.flatMap(c=>Object.keys(c))),l={},u=(c,d)=>{let f=d==="color"?"":d==="background-color"?"-bg":`-${d}`;return a+t[c]+(d==="color"?"":f)};return s.forEach((c,d)=>{for(let f of i){let p=c[f]||"inherit";if(d===0&&r&&Jf.includes(f))if(r===bo&&s.length>1){let m=t.findIndex(g=>g==="light"),L=t.findIndex(g=>g==="dark");if(m===-1||L===-1)throw new te('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let I=s[m][f]||"inherit",x=s[L][f]||"inherit";l[f]=`light-dark(${I}, ${x})`,o==="css-vars"&&(l[u(d,f)]=p)}else l[f]=p;else o==="css-vars"&&(l[u(d,f)]=p)}}),n.htmlStyle=l,n}function Ya(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t["background-color"]=e.bgColor),e.fontStyle){e.fontStyle&Le.Italic&&(t["font-style"]="italic"),e.fontStyle&Le.Bold&&(t["font-weight"]="bold");let a=[];e.fontStyle&Le.Underline&&a.push("underline"),e.fontStyle&Le.Strikethrough&&a.push("line-through"),a.length&&(t["text-decoration"]=a.join(" "))}return t}function Io(e){return typeof e=="string"?e:Object.entries(e).map(([t,a])=>`${t}:${a}`).join(";")}var Hi=new WeakMap;function rr(e,t){Hi.set(e,t)}function la(e){return Hi.get(e)}var At=class e{_stacks={};lang;get themes(){return Object.keys(this._stacks)}get theme(){return this.themes[0]}get _stack(){return this._stacks[this.theme]}static initial(t,a){return new e(Object.fromEntries(Kf(a).map(r=>[r,za])),t)}constructor(...t){if(t.length===2){let[a,r]=t;this.lang=r,this._stacks=a}else{let[a,r,o]=t;this.lang=r,this._stacks={[o]:a}}}getInternalStack(t=this.theme){return this._stacks[t]}getScopes(t=this.theme){return tp(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function tp(e){let t=[],a=new Set;function r(o){if(a.has(o))return;a.add(o);let n=o?.nameScopesList?.scopeName;n&&t.push(n),o.parent&&r(o.parent)}return r(e),t}function ap(e,t){if(!(e instanceof At))throw new te("Invalid grammar state");return e.getInternalStack(t)}function rp(){let e=new WeakMap;function t(a){if(!e.has(a.meta)){let r=function(s){if(typeof s=="number"){if(s<0||s>a.source.length)throw new te(`Invalid decoration offset: ${s}. Code length: ${a.source.length}`);return{...o.indexToPos(s),offset:s}}else{let i=o.lines[s.line];if(i===void 0)throw new te(`Invalid decoration position ${JSON.stringify(s)}. Lines length: ${o.lines.length}`);let l=s.character;if(l<0&&(l=i.length+l),l<0||l>i.length)throw new te(`Invalid decoration position ${JSON.stringify(s)}. Line ${s.line} length: ${i.length}`);return{...s,character:l,offset:o.posToIndex(s.line,l)}}},o=Qf(a.source),n=(a.options.decorations||[]).map(s=>({...s,start:r(s.start),end:r(s.end)}));op(n),e.set(a.meta,{decorations:n,converter:o,source:a.source})}return e.get(a.meta)}return{name:"shiki:decorations",tokens(a){if(!this.options.decorations?.length)return;let o=t(this).decorations.flatMap(s=>[s.start.offset,s.end.offset]);return Zf(a,o)},code(a){if(!this.options.decorations?.length)return;let r=t(this),o=Array.from(a.children).filter(c=>c.type==="element"&&c.tagName==="span");if(o.length!==r.converter.lines.length)throw new te(`Number of lines in code element (${o.length}) does not match the number of lines in the source (${r.converter.lines.length}). Failed to apply decorations.`);function n(c,d,f,p){let m=o[c],L="",I=-1,x=-1;if(d===0&&(I=0),f===0&&(x=0),f===Number.POSITIVE_INFINITY&&(x=m.children.length),I===-1||x===-1)for(let h=0;h<m.children.length;h++)L+=qi(m.children[h]),I===-1&&L.length===d&&(I=h+1),x===-1&&L.length===f&&(x=h+1);if(I===-1)throw new te(`Failed to find start index for decoration ${JSON.stringify(p.start)}`);if(x===-1)throw new te(`Failed to find end index for decoration ${JSON.stringify(p.end)}`);let g=m.children.slice(I,x);if(!p.alwaysWrap&&g.length===m.children.length)i(m,p,"line");else if(!p.alwaysWrap&&g.length===1&&g[0].type==="element")i(g[0],p,"token");else{let h={type:"element",tagName:"span",properties:{},children:g};i(h,p,"wrapper"),m.children.splice(I,g.length,h)}}function s(c,d){o[c]=i(o[c],d,"line")}function i(c,d,f){let p=d.properties||{},m=d.transform||(L=>L);return c.tagName=d.tagName||"span",c.properties={...c.properties,...p,class:c.properties.class},d.properties?.class&&Ni(c,d.properties.class),c=m(c,f)||c,c}let l=[],u=r.decorations.sort((c,d)=>d.start.offset-c.start.offset||c.end.offset-d.end.offset);for(let c of u){let{start:d,end:f}=c;if(d.line===f.line)n(d.line,d.character,f.character,c);else if(d.line<f.line){n(d.line,d.character,Number.POSITIVE_INFINITY,c);for(let p=d.line+1;p<f.line;p++)l.unshift(()=>s(p,c));n(f.line,0,f.character,c)}}l.forEach(c=>c())}}}function op(e){for(let t=0;t<e.length;t++){let a=e[t];if(a.start.offset>a.end.offset)throw new te(`Invalid decoration range: ${JSON.stringify(a.start)} - ${JSON.stringify(a.end)}`);for(let r=t+1;r<e.length;r++){let o=e[r],n=a.start.offset<=o.start.offset&&o.start.offset<a.end.offset,s=a.start.offset<o.end.offset&&o.end.offset<=a.end.offset,i=o.start.offset<=a.start.offset&&a.start.offset<o.end.offset,l=o.start.offset<a.end.offset&&a.end.offset<=o.end.offset;if(n||s||i||l){if(n&&s||i&&l||i&&a.start.offset===a.end.offset||s&&o.start.offset===o.end.offset)continue;throw new te(`Decorations ${JSON.stringify(a.start)} and ${JSON.stringify(o.start)} intersect.`)}}}}function qi(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(qi).join(""):""}var np=[rp()];function Za(e){let t=sp(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...np]}function sp(e){let t=[],a=[],r=[];for(let o of e)switch(o.enforce){case"pre":t.push(o);break;case"post":a.push(o);break;default:r.push(o)}return{pre:t,post:a,normal:r}}var gt=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],wo={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function ip(e,t){let a=e.indexOf("\x1B",t);if(a!==-1&&e[a+1]==="["){let r=e.indexOf("m",a);if(r!==-1)return{sequence:e.substring(a+2,r).split(";"),startPosition:a,position:r+1}}return{position:e.length}}function Ai(e){let t=e.shift();if(t==="2"){let a=e.splice(0,3).map(r=>Number.parseInt(r));return a.length!==3||a.some(r=>Number.isNaN(r))?void 0:{type:"rgb",rgb:a}}else if(t==="5"){let a=e.shift();if(a)return{type:"table",index:Number(a)}}}function lp(e){let t=[];for(;e.length>0;){let a=e.shift();if(!a)continue;let r=Number.parseInt(a);if(!Number.isNaN(r))if(r===0)t.push({type:"resetAll"});else if(r<=9)wo[r]&&t.push({type:"setDecoration",value:wo[r]});else if(r<=29){let o=wo[r-20];o&&(t.push({type:"resetDecoration",value:o}),o==="dim"&&t.push({type:"resetDecoration",value:"bold"}))}else if(r<=37)t.push({type:"setForegroundColor",value:{type:"named",name:gt[r-30]}});else if(r===38){let o=Ai(e);o&&t.push({type:"setForegroundColor",value:o})}else if(r===39)t.push({type:"resetForegroundColor"});else if(r<=47)t.push({type:"setBackgroundColor",value:{type:"named",name:gt[r-40]}});else if(r===48){let o=Ai(e);o&&t.push({type:"setBackgroundColor",value:o})}else r===49?t.push({type:"resetBackgroundColor"}):r===53?t.push({type:"setDecoration",value:"overline"}):r===55?t.push({type:"resetDecoration",value:"overline"}):r>=90&&r<=97?t.push({type:"setForegroundColor",value:{type:"named",name:gt[r-90+8]}}):r>=100&&r<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:gt[r-100+8]}})}return t}function up(){let e=null,t=null,a=new Set;return{parse(r){let o=[],n=0;do{let s=ip(r,n),i=s.sequence?r.substring(n,s.startPosition):r.substring(n);if(i.length>0&&o.push({value:i,foreground:e,background:t,decorations:new Set(a)}),s.sequence){let l=lp(s.sequence);for(let u of l)u.type==="resetAll"?(e=null,t=null,a.clear()):u.type==="resetForegroundColor"?e=null:u.type==="resetBackgroundColor"?t=null:u.type==="resetDecoration"&&a.delete(u.value);for(let u of l)u.type==="setForegroundColor"?e=u.value:u.type==="setBackgroundColor"?t=u.value:u.type==="setDecoration"&&a.add(u.value)}n=s.position}while(n<r.length);return o}}}var dp={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 cp(e=dp){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 r;function o(){if(r)return r;r=[];for(let u=0;u<gt.length;u++)r.push(t(gt[u]));let i=[0,95,135,175,215,255];for(let u=0;u<6;u++)for(let c=0;c<6;c++)for(let d=0;d<6;d++)r.push(a([i[u],i[c],i[d]]));let l=8;for(let u=0;u<24;u++,l+=10)r.push(a([l,l,l]));return r}function n(i){return o()[i]}function s(i){switch(i.type){case"named":return t(i.name);case"rgb":return a(i.rgb);case"table":return n(i.index)}}return{value:s}}var fp={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 pp(e,t,a){let r=Ja(e,a),o=ar(t),n=Object.fromEntries(gt.map(l=>{let u=`terminal.ansi${l[0].toUpperCase()}${l.substring(1)}`,c=e.colors?.[u];return[l,c||fp[l]]})),s=cp(n),i=up();return o.map(l=>i.parse(l[0]).map(u=>{let c,d;u.decorations.has("reverse")?(c=u.background?s.value(u.background):e.bg,d=u.foreground?s.value(u.foreground):e.fg):(c=u.foreground?s.value(u.foreground):e.fg,d=u.background?s.value(u.background):void 0),c=rt(c,r),d=rt(d,r),u.decorations.has("dim")&&(c=mp(c));let f=Le.None;return u.decorations.has("bold")&&(f|=Le.Bold),u.decorations.has("italic")&&(f|=Le.Italic),u.decorations.has("underline")&&(f|=Le.Underline),u.decorations.has("strikethrough")&&(f|=Le.Strikethrough),{content:u.value,offset:l[1],color:c,bgColor:d,fontStyle:f}}))}function mp(e){let t=e.match(/#([0-9a-f]{3,8})/i);if(t){let r=t[1];if(r.length===8){let o=Math.round(Number.parseInt(r.slice(6,8),16)/2).toString(16).padStart(2,"0");return`#${r.slice(0,6)}${o}`}else{if(r.length===6)return`#${r}80`;if(r.length===4){let o=r[0],n=r[1],s=r[2],i=r[3],l=Math.round(Number.parseInt(`${i}${i}`,16)/2).toString(16).padStart(2,"0");return`#${o}${o}${n}${n}${s}${s}${l}`}else if(r.length===3){let o=r[0],n=r[1],s=r[2];return`#${o}${o}${n}${n}${s}${s}80`}}}let a=e.match(/var\((--[\w-]+-ansi-[\w-]+)\)/);return a?`var(${a[1]}-dim)`:e}function ko(e,t,a={}){let{theme:r=e.getLoadedThemes()[0]}=a,o=e.resolveLangAlias(a.lang||"text");if(So(o)||yo(r))return ar(t).map(l=>[{content:l[0],offset:l[1]}]);let{theme:n,colorMap:s}=e.setTheme(r);if(o==="ansi")return pp(n,t,a);let i=e.getLanguage(a.lang||"text");if(a.grammarState){if(a.grammarState.lang!==i.name)throw new te(`Grammar state language "${a.grammarState.lang}" does not match highlight language "${i.name}"`);if(!a.grammarState.themes.includes(n.name))throw new te(`Grammar state themes "${a.grammarState.themes}" do not contain highlight theme "${n.name}"`)}return gp(t,i,n,s,a)}function hp(...e){if(e.length===2)return la(e[1]);let[t,a,r={}]=e,{lang:o="text",theme:n=t.getLoadedThemes()[0]}=r;if(So(o)||yo(n))throw new te("Plain language does not have grammar state");if(o==="ansi")throw new te("ANSI language does not have grammar state");let{theme:s,colorMap:i}=t.setTheme(n),l=t.getLanguage(o);return new At(To(a,l,s,i,r).stateStack,l.name,s.name)}function gp(e,t,a,r,o){let n=To(e,t,a,r,o),s=new At(n.stateStack,t.name,a.name);return rr(n.tokens,s),n.tokens}function To(e,t,a,r,o){let n=Ja(a,o),{tokenizeMaxLineLength:s=0,tokenizeTimeLimit:i=500}=o,l=ar(e),u=o.grammarState?ap(o.grammarState,a.name)??za:o.grammarContextCode!=null?To(o.grammarContextCode,t,a,r,{...o,grammarState:void 0,grammarContextCode:void 0}).stateStack:za,c=[],d=[];for(let f=0,p=l.length;f<p;f++){let[m,L]=l[f];if(m===""){c=[],d.push([]);continue}if(s>0&&m.length>=s){c=[],d.push([{content:m,offset:L,color:"",fontStyle:0}]);continue}let I,x,g;o.includeExplanation&&(I=t.tokenizeLine(m,u,i),x=I.tokens,g=0);let h=t.tokenizeLine2(m,u,i),w=h.tokens.length/2;for(let S=0;S<w;S++){let v=h.tokens[2*S],A=S+1<w?h.tokens[2*S+2]:m.length;if(v===A)continue;let P=h.tokens[2*S+1],E=rt(r[ht.getForeground(P)],n),k=ht.getFontStyle(P),B={content:m.substring(v,A),offset:L+v,color:E,fontStyle:k};if(o.includeExplanation){let y=[];if(o.includeExplanation!=="scopeName")for(let H of a.settings){let R;switch(typeof H.scope){case"string":R=H.scope.split(/,/).map(b=>b.trim());break;case"object":R=H.scope;break;default:continue}y.push({settings:H,selectors:R.map(b=>b.split(/ /))})}B.explanation=[];let X=0;for(;v+X<A;){let H=x[g],R=m.substring(H.startIndex,H.endIndex);X+=R.length,B.explanation.push({content:R,scopes:o.includeExplanation==="scopeName"?wp(H.scopes):xp(y,H.scopes)}),g+=1}}c.push(B)}d.push(c),c=[],u=h.ruleStack}return{tokens:d,stateStack:u}}function wp(e){return e.map(t=>({scopeName:t}))}function xp(e,t){let a=[];for(let r=0,o=t.length;r<o;r++){let n=t[r];a[r]={scopeName:n,themeMatches:Lp(e,n,t.slice(0,r))}}return a}function Ri(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function Ip(e,t,a){if(!Ri(e[e.length-1],t))return!1;let r=e.length-2,o=a.length-1;for(;r>=0&&o>=0;)Ri(e[r],a[o])&&(r-=1),o-=1;return r===-1}function Lp(e,t,a){let r=[];for(let{selectors:o,settings:n}of e)for(let s of o)if(Ip(s,t,a)){r.push(n);break}return r}function Wi(e,t,a){let r=Object.entries(a.themes).filter(l=>l[1]).map(l=>({color:l[0],theme:l[1]})),o=r.map(l=>{let u=ko(e,t,{...a,theme:l.theme}),c=la(u),d=typeof l.theme=="string"?l.theme:l.theme.name;return{tokens:u,state:c,theme:d}}),n=Cp(...o.map(l=>l.tokens)),s=n[0].map((l,u)=>l.map((c,d)=>{let f={content:c.content,variants:{},offset:c.offset};return"includeExplanation"in a&&a.includeExplanation&&(f.explanation=c.explanation),n.forEach((p,m)=>{let{content:L,explanation:I,offset:x,...g}=p[u][d];f.variants[r[m].color]=g}),f})),i=o[0].state?new At(Object.fromEntries(o.map(l=>[l.theme,l.state?.getInternalStack(l.theme)])),o[0].state.lang):void 0;return i&&rr(s,i),s}function Cp(...e){let t=e.map(()=>[]),a=e.length;for(let r=0;r<e[0].length;r++){let o=e.map(l=>l[r]),n=t.map(()=>[]);t.forEach((l,u)=>l.push(n[u]));let s=o.map(()=>0),i=o.map(l=>l[0]);for(;i.every(l=>l);){let l=Math.min(...i.map(u=>u.content.length));for(let u=0;u<a;u++){let c=i[u];c.content.length===l?(n[u].push(c),s[u]+=1,i[u]=o[u][s[u]]):(n[u].push({...c,content:c.content.slice(0,l)}),i[u]={...c,content:c.content.slice(l),offset:c.offset+l})}}}return t}function er(e,t,a){let r,o,n,s,i,l;if("themes"in a){let{defaultColor:u="light",cssVariablePrefix:c="--shiki-",colorsRendering:d="css-vars"}=a,f=Object.entries(a.themes).filter(x=>x[1]).map(x=>({color:x[0],theme:x[1]})).sort((x,g)=>x.color===u?-1:g.color===u?1:0);if(f.length===0)throw new te("`themes` option must not be empty");let p=Wi(e,t,a);if(l=la(p),u&&bo!==u&&!f.find(x=>x.color===u))throw new te(`\`themes\` option must contain the defaultColor key \`${u}\``);let m=f.map(x=>e.getTheme(x.theme)),L=f.map(x=>x.color);n=p.map(x=>x.map(g=>ep(g,L,c,u,d))),l&&rr(n,l);let I=f.map(x=>Ja(x.theme,a));o=Mi(f,m,I,c,u,"fg",d),r=Mi(f,m,I,c,u,"bg",d),s=`shiki-themes ${m.map(x=>x.name).join(" ")}`,i=u?void 0:[o,r].join(";")}else if("theme"in a){let u=Ja(a.theme,a);n=ko(e,t,a);let c=e.getTheme(a.theme);r=rt(c.bg,u),o=rt(c.fg,u),s=c.name,l=la(n)}else throw new te("Invalid options, either `theme` or `themes` must be provided");return{tokens:n,fg:o,bg:r,themeName:s,rootStyle:i,grammarState:l}}function Mi(e,t,a,r,o,n,s){return e.map((i,l)=>{let u=rt(t[l][n],a[l])||"inherit",c=`${r+i.color}${n==="bg"?"-bg":""}:${u}`;if(l===0&&o){if(o===bo&&e.length>1){let d=e.findIndex(L=>L.color==="light"),f=e.findIndex(L=>L.color==="dark");if(d===-1||f===-1)throw new te('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let p=rt(t[d][n],a[d])||"inherit",m=rt(t[f][n],a[f])||"inherit";return`light-dark(${p}, ${m});${c}`}return u}return s==="css-vars"?c:null}).filter(i=>!!i).join(";")}function tr(e,t,a,r={meta:{},options:a,codeToHast:(o,n)=>tr(e,o,n),codeToTokens:(o,n)=>er(e,o,n)}){let o=t;for(let m of Za(a))o=m.preprocess?.call(r,o,a)||o;let{tokens:n,fg:s,bg:i,themeName:l,rootStyle:u,grammarState:c}=er(e,o,a),{mergeWhitespaces:d=!0,mergeSameStyleTokens:f=!1}=a;d===!0?n=yp(n):d==="never"&&(n=bp(n)),f&&(n=kp(n));let p={...r,get source(){return o}};for(let m of Za(a))n=m.tokens?.call(p,n)||n;return Sp(n,{...a,fg:s,bg:i,themeName:l,rootStyle:a.rootStyle===!1?!1:a.rootStyle??u},p,c)}function Sp(e,t,a,r=la(e)){let o=Za(t),n=[],s={type:"root",children:[]},{structure:i="classic",tabindex:l="0"}=t,u={class:`shiki ${t.themeName||""}`};t.rootStyle!==!1&&(t.rootStyle!=null?u.style=t.rootStyle:u.style=`background-color:${t.bg};color:${t.fg}`),l!==!1&&l!=null&&(u.tabindex=l.toString());for(let[L,I]of Object.entries(t.meta||{}))L.startsWith("_")||(u[L]=I);let c={type:"element",tagName:"pre",properties:u,children:[],data:t.data},d={type:"element",tagName:"code",properties:{},children:n},f=[],p={...a,structure:i,addClassToHast:Ni,get source(){return a.source},get tokens(){return e},get options(){return t},get root(){return s},get pre(){return c},get code(){return d},get lines(){return f}};if(e.forEach((L,I)=>{I&&(i==="inline"?s.children.push({type:"element",tagName:"br",properties:{},children:[]}):i==="classic"&&n.push({type:"text",value:`
13
+ `}));let x={type:"element",tagName:"span",properties:{class:"line"},children:[]},g=0;for(let h of L){let w={type:"element",tagName:"span",properties:{...h.htmlAttrs},children:[{type:"text",value:h.content}]},S=Io(h.htmlStyle||Ya(h));S&&(w.properties.style=S);for(let v of o)w=v?.span?.call(p,w,I+1,g,x,h)||w;i==="inline"?s.children.push(w):i==="classic"&&x.children.push(w),g+=h.content.length}if(i==="classic"){for(let h of o)x=h?.line?.call(p,x,I+1)||x;f.push(x),n.push(x)}else i==="inline"&&f.push(x)}),i==="classic"){for(let L of o)d=L?.code?.call(p,d)||d;c.children.push(d);for(let L of o)c=L?.pre?.call(p,c)||c;s.children.push(c)}else if(i==="inline"){let L=[],I={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(let h of s.children)h.type==="element"&&h.tagName==="br"?(L.push(I),I={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(h.type==="element"||h.type==="text")&&I.children.push(h);L.push(I);let g={type:"element",tagName:"code",properties:{},children:L};for(let h of o)g=h?.code?.call(p,g)||g;s.children=[];for(let h=0;h<g.children.length;h++){h>0&&s.children.push({type:"element",tagName:"br",properties:{},children:[]});let w=g.children[h];w.type==="element"&&s.children.push(...w.children)}}let m=s;for(let L of o)m=L?.root?.call(p,m)||m;return r&&rr(m,r),m}function yp(e){return e.map(t=>{let a=[],r="",o;return t.forEach((n,s)=>{let l=!(n.fontStyle&&(n.fontStyle&Le.Underline||n.fontStyle&Le.Strikethrough));l&&n.content.match(/^\s+$/)&&t[s+1]?(o===void 0&&(o=n.offset),r+=n.content):r?(l?a.push({...n,offset:o,content:r+n.content}):a.push({content:r,offset:o},n),o=void 0,r=""):a.push(n)}),a})}function bp(e){return e.map(t=>t.flatMap(a=>{if(a.content.match(/^\s+$/))return a;let r=a.content.match(/^(\s*)(.*?)(\s*)$/);if(!r)return a;let[,o,n,s]=r;if(!o&&!s)return a;let i=[{...a,offset:a.offset+o.length,content:n}];return o&&i.unshift({content:o,offset:a.offset}),s&&i.push({content:s,offset:a.offset+o.length+n.length}),i}))}function kp(e){return e.map(t=>{let a=[];for(let r of t){if(a.length===0){a.push({...r});continue}let o=a[a.length-1],n=Io(o.htmlStyle||Ya(o)),s=Io(r.htmlStyle||Ya(r)),i=o.fontStyle&&(o.fontStyle&Le.Underline||o.fontStyle&Le.Strikethrough),l=r.fontStyle&&(r.fontStyle&Le.Underline||r.fontStyle&Le.Strikethrough);!i&&!l&&n===s?o.content+=r.content:a.push({...r})}return a})}var Tp=go;function vp(e,t,a){let r={meta:{},options:a,codeToHast:(n,s)=>tr(e,n,s),codeToTokens:(n,s)=>er(e,n,s)},o=Tp(tr(e,t,a,r));for(let n of Za(a))o=n.postprocess?.call(r,o,a)||o;return o}var Fi={light:"#333333",dark:"#bbbbbb"},Bi={light:"#fffffe",dark:"#1e1e1e"},Ei="__shiki_resolved";function vo(e){if(e?.[Ei])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:r}=t;if(!a||!r){let i=t.settings?t.settings.find(l=>!l.name&&!l.scope):void 0;i?.settings?.foreground&&(r=i.settings.foreground),i?.settings?.background&&(a=i.settings.background),!r&&t?.colors?.["editor.foreground"]&&(r=t.colors["editor.foreground"]),!a&&t?.colors?.["editor.background"]&&(a=t.colors["editor.background"]),r||(r=t.type==="light"?Fi.light:Fi.dark),a||(a=t.type==="light"?Bi.light:Bi.dark),t.fg=r,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 o=0,n=new Map;function s(i){if(n.has(i))return n.get(i);o+=1;let l=`#${o.toString(16).padStart(8,"0").toLowerCase()}`;return t.colorReplacements?.[`#${l}`]?s(i):(n.set(i,l),l)}t.settings=t.settings.map(i=>{let l=i.settings?.foreground&&!i.settings.foreground.startsWith("#"),u=i.settings?.background&&!i.settings.background.startsWith("#");if(!l&&!u)return i;let c={...i,settings:{...i.settings}};if(l){let d=s(i.settings.foreground);t.colorReplacements[d]=i.settings.foreground,c.settings.foreground=d}if(u){let d=s(i.settings.background);t.colorReplacements[d]=i.settings.background,c.settings.background=d}return c});for(let i of Object.keys(t.colors||{}))if((i==="editor.foreground"||i==="editor.background"||i.startsWith("terminal.ansi"))&&!t.colors[i]?.startsWith("#")){let l=s(t.colors[i]);t.colorReplacements[l]=t.colors[i],t.colors[i]=l}return Object.defineProperty(t,Ei,{enumerable:!1,writable:!1,value:!0}),t}async function Gi(e){return Array.from(new Set((await Promise.all(e.filter(t=>!_i(t)).map(async t=>await Di(t).then(a=>Array.isArray(a)?a:[a])))).flat()))}async function Vi(e){return(await Promise.all(e.map(async a=>Oi(a)?null:vo(await Di(a))))).filter(a=>!!a)}var xo=3,Pp=!1;function Ap(e,t=3){if(xo&&!(typeof xo=="number"&&t>xo)){if(Pp)throw new Error(`[SHIKI DEPRECATE]: ${e}`);console.trace(`[SHIKI DEPRECATE]: ${e}`)}}var at=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function zi(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 at(`Circular alias \`${Array.from(a).join(" -> ")} -> ${e}\``);a.add(e)}}return e}var Lo=class extends ui{constructor(t,a,r,o={}){super(t),this._resolver=t,this._themes=a,this._langs=r,this._alias=o,this._themes.map(n=>this.loadTheme(n)),this.loadLanguages(this._langs)}_resolvedThemes=new Map;_resolvedGrammars=new Map;_langMap=new Map;_langGraph=new Map;_textmateThemeCache=new WeakMap;_loadedThemesCache=null;_loadedLanguagesCache=null;getTheme(t){return typeof t=="string"?this._resolvedThemes.get(t):this.loadTheme(t)}loadTheme(t){let a=vo(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=ta.createFromRawTheme(t),this._textmateThemeCache.set(t,a)),this._syncRegistry.setTheme(a)}getGrammar(t){return t=zi(t,this._alias),this._resolvedGrammars.get(t)}loadLanguage(t){if(this.getGrammar(t.name))return;let a=new Set([...this._langMap.values()].filter(n=>n.embeddedLangsLazy?.includes(t.name)));this._resolver.addLanguage(t);let r={balancedBracketSelectors:t.balancedBracketSelectors||["*"],unbalancedBracketSelectors:t.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(t.scopeName,t);let o=this.loadGrammarWithConfiguration(t.scopeName,1,r);if(o.name=t.name,this._resolvedGrammars.set(t.name,o),t.aliases&&t.aliases.forEach(n=>{this._alias[n]=t.name}),this._loadedLanguagesCache=null,a.size)for(let n of a)this._resolvedGrammars.delete(n.name),this._loadedLanguagesCache=null,this._syncRegistry?._injectionGrammars?.delete(n.scopeName),this._syncRegistry?._grammars?.delete(n.scopeName),this.loadLanguage(this._langMap.get(n.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(t){for(let o of t)this.resolveEmbeddedLanguages(o);let a=Array.from(this._langGraph.entries()),r=a.filter(([o,n])=>!n);if(r.length){let o=a.filter(([n,s])=>s?(s.embeddedLanguages||s.embeddedLangs)?.some(l=>r.map(([u])=>u).includes(l)):!1).filter(n=>!r.includes(n));throw new at(`Missing languages ${r.map(([n])=>`\`${n}\``).join(", ")}, required by ${o.map(([n])=>`\`${n}\``).join(", ")}`)}for(let[o,n]of a)this._resolver.addLanguage(n);for(let[o,n]of a)this.loadLanguage(n)}getLoadedLanguages(){return this._loadedLanguagesCache||(this._loadedLanguagesCache=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])]),this._loadedLanguagesCache}resolveEmbeddedLanguages(t){this._langMap.set(t.name,t),this._langGraph.set(t.name,t);let a=t.embeddedLanguages??t.embeddedLangs;if(a)for(let r of a)this._langGraph.set(r,this._langMap.get(r))}},Co=class{_langs=new Map;_scopeToLang=new Map;_injections=new Map;_onigLib;constructor(t,a){this._onigLib={createOnigScanner:r=>t.createScanner(r),createOnigString:r=>t.createString(r)},a.forEach(r=>this.addLanguage(r))}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("."),r=[];for(let o=1;o<=a.length;o++){let n=a.slice(0,o).join(".");r=[...r,...this._injections.get(n)||[]]}return r}},ia=0;function Rp(e){ia+=1,e.warnings!==!1&&ia>=10&&ia%10===0&&console.warn(`[Shiki] ${ia} 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 at("`engine` option is required for synchronous mode");let a=(e.langs||[]).flat(1),r=(e.themes||[]).flat(1).map(vo),o=new Co(e.engine,a),n=new Lo(o,r,a,e.langAlias),s;function i(h){return zi(h,e.langAlias)}function l(h){x();let w=n.getGrammar(typeof h=="string"?h:h.name);if(!w)throw new at(`Language \`${h}\` not found, you may need to load it first`);return w}function u(h){if(h==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};x();let w=n.getTheme(h);if(!w)throw new at(`Theme \`${h}\` not found, you may need to load it first`);return w}function c(h){x();let w=u(h);s!==h&&(n.setTheme(w),s=h);let S=n.getColorMap();return{theme:w,colorMap:S}}function d(){return x(),n.getLoadedThemes()}function f(){return x(),n.getLoadedLanguages()}function p(...h){x(),n.loadLanguages(h.flat(1))}async function m(...h){return p(await Gi(h))}function L(...h){x();for(let w of h.flat(1))n.loadTheme(w)}async function I(...h){return x(),L(await Vi(h))}function x(){if(t)throw new at("Shiki instance has been disposed")}function g(){t||(t=!0,n.dispose(),ia-=1)}return{setTheme:c,getTheme:u,getLanguage:l,getLoadedThemes:d,getLoadedLanguages:f,resolveLangAlias:i,loadLanguage:m,loadLanguageSync:p,loadTheme:I,loadThemeSync:L,dispose:g,[Symbol.dispose]:g}}async function Mp(e){e.engine||Ap("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,a,r]=await Promise.all([Vi(e.themes||[]),Gi(e.langs||[]),e.engine]);return Rp({...e,themes:t,langs:a,engine:r})}async function Fp(e){let t=await Mp(e);return{getLastGrammarState:(...a)=>hp(t,...a),codeToTokensBase:(a,r)=>ko(t,a,r),codeToTokensWithThemes:(a,r)=>Wi(t,a,r),codeToTokens:(a,r)=>er(t,a,r),codeToHast:(a,r)=>tr(t,a,r),codeToHtml:(a,r)=>vp(t,a,r),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function ji(e){let t=e.langs,a=e.themes,r=e.engine;async function o(n){function s(d){if(typeof d=="string"){if(d=n.langAlias?.[d]||d,_i(d))return[];let f=t[d];if(!f)throw new te(`Language \`${d}\` is not included in this bundle. You may want to load it from external source.`);return f}return d}function i(d){if(Oi(d))return"none";if(typeof d=="string"){let f=a[d];if(!f)throw new te(`Theme \`${d}\` is not included in this bundle. You may want to load it from external source.`);return f}return d}let l=(n.themes??[]).map(d=>i(d)),u=(n.langs??[]).map(d=>s(d)),c=await Fp({engine:n.engine??r(),...n,themes:l,langs:u});return{...c,loadLanguage(...d){return c.loadLanguage(...d.map(s))},loadTheme(...d){return c.loadTheme(...d.map(i))},getBundledLanguages(){return t},getBundledThemes(){return a}}}return o}function Bp(e){let t;async function a(r={}){if(t){let o=await t;return await Promise.all([o.loadTheme(...r.themes||[]),o.loadLanguage(...r.langs||[])]),o}else{t=e({...r,themes:[],langs:[]});let o=await t;return await Promise.all([o.loadTheme(...r.themes||[]),o.loadLanguage(...r.langs||[])]),o}}return a}function $i(e,t){let a=Bp(e);async function r(o,n){let s=await a({langs:[n.lang],themes:"theme"in n?[n.theme]:Object.values(n.themes)}),i=await t?.guessEmbeddedLanguages?.(o,n.lang,s);return i&&await s.loadLanguage(...i),s}return{getSingletonHighlighter(o){return a(o)},async codeToHtml(o,n){return(await r(o,n)).codeToHtml(o,n)},async codeToHast(o,n){return(await r(o,n)).codeToHast(o,n)},async codeToTokens(o,n){return(await r(o,n)).codeToTokens(o,n)},async codeToTokensBase(o,n){return(await r(o,n)).codeToTokensBase(o,n)},async codeToTokensWithThemes(o,n){return(await r(o,n)).codeToTokensWithThemes(o,n)},async getLastGrammarState(o,n){return(await a({langs:[n.lang],themes:[n.theme]})).getLastGrammarState(o,n)}}}var Po=[{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-DFS2FCNO.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-FBR445XW.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-BMSTTQT4.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-OHP5YUT7.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-LJNKRWP5.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-KUYJX32Q.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-NLMAEKLI.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-7ZVVH3VM.js"))},{id:"hurl",name:"Hurl",import:(()=>import("../hurl-B6WXEN45.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-CPV3A4MM.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-XWCHWP6B.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-U57UBFBS.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-IZHDGBO6.js"))},{id:"php",name:"PHP",import:(()=>import("../php-MNP62HWP.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-6KQSGP2V.js"))},{id:"ruby",name:"Ruby",aliases:["rb"],import:(()=>import("../ruby-OWE2HOOR.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-XNK5N5RZ.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-OEIJ72KK.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-FIH2DYBE.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"))}],Xi=Object.fromEntries(Po.map(e=>[e.id,e.import])),Ki=Object.fromEntries(Po.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),ua={...Xi,...Ki};var Ep=[{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"))}],Qi=Object.fromEntries(Ep.map(e=>[e.id,e.import]));var da=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Dp(){return 2147483648}function _p(){return typeof performance<"u"?performance.now():Date.now()}var Op=(e,t)=>e+(t-e%t)%t;async function Np(e){let t,a,r={};function o(p){a=p,r.HEAPU8=new Uint8Array(p),r.HEAPU32=new Uint32Array(p)}function n(p,m,L){r.HEAPU8.copyWithin(p,m,m+L)}function s(p){try{return t.grow(p-a.byteLength+65535>>>16),o(t.buffer),1}catch{}}function i(p){let m=r.HEAPU8.length;p=p>>>0;let L=Dp();if(p>L)return!1;for(let I=1;I<=4;I*=2){let x=m*(1+.2/I);x=Math.min(x,p+100663296);let g=Math.min(L,Op(Math.max(p,x),65536));if(s(g))return!0}return!1}let l=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function u(p,m,L=1024){let I=m+L,x=m;for(;p[x]&&!(x>=I);)++x;if(x-m>16&&p.buffer&&l)return l.decode(p.subarray(m,x));let g="";for(;m<x;){let h=p[m++];if(!(h&128)){g+=String.fromCharCode(h);continue}let w=p[m++]&63;if((h&224)===192){g+=String.fromCharCode((h&31)<<6|w);continue}let S=p[m++]&63;if((h&240)===224?h=(h&15)<<12|w<<6|S:h=(h&7)<<18|w<<12|S<<6|p[m++]&63,h<65536)g+=String.fromCharCode(h);else{let v=h-65536;g+=String.fromCharCode(55296|v>>10,56320|v&1023)}}return g}function c(p,m){return p?u(r.HEAPU8,p,m):""}let d={emscripten_get_now:_p,emscripten_memcpy_big:n,emscripten_resize_heap:i,fd_write:()=>0};async function f(){let m=await e({env:d,wasi_snapshot_preview1:d});t=m.memory,o(t.buffer),Object.assign(r,m),r.UTF8ToString=c}return await f(),r}var Up=Object.defineProperty,Hp=(e,t,a)=>t in e?Up(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,fe=(e,t,a)=>Hp(e,typeof t!="symbol"?t+"":t,a),ge=null;function qp(e){throw new da(e.UTF8ToString(e.getLastOnigError()))}var nr=class e{constructor(t){fe(this,"utf16Length"),fe(this,"utf8Length"),fe(this,"utf16Value"),fe(this,"utf8Value"),fe(this,"utf16OffsetToUtf8"),fe(this,"utf8OffsetToUtf16");let a=t.length,r=e._utf8ByteLength(t),o=r!==a,n=o?new Uint32Array(a+1):null;o&&(n[a]=r);let s=o?new Uint32Array(r+1):null;o&&(s[r]=a);let i=new Uint8Array(r),l=0;for(let u=0;u<a;u++){let c=t.charCodeAt(u),d=c,f=!1;if(c>=55296&&c<=56319&&u+1<a){let p=t.charCodeAt(u+1);p>=56320&&p<=57343&&(d=(c-55296<<10)+65536|p-56320,f=!0)}o&&(n[u]=l,f&&(n[u+1]=l),d<=127?s[l+0]=u:d<=2047?(s[l+0]=u,s[l+1]=u):d<=65535?(s[l+0]=u,s[l+1]=u,s[l+2]=u):(s[l+0]=u,s[l+1]=u,s[l+2]=u,s[l+3]=u)),d<=127?i[l++]=d:d<=2047?(i[l++]=192|(d&1984)>>>6,i[l++]=128|(d&63)>>>0):d<=65535?(i[l++]=224|(d&61440)>>>12,i[l++]=128|(d&4032)>>>6,i[l++]=128|(d&63)>>>0):(i[l++]=240|(d&1835008)>>>18,i[l++]=128|(d&258048)>>>12,i[l++]=128|(d&4032)>>>6,i[l++]=128|(d&63)>>>0),f&&u++}this.utf16Length=a,this.utf8Length=r,this.utf16Value=t,this.utf8Value=i,this.utf16OffsetToUtf8=n,this.utf8OffsetToUtf16=s}static _utf8ByteLength(t){let a=0;for(let r=0,o=t.length;r<o;r++){let n=t.charCodeAt(r),s=n,i=!1;if(n>=55296&&n<=56319&&r+1<o){let l=t.charCodeAt(r+1);l>=56320&&l<=57343&&(s=(n-55296<<10)+65536|l-56320,i=!0)}s<=127?a+=1:s<=2047?a+=2:s<=65535?a+=3:a+=4,i&&r++}return a}createString(t){let a=t.omalloc(this.utf8Length);return t.HEAPU8.set(this.utf8Value,a),a}},sr=class Ge{constructor(t){if(fe(this,"id",++Ge.LAST_ID),fe(this,"_onigBinding"),fe(this,"content"),fe(this,"utf16Length"),fe(this,"utf8Length"),fe(this,"utf16OffsetToUtf8"),fe(this,"utf8OffsetToUtf16"),fe(this,"ptr"),!ge)throw new da("Must invoke loadWasm first.");this._onigBinding=ge,this.content=t;let a=new nr(t);this.utf16Length=a.utf16Length,this.utf8Length=a.utf8Length,this.utf16OffsetToUtf8=a.utf16OffsetToUtf8,this.utf8OffsetToUtf16=a.utf8OffsetToUtf16,this.utf8Length<1e4&&!Ge._sharedPtrInUse?(Ge._sharedPtr||(Ge._sharedPtr=ge.omalloc(1e4)),Ge._sharedPtrInUse=!0,ge.HEAPU8.set(a.utf8Value,Ge._sharedPtr),this.ptr=Ge._sharedPtr):this.ptr=a.createString(ge)}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===Ge._sharedPtr?Ge._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};fe(sr,"LAST_ID",0);fe(sr,"_sharedPtr",0);fe(sr,"_sharedPtrInUse",!1);var Ji=sr,Ro=class{constructor(t){if(fe(this,"_onigBinding"),fe(this,"_ptr"),!ge)throw new da("Must invoke loadWasm first.");let a=[],r=[];for(let i=0,l=t.length;i<l;i++){let u=new nr(t[i]);a[i]=u.createString(ge),r[i]=u.utf8Length}let o=ge.omalloc(4*t.length);ge.HEAPU32.set(a,o/4);let n=ge.omalloc(4*t.length);ge.HEAPU32.set(r,n/4);let s=ge.createOnigScanner(o,n,t.length);for(let i=0,l=t.length;i<l;i++)ge.ofree(a[i]);ge.ofree(n),ge.ofree(o),s===0&&qp(ge),this._onigBinding=ge,this._ptr=s}dispose(){this._onigBinding.freeOnigScanner(this._ptr)}findNextMatchSync(t,a,r){let o=0;if(typeof r=="number"&&(o=r),typeof t=="string"){t=new Ji(t);let n=this._findNextMatchSync(t,a,!1,o);return t.dispose(),n}return this._findNextMatchSync(t,a,!1,o)}_findNextMatchSync(t,a,r,o){let n=this._onigBinding,s=n.findNextOnigScannerMatch(this._ptr,t.id,t.ptr,t.utf8Length,t.convertUtf16OffsetToUtf8(a),o);if(s===0)return null;let i=n.HEAPU32,l=s/4,u=i[l++],c=i[l++],d=[];for(let f=0;f<c;f++){let p=t.convertUtf8OffsetToUtf16(i[l++]),m=t.convertUtf8OffsetToUtf16(i[l++]);d[f]={start:p,end:m,length:m-p}}return{index:u,captureIndices:d}}};function Wp(e){return typeof e.instantiator=="function"}function Gp(e){return typeof e.default=="function"}function Vp(e){return typeof e.data<"u"}function zp(e){return typeof Response<"u"&&e instanceof Response}function jp(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 or;function $p(e){if(or)return or;async function t(){ge=await Np(async a=>{let r=e;return r=await r,typeof r=="function"&&(r=await r(a)),typeof r=="function"&&(r=await r(a)),Wp(r)?r=await r.instantiator(a):Gp(r)?r=await r.default(a):(Vp(r)&&(r=r.data),zp(r)?typeof WebAssembly.instantiateStreaming=="function"?r=await Xp(r)(a):r=await Kp(r)(a):jp(r)?r=await Ao(r)(a):r instanceof WebAssembly.Module?r=await Ao(r)(a):"default"in r&&r.default instanceof WebAssembly.Module&&(r=await Ao(r.default)(a))),"instance"in r&&(r=r.instance),"exports"in r&&(r=r.exports),r})}return or=t(),or}function Ao(e){return t=>WebAssembly.instantiate(e,t)}function Xp(e){return t=>WebAssembly.instantiateStreaming(e,t)}function Kp(e){return async t=>{let a=await e.arrayBuffer();return WebAssembly.instantiate(a,t)}}async function Yi(e){return e&&await $p(e),{createScanner(t){return new Ro(t.map(a=>typeof a=="string"?a:a.source))},createString(t){return new Ji(t)}}}var ir=ji({langs:ua,themes:Qi,engine:()=>Yi(import("../wasm-EOPKAILK.js"))}),{codeToHtml:Qp,codeToHast:Jp,codeToTokens:Yp,codeToTokensBase:Zp,codeToTokensWithThemes:em,getSingletonHighlighter:tm,getLastGrammarState:am}=$i(ir,{guessEmbeddedLanguages:Ui});var Zi=new Set(Object.keys(ua)),Mo=new Map,Fo=new Map,Rt=new Map,rm=(e,t)=>`${e}-${t[0]}-${t[1]}`,om=(e,t,a)=>{let r=e.slice(0,100),o=e.length>100?e.slice(-100):"";return`${t}:${a[0]}:${a[1]}:${e.length}:${r}:${o}`},nm=(e,t)=>{let a=rm(e,t);if(Mo.has(a))return Mo.get(a);let r=ir({themes:t,langs:[e]});return Mo.set(a,r),r};function sm(e={}){var t;let a=(t=e.themes)!=null?t:["github-light","github-dark"];return{name:"shiki",type:"code-highlighter",supportsLanguage(r){return Zi.has(r)},getSupportedLanguages(){return Array.from(Zi)},getThemes(){return a},highlight({code:r,language:o,themes:n},s){let i=om(r,o,n);return Fo.has(i)?Fo.get(i):(s&&(Rt.has(i)||Rt.set(i,new Set),Rt.get(i).add(s)),nm(o,n).then(l=>{let u=l.getLoadedLanguages().includes(o)?o:"text",c=l.codeToTokens(r,{lang:u,themes:{light:n[0],dark:n[1]}});Fo.set(i,c);let d=Rt.get(i);if(d){for(let f of d)f(c);Rt.delete(i)}}).catch(l=>{console.error("[Streamdown Code] Failed to highlight code:",l),Rt.delete(i)}),null)}}}var el=sm();import{memo as dm}from"react";import{useEffect as im,useRef as lr,useState as lm}from"react";var um=5,tl=400;function al(e,t,a={}){let{msPerChar:r=um}=a,[o,n]=lm(t?"":e),s=lr(e),i=lr(t?0:e.length),l=lr(0),u=lr(null);return(e.length<i.current||!e.startsWith(o.slice(0,i.current)))&&(i.current=t?0:e.length),s.current=e,im(()=>{if(!t){u.current!==null&&(cancelAnimationFrame(u.current),u.current=null),i.current=e.length,n(e);return}if(s.current.length-i.current>tl&&(i.current=s.current.length-tl),u.current!==null)return;let d=f=>{let p=s.current;if(i.current>=p.length){u.current=null;return}l.current===0&&(l.current=f);let m=f-l.current;if(m>=r){let L=Math.min(Math.floor(m/r),p.length-i.current);i.current+=L,n(p.slice(0,i.current)),l.current=f}u.current=requestAnimationFrame(d)};return u.current=requestAnimationFrame(d),()=>{u.current!==null&&(cancelAnimationFrame(u.current),u.current=null)}},[e,t,r]),o}import{jsx as ur}from"react/jsx-runtime";var Bo=({className:e,from:t,children:a,...r})=>ur("div",{className:T("ww-message ww:group ww:flex ww:w-full",t==="user"?"ww-message-user is-user ww:ml-auto ww:flex-col ww:items-end ww:[max-width:var(--ww-msg-max-width,80%)]":"ww-message-assistant is-assistant ww:flex-col",e),...r,children:ur("div",{className:T("ww:flex ww:min-w-0 ww:flex-col ww:gap-2","ww:w-full"),children:a})}),Eo=({children:e,className:t,...a})=>ur("div",{className:T("ww-bubble ww:flex ww:w-fit ww:min-w-0 ww:max-w-full ww:flex-col ww:gap-2 ww:overflow-hidden","ww:[font-size:var(--ww-font-size,1rem)] ww:[line-height:var(--ww-line-height,1.5)]","ww:group-[.is-user]:ml-auto ww:group-[.is-user]:bg-user-bubble ww:group-[.is-user]:[color:var(--ww-color-user-bubble-text)] ww:group-[.is-user]:[border-radius:var(--ww-msg-radius,8px)] ww:group-[.is-user]:[padding:var(--ww-msg-pad-y,12px)_var(--ww-msg-pad-x,16px)]","ww:group-[.is-assistant]:text-foreground",t),...a,children:e}),cm={cjk:to,code:el},fm={cjk:to},pm={enabled:!1};function mm({className:e,linkSafety:t,isStreaming:a,children:r,...o}){let s=al(typeof r=="string"?r:"",!!a),i=typeof r=="string"?s:r;return ur(Dt,{className:T("ww:size-full ww:[&>*:first-child]:mt-0 ww:[&>*:last-child]:mb-0",e),linkSafety:t??pm,plugins:a?fm:cm,...o,children:i})}var dr=dm(mm,(e,t)=>e.children===t.children&&e.isStreaming===t.isStreaming);dr.displayName="MessageResponse";import{createContext as hm,useCallback as gm,useContext as sl,useEffect as wm,useMemo as _o,useRef as xm,useState as Oo}from"react";import{Fragment as nl,jsx as J,jsxs as wt}from"react/jsx-runtime";function Im(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 r=Object.entries(e),o=[],n=t-2;for(let[s,i]of r){if(n<=8)break;let l=s.length>4?`${s.slice(0,4)}\u2026`:s,u;typeof i=="string"?u=i.length>2?`'${i.slice(0,1)}\u2026`:`'${i}'`:Array.isArray(i)?u=`Array(${i.length})`:typeof i=="object"&&i!==null?u="{\u2026}":u=String(i);let c=`${l}\u2009${u}`;o.push(c),n-=c.length+3}return`{${o.join(", ")}}`}function Lm({text:e,className:t}){let{t:a}=G(),[r,o]=Oo(!1),n=xm(null);wm(()=>()=>{n.current&&clearTimeout(n.current)},[]);let s=gm(async i=>{i.stopPropagation();try{await navigator.clipboard.writeText(e),o(!0),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>o(!1),2e3)}catch{}},[e]);return J(De,{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:r?wt(nl,{children:[J(Ot,{className:"ww:size-3.5"}),J("span",{children:a.tool.copied})]}):wt(nl,{children:[J(Ut,{className:"ww:size-3.5"}),J("span",{children:a.tool.copy})]})})}function il({data:e,label:t,className:a,...r}){let[o,n]=Oo(!1),s=_o(()=>JSON.stringify(e,null,2),[e]),i=Im(e);return wt("div",{className:T("ww:rounded-lg ww:bg-tool-card",a),...r,children:[wt("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(Lm,{text:s})]}),wt("button",{type:"button",onClick:()=>n(l=>!l),className:"ww:flex ww:w-full ww:items-start ww:gap-2 ww:px-3 ww:pb-3 ww:text-left",children:[J(Nt,{className:T("ww:mt-0.5 ww:size-3.5 ww:shrink-0 ww:text-muted-foreground ww:transition-transform ww:duration-150",o&&"ww:rotate-90")}),o?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:s})}):J("span",{className:"ww:truncate ww:text-xs ww:font-mono ww:text-foreground/80",children:i})]})]})}var No=hm({open:!1,toggle:()=>{}});function ll({className:e,defaultOpen:t=!1,children:a,...r}){let[o,n]=Oo(t);return J(No.Provider,{value:{open:o,toggle:()=>n(s=>!s)},children:J("div",{className:T("ww:mb-4 ww:w-full",e),"data-state":o?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...r,children:a})})}function ul({className:e,title:t,state:a,...r}){let{open:o,toggle:n}=sl(No),s=a==="input-available"||a==="input-streaming",i=t??"";return wt("button",{type:"button",onClick:n,className:T("ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),"aria-expanded":o,...r,children:[J(ut,{className:"ww:size-4 ww:shrink-0"}),J("span",{className:"ww:truncate",children:s?J(Ne,{duration:1.6,children:i}):i}),J(Je,{className:T("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",o&&"ww:rotate-180")})]})}function dl({className:e,title:t,state:a,...r}){let o=a==="input-available"||a==="input-streaming",n=t??"";return J("div",{className:T("ww:mb-4 ww:flex ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground",e),style:{animation:"ww-fade-in 0.2s ease-out"},...r,children:J("span",{className:"ww:truncate",children:o?J(Ne,{duration:1.6,children:n}):n})})}function cl({className:e,children:t,...a}){let{open:r}=sl(No);return J("div",{className:T("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",r?"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 Uo({className:e,input:t,debug:a,...r}){let{t:o}=G(),n=_o(()=>{if(!a&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:s,...i}=t;return i}return t},[t,a]);return J(il,{data:n,label:o.tool.request,className:e,...r})}function Do(e){if(!(typeof e!="object"||e===null))return e}function fl(e){return Do(e?.ui)}function pl(e){return Do(Do(e)?._meta)}function rl(e){if(!e)return;let t=fl(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 r=e["openai/outputTemplate"];if(typeof r=="string"&&r.length>0)return r}function ol(e){return fl(e)?.autoHeight===!0}function ca(e,t,a){if(e){let r=rl(a?.[e]?._meta);if(r)return r}return rl(pl(t))}function ml(e,t,a){return e&&ol(a?.[e]?._meta)?!0:ol(pl(t))}function Ho({className:e,output:t,errorText:a,debug:r,...o}){let{t:n}=G(),s=_o(()=>{if(!r&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:i,...l}=t;return l}return t},[t,r]);return t||a?a?wt("div",{className:T("ww:space-y-2",e),...o,children:[J("h4",{className:"ww:text-xs ww:font-medium ww:uppercase ww:tracking-wide ww:text-muted-foreground",children:n.tool.error}),J("div",{className:"ww:rounded-lg ww:bg-destructive/10 ww:p-3 ww:text-xs ww:text-destructive",children:a})]}):J(il,{data:s,label:n.tool.response,className:e,...o}):null}import{jsx as hl,jsxs as Cm}from"react/jsx-runtime";function gl(e){return e.type==="text"||e.type==="reasoning"||e.type==="file"||"toolCallId"in e}function wl(e){return e.parts.some(gl)}function xl(e,t,a){if(t!=="submitted"&&t!=="streaming")return!1;let r=e[e.length-1];return!r||r.role!=="assistant"?!0:!r.parts.some(n=>!(!gl(n)||a?.ignoreToolParts&&"toolCallId"in n||a?.ignoreReasoningParts&&n.type==="reasoning"))}function Il({className:e,...t}){let{t:a}=G();return Cm("div",{"aria-live":"polite",className:T("ww:mb-4 ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground",e),style:{animation:"ww-fade-in 0.2s ease-out"},...t,children:[hl(zt,{className:"ww:size-4 ww:shrink-0"}),hl(Ne,{duration:1.6,children:a.workingIndicator.default})]})}import{useCallback as Sm,useEffect as qo,useMemo as ym,useRef as Te,useState as Cl}from"react";function Mt(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 Ll(e,t){return!Mt(e)&&!Mt(t)?null:Mt(e)?Mt(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 Em}from"react/jsx-runtime";var bm="/api/mcp/resource",km=500,Tm=0,vm=16,Pm="2026-01-26",Am=300,Rm=3e3,Mm=3;function Fm(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function Bm(e,t,a){return ca(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function Wo({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:r=bm,chatSessionId:o,isDark:n=!1,className:s,autoHeight:i=!1,onOpenLink:l,onFollowUp:u,onCallTool:c,onDisplayModeChange:d,isFullscreen:f=!1,toolDefinitions:p}){let m=Te(null),L=Te(t),I=Te(a),x=Te({width:0,height:0}),g=Te(null),h=Te(!1),w=Te(0),S=Te("inline"),[v,A]=Cl(Tm),[P,E]=Cl(void 0),k=Te(l),B=Te(u),y=Te(c),X=Te(d),H=Te(o),R=Te(p);L.current=t,I.current=a,k.current=l,B.current=u,y.current=c,X.current=d,H.current=o,R.current=p;let b=Sm(U=>i?Math.max(U+vm,0):Math.min(Math.max(U,50),km),[i]),M=ym(()=>{let U=r.includes("?")?"&":"?";return`${r}${U}uri=${encodeURIComponent(e)}`},[r,e]),Pe=Te(n);Pe.current=n;let we=Te(f);return qo(()=>{we.current=f,x.current.height=-1,g.current&&(g.current.cancel(),g.current=null)},[f]),qo(()=>{if(!h.current)return;let U=m.current;U?.contentWindow&&U.contentWindow.postMessage({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{theme:n?"dark":"light"}},"*")},[n]),qo(()=>{let U=m.current;if(!U)return;let re=!1,oe=!1,ye=null,le=null,j=setTimeout(()=>{if(re||oe||w.current>=Mm)return;w.current+=1;let ce=new URL(U.src);ce.searchParams.set("_retry",String(w.current)),U.src=ce.toString()},Rm),W=ce=>{U.contentWindow?.postMessage(ce,"*")},Ae=ce=>{if(re||ce.source!==U.contentWindow)return;let K=ce.data;if(!K||typeof K!="object"||K.jsonrpc!=="2.0")return;let ue=K.method,V=K.id;if(ue==="ui/initialize"&&V!=null){oe=!0,clearTimeout(j),W({jsonrpc:"2.0",id:V,result:{protocolVersion:K.params?.protocolVersion??Pm,hostInfo:{name:"Waniwani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:Pe.current?"dark":"light",displayMode:S.current}}});return}if(ue==="ui/notifications/initialized"){h.current=!0;let O=L.current,q=I.current,N=q._meta&&typeof q._meta=="object"?q._meta:null,ne=Fm(H.current),Q=N&&typeof N.waniwani=="object"&&N.waniwani!==null?N.waniwani:null,xe=Q||ne?{...Q??{},...ne?{sessionId:ne}:{}}:void 0,be=N||xe?{...N??{},...xe?{waniwani:xe}:{}}:void 0;W({jsonrpc:"2.0",method:"ui/notifications/tool-input",params:{arguments:O}});let Re=q.content??[{type:"text",text:JSON.stringify(q)}];W({jsonrpc:"2.0",method:"ui/notifications/tool-result",params:{content:Re,structuredContent:q.structuredContent,_meta:be,meta:be}});return}if(ue==="ui/notifications/size-changed"){let O=K.params,q=typeof O?.height=="number"?O.height:void 0,N=typeof O?.width=="number"?O.width:void 0,ne=x.current,Q=q!==void 0&&q!==ne.height,xe=N!==void 0&&N!==ne.width;if(!Q&&!xe)return;if(Q&&q!==void 0){if(ne.height=q,we.current)return;let be=b(q),Re=U.getBoundingClientRect().height;if(g.current&&(g.current.cancel(),g.current=null),A(be),U.animate&&Math.abs(Re-be)>2){let Qe=U.animate([{height:`${Re}px`},{height:`${be}px`}],{duration:Am,easing:"ease-out",fill:"forwards"});g.current=Qe,Qe.onfinish=()=>{g.current===Qe&&(Qe.cancel(),g.current=null)}}}xe&&i&&N!==void 0&&(ne.width=N,E(N));return}if(ue==="ui/open-link"&&V!=null){let O=K.params?.url;typeof O=="string"&&(k.current?k.current(O):window.open(O,"_blank","noopener,noreferrer")),W({jsonrpc:"2.0",id:V,result:{}});return}if(ue==="ui/message"&&V!=null){if(B.current&&K.params){let O=K.params,q=ye;if(ye=null,le){clearTimeout(le.timer);let N=le.text;le=null;let ne=(O.content??[]).map(Q=>Q.text??"").join("").trim();O={...O,content:[{type:"text",text:`${ne}
14
14
 
15
- ${X}`}]}}M.current({...N,...U?{modelContext:U}:{}})}$({jsonrpc:"2.0",id:W,result:{}});return}if(ne==="ui/update-model-context"&&W!=null){ye=xl(ye,Q.params),$({jsonrpc:"2.0",id:W,result:{}});return}if(ne==="tools/call"&&W!=null){let N=b.current;if(!N){$({jsonrpc:"2.0",id:W,error:{code:-32601,message:"tools/call not supported"}});return}let U=Q.params?.name;N({name:U,arguments:Q.params?.arguments??{}}).then(X=>{$({jsonrpc:"2.0",id:W,result:X});let ue=X.content?.map(Z=>Z.text??"").join("").trim();ue&&vm(U,X,y.current)&&(oe&&clearTimeout(oe.timer),oe={text:ue,timer:setTimeout(()=>{if(me)return;let Z=ye;ye=null,oe=null,M.current?.({role:"user",content:[{type:"text",text:ue}],...Z?{modelContext:Z}:{}})},500)})}).catch(X=>{let ue=X instanceof Error?X.message:"Tool call failed";$({jsonrpc:"2.0",id:W,error:{code:-32e3,message:ue}})});return}if(ne==="ui/request-display-mode"&&W!=null){let N=Q.params?.mode,U=N==="fullscreen"||N==="inline"||N==="pip"?N:"inline";S.current=U,$({jsonrpc:"2.0",id:W,result:{mode:U}}),$({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{displayMode:U}}),z.current?.(U);return}if(ne==="ui/resource-teardown"&&W!=null){$({jsonrpc:"2.0",id:W,result:{}});return}ne==="ping"&&W!=null&&$({jsonrpc:"2.0",id:W,result:{}})};return window.addEventListener("message",Pe),()=>{me=!0,clearTimeout(G),oe&&clearTimeout(oe.timer),window.removeEventListener("message",Pe)}},[i,F]),Pm("iframe",{ref:m,src:B,sandbox:"allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox",className:T(!f&&"ww:rounded-md ww:border ww:border-border",s),style:{height:f?"100%":v,minWidth:f||!P?void 0:`min(${P}px, 100%)`,width:"100%",border:"none",colorScheme:n?"dark":"auto"},title:"MCP App"})}import{jsx as ca,jsxs as Am}from"react/jsx-runtime";function Il({icon:e,title:t,description:a,suggestions:r,onSuggestionSelect:o}){return Am("div",{className:"ww:flex ww:flex-col ww:items-center ww:justify-center ww:py-12 ww:px-6 ww:text-center ww:min-h-full",children:[e&&ca("div",{className:"ww:mb-4 ww:flex ww:items-center ww:justify-center ww:size-12 ww:rounded-xl ww:bg-foreground ww:text-background",children:e}),ca("h2",{className:"ww:text-lg ww:font-semibold ww:text-foreground",children:t}),a&&ca("p",{className:"ww:mt-1 ww:text-sm ww:text-muted-foreground ww:max-w-sm",children:a}),r&&r.length>0&&ca("div",{className:"ww:mt-6 ww:w-full ww:max-w-md ww:flex ww:flex-col ww:gap-2",children:r.map((n,s)=>ca("button",{type:"button",onClick:()=>o?.(n),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:`${s*50}ms`},children:n},n))})]})}import{Component as Rm}from"react";import{jsx as Ho,jsxs as Fm}from"react/jsx-runtime";function Mm({onRetry:e}){let{t}=V();return Fm("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:[Ho("span",{children:t.widgetErrorBoundary.failedToLoad}),Ho("button",{type:"button",onClick:e,className:"ww:text-xs ww:font-medium ww:text-primary ww:hover:underline",children:t.widgetErrorBoundary.retry})]})}var ur=class extends Rm{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.warn("[Waniwani] Widget failed to render:",t.message)}render(){return this.state.hasError?Ho(Mm,{onRetry:()=>this.setState({hasError:!1})}):this.props.children}};import{Fragment as Bm,jsx as Y,jsxs as et}from"react/jsx-runtime";function qo(e){return e?e.replace(/[-_]/g," ").replace(/^\w/,t=>t.toUpperCase()):"Tool"}function Cl(e){return e&&/search|find|lookup|query|web|browse|google/i.test(e)?Ht:nt}function dr({messages:e,status:t,welcomeMessage:a,welcome:r,onSuggestionSelect:o,resourceEndpoint:n,chatSessionId:s,isDark:i,onFollowUp:l,onCallTool:u,onWidgetDisplayModeChange:c,fullscreenToolCallId:d,debug:f,showToolCalls:p=!0,toolDefinitions:m,messageClassNames:I}){let{t:L}=V(),w=e[e.length-1],g=e.length>0,h=d!=null,x=!h&&gl(e,t,{ignoreToolParts:p===!1,ignoreReasoningParts:p===!1});return et(Bm,{children:[!h&&(!g&&r?Y(Il,{...r,onSuggestionSelect:o}):a&&Y(Ro,{from:"assistant",children:Y(Mo,{children:Y(lr,{children:a})})})),e.map(S=>{let v=S.parts.filter(y=>y.type==="text"),A=S.parts.filter(y=>y.type==="reasoning"),P=S.parts.filter(y=>y.type==="file"),D=S.parts.filter(y=>"toolCallId"in y),k=S.parts.filter(y=>y.type==="reasoning"||"toolCallId"in y),M=S===w&&S.role==="assistant",b=v.length>0,z=h?D.some(y=>y.toolCallId===d):!1,q=p!==!1&&!z&&k.length>=2;return h&&!z?Y("div",{style:{display:"none"}},S.id):S.role==="assistant"&&!hl(S)?Y("div",{style:{display:"none"}},S.id):p===!1&&S.role==="assistant"&&!b&&P.length===0&&D.every(y=>{let F="output"in y?y.output:void 0;return F===void 0||!n||!da(y.toolName,F,m)})?Y("div",{style:{display:"none"}},S.id):et(Ro,{from:S.role,className:I?.message,children:[p!==!1&&!z&&!q&&A.map((y,F)=>et(Xt,{isStreaming:y.state==="streaming",children:[Y(Kt,{}),Y(Qt,{children:y.text})]},`reasoning-${S.id}-${F}`)),q&&(()=>{let y=k[k.length-1],F=y.type==="reasoning"?{icon:Ge,label:L.reasoning.thinking}:{icon:Cl(y.toolName),label:y.title??qo(y.toolName)};return et(xs,{isWorking:M&&(t==="streaming"||t==="submitted"),activeStep:F,children:[Y(Ls,{workingLabel:L.chainOfThought.working,label:L.chainOfThought.done}),Y(Is,{children:k.map((B,ve)=>{let we=ve===k.length-1;if(B.type==="reasoning")return Y(Ss,{isStreaming:B.state==="streaming",isLast:we,children:B.text},`reasoning-${S.id}-${ve}`);let _=B.title??qo(B.toolName),me=Cl(B.toolName);if(p==="titles-only")return Y(Kr,{icon:me,title:_,state:B.state,isLast:we},B.toolCallId);let re="output"in B?B.output:void 0;return et(Kr,{icon:me,title:_,state:B.state,isLast:we,children:[Y(_o,{input:B.input,debug:f}),re!==void 0&&Y(No,{output:re,errorText:"errorText"in B?B.errorText:void 0,debug:f})]},B.toolCallId)})})]})})(),p!==!1&&!z&&!q&&D.length===1&&(()=>{let y=D[0],F=y.title??qo(y.toolName);if(p==="titles-only")return Y(ll,{title:F,state:y.state});let B="output"in y?y.output:void 0;return et(sl,{children:[Y(il,{title:F,state:y.state}),et(ul,{children:[Y(_o,{input:y.input,debug:f}),B!==void 0&&Y(No,{output:B,errorText:"errorText"in y?y.errorText:void 0,debug:f})]})]})})(),D.map(y=>{let F="output"in y?y.output:void 0,B=da(y.toolName,F,m),ve=fl(y.toolName,F,m),we=y.toolCallId===d;return B&&n&&F!==void 0?Y("div",{style:we?{position:"absolute",inset:0,zIndex:10,display:"flex",flexDirection:"column",overflow:"hidden",background:"var(--ww-color-background)"}:void 0,children:B&&n&&F!==void 0&&Y(ur,{children:Y(Uo,{isFullscreen:we,resourceUri:B,toolInput:y.input??{},toolResult:{content:F.content,structuredContent:F.structuredContent,_meta:F._meta},resourceEndpoint:n,chatSessionId:s,isDark:i,autoHeight:ve,toolDefinitions:m,onFollowUp:l,onCallTool:u,onDisplayModeChange:c?_=>c(_,{toolCallId:y.toolCallId,resourceUri:B,toolInput:y.input??{},toolResult:{content:F.content,structuredContent:F.structuredContent,_meta:F._meta},autoHeight:ve}):void 0})})},y.toolCallId):null}),!z&&Y("div",{children:et(Mo,{className:T(S.role==="user"?I?.userBubble:I?.assistantBubble),children:[P.length>0&&Y(fs,{files:P}),b?v.map((y,F)=>{let B=M&&t==="streaming"&&F===v.length-1;return Y(lr,{isStreaming:B,children:y.type==="text"?y.text:""},`${S.id}-${F}`)}):null]})})]},S.id)}),x&&Y(wl,{})]})}import{jsx as Sl,jsxs as _m}from"react/jsx-runtime";var Em="https://app.waniwani.ai/assets/waniwani-logo.svg",Dm="https://waniwani.ai";function cr(){let{t:e}=V();return _m("a",{href:Dm,target:"_blank",rel:"noopener noreferrer",className:"ww:flex ww:items-center ww:gap-1.5 ww:whitespace-nowrap ww:text-[10px] ww:sm:text-[11px] ww:text-muted-foreground ww:opacity-70 hover:ww:opacity-100 ww:transition-opacity",children:[Sl("span",{children:e.poweredBy.label}),Sl("img",{src:Em,alt:"Waniwani",width:72,height:10,"data-waniwani-logo":"",className:"ww:h-2.5 ww:w-auto"})]})}import{jsx as fr}from"react/jsx-runtime";function pr({suggestions:e,isLoading:t,onSelect:a,className:r,...o}){return e.length===0&&!t?null:fr("div",{className:T("ww:px-4 ww:py-2",r),...o,children:fr("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl ww:flex ww:flex-wrap ww:gap-2",children:t?[0,1,2].map(n=>fr("div",{className:"ww:h-8 ww:rounded-full ww:bg-accent ww:animate-pulse",style:{width:`${60+n*20}px`}},n)):e.map((n,s)=>fr("button",{type:"button",onClick:()=>a(n),className:T("ww:rounded-full ww:border ww:border-border ww:bg-accent ww:px-3.5 ww:py-1.5 ww:text-sm","ww:text-foreground ww:hover:bg-border ww:hover:border-primary/30","ww:transition-all ww:duration-200 ww:ease-out ww:cursor-pointer","ww:animate-[ww-fade-in_0.2s_ease-out_both]"),style:{animationDelay:`${s*50}ms`},children:n},n))})})}import{useEffect as Nm,useRef as Om,useState as Um}from"react";import{jsx as ae,jsxs as mt}from"react/jsx-runtime";var yl=20;function Hm({label:e}){return mt("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[ae("title",{children:e}),ae("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),ae("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}function qm({label:e}){return mt("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[ae("title",{children:e}),ae("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),ae("polyline",{points:"3 4 3 9 8 9"}),ae("line",{x1:"12",y1:"7",x2:"12",y2:"12"}),ae("line",{x1:"12",y1:"12",x2:"15",y2:"14"})]})}function Wm({label:e}){return mt("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[ae("title",{children:e}),ae("polyline",{points:"3 6 5 6 21 6"}),ae("path",{d:"M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6"}),ae("path",{d:"M10 11v6"}),ae("path",{d:"M14 11v6"})]})}function mr({threads:e,activeThreadId:t,onNewThread:a,onSelectThread:r,onDeleteThread:o}){let{locale:n,t:s}=V(),[i,l]=Um(!1),u=Om(null);Nm(()=>{if(!i)return;let f=p=>{let m=u.current;m&&(p.composedPath().includes(m)||l(!1))};return document.addEventListener("mousedown",f),()=>document.removeEventListener("mousedown",f)},[i]);let c=e.slice(0,yl),d=Math.max(0,e.length-yl);return mt("div",{ref:u,className:"ww:relative ww:flex ww:items-center ww:gap-1",children:[ae("button",{type:"button",onClick:a,title:s.threadMenu.newChat,"aria-label":s.threadMenu.newChat,className:"ww:p-1.5 ww:rounded-md ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/5 ww:transition-colors ww:cursor-pointer",children:ae(Hm,{label:s.threadMenu.newChat})}),ae("button",{type:"button",onClick:()=>l(f=>!f),title:s.threadMenu.threadHistory,"aria-label":s.threadMenu.threadHistory,"aria-expanded":i,className:"ww:p-1.5 ww:rounded-md ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/5 ww:transition-colors ww:cursor-pointer",children:ae(qm,{label:s.threadMenu.threadHistory})}),i&&mt("div",{role:"menu",className:"ww:absolute ww:right-0 ww:top-full ww:mt-1 ww:w-72 ww:max-h-80 ww:overflow-y-auto ww:rounded-lg ww:border ww:border-border ww:bg-background ww:shadow-lg ww:z-50",children:[c.length===0&&ae("div",{className:"ww:px-3 ww:py-3 ww:text-xs ww:text-muted-foreground",children:s.threadMenu.noPreviousChats}),c.map(f=>{let p=f.threadId===t,m=Date.parse(f.updatedAt);return mt("div",{className:`ww:flex ww:items-center ww:gap-2 ww:px-3 ww:py-2 ww:text-xs hover:ww:bg-foreground/5 ${p?"ww:bg-foreground/5":""}`,children:[mt("button",{type:"button",onClick:()=>{r(f.threadId),l(!1)},className:"ww:flex-1 ww:min-w-0 ww:text-left ww:cursor-pointer",children:[ae("div",{className:"ww:truncate ww:text-foreground ww:font-medium",children:f.title}),ae("div",{className:"ww:text-[10px] ww:text-muted-foreground",children:Number.isNaN(m)?"":Wr(m,n)})]}),ae("button",{type:"button",onClick:I=>{I.stopPropagation(),o(f.threadId)},title:s.threadMenu.deleteThread,"aria-label":s.threadMenu.deleteThread,className:"ww:p-1 ww:rounded ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/10 ww:transition-colors ww:cursor-pointer",children:ae(Wm,{label:s.threadMenu.deleteThread})})]},f.threadId)}),d>0&&ae("div",{className:"ww:px-3 ww:py-2 ww:text-[10px] ww:text-muted-foreground ww:border-t ww:border-border",children:s.threadMenu.hiddenThreads(d)})]})]})}import{useCallback as Gm,useRef as Vm}from"react";function hr(e){let t=Vm(e);return t.current=e,Gm(async a=>{let{api:r,headers:o,onCallTool:n,sessionId:s}=t.current;if(n)return n(a);let i=`${r??"/api/waniwani"}/tool`,l=typeof s=="string"&&s.trim().length>0?s.trim():void 0,u=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json",...l?{"X-Session-Id":l}:{},...o},body:JSON.stringify(a)});if(!u.ok)throw new Error(`Tool call failed: ${u.status} ${u.statusText}`);return u.json()},[])}import{useChat as uh}from"@ai-sdk/react";import{useCallback as Ce,useEffect as Fe,useRef as fe,useState as ht}from"react";import{createContext as zm,useContext as jm}from"react";function bl(e){let t=new Set;return{subscribe(a){return t.add(a),()=>{t.delete(a)}},emit(a){let{sessionId:r,...o}=a,n=a.name==="session.started"?a.properties.sessionId:void 0,s={...o,mode:e.mode,sessionId:Object.hasOwn(a,"sessionId")?r:n??e.getSessionId?.(),timestamp:Date.now()};for(let i of[...t])try{i(s)}catch(l){console.warn("[Waniwani] onEvent subscriber threw:",l)}}}}function kl(){return{subscribe(){return()=>{}},emit(){}}}var Tl=zm(kl());function gr(){return jm(Tl)}var vl=Tl.Provider;function tt(e,t,a){let[r,o=""]=e.split("?"),n=r.replace(/\/$/,""),s=new URLSearchParams(o);if(a)for(let[l,u]of Object.entries(a))s.set(l,u);let i=s.toString();return`${n}${t}${i?`?${i}`:""}`}import{DefaultChatTransport as $m,uiMessageChunkSchema as Xm}from"ai";function Km(e){let t=e?.cause,a=t?.issues??t?.errors;if(!Array.isArray(a))return null;let r=a.find(o=>o.code==="invalid_union");if(!r?.errors)return null;for(let o of r.errors){if(!Array.isArray(o)||o.some(i=>(i.code==="invalid_value"||i.code==="invalid_literal")&&i.path?.[0]==="type"))continue;let s=o.filter(i=>i.code==="unrecognized_keys").flatMap(i=>i.keys??[]);if(s.length>0)return s}return null}var wr=class extends $m{processResponseStream(t){let a="",r=Xm(),o=r.validate?.bind(r);return t.pipeThrough(new TextDecoderStream).pipeThrough(new TransformStream({async transform(n,s){a+=n;let i=a.split(`
16
- `);a=i.pop()??"";for(let l of i){let u=l.trim();if(!u.startsWith("data:"))continue;let c=u.slice(5).trim();if(c!=="[DONE]")try{let d=JSON.parse(c);if(!o){s.enqueue(d);continue}let f=await o(d);if(f.success){s.enqueue(f.value);continue}let p=Km(f.error);if(p?.length){let m={...d};for(let L of p)delete m[L];let I=await o(m);I.success&&s.enqueue(I.value)}}catch{}}}}))}};var Qm="waniwani-memory";var Me="threads",xr="by_memoryUserId",Jm="by_updatedAt";var Al="memoryUserId",Pl="waniwani-memory-user-id",Wo=null;function Go(){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 Ym(e,t){if(t<1&&(e.objectStoreNames.contains("ids")||e.createObjectStore("ids")),t<2&&!e.objectStoreNames.contains(Me)){let a=e.createObjectStore(Me,{keyPath:"threadId"});a.createIndex(xr,"memoryUserId",{unique:!1}),a.createIndex(Jm,"updatedAt",{unique:!1})}}async function Vo(){return new Promise((e,t)=>{let a=indexedDB.open(Qm,2);a.onupgradeneeded=r=>{Ym(a.result,r.oldVersion)},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})}async function Zm(){return Vo()}async function eh(e){return new Promise((t,a)=>{let n=e.transaction("ids","readonly").objectStore("ids").get(Al);n.onsuccess=()=>t(typeof n.result=="string"?n.result:null),n.onerror=()=>a(n.error)})}async function th(e,t){return new Promise((a,r)=>{let s=e.transaction("ids","readwrite").objectStore("ids").put(t,Al);s.onsuccess=()=>a(),s.onerror=()=>r(s.error)})}async function ah(){if(typeof indexedDB>"u")return null;try{let e=await Zm();try{let t=await eh(e);if(t)return t;let a=Go();return await th(e,a),a}finally{e.close()}}catch{return null}}function rh(){try{let e=localStorage.getItem(Pl);if(e)return e;let t=Go();return localStorage.setItem(Pl,t),t}catch{return null}}async function Rl(){let e=await ah();if(e)return e;let t=rh();return t||(Wo||(Wo=Go()),Wo)}var Ml=50,Fl=1e3;function Lr(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 Ir(e){if(typeof indexedDB>"u")return null;let t=null;try{return t=await Vo(),await e(t)}catch{return null}finally{try{t?.close()}catch{}}}function zo(e){return new Promise((t,a)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>a(e.error)})}async function jo(e){return await Ir(async a=>{let n=a.transaction(Me,"readonly").objectStore(Me).index(xr),i=(await zo(n.getAll(e))??[]).filter(Lr);return i.sort((l,u)=>l.updatedAt<u.updatedAt?1:-1),i})??[]}async function Cr(e){return await Ir(async a=>{let o=a.transaction(Me,"readonly").objectStore(Me),n=await zo(o.get(e));return Lr(n)?n:null})??null}async function $o(e){if(!Lr(e))return;let t=e.messages.length>Fl?{...e,messages:e.messages.slice(e.messages.length-Fl)}:e;await Ir(async a=>{await new Promise((l,u)=>{let c=a.transaction(Me,"readwrite");c.oncomplete=()=>l(),c.onerror=()=>u(c.error),c.onabort=()=>u(c.error),c.objectStore(Me).put(t)});let r=a.transaction(Me,"readwrite"),o=r.objectStore(Me),n=o.index(xr),i=(await zo(n.getAll(t.memoryUserId))??[]).filter(Lr);if(i.length>Ml){i.sort((u,c)=>u.updatedAt<c.updatedAt?-1:1);let l=i.slice(0,i.length-Ml);for(let u of l)o.delete(u.threadId)}return await new Promise((l,u)=>{r.oncomplete=()=>l(),r.onerror=()=>u(r.error),r.onabort=()=>u(r.error)}),null})}async function Bl(e){await Ir(async t=>(await new Promise((a,r)=>{let o=t.transaction(Me,"readwrite");o.oncomplete=()=>a(),o.onerror=()=>r(o.error),o.onabort=()=>r(o.error),o.objectStore(Me).delete(e)}),null))}async function Xo(e){return(await jo(e))[0]?.threadId??null}function El(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 Ko="waniwani-visitor-id";function _l(e,t){return e.match(t)?.[1]??null}function oh(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,r]of t){let o=_l(e,r);if(o)return{name:a,version:o}}return null}function nh(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,r]of t){let o=_l(e,r);if(o)return{name:a,version:o.replace(/_/g,".")};if(a==="Linux"&&r.test(e))return{name:a,version:""}}return null}function sh(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"}function ih(){try{if(typeof crypto<"u"){if(typeof crypto.randomUUID=="function")return crypto.randomUUID();if(typeof crypto.getRandomValues=="function"){let e=crypto.getRandomValues(new Uint8Array(16));e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=Array.from(e,a=>a.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}}}catch{}return`v-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}function At(){try{let t=localStorage.getItem(Ko);if(t)return t}catch{}let e=ih();try{localStorage.setItem(Ko,e)}catch{}return e}function Dl(e){let t=typeof e=="string"?e.trim():"";if(!t)return At();try{localStorage.setItem(Ko,t)}catch{}return t}function lh(e){return e!=null&&typeof e.then=="function"}function Nl(e){let t=!1,a=()=>{t=!0};if(e==null)return a;let r;try{r=typeof e=="function"?e():e}catch{return a}return lh(r)?r.then(o=>{t||Dl(o??"")},()=>{}):Dl(r??""),a}async function fa(){let e=navigator.userAgent,t=At(),a=await Rl();return{userAgent:e,browser:oh(e),os:nh(e),deviceType:sh(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 dh="x-session-id",ch=250,fh=200;function Ol(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():jt()}function Sr(){return new Date().toISOString()}function Ul(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}async function ph(e,t){let a=tt(e,"/tools"),r=await fetch(a,{method:"GET",headers:t?{...t}:void 0});if(!r.ok)throw new Error(`[Waniwani] Failed to fetch /tools: ${r.status} ${r.statusText}`);let o=await r.json();if(!o||!Array.isArray(o.tools))return{};let n={};for(let s of o.tools)s&&typeof s.name=="string"&&(n[s.name]=s);return n}function yr(e){let{api:t="/api/waniwani",headers:a,body:r,onMessageSent:o,onResponseReceived:n,enableThreadHistory:s=!1,activeThreadId:i,onThreadChange:l}=e,u=e.visitorId;Fe(()=>Nl(u),[u]);let c=gr(),d=fe(a),f=fe(r),p=fe(s);Fe(()=>{p.current=s},[s]);let m=fe(void 0),I=fe(null),[L,w]=ht(void 0),g=fe(L),[h,x]=ht(i),S=fe(h),[v,A]=ht([]),[P,D]=ht(!s),k=fe(void 0),M=fe(void 0),b=fe(void 0),z=fe(void 0),q=fe(0),y=fe(l);Fe(()=>{y.current=l},[l]);let F=Ce(C=>{S.current=C,x(C),C&&(y.current?.(C),c.emit({name:"thread.changed",sessionId:g.current,properties:{threadId:C}}))},[c]),B=Ce(async()=>{if(!s)return;let C=I.current?.memoryUserId;if(!C)return;let E=await jo(C);A(E)},[s]),ve=Ce(()=>g.current,[]),we=Ce(C=>{let E=Ul(C);if(!E||g.current===E)return;let O=g.current===void 0;g.current=E,w(E),O&&c.emit({name:"session.started",properties:{sessionId:E}})},[c]),_=Ce(()=>{g.current=void 0,w(void 0)},[]);Fe(()=>{d.current=a},[a]),Fe(()=>{f.current=r},[r]),Fe(()=>{let C=!1,E=q.current;return(async()=>{try{let ee=await fa();if(C)return;I.current=ee}catch{}if(!s)return;let O=I.current?.memoryUserId;if(!O){D(!0);return}try{let ee=i??await Xo(O);if(C||E!==q.current)return;if(ee){let he=await Cr(ee);if(C||E!==q.current)return;he&&he.memoryUserId===O&&(S.current=he.threadId,x(he.threadId),k.current=he.createdAt,M.current=he.title,he.sessionId&&(g.current=he.sessionId,w(he.sessionId)),W(he.messages))}await B()}finally{C||D(!0)}})(),()=>{C=!0}},[]);let me=fe(new wr({api:t,headers:()=>({...d.current}),body:()=>{let C={...f.current??{}},E=Object.hasOwn(C,"sessionId"),O=Ul(C.sessionId);if(O)we(O),C.sessionId=O;else if(E)_(),delete C.sessionId;else{let Fr=ve();Fr&&(C.sessionId=Fr)}Pt(m.current)&&(C.modelContext=m.current);let ee=I.current,he=At();ee&&(C.visitorContext={timezone:ee.timezone,language:ee.language,languages:ee.languages,deviceType:ee.deviceType,referrer:ee.referrer,visitorId:he});let se=typeof C.visitor=="object"&&C.visitor!==null?C.visitor:{},Ru=typeof se.client=="object"&&se.client!==null?se.client:{};C.visitor={...se,id:he,client:{...Ru,...ee&&{memoryUserId:ee.memoryUserId}}};let In=typeof C.extra=="object"&&C.extra!==null&&!Array.isArray(C.extra)?C.extra:void 0,Cn=I.current?.memoryUserId,Sn=I.current?.language,wa={};if(Cn&&(wa.memoryUserId=Cn),Sn&&(wa.locale=Sn),(Object.keys(wa).length>0||In)&&(C.extra={...wa,...In??{}}),p.current)if(Object.hasOwn(C,"threadId"))typeof C.threadId=="string"&&(S.current=C.threadId);else{let xa=S.current;xa||(xa=Ol(),k.current=Sr(),M.current=void 0,F(xa)),C.threadId=xa}return C},fetch:(async(C,E)=>{let O=await fetch(C,E);return m.current=void 0,we(O.headers.get(dh)),O})})),re=fe(null),ye=fe(null),oe=fe({}),[G,$]=ht(0),Pe=e.skipRemoteConfig===!0,le=Ce(async()=>{if(!Pe)try{let C=await ph(t,d.current);oe.current=C,$(E=>E+1)}catch(C){console.warn("[Waniwani] Failed to fetch tool definitions:",C instanceof Error?C.message:C)}},[t,Pe]);Fe(()=>{le()},[le]);let{messages:Q,sendMessage:ne,setMessages:W,status:N}=uh({messages:e.initialMessages,transport:me.current,onFinish({message:C,isAbort:E,isDisconnect:O,isError:ee}){n?.(),!E&&!O&&!ee&&c.emit({name:"message.received"}),re.current&&(ye.current=C)},onError(C){console.warn("[Waniwani] Chat error:",C.message),c.emit({name:"chat.error",properties:{message:C.message.slice(0,fh)}}),re.current&&(re.current.reject(C),re.current=null)}}),U=fe(Q);Fe(()=>{U.current=Q},[Q]);let X=fe(s);Fe(()=>{if(!s||X.current||(X.current=!0,U.current.length>0))return;let C=!1,E=q.current;return D(!1),(async()=>{try{let O=I.current;if(!O)try{O=await fa(),I.current=O}catch{}let ee=O?.memoryUserId;if(!ee||C||E!==q.current){C||D(!0);return}let he=i??await Xo(ee);if(C||E!==q.current)return;if(he){let se=await Cr(he);if(C||E!==q.current)return;se&&se.memoryUserId===ee&&(S.current=se.threadId,x(se.threadId),k.current=se.createdAt,M.current=se.title,se.sessionId&&(g.current=se.sessionId,w(se.sessionId)),W(se.messages))}await B()}finally{C||D(!0)}})(),()=>{C=!0}},[s]),Fe(()=>{if(N==="ready"&&re.current&&ye.current){let C=re.current,E=ye.current;re.current=null,ye.current=null,C.resolve(E)}},[N]);let[ue,Z]=ht(""),[be,xe]=ht([]),R=N==="submitted"||N==="streaming",H=Ce(C=>{xe(E=>E.filter(O=>O.id!==C))},[]),de=R&&be.length>0,Be=Ce(C=>{let E=!!C.text?.trim(),O=!!C.files?.length;if(E||O){if(R){if(be.length>0)return;xe(ee=>[...ee,{id:jt(),text:C.text||"",files:C.files??[],modelContext:C.modelContext}]),Z("");return}m.current=C.modelContext,ne({text:C.text||"",files:C.files}),o?.(C.text||""),c.emit({name:"message.sent"}),Z("")}},[ne,o,R,be.length,c]),je=Ce(C=>new Promise((E,O)=>{re.current={resolve:E,reject:O},ne({text:C}),o?.(C),c.emit({name:"message.sent"})}),[ne,o,c]);Fe(()=>{if(N!=="ready"||be.length===0)return;let[C,...E]=be;xe(E),m.current=C.modelContext,ne({text:C.text,files:C.files.length>0?C.files:void 0}),o?.(C.text),c.emit({name:"message.sent"})},[N,ne,o,be,c]);let gt=Ce(()=>{W([]),xe([]),_(),Z(""),oe.current={},$(C=>C+1),le()},[W,_,le]),wt=Ce(()=>{if(!p.current)return;let C=I.current?.memoryUserId,E=S.current,O=U.current;if(!(!C||!E||O.length===0)){if(k.current||(k.current=Sr()),!M.current){let ee=O.find(se=>se.role==="user"),he=ee?ee.parts.map(se=>"text"in se&&typeof se.text=="string"?se.text:"").join(" "):"";M.current=El(he)}return{threadId:E,memoryUserId:C,title:M.current,messages:O,sessionId:g.current,createdAt:k.current,updatedAt:Sr()}}},[]),wn=Ce(async()=>{let C=wt();C&&(await $o(C),await B())},[wt,B]);Fe(()=>{if(s&&P&&!(N==="submitted"||N==="streaming")&&Q.length!==0)return b.current&&clearTimeout(b.current),b.current=setTimeout(()=>{b.current=void 0;let C=wn().finally(()=>{z.current===C&&(z.current=void 0)});z.current=C},ch),()=>{b.current&&clearTimeout(b.current)}},[s,P,Q,N,wn]);let ga=Ce(()=>{let C=z.current,E=b.current,O=E?wt():void 0;return E&&(clearTimeout(E),b.current=void 0),(async()=>{C&&await C,O&&(await $o(O),await B())})()},[wt,B]),ku=Ce(()=>{q.current+=1,ga(),W([]),xe([]),_(),Z("");let C=Ol();return k.current=Sr(),M.current=void 0,F(C),B(),C},[W,_,F,B,ga]),Mr=Ce(async C=>{q.current+=1;let E=q.current;if(await ga(),E!==q.current)return;let O=await Cr(C);E===q.current&&O&&(O.sessionId?(g.current=O.sessionId,w(O.sessionId)):_(),F(O.threadId),k.current=O.createdAt,M.current=O.title,W(O.messages),xe([]),Z(""))},[W,_,F,ga]),Tu=Ce(async C=>{if(S.current===C){q.current+=1,b.current&&(clearTimeout(b.current),b.current=void 0);let E=z.current;E&&await E}await Bl(C),await B(),S.current===C&&(W([]),xe([]),_(),Z(""),S.current=void 0,x(void 0),k.current=void 0,M.current=void 0)},[W,_,B]);Fe(()=>{s&&P&&i!==void 0&&i!==S.current&&Mr(i)},[i,s,P,Mr]);let vu=Ce(C=>{Z(C.target.value)},[]),xn=Q[Q.length-1],Ln=Q.length>0,Pu=R&&(!Ln||xn.role==="user"),Au=oe.current;return{messages:Q,status:N,text:ue,setText:Z,handleSubmit:Be,handleTextChange:vu,isLoading:R,showLoaderBubble:Pu,lastMessage:xn,hasMessages:Ln,sendMessage:ne,sendMessageAndWait:je,reset:gt,queuedMessages:be,queueFull:de,removeQueuedMessage:H,sessionId:L,toolDefinitions:Au,refreshToolDefinitions:le,threads:v,activeThreadId:h,isThreadHistoryReady:P,startNewThread:ku,switchThread:Mr,deleteThread:Tu}}import{useEffect as Hl,useRef as mh,useState as hh}from"react";var gh={debug:!1,eval:!1};function ql(e="/api/waniwani",t,a=!1){let[r,o]=hh(gh),n=mh(t);return Hl(()=>{n.current=t},[t]),Hl(()=>{a||(async()=>{try{let s=n.current,l=await(await fetch(tt(e,"/config"),{headers:s?{...s}:void 0})).json();o({debug:l.debug===!0,eval:l.eval===!0})}catch{}})()},[e,a]),r}import{useCallback as xh,useEffect as Yo,useMemo as Zo,useRef as Lh,useState as zl}from"react";function Rt(e){return e.map(t=>({id:null,text:t}))}function Qo(e){let{flow:t,followup:a,page:r,channel:o}=e;return t!==null?{origin:"flow",suggestions:t}:a?.length?{origin:"followup",suggestions:a}:r?.length?{origin:"page",suggestions:r}:o?.length?{origin:"channel",suggestions:o}:null}var Jo="waniwani/suggestions";function Mt(e){return typeof e=="object"&&e!==null}function Wl(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function wh(e){if(!Mt(e)||!("toolCallId"in e)||!("output"in e))return null;let t=e.output;if(!Mt(t)||!Mt(t._meta))return null;let a=t._meta[Jo];return!Mt(a)||!Wl(a.suggestions)?null:a.suggestions}function Gl(e){let t=null;for(let a of e.parts){let r=wh(a);r!==null&&(t=r)}return t}function Vl(e){for(let t of e.parts){if(!Mt(t)||t.type!=="data-suggestions")continue;let a=t.data;if(Mt(a)&&Wl(a.suggestions)&&a.suggestions.length>0)return a.suggestions}return null}function Ih(e){return"page"in e||"channel"in e}function Ch(e){return typeof e!="object"||e===null?{}:Ih(e)?{rungs:e}:{initial:e.initial}}function br(e){let{messages:t,status:a,suggestions:r}=e,o=r!==!1,{rungs:n,initial:s}=Ch(r),i=Zo(()=>({page:null,channel:Rt(s??[])}),[s]),l=n??i,u=Zo(()=>o?Qo({flow:null,followup:null,...l}):null,[o,l]),c=Zo(()=>u?.suggestions.map(h=>h.text)??[],[u]),[d,f]=zl(c),[p,m]=zl(u?.origin??"channel"),I=Lh(a),L=xh(()=>{f([])},[]),w=t.length>0;Yo(()=>{w||(f(c),m(u?.origin??"channel"))},[c,u,w]);let g=t[t.length-1];return Yo(()=>{g?.role==="user"&&L()},[g,L]),Yo(()=>{let h=I.current;if(I.current=a,h!=="streaming"||a!=="ready"||!o)return;let x=[...t].reverse().find(P=>P.role==="assistant");if(!x)return;let S=Gl(x),v=Vl(x),A=Qo({flow:S===null?null:Rt(S),followup:v===null?null:Rt(v),page:null,channel:null});f(A?A.suggestions.map(P=>P.text):[]),m(A?.origin??"channel")},[a,o,t]),{suggestions:d,source:p,isLoading:!1,clear:L}}import{useEffect as Sh,useRef as yh,useState as bh}from"react";var kh=80,Th=50,vh=15e3,jl=500;function kr(e,t=!0){let[a,r]=bh(""),o=yh(void 0);return Sh(()=>{if(!t){r("");return}let n=0,s=!1,i=!1,l=()=>{i||(s?(n--,r(e.slice(0,n)),n<=0?(s=!1,o.current=setTimeout(l,jl)):o.current=setTimeout(l,Th)):(n++,r(e.slice(0,n)),n>=e.length?(s=!0,o.current=setTimeout(l,vh)):o.current=setTimeout(l,kh)))};return o.current=setTimeout(l,jl),()=>{i=!0,clearTimeout(o.current)}},[e,t]),a}function Tr(e,t){let a=t?.Authorization,r=typeof a=="string"&&a.startsWith("Bearer ")?a.slice(7):null;return tt(e,"/resource",r?{token:r}:void 0)}var $l={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:8,fontFamily:"system-ui, -apple-system, 'Segoe UI', sans-serif",headerBackgroundColor:"#ffffff",headerTextColor:"#1f2937",statusColor:"#22c55e",toolCardColor:"#f4f4f5",userBubbleTextColor:"#1f2937",assistantBubbleTextColor:"#1f2937",messagePaddingX:16,messagePaddingY:12,messageMaxWidth:"80%",fontSize:16,lineHeight:"1.5",glassTint:"transparent",glassTintStrength:"0"},Ph={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",userBubbleTextColor:"#ffffff",assistantBubbleTextColor:"#ececec"},Ah={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"],userBubbleTextColor:["--ww-user-bubble-text"],assistantBubbleTextColor:["--ww-assistant-bubble-text"],messagePaddingX:["--ww-msg-pad-x"],messagePaddingY:["--ww-msg-pad-y"],messageMaxWidth:["--ww-msg-max-width"],fontSize:["--ww-font-size"],lineHeight:["--ww-line-height"],glassTint:["--ww-glass-tint"],glassTintStrength:["--ww-glass-tint-opacity"]};function en(e){return{...$l,...e}}function pa(e){let t={};for(let[a,r]of Object.entries(Ah)){let o=e[a];if(o===void 0)continue;let n=typeof o=="number"?`${o}px`:String(o);for(let s of r)t[s]=n}return t}import{jsx as Se,jsxs as ma}from"react/jsx-runtime";var Bh=Rh(function(t,a){let{theme:r,title:o="Assistant",width:n,height:s,className:i,allowAttachments:l=!1,welcomeMessage:u,welcome:c,placeholder:d="Ask me anything...",triggerEvent:f="triggerDemoRequest",api:p,debug:m,enableThreadHistory:I=!1,showToolCalls:L=!0}=t,w=p??"/api/waniwani",g=Tr(w,t.headers),h=en(r),x=pa(r??{}),S=h.backgroundColor.replace("#",""),v=parseInt(S.substring(0,2),16),A=parseInt(S.substring(2,4),16),P=parseInt(S.substring(4,6),16),D=(v*299+A*587+P*114)/1e3<128,k=ql(w,t.headers,t.skipRemoteConfig),M=m??k.debug,b=yr({...t,api:w}),z=hr({...t,api:w,sessionId:b.sessionId}),q=kr(d,!b.text),[y,F]=Kl(!1),[B,ve]=Kl(null),we=Xl(null),_=Xl(void 0),me=tn(()=>{let G=we.current;if(!G)return;G.scrollIntoView({behavior:"smooth",block:"center"});let $=G.querySelector("textarea");$&&setTimeout(()=>$.focus(),300),F(!0),clearTimeout(_.current),_.current=setTimeout(()=>F(!1),2e3)},[]),re=br({messages:b.messages,status:b.status,suggestions:t.suggestions}),ye=tn(G=>{let $=G.content.map(Pe=>Pe.text??"").join("").trim();$&&b.handleSubmit({text:$,files:[],modelContext:G.modelContext})},[b.handleSubmit]),oe=tn(G=>{re.clear(),b.handleSubmit({text:G,files:[]})},[re.clear,b.handleSubmit]);return Fh(a,()=>({sendMessage:G=>{b.handleSubmit({text:G,files:[]}),me()},sendMessageAndWait:G=>b.sendMessageAndWait(G),reset:b.reset,focus:me,get messages(){return b.messages},get sessionId(){return b.sessionId}}),[b.handleSubmit,b.sendMessageAndWait,b.reset,b.messages,b.sessionId,me]),Mh(()=>{if(!f)return;let G=$=>{let Pe=$.detail,le=typeof Pe?.message=="string"?Pe.message:void 0;le&&b.handleSubmit({text:le,files:[]}),me()};return window.addEventListener(f,G),()=>window.removeEventListener(f,G)},[f,b.handleSubmit,me]),ma("div",{ref:we,style:{...x,width:n,height:s},"data-waniwani-chat":"","data-waniwani-layout":"card",...D?{"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",y&&"ww:ring-2 ww:ring-blue-400/70 ww:ring-offset-2 ww:ring-offset-background",i),children:[ma("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:[Se("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:o}),Se(cs,{messages:b.messages,evalEnabled:k.eval,api:w}),I&&Se(mr,{threads:b.threads,activeThreadId:b.activeThreadId,onNewThread:b.startNewThread,onSelectThread:G=>{b.switchThread(G)},onDeleteThread:G=>{b.deleteThread(G)}})]}),ma(Wn,{className:"ww:flex-1 ww:min-h-0 ww:bg-background",children:[Se(Gn,{scrollClassName:B?"ww:!relative ww:!overflow-hidden":void 0,children:Se(dr,{messages:b.messages,status:b.status,welcomeMessage:u,welcome:c,onSuggestionSelect:oe,resourceEndpoint:g,chatSessionId:b.sessionId,isDark:D,onFollowUp:ye,onCallTool:z,fullscreenToolCallId:B,debug:M,showToolCalls:L,toolDefinitions:b.toolDefinitions,onWidgetDisplayModeChange:(G,$)=>{ve(G==="fullscreen"?$.toolCallId:null)}})}),Se(Vn,{})]}),Se("div",{style:B?{display:"none"}:void 0,children:Se(pr,{suggestions:re.suggestions,isLoading:re.isLoading,onSelect:oe})}),Se("div",{style:B?{display:"none"}:void 0,children:Se(Aa,{queuedMessages:b.queuedMessages,onRemove:b.removeQueuedMessage})}),Se("div",{style:B?{display:"none"}:void 0,children:Se("div",{className:"ww:shrink-0 ww:px-4 ww:pb-8 ww:pt-2 ww:bg-background",children:ma("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[Se(ka,{onSubmit:b.handleSubmit,globalDrop:l,multiple:l,className:"ww:rounded-2xl ww:border-border ww:bg-input",children:ma("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[l&&Se(Pa,{}),Se(Ta,{onChange:b.handleTextChange,value:b.text,placeholder:q,className:"ww:min-h-0 ww:py-1 ww:px-0"}),Se(va,{status:b.status,disabled:b.queueFull})]})}),Se(cr,{})]})})})]})});import{forwardRef as Jl,useCallback as vr,useEffect as at,useImperativeHandle as Dh,useRef as Ft,useState as Pr}from"react";import{jsx as Eh}from"react/jsx-runtime";function Ql({text:e}){let{t}=V();return e===!1?null:Eh("span",{className:"ww:whitespace-nowrap ww:text-[10px] ww:sm:text-[11px] ww:text-muted-foreground ww:opacity-70",children:e||t.aiDisclaimer.default})}import{jsx as pe,jsxs as rt}from"react/jsx-runtime";var an=Jl(function(t,a){let{locale:r,messages:o}=t;return pe(qr,{locale:r,messages:o,children:pe(_h,{...t,ref:a})})}),_h=Jl(function(t,a){let{t:r,ready:o}=V(),{appearance:n,className:s,classNames:i,allowAttachments:l=!1,welcomeMessage:u,welcome:c,placeholder:d=r.promptInput.placeholder,triggerEvent:f="triggerDemoRequest",api:p,mcp:m,debug:I=!1,readOnly:L=!1,title:w,headerActions:g,hideHeader:h=!1,enableThreadHistory:x=!1,showToolCalls:S=!0,initializing:v=!1,disclaimer:A}=t,P=n?.theme,D=n?.variables,k=n?.assistantBubble??!1,M=D?pa(D):{},[b,z]=Pr(!1);at(()=>{if(P!=="auto"||typeof window>"u")return;let R=window.matchMedia("(prefers-color-scheme: dark)");z(R.matches);let H=()=>z(R.matches);return R.addEventListener("change",H),()=>R.removeEventListener("change",H)},[P]);let q=P==="dark"||P==="auto"&&b,y=yr({...t,api:p}),F=gr(),B=hr({...t,api:p,sessionId:y.sessionId,onCallTool:m?.onCallTool}),ve=m?.resourceEndpoint??Tr(p,t.headers),we=kr(d,!y.text),[_,me]=Pr(null),[re,ye]=Pr(null),oe=Ft(null),G=Ft(null),$=Ft(null),Pe=Ft(null),[le,Q]=Pr(!0),ne=Ft(le);ne.current=le;let W=vr(()=>{let R=oe.current;if(!R)return;let H=R.querySelector("textarea");H&&H.focus()},[]),N=vr((R="smooth")=>{let H=G.current;H&&H.scrollTo({top:H.scrollHeight,behavior:R})},[]);at(()=>{let R=Pe.current,H=G.current;if(!R||!H)return;let de=new IntersectionObserver(([Be])=>Q(Be.isIntersecting),{root:H,rootMargin:"0px 0px 200px 0px",threshold:0});return de.observe(R),()=>de.disconnect()},[]),at(()=>{let R=G.current;if(!R)return;let H=de=>{let je=(de.target instanceof Element?de.target:null)?.closest("a");je?.href&&F.emit({name:"link.clicked",properties:{url:je.href}})};return R.addEventListener("click",H),()=>R.removeEventListener("click",H)},[F]),at(()=>{(y.messages[y.messages.length-1]?.role==="user"||ne.current)&&N("smooth")},[y.messages.length,y.messages[y.messages.length-1]]),at(()=>{N("auto")},[N]),at(()=>{if(typeof ResizeObserver>"u")return;let R=G.current,H=$.current;if(!R&&!H)return;let de=R?.scrollHeight??0,Be=R?.clientHeight??0,je=new ResizeObserver(()=>{let gt=G.current;if(!gt)return;let wt=gt.scrollTop+Be>=de-5;de=gt.scrollHeight,Be=gt.clientHeight,wt&&N("auto")});return R&&je.observe(R),H&&je.observe(H),()=>je.disconnect()},[N]);let U=br({messages:y.messages,status:y.status,suggestions:t.suggestions}),X=Ft(null);at(()=>{let R=U.suggestions;R.length===0||X.current===R||(X.current=R,F.emit({name:"suggestions.shown",properties:{texts:R,origin:U.source}}))},[U.suggestions,U.source,F]);let ue=vr(R=>{let H=R.content.map(de=>de.text??"").join("").trim();H&&y.handleSubmit({text:H,files:[],modelContext:R.modelContext})},[y.handleSubmit]),Z=vr(R=>{let H=U.suggestions.indexOf(R),de=H>=0?H:c?.suggestions?.indexOf(R)??-1,Be=H>=0?U.source:"channel";F.emit({name:"suggestion.clicked",properties:{text:R,index:de,origin:Be}}),U.clear(),y.handleSubmit({text:R,files:[]})},[U.suggestions,U.source,U.clear,y.handleSubmit,c,F]);Dh(a,()=>({sendMessage:R=>{y.handleSubmit({text:R,files:[]}),W()},sendMessageAndWait:R=>y.sendMessageAndWait(R),reset:y.reset,focus:W,get messages(){return y.messages},get sessionId(){return y.sessionId}}),[y.handleSubmit,y.sendMessageAndWait,y.reset,y.messages,y.sessionId,W]),at(()=>{if(!f)return;let R=H=>{let de=H.detail,Be=typeof de?.message=="string"?de.message:void 0;Be&&y.handleSubmit({text:Be,files:[]}),W()};return window.addEventListener(f,R),()=>window.removeEventListener(f,R)},[f,y.handleSubmit,W]);let be=!h&&!!(w||x||g),xe=v||!o;return rt("div",{ref:oe,style:{...M,maxHeight:"inherit",..._&&re?{height:re}:{},opacity:xe?0:1,transition:"opacity 220ms ease-out"},"data-waniwani-chat":"","data-waniwani-layout":"embed","data-assistant-bubble":k?"true":void 0,"data-color-scheme":P==="auto"?"auto":void 0,...xe?{"data-waniwani-initializing":""}:{},...q?{"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",P==="dark"&&"dark",s,i?.root),children:[be&&rt("div",{className:T("ww-header ww:shrink-0 ww:flex ww:items-center ww:gap-2 ww:pl-4 ww:pr-3 ww:py-3 ww:border-b ww:border-border",i?.header),style:{backgroundColor:"var(--ww-color-card-header)",color:"var(--ww-color-card-header-foreground)"},children:[w&&pe("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:w}),!w&&pe("div",{className:"ww:flex-1"}),x&&pe(mr,{threads:y.threads,activeThreadId:y.activeThreadId,onNewThread:y.startNewThread,onSelectThread:R=>{y.switchThread(R)},onDeleteThread:R=>{y.deleteThread(R)}}),g]}),rt("div",{ref:G,className:T("ww:relative ww:flex-1 ww:min-h-0",_?"ww:overflow-hidden":"ww:overflow-y-auto"),children:[rt("div",{ref:$,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",_&&"ww:!py-0"),children:[pe(dr,{messages:y.messages,status:y.status,welcomeMessage:u,welcome:c,onSuggestionSelect:Z,resourceEndpoint:ve,chatSessionId:y.sessionId,isDark:q,onFollowUp:ue,onCallTool:B,fullscreenToolCallId:_,debug:I,showToolCalls:S,toolDefinitions:y.toolDefinitions,messageClassNames:{message:i?.message,userBubble:i?.userBubble,assistantBubble:i?.assistantBubble},onWidgetDisplayModeChange:(R,H)=>{if(R==="fullscreen"){let de=oe.current?.getBoundingClientRect().height??0;ye(de>0?de:null),me(H.toolCallId)}else ye(null),me(null)}}),pe("div",{ref:Pe,"aria-hidden":!0,style:{height:1}})]}),!le&&!_&&pe("div",{className:"ww:sticky ww:bottom-2 ww:flex ww:justify-center ww:pointer-events-none",children:pe(Ee,{type:"button",onClick:()=>N("smooth"),size:"icon",variant:"outline",className:"ww:rounded-full ww:shadow ww:pointer-events-auto","aria-label":"Scroll to latest",children:pe(ot,{className:"ww:size-4"})})})]}),!L&&rt("div",{className:"ww:shrink-0 ww:bg-background",style:_?{display:"none"}:void 0,children:[pe(pr,{suggestions:U.suggestions,isLoading:U.isLoading,onSelect:Z}),pe(Aa,{queuedMessages:y.queuedMessages,onRemove:y.removeQueuedMessage}),pe("div",{className:"ww:px-4 ww:pb-2 ww:pt-2",children:rt("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[pe(ka,{onSubmit:y.handleSubmit,globalDrop:l,multiple:l,className:T("ww-input ww:rounded-2xl ww:border-border ww:bg-input",i?.input),children:rt("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[l&&pe(Pa,{}),pe(Ta,{onChange:y.handleTextChange,value:y.text,placeholder:we,className:"ww:min-h-0 ww:py-1 ww:px-0"}),pe(va,{status:y.status,disabled:y.queueFull})]})}),rt("div",{className:"ww:pt-2 ww:pb-1 ww:flex ww:flex-nowrap ww:justify-center ww:items-center ww:gap-1.5",children:[pe(cr,{}),pe(Ql,{text:A})]})]})})]})]})});import{forwardRef as Pg,useEffect as Rr,useImperativeHandle as Ag,useMemo as hn,useRef as gn,useState as Su}from"react";var Nh="https://app.waniwani.ai/api/mcp/chat",Oh={api:Nh};function Uh(){if(typeof document>"u")return null;if(document.currentScript instanceof HTMLScriptElement)return document.currentScript;let e=document.querySelector("script[src][data-token]");if(e instanceof HTMLScriptElement)return e;let t=document.querySelectorAll("script[src]");for(let a of t)if(a instanceof HTMLScriptElement&&/embed/i.test(a.src))return a;return null}function Hh(){let e=Uh();if(!e)return{};let t=k=>e.getAttribute(k)??void 0,a=k=>{let M=e.getAttribute(k);if(M==null)return;let b=M.trim().toLowerCase();if(b==="true"||b==="1"||b==="")return!0;if(b==="false"||b==="0")return!1},r={},o=t("data-api");o&&(r.api=o);let n=t("data-token");n&&(r.token=n);let s=t("data-visitor-id");s&&(r.visitorId=s);let i=t("data-title");i&&(r.title=i);let l=t("data-welcome-message");l&&(r.welcomeMessage=l);let u=t("data-placeholder");u&&(r.placeholder=u);let c=t("data-mcp-server-url");c&&(r.mcpServerUrl=c);let d=t("data-channel-id");if(d&&(r.channelId=d),t("data-show-tool-calls")?.trim().toLowerCase()==="titles-only")r.showToolCalls="titles-only";else{let k=a("data-show-tool-calls");k!==void 0&&(r.showToolCalls=k)}let p=t("data-css");p&&(r.css=p);let m=t("data-suggestions");m&&(r.suggestions=m.split(",").map(k=>k.trim()).filter(Boolean));let I=a("data-enable-thread-history");I!==void 0&&(r.enableThreadHistory=I);let L=a("data-disable-page-view");L!==void 0&&(r.disablePageView=L);let w=a("data-hide-header");w!==void 0&&(r.hideHeader=w);let g=t("data-theme");(g==="light"||g==="dark"||g==="auto")&&(r.appearance={...r.appearance,theme:g});let h=a("data-assistant-bubble");h!==void 0&&(r.appearance={...r.appearance,assistantBubble:h});let x=t("data-locale");(x==="en"||x==="fr"||x==="es")&&(r.locale=x);let S=t("data-mode");(S==="inline"||S==="floating")&&(r.mode=S);let v=t("data-height");v&&(r.height=v);let A=t("data-launcher-text");A&&(r.launcherText=A);let P=t("data-appear-delay");if(P!==void 0){let k=Number.parseInt(P.trim(),10);Number.isFinite(k)&&k>=0&&(r.appearDelay=k)}let D=t("data-disclaimer");if(D!==void 0){let k=D.trim(),M=k.toLowerCase();M==="false"||M==="0"?r.disclaimer=!1:k&&(r.disclaimer=k)}return r}function rn(e){if(!e)return{};let t={};for(let a in e)e[a]!==void 0&&(t[a]=e[a]);return t}function on(e,t,a){let r=a??Hh(),o=qh(t,r,e),n={token:"",...Oh,...rn(t),...rn(r),...rn(e),...o?{appearance:o}:{}};if(!n.token)throw new Error("[Waniwani] Missing required config: `token`. Set data-token on the script tag or pass it to Waniwani.chat.init().");return n}function qh(e,t,a){let r=a?.appearance?.theme??t.appearance?.theme??e?.appearance?.theme,o={...e?.appearance?.variables??{},...t.appearance?.variables??{},...a?.appearance?.variables??{}},n=Object.keys(o).length>0,s=a?.appearance?.assistantBubble??t.appearance?.assistantBubble??e?.appearance?.assistantBubble;if(!r&&!n&&s===void 0)return;let i={};return r&&(i.theme=r),n&&(i.variables=o),s!==void 0&&(i.assistantBubble=s),i}import{useEffect as Lk,useState as Ik}from"react";function Wh(){if(typeof window>"u")return!1;try{return window.WANIWANI_DEBUG?!0:!!window.localStorage?.getItem("WANIWANI_DEBUG")}catch{return!1}}function ha(...e){Wh()&&console.log("[Waniwani]",...e)}var nn=new Set;function Gh(e,t,a){return`${e}|${t}|${a??""}`}function sn(e){try{return`${new URL(e).origin}/api/mcp/events/v2/batch`}catch{return e.replace(/\/$/,"").replace(/\/chat$/,"/events/v2/batch")}}async function ln(e){let{api:t,token:a,channelId:r,mode:o,source:n}=e;if(typeof window>"u"||!t||!a)return;let s=Gh(t,a,r);if(!nn.has(s)){nn.add(s);try{let i=await fa(),l=new Date().toISOString(),u=JSON.stringify({sentAt:l,source:{sdk:"@waniwani/sdk",version:"0.1.0"},events:[{id:crypto.randomUUID(),type:"mcp.event",name:"page.viewed",source:n,timestamp:l,correlation:{visitorId:i.visitorId},properties:{channelId:r,mode:o,url:window.location.href,referrer:i.referrer,deviceType:i.deviceType,language:i.language,timezone:i.timezone},metadata:{}}]});await fetch(sn(t),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:u,keepalive:!0})}catch{nn.delete(s)}}}import{useMemo as Zh}from"react";import{useEffect as $h,useSyncExternalStore as Xh}from"react";function Vh(e){return e?.patterns??e?.rules??[]}var Yl="\0\0";function zh(e){let a=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\\\*\\\*/g,Yl).replace(/\\\*/g,"[^/]*").split(Yl).join(".*");return new RegExp(`^${a}$`)}function jh(e,t){try{return zh(e).test(t)}catch{return!1}}function Zl(e,t){if(!e)return!0;let a=!1;for(let r of Vh(e))if(jh(r.glob,t)){if(r.action==="hide")return!1;a=!0}return a?!0:(e.default??"show")!=="hide"}var un="waniwani:locationchange",eu=!1;function Kh(){if(!(eu||typeof history>"u")){eu=!0;for(let e of["pushState","replaceState"]){let t=history[e];history[e]=function(...r){let o=t.apply(this,r);return window.dispatchEvent(new Event(un)),o}}}}function Qh(e){return Kh(),window.addEventListener(un,e),window.addEventListener("popstate",e),()=>{window.removeEventListener(un,e),window.removeEventListener("popstate",e)}}function Jh(){return window.location.pathname}function Yh(){return"/"}function dn(){return Xh(Qh,Jh,Yh)}function tu(e,t){let a=dn(),r=t&&Zl(e,a);return $h(()=>{ha("visibility gate",{pathname:a,ready:t,visible:r,rules:e})},[a,t,r]),r}var eg=3,tg=["low","medium","high"];function cn(e){if(e.length===0)return;let t=Math.floor(Math.random()*e.length),[a]=e.splice(t,1);return a}function ag(e){let t=new Map,a=[];for(let n of e)if(n.tier){let s=t.get(n.tier)??[];s.push(n),t.set(n.tier,s)}else a.push(n);let r=[];for(let n of tg){let s=cn(t.get(n)??[])??cn(a);s&&r.push(s)}let o=[...t.values()].flat().concat(a);for(;r.length<Math.min(eg,e.length);){let n=cn(o);if(!n)break;r.push(n)}return r}function au(e){let t;try{t=new URL(e,"http://localhost").pathname}catch{t="/"}let a=t.replace(/\/+$/,"");return(a===""?"/":a).toLowerCase()}function ru(e){return Array.isArray(e)?e.flatMap(t=>{let a=t;if(typeof a?.url!="string"||a.url.length===0||!Array.isArray(a.prompts))return[];let r=a.prompts.flatMap(o=>{let n=o;return typeof n?.text!="string"||n.text.length===0?[]:[{id:typeof n.id=="string"?n.id:null,text:n.text,tier:n.tier==="low"||n.tier==="medium"||n.tier==="high"?n.tier:void 0}]});return r.length>0?[{url:a.url,prompts:r}]:[]}):[]}function ou(e){let{pageSuggestions:t,suggestions:a}=e,r=dn();return Zh(()=>{let o=au(r),n=t?.find(i=>au(i.url)===o),s=n?ag(n.prompts).map(({id:i,text:l})=>({id:i,text:l})):null;return ha("configured suggestions resolve",{pathname:o,matched:!!n,count:s?.length??0}),{page:s,channel:Rt(a??[])}},[r,t,a])}var rg="waniwani:config:";function nu(e,t,a){return`${rg}${e}|${t}|${a??""}`}function fn(e,t,a){if(typeof window>"u")return null;try{let r=window.sessionStorage.getItem(nu(e,t,a));if(!r)return null;let o=JSON.parse(r);return o&&typeof o=="object"?o:null}catch{return null}}function su(e,t,a,r){if(!(typeof window>"u"))try{window.sessionStorage.setItem(nu(e,t,a),JSON.stringify(r))}catch{}}async function iu(e,t,a,r){try{let o=tt(e,"/config",r?{channel:r}:void 0),n=await fetch(o,{method:"GET",headers:{Authorization:`Bearer ${t}`},signal:a});if(!n.ok)return{};let s=await n.json(),i=s&&typeof s=="object"&&"data"in s&&s.data?s.data:s;return i?og(i):{}}catch{return{}}}function og(e){let t={};e.source!=null&&(t.source=e.source),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);let a=ru(e.pageSuggestions);return a.length>0&&(t.pageSuggestions=a),typeof e.enableThreadHistory=="boolean"&&(t.enableThreadHistory=e.enableThreadHistory),e.toolCallDisplay==="full"?t.showToolCalls=!0:e.toolCallDisplay==="titles-only"?t.showToolCalls="titles-only":e.toolCallDisplay==="hidden"&&(t.showToolCalls=!1),e.visibility&&(t.visibility=e.visibility),t}function Bt(e,t){for(let a of t){let r=e[a];if(typeof r=="string"&&r.length>0)return r}}var ng=["waniwani/sessionId","openai/sessionId","openai/session","sessionId","conversationId","mcp-session-id"],sg=["waniwani/requestId","openai/requestId","requestId","mcp/requestId"],ig=["waniwani/traceId","openai/traceId","traceId","mcp/traceId","openai/requestId","requestId"],lg=["waniwani/userId","openai/userId","externalUserId","userId","actorId"],ug=["waniwani/visitorId","visitorId"],dg=["correlationId","openai/requestId"];function lu(e){return e?Bt(e,ng):void 0}function uu(e){return e?Bt(e,sg):void 0}function du(e){return e?Bt(e,ig):void 0}function cu(e){return e?Bt(e,lg):void 0}function fu(e){return e?Bt(e,ug):void 0}function pu(e){return e?Bt(e,dg):void 0}var cg=[{key:"openai/sessionId",source:"chatgpt"},{key:"openai/session",source:"chatgpt"}],fg=[{needle:"claude",source:"claude"},{needle:"chatgpt",source:"chatgpt"},{needle:"openai",source:"chatgpt"},{needle:"gemini",source:"gemini"}];function mu(e,t){if(e){let r=e["waniwani/source"];if(typeof r=="string"&&r.length>0)return r;for(let{key:o,source:n}of cg){let s=e[o];if(typeof s=="string"&&s.length>0)return n}}let a=t?.name;if(typeof a=="string"&&a.length>0){let r=a.toLowerCase();for(let{needle:o,source:n}of fg)if(r.includes(o))return n}}var pg="@waniwani/sdk";function hu(e,t={}){let a=t.now??(()=>new Date),r=t.generateId??mg,o=wg(e),n=Ar(e.meta),s=Ar(e.metadata),i=xg(e,n),l=Ue(e.eventId)??r(),u=Lg(e.timestamp,a),c=Ue(e.source)??mu(n)??t.source??pg,d=pn(e)?{...e}:void 0,f={...s};return Object.keys(n).length>0&&(f.meta=n),d&&(f.rawLegacy=d),{id:l,type:"mcp.event",name:o,source:c,timestamp:u,correlation:i,properties:hg(e,o),metadata:f,rawLegacy:d}}function mg(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?`evt_${crypto.randomUUID()}`:`evt_${Math.random().toString(36).slice(2,10)}_${Date.now().toString(36)}`}function hg(e,t){if(!pn(e))return Ar(e.properties);let a=gg(e,t),r=Ar(e.properties);return{...a,...r}}function gg(e,t){switch(t){case"tool.called":{let a={};return Ue(e.toolName)&&(a.name=e.toolName),Ue(e.toolType)&&(a.type=e.toolType),a}case"link.clicked":{let a={};return Ue(e.linkUrl)&&(a.url=e.linkUrl),a}default:return{}}}function wg(e){return pn(e)?e.eventType:e.event}function xg(e,t){let a=Ue(e.requestId)??uu(t),r=Ue(e.sessionId)??lu(t),o=Ue(e.traceId)??du(t),n=Ue(e.externalUserId)??cu(t),s=Ue(e.visitorId)??fu(t),i=Ue(e.correlationId)??pu(t)??a,l={};return r&&(l.sessionId=r),o&&(l.traceId=o),a&&(l.requestId=a),i&&(l.correlationId=i),n&&(l.externalUserId=n),s&&(l.visitorId=s),l}function Lg(e,t){if(e instanceof Date)return e.toISOString();if(typeof e=="string"){let a=new Date(e);if(!Number.isNaN(a.getTime()))return a.toISOString()}return t().toISOString()}function Ar(e){return!e||typeof e!="object"||Array.isArray(e)?{}:e}function Ue(e){if(typeof e=="string"&&e.trim().length!==0)return e}function pn(e){return"eventType"in e}function gu(e){return{priceShown:({amount:t,currency:a,itemId:r,label:o,...n})=>e({event:"price_shown",properties:{amount:t,currency:a,itemId:r,label:o},...n}),pricesCompared:({options:t,...a})=>e({event:"prices_compared",properties:{options:t},...a}),optionSelected:({id:t,amount:a,currency:r,...o})=>e({event:"option_selected",properties:{id:t,amount:a,currency:r},...o}),leadQualified:t=>{let{externalId:a,email:r,name:o,...n}=t??{};return e({event:"lead_qualified",properties:{externalId:a,email:r,name:o},...n})},converted:({amount:t,currency:a,occurredAt:r,...o})=>e({event:"converted",properties:{amount:t,currency:a,occurredAt:r},...o})}}var Ig="/api/mcp/events/v2/batch";var wu="@waniwani/sdk";var Cg=new Set([401,403]),Sg=new Set([408,425,429,500,502,503,504]);function xu(e){return new mn(e)}var mn=class{endpointUrl;flushIntervalMs;maxBatchSize;maxBufferSize;maxRetries;retryBaseDelayMs;retryMaxDelayMs;shutdownTimeoutMs;sdkVersion;fetchFn;logger;now;sleep;apiKey;buffer=[];flushTimer;flushScheduled=!1;flushScheduledTimer;flushInFlight;inFlightCount=0;isStopped=!1;isShuttingDown=!1;constructor(t){this.endpointUrl=kg(t.apiUrl,t.endpointPath??Ig),this.flushIntervalMs=t.flushIntervalMs??1e3,this.maxBatchSize=t.maxBatchSize??20,this.maxBufferSize=t.maxBufferSize??1e3,this.maxRetries=t.maxRetries??3,this.retryBaseDelayMs=t.retryBaseDelayMs??200,this.retryMaxDelayMs=t.retryMaxDelayMs??2e3,this.shutdownTimeoutMs=t.shutdownTimeoutMs??2e3,this.fetchFn=t.fetchFn??fetch,this.logger=t.logger??console,this.now=t.now??(()=>new Date),this.sleep=t.sleep??(a=>new Promise(r=>setTimeout(r,a))),this.apiKey=t.apiKey,this.sdkVersion=t.sdkVersion,this.flushIntervalMs>0&&(this.flushTimer=setInterval(()=>{this.flush()},this.flushIntervalMs)),this.registerBrowserTeardown()}enqueue(t){if(this.isStopped||this.isShuttingDown){this.logger.warn("[Waniwani] Tracking transport is stopped, dropping event %s",t.id);return}if(this.buffer.length>=this.maxBufferSize){let a=this.buffer.length-this.maxBufferSize+1;this.buffer.splice(0,a),this.logger.warn("[Waniwani] Tracking buffer overflow, dropped %d oldest event(s)",a)}if(this.buffer.push(t),this.buffer.length>=this.maxBatchSize){this.flush();return}this.scheduleMicroFlush()}pendingEvents(){return this.buffer.length+this.inFlightCount}async flush(){return this.flushInFlight?this.flushInFlight:(this.flushInFlight=this.flushLoop().finally(()=>{this.flushInFlight=void 0}),this.flushInFlight)}async shutdown(t){this.isShuttingDown=!0,this.flushTimer&&(clearInterval(this.flushTimer),this.flushTimer=void 0),this.flushScheduledTimer&&(clearTimeout(this.flushScheduledTimer),this.flushScheduledTimer=void 0,this.flushScheduled=!1);let a=t?.timeoutMs??this.shutdownTimeoutMs,r=this.flush();if(!Number.isFinite(a)||a<=0)return await r,this.isStopped=!0,{timedOut:!1,pendingEvents:this.pendingEvents()};let o=Symbol("shutdown-timeout");return await Promise.race([r.then(()=>"flushed"),this.sleep(a).then(()=>o)])===o?(this.isStopped=!0,{timedOut:!0,pendingEvents:this.pendingEvents()}):(this.isStopped=!0,{timedOut:!1,pendingEvents:this.pendingEvents()})}registerBrowserTeardown(){if(typeof document>"u"||typeof window>"u")return;let t=()=>{document.visibilityState==="hidden"&&this.keepaliveFlush()};document.addEventListener("visibilitychange",t),window.addEventListener("pagehide",()=>this.keepaliveFlush())}keepaliveFlush(){if(this.isStopped||this.buffer.length===0)return;let t=this.buffer.splice(0,this.buffer.length);this.sendKeepaliveChunk(t)}sendKeepaliveChunk(t){let a=JSON.stringify(this.makeBatchRequest(t));if(a.length>6e4&&t.length>1){let r=Math.ceil(t.length/2);this.sendKeepaliveChunk(t.slice(0,r)),this.sendKeepaliveChunk(t.slice(r));return}try{this.fetchFn(this.endpointUrl,{method:"POST",headers:this.requestHeaders(),body:a,keepalive:!0}).catch(()=>{})}catch{}}requestHeaders(){let t={"Content-Type":"application/json","X-WaniWani-SDK":wu};return this.apiKey&&(t.Authorization=`Bearer ${this.apiKey}`),t}scheduleMicroFlush(){this.flushScheduled||(this.flushScheduled=!0,this.flushScheduledTimer=setTimeout(()=>{this.flushScheduledTimer=void 0,this.flushScheduled=!1,this.flush()},0))}async flushLoop(){for(;this.buffer.length>0&&!this.isStopped;){let t=this.buffer.splice(0,this.maxBatchSize);await this.sendBatchWithRetry(t)}}async sendBatchWithRetry(t){let a=0,r=t;for(;r.length>0&&!this.isStopped;){this.inFlightCount=r.length;let o=await this.sendBatchOnce(r);switch(this.inFlightCount=0,o.kind){case"success":return;case"auth":this.stopTransportForAuthFailure(o.status,r.length);return;case"permanent":this.logger.error("[Waniwani] Dropping %d event(s) after permanent failure: %s",r.length,o.reason);return;case"retryable":if(a>=this.maxRetries){this.logger.error("[Waniwani] Dropping %d event(s) after retry exhaustion: %s",r.length,o.reason);return}await this.sleep(this.backoffDelayMs(a)),a+=1;continue;case"partial":if(o.permanent.length>0&&this.logger.error("[Waniwani] Dropping %d event(s) rejected as permanent",o.permanent.length),o.retryable.length===0)return;if(a>=this.maxRetries){this.logger.error("[Waniwani] Dropping %d retryable event(s) after retry exhaustion",o.retryable.length);return}r=o.retryable,await this.sleep(this.backoffDelayMs(a)),a+=1;continue}}}async sendBatchOnce(t){let a;try{a=await this.fetchFn(this.endpointUrl,{method:"POST",headers:this.requestHeaders(),body:JSON.stringify(this.makeBatchRequest(t))})}catch(n){return{kind:"retryable",reason:Tg(n)}}if(Cg.has(a.status))return{kind:"auth",status:a.status};if(Sg.has(a.status))return{kind:"retryable",reason:`HTTP ${a.status}`};if(!a.ok)return{kind:"permanent",reason:`HTTP ${a.status}`};let r=await bg(a);if(!r?.rejected||r.rejected.length===0)return{kind:"success"};let o=this.classifyRejectedEvents(t,r.rejected);return o.retryable.length===0&&o.permanent.length===0?{kind:"success"}:{kind:"partial",retryable:o.retryable,permanent:o.permanent}}makeBatchRequest(t){return{sentAt:this.now().toISOString(),source:{sdk:wu,version:this.sdkVersion??"0.0.0"},events:t}}classifyRejectedEvents(t,a){let r=new Map(t.map(s=>[s.id,s])),o=[],n=[];for(let s of a){let i=r.get(s.eventId);if(i){if(yg(s)){o.push(i);continue}n.push(i)}}return{retryable:o,permanent:n}}backoffDelayMs(t){let a=this.retryBaseDelayMs*2**t;return Math.min(a,this.retryMaxDelayMs)}stopTransportForAuthFailure(t,a){this.isStopped=!0;let r=this.buffer.length;this.buffer.splice(0,r),this.logger.error("[Waniwani] Auth failure (HTTP %d). Stopping tracking transport and dropping %d queued event(s)",t,a+r)}};function yg(e){if(e.retryable===!0)return!0;let t=e.code.toLowerCase();return t.includes("timeout")||t.includes("temporary")||t.includes("unavailable")||t.includes("rate_limit")||t.includes("transient")||t.includes("server")}async function bg(e){let t=await e.text();if(t)try{return JSON.parse(t)}catch{return}}function kg(e,t){let a=e.endsWith("/")?e:`${e}/`,r=t.startsWith("/")?t.slice(1):t;return`${a}${r}`}function Tg(e){return e instanceof Error?e.message:String(e)}function Lu(e){let{apiUrl:t,endpointPath:a}=vg(e.endpoint),r=xu({apiUrl:t,apiKey:e.token,endpointPath:a,flushIntervalMs:e.flushIntervalMs}),o,n=i=>typeof i=="function"?i():i,s=async i=>{let l=e.identity?.()??{},u=n(e.channelId),c=u===void 0?i.properties:{channelId:u,...i.properties},d=hu({sessionId:l.sessionId,visitorId:l.visitorId,externalUserId:l.externalUserId??o,traceId:l.traceId,...i,properties:c,metadata:{...e.metadata,...i.metadata}},{source:n(e.source)});return r.enqueue(d),{eventId:d.id}};return{track:Object.assign(s,gu(s)),identify(i,l){return o=i,s({event:"user.identified",externalUserId:i,properties:l})},flush:()=>r.flush(),shutdown:i=>r.shutdown(i)}}function vg(e){let t=new URL(e);return{apiUrl:t.origin,endpointPath:`${t.pathname}${t.search}`}}function Iu(e){return Lu({endpoint:sn(e.api),token:e.token,channelId:e.channelId,source:e.getSource,identity:()=>({sessionId:e.getSessionId(),visitorId:At()})})}function Cu(e){let t=!1,a=async()=>(t||(t=!0,console.warn(`[Waniwani] track() is disabled: ${e}`)),{eventId:""});return{track:Object.assign(a,{priceShown:a,pricesCompared:a,optionSelected:a,leadQualified:a,converted:a}),identify:a,flush:async()=>{},shutdown:async()=>({timedOut:!1,pendingEvents:0})}}import{jsx as bu}from"react/jsx-runtime";var Rg=600,yu="https://app.waniwani.ai/api/mcp/chat",Mg=Pg(function(t,a){let{token:r,channelId:o,className:n,visitorId:s,overrides:i,onEvent:l}=t,u=gn(null),c=gn(null),d=hn(()=>bl({mode:"inline",getSessionId:()=>u.current?.sessionId}),[]);Rr(()=>{if(l)return d.subscribe(l)},[l,d]);let f=hn(()=>({token:r,channelId:o,api:i?.api,mcpServerUrl:i?.mcpServerUrl,title:i?.title,hideHeader:i?.hideHeader,welcomeMessage:i?.welcomeMessage,placeholder:i?.placeholder,suggestions:i?.suggestions,enableThreadHistory:i?.enableThreadHistory,showToolCalls:i?.showToolCalls,appearance:i?.appearance,disclaimer:i?.disclaimer,locale:i?.locale}),[r,o,i?.api,i?.mcpServerUrl,i?.title,i?.hideHeader,i?.welcomeMessage,i?.placeholder,i?.suggestions,i?.enableThreadHistory,i?.showToolCalls,i?.appearance,i?.disclaimer,i?.locale]),p=i?.api??yu,[m,I]=Su({}),[L,w]=Su(!1),g=gn(!1);Rr(()=>{L&&!g.current&&(g.current=!0,d.emit({name:"chat.ready"}))},[L,d]);let h=i?.disablePageView;Rr(()=>{if(!r){w(!0);return}let P=b=>{h||ln({api:p,token:r,channelId:o,mode:"inline",source:b})},D=fn(p,r,o);D&&(I(D),w(!0),P(D.source));let k=new AbortController,M=setTimeout(()=>w(!0),Rg);return iu(p,r,k.signal,o).then(b=>{k.signal.aborted||(Object.keys(b).length>0&&(su(p,r,o,b),I(b)),w(!0),P(b.source))}).catch(b=>{console.error("[Waniwani] Remote config fetch failed:",b),w(!0)}).finally(()=>clearTimeout(M)),()=>{k.abort(),clearTimeout(M)}},[p,r,o,h]);let x=hn(()=>on(f,m,void 0),[f,m]),S=ou(x);Rr(()=>{if(!r)return;let P=Iu({api:p,token:r,channelId:o,getSource:()=>fn(p,r,o)?.source??void 0,getSessionId:()=>u.current?.sessionId});return c.current=P,()=>{c.current=null,P.shutdown()}},[p,r,o]),Ag(a,()=>{let P=()=>c.current??Cu("no public token configured"),D=Object.assign(k=>P().track(k),{priceShown:k=>P().track.priceShown(k),pricesCompared:k=>P().track.pricesCompared(k),optionSelected:k=>P().track.optionSelected(k),leadQualified:k=>P().track.leadQualified(k),converted:k=>P().track.converted(k)});return{sendMessage:k=>u.current?.sendMessage(k),sendMessageAndWait:k=>u.current?u.current.sendMessageAndWait(k):Promise.resolve(void 0),reset:()=>u.current?.reset(),focus:()=>u.current?.focus(),get messages(){return u.current?.messages??[]},get sessionId(){return u.current?.sessionId},track:D,identify:(k,M)=>P().identify(k,M)}},[]);let v=tu(x.visibility,L),A={mode:"inline"};return x.mcpServerUrl&&(A.mcpServerUrl=x.mcpServerUrl),x.channelId&&(A.channelId=x.channelId),v?bu(vl,{value:d,children:bu(an,{ref:u,api:x.api??yu,headers:{Authorization:`Bearer ${x.token}`},visitorId:s,skipRemoteConfig:!0,body:A,appearance:x.appearance,classNames:i?.classNames,title:x.title,hideHeader:x.hideHeader,welcomeMessage:x.welcomeMessage,welcome:i?.welcome,placeholder:x.placeholder,suggestions:S,enableThreadHistory:x.enableThreadHistory,showToolCalls:x.showToolCalls,disclaimer:x.disclaimer,allowAttachments:i?.allowAttachments,locale:x.locale,messages:i?.messages,className:n,initializing:!L})}):null});export{Bh as ChatCard,an as ChatEmbed,Ph as DARK_THEME,$l as DEFAULT_THEME,Uo as McpAppFrame,Mg as WaniwaniChat,en as mergeTheme,pa as themeToCSSProperties};
15
+ ${N}`}]}}B.current({...O,...q?{modelContext:q}:{}})}W({jsonrpc:"2.0",id:V,result:{}});return}if(ue==="ui/update-model-context"&&V!=null){ye=Ll(ye,K.params),W({jsonrpc:"2.0",id:V,result:{}});return}if(ue==="tools/call"&&V!=null){let O=y.current;if(!O){W({jsonrpc:"2.0",id:V,error:{code:-32601,message:"tools/call not supported"}});return}let q=K.params?.name;O({name:q,arguments:K.params?.arguments??{}}).then(N=>{W({jsonrpc:"2.0",id:V,result:N});let ne=N.content?.map(Q=>Q.text??"").join("").trim();ne&&Bm(q,N,R.current)&&(le&&clearTimeout(le.timer),le={text:ne,timer:setTimeout(()=>{if(re)return;let Q=ye;ye=null,le=null,B.current?.({role:"user",content:[{type:"text",text:ne}],...Q?{modelContext:Q}:{}})},500)})}).catch(N=>{let ne=N instanceof Error?N.message:"Tool call failed";W({jsonrpc:"2.0",id:V,error:{code:-32e3,message:ne}})});return}if(ue==="ui/request-display-mode"&&V!=null){let O=K.params?.mode,q=O==="fullscreen"||O==="inline"||O==="pip"?O:"inline";S.current=q,W({jsonrpc:"2.0",id:V,result:{mode:q}}),W({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{displayMode:q}}),X.current?.(q);return}if(ue==="ui/resource-teardown"&&V!=null){W({jsonrpc:"2.0",id:V,result:{}});return}ue==="ping"&&V!=null&&W({jsonrpc:"2.0",id:V,result:{}})};return window.addEventListener("message",Ae),()=>{re=!0,clearTimeout(j),le&&clearTimeout(le.timer),window.removeEventListener("message",Ae)}},[i,b]),Em("iframe",{ref:m,src:M,sandbox:"allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox",className:T(!f&&"ww:rounded-md ww:border ww:border-border",s),style:{height:f?"100%":v,minWidth:f||!P?void 0:`min(${P}px, 100%)`,width:"100%",border:"none",colorScheme:n?"dark":"auto"},title:"MCP App"})}import{jsx as fa,jsxs as Dm}from"react/jsx-runtime";function Sl({icon:e,title:t,description:a,suggestions:r,onSuggestionSelect:o}){return Dm("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&&fa("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}),fa("h2",{className:"ww:text-lg ww:font-semibold ww:text-foreground",children:t}),a&&fa("p",{className:"ww:mt-1 ww:text-sm ww:text-muted-foreground ww:max-w-sm",children:a}),r&&r.length>0&&fa("div",{className:"ww:mt-6 ww:w-full ww:max-w-md ww:flex ww:flex-col ww:gap-2",children:r.map((n,s)=>fa("button",{type:"button",onClick:()=>o?.(n),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:`${s*50}ms`},children:n},n))})]})}import{Component as _m}from"react";import{jsx as Go,jsxs as Nm}from"react/jsx-runtime";function Om({onRetry:e}){let{t}=G();return Nm("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:[Go("span",{children:t.widgetErrorBoundary.failedToLoad}),Go("button",{type:"button",onClick:e,className:"ww:text-xs ww:font-medium ww:text-primary ww:hover:underline",children:t.widgetErrorBoundary.retry})]})}var cr=class extends _m{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.warn("[Waniwani] Widget failed to render:",t.message)}render(){return this.state.hasError?Go(Om,{onRetry:()=>this.setState({hasError:!1})}):this.props.children}};import{Fragment as Um,jsx as Z,jsxs as ot}from"react/jsx-runtime";function Vo(e){return e?e.replace(/[-_]/g," ").replace(/^\w/,t=>t.toUpperCase()):"Tool"}function yl(e){return e&&/search|find|lookup|query|web|browse|google/i.test(e)?qt:ut}function fr({messages:e,status:t,welcomeMessage:a,welcome:r,onSuggestionSelect:o,resourceEndpoint:n,chatSessionId:s,isDark:i,onFollowUp:l,onCallTool:u,onWidgetDisplayModeChange:c,fullscreenToolCallId:d,debug:f,showToolCalls:p=!0,toolDefinitions:m,messageClassNames:L}){let{t:I}=G(),x=e[e.length-1],g=e.length>0,h=d!=null,w=!h&&xl(e,t,{ignoreToolParts:p===!1,ignoreReasoningParts:p===!1});return ot(Um,{children:[!h&&(!g&&r?Z(Sl,{...r,onSuggestionSelect:o}):a&&Z(Bo,{from:"assistant",children:Z(Eo,{children:Z(dr,{children:a})})})),e.map(S=>{let v=S.parts.filter(R=>R.type==="text"),A=S.parts.filter(R=>R.type==="reasoning"),P=S.parts.filter(R=>R.type==="file"),E=S.parts.filter(R=>"toolCallId"in R),k=S.parts.filter(R=>R.type==="reasoning"||"toolCallId"in R),B=S===x&&S.role==="assistant",y=v.length>0,X=h?E.some(R=>R.toolCallId===d):!1,H=p!==!1&&!X&&k.length>=2;return h&&!X?Z("div",{style:{display:"none"}},S.id):S.role==="assistant"&&!wl(S)?Z("div",{style:{display:"none"}},S.id):p===!1&&S.role==="assistant"&&!y&&P.length===0&&E.every(R=>{let b="output"in R?R.output:void 0;return b===void 0||!n||!ca(R.toolName,b,m)})?Z("div",{style:{display:"none"}},S.id):ot(Bo,{from:S.role,className:L?.message,children:[p!==!1&&!X&&!H&&A.map((R,b)=>ot(Kt,{isStreaming:R.state==="streaming",children:[Z(Qt,{}),Z(Jt,{children:R.text})]},`reasoning-${S.id}-${b}`)),H&&(()=>{let R=k[k.length-1],b=R.type==="reasoning"?{icon:je,label:I.reasoning.thinking}:{icon:yl(R.toolName),label:R.title??Vo(R.toolName)};return ot(Ls,{isWorking:B&&(t==="streaming"||t==="submitted"),activeStep:b,children:[Z(Cs,{workingLabel:I.chainOfThought.working,label:I.chainOfThought.done}),Z(Ss,{children:k.map((M,Pe)=>{let we=Pe===k.length-1;if(M.type==="reasoning")return Z(bs,{isStreaming:M.state==="streaming",isLast:we,children:M.text},`reasoning-${S.id}-${Pe}`);let U=M.title??Vo(M.toolName),re=yl(M.toolName);if(p==="titles-only")return Z(Yr,{icon:re,title:U,state:M.state,isLast:we},M.toolCallId);let oe="output"in M?M.output:void 0;return ot(Yr,{icon:re,title:U,state:M.state,isLast:we,children:[Z(Uo,{input:M.input,debug:f}),oe!==void 0&&Z(Ho,{output:oe,errorText:"errorText"in M?M.errorText:void 0,debug:f})]},M.toolCallId)})})]})})(),p!==!1&&!X&&!H&&E.length===1&&(()=>{let R=E[0],b=R.title??Vo(R.toolName);if(p==="titles-only")return Z(dl,{title:b,state:R.state});let M="output"in R?R.output:void 0;return ot(ll,{children:[Z(ul,{title:b,state:R.state}),ot(cl,{children:[Z(Uo,{input:R.input,debug:f}),M!==void 0&&Z(Ho,{output:M,errorText:"errorText"in R?R.errorText:void 0,debug:f})]})]})})(),E.map(R=>{let b="output"in R?R.output:void 0,M=ca(R.toolName,b,m),Pe=ml(R.toolName,b,m),we=R.toolCallId===d;return M&&n&&b!==void 0?Z("div",{style:we?{position:"absolute",inset:0,zIndex:10,display:"flex",flexDirection:"column",overflow:"hidden",background:"var(--ww-color-background)"}:void 0,children:M&&n&&b!==void 0&&Z(cr,{children:Z(Wo,{isFullscreen:we,resourceUri:M,toolInput:R.input??{},toolResult:{content:b.content,structuredContent:b.structuredContent,_meta:b._meta},resourceEndpoint:n,chatSessionId:s,isDark:i,autoHeight:Pe,toolDefinitions:m,onFollowUp:l,onCallTool:u,onDisplayModeChange:c?U=>c(U,{toolCallId:R.toolCallId,resourceUri:M,toolInput:R.input??{},toolResult:{content:b.content,structuredContent:b.structuredContent,_meta:b._meta},autoHeight:Pe}):void 0})})},R.toolCallId):null}),!X&&Z("div",{children:ot(Eo,{className:T(S.role==="user"?L?.userBubble:L?.assistantBubble),children:[P.length>0&&Z(ms,{files:P}),y?v.map((R,b)=>{let M=B&&t==="streaming"&&b===v.length-1;return Z(dr,{isStreaming:M,children:R.type==="text"?R.text:""},`${S.id}-${b}`)}):null]})})]},S.id)}),w&&Z(Il,{})]})}import{jsx as bl,jsxs as Wm}from"react/jsx-runtime";var Hm="https://app.waniwani.ai/assets/waniwani-logo.svg",qm="https://waniwani.ai";function pr(){let{t:e}=G();return Wm("a",{href:qm,target:"_blank",rel:"noopener noreferrer",className:"ww:flex ww:items-center ww:gap-1.5 ww:whitespace-nowrap ww:text-[10px] ww:sm:text-[11px] ww:text-muted-foreground ww:opacity-70 hover:ww:opacity-100 ww:transition-opacity",children:[bl("span",{children:e.poweredBy.label}),bl("img",{src:Hm,alt:"Waniwani",width:72,height:10,"data-waniwani-logo":"",className:"ww:h-2.5 ww:w-auto"})]})}import{jsx as mr}from"react/jsx-runtime";function hr({suggestions:e,isLoading:t,onSelect:a,className:r,...o}){return e.length===0&&!t?null:mr("div",{className:T("ww:px-4 ww:py-2",r),...o,children:mr("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl ww:flex ww:flex-wrap ww:gap-2",children:t?[0,1,2].map(n=>mr("div",{className:"ww:h-8 ww:rounded-full ww:bg-accent ww:animate-pulse",style:{width:`${60+n*20}px`}},n)):e.map((n,s)=>mr("button",{type:"button",onClick:()=>a(n),className:T("ww:rounded-full ww:border ww:border-border ww:bg-accent ww:px-3.5 ww:py-1.5 ww:text-sm","ww:text-foreground ww:hover:bg-border ww:hover:border-primary/30","ww:transition-all ww:duration-200 ww:ease-out ww:cursor-pointer","ww:animate-[ww-fade-in_0.2s_ease-out_both]"),style:{animationDelay:`${s*50}ms`},children:n},n))})})}import{useEffect as Gm,useRef as Vm,useState as zm}from"react";import{jsx as ae,jsxs as xt}from"react/jsx-runtime";var kl=20;function jm({label:e}){return xt("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[ae("title",{children:e}),ae("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),ae("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}function $m({label:e}){return xt("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[ae("title",{children:e}),ae("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),ae("polyline",{points:"3 4 3 9 8 9"}),ae("line",{x1:"12",y1:"7",x2:"12",y2:"12"}),ae("line",{x1:"12",y1:"12",x2:"15",y2:"14"})]})}function Xm({label:e}){return xt("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[ae("title",{children:e}),ae("polyline",{points:"3 6 5 6 21 6"}),ae("path",{d:"M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6"}),ae("path",{d:"M10 11v6"}),ae("path",{d:"M14 11v6"})]})}function gr({threads:e,activeThreadId:t,onNewThread:a,onSelectThread:r,onDeleteThread:o}){let{locale:n,t:s}=G(),[i,l]=zm(!1),u=Vm(null);Gm(()=>{if(!i)return;let f=p=>{let m=u.current;m&&(p.composedPath().includes(m)||l(!1))};return document.addEventListener("mousedown",f),()=>document.removeEventListener("mousedown",f)},[i]);let c=e.slice(0,kl),d=Math.max(0,e.length-kl);return xt("div",{ref:u,className:"ww:relative ww:flex ww:items-center ww:gap-1",children:[ae("button",{type:"button",onClick:a,title:s.threadMenu.newChat,"aria-label":s.threadMenu.newChat,className:"ww:p-1.5 ww:rounded-md ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/5 ww:transition-colors ww:cursor-pointer",children:ae(jm,{label:s.threadMenu.newChat})}),ae("button",{type:"button",onClick:()=>l(f=>!f),title:s.threadMenu.threadHistory,"aria-label":s.threadMenu.threadHistory,"aria-expanded":i,className:"ww:p-1.5 ww:rounded-md ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/5 ww:transition-colors ww:cursor-pointer",children:ae($m,{label:s.threadMenu.threadHistory})}),i&&xt("div",{role:"menu",className:"ww:absolute ww:right-0 ww:top-full ww:mt-1 ww:w-72 ww:max-h-80 ww:overflow-y-auto ww:rounded-lg ww:border ww:border-border ww:bg-background ww:shadow-lg ww:z-50",children:[c.length===0&&ae("div",{className:"ww:px-3 ww:py-3 ww:text-xs ww:text-muted-foreground",children:s.threadMenu.noPreviousChats}),c.map(f=>{let p=f.threadId===t,m=Date.parse(f.updatedAt);return xt("div",{className:`ww:flex ww:items-center ww:gap-2 ww:px-3 ww:py-2 ww:text-xs hover:ww:bg-foreground/5 ${p?"ww:bg-foreground/5":""}`,children:[xt("button",{type:"button",onClick:()=>{r(f.threadId),l(!1)},className:"ww:flex-1 ww:min-w-0 ww:text-left ww:cursor-pointer",children:[ae("div",{className:"ww:truncate ww:text-foreground ww:font-medium",children:f.title}),ae("div",{className:"ww:text-[10px] ww:text-muted-foreground",children:Number.isNaN(m)?"":zr(m,n)})]}),ae("button",{type:"button",onClick:L=>{L.stopPropagation(),o(f.threadId)},title:s.threadMenu.deleteThread,"aria-label":s.threadMenu.deleteThread,className:"ww:p-1 ww:rounded ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/10 ww:transition-colors ww:cursor-pointer",children:ae(Xm,{label:s.threadMenu.deleteThread})})]},f.threadId)}),d>0&&ae("div",{className:"ww:px-3 ww:py-2 ww:text-[10px] ww:text-muted-foreground ww:border-t ww:border-border",children:s.threadMenu.hiddenThreads(d)})]})]})}import{useCallback as Km,useRef as Qm}from"react";function wr(e){let t=Qm(e);return t.current=e,Km(async a=>{let{api:r,headers:o,onCallTool:n,sessionId:s}=t.current;if(n)return n(a);let i=`${r??"/api/waniwani"}/tool`,l=typeof s=="string"&&s.trim().length>0?s.trim():void 0,u=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json",...l?{"X-Session-Id":l}:{},...o},body:JSON.stringify(a)});if(!u.ok)throw new Error(`Tool call failed: ${u.status} ${u.statusText}`);return u.json()},[])}import{useChat as hh}from"@ai-sdk/react";import{useCallback as Ce,useEffect as Ee,useRef as pe,useState as It}from"react";import{createContext as Jm,useContext as Ym}from"react";function Tl(e){let t=new Set;return{subscribe(a){return t.add(a),()=>{t.delete(a)}},emit(a){let{sessionId:r,...o}=a,n=a.name==="session.started"?a.properties.sessionId:void 0,s={...o,mode:e.mode,sessionId:Object.hasOwn(a,"sessionId")?r:n??e.getSessionId?.(),timestamp:Date.now()};for(let i of[...t])try{i(s)}catch(l){console.warn("[Waniwani] onEvent subscriber threw:",l)}}}}function vl(){return{subscribe(){return()=>{}},emit(){}}}var Pl=Jm(vl());function xr(){return Ym(Pl)}var Al=Pl.Provider;function nt(e,t,a){let[r,o=""]=e.split("?"),n=r.replace(/\/$/,""),s=new URLSearchParams(o);if(a)for(let[l,u]of Object.entries(a))s.set(l,u);let i=s.toString();return`${n}${t}${i?`?${i}`:""}`}import{DefaultChatTransport as Zm,uiMessageChunkSchema as eh}from"ai";function th(e){let t=e?.cause,a=t?.issues??t?.errors;if(!Array.isArray(a))return null;let r=a.find(o=>o.code==="invalid_union");if(!r?.errors)return null;for(let o of r.errors){if(!Array.isArray(o)||o.some(i=>(i.code==="invalid_value"||i.code==="invalid_literal")&&i.path?.[0]==="type"))continue;let s=o.filter(i=>i.code==="unrecognized_keys").flatMap(i=>i.keys??[]);if(s.length>0)return s}return null}var Ir=class extends Zm{processResponseStream(t){let a="",r=eh(),o=r.validate?.bind(r);return t.pipeThrough(new TextDecoderStream).pipeThrough(new TransformStream({async transform(n,s){a+=n;let i=a.split(`
16
+ `);a=i.pop()??"";for(let l of i){let u=l.trim();if(!u.startsWith("data:"))continue;let c=u.slice(5).trim();if(c!=="[DONE]")try{let d=JSON.parse(c);if(!o){s.enqueue(d);continue}let f=await o(d);if(f.success){s.enqueue(f.value);continue}let p=th(f.error);if(p?.length){let m={...d};for(let I of p)delete m[I];let L=await o(m);L.success&&s.enqueue(L.value)}}catch{}}}}))}};var ah="waniwani-memory";var Be="threads",Lr="by_memoryUserId",rh="by_updatedAt";var Ml="memoryUserId",Rl="waniwani-memory-user-id",zo=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 oh(e,t){if(t<1&&(e.objectStoreNames.contains("ids")||e.createObjectStore("ids")),t<2&&!e.objectStoreNames.contains(Be)){let a=e.createObjectStore(Be,{keyPath:"threadId"});a.createIndex(Lr,"memoryUserId",{unique:!1}),a.createIndex(rh,"updatedAt",{unique:!1})}}async function $o(){return new Promise((e,t)=>{let a=indexedDB.open(ah,2);a.onupgradeneeded=r=>{oh(a.result,r.oldVersion)},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})}async function nh(){return $o()}async function sh(e){return new Promise((t,a)=>{let n=e.transaction("ids","readonly").objectStore("ids").get(Ml);n.onsuccess=()=>t(typeof n.result=="string"?n.result:null),n.onerror=()=>a(n.error)})}async function ih(e,t){return new Promise((a,r)=>{let s=e.transaction("ids","readwrite").objectStore("ids").put(t,Ml);s.onsuccess=()=>a(),s.onerror=()=>r(s.error)})}async function lh(){if(typeof indexedDB>"u")return null;try{let e=await nh();try{let t=await sh(e);if(t)return t;let a=jo();return await ih(e,a),a}finally{e.close()}}catch{return null}}function uh(){try{let e=localStorage.getItem(Rl);if(e)return e;let t=jo();return localStorage.setItem(Rl,t),t}catch{return null}}async function Fl(){let e=await lh();if(e)return e;let t=uh();return t||(zo||(zo=jo()),zo)}var Bl=50,El=1e3;function Cr(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 Sr(e){if(typeof indexedDB>"u")return null;let t=null;try{return t=await $o(),await e(t)}catch{return null}finally{try{t?.close()}catch{}}}function Xo(e){return new Promise((t,a)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>a(e.error)})}async function Ko(e){return await Sr(async a=>{let n=a.transaction(Be,"readonly").objectStore(Be).index(Lr),i=(await Xo(n.getAll(e))??[]).filter(Cr);return i.sort((l,u)=>l.updatedAt<u.updatedAt?1:-1),i})??[]}async function yr(e){return await Sr(async a=>{let o=a.transaction(Be,"readonly").objectStore(Be),n=await Xo(o.get(e));return Cr(n)?n:null})??null}async function Qo(e){if(!Cr(e))return;let t=e.messages.length>El?{...e,messages:e.messages.slice(e.messages.length-El)}:e;await Sr(async a=>{await new Promise((l,u)=>{let c=a.transaction(Be,"readwrite");c.oncomplete=()=>l(),c.onerror=()=>u(c.error),c.onabort=()=>u(c.error),c.objectStore(Be).put(t)});let r=a.transaction(Be,"readwrite"),o=r.objectStore(Be),n=o.index(Lr),i=(await Xo(n.getAll(t.memoryUserId))??[]).filter(Cr);if(i.length>Bl){i.sort((u,c)=>u.updatedAt<c.updatedAt?-1:1);let l=i.slice(0,i.length-Bl);for(let u of l)o.delete(u.threadId)}return await new Promise((l,u)=>{r.oncomplete=()=>l(),r.onerror=()=>u(r.error),r.onabort=()=>u(r.error)}),null})}async function Dl(e){await Sr(async t=>(await new Promise((a,r)=>{let o=t.transaction(Be,"readwrite");o.oncomplete=()=>a(),o.onerror=()=>r(o.error),o.onabort=()=>r(o.error),o.objectStore(Be).delete(e)}),null))}async function Jo(e){return(await Ko(e))[0]?.threadId??null}function _l(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 Yo="waniwani-visitor-id";function Nl(e,t){return e.match(t)?.[1]??null}function dh(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,r]of t){let o=Nl(e,r);if(o)return{name:a,version:o}}return null}function ch(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,r]of t){let o=Nl(e,r);if(o)return{name:a,version:o.replace(/_/g,".")};if(a==="Linux"&&r.test(e))return{name:a,version:""}}return null}function fh(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"}function ph(){try{if(typeof crypto<"u"){if(typeof crypto.randomUUID=="function")return crypto.randomUUID();if(typeof crypto.getRandomValues=="function"){let e=crypto.getRandomValues(new Uint8Array(16));e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=Array.from(e,a=>a.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}}}catch{}return`v-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}function st(){try{let t=localStorage.getItem(Yo);if(t)return t}catch{}let e=ph();try{localStorage.setItem(Yo,e)}catch{}return e}function Ol(e){let t=typeof e=="string"?e.trim():"";if(!t)return st();try{localStorage.setItem(Yo,t)}catch{}return t}function mh(e){return e!=null&&typeof e.then=="function"}function Ul(e){let t=!1,a=()=>{t=!0};if(e==null)return a;let r;try{r=typeof e=="function"?e():e}catch{return a}return mh(r)?r.then(o=>{t||Ol(o??"")},()=>{}):Ol(r??""),a}async function pa(){let e=navigator.userAgent,t=st(),a=await Fl();return{userAgent:e,browser:dh(e),os:ch(e),deviceType:fh(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 gh="x-session-id",wh=250,xh=200;function Hl(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():$t()}function br(){return new Date().toISOString()}function ql(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}async function Ih(e,t){let a=nt(e,"/tools"),r=await fetch(a,{method:"GET",headers:t?{...t}:void 0});if(!r.ok)throw new Error(`[Waniwani] Failed to fetch /tools: ${r.status} ${r.statusText}`);let o=await r.json();if(!o||!Array.isArray(o.tools))return{};let n={};for(let s of o.tools)s&&typeof s.name=="string"&&(n[s.name]=s);return n}function kr(e){let{api:t="/api/waniwani",headers:a,body:r,onMessageSent:o,onResponseReceived:n,enableThreadHistory:s=!1,activeThreadId:i,onThreadChange:l}=e,u=e.visitorId;Ee(()=>Ul(u),[u]);let c=xr(),d=pe(a),f=pe(r),p=pe(s);Ee(()=>{p.current=s},[s]);let m=pe(void 0),L=pe(null),[I,x]=It(void 0),g=pe(I),[h,w]=It(i),S=pe(h),[v,A]=It([]),[P,E]=It(!s),k=pe(void 0),B=pe(void 0),y=pe(void 0),X=pe(void 0),H=pe(0),R=pe(l);Ee(()=>{R.current=l},[l]);let b=Ce(C=>{S.current=C,w(C),C&&(R.current?.(C),c.emit({name:"thread.changed",sessionId:g.current,properties:{threadId:C}}))},[c]),M=Ce(async()=>{if(!s)return;let C=L.current?.memoryUserId;if(!C)return;let D=await Ko(C);A(D)},[s]),Pe=Ce(()=>g.current,[]),we=Ce(C=>{let D=ql(C);if(!D||g.current===D)return;let _=g.current===void 0;g.current=D,x(D),_&&c.emit({name:"session.started",properties:{sessionId:D}})},[c]),U=Ce(()=>{g.current=void 0,x(void 0)},[]);Ee(()=>{d.current=a},[a]),Ee(()=>{f.current=r},[r]),Ee(()=>{let C=!1,D=H.current;return(async()=>{try{let ee=await pa();if(C)return;L.current=ee}catch{}if(!s)return;let _=L.current?.memoryUserId;if(!_){E(!0);return}try{let ee=i??await Jo(_);if(C||D!==H.current)return;if(ee){let he=await yr(ee);if(C||D!==H.current)return;he&&he.memoryUserId===_&&(S.current=he.threadId,w(he.threadId),k.current=he.createdAt,B.current=he.title,he.sessionId&&(g.current=he.sessionId,x(he.sessionId)),V(he.messages))}await M()}finally{C||E(!0)}})(),()=>{C=!0}},[]);let re=pe(new Ir({api:t,headers:()=>({...d.current}),body:()=>{let C={...f.current??{}},D=Object.hasOwn(C,"sessionId"),_=ql(C.sessionId);if(_)we(_),C.sessionId=_;else if(D)U(),delete C.sessionId;else{let Dr=Pe();Dr&&(C.sessionId=Dr)}Mt(m.current)&&(C.modelContext=m.current);let ee=L.current,he=st();ee&&(C.visitorContext={timezone:ee.timezone,language:ee.language,languages:ee.languages,deviceType:ee.deviceType,referrer:ee.referrer,visitorId:he});let se=typeof C.visitor=="object"&&C.visitor!==null?C.visitor:{},_u=typeof se.client=="object"&&se.client!==null?se.client:{};C.visitor={...se,id:he,client:{..._u,...ee&&{memoryUserId:ee.memoryUserId}}};let Sn=typeof C.extra=="object"&&C.extra!==null&&!Array.isArray(C.extra)?C.extra:void 0,yn=L.current?.memoryUserId,bn=L.current?.language,Ia={};if(yn&&(Ia.memoryUserId=yn),bn&&(Ia.locale=bn),(Object.keys(Ia).length>0||Sn)&&(C.extra={...Ia,...Sn??{}}),p.current)if(Object.hasOwn(C,"threadId"))typeof C.threadId=="string"&&(S.current=C.threadId);else{let La=S.current;La||(La=Hl(),k.current=br(),B.current=void 0,b(La)),C.threadId=La}return C},fetch:(async(C,D)=>{let _=await fetch(C,D);return m.current=void 0,we(_.headers.get(gh)),_})})),oe=pe(null),ye=pe(null),le=pe({}),[j,W]=It(0),Ae=e.skipRemoteConfig===!0,ce=Ce(async()=>{if(!Ae)try{let C=await Ih(t,d.current);le.current=C,W(D=>D+1)}catch(C){console.warn("[Waniwani] Failed to fetch tool definitions:",C instanceof Error?C.message:C)}},[t,Ae]);Ee(()=>{ce()},[ce]);let{messages:K,sendMessage:ue,setMessages:V,status:O}=hh({messages:e.initialMessages,transport:re.current,onFinish({message:C,isAbort:D,isDisconnect:_,isError:ee}){n?.(),!D&&!_&&!ee&&c.emit({name:"message.received"}),oe.current&&(ye.current=C)},onError(C){console.warn("[Waniwani] Chat error:",C.message),c.emit({name:"chat.error",properties:{message:C.message.slice(0,xh)}}),oe.current&&(oe.current.reject(C),oe.current=null)}}),q=pe(K);Ee(()=>{q.current=K},[K]);let N=pe(s);Ee(()=>{if(!s||N.current||(N.current=!0,q.current.length>0))return;let C=!1,D=H.current;return E(!1),(async()=>{try{let _=L.current;if(!_)try{_=await pa(),L.current=_}catch{}let ee=_?.memoryUserId;if(!ee||C||D!==H.current){C||E(!0);return}let he=i??await Jo(ee);if(C||D!==H.current)return;if(he){let se=await yr(he);if(C||D!==H.current)return;se&&se.memoryUserId===ee&&(S.current=se.threadId,w(se.threadId),k.current=se.createdAt,B.current=se.title,se.sessionId&&(g.current=se.sessionId,x(se.sessionId)),V(se.messages))}await M()}finally{C||E(!0)}})(),()=>{C=!0}},[s]),Ee(()=>{if(O==="ready"&&oe.current&&ye.current){let C=oe.current,D=ye.current;oe.current=null,ye.current=null,C.resolve(D)}},[O]);let[ne,Q]=It(""),[xe,be]=It([]),Re=O==="submitted"||O==="streaming",Qe=Ce(C=>{be(D=>D.filter(_=>_.id!==C))},[]),xa=Re&&xe.length>0,F=Ce(C=>{let D=!!C.text?.trim(),_=!!C.files?.length;if(D||_){if(Re){if(xe.length>0)return;be(ee=>[...ee,{id:$t(),text:C.text||"",files:C.files??[],modelContext:C.modelContext}]),Q("");return}m.current=C.modelContext,ue({text:C.text||"",files:C.files}),o?.(C.text||""),c.emit({name:"message.sent"}),Q("")}},[ue,o,Re,xe.length,c]),z=Ce(C=>new Promise((D,_)=>{oe.current={resolve:D,reject:_},ue({text:C}),o?.(C),c.emit({name:"message.sent"})}),[ue,o,c]);Ee(()=>{if(O!=="ready"||xe.length===0)return;let[C,...D]=xe;be(D),m.current=C.modelContext,ue({text:C.text,files:C.files.length>0?C.files:void 0}),o?.(C.text),c.emit({name:"message.sent"})},[O,ue,o,xe,c]);let de=Ce(()=>{V([]),be([]),U(),Q(""),le.current={},W(C=>C+1),ce()},[V,U,ce]),ve=Ce(()=>{if(!p.current)return;let C=L.current?.memoryUserId,D=S.current,_=q.current;if(!(!C||!D||_.length===0)){if(k.current||(k.current=br()),!B.current){let ee=_.find(se=>se.role==="user"),he=ee?ee.parts.map(se=>"text"in se&&typeof se.text=="string"?se.text:"").join(" "):"";B.current=_l(he)}return{threadId:D,memoryUserId:C,title:B.current,messages:_,sessionId:g.current,createdAt:k.current,updatedAt:br()}}},[]),Ve=Ce(async()=>{let C=ve();C&&(await Qo(C),await M())},[ve,M]);Ee(()=>{if(s&&P&&!(O==="submitted"||O==="streaming")&&K.length!==0)return y.current&&clearTimeout(y.current),y.current=setTimeout(()=>{y.current=void 0;let C=Ve().finally(()=>{X.current===C&&(X.current=void 0)});X.current=C},wh),()=>{y.current&&clearTimeout(y.current)}},[s,P,K,O,Ve]);let ze=Ce(()=>{let C=X.current,D=y.current,_=D?ve():void 0;return D&&(clearTimeout(D),y.current=void 0),(async()=>{C&&await C,_&&(await Qo(_),await M())})()},[ve,M]),Br=Ce(()=>{H.current+=1,ze(),V([]),be([]),U(),Q("");let C=Hl();return k.current=br(),B.current=void 0,b(C),M(),C},[V,U,b,M,ze]),Er=Ce(async C=>{H.current+=1;let D=H.current;if(await ze(),D!==H.current)return;let _=await yr(C);D===H.current&&_&&(_.sessionId?(g.current=_.sessionId,x(_.sessionId)):U(),b(_.threadId),k.current=_.createdAt,B.current=_.title,V(_.messages),be([]),Q(""))},[V,U,b,ze]),Fu=Ce(async C=>{if(S.current===C){H.current+=1,y.current&&(clearTimeout(y.current),y.current=void 0);let D=X.current;D&&await D}await Dl(C),await M(),S.current===C&&(V([]),be([]),U(),Q(""),S.current=void 0,w(void 0),k.current=void 0,B.current=void 0)},[V,U,M]);Ee(()=>{s&&P&&i!==void 0&&i!==S.current&&Er(i)},[i,s,P,Er]);let Bu=Ce(C=>{Q(C.target.value)},[]),Ln=K[K.length-1],Cn=K.length>0,Eu=Re&&(!Cn||Ln.role==="user"),Du=le.current;return{messages:K,status:O,text:ne,setText:Q,handleSubmit:F,handleTextChange:Bu,isLoading:Re,showLoaderBubble:Eu,lastMessage:Ln,hasMessages:Cn,sendMessage:ue,sendMessageAndWait:z,reset:de,queuedMessages:xe,queueFull:xa,removeQueuedMessage:Qe,sessionId:I,toolDefinitions:Du,refreshToolDefinitions:ce,threads:v,activeThreadId:h,isThreadHistoryReady:P,startNewThread:Br,switchThread:Er,deleteThread:Fu}}import{useEffect as Wl,useRef as Lh,useState as Ch}from"react";var Sh={debug:!1,eval:!1};function Gl(e="/api/waniwani",t,a=!1){let[r,o]=Ch(Sh),n=Lh(t);return Wl(()=>{n.current=t},[t]),Wl(()=>{a||(async()=>{try{let s=n.current,l=await(await fetch(nt(e,"/config"),{headers:s?{...s}:void 0})).json();o({debug:l.debug===!0,eval:l.eval===!0})}catch{}})()},[e,a]),r}import{useCallback as bh,useEffect as tn,useMemo as an,useRef as kh,useState as $l}from"react";function Ft(e){return e.map(t=>({id:null,text:t}))}function Zo(e){let{flow:t,followup:a,page:r,channel:o}=e;return t!==null?{origin:"flow",suggestions:t}:a?.length?{origin:"followup",suggestions:a}:r?.length?{origin:"page",suggestions:r}:o?.length?{origin:"channel",suggestions:o}:null}var en="waniwani/suggestions";function Bt(e){return typeof e=="object"&&e!==null}function Vl(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function yh(e){if(!Bt(e)||!("toolCallId"in e)||!("output"in e))return null;let t=e.output;if(!Bt(t)||!Bt(t._meta))return null;let a=t._meta[en];return!Bt(a)||!Vl(a.suggestions)?null:a.suggestions}function zl(e){let t=null;for(let a of e.parts){let r=yh(a);r!==null&&(t=r)}return t}function jl(e){for(let t of e.parts){if(!Bt(t)||t.type!=="data-suggestions")continue;let a=t.data;if(Bt(a)&&Vl(a.suggestions)&&a.suggestions.length>0)return a.suggestions}return null}function Th(e){return"page"in e||"channel"in e}function vh(e){return typeof e!="object"||e===null?{}:Th(e)?{rungs:e}:{initial:e.initial}}function Tr(e){let{messages:t,status:a,suggestions:r}=e,o=r!==!1,{rungs:n,initial:s}=vh(r),i=an(()=>({page:null,channel:Ft(s??[])}),[s]),l=n??i,u=an(()=>o?Zo({flow:null,followup:null,...l}):null,[o,l]),c=an(()=>u?.suggestions.map(h=>h.text)??[],[u]),[d,f]=$l(c),[p,m]=$l(u?.origin??"channel"),L=kh(a),I=bh(()=>{f([])},[]),x=t.length>0;tn(()=>{x||(f(c),m(u?.origin??"channel"))},[c,u,x]);let g=t[t.length-1];return tn(()=>{g?.role==="user"&&I()},[g,I]),tn(()=>{let h=L.current;if(L.current=a,h!=="streaming"||a!=="ready"||!o)return;let w=[...t].reverse().find(P=>P.role==="assistant");if(!w)return;let S=zl(w),v=jl(w),A=Zo({flow:S===null?null:Ft(S),followup:v===null?null:Ft(v),page:null,channel:null});f(A?A.suggestions.map(P=>P.text):[]),m(A?.origin??"channel")},[a,o,t]),{suggestions:d,source:p,isLoading:!1,clear:I}}import{useEffect as Ph,useRef as Ah,useState as Rh}from"react";var Mh=80,Fh=50,Bh=15e3,Xl=500;function vr(e,t=!0){let[a,r]=Rh(""),o=Ah(void 0);return Ph(()=>{if(!t){r("");return}let n=0,s=!1,i=!1,l=()=>{i||(s?(n--,r(e.slice(0,n)),n<=0?(s=!1,o.current=setTimeout(l,Xl)):o.current=setTimeout(l,Fh)):(n++,r(e.slice(0,n)),n>=e.length?(s=!0,o.current=setTimeout(l,Bh)):o.current=setTimeout(l,Mh)))};return o.current=setTimeout(l,Xl),()=>{i=!0,clearTimeout(o.current)}},[e,t]),a}function Pr(e,t){let a=t?.Authorization,r=typeof a=="string"&&a.startsWith("Bearer ")?a.slice(7):null;return nt(e,"/resource",r?{token:r}:void 0)}var Kl={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:8,fontFamily:"system-ui, -apple-system, 'Segoe UI', sans-serif",headerBackgroundColor:"#ffffff",headerTextColor:"#1f2937",statusColor:"#22c55e",toolCardColor:"#f4f4f5",userBubbleTextColor:"#1f2937",assistantBubbleTextColor:"#1f2937",messagePaddingX:16,messagePaddingY:12,messageMaxWidth:"80%",fontSize:16,lineHeight:"1.5",glassTint:"transparent",glassTintStrength:"0"},Eh={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",userBubbleTextColor:"#ffffff",assistantBubbleTextColor:"#ececec"},Dh={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"],userBubbleTextColor:["--ww-user-bubble-text"],assistantBubbleTextColor:["--ww-assistant-bubble-text"],messagePaddingX:["--ww-msg-pad-x"],messagePaddingY:["--ww-msg-pad-y"],messageMaxWidth:["--ww-msg-max-width"],fontSize:["--ww-font-size"],lineHeight:["--ww-line-height"],glassTint:["--ww-glass-tint"],glassTintStrength:["--ww-glass-tint-opacity"]};function rn(e){return{...Kl,...e}}function ma(e){let t={};for(let[a,r]of Object.entries(Dh)){let o=e[a];if(o===void 0)continue;let n=typeof o=="number"?`${o}px`:String(o);for(let s of r)t[s]=n}return t}import{jsx as Se,jsxs as ha}from"react/jsx-runtime";var Uh=_h(function(t,a){let{theme:r,title:o="Assistant",width:n,height:s,className:i,allowAttachments:l=!1,welcomeMessage:u,welcome:c,placeholder:d="Ask me anything...",triggerEvent:f="triggerDemoRequest",api:p,debug:m,enableThreadHistory:L=!1,showToolCalls:I=!0}=t,x=p??"/api/waniwani",g=Pr(x,t.headers),h=rn(r),w=ma(r??{}),S=h.backgroundColor.replace("#",""),v=parseInt(S.substring(0,2),16),A=parseInt(S.substring(2,4),16),P=parseInt(S.substring(4,6),16),E=(v*299+A*587+P*114)/1e3<128,k=Gl(x,t.headers,t.skipRemoteConfig),B=m??k.debug,y=kr({...t,api:x}),X=wr({...t,api:x,sessionId:y.sessionId}),H=vr(d,!y.text),[R,b]=Jl(!1),[M,Pe]=Jl(null),we=Ql(null),U=Ql(void 0),re=on(()=>{let j=we.current;if(!j)return;j.scrollIntoView({behavior:"smooth",block:"center"});let W=j.querySelector("textarea");W&&setTimeout(()=>W.focus(),300),b(!0),clearTimeout(U.current),U.current=setTimeout(()=>b(!1),2e3)},[]),oe=Tr({messages:y.messages,status:y.status,suggestions:t.suggestions}),ye=on(j=>{let W=j.content.map(Ae=>Ae.text??"").join("").trim();W&&y.handleSubmit({text:W,files:[],modelContext:j.modelContext})},[y.handleSubmit]),le=on(j=>{oe.clear(),y.handleSubmit({text:j,files:[]})},[oe.clear,y.handleSubmit]);return Nh(a,()=>({sendMessage:j=>{y.handleSubmit({text:j,files:[]}),re()},sendMessageAndWait:j=>y.sendMessageAndWait(j),reset:y.reset,focus:re,get messages(){return y.messages},get sessionId(){return y.sessionId}}),[y.handleSubmit,y.sendMessageAndWait,y.reset,y.messages,y.sessionId,re]),Oh(()=>{if(!f)return;let j=W=>{let Ae=W.detail,ce=typeof Ae?.message=="string"?Ae.message:void 0;ce&&y.handleSubmit({text:ce,files:[]}),re()};return window.addEventListener(f,j),()=>window.removeEventListener(f,j)},[f,y.handleSubmit,re]),ha("div",{ref:we,style:{...w,width:n,height:s},"data-waniwani-chat":"","data-waniwani-layout":"card",...E?{"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",R&&"ww:ring-2 ww:ring-blue-400/70 ww:ring-offset-2 ww:ring-offset-background",i),children:[ha("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:[Se("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:o}),Se(ps,{messages:y.messages,evalEnabled:k.eval,api:x}),L&&Se(gr,{threads:y.threads,activeThreadId:y.activeThreadId,onNewThread:y.startNewThread,onSelectThread:j=>{y.switchThread(j)},onDeleteThread:j=>{y.deleteThread(j)}})]}),ha(Vn,{className:"ww:flex-1 ww:min-h-0 ww:bg-background",children:[Se(zn,{scrollClassName:M?"ww:!relative ww:!overflow-hidden":void 0,children:Se(fr,{messages:y.messages,status:y.status,welcomeMessage:u,welcome:c,onSuggestionSelect:le,resourceEndpoint:g,chatSessionId:y.sessionId,isDark:E,onFollowUp:ye,onCallTool:X,fullscreenToolCallId:M,debug:B,showToolCalls:I,toolDefinitions:y.toolDefinitions,onWidgetDisplayModeChange:(j,W)=>{Pe(j==="fullscreen"?W.toolCallId:null)}})}),Se(jn,{})]}),Se("div",{style:M?{display:"none"}:void 0,children:Se(hr,{suggestions:oe.suggestions,isLoading:oe.isLoading,onSelect:le})}),Se("div",{style:M?{display:"none"}:void 0,children:Se(Ma,{queuedMessages:y.queuedMessages,onRemove:y.removeQueuedMessage})}),Se("div",{style:M?{display:"none"}:void 0,children:Se("div",{className:"ww:shrink-0 ww:px-4 ww:pb-8 ww:pt-2 ww:bg-background",children:ha("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[Se(va,{onSubmit:y.handleSubmit,globalDrop:l,multiple:l,className:"ww:rounded-2xl ww:border-border ww:bg-input",children:ha("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[l&&Se(Ra,{}),Se(Pa,{onChange:y.handleTextChange,value:y.text,placeholder:H,className:"ww:min-h-0 ww:py-1 ww:px-0"}),Se(Aa,{status:y.status,disabled:y.queueFull})]})}),Se(pr,{})]})})})]})});import{forwardRef as Zl,useCallback as Ar,useEffect as Ke,useImperativeHandle as qh,useRef as Lt,useState as Rr}from"react";import{jsx as Hh}from"react/jsx-runtime";function Yl({text:e}){let{t}=G();return e===!1?null:Hh("span",{className:"ww:whitespace-nowrap ww:text-[10px] ww:sm:text-[11px] ww:text-muted-foreground ww:opacity-70",children:e||t.aiDisclaimer.default})}import{jsx as me,jsxs as it}from"react/jsx-runtime";var nn=Zl(function(t,a){let{locale:r,messages:o}=t;return me(Vr,{locale:r,messages:o,children:me(Wh,{...t,ref:a})})}),Wh=Zl(function(t,a){let{t:r,ready:o}=G(),{appearance:n,className:s,classNames:i,allowAttachments:l=!1,welcomeMessage:u,welcome:c,placeholder:d=r.promptInput.placeholder,triggerEvent:f="triggerDemoRequest",api:p,mcp:m,debug:L=!1,readOnly:I=!1,title:x,headerActions:g,hideHeader:h=!1,enableThreadHistory:w=!1,showToolCalls:S=!0,initializing:v=!1,onScreen:A=!0,disclaimer:P}=t,E=n?.theme,k=n?.variables,B=n?.assistantBubble??!1,y=k?ma(k):{},[X,H]=Rr(!1);Ke(()=>{if(E!=="auto"||typeof window>"u")return;let F=window.matchMedia("(prefers-color-scheme: dark)");H(F.matches);let z=()=>H(F.matches);return F.addEventListener("change",z),()=>F.removeEventListener("change",z)},[E]);let R=E==="dark"||E==="auto"&&X,b=kr({...t,api:p}),M=xr(),Pe=wr({...t,api:p,sessionId:b.sessionId,onCallTool:m?.onCallTool}),we=m?.resourceEndpoint??Pr(p,t.headers),U=vr(d,!b.text),[re,oe]=Rr(null),[ye,le]=Rr(null),j=Lt(null),W=Lt(null),Ae=Lt(null),ce=Lt(null),[K,ue]=Rr(!0),V=Lt(K);V.current=K;let O=Ar(()=>{let F=j.current;if(!F)return;let z=F.querySelector("textarea");z&&z.focus()},[]),q=Ar((F="smooth")=>{let z=W.current;z&&z.scrollTo({top:z.scrollHeight,behavior:F})},[]);Ke(()=>{let F=ce.current,z=W.current;if(!F||!z)return;let de=new IntersectionObserver(([ve])=>ue(ve.isIntersecting),{root:z,rootMargin:"0px 0px 200px 0px",threshold:0});return de.observe(F),()=>de.disconnect()},[]),Ke(()=>{let F=W.current;if(!F)return;let z=de=>{let Ve=(de.target instanceof Element?de.target:null)?.closest("a");Ve?.href&&M.emit({name:"link.clicked",properties:{url:Ve.href}})};return F.addEventListener("click",z),()=>F.removeEventListener("click",z)},[M]),Ke(()=>{(b.messages[b.messages.length-1]?.role==="user"||V.current)&&q("smooth")},[b.messages.length,b.messages[b.messages.length-1]]),Ke(()=>{q("auto")},[q]),Ke(()=>{if(typeof ResizeObserver>"u")return;let F=W.current,z=Ae.current;if(!F&&!z)return;let de=F?.scrollHeight??0,ve=F?.clientHeight??0,Ve=new ResizeObserver(()=>{let ze=W.current;if(!ze)return;let Br=ze.scrollTop+ve>=de-5;de=ze.scrollHeight,ve=ze.clientHeight,Br&&q("auto")});return F&&Ve.observe(F),z&&Ve.observe(z),()=>Ve.disconnect()},[q]);let N=Tr({messages:b.messages,status:b.status,suggestions:t.suggestions}),ne=Lt(null);Ke(()=>{let F=N.suggestions;!A||F.length===0||ne.current===F||(ne.current=F,M.emit({name:"suggestions.shown",properties:{texts:F,origin:N.source}}))},[N.suggestions,N.source,M,A]);let Q=c?.suggestions,xe=Lt(null);Ke(()=>{!A||b.messages.length>0||!Q?.length||xe.current===Q||(xe.current=Q,M.emit({name:"suggestions.shown",properties:{texts:Q,origin:"channel"}}))},[Q,b.messages.length,M,A]);let be=Ar(F=>{let z=F.content.map(de=>de.text??"").join("").trim();z&&b.handleSubmit({text:z,files:[],modelContext:F.modelContext})},[b.handleSubmit]),Re=Ar(F=>{let z=N.suggestions.indexOf(F),de=z>=0?z:c?.suggestions?.indexOf(F)??-1,ve=z>=0?N.source:"channel";M.emit({name:"suggestion.clicked",properties:{text:F,index:de,origin:ve}}),N.clear(),b.handleSubmit({text:F,files:[]})},[N.suggestions,N.source,N.clear,b.handleSubmit,c,M]);qh(a,()=>({sendMessage:F=>{b.handleSubmit({text:F,files:[]}),O()},sendMessageAndWait:F=>b.sendMessageAndWait(F),reset:b.reset,focus:O,get messages(){return b.messages},get sessionId(){return b.sessionId}}),[b.handleSubmit,b.sendMessageAndWait,b.reset,b.messages,b.sessionId,O]),Ke(()=>{if(!f)return;let F=z=>{let de=z.detail,ve=typeof de?.message=="string"?de.message:void 0;ve&&b.handleSubmit({text:ve,files:[]}),O()};return window.addEventListener(f,F),()=>window.removeEventListener(f,F)},[f,b.handleSubmit,O]);let Qe=!h&&!!(x||w||g),xa=v||!o;return it("div",{ref:j,style:{...y,maxHeight:"inherit",...re&&ye?{height:ye}:{},opacity:xa?0:1,transition:"opacity 220ms ease-out"},"data-waniwani-chat":"","data-waniwani-layout":"embed","data-assistant-bubble":B?"true":void 0,"data-color-scheme":E==="auto"?"auto":void 0,...xa?{"data-waniwani-initializing":""}:{},...R?{"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",E==="dark"&&"dark",s,i?.root),children:[Qe&&it("div",{className:T("ww-header ww:shrink-0 ww:flex ww:items-center ww:gap-2 ww:pl-4 ww:pr-3 ww:py-3 ww:border-b ww:border-border",i?.header),style:{backgroundColor:"var(--ww-color-card-header)",color:"var(--ww-color-card-header-foreground)"},children:[x&&me("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:x}),!x&&me("div",{className:"ww:flex-1"}),w&&me(gr,{threads:b.threads,activeThreadId:b.activeThreadId,onNewThread:b.startNewThread,onSelectThread:F=>{b.switchThread(F)},onDeleteThread:F=>{b.deleteThread(F)}}),g]}),it("div",{ref:W,className:T("ww:relative ww:flex-1 ww:min-h-0",re?"ww:overflow-hidden":"ww:overflow-y-auto"),children:[it("div",{ref:Ae,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",re&&"ww:!py-0"),children:[me(fr,{messages:b.messages,status:b.status,welcomeMessage:u,welcome:c,onSuggestionSelect:Re,resourceEndpoint:we,chatSessionId:b.sessionId,isDark:R,onFollowUp:be,onCallTool:Pe,fullscreenToolCallId:re,debug:L,showToolCalls:S,toolDefinitions:b.toolDefinitions,messageClassNames:{message:i?.message,userBubble:i?.userBubble,assistantBubble:i?.assistantBubble},onWidgetDisplayModeChange:(F,z)=>{if(F==="fullscreen"){let de=j.current?.getBoundingClientRect().height??0;le(de>0?de:null),oe(z.toolCallId)}else le(null),oe(null)}}),me("div",{ref:ce,"aria-hidden":!0,style:{height:1}})]}),!K&&!re&&me("div",{className:"ww:sticky ww:bottom-2 ww:flex ww:justify-center ww:pointer-events-none",children:me(De,{type:"button",onClick:()=>q("smooth"),size:"icon",variant:"outline",className:"ww:rounded-full ww:shadow ww:pointer-events-auto","aria-label":"Scroll to latest",children:me(lt,{className:"ww:size-4"})})})]}),!I&&it("div",{className:"ww:shrink-0 ww:bg-background",style:re?{display:"none"}:void 0,children:[me(hr,{suggestions:N.suggestions,isLoading:N.isLoading,onSelect:Re}),me(Ma,{queuedMessages:b.queuedMessages,onRemove:b.removeQueuedMessage}),me("div",{className:"ww:px-4 ww:pb-2 ww:pt-2",children:it("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[me(va,{onSubmit:b.handleSubmit,globalDrop:l,multiple:l,className:T("ww-input ww:rounded-2xl ww:border-border ww:bg-input",i?.input),children:it("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[l&&me(Ra,{}),me(Pa,{onChange:b.handleTextChange,value:b.text,placeholder:U,className:"ww:min-h-0 ww:py-1 ww:px-0"}),me(Aa,{status:b.status,disabled:b.queueFull})]})}),it("div",{className:"ww:pt-2 ww:pb-1 ww:flex ww:flex-nowrap ww:justify-center ww:items-center ww:gap-1.5",children:[me(pr,{}),me(Yl,{text:P})]})]})})]})]})});import{forwardRef as _g,useEffect as Fr,useImperativeHandle as Og,useMemo as xn,useRef as In,useState as Au}from"react";var Gh="https://app.waniwani.ai/api/mcp/chat",Vh={api:Gh};function zh(){if(typeof document>"u")return null;if(document.currentScript instanceof HTMLScriptElement)return document.currentScript;let e=document.querySelector("script[src][data-token]");if(e instanceof HTMLScriptElement)return e;let t=document.querySelectorAll("script[src]");for(let a of t)if(a instanceof HTMLScriptElement&&/embed/i.test(a.src))return a;return null}function jh(){let e=zh();if(!e)return{};let t=k=>e.getAttribute(k)??void 0,a=k=>{let B=e.getAttribute(k);if(B==null)return;let y=B.trim().toLowerCase();if(y==="true"||y==="1"||y==="")return!0;if(y==="false"||y==="0")return!1},r={},o=t("data-api");o&&(r.api=o);let n=t("data-token");n&&(r.token=n);let s=t("data-visitor-id");s&&(r.visitorId=s);let i=t("data-title");i&&(r.title=i);let l=t("data-welcome-message");l&&(r.welcomeMessage=l);let u=t("data-placeholder");u&&(r.placeholder=u);let c=t("data-mcp-server-url");c&&(r.mcpServerUrl=c);let d=t("data-channel-id");if(d&&(r.channelId=d),t("data-show-tool-calls")?.trim().toLowerCase()==="titles-only")r.showToolCalls="titles-only";else{let k=a("data-show-tool-calls");k!==void 0&&(r.showToolCalls=k)}let p=t("data-css");p&&(r.css=p);let m=t("data-suggestions");m&&(r.suggestions=m.split(",").map(k=>k.trim()).filter(Boolean));let L=a("data-enable-thread-history");L!==void 0&&(r.enableThreadHistory=L);let I=a("data-disable-page-view");I!==void 0&&(r.disablePageView=I);let x=a("data-hide-header");x!==void 0&&(r.hideHeader=x);let g=t("data-theme");(g==="light"||g==="dark"||g==="auto")&&(r.appearance={...r.appearance,theme:g});let h=a("data-assistant-bubble");h!==void 0&&(r.appearance={...r.appearance,assistantBubble:h});let w=t("data-locale");(w==="en"||w==="fr"||w==="es")&&(r.locale=w);let S=t("data-mode");(S==="inline"||S==="floating")&&(r.mode=S);let v=t("data-height");v&&(r.height=v);let A=t("data-launcher-text");A&&(r.launcherText=A);let P=t("data-appear-delay");if(P!==void 0){let k=Number.parseInt(P.trim(),10);Number.isFinite(k)&&k>=0&&(r.appearDelay=k)}let E=t("data-disclaimer");if(E!==void 0){let k=E.trim(),B=k.toLowerCase();B==="false"||B==="0"?r.disclaimer=!1:k&&(r.disclaimer=k)}return r}function sn(e){if(!e)return{};let t={};for(let a in e)e[a]!==void 0&&(t[a]=e[a]);return t}function ln(e,t,a){let r=a??jh(),o=$h(t,r,e),n={token:"",...Vh,...sn(t),...sn(r),...sn(e),...o?{appearance:o}:{}};if(!n.token)throw new Error("[Waniwani] Missing required config: `token`. Set data-token on the script tag or pass it to Waniwani.chat.init().");return n}function $h(e,t,a){let r=a?.appearance?.theme??t.appearance?.theme??e?.appearance?.theme,o={...e?.appearance?.variables??{},...t.appearance?.variables??{},...a?.appearance?.variables??{}},n=Object.keys(o).length>0,s=a?.appearance?.assistantBubble??t.appearance?.assistantBubble??e?.appearance?.assistantBubble;if(!r&&!n&&s===void 0)return;let i={};return r&&(i.theme=r),n&&(i.variables=o),s!==void 0&&(i.assistantBubble=s),i}import{useEffect as vk,useState as Pk}from"react";function Xh(){if(typeof window>"u")return!1;try{return window.WANIWANI_DEBUG?!0:!!window.localStorage?.getItem("WANIWANI_DEBUG")}catch{return!1}}function ga(...e){Xh()&&console.log("[Waniwani]",...e)}var un=new Set;function Kh(e,t,a){return`${e}|${t}|${a??""}`}function wa(e){try{return`${new URL(e).origin}/api/mcp/events/v2/batch`}catch{return e.replace(/\/$/,"").replace(/\/chat$/,"/events/v2/batch")}}async function dn(e){let{api:t,token:a,channelId:r,mode:o,source:n}=e;if(typeof window>"u"||!t||!a)return;let s=Kh(t,a,r);if(!un.has(s)){un.add(s);try{let i=await pa(),l=new Date().toISOString(),u=JSON.stringify({sentAt:l,source:{sdk:"@waniwani/sdk",version:"0.1.0"},events:[{id:crypto.randomUUID(),type:"mcp.event",name:"page.viewed",source:n,timestamp:l,correlation:{visitorId:i.visitorId},properties:{channelId:r,mode:o,url:window.location.href,referrer:i.referrer,deviceType:i.deviceType,language:i.language,timezone:i.timezone},metadata:{}}]});await fetch(wa(t),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:u,keepalive:!0})}catch{un.delete(s)}}}import{useMemo as ng}from"react";import{useEffect as Zh,useSyncExternalStore as eg}from"react";function Qh(e){return e?.patterns??e?.rules??[]}var eu="\0\0";function Jh(e){let a=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\\\*\\\*/g,eu).replace(/\\\*/g,"[^/]*").split(eu).join(".*");return new RegExp(`^${a}$`)}function Yh(e,t){try{return Jh(e).test(t)}catch{return!1}}function tu(e,t){if(!e)return!0;let a=!1;for(let r of Qh(e))if(Yh(r.glob,t)){if(r.action==="hide")return!1;a=!0}return a?!0:(e.default??"show")!=="hide"}var cn="waniwani:locationchange",au=!1;function tg(){if(!(au||typeof history>"u")){au=!0;for(let e of["pushState","replaceState"]){let t=history[e];history[e]=function(...r){let o=t.apply(this,r);return window.dispatchEvent(new Event(cn)),o}}}}function ag(e){return tg(),window.addEventListener(cn,e),window.addEventListener("popstate",e),()=>{window.removeEventListener(cn,e),window.removeEventListener("popstate",e)}}function rg(){return window.location.pathname}function og(){return"/"}function fn(){return eg(ag,rg,og)}function ru(e,t){let a=fn(),r=t&&tu(e,a);return Zh(()=>{ga("visibility gate",{pathname:a,ready:t,visible:r,rules:e})},[a,t,r]),r}var sg=3,ig=["low","medium","high"];function pn(e){if(e.length===0)return;let t=Math.floor(Math.random()*e.length),[a]=e.splice(t,1);return a}function lg(e){let t=new Map,a=[];for(let n of e)if(n.tier){let s=t.get(n.tier)??[];s.push(n),t.set(n.tier,s)}else a.push(n);let r=[];for(let n of ig){let s=pn(t.get(n)??[])??pn(a);s&&r.push(s)}let o=[...t.values()].flat().concat(a);for(;r.length<Math.min(sg,e.length);){let n=pn(o);if(!n)break;r.push(n)}return r}function ou(e){let t;try{t=new URL(e,"http://localhost").pathname}catch{t="/"}let a=t.replace(/\/+$/,"");return(a===""?"/":a).toLowerCase()}function nu(e){return Array.isArray(e)?e.flatMap(t=>{let a=t;if(typeof a?.url!="string"||a.url.length===0||!Array.isArray(a.prompts))return[];let r=a.prompts.flatMap(o=>{let n=o;return typeof n?.text!="string"||n.text.length===0?[]:[{id:typeof n.id=="string"?n.id:null,text:n.text,tier:n.tier==="low"||n.tier==="medium"||n.tier==="high"?n.tier:void 0}]});return r.length>0?[{url:a.url,prompts:r}]:[]}):[]}function su(e){let{pageSuggestions:t,suggestions:a}=e,r=fn();return ng(()=>{let o=ou(r),n=t?.find(i=>ou(i.url)===o),s=n?lg(n.prompts).map(({id:i,text:l})=>({id:i,text:l})):null;return ga("configured suggestions resolve",{pathname:o,matched:!!n,count:s?.length??0}),{page:s,channel:Ft(a??[])}},[r,t,a])}var ug="waniwani:config:";function iu(e,t,a){return`${ug}${e}|${t}|${a??""}`}function mn(e,t,a){if(typeof window>"u")return null;try{let r=window.sessionStorage.getItem(iu(e,t,a));if(!r)return null;let o=JSON.parse(r);return o&&typeof o=="object"?o:null}catch{return null}}function lu(e,t,a,r){if(!(typeof window>"u"))try{window.sessionStorage.setItem(iu(e,t,a),JSON.stringify(r))}catch{}}async function uu(e,t,a,r){try{let o=nt(e,"/config",r?{channel:r}:void 0),n=await fetch(o,{method:"GET",headers:{Authorization:`Bearer ${t}`},signal:a});if(!n.ok)return{};let s=await n.json(),i=s&&typeof s=="object"&&"data"in s&&s.data?s.data:s;return i?dg(i):{}}catch{return{}}}function dg(e){let t={};e.source!=null&&(t.source=e.source),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);let a=nu(e.pageSuggestions);return a.length>0&&(t.pageSuggestions=a),typeof e.enableThreadHistory=="boolean"&&(t.enableThreadHistory=e.enableThreadHistory),e.toolCallDisplay==="full"?t.showToolCalls=!0:e.toolCallDisplay==="titles-only"?t.showToolCalls="titles-only":e.toolCallDisplay==="hidden"&&(t.showToolCalls=!1),e.visibility&&(t.visibility=e.visibility),t}import{useEffect as cg,useRef as fg}from"react";function hn(e,t){return e.find(a=>a.text===t)?.id??null}async function du(e){let{api:t,token:a,name:r,source:o,sessionId:n,properties:s}=e;if(!(typeof window>"u"||!t||!a))try{let i=new Date().toISOString(),l=JSON.stringify({sentAt:i,source:{sdk:"@waniwani/sdk",version:"0.1.0"},events:[{id:crypto.randomUUID(),type:"mcp.event",name:r,source:o,timestamp:i,correlation:{visitorId:st(),sessionId:n},properties:{...s,url:window.location.href},metadata:{}}]});await fetch(wa(t),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:l,keepalive:!0})}catch{}}async function cu(e){let{api:t,token:a,channelId:r,mode:o,source:n,sessionId:s,promptId:i,origin:l,text:u,index:c}=e;await du({api:t,token:a,name:"suggestion.clicked",source:n,sessionId:s,properties:{promptId:i,origin:l,text:u,index:c,channelId:r,mode:o}})}function fu(e,t){return t.map(a=>({id:hn(e,a),text:a}))}async function pu(e){let{api:t,token:a,channelId:r,mode:o,source:n,sessionId:s,prompts:i,origin:l}=e;i.length!==0&&await du({api:t,token:a,name:"suggestion.shown",source:n,sessionId:s,properties:{prompts:i,count:i.length,origin:l,channelId:r,mode:o}})}function mu(e){let{widgetEvents:t,api:a,token:r,channelId:o,source:n,mode:s,pagePrompts:i}=e,l=fg(e.getSessionId);l.current=e.getSessionId,cg(()=>{if(!(!a||!r))return t.subscribe(u=>{if(u.name==="suggestion.clicked"){let{text:c,origin:d,index:f}=u.properties;cu({api:a,token:r,channelId:o,mode:s,source:n,sessionId:l.current(),promptId:hn(i??[],c),origin:d,text:c,index:f});return}if(u.name==="suggestions.shown"){let{texts:c,origin:d}=u.properties;pu({api:a,token:r,channelId:o,mode:s,source:n,sessionId:l.current(),prompts:fu(i??[],c),origin:d})}})},[t,a,r,o,n,s,i])}function Et(e,t){for(let a of t){let r=e[a];if(typeof r=="string"&&r.length>0)return r}}var pg=["waniwani/sessionId","openai/sessionId","openai/session","sessionId","conversationId","mcp-session-id"],mg=["waniwani/requestId","openai/requestId","requestId","mcp/requestId"],hg=["waniwani/traceId","openai/traceId","traceId","mcp/traceId","openai/requestId","requestId"],gg=["waniwani/userId","openai/userId","externalUserId","userId","actorId"],wg=["waniwani/visitorId","visitorId"],xg=["correlationId","openai/requestId"];function hu(e){return e?Et(e,pg):void 0}function gu(e){return e?Et(e,mg):void 0}function wu(e){return e?Et(e,hg):void 0}function xu(e){return e?Et(e,gg):void 0}function Iu(e){return e?Et(e,wg):void 0}function Lu(e){return e?Et(e,xg):void 0}var Ig=[{key:"openai/sessionId",source:"chatgpt"},{key:"openai/session",source:"chatgpt"}],Lg=[{needle:"claude",source:"claude"},{needle:"chatgpt",source:"chatgpt"},{needle:"openai",source:"chatgpt"},{needle:"gemini",source:"gemini"}];function Cu(e,t){if(e){let r=e["waniwani/source"];if(typeof r=="string"&&r.length>0)return r;for(let{key:o,source:n}of Ig){let s=e[o];if(typeof s=="string"&&s.length>0)return n}}let a=t?.name;if(typeof a=="string"&&a.length>0){let r=a.toLowerCase();for(let{needle:o,source:n}of Lg)if(r.includes(o))return n}}var Cg="@waniwani/sdk";function Su(e,t={}){let a=t.now??(()=>new Date),r=t.generateId??Sg,o=kg(e),n=Mr(e.meta),s=Mr(e.metadata),i=Tg(e,n),l=He(e.eventId)??r(),u=vg(e.timestamp,a),c=He(e.source)??Cu(n)??t.source??Cg,d=gn(e)?{...e}:void 0,f={...s};return Object.keys(n).length>0&&(f.meta=n),d&&(f.rawLegacy=d),{id:l,type:"mcp.event",name:o,source:c,timestamp:u,correlation:i,properties:yg(e,o),metadata:f,rawLegacy:d}}function Sg(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?`evt_${crypto.randomUUID()}`:`evt_${Math.random().toString(36).slice(2,10)}_${Date.now().toString(36)}`}function yg(e,t){if(!gn(e))return Mr(e.properties);let a=bg(e,t),r=Mr(e.properties);return{...a,...r}}function bg(e,t){switch(t){case"tool.called":{let a={};return He(e.toolName)&&(a.name=e.toolName),He(e.toolType)&&(a.type=e.toolType),a}case"link.clicked":{let a={};return He(e.linkUrl)&&(a.url=e.linkUrl),a}default:return{}}}function kg(e){return gn(e)?e.eventType:e.event}function Tg(e,t){let a=He(e.requestId)??gu(t),r=He(e.sessionId)??hu(t),o=He(e.traceId)??wu(t),n=He(e.externalUserId)??xu(t),s=He(e.visitorId)??Iu(t),i=He(e.correlationId)??Lu(t)??a,l={};return r&&(l.sessionId=r),o&&(l.traceId=o),a&&(l.requestId=a),i&&(l.correlationId=i),n&&(l.externalUserId=n),s&&(l.visitorId=s),l}function vg(e,t){if(e instanceof Date)return e.toISOString();if(typeof e=="string"){let a=new Date(e);if(!Number.isNaN(a.getTime()))return a.toISOString()}return t().toISOString()}function Mr(e){return!e||typeof e!="object"||Array.isArray(e)?{}:e}function He(e){if(typeof e=="string"&&e.trim().length!==0)return e}function gn(e){return"eventType"in e}function yu(e){return{priceShown:({amount:t,currency:a,itemId:r,label:o,...n})=>e({event:"price_shown",properties:{amount:t,currency:a,itemId:r,label:o},...n}),pricesCompared:({options:t,...a})=>e({event:"prices_compared",properties:{options:t},...a}),optionSelected:({id:t,amount:a,currency:r,...o})=>e({event:"option_selected",properties:{id:t,amount:a,currency:r},...o}),leadQualified:t=>{let{externalId:a,email:r,name:o,...n}=t??{};return e({event:"lead_qualified",properties:{externalId:a,email:r,name:o},...n})},converted:({amount:t,currency:a,occurredAt:r,...o})=>e({event:"converted",properties:{amount:t,currency:a,occurredAt:r},...o})}}var Pg="/api/mcp/events/v2/batch";var bu="@waniwani/sdk";var Ag=new Set([401,403]),Rg=new Set([408,425,429,500,502,503,504]);function ku(e){return new wn(e)}var wn=class{endpointUrl;flushIntervalMs;maxBatchSize;maxBufferSize;maxRetries;retryBaseDelayMs;retryMaxDelayMs;shutdownTimeoutMs;sdkVersion;fetchFn;logger;now;sleep;apiKey;buffer=[];flushTimer;flushScheduled=!1;flushScheduledTimer;flushInFlight;inFlightCount=0;isStopped=!1;isShuttingDown=!1;constructor(t){this.endpointUrl=Bg(t.apiUrl,t.endpointPath??Pg),this.flushIntervalMs=t.flushIntervalMs??1e3,this.maxBatchSize=t.maxBatchSize??20,this.maxBufferSize=t.maxBufferSize??1e3,this.maxRetries=t.maxRetries??3,this.retryBaseDelayMs=t.retryBaseDelayMs??200,this.retryMaxDelayMs=t.retryMaxDelayMs??2e3,this.shutdownTimeoutMs=t.shutdownTimeoutMs??2e3,this.fetchFn=t.fetchFn??fetch,this.logger=t.logger??console,this.now=t.now??(()=>new Date),this.sleep=t.sleep??(a=>new Promise(r=>setTimeout(r,a))),this.apiKey=t.apiKey,this.sdkVersion=t.sdkVersion,this.flushIntervalMs>0&&(this.flushTimer=setInterval(()=>{this.flush()},this.flushIntervalMs)),this.registerBrowserTeardown()}enqueue(t){if(this.isStopped||this.isShuttingDown){this.logger.warn("[Waniwani] Tracking transport is stopped, dropping event %s",t.id);return}if(this.buffer.length>=this.maxBufferSize){let a=this.buffer.length-this.maxBufferSize+1;this.buffer.splice(0,a),this.logger.warn("[Waniwani] Tracking buffer overflow, dropped %d oldest event(s)",a)}if(this.buffer.push(t),this.buffer.length>=this.maxBatchSize){this.flush();return}this.scheduleMicroFlush()}pendingEvents(){return this.buffer.length+this.inFlightCount}async flush(){return this.flushInFlight?this.flushInFlight:(this.flushInFlight=this.flushLoop().finally(()=>{this.flushInFlight=void 0}),this.flushInFlight)}async shutdown(t){this.isShuttingDown=!0,this.flushTimer&&(clearInterval(this.flushTimer),this.flushTimer=void 0),this.flushScheduledTimer&&(clearTimeout(this.flushScheduledTimer),this.flushScheduledTimer=void 0,this.flushScheduled=!1);let a=t?.timeoutMs??this.shutdownTimeoutMs,r=this.flush();if(!Number.isFinite(a)||a<=0)return await r,this.isStopped=!0,{timedOut:!1,pendingEvents:this.pendingEvents()};let o=Symbol("shutdown-timeout");return await Promise.race([r.then(()=>"flushed"),this.sleep(a).then(()=>o)])===o?(this.isStopped=!0,{timedOut:!0,pendingEvents:this.pendingEvents()}):(this.isStopped=!0,{timedOut:!1,pendingEvents:this.pendingEvents()})}registerBrowserTeardown(){if(typeof document>"u"||typeof window>"u")return;let t=()=>{document.visibilityState==="hidden"&&this.keepaliveFlush()};document.addEventListener("visibilitychange",t),window.addEventListener("pagehide",()=>this.keepaliveFlush())}keepaliveFlush(){if(this.isStopped||this.buffer.length===0)return;let t=this.buffer.splice(0,this.buffer.length);this.sendKeepaliveChunk(t)}sendKeepaliveChunk(t){let a=JSON.stringify(this.makeBatchRequest(t));if(a.length>6e4&&t.length>1){let r=Math.ceil(t.length/2);this.sendKeepaliveChunk(t.slice(0,r)),this.sendKeepaliveChunk(t.slice(r));return}try{this.fetchFn(this.endpointUrl,{method:"POST",headers:this.requestHeaders(),body:a,keepalive:!0}).catch(()=>{})}catch{}}requestHeaders(){let t={"Content-Type":"application/json","X-WaniWani-SDK":bu};return this.apiKey&&(t.Authorization=`Bearer ${this.apiKey}`),t}scheduleMicroFlush(){this.flushScheduled||(this.flushScheduled=!0,this.flushScheduledTimer=setTimeout(()=>{this.flushScheduledTimer=void 0,this.flushScheduled=!1,this.flush()},0))}async flushLoop(){for(;this.buffer.length>0&&!this.isStopped;){let t=this.buffer.splice(0,this.maxBatchSize);await this.sendBatchWithRetry(t)}}async sendBatchWithRetry(t){let a=0,r=t;for(;r.length>0&&!this.isStopped;){this.inFlightCount=r.length;let o=await this.sendBatchOnce(r);switch(this.inFlightCount=0,o.kind){case"success":return;case"auth":this.stopTransportForAuthFailure(o.status,r.length);return;case"permanent":this.logger.error("[Waniwani] Dropping %d event(s) after permanent failure: %s",r.length,o.reason);return;case"retryable":if(a>=this.maxRetries){this.logger.error("[Waniwani] Dropping %d event(s) after retry exhaustion: %s",r.length,o.reason);return}await this.sleep(this.backoffDelayMs(a)),a+=1;continue;case"partial":if(o.permanent.length>0&&this.logger.error("[Waniwani] Dropping %d event(s) rejected as permanent",o.permanent.length),o.retryable.length===0)return;if(a>=this.maxRetries){this.logger.error("[Waniwani] Dropping %d retryable event(s) after retry exhaustion",o.retryable.length);return}r=o.retryable,await this.sleep(this.backoffDelayMs(a)),a+=1;continue}}}async sendBatchOnce(t){let a;try{a=await this.fetchFn(this.endpointUrl,{method:"POST",headers:this.requestHeaders(),body:JSON.stringify(this.makeBatchRequest(t))})}catch(n){return{kind:"retryable",reason:Eg(n)}}if(Ag.has(a.status))return{kind:"auth",status:a.status};if(Rg.has(a.status))return{kind:"retryable",reason:`HTTP ${a.status}`};if(!a.ok)return{kind:"permanent",reason:`HTTP ${a.status}`};let r=await Fg(a);if(!r?.rejected||r.rejected.length===0)return{kind:"success"};let o=this.classifyRejectedEvents(t,r.rejected);return o.retryable.length===0&&o.permanent.length===0?{kind:"success"}:{kind:"partial",retryable:o.retryable,permanent:o.permanent}}makeBatchRequest(t){return{sentAt:this.now().toISOString(),source:{sdk:bu,version:this.sdkVersion??"0.0.0"},events:t}}classifyRejectedEvents(t,a){let r=new Map(t.map(s=>[s.id,s])),o=[],n=[];for(let s of a){let i=r.get(s.eventId);if(i){if(Mg(s)){o.push(i);continue}n.push(i)}}return{retryable:o,permanent:n}}backoffDelayMs(t){let a=this.retryBaseDelayMs*2**t;return Math.min(a,this.retryMaxDelayMs)}stopTransportForAuthFailure(t,a){this.isStopped=!0;let r=this.buffer.length;this.buffer.splice(0,r),this.logger.error("[Waniwani] Auth failure (HTTP %d). Stopping tracking transport and dropping %d queued event(s)",t,a+r)}};function Mg(e){if(e.retryable===!0)return!0;let t=e.code.toLowerCase();return t.includes("timeout")||t.includes("temporary")||t.includes("unavailable")||t.includes("rate_limit")||t.includes("transient")||t.includes("server")}async function Fg(e){let t=await e.text();if(t)try{return JSON.parse(t)}catch{return}}function Bg(e,t){let a=e.endsWith("/")?e:`${e}/`,r=t.startsWith("/")?t.slice(1):t;return`${a}${r}`}function Eg(e){return e instanceof Error?e.message:String(e)}function Tu(e){let{apiUrl:t,endpointPath:a}=Dg(e.endpoint),r=ku({apiUrl:t,apiKey:e.token,endpointPath:a,flushIntervalMs:e.flushIntervalMs}),o,n=i=>typeof i=="function"?i():i,s=async i=>{let l=e.identity?.()??{},u=n(e.channelId),c=u===void 0?i.properties:{channelId:u,...i.properties},d=Su({sessionId:l.sessionId,visitorId:l.visitorId,externalUserId:l.externalUserId??o,traceId:l.traceId,...i,properties:c,metadata:{...e.metadata,...i.metadata}},{source:n(e.source)});return r.enqueue(d),{eventId:d.id}};return{track:Object.assign(s,yu(s)),identify(i,l){return o=i,s({event:"user.identified",externalUserId:i,properties:l})},flush:()=>r.flush(),shutdown:i=>r.shutdown(i)}}function Dg(e){let t=new URL(e);return{apiUrl:t.origin,endpointPath:`${t.pathname}${t.search}`}}function vu(e){return Tu({endpoint:wa(e.api),token:e.token,channelId:e.channelId,source:e.getSource,identity:()=>({sessionId:e.getSessionId(),visitorId:st()})})}function Pu(e){let t=!1,a=async()=>(t||(t=!0,console.warn(`[Waniwani] track() is disabled: ${e}`)),{eventId:""});return{track:Object.assign(a,{priceShown:a,pricesCompared:a,optionSelected:a,leadQualified:a,converted:a}),identify:a,flush:async()=>{},shutdown:async()=>({timedOut:!1,pendingEvents:0})}}import{jsx as Mu}from"react/jsx-runtime";var Ng=600,Ru="https://app.waniwani.ai/api/mcp/chat",Ug=_g(function(t,a){let{token:r,channelId:o,className:n,visitorId:s,overrides:i,onEvent:l}=t,u=In(null),c=In(null),d=xn(()=>Tl({mode:"inline",getSessionId:()=>u.current?.sessionId}),[]);Fr(()=>{if(l)return d.subscribe(l)},[l,d]);let f=xn(()=>({token:r,channelId:o,api:i?.api,mcpServerUrl:i?.mcpServerUrl,title:i?.title,hideHeader:i?.hideHeader,welcomeMessage:i?.welcomeMessage,placeholder:i?.placeholder,suggestions:i?.suggestions,enableThreadHistory:i?.enableThreadHistory,showToolCalls:i?.showToolCalls,appearance:i?.appearance,disclaimer:i?.disclaimer,locale:i?.locale}),[r,o,i?.api,i?.mcpServerUrl,i?.title,i?.hideHeader,i?.welcomeMessage,i?.placeholder,i?.suggestions,i?.enableThreadHistory,i?.showToolCalls,i?.appearance,i?.disclaimer,i?.locale]),p=i?.api??Ru,[m,L]=Au({}),[I,x]=Au(!1),g=In(!1);Fr(()=>{I&&!g.current&&(g.current=!0,d.emit({name:"chat.ready"}))},[I,d]);let h=i?.disablePageView;Fr(()=>{if(!r){x(!0);return}let P=y=>{h||dn({api:p,token:r,channelId:o,mode:"inline",source:y})},E=mn(p,r,o);E&&(L(E),x(!0),P(E.source));let k=new AbortController,B=setTimeout(()=>x(!0),Ng);return uu(p,r,k.signal,o).then(y=>{k.signal.aborted||(Object.keys(y).length>0&&(lu(p,r,o,y),L(y)),x(!0),P(y.source))}).catch(y=>{console.error("[Waniwani] Remote config fetch failed:",y),x(!0)}).finally(()=>clearTimeout(B)),()=>{k.abort(),clearTimeout(B)}},[p,r,o,h]);let w=xn(()=>ln(f,m,void 0),[f,m]),S=su(w);mu({widgetEvents:d,api:w.api??p,token:w.token??r,channelId:w.channelId??o,source:w.source,mode:"inline",pagePrompts:S.page,getSessionId:()=>u.current?.sessionId}),Fr(()=>{if(!r)return;let P=vu({api:p,token:r,channelId:o,getSource:()=>mn(p,r,o)?.source??void 0,getSessionId:()=>u.current?.sessionId});return c.current=P,()=>{c.current=null,P.shutdown()}},[p,r,o]),Og(a,()=>{let P=()=>c.current??Pu("no public token configured"),E=Object.assign(k=>P().track(k),{priceShown:k=>P().track.priceShown(k),pricesCompared:k=>P().track.pricesCompared(k),optionSelected:k=>P().track.optionSelected(k),leadQualified:k=>P().track.leadQualified(k),converted:k=>P().track.converted(k)});return{sendMessage:k=>u.current?.sendMessage(k),sendMessageAndWait:k=>u.current?u.current.sendMessageAndWait(k):Promise.resolve(void 0),reset:()=>u.current?.reset(),focus:()=>u.current?.focus(),get messages(){return u.current?.messages??[]},get sessionId(){return u.current?.sessionId},track:E,identify:(k,B)=>P().identify(k,B)}},[]);let v=ru(w.visibility,I),A={mode:"inline"};return w.mcpServerUrl&&(A.mcpServerUrl=w.mcpServerUrl),w.channelId&&(A.channelId=w.channelId),v?Mu(Al,{value:d,children:Mu(nn,{ref:u,api:w.api??Ru,headers:{Authorization:`Bearer ${w.token}`},visitorId:s,skipRemoteConfig:!0,body:A,appearance:w.appearance,classNames:i?.classNames,title:w.title,hideHeader:w.hideHeader,welcomeMessage:w.welcomeMessage,welcome:i?.welcome,placeholder:w.placeholder,suggestions:S,enableThreadHistory:w.enableThreadHistory,showToolCalls:w.showToolCalls,disclaimer:w.disclaimer,allowAttachments:i?.allowAttachments,locale:w.locale,messages:i?.messages,className:n,initializing:!I})}):null});export{Uh as ChatCard,nn as ChatEmbed,Eh as DARK_THEME,Kl as DEFAULT_THEME,Wo as McpAppFrame,Ug as WaniwaniChat,rn as mergeTheme,ma as themeToCSSProperties};
17
17
  /*! Bundled license information:
18
18
 
19
19
  lucide-react/dist/esm/shared/src/utils/mergeClasses.js: