@waniwani/sdk 0.21.4 → 0.22.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chat/embed.js +55 -55
- package/dist/chat/embed.js.map +1 -1
- package/dist/chat/index.d.ts +85 -4
- package/dist/chat/index.js +10 -7
- package/dist/chat/index.js.map +1 -1
- package/dist/mcp/index.d.ts +18 -0
- package/dist/mcp/index.js +4 -4
- package/dist/mcp/index.js.map +1 -1
- package/package.json +1 -1
package/dist/chat/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import{a as Dn,b as Bn,c as _n,d as On,e as Un,f as Ba,g as Nn,h as Hn,i as qn,j as Wn,k as Wr,l as Gn,m as Pt,n as At,o as _a,p as Rt,u as Gt}from"../chunk-QIQG7C7A.js";import"../chunk-V3ZDECK5.js";import{useCallback as Ec,useEffect as za,useMemo as Dc,useRef as be,useState as Ts}from"react";function Mt(e){if(!e)return!1;let t=Array.isArray(e.content)&&e.content.length>0,a=typeof e.structuredContent=="object"&&e.structuredContent!==null&&Object.keys(e.structuredContent).length>0;return t||a}function Vn(e,t){return!Mt(e)&&!Mt(t)?null:Mt(e)?Mt(t)?{...e.content||t.content?{content:[...e.content??[],...t.content??[]]}:{},...e.structuredContent||t.structuredContent?{structuredContent:{...e.structuredContent??{},...t.structuredContent??{}}}:{}}:{...e.content?{content:[...e.content]}:{},...e.structuredContent?{structuredContent:{...e.structuredContent}}:{}}:{...t?.content?{content:[...t.content]}:{},...t?.structuredContent?{structuredContent:{...t.structuredContent}}:{}}}import{forwardRef as wd,createElement as xd}from"react";var Oa=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();var zn=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var jn=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,r)=>r?r.toUpperCase():a.toLowerCase());var Gr=e=>{let t=jn(e);return t.charAt(0).toUpperCase()+t.slice(1)};import{forwardRef as hd,createElement as Kn}from"react";var $n={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 Xn=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var Qn=hd(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:n,iconNode:s,...i},l)=>Kn("svg",{ref:l,...$n,width:t,height:t,stroke:e,strokeWidth:r?Number(a)*24/Number(t):a,className:Oa("lucide",o),...!n&&!Xn(i)&&{"aria-hidden":"true"},...i},[...s.map(([u,d])=>Kn(u,d)),...Array.isArray(n)?n:[n]]));var X=(e,t)=>{let a=wd(({className:r,...o},n)=>xd(Qn,{ref:n,iconNode:t,className:Oa(`lucide-${zn(Gr(e))}`,`lucide-${e}`,r),...o}));return a.displayName=Gr(e),a};var Id=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],Vt=X("arrow-down",Id);var Ld=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],zt=X("arrow-up",Ld);var Cd=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],jt=X("check",Cd);var Sd=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],it=X("chevron-down",Sd);var yd=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],$t=X("chevron-right",yd);var bd=[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]],Xt=X("clipboard-copy",bd);var kd=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],et=X("clock",kd);var Td=[["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"}]],Kt=X("file-text",Td);var vd=[["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"}]],Ft=X("file",vd);var Pd=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],Qt=X("globe",Pd);var Ad=[["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"}]],Jt=X("image",Ad);var Rd=[["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"}]],Yt=X("loader",Rd);var Md=[["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"}]],Et=X("paperclip",Md);var Fd=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],Zt=X("square",Fd);var Ed=[["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"}]],It=X("wrench",Ed);var Dd=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],lt=X("x",Dd);var Bd=[["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"}]],ea=X("zap",Bd);import{createContext as Xd,useCallback as Kd,useContext as os,useEffect as Qd,useMemo as Jr,useRef as Jd,useState as Yr}from"react";function Vr(e){if(!(typeof e!="object"||e===null))return e}function Jn(e){return Vr(e?.ui)}function zr(e){if(!e)return;let t=Jn(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 ta(e){return Jn(e)?.autoHeight===!0}function jr(e){return Vr(Vr(e)?._meta)}import{createContext as _d,useContext as Od,useEffect as Ud,useMemo as Nd,useState as ts}from"react";var Yn=["en","fr","es"];function Dt(e){return Yn.includes(e)}function $r(e){if(e&&Dt(e))return e;if(e){let a=e.split("-")[0]?.toLowerCase();if(a&&Dt(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(Dt(r))return r;let o=r.split("-")[0];if(o&&Dt(o))return o}return"en"}var Ua={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 Zn={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 es={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 Xr={en:Ua,fr:es,es:Zn};import{jsx as Wd}from"react/jsx-runtime";var as=_d(null);function Hd(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 Kr({children:e,locale:t,messages:a}){let r=!!(t&&qd(t)),o=r?t:"en",[n,s]=ts(o),[i,l]=ts(r);Ud(()=>{s($r(t)),l(!0)},[t]);let u=Nd(()=>{let d=Xr[n]??Xr["en"];return{locale:n,t:Hd(d,a),ready:i}},[n,a,i]);return Wd(as.Provider,{value:u,children:e})}function qd(e){return e==="en"||e==="fr"||e==="es"}function z(){let e=Od(as);return e||{locale:"en",t:Ua,ready:!0}}function Qr(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 Gd=Bn({prefix:"ww"});function k(...e){return Gd(Dn(e))}import{jsx as Vd}from"react/jsx-runtime";var Ke=({className:e,variant:t="default",size:a="default",type:r="button",...o})=>Vd("button",{type:r,className:k("ww:inline-flex ww:cursor-pointer ww:items-center ww:justify-center ww:rounded-md ww:font-medium ww:transition-colors ww:disabled:pointer-events-none ww:disabled:opacity-50",t==="default"&&"ww:bg-primary ww:text-primary-foreground ww:hover:bg-primary/90",t==="outline"&&"ww:border ww:border-border ww:bg-background ww:hover:bg-accent ww:hover:text-accent-foreground",t==="ghost"&&"ww:hover:bg-accent ww:hover:text-accent-foreground",a==="default"&&"ww:h-9 ww:px-4 ww:py-2 ww:text-sm",a==="sm"&&"ww:h-8 ww:px-3 ww:text-xs",a==="icon"&&"ww:size-9 ww:!rounded-full",a==="icon-sm"&&"ww:size-7 ww:!rounded-full",e),...o});import{memo as zd}from"react";import{jsx as $d}from"react/jsx-runtime";var jd=({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 $d(e,{"data-waniwani-shimmer":"",className:k("ww:inline-block",t),style:s,...n,children:o})},Ve=zd(jd);Ve.displayName="Shimmer";import{Fragment as rs,jsx as ne,jsxs as Lt}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 Zd({text:e,className:t}){let{t:a}=z(),[r,o]=Yr(!1),n=Jd(null);Qd(()=>()=>{n.current&&clearTimeout(n.current)},[]);let s=Kd(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 ne(Ke,{variant:"ghost",size:"sm",onClick:s,className:k("ww:h-auto ww:gap-1 ww:px-1.5 ww:py-0.5 ww:text-xs ww:text-muted-foreground ww:hover:text-foreground",t),children:r?Lt(rs,{children:[ne(jt,{className:"ww:size-3.5"}),ne("span",{children:a.tool.copied})]}):Lt(rs,{children:[ne(Xt,{className:"ww:size-3.5"}),ne("span",{children:a.tool.copy})]})})}function ns({data:e,label:t,className:a,...r}){let[o,n]=Yr(!1),s=Jr(()=>JSON.stringify(e,null,2),[e]),i=Yd(e);return Lt("div",{className:k("ww:rounded-lg ww:bg-tool-card",a),...r,children:[Lt("div",{className:"ww:flex ww:items-center ww:justify-between ww:px-3 ww:pt-2.5 ww:pb-1.5",children:[ne("span",{className:"ww:text-xs ww:font-medium ww:text-muted-foreground",children:t}),ne(Zd,{text:s})]}),Lt("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:[ne($t,{className:k("ww:mt-0.5 ww:size-3.5 ww:shrink-0 ww:text-muted-foreground ww:transition-transform ww:duration-150",o&&"ww:rotate-90")}),o?ne("pre",{className:"ww:overflow-x-auto ww:text-xs ww:font-mono ww:text-foreground ww:whitespace-pre-wrap ww:break-all",children:ne("code",{children:s})}):ne("span",{className:"ww:truncate ww:text-xs ww:font-mono ww:text-foreground/80",children:i})]})]})}var Zr=Xd({open:!1,toggle:()=>{}});function ss({className:e,defaultOpen:t=!1,children:a,...r}){let[o,n]=Yr(t);return ne(Zr.Provider,{value:{open:o,toggle:()=>n(s=>!s)},children:ne("div",{className:k("ww:mb-4 ww:w-full",e),"data-state":o?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...r,children:a})})}function is({className:e,title:t,state:a,...r}){let{open:o,toggle:n}=os(Zr),s=a==="input-available"||a==="input-streaming",i=t??"";return Lt("button",{type:"button",onClick:n,className:k("ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),"aria-expanded":o,...r,children:[ne(It,{className:"ww:size-4 ww:shrink-0"}),ne("span",{className:"ww:truncate",children:s?ne(Ve,{duration:1.6,children:i}):i}),ne(it,{className:k("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",o&&"ww:rotate-180")})]})}function ls({className:e,title:t,state:a,...r}){let o=a==="input-available"||a==="input-streaming",n=t??"";return ne("div",{className:k("ww:mb-4 ww:flex ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground",e),style:{animation:"ww-fade-in 0.2s ease-out"},...r,children:ne("span",{className:"ww:truncate",children:o?ne(Ve,{duration:1.6,children:n}):n})})}function us({className:e,children:t,...a}){let{open:r}=os(Zr);return ne("div",{className:k("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",r?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:ne("div",{className:"ww:min-h-0 ww:overflow-hidden",children:ne("div",{className:k("ww: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 eo({className:e,input:t,debug:a,...r}){let{t:o}=z(),n=Jr(()=>{if(!a&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:s,...i}=t;return i}return t},[t,a]);return ne(ns,{data:n,label:o.tool.request,className:e,...r})}function aa(e,t,a){if(e){let r=zr(a?.[e]?._meta);if(r)return r}return zr(jr(t))}function ds(e,t,a){return e&&ta(a?.[e]?._meta)?!0:ta(jr(t))}function to({className:e,output:t,errorText:a,debug:r,...o}){let{t:n}=z(),s=Jr(()=>{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?Lt("div",{className:k("ww:space-y-2",e),...o,children:[ne("h4",{className:"ww:text-xs ww:font-medium ww:uppercase ww:tracking-wide ww:text-muted-foreground",children:n.tool.error}),ne("div",{className:"ww:rounded-lg ww:bg-destructive/10 ww:p-3 ww:text-xs ww:text-destructive",children:a})]}):ne(ns,{data:s,label:n.tool.response,className:e,...o}):null}var cs=typeof performance>"u"?0:performance.now(),fs=typeof window<"u"&&!!window.WaniWani?.chat;function ze(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 ec="/api/mcp/";function Na(e,t){let[a=""]=e.split("?"),r="",o=a;try{let n=new URL(a);r=n.origin,o=n.pathname}catch{if(!a.startsWith("/"))return null}return o.startsWith(ec)?`${r}${t}`:null}function tc(){if(typeof window>"u")return!1;try{return window.WANIWANI_DEBUG?!0:!!window.localStorage?.getItem("WANIWANI_DEBUG")}catch{return!1}}function Qe(...e){tc()&&console.log("[Waniwani]",...e)}var ao="waniwani-visitor-id";function ac(){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 He(){try{let t=localStorage.getItem(ao);if(t)return t}catch{}let e=ac();try{localStorage.setItem(ao,e)}catch{}return e}function ro(e){let t=typeof e=="string"?e.trim():"";if(!t)return He();try{localStorage.setItem(ao,t)}catch{}return t}function rc(e){return e!=null&&typeof e.then=="function"}function oo(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 rc(r)?r.then(o=>{t||ro(o??"")},()=>{}):ro(r??""),a}var oc="waniwani-memory";var Be="threads",Ha="by_memoryUserId",nc="by_updatedAt";var ms="memoryUserId",ps="waniwani-memory-user-id",no=null;function so(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function sc(e,t){if(t<1&&(e.objectStoreNames.contains("ids")||e.createObjectStore("ids")),t<2&&!e.objectStoreNames.contains(Be)){let a=e.createObjectStore(Be,{keyPath:"threadId"});a.createIndex(Ha,"memoryUserId",{unique:!1}),a.createIndex(nc,"updatedAt",{unique:!1})}}async function io(){return new Promise((e,t)=>{let a=indexedDB.open(oc,2);a.onupgradeneeded=r=>{sc(a.result,r.oldVersion)},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})}async function ic(){return io()}async function lc(e){return new Promise((t,a)=>{let n=e.transaction("ids","readonly").objectStore("ids").get(ms);n.onsuccess=()=>t(typeof n.result=="string"?n.result:null),n.onerror=()=>a(n.error)})}async function uc(e,t){return new Promise((a,r)=>{let s=e.transaction("ids","readwrite").objectStore("ids").put(t,ms);s.onsuccess=()=>a(),s.onerror=()=>r(s.error)})}async function dc(){if(typeof indexedDB>"u")return null;try{let e=await ic();try{let t=await lc(e);if(t)return t;let a=so();return await uc(e,a),a}finally{e.close()}}catch{return null}}function cc(){try{let e=localStorage.getItem(ps);if(e)return e;let t=so();return localStorage.setItem(ps,t),t}catch{return null}}async function gs(){let e=await dc();if(e)return e;let t=cc();return t||(no||(no=so()),no)}function hs(e,t){return e.match(t)?.[1]??null}function fc(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=hs(e,r);if(o)return{name:a,version:o}}return null}function pc(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=hs(e,r);if(o)return{name:a,version:o.replace(/_/g,".")};if(a==="Linux"&&r.test(e))return{name:a,version:""}}return null}function mc(e){return typeof navigator<"u"&&"userAgentData"in navigator&&navigator.userAgentData?.mobile?"mobile":/iPad|tablet|PlayBook/i.test(e)?"tablet":/Mobi|Android.*Mobile|iPhone|iPod/i.test(e)?"mobile":"desktop"}async function ra(){let e=navigator.userAgent,t=He(),a=await gs();return{userAgent:e,browser:fc(e),os:pc(e),deviceType:mc(e),language:navigator.language,languages:[...navigator.languages],timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,screenWidth:screen.width,screenHeight:screen.height,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight,colorDepth:screen.colorDepth,devicePixelRatio:window.devicePixelRatio??1,touchSupport:"ontouchstart"in window||navigator.maxTouchPoints>0,connectionType:navigator.connection?.effectiveType??"unknown",referrer:document.referrer,visitorId:t,memoryUserId:a}}var gc="0.21.4",hc=40,wc=10,xc=6e5;function uo(){return typeof performance>"u"?0:performance.now()}function co(e,t){let a={};return{metrics:a,has:r=>r in a,set(r,o){a[r]=o},mark(r,o=uo()){if(!(r in a)){a[r]=o-t;try{performance.mark(`waniwani:${e}:${r}`,{startTime:o})}catch{}}}}}function Ic(e){let t={};for(let[a,r]of Object.entries(e)){if(Object.keys(t).length>=hc)break;if(!Number.isFinite(r))continue;let o=Math.round(r);o<0||o>xc||(t[a]=o)}return t}function Lc(e){let t={};for(let[a,r]of Object.entries(e)){if(Object.keys(t).length>=wc)break;(typeof r=="string"||typeof r=="boolean")&&(t[a]=r)}return t}function Cc(){let e=navigator.connection;if(e)return{effectiveType:e.effectiveType,rtt:e.rtt,downlink:e.downlink,saveData:e.saveData}}function Wa(e){let t=e?.Authorization;return typeof t=="string"&&t.startsWith("Bearer ")?t.slice(7):void 0}function Sc(e,t,a,r){return{kind:e,sdkVersion:gc,channelId:t.channelId||void 0,sessionId:e==="boot"?void 0:t.sessionId||void 0,visitorId:He(),pageHost:window.location.hostname,connection:Cc(),tags:Lc(a),metrics:Ic(r)}}var lo,qa=[];function Ga(e){let t=String(e?.chatTimingLogs).trim().toLowerCase()==="true";lo=t;let a=qa;if(qa=[],t)for(let r of a)r()}function Va(e,t,a,r){let{api:o,token:n}=t;if(!(typeof window>"u"||!o||!n||lo===!1))try{let s=Sc(e,t,a,r),i=()=>{Qe("timing",s),fetch(ze(o,"/timing"),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${n}`},body:JSON.stringify(s),keepalive:!0}).catch(()=>{})};lo?i():qa.length<20&&qa.push(i)}catch{}}var tt=co("boot",0),ws;function Ct(e,t){tt.mark(e,t)}function oa(e){ws??=e}var yc=/cdn\.jsdelivr\.net\/npm\/@waniwani\/sdk@[^/]+\/dist\/chat\/embed\.js/,bc=/\/embed\.js(\?|$)/;function kc(){if(typeof performance>"u")return;let e=performance.getEntriesByType("navigation")[0];e?.responseStart&&tt.mark("navTtfb",e.responseStart),e?.domContentLoadedEventEnd&&tt.mark("navDomContentLoaded",e.domContentLoadedEventEnd);let t=performance.getEntriesByType("resource");for(let a of t)yc.test(a.name)?(tt.mark("bundleStart",a.startTime),tt.mark("bundleEnd",a.responseEnd)):bc.test(a.name)&&(tt.mark("loaderStart",a.startTime),tt.mark("loaderEnd",a.responseEnd))}function Tc(){if(fs)return!0;try{return document.querySelectorAll('script[src*="@waniwani/sdk"]').length>1}catch{return!1}}function xs(e){kc(),tt.mark("bundleExecuted",cs),Va("boot",e,{configSource:ws,mode:e.mode,secondSdk:Tc()},tt.metrics)}var vc=[["text-delta","firstText"],["tool-input-start","firstToolInput"],["tool-output-available","firstToolOutput"]];function Is(e){let t=co("turn",uo());t.set("turnIndex",e);let a=!1;return{mark:r=>t.mark(r),instrument(r){if(!r.ok||!r.body||typeof TransformStream>"u")return r;try{let o=new TextDecoder,n=r.body.pipeThrough(new TransformStream({transform(s,i){t.mark("firstChunk");let l=o.decode(s,{stream:!0});for(let[u,d]of vc)!t.has(d)&&l.includes(u)&&t.mark(d);i.enqueue(s)}}));return new Response(n,{status:r.status,statusText:r.statusText,headers:r.headers})}catch{return r}},report(r,o){a||(a=!0,Va("turn",r,o,t.metrics))}}}function Pc(e){let t=e.indexOf("?");return t===-1?e:e.slice(0,t)}function Ls(e,t){let a=co("widget",uo()),r=!1;return{mark:o=>a.mark(o),has:o=>a.has(o),report(o,n){r||(r=!0,a.set("retries",n),t({widget:Pc(e),outcome:o,metrics:a.metrics}))}}}import{createContext as Ac,useContext as Rc,useEffect as Mc,useRef as Cs}from"react";var Ss=Ac(()=>{});function ys(){return Rc(Ss)}var bs=Ss.Provider;function Fc(e){let t=window.requestIdleCallback;typeof t=="function"?t(e):setTimeout(e,500)}function ks(e){let t=Cs(e);t.current=e;let a=Cs(!1);Mc(()=>{if(!e.painted||a.current)return;a.current=!0;let r=requestAnimationFrame(()=>{let o=t.current;Ct(o.paintMark),Fc(()=>xs(o))});return()=>cancelAnimationFrame(r)},[e.painted])}import{jsx as jc}from"react/jsx-runtime";var Bc="/api/mcp/resource",_c=500,Oc=0,Uc=16,Nc="2026-01-26",Hc=300,qc=3e3,Wc=3,Gc=2e3;function Vc(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function zc(e,t,a){return aa(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function na({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:r=Bc,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=be(null),C=be(t),I=be(a),x=be({width:0,height:0}),L=be(null),h=be(!1),w=be(0),S=be("inline"),[E,M]=Ts(Oc),[A,j]=Ts(void 0),F=be(l),O=be(u),q=be(d),Q=be(c),W=be(o),H=be(p);C.current=t,I.current=a,F.current=l,O.current=u,q.current=d,Q.current=c,W.current=o,H.current=p;let T=Ec(b=>i?Math.max(b+Uc,0):Math.min(Math.max(b,50),_c),[i]),y=Dc(()=>{let b=r.includes("?")?"&":"?";return`${r}${b}uri=${encodeURIComponent(e)}`},[r,e]),v=ys(),Z=be(null),ee=be(void 0);za(()=>{let b=Ls(e,v);return Z.current=b,()=>{clearTimeout(ee.current),b.has("initialized")||b.report("timeout",w.current),Z.current=null}},[e,v]);let Fe=be(n);Fe.current=n;let Ne=be(f);return za(()=>{Ne.current=f,x.current.height=-1,L.current&&(L.current.cancel(),L.current=null)},[f]),za(()=>{if(!h.current)return;let b=m.current;b?.contentWindow&&b.contentWindow.postMessage({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{theme:n?"dark":"light"}},"*")},[n]),za(()=>{let b=m.current;if(!b)return;let D=!1,_=!1,ae=null,de=null,he=setTimeout(()=>{if(D||_||w.current>=Wc)return;w.current+=1;let V=new URL(b.src);V.searchParams.set("_retry",String(w.current)),b.src=V.toString()},qc),K=V=>{b.contentWindow?.postMessage(V,"*")},J=V=>{if(D||V.source!==b.contentWindow)return;let me=V.data;if(!me||typeof me!="object"||me.jsonrpc!=="2.0")return;let Se=me.method,re=me.id;if(Se==="ui/initialize"&&re!=null){_=!0,Z.current?.mark("initialize"),clearTimeout(he),K({jsonrpc:"2.0",id:re,result:{protocolVersion:me.params?.protocolVersion??Nc,hostInfo:{name:"Waniwani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:Fe.current?"dark":"light",displayMode:S.current}}});return}if(Se==="ui/notifications/initialized"){h.current=!0,Z.current?.mark("initialized"),ee.current=setTimeout(()=>Z.current?.report("ok",w.current),Gc);let $=C.current,N=I.current,G=N._meta&&typeof N._meta=="object"?N._meta:null,U=Vc(W.current),ie=G&&typeof G.waniwani=="object"&&G.waniwani!==null?G.waniwani:null,Re=ie||U?{...ie??{},...U?{sessionId:U}:{}}:void 0,Ee=G||Re?{...G??{},...Re?{waniwani:Re}:{}}:void 0;K({jsonrpc:"2.0",method:"ui/notifications/tool-input",params:{arguments:$}});let De=N.content??[{type:"text",text:JSON.stringify(N)}];K({jsonrpc:"2.0",method:"ui/notifications/tool-result",params:{content:De,structuredContent:N.structuredContent,_meta:Ee,meta:Ee}});return}if(Se==="ui/notifications/size-changed"){clearTimeout(ee.current),Z.current?.mark("firstSize"),Z.current?.report("ok",w.current);let $=me.params,N=typeof $?.height=="number"?$.height:void 0,G=typeof $?.width=="number"?$.width:void 0,U=x.current,ie=N!==void 0&&N!==U.height,Re=G!==void 0&&G!==U.width;if(!ie&&!Re)return;if(ie&&N!==void 0){if(U.height=N,Ne.current)return;let Ee=T(N),De=b.getBoundingClientRect().height;if(L.current&&(L.current.cancel(),L.current=null),M(Ee),b.animate&&Math.abs(De-Ee)>2){let Xe=b.animate([{height:`${De}px`},{height:`${Ee}px`}],{duration:Hc,easing:"ease-out",fill:"forwards"});L.current=Xe,Xe.onfinish=()=>{L.current===Xe&&(Xe.cancel(),L.current=null)}}}Re&&i&&G!==void 0&&(U.width=G,j(G));return}if(Se==="ui/open-link"&&re!=null){let $=me.params?.url;typeof $=="string"&&(F.current?F.current($):window.open($,"_blank","noopener,noreferrer")),K({jsonrpc:"2.0",id:re,result:{}});return}if(Se==="ui/message"&&re!=null){if(O.current&&me.params){let $=me.params,N=ae;if(ae=null,de){clearTimeout(de.timer);let G=de.text;de=null;let U=($.content??[]).map(ie=>ie.text??"").join("").trim();$={...$,content:[{type:"text",text:`${U}
|
|
2
|
+
import{a as Nn,b as Hn,c as qn,d as Wn,e as Gn,f as Oa,g as Vn,h as zn,i as jn,j as $n,k as $r,l as Xn,m as Rt,n as Mt,o as Ua,p as Ft,u as jt}from"../chunk-QIQG7C7A.js";import"../chunk-V3ZDECK5.js";import{useCallback as Wc,useEffect as $a,useMemo as Gc,useRef as ke,useState as Ms}from"react";function It(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 Kn(e,t){return!It(e)&&!It(t)?null:It(e)?It(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 Td,createElement as vd}from"react";var Na=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();var Qn=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var Jn=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,r)=>r?r.toUpperCase():a.toLowerCase());var Xr=e=>{let t=Jn(e);return t.charAt(0).toUpperCase()+t.slice(1)};import{forwardRef as kd,createElement as es}from"react";var Yn={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 Zn=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var ts=kd(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:n,iconNode:s,...i},l)=>es("svg",{ref:l,...Yn,width:t,height:t,stroke:e,strokeWidth:r?Number(a)*24/Number(t):a,className:Na("lucide",o),...!n&&!Zn(i)&&{"aria-hidden":"true"},...i},[...s.map(([u,c])=>es(u,c)),...Array.isArray(n)?n:[n]]));var j=(e,t)=>{let a=Td(({className:r,...o},n)=>vd(ts,{ref:n,iconNode:t,className:Na(`lucide-${Qn(Xr(e))}`,`lucide-${e}`,r),...o}));return a.displayName=Xr(e),a};var Pd=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],$t=j("arrow-down",Pd);var Ad=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],Xt=j("arrow-up",Ad);var Rd=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Kt=j("check",Rd);var Md=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],lt=j("chevron-down",Md);var Fd=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],Qt=j("chevron-right",Fd);var Ed=[["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=j("clipboard-copy",Ed);var Dd=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],tt=j("clock",Dd);var Bd=[["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"}]],Yt=j("file-text",Bd);var _d=[["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"}]],Et=j("file",_d);var Od=[["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"}]],Zt=j("globe",Od);var Ud=[["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"}]],ea=j("image",Ud);var Nd=[["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"}]],ta=j("loader",Nd);var Hd=[["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"}]],Dt=j("paperclip",Hd);var qd=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],aa=j("square",qd);var Wd=[["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"}]],Lt=j("wrench",Wd);var Gd=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],ut=j("x",Gd);var Vd=[["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"}]],ra=j("zap",Vd);import{createContext as rc,useCallback as oc,useContext as us,useEffect as nc,useMemo as ao,useRef as sc,useState as ro}from"react";function Kr(e){if(!(typeof e!="object"||e===null))return e}function as(e){return Kr(e?.ui)}function Qr(e){if(!e)return;let t=as(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 oa(e){return as(e)?.autoHeight===!0}function Jr(e){return Kr(Kr(e)?._meta)}import{createContext as zd,useContext as jd,useEffect as $d,useMemo as Xd,useState as ss}from"react";var rs=["en","fr","es"];function Bt(e){return rs.includes(e)}function Yr(e){if(e&&Bt(e))return e;if(e){let a=e.split("-")[0]?.toLowerCase();if(a&&Bt(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(Bt(r))return r;let o=r.split("-")[0];if(o&&Bt(o))return o}return"en"}var Ha={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 os={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 ns={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 Zr={en:Ha,fr:ns,es:os};import{jsx as Jd}from"react/jsx-runtime";var is=zd(null);function Kd(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 eo({children:e,locale:t,messages:a}){let r=!!(t&&Qd(t)),o=r?t:"en",[n,s]=ss(o),[i,l]=ss(r);$d(()=>{s(Yr(t)),l(!0)},[t]);let u=Xd(()=>{let c=Zr[n]??Zr["en"];return{locale:n,t:Kd(c,a),ready:i}},[n,a,i]);return Jd(is.Provider,{value:u,children:e})}function Qd(e){return e==="en"||e==="fr"||e==="es"}function V(){let e=jd(is);return e||{locale:"en",t:Ha,ready:!0}}function to(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 Yd=Hn({prefix:"ww"});function k(...e){return Yd(Nn(e))}import{jsx as Zd}from"react/jsx-runtime";var Ke=({className:e,variant:t="default",size:a="default",type:r="button",...o})=>Zd("button",{type:r,className:k("ww:inline-flex ww:cursor-pointer ww:items-center ww:justify-center ww:rounded-md ww:font-medium ww:transition-colors ww:disabled:pointer-events-none ww:disabled:opacity-50",t==="default"&&"ww:bg-primary ww:text-primary-foreground ww:hover:bg-primary/90",t==="outline"&&"ww:border ww:border-border ww:bg-background ww:hover:bg-accent ww:hover:text-accent-foreground",t==="ghost"&&"ww:hover:bg-accent ww:hover:text-accent-foreground",a==="default"&&"ww:h-9 ww:px-4 ww:py-2 ww:text-sm",a==="sm"&&"ww:h-8 ww:px-3 ww:text-xs",a==="icon"&&"ww:size-9 ww:!rounded-full",a==="icon-sm"&&"ww:size-7 ww:!rounded-full",e),...o});import{memo as ec}from"react";import{jsx as ac}from"react/jsx-runtime";var tc=({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 ac(e,{"data-waniwani-shimmer":"",className:k("ww:inline-block",t),style:s,...n,children:o})},ze=ec(tc);ze.displayName="Shimmer";import{Fragment as ls,jsx as oe,jsxs as Ct}from"react/jsx-runtime";function ic(e,t=80){if(e==null)return String(e);if(typeof e!="object")return String(e).slice(0,t);if(Array.isArray(e))return`Array(${e.length})`;let a=JSON.stringify(e);if(a.length<=t)return a;let r=Object.entries(e),o=[],n=t-2;for(let[s,i]of r){if(n<=8)break;let l=s.length>4?`${s.slice(0,4)}\u2026`:s,u;typeof i=="string"?u=i.length>2?`'${i.slice(0,1)}\u2026`:`'${i}'`:Array.isArray(i)?u=`Array(${i.length})`:typeof i=="object"&&i!==null?u="{\u2026}":u=String(i);let c=`${l}\u2009${u}`;o.push(c),n-=c.length+3}return`{${o.join(", ")}}`}function lc({text:e,className:t}){let{t:a}=V(),[r,o]=ro(!1),n=sc(null);nc(()=>()=>{n.current&&clearTimeout(n.current)},[]);let s=oc(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 oe(Ke,{variant:"ghost",size:"sm",onClick:s,className:k("ww:h-auto ww:gap-1 ww:px-1.5 ww:py-0.5 ww:text-xs ww:text-muted-foreground ww:hover:text-foreground",t),children:r?Ct(ls,{children:[oe(Kt,{className:"ww:size-3.5"}),oe("span",{children:a.tool.copied})]}):Ct(ls,{children:[oe(Jt,{className:"ww:size-3.5"}),oe("span",{children:a.tool.copy})]})})}function ds({data:e,label:t,className:a,...r}){let[o,n]=ro(!1),s=ao(()=>JSON.stringify(e,null,2),[e]),i=ic(e);return Ct("div",{className:k("ww:rounded-lg ww:bg-tool-card",a),...r,children:[Ct("div",{className:"ww:flex ww:items-center ww:justify-between ww:px-3 ww:pt-2.5 ww:pb-1.5",children:[oe("span",{className:"ww:text-xs ww:font-medium ww:text-muted-foreground",children:t}),oe(lc,{text:s})]}),Ct("button",{type:"button",onClick:()=>n(l=>!l),className:"ww:flex ww:w-full ww:items-start ww:gap-2 ww:px-3 ww:pb-3 ww:text-left",children:[oe(Qt,{className:k("ww:mt-0.5 ww:size-3.5 ww:shrink-0 ww:text-muted-foreground ww:transition-transform ww:duration-150",o&&"ww:rotate-90")}),o?oe("pre",{className:"ww:overflow-x-auto ww:text-xs ww:font-mono ww:text-foreground ww:whitespace-pre-wrap ww:break-all",children:oe("code",{children:s})}):oe("span",{className:"ww:truncate ww:text-xs ww:font-mono ww:text-foreground/80",children:i})]})]})}var oo=rc({open:!1,toggle:()=>{}});function cs({className:e,defaultOpen:t=!1,children:a,...r}){let[o,n]=ro(t);return oe(oo.Provider,{value:{open:o,toggle:()=>n(s=>!s)},children:oe("div",{className:k("ww:mb-4 ww:w-full",e),"data-state":o?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...r,children:a})})}function fs({className:e,title:t,state:a,...r}){let{open:o,toggle:n}=us(oo),s=a==="input-available"||a==="input-streaming",i=t??"";return Ct("button",{type:"button",onClick:n,className:k("ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),"aria-expanded":o,...r,children:[oe(Lt,{className:"ww:size-4 ww:shrink-0"}),oe("span",{className:"ww:truncate",children:s?oe(ze,{duration:1.6,children:i}):i}),oe(lt,{className:k("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",o&&"ww:rotate-180")})]})}function ps({className:e,title:t,state:a,...r}){let o=a==="input-available"||a==="input-streaming",n=t??"";return oe("div",{className:k("ww:mb-4 ww:flex ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground",e),style:{animation:"ww-fade-in 0.2s ease-out"},...r,children:oe("span",{className:"ww:truncate",children:o?oe(ze,{duration:1.6,children:n}):n})})}function ms({className:e,children:t,...a}){let{open:r}=us(oo);return oe("div",{className:k("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",r?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:oe("div",{className:"ww:min-h-0 ww:overflow-hidden",children:oe("div",{className:k("ww:mt-2 ww:space-y-3 ww:rounded-lg ww:border ww:border-border ww:bg-background ww:p-3",e),...a,children:t})})})}function no({className:e,input:t,debug:a,...r}){let{t:o}=V(),n=ao(()=>{if(!a&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:s,...i}=t;return i}return t},[t,a]);return oe(ds,{data:n,label:o.tool.request,className:e,...r})}function na(e,t,a){if(e){let r=Qr(a?.[e]?._meta);if(r)return r}return Qr(Jr(t))}function gs(e,t,a){return e&&oa(a?.[e]?._meta)?!0:oa(Jr(t))}function so({className:e,output:t,errorText:a,debug:r,...o}){let{t:n}=V(),s=ao(()=>{if(!r&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:i,...l}=t;return l}return t},[t,r]);return t||a?a?Ct("div",{className:k("ww:space-y-2",e),...o,children:[oe("h4",{className:"ww:text-xs ww:font-medium ww:uppercase ww:tracking-wide ww:text-muted-foreground",children:n.tool.error}),oe("div",{className:"ww:rounded-lg ww:bg-destructive/10 ww:p-3 ww:text-xs ww:text-destructive",children:a})]}):oe(ds,{data:s,label:n.tool.response,className:e,...o}):null}var hs=typeof performance>"u"?0:performance.now(),ws=typeof window<"u"&&!!window.WaniWani?.chat;function je(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 uc="/api/mcp/";function qa(e,t){let[a=""]=e.split("?"),r="",o=a;try{let n=new URL(a);r=n.origin,o=n.pathname}catch{if(!a.startsWith("/"))return null}return o.startsWith(uc)?`${r}${t}`:null}function dc(){if(typeof window>"u")return!1;try{return window.WANIWANI_DEBUG?!0:!!window.localStorage?.getItem("WANIWANI_DEBUG")}catch{return!1}}function Qe(...e){dc()&&console.log("[Waniwani]",...e)}var io="waniwani-visitor-id";function cc(){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 Oe(){try{let t=localStorage.getItem(io);if(t)return t}catch{}let e=cc();try{localStorage.setItem(io,e)}catch{}return e}function lo(e){let t=typeof e=="string"?e.trim():"";if(!t)return Oe();try{localStorage.setItem(io,t)}catch{}return t}function fc(e){return e!=null&&typeof e.then=="function"}function uo(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 fc(r)?r.then(o=>{t||lo(o??"")},()=>{}):lo(r??""),a}var pc="waniwani-memory";var Ue="threads",Wa="by_memoryUserId",mc="by_updatedAt";var Is="memoryUserId",xs="waniwani-memory-user-id",co=null;function fo(){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 gc(e,t){if(t<1&&(e.objectStoreNames.contains("ids")||e.createObjectStore("ids")),t<2&&!e.objectStoreNames.contains(Ue)){let a=e.createObjectStore(Ue,{keyPath:"threadId"});a.createIndex(Wa,"memoryUserId",{unique:!1}),a.createIndex(mc,"updatedAt",{unique:!1})}}async function po(){return new Promise((e,t)=>{let a=indexedDB.open(pc,2);a.onupgradeneeded=r=>{gc(a.result,r.oldVersion)},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})}async function hc(){return po()}async function wc(e){return new Promise((t,a)=>{let n=e.transaction("ids","readonly").objectStore("ids").get(Is);n.onsuccess=()=>t(typeof n.result=="string"?n.result:null),n.onerror=()=>a(n.error)})}async function xc(e,t){return new Promise((a,r)=>{let s=e.transaction("ids","readwrite").objectStore("ids").put(t,Is);s.onsuccess=()=>a(),s.onerror=()=>r(s.error)})}async function Ic(){if(typeof indexedDB>"u")return null;try{let e=await hc();try{let t=await wc(e);if(t)return t;let a=fo();return await xc(e,a),a}finally{e.close()}}catch{return null}}function Lc(){try{let e=localStorage.getItem(xs);if(e)return e;let t=fo();return localStorage.setItem(xs,t),t}catch{return null}}async function Ls(){let e=await Ic();if(e)return e;let t=Lc();return t||(co||(co=fo()),co)}function Cs(e,t){return e.match(t)?.[1]??null}function Cc(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=Cs(e,r);if(o)return{name:a,version:o}}return null}function yc(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=Cs(e,r);if(o)return{name:a,version:o.replace(/_/g,".")};if(a==="Linux"&&r.test(e))return{name:a,version:""}}return null}function Sc(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 sa(){let e=navigator.userAgent,t=Oe(),a=await Ls();return{userAgent:e,browser:Cc(e),os:yc(e),deviceType:Sc(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 bc="0.22.0-beta.0",kc=40,Tc=10,vc=6e5;function go(){return typeof performance>"u"?0:performance.now()}function ho(e,t){let a={};return{metrics:a,has:r=>r in a,set(r,o){a[r]=o},mark(r,o=go()){if(!(r in a)){a[r]=o-t;try{performance.mark(`waniwani:${e}:${r}`,{startTime:o})}catch{}}}}}function Pc(e){let t={};for(let[a,r]of Object.entries(e)){if(Object.keys(t).length>=kc)break;if(!Number.isFinite(r))continue;let o=Math.round(r);o<0||o>vc||(t[a]=o)}return t}function Ac(e){let t={};for(let[a,r]of Object.entries(e)){if(Object.keys(t).length>=Tc)break;(typeof r=="string"||typeof r=="boolean")&&(t[a]=r)}return t}function Rc(){let e=navigator.connection;if(e)return{effectiveType:e.effectiveType,rtt:e.rtt,downlink:e.downlink,saveData:e.saveData}}function Va(e){let t=e?.Authorization;return typeof t=="string"&&t.startsWith("Bearer ")?t.slice(7):void 0}function Mc(e,t,a,r){return{kind:e,sdkVersion:bc,channelId:t.channelId||void 0,sessionId:e==="boot"?void 0:t.sessionId||void 0,visitorId:Oe(),pageHost:window.location.hostname,connection:Rc(),tags:Ac(a),metrics:Pc(r)}}var mo,Ga=[];function za(e){let t=String(e?.chatTimingLogs).trim().toLowerCase()==="true";mo=t;let a=Ga;if(Ga=[],t)for(let r of a)r()}function ja(e,t,a,r){let{api:o,token:n}=t;if(!(typeof window>"u"||!o||!n||mo===!1))try{let s=Mc(e,t,a,r),i=()=>{Qe("timing",s),fetch(je(o,"/timing"),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${n}`},body:JSON.stringify(s),keepalive:!0}).catch(()=>{})};mo?i():Ga.length<20&&Ga.push(i)}catch{}}var at=ho("boot",0),ys;function yt(e,t){at.mark(e,t)}function ia(e){ys??=e}var Fc=/cdn\.jsdelivr\.net\/npm\/@waniwani\/sdk@[^/]+\/dist\/chat\/embed\.js/,Ec=/\/embed\.js(\?|$)/;function Dc(){if(typeof performance>"u")return;let e=performance.getEntriesByType("navigation")[0];e?.responseStart&&at.mark("navTtfb",e.responseStart),e?.domContentLoadedEventEnd&&at.mark("navDomContentLoaded",e.domContentLoadedEventEnd);let t=performance.getEntriesByType("resource");for(let a of t)Fc.test(a.name)?(at.mark("bundleStart",a.startTime),at.mark("bundleEnd",a.responseEnd)):Ec.test(a.name)&&(at.mark("loaderStart",a.startTime),at.mark("loaderEnd",a.responseEnd))}function Bc(){if(ws)return!0;try{return document.querySelectorAll('script[src*="@waniwani/sdk"]').length>1}catch{return!1}}function Ss(e){Dc(),at.mark("bundleExecuted",hs),ja("boot",e,{configSource:ys,mode:e.mode,secondSdk:Bc()},at.metrics)}var _c=[["text-delta","firstText"],["tool-input-start","firstToolInput"],["tool-output-available","firstToolOutput"]];function bs(e){let t=ho("turn",go());t.set("turnIndex",e);let a=!1;return{mark:r=>t.mark(r),instrument(r){if(!r.ok||!r.body||typeof TransformStream>"u")return r;try{let o=new TextDecoder,n=r.body.pipeThrough(new TransformStream({transform(s,i){t.mark("firstChunk");let l=o.decode(s,{stream:!0});for(let[u,c]of _c)!t.has(c)&&l.includes(u)&&t.mark(c);i.enqueue(s)}}));return new Response(n,{status:r.status,statusText:r.statusText,headers:r.headers})}catch{return r}},report(r,o){a||(a=!0,ja("turn",r,o,t.metrics))}}}function Oc(e){let t=e.indexOf("?");return t===-1?e:e.slice(0,t)}function ks(e,t){let a=ho("widget",go()),r=!1;return{mark:o=>a.mark(o),has:o=>a.has(o),report(o,n){r||(r=!0,a.set("retries",n),t({widget:Oc(e),outcome:o,metrics:a.metrics}))}}}import{createContext as Uc,useContext as Nc,useEffect as Hc,useRef as Ts}from"react";var vs=Uc(()=>{});function Ps(){return Nc(vs)}var As=vs.Provider;function qc(e){let t=window.requestIdleCallback;typeof t=="function"?t(e):setTimeout(e,500)}function Rs(e){let t=Ts(e);t.current=e;let a=Ts(!1);Hc(()=>{if(!e.painted||a.current)return;a.current=!0;let r=requestAnimationFrame(()=>{let o=t.current;yt(o.paintMark),qc(()=>Ss(o))});return()=>cancelAnimationFrame(r)},[e.painted])}import{jsx as tf}from"react/jsx-runtime";var Vc="/api/mcp/resource",zc=500,jc=0,$c=16,Xc="2026-01-26",Kc=300,Qc=3e3,Jc=3,Yc=2e3;function Zc(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function ef(e,t,a){return na(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function la({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:r=Vc,chatSessionId:o,isDark:n=!1,className:s,autoHeight:i=!1,onOpenLink:l,onFollowUp:u,onCallTool:c,onDisplayModeChange:d,isFullscreen:f=!1,toolDefinitions:p}){let m=ke(null),L=ke(t),I=ke(a),x=ke({width:0,height:0}),C=ke(null),h=ke(!1),w=ke(0),y=ke("inline"),[M,R]=Ms(jc),[_,te]=Ms(void 0),O=ke(l),U=ke(u),F=ke(c),G=ke(d),D=ke(o),W=ke(p);L.current=t,I.current=a,O.current=l,U.current=u,F.current=c,G.current=d,D.current=o,W.current=p;let T=Wc(b=>i?Math.max(b+$c,0):Math.min(Math.max(b,50),zc),[i]),S=Gc(()=>{let b=r.includes("?")?"&":"?";return`${r}${b}uri=${encodeURIComponent(e)}`},[r,e]),v=Ps(),K=ke(null),Q=ke(void 0);$a(()=>{let b=ks(e,v);return K.current=b,()=>{clearTimeout(Q.current),b.has("initialized")||b.report("timeout",w.current),K.current=null}},[e,v]);let Ee=ke(n);Ee.current=n;let Be=ke(f);return $a(()=>{Be.current=f,x.current.height=-1,C.current&&(C.current.cancel(),C.current=null)},[f]),$a(()=>{if(!h.current)return;let b=m.current;b?.contentWindow&&b.contentWindow.postMessage({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{theme:n?"dark":"light"}},"*")},[n]),$a(()=>{let b=m.current;if(!b)return;let E=!1,N=!1,Z=null,de=null,ge=setTimeout(()=>{if(E||N||w.current>=Jc)return;w.current+=1;let H=new URL(b.src);H.searchParams.set("_retry",String(w.current)),b.src=H.toString()},Qc),re=H=>{b.contentWindow?.postMessage(H,"*")},ee=H=>{if(E||H.source!==b.contentWindow)return;let ie=H.data;if(!ie||typeof ie!="object"||ie.jsonrpc!=="2.0")return;let Ce=ie.method,ae=ie.id;if(Ce==="ui/initialize"&&ae!=null){N=!0,K.current?.mark("initialize"),clearTimeout(ge),re({jsonrpc:"2.0",id:ae,result:{protocolVersion:ie.params?.protocolVersion??Xc,hostInfo:{name:"Waniwani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:Ee.current?"dark":"light",displayMode:y.current}}});return}if(Ce==="ui/notifications/initialized"){h.current=!0,K.current?.mark("initialized"),Q.current=setTimeout(()=>K.current?.report("ok",w.current),Yc);let J=L.current,$=I.current,z=$._meta&&typeof $._meta=="object"?$._meta:null,q=Zc(D.current),ce=z&&typeof z.waniwani=="object"&&z.waniwani!==null?z.waniwani:null,fe=ce||q?{...ce??{},...q?{sessionId:q}:{}}:void 0,Le=z||fe?{...z??{},...fe?{waniwani:fe}:{}}:void 0;re({jsonrpc:"2.0",method:"ui/notifications/tool-input",params:{arguments:J}});let et=$.content??[{type:"text",text:JSON.stringify($)}];re({jsonrpc:"2.0",method:"ui/notifications/tool-result",params:{content:et,structuredContent:$.structuredContent,_meta:Le,meta:Le}});return}if(Ce==="ui/notifications/size-changed"){clearTimeout(Q.current),K.current?.mark("firstSize"),K.current?.report("ok",w.current);let J=ie.params,$=typeof J?.height=="number"?J.height:void 0,z=typeof J?.width=="number"?J.width:void 0,q=x.current,ce=$!==void 0&&$!==q.height,fe=z!==void 0&&z!==q.width;if(!ce&&!fe)return;if(ce&&$!==void 0){if(q.height=$,Be.current)return;let Le=T($),et=b.getBoundingClientRect().height;if(C.current&&(C.current.cancel(),C.current=null),R(Le),b.animate&&Math.abs(et-Le)>2){let qe=b.animate([{height:`${et}px`},{height:`${Le}px`}],{duration:Kc,easing:"ease-out",fill:"forwards"});C.current=qe,qe.onfinish=()=>{C.current===qe&&(qe.cancel(),C.current=null)}}}fe&&i&&z!==void 0&&(q.width=z,te(z));return}if(Ce==="ui/open-link"&&ae!=null){let J=ie.params?.url;typeof J=="string"&&(O.current?O.current(J):window.open(J,"_blank","noopener,noreferrer")),re({jsonrpc:"2.0",id:ae,result:{}});return}if(Ce==="ui/message"&&ae!=null){if(U.current&&ie.params){let J=ie.params,$=Z;if(Z=null,de){clearTimeout(de.timer);let z=de.text;de=null;let q=(J.content??[]).map(ce=>ce.text??"").join("").trim();J={...J,content:[{type:"text",text:`${q}
|
|
3
3
|
|
|
4
|
-
${G}`}]}}O.current({...$,...N?{modelContext:N}:{}})}K({jsonrpc:"2.0",id:re,result:{}});return}if(Se==="ui/update-model-context"&&re!=null){ae=Vn(ae,me.params),K({jsonrpc:"2.0",id:re,result:{}});return}if(Se==="tools/call"&&re!=null){let $=q.current;if(!$){K({jsonrpc:"2.0",id:re,error:{code:-32601,message:"tools/call not supported"}});return}let N=me.params?.name;$({name:N,arguments:me.params?.arguments??{}}).then(G=>{K({jsonrpc:"2.0",id:re,result:G});let U=G.content?.map(ie=>ie.text??"").join("").trim();U&&zc(N,G,H.current)&&(de&&clearTimeout(de.timer),de={text:U,timer:setTimeout(()=>{if(D)return;let ie=ae;ae=null,de=null,O.current?.({role:"user",content:[{type:"text",text:U}],...ie?{modelContext:ie}:{}})},500)})}).catch(G=>{let U=G instanceof Error?G.message:"Tool call failed";K({jsonrpc:"2.0",id:re,error:{code:-32e3,message:U}})});return}if(Se==="ui/request-display-mode"&&re!=null){let $=me.params?.mode,N=$==="fullscreen"||$==="inline"||$==="pip"?$:"inline";S.current=N,K({jsonrpc:"2.0",id:re,result:{mode:N}}),K({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{displayMode:N}}),Q.current?.(N);return}if(Se==="ui/resource-teardown"&&re!=null){K({jsonrpc:"2.0",id:re,result:{}});return}Se==="ping"&&re!=null&&K({jsonrpc:"2.0",id:re,result:{}})};return window.addEventListener("message",J),()=>{D=!0,clearTimeout(he),de&&clearTimeout(de.timer),window.removeEventListener("message",J)}},[i,T]),jc("iframe",{ref:m,src:y,onLoad:()=>Z.current?.mark("iframeLoad"),sandbox:"allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox",className:k(!f&&"ww:rounded-md ww:border ww:border-border",s),style:{height:f?"100%":E,minWidth:f||!A?void 0:`min(${A}px, 100%)`,width:"100%",border:"none",colorScheme:n?"dark":"auto"},title:"MCP App"})}import{useCallback as $c,useEffect as fo,useState as Xc}from"react";import{jsx as po,jsxs as Qc}from"react/jsx-runtime";var vs=672,Ps=32;function Kc({widget:e,toolsEndpoint:t,resourceEndpoint:a,headers:r,onClose:o,isDark:n=!1}){let[s,i]=Xc(null);fo(()=>{let f=()=>i({width:window.innerWidth,height:window.innerHeight});return f(),window.addEventListener("resize",f),()=>window.removeEventListener("resize",f)},[]);let l=e?.preview===!0;fo(()=>{if(!e||!l)return;let f=p=>{p.key==="Escape"&&o()};return window.addEventListener("keydown",f),()=>window.removeEventListener("keydown",f)},[e,l,o]),fo(()=>{if(!e)return;let f=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=f}},[e]);let u=$c(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(vs,s.width-Ps):vs,c=s?s.height-Ps:void 0;return Qc("div",{role:"dialog","aria-modal":"true","aria-label":"Waniwani",className:k("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&&po("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"}),po("div",{className:"ww:relative ww:overflow-auto ww:rounded-2xl ww:bg-background ww:shadow-2xl",style:{width:d,maxHeight:c},children:po(na,{resourceUri:e.viewUri,resourceEndpoint:a,toolInput:e.data,toolResult:e.result,autoHeight:ta(e.result._meta),isDark:n,onCallTool:u,onOpenLink:f=>window.open(f,"_blank","noopener")},`${a}|${e.viewUri}`)})]})}import{forwardRef as vu,useCallback as ka,useEffect as rt,useImperativeHandle as Oh,useRef as wt,useState as _r}from"react";var sa=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((t,a)=>(a&=63,a<36?t+=a.toString(36):a<62?t+=(a-26).toString(36).toUpperCase():a>62?t+="-":t+="_",t),"");import{createContext as tf,useCallback as Me,useContext as af,useEffect as ia,useMemo as rf,useRef as ut,useState as ho}from"react";var St=new Map;function As(e,t){if(St.has(e)){URL.revokeObjectURL(t);return}for(St.set(e,t);St.size>20;){let a=St.keys().next();if(a.done)return;let r=St.get(a.value);St.delete(a.value),r&&URL.revokeObjectURL(r)}}function Rs(e){return St.get(e)}import{useState as Jc}from"react";import{jsx as ke,jsxs as mo}from"react/jsx-runtime";var Ms=({files:e,className:t,...a})=>e.length===0?null:ke("div",{className:k("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((r,o)=>ke(Yc,{file:r},o))});function Yc({file:e}){let{t}=z();return e.mediaType?.startsWith("image/")&&e.url?ke("img",{src:e.url,alt:e.filename??t.attachments.attachmentFallback,className:"ww:h-16 ww:max-w-32 ww:rounded ww:object-cover"}):mo("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:[ke(Ft,{className:"ww:size-3 ww:shrink-0"}),ke("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??t.attachments.fileFallback})]})}function Fs(e,t){return e.startsWith("image/")?t.attachments.kindImage:e==="application/pdf"?t.attachments.kindPdf:t.attachments.kindFile}function Zc({mediaType:e}){return e.startsWith("image/")?ke(Jt,{className:"ww:size-5 ww:text-muted-foreground"}):e==="application/pdf"?ke(Kt,{className:"ww:size-5 ww:text-muted-foreground"}):ke(Ft,{className:"ww:size-5 ww:text-muted-foreground"})}function go({filename:e,mediaType:t,previewUrl:a,subtitle:r,tone:o="default",children:n,className:s}){let{t:i}=z(),l=Fs(t,i);return mo("li",{"aria-label":`${e}, ${l}`,className:k("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:[ke("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?ke("img",{alt:"",className:"ww:size-full ww:object-cover ww:object-center",src:a}):ke(Zc,{mediaType:t})}),mo("span",{className:"ww:flex ww:min-w-0 ww:flex-col",children:[ke("span",{className:"ww:truncate ww:font-medium ww:text-sm",title:e,children:e}),ke("span",{className:k("ww:truncate ww:text-xs",o==="error"?"ww:text-destructive":"ww:text-muted-foreground"),children:r??l})]}),n]})}function Es(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 Ds=({documents:e,className:t,...a})=>e.length===0?null:ke("ul",{className:k("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)=>ke(ef,{document:r},`${r.documentId}-${o}`))});function ef({document:e}){let{t}=z(),[a,r]=Jc(!1),o=e.mediaType.startsWith("image/")?Rs(e.documentId):void 0;return o&&!a?ke("li",{children:ke("img",{alt:`${e.filename}, ${Fs(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})}):ke(go,{filename:e.filename,mediaType:e.mediaType})}import{jsx as Le,jsxs as $a}from"react/jsx-runtime";var of=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}},nf=(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)},_s=tf(null),ja=()=>{let e=af(_s);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},Os=({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:C}=z(),I=ut(null),x=ut(null),[L,h]=ho([]),w=ut(L),S=ut(new Map),E=ut(l),M=ut(d),A=ut(u);ia(()=>{E.current=l,M.current=d,A.current=u},[l,d,u]);let j=Me(b=>{w.current=b,h(b)},[]),F=Me(()=>{I.current?.click()},[]),O=Me((b,D)=>{j(w.current.map(_=>_.id===b?{..._,...D}:_))},[j]),q=Me((b,D)=>{let _=E.current;if(!_)return;let ae=new AbortController,de=_(D,ae.signal,he=>{O(b,{progress:he})}).then(he=>(O(b,{status:"ready",progress:1,documentId:he.documentId,error:void 0}),he)).catch(he=>{if(ae.signal.aborted)return null;let K=he instanceof Error?he.message:m.promptInput.uploadFailed;return O(b,{status:"failed",error:K}),M.current?.({code:"upload_failed",message:K}),null});S.current.set(b,{file:D,controller:ae,done:de})},[O,m]),Q=Me(b=>{let D=[...b];if(!i||D.length===0)return;let _=(V,me)=>M.current?.({code:V,message:me}),ae=[];for(let V of D){if(!nf(V,t)){_("accept",m.promptInput.errorAccept.replace("{name}",V.name));continue}if(n&&V.size>n){_("max_file_size",m.promptInput.errorTooLarge.replace("{name}",V.name).replace("{limit}",Us(n,C)));continue}ae.push(V)}if(ae.length===0)return;let de=typeof o=="number"?Math.max(0,o-w.current.length):void 0,he=typeof de=="number"?ae.slice(0,de):ae;if(he.length<ae.length&&_("max_files",m.promptInput.errorTooMany.replace("{limit}",String(o))),he.length===0)return;let K=!!E.current,J=he.map(V=>({file:V,item:{filename:V.name,id:sa(),mediaType:V.type,type:"file",url:URL.createObjectURL(V),status:K?"uploading":"ready",progress:0}}));j([...w.current,...J.map(V=>V.item)]);for(let V of J)q(V.item.id,V.file)},[o,n,t,i,q,j,m,C]),W=Me(b=>{let D=S.current.get(b);D&&(O(b,{status:"uploading",progress:0,error:void 0}),q(b,D.file))},[O,q]),H=Me((b,D)=>{S.current.get(b.id)?.controller.abort(),S.current.delete(b.id),b.url&&(!D&&!!b.documentId&&!!b.mediaType?.startsWith("image/")&&b.documentId?As(b.documentId,b.url):URL.revokeObjectURL(b.url)),D&&b.documentId&&A.current?.({documentId:b.documentId,filename:b.filename??"",mediaType:b.mediaType??""})},[]),T=Me(b=>{let D=w.current.find(_=>_.id===b);D&&H(D,!0),j(w.current.filter(_=>_.id!==b))},[H,j]),y=Me(()=>{for(let b of w.current)H(b,!0);j([])},[H,j]),v=ut(i);ia(()=>{let b=v.current;v.current=i,b&&!i&&y()},[i,y]);let Z=Me(()=>{for(let b of w.current)H(b,!1);j([])},[H,j]);ia(()=>()=>{for(let b of w.current)S.current.get(b.id)?.controller.abort(),b.url&&URL.revokeObjectURL(b.url)},[]);let ee=Me(b=>{b.currentTarget.files&&Q(b.currentTarget.files),b.currentTarget.value=""},[Q]);ia(()=>{if(!r)return;let b=_=>{_.dataTransfer?.types?.includes("Files")&&_.preventDefault()},D=_=>{_.dataTransfer?.types?.includes("Files")&&_.preventDefault(),_.dataTransfer?.files&&_.dataTransfer.files.length>0&&Q(_.dataTransfer.files)};return document.addEventListener("dragover",b),document.addEventListener("drop",D),()=>{document.removeEventListener("dragover",b),document.removeEventListener("drop",D)}},[Q,r]);let Fe=Me(async b=>{b.preventDefault();let D=b.currentTarget,_=new FormData(D).get("message")||"",ae=new Map;for(;ae.size<S.current.size;)await Promise.all([...S.current.entries()].filter(([J])=>!ae.has(J)).map(async([J,V])=>{ae.set(J,await V.done)}));for(let J of ae.keys())S.current.has(J)||ae.delete(J);if([...ae.values()].some(J=>J===null)){M.current?.({code:"upload_failed",message:m.promptInput.uploadFailed});return}let de=[...ae.values()].filter(J=>J!==null),he=E.current?[]:w.current,K=await Promise.all(he.map(async({id:J,status:V,progress:me,error:Se,...re})=>{if(re.url?.startsWith("blob:")){let $=await of(re.url);return{...re,url:$??re.url}}return re}));try{let J=c({documents:de,files:K,text:_},b);J instanceof Promise&&await J,D.reset(),Z()}catch{}},[c,Z,m]),Ne=rf(()=>({add:Q,clear:y,files:L,openFileDialog:F,remove:T,retry:W,maxFileSize:n,maxPdfPages:s}),[L,Q,T,W,y,F,n,s]);return $a(_s.Provider,{value:Ne,children:[Le("input",{accept:t,"aria-label":m.promptInput.uploadFiles,className:"ww:hidden",multiple:a,onChange:ee,ref:I,title:m.promptInput.uploadFiles,type:"file"}),Le("form",{className:k("ww:relative ww:flex ww:w-full ww:flex-col ww:rounded-lg ww:border ww:border-border ww:bg-background",e),onSubmit:Fe,ref:x,...p,children:f})]})},Bs=1024*1024;function Us(e,t){let a=e>=Bs;return new Intl.NumberFormat(t,{style:"unit",unit:a?"megabyte":"kilobyte",maximumFractionDigits:0}).format(a?e/Bs:Math.max(1,e/1024))}var Ns=({onChange:e,onKeyDown:t,className:a,placeholder:r,...o})=>{let{t:n}=z(),s=ja(),[i,l]=ho(!1),u=r??n.promptInput.placeholder,d=Me(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('[data-submit-blocked="true"]')||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=Me(f=>{let p=f.clipboardData?.items;if(!p)return;let m=[];for(let C of p)if(C.kind==="file"){let I=C.getAsFile();I&&m.push(I)}m.length>0&&(f.preventDefault(),s.add(m))},[s]);return Le("textarea",{className:k("ww:field-sizing-content ww:max-h-48 ww:min-h-0 ww:w-full ww:resize-none ww:border-0 ww:bg-transparent ww:px-3 ww:py-2 ww:text-base ww:sm:text-sm ww:outline-none ww:placeholder:text-muted-foreground",a),name:"message",onCompositionEnd:()=>l(!1),onCompositionStart:()=>l(!0),onKeyDown:d,onPaste:c,placeholder:u,onChange:e,...o})},Hs=({className:e,status:t,onStop:a,onClick:r,children:o,disabled:n,...s})=>{let{t:i}=z(),l=t==="submitted"||t==="streaming",u=l&&a!==void 0,d=Le(zt,{className:"ww:size-4"});t==="submitted"?d=Le(Yt,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(d=Le(Zt,{className:"ww:size-4"}));let c=Me(f=>{if(l&&a){f.preventDefault(),a();return}r?.(f)},[l,a,r]);return Le(Ke,{"aria-label":l?i.promptInput.stop:i.promptInput.submit,className:k("ww:bg-foreground ww:text-background ww:hover:bg-foreground ww:rounded-full",e),"data-submit-blocked":n?"true":void 0,disabled:u?!1:n,onClick:c,size:"icon-sm",type:u?"button":"submit",variant:"ghost",...s,children:o??d})},qs=({className:e,children:t,...a})=>{let{t:r,locale:o}=z(),n=ja();if(n.files.length>0)return $a(Ke,{className:k("ww:group ww:relative",e),onClick:()=>n.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":r.promptInput.removeAttachments,...a,children:[Le("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}),Le(lt,{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 Le(Ke,{"aria-label":i,className:k(e),title:i,onClick:()=>n.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??Le(Et,{className:"ww:size-4"})})},Ws=({className:e,...t})=>{let a=ja();return a.files.length===0?null:Le("ul",{className:k("ww:flex ww:list-none ww:flex-wrap ww:gap-2 ww:p-0",e),...t,children:a.files.map(r=>Le(sf,{file:r},r.id))})};function sf({file:e}){let{t}=z(),a=ja(),r=e.status==="failed",o=e.status==="uploading";return $a(go,{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?Le("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,Le("button",{"aria-label":t.promptInput.removeAttachment,className:k("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:Le(lt,{className:"ww:size-3.5"})}),o?Le("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 Gs=({enabled:e=!0})=>{let{t}=z(),[a,r]=ho(!1);return ia(()=>{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?Le("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:$a("span",{className:"ww:flex ww:items-center ww:gap-2 ww:text-sm ww:font-medium",children:[Le(Et,{className:"ww:size-4"}),t.promptInput.dropToAttach]})}):null};import{jsx as lf}from"react/jsx-runtime";function Vs({text:e}){let{t}=z();return e===!1?null:lf("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 uf,useCallback as df}from"react";import{jsx as _t}from"react/jsx-runtime";var zs=({className:e,...t})=>_t("div",{className:k("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),js=({className:e,...t})=>_t("li",{className:k("ww:group ww:flex ww:items-center ww:gap-2 ww:rounded-md ww:px-2 ww:py-1 ww:text-sm ww:transition-colors ww:hover:bg-muted",e),...t}),$s=({className:e,...t})=>_t("span",{className:k("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),Xs=({className:e,...t})=>_t("span",{className:k("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),Ks=({className:e,...t})=>_t("div",{className:k("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),Qs=({className:e,...t})=>_t(Ke,{className:k("ww:size-auto ww:rounded ww:p-1 ww:text-muted-foreground ww:hover:bg-muted-foreground/10 ww:hover:text-foreground",e),size:"icon",type:"button",variant:"ghost",...t});import{jsx as dt,jsxs as Zs}from"react/jsx-runtime";var Js=uf(({message:e,onRemove:t})=>{let{t:a}=z(),r=df(()=>t(e.id),[t,e.id]);return Zs(js,{children:[dt($s,{}),dt(Xs,{children:e.text||a.chatQueue.attachmentFallback}),dt(Ks,{children:dt(Qs,{"aria-label":a.chatQueue.removeFromQueue,onClick:r,children:dt(lt,{className:"ww:size-3"})})})]})});Js.displayName="ChatQueueItem";function Ys({queuedMessages:e,onRemove:t,className:a}){let{t:r}=z();return e.length===0?null:Zs(zs,{className:k("ww:border-t ww:border-border",a),children:[dt("div",{className:"ww:text-[11px] ww:font-medium ww:text-muted-foreground ww:px-2",children:r.chatQueue.queued(e.length)}),dt("ul",{children:e.map(o=>dt(Js,{message:o,onRemove:t},o.id))})]})}import{createContext as If,useCallback as Lf,useContext as Cf,useEffect as Sf,useMemo as yf,useState as Lo}from"react";import{createContext as cf,memo as Io,useCallback as ff,useContext as pf,useEffect as wo,useMemo as mf,useRef as ei,useState as xo}from"react";import{Fragment as wf,jsx as je,jsxs as xf}from"react/jsx-runtime";var ti=cf(null);function ai(){let e=pf(ti);if(!e)throw new Error("Reasoning components must be used within <Reasoning>");return e}var gf=1e3,hf=1e3,la=Io(({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]=xo(l),p=d?a:c,m=ff(M=>{d||f(M),o?.(M)},[d,o]),[C,I]=xo(void 0),x=n??C,L=ei(t),[h,w]=xo(!1),S=ei(null);wo(()=>{t?(L.current=!0,S.current===null&&(S.current=Date.now())):S.current!==null&&(I(Math.ceil((Date.now()-S.current)/hf)),S.current=null)},[t]),wo(()=>{t&&!p&&!u&&m(!0)},[t,p,u,m]),wo(()=>{if(L.current&&!t&&p&&!h){let M=setTimeout(()=>{m(!1),w(!0)},gf);return()=>clearTimeout(M)}},[t,p,h,m]);let E=mf(()=>({isStreaming:t,isOpen:p,setIsOpen:m,duration:x}),[t,p,m,x]);return je(ti.Provider,{value:E,children:je("div",{className:k("ww:mb-4 ww:flex ww:flex-col ww:gap-2",e),"data-state":p?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...i,children:s})})});la.displayName="Reasoning";var ua=Io(({className:e,children:t,getThinkingMessage:a,hideIcon:r=!1,onClick:o,...n})=>{let{t:s}=z(),{isStreaming:i,isOpen:l,duration:u,setIsOpen:d}=ai(),f=a??((p,m)=>p||m===0?je(Ve,{duration:1.6,children:s.reasoning.thinking}):m===void 0?je("span",{children:s.reasoning.thoughtBrief}):je("span",{children:s.reasoning.thoughtForSeconds(m)}));return je("button",{type:"button","aria-expanded":l,onClick:p=>{d(!l),o?.(p)},className:k("ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),...n,children:t??xf(wf,{children:[!r&&je(et,{className:"ww:size-4 ww:shrink-0"}),f(i,u)]})})});ua.displayName="ReasoningTrigger";var da=Io(({className:e,children:t,...a})=>{let{isOpen:r}=ai();return je("div",{className:k("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",r?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:je("div",{className:"ww:min-h-0 ww:overflow-hidden",children:je("div",{className:k("ww:text-sm ww:text-muted-foreground",e),...a,children:je(Gt,{children:t})})})})});da.displayName="ReasoningContent";import{jsx as le,jsxs as ct}from"react/jsx-runtime";var bf=500,ri=If(null);function oi(){let e=Cf(ri);if(!e)throw new Error("ChainOfThought components must be used within <ChainOfThought>");return e}function ni({className:e,isWorking:t=!1,activeStep:a,open:r,defaultOpen:o=!1,onOpenChange:n,children:s,...i}){let l=r!==void 0,[u,d]=Lo(o),c=l?r:u,f=Lf(I=>{l||d(I),n?.(I)},[l,n]),[p,m]=Lo(!t);Sf(()=>{if(t){m(!1);return}let I=setTimeout(()=>m(!0),bf);return()=>clearTimeout(I)},[t]);let C=yf(()=>({open:c,setOpen:f,isWorking:t,settled:p,activeStep:a}),[c,f,t,p,a]);return le(ri.Provider,{value:C,children:le("div",{className:k("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 si({className:e,label:t,workingLabel:a,children:r,...o}){let{open:n,setOpen:s,isWorking:i,settled:l,activeStep:u}=oi();if(!l){let d=u?.icon,c=u?.label??a??t??"";return le("div",{className:k("ww:flex ww:min-h-5 ww:w-full ww:items-center ww:gap-1.5 ww:text-sm ww:text-muted-foreground",e),children:ct("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&&le(d,{className:k("ww:size-4 ww:shrink-0",i&&"ww:animate-pulse")}),le("span",{className:"ww:truncate",children:i?le(Ve,{duration:2.6,children:c}):c})]},c)})}return ct("button",{type:"button",onClick:()=>s(!n),"aria-expanded":n,className:k("ww:flex ww:min-h-5 ww:w-full ww:items-center ww:gap-1.5 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),style:{animation:"ww-fade-in 0.25s ease-out"},...o,children:[le("span",{className:"ww:truncate",children:r??t}),le(it,{className:k("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",n&&"ww:rotate-180")})]})}function ii({className:e,children:t,...a}){let{open:r}=oi();return le("div",{className:k("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",r?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:le("div",{className:"ww:min-h-0 ww:overflow-hidden",children:le("div",{className:k("ww:flex ww:flex-col",e),...a,children:t})})})}function li({icon:e,isLast:t,running:a,error:r}){return ct("div",{className:"ww:flex ww:flex-col ww:items-center ww:self-stretch",children:[le("span",{className:"ww:flex ww:h-5 ww:items-center",children:le(e,{className:k("ww:size-4 ww:shrink-0",r?"ww:text-destructive":a?"ww:animate-pulse ww:text-foreground":"ww:text-muted-foreground")})}),!t&&le("span",{className:"ww:w-px ww:flex-1 ww:bg-border"})]})}function Co({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]=Lo(!1),f=a??"",p=i?le(Ve,{duration:1.6,children:f}):le("span",{className:"ww:truncate",children:f});return ct("div",{className:k("ww:flex ww:gap-2",e),...s,children:[le(li,{icon:t,isLast:o,running:i,error:l}),ct("div",{className:k("ww:min-w-0 ww:flex-1",!o&&"ww:pb-3"),children:[u?ct("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,le(it,{className:k("ww:size-3.5 ww:shrink-0 ww:transition-transform ww:duration-200",d&&"ww:rotate-180")})]}):le("div",{className:"ww:flex ww:items-center ww:text-sm ww:text-muted-foreground",children:p}),u&&le("div",{className:k("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:le("div",{className:"ww:min-h-0 ww:overflow-hidden",children:le("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 ui({isStreaming:e=!1,isLast:t=!1,children:a}){return ct("div",{className:"ww:flex ww:gap-2",children:[le(li,{icon:et,isLast:t,running:e}),le("div",{className:k("ww:min-w-0 ww:flex-1",!t&&"ww:pb-3"),children:ct(la,{isStreaming:e,className:"ww:mb-0",children:[le(ua,{hideIcon:!0}),le(da,{children:a})]})})]})}var ve={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 Je={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 _e={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 di(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 ci(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function fi(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 pi(e){return di(e)?"ambiguous":ci(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":fi(e)?"wide":"neutral"}function kf(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function mi(e){return kf(e),pi(e)}var Tf=Object.defineProperty,vf=(e,t,a)=>t in e?Tf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Pf=(e,t,a)=>vf(e,typeof t!="symbol"?t+"":t,a);function Af(e){return/^\p{Emoji_Presentation}/u.test(String.fromCodePoint(e))}function Rf(e){if(!e||e<4352)return!1;switch(mi(e)){case"fullwidth":case"halfwidth":return!0;case"wide":return!Af(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 Mf(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function Ff(e){return e!==null&&e>=65024&&e<=65038}var Ef=gi(/\p{P}|\p{S}/u),Df=gi(/\s/);function gi(e){return t;function t(a){return a!==null&&a>-1&&e.test(String.fromCodePoint(a))}}var Oe;(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})(Oe||(Oe={}));function ft(e){if(e===ve.eof||Gn(e)||Df(e))return Je.characterGroupWhitespace;let t=0;if(e>=4352){if(Ff(e))return Oe.nonEmojiGeneralUseVS;switch(Rf(e)){case null:return Oe.ivs;case!0:t|=Oe.cjk;break}}return Ef(e)&&(t|=Je.characterGroupPunctuation),t}function Xa(e,t,a){if(!_f(e))return e;let r=t(),o=ft(r);return!r||yt(o)?e:Mf(r,a)?Oe.cjkPunctuation:Bf(o)}function Bf(e){return e&~Oe.ivs}function yt(e){return!!(e&Je.characterGroupWhitespace)}function Ot(e){return(e&Oe.cjkPunctuation)===Je.characterGroupPunctuation}function ca(e){return!!(e&Oe.cjk)}function hi(e){return e===Oe.ivs}function wi(e){return!!(e&Oe.cjkOrIvs)}function _f(e){return e===Oe.nonEmojiGeneralUseVS}function So(e){return!!(e&Oe.spaceOrPunctuation)}function Ka(e){return!!(e&&e>=55296&&e<=56319)}function Qa(e){return!!(e&&e>=56320&&e<=57343)}function Ja(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 Of(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 Ya=class{constructor(e,t,a){this.previousCode=e,this.nowPoint=t,this.sliceSerialize=a,Pf(this,"cachedValue")}value(){return this.cachedValue===void 0&&(this.cachedValue=Of(this.previousCode,this.nowPoint,this.sliceSerialize)),this.cachedValue}};function Za(e,t,a){let r=a({start:t,end:{...t,_bufferIndex:t._bufferIndex+2}}).codePointAt(0);return r&&r>=65536?r:e}var yo={name:"attention",resolveAll:Uf,tokenize:Nf};function Uf(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};xi(c,-l),xi(f,l),s={type:l>1?_e.strongSequence:_e.emphasisSequence,start:c,end:{...e[r][1].end}},i={type:l>1?_e.strongSequence:_e.emphasisSequence,start:{...e[a][1].start},end:f},n={type:l>1?_e.strongText:_e.emphasisText,start:{...e[r][1].end},end:{...e[a][1].start}},o={type:l>1?_e.strong:_e.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=At(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=At(u,[["enter",o,t],["enter",s,t],["exit",s,t],["enter",n,t]]),t.parser.constructs.insideSpan.null,u=At(u,_a(t.parser.constructs.insideSpan.null,e.slice(r+1,a),t)),u=At(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=At(u,[["enter",e[a][1],t],["exit",e[a][1],t]])):d=0,Pt(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 Nf(e,t){let a=this.parser.constructs.attentionMarkers.null,{now:r,sliceSerialize:o,previous:n}=this,s=Qa(n)?Ja(n,r(),o):n,i=ft(s),l=new Ya(s,r(),o),u=Xa(i,l.value.bind(l),s),d;return c;function c(p){return p===ve.asterisk||ve.underscore,d=p,e.enter("attentionSequence"),f(p)}function f(p){if(p===d)return e.consume(p),f;let m=e.exit("attentionSequence"),C=Ka(p)?Za(p,r(),o):p,I=ft(C);let x=Ot(u),L=x||yt(u),h=Ot(I),w=h||yt(I),S=wi(u),E=!w||h&&(L||S)||a.includes(p),M=!L||x&&(w||ca(I))||a.includes(s);return m._open=!!(d===ve.asterisk?E:E&&(So(u)||!M)),m._close=!!(d===ve.asterisk?M:M&&(So(I)||!E)),t(p)}}function xi(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function Ii(){return{text:{[ve.asterisk]:yo,[ve.underscore]:yo},insideSpan:{null:[yo]}}}function Li(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(Ii())}function Ci(e){let a=(e||{}).singleTilde,r={name:"strikethrough",tokenize:n,resolveAll:o};return a==null&&(a=!0),{text:{[ve.tilde]:r},insideSpan:{null:[r]},attentionMarkers:{null:[ve.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&&Pt(f,f.length,0,_a(p,s.slice(u+1,l),i)),Pt(f,f.length,0,[["exit",c,i],["enter",s[l][1],i],["exit",s[l][1],i],["exit",d,i]]),Pt(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=_e.data);return s}function n(s,i,l){let{now:u,sliceSerialize:d,previous:c}=this,f=Qa(c)?Ja(c,u(),d):c,p=ft(f),m=new Ya(f,u(),d),C=Xa(p,m.value.bind(m),f),I=this.events,x=0;return L;function L(w){return ve.tilde,f===ve.tilde&&I[I.length-1][1].type!==_e.characterEscape?l(w):(s.enter("strikethroughSequenceTemporary"),h(w))}function h(w){let S=ft(f);if(w===ve.tilde)return x>1?l(w):(s.consume(w),x++,h);if(x<2&&!a)return l(w);let E=s.exit("strikethroughSequenceTemporary"),M=Ka(w)?Za(w,u(),d):w,A=ft(M),F=Ot(C)||yt(C),q=Ot(A)||yt(A),Q=ca(C)||hi(S);return E._open=!q||A===Je.attentionSideAfter&&(F||Q),E._close=!F||S===Je.attentionSideAfter&&(q||ca(A)),i(w)}}}function Si(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(Ci(e))}var Hf=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),qf=/^(https?:\/\/|mailto:|www\.)/i,Wf=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},Gf=e=>{let t=0;for(let a of e){if(Hf.has(a))return t;t+=a.length}return null},Vf=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),zf=e=>({type:"text",value:e}),jf=()=>e=>{_n(e,"link",(t,a,r)=>{if(!r||typeof a!="number"||!Wf(t)||!qf.test(t.url))return;let o=Gf(t.url);if(o===null||o===0)return;let n=t.url.slice(0,o),s=t.url.slice(o),i=Vf(n,t),l=zf(s);return r.children.splice(a,1,i,l),a+1})};function $f(){let e=[Li],t=[jf,Si],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var bo=$f();var ce=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Xf(e){return Do(e)}function Do(e){return Array.isArray(e)?Kf(e):e instanceof RegExp?e:typeof e=="object"?Qf(e):e}function Kf(e){let t=[];for(let a=0,r=e.length;a<r;a++)t[a]=Do(e[a]);return t}function Qf(e){let t={};for(let a in e)t[a]=Do(e[a]);return t}function Mi(e,...t){return t.forEach(a=>{for(let r in a)e[r]=a[r]}),e}function Fi(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?Fi(e.substring(0,e.length-1)):e.substr(~t+1)}var ko=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,er=class{static hasCaptures(e){return e===null?!1:(ko.lastIndex=0,ko.test(e))}static replaceCaptures(e,t,a){return e.replace(ko,(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 Ei(e,t){return e<t?-1:e>t?1:0}function Di(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=Ei(e[o],t[o]);if(n!==0)return n}return 0}return a-r}function yi(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 Bi(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var _i=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}},ma=class{constructor(e,t,a){this._colorMap=e,this._defaults=t,this._root=a}static createFromRawTheme(e,t){return this.createFromParsedTheme(Zf(e),t)}static createFromParsedTheme(e,t){return tp(e,t)}_cachedMatchRoot=new _i(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=>Jf(e.parent,o.parentScopes));return r?new Oi(r.fontStyle,r.foreground,r.background):null}},To=class tr{constructor(t,a){this.parent=t,this.scopeName=a}static push(t,a){for(let r of a)t=new tr(t,r);return t}static from(...t){let a=null;for(let r=0;r<t.length;r++)a=new tr(a,t[r]);return a}push(t){return new tr(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 Jf(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&&!Yf(e.scopeName,r);){if(o)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function Yf(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var Oi=class{constructor(e,t,a){this.fontStyle=e,this.foregroundId=t,this.backgroundId=a}};function Zf(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"&&yi(s.settings.foreground)&&(u=s.settings.foreground);let d=null;typeof s.settings.background=="string"&&yi(s.settings.background)&&(d=s.settings.background);for(let c=0,f=i.length;c<f;c++){let m=i[c].trim().split(" "),C=m[m.length-1],I=null;m.length>1&&(I=m.slice(0,m.length-1),I.reverse()),a[r++]=new ep(C,I,o,l,u,d)}}return a}var ep=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}},Pe=(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))(Pe||{});function tp(e,t){e.sort((l,u)=>{let d=Ei(l.scope,u.scope);return d!==0||(d=Di(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 ap(t),s=new Oi(a,n.getId(r),n.getId(o)),i=new op(new Po(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 ma(n,s,i)}var ap=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)}},rp=Object.freeze([]),Po=class Ui{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,r,o,n){this.scopeDepth=t,this.parentScopes=a||rp,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)}},op=class Ao{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(Ao._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 Ao(this._mainRule.clone(),Po.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(Di(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 Po(t,a,r,o,n))}},kt=class qe{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){let a=qe.getLanguageId(t),r=qe.getTokenType(t),o=qe.getFontStyle(t),n=qe.getForeground(t),s=qe.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=qe.getLanguageId(t),u=qe.getTokenType(t),d=qe.containsBalancedBrackets(t)?1:0,c=qe.getFontStyle(t),f=qe.getForeground(t),p=qe.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 rr(e,t){let a=[],r=np(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(bi(o)){let l=[];do l.push(o),o=r.next();while(bi(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 bi(e){return!!e&&!!e.match(/[\w\.:]+/)}function np(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 Ni(e){typeof e.dispose=="function"&&e.dispose()}var ga=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},sp=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},ip=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))}},lp=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new ga(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new ip;for(let a of e)up(a,this.initialScopeName,this.repo,t);for(let a of t.references)if(a instanceof ga){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 up(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 ga?ar({baseGrammar:n,selfGrammar:o},r):Ro(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 ga(i))}function Ro(e,t,a){if(t.repository&&t.repository[e]){let r=t.repository[e];or([r],t,a)}}function ar(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&or(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&or(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function or(e,t,a){for(let r of e){if(a.visitedRule.has(r))continue;a.visitedRule.add(r);let o=r.repository?Mi({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&or(r.patterns,{...t,repository:o},a);let n=r.include;if(!n)continue;let s=Hi(n);switch(s.kind){case 0:ar({...t,selfGrammar:t.baseGrammar},a);break;case 1:ar(t,a);break;case 2:Ro(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?Ro(s.ruleName,l,a):ar(l,a)}else s.kind===4?a.add(new sp(s.scopeName,s.ruleName)):a.add(new ga(s.scopeName));break}}}var dp=class{kind=0},cp=class{kind=1},fp=class{constructor(e){this.ruleName=e}kind=2},pp=class{constructor(e){this.scopeName=e}kind=3},mp=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function Hi(e){if(e==="$base")return new dp;if(e==="$self")return new cp;let t=e.indexOf("#");if(t===-1)return new pp(e);if(t===0)return new fp(e.substring(1));{let a=e.substring(0,t),r=e.substring(t+1);return new mp(a,r)}}var gp=/\\(\d+)/,ki=/\\(\d+)/g;var hp=-1,qi=-2;var xa=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,a,r){this.$location=e,this.id=t,this._name=a||null,this._nameIsCapturing=er.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=er.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${Fi(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:er.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:er.replaceCaptures(this._contentName,e,t)}},wp=class extends xa{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!")}},xp=class extends xa{_match;captures;_cachedCompiledPatterns;constructor(e,t,a,r,o){super(e,t,a,null),this._match=new ha(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 wa,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Ti=class extends xa{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 wa,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Mo=class extends xa{_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 ha(o,this.id),this.beginCaptures=n,this._end=new ha(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 wa;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}},nr=class extends xa{_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 ha(o,this.id),this.beginCaptures=n,this.whileCaptures=i,this._while=new ha(s,qi),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 wa;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 wa,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},Wi=class Ae{static createCaptureRule(t,a,r,o,n){return t.registerRule(s=>new wp(a,s,r,o,n))}static getCompiledRuleId(t,a,r){return t.id||a.registerRule(o=>{if(t.id=o,t.match)return new xp(t.$vscodeTextmateLocation,t.id,t.name,t.match,Ae._compileCaptures(t.captures,a,r));if(typeof t.begin>"u"){t.repository&&(r=Mi({},r,t.repository));let n=t.patterns;return typeof n>"u"&&t.include&&(n=[{include:t.include}]),new Ti(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,Ae._compilePatterns(n,a,r))}return t.while?new nr(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,Ae._compileCaptures(t.beginCaptures||t.captures,a,r),t.while,Ae._compileCaptures(t.whileCaptures||t.captures,a,r),Ae._compilePatterns(t.patterns,a,r)):new Mo(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,Ae._compileCaptures(t.beginCaptures||t.captures,a,r),t.end,Ae._compileCaptures(t.endCaptures||t.captures,a,r),t.applyEndPatternLast,Ae._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=Ae.getCompiledRuleId(t[s],a,r)),o[i]=Ae.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=Hi(i.include);switch(u.kind){case 0:case 1:l=Ae.getCompiledRuleId(r[i.include],a,r);break;case 2:let d=r[u.ruleName];d&&(l=Ae.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=Ae.getCompiledRuleId(m,a,p.repository))}else l=Ae.getCompiledRuleId(p.repository.$self,a,p.repository);break}}else l=Ae.getCompiledRuleId(i,a,r);if(l!==-1){let u=a.getRule(l),d=!1;if((u instanceof Ti||u instanceof Mo||u instanceof nr)&&u.hasMissingPatterns&&u.patterns.length===0&&(d=!0),d)continue;o.push(l)}}return{patterns:o,hasMissingPatterns:(t?t.length:0)!==o.length}}},ha=class Gi{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=gp.test(this.source):this.hasBackReferences=!1}clone(){return new Gi(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 ki.lastIndex=0,this.source.replace(ki,(o,n)=>Bi(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}},wa=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 vi(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 vi(e,r,this._items.map(o=>o.ruleId))}},vi=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}},
|
|
6
|
-
`;let n=this.createOnigString(e),s=n.content.length,i=new Mp(a,e,this._tokenTypeMatchers,this.balancedBracketSelectors),l=zi(this,n,o,0,t,i,!0,r);return Ni(n),{lineLength:s,lineTokens:i,ruleStack:l.stack,stoppedEarly:l.stoppedEarly}}};function Ri(e,t){return e=Xf(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 pa=class Ye{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=To.push(o,n.scopeNames),r=new Ye(r,o,n.encodedTokenAttributes);return r}static createRoot(t,a){return new Ye(null,new To(null,t),a)}static createRootAndLookUpScopeName(t,a,r){let o=r.getMetadataForScope(t),n=new To(null,t),s=r.themeProvider.themeMatch(n),i=Ye.mergeAttributes(a,o,s);return new Ye(null,n,i)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return Ye.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),kt.set(t,a.languageId,a.tokenType,null,o,n,s)}pushAttributed(t,a){if(t===null)return this;if(t.indexOf(" ")===-1)return Ye._pushAttributed(this,t,a);let r=t.split(/ /g),o=this;for(let n of r)o=Ye._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=Ye.mergeAttributes(t.tokenAttributes,o,s);return new Ye(t,n,i)}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(t){let a=[],r=this;for(;r&&r!==t;)a.push({encodedTokenAttributes:r.tokenAttributes,scopeNames:r.scopePath.getExtensionIfDefined(r.parent?.scopePath??null)}),r=r.parent;return r===t?a.reverse():void 0}},Eo=class bt{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 bt(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:bt._equals(this,t)}static _equals(t,a){return t===a?!0:this._structuralEquals(t,a)?pa.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(){bt._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,a,r,o,n,s,i){return new bt(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 bt(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=pa.fromExtension(t?.nameScopesList??null,a.nameScopesList);return new bt(t,a.ruleId,a.enterPos??-1,a.anchorPos??-1,a.beginRuleCapturedEOL,a.endRule,r,pa.fromExtension(r,a.contentNameScopesList))}},Rp=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(a=>a==="*"?(this.allowAny=!0,[]):rr(a,sr).map(r=>r.matcher)),this.unbalancedBracketScopes=t.flatMap(a=>rr(a,sr).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}},Mp=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=kt.set(r,0,s.type,null,-1,0,0));this.balancedBracketSelectors&&(o=this.balancedBracketSelectors.match(n))}if(o&&(r=kt.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}},Fp=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,vp(e,n,t,a,r,o,this,this._onigLib))}return this._grammars.get(e)}},Xi=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new Fp(ma.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(ma.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 Rp(a.balancedBracketSelectors||[],a.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,a,r,o){let n=new lp(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)}},ir=Eo.NULL;var Ep=/["&'<>`]/g,Dp=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Bp=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,_p=/[|\\{}()[\]^$+*?.]/g,Ki=new WeakMap;function Qi(e,t){if(e=e.replace(t.subset?Op(t.subset):Ep,r),t.subset||t.escapeOnly)return e;return e.replace(Dp,a).replace(Bp,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 Op(e){let t=Ki.get(e);return t||(t=Up(e),Ki.set(e,t)),t}function Up(e){let t=[],a=-1;for(;++a<e.length;)t.push(e[a].replace(_p,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}var Np=/[\dA-Fa-f]/;function Ji(e,t,a){let r="&#x"+e.toString(16).toUpperCase();return a&&t&&!Np.test(String.fromCharCode(t))?r:r+";"}var Hp=/\d/;function Yi(e,t,a){let r="&#"+String(e);return a&&t&&!Hp.test(String.fromCharCode(t))?r:r+";"}var Zi=["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 lr={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 el=["cent","copy","divide","gt","lt","not","para","times"];var tl={}.hasOwnProperty,Bo={},ur;for(ur in lr)tl.call(lr,ur)&&(Bo[lr[ur]]=ur);var qp=/[^\dA-Za-z]/;function al(e,t,a,r){let o=String.fromCharCode(e);if(tl.call(Bo,o)){let n=Bo[o],s="&"+n;return a&&Zi.includes(n)&&!el.includes(n)&&(!r||t&&t!==61&&qp.test(String.fromCharCode(t)))?s:s+";"}return""}function rl(e,t,a){let r=Ji(e,t,a.omitOptionalSemicolons),o;if((a.useNamedReferences||a.useShortestReferences)&&(o=al(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 at(e,t){return Qi(e,Object.assign({format:rl},t))}var Wp=/^>|^->|<!--|-->|--!>|<!-$/g,Gp=[">"],Vp=["<",">"];function ol(e,t,a,r){return r.settings.bogusComments?"<?"+at(e.value,Object.assign({},r.settings.characterReferences,{subset:Gp}))+">":"<!--"+e.value.replace(Wp,o)+"-->";function o(n){return at(n,Object.assign({},r.settings.characterReferences,{subset:Vp}))}}function nl(e,t,a,r){return"<!"+(r.settings.upperDoctype?"DOCTYPE":"doctype")+(r.settings.tightDoctype?"":" ")+"html>"}var xe=sl(1),_o=sl(-1),zp=[];function sl(e){return t;function t(a,r,o){let n=a?a.children:zp,s=(r||0)+e,i=n[s];if(!o)for(;i&&Rt(i);)s+=e,i=n[s];return i}}var jp={}.hasOwnProperty;function dr(e){return t;function t(a,r,o){return jp.call(e,a.tagName)&&e[a.tagName](a,r,o)}}var Ia=dr({body:Xp,caption:Oo,colgroup:Oo,dd:Yp,dt:Jp,head:Oo,html:$p,li:Qp,optgroup:Zp,option:em,p:Kp,rp:il,rt:il,tbody:am,td:ll,tfoot:rm,th:ll,thead:tm,tr:om});function Oo(e,t,a){let r=xe(a,t,!0);return!r||r.type!=="comment"&&!(r.type==="text"&&Rt(r.value.charAt(0)))}function $p(e,t,a){let r=xe(a,t);return!r||r.type!=="comment"}function Xp(e,t,a){let r=xe(a,t);return!r||r.type!=="comment"}function Kp(e,t,a){let r=xe(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 Qp(e,t,a){let r=xe(a,t);return!r||r.type==="element"&&r.tagName==="li"}function Jp(e,t,a){let r=xe(a,t);return!!(r&&r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd"))}function Yp(e,t,a){let r=xe(a,t);return!r||r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd")}function il(e,t,a){let r=xe(a,t);return!r||r.type==="element"&&(r.tagName==="rp"||r.tagName==="rt")}function Zp(e,t,a){let r=xe(a,t);return!r||r.type==="element"&&r.tagName==="optgroup"}function em(e,t,a){let r=xe(a,t);return!r||r.type==="element"&&(r.tagName==="option"||r.tagName==="optgroup")}function tm(e,t,a){let r=xe(a,t);return!!(r&&r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot"))}function am(e,t,a){let r=xe(a,t);return!r||r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot")}function rm(e,t,a){return!xe(a,t)}function om(e,t,a){let r=xe(a,t);return!r||r.type==="element"&&r.tagName==="tr"}function ll(e,t,a){let r=xe(a,t);return!r||r.type==="element"&&(r.tagName==="td"||r.tagName==="th")}var ul=dr({body:im,colgroup:lm,head:sm,html:nm,tbody:um});function nm(e){let t=xe(e,-1);return!t||t.type!=="comment"}function sm(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 im(e){let t=xe(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&Rt(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function lm(e,t,a){let r=_o(a,t),o=xe(e,-1,!0);return a&&r&&r.type==="element"&&r.tagName==="colgroup"&&Ia(r,a.children.indexOf(r),a)?!1:!!(o&&o.type==="element"&&o.tagName==="col")}function um(e,t,a){let r=_o(a,t),o=xe(e,-1);return a&&r&&r.type==="element"&&(r.tagName==="thead"||r.tagName==="tbody")&&Ia(r,a.children.indexOf(r),a)?!1:!!(o&&o.type==="element"&&o.tagName==="tr")}var cr={name:[[`
|
|
4
|
+
${z}`}]}}U.current({...J,...$?{modelContext:$}:{}})}re({jsonrpc:"2.0",id:ae,result:{}});return}if(Ce==="ui/update-model-context"&&ae!=null){Z=Kn(Z,ie.params),re({jsonrpc:"2.0",id:ae,result:{}});return}if(Ce==="tools/call"&&ae!=null){let J=F.current;if(!J){re({jsonrpc:"2.0",id:ae,error:{code:-32601,message:"tools/call not supported"}});return}let $=ie.params?.name;J({name:$,arguments:ie.params?.arguments??{}}).then(z=>{re({jsonrpc:"2.0",id:ae,result:z});let q=z.content?.map(ce=>ce.text??"").join("").trim();q&&ef($,z,W.current)&&(de&&clearTimeout(de.timer),de={text:q,timer:setTimeout(()=>{if(E)return;let ce=Z;Z=null,de=null,U.current?.({role:"user",content:[{type:"text",text:q}],...ce?{modelContext:ce}:{}})},500)})}).catch(z=>{let q=z instanceof Error?z.message:"Tool call failed";re({jsonrpc:"2.0",id:ae,error:{code:-32e3,message:q}})});return}if(Ce==="ui/request-display-mode"&&ae!=null){let J=ie.params?.mode,$=J==="fullscreen"||J==="inline"||J==="pip"?J:"inline";y.current=$,re({jsonrpc:"2.0",id:ae,result:{mode:$}}),re({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{displayMode:$}}),G.current?.($);return}if(Ce==="ui/resource-teardown"&&ae!=null){re({jsonrpc:"2.0",id:ae,result:{}});return}Ce==="ping"&&ae!=null&&re({jsonrpc:"2.0",id:ae,result:{}})};return window.addEventListener("message",ee),()=>{E=!0,clearTimeout(ge),de&&clearTimeout(de.timer),window.removeEventListener("message",ee)}},[i,T]),tf("iframe",{ref:m,src:S,onLoad:()=>K.current?.mark("iframeLoad"),sandbox:"allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox",className:k(!f&&"ww:rounded-md ww:border ww:border-border",s),style:{height:f?"100%":M,minWidth:f||!_?void 0:`min(${_}px, 100%)`,width:"100%",border:"none",colorScheme:n?"dark":"auto"},title:"MCP App"})}import{useCallback as af,useEffect as wo,useState as rf}from"react";import{jsx as xo,jsxs as nf}from"react/jsx-runtime";var Fs=672,Es=32;function of({widget:e,onCallTool:t,toolsEndpoint:a,headers:r,resourceEndpoint:o,onClose:n,isDark:s=!1}){let[i,l]=rf(null);wo(()=>{let p=()=>l({width:window.innerWidth,height:window.innerHeight});return p(),window.addEventListener("resize",p),()=>window.removeEventListener("resize",p)},[]);let u=e?.preview===!0;wo(()=>{if(!e||!u)return;let p=m=>{m.key==="Escape"&&n()};return window.addEventListener("keydown",p),()=>window.removeEventListener("keydown",p)},[e,u,n]),wo(()=>{if(!e)return;let p=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=p}},[e]);let c=af(async p=>{if(t)return t(p);if(!a)throw new Error("webmcp overlay needs onCallTool");let m=await fetch(a,{method:"POST",headers:{"content-type":"application/json",...r},body:JSON.stringify({action:"call",...p})});if(!m.ok)throw new Error(`webmcp tool call failed: ${m.status}`);return await m.json()},[t,a,r]);if(!e)return null;let d=i?Math.min(Fs,i.width-Es):Fs,f=i?i.height-Es:void 0;return nf("div",{role:"dialog","aria-modal":"true","aria-label":"Waniwani",className:k("ww:fixed ww:inset-0 ww:z-[2147483000] ww:flex ww:items-center ww:justify-center ww:bg-black/45 ww:backdrop-blur-md",s&&"dark"),children:[u&&xo("button",{type:"button","aria-label":"Close",onClick:n,className:"ww:absolute ww:inset-0 ww:h-full ww:w-full ww:cursor-pointer ww:border-none ww:bg-transparent ww:p-0"}),xo("div",{className:"ww:relative ww:overflow-auto ww:rounded-2xl ww:bg-background ww:shadow-2xl",style:{width:d,maxHeight:f},children:xo(la,{resourceUri:e.viewUri,resourceEndpoint:o,toolInput:e.data,toolResult:e.result,autoHeight:oa(e.result._meta),isDark:s,onCallTool:c,onOpenLink:p=>window.open(p,"_blank","noopener")},`${o}|${e.viewUri}`)})]})}import{forwardRef as Fu,useCallback as Pa,useEffect as ot,useImperativeHandle as jh,useRef as xt,useState as Ur}from"react";var ua=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((t,a)=>(a&=63,a<36?t+=a.toString(36):a<62?t+=(a-26).toString(36).toUpperCase():a>62?t+="-":t+="_",t),"");import{createContext as cf,useCallback as Fe,useContext as ff,useEffect as da,useMemo as pf,useRef as dt,useState as Co}from"react";var St=new Map;function Ds(e,t){if(St.has(e)){URL.revokeObjectURL(t);return}for(St.set(e,t);St.size>20;){let a=St.keys().next();if(a.done)return;let r=St.get(a.value);St.delete(a.value),r&&URL.revokeObjectURL(r)}}function Bs(e){return St.get(e)}import{useState as sf}from"react";import{jsx as Te,jsxs as Io}from"react/jsx-runtime";var _s=({files:e,className:t,...a})=>e.length===0?null:Te("div",{className:k("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((r,o)=>Te(lf,{file:r},o))});function lf({file:e}){let{t}=V();return e.mediaType?.startsWith("image/")&&e.url?Te("img",{src:e.url,alt:e.filename??t.attachments.attachmentFallback,className:"ww:h-16 ww:max-w-32 ww:rounded ww:object-cover"}):Io("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:[Te(Et,{className:"ww:size-3 ww:shrink-0"}),Te("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??t.attachments.fileFallback})]})}function Os(e,t){return e.startsWith("image/")?t.attachments.kindImage:e==="application/pdf"?t.attachments.kindPdf:t.attachments.kindFile}function uf({mediaType:e}){return e.startsWith("image/")?Te(ea,{className:"ww:size-5 ww:text-muted-foreground"}):e==="application/pdf"?Te(Yt,{className:"ww:size-5 ww:text-muted-foreground"}):Te(Et,{className:"ww:size-5 ww:text-muted-foreground"})}function Lo({filename:e,mediaType:t,previewUrl:a,subtitle:r,tone:o="default",children:n,className:s}){let{t:i}=V(),l=Os(t,i);return Io("li",{"aria-label":`${e}, ${l}`,className:k("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:[Te("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?Te("img",{alt:"",className:"ww:size-full ww:object-cover ww:object-center",src:a}):Te(uf,{mediaType:t})}),Io("span",{className:"ww:flex ww:min-w-0 ww:flex-col",children:[Te("span",{className:"ww:truncate ww:font-medium ww:text-sm",title:e,children:e}),Te("span",{className:k("ww:truncate ww:text-xs",o==="error"?"ww:text-destructive":"ww:text-muted-foreground"),children:r??l})]}),n]})}function Us(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:Te("ul",{className:k("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)=>Te(df,{document:r},`${r.documentId}-${o}`))});function df({document:e}){let{t}=V(),[a,r]=sf(!1),o=e.mediaType.startsWith("image/")?Bs(e.documentId):void 0;return o&&!a?Te("li",{children:Te("img",{alt:`${e.filename}, ${Os(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})}):Te(Lo,{filename:e.filename,mediaType:e.mediaType})}import{jsx as ye,jsxs as Ka}from"react/jsx-runtime";var mf=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}},gf=(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)},qs=cf(null),Xa=()=>{let e=ff(qs);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},Ws=({className:e,accept:t,multiple:a,globalDrop:r,maxFiles:o,maxFileSize:n,maxPdfPages:s,attachmentsEnabled:i=!0,upload:l,onDiscard:u,onError:c,onSubmit:d,children:f,...p})=>{let{t:m,locale:L}=V(),I=dt(null),x=dt(null),[C,h]=Co([]),w=dt(C),y=dt(new Map),M=dt(l),R=dt(c),_=dt(u);da(()=>{M.current=l,R.current=c,_.current=u},[l,c,u]);let te=Fe(b=>{w.current=b,h(b)},[]),O=Fe(()=>{I.current?.click()},[]),U=Fe((b,E)=>{te(w.current.map(N=>N.id===b?{...N,...E}:N))},[te]),F=Fe((b,E)=>{let N=M.current;if(!N)return;let Z=new AbortController,de=N(E,Z.signal,ge=>{U(b,{progress:ge})}).then(ge=>(U(b,{status:"ready",progress:1,documentId:ge.documentId,error:void 0}),ge)).catch(ge=>{if(Z.signal.aborted)return null;let re=ge instanceof Error?ge.message:m.promptInput.uploadFailed;return U(b,{status:"failed",error:re}),R.current?.({code:"upload_failed",message:re}),null});y.current.set(b,{file:E,controller:Z,done:de})},[U,m]),G=Fe(b=>{let E=[...b];if(!i||E.length===0)return;let N=(H,ie)=>R.current?.({code:H,message:ie}),Z=[];for(let H of E){if(!gf(H,t)){N("accept",m.promptInput.errorAccept.replace("{name}",H.name));continue}if(n&&H.size>n){N("max_file_size",m.promptInput.errorTooLarge.replace("{name}",H.name).replace("{limit}",Gs(n,L)));continue}Z.push(H)}if(Z.length===0)return;let de=typeof o=="number"?Math.max(0,o-w.current.length):void 0,ge=typeof de=="number"?Z.slice(0,de):Z;if(ge.length<Z.length&&N("max_files",m.promptInput.errorTooMany.replace("{limit}",String(o))),ge.length===0)return;let re=!!M.current,ee=ge.map(H=>({file:H,item:{filename:H.name,id:ua(),mediaType:H.type,type:"file",url:URL.createObjectURL(H),status:re?"uploading":"ready",progress:0}}));te([...w.current,...ee.map(H=>H.item)]);for(let H of ee)F(H.item.id,H.file)},[o,n,t,i,F,te,m,L]),D=Fe(b=>{let E=y.current.get(b);E&&(U(b,{status:"uploading",progress:0,error:void 0}),F(b,E.file))},[U,F]),W=Fe((b,E)=>{y.current.get(b.id)?.controller.abort(),y.current.delete(b.id),b.url&&(!E&&!!b.documentId&&!!b.mediaType?.startsWith("image/")&&b.documentId?Ds(b.documentId,b.url):URL.revokeObjectURL(b.url)),E&&b.documentId&&_.current?.({documentId:b.documentId,filename:b.filename??"",mediaType:b.mediaType??""})},[]),T=Fe(b=>{let E=w.current.find(N=>N.id===b);E&&W(E,!0),te(w.current.filter(N=>N.id!==b))},[W,te]),S=Fe(()=>{for(let b of w.current)W(b,!0);te([])},[W,te]),v=dt(i);da(()=>{let b=v.current;v.current=i,b&&!i&&S()},[i,S]);let K=Fe(()=>{for(let b of w.current)W(b,!1);te([])},[W,te]);da(()=>()=>{for(let b of w.current)y.current.get(b.id)?.controller.abort(),b.url&&URL.revokeObjectURL(b.url)},[]);let Q=Fe(b=>{b.currentTarget.files&&G(b.currentTarget.files),b.currentTarget.value=""},[G]);da(()=>{if(!r)return;let b=N=>{N.dataTransfer?.types?.includes("Files")&&N.preventDefault()},E=N=>{N.dataTransfer?.types?.includes("Files")&&N.preventDefault(),N.dataTransfer?.files&&N.dataTransfer.files.length>0&&G(N.dataTransfer.files)};return document.addEventListener("dragover",b),document.addEventListener("drop",E),()=>{document.removeEventListener("dragover",b),document.removeEventListener("drop",E)}},[G,r]);let Ee=Fe(async b=>{b.preventDefault();let E=b.currentTarget,N=new FormData(E).get("message")||"",Z=new Map;for(;Z.size<y.current.size;)await Promise.all([...y.current.entries()].filter(([ee])=>!Z.has(ee)).map(async([ee,H])=>{Z.set(ee,await H.done)}));for(let ee of Z.keys())y.current.has(ee)||Z.delete(ee);if([...Z.values()].some(ee=>ee===null)){R.current?.({code:"upload_failed",message:m.promptInput.uploadFailed});return}let de=[...Z.values()].filter(ee=>ee!==null),ge=M.current?[]:w.current,re=await Promise.all(ge.map(async({id:ee,status:H,progress:ie,error:Ce,...ae})=>{if(ae.url?.startsWith("blob:")){let J=await mf(ae.url);return{...ae,url:J??ae.url}}return ae}));try{let ee=d({documents:de,files:re,text:N},b);ee instanceof Promise&&await ee,E.reset(),K()}catch{}},[d,K,m]),Be=pf(()=>({add:G,clear:S,files:C,openFileDialog:O,remove:T,retry:D,maxFileSize:n,maxPdfPages:s}),[C,G,T,D,S,O,n,s]);return Ka(qs.Provider,{value:Be,children:[ye("input",{accept:t,"aria-label":m.promptInput.uploadFiles,className:"ww:hidden",multiple:a,onChange:Q,ref:I,title:m.promptInput.uploadFiles,type:"file"}),ye("form",{className:k("ww:relative ww:flex ww:w-full ww:flex-col ww:rounded-lg ww:border ww:border-border ww:bg-background",e),onSubmit:Ee,ref:x,...p,children:f})]})},Hs=1024*1024;function Gs(e,t){let a=e>=Hs;return new Intl.NumberFormat(t,{style:"unit",unit:a?"megabyte":"kilobyte",maximumFractionDigits:0}).format(a?e/Hs:Math.max(1,e/1024))}var Vs=({onChange:e,onKeyDown:t,className:a,placeholder:r,...o})=>{let{t:n}=V(),s=Xa(),[i,l]=Co(!1),u=r??n.promptInput.placeholder,c=Fe(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('[data-submit-blocked="true"]')||p?.querySelector('button[type="submit"]')?.disabled)return;p?.requestSubmit()}if(f.key==="Backspace"&&f.currentTarget.value===""&&s.files.length>0){f.preventDefault();let p=s.files.at(-1);p&&s.remove(p.id)}}},[t,i,s]),d=Fe(f=>{let p=f.clipboardData?.items;if(!p)return;let m=[];for(let L of p)if(L.kind==="file"){let I=L.getAsFile();I&&m.push(I)}m.length>0&&(f.preventDefault(),s.add(m))},[s]);return ye("textarea",{className:k("ww:field-sizing-content ww:max-h-48 ww:min-h-0 ww:w-full ww:resize-none ww:border-0 ww:bg-transparent ww:px-3 ww:py-2 ww:text-base ww:sm:text-sm ww:outline-none ww:placeholder:text-muted-foreground",a),name:"message",onCompositionEnd:()=>l(!1),onCompositionStart:()=>l(!0),onKeyDown:c,onPaste:d,placeholder:u,onChange:e,...o})},zs=({className:e,status:t,onStop:a,onClick:r,children:o,disabled:n,...s})=>{let{t:i}=V(),l=t==="submitted"||t==="streaming",u=l&&a!==void 0,c=ye(Xt,{className:"ww:size-4"});t==="submitted"?c=ye(ta,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(c=ye(aa,{className:"ww:size-4"}));let d=Fe(f=>{if(l&&a){f.preventDefault(),a();return}r?.(f)},[l,a,r]);return ye(Ke,{"aria-label":l?i.promptInput.stop:i.promptInput.submit,className:k("ww:bg-foreground ww:text-background ww:hover:bg-foreground ww:rounded-full",e),"data-submit-blocked":n?"true":void 0,disabled:u?!1:n,onClick:d,size:"icon-sm",type:u?"button":"submit",variant:"ghost",...s,children:o??c})},js=({className:e,children:t,...a})=>{let{t:r,locale:o}=V(),n=Xa();if(n.files.length>0)return Ka(Ke,{className:k("ww:group ww:relative",e),onClick:()=>n.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":r.promptInput.removeAttachments,...a,children:[ye("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}),ye(ut,{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}",Gs(n.maxFileSize,o)):r.promptInput.uploadFiles;return ye(Ke,{"aria-label":i,className:k(e),title:i,onClick:()=>n.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??ye(Dt,{className:"ww:size-4"})})},$s=({className:e,...t})=>{let a=Xa();return a.files.length===0?null:ye("ul",{className:k("ww:flex ww:list-none ww:flex-wrap ww:gap-2 ww:p-0",e),...t,children:a.files.map(r=>ye(hf,{file:r},r.id))})};function hf({file:e}){let{t}=V(),a=Xa(),r=e.status==="failed",o=e.status==="uploading";return Ka(Lo,{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?ye("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,ye("button",{"aria-label":t.promptInput.removeAttachment,className:k("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:ye(ut,{className:"ww:size-3.5"})}),o?ye("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 Xs=({enabled:e=!0})=>{let{t}=V(),[a,r]=Co(!1);return da(()=>{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?ye("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:Ka("span",{className:"ww:flex ww:items-center ww:gap-2 ww:text-sm ww:font-medium",children:[ye(Dt,{className:"ww:size-4"}),t.promptInput.dropToAttach]})}):null};import{jsx as wf}from"react/jsx-runtime";function Ks({text:e}){let{t}=V();return e===!1?null:wf("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 xf,useCallback as If}from"react";import{jsx as Ot}from"react/jsx-runtime";var Qs=({className:e,...t})=>Ot("div",{className:k("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),Js=({className:e,...t})=>Ot("li",{className:k("ww:group ww:flex ww:items-center ww:gap-2 ww:rounded-md ww:px-2 ww:py-1 ww:text-sm ww:transition-colors ww:hover:bg-muted",e),...t}),Ys=({className:e,...t})=>Ot("span",{className:k("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),Zs=({className:e,...t})=>Ot("span",{className:k("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),ei=({className:e,...t})=>Ot("div",{className:k("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),ti=({className:e,...t})=>Ot(Ke,{className:k("ww:size-auto ww:rounded ww:p-1 ww:text-muted-foreground ww:hover:bg-muted-foreground/10 ww:hover:text-foreground",e),size:"icon",type:"button",variant:"ghost",...t});import{jsx as ct,jsxs as oi}from"react/jsx-runtime";var ai=xf(({message:e,onRemove:t})=>{let{t:a}=V(),r=If(()=>t(e.id),[t,e.id]);return oi(Js,{children:[ct(Ys,{}),ct(Zs,{children:e.text||a.chatQueue.attachmentFallback}),ct(ei,{children:ct(ti,{"aria-label":a.chatQueue.removeFromQueue,onClick:r,children:ct(ut,{className:"ww:size-3"})})})]})});ai.displayName="ChatQueueItem";function ri({queuedMessages:e,onRemove:t,className:a}){let{t:r}=V();return e.length===0?null:oi(Qs,{className:k("ww:border-t ww:border-border",a),children:[ct("div",{className:"ww:text-[11px] ww:font-medium ww:text-muted-foreground ww:px-2",children:r.chatQueue.queued(e.length)}),ct("ul",{children:e.map(o=>ct(ai,{message:o,onRemove:t},o.id))})]})}import{createContext as Pf,useCallback as Af,useContext as Rf,useEffect as Mf,useMemo as Ff,useState as ko}from"react";import{createContext as Lf,memo as bo,useCallback as Cf,useContext as yf,useEffect as yo,useMemo as Sf,useRef as ni,useState as So}from"react";import{Fragment as Tf,jsx as $e,jsxs as vf}from"react/jsx-runtime";var si=Lf(null);function ii(){let e=yf(si);if(!e)throw new Error("Reasoning components must be used within <Reasoning>");return e}var bf=1e3,kf=1e3,ca=bo(({className:e,isStreaming:t=!1,open:a,defaultOpen:r,onOpenChange:o,duration:n,children:s,...i})=>{let l=r??t,u=r===!1,c=a!==void 0,[d,f]=So(l),p=c?a:d,m=Cf(R=>{c||f(R),o?.(R)},[c,o]),[L,I]=So(void 0),x=n??L,C=ni(t),[h,w]=So(!1),y=ni(null);yo(()=>{t?(C.current=!0,y.current===null&&(y.current=Date.now())):y.current!==null&&(I(Math.ceil((Date.now()-y.current)/kf)),y.current=null)},[t]),yo(()=>{t&&!p&&!u&&m(!0)},[t,p,u,m]),yo(()=>{if(C.current&&!t&&p&&!h){let R=setTimeout(()=>{m(!1),w(!0)},bf);return()=>clearTimeout(R)}},[t,p,h,m]);let M=Sf(()=>({isStreaming:t,isOpen:p,setIsOpen:m,duration:x}),[t,p,m,x]);return $e(si.Provider,{value:M,children:$e("div",{className:k("ww:mb-4 ww:flex ww:flex-col ww:gap-2",e),"data-state":p?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...i,children:s})})});ca.displayName="Reasoning";var fa=bo(({className:e,children:t,getThinkingMessage:a,hideIcon:r=!1,onClick:o,...n})=>{let{t:s}=V(),{isStreaming:i,isOpen:l,duration:u,setIsOpen:c}=ii(),f=a??((p,m)=>p||m===0?$e(ze,{duration:1.6,children:s.reasoning.thinking}):m===void 0?$e("span",{children:s.reasoning.thoughtBrief}):$e("span",{children:s.reasoning.thoughtForSeconds(m)}));return $e("button",{type:"button","aria-expanded":l,onClick:p=>{c(!l),o?.(p)},className:k("ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),...n,children:t??vf(Tf,{children:[!r&&$e(tt,{className:"ww:size-4 ww:shrink-0"}),f(i,u)]})})});fa.displayName="ReasoningTrigger";var pa=bo(({className:e,children:t,...a})=>{let{isOpen:r}=ii();return $e("div",{className:k("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",r?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:$e("div",{className:"ww:min-h-0 ww:overflow-hidden",children:$e("div",{className:k("ww:text-sm ww:text-muted-foreground",e),...a,children:$e(jt,{children:t})})})})});pa.displayName="ReasoningContent";import{jsx as se,jsxs as ft}from"react/jsx-runtime";var Ef=500,li=Pf(null);function ui(){let e=Rf(li);if(!e)throw new Error("ChainOfThought components must be used within <ChainOfThought>");return e}function di({className:e,isWorking:t=!1,activeStep:a,open:r,defaultOpen:o=!1,onOpenChange:n,children:s,...i}){let l=r!==void 0,[u,c]=ko(o),d=l?r:u,f=Af(I=>{l||c(I),n?.(I)},[l,n]),[p,m]=ko(!t);Mf(()=>{if(t){m(!1);return}let I=setTimeout(()=>m(!0),Ef);return()=>clearTimeout(I)},[t]);let L=Ff(()=>({open:d,setOpen:f,isWorking:t,settled:p,activeStep:a}),[d,f,t,p,a]);return se(li.Provider,{value:L,children:se("div",{className:k("ww:mb-4 ww:flex ww:flex-col ww:gap-2",e),"data-state":d?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...i,children:s})})}function ci({className:e,label:t,workingLabel:a,children:r,...o}){let{open:n,setOpen:s,isWorking:i,settled:l,activeStep:u}=ui();if(!l){let c=u?.icon,d=u?.label??a??t??"";return se("div",{className:k("ww:flex ww:min-h-5 ww:w-full ww:items-center ww:gap-1.5 ww:text-sm ww:text-muted-foreground",e),children:ft("span",{className:"ww:flex ww:min-w-0 ww:items-center ww:gap-1.5",style:{animation:"ww-fade-in 0.25s ease-out"},children:[c&&se(c,{className:k("ww:size-4 ww:shrink-0",i&&"ww:animate-pulse")}),se("span",{className:"ww:truncate",children:i?se(ze,{duration:2.6,children:d}):d})]},d)})}return ft("button",{type:"button",onClick:()=>s(!n),"aria-expanded":n,className:k("ww:flex ww:min-h-5 ww:w-full ww:items-center ww:gap-1.5 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),style:{animation:"ww-fade-in 0.25s ease-out"},...o,children:[se("span",{className:"ww:truncate",children:r??t}),se(lt,{className:k("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",n&&"ww:rotate-180")})]})}function fi({className:e,children:t,...a}){let{open:r}=ui();return se("div",{className:k("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",r?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:se("div",{className:"ww:min-h-0 ww:overflow-hidden",children:se("div",{className:k("ww:flex ww:flex-col",e),...a,children:t})})})}function pi({icon:e,isLast:t,running:a,error:r}){return ft("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:k("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 To({className:e,icon:t,title:a,state:r,isLast:o=!1,children:n,...s}){let i=r==="input-available"||r==="input-streaming",l=r==="output-error",u=n!=null,[c,d]=ko(!1),f=a??"",p=i?se(ze,{duration:1.6,children:f}):se("span",{className:"ww:truncate",children:f});return ft("div",{className:k("ww:flex ww:gap-2",e),...s,children:[se(pi,{icon:t,isLast:o,running:i,error:l}),ft("div",{className:k("ww:min-w-0 ww:flex-1",!o&&"ww:pb-3"),children:[u?ft("button",{type:"button",onClick:()=>d(m=>!m),"aria-expanded":c,className:"ww:flex ww:w-full ww:items-center ww:gap-1.5 ww:text-left ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",children:[p,se(lt,{className:k("ww:size-3.5 ww:shrink-0 ww:transition-transform ww:duration-200",c&&"ww:rotate-180")})]}):se("div",{className:"ww:flex ww:items-center ww:text-sm ww:text-muted-foreground",children:p}),u&&se("div",{className:k("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",c?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children: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 mi({isStreaming:e=!1,isLast:t=!1,children:a}){return ft("div",{className:"ww:flex ww:gap-2",children:[se(pi,{icon:tt,isLast:t,running:e}),se("div",{className:k("ww:min-w-0 ww:flex-1",!t&&"ww:pb-3"),children:ft(ca,{isStreaming:e,className:"ww:mb-0",children:[se(fa,{hideIcon:!0}),se(pa,{children:a})]})})]})}var Pe={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 Je={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 Ne={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 gi(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 hi(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function wi(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 xi(e){return gi(e)?"ambiguous":hi(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":wi(e)?"wide":"neutral"}function Df(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function Ii(e){return Df(e),xi(e)}var Bf=Object.defineProperty,_f=(e,t,a)=>t in e?Bf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Of=(e,t,a)=>_f(e,typeof t!="symbol"?t+"":t,a);function Uf(e){return/^\p{Emoji_Presentation}/u.test(String.fromCodePoint(e))}function Nf(e){if(!e||e<4352)return!1;switch(Ii(e)){case"fullwidth":case"halfwidth":return!0;case"wide":return!Uf(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 Hf(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function qf(e){return e!==null&&e>=65024&&e<=65038}var Wf=Li(/\p{P}|\p{S}/u),Gf=Li(/\s/);function Li(e){return t;function t(a){return a!==null&&a>-1&&e.test(String.fromCodePoint(a))}}var He;(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})(He||(He={}));function pt(e){if(e===Pe.eof||Xn(e)||Gf(e))return Je.characterGroupWhitespace;let t=0;if(e>=4352){if(qf(e))return He.nonEmojiGeneralUseVS;switch(Nf(e)){case null:return He.ivs;case!0:t|=He.cjk;break}}return Wf(e)&&(t|=Je.characterGroupPunctuation),t}function Qa(e,t,a){if(!zf(e))return e;let r=t(),o=pt(r);return!r||bt(o)?e:Hf(r,a)?He.cjkPunctuation:Vf(o)}function Vf(e){return e&~He.ivs}function bt(e){return!!(e&Je.characterGroupWhitespace)}function Ut(e){return(e&He.cjkPunctuation)===Je.characterGroupPunctuation}function ma(e){return!!(e&He.cjk)}function Ci(e){return e===He.ivs}function yi(e){return!!(e&He.cjkOrIvs)}function zf(e){return e===He.nonEmojiGeneralUseVS}function vo(e){return!!(e&He.spaceOrPunctuation)}function Ja(e){return!!(e&&e>=55296&&e<=56319)}function Ya(e){return!!(e&&e>=56320&&e<=57343)}function Za(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 jf(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 er=class{constructor(e,t,a){this.previousCode=e,this.nowPoint=t,this.sliceSerialize=a,Of(this,"cachedValue")}value(){return this.cachedValue===void 0&&(this.cachedValue=jf(this.previousCode,this.nowPoint,this.sliceSerialize)),this.cachedValue}};function tr(e,t,a){let r=a({start:t,end:{...t,_bufferIndex:t._bufferIndex+2}}).codePointAt(0);return r&&r>=65536?r:e}var Po={name:"attention",resolveAll:$f,tokenize:Xf};function $f(e,t){let a=-1,r,o,n,s,i,l,u,c;for(;++a<e.length;)if(e[a][0]==="enter"&&e[a][1].type==="attentionSequence"&&e[a][1]._close){for(r=a;r--;)if(e[r][0]==="exit"&&e[r][1].type==="attentionSequence"&&e[r][1]._open&&t.sliceSerialize(e[r][1]).charCodeAt(0)===t.sliceSerialize(e[a][1]).charCodeAt(0)){if((e[r][1]._close||e[a][1]._open)&&(e[a][1].end.offset-e[a][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[a][1].end.offset-e[a][1].start.offset)%3))continue;l=e[r][1].end.offset-e[r][1].start.offset>1&&e[a][1].end.offset-e[a][1].start.offset>1?2:1;let d={...e[r][1].end},f={...e[a][1].start};Si(d,-l),Si(f,l),s={type:l>1?Ne.strongSequence:Ne.emphasisSequence,start:d,end:{...e[r][1].end}},i={type:l>1?Ne.strongSequence:Ne.emphasisSequence,start:{...e[a][1].start},end:f},n={type:l>1?Ne.strongText:Ne.emphasisText,start:{...e[r][1].end},end:{...e[a][1].start}},o={type:l>1?Ne.strong:Ne.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=Mt(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=Mt(u,[["enter",o,t],["enter",s,t],["exit",s,t],["enter",n,t]]),t.parser.constructs.insideSpan.null,u=Mt(u,Ua(t.parser.constructs.insideSpan.null,e.slice(r+1,a),t)),u=Mt(u,[["exit",n,t],["enter",i,t],["exit",i,t],["exit",o,t]]),e[a][1].end.offset-e[a][1].start.offset?(c=2,u=Mt(u,[["enter",e[a][1],t],["exit",e[a][1],t]])):c=0,Rt(e,r-1,a-r+3,u),a=r+u.length-c-2;break}}for(a=-1;++a<e.length;)e[a][1].type==="attentionSequence"&&(e[a][1].type="data");return e}function Xf(e,t){let a=this.parser.constructs.attentionMarkers.null,{now:r,sliceSerialize:o,previous:n}=this,s=Ya(n)?Za(n,r(),o):n,i=pt(s),l=new er(s,r(),o),u=Qa(i,l.value.bind(l),s),c;return d;function d(p){return p===Pe.asterisk||Pe.underscore,c=p,e.enter("attentionSequence"),f(p)}function f(p){if(p===c)return e.consume(p),f;let m=e.exit("attentionSequence"),L=Ja(p)?tr(p,r(),o):p,I=pt(L);let x=Ut(u),C=x||bt(u),h=Ut(I),w=h||bt(I),y=yi(u),M=!w||h&&(C||y)||a.includes(p),R=!C||x&&(w||ma(I))||a.includes(s);return m._open=!!(c===Pe.asterisk?M:M&&(vo(u)||!R)),m._close=!!(c===Pe.asterisk?R:R&&(vo(I)||!M)),t(p)}}function Si(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function bi(){return{text:{[Pe.asterisk]:Po,[Pe.underscore]:Po},insideSpan:{null:[Po]}}}function ki(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(bi())}function Ti(e){let a=(e||{}).singleTilde,r={name:"strikethrough",tokenize:n,resolveAll:o};return a==null&&(a=!0),{text:{[Pe.tilde]:r},insideSpan:{null:[r]},attentionMarkers:{null:[Pe.tilde]}};function o(s,i){let l=-1;for(;++l<s.length;)if(s[l][0]==="enter"&&s[l][1].type==="strikethroughSequenceTemporary"&&s[l][1]._close){let u=l;for(;u--;)if(s[u][0]==="exit"&&s[u][1].type==="strikethroughSequenceTemporary"&&s[u][1]._open&&s[l][1].end.offset-s[l][1].start.offset===s[u][1].end.offset-s[u][1].start.offset){s[l][1].type="strikethroughSequence",s[u][1].type="strikethroughSequence";let c={type:"strikethrough",start:Object.assign({},s[u][1].start),end:Object.assign({},s[l][1].end)},d={type:"strikethroughText",start:Object.assign({},s[u][1].end),end:Object.assign({},s[l][1].start)},f=[["enter",c,i],["enter",s[u][1],i],["exit",s[u][1],i],["enter",d,i]],p=i.parser.constructs.insideSpan.null;p&&Rt(f,f.length,0,Ua(p,s.slice(u+1,l),i)),Rt(f,f.length,0,[["exit",d,i],["enter",s[l][1],i],["exit",s[l][1],i],["exit",c,i]]),Rt(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=Ne.data);return s}function n(s,i,l){let{now:u,sliceSerialize:c,previous:d}=this,f=Ya(d)?Za(d,u(),c):d,p=pt(f),m=new er(f,u(),c),L=Qa(p,m.value.bind(m),f),I=this.events,x=0;return C;function C(w){return Pe.tilde,f===Pe.tilde&&I[I.length-1][1].type!==Ne.characterEscape?l(w):(s.enter("strikethroughSequenceTemporary"),h(w))}function h(w){let y=pt(f);if(w===Pe.tilde)return x>1?l(w):(s.consume(w),x++,h);if(x<2&&!a)return l(w);let M=s.exit("strikethroughSequenceTemporary"),R=Ja(w)?tr(w,u(),c):w,_=pt(R),O=Ut(L)||bt(L),F=Ut(_)||bt(_),G=ma(L)||Ci(y);return M._open=!F||_===Je.attentionSideAfter&&(O||G),M._close=!O||y===Je.attentionSideAfter&&(F||ma(_)),i(w)}}}function vi(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(Ti(e))}var Kf=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),Qf=/^(https?:\/\/|mailto:|www\.)/i,Jf=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},Yf=e=>{let t=0;for(let a of e){if(Kf.has(a))return t;t+=a.length}return null},Zf=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),ep=e=>({type:"text",value:e}),tp=()=>e=>{qn(e,"link",(t,a,r)=>{if(!r||typeof a!="number"||!Jf(t)||!Qf.test(t.url))return;let o=Yf(t.url);if(o===null||o===0)return;let n=t.url.slice(0,o),s=t.url.slice(o),i=Zf(n,t),l=ep(s);return r.children.splice(a,1,i,l),a+1})};function ap(){let e=[ki],t=[tp,vi],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var Ao=ap();var pe=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function rp(e){return No(e)}function No(e){return Array.isArray(e)?op(e):e instanceof RegExp?e:typeof e=="object"?np(e):e}function op(e){let t=[];for(let a=0,r=e.length;a<r;a++)t[a]=No(e[a]);return t}function np(e){let t={};for(let a in e)t[a]=No(e[a]);return t}function _i(e,...t){return t.forEach(a=>{for(let r in a)e[r]=a[r]}),e}function Oi(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?Oi(e.substring(0,e.length-1)):e.substr(~t+1)}var Ro=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,ar=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 Ui(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=Ui(e[o],t[o]);if(n!==0)return n}return 0}return a-r}function Pi(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 Hi(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var qi=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}},wa=class{constructor(e,t,a){this._colorMap=e,this._defaults=t,this._root=a}static createFromRawTheme(e,t){return this.createFromParsedTheme(lp(e),t)}static createFromParsedTheme(e,t){return dp(e,t)}_cachedMatchRoot=new qi(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=>sp(e.parent,o.parentScopes));return r?new Wi(r.fontStyle,r.foreground,r.background):null}},Mo=class rr{constructor(t,a){this.parent=t,this.scopeName=a}static push(t,a){for(let r of a)t=new rr(t,r);return t}static from(...t){let a=null;for(let r=0;r<t.length;r++)a=new rr(a,t[r]);return a}push(t){return new rr(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 sp(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&&!ip(e.scopeName,r);){if(o)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function ip(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var Wi=class{constructor(e,t,a){this.fontStyle=e,this.foregroundId=t,this.backgroundId=a}};function lp(e){if(!e)return[];if(!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,a=[],r=0;for(let o=0,n=t.length;o<n;o++){let s=t[o];if(!s.settings)continue;let i;if(typeof s.scope=="string"){let d=s.scope;d=d.replace(/^[,]+/,""),d=d.replace(/[,]+$/,""),i=d.split(",")}else Array.isArray(s.scope)?i=s.scope:i=[""];let l=-1;if(typeof s.settings.fontStyle=="string"){l=0;let d=s.settings.fontStyle.split(" ");for(let f=0,p=d.length;f<p;f++)switch(d[f]){case"italic":l=l|1;break;case"bold":l=l|2;break;case"underline":l=l|4;break;case"strikethrough":l=l|8;break}}let u=null;typeof s.settings.foreground=="string"&&Pi(s.settings.foreground)&&(u=s.settings.foreground);let c=null;typeof s.settings.background=="string"&&Pi(s.settings.background)&&(c=s.settings.background);for(let d=0,f=i.length;d<f;d++){let m=i[d].trim().split(" "),L=m[m.length-1],I=null;m.length>1&&(I=m.slice(0,m.length-1),I.reverse()),a[r++]=new up(L,I,o,l,u,c)}}return a}var up=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}},Ae=(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))(Ae||{});function dp(e,t){e.sort((l,u)=>{let c=Ui(l.scope,u.scope);return c!==0||(c=Ni(l.parentScopes,u.parentScopes),c!==0)?c:l.index-u.index});let a=0,r="#000000",o="#ffffff";for(;e.length>=1&&e[0].scope==="";){let l=e.shift();l.fontStyle!==-1&&(a=l.fontStyle),l.foreground!==null&&(r=l.foreground),l.background!==null&&(o=l.background)}let n=new cp(t),s=new Wi(a,n.getId(r),n.getId(o)),i=new pp(new Eo(0,null,-1,0,0),[]);for(let l=0,u=e.length;l<u;l++){let c=e[l];i.insert(0,c.scope,c.parentScopes,c.fontStyle,n.getId(c.foreground),n.getId(c.background))}return new wa(n,s,i)}var cp=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)}},fp=Object.freeze([]),Eo=class Gi{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,r,o,n){this.scopeDepth=t,this.parentScopes=a||fp,this.fontStyle=r,this.foreground=o,this.background=n}clone(){return new Gi(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)}},pp=class Do{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(Do._cmpBySpecificity),a}insert(t,a,r,o,n,s){if(a===""){this._doInsertHere(t,r,o,n,s);return}let i=a.indexOf("."),l,u;i===-1?(l=a,u=""):(l=a.substring(0,i),u=a.substring(i+1));let c;this._children.hasOwnProperty(l)?c=this._children[l]:(c=new Do(this._mainRule.clone(),Eo.cloneArr(this._rulesWithParentScopes)),this._children[l]=c),c.insert(t+1,u,r,o,n,s)}_doInsertHere(t,a,r,o,n){if(a===null){this._mainRule.acceptOverwrite(t,r,o,n);return}for(let s=0,i=this._rulesWithParentScopes.length;s<i;s++){let l=this._rulesWithParentScopes[s];if(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 Eo(t,a,r,o,n))}},Tt=class Ge{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){let a=Ge.getLanguageId(t),r=Ge.getTokenType(t),o=Ge.getFontStyle(t),n=Ge.getForeground(t),s=Ge.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=Ge.getLanguageId(t),u=Ge.getTokenType(t),c=Ge.containsBalancedBrackets(t)?1:0,d=Ge.getFontStyle(t),f=Ge.getForeground(t),p=Ge.getBackground(t);return a!==0&&(l=a),r!==8&&(u=r),o!==null&&(c=o?1:0),n!==-1&&(d=n),s!==0&&(f=s),i!==0&&(p=i),(l<<0|u<<8|c<<10|d<<11|f<<15|p<<24)>>>0}};function nr(e,t){let a=[],r=mp(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(Ai(o)){let l=[];do l.push(o),o=r.next();while(Ai(o));return u=>t(l,u)}return null}function s(){let l=[],u=n();for(;u;)l.push(u),u=n();return c=>l.every(d=>d(c))}function i(){let l=[],u=s();for(;u&&(l.push(u),o==="|"||o===",");){do o=r.next();while(o==="|"||o===",");u=s()}return c=>l.some(d=>d(c))}}function Ai(e){return!!e&&!!e.match(/[\w\.:]+/)}function mp(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 Vi(e){typeof e.dispose=="function"&&e.dispose()}var xa=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},gp=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},hp=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))}},wp=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new xa(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new hp;for(let a of e)xp(a,this.initialScopeName,this.repo,t);for(let a of t.references)if(a instanceof xa){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 xp(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 xa?or({baseGrammar:n,selfGrammar:o},r):Bo(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 xa(i))}function Bo(e,t,a){if(t.repository&&t.repository[e]){let r=t.repository[e];sr([r],t,a)}}function or(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&sr(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&sr(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function sr(e,t,a){for(let r of e){if(a.visitedRule.has(r))continue;a.visitedRule.add(r);let o=r.repository?_i({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&sr(r.patterns,{...t,repository:o},a);let n=r.include;if(!n)continue;let s=zi(n);switch(s.kind){case 0:or({...t,selfGrammar:t.baseGrammar},a);break;case 1:or(t,a);break;case 2:Bo(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?Bo(s.ruleName,l,a):or(l,a)}else s.kind===4?a.add(new gp(s.scopeName,s.ruleName)):a.add(new xa(s.scopeName));break}}}var Ip=class{kind=0},Lp=class{kind=1},Cp=class{constructor(e){this.ruleName=e}kind=2},yp=class{constructor(e){this.scopeName=e}kind=3},Sp=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function zi(e){if(e==="$base")return new Ip;if(e==="$self")return new Lp;let t=e.indexOf("#");if(t===-1)return new yp(e);if(t===0)return new Cp(e.substring(1));{let a=e.substring(0,t),r=e.substring(t+1);return new Sp(a,r)}}var bp=/\\(\d+)/,Ri=/\\(\d+)/g;var kp=-1,ji=-2;var Ca=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,a,r){this.$location=e,this.id=t,this._name=a||null,this._nameIsCapturing=ar.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=ar.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${Oi(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:ar.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:ar.replaceCaptures(this._contentName,e,t)}},Tp=class extends Ca{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!")}},vp=class extends Ca{_match;captures;_cachedCompiledPatterns;constructor(e,t,a,r,o){super(e,t,a,null),this._match=new Ia(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 La,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Mi=class extends Ca{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 La,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},_o=class extends Ca{_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 Ia(o,this.id),this.beginCaptures=n,this._end=new Ia(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 La;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}},ir=class extends Ca{_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 Ia(o,this.id),this.beginCaptures=n,this.whileCaptures=i,this._while=new Ia(s,ji),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 La;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 La,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},$i=class Re{static createCaptureRule(t,a,r,o,n){return t.registerRule(s=>new Tp(a,s,r,o,n))}static getCompiledRuleId(t,a,r){return t.id||a.registerRule(o=>{if(t.id=o,t.match)return new vp(t.$vscodeTextmateLocation,t.id,t.name,t.match,Re._compileCaptures(t.captures,a,r));if(typeof t.begin>"u"){t.repository&&(r=_i({},r,t.repository));let n=t.patterns;return typeof n>"u"&&t.include&&(n=[{include:t.include}]),new Mi(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,Re._compilePatterns(n,a,r))}return t.while?new ir(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,Re._compileCaptures(t.beginCaptures||t.captures,a,r),t.while,Re._compileCaptures(t.whileCaptures||t.captures,a,r),Re._compilePatterns(t.patterns,a,r)):new _o(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,Re._compileCaptures(t.beginCaptures||t.captures,a,r),t.end,Re._compileCaptures(t.endCaptures||t.captures,a,r),t.applyEndPatternLast,Re._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=Re.getCompiledRuleId(t[s],a,r)),o[i]=Re.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=zi(i.include);switch(u.kind){case 0:case 1:l=Re.getCompiledRuleId(r[i.include],a,r);break;case 2:let c=r[u.ruleName];c&&(l=Re.getCompiledRuleId(c,a,r));break;case 3:case 4:let d=u.scopeName,f=u.kind===4?u.ruleName:null,p=a.getExternalGrammar(d,r);if(p)if(f){let m=p.repository[f];m&&(l=Re.getCompiledRuleId(m,a,p.repository))}else l=Re.getCompiledRuleId(p.repository.$self,a,p.repository);break}}else l=Re.getCompiledRuleId(i,a,r);if(l!==-1){let u=a.getRule(l),c=!1;if((u instanceof Mi||u instanceof _o||u instanceof ir)&&u.hasMissingPatterns&&u.patterns.length===0&&(c=!0),c)continue;o.push(l)}}return{patterns:o,hasMissingPatterns:(t?t.length:0)!==o.length}}},Ia=class Xi{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=bp.test(this.source):this.hasBackReferences=!1}clone(){return new Xi(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 Ri.lastIndex=0,this.source.replace(Ri,(o,n)=>Hi(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}},La=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 Fi(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 Fi(e,r,this._items.map(o=>o.ruleId))}},Fi=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}},Fo=class{constructor(e,t){this.languageId=e,this.tokenType=t}},Pp=class Oo{_defaultAttributes;_embeddedLanguagesMatcher;constructor(t,a){this._defaultAttributes=new Fo(t,8),this._embeddedLanguagesMatcher=new Ap(Object.entries(a||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?Oo._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new Fo(0,0);_getBasicScopeAttributes=new qi(t=>{let a=this._scopeToLanguage(t),r=this._toStandardTokenType(t);return new Fo(a,r)});_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){let a=t.match(Oo.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/},Ap=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])=>Hi(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])}},Ty={InDebugMode:typeof process<"u"&&!!process.env.VSCODE_TEXTMATE_DEBUG},Ki=!1,Ei=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function Qi(e,t,a,r,o,n,s,i){let l=t.content.length,u=!1,c=-1;if(s){let p=Rp(e,t,a,r,o,n);o=p.stack,r=p.linePos,a=p.isFirstLine,c=p.anchorPosition}let d=Date.now();for(;!u;){if(i!==0&&Date.now()-d>i)return new Ei(o,!0);f()}return new Ei(o,!1);function f(){let p=Mp(e,t,a,r,o,c);if(!p){n.produce(o,l),u=!0;return}let m=p.captureIndices,L=p.matchedRuleId,I=m&&m.length>0?m[0].end>r:!1;if(L===kp){let x=o.getRule(e);n.produce(o,m[0].start),o=o.withContentNameScopesList(o.nameScopesList),ga(e,t,a,o,n,x.endCaptures,m),n.produce(o,m[0].end);let C=o;if(o=o.parent,c=C.getAnchorPos(),!I&&C.getEnterPos()===r){o=C,n.produce(o,l),u=!0;return}}else{let x=e.getRule(L);n.produce(o,m[0].start);let C=o,h=x.getName(t.content,m),w=o.contentNameScopesList.pushAttributed(h,e);if(o=o.push(L,r,c,m[0].end===l,null,w,w),x instanceof _o){let y=x;ga(e,t,a,o,n,y.beginCaptures,m),n.produce(o,m[0].end),c=m[0].end;let M=y.getContentName(t.content,m),R=w.pushAttributed(M,e);if(o=o.withContentNameScopesList(R),y.endHasBackReferences&&(o=o.withEndRule(y.getEndWithResolvedBackReferences(t.content,m))),!I&&C.hasSameRuleAs(o)){o=o.pop(),n.produce(o,l),u=!0;return}}else if(x instanceof ir){let y=x;ga(e,t,a,o,n,y.beginCaptures,m),n.produce(o,m[0].end),c=m[0].end;let M=y.getContentName(t.content,m),R=w.pushAttributed(M,e);if(o=o.withContentNameScopesList(R),y.whileHasBackReferences&&(o=o.withEndRule(y.getWhileWithResolvedBackReferences(t.content,m))),!I&&C.hasSameRuleAs(o)){o=o.pop(),n.produce(o,l),u=!0;return}}else if(ga(e,t,a,o,n,x.captures,m),n.produce(o,m[0].end),o=o.pop(),!I){o=o.safePop(),n.produce(o,l),u=!0;return}}m[0].end>r&&(r=m[0].end,a=!1)}}function Rp(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 ir&&i.push({rule:u,stack:l})}for(let l=i.pop();l;l=i.pop()){let{ruleScanner:u,findOptions:c}=Dp(l.rule,e,l.stack.endRule,a,r===s),d=u.findNextMatchSync(t,r,c);if(d){if(d.ruleId!==ji){o=l.stack.pop();break}d.captureIndices&&d.captureIndices.length&&(n.produce(l.stack,d.captureIndices[0].start),ga(e,t,a,l.stack,n,l.rule.whileCaptures,d.captureIndices),n.produce(l.stack,d.captureIndices[0].end),s=d.captureIndices[0].end,d.captureIndices[0].end>r&&(r=d.captureIndices[0].end,a=!1))}else{o=l.stack.pop();break}}return{stack:o,linePos:r,anchorPosition:s,isFirstLine:a}}function Mp(e,t,a,r,o,n){let s=Fp(e,t,a,r,o,n),i=e.getInjections();if(i.length===0)return s;let l=Ep(i,e,t,a,r,o,n);if(!l)return s;if(!s)return l;let u=s.captureIndices[0].start,c=l.captureIndices[0].start;return c<u||l.priorityMatch&&c===u?l:s}function Fp(e,t,a,r,o,n){let s=o.getRule(e),{ruleScanner:i,findOptions:l}=Ji(s,e,o.endRule,a,r===n),u=i.findNextMatchSync(t,r,l);return u?{captureIndices:u.captureIndices,matchedRuleId:u.ruleId}:null}function Ep(e,t,a,r,o,n,s){let i=Number.MAX_VALUE,l=null,u,c=0,d=n.contentNameScopesList.getScopeNames();for(let f=0,p=e.length;f<p;f++){let m=e[f];if(!m.matcher(d))continue;let L=t.getRule(m.ruleId),{ruleScanner:I,findOptions:x}=Ji(L,t,null,r,o===s),C=I.findNextMatchSync(a,o,x);if(!C)continue;let h=C.captureIndices[0].start;if(!(h>=i)&&(i=h,l=C.captureIndices,u=C.ruleId,c=m.priority,i===o))break}return l?{priorityMatch:c===-1,captureIndices:l,matchedRuleId:u}:null}function Ji(e,t,a,r,o){if(Ki){let s=e.compile(t,a),i=Yi(r,o);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileAG(t,a,r,o),findOptions:0}}function Dp(e,t,a,r,o){if(Ki){let s=e.compileWhile(t,a),i=Yi(r,o);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileWhileAG(t,a,r,o),findOptions:0}}function Yi(e,t){let a=0;return e||(a|=1),t||(a|=4),a}function ga(e,t,a,r,o,n,s){if(n.length===0)return;let i=t.content,l=Math.min(n.length,s.length),u=[],c=s[0].end;for(let d=0;d<l;d++){let f=n[d];if(f===null)continue;let p=s[d];if(p.length===0)continue;if(p.start>c)break;for(;u.length>0&&u[u.length-1].endPos<=p.start;)o.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop();if(u.length>0?o.produceFromScopes(u[u.length-1].scopes,p.start):o.produce(r,p.start),f.retokenizeCapturedWithRuleId){let L=f.getName(i,s),I=r.contentNameScopesList.pushAttributed(L,e),x=f.getContentName(i,s),C=I.pushAttributed(x,e),h=r.push(f.retokenizeCapturedWithRuleId,p.start,-1,!1,null,I,C),w=e.createOnigString(i.substring(0,p.end));Qi(e,w,a&&p.start===0,p.start,h,o,!1,0),Vi(w);continue}let m=f.getName(i,s);if(m!==null){let I=(u.length>0?u[u.length-1].scopes:r.contentNameScopesList).pushAttributed(m,e);u.push(new Bp(I,p.end))}}for(;u.length>0;)o.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop()}var Bp=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function _p(e,t,a,r,o,n,s,i){return new Up(e,t,a,r,o,n,s,i)}function Di(e,t,a,r,o){let n=nr(t,lr),s=$i.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 lr(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(Op(t[o],r))return a=o+1,!0;return!1})}function Op(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 Up=class{constructor(e,t,a,r,o,n,s,i){if(this._rootScopeName=e,this.balancedBracketSelectors=n,this._onigLib=i,this._basicScopeAttributesProvider=new Pp(a,r),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=s,this._grammar=Bi(t,null),this._injections=null,this._tokenTypeMatchers=[],o)for(let l of Object.keys(o)){let u=nr(l,lr);for(let c of u)this._tokenTypeMatchers.push({matcher:c.matcher,type:o[l]})}}_rootId;_lastRuleId;_ruleId2desc;_includedGrammars;_grammarRepository;_grammar;_injections;_basicScopeAttributesProvider;_tokenTypeMatchers;get themeProvider(){return this._grammarRepository}dispose(){for(let e of this._ruleId2desc)e&&e.dispose()}createOnigScanner(e){return this._onigLib.createOnigScanner(e)}createOnigString(e){return this._onigLib.createOnigString(e)}getMetadataForScope(e){return this._basicScopeAttributesProvider.getBasicScopeAttributes(e)}_collectInjections(){let e={lookup:o=>o===this._rootScopeName?this._grammar:this.getExternalGrammar(o),injections:o=>this._grammarRepository.injections(o)},t=[],a=this._rootScopeName,r=e.lookup(a);if(r){let o=r.injections;if(o)for(let s in o)Di(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&&Di(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]=Bi(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=$i.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let o;if(!t||t===Uo.NULL){o=!0;let u=this._basicScopeAttributesProvider.getDefaultAttributes(),c=this.themeProvider.getDefaults(),d=Tt.set(0,u.languageId,u.tokenType,null,c.fontStyle,c.foregroundId,c.backgroundId),f=this.getRule(this._rootId).getName(null,null),p;f?p=ha.createRootAndLookUpScopeName(f,d,this):p=ha.createRoot("unknown",d),t=new Uo(null,this._rootId,-1,-1,!1,null,p,p)}else o=!1,t.reset();e=e+`
|
|
6
|
+
`;let n=this.createOnigString(e),s=n.content.length,i=new Hp(a,e,this._tokenTypeMatchers,this.balancedBracketSelectors),l=Qi(this,n,o,0,t,i,!0,r);return Vi(n),{lineLength:s,lineTokens:i,ruleStack:l.stack,stoppedEarly:l.stoppedEarly}}};function Bi(e,t){return e=rp(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 ha=class Ye{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=Mo.push(o,n.scopeNames),r=new Ye(r,o,n.encodedTokenAttributes);return r}static createRoot(t,a){return new Ye(null,new Mo(null,t),a)}static createRootAndLookUpScopeName(t,a,r){let o=r.getMetadataForScope(t),n=new Mo(null,t),s=r.themeProvider.themeMatch(n),i=Ye.mergeAttributes(a,o,s);return new Ye(null,n,i)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return Ye.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),Tt.set(t,a.languageId,a.tokenType,null,o,n,s)}pushAttributed(t,a){if(t===null)return this;if(t.indexOf(" ")===-1)return Ye._pushAttributed(this,t,a);let r=t.split(/ /g),o=this;for(let n of r)o=Ye._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=Ye.mergeAttributes(t.tokenAttributes,o,s);return new Ye(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}},Uo=class kt{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 kt(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:kt._equals(this,t)}static _equals(t,a){return t===a?!0:this._structuralEquals(t,a)?ha.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(){kt._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,a,r,o,n,s,i){return new kt(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 kt(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=ha.fromExtension(t?.nameScopesList??null,a.nameScopesList);return new kt(t,a.ruleId,a.enterPos??-1,a.anchorPos??-1,a.beginRuleCapturedEOL,a.endRule,r,ha.fromExtension(r,a.contentNameScopesList))}},Np=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(a=>a==="*"?(this.allowAny=!0,[]):nr(a,lr).map(r=>r.matcher)),this.unbalancedBracketScopes=t.flatMap(a=>nr(a,lr).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}},Hp=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=Tt.set(r,0,s.type,null,-1,0,0));this.balancedBracketSelectors&&(o=this.balancedBracketSelectors.match(n))}if(o&&(r=Tt.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}},qp=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,_p(e,n,t,a,r,o,this,this._onigLib))}return this._grammars.get(e)}},Zi=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new qp(wa.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(wa.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 Np(a.balancedBracketSelectors||[],a.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,a,r,o){let n=new wp(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)}},ur=Uo.NULL;var Wp=/["&'<>`]/g,Gp=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Vp=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,zp=/[|\\{}()[\]^$+*?.]/g,el=new WeakMap;function tl(e,t){if(e=e.replace(t.subset?jp(t.subset):Wp,r),t.subset||t.escapeOnly)return e;return e.replace(Gp,a).replace(Vp,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 jp(e){let t=el.get(e);return t||(t=$p(e),el.set(e,t)),t}function $p(e){let t=[],a=-1;for(;++a<e.length;)t.push(e[a].replace(zp,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}var Xp=/[\dA-Fa-f]/;function al(e,t,a){let r="&#x"+e.toString(16).toUpperCase();return a&&t&&!Xp.test(String.fromCharCode(t))?r:r+";"}var Kp=/\d/;function rl(e,t,a){let r="&#"+String(e);return a&&t&&!Kp.test(String.fromCharCode(t))?r:r+";"}var ol=["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 dr={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 nl=["cent","copy","divide","gt","lt","not","para","times"];var sl={}.hasOwnProperty,Ho={},cr;for(cr in dr)sl.call(dr,cr)&&(Ho[dr[cr]]=cr);var Qp=/[^\dA-Za-z]/;function il(e,t,a,r){let o=String.fromCharCode(e);if(sl.call(Ho,o)){let n=Ho[o],s="&"+n;return a&&ol.includes(n)&&!nl.includes(n)&&(!r||t&&t!==61&&Qp.test(String.fromCharCode(t)))?s:s+";"}return""}function ll(e,t,a){let r=al(e,t,a.omitOptionalSemicolons),o;if((a.useNamedReferences||a.useShortestReferences)&&(o=il(e,t,a.omitOptionalSemicolons,a.attribute)),(a.useShortestReferences||!o)&&a.useShortestReferences){let n=rl(e,t,a.omitOptionalSemicolons);n.length<r.length&&(r=n)}return o&&(!a.useShortestReferences||o.length<r.length)?o:r}function rt(e,t){return tl(e,Object.assign({format:ll},t))}var Jp=/^>|^->|<!--|-->|--!>|<!-$/g,Yp=[">"],Zp=["<",">"];function ul(e,t,a,r){return r.settings.bogusComments?"<?"+rt(e.value,Object.assign({},r.settings.characterReferences,{subset:Yp}))+">":"<!--"+e.value.replace(Jp,o)+"-->";function o(n){return rt(n,Object.assign({},r.settings.characterReferences,{subset:Zp}))}}function dl(e,t,a,r){return"<!"+(r.settings.upperDoctype?"DOCTYPE":"doctype")+(r.settings.tightDoctype?"":" ")+"html>"}var Ie=cl(1),qo=cl(-1),em=[];function cl(e){return t;function t(a,r,o){let n=a?a.children:em,s=(r||0)+e,i=n[s];if(!o)for(;i&&Ft(i);)s+=e,i=n[s];return i}}var tm={}.hasOwnProperty;function fr(e){return t;function t(a,r,o){return tm.call(e,a.tagName)&&e[a.tagName](a,r,o)}}var ya=fr({body:rm,caption:Wo,colgroup:Wo,dd:im,dt:sm,head:Wo,html:am,li:nm,optgroup:lm,option:um,p:om,rp:fl,rt:fl,tbody:cm,td:pl,tfoot:fm,th:pl,thead:dm,tr:pm});function Wo(e,t,a){let r=Ie(a,t,!0);return!r||r.type!=="comment"&&!(r.type==="text"&&Ft(r.value.charAt(0)))}function am(e,t,a){let r=Ie(a,t);return!r||r.type!=="comment"}function rm(e,t,a){let r=Ie(a,t);return!r||r.type!=="comment"}function om(e,t,a){let r=Ie(a,t);return r?r.type==="element"&&(r.tagName==="address"||r.tagName==="article"||r.tagName==="aside"||r.tagName==="blockquote"||r.tagName==="details"||r.tagName==="div"||r.tagName==="dl"||r.tagName==="fieldset"||r.tagName==="figcaption"||r.tagName==="figure"||r.tagName==="footer"||r.tagName==="form"||r.tagName==="h1"||r.tagName==="h2"||r.tagName==="h3"||r.tagName==="h4"||r.tagName==="h5"||r.tagName==="h6"||r.tagName==="header"||r.tagName==="hgroup"||r.tagName==="hr"||r.tagName==="main"||r.tagName==="menu"||r.tagName==="nav"||r.tagName==="ol"||r.tagName==="p"||r.tagName==="pre"||r.tagName==="section"||r.tagName==="table"||r.tagName==="ul"):!a||!(a.type==="element"&&(a.tagName==="a"||a.tagName==="audio"||a.tagName==="del"||a.tagName==="ins"||a.tagName==="map"||a.tagName==="noscript"||a.tagName==="video"))}function nm(e,t,a){let r=Ie(a,t);return!r||r.type==="element"&&r.tagName==="li"}function sm(e,t,a){let r=Ie(a,t);return!!(r&&r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd"))}function im(e,t,a){let r=Ie(a,t);return!r||r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd")}function fl(e,t,a){let r=Ie(a,t);return!r||r.type==="element"&&(r.tagName==="rp"||r.tagName==="rt")}function lm(e,t,a){let r=Ie(a,t);return!r||r.type==="element"&&r.tagName==="optgroup"}function um(e,t,a){let r=Ie(a,t);return!r||r.type==="element"&&(r.tagName==="option"||r.tagName==="optgroup")}function dm(e,t,a){let r=Ie(a,t);return!!(r&&r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot"))}function cm(e,t,a){let r=Ie(a,t);return!r||r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot")}function fm(e,t,a){return!Ie(a,t)}function pm(e,t,a){let r=Ie(a,t);return!r||r.type==="element"&&r.tagName==="tr"}function pl(e,t,a){let r=Ie(a,t);return!r||r.type==="element"&&(r.tagName==="td"||r.tagName==="th")}var ml=fr({body:hm,colgroup:wm,head:gm,html:mm,tbody:xm});function mm(e){let t=Ie(e,-1);return!t||t.type!=="comment"}function gm(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 hm(e){let t=Ie(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&Ft(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function wm(e,t,a){let r=qo(a,t),o=Ie(e,-1,!0);return a&&r&&r.type==="element"&&r.tagName==="colgroup"&&ya(r,a.children.indexOf(r),a)?!1:!!(o&&o.type==="element"&&o.tagName==="col")}function xm(e,t,a){let r=qo(a,t),o=Ie(e,-1);return a&&r&&r.type==="element"&&(r.tagName==="thead"||r.tagName==="tbody")&&ya(r,a.children.indexOf(r),a)?!1:!!(o&&o.type==="element"&&o.tagName==="tr")}var pr={name:[[`
|
|
7
7
|
\f\r &/=>`.split(""),`
|
|
8
8
|
\f\r "&'/=>\``.split("")],[`\0
|
|
9
9
|
\f\r "&'/<=>`.split(""),`\0
|
|
@@ -11,9 +11,12 @@ ${G}`}]}}O.current({...$,...N?{modelContext:N}:{}})}K({jsonrpc:"2.0",id:re,resul
|
|
|
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 dl(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=Ba);let u=dm(r,e.properties),d=r.all(o.space==="html"&&e.tagName==="template"?e.content:e);return r.schema=o,d&&(s=!1),(u||!n||!ul(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||!Ia(e,t,a))&&i.push("</"+e.tagName+">"),i.join("")}function dm(e,t){let a=[],r=-1,o;if(t){for(o in t)if(t[o]!==null&&t[o]!==void 0){let n=cm(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 cm(e,t,a){let r=On(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=at(r.attribute,Object.assign({},e.settings.characterReferences,{subset:cr.name[o][n]}));return a===!0||(a=Array.isArray(a)?(r.commaSeparated?Nn:Hn)(a,{padLeft:!e.settings.tightCommaSeparatedLists}):String(a),e.settings.collapseEmptyAttributes&&!a)?l:(e.settings.preferUnquoted&&(i=at(a,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:cr.unquoted[o][n]}))),i!==a&&(e.settings.quoteSmart&&Wr(a,s)>Wr(a,e.alternative)&&(s=e.alternative),i=s+at(a,Object.assign({},e.settings.characterReferences,{subset:(s==="'"?cr.single:cr.double)[o][n],attribute:!0}))+s),l+(i&&"="+i))}var fm=["<","&"];function fr(e,t,a,r){return a&&a.type==="element"&&(a.tagName==="script"||a.tagName==="style")?e.value:at(e.value,Object.assign({},r.settings.characterReferences,{subset:fm}))}function cl(e,t,a,r){return r.settings.allowDangerousHtml?e.value:fr(e,t,a,r)}function fl(e,t,a,r){return r.all(e)}var pl=qn("type",{invalid:pm,unknown:mm,handlers:{comment:ol,doctype:nl,element:dl,raw:cl,root:fl,text:fr}});function pm(e){throw new Error("Expected node, not `"+e+"`")}function mm(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var gm={},hm={},wm=[];function Uo(e,t){let a=t||gm,r=a.quote||'"',o=r==='"'?"'":'"';if(r!=='"'&&r!=="'")throw new Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:xm,all:Im,settings:{omitOptionalTags:a.omitOptionalTags||!1,allowParseErrors:a.allowParseErrors||!1,allowDangerousCharacters:a.allowDangerousCharacters||!1,quoteSmart:a.quoteSmart||!1,preferUnquoted:a.preferUnquoted||!1,tightAttributes:a.tightAttributes||!1,upperDoctype:a.upperDoctype||!1,tightDoctype:a.tightDoctype||!1,bogusComments:a.bogusComments||!1,tightCommaSeparatedLists:a.tightCommaSeparatedLists||!1,tightSelfClosing:a.tightSelfClosing||!1,collapseEmptyAttributes:a.collapseEmptyAttributes||!1,allowDangerousHtml:a.allowDangerousHtml||!1,voids:a.voids||Wn,characterReferences:a.characterReferences||hm,closeSelfClosing:a.closeSelfClosing||!1,closeEmptyElements:a.closeEmptyElements||!1},schema:a.space==="svg"?Ba:Un,quote:r,alternative:o}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function xm(e,t,a){return pl(e,t,a,this)}function Im(e){let t=[],a=e&&e.children||wm,r=-1;for(;++r<a.length;)t[r]=this.one(a[r],r,e);return t.join("")}function pr(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 mt(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function Lm(e){return Array.isArray(e)?e:[e]}async function Ll(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function Vo(e){return!e||["plaintext","txt","text","plain"].includes(e)}function Cl(e){return e==="ansi"||Vo(e)}function zo(e){return e==="none"}function Sl(e){return zo(e)}function yl(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 xr(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 Cm(e){let t=xr(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 bl(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 jo="light-dark()",Sm=["color","background-color"];function ym(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 bm(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?ym(o,n):o})):e}function km(e,t,a,r,o="css-vars"){let n={content:e.content,explanation:e.explanation,offset:e.offset},s=t.map(d=>mr(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&&Sm.includes(f))if(r===jo&&s.length>1){let m=t.findIndex(L=>L==="light"),C=t.findIndex(L=>L==="dark");if(m===-1||C===-1)throw new ce('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let I=s[m][f]||"inherit",x=s[C][f]||"inherit";l[f]=`light-dark(${I}, ${x})`,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 mr(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t["background-color"]=e.bgColor),e.fontStyle){e.fontStyle&Pe.Italic&&(t["font-style"]="italic"),e.fontStyle&Pe.Bold&&(t["font-weight"]="bold");let a=[];e.fontStyle&Pe.Underline&&a.push("underline"),e.fontStyle&Pe.Strikethrough&&a.push("line-through"),a.length&&(t["text-decoration"]=a.join(" "))}return t}function qo(e){return typeof e=="string"?e:Object.entries(e).map(([t,a])=>`${t}:${a}`).join(";")}var kl=new WeakMap;function Ir(e,t){kl.set(e,t)}function Ca(e){return kl.get(e)}var Ut=class e{_stacks={};lang;get themes(){return Object.keys(this._stacks)}get theme(){return this.themes[0]}get _stack(){return this._stacks[this.theme]}static initial(t,a){return new e(Object.fromEntries(Lm(a).map(r=>[r,ir])),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 Tm(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function Tm(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 vm(e,t){if(!(e instanceof Ut))throw new ce("Invalid grammar state");return e.getInternalStack(t)}function Pm(){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 ce(`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 ce(`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 ce(`Invalid decoration position ${JSON.stringify(s)}. Line ${s.line} length: ${i.length}`);return{...s,character:l,offset:o.posToIndex(s.line,l)}}},o=Cm(a.source),n=(a.options.decorations||[]).map(s=>({...s,start:r(s.start),end:r(s.end)}));Am(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 bm(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 ce(`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],C="",I=-1,x=-1;if(c===0&&(I=0),f===0&&(x=0),f===Number.POSITIVE_INFINITY&&(x=m.children.length),I===-1||x===-1)for(let h=0;h<m.children.length;h++)C+=Tl(m.children[h]),I===-1&&C.length===c&&(I=h+1),x===-1&&C.length===f&&(x=h+1);if(I===-1)throw new ce(`Failed to find start index for decoration ${JSON.stringify(p.start)}`);if(x===-1)throw new ce(`Failed to find end index for decoration ${JSON.stringify(p.end)}`);let L=m.children.slice(I,x);if(!p.alwaysWrap&&L.length===m.children.length)i(m,p,"line");else if(!p.alwaysWrap&&L.length===1&&L[0].type==="element")i(L[0],p,"token");else{let h={type:"element",tagName:"span",properties:{},children:L};i(h,p,"wrapper"),m.children.splice(I,L.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||(C=>C);return d.tagName=c.tagName||"span",d.properties={...d.properties,...p,class:d.properties.class},c.properties?.class&&yl(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 Am(e){for(let t=0;t<e.length;t++){let a=e[t];if(a.start.offset>a.end.offset)throw new ce(`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 ce(`Decorations ${JSON.stringify(a.start)} and ${JSON.stringify(o.start)} intersect.`)}}}}function Tl(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(Tl).join(""):""}var Rm=[Pm()];function gr(e){let t=Mm(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...Rm]}function Mm(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 Tt=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],No={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function Fm(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 ml(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 Em(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)No[r]&&t.push({type:"setDecoration",value:No[r]});else if(r<=29){let o=No[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:Tt[r-30]}});else if(r===38){let o=ml(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:Tt[r-40]}});else if(r===48){let o=ml(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:Tt[r-90+8]}}):r>=100&&r<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:Tt[r-100+8]}})}return t}function Dm(){let e=null,t=null,a=new Set;return{parse(r){let o=[],n=0;do{let s=Fm(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=Em(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 Bm={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 _m(e=Bm){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<Tt.length;u++)r.push(t(Tt[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 Om={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 Um(e,t,a){let r=pr(e,a),o=xr(t),n=Object.fromEntries(Tt.map(l=>{let u=`terminal.ansi${l[0].toUpperCase()}${l.substring(1)}`,d=e.colors?.[u];return[l,d||Om[l]]})),s=_m(n),i=Dm();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=mt(d,r),c=mt(c,r),u.decorations.has("dim")&&(d=Nm(d));let f=Pe.None;return u.decorations.has("bold")&&(f|=Pe.Bold),u.decorations.has("italic")&&(f|=Pe.Italic),u.decorations.has("underline")&&(f|=Pe.Underline),u.decorations.has("strikethrough")&&(f|=Pe.Strikethrough),{content:u.value,offset:l[1],color:d,bgColor:c,fontStyle:f}}))}function Nm(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 $o(e,t,a={}){let{theme:r=e.getLoadedThemes()[0]}=a,o=e.resolveLangAlias(a.lang||"text");if(Vo(o)||zo(r))return xr(t).map(l=>[{content:l[0],offset:l[1]}]);let{theme:n,colorMap:s}=e.setTheme(r);if(o==="ansi")return Um(n,t,a);let i=e.getLanguage(a.lang||"text");if(a.grammarState){if(a.grammarState.lang!==i.name)throw new ce(`Grammar state language "${a.grammarState.lang}" does not match highlight language "${i.name}"`);if(!a.grammarState.themes.includes(n.name))throw new ce(`Grammar state themes "${a.grammarState.themes}" do not contain highlight theme "${n.name}"`)}return qm(t,i,n,s,a)}function Hm(...e){if(e.length===2)return Ca(e[1]);let[t,a,r={}]=e,{lang:o="text",theme:n=t.getLoadedThemes()[0]}=r;if(Vo(o)||zo(n))throw new ce("Plain language does not have grammar state");if(o==="ansi")throw new ce("ANSI language does not have grammar state");let{theme:s,colorMap:i}=t.setTheme(n),l=t.getLanguage(o);return new Ut(Xo(a,l,s,i,r).stateStack,l.name,s.name)}function qm(e,t,a,r,o){let n=Xo(e,t,a,r,o),s=new Ut(n.stateStack,t.name,a.name);return Ir(n.tokens,s),n.tokens}function Xo(e,t,a,r,o){let n=pr(a,o),{tokenizeMaxLineLength:s=0,tokenizeTimeLimit:i=500}=o,l=xr(e),u=o.grammarState?vm(o.grammarState,a.name)??ir:o.grammarContextCode!=null?Xo(o.grammarContextCode,t,a,r,{...o,grammarState:void 0,grammarContextCode:void 0}).stateStack:ir,d=[],c=[];for(let f=0,p=l.length;f<p;f++){let[m,C]=l[f];if(m===""){d=[],c.push([]);continue}if(s>0&&m.length>=s){d=[],c.push([{content:m,offset:C,color:"",fontStyle:0}]);continue}let I,x,L;o.includeExplanation&&(I=t.tokenizeLine(m,u,i),x=I.tokens,L=0);let h=t.tokenizeLine2(m,u,i),w=h.tokens.length/2;for(let S=0;S<w;S++){let E=h.tokens[2*S],M=S+1<w?h.tokens[2*S+2]:m.length;if(E===M)continue;let A=h.tokens[2*S+1],j=mt(r[kt.getForeground(A)],n),F=kt.getFontStyle(A),O={content:m.substring(E,M),offset:C+E,color:j,fontStyle:F};if(o.includeExplanation){let q=[];if(o.includeExplanation!=="scopeName")for(let W of a.settings){let H;switch(typeof W.scope){case"string":H=W.scope.split(/,/).map(T=>T.trim());break;case"object":H=W.scope;break;default:continue}q.push({settings:W,selectors:H.map(T=>T.split(/ /))})}O.explanation=[];let Q=0;for(;E+Q<M;){let W=x[L],H=m.substring(W.startIndex,W.endIndex);Q+=H.length,O.explanation.push({content:H,scopes:o.includeExplanation==="scopeName"?Wm(W.scopes):Gm(q,W.scopes)}),L+=1}}d.push(O)}c.push(d),d=[],u=h.ruleStack}return{tokens:c,stateStack:u}}function Wm(e){return e.map(t=>({scopeName:t}))}function Gm(e,t){let a=[];for(let r=0,o=t.length;r<o;r++){let n=t[r];a[r]={scopeName:n,themeMatches:zm(e,n,t.slice(0,r))}}return a}function gl(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function Vm(e,t,a){if(!gl(e[e.length-1],t))return!1;let r=e.length-2,o=a.length-1;for(;r>=0&&o>=0;)gl(e[r],a[o])&&(r-=1),o-=1;return r===-1}function zm(e,t,a){let r=[];for(let{selectors:o,settings:n}of e)for(let s of o)if(Vm(s,t,a)){r.push(n);break}return r}function vl(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=$o(e,t,{...a,theme:l.theme}),d=Ca(u),c=typeof l.theme=="string"?l.theme:l.theme.name;return{tokens:u,state:d,theme:c}}),n=jm(...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:C,explanation:I,offset:x,...L}=p[u][c];f.variants[r[m].color]=L}),f})),i=o[0].state?new Ut(Object.fromEntries(o.map(l=>[l.theme,l.state?.getInternalStack(l.theme)])),o[0].state.lang):void 0;return i&&Ir(s,i),s}function jm(...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 hr(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(x=>x[1]).map(x=>({color:x[0],theme:x[1]})).sort((x,L)=>x.color===u?-1:L.color===u?1:0);if(f.length===0)throw new ce("`themes` option must not be empty");let p=vl(e,t,a);if(l=Ca(p),u&&jo!==u&&!f.find(x=>x.color===u))throw new ce(`\`themes\` option must contain the defaultColor key \`${u}\``);let m=f.map(x=>e.getTheme(x.theme)),C=f.map(x=>x.color);n=p.map(x=>x.map(L=>km(L,C,d,u,c))),l&&Ir(n,l);let I=f.map(x=>pr(x.theme,a));o=hl(f,m,I,d,u,"fg",c),r=hl(f,m,I,d,u,"bg",c),s=`shiki-themes ${m.map(x=>x.name).join(" ")}`,i=u?void 0:[o,r].join(";")}else if("theme"in a){let u=pr(a.theme,a);n=$o(e,t,a);let d=e.getTheme(a.theme);r=mt(d.bg,u),o=mt(d.fg,u),s=d.name,l=Ca(n)}else throw new ce("Invalid options, either `theme` or `themes` must be provided");return{tokens:n,fg:o,bg:r,themeName:s,rootStyle:i,grammarState:l}}function hl(e,t,a,r,o,n,s){return e.map((i,l)=>{let u=mt(t[l][n],a[l])||"inherit",d=`${r+i.color}${n==="bg"?"-bg":""}:${u}`;if(l===0&&o){if(o===jo&&e.length>1){let c=e.findIndex(C=>C.color==="light"),f=e.findIndex(C=>C.color==="dark");if(c===-1||f===-1)throw new ce('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let p=mt(t[c][n],a[c])||"inherit",m=mt(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 wr(e,t,a,r={meta:{},options:a,codeToHast:(o,n)=>wr(e,o,n),codeToTokens:(o,n)=>hr(e,o,n)}){let o=t;for(let m of gr(a))o=m.preprocess?.call(r,o,a)||o;let{tokens:n,fg:s,bg:i,themeName:l,rootStyle:u,grammarState:d}=hr(e,o,a),{mergeWhitespaces:c=!0,mergeSameStyleTokens:f=!1}=a;c===!0?n=Xm(n):c==="never"&&(n=Km(n)),f&&(n=Qm(n));let p={...r,get source(){return o}};for(let m of gr(a))n=m.tokens?.call(p,n)||n;return $m(n,{...a,fg:s,bg:i,themeName:l,rootStyle:a.rootStyle===!1?!1:a.rootStyle??u},p,d)}function $m(e,t,a,r=Ca(e)){let o=gr(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[C,I]of Object.entries(t.meta||{}))C.startsWith("_")||(u[C]=I);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:yl,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((C,I)=>{I&&(i==="inline"?s.children.push({type:"element",tagName:"br",properties:{},children:[]}):i==="classic"&&n.push({type:"text",value:`
|
|
15
|
-
`}));let x={type:"element",tagName:"span",properties:{class:"line"},children:[]},L=0;for(let h of C){let w={type:"element",tagName:"span",properties:{...h.htmlAttrs},children:[{type:"text",value:h.content}]},S=qo(h.htmlStyle||mr(h));S&&(w.properties.style=S);for(let E of o)w=E?.span?.call(p,w,I+1,L,x,h)||w;i==="inline"?s.children.push(w):i==="classic"&&x.children.push(w),L+=h.content.length}if(i==="classic"){for(let h of o)x=h?.line?.call(p,x,I+1)||x;f.push(x),n.push(x)}else i==="inline"&&f.push(x)}),i==="classic"){for(let C of o)c=C?.code?.call(p,c)||c;d.children.push(c);for(let C of o)d=C?.pre?.call(p,d)||d;s.children.push(d)}else if(i==="inline"){let C=[],I={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(let h of s.children)h.type==="element"&&h.tagName==="br"?(C.push(I),I={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(h.type==="element"||h.type==="text")&&I.children.push(h);C.push(I);let L={type:"element",tagName:"code",properties:{},children:C};for(let h of o)L=h?.code?.call(p,L)||L;s.children=[];for(let h=0;h<L.children.length;h++){h>0&&s.children.push({type:"element",tagName:"br",properties:{},children:[]});let w=L.children[h];w.type==="element"&&s.children.push(...w.children)}}let m=s;for(let C of o)m=C?.root?.call(p,m)||m;return r&&Ir(m,r),m}function Xm(e){return e.map(t=>{let a=[],r="",o;return t.forEach((n,s)=>{let l=!(n.fontStyle&&(n.fontStyle&Pe.Underline||n.fontStyle&Pe.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 Km(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 Qm(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=qo(o.htmlStyle||mr(o)),s=qo(r.htmlStyle||mr(r)),i=o.fontStyle&&(o.fontStyle&Pe.Underline||o.fontStyle&Pe.Strikethrough),l=r.fontStyle&&(r.fontStyle&Pe.Underline||r.fontStyle&Pe.Strikethrough);!i&&!l&&n===s?o.content+=r.content:a.push({...r})}return a})}var Jm=Uo;function Ym(e,t,a){let r={meta:{},options:a,codeToHast:(n,s)=>wr(e,n,s),codeToTokens:(n,s)=>hr(e,n,s)},o=Jm(wr(e,t,a,r));for(let n of gr(a))o=n.postprocess?.call(r,o,a)||o;return o}var wl={light:"#333333",dark:"#bbbbbb"},xl={light:"#fffffe",dark:"#1e1e1e"},Il="__shiki_resolved";function Ko(e){if(e?.[Il])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"?wl.light:wl.dark),a||(a=t.type==="light"?xl.light:xl.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,Il,{enumerable:!1,writable:!1,value:!0}),t}async function Pl(e){return Array.from(new Set((await Promise.all(e.filter(t=>!Cl(t)).map(async t=>await Ll(t).then(a=>Array.isArray(a)?a:[a])))).flat()))}async function Al(e){return(await Promise.all(e.map(async a=>Sl(a)?null:Ko(await Ll(a))))).filter(a=>!!a)}var Ho=3,Zm=!1;function eg(e,t=3){if(Ho&&!(typeof Ho=="number"&&t>Ho)){if(Zm)throw new Error(`[SHIKI DEPRECATE]: ${e}`);console.trace(`[SHIKI DEPRECATE]: ${e}`)}}var pt=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Rl(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 pt(`Circular alias \`${Array.from(a).join(" -> ")} -> ${e}\``);a.add(e)}}return e}var Wo=class extends Xi{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=Ko(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=ma.createFromRawTheme(t),this._textmateThemeCache.set(t,a)),this._syncRegistry.setTheme(a)}getGrammar(t){return t=Rl(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 pt(`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))}},Go=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}},La=0;function tg(e){La+=1,e.warnings!==!1&&La>=10&&La%10===0&&console.warn(`[Shiki] ${La} 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 pt("`engine` option is required for synchronous mode");let a=(e.langs||[]).flat(1),r=(e.themes||[]).flat(1).map(Ko),o=new Go(e.engine,a),n=new Wo(o,r,a,e.langAlias),s;function i(h){return Rl(h,e.langAlias)}function l(h){x();let w=n.getGrammar(typeof h=="string"?h:h.name);if(!w)throw new pt(`Language \`${h}\` not found, you may need to load it first`);return w}function u(h){if(h==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};x();let w=n.getTheme(h);if(!w)throw new pt(`Theme \`${h}\` not found, you may need to load it first`);return w}function d(h){x();let w=u(h);s!==h&&(n.setTheme(w),s=h);let S=n.getColorMap();return{theme:w,colorMap:S}}function c(){return x(),n.getLoadedThemes()}function f(){return x(),n.getLoadedLanguages()}function p(...h){x(),n.loadLanguages(h.flat(1))}async function m(...h){return p(await Pl(h))}function C(...h){x();for(let w of h.flat(1))n.loadTheme(w)}async function I(...h){return x(),C(await Al(h))}function x(){if(t)throw new pt("Shiki instance has been disposed")}function L(){t||(t=!0,n.dispose(),La-=1)}return{setTheme:d,getTheme:u,getLanguage:l,getLoadedThemes:c,getLoadedLanguages:f,resolveLangAlias:i,loadLanguage:m,loadLanguageSync:p,loadTheme:I,loadThemeSync:C,dispose:L,[Symbol.dispose]:L}}async function ag(e){e.engine||eg("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,a,r]=await Promise.all([Al(e.themes||[]),Pl(e.langs||[]),e.engine]);return tg({...e,themes:t,langs:a,engine:r})}async function rg(e){let t=await ag(e);return{getLastGrammarState:(...a)=>Hm(t,...a),codeToTokensBase:(a,r)=>$o(t,a,r),codeToTokensWithThemes:(a,r)=>vl(t,a,r),codeToTokens:(a,r)=>hr(t,a,r),codeToHast:(a,r)=>wr(t,a,r),codeToHtml:(a,r)=>Ym(t,a,r),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function Ml(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,Cl(c))return[];let f=t[c];if(!f)throw new ce(`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(Sl(c))return"none";if(typeof c=="string"){let f=a[c];if(!f)throw new ce(`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 rg({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 og(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 Fl(e,t){let a=og(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 Qo=[{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-PU3MXNBE.js"))},{id:"angular-ts",name:"Angular TypeScript",import:(()=>import("../angular-ts-WMZKXXGP.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-YU3KF3Y6.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-YKL22AM4.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-YD3RINFS.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-AUUIRTAZ.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-44UF6IIM.js"))},{id:"elixir",name:"Elixir",import:(()=>import("../elixir-ZJ4WTHOY.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-ZF7YKJP7.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-TKADNZF5.js"))},{id:"glimmer-ts",name:"Glimmer TS",aliases:["gts"],import:(()=>import("../glimmer-ts-WFYWDU2O.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-HCRIHDCF.js"))},{id:"haml",name:"Ruby Haml",import:(()=>import("../haml-335RVEQR.js"))},{id:"handlebars",name:"Handlebars",aliases:["hbs"],import:(()=>import("../handlebars-7EKNR6OR.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-G4Q6FSTL.js"))},{id:"html-derivative",name:"HTML (Derivative)",import:(()=>import("../html-derivative-2AGKXLI2.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-K2EDFFOP.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-YEOV5OY7.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-I5IJFJ2O.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-JXWLGPJS.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-HORNVRGS.js"))},{id:"php",name:"PHP",import:(()=>import("../php-JGPDZKQ3.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-3YFWZUJ6.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-7T4OK2LD.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-SR6APMGO.js"))},{id:"ruby",name:"Ruby",aliases:["rb"],import:(()=>import("../ruby-IYOQSPDU.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-WHPD3NJL.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-VI6LYHRW.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-MU4UAPH3.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-OY2C64LG.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-M6XWA362.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"))}],El=Object.fromEntries(Qo.map(e=>[e.id,e.import])),Dl=Object.fromEntries(Qo.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),Sa={...El,...Dl};var ng=[{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"))}],Bl=Object.fromEntries(ng.map(e=>[e.id,e.import]));var ya=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function sg(){return 2147483648}function ig(){return typeof performance<"u"?performance.now():Date.now()}var lg=(e,t)=>e+(t-e%t)%t;async function ug(e){let t,a,r={};function o(p){a=p,r.HEAPU8=new Uint8Array(p),r.HEAPU32=new Uint32Array(p)}function n(p,m,C){r.HEAPU8.copyWithin(p,m,m+C)}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 C=sg();if(p>C)return!1;for(let I=1;I<=4;I*=2){let x=m*(1+.2/I);x=Math.min(x,p+100663296);let L=Math.min(C,lg(Math.max(p,x),65536));if(s(L))return!0}return!1}let l=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function u(p,m,C=1024){let I=m+C,x=m;for(;p[x]&&!(x>=I);)++x;if(x-m>16&&p.buffer&&l)return l.decode(p.subarray(m,x));let L="";for(;m<x;){let h=p[m++];if(!(h&128)){L+=String.fromCharCode(h);continue}let w=p[m++]&63;if((h&224)===192){L+=String.fromCharCode((h&31)<<6|w);continue}let S=p[m++]&63;if((h&240)===224?h=(h&15)<<12|w<<6|S:h=(h&7)<<18|w<<12|S<<6|p[m++]&63,h<65536)L+=String.fromCharCode(h);else{let E=h-65536;L+=String.fromCharCode(55296|E>>10,56320|E&1023)}}return L}function d(p,m){return p?u(r.HEAPU8,p,m):""}let c={emscripten_get_now:ig,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 dg=Object.defineProperty,cg=(e,t,a)=>t in e?dg(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Ce=(e,t,a)=>cg(e,typeof t!="symbol"?t+"":t,a),Te=null;function fg(e){throw new ya(e.UTF8ToString(e.getLastOnigError()))}var Cr=class e{constructor(t){Ce(this,"utf16Length"),Ce(this,"utf8Length"),Ce(this,"utf16Value"),Ce(this,"utf8Value"),Ce(this,"utf16OffsetToUtf8"),Ce(this,"utf8OffsetToUtf16");let a=t.length,r=e._utf8ByteLength(t),o=r!==a,n=o?new Uint32Array(a+1):null;o&&(n[a]=r);let s=o?new Uint32Array(r+1):null;o&&(s[r]=a);let i=new Uint8Array(r),l=0;for(let u=0;u<a;u++){let 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}},Sr=class Ze{constructor(t){if(Ce(this,"id",++Ze.LAST_ID),Ce(this,"_onigBinding"),Ce(this,"content"),Ce(this,"utf16Length"),Ce(this,"utf8Length"),Ce(this,"utf16OffsetToUtf8"),Ce(this,"utf8OffsetToUtf16"),Ce(this,"ptr"),!Te)throw new ya("Must invoke loadWasm first.");this._onigBinding=Te,this.content=t;let a=new Cr(t);this.utf16Length=a.utf16Length,this.utf8Length=a.utf8Length,this.utf16OffsetToUtf8=a.utf16OffsetToUtf8,this.utf8OffsetToUtf16=a.utf8OffsetToUtf16,this.utf8Length<1e4&&!Ze._sharedPtrInUse?(Ze._sharedPtr||(Ze._sharedPtr=Te.omalloc(1e4)),Ze._sharedPtrInUse=!0,Te.HEAPU8.set(a.utf8Value,Ze._sharedPtr),this.ptr=Ze._sharedPtr):this.ptr=a.createString(Te)}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===Ze._sharedPtr?Ze._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};Ce(Sr,"LAST_ID",0);Ce(Sr,"_sharedPtr",0);Ce(Sr,"_sharedPtrInUse",!1);var _l=Sr,Yo=class{constructor(t){if(Ce(this,"_onigBinding"),Ce(this,"_ptr"),!Te)throw new ya("Must invoke loadWasm first.");let a=[],r=[];for(let i=0,l=t.length;i<l;i++){let u=new Cr(t[i]);a[i]=u.createString(Te),r[i]=u.utf8Length}let o=Te.omalloc(4*t.length);Te.HEAPU32.set(a,o/4);let n=Te.omalloc(4*t.length);Te.HEAPU32.set(r,n/4);let s=Te.createOnigScanner(o,n,t.length);for(let i=0,l=t.length;i<l;i++)Te.ofree(a[i]);Te.ofree(n),Te.ofree(o),s===0&&fg(Te),this._onigBinding=Te,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 _l(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 pg(e){return typeof e.instantiator=="function"}function mg(e){return typeof e.default=="function"}function gg(e){return typeof e.data<"u"}function hg(e){return typeof Response<"u"&&e instanceof Response}function wg(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 Lr;function xg(e){if(Lr)return Lr;async function t(){Te=await ug(async a=>{let r=e;return r=await r,typeof r=="function"&&(r=await r(a)),typeof r=="function"&&(r=await r(a)),pg(r)?r=await r.instantiator(a):mg(r)?r=await r.default(a):(gg(r)&&(r=r.data),hg(r)?typeof WebAssembly.instantiateStreaming=="function"?r=await Ig(r)(a):r=await Lg(r)(a):wg(r)?r=await Jo(r)(a):r instanceof WebAssembly.Module?r=await Jo(r)(a):"default"in r&&r.default instanceof WebAssembly.Module&&(r=await Jo(r.default)(a))),"instance"in r&&(r=r.instance),"exports"in r&&(r=r.exports),r})}return Lr=t(),Lr}function Jo(e){return t=>WebAssembly.instantiate(e,t)}function Ig(e){return t=>WebAssembly.instantiateStreaming(e,t)}function Lg(e){return async t=>{let a=await e.arrayBuffer();return WebAssembly.instantiate(a,t)}}async function Ol(e){return e&&await xg(e),{createScanner(t){return new Yo(t.map(a=>typeof a=="string"?a:a.source))},createString(t){return new _l(t)}}}var yr=Ml({langs:Sa,themes:Bl,engine:()=>Ol(import("../wasm-EOPKAILK.js"))}),{codeToHtml:Cg,codeToHast:Sg,codeToTokens:yg,codeToTokensBase:bg,codeToTokensWithThemes:kg,getSingletonHighlighter:Tg,getLastGrammarState:vg}=Fl(yr,{guessEmbeddedLanguages:bl});var Ul=new Set(Object.keys(Sa)),Zo=new Map,en=new Map,Nt=new Map,Pg=(e,t)=>`${e}-${t[0]}-${t[1]}`,Ag=(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}`},Rg=(e,t)=>{let a=Pg(e,t);if(Zo.has(a))return Zo.get(a);let r=yr({themes:t,langs:[e]});return Zo.set(a,r),r};function Mg(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=Ag(r,o,n);return en.has(i)?en.get(i):(s&&(Nt.has(i)||Nt.set(i,new Set),Nt.get(i).add(s)),Rg(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]}});en.set(i,d);let c=Nt.get(i);if(c){for(let f of c)f(d);Nt.delete(i)}}).catch(l=>{console.error("[Streamdown Code] Failed to highlight code:",l),Nt.delete(i)}),null)}}}var Nl=Mg();import{memo as Bg}from"react";import{useEffect as Fg,useRef as br,useState as Eg}from"react";var Dg=5,Hl=400;function ql(e,t,a={}){let{msPerChar:r=Dg}=a,[o,n]=Eg(t?"":e),s=br(e),i=br(t?0:e.length),l=br(0),u=br(null);return(e.length<i.current||!e.startsWith(o.slice(0,i.current)))&&(i.current=t?0:e.length),s.current=e,Fg(()=>{if(!t){u.current!==null&&(cancelAnimationFrame(u.current),u.current=null),i.current=e.length,n(e);return}if(s.current.length-i.current>Hl&&(i.current=s.current.length-Hl),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 C=Math.min(Math.floor(m/r),p.length-i.current);i.current+=C,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 kr}from"react/jsx-runtime";var tn=({className:e,from:t,children:a,...r})=>kr("div",{className:k("ww-message ww:group ww:flex ww:w-full",t==="user"?"ww-message-user is-user ww:ml-auto ww:flex-col ww:items-end ww:[max-width:var(--ww-msg-max-width,80%)]":"ww-message-assistant is-assistant ww:flex-col",e),...r,children:kr("div",{className:k("ww:flex ww:min-w-0 ww:flex-col ww:gap-2","ww:w-full"),children:a})}),an=({children:e,className:t,...a})=>kr("div",{className:k("ww-bubble ww:flex ww:w-fit ww:min-w-0 ww:max-w-full ww:flex-col ww:gap-2 ww:overflow-hidden","ww:[font-size:var(--ww-font-size,1rem)] ww:[line-height:var(--ww-line-height,1.5)]","ww:group-[.is-user]:ml-auto ww:group-[.is-user]:bg-user-bubble ww:group-[.is-user]:[color:var(--ww-color-user-bubble-text)] ww:group-[.is-user]:[border-radius:var(--ww-msg-radius,8px)] ww:group-[.is-user]:[padding:var(--ww-msg-pad-y,12px)_var(--ww-msg-pad-x,16px)]","ww:group-[.is-assistant]:text-foreground",t),...a,children:e}),_g={cjk:bo,code:Nl},Og={cjk:bo},Ug={enabled:!1};function Ng({className:e,linkSafety:t,isStreaming:a,children:r,...o}){let s=ql(typeof r=="string"?r:"",!!a),i=typeof r=="string"?s:r;return kr(Gt,{className:k("ww:size-full ww:[&>*:first-child]:mt-0 ww:[&>*:last-child]:mb-0",e),linkSafety:t??Ug,plugins:a?Og:_g,...o,children:i})}var Tr=Bg(Ng,(e,t)=>e.children===t.children&&e.isStreaming===t.isStreaming);Tr.displayName="MessageResponse";import{jsx as Wl,jsxs as Hg}from"react/jsx-runtime";function Gl(e){return e.type==="text"||e.type==="reasoning"||e.type==="file"||"toolCallId"in e}function Vl(e){return e.parts.some(Gl)}function zl(e,t,a){if(t!=="submitted"&&t!=="streaming")return!1;let r=e[e.length-1];return!r||r.role!=="assistant"?!0:!r.parts.some(n=>!(!Gl(n)||a?.ignoreToolParts&&"toolCallId"in n||a?.ignoreReasoningParts&&n.type==="reasoning"))}function jl({className:e,...t}){let{t:a}=z();return Hg("div",{"aria-live":"polite",className:k("ww:mb-4 ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground",e),style:{animation:"ww-fade-in 0.2s ease-out"},...t,children:[Wl(ea,{className:"ww:size-4 ww:shrink-0"}),Wl(Ve,{duration:1.6,children:a.workingIndicator.default})]})}import{jsx as ba,jsxs as qg}from"react/jsx-runtime";function $l({icon:e,title:t,description:a,suggestions:r,onSuggestionSelect:o}){return qg("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&&ba("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}),ba("h2",{className:"ww:text-lg ww:font-semibold ww:text-foreground",children:t}),a&&ba("p",{className:"ww:mt-1 ww:text-sm ww:text-muted-foreground ww:max-w-sm",children:a}),r&&r.length>0&&ba("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)=>ba("button",{type:"button",onClick:()=>o?.(n),className:k("ww:w-full ww:text-left ww:rounded-xl ww:border ww:border-border ww:bg-background ww:px-4 ww:py-3 ww:text-sm","ww:text-foreground ww:hover:bg-accent ww:hover:border-primary/30","ww:transition-all ww:duration-200 ww:ease-out ww:cursor-pointer","ww:animate-[ww-fade-in_0.2s_ease-out_both]"),style:{animationDelay:`${s*50}ms`},children:n},n))})]})}import{Component as Wg}from"react";import{jsx as rn,jsxs as Vg}from"react/jsx-runtime";function Gg({onRetry:e}){let{t}=z();return Vg("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:[rn("span",{children:t.widgetErrorBoundary.failedToLoad}),rn("button",{type:"button",onClick:e,className:"ww:text-xs ww:font-medium ww:text-primary ww:hover:underline",children:t.widgetErrorBoundary.retry})]})}var vr=class extends Wg{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.warn("[Waniwani] Widget failed to render:",t.message)}render(){return this.state.hasError?rn(Gg,{onRetry:()=>this.setState({hasError:!1})}):this.props.children}};import{Fragment as zg,jsx as se,jsxs as gt}from"react/jsx-runtime";function on(e){return e?e.replace(/[-_]/g," ").replace(/^\w/,t=>t.toUpperCase()):"Tool"}function Xl(e){return e&&/search|find|lookup|query|web|browse|google/i.test(e)?Qt:It}function Kl({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:C}){let{t:I}=z(),x=e[e.length-1],L=e.length>0,h=c!=null,w=!h&&zl(e,t,{ignoreToolParts:p===!1,ignoreReasoningParts:p===!1});return gt(zg,{children:[!h&&(!L&&r?se($l,{...r,onSuggestionSelect:o}):a&&se(tn,{from:"assistant",children:se(an,{children:se(Tr,{children:a})})})),e.map(S=>{let E=S.parts.filter(T=>T.type==="text"),M=S.parts.filter(T=>T.type==="reasoning"),A=S.parts.filter(T=>T.type==="file"),j=Es(S.metadata),F=S.parts.filter(T=>"toolCallId"in T),O=S.parts.filter(T=>T.type==="reasoning"||"toolCallId"in T),q=S===x&&S.role==="assistant",Q=E.length>0,W=h?F.some(T=>T.toolCallId===c):!1,H=p!==!1&&!W&&O.length>=2;return h&&!W?se("div",{style:{display:"none"}},S.id):S.role==="assistant"&&!Vl(S)?se("div",{style:{display:"none"}},S.id):p===!1&&S.role==="assistant"&&!Q&&A.length===0&&F.every(T=>{let y="output"in T?T.output:void 0;return y===void 0||!n||!aa(T.toolName,y,m)})?se("div",{style:{display:"none"}},S.id):gt(tn,{from:S.role,className:C?.message,children:[p!==!1&&!W&&!H&&M.map((T,y)=>gt(la,{isStreaming:T.state==="streaming",children:[se(ua,{}),se(da,{children:T.text})]},`reasoning-${S.id}-${y}`)),H&&(()=>{let T=O[O.length-1],y=T.type==="reasoning"?{icon:et,label:I.reasoning.thinking}:{icon:Xl(T.toolName),label:T.title??on(T.toolName)};return gt(ni,{isWorking:q&&(t==="streaming"||t==="submitted"),activeStep:y,children:[se(si,{workingLabel:I.chainOfThought.working,label:I.chainOfThought.done}),se(ii,{children:O.map((v,Z)=>{let ee=Z===O.length-1;if(v.type==="reasoning")return se(ui,{isStreaming:v.state==="streaming",isLast:ee,children:v.text},`reasoning-${S.id}-${Z}`);let Fe=v.title??on(v.toolName),Ne=Xl(v.toolName);if(p==="titles-only")return se(Co,{icon:Ne,title:Fe,state:v.state,isLast:ee},v.toolCallId);let b="output"in v?v.output:void 0;return gt(Co,{icon:Ne,title:Fe,state:v.state,isLast:ee,children:[se(eo,{input:v.input,debug:f}),b!==void 0&&se(to,{output:b,errorText:"errorText"in v?v.errorText:void 0,debug:f})]},v.toolCallId)})})]})})(),p!==!1&&!W&&!H&&F.length===1&&(()=>{let T=F[0],y=T.title??on(T.toolName);if(p==="titles-only")return se(ls,{title:y,state:T.state});let v="output"in T?T.output:void 0;return gt(ss,{children:[se(is,{title:y,state:T.state}),gt(us,{children:[se(eo,{input:T.input,debug:f}),v!==void 0&&se(to,{output:v,errorText:"errorText"in T?T.errorText:void 0,debug:f})]})]})})(),F.map(T=>{let y="output"in T?T.output:void 0,v=aa(T.toolName,y,m),Z=ds(T.toolName,y,m),ee=T.toolCallId===c;return v&&n&&y!==void 0?se("div",{style:ee?{position:"absolute",inset:0,zIndex:10,display:"flex",flexDirection:"column",overflow:"hidden",background:"var(--ww-color-background)"}:void 0,children:v&&n&&y!==void 0&&se(vr,{children:se(na,{isFullscreen:ee,resourceUri:v,toolInput:T.input??{},toolResult:{content:y.content,structuredContent:y.structuredContent,_meta:y._meta},resourceEndpoint:n,chatSessionId:s,isDark:i,autoHeight:Z,toolDefinitions:m,onFollowUp:l,onCallTool:u,onDisplayModeChange:d?Fe=>d(Fe,{toolCallId:T.toolCallId,resourceUri:v,toolInput:T.input??{},toolResult:{content:y.content,structuredContent:y.structuredContent,_meta:y._meta},autoHeight:Z}):void 0})})},T.toolCallId):null}),!W&&j.length>0&&se(Ds,{documents:j}),!W&&se("div",{children:gt(an,{className:k(S.role==="user"?C?.userBubble:C?.assistantBubble),children:[A.length>0&&se(Ms,{files:A}),Q?E.map((T,y)=>{let v=q&&t==="streaming"&&y===E.length-1;return se(Tr,{isStreaming:v,children:T.type==="text"?T.text:""},`${S.id}-${y}`)}):null]})})]},S.id)}),w&&se(jl,{})]})}import{jsx as Ql,jsxs as Xg}from"react/jsx-runtime";var jg="https://app.waniwani.ai/assets/waniwani-logo.svg",$g="https://waniwani.ai";function Jl(){let{t:e}=z();return Xg("a",{href:$g,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:[Ql("span",{children:e.poweredBy.label}),Ql("img",{src:jg,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,align:r="start",className:o,...n}){return e.length===0&&!t?null:Pr("div",{className:k("ww:px-4 ww:py-2",o),...n,children:Pr("div",{className:k("ww:mx-auto ww:w-full ww:max-w-3xl ww:flex ww:flex-wrap ww:gap-2",r==="center"&&"ww:justify-center"),children:t?[0,1,2].map(s=>Pr("div",{className:"ww:h-8 ww:rounded-full ww:bg-accent ww:animate-pulse",style:{width:`${60+s*20}px`}},s)):e.map((s,i)=>Pr("button",{type:"button",onClick:()=>a(s),className:k("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:`${i*50}ms`},children:s},s))})})}import{useEffect as Kg,useRef as Qg,useState as Jg}from"react";import{jsx as fe,jsxs as vt}from"react/jsx-runtime";var Zl=20;function Yg({label:e}){return vt("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:[fe("title",{children:e}),fe("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),fe("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}function Zg({label:e}){return vt("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:[fe("title",{children:e}),fe("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),fe("polyline",{points:"3 4 3 9 8 9"}),fe("line",{x1:"12",y1:"7",x2:"12",y2:"12"}),fe("line",{x1:"12",y1:"12",x2:"15",y2:"14"})]})}function eh({label:e}){return vt("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:[fe("title",{children:e}),fe("polyline",{points:"3 6 5 6 21 6"}),fe("path",{d:"M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6"}),fe("path",{d:"M10 11v6"}),fe("path",{d:"M14 11v6"})]})}function eu({threads:e,activeThreadId:t,onNewThread:a,onSelectThread:r,onDeleteThread:o}){let{locale:n,t:s}=z(),[i,l]=Jg(!1),u=Qg(null);Kg(()=>{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,Zl),c=Math.max(0,e.length-Zl);return vt("div",{ref:u,className:"ww:relative ww:flex ww:items-center ww:gap-1",children:[fe("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:fe(Yg,{label:s.threadMenu.newChat})}),fe("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:fe(Zg,{label:s.threadMenu.threadHistory})}),i&&vt("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&&fe("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 vt("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:[vt("button",{type:"button",onClick:()=>{r(f.threadId),l(!1)},className:"ww:flex-1 ww:min-w-0 ww:text-left ww:cursor-pointer",children:[fe("div",{className:"ww:truncate ww:text-foreground ww:font-medium",children:f.title}),fe("div",{className:"ww:text-[10px] ww:text-muted-foreground",children:Number.isNaN(m)?"":Qr(m,n)})]}),fe("button",{type:"button",onClick:C=>{C.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:fe(eh,{label:s.threadMenu.deleteThread})})]},f.threadId)}),c>0&&fe("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 th,useContext as ah}from"react";function tu(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 au(){return{subscribe(){return()=>{}},emit(){}}}var ru=th(au());function Ar(){return ah(ru)}var ou=ru.Provider;import{useCallback as rh,useRef as oh}from"react";function nu(e){let t=oh(e);return t.current=e,rh(async a=>{let{api:r,headers:o,onCallTool:n,sessionId:s}=t.current;if(n)return n(a);let i=ze(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 gh}from"@ai-sdk/react";import{useCallback as ue,useEffect as Ue,useRef as pe,useState as ht}from"react";var nh="/api/mcp/modules/documents",sh=2e4,ih=3e5,We=class extends Error{code;constructor(t,a){super(a),this.name="DocumentUploadError",this.code=t}};function su(e,t){return Na(e,`${nh}${t}`)}function lh(e){return su(e,"/upload-url")}function iu(e,t){let a=new Headers(e);return new Headers(t).forEach((r,o)=>{a.set(o,r)}),a}function uh(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 dh(e){return e===403?new We("upload_disabled","This agent does not accept document uploads."):e===413?new We("max_file_size","That file is too large."):e===422||e===400?new We("accept","That file type is not accepted."):new We("upload_failed",`The upload could not be started (${e}).`)}function ch(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=ih;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 We("upload_failed",`The upload was rejected (${r.status}).`))},r.onerror=()=>{n(),a(new We("upload_failed","The upload could not be completed."))},r.ontimeout=()=>{n(),a(new We("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 Rr(e){let t=su(e.api,`/${e.documentId}`);if(t)try{await fetch(t,{method:"DELETE",headers:iu(e.headers,e.uploadHeaders)})}catch{}}async function lu(e){e.signal.throwIfAborted();let t=lh(e.api);if(!t)throw new We("upload_disabled","This agent does not accept document uploads.");let a=new AbortController,r=setTimeout(()=>a.abort(),sh),o=()=>a.abort(e.signal.reason);e.signal.addEventListener("abort",o,{once:!0});let n;try{let i=iu(e.headers,e.uploadHeaders);i.set("Content-Type","application/json"),n=await fetch(t,{method:"POST",headers:i,signal:a.signal,body:JSON.stringify({filename:e.file.name,contentType:e.file.type,byteSize:e.file.size,...e.sessionId?{sessionId:e.sessionId}:{}})})}catch(i){throw e.signal.aborted?i:new We("upload_failed","The upload could not be started.")}finally{clearTimeout(r),e.signal.removeEventListener("abort",o)}if(!n.ok)throw dh(n.status);let s=uh(await n.json().catch(()=>null));if(e.signal.throwIfAborted(),!s)throw new We("upload_failed","The upload could not be started.");return await ch({url:s.uploadUrl,headers:s.headers,file:e.file,signal:e.signal,onProgress:e.onProgress}),{documentId:s.documentId,filename:e.file.name,mediaType:e.file.type}}import{DefaultChatTransport as fh,uiMessageChunkSchema as ph}from"ai";function mh(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 Mr=class extends fh{processResponseStream(t){let a="",r=ph(),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=mh(f.error);if(p?.length){let m={...c};for(let I of p)delete m[I];let C=await o(m);C.success&&s.enqueue(C.value)}}catch{}}}}))}};var uu=50,du=1e3;function Fr(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 Er(e){if(typeof indexedDB>"u")return null;let t=null;try{return t=await io(),await e(t)}catch{return null}finally{try{t?.close()}catch{}}}function nn(e){return new Promise((t,a)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>a(e.error)})}async function sn(e){return await Er(async a=>{let n=a.transaction(Be,"readonly").objectStore(Be).index(Ha),i=(await nn(n.getAll(e))??[]).filter(Fr);return i.sort((l,u)=>l.updatedAt<u.updatedAt?1:-1),i})??[]}async function Dr(e){return await Er(async a=>{let o=a.transaction(Be,"readonly").objectStore(Be),n=await nn(o.get(e));return Fr(n)?n:null})??null}async function ln(e){if(!Fr(e))return;let t=e.messages.length>du?{...e,messages:e.messages.slice(e.messages.length-du)}:e;await Er(async a=>{await new Promise((l,u)=>{let d=a.transaction(Be,"readwrite");d.oncomplete=()=>l(),d.onerror=()=>u(d.error),d.onabort=()=>u(d.error),d.objectStore(Be).put(t)});let r=a.transaction(Be,"readwrite"),o=r.objectStore(Be),n=o.index(Ha),i=(await nn(n.getAll(t.memoryUserId))??[]).filter(Fr);if(i.length>uu){i.sort((u,d)=>u.updatedAt<d.updatedAt?-1:1);let l=i.slice(0,i.length-uu);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 cu(e){await Er(async t=>(await new Promise((a,r)=>{let o=t.transaction(Be,"readwrite");o.oncomplete=()=>a(),o.onerror=()=>r(o.error),o.onabort=()=>r(o.error),o.objectStore(Be).delete(e)}),null))}async function un(e){return(await sn(e))[0]?.threadId??null}function fu(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 hh="x-session-id",wh=250,xh=200;function pu(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():sa()}function Br(){return new Date().toISOString()}function mu(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}async function Ih(e,t){let a=ze(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 gu(e){let{api:t="/api/waniwani",headers:a,uploadHeaders:r,body:o,onMessageSent:n,onResponseReceived:s,enableThreadHistory:i=!1,activeThreadId:l,onThreadChange:u}=e,d=e.visitorId;Ue(()=>oo(d),[d]);let c=Ar(),f=pe(a),p=pe(r),m=pe(o),C=pe(i);Ue(()=>{C.current=i},[i]);let I=pe(void 0),x=pe(void 0),L=pe(null),[h,w]=ht(void 0),S=pe(h),[E,M]=ht(l),A=pe(E),[j,F]=ht([]),[O,q]=ht(!i),Q=pe(void 0),W=pe(void 0),H=pe(void 0),T=pe(void 0),y=pe(0),v=pe(u);Ue(()=>{v.current=u},[u]);let Z=ue(g=>{A.current=g,M(g),g&&(v.current?.(g),c.emit({name:"thread.changed",sessionId:S.current,properties:{threadId:g}}))},[c]),ee=ue(async()=>{if(!i)return;let g=L.current?.memoryUserId;if(!g)return;let R=await sn(g);F(R)},[i]),Fe=ue(()=>S.current,[]),Ne=ue(g=>{let R=mu(g);if(!R||S.current===R)return;let B=S.current===void 0;S.current=R,w(R),B&&c.emit({name:"session.started",properties:{sessionId:R}})},[c]),b=ue(()=>{S.current=void 0,w(void 0)},[]);Ue(()=>{f.current=a,p.current=r},[a,r]),Ue(()=>{m.current=o},[o]),Ue(()=>{let g=!1,R=y.current;return(async()=>{try{let te=await ra();if(g)return;L.current=te}catch{}if(!i)return;let B=L.current?.memoryUserId;if(!B){q(!0);return}try{let te=l??await un(B);if(g||R!==y.current)return;if(te){let ye=await Dr(te);if(g||R!==y.current)return;ye&&ye.memoryUserId===B&&(A.current=ye.threadId,M(ye.threadId),Q.current=ye.createdAt,W.current=ye.title,ye.sessionId&&(S.current=ye.sessionId,w(ye.sessionId)),U(ye.messages))}await ee()}finally{g||q(!0)}})(),()=>{g=!0}},[]);let D=pe(null),_=ue(g=>{let R=m.current?.[g];return typeof R=="string"?R:void 0},[]),ae=ue(()=>({api:t,token:Wa(f.current),channelId:_("channelId"),sessionId:S.current}),[t,_]),de=ue(g=>{let R=D.current;D.current=null,R?.report(ae(),{mode:_("mode"),outcome:g})},[ae,_]),he=pe(new Mr({api:t,headers:()=>({...f.current}),body:()=>{let g={...m.current??{}},R=Object.hasOwn(g,"sessionId"),B=mu(g.sessionId);if(B)Ne(B),g.sessionId=B;else if(R)b(),delete g.sessionId;else{let qr=Fe();qr&&(g.sessionId=qr)}Mt(I.current)&&(g.modelContext=I.current),x.current?.length&&(g.documents=x.current);let te=L.current,ye=He();te&&(g.visitorContext={timezone:te.timezone,language:te.language,languages:te.languages,deviceType:te.deviceType,referrer:te.referrer,visitorId:ye});let we=typeof g.visitor=="object"&&g.visitor!==null?g.visitor:{},gd=typeof we.client=="object"&&we.client!==null?we.client:{};g.visitor={...we,id:ye,client:{...gd,...te&&{memoryUserId:te.memoryUserId}}};let Mn=typeof g.extra=="object"&&g.extra!==null&&!Array.isArray(g.extra)?g.extra:void 0,Fn=L.current?.memoryUserId,En=L.current?.language,Ea={};if(Fn&&(Ea.memoryUserId=Fn),En&&(Ea.locale=En),(Object.keys(Ea).length>0||Mn)&&(g.extra={...Ea,...Mn??{}}),C.current)if(Object.hasOwn(g,"threadId"))typeof g.threadId=="string"&&(A.current=g.threadId);else{let Da=A.current;Da||(Da=pu(),Q.current=Br(),W.current=void 0,Z(Da)),g.threadId=Da}return g},fetch:(async(g,R)=>{let B=D.current;B?.mark("requestStart");try{let te=await fetch(g,R);return I.current=void 0,Ne(te.headers.get(hh)),B?B.instrument(te):te}finally{x.current=void 0}})})),K=pe(null),J=pe(null),V=pe({}),[me,Se]=ht(0),re=e.skipRemoteConfig===!0,$=ue(async()=>{if(!re)try{let g=await Ih(t,f.current);V.current=g,Se(R=>R+1)}catch(g){console.warn("[Waniwani] Failed to fetch tool definitions:",g instanceof Error?g.message:g)}},[t,re]);Ue(()=>{$()},[$]);let{messages:N,sendMessage:G,setMessages:U,status:ie,stop:Re}=gh({messages:e.initialMessages,transport:he.current,onFinish({message:g,isAbort:R,isDisconnect:B,isError:te}){D.current?.mark("streamEnd"),de(R||B||te?"error":"ok"),s?.(),!R&&!B&&!te&&c.emit({name:"message.received"}),K.current&&(J.current=g)},onError(g){de("error"),console.warn("[Waniwani] Chat error:",g.message),c.emit({name:"chat.error",properties:{message:g.message.slice(0,xh)}}),K.current&&(K.current.reject(g),K.current=null)}}),Ee=pe(N);Ue(()=>{Ee.current=N},[N]);let De=ue(()=>{D.current=Is(Ee.current.filter(g=>g.role==="user").length+1)},[]),[Xe,Pa]=ht(!1),Aa=ue(async()=>{Pa(!0);try{await Re();let g=S.current;if(!g)return;await fetch(ze(t,"/cancel"),{method:"POST",headers:{"Content-Type":"application/json",...f.current},body:JSON.stringify({sessionId:g})})}catch{}finally{Pa(!1)}},[t,Re]),P=pe(i);Ue(()=>{if(!i||P.current||(P.current=!0,Ee.current.length>0))return;let g=!1,R=y.current;return q(!1),(async()=>{try{let B=L.current;if(!B)try{B=await ra(),L.current=B}catch{}let te=B?.memoryUserId;if(!te||g||R!==y.current){g||q(!0);return}let ye=l??await un(te);if(g||R!==y.current)return;if(ye){let we=await Dr(ye);if(g||R!==y.current)return;we&&we.memoryUserId===te&&(A.current=we.threadId,M(we.threadId),Q.current=we.createdAt,W.current=we.title,we.sessionId&&(S.current=we.sessionId,w(we.sessionId)),U(we.messages))}await ee()}finally{g||q(!0)}})(),()=>{g=!0}},[i]),Ue(()=>{if(ie==="ready"&&K.current&&J.current){let g=K.current,R=J.current;K.current=null,J.current=null,g.resolve(R)}},[ie]);let[Y,oe]=ht(""),[Ie,Ge]=ht([]),nt=pe([]);nt.current=Ie;let xt=ie==="submitted"||ie==="streaming",Ra=ue(g=>{for(let R of g)for(let B of R.documents??[])Rr({documentId:B.documentId,api:t,headers:f.current,uploadHeaders:p.current})},[t]),st=ue(()=>{Ra(nt.current),Ge([])},[Ra]),nd=ue(g=>{let R=nt.current.find(B=>B.id===g);R&&Ra([R]),Ge(B=>B.filter(te=>te.id!==g))},[Ra]),sd=xt&&Ie.length>0,id=ue(g=>{let R=!!g.text?.trim(),B=!!(g.files?.length||g.documents?.length);if(R||B){if(xt){if(Ie.length>0)return;Ge(te=>[...te,{id:sa(),text:g.text||"",files:g.files??[],documents:g.documents??[],modelContext:g.modelContext}]),oe("");return}De(),I.current=g.modelContext,x.current=g.documents,G({text:g.text||"",files:g.files,...g.documents?.length&&{metadata:{documents:g.documents}}}),n?.(g.text||""),c.emit({name:"message.sent"}),oe("")}},[G,n,xt,Ie.length,c,De]),ld=ue(g=>new Promise((R,B)=>{K.current={resolve:R,reject:B},De(),G({text:g}),n?.(g),c.emit({name:"message.sent"})}),[G,n,c,De]);Ue(()=>{if(ie!=="ready"||Xe||Ie.length===0)return;let[g,...R]=Ie;Ge(R),De(),I.current=g.modelContext,x.current=g.documents,G({text:g.text,files:g.files.length>0?g.files:void 0,...g.documents.length>0&&{metadata:{documents:g.documents}}}),n?.(g.text),c.emit({name:"message.sent"})},[ie,Xe,G,n,Ie,c,De]);let ud=ue(()=>{U([]),st(),b(),oe(""),V.current={},Se(g=>g+1),$()},[U,b,$,st]),Ma=ue(()=>{if(!C.current)return;let g=L.current?.memoryUserId,R=A.current,B=Ee.current;if(!(!g||!R||B.length===0)){if(Q.current||(Q.current=Br()),!W.current){let te=B.find(we=>we.role==="user"),ye=te?te.parts.map(we=>"text"in we&&typeof we.text=="string"?we.text:"").join(" "):"";W.current=fu(ye)}return{threadId:R,memoryUserId:g,title:W.current,messages:B,sessionId:S.current,createdAt:Q.current,updatedAt:Br()}}},[]),Pn=ue(async()=>{let g=Ma();g&&(await ln(g),await ee())},[Ma,ee]);Ue(()=>{if(i&&O&&!(ie==="submitted"||ie==="streaming")&&N.length!==0)return H.current&&clearTimeout(H.current),H.current=setTimeout(()=>{H.current=void 0;let g=Pn().finally(()=>{T.current===g&&(T.current=void 0)});T.current=g},wh),()=>{H.current&&clearTimeout(H.current)}},[i,O,N,ie,Pn]);let Fa=ue(()=>{let g=T.current,R=H.current,B=R?Ma():void 0;return R&&(clearTimeout(R),H.current=void 0),(async()=>{g&&await g,B&&(await ln(B),await ee())})()},[Ma,ee]),dd=ue(()=>{y.current+=1,Fa(),U([]),st(),b(),oe("");let g=pu();return Q.current=Br(),W.current=void 0,Z(g),ee(),g},[U,b,Z,ee,Fa,st]),Hr=ue(async g=>{y.current+=1;let R=y.current;if(await Fa(),R!==y.current)return;let B=await Dr(g);R===y.current&&B&&(B.sessionId?(S.current=B.sessionId,w(B.sessionId)):b(),Z(B.threadId),Q.current=B.createdAt,W.current=B.title,U(B.messages),st(),oe(""))},[U,b,Z,Fa,st]),cd=ue(async g=>{if(A.current===g){y.current+=1,H.current&&(clearTimeout(H.current),H.current=void 0);let R=T.current;R&&await R}await cu(g),await ee(),A.current===g&&(U([]),st(),b(),oe(""),A.current=void 0,M(void 0),Q.current=void 0,W.current=void 0)},[U,b,ee,st]);Ue(()=>{i&&O&&l!==void 0&&l!==A.current&&Hr(l)},[l,i,O,Hr]);let fd=ue(g=>{oe(g.target.value)},[]),An=N[N.length-1],Rn=N.length>0,pd=xt&&(!Rn||An.role==="user"),md=V.current;return{messages:N,status:ie,text:Y,setText:oe,handleSubmit:id,handleTextChange:fd,isLoading:xt,showLoaderBubble:pd,lastMessage:An,hasMessages:Rn,sendMessage:G,sendMessageAndWait:ld,stop:Aa,reset:ud,queuedMessages:Ie,queueFull:sd,removeQueuedMessage:nd,sessionId:h,toolDefinitions:md,refreshToolDefinitions:$,threads:j,activeThreadId:E,isThreadHistoryReady:O,startNewThread:dd,switchThread:Hr,deleteThread:cd}}import{useCallback as hu,useEffect as Lh,useState as Ch}from"react";var Sh=6e3;function wu(e){let{api:t,headers:a,uploadHeaders:r,sessionId:o,documentUpload:n,allowAttachments:s}=e,[i,l]=Ch(null),u=hu((f,p,m)=>lu({file:f,api:t,headers:a,uploadHeaders:r,sessionId:o,signal:p,onProgress:m}),[t,a,r,o]),d=hu(f=>{Rr({documentId:f.documentId,api:t,headers:a,uploadHeaders:r})},[t,a,r]);Lh(()=>{if(!i)return;let f=setTimeout(()=>l(null),Sh);return()=>clearTimeout(f)},[i]);let c=n?.enabled??!1;return{enabled:n?n.enabled:!!s,accept:n?.accept.join(","),maxFileSize:n?.maxBytes,maxPdfPages:n?.maxPdfPages,maxFiles:n?.maxFiles,upload:c?u:void 0,onDiscard:c?d:void 0,error:i,reportError:l}}import{useCallback as bh,useEffect as fn,useMemo as pn,useRef as kh,useState as Cu}from"react";function Ht(e){return e.map(t=>({id:null,text:t}))}function dn(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 cn="waniwani/suggestions";function qt(e){return typeof e=="object"&&e!==null}function xu(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function yh(e){if(!qt(e)||!("toolCallId"in e)||!("output"in e))return null;let t=e.output;if(!qt(t)||!qt(t._meta))return null;let a=t._meta[cn];return!qt(a)||!xu(a.suggestions)?null:a.suggestions}function Iu(e){let t=null;for(let a of e.parts){let r=yh(a);r!==null&&(t=r)}return t}function Lu(e){for(let t of e.parts){if(!qt(t)||t.type!=="data-suggestions")continue;let a=t.data;if(qt(a)&&xu(a.suggestions)&&a.suggestions.length>0)return a.suggestions}return null}function Th(e){return"page"in e||"channel"in e}function vh(e){return typeof e!="object"||e===null?{}:Th(e)?{rungs:e}:{initial:e.initial}}function Su(e){let{messages:t,status:a,suggestions:r}=e,o=r!==!1,{rungs:n,initial:s}=vh(r),i=pn(()=>({page:null,channel:Ht(s??[])}),[s]),l=n??i,u=pn(()=>o?dn({flow:null,followup:null,...l}):null,[o,l]),d=pn(()=>u?.suggestions.map(h=>h.text)??[],[u]),[c,f]=Cu(d),[p,m]=Cu(u?.origin??"channel"),C=kh(a),I=bh(()=>{f([])},[]),x=t.length>0;fn(()=>{x||(f(d),m(u?.origin??"channel"))},[d,u,x]);let L=t[t.length-1];return fn(()=>{L?.role==="user"&&I()},[L,I]),fn(()=>{let h=C.current;if(C.current=a,h!=="streaming"||a!=="ready"||!o)return;let w=[...t].reverse().find(A=>A.role==="assistant");if(!w)return;let S=Iu(w),E=Lu(w),M=dn({flow:S===null?null:Ht(S),followup:E===null?null:Ht(E),page:null,channel:null});f(M?M.suggestions.map(A=>A.text):[]),m(M?.origin??"channel")},[a,o,t]),{suggestions:c,source:p,isLoading:!1,clear:I}}import{useEffect as Ph,useRef as Ah,useState as Rh}from"react";var Mh=80,Fh=50,Eh=15e3,yu=500;function bu(e,t=!0){let[a,r]=Rh(""),o=Ah(void 0);return Ph(()=>{if(!t){r("");return}let n=0,s=!1,i=!1,l=()=>{i||(s?(n--,r(e.slice(0,n)),n<=0?(s=!1,o.current=setTimeout(l,yu)):o.current=setTimeout(l,Fh)):(n++,r(e.slice(0,n)),n>=e.length?(s=!0,o.current=setTimeout(l,Eh)):o.current=setTimeout(l,Mh)))};return o.current=setTimeout(l,yu),()=>{i=!0,clearTimeout(o.current)}},[e,t]),a}function ku(e,t){let a=t?.Authorization,r=typeof a=="string"&&a.startsWith("Bearer ")?a.slice(7):null;return ze(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"},Dh={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"},Bh={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 _h(e){return{...Tu,...e}}function mn(e){let t={};for(let[a,r]of Object.entries(Bh)){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 ge,jsxs as ot}from"react/jsx-runtime";var gn=vu(function(t,a){let{locale:r,messages:o}=t;return ge(Kr,{locale:r,messages:o,children:ge(Uh,{...t,ref:a})})}),Uh=vu(function(t,a){let{t:r,ready:o}=z(),{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:C,debug:I=!1,readOnly:x=!1,title:L,headerActions:h,hideHeader:w=!1,enableThreadHistory:S=!1,showToolCalls:E=!0,initializing:M=!1,onScreen:A=!0,disclaimer:j}=t,F=n?.theme,O=n?.variables,q=n?.assistantBubble??!1,Q=O?mn(O):{},[W,H]=_r(!1);rt(()=>{if(F!=="auto"||typeof window>"u")return;let P=window.matchMedia("(prefers-color-scheme: dark)");H(P.matches);let Y=()=>H(P.matches);return P.addEventListener("change",Y),()=>P.removeEventListener("change",Y)},[F]);let T=F==="dark"||F==="auto"&&W,y=gu({...t,api:m}),v=Ar(),Z=nu({...t,api:m,sessionId:y.sessionId,onCallTool:C?.onCallTool}),ee=C?.resourceEndpoint??ku(m,t.headers),Fe=wt({});Fe.current={api:m,token:Wa(t.headers),channelId:typeof t.body?.channelId=="string"?t.body.channelId:void 0,sessionId:y.sessionId};let Ne=ka(P=>{Va("widget",Fe.current,{widget:P.widget,outcome:P.outcome},P.metrics)},[]),b=bu(f,!y.text),D=wu({api:m,headers:t.headers,uploadHeaders:t.uploadHeaders,sessionId:y.sessionId,documentUpload:u,allowAttachments:l}),[_,ae]=_r(null),[de,he]=_r(null),K=wt(null),J=wt(null),V=wt(null),me=wt(null),[Se,re]=_r(!0),$=wt(Se);$.current=Se;let N=ka(()=>{let P=K.current;if(!P)return;let Y=P.querySelector("textarea");Y&&Y.focus()},[]),G=ka((P="smooth")=>{let Y=J.current;Y&&Y.scrollTo({top:Y.scrollHeight,behavior:P})},[]);rt(()=>{let P=me.current,Y=J.current;if(!P||!Y)return;let oe=new IntersectionObserver(([Ie])=>re(Ie.isIntersecting),{root:Y,rootMargin:"0px 0px 200px 0px",threshold:0});return oe.observe(P),()=>oe.disconnect()},[]),rt(()=>{let P=J.current;if(!P)return;let Y=oe=>{let Ge=(oe.target instanceof Element?oe.target:null)?.closest("a");Ge?.href&&v.emit({name:"link.clicked",properties:{url:Ge.href}})};return P.addEventListener("click",Y),()=>P.removeEventListener("click",Y)},[v]),rt(()=>{(y.messages[y.messages.length-1]?.role==="user"||$.current)&&G("smooth")},[y.messages.length,y.messages[y.messages.length-1]]),rt(()=>{G("auto")},[G]),rt(()=>{if(typeof ResizeObserver>"u")return;let P=J.current,Y=V.current;if(!P&&!Y)return;let oe=P?.scrollHeight??0,Ie=P?.clientHeight??0,Ge=new ResizeObserver(()=>{let nt=J.current;if(!nt)return;let xt=nt.scrollTop+Ie>=oe-5;oe=nt.scrollHeight,Ie=nt.clientHeight,xt&&G("auto")});return P&&Ge.observe(P),Y&&Ge.observe(Y),()=>Ge.disconnect()},[G]);let U=Su({messages:y.messages,status:y.status,suggestions:t.suggestions}),ie=wt(null);rt(()=>{let P=U.suggestions;!A||P.length===0||ie.current===P||(ie.current=P,v.emit({name:"suggestions.shown",properties:{texts:P,origin:U.source}}))},[U.suggestions,U.source,v,A]);let Re=c?.suggestions,Ee=wt(null);rt(()=>{!A||y.messages.length>0||!Re?.length||Ee.current===Re||(Ee.current=Re,v.emit({name:"suggestions.shown",properties:{texts:Re,origin:"channel"}}))},[Re,y.messages.length,v,A]);let De=ka(P=>{let Y=P.content.map(oe=>oe.text??"").join("").trim();Y&&y.handleSubmit({text:Y,files:[],modelContext:P.modelContext})},[y.handleSubmit]),Xe=ka(P=>{let Y=U.suggestions.indexOf(P),oe=Y>=0?Y:c?.suggestions?.indexOf(P)??-1,Ie=Y>=0?U.source:"channel";v.emit({name:"suggestion.clicked",properties:{text:P,index:oe,origin:Ie}}),U.clear(),y.handleSubmit({text:P,files:[]})},[U.suggestions,U.source,U.clear,y.handleSubmit,c,v]);Oh(a,()=>({sendMessage:P=>{y.handleSubmit({text:P,files:[]}),N()},sendMessageAndWait:P=>y.sendMessageAndWait(P),reset:y.reset,focus:N,get messages(){return y.messages},get sessionId(){return y.sessionId}}),[y.handleSubmit,y.sendMessageAndWait,y.reset,y.messages,y.sessionId,N]),rt(()=>{if(!p)return;let P=Y=>{let oe=Y.detail,Ie=typeof oe?.message=="string"?oe.message:void 0;Ie&&y.handleSubmit({text:Ie,files:[]}),N()};return window.addEventListener(p,P),()=>window.removeEventListener(p,P)},[p,y.handleSubmit,N]);let Pa=!w&&!!(L||S||h),Aa=M||!o;return ot("div",{ref:K,style:{...Q,maxHeight:"inherit",..._&&de?{height:de}:{},opacity:Aa?0:1,transition:"opacity 220ms ease-out"},"data-waniwani-chat":"","data-waniwani-layout":"embed","data-assistant-bubble":q?"true":void 0,"data-color-scheme":F==="auto"?"auto":void 0,...Aa?{"data-waniwani-initializing":""}:{},...T?{"data-waniwani-dark":""}:{},className:k("ww:relative ww:w-full ww:h-full ww:flex ww:flex-col ww:bg-background ww:text-foreground ww:font-[family-name:var(--ww-font)] ww:overflow-hidden",F==="dark"&&"dark",s,i?.root),children:[Pa&&ot("div",{className:k("ww-header ww:shrink-0 ww:flex ww:items-center ww:gap-2 ww:pl-4 ww:pr-3 ww:py-3 ww:border-b ww:border-border",i?.header),style:{backgroundColor:"var(--ww-color-card-header)",color:"var(--ww-color-card-header-foreground)"},children:[L&&ge("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:L}),!L&&ge("div",{className:"ww:flex-1"}),S&&ge(eu,{threads:y.threads,activeThreadId:y.activeThreadId,onNewThread:y.startNewThread,onSelectThread:P=>{y.switchThread(P)},onDeleteThread:P=>{y.deleteThread(P)}}),h]}),ot("div",{ref:J,className:k("ww:relative ww:flex-1 ww:min-h-0",_?"ww:overflow-hidden":"ww:overflow-y-auto"),children:[ot("div",{ref:V,className:k("ww:mx-auto ww:w-full ww:max-w-3xl ww:px-4 ww:py-6 ww:flex ww:flex-col ww:gap-6",_&&"ww:!py-0"),children:[ge(bs,{value:Ne,children:ge(Kl,{messages:y.messages,status:y.status,welcomeMessage:d,welcome:c,onSuggestionSelect:Xe,resourceEndpoint:ee,chatSessionId:y.sessionId,isDark:T,onFollowUp:De,onCallTool:Z,fullscreenToolCallId:_,debug:I,showToolCalls:E,toolDefinitions:y.toolDefinitions,messageClassNames:{message:i?.message,userBubble:i?.userBubble,assistantBubble:i?.assistantBubble},onWidgetDisplayModeChange:(P,Y)=>{if(P==="fullscreen"){let oe=K.current?.getBoundingClientRect().height??0;he(oe>0?oe:null),ae(Y.toolCallId)}else he(null),ae(null)}})}),ge("div",{ref:me,"aria-hidden":!0,style:{height:1}})]}),!Se&&!_&&ge("div",{className:"ww:sticky ww:bottom-2 ww:flex ww:justify-center ww:pointer-events-none",children:ge(Ke,{type:"button",onClick:()=>G("smooth"),size:"icon",variant:"outline",className:"ww:rounded-full ww:shadow ww:pointer-events-auto","aria-label":"Scroll to latest",children:ge(Vt,{className:"ww:size-4"})})})]}),!x&&ot("div",{className:"ww:shrink-0 ww:bg-background",style:_?{display:"none"}:void 0,children:[ge(Yl,{suggestions:U.suggestions,isLoading:U.isLoading,onSelect:Xe}),ge(Ys,{queuedMessages:y.queuedMessages,onRemove:y.removeQueuedMessage}),ge("div",{className:"ww:px-4 ww:pb-2 ww:pt-2",children:ot("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[ot(Os,{onSubmit:y.handleSubmit,attachmentsEnabled:D.enabled,globalDrop:D.enabled,multiple:D.enabled,accept:D.accept,maxFileSize:D.maxFileSize,maxPdfPages:D.maxPdfPages,maxFiles:D.maxFiles,upload:D.upload,onDiscard:D.onDiscard,onError:D.reportError,className:k("ww-input ww:rounded-2xl ww:border-border ww:bg-input",i?.input),children:[ge(Gs,{enabled:D.enabled}),D.enabled&&ge(Ws,{className:"ww:px-4 ww:pt-3"}),ot("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[D.enabled&&ge(qs,{}),ge(Ns,{onChange:y.handleTextChange,value:y.text,placeholder:b,className:"ww:min-h-0 ww:py-1 ww:px-0"}),ge(Hs,{status:y.status,disabled:y.queueFull,onStop:y.stop})]})]}),D.error&&ge("output",{className:"ww:block ww:pt-1.5 ww:text-center ww:text-destructive ww:text-xs",children:D.error.message}),ot("div",{className:"ww:pt-2 ww:pb-1 ww:flex ww:flex-nowrap ww:justify-center ww:items-center ww:gap-1.5",children:[ge(Jl,{}),ge(Vs,{text:j})]})]})})]})]})});import{forwardRef as Bw,useEffect as Nr,useImperativeHandle as _w,useMemo as Tn,useRef as vn,useState as ad}from"react";var Nh="https://app.waniwani.ai/api/mcp/chat",Hh={api:Nh};function qh(){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 Wh(){let e=qh();if(!e)return{};let t=v=>e.getAttribute(v)??void 0,a=v=>{let Z=e.getAttribute(v);if(Z==null)return;let ee=Z.trim().toLowerCase();if(ee==="true"||ee==="1"||ee==="")return!0;if(ee==="false"||ee==="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 C=t("data-suggestions");C&&(r.suggestions=C.split(",").map(v=>v.trim()).filter(Boolean));let I=a("data-enable-thread-history");I!==void 0&&(r.enableThreadHistory=I);let x=a("data-disable-page-view");x!==void 0&&(r.disablePageView=x);let L=a("data-hide-header");L!==void 0&&(r.hideHeader=L);let h=t("data-theme");(h==="light"||h==="dark"||h==="auto")&&(r.appearance={...r.appearance,theme:h});let w=a("data-assistant-bubble");w!==void 0&&(r.appearance={...r.appearance,assistantBubble:w});let S=t("data-locale");(S==="en"||S==="fr"||S==="es")&&(r.locale=S);let E=t("data-mode");(E==="inline"||E==="floating"||E==="composer"||E==="off")&&(r.mode=E);let M={},A=t("data-composer-variant")?.trim().toLowerCase();(A==="glow"||A==="outline")&&(M.variant=A);let j=t("data-composer-size")?.trim().toLowerCase();(j==="sm"||j==="md"||j==="lg")&&(M.size=j);let F=a("data-composer-suggestions");F!==void 0&&(M.showSuggestions=F);let O=t("data-composer-align")?.trim().toLowerCase();(O==="start"||O==="center")&&(M.align=O);let q=a("data-composer-trigger");q!==void 0&&(M.trigger=q);let Q=a("data-composer-mobile-trigger");Q!==void 0&&(M.mobileTrigger=Q),Object.keys(M).length>0&&(r.composer=M);let W=t("data-height");W&&(r.height=W);let H=t("data-launcher-text");H&&(r.launcherText=H);let T=t("data-appear-delay");if(T!==void 0){let v=Number.parseInt(T.trim(),10);Number.isFinite(v)&&v>=0&&(r.appearDelay=v)}let y=t("data-disclaimer");if(y!==void 0){let v=y.trim(),Z=v.toLowerCase();Z==="false"||Z==="0"?r.disclaimer=!1:v&&(r.disclaimer=v)}return r}function Ta(e){if(!e)return{};let t={};for(let a in e)e[a]!==void 0&&(t[a]=e[a]);return t}function hn(e,t,a){let r=a??Wh(),o=Gh(t,r,e),n={...t?.composer??{},...Ta(r.composer),...Ta(e?.composer)},s=Object.keys(n).length>0,i={token:"",...Hh,...Ta(t),...Ta(r),...Ta(e),...o?{appearance:o}:{},...s?{composer:n}:{}};if(!i.token)throw new Error("[Waniwani] Missing required config: `token`. Set data-token on the script tag or pass it to Waniwani.chat.init().");return i}function Gh(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 BT,useState as _T}from"react";var Vh="/api/mcp/events/v2/batch",wn=new Set;function zh(e,t,a){return`${e}|${t}|${a??""}`}function va(e){return Na(e,Vh)}async function xn(e){let{api:t,token:a,channelId:r,mode:o,source:n}=e;if(typeof window>"u"||!t||!a)return;let s=va(t);if(!s){Qe("page.viewed skipped: the chat api is not a Waniwani endpoint");return}if(!r&&!n){Qe("page.viewed skipped: no channelId or source to attribute it");return}let i=zh(t,a,r);if(!wn.has(i)){wn.add(i);try{let l=await ra(),u=new Date().toISOString(),d=JSON.stringify({sentAt:u,source:{sdk:"@waniwani/sdk",version:"0.1.0"},events:[{id:crypto.randomUUID(),type:"mcp.event",name:"page.viewed",source:n,timestamp:u,correlation:{visitorId:l.visitorId},properties:{channelId:r,mode:o,url:window.location.href,referrer:l.referrer,deviceType:l.deviceType,language:l.language,timezone:l.timezone},metadata:{}}]}),c=fetch(s,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:d,keepalive:!0});Ct("pageViewSent"),await c}catch{wn.delete(i)}}}import{useMemo as tw}from"react";import{useEffect as Kh,useSyncExternalStore as Qh}from"react";function jh(e){return e?.patterns??e?.rules??[]}var Pu="\0\0";function $h(e){let a=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\\\*\\\*/g,Pu).replace(/\\\*/g,"[^/]*").split(Pu).join(".*");return new RegExp(`^${a}$`)}function Xh(e,t){try{return $h(e).test(t)}catch{return!1}}function Au(e,t){if(!e)return!0;let a=!1;for(let r of jh(e))if(Xh(r.glob,t)){if(r.action==="hide")return!1;a=!0}return a?!0:(e.default??"show")!=="hide"}var In="waniwani:locationchange",Ru=!1;function Jh(){if(!(Ru||typeof history>"u")){Ru=!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(In)),o}}}}function Yh(e){return Jh(),window.addEventListener(In,e),window.addEventListener("popstate",e),()=>{window.removeEventListener(In,e),window.removeEventListener("popstate",e)}}function Zh(){return window.location.pathname}function ew(){return"/"}function Ln(){return Qh(Yh,Zh,ew)}function Mu(e,t){let a=Ln(),r=t&&Au(e,a);return Kh(()=>{Qe("visibility gate",{pathname:a,ready:t,visible:r,rules:e})},[a,t,r]),r}var aw=3,rw=["low","medium","high"];function Cn(e){if(e.length===0)return;let t=Math.floor(Math.random()*e.length),[a]=e.splice(t,1);return a}function ow(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 rw){let s=Cn(t.get(n)??[])??Cn(a);s&&r.push(s)}let o=[...t.values()].flat().concat(a);for(;r.length<Math.min(aw,e.length);){let n=Cn(o);if(!n)break;r.push(n)}return r}function Fu(e){let t;try{t=new URL(e,"http://localhost").pathname}catch{t="/"}let a=t.replace(/\/+$/,"");return(a===""?"/":a).toLowerCase()}function Eu(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 Du(e){let{pageSuggestions:t,suggestions:a}=e,r=Ln();return tw(()=>{let o=Fu(r),n=t?.find(i=>Fu(i.url)===o),s=n?ow(n.prompts).map(({id:i,text:l})=>({id:i,text:l})):null;return Qe("configured suggestions resolve",{pathname:o,matched:!!n,count:s?.length??0}),{page:s,channel:Ht(a??[])}},[r,t,a])}var nw="waniwani:config:";function Bu(e,t,a){return`${nw}${e}|${t}|${a??""}`}function Or(e,t,a){if(typeof window>"u")return null;try{let r=window.sessionStorage.getItem(Bu(e,t,a));if(!r)return null;let o=JSON.parse(r);return o&&typeof o=="object"?o:null}catch{return null}}function _u(e,t,a,r){if(!(typeof window>"u"))try{window.sessionStorage.setItem(Bu(e,t,a),JSON.stringify(r))}catch{}}function sw(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 Ou(e,t,a,r){Ct("configStart");let o=await iw(e,t,a,r);return Ct("configEnd"),a?.aborted||Ga(o.metadata),o}async function iw(e,t,a,r){try{let o=ze(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?lw(i):{}}catch{return{}}}function lw(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=Eu(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=sw(e.documentUpload);return r&&(t.documentUpload=r),e.metadata&&typeof e.metadata=="object"&&(t.metadata=e.metadata),t}import{useEffect as uw,useRef as dw}from"react";function Sn(e,t){return e.find(a=>a.text===t)?.id??null}async function Uu(e){let{api:t,token:a,name:r,source:o,sessionId:n,properties:s}=e;if(typeof window>"u"||!t||!a)return;let i=va(t);if(i)try{let 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:r,source:o,timestamp:l,correlation:{visitorId:He(),sessionId:n},properties:{...s,url:window.location.href},metadata:{}}]});await fetch(i,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:u,keepalive:!0})}catch{}}async function Nu(e){let{api:t,token:a,channelId:r,mode:o,source:n,sessionId:s,promptId:i,origin:l,text:u,index:d}=e;await Uu({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:Sn(e,a),text:a}))}async function qu(e){let{api:t,token:a,channelId:r,mode:o,source:n,sessionId:s,prompts:i,origin:l}=e;i.length!==0&&await Uu({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=dw(e.getSessionId);l.current=e.getSessionId,uw(()=>{if(!(!a||!r))return t.subscribe(u=>{if(u.name==="suggestion.clicked"){let{text:d,origin:c,index:f}=u.properties;Nu({api:a,token:r,channelId:o,mode:s,source:n,sessionId:l.current(),promptId:Sn(i??[],d),origin:c,text:d,index:f});return}if(u.name==="suggestions.shown"){let{texts:d,origin:c}=u.properties;qu({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 Wt(e,t){for(let a of t){let r=e[a];if(typeof r=="string"&&r.length>0)return r}}var cw=["waniwani/sessionId","openai/sessionId","openai/session","sessionId","conversationId","mcp-session-id"],fw=["waniwani/requestId","openai/requestId","requestId","mcp/requestId"],pw=["waniwani/traceId","openai/traceId","traceId","mcp/traceId","openai/requestId","requestId"],mw=["waniwani/userId","openai/userId","externalUserId","userId","actorId"],gw=["waniwani/visitorId","visitorId"],hw=["correlationId","openai/requestId"];function Gu(e){return e?Wt(e,cw):void 0}function Vu(e){return e?Wt(e,fw):void 0}function zu(e){return e?Wt(e,pw):void 0}function ju(e){return e?Wt(e,mw):void 0}function $u(e){return e?Wt(e,gw):void 0}function Xu(e){return e?Wt(e,hw):void 0}var ww=[{key:"openai/sessionId",source:"chatgpt"},{key:"openai/session",source:"chatgpt"}],xw=[{needle:"claude",source:"claude"},{needle:"chatgpt",source:"chatgpt"},{needle:"openai",source:"chatgpt"},{needle:"gemini",source:"gemini"}];function Ku(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 ww){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 xw)if(r.includes(o))return n}}var Iw="@waniwani/sdk";function Qu(e,t={}){let a=t.now??(()=>new Date),r=t.generateId??Lw,o=yw(e),n=Ur(e.meta),s=Ur(e.metadata),i=bw(e,n),l=$e(e.eventId)??r(),u=kw(e.timestamp,a),d=$e(e.source)??Ku(n)??t.source??Iw,c=yn(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:Cw(e,o),metadata:f,rawLegacy:c}}function Lw(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?`evt_${crypto.randomUUID()}`:`evt_${Math.random().toString(36).slice(2,10)}_${Date.now().toString(36)}`}function Cw(e,t){if(!yn(e))return Ur(e.properties);let a=Sw(e,t),r=Ur(e.properties);return{...a,...r}}function Sw(e,t){switch(t){case"tool.called":{let a={};return $e(e.toolName)&&(a.name=e.toolName),$e(e.toolType)&&(a.type=e.toolType),a}case"link.clicked":{let a={};return $e(e.linkUrl)&&(a.url=e.linkUrl),a}default:return{}}}function yw(e){return yn(e)?e.eventType:e.event}function bw(e,t){let a=$e(e.requestId)??Vu(t),r=$e(e.sessionId)??Gu(t),o=$e(e.traceId)??zu(t),n=$e(e.externalUserId)??ju(t),s=$e(e.visitorId)??$u(t),i=$e(e.correlationId)??Xu(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 kw(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 Ur(e){return!e||typeof e!="object"||Array.isArray(e)?{}:e}function $e(e){if(typeof e=="string"&&e.trim().length!==0)return e}function yn(e){return"eventType"in e}function Ju(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 Tw="/api/mcp/events/v2/batch";var Yu="@waniwani/sdk";var vw=new Set([401,403]),Pw=new Set([408,425,429,500,502,503,504]),Aw=(e,t)=>globalThis.fetch(e,t);function Zu(e){return new bn(e)}var bn=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=Fw(t.apiUrl,t.endpointPath??Tw),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??Aw,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":Yu};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:Ew(n)}}if(vw.has(a.status))return{kind:"auth",status:a.status};if(Pw.has(a.status))return{kind:"retryable",reason:`HTTP ${a.status}`};if(!a.ok)return{kind:"permanent",reason:`HTTP ${a.status}`};let r=await Mw(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:Yu,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(Rw(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 Rw(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 Mw(e){let t=await e.text();if(t)try{return JSON.parse(t)}catch{return}}function Fw(e,t){let a=e.endsWith("/")?e:`${e}/`,r=t.startsWith("/")?t.slice(1):t;return`${a}${r}`}function Ew(e){return e instanceof Error?e.message:String(e)}function ed(e){let{apiUrl:t,endpointPath:a}=Dw(e.endpoint),r=Zu({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=Qu({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,Ju(s)),identify(i,l){return o=i,s({event:"user.identified",externalUserId:i,properties:l})},flush:()=>r.flush(),shutdown:i=>r.shutdown(i)}}function Dw(e){let t=new URL(e);return{apiUrl:t.origin,endpointPath:`${t.pathname}${t.search}`}}function td(e){let t=va(e.api);return t?ed({endpoint:t,token:e.token,channelId:e.channelId,source:e.getSource,identity:()=>({sessionId:e.getSessionId(),visitorId:He()})}):kn("the chat api does not point at a Waniwani event ingest")}function kn(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 od}from"react/jsx-runtime";var Ow=600,rd="https://app.waniwani.ai/api/mcp/chat",Uw=Bw(function(t,a){let{token:r,channelId:o,className:n,visitorId:s,overrides:i,onEvent:l}=t,u=vn(null),d=vn(null),c=Tn(()=>tu({mode:"inline",getSessionId:()=>u.current?.sessionId}),[]);Nr(()=>{if(l)return c.subscribe(l)},[l,c]);let f=Tn(()=>({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??rd,[m,C]=ad({}),[I,x]=ad(!1),L=vn(!1);Nr(()=>{I&&!L.current&&(L.current=!0,c.emit({name:"chat.ready"}))},[I,c]);let h=i?.disablePageView;Nr(()=>{if(!r){x(!0);return}let A=q=>{h||xn({api:p,token:r,channelId:o??q.channelId,mode:"inline",source:q.source})},j=Or(p,r,o);j&&(C(j),oa("cache"),Ga(j.metadata),x(!0),A(j));let F=new AbortController,O=setTimeout(()=>{oa("timeout"),x(!0)},Ow);return Ou(p,r,F.signal,o).then(q=>{F.signal.aborted||(Object.keys(q).length>0&&(_u(p,r,o,q),C(q)),oa("remote"),x(!0),A(q))}).catch(q=>{console.error("[Waniwani] Remote config fetch failed:",q),x(!0)}).finally(()=>clearTimeout(O)),()=>{F.abort(),clearTimeout(O)}},[p,r,o,h]);let w=Tn(()=>hn(f,m,void 0),[f,m]),S=Du(w);Wu({widgetEvents:c,api:w.api??p,token:w.token??r,channelId:w.channelId??o,source:w.source,mode:"inline",pagePrompts:S.page,getSessionId:()=>u.current?.sessionId}),Nr(()=>{if(!r)return;let A=td({api:p,token:r,channelId:()=>o??Or(p,r,o)?.channelId,getSource:()=>Or(p,r,o)?.source??void 0,getSessionId:()=>u.current?.sessionId});return d.current=A,()=>{d.current=null,A.shutdown()}},[p,r,o]),_w(a,()=>{let A=()=>d.current??kn("no public token configured"),j=Object.assign(F=>A().track(F),{priceShown:F=>A().track.priceShown(F),pricesCompared:F=>A().track.pricesCompared(F),optionSelected:F=>A().track.optionSelected(F),leadQualified:F=>A().track.leadQualified(F),converted:F=>A().track.converted(F)});return{sendMessage:F=>u.current?.sendMessage(F),sendMessageAndWait:F=>u.current?u.current.sendMessageAndWait(F):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:j,identify:(F,O)=>A().identify(F,O)}},[]);let E=Mu(w.visibility,I);ks({api:w.api??p,token:w.token??r,channelId:w.channelId??o,mode:"inline",paintMark:"chatVisible",painted:I&&E});let M={mode:"inline"};return w.mcpServerUrl&&(M.mcpServerUrl=w.mcpServerUrl),w.channelId&&(M.channelId=w.channelId),E?od(ou,{value:c,children:od(gn,{ref:u,api:w.api??rd,headers:{Authorization:`Bearer ${w.token}`},visitorId:s,skipRemoteConfig:!0,body:M,appearance:w.appearance,classNames:i?.classNames,title:w.title,hideHeader:w.hideHeader,welcomeMessage:w.welcomeMessage,welcome:i?.welcome,placeholder:w.placeholder,suggestions:S,enableThreadHistory:w.enableThreadHistory,showToolCalls:w.showToolCalls,disclaimer:w.disclaimer,documentUpload:w.documentUpload,allowAttachments:i?.allowAttachments,locale:w.locale,messages:i?.messages,className:n,initializing:!I})}):null});export{gn as ChatEmbed,Dh as DARK_THEME,Tu as DEFAULT_THEME,na as McpAppFrame,Uw as WaniwaniChat,Kc as WebMcpOverlay,_h as mergeTheme,mn as themeToCSSProperties};
|
|
14
|
+
\f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function gl(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=Oa);let u=Im(r,e.properties),c=r.all(o.space==="html"&&e.tagName==="template"?e.content:e);return r.schema=o,c&&(s=!1),(u||!n||!ml(e,t,a))&&(i.push("<",e.tagName,u?" "+u:""),s&&(o.space==="svg"||r.settings.closeSelfClosing)&&(l=u.charAt(u.length-1),(!r.settings.tightSelfClosing||l==="/"||l&&l!=='"'&&l!=="'")&&i.push(" "),i.push("/")),i.push(">")),i.push(c),!s&&(!n||!ya(e,t,a))&&i.push("</"+e.tagName+">"),i.join("")}function Im(e,t){let a=[],r=-1,o;if(t){for(o in t)if(t[o]!==null&&t[o]!==void 0){let n=Lm(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 Lm(e,t,a){let r=Wn(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=rt(r.attribute,Object.assign({},e.settings.characterReferences,{subset:pr.name[o][n]}));return a===!0||(a=Array.isArray(a)?(r.commaSeparated?Vn:zn)(a,{padLeft:!e.settings.tightCommaSeparatedLists}):String(a),e.settings.collapseEmptyAttributes&&!a)?l:(e.settings.preferUnquoted&&(i=rt(a,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:pr.unquoted[o][n]}))),i!==a&&(e.settings.quoteSmart&&$r(a,s)>$r(a,e.alternative)&&(s=e.alternative),i=s+rt(a,Object.assign({},e.settings.characterReferences,{subset:(s==="'"?pr.single:pr.double)[o][n],attribute:!0}))+s),l+(i&&"="+i))}var Cm=["<","&"];function mr(e,t,a,r){return a&&a.type==="element"&&(a.tagName==="script"||a.tagName==="style")?e.value:rt(e.value,Object.assign({},r.settings.characterReferences,{subset:Cm}))}function hl(e,t,a,r){return r.settings.allowDangerousHtml?e.value:mr(e,t,a,r)}function wl(e,t,a,r){return r.all(e)}var xl=jn("type",{invalid:ym,unknown:Sm,handlers:{comment:ul,doctype:dl,element:gl,raw:hl,root:wl,text:mr}});function ym(e){throw new Error("Expected node, not `"+e+"`")}function Sm(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var bm={},km={},Tm=[];function Go(e,t){let a=t||bm,r=a.quote||'"',o=r==='"'?"'":'"';if(r!=='"'&&r!=="'")throw new Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:vm,all:Pm,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||$n,characterReferences:a.characterReferences||km,closeSelfClosing:a.closeSelfClosing||!1,closeEmptyElements:a.closeEmptyElements||!1},schema:a.space==="svg"?Oa:Gn,quote:r,alternative:o}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function vm(e,t,a){return xl(e,t,a,this)}function Pm(e){let t=[],a=e&&e.children||Tm,r=-1;for(;++r<a.length;)t[r]=this.one(a[r],r,e);return t.join("")}function gr(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 gt(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function Am(e){return Array.isArray(e)?e:[e]}async function kl(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function Ko(e){return!e||["plaintext","txt","text","plain"].includes(e)}function Tl(e){return e==="ansi"||Ko(e)}function Qo(e){return e==="none"}function vl(e){return Qo(e)}function Pl(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 Lr(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 Rm(e){let t=Lr(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 Al(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 Jo="light-dark()",Mm=["color","background-color"];function Fm(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 Em(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?Fm(o,n):o})):e}function Dm(e,t,a,r,o="css-vars"){let n={content:e.content,explanation:e.explanation,offset:e.offset},s=t.map(c=>hr(e.variants[c])),i=new Set(s.flatMap(c=>Object.keys(c))),l={},u=(c,d)=>{let f=d==="color"?"":d==="background-color"?"-bg":`-${d}`;return a+t[c]+(d==="color"?"":f)};return s.forEach((c,d)=>{for(let f of i){let p=c[f]||"inherit";if(d===0&&r&&Mm.includes(f))if(r===Jo&&s.length>1){let m=t.findIndex(C=>C==="light"),L=t.findIndex(C=>C==="dark");if(m===-1||L===-1)throw new pe('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let I=s[m][f]||"inherit",x=s[L][f]||"inherit";l[f]=`light-dark(${I}, ${x})`,o==="css-vars"&&(l[u(d,f)]=p)}else l[f]=p;else o==="css-vars"&&(l[u(d,f)]=p)}}),n.htmlStyle=l,n}function hr(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t["background-color"]=e.bgColor),e.fontStyle){e.fontStyle&Ae.Italic&&(t["font-style"]="italic"),e.fontStyle&Ae.Bold&&(t["font-weight"]="bold");let a=[];e.fontStyle&Ae.Underline&&a.push("underline"),e.fontStyle&Ae.Strikethrough&&a.push("line-through"),a.length&&(t["text-decoration"]=a.join(" "))}return t}function jo(e){return typeof e=="string"?e:Object.entries(e).map(([t,a])=>`${t}:${a}`).join(";")}var Rl=new WeakMap;function Cr(e,t){Rl.set(e,t)}function ba(e){return Rl.get(e)}var Nt=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(Am(a).map(r=>[r,ur])),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 Bm(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function Bm(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 _m(e,t){if(!(e instanceof Nt))throw new pe("Invalid grammar state");return e.getInternalStack(t)}function Om(){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 pe(`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 pe(`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 pe(`Invalid decoration position ${JSON.stringify(s)}. Line ${s.line} length: ${i.length}`);return{...s,character:l,offset:o.posToIndex(s.line,l)}}},o=Rm(a.source),n=(a.options.decorations||[]).map(s=>({...s,start:r(s.start),end:r(s.end)}));Um(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 Em(a,o)},code(a){if(!this.options.decorations?.length)return;let r=t(this),o=Array.from(a.children).filter(c=>c.type==="element"&&c.tagName==="span");if(o.length!==r.converter.lines.length)throw new pe(`Number of lines in code element (${o.length}) does not match the number of lines in the source (${r.converter.lines.length}). Failed to apply decorations.`);function n(c,d,f,p){let m=o[c],L="",I=-1,x=-1;if(d===0&&(I=0),f===0&&(x=0),f===Number.POSITIVE_INFINITY&&(x=m.children.length),I===-1||x===-1)for(let h=0;h<m.children.length;h++)L+=Ml(m.children[h]),I===-1&&L.length===d&&(I=h+1),x===-1&&L.length===f&&(x=h+1);if(I===-1)throw new pe(`Failed to find start index for decoration ${JSON.stringify(p.start)}`);if(x===-1)throw new pe(`Failed to find end index for decoration ${JSON.stringify(p.end)}`);let C=m.children.slice(I,x);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(I,C.length,h)}}function s(c,d){o[c]=i(o[c],d,"line")}function i(c,d,f){let p=d.properties||{},m=d.transform||(L=>L);return c.tagName=d.tagName||"span",c.properties={...c.properties,...p,class:c.properties.class},d.properties?.class&&Pl(c,d.properties.class),c=m(c,f)||c,c}let l=[],u=r.decorations.sort((c,d)=>d.start.offset-c.start.offset||c.end.offset-d.end.offset);for(let c of u){let{start:d,end:f}=c;if(d.line===f.line)n(d.line,d.character,f.character,c);else if(d.line<f.line){n(d.line,d.character,Number.POSITIVE_INFINITY,c);for(let p=d.line+1;p<f.line;p++)l.unshift(()=>s(p,c));n(f.line,0,f.character,c)}}l.forEach(c=>c())}}}function Um(e){for(let t=0;t<e.length;t++){let a=e[t];if(a.start.offset>a.end.offset)throw new pe(`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 pe(`Decorations ${JSON.stringify(a.start)} and ${JSON.stringify(o.start)} intersect.`)}}}}function Ml(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(Ml).join(""):""}var Nm=[Om()];function wr(e){let t=Hm(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...Nm]}function Hm(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 vt=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],Vo={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function qm(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 Il(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 Wm(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)Vo[r]&&t.push({type:"setDecoration",value:Vo[r]});else if(r<=29){let o=Vo[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:vt[r-30]}});else if(r===38){let o=Il(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:vt[r-40]}});else if(r===48){let o=Il(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:vt[r-90+8]}}):r>=100&&r<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:vt[r-100+8]}})}return t}function Gm(){let e=null,t=null,a=new Set;return{parse(r){let o=[],n=0;do{let s=qm(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=Wm(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 Vm={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 zm(e=Vm){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<vt.length;u++)r.push(t(vt[u]));let i=[0,95,135,175,215,255];for(let u=0;u<6;u++)for(let c=0;c<6;c++)for(let d=0;d<6;d++)r.push(a([i[u],i[c],i[d]]));let l=8;for(let u=0;u<24;u++,l+=10)r.push(a([l,l,l]));return r}function n(i){return o()[i]}function s(i){switch(i.type){case"named":return t(i.name);case"rgb":return a(i.rgb);case"table":return n(i.index)}}return{value:s}}var jm={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 $m(e,t,a){let r=gr(e,a),o=Lr(t),n=Object.fromEntries(vt.map(l=>{let u=`terminal.ansi${l[0].toUpperCase()}${l.substring(1)}`,c=e.colors?.[u];return[l,c||jm[l]]})),s=zm(n),i=Gm();return o.map(l=>i.parse(l[0]).map(u=>{let c,d;u.decorations.has("reverse")?(c=u.background?s.value(u.background):e.bg,d=u.foreground?s.value(u.foreground):e.fg):(c=u.foreground?s.value(u.foreground):e.fg,d=u.background?s.value(u.background):void 0),c=gt(c,r),d=gt(d,r),u.decorations.has("dim")&&(c=Xm(c));let f=Ae.None;return u.decorations.has("bold")&&(f|=Ae.Bold),u.decorations.has("italic")&&(f|=Ae.Italic),u.decorations.has("underline")&&(f|=Ae.Underline),u.decorations.has("strikethrough")&&(f|=Ae.Strikethrough),{content:u.value,offset:l[1],color:c,bgColor:d,fontStyle:f}}))}function Xm(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 Yo(e,t,a={}){let{theme:r=e.getLoadedThemes()[0]}=a,o=e.resolveLangAlias(a.lang||"text");if(Ko(o)||Qo(r))return Lr(t).map(l=>[{content:l[0],offset:l[1]}]);let{theme:n,colorMap:s}=e.setTheme(r);if(o==="ansi")return $m(n,t,a);let i=e.getLanguage(a.lang||"text");if(a.grammarState){if(a.grammarState.lang!==i.name)throw new pe(`Grammar state language "${a.grammarState.lang}" does not match highlight language "${i.name}"`);if(!a.grammarState.themes.includes(n.name))throw new pe(`Grammar state themes "${a.grammarState.themes}" do not contain highlight theme "${n.name}"`)}return Qm(t,i,n,s,a)}function Km(...e){if(e.length===2)return ba(e[1]);let[t,a,r={}]=e,{lang:o="text",theme:n=t.getLoadedThemes()[0]}=r;if(Ko(o)||Qo(n))throw new pe("Plain language does not have grammar state");if(o==="ansi")throw new pe("ANSI language does not have grammar state");let{theme:s,colorMap:i}=t.setTheme(n),l=t.getLanguage(o);return new Nt(Zo(a,l,s,i,r).stateStack,l.name,s.name)}function Qm(e,t,a,r,o){let n=Zo(e,t,a,r,o),s=new Nt(n.stateStack,t.name,a.name);return Cr(n.tokens,s),n.tokens}function Zo(e,t,a,r,o){let n=gr(a,o),{tokenizeMaxLineLength:s=0,tokenizeTimeLimit:i=500}=o,l=Lr(e),u=o.grammarState?_m(o.grammarState,a.name)??ur:o.grammarContextCode!=null?Zo(o.grammarContextCode,t,a,r,{...o,grammarState:void 0,grammarContextCode:void 0}).stateStack:ur,c=[],d=[];for(let f=0,p=l.length;f<p;f++){let[m,L]=l[f];if(m===""){c=[],d.push([]);continue}if(s>0&&m.length>=s){c=[],d.push([{content:m,offset:L,color:"",fontStyle:0}]);continue}let I,x,C;o.includeExplanation&&(I=t.tokenizeLine(m,u,i),x=I.tokens,C=0);let h=t.tokenizeLine2(m,u,i),w=h.tokens.length/2;for(let y=0;y<w;y++){let M=h.tokens[2*y],R=y+1<w?h.tokens[2*y+2]:m.length;if(M===R)continue;let _=h.tokens[2*y+1],te=gt(r[Tt.getForeground(_)],n),O=Tt.getFontStyle(_),U={content:m.substring(M,R),offset:L+M,color:te,fontStyle:O};if(o.includeExplanation){let F=[];if(o.includeExplanation!=="scopeName")for(let D of a.settings){let W;switch(typeof D.scope){case"string":W=D.scope.split(/,/).map(T=>T.trim());break;case"object":W=D.scope;break;default:continue}F.push({settings:D,selectors:W.map(T=>T.split(/ /))})}U.explanation=[];let G=0;for(;M+G<R;){let D=x[C],W=m.substring(D.startIndex,D.endIndex);G+=W.length,U.explanation.push({content:W,scopes:o.includeExplanation==="scopeName"?Jm(D.scopes):Ym(F,D.scopes)}),C+=1}}c.push(U)}d.push(c),c=[],u=h.ruleStack}return{tokens:d,stateStack:u}}function Jm(e){return e.map(t=>({scopeName:t}))}function Ym(e,t){let a=[];for(let r=0,o=t.length;r<o;r++){let n=t[r];a[r]={scopeName:n,themeMatches:eg(e,n,t.slice(0,r))}}return a}function Ll(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function Zm(e,t,a){if(!Ll(e[e.length-1],t))return!1;let r=e.length-2,o=a.length-1;for(;r>=0&&o>=0;)Ll(e[r],a[o])&&(r-=1),o-=1;return r===-1}function eg(e,t,a){let r=[];for(let{selectors:o,settings:n}of e)for(let s of o)if(Zm(s,t,a)){r.push(n);break}return r}function Fl(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=Yo(e,t,{...a,theme:l.theme}),c=ba(u),d=typeof l.theme=="string"?l.theme:l.theme.name;return{tokens:u,state:c,theme:d}}),n=tg(...o.map(l=>l.tokens)),s=n[0].map((l,u)=>l.map((c,d)=>{let f={content:c.content,variants:{},offset:c.offset};return"includeExplanation"in a&&a.includeExplanation&&(f.explanation=c.explanation),n.forEach((p,m)=>{let{content:L,explanation:I,offset:x,...C}=p[u][d];f.variants[r[m].color]=C}),f})),i=o[0].state?new Nt(Object.fromEntries(o.map(l=>[l.theme,l.state?.getInternalStack(l.theme)])),o[0].state.lang):void 0;return i&&Cr(s,i),s}function tg(...e){let t=e.map(()=>[]),a=e.length;for(let r=0;r<e[0].length;r++){let o=e.map(l=>l[r]),n=t.map(()=>[]);t.forEach((l,u)=>l.push(n[u]));let s=o.map(()=>0),i=o.map(l=>l[0]);for(;i.every(l=>l);){let l=Math.min(...i.map(u=>u.content.length));for(let u=0;u<a;u++){let c=i[u];c.content.length===l?(n[u].push(c),s[u]+=1,i[u]=o[u][s[u]]):(n[u].push({...c,content:c.content.slice(0,l)}),i[u]={...c,content:c.content.slice(l),offset:c.offset+l})}}}return t}function xr(e,t,a){let r,o,n,s,i,l;if("themes"in a){let{defaultColor:u="light",cssVariablePrefix:c="--shiki-",colorsRendering:d="css-vars"}=a,f=Object.entries(a.themes).filter(x=>x[1]).map(x=>({color:x[0],theme:x[1]})).sort((x,C)=>x.color===u?-1:C.color===u?1:0);if(f.length===0)throw new pe("`themes` option must not be empty");let p=Fl(e,t,a);if(l=ba(p),u&&Jo!==u&&!f.find(x=>x.color===u))throw new pe(`\`themes\` option must contain the defaultColor key \`${u}\``);let m=f.map(x=>e.getTheme(x.theme)),L=f.map(x=>x.color);n=p.map(x=>x.map(C=>Dm(C,L,c,u,d))),l&&Cr(n,l);let I=f.map(x=>gr(x.theme,a));o=Cl(f,m,I,c,u,"fg",d),r=Cl(f,m,I,c,u,"bg",d),s=`shiki-themes ${m.map(x=>x.name).join(" ")}`,i=u?void 0:[o,r].join(";")}else if("theme"in a){let u=gr(a.theme,a);n=Yo(e,t,a);let c=e.getTheme(a.theme);r=gt(c.bg,u),o=gt(c.fg,u),s=c.name,l=ba(n)}else throw new pe("Invalid options, either `theme` or `themes` must be provided");return{tokens:n,fg:o,bg:r,themeName:s,rootStyle:i,grammarState:l}}function Cl(e,t,a,r,o,n,s){return e.map((i,l)=>{let u=gt(t[l][n],a[l])||"inherit",c=`${r+i.color}${n==="bg"?"-bg":""}:${u}`;if(l===0&&o){if(o===Jo&&e.length>1){let d=e.findIndex(L=>L.color==="light"),f=e.findIndex(L=>L.color==="dark");if(d===-1||f===-1)throw new pe('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let p=gt(t[d][n],a[d])||"inherit",m=gt(t[f][n],a[f])||"inherit";return`light-dark(${p}, ${m});${c}`}return u}return s==="css-vars"?c:null}).filter(i=>!!i).join(";")}function Ir(e,t,a,r={meta:{},options:a,codeToHast:(o,n)=>Ir(e,o,n),codeToTokens:(o,n)=>xr(e,o,n)}){let o=t;for(let m of wr(a))o=m.preprocess?.call(r,o,a)||o;let{tokens:n,fg:s,bg:i,themeName:l,rootStyle:u,grammarState:c}=xr(e,o,a),{mergeWhitespaces:d=!0,mergeSameStyleTokens:f=!1}=a;d===!0?n=rg(n):d==="never"&&(n=og(n)),f&&(n=ng(n));let p={...r,get source(){return o}};for(let m of wr(a))n=m.tokens?.call(p,n)||n;return ag(n,{...a,fg:s,bg:i,themeName:l,rootStyle:a.rootStyle===!1?!1:a.rootStyle??u},p,c)}function ag(e,t,a,r=ba(e)){let o=wr(t),n=[],s={type:"root",children:[]},{structure:i="classic",tabindex:l="0"}=t,u={class:`shiki ${t.themeName||""}`};t.rootStyle!==!1&&(t.rootStyle!=null?u.style=t.rootStyle:u.style=`background-color:${t.bg};color:${t.fg}`),l!==!1&&l!=null&&(u.tabindex=l.toString());for(let[L,I]of Object.entries(t.meta||{}))L.startsWith("_")||(u[L]=I);let c={type:"element",tagName:"pre",properties:u,children:[],data:t.data},d={type:"element",tagName:"code",properties:{},children:n},f=[],p={...a,structure:i,addClassToHast:Pl,get source(){return a.source},get tokens(){return e},get options(){return t},get root(){return s},get pre(){return c},get code(){return d},get lines(){return f}};if(e.forEach((L,I)=>{I&&(i==="inline"?s.children.push({type:"element",tagName:"br",properties:{},children:[]}):i==="classic"&&n.push({type:"text",value:`
|
|
15
|
+
`}));let x={type:"element",tagName:"span",properties:{class:"line"},children:[]},C=0;for(let h of L){let w={type:"element",tagName:"span",properties:{...h.htmlAttrs},children:[{type:"text",value:h.content}]},y=jo(h.htmlStyle||hr(h));y&&(w.properties.style=y);for(let M of o)w=M?.span?.call(p,w,I+1,C,x,h)||w;i==="inline"?s.children.push(w):i==="classic"&&x.children.push(w),C+=h.content.length}if(i==="classic"){for(let h of o)x=h?.line?.call(p,x,I+1)||x;f.push(x),n.push(x)}else i==="inline"&&f.push(x)}),i==="classic"){for(let L of o)d=L?.code?.call(p,d)||d;c.children.push(d);for(let L of o)c=L?.pre?.call(p,c)||c;s.children.push(c)}else if(i==="inline"){let L=[],I={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(let h of s.children)h.type==="element"&&h.tagName==="br"?(L.push(I),I={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(h.type==="element"||h.type==="text")&&I.children.push(h);L.push(I);let 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 w=C.children[h];w.type==="element"&&s.children.push(...w.children)}}let m=s;for(let L of o)m=L?.root?.call(p,m)||m;return r&&Cr(m,r),m}function rg(e){return e.map(t=>{let a=[],r="",o;return t.forEach((n,s)=>{let l=!(n.fontStyle&&(n.fontStyle&Ae.Underline||n.fontStyle&Ae.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 og(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 ng(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=jo(o.htmlStyle||hr(o)),s=jo(r.htmlStyle||hr(r)),i=o.fontStyle&&(o.fontStyle&Ae.Underline||o.fontStyle&Ae.Strikethrough),l=r.fontStyle&&(r.fontStyle&Ae.Underline||r.fontStyle&Ae.Strikethrough);!i&&!l&&n===s?o.content+=r.content:a.push({...r})}return a})}var sg=Go;function ig(e,t,a){let r={meta:{},options:a,codeToHast:(n,s)=>Ir(e,n,s),codeToTokens:(n,s)=>xr(e,n,s)},o=sg(Ir(e,t,a,r));for(let n of wr(a))o=n.postprocess?.call(r,o,a)||o;return o}var yl={light:"#333333",dark:"#bbbbbb"},Sl={light:"#fffffe",dark:"#1e1e1e"},bl="__shiki_resolved";function en(e){if(e?.[bl])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"?yl.light:yl.dark),a||(a=t.type==="light"?Sl.light:Sl.dark),t.fg=r,t.bg=a}t.settings[0]&&t.settings[0].settings&&!t.settings[0].scope||t.settings.unshift({settings:{foreground:t.fg,background:t.bg}});let o=0,n=new Map;function s(i){if(n.has(i))return n.get(i);o+=1;let l=`#${o.toString(16).padStart(8,"0").toLowerCase()}`;return t.colorReplacements?.[`#${l}`]?s(i):(n.set(i,l),l)}t.settings=t.settings.map(i=>{let l=i.settings?.foreground&&!i.settings.foreground.startsWith("#"),u=i.settings?.background&&!i.settings.background.startsWith("#");if(!l&&!u)return i;let c={...i,settings:{...i.settings}};if(l){let d=s(i.settings.foreground);t.colorReplacements[d]=i.settings.foreground,c.settings.foreground=d}if(u){let d=s(i.settings.background);t.colorReplacements[d]=i.settings.background,c.settings.background=d}return c});for(let i of Object.keys(t.colors||{}))if((i==="editor.foreground"||i==="editor.background"||i.startsWith("terminal.ansi"))&&!t.colors[i]?.startsWith("#")){let l=s(t.colors[i]);t.colorReplacements[l]=t.colors[i],t.colors[i]=l}return Object.defineProperty(t,bl,{enumerable:!1,writable:!1,value:!0}),t}async function El(e){return Array.from(new Set((await Promise.all(e.filter(t=>!Tl(t)).map(async t=>await kl(t).then(a=>Array.isArray(a)?a:[a])))).flat()))}async function Dl(e){return(await Promise.all(e.map(async a=>vl(a)?null:en(await kl(a))))).filter(a=>!!a)}var zo=3,lg=!1;function ug(e,t=3){if(zo&&!(typeof zo=="number"&&t>zo)){if(lg)throw new Error(`[SHIKI DEPRECATE]: ${e}`);console.trace(`[SHIKI DEPRECATE]: ${e}`)}}var mt=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Bl(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 mt(`Circular alias \`${Array.from(a).join(" -> ")} -> ${e}\``);a.add(e)}}return e}var $o=class extends Zi{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=en(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=wa.createFromRawTheme(t),this._textmateThemeCache.set(t,a)),this._syncRegistry.setTheme(a)}getGrammar(t){return t=Bl(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 mt(`Missing languages ${r.map(([n])=>`\`${n}\``).join(", ")}, required by ${o.map(([n])=>`\`${n}\``).join(", ")}`)}for(let[o,n]of a)this._resolver.addLanguage(n);for(let[o,n]of a)this.loadLanguage(n)}getLoadedLanguages(){return this._loadedLanguagesCache||(this._loadedLanguagesCache=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])]),this._loadedLanguagesCache}resolveEmbeddedLanguages(t){this._langMap.set(t.name,t),this._langGraph.set(t.name,t);let a=t.embeddedLanguages??t.embeddedLangs;if(a)for(let r of a)this._langGraph.set(r,this._langMap.get(r))}},Xo=class{_langs=new Map;_scopeToLang=new Map;_injections=new Map;_onigLib;constructor(t,a){this._onigLib={createOnigScanner:r=>t.createScanner(r),createOnigString:r=>t.createString(r)},a.forEach(r=>this.addLanguage(r))}get onigLib(){return this._onigLib}getLangRegistration(t){return this._langs.get(t)}loadGrammar(t){return this._scopeToLang.get(t)}addLanguage(t){this._langs.set(t.name,t),t.aliases&&t.aliases.forEach(a=>{this._langs.set(a,t)}),this._scopeToLang.set(t.scopeName,t),t.injectTo&&t.injectTo.forEach(a=>{this._injections.get(a)||this._injections.set(a,[]),this._injections.get(a).push(t.scopeName)})}getInjections(t){let a=t.split("."),r=[];for(let o=1;o<=a.length;o++){let n=a.slice(0,o).join(".");r=[...r,...this._injections.get(n)||[]]}return r}},Sa=0;function dg(e){Sa+=1,e.warnings!==!1&&Sa>=10&&Sa%10===0&&console.warn(`[Shiki] ${Sa} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \`highlighter.dispose()\` to release unused instances.`);let t=!1;if(!e.engine)throw new mt("`engine` option is required for synchronous mode");let a=(e.langs||[]).flat(1),r=(e.themes||[]).flat(1).map(en),o=new Xo(e.engine,a),n=new $o(o,r,a,e.langAlias),s;function i(h){return Bl(h,e.langAlias)}function l(h){x();let w=n.getGrammar(typeof h=="string"?h:h.name);if(!w)throw new mt(`Language \`${h}\` not found, you may need to load it first`);return w}function u(h){if(h==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};x();let w=n.getTheme(h);if(!w)throw new mt(`Theme \`${h}\` not found, you may need to load it first`);return w}function c(h){x();let w=u(h);s!==h&&(n.setTheme(w),s=h);let y=n.getColorMap();return{theme:w,colorMap:y}}function d(){return x(),n.getLoadedThemes()}function f(){return x(),n.getLoadedLanguages()}function p(...h){x(),n.loadLanguages(h.flat(1))}async function m(...h){return p(await El(h))}function L(...h){x();for(let w of h.flat(1))n.loadTheme(w)}async function I(...h){return x(),L(await Dl(h))}function x(){if(t)throw new mt("Shiki instance has been disposed")}function C(){t||(t=!0,n.dispose(),Sa-=1)}return{setTheme:c,getTheme:u,getLanguage:l,getLoadedThemes:d,getLoadedLanguages:f,resolveLangAlias:i,loadLanguage:m,loadLanguageSync:p,loadTheme:I,loadThemeSync:L,dispose:C,[Symbol.dispose]:C}}async function cg(e){e.engine||ug("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,a,r]=await Promise.all([Dl(e.themes||[]),El(e.langs||[]),e.engine]);return dg({...e,themes:t,langs:a,engine:r})}async function fg(e){let t=await cg(e);return{getLastGrammarState:(...a)=>Km(t,...a),codeToTokensBase:(a,r)=>Yo(t,a,r),codeToTokensWithThemes:(a,r)=>Fl(t,a,r),codeToTokens:(a,r)=>xr(t,a,r),codeToHast:(a,r)=>Ir(t,a,r),codeToHtml:(a,r)=>ig(t,a,r),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function _l(e){let t=e.langs,a=e.themes,r=e.engine;async function o(n){function s(d){if(typeof d=="string"){if(d=n.langAlias?.[d]||d,Tl(d))return[];let f=t[d];if(!f)throw new pe(`Language \`${d}\` is not included in this bundle. You may want to load it from external source.`);return f}return d}function i(d){if(vl(d))return"none";if(typeof d=="string"){let f=a[d];if(!f)throw new pe(`Theme \`${d}\` is not included in this bundle. You may want to load it from external source.`);return f}return d}let l=(n.themes??[]).map(d=>i(d)),u=(n.langs??[]).map(d=>s(d)),c=await fg({engine:n.engine??r(),...n,themes:l,langs:u});return{...c,loadLanguage(...d){return c.loadLanguage(...d.map(s))},loadTheme(...d){return c.loadTheme(...d.map(i))},getBundledLanguages(){return t},getBundledThemes(){return a}}}return o}function pg(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 Ol(e,t){let a=pg(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 tn=[{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-PU3MXNBE.js"))},{id:"angular-ts",name:"Angular TypeScript",import:(()=>import("../angular-ts-WMZKXXGP.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-YU3KF3Y6.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-YKL22AM4.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-YD3RINFS.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-AUUIRTAZ.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-44UF6IIM.js"))},{id:"elixir",name:"Elixir",import:(()=>import("../elixir-ZJ4WTHOY.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-ZF7YKJP7.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-TKADNZF5.js"))},{id:"glimmer-ts",name:"Glimmer TS",aliases:["gts"],import:(()=>import("../glimmer-ts-WFYWDU2O.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-HCRIHDCF.js"))},{id:"haml",name:"Ruby Haml",import:(()=>import("../haml-335RVEQR.js"))},{id:"handlebars",name:"Handlebars",aliases:["hbs"],import:(()=>import("../handlebars-7EKNR6OR.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-G4Q6FSTL.js"))},{id:"html-derivative",name:"HTML (Derivative)",import:(()=>import("../html-derivative-2AGKXLI2.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-K2EDFFOP.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-YEOV5OY7.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-I5IJFJ2O.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-JXWLGPJS.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-HORNVRGS.js"))},{id:"php",name:"PHP",import:(()=>import("../php-JGPDZKQ3.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-3YFWZUJ6.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-7T4OK2LD.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-SR6APMGO.js"))},{id:"ruby",name:"Ruby",aliases:["rb"],import:(()=>import("../ruby-IYOQSPDU.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-WHPD3NJL.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-VI6LYHRW.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-MU4UAPH3.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-OY2C64LG.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-M6XWA362.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"))}],Ul=Object.fromEntries(tn.map(e=>[e.id,e.import])),Nl=Object.fromEntries(tn.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),ka={...Ul,...Nl};var mg=[{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"))}],Hl=Object.fromEntries(mg.map(e=>[e.id,e.import]));var Ta=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function gg(){return 2147483648}function hg(){return typeof performance<"u"?performance.now():Date.now()}var wg=(e,t)=>e+(t-e%t)%t;async function xg(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=gg();if(p>L)return!1;for(let I=1;I<=4;I*=2){let x=m*(1+.2/I);x=Math.min(x,p+100663296);let C=Math.min(L,wg(Math.max(p,x),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 I=m+L,x=m;for(;p[x]&&!(x>=I);)++x;if(x-m>16&&p.buffer&&l)return l.decode(p.subarray(m,x));let C="";for(;m<x;){let h=p[m++];if(!(h&128)){C+=String.fromCharCode(h);continue}let w=p[m++]&63;if((h&224)===192){C+=String.fromCharCode((h&31)<<6|w);continue}let y=p[m++]&63;if((h&240)===224?h=(h&15)<<12|w<<6|y:h=(h&7)<<18|w<<12|y<<6|p[m++]&63,h<65536)C+=String.fromCharCode(h);else{let M=h-65536;C+=String.fromCharCode(55296|M>>10,56320|M&1023)}}return C}function c(p,m){return p?u(r.HEAPU8,p,m):""}let d={emscripten_get_now:hg,emscripten_memcpy_big:n,emscripten_resize_heap:i,fd_write:()=>0};async function f(){let m=await e({env:d,wasi_snapshot_preview1:d});t=m.memory,o(t.buffer),Object.assign(r,m),r.UTF8ToString=c}return await f(),r}var Ig=Object.defineProperty,Lg=(e,t,a)=>t in e?Ig(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,Se=(e,t,a)=>Lg(e,typeof t!="symbol"?t+"":t,a),ve=null;function Cg(e){throw new Ta(e.UTF8ToString(e.getLastOnigError()))}var Sr=class e{constructor(t){Se(this,"utf16Length"),Se(this,"utf8Length"),Se(this,"utf16Value"),Se(this,"utf8Value"),Se(this,"utf16OffsetToUtf8"),Se(this,"utf8OffsetToUtf16");let a=t.length,r=e._utf8ByteLength(t),o=r!==a,n=o?new Uint32Array(a+1):null;o&&(n[a]=r);let s=o?new Uint32Array(r+1):null;o&&(s[r]=a);let i=new Uint8Array(r),l=0;for(let u=0;u<a;u++){let c=t.charCodeAt(u),d=c,f=!1;if(c>=55296&&c<=56319&&u+1<a){let p=t.charCodeAt(u+1);p>=56320&&p<=57343&&(d=(c-55296<<10)+65536|p-56320,f=!0)}o&&(n[u]=l,f&&(n[u+1]=l),d<=127?s[l+0]=u:d<=2047?(s[l+0]=u,s[l+1]=u):d<=65535?(s[l+0]=u,s[l+1]=u,s[l+2]=u):(s[l+0]=u,s[l+1]=u,s[l+2]=u,s[l+3]=u)),d<=127?i[l++]=d:d<=2047?(i[l++]=192|(d&1984)>>>6,i[l++]=128|(d&63)>>>0):d<=65535?(i[l++]=224|(d&61440)>>>12,i[l++]=128|(d&4032)>>>6,i[l++]=128|(d&63)>>>0):(i[l++]=240|(d&1835008)>>>18,i[l++]=128|(d&258048)>>>12,i[l++]=128|(d&4032)>>>6,i[l++]=128|(d&63)>>>0),f&&u++}this.utf16Length=a,this.utf8Length=r,this.utf16Value=t,this.utf8Value=i,this.utf16OffsetToUtf8=n,this.utf8OffsetToUtf16=s}static _utf8ByteLength(t){let a=0;for(let r=0,o=t.length;r<o;r++){let n=t.charCodeAt(r),s=n,i=!1;if(n>=55296&&n<=56319&&r+1<o){let l=t.charCodeAt(r+1);l>=56320&&l<=57343&&(s=(n-55296<<10)+65536|l-56320,i=!0)}s<=127?a+=1:s<=2047?a+=2:s<=65535?a+=3:a+=4,i&&r++}return a}createString(t){let a=t.omalloc(this.utf8Length);return t.HEAPU8.set(this.utf8Value,a),a}},br=class Ze{constructor(t){if(Se(this,"id",++Ze.LAST_ID),Se(this,"_onigBinding"),Se(this,"content"),Se(this,"utf16Length"),Se(this,"utf8Length"),Se(this,"utf16OffsetToUtf8"),Se(this,"utf8OffsetToUtf16"),Se(this,"ptr"),!ve)throw new Ta("Must invoke loadWasm first.");this._onigBinding=ve,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&&!Ze._sharedPtrInUse?(Ze._sharedPtr||(Ze._sharedPtr=ve.omalloc(1e4)),Ze._sharedPtrInUse=!0,ve.HEAPU8.set(a.utf8Value,Ze._sharedPtr),this.ptr=Ze._sharedPtr):this.ptr=a.createString(ve)}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===Ze._sharedPtr?Ze._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};Se(br,"LAST_ID",0);Se(br,"_sharedPtr",0);Se(br,"_sharedPtrInUse",!1);var ql=br,rn=class{constructor(t){if(Se(this,"_onigBinding"),Se(this,"_ptr"),!ve)throw new Ta("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(ve),r[i]=u.utf8Length}let o=ve.omalloc(4*t.length);ve.HEAPU32.set(a,o/4);let n=ve.omalloc(4*t.length);ve.HEAPU32.set(r,n/4);let s=ve.createOnigScanner(o,n,t.length);for(let i=0,l=t.length;i<l;i++)ve.ofree(a[i]);ve.ofree(n),ve.ofree(o),s===0&&Cg(ve),this._onigBinding=ve,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 ql(t);let n=this._findNextMatchSync(t,a,!1,o);return t.dispose(),n}return this._findNextMatchSync(t,a,!1,o)}_findNextMatchSync(t,a,r,o){let n=this._onigBinding,s=n.findNextOnigScannerMatch(this._ptr,t.id,t.ptr,t.utf8Length,t.convertUtf16OffsetToUtf8(a),o);if(s===0)return null;let i=n.HEAPU32,l=s/4,u=i[l++],c=i[l++],d=[];for(let f=0;f<c;f++){let p=t.convertUtf8OffsetToUtf16(i[l++]),m=t.convertUtf8OffsetToUtf16(i[l++]);d[f]={start:p,end:m,length:m-p}}return{index:u,captureIndices:d}}};function yg(e){return typeof e.instantiator=="function"}function Sg(e){return typeof e.default=="function"}function bg(e){return typeof e.data<"u"}function kg(e){return typeof Response<"u"&&e instanceof Response}function Tg(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 yr;function vg(e){if(yr)return yr;async function t(){ve=await xg(async a=>{let r=e;return r=await r,typeof r=="function"&&(r=await r(a)),typeof r=="function"&&(r=await r(a)),yg(r)?r=await r.instantiator(a):Sg(r)?r=await r.default(a):(bg(r)&&(r=r.data),kg(r)?typeof WebAssembly.instantiateStreaming=="function"?r=await Pg(r)(a):r=await Ag(r)(a):Tg(r)?r=await an(r)(a):r instanceof WebAssembly.Module?r=await an(r)(a):"default"in r&&r.default instanceof WebAssembly.Module&&(r=await an(r.default)(a))),"instance"in r&&(r=r.instance),"exports"in r&&(r=r.exports),r})}return yr=t(),yr}function an(e){return t=>WebAssembly.instantiate(e,t)}function Pg(e){return t=>WebAssembly.instantiateStreaming(e,t)}function Ag(e){return async t=>{let a=await e.arrayBuffer();return WebAssembly.instantiate(a,t)}}async function Wl(e){return e&&await vg(e),{createScanner(t){return new rn(t.map(a=>typeof a=="string"?a:a.source))},createString(t){return new ql(t)}}}var kr=_l({langs:ka,themes:Hl,engine:()=>Wl(import("../wasm-EOPKAILK.js"))}),{codeToHtml:Rg,codeToHast:Mg,codeToTokens:Fg,codeToTokensBase:Eg,codeToTokensWithThemes:Dg,getSingletonHighlighter:Bg,getLastGrammarState:_g}=Ol(kr,{guessEmbeddedLanguages:Al});var Gl=new Set(Object.keys(ka)),on=new Map,nn=new Map,Ht=new Map,Og=(e,t)=>`${e}-${t[0]}-${t[1]}`,Ug=(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}`},Ng=(e,t)=>{let a=Og(e,t);if(on.has(a))return on.get(a);let r=kr({themes:t,langs:[e]});return on.set(a,r),r};function Hg(e={}){var t;let a=(t=e.themes)!=null?t:["github-light","github-dark"];return{name:"shiki",type:"code-highlighter",supportsLanguage(r){return Gl.has(r)},getSupportedLanguages(){return Array.from(Gl)},getThemes(){return a},highlight({code:r,language:o,themes:n},s){let i=Ug(r,o,n);return nn.has(i)?nn.get(i):(s&&(Ht.has(i)||Ht.set(i,new Set),Ht.get(i).add(s)),Ng(o,n).then(l=>{let u=l.getLoadedLanguages().includes(o)?o:"text",c=l.codeToTokens(r,{lang:u,themes:{light:n[0],dark:n[1]}});nn.set(i,c);let d=Ht.get(i);if(d){for(let f of d)f(c);Ht.delete(i)}}).catch(l=>{console.error("[Streamdown Code] Failed to highlight code:",l),Ht.delete(i)}),null)}}}var Vl=Hg();import{memo as Vg}from"react";import{useEffect as qg,useRef as Tr,useState as Wg}from"react";var Gg=5,zl=400;function jl(e,t,a={}){let{msPerChar:r=Gg}=a,[o,n]=Wg(t?"":e),s=Tr(e),i=Tr(t?0:e.length),l=Tr(0),u=Tr(null);return(e.length<i.current||!e.startsWith(o.slice(0,i.current)))&&(i.current=t?0:e.length),s.current=e,qg(()=>{if(!t){u.current!==null&&(cancelAnimationFrame(u.current),u.current=null),i.current=e.length,n(e);return}if(s.current.length-i.current>zl&&(i.current=s.current.length-zl),u.current!==null)return;let d=f=>{let p=s.current;if(i.current>=p.length){u.current=null;return}l.current===0&&(l.current=f);let m=f-l.current;if(m>=r){let L=Math.min(Math.floor(m/r),p.length-i.current);i.current+=L,n(p.slice(0,i.current)),l.current=f}u.current=requestAnimationFrame(d)};return u.current=requestAnimationFrame(d),()=>{u.current!==null&&(cancelAnimationFrame(u.current),u.current=null)}},[e,t,r]),o}import{jsx as vr}from"react/jsx-runtime";var sn=({className:e,from:t,children:a,...r})=>vr("div",{className:k("ww-message ww:group ww:flex ww:w-full",t==="user"?"ww-message-user is-user ww:ml-auto ww:flex-col ww:items-end ww:[max-width:var(--ww-msg-max-width,80%)]":"ww-message-assistant is-assistant ww:flex-col",e),...r,children:vr("div",{className:k("ww:flex ww:min-w-0 ww:flex-col ww:gap-2","ww:w-full"),children:a})}),ln=({children:e,className:t,...a})=>vr("div",{className:k("ww-bubble ww:flex ww:w-fit ww:min-w-0 ww:max-w-full ww:flex-col ww:gap-2 ww:overflow-hidden","ww:[font-size:var(--ww-font-size,1rem)] ww:[line-height:var(--ww-line-height,1.5)]","ww:group-[.is-user]:ml-auto ww:group-[.is-user]:bg-user-bubble ww:group-[.is-user]:[color:var(--ww-color-user-bubble-text)] ww:group-[.is-user]:[border-radius:var(--ww-msg-radius,8px)] ww:group-[.is-user]:[padding:var(--ww-msg-pad-y,12px)_var(--ww-msg-pad-x,16px)]","ww:group-[.is-assistant]:text-foreground",t),...a,children:e}),zg={cjk:Ao,code:Vl},jg={cjk:Ao},$g={enabled:!1};function Xg({className:e,linkSafety:t,isStreaming:a,children:r,...o}){let s=jl(typeof r=="string"?r:"",!!a),i=typeof r=="string"?s:r;return vr(jt,{className:k("ww:size-full ww:[&>*:first-child]:mt-0 ww:[&>*:last-child]:mb-0",e),linkSafety:t??$g,plugins:a?jg:zg,...o,children:i})}var Pr=Vg(Xg,(e,t)=>e.children===t.children&&e.isStreaming===t.isStreaming);Pr.displayName="MessageResponse";import{jsx as $l,jsxs as Kg}from"react/jsx-runtime";function Xl(e){return e.type==="text"||e.type==="reasoning"||e.type==="file"||"toolCallId"in e}function Kl(e){return e.parts.some(Xl)}function Ql(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=>!(!Xl(n)||a?.ignoreToolParts&&"toolCallId"in n||a?.ignoreReasoningParts&&n.type==="reasoning"))}function Jl({className:e,...t}){let{t:a}=V();return Kg("div",{"aria-live":"polite",className:k("ww:mb-4 ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground",e),style:{animation:"ww-fade-in 0.2s ease-out"},...t,children:[$l(ra,{className:"ww:size-4 ww:shrink-0"}),$l(ze,{duration:1.6,children:a.workingIndicator.default})]})}import{jsx as va,jsxs as Qg}from"react/jsx-runtime";function Yl({icon:e,title:t,description:a,suggestions:r,onSuggestionSelect:o}){return Qg("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&&va("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}),va("h2",{className:"ww:text-lg ww:font-semibold ww:text-foreground",children:t}),a&&va("p",{className:"ww:mt-1 ww:text-sm ww:text-muted-foreground ww:max-w-sm",children:a}),r&&r.length>0&&va("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)=>va("button",{type:"button",onClick:()=>o?.(n),className:k("ww:w-full ww:text-left ww:rounded-xl ww:border ww:border-border ww:bg-background ww:px-4 ww:py-3 ww:text-sm","ww:text-foreground ww:hover:bg-accent ww:hover:border-primary/30","ww:transition-all ww:duration-200 ww:ease-out ww:cursor-pointer","ww:animate-[ww-fade-in_0.2s_ease-out_both]"),style:{animationDelay:`${s*50}ms`},children:n},n))})]})}import{Component as Jg}from"react";import{jsx as un,jsxs as Zg}from"react/jsx-runtime";function Yg({onRetry:e}){let{t}=V();return Zg("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:[un("span",{children:t.widgetErrorBoundary.failedToLoad}),un("button",{type:"button",onClick:e,className:"ww:text-xs ww:font-medium ww:text-primary ww:hover:underline",children:t.widgetErrorBoundary.retry})]})}var Ar=class extends Jg{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.warn("[Waniwani] Widget failed to render:",t.message)}render(){return this.state.hasError?un(Yg,{onRetry:()=>this.setState({hasError:!1})}):this.props.children}};import{Fragment as eh,jsx as ne,jsxs as ht}from"react/jsx-runtime";function dn(e){return e?e.replace(/[-_]/g," ").replace(/^\w/,t=>t.toUpperCase()):"Tool"}function Zl(e){return e&&/search|find|lookup|query|web|browse|google/i.test(e)?Zt:Lt}function eu({messages:e,status:t,welcomeMessage:a,welcome:r,onSuggestionSelect:o,resourceEndpoint:n,chatSessionId:s,isDark:i,onFollowUp:l,onCallTool:u,onWidgetDisplayModeChange:c,fullscreenToolCallId:d,debug:f,showToolCalls:p=!0,toolDefinitions:m,messageClassNames:L}){let{t:I}=V(),x=e[e.length-1],C=e.length>0,h=d!=null,w=!h&&Ql(e,t,{ignoreToolParts:p===!1,ignoreReasoningParts:p===!1});return ht(eh,{children:[!h&&(!C&&r?ne(Yl,{...r,onSuggestionSelect:o}):a&&ne(sn,{from:"assistant",children:ne(ln,{children:ne(Pr,{children:a})})})),e.map(y=>{let M=y.parts.filter(T=>T.type==="text"),R=y.parts.filter(T=>T.type==="reasoning"),_=y.parts.filter(T=>T.type==="file"),te=Us(y.metadata),O=y.parts.filter(T=>"toolCallId"in T),U=y.parts.filter(T=>T.type==="reasoning"||"toolCallId"in T),F=y===x&&y.role==="assistant",G=M.length>0,D=h?O.some(T=>T.toolCallId===d):!1,W=p!==!1&&!D&&U.length>=2;return h&&!D?ne("div",{style:{display:"none"}},y.id):y.role==="assistant"&&!Kl(y)?ne("div",{style:{display:"none"}},y.id):p===!1&&y.role==="assistant"&&!G&&_.length===0&&O.every(T=>{let S="output"in T?T.output:void 0;return S===void 0||!n||!na(T.toolName,S,m)})?ne("div",{style:{display:"none"}},y.id):ht(sn,{from:y.role,className:L?.message,children:[p!==!1&&!D&&!W&&R.map((T,S)=>ht(ca,{isStreaming:T.state==="streaming",children:[ne(fa,{}),ne(pa,{children:T.text})]},`reasoning-${y.id}-${S}`)),W&&(()=>{let T=U[U.length-1],S=T.type==="reasoning"?{icon:tt,label:I.reasoning.thinking}:{icon:Zl(T.toolName),label:T.title??dn(T.toolName)};return ht(di,{isWorking:F&&(t==="streaming"||t==="submitted"),activeStep:S,children:[ne(ci,{workingLabel:I.chainOfThought.working,label:I.chainOfThought.done}),ne(fi,{children:U.map((v,K)=>{let Q=K===U.length-1;if(v.type==="reasoning")return ne(mi,{isStreaming:v.state==="streaming",isLast:Q,children:v.text},`reasoning-${y.id}-${K}`);let Ee=v.title??dn(v.toolName),Be=Zl(v.toolName);if(p==="titles-only")return ne(To,{icon:Be,title:Ee,state:v.state,isLast:Q},v.toolCallId);let b="output"in v?v.output:void 0;return ht(To,{icon:Be,title:Ee,state:v.state,isLast:Q,children:[ne(no,{input:v.input,debug:f}),b!==void 0&&ne(so,{output:b,errorText:"errorText"in v?v.errorText:void 0,debug:f})]},v.toolCallId)})})]})})(),p!==!1&&!D&&!W&&O.length===1&&(()=>{let T=O[0],S=T.title??dn(T.toolName);if(p==="titles-only")return ne(ps,{title:S,state:T.state});let v="output"in T?T.output:void 0;return ht(cs,{children:[ne(fs,{title:S,state:T.state}),ht(ms,{children:[ne(no,{input:T.input,debug:f}),v!==void 0&&ne(so,{output:v,errorText:"errorText"in T?T.errorText:void 0,debug:f})]})]})})(),O.map(T=>{let S="output"in T?T.output:void 0,v=na(T.toolName,S,m),K=gs(T.toolName,S,m),Q=T.toolCallId===d;return v&&n&&S!==void 0?ne("div",{style:Q?{position:"absolute",inset:0,zIndex:10,display:"flex",flexDirection:"column",overflow:"hidden",background:"var(--ww-color-background)"}:void 0,children:v&&n&&S!==void 0&&ne(Ar,{children:ne(la,{isFullscreen:Q,resourceUri:v,toolInput:T.input??{},toolResult:{content:S.content,structuredContent:S.structuredContent,_meta:S._meta},resourceEndpoint:n,chatSessionId:s,isDark:i,autoHeight:K,toolDefinitions:m,onFollowUp:l,onCallTool:u,onDisplayModeChange:c?Ee=>c(Ee,{toolCallId:T.toolCallId,resourceUri:v,toolInput:T.input??{},toolResult:{content:S.content,structuredContent:S.structuredContent,_meta:S._meta},autoHeight:K}):void 0})})},T.toolCallId):null}),!D&&te.length>0&&ne(Ns,{documents:te}),!D&&ne("div",{children:ht(ln,{className:k(y.role==="user"?L?.userBubble:L?.assistantBubble),children:[_.length>0&&ne(_s,{files:_}),G?M.map((T,S)=>{let v=F&&t==="streaming"&&S===M.length-1;return ne(Pr,{isStreaming:v,children:T.type==="text"?T.text:""},`${y.id}-${S}`)}):null]})})]},y.id)}),w&&ne(Jl,{})]})}import{jsx as tu,jsxs as rh}from"react/jsx-runtime";var th="https://app.waniwani.ai/assets/waniwani-logo.svg",ah="https://waniwani.ai";function au(){let{t:e}=V();return rh("a",{href:ah,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:[tu("span",{children:e.poweredBy.label}),tu("img",{src:th,alt:"Waniwani",width:72,height:10,"data-waniwani-logo":"",className:"ww:h-2.5 ww:w-auto"})]})}import{jsx as Rr}from"react/jsx-runtime";function ru({suggestions:e,isLoading:t,onSelect:a,align:r="start",className:o,...n}){return e.length===0&&!t?null:Rr("div",{className:k("ww:px-4 ww:py-2",o),...n,children:Rr("div",{className:k("ww:mx-auto ww:w-full ww:max-w-3xl ww:flex ww:flex-wrap ww:gap-2",r==="center"&&"ww:justify-center"),children:t?[0,1,2].map(s=>Rr("div",{className:"ww:h-8 ww:rounded-full ww:bg-accent ww:animate-pulse",style:{width:`${60+s*20}px`}},s)):e.map((s,i)=>Rr("button",{type:"button",onClick:()=>a(s),className:k("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:`${i*50}ms`},children:s},s))})})}import{useEffect as oh,useRef as nh,useState as sh}from"react";import{jsx as me,jsxs as Pt}from"react/jsx-runtime";var ou=20;function ih({label:e}){return Pt("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:[me("title",{children:e}),me("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),me("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}function lh({label:e}){return Pt("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:[me("title",{children:e}),me("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),me("polyline",{points:"3 4 3 9 8 9"}),me("line",{x1:"12",y1:"7",x2:"12",y2:"12"}),me("line",{x1:"12",y1:"12",x2:"15",y2:"14"})]})}function uh({label:e}){return Pt("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:[me("title",{children:e}),me("polyline",{points:"3 6 5 6 21 6"}),me("path",{d:"M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6"}),me("path",{d:"M10 11v6"}),me("path",{d:"M14 11v6"})]})}function nu({threads:e,activeThreadId:t,onNewThread:a,onSelectThread:r,onDeleteThread:o}){let{locale:n,t:s}=V(),[i,l]=sh(!1),u=nh(null);oh(()=>{if(!i)return;let f=p=>{let m=u.current;m&&(p.composedPath().includes(m)||l(!1))};return document.addEventListener("mousedown",f),()=>document.removeEventListener("mousedown",f)},[i]);let c=e.slice(0,ou),d=Math.max(0,e.length-ou);return Pt("div",{ref:u,className:"ww:relative ww:flex ww:items-center ww:gap-1",children:[me("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:me(ih,{label:s.threadMenu.newChat})}),me("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:me(lh,{label:s.threadMenu.threadHistory})}),i&&Pt("div",{role:"menu",className:"ww:absolute ww:right-0 ww:top-full ww:mt-1 ww:w-72 ww:max-h-80 ww:overflow-y-auto ww:rounded-lg ww:border ww:border-border ww:bg-background ww:shadow-lg ww:z-50",children:[c.length===0&&me("div",{className:"ww:px-3 ww:py-3 ww:text-xs ww:text-muted-foreground",children:s.threadMenu.noPreviousChats}),c.map(f=>{let p=f.threadId===t,m=Date.parse(f.updatedAt);return Pt("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:[Pt("button",{type:"button",onClick:()=>{r(f.threadId),l(!1)},className:"ww:flex-1 ww:min-w-0 ww:text-left ww:cursor-pointer",children:[me("div",{className:"ww:truncate ww:text-foreground ww:font-medium",children:f.title}),me("div",{className:"ww:text-[10px] ww:text-muted-foreground",children:Number.isNaN(m)?"":to(m,n)})]}),me("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:me(uh,{label:s.threadMenu.deleteThread})})]},f.threadId)}),d>0&&me("div",{className:"ww:px-3 ww:py-2 ww:text-[10px] ww:text-muted-foreground ww:border-t ww:border-border",children:s.threadMenu.hiddenThreads(d)})]})]})}import{createContext as dh,useContext as ch}from"react";function su(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 iu(){return{subscribe(){return()=>{}},emit(){}}}var lu=dh(iu());function Mr(){return ch(lu)}var uu=lu.Provider;import{useCallback as fh,useRef as ph}from"react";function du(e){let t=ph(e);return t.current=e,fh(async a=>{let{api:r,headers:o,onCallTool:n,sessionId:s}=t.current;if(n)return n(a);let i=je(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 bh}from"@ai-sdk/react";import{useCallback as le,useEffect as De,useRef as ue,useState as wt}from"react";var mh="/api/mcp/modules/documents",gh=2e4,hh=3e5,Ve=class extends Error{code;constructor(t,a){super(a),this.name="DocumentUploadError",this.code=t}};function cu(e,t){return qa(e,`${mh}${t}`)}function wh(e){return cu(e,"/upload-url")}function fu(e,t){let a=new Headers(e);return new Headers(t).forEach((r,o)=>{a.set(o,r)}),a}function xh(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 Ih(e){return e===403?new Ve("upload_disabled","This agent does not accept document uploads."):e===413?new Ve("max_file_size","That file is too large."):e===422||e===400?new Ve("accept","That file type is not accepted."):new Ve("upload_failed",`The upload could not be started (${e}).`)}function Lh(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=hh;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 Ve("upload_failed",`The upload was rejected (${r.status}).`))},r.onerror=()=>{n(),a(new Ve("upload_failed","The upload could not be completed."))},r.ontimeout=()=>{n(),a(new Ve("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 Fr(e){let t=cu(e.api,`/${e.documentId}`);if(t)try{await fetch(t,{method:"DELETE",headers:fu(e.headers,e.uploadHeaders)})}catch{}}async function pu(e){e.signal.throwIfAborted();let t=wh(e.api);if(!t)throw new Ve("upload_disabled","This agent does not accept document uploads.");let a=new AbortController,r=setTimeout(()=>a.abort(),gh),o=()=>a.abort(e.signal.reason);e.signal.addEventListener("abort",o,{once:!0});let n;try{let i=fu(e.headers,e.uploadHeaders);i.set("Content-Type","application/json"),n=await fetch(t,{method:"POST",headers:i,signal:a.signal,body:JSON.stringify({filename:e.file.name,contentType:e.file.type,byteSize:e.file.size,...e.sessionId?{sessionId:e.sessionId}:{}})})}catch(i){throw e.signal.aborted?i:new Ve("upload_failed","The upload could not be started.")}finally{clearTimeout(r),e.signal.removeEventListener("abort",o)}if(!n.ok)throw Ih(n.status);let s=xh(await n.json().catch(()=>null));if(e.signal.throwIfAborted(),!s)throw new Ve("upload_failed","The upload could not be started.");return await Lh({url:s.uploadUrl,headers:s.headers,file:e.file,signal:e.signal,onProgress:e.onProgress}),{documentId:s.documentId,filename:e.file.name,mediaType:e.file.type}}import{DefaultChatTransport as Ch,uiMessageChunkSchema as yh}from"ai";function Sh(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 Er=class extends Ch{processResponseStream(t){let a="",r=yh(),o=r.validate?.bind(r);return t.pipeThrough(new TextDecoderStream).pipeThrough(new TransformStream({async transform(n,s){a+=n;let i=a.split(`
|
|
16
|
+
`);a=i.pop()??"";for(let l of i){let u=l.trim();if(!u.startsWith("data:"))continue;let c=u.slice(5).trim();if(c!=="[DONE]")try{let d=JSON.parse(c);if(!o){s.enqueue(d);continue}let f=await o(d);if(f.success){s.enqueue(f.value);continue}let p=Sh(f.error);if(p?.length){let m={...d};for(let I of p)delete m[I];let L=await o(m);L.success&&s.enqueue(L.value)}}catch{}}}}))}};var mu=50,gu=1e3;function Dr(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 Br(e){if(typeof indexedDB>"u")return null;let t=null;try{return t=await po(),await e(t)}catch{return null}finally{try{t?.close()}catch{}}}function cn(e){return new Promise((t,a)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>a(e.error)})}async function fn(e){return await Br(async a=>{let n=a.transaction(Ue,"readonly").objectStore(Ue).index(Wa),i=(await cn(n.getAll(e))??[]).filter(Dr);return i.sort((l,u)=>l.updatedAt<u.updatedAt?1:-1),i})??[]}async function _r(e){return await Br(async a=>{let o=a.transaction(Ue,"readonly").objectStore(Ue),n=await cn(o.get(e));return Dr(n)?n:null})??null}async function pn(e){if(!Dr(e))return;let t=e.messages.length>gu?{...e,messages:e.messages.slice(e.messages.length-gu)}:e;await Br(async a=>{await new Promise((l,u)=>{let c=a.transaction(Ue,"readwrite");c.oncomplete=()=>l(),c.onerror=()=>u(c.error),c.onabort=()=>u(c.error),c.objectStore(Ue).put(t)});let r=a.transaction(Ue,"readwrite"),o=r.objectStore(Ue),n=o.index(Wa),i=(await cn(n.getAll(t.memoryUserId))??[]).filter(Dr);if(i.length>mu){i.sort((u,c)=>u.updatedAt<c.updatedAt?-1:1);let l=i.slice(0,i.length-mu);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 hu(e){await Br(async t=>(await new Promise((a,r)=>{let o=t.transaction(Ue,"readwrite");o.oncomplete=()=>a(),o.onerror=()=>r(o.error),o.onabort=()=>r(o.error),o.objectStore(Ue).delete(e)}),null))}async function mn(e){return(await fn(e))[0]?.threadId??null}function wu(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 kh="x-session-id",Th=250,vh=200;function xu(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():ua()}function Or(){return new Date().toISOString()}function Iu(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}async function Ph(e,t){let a=je(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 Lu(e){let{api:t="/api/waniwani",headers:a,uploadHeaders:r,body:o,onMessageSent:n,onResponseReceived:s,enableThreadHistory:i=!1,activeThreadId:l,onThreadChange:u}=e,c=e.visitorId;De(()=>uo(c),[c]);let d=Mr(),f=ue(a),p=ue(r),m=ue(o),L=ue(i);De(()=>{L.current=i},[i]);let I=ue(void 0),x=ue(void 0),C=ue(null),[h,w]=wt(void 0),y=ue(h),[M,R]=wt(l),_=ue(M),[te,O]=wt([]),[U,F]=wt(!i),G=ue(void 0),D=ue(void 0),W=ue(void 0),T=ue(void 0),S=ue(0),v=ue(u);De(()=>{v.current=u},[u]);let K=le(g=>{_.current=g,R(g),g&&(v.current?.(g),d.emit({name:"thread.changed",sessionId:y.current,properties:{threadId:g}}))},[d]),Q=le(async()=>{if(!i)return;let g=C.current?.memoryUserId;if(!g)return;let A=await fn(g);O(A)},[i]),Ee=le(()=>y.current,[]),Be=le(g=>{let A=Iu(g);if(!A||y.current===A)return;let B=y.current===void 0;y.current=A,w(A),B&&d.emit({name:"session.started",properties:{sessionId:A}})},[d]),b=le(()=>{y.current=void 0,w(void 0)},[]);De(()=>{f.current=a,p.current=r},[a,r]),De(()=>{m.current=o},[o]),De(()=>{let g=!1,A=S.current;return(async()=>{try{let Y=await sa();if(g)return;C.current=Y}catch{}if(!i)return;let B=C.current?.memoryUserId;if(!B){F(!0);return}try{let Y=l??await mn(B);if(g||A!==S.current)return;if(Y){let be=await _r(Y);if(g||A!==S.current)return;be&&be.memoryUserId===B&&(_.current=be.threadId,R(be.threadId),G.current=be.createdAt,D.current=be.title,be.sessionId&&(y.current=be.sessionId,w(be.sessionId)),fe(be.messages))}await Q()}finally{g||F(!0)}})(),()=>{g=!0}},[]);let E=ue(null),N=le(g=>{let A=m.current?.[g];return typeof A=="string"?A:void 0},[]),Z=le(()=>({api:t,token:Va(f.current),channelId:N("channelId"),sessionId:y.current}),[t,N]),de=le(g=>{let A=E.current;E.current=null,A?.report(Z(),{mode:N("mode"),outcome:g})},[Z,N]),ge=ue(new Er({api:t,headers:()=>({...f.current}),body:()=>{let g={...m.current??{}},A=Object.hasOwn(g,"sessionId"),B=Iu(g.sessionId);if(B)Be(B),g.sessionId=B;else if(A)b(),delete g.sessionId;else{let jr=Ee();jr&&(g.sessionId=jr)}It(I.current)&&(g.modelContext=I.current),x.current?.length&&(g.documents=x.current);let Y=C.current,be=Oe();Y&&(g.visitorContext={timezone:Y.timezone,language:Y.language,languages:Y.languages,deviceType:Y.deviceType,referrer:Y.referrer,visitorId:be});let xe=typeof g.visitor=="object"&&g.visitor!==null?g.visitor:{},bd=typeof xe.client=="object"&&xe.client!==null?xe.client:{};g.visitor={...xe,id:be,client:{...bd,...Y&&{memoryUserId:Y.memoryUserId}}};let _n=typeof g.extra=="object"&&g.extra!==null&&!Array.isArray(g.extra)?g.extra:void 0,On=C.current?.memoryUserId,Un=C.current?.language,Ba={};if(On&&(Ba.memoryUserId=On),Un&&(Ba.locale=Un),(Object.keys(Ba).length>0||_n)&&(g.extra={...Ba,..._n??{}}),L.current)if(Object.hasOwn(g,"threadId"))typeof g.threadId=="string"&&(_.current=g.threadId);else{let _a=_.current;_a||(_a=xu(),G.current=Or(),D.current=void 0,K(_a)),g.threadId=_a}return g},fetch:(async(g,A)=>{let B=E.current;B?.mark("requestStart");try{let Y=await fetch(g,A);return I.current=void 0,Be(Y.headers.get(kh)),B?B.instrument(Y):Y}finally{x.current=void 0}})})),re=ue(e.transport?.({fallback:ge.current,headers:()=>f.current,body:()=>({channelId:N("channelId"),visitor:{id:Oe()}}),needsFallback:()=>L.current||!!x.current?.length||It(I.current),onSession:Be})??ge.current),ee=typeof c!="function";De(()=>{let g=re.current;return ee&&g.prepare?.(),()=>g.dispose?.()},[ee]);let H=ue(null),ie=ue(null),Ce=ue({}),[ae,J]=wt(0),$=e.skipRemoteConfig===!0,z=le(async()=>{if(!$)try{let g=await Ph(t,f.current);Ce.current=g,J(A=>A+1)}catch(g){console.warn("[Waniwani] Failed to fetch tool definitions:",g instanceof Error?g.message:g)}},[t,$]);De(()=>{z()},[z]);let{messages:q,sendMessage:ce,setMessages:fe,status:Le,stop:et}=bh({messages:e.initialMessages,transport:re.current,onFinish({message:g,isAbort:A,isDisconnect:B,isError:Y}){E.current?.mark("streamEnd"),de(A||B||Y?"error":"ok"),s?.(),!A&&!B&&!Y&&d.emit({name:"message.received"}),H.current&&(ie.current=g)},onError(g){de("error"),console.warn("[Waniwani] Chat error:",g.message),d.emit({name:"chat.error",properties:{message:g.message.slice(0,vh)}}),H.current&&(H.current.reject(g),H.current=null)}}),qe=ue(q);De(()=>{qe.current=q},[q]);let st=le(()=>{E.current=bs(qe.current.filter(g=>g.role==="user").length+1)},[]),[Vt,P]=wt(!1),X=le(async()=>{P(!0);try{await et();let g=y.current;if(!g)return;await fetch(je(t,"/cancel"),{method:"POST",headers:{"Content-Type":"application/json",...f.current},body:JSON.stringify({sessionId:g})})}catch{}finally{P(!1)}},[t,et]),we=ue(i);De(()=>{if(!i||we.current||(we.current=!0,qe.current.length>0))return;let g=!1,A=S.current;return F(!1),(async()=>{try{let B=C.current;if(!B)try{B=await sa(),C.current=B}catch{}let Y=B?.memoryUserId;if(!Y||g||A!==S.current){g||F(!0);return}let be=l??await mn(Y);if(g||A!==S.current)return;if(be){let xe=await _r(be);if(g||A!==S.current)return;xe&&xe.memoryUserId===Y&&(_.current=xe.threadId,R(xe.threadId),G.current=xe.createdAt,D.current=xe.title,xe.sessionId&&(y.current=xe.sessionId,w(xe.sessionId)),fe(xe.messages))}await Q()}finally{g||F(!0)}})(),()=>{g=!0}},[i]),De(()=>{if(Le==="ready"&&H.current&&ie.current){let g=H.current,A=ie.current;H.current=null,ie.current=null,g.resolve(A)}},[Le]);let[We,Me]=wt(""),[_e,At]=wt([]),Vr=ue([]);Vr.current=_e;let zt=Le==="submitted"||Le==="streaming",Fa=le(g=>{for(let A of g)for(let B of A.documents??[])Fr({documentId:B.documentId,api:t,headers:f.current,uploadHeaders:p.current})},[t]),it=le(()=>{Fa(Vr.current),At([])},[Fa]),md=le(g=>{let A=Vr.current.find(B=>B.id===g);A&&Fa([A]),At(B=>B.filter(Y=>Y.id!==g))},[Fa]),gd=zt&&_e.length>0,hd=le(g=>{let A=!!g.text?.trim(),B=!!(g.files?.length||g.documents?.length);if(A||B){if(zt){if(_e.length>0)return;At(Y=>[...Y,{id:ua(),text:g.text||"",files:g.files??[],documents:g.documents??[],modelContext:g.modelContext}]),Me("");return}st(),I.current=g.modelContext,x.current=g.documents,ce({text:g.text||"",files:g.files,...g.documents?.length&&{metadata:{documents:g.documents}}}),n?.(g.text||""),d.emit({name:"message.sent"}),Me("")}},[ce,n,zt,_e.length,d,st]),wd=le(g=>new Promise((A,B)=>{H.current={resolve:A,reject:B},st(),ce({text:g}),n?.(g),d.emit({name:"message.sent"})}),[ce,n,d,st]);De(()=>{if(Le!=="ready"||Vt||_e.length===0)return;let[g,...A]=_e;At(A),st(),I.current=g.modelContext,x.current=g.documents,ce({text:g.text,files:g.files.length>0?g.files:void 0,...g.documents.length>0&&{metadata:{documents:g.documents}}}),n?.(g.text),d.emit({name:"message.sent"})},[Le,Vt,ce,n,_e,d,st]);let xd=le(()=>{fe([]),it(),b(),Me(""),Ce.current={},J(g=>g+1),z()},[fe,b,z,it]),Ea=le(()=>{if(!L.current)return;let g=C.current?.memoryUserId,A=_.current,B=qe.current;if(!(!g||!A||B.length===0)){if(G.current||(G.current=Or()),!D.current){let Y=B.find(xe=>xe.role==="user"),be=Y?Y.parts.map(xe=>"text"in xe&&typeof xe.text=="string"?xe.text:"").join(" "):"";D.current=wu(be)}return{threadId:A,memoryUserId:g,title:D.current,messages:B,sessionId:y.current,createdAt:G.current,updatedAt:Or()}}},[]),En=le(async()=>{let g=Ea();g&&(await pn(g),await Q())},[Ea,Q]);De(()=>{if(i&&U&&!(Le==="submitted"||Le==="streaming")&&q.length!==0)return W.current&&clearTimeout(W.current),W.current=setTimeout(()=>{W.current=void 0;let g=En().finally(()=>{T.current===g&&(T.current=void 0)});T.current=g},Th),()=>{W.current&&clearTimeout(W.current)}},[i,U,q,Le,En]);let Da=le(()=>{let g=T.current,A=W.current,B=A?Ea():void 0;return A&&(clearTimeout(A),W.current=void 0),(async()=>{g&&await g,B&&(await pn(B),await Q())})()},[Ea,Q]),Id=le(()=>{S.current+=1,Da(),fe([]),it(),b(),Me("");let g=xu();return G.current=Or(),D.current=void 0,K(g),Q(),g},[fe,b,K,Q,Da,it]),zr=le(async g=>{S.current+=1;let A=S.current;if(await Da(),A!==S.current)return;let B=await _r(g);A===S.current&&B&&(B.sessionId?(y.current=B.sessionId,w(B.sessionId)):b(),K(B.threadId),G.current=B.createdAt,D.current=B.title,fe(B.messages),it(),Me(""))},[fe,b,K,Da,it]),Ld=le(async g=>{if(_.current===g){S.current+=1,W.current&&(clearTimeout(W.current),W.current=void 0);let A=T.current;A&&await A}await hu(g),await Q(),_.current===g&&(fe([]),it(),b(),Me(""),_.current=void 0,R(void 0),G.current=void 0,D.current=void 0)},[fe,b,Q,it]);De(()=>{i&&U&&l!==void 0&&l!==_.current&&zr(l)},[l,i,U,zr]);let Cd=le(g=>{Me(g.target.value)},[]),Dn=q[q.length-1],Bn=q.length>0,yd=zt&&(!Bn||Dn.role==="user"),Sd=Ce.current;return{messages:q,status:Le,text:We,setText:Me,handleSubmit:hd,handleTextChange:Cd,isLoading:zt,showLoaderBubble:yd,lastMessage:Dn,hasMessages:Bn,sendMessage:ce,sendMessageAndWait:wd,stop:X,reset:xd,queuedMessages:_e,queueFull:gd,removeQueuedMessage:md,sessionId:h,toolDefinitions:Sd,refreshToolDefinitions:z,threads:te,activeThreadId:M,isThreadHistoryReady:U,startNewThread:Id,switchThread:zr,deleteThread:Ld}}import{useCallback as Cu,useEffect as Ah,useState as Rh}from"react";var Mh=6e3;function yu(e){let{api:t,headers:a,uploadHeaders:r,sessionId:o,documentUpload:n,allowAttachments:s}=e,[i,l]=Rh(null),u=Cu((f,p,m)=>pu({file:f,api:t,headers:a,uploadHeaders:r,sessionId:o,signal:p,onProgress:m}),[t,a,r,o]),c=Cu(f=>{Fr({documentId:f.documentId,api:t,headers:a,uploadHeaders:r})},[t,a,r]);Ah(()=>{if(!i)return;let f=setTimeout(()=>l(null),Mh);return()=>clearTimeout(f)},[i]);let d=n?.enabled??!1;return{enabled:n?n.enabled:!!s,accept:n?.accept.join(","),maxFileSize:n?.maxBytes,maxPdfPages:n?.maxPdfPages,maxFiles:n?.maxFiles,upload:d?u:void 0,onDiscard:d?c:void 0,error:i,reportError:l}}import{useCallback as Eh,useEffect as wn,useMemo as xn,useRef as Dh,useState as Tu}from"react";function qt(e){return e.map(t=>({id:null,text:t}))}function gn(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 hn="waniwani/suggestions";function Wt(e){return typeof e=="object"&&e!==null}function Su(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function Fh(e){if(!Wt(e)||!("toolCallId"in e)||!("output"in e))return null;let t=e.output;if(!Wt(t)||!Wt(t._meta))return null;let a=t._meta[hn];return!Wt(a)||!Su(a.suggestions)?null:a.suggestions}function bu(e){let t=null;for(let a of e.parts){let r=Fh(a);r!==null&&(t=r)}return t}function ku(e){for(let t of e.parts){if(!Wt(t)||t.type!=="data-suggestions")continue;let a=t.data;if(Wt(a)&&Su(a.suggestions)&&a.suggestions.length>0)return a.suggestions}return null}function Bh(e){return"page"in e||"channel"in e}function _h(e){return typeof e!="object"||e===null?{}:Bh(e)?{rungs:e}:{initial:e.initial}}function vu(e){let{messages:t,status:a,suggestions:r}=e,o=r!==!1,{rungs:n,initial:s}=_h(r),i=xn(()=>({page:null,channel:qt(s??[])}),[s]),l=n??i,u=xn(()=>o?gn({flow:null,followup:null,...l}):null,[o,l]),c=xn(()=>u?.suggestions.map(h=>h.text)??[],[u]),[d,f]=Tu(c),[p,m]=Tu(u?.origin??"channel"),L=Dh(a),I=Eh(()=>{f([])},[]),x=t.length>0;wn(()=>{x||(f(c),m(u?.origin??"channel"))},[c,u,x]);let C=t[t.length-1];return wn(()=>{C?.role==="user"&&I()},[C,I]),wn(()=>{let h=L.current;if(L.current=a,h!=="streaming"||a!=="ready"||!o)return;let w=[...t].reverse().find(_=>_.role==="assistant");if(!w)return;let y=bu(w),M=ku(w),R=gn({flow:y===null?null:qt(y),followup:M===null?null:qt(M),page:null,channel:null});f(R?R.suggestions.map(_=>_.text):[]),m(R?.origin??"channel")},[a,o,t]),{suggestions:d,source:p,isLoading:!1,clear:I}}import{useEffect as Oh,useRef as Uh,useState as Nh}from"react";var Hh=80,qh=50,Wh=15e3,Pu=500;function Au(e,t=!0){let[a,r]=Nh(""),o=Uh(void 0);return Oh(()=>{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,Pu)):o.current=setTimeout(l,qh)):(n++,r(e.slice(0,n)),n>=e.length?(s=!0,o.current=setTimeout(l,Wh)):o.current=setTimeout(l,Hh)))};return o.current=setTimeout(l,Pu),()=>{i=!0,clearTimeout(o.current)}},[e,t]),a}function Ru(e,t){let a=t?.Authorization,r=typeof a=="string"&&a.startsWith("Bearer ")?a.slice(7):null;return je(e,"/resource",r?{token:r}:void 0)}var Mu={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"},Gh={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"},Vh={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 zh(e){return{...Mu,...e}}function In(e){let t={};for(let[a,r]of Object.entries(Vh)){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 nt}from"react/jsx-runtime";var Ln=Fu(function(t,a){let{locale:r,messages:o}=t;return he(eo,{locale:r,messages:o,children:he($h,{...t,ref:a})})}),$h=Fu(function(t,a){let{t:r,ready:o}=V(),{appearance:n,className:s,classNames:i,allowAttachments:l=!1,documentUpload:u,welcomeMessage:c,welcome:d,placeholder:f=r.promptInput.placeholder,triggerEvent:p="triggerDemoRequest",api:m,mcp:L,debug:I=!1,readOnly:x=!1,title:C,headerActions:h,hideHeader:w=!1,enableThreadHistory:y=!1,showToolCalls:M=!0,initializing:R=!1,onScreen:_=!0,disclaimer:te}=t,O=n?.theme,U=n?.variables,F=n?.assistantBubble??!1,G=U?In(U):{},[D,W]=Ur(!1);ot(()=>{if(O!=="auto"||typeof window>"u")return;let P=window.matchMedia("(prefers-color-scheme: dark)");W(P.matches);let X=()=>W(P.matches);return P.addEventListener("change",X),()=>P.removeEventListener("change",X)},[O]);let T=O==="dark"||O==="auto"&&D,S=Lu({...t,api:m}),v=Mr(),K=du({...t,api:m,sessionId:S.sessionId,onCallTool:L?.onCallTool}),Q=L?.resourceEndpoint??Ru(m,t.headers),Ee=xt({});Ee.current={api:m,token:Va(t.headers),channelId:typeof t.body?.channelId=="string"?t.body.channelId:void 0,sessionId:S.sessionId};let Be=Pa(P=>{ja("widget",Ee.current,{widget:P.widget,outcome:P.outcome},P.metrics)},[]),b=Au(f,!S.text),E=yu({api:m,headers:t.headers,uploadHeaders:t.uploadHeaders,sessionId:S.sessionId,documentUpload:u,allowAttachments:l}),[N,Z]=Ur(null),[de,ge]=Ur(null),re=xt(null),ee=xt(null),H=xt(null),ie=xt(null),[Ce,ae]=Ur(!0),J=xt(Ce);J.current=Ce;let $=Pa(()=>{let P=re.current;if(!P)return;let X=P.querySelector("textarea");X&&X.focus()},[]),z=Pa((P="smooth")=>{let X=ee.current;X&&X.scrollTo({top:X.scrollHeight,behavior:P})},[]);ot(()=>{let P=ie.current,X=ee.current;if(!P||!X)return;let we=new IntersectionObserver(([We])=>ae(We.isIntersecting),{root:X,rootMargin:"0px 0px 200px 0px",threshold:0});return we.observe(P),()=>we.disconnect()},[]),ot(()=>{let P=ee.current;if(!P)return;let X=we=>{let Me=(we.target instanceof Element?we.target:null)?.closest("a");Me?.href&&v.emit({name:"link.clicked",properties:{url:Me.href}})};return P.addEventListener("click",X),()=>P.removeEventListener("click",X)},[v]),ot(()=>{(S.messages[S.messages.length-1]?.role==="user"||J.current)&&z("smooth")},[S.messages.length,S.messages[S.messages.length-1]]),ot(()=>{z("auto")},[z]),ot(()=>{if(typeof ResizeObserver>"u")return;let P=ee.current,X=H.current;if(!P&&!X)return;let we=P?.scrollHeight??0,We=P?.clientHeight??0,Me=new ResizeObserver(()=>{let _e=ee.current;if(!_e)return;let At=_e.scrollTop+We>=we-5;we=_e.scrollHeight,We=_e.clientHeight,At&&z("auto")});return P&&Me.observe(P),X&&Me.observe(X),()=>Me.disconnect()},[z]);let q=vu({messages:S.messages,status:S.status,suggestions:t.suggestions}),ce=xt(null);ot(()=>{let P=q.suggestions;!_||P.length===0||ce.current===P||(ce.current=P,v.emit({name:"suggestions.shown",properties:{texts:P,origin:q.source}}))},[q.suggestions,q.source,v,_]);let fe=d?.suggestions,Le=xt(null);ot(()=>{!_||S.messages.length>0||!fe?.length||Le.current===fe||(Le.current=fe,v.emit({name:"suggestions.shown",properties:{texts:fe,origin:"channel"}}))},[fe,S.messages.length,v,_]);let et=Pa(P=>{let X=P.content.map(we=>we.text??"").join("").trim();X&&S.handleSubmit({text:X,files:[],modelContext:P.modelContext})},[S.handleSubmit]),qe=Pa(P=>{let X=q.suggestions.indexOf(P),we=X>=0?X:d?.suggestions?.indexOf(P)??-1,We=X>=0?q.source:"channel";v.emit({name:"suggestion.clicked",properties:{text:P,index:we,origin:We}}),q.clear(),S.handleSubmit({text:P,files:[]})},[q.suggestions,q.source,q.clear,S.handleSubmit,d,v]);jh(a,()=>({sendMessage:P=>{S.handleSubmit({text:P,files:[]}),$()},sendMessageAndWait:P=>S.sendMessageAndWait(P),reset:S.reset,focus:$,get messages(){return S.messages},get sessionId(){return S.sessionId}}),[S.handleSubmit,S.sendMessageAndWait,S.reset,S.messages,S.sessionId,$]),ot(()=>{if(!p)return;let P=X=>{let we=X.detail,We=typeof we?.message=="string"?we.message:void 0;We&&S.handleSubmit({text:We,files:[]}),$()};return window.addEventListener(p,P),()=>window.removeEventListener(p,P)},[p,S.handleSubmit,$]);let st=!w&&!!(C||y||h),Vt=R||!o;return nt("div",{ref:re,style:{...G,maxHeight:"inherit",...N&&de?{height:de}:{},opacity:Vt?0:1,transition:"opacity 220ms ease-out"},"data-waniwani-chat":"","data-waniwani-layout":"embed","data-assistant-bubble":F?"true":void 0,"data-color-scheme":O==="auto"?"auto":void 0,...Vt?{"data-waniwani-initializing":""}:{},...T?{"data-waniwani-dark":""}:{},className:k("ww:relative ww:w-full ww:h-full ww:flex ww:flex-col ww:bg-background ww:text-foreground ww:font-[family-name:var(--ww-font)] ww:overflow-hidden",O==="dark"&&"dark",s,i?.root),children:[st&&nt("div",{className:k("ww-header ww:shrink-0 ww:flex ww:items-center ww:gap-2 ww:pl-4 ww:pr-3 ww:py-3 ww:border-b ww:border-border",i?.header),style:{backgroundColor:"var(--ww-color-card-header)",color:"var(--ww-color-card-header-foreground)"},children:[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"}),y&&he(nu,{threads:S.threads,activeThreadId:S.activeThreadId,onNewThread:S.startNewThread,onSelectThread:P=>{S.switchThread(P)},onDeleteThread:P=>{S.deleteThread(P)}}),h]}),nt("div",{ref:ee,className:k("ww:relative ww:flex-1 ww:min-h-0",N?"ww:overflow-hidden":"ww:overflow-y-auto"),children:[nt("div",{ref:H,className:k("ww:mx-auto ww:w-full ww:max-w-3xl ww:px-4 ww:py-6 ww:flex ww:flex-col ww:gap-6",N&&"ww:!py-0"),children:[he(As,{value:Be,children:he(eu,{messages:S.messages,status:S.status,welcomeMessage:c,welcome:d,onSuggestionSelect:qe,resourceEndpoint:Q,chatSessionId:S.sessionId,isDark:T,onFollowUp:et,onCallTool:K,fullscreenToolCallId:N,debug:I,showToolCalls:M,toolDefinitions:S.toolDefinitions,messageClassNames:{message:i?.message,userBubble:i?.userBubble,assistantBubble:i?.assistantBubble},onWidgetDisplayModeChange:(P,X)=>{if(P==="fullscreen"){let we=re.current?.getBoundingClientRect().height??0;ge(we>0?we:null),Z(X.toolCallId)}else ge(null),Z(null)}})}),he("div",{ref:ie,"aria-hidden":!0,style:{height:1}})]}),!Ce&&!N&&he("div",{className:"ww:sticky ww:bottom-2 ww:flex ww:justify-center ww:pointer-events-none",children:he(Ke,{type:"button",onClick:()=>z("smooth"),size:"icon",variant:"outline",className:"ww:rounded-full ww:shadow ww:pointer-events-auto","aria-label":"Scroll to latest",children:he($t,{className:"ww:size-4"})})})]}),!x&&nt("div",{className:"ww:shrink-0 ww:bg-background",style:N?{display:"none"}:void 0,children:[he(ru,{suggestions:q.suggestions,isLoading:q.isLoading,onSelect:qe}),he(ri,{queuedMessages:S.queuedMessages,onRemove:S.removeQueuedMessage}),he("div",{className:"ww:px-4 ww:pb-2 ww:pt-2",children:nt("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[nt(Ws,{onSubmit:S.handleSubmit,attachmentsEnabled:E.enabled,globalDrop:E.enabled,multiple:E.enabled,accept:E.accept,maxFileSize:E.maxFileSize,maxPdfPages:E.maxPdfPages,maxFiles:E.maxFiles,upload:E.upload,onDiscard:E.onDiscard,onError:E.reportError,className:k("ww-input ww:rounded-2xl ww:border-border ww:bg-input",i?.input),children:[he(Xs,{enabled:E.enabled}),E.enabled&&he($s,{className:"ww:px-4 ww:pt-3"}),nt("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[E.enabled&&he(js,{}),he(Vs,{onChange:S.handleTextChange,value:S.text,placeholder:b,className:"ww:min-h-0 ww:py-1 ww:px-0"}),he(zs,{status:S.status,disabled:S.queueFull,onStop:S.stop})]})]}),E.error&&he("output",{className:"ww:block ww:pt-1.5 ww:text-center ww:text-destructive ww:text-xs",children:E.error.message}),nt("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(au,{}),he(Ks,{text:te})]})]})})]})]})});import{forwardRef as Yw,useEffect as Wr,useImperativeHandle as Zw,useMemo as Gr,useRef as Fn,useState as cd}from"react";var Xh="https://app.waniwani.ai/api/mcp/chat",Kh={api:Xh};function Qh(){if(typeof document>"u")return null;if(document.currentScript instanceof HTMLScriptElement)return document.currentScript;let e=document.querySelector("script[src][data-token]");if(e instanceof HTMLScriptElement)return e;let t=document.querySelectorAll("script[src]");for(let a of t)if(a instanceof HTMLScriptElement&&/embed/i.test(a.src))return a;return null}function Jh(){let e=Qh();if(!e)return{};let t=v=>e.getAttribute(v)??void 0,a=v=>{let K=e.getAttribute(v);if(K==null)return;let Q=K.trim().toLowerCase();if(Q==="true"||Q==="1"||Q==="")return!0;if(Q==="false"||Q==="0")return!1},r={},o=t("data-api");o&&(r.api=o);let n=t("data-token");n&&(r.token=n);let s=t("data-visitor-id");s&&(r.visitorId=s);let i=t("data-title");i&&(r.title=i);let l=t("data-welcome-message");l&&(r.welcomeMessage=l);let u=t("data-placeholder");u&&(r.placeholder=u);let c=t("data-mcp-server-url");c&&(r.mcpServerUrl=c);let d=t("data-webmcp");d&&(r.webmcp={enabled:d!=="false"&&d!=="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 I=a("data-enable-thread-history");I!==void 0&&(r.enableThreadHistory=I);let x=a("data-disable-page-view");x!==void 0&&(r.disablePageView=x);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 w=a("data-assistant-bubble");w!==void 0&&(r.appearance={...r.appearance,assistantBubble:w});let y=t("data-locale");(y==="en"||y==="fr"||y==="es")&&(r.locale=y);let M=t("data-mode");(M==="inline"||M==="floating"||M==="composer"||M==="off")&&(r.mode=M);let R={},_=t("data-composer-variant")?.trim().toLowerCase();(_==="glow"||_==="outline")&&(R.variant=_);let te=t("data-composer-size")?.trim().toLowerCase();(te==="sm"||te==="md"||te==="lg")&&(R.size=te);let O=a("data-composer-suggestions");O!==void 0&&(R.showSuggestions=O);let U=t("data-composer-align")?.trim().toLowerCase();(U==="start"||U==="center")&&(R.align=U);let F=a("data-composer-trigger");F!==void 0&&(R.trigger=F);let G=a("data-composer-mobile-trigger");G!==void 0&&(R.mobileTrigger=G),Object.keys(R).length>0&&(r.composer=R);let D=t("data-height");D&&(r.height=D);let W=t("data-launcher-text");W&&(r.launcherText=W);let T=t("data-appear-delay");if(T!==void 0){let v=Number.parseInt(T.trim(),10);Number.isFinite(v)&&v>=0&&(r.appearDelay=v)}let S=t("data-disclaimer");if(S!==void 0){let v=S.trim(),K=v.toLowerCase();K==="false"||K==="0"?r.disclaimer=!1:v&&(r.disclaimer=v)}return r}function Aa(e){if(!e)return{};let t={};for(let a in e)e[a]!==void 0&&(t[a]=e[a]);return t}function Cn(e,t,a){let r=a??Jh(),o=Yh(t,r,e),n={...t?.composer??{},...Aa(r.composer),...Aa(e?.composer)},s=Object.keys(n).length>0,i={token:"",...Kh,...Aa(t),...Aa(r),...Aa(e),...o?{appearance:o}:{},...s?{composer:n}:{}};if(!i.token)throw new Error("[Waniwani] Missing required config: `token`. Set data-token on the script tag or pass it to Waniwani.chat.init().");return i}function Yh(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 YT,useState as ZT}from"react";var Zh="/api/mcp/events/v2/batch",yn=new Set;function ew(e,t,a){return`${e}|${t}|${a??""}`}function Ra(e){return qa(e,Zh)}async function Sn(e){let{api:t,token:a,channelId:r,mode:o,source:n}=e;if(typeof window>"u"||!t||!a)return;let s=Ra(t);if(!s){Qe("page.viewed skipped: the chat api is not a Waniwani endpoint");return}if(!r&&!n){Qe("page.viewed skipped: no channelId or source to attribute it");return}let i=ew(t,a,r);if(!yn.has(i)){yn.add(i);try{let l=await sa(),u=new Date().toISOString(),c=JSON.stringify({sentAt:u,source:{sdk:"@waniwani/sdk",version:"0.1.0"},events:[{id:crypto.randomUUID(),type:"mcp.event",name:"page.viewed",source:n,timestamp:u,correlation:{visitorId:l.visitorId},properties:{channelId:r,mode:o,url:window.location.href,referrer:l.referrer,deviceType:l.deviceType,language:l.language,timezone:l.timezone},metadata:{}}]}),d=fetch(s,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:c,keepalive:!0});yt("pageViewSent"),await d}catch{yn.delete(i)}}}import{useMemo as dw}from"react";import{useEffect as ow,useSyncExternalStore as nw}from"react";function tw(e){return e?.patterns??e?.rules??[]}var Eu="\0\0";function aw(e){let a=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\\\*\\\*/g,Eu).replace(/\\\*/g,"[^/]*").split(Eu).join(".*");return new RegExp(`^${a}$`)}function rw(e,t){try{return aw(e).test(t)}catch{return!1}}function Du(e,t){if(!e)return!0;let a=!1;for(let r of tw(e))if(rw(r.glob,t)){if(r.action==="hide")return!1;a=!0}return a?!0:(e.default??"show")!=="hide"}var bn="waniwani:locationchange",Bu=!1;function sw(){if(!(Bu||typeof history>"u")){Bu=!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(bn)),o}}}}function iw(e){return sw(),window.addEventListener(bn,e),window.addEventListener("popstate",e),()=>{window.removeEventListener(bn,e),window.removeEventListener("popstate",e)}}function lw(){return window.location.pathname}function uw(){return"/"}function kn(){return nw(iw,lw,uw)}function _u(e,t){let a=kn(),r=t&&Du(e,a);return ow(()=>{Qe("visibility gate",{pathname:a,ready:t,visible:r,rules:e})},[a,t,r]),r}var cw=3,fw=["low","medium","high"];function Tn(e){if(e.length===0)return;let t=Math.floor(Math.random()*e.length),[a]=e.splice(t,1);return a}function pw(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 fw){let s=Tn(t.get(n)??[])??Tn(a);s&&r.push(s)}let o=[...t.values()].flat().concat(a);for(;r.length<Math.min(cw,e.length);){let n=Tn(o);if(!n)break;r.push(n)}return r}function Ou(e){let t;try{t=new URL(e,"http://localhost").pathname}catch{t="/"}let a=t.replace(/\/+$/,"");return(a===""?"/":a).toLowerCase()}function Uu(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 Nu(e){let{pageSuggestions:t,suggestions:a}=e,r=kn();return dw(()=>{let o=Ou(r),n=t?.find(i=>Ou(i.url)===o),s=n?pw(n.prompts).map(({id:i,text:l})=>({id:i,text:l})):null;return Qe("configured suggestions resolve",{pathname:o,matched:!!n,count:s?.length??0}),{page:s,channel:qt(a??[])}},[r,t,a])}var mw="waniwani:config:";function Hu(e,t,a){return`${mw}${e}|${t}|${a??""}`}function Nr(e,t,a){if(typeof window>"u")return null;try{let r=window.sessionStorage.getItem(Hu(e,t,a));if(!r)return null;let o=JSON.parse(r);return o&&typeof o=="object"?o:null}catch{return null}}function qu(e,t,a,r){if(!(typeof window>"u"))try{window.sessionStorage.setItem(Hu(e,t,a),JSON.stringify(r))}catch{}}function gw(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 Wu(e,t,a,r){yt("configStart");let o=await hw(e,t,a,r);return yt("configEnd"),a?.aborted||za(o.metadata),o}async function hw(e,t,a,r){try{let o=je(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?ww(i):{}}catch{return{}}}function ww(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=Uu(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=gw(e.documentUpload);return r&&(t.documentUpload=r),e.metadata&&typeof e.metadata=="object"&&(t.metadata=e.metadata),t}import{useEffect as xw,useRef as Iw}from"react";function vn(e,t){return e.find(a=>a.text===t)?.id??null}async function Gu(e){let{api:t,token:a,name:r,source:o,sessionId:n,properties:s}=e;if(typeof window>"u"||!t||!a)return;let i=Ra(t);if(i)try{let 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:r,source:o,timestamp:l,correlation:{visitorId:Oe(),sessionId:n},properties:{...s,url:window.location.href},metadata:{}}]});await fetch(i,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:u,keepalive:!0})}catch{}}async function Vu(e){let{api:t,token:a,channelId:r,mode:o,source:n,sessionId:s,promptId:i,origin:l,text:u,index:c}=e;await Gu({api:t,token:a,name:"suggestion.clicked",source:n,sessionId:s,properties:{promptId:i,origin:l,text:u,index:c,channelId:r,mode:o}})}function zu(e,t){return t.map(a=>({id:vn(e,a),text:a}))}async function ju(e){let{api:t,token:a,channelId:r,mode:o,source:n,sessionId:s,prompts:i,origin:l}=e;i.length!==0&&await Gu({api:t,token:a,name:"suggestion.shown",source:n,sessionId:s,properties:{prompts:i,count:i.length,origin:l,channelId:r,mode:o}})}function $u(e){let{widgetEvents:t,api:a,token:r,channelId:o,source:n,mode:s,pagePrompts:i}=e,l=Iw(e.getSessionId);l.current=e.getSessionId,xw(()=>{if(!(!a||!r))return t.subscribe(u=>{if(u.name==="suggestion.clicked"){let{text:c,origin:d,index:f}=u.properties;Vu({api:a,token:r,channelId:o,mode:s,source:n,sessionId:l.current(),promptId:vn(i??[],c),origin:d,text:c,index:f});return}if(u.name==="suggestions.shown"){let{texts:c,origin:d}=u.properties;ju({api:a,token:r,channelId:o,mode:s,source:n,sessionId:l.current(),prompts:zu(i??[],c),origin:d})}})},[t,a,r,o,n,s,i])}function Gt(e,t){for(let a of t){let r=e[a];if(typeof r=="string"&&r.length>0)return r}}var Lw=["waniwani/sessionId","openai/sessionId","openai/session","sessionId","conversationId","mcp-session-id"],Cw=["waniwani/requestId","openai/requestId","requestId","mcp/requestId"],yw=["waniwani/traceId","openai/traceId","traceId","mcp/traceId","openai/requestId","requestId"],Sw=["waniwani/userId","openai/userId","externalUserId","userId","actorId"],bw=["waniwani/visitorId","visitorId"],kw=["correlationId","openai/requestId"];function Xu(e){return e?Gt(e,Lw):void 0}function Ku(e){return e?Gt(e,Cw):void 0}function Qu(e){return e?Gt(e,yw):void 0}function Ju(e){return e?Gt(e,Sw):void 0}function Yu(e){return e?Gt(e,bw):void 0}function Zu(e){return e?Gt(e,kw):void 0}var Tw=[{key:"openai/sessionId",source:"chatgpt"},{key:"openai/session",source:"chatgpt"}],vw=[{needle:"claude",source:"claude"},{needle:"chatgpt",source:"chatgpt"},{needle:"openai",source:"chatgpt"},{needle:"gemini",source:"gemini"}];function ed(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 Tw){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 vw)if(r.includes(o))return n}}var Pw="@waniwani/sdk";function td(e,t={}){let a=t.now??(()=>new Date),r=t.generateId??Aw,o=Fw(e),n=Hr(e.meta),s=Hr(e.metadata),i=Ew(e,n),l=Xe(e.eventId)??r(),u=Dw(e.timestamp,a),c=Xe(e.source)??ed(n)??t.source??Pw,d=Pn(e)?{...e}:void 0,f={...s};return Object.keys(n).length>0&&(f.meta=n),d&&(f.rawLegacy=d),{id:l,type:"mcp.event",name:o,source:c,timestamp:u,correlation:i,properties:Rw(e,o),metadata:f,rawLegacy:d}}function Aw(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?`evt_${crypto.randomUUID()}`:`evt_${Math.random().toString(36).slice(2,10)}_${Date.now().toString(36)}`}function Rw(e,t){if(!Pn(e))return Hr(e.properties);let a=Mw(e,t),r=Hr(e.properties);return{...a,...r}}function Mw(e,t){switch(t){case"tool.called":{let a={};return Xe(e.toolName)&&(a.name=e.toolName),Xe(e.toolType)&&(a.type=e.toolType),a}case"link.clicked":{let a={};return Xe(e.linkUrl)&&(a.url=e.linkUrl),a}default:return{}}}function Fw(e){return Pn(e)?e.eventType:e.event}function Ew(e,t){let a=Xe(e.requestId)??Ku(t),r=Xe(e.sessionId)??Xu(t),o=Xe(e.traceId)??Qu(t),n=Xe(e.externalUserId)??Ju(t),s=Xe(e.visitorId)??Yu(t),i=Xe(e.correlationId)??Zu(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 Dw(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 Hr(e){return!e||typeof e!="object"||Array.isArray(e)?{}:e}function Xe(e){if(typeof e=="string"&&e.trim().length!==0)return e}function Pn(e){return"eventType"in e}function ad(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 Bw="/api/mcp/events/v2/batch";var rd="@waniwani/sdk";var _w=new Set([401,403]),Ow=new Set([408,425,429,500,502,503,504]),Uw=(e,t)=>globalThis.fetch(e,t);function od(e){return new An(e)}var An=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=qw(t.apiUrl,t.endpointPath??Bw),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??Uw,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":rd};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:Ww(n)}}if(_w.has(a.status))return{kind:"auth",status:a.status};if(Ow.has(a.status))return{kind:"retryable",reason:`HTTP ${a.status}`};if(!a.ok)return{kind:"permanent",reason:`HTTP ${a.status}`};let r=await Hw(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:rd,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(Nw(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 Nw(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 Hw(e){let t=await e.text();if(t)try{return JSON.parse(t)}catch{return}}function qw(e,t){let a=e.endsWith("/")?e:`${e}/`,r=t.startsWith("/")?t.slice(1):t;return`${a}${r}`}function Ww(e){return e instanceof Error?e.message:String(e)}function nd(e){let{apiUrl:t,endpointPath:a}=Gw(e.endpoint),r=od({apiUrl:t,apiKey:e.token,endpointPath:a,flushIntervalMs:e.flushIntervalMs}),o,n=i=>typeof i=="function"?i():i,s=async i=>{let l=e.identity?.()??{},u=n(e.channelId),c=u===void 0?i.properties:{channelId:u,...i.properties},d=td({sessionId:l.sessionId,visitorId:l.visitorId,externalUserId:l.externalUserId??o,traceId:l.traceId,...i,properties:c,metadata:{...e.metadata,...i.metadata}},{source:n(e.source)});return r.enqueue(d),{eventId:d.id}};return{track:Object.assign(s,ad(s)),identify(i,l){return o=i,s({event:"user.identified",externalUserId:i,properties:l})},flush:()=>r.flush(),shutdown:i=>r.shutdown(i)}}function Gw(e){let t=new URL(e);return{apiUrl:t.origin,endpointPath:`${t.pathname}${t.search}`}}function sd(e){let t=Ra(e.api);return t?nd({endpoint:t,token:e.token,channelId:e.channelId,source:e.getSource,identity:()=>({sessionId:e.getSessionId(),visitorId:Oe()})}):Rn("the chat api does not point at a Waniwani event ingest")}function Rn(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})}}function id(){let e=new Set,t=new Map,a,r=0,o=!1,n=!1,s=c=>(a||(a=`text-${++r}`,c.enqueue({type:"text-start",id:a})),a),i=c=>{a&&(c.enqueue({type:"text-end",id:a}),a=void 0)},l=(c,d)=>{c.enqueue({type:"text-delta",id:s(c),delta:d})},u=(c,d,f)=>{!d.callId||e.has(d.callId)||(e.add(d.callId),c.enqueue({type:"tool-input-available",toolCallId:d.callId,toolName:d.toolName??d.kind??"tool",input:f,dynamic:!0}))};return new TransformStream({start(c){c.enqueue({type:"start",messageId:crypto.randomUUID()})},transform(c,d){switch(c.type){case"step.started":{let{modelId:f,stepIndex:p}=c.data;typeof p=="number"&&f&&t.set(p,f),d.enqueue({type:"start-step"}),o=!0;break}case"message.appended":{let{messageDelta:f}=c.data;f&&l(d,f);break}case"message.completed":{let{message:f}=c.data;!a&&f&&l(d,f),i(d);break}case"actions.requested":{i(d);let{actions:f}=c.data;for(let p of f??[])u(d,p,p.input);break}case"action.result":{let{result:f,status:p,error:m}=c.data;if(f?.kind!=="tool-result"||!f.callId)break;if(u(d,f,{}),f.isError===!0||p&&p!=="completed"){d.enqueue({type:"tool-output-error",toolCallId:f.callId,errorText:m?.message??"The tool call failed.",dynamic:!0});break}d.enqueue({type:"tool-output-available",toolCallId:f.callId,output:f.output,dynamic:!0});break}case"step.completed":{let{stepIndex:f,usage:p}=c.data;i(d),o&&(d.enqueue({type:"finish-step"}),o=!1);let m=typeof f=="number"?t.get(f):void 0;d.enqueue({type:"message-metadata",messageMetadata:{"waniwani/step":{stepIndex:f,modelId:m,usage:p}}});break}case"turn.failed":case"session.failed":{let{message:f}=c.data;n=!0,d.enqueue({type:"error",errorText:f??"The agent could not answer."});break}}},flush(c){i(c),o&&c.enqueue({type:"finish-step"}),c.enqueue({type:"finish",finishReason:n?"error":"stop"})}})}var Vw=3e4,zw=2e4,jw=250,$w=8;function Xw(){let e=crypto.getRandomValues(new Uint8Array(32));return btoa(String.fromCharCode(...e)).replaceAll("+","-").replaceAll("/","_").replace(/=+$/,"")}function ld(e,t){return new Promise(a=>{let r=setTimeout(a,e);t?.addEventListener("abort",()=>{clearTimeout(r),a()},{once:!0})})}function ud(e){return e.type==="session.waiting"||e.type==="session.failed"||e.type==="session.completed"}var qr=class e{constructor(t,a,r){this.open=t;this.secret=a;this.grant=r,this.follow()}grant;position=0;refreshing=null;listeners=new Set;stopped=new AbortController;used=!1;static async create(t){let a=Xw(),r=await t.open({operation:"create",requestId:crypto.randomUUID(),ownerSecret:a,channelId:t.channelId,visitorId:t.visitorId});return r?new e(t.open,a,r):null}get sessionId(){return this.grant.sessionId}url(t=""){return`${this.grant.eveHost}/eve/v1/session/${encodeURIComponent(this.grant.sessionId)}${t}`}async bearer(){return this.grant.expiresAt-Vw>Date.now()?this.grant.accessToken:(this.refreshing??=this.open({operation:"refresh",conversationId:this.grant.conversationId,ownerSecret:this.secret}).then(t=>{if(!t)throw new Error("The conversation left the direct runtime");return this.grant=t,t.accessToken}).finally(()=>{this.refreshing=null}),await this.refreshing)}async follow(){let t=this.stopped.signal,a=0;for(;!t.aborted;){try{let r=new URL(this.url("/stream"));this.position>0&&r.searchParams.set("startIndex",String(this.position));let o=await fetch(r,{headers:{authorization:`Bearer ${await this.bearer()}`},cache:"no-store",signal:t});if(o.status===401||o.status===403){this.fail(`The chat lost access to the agent (${o.status})`);return}if(!o.ok||!o.body)throw new Error(`stream ${o.status}`);let n=o.body.pipeThrough(new TextDecoderStream).getReader(),s="";for(;;){let{value:i,done:l}=await n.read();if(l)break;s+=i;for(let u=s.indexOf(`
|
|
17
|
+
`);u!==-1;u=s.indexOf(`
|
|
18
|
+
`)){let c=s.slice(0,u).trim();if(s=s.slice(u+1),!c)continue;let d=JSON.parse(c);if(typeof d!="object"||d===null||"$eve"in d)continue;this.position+=1;let f=d;for(let p of this.listeners)p(f)}}a=0}catch(r){if(t.aborted)return;if(a+=1,a>=$w){this.fail(r instanceof Error?r.message:"The agent stream failed");return}}await ld(jw*Math.min(a+1,8),t)}}async send(t,a){let r=Date.now()+zw;for(let o=250;;o=Math.min(o*2,2e3)){a?.throwIfAborted();let n=await fetch(this.url(),{method:"POST",headers:{authorization:`Bearer ${await this.bearer()}`,"content-type":"application/json"},body:JSON.stringify({message:t})}),s=await n.json().catch(()=>null),i=typeof s=="object"&&s!==null?s:{};if(n.status===202&&"deliveryId"in i&&typeof i.deliveryId=="string")return i.deliveryId;if(!(n.status===409&&"code"in i&&i.code==="session_not_ready")||Date.now()>r)throw new Error(`The agent refused the message (${n.status})`);await ld(o,a)}}turn(t,a){this.used=!0;let r=[],o,n,s=!1,i,l,u=d=>{if(!o){r.push(d);return}let f=d.meta?.deliveryIds?.includes(o)===!0,p=ud(d)&&d.meta?.deliveryIds===void 0;if(!f&&!(p&&(s||d.type!=="session.waiting")))return;s=!0;let m=d.data;!n&&typeof m=="object"&&m!==null&&"turnId"in m&&typeof m.turnId=="string"&&(n=m.turnId),i?.(d),ud(d)&&l?.()};return new ReadableStream({start:d=>{i=p=>d.enqueue(p),l=()=>{this.listeners.delete(u),d.close()};let f=()=>{o&&this.cancel(n),this.listeners.delete(u);try{d.close()}catch{}};if(a?.aborted){d.close();return}this.listeners.add(u),a?.addEventListener("abort",f,{once:!0}),this.send(t,a).then(p=>{if(o=p,a?.aborted){f();return}for(let m of r.splice(0))u(m)},p=>{if(this.listeners.delete(u),a?.aborted){try{d.close()}catch{}return}d.error(p)})}}).pipeThrough(id())}async cancel(t){await fetch(this.url("/cancel"),{method:"POST",headers:{authorization:`Bearer ${await this.bearer()}`,"content-type":"application/json"},body:JSON.stringify(t?{turnId:t}:{})}).catch(()=>{})}fail(t){let a={type:"session.failed",data:{message:t}};for(let r of this.listeners)r(a);this.close()}close(){this.stopped.abort(),this.listeners.clear()}};function Ma(e,t){let a=e[t];return typeof a=="string"&&a?a:void 0}function Kw(e){let t=e.visitor;return typeof t=="object"&&t!==null&&"id"in t&&typeof t.id=="string"?t.id:void 0}function Qw(e){return([...e].reverse().find(a=>a.role==="user")?.parts??[]).flatMap(a=>a.type==="text"?[a.text]:[]).join(`
|
|
19
|
+
`)}function Jw(e){return async t=>{let a=await fetch(e.sessionApi,{method:"POST",headers:{...e.headers(),"content-type":"application/json"},body:JSON.stringify(t),cache:"no-store"});if(!a.ok)throw new Error(`Opening the chat failed (${a.status})`);let r=await a.json(),o=typeof r=="object"&&r!==null&&"data"in r?r.data:null;if(typeof o!="object"||o===null||!("transport"in o))throw new Error("The session route answered no transport");if(o.transport!=="eve-native")return null;let n={...o},s=n.session,i=typeof s=="object"&&s!==null&&"sessionId"in s?s.sessionId:void 0,l=Ma(n,"conversationId"),u=Ma(n,"eveHost"),c=Ma(n,"accessToken"),d=Date.parse(Ma(n,"expiresAt")??"");if(!l||!u||!c||typeof i!="string"||Number.isNaN(d))throw new Error("The session route answered an incomplete session");return{conversationId:l,eveHost:u,sessionId:i,accessToken:c,expiresAt:d}}}var Mn=class{constructor(t){this.options=t}session;threadOnFallback=!1;disposed=!1;prepare(){this.disposed=!1,this.session??=this.start()}dispose(){this.disposed=!0,this.session?.then(t=>t?.close()).catch(()=>{}),this.session=void 0}async start(){let t=this.options.body(),a=await qr.create({open:this.options.open,channelId:Ma(t,"channelId"),visitorId:Kw(t)});return a&&this.disposed?(a.close(),null):a}async sendMessages(t){let a=t.messages.filter(s=>s.role==="user").length<=1;a&&(this.threadOnFallback=!1);let o=[...t.messages].reverse().find(s=>s.role==="user")?.parts.some(s=>s.type==="file")??!1;if(this.threadOnFallback||o||this.options.needsFallback())return this.threadOnFallback=!0,await this.options.fallback.sendMessages(t);this.disposed=!1,this.session??=this.start();let n=await this.session.catch(()=>null);return n?.used&&a&&(n.close(),this.session=this.start(),n=await this.session.catch(()=>null)),n?(this.options.onSession(n.sessionId),n.turn(Qw(t.messages),t.abortSignal)):(this.threadOnFallback=!0,await this.options.fallback.sendMessages(t))}async reconnectToStream(t){return await this.session?.catch(()=>null)?null:await this.options.fallback.reconnectToStream(t)}};function dd(e){return t=>new Mn({...t,open:Jw({sessionApi:e,headers:t.headers})})}import{jsx as pd}from"react/jsx-runtime";var ex=600,fd="https://app.waniwani.ai/api/mcp/chat",tx=Yw(function(t,a){let{token:r,channelId:o,className:n,visitorId:s,overrides:i,onEvent:l}=t,u=Fn(null),c=Fn(null),d=Gr(()=>su({mode:"inline",getSessionId:()=>u.current?.sessionId}),[]);Wr(()=>{if(l)return d.subscribe(l)},[l,d]);let f=Gr(()=>({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??fd,[m,L]=cd({}),[I,x]=cd(!1),C=Fn(!1);Wr(()=>{I&&!C.current&&(C.current=!0,d.emit({name:"chat.ready"}))},[I,d]);let h=i?.disablePageView;Wr(()=>{if(!r){x(!0);return}let O=D=>{h||Sn({api:p,token:r,channelId:o??D.channelId,mode:"inline",source:D.source})},U=Nr(p,r,o);U&&(L(U),ia("cache"),za(U.metadata),x(!0),O(U));let F=new AbortController,G=setTimeout(()=>{ia("timeout"),x(!0)},ex);return Wu(p,r,F.signal,o).then(D=>{F.signal.aborted||(Object.keys(D).length>0&&(qu(p,r,o,D),L(D)),ia("remote"),x(!0),O(D))}).catch(D=>{console.error("[Waniwani] Remote config fetch failed:",D),x(!0)}).finally(()=>clearTimeout(G)),()=>{F.abort(),clearTimeout(G)}},[p,r,o,h]);let w=Gr(()=>Cn(f,m,void 0),[f,m]),y=Nu(w);$u({widgetEvents:d,api:w.api??p,token:w.token??r,channelId:w.channelId??o,source:w.source,mode:"inline",pagePrompts:y.page,getSessionId:()=>u.current?.sessionId}),Wr(()=>{if(!r)return;let O=sd({api:p,token:r,channelId:()=>o??Nr(p,r,o)?.channelId,getSource:()=>Nr(p,r,o)?.source??void 0,getSessionId:()=>u.current?.sessionId});return c.current=O,()=>{c.current=null,O.shutdown()}},[p,r,o]),Zw(a,()=>{let O=()=>c.current??Rn("no public token configured"),U=Object.assign(F=>O().track(F),{priceShown:F=>O().track.priceShown(F),pricesCompared:F=>O().track.pricesCompared(F),optionSelected:F=>O().track.optionSelected(F),leadQualified:F=>O().track.leadQualified(F),converted:F=>O().track.converted(F)});return{sendMessage:F=>u.current?.sendMessage(F),sendMessageAndWait:F=>u.current?u.current.sendMessageAndWait(F):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:U,identify:(F,G)=>O().identify(F,G)}},[]);let M=_u(w.visibility,I);Rs({api:w.api??p,token:w.token??r,channelId:w.channelId??o,mode:"inline",paintMark:"chatVisible",painted:I&&M});let R={mode:"inline"};w.mcpServerUrl&&(R.mcpServerUrl=w.mcpServerUrl),w.channelId&&(R.channelId=w.channelId);let _=i?.sessionApi,te=Gr(()=>_?dd(_):void 0,[_]);return M?pd(uu,{value:d,children:pd(Ln,{ref:u,api:w.api??fd,transport:te,headers:{Authorization:`Bearer ${w.token}`},visitorId:s,skipRemoteConfig:!0,body:R,appearance:w.appearance,classNames:i?.classNames,title:w.title,hideHeader:w.hideHeader,welcomeMessage:w.welcomeMessage,welcome:i?.welcome,placeholder:w.placeholder,suggestions:y,enableThreadHistory:w.enableThreadHistory,showToolCalls:w.showToolCalls,disclaimer:w.disclaimer,documentUpload:w.documentUpload,allowAttachments:i?.allowAttachments,locale:w.locale,messages:i?.messages,className:n,initializing:!I})}):null});export{Ln as ChatEmbed,Gh as DARK_THEME,Mu as DEFAULT_THEME,la as McpAppFrame,tx as WaniwaniChat,of as WebMcpOverlay,zh as mergeTheme,In as themeToCSSProperties};
|
|
17
20
|
/*! Bundled license information:
|
|
18
21
|
|
|
19
22
|
lucide-react/dist/esm/shared/src/utils/mergeClasses.js:
|