@waniwani/sdk 0.20.2 → 0.20.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- import{a as xn,b as In,c as Ln,d as Cn,e as Sn,f as va,g as yn,h as bn,i as kn,j as Tn,k as Ar,l as vn,m as bt,n as kt,o as Pa,p as Tt,u as qt}from"../chunk-F4UUXA3U.js";import"../chunk-V3ZDECK5.js";import{useCallback as kd,useEffect as Gr,useMemo as Td,useRef as ve,useState as Kn}from"react";function vt(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 Pn(e,t){return!vt(e)&&!vt(t)?null:vt(e)?vt(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{forwardRef as Wu,createElement as Gu}from"react";var Aa=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();var An=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var Rn=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,r)=>r?r.toUpperCase():a.toLowerCase());var Rr=e=>{let t=Rn(e);return t.charAt(0).toUpperCase()+t.slice(1)};import{forwardRef as qu,createElement as Dn}from"react";var Mn={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 Fn=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var En=qu(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:n,iconNode:s,...i},l)=>Dn("svg",{ref:l,...Mn,width:t,height:t,stroke:e,strokeWidth:r?Number(a)*24/Number(t):a,className:Aa("lucide",o),...!n&&!Fn(i)&&{"aria-hidden":"true"},...i},[...s.map(([u,d])=>Dn(u,d)),...Array.isArray(n)?n:[n]]));var K=(e,t)=>{let a=Wu(({className:r,...o},n)=>Gu(En,{ref:n,iconNode:t,className:Aa(`lucide-${An(Rr(e))}`,`lucide-${e}`,r),...o}));return a.displayName=Rr(e),a};var Vu=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],Wt=K("arrow-down",Vu);var zu=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],Gt=K("arrow-up",zu);var ju=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Vt=K("check",ju);var $u=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],at=K("chevron-down",$u);var Xu=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],zt=K("chevron-right",Xu);var Ku=[["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"}]],jt=K("clipboard-copy",Ku);var Qu=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],Qe=K("clock",Qu);var Ju=[["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"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],$t=K("file-text",Ju);var Yu=[["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"}]],Pt=K("file",Yu);var Zu=[["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"}]],Xt=K("globe",Zu);var ed=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]],Kt=K("image",ed);var td=[["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m16.2 7.8 2.9-2.9",key:"r700ao"}],["path",{d:"M18 12h4",key:"wj9ykh"}],["path",{d:"m16.2 16.2 2.9 2.9",key:"1bxg5t"}],["path",{d:"M12 18v4",key:"jadmvz"}],["path",{d:"m4.9 19.1 2.9-2.9",key:"bwix9q"}],["path",{d:"M2 12h4",key:"j09sii"}],["path",{d:"m4.9 4.9 2.9 2.9",key:"giyufr"}]],Qt=K("loader",td);var ad=[["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"}]],At=K("paperclip",ad);var rd=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],Jt=K("square",rd);var od=[["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"}]],ct=K("wrench",od);var nd=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],rt=K("x",nd);var sd=[["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"}]],Yt=K("zap",sd);import{createContext as Id,useCallback as Ld,useContext as Wn,useEffect as Cd,useMemo as Or,useRef as Sd,useState as Nr}from"react";function Mr(e){if(!(typeof e!="object"||e===null))return e}function Bn(e){return Mr(e?.ui)}function Fr(e){if(!e)return;let t=Bn(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 Zt(e){return Bn(e)?.autoHeight===!0}function Dr(e){return Mr(Mr(e)?._meta)}import{createContext as id,useContext as ld,useEffect as ud,useMemo as dd,useState as Nn}from"react";var _n=["en","fr","es"];function Rt(e){return _n.includes(e)}function Er(e){if(e&&Rt(e))return e;if(e){let a=e.split("-")[0]?.toLowerCase();if(a&&Rt(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(Rt(r))return r;let o=r.split("-")[0];if(o&&Rt(o))return o}return"en"}var Ra={promptInput:{placeholder:"What would you like to know?",uploadFiles:"Upload files",uploadFilesUpTo:"Upload a document, up to {limit}",uploadFilesUpToWithPages:"Upload a document, up to {limit} and {pages} pages",stop:"Stop",submit:"Submit",removeAttachments:"Remove all attachments",removeAttachment:"Remove attachment",uploading:"Uploading\u2026",retry:"Retry",retryUpload:"Retry the upload",uploadFailed:"The upload did not finish.",dropToAttach:"Drop to attach",errorAccept:"{name} is not a file type this chat accepts.",errorTooLarge:"{name} is larger than {limit}.",errorTooMany:"You can attach up to {limit} files."},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",kindPdf:"PDF",kindImage:"Image",kindFile:"File",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 Un={promptInput:{placeholder:"\xBFQu\xE9 te gustar\xEDa saber?",uploadFiles:"Subir archivos",uploadFilesUpTo:"Subir un documento, hasta {limit}",uploadFilesUpToWithPages:"Subir un documento, hasta {limit} y {pages} p\xE1ginas",stop:"Detener",submit:"Enviar",removeAttachments:"Eliminar todos los archivos adjuntos",removeAttachment:"Quitar archivo",uploading:"Subiendo\u2026",retry:"Reintentar",retryUpload:"Reintentar la subida",uploadFailed:"La subida no se complet\xF3.",dropToAttach:"Suelta para adjuntar",errorAccept:"{name} no es un tipo de archivo que acepte este chat.",errorTooLarge:"{name} supera {limit}.",errorTooMany:"Puedes adjuntar hasta {limit} archivos."},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",kindPdf:"PDF",kindImage:"Imagen",kindFile:"Archivo",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 On={promptInput:{placeholder:"Que souhaitez-vous savoir ?",uploadFiles:"Importer des fichiers",uploadFilesUpTo:"Joindre un document, jusqu'\xE0 {limit}",uploadFilesUpToWithPages:"Envoyer un document, jusqu'\xE0 {limit} et {pages} pages",stop:"Arr\xEAter",submit:"Envoyer",removeAttachments:"Supprimer toutes les pi\xE8ces jointes",removeAttachment:"Retirer la pi\xE8ce jointe",uploading:"Envoi en cours\u2026",retry:"R\xE9essayer",retryUpload:"R\xE9essayer l'envoi",uploadFailed:"L'envoi ne s'est pas termin\xE9.",dropToAttach:"D\xE9posez pour joindre",errorAccept:"{name} n'est pas un type de fichier accept\xE9 par ce chat.",errorTooLarge:"{name} d\xE9passe {limit}.",errorTooMany:"Vous pouvez joindre jusqu'\xE0 {limit} fichiers."},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",kindPdf:"PDF",kindImage:"Image",kindFile:"Fichier",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:Ra,fr:On,es:Un};import{jsx as pd}from"react/jsx-runtime";var Hn=id(null);function cd(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 _r({children:e,locale:t,messages:a}){let r=!!(t&&fd(t)),o=r?t:"en",[n,s]=Nn(o),[i,l]=Nn(r);ud(()=>{s(Er(t)),l(!0)},[t]);let u=dd(()=>{let d=Br[n]??Br["en"];return{locale:n,t:cd(d,a),ready:i}},[n,a,i]);return pd(Hn.Provider,{value:u,children:e})}function fd(e){return e==="en"||e==="fr"||e==="es"}function X(){let e=ld(Hn);return e||{locale:"en",t:Ra,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`}}var md=In({prefix:"ww"});function b(...e){return md(xn(e))}import{jsx as hd}from"react/jsx-runtime";var Ve=({className:e,variant:t="default",size:a="default",type:r="button",...o})=>hd("button",{type:r,className:b("ww:inline-flex ww:cursor-pointer ww:items-center ww:justify-center ww:rounded-md ww:font-medium ww:transition-colors ww:disabled:pointer-events-none ww:disabled:opacity-50",t==="default"&&"ww:bg-primary ww:text-primary-foreground ww:hover:bg-primary/90",t==="outline"&&"ww:border ww:border-border ww:bg-background ww:hover:bg-accent ww:hover:text-accent-foreground",t==="ghost"&&"ww:hover:bg-accent ww:hover:text-accent-foreground",a==="default"&&"ww:h-9 ww:px-4 ww:py-2 ww:text-sm",a==="sm"&&"ww:h-8 ww:px-3 ww:text-xs",a==="icon"&&"ww:size-9 ww:!rounded-full",a==="icon-sm"&&"ww:size-7 ww:!rounded-full",e),...o});import{memo as gd}from"react";import{jsx as xd}from"react/jsx-runtime";var wd=({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 xd(e,{"data-waniwani-shimmer":"",className:b("ww:inline-block",t),style:s,...n,children:o})},Ne=gd(wd);Ne.displayName="Shimmer";import{Fragment as qn,jsx as re,jsxs as ft}from"react/jsx-runtime";function yd(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 d=`${l}\u2009${u}`;o.push(d),n-=d.length+3}return`{${o.join(", ")}}`}function bd({text:e,className:t}){let{t:a}=X(),[r,o]=Nr(!1),n=Sd(null);Cd(()=>()=>{n.current&&clearTimeout(n.current)},[]);let s=Ld(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 re(Ve,{variant:"ghost",size:"sm",onClick:s,className:b("ww:h-auto ww:gap-1 ww:px-1.5 ww:py-0.5 ww:text-xs ww:text-muted-foreground ww:hover:text-foreground",t),children:r?ft(qn,{children:[re(Vt,{className:"ww:size-3.5"}),re("span",{children:a.tool.copied})]}):ft(qn,{children:[re(jt,{className:"ww:size-3.5"}),re("span",{children:a.tool.copy})]})})}function Gn({data:e,label:t,className:a,...r}){let[o,n]=Nr(!1),s=Or(()=>JSON.stringify(e,null,2),[e]),i=yd(e);return ft("div",{className:b("ww:rounded-lg ww:bg-tool-card",a),...r,children:[ft("div",{className:"ww:flex ww:items-center ww:justify-between ww:px-3 ww:pt-2.5 ww:pb-1.5",children:[re("span",{className:"ww:text-xs ww:font-medium ww:text-muted-foreground",children:t}),re(bd,{text:s})]}),ft("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:[re(zt,{className:b("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?re("pre",{className:"ww:overflow-x-auto ww:text-xs ww:font-mono ww:text-foreground ww:whitespace-pre-wrap ww:break-all",children:re("code",{children:s})}):re("span",{className:"ww:truncate ww:text-xs ww:font-mono ww:text-foreground/80",children:i})]})]})}var Hr=Id({open:!1,toggle:()=>{}});function Vn({className:e,defaultOpen:t=!1,children:a,...r}){let[o,n]=Nr(t);return re(Hr.Provider,{value:{open:o,toggle:()=>n(s=>!s)},children:re("div",{className:b("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 zn({className:e,title:t,state:a,...r}){let{open:o,toggle:n}=Wn(Hr),s=a==="input-available"||a==="input-streaming",i=t??"";return ft("button",{type:"button",onClick:n,className:b("ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),"aria-expanded":o,...r,children:[re(ct,{className:"ww:size-4 ww:shrink-0"}),re("span",{className:"ww:truncate",children:s?re(Ne,{duration:1.6,children:i}):i}),re(at,{className:b("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",o&&"ww:rotate-180")})]})}function jn({className:e,title:t,state:a,...r}){let o=a==="input-available"||a==="input-streaming",n=t??"";return re("div",{className:b("ww:mb-4 ww:flex ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground",e),style:{animation:"ww-fade-in 0.2s ease-out"},...r,children:re("span",{className:"ww:truncate",children:o?re(Ne,{duration:1.6,children:n}):n})})}function $n({className:e,children:t,...a}){let{open:r}=Wn(Hr);return re("div",{className:b("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:re("div",{className:"ww:min-h-0 ww:overflow-hidden",children:re("div",{className:b("ww:mt-2 ww:space-y-3 ww:rounded-lg ww:border ww:border-border ww:bg-background ww:p-3",e),...a,children:t})})})}function qr({className:e,input:t,debug:a,...r}){let{t:o}=X(),n=Or(()=>{if(!a&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:s,...i}=t;return i}return t},[t,a]);return re(Gn,{data:n,label:o.tool.request,className:e,...r})}function ea(e,t,a){if(e){let r=Fr(a?.[e]?._meta);if(r)return r}return Fr(Dr(t))}function Xn(e,t,a){return e&&Zt(a?.[e]?._meta)?!0:Zt(Dr(t))}function Wr({className:e,output:t,errorText:a,debug:r,...o}){let{t:n}=X(),s=Or(()=>{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?ft("div",{className:b("ww:space-y-2",e),...o,children:[re("h4",{className:"ww:text-xs ww:font-medium ww:uppercase ww:tracking-wide ww:text-muted-foreground",children:n.tool.error}),re("div",{className:"ww:rounded-lg ww:bg-destructive/10 ww:p-3 ww:text-xs ww:text-destructive",children:a})]}):re(Gn,{data:s,label:n.tool.response,className:e,...o}):null}import{jsx as Ud}from"react/jsx-runtime";var vd="/api/mcp/resource",Pd=500,Ad=0,Rd=16,Md="2026-01-26",Fd=300,Dd=3e3,Ed=3;function Bd(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function _d(e,t,a){return ea(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function ta({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:r=vd,chatSessionId:o,isDark:n=!1,className:s,autoHeight:i=!1,onOpenLink:l,onFollowUp:u,onCallTool:d,onDisplayModeChange:c,isFullscreen:f=!1,toolDefinitions:p}){let m=ve(null),L=ve(t),x=ve(a),w=ve({width:0,height:0}),C=ve(null),h=ve(!1),I=ve(0),S=ve("inline"),[P,U]=Kn(Ad),[E,$]=Kn(void 0),A=ve(l),v=ve(u),_=ve(d),W=ve(c),Y=ve(o),G=ve(p);L.current=t,x.current=a,A.current=l,v.current=u,_.current=d,W.current=c,Y.current=o,G.current=p;let T=kd(Z=>i?Math.max(Z+Rd,0):Math.min(Math.max(Z,50),Pd),[i]),y=Td(()=>{let Z=r.includes("?")?"&":"?";return`${r}${Z}uri=${encodeURIComponent(e)}`},[r,e]),R=ve(n);R.current=n;let Ae=ve(f);return Gr(()=>{Ae.current=f,w.current.height=-1,C.current&&(C.current.cancel(),C.current=null)},[f]),Gr(()=>{if(!h.current)return;let Z=m.current;Z?.contentWindow&&Z.contentWindow.postMessage({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{theme:n?"dark":"light"}},"*")},[n]),Gr(()=>{let Z=m.current;if(!Z)return;let le=!1,ie=!1,k=null,O=null,z=setTimeout(()=>{if(le||ie||I.current>=Ed)return;I.current+=1;let J=new URL(Z.src);J.searchParams.set("_retry",String(I.current)),Z.src=J.toString()},Dd),j=J=>{Z.contentWindow?.postMessage(J,"*")},Te=J=>{if(le||J.source!==Z.contentWindow)return;let ee=J.data;if(!ee||typeof ee!="object"||ee.jsonrpc!=="2.0")return;let N=ee.method,M=ee.id;if(N==="ui/initialize"&&M!=null){ie=!0,clearTimeout(z),j({jsonrpc:"2.0",id:M,result:{protocolVersion:ee.params?.protocolVersion??Md,hostInfo:{name:"Waniwani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:R.current?"dark":"light",displayMode:S.current}}});return}if(N==="ui/notifications/initialized"){h.current=!0;let H=L.current,q=x.current,V=q._meta&&typeof q._meta=="object"?q._meta:null,te=Bd(Y.current),ae=V&&typeof V.waniwani=="object"&&V.waniwani!==null?V.waniwani:null,Le=ae||te?{...ae??{},...te?{sessionId:te}:{}}:void 0,ce=V||Le?{...V??{},...Le?{waniwani:Le}:{}}:void 0;j({jsonrpc:"2.0",method:"ui/notifications/tool-input",params:{arguments:H}});let Be=q.content??[{type:"text",text:JSON.stringify(q)}];j({jsonrpc:"2.0",method:"ui/notifications/tool-result",params:{content:Be,structuredContent:q.structuredContent,_meta:ce,meta:ce}});return}if(N==="ui/notifications/size-changed"){let H=ee.params,q=typeof H?.height=="number"?H.height:void 0,V=typeof H?.width=="number"?H.width:void 0,te=w.current,ae=q!==void 0&&q!==te.height,Le=V!==void 0&&V!==te.width;if(!ae&&!Le)return;if(ae&&q!==void 0){if(te.height=q,Ae.current)return;let ce=T(q),Be=Z.getBoundingClientRect().height;if(C.current&&(C.current.cancel(),C.current=null),U(ce),Z.animate&&Math.abs(Be-ce)>2){let Ge=Z.animate([{height:`${Be}px`},{height:`${ce}px`}],{duration:Fd,easing:"ease-out",fill:"forwards"});C.current=Ge,Ge.onfinish=()=>{C.current===Ge&&(Ge.cancel(),C.current=null)}}}Le&&i&&V!==void 0&&(te.width=V,$(V));return}if(N==="ui/open-link"&&M!=null){let H=ee.params?.url;typeof H=="string"&&(A.current?A.current(H):window.open(H,"_blank","noopener,noreferrer")),j({jsonrpc:"2.0",id:M,result:{}});return}if(N==="ui/message"&&M!=null){if(v.current&&ee.params){let H=ee.params,q=k;if(k=null,O){clearTimeout(O.timer);let V=O.text;O=null;let te=(H.content??[]).map(ae=>ae.text??"").join("").trim();H={...H,content:[{type:"text",text:`${te}
2
+ import{a as xn,b as In,c as Ln,d as Cn,e as Sn,f as va,g as yn,h as bn,i as kn,j as Tn,k as Ar,l as vn,m as bt,n as kt,o as Pa,p as Tt,u as qt}from"../chunk-F4UUXA3U.js";import"../chunk-V3ZDECK5.js";import{useCallback as kd,useEffect as Gr,useMemo as Td,useRef as ve,useState as Kn}from"react";function vt(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 Pn(e,t){return!vt(e)&&!vt(t)?null:vt(e)?vt(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{forwardRef as Wu,createElement as Gu}from"react";var Aa=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();var An=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var Rn=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,r)=>r?r.toUpperCase():a.toLowerCase());var Rr=e=>{let t=Rn(e);return t.charAt(0).toUpperCase()+t.slice(1)};import{forwardRef as qu,createElement as Dn}from"react";var Mn={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 Fn=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var En=qu(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:n,iconNode:s,...i},l)=>Dn("svg",{ref:l,...Mn,width:t,height:t,stroke:e,strokeWidth:r?Number(a)*24/Number(t):a,className:Aa("lucide",o),...!n&&!Fn(i)&&{"aria-hidden":"true"},...i},[...s.map(([u,d])=>Dn(u,d)),...Array.isArray(n)?n:[n]]));var K=(e,t)=>{let a=Wu(({className:r,...o},n)=>Gu(En,{ref:n,iconNode:t,className:Aa(`lucide-${An(Rr(e))}`,`lucide-${e}`,r),...o}));return a.displayName=Rr(e),a};var Vu=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],Wt=K("arrow-down",Vu);var zu=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],Gt=K("arrow-up",zu);var ju=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Vt=K("check",ju);var $u=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],at=K("chevron-down",$u);var Xu=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],zt=K("chevron-right",Xu);var Ku=[["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"}]],jt=K("clipboard-copy",Ku);var Qu=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],Qe=K("clock",Qu);var Ju=[["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"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],$t=K("file-text",Ju);var Yu=[["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"}]],Pt=K("file",Yu);var Zu=[["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"}]],Xt=K("globe",Zu);var ed=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]],Kt=K("image",ed);var td=[["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m16.2 7.8 2.9-2.9",key:"r700ao"}],["path",{d:"M18 12h4",key:"wj9ykh"}],["path",{d:"m16.2 16.2 2.9 2.9",key:"1bxg5t"}],["path",{d:"M12 18v4",key:"jadmvz"}],["path",{d:"m4.9 19.1 2.9-2.9",key:"bwix9q"}],["path",{d:"M2 12h4",key:"j09sii"}],["path",{d:"m4.9 4.9 2.9 2.9",key:"giyufr"}]],Qt=K("loader",td);var ad=[["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"}]],At=K("paperclip",ad);var rd=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],Jt=K("square",rd);var od=[["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"}]],ct=K("wrench",od);var nd=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],rt=K("x",nd);var sd=[["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"}]],Yt=K("zap",sd);import{createContext as Id,useCallback as Ld,useContext as Wn,useEffect as Cd,useMemo as Or,useRef as Sd,useState as Nr}from"react";function Mr(e){if(!(typeof e!="object"||e===null))return e}function Bn(e){return Mr(e?.ui)}function Fr(e){if(!e)return;let t=Bn(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 Zt(e){return Bn(e)?.autoHeight===!0}function Dr(e){return Mr(Mr(e)?._meta)}import{createContext as id,useContext as ld,useEffect as ud,useMemo as dd,useState as Nn}from"react";var _n=["en","fr","es"];function Rt(e){return _n.includes(e)}function Er(e){if(e&&Rt(e))return e;if(e){let a=e.split("-")[0]?.toLowerCase();if(a&&Rt(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(Rt(r))return r;let o=r.split("-")[0];if(o&&Rt(o))return o}return"en"}var Ra={promptInput:{placeholder:"What would you like to know?",uploadFiles:"Upload files",uploadFilesUpTo:"Upload a document, up to {limit}",uploadFilesUpToWithPages:"Upload a document, up to {limit} and {pages} pages",stop:"Stop",submit:"Submit",removeAttachments:"Remove all attachments",removeAttachment:"Remove attachment",uploading:"Uploading\u2026",retry:"Retry",retryUpload:"Retry the upload",uploadFailed:"The upload did not finish.",dropToAttach:"Drop to attach",errorAccept:"{name} is not a file type this chat accepts.",errorTooLarge:"{name} is larger than {limit}.",errorTooMany:"You can attach up to {limit} files."},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",kindPdf:"PDF",kindImage:"Image",kindFile:"File",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 Un={promptInput:{placeholder:"\xBFQu\xE9 te gustar\xEDa saber?",uploadFiles:"Subir archivos",uploadFilesUpTo:"Subir un documento, hasta {limit}",uploadFilesUpToWithPages:"Subir un documento, hasta {limit} y {pages} p\xE1ginas",stop:"Detener",submit:"Enviar",removeAttachments:"Eliminar todos los archivos adjuntos",removeAttachment:"Quitar archivo",uploading:"Subiendo\u2026",retry:"Reintentar",retryUpload:"Reintentar la subida",uploadFailed:"La subida no se complet\xF3.",dropToAttach:"Suelta para adjuntar",errorAccept:"{name} no es un tipo de archivo que acepte este chat.",errorTooLarge:"{name} supera {limit}.",errorTooMany:"Puedes adjuntar hasta {limit} archivos."},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",kindPdf:"PDF",kindImage:"Imagen",kindFile:"Archivo",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 On={promptInput:{placeholder:"Que souhaitez-vous savoir ?",uploadFiles:"Importer des fichiers",uploadFilesUpTo:"Joindre un document, jusqu'\xE0 {limit}",uploadFilesUpToWithPages:"Envoyer un document, jusqu'\xE0 {limit} et {pages} pages",stop:"Arr\xEAter",submit:"Envoyer",removeAttachments:"Supprimer toutes les pi\xE8ces jointes",removeAttachment:"Retirer la pi\xE8ce jointe",uploading:"Envoi en cours\u2026",retry:"R\xE9essayer",retryUpload:"R\xE9essayer l'envoi",uploadFailed:"L'envoi ne s'est pas termin\xE9.",dropToAttach:"D\xE9posez pour joindre",errorAccept:"{name} n'est pas un type de fichier accept\xE9 par ce chat.",errorTooLarge:"{name} d\xE9passe {limit}.",errorTooMany:"Vous pouvez joindre jusqu'\xE0 {limit} fichiers."},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",kindPdf:"PDF",kindImage:"Image",kindFile:"Fichier",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:Ra,fr:On,es:Un};import{jsx as pd}from"react/jsx-runtime";var Hn=id(null);function cd(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 _r({children:e,locale:t,messages:a}){let r=!!(t&&fd(t)),o=r?t:"en",[n,s]=Nn(o),[i,l]=Nn(r);ud(()=>{s(Er(t)),l(!0)},[t]);let u=dd(()=>{let d=Br[n]??Br["en"];return{locale:n,t:cd(d,a),ready:i}},[n,a,i]);return pd(Hn.Provider,{value:u,children:e})}function fd(e){return e==="en"||e==="fr"||e==="es"}function X(){let e=ld(Hn);return e||{locale:"en",t:Ra,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`}}var md=In({prefix:"ww"});function b(...e){return md(xn(e))}import{jsx as hd}from"react/jsx-runtime";var Ve=({className:e,variant:t="default",size:a="default",type:r="button",...o})=>hd("button",{type:r,className:b("ww:inline-flex ww:cursor-pointer ww:items-center ww:justify-center ww:rounded-md ww:font-medium ww:transition-colors ww:disabled:pointer-events-none ww:disabled:opacity-50",t==="default"&&"ww:bg-primary ww:text-primary-foreground ww:hover:bg-primary/90",t==="outline"&&"ww:border ww:border-border ww:bg-background ww:hover:bg-accent ww:hover:text-accent-foreground",t==="ghost"&&"ww:hover:bg-accent ww:hover:text-accent-foreground",a==="default"&&"ww:h-9 ww:px-4 ww:py-2 ww:text-sm",a==="sm"&&"ww:h-8 ww:px-3 ww:text-xs",a==="icon"&&"ww:size-9 ww:!rounded-full",a==="icon-sm"&&"ww:size-7 ww:!rounded-full",e),...o});import{memo as gd}from"react";import{jsx as xd}from"react/jsx-runtime";var wd=({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 xd(e,{"data-waniwani-shimmer":"",className:b("ww:inline-block",t),style:s,...n,children:o})},Ne=gd(wd);Ne.displayName="Shimmer";import{Fragment as qn,jsx as re,jsxs as ft}from"react/jsx-runtime";function yd(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 d=`${l}\u2009${u}`;o.push(d),n-=d.length+3}return`{${o.join(", ")}}`}function bd({text:e,className:t}){let{t:a}=X(),[r,o]=Nr(!1),n=Sd(null);Cd(()=>()=>{n.current&&clearTimeout(n.current)},[]);let s=Ld(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 re(Ve,{variant:"ghost",size:"sm",onClick:s,className:b("ww:h-auto ww:gap-1 ww:px-1.5 ww:py-0.5 ww:text-xs ww:text-muted-foreground ww:hover:text-foreground",t),children:r?ft(qn,{children:[re(Vt,{className:"ww:size-3.5"}),re("span",{children:a.tool.copied})]}):ft(qn,{children:[re(jt,{className:"ww:size-3.5"}),re("span",{children:a.tool.copy})]})})}function Gn({data:e,label:t,className:a,...r}){let[o,n]=Nr(!1),s=Or(()=>JSON.stringify(e,null,2),[e]),i=yd(e);return ft("div",{className:b("ww:rounded-lg ww:bg-tool-card",a),...r,children:[ft("div",{className:"ww:flex ww:items-center ww:justify-between ww:px-3 ww:pt-2.5 ww:pb-1.5",children:[re("span",{className:"ww:text-xs ww:font-medium ww:text-muted-foreground",children:t}),re(bd,{text:s})]}),ft("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:[re(zt,{className:b("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?re("pre",{className:"ww:overflow-x-auto ww:text-xs ww:font-mono ww:text-foreground ww:whitespace-pre-wrap ww:break-all",children:re("code",{children:s})}):re("span",{className:"ww:truncate ww:text-xs ww:font-mono ww:text-foreground/80",children:i})]})]})}var Hr=Id({open:!1,toggle:()=>{}});function Vn({className:e,defaultOpen:t=!1,children:a,...r}){let[o,n]=Nr(t);return re(Hr.Provider,{value:{open:o,toggle:()=>n(s=>!s)},children:re("div",{className:b("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 zn({className:e,title:t,state:a,...r}){let{open:o,toggle:n}=Wn(Hr),s=a==="input-available"||a==="input-streaming",i=t??"";return ft("button",{type:"button",onClick:n,className:b("ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),"aria-expanded":o,...r,children:[re(ct,{className:"ww:size-4 ww:shrink-0"}),re("span",{className:"ww:truncate",children:s?re(Ne,{duration:1.6,children:i}):i}),re(at,{className:b("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",o&&"ww:rotate-180")})]})}function jn({className:e,title:t,state:a,...r}){let o=a==="input-available"||a==="input-streaming",n=t??"";return re("div",{className:b("ww:mb-4 ww:flex ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground",e),style:{animation:"ww-fade-in 0.2s ease-out"},...r,children:re("span",{className:"ww:truncate",children:o?re(Ne,{duration:1.6,children:n}):n})})}function $n({className:e,children:t,...a}){let{open:r}=Wn(Hr);return re("div",{className:b("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:re("div",{className:"ww:min-h-0 ww:overflow-hidden",children:re("div",{className:b("ww:mt-2 ww:space-y-3 ww:rounded-lg ww:border ww:border-border ww:bg-background ww:p-3",e),...a,children:t})})})}function qr({className:e,input:t,debug:a,...r}){let{t:o}=X(),n=Or(()=>{if(!a&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:s,...i}=t;return i}return t},[t,a]);return re(Gn,{data:n,label:o.tool.request,className:e,...r})}function ea(e,t,a){if(e){let r=Fr(a?.[e]?._meta);if(r)return r}return Fr(Dr(t))}function Xn(e,t,a){return e&&Zt(a?.[e]?._meta)?!0:Zt(Dr(t))}function Wr({className:e,output:t,errorText:a,debug:r,...o}){let{t:n}=X(),s=Or(()=>{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?ft("div",{className:b("ww:space-y-2",e),...o,children:[re("h4",{className:"ww:text-xs ww:font-medium ww:uppercase ww:tracking-wide ww:text-muted-foreground",children:n.tool.error}),re("div",{className:"ww:rounded-lg ww:bg-destructive/10 ww:p-3 ww:text-xs ww:text-destructive",children:a})]}):re(Gn,{data:s,label:n.tool.response,className:e,...o}):null}import{jsx as Ud}from"react/jsx-runtime";var vd="/api/mcp/resource",Pd=500,Ad=0,Rd=16,Md="2026-01-26",Fd=300,Dd=3e3,Ed=3;function Bd(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function _d(e,t,a){return ea(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function ta({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:r=vd,chatSessionId:o,isDark:n=!1,className:s,autoHeight:i=!1,onOpenLink:l,onFollowUp:u,onCallTool:d,onDisplayModeChange:c,isFullscreen:f=!1,toolDefinitions:p}){let m=ve(null),L=ve(t),x=ve(a),w=ve({width:0,height:0}),C=ve(null),h=ve(!1),I=ve(0),S=ve("inline"),[v,U]=Kn(Ad),[E,$]=Kn(void 0),A=ve(l),P=ve(u),_=ve(d),W=ve(c),Y=ve(o),G=ve(p);L.current=t,x.current=a,A.current=l,P.current=u,_.current=d,W.current=c,Y.current=o,G.current=p;let T=kd(Z=>i?Math.max(Z+Rd,0):Math.min(Math.max(Z,50),Pd),[i]),y=Td(()=>{let Z=r.includes("?")?"&":"?";return`${r}${Z}uri=${encodeURIComponent(e)}`},[r,e]),R=ve(n);R.current=n;let Ae=ve(f);return Gr(()=>{Ae.current=f,w.current.height=-1,C.current&&(C.current.cancel(),C.current=null)},[f]),Gr(()=>{if(!h.current)return;let Z=m.current;Z?.contentWindow&&Z.contentWindow.postMessage({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{theme:n?"dark":"light"}},"*")},[n]),Gr(()=>{let Z=m.current;if(!Z)return;let le=!1,ie=!1,k=null,O=null,z=setTimeout(()=>{if(le||ie||I.current>=Ed)return;I.current+=1;let J=new URL(Z.src);J.searchParams.set("_retry",String(I.current)),Z.src=J.toString()},Dd),j=J=>{Z.contentWindow?.postMessage(J,"*")},Te=J=>{if(le||J.source!==Z.contentWindow)return;let ee=J.data;if(!ee||typeof ee!="object"||ee.jsonrpc!=="2.0")return;let N=ee.method,M=ee.id;if(N==="ui/initialize"&&M!=null){ie=!0,clearTimeout(z),j({jsonrpc:"2.0",id:M,result:{protocolVersion:ee.params?.protocolVersion??Md,hostInfo:{name:"Waniwani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:R.current?"dark":"light",displayMode:S.current}}});return}if(N==="ui/notifications/initialized"){h.current=!0;let H=L.current,q=x.current,V=q._meta&&typeof q._meta=="object"?q._meta:null,te=Bd(Y.current),ae=V&&typeof V.waniwani=="object"&&V.waniwani!==null?V.waniwani:null,Le=ae||te?{...ae??{},...te?{sessionId:te}:{}}:void 0,ce=V||Le?{...V??{},...Le?{waniwani:Le}:{}}:void 0;j({jsonrpc:"2.0",method:"ui/notifications/tool-input",params:{arguments:H}});let Be=q.content??[{type:"text",text:JSON.stringify(q)}];j({jsonrpc:"2.0",method:"ui/notifications/tool-result",params:{content:Be,structuredContent:q.structuredContent,_meta:ce,meta:ce}});return}if(N==="ui/notifications/size-changed"){let H=ee.params,q=typeof H?.height=="number"?H.height:void 0,V=typeof H?.width=="number"?H.width:void 0,te=w.current,ae=q!==void 0&&q!==te.height,Le=V!==void 0&&V!==te.width;if(!ae&&!Le)return;if(ae&&q!==void 0){if(te.height=q,Ae.current)return;let ce=T(q),Be=Z.getBoundingClientRect().height;if(C.current&&(C.current.cancel(),C.current=null),U(ce),Z.animate&&Math.abs(Be-ce)>2){let Ge=Z.animate([{height:`${Be}px`},{height:`${ce}px`}],{duration:Fd,easing:"ease-out",fill:"forwards"});C.current=Ge,Ge.onfinish=()=>{C.current===Ge&&(Ge.cancel(),C.current=null)}}}Le&&i&&V!==void 0&&(te.width=V,$(V));return}if(N==="ui/open-link"&&M!=null){let H=ee.params?.url;typeof H=="string"&&(A.current?A.current(H):window.open(H,"_blank","noopener,noreferrer")),j({jsonrpc:"2.0",id:M,result:{}});return}if(N==="ui/message"&&M!=null){if(P.current&&ee.params){let H=ee.params,q=k;if(k=null,O){clearTimeout(O.timer);let V=O.text;O=null;let te=(H.content??[]).map(ae=>ae.text??"").join("").trim();H={...H,content:[{type:"text",text:`${te}
3
3
 
4
- ${V}`}]}}v.current({...H,...q?{modelContext:q}:{}})}j({jsonrpc:"2.0",id:M,result:{}});return}if(N==="ui/update-model-context"&&M!=null){k=Pn(k,ee.params),j({jsonrpc:"2.0",id:M,result:{}});return}if(N==="tools/call"&&M!=null){let H=_.current;if(!H){j({jsonrpc:"2.0",id:M,error:{code:-32601,message:"tools/call not supported"}});return}let q=ee.params?.name;H({name:q,arguments:ee.params?.arguments??{}}).then(V=>{j({jsonrpc:"2.0",id:M,result:V});let te=V.content?.map(ae=>ae.text??"").join("").trim();te&&_d(q,V,G.current)&&(O&&clearTimeout(O.timer),O={text:te,timer:setTimeout(()=>{if(le)return;let ae=k;k=null,O=null,v.current?.({role:"user",content:[{type:"text",text:te}],...ae?{modelContext:ae}:{}})},500)})}).catch(V=>{let te=V instanceof Error?V.message:"Tool call failed";j({jsonrpc:"2.0",id:M,error:{code:-32e3,message:te}})});return}if(N==="ui/request-display-mode"&&M!=null){let H=ee.params?.mode,q=H==="fullscreen"||H==="inline"||H==="pip"?H:"inline";S.current=q,j({jsonrpc:"2.0",id:M,result:{mode:q}}),j({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{displayMode:q}}),W.current?.(q);return}if(N==="ui/resource-teardown"&&M!=null){j({jsonrpc:"2.0",id:M,result:{}});return}N==="ping"&&M!=null&&j({jsonrpc:"2.0",id:M,result:{}})};return window.addEventListener("message",Te),()=>{le=!0,clearTimeout(z),O&&clearTimeout(O.timer),window.removeEventListener("message",Te)}},[i,T]),Ud("iframe",{ref:m,src:y,sandbox:"allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox",className:b(!f&&"ww:rounded-md ww:border ww:border-border",s),style:{height:f?"100%":P,minWidth:f||!E?void 0:`min(${E}px, 100%)`,width:"100%",border:"none",colorScheme:n?"dark":"auto"},title:"MCP App"})}import{useCallback as Od,useEffect as Vr,useState as Nd}from"react";import{jsx as zr,jsxs as qd}from"react/jsx-runtime";var Qn=672,Jn=32;function Hd({widget:e,toolsEndpoint:t,resourceEndpoint:a,headers:r,onClose:o,isDark:n=!1}){let[s,i]=Nd(null);Vr(()=>{let f=()=>i({width:window.innerWidth,height:window.innerHeight});return f(),window.addEventListener("resize",f),()=>window.removeEventListener("resize",f)},[]);let l=e?.preview===!0;Vr(()=>{if(!e||!l)return;let f=p=>{p.key==="Escape"&&o()};return window.addEventListener("keydown",f),()=>window.removeEventListener("keydown",f)},[e,l,o]),Vr(()=>{if(!e)return;let f=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=f}},[e]);let u=Od(async f=>{let p=await fetch(t,{method:"POST",headers:{"content-type":"application/json",...r},body:JSON.stringify({action:"call",...f})});if(!p.ok)throw new Error(`webmcp tool call failed: ${p.status}`);return await p.json()},[t,r]);if(!e)return null;let d=s?Math.min(Qn,s.width-Jn):Qn,c=s?s.height-Jn:void 0;return qd("div",{role:"dialog","aria-modal":"true","aria-label":"Waniwani",className:b("ww:fixed ww:inset-0 ww:z-[2147483000] ww:flex ww:items-center ww:justify-center ww:bg-black/45 ww:backdrop-blur-md",n&&"dark"),children:[l&&zr("button",{type:"button","aria-label":"Close",onClick:o,className:"ww:absolute ww:inset-0 ww:h-full ww:w-full ww:cursor-pointer ww:border-none ww:bg-transparent ww:p-0"}),zr("div",{className:"ww:relative ww:overflow-auto ww:rounded-2xl ww:bg-background ww:shadow-2xl",style:{width:d,maxHeight:c},children:zr(ta,{resourceUri:e.viewUri,resourceEndpoint:a,toolInput:e.data,toolResult:e.result,autoHeight:Zt(e.result._meta),isDark:n,onCallTool:u,onOpenLink:f=>window.open(f,"_blank","noopener")},`${a}|${e.viewUri}`)})]})}import{forwardRef as au,useCallback as Sr,useEffect as Ye,useImperativeHandle as Hh,useRef as Ct,useState as yr}from"react";import Zn from"crypto";var Yn="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var Wd=128,pt,Ft,Gd=e=>{!pt||pt.length<e?(pt=Buffer.allocUnsafe(e*Wd),Zn.randomFillSync(pt),Ft=0):Ft+e>pt.length&&(Zn.randomFillSync(pt),Ft=0),Ft+=e};var aa=(e=21)=>{Gd(e|=0);let t="";for(let a=Ft-e;a<Ft;a++)t+=Yn[pt[a]&63];return t};import{createContext as Xd,useCallback as Re,useContext as Kd,useEffect as ra,useMemo as Qd,useRef as ot,useState as Xr}from"react";var mt=new Map;function es(e,t){if(mt.has(e)){URL.revokeObjectURL(t);return}for(mt.set(e,t);mt.size>20;){let a=mt.keys().next();if(a.done)return;let r=mt.get(a.value);mt.delete(a.value),r&&URL.revokeObjectURL(r)}}function ts(e){return mt.get(e)}import{useState as Vd}from"react";import{jsx as Se,jsxs as jr}from"react/jsx-runtime";var as=({files:e,className:t,...a})=>e.length===0?null:Se("div",{className:b("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((r,o)=>Se(zd,{file:r},o))});function zd({file:e}){let{t}=X();return e.mediaType?.startsWith("image/")&&e.url?Se("img",{src:e.url,alt:e.filename??t.attachments.attachmentFallback,className:"ww:h-16 ww:max-w-32 ww:rounded ww:object-cover"}):jr("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:[Se(Pt,{className:"ww:size-3 ww:shrink-0"}),Se("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??t.attachments.fileFallback})]})}function rs(e,t){return e.startsWith("image/")?t.attachments.kindImage:e==="application/pdf"?t.attachments.kindPdf:t.attachments.kindFile}function jd({mediaType:e}){return e.startsWith("image/")?Se(Kt,{className:"ww:size-5 ww:text-muted-foreground"}):e==="application/pdf"?Se($t,{className:"ww:size-5 ww:text-muted-foreground"}):Se(Pt,{className:"ww:size-5 ww:text-muted-foreground"})}function $r({filename:e,mediaType:t,previewUrl:a,subtitle:r,tone:o="default",children:n,className:s}){let{t:i}=X(),l=rs(t,i);return jr("li",{"aria-label":`${e}, ${l}`,className:b("ww:relative ww:flex ww:w-60 ww:max-w-full ww:cursor-default ww:items-center ww:gap-2.5 ww:overflow-hidden ww:rounded-xl ww:border ww:bg-background ww:p-2.5",o==="error"?"ww:border-destructive/50":"ww:border-border",s),children:[Se("span",{className:"ww:flex ww:size-10 ww:shrink-0 ww:items-center ww:justify-center ww:overflow-hidden ww:rounded-xl ww:bg-muted",children:a?Se("img",{alt:"",className:"ww:size-full ww:object-cover ww:object-center",src:a}):Se(jd,{mediaType:t})}),jr("span",{className:"ww:flex ww:min-w-0 ww:flex-col",children:[Se("span",{className:"ww:truncate ww:font-medium ww:text-sm",title:e,children:e}),Se("span",{className:b("ww:truncate ww:text-xs",o==="error"?"ww:text-destructive":"ww:text-muted-foreground"),children:r??l})]}),n]})}function os(e){if(typeof e!="object"||e===null)return[];let t=e.documents;return Array.isArray(t)?t.filter(a=>typeof a=="object"&&a!==null&&typeof a.documentId=="string"&&typeof a.filename=="string"&&typeof a.mediaType=="string"):[]}var ns=({documents:e,className:t,...a})=>e.length===0?null:Se("ul",{className:b("ww:flex ww:list-none ww:flex-wrap ww:items-end ww:justify-end ww:gap-2 ww:p-0",t),...a,children:e.map((r,o)=>Se($d,{document:r},`${r.documentId}-${o}`))});function $d({document:e}){let{t}=X(),[a,r]=Vd(!1),o=e.mediaType.startsWith("image/")?ts(e.documentId):void 0;return o&&!a?Se("li",{children:Se("img",{alt:`${e.filename}, ${rs(e.mediaType,t)}`,className:"ww:max-h-80 ww:max-w-72 ww:rounded-xl ww:border ww:border-border ww:object-contain",onError:()=>r(!0),src:o,title:e.filename})}):Se($r,{filename:e.filename,mediaType:e.mediaType})}import{jsx as we,jsxs as Fa}from"react/jsx-runtime";var Jd=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}},Yd=(e,t)=>{if(!t)return!0;let a=t.split(",").map(n=>n.trim().toLowerCase()).filter(Boolean);if(a.length===0)return!0;let r=e.type.toLowerCase(),o=e.name.toLowerCase();return a.some(n=>n.startsWith(".")?o.endsWith(n):n.endsWith("/*")?r.startsWith(n.slice(0,-1)):r===n)},is=Xd(null),Ma=()=>{let e=Kd(is);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},ls=({className:e,accept:t,multiple:a,globalDrop:r,maxFiles:o,maxFileSize:n,maxPdfPages:s,attachmentsEnabled:i=!0,upload:l,onDiscard:u,onError:d,onSubmit:c,children:f,...p})=>{let{t:m,locale:L}=X(),x=ot(null),w=ot(null),[C,h]=Xr([]),I=ot(C),S=ot(new Map),P=ot(l),U=ot(d),E=ot(u);ra(()=>{P.current=l,U.current=d,E.current=u},[l,d,u]);let $=Re(k=>{I.current=k,h(k)},[]),A=Re(()=>{x.current?.click()},[]),v=Re((k,O)=>{$(I.current.map(z=>z.id===k?{...z,...O}:z))},[$]),_=Re((k,O)=>{let z=P.current;if(!z)return;let j=new AbortController,Te=z(O,j.signal,J=>{v(k,{progress:J})}).then(J=>(v(k,{status:"ready",progress:1,documentId:J.documentId,error:void 0}),J)).catch(J=>{if(j.signal.aborted)return null;let ee=J instanceof Error?J.message:m.promptInput.uploadFailed;return v(k,{status:"failed",error:ee}),U.current?.({code:"upload_failed",message:ee}),null});S.current.set(k,{file:O,controller:j,done:Te})},[v,m]),W=Re(k=>{let O=[...k];if(!i||O.length===0)return;let z=(M,H)=>U.current?.({code:M,message:H}),j=[];for(let M of O){if(!Yd(M,t)){z("accept",m.promptInput.errorAccept.replace("{name}",M.name));continue}if(n&&M.size>n){z("max_file_size",m.promptInput.errorTooLarge.replace("{name}",M.name).replace("{limit}",us(n,L)));continue}j.push(M)}if(j.length===0)return;let Te=typeof o=="number"?Math.max(0,o-I.current.length):void 0,J=typeof Te=="number"?j.slice(0,Te):j;if(J.length<j.length&&z("max_files",m.promptInput.errorTooMany.replace("{limit}",String(o))),J.length===0)return;let ee=!!P.current,N=J.map(M=>({file:M,item:{filename:M.name,id:aa(),mediaType:M.type,type:"file",url:URL.createObjectURL(M),status:ee?"uploading":"ready",progress:0}}));$([...I.current,...N.map(M=>M.item)]);for(let M of N)_(M.item.id,M.file)},[o,n,t,i,_,$,m,L]),Y=Re(k=>{let O=S.current.get(k);O&&(v(k,{status:"uploading",progress:0,error:void 0}),_(k,O.file))},[v,_]),G=Re((k,O)=>{S.current.get(k.id)?.controller.abort(),S.current.delete(k.id),k.url&&(!O&&!!k.documentId&&!!k.mediaType?.startsWith("image/")&&k.documentId?es(k.documentId,k.url):URL.revokeObjectURL(k.url)),O&&k.documentId&&E.current?.({documentId:k.documentId,filename:k.filename??"",mediaType:k.mediaType??""})},[]),T=Re(k=>{let O=I.current.find(z=>z.id===k);O&&G(O,!0),$(I.current.filter(z=>z.id!==k))},[G,$]),y=Re(()=>{for(let k of I.current)G(k,!0);$([])},[G,$]),R=ot(i);ra(()=>{let k=R.current;R.current=i,k&&!i&&y()},[i,y]);let Ae=Re(()=>{for(let k of I.current)G(k,!1);$([])},[G,$]);ra(()=>()=>{for(let k of I.current)S.current.get(k.id)?.controller.abort(),k.url&&URL.revokeObjectURL(k.url)},[]);let Z=Re(k=>{k.currentTarget.files&&W(k.currentTarget.files),k.currentTarget.value=""},[W]);ra(()=>{if(!r)return;let k=z=>{z.dataTransfer?.types?.includes("Files")&&z.preventDefault()},O=z=>{z.dataTransfer?.types?.includes("Files")&&z.preventDefault(),z.dataTransfer?.files&&z.dataTransfer.files.length>0&&W(z.dataTransfer.files)};return document.addEventListener("dragover",k),document.addEventListener("drop",O),()=>{document.removeEventListener("dragover",k),document.removeEventListener("drop",O)}},[W,r]);let le=Re(async k=>{k.preventDefault();let O=k.currentTarget,z=new FormData(O).get("message")||"",j=new Map;for(;j.size<S.current.size;)await Promise.all([...S.current.entries()].filter(([N])=>!j.has(N)).map(async([N,M])=>{j.set(N,await M.done)}));for(let N of j.keys())S.current.has(N)||j.delete(N);if([...j.values()].some(N=>N===null)){U.current?.({code:"upload_failed",message:m.promptInput.uploadFailed});return}let Te=[...j.values()].filter(N=>N!==null),J=P.current?[]:I.current,ee=await Promise.all(J.map(async({id:N,status:M,progress:H,error:q,...V})=>{if(V.url?.startsWith("blob:")){let te=await Jd(V.url);return{...V,url:te??V.url}}return V}));try{let N=c({documents:Te,files:ee,text:z},k);N instanceof Promise&&await N,O.reset(),Ae()}catch{}},[c,Ae,m]),ie=Qd(()=>({add:W,clear:y,files:C,openFileDialog:A,remove:T,retry:Y,maxFileSize:n,maxPdfPages:s}),[C,W,T,Y,y,A,n,s]);return Fa(is.Provider,{value:ie,children:[we("input",{accept:t,"aria-label":m.promptInput.uploadFiles,className:"ww:hidden",multiple:a,onChange:Z,ref:x,title:m.promptInput.uploadFiles,type:"file"}),we("form",{className:b("ww:relative ww:flex ww:w-full ww:flex-col ww:rounded-lg ww:border ww:border-border ww:bg-background",e),onSubmit:le,ref:w,...p,children:f})]})},ss=1024*1024;function us(e,t){let a=e>=ss;return new Intl.NumberFormat(t,{style:"unit",unit:a?"megabyte":"kilobyte",maximumFractionDigits:0}).format(a?e/ss:Math.max(1,e/1024))}var ds=({onChange:e,onKeyDown:t,className:a,placeholder:r,...o})=>{let{t:n}=X(),s=Ma(),[i,l]=Xr(!1),u=r??n.promptInput.placeholder,d=Re(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]),c=Re(f=>{let p=f.clipboardData?.items;if(!p)return;let m=[];for(let L of p)if(L.kind==="file"){let x=L.getAsFile();x&&m.push(x)}m.length>0&&(f.preventDefault(),s.add(m))},[s]);return we("textarea",{className:b("ww:field-sizing-content ww:max-h-48 ww:min-h-0 ww:w-full ww:resize-none ww:border-0 ww:bg-transparent ww:px-3 ww:py-2 ww:text-base ww:sm:text-sm ww:outline-none ww:placeholder:text-muted-foreground",a),name:"message",onCompositionEnd:()=>l(!1),onCompositionStart:()=>l(!0),onKeyDown:d,onPaste:c,placeholder:u,onChange:e,...o})},cs=({className:e,status:t,onStop:a,onClick:r,children:o,...n})=>{let{t:s}=X(),i=t==="submitted"||t==="streaming",l=we(Gt,{className:"ww:size-4"});t==="submitted"?l=we(Qt,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(l=we(Jt,{className:"ww:size-4"}));let u=Re(d=>{if(i&&a){d.preventDefault(),a();return}r?.(d)},[i,a,r]);return we(Ve,{"aria-label":i?s.promptInput.stop:s.promptInput.submit,className:b("ww:bg-foreground ww:text-background ww:hover:bg-foreground ww:rounded-full",e),onClick:u,size:"icon-sm",type:i&&a?"button":"submit",variant:"ghost",...n,children:o??l})},fs=({className:e,children:t,...a})=>{let{t:r,locale:o}=X(),n=Ma();if(n.files.length>0)return Fa(Ve,{className:b("ww:group ww:relative",e),onClick:()=>n.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":r.promptInput.removeAttachments,...a,children:[we("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:n.files.length}),we(rt,{className:"ww:absolute ww:size-4 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100"})]});let i=n.maxFileSize?(n.maxPdfPages?r.promptInput.uploadFilesUpToWithPages.replace("{pages}",String(n.maxPdfPages)):r.promptInput.uploadFilesUpTo).replace("{limit}",us(n.maxFileSize,o)):r.promptInput.uploadFiles;return we(Ve,{"aria-label":i,className:b(e),title:i,onClick:()=>n.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??we(At,{className:"ww:size-4"})})},ps=({className:e,...t})=>{let a=Ma();return a.files.length===0?null:we("ul",{className:b("ww:flex ww:list-none ww:flex-wrap ww:gap-2 ww:p-0",e),...t,children:a.files.map(r=>we(Zd,{file:r},r.id))})};function Zd({file:e}){let{t}=X(),a=Ma(),r=e.status==="failed",o=e.status==="uploading";return Fa($r,{filename:e.filename??t.attachments.fileFallback,mediaType:e.mediaType??"",previewUrl:e.mediaType?.startsWith("image/")?e.url:void 0,subtitle:r?e.error:o?t.promptInput.uploading:void 0,tone:r?"error":"default",children:[r?we("button",{"aria-label":t.promptInput.retryUpload,className:"ww:ml-auto ww:shrink-0 ww:text-destructive ww:text-xs ww:underline ww:underline-offset-2",onClick:()=>a.retry(e.id),type:"button",children:t.promptInput.retry}):null,we("button",{"aria-label":t.promptInput.removeAttachment,className:b("ww:shrink-0 ww:rounded-full ww:p-1 ww:opacity-60 ww:transition-opacity hover:ww:bg-muted hover:ww:opacity-100",r?null:"ww:ml-auto"),onClick:()=>a.remove(e.id),type:"button",children:we(rt,{className:"ww:size-3.5"})}),o?we("span",{"aria-hidden":!0,className:"ww:absolute ww:bottom-0 ww:left-0 ww:h-0.5 ww:bg-primary ww:transition-[width] ww:duration-200",style:{width:`${Math.round(e.progress*100)}%`}}):null]})}var ms=({enabled:e=!0})=>{let{t}=X(),[a,r]=Xr(!1);return ra(()=>{if(!e)return;let o=0,n=u=>!!u.dataTransfer?.types?.includes("Files"),s=u=>{n(u)&&(o+=1,r(!0))},i=u=>{n(u)&&(o=Math.max(0,o-1),o===0&&r(!1))},l=()=>{o=0,r(!1)};return document.addEventListener("dragenter",s),document.addEventListener("dragleave",i),document.addEventListener("drop",l),()=>{document.removeEventListener("dragenter",s),document.removeEventListener("dragleave",i),document.removeEventListener("drop",l)}},[e]),e&&a?we("div",{className:"ww:pointer-events-none ww:absolute ww:inset-0 ww:z-50 ww:flex ww:items-center ww:justify-center ww:rounded-2xl ww:border-2 ww:border-primary ww:border-dashed ww:bg-background/85",children:Fa("span",{className:"ww:flex ww:items-center ww:gap-2 ww:text-sm ww:font-medium",children:[we(At,{className:"ww:size-4"}),t.promptInput.dropToAttach]})}):null};import{jsx as ec}from"react/jsx-runtime";function hs({text:e}){let{t}=X();return e===!1?null:ec("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{memo as tc,useCallback as ac}from"react";import{jsx as Dt}from"react/jsx-runtime";var gs=({className:e,...t})=>Dt("div",{className:b("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),ws=({className:e,...t})=>Dt("li",{className:b("ww:group ww:flex ww:items-center ww:gap-2 ww:rounded-md ww:px-2 ww:py-1 ww:text-sm ww:transition-colors ww:hover:bg-muted",e),...t}),xs=({className:e,...t})=>Dt("span",{className:b("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),Is=({className:e,...t})=>Dt("span",{className:b("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),Ls=({className:e,...t})=>Dt("div",{className:b("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),Cs=({className:e,...t})=>Dt(Ve,{className:b("ww:size-auto ww:rounded ww:p-1 ww:text-muted-foreground ww:hover:bg-muted-foreground/10 ww:hover:text-foreground",e),size:"icon",type:"button",variant:"ghost",...t});import{jsx as nt,jsxs as bs}from"react/jsx-runtime";var Ss=tc(({message:e,onRemove:t})=>{let{t:a}=X(),r=ac(()=>t(e.id),[t,e.id]);return bs(ws,{children:[nt(xs,{}),nt(Is,{children:e.text||a.chatQueue.attachmentFallback}),nt(Ls,{children:nt(Cs,{"aria-label":a.chatQueue.removeFromQueue,onClick:r,children:nt(rt,{className:"ww:size-3"})})})]})});Ss.displayName="ChatQueueItem";function ys({queuedMessages:e,onRemove:t,className:a}){let{t:r}=X();return e.length===0?null:bs(gs,{className:b("ww:border-t ww:border-border",a),children:[nt("div",{className:"ww:text-[11px] ww:font-medium ww:text-muted-foreground ww:px-2",children:r.chatQueue.queued(e.length)}),nt("ul",{children:e.map(o=>nt(Ss,{message:o,onRemove:t},o.id))})]})}import{createContext as cc,useCallback as fc,useContext as pc,useEffect as mc,useMemo as hc,useState as Yr}from"react";import{createContext as rc,memo as Jr,useCallback as oc,useContext as nc,useEffect as Kr,useMemo as sc,useRef as ks,useState as Qr}from"react";import{Fragment as uc,jsx as He,jsxs as dc}from"react/jsx-runtime";var Ts=rc(null);function vs(){let e=nc(Ts);if(!e)throw new Error("Reasoning components must be used within <Reasoning>");return e}var ic=1e3,lc=1e3,oa=Jr(({className:e,isStreaming:t=!1,open:a,defaultOpen:r,onOpenChange:o,duration:n,children:s,...i})=>{let l=r??t,u=r===!1,d=a!==void 0,[c,f]=Qr(l),p=d?a:c,m=oc(U=>{d||f(U),o?.(U)},[d,o]),[L,x]=Qr(void 0),w=n??L,C=ks(t),[h,I]=Qr(!1),S=ks(null);Kr(()=>{t?(C.current=!0,S.current===null&&(S.current=Date.now())):S.current!==null&&(x(Math.ceil((Date.now()-S.current)/lc)),S.current=null)},[t]),Kr(()=>{t&&!p&&!u&&m(!0)},[t,p,u,m]),Kr(()=>{if(C.current&&!t&&p&&!h){let U=setTimeout(()=>{m(!1),I(!0)},ic);return()=>clearTimeout(U)}},[t,p,h,m]);let P=sc(()=>({isStreaming:t,isOpen:p,setIsOpen:m,duration:w}),[t,p,m,w]);return He(Ts.Provider,{value:P,children:He("div",{className:b("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})})});oa.displayName="Reasoning";var na=Jr(({className:e,children:t,getThinkingMessage:a,hideIcon:r=!1,onClick:o,...n})=>{let{t:s}=X(),{isStreaming:i,isOpen:l,duration:u,setIsOpen:d}=vs(),f=a??((p,m)=>p||m===0?He(Ne,{duration:1.6,children:s.reasoning.thinking}):m===void 0?He("span",{children:s.reasoning.thoughtBrief}):He("span",{children:s.reasoning.thoughtForSeconds(m)}));return He("button",{type:"button","aria-expanded":l,onClick:p=>{d(!l),o?.(p)},className:b("ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),...n,children:t??dc(uc,{children:[!r&&He(Qe,{className:"ww:size-4 ww:shrink-0"}),f(i,u)]})})});na.displayName="ReasoningTrigger";var sa=Jr(({className:e,children:t,...a})=>{let{isOpen:r}=vs();return He("div",{className:b("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:He("div",{className:"ww:min-h-0 ww:overflow-hidden",children:He("div",{className:b("ww:text-sm ww:text-muted-foreground",e),...a,children:He(qt,{children:t})})})})});sa.displayName="ReasoningContent";import{jsx as se,jsxs as st}from"react/jsx-runtime";var gc=500,Ps=cc(null);function As(){let e=pc(Ps);if(!e)throw new Error("ChainOfThought components must be used within <ChainOfThought>");return e}function Rs({className:e,isWorking:t=!1,activeStep:a,open:r,defaultOpen:o=!1,onOpenChange:n,children:s,...i}){let l=r!==void 0,[u,d]=Yr(o),c=l?r:u,f=fc(x=>{l||d(x),n?.(x)},[l,n]),[p,m]=Yr(!t);mc(()=>{if(t){m(!1);return}let x=setTimeout(()=>m(!0),gc);return()=>clearTimeout(x)},[t]);let L=hc(()=>({open:c,setOpen:f,isWorking:t,settled:p,activeStep:a}),[c,f,t,p,a]);return se(Ps.Provider,{value:L,children:se("div",{className:b("ww:mb-4 ww:flex ww:flex-col ww:gap-2",e),"data-state":c?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...i,children:s})})}function Ms({className:e,label:t,workingLabel:a,children:r,...o}){let{open:n,setOpen:s,isWorking:i,settled:l,activeStep:u}=As();if(!l){let d=u?.icon,c=u?.label??a??t??"";return se("div",{className:b("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:st("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:[d&&se(d,{className:b("ww:size-4 ww:shrink-0",i&&"ww:animate-pulse")}),se("span",{className:"ww:truncate",children:i?se(Ne,{duration:2.6,children:c}):c})]},c)})}return st("button",{type:"button",onClick:()=>s(!n),"aria-expanded":n,className:b("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:[se("span",{className:"ww:truncate",children:r??t}),se(at,{className:b("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",n&&"ww:rotate-180")})]})}function Fs({className:e,children:t,...a}){let{open:r}=As();return se("div",{className:b("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:se("div",{className:"ww:min-h-0 ww:overflow-hidden",children:se("div",{className:b("ww:flex ww:flex-col",e),...a,children:t})})})}function Ds({icon:e,isLast:t,running:a,error:r}){return st("div",{className:"ww:flex ww:flex-col ww:items-center ww:self-stretch",children:[se("span",{className:"ww:flex ww:h-5 ww:items-center",children:se(e,{className:b("ww:size-4 ww:shrink-0",r?"ww:text-destructive":a?"ww:animate-pulse ww:text-foreground":"ww:text-muted-foreground")})}),!t&&se("span",{className:"ww:w-px ww:flex-1 ww:bg-border"})]})}function Zr({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,[d,c]=Yr(!1),f=a??"",p=i?se(Ne,{duration:1.6,children:f}):se("span",{className:"ww:truncate",children:f});return st("div",{className:b("ww:flex ww:gap-2",e),...s,children:[se(Ds,{icon:t,isLast:o,running:i,error:l}),st("div",{className:b("ww:min-w-0 ww:flex-1",!o&&"ww:pb-3"),children:[u?st("button",{type:"button",onClick:()=>c(m=>!m),"aria-expanded":d,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,se(at,{className:b("ww:size-3.5 ww:shrink-0 ww:transition-transform ww:duration-200",d&&"ww:rotate-180")})]}):se("div",{className:"ww:flex ww:items-center ww:text-sm ww:text-muted-foreground",children:p}),u&&se("div",{className:b("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",d?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:se("div",{className:"ww:min-h-0 ww:overflow-hidden",children:se("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 Es({isStreaming:e=!1,isLast:t=!1,children:a}){return st("div",{className:"ww:flex ww:gap-2",children:[se(Ds,{icon:Qe,isLast:t,running:e}),se("div",{className:b("ww:min-w-0 ww:flex-1",!t&&"ww:pb-3"),children:st(oa,{isStreaming:e,className:"ww:mb-0",children:[se(na,{hideIcon:!0}),se(sa,{children:a})]})})]})}var be={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 ze={attentionSideAfter:2,attentionSideBefore:1,atxHeadingOpeningFenceSizeMax:6,autolinkDomainSizeMax:63,autolinkSchemeSizeMax:32,cdataOpeningString:"CDATA[",characterGroupPunctuation:2,characterGroupWhitespace:1,characterReferenceDecimalSizeMax:7,characterReferenceHexadecimalSizeMax:6,characterReferenceNamedSizeMax:31,codeFencedSequenceSizeMin:3,contentTypeContent:"content",contentTypeDocument:"document",contentTypeFlow:"flow",contentTypeString:"string",contentTypeText:"text",hardBreakPrefixSizeMin:2,htmlBasic:6,htmlCdata:5,htmlComment:2,htmlComplete:7,htmlDeclaration:4,htmlInstruction:3,htmlRawSizeMax:8,htmlRaw:1,linkResourceDestinationBalanceMax:32,linkReferenceSizeMax:999,listItemValueSizeMax:10,numericBaseDecimal:10,numericBaseHexadecimal:16,tabSize:4,thematicBreakMarkerCountMin:3,v8MaxSafeChunkSize:1e4};var Me={data:"data",whitespace:"whitespace",lineEnding:"lineEnding",lineEndingBlank:"lineEndingBlank",linePrefix:"linePrefix",lineSuffix:"lineSuffix",atxHeading:"atxHeading",atxHeadingSequence:"atxHeadingSequence",atxHeadingText:"atxHeadingText",autolink:"autolink",autolinkEmail:"autolinkEmail",autolinkMarker:"autolinkMarker",autolinkProtocol:"autolinkProtocol",characterEscape:"characterEscape",characterEscapeValue:"characterEscapeValue",characterReference:"characterReference",characterReferenceMarker:"characterReferenceMarker",characterReferenceMarkerNumeric:"characterReferenceMarkerNumeric",characterReferenceMarkerHexadecimal:"characterReferenceMarkerHexadecimal",characterReferenceValue:"characterReferenceValue",codeFenced:"codeFenced",codeFencedFence:"codeFencedFence",codeFencedFenceSequence:"codeFencedFenceSequence",codeFencedFenceInfo:"codeFencedFenceInfo",codeFencedFenceMeta:"codeFencedFenceMeta",codeFlowValue:"codeFlowValue",codeIndented:"codeIndented",codeText:"codeText",codeTextData:"codeTextData",codeTextPadding:"codeTextPadding",codeTextSequence:"codeTextSequence",content:"content",definition:"definition",definitionDestination:"definitionDestination",definitionDestinationLiteral:"definitionDestinationLiteral",definitionDestinationLiteralMarker:"definitionDestinationLiteralMarker",definitionDestinationRaw:"definitionDestinationRaw",definitionDestinationString:"definitionDestinationString",definitionLabel:"definitionLabel",definitionLabelMarker:"definitionLabelMarker",definitionLabelString:"definitionLabelString",definitionMarker:"definitionMarker",definitionTitle:"definitionTitle",definitionTitleMarker:"definitionTitleMarker",definitionTitleString:"definitionTitleString",emphasis:"emphasis",emphasisSequence:"emphasisSequence",emphasisText:"emphasisText",escapeMarker:"escapeMarker",hardBreakEscape:"hardBreakEscape",hardBreakTrailing:"hardBreakTrailing",htmlFlow:"htmlFlow",htmlFlowData:"htmlFlowData",htmlText:"htmlText",htmlTextData:"htmlTextData",image:"image",label:"label",labelText:"labelText",labelLink:"labelLink",labelImage:"labelImage",labelMarker:"labelMarker",labelImageMarker:"labelImageMarker",labelEnd:"labelEnd",link:"link",paragraph:"paragraph",reference:"reference",referenceMarker:"referenceMarker",referenceString:"referenceString",resource:"resource",resourceDestination:"resourceDestination",resourceDestinationLiteral:"resourceDestinationLiteral",resourceDestinationLiteralMarker:"resourceDestinationLiteralMarker",resourceDestinationRaw:"resourceDestinationRaw",resourceDestinationString:"resourceDestinationString",resourceMarker:"resourceMarker",resourceTitle:"resourceTitle",resourceTitleMarker:"resourceTitleMarker",resourceTitleString:"resourceTitleString",setextHeading:"setextHeading",setextHeadingText:"setextHeadingText",setextHeadingLine:"setextHeadingLine",setextHeadingLineSequence:"setextHeadingLineSequence",strong:"strong",strongSequence:"strongSequence",strongText:"strongText",thematicBreak:"thematicBreak",thematicBreakSequence:"thematicBreakSequence",blockQuote:"blockQuote",blockQuotePrefix:"blockQuotePrefix",blockQuoteMarker:"blockQuoteMarker",blockQuotePrefixWhitespace:"blockQuotePrefixWhitespace",listOrdered:"listOrdered",listUnordered:"listUnordered",listItemIndent:"listItemIndent",listItemMarker:"listItemMarker",listItemPrefix:"listItemPrefix",listItemPrefixWhitespace:"listItemPrefixWhitespace",listItemValue:"listItemValue",chunkDocument:"chunkDocument",chunkContent:"chunkContent",chunkFlow:"chunkFlow",chunkText:"chunkText",chunkString:"chunkString"};function Bs(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 _s(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function Us(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 Os(e){return Bs(e)?"ambiguous":_s(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":Us(e)?"wide":"neutral"}function wc(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function Ns(e){return wc(e),Os(e)}var xc=Object.defineProperty,Ic=(e,t,a)=>t in e?xc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Lc=(e,t,a)=>Ic(e,typeof t!="symbol"?t+"":t,a);function Cc(e){return/^\p{Emoji_Presentation}/u.test(String.fromCodePoint(e))}function Sc(e){if(!e||e<4352)return!1;switch(Ns(e)){case"fullwidth":case"halfwidth":return!0;case"wide":return!Cc(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 yc(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function bc(e){return e!==null&&e>=65024&&e<=65038}var kc=Hs(/\p{P}|\p{S}/u),Tc=Hs(/\s/);function Hs(e){return t;function t(a){return a!==null&&a>-1&&e.test(String.fromCodePoint(a))}}var Fe;(e=>{e.spaceOrPunctuation=3,e.cjk=4096,e.cjkPunctuation=4098,e.ivs=8192,e.cjkOrIvs=12288,e.nonEmojiGeneralUseVS=16384,e.variationSelector=24576,e.ivsToCjkRightShift=1})(Fe||(Fe={}));function it(e){if(e===be.eof||vn(e)||Tc(e))return ze.characterGroupWhitespace;let t=0;if(e>=4352){if(bc(e))return Fe.nonEmojiGeneralUseVS;switch(Sc(e)){case null:return Fe.ivs;case!0:t|=Fe.cjk;break}}return kc(e)&&(t|=ze.characterGroupPunctuation),t}function Da(e,t,a){if(!Pc(e))return e;let r=t(),o=it(r);return!r||ht(o)?e:yc(r,a)?Fe.cjkPunctuation:vc(o)}function vc(e){return e&~Fe.ivs}function ht(e){return!!(e&ze.characterGroupWhitespace)}function Et(e){return(e&Fe.cjkPunctuation)===ze.characterGroupPunctuation}function ia(e){return!!(e&Fe.cjk)}function qs(e){return e===Fe.ivs}function Ws(e){return!!(e&Fe.cjkOrIvs)}function Pc(e){return e===Fe.nonEmojiGeneralUseVS}function eo(e){return!!(e&Fe.spaceOrPunctuation)}function Ea(e){return!!(e&&e>=55296&&e<=56319)}function Ba(e){return!!(e&&e>=56320&&e<=57343)}function _a(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 Ac(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 Ua=class{constructor(e,t,a){this.previousCode=e,this.nowPoint=t,this.sliceSerialize=a,Lc(this,"cachedValue")}value(){return this.cachedValue===void 0&&(this.cachedValue=Ac(this.previousCode,this.nowPoint,this.sliceSerialize)),this.cachedValue}};function Oa(e,t,a){let r=a({start:t,end:{...t,_bufferIndex:t._bufferIndex+2}}).codePointAt(0);return r&&r>=65536?r:e}var to={name:"attention",resolveAll:Rc,tokenize:Mc};function Rc(e,t){let a=-1,r,o,n,s,i,l,u,d;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 c={...e[r][1].end},f={...e[a][1].start};Gs(c,-l),Gs(f,l),s={type:l>1?Me.strongSequence:Me.emphasisSequence,start:c,end:{...e[r][1].end}},i={type:l>1?Me.strongSequence:Me.emphasisSequence,start:{...e[a][1].start},end:f},n={type:l>1?Me.strongText:Me.emphasisText,start:{...e[r][1].end},end:{...e[a][1].start}},o={type:l>1?Me.strong:Me.emphasis,start:{...s.start},end:{...i.end}},e[r][1].end={...s.start},e[a][1].start={...i.end},u=[],e[r][1].end.offset-e[r][1].start.offset&&(u=kt(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=kt(u,[["enter",o,t],["enter",s,t],["exit",s,t],["enter",n,t]]),t.parser.constructs.insideSpan.null,u=kt(u,Pa(t.parser.constructs.insideSpan.null,e.slice(r+1,a),t)),u=kt(u,[["exit",n,t],["enter",i,t],["exit",i,t],["exit",o,t]]),e[a][1].end.offset-e[a][1].start.offset?(d=2,u=kt(u,[["enter",e[a][1],t],["exit",e[a][1],t]])):d=0,bt(e,r-1,a-r+3,u),a=r+u.length-d-2;break}}for(a=-1;++a<e.length;)e[a][1].type==="attentionSequence"&&(e[a][1].type="data");return e}function Mc(e,t){let a=this.parser.constructs.attentionMarkers.null,{now:r,sliceSerialize:o,previous:n}=this,s=Ba(n)?_a(n,r(),o):n,i=it(s),l=new Ua(s,r(),o),u=Da(i,l.value.bind(l),s),d;return c;function c(p){return p===be.asterisk||be.underscore,d=p,e.enter("attentionSequence"),f(p)}function f(p){if(p===d)return e.consume(p),f;let m=e.exit("attentionSequence"),L=Ea(p)?Oa(p,r(),o):p,x=it(L);let w=Et(u),C=w||ht(u),h=Et(x),I=h||ht(x),S=Ws(u),P=!I||h&&(C||S)||a.includes(p),U=!C||w&&(I||ia(x))||a.includes(s);return m._open=!!(d===be.asterisk?P:P&&(eo(u)||!U)),m._close=!!(d===be.asterisk?U:U&&(eo(x)||!P)),t(p)}}function Gs(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function Vs(){return{text:{[be.asterisk]:to,[be.underscore]:to},insideSpan:{null:[to]}}}function zs(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(Vs())}function js(e){let a=(e||{}).singleTilde,r={name:"strikethrough",tokenize:n,resolveAll:o};return a==null&&(a=!0),{text:{[be.tilde]:r},insideSpan:{null:[r]},attentionMarkers:{null:[be.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 d={type:"strikethrough",start:Object.assign({},s[u][1].start),end:Object.assign({},s[l][1].end)},c={type:"strikethroughText",start:Object.assign({},s[u][1].end),end:Object.assign({},s[l][1].start)},f=[["enter",d,i],["enter",s[u][1],i],["exit",s[u][1],i],["enter",c,i]],p=i.parser.constructs.insideSpan.null;p&&bt(f,f.length,0,Pa(p,s.slice(u+1,l),i)),bt(f,f.length,0,[["exit",c,i],["enter",s[l][1],i],["exit",s[l][1],i],["exit",d,i]]),bt(s,u-1,l-u+3,f),l=u+f.length-2;break}}for(l=-1;++l<s.length;)s[l][1].type==="strikethroughSequenceTemporary"&&(s[l][1].type=Me.data);return s}function n(s,i,l){let{now:u,sliceSerialize:d,previous:c}=this,f=Ba(c)?_a(c,u(),d):c,p=it(f),m=new Ua(f,u(),d),L=Da(p,m.value.bind(m),f),x=this.events,w=0;return C;function C(I){return be.tilde,f===be.tilde&&x[x.length-1][1].type!==Me.characterEscape?l(I):(s.enter("strikethroughSequenceTemporary"),h(I))}function h(I){let S=it(f);if(I===be.tilde)return w>1?l(I):(s.consume(I),w++,h);if(w<2&&!a)return l(I);let P=s.exit("strikethroughSequenceTemporary"),U=Ea(I)?Oa(I,u(),d):I,E=it(U),A=Et(L)||ht(L),_=Et(E)||ht(E),W=ia(L)||qs(S);return P._open=!_||E===ze.attentionSideAfter&&(A||W),P._close=!A||S===ze.attentionSideAfter&&(_||ia(E)),i(I)}}}function $s(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(js(e))}var Fc=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),Dc=/^(https?:\/\/|mailto:|www\.)/i,Ec=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},Bc=e=>{let t=0;for(let a of e){if(Fc.has(a))return t;t+=a.length}return null},_c=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),Uc=e=>({type:"text",value:e}),Oc=()=>e=>{Ln(e,"link",(t,a,r)=>{if(!r||typeof a!="number"||!Ec(t)||!Dc.test(t.url))return;let o=Bc(t.url);if(o===null||o===0)return;let n=t.url.slice(0,o),s=t.url.slice(o),i=_c(n,t),l=Uc(s);return r.children.splice(a,1,i,l),a+1})};function Nc(){let e=[zs],t=[Oc,$s],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var ao=Nc();var ue=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Hc(e){return po(e)}function po(e){return Array.isArray(e)?qc(e):e instanceof RegExp?e:typeof e=="object"?Wc(e):e}function qc(e){let t=[];for(let a=0,r=e.length;a<r;a++)t[a]=po(e[a]);return t}function Wc(e){let t={};for(let a in e)t[a]=po(e[a]);return t}function ai(e,...t){return t.forEach(a=>{for(let r in a)e[r]=a[r]}),e}function ri(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?ri(e.substring(0,e.length-1)):e.substr(~t+1)}var ro=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,Na=class{static hasCaptures(e){return e===null?!1:(ro.lastIndex=0,ro.test(e))}static replaceCaptures(e,t,a){return e.replace(ro,(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 oi(e,t){return e<t?-1:e>t?1:0}function ni(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=oi(e[o],t[o]);if(n!==0)return n}return 0}return a-r}function Xs(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 si(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var ii=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}},da=class{constructor(e,t,a){this._colorMap=e,this._defaults=t,this._root=a}static createFromRawTheme(e,t){return this.createFromParsedTheme(zc(e),t)}static createFromParsedTheme(e,t){return $c(e,t)}_cachedMatchRoot=new ii(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=>Gc(e.parent,o.parentScopes));return r?new li(r.fontStyle,r.foreground,r.background):null}},oo=class Ha{constructor(t,a){this.parent=t,this.scopeName=a}static push(t,a){for(let r of a)t=new Ha(t,r);return t}static from(...t){let a=null;for(let r=0;r<t.length;r++)a=new Ha(a,t[r]);return a}push(t){return new Ha(this,t)}getSegments(){let t=this,a=[];for(;t;)a.push(t.scopeName),t=t.parent;return a.reverse(),a}toString(){return this.getSegments().join(" ")}extends(t){return this===t?!0:this.parent===null?!1:this.parent.extends(t)}getExtensionIfDefined(t){let a=[],r=this;for(;r&&r!==t;)a.push(r.scopeName),r=r.parent;return r===t?a.reverse():void 0}};function Gc(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&&!Vc(e.scopeName,r);){if(o)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function Vc(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var li=class{constructor(e,t,a){this.fontStyle=e,this.foregroundId=t,this.backgroundId=a}};function zc(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 c=s.scope;c=c.replace(/^[,]+/,""),c=c.replace(/[,]+$/,""),i=c.split(",")}else Array.isArray(s.scope)?i=s.scope:i=[""];let l=-1;if(typeof s.settings.fontStyle=="string"){l=0;let c=s.settings.fontStyle.split(" ");for(let f=0,p=c.length;f<p;f++)switch(c[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"&&Xs(s.settings.foreground)&&(u=s.settings.foreground);let d=null;typeof s.settings.background=="string"&&Xs(s.settings.background)&&(d=s.settings.background);for(let c=0,f=i.length;c<f;c++){let m=i[c].trim().split(" "),L=m[m.length-1],x=null;m.length>1&&(x=m.slice(0,m.length-1),x.reverse()),a[r++]=new jc(L,x,o,l,u,d)}}return a}var jc=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}},ke=(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))(ke||{});function $c(e,t){e.sort((l,u)=>{let d=oi(l.scope,u.scope);return d!==0||(d=ni(l.parentScopes,u.parentScopes),d!==0)?d: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 Xc(t),s=new li(a,n.getId(r),n.getId(o)),i=new Qc(new so(0,null,-1,0,0),[]);for(let l=0,u=e.length;l<u;l++){let d=e[l];i.insert(0,d.scope,d.parentScopes,d.fontStyle,n.getId(d.foreground),n.getId(d.background))}return new da(n,s,i)}var Xc=class{_isFrozen;_lastColorId;_id2color;_color2id;constructor(e){if(this._lastColorId=0,this._id2color=[],this._color2id=Object.create(null),Array.isArray(e)){this._isFrozen=!0;for(let t=0,a=e.length;t<a;t++)this._color2id[e[t]]=t,this._id2color[t]=e[t]}else this._isFrozen=!1}getId(e){if(e===null)return 0;e=e.toUpperCase();let t=this._color2id[e];if(t)return t;if(this._isFrozen)throw new Error(`Missing color in color map - ${e}`);return t=++this._lastColorId,this._color2id[e]=t,this._id2color[t]=e,t}getColorMap(){return this._id2color.slice(0)}},Kc=Object.freeze([]),so=class ui{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,r,o,n){this.scopeDepth=t,this.parentScopes=a||Kc,this.fontStyle=r,this.foreground=o,this.background=n}clone(){return new ui(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)}},Qc=class io{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(io._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 d;this._children.hasOwnProperty(l)?d=this._children[l]:(d=new io(this._mainRule.clone(),so.cloneArr(this._rulesWithParentScopes)),this._children[l]=d),d.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(ni(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 so(t,a,r,o,n))}},wt=class Ue{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){let a=Ue.getLanguageId(t),r=Ue.getTokenType(t),o=Ue.getFontStyle(t),n=Ue.getForeground(t),s=Ue.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=Ue.getLanguageId(t),u=Ue.getTokenType(t),d=Ue.containsBalancedBrackets(t)?1:0,c=Ue.getFontStyle(t),f=Ue.getForeground(t),p=Ue.getBackground(t);return a!==0&&(l=a),r!==8&&(u=r),o!==null&&(d=o?1:0),n!==-1&&(c=n),s!==0&&(f=s),i!==0&&(p=i),(l<<0|u<<8|d<<10|c<<11|f<<15|p<<24)>>>0}};function Wa(e,t){let a=[],r=Jc(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(Ks(o)){let l=[];do l.push(o),o=r.next();while(Ks(o));return u=>t(l,u)}return null}function s(){let l=[],u=n();for(;u;)l.push(u),u=n();return d=>l.every(c=>c(d))}function i(){let l=[],u=s();for(;u&&(l.push(u),o==="|"||o===",");){do o=r.next();while(o==="|"||o===",");u=s()}return d=>l.some(c=>c(d))}}function Ks(e){return!!e&&!!e.match(/[\w\.:]+/)}function Jc(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 di(e){typeof e.dispose=="function"&&e.dispose()}var ca=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},Yc=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},Zc=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))}},ef=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new ca(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new Zc;for(let a of e)tf(a,this.initialScopeName,this.repo,t);for(let a of t.references)if(a instanceof ca){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 tf(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 ca?qa({baseGrammar:n,selfGrammar:o},r):lo(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 ca(i))}function lo(e,t,a){if(t.repository&&t.repository[e]){let r=t.repository[e];Ga([r],t,a)}}function qa(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&Ga(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&Ga(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function Ga(e,t,a){for(let r of e){if(a.visitedRule.has(r))continue;a.visitedRule.add(r);let o=r.repository?ai({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&Ga(r.patterns,{...t,repository:o},a);let n=r.include;if(!n)continue;let s=ci(n);switch(s.kind){case 0:qa({...t,selfGrammar:t.baseGrammar},a);break;case 1:qa(t,a);break;case 2:lo(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?lo(s.ruleName,l,a):qa(l,a)}else s.kind===4?a.add(new Yc(s.scopeName,s.ruleName)):a.add(new ca(s.scopeName));break}}}var af=class{kind=0},rf=class{kind=1},of=class{constructor(e){this.ruleName=e}kind=2},nf=class{constructor(e){this.scopeName=e}kind=3},sf=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function ci(e){if(e==="$base")return new af;if(e==="$self")return new rf;let t=e.indexOf("#");if(t===-1)return new nf(e);if(t===0)return new of(e.substring(1));{let a=e.substring(0,t),r=e.substring(t+1);return new sf(a,r)}}var lf=/\\(\d+)/,Qs=/\\(\d+)/g;var uf=-1,fi=-2;var ma=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,a,r){this.$location=e,this.id=t,this._name=a||null,this._nameIsCapturing=Na.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=Na.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${ri(this.$location.filename)}:${this.$location.line}`:"unknown";return`${this.constructor.name}#${this.id} @ ${e}`}getName(e,t){return!this._nameIsCapturing||this._name===null||e===null||t===null?this._name:Na.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:Na.replaceCaptures(this._contentName,e,t)}},df=class extends ma{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!")}},cf=class extends ma{_match;captures;_cachedCompiledPatterns;constructor(e,t,a,r,o){super(e,t,a,null),this._match=new fa(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 pa,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Js=class extends ma{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 pa,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},uo=class extends ma{_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 fa(o,this.id),this.beginCaptures=n,this._end=new fa(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 pa;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}},Va=class extends ma{_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 fa(o,this.id),this.beginCaptures=n,this.whileCaptures=i,this._while=new fa(s,fi),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 pa;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 pa,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},pi=class Pe{static createCaptureRule(t,a,r,o,n){return t.registerRule(s=>new df(a,s,r,o,n))}static getCompiledRuleId(t,a,r){return t.id||a.registerRule(o=>{if(t.id=o,t.match)return new cf(t.$vscodeTextmateLocation,t.id,t.name,t.match,Pe._compileCaptures(t.captures,a,r));if(typeof t.begin>"u"){t.repository&&(r=ai({},r,t.repository));let n=t.patterns;return typeof n>"u"&&t.include&&(n=[{include:t.include}]),new Js(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,Pe._compilePatterns(n,a,r))}return t.while?new Va(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,Pe._compileCaptures(t.beginCaptures||t.captures,a,r),t.while,Pe._compileCaptures(t.whileCaptures||t.captures,a,r),Pe._compilePatterns(t.patterns,a,r)):new uo(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,Pe._compileCaptures(t.beginCaptures||t.captures,a,r),t.end,Pe._compileCaptures(t.endCaptures||t.captures,a,r),t.applyEndPatternLast,Pe._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=Pe.getCompiledRuleId(t[s],a,r)),o[i]=Pe.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=ci(i.include);switch(u.kind){case 0:case 1:l=Pe.getCompiledRuleId(r[i.include],a,r);break;case 2:let d=r[u.ruleName];d&&(l=Pe.getCompiledRuleId(d,a,r));break;case 3:case 4:let c=u.scopeName,f=u.kind===4?u.ruleName:null,p=a.getExternalGrammar(c,r);if(p)if(f){let m=p.repository[f];m&&(l=Pe.getCompiledRuleId(m,a,p.repository))}else l=Pe.getCompiledRuleId(p.repository.$self,a,p.repository);break}}else l=Pe.getCompiledRuleId(i,a,r);if(l!==-1){let u=a.getRule(l),d=!1;if((u instanceof Js||u instanceof uo||u instanceof Va)&&u.hasMissingPatterns&&u.patterns.length===0&&(d=!0),d)continue;o.push(l)}}return{patterns:o,hasMissingPatterns:(t?t.length:0)!==o.length}}},fa=class mi{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=lf.test(this.source):this.hasBackReferences=!1}clone(){return new mi(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 Qs.lastIndex=0,this.source.replace(Qs,(o,n)=>si(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}},pa=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 Ys(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 Ys(e,r,this._items.map(o=>o.ruleId))}},Ys=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(`
5
- `)}findNextMatchSync(e,t,a){let r=this.scanner.findNextMatchSync(e,t,a);return r?{ruleId:this.rules[r.index],captureIndices:r.captureIndices}:null}},no=class{constructor(e,t){this.languageId=e,this.tokenType=t}},ff=class co{_defaultAttributes;_embeddedLanguagesMatcher;constructor(t,a){this._defaultAttributes=new no(t,8),this._embeddedLanguagesMatcher=new pf(Object.entries(a||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?co._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new no(0,0);_getBasicScopeAttributes=new ii(t=>{let a=this._scopeToLanguage(t),r=this._toStandardTokenType(t);return new no(a,r)});_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){let a=t.match(co.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/},pf=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])=>si(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])}},jL={InDebugMode:typeof process<"u"&&!!process.env.VSCODE_TEXTMATE_DEBUG},hi=!1,Zs=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function gi(e,t,a,r,o,n,s,i){let l=t.content.length,u=!1,d=-1;if(s){let p=mf(e,t,a,r,o,n);o=p.stack,r=p.linePos,a=p.isFirstLine,d=p.anchorPosition}let c=Date.now();for(;!u;){if(i!==0&&Date.now()-c>i)return new Zs(o,!0);f()}return new Zs(o,!1);function f(){let p=hf(e,t,a,r,o,d);if(!p){n.produce(o,l),u=!0;return}let m=p.captureIndices,L=p.matchedRuleId,x=m&&m.length>0?m[0].end>r:!1;if(L===uf){let w=o.getRule(e);n.produce(o,m[0].start),o=o.withContentNameScopesList(o.nameScopesList),la(e,t,a,o,n,w.endCaptures,m),n.produce(o,m[0].end);let C=o;if(o=o.parent,d=C.getAnchorPos(),!x&&C.getEnterPos()===r){o=C,n.produce(o,l),u=!0;return}}else{let w=e.getRule(L);n.produce(o,m[0].start);let C=o,h=w.getName(t.content,m),I=o.contentNameScopesList.pushAttributed(h,e);if(o=o.push(L,r,d,m[0].end===l,null,I,I),w instanceof uo){let S=w;la(e,t,a,o,n,S.beginCaptures,m),n.produce(o,m[0].end),d=m[0].end;let P=S.getContentName(t.content,m),U=I.pushAttributed(P,e);if(o=o.withContentNameScopesList(U),S.endHasBackReferences&&(o=o.withEndRule(S.getEndWithResolvedBackReferences(t.content,m))),!x&&C.hasSameRuleAs(o)){o=o.pop(),n.produce(o,l),u=!0;return}}else if(w instanceof Va){let S=w;la(e,t,a,o,n,S.beginCaptures,m),n.produce(o,m[0].end),d=m[0].end;let P=S.getContentName(t.content,m),U=I.pushAttributed(P,e);if(o=o.withContentNameScopesList(U),S.whileHasBackReferences&&(o=o.withEndRule(S.getWhileWithResolvedBackReferences(t.content,m))),!x&&C.hasSameRuleAs(o)){o=o.pop(),n.produce(o,l),u=!0;return}}else if(la(e,t,a,o,n,w.captures,m),n.produce(o,m[0].end),o=o.pop(),!x){o=o.safePop(),n.produce(o,l),u=!0;return}}m[0].end>r&&(r=m[0].end,a=!1)}}function mf(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 Va&&i.push({rule:u,stack:l})}for(let l=i.pop();l;l=i.pop()){let{ruleScanner:u,findOptions:d}=xf(l.rule,e,l.stack.endRule,a,r===s),c=u.findNextMatchSync(t,r,d);if(c){if(c.ruleId!==fi){o=l.stack.pop();break}c.captureIndices&&c.captureIndices.length&&(n.produce(l.stack,c.captureIndices[0].start),la(e,t,a,l.stack,n,l.rule.whileCaptures,c.captureIndices),n.produce(l.stack,c.captureIndices[0].end),s=c.captureIndices[0].end,c.captureIndices[0].end>r&&(r=c.captureIndices[0].end,a=!1))}else{o=l.stack.pop();break}}return{stack:o,linePos:r,anchorPosition:s,isFirstLine:a}}function hf(e,t,a,r,o,n){let s=gf(e,t,a,r,o,n),i=e.getInjections();if(i.length===0)return s;let l=wf(i,e,t,a,r,o,n);if(!l)return s;if(!s)return l;let u=s.captureIndices[0].start,d=l.captureIndices[0].start;return d<u||l.priorityMatch&&d===u?l:s}function gf(e,t,a,r,o,n){let s=o.getRule(e),{ruleScanner:i,findOptions:l}=wi(s,e,o.endRule,a,r===n),u=i.findNextMatchSync(t,r,l);return u?{captureIndices:u.captureIndices,matchedRuleId:u.ruleId}:null}function wf(e,t,a,r,o,n,s){let i=Number.MAX_VALUE,l=null,u,d=0,c=n.contentNameScopesList.getScopeNames();for(let f=0,p=e.length;f<p;f++){let m=e[f];if(!m.matcher(c))continue;let L=t.getRule(m.ruleId),{ruleScanner:x,findOptions:w}=wi(L,t,null,r,o===s),C=x.findNextMatchSync(a,o,w);if(!C)continue;let h=C.captureIndices[0].start;if(!(h>=i)&&(i=h,l=C.captureIndices,u=C.ruleId,d=m.priority,i===o))break}return l?{priorityMatch:d===-1,captureIndices:l,matchedRuleId:u}:null}function wi(e,t,a,r,o){if(hi){let s=e.compile(t,a),i=xi(r,o);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileAG(t,a,r,o),findOptions:0}}function xf(e,t,a,r,o){if(hi){let s=e.compileWhile(t,a),i=xi(r,o);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileWhileAG(t,a,r,o),findOptions:0}}function xi(e,t){let a=0;return e||(a|=1),t||(a|=4),a}function la(e,t,a,r,o,n,s){if(n.length===0)return;let i=t.content,l=Math.min(n.length,s.length),u=[],d=s[0].end;for(let c=0;c<l;c++){let f=n[c];if(f===null)continue;let p=s[c];if(p.length===0)continue;if(p.start>d)break;for(;u.length>0&&u[u.length-1].endPos<=p.start;)o.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop();if(u.length>0?o.produceFromScopes(u[u.length-1].scopes,p.start):o.produce(r,p.start),f.retokenizeCapturedWithRuleId){let L=f.getName(i,s),x=r.contentNameScopesList.pushAttributed(L,e),w=f.getContentName(i,s),C=x.pushAttributed(w,e),h=r.push(f.retokenizeCapturedWithRuleId,p.start,-1,!1,null,x,C),I=e.createOnigString(i.substring(0,p.end));gi(e,I,a&&p.start===0,p.start,h,o,!1,0),di(I);continue}let m=f.getName(i,s);if(m!==null){let x=(u.length>0?u[u.length-1].scopes:r.contentNameScopesList).pushAttributed(m,e);u.push(new If(x,p.end))}}for(;u.length>0;)o.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop()}var If=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function Lf(e,t,a,r,o,n,s,i){return new Sf(e,t,a,r,o,n,s,i)}function ei(e,t,a,r,o){let n=Wa(t,za),s=pi.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 za(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(Cf(t[o],r))return a=o+1,!0;return!1})}function Cf(e,t){if(!e)return!1;if(e===t)return!0;let a=t.length;return e.length>a&&e.substr(0,a)===t&&e[a]==="."}var Sf=class{constructor(e,t,a,r,o,n,s,i){if(this._rootScopeName=e,this.balancedBracketSelectors=n,this._onigLib=i,this._basicScopeAttributesProvider=new ff(a,r),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=s,this._grammar=ti(t,null),this._injections=null,this._tokenTypeMatchers=[],o)for(let l of Object.keys(o)){let u=Wa(l,za);for(let d of u)this._tokenTypeMatchers.push({matcher:d.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)ei(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&&ei(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]=ti(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=pi.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let o;if(!t||t===fo.NULL){o=!0;let u=this._basicScopeAttributesProvider.getDefaultAttributes(),d=this.themeProvider.getDefaults(),c=wt.set(0,u.languageId,u.tokenType,null,d.fontStyle,d.foregroundId,d.backgroundId),f=this.getRule(this._rootId).getName(null,null),p;f?p=ua.createRootAndLookUpScopeName(f,c,this):p=ua.createRoot("unknown",c),t=new fo(null,this._rootId,-1,-1,!1,null,p,p)}else o=!1,t.reset();e=e+`
4
+ ${V}`}]}}P.current({...H,...q?{modelContext:q}:{}})}j({jsonrpc:"2.0",id:M,result:{}});return}if(N==="ui/update-model-context"&&M!=null){k=Pn(k,ee.params),j({jsonrpc:"2.0",id:M,result:{}});return}if(N==="tools/call"&&M!=null){let H=_.current;if(!H){j({jsonrpc:"2.0",id:M,error:{code:-32601,message:"tools/call not supported"}});return}let q=ee.params?.name;H({name:q,arguments:ee.params?.arguments??{}}).then(V=>{j({jsonrpc:"2.0",id:M,result:V});let te=V.content?.map(ae=>ae.text??"").join("").trim();te&&_d(q,V,G.current)&&(O&&clearTimeout(O.timer),O={text:te,timer:setTimeout(()=>{if(le)return;let ae=k;k=null,O=null,P.current?.({role:"user",content:[{type:"text",text:te}],...ae?{modelContext:ae}:{}})},500)})}).catch(V=>{let te=V instanceof Error?V.message:"Tool call failed";j({jsonrpc:"2.0",id:M,error:{code:-32e3,message:te}})});return}if(N==="ui/request-display-mode"&&M!=null){let H=ee.params?.mode,q=H==="fullscreen"||H==="inline"||H==="pip"?H:"inline";S.current=q,j({jsonrpc:"2.0",id:M,result:{mode:q}}),j({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{displayMode:q}}),W.current?.(q);return}if(N==="ui/resource-teardown"&&M!=null){j({jsonrpc:"2.0",id:M,result:{}});return}N==="ping"&&M!=null&&j({jsonrpc:"2.0",id:M,result:{}})};return window.addEventListener("message",Te),()=>{le=!0,clearTimeout(z),O&&clearTimeout(O.timer),window.removeEventListener("message",Te)}},[i,T]),Ud("iframe",{ref:m,src:y,sandbox:"allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox",className:b(!f&&"ww:rounded-md ww:border ww:border-border",s),style:{height:f?"100%":v,minWidth:f||!E?void 0:`min(${E}px, 100%)`,width:"100%",border:"none",colorScheme:n?"dark":"auto"},title:"MCP App"})}import{useCallback as Od,useEffect as Vr,useState as Nd}from"react";import{jsx as zr,jsxs as qd}from"react/jsx-runtime";var Qn=672,Jn=32;function Hd({widget:e,toolsEndpoint:t,resourceEndpoint:a,headers:r,onClose:o,isDark:n=!1}){let[s,i]=Nd(null);Vr(()=>{let f=()=>i({width:window.innerWidth,height:window.innerHeight});return f(),window.addEventListener("resize",f),()=>window.removeEventListener("resize",f)},[]);let l=e?.preview===!0;Vr(()=>{if(!e||!l)return;let f=p=>{p.key==="Escape"&&o()};return window.addEventListener("keydown",f),()=>window.removeEventListener("keydown",f)},[e,l,o]),Vr(()=>{if(!e)return;let f=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=f}},[e]);let u=Od(async f=>{let p=await fetch(t,{method:"POST",headers:{"content-type":"application/json",...r},body:JSON.stringify({action:"call",...f})});if(!p.ok)throw new Error(`webmcp tool call failed: ${p.status}`);return await p.json()},[t,r]);if(!e)return null;let d=s?Math.min(Qn,s.width-Jn):Qn,c=s?s.height-Jn:void 0;return qd("div",{role:"dialog","aria-modal":"true","aria-label":"Waniwani",className:b("ww:fixed ww:inset-0 ww:z-[2147483000] ww:flex ww:items-center ww:justify-center ww:bg-black/45 ww:backdrop-blur-md",n&&"dark"),children:[l&&zr("button",{type:"button","aria-label":"Close",onClick:o,className:"ww:absolute ww:inset-0 ww:h-full ww:w-full ww:cursor-pointer ww:border-none ww:bg-transparent ww:p-0"}),zr("div",{className:"ww:relative ww:overflow-auto ww:rounded-2xl ww:bg-background ww:shadow-2xl",style:{width:d,maxHeight:c},children:zr(ta,{resourceUri:e.viewUri,resourceEndpoint:a,toolInput:e.data,toolResult:e.result,autoHeight:Zt(e.result._meta),isDark:n,onCallTool:u,onOpenLink:f=>window.open(f,"_blank","noopener")},`${a}|${e.viewUri}`)})]})}import{forwardRef as au,useCallback as Sr,useEffect as Ye,useImperativeHandle as Hh,useRef as Ct,useState as yr}from"react";import Zn from"crypto";var Yn="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var Wd=128,pt,Ft,Gd=e=>{!pt||pt.length<e?(pt=Buffer.allocUnsafe(e*Wd),Zn.randomFillSync(pt),Ft=0):Ft+e>pt.length&&(Zn.randomFillSync(pt),Ft=0),Ft+=e};var aa=(e=21)=>{Gd(e|=0);let t="";for(let a=Ft-e;a<Ft;a++)t+=Yn[pt[a]&63];return t};import{createContext as Xd,useCallback as Re,useContext as Kd,useEffect as ra,useMemo as Qd,useRef as ot,useState as Xr}from"react";var mt=new Map;function es(e,t){if(mt.has(e)){URL.revokeObjectURL(t);return}for(mt.set(e,t);mt.size>20;){let a=mt.keys().next();if(a.done)return;let r=mt.get(a.value);mt.delete(a.value),r&&URL.revokeObjectURL(r)}}function ts(e){return mt.get(e)}import{useState as Vd}from"react";import{jsx as Se,jsxs as jr}from"react/jsx-runtime";var as=({files:e,className:t,...a})=>e.length===0?null:Se("div",{className:b("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((r,o)=>Se(zd,{file:r},o))});function zd({file:e}){let{t}=X();return e.mediaType?.startsWith("image/")&&e.url?Se("img",{src:e.url,alt:e.filename??t.attachments.attachmentFallback,className:"ww:h-16 ww:max-w-32 ww:rounded ww:object-cover"}):jr("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:[Se(Pt,{className:"ww:size-3 ww:shrink-0"}),Se("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??t.attachments.fileFallback})]})}function rs(e,t){return e.startsWith("image/")?t.attachments.kindImage:e==="application/pdf"?t.attachments.kindPdf:t.attachments.kindFile}function jd({mediaType:e}){return e.startsWith("image/")?Se(Kt,{className:"ww:size-5 ww:text-muted-foreground"}):e==="application/pdf"?Se($t,{className:"ww:size-5 ww:text-muted-foreground"}):Se(Pt,{className:"ww:size-5 ww:text-muted-foreground"})}function $r({filename:e,mediaType:t,previewUrl:a,subtitle:r,tone:o="default",children:n,className:s}){let{t:i}=X(),l=rs(t,i);return jr("li",{"aria-label":`${e}, ${l}`,className:b("ww:relative ww:flex ww:w-60 ww:max-w-full ww:cursor-default ww:items-center ww:gap-2.5 ww:overflow-hidden ww:rounded-xl ww:border ww:bg-background ww:p-2.5",o==="error"?"ww:border-destructive/50":"ww:border-border",s),children:[Se("span",{className:"ww:flex ww:size-10 ww:shrink-0 ww:items-center ww:justify-center ww:overflow-hidden ww:rounded-xl ww:bg-muted",children:a?Se("img",{alt:"",className:"ww:size-full ww:object-cover ww:object-center",src:a}):Se(jd,{mediaType:t})}),jr("span",{className:"ww:flex ww:min-w-0 ww:flex-col",children:[Se("span",{className:"ww:truncate ww:font-medium ww:text-sm",title:e,children:e}),Se("span",{className:b("ww:truncate ww:text-xs",o==="error"?"ww:text-destructive":"ww:text-muted-foreground"),children:r??l})]}),n]})}function os(e){if(typeof e!="object"||e===null)return[];let t=e.documents;return Array.isArray(t)?t.filter(a=>typeof a=="object"&&a!==null&&typeof a.documentId=="string"&&typeof a.filename=="string"&&typeof a.mediaType=="string"):[]}var ns=({documents:e,className:t,...a})=>e.length===0?null:Se("ul",{className:b("ww:flex ww:list-none ww:flex-wrap ww:items-end ww:justify-end ww:gap-2 ww:p-0",t),...a,children:e.map((r,o)=>Se($d,{document:r},`${r.documentId}-${o}`))});function $d({document:e}){let{t}=X(),[a,r]=Vd(!1),o=e.mediaType.startsWith("image/")?ts(e.documentId):void 0;return o&&!a?Se("li",{children:Se("img",{alt:`${e.filename}, ${rs(e.mediaType,t)}`,className:"ww:max-h-80 ww:max-w-72 ww:rounded-xl ww:border ww:border-border ww:object-contain",onError:()=>r(!0),src:o,title:e.filename})}):Se($r,{filename:e.filename,mediaType:e.mediaType})}import{jsx as we,jsxs as Fa}from"react/jsx-runtime";var Jd=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}},Yd=(e,t)=>{if(!t)return!0;let a=t.split(",").map(n=>n.trim().toLowerCase()).filter(Boolean);if(a.length===0)return!0;let r=e.type.toLowerCase(),o=e.name.toLowerCase();return a.some(n=>n.startsWith(".")?o.endsWith(n):n.endsWith("/*")?r.startsWith(n.slice(0,-1)):r===n)},is=Xd(null),Ma=()=>{let e=Kd(is);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},ls=({className:e,accept:t,multiple:a,globalDrop:r,maxFiles:o,maxFileSize:n,maxPdfPages:s,attachmentsEnabled:i=!0,upload:l,onDiscard:u,onError:d,onSubmit:c,children:f,...p})=>{let{t:m,locale:L}=X(),x=ot(null),w=ot(null),[C,h]=Xr([]),I=ot(C),S=ot(new Map),v=ot(l),U=ot(d),E=ot(u);ra(()=>{v.current=l,U.current=d,E.current=u},[l,d,u]);let $=Re(k=>{I.current=k,h(k)},[]),A=Re(()=>{x.current?.click()},[]),P=Re((k,O)=>{$(I.current.map(z=>z.id===k?{...z,...O}:z))},[$]),_=Re((k,O)=>{let z=v.current;if(!z)return;let j=new AbortController,Te=z(O,j.signal,J=>{P(k,{progress:J})}).then(J=>(P(k,{status:"ready",progress:1,documentId:J.documentId,error:void 0}),J)).catch(J=>{if(j.signal.aborted)return null;let ee=J instanceof Error?J.message:m.promptInput.uploadFailed;return P(k,{status:"failed",error:ee}),U.current?.({code:"upload_failed",message:ee}),null});S.current.set(k,{file:O,controller:j,done:Te})},[P,m]),W=Re(k=>{let O=[...k];if(!i||O.length===0)return;let z=(M,H)=>U.current?.({code:M,message:H}),j=[];for(let M of O){if(!Yd(M,t)){z("accept",m.promptInput.errorAccept.replace("{name}",M.name));continue}if(n&&M.size>n){z("max_file_size",m.promptInput.errorTooLarge.replace("{name}",M.name).replace("{limit}",us(n,L)));continue}j.push(M)}if(j.length===0)return;let Te=typeof o=="number"?Math.max(0,o-I.current.length):void 0,J=typeof Te=="number"?j.slice(0,Te):j;if(J.length<j.length&&z("max_files",m.promptInput.errorTooMany.replace("{limit}",String(o))),J.length===0)return;let ee=!!v.current,N=J.map(M=>({file:M,item:{filename:M.name,id:aa(),mediaType:M.type,type:"file",url:URL.createObjectURL(M),status:ee?"uploading":"ready",progress:0}}));$([...I.current,...N.map(M=>M.item)]);for(let M of N)_(M.item.id,M.file)},[o,n,t,i,_,$,m,L]),Y=Re(k=>{let O=S.current.get(k);O&&(P(k,{status:"uploading",progress:0,error:void 0}),_(k,O.file))},[P,_]),G=Re((k,O)=>{S.current.get(k.id)?.controller.abort(),S.current.delete(k.id),k.url&&(!O&&!!k.documentId&&!!k.mediaType?.startsWith("image/")&&k.documentId?es(k.documentId,k.url):URL.revokeObjectURL(k.url)),O&&k.documentId&&E.current?.({documentId:k.documentId,filename:k.filename??"",mediaType:k.mediaType??""})},[]),T=Re(k=>{let O=I.current.find(z=>z.id===k);O&&G(O,!0),$(I.current.filter(z=>z.id!==k))},[G,$]),y=Re(()=>{for(let k of I.current)G(k,!0);$([])},[G,$]),R=ot(i);ra(()=>{let k=R.current;R.current=i,k&&!i&&y()},[i,y]);let Ae=Re(()=>{for(let k of I.current)G(k,!1);$([])},[G,$]);ra(()=>()=>{for(let k of I.current)S.current.get(k.id)?.controller.abort(),k.url&&URL.revokeObjectURL(k.url)},[]);let Z=Re(k=>{k.currentTarget.files&&W(k.currentTarget.files),k.currentTarget.value=""},[W]);ra(()=>{if(!r)return;let k=z=>{z.dataTransfer?.types?.includes("Files")&&z.preventDefault()},O=z=>{z.dataTransfer?.types?.includes("Files")&&z.preventDefault(),z.dataTransfer?.files&&z.dataTransfer.files.length>0&&W(z.dataTransfer.files)};return document.addEventListener("dragover",k),document.addEventListener("drop",O),()=>{document.removeEventListener("dragover",k),document.removeEventListener("drop",O)}},[W,r]);let le=Re(async k=>{k.preventDefault();let O=k.currentTarget,z=new FormData(O).get("message")||"",j=new Map;for(;j.size<S.current.size;)await Promise.all([...S.current.entries()].filter(([N])=>!j.has(N)).map(async([N,M])=>{j.set(N,await M.done)}));for(let N of j.keys())S.current.has(N)||j.delete(N);if([...j.values()].some(N=>N===null)){U.current?.({code:"upload_failed",message:m.promptInput.uploadFailed});return}let Te=[...j.values()].filter(N=>N!==null),J=v.current?[]:I.current,ee=await Promise.all(J.map(async({id:N,status:M,progress:H,error:q,...V})=>{if(V.url?.startsWith("blob:")){let te=await Jd(V.url);return{...V,url:te??V.url}}return V}));try{let N=c({documents:Te,files:ee,text:z},k);N instanceof Promise&&await N,O.reset(),Ae()}catch{}},[c,Ae,m]),ie=Qd(()=>({add:W,clear:y,files:C,openFileDialog:A,remove:T,retry:Y,maxFileSize:n,maxPdfPages:s}),[C,W,T,Y,y,A,n,s]);return Fa(is.Provider,{value:ie,children:[we("input",{accept:t,"aria-label":m.promptInput.uploadFiles,className:"ww:hidden",multiple:a,onChange:Z,ref:x,title:m.promptInput.uploadFiles,type:"file"}),we("form",{className:b("ww:relative ww:flex ww:w-full ww:flex-col ww:rounded-lg ww:border ww:border-border ww:bg-background",e),onSubmit:le,ref:w,...p,children:f})]})},ss=1024*1024;function us(e,t){let a=e>=ss;return new Intl.NumberFormat(t,{style:"unit",unit:a?"megabyte":"kilobyte",maximumFractionDigits:0}).format(a?e/ss:Math.max(1,e/1024))}var ds=({onChange:e,onKeyDown:t,className:a,placeholder:r,...o})=>{let{t:n}=X(),s=Ma(),[i,l]=Xr(!1),u=r??n.promptInput.placeholder,d=Re(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]),c=Re(f=>{let p=f.clipboardData?.items;if(!p)return;let m=[];for(let L of p)if(L.kind==="file"){let x=L.getAsFile();x&&m.push(x)}m.length>0&&(f.preventDefault(),s.add(m))},[s]);return we("textarea",{className:b("ww:field-sizing-content ww:max-h-48 ww:min-h-0 ww:w-full ww:resize-none ww:border-0 ww:bg-transparent ww:px-3 ww:py-2 ww:text-base ww:sm:text-sm ww:outline-none ww:placeholder:text-muted-foreground",a),name:"message",onCompositionEnd:()=>l(!1),onCompositionStart:()=>l(!0),onKeyDown:d,onPaste:c,placeholder:u,onChange:e,...o})},cs=({className:e,status:t,onStop:a,onClick:r,children:o,...n})=>{let{t:s}=X(),i=t==="submitted"||t==="streaming",l=we(Gt,{className:"ww:size-4"});t==="submitted"?l=we(Qt,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(l=we(Jt,{className:"ww:size-4"}));let u=Re(d=>{if(i&&a){d.preventDefault(),a();return}r?.(d)},[i,a,r]);return we(Ve,{"aria-label":i?s.promptInput.stop:s.promptInput.submit,className:b("ww:bg-foreground ww:text-background ww:hover:bg-foreground ww:rounded-full",e),onClick:u,size:"icon-sm",type:i&&a?"button":"submit",variant:"ghost",...n,children:o??l})},fs=({className:e,children:t,...a})=>{let{t:r,locale:o}=X(),n=Ma();if(n.files.length>0)return Fa(Ve,{className:b("ww:group ww:relative",e),onClick:()=>n.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":r.promptInput.removeAttachments,...a,children:[we("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:n.files.length}),we(rt,{className:"ww:absolute ww:size-4 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100"})]});let i=n.maxFileSize?(n.maxPdfPages?r.promptInput.uploadFilesUpToWithPages.replace("{pages}",String(n.maxPdfPages)):r.promptInput.uploadFilesUpTo).replace("{limit}",us(n.maxFileSize,o)):r.promptInput.uploadFiles;return we(Ve,{"aria-label":i,className:b(e),title:i,onClick:()=>n.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??we(At,{className:"ww:size-4"})})},ps=({className:e,...t})=>{let a=Ma();return a.files.length===0?null:we("ul",{className:b("ww:flex ww:list-none ww:flex-wrap ww:gap-2 ww:p-0",e),...t,children:a.files.map(r=>we(Zd,{file:r},r.id))})};function Zd({file:e}){let{t}=X(),a=Ma(),r=e.status==="failed",o=e.status==="uploading";return Fa($r,{filename:e.filename??t.attachments.fileFallback,mediaType:e.mediaType??"",previewUrl:e.mediaType?.startsWith("image/")?e.url:void 0,subtitle:r?e.error:o?t.promptInput.uploading:void 0,tone:r?"error":"default",children:[r?we("button",{"aria-label":t.promptInput.retryUpload,className:"ww:ml-auto ww:shrink-0 ww:text-destructive ww:text-xs ww:underline ww:underline-offset-2",onClick:()=>a.retry(e.id),type:"button",children:t.promptInput.retry}):null,we("button",{"aria-label":t.promptInput.removeAttachment,className:b("ww:shrink-0 ww:rounded-full ww:p-1 ww:opacity-60 ww:transition-opacity hover:ww:bg-muted hover:ww:opacity-100",r?null:"ww:ml-auto"),onClick:()=>a.remove(e.id),type:"button",children:we(rt,{className:"ww:size-3.5"})}),o?we("span",{"aria-hidden":!0,className:"ww:absolute ww:bottom-0 ww:left-0 ww:h-0.5 ww:bg-primary ww:transition-[width] ww:duration-200",style:{width:`${Math.round(e.progress*100)}%`}}):null]})}var ms=({enabled:e=!0})=>{let{t}=X(),[a,r]=Xr(!1);return ra(()=>{if(!e)return;let o=0,n=u=>!!u.dataTransfer?.types?.includes("Files"),s=u=>{n(u)&&(o+=1,r(!0))},i=u=>{n(u)&&(o=Math.max(0,o-1),o===0&&r(!1))},l=()=>{o=0,r(!1)};return document.addEventListener("dragenter",s),document.addEventListener("dragleave",i),document.addEventListener("drop",l),()=>{document.removeEventListener("dragenter",s),document.removeEventListener("dragleave",i),document.removeEventListener("drop",l)}},[e]),e&&a?we("div",{className:"ww:pointer-events-none ww:absolute ww:inset-0 ww:z-50 ww:flex ww:items-center ww:justify-center ww:rounded-2xl ww:border-2 ww:border-primary ww:border-dashed ww:bg-background/85",children:Fa("span",{className:"ww:flex ww:items-center ww:gap-2 ww:text-sm ww:font-medium",children:[we(At,{className:"ww:size-4"}),t.promptInput.dropToAttach]})}):null};import{jsx as ec}from"react/jsx-runtime";function hs({text:e}){let{t}=X();return e===!1?null:ec("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{memo as tc,useCallback as ac}from"react";import{jsx as Dt}from"react/jsx-runtime";var gs=({className:e,...t})=>Dt("div",{className:b("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),ws=({className:e,...t})=>Dt("li",{className:b("ww:group ww:flex ww:items-center ww:gap-2 ww:rounded-md ww:px-2 ww:py-1 ww:text-sm ww:transition-colors ww:hover:bg-muted",e),...t}),xs=({className:e,...t})=>Dt("span",{className:b("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),Is=({className:e,...t})=>Dt("span",{className:b("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),Ls=({className:e,...t})=>Dt("div",{className:b("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),Cs=({className:e,...t})=>Dt(Ve,{className:b("ww:size-auto ww:rounded ww:p-1 ww:text-muted-foreground ww:hover:bg-muted-foreground/10 ww:hover:text-foreground",e),size:"icon",type:"button",variant:"ghost",...t});import{jsx as nt,jsxs as bs}from"react/jsx-runtime";var Ss=tc(({message:e,onRemove:t})=>{let{t:a}=X(),r=ac(()=>t(e.id),[t,e.id]);return bs(ws,{children:[nt(xs,{}),nt(Is,{children:e.text||a.chatQueue.attachmentFallback}),nt(Ls,{children:nt(Cs,{"aria-label":a.chatQueue.removeFromQueue,onClick:r,children:nt(rt,{className:"ww:size-3"})})})]})});Ss.displayName="ChatQueueItem";function ys({queuedMessages:e,onRemove:t,className:a}){let{t:r}=X();return e.length===0?null:bs(gs,{className:b("ww:border-t ww:border-border",a),children:[nt("div",{className:"ww:text-[11px] ww:font-medium ww:text-muted-foreground ww:px-2",children:r.chatQueue.queued(e.length)}),nt("ul",{children:e.map(o=>nt(Ss,{message:o,onRemove:t},o.id))})]})}import{createContext as cc,useCallback as fc,useContext as pc,useEffect as mc,useMemo as hc,useState as Yr}from"react";import{createContext as rc,memo as Jr,useCallback as oc,useContext as nc,useEffect as Kr,useMemo as sc,useRef as ks,useState as Qr}from"react";import{Fragment as uc,jsx as He,jsxs as dc}from"react/jsx-runtime";var Ts=rc(null);function vs(){let e=nc(Ts);if(!e)throw new Error("Reasoning components must be used within <Reasoning>");return e}var ic=1e3,lc=1e3,oa=Jr(({className:e,isStreaming:t=!1,open:a,defaultOpen:r,onOpenChange:o,duration:n,children:s,...i})=>{let l=r??t,u=r===!1,d=a!==void 0,[c,f]=Qr(l),p=d?a:c,m=oc(U=>{d||f(U),o?.(U)},[d,o]),[L,x]=Qr(void 0),w=n??L,C=ks(t),[h,I]=Qr(!1),S=ks(null);Kr(()=>{t?(C.current=!0,S.current===null&&(S.current=Date.now())):S.current!==null&&(x(Math.ceil((Date.now()-S.current)/lc)),S.current=null)},[t]),Kr(()=>{t&&!p&&!u&&m(!0)},[t,p,u,m]),Kr(()=>{if(C.current&&!t&&p&&!h){let U=setTimeout(()=>{m(!1),I(!0)},ic);return()=>clearTimeout(U)}},[t,p,h,m]);let v=sc(()=>({isStreaming:t,isOpen:p,setIsOpen:m,duration:w}),[t,p,m,w]);return He(Ts.Provider,{value:v,children:He("div",{className:b("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})})});oa.displayName="Reasoning";var na=Jr(({className:e,children:t,getThinkingMessage:a,hideIcon:r=!1,onClick:o,...n})=>{let{t:s}=X(),{isStreaming:i,isOpen:l,duration:u,setIsOpen:d}=vs(),f=a??((p,m)=>p||m===0?He(Ne,{duration:1.6,children:s.reasoning.thinking}):m===void 0?He("span",{children:s.reasoning.thoughtBrief}):He("span",{children:s.reasoning.thoughtForSeconds(m)}));return He("button",{type:"button","aria-expanded":l,onClick:p=>{d(!l),o?.(p)},className:b("ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),...n,children:t??dc(uc,{children:[!r&&He(Qe,{className:"ww:size-4 ww:shrink-0"}),f(i,u)]})})});na.displayName="ReasoningTrigger";var sa=Jr(({className:e,children:t,...a})=>{let{isOpen:r}=vs();return He("div",{className:b("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:He("div",{className:"ww:min-h-0 ww:overflow-hidden",children:He("div",{className:b("ww:text-sm ww:text-muted-foreground",e),...a,children:He(qt,{children:t})})})})});sa.displayName="ReasoningContent";import{jsx as se,jsxs as st}from"react/jsx-runtime";var gc=500,Ps=cc(null);function As(){let e=pc(Ps);if(!e)throw new Error("ChainOfThought components must be used within <ChainOfThought>");return e}function Rs({className:e,isWorking:t=!1,activeStep:a,open:r,defaultOpen:o=!1,onOpenChange:n,children:s,...i}){let l=r!==void 0,[u,d]=Yr(o),c=l?r:u,f=fc(x=>{l||d(x),n?.(x)},[l,n]),[p,m]=Yr(!t);mc(()=>{if(t){m(!1);return}let x=setTimeout(()=>m(!0),gc);return()=>clearTimeout(x)},[t]);let L=hc(()=>({open:c,setOpen:f,isWorking:t,settled:p,activeStep:a}),[c,f,t,p,a]);return se(Ps.Provider,{value:L,children:se("div",{className:b("ww:mb-4 ww:flex ww:flex-col ww:gap-2",e),"data-state":c?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...i,children:s})})}function Ms({className:e,label:t,workingLabel:a,children:r,...o}){let{open:n,setOpen:s,isWorking:i,settled:l,activeStep:u}=As();if(!l){let d=u?.icon,c=u?.label??a??t??"";return se("div",{className:b("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:st("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:[d&&se(d,{className:b("ww:size-4 ww:shrink-0",i&&"ww:animate-pulse")}),se("span",{className:"ww:truncate",children:i?se(Ne,{duration:2.6,children:c}):c})]},c)})}return st("button",{type:"button",onClick:()=>s(!n),"aria-expanded":n,className:b("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:[se("span",{className:"ww:truncate",children:r??t}),se(at,{className:b("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",n&&"ww:rotate-180")})]})}function Fs({className:e,children:t,...a}){let{open:r}=As();return se("div",{className:b("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:se("div",{className:"ww:min-h-0 ww:overflow-hidden",children:se("div",{className:b("ww:flex ww:flex-col",e),...a,children:t})})})}function Ds({icon:e,isLast:t,running:a,error:r}){return st("div",{className:"ww:flex ww:flex-col ww:items-center ww:self-stretch",children:[se("span",{className:"ww:flex ww:h-5 ww:items-center",children:se(e,{className:b("ww:size-4 ww:shrink-0",r?"ww:text-destructive":a?"ww:animate-pulse ww:text-foreground":"ww:text-muted-foreground")})}),!t&&se("span",{className:"ww:w-px ww:flex-1 ww:bg-border"})]})}function Zr({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,[d,c]=Yr(!1),f=a??"",p=i?se(Ne,{duration:1.6,children:f}):se("span",{className:"ww:truncate",children:f});return st("div",{className:b("ww:flex ww:gap-2",e),...s,children:[se(Ds,{icon:t,isLast:o,running:i,error:l}),st("div",{className:b("ww:min-w-0 ww:flex-1",!o&&"ww:pb-3"),children:[u?st("button",{type:"button",onClick:()=>c(m=>!m),"aria-expanded":d,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,se(at,{className:b("ww:size-3.5 ww:shrink-0 ww:transition-transform ww:duration-200",d&&"ww:rotate-180")})]}):se("div",{className:"ww:flex ww:items-center ww:text-sm ww:text-muted-foreground",children:p}),u&&se("div",{className:b("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",d?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:se("div",{className:"ww:min-h-0 ww:overflow-hidden",children:se("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 Es({isStreaming:e=!1,isLast:t=!1,children:a}){return st("div",{className:"ww:flex ww:gap-2",children:[se(Ds,{icon:Qe,isLast:t,running:e}),se("div",{className:b("ww:min-w-0 ww:flex-1",!t&&"ww:pb-3"),children:st(oa,{isStreaming:e,className:"ww:mb-0",children:[se(na,{hideIcon:!0}),se(sa,{children:a})]})})]})}var be={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 ze={attentionSideAfter:2,attentionSideBefore:1,atxHeadingOpeningFenceSizeMax:6,autolinkDomainSizeMax:63,autolinkSchemeSizeMax:32,cdataOpeningString:"CDATA[",characterGroupPunctuation:2,characterGroupWhitespace:1,characterReferenceDecimalSizeMax:7,characterReferenceHexadecimalSizeMax:6,characterReferenceNamedSizeMax:31,codeFencedSequenceSizeMin:3,contentTypeContent:"content",contentTypeDocument:"document",contentTypeFlow:"flow",contentTypeString:"string",contentTypeText:"text",hardBreakPrefixSizeMin:2,htmlBasic:6,htmlCdata:5,htmlComment:2,htmlComplete:7,htmlDeclaration:4,htmlInstruction:3,htmlRawSizeMax:8,htmlRaw:1,linkResourceDestinationBalanceMax:32,linkReferenceSizeMax:999,listItemValueSizeMax:10,numericBaseDecimal:10,numericBaseHexadecimal:16,tabSize:4,thematicBreakMarkerCountMin:3,v8MaxSafeChunkSize:1e4};var Me={data:"data",whitespace:"whitespace",lineEnding:"lineEnding",lineEndingBlank:"lineEndingBlank",linePrefix:"linePrefix",lineSuffix:"lineSuffix",atxHeading:"atxHeading",atxHeadingSequence:"atxHeadingSequence",atxHeadingText:"atxHeadingText",autolink:"autolink",autolinkEmail:"autolinkEmail",autolinkMarker:"autolinkMarker",autolinkProtocol:"autolinkProtocol",characterEscape:"characterEscape",characterEscapeValue:"characterEscapeValue",characterReference:"characterReference",characterReferenceMarker:"characterReferenceMarker",characterReferenceMarkerNumeric:"characterReferenceMarkerNumeric",characterReferenceMarkerHexadecimal:"characterReferenceMarkerHexadecimal",characterReferenceValue:"characterReferenceValue",codeFenced:"codeFenced",codeFencedFence:"codeFencedFence",codeFencedFenceSequence:"codeFencedFenceSequence",codeFencedFenceInfo:"codeFencedFenceInfo",codeFencedFenceMeta:"codeFencedFenceMeta",codeFlowValue:"codeFlowValue",codeIndented:"codeIndented",codeText:"codeText",codeTextData:"codeTextData",codeTextPadding:"codeTextPadding",codeTextSequence:"codeTextSequence",content:"content",definition:"definition",definitionDestination:"definitionDestination",definitionDestinationLiteral:"definitionDestinationLiteral",definitionDestinationLiteralMarker:"definitionDestinationLiteralMarker",definitionDestinationRaw:"definitionDestinationRaw",definitionDestinationString:"definitionDestinationString",definitionLabel:"definitionLabel",definitionLabelMarker:"definitionLabelMarker",definitionLabelString:"definitionLabelString",definitionMarker:"definitionMarker",definitionTitle:"definitionTitle",definitionTitleMarker:"definitionTitleMarker",definitionTitleString:"definitionTitleString",emphasis:"emphasis",emphasisSequence:"emphasisSequence",emphasisText:"emphasisText",escapeMarker:"escapeMarker",hardBreakEscape:"hardBreakEscape",hardBreakTrailing:"hardBreakTrailing",htmlFlow:"htmlFlow",htmlFlowData:"htmlFlowData",htmlText:"htmlText",htmlTextData:"htmlTextData",image:"image",label:"label",labelText:"labelText",labelLink:"labelLink",labelImage:"labelImage",labelMarker:"labelMarker",labelImageMarker:"labelImageMarker",labelEnd:"labelEnd",link:"link",paragraph:"paragraph",reference:"reference",referenceMarker:"referenceMarker",referenceString:"referenceString",resource:"resource",resourceDestination:"resourceDestination",resourceDestinationLiteral:"resourceDestinationLiteral",resourceDestinationLiteralMarker:"resourceDestinationLiteralMarker",resourceDestinationRaw:"resourceDestinationRaw",resourceDestinationString:"resourceDestinationString",resourceMarker:"resourceMarker",resourceTitle:"resourceTitle",resourceTitleMarker:"resourceTitleMarker",resourceTitleString:"resourceTitleString",setextHeading:"setextHeading",setextHeadingText:"setextHeadingText",setextHeadingLine:"setextHeadingLine",setextHeadingLineSequence:"setextHeadingLineSequence",strong:"strong",strongSequence:"strongSequence",strongText:"strongText",thematicBreak:"thematicBreak",thematicBreakSequence:"thematicBreakSequence",blockQuote:"blockQuote",blockQuotePrefix:"blockQuotePrefix",blockQuoteMarker:"blockQuoteMarker",blockQuotePrefixWhitespace:"blockQuotePrefixWhitespace",listOrdered:"listOrdered",listUnordered:"listUnordered",listItemIndent:"listItemIndent",listItemMarker:"listItemMarker",listItemPrefix:"listItemPrefix",listItemPrefixWhitespace:"listItemPrefixWhitespace",listItemValue:"listItemValue",chunkDocument:"chunkDocument",chunkContent:"chunkContent",chunkFlow:"chunkFlow",chunkText:"chunkText",chunkString:"chunkString"};function Bs(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 _s(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function Us(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 Os(e){return Bs(e)?"ambiguous":_s(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":Us(e)?"wide":"neutral"}function wc(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function Ns(e){return wc(e),Os(e)}var xc=Object.defineProperty,Ic=(e,t,a)=>t in e?xc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Lc=(e,t,a)=>Ic(e,typeof t!="symbol"?t+"":t,a);function Cc(e){return/^\p{Emoji_Presentation}/u.test(String.fromCodePoint(e))}function Sc(e){if(!e||e<4352)return!1;switch(Ns(e)){case"fullwidth":case"halfwidth":return!0;case"wide":return!Cc(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 yc(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function bc(e){return e!==null&&e>=65024&&e<=65038}var kc=Hs(/\p{P}|\p{S}/u),Tc=Hs(/\s/);function Hs(e){return t;function t(a){return a!==null&&a>-1&&e.test(String.fromCodePoint(a))}}var Fe;(e=>{e.spaceOrPunctuation=3,e.cjk=4096,e.cjkPunctuation=4098,e.ivs=8192,e.cjkOrIvs=12288,e.nonEmojiGeneralUseVS=16384,e.variationSelector=24576,e.ivsToCjkRightShift=1})(Fe||(Fe={}));function it(e){if(e===be.eof||vn(e)||Tc(e))return ze.characterGroupWhitespace;let t=0;if(e>=4352){if(bc(e))return Fe.nonEmojiGeneralUseVS;switch(Sc(e)){case null:return Fe.ivs;case!0:t|=Fe.cjk;break}}return kc(e)&&(t|=ze.characterGroupPunctuation),t}function Da(e,t,a){if(!Pc(e))return e;let r=t(),o=it(r);return!r||ht(o)?e:yc(r,a)?Fe.cjkPunctuation:vc(o)}function vc(e){return e&~Fe.ivs}function ht(e){return!!(e&ze.characterGroupWhitespace)}function Et(e){return(e&Fe.cjkPunctuation)===ze.characterGroupPunctuation}function ia(e){return!!(e&Fe.cjk)}function qs(e){return e===Fe.ivs}function Ws(e){return!!(e&Fe.cjkOrIvs)}function Pc(e){return e===Fe.nonEmojiGeneralUseVS}function eo(e){return!!(e&Fe.spaceOrPunctuation)}function Ea(e){return!!(e&&e>=55296&&e<=56319)}function Ba(e){return!!(e&&e>=56320&&e<=57343)}function _a(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 Ac(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 Ua=class{constructor(e,t,a){this.previousCode=e,this.nowPoint=t,this.sliceSerialize=a,Lc(this,"cachedValue")}value(){return this.cachedValue===void 0&&(this.cachedValue=Ac(this.previousCode,this.nowPoint,this.sliceSerialize)),this.cachedValue}};function Oa(e,t,a){let r=a({start:t,end:{...t,_bufferIndex:t._bufferIndex+2}}).codePointAt(0);return r&&r>=65536?r:e}var to={name:"attention",resolveAll:Rc,tokenize:Mc};function Rc(e,t){let a=-1,r,o,n,s,i,l,u,d;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 c={...e[r][1].end},f={...e[a][1].start};Gs(c,-l),Gs(f,l),s={type:l>1?Me.strongSequence:Me.emphasisSequence,start:c,end:{...e[r][1].end}},i={type:l>1?Me.strongSequence:Me.emphasisSequence,start:{...e[a][1].start},end:f},n={type:l>1?Me.strongText:Me.emphasisText,start:{...e[r][1].end},end:{...e[a][1].start}},o={type:l>1?Me.strong:Me.emphasis,start:{...s.start},end:{...i.end}},e[r][1].end={...s.start},e[a][1].start={...i.end},u=[],e[r][1].end.offset-e[r][1].start.offset&&(u=kt(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=kt(u,[["enter",o,t],["enter",s,t],["exit",s,t],["enter",n,t]]),t.parser.constructs.insideSpan.null,u=kt(u,Pa(t.parser.constructs.insideSpan.null,e.slice(r+1,a),t)),u=kt(u,[["exit",n,t],["enter",i,t],["exit",i,t],["exit",o,t]]),e[a][1].end.offset-e[a][1].start.offset?(d=2,u=kt(u,[["enter",e[a][1],t],["exit",e[a][1],t]])):d=0,bt(e,r-1,a-r+3,u),a=r+u.length-d-2;break}}for(a=-1;++a<e.length;)e[a][1].type==="attentionSequence"&&(e[a][1].type="data");return e}function Mc(e,t){let a=this.parser.constructs.attentionMarkers.null,{now:r,sliceSerialize:o,previous:n}=this,s=Ba(n)?_a(n,r(),o):n,i=it(s),l=new Ua(s,r(),o),u=Da(i,l.value.bind(l),s),d;return c;function c(p){return p===be.asterisk||be.underscore,d=p,e.enter("attentionSequence"),f(p)}function f(p){if(p===d)return e.consume(p),f;let m=e.exit("attentionSequence"),L=Ea(p)?Oa(p,r(),o):p,x=it(L);let w=Et(u),C=w||ht(u),h=Et(x),I=h||ht(x),S=Ws(u),v=!I||h&&(C||S)||a.includes(p),U=!C||w&&(I||ia(x))||a.includes(s);return m._open=!!(d===be.asterisk?v:v&&(eo(u)||!U)),m._close=!!(d===be.asterisk?U:U&&(eo(x)||!v)),t(p)}}function Gs(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function Vs(){return{text:{[be.asterisk]:to,[be.underscore]:to},insideSpan:{null:[to]}}}function zs(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(Vs())}function js(e){let a=(e||{}).singleTilde,r={name:"strikethrough",tokenize:n,resolveAll:o};return a==null&&(a=!0),{text:{[be.tilde]:r},insideSpan:{null:[r]},attentionMarkers:{null:[be.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 d={type:"strikethrough",start:Object.assign({},s[u][1].start),end:Object.assign({},s[l][1].end)},c={type:"strikethroughText",start:Object.assign({},s[u][1].end),end:Object.assign({},s[l][1].start)},f=[["enter",d,i],["enter",s[u][1],i],["exit",s[u][1],i],["enter",c,i]],p=i.parser.constructs.insideSpan.null;p&&bt(f,f.length,0,Pa(p,s.slice(u+1,l),i)),bt(f,f.length,0,[["exit",c,i],["enter",s[l][1],i],["exit",s[l][1],i],["exit",d,i]]),bt(s,u-1,l-u+3,f),l=u+f.length-2;break}}for(l=-1;++l<s.length;)s[l][1].type==="strikethroughSequenceTemporary"&&(s[l][1].type=Me.data);return s}function n(s,i,l){let{now:u,sliceSerialize:d,previous:c}=this,f=Ba(c)?_a(c,u(),d):c,p=it(f),m=new Ua(f,u(),d),L=Da(p,m.value.bind(m),f),x=this.events,w=0;return C;function C(I){return be.tilde,f===be.tilde&&x[x.length-1][1].type!==Me.characterEscape?l(I):(s.enter("strikethroughSequenceTemporary"),h(I))}function h(I){let S=it(f);if(I===be.tilde)return w>1?l(I):(s.consume(I),w++,h);if(w<2&&!a)return l(I);let v=s.exit("strikethroughSequenceTemporary"),U=Ea(I)?Oa(I,u(),d):I,E=it(U),A=Et(L)||ht(L),_=Et(E)||ht(E),W=ia(L)||qs(S);return v._open=!_||E===ze.attentionSideAfter&&(A||W),v._close=!A||S===ze.attentionSideAfter&&(_||ia(E)),i(I)}}}function $s(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(js(e))}var Fc=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),Dc=/^(https?:\/\/|mailto:|www\.)/i,Ec=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},Bc=e=>{let t=0;for(let a of e){if(Fc.has(a))return t;t+=a.length}return null},_c=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),Uc=e=>({type:"text",value:e}),Oc=()=>e=>{Ln(e,"link",(t,a,r)=>{if(!r||typeof a!="number"||!Ec(t)||!Dc.test(t.url))return;let o=Bc(t.url);if(o===null||o===0)return;let n=t.url.slice(0,o),s=t.url.slice(o),i=_c(n,t),l=Uc(s);return r.children.splice(a,1,i,l),a+1})};function Nc(){let e=[zs],t=[Oc,$s],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var ao=Nc();var ue=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Hc(e){return po(e)}function po(e){return Array.isArray(e)?qc(e):e instanceof RegExp?e:typeof e=="object"?Wc(e):e}function qc(e){let t=[];for(let a=0,r=e.length;a<r;a++)t[a]=po(e[a]);return t}function Wc(e){let t={};for(let a in e)t[a]=po(e[a]);return t}function ai(e,...t){return t.forEach(a=>{for(let r in a)e[r]=a[r]}),e}function ri(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?ri(e.substring(0,e.length-1)):e.substr(~t+1)}var ro=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,Na=class{static hasCaptures(e){return e===null?!1:(ro.lastIndex=0,ro.test(e))}static replaceCaptures(e,t,a){return e.replace(ro,(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 oi(e,t){return e<t?-1:e>t?1:0}function ni(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=oi(e[o],t[o]);if(n!==0)return n}return 0}return a-r}function Xs(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 si(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var ii=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}},da=class{constructor(e,t,a){this._colorMap=e,this._defaults=t,this._root=a}static createFromRawTheme(e,t){return this.createFromParsedTheme(zc(e),t)}static createFromParsedTheme(e,t){return $c(e,t)}_cachedMatchRoot=new ii(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=>Gc(e.parent,o.parentScopes));return r?new li(r.fontStyle,r.foreground,r.background):null}},oo=class Ha{constructor(t,a){this.parent=t,this.scopeName=a}static push(t,a){for(let r of a)t=new Ha(t,r);return t}static from(...t){let a=null;for(let r=0;r<t.length;r++)a=new Ha(a,t[r]);return a}push(t){return new Ha(this,t)}getSegments(){let t=this,a=[];for(;t;)a.push(t.scopeName),t=t.parent;return a.reverse(),a}toString(){return this.getSegments().join(" ")}extends(t){return this===t?!0:this.parent===null?!1:this.parent.extends(t)}getExtensionIfDefined(t){let a=[],r=this;for(;r&&r!==t;)a.push(r.scopeName),r=r.parent;return r===t?a.reverse():void 0}};function Gc(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&&!Vc(e.scopeName,r);){if(o)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function Vc(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var li=class{constructor(e,t,a){this.fontStyle=e,this.foregroundId=t,this.backgroundId=a}};function zc(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 c=s.scope;c=c.replace(/^[,]+/,""),c=c.replace(/[,]+$/,""),i=c.split(",")}else Array.isArray(s.scope)?i=s.scope:i=[""];let l=-1;if(typeof s.settings.fontStyle=="string"){l=0;let c=s.settings.fontStyle.split(" ");for(let f=0,p=c.length;f<p;f++)switch(c[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"&&Xs(s.settings.foreground)&&(u=s.settings.foreground);let d=null;typeof s.settings.background=="string"&&Xs(s.settings.background)&&(d=s.settings.background);for(let c=0,f=i.length;c<f;c++){let m=i[c].trim().split(" "),L=m[m.length-1],x=null;m.length>1&&(x=m.slice(0,m.length-1),x.reverse()),a[r++]=new jc(L,x,o,l,u,d)}}return a}var jc=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}},ke=(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))(ke||{});function $c(e,t){e.sort((l,u)=>{let d=oi(l.scope,u.scope);return d!==0||(d=ni(l.parentScopes,u.parentScopes),d!==0)?d: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 Xc(t),s=new li(a,n.getId(r),n.getId(o)),i=new Qc(new so(0,null,-1,0,0),[]);for(let l=0,u=e.length;l<u;l++){let d=e[l];i.insert(0,d.scope,d.parentScopes,d.fontStyle,n.getId(d.foreground),n.getId(d.background))}return new da(n,s,i)}var Xc=class{_isFrozen;_lastColorId;_id2color;_color2id;constructor(e){if(this._lastColorId=0,this._id2color=[],this._color2id=Object.create(null),Array.isArray(e)){this._isFrozen=!0;for(let t=0,a=e.length;t<a;t++)this._color2id[e[t]]=t,this._id2color[t]=e[t]}else this._isFrozen=!1}getId(e){if(e===null)return 0;e=e.toUpperCase();let t=this._color2id[e];if(t)return t;if(this._isFrozen)throw new Error(`Missing color in color map - ${e}`);return t=++this._lastColorId,this._color2id[e]=t,this._id2color[t]=e,t}getColorMap(){return this._id2color.slice(0)}},Kc=Object.freeze([]),so=class ui{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,r,o,n){this.scopeDepth=t,this.parentScopes=a||Kc,this.fontStyle=r,this.foreground=o,this.background=n}clone(){return new ui(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)}},Qc=class io{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(io._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 d;this._children.hasOwnProperty(l)?d=this._children[l]:(d=new io(this._mainRule.clone(),so.cloneArr(this._rulesWithParentScopes)),this._children[l]=d),d.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(ni(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 so(t,a,r,o,n))}},wt=class Ue{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){let a=Ue.getLanguageId(t),r=Ue.getTokenType(t),o=Ue.getFontStyle(t),n=Ue.getForeground(t),s=Ue.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=Ue.getLanguageId(t),u=Ue.getTokenType(t),d=Ue.containsBalancedBrackets(t)?1:0,c=Ue.getFontStyle(t),f=Ue.getForeground(t),p=Ue.getBackground(t);return a!==0&&(l=a),r!==8&&(u=r),o!==null&&(d=o?1:0),n!==-1&&(c=n),s!==0&&(f=s),i!==0&&(p=i),(l<<0|u<<8|d<<10|c<<11|f<<15|p<<24)>>>0}};function Wa(e,t){let a=[],r=Jc(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(Ks(o)){let l=[];do l.push(o),o=r.next();while(Ks(o));return u=>t(l,u)}return null}function s(){let l=[],u=n();for(;u;)l.push(u),u=n();return d=>l.every(c=>c(d))}function i(){let l=[],u=s();for(;u&&(l.push(u),o==="|"||o===",");){do o=r.next();while(o==="|"||o===",");u=s()}return d=>l.some(c=>c(d))}}function Ks(e){return!!e&&!!e.match(/[\w\.:]+/)}function Jc(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 di(e){typeof e.dispose=="function"&&e.dispose()}var ca=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},Yc=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},Zc=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))}},ef=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new ca(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new Zc;for(let a of e)tf(a,this.initialScopeName,this.repo,t);for(let a of t.references)if(a instanceof ca){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 tf(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 ca?qa({baseGrammar:n,selfGrammar:o},r):lo(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 ca(i))}function lo(e,t,a){if(t.repository&&t.repository[e]){let r=t.repository[e];Ga([r],t,a)}}function qa(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&Ga(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&Ga(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function Ga(e,t,a){for(let r of e){if(a.visitedRule.has(r))continue;a.visitedRule.add(r);let o=r.repository?ai({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&Ga(r.patterns,{...t,repository:o},a);let n=r.include;if(!n)continue;let s=ci(n);switch(s.kind){case 0:qa({...t,selfGrammar:t.baseGrammar},a);break;case 1:qa(t,a);break;case 2:lo(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?lo(s.ruleName,l,a):qa(l,a)}else s.kind===4?a.add(new Yc(s.scopeName,s.ruleName)):a.add(new ca(s.scopeName));break}}}var af=class{kind=0},rf=class{kind=1},of=class{constructor(e){this.ruleName=e}kind=2},nf=class{constructor(e){this.scopeName=e}kind=3},sf=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function ci(e){if(e==="$base")return new af;if(e==="$self")return new rf;let t=e.indexOf("#");if(t===-1)return new nf(e);if(t===0)return new of(e.substring(1));{let a=e.substring(0,t),r=e.substring(t+1);return new sf(a,r)}}var lf=/\\(\d+)/,Qs=/\\(\d+)/g;var uf=-1,fi=-2;var ma=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,a,r){this.$location=e,this.id=t,this._name=a||null,this._nameIsCapturing=Na.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=Na.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${ri(this.$location.filename)}:${this.$location.line}`:"unknown";return`${this.constructor.name}#${this.id} @ ${e}`}getName(e,t){return!this._nameIsCapturing||this._name===null||e===null||t===null?this._name:Na.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:Na.replaceCaptures(this._contentName,e,t)}},df=class extends ma{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!")}},cf=class extends ma{_match;captures;_cachedCompiledPatterns;constructor(e,t,a,r,o){super(e,t,a,null),this._match=new fa(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 pa,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Js=class extends ma{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 pa,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},uo=class extends ma{_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 fa(o,this.id),this.beginCaptures=n,this._end=new fa(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 pa;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}},Va=class extends ma{_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 fa(o,this.id),this.beginCaptures=n,this.whileCaptures=i,this._while=new fa(s,fi),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 pa;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 pa,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},pi=class Pe{static createCaptureRule(t,a,r,o,n){return t.registerRule(s=>new df(a,s,r,o,n))}static getCompiledRuleId(t,a,r){return t.id||a.registerRule(o=>{if(t.id=o,t.match)return new cf(t.$vscodeTextmateLocation,t.id,t.name,t.match,Pe._compileCaptures(t.captures,a,r));if(typeof t.begin>"u"){t.repository&&(r=ai({},r,t.repository));let n=t.patterns;return typeof n>"u"&&t.include&&(n=[{include:t.include}]),new Js(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,Pe._compilePatterns(n,a,r))}return t.while?new Va(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,Pe._compileCaptures(t.beginCaptures||t.captures,a,r),t.while,Pe._compileCaptures(t.whileCaptures||t.captures,a,r),Pe._compilePatterns(t.patterns,a,r)):new uo(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,Pe._compileCaptures(t.beginCaptures||t.captures,a,r),t.end,Pe._compileCaptures(t.endCaptures||t.captures,a,r),t.applyEndPatternLast,Pe._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=Pe.getCompiledRuleId(t[s],a,r)),o[i]=Pe.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=ci(i.include);switch(u.kind){case 0:case 1:l=Pe.getCompiledRuleId(r[i.include],a,r);break;case 2:let d=r[u.ruleName];d&&(l=Pe.getCompiledRuleId(d,a,r));break;case 3:case 4:let c=u.scopeName,f=u.kind===4?u.ruleName:null,p=a.getExternalGrammar(c,r);if(p)if(f){let m=p.repository[f];m&&(l=Pe.getCompiledRuleId(m,a,p.repository))}else l=Pe.getCompiledRuleId(p.repository.$self,a,p.repository);break}}else l=Pe.getCompiledRuleId(i,a,r);if(l!==-1){let u=a.getRule(l),d=!1;if((u instanceof Js||u instanceof uo||u instanceof Va)&&u.hasMissingPatterns&&u.patterns.length===0&&(d=!0),d)continue;o.push(l)}}return{patterns:o,hasMissingPatterns:(t?t.length:0)!==o.length}}},fa=class mi{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=lf.test(this.source):this.hasBackReferences=!1}clone(){return new mi(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 Qs.lastIndex=0,this.source.replace(Qs,(o,n)=>si(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}},pa=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 Ys(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 Ys(e,r,this._items.map(o=>o.ruleId))}},Ys=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(`
5
+ `)}findNextMatchSync(e,t,a){let r=this.scanner.findNextMatchSync(e,t,a);return r?{ruleId:this.rules[r.index],captureIndices:r.captureIndices}:null}},no=class{constructor(e,t){this.languageId=e,this.tokenType=t}},ff=class co{_defaultAttributes;_embeddedLanguagesMatcher;constructor(t,a){this._defaultAttributes=new no(t,8),this._embeddedLanguagesMatcher=new pf(Object.entries(a||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?co._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new no(0,0);_getBasicScopeAttributes=new ii(t=>{let a=this._scopeToLanguage(t),r=this._toStandardTokenType(t);return new no(a,r)});_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){let a=t.match(co.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/},pf=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])=>si(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])}},jL={InDebugMode:typeof process<"u"&&!!process.env.VSCODE_TEXTMATE_DEBUG},hi=!1,Zs=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function gi(e,t,a,r,o,n,s,i){let l=t.content.length,u=!1,d=-1;if(s){let p=mf(e,t,a,r,o,n);o=p.stack,r=p.linePos,a=p.isFirstLine,d=p.anchorPosition}let c=Date.now();for(;!u;){if(i!==0&&Date.now()-c>i)return new Zs(o,!0);f()}return new Zs(o,!1);function f(){let p=hf(e,t,a,r,o,d);if(!p){n.produce(o,l),u=!0;return}let m=p.captureIndices,L=p.matchedRuleId,x=m&&m.length>0?m[0].end>r:!1;if(L===uf){let w=o.getRule(e);n.produce(o,m[0].start),o=o.withContentNameScopesList(o.nameScopesList),la(e,t,a,o,n,w.endCaptures,m),n.produce(o,m[0].end);let C=o;if(o=o.parent,d=C.getAnchorPos(),!x&&C.getEnterPos()===r){o=C,n.produce(o,l),u=!0;return}}else{let w=e.getRule(L);n.produce(o,m[0].start);let C=o,h=w.getName(t.content,m),I=o.contentNameScopesList.pushAttributed(h,e);if(o=o.push(L,r,d,m[0].end===l,null,I,I),w instanceof uo){let S=w;la(e,t,a,o,n,S.beginCaptures,m),n.produce(o,m[0].end),d=m[0].end;let v=S.getContentName(t.content,m),U=I.pushAttributed(v,e);if(o=o.withContentNameScopesList(U),S.endHasBackReferences&&(o=o.withEndRule(S.getEndWithResolvedBackReferences(t.content,m))),!x&&C.hasSameRuleAs(o)){o=o.pop(),n.produce(o,l),u=!0;return}}else if(w instanceof Va){let S=w;la(e,t,a,o,n,S.beginCaptures,m),n.produce(o,m[0].end),d=m[0].end;let v=S.getContentName(t.content,m),U=I.pushAttributed(v,e);if(o=o.withContentNameScopesList(U),S.whileHasBackReferences&&(o=o.withEndRule(S.getWhileWithResolvedBackReferences(t.content,m))),!x&&C.hasSameRuleAs(o)){o=o.pop(),n.produce(o,l),u=!0;return}}else if(la(e,t,a,o,n,w.captures,m),n.produce(o,m[0].end),o=o.pop(),!x){o=o.safePop(),n.produce(o,l),u=!0;return}}m[0].end>r&&(r=m[0].end,a=!1)}}function mf(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 Va&&i.push({rule:u,stack:l})}for(let l=i.pop();l;l=i.pop()){let{ruleScanner:u,findOptions:d}=xf(l.rule,e,l.stack.endRule,a,r===s),c=u.findNextMatchSync(t,r,d);if(c){if(c.ruleId!==fi){o=l.stack.pop();break}c.captureIndices&&c.captureIndices.length&&(n.produce(l.stack,c.captureIndices[0].start),la(e,t,a,l.stack,n,l.rule.whileCaptures,c.captureIndices),n.produce(l.stack,c.captureIndices[0].end),s=c.captureIndices[0].end,c.captureIndices[0].end>r&&(r=c.captureIndices[0].end,a=!1))}else{o=l.stack.pop();break}}return{stack:o,linePos:r,anchorPosition:s,isFirstLine:a}}function hf(e,t,a,r,o,n){let s=gf(e,t,a,r,o,n),i=e.getInjections();if(i.length===0)return s;let l=wf(i,e,t,a,r,o,n);if(!l)return s;if(!s)return l;let u=s.captureIndices[0].start,d=l.captureIndices[0].start;return d<u||l.priorityMatch&&d===u?l:s}function gf(e,t,a,r,o,n){let s=o.getRule(e),{ruleScanner:i,findOptions:l}=wi(s,e,o.endRule,a,r===n),u=i.findNextMatchSync(t,r,l);return u?{captureIndices:u.captureIndices,matchedRuleId:u.ruleId}:null}function wf(e,t,a,r,o,n,s){let i=Number.MAX_VALUE,l=null,u,d=0,c=n.contentNameScopesList.getScopeNames();for(let f=0,p=e.length;f<p;f++){let m=e[f];if(!m.matcher(c))continue;let L=t.getRule(m.ruleId),{ruleScanner:x,findOptions:w}=wi(L,t,null,r,o===s),C=x.findNextMatchSync(a,o,w);if(!C)continue;let h=C.captureIndices[0].start;if(!(h>=i)&&(i=h,l=C.captureIndices,u=C.ruleId,d=m.priority,i===o))break}return l?{priorityMatch:d===-1,captureIndices:l,matchedRuleId:u}:null}function wi(e,t,a,r,o){if(hi){let s=e.compile(t,a),i=xi(r,o);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileAG(t,a,r,o),findOptions:0}}function xf(e,t,a,r,o){if(hi){let s=e.compileWhile(t,a),i=xi(r,o);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileWhileAG(t,a,r,o),findOptions:0}}function xi(e,t){let a=0;return e||(a|=1),t||(a|=4),a}function la(e,t,a,r,o,n,s){if(n.length===0)return;let i=t.content,l=Math.min(n.length,s.length),u=[],d=s[0].end;for(let c=0;c<l;c++){let f=n[c];if(f===null)continue;let p=s[c];if(p.length===0)continue;if(p.start>d)break;for(;u.length>0&&u[u.length-1].endPos<=p.start;)o.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop();if(u.length>0?o.produceFromScopes(u[u.length-1].scopes,p.start):o.produce(r,p.start),f.retokenizeCapturedWithRuleId){let L=f.getName(i,s),x=r.contentNameScopesList.pushAttributed(L,e),w=f.getContentName(i,s),C=x.pushAttributed(w,e),h=r.push(f.retokenizeCapturedWithRuleId,p.start,-1,!1,null,x,C),I=e.createOnigString(i.substring(0,p.end));gi(e,I,a&&p.start===0,p.start,h,o,!1,0),di(I);continue}let m=f.getName(i,s);if(m!==null){let x=(u.length>0?u[u.length-1].scopes:r.contentNameScopesList).pushAttributed(m,e);u.push(new If(x,p.end))}}for(;u.length>0;)o.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop()}var If=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function Lf(e,t,a,r,o,n,s,i){return new Sf(e,t,a,r,o,n,s,i)}function ei(e,t,a,r,o){let n=Wa(t,za),s=pi.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 za(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(Cf(t[o],r))return a=o+1,!0;return!1})}function Cf(e,t){if(!e)return!1;if(e===t)return!0;let a=t.length;return e.length>a&&e.substr(0,a)===t&&e[a]==="."}var Sf=class{constructor(e,t,a,r,o,n,s,i){if(this._rootScopeName=e,this.balancedBracketSelectors=n,this._onigLib=i,this._basicScopeAttributesProvider=new ff(a,r),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=s,this._grammar=ti(t,null),this._injections=null,this._tokenTypeMatchers=[],o)for(let l of Object.keys(o)){let u=Wa(l,za);for(let d of u)this._tokenTypeMatchers.push({matcher:d.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)ei(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&&ei(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]=ti(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=pi.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let o;if(!t||t===fo.NULL){o=!0;let u=this._basicScopeAttributesProvider.getDefaultAttributes(),d=this.themeProvider.getDefaults(),c=wt.set(0,u.languageId,u.tokenType,null,d.fontStyle,d.foregroundId,d.backgroundId),f=this.getRule(this._rootId).getName(null,null),p;f?p=ua.createRootAndLookUpScopeName(f,c,this):p=ua.createRoot("unknown",c),t=new fo(null,this._rootId,-1,-1,!1,null,p,p)}else o=!1,t.reset();e=e+`
6
6
  `;let n=this.createOnigString(e),s=n.content.length,i=new bf(a,e,this._tokenTypeMatchers,this.balancedBracketSelectors),l=gi(this,n,o,0,t,i,!0,r);return di(n),{lineLength:s,lineTokens:i,ruleStack:l.stack,stoppedEarly:l.stoppedEarly}}};function ti(e,t){return e=Hc(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 ua=class je{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=oo.push(o,n.scopeNames),r=new je(r,o,n.encodedTokenAttributes);return r}static createRoot(t,a){return new je(null,new oo(null,t),a)}static createRootAndLookUpScopeName(t,a,r){let o=r.getMetadataForScope(t),n=new oo(null,t),s=r.themeProvider.themeMatch(n),i=je.mergeAttributes(a,o,s);return new je(null,n,i)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return je.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),wt.set(t,a.languageId,a.tokenType,null,o,n,s)}pushAttributed(t,a){if(t===null)return this;if(t.indexOf(" ")===-1)return je._pushAttributed(this,t,a);let r=t.split(/ /g),o=this;for(let n of r)o=je._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=je.mergeAttributes(t.tokenAttributes,o,s);return new je(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}},fo=class gt{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 gt(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:gt._equals(this,t)}static _equals(t,a){return t===a?!0:this._structuralEquals(t,a)?ua.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(){gt._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,a,r,o,n,s,i){return new gt(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 gt(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=ua.fromExtension(t?.nameScopesList??null,a.nameScopesList);return new gt(t,a.ruleId,a.enterPos??-1,a.anchorPos??-1,a.beginRuleCapturedEOL,a.endRule,r,ua.fromExtension(r,a.contentNameScopesList))}},yf=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(a=>a==="*"?(this.allowAny=!0,[]):Wa(a,za).map(r=>r.matcher)),this.unbalancedBracketScopes=t.flatMap(a=>Wa(a,za).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}},bf=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=wt.set(r,0,s.type,null,-1,0,0));this.balancedBracketSelectors&&(o=this.balancedBracketSelectors.match(n))}if(o&&(r=wt.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}},kf=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,Lf(e,n,t,a,r,o,this,this._onigLib))}return this._grammars.get(e)}},Ii=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new kf(da.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(da.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 yf(a.balancedBracketSelectors||[],a.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,a,r,o){let n=new ef(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)}},ja=fo.NULL;var Tf=/["&'<>`]/g,vf=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Pf=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,Af=/[|\\{}()[\]^$+*?.]/g,Li=new WeakMap;function Ci(e,t){if(e=e.replace(t.subset?Rf(t.subset):Tf,r),t.subset||t.escapeOnly)return e;return e.replace(vf,a).replace(Pf,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 Rf(e){let t=Li.get(e);return t||(t=Mf(e),Li.set(e,t)),t}function Mf(e){let t=[],a=-1;for(;++a<e.length;)t.push(e[a].replace(Af,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}var Ff=/[\dA-Fa-f]/;function Si(e,t,a){let r="&#x"+e.toString(16).toUpperCase();return a&&t&&!Ff.test(String.fromCharCode(t))?r:r+";"}var Df=/\d/;function yi(e,t,a){let r="&#"+String(e);return a&&t&&!Df.test(String.fromCharCode(t))?r:r+";"}var bi=["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 $a={nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",frac34:"\xBE",iquest:"\xBF",Agrave:"\xC0",Aacute:"\xC1",Acirc:"\xC2",Atilde:"\xC3",Auml:"\xC4",Aring:"\xC5",AElig:"\xC6",Ccedil:"\xC7",Egrave:"\xC8",Eacute:"\xC9",Ecirc:"\xCA",Euml:"\xCB",Igrave:"\xCC",Iacute:"\xCD",Icirc:"\xCE",Iuml:"\xCF",ETH:"\xD0",Ntilde:"\xD1",Ograve:"\xD2",Oacute:"\xD3",Ocirc:"\xD4",Otilde:"\xD5",Ouml:"\xD6",times:"\xD7",Oslash:"\xD8",Ugrave:"\xD9",Uacute:"\xDA",Ucirc:"\xDB",Uuml:"\xDC",Yacute:"\xDD",THORN:"\xDE",szlig:"\xDF",agrave:"\xE0",aacute:"\xE1",acirc:"\xE2",atilde:"\xE3",auml:"\xE4",aring:"\xE5",aelig:"\xE6",ccedil:"\xE7",egrave:"\xE8",eacute:"\xE9",ecirc:"\xEA",euml:"\xEB",igrave:"\xEC",iacute:"\xED",icirc:"\xEE",iuml:"\xEF",eth:"\xF0",ntilde:"\xF1",ograve:"\xF2",oacute:"\xF3",ocirc:"\xF4",otilde:"\xF5",ouml:"\xF6",divide:"\xF7",oslash:"\xF8",ugrave:"\xF9",uacute:"\xFA",ucirc:"\xFB",uuml:"\xFC",yacute:"\xFD",thorn:"\xFE",yuml:"\xFF",fnof:"\u0192",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039A",Lambda:"\u039B",Mu:"\u039C",Nu:"\u039D",Xi:"\u039E",Omicron:"\u039F",Pi:"\u03A0",Rho:"\u03A1",Sigma:"\u03A3",Tau:"\u03A4",Upsilon:"\u03A5",Phi:"\u03A6",Chi:"\u03A7",Psi:"\u03A8",Omega:"\u03A9",alpha:"\u03B1",beta:"\u03B2",gamma:"\u03B3",delta:"\u03B4",epsilon:"\u03B5",zeta:"\u03B6",eta:"\u03B7",theta:"\u03B8",iota:"\u03B9",kappa:"\u03BA",lambda:"\u03BB",mu:"\u03BC",nu:"\u03BD",xi:"\u03BE",omicron:"\u03BF",pi:"\u03C0",rho:"\u03C1",sigmaf:"\u03C2",sigma:"\u03C3",tau:"\u03C4",upsilon:"\u03C5",phi:"\u03C6",chi:"\u03C7",psi:"\u03C8",omega:"\u03C9",thetasym:"\u03D1",upsih:"\u03D2",piv:"\u03D6",bull:"\u2022",hellip:"\u2026",prime:"\u2032",Prime:"\u2033",oline:"\u203E",frasl:"\u2044",weierp:"\u2118",image:"\u2111",real:"\u211C",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21B5",lArr:"\u21D0",uArr:"\u21D1",rArr:"\u21D2",dArr:"\u21D3",hArr:"\u21D4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220B",prod:"\u220F",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221A",prop:"\u221D",infin:"\u221E",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222A",int:"\u222B",there4:"\u2234",sim:"\u223C",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22A5",sdot:"\u22C5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230A",rfloor:"\u230B",lang:"\u2329",rang:"\u232A",loz:"\u25CA",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666",quot:'"',amp:"&",lt:"<",gt:">",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",circ:"\u02C6",tilde:"\u02DC",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",permil:"\u2030",lsaquo:"\u2039",rsaquo:"\u203A",euro:"\u20AC"};var ki=["cent","copy","divide","gt","lt","not","para","times"];var Ti={}.hasOwnProperty,mo={},Xa;for(Xa in $a)Ti.call($a,Xa)&&(mo[$a[Xa]]=Xa);var Ef=/[^\dA-Za-z]/;function vi(e,t,a,r){let o=String.fromCharCode(e);if(Ti.call(mo,o)){let n=mo[o],s="&"+n;return a&&bi.includes(n)&&!ki.includes(n)&&(!r||t&&t!==61&&Ef.test(String.fromCharCode(t)))?s:s+";"}return""}function Pi(e,t,a){let r=Si(e,t,a.omitOptionalSemicolons),o;if((a.useNamedReferences||a.useShortestReferences)&&(o=vi(e,t,a.omitOptionalSemicolons,a.attribute)),(a.useShortestReferences||!o)&&a.useShortestReferences){let n=yi(e,t,a.omitOptionalSemicolons);n.length<r.length&&(r=n)}return o&&(!a.useShortestReferences||o.length<r.length)?o:r}function Je(e,t){return Ci(e,Object.assign({format:Pi},t))}var Bf=/^>|^->|<!--|-->|--!>|<!-$/g,_f=[">"],Uf=["<",">"];function Ai(e,t,a,r){return r.settings.bogusComments?"<?"+Je(e.value,Object.assign({},r.settings.characterReferences,{subset:_f}))+">":"<!--"+e.value.replace(Bf,o)+"-->";function o(n){return Je(n,Object.assign({},r.settings.characterReferences,{subset:Uf}))}}function Ri(e,t,a,r){return"<!"+(r.settings.upperDoctype?"DOCTYPE":"doctype")+(r.settings.tightDoctype?"":" ")+"html>"}var pe=Mi(1),ho=Mi(-1),Of=[];function Mi(e){return t;function t(a,r,o){let n=a?a.children:Of,s=(r||0)+e,i=n[s];if(!o)for(;i&&Tt(i);)s+=e,i=n[s];return i}}var Nf={}.hasOwnProperty;function Ka(e){return t;function t(a,r,o){return Nf.call(e,a.tagName)&&e[a.tagName](a,r,o)}}var ha=Ka({body:qf,caption:go,colgroup:go,dd:zf,dt:Vf,head:go,html:Hf,li:Gf,optgroup:jf,option:$f,p:Wf,rp:Fi,rt:Fi,tbody:Kf,td:Di,tfoot:Qf,th:Di,thead:Xf,tr:Jf});function go(e,t,a){let r=pe(a,t,!0);return!r||r.type!=="comment"&&!(r.type==="text"&&Tt(r.value.charAt(0)))}function Hf(e,t,a){let r=pe(a,t);return!r||r.type!=="comment"}function qf(e,t,a){let r=pe(a,t);return!r||r.type!=="comment"}function Wf(e,t,a){let r=pe(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 Gf(e,t,a){let r=pe(a,t);return!r||r.type==="element"&&r.tagName==="li"}function Vf(e,t,a){let r=pe(a,t);return!!(r&&r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd"))}function zf(e,t,a){let r=pe(a,t);return!r||r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd")}function Fi(e,t,a){let r=pe(a,t);return!r||r.type==="element"&&(r.tagName==="rp"||r.tagName==="rt")}function jf(e,t,a){let r=pe(a,t);return!r||r.type==="element"&&r.tagName==="optgroup"}function $f(e,t,a){let r=pe(a,t);return!r||r.type==="element"&&(r.tagName==="option"||r.tagName==="optgroup")}function Xf(e,t,a){let r=pe(a,t);return!!(r&&r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot"))}function Kf(e,t,a){let r=pe(a,t);return!r||r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot")}function Qf(e,t,a){return!pe(a,t)}function Jf(e,t,a){let r=pe(a,t);return!r||r.type==="element"&&r.tagName==="tr"}function Di(e,t,a){let r=pe(a,t);return!r||r.type==="element"&&(r.tagName==="td"||r.tagName==="th")}var Ei=Ka({body:ep,colgroup:tp,head:Zf,html:Yf,tbody:ap});function Yf(e){let t=pe(e,-1);return!t||t.type!=="comment"}function Zf(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 ep(e){let t=pe(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&Tt(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function tp(e,t,a){let r=ho(a,t),o=pe(e,-1,!0);return a&&r&&r.type==="element"&&r.tagName==="colgroup"&&ha(r,a.children.indexOf(r),a)?!1:!!(o&&o.type==="element"&&o.tagName==="col")}function ap(e,t,a){let r=ho(a,t),o=pe(e,-1);return a&&r&&r.type==="element"&&(r.tagName==="thead"||r.tagName==="tbody")&&ha(r,a.children.indexOf(r),a)?!1:!!(o&&o.type==="element"&&o.tagName==="tr")}var Qa={name:[[`
7
7
  \f\r &/=>`.split(""),`
8
8
  \f\r "&'/=>\``.split("")],[`\0
@@ -11,9 +11,9 @@ ${V}`}]}}v.current({...H,...q?{modelContext:q}:{}})}j({jsonrpc:"2.0",id:M,result
11
11
  \f\r &>`.split(""),`\0
12
12
  \f\r "&'<=>\``.split("")],[`\0
13
13
  \f\r "&'<=>\``.split(""),`\0
14
- \f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function Bi(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=va);let u=rp(r,e.properties),d=r.all(o.space==="html"&&e.tagName==="template"?e.content:e);return r.schema=o,d&&(s=!1),(u||!n||!Ei(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(d),!s&&(!n||!ha(e,t,a))&&i.push("</"+e.tagName+">"),i.join("")}function rp(e,t){let a=[],r=-1,o;if(t){for(o in t)if(t[o]!==null&&t[o]!==void 0){let n=op(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 op(e,t,a){let r=Cn(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=Je(r.attribute,Object.assign({},e.settings.characterReferences,{subset:Qa.name[o][n]}));return a===!0||(a=Array.isArray(a)?(r.commaSeparated?yn:bn)(a,{padLeft:!e.settings.tightCommaSeparatedLists}):String(a),e.settings.collapseEmptyAttributes&&!a)?l:(e.settings.preferUnquoted&&(i=Je(a,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:Qa.unquoted[o][n]}))),i!==a&&(e.settings.quoteSmart&&Ar(a,s)>Ar(a,e.alternative)&&(s=e.alternative),i=s+Je(a,Object.assign({},e.settings.characterReferences,{subset:(s==="'"?Qa.single:Qa.double)[o][n],attribute:!0}))+s),l+(i&&"="+i))}var np=["<","&"];function Ja(e,t,a,r){return a&&a.type==="element"&&(a.tagName==="script"||a.tagName==="style")?e.value:Je(e.value,Object.assign({},r.settings.characterReferences,{subset:np}))}function _i(e,t,a,r){return r.settings.allowDangerousHtml?e.value:Ja(e,t,a,r)}function Ui(e,t,a,r){return r.all(e)}var Oi=kn("type",{invalid:sp,unknown:ip,handlers:{comment:Ai,doctype:Ri,element:Bi,raw:_i,root:Ui,text:Ja}});function sp(e){throw new Error("Expected node, not `"+e+"`")}function ip(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var lp={},up={},dp=[];function wo(e,t){let a=t||lp,r=a.quote||'"',o=r==='"'?"'":'"';if(r!=='"'&&r!=="'")throw new Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:cp,all:fp,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||Tn,characterReferences:a.characterReferences||up,closeSelfClosing:a.closeSelfClosing||!1,closeEmptyElements:a.closeEmptyElements||!1},schema:a.space==="svg"?va:Sn,quote:r,alternative:o}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function cp(e,t,a){return Oi(e,t,a,this)}function fp(e){let t=[],a=e&&e.children||dp,r=-1;for(;++r<a.length;)t[r]=this.one(a[r],r,e);return t.join("")}function Ya(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 ut(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function pp(e){return Array.isArray(e)?e:[e]}async function zi(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function yo(e){return!e||["plaintext","txt","text","plain"].includes(e)}function ji(e){return e==="ansi"||yo(e)}function bo(e){return e==="none"}function $i(e){return bo(e)}function Xi(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 rr(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 mp(e){let t=rr(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 Ki(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 ko="light-dark()",hp=["color","background-color"];function gp(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 wp(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?gp(o,n):o})):e}function xp(e,t,a,r,o="css-vars"){let n={content:e.content,explanation:e.explanation,offset:e.offset},s=t.map(d=>Za(e.variants[d])),i=new Set(s.flatMap(d=>Object.keys(d))),l={},u=(d,c)=>{let f=c==="color"?"":c==="background-color"?"-bg":`-${c}`;return a+t[d]+(c==="color"?"":f)};return s.forEach((d,c)=>{for(let f of i){let p=d[f]||"inherit";if(c===0&&r&&hp.includes(f))if(r===ko&&s.length>1){let m=t.findIndex(C=>C==="light"),L=t.findIndex(C=>C==="dark");if(m===-1||L===-1)throw new ue('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let x=s[m][f]||"inherit",w=s[L][f]||"inherit";l[f]=`light-dark(${x}, ${w})`,o==="css-vars"&&(l[u(c,f)]=p)}else l[f]=p;else o==="css-vars"&&(l[u(c,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&ke.Italic&&(t["font-style"]="italic"),e.fontStyle&ke.Bold&&(t["font-weight"]="bold");let a=[];e.fontStyle&ke.Underline&&a.push("underline"),e.fontStyle&ke.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 Qi=new WeakMap;function or(e,t){Qi.set(e,t)}function wa(e){return Qi.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(pp(a).map(r=>[r,ja])),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 Ip(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function Ip(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 Lp(e,t){if(!(e instanceof Bt))throw new ue("Invalid grammar state");return e.getInternalStack(t)}function Cp(){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 ue(`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 ue(`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 ue(`Invalid decoration position ${JSON.stringify(s)}. Line ${s.line} length: ${i.length}`);return{...s,character:l,offset:o.posToIndex(s.line,l)}}},o=mp(a.source),n=(a.options.decorations||[]).map(s=>({...s,start:r(s.start),end:r(s.end)}));Sp(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 wp(a,o)},code(a){if(!this.options.decorations?.length)return;let r=t(this),o=Array.from(a.children).filter(d=>d.type==="element"&&d.tagName==="span");if(o.length!==r.converter.lines.length)throw new ue(`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(d,c,f,p){let m=o[d],L="",x=-1,w=-1;if(c===0&&(x=0),f===0&&(w=0),f===Number.POSITIVE_INFINITY&&(w=m.children.length),x===-1||w===-1)for(let h=0;h<m.children.length;h++)L+=Ji(m.children[h]),x===-1&&L.length===c&&(x=h+1),w===-1&&L.length===f&&(w=h+1);if(x===-1)throw new ue(`Failed to find start index for decoration ${JSON.stringify(p.start)}`);if(w===-1)throw new ue(`Failed to find end index for decoration ${JSON.stringify(p.end)}`);let C=m.children.slice(x,w);if(!p.alwaysWrap&&C.length===m.children.length)i(m,p,"line");else if(!p.alwaysWrap&&C.length===1&&C[0].type==="element")i(C[0],p,"token");else{let h={type:"element",tagName:"span",properties:{},children:C};i(h,p,"wrapper"),m.children.splice(x,C.length,h)}}function s(d,c){o[d]=i(o[d],c,"line")}function i(d,c,f){let p=c.properties||{},m=c.transform||(L=>L);return d.tagName=c.tagName||"span",d.properties={...d.properties,...p,class:d.properties.class},c.properties?.class&&Xi(d,c.properties.class),d=m(d,f)||d,d}let l=[],u=r.decorations.sort((d,c)=>c.start.offset-d.start.offset||d.end.offset-c.end.offset);for(let d of u){let{start:c,end:f}=d;if(c.line===f.line)n(c.line,c.character,f.character,d);else if(c.line<f.line){n(c.line,c.character,Number.POSITIVE_INFINITY,d);for(let p=c.line+1;p<f.line;p++)l.unshift(()=>s(p,d));n(f.line,0,f.character,d)}}l.forEach(d=>d())}}}function Sp(e){for(let t=0;t<e.length;t++){let a=e[t];if(a.start.offset>a.end.offset)throw new ue(`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 ue(`Decorations ${JSON.stringify(a.start)} and ${JSON.stringify(o.start)} intersect.`)}}}}function Ji(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(Ji).join(""):""}var yp=[Cp()];function er(e){let t=bp(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...yp]}function bp(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 xt=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],xo={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function kp(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 Ni(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 Tp(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)xo[r]&&t.push({type:"setDecoration",value:xo[r]});else if(r<=29){let o=xo[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:xt[r-30]}});else if(r===38){let o=Ni(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:xt[r-40]}});else if(r===48){let o=Ni(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:xt[r-90+8]}}):r>=100&&r<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:xt[r-100+8]}})}return t}function vp(){let e=null,t=null,a=new Set;return{parse(r){let o=[],n=0;do{let s=kp(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=Tp(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 Pp={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 Ap(e=Pp){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<xt.length;u++)r.push(t(xt[u]));let i=[0,95,135,175,215,255];for(let u=0;u<6;u++)for(let d=0;d<6;d++)for(let c=0;c<6;c++)r.push(a([i[u],i[d],i[c]]));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 Rp={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 Mp(e,t,a){let r=Ya(e,a),o=rr(t),n=Object.fromEntries(xt.map(l=>{let u=`terminal.ansi${l[0].toUpperCase()}${l.substring(1)}`,d=e.colors?.[u];return[l,d||Rp[l]]})),s=Ap(n),i=vp();return o.map(l=>i.parse(l[0]).map(u=>{let d,c;u.decorations.has("reverse")?(d=u.background?s.value(u.background):e.bg,c=u.foreground?s.value(u.foreground):e.fg):(d=u.foreground?s.value(u.foreground):e.fg,c=u.background?s.value(u.background):void 0),d=ut(d,r),c=ut(c,r),u.decorations.has("dim")&&(d=Fp(d));let f=ke.None;return u.decorations.has("bold")&&(f|=ke.Bold),u.decorations.has("italic")&&(f|=ke.Italic),u.decorations.has("underline")&&(f|=ke.Underline),u.decorations.has("strikethrough")&&(f|=ke.Strikethrough),{content:u.value,offset:l[1],color:d,bgColor:c,fontStyle:f}}))}function Fp(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 To(e,t,a={}){let{theme:r=e.getLoadedThemes()[0]}=a,o=e.resolveLangAlias(a.lang||"text");if(yo(o)||bo(r))return rr(t).map(l=>[{content:l[0],offset:l[1]}]);let{theme:n,colorMap:s}=e.setTheme(r);if(o==="ansi")return Mp(n,t,a);let i=e.getLanguage(a.lang||"text");if(a.grammarState){if(a.grammarState.lang!==i.name)throw new ue(`Grammar state language "${a.grammarState.lang}" does not match highlight language "${i.name}"`);if(!a.grammarState.themes.includes(n.name))throw new ue(`Grammar state themes "${a.grammarState.themes}" do not contain highlight theme "${n.name}"`)}return Ep(t,i,n,s,a)}function Dp(...e){if(e.length===2)return wa(e[1]);let[t,a,r={}]=e,{lang:o="text",theme:n=t.getLoadedThemes()[0]}=r;if(yo(o)||bo(n))throw new ue("Plain language does not have grammar state");if(o==="ansi")throw new ue("ANSI language does not have grammar state");let{theme:s,colorMap:i}=t.setTheme(n),l=t.getLanguage(o);return new Bt(vo(a,l,s,i,r).stateStack,l.name,s.name)}function Ep(e,t,a,r,o){let n=vo(e,t,a,r,o),s=new Bt(n.stateStack,t.name,a.name);return or(n.tokens,s),n.tokens}function vo(e,t,a,r,o){let n=Ya(a,o),{tokenizeMaxLineLength:s=0,tokenizeTimeLimit:i=500}=o,l=rr(e),u=o.grammarState?Lp(o.grammarState,a.name)??ja:o.grammarContextCode!=null?vo(o.grammarContextCode,t,a,r,{...o,grammarState:void 0,grammarContextCode:void 0}).stateStack:ja,d=[],c=[];for(let f=0,p=l.length;f<p;f++){let[m,L]=l[f];if(m===""){d=[],c.push([]);continue}if(s>0&&m.length>=s){d=[],c.push([{content:m,offset:L,color:"",fontStyle:0}]);continue}let x,w,C;o.includeExplanation&&(x=t.tokenizeLine(m,u,i),w=x.tokens,C=0);let h=t.tokenizeLine2(m,u,i),I=h.tokens.length/2;for(let S=0;S<I;S++){let P=h.tokens[2*S],U=S+1<I?h.tokens[2*S+2]:m.length;if(P===U)continue;let E=h.tokens[2*S+1],$=ut(r[wt.getForeground(E)],n),A=wt.getFontStyle(E),v={content:m.substring(P,U),offset:L+P,color:$,fontStyle:A};if(o.includeExplanation){let _=[];if(o.includeExplanation!=="scopeName")for(let Y of a.settings){let G;switch(typeof Y.scope){case"string":G=Y.scope.split(/,/).map(T=>T.trim());break;case"object":G=Y.scope;break;default:continue}_.push({settings:Y,selectors:G.map(T=>T.split(/ /))})}v.explanation=[];let W=0;for(;P+W<U;){let Y=w[C],G=m.substring(Y.startIndex,Y.endIndex);W+=G.length,v.explanation.push({content:G,scopes:o.includeExplanation==="scopeName"?Bp(Y.scopes):_p(_,Y.scopes)}),C+=1}}d.push(v)}c.push(d),d=[],u=h.ruleStack}return{tokens:c,stateStack:u}}function Bp(e){return e.map(t=>({scopeName:t}))}function _p(e,t){let a=[];for(let r=0,o=t.length;r<o;r++){let n=t[r];a[r]={scopeName:n,themeMatches:Op(e,n,t.slice(0,r))}}return a}function Hi(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function Up(e,t,a){if(!Hi(e[e.length-1],t))return!1;let r=e.length-2,o=a.length-1;for(;r>=0&&o>=0;)Hi(e[r],a[o])&&(r-=1),o-=1;return r===-1}function Op(e,t,a){let r=[];for(let{selectors:o,settings:n}of e)for(let s of o)if(Up(s,t,a)){r.push(n);break}return r}function Yi(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=To(e,t,{...a,theme:l.theme}),d=wa(u),c=typeof l.theme=="string"?l.theme:l.theme.name;return{tokens:u,state:d,theme:c}}),n=Np(...o.map(l=>l.tokens)),s=n[0].map((l,u)=>l.map((d,c)=>{let f={content:d.content,variants:{},offset:d.offset};return"includeExplanation"in a&&a.includeExplanation&&(f.explanation=d.explanation),n.forEach((p,m)=>{let{content:L,explanation:x,offset:w,...C}=p[u][c];f.variants[r[m].color]=C}),f})),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&&or(s,i),s}function Np(...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 d=i[u];d.content.length===l?(n[u].push(d),s[u]+=1,i[u]=o[u][s[u]]):(n[u].push({...d,content:d.content.slice(0,l)}),i[u]={...d,content:d.content.slice(l),offset:d.offset+l})}}}return t}function tr(e,t,a){let r,o,n,s,i,l;if("themes"in a){let{defaultColor:u="light",cssVariablePrefix:d="--shiki-",colorsRendering:c="css-vars"}=a,f=Object.entries(a.themes).filter(w=>w[1]).map(w=>({color:w[0],theme:w[1]})).sort((w,C)=>w.color===u?-1:C.color===u?1:0);if(f.length===0)throw new ue("`themes` option must not be empty");let p=Yi(e,t,a);if(l=wa(p),u&&ko!==u&&!f.find(w=>w.color===u))throw new ue(`\`themes\` option must contain the defaultColor key \`${u}\``);let m=f.map(w=>e.getTheme(w.theme)),L=f.map(w=>w.color);n=p.map(w=>w.map(C=>xp(C,L,d,u,c))),l&&or(n,l);let x=f.map(w=>Ya(w.theme,a));o=qi(f,m,x,d,u,"fg",c),r=qi(f,m,x,d,u,"bg",c),s=`shiki-themes ${m.map(w=>w.name).join(" ")}`,i=u?void 0:[o,r].join(";")}else if("theme"in a){let u=Ya(a.theme,a);n=To(e,t,a);let d=e.getTheme(a.theme);r=ut(d.bg,u),o=ut(d.fg,u),s=d.name,l=wa(n)}else throw new ue("Invalid options, either `theme` or `themes` must be provided");return{tokens:n,fg:o,bg:r,themeName:s,rootStyle:i,grammarState:l}}function qi(e,t,a,r,o,n,s){return e.map((i,l)=>{let u=ut(t[l][n],a[l])||"inherit",d=`${r+i.color}${n==="bg"?"-bg":""}:${u}`;if(l===0&&o){if(o===ko&&e.length>1){let c=e.findIndex(L=>L.color==="light"),f=e.findIndex(L=>L.color==="dark");if(c===-1||f===-1)throw new ue('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let p=ut(t[c][n],a[c])||"inherit",m=ut(t[f][n],a[f])||"inherit";return`light-dark(${p}, ${m});${d}`}return u}return s==="css-vars"?d:null}).filter(i=>!!i).join(";")}function ar(e,t,a,r={meta:{},options:a,codeToHast:(o,n)=>ar(e,o,n),codeToTokens:(o,n)=>tr(e,o,n)}){let o=t;for(let m of er(a))o=m.preprocess?.call(r,o,a)||o;let{tokens:n,fg:s,bg:i,themeName:l,rootStyle:u,grammarState:d}=tr(e,o,a),{mergeWhitespaces:c=!0,mergeSameStyleTokens:f=!1}=a;c===!0?n=qp(n):c==="never"&&(n=Wp(n)),f&&(n=Gp(n));let p={...r,get source(){return o}};for(let m of er(a))n=m.tokens?.call(p,n)||n;return Hp(n,{...a,fg:s,bg:i,themeName:l,rootStyle:a.rootStyle===!1?!1:a.rootStyle??u},p,d)}function Hp(e,t,a,r=wa(e)){let o=er(t),n=[],s={type:"root",children:[]},{structure:i="classic",tabindex:l="0"}=t,u={class:`shiki ${t.themeName||""}`};t.rootStyle!==!1&&(t.rootStyle!=null?u.style=t.rootStyle:u.style=`background-color:${t.bg};color:${t.fg}`),l!==!1&&l!=null&&(u.tabindex=l.toString());for(let[L,x]of Object.entries(t.meta||{}))L.startsWith("_")||(u[L]=x);let d={type:"element",tagName:"pre",properties:u,children:[],data:t.data},c={type:"element",tagName:"code",properties:{},children:n},f=[],p={...a,structure:i,addClassToHast:Xi,get source(){return a.source},get tokens(){return e},get options(){return t},get root(){return s},get pre(){return d},get code(){return c},get lines(){return f}};if(e.forEach((L,x)=>{x&&(i==="inline"?s.children.push({type:"element",tagName:"br",properties:{},children:[]}):i==="classic"&&n.push({type:"text",value:`
15
- `}));let w={type:"element",tagName:"span",properties:{class:"line"},children:[]},C=0;for(let h of L){let I={type:"element",tagName:"span",properties:{...h.htmlAttrs},children:[{type:"text",value:h.content}]},S=Lo(h.htmlStyle||Za(h));S&&(I.properties.style=S);for(let P of o)I=P?.span?.call(p,I,x+1,C,w,h)||I;i==="inline"?s.children.push(I):i==="classic"&&w.children.push(I),C+=h.content.length}if(i==="classic"){for(let h of o)w=h?.line?.call(p,w,x+1)||w;f.push(w),n.push(w)}else i==="inline"&&f.push(w)}),i==="classic"){for(let L of o)c=L?.code?.call(p,c)||c;d.children.push(c);for(let L of o)d=L?.pre?.call(p,d)||d;s.children.push(d)}else if(i==="inline"){let L=[],x={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(let h of s.children)h.type==="element"&&h.tagName==="br"?(L.push(x),x={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(h.type==="element"||h.type==="text")&&x.children.push(h);L.push(x);let C={type:"element",tagName:"code",properties:{},children:L};for(let h of o)C=h?.code?.call(p,C)||C;s.children=[];for(let h=0;h<C.children.length;h++){h>0&&s.children.push({type:"element",tagName:"br",properties:{},children:[]});let I=C.children[h];I.type==="element"&&s.children.push(...I.children)}}let m=s;for(let L of o)m=L?.root?.call(p,m)||m;return r&&or(m,r),m}function qp(e){return e.map(t=>{let a=[],r="",o;return t.forEach((n,s)=>{let l=!(n.fontStyle&&(n.fontStyle&ke.Underline||n.fontStyle&ke.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 Wp(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 Gp(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&ke.Underline||o.fontStyle&ke.Strikethrough),l=r.fontStyle&&(r.fontStyle&ke.Underline||r.fontStyle&ke.Strikethrough);!i&&!l&&n===s?o.content+=r.content:a.push({...r})}return a})}var Vp=wo;function zp(e,t,a){let r={meta:{},options:a,codeToHast:(n,s)=>ar(e,n,s),codeToTokens:(n,s)=>tr(e,n,s)},o=Vp(ar(e,t,a,r));for(let n of er(a))o=n.postprocess?.call(r,o,a)||o;return o}var Wi={light:"#333333",dark:"#bbbbbb"},Gi={light:"#fffffe",dark:"#1e1e1e"},Vi="__shiki_resolved";function Po(e){if(e?.[Vi])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"?Wi.light:Wi.dark),a||(a=t.type==="light"?Gi.light:Gi.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 d={...i,settings:{...i.settings}};if(l){let c=s(i.settings.foreground);t.colorReplacements[c]=i.settings.foreground,d.settings.foreground=c}if(u){let c=s(i.settings.background);t.colorReplacements[c]=i.settings.background,d.settings.background=c}return d});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,Vi,{enumerable:!1,writable:!1,value:!0}),t}async function Zi(e){return Array.from(new Set((await Promise.all(e.filter(t=>!ji(t)).map(async t=>await zi(t).then(a=>Array.isArray(a)?a:[a])))).flat()))}async function el(e){return(await Promise.all(e.map(async a=>$i(a)?null:Po(await zi(a))))).filter(a=>!!a)}var Io=3,jp=!1;function $p(e,t=3){if(Io&&!(typeof Io=="number"&&t>Io)){if(jp)throw new Error(`[SHIKI DEPRECATE]: ${e}`);console.trace(`[SHIKI DEPRECATE]: ${e}`)}}var lt=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function tl(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 lt(`Circular alias \`${Array.from(a).join(" -> ")} -> ${e}\``);a.add(e)}}return e}var Co=class extends Ii{constructor(t,a,r,o={}){super(t),this._resolver=t,this._themes=a,this._langs=r,this._alias=o,this._themes.map(n=>this.loadTheme(n)),this.loadLanguages(this._langs)}_resolvedThemes=new Map;_resolvedGrammars=new Map;_langMap=new Map;_langGraph=new Map;_textmateThemeCache=new WeakMap;_loadedThemesCache=null;_loadedLanguagesCache=null;getTheme(t){return typeof t=="string"?this._resolvedThemes.get(t):this.loadTheme(t)}loadTheme(t){let a=Po(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=da.createFromRawTheme(t),this._textmateThemeCache.set(t,a)),this._syncRegistry.setTheme(a)}getGrammar(t){return t=tl(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 lt(`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))}},So=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}},ga=0;function Xp(e){ga+=1,e.warnings!==!1&&ga>=10&&ga%10===0&&console.warn(`[Shiki] ${ga} 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 lt("`engine` option is required for synchronous mode");let a=(e.langs||[]).flat(1),r=(e.themes||[]).flat(1).map(Po),o=new So(e.engine,a),n=new Co(o,r,a,e.langAlias),s;function i(h){return tl(h,e.langAlias)}function l(h){w();let I=n.getGrammar(typeof h=="string"?h:h.name);if(!I)throw new lt(`Language \`${h}\` not found, you may need to load it first`);return I}function u(h){if(h==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};w();let I=n.getTheme(h);if(!I)throw new lt(`Theme \`${h}\` not found, you may need to load it first`);return I}function d(h){w();let I=u(h);s!==h&&(n.setTheme(I),s=h);let S=n.getColorMap();return{theme:I,colorMap:S}}function c(){return w(),n.getLoadedThemes()}function f(){return w(),n.getLoadedLanguages()}function p(...h){w(),n.loadLanguages(h.flat(1))}async function m(...h){return p(await Zi(h))}function L(...h){w();for(let I of h.flat(1))n.loadTheme(I)}async function x(...h){return w(),L(await el(h))}function w(){if(t)throw new lt("Shiki instance has been disposed")}function C(){t||(t=!0,n.dispose(),ga-=1)}return{setTheme:d,getTheme:u,getLanguage:l,getLoadedThemes:c,getLoadedLanguages:f,resolveLangAlias:i,loadLanguage:m,loadLanguageSync:p,loadTheme:x,loadThemeSync:L,dispose:C,[Symbol.dispose]:C}}async function Kp(e){e.engine||$p("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,a,r]=await Promise.all([el(e.themes||[]),Zi(e.langs||[]),e.engine]);return Xp({...e,themes:t,langs:a,engine:r})}async function Qp(e){let t=await Kp(e);return{getLastGrammarState:(...a)=>Dp(t,...a),codeToTokensBase:(a,r)=>To(t,a,r),codeToTokensWithThemes:(a,r)=>Yi(t,a,r),codeToTokens:(a,r)=>tr(t,a,r),codeToHast:(a,r)=>ar(t,a,r),codeToHtml:(a,r)=>zp(t,a,r),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function al(e){let t=e.langs,a=e.themes,r=e.engine;async function o(n){function s(c){if(typeof c=="string"){if(c=n.langAlias?.[c]||c,ji(c))return[];let f=t[c];if(!f)throw new ue(`Language \`${c}\` is not included in this bundle. You may want to load it from external source.`);return f}return c}function i(c){if($i(c))return"none";if(typeof c=="string"){let f=a[c];if(!f)throw new ue(`Theme \`${c}\` is not included in this bundle. You may want to load it from external source.`);return f}return c}let l=(n.themes??[]).map(c=>i(c)),u=(n.langs??[]).map(c=>s(c)),d=await Qp({engine:n.engine??r(),...n,themes:l,langs:u});return{...d,loadLanguage(...c){return d.loadLanguage(...c.map(s))},loadTheme(...c){return d.loadTheme(...c.map(i))},getBundledLanguages(){return t},getBundledThemes(){return a}}}return o}function Jp(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 rl(e,t){let a=Jp(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 Ao=[{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"))}],ol=Object.fromEntries(Ao.map(e=>[e.id,e.import])),nl=Object.fromEntries(Ao.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),xa={...ol,...nl};var Yp=[{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"))}],sl=Object.fromEntries(Yp.map(e=>[e.id,e.import]));var Ia=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Zp(){return 2147483648}function em(){return typeof performance<"u"?performance.now():Date.now()}var tm=(e,t)=>e+(t-e%t)%t;async function am(e){let t,a,r={};function o(p){a=p,r.HEAPU8=new Uint8Array(p),r.HEAPU32=new Uint32Array(p)}function n(p,m,L){r.HEAPU8.copyWithin(p,m,m+L)}function s(p){try{return t.grow(p-a.byteLength+65535>>>16),o(t.buffer),1}catch{}}function i(p){let m=r.HEAPU8.length;p=p>>>0;let L=Zp();if(p>L)return!1;for(let x=1;x<=4;x*=2){let w=m*(1+.2/x);w=Math.min(w,p+100663296);let C=Math.min(L,tm(Math.max(p,w),65536));if(s(C))return!0}return!1}let l=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function u(p,m,L=1024){let x=m+L,w=m;for(;p[w]&&!(w>=x);)++w;if(w-m>16&&p.buffer&&l)return l.decode(p.subarray(m,w));let C="";for(;m<w;){let h=p[m++];if(!(h&128)){C+=String.fromCharCode(h);continue}let I=p[m++]&63;if((h&224)===192){C+=String.fromCharCode((h&31)<<6|I);continue}let S=p[m++]&63;if((h&240)===224?h=(h&15)<<12|I<<6|S:h=(h&7)<<18|I<<12|S<<6|p[m++]&63,h<65536)C+=String.fromCharCode(h);else{let P=h-65536;C+=String.fromCharCode(55296|P>>10,56320|P&1023)}}return C}function d(p,m){return p?u(r.HEAPU8,p,m):""}let c={emscripten_get_now:em,emscripten_memcpy_big:n,emscripten_resize_heap:i,fd_write:()=>0};async function f(){let m=await e({env:c,wasi_snapshot_preview1:c});t=m.memory,o(t.buffer),Object.assign(r,m),r.UTF8ToString=d}return await f(),r}var rm=Object.defineProperty,om=(e,t,a)=>t in e?rm(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,xe=(e,t,a)=>om(e,typeof t!="symbol"?t+"":t,a),ye=null;function nm(e){throw new Ia(e.UTF8ToString(e.getLastOnigError()))}var sr=class e{constructor(t){xe(this,"utf16Length"),xe(this,"utf8Length"),xe(this,"utf16Value"),xe(this,"utf8Value"),xe(this,"utf16OffsetToUtf8"),xe(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 d=t.charCodeAt(u),c=d,f=!1;if(d>=55296&&d<=56319&&u+1<a){let p=t.charCodeAt(u+1);p>=56320&&p<=57343&&(c=(d-55296<<10)+65536|p-56320,f=!0)}o&&(n[u]=l,f&&(n[u+1]=l),c<=127?s[l+0]=u:c<=2047?(s[l+0]=u,s[l+1]=u):c<=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)),c<=127?i[l++]=c:c<=2047?(i[l++]=192|(c&1984)>>>6,i[l++]=128|(c&63)>>>0):c<=65535?(i[l++]=224|(c&61440)>>>12,i[l++]=128|(c&4032)>>>6,i[l++]=128|(c&63)>>>0):(i[l++]=240|(c&1835008)>>>18,i[l++]=128|(c&258048)>>>12,i[l++]=128|(c&4032)>>>6,i[l++]=128|(c&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}},ir=class $e{constructor(t){if(xe(this,"id",++$e.LAST_ID),xe(this,"_onigBinding"),xe(this,"content"),xe(this,"utf16Length"),xe(this,"utf8Length"),xe(this,"utf16OffsetToUtf8"),xe(this,"utf8OffsetToUtf16"),xe(this,"ptr"),!ye)throw new Ia("Must invoke loadWasm first.");this._onigBinding=ye,this.content=t;let a=new sr(t);this.utf16Length=a.utf16Length,this.utf8Length=a.utf8Length,this.utf16OffsetToUtf8=a.utf16OffsetToUtf8,this.utf8OffsetToUtf16=a.utf8OffsetToUtf16,this.utf8Length<1e4&&!$e._sharedPtrInUse?($e._sharedPtr||($e._sharedPtr=ye.omalloc(1e4)),$e._sharedPtrInUse=!0,ye.HEAPU8.set(a.utf8Value,$e._sharedPtr),this.ptr=$e._sharedPtr):this.ptr=a.createString(ye)}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===$e._sharedPtr?$e._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};xe(ir,"LAST_ID",0);xe(ir,"_sharedPtr",0);xe(ir,"_sharedPtrInUse",!1);var il=ir,Mo=class{constructor(t){if(xe(this,"_onigBinding"),xe(this,"_ptr"),!ye)throw new Ia("Must invoke loadWasm first.");let a=[],r=[];for(let i=0,l=t.length;i<l;i++){let u=new sr(t[i]);a[i]=u.createString(ye),r[i]=u.utf8Length}let o=ye.omalloc(4*t.length);ye.HEAPU32.set(a,o/4);let n=ye.omalloc(4*t.length);ye.HEAPU32.set(r,n/4);let s=ye.createOnigScanner(o,n,t.length);for(let i=0,l=t.length;i<l;i++)ye.ofree(a[i]);ye.ofree(n),ye.ofree(o),s===0&&nm(ye),this._onigBinding=ye,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 il(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++],d=i[l++],c=[];for(let f=0;f<d;f++){let p=t.convertUtf8OffsetToUtf16(i[l++]),m=t.convertUtf8OffsetToUtf16(i[l++]);c[f]={start:p,end:m,length:m-p}}return{index:u,captureIndices:c}}};function sm(e){return typeof e.instantiator=="function"}function im(e){return typeof e.default=="function"}function lm(e){return typeof e.data<"u"}function um(e){return typeof Response<"u"&&e instanceof Response}function dm(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 nr;function cm(e){if(nr)return nr;async function t(){ye=await am(async a=>{let r=e;return r=await r,typeof r=="function"&&(r=await r(a)),typeof r=="function"&&(r=await r(a)),sm(r)?r=await r.instantiator(a):im(r)?r=await r.default(a):(lm(r)&&(r=r.data),um(r)?typeof WebAssembly.instantiateStreaming=="function"?r=await fm(r)(a):r=await pm(r)(a):dm(r)?r=await Ro(r)(a):r instanceof WebAssembly.Module?r=await Ro(r)(a):"default"in r&&r.default instanceof WebAssembly.Module&&(r=await Ro(r.default)(a))),"instance"in r&&(r=r.instance),"exports"in r&&(r=r.exports),r})}return nr=t(),nr}function Ro(e){return t=>WebAssembly.instantiate(e,t)}function fm(e){return t=>WebAssembly.instantiateStreaming(e,t)}function pm(e){return async t=>{let a=await e.arrayBuffer();return WebAssembly.instantiate(a,t)}}async function ll(e){return e&&await cm(e),{createScanner(t){return new Mo(t.map(a=>typeof a=="string"?a:a.source))},createString(t){return new il(t)}}}var lr=al({langs:xa,themes:sl,engine:()=>ll(import("../wasm-EOPKAILK.js"))}),{codeToHtml:mm,codeToHast:hm,codeToTokens:gm,codeToTokensBase:wm,codeToTokensWithThemes:xm,getSingletonHighlighter:Im,getLastGrammarState:Lm}=rl(lr,{guessEmbeddedLanguages:Ki});var ul=new Set(Object.keys(xa)),Fo=new Map,Do=new Map,_t=new Map,Cm=(e,t)=>`${e}-${t[0]}-${t[1]}`,Sm=(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}`},ym=(e,t)=>{let a=Cm(e,t);if(Fo.has(a))return Fo.get(a);let r=lr({themes:t,langs:[e]});return Fo.set(a,r),r};function bm(e={}){var t;let a=(t=e.themes)!=null?t:["github-light","github-dark"];return{name:"shiki",type:"code-highlighter",supportsLanguage(r){return ul.has(r)},getSupportedLanguages(){return Array.from(ul)},getThemes(){return a},highlight({code:r,language:o,themes:n},s){let i=Sm(r,o,n);return Do.has(i)?Do.get(i):(s&&(_t.has(i)||_t.set(i,new Set),_t.get(i).add(s)),ym(o,n).then(l=>{let u=l.getLoadedLanguages().includes(o)?o:"text",d=l.codeToTokens(r,{lang:u,themes:{light:n[0],dark:n[1]}});Do.set(i,d);let c=_t.get(i);if(c){for(let f of c)f(d);_t.delete(i)}}).catch(l=>{console.error("[Streamdown Code] Failed to highlight code:",l),_t.delete(i)}),null)}}}var dl=bm();import{memo as Pm}from"react";import{useEffect as km,useRef as ur,useState as Tm}from"react";var vm=5,cl=400;function fl(e,t,a={}){let{msPerChar:r=vm}=a,[o,n]=Tm(t?"":e),s=ur(e),i=ur(t?0:e.length),l=ur(0),u=ur(null);return(e.length<i.current||!e.startsWith(o.slice(0,i.current)))&&(i.current=t?0:e.length),s.current=e,km(()=>{if(!t){u.current!==null&&(cancelAnimationFrame(u.current),u.current=null),i.current=e.length,n(e);return}if(s.current.length-i.current>cl&&(i.current=s.current.length-cl),u.current!==null)return;let c=f=>{let p=s.current;if(i.current>=p.length){u.current=null;return}l.current===0&&(l.current=f);let m=f-l.current;if(m>=r){let L=Math.min(Math.floor(m/r),p.length-i.current);i.current+=L,n(p.slice(0,i.current)),l.current=f}u.current=requestAnimationFrame(c)};return u.current=requestAnimationFrame(c),()=>{u.current!==null&&(cancelAnimationFrame(u.current),u.current=null)}},[e,t,r]),o}import{jsx as dr}from"react/jsx-runtime";var Eo=({className:e,from:t,children:a,...r})=>dr("div",{className:b("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:dr("div",{className:b("ww:flex ww:min-w-0 ww:flex-col ww:gap-2","ww:w-full"),children:a})}),Bo=({children:e,className:t,...a})=>dr("div",{className:b("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}),Am={cjk:ao,code:dl},Rm={cjk:ao},Mm={enabled:!1};function Fm({className:e,linkSafety:t,isStreaming:a,children:r,...o}){let s=fl(typeof r=="string"?r:"",!!a),i=typeof r=="string"?s:r;return dr(qt,{className:b("ww:size-full ww:[&>*:first-child]:mt-0 ww:[&>*:last-child]:mb-0",e),linkSafety:t??Mm,plugins:a?Rm:Am,...o,children:i})}var cr=Pm(Fm,(e,t)=>e.children===t.children&&e.isStreaming===t.isStreaming);cr.displayName="MessageResponse";import{jsx as pl,jsxs as Dm}from"react/jsx-runtime";function ml(e){return e.type==="text"||e.type==="reasoning"||e.type==="file"||"toolCallId"in e}function hl(e){return e.parts.some(ml)}function gl(e,t,a){if(t!=="submitted"&&t!=="streaming")return!1;let r=e[e.length-1];return!r||r.role!=="assistant"?!0:!r.parts.some(n=>!(!ml(n)||a?.ignoreToolParts&&"toolCallId"in n||a?.ignoreReasoningParts&&n.type==="reasoning"))}function wl({className:e,...t}){let{t:a}=X();return Dm("div",{"aria-live":"polite",className:b("ww:mb-4 ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground",e),style:{animation:"ww-fade-in 0.2s ease-out"},...t,children:[pl(Yt,{className:"ww:size-4 ww:shrink-0"}),pl(Ne,{duration:1.6,children:a.workingIndicator.default})]})}import{jsx as La,jsxs as Em}from"react/jsx-runtime";function xl({icon:e,title:t,description:a,suggestions:r,onSuggestionSelect:o}){return Em("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&&La("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}),La("h2",{className:"ww:text-lg ww:font-semibold ww:text-foreground",children:t}),a&&La("p",{className:"ww:mt-1 ww:text-sm ww:text-muted-foreground ww:max-w-sm",children:a}),r&&r.length>0&&La("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)=>La("button",{type:"button",onClick:()=>o?.(n),className:b("ww:w-full ww:text-left ww:rounded-xl ww:border ww:border-border ww:bg-background ww:px-4 ww:py-3 ww:text-sm","ww:text-foreground ww:hover:bg-accent ww:hover:border-primary/30","ww:transition-all ww:duration-200 ww:ease-out ww:cursor-pointer","ww:animate-[ww-fade-in_0.2s_ease-out_both]"),style:{animationDelay:`${s*50}ms`},children:n},n))})]})}import{Component as Bm}from"react";import{jsx as _o,jsxs as Um}from"react/jsx-runtime";function _m({onRetry:e}){let{t}=X();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:[_o("span",{children:t.widgetErrorBoundary.failedToLoad}),_o("button",{type:"button",onClick:e,className:"ww:text-xs ww:font-medium ww:text-primary ww:hover:underline",children:t.widgetErrorBoundary.retry})]})}var fr=class extends Bm{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.warn("[Waniwani] Widget failed to render:",t.message)}render(){return this.state.hasError?_o(_m,{onRetry:()=>this.setState({hasError:!1})}):this.props.children}};import{Fragment as Om,jsx as oe,jsxs as dt}from"react/jsx-runtime";function Uo(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)?Xt:ct}function Ll({messages:e,status:t,welcomeMessage:a,welcome:r,onSuggestionSelect:o,resourceEndpoint:n,chatSessionId:s,isDark:i,onFollowUp:l,onCallTool:u,onWidgetDisplayModeChange:d,fullscreenToolCallId:c,debug:f,showToolCalls:p=!0,toolDefinitions:m,messageClassNames:L}){let{t:x}=X(),w=e[e.length-1],C=e.length>0,h=c!=null,I=!h&&gl(e,t,{ignoreToolParts:p===!1,ignoreReasoningParts:p===!1});return dt(Om,{children:[!h&&(!C&&r?oe(xl,{...r,onSuggestionSelect:o}):a&&oe(Eo,{from:"assistant",children:oe(Bo,{children:oe(cr,{children:a})})})),e.map(S=>{let P=S.parts.filter(T=>T.type==="text"),U=S.parts.filter(T=>T.type==="reasoning"),E=S.parts.filter(T=>T.type==="file"),$=os(S.metadata),A=S.parts.filter(T=>"toolCallId"in T),v=S.parts.filter(T=>T.type==="reasoning"||"toolCallId"in T),_=S===w&&S.role==="assistant",W=P.length>0,Y=h?A.some(T=>T.toolCallId===c):!1,G=p!==!1&&!Y&&v.length>=2;return h&&!Y?oe("div",{style:{display:"none"}},S.id):S.role==="assistant"&&!hl(S)?oe("div",{style:{display:"none"}},S.id):p===!1&&S.role==="assistant"&&!W&&E.length===0&&A.every(T=>{let y="output"in T?T.output:void 0;return y===void 0||!n||!ea(T.toolName,y,m)})?oe("div",{style:{display:"none"}},S.id):dt(Eo,{from:S.role,className:L?.message,children:[p!==!1&&!Y&&!G&&U.map((T,y)=>dt(oa,{isStreaming:T.state==="streaming",children:[oe(na,{}),oe(sa,{children:T.text})]},`reasoning-${S.id}-${y}`)),G&&(()=>{let T=v[v.length-1],y=T.type==="reasoning"?{icon:Qe,label:x.reasoning.thinking}:{icon:Il(T.toolName),label:T.title??Uo(T.toolName)};return dt(Rs,{isWorking:_&&(t==="streaming"||t==="submitted"),activeStep:y,children:[oe(Ms,{workingLabel:x.chainOfThought.working,label:x.chainOfThought.done}),oe(Fs,{children:v.map((R,Ae)=>{let Z=Ae===v.length-1;if(R.type==="reasoning")return oe(Es,{isStreaming:R.state==="streaming",isLast:Z,children:R.text},`reasoning-${S.id}-${Ae}`);let le=R.title??Uo(R.toolName),ie=Il(R.toolName);if(p==="titles-only")return oe(Zr,{icon:ie,title:le,state:R.state,isLast:Z},R.toolCallId);let k="output"in R?R.output:void 0;return dt(Zr,{icon:ie,title:le,state:R.state,isLast:Z,children:[oe(qr,{input:R.input,debug:f}),k!==void 0&&oe(Wr,{output:k,errorText:"errorText"in R?R.errorText:void 0,debug:f})]},R.toolCallId)})})]})})(),p!==!1&&!Y&&!G&&A.length===1&&(()=>{let T=A[0],y=T.title??Uo(T.toolName);if(p==="titles-only")return oe(jn,{title:y,state:T.state});let R="output"in T?T.output:void 0;return dt(Vn,{children:[oe(zn,{title:y,state:T.state}),dt($n,{children:[oe(qr,{input:T.input,debug:f}),R!==void 0&&oe(Wr,{output:R,errorText:"errorText"in T?T.errorText:void 0,debug:f})]})]})})(),A.map(T=>{let y="output"in T?T.output:void 0,R=ea(T.toolName,y,m),Ae=Xn(T.toolName,y,m),Z=T.toolCallId===c;return R&&n&&y!==void 0?oe("div",{style:Z?{position:"absolute",inset:0,zIndex:10,display:"flex",flexDirection:"column",overflow:"hidden",background:"var(--ww-color-background)"}:void 0,children:R&&n&&y!==void 0&&oe(fr,{children:oe(ta,{isFullscreen:Z,resourceUri:R,toolInput:T.input??{},toolResult:{content:y.content,structuredContent:y.structuredContent,_meta:y._meta},resourceEndpoint:n,chatSessionId:s,isDark:i,autoHeight:Ae,toolDefinitions:m,onFollowUp:l,onCallTool:u,onDisplayModeChange:d?le=>d(le,{toolCallId:T.toolCallId,resourceUri:R,toolInput:T.input??{},toolResult:{content:y.content,structuredContent:y.structuredContent,_meta:y._meta},autoHeight:Ae}):void 0})})},T.toolCallId):null}),!Y&&$.length>0&&oe(ns,{documents:$}),!Y&&oe("div",{children:dt(Bo,{className:b(S.role==="user"?L?.userBubble:L?.assistantBubble),children:[E.length>0&&oe(as,{files:E}),W?P.map((T,y)=>{let R=_&&t==="streaming"&&y===P.length-1;return oe(cr,{isStreaming:R,children:T.type==="text"?T.text:""},`${S.id}-${y}`)}):null]})})]},S.id)}),I&&oe(wl,{})]})}import{jsx as Cl,jsxs as qm}from"react/jsx-runtime";var Nm="https://app.waniwani.ai/assets/waniwani-logo.svg",Hm="https://waniwani.ai";function Sl(){let{t:e}=X();return qm("a",{href:Hm,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:[Cl("span",{children:e.poweredBy.label}),Cl("img",{src:Nm,alt:"Waniwani",width:72,height:10,"data-waniwani-logo":"",className:"ww:h-2.5 ww:w-auto"})]})}import{jsx as pr}from"react/jsx-runtime";function yl({suggestions:e,isLoading:t,onSelect:a,className:r,...o}){return e.length===0&&!t?null:pr("div",{className:b("ww:px-4 ww:py-2",r),...o,children:pr("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=>pr("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)=>pr("button",{type:"button",onClick:()=>a(n),className:b("ww:rounded-full ww:border ww:border-border ww:bg-accent ww:px-3.5 ww:py-1.5 ww:text-sm","ww:text-foreground ww:hover:bg-border ww:hover:border-primary/30","ww:transition-all ww:duration-200 ww:ease-out ww:cursor-pointer","ww:animate-[ww-fade-in_0.2s_ease-out_both]"),style:{animationDelay:`${s*50}ms`},children:n},n))})})}import{useEffect as Wm,useRef as Gm,useState as Vm}from"react";import{jsx as de,jsxs as It}from"react/jsx-runtime";var bl=20;function zm({label:e}){return It("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:[de("title",{children:e}),de("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),de("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}function jm({label:e}){return It("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:[de("title",{children:e}),de("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),de("polyline",{points:"3 4 3 9 8 9"}),de("line",{x1:"12",y1:"7",x2:"12",y2:"12"}),de("line",{x1:"12",y1:"12",x2:"15",y2:"14"})]})}function $m({label:e}){return It("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:[de("title",{children:e}),de("polyline",{points:"3 6 5 6 21 6"}),de("path",{d:"M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6"}),de("path",{d:"M10 11v6"}),de("path",{d:"M14 11v6"})]})}function kl({threads:e,activeThreadId:t,onNewThread:a,onSelectThread:r,onDeleteThread:o}){let{locale:n,t:s}=X(),[i,l]=Vm(!1),u=Gm(null);Wm(()=>{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 d=e.slice(0,bl),c=Math.max(0,e.length-bl);return It("div",{ref:u,className:"ww:relative ww:flex ww:items-center ww:gap-1",children:[de("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:de(zm,{label:s.threadMenu.newChat})}),de("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:de(jm,{label:s.threadMenu.threadHistory})}),i&&It("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:[d.length===0&&de("div",{className:"ww:px-3 ww:py-3 ww:text-xs ww:text-muted-foreground",children:s.threadMenu.noPreviousChats}),d.map(f=>{let p=f.threadId===t,m=Date.parse(f.updatedAt);return It("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:[It("button",{type:"button",onClick:()=>{r(f.threadId),l(!1)},className:"ww:flex-1 ww:min-w-0 ww:text-left ww:cursor-pointer",children:[de("div",{className:"ww:truncate ww:text-foreground ww:font-medium",children:f.title}),de("div",{className:"ww:text-[10px] ww:text-muted-foreground",children:Number.isNaN(m)?"":Ur(m,n)})]}),de("button",{type:"button",onClick:L=>{L.stopPropagation(),o(f.threadId)},title:s.threadMenu.deleteThread,"aria-label":s.threadMenu.deleteThread,className:"ww:p-1 ww:rounded ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/10 ww:transition-colors ww:cursor-pointer",children:de($m,{label:s.threadMenu.deleteThread})})]},f.threadId)}),c>0&&de("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(c)})]})]})}import{createContext as Xm,useContext as Km}from"react";function Tl(e){let t=new Set;return{subscribe(a){return t.add(a),()=>{t.delete(a)}},emit(a){let{sessionId:r,...o}=a,n=a.name==="session.started"?a.properties.sessionId:void 0,s={...o,mode:e.mode,sessionId:Object.hasOwn(a,"sessionId")?r:n??e.getSessionId?.(),timestamp:Date.now()};for(let i of[...t])try{i(s)}catch(l){console.warn("[Waniwani] onEvent subscriber threw:",l)}}}}function vl(){return{subscribe(){return()=>{}},emit(){}}}var Pl=Xm(vl());function mr(){return Km(Pl)}var Al=Pl.Provider;import{useCallback as Qm,useRef as Jm}from"react";function Rl(e){let t=Jm(e);return t.current=e,Qm(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 xh}from"@ai-sdk/react";import{useCallback as Ie,useEffect as Ee,useRef as me,useState as Lt}from"react";function Ut(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}`:""}`}var Ml="/api/mcp/modules/documents";var qe=class extends Error{code;constructor(t,a){super(a),this.name="DocumentUploadError",this.code=t}};function Fl(e,t){try{return`${new URL(e).origin}${Ml}${t}`}catch{return`${Ml}${t}`}}function Ym(e){return Fl(e,"/upload-url")}function Zm(e){let t=e?.data;if(typeof t?.documentId!="string"||typeof t.uploadUrl!="string"||!(t.documentId&&t.uploadUrl))return null;let a={};for(let[r,o]of Object.entries(t.headers??{}))typeof o=="string"&&(a[r]=o);return{documentId:t.documentId,uploadUrl:t.uploadUrl,headers:a}}function eh(e){return e===403?new qe("upload_disabled","This agent does not accept document uploads."):e===413?new qe("max_file_size","That file is too large."):e===422||e===400?new qe("accept","That file type is not accepted."):new qe("upload_failed",`The upload could not be started (${e}).`)}function th(e){return new Promise((t,a)=>{let r=new XMLHttpRequest;r.open("PUT",e.url,!0);for(let[s,i]of Object.entries(e.headers))r.setRequestHeader(s,i);r.timeout=3e5;let o=()=>r.abort();e.signal.addEventListener("abort",o,{once:!0});let n=()=>e.signal.removeEventListener("abort",o);r.upload.onprogress=s=>{s.lengthComputable&&s.total>0&&e.onProgress?.(s.loaded/s.total)},r.onload=()=>{if(n(),r.status>=200&&r.status<300||r.status===412){e.onProgress?.(1),t();return}a(new qe("upload_failed",`The upload was rejected (${r.status}).`))},r.onerror=()=>{n(),a(new qe("upload_failed","The upload could not be completed."))},r.ontimeout=()=>{n(),a(new qe("upload_failed","The upload timed out."))},r.onabort=()=>{n(),a(e.signal.reason instanceof Error?e.signal.reason:new Error("aborted"))},r.send(e.file)})}async function hr(e){try{await fetch(Fl(e.api,`/${e.documentId}`),{method:"DELETE",headers:e.headers})}catch{}}async function Dl(e){e.signal.throwIfAborted();let t=new AbortController,a=setTimeout(()=>t.abort(),2e4),r=()=>t.abort(e.signal.reason);e.signal.addEventListener("abort",r,{once:!0});let o;try{o=await fetch(Ym(e.api),{method:"POST",headers:{...e.headers,"Content-Type":"application/json"},signal:t.signal,body:JSON.stringify({filename:e.file.name,contentType:e.file.type,byteSize:e.file.size,...e.sessionId?{sessionId:e.sessionId}:{}})})}catch(s){throw e.signal.aborted?s:new qe("upload_failed","The upload could not be started.")}finally{clearTimeout(a),e.signal.removeEventListener("abort",r)}if(!o.ok)throw eh(o.status);let n=Zm(await o.json().catch(()=>null));if(e.signal.throwIfAborted(),!n)throw new qe("upload_failed","The upload could not be started.");return await th({url:n.uploadUrl,headers:n.headers,file:e.file,signal:e.signal,onProgress:e.onProgress}),{documentId:n.documentId,filename:e.file.name,mediaType:e.file.type}}import{DefaultChatTransport as ah,uiMessageChunkSchema as rh}from"ai";function oh(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 gr=class extends ah{processResponseStream(t){let a="",r=rh(),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 d=u.slice(5).trim();if(d!=="[DONE]")try{let c=JSON.parse(d);if(!o){s.enqueue(c);continue}let f=await o(c);if(f.success){s.enqueue(f.value);continue}let p=oh(f.error);if(p?.length){let m={...c};for(let x of p)delete m[x];let L=await o(m);L.success&&s.enqueue(L.value)}}catch{}}}}))}};var nh="waniwani-memory";var De="threads",wr="by_memoryUserId",sh="by_updatedAt";var Bl="memoryUserId",El="waniwani-memory-user-id",Oo=null;function No(){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 ih(e,t){if(t<1&&(e.objectStoreNames.contains("ids")||e.createObjectStore("ids")),t<2&&!e.objectStoreNames.contains(De)){let a=e.createObjectStore(De,{keyPath:"threadId"});a.createIndex(wr,"memoryUserId",{unique:!1}),a.createIndex(sh,"updatedAt",{unique:!1})}}async function Ho(){return new Promise((e,t)=>{let a=indexedDB.open(nh,2);a.onupgradeneeded=r=>{ih(a.result,r.oldVersion)},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})}async function lh(){return Ho()}async function uh(e){return new Promise((t,a)=>{let n=e.transaction("ids","readonly").objectStore("ids").get(Bl);n.onsuccess=()=>t(typeof n.result=="string"?n.result:null),n.onerror=()=>a(n.error)})}async function dh(e,t){return new Promise((a,r)=>{let s=e.transaction("ids","readwrite").objectStore("ids").put(t,Bl);s.onsuccess=()=>a(),s.onerror=()=>r(s.error)})}async function ch(){if(typeof indexedDB>"u")return null;try{let e=await lh();try{let t=await uh(e);if(t)return t;let a=No();return await dh(e,a),a}finally{e.close()}}catch{return null}}function fh(){try{let e=localStorage.getItem(El);if(e)return e;let t=No();return localStorage.setItem(El,t),t}catch{return null}}async function _l(){let e=await ch();if(e)return e;let t=fh();return t||(Oo||(Oo=No()),Oo)}var Ul=50,Ol=1e3;function xr(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.threadId=="string"&&typeof t.memoryUserId=="string"&&typeof t.title=="string"&&Array.isArray(t.messages)&&typeof t.createdAt=="string"&&typeof t.updatedAt=="string"}async function Ir(e){if(typeof indexedDB>"u")return null;let t=null;try{return t=await Ho(),await e(t)}catch{return null}finally{try{t?.close()}catch{}}}function qo(e){return new Promise((t,a)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>a(e.error)})}async function Wo(e){return await Ir(async a=>{let n=a.transaction(De,"readonly").objectStore(De).index(wr),i=(await qo(n.getAll(e))??[]).filter(xr);return i.sort((l,u)=>l.updatedAt<u.updatedAt?1:-1),i})??[]}async function Lr(e){return await Ir(async a=>{let o=a.transaction(De,"readonly").objectStore(De),n=await qo(o.get(e));return xr(n)?n:null})??null}async function Go(e){if(!xr(e))return;let t=e.messages.length>Ol?{...e,messages:e.messages.slice(e.messages.length-Ol)}:e;await Ir(async a=>{await new Promise((l,u)=>{let d=a.transaction(De,"readwrite");d.oncomplete=()=>l(),d.onerror=()=>u(d.error),d.onabort=()=>u(d.error),d.objectStore(De).put(t)});let r=a.transaction(De,"readwrite"),o=r.objectStore(De),n=o.index(wr),i=(await qo(n.getAll(t.memoryUserId))??[]).filter(xr);if(i.length>Ul){i.sort((u,d)=>u.updatedAt<d.updatedAt?-1:1);let l=i.slice(0,i.length-Ul);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 Nl(e){await Ir(async t=>(await new Promise((a,r)=>{let o=t.transaction(De,"readwrite");o.oncomplete=()=>a(),o.onerror=()=>r(o.error),o.onabort=()=>r(o.error),o.objectStore(De).delete(e)}),null))}async function Vo(e){return(await Wo(e))[0]?.threadId??null}function Hl(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 zo="waniwani-visitor-id";function ph(){try{if(typeof crypto<"u"){if(typeof crypto.randomUUID=="function")return crypto.randomUUID();if(typeof crypto.getRandomValues=="function"){let e=crypto.getRandomValues(new Uint8Array(16));e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=Array.from(e,a=>a.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}}}catch{}return`v-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}function Xe(){try{let t=localStorage.getItem(zo);if(t)return t}catch{}let e=ph();try{localStorage.setItem(zo,e)}catch{}return e}function jo(e){let t=typeof e=="string"?e.trim():"";if(!t)return Xe();try{localStorage.setItem(zo,t)}catch{}return t}function mh(e){return e!=null&&typeof e.then=="function"}function $o(e){let t=!1,a=()=>{t=!0};if(e==null)return a;let r;try{r=typeof e=="function"?e():e}catch{return a}return mh(r)?r.then(o=>{t||jo(o??"")},()=>{}):jo(r??""),a}function ql(e,t){return e.match(t)?.[1]??null}function hh(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=ql(e,r);if(o)return{name:a,version:o}}return null}function gh(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=ql(e,r);if(o)return{name:a,version:o.replace(/_/g,".")};if(a==="Linux"&&r.test(e))return{name:a,version:""}}return null}function wh(e){return typeof navigator<"u"&&"userAgentData"in navigator&&navigator.userAgentData?.mobile?"mobile":/iPad|tablet|PlayBook/i.test(e)?"tablet":/Mobi|Android.*Mobile|iPhone|iPod/i.test(e)?"mobile":"desktop"}async function Ca(){let e=navigator.userAgent,t=Xe(),a=await _l();return{userAgent:e,browser:hh(e),os:gh(e),deviceType:wh(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 Ih="x-session-id",Lh=250,Ch=200;function Wl(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():aa()}function Cr(){return new Date().toISOString()}function Gl(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}async function Sh(e,t){let a=Ut(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 Vl(e){let{api:t="/api/waniwani",headers:a,body:r,onMessageSent:o,onResponseReceived:n,enableThreadHistory:s=!1,activeThreadId:i,onThreadChange:l}=e,u=e.visitorId;Ee(()=>$o(u),[u]);let d=mr(),c=me(a),f=me(r),p=me(s);Ee(()=>{p.current=s},[s]);let m=me(void 0),L=me(void 0),x=me(null),[w,C]=Lt(void 0),h=me(w),[I,S]=Lt(i),P=me(I),[U,E]=Lt([]),[$,A]=Lt(!s),v=me(void 0),_=me(void 0),W=me(void 0),Y=me(void 0),G=me(0),T=me(l);Ee(()=>{T.current=l},[l]);let y=Ie(g=>{P.current=g,S(g),g&&(T.current?.(g),d.emit({name:"thread.changed",sessionId:h.current,properties:{threadId:g}}))},[d]),R=Ie(async()=>{if(!s)return;let g=x.current?.memoryUserId;if(!g)return;let D=await Wo(g);E(D)},[s]),Ae=Ie(()=>h.current,[]),Z=Ie(g=>{let D=Gl(g);if(!D||h.current===D)return;let B=h.current===void 0;h.current=D,C(D),B&&d.emit({name:"session.started",properties:{sessionId:D}})},[d]),le=Ie(()=>{h.current=void 0,C(void 0)},[]);Ee(()=>{c.current=a},[a]),Ee(()=>{f.current=r},[r]),Ee(()=>{let g=!1,D=G.current;return(async()=>{try{let ne=await Ca();if(g)return;x.current=ne}catch{}if(!s)return;let B=x.current?.memoryUserId;if(!B){A(!0);return}try{let ne=i??await Vo(B);if(g||D!==G.current)return;if(ne){let Ce=await Lr(ne);if(g||D!==G.current)return;Ce&&Ce.memoryUserId===B&&(P.current=Ce.threadId,S(Ce.threadId),v.current=Ce.createdAt,_.current=Ce.title,Ce.sessionId&&(h.current=Ce.sessionId,C(Ce.sessionId)),H(Ce.messages))}await R()}finally{g||A(!0)}})(),()=>{g=!0}},[]);let ie=me(new gr({api:t,headers:()=>({...c.current}),body:()=>{let g={...f.current??{}},D=Object.hasOwn(g,"sessionId"),B=Gl(g.sessionId);if(B)Z(B),g.sessionId=B;else if(D)le(),delete g.sessionId;else{let Pr=Ae();Pr&&(g.sessionId=Pr)}vt(m.current)&&(g.modelContext=m.current),L.current?.length&&(g.documents=L.current);let ne=x.current,Ce=Xe();ne&&(g.visitorContext={timezone:ne.timezone,language:ne.language,languages:ne.languages,deviceType:ne.deviceType,referrer:ne.referrer,visitorId:Ce});let fe=typeof g.visitor=="object"&&g.visitor!==null?g.visitor:{},Hu=typeof fe.client=="object"&&fe.client!==null?fe.client:{};g.visitor={...fe,id:Ce,client:{...Hu,...ne&&{memoryUserId:ne.memoryUserId}}};let hn=typeof g.extra=="object"&&g.extra!==null&&!Array.isArray(g.extra)?g.extra:void 0,gn=x.current?.memoryUserId,wn=x.current?.language,ka={};if(gn&&(ka.memoryUserId=gn),wn&&(ka.locale=wn),(Object.keys(ka).length>0||hn)&&(g.extra={...ka,...hn??{}}),p.current)if(Object.hasOwn(g,"threadId"))typeof g.threadId=="string"&&(P.current=g.threadId);else{let Ta=P.current;Ta||(Ta=Wl(),v.current=Cr(),_.current=void 0,y(Ta)),g.threadId=Ta}return g},fetch:(async(g,D)=>{try{let B=await fetch(g,D);return m.current=void 0,Z(B.headers.get(Ih)),B}finally{L.current=void 0}})})),k=me(null),O=me(null),z=me({}),[j,Te]=Lt(0),J=e.skipRemoteConfig===!0,ee=Ie(async()=>{if(!J)try{let g=await Sh(t,c.current);z.current=g,Te(D=>D+1)}catch(g){console.warn("[Waniwani] Failed to fetch tool definitions:",g instanceof Error?g.message:g)}},[t,J]);Ee(()=>{ee()},[ee]);let{messages:N,sendMessage:M,setMessages:H,status:q}=xh({messages:e.initialMessages,transport:ie.current,onFinish({message:g,isAbort:D,isDisconnect:B,isError:ne}){n?.(),!D&&!B&&!ne&&d.emit({name:"message.received"}),k.current&&(O.current=g)},onError(g){console.warn("[Waniwani] Chat error:",g.message),d.emit({name:"chat.error",properties:{message:g.message.slice(0,Ch)}}),k.current&&(k.current.reject(g),k.current=null)}}),V=me(N);Ee(()=>{V.current=N},[N]);let te=me(s);Ee(()=>{if(!s||te.current||(te.current=!0,V.current.length>0))return;let g=!1,D=G.current;return A(!1),(async()=>{try{let B=x.current;if(!B)try{B=await Ca(),x.current=B}catch{}let ne=B?.memoryUserId;if(!ne||g||D!==G.current){g||A(!0);return}let Ce=i??await Vo(ne);if(g||D!==G.current)return;if(Ce){let fe=await Lr(Ce);if(g||D!==G.current)return;fe&&fe.memoryUserId===ne&&(P.current=fe.threadId,S(fe.threadId),v.current=fe.createdAt,_.current=fe.title,fe.sessionId&&(h.current=fe.sessionId,C(fe.sessionId)),H(fe.messages))}await R()}finally{g||A(!0)}})(),()=>{g=!0}},[s]),Ee(()=>{if(q==="ready"&&k.current&&O.current){let g=k.current,D=O.current;k.current=null,O.current=null,g.resolve(D)}},[q]);let[ae,Le]=Lt(""),[ce,Be]=Lt([]),Ge=me([]);Ge.current=ce;let et=q==="submitted"||q==="streaming",yt=Ie(g=>{for(let D of g)for(let B of D.documents??[])hr({documentId:B.documentId,api:t,headers:c.current??{}})},[t]),Oe=Ie(()=>{yt(Ge.current),Be([])},[yt]),F=Ie(g=>{let D=Ge.current.find(B=>B.id===g);D&&yt([D]),Be(B=>B.filter(ne=>ne.id!==g))},[yt]),Q=et&&ce.length>0,ge=Ie(g=>{let D=!!g.text?.trim(),B=!!(g.files?.length||g.documents?.length);if(D||B){if(et){if(ce.length>0)return;Be(ne=>[...ne,{id:aa(),text:g.text||"",files:g.files??[],documents:g.documents??[],modelContext:g.modelContext}]),Le("");return}m.current=g.modelContext,L.current=g.documents,M({text:g.text||"",files:g.files,...g.documents?.length&&{metadata:{documents:g.documents}}}),o?.(g.text||""),d.emit({name:"message.sent"}),Le("")}},[M,o,et,ce.length,d]),_e=Ie(g=>new Promise((D,B)=>{k.current={resolve:D,reject:B},M({text:g}),o?.(g),d.emit({name:"message.sent"})}),[M,o,d]);Ee(()=>{if(q!=="ready"||ce.length===0)return;let[g,...D]=ce;Be(D),m.current=g.modelContext,L.current=g.documents,M({text:g.text,files:g.files.length>0?g.files:void 0,...g.documents.length>0&&{metadata:{documents:g.documents}}}),o?.(g.text),d.emit({name:"message.sent"})},[q,M,o,ce,d]);let tt=Ie(()=>{H([]),Oe(),le(),Le(""),z.current={},Te(g=>g+1),ee()},[H,le,ee,Oe]),Ke=Ie(()=>{if(!p.current)return;let g=x.current?.memoryUserId,D=P.current,B=V.current;if(!(!g||!D||B.length===0)){if(v.current||(v.current=Cr()),!_.current){let ne=B.find(fe=>fe.role==="user"),Ce=ne?ne.parts.map(fe=>"text"in fe&&typeof fe.text=="string"?fe.text:"").join(" "):"";_.current=Hl(Ce)}return{threadId:D,memoryUserId:g,title:_.current,messages:B,sessionId:h.current,createdAt:v.current,updatedAt:Cr()}}},[]),ya=Ie(async()=>{let g=Ke();g&&(await Go(g),await R())},[Ke,R]);Ee(()=>{if(s&&$&&!(q==="submitted"||q==="streaming")&&N.length!==0)return W.current&&clearTimeout(W.current),W.current=setTimeout(()=>{W.current=void 0;let g=ya().finally(()=>{Y.current===g&&(Y.current=void 0)});Y.current=g},Lh),()=>{W.current&&clearTimeout(W.current)}},[s,$,N,q,ya]);let ba=Ie(()=>{let g=Y.current,D=W.current,B=D?Ke():void 0;return D&&(clearTimeout(D),W.current=void 0),(async()=>{g&&await g,B&&(await Go(B),await R())})()},[Ke,R]),Bu=Ie(()=>{G.current+=1,ba(),H([]),Oe(),le(),Le("");let g=Wl();return v.current=Cr(),_.current=void 0,y(g),R(),g},[H,le,y,R,ba,Oe]),vr=Ie(async g=>{G.current+=1;let D=G.current;if(await ba(),D!==G.current)return;let B=await Lr(g);D===G.current&&B&&(B.sessionId?(h.current=B.sessionId,C(B.sessionId)):le(),y(B.threadId),v.current=B.createdAt,_.current=B.title,H(B.messages),Oe(),Le(""))},[H,le,y,ba,Oe]),_u=Ie(async g=>{if(P.current===g){G.current+=1,W.current&&(clearTimeout(W.current),W.current=void 0);let D=Y.current;D&&await D}await Nl(g),await R(),P.current===g&&(H([]),Oe(),le(),Le(""),P.current=void 0,S(void 0),v.current=void 0,_.current=void 0)},[H,le,R,Oe]);Ee(()=>{s&&$&&i!==void 0&&i!==P.current&&vr(i)},[i,s,$,vr]);let Uu=Ie(g=>{Le(g.target.value)},[]),pn=N[N.length-1],mn=N.length>0,Ou=et&&(!mn||pn.role==="user"),Nu=z.current;return{messages:N,status:q,text:ae,setText:Le,handleSubmit:ge,handleTextChange:Uu,isLoading:et,showLoaderBubble:Ou,lastMessage:pn,hasMessages:mn,sendMessage:M,sendMessageAndWait:_e,reset:tt,queuedMessages:ce,queueFull:Q,removeQueuedMessage:F,sessionId:w,toolDefinitions:Nu,refreshToolDefinitions:ee,threads:U,activeThreadId:I,isThreadHistoryReady:$,startNewThread:Bu,switchThread:vr,deleteThread:_u}}import{useCallback as zl,useEffect as yh,useState as bh}from"react";var kh=6e3;function jl(e){let{api:t,headers:a,sessionId:r,documentUpload:o,allowAttachments:n}=e,[s,i]=bh(null),l=zl((c,f,p)=>Dl({file:c,api:t,headers:a??{},sessionId:r,signal:f,onProgress:p}),[t,a,r]),u=zl(c=>{hr({documentId:c.documentId,api:t,headers:a??{}})},[t,a]);yh(()=>{if(!s)return;let c=setTimeout(()=>i(null),kh);return()=>clearTimeout(c)},[s]);let d=o?.enabled??!1;return{enabled:o?o.enabled:!!n,accept:o?.accept.join(","),maxFileSize:o?.maxBytes,maxPdfPages:o?.maxPdfPages,maxFiles:o?.maxFiles,upload:d?l:void 0,onDiscard:d?u:void 0,error:s,reportError:i}}import{useCallback as vh,useEffect as Qo,useMemo as Jo,useRef as Ph,useState as Ql}from"react";function Ot(e){return e.map(t=>({id:null,text:t}))}function Xo(e){let{flow:t,followup:a,page:r,channel:o}=e;return t!==null?{origin:"flow",suggestions:t}:a?.length?{origin:"followup",suggestions:a}:r?.length?{origin:"page",suggestions:r}:o?.length?{origin:"channel",suggestions:o}:null}var Ko="waniwani/suggestions";function Nt(e){return typeof e=="object"&&e!==null}function $l(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function Th(e){if(!Nt(e)||!("toolCallId"in e)||!("output"in e))return null;let t=e.output;if(!Nt(t)||!Nt(t._meta))return null;let a=t._meta[Ko];return!Nt(a)||!$l(a.suggestions)?null:a.suggestions}function Xl(e){let t=null;for(let a of e.parts){let r=Th(a);r!==null&&(t=r)}return t}function Kl(e){for(let t of e.parts){if(!Nt(t)||t.type!=="data-suggestions")continue;let a=t.data;if(Nt(a)&&$l(a.suggestions)&&a.suggestions.length>0)return a.suggestions}return null}function Ah(e){return"page"in e||"channel"in e}function Rh(e){return typeof e!="object"||e===null?{}:Ah(e)?{rungs:e}:{initial:e.initial}}function Jl(e){let{messages:t,status:a,suggestions:r}=e,o=r!==!1,{rungs:n,initial:s}=Rh(r),i=Jo(()=>({page:null,channel:Ot(s??[])}),[s]),l=n??i,u=Jo(()=>o?Xo({flow:null,followup:null,...l}):null,[o,l]),d=Jo(()=>u?.suggestions.map(h=>h.text)??[],[u]),[c,f]=Ql(d),[p,m]=Ql(u?.origin??"channel"),L=Ph(a),x=vh(()=>{f([])},[]),w=t.length>0;Qo(()=>{w||(f(d),m(u?.origin??"channel"))},[d,u,w]);let C=t[t.length-1];return Qo(()=>{C?.role==="user"&&x()},[C,x]),Qo(()=>{let h=L.current;if(L.current=a,h!=="streaming"||a!=="ready"||!o)return;let I=[...t].reverse().find(E=>E.role==="assistant");if(!I)return;let S=Xl(I),P=Kl(I),U=Xo({flow:S===null?null:Ot(S),followup:P===null?null:Ot(P),page:null,channel:null});f(U?U.suggestions.map(E=>E.text):[]),m(U?.origin??"channel")},[a,o,t]),{suggestions:c,source:p,isLoading:!1,clear:x}}import{useEffect as Mh,useRef as Fh,useState as Dh}from"react";var Eh=80,Bh=50,_h=15e3,Yl=500;function Zl(e,t=!0){let[a,r]=Dh(""),o=Fh(void 0);return Mh(()=>{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,Yl)):o.current=setTimeout(l,Bh)):(n++,r(e.slice(0,n)),n>=e.length?(s=!0,o.current=setTimeout(l,_h)):o.current=setTimeout(l,Eh)))};return o.current=setTimeout(l,Yl),()=>{i=!0,clearTimeout(o.current)}},[e,t]),a}function eu(e,t){let a=t?.Authorization,r=typeof a=="string"&&a.startsWith("Bearer ")?a.slice(7):null;return Ut(e,"/resource",r?{token:r}:void 0)}var tu={primaryColor:"#6366f1",primaryForeground:"#1f2937",backgroundColor:"#ffffff",textColor:"#1f2937",mutedColor:"#6b7280",borderColor:"#e5e7eb",borderWidth:0,boxShadow:"none",assistantBubbleColor:"#f3f4f6",userBubbleColor:"#f4f4f4",inputBackgroundColor:"#f9fafb",borderRadius:16,messageBorderRadius:8,fontFamily:"system-ui, -apple-system, 'Segoe UI', sans-serif",headerBackgroundColor:"#ffffff",headerTextColor:"#1f2937",statusColor:"#22c55e",toolCardColor:"#f4f4f5",userBubbleTextColor:"#1f2937",assistantBubbleTextColor:"#1f2937",messagePaddingX:16,messagePaddingY:12,messageMaxWidth:"80%",fontSize:16,lineHeight:"1.5",glassTint:"transparent",glassTintStrength:"0"},Uh={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"},Oh={primaryColor:["--ww-primary","--ww-color-primary"],primaryForeground:["--ww-primary-fg","--ww-color-primary-foreground"],backgroundColor:["--ww-bg","--ww-color-background"],textColor:["--ww-text","--ww-color-foreground","--ww-color-accent-foreground"],mutedColor:["--ww-muted","--ww-color-muted-foreground"],borderColor:["--ww-border","--ww-color-border"],borderWidth:["--ww-border-width"],boxShadow:["--ww-shadow"],assistantBubbleColor:["--ww-assistant-bubble","--ww-color-accent"],userBubbleColor:["--ww-user-bubble"],inputBackgroundColor:["--ww-input-bg","--ww-color-input"],borderRadius:["--ww-radius"],messageBorderRadius:["--ww-msg-radius"],fontFamily:["--ww-font"],headerBackgroundColor:["--ww-header-bg"],headerTextColor:["--ww-header-text"],statusColor:["--ww-status"],toolCardColor:["--ww-tool-card","--ww-color-tool-card"],userBubbleTextColor:["--ww-user-bubble-text"],assistantBubbleTextColor:["--ww-assistant-bubble-text"],messagePaddingX:["--ww-msg-pad-x"],messagePaddingY:["--ww-msg-pad-y"],messageMaxWidth:["--ww-msg-max-width"],fontSize:["--ww-font-size"],lineHeight:["--ww-line-height"],glassTint:["--ww-glass-tint"],glassTintStrength:["--ww-glass-tint-opacity"]};function Nh(e){return{...tu,...e}}function Yo(e){let t={};for(let[a,r]of Object.entries(Oh)){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 he,jsxs as Ze}from"react/jsx-runtime";var Zo=au(function(t,a){let{locale:r,messages:o}=t;return he(_r,{locale:r,messages:o,children:he(qh,{...t,ref:a})})}),qh=au(function(t,a){let{t:r,ready:o}=X(),{appearance:n,className:s,classNames:i,allowAttachments:l=!1,documentUpload:u,welcomeMessage:d,welcome:c,placeholder:f=r.promptInput.placeholder,triggerEvent:p="triggerDemoRequest",api:m,mcp:L,debug:x=!1,readOnly:w=!1,title:C,headerActions:h,hideHeader:I=!1,enableThreadHistory:S=!1,showToolCalls:P=!0,initializing:U=!1,onScreen:E=!0,disclaimer:$}=t,A=n?.theme,v=n?.variables,_=n?.assistantBubble??!1,W=v?Yo(v):{},[Y,G]=yr(!1);Ye(()=>{if(A!=="auto"||typeof window>"u")return;let F=window.matchMedia("(prefers-color-scheme: dark)");G(F.matches);let Q=()=>G(F.matches);return F.addEventListener("change",Q),()=>F.removeEventListener("change",Q)},[A]);let T=A==="dark"||A==="auto"&&Y,y=Vl({...t,api:m}),R=mr(),Ae=Rl({...t,api:m,sessionId:y.sessionId,onCallTool:L?.onCallTool}),Z=L?.resourceEndpoint??eu(m,t.headers),le=Zl(f,!y.text),ie=jl({api:m,headers:t.headers,sessionId:y.sessionId,documentUpload:u,allowAttachments:l}),[k,O]=yr(null),[z,j]=yr(null),Te=Ct(null),J=Ct(null),ee=Ct(null),N=Ct(null),[M,H]=yr(!0),q=Ct(M);q.current=M;let V=Sr(()=>{let F=Te.current;if(!F)return;let Q=F.querySelector("textarea");Q&&Q.focus()},[]),te=Sr((F="smooth")=>{let Q=J.current;Q&&Q.scrollTo({top:Q.scrollHeight,behavior:F})},[]);Ye(()=>{let F=N.current,Q=J.current;if(!F||!Q)return;let ge=new IntersectionObserver(([_e])=>H(_e.isIntersecting),{root:Q,rootMargin:"0px 0px 200px 0px",threshold:0});return ge.observe(F),()=>ge.disconnect()},[]),Ye(()=>{let F=J.current;if(!F)return;let Q=ge=>{let tt=(ge.target instanceof Element?ge.target:null)?.closest("a");tt?.href&&R.emit({name:"link.clicked",properties:{url:tt.href}})};return F.addEventListener("click",Q),()=>F.removeEventListener("click",Q)},[R]),Ye(()=>{(y.messages[y.messages.length-1]?.role==="user"||q.current)&&te("smooth")},[y.messages.length,y.messages[y.messages.length-1]]),Ye(()=>{te("auto")},[te]),Ye(()=>{if(typeof ResizeObserver>"u")return;let F=J.current,Q=ee.current;if(!F&&!Q)return;let ge=F?.scrollHeight??0,_e=F?.clientHeight??0,tt=new ResizeObserver(()=>{let Ke=J.current;if(!Ke)return;let ya=Ke.scrollTop+_e>=ge-5;ge=Ke.scrollHeight,_e=Ke.clientHeight,ya&&te("auto")});return F&&tt.observe(F),Q&&tt.observe(Q),()=>tt.disconnect()},[te]);let ae=Jl({messages:y.messages,status:y.status,suggestions:t.suggestions}),Le=Ct(null);Ye(()=>{let F=ae.suggestions;!E||F.length===0||Le.current===F||(Le.current=F,R.emit({name:"suggestions.shown",properties:{texts:F,origin:ae.source}}))},[ae.suggestions,ae.source,R,E]);let ce=c?.suggestions,Be=Ct(null);Ye(()=>{!E||y.messages.length>0||!ce?.length||Be.current===ce||(Be.current=ce,R.emit({name:"suggestions.shown",properties:{texts:ce,origin:"channel"}}))},[ce,y.messages.length,R,E]);let Ge=Sr(F=>{let Q=F.content.map(ge=>ge.text??"").join("").trim();Q&&y.handleSubmit({text:Q,files:[],modelContext:F.modelContext})},[y.handleSubmit]),et=Sr(F=>{let Q=ae.suggestions.indexOf(F),ge=Q>=0?Q:c?.suggestions?.indexOf(F)??-1,_e=Q>=0?ae.source:"channel";R.emit({name:"suggestion.clicked",properties:{text:F,index:ge,origin:_e}}),ae.clear(),y.handleSubmit({text:F,files:[]})},[ae.suggestions,ae.source,ae.clear,y.handleSubmit,c,R]);Hh(a,()=>({sendMessage:F=>{y.handleSubmit({text:F,files:[]}),V()},sendMessageAndWait:F=>y.sendMessageAndWait(F),reset:y.reset,focus:V,get messages(){return y.messages},get sessionId(){return y.sessionId}}),[y.handleSubmit,y.sendMessageAndWait,y.reset,y.messages,y.sessionId,V]),Ye(()=>{if(!p)return;let F=Q=>{let ge=Q.detail,_e=typeof ge?.message=="string"?ge.message:void 0;_e&&y.handleSubmit({text:_e,files:[]}),V()};return window.addEventListener(p,F),()=>window.removeEventListener(p,F)},[p,y.handleSubmit,V]);let yt=!I&&!!(C||S||h),Oe=U||!o;return Ze("div",{ref:Te,style:{...W,maxHeight:"inherit",...k&&z?{height:z}:{},opacity:Oe?0:1,transition:"opacity 220ms ease-out"},"data-waniwani-chat":"","data-waniwani-layout":"embed","data-assistant-bubble":_?"true":void 0,"data-color-scheme":A==="auto"?"auto":void 0,...Oe?{"data-waniwani-initializing":""}:{},...T?{"data-waniwani-dark":""}:{},className:b("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:[yt&&Ze("div",{className:b("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:[C&&he("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:C}),!C&&he("div",{className:"ww:flex-1"}),S&&he(kl,{threads:y.threads,activeThreadId:y.activeThreadId,onNewThread:y.startNewThread,onSelectThread:F=>{y.switchThread(F)},onDeleteThread:F=>{y.deleteThread(F)}}),h]}),Ze("div",{ref:J,className:b("ww:relative ww:flex-1 ww:min-h-0",k?"ww:overflow-hidden":"ww:overflow-y-auto"),children:[Ze("div",{ref:ee,className:b("ww:mx-auto ww:w-full ww:max-w-3xl ww:px-4 ww:py-6 ww:flex ww:flex-col ww:gap-6",k&&"ww:!py-0"),children:[he(Ll,{messages:y.messages,status:y.status,welcomeMessage:d,welcome:c,onSuggestionSelect:et,resourceEndpoint:Z,chatSessionId:y.sessionId,isDark:T,onFollowUp:Ge,onCallTool:Ae,fullscreenToolCallId:k,debug:x,showToolCalls:P,toolDefinitions:y.toolDefinitions,messageClassNames:{message:i?.message,userBubble:i?.userBubble,assistantBubble:i?.assistantBubble},onWidgetDisplayModeChange:(F,Q)=>{if(F==="fullscreen"){let ge=Te.current?.getBoundingClientRect().height??0;j(ge>0?ge:null),O(Q.toolCallId)}else j(null),O(null)}}),he("div",{ref:N,"aria-hidden":!0,style:{height:1}})]}),!M&&!k&&he("div",{className:"ww:sticky ww:bottom-2 ww:flex ww:justify-center ww:pointer-events-none",children:he(Ve,{type:"button",onClick:()=>te("smooth"),size:"icon",variant:"outline",className:"ww:rounded-full ww:shadow ww:pointer-events-auto","aria-label":"Scroll to latest",children:he(Wt,{className:"ww:size-4"})})})]}),!w&&Ze("div",{className:"ww:shrink-0 ww:bg-background",style:k?{display:"none"}:void 0,children:[he(yl,{suggestions:ae.suggestions,isLoading:ae.isLoading,onSelect:et}),he(ys,{queuedMessages:y.queuedMessages,onRemove:y.removeQueuedMessage}),he("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:[Ze(ls,{onSubmit:y.handleSubmit,attachmentsEnabled:ie.enabled,globalDrop:ie.enabled,multiple:ie.enabled,accept:ie.accept,maxFileSize:ie.maxFileSize,maxPdfPages:ie.maxPdfPages,maxFiles:ie.maxFiles,upload:ie.upload,onDiscard:ie.onDiscard,onError:ie.reportError,className:b("ww-input ww:rounded-2xl ww:border-border ww:bg-input",i?.input),children:[he(ms,{enabled:ie.enabled}),ie.enabled&&he(ps,{className:"ww:px-4 ww:pt-3"}),Ze("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[ie.enabled&&he(fs,{}),he(ds,{onChange:y.handleTextChange,value:y.text,placeholder:le,className:"ww:min-h-0 ww:py-1 ww:px-0"}),he(cs,{status:y.status,disabled:y.queueFull})]})]}),ie.error&&he("output",{className:"ww:block ww:pt-1.5 ww:text-center ww:text-destructive ww:text-xs",children:ie.error.message}),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:[he(Sl,{}),he(hs,{text:$})]})]})})]})]})});import{forwardRef as Ug,useEffect as Tr,useImperativeHandle as Og,useMemo as cn,useRef as fn,useState as Fu}from"react";var Wh="https://app.waniwani.ai/api/mcp/chat",Gh={api:Wh};function Vh(){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 zh(){let e=Vh();if(!e)return{};let t=v=>e.getAttribute(v)??void 0,a=v=>{let _=e.getAttribute(v);if(_==null)return;let W=_.trim().toLowerCase();if(W==="true"||W==="1"||W==="")return!0;if(W==="false"||W==="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 d=t("data-mcp-server-url");d&&(r.mcpServerUrl=d);let c=t("data-webmcp");c&&(r.webmcp={enabled:c!=="false"&&c!=="off"});let f=t("data-channel-id");if(f&&(r.channelId=f),t("data-show-tool-calls")?.trim().toLowerCase()==="titles-only")r.showToolCalls="titles-only";else{let v=a("data-show-tool-calls");v!==void 0&&(r.showToolCalls=v)}let m=t("data-css");m&&(r.css=m);let L=t("data-suggestions");L&&(r.suggestions=L.split(",").map(v=>v.trim()).filter(Boolean));let x=a("data-enable-thread-history");x!==void 0&&(r.enableThreadHistory=x);let w=a("data-disable-page-view");w!==void 0&&(r.disablePageView=w);let C=a("data-hide-header");C!==void 0&&(r.hideHeader=C);let h=t("data-theme");(h==="light"||h==="dark"||h==="auto")&&(r.appearance={...r.appearance,theme:h});let I=a("data-assistant-bubble");I!==void 0&&(r.appearance={...r.appearance,assistantBubble:I});let S=t("data-locale");(S==="en"||S==="fr"||S==="es")&&(r.locale=S);let P=t("data-mode");(P==="inline"||P==="floating"||P==="composer")&&(r.mode=P);let U=t("data-height");U&&(r.height=U);let E=t("data-launcher-text");E&&(r.launcherText=E);let $=t("data-appear-delay");if($!==void 0){let v=Number.parseInt($.trim(),10);Number.isFinite(v)&&v>=0&&(r.appearDelay=v)}let A=t("data-disclaimer");if(A!==void 0){let v=A.trim(),_=v.toLowerCase();_==="false"||_==="0"?r.disclaimer=!1:v&&(r.disclaimer=v)}return r}function en(e){if(!e)return{};let t={};for(let a in e)e[a]!==void 0&&(t[a]=e[a]);return t}function tn(e,t,a){let r=a??zh(),o=jh(t,r,e),n={token:"",...Gh,...en(t),...en(r),...en(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 jh(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 Ik,useState as Lk}from"react";function $h(){if(typeof window>"u")return!1;try{return window.WANIWANI_DEBUG?!0:!!window.localStorage?.getItem("WANIWANI_DEBUG")}catch{return!1}}function St(...e){$h()&&console.log("[Waniwani]",...e)}var an=new Set;function Xh(e,t,a){return`${e}|${t}|${a??""}`}function Sa(e){try{return`${new URL(e).origin}/api/mcp/events/v2/batch`}catch{return e.replace(/\/$/,"").replace(/\/chat$/,"/events/v2/batch")}}async function rn(e){let{api:t,token:a,channelId:r,mode:o,source:n}=e;if(typeof window>"u"||!t||!a)return;if(!r&&!n){St("page.viewed skipped: no channelId or source to attribute it");return}let s=Xh(t,a,r);if(!an.has(s)){an.add(s);try{let i=await Ca(),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(Sa(t),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:u,keepalive:!0})}catch{an.delete(s)}}}import{useMemo as og}from"react";import{useEffect as Yh,useSyncExternalStore as Zh}from"react";function Kh(e){return e?.patterns??e?.rules??[]}var ru="\0\0";function Qh(e){let a=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\\\*\\\*/g,ru).replace(/\\\*/g,"[^/]*").split(ru).join(".*");return new RegExp(`^${a}$`)}function Jh(e,t){try{return Qh(e).test(t)}catch{return!1}}function ou(e,t){if(!e)return!0;let a=!1;for(let r of Kh(e))if(Jh(r.glob,t)){if(r.action==="hide")return!1;a=!0}return a?!0:(e.default??"show")!=="hide"}var on="waniwani:locationchange",nu=!1;function eg(){if(!(nu||typeof history>"u")){nu=!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 tg(e){return eg(),window.addEventListener(on,e),window.addEventListener("popstate",e),()=>{window.removeEventListener(on,e),window.removeEventListener("popstate",e)}}function ag(){return window.location.pathname}function rg(){return"/"}function nn(){return Zh(tg,ag,rg)}function su(e,t){let a=nn(),r=t&&ou(e,a);return Yh(()=>{St("visibility gate",{pathname:a,ready:t,visible:r,rules:e})},[a,t,r]),r}var ng=3,sg=["low","medium","high"];function sn(e){if(e.length===0)return;let t=Math.floor(Math.random()*e.length),[a]=e.splice(t,1);return a}function ig(e){let t=new Map,a=[];for(let n of e)if(n.tier){let s=t.get(n.tier)??[];s.push(n),t.set(n.tier,s)}else a.push(n);let r=[];for(let n of sg){let s=sn(t.get(n)??[])??sn(a);s&&r.push(s)}let o=[...t.values()].flat().concat(a);for(;r.length<Math.min(ng,e.length);){let n=sn(o);if(!n)break;r.push(n)}return r}function iu(e){let t;try{t=new URL(e,"http://localhost").pathname}catch{t="/"}let a=t.replace(/\/+$/,"");return(a===""?"/":a).toLowerCase()}function lu(e){return Array.isArray(e)?e.flatMap(t=>{let a=t;if(typeof a?.url!="string"||a.url.length===0||!Array.isArray(a.prompts))return[];let r=a.prompts.flatMap(o=>{let n=o;return typeof n?.text!="string"||n.text.length===0?[]:[{id:typeof n.id=="string"?n.id:null,text:n.text,tier:n.tier==="low"||n.tier==="medium"||n.tier==="high"?n.tier:void 0}]});return r.length>0?[{url:a.url,prompts:r}]:[]}):[]}function uu(e){let{pageSuggestions:t,suggestions:a}=e,r=nn();return og(()=>{let o=iu(r),n=t?.find(i=>iu(i.url)===o),s=n?ig(n.prompts).map(({id:i,text:l})=>({id:i,text:l})):null;return St("configured suggestions resolve",{pathname:o,matched:!!n,count:s?.length??0}),{page:s,channel:Ot(a??[])}},[r,t,a])}var lg="waniwani:config:";function du(e,t,a){return`${lg}${e}|${t}|${a??""}`}function br(e,t,a){if(typeof window>"u")return null;try{let r=window.sessionStorage.getItem(du(e,t,a));if(!r)return null;let o=JSON.parse(r);return o&&typeof o=="object"?o:null}catch{return null}}function cu(e,t,a,r){if(!(typeof window>"u"))try{window.sessionStorage.setItem(du(e,t,a),JSON.stringify(r))}catch{}}function ug(e){if(typeof e!="object"||e===null||typeof e.enabled!="boolean")return null;let t=Array.isArray(e.accept)?e.accept.filter(r=>typeof r=="string"):[],a=r=>typeof r=="number"&&Number.isFinite(r)&&r>0;return e.enabled?a(e.maxBytes)&&a(e.maxPdfPages)&&a(e.maxFiles)&&t.length>0?{enabled:!0,maxBytes:e.maxBytes,maxPdfPages:e.maxPdfPages,maxFiles:e.maxFiles,accept:t}:null:{enabled:!1,maxBytes:0,maxPdfPages:0,maxFiles:0,accept:t}}async function fu(e,t,a,r){try{let o=Ut(e,"/config",r?{channel:r}:void 0),n=await fetch(o,{method:"GET",headers:{Authorization:`Bearer ${t}`},signal:a});if(!n.ok)return{};let s=await n.json(),i=s&&typeof s=="object"&&"data"in s&&s.data?s.data:s;return i?dg(i):{}}catch{return{}}}function dg(e){let t={};e.source!=null&&(t.source=e.source),e.channelId!=null&&(t.channelId=e.channelId),e.title!=null&&(t.title=e.title),e.welcomeMessage!=null&&(t.welcomeMessage=e.welcomeMessage),e.placeholder!=null&&(t.placeholder=e.placeholder),e.suggestions!=null&&e.suggestions.length>0&&(t.suggestions=e.suggestions);let a=lu(e.pageSuggestions);a.length>0&&(t.pageSuggestions=a),typeof e.enableThreadHistory=="boolean"&&(t.enableThreadHistory=e.enableThreadHistory),typeof e.webmcp?.enabled=="boolean"&&(t.webmcp={enabled:e.webmcp.enabled}),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);let r=ug(e.documentUpload);return r&&(t.documentUpload=r),t}import{useEffect as cg,useRef as fg}from"react";function ln(e,t){return e.find(a=>a.text===t)?.id??null}async function pu(e){let{api:t,token:a,name:r,source:o,sessionId:n,properties:s}=e;if(!(typeof window>"u"||!t||!a))try{let i=new Date().toISOString(),l=JSON.stringify({sentAt:i,source:{sdk:"@waniwani/sdk",version:"0.1.0"},events:[{id:crypto.randomUUID(),type:"mcp.event",name:r,source:o,timestamp:i,correlation:{visitorId:Xe(),sessionId:n},properties:{...s,url:window.location.href},metadata:{}}]});await fetch(Sa(t),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:l,keepalive:!0})}catch{}}async function mu(e){let{api:t,token:a,channelId:r,mode:o,source:n,sessionId:s,promptId:i,origin:l,text:u,index:d}=e;await pu({api:t,token:a,name:"suggestion.clicked",source:n,sessionId:s,properties:{promptId:i,origin:l,text:u,index:d,channelId:r,mode:o}})}function hu(e,t){return t.map(a=>({id:ln(e,a),text:a}))}async function gu(e){let{api:t,token:a,channelId:r,mode:o,source:n,sessionId:s,prompts:i,origin:l}=e;i.length!==0&&await pu({api:t,token:a,name:"suggestion.shown",source:n,sessionId:s,properties:{prompts:i,count:i.length,origin:l,channelId:r,mode:o}})}function wu(e){let{widgetEvents:t,api:a,token:r,channelId:o,source:n,mode:s,pagePrompts:i}=e,l=fg(e.getSessionId);l.current=e.getSessionId,cg(()=>{if(!(!a||!r))return t.subscribe(u=>{if(u.name==="suggestion.clicked"){let{text:d,origin:c,index:f}=u.properties;mu({api:a,token:r,channelId:o,mode:s,source:n,sessionId:l.current(),promptId:ln(i??[],d),origin:c,text:d,index:f});return}if(u.name==="suggestions.shown"){let{texts:d,origin:c}=u.properties;gu({api:a,token:r,channelId:o,mode:s,source:n,sessionId:l.current(),prompts:hu(i??[],d),origin:c})}})},[t,a,r,o,n,s,i])}function Ht(e,t){for(let a of t){let r=e[a];if(typeof r=="string"&&r.length>0)return r}}var pg=["waniwani/sessionId","openai/sessionId","openai/session","sessionId","conversationId","mcp-session-id"],mg=["waniwani/requestId","openai/requestId","requestId","mcp/requestId"],hg=["waniwani/traceId","openai/traceId","traceId","mcp/traceId","openai/requestId","requestId"],gg=["waniwani/userId","openai/userId","externalUserId","userId","actorId"],wg=["waniwani/visitorId","visitorId"],xg=["correlationId","openai/requestId"];function xu(e){return e?Ht(e,pg):void 0}function Iu(e){return e?Ht(e,mg):void 0}function Lu(e){return e?Ht(e,hg):void 0}function Cu(e){return e?Ht(e,gg):void 0}function Su(e){return e?Ht(e,wg):void 0}function yu(e){return e?Ht(e,xg):void 0}var Ig=[{key:"openai/sessionId",source:"chatgpt"},{key:"openai/session",source:"chatgpt"}],Lg=[{needle:"claude",source:"claude"},{needle:"chatgpt",source:"chatgpt"},{needle:"openai",source:"chatgpt"},{needle:"gemini",source:"gemini"}];function bu(e,t){if(e){let r=e["waniwani/source"];if(typeof r=="string"&&r.length>0)return r;for(let{key:o,source:n}of Ig){let s=e[o];if(typeof s=="string"&&s.length>0)return n}}let a=t?.name;if(typeof a=="string"&&a.length>0){let r=a.toLowerCase();for(let{needle:o,source:n}of Lg)if(r.includes(o))return n}}var Cg="@waniwani/sdk";function ku(e,t={}){let a=t.now??(()=>new Date),r=t.generateId??Sg,o=kg(e),n=kr(e.meta),s=kr(e.metadata),i=Tg(e,n),l=We(e.eventId)??r(),u=vg(e.timestamp,a),d=We(e.source)??bu(n)??t.source??Cg,c=un(e)?{...e}:void 0,f={...s};return Object.keys(n).length>0&&(f.meta=n),c&&(f.rawLegacy=c),{id:l,type:"mcp.event",name:o,source:d,timestamp:u,correlation:i,properties:yg(e,o),metadata:f,rawLegacy:c}}function Sg(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?`evt_${crypto.randomUUID()}`:`evt_${Math.random().toString(36).slice(2,10)}_${Date.now().toString(36)}`}function yg(e,t){if(!un(e))return kr(e.properties);let a=bg(e,t),r=kr(e.properties);return{...a,...r}}function bg(e,t){switch(t){case"tool.called":{let a={};return We(e.toolName)&&(a.name=e.toolName),We(e.toolType)&&(a.type=e.toolType),a}case"link.clicked":{let a={};return We(e.linkUrl)&&(a.url=e.linkUrl),a}default:return{}}}function kg(e){return un(e)?e.eventType:e.event}function Tg(e,t){let a=We(e.requestId)??Iu(t),r=We(e.sessionId)??xu(t),o=We(e.traceId)??Lu(t),n=We(e.externalUserId)??Cu(t),s=We(e.visitorId)??Su(t),i=We(e.correlationId)??yu(t)??a,l={};return r&&(l.sessionId=r),o&&(l.traceId=o),a&&(l.requestId=a),i&&(l.correlationId=i),n&&(l.externalUserId=n),s&&(l.visitorId=s),l}function vg(e,t){if(e instanceof Date)return e.toISOString();if(typeof e=="string"){let a=new Date(e);if(!Number.isNaN(a.getTime()))return a.toISOString()}return t().toISOString()}function kr(e){return!e||typeof e!="object"||Array.isArray(e)?{}:e}function We(e){if(typeof e=="string"&&e.trim().length!==0)return e}function un(e){return"eventType"in e}function Tu(e){return{priceShown:({amount:t,currency:a,itemId:r,label:o,...n})=>e({event:"price_shown",properties:{amount:t,currency:a,itemId:r,label:o},...n}),pricesCompared:({options:t,...a})=>e({event:"prices_compared",properties:{options:t},...a}),optionSelected:({id:t,amount:a,currency:r,...o})=>e({event:"option_selected",properties:{id:t,amount:a,currency:r},...o}),leadQualified:t=>{let{externalId:a,email:r,name:o,...n}=t??{};return e({event:"lead_qualified",properties:{externalId:a,email:r,name:o},...n})},converted:({amount:t,currency:a,occurredAt:r,...o})=>e({event:"converted",properties:{amount:t,currency:a,occurredAt:r},...o})}}var Pg="/api/mcp/events/v2/batch";var vu="@waniwani/sdk";var Ag=new Set([401,403]),Rg=new Set([408,425,429,500,502,503,504]),Mg=(e,t)=>globalThis.fetch(e,t);function Pu(e){return new dn(e)}var dn=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=Eg(t.apiUrl,t.endpointPath??Pg),this.flushIntervalMs=t.flushIntervalMs??1e3,this.maxBatchSize=t.maxBatchSize??20,this.maxBufferSize=t.maxBufferSize??1e3,this.maxRetries=t.maxRetries??3,this.retryBaseDelayMs=t.retryBaseDelayMs??200,this.retryMaxDelayMs=t.retryMaxDelayMs??2e3,this.shutdownTimeoutMs=t.shutdownTimeoutMs??2e3,this.fetchFn=t.fetchFn??Mg,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":vu};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:Bg(n)}}if(Ag.has(a.status))return{kind:"auth",status:a.status};if(Rg.has(a.status))return{kind:"retryable",reason:`HTTP ${a.status}`};if(!a.ok)return{kind:"permanent",reason:`HTTP ${a.status}`};let r=await Dg(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:vu,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(Fg(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 Fg(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 Dg(e){let t=await e.text();if(t)try{return JSON.parse(t)}catch{return}}function Eg(e,t){let a=e.endsWith("/")?e:`${e}/`,r=t.startsWith("/")?t.slice(1):t;return`${a}${r}`}function Bg(e){return e instanceof Error?e.message:String(e)}function Au(e){let{apiUrl:t,endpointPath:a}=_g(e.endpoint),r=Pu({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),d=u===void 0?i.properties:{channelId:u,...i.properties},c=ku({sessionId:l.sessionId,visitorId:l.visitorId,externalUserId:l.externalUserId??o,traceId:l.traceId,...i,properties:d,metadata:{...e.metadata,...i.metadata}},{source:n(e.source)});return r.enqueue(c),{eventId:c.id}};return{track:Object.assign(s,Tu(s)),identify(i,l){return o=i,s({event:"user.identified",externalUserId:i,properties:l})},flush:()=>r.flush(),shutdown:i=>r.shutdown(i)}}function _g(e){let t=new URL(e);return{apiUrl:t.origin,endpointPath:`${t.pathname}${t.search}`}}function Ru(e){return Au({endpoint:Sa(e.api),token:e.token,channelId:e.channelId,source:e.getSource,identity:()=>({sessionId:e.getSessionId(),visitorId:Xe()})})}function Mu(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 Eu}from"react/jsx-runtime";var Ng=600,Du="https://app.waniwani.ai/api/mcp/chat",Hg=Ug(function(t,a){let{token:r,channelId:o,className:n,visitorId:s,overrides:i,onEvent:l}=t,u=fn(null),d=fn(null),c=cn(()=>Tl({mode:"inline",getSessionId:()=>u.current?.sessionId}),[]);Tr(()=>{if(l)return c.subscribe(l)},[l,c]);let f=cn(()=>({token:r,channelId:o,api:i?.api,mcpServerUrl:i?.mcpServerUrl,title:i?.title,hideHeader:i?.hideHeader,welcomeMessage:i?.welcomeMessage,placeholder:i?.placeholder,suggestions:i?.suggestions,enableThreadHistory:i?.enableThreadHistory,showToolCalls:i?.showToolCalls,appearance:i?.appearance,disclaimer:i?.disclaimer,locale:i?.locale}),[r,o,i?.api,i?.mcpServerUrl,i?.title,i?.hideHeader,i?.welcomeMessage,i?.placeholder,i?.suggestions,i?.enableThreadHistory,i?.showToolCalls,i?.appearance,i?.disclaimer,i?.locale]),p=i?.api??Du,[m,L]=Fu({}),[x,w]=Fu(!1),C=fn(!1);Tr(()=>{x&&!C.current&&(C.current=!0,c.emit({name:"chat.ready"}))},[x,c]);let h=i?.disablePageView;Tr(()=>{if(!r){w(!0);return}let E=_=>{h||rn({api:p,token:r,channelId:o??_.channelId,mode:"inline",source:_.source})},$=br(p,r,o);$&&(L($),w(!0),E($));let A=new AbortController,v=setTimeout(()=>w(!0),Ng);return fu(p,r,A.signal,o).then(_=>{A.signal.aborted||(Object.keys(_).length>0&&(cu(p,r,o,_),L(_)),w(!0),E(_))}).catch(_=>{console.error("[Waniwani] Remote config fetch failed:",_),w(!0)}).finally(()=>clearTimeout(v)),()=>{A.abort(),clearTimeout(v)}},[p,r,o,h]);let I=cn(()=>tn(f,m,void 0),[f,m]),S=uu(I);wu({widgetEvents:c,api:I.api??p,token:I.token??r,channelId:I.channelId??o,source:I.source,mode:"inline",pagePrompts:S.page,getSessionId:()=>u.current?.sessionId}),Tr(()=>{if(!r)return;let E=Ru({api:p,token:r,channelId:()=>o??br(p,r,o)?.channelId,getSource:()=>br(p,r,o)?.source??void 0,getSessionId:()=>u.current?.sessionId});return d.current=E,()=>{d.current=null,E.shutdown()}},[p,r,o]),Og(a,()=>{let E=()=>d.current??Mu("no public token configured"),$=Object.assign(A=>E().track(A),{priceShown:A=>E().track.priceShown(A),pricesCompared:A=>E().track.pricesCompared(A),optionSelected:A=>E().track.optionSelected(A),leadQualified:A=>E().track.leadQualified(A),converted:A=>E().track.converted(A)});return{sendMessage:A=>u.current?.sendMessage(A),sendMessageAndWait:A=>u.current?u.current.sendMessageAndWait(A):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:$,identify:(A,v)=>E().identify(A,v)}},[]);let P=su(I.visibility,x),U={mode:"inline"};return I.mcpServerUrl&&(U.mcpServerUrl=I.mcpServerUrl),I.channelId&&(U.channelId=I.channelId),P?Eu(Al,{value:c,children:Eu(Zo,{ref:u,api:I.api??Du,headers:{Authorization:`Bearer ${I.token}`},visitorId:s,skipRemoteConfig:!0,body:U,appearance:I.appearance,classNames:i?.classNames,title:I.title,hideHeader:I.hideHeader,welcomeMessage:I.welcomeMessage,welcome:i?.welcome,placeholder:I.placeholder,suggestions:S,enableThreadHistory:I.enableThreadHistory,showToolCalls:I.showToolCalls,disclaimer:I.disclaimer,documentUpload:I.documentUpload,allowAttachments:i?.allowAttachments,locale:I.locale,messages:i?.messages,className:n,initializing:!x})}):null});export{Zo as ChatEmbed,Uh as DARK_THEME,tu as DEFAULT_THEME,ta as McpAppFrame,Hg as WaniwaniChat,Hd as WebMcpOverlay,Nh as mergeTheme,Yo as themeToCSSProperties};
14
+ \f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function Bi(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=va);let u=rp(r,e.properties),d=r.all(o.space==="html"&&e.tagName==="template"?e.content:e);return r.schema=o,d&&(s=!1),(u||!n||!Ei(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(d),!s&&(!n||!ha(e,t,a))&&i.push("</"+e.tagName+">"),i.join("")}function rp(e,t){let a=[],r=-1,o;if(t){for(o in t)if(t[o]!==null&&t[o]!==void 0){let n=op(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 op(e,t,a){let r=Cn(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=Je(r.attribute,Object.assign({},e.settings.characterReferences,{subset:Qa.name[o][n]}));return a===!0||(a=Array.isArray(a)?(r.commaSeparated?yn:bn)(a,{padLeft:!e.settings.tightCommaSeparatedLists}):String(a),e.settings.collapseEmptyAttributes&&!a)?l:(e.settings.preferUnquoted&&(i=Je(a,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:Qa.unquoted[o][n]}))),i!==a&&(e.settings.quoteSmart&&Ar(a,s)>Ar(a,e.alternative)&&(s=e.alternative),i=s+Je(a,Object.assign({},e.settings.characterReferences,{subset:(s==="'"?Qa.single:Qa.double)[o][n],attribute:!0}))+s),l+(i&&"="+i))}var np=["<","&"];function Ja(e,t,a,r){return a&&a.type==="element"&&(a.tagName==="script"||a.tagName==="style")?e.value:Je(e.value,Object.assign({},r.settings.characterReferences,{subset:np}))}function _i(e,t,a,r){return r.settings.allowDangerousHtml?e.value:Ja(e,t,a,r)}function Ui(e,t,a,r){return r.all(e)}var Oi=kn("type",{invalid:sp,unknown:ip,handlers:{comment:Ai,doctype:Ri,element:Bi,raw:_i,root:Ui,text:Ja}});function sp(e){throw new Error("Expected node, not `"+e+"`")}function ip(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var lp={},up={},dp=[];function wo(e,t){let a=t||lp,r=a.quote||'"',o=r==='"'?"'":'"';if(r!=='"'&&r!=="'")throw new Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:cp,all:fp,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||Tn,characterReferences:a.characterReferences||up,closeSelfClosing:a.closeSelfClosing||!1,closeEmptyElements:a.closeEmptyElements||!1},schema:a.space==="svg"?va:Sn,quote:r,alternative:o}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function cp(e,t,a){return Oi(e,t,a,this)}function fp(e){let t=[],a=e&&e.children||dp,r=-1;for(;++r<a.length;)t[r]=this.one(a[r],r,e);return t.join("")}function Ya(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 ut(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function pp(e){return Array.isArray(e)?e:[e]}async function zi(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function yo(e){return!e||["plaintext","txt","text","plain"].includes(e)}function ji(e){return e==="ansi"||yo(e)}function bo(e){return e==="none"}function $i(e){return bo(e)}function Xi(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 rr(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 mp(e){let t=rr(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 Ki(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 ko="light-dark()",hp=["color","background-color"];function gp(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 wp(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?gp(o,n):o})):e}function xp(e,t,a,r,o="css-vars"){let n={content:e.content,explanation:e.explanation,offset:e.offset},s=t.map(d=>Za(e.variants[d])),i=new Set(s.flatMap(d=>Object.keys(d))),l={},u=(d,c)=>{let f=c==="color"?"":c==="background-color"?"-bg":`-${c}`;return a+t[d]+(c==="color"?"":f)};return s.forEach((d,c)=>{for(let f of i){let p=d[f]||"inherit";if(c===0&&r&&hp.includes(f))if(r===ko&&s.length>1){let m=t.findIndex(C=>C==="light"),L=t.findIndex(C=>C==="dark");if(m===-1||L===-1)throw new ue('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let x=s[m][f]||"inherit",w=s[L][f]||"inherit";l[f]=`light-dark(${x}, ${w})`,o==="css-vars"&&(l[u(c,f)]=p)}else l[f]=p;else o==="css-vars"&&(l[u(c,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&ke.Italic&&(t["font-style"]="italic"),e.fontStyle&ke.Bold&&(t["font-weight"]="bold");let a=[];e.fontStyle&ke.Underline&&a.push("underline"),e.fontStyle&ke.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 Qi=new WeakMap;function or(e,t){Qi.set(e,t)}function wa(e){return Qi.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(pp(a).map(r=>[r,ja])),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 Ip(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function Ip(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 Lp(e,t){if(!(e instanceof Bt))throw new ue("Invalid grammar state");return e.getInternalStack(t)}function Cp(){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 ue(`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 ue(`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 ue(`Invalid decoration position ${JSON.stringify(s)}. Line ${s.line} length: ${i.length}`);return{...s,character:l,offset:o.posToIndex(s.line,l)}}},o=mp(a.source),n=(a.options.decorations||[]).map(s=>({...s,start:r(s.start),end:r(s.end)}));Sp(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 wp(a,o)},code(a){if(!this.options.decorations?.length)return;let r=t(this),o=Array.from(a.children).filter(d=>d.type==="element"&&d.tagName==="span");if(o.length!==r.converter.lines.length)throw new ue(`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(d,c,f,p){let m=o[d],L="",x=-1,w=-1;if(c===0&&(x=0),f===0&&(w=0),f===Number.POSITIVE_INFINITY&&(w=m.children.length),x===-1||w===-1)for(let h=0;h<m.children.length;h++)L+=Ji(m.children[h]),x===-1&&L.length===c&&(x=h+1),w===-1&&L.length===f&&(w=h+1);if(x===-1)throw new ue(`Failed to find start index for decoration ${JSON.stringify(p.start)}`);if(w===-1)throw new ue(`Failed to find end index for decoration ${JSON.stringify(p.end)}`);let C=m.children.slice(x,w);if(!p.alwaysWrap&&C.length===m.children.length)i(m,p,"line");else if(!p.alwaysWrap&&C.length===1&&C[0].type==="element")i(C[0],p,"token");else{let h={type:"element",tagName:"span",properties:{},children:C};i(h,p,"wrapper"),m.children.splice(x,C.length,h)}}function s(d,c){o[d]=i(o[d],c,"line")}function i(d,c,f){let p=c.properties||{},m=c.transform||(L=>L);return d.tagName=c.tagName||"span",d.properties={...d.properties,...p,class:d.properties.class},c.properties?.class&&Xi(d,c.properties.class),d=m(d,f)||d,d}let l=[],u=r.decorations.sort((d,c)=>c.start.offset-d.start.offset||d.end.offset-c.end.offset);for(let d of u){let{start:c,end:f}=d;if(c.line===f.line)n(c.line,c.character,f.character,d);else if(c.line<f.line){n(c.line,c.character,Number.POSITIVE_INFINITY,d);for(let p=c.line+1;p<f.line;p++)l.unshift(()=>s(p,d));n(f.line,0,f.character,d)}}l.forEach(d=>d())}}}function Sp(e){for(let t=0;t<e.length;t++){let a=e[t];if(a.start.offset>a.end.offset)throw new ue(`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 ue(`Decorations ${JSON.stringify(a.start)} and ${JSON.stringify(o.start)} intersect.`)}}}}function Ji(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(Ji).join(""):""}var yp=[Cp()];function er(e){let t=bp(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...yp]}function bp(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 xt=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],xo={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function kp(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 Ni(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 Tp(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)xo[r]&&t.push({type:"setDecoration",value:xo[r]});else if(r<=29){let o=xo[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:xt[r-30]}});else if(r===38){let o=Ni(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:xt[r-40]}});else if(r===48){let o=Ni(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:xt[r-90+8]}}):r>=100&&r<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:xt[r-100+8]}})}return t}function vp(){let e=null,t=null,a=new Set;return{parse(r){let o=[],n=0;do{let s=kp(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=Tp(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 Pp={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 Ap(e=Pp){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<xt.length;u++)r.push(t(xt[u]));let i=[0,95,135,175,215,255];for(let u=0;u<6;u++)for(let d=0;d<6;d++)for(let c=0;c<6;c++)r.push(a([i[u],i[d],i[c]]));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 Rp={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 Mp(e,t,a){let r=Ya(e,a),o=rr(t),n=Object.fromEntries(xt.map(l=>{let u=`terminal.ansi${l[0].toUpperCase()}${l.substring(1)}`,d=e.colors?.[u];return[l,d||Rp[l]]})),s=Ap(n),i=vp();return o.map(l=>i.parse(l[0]).map(u=>{let d,c;u.decorations.has("reverse")?(d=u.background?s.value(u.background):e.bg,c=u.foreground?s.value(u.foreground):e.fg):(d=u.foreground?s.value(u.foreground):e.fg,c=u.background?s.value(u.background):void 0),d=ut(d,r),c=ut(c,r),u.decorations.has("dim")&&(d=Fp(d));let f=ke.None;return u.decorations.has("bold")&&(f|=ke.Bold),u.decorations.has("italic")&&(f|=ke.Italic),u.decorations.has("underline")&&(f|=ke.Underline),u.decorations.has("strikethrough")&&(f|=ke.Strikethrough),{content:u.value,offset:l[1],color:d,bgColor:c,fontStyle:f}}))}function Fp(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 To(e,t,a={}){let{theme:r=e.getLoadedThemes()[0]}=a,o=e.resolveLangAlias(a.lang||"text");if(yo(o)||bo(r))return rr(t).map(l=>[{content:l[0],offset:l[1]}]);let{theme:n,colorMap:s}=e.setTheme(r);if(o==="ansi")return Mp(n,t,a);let i=e.getLanguage(a.lang||"text");if(a.grammarState){if(a.grammarState.lang!==i.name)throw new ue(`Grammar state language "${a.grammarState.lang}" does not match highlight language "${i.name}"`);if(!a.grammarState.themes.includes(n.name))throw new ue(`Grammar state themes "${a.grammarState.themes}" do not contain highlight theme "${n.name}"`)}return Ep(t,i,n,s,a)}function Dp(...e){if(e.length===2)return wa(e[1]);let[t,a,r={}]=e,{lang:o="text",theme:n=t.getLoadedThemes()[0]}=r;if(yo(o)||bo(n))throw new ue("Plain language does not have grammar state");if(o==="ansi")throw new ue("ANSI language does not have grammar state");let{theme:s,colorMap:i}=t.setTheme(n),l=t.getLanguage(o);return new Bt(vo(a,l,s,i,r).stateStack,l.name,s.name)}function Ep(e,t,a,r,o){let n=vo(e,t,a,r,o),s=new Bt(n.stateStack,t.name,a.name);return or(n.tokens,s),n.tokens}function vo(e,t,a,r,o){let n=Ya(a,o),{tokenizeMaxLineLength:s=0,tokenizeTimeLimit:i=500}=o,l=rr(e),u=o.grammarState?Lp(o.grammarState,a.name)??ja:o.grammarContextCode!=null?vo(o.grammarContextCode,t,a,r,{...o,grammarState:void 0,grammarContextCode:void 0}).stateStack:ja,d=[],c=[];for(let f=0,p=l.length;f<p;f++){let[m,L]=l[f];if(m===""){d=[],c.push([]);continue}if(s>0&&m.length>=s){d=[],c.push([{content:m,offset:L,color:"",fontStyle:0}]);continue}let x,w,C;o.includeExplanation&&(x=t.tokenizeLine(m,u,i),w=x.tokens,C=0);let h=t.tokenizeLine2(m,u,i),I=h.tokens.length/2;for(let S=0;S<I;S++){let v=h.tokens[2*S],U=S+1<I?h.tokens[2*S+2]:m.length;if(v===U)continue;let E=h.tokens[2*S+1],$=ut(r[wt.getForeground(E)],n),A=wt.getFontStyle(E),P={content:m.substring(v,U),offset:L+v,color:$,fontStyle:A};if(o.includeExplanation){let _=[];if(o.includeExplanation!=="scopeName")for(let Y of a.settings){let G;switch(typeof Y.scope){case"string":G=Y.scope.split(/,/).map(T=>T.trim());break;case"object":G=Y.scope;break;default:continue}_.push({settings:Y,selectors:G.map(T=>T.split(/ /))})}P.explanation=[];let W=0;for(;v+W<U;){let Y=w[C],G=m.substring(Y.startIndex,Y.endIndex);W+=G.length,P.explanation.push({content:G,scopes:o.includeExplanation==="scopeName"?Bp(Y.scopes):_p(_,Y.scopes)}),C+=1}}d.push(P)}c.push(d),d=[],u=h.ruleStack}return{tokens:c,stateStack:u}}function Bp(e){return e.map(t=>({scopeName:t}))}function _p(e,t){let a=[];for(let r=0,o=t.length;r<o;r++){let n=t[r];a[r]={scopeName:n,themeMatches:Op(e,n,t.slice(0,r))}}return a}function Hi(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function Up(e,t,a){if(!Hi(e[e.length-1],t))return!1;let r=e.length-2,o=a.length-1;for(;r>=0&&o>=0;)Hi(e[r],a[o])&&(r-=1),o-=1;return r===-1}function Op(e,t,a){let r=[];for(let{selectors:o,settings:n}of e)for(let s of o)if(Up(s,t,a)){r.push(n);break}return r}function Yi(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=To(e,t,{...a,theme:l.theme}),d=wa(u),c=typeof l.theme=="string"?l.theme:l.theme.name;return{tokens:u,state:d,theme:c}}),n=Np(...o.map(l=>l.tokens)),s=n[0].map((l,u)=>l.map((d,c)=>{let f={content:d.content,variants:{},offset:d.offset};return"includeExplanation"in a&&a.includeExplanation&&(f.explanation=d.explanation),n.forEach((p,m)=>{let{content:L,explanation:x,offset:w,...C}=p[u][c];f.variants[r[m].color]=C}),f})),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&&or(s,i),s}function Np(...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 d=i[u];d.content.length===l?(n[u].push(d),s[u]+=1,i[u]=o[u][s[u]]):(n[u].push({...d,content:d.content.slice(0,l)}),i[u]={...d,content:d.content.slice(l),offset:d.offset+l})}}}return t}function tr(e,t,a){let r,o,n,s,i,l;if("themes"in a){let{defaultColor:u="light",cssVariablePrefix:d="--shiki-",colorsRendering:c="css-vars"}=a,f=Object.entries(a.themes).filter(w=>w[1]).map(w=>({color:w[0],theme:w[1]})).sort((w,C)=>w.color===u?-1:C.color===u?1:0);if(f.length===0)throw new ue("`themes` option must not be empty");let p=Yi(e,t,a);if(l=wa(p),u&&ko!==u&&!f.find(w=>w.color===u))throw new ue(`\`themes\` option must contain the defaultColor key \`${u}\``);let m=f.map(w=>e.getTheme(w.theme)),L=f.map(w=>w.color);n=p.map(w=>w.map(C=>xp(C,L,d,u,c))),l&&or(n,l);let x=f.map(w=>Ya(w.theme,a));o=qi(f,m,x,d,u,"fg",c),r=qi(f,m,x,d,u,"bg",c),s=`shiki-themes ${m.map(w=>w.name).join(" ")}`,i=u?void 0:[o,r].join(";")}else if("theme"in a){let u=Ya(a.theme,a);n=To(e,t,a);let d=e.getTheme(a.theme);r=ut(d.bg,u),o=ut(d.fg,u),s=d.name,l=wa(n)}else throw new ue("Invalid options, either `theme` or `themes` must be provided");return{tokens:n,fg:o,bg:r,themeName:s,rootStyle:i,grammarState:l}}function qi(e,t,a,r,o,n,s){return e.map((i,l)=>{let u=ut(t[l][n],a[l])||"inherit",d=`${r+i.color}${n==="bg"?"-bg":""}:${u}`;if(l===0&&o){if(o===ko&&e.length>1){let c=e.findIndex(L=>L.color==="light"),f=e.findIndex(L=>L.color==="dark");if(c===-1||f===-1)throw new ue('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let p=ut(t[c][n],a[c])||"inherit",m=ut(t[f][n],a[f])||"inherit";return`light-dark(${p}, ${m});${d}`}return u}return s==="css-vars"?d:null}).filter(i=>!!i).join(";")}function ar(e,t,a,r={meta:{},options:a,codeToHast:(o,n)=>ar(e,o,n),codeToTokens:(o,n)=>tr(e,o,n)}){let o=t;for(let m of er(a))o=m.preprocess?.call(r,o,a)||o;let{tokens:n,fg:s,bg:i,themeName:l,rootStyle:u,grammarState:d}=tr(e,o,a),{mergeWhitespaces:c=!0,mergeSameStyleTokens:f=!1}=a;c===!0?n=qp(n):c==="never"&&(n=Wp(n)),f&&(n=Gp(n));let p={...r,get source(){return o}};for(let m of er(a))n=m.tokens?.call(p,n)||n;return Hp(n,{...a,fg:s,bg:i,themeName:l,rootStyle:a.rootStyle===!1?!1:a.rootStyle??u},p,d)}function Hp(e,t,a,r=wa(e)){let o=er(t),n=[],s={type:"root",children:[]},{structure:i="classic",tabindex:l="0"}=t,u={class:`shiki ${t.themeName||""}`};t.rootStyle!==!1&&(t.rootStyle!=null?u.style=t.rootStyle:u.style=`background-color:${t.bg};color:${t.fg}`),l!==!1&&l!=null&&(u.tabindex=l.toString());for(let[L,x]of Object.entries(t.meta||{}))L.startsWith("_")||(u[L]=x);let d={type:"element",tagName:"pre",properties:u,children:[],data:t.data},c={type:"element",tagName:"code",properties:{},children:n},f=[],p={...a,structure:i,addClassToHast:Xi,get source(){return a.source},get tokens(){return e},get options(){return t},get root(){return s},get pre(){return d},get code(){return c},get lines(){return f}};if(e.forEach((L,x)=>{x&&(i==="inline"?s.children.push({type:"element",tagName:"br",properties:{},children:[]}):i==="classic"&&n.push({type:"text",value:`
15
+ `}));let w={type:"element",tagName:"span",properties:{class:"line"},children:[]},C=0;for(let h of L){let I={type:"element",tagName:"span",properties:{...h.htmlAttrs},children:[{type:"text",value:h.content}]},S=Lo(h.htmlStyle||Za(h));S&&(I.properties.style=S);for(let v of o)I=v?.span?.call(p,I,x+1,C,w,h)||I;i==="inline"?s.children.push(I):i==="classic"&&w.children.push(I),C+=h.content.length}if(i==="classic"){for(let h of o)w=h?.line?.call(p,w,x+1)||w;f.push(w),n.push(w)}else i==="inline"&&f.push(w)}),i==="classic"){for(let L of o)c=L?.code?.call(p,c)||c;d.children.push(c);for(let L of o)d=L?.pre?.call(p,d)||d;s.children.push(d)}else if(i==="inline"){let L=[],x={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(let h of s.children)h.type==="element"&&h.tagName==="br"?(L.push(x),x={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(h.type==="element"||h.type==="text")&&x.children.push(h);L.push(x);let C={type:"element",tagName:"code",properties:{},children:L};for(let h of o)C=h?.code?.call(p,C)||C;s.children=[];for(let h=0;h<C.children.length;h++){h>0&&s.children.push({type:"element",tagName:"br",properties:{},children:[]});let I=C.children[h];I.type==="element"&&s.children.push(...I.children)}}let m=s;for(let L of o)m=L?.root?.call(p,m)||m;return r&&or(m,r),m}function qp(e){return e.map(t=>{let a=[],r="",o;return t.forEach((n,s)=>{let l=!(n.fontStyle&&(n.fontStyle&ke.Underline||n.fontStyle&ke.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 Wp(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 Gp(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&ke.Underline||o.fontStyle&ke.Strikethrough),l=r.fontStyle&&(r.fontStyle&ke.Underline||r.fontStyle&ke.Strikethrough);!i&&!l&&n===s?o.content+=r.content:a.push({...r})}return a})}var Vp=wo;function zp(e,t,a){let r={meta:{},options:a,codeToHast:(n,s)=>ar(e,n,s),codeToTokens:(n,s)=>tr(e,n,s)},o=Vp(ar(e,t,a,r));for(let n of er(a))o=n.postprocess?.call(r,o,a)||o;return o}var Wi={light:"#333333",dark:"#bbbbbb"},Gi={light:"#fffffe",dark:"#1e1e1e"},Vi="__shiki_resolved";function Po(e){if(e?.[Vi])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"?Wi.light:Wi.dark),a||(a=t.type==="light"?Gi.light:Gi.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 d={...i,settings:{...i.settings}};if(l){let c=s(i.settings.foreground);t.colorReplacements[c]=i.settings.foreground,d.settings.foreground=c}if(u){let c=s(i.settings.background);t.colorReplacements[c]=i.settings.background,d.settings.background=c}return d});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,Vi,{enumerable:!1,writable:!1,value:!0}),t}async function Zi(e){return Array.from(new Set((await Promise.all(e.filter(t=>!ji(t)).map(async t=>await zi(t).then(a=>Array.isArray(a)?a:[a])))).flat()))}async function el(e){return(await Promise.all(e.map(async a=>$i(a)?null:Po(await zi(a))))).filter(a=>!!a)}var Io=3,jp=!1;function $p(e,t=3){if(Io&&!(typeof Io=="number"&&t>Io)){if(jp)throw new Error(`[SHIKI DEPRECATE]: ${e}`);console.trace(`[SHIKI DEPRECATE]: ${e}`)}}var lt=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function tl(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 lt(`Circular alias \`${Array.from(a).join(" -> ")} -> ${e}\``);a.add(e)}}return e}var Co=class extends Ii{constructor(t,a,r,o={}){super(t),this._resolver=t,this._themes=a,this._langs=r,this._alias=o,this._themes.map(n=>this.loadTheme(n)),this.loadLanguages(this._langs)}_resolvedThemes=new Map;_resolvedGrammars=new Map;_langMap=new Map;_langGraph=new Map;_textmateThemeCache=new WeakMap;_loadedThemesCache=null;_loadedLanguagesCache=null;getTheme(t){return typeof t=="string"?this._resolvedThemes.get(t):this.loadTheme(t)}loadTheme(t){let a=Po(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=da.createFromRawTheme(t),this._textmateThemeCache.set(t,a)),this._syncRegistry.setTheme(a)}getGrammar(t){return t=tl(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 lt(`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))}},So=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}},ga=0;function Xp(e){ga+=1,e.warnings!==!1&&ga>=10&&ga%10===0&&console.warn(`[Shiki] ${ga} 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 lt("`engine` option is required for synchronous mode");let a=(e.langs||[]).flat(1),r=(e.themes||[]).flat(1).map(Po),o=new So(e.engine,a),n=new Co(o,r,a,e.langAlias),s;function i(h){return tl(h,e.langAlias)}function l(h){w();let I=n.getGrammar(typeof h=="string"?h:h.name);if(!I)throw new lt(`Language \`${h}\` not found, you may need to load it first`);return I}function u(h){if(h==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};w();let I=n.getTheme(h);if(!I)throw new lt(`Theme \`${h}\` not found, you may need to load it first`);return I}function d(h){w();let I=u(h);s!==h&&(n.setTheme(I),s=h);let S=n.getColorMap();return{theme:I,colorMap:S}}function c(){return w(),n.getLoadedThemes()}function f(){return w(),n.getLoadedLanguages()}function p(...h){w(),n.loadLanguages(h.flat(1))}async function m(...h){return p(await Zi(h))}function L(...h){w();for(let I of h.flat(1))n.loadTheme(I)}async function x(...h){return w(),L(await el(h))}function w(){if(t)throw new lt("Shiki instance has been disposed")}function C(){t||(t=!0,n.dispose(),ga-=1)}return{setTheme:d,getTheme:u,getLanguage:l,getLoadedThemes:c,getLoadedLanguages:f,resolveLangAlias:i,loadLanguage:m,loadLanguageSync:p,loadTheme:x,loadThemeSync:L,dispose:C,[Symbol.dispose]:C}}async function Kp(e){e.engine||$p("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,a,r]=await Promise.all([el(e.themes||[]),Zi(e.langs||[]),e.engine]);return Xp({...e,themes:t,langs:a,engine:r})}async function Qp(e){let t=await Kp(e);return{getLastGrammarState:(...a)=>Dp(t,...a),codeToTokensBase:(a,r)=>To(t,a,r),codeToTokensWithThemes:(a,r)=>Yi(t,a,r),codeToTokens:(a,r)=>tr(t,a,r),codeToHast:(a,r)=>ar(t,a,r),codeToHtml:(a,r)=>zp(t,a,r),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function al(e){let t=e.langs,a=e.themes,r=e.engine;async function o(n){function s(c){if(typeof c=="string"){if(c=n.langAlias?.[c]||c,ji(c))return[];let f=t[c];if(!f)throw new ue(`Language \`${c}\` is not included in this bundle. You may want to load it from external source.`);return f}return c}function i(c){if($i(c))return"none";if(typeof c=="string"){let f=a[c];if(!f)throw new ue(`Theme \`${c}\` is not included in this bundle. You may want to load it from external source.`);return f}return c}let l=(n.themes??[]).map(c=>i(c)),u=(n.langs??[]).map(c=>s(c)),d=await Qp({engine:n.engine??r(),...n,themes:l,langs:u});return{...d,loadLanguage(...c){return d.loadLanguage(...c.map(s))},loadTheme(...c){return d.loadTheme(...c.map(i))},getBundledLanguages(){return t},getBundledThemes(){return a}}}return o}function Jp(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 rl(e,t){let a=Jp(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 Ao=[{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"))}],ol=Object.fromEntries(Ao.map(e=>[e.id,e.import])),nl=Object.fromEntries(Ao.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),xa={...ol,...nl};var Yp=[{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"))}],sl=Object.fromEntries(Yp.map(e=>[e.id,e.import]));var Ia=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Zp(){return 2147483648}function em(){return typeof performance<"u"?performance.now():Date.now()}var tm=(e,t)=>e+(t-e%t)%t;async function am(e){let t,a,r={};function o(p){a=p,r.HEAPU8=new Uint8Array(p),r.HEAPU32=new Uint32Array(p)}function n(p,m,L){r.HEAPU8.copyWithin(p,m,m+L)}function s(p){try{return t.grow(p-a.byteLength+65535>>>16),o(t.buffer),1}catch{}}function i(p){let m=r.HEAPU8.length;p=p>>>0;let L=Zp();if(p>L)return!1;for(let x=1;x<=4;x*=2){let w=m*(1+.2/x);w=Math.min(w,p+100663296);let C=Math.min(L,tm(Math.max(p,w),65536));if(s(C))return!0}return!1}let l=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function u(p,m,L=1024){let x=m+L,w=m;for(;p[w]&&!(w>=x);)++w;if(w-m>16&&p.buffer&&l)return l.decode(p.subarray(m,w));let C="";for(;m<w;){let h=p[m++];if(!(h&128)){C+=String.fromCharCode(h);continue}let I=p[m++]&63;if((h&224)===192){C+=String.fromCharCode((h&31)<<6|I);continue}let S=p[m++]&63;if((h&240)===224?h=(h&15)<<12|I<<6|S:h=(h&7)<<18|I<<12|S<<6|p[m++]&63,h<65536)C+=String.fromCharCode(h);else{let v=h-65536;C+=String.fromCharCode(55296|v>>10,56320|v&1023)}}return C}function d(p,m){return p?u(r.HEAPU8,p,m):""}let c={emscripten_get_now:em,emscripten_memcpy_big:n,emscripten_resize_heap:i,fd_write:()=>0};async function f(){let m=await e({env:c,wasi_snapshot_preview1:c});t=m.memory,o(t.buffer),Object.assign(r,m),r.UTF8ToString=d}return await f(),r}var rm=Object.defineProperty,om=(e,t,a)=>t in e?rm(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,xe=(e,t,a)=>om(e,typeof t!="symbol"?t+"":t,a),ye=null;function nm(e){throw new Ia(e.UTF8ToString(e.getLastOnigError()))}var sr=class e{constructor(t){xe(this,"utf16Length"),xe(this,"utf8Length"),xe(this,"utf16Value"),xe(this,"utf8Value"),xe(this,"utf16OffsetToUtf8"),xe(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 d=t.charCodeAt(u),c=d,f=!1;if(d>=55296&&d<=56319&&u+1<a){let p=t.charCodeAt(u+1);p>=56320&&p<=57343&&(c=(d-55296<<10)+65536|p-56320,f=!0)}o&&(n[u]=l,f&&(n[u+1]=l),c<=127?s[l+0]=u:c<=2047?(s[l+0]=u,s[l+1]=u):c<=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)),c<=127?i[l++]=c:c<=2047?(i[l++]=192|(c&1984)>>>6,i[l++]=128|(c&63)>>>0):c<=65535?(i[l++]=224|(c&61440)>>>12,i[l++]=128|(c&4032)>>>6,i[l++]=128|(c&63)>>>0):(i[l++]=240|(c&1835008)>>>18,i[l++]=128|(c&258048)>>>12,i[l++]=128|(c&4032)>>>6,i[l++]=128|(c&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}},ir=class $e{constructor(t){if(xe(this,"id",++$e.LAST_ID),xe(this,"_onigBinding"),xe(this,"content"),xe(this,"utf16Length"),xe(this,"utf8Length"),xe(this,"utf16OffsetToUtf8"),xe(this,"utf8OffsetToUtf16"),xe(this,"ptr"),!ye)throw new Ia("Must invoke loadWasm first.");this._onigBinding=ye,this.content=t;let a=new sr(t);this.utf16Length=a.utf16Length,this.utf8Length=a.utf8Length,this.utf16OffsetToUtf8=a.utf16OffsetToUtf8,this.utf8OffsetToUtf16=a.utf8OffsetToUtf16,this.utf8Length<1e4&&!$e._sharedPtrInUse?($e._sharedPtr||($e._sharedPtr=ye.omalloc(1e4)),$e._sharedPtrInUse=!0,ye.HEAPU8.set(a.utf8Value,$e._sharedPtr),this.ptr=$e._sharedPtr):this.ptr=a.createString(ye)}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===$e._sharedPtr?$e._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};xe(ir,"LAST_ID",0);xe(ir,"_sharedPtr",0);xe(ir,"_sharedPtrInUse",!1);var il=ir,Mo=class{constructor(t){if(xe(this,"_onigBinding"),xe(this,"_ptr"),!ye)throw new Ia("Must invoke loadWasm first.");let a=[],r=[];for(let i=0,l=t.length;i<l;i++){let u=new sr(t[i]);a[i]=u.createString(ye),r[i]=u.utf8Length}let o=ye.omalloc(4*t.length);ye.HEAPU32.set(a,o/4);let n=ye.omalloc(4*t.length);ye.HEAPU32.set(r,n/4);let s=ye.createOnigScanner(o,n,t.length);for(let i=0,l=t.length;i<l;i++)ye.ofree(a[i]);ye.ofree(n),ye.ofree(o),s===0&&nm(ye),this._onigBinding=ye,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 il(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++],d=i[l++],c=[];for(let f=0;f<d;f++){let p=t.convertUtf8OffsetToUtf16(i[l++]),m=t.convertUtf8OffsetToUtf16(i[l++]);c[f]={start:p,end:m,length:m-p}}return{index:u,captureIndices:c}}};function sm(e){return typeof e.instantiator=="function"}function im(e){return typeof e.default=="function"}function lm(e){return typeof e.data<"u"}function um(e){return typeof Response<"u"&&e instanceof Response}function dm(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 nr;function cm(e){if(nr)return nr;async function t(){ye=await am(async a=>{let r=e;return r=await r,typeof r=="function"&&(r=await r(a)),typeof r=="function"&&(r=await r(a)),sm(r)?r=await r.instantiator(a):im(r)?r=await r.default(a):(lm(r)&&(r=r.data),um(r)?typeof WebAssembly.instantiateStreaming=="function"?r=await fm(r)(a):r=await pm(r)(a):dm(r)?r=await Ro(r)(a):r instanceof WebAssembly.Module?r=await Ro(r)(a):"default"in r&&r.default instanceof WebAssembly.Module&&(r=await Ro(r.default)(a))),"instance"in r&&(r=r.instance),"exports"in r&&(r=r.exports),r})}return nr=t(),nr}function Ro(e){return t=>WebAssembly.instantiate(e,t)}function fm(e){return t=>WebAssembly.instantiateStreaming(e,t)}function pm(e){return async t=>{let a=await e.arrayBuffer();return WebAssembly.instantiate(a,t)}}async function ll(e){return e&&await cm(e),{createScanner(t){return new Mo(t.map(a=>typeof a=="string"?a:a.source))},createString(t){return new il(t)}}}var lr=al({langs:xa,themes:sl,engine:()=>ll(import("../wasm-EOPKAILK.js"))}),{codeToHtml:mm,codeToHast:hm,codeToTokens:gm,codeToTokensBase:wm,codeToTokensWithThemes:xm,getSingletonHighlighter:Im,getLastGrammarState:Lm}=rl(lr,{guessEmbeddedLanguages:Ki});var ul=new Set(Object.keys(xa)),Fo=new Map,Do=new Map,_t=new Map,Cm=(e,t)=>`${e}-${t[0]}-${t[1]}`,Sm=(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}`},ym=(e,t)=>{let a=Cm(e,t);if(Fo.has(a))return Fo.get(a);let r=lr({themes:t,langs:[e]});return Fo.set(a,r),r};function bm(e={}){var t;let a=(t=e.themes)!=null?t:["github-light","github-dark"];return{name:"shiki",type:"code-highlighter",supportsLanguage(r){return ul.has(r)},getSupportedLanguages(){return Array.from(ul)},getThemes(){return a},highlight({code:r,language:o,themes:n},s){let i=Sm(r,o,n);return Do.has(i)?Do.get(i):(s&&(_t.has(i)||_t.set(i,new Set),_t.get(i).add(s)),ym(o,n).then(l=>{let u=l.getLoadedLanguages().includes(o)?o:"text",d=l.codeToTokens(r,{lang:u,themes:{light:n[0],dark:n[1]}});Do.set(i,d);let c=_t.get(i);if(c){for(let f of c)f(d);_t.delete(i)}}).catch(l=>{console.error("[Streamdown Code] Failed to highlight code:",l),_t.delete(i)}),null)}}}var dl=bm();import{memo as Pm}from"react";import{useEffect as km,useRef as ur,useState as Tm}from"react";var vm=5,cl=400;function fl(e,t,a={}){let{msPerChar:r=vm}=a,[o,n]=Tm(t?"":e),s=ur(e),i=ur(t?0:e.length),l=ur(0),u=ur(null);return(e.length<i.current||!e.startsWith(o.slice(0,i.current)))&&(i.current=t?0:e.length),s.current=e,km(()=>{if(!t){u.current!==null&&(cancelAnimationFrame(u.current),u.current=null),i.current=e.length,n(e);return}if(s.current.length-i.current>cl&&(i.current=s.current.length-cl),u.current!==null)return;let c=f=>{let p=s.current;if(i.current>=p.length){u.current=null;return}l.current===0&&(l.current=f);let m=f-l.current;if(m>=r){let L=Math.min(Math.floor(m/r),p.length-i.current);i.current+=L,n(p.slice(0,i.current)),l.current=f}u.current=requestAnimationFrame(c)};return u.current=requestAnimationFrame(c),()=>{u.current!==null&&(cancelAnimationFrame(u.current),u.current=null)}},[e,t,r]),o}import{jsx as dr}from"react/jsx-runtime";var Eo=({className:e,from:t,children:a,...r})=>dr("div",{className:b("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:dr("div",{className:b("ww:flex ww:min-w-0 ww:flex-col ww:gap-2","ww:w-full"),children:a})}),Bo=({children:e,className:t,...a})=>dr("div",{className:b("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}),Am={cjk:ao,code:dl},Rm={cjk:ao},Mm={enabled:!1};function Fm({className:e,linkSafety:t,isStreaming:a,children:r,...o}){let s=fl(typeof r=="string"?r:"",!!a),i=typeof r=="string"?s:r;return dr(qt,{className:b("ww:size-full ww:[&>*:first-child]:mt-0 ww:[&>*:last-child]:mb-0",e),linkSafety:t??Mm,plugins:a?Rm:Am,...o,children:i})}var cr=Pm(Fm,(e,t)=>e.children===t.children&&e.isStreaming===t.isStreaming);cr.displayName="MessageResponse";import{jsx as pl,jsxs as Dm}from"react/jsx-runtime";function ml(e){return e.type==="text"||e.type==="reasoning"||e.type==="file"||"toolCallId"in e}function hl(e){return e.parts.some(ml)}function gl(e,t,a){if(t!=="submitted"&&t!=="streaming")return!1;let r=e[e.length-1];return!r||r.role!=="assistant"?!0:!r.parts.some(n=>!(!ml(n)||a?.ignoreToolParts&&"toolCallId"in n||a?.ignoreReasoningParts&&n.type==="reasoning"))}function wl({className:e,...t}){let{t:a}=X();return Dm("div",{"aria-live":"polite",className:b("ww:mb-4 ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground",e),style:{animation:"ww-fade-in 0.2s ease-out"},...t,children:[pl(Yt,{className:"ww:size-4 ww:shrink-0"}),pl(Ne,{duration:1.6,children:a.workingIndicator.default})]})}import{jsx as La,jsxs as Em}from"react/jsx-runtime";function xl({icon:e,title:t,description:a,suggestions:r,onSuggestionSelect:o}){return Em("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&&La("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}),La("h2",{className:"ww:text-lg ww:font-semibold ww:text-foreground",children:t}),a&&La("p",{className:"ww:mt-1 ww:text-sm ww:text-muted-foreground ww:max-w-sm",children:a}),r&&r.length>0&&La("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)=>La("button",{type:"button",onClick:()=>o?.(n),className:b("ww:w-full ww:text-left ww:rounded-xl ww:border ww:border-border ww:bg-background ww:px-4 ww:py-3 ww:text-sm","ww:text-foreground ww:hover:bg-accent ww:hover:border-primary/30","ww:transition-all ww:duration-200 ww:ease-out ww:cursor-pointer","ww:animate-[ww-fade-in_0.2s_ease-out_both]"),style:{animationDelay:`${s*50}ms`},children:n},n))})]})}import{Component as Bm}from"react";import{jsx as _o,jsxs as Um}from"react/jsx-runtime";function _m({onRetry:e}){let{t}=X();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:[_o("span",{children:t.widgetErrorBoundary.failedToLoad}),_o("button",{type:"button",onClick:e,className:"ww:text-xs ww:font-medium ww:text-primary ww:hover:underline",children:t.widgetErrorBoundary.retry})]})}var fr=class extends Bm{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.warn("[Waniwani] Widget failed to render:",t.message)}render(){return this.state.hasError?_o(_m,{onRetry:()=>this.setState({hasError:!1})}):this.props.children}};import{Fragment as Om,jsx as oe,jsxs as dt}from"react/jsx-runtime";function Uo(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)?Xt:ct}function Ll({messages:e,status:t,welcomeMessage:a,welcome:r,onSuggestionSelect:o,resourceEndpoint:n,chatSessionId:s,isDark:i,onFollowUp:l,onCallTool:u,onWidgetDisplayModeChange:d,fullscreenToolCallId:c,debug:f,showToolCalls:p=!0,toolDefinitions:m,messageClassNames:L}){let{t:x}=X(),w=e[e.length-1],C=e.length>0,h=c!=null,I=!h&&gl(e,t,{ignoreToolParts:p===!1,ignoreReasoningParts:p===!1});return dt(Om,{children:[!h&&(!C&&r?oe(xl,{...r,onSuggestionSelect:o}):a&&oe(Eo,{from:"assistant",children:oe(Bo,{children:oe(cr,{children:a})})})),e.map(S=>{let v=S.parts.filter(T=>T.type==="text"),U=S.parts.filter(T=>T.type==="reasoning"),E=S.parts.filter(T=>T.type==="file"),$=os(S.metadata),A=S.parts.filter(T=>"toolCallId"in T),P=S.parts.filter(T=>T.type==="reasoning"||"toolCallId"in T),_=S===w&&S.role==="assistant",W=v.length>0,Y=h?A.some(T=>T.toolCallId===c):!1,G=p!==!1&&!Y&&P.length>=2;return h&&!Y?oe("div",{style:{display:"none"}},S.id):S.role==="assistant"&&!hl(S)?oe("div",{style:{display:"none"}},S.id):p===!1&&S.role==="assistant"&&!W&&E.length===0&&A.every(T=>{let y="output"in T?T.output:void 0;return y===void 0||!n||!ea(T.toolName,y,m)})?oe("div",{style:{display:"none"}},S.id):dt(Eo,{from:S.role,className:L?.message,children:[p!==!1&&!Y&&!G&&U.map((T,y)=>dt(oa,{isStreaming:T.state==="streaming",children:[oe(na,{}),oe(sa,{children:T.text})]},`reasoning-${S.id}-${y}`)),G&&(()=>{let T=P[P.length-1],y=T.type==="reasoning"?{icon:Qe,label:x.reasoning.thinking}:{icon:Il(T.toolName),label:T.title??Uo(T.toolName)};return dt(Rs,{isWorking:_&&(t==="streaming"||t==="submitted"),activeStep:y,children:[oe(Ms,{workingLabel:x.chainOfThought.working,label:x.chainOfThought.done}),oe(Fs,{children:P.map((R,Ae)=>{let Z=Ae===P.length-1;if(R.type==="reasoning")return oe(Es,{isStreaming:R.state==="streaming",isLast:Z,children:R.text},`reasoning-${S.id}-${Ae}`);let le=R.title??Uo(R.toolName),ie=Il(R.toolName);if(p==="titles-only")return oe(Zr,{icon:ie,title:le,state:R.state,isLast:Z},R.toolCallId);let k="output"in R?R.output:void 0;return dt(Zr,{icon:ie,title:le,state:R.state,isLast:Z,children:[oe(qr,{input:R.input,debug:f}),k!==void 0&&oe(Wr,{output:k,errorText:"errorText"in R?R.errorText:void 0,debug:f})]},R.toolCallId)})})]})})(),p!==!1&&!Y&&!G&&A.length===1&&(()=>{let T=A[0],y=T.title??Uo(T.toolName);if(p==="titles-only")return oe(jn,{title:y,state:T.state});let R="output"in T?T.output:void 0;return dt(Vn,{children:[oe(zn,{title:y,state:T.state}),dt($n,{children:[oe(qr,{input:T.input,debug:f}),R!==void 0&&oe(Wr,{output:R,errorText:"errorText"in T?T.errorText:void 0,debug:f})]})]})})(),A.map(T=>{let y="output"in T?T.output:void 0,R=ea(T.toolName,y,m),Ae=Xn(T.toolName,y,m),Z=T.toolCallId===c;return R&&n&&y!==void 0?oe("div",{style:Z?{position:"absolute",inset:0,zIndex:10,display:"flex",flexDirection:"column",overflow:"hidden",background:"var(--ww-color-background)"}:void 0,children:R&&n&&y!==void 0&&oe(fr,{children:oe(ta,{isFullscreen:Z,resourceUri:R,toolInput:T.input??{},toolResult:{content:y.content,structuredContent:y.structuredContent,_meta:y._meta},resourceEndpoint:n,chatSessionId:s,isDark:i,autoHeight:Ae,toolDefinitions:m,onFollowUp:l,onCallTool:u,onDisplayModeChange:d?le=>d(le,{toolCallId:T.toolCallId,resourceUri:R,toolInput:T.input??{},toolResult:{content:y.content,structuredContent:y.structuredContent,_meta:y._meta},autoHeight:Ae}):void 0})})},T.toolCallId):null}),!Y&&$.length>0&&oe(ns,{documents:$}),!Y&&oe("div",{children:dt(Bo,{className:b(S.role==="user"?L?.userBubble:L?.assistantBubble),children:[E.length>0&&oe(as,{files:E}),W?v.map((T,y)=>{let R=_&&t==="streaming"&&y===v.length-1;return oe(cr,{isStreaming:R,children:T.type==="text"?T.text:""},`${S.id}-${y}`)}):null]})})]},S.id)}),I&&oe(wl,{})]})}import{jsx as Cl,jsxs as qm}from"react/jsx-runtime";var Nm="https://app.waniwani.ai/assets/waniwani-logo.svg",Hm="https://waniwani.ai";function Sl(){let{t:e}=X();return qm("a",{href:Hm,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:[Cl("span",{children:e.poweredBy.label}),Cl("img",{src:Nm,alt:"Waniwani",width:72,height:10,"data-waniwani-logo":"",className:"ww:h-2.5 ww:w-auto"})]})}import{jsx as pr}from"react/jsx-runtime";function yl({suggestions:e,isLoading:t,onSelect:a,className:r,...o}){return e.length===0&&!t?null:pr("div",{className:b("ww:px-4 ww:py-2",r),...o,children:pr("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=>pr("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)=>pr("button",{type:"button",onClick:()=>a(n),className:b("ww:rounded-full ww:border ww:border-border ww:bg-accent ww:px-3.5 ww:py-1.5 ww:text-sm","ww:text-foreground ww:hover:bg-border ww:hover:border-primary/30","ww:transition-all ww:duration-200 ww:ease-out ww:cursor-pointer","ww:animate-[ww-fade-in_0.2s_ease-out_both]"),style:{animationDelay:`${s*50}ms`},children:n},n))})})}import{useEffect as Wm,useRef as Gm,useState as Vm}from"react";import{jsx as de,jsxs as It}from"react/jsx-runtime";var bl=20;function zm({label:e}){return It("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:[de("title",{children:e}),de("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),de("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}function jm({label:e}){return It("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:[de("title",{children:e}),de("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),de("polyline",{points:"3 4 3 9 8 9"}),de("line",{x1:"12",y1:"7",x2:"12",y2:"12"}),de("line",{x1:"12",y1:"12",x2:"15",y2:"14"})]})}function $m({label:e}){return It("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:[de("title",{children:e}),de("polyline",{points:"3 6 5 6 21 6"}),de("path",{d:"M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6"}),de("path",{d:"M10 11v6"}),de("path",{d:"M14 11v6"})]})}function kl({threads:e,activeThreadId:t,onNewThread:a,onSelectThread:r,onDeleteThread:o}){let{locale:n,t:s}=X(),[i,l]=Vm(!1),u=Gm(null);Wm(()=>{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 d=e.slice(0,bl),c=Math.max(0,e.length-bl);return It("div",{ref:u,className:"ww:relative ww:flex ww:items-center ww:gap-1",children:[de("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:de(zm,{label:s.threadMenu.newChat})}),de("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:de(jm,{label:s.threadMenu.threadHistory})}),i&&It("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:[d.length===0&&de("div",{className:"ww:px-3 ww:py-3 ww:text-xs ww:text-muted-foreground",children:s.threadMenu.noPreviousChats}),d.map(f=>{let p=f.threadId===t,m=Date.parse(f.updatedAt);return It("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:[It("button",{type:"button",onClick:()=>{r(f.threadId),l(!1)},className:"ww:flex-1 ww:min-w-0 ww:text-left ww:cursor-pointer",children:[de("div",{className:"ww:truncate ww:text-foreground ww:font-medium",children:f.title}),de("div",{className:"ww:text-[10px] ww:text-muted-foreground",children:Number.isNaN(m)?"":Ur(m,n)})]}),de("button",{type:"button",onClick:L=>{L.stopPropagation(),o(f.threadId)},title:s.threadMenu.deleteThread,"aria-label":s.threadMenu.deleteThread,className:"ww:p-1 ww:rounded ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/10 ww:transition-colors ww:cursor-pointer",children:de($m,{label:s.threadMenu.deleteThread})})]},f.threadId)}),c>0&&de("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(c)})]})]})}import{createContext as Xm,useContext as Km}from"react";function Tl(e){let t=new Set;return{subscribe(a){return t.add(a),()=>{t.delete(a)}},emit(a){let{sessionId:r,...o}=a,n=a.name==="session.started"?a.properties.sessionId:void 0,s={...o,mode:e.mode,sessionId:Object.hasOwn(a,"sessionId")?r:n??e.getSessionId?.(),timestamp:Date.now()};for(let i of[...t])try{i(s)}catch(l){console.warn("[Waniwani] onEvent subscriber threw:",l)}}}}function vl(){return{subscribe(){return()=>{}},emit(){}}}var Pl=Xm(vl());function mr(){return Km(Pl)}var Al=Pl.Provider;import{useCallback as Qm,useRef as Jm}from"react";function Rl(e){let t=Jm(e);return t.current=e,Qm(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 xh}from"@ai-sdk/react";import{useCallback as Ie,useEffect as Ee,useRef as me,useState as Lt}from"react";function Ut(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}`:""}`}var Ml="/api/mcp/modules/documents";var qe=class extends Error{code;constructor(t,a){super(a),this.name="DocumentUploadError",this.code=t}};function Fl(e,t){try{return`${new URL(e).origin}${Ml}${t}`}catch{return`${Ml}${t}`}}function Ym(e){return Fl(e,"/upload-url")}function Zm(e){let t=e?.data;if(typeof t?.documentId!="string"||typeof t.uploadUrl!="string"||!(t.documentId&&t.uploadUrl))return null;let a={};for(let[r,o]of Object.entries(t.headers??{}))typeof o=="string"&&(a[r]=o);return{documentId:t.documentId,uploadUrl:t.uploadUrl,headers:a}}function eh(e){return e===403?new qe("upload_disabled","This agent does not accept document uploads."):e===413?new qe("max_file_size","That file is too large."):e===422||e===400?new qe("accept","That file type is not accepted."):new qe("upload_failed",`The upload could not be started (${e}).`)}function th(e){return new Promise((t,a)=>{let r=new XMLHttpRequest;r.open("PUT",e.url,!0);for(let[s,i]of Object.entries(e.headers))r.setRequestHeader(s,i);r.timeout=3e5;let o=()=>r.abort();e.signal.addEventListener("abort",o,{once:!0});let n=()=>e.signal.removeEventListener("abort",o);r.upload.onprogress=s=>{s.lengthComputable&&s.total>0&&e.onProgress?.(s.loaded/s.total)},r.onload=()=>{if(n(),r.status>=200&&r.status<300||r.status===412){e.onProgress?.(1),t();return}a(new qe("upload_failed",`The upload was rejected (${r.status}).`))},r.onerror=()=>{n(),a(new qe("upload_failed","The upload could not be completed."))},r.ontimeout=()=>{n(),a(new qe("upload_failed","The upload timed out."))},r.onabort=()=>{n(),a(e.signal.reason instanceof Error?e.signal.reason:new Error("aborted"))},r.send(e.file)})}async function hr(e){try{await fetch(Fl(e.api,`/${e.documentId}`),{method:"DELETE",headers:e.headers})}catch{}}async function Dl(e){e.signal.throwIfAborted();let t=new AbortController,a=setTimeout(()=>t.abort(),2e4),r=()=>t.abort(e.signal.reason);e.signal.addEventListener("abort",r,{once:!0});let o;try{o=await fetch(Ym(e.api),{method:"POST",headers:{...e.headers,"Content-Type":"application/json"},signal:t.signal,body:JSON.stringify({filename:e.file.name,contentType:e.file.type,byteSize:e.file.size,...e.sessionId?{sessionId:e.sessionId}:{}})})}catch(s){throw e.signal.aborted?s:new qe("upload_failed","The upload could not be started.")}finally{clearTimeout(a),e.signal.removeEventListener("abort",r)}if(!o.ok)throw eh(o.status);let n=Zm(await o.json().catch(()=>null));if(e.signal.throwIfAborted(),!n)throw new qe("upload_failed","The upload could not be started.");return await th({url:n.uploadUrl,headers:n.headers,file:e.file,signal:e.signal,onProgress:e.onProgress}),{documentId:n.documentId,filename:e.file.name,mediaType:e.file.type}}import{DefaultChatTransport as ah,uiMessageChunkSchema as rh}from"ai";function oh(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 gr=class extends ah{processResponseStream(t){let a="",r=rh(),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 d=u.slice(5).trim();if(d!=="[DONE]")try{let c=JSON.parse(d);if(!o){s.enqueue(c);continue}let f=await o(c);if(f.success){s.enqueue(f.value);continue}let p=oh(f.error);if(p?.length){let m={...c};for(let x of p)delete m[x];let L=await o(m);L.success&&s.enqueue(L.value)}}catch{}}}}))}};var nh="waniwani-memory";var De="threads",wr="by_memoryUserId",sh="by_updatedAt";var Bl="memoryUserId",El="waniwani-memory-user-id",Oo=null;function No(){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 ih(e,t){if(t<1&&(e.objectStoreNames.contains("ids")||e.createObjectStore("ids")),t<2&&!e.objectStoreNames.contains(De)){let a=e.createObjectStore(De,{keyPath:"threadId"});a.createIndex(wr,"memoryUserId",{unique:!1}),a.createIndex(sh,"updatedAt",{unique:!1})}}async function Ho(){return new Promise((e,t)=>{let a=indexedDB.open(nh,2);a.onupgradeneeded=r=>{ih(a.result,r.oldVersion)},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})}async function lh(){return Ho()}async function uh(e){return new Promise((t,a)=>{let n=e.transaction("ids","readonly").objectStore("ids").get(Bl);n.onsuccess=()=>t(typeof n.result=="string"?n.result:null),n.onerror=()=>a(n.error)})}async function dh(e,t){return new Promise((a,r)=>{let s=e.transaction("ids","readwrite").objectStore("ids").put(t,Bl);s.onsuccess=()=>a(),s.onerror=()=>r(s.error)})}async function ch(){if(typeof indexedDB>"u")return null;try{let e=await lh();try{let t=await uh(e);if(t)return t;let a=No();return await dh(e,a),a}finally{e.close()}}catch{return null}}function fh(){try{let e=localStorage.getItem(El);if(e)return e;let t=No();return localStorage.setItem(El,t),t}catch{return null}}async function _l(){let e=await ch();if(e)return e;let t=fh();return t||(Oo||(Oo=No()),Oo)}var Ul=50,Ol=1e3;function xr(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.threadId=="string"&&typeof t.memoryUserId=="string"&&typeof t.title=="string"&&Array.isArray(t.messages)&&typeof t.createdAt=="string"&&typeof t.updatedAt=="string"}async function Ir(e){if(typeof indexedDB>"u")return null;let t=null;try{return t=await Ho(),await e(t)}catch{return null}finally{try{t?.close()}catch{}}}function qo(e){return new Promise((t,a)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>a(e.error)})}async function Wo(e){return await Ir(async a=>{let n=a.transaction(De,"readonly").objectStore(De).index(wr),i=(await qo(n.getAll(e))??[]).filter(xr);return i.sort((l,u)=>l.updatedAt<u.updatedAt?1:-1),i})??[]}async function Lr(e){return await Ir(async a=>{let o=a.transaction(De,"readonly").objectStore(De),n=await qo(o.get(e));return xr(n)?n:null})??null}async function Go(e){if(!xr(e))return;let t=e.messages.length>Ol?{...e,messages:e.messages.slice(e.messages.length-Ol)}:e;await Ir(async a=>{await new Promise((l,u)=>{let d=a.transaction(De,"readwrite");d.oncomplete=()=>l(),d.onerror=()=>u(d.error),d.onabort=()=>u(d.error),d.objectStore(De).put(t)});let r=a.transaction(De,"readwrite"),o=r.objectStore(De),n=o.index(wr),i=(await qo(n.getAll(t.memoryUserId))??[]).filter(xr);if(i.length>Ul){i.sort((u,d)=>u.updatedAt<d.updatedAt?-1:1);let l=i.slice(0,i.length-Ul);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 Nl(e){await Ir(async t=>(await new Promise((a,r)=>{let o=t.transaction(De,"readwrite");o.oncomplete=()=>a(),o.onerror=()=>r(o.error),o.onabort=()=>r(o.error),o.objectStore(De).delete(e)}),null))}async function Vo(e){return(await Wo(e))[0]?.threadId??null}function Hl(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 zo="waniwani-visitor-id";function ph(){try{if(typeof crypto<"u"){if(typeof crypto.randomUUID=="function")return crypto.randomUUID();if(typeof crypto.getRandomValues=="function"){let e=crypto.getRandomValues(new Uint8Array(16));e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=Array.from(e,a=>a.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}}}catch{}return`v-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}function Xe(){try{let t=localStorage.getItem(zo);if(t)return t}catch{}let e=ph();try{localStorage.setItem(zo,e)}catch{}return e}function jo(e){let t=typeof e=="string"?e.trim():"";if(!t)return Xe();try{localStorage.setItem(zo,t)}catch{}return t}function mh(e){return e!=null&&typeof e.then=="function"}function $o(e){let t=!1,a=()=>{t=!0};if(e==null)return a;let r;try{r=typeof e=="function"?e():e}catch{return a}return mh(r)?r.then(o=>{t||jo(o??"")},()=>{}):jo(r??""),a}function ql(e,t){return e.match(t)?.[1]??null}function hh(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=ql(e,r);if(o)return{name:a,version:o}}return null}function gh(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=ql(e,r);if(o)return{name:a,version:o.replace(/_/g,".")};if(a==="Linux"&&r.test(e))return{name:a,version:""}}return null}function wh(e){return typeof navigator<"u"&&"userAgentData"in navigator&&navigator.userAgentData?.mobile?"mobile":/iPad|tablet|PlayBook/i.test(e)?"tablet":/Mobi|Android.*Mobile|iPhone|iPod/i.test(e)?"mobile":"desktop"}async function Ca(){let e=navigator.userAgent,t=Xe(),a=await _l();return{userAgent:e,browser:hh(e),os:gh(e),deviceType:wh(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 Ih="x-session-id",Lh=250,Ch=200;function Wl(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():aa()}function Cr(){return new Date().toISOString()}function Gl(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}async function Sh(e,t){let a=Ut(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 Vl(e){let{api:t="/api/waniwani",headers:a,body:r,onMessageSent:o,onResponseReceived:n,enableThreadHistory:s=!1,activeThreadId:i,onThreadChange:l}=e,u=e.visitorId;Ee(()=>$o(u),[u]);let d=mr(),c=me(a),f=me(r),p=me(s);Ee(()=>{p.current=s},[s]);let m=me(void 0),L=me(void 0),x=me(null),[w,C]=Lt(void 0),h=me(w),[I,S]=Lt(i),v=me(I),[U,E]=Lt([]),[$,A]=Lt(!s),P=me(void 0),_=me(void 0),W=me(void 0),Y=me(void 0),G=me(0),T=me(l);Ee(()=>{T.current=l},[l]);let y=Ie(g=>{v.current=g,S(g),g&&(T.current?.(g),d.emit({name:"thread.changed",sessionId:h.current,properties:{threadId:g}}))},[d]),R=Ie(async()=>{if(!s)return;let g=x.current?.memoryUserId;if(!g)return;let D=await Wo(g);E(D)},[s]),Ae=Ie(()=>h.current,[]),Z=Ie(g=>{let D=Gl(g);if(!D||h.current===D)return;let B=h.current===void 0;h.current=D,C(D),B&&d.emit({name:"session.started",properties:{sessionId:D}})},[d]),le=Ie(()=>{h.current=void 0,C(void 0)},[]);Ee(()=>{c.current=a},[a]),Ee(()=>{f.current=r},[r]),Ee(()=>{let g=!1,D=G.current;return(async()=>{try{let ne=await Ca();if(g)return;x.current=ne}catch{}if(!s)return;let B=x.current?.memoryUserId;if(!B){A(!0);return}try{let ne=i??await Vo(B);if(g||D!==G.current)return;if(ne){let Ce=await Lr(ne);if(g||D!==G.current)return;Ce&&Ce.memoryUserId===B&&(v.current=Ce.threadId,S(Ce.threadId),P.current=Ce.createdAt,_.current=Ce.title,Ce.sessionId&&(h.current=Ce.sessionId,C(Ce.sessionId)),H(Ce.messages))}await R()}finally{g||A(!0)}})(),()=>{g=!0}},[]);let ie=me(new gr({api:t,headers:()=>({...c.current}),body:()=>{let g={...f.current??{}},D=Object.hasOwn(g,"sessionId"),B=Gl(g.sessionId);if(B)Z(B),g.sessionId=B;else if(D)le(),delete g.sessionId;else{let Pr=Ae();Pr&&(g.sessionId=Pr)}vt(m.current)&&(g.modelContext=m.current),L.current?.length&&(g.documents=L.current);let ne=x.current,Ce=Xe();ne&&(g.visitorContext={timezone:ne.timezone,language:ne.language,languages:ne.languages,deviceType:ne.deviceType,referrer:ne.referrer,visitorId:Ce});let fe=typeof g.visitor=="object"&&g.visitor!==null?g.visitor:{},Hu=typeof fe.client=="object"&&fe.client!==null?fe.client:{};g.visitor={...fe,id:Ce,client:{...Hu,...ne&&{memoryUserId:ne.memoryUserId}}};let hn=typeof g.extra=="object"&&g.extra!==null&&!Array.isArray(g.extra)?g.extra:void 0,gn=x.current?.memoryUserId,wn=x.current?.language,ka={};if(gn&&(ka.memoryUserId=gn),wn&&(ka.locale=wn),(Object.keys(ka).length>0||hn)&&(g.extra={...ka,...hn??{}}),p.current)if(Object.hasOwn(g,"threadId"))typeof g.threadId=="string"&&(v.current=g.threadId);else{let Ta=v.current;Ta||(Ta=Wl(),P.current=Cr(),_.current=void 0,y(Ta)),g.threadId=Ta}return g},fetch:(async(g,D)=>{try{let B=await fetch(g,D);return m.current=void 0,Z(B.headers.get(Ih)),B}finally{L.current=void 0}})})),k=me(null),O=me(null),z=me({}),[j,Te]=Lt(0),J=e.skipRemoteConfig===!0,ee=Ie(async()=>{if(!J)try{let g=await Sh(t,c.current);z.current=g,Te(D=>D+1)}catch(g){console.warn("[Waniwani] Failed to fetch tool definitions:",g instanceof Error?g.message:g)}},[t,J]);Ee(()=>{ee()},[ee]);let{messages:N,sendMessage:M,setMessages:H,status:q}=xh({messages:e.initialMessages,transport:ie.current,onFinish({message:g,isAbort:D,isDisconnect:B,isError:ne}){n?.(),!D&&!B&&!ne&&d.emit({name:"message.received"}),k.current&&(O.current=g)},onError(g){console.warn("[Waniwani] Chat error:",g.message),d.emit({name:"chat.error",properties:{message:g.message.slice(0,Ch)}}),k.current&&(k.current.reject(g),k.current=null)}}),V=me(N);Ee(()=>{V.current=N},[N]);let te=me(s);Ee(()=>{if(!s||te.current||(te.current=!0,V.current.length>0))return;let g=!1,D=G.current;return A(!1),(async()=>{try{let B=x.current;if(!B)try{B=await Ca(),x.current=B}catch{}let ne=B?.memoryUserId;if(!ne||g||D!==G.current){g||A(!0);return}let Ce=i??await Vo(ne);if(g||D!==G.current)return;if(Ce){let fe=await Lr(Ce);if(g||D!==G.current)return;fe&&fe.memoryUserId===ne&&(v.current=fe.threadId,S(fe.threadId),P.current=fe.createdAt,_.current=fe.title,fe.sessionId&&(h.current=fe.sessionId,C(fe.sessionId)),H(fe.messages))}await R()}finally{g||A(!0)}})(),()=>{g=!0}},[s]),Ee(()=>{if(q==="ready"&&k.current&&O.current){let g=k.current,D=O.current;k.current=null,O.current=null,g.resolve(D)}},[q]);let[ae,Le]=Lt(""),[ce,Be]=Lt([]),Ge=me([]);Ge.current=ce;let et=q==="submitted"||q==="streaming",yt=Ie(g=>{for(let D of g)for(let B of D.documents??[])hr({documentId:B.documentId,api:t,headers:c.current??{}})},[t]),Oe=Ie(()=>{yt(Ge.current),Be([])},[yt]),F=Ie(g=>{let D=Ge.current.find(B=>B.id===g);D&&yt([D]),Be(B=>B.filter(ne=>ne.id!==g))},[yt]),Q=et&&ce.length>0,ge=Ie(g=>{let D=!!g.text?.trim(),B=!!(g.files?.length||g.documents?.length);if(D||B){if(et){if(ce.length>0)return;Be(ne=>[...ne,{id:aa(),text:g.text||"",files:g.files??[],documents:g.documents??[],modelContext:g.modelContext}]),Le("");return}m.current=g.modelContext,L.current=g.documents,M({text:g.text||"",files:g.files,...g.documents?.length&&{metadata:{documents:g.documents}}}),o?.(g.text||""),d.emit({name:"message.sent"}),Le("")}},[M,o,et,ce.length,d]),_e=Ie(g=>new Promise((D,B)=>{k.current={resolve:D,reject:B},M({text:g}),o?.(g),d.emit({name:"message.sent"})}),[M,o,d]);Ee(()=>{if(q!=="ready"||ce.length===0)return;let[g,...D]=ce;Be(D),m.current=g.modelContext,L.current=g.documents,M({text:g.text,files:g.files.length>0?g.files:void 0,...g.documents.length>0&&{metadata:{documents:g.documents}}}),o?.(g.text),d.emit({name:"message.sent"})},[q,M,o,ce,d]);let tt=Ie(()=>{H([]),Oe(),le(),Le(""),z.current={},Te(g=>g+1),ee()},[H,le,ee,Oe]),Ke=Ie(()=>{if(!p.current)return;let g=x.current?.memoryUserId,D=v.current,B=V.current;if(!(!g||!D||B.length===0)){if(P.current||(P.current=Cr()),!_.current){let ne=B.find(fe=>fe.role==="user"),Ce=ne?ne.parts.map(fe=>"text"in fe&&typeof fe.text=="string"?fe.text:"").join(" "):"";_.current=Hl(Ce)}return{threadId:D,memoryUserId:g,title:_.current,messages:B,sessionId:h.current,createdAt:P.current,updatedAt:Cr()}}},[]),ya=Ie(async()=>{let g=Ke();g&&(await Go(g),await R())},[Ke,R]);Ee(()=>{if(s&&$&&!(q==="submitted"||q==="streaming")&&N.length!==0)return W.current&&clearTimeout(W.current),W.current=setTimeout(()=>{W.current=void 0;let g=ya().finally(()=>{Y.current===g&&(Y.current=void 0)});Y.current=g},Lh),()=>{W.current&&clearTimeout(W.current)}},[s,$,N,q,ya]);let ba=Ie(()=>{let g=Y.current,D=W.current,B=D?Ke():void 0;return D&&(clearTimeout(D),W.current=void 0),(async()=>{g&&await g,B&&(await Go(B),await R())})()},[Ke,R]),Bu=Ie(()=>{G.current+=1,ba(),H([]),Oe(),le(),Le("");let g=Wl();return P.current=Cr(),_.current=void 0,y(g),R(),g},[H,le,y,R,ba,Oe]),vr=Ie(async g=>{G.current+=1;let D=G.current;if(await ba(),D!==G.current)return;let B=await Lr(g);D===G.current&&B&&(B.sessionId?(h.current=B.sessionId,C(B.sessionId)):le(),y(B.threadId),P.current=B.createdAt,_.current=B.title,H(B.messages),Oe(),Le(""))},[H,le,y,ba,Oe]),_u=Ie(async g=>{if(v.current===g){G.current+=1,W.current&&(clearTimeout(W.current),W.current=void 0);let D=Y.current;D&&await D}await Nl(g),await R(),v.current===g&&(H([]),Oe(),le(),Le(""),v.current=void 0,S(void 0),P.current=void 0,_.current=void 0)},[H,le,R,Oe]);Ee(()=>{s&&$&&i!==void 0&&i!==v.current&&vr(i)},[i,s,$,vr]);let Uu=Ie(g=>{Le(g.target.value)},[]),pn=N[N.length-1],mn=N.length>0,Ou=et&&(!mn||pn.role==="user"),Nu=z.current;return{messages:N,status:q,text:ae,setText:Le,handleSubmit:ge,handleTextChange:Uu,isLoading:et,showLoaderBubble:Ou,lastMessage:pn,hasMessages:mn,sendMessage:M,sendMessageAndWait:_e,reset:tt,queuedMessages:ce,queueFull:Q,removeQueuedMessage:F,sessionId:w,toolDefinitions:Nu,refreshToolDefinitions:ee,threads:U,activeThreadId:I,isThreadHistoryReady:$,startNewThread:Bu,switchThread:vr,deleteThread:_u}}import{useCallback as zl,useEffect as yh,useState as bh}from"react";var kh=6e3;function jl(e){let{api:t,headers:a,sessionId:r,documentUpload:o,allowAttachments:n}=e,[s,i]=bh(null),l=zl((c,f,p)=>Dl({file:c,api:t,headers:a??{},sessionId:r,signal:f,onProgress:p}),[t,a,r]),u=zl(c=>{hr({documentId:c.documentId,api:t,headers:a??{}})},[t,a]);yh(()=>{if(!s)return;let c=setTimeout(()=>i(null),kh);return()=>clearTimeout(c)},[s]);let d=o?.enabled??!1;return{enabled:o?o.enabled:!!n,accept:o?.accept.join(","),maxFileSize:o?.maxBytes,maxPdfPages:o?.maxPdfPages,maxFiles:o?.maxFiles,upload:d?l:void 0,onDiscard:d?u:void 0,error:s,reportError:i}}import{useCallback as vh,useEffect as Qo,useMemo as Jo,useRef as Ph,useState as Ql}from"react";function Ot(e){return e.map(t=>({id:null,text:t}))}function Xo(e){let{flow:t,followup:a,page:r,channel:o}=e;return t!==null?{origin:"flow",suggestions:t}:a?.length?{origin:"followup",suggestions:a}:r?.length?{origin:"page",suggestions:r}:o?.length?{origin:"channel",suggestions:o}:null}var Ko="waniwani/suggestions";function Nt(e){return typeof e=="object"&&e!==null}function $l(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function Th(e){if(!Nt(e)||!("toolCallId"in e)||!("output"in e))return null;let t=e.output;if(!Nt(t)||!Nt(t._meta))return null;let a=t._meta[Ko];return!Nt(a)||!$l(a.suggestions)?null:a.suggestions}function Xl(e){let t=null;for(let a of e.parts){let r=Th(a);r!==null&&(t=r)}return t}function Kl(e){for(let t of e.parts){if(!Nt(t)||t.type!=="data-suggestions")continue;let a=t.data;if(Nt(a)&&$l(a.suggestions)&&a.suggestions.length>0)return a.suggestions}return null}function Ah(e){return"page"in e||"channel"in e}function Rh(e){return typeof e!="object"||e===null?{}:Ah(e)?{rungs:e}:{initial:e.initial}}function Jl(e){let{messages:t,status:a,suggestions:r}=e,o=r!==!1,{rungs:n,initial:s}=Rh(r),i=Jo(()=>({page:null,channel:Ot(s??[])}),[s]),l=n??i,u=Jo(()=>o?Xo({flow:null,followup:null,...l}):null,[o,l]),d=Jo(()=>u?.suggestions.map(h=>h.text)??[],[u]),[c,f]=Ql(d),[p,m]=Ql(u?.origin??"channel"),L=Ph(a),x=vh(()=>{f([])},[]),w=t.length>0;Qo(()=>{w||(f(d),m(u?.origin??"channel"))},[d,u,w]);let C=t[t.length-1];return Qo(()=>{C?.role==="user"&&x()},[C,x]),Qo(()=>{let h=L.current;if(L.current=a,h!=="streaming"||a!=="ready"||!o)return;let I=[...t].reverse().find(E=>E.role==="assistant");if(!I)return;let S=Xl(I),v=Kl(I),U=Xo({flow:S===null?null:Ot(S),followup:v===null?null:Ot(v),page:null,channel:null});f(U?U.suggestions.map(E=>E.text):[]),m(U?.origin??"channel")},[a,o,t]),{suggestions:c,source:p,isLoading:!1,clear:x}}import{useEffect as Mh,useRef as Fh,useState as Dh}from"react";var Eh=80,Bh=50,_h=15e3,Yl=500;function Zl(e,t=!0){let[a,r]=Dh(""),o=Fh(void 0);return Mh(()=>{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,Yl)):o.current=setTimeout(l,Bh)):(n++,r(e.slice(0,n)),n>=e.length?(s=!0,o.current=setTimeout(l,_h)):o.current=setTimeout(l,Eh)))};return o.current=setTimeout(l,Yl),()=>{i=!0,clearTimeout(o.current)}},[e,t]),a}function eu(e,t){let a=t?.Authorization,r=typeof a=="string"&&a.startsWith("Bearer ")?a.slice(7):null;return Ut(e,"/resource",r?{token:r}:void 0)}var tu={primaryColor:"#6366f1",primaryForeground:"#1f2937",backgroundColor:"#ffffff",textColor:"#1f2937",mutedColor:"#6b7280",borderColor:"#e5e7eb",borderWidth:0,boxShadow:"none",assistantBubbleColor:"#f3f4f6",userBubbleColor:"#f4f4f4",inputBackgroundColor:"#f9fafb",borderRadius:16,messageBorderRadius:8,fontFamily:"system-ui, -apple-system, 'Segoe UI', sans-serif",headerBackgroundColor:"#ffffff",headerTextColor:"#1f2937",statusColor:"#22c55e",toolCardColor:"#f4f4f5",userBubbleTextColor:"#1f2937",assistantBubbleTextColor:"#1f2937",messagePaddingX:16,messagePaddingY:12,messageMaxWidth:"80%",fontSize:16,lineHeight:"1.5",glassTint:"transparent",glassTintStrength:"0"},Uh={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"},Oh={primaryColor:["--ww-primary","--ww-color-primary"],primaryForeground:["--ww-primary-fg","--ww-color-primary-foreground"],backgroundColor:["--ww-bg","--ww-color-background"],textColor:["--ww-text","--ww-color-foreground","--ww-color-accent-foreground"],mutedColor:["--ww-muted","--ww-color-muted-foreground"],borderColor:["--ww-border","--ww-color-border"],borderWidth:["--ww-border-width"],boxShadow:["--ww-shadow"],assistantBubbleColor:["--ww-assistant-bubble","--ww-color-accent"],userBubbleColor:["--ww-user-bubble"],inputBackgroundColor:["--ww-input-bg","--ww-color-input"],borderRadius:["--ww-radius"],messageBorderRadius:["--ww-msg-radius"],fontFamily:["--ww-font"],headerBackgroundColor:["--ww-header-bg"],headerTextColor:["--ww-header-text"],statusColor:["--ww-status"],toolCardColor:["--ww-tool-card","--ww-color-tool-card"],userBubbleTextColor:["--ww-user-bubble-text"],assistantBubbleTextColor:["--ww-assistant-bubble-text"],messagePaddingX:["--ww-msg-pad-x"],messagePaddingY:["--ww-msg-pad-y"],messageMaxWidth:["--ww-msg-max-width"],fontSize:["--ww-font-size"],lineHeight:["--ww-line-height"],glassTint:["--ww-glass-tint"],glassTintStrength:["--ww-glass-tint-opacity"]};function Nh(e){return{...tu,...e}}function Yo(e){let t={};for(let[a,r]of Object.entries(Oh)){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 he,jsxs as Ze}from"react/jsx-runtime";var Zo=au(function(t,a){let{locale:r,messages:o}=t;return he(_r,{locale:r,messages:o,children:he(qh,{...t,ref:a})})}),qh=au(function(t,a){let{t:r,ready:o}=X(),{appearance:n,className:s,classNames:i,allowAttachments:l=!1,documentUpload:u,welcomeMessage:d,welcome:c,placeholder:f=r.promptInput.placeholder,triggerEvent:p="triggerDemoRequest",api:m,mcp:L,debug:x=!1,readOnly:w=!1,title:C,headerActions:h,hideHeader:I=!1,enableThreadHistory:S=!1,showToolCalls:v=!0,initializing:U=!1,onScreen:E=!0,disclaimer:$}=t,A=n?.theme,P=n?.variables,_=n?.assistantBubble??!1,W=P?Yo(P):{},[Y,G]=yr(!1);Ye(()=>{if(A!=="auto"||typeof window>"u")return;let F=window.matchMedia("(prefers-color-scheme: dark)");G(F.matches);let Q=()=>G(F.matches);return F.addEventListener("change",Q),()=>F.removeEventListener("change",Q)},[A]);let T=A==="dark"||A==="auto"&&Y,y=Vl({...t,api:m}),R=mr(),Ae=Rl({...t,api:m,sessionId:y.sessionId,onCallTool:L?.onCallTool}),Z=L?.resourceEndpoint??eu(m,t.headers),le=Zl(f,!y.text),ie=jl({api:m,headers:t.headers,sessionId:y.sessionId,documentUpload:u,allowAttachments:l}),[k,O]=yr(null),[z,j]=yr(null),Te=Ct(null),J=Ct(null),ee=Ct(null),N=Ct(null),[M,H]=yr(!0),q=Ct(M);q.current=M;let V=Sr(()=>{let F=Te.current;if(!F)return;let Q=F.querySelector("textarea");Q&&Q.focus()},[]),te=Sr((F="smooth")=>{let Q=J.current;Q&&Q.scrollTo({top:Q.scrollHeight,behavior:F})},[]);Ye(()=>{let F=N.current,Q=J.current;if(!F||!Q)return;let ge=new IntersectionObserver(([_e])=>H(_e.isIntersecting),{root:Q,rootMargin:"0px 0px 200px 0px",threshold:0});return ge.observe(F),()=>ge.disconnect()},[]),Ye(()=>{let F=J.current;if(!F)return;let Q=ge=>{let tt=(ge.target instanceof Element?ge.target:null)?.closest("a");tt?.href&&R.emit({name:"link.clicked",properties:{url:tt.href}})};return F.addEventListener("click",Q),()=>F.removeEventListener("click",Q)},[R]),Ye(()=>{(y.messages[y.messages.length-1]?.role==="user"||q.current)&&te("smooth")},[y.messages.length,y.messages[y.messages.length-1]]),Ye(()=>{te("auto")},[te]),Ye(()=>{if(typeof ResizeObserver>"u")return;let F=J.current,Q=ee.current;if(!F&&!Q)return;let ge=F?.scrollHeight??0,_e=F?.clientHeight??0,tt=new ResizeObserver(()=>{let Ke=J.current;if(!Ke)return;let ya=Ke.scrollTop+_e>=ge-5;ge=Ke.scrollHeight,_e=Ke.clientHeight,ya&&te("auto")});return F&&tt.observe(F),Q&&tt.observe(Q),()=>tt.disconnect()},[te]);let ae=Jl({messages:y.messages,status:y.status,suggestions:t.suggestions}),Le=Ct(null);Ye(()=>{let F=ae.suggestions;!E||F.length===0||Le.current===F||(Le.current=F,R.emit({name:"suggestions.shown",properties:{texts:F,origin:ae.source}}))},[ae.suggestions,ae.source,R,E]);let ce=c?.suggestions,Be=Ct(null);Ye(()=>{!E||y.messages.length>0||!ce?.length||Be.current===ce||(Be.current=ce,R.emit({name:"suggestions.shown",properties:{texts:ce,origin:"channel"}}))},[ce,y.messages.length,R,E]);let Ge=Sr(F=>{let Q=F.content.map(ge=>ge.text??"").join("").trim();Q&&y.handleSubmit({text:Q,files:[],modelContext:F.modelContext})},[y.handleSubmit]),et=Sr(F=>{let Q=ae.suggestions.indexOf(F),ge=Q>=0?Q:c?.suggestions?.indexOf(F)??-1,_e=Q>=0?ae.source:"channel";R.emit({name:"suggestion.clicked",properties:{text:F,index:ge,origin:_e}}),ae.clear(),y.handleSubmit({text:F,files:[]})},[ae.suggestions,ae.source,ae.clear,y.handleSubmit,c,R]);Hh(a,()=>({sendMessage:F=>{y.handleSubmit({text:F,files:[]}),V()},sendMessageAndWait:F=>y.sendMessageAndWait(F),reset:y.reset,focus:V,get messages(){return y.messages},get sessionId(){return y.sessionId}}),[y.handleSubmit,y.sendMessageAndWait,y.reset,y.messages,y.sessionId,V]),Ye(()=>{if(!p)return;let F=Q=>{let ge=Q.detail,_e=typeof ge?.message=="string"?ge.message:void 0;_e&&y.handleSubmit({text:_e,files:[]}),V()};return window.addEventListener(p,F),()=>window.removeEventListener(p,F)},[p,y.handleSubmit,V]);let yt=!I&&!!(C||S||h),Oe=U||!o;return Ze("div",{ref:Te,style:{...W,maxHeight:"inherit",...k&&z?{height:z}:{},opacity:Oe?0:1,transition:"opacity 220ms ease-out"},"data-waniwani-chat":"","data-waniwani-layout":"embed","data-assistant-bubble":_?"true":void 0,"data-color-scheme":A==="auto"?"auto":void 0,...Oe?{"data-waniwani-initializing":""}:{},...T?{"data-waniwani-dark":""}:{},className:b("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:[yt&&Ze("div",{className:b("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:[C&&he("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:C}),!C&&he("div",{className:"ww:flex-1"}),S&&he(kl,{threads:y.threads,activeThreadId:y.activeThreadId,onNewThread:y.startNewThread,onSelectThread:F=>{y.switchThread(F)},onDeleteThread:F=>{y.deleteThread(F)}}),h]}),Ze("div",{ref:J,className:b("ww:relative ww:flex-1 ww:min-h-0",k?"ww:overflow-hidden":"ww:overflow-y-auto"),children:[Ze("div",{ref:ee,className:b("ww:mx-auto ww:w-full ww:max-w-3xl ww:px-4 ww:py-6 ww:flex ww:flex-col ww:gap-6",k&&"ww:!py-0"),children:[he(Ll,{messages:y.messages,status:y.status,welcomeMessage:d,welcome:c,onSuggestionSelect:et,resourceEndpoint:Z,chatSessionId:y.sessionId,isDark:T,onFollowUp:Ge,onCallTool:Ae,fullscreenToolCallId:k,debug:x,showToolCalls:v,toolDefinitions:y.toolDefinitions,messageClassNames:{message:i?.message,userBubble:i?.userBubble,assistantBubble:i?.assistantBubble},onWidgetDisplayModeChange:(F,Q)=>{if(F==="fullscreen"){let ge=Te.current?.getBoundingClientRect().height??0;j(ge>0?ge:null),O(Q.toolCallId)}else j(null),O(null)}}),he("div",{ref:N,"aria-hidden":!0,style:{height:1}})]}),!M&&!k&&he("div",{className:"ww:sticky ww:bottom-2 ww:flex ww:justify-center ww:pointer-events-none",children:he(Ve,{type:"button",onClick:()=>te("smooth"),size:"icon",variant:"outline",className:"ww:rounded-full ww:shadow ww:pointer-events-auto","aria-label":"Scroll to latest",children:he(Wt,{className:"ww:size-4"})})})]}),!w&&Ze("div",{className:"ww:shrink-0 ww:bg-background",style:k?{display:"none"}:void 0,children:[he(yl,{suggestions:ae.suggestions,isLoading:ae.isLoading,onSelect:et}),he(ys,{queuedMessages:y.queuedMessages,onRemove:y.removeQueuedMessage}),he("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:[Ze(ls,{onSubmit:y.handleSubmit,attachmentsEnabled:ie.enabled,globalDrop:ie.enabled,multiple:ie.enabled,accept:ie.accept,maxFileSize:ie.maxFileSize,maxPdfPages:ie.maxPdfPages,maxFiles:ie.maxFiles,upload:ie.upload,onDiscard:ie.onDiscard,onError:ie.reportError,className:b("ww-input ww:rounded-2xl ww:border-border ww:bg-input",i?.input),children:[he(ms,{enabled:ie.enabled}),ie.enabled&&he(ps,{className:"ww:px-4 ww:pt-3"}),Ze("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[ie.enabled&&he(fs,{}),he(ds,{onChange:y.handleTextChange,value:y.text,placeholder:le,className:"ww:min-h-0 ww:py-1 ww:px-0"}),he(cs,{status:y.status,disabled:y.queueFull})]})]}),ie.error&&he("output",{className:"ww:block ww:pt-1.5 ww:text-center ww:text-destructive ww:text-xs",children:ie.error.message}),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:[he(Sl,{}),he(hs,{text:$})]})]})})]})]})});import{forwardRef as Ug,useEffect as Tr,useImperativeHandle as Og,useMemo as cn,useRef as fn,useState as Fu}from"react";var Wh="https://app.waniwani.ai/api/mcp/chat",Gh={api:Wh};function Vh(){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 zh(){let e=Vh();if(!e)return{};let t=P=>e.getAttribute(P)??void 0,a=P=>{let _=e.getAttribute(P);if(_==null)return;let W=_.trim().toLowerCase();if(W==="true"||W==="1"||W==="")return!0;if(W==="false"||W==="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 d=t("data-mcp-server-url");d&&(r.mcpServerUrl=d);let c=t("data-webmcp");c&&(r.webmcp={enabled:c!=="false"&&c!=="off"});let f=t("data-channel-id");if(f&&(r.channelId=f),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 m=t("data-css");m&&(r.css=m);let L=t("data-suggestions");L&&(r.suggestions=L.split(",").map(P=>P.trim()).filter(Boolean));let x=a("data-enable-thread-history");x!==void 0&&(r.enableThreadHistory=x);let w=a("data-disable-page-view");w!==void 0&&(r.disablePageView=w);let C=a("data-hide-header");C!==void 0&&(r.hideHeader=C);let h=t("data-theme");(h==="light"||h==="dark"||h==="auto")&&(r.appearance={...r.appearance,theme:h});let I=a("data-assistant-bubble");I!==void 0&&(r.appearance={...r.appearance,assistantBubble:I});let S=t("data-locale");(S==="en"||S==="fr"||S==="es")&&(r.locale=S);let v=t("data-mode");(v==="inline"||v==="floating"||v==="composer"||v==="off")&&(r.mode=v);let U=t("data-height");U&&(r.height=U);let E=t("data-launcher-text");E&&(r.launcherText=E);let $=t("data-appear-delay");if($!==void 0){let P=Number.parseInt($.trim(),10);Number.isFinite(P)&&P>=0&&(r.appearDelay=P)}let A=t("data-disclaimer");if(A!==void 0){let P=A.trim(),_=P.toLowerCase();_==="false"||_==="0"?r.disclaimer=!1:P&&(r.disclaimer=P)}return r}function en(e){if(!e)return{};let t={};for(let a in e)e[a]!==void 0&&(t[a]=e[a]);return t}function tn(e,t,a){let r=a??zh(),o=jh(t,r,e),n={token:"",...Gh,...en(t),...en(r),...en(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 jh(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 Ik,useState as Lk}from"react";function $h(){if(typeof window>"u")return!1;try{return window.WANIWANI_DEBUG?!0:!!window.localStorage?.getItem("WANIWANI_DEBUG")}catch{return!1}}function St(...e){$h()&&console.log("[Waniwani]",...e)}var an=new Set;function Xh(e,t,a){return`${e}|${t}|${a??""}`}function Sa(e){try{return`${new URL(e).origin}/api/mcp/events/v2/batch`}catch{return e.replace(/\/$/,"").replace(/\/chat$/,"/events/v2/batch")}}async function rn(e){let{api:t,token:a,channelId:r,mode:o,source:n}=e;if(typeof window>"u"||!t||!a)return;if(!r&&!n){St("page.viewed skipped: no channelId or source to attribute it");return}let s=Xh(t,a,r);if(!an.has(s)){an.add(s);try{let i=await Ca(),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(Sa(t),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:u,keepalive:!0})}catch{an.delete(s)}}}import{useMemo as og}from"react";import{useEffect as Yh,useSyncExternalStore as Zh}from"react";function Kh(e){return e?.patterns??e?.rules??[]}var ru="\0\0";function Qh(e){let a=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\\\*\\\*/g,ru).replace(/\\\*/g,"[^/]*").split(ru).join(".*");return new RegExp(`^${a}$`)}function Jh(e,t){try{return Qh(e).test(t)}catch{return!1}}function ou(e,t){if(!e)return!0;let a=!1;for(let r of Kh(e))if(Jh(r.glob,t)){if(r.action==="hide")return!1;a=!0}return a?!0:(e.default??"show")!=="hide"}var on="waniwani:locationchange",nu=!1;function eg(){if(!(nu||typeof history>"u")){nu=!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 tg(e){return eg(),window.addEventListener(on,e),window.addEventListener("popstate",e),()=>{window.removeEventListener(on,e),window.removeEventListener("popstate",e)}}function ag(){return window.location.pathname}function rg(){return"/"}function nn(){return Zh(tg,ag,rg)}function su(e,t){let a=nn(),r=t&&ou(e,a);return Yh(()=>{St("visibility gate",{pathname:a,ready:t,visible:r,rules:e})},[a,t,r]),r}var ng=3,sg=["low","medium","high"];function sn(e){if(e.length===0)return;let t=Math.floor(Math.random()*e.length),[a]=e.splice(t,1);return a}function ig(e){let t=new Map,a=[];for(let n of e)if(n.tier){let s=t.get(n.tier)??[];s.push(n),t.set(n.tier,s)}else a.push(n);let r=[];for(let n of sg){let s=sn(t.get(n)??[])??sn(a);s&&r.push(s)}let o=[...t.values()].flat().concat(a);for(;r.length<Math.min(ng,e.length);){let n=sn(o);if(!n)break;r.push(n)}return r}function iu(e){let t;try{t=new URL(e,"http://localhost").pathname}catch{t="/"}let a=t.replace(/\/+$/,"");return(a===""?"/":a).toLowerCase()}function lu(e){return Array.isArray(e)?e.flatMap(t=>{let a=t;if(typeof a?.url!="string"||a.url.length===0||!Array.isArray(a.prompts))return[];let r=a.prompts.flatMap(o=>{let n=o;return typeof n?.text!="string"||n.text.length===0?[]:[{id:typeof n.id=="string"?n.id:null,text:n.text,tier:n.tier==="low"||n.tier==="medium"||n.tier==="high"?n.tier:void 0}]});return r.length>0?[{url:a.url,prompts:r}]:[]}):[]}function uu(e){let{pageSuggestions:t,suggestions:a}=e,r=nn();return og(()=>{let o=iu(r),n=t?.find(i=>iu(i.url)===o),s=n?ig(n.prompts).map(({id:i,text:l})=>({id:i,text:l})):null;return St("configured suggestions resolve",{pathname:o,matched:!!n,count:s?.length??0}),{page:s,channel:Ot(a??[])}},[r,t,a])}var lg="waniwani:config:";function du(e,t,a){return`${lg}${e}|${t}|${a??""}`}function br(e,t,a){if(typeof window>"u")return null;try{let r=window.sessionStorage.getItem(du(e,t,a));if(!r)return null;let o=JSON.parse(r);return o&&typeof o=="object"?o:null}catch{return null}}function cu(e,t,a,r){if(!(typeof window>"u"))try{window.sessionStorage.setItem(du(e,t,a),JSON.stringify(r))}catch{}}function ug(e){if(typeof e!="object"||e===null||typeof e.enabled!="boolean")return null;let t=Array.isArray(e.accept)?e.accept.filter(r=>typeof r=="string"):[],a=r=>typeof r=="number"&&Number.isFinite(r)&&r>0;return e.enabled?a(e.maxBytes)&&a(e.maxPdfPages)&&a(e.maxFiles)&&t.length>0?{enabled:!0,maxBytes:e.maxBytes,maxPdfPages:e.maxPdfPages,maxFiles:e.maxFiles,accept:t}:null:{enabled:!1,maxBytes:0,maxPdfPages:0,maxFiles:0,accept:t}}async function fu(e,t,a,r){try{let o=Ut(e,"/config",r?{channel:r}:void 0),n=await fetch(o,{method:"GET",headers:{Authorization:`Bearer ${t}`},signal:a});if(!n.ok)return{};let s=await n.json(),i=s&&typeof s=="object"&&"data"in s&&s.data?s.data:s;return i?dg(i):{}}catch{return{}}}function dg(e){let t={};e.source!=null&&(t.source=e.source),e.channelId!=null&&(t.channelId=e.channelId),e.title!=null&&(t.title=e.title),e.welcomeMessage!=null&&(t.welcomeMessage=e.welcomeMessage),e.placeholder!=null&&(t.placeholder=e.placeholder),e.suggestions!=null&&e.suggestions.length>0&&(t.suggestions=e.suggestions);let a=lu(e.pageSuggestions);a.length>0&&(t.pageSuggestions=a),typeof e.enableThreadHistory=="boolean"&&(t.enableThreadHistory=e.enableThreadHistory),typeof e.webmcp?.enabled=="boolean"&&(t.webmcp={enabled:e.webmcp.enabled}),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);let r=ug(e.documentUpload);return r&&(t.documentUpload=r),t}import{useEffect as cg,useRef as fg}from"react";function ln(e,t){return e.find(a=>a.text===t)?.id??null}async function pu(e){let{api:t,token:a,name:r,source:o,sessionId:n,properties:s}=e;if(!(typeof window>"u"||!t||!a))try{let i=new Date().toISOString(),l=JSON.stringify({sentAt:i,source:{sdk:"@waniwani/sdk",version:"0.1.0"},events:[{id:crypto.randomUUID(),type:"mcp.event",name:r,source:o,timestamp:i,correlation:{visitorId:Xe(),sessionId:n},properties:{...s,url:window.location.href},metadata:{}}]});await fetch(Sa(t),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:l,keepalive:!0})}catch{}}async function mu(e){let{api:t,token:a,channelId:r,mode:o,source:n,sessionId:s,promptId:i,origin:l,text:u,index:d}=e;await pu({api:t,token:a,name:"suggestion.clicked",source:n,sessionId:s,properties:{promptId:i,origin:l,text:u,index:d,channelId:r,mode:o}})}function hu(e,t){return t.map(a=>({id:ln(e,a),text:a}))}async function gu(e){let{api:t,token:a,channelId:r,mode:o,source:n,sessionId:s,prompts:i,origin:l}=e;i.length!==0&&await pu({api:t,token:a,name:"suggestion.shown",source:n,sessionId:s,properties:{prompts:i,count:i.length,origin:l,channelId:r,mode:o}})}function wu(e){let{widgetEvents:t,api:a,token:r,channelId:o,source:n,mode:s,pagePrompts:i}=e,l=fg(e.getSessionId);l.current=e.getSessionId,cg(()=>{if(!(!a||!r))return t.subscribe(u=>{if(u.name==="suggestion.clicked"){let{text:d,origin:c,index:f}=u.properties;mu({api:a,token:r,channelId:o,mode:s,source:n,sessionId:l.current(),promptId:ln(i??[],d),origin:c,text:d,index:f});return}if(u.name==="suggestions.shown"){let{texts:d,origin:c}=u.properties;gu({api:a,token:r,channelId:o,mode:s,source:n,sessionId:l.current(),prompts:hu(i??[],d),origin:c})}})},[t,a,r,o,n,s,i])}function Ht(e,t){for(let a of t){let r=e[a];if(typeof r=="string"&&r.length>0)return r}}var pg=["waniwani/sessionId","openai/sessionId","openai/session","sessionId","conversationId","mcp-session-id"],mg=["waniwani/requestId","openai/requestId","requestId","mcp/requestId"],hg=["waniwani/traceId","openai/traceId","traceId","mcp/traceId","openai/requestId","requestId"],gg=["waniwani/userId","openai/userId","externalUserId","userId","actorId"],wg=["waniwani/visitorId","visitorId"],xg=["correlationId","openai/requestId"];function xu(e){return e?Ht(e,pg):void 0}function Iu(e){return e?Ht(e,mg):void 0}function Lu(e){return e?Ht(e,hg):void 0}function Cu(e){return e?Ht(e,gg):void 0}function Su(e){return e?Ht(e,wg):void 0}function yu(e){return e?Ht(e,xg):void 0}var Ig=[{key:"openai/sessionId",source:"chatgpt"},{key:"openai/session",source:"chatgpt"}],Lg=[{needle:"claude",source:"claude"},{needle:"chatgpt",source:"chatgpt"},{needle:"openai",source:"chatgpt"},{needle:"gemini",source:"gemini"}];function bu(e,t){if(e){let r=e["waniwani/source"];if(typeof r=="string"&&r.length>0)return r;for(let{key:o,source:n}of Ig){let s=e[o];if(typeof s=="string"&&s.length>0)return n}}let a=t?.name;if(typeof a=="string"&&a.length>0){let r=a.toLowerCase();for(let{needle:o,source:n}of Lg)if(r.includes(o))return n}}var Cg="@waniwani/sdk";function ku(e,t={}){let a=t.now??(()=>new Date),r=t.generateId??Sg,o=kg(e),n=kr(e.meta),s=kr(e.metadata),i=Tg(e,n),l=We(e.eventId)??r(),u=vg(e.timestamp,a),d=We(e.source)??bu(n)??t.source??Cg,c=un(e)?{...e}:void 0,f={...s};return Object.keys(n).length>0&&(f.meta=n),c&&(f.rawLegacy=c),{id:l,type:"mcp.event",name:o,source:d,timestamp:u,correlation:i,properties:yg(e,o),metadata:f,rawLegacy:c}}function Sg(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?`evt_${crypto.randomUUID()}`:`evt_${Math.random().toString(36).slice(2,10)}_${Date.now().toString(36)}`}function yg(e,t){if(!un(e))return kr(e.properties);let a=bg(e,t),r=kr(e.properties);return{...a,...r}}function bg(e,t){switch(t){case"tool.called":{let a={};return We(e.toolName)&&(a.name=e.toolName),We(e.toolType)&&(a.type=e.toolType),a}case"link.clicked":{let a={};return We(e.linkUrl)&&(a.url=e.linkUrl),a}default:return{}}}function kg(e){return un(e)?e.eventType:e.event}function Tg(e,t){let a=We(e.requestId)??Iu(t),r=We(e.sessionId)??xu(t),o=We(e.traceId)??Lu(t),n=We(e.externalUserId)??Cu(t),s=We(e.visitorId)??Su(t),i=We(e.correlationId)??yu(t)??a,l={};return r&&(l.sessionId=r),o&&(l.traceId=o),a&&(l.requestId=a),i&&(l.correlationId=i),n&&(l.externalUserId=n),s&&(l.visitorId=s),l}function vg(e,t){if(e instanceof Date)return e.toISOString();if(typeof e=="string"){let a=new Date(e);if(!Number.isNaN(a.getTime()))return a.toISOString()}return t().toISOString()}function kr(e){return!e||typeof e!="object"||Array.isArray(e)?{}:e}function We(e){if(typeof e=="string"&&e.trim().length!==0)return e}function un(e){return"eventType"in e}function Tu(e){return{priceShown:({amount:t,currency:a,itemId:r,label:o,...n})=>e({event:"price_shown",properties:{amount:t,currency:a,itemId:r,label:o},...n}),pricesCompared:({options:t,...a})=>e({event:"prices_compared",properties:{options:t},...a}),optionSelected:({id:t,amount:a,currency:r,...o})=>e({event:"option_selected",properties:{id:t,amount:a,currency:r},...o}),leadQualified:t=>{let{externalId:a,email:r,name:o,...n}=t??{};return e({event:"lead_qualified",properties:{externalId:a,email:r,name:o},...n})},converted:({amount:t,currency:a,occurredAt:r,...o})=>e({event:"converted",properties:{amount:t,currency:a,occurredAt:r},...o})}}var Pg="/api/mcp/events/v2/batch";var vu="@waniwani/sdk";var Ag=new Set([401,403]),Rg=new Set([408,425,429,500,502,503,504]),Mg=(e,t)=>globalThis.fetch(e,t);function Pu(e){return new dn(e)}var dn=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=Eg(t.apiUrl,t.endpointPath??Pg),this.flushIntervalMs=t.flushIntervalMs??1e3,this.maxBatchSize=t.maxBatchSize??20,this.maxBufferSize=t.maxBufferSize??1e3,this.maxRetries=t.maxRetries??3,this.retryBaseDelayMs=t.retryBaseDelayMs??200,this.retryMaxDelayMs=t.retryMaxDelayMs??2e3,this.shutdownTimeoutMs=t.shutdownTimeoutMs??2e3,this.fetchFn=t.fetchFn??Mg,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":vu};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:Bg(n)}}if(Ag.has(a.status))return{kind:"auth",status:a.status};if(Rg.has(a.status))return{kind:"retryable",reason:`HTTP ${a.status}`};if(!a.ok)return{kind:"permanent",reason:`HTTP ${a.status}`};let r=await Dg(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:vu,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(Fg(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 Fg(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 Dg(e){let t=await e.text();if(t)try{return JSON.parse(t)}catch{return}}function Eg(e,t){let a=e.endsWith("/")?e:`${e}/`,r=t.startsWith("/")?t.slice(1):t;return`${a}${r}`}function Bg(e){return e instanceof Error?e.message:String(e)}function Au(e){let{apiUrl:t,endpointPath:a}=_g(e.endpoint),r=Pu({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),d=u===void 0?i.properties:{channelId:u,...i.properties},c=ku({sessionId:l.sessionId,visitorId:l.visitorId,externalUserId:l.externalUserId??o,traceId:l.traceId,...i,properties:d,metadata:{...e.metadata,...i.metadata}},{source:n(e.source)});return r.enqueue(c),{eventId:c.id}};return{track:Object.assign(s,Tu(s)),identify(i,l){return o=i,s({event:"user.identified",externalUserId:i,properties:l})},flush:()=>r.flush(),shutdown:i=>r.shutdown(i)}}function _g(e){let t=new URL(e);return{apiUrl:t.origin,endpointPath:`${t.pathname}${t.search}`}}function Ru(e){return Au({endpoint:Sa(e.api),token:e.token,channelId:e.channelId,source:e.getSource,identity:()=>({sessionId:e.getSessionId(),visitorId:Xe()})})}function Mu(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 Eu}from"react/jsx-runtime";var Ng=600,Du="https://app.waniwani.ai/api/mcp/chat",Hg=Ug(function(t,a){let{token:r,channelId:o,className:n,visitorId:s,overrides:i,onEvent:l}=t,u=fn(null),d=fn(null),c=cn(()=>Tl({mode:"inline",getSessionId:()=>u.current?.sessionId}),[]);Tr(()=>{if(l)return c.subscribe(l)},[l,c]);let f=cn(()=>({token:r,channelId:o,api:i?.api,mcpServerUrl:i?.mcpServerUrl,title:i?.title,hideHeader:i?.hideHeader,welcomeMessage:i?.welcomeMessage,placeholder:i?.placeholder,suggestions:i?.suggestions,enableThreadHistory:i?.enableThreadHistory,showToolCalls:i?.showToolCalls,appearance:i?.appearance,disclaimer:i?.disclaimer,locale:i?.locale}),[r,o,i?.api,i?.mcpServerUrl,i?.title,i?.hideHeader,i?.welcomeMessage,i?.placeholder,i?.suggestions,i?.enableThreadHistory,i?.showToolCalls,i?.appearance,i?.disclaimer,i?.locale]),p=i?.api??Du,[m,L]=Fu({}),[x,w]=Fu(!1),C=fn(!1);Tr(()=>{x&&!C.current&&(C.current=!0,c.emit({name:"chat.ready"}))},[x,c]);let h=i?.disablePageView;Tr(()=>{if(!r){w(!0);return}let E=_=>{h||rn({api:p,token:r,channelId:o??_.channelId,mode:"inline",source:_.source})},$=br(p,r,o);$&&(L($),w(!0),E($));let A=new AbortController,P=setTimeout(()=>w(!0),Ng);return fu(p,r,A.signal,o).then(_=>{A.signal.aborted||(Object.keys(_).length>0&&(cu(p,r,o,_),L(_)),w(!0),E(_))}).catch(_=>{console.error("[Waniwani] Remote config fetch failed:",_),w(!0)}).finally(()=>clearTimeout(P)),()=>{A.abort(),clearTimeout(P)}},[p,r,o,h]);let I=cn(()=>tn(f,m,void 0),[f,m]),S=uu(I);wu({widgetEvents:c,api:I.api??p,token:I.token??r,channelId:I.channelId??o,source:I.source,mode:"inline",pagePrompts:S.page,getSessionId:()=>u.current?.sessionId}),Tr(()=>{if(!r)return;let E=Ru({api:p,token:r,channelId:()=>o??br(p,r,o)?.channelId,getSource:()=>br(p,r,o)?.source??void 0,getSessionId:()=>u.current?.sessionId});return d.current=E,()=>{d.current=null,E.shutdown()}},[p,r,o]),Og(a,()=>{let E=()=>d.current??Mu("no public token configured"),$=Object.assign(A=>E().track(A),{priceShown:A=>E().track.priceShown(A),pricesCompared:A=>E().track.pricesCompared(A),optionSelected:A=>E().track.optionSelected(A),leadQualified:A=>E().track.leadQualified(A),converted:A=>E().track.converted(A)});return{sendMessage:A=>u.current?.sendMessage(A),sendMessageAndWait:A=>u.current?u.current.sendMessageAndWait(A):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:$,identify:(A,P)=>E().identify(A,P)}},[]);let v=su(I.visibility,x),U={mode:"inline"};return I.mcpServerUrl&&(U.mcpServerUrl=I.mcpServerUrl),I.channelId&&(U.channelId=I.channelId),v?Eu(Al,{value:c,children:Eu(Zo,{ref:u,api:I.api??Du,headers:{Authorization:`Bearer ${I.token}`},visitorId:s,skipRemoteConfig:!0,body:U,appearance:I.appearance,classNames:i?.classNames,title:I.title,hideHeader:I.hideHeader,welcomeMessage:I.welcomeMessage,welcome:i?.welcome,placeholder:I.placeholder,suggestions:S,enableThreadHistory:I.enableThreadHistory,showToolCalls:I.showToolCalls,disclaimer:I.disclaimer,documentUpload:I.documentUpload,allowAttachments:i?.allowAttachments,locale:I.locale,messages:i?.messages,className:n,initializing:!x})}):null});export{Zo as ChatEmbed,Uh as DARK_THEME,tu as DEFAULT_THEME,ta as McpAppFrame,Hg as WaniwaniChat,Hd as WebMcpOverlay,Nh as mergeTheme,Yo as themeToCSSProperties};
17
17
  /*! Bundled license information:
18
18
 
19
19
  lucide-react/dist/esm/shared/src/utils/mergeClasses.js: