@waniwani/sdk 0.17.1 → 0.17.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chat/embed.js +93 -93
- package/dist/chat/embed.js.map +1 -1
- package/dist/chat/index.d.ts +100 -1
- package/dist/chat/index.js +7 -7
- package/dist/chat/index.js.map +1 -1
- package/dist/legacy/index.d.ts +23 -0
- package/dist/legacy/index.js +13 -13
- package/dist/legacy/index.js.map +1 -1
- package/package.json +1 -1
package/dist/chat/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import{a as un,b as dn,c as cn,d as fn,e as pn,f as ma,g as mn,h as hn,i as gn,j as wn,k as Tr,l as xn,m as mt,n as ht,o as ha,p as gt,u as Pt}from"../chunk-F4UUXA3U.js";import"../chunk-V3ZDECK5.js";import{forwardRef as ah,useCallback as Vo,useEffect as rh,useImperativeHandle as oh,useRef as Tl,useState as vl}from"react";import{forwardRef as uu,createElement as du}from"react";var ga=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();var Ln=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var In=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,r)=>r?r.toUpperCase():a.toLowerCase());var vr=e=>{let t=In(e);return t.charAt(0).toUpperCase()+t.slice(1)};import{forwardRef as lu,createElement as yn}from"react";var Cn={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 Sn=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var bn=lu(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:n,iconNode:s,...i},l)=>yn("svg",{ref:l,...Cn,width:t,height:t,stroke:e,strokeWidth:r?Number(a)*24/Number(t):a,className:ga("lucide",o),...!n&&!Sn(i)&&{"aria-hidden":"true"},...i},[...s.map(([u,c])=>yn(u,c)),...Array.isArray(n)?n:[n]]));var V=(e,t)=>{let a=uu(({className:r,...o},n)=>du(bn,{ref:n,iconNode:t,className:ga(`lucide-${Ln(vr(e))}`,`lucide-${e}`,r),...o}));return a.displayName=vr(e),a};var cu=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],et=V("arrow-down",cu);var fu=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],At=V("arrow-up",fu);var pu=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Rt=V("check",pu);var mu=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Ve=V("chevron-down",mu);var hu=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],Mt=V("chevron-right",hu);var gu=[["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"}]],Ft=V("clipboard-copy",gu);var wu=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],qe=V("clock",wu);var xu=[["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"}]],Bt=V("file",xu);var Lu=[["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"}]],Dt=V("globe",Lu);var Iu=[["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"}]],Et=V("loader",Iu);var Cu=[["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"}]],_t=V("paperclip",Cu);var Su=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],Nt=V("square",Su);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"}]],tt=V("wrench",yu);var bu=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],at=V("x",bu);var ku=[["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"}]],Ot=V("zap",ku);import{useCallback as Gu}from"react";import{useCallback as ze,useMemo as Tu,useRef as vu,useState as Pr}from"react";var Pu={damping:.7,stiffness:.05,mass:1.25},Au=70,Ru=1e3/60,Mu=350,wa=!1;globalThis.document?.addEventListener("mousedown",()=>{wa=!0});globalThis.document?.addEventListener("mouseup",()=>{wa=!1});globalThis.document?.addEventListener("click",()=>{wa=!1});var Tn=(e={})=>{let[t,a]=Pr(!1),[r,o]=Pr(e.initial!==!1),[n,s]=Pr(!1),i=vu(null);i.current=e;let l=ze(()=>{if(!wa)return!1;let w=window.getSelection();if(!w||!w.rangeCount)return!1;let h=w.getRangeAt(0);return h.commonAncestorContainer.contains(g.current)||g.current?.contains(h.commonAncestorContainer)},[]),u=ze(w=>{d.isAtBottom=w,o(w)},[]),c=ze(w=>{d.escapedFromLock=w,a(w)},[]),d=Tu(()=>{let w;return{escapedFromLock:t,isAtBottom:r,resizeDifference:0,accumulated:0,velocity:0,listeners:new Set,get scrollTop(){return g.current?.scrollTop??0},set scrollTop(h){g.current&&(g.current.scrollTop=h,d.ignoreScrollToTop=g.current.scrollTop)},get targetScrollTop(){return!g.current||!x.current?0:g.current.scrollHeight-1-g.current.clientHeight},get calculatedTargetScrollTop(){if(!g.current||!x.current)return 0;let{targetScrollTop:h}=this;if(!e.targetScrollTop)return h;if(w?.targetScrollTop===h)return w.calculatedScrollTop;let C=Math.max(Math.min(e.targetScrollTop(h,{scrollElement:g.current,contentElement:x.current}),h),0);return w={targetScrollTop:h,calculatedScrollTop:C},requestAnimationFrame(()=>{w=void 0}),C},get scrollDifference(){return this.calculatedTargetScrollTop-this.scrollTop},get isNearBottom(){return this.scrollDifference<=Au}}},[]),f=ze((w={})=>{typeof w=="string"&&(w={animation:w}),w.preserveScrollPosition||u(!0);let h=Date.now()+(Number(w.wait)||0),C=Rr(i.current,w.animation),{ignoreEscapes:I=!1}=w,b,v=d.calculatedTargetScrollTop;w.duration instanceof Promise?w.duration.finally(()=>{b=Date.now()}):b=h+(w.duration??0);let P=async()=>{let A=new Promise(requestAnimationFrame).then(()=>{if(!d.isAtBottom)return d.animation=void 0,!1;let{scrollTop:M}=d,B=performance.now(),T=(B-(d.lastTick??B))/Ru;if(d.animation||(d.animation={behavior:C,promise:A,ignoreEscapes:I}),d.animation.behavior===C&&(d.lastTick=B),l()||h>Date.now())return P();if(M<Math.min(v,d.calculatedTargetScrollTop)){if(d.animation?.behavior===C){if(C==="instant")return d.scrollTop=d.calculatedTargetScrollTop,P();d.velocity=(C.damping*d.velocity+C.stiffness*d.scrollDifference)/C.mass,d.accumulated+=d.velocity*T,d.scrollTop+=d.accumulated,d.scrollTop!==M&&(d.accumulated=0)}return P()}return b>Date.now()?(v=d.calculatedTargetScrollTop,P()):(d.animation=void 0,d.scrollTop<d.calculatedTargetScrollTop?f({animation:Rr(i.current,i.current.resize),ignoreEscapes:I,duration:Math.max(0,b-Date.now())||void 0}):d.isAtBottom)});return A.then(M=>(requestAnimationFrame(()=>{d.animation||(d.lastTick=void 0,d.velocity=0)}),M))};return w.wait!==!0&&(d.animation=void 0),d.animation?.behavior===C?d.animation.promise:P()},[u,l,d]),p=ze(()=>{c(!0),u(!1)},[c,u]),m=ze(({target:w})=>{if(w!==g.current)return;let{scrollTop:h,ignoreScrollToTop:C}=d,{lastScrollTop:I=h}=d;d.lastScrollTop=h,d.ignoreScrollToTop=void 0,C&&C>h&&(I=C),s(d.isNearBottom),setTimeout(()=>{if(d.resizeDifference||h===C)return;if(l()){c(!0),u(!1);return}let b=h>I,v=h<I;if(d.animation?.ignoreEscapes){d.scrollTop=I;return}v&&(c(!0),u(!1)),b&&c(!1),!d.escapedFromLock&&d.isNearBottom&&u(!0)},1)},[c,u,l,d]),S=ze(({target:w,deltaY:h})=>{let C=w;for(;!["scroll","auto"].includes(getComputedStyle(C).overflow);){if(!C.parentElement)return;C=C.parentElement}C===g.current&&h<0&&g.current.scrollHeight>g.current.clientHeight&&!d.animation?.ignoreEscapes&&(c(!0),u(!1))},[c,u,d]),g=kn(w=>{g.current?.removeEventListener("scroll",m),g.current?.removeEventListener("wheel",S),w?.addEventListener("scroll",m,{passive:!0}),w?.addEventListener("wheel",S,{passive:!0})},[]),x=kn(w=>{if(d.resizeObserver?.disconnect(),!w)return;let h;d.resizeObserver=new ResizeObserver(([C])=>{let{height:I}=C.contentRect,b=I-(h??I);if(d.resizeDifference=b,d.scrollTop>d.targetScrollTop&&(d.scrollTop=d.targetScrollTop),s(d.isNearBottom),b>=0){let v=Rr(i.current,h?i.current.resize:i.current.initial);f({animation:v,wait:!0,preserveScrollPosition:!0,duration:v==="instant"?void 0:Mu})}else d.isNearBottom&&(c(!1),u(!0));h=I,requestAnimationFrame(()=>{setTimeout(()=>{d.resizeDifference===b&&(d.resizeDifference=0)},1)})}),d.resizeObserver?.observe(w)},[]);return{contentRef:x,scrollRef:g,scrollToBottom:f,stopScroll:p,isAtBottom:r||n,isNearBottom:n,escapedFromLock:t,state:d}};function kn(e,t){let a=ze(r=>(a.current=r,e(r)),t);return a}var Ar=new Map;function Rr(...e){let t={...Pu},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 Ar.has(r)||Ar.set(r,Object.freeze(t)),a?"instant":Ar.get(r)}import*as rt from"react";import{createContext as Fu,useContext as Bu,useEffect as Du,useImperativeHandle as Eu,useLayoutEffect as _u,useMemo as Nu,useRef as Ou}from"react";var vn=Fu(null),Uu=typeof window<"u"?_u:Du;function Ut({instance:e,children:t,resize:a,initial:r,mass:o,damping:n,stiffness:s,targetScrollTop:i,contextRef:l,...u}){let c=Ou(null),d=rt.useCallback((I,b)=>(C?.targetScrollTop??i)?.(I,b)??I,[i]),f=Tn({mass:o,damping:n,stiffness:s,resize:a,initial:r,targetScrollTop:d}),{scrollRef:p,contentRef:m,scrollToBottom:S,stopScroll:g,isAtBottom:x,escapedFromLock:w,state:h}=e??f,C=Nu(()=>({scrollToBottom:S,stopScroll:g,scrollRef:p,isAtBottom:x,escapedFromLock:w,contentRef:m,state:h,get targetScrollTop(){return c.current},set targetScrollTop(I){c.current=I}}),[S,x,m,p,g,w,h]);return Eu(l,()=>C,[C]),Uu(()=>{p.current&&getComputedStyle(p.current).overflow==="visible"&&(p.current.style.overflow="auto")},[]),rt.createElement(vn.Provider,{value:C},rt.createElement("div",{...u},typeof t=="function"?t(C):t))}(function(e){function t({children:a,scrollClassName:r,...o}){let n=Mr();return rt.createElement("div",{ref:n.scrollRef,style:{height:"100%",width:"100%",scrollbarGutter:"stable both-edges"},className:r},rt.createElement("div",{...o,ref:n.contentRef},typeof a=="function"?a(n):a))}e.Content=t})(Ut||(Ut={}));function Mr(){let e=Bu(vn);if(!e)throw new Error("use-stick-to-bottom component context must be used within a StickToBottom component");return e}var Hu=dn({prefix:"ww"});function k(...e){return Hu(un(e))}import{jsx as qu}from"react/jsx-runtime";var Fe=({className:e,variant:t="default",size:a="default",type:r="button",...o})=>qu("button",{type:r,className:k("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 xa}from"react/jsx-runtime";var Pn=({className:e,...t})=>xa(Ut,{className:k("ww:relative ww:flex-1 ww:overflow-y-hidden",e),initial:"smooth",resize:"smooth",role:"log",...t}),An=({className:e,...t})=>xa(Ut.Content,{className:k("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}),Rn=({className:e,...t})=>{let{isAtBottom:a,scrollToBottom:r}=Mr(),o=Gu(()=>{r()},[r]);return!a&&xa(Fe,{className:k("ww:absolute ww:bottom-4 ww:left-[50%] ww:translate-x-[-50%] ww:rounded-full",e),onClick:o,size:"icon",variant:"outline",...t,children:xa(et,{className:"ww:size-4"})})};import Fn from"crypto";var Mn="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var Wu=128,ot,wt,Vu=e=>{!ot||ot.length<e?(ot=Buffer.allocUnsafe(e*Wu),Fn.randomFillSync(ot),wt=0):wt+e>ot.length&&(Fn.randomFillSync(ot),wt=0),wt+=e};var Ht=(e=21)=>{Vu(e|=0);let t="";for(let a=wt-e;a<wt;a++)t+=Mn[ot[a]&63];return t};import{createContext as Yu,useCallback as Ge,useContext as Zu,useEffect as _r,useMemo as ed,useRef as Nr,useState as On}from"react";import{createContext as zu,useContext as ju,useEffect as $u,useMemo as Xu,useState as _n}from"react";var Bn=["en","fr","es"];function xt(e){return Bn.includes(e)}function Fr(e){if(e&&xt(e))return e;if(e){let a=e.split("-")[0]?.toLowerCase();if(a&&xt(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(xt(r))return r;let o=r.split("-")[0];if(o&&xt(o))return o}return"en"}var La={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 Dn={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 En={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 Br={en:La,fr:En,es:Dn};import{jsx as Ju}from"react/jsx-runtime";var Nn=zu(null);function Ku(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 Dr({children:e,locale:t,messages:a}){let r=!!(t&&Qu(t)),o=r?t:"en",[n,s]=_n(o),[i,l]=_n(r);$u(()=>{s(Fr(t)),l(!0)},[t]);let u=Xu(()=>{let c=Br[n]??Br["en"];return{locale:n,t:Ku(c,a),ready:i}},[n,a,i]);return Ju(Nn.Provider,{value:u,children:e})}function Qu(e){return e==="en"||e==="fr"||e==="es"}function U(){let e=ju(Nn);return e||{locale:"en",t:La,ready:!0}}function Er(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 Ee,jsxs as qn}from"react/jsx-runtime";var td=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}},Un=Yu(null),Hn=()=>{let e=Zu(Un);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},Ia=({className:e,accept:t,multiple:a,globalDrop:r,maxFiles:o,maxFileSize:n,onSubmit:s,children:i,...l})=>{let{t:u}=U(),c=Nr(null),d=Nr(null),[f,p]=On([]),m=Nr(f);_r(()=>{m.current=f},[f]);let S=Ge(()=>{c.current?.click()},[]),g=Ge(b=>{let v=[...b];if(v.length===0)return;let P=M=>n?M.size<=n:!0,A=v.filter(P);p(M=>{let B=typeof o=="number"?Math.max(0,o-M.length):void 0,T=typeof B=="number"?A.slice(0,B):A;return[...M,...T.map($=>({filename:$.name,id:Ht(),mediaType:$.type,type:"file",url:URL.createObjectURL($)}))]})},[o,n]),x=Ge(b=>{p(v=>{let P=v.find(A=>A.id===b);return P?.url&&URL.revokeObjectURL(P.url),v.filter(A=>A.id!==b)})},[]),w=Ge(()=>{p(b=>{for(let v of b)v.url&&URL.revokeObjectURL(v.url);return[]})},[]);_r(()=>()=>{for(let b of m.current)b.url&&URL.revokeObjectURL(b.url)},[]);let h=Ge(b=>{b.currentTarget.files&&g(b.currentTarget.files),b.currentTarget.value=""},[g]);_r(()=>{if(!r)return;let b=P=>{P.dataTransfer?.types?.includes("Files")&&P.preventDefault()},v=P=>{P.dataTransfer?.types?.includes("Files")&&P.preventDefault(),P.dataTransfer?.files&&P.dataTransfer.files.length>0&&g(P.dataTransfer.files)};return document.addEventListener("dragover",b),document.addEventListener("drop",v),()=>{document.removeEventListener("dragover",b),document.removeEventListener("drop",v)}},[g,r]);let C=Ge(async b=>{b.preventDefault();let v=b.currentTarget,A=new FormData(v).get("message")||"";v.reset();let M=await Promise.all(f.map(async({id:B,...T})=>{if(T.url?.startsWith("blob:")){let $=await td(T.url);return{...T,url:$??T.url}}return T}));try{let B=s({files:M,text:A},b);B instanceof Promise&&await B,w()}catch{}},[f,s,w]),I=ed(()=>({add:g,clear:w,files:f,openFileDialog:S,remove:x}),[f,g,x,w,S]);return qn(Un.Provider,{value:I,children:[Ee("input",{accept:t,"aria-label":u.promptInput.uploadFiles,className:"ww:hidden",multiple:a,onChange:h,ref:c,title:u.promptInput.uploadFiles,type:"file"}),Ee("form",{className:k("ww:flex ww:w-full ww:flex-col ww:rounded-lg ww:border ww:border-border ww:bg-background",e),onSubmit:C,ref:d,...l,children:i})]})};var Ca=({onChange:e,onKeyDown:t,className:a,placeholder:r,...o})=>{let{t:n}=U(),s=Hn(),[i,l]=On(!1),u=r??n.promptInput.placeholder,c=Ge(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=Ge(f=>{let p=f.clipboardData?.items;if(!p)return;let m=[];for(let S of p)if(S.kind==="file"){let g=S.getAsFile();g&&m.push(g)}m.length>0&&(f.preventDefault(),s.add(m))},[s]);return Ee("textarea",{className:k("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})},Sa=({className:e,status:t,onStop:a,onClick:r,children:o,...n})=>{let{t:s}=U(),i=t==="submitted"||t==="streaming",l=Ee(At,{className:"ww:size-4"});t==="submitted"?l=Ee(Et,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(l=Ee(Nt,{className:"ww:size-4"}));let u=Ge(c=>{if(i&&a){c.preventDefault(),a();return}r?.(c)},[i,a,r]);return Ee(Fe,{"aria-label":i?s.promptInput.stop:s.promptInput.submit,className:k("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})},ya=({className:e,children:t,...a})=>{let{t:r}=U(),o=Hn();return o.files.length>0?qn(Fe,{className:k("ww:group ww:relative",e),onClick:()=>o.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":r.promptInput.removeAttachments,...a,children:[Ee("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}),Ee(at,{className:"ww:absolute ww:size-4 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100"})]}):Ee(Fe,{className:k(e),onClick:()=>o.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??Ee(_t,{className:"ww:size-4"})})};import{memo as ad,useCallback as rd}from"react";import{jsx as It}from"react/jsx-runtime";var Gn=({className:e,...t})=>It("div",{className:k("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),Wn=({className:e,...t})=>It("li",{className:k("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}),Vn=({className:e,...t})=>It("span",{className:k("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),zn=({className:e,...t})=>It("span",{className:k("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),jn=({className:e,...t})=>It("div",{className:k("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),$n=({className:e,...t})=>It(Fe,{className:k("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 je,jsxs as Kn}from"react/jsx-runtime";var Xn=ad(({message:e,onRemove:t})=>{let{t:a}=U(),r=rd(()=>t(e.id),[t,e.id]);return Kn(Wn,{children:[je(Vn,{}),je(zn,{children:e.text||a.chatQueue.attachmentFallback}),je(jn,{children:je($n,{"aria-label":a.chatQueue.removeFromQueue,onClick:r,children:je(at,{className:"ww:size-3"})})})]})});Xn.displayName="ChatQueueItem";function ba({queuedMessages:e,onRemove:t,className:a}){let{t:r}=U();return e.length===0?null:Kn(Gn,{className:k("ww:border-t ww:border-border",a),children:[je("div",{className:"ww:text-[11px] ww:font-medium ww:text-muted-foreground ww:px-2",children:r.chatQueue.queued(e.length)}),je("ul",{children:e.map(o=>je(Xn,{message:o,onRemove:t},o.id))})]})}import{useState as Qn}from"react";import{jsx as od}from"react/jsx-runtime";function Jn({messages:e,evalEnabled:t,api:a="/api/waniwani"}){let{t:r}=U(),[o,n]=Qn(!1),[s,i]=Qn(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 od("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 qt,jsxs as sd}from"react/jsx-runtime";var Yn=({files:e,className:t,...a})=>e.length===0?null:qt("div",{className:k("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((r,o)=>qt(nd,{file:r},o))});function nd({file:e}){let{t}=U();return e.mediaType?.startsWith("image/")&&e.url?qt("img",{src:e.url,alt:e.filename??t.attachments.attachmentFallback,className:"ww:h-16 ww:max-w-32 ww:rounded ww:object-cover"}):sd("span",{className:"ww:inline-flex ww:items-center ww:gap-1.5 ww:rounded ww:bg-background/20 ww:px-2 ww:py-1 ww:text-xs",children:[qt(Bt,{className:"ww:size-3 ww:shrink-0"}),qt("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??t.attachments.fileFallback})]})}import{createContext as xd,useCallback as Ld,useContext as Id,useEffect as Cd,useMemo as Sd,useState as qr}from"react";import{createContext as dd,memo as Hr,useCallback as cd,useContext as fd,useEffect as Or,useMemo as pd,useRef as Zn,useState as Ur}from"react";import{memo as id}from"react";import{jsx as ud}from"react/jsx-runtime";var ld=({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 ud(e,{"data-waniwani-shimmer":"",className:k("ww:inline-block",t),style:s,...n,children:o})},_e=id(ld);_e.displayName="Shimmer";import{Fragment as gd,jsx as Ne,jsxs as wd}from"react/jsx-runtime";var es=dd(null);function ts(){let e=fd(es);if(!e)throw new Error("Reasoning components must be used within <Reasoning>");return e}var md=1e3,hd=1e3,Gt=Hr(({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]=Ur(l),p=c?a:d,m=cd(v=>{c||f(v),o?.(v)},[c,o]),[S,g]=Ur(void 0),x=n??S,w=Zn(t),[h,C]=Ur(!1),I=Zn(null);Or(()=>{t?(w.current=!0,I.current===null&&(I.current=Date.now())):I.current!==null&&(g(Math.ceil((Date.now()-I.current)/hd)),I.current=null)},[t]),Or(()=>{t&&!p&&!u&&m(!0)},[t,p,u,m]),Or(()=>{if(w.current&&!t&&p&&!h){let v=setTimeout(()=>{m(!1),C(!0)},md);return()=>clearTimeout(v)}},[t,p,h,m]);let b=pd(()=>({isStreaming:t,isOpen:p,setIsOpen:m,duration:x}),[t,p,m,x]);return Ne(es.Provider,{value:b,children:Ne("div",{className:k("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})})});Gt.displayName="Reasoning";var Wt=Hr(({className:e,children:t,getThinkingMessage:a,hideIcon:r=!1,onClick:o,...n})=>{let{t:s}=U(),{isStreaming:i,isOpen:l,duration:u,setIsOpen:c}=ts(),f=a??((p,m)=>p||m===0?Ne(_e,{duration:1.6,children:s.reasoning.thinking}):m===void 0?Ne("span",{children:s.reasoning.thoughtBrief}):Ne("span",{children:s.reasoning.thoughtForSeconds(m)}));return Ne("button",{type:"button","aria-expanded":l,onClick:p=>{c(!l),o?.(p)},className:k("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??wd(gd,{children:[!r&&Ne(qe,{className:"ww:size-4 ww:shrink-0"}),f(i,u)]})})});Wt.displayName="ReasoningTrigger";var Vt=Hr(({className:e,children:t,...a})=>{let{isOpen:r}=ts();return Ne("div",{className:k("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:Ne("div",{className:"ww:min-h-0 ww:overflow-hidden",children:Ne("div",{className:k("ww:text-sm ww:text-muted-foreground",e),...a,children:Ne(Pt,{children:t})})})})});Vt.displayName="ReasoningContent";import{jsx as Z,jsxs as $e}from"react/jsx-runtime";var yd=500,as=xd(null);function rs(){let e=Id(as);if(!e)throw new Error("ChainOfThought components must be used within <ChainOfThought>");return e}function os({className:e,isWorking:t=!1,activeStep:a,open:r,defaultOpen:o=!1,onOpenChange:n,children:s,...i}){let l=r!==void 0,[u,c]=qr(o),d=l?r:u,f=Ld(g=>{l||c(g),n?.(g)},[l,n]),[p,m]=qr(!t);Cd(()=>{if(t){m(!1);return}let g=setTimeout(()=>m(!0),yd);return()=>clearTimeout(g)},[t]);let S=Sd(()=>({open:d,setOpen:f,isWorking:t,settled:p,activeStep:a}),[d,f,t,p,a]);return Z(as.Provider,{value:S,children:Z("div",{className:k("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 ns({className:e,label:t,workingLabel:a,children:r,...o}){let{open:n,setOpen:s,isWorking:i,settled:l,activeStep:u}=rs();if(!l){let c=u?.icon,d=u?.label??a??t??"";return Z("div",{className:k("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:$e("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&&Z(c,{className:k("ww:size-4 ww:shrink-0",i&&"ww:animate-pulse")}),Z("span",{className:"ww:truncate",children:i?Z(_e,{duration:2.6,children:d}):d})]},d)})}return $e("button",{type:"button",onClick:()=>s(!n),"aria-expanded":n,className:k("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:[Z("span",{className:"ww:truncate",children:r??t}),Z(Ve,{className:k("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}=rs();return Z("div",{className:k("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:Z("div",{className:"ww:min-h-0 ww:overflow-hidden",children:Z("div",{className:k("ww:flex ww:flex-col",e),...a,children:t})})})}function is({icon:e,isLast:t,running:a,error:r}){return $e("div",{className:"ww:flex ww:flex-col ww:items-center ww:self-stretch",children:[Z("span",{className:"ww:flex ww:h-5 ww:items-center",children:Z(e,{className:k("ww:size-4 ww:shrink-0",r?"ww:text-destructive":a?"ww:animate-pulse ww:text-foreground":"ww:text-muted-foreground")})}),!t&&Z("span",{className:"ww:w-px ww:flex-1 ww:bg-border"})]})}function Gr({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]=qr(!1),f=a??"",p=i?Z(_e,{duration:1.6,children:f}):Z("span",{className:"ww:truncate",children:f});return $e("div",{className:k("ww:flex ww:gap-2",e),...s,children:[Z(is,{icon:t,isLast:o,running:i,error:l}),$e("div",{className:k("ww:min-w-0 ww:flex-1",!o&&"ww:pb-3"),children:[u?$e("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,Z(Ve,{className:k("ww:size-3.5 ww:shrink-0 ww:transition-transform ww:duration-200",c&&"ww:rotate-180")})]}):Z("div",{className:"ww:flex ww:items-center ww:text-sm ww:text-muted-foreground",children:p}),u&&Z("div",{className:k("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:Z("div",{className:"ww:min-h-0 ww:overflow-hidden",children:Z("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 ls({isStreaming:e=!1,isLast:t=!1,children:a}){return $e("div",{className:"ww:flex ww:gap-2",children:[Z(is,{icon:qe,isLast:t,running:e}),Z("div",{className:k("ww:min-w-0 ww:flex-1",!t&&"ww:pb-3"),children:$e(Gt,{isStreaming:e,className:"ww:mb-0",children:[Z(Wt,{hideIcon:!0}),Z(Vt,{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 Oe={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 Pe={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 us(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 ds(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function cs(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 fs(e){return us(e)?"ambiguous":ds(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":cs(e)?"wide":"neutral"}function bd(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function ps(e){return bd(e),fs(e)}var kd=Object.defineProperty,Td=(e,t,a)=>t in e?kd(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,vd=(e,t,a)=>Td(e,typeof t!="symbol"?t+"":t,a);function Pd(e){return/^\p{Emoji_Presentation}/u.test(String.fromCodePoint(e))}function Ad(e){if(!e||e<4352)return!1;switch(ps(e)){case"fullwidth":case"halfwidth":return!0;case"wide":return!Pd(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 Rd(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function Md(e){return e!==null&&e>=65024&&e<=65038}var Fd=ms(/\p{P}|\p{S}/u),Bd=ms(/\s/);function ms(e){return t;function t(a){return a!==null&&a>-1&&e.test(String.fromCodePoint(a))}}var Ae;(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})(Ae||(Ae={}));function Xe(e){if(e===Ie.eof||xn(e)||Bd(e))return Oe.characterGroupWhitespace;let t=0;if(e>=4352){if(Md(e))return Ae.nonEmojiGeneralUseVS;switch(Ad(e)){case null:return Ae.ivs;case!0:t|=Ae.cjk;break}}return Fd(e)&&(t|=Oe.characterGroupPunctuation),t}function ka(e,t,a){if(!Ed(e))return e;let r=t(),o=Xe(r);return!r||nt(o)?e:Rd(r,a)?Ae.cjkPunctuation:Dd(o)}function Dd(e){return e&~Ae.ivs}function nt(e){return!!(e&Oe.characterGroupWhitespace)}function Ct(e){return(e&Ae.cjkPunctuation)===Oe.characterGroupPunctuation}function zt(e){return!!(e&Ae.cjk)}function hs(e){return e===Ae.ivs}function gs(e){return!!(e&Ae.cjkOrIvs)}function Ed(e){return e===Ae.nonEmojiGeneralUseVS}function Wr(e){return!!(e&Ae.spaceOrPunctuation)}function Ta(e){return!!(e&&e>=55296&&e<=56319)}function va(e){return!!(e&&e>=56320&&e<=57343)}function Pa(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 _d(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 Aa=class{constructor(e,t,a){this.previousCode=e,this.nowPoint=t,this.sliceSerialize=a,vd(this,"cachedValue")}value(){return this.cachedValue===void 0&&(this.cachedValue=_d(this.previousCode,this.nowPoint,this.sliceSerialize)),this.cachedValue}};function Ra(e,t,a){let r=a({start:t,end:{...t,_bufferIndex:t._bufferIndex+2}}).codePointAt(0);return r&&r>=65536?r:e}var Vr={name:"attention",resolveAll:Nd,tokenize:Od};function Nd(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};ws(d,-l),ws(f,l),s={type:l>1?Pe.strongSequence:Pe.emphasisSequence,start:d,end:{...e[r][1].end}},i={type:l>1?Pe.strongSequence:Pe.emphasisSequence,start:{...e[a][1].start},end:f},n={type:l>1?Pe.strongText:Pe.emphasisText,start:{...e[r][1].end},end:{...e[a][1].start}},o={type:l>1?Pe.strong:Pe.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=ht(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=ht(u,[["enter",o,t],["enter",s,t],["exit",s,t],["enter",n,t]]),t.parser.constructs.insideSpan.null,u=ht(u,ha(t.parser.constructs.insideSpan.null,e.slice(r+1,a),t)),u=ht(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=ht(u,[["enter",e[a][1],t],["exit",e[a][1],t]])):c=0,mt(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 Od(e,t){let a=this.parser.constructs.attentionMarkers.null,{now:r,sliceSerialize:o,previous:n}=this,s=va(n)?Pa(n,r(),o):n,i=Xe(s),l=new Aa(s,r(),o),u=ka(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"),S=Ta(p)?Ra(p,r(),o):p,g=Xe(S);let x=Ct(u),w=x||nt(u),h=Ct(g),C=h||nt(g),I=gs(u),b=!C||h&&(w||I)||a.includes(p),v=!w||x&&(C||zt(g))||a.includes(s);return m._open=!!(c===Ie.asterisk?b:b&&(Wr(u)||!v)),m._close=!!(c===Ie.asterisk?v:v&&(Wr(g)||!b)),t(p)}}function ws(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function xs(){return{text:{[Ie.asterisk]:Vr,[Ie.underscore]:Vr},insideSpan:{null:[Vr]}}}function Ls(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(xs())}function Is(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&&mt(f,f.length,0,ha(p,s.slice(u+1,l),i)),mt(f,f.length,0,[["exit",d,i],["enter",s[l][1],i],["exit",s[l][1],i],["exit",c,i]]),mt(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=Pe.data);return s}function n(s,i,l){let{now:u,sliceSerialize:c,previous:d}=this,f=va(d)?Pa(d,u(),c):d,p=Xe(f),m=new Aa(f,u(),c),S=ka(p,m.value.bind(m),f),g=this.events,x=0;return w;function w(C){return Ie.tilde,f===Ie.tilde&&g[g.length-1][1].type!==Pe.characterEscape?l(C):(s.enter("strikethroughSequenceTemporary"),h(C))}function h(C){let I=Xe(f);if(C===Ie.tilde)return x>1?l(C):(s.consume(C),x++,h);if(x<2&&!a)return l(C);let b=s.exit("strikethroughSequenceTemporary"),v=Ta(C)?Ra(C,u(),c):C,P=Xe(v),M=Ct(S)||nt(S),T=Ct(P)||nt(P),$=zt(S)||hs(I);return b._open=!T||P===Oe.attentionSideAfter&&(M||$),b._close=!M||I===Oe.attentionSideAfter&&(T||zt(P)),i(C)}}}function Cs(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(Is(e))}var Ud=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),Hd=/^(https?:\/\/|mailto:|www\.)/i,qd=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},Gd=e=>{let t=0;for(let a of e){if(Ud.has(a))return t;t+=a.length}return null},Wd=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),Vd=e=>({type:"text",value:e}),zd=()=>e=>{cn(e,"link",(t,a,r)=>{if(!r||typeof a!="number"||!qd(t)||!Hd.test(t.url))return;let o=Gd(t.url);if(o===null||o===0)return;let n=t.url.slice(0,o),s=t.url.slice(o),i=Wd(n,t),l=Vd(s);return r.children.splice(a,1,i,l),a+1})};function jd(){let e=[Ls],t=[zd,Cs],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var zr=jd();var re=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function $d(e){return to(e)}function to(e){return Array.isArray(e)?Xd(e):e instanceof RegExp?e:typeof e=="object"?Kd(e):e}function Xd(e){let t=[];for(let a=0,r=e.length;a<r;a++)t[a]=to(e[a]);return t}function Kd(e){let t={};for(let a in e)t[a]=to(e[a]);return t}function Rs(e,...t){return t.forEach(a=>{for(let r in a)e[r]=a[r]}),e}function Ms(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?Ms(e.substring(0,e.length-1)):e.substr(~t+1)}var jr=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,Ma=class{static hasCaptures(e){return e===null?!1:(jr.lastIndex=0,jr.test(e))}static replaceCaptures(e,t,a){return e.replace(jr,(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 Fs(e,t){return e<t?-1:e>t?1:0}function Bs(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=Fs(e[o],t[o]);if(n!==0)return n}return 0}return a-r}function Ss(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 Ds(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var Es=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}},Xt=class{constructor(e,t,a){this._colorMap=e,this._defaults=t,this._root=a}static createFromRawTheme(e,t){return this.createFromParsedTheme(Yd(e),t)}static createFromParsedTheme(e,t){return ec(e,t)}_cachedMatchRoot=new Es(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=>Qd(e.parent,o.parentScopes));return r?new _s(r.fontStyle,r.foreground,r.background):null}},$r=class Fa{constructor(t,a){this.parent=t,this.scopeName=a}static push(t,a){for(let r of a)t=new Fa(t,r);return t}static from(...t){let a=null;for(let r=0;r<t.length;r++)a=new Fa(a,t[r]);return a}push(t){return new Fa(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 Qd(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&&!Jd(e.scopeName,r);){if(o)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function Jd(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var _s=class{constructor(e,t,a){this.fontStyle=e,this.foregroundId=t,this.backgroundId=a}};function Yd(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"&&Ss(s.settings.foreground)&&(u=s.settings.foreground);let c=null;typeof s.settings.background=="string"&&Ss(s.settings.background)&&(c=s.settings.background);for(let d=0,f=i.length;d<f;d++){let m=i[d].trim().split(" "),S=m[m.length-1],g=null;m.length>1&&(g=m.slice(0,m.length-1),g.reverse()),a[r++]=new Zd(S,g,o,l,u,c)}}return a}var Zd=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}},Ce=(e=>(e[e.NotSet=-1]="NotSet",e[e.None=0]="None",e[e.Italic=1]="Italic",e[e.Bold=2]="Bold",e[e.Underline=4]="Underline",e[e.Strikethrough=8]="Strikethrough",e))(Ce||{});function ec(e,t){e.sort((l,u)=>{let c=Fs(l.scope,u.scope);return c!==0||(c=Bs(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 tc(t),s=new _s(a,n.getId(r),n.getId(o)),i=new rc(new Kr(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 Xt(n,s,i)}var tc=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)}},ac=Object.freeze([]),Kr=class Ns{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,r,o,n){this.scopeDepth=t,this.parentScopes=a||ac,this.fontStyle=r,this.foreground=o,this.background=n}clone(){return new Ns(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)}},rc=class Qr{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(Qr._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 Qr(this._mainRule.clone(),Kr.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(Bs(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 Kr(t,a,r,o,n))}},it=class Be{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){let a=Be.getLanguageId(t),r=Be.getTokenType(t),o=Be.getFontStyle(t),n=Be.getForeground(t),s=Be.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=Be.getLanguageId(t),u=Be.getTokenType(t),c=Be.containsBalancedBrackets(t)?1:0,d=Be.getFontStyle(t),f=Be.getForeground(t),p=Be.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 Da(e,t){let a=[],r=oc(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(ys(o)){let l=[];do l.push(o),o=r.next();while(ys(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 ys(e){return!!e&&!!e.match(/[\w\.:]+/)}function oc(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 Os(e){typeof e.dispose=="function"&&e.dispose()}var Kt=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},nc=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},sc=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))}},ic=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new Kt(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new sc;for(let a of e)lc(a,this.initialScopeName,this.repo,t);for(let a of t.references)if(a instanceof Kt){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 lc(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 Kt?Ba({baseGrammar:n,selfGrammar:o},r):Jr(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 Kt(i))}function Jr(e,t,a){if(t.repository&&t.repository[e]){let r=t.repository[e];Ea([r],t,a)}}function Ba(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&Ea(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&Ea(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function Ea(e,t,a){for(let r of e){if(a.visitedRule.has(r))continue;a.visitedRule.add(r);let o=r.repository?Rs({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&Ea(r.patterns,{...t,repository:o},a);let n=r.include;if(!n)continue;let s=Us(n);switch(s.kind){case 0:Ba({...t,selfGrammar:t.baseGrammar},a);break;case 1:Ba(t,a);break;case 2:Jr(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?Jr(s.ruleName,l,a):Ba(l,a)}else s.kind===4?a.add(new nc(s.scopeName,s.ruleName)):a.add(new Kt(s.scopeName));break}}}var uc=class{kind=0},dc=class{kind=1},cc=class{constructor(e){this.ruleName=e}kind=2},fc=class{constructor(e){this.scopeName=e}kind=3},pc=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function Us(e){if(e==="$base")return new uc;if(e==="$self")return new dc;let t=e.indexOf("#");if(t===-1)return new fc(e);if(t===0)return new cc(e.substring(1));{let a=e.substring(0,t),r=e.substring(t+1);return new pc(a,r)}}var mc=/\\(\d+)/,bs=/\\(\d+)/g;var hc=-1,Hs=-2;var Yt=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,a,r){this.$location=e,this.id=t,this._name=a||null,this._nameIsCapturing=Ma.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=Ma.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${Ms(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:Ma.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:Ma.replaceCaptures(this._contentName,e,t)}},gc=class extends Yt{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!")}},wc=class extends Yt{_match;captures;_cachedCompiledPatterns;constructor(e,t,a,r,o){super(e,t,a,null),this._match=new Qt(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 Jt,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},ks=class extends Yt{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 Jt,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Yr=class extends Yt{_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 Qt(o,this.id),this.beginCaptures=n,this._end=new Qt(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 Jt;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}},_a=class extends Yt{_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 Qt(o,this.id),this.beginCaptures=n,this.whileCaptures=i,this._while=new Qt(s,Hs),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 Jt;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 Jt,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},qs=class be{static createCaptureRule(t,a,r,o,n){return t.registerRule(s=>new gc(a,s,r,o,n))}static getCompiledRuleId(t,a,r){return t.id||a.registerRule(o=>{if(t.id=o,t.match)return new wc(t.$vscodeTextmateLocation,t.id,t.name,t.match,be._compileCaptures(t.captures,a,r));if(typeof t.begin>"u"){t.repository&&(r=Rs({},r,t.repository));let n=t.patterns;return typeof n>"u"&&t.include&&(n=[{include:t.include}]),new ks(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,be._compilePatterns(n,a,r))}return t.while?new _a(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,be._compileCaptures(t.beginCaptures||t.captures,a,r),t.while,be._compileCaptures(t.whileCaptures||t.captures,a,r),be._compilePatterns(t.patterns,a,r)):new Yr(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,be._compileCaptures(t.beginCaptures||t.captures,a,r),t.end,be._compileCaptures(t.endCaptures||t.captures,a,r),t.applyEndPatternLast,be._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=be.getCompiledRuleId(t[s],a,r)),o[i]=be.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=Us(i.include);switch(u.kind){case 0:case 1:l=be.getCompiledRuleId(r[i.include],a,r);break;case 2:let c=r[u.ruleName];c&&(l=be.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=be.getCompiledRuleId(m,a,p.repository))}else l=be.getCompiledRuleId(p.repository.$self,a,p.repository);break}}else l=be.getCompiledRuleId(i,a,r);if(l!==-1){let u=a.getRule(l),c=!1;if((u instanceof ks||u instanceof Yr||u instanceof _a)&&u.hasMissingPatterns&&u.patterns.length===0&&(c=!0),c)continue;o.push(l)}}return{patterns:o,hasMissingPatterns:(t?t.length:0)!==o.length}}},Qt=class Gs{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=mc.test(this.source):this.hasBackReferences=!1}clone(){return new Gs(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 bs.lastIndex=0,this.source.replace(bs,(o,n)=>Ds(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}},Jt=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 Ts(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 Ts(e,r,this._items.map(o=>o.ruleId))}},Ts=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}},
|
|
4
|
-
`;let n=this.createOnigString(e),s=n.content.length,i=new Rc(a,e,this._tokenTypeMatchers,this.balancedBracketSelectors),l=Vs(this,n,o,0,t,i,!0,r);return Os(n),{lineLength:s,lineTokens:i,ruleStack:l.stack,stoppedEarly:l.stoppedEarly}}};function As(e,t){return e=$d(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 $t=class Ue{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=$r.push(o,n.scopeNames),r=new Ue(r,o,n.encodedTokenAttributes);return r}static createRoot(t,a){return new Ue(null,new $r(null,t),a)}static createRootAndLookUpScopeName(t,a,r){let o=r.getMetadataForScope(t),n=new $r(null,t),s=r.themeProvider.themeMatch(n),i=Ue.mergeAttributes(a,o,s);return new Ue(null,n,i)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return Ue.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),it.set(t,a.languageId,a.tokenType,null,o,n,s)}pushAttributed(t,a){if(t===null)return this;if(t.indexOf(" ")===-1)return Ue._pushAttributed(this,t,a);let r=t.split(/ /g),o=this;for(let n of r)o=Ue._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=Ue.mergeAttributes(t.tokenAttributes,o,s);return new Ue(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}},eo=class st{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 st(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:st._equals(this,t)}static _equals(t,a){return t===a?!0:this._structuralEquals(t,a)?$t.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(){st._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,a,r,o,n,s,i){return new st(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 st(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=$t.fromExtension(t?.nameScopesList??null,a.nameScopesList);return new st(t,a.ruleId,a.enterPos??-1,a.anchorPos??-1,a.beginRuleCapturedEOL,a.endRule,r,$t.fromExtension(r,a.contentNameScopesList))}},Ac=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(a=>a==="*"?(this.allowAny=!0,[]):Da(a,Na).map(r=>r.matcher)),this.unbalancedBracketScopes=t.flatMap(a=>Da(a,Na).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}},Rc=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=it.set(r,0,s.type,null,-1,0,0));this.balancedBracketSelectors&&(o=this.balancedBracketSelectors.match(n))}if(o&&(r=it.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}},Mc=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,Tc(e,n,t,a,r,o,this,this._onigLib))}return this._grammars.get(e)}},$s=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new Mc(Xt.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(Xt.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 Ac(a.balancedBracketSelectors||[],a.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,a,r,o){let n=new ic(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)}},Oa=eo.NULL;var Fc=/["&'<>`]/g,Bc=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Dc=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,Ec=/[|\\{}()[\]^$+*?.]/g,Xs=new WeakMap;function Ks(e,t){if(e=e.replace(t.subset?_c(t.subset):Fc,r),t.subset||t.escapeOnly)return e;return e.replace(Bc,a).replace(Dc,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 _c(e){let t=Xs.get(e);return t||(t=Nc(e),Xs.set(e,t)),t}function Nc(e){let t=[],a=-1;for(;++a<e.length;)t.push(e[a].replace(Ec,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}var Oc=/[\dA-Fa-f]/;function Qs(e,t,a){let r="&#x"+e.toString(16).toUpperCase();return a&&t&&!Oc.test(String.fromCharCode(t))?r:r+";"}var Uc=/\d/;function Js(e,t,a){let r="&#"+String(e);return a&&t&&!Uc.test(String.fromCharCode(t))?r:r+";"}var Ys=["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 Ua={nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",frac34:"\xBE",iquest:"\xBF",Agrave:"\xC0",Aacute:"\xC1",Acirc:"\xC2",Atilde:"\xC3",Auml:"\xC4",Aring:"\xC5",AElig:"\xC6",Ccedil:"\xC7",Egrave:"\xC8",Eacute:"\xC9",Ecirc:"\xCA",Euml:"\xCB",Igrave:"\xCC",Iacute:"\xCD",Icirc:"\xCE",Iuml:"\xCF",ETH:"\xD0",Ntilde:"\xD1",Ograve:"\xD2",Oacute:"\xD3",Ocirc:"\xD4",Otilde:"\xD5",Ouml:"\xD6",times:"\xD7",Oslash:"\xD8",Ugrave:"\xD9",Uacute:"\xDA",Ucirc:"\xDB",Uuml:"\xDC",Yacute:"\xDD",THORN:"\xDE",szlig:"\xDF",agrave:"\xE0",aacute:"\xE1",acirc:"\xE2",atilde:"\xE3",auml:"\xE4",aring:"\xE5",aelig:"\xE6",ccedil:"\xE7",egrave:"\xE8",eacute:"\xE9",ecirc:"\xEA",euml:"\xEB",igrave:"\xEC",iacute:"\xED",icirc:"\xEE",iuml:"\xEF",eth:"\xF0",ntilde:"\xF1",ograve:"\xF2",oacute:"\xF3",ocirc:"\xF4",otilde:"\xF5",ouml:"\xF6",divide:"\xF7",oslash:"\xF8",ugrave:"\xF9",uacute:"\xFA",ucirc:"\xFB",uuml:"\xFC",yacute:"\xFD",thorn:"\xFE",yuml:"\xFF",fnof:"\u0192",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039A",Lambda:"\u039B",Mu:"\u039C",Nu:"\u039D",Xi:"\u039E",Omicron:"\u039F",Pi:"\u03A0",Rho:"\u03A1",Sigma:"\u03A3",Tau:"\u03A4",Upsilon:"\u03A5",Phi:"\u03A6",Chi:"\u03A7",Psi:"\u03A8",Omega:"\u03A9",alpha:"\u03B1",beta:"\u03B2",gamma:"\u03B3",delta:"\u03B4",epsilon:"\u03B5",zeta:"\u03B6",eta:"\u03B7",theta:"\u03B8",iota:"\u03B9",kappa:"\u03BA",lambda:"\u03BB",mu:"\u03BC",nu:"\u03BD",xi:"\u03BE",omicron:"\u03BF",pi:"\u03C0",rho:"\u03C1",sigmaf:"\u03C2",sigma:"\u03C3",tau:"\u03C4",upsilon:"\u03C5",phi:"\u03C6",chi:"\u03C7",psi:"\u03C8",omega:"\u03C9",thetasym:"\u03D1",upsih:"\u03D2",piv:"\u03D6",bull:"\u2022",hellip:"\u2026",prime:"\u2032",Prime:"\u2033",oline:"\u203E",frasl:"\u2044",weierp:"\u2118",image:"\u2111",real:"\u211C",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21B5",lArr:"\u21D0",uArr:"\u21D1",rArr:"\u21D2",dArr:"\u21D3",hArr:"\u21D4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220B",prod:"\u220F",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221A",prop:"\u221D",infin:"\u221E",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222A",int:"\u222B",there4:"\u2234",sim:"\u223C",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22A5",sdot:"\u22C5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230A",rfloor:"\u230B",lang:"\u2329",rang:"\u232A",loz:"\u25CA",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666",quot:'"',amp:"&",lt:"<",gt:">",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",circ:"\u02C6",tilde:"\u02DC",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",permil:"\u2030",lsaquo:"\u2039",rsaquo:"\u203A",euro:"\u20AC"};var Zs=["cent","copy","divide","gt","lt","not","para","times"];var ei={}.hasOwnProperty,ao={},Ha;for(Ha in Ua)ei.call(Ua,Ha)&&(ao[Ua[Ha]]=Ha);var Hc=/[^\dA-Za-z]/;function ti(e,t,a,r){let o=String.fromCharCode(e);if(ei.call(ao,o)){let n=ao[o],s="&"+n;return a&&Ys.includes(n)&&!Zs.includes(n)&&(!r||t&&t!==61&&Hc.test(String.fromCharCode(t)))?s:s+";"}return""}function ai(e,t,a){let r=Qs(e,t,a.omitOptionalSemicolons),o;if((a.useNamedReferences||a.useShortestReferences)&&(o=ti(e,t,a.omitOptionalSemicolons,a.attribute)),(a.useShortestReferences||!o)&&a.useShortestReferences){let n=Js(e,t,a.omitOptionalSemicolons);n.length<r.length&&(r=n)}return o&&(!a.useShortestReferences||o.length<r.length)?o:r}function We(e,t){return Ks(e,Object.assign({format:ai},t))}var qc=/^>|^->|<!--|-->|--!>|<!-$/g,Gc=[">"],Wc=["<",">"];function ri(e,t,a,r){return r.settings.bogusComments?"<?"+We(e.value,Object.assign({},r.settings.characterReferences,{subset:Gc}))+">":"<!--"+e.value.replace(qc,o)+"-->";function o(n){return We(n,Object.assign({},r.settings.characterReferences,{subset:Wc}))}}function oi(e,t,a,r){return"<!"+(r.settings.upperDoctype?"DOCTYPE":"doctype")+(r.settings.tightDoctype?"":" ")+"html>"}var ce=ni(1),ro=ni(-1),Vc=[];function ni(e){return t;function t(a,r,o){let n=a?a.children:Vc,s=(r||0)+e,i=n[s];if(!o)for(;i&>(i);)s+=e,i=n[s];return i}}var zc={}.hasOwnProperty;function qa(e){return t;function t(a,r,o){return zc.call(e,a.tagName)&&e[a.tagName](a,r,o)}}var Zt=qa({body:$c,caption:oo,colgroup:oo,dd:Jc,dt:Qc,head:oo,html:jc,li:Kc,optgroup:Yc,option:Zc,p:Xc,rp:si,rt:si,tbody:tf,td:ii,tfoot:af,th:ii,thead:ef,tr:rf});function oo(e,t,a){let r=ce(a,t,!0);return!r||r.type!=="comment"&&!(r.type==="text"&>(r.value.charAt(0)))}function jc(e,t,a){let r=ce(a,t);return!r||r.type!=="comment"}function $c(e,t,a){let r=ce(a,t);return!r||r.type!=="comment"}function Xc(e,t,a){let r=ce(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 Kc(e,t,a){let r=ce(a,t);return!r||r.type==="element"&&r.tagName==="li"}function Qc(e,t,a){let r=ce(a,t);return!!(r&&r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd"))}function Jc(e,t,a){let r=ce(a,t);return!r||r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd")}function si(e,t,a){let r=ce(a,t);return!r||r.type==="element"&&(r.tagName==="rp"||r.tagName==="rt")}function Yc(e,t,a){let r=ce(a,t);return!r||r.type==="element"&&r.tagName==="optgroup"}function Zc(e,t,a){let r=ce(a,t);return!r||r.type==="element"&&(r.tagName==="option"||r.tagName==="optgroup")}function ef(e,t,a){let r=ce(a,t);return!!(r&&r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot"))}function tf(e,t,a){let r=ce(a,t);return!r||r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot")}function af(e,t,a){return!ce(a,t)}function rf(e,t,a){let r=ce(a,t);return!r||r.type==="element"&&r.tagName==="tr"}function ii(e,t,a){let r=ce(a,t);return!r||r.type==="element"&&(r.tagName==="td"||r.tagName==="th")}var li=qa({body:sf,colgroup:lf,head:nf,html:of,tbody:uf});function of(e){let t=ce(e,-1);return!t||t.type!=="comment"}function nf(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 sf(e){let t=ce(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&>(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function lf(e,t,a){let r=ro(a,t),o=ce(e,-1,!0);return a&&r&&r.type==="element"&&r.tagName==="colgroup"&&Zt(r,a.children.indexOf(r),a)?!1:!!(o&&o.type==="element"&&o.tagName==="col")}function uf(e,t,a){let r=ro(a,t),o=ce(e,-1);return a&&r&&r.type==="element"&&(r.tagName==="thead"||r.tagName==="tbody")&&Zt(r,a.children.indexOf(r),a)?!1:!!(o&&o.type==="element"&&o.tagName==="tr")}var Ga={name:[[`
|
|
2
|
+
import{a as gn,b as wn,c as xn,d as Ln,e as In,f as ha,g as Cn,h as Sn,i as yn,j as bn,k as Rr,l as kn,m as gt,n as wt,o as ga,p as xt,u as At}from"../chunk-F4UUXA3U.js";import"../chunk-V3ZDECK5.js";import{forwardRef as gh,useCallback as Ko,useEffect as wh,useImperativeHandle as xh,useRef as Ol,useState as Ul}from"react";import{forwardRef as Lu,createElement as Iu}from"react";var wa=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();var Tn=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var vn=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,r)=>r?r.toUpperCase():a.toLowerCase());var Mr=e=>{let t=vn(e);return t.charAt(0).toUpperCase()+t.slice(1)};import{forwardRef as xu,createElement as Rn}from"react";var Pn={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 An=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var Mn=xu(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:n,iconNode:s,...i},l)=>Rn("svg",{ref:l,...Pn,width:t,height:t,stroke:e,strokeWidth:r?Number(a)*24/Number(t):a,className:wa("lucide",o),...!n&&!An(i)&&{"aria-hidden":"true"},...i},[...s.map(([u,c])=>Rn(u,c)),...Array.isArray(n)?n:[n]]));var j=(e,t)=>{let a=Lu(({className:r,...o},n)=>Iu(Mn,{ref:n,iconNode:t,className:wa(`lucide-${Tn(Mr(e))}`,`lucide-${e}`,r),...o}));return a.displayName=Mr(e),a};var Cu=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],at=j("arrow-down",Cu);var Su=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],Rt=j("arrow-up",Su);var yu=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Mt=j("check",yu);var bu=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],je=j("chevron-down",bu);var ku=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],Ft=j("chevron-right",ku);var Tu=[["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"}]],Bt=j("clipboard-copy",Tu);var vu=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],We=j("clock",vu);var Pu=[["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"}]],Dt=j("file",Pu);var Au=[["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"}]],Et=j("globe",Au);var Ru=[["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"}]],_t=j("loader",Ru);var Mu=[["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"}]],Nt=j("paperclip",Mu);var Fu=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],Ot=j("square",Fu);var Bu=[["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"}]],rt=j("wrench",Bu);var Du=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],ot=j("x",Du);var Eu=[["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"}]],Ut=j("zap",Eu);import{useCallback as Yu}from"react";import{useCallback as $e,useMemo as _u,useRef as Nu,useState as Fr}from"react";var Ou={damping:.7,stiffness:.05,mass:1.25},Uu=70,Hu=1e3/60,qu=350,xa=!1;globalThis.document?.addEventListener("mousedown",()=>{xa=!0});globalThis.document?.addEventListener("mouseup",()=>{xa=!1});globalThis.document?.addEventListener("click",()=>{xa=!1});var Bn=(e={})=>{let[t,a]=Fr(!1),[r,o]=Fr(e.initial!==!1),[n,s]=Fr(!1),i=Nu(null);i.current=e;let l=$e(()=>{if(!xa)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=$e(g=>{d.isAtBottom=g,o(g)},[]),c=$e(g=>{d.escapedFromLock=g,a(g)},[]),d=_u(()=>{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<=Uu}}},[]),p=$e((g={})=>{typeof g=="string"&&(g={animation:g}),g.preserveScrollPosition||u(!0);let h=Date.now()+(Number(g.wait)||0),x=Dr(i.current,g.animation),{ignoreEscapes:y=!1}=g,T,v=d.calculatedTargetScrollTop;g.duration instanceof Promise?g.duration.finally(()=>{T=Date.now()}):T=h+(g.duration??0);let A=async()=>{let R=new Promise(requestAnimationFrame).then(()=>{if(!d.isAtBottom)return d.animation=void 0,!1;let{scrollTop:P}=d,F=performance.now(),b=(F-(d.lastTick??F))/Hu;if(d.animation||(d.animation={behavior:x,promise:R,ignoreEscapes:y}),d.animation.behavior===x&&(d.lastTick=F),l()||h>Date.now())return A();if(P<Math.min(v,d.calculatedTargetScrollTop)){if(d.animation?.behavior===x){if(x==="instant")return d.scrollTop=d.calculatedTargetScrollTop,A();d.velocity=(x.damping*d.velocity+x.stiffness*d.scrollDifference)/x.mass,d.accumulated+=d.velocity*b,d.scrollTop+=d.accumulated,d.scrollTop!==P&&(d.accumulated=0)}return A()}return T>Date.now()?(v=d.calculatedTargetScrollTop,A()):(d.animation=void 0,d.scrollTop<d.calculatedTargetScrollTop?p({animation:Dr(i.current,i.current.resize),ignoreEscapes:y,duration:Math.max(0,T-Date.now())||void 0}):d.isAtBottom)});return R.then(P=>(requestAnimationFrame(()=>{d.animation||(d.lastTick=void 0,d.velocity=0)}),P))};return g.wait!==!0&&(d.animation=void 0),d.animation?.behavior===x?d.animation.promise:A()},[u,l,d]),f=$e(()=>{c(!0),u(!1)},[c,u]),m=$e(({target:g})=>{if(g!==L.current)return;let{scrollTop:h,ignoreScrollToTop:x}=d,{lastScrollTop:y=h}=d;d.lastScrollTop=h,d.ignoreScrollToTop=void 0,x&&x>h&&(y=x),s(d.isNearBottom),setTimeout(()=>{if(d.resizeDifference||h===x)return;if(l()){c(!0),u(!1);return}let T=h>y,v=h<y;if(d.animation?.ignoreEscapes){d.scrollTop=y;return}v&&(c(!0),u(!1)),T&&c(!1),!d.escapedFromLock&&d.isNearBottom&&u(!0)},1)},[c,u,l,d]),I=$e(({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=Fn(g=>{L.current?.removeEventListener("scroll",m),L.current?.removeEventListener("wheel",I),g?.addEventListener("scroll",m,{passive:!0}),g?.addEventListener("wheel",I,{passive:!0})},[]),w=Fn(g=>{if(d.resizeObserver?.disconnect(),!g)return;let h;d.resizeObserver=new ResizeObserver(([x])=>{let{height:y}=x.contentRect,T=y-(h??y);if(d.resizeDifference=T,d.scrollTop>d.targetScrollTop&&(d.scrollTop=d.targetScrollTop),s(d.isNearBottom),T>=0){let v=Dr(i.current,h?i.current.resize:i.current.initial);p({animation:v,wait:!0,preserveScrollPosition:!0,duration:v==="instant"?void 0:qu})}else d.isNearBottom&&(c(!1),u(!0));h=y,requestAnimationFrame(()=>{setTimeout(()=>{d.resizeDifference===T&&(d.resizeDifference=0)},1)})}),d.resizeObserver?.observe(g)},[]);return{contentRef:w,scrollRef:L,scrollToBottom:p,stopScroll:f,isAtBottom:r||n,isNearBottom:n,escapedFromLock:t,state:d}};function Fn(e,t){let a=$e(r=>(a.current=r,e(r)),t);return a}var Br=new Map;function Dr(...e){let t={...Ou},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 Br.has(r)||Br.set(r,Object.freeze(t)),a?"instant":Br.get(r)}import*as nt from"react";import{createContext as Wu,useContext as Gu,useEffect as Vu,useImperativeHandle as zu,useLayoutEffect as ju,useMemo as $u,useRef as Xu}from"react";var Dn=Wu(null),Ku=typeof window<"u"?ju:Vu;function Ht({instance:e,children:t,resize:a,initial:r,mass:o,damping:n,stiffness:s,targetScrollTop:i,contextRef:l,...u}){let c=Xu(null),d=nt.useCallback((y,T)=>(x?.targetScrollTop??i)?.(y,T)??y,[i]),p=Bn({mass:o,damping:n,stiffness:s,resize:a,initial:r,targetScrollTop:d}),{scrollRef:f,contentRef:m,scrollToBottom:I,stopScroll:L,isAtBottom:w,escapedFromLock:g,state:h}=e??p,x=$u(()=>({scrollToBottom:I,stopScroll:L,scrollRef:f,isAtBottom:w,escapedFromLock:g,contentRef:m,state:h,get targetScrollTop(){return c.current},set targetScrollTop(y){c.current=y}}),[I,w,m,f,L,g,h]);return zu(l,()=>x,[x]),Ku(()=>{f.current&&getComputedStyle(f.current).overflow==="visible"&&(f.current.style.overflow="auto")},[]),nt.createElement(Dn.Provider,{value:x},nt.createElement("div",{...u},typeof t=="function"?t(x):t))}(function(e){function t({children:a,scrollClassName:r,...o}){let n=Er();return nt.createElement("div",{ref:n.scrollRef,style:{height:"100%",width:"100%",scrollbarGutter:"stable both-edges"},className:r},nt.createElement("div",{...o,ref:n.contentRef},typeof a=="function"?a(n):a))}e.Content=t})(Ht||(Ht={}));function Er(){let e=Gu(Dn);if(!e)throw new Error("use-stick-to-bottom component context must be used within a StickToBottom component");return e}var Qu=wn({prefix:"ww"});function k(...e){return Qu(gn(e))}import{jsx as Ju}from"react/jsx-runtime";var Be=({className:e,variant:t="default",size:a="default",type:r="button",...o})=>Ju("button",{type:r,className:k("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 La}from"react/jsx-runtime";var En=({className:e,...t})=>La(Ht,{className:k("ww:relative ww:flex-1 ww:overflow-y-hidden",e),initial:"smooth",resize:"smooth",role:"log",...t}),_n=({className:e,...t})=>La(Ht.Content,{className:k("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}),Nn=({className:e,...t})=>{let{isAtBottom:a,scrollToBottom:r}=Er(),o=Yu(()=>{r()},[r]);return!a&&La(Be,{className:k("ww:absolute ww:bottom-4 ww:left-[50%] ww:translate-x-[-50%] ww:rounded-full",e),onClick:o,size:"icon",variant:"outline",...t,children:La(at,{className:"ww:size-4"})})};import Un from"crypto";var On="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var Zu=128,st,Lt,ed=e=>{!st||st.length<e?(st=Buffer.allocUnsafe(e*Zu),Un.randomFillSync(st),Lt=0):Lt+e>st.length&&(Un.randomFillSync(st),Lt=0),Lt+=e};var qt=(e=21)=>{ed(e|=0);let t="";for(let a=Lt-e;a<Lt;a++)t+=On[st[a]&63];return t};import{createContext as ld,useCallback as Ge,useContext as ud,useEffect as Hr,useMemo as dd,useRef as qr,useState as zn}from"react";import{createContext as td,useContext as ad,useEffect as rd,useMemo as od,useState as Gn}from"react";var Hn=["en","fr","es"];function It(e){return Hn.includes(e)}function _r(e){if(e&&It(e))return e;if(e){let a=e.split("-")[0]?.toLowerCase();if(a&&It(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(It(r))return r;let o=r.split("-")[0];if(o&&It(o))return o}return"en"}var Ia={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 Wn={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 Nr={en:Ia,fr:Wn,es:qn};import{jsx as id}from"react/jsx-runtime";var Vn=td(null);function nd(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 Or({children:e,locale:t,messages:a}){let r=!!(t&&sd(t)),o=r?t:"en",[n,s]=Gn(o),[i,l]=Gn(r);rd(()=>{s(_r(t)),l(!0)},[t]);let u=od(()=>{let c=Nr[n]??Nr["en"];return{locale:n,t:nd(c,a),ready:i}},[n,a,i]);return id(Vn.Provider,{value:u,children:e})}function sd(e){return e==="en"||e==="fr"||e==="es"}function V(){let e=ad(Vn);return e||{locale:"en",t:Ia,ready:!0}}function Ur(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 Ee,jsxs as Xn}from"react/jsx-runtime";var cd=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}},jn=ld(null),$n=()=>{let e=ud(jn);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},Ca=({className:e,accept:t,multiple:a,globalDrop:r,maxFiles:o,maxFileSize:n,onSubmit:s,children:i,...l})=>{let{t:u}=V(),c=qr(null),d=qr(null),[p,f]=zn([]),m=qr(p);Hr(()=>{m.current=p},[p]);let I=Ge(()=>{c.current?.click()},[]),L=Ge(T=>{let v=[...T];if(v.length===0)return;let A=P=>n?P.size<=n:!0,R=v.filter(A);f(P=>{let F=typeof o=="number"?Math.max(0,o-P.length):void 0,b=typeof F=="number"?R.slice(0,F):R;return[...P,...b.map(z=>({filename:z.name,id:qt(),mediaType:z.type,type:"file",url:URL.createObjectURL(z)}))]})},[o,n]),w=Ge(T=>{f(v=>{let A=v.find(R=>R.id===T);return A?.url&&URL.revokeObjectURL(A.url),v.filter(R=>R.id!==T)})},[]),g=Ge(()=>{f(T=>{for(let v of T)v.url&&URL.revokeObjectURL(v.url);return[]})},[]);Hr(()=>()=>{for(let T of m.current)T.url&&URL.revokeObjectURL(T.url)},[]);let h=Ge(T=>{T.currentTarget.files&&L(T.currentTarget.files),T.currentTarget.value=""},[L]);Hr(()=>{if(!r)return;let T=A=>{A.dataTransfer?.types?.includes("Files")&&A.preventDefault()},v=A=>{A.dataTransfer?.types?.includes("Files")&&A.preventDefault(),A.dataTransfer?.files&&A.dataTransfer.files.length>0&&L(A.dataTransfer.files)};return document.addEventListener("dragover",T),document.addEventListener("drop",v),()=>{document.removeEventListener("dragover",T),document.removeEventListener("drop",v)}},[L,r]);let x=Ge(async T=>{T.preventDefault();let v=T.currentTarget,R=new FormData(v).get("message")||"";v.reset();let P=await Promise.all(p.map(async({id:F,...b})=>{if(b.url?.startsWith("blob:")){let z=await cd(b.url);return{...b,url:z??b.url}}return b}));try{let F=s({files:P,text:R},T);F instanceof Promise&&await F,g()}catch{}},[p,s,g]),y=dd(()=>({add:L,clear:g,files:p,openFileDialog:I,remove:w}),[p,L,w,g,I]);return Xn(jn.Provider,{value:y,children:[Ee("input",{accept:t,"aria-label":u.promptInput.uploadFiles,className:"ww:hidden",multiple:a,onChange:h,ref:c,title:u.promptInput.uploadFiles,type:"file"}),Ee("form",{className:k("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 Sa=({onChange:e,onKeyDown:t,className:a,placeholder:r,...o})=>{let{t:n}=V(),s=$n(),[i,l]=zn(!1),u=r??n.promptInput.placeholder,c=Ge(p=>{if(t?.(p),!p.defaultPrevented){if(p.key==="Enter"){if(i||p.nativeEvent.isComposing||p.shiftKey)return;p.preventDefault();let{form:f}=p.currentTarget;if(f?.querySelector('button[type="submit"]')?.disabled)return;f?.requestSubmit()}if(p.key==="Backspace"&&p.currentTarget.value===""&&s.files.length>0){p.preventDefault();let f=s.files.at(-1);f&&s.remove(f.id)}}},[t,i,s]),d=Ge(p=>{let f=p.clipboardData?.items;if(!f)return;let m=[];for(let I of f)if(I.kind==="file"){let L=I.getAsFile();L&&m.push(L)}m.length>0&&(p.preventDefault(),s.add(m))},[s]);return Ee("textarea",{className:k("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})},ya=({className:e,status:t,onStop:a,onClick:r,children:o,...n})=>{let{t:s}=V(),i=t==="submitted"||t==="streaming",l=Ee(Rt,{className:"ww:size-4"});t==="submitted"?l=Ee(_t,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(l=Ee(Ot,{className:"ww:size-4"}));let u=Ge(c=>{if(i&&a){c.preventDefault(),a();return}r?.(c)},[i,a,r]);return Ee(Be,{"aria-label":i?s.promptInput.stop:s.promptInput.submit,className:k("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})},ba=({className:e,children:t,...a})=>{let{t:r}=V(),o=$n();return o.files.length>0?Xn(Be,{className:k("ww:group ww:relative",e),onClick:()=>o.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":r.promptInput.removeAttachments,...a,children:[Ee("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}),Ee(ot,{className:"ww:absolute ww:size-4 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100"})]}):Ee(Be,{className:k(e),onClick:()=>o.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??Ee(Nt,{className:"ww:size-4"})})};import{memo as fd,useCallback as pd}from"react";import{jsx as St}from"react/jsx-runtime";var Kn=({className:e,...t})=>St("div",{className:k("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),Qn=({className:e,...t})=>St("li",{className:k("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}),Jn=({className:e,...t})=>St("span",{className:k("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),Yn=({className:e,...t})=>St("span",{className:k("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),Zn=({className:e,...t})=>St("div",{className:k("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),es=({className:e,...t})=>St(Be,{className:k("ww:size-auto ww:rounded ww:p-1 ww:text-muted-foreground ww:hover:bg-muted-foreground/10 ww:hover:text-foreground",e),size:"icon",type:"button",variant:"ghost",...t});import{jsx as Xe,jsxs as as}from"react/jsx-runtime";var ts=fd(({message:e,onRemove:t})=>{let{t:a}=V(),r=pd(()=>t(e.id),[t,e.id]);return as(Qn,{children:[Xe(Jn,{}),Xe(Yn,{children:e.text||a.chatQueue.attachmentFallback}),Xe(Zn,{children:Xe(es,{"aria-label":a.chatQueue.removeFromQueue,onClick:r,children:Xe(ot,{className:"ww:size-3"})})})]})});ts.displayName="ChatQueueItem";function ka({queuedMessages:e,onRemove:t,className:a}){let{t:r}=V();return e.length===0?null:as(Kn,{className:k("ww:border-t ww:border-border",a),children:[Xe("div",{className:"ww:text-[11px] ww:font-medium ww:text-muted-foreground ww:px-2",children:r.chatQueue.queued(e.length)}),Xe("ul",{children:e.map(o=>Xe(ts,{message:o,onRemove:t},o.id))})]})}import{useState as rs}from"react";import{jsx as md}from"react/jsx-runtime";function os({messages:e,evalEnabled:t,api:a="/api/waniwani"}){let{t:r}=V(),[o,n]=rs(!1),[s,i]=rs(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 md("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 Wt,jsxs as gd}from"react/jsx-runtime";var ns=({files:e,className:t,...a})=>e.length===0?null:Wt("div",{className:k("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((r,o)=>Wt(hd,{file:r},o))});function hd({file:e}){let{t}=V();return e.mediaType?.startsWith("image/")&&e.url?Wt("img",{src:e.url,alt:e.filename??t.attachments.attachmentFallback,className:"ww:h-16 ww:max-w-32 ww:rounded ww:object-cover"}):gd("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:[Wt(Dt,{className:"ww:size-3 ww:shrink-0"}),Wt("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??t.attachments.fileFallback})]})}import{createContext as Pd,useCallback as Ad,useContext as Rd,useEffect as Md,useMemo as Fd,useState as zr}from"react";import{createContext as Id,memo as Vr,useCallback as Cd,useContext as Sd,useEffect as Wr,useMemo as yd,useRef as ss,useState as Gr}from"react";import{memo as wd}from"react";import{jsx as Ld}from"react/jsx-runtime";var xd=({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 Ld(e,{"data-waniwani-shimmer":"",className:k("ww:inline-block",t),style:s,...n,children:o})},_e=wd(xd);_e.displayName="Shimmer";import{Fragment as Td,jsx as Ne,jsxs as vd}from"react/jsx-runtime";var is=Id(null);function ls(){let e=Sd(is);if(!e)throw new Error("Reasoning components must be used within <Reasoning>");return e}var bd=1e3,kd=1e3,Gt=Vr(({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,p]=Gr(l),f=c?a:d,m=Cd(v=>{c||p(v),o?.(v)},[c,o]),[I,L]=Gr(void 0),w=n??I,g=ss(t),[h,x]=Gr(!1),y=ss(null);Wr(()=>{t?(g.current=!0,y.current===null&&(y.current=Date.now())):y.current!==null&&(L(Math.ceil((Date.now()-y.current)/kd)),y.current=null)},[t]),Wr(()=>{t&&!f&&!u&&m(!0)},[t,f,u,m]),Wr(()=>{if(g.current&&!t&&f&&!h){let v=setTimeout(()=>{m(!1),x(!0)},bd);return()=>clearTimeout(v)}},[t,f,h,m]);let T=yd(()=>({isStreaming:t,isOpen:f,setIsOpen:m,duration:w}),[t,f,m,w]);return Ne(is.Provider,{value:T,children:Ne("div",{className:k("ww:mb-4 ww:flex ww:flex-col ww:gap-2",e),"data-state":f?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...i,children:s})})});Gt.displayName="Reasoning";var Vt=Vr(({className:e,children:t,getThinkingMessage:a,hideIcon:r=!1,onClick:o,...n})=>{let{t:s}=V(),{isStreaming:i,isOpen:l,duration:u,setIsOpen:c}=ls(),p=a??((f,m)=>f||m===0?Ne(_e,{duration:1.6,children:s.reasoning.thinking}):m===void 0?Ne("span",{children:s.reasoning.thoughtBrief}):Ne("span",{children:s.reasoning.thoughtForSeconds(m)}));return Ne("button",{type:"button","aria-expanded":l,onClick:f=>{c(!l),o?.(f)},className:k("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??vd(Td,{children:[!r&&Ne(We,{className:"ww:size-4 ww:shrink-0"}),p(i,u)]})})});Vt.displayName="ReasoningTrigger";var zt=Vr(({className:e,children:t,...a})=>{let{isOpen:r}=ls();return Ne("div",{className:k("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:Ne("div",{className:"ww:min-h-0 ww:overflow-hidden",children:Ne("div",{className:k("ww:text-sm ww:text-muted-foreground",e),...a,children:Ne(At,{children:t})})})})});zt.displayName="ReasoningContent";import{jsx as J,jsxs as Ke}from"react/jsx-runtime";var Bd=500,us=Pd(null);function ds(){let e=Rd(us);if(!e)throw new Error("ChainOfThought components must be used within <ChainOfThought>");return e}function cs({className:e,isWorking:t=!1,activeStep:a,open:r,defaultOpen:o=!1,onOpenChange:n,children:s,...i}){let l=r!==void 0,[u,c]=zr(o),d=l?r:u,p=Ad(L=>{l||c(L),n?.(L)},[l,n]),[f,m]=zr(!t);Md(()=>{if(t){m(!1);return}let L=setTimeout(()=>m(!0),Bd);return()=>clearTimeout(L)},[t]);let I=Fd(()=>({open:d,setOpen:p,isWorking:t,settled:f,activeStep:a}),[d,p,t,f,a]);return J(us.Provider,{value:I,children:J("div",{className:k("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 fs({className:e,label:t,workingLabel:a,children:r,...o}){let{open:n,setOpen:s,isWorking:i,settled:l,activeStep:u}=ds();if(!l){let c=u?.icon,d=u?.label??a??t??"";return J("div",{className:k("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:Ke("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:k("ww:size-4 ww:shrink-0",i&&"ww:animate-pulse")}),J("span",{className:"ww:truncate",children:i?J(_e,{duration:2.6,children:d}):d})]},d)})}return Ke("button",{type:"button",onClick:()=>s(!n),"aria-expanded":n,className:k("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(je,{className:k("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",n&&"ww:rotate-180")})]})}function ps({className:e,children:t,...a}){let{open:r}=ds();return J("div",{className:k("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:k("ww:flex ww:flex-col",e),...a,children:t})})})}function ms({icon:e,isLast:t,running:a,error:r}){return Ke("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:k("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 jr({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]=zr(!1),p=a??"",f=i?J(_e,{duration:1.6,children:p}):J("span",{className:"ww:truncate",children:p});return Ke("div",{className:k("ww:flex ww:gap-2",e),...s,children:[J(ms,{icon:t,isLast:o,running:i,error:l}),Ke("div",{className:k("ww:min-w-0 ww:flex-1",!o&&"ww:pb-3"),children:[u?Ke("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:[f,J(je,{className:k("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:f}),u&&J("div",{className:k("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 hs({isStreaming:e=!1,isLast:t=!1,children:a}){return Ke("div",{className:"ww:flex ww:gap-2",children:[J(ms,{icon:We,isLast:t,running:e}),J("div",{className:k("ww:min-w-0 ww:flex-1",!t&&"ww:pb-3"),children:Ke(Gt,{isStreaming:e,className:"ww:mb-0",children:[J(Vt,{hideIcon:!0}),J(zt,{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 Ue={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 Pe={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 gs(e){return e===161||e===164||e===167||e===168||e===170||e===173||e===174||e>=176&&e<=180||e>=182&&e<=186||e>=188&&e<=191||e===198||e===208||e===215||e===216||e>=222&&e<=225||e===230||e>=232&&e<=234||e===236||e===237||e===240||e===242||e===243||e>=247&&e<=250||e===252||e===254||e===257||e===273||e===275||e===283||e===294||e===295||e===299||e>=305&&e<=307||e===312||e>=319&&e<=322||e===324||e>=328&&e<=331||e===333||e===338||e===339||e===358||e===359||e===363||e===462||e===464||e===466||e===468||e===470||e===472||e===474||e===476||e===593||e===609||e===708||e===711||e>=713&&e<=715||e===717||e===720||e>=728&&e<=731||e===733||e===735||e>=768&&e<=879||e>=913&&e<=929||e>=931&&e<=937||e>=945&&e<=961||e>=963&&e<=969||e===1025||e>=1040&&e<=1103||e===1105||e===8208||e>=8211&&e<=8214||e===8216||e===8217||e===8220||e===8221||e>=8224&&e<=8226||e>=8228&&e<=8231||e===8240||e===8242||e===8243||e===8245||e===8251||e===8254||e===8308||e===8319||e>=8321&&e<=8324||e===8364||e===8451||e===8453||e===8457||e===8467||e===8470||e===8481||e===8482||e===8486||e===8491||e===8531||e===8532||e>=8539&&e<=8542||e>=8544&&e<=8555||e>=8560&&e<=8569||e===8585||e>=8592&&e<=8601||e===8632||e===8633||e===8658||e===8660||e===8679||e===8704||e===8706||e===8707||e===8711||e===8712||e===8715||e===8719||e===8721||e===8725||e===8730||e>=8733&&e<=8736||e===8739||e===8741||e>=8743&&e<=8748||e===8750||e>=8756&&e<=8759||e===8764||e===8765||e===8776||e===8780||e===8786||e===8800||e===8801||e>=8804&&e<=8807||e===8810||e===8811||e===8814||e===8815||e===8834||e===8835||e===8838||e===8839||e===8853||e===8857||e===8869||e===8895||e===8978||e>=9312&&e<=9449||e>=9451&&e<=9547||e>=9552&&e<=9587||e>=9600&&e<=9615||e>=9618&&e<=9621||e===9632||e===9633||e>=9635&&e<=9641||e===9650||e===9651||e===9654||e===9655||e===9660||e===9661||e===9664||e===9665||e>=9670&&e<=9672||e===9675||e>=9678&&e<=9681||e>=9698&&e<=9701||e===9711||e===9733||e===9734||e===9737||e===9742||e===9743||e===9756||e===9758||e===9792||e===9794||e===9824||e===9825||e>=9827&&e<=9829||e>=9831&&e<=9834||e===9836||e===9837||e===9839||e===9886||e===9887||e===9919||e>=9926&&e<=9933||e>=9935&&e<=9939||e>=9941&&e<=9953||e===9955||e===9960||e===9961||e>=9963&&e<=9969||e===9972||e>=9974&&e<=9977||e===9979||e===9980||e===9982||e===9983||e===10045||e>=10102&&e<=10111||e>=11094&&e<=11097||e>=12872&&e<=12879||e>=57344&&e<=63743||e>=65024&&e<=65039||e===65533||e>=127232&&e<=127242||e>=127248&&e<=127277||e>=127280&&e<=127337||e>=127344&&e<=127373||e===127375||e===127376||e>=127387&&e<=127404||e>=917760&&e<=917999||e>=983040&&e<=1048573||e>=1048576&&e<=1114109}function ws(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function xs(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 Ls(e){return gs(e)?"ambiguous":ws(e)?"fullwidth":e===8361||e>=65377&&e<=65470||e>=65474&&e<=65479||e>=65482&&e<=65487||e>=65490&&e<=65495||e>=65498&&e<=65500||e>=65512&&e<=65518?"halfwidth":e>=32&&e<=126||e===162||e===163||e===165||e===166||e===172||e===175||e>=10214&&e<=10221||e===10629||e===10630?"narrow":xs(e)?"wide":"neutral"}function Dd(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function Is(e){return Dd(e),Ls(e)}var Ed=Object.defineProperty,_d=(e,t,a)=>t in e?Ed(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Nd=(e,t,a)=>_d(e,typeof t!="symbol"?t+"":t,a);function Od(e){return/^\p{Emoji_Presentation}/u.test(String.fromCodePoint(e))}function Ud(e){if(!e||e<4352)return!1;switch(Is(e)){case"fullwidth":case"halfwidth":return!0;case"wide":return!Od(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 Hd(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function qd(e){return e!==null&&e>=65024&&e<=65038}var Wd=Cs(/\p{P}|\p{S}/u),Gd=Cs(/\s/);function Cs(e){return t;function t(a){return a!==null&&a>-1&&e.test(String.fromCodePoint(a))}}var Ae;(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})(Ae||(Ae={}));function Qe(e){if(e===Le.eof||kn(e)||Gd(e))return Ue.characterGroupWhitespace;let t=0;if(e>=4352){if(qd(e))return Ae.nonEmojiGeneralUseVS;switch(Ud(e)){case null:return Ae.ivs;case!0:t|=Ae.cjk;break}}return Wd(e)&&(t|=Ue.characterGroupPunctuation),t}function Ta(e,t,a){if(!zd(e))return e;let r=t(),o=Qe(r);return!r||it(o)?e:Hd(r,a)?Ae.cjkPunctuation:Vd(o)}function Vd(e){return e&~Ae.ivs}function it(e){return!!(e&Ue.characterGroupWhitespace)}function yt(e){return(e&Ae.cjkPunctuation)===Ue.characterGroupPunctuation}function jt(e){return!!(e&Ae.cjk)}function Ss(e){return e===Ae.ivs}function ys(e){return!!(e&Ae.cjkOrIvs)}function zd(e){return e===Ae.nonEmojiGeneralUseVS}function $r(e){return!!(e&Ae.spaceOrPunctuation)}function va(e){return!!(e&&e>=55296&&e<=56319)}function Pa(e){return!!(e&&e>=56320&&e<=57343)}function Aa(e,t,a){if(t._bufferIndex<2)return e;let o=a({start:{...t,_bufferIndex:t._bufferIndex-2},end:t}).codePointAt(0);return o&&o>=65536?o:e}function jd(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 Ra=class{constructor(e,t,a){this.previousCode=e,this.nowPoint=t,this.sliceSerialize=a,Nd(this,"cachedValue")}value(){return this.cachedValue===void 0&&(this.cachedValue=jd(this.previousCode,this.nowPoint,this.sliceSerialize)),this.cachedValue}};function Ma(e,t,a){let r=a({start:t,end:{...t,_bufferIndex:t._bufferIndex+2}}).codePointAt(0);return r&&r>=65536?r:e}var Xr={name:"attention",resolveAll:$d,tokenize:Xd};function $d(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},p={...e[a][1].start};bs(d,-l),bs(p,l),s={type:l>1?Pe.strongSequence:Pe.emphasisSequence,start:d,end:{...e[r][1].end}},i={type:l>1?Pe.strongSequence:Pe.emphasisSequence,start:{...e[a][1].start},end:p},n={type:l>1?Pe.strongText:Pe.emphasisText,start:{...e[r][1].end},end:{...e[a][1].start}},o={type:l>1?Pe.strong:Pe.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=wt(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=wt(u,[["enter",o,t],["enter",s,t],["exit",s,t],["enter",n,t]]),t.parser.constructs.insideSpan.null,u=wt(u,ga(t.parser.constructs.insideSpan.null,e.slice(r+1,a),t)),u=wt(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=wt(u,[["enter",e[a][1],t],["exit",e[a][1],t]])):c=0,gt(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 Xd(e,t){let a=this.parser.constructs.attentionMarkers.null,{now:r,sliceSerialize:o,previous:n}=this,s=Pa(n)?Aa(n,r(),o):n,i=Qe(s),l=new Ra(s,r(),o),u=Ta(i,l.value.bind(l),s),c;return d;function d(f){return f===Le.asterisk||Le.underscore,c=f,e.enter("attentionSequence"),p(f)}function p(f){if(f===c)return e.consume(f),p;let m=e.exit("attentionSequence"),I=va(f)?Ma(f,r(),o):f,L=Qe(I);let w=yt(u),g=w||it(u),h=yt(L),x=h||it(L),y=ys(u),T=!x||h&&(g||y)||a.includes(f),v=!g||w&&(x||jt(L))||a.includes(s);return m._open=!!(c===Le.asterisk?T:T&&($r(u)||!v)),m._close=!!(c===Le.asterisk?v:v&&($r(L)||!T)),t(f)}}function bs(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function ks(){return{text:{[Le.asterisk]:Xr,[Le.underscore]:Xr},insideSpan:{null:[Xr]}}}function Ts(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(ks())}function vs(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)},p=[["enter",c,i],["enter",s[u][1],i],["exit",s[u][1],i],["enter",d,i]],f=i.parser.constructs.insideSpan.null;f&>(p,p.length,0,ga(f,s.slice(u+1,l),i)),gt(p,p.length,0,[["exit",d,i],["enter",s[l][1],i],["exit",s[l][1],i],["exit",c,i]]),gt(s,u-1,l-u+3,p),l=u+p.length-2;break}}for(l=-1;++l<s.length;)s[l][1].type==="strikethroughSequenceTemporary"&&(s[l][1].type=Pe.data);return s}function n(s,i,l){let{now:u,sliceSerialize:c,previous:d}=this,p=Pa(d)?Aa(d,u(),c):d,f=Qe(p),m=new Ra(p,u(),c),I=Ta(f,m.value.bind(m),p),L=this.events,w=0;return g;function g(x){return Le.tilde,p===Le.tilde&&L[L.length-1][1].type!==Pe.characterEscape?l(x):(s.enter("strikethroughSequenceTemporary"),h(x))}function h(x){let y=Qe(p);if(x===Le.tilde)return w>1?l(x):(s.consume(x),w++,h);if(w<2&&!a)return l(x);let T=s.exit("strikethroughSequenceTemporary"),v=va(x)?Ma(x,u(),c):x,A=Qe(v),P=yt(I)||it(I),b=yt(A)||it(A),z=jt(I)||Ss(y);return T._open=!b||A===Ue.attentionSideAfter&&(P||z),T._close=!P||y===Ue.attentionSideAfter&&(b||jt(A)),i(x)}}}function Ps(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(vs(e))}var Kd=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),Qd=/^(https?:\/\/|mailto:|www\.)/i,Jd=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},Yd=e=>{let t=0;for(let a of e){if(Kd.has(a))return t;t+=a.length}return null},Zd=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),ec=e=>({type:"text",value:e}),tc=()=>e=>{xn(e,"link",(t,a,r)=>{if(!r||typeof a!="number"||!Jd(t)||!Qd.test(t.url))return;let o=Yd(t.url);if(o===null||o===0)return;let n=t.url.slice(0,o),s=t.url.slice(o),i=Zd(n,t),l=ec(s);return r.children.splice(a,1,i,l),a+1})};function ac(){let e=[Ts],t=[tc,Ps],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var Kr=ac();var ae=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function rc(e){return no(e)}function no(e){return Array.isArray(e)?oc(e):e instanceof RegExp?e:typeof e=="object"?nc(e):e}function oc(e){let t=[];for(let a=0,r=e.length;a<r;a++)t[a]=no(e[a]);return t}function nc(e){let t={};for(let a in e)t[a]=no(e[a]);return t}function Ns(e,...t){return t.forEach(a=>{for(let r in a)e[r]=a[r]}),e}function Os(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?Os(e.substring(0,e.length-1)):e.substr(~t+1)}var Qr=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,Fa=class{static hasCaptures(e){return e===null?!1:(Qr.lastIndex=0,Qr.test(e))}static replaceCaptures(e,t,a){return e.replace(Qr,(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 Us(e,t){return e<t?-1:e>t?1:0}function Hs(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=Us(e[o],t[o]);if(n!==0)return n}return 0}return a-r}function As(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 Ws=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}},Kt=class{constructor(e,t,a){this._colorMap=e,this._defaults=t,this._root=a}static createFromRawTheme(e,t){return this.createFromParsedTheme(lc(e),t)}static createFromParsedTheme(e,t){return dc(e,t)}_cachedMatchRoot=new Ws(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=>sc(e.parent,o.parentScopes));return r?new Gs(r.fontStyle,r.foreground,r.background):null}},Jr=class Ba{constructor(t,a){this.parent=t,this.scopeName=a}static push(t,a){for(let r of a)t=new Ba(t,r);return t}static from(...t){let a=null;for(let r=0;r<t.length;r++)a=new Ba(a,t[r]);return a}push(t){return new Ba(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 sc(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 Gs=class{constructor(e,t,a){this.fontStyle=e,this.foregroundId=t,this.backgroundId=a}};function lc(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 p=0,f=d.length;p<f;p++)switch(d[p]){case"italic":l=l|1;break;case"bold":l=l|2;break;case"underline":l=l|4;break;case"strikethrough":l=l|8;break}}let u=null;typeof s.settings.foreground=="string"&&As(s.settings.foreground)&&(u=s.settings.foreground);let c=null;typeof s.settings.background=="string"&&As(s.settings.background)&&(c=s.settings.background);for(let d=0,p=i.length;d<p;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 uc(I,L,o,l,u,c)}}return a}var uc=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 dc(e,t){e.sort((l,u)=>{let c=Us(l.scope,u.scope);return c!==0||(c=Hs(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 cc(t),s=new Gs(a,n.getId(r),n.getId(o)),i=new pc(new Zr(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 Kt(n,s,i)}var cc=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)}},fc=Object.freeze([]),Zr=class Vs{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,r,o,n){this.scopeDepth=t,this.parentScopes=a||fc,this.fontStyle=r,this.foreground=o,this.background=n}clone(){return new Vs(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)}},pc=class eo{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(eo._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 eo(this._mainRule.clone(),Zr.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(Hs(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 Zr(t,a,r,o,n))}},ut=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),p=De.getForeground(t),f=De.getBackground(t);return a!==0&&(l=a),r!==8&&(u=r),o!==null&&(c=o?1:0),n!==-1&&(d=n),s!==0&&(p=s),i!==0&&(f=i),(l<<0|u<<8|c<<10|d<<11|p<<15|f<<24)>>>0}};function Ea(e,t){let a=[],r=mc(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(Rs(o)){let l=[];do l.push(o),o=r.next();while(Rs(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 Rs(e){return!!e&&!!e.match(/[\w\.:]+/)}function mc(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 zs(e){typeof e.dispose=="function"&&e.dispose()}var Qt=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},hc=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},gc=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))}},wc=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new Qt(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new gc;for(let a of e)xc(a,this.initialScopeName,this.repo,t);for(let a of t.references)if(a instanceof Qt){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 xc(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 Qt?Da({baseGrammar:n,selfGrammar:o},r):to(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 Qt(i))}function to(e,t,a){if(t.repository&&t.repository[e]){let r=t.repository[e];_a([r],t,a)}}function Da(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&_a(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&_a(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function _a(e,t,a){for(let r of e){if(a.visitedRule.has(r))continue;a.visitedRule.add(r);let o=r.repository?Ns({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&_a(r.patterns,{...t,repository:o},a);let n=r.include;if(!n)continue;let s=js(n);switch(s.kind){case 0:Da({...t,selfGrammar:t.baseGrammar},a);break;case 1:Da(t,a);break;case 2:to(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?to(s.ruleName,l,a):Da(l,a)}else s.kind===4?a.add(new hc(s.scopeName,s.ruleName)):a.add(new Qt(s.scopeName));break}}}var Lc=class{kind=0},Ic=class{kind=1},Cc=class{constructor(e){this.ruleName=e}kind=2},Sc=class{constructor(e){this.scopeName=e}kind=3},yc=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function js(e){if(e==="$base")return new Lc;if(e==="$self")return new Ic;let t=e.indexOf("#");if(t===-1)return new Sc(e);if(t===0)return new Cc(e.substring(1));{let a=e.substring(0,t),r=e.substring(t+1);return new yc(a,r)}}var bc=/\\(\d+)/,Ms=/\\(\d+)/g;var kc=-1,$s=-2;var Zt=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,a,r){this.$location=e,this.id=t,this._name=a||null,this._nameIsCapturing=Fa.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=Fa.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${Os(this.$location.filename)}:${this.$location.line}`:"unknown";return`${this.constructor.name}#${this.id} @ ${e}`}getName(e,t){return!this._nameIsCapturing||this._name===null||e===null||t===null?this._name:Fa.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:Fa.replaceCaptures(this._contentName,e,t)}},Tc=class extends Zt{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!")}},vc=class extends Zt{_match;captures;_cachedCompiledPatterns;constructor(e,t,a,r,o){super(e,t,a,null),this._match=new Jt(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 Yt,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Fs=class extends Zt{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 Yt,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},ao=class extends Zt{_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 Jt(o,this.id),this.beginCaptures=n,this._end=new Jt(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 Yt;for(let a of this.patterns)e.getRule(a).collectPatterns(e,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,t):this._cachedCompiledPatterns.setSource(0,t)),this._cachedCompiledPatterns}},Na=class extends Zt{_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 Jt(o,this.id),this.beginCaptures=n,this.whileCaptures=i,this._while=new Jt(s,$s),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 Yt;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 Yt,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},Xs=class be{static createCaptureRule(t,a,r,o,n){return t.registerRule(s=>new Tc(a,s,r,o,n))}static getCompiledRuleId(t,a,r){return t.id||a.registerRule(o=>{if(t.id=o,t.match)return new vc(t.$vscodeTextmateLocation,t.id,t.name,t.match,be._compileCaptures(t.captures,a,r));if(typeof t.begin>"u"){t.repository&&(r=Ns({},r,t.repository));let n=t.patterns;return typeof n>"u"&&t.include&&(n=[{include:t.include}]),new Fs(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,be._compilePatterns(n,a,r))}return t.while?new Na(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,be._compileCaptures(t.beginCaptures||t.captures,a,r),t.while,be._compileCaptures(t.whileCaptures||t.captures,a,r),be._compilePatterns(t.patterns,a,r)):new ao(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,be._compileCaptures(t.beginCaptures||t.captures,a,r),t.end,be._compileCaptures(t.endCaptures||t.captures,a,r),t.applyEndPatternLast,be._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=be.getCompiledRuleId(t[s],a,r)),o[i]=be.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=js(i.include);switch(u.kind){case 0:case 1:l=be.getCompiledRuleId(r[i.include],a,r);break;case 2:let c=r[u.ruleName];c&&(l=be.getCompiledRuleId(c,a,r));break;case 3:case 4:let d=u.scopeName,p=u.kind===4?u.ruleName:null,f=a.getExternalGrammar(d,r);if(f)if(p){let m=f.repository[p];m&&(l=be.getCompiledRuleId(m,a,f.repository))}else l=be.getCompiledRuleId(f.repository.$self,a,f.repository);break}}else l=be.getCompiledRuleId(i,a,r);if(l!==-1){let u=a.getRule(l),c=!1;if((u instanceof Fs||u instanceof ao||u instanceof Na)&&u.hasMissingPatterns&&u.patterns.length===0&&(c=!0),c)continue;o.push(l)}}return{patterns:o,hasMissingPatterns:(t?t.length:0)!==o.length}}},Jt=class Ks{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=bc.test(this.source):this.hasBackReferences=!1}clone(){return new Ks(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 Ms.lastIndex=0,this.source.replace(Ms,(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}},Yt=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 Bs(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 Bs(e,r,this._items.map(o=>o.ruleId))}},Bs=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}},Yr=class{constructor(e,t){this.languageId=e,this.tokenType=t}},Pc=class ro{_defaultAttributes;_embeddedLanguagesMatcher;constructor(t,a){this._defaultAttributes=new Yr(t,8),this._embeddedLanguagesMatcher=new Ac(Object.entries(a||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?ro._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new Yr(0,0);_getBasicScopeAttributes=new Ws(t=>{let a=this._scopeToLanguage(t),r=this._toStandardTokenType(t);return new Yr(a,r)});_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){let a=t.match(ro.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/},Ac=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},Qs=!1,Ds=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function Js(e,t,a,r,o,n,s,i){let l=t.content.length,u=!1,c=-1;if(s){let f=Rc(e,t,a,r,o,n);o=f.stack,r=f.linePos,a=f.isFirstLine,c=f.anchorPosition}let d=Date.now();for(;!u;){if(i!==0&&Date.now()-d>i)return new Ds(o,!0);p()}return new Ds(o,!1);function p(){let f=Mc(e,t,a,r,o,c);if(!f){n.produce(o,l),u=!0;return}let m=f.captureIndices,I=f.matchedRuleId,L=m&&m.length>0?m[0].end>r:!1;if(I===kc){let w=o.getRule(e);n.produce(o,m[0].start),o=o.withContentNameScopesList(o.nameScopesList),$t(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 ao){let y=w;$t(e,t,a,o,n,y.beginCaptures,m),n.produce(o,m[0].end),c=m[0].end;let T=y.getContentName(t.content,m),v=x.pushAttributed(T,e);if(o=o.withContentNameScopesList(v),y.endHasBackReferences&&(o=o.withEndRule(y.getEndWithResolvedBackReferences(t.content,m))),!L&&g.hasSameRuleAs(o)){o=o.pop(),n.produce(o,l),u=!0;return}}else if(w instanceof Na){let y=w;$t(e,t,a,o,n,y.beginCaptures,m),n.produce(o,m[0].end),c=m[0].end;let T=y.getContentName(t.content,m),v=x.pushAttributed(T,e);if(o=o.withContentNameScopesList(v),y.whileHasBackReferences&&(o=o.withEndRule(y.getWhileWithResolvedBackReferences(t.content,m))),!L&&g.hasSameRuleAs(o)){o=o.pop(),n.produce(o,l),u=!0;return}}else if($t(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 Rc(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 Na&&i.push({rule:u,stack:l})}for(let l=i.pop();l;l=i.pop()){let{ruleScanner:u,findOptions:c}=Dc(l.rule,e,l.stack.endRule,a,r===s),d=u.findNextMatchSync(t,r,c);if(d){if(d.ruleId!==$s){o=l.stack.pop();break}d.captureIndices&&d.captureIndices.length&&(n.produce(l.stack,d.captureIndices[0].start),$t(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 Mc(e,t,a,r,o,n){let s=Fc(e,t,a,r,o,n),i=e.getInjections();if(i.length===0)return s;let l=Bc(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 Fc(e,t,a,r,o,n){let s=o.getRule(e),{ruleScanner:i,findOptions:l}=Ys(s,e,o.endRule,a,r===n),u=i.findNextMatchSync(t,r,l);return u?{captureIndices:u.captureIndices,matchedRuleId:u.ruleId}:null}function Bc(e,t,a,r,o,n,s){let i=Number.MAX_VALUE,l=null,u,c=0,d=n.contentNameScopesList.getScopeNames();for(let p=0,f=e.length;p<f;p++){let m=e[p];if(!m.matcher(d))continue;let I=t.getRule(m.ruleId),{ruleScanner:L,findOptions:w}=Ys(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 Ys(e,t,a,r,o){if(Qs){let s=e.compile(t,a),i=Zs(r,o);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileAG(t,a,r,o),findOptions:0}}function Dc(e,t,a,r,o){if(Qs){let s=e.compileWhile(t,a),i=Zs(r,o);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileWhileAG(t,a,r,o),findOptions:0}}function Zs(e,t){let a=0;return e||(a|=1),t||(a|=4),a}function $t(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 p=n[d];if(p===null)continue;let f=s[d];if(f.length===0)continue;if(f.start>c)break;for(;u.length>0&&u[u.length-1].endPos<=f.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,f.start):o.produce(r,f.start),p.retokenizeCapturedWithRuleId){let I=p.getName(i,s),L=r.contentNameScopesList.pushAttributed(I,e),w=p.getContentName(i,s),g=L.pushAttributed(w,e),h=r.push(p.retokenizeCapturedWithRuleId,f.start,-1,!1,null,L,g),x=e.createOnigString(i.substring(0,f.end));Js(e,x,a&&f.start===0,f.start,h,o,!1,0),zs(x);continue}let m=p.getName(i,s);if(m!==null){let L=(u.length>0?u[u.length-1].scopes:r.contentNameScopesList).pushAttributed(m,e);u.push(new Ec(L,f.end))}}for(;u.length>0;)o.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop()}var Ec=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function _c(e,t,a,r,o,n,s,i){return new Oc(e,t,a,r,o,n,s,i)}function Es(e,t,a,r,o){let n=Ea(t,Oa),s=Xs.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 Oa(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(Nc(t[o],r))return a=o+1,!0;return!1})}function Nc(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 Oc=class{constructor(e,t,a,r,o,n,s,i){if(this._rootScopeName=e,this.balancedBracketSelectors=n,this._onigLib=i,this._basicScopeAttributesProvider=new Pc(a,r),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=s,this._grammar=_s(t,null),this._injections=null,this._tokenTypeMatchers=[],o)for(let l of Object.keys(o)){let u=Ea(l,Oa);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)Es(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&&Es(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]=_s(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=Xs.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let o;if(!t||t===oo.NULL){o=!0;let u=this._basicScopeAttributesProvider.getDefaultAttributes(),c=this.themeProvider.getDefaults(),d=ut.set(0,u.languageId,u.tokenType,null,c.fontStyle,c.foregroundId,c.backgroundId),p=this.getRule(this._rootId).getName(null,null),f;p?f=Xt.createRootAndLookUpScopeName(p,d,this):f=Xt.createRoot("unknown",d),t=new oo(null,this._rootId,-1,-1,!1,null,f,f)}else o=!1,t.reset();e=e+`
|
|
4
|
+
`;let n=this.createOnigString(e),s=n.content.length,i=new Hc(a,e,this._tokenTypeMatchers,this.balancedBracketSelectors),l=Js(this,n,o,0,t,i,!0,r);return zs(n),{lineLength:s,lineTokens:i,ruleStack:l.stack,stoppedEarly:l.stoppedEarly}}};function _s(e,t){return e=rc(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 Xt=class He{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=Jr.push(o,n.scopeNames),r=new He(r,o,n.encodedTokenAttributes);return r}static createRoot(t,a){return new He(null,new Jr(null,t),a)}static createRootAndLookUpScopeName(t,a,r){let o=r.getMetadataForScope(t),n=new Jr(null,t),s=r.themeProvider.themeMatch(n),i=He.mergeAttributes(a,o,s);return new He(null,n,i)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return He.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),ut.set(t,a.languageId,a.tokenType,null,o,n,s)}pushAttributed(t,a){if(t===null)return this;if(t.indexOf(" ")===-1)return He._pushAttributed(this,t,a);let r=t.split(/ /g),o=this;for(let n of r)o=He._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=He.mergeAttributes(t.tokenAttributes,o,s);return new He(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}},oo=class lt{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 lt(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:lt._equals(this,t)}static _equals(t,a){return t===a?!0:this._structuralEquals(t,a)?Xt.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(){lt._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,a,r,o,n,s,i){return new lt(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 lt(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=Xt.fromExtension(t?.nameScopesList??null,a.nameScopesList);return new lt(t,a.ruleId,a.enterPos??-1,a.anchorPos??-1,a.beginRuleCapturedEOL,a.endRule,r,Xt.fromExtension(r,a.contentNameScopesList))}},Uc=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(a=>a==="*"?(this.allowAny=!0,[]):Ea(a,Oa).map(r=>r.matcher)),this.unbalancedBracketScopes=t.flatMap(a=>Ea(a,Oa).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}},Hc=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=ut.set(r,0,s.type,null,-1,0,0));this.balancedBracketSelectors&&(o=this.balancedBracketSelectors.match(n))}if(o&&(r=ut.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}},qc=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,_c(e,n,t,a,r,o,this,this._onigLib))}return this._grammars.get(e)}},ei=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new qc(Kt.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(Kt.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 Uc(a.balancedBracketSelectors||[],a.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,a,r,o){let n=new wc(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)}},Ua=oo.NULL;var Wc=/["&'<>`]/g,Gc=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Vc=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,zc=/[|\\{}()[\]^$+*?.]/g,ti=new WeakMap;function ai(e,t){if(e=e.replace(t.subset?jc(t.subset):Wc,r),t.subset||t.escapeOnly)return e;return e.replace(Gc,a).replace(Vc,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 jc(e){let t=ti.get(e);return t||(t=$c(e),ti.set(e,t)),t}function $c(e){let t=[],a=-1;for(;++a<e.length;)t.push(e[a].replace(zc,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}var Xc=/[\dA-Fa-f]/;function ri(e,t,a){let r="&#x"+e.toString(16).toUpperCase();return a&&t&&!Xc.test(String.fromCharCode(t))?r:r+";"}var Kc=/\d/;function oi(e,t,a){let r="&#"+String(e);return a&&t&&!Kc.test(String.fromCharCode(t))?r:r+";"}var ni=["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 Ha={nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",frac34:"\xBE",iquest:"\xBF",Agrave:"\xC0",Aacute:"\xC1",Acirc:"\xC2",Atilde:"\xC3",Auml:"\xC4",Aring:"\xC5",AElig:"\xC6",Ccedil:"\xC7",Egrave:"\xC8",Eacute:"\xC9",Ecirc:"\xCA",Euml:"\xCB",Igrave:"\xCC",Iacute:"\xCD",Icirc:"\xCE",Iuml:"\xCF",ETH:"\xD0",Ntilde:"\xD1",Ograve:"\xD2",Oacute:"\xD3",Ocirc:"\xD4",Otilde:"\xD5",Ouml:"\xD6",times:"\xD7",Oslash:"\xD8",Ugrave:"\xD9",Uacute:"\xDA",Ucirc:"\xDB",Uuml:"\xDC",Yacute:"\xDD",THORN:"\xDE",szlig:"\xDF",agrave:"\xE0",aacute:"\xE1",acirc:"\xE2",atilde:"\xE3",auml:"\xE4",aring:"\xE5",aelig:"\xE6",ccedil:"\xE7",egrave:"\xE8",eacute:"\xE9",ecirc:"\xEA",euml:"\xEB",igrave:"\xEC",iacute:"\xED",icirc:"\xEE",iuml:"\xEF",eth:"\xF0",ntilde:"\xF1",ograve:"\xF2",oacute:"\xF3",ocirc:"\xF4",otilde:"\xF5",ouml:"\xF6",divide:"\xF7",oslash:"\xF8",ugrave:"\xF9",uacute:"\xFA",ucirc:"\xFB",uuml:"\xFC",yacute:"\xFD",thorn:"\xFE",yuml:"\xFF",fnof:"\u0192",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039A",Lambda:"\u039B",Mu:"\u039C",Nu:"\u039D",Xi:"\u039E",Omicron:"\u039F",Pi:"\u03A0",Rho:"\u03A1",Sigma:"\u03A3",Tau:"\u03A4",Upsilon:"\u03A5",Phi:"\u03A6",Chi:"\u03A7",Psi:"\u03A8",Omega:"\u03A9",alpha:"\u03B1",beta:"\u03B2",gamma:"\u03B3",delta:"\u03B4",epsilon:"\u03B5",zeta:"\u03B6",eta:"\u03B7",theta:"\u03B8",iota:"\u03B9",kappa:"\u03BA",lambda:"\u03BB",mu:"\u03BC",nu:"\u03BD",xi:"\u03BE",omicron:"\u03BF",pi:"\u03C0",rho:"\u03C1",sigmaf:"\u03C2",sigma:"\u03C3",tau:"\u03C4",upsilon:"\u03C5",phi:"\u03C6",chi:"\u03C7",psi:"\u03C8",omega:"\u03C9",thetasym:"\u03D1",upsih:"\u03D2",piv:"\u03D6",bull:"\u2022",hellip:"\u2026",prime:"\u2032",Prime:"\u2033",oline:"\u203E",frasl:"\u2044",weierp:"\u2118",image:"\u2111",real:"\u211C",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21B5",lArr:"\u21D0",uArr:"\u21D1",rArr:"\u21D2",dArr:"\u21D3",hArr:"\u21D4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220B",prod:"\u220F",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221A",prop:"\u221D",infin:"\u221E",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222A",int:"\u222B",there4:"\u2234",sim:"\u223C",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22A5",sdot:"\u22C5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230A",rfloor:"\u230B",lang:"\u2329",rang:"\u232A",loz:"\u25CA",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666",quot:'"',amp:"&",lt:"<",gt:">",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",circ:"\u02C6",tilde:"\u02DC",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",permil:"\u2030",lsaquo:"\u2039",rsaquo:"\u203A",euro:"\u20AC"};var si=["cent","copy","divide","gt","lt","not","para","times"];var ii={}.hasOwnProperty,so={},qa;for(qa in Ha)ii.call(Ha,qa)&&(so[Ha[qa]]=qa);var Qc=/[^\dA-Za-z]/;function li(e,t,a,r){let o=String.fromCharCode(e);if(ii.call(so,o)){let n=so[o],s="&"+n;return a&&ni.includes(n)&&!si.includes(n)&&(!r||t&&t!==61&&Qc.test(String.fromCharCode(t)))?s:s+";"}return""}function ui(e,t,a){let r=ri(e,t,a.omitOptionalSemicolons),o;if((a.useNamedReferences||a.useShortestReferences)&&(o=li(e,t,a.omitOptionalSemicolons,a.attribute)),(a.useShortestReferences||!o)&&a.useShortestReferences){let n=oi(e,t,a.omitOptionalSemicolons);n.length<r.length&&(r=n)}return o&&(!a.useShortestReferences||o.length<r.length)?o:r}function Ve(e,t){return ai(e,Object.assign({format:ui},t))}var Jc=/^>|^->|<!--|-->|--!>|<!-$/g,Yc=[">"],Zc=["<",">"];function di(e,t,a,r){return r.settings.bogusComments?"<?"+Ve(e.value,Object.assign({},r.settings.characterReferences,{subset:Yc}))+">":"<!--"+e.value.replace(Jc,o)+"-->";function o(n){return Ve(n,Object.assign({},r.settings.characterReferences,{subset:Zc}))}}function ci(e,t,a,r){return"<!"+(r.settings.upperDoctype?"DOCTYPE":"doctype")+(r.settings.tightDoctype?"":" ")+"html>"}var ue=fi(1),io=fi(-1),ef=[];function fi(e){return t;function t(a,r,o){let n=a?a.children:ef,s=(r||0)+e,i=n[s];if(!o)for(;i&&xt(i);)s+=e,i=n[s];return i}}var tf={}.hasOwnProperty;function Wa(e){return t;function t(a,r,o){return tf.call(e,a.tagName)&&e[a.tagName](a,r,o)}}var ea=Wa({body:rf,caption:lo,colgroup:lo,dd:lf,dt:sf,head:lo,html:af,li:nf,optgroup:uf,option:df,p:of,rp:pi,rt:pi,tbody:ff,td:mi,tfoot:pf,th:mi,thead:cf,tr:mf});function lo(e,t,a){let r=ue(a,t,!0);return!r||r.type!=="comment"&&!(r.type==="text"&&xt(r.value.charAt(0)))}function af(e,t,a){let r=ue(a,t);return!r||r.type!=="comment"}function rf(e,t,a){let r=ue(a,t);return!r||r.type!=="comment"}function of(e,t,a){let r=ue(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 nf(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&r.tagName==="li"}function sf(e,t,a){let r=ue(a,t);return!!(r&&r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd"))}function lf(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd")}function pi(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&(r.tagName==="rp"||r.tagName==="rt")}function uf(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&r.tagName==="optgroup"}function df(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&(r.tagName==="option"||r.tagName==="optgroup")}function cf(e,t,a){let r=ue(a,t);return!!(r&&r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot"))}function ff(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot")}function pf(e,t,a){return!ue(a,t)}function mf(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&r.tagName==="tr"}function mi(e,t,a){let r=ue(a,t);return!r||r.type==="element"&&(r.tagName==="td"||r.tagName==="th")}var hi=Wa({body:wf,colgroup:xf,head:gf,html:hf,tbody:Lf});function hf(e){let t=ue(e,-1);return!t||t.type!=="comment"}function gf(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 wf(e){let t=ue(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&xt(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function xf(e,t,a){let r=io(a,t),o=ue(e,-1,!0);return a&&r&&r.type==="element"&&r.tagName==="colgroup"&&ea(r,a.children.indexOf(r),a)?!1:!!(o&&o.type==="element"&&o.tagName==="col")}function Lf(e,t,a){let r=io(a,t),o=ue(e,-1);return a&&r&&r.type==="element"&&(r.tagName==="thead"||r.tagName==="tbody")&&ea(r,a.children.indexOf(r),a)?!1:!!(o&&o.type==="element"&&o.tagName==="tr")}var Ga={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 un,b as dn,c as cn,d as fn,e as pn,f as ma,g as mn,h as hn,i as gn,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 ui(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=ma);let u=df(r,e.properties),c=r.all(o.space==="html"&&e.tagName==="template"?e.content:e);return r.schema=o,c&&(s=!1),(u||!n||!li(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||!Zt(e,t,a))&&i.push("</"+e.tagName+">"),i.join("")}function df(e,t){let a=[],r=-1,o;if(t){for(o in t)if(t[o]!==null&&t[o]!==void 0){let n=cf(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 cf(e,t,a){let r=fn(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=We(r.attribute,Object.assign({},e.settings.characterReferences,{subset:Ga.name[o][n]}));return a===!0||(a=Array.isArray(a)?(r.commaSeparated?mn:hn)(a,{padLeft:!e.settings.tightCommaSeparatedLists}):String(a),e.settings.collapseEmptyAttributes&&!a)?l:(e.settings.preferUnquoted&&(i=We(a,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:Ga.unquoted[o][n]}))),i!==a&&(e.settings.quoteSmart&&Tr(a,s)>Tr(a,e.alternative)&&(s=e.alternative),i=s+We(a,Object.assign({},e.settings.characterReferences,{subset:(s==="'"?Ga.single:Ga.double)[o][n],attribute:!0}))+s),l+(i&&"="+i))}var ff=["<","&"];function Wa(e,t,a,r){return a&&a.type==="element"&&(a.tagName==="script"||a.tagName==="style")?e.value:We(e.value,Object.assign({},r.settings.characterReferences,{subset:ff}))}function di(e,t,a,r){return r.settings.allowDangerousHtml?e.value:Wa(e,t,a,r)}function ci(e,t,a,r){return r.all(e)}var fi=gn("type",{invalid:pf,unknown:mf,handlers:{comment:ri,doctype:oi,element:ui,raw:di,root:ci,text:Wa}});function pf(e){throw new Error("Expected node, not `"+e+"`")}function mf(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var hf={},gf={},wf=[];function no(e,t){let a=t||hf,r=a.quote||'"',o=r==='"'?"'":'"';if(r!=='"'&&r!=="'")throw new Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:xf,all:Lf,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||wn,characterReferences:a.characterReferences||gf,closeSelfClosing:a.closeSelfClosing||!1,closeEmptyElements:a.closeEmptyElements||!1},schema:a.space==="svg"?ma:pn,quote:r,alternative:o}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function xf(e,t,a){return fi(e,t,a,this)}function Lf(e){let t=[],a=e&&e.children||wf,r=-1;for(;++r<a.length;)t[r]=this.one(a[r],r,e);return t.join("")}function Va(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 Qe(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function If(e){return Array.isArray(e)?e:[e]}async function Li(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function fo(e){return!e||["plaintext","txt","text","plain"].includes(e)}function Ii(e){return e==="ansi"||fo(e)}function po(e){return e==="none"}function Ci(e){return po(e)}function Si(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 Ka(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 Cf(e){let t=Ka(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 yi(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 mo="light-dark()",Sf=["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 bf(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 kf(e,t,a,r,o="css-vars"){let n={content:e.content,explanation:e.explanation,offset:e.offset},s=t.map(c=>za(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&&Sf.includes(f))if(r===mo&&s.length>1){let m=t.findIndex(w=>w==="light"),S=t.findIndex(w=>w==="dark");if(m===-1||S===-1)throw new re('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let g=s[m][f]||"inherit",x=s[S][f]||"inherit";l[f]=`light-dark(${g}, ${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 za(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t["background-color"]=e.bgColor),e.fontStyle){e.fontStyle&Ce.Italic&&(t["font-style"]="italic"),e.fontStyle&Ce.Bold&&(t["font-weight"]="bold");let a=[];e.fontStyle&Ce.Underline&&a.push("underline"),e.fontStyle&Ce.Strikethrough&&a.push("line-through"),a.length&&(t["text-decoration"]=a.join(" "))}return t}function lo(e){return typeof e=="string"?e:Object.entries(e).map(([t,a])=>`${t}:${a}`).join(";")}var bi=new WeakMap;function Qa(e,t){bi.set(e,t)}function ta(e){return bi.get(e)}var St=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(If(a).map(r=>[r,Oa])),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 Tf(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function Tf(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 vf(e,t){if(!(e instanceof St))throw new re("Invalid grammar state");return e.getInternalStack(t)}function Pf(){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 re(`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 re(`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 re(`Invalid decoration position ${JSON.stringify(s)}. Line ${s.line} length: ${i.length}`);return{...s,character:l,offset:o.posToIndex(s.line,l)}}},o=Cf(a.source),n=(a.options.decorations||[]).map(s=>({...s,start:r(s.start),end:r(s.end)}));Af(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 bf(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 re(`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],S="",g=-1,x=-1;if(d===0&&(g=0),f===0&&(x=0),f===Number.POSITIVE_INFINITY&&(x=m.children.length),g===-1||x===-1)for(let h=0;h<m.children.length;h++)S+=ki(m.children[h]),g===-1&&S.length===d&&(g=h+1),x===-1&&S.length===f&&(x=h+1);if(g===-1)throw new re(`Failed to find start index for decoration ${JSON.stringify(p.start)}`);if(x===-1)throw new re(`Failed to find end index for decoration ${JSON.stringify(p.end)}`);let w=m.children.slice(g,x);if(!p.alwaysWrap&&w.length===m.children.length)i(m,p,"line");else if(!p.alwaysWrap&&w.length===1&&w[0].type==="element")i(w[0],p,"token");else{let h={type:"element",tagName:"span",properties:{},children:w};i(h,p,"wrapper"),m.children.splice(g,w.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||(S=>S);return c.tagName=d.tagName||"span",c.properties={...c.properties,...p,class:c.properties.class},d.properties?.class&&Si(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 Af(e){for(let t=0;t<e.length;t++){let a=e[t];if(a.start.offset>a.end.offset)throw new re(`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 re(`Decorations ${JSON.stringify(a.start)} and ${JSON.stringify(o.start)} intersect.`)}}}}function ki(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(ki).join(""):""}var Rf=[Pf()];function ja(e){let t=Mf(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...Rf]}function Mf(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 lt=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],so={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function Ff(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 pi(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 Bf(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)so[r]&&t.push({type:"setDecoration",value:so[r]});else if(r<=29){let o=so[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:lt[r-30]}});else if(r===38){let o=pi(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:lt[r-40]}});else if(r===48){let o=pi(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:lt[r-90+8]}}):r>=100&&r<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:lt[r-100+8]}})}return t}function Df(){let e=null,t=null,a=new Set;return{parse(r){let o=[],n=0;do{let s=Ff(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=Bf(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 Ef={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 _f(e=Ef){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<lt.length;u++)r.push(t(lt[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 Nf={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 Of(e,t,a){let r=Va(e,a),o=Ka(t),n=Object.fromEntries(lt.map(l=>{let u=`terminal.ansi${l[0].toUpperCase()}${l.substring(1)}`,c=e.colors?.[u];return[l,c||Nf[l]]})),s=_f(n),i=Df();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=Qe(c,r),d=Qe(d,r),u.decorations.has("dim")&&(c=Uf(c));let f=Ce.None;return u.decorations.has("bold")&&(f|=Ce.Bold),u.decorations.has("italic")&&(f|=Ce.Italic),u.decorations.has("underline")&&(f|=Ce.Underline),u.decorations.has("strikethrough")&&(f|=Ce.Strikethrough),{content:u.value,offset:l[1],color:c,bgColor:d,fontStyle:f}}))}function Uf(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 ho(e,t,a={}){let{theme:r=e.getLoadedThemes()[0]}=a,o=e.resolveLangAlias(a.lang||"text");if(fo(o)||po(r))return Ka(t).map(l=>[{content:l[0],offset:l[1]}]);let{theme:n,colorMap:s}=e.setTheme(r);if(o==="ansi")return Of(n,t,a);let i=e.getLanguage(a.lang||"text");if(a.grammarState){if(a.grammarState.lang!==i.name)throw new re(`Grammar state language "${a.grammarState.lang}" does not match highlight language "${i.name}"`);if(!a.grammarState.themes.includes(n.name))throw new re(`Grammar state themes "${a.grammarState.themes}" do not contain highlight theme "${n.name}"`)}return qf(t,i,n,s,a)}function Hf(...e){if(e.length===2)return ta(e[1]);let[t,a,r={}]=e,{lang:o="text",theme:n=t.getLoadedThemes()[0]}=r;if(fo(o)||po(n))throw new re("Plain language does not have grammar state");if(o==="ansi")throw new re("ANSI language does not have grammar state");let{theme:s,colorMap:i}=t.setTheme(n),l=t.getLanguage(o);return new St(go(a,l,s,i,r).stateStack,l.name,s.name)}function qf(e,t,a,r,o){let n=go(e,t,a,r,o),s=new St(n.stateStack,t.name,a.name);return Qa(n.tokens,s),n.tokens}function go(e,t,a,r,o){let n=Va(a,o),{tokenizeMaxLineLength:s=0,tokenizeTimeLimit:i=500}=o,l=Ka(e),u=o.grammarState?vf(o.grammarState,a.name)??Oa:o.grammarContextCode!=null?go(o.grammarContextCode,t,a,r,{...o,grammarState:void 0,grammarContextCode:void 0}).stateStack:Oa,c=[],d=[];for(let f=0,p=l.length;f<p;f++){let[m,S]=l[f];if(m===""){c=[],d.push([]);continue}if(s>0&&m.length>=s){c=[],d.push([{content:m,offset:S,color:"",fontStyle:0}]);continue}let g,x,w;o.includeExplanation&&(g=t.tokenizeLine(m,u,i),x=g.tokens,w=0);let h=t.tokenizeLine2(m,u,i),C=h.tokens.length/2;for(let I=0;I<C;I++){let b=h.tokens[2*I],v=I+1<C?h.tokens[2*I+2]:m.length;if(b===v)continue;let P=h.tokens[2*I+1],A=Qe(r[it.getForeground(P)],n),M=it.getFontStyle(P),B={content:m.substring(b,v),offset:S+b,color:A,fontStyle:M};if(o.includeExplanation){let T=[];if(o.includeExplanation!=="scopeName")for(let X of a.settings){let L;switch(typeof X.scope){case"string":L=X.scope.split(/,/).map(E=>E.trim());break;case"object":L=X.scope;break;default:continue}T.push({settings:X,selectors:L.map(E=>E.split(/ /))})}B.explanation=[];let $=0;for(;b+$<v;){let X=x[w],L=m.substring(X.startIndex,X.endIndex);$+=L.length,B.explanation.push({content:L,scopes:o.includeExplanation==="scopeName"?Gf(X.scopes):Wf(T,X.scopes)}),w+=1}}c.push(B)}d.push(c),c=[],u=h.ruleStack}return{tokens:d,stateStack:u}}function Gf(e){return e.map(t=>({scopeName:t}))}function Wf(e,t){let a=[];for(let r=0,o=t.length;r<o;r++){let n=t[r];a[r]={scopeName:n,themeMatches:zf(e,n,t.slice(0,r))}}return a}function mi(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function Vf(e,t,a){if(!mi(e[e.length-1],t))return!1;let r=e.length-2,o=a.length-1;for(;r>=0&&o>=0;)mi(e[r],a[o])&&(r-=1),o-=1;return r===-1}function zf(e,t,a){let r=[];for(let{selectors:o,settings:n}of e)for(let s of o)if(Vf(s,t,a)){r.push(n);break}return r}function Ti(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=ho(e,t,{...a,theme:l.theme}),c=ta(u),d=typeof l.theme=="string"?l.theme:l.theme.name;return{tokens:u,state:c,theme:d}}),n=jf(...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:S,explanation:g,offset:x,...w}=p[u][d];f.variants[r[m].color]=w}),f})),i=o[0].state?new St(Object.fromEntries(o.map(l=>[l.theme,l.state?.getInternalStack(l.theme)])),o[0].state.lang):void 0;return i&&Qa(s,i),s}function jf(...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 $a(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,w)=>x.color===u?-1:w.color===u?1:0);if(f.length===0)throw new re("`themes` option must not be empty");let p=Ti(e,t,a);if(l=ta(p),u&&mo!==u&&!f.find(x=>x.color===u))throw new re(`\`themes\` option must contain the defaultColor key \`${u}\``);let m=f.map(x=>e.getTheme(x.theme)),S=f.map(x=>x.color);n=p.map(x=>x.map(w=>kf(w,S,c,u,d))),l&&Qa(n,l);let g=f.map(x=>Va(x.theme,a));o=hi(f,m,g,c,u,"fg",d),r=hi(f,m,g,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=Va(a.theme,a);n=ho(e,t,a);let c=e.getTheme(a.theme);r=Qe(c.bg,u),o=Qe(c.fg,u),s=c.name,l=ta(n)}else throw new re("Invalid options, either `theme` or `themes` must be provided");return{tokens:n,fg:o,bg:r,themeName:s,rootStyle:i,grammarState:l}}function hi(e,t,a,r,o,n,s){return e.map((i,l)=>{let u=Qe(t[l][n],a[l])||"inherit",c=`${r+i.color}${n==="bg"?"-bg":""}:${u}`;if(l===0&&o){if(o===mo&&e.length>1){let d=e.findIndex(S=>S.color==="light"),f=e.findIndex(S=>S.color==="dark");if(d===-1||f===-1)throw new re('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let p=Qe(t[d][n],a[d])||"inherit",m=Qe(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 Xa(e,t,a,r={meta:{},options:a,codeToHast:(o,n)=>Xa(e,o,n),codeToTokens:(o,n)=>$a(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}=$a(e,o,a),{mergeWhitespaces:d=!0,mergeSameStyleTokens:f=!1}=a;d===!0?n=Xf(n):d==="never"&&(n=Kf(n)),f&&(n=Qf(n));let p={...r,get source(){return o}};for(let m of ja(a))n=m.tokens?.call(p,n)||n;return $f(n,{...a,fg:s,bg:i,themeName:l,rootStyle:a.rootStyle===!1?!1:a.rootStyle??u},p,c)}function $f(e,t,a,r=ta(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[S,g]of Object.entries(t.meta||{}))S.startsWith("_")||(u[S]=g);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:Si,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((S,g)=>{g&&(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:[]},w=0;for(let h of S){let C={type:"element",tagName:"span",properties:{...h.htmlAttrs},children:[{type:"text",value:h.content}]},I=lo(h.htmlStyle||za(h));I&&(C.properties.style=I);for(let b of o)C=b?.span?.call(p,C,g+1,w,x,h)||C;i==="inline"?s.children.push(C):i==="classic"&&x.children.push(C),w+=h.content.length}if(i==="classic"){for(let h of o)x=h?.line?.call(p,x,g+1)||x;f.push(x),n.push(x)}else i==="inline"&&f.push(x)}),i==="classic"){for(let S of o)d=S?.code?.call(p,d)||d;c.children.push(d);for(let S of o)c=S?.pre?.call(p,c)||c;s.children.push(c)}else if(i==="inline"){let S=[],g={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(let h of s.children)h.type==="element"&&h.tagName==="br"?(S.push(g),g={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(h.type==="element"||h.type==="text")&&g.children.push(h);S.push(g);let w={type:"element",tagName:"code",properties:{},children:S};for(let h of o)w=h?.code?.call(p,w)||w;s.children=[];for(let h=0;h<w.children.length;h++){h>0&&s.children.push({type:"element",tagName:"br",properties:{},children:[]});let C=w.children[h];C.type==="element"&&s.children.push(...C.children)}}let m=s;for(let S of o)m=S?.root?.call(p,m)||m;return r&&Qa(m,r),m}function Xf(e){return e.map(t=>{let a=[],r="",o;return t.forEach((n,s)=>{let l=!(n.fontStyle&&(n.fontStyle&Ce.Underline||n.fontStyle&Ce.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 Kf(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 Qf(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=lo(o.htmlStyle||za(o)),s=lo(r.htmlStyle||za(r)),i=o.fontStyle&&(o.fontStyle&Ce.Underline||o.fontStyle&Ce.Strikethrough),l=r.fontStyle&&(r.fontStyle&Ce.Underline||r.fontStyle&Ce.Strikethrough);!i&&!l&&n===s?o.content+=r.content:a.push({...r})}return a})}var Jf=no;function Yf(e,t,a){let r={meta:{},options:a,codeToHast:(n,s)=>Xa(e,n,s),codeToTokens:(n,s)=>$a(e,n,s)},o=Jf(Xa(e,t,a,r));for(let n of ja(a))o=n.postprocess?.call(r,o,a)||o;return o}var gi={light:"#333333",dark:"#bbbbbb"},wi={light:"#fffffe",dark:"#1e1e1e"},xi="__shiki_resolved";function wo(e){if(e?.[xi])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"?gi.light:gi.dark),a||(a=t.type==="light"?wi.light:wi.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,xi,{enumerable:!1,writable:!1,value:!0}),t}async function vi(e){return Array.from(new Set((await Promise.all(e.filter(t=>!Ii(t)).map(async t=>await Li(t).then(a=>Array.isArray(a)?a:[a])))).flat()))}async function Pi(e){return(await Promise.all(e.map(async a=>Ci(a)?null:wo(await Li(a))))).filter(a=>!!a)}var io=3,Zf=!1;function ep(e,t=3){if(io&&!(typeof io=="number"&&t>io)){if(Zf)throw new Error(`[SHIKI DEPRECATE]: ${e}`);console.trace(`[SHIKI DEPRECATE]: ${e}`)}}var Ke=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Ai(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 Ke(`Circular alias \`${Array.from(a).join(" -> ")} -> ${e}\``);a.add(e)}}return e}var uo=class extends $s{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=wo(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=Xt.createFromRawTheme(t),this._textmateThemeCache.set(t,a)),this._syncRegistry.setTheme(a)}getGrammar(t){return t=Ai(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 Ke(`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}},ea=0;function tp(e){ea+=1,e.warnings!==!1&&ea>=10&&ea%10===0&&console.warn(`[Shiki] ${ea} 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 Ke("`engine` option is required for synchronous mode");let a=(e.langs||[]).flat(1),r=(e.themes||[]).flat(1).map(wo),o=new co(e.engine,a),n=new uo(o,r,a,e.langAlias),s;function i(h){return Ai(h,e.langAlias)}function l(h){x();let C=n.getGrammar(typeof h=="string"?h:h.name);if(!C)throw new Ke(`Language \`${h}\` not found, you may need to load it first`);return C}function u(h){if(h==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};x();let C=n.getTheme(h);if(!C)throw new Ke(`Theme \`${h}\` not found, you may need to load it first`);return C}function c(h){x();let C=u(h);s!==h&&(n.setTheme(C),s=h);let I=n.getColorMap();return{theme:C,colorMap:I}}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 vi(h))}function S(...h){x();for(let C of h.flat(1))n.loadTheme(C)}async function g(...h){return x(),S(await Pi(h))}function x(){if(t)throw new Ke("Shiki instance has been disposed")}function w(){t||(t=!0,n.dispose(),ea-=1)}return{setTheme:c,getTheme:u,getLanguage:l,getLoadedThemes:d,getLoadedLanguages:f,resolveLangAlias:i,loadLanguage:m,loadLanguageSync:p,loadTheme:g,loadThemeSync:S,dispose:w,[Symbol.dispose]:w}}async function ap(e){e.engine||ep("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,a,r]=await Promise.all([Pi(e.themes||[]),vi(e.langs||[]),e.engine]);return tp({...e,themes:t,langs:a,engine:r})}async function rp(e){let t=await ap(e);return{getLastGrammarState:(...a)=>Hf(t,...a),codeToTokensBase:(a,r)=>ho(t,a,r),codeToTokensWithThemes:(a,r)=>Ti(t,a,r),codeToTokens:(a,r)=>$a(t,a,r),codeToHast:(a,r)=>Xa(t,a,r),codeToHtml:(a,r)=>Yf(t,a,r),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function Ri(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,Ii(d))return[];let f=t[d];if(!f)throw new re(`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(Ci(d))return"none";if(typeof d=="string"){let f=a[d];if(!f)throw new re(`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 rp({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 op(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 Mi(e,t){let a=op(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 xo=[{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"))}],Fi=Object.fromEntries(xo.map(e=>[e.id,e.import])),Bi=Object.fromEntries(xo.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),aa={...Fi,...Bi};var np=[{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"))}],Di=Object.fromEntries(np.map(e=>[e.id,e.import]));var ra=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function sp(){return 2147483648}function ip(){return typeof performance<"u"?performance.now():Date.now()}var lp=(e,t)=>e+(t-e%t)%t;async function up(e){let t,a,r={};function o(p){a=p,r.HEAPU8=new Uint8Array(p),r.HEAPU32=new Uint32Array(p)}function n(p,m,S){r.HEAPU8.copyWithin(p,m,m+S)}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 S=sp();if(p>S)return!1;for(let g=1;g<=4;g*=2){let x=m*(1+.2/g);x=Math.min(x,p+100663296);let w=Math.min(S,lp(Math.max(p,x),65536));if(s(w))return!0}return!1}let l=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function u(p,m,S=1024){let g=m+S,x=m;for(;p[x]&&!(x>=g);)++x;if(x-m>16&&p.buffer&&l)return l.decode(p.subarray(m,x));let w="";for(;m<x;){let h=p[m++];if(!(h&128)){w+=String.fromCharCode(h);continue}let C=p[m++]&63;if((h&224)===192){w+=String.fromCharCode((h&31)<<6|C);continue}let I=p[m++]&63;if((h&240)===224?h=(h&15)<<12|C<<6|I:h=(h&7)<<18|C<<12|I<<6|p[m++]&63,h<65536)w+=String.fromCharCode(h);else{let b=h-65536;w+=String.fromCharCode(55296|b>>10,56320|b&1023)}}return w}function c(p,m){return p?u(r.HEAPU8,p,m):""}let d={emscripten_get_now:ip,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 dp=Object.defineProperty,cp=(e,t,a)=>t in e?dp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,me=(e,t,a)=>cp(e,typeof t!="symbol"?t+"":t,a),xe=null;function fp(e){throw new ra(e.UTF8ToString(e.getLastOnigError()))}var Ya=class e{constructor(t){me(this,"utf16Length"),me(this,"utf8Length"),me(this,"utf16Value"),me(this,"utf8Value"),me(this,"utf16OffsetToUtf8"),me(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}},Za=class He{constructor(t){if(me(this,"id",++He.LAST_ID),me(this,"_onigBinding"),me(this,"content"),me(this,"utf16Length"),me(this,"utf8Length"),me(this,"utf16OffsetToUtf8"),me(this,"utf8OffsetToUtf16"),me(this,"ptr"),!xe)throw new ra("Must invoke loadWasm first.");this._onigBinding=xe,this.content=t;let a=new Ya(t);this.utf16Length=a.utf16Length,this.utf8Length=a.utf8Length,this.utf16OffsetToUtf8=a.utf16OffsetToUtf8,this.utf8OffsetToUtf16=a.utf8OffsetToUtf16,this.utf8Length<1e4&&!He._sharedPtrInUse?(He._sharedPtr||(He._sharedPtr=xe.omalloc(1e4)),He._sharedPtrInUse=!0,xe.HEAPU8.set(a.utf8Value,He._sharedPtr),this.ptr=He._sharedPtr):this.ptr=a.createString(xe)}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===He._sharedPtr?He._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};me(Za,"LAST_ID",0);me(Za,"_sharedPtr",0);me(Za,"_sharedPtrInUse",!1);var Ei=Za,Io=class{constructor(t){if(me(this,"_onigBinding"),me(this,"_ptr"),!xe)throw new ra("Must invoke loadWasm first.");let a=[],r=[];for(let i=0,l=t.length;i<l;i++){let u=new Ya(t[i]);a[i]=u.createString(xe),r[i]=u.utf8Length}let o=xe.omalloc(4*t.length);xe.HEAPU32.set(a,o/4);let n=xe.omalloc(4*t.length);xe.HEAPU32.set(r,n/4);let s=xe.createOnigScanner(o,n,t.length);for(let i=0,l=t.length;i<l;i++)xe.ofree(a[i]);xe.ofree(n),xe.ofree(o),s===0&&fp(xe),this._onigBinding=xe,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 Ei(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 pp(e){return typeof e.instantiator=="function"}function mp(e){return typeof e.default=="function"}function hp(e){return typeof e.data<"u"}function gp(e){return typeof Response<"u"&&e instanceof Response}function wp(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 Ja;function xp(e){if(Ja)return Ja;async function t(){xe=await up(async a=>{let r=e;return r=await r,typeof r=="function"&&(r=await r(a)),typeof r=="function"&&(r=await r(a)),pp(r)?r=await r.instantiator(a):mp(r)?r=await r.default(a):(hp(r)&&(r=r.data),gp(r)?typeof WebAssembly.instantiateStreaming=="function"?r=await Lp(r)(a):r=await Ip(r)(a):wp(r)?r=await Lo(r)(a):r instanceof WebAssembly.Module?r=await Lo(r)(a):"default"in r&&r.default instanceof WebAssembly.Module&&(r=await Lo(r.default)(a))),"instance"in r&&(r=r.instance),"exports"in r&&(r=r.exports),r})}return Ja=t(),Ja}function Lo(e){return t=>WebAssembly.instantiate(e,t)}function Lp(e){return t=>WebAssembly.instantiateStreaming(e,t)}function Ip(e){return async t=>{let a=await e.arrayBuffer();return WebAssembly.instantiate(a,t)}}async function _i(e){return e&&await xp(e),{createScanner(t){return new Io(t.map(a=>typeof a=="string"?a:a.source))},createString(t){return new Ei(t)}}}var er=Ri({langs:aa,themes:Di,engine:()=>_i(import("../wasm-EOPKAILK.js"))}),{codeToHtml:Cp,codeToHast:Sp,codeToTokens:yp,codeToTokensBase:bp,codeToTokensWithThemes:kp,getSingletonHighlighter:Tp,getLastGrammarState:vp}=Mi(er,{guessEmbeddedLanguages:yi});var Ni=new Set(Object.keys(aa)),Co=new Map,So=new Map,yt=new Map,Pp=(e,t)=>`${e}-${t[0]}-${t[1]}`,Ap=(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}`},Rp=(e,t)=>{let a=Pp(e,t);if(Co.has(a))return Co.get(a);let r=er({themes:t,langs:[e]});return Co.set(a,r),r};function Mp(e={}){var t;let a=(t=e.themes)!=null?t:["github-light","github-dark"];return{name:"shiki",type:"code-highlighter",supportsLanguage(r){return Ni.has(r)},getSupportedLanguages(){return Array.from(Ni)},getThemes(){return a},highlight({code:r,language:o,themes:n},s){let i=Ap(r,o,n);return So.has(i)?So.get(i):(s&&(yt.has(i)||yt.set(i,new Set),yt.get(i).add(s)),Rp(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]}});So.set(i,c);let d=yt.get(i);if(d){for(let f of d)f(c);yt.delete(i)}}).catch(l=>{console.error("[Streamdown Code] Failed to highlight code:",l),yt.delete(i)}),null)}}}var Oi=Mp();import{memo as Ep}from"react";import{useEffect as Fp,useRef as tr,useState as Bp}from"react";var Dp=5,Ui=400;function Hi(e,t,a={}){let{msPerChar:r=Dp}=a,[o,n]=Bp(t?"":e),s=tr(e),i=tr(t?0:e.length),l=tr(0),u=tr(null);return(e.length<i.current||!e.startsWith(o.slice(0,i.current)))&&(i.current=t?0:e.length),s.current=e,Fp(()=>{if(!t){u.current!==null&&(cancelAnimationFrame(u.current),u.current=null),i.current=e.length,n(e);return}if(s.current.length-i.current>Ui&&(i.current=s.current.length-Ui),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 S=Math.min(Math.floor(m/r),p.length-i.current);i.current+=S,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 ar}from"react/jsx-runtime";var yo=({className:e,from:t,children:a,...r})=>ar("div",{className:k("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:ar("div",{className:k("ww:flex ww:min-w-0 ww:flex-col ww:gap-2","ww:w-full"),children:a})}),bo=({children:e,className:t,...a})=>ar("div",{className:k("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}),_p={cjk:zr,code:Oi},Np={cjk:zr},Op={enabled:!1};function Up({className:e,linkSafety:t,isStreaming:a,children:r,...o}){let s=Hi(typeof r=="string"?r:"",!!a),i=typeof r=="string"?s:r;return ar(Pt,{className:k("ww:size-full ww:[&>*:first-child]:mt-0 ww:[&>*:last-child]:mb-0",e),linkSafety:t??Op,plugins:a?Np:_p,...o,children:i})}var rr=Ep(Up,(e,t)=>e.children===t.children&&e.isStreaming===t.isStreaming);rr.displayName="MessageResponse";import{createContext as Hp,useCallback as qp,useContext as Vi,useEffect as Gp,useMemo as To,useRef as Wp,useState as vo}from"react";import{Fragment as Wi,jsx as J,jsxs as ut}from"react/jsx-runtime";function Vp(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 zp({text:e,className:t}){let{t:a}=U(),[r,o]=vo(!1),n=Wp(null);Gp(()=>()=>{n.current&&clearTimeout(n.current)},[]);let s=qp(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(Fe,{variant:"ghost",size:"sm",onClick:s,className:k("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?ut(Wi,{children:[J(Rt,{className:"ww:size-3.5"}),J("span",{children:a.tool.copied})]}):ut(Wi,{children:[J(Ft,{className:"ww:size-3.5"}),J("span",{children:a.tool.copy})]})})}function zi({data:e,label:t,className:a,...r}){let[o,n]=vo(!1),s=To(()=>JSON.stringify(e,null,2),[e]),i=Vp(e);return ut("div",{className:k("ww:rounded-lg ww:bg-tool-card",a),...r,children:[ut("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(zp,{text:s})]}),ut("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(Mt,{className:k("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 Po=Hp({open:!1,toggle:()=>{}});function ji({className:e,defaultOpen:t=!1,children:a,...r}){let[o,n]=vo(t);return J(Po.Provider,{value:{open:o,toggle:()=>n(s=>!s)},children:J("div",{className:k("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 $i({className:e,title:t,state:a,...r}){let{open:o,toggle:n}=Vi(Po),s=a==="input-available"||a==="input-streaming",i=t??"";return ut("button",{type:"button",onClick:n,className:k("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(tt,{className:"ww:size-4 ww:shrink-0"}),J("span",{className:"ww:truncate",children:s?J(_e,{duration:1.6,children:i}):i}),J(Ve,{className:k("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",o&&"ww:rotate-180")})]})}function Xi({className:e,title:t,state:a,...r}){let o=a==="input-available"||a==="input-streaming",n=t??"";return J("div",{className:k("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(_e,{duration:1.6,children:n}):n})})}function Ki({className:e,children:t,...a}){let{open:r}=Vi(Po);return J("div",{className:k("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:k("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 Ao({className:e,input:t,debug:a,...r}){let{t:o}=U(),n=To(()=>{if(!a&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:s,...i}=t;return i}return t},[t,a]);return J(zi,{data:n,label:o.tool.request,className:e,...r})}function ko(e){if(!(typeof e!="object"||e===null))return e}function Qi(e){return ko(e?.ui)}function Ji(e){return ko(ko(e)?._meta)}function qi(e){if(!e)return;let t=Qi(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 Gi(e){return Qi(e)?.autoHeight===!0}function oa(e,t,a){if(e){let r=qi(a?.[e]?._meta);if(r)return r}return qi(Ji(t))}function Yi(e,t,a){return e&&Gi(a?.[e]?._meta)?!0:Gi(Ji(t))}function Ro({className:e,output:t,errorText:a,debug:r,...o}){let{t:n}=U(),s=To(()=>{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?ut("div",{className:k("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(zi,{data:s,label:n.tool.response,className:e,...o}):null}import{jsx as Zi,jsxs as jp}from"react/jsx-runtime";function el(e){return e.type==="text"||e.type==="reasoning"||e.type==="file"||"toolCallId"in e}function tl(e){return e.parts.some(el)}function al(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=>!(!el(n)||a?.ignoreToolParts&&"toolCallId"in n||a?.ignoreReasoningParts&&n.type==="reasoning"))}function rl({className:e,...t}){let{t:a}=U();return jp("div",{"aria-live":"polite",className:k("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:[Zi(Ot,{className:"ww:size-4 ww:shrink-0"}),Zi(_e,{duration:1.6,children:a.workingIndicator.default})]})}import{useCallback as $p,useEffect as Mo,useMemo as Xp,useRef as ke,useState as nl}from"react";function bt(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 ol(e,t){return!bt(e)&&!bt(t)?null:bt(e)?bt(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 nm}from"react/jsx-runtime";var Kp="/api/mcp/resource",Qp=500,Jp=0,Yp=16,Zp="2026-01-26",em=300,tm=3e3,am=3;function rm(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function om(e,t,a){return oa(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function Fo({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:r=Kp,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=ke(null),S=ke(t),g=ke(a),x=ke({width:0,height:0}),w=ke(null),h=ke(!1),C=ke(0),I=ke("inline"),[b,v]=nl(Jp),[P,A]=nl(void 0),M=ke(l),B=ke(u),T=ke(c),$=ke(d),X=ke(o),L=ke(p);S.current=t,g.current=a,M.current=l,B.current=u,T.current=c,$.current=d,X.current=o,L.current=p;let E=$p(N=>i?Math.max(N+Yp,0):Math.min(Math.max(N,50),Qp),[i]),D=Xp(()=>{let N=r.includes("?")?"&":"?";return`${r}${N}uri=${encodeURIComponent(e)}`},[r,e]),ne=ke(n);ne.current=n;let ie=ke(f);return Mo(()=>{ie.current=f,x.current.height=-1,w.current&&(w.current.cancel(),w.current=null)},[f]),Mo(()=>{if(!h.current)return;let N=m.current;N?.contentWindow&&N.contentWindow.postMessage({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{theme:n?"dark":"light"}},"*")},[n]),Mo(()=>{let N=m.current;if(!N)return;let le=!1,Le=!1,Te=null,se=null,W=setTimeout(()=>{if(le||Le||C.current>=am)return;C.current+=1;let fe=new URL(N.src);fe.searchParams.set("_retry",String(C.current)),N.src=fe.toString()},tm),H=fe=>{N.contentWindow?.postMessage(fe,"*")},ue=fe=>{if(le||fe.source!==N.contentWindow)return;let j=fe.data;if(!j||typeof j!="object"||j.jsonrpc!=="2.0")return;let K=j.method,z=j.id;if(K==="ui/initialize"&&z!=null){Le=!0,clearTimeout(W),H({jsonrpc:"2.0",id:z,result:{protocolVersion:j.params?.protocolVersion??Zp,hostInfo:{name:"Waniwani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:ne.current?"dark":"light",displayMode:I.current}}});return}if(K==="ui/notifications/initialized"){h.current=!0;let G=S.current,Q=g.current,O=Q._meta&&typeof Q._meta=="object"?Q._meta:null,Y=rm(X.current),te=O&&typeof O.waniwani=="object"&&O.waniwani!==null?O.waniwani:null,R=te||Y?{...te??{},...Y?{sessionId:Y}:{}}:void 0,q=O||R?{...O??{},...R?{waniwani:R}:{}}:void 0;H({jsonrpc:"2.0",method:"ui/notifications/tool-input",params:{arguments:G}});let pe=Q.content??[{type:"text",text:JSON.stringify(Q)}];H({jsonrpc:"2.0",method:"ui/notifications/tool-result",params:{content:pe,structuredContent:Q.structuredContent,_meta:q,meta:q}});return}if(K==="ui/notifications/size-changed"){let G=j.params,Q=typeof G?.height=="number"?G.height:void 0,O=typeof G?.width=="number"?G.width:void 0,Y=x.current,te=Q!==void 0&&Q!==Y.height,R=O!==void 0&&O!==Y.width;if(!te&&!R)return;if(te&&Q!==void 0){if(Y.height=Q,ie.current)return;let q=E(Q),pe=N.getBoundingClientRect().height;if(w.current&&(w.current.cancel(),w.current=null),v(q),N.animate&&Math.abs(pe-q)>2){let ve=N.animate([{height:`${pe}px`},{height:`${q}px`}],{duration:em,easing:"ease-out",fill:"forwards"});w.current=ve,ve.onfinish=()=>{w.current===ve&&(ve.cancel(),w.current=null)}}}R&&i&&O!==void 0&&(Y.width=O,A(O));return}if(K==="ui/open-link"&&z!=null){let G=j.params?.url;typeof G=="string"&&(M.current?M.current(G):window.open(G,"_blank","noopener,noreferrer")),H({jsonrpc:"2.0",id:z,result:{}});return}if(K==="ui/message"&&z!=null){if(B.current&&j.params){let G=j.params,Q=Te;if(Te=null,se){clearTimeout(se.timer);let O=se.text;se=null;let Y=(G.content??[]).map(te=>te.text??"").join("").trim();G={...G,content:[{type:"text",text:`${Y}
|
|
12
|
+
\f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function gi(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=ha);let u=If(r,e.properties),c=r.all(o.space==="html"&&e.tagName==="template"?e.content:e);return r.schema=o,c&&(s=!1),(u||!n||!hi(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||!ea(e,t,a))&&i.push("</"+e.tagName+">"),i.join("")}function If(e,t){let a=[],r=-1,o;if(t){for(o in t)if(t[o]!==null&&t[o]!==void 0){let n=Cf(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 Cf(e,t,a){let r=Ln(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=Ve(r.attribute,Object.assign({},e.settings.characterReferences,{subset:Ga.name[o][n]}));return a===!0||(a=Array.isArray(a)?(r.commaSeparated?Cn:Sn)(a,{padLeft:!e.settings.tightCommaSeparatedLists}):String(a),e.settings.collapseEmptyAttributes&&!a)?l:(e.settings.preferUnquoted&&(i=Ve(a,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:Ga.unquoted[o][n]}))),i!==a&&(e.settings.quoteSmart&&Rr(a,s)>Rr(a,e.alternative)&&(s=e.alternative),i=s+Ve(a,Object.assign({},e.settings.characterReferences,{subset:(s==="'"?Ga.single:Ga.double)[o][n],attribute:!0}))+s),l+(i&&"="+i))}var Sf=["<","&"];function Va(e,t,a,r){return a&&a.type==="element"&&(a.tagName==="script"||a.tagName==="style")?e.value:Ve(e.value,Object.assign({},r.settings.characterReferences,{subset:Sf}))}function wi(e,t,a,r){return r.settings.allowDangerousHtml?e.value:Va(e,t,a,r)}function xi(e,t,a,r){return r.all(e)}var Li=yn("type",{invalid:yf,unknown:bf,handlers:{comment:di,doctype:ci,element:gi,raw:wi,root:xi,text:Va}});function yf(e){throw new Error("Expected node, not `"+e+"`")}function bf(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var kf={},Tf={},vf=[];function uo(e,t){let a=t||kf,r=a.quote||'"',o=r==='"'?"'":'"';if(r!=='"'&&r!=="'")throw new Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:Pf,all:Af,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||Tf,closeSelfClosing:a.closeSelfClosing||!1,closeEmptyElements:a.closeEmptyElements||!1},schema:a.space==="svg"?ha:In,quote:r,alternative:o}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function Pf(e,t,a){return Li(e,t,a,this)}function Af(e){let t=[],a=e&&e.children||vf,r=-1;for(;++r<a.length;)t[r]=this.one(a[r],r,e);return t.join("")}function za(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 Ye(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function Rf(e){return Array.isArray(e)?e:[e]}async function Ti(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function go(e){return!e||["plaintext","txt","text","plain"].includes(e)}function vi(e){return e==="ansi"||go(e)}function wo(e){return e==="none"}function Pi(e){return wo(e)}function Ai(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 Qa(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 Mf(e){let t=Qa(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 Ri(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 xo="light-dark()",Ff=["color","background-color"];function Bf(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 Df(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?Bf(o,n):o})):e}function Ef(e,t,a,r,o="css-vars"){let n={content:e.content,explanation:e.explanation,offset:e.offset},s=t.map(c=>ja(e.variants[c])),i=new Set(s.flatMap(c=>Object.keys(c))),l={},u=(c,d)=>{let p=d==="color"?"":d==="background-color"?"-bg":`-${d}`;return a+t[c]+(d==="color"?"":p)};return s.forEach((c,d)=>{for(let p of i){let f=c[p]||"inherit";if(d===0&&r&&Ff.includes(p))if(r===xo&&s.length>1){let m=t.findIndex(g=>g==="light"),I=t.findIndex(g=>g==="dark");if(m===-1||I===-1)throw new ae('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let L=s[m][p]||"inherit",w=s[I][p]||"inherit";l[p]=`light-dark(${L}, ${w})`,o==="css-vars"&&(l[u(d,p)]=f)}else l[p]=f;else o==="css-vars"&&(l[u(d,p)]=f)}}),n.htmlStyle=l,n}function ja(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 po(e){return typeof e=="string"?e:Object.entries(e).map(([t,a])=>`${t}:${a}`).join(";")}var Mi=new WeakMap;function Ja(e,t){Mi.set(e,t)}function aa(e){return Mi.get(e)}var bt=class e{_stacks={};lang;get themes(){return Object.keys(this._stacks)}get theme(){return this.themes[0]}get _stack(){return this._stacks[this.theme]}static initial(t,a){return new e(Object.fromEntries(Rf(a).map(r=>[r,Ua])),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 _f(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function _f(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 Nf(e,t){if(!(e instanceof bt))throw new ae("Invalid grammar state");return e.getInternalStack(t)}function Of(){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 ae(`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 ae(`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 ae(`Invalid decoration position ${JSON.stringify(s)}. Line ${s.line} length: ${i.length}`);return{...s,character:l,offset:o.posToIndex(s.line,l)}}},o=Mf(a.source),n=(a.options.decorations||[]).map(s=>({...s,start:r(s.start),end:r(s.end)}));Uf(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 Df(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 ae(`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,p,f){let m=o[c],I="",L=-1,w=-1;if(d===0&&(L=0),p===0&&(w=0),p===Number.POSITIVE_INFINITY&&(w=m.children.length),L===-1||w===-1)for(let h=0;h<m.children.length;h++)I+=Fi(m.children[h]),L===-1&&I.length===d&&(L=h+1),w===-1&&I.length===p&&(w=h+1);if(L===-1)throw new ae(`Failed to find start index for decoration ${JSON.stringify(f.start)}`);if(w===-1)throw new ae(`Failed to find end index for decoration ${JSON.stringify(f.end)}`);let g=m.children.slice(L,w);if(!f.alwaysWrap&&g.length===m.children.length)i(m,f,"line");else if(!f.alwaysWrap&&g.length===1&&g[0].type==="element")i(g[0],f,"token");else{let h={type:"element",tagName:"span",properties:{},children:g};i(h,f,"wrapper"),m.children.splice(L,g.length,h)}}function s(c,d){o[c]=i(o[c],d,"line")}function i(c,d,p){let f=d.properties||{},m=d.transform||(I=>I);return c.tagName=d.tagName||"span",c.properties={...c.properties,...f,class:c.properties.class},d.properties?.class&&Ai(c,d.properties.class),c=m(c,p)||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:p}=c;if(d.line===p.line)n(d.line,d.character,p.character,c);else if(d.line<p.line){n(d.line,d.character,Number.POSITIVE_INFINITY,c);for(let f=d.line+1;f<p.line;f++)l.unshift(()=>s(f,c));n(p.line,0,p.character,c)}}l.forEach(c=>c())}}}function Uf(e){for(let t=0;t<e.length;t++){let a=e[t];if(a.start.offset>a.end.offset)throw new ae(`Invalid decoration range: ${JSON.stringify(a.start)} - ${JSON.stringify(a.end)}`);for(let 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 ae(`Decorations ${JSON.stringify(a.start)} and ${JSON.stringify(o.start)} intersect.`)}}}}function Fi(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(Fi).join(""):""}var Hf=[Of()];function $a(e){let t=qf(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...Hf]}function qf(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 dt=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],co={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function Wf(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 Ii(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 Gf(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)co[r]&&t.push({type:"setDecoration",value:co[r]});else if(r<=29){let o=co[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:dt[r-30]}});else if(r===38){let o=Ii(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:dt[r-40]}});else if(r===48){let o=Ii(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:dt[r-90+8]}}):r>=100&&r<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:dt[r-100+8]}})}return t}function Vf(){let e=null,t=null,a=new Set;return{parse(r){let o=[],n=0;do{let s=Wf(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=Gf(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 zf={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 jf(e=zf){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<dt.length;u++)r.push(t(dt[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 $f={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 Xf(e,t,a){let r=za(e,a),o=Qa(t),n=Object.fromEntries(dt.map(l=>{let u=`terminal.ansi${l[0].toUpperCase()}${l.substring(1)}`,c=e.colors?.[u];return[l,c||$f[l]]})),s=jf(n),i=Vf();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=Ye(c,r),d=Ye(d,r),u.decorations.has("dim")&&(c=Kf(c));let p=Ie.None;return u.decorations.has("bold")&&(p|=Ie.Bold),u.decorations.has("italic")&&(p|=Ie.Italic),u.decorations.has("underline")&&(p|=Ie.Underline),u.decorations.has("strikethrough")&&(p|=Ie.Strikethrough),{content:u.value,offset:l[1],color:c,bgColor:d,fontStyle:p}}))}function Kf(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 Lo(e,t,a={}){let{theme:r=e.getLoadedThemes()[0]}=a,o=e.resolveLangAlias(a.lang||"text");if(go(o)||wo(r))return Qa(t).map(l=>[{content:l[0],offset:l[1]}]);let{theme:n,colorMap:s}=e.setTheme(r);if(o==="ansi")return Xf(n,t,a);let i=e.getLanguage(a.lang||"text");if(a.grammarState){if(a.grammarState.lang!==i.name)throw new ae(`Grammar state language "${a.grammarState.lang}" does not match highlight language "${i.name}"`);if(!a.grammarState.themes.includes(n.name))throw new ae(`Grammar state themes "${a.grammarState.themes}" do not contain highlight theme "${n.name}"`)}return Jf(t,i,n,s,a)}function Qf(...e){if(e.length===2)return aa(e[1]);let[t,a,r={}]=e,{lang:o="text",theme:n=t.getLoadedThemes()[0]}=r;if(go(o)||wo(n))throw new ae("Plain language does not have grammar state");if(o==="ansi")throw new ae("ANSI language does not have grammar state");let{theme:s,colorMap:i}=t.setTheme(n),l=t.getLanguage(o);return new bt(Io(a,l,s,i,r).stateStack,l.name,s.name)}function Jf(e,t,a,r,o){let n=Io(e,t,a,r,o),s=new bt(n.stateStack,t.name,a.name);return Ja(n.tokens,s),n.tokens}function Io(e,t,a,r,o){let n=za(a,o),{tokenizeMaxLineLength:s=0,tokenizeTimeLimit:i=500}=o,l=Qa(e),u=o.grammarState?Nf(o.grammarState,a.name)??Ua:o.grammarContextCode!=null?Io(o.grammarContextCode,t,a,r,{...o,grammarState:void 0,grammarContextCode:void 0}).stateStack:Ua,c=[],d=[];for(let p=0,f=l.length;p<f;p++){let[m,I]=l[p];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 y=0;y<x;y++){let T=h.tokens[2*y],v=y+1<x?h.tokens[2*y+2]:m.length;if(T===v)continue;let A=h.tokens[2*y+1],R=Ye(r[ut.getForeground(A)],n),P=ut.getFontStyle(A),F={content:m.substring(T,v),offset:I+T,color:R,fontStyle:P};if(o.includeExplanation){let b=[];if(o.includeExplanation!=="scopeName")for(let H of a.settings){let S;switch(typeof H.scope){case"string":S=H.scope.split(/,/).map(E=>E.trim());break;case"object":S=H.scope;break;default:continue}b.push({settings:H,selectors:S.map(E=>E.split(/ /))})}F.explanation=[];let z=0;for(;T+z<v;){let H=w[g],S=m.substring(H.startIndex,H.endIndex);z+=S.length,F.explanation.push({content:S,scopes:o.includeExplanation==="scopeName"?Yf(H.scopes):Zf(b,H.scopes)}),g+=1}}c.push(F)}d.push(c),c=[],u=h.ruleStack}return{tokens:d,stateStack:u}}function Yf(e){return e.map(t=>({scopeName:t}))}function Zf(e,t){let a=[];for(let r=0,o=t.length;r<o;r++){let n=t[r];a[r]={scopeName:n,themeMatches:tp(e,n,t.slice(0,r))}}return a}function Ci(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function ep(e,t,a){if(!Ci(e[e.length-1],t))return!1;let r=e.length-2,o=a.length-1;for(;r>=0&&o>=0;)Ci(e[r],a[o])&&(r-=1),o-=1;return r===-1}function tp(e,t,a){let r=[];for(let{selectors:o,settings:n}of e)for(let s of o)if(ep(s,t,a)){r.push(n);break}return r}function Bi(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=Lo(e,t,{...a,theme:l.theme}),c=aa(u),d=typeof l.theme=="string"?l.theme:l.theme.name;return{tokens:u,state:c,theme:d}}),n=ap(...o.map(l=>l.tokens)),s=n[0].map((l,u)=>l.map((c,d)=>{let p={content:c.content,variants:{},offset:c.offset};return"includeExplanation"in a&&a.includeExplanation&&(p.explanation=c.explanation),n.forEach((f,m)=>{let{content:I,explanation:L,offset:w,...g}=f[u][d];p.variants[r[m].color]=g}),p})),i=o[0].state?new bt(Object.fromEntries(o.map(l=>[l.theme,l.state?.getInternalStack(l.theme)])),o[0].state.lang):void 0;return i&&Ja(s,i),s}function ap(...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 Xa(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,p=Object.entries(a.themes).filter(w=>w[1]).map(w=>({color:w[0],theme:w[1]})).sort((w,g)=>w.color===u?-1:g.color===u?1:0);if(p.length===0)throw new ae("`themes` option must not be empty");let f=Bi(e,t,a);if(l=aa(f),u&&xo!==u&&!p.find(w=>w.color===u))throw new ae(`\`themes\` option must contain the defaultColor key \`${u}\``);let m=p.map(w=>e.getTheme(w.theme)),I=p.map(w=>w.color);n=f.map(w=>w.map(g=>Ef(g,I,c,u,d))),l&&Ja(n,l);let L=p.map(w=>za(w.theme,a));o=Si(p,m,L,c,u,"fg",d),r=Si(p,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=za(a.theme,a);n=Lo(e,t,a);let c=e.getTheme(a.theme);r=Ye(c.bg,u),o=Ye(c.fg,u),s=c.name,l=aa(n)}else throw new ae("Invalid options, either `theme` or `themes` must be provided");return{tokens:n,fg:o,bg:r,themeName:s,rootStyle:i,grammarState:l}}function Si(e,t,a,r,o,n,s){return e.map((i,l)=>{let u=Ye(t[l][n],a[l])||"inherit",c=`${r+i.color}${n==="bg"?"-bg":""}:${u}`;if(l===0&&o){if(o===xo&&e.length>1){let d=e.findIndex(I=>I.color==="light"),p=e.findIndex(I=>I.color==="dark");if(d===-1||p===-1)throw new ae('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let f=Ye(t[d][n],a[d])||"inherit",m=Ye(t[p][n],a[p])||"inherit";return`light-dark(${f}, ${m});${c}`}return u}return s==="css-vars"?c:null}).filter(i=>!!i).join(";")}function Ka(e,t,a,r={meta:{},options:a,codeToHast:(o,n)=>Ka(e,o,n),codeToTokens:(o,n)=>Xa(e,o,n)}){let o=t;for(let m of $a(a))o=m.preprocess?.call(r,o,a)||o;let{tokens:n,fg:s,bg:i,themeName:l,rootStyle:u,grammarState:c}=Xa(e,o,a),{mergeWhitespaces:d=!0,mergeSameStyleTokens:p=!1}=a;d===!0?n=op(n):d==="never"&&(n=np(n)),p&&(n=sp(n));let f={...r,get source(){return o}};for(let m of $a(a))n=m.tokens?.call(f,n)||n;return rp(n,{...a,fg:s,bg:i,themeName:l,rootStyle:a.rootStyle===!1?!1:a.rootStyle??u},f,c)}function rp(e,t,a,r=aa(e)){let o=$a(t),n=[],s={type:"root",children:[]},{structure:i="classic",tabindex:l="0"}=t,u={class:`shiki ${t.themeName||""}`};t.rootStyle!==!1&&(t.rootStyle!=null?u.style=t.rootStyle:u.style=`background-color:${t.bg};color:${t.fg}`),l!==!1&&l!=null&&(u.tabindex=l.toString());for(let[I,L]of Object.entries(t.meta||{}))I.startsWith("_")||(u[I]=L);let c={type:"element",tagName:"pre",properties:u,children:[],data:t.data},d={type:"element",tagName:"code",properties:{},children:n},p=[],f={...a,structure:i,addClassToHast:Ai,get source(){return a.source},get tokens(){return e},get options(){return t},get root(){return s},get pre(){return c},get code(){return d},get lines(){return p}};if(e.forEach((I,L)=>{L&&(i==="inline"?s.children.push({type:"element",tagName:"br",properties:{},children:[]}):i==="classic"&&n.push({type:"text",value:`
|
|
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}]},y=po(h.htmlStyle||ja(h));y&&(x.properties.style=y);for(let T of o)x=T?.span?.call(f,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(f,w,L+1)||w;p.push(w),n.push(w)}else i==="inline"&&p.push(w)}),i==="classic"){for(let I of o)d=I?.code?.call(f,d)||d;c.children.push(d);for(let I of o)c=I?.pre?.call(f,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(f,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(f,m)||m;return r&&Ja(m,r),m}function op(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 np(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 sp(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=po(o.htmlStyle||ja(o)),s=po(r.htmlStyle||ja(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=uo;function lp(e,t,a){let r={meta:{},options:a,codeToHast:(n,s)=>Ka(e,n,s),codeToTokens:(n,s)=>Xa(e,n,s)},o=ip(Ka(e,t,a,r));for(let n of $a(a))o=n.postprocess?.call(r,o,a)||o;return o}var yi={light:"#333333",dark:"#bbbbbb"},bi={light:"#fffffe",dark:"#1e1e1e"},ki="__shiki_resolved";function Co(e){if(e?.[ki])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"?yi.light:yi.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,ki,{enumerable:!1,writable:!1,value:!0}),t}async function Di(e){return Array.from(new Set((await Promise.all(e.filter(t=>!vi(t)).map(async t=>await Ti(t).then(a=>Array.isArray(a)?a:[a])))).flat()))}async function Ei(e){return(await Promise.all(e.map(async a=>Pi(a)?null:Co(await Ti(a))))).filter(a=>!!a)}var fo=3,up=!1;function dp(e,t=3){if(fo&&!(typeof fo=="number"&&t>fo)){if(up)throw new Error(`[SHIKI DEPRECATE]: ${e}`);console.trace(`[SHIKI DEPRECATE]: ${e}`)}}var Je=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function _i(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 Je(`Circular alias \`${Array.from(a).join(" -> ")} -> ${e}\``);a.add(e)}}return e}var mo=class extends ei{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=Co(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=Kt.createFromRawTheme(t),this._textmateThemeCache.set(t,a)),this._syncRegistry.setTheme(a)}getGrammar(t){return t=_i(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 Je(`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))}},ho=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}},ta=0;function cp(e){ta+=1,e.warnings!==!1&&ta>=10&&ta%10===0&&console.warn(`[Shiki] ${ta} 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 Je("`engine` option is required for synchronous mode");let a=(e.langs||[]).flat(1),r=(e.themes||[]).flat(1).map(Co),o=new ho(e.engine,a),n=new mo(o,r,a,e.langAlias),s;function i(h){return _i(h,e.langAlias)}function l(h){w();let x=n.getGrammar(typeof h=="string"?h:h.name);if(!x)throw new Je(`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 Je(`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 y=n.getColorMap();return{theme:x,colorMap:y}}function d(){return w(),n.getLoadedThemes()}function p(){return w(),n.getLoadedLanguages()}function f(...h){w(),n.loadLanguages(h.flat(1))}async function m(...h){return f(await Di(h))}function I(...h){w();for(let x of h.flat(1))n.loadTheme(x)}async function L(...h){return w(),I(await Ei(h))}function w(){if(t)throw new Je("Shiki instance has been disposed")}function g(){t||(t=!0,n.dispose(),ta-=1)}return{setTheme:c,getTheme:u,getLanguage:l,getLoadedThemes:d,getLoadedLanguages:p,resolveLangAlias:i,loadLanguage:m,loadLanguageSync:f,loadTheme:L,loadThemeSync:I,dispose:g,[Symbol.dispose]:g}}async function fp(e){e.engine||dp("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,a,r]=await Promise.all([Ei(e.themes||[]),Di(e.langs||[]),e.engine]);return cp({...e,themes:t,langs:a,engine:r})}async function pp(e){let t=await fp(e);return{getLastGrammarState:(...a)=>Qf(t,...a),codeToTokensBase:(a,r)=>Lo(t,a,r),codeToTokensWithThemes:(a,r)=>Bi(t,a,r),codeToTokens:(a,r)=>Xa(t,a,r),codeToHast:(a,r)=>Ka(t,a,r),codeToHtml:(a,r)=>lp(t,a,r),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function Ni(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,vi(d))return[];let p=t[d];if(!p)throw new ae(`Language \`${d}\` is not included in this bundle. You may want to load it from external source.`);return p}return d}function i(d){if(Pi(d))return"none";if(typeof d=="string"){let p=a[d];if(!p)throw new ae(`Theme \`${d}\` is not included in this bundle. You may want to load it from external source.`);return p}return d}let l=(n.themes??[]).map(d=>i(d)),u=(n.langs??[]).map(d=>s(d)),c=await pp({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 mp(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 Oi(e,t){let a=mp(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 So=[{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"))}],Ui=Object.fromEntries(So.map(e=>[e.id,e.import])),Hi=Object.fromEntries(So.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),ra={...Ui,...Hi};var hp=[{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(hp.map(e=>[e.id,e.import]));var oa=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function gp(){return 2147483648}function wp(){return typeof performance<"u"?performance.now():Date.now()}var xp=(e,t)=>e+(t-e%t)%t;async function Lp(e){let t,a,r={};function o(f){a=f,r.HEAPU8=new Uint8Array(f),r.HEAPU32=new Uint32Array(f)}function n(f,m,I){r.HEAPU8.copyWithin(f,m,m+I)}function s(f){try{return t.grow(f-a.byteLength+65535>>>16),o(t.buffer),1}catch{}}function i(f){let m=r.HEAPU8.length;f=f>>>0;let I=gp();if(f>I)return!1;for(let L=1;L<=4;L*=2){let w=m*(1+.2/L);w=Math.min(w,f+100663296);let g=Math.min(I,xp(Math.max(f,w),65536));if(s(g))return!0}return!1}let l=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function u(f,m,I=1024){let L=m+I,w=m;for(;f[w]&&!(w>=L);)++w;if(w-m>16&&f.buffer&&l)return l.decode(f.subarray(m,w));let g="";for(;m<w;){let h=f[m++];if(!(h&128)){g+=String.fromCharCode(h);continue}let x=f[m++]&63;if((h&224)===192){g+=String.fromCharCode((h&31)<<6|x);continue}let y=f[m++]&63;if((h&240)===224?h=(h&15)<<12|x<<6|y:h=(h&7)<<18|x<<12|y<<6|f[m++]&63,h<65536)g+=String.fromCharCode(h);else{let T=h-65536;g+=String.fromCharCode(55296|T>>10,56320|T&1023)}}return g}function c(f,m){return f?u(r.HEAPU8,f,m):""}let d={emscripten_get_now:wp,emscripten_memcpy_big:n,emscripten_resize_heap:i,fd_write:()=>0};async function p(){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 p(),r}var Ip=Object.defineProperty,Cp=(e,t,a)=>t in e?Ip(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,ce=(e,t,a)=>Cp(e,typeof t!="symbol"?t+"":t,a),ge=null;function Sp(e){throw new oa(e.UTF8ToString(e.getLastOnigError()))}var Za=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,p=!1;if(c>=55296&&c<=56319&&u+1<a){let f=t.charCodeAt(u+1);f>=56320&&f<=57343&&(d=(c-55296<<10)+65536|f-56320,p=!0)}o&&(n[u]=l,p&&(n[u+1]=l),d<=127?s[l+0]=u:d<=2047?(s[l+0]=u,s[l+1]=u):d<=65535?(s[l+0]=u,s[l+1]=u,s[l+2]=u):(s[l+0]=u,s[l+1]=u,s[l+2]=u,s[l+3]=u)),d<=127?i[l++]=d:d<=2047?(i[l++]=192|(d&1984)>>>6,i[l++]=128|(d&63)>>>0):d<=65535?(i[l++]=224|(d&61440)>>>12,i[l++]=128|(d&4032)>>>6,i[l++]=128|(d&63)>>>0):(i[l++]=240|(d&1835008)>>>18,i[l++]=128|(d&258048)>>>12,i[l++]=128|(d&4032)>>>6,i[l++]=128|(d&63)>>>0),p&&u++}this.utf16Length=a,this.utf8Length=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}},er=class qe{constructor(t){if(ce(this,"id",++qe.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 oa("Must invoke loadWasm first.");this._onigBinding=ge,this.content=t;let a=new Za(t);this.utf16Length=a.utf16Length,this.utf8Length=a.utf8Length,this.utf16OffsetToUtf8=a.utf16OffsetToUtf8,this.utf8OffsetToUtf16=a.utf8OffsetToUtf16,this.utf8Length<1e4&&!qe._sharedPtrInUse?(qe._sharedPtr||(qe._sharedPtr=ge.omalloc(1e4)),qe._sharedPtrInUse=!0,ge.HEAPU8.set(a.utf8Value,qe._sharedPtr),this.ptr=qe._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===qe._sharedPtr?qe._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};ce(er,"LAST_ID",0);ce(er,"_sharedPtr",0);ce(er,"_sharedPtrInUse",!1);var Wi=er,bo=class{constructor(t){if(ce(this,"_onigBinding"),ce(this,"_ptr"),!ge)throw new oa("Must invoke loadWasm first.");let a=[],r=[];for(let i=0,l=t.length;i<l;i++){let u=new Za(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&&Sp(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 Wi(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 p=0;p<c;p++){let f=t.convertUtf8OffsetToUtf16(i[l++]),m=t.convertUtf8OffsetToUtf16(i[l++]);d[p]={start:f,end:m,length:m-f}}return{index:u,captureIndices:d}}};function yp(e){return typeof e.instantiator=="function"}function bp(e){return typeof e.default=="function"}function kp(e){return typeof e.data<"u"}function Tp(e){return typeof Response<"u"&&e instanceof Response}function vp(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 Ya;function Pp(e){if(Ya)return Ya;async function t(){ge=await Lp(async a=>{let r=e;return r=await r,typeof r=="function"&&(r=await r(a)),typeof r=="function"&&(r=await r(a)),yp(r)?r=await r.instantiator(a):bp(r)?r=await r.default(a):(kp(r)&&(r=r.data),Tp(r)?typeof WebAssembly.instantiateStreaming=="function"?r=await Ap(r)(a):r=await Rp(r)(a):vp(r)?r=await yo(r)(a):r instanceof WebAssembly.Module?r=await yo(r)(a):"default"in r&&r.default instanceof WebAssembly.Module&&(r=await yo(r.default)(a))),"instance"in r&&(r=r.instance),"exports"in r&&(r=r.exports),r})}return Ya=t(),Ya}function yo(e){return t=>WebAssembly.instantiate(e,t)}function Ap(e){return t=>WebAssembly.instantiateStreaming(e,t)}function Rp(e){return async t=>{let a=await e.arrayBuffer();return WebAssembly.instantiate(a,t)}}async function Gi(e){return e&&await Pp(e),{createScanner(t){return new bo(t.map(a=>typeof a=="string"?a:a.source))},createString(t){return new Wi(t)}}}var tr=Ni({langs:ra,themes:qi,engine:()=>Gi(import("../wasm-EOPKAILK.js"))}),{codeToHtml:Mp,codeToHast:Fp,codeToTokens:Bp,codeToTokensBase:Dp,codeToTokensWithThemes:Ep,getSingletonHighlighter:_p,getLastGrammarState:Np}=Oi(tr,{guessEmbeddedLanguages:Ri});var Vi=new Set(Object.keys(ra)),ko=new Map,To=new Map,kt=new Map,Op=(e,t)=>`${e}-${t[0]}-${t[1]}`,Up=(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}`},Hp=(e,t)=>{let a=Op(e,t);if(ko.has(a))return ko.get(a);let r=tr({themes:t,langs:[e]});return ko.set(a,r),r};function qp(e={}){var t;let a=(t=e.themes)!=null?t:["github-light","github-dark"];return{name:"shiki",type:"code-highlighter",supportsLanguage(r){return Vi.has(r)},getSupportedLanguages(){return Array.from(Vi)},getThemes(){return a},highlight({code:r,language:o,themes:n},s){let i=Up(r,o,n);return To.has(i)?To.get(i):(s&&(kt.has(i)||kt.set(i,new Set),kt.get(i).add(s)),Hp(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]}});To.set(i,c);let d=kt.get(i);if(d){for(let p of d)p(c);kt.delete(i)}}).catch(l=>{console.error("[Streamdown Code] Failed to highlight code:",l),kt.delete(i)}),null)}}}var zi=qp();import{memo as zp}from"react";import{useEffect as Wp,useRef as ar,useState as Gp}from"react";var Vp=5,ji=400;function $i(e,t,a={}){let{msPerChar:r=Vp}=a,[o,n]=Gp(t?"":e),s=ar(e),i=ar(t?0:e.length),l=ar(0),u=ar(null);return(e.length<i.current||!e.startsWith(o.slice(0,i.current)))&&(i.current=t?0:e.length),s.current=e,Wp(()=>{if(!t){u.current!==null&&(cancelAnimationFrame(u.current),u.current=null),i.current=e.length,n(e);return}if(s.current.length-i.current>ji&&(i.current=s.current.length-ji),u.current!==null)return;let d=p=>{let f=s.current;if(i.current>=f.length){u.current=null;return}l.current===0&&(l.current=p);let m=p-l.current;if(m>=r){let I=Math.min(Math.floor(m/r),f.length-i.current);i.current+=I,n(f.slice(0,i.current)),l.current=p}u.current=requestAnimationFrame(d)};return u.current=requestAnimationFrame(d),()=>{u.current!==null&&(cancelAnimationFrame(u.current),u.current=null)}},[e,t,r]),o}import{jsx as rr}from"react/jsx-runtime";var vo=({className:e,from:t,children:a,...r})=>rr("div",{className:k("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:rr("div",{className:k("ww:flex ww:min-w-0 ww:flex-col ww:gap-2","ww:w-full"),children:a})}),Po=({children:e,className:t,...a})=>rr("div",{className:k("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}),jp={cjk:Kr,code:zi},$p={cjk:Kr},Xp={enabled:!1};function Kp({className:e,linkSafety:t,isStreaming:a,children:r,...o}){let s=$i(typeof r=="string"?r:"",!!a),i=typeof r=="string"?s:r;return rr(At,{className:k("ww:size-full ww:[&>*:first-child]:mt-0 ww:[&>*:last-child]:mb-0",e),linkSafety:t??Xp,plugins:a?$p:jp,...o,children:i})}var or=zp(Kp,(e,t)=>e.children===t.children&&e.isStreaming===t.isStreaming);or.displayName="MessageResponse";import{createContext as Qp,useCallback as Jp,useContext as Ji,useEffect as Yp,useMemo as Ro,useRef as Zp,useState as Mo}from"react";import{Fragment as Qi,jsx as X,jsxs as ct}from"react/jsx-runtime";function em(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 tm({text:e,className:t}){let{t:a}=V(),[r,o]=Mo(!1),n=Zp(null);Yp(()=>()=>{n.current&&clearTimeout(n.current)},[]);let s=Jp(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 X(Be,{variant:"ghost",size:"sm",onClick:s,className:k("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?ct(Qi,{children:[X(Mt,{className:"ww:size-3.5"}),X("span",{children:a.tool.copied})]}):ct(Qi,{children:[X(Bt,{className:"ww:size-3.5"}),X("span",{children:a.tool.copy})]})})}function Yi({data:e,label:t,className:a,...r}){let[o,n]=Mo(!1),s=Ro(()=>JSON.stringify(e,null,2),[e]),i=em(e);return ct("div",{className:k("ww:rounded-lg ww:bg-tool-card",a),...r,children:[ct("div",{className:"ww:flex ww:items-center ww:justify-between ww:px-3 ww:pt-2.5 ww:pb-1.5",children:[X("span",{className:"ww:text-xs ww:font-medium ww:text-muted-foreground",children:t}),X(tm,{text:s})]}),ct("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:[X(Ft,{className:k("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?X("pre",{className:"ww:overflow-x-auto ww:text-xs ww:font-mono ww:text-foreground ww:whitespace-pre-wrap ww:break-all",children:X("code",{children:s})}):X("span",{className:"ww:truncate ww:text-xs ww:font-mono ww:text-foreground/80",children:i})]})]})}var Fo=Qp({open:!1,toggle:()=>{}});function Zi({className:e,defaultOpen:t=!1,children:a,...r}){let[o,n]=Mo(t);return X(Fo.Provider,{value:{open:o,toggle:()=>n(s=>!s)},children:X("div",{className:k("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 el({className:e,title:t,state:a,...r}){let{open:o,toggle:n}=Ji(Fo),s=a==="input-available"||a==="input-streaming",i=t??"";return ct("button",{type:"button",onClick:n,className:k("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:[X(rt,{className:"ww:size-4 ww:shrink-0"}),X("span",{className:"ww:truncate",children:s?X(_e,{duration:1.6,children:i}):i}),X(je,{className:k("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",o&&"ww:rotate-180")})]})}function tl({className:e,title:t,state:a,...r}){let o=a==="input-available"||a==="input-streaming",n=t??"";return X("div",{className:k("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:X("span",{className:"ww:truncate",children:o?X(_e,{duration:1.6,children:n}):n})})}function al({className:e,children:t,...a}){let{open:r}=Ji(Fo);return X("div",{className:k("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:X("div",{className:"ww:min-h-0 ww:overflow-hidden",children:X("div",{className:k("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 Bo({className:e,input:t,debug:a,...r}){let{t:o}=V(),n=Ro(()=>{if(!a&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:s,...i}=t;return i}return t},[t,a]);return X(Yi,{data:n,label:o.tool.request,className:e,...r})}function Ao(e){if(!(typeof e!="object"||e===null))return e}function rl(e){return Ao(e?.ui)}function ol(e){return Ao(Ao(e)?._meta)}function Xi(e){if(!e)return;let t=rl(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 Ki(e){return rl(e)?.autoHeight===!0}function na(e,t,a){if(e){let r=Xi(a?.[e]?._meta);if(r)return r}return Xi(ol(t))}function nl(e,t,a){return e&&Ki(a?.[e]?._meta)?!0:Ki(ol(t))}function Do({className:e,output:t,errorText:a,debug:r,...o}){let{t:n}=V(),s=Ro(()=>{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?ct("div",{className:k("ww:space-y-2",e),...o,children:[X("h4",{className:"ww:text-xs ww:font-medium ww:uppercase ww:tracking-wide ww:text-muted-foreground",children:n.tool.error}),X("div",{className:"ww:rounded-lg ww:bg-destructive/10 ww:p-3 ww:text-xs ww:text-destructive",children:a})]}):X(Yi,{data:s,label:n.tool.response,className:e,...o}):null}import{jsx as sl,jsxs as am}from"react/jsx-runtime";function il(e){return e.type==="text"||e.type==="reasoning"||e.type==="file"||"toolCallId"in e}function ll(e){return e.parts.some(il)}function ul(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=>!(!il(n)||a?.ignoreToolParts&&"toolCallId"in n||a?.ignoreReasoningParts&&n.type==="reasoning"))}function dl({className:e,...t}){let{t:a}=V();return am("div",{"aria-live":"polite",className:k("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:[sl(Ut,{className:"ww:size-4 ww:shrink-0"}),sl(_e,{duration:1.6,children:a.workingIndicator.default})]})}import{useCallback as rm,useEffect as Eo,useMemo as om,useRef as ke,useState as fl}from"react";function Tt(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 cl(e,t){return!Tt(e)&&!Tt(t)?null:Tt(e)?Tt(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 hm}from"react/jsx-runtime";var nm="/api/mcp/resource",sm=500,im=0,lm=16,um="2026-01-26",dm=300,cm=3e3,fm=3;function pm(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function mm(e,t,a){return na(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function _o({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:r=nm,chatSessionId:o,isDark:n=!1,className:s,autoHeight:i=!1,onOpenLink:l,onFollowUp:u,onCallTool:c,onDisplayModeChange:d,isFullscreen:p=!1,toolDefinitions:f}){let m=ke(null),I=ke(t),L=ke(a),w=ke({width:0,height:0}),g=ke(null),h=ke(!1),x=ke(0),y=ke("inline"),[T,v]=fl(im),[A,R]=fl(void 0),P=ke(l),F=ke(u),b=ke(c),z=ke(d),H=ke(o),S=ke(f);I.current=t,L.current=a,P.current=l,F.current=u,b.current=c,z.current=d,H.current=o,S.current=f;let E=rm(_=>i?Math.max(_+lm,0):Math.min(Math.max(_,50),sm),[i]),B=om(()=>{let _=r.includes("?")?"&":"?";return`${r}${_}uri=${encodeURIComponent(e)}`},[r,e]),Te=ke(n);Te.current=n;let we=ke(p);return Eo(()=>{we.current=p,w.current.height=-1,g.current&&(g.current.cancel(),g.current=null)},[p]),Eo(()=>{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]),Eo(()=>{let _=m.current;if(!_)return;let me=!1,oe=!1,ye=null,ne=null,G=setTimeout(()=>{if(me||oe||x.current>=fm)return;x.current+=1;let de=new URL(_.src);de.searchParams.set("_retry",String(x.current)),_.src=de.toString()},cm),$=de=>{_.contentWindow?.postMessage(de,"*")},ve=de=>{if(me||de.source!==_.contentWindow)return;let K=de.data;if(!K||typeof K!="object"||K.jsonrpc!=="2.0")return;let se=K.method,q=K.id;if(se==="ui/initialize"&&q!=null){oe=!0,clearTimeout(G),$({jsonrpc:"2.0",id:q,result:{protocolVersion:K.params?.protocolVersion??um,hostInfo:{name:"Waniwani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:Te.current?"dark":"light",displayMode:y.current}}});return}if(se==="ui/notifications/initialized"){h.current=!0;let N=I.current,W=L.current,Q=W._meta&&typeof W._meta=="object"?W._meta:null,ie=pm(H.current),te=Q&&typeof Q.waniwani=="object"&&Q.waniwani!==null?Q.waniwani:null,xe=te||ie?{...te??{},...ie?{sessionId:ie}:{}}:void 0,M=Q||xe?{...Q??{},...xe?{waniwani:xe}:{}}:void 0;$({jsonrpc:"2.0",method:"ui/notifications/tool-input",params:{arguments:N}});let U=W.content??[{type:"text",text:JSON.stringify(W)}];$({jsonrpc:"2.0",method:"ui/notifications/tool-result",params:{content:U,structuredContent:W.structuredContent,_meta:M,meta:M}});return}if(se==="ui/notifications/size-changed"){let N=K.params,W=typeof N?.height=="number"?N.height:void 0,Q=typeof N?.width=="number"?N.width:void 0,ie=w.current,te=W!==void 0&&W!==ie.height,xe=Q!==void 0&&Q!==ie.width;if(!te&&!xe)return;if(te&&W!==void 0){if(ie.height=W,we.current)return;let M=E(W),U=_.getBoundingClientRect().height;if(g.current&&(g.current.cancel(),g.current=null),v(M),_.animate&&Math.abs(U-M)>2){let Z=_.animate([{height:`${U}px`},{height:`${M}px`}],{duration:dm,easing:"ease-out",fill:"forwards"});g.current=Z,Z.onfinish=()=>{g.current===Z&&(Z.cancel(),g.current=null)}}}xe&&i&&Q!==void 0&&(ie.width=Q,R(Q));return}if(se==="ui/open-link"&&q!=null){let N=K.params?.url;typeof N=="string"&&(P.current?P.current(N):window.open(N,"_blank","noopener,noreferrer")),$({jsonrpc:"2.0",id:q,result:{}});return}if(se==="ui/message"&&q!=null){if(F.current&&K.params){let N=K.params,W=ye;if(ye=null,ne){clearTimeout(ne.timer);let Q=ne.text;ne=null;let ie=(N.content??[]).map(te=>te.text??"").join("").trim();N={...N,content:[{type:"text",text:`${ie}
|
|
14
14
|
|
|
15
|
-
${O}`}]}}B.current({...G,...Q?{modelContext:Q}:{}})}H({jsonrpc:"2.0",id:z,result:{}});return}if(K==="ui/update-model-context"&&z!=null){Te=ol(Te,j.params),H({jsonrpc:"2.0",id:z,result:{}});return}if(K==="tools/call"&&z!=null){let G=T.current;if(!G){H({jsonrpc:"2.0",id:z,error:{code:-32601,message:"tools/call not supported"}});return}let Q=j.params?.name;G({name:Q,arguments:j.params?.arguments??{}}).then(O=>{H({jsonrpc:"2.0",id:z,result:O});let Y=O.content?.map(te=>te.text??"").join("").trim();Y&&om(Q,O,L.current)&&(se&&clearTimeout(se.timer),se={text:Y,timer:setTimeout(()=>{if(le)return;let te=Te;Te=null,se=null,B.current?.({role:"user",content:[{type:"text",text:Y}],...te?{modelContext:te}:{}})},500)})}).catch(O=>{let Y=O instanceof Error?O.message:"Tool call failed";H({jsonrpc:"2.0",id:z,error:{code:-32e3,message:Y}})});return}if(K==="ui/request-display-mode"&&z!=null){let G=j.params?.mode,Q=G==="fullscreen"||G==="inline"||G==="pip"?G:"inline";I.current=Q,H({jsonrpc:"2.0",id:z,result:{mode:Q}}),H({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{displayMode:Q}}),$.current?.(Q);return}if(K==="ui/resource-teardown"&&z!=null){H({jsonrpc:"2.0",id:z,result:{}});return}K==="ping"&&z!=null&&H({jsonrpc:"2.0",id:z,result:{}})};return window.addEventListener("message",ue),()=>{le=!0,clearTimeout(W),se&&clearTimeout(se.timer),window.removeEventListener("message",ue)}},[i,E]),nm("iframe",{ref:m,src:D,sandbox:"allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox",className:k(!f&&"ww:rounded-md ww:border ww:border-border",s),style:{height:f?"100%":b,minWidth:f||!P?void 0:`min(${P}px, 100%)`,width:"100%",border:"none",colorScheme:n?"dark":"auto"},title:"MCP App"})}import{jsx as na,jsxs as sm}from"react/jsx-runtime";function sl({icon:e,title:t,description:a,suggestions:r,onSuggestionSelect:o}){return sm("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&&na("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}),na("h2",{className:"ww:text-lg ww:font-semibold ww:text-foreground",children:t}),a&&na("p",{className:"ww:mt-1 ww:text-sm ww:text-muted-foreground ww:max-w-sm",children:a}),r&&r.length>0&&na("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)=>na("button",{type:"button",onClick:()=>o?.(n),className:k("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 im}from"react";import{jsx as Bo,jsxs as um}from"react/jsx-runtime";function lm({onRetry:e}){let{t}=U();return um("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:[Bo("span",{children:t.widgetErrorBoundary.failedToLoad}),Bo("button",{type:"button",onClick:e,className:"ww:text-xs ww:font-medium ww:text-primary ww:hover:underline",children:t.widgetErrorBoundary.retry})]})}var or=class extends im{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.warn("[Waniwani] Widget failed to render:",t.message)}render(){return this.state.hasError?Bo(lm,{onRetry:()=>this.setState({hasError:!1})}):this.props.children}};import{Fragment as dm,jsx as ee,jsxs as Je}from"react/jsx-runtime";function Do(e){return e?e.replace(/[-_]/g," ").replace(/^\w/,t=>t.toUpperCase()):"Tool"}function il(e){return e&&/search|find|lookup|query|web|browse|google/i.test(e)?Dt:tt}function nr({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:S}){let{t:g}=U(),x=e[e.length-1],w=e.length>0,h=d!=null,C=!h&&al(e,t,{ignoreToolParts:p===!1,ignoreReasoningParts:p===!1});return Je(dm,{children:[!h&&(!w&&r?ee(sl,{...r,onSuggestionSelect:o}):a&&ee(yo,{from:"assistant",children:ee(bo,{children:ee(rr,{children:a})})})),e.map(I=>{let b=I.parts.filter(L=>L.type==="text"),v=I.parts.filter(L=>L.type==="reasoning"),P=I.parts.filter(L=>L.type==="file"),A=I.parts.filter(L=>"toolCallId"in L),M=I.parts.filter(L=>L.type==="reasoning"||"toolCallId"in L),B=I===x&&I.role==="assistant",T=b.length>0,$=h?A.some(L=>L.toolCallId===d):!1,X=p!==!1&&!$&&M.length>=2;return h&&!$?ee("div",{style:{display:"none"}},I.id):I.role==="assistant"&&!tl(I)?ee("div",{style:{display:"none"}},I.id):p===!1&&I.role==="assistant"&&!T&&P.length===0&&A.every(L=>{let E="output"in L?L.output:void 0;return E===void 0||!n||!oa(L.toolName,E,m)})?ee("div",{style:{display:"none"}},I.id):Je(yo,{from:I.role,className:S?.message,children:[p!==!1&&!$&&!X&&v.map((L,E)=>Je(Gt,{isStreaming:L.state==="streaming",children:[ee(Wt,{}),ee(Vt,{children:L.text})]},`reasoning-${I.id}-${E}`)),X&&(()=>{let L=M[M.length-1],E=L.type==="reasoning"?{icon:qe,label:g.reasoning.thinking}:{icon:il(L.toolName),label:L.title??Do(L.toolName)};return Je(os,{isWorking:B&&(t==="streaming"||t==="submitted"),activeStep:E,children:[ee(ns,{workingLabel:g.chainOfThought.working,label:g.chainOfThought.done}),ee(ss,{children:M.map((D,ne)=>{let ie=ne===M.length-1;if(D.type==="reasoning")return ee(ls,{isStreaming:D.state==="streaming",isLast:ie,children:D.text},`reasoning-${I.id}-${ne}`);let N=D.title??Do(D.toolName),le=il(D.toolName);if(p==="titles-only")return ee(Gr,{icon:le,title:N,state:D.state,isLast:ie},D.toolCallId);let Le="output"in D?D.output:void 0;return Je(Gr,{icon:le,title:N,state:D.state,isLast:ie,children:[ee(Ao,{input:D.input,debug:f}),Le!==void 0&&ee(Ro,{output:Le,errorText:"errorText"in D?D.errorText:void 0,debug:f})]},D.toolCallId)})})]})})(),p!==!1&&!$&&!X&&A.length===1&&(()=>{let L=A[0],E=L.title??Do(L.toolName);if(p==="titles-only")return ee(Xi,{title:E,state:L.state});let D="output"in L?L.output:void 0;return Je(ji,{children:[ee($i,{title:E,state:L.state}),Je(Ki,{children:[ee(Ao,{input:L.input,debug:f}),D!==void 0&&ee(Ro,{output:D,errorText:"errorText"in L?L.errorText:void 0,debug:f})]})]})})(),A.map(L=>{let E="output"in L?L.output:void 0,D=oa(L.toolName,E,m),ne=Yi(L.toolName,E,m),ie=L.toolCallId===d;return D&&n&&E!==void 0?ee("div",{style:ie?{position:"absolute",inset:0,zIndex:10,display:"flex",flexDirection:"column",overflow:"hidden",background:"var(--ww-color-background)"}:void 0,children:D&&n&&E!==void 0&&ee(or,{children:ee(Fo,{isFullscreen:ie,resourceUri:D,toolInput:L.input??{},toolResult:{content:E.content,structuredContent:E.structuredContent,_meta:E._meta},resourceEndpoint:n,chatSessionId:s,isDark:i,autoHeight:ne,toolDefinitions:m,onFollowUp:l,onCallTool:u,onDisplayModeChange:c?N=>c(N,{toolCallId:L.toolCallId,resourceUri:D,toolInput:L.input??{},toolResult:{content:E.content,structuredContent:E.structuredContent,_meta:E._meta},autoHeight:ne}):void 0})})},L.toolCallId):null}),!$&&ee("div",{children:Je(bo,{className:k(I.role==="user"?S?.userBubble:S?.assistantBubble),children:[P.length>0&&ee(Yn,{files:P}),T?b.map((L,E)=>{let D=B&&t==="streaming"&&E===b.length-1;return ee(rr,{isStreaming:D,children:L.type==="text"?L.text:""},`${I.id}-${E}`)}):null]})})]},I.id)}),C&&ee(rl,{})]})}import{jsx as ll,jsxs as pm}from"react/jsx-runtime";var cm="https://app.waniwani.ai/assets/waniwani-logo.svg",fm="https://waniwani.ai";function sr(){let{t:e}=U();return pm("a",{href:fm,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:[ll("span",{children:e.poweredBy.label}),ll("img",{src:cm,alt:"Waniwani",width:72,height:10,"data-waniwani-logo":"",className:"ww:h-2.5 ww:w-auto"})]})}import{jsx as ir}from"react/jsx-runtime";function lr({suggestions:e,isLoading:t,onSelect:a,className:r,...o}){return e.length===0&&!t?null:ir("div",{className:k("ww:px-4 ww:py-2",r),...o,children:ir("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=>ir("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)=>ir("button",{type:"button",onClick:()=>a(n),className:k("ww:rounded-full ww:border ww:border-border ww:bg-background ww:px-3.5 ww:py-1.5 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{useEffect as mm,useRef as hm,useState as gm}from"react";import{jsx as oe,jsxs as dt}from"react/jsx-runtime";var ul=20;function wm({label:e}){return dt("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[oe("title",{children:e}),oe("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),oe("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}function xm({label:e}){return dt("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[oe("title",{children:e}),oe("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),oe("polyline",{points:"3 4 3 9 8 9"}),oe("line",{x1:"12",y1:"7",x2:"12",y2:"12"}),oe("line",{x1:"12",y1:"12",x2:"15",y2:"14"})]})}function Lm({label:e}){return dt("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[oe("title",{children:e}),oe("polyline",{points:"3 6 5 6 21 6"}),oe("path",{d:"M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6"}),oe("path",{d:"M10 11v6"}),oe("path",{d:"M14 11v6"})]})}function ur({threads:e,activeThreadId:t,onNewThread:a,onSelectThread:r,onDeleteThread:o}){let{locale:n,t:s}=U(),[i,l]=gm(!1),u=hm(null);mm(()=>{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,ul),d=Math.max(0,e.length-ul);return dt("div",{ref:u,className:"ww:relative ww:flex ww:items-center ww:gap-1",children:[oe("button",{type:"button",onClick:a,title:s.threadMenu.newChat,"aria-label":s.threadMenu.newChat,className:"ww:p-1.5 ww:rounded-md ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/5 ww:transition-colors ww:cursor-pointer",children:oe(wm,{label:s.threadMenu.newChat})}),oe("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:oe(xm,{label:s.threadMenu.threadHistory})}),i&&dt("div",{role:"menu",className:"ww:absolute ww:right-0 ww:top-full ww:mt-1 ww:w-72 ww:max-h-80 ww:overflow-y-auto ww:rounded-lg ww:border ww:border-border ww:bg-background ww:shadow-lg ww:z-50",children:[c.length===0&&oe("div",{className:"ww:px-3 ww:py-3 ww:text-xs ww:text-muted-foreground",children:s.threadMenu.noPreviousChats}),c.map(f=>{let p=f.threadId===t,m=Date.parse(f.updatedAt);return dt("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:[dt("button",{type:"button",onClick:()=>{r(f.threadId),l(!1)},className:"ww:flex-1 ww:min-w-0 ww:text-left ww:cursor-pointer",children:[oe("div",{className:"ww:truncate ww:text-foreground ww:font-medium",children:f.title}),oe("div",{className:"ww:text-[10px] ww:text-muted-foreground",children:Number.isNaN(m)?"":Er(m,n)})]}),oe("button",{type:"button",onClick:S=>{S.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:oe(Lm,{label:s.threadMenu.deleteThread})})]},f.threadId)}),d>0&&oe("div",{className:"ww:px-3 ww:py-2 ww:text-[10px] ww:text-muted-foreground ww:border-t ww:border-border",children:s.threadMenu.hiddenThreads(d)})]})]})}import{useCallback as Im,useRef as Cm}from"react";function dr(e){let t=Cm(e);return t.current=e,Im(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 Nm}from"@ai-sdk/react";import{useCallback as Se,useEffect as De,useRef as he,useState as ct}from"react";function Ye(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 Sm,uiMessageChunkSchema as ym}from"ai";function bm(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 cr=class extends Sm{processResponseStream(t){let a="",r=ym(),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=bm(f.error);if(p?.length){let m={...d};for(let g of p)delete m[g];let S=await o(m);S.success&&s.enqueue(S.value)}}catch{}}}}))}};var km="waniwani-memory";var Re="threads",fr="by_memoryUserId",Tm="by_updatedAt";var cl="memoryUserId",dl="waniwani-memory-user-id",Eo=null;function _o(){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 vm(e,t){if(t<1&&(e.objectStoreNames.contains("ids")||e.createObjectStore("ids")),t<2&&!e.objectStoreNames.contains(Re)){let a=e.createObjectStore(Re,{keyPath:"threadId"});a.createIndex(fr,"memoryUserId",{unique:!1}),a.createIndex(Tm,"updatedAt",{unique:!1})}}async function No(){return new Promise((e,t)=>{let a=indexedDB.open(km,2);a.onupgradeneeded=r=>{vm(a.result,r.oldVersion)},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})}async function Pm(){return No()}async function Am(e){return new Promise((t,a)=>{let n=e.transaction("ids","readonly").objectStore("ids").get(cl);n.onsuccess=()=>t(typeof n.result=="string"?n.result:null),n.onerror=()=>a(n.error)})}async function Rm(e,t){return new Promise((a,r)=>{let s=e.transaction("ids","readwrite").objectStore("ids").put(t,cl);s.onsuccess=()=>a(),s.onerror=()=>r(s.error)})}async function Mm(){if(typeof indexedDB>"u")return null;try{let e=await Pm();try{let t=await Am(e);if(t)return t;let a=_o();return await Rm(e,a),a}finally{e.close()}}catch{return null}}function Fm(){try{let e=localStorage.getItem(dl);if(e)return e;let t=_o();return localStorage.setItem(dl,t),t}catch{return null}}async function fl(){let e=await Mm();if(e)return e;let t=Fm();return t||(Eo||(Eo=_o()),Eo)}var pl=50,ml=1e3;function pr(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 mr(e){if(typeof indexedDB>"u")return null;let t=null;try{return t=await No(),await e(t)}catch{return null}finally{try{t?.close()}catch{}}}function Oo(e){return new Promise((t,a)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>a(e.error)})}async function Uo(e){return await mr(async a=>{let n=a.transaction(Re,"readonly").objectStore(Re).index(fr),i=(await Oo(n.getAll(e))??[]).filter(pr);return i.sort((l,u)=>l.updatedAt<u.updatedAt?1:-1),i})??[]}async function hr(e){return await mr(async a=>{let o=a.transaction(Re,"readonly").objectStore(Re),n=await Oo(o.get(e));return pr(n)?n:null})??null}async function Ho(e){if(!pr(e))return;let t=e.messages.length>ml?{...e,messages:e.messages.slice(e.messages.length-ml)}:e;await mr(async a=>{await new Promise((l,u)=>{let c=a.transaction(Re,"readwrite");c.oncomplete=()=>l(),c.onerror=()=>u(c.error),c.onabort=()=>u(c.error),c.objectStore(Re).put(t)});let r=a.transaction(Re,"readwrite"),o=r.objectStore(Re),n=o.index(fr),i=(await Oo(n.getAll(t.memoryUserId))??[]).filter(pr);if(i.length>pl){i.sort((u,c)=>u.updatedAt<c.updatedAt?-1:1);let l=i.slice(0,i.length-pl);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 hl(e){await mr(async t=>(await new Promise((a,r)=>{let o=t.transaction(Re,"readwrite");o.oncomplete=()=>a(),o.onerror=()=>r(o.error),o.onabort=()=>r(o.error),o.objectStore(Re).delete(e)}),null))}async function qo(e){return(await Uo(e))[0]?.threadId??null}function gl(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 wl="waniwani-visitor-id";function xl(e,t){return e.match(t)?.[1]??null}function Bm(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=xl(e,r);if(o)return{name:a,version:o}}return null}function Dm(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=xl(e,r);if(o)return{name:a,version:o.replace(/_/g,".")};if(a==="Linux"&&r.test(e))return{name:a,version:""}}return null}function Em(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 _m(){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 sa(){try{let t=localStorage.getItem(wl);if(t)return t}catch{}let e=_m();try{localStorage.setItem(wl,e)}catch{}return e}async function ia(){let e=navigator.userAgent,t=sa(),a=await fl();return{userAgent:e,browser:Bm(e),os:Dm(e),deviceType:Em(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 Om="x-session-id",Um=250;function Ll(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Ht()}function gr(){return new Date().toISOString()}function Il(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}async function Hm(e,t){let a=Ye(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 wr(e){let{api:t="/api/waniwani",headers:a,body:r,onMessageSent:o,onResponseReceived:n,enableThreadHistory:s=!1,activeThreadId:i,onThreadChange:l}=e,u=he(a),c=he(r),d=he(s);De(()=>{d.current=s},[s]);let f=he(void 0),p=he(null),[m,S]=ct(void 0),g=he(m),[x,w]=ct(i),h=he(x),[C,I]=ct([]),[b,v]=ct(!s),P=he(void 0),A=he(void 0),M=he(void 0),B=he(void 0),T=he(0),$=he(l);De(()=>{$.current=l},[l]);let X=Se(y=>{h.current=y,w(y),y&&$.current?.(y)},[]),L=Se(async()=>{if(!s)return;let y=p.current?.memoryUserId;if(!y)return;let F=await Uo(y);I(F)},[s]),E=Se(()=>g.current,[]),D=Se(y=>{let F=Il(y);F&&g.current!==F&&(g.current=F,S(F))},[]),ne=Se(()=>{g.current=void 0,S(void 0)},[]);De(()=>{u.current=a},[a]),De(()=>{c.current=r},[r]),De(()=>{let y=!1,F=T.current;return(async()=>{try{let ae=await ia();if(y)return;p.current=ae}catch{}if(!s)return;let _=p.current?.memoryUserId;if(!_){v(!0);return}try{let ae=i??await qo(_);if(y||F!==T.current)return;if(ae){let we=await hr(ae);if(y||F!==T.current)return;we&&we.memoryUserId===_&&(h.current=we.threadId,w(we.threadId),P.current=we.createdAt,A.current=we.title,we.sessionId&&(g.current=we.sessionId,S(we.sessionId)),j(we.messages))}await L()}finally{y||v(!0)}})(),()=>{y=!0}},[]);let ie=he(new cr({api:t,headers:()=>({...u.current}),body:()=>{let y={...c.current??{}},F=Object.hasOwn(y,"sessionId"),_=Il(y.sessionId);if(_)D(_),y.sessionId=_;else if(F)ne(),delete y.sessionId;else{let kr=E();kr&&(y.sessionId=kr)}bt(f.current)&&(y.modelContext=f.current);let ae=p.current,we=ae?.visitorId??sa();ae&&(y.visitorContext={timezone:ae.timezone,language:ae.language,languages:ae.languages,deviceType:ae.deviceType,referrer:ae.referrer,visitorId:we});let de=typeof y.visitor=="object"&&y.visitor!==null?y.visitor:{},iu=typeof de.client=="object"&&de.client!==null?de.client:{};y.visitor={...de,id:we,client:{...iu,...ae&&{memoryUserId:ae.memoryUserId}}};let nn=typeof y.extra=="object"&&y.extra!==null&&!Array.isArray(y.extra)?y.extra:void 0,sn=p.current?.memoryUserId,ln=p.current?.language,fa={};if(sn&&(fa.memoryUserId=sn),ln&&(fa.locale=ln),(Object.keys(fa).length>0||nn)&&(y.extra={...fa,...nn??{}}),d.current)if(Object.hasOwn(y,"threadId"))typeof y.threadId=="string"&&(h.current=y.threadId);else{let pa=h.current;pa||(pa=Ll(),P.current=gr(),A.current=void 0,X(pa)),y.threadId=pa}return y},fetch:(async(y,F)=>{let _=await fetch(y,F);return f.current=void 0,D(_.headers.get(Om)),_})})),N=he(null),le=he(null),Le=he({}),[Te,se]=ct(0),W=e.skipRemoteConfig===!0,H=Se(async()=>{if(!W)try{let y=await Hm(t,u.current);Le.current=y,se(F=>F+1)}catch(y){console.warn("[Waniwani] Failed to fetch tool definitions:",y instanceof Error?y.message:y)}},[t,W]);De(()=>{H()},[H]);let{messages:ue,sendMessage:fe,setMessages:j,status:K}=Nm({messages:e.initialMessages,transport:ie.current,onFinish({message:y}){n?.(),N.current&&(le.current=y)},onError(y){console.warn("[Waniwani] Chat error:",y.message),N.current&&(N.current.reject(y),N.current=null)}}),z=he(ue);De(()=>{z.current=ue},[ue]);let G=he(s);De(()=>{if(!s||G.current||(G.current=!0,z.current.length>0))return;let y=!1,F=T.current;return v(!1),(async()=>{try{let _=p.current;if(!_)try{_=await ia(),p.current=_}catch{}let ae=_?.memoryUserId;if(!ae||y||F!==T.current){y||v(!0);return}let we=i??await qo(ae);if(y||F!==T.current)return;if(we){let de=await hr(we);if(y||F!==T.current)return;de&&de.memoryUserId===ae&&(h.current=de.threadId,w(de.threadId),P.current=de.createdAt,A.current=de.title,de.sessionId&&(g.current=de.sessionId,S(de.sessionId)),j(de.messages))}await L()}finally{y||v(!0)}})(),()=>{y=!0}},[s]),De(()=>{if(K==="ready"&&N.current&&le.current){let y=N.current,F=le.current;N.current=null,le.current=null,y.resolve(F)}},[K]);let[Q,O]=ct(""),[Y,te]=ct([]),R=K==="submitted"||K==="streaming",q=Se(y=>{te(F=>F.filter(_=>_.id!==y))},[]),pe=R&&Y.length>0,ve=Se(y=>{let F=!!y.text?.trim(),_=!!y.files?.length;if(F||_){if(R){if(Y.length>0)return;te(ae=>[...ae,{id:Ht(),text:y.text||"",files:y.files??[],modelContext:y.modelContext}]),O("");return}f.current=y.modelContext,fe({text:y.text||"",files:y.files}),o?.(y.text||""),O("")}},[fe,o,R,Y.length]),vt=Se(y=>new Promise((F,_)=>{N.current={resolve:F,reject:_},fe({text:y}),o?.(y)}),[fe,o]);De(()=>{if(K!=="ready"||Y.length===0)return;let[y,...F]=Y;te(F),f.current=y.modelContext,fe({text:y.text,files:y.files.length>0?y.files:void 0}),o?.(y.text)},[K,fe,o,Y]);let ft=Se(()=>{j([]),te([]),ne(),O(""),Le.current={},se(y=>y+1),H()},[j,ne,H]),pt=Se(()=>{if(!d.current)return;let y=p.current?.memoryUserId,F=h.current,_=z.current;if(!(!y||!F||_.length===0)){if(P.current||(P.current=gr()),!A.current){let ae=_.find(de=>de.role==="user"),we=ae?ae.parts.map(de=>"text"in de&&typeof de.text=="string"?de.text:"").join(" "):"";A.current=gl(we)}return{threadId:F,memoryUserId:y,title:A.current,messages:_,sessionId:g.current,createdAt:P.current,updatedAt:gr()}}},[]),an=Se(async()=>{let y=pt();y&&(await Ho(y),await L())},[pt,L]);De(()=>{if(s&&b&&!(K==="submitted"||K==="streaming")&&ue.length!==0)return M.current&&clearTimeout(M.current),M.current=setTimeout(()=>{M.current=void 0;let y=an().finally(()=>{B.current===y&&(B.current=void 0)});B.current=y},Um),()=>{M.current&&clearTimeout(M.current)}},[s,b,ue,K,an]);let ca=Se(()=>{let y=B.current,F=M.current,_=F?pt():void 0;return F&&(clearTimeout(F),M.current=void 0),(async()=>{y&&await y,_&&(await Ho(_),await L())})()},[pt,L]),au=Se(()=>{T.current+=1,ca(),j([]),te([]),ne(),O("");let y=Ll();return P.current=gr(),A.current=void 0,X(y),L(),y},[j,ne,X,L,ca]),br=Se(async y=>{T.current+=1;let F=T.current;if(await ca(),F!==T.current)return;let _=await hr(y);F===T.current&&_&&(X(_.threadId),P.current=_.createdAt,A.current=_.title,_.sessionId?(g.current=_.sessionId,S(_.sessionId)):ne(),j(_.messages),te([]),O(""))},[j,ne,X,ca]),ru=Se(async y=>{if(h.current===y){T.current+=1,M.current&&(clearTimeout(M.current),M.current=void 0);let F=B.current;F&&await F}await hl(y),await L(),h.current===y&&(j([]),te([]),ne(),O(""),h.current=void 0,w(void 0),P.current=void 0,A.current=void 0)},[j,ne,L]);De(()=>{s&&b&&i!==void 0&&i!==h.current&&br(i)},[i,s,b,br]);let ou=Se(y=>{O(y.target.value)},[]),rn=ue[ue.length-1],on=ue.length>0,nu=R&&(!on||rn.role==="user"),su=Le.current;return{messages:ue,status:K,text:Q,setText:O,handleSubmit:ve,handleTextChange:ou,isLoading:R,showLoaderBubble:nu,lastMessage:rn,hasMessages:on,sendMessage:fe,sendMessageAndWait:vt,reset:ft,queuedMessages:Y,queueFull:pe,removeQueuedMessage:q,sessionId:m,toolDefinitions:su,refreshToolDefinitions:H,threads:C,activeThreadId:x,isThreadHistoryReady:b,startNewThread:au,switchThread:br,deleteThread:ru}}import{useEffect as Cl,useRef as qm,useState as Gm}from"react";var Wm={debug:!1,eval:!1};function Sl(e="/api/waniwani",t,a=!1){let[r,o]=Gm(Wm),n=qm(t);return Cl(()=>{n.current=t},[t]),Cl(()=>{a||(async()=>{try{let s=n.current,l=await(await fetch(Ye(e,"/config"),{headers:s?{...s}:void 0})).json();o({debug:l.debug===!0,eval:l.eval===!0})}catch{}})()},[e,a]),r}import{useCallback as Vm,useEffect as Go,useRef as zm,useState as jm}from"react";function $m(e){for(let t of e.parts){let a=t;if(a.type==="data"||a.type==="data-suggestions"){let r=a.data;if(r&&Array.isArray(r.suggestions))return r.suggestions}}return null}function yl(e){return typeof e=="object"&&e!==null&&"initial"in e}function xr(e){let{messages:t,status:a,config:r}=e,o=yl(r)&&r.initial?r.initial:void 0,[n,s]=jm(o??[]),i=zm(a),l=r===!0||yl(r)&&r.dynamic!==!1,u=Vm(()=>{s([])},[]),c=t.length>0;Go(()=>{!c&&o&&o.length>0&&s(o)},[o,c]);let d=t[t.length-1];return Go(()=>{d?.role==="user"&&u()},[d,u]),Go(()=>{let f=i.current;if(i.current=a,f==="streaming"&&a==="ready"&&l){let p=[...t].reverse().find(S=>S.role==="assistant");if(!p)return;let m=$m(p);m&&s(m)}},[a,l,t]),{suggestions:n,isLoading:!1,clear:u}}import{useEffect as Xm,useRef as Km,useState as Qm}from"react";var Jm=80,Ym=50,Zm=15e3,bl=500;function Lr(e,t=!0){let[a,r]=Qm(""),o=Km(void 0);return Xm(()=>{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,bl)):o.current=setTimeout(l,Ym)):(n++,r(e.slice(0,n)),n>=e.length?(s=!0,o.current=setTimeout(l,Zm)):o.current=setTimeout(l,Jm)))};return o.current=setTimeout(l,bl),()=>{i=!0,clearTimeout(o.current)}},[e,t]),a}function Ir(e,t){let a=t?.Authorization,r=typeof a=="string"&&a.startsWith("Bearer ")?a.slice(7):null;return Ye(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"},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"},th={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"]};function Wo(e){return{...kl,...e}}function la(e){let t={};for(let[a,r]of Object.entries(th)){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 ye,jsxs as ua}from"react/jsx-runtime";var nh=ah(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:S=!1,showToolCalls:g=!0}=t,x=p??"/api/waniwani",w=Ir(x,t.headers),h=Wo(r),C=la(r??{}),I=h.backgroundColor.replace("#",""),b=parseInt(I.substring(0,2),16),v=parseInt(I.substring(2,4),16),P=parseInt(I.substring(4,6),16),A=(b*299+v*587+P*114)/1e3<128,M=Sl(x,t.headers,t.skipRemoteConfig),B=m??M.debug,T=wr({...t,api:x}),$=dr({...t,api:x,sessionId:T.sessionId}),X=Lr(d,!T.text),[L,E]=vl(!1),[D,ne]=vl(null),ie=Tl(null),N=Tl(void 0),le=Vo(()=>{let W=ie.current;if(!W)return;W.scrollIntoView({behavior:"smooth",block:"center"});let H=W.querySelector("textarea");H&&setTimeout(()=>H.focus(),300),E(!0),clearTimeout(N.current),N.current=setTimeout(()=>E(!1),2e3)},[]),Le=xr({messages:T.messages,status:T.status,config:t.suggestions}),Te=Vo(W=>{let H=W.content.map(ue=>ue.text??"").join("").trim();H&&T.handleSubmit({text:H,files:[],modelContext:W.modelContext})},[T.handleSubmit]),se=Vo(W=>{Le.clear(),T.handleSubmit({text:W,files:[]})},[Le.clear,T.handleSubmit]);return oh(a,()=>({sendMessage:W=>{T.handleSubmit({text:W,files:[]}),le()},sendMessageAndWait:W=>T.sendMessageAndWait(W),reset:T.reset,focus:le,get messages(){return T.messages},get sessionId(){return T.sessionId}}),[T.handleSubmit,T.sendMessageAndWait,T.reset,T.messages,T.sessionId,le]),rh(()=>{if(!f)return;let W=H=>{let ue=H.detail,fe=typeof ue?.message=="string"?ue.message:void 0;fe&&T.handleSubmit({text:fe,files:[]}),le()};return window.addEventListener(f,W),()=>window.removeEventListener(f,W)},[f,T.handleSubmit,le]),ua("div",{ref:ie,style:{...C,width:n,height:s},"data-waniwani-chat":"","data-waniwani-layout":"card",...A?{"data-waniwani-dark":""}:{},className:k("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",L&&"ww:ring-2 ww:ring-blue-400/70 ww:ring-offset-2 ww:ring-offset-background",i),children:[ua("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:[ye("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:o}),ye(Jn,{messages:T.messages,evalEnabled:M.eval,api:x}),S&&ye(ur,{threads:T.threads,activeThreadId:T.activeThreadId,onNewThread:T.startNewThread,onSelectThread:W=>{T.switchThread(W)},onDeleteThread:W=>{T.deleteThread(W)}})]}),ua(Pn,{className:"ww:flex-1 ww:min-h-0 ww:bg-background",children:[ye(An,{scrollClassName:D?"ww:!relative ww:!overflow-hidden":void 0,children:ye(nr,{messages:T.messages,status:T.status,welcomeMessage:u,welcome:c,onSuggestionSelect:se,resourceEndpoint:w,chatSessionId:T.sessionId,isDark:A,onFollowUp:Te,onCallTool:$,fullscreenToolCallId:D,debug:B,showToolCalls:g,toolDefinitions:T.toolDefinitions,onWidgetDisplayModeChange:(W,H)=>{ne(W==="fullscreen"?H.toolCallId:null)}})}),ye(Rn,{})]}),ye("div",{style:D?{display:"none"}:void 0,children:ye(lr,{suggestions:Le.suggestions,isLoading:Le.isLoading,onSelect:se})}),ye("div",{style:D?{display:"none"}:void 0,children:ye(ba,{queuedMessages:T.queuedMessages,onRemove:T.removeQueuedMessage})}),ye("div",{style:D?{display:"none"}:void 0,children:ye("div",{className:"ww:shrink-0 ww:px-4 ww:pb-8 ww:pt-2 ww:bg-background",children:ua("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[ye(Ia,{onSubmit:T.handleSubmit,globalDrop:l,multiple:l,className:"ww:rounded-2xl ww:border-border ww:bg-input",children:ua("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[l&&ye(ya,{}),ye(Ca,{onChange:T.handleTextChange,value:T.text,placeholder:X,className:"ww:min-h-0 ww:py-1 ww:px-0"}),ye(Sa,{status:T.status,disabled:T.queueFull})]})}),ye(sr,{})]})})})]})});import{forwardRef as Al,useCallback as Cr,useEffect as kt,useImperativeHandle as ih,useRef as da,useState as Sr}from"react";import{jsx as sh}from"react/jsx-runtime";function Pl({text:e}){let{t}=U();return e===!1?null:sh("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 ge,jsxs as Ze}from"react/jsx-runtime";var zo=Al(function(t,a){let{locale:r,messages:o}=t;return ge(Dr,{locale:r,messages:o,children:ge(lh,{...t,ref:a})})}),lh=Al(function(t,a){let{t:r,ready:o}=U(),{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:S=!1,readOnly:g=!1,title:x,headerActions:w,hideHeader:h=!1,enableThreadHistory:C=!1,showToolCalls:I=!0,initializing:b=!1,disclaimer:v}=t,P=n?.theme,A=n?.variables,M=n?.assistantBubble??!1,B=A?la(A):{},[T,$]=Sr(!1);kt(()=>{if(P!=="auto"||typeof window>"u")return;let R=window.matchMedia("(prefers-color-scheme: dark)");$(R.matches);let q=()=>$(R.matches);return R.addEventListener("change",q),()=>R.removeEventListener("change",q)},[P]);let X=P==="dark"||P==="auto"&&T,L=wr({...t,api:p}),E=dr({...t,api:p,sessionId:L.sessionId,onCallTool:m?.onCallTool}),D=m?.resourceEndpoint??Ir(p,t.headers),ne=Lr(d,!L.text),[ie,N]=Sr(null),[le,Le]=Sr(null),Te=da(null),se=da(null),W=da(null),H=da(null),[ue,fe]=Sr(!0),j=da(ue);j.current=ue;let K=Cr(()=>{let R=Te.current;if(!R)return;let q=R.querySelector("textarea");q&&q.focus()},[]),z=Cr((R="smooth")=>{let q=se.current;q&&q.scrollTo({top:q.scrollHeight,behavior:R})},[]);kt(()=>{let R=H.current,q=se.current;if(!R||!q)return;let pe=new IntersectionObserver(([ve])=>fe(ve.isIntersecting),{root:q,rootMargin:"0px 0px 200px 0px",threshold:0});return pe.observe(R),()=>pe.disconnect()},[]),kt(()=>{(L.messages[L.messages.length-1]?.role==="user"||j.current)&&z("smooth")},[L.messages.length,L.messages[L.messages.length-1]]),kt(()=>{z("auto")},[z]),kt(()=>{if(typeof ResizeObserver>"u")return;let R=se.current,q=W.current;if(!R&&!q)return;let pe=R?.scrollHeight??0,ve=R?.clientHeight??0,vt=new ResizeObserver(()=>{let ft=se.current;if(!ft)return;let pt=ft.scrollTop+ve>=pe-5;pe=ft.scrollHeight,ve=ft.clientHeight,pt&&z("auto")});return R&&vt.observe(R),q&&vt.observe(q),()=>vt.disconnect()},[z]);let G=xr({messages:L.messages,status:L.status,config:t.suggestions}),Q=Cr(R=>{let q=R.content.map(pe=>pe.text??"").join("").trim();q&&L.handleSubmit({text:q,files:[],modelContext:R.modelContext})},[L.handleSubmit]),O=Cr(R=>{G.clear(),L.handleSubmit({text:R,files:[]})},[G.clear,L.handleSubmit]);ih(a,()=>({sendMessage:R=>{L.handleSubmit({text:R,files:[]}),K()},sendMessageAndWait:R=>L.sendMessageAndWait(R),reset:L.reset,focus:K,get messages(){return L.messages},get sessionId(){return L.sessionId}}),[L.handleSubmit,L.sendMessageAndWait,L.reset,L.messages,L.sessionId,K]),kt(()=>{if(!f)return;let R=q=>{let pe=q.detail,ve=typeof pe?.message=="string"?pe.message:void 0;ve&&L.handleSubmit({text:ve,files:[]}),K()};return window.addEventListener(f,R),()=>window.removeEventListener(f,R)},[f,L.handleSubmit,K]);let Y=!h&&!!(x||C||w),te=b||!o;return Ze("div",{ref:Te,style:{...B,maxHeight:"inherit",...ie&&le?{height:le}:{},opacity:te?0:1,transition:"opacity 220ms ease-out"},"data-waniwani-chat":"","data-waniwani-layout":"embed","data-assistant-bubble":M?"true":void 0,"data-color-scheme":P==="auto"?"auto":void 0,...te?{"data-waniwani-initializing":""}:{},...X?{"data-waniwani-dark":""}:{},className:k("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:[Y&&Ze("div",{className:k("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&&ge("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:x}),!x&&ge("div",{className:"ww:flex-1"}),C&&ge(ur,{threads:L.threads,activeThreadId:L.activeThreadId,onNewThread:L.startNewThread,onSelectThread:R=>{L.switchThread(R)},onDeleteThread:R=>{L.deleteThread(R)}}),w]}),Ze("div",{ref:se,className:k("ww:relative ww:flex-1 ww:min-h-0",ie?"ww:overflow-hidden":"ww:overflow-y-auto"),children:[Ze("div",{ref:W,className:k("ww:mx-auto ww:w-full ww:max-w-3xl ww:px-4 ww:py-6 ww:flex ww:flex-col ww:gap-6",ie&&"ww:!py-0"),children:[ge(nr,{messages:L.messages,status:L.status,welcomeMessage:u,welcome:c,onSuggestionSelect:O,resourceEndpoint:D,chatSessionId:L.sessionId,isDark:X,onFollowUp:Q,onCallTool:E,fullscreenToolCallId:ie,debug:S,showToolCalls:I,toolDefinitions:L.toolDefinitions,messageClassNames:{message:i?.message,userBubble:i?.userBubble,assistantBubble:i?.assistantBubble},onWidgetDisplayModeChange:(R,q)=>{if(R==="fullscreen"){let pe=Te.current?.getBoundingClientRect().height??0;Le(pe>0?pe:null),N(q.toolCallId)}else Le(null),N(null)}}),ge("div",{ref:H,"aria-hidden":!0,style:{height:1}})]}),!ue&&!ie&&ge("div",{className:"ww:sticky ww:bottom-2 ww:flex ww:justify-center ww:pointer-events-none",children:ge(Fe,{type:"button",onClick:()=>z("smooth"),size:"icon",variant:"outline",className:"ww:rounded-full ww:shadow ww:pointer-events-auto","aria-label":"Scroll to latest",children:ge(et,{className:"ww:size-4"})})})]}),!g&&Ze("div",{className:"ww:shrink-0 ww:bg-background",style:ie?{display:"none"}:void 0,children:[ge(lr,{suggestions:G.suggestions,isLoading:G.isLoading,onSelect:O}),ge(ba,{queuedMessages:L.queuedMessages,onRemove:L.removeQueuedMessage}),ge("div",{className:"ww:px-4 ww:pb-2 ww:pt-2",children:Ze("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[ge(Ia,{onSubmit:L.handleSubmit,globalDrop:l,multiple:l,className:k("ww-input ww:rounded-2xl ww:border-border ww:bg-input",i?.input),children:Ze("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[l&&ge(ya,{}),ge(Ca,{onChange:L.handleTextChange,value:L.text,placeholder:ne,className:"ww:min-h-0 ww:py-1 ww:px-0"}),ge(Sa,{status:L.status,disabled:L.queueFull})]})}),Ze("div",{className:"ww:pt-2 ww:pb-1 ww:flex ww:flex-nowrap ww:justify-center ww:items-center ww:gap-1.5",children:[ge(sr,{}),ge(Pl,{text:v})]})]})})]})]})});import{forwardRef as Jh,useEffect as Jl,useImperativeHandle as Yh,useMemo as Yl,useRef as Zl,useState as eu}from"react";var uh="https://app.waniwani.ai/api/mcp/chat",dh={api:uh};function ch(){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 fh(){let e=ch();if(!e)return{};let t=A=>e.getAttribute(A)??void 0,a=A=>{let M=e.getAttribute(A);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-title");s&&(r.title=s);let i=t("data-welcome-message");i&&(r.welcomeMessage=i);let l=t("data-placeholder");l&&(r.placeholder=l);let u=t("data-mcp-server-url");u&&(r.mcpServerUrl=u);let c=t("data-channel-id");if(c&&(r.channelId=c),t("data-show-tool-calls")?.trim().toLowerCase()==="titles-only")r.showToolCalls="titles-only";else{let A=a("data-show-tool-calls");A!==void 0&&(r.showToolCalls=A)}let f=t("data-css");f&&(r.css=f);let p=t("data-suggestions");p&&(r.suggestions=p.split(",").map(A=>A.trim()).filter(Boolean));let m=a("data-enable-thread-history");m!==void 0&&(r.enableThreadHistory=m);let S=a("data-disable-page-view");S!==void 0&&(r.disablePageView=S);let g=a("data-hide-header");g!==void 0&&(r.hideHeader=g);let x=t("data-theme");(x==="light"||x==="dark"||x==="auto")&&(r.appearance={...r.appearance,theme:x});let w=a("data-assistant-bubble");w!==void 0&&(r.appearance={...r.appearance,assistantBubble:w});let h=t("data-locale");(h==="en"||h==="fr"||h==="es")&&(r.locale=h);let C=t("data-mode");(C==="inline"||C==="floating")&&(r.mode=C);let I=t("data-height");I&&(r.height=I);let b=t("data-launcher-text");b&&(r.launcherText=b);let v=t("data-appear-delay");if(v!==void 0){let A=Number.parseInt(v.trim(),10);Number.isFinite(A)&&A>=0&&(r.appearDelay=A)}let P=t("data-disclaimer");if(P!==void 0){let A=P.trim(),M=A.toLowerCase();M==="false"||M==="0"?r.disclaimer=!1:A&&(r.disclaimer=A)}return r}function jo(e){if(!e)return{};let t={};for(let a in e)e[a]!==void 0&&(t[a]=e[a]);return t}function $o(e,t,a){let r=a??fh(),o=ph(t,r,e),n={token:"",...dh,...jo(t),...jo(r),...jo(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 ph(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 Cb,useState as Sb}from"react";function mh(){if(typeof window>"u")return!1;try{return window.WANIWANI_DEBUG?!0:!!window.localStorage?.getItem("WANIWANI_DEBUG")}catch{return!1}}function Xo(...e){mh()&&console.log("[Waniwani]",...e)}var Ko=new Set;function hh(e,t,a){return`${e}|${t}|${a??""}`}function Qo(e){try{return`${new URL(e).origin}/api/mcp/events/v2/batch`}catch{return e.replace(/\/$/,"").replace(/\/chat$/,"/events/v2/batch")}}async function Jo(e){let{api:t,token:a,channelId:r,mode:o,source:n}=e;if(typeof window>"u"||!t||!a)return;let s=hh(t,a,r);if(!Ko.has(s)){Ko.add(s);try{let i=await ia(),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(Qo(t),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:u,keepalive:!0})}catch{Ko.delete(s)}}}var gh="waniwani:config:";function Rl(e,t,a){return`${gh}${e}|${t}|${a??""}`}function Yo(e,t,a){if(typeof window>"u")return null;try{let r=window.sessionStorage.getItem(Rl(e,t,a));if(!r)return null;let o=JSON.parse(r);return o&&typeof o=="object"?o:null}catch{return null}}function Ml(e,t,a,r){if(!(typeof window>"u"))try{window.sessionStorage.setItem(Rl(e,t,a),JSON.stringify(r))}catch{}}async function Fl(e,t,a,r){try{let o=Ye(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?wh(i):{}}catch{return{}}}function wh(e){let t={};return 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),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 Ch,useSyncExternalStore as Sh}from"react";function xh(e){return e?.patterns??e?.rules??[]}var Bl="\0\0";function Lh(e){let a=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\\\*\\\*/g,Bl).replace(/\\\*/g,"[^/]*").split(Bl).join(".*");return new RegExp(`^${a}$`)}function Ih(e,t){try{return Lh(e).test(t)}catch{return!1}}function Dl(e,t){if(!e)return!0;let a=!1;for(let r of xh(e))if(Ih(r.glob,t)){if(r.action==="hide")return!1;a=!0}return a?!0:(e.default??"show")!=="hide"}var Zo="waniwani:locationchange",El=!1;function yh(){if(!(El||typeof history>"u")){El=!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(Zo)),o}}}}function bh(e){return yh(),window.addEventListener(Zo,e),window.addEventListener("popstate",e),()=>{window.removeEventListener(Zo,e),window.removeEventListener("popstate",e)}}function kh(){return window.location.pathname}function Th(){return"/"}function vh(){return Sh(bh,kh,Th)}function _l(e,t){let a=vh(),r=t&&Dl(e,a);return Ch(()=>{Xo("visibility gate",{pathname:a,ready:t,visible:r,rules:e})},[a,t,r]),r}function Tt(e,t){for(let a of t){let r=e[a];if(typeof r=="string"&&r.length>0)return r}}var Ph=["waniwani/sessionId","openai/sessionId","openai/session","sessionId","conversationId","mcp-session-id"],Ah=["waniwani/requestId","openai/requestId","requestId","mcp/requestId"],Rh=["waniwani/traceId","openai/traceId","traceId","mcp/traceId","openai/requestId","requestId"],Mh=["waniwani/userId","openai/userId","externalUserId","userId","actorId"],Fh=["waniwani/visitorId","visitorId"],Bh=["correlationId","openai/requestId"];function Nl(e){return e?Tt(e,Ph):void 0}function Ol(e){return e?Tt(e,Ah):void 0}function Ul(e){return e?Tt(e,Rh):void 0}function Hl(e){return e?Tt(e,Mh):void 0}function ql(e){return e?Tt(e,Fh):void 0}function Gl(e){return e?Tt(e,Bh):void 0}var Dh=[{key:"openai/sessionId",source:"chatgpt"},{key:"openai/session",source:"chatgpt"}],Eh=[{needle:"claude",source:"claude"},{needle:"chatgpt",source:"chatgpt"},{needle:"openai",source:"chatgpt"},{needle:"gemini",source:"gemini"}];function Wl(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 Dh){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 Eh)if(r.includes(o))return n}}var _h="@waniwani/sdk";function Vl(e,t={}){let a=t.now??(()=>new Date),r=t.generateId??Nh,o=Hh(e),n=yr(e.meta),s=yr(e.metadata),i=qh(e,n),l=Me(e.eventId)??r(),u=Gh(e.timestamp,a),c=Me(e.source)??Wl(n)??t.source??_h,d=en(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:Oh(e,o),metadata:f,rawLegacy:d}}function Nh(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?`evt_${crypto.randomUUID()}`:`evt_${Math.random().toString(36).slice(2,10)}_${Date.now().toString(36)}`}function Oh(e,t){if(!en(e))return yr(e.properties);let a=Uh(e,t),r=yr(e.properties);return{...a,...r}}function Uh(e,t){switch(t){case"tool.called":{let a={};return Me(e.toolName)&&(a.name=e.toolName),Me(e.toolType)&&(a.type=e.toolType),a}case"quote.succeeded":{let a={};return typeof e.quoteAmount=="number"&&(a.amount=e.quoteAmount),Me(e.quoteCurrency)&&(a.currency=e.quoteCurrency),a}case"link.clicked":{let a={};return Me(e.linkUrl)&&(a.url=e.linkUrl),a}case"purchase.completed":{let a={};return typeof e.purchaseAmount=="number"&&(a.amount=e.purchaseAmount),Me(e.purchaseCurrency)&&(a.currency=e.purchaseCurrency),a}default:return{}}}function Hh(e){return en(e)?e.eventType:e.event}function qh(e,t){let a=Me(e.requestId)??Ol(t),r=Me(e.sessionId)??Nl(t),o=Me(e.traceId)??Ul(t),n=Me(e.externalUserId)??Hl(t),s=Me(e.visitorId)??ql(t),i=Me(e.correlationId)??Gl(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 Gh(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 yr(e){return!e||typeof e!="object"||Array.isArray(e)?{}:e}function Me(e){if(typeof e=="string"&&e.trim().length!==0)return e}function en(e){return"eventType"in e}function zl(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 Wh="/api/mcp/events/v2/batch";var jl="@waniwani/sdk";var Vh=new Set([401,403]),zh=new Set([408,425,429,500,502,503,504]);function $l(e){return new tn(e)}var tn=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=Xh(t.apiUrl,t.endpointPath??Wh),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":jl};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:Kh(n)}}if(Vh.has(a.status))return{kind:"auth",status:a.status};if(zh.has(a.status))return{kind:"retryable",reason:`HTTP ${a.status}`};if(!a.ok)return{kind:"permanent",reason:`HTTP ${a.status}`};let r=await $h(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:jl,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(jh(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 jh(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 $h(e){let t=await e.text();if(t)try{return JSON.parse(t)}catch{return}}function Xh(e,t){let a=e.endsWith("/")?e:`${e}/`,r=t.startsWith("/")?t.slice(1):t;return`${a}${r}`}function Kh(e){return e instanceof Error?e.message:String(e)}function Xl(e){let{apiUrl:t,endpointPath:a}=Qh(e.endpoint),r=$l({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=Vl({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,zl(s)),identify(i,l){return o=i,s({event:"user.identified",externalUserId:i,properties:l})},flush:()=>r.flush(),shutdown:i=>r.shutdown(i)}}function Qh(e){let t=new URL(e);return{apiUrl:t.origin,endpointPath:`${t.pathname}${t.search}`}}function Kl(e){let t=sa();return Xl({endpoint:Qo(e.api),token:e.token,channelId:e.channelId,source:e.getSource,identity:()=>({sessionId:e.getSessionId(),visitorId:t})})}function Ql(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 tg}from"react/jsx-runtime";var Zh=600,tu="https://app.waniwani.ai/api/mcp/chat",eg=Jh(function(t,a){let{token:r,channelId:o,className:n,overrides:s}=t,i=Zl(null),l=Zl(null),u=Yl(()=>({token:r,channelId:o,api:s?.api,mcpServerUrl:s?.mcpServerUrl,title:s?.title,hideHeader:s?.hideHeader,welcomeMessage:s?.welcomeMessage,placeholder:s?.placeholder,suggestions:s?.suggestions,enableThreadHistory:s?.enableThreadHistory,showToolCalls:s?.showToolCalls,appearance:s?.appearance,disclaimer:s?.disclaimer,locale:s?.locale}),[r,o,s?.api,s?.mcpServerUrl,s?.title,s?.hideHeader,s?.welcomeMessage,s?.placeholder,s?.suggestions,s?.enableThreadHistory,s?.showToolCalls,s?.appearance,s?.disclaimer,s?.locale]),c=s?.api??tu,[d,f]=eu({}),[p,m]=eu(!1),S=s?.disablePageView;Jl(()=>{if(!r){m(!0);return}let h=v=>{S||Jo({api:c,token:r,channelId:o,mode:"inline",source:v})},C=Yo(c,r,o);C&&(f(C),m(!0),h(C.source));let I=new AbortController,b=setTimeout(()=>m(!0),Zh);return Fl(c,r,I.signal,o).then(v=>{I.signal.aborted||(Object.keys(v).length>0&&(Ml(c,r,o,v),f(v)),m(!0),h(v.source))}).catch(v=>{console.error("[Waniwani] Remote config fetch failed:",v),m(!0)}).finally(()=>clearTimeout(b)),()=>{I.abort(),clearTimeout(b)}},[c,r,o,S]);let g=Yl(()=>$o(u,d,void 0),[u,d]);Jl(()=>{if(!r)return;let h=Kl({api:c,token:r,channelId:o,getSource:()=>Yo(c,r,o)?.source??void 0,getSessionId:()=>i.current?.sessionId});return l.current=h,()=>{l.current=null,h.shutdown()}},[c,r,o]),Yh(a,()=>{let h=()=>l.current??Ql("no public token configured"),C=Object.assign(I=>h().track(I),{priceShown:I=>h().track.priceShown(I),pricesCompared:I=>h().track.pricesCompared(I),optionSelected:I=>h().track.optionSelected(I),leadQualified:I=>h().track.leadQualified(I),converted:I=>h().track.converted(I)});return{sendMessage:I=>i.current?.sendMessage(I),sendMessageAndWait:I=>i.current?i.current.sendMessageAndWait(I):Promise.resolve(void 0),reset:()=>i.current?.reset(),focus:()=>i.current?.focus(),get messages(){return i.current?.messages??[]},get sessionId(){return i.current?.sessionId},track:C,identify:(I,b)=>h().identify(I,b)}},[]);let x=_l(g.visibility,p),w={mode:"inline"};return g.mcpServerUrl&&(w.mcpServerUrl=g.mcpServerUrl),g.channelId&&(w.channelId=g.channelId),x?tg(zo,{ref:i,api:g.api??tu,headers:{Authorization:`Bearer ${g.token}`},skipRemoteConfig:!0,body:w,appearance:g.appearance,classNames:s?.classNames,title:g.title,hideHeader:g.hideHeader,welcomeMessage:g.welcomeMessage,welcome:s?.welcome,placeholder:g.placeholder,suggestions:g.suggestions?{initial:g.suggestions}:void 0,enableThreadHistory:g.enableThreadHistory,showToolCalls:g.showToolCalls,disclaimer:g.disclaimer,allowAttachments:s?.allowAttachments,locale:g.locale,messages:s?.messages,className:n,initializing:!p}):null});export{nh as ChatCard,zo as ChatEmbed,eh as DARK_THEME,kl as DEFAULT_THEME,Fo as McpAppFrame,eg as WaniwaniChat,Wo as mergeTheme,la as themeToCSSProperties};
|
|
15
|
+
${Q}`}]}}F.current({...N,...W?{modelContext:W}:{}})}$({jsonrpc:"2.0",id:q,result:{}});return}if(se==="ui/update-model-context"&&q!=null){ye=cl(ye,K.params),$({jsonrpc:"2.0",id:q,result:{}});return}if(se==="tools/call"&&q!=null){let N=b.current;if(!N){$({jsonrpc:"2.0",id:q,error:{code:-32601,message:"tools/call not supported"}});return}let W=K.params?.name;N({name:W,arguments:K.params?.arguments??{}}).then(Q=>{$({jsonrpc:"2.0",id:q,result:Q});let ie=Q.content?.map(te=>te.text??"").join("").trim();ie&&mm(W,Q,S.current)&&(ne&&clearTimeout(ne.timer),ne={text:ie,timer:setTimeout(()=>{if(me)return;let te=ye;ye=null,ne=null,F.current?.({role:"user",content:[{type:"text",text:ie}],...te?{modelContext:te}:{}})},500)})}).catch(Q=>{let ie=Q instanceof Error?Q.message:"Tool call failed";$({jsonrpc:"2.0",id:q,error:{code:-32e3,message:ie}})});return}if(se==="ui/request-display-mode"&&q!=null){let N=K.params?.mode,W=N==="fullscreen"||N==="inline"||N==="pip"?N:"inline";y.current=W,$({jsonrpc:"2.0",id:q,result:{mode:W}}),$({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{displayMode:W}}),z.current?.(W);return}if(se==="ui/resource-teardown"&&q!=null){$({jsonrpc:"2.0",id:q,result:{}});return}se==="ping"&&q!=null&&$({jsonrpc:"2.0",id:q,result:{}})};return window.addEventListener("message",ve),()=>{me=!0,clearTimeout(G),ne&&clearTimeout(ne.timer),window.removeEventListener("message",ve)}},[i,E]),hm("iframe",{ref:m,src:B,sandbox:"allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox",className:k(!p&&"ww:rounded-md ww:border ww:border-border",s),style:{height:p?"100%":T,minWidth:p||!A?void 0:`min(${A}px, 100%)`,width:"100%",border:"none",colorScheme:n?"dark":"auto"},title:"MCP App"})}import{jsx as sa,jsxs as gm}from"react/jsx-runtime";function pl({icon:e,title:t,description:a,suggestions:r,onSuggestionSelect:o}){return gm("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&&sa("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}),sa("h2",{className:"ww:text-lg ww:font-semibold ww:text-foreground",children:t}),a&&sa("p",{className:"ww:mt-1 ww:text-sm ww:text-muted-foreground ww:max-w-sm",children:a}),r&&r.length>0&&sa("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)=>sa("button",{type:"button",onClick:()=>o?.(n),className:k("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 wm}from"react";import{jsx as No,jsxs as Lm}from"react/jsx-runtime";function xm({onRetry:e}){let{t}=V();return Lm("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:[No("span",{children:t.widgetErrorBoundary.failedToLoad}),No("button",{type:"button",onClick:e,className:"ww:text-xs ww:font-medium ww:text-primary ww:hover:underline",children:t.widgetErrorBoundary.retry})]})}var nr=class extends wm{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.warn("[Waniwani] Widget failed to render:",t.message)}render(){return this.state.hasError?No(xm,{onRetry:()=>this.setState({hasError:!1})}):this.props.children}};import{Fragment as Im,jsx as Y,jsxs as Ze}from"react/jsx-runtime";function Oo(e){return e?e.replace(/[-_]/g," ").replace(/^\w/,t=>t.toUpperCase()):"Tool"}function ml(e){return e&&/search|find|lookup|query|web|browse|google/i.test(e)?Et:rt}function sr({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:p,showToolCalls:f=!0,toolDefinitions:m,messageClassNames:I}){let{t:L}=V(),w=e[e.length-1],g=e.length>0,h=d!=null,x=!h&&ul(e,t,{ignoreToolParts:f===!1,ignoreReasoningParts:f===!1});return Ze(Im,{children:[!h&&(!g&&r?Y(pl,{...r,onSuggestionSelect:o}):a&&Y(vo,{from:"assistant",children:Y(Po,{children:Y(or,{children:a})})})),e.map(y=>{let T=y.parts.filter(S=>S.type==="text"),v=y.parts.filter(S=>S.type==="reasoning"),A=y.parts.filter(S=>S.type==="file"),R=y.parts.filter(S=>"toolCallId"in S),P=y.parts.filter(S=>S.type==="reasoning"||"toolCallId"in S),F=y===w&&y.role==="assistant",b=T.length>0,z=h?R.some(S=>S.toolCallId===d):!1,H=f!==!1&&!z&&P.length>=2;return h&&!z?Y("div",{style:{display:"none"}},y.id):y.role==="assistant"&&!ll(y)?Y("div",{style:{display:"none"}},y.id):f===!1&&y.role==="assistant"&&!b&&A.length===0&&R.every(S=>{let E="output"in S?S.output:void 0;return E===void 0||!n||!na(S.toolName,E,m)})?Y("div",{style:{display:"none"}},y.id):Ze(vo,{from:y.role,className:I?.message,children:[f!==!1&&!z&&!H&&v.map((S,E)=>Ze(Gt,{isStreaming:S.state==="streaming",children:[Y(Vt,{}),Y(zt,{children:S.text})]},`reasoning-${y.id}-${E}`)),H&&(()=>{let S=P[P.length-1],E=S.type==="reasoning"?{icon:We,label:L.reasoning.thinking}:{icon:ml(S.toolName),label:S.title??Oo(S.toolName)};return Ze(cs,{isWorking:F&&(t==="streaming"||t==="submitted"),activeStep:E,children:[Y(fs,{workingLabel:L.chainOfThought.working,label:L.chainOfThought.done}),Y(ps,{children:P.map((B,Te)=>{let we=Te===P.length-1;if(B.type==="reasoning")return Y(hs,{isStreaming:B.state==="streaming",isLast:we,children:B.text},`reasoning-${y.id}-${Te}`);let _=B.title??Oo(B.toolName),me=ml(B.toolName);if(f==="titles-only")return Y(jr,{icon:me,title:_,state:B.state,isLast:we},B.toolCallId);let oe="output"in B?B.output:void 0;return Ze(jr,{icon:me,title:_,state:B.state,isLast:we,children:[Y(Bo,{input:B.input,debug:p}),oe!==void 0&&Y(Do,{output:oe,errorText:"errorText"in B?B.errorText:void 0,debug:p})]},B.toolCallId)})})]})})(),f!==!1&&!z&&!H&&R.length===1&&(()=>{let S=R[0],E=S.title??Oo(S.toolName);if(f==="titles-only")return Y(tl,{title:E,state:S.state});let B="output"in S?S.output:void 0;return Ze(Zi,{children:[Y(el,{title:E,state:S.state}),Ze(al,{children:[Y(Bo,{input:S.input,debug:p}),B!==void 0&&Y(Do,{output:B,errorText:"errorText"in S?S.errorText:void 0,debug:p})]})]})})(),R.map(S=>{let E="output"in S?S.output:void 0,B=na(S.toolName,E,m),Te=nl(S.toolName,E,m),we=S.toolCallId===d;return B&&n&&E!==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&&E!==void 0&&Y(nr,{children:Y(_o,{isFullscreen:we,resourceUri:B,toolInput:S.input??{},toolResult:{content:E.content,structuredContent:E.structuredContent,_meta:E._meta},resourceEndpoint:n,chatSessionId:s,isDark:i,autoHeight:Te,toolDefinitions:m,onFollowUp:l,onCallTool:u,onDisplayModeChange:c?_=>c(_,{toolCallId:S.toolCallId,resourceUri:B,toolInput:S.input??{},toolResult:{content:E.content,structuredContent:E.structuredContent,_meta:E._meta},autoHeight:Te}):void 0})})},S.toolCallId):null}),!z&&Y("div",{children:Ze(Po,{className:k(y.role==="user"?I?.userBubble:I?.assistantBubble),children:[A.length>0&&Y(ns,{files:A}),b?T.map((S,E)=>{let B=F&&t==="streaming"&&E===T.length-1;return Y(or,{isStreaming:B,children:S.type==="text"?S.text:""},`${y.id}-${E}`)}):null]})})]},y.id)}),x&&Y(dl,{})]})}import{jsx as hl,jsxs as ym}from"react/jsx-runtime";var Cm="https://app.waniwani.ai/assets/waniwani-logo.svg",Sm="https://waniwani.ai";function ir(){let{t:e}=V();return ym("a",{href:Sm,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:[hl("span",{children:e.poweredBy.label}),hl("img",{src:Cm,alt:"Waniwani",width:72,height:10,"data-waniwani-logo":"",className:"ww:h-2.5 ww:w-auto"})]})}import{jsx as lr}from"react/jsx-runtime";function ur({suggestions:e,isLoading:t,onSelect:a,className:r,...o}){return e.length===0&&!t?null:lr("div",{className:k("ww:px-4 ww:py-2",r),...o,children:lr("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=>lr("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)=>lr("button",{type:"button",onClick:()=>a(n),className:k("ww:rounded-full ww:border ww:border-border ww:bg-background ww:px-3.5 ww:py-1.5 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{useEffect as bm,useRef as km,useState as Tm}from"react";import{jsx as re,jsxs as ft}from"react/jsx-runtime";var gl=20;function vm({label:e}){return ft("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[re("title",{children:e}),re("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),re("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}function Pm({label:e}){return ft("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[re("title",{children:e}),re("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),re("polyline",{points:"3 4 3 9 8 9"}),re("line",{x1:"12",y1:"7",x2:"12",y2:"12"}),re("line",{x1:"12",y1:"12",x2:"15",y2:"14"})]})}function Am({label:e}){return ft("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[re("title",{children:e}),re("polyline",{points:"3 6 5 6 21 6"}),re("path",{d:"M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6"}),re("path",{d:"M10 11v6"}),re("path",{d:"M14 11v6"})]})}function dr({threads:e,activeThreadId:t,onNewThread:a,onSelectThread:r,onDeleteThread:o}){let{locale:n,t:s}=V(),[i,l]=Tm(!1),u=km(null);bm(()=>{if(!i)return;let p=f=>{let m=u.current;m&&(f.composedPath().includes(m)||l(!1))};return document.addEventListener("mousedown",p),()=>document.removeEventListener("mousedown",p)},[i]);let c=e.slice(0,gl),d=Math.max(0,e.length-gl);return ft("div",{ref:u,className:"ww:relative ww:flex ww:items-center ww:gap-1",children:[re("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:re(vm,{label:s.threadMenu.newChat})}),re("button",{type:"button",onClick:()=>l(p=>!p),title:s.threadMenu.threadHistory,"aria-label":s.threadMenu.threadHistory,"aria-expanded":i,className:"ww:p-1.5 ww:rounded-md ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/5 ww:transition-colors ww:cursor-pointer",children:re(Pm,{label:s.threadMenu.threadHistory})}),i&&ft("div",{role:"menu",className:"ww:absolute ww:right-0 ww:top-full ww:mt-1 ww:w-72 ww:max-h-80 ww:overflow-y-auto ww:rounded-lg ww:border ww:border-border ww:bg-background ww:shadow-lg ww:z-50",children:[c.length===0&&re("div",{className:"ww:px-3 ww:py-3 ww:text-xs ww:text-muted-foreground",children:s.threadMenu.noPreviousChats}),c.map(p=>{let f=p.threadId===t,m=Date.parse(p.updatedAt);return ft("div",{className:`ww:flex ww:items-center ww:gap-2 ww:px-3 ww:py-2 ww:text-xs hover:ww:bg-foreground/5 ${f?"ww:bg-foreground/5":""}`,children:[ft("button",{type:"button",onClick:()=>{r(p.threadId),l(!1)},className:"ww:flex-1 ww:min-w-0 ww:text-left ww:cursor-pointer",children:[re("div",{className:"ww:truncate ww:text-foreground ww:font-medium",children:p.title}),re("div",{className:"ww:text-[10px] ww:text-muted-foreground",children:Number.isNaN(m)?"":Ur(m,n)})]}),re("button",{type:"button",onClick:I=>{I.stopPropagation(),o(p.threadId)},title:s.threadMenu.deleteThread,"aria-label":s.threadMenu.deleteThread,className:"ww:p-1 ww:rounded ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/10 ww:transition-colors ww:cursor-pointer",children:re(Am,{label:s.threadMenu.deleteThread})})]},p.threadId)}),d>0&&re("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 Rm,useRef as Mm}from"react";function cr(e){let t=Mm(e);return t.current=e,Rm(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 Qm}from"@ai-sdk/react";import{useCallback as Ce,useEffect as Me,useRef as fe,useState as pt}from"react";import{createContext as Fm,useContext as Bm}from"react";function wl(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 xl(){return{subscribe(){return()=>{}},emit(){}}}var Ll=Fm(xl());function fr(){return Bm(Ll)}var Il=Ll.Provider;function et(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 Dm,uiMessageChunkSchema as Em}from"ai";function _m(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 pr=class extends Dm{processResponseStream(t){let a="",r=Em(),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 p=await o(d);if(p.success){s.enqueue(p.value);continue}let f=_m(p.error);if(f?.length){let m={...d};for(let L of f)delete m[L];let I=await o(m);I.success&&s.enqueue(I.value)}}catch{}}}}))}};var Nm="waniwani-memory";var Re="threads",mr="by_memoryUserId",Om="by_updatedAt";var Sl="memoryUserId",Cl="waniwani-memory-user-id",Uo=null;function Ho(){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 Um(e,t){if(t<1&&(e.objectStoreNames.contains("ids")||e.createObjectStore("ids")),t<2&&!e.objectStoreNames.contains(Re)){let a=e.createObjectStore(Re,{keyPath:"threadId"});a.createIndex(mr,"memoryUserId",{unique:!1}),a.createIndex(Om,"updatedAt",{unique:!1})}}async function qo(){return new Promise((e,t)=>{let a=indexedDB.open(Nm,2);a.onupgradeneeded=r=>{Um(a.result,r.oldVersion)},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})}async function Hm(){return qo()}async function qm(e){return new Promise((t,a)=>{let n=e.transaction("ids","readonly").objectStore("ids").get(Sl);n.onsuccess=()=>t(typeof n.result=="string"?n.result:null),n.onerror=()=>a(n.error)})}async function Wm(e,t){return new Promise((a,r)=>{let s=e.transaction("ids","readwrite").objectStore("ids").put(t,Sl);s.onsuccess=()=>a(),s.onerror=()=>r(s.error)})}async function Gm(){if(typeof indexedDB>"u")return null;try{let e=await Hm();try{let t=await qm(e);if(t)return t;let a=Ho();return await Wm(e,a),a}finally{e.close()}}catch{return null}}function Vm(){try{let e=localStorage.getItem(Cl);if(e)return e;let t=Ho();return localStorage.setItem(Cl,t),t}catch{return null}}async function yl(){let e=await Gm();if(e)return e;let t=Vm();return t||(Uo||(Uo=Ho()),Uo)}var bl=50,kl=1e3;function hr(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 gr(e){if(typeof indexedDB>"u")return null;let t=null;try{return t=await qo(),await e(t)}catch{return null}finally{try{t?.close()}catch{}}}function Wo(e){return new Promise((t,a)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>a(e.error)})}async function Go(e){return await gr(async a=>{let n=a.transaction(Re,"readonly").objectStore(Re).index(mr),i=(await Wo(n.getAll(e))??[]).filter(hr);return i.sort((l,u)=>l.updatedAt<u.updatedAt?1:-1),i})??[]}async function wr(e){return await gr(async a=>{let o=a.transaction(Re,"readonly").objectStore(Re),n=await Wo(o.get(e));return hr(n)?n:null})??null}async function Vo(e){if(!hr(e))return;let t=e.messages.length>kl?{...e,messages:e.messages.slice(e.messages.length-kl)}:e;await gr(async a=>{await new Promise((l,u)=>{let c=a.transaction(Re,"readwrite");c.oncomplete=()=>l(),c.onerror=()=>u(c.error),c.onabort=()=>u(c.error),c.objectStore(Re).put(t)});let r=a.transaction(Re,"readwrite"),o=r.objectStore(Re),n=o.index(mr),i=(await Wo(n.getAll(t.memoryUserId))??[]).filter(hr);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 Tl(e){await gr(async t=>(await new Promise((a,r)=>{let o=t.transaction(Re,"readwrite");o.oncomplete=()=>a(),o.onerror=()=>r(o.error),o.onabort=()=>r(o.error),o.objectStore(Re).delete(e)}),null))}async function zo(e){return(await Go(e))[0]?.threadId??null}function vl(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 jo="waniwani-visitor-id";function Al(e,t){return e.match(t)?.[1]??null}function zm(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=Al(e,r);if(o)return{name:a,version:o}}return null}function jm(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=Al(e,r);if(o)return{name:a,version:o.replace(/_/g,".")};if(a==="Linux"&&r.test(e))return{name:a,version:""}}return null}function $m(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 Xm(){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 vt(){try{let t=localStorage.getItem(jo);if(t)return t}catch{}let e=Xm();try{localStorage.setItem(jo,e)}catch{}return e}function Pl(e){let t=typeof e=="string"?e.trim():"";if(!t)return vt();try{localStorage.setItem(jo,t)}catch{}return t}function Km(e){return e!=null&&typeof e.then=="function"}function Rl(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 Km(r)?r.then(o=>{t||Pl(o??"")},()=>{}):Pl(r??""),a}async function ia(){let e=navigator.userAgent,t=vt(),a=await yl();return{userAgent:e,browser:zm(e),os:jm(e),deviceType:$m(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 Jm="x-session-id",Ym=250,Zm=200;function Ml(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():qt()}function xr(){return new Date().toISOString()}function Fl(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}async function eh(e,t){let a=et(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 Lr(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;Me(()=>Rl(u),[u]);let c=fr(),d=fe(a),p=fe(r),f=fe(s);Me(()=>{f.current=s},[s]);let m=fe(void 0),I=fe(null),[L,w]=pt(void 0),g=fe(L),[h,x]=pt(i),y=fe(h),[T,v]=pt([]),[A,R]=pt(!s),P=fe(void 0),F=fe(void 0),b=fe(void 0),z=fe(void 0),H=fe(0),S=fe(l);Me(()=>{S.current=l},[l]);let E=Ce(C=>{y.current=C,x(C),C&&(S.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 D=await Go(C);v(D)},[s]),Te=Ce(()=>g.current,[]),we=Ce(C=>{let D=Fl(C);if(!D||g.current===D)return;let O=g.current===void 0;g.current=D,w(D),O&&c.emit({name:"session.started",properties:{sessionId:D}})},[c]),_=Ce(()=>{g.current=void 0,w(void 0)},[]);Me(()=>{d.current=a},[a]),Me(()=>{p.current=r},[r]),Me(()=>{let C=!1,D=H.current;return(async()=>{try{let ee=await ia();if(C)return;I.current=ee}catch{}if(!s)return;let O=I.current?.memoryUserId;if(!O){R(!0);return}try{let ee=i??await zo(O);if(C||D!==H.current)return;if(ee){let he=await wr(ee);if(C||D!==H.current)return;he&&he.memoryUserId===O&&(y.current=he.threadId,x(he.threadId),P.current=he.createdAt,F.current=he.title,he.sessionId&&(g.current=he.sessionId,w(he.sessionId)),q(he.messages))}await B()}finally{C||R(!0)}})(),()=>{C=!0}},[]);let me=fe(new pr({api:t,headers:()=>({...d.current}),body:()=>{let C={...p.current??{}},D=Object.hasOwn(C,"sessionId"),O=Fl(C.sessionId);if(O)we(O),C.sessionId=O;else if(D)_(),delete C.sessionId;else{let Ar=Te();Ar&&(C.sessionId=Ar)}Tt(m.current)&&(C.modelContext=m.current);let ee=I.current,he=vt();ee&&(C.visitorContext={timezone:ee.timezone,language:ee.language,languages:ee.languages,deviceType:ee.deviceType,referrer:ee.referrer,visitorId:he});let le=typeof C.visitor=="object"&&C.visitor!==null?C.visitor:{},wu=typeof le.client=="object"&&le.client!==null?le.client:{};C.visitor={...le,id:he,client:{...wu,...ee&&{memoryUserId:ee.memoryUserId}}};let pn=typeof C.extra=="object"&&C.extra!==null&&!Array.isArray(C.extra)?C.extra:void 0,mn=I.current?.memoryUserId,hn=I.current?.language,pa={};if(mn&&(pa.memoryUserId=mn),hn&&(pa.locale=hn),(Object.keys(pa).length>0||pn)&&(C.extra={...pa,...pn??{}}),f.current)if(Object.hasOwn(C,"threadId"))typeof C.threadId=="string"&&(y.current=C.threadId);else{let ma=y.current;ma||(ma=Ml(),P.current=xr(),F.current=void 0,E(ma)),C.threadId=ma}return C},fetch:(async(C,D)=>{let O=await fetch(C,D);return m.current=void 0,we(O.headers.get(Jm)),O})})),oe=fe(null),ye=fe(null),ne=fe({}),[G,$]=pt(0),ve=e.skipRemoteConfig===!0,de=Ce(async()=>{if(!ve)try{let C=await eh(t,d.current);ne.current=C,$(D=>D+1)}catch(C){console.warn("[Waniwani] Failed to fetch tool definitions:",C instanceof Error?C.message:C)}},[t,ve]);Me(()=>{de()},[de]);let{messages:K,sendMessage:se,setMessages:q,status:N}=Qm({messages:e.initialMessages,transport:me.current,onFinish({message:C,isAbort:D,isDisconnect:O,isError:ee}){n?.(),!D&&!O&&!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,Zm)}}),oe.current&&(oe.current.reject(C),oe.current=null)}}),W=fe(K);Me(()=>{W.current=K},[K]);let Q=fe(s);Me(()=>{if(!s||Q.current||(Q.current=!0,W.current.length>0))return;let C=!1,D=H.current;return R(!1),(async()=>{try{let O=I.current;if(!O)try{O=await ia(),I.current=O}catch{}let ee=O?.memoryUserId;if(!ee||C||D!==H.current){C||R(!0);return}let he=i??await zo(ee);if(C||D!==H.current)return;if(he){let le=await wr(he);if(C||D!==H.current)return;le&&le.memoryUserId===ee&&(y.current=le.threadId,x(le.threadId),P.current=le.createdAt,F.current=le.title,le.sessionId&&(g.current=le.sessionId,w(le.sessionId)),q(le.messages))}await B()}finally{C||R(!0)}})(),()=>{C=!0}},[s]),Me(()=>{if(N==="ready"&&oe.current&&ye.current){let C=oe.current,D=ye.current;oe.current=null,ye.current=null,C.resolve(D)}},[N]);let[ie,te]=pt(""),[xe,M]=pt([]),U=N==="submitted"||N==="streaming",Z=Ce(C=>{M(D=>D.filter(O=>O.id!==C))},[]),Oe=U&&xe.length>0,ze=Ce(C=>{let D=!!C.text?.trim(),O=!!C.files?.length;if(D||O){if(U){if(xe.length>0)return;M(ee=>[...ee,{id:qt(),text:C.text||"",files:C.files??[],modelContext:C.modelContext}]),te("");return}m.current=C.modelContext,se({text:C.text||"",files:C.files}),o?.(C.text||""),c.emit({name:"message.sent"}),te("")}},[se,o,U,xe.length,c]),ht=Ce(C=>new Promise((D,O)=>{oe.current={resolve:D,reject:O},se({text:C}),o?.(C),c.emit({name:"message.sent"})}),[se,o,c]);Me(()=>{if(N!=="ready"||xe.length===0)return;let[C,...D]=xe;M(D),m.current=C.modelContext,se({text:C.text,files:C.files.length>0?C.files:void 0}),o?.(C.text),c.emit({name:"message.sent"})},[N,se,o,xe,c]);let vr=Ce(()=>{q([]),M([]),_(),te(""),ne.current={},$(C=>C+1),de()},[q,_,de]),ca=Ce(()=>{if(!f.current)return;let C=I.current?.memoryUserId,D=y.current,O=W.current;if(!(!C||!D||O.length===0)){if(P.current||(P.current=xr()),!F.current){let ee=O.find(le=>le.role==="user"),he=ee?ee.parts.map(le=>"text"in le&&typeof le.text=="string"?le.text:"").join(" "):"";F.current=vl(he)}return{threadId:D,memoryUserId:C,title:F.current,messages:O,sessionId:g.current,createdAt:P.current,updatedAt:xr()}}},[]),dn=Ce(async()=>{let C=ca();C&&(await Vo(C),await B())},[ca,B]);Me(()=>{if(s&&A&&!(N==="submitted"||N==="streaming")&&K.length!==0)return b.current&&clearTimeout(b.current),b.current=setTimeout(()=>{b.current=void 0;let C=dn().finally(()=>{z.current===C&&(z.current=void 0)});z.current=C},Ym),()=>{b.current&&clearTimeout(b.current)}},[s,A,K,N,dn]);let fa=Ce(()=>{let C=z.current,D=b.current,O=D?ca():void 0;return D&&(clearTimeout(D),b.current=void 0),(async()=>{C&&await C,O&&(await Vo(O),await B())})()},[ca,B]),fu=Ce(()=>{H.current+=1,fa(),q([]),M([]),_(),te("");let C=Ml();return P.current=xr(),F.current=void 0,E(C),B(),C},[q,_,E,B,fa]),Pr=Ce(async C=>{H.current+=1;let D=H.current;if(await fa(),D!==H.current)return;let O=await wr(C);D===H.current&&O&&(O.sessionId?(g.current=O.sessionId,w(O.sessionId)):_(),E(O.threadId),P.current=O.createdAt,F.current=O.title,q(O.messages),M([]),te(""))},[q,_,E,fa]),pu=Ce(async C=>{if(y.current===C){H.current+=1,b.current&&(clearTimeout(b.current),b.current=void 0);let D=z.current;D&&await D}await Tl(C),await B(),y.current===C&&(q([]),M([]),_(),te(""),y.current=void 0,x(void 0),P.current=void 0,F.current=void 0)},[q,_,B]);Me(()=>{s&&A&&i!==void 0&&i!==y.current&&Pr(i)},[i,s,A,Pr]);let mu=Ce(C=>{te(C.target.value)},[]),cn=K[K.length-1],fn=K.length>0,hu=U&&(!fn||cn.role==="user"),gu=ne.current;return{messages:K,status:N,text:ie,setText:te,handleSubmit:ze,handleTextChange:mu,isLoading:U,showLoaderBubble:hu,lastMessage:cn,hasMessages:fn,sendMessage:se,sendMessageAndWait:ht,reset:vr,queuedMessages:xe,queueFull:Oe,removeQueuedMessage:Z,sessionId:L,toolDefinitions:gu,refreshToolDefinitions:de,threads:T,activeThreadId:h,isThreadHistoryReady:A,startNewThread:fu,switchThread:Pr,deleteThread:pu}}import{useEffect as Bl,useRef as th,useState as ah}from"react";var rh={debug:!1,eval:!1};function Dl(e="/api/waniwani",t,a=!1){let[r,o]=ah(rh),n=th(t);return Bl(()=>{n.current=t},[t]),Bl(()=>{a||(async()=>{try{let s=n.current,l=await(await fetch(et(e,"/config"),{headers:s?{...s}:void 0})).json();o({debug:l.debug===!0,eval:l.eval===!0})}catch{}})()},[e,a]),r}import{useCallback as oh,useEffect as $o,useRef as nh,useState as sh}from"react";function ih(e){for(let t of e.parts){let a=t;if(a.type==="data"||a.type==="data-suggestions"){let r=a.data;if(r&&Array.isArray(r.suggestions))return r.suggestions}}return null}function El(e){return typeof e=="object"&&e!==null&&"initial"in e}function Ir(e){let{messages:t,status:a,config:r}=e,o=El(r)&&r.initial?r.initial:void 0,[n,s]=sh(o??[]),i=nh(a),l=r===!0||El(r)&&r.dynamic!==!1,u=oh(()=>{s([])},[]),c=t.length>0;$o(()=>{!c&&o&&o.length>0&&s(o)},[o,c]);let d=t[t.length-1];return $o(()=>{d?.role==="user"&&u()},[d,u]),$o(()=>{let p=i.current;if(i.current=a,p==="streaming"&&a==="ready"&&l){let f=[...t].reverse().find(I=>I.role==="assistant");if(!f)return;let m=ih(f);m&&s(m)}},[a,l,t]),{suggestions:n,isLoading:!1,clear:u}}import{useEffect as lh,useRef as uh,useState as dh}from"react";var ch=80,fh=50,ph=15e3,_l=500;function Cr(e,t=!0){let[a,r]=dh(""),o=uh(void 0);return lh(()=>{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,_l)):o.current=setTimeout(l,fh)):(n++,r(e.slice(0,n)),n>=e.length?(s=!0,o.current=setTimeout(l,ph)):o.current=setTimeout(l,ch)))};return o.current=setTimeout(l,_l),()=>{i=!0,clearTimeout(o.current)}},[e,t]),a}function Sr(e,t){let a=t?.Authorization,r=typeof a=="string"&&a.startsWith("Bearer ")?a.slice(7):null;return et(e,"/resource",r?{token:r}:void 0)}var Nl={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"},mh={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"},hh={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"]};function Xo(e){return{...Nl,...e}}function la(e){let t={};for(let[a,r]of Object.entries(hh)){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 ua}from"react/jsx-runtime";var Lh=gh(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:p="triggerDemoRequest",api:f,debug:m,enableThreadHistory:I=!1,showToolCalls:L=!0}=t,w=f??"/api/waniwani",g=Sr(w,t.headers),h=Xo(r),x=la(r??{}),y=h.backgroundColor.replace("#",""),T=parseInt(y.substring(0,2),16),v=parseInt(y.substring(2,4),16),A=parseInt(y.substring(4,6),16),R=(T*299+v*587+A*114)/1e3<128,P=Dl(w,t.headers,t.skipRemoteConfig),F=m??P.debug,b=Lr({...t,api:w}),z=cr({...t,api:w,sessionId:b.sessionId}),H=Cr(d,!b.text),[S,E]=Ul(!1),[B,Te]=Ul(null),we=Ol(null),_=Ol(void 0),me=Ko(()=>{let G=we.current;if(!G)return;G.scrollIntoView({behavior:"smooth",block:"center"});let $=G.querySelector("textarea");$&&setTimeout(()=>$.focus(),300),E(!0),clearTimeout(_.current),_.current=setTimeout(()=>E(!1),2e3)},[]),oe=Ir({messages:b.messages,status:b.status,config:t.suggestions}),ye=Ko(G=>{let $=G.content.map(ve=>ve.text??"").join("").trim();$&&b.handleSubmit({text:$,files:[],modelContext:G.modelContext})},[b.handleSubmit]),ne=Ko(G=>{oe.clear(),b.handleSubmit({text:G,files:[]})},[oe.clear,b.handleSubmit]);return xh(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]),wh(()=>{if(!p)return;let G=$=>{let ve=$.detail,de=typeof ve?.message=="string"?ve.message:void 0;de&&b.handleSubmit({text:de,files:[]}),me()};return window.addEventListener(p,G),()=>window.removeEventListener(p,G)},[p,b.handleSubmit,me]),ua("div",{ref:we,style:{...x,width:n,height:s},"data-waniwani-chat":"","data-waniwani-layout":"card",...R?{"data-waniwani-dark":""}:{},className:k("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",S&&"ww:ring-2 ww:ring-blue-400/70 ww:ring-offset-2 ww:ring-offset-background",i),children:[ua("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(os,{messages:b.messages,evalEnabled:P.eval,api:w}),I&&Se(dr,{threads:b.threads,activeThreadId:b.activeThreadId,onNewThread:b.startNewThread,onSelectThread:G=>{b.switchThread(G)},onDeleteThread:G=>{b.deleteThread(G)}})]}),ua(En,{className:"ww:flex-1 ww:min-h-0 ww:bg-background",children:[Se(_n,{scrollClassName:B?"ww:!relative ww:!overflow-hidden":void 0,children:Se(sr,{messages:b.messages,status:b.status,welcomeMessage:u,welcome:c,onSuggestionSelect:ne,resourceEndpoint:g,chatSessionId:b.sessionId,isDark:R,onFollowUp:ye,onCallTool:z,fullscreenToolCallId:B,debug:F,showToolCalls:L,toolDefinitions:b.toolDefinitions,onWidgetDisplayModeChange:(G,$)=>{Te(G==="fullscreen"?$.toolCallId:null)}})}),Se(Nn,{})]}),Se("div",{style:B?{display:"none"}:void 0,children:Se(ur,{suggestions:oe.suggestions,isLoading:oe.isLoading,onSelect:ne})}),Se("div",{style:B?{display:"none"}:void 0,children:Se(ka,{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:ua("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[Se(Ca,{onSubmit:b.handleSubmit,globalDrop:l,multiple:l,className:"ww:rounded-2xl ww:border-border ww:bg-input",children:ua("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[l&&Se(ba,{}),Se(Sa,{onChange:b.handleTextChange,value:b.text,placeholder:H,className:"ww:min-h-0 ww:py-1 ww:px-0"}),Se(ya,{status:b.status,disabled:b.queueFull})]})}),Se(ir,{})]})})})]})});import{forwardRef as ql,useCallback as yr,useEffect as mt,useImperativeHandle as Ch,useRef as da,useState as br}from"react";import{jsx as Ih}from"react/jsx-runtime";function Hl({text:e}){let{t}=V();return e===!1?null:Ih("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 tt}from"react/jsx-runtime";var Qo=ql(function(t,a){let{locale:r,messages:o}=t;return pe(Or,{locale:r,messages:o,children:pe(Sh,{...t,ref:a})})}),Sh=ql(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:p="triggerDemoRequest",api:f,mcp:m,debug:I=!1,readOnly:L=!1,title:w,headerActions:g,hideHeader:h=!1,enableThreadHistory:x=!1,showToolCalls:y=!0,initializing:T=!1,disclaimer:v}=t,A=n?.theme,R=n?.variables,P=n?.assistantBubble??!1,F=R?la(R):{},[b,z]=br(!1);mt(()=>{if(A!=="auto"||typeof window>"u")return;let M=window.matchMedia("(prefers-color-scheme: dark)");z(M.matches);let U=()=>z(M.matches);return M.addEventListener("change",U),()=>M.removeEventListener("change",U)},[A]);let H=A==="dark"||A==="auto"&&b,S=Lr({...t,api:f}),E=fr(),B=cr({...t,api:f,sessionId:S.sessionId,onCallTool:m?.onCallTool}),Te=m?.resourceEndpoint??Sr(f,t.headers),we=Cr(d,!S.text),[_,me]=br(null),[oe,ye]=br(null),ne=da(null),G=da(null),$=da(null),ve=da(null),[de,K]=br(!0),se=da(de);se.current=de;let q=yr(()=>{let M=ne.current;if(!M)return;let U=M.querySelector("textarea");U&&U.focus()},[]),N=yr((M="smooth")=>{let U=G.current;U&&U.scrollTo({top:U.scrollHeight,behavior:M})},[]);mt(()=>{let M=ve.current,U=G.current;if(!M||!U)return;let Z=new IntersectionObserver(([Oe])=>K(Oe.isIntersecting),{root:U,rootMargin:"0px 0px 200px 0px",threshold:0});return Z.observe(M),()=>Z.disconnect()},[]),mt(()=>{let M=G.current;if(!M)return;let U=Z=>{let ze=(Z.target instanceof Element?Z.target:null)?.closest("a");ze?.href&&E.emit({name:"link.clicked",properties:{url:ze.href}})};return M.addEventListener("click",U),()=>M.removeEventListener("click",U)},[E]),mt(()=>{(S.messages[S.messages.length-1]?.role==="user"||se.current)&&N("smooth")},[S.messages.length,S.messages[S.messages.length-1]]),mt(()=>{N("auto")},[N]),mt(()=>{if(typeof ResizeObserver>"u")return;let M=G.current,U=$.current;if(!M&&!U)return;let Z=M?.scrollHeight??0,Oe=M?.clientHeight??0,ze=new ResizeObserver(()=>{let ht=G.current;if(!ht)return;let vr=ht.scrollTop+Oe>=Z-5;Z=ht.scrollHeight,Oe=ht.clientHeight,vr&&N("auto")});return M&&ze.observe(M),U&&ze.observe(U),()=>ze.disconnect()},[N]);let W=Ir({messages:S.messages,status:S.status,config:t.suggestions}),Q=yr(M=>{let U=M.content.map(Z=>Z.text??"").join("").trim();U&&S.handleSubmit({text:U,files:[],modelContext:M.modelContext})},[S.handleSubmit]),ie=yr(M=>{let U=W.suggestions.indexOf(M),Z=U>=0?U:c?.suggestions?.indexOf(M)??-1;E.emit({name:"suggestion.clicked",properties:{text:M,index:Z}}),W.clear(),S.handleSubmit({text:M,files:[]})},[W.suggestions,W.clear,S.handleSubmit,c,E]);Ch(a,()=>({sendMessage:M=>{S.handleSubmit({text:M,files:[]}),q()},sendMessageAndWait:M=>S.sendMessageAndWait(M),reset:S.reset,focus:q,get messages(){return S.messages},get sessionId(){return S.sessionId}}),[S.handleSubmit,S.sendMessageAndWait,S.reset,S.messages,S.sessionId,q]),mt(()=>{if(!p)return;let M=U=>{let Z=U.detail,Oe=typeof Z?.message=="string"?Z.message:void 0;Oe&&S.handleSubmit({text:Oe,files:[]}),q()};return window.addEventListener(p,M),()=>window.removeEventListener(p,M)},[p,S.handleSubmit,q]);let te=!h&&!!(w||x||g),xe=T||!o;return tt("div",{ref:ne,style:{...F,maxHeight:"inherit",..._&&oe?{height:oe}:{},opacity:xe?0:1,transition:"opacity 220ms ease-out"},"data-waniwani-chat":"","data-waniwani-layout":"embed","data-assistant-bubble":P?"true":void 0,"data-color-scheme":A==="auto"?"auto":void 0,...xe?{"data-waniwani-initializing":""}:{},...H?{"data-waniwani-dark":""}:{},className:k("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",A==="dark"&&"dark",s,i?.root),children:[te&&tt("div",{className:k("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(dr,{threads:S.threads,activeThreadId:S.activeThreadId,onNewThread:S.startNewThread,onSelectThread:M=>{S.switchThread(M)},onDeleteThread:M=>{S.deleteThread(M)}}),g]}),tt("div",{ref:G,className:k("ww:relative ww:flex-1 ww:min-h-0",_?"ww:overflow-hidden":"ww:overflow-y-auto"),children:[tt("div",{ref:$,className:k("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(sr,{messages:S.messages,status:S.status,welcomeMessage:u,welcome:c,onSuggestionSelect:ie,resourceEndpoint:Te,chatSessionId:S.sessionId,isDark:H,onFollowUp:Q,onCallTool:B,fullscreenToolCallId:_,debug:I,showToolCalls:y,toolDefinitions:S.toolDefinitions,messageClassNames:{message:i?.message,userBubble:i?.userBubble,assistantBubble:i?.assistantBubble},onWidgetDisplayModeChange:(M,U)=>{if(M==="fullscreen"){let Z=ne.current?.getBoundingClientRect().height??0;ye(Z>0?Z:null),me(U.toolCallId)}else ye(null),me(null)}}),pe("div",{ref:ve,"aria-hidden":!0,style:{height:1}})]}),!de&&!_&&pe("div",{className:"ww:sticky ww:bottom-2 ww:flex ww:justify-center ww:pointer-events-none",children:pe(Be,{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(at,{className:"ww:size-4"})})})]}),!L&&tt("div",{className:"ww:shrink-0 ww:bg-background",style:_?{display:"none"}:void 0,children:[pe(ur,{suggestions:W.suggestions,isLoading:W.isLoading,onSelect:ie}),pe(ka,{queuedMessages:S.queuedMessages,onRemove:S.removeQueuedMessage}),pe("div",{className:"ww:px-4 ww:pb-2 ww:pt-2",children:tt("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[pe(Ca,{onSubmit:S.handleSubmit,globalDrop:l,multiple:l,className:k("ww-input ww:rounded-2xl ww:border-border ww:bg-input",i?.input),children:tt("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[l&&pe(ba,{}),pe(Sa,{onChange:S.handleTextChange,value:S.text,placeholder:we,className:"ww:min-h-0 ww:py-1 ww:px-0"}),pe(ya,{status:S.status,disabled:S.queueFull})]})}),tt("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(ir,{}),pe(Hl,{text:v})]})]})})]})]})});import{forwardRef as cg,useEffect as Tr,useImperativeHandle as fg,useMemo as ln,useRef as un,useState as uu}from"react";var yh="https://app.waniwani.ai/api/mcp/chat",bh={api:yh};function kh(){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 Th(){let e=kh();if(!e)return{};let t=P=>e.getAttribute(P)??void 0,a=P=>{let F=e.getAttribute(P);if(F==null)return;let b=F.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 P=a("data-show-tool-calls");P!==void 0&&(r.showToolCalls=P)}let f=t("data-css");f&&(r.css=f);let m=t("data-suggestions");m&&(r.suggestions=m.split(",").map(P=>P.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 y=t("data-mode");(y==="inline"||y==="floating")&&(r.mode=y);let T=t("data-height");T&&(r.height=T);let v=t("data-launcher-text");v&&(r.launcherText=v);let A=t("data-appear-delay");if(A!==void 0){let P=Number.parseInt(A.trim(),10);Number.isFinite(P)&&P>=0&&(r.appearDelay=P)}let R=t("data-disclaimer");if(R!==void 0){let P=R.trim(),F=P.toLowerCase();F==="false"||F==="0"?r.disclaimer=!1:P&&(r.disclaimer=P)}return r}function Jo(e){if(!e)return{};let t={};for(let a in e)e[a]!==void 0&&(t[a]=e[a]);return t}function Yo(e,t,a){let r=a??Th(),o=vh(t,r,e),n={token:"",...bh,...Jo(t),...Jo(r),...Jo(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 vh(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 Hb,useState as qb}from"react";function Ph(){if(typeof window>"u")return!1;try{return window.WANIWANI_DEBUG?!0:!!window.localStorage?.getItem("WANIWANI_DEBUG")}catch{return!1}}function Zo(...e){Ph()&&console.log("[Waniwani]",...e)}var en=new Set;function Ah(e,t,a){return`${e}|${t}|${a??""}`}function tn(e){try{return`${new URL(e).origin}/api/mcp/events/v2/batch`}catch{return e.replace(/\/$/,"").replace(/\/chat$/,"/events/v2/batch")}}async function an(e){let{api:t,token:a,channelId:r,mode:o,source:n}=e;if(typeof window>"u"||!t||!a)return;let s=Ah(t,a,r);if(!en.has(s)){en.add(s);try{let i=await ia(),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(tn(t),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:u,keepalive:!0})}catch{en.delete(s)}}}var Rh="waniwani:config:";function Wl(e,t,a){return`${Rh}${e}|${t}|${a??""}`}function rn(e,t,a){if(typeof window>"u")return null;try{let r=window.sessionStorage.getItem(Wl(e,t,a));if(!r)return null;let o=JSON.parse(r);return o&&typeof o=="object"?o:null}catch{return null}}function Gl(e,t,a,r){if(!(typeof window>"u"))try{window.sessionStorage.setItem(Wl(e,t,a),JSON.stringify(r))}catch{}}async function Vl(e,t,a,r){try{let o=et(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?Mh(i):{}}catch{return{}}}function Mh(e){let t={};return 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),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 Eh,useSyncExternalStore as _h}from"react";function Fh(e){return e?.patterns??e?.rules??[]}var zl="\0\0";function Bh(e){let a=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\\\*\\\*/g,zl).replace(/\\\*/g,"[^/]*").split(zl).join(".*");return new RegExp(`^${a}$`)}function Dh(e,t){try{return Bh(e).test(t)}catch{return!1}}function jl(e,t){if(!e)return!0;let a=!1;for(let r of Fh(e))if(Dh(r.glob,t)){if(r.action==="hide")return!1;a=!0}return a?!0:(e.default??"show")!=="hide"}var on="waniwani:locationchange",$l=!1;function Nh(){if(!($l||typeof history>"u")){$l=!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(on)),o}}}}function Oh(e){return Nh(),window.addEventListener(on,e),window.addEventListener("popstate",e),()=>{window.removeEventListener(on,e),window.removeEventListener("popstate",e)}}function Uh(){return window.location.pathname}function Hh(){return"/"}function qh(){return _h(Oh,Uh,Hh)}function Xl(e,t){let a=qh(),r=t&&jl(e,a);return Eh(()=>{Zo("visibility gate",{pathname:a,ready:t,visible:r,rules:e})},[a,t,r]),r}function Pt(e,t){for(let a of t){let r=e[a];if(typeof r=="string"&&r.length>0)return r}}var Wh=["waniwani/sessionId","openai/sessionId","openai/session","sessionId","conversationId","mcp-session-id"],Gh=["waniwani/requestId","openai/requestId","requestId","mcp/requestId"],Vh=["waniwani/traceId","openai/traceId","traceId","mcp/traceId","openai/requestId","requestId"],zh=["waniwani/userId","openai/userId","externalUserId","userId","actorId"],jh=["waniwani/visitorId","visitorId"],$h=["correlationId","openai/requestId"];function Kl(e){return e?Pt(e,Wh):void 0}function Ql(e){return e?Pt(e,Gh):void 0}function Jl(e){return e?Pt(e,Vh):void 0}function Yl(e){return e?Pt(e,zh):void 0}function Zl(e){return e?Pt(e,jh):void 0}function eu(e){return e?Pt(e,$h):void 0}var Xh=[{key:"openai/sessionId",source:"chatgpt"},{key:"openai/session",source:"chatgpt"}],Kh=[{needle:"claude",source:"claude"},{needle:"chatgpt",source:"chatgpt"},{needle:"openai",source:"chatgpt"},{needle:"gemini",source:"gemini"}];function tu(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 Xh){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 Kh)if(r.includes(o))return n}}var Qh="@waniwani/sdk";function au(e,t={}){let a=t.now??(()=>new Date),r=t.generateId??Jh,o=eg(e),n=kr(e.meta),s=kr(e.metadata),i=tg(e,n),l=Fe(e.eventId)??r(),u=ag(e.timestamp,a),c=Fe(e.source)??tu(n)??t.source??Qh,d=nn(e)?{...e}:void 0,p={...s};return Object.keys(n).length>0&&(p.meta=n),d&&(p.rawLegacy=d),{id:l,type:"mcp.event",name:o,source:c,timestamp:u,correlation:i,properties:Yh(e,o),metadata:p,rawLegacy:d}}function Jh(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?`evt_${crypto.randomUUID()}`:`evt_${Math.random().toString(36).slice(2,10)}_${Date.now().toString(36)}`}function Yh(e,t){if(!nn(e))return kr(e.properties);let a=Zh(e,t),r=kr(e.properties);return{...a,...r}}function Zh(e,t){switch(t){case"tool.called":{let a={};return Fe(e.toolName)&&(a.name=e.toolName),Fe(e.toolType)&&(a.type=e.toolType),a}case"quote.succeeded":{let a={};return typeof e.quoteAmount=="number"&&(a.amount=e.quoteAmount),Fe(e.quoteCurrency)&&(a.currency=e.quoteCurrency),a}case"link.clicked":{let a={};return Fe(e.linkUrl)&&(a.url=e.linkUrl),a}case"purchase.completed":{let a={};return typeof e.purchaseAmount=="number"&&(a.amount=e.purchaseAmount),Fe(e.purchaseCurrency)&&(a.currency=e.purchaseCurrency),a}default:return{}}}function eg(e){return nn(e)?e.eventType:e.event}function tg(e,t){let a=Fe(e.requestId)??Ql(t),r=Fe(e.sessionId)??Kl(t),o=Fe(e.traceId)??Jl(t),n=Fe(e.externalUserId)??Yl(t),s=Fe(e.visitorId)??Zl(t),i=Fe(e.correlationId)??eu(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 ag(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 kr(e){return!e||typeof e!="object"||Array.isArray(e)?{}:e}function Fe(e){if(typeof e=="string"&&e.trim().length!==0)return e}function nn(e){return"eventType"in e}function ru(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 rg="/api/mcp/events/v2/batch";var ou="@waniwani/sdk";var og=new Set([401,403]),ng=new Set([408,425,429,500,502,503,504]);function nu(e){return new sn(e)}var sn=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=lg(t.apiUrl,t.endpointPath??rg),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":ou};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:ug(n)}}if(og.has(a.status))return{kind:"auth",status:a.status};if(ng.has(a.status))return{kind:"retryable",reason:`HTTP ${a.status}`};if(!a.ok)return{kind:"permanent",reason:`HTTP ${a.status}`};let r=await ig(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:ou,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(sg(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 sg(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 ig(e){let t=await e.text();if(t)try{return JSON.parse(t)}catch{return}}function lg(e,t){let a=e.endsWith("/")?e:`${e}/`,r=t.startsWith("/")?t.slice(1):t;return`${a}${r}`}function ug(e){return e instanceof Error?e.message:String(e)}function su(e){let{apiUrl:t,endpointPath:a}=dg(e.endpoint),r=nu({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=au({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,ru(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 iu(e){return su({endpoint:tn(e.api),token:e.token,channelId:e.channelId,source:e.getSource,identity:()=>({sessionId:e.getSessionId(),visitorId:vt()})})}function lu(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 cu}from"react/jsx-runtime";var pg=600,du="https://app.waniwani.ai/api/mcp/chat",mg=cg(function(t,a){let{token:r,channelId:o,className:n,visitorId:s,overrides:i,onEvent:l}=t,u=un(null),c=un(null),d=ln(()=>wl({mode:"inline",getSessionId:()=>u.current?.sessionId}),[]);Tr(()=>{if(l)return d.subscribe(l)},[l,d]);let p=ln(()=>({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]),f=i?.api??du,[m,I]=uu({}),[L,w]=uu(!1),g=un(!1);Tr(()=>{L&&!g.current&&(g.current=!0,d.emit({name:"chat.ready"}))},[L,d]);let h=i?.disablePageView;Tr(()=>{if(!r){w(!0);return}let v=F=>{h||an({api:f,token:r,channelId:o,mode:"inline",source:F})},A=rn(f,r,o);A&&(I(A),w(!0),v(A.source));let R=new AbortController,P=setTimeout(()=>w(!0),pg);return Vl(f,r,R.signal,o).then(F=>{R.signal.aborted||(Object.keys(F).length>0&&(Gl(f,r,o,F),I(F)),w(!0),v(F.source))}).catch(F=>{console.error("[Waniwani] Remote config fetch failed:",F),w(!0)}).finally(()=>clearTimeout(P)),()=>{R.abort(),clearTimeout(P)}},[f,r,o,h]);let x=ln(()=>Yo(p,m,void 0),[p,m]);Tr(()=>{if(!r)return;let v=iu({api:f,token:r,channelId:o,getSource:()=>rn(f,r,o)?.source??void 0,getSessionId:()=>u.current?.sessionId});return c.current=v,()=>{c.current=null,v.shutdown()}},[f,r,o]),fg(a,()=>{let v=()=>c.current??lu("no public token configured"),A=Object.assign(R=>v().track(R),{priceShown:R=>v().track.priceShown(R),pricesCompared:R=>v().track.pricesCompared(R),optionSelected:R=>v().track.optionSelected(R),leadQualified:R=>v().track.leadQualified(R),converted:R=>v().track.converted(R)});return{sendMessage:R=>u.current?.sendMessage(R),sendMessageAndWait:R=>u.current?u.current.sendMessageAndWait(R):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:A,identify:(R,P)=>v().identify(R,P)}},[]);let y=Xl(x.visibility,L),T={mode:"inline"};return x.mcpServerUrl&&(T.mcpServerUrl=x.mcpServerUrl),x.channelId&&(T.channelId=x.channelId),y?cu(Il,{value:d,children:cu(Qo,{ref:u,api:x.api??du,headers:{Authorization:`Bearer ${x.token}`},visitorId:s,skipRemoteConfig:!0,body:T,appearance:x.appearance,classNames:i?.classNames,title:x.title,hideHeader:x.hideHeader,welcomeMessage:x.welcomeMessage,welcome:i?.welcome,placeholder:x.placeholder,suggestions:x.suggestions?{initial:x.suggestions}:void 0,enableThreadHistory:x.enableThreadHistory,showToolCalls:x.showToolCalls,disclaimer:x.disclaimer,allowAttachments:i?.allowAttachments,locale:x.locale,messages:i?.messages,className:n,initializing:!L})}):null});export{Lh as ChatCard,Qo as ChatEmbed,mh as DARK_THEME,Nl as DEFAULT_THEME,_o as McpAppFrame,mg as WaniwaniChat,Xo as mergeTheme,la as themeToCSSProperties};
|
|
17
17
|
/*! Bundled license information:
|
|
18
18
|
|
|
19
19
|
lucide-react/dist/esm/shared/src/utils/mergeClasses.js:
|