@waniwani/sdk 0.19.6 → 0.19.8
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 +52 -52
- package/dist/chat/embed.js.map +1 -1
- package/dist/chat/express-js/index.d.ts +15 -1
- package/dist/chat/index.d.ts +15 -1
- package/dist/chat/index.js +7 -7
- package/dist/chat/index.js.map +1 -1
- package/dist/chat/next-js/index.d.ts +15 -1
- package/dist/index.d.ts +16 -2
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/legacy/chat/express-js/index.d.ts +15 -1
- package/dist/legacy/chat/next-js/index.d.ts +15 -1
- package/dist/legacy/index.d.ts +15 -1
- package/dist/mcp/index.d.ts +17 -3
- package/dist/mcp/index.js +5 -5
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/react/skybridge.d.ts +15 -1
- package/dist/mcp/react/skybridge.js +1 -1
- package/dist/mcp/react/skybridge.js.map +1 -1
- package/dist/mcp/react.d.ts +15 -1
- package/dist/mcp/react.js +4 -4
- package/dist/mcp/react.js.map +1 -1
- package/package.json +1 -1
package/dist/chat/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import{a as kn,b as Tn,c as vn,d as Pn,e as An,f as Ca,g as Rn,h as Mn,i as Fn,j as Bn,k as _r,l as En,m as Ct,n as St,o as Sa,p as yt,u as Dt}from"../chunk-F4UUXA3U.js";import"../chunk-V3ZDECK5.js";import{forwardRef as _h,useCallback as on,useEffect as Oh,useImperativeHandle as Nh,useRef as Ql,useState as Jl}from"react";import{forwardRef as Nu,createElement as Uu}from"react";var ya=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();var Dn=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var _n=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,r)=>r?r.toUpperCase():a.toLowerCase());var Or=e=>{let t=_n(e);return t.charAt(0).toUpperCase()+t.slice(1)};import{forwardRef as Ou,createElement as Un}from"react";var On={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var Nn=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var Hn=Ou(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:n,iconNode:s,...i},l)=>Un("svg",{ref:l,...On,width:t,height:t,stroke:e,strokeWidth:r?Number(a)*24/Number(t):a,className:ya("lucide",o),...!n&&!Nn(i)&&{"aria-hidden":"true"},...i},[...s.map(([u,c])=>Un(u,c)),...Array.isArray(n)?n:[n]]));var $=(e,t)=>{let a=Nu(({className:r,...o},n)=>Uu(Hn,{ref:n,iconNode:t,className:ya(`lucide-${Dn(Or(e))}`,`lucide-${e}`,r),...o}));return a.displayName=Or(e),a};var Hu=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],lt=$("arrow-down",Hu);var qu=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],_t=$("arrow-up",qu);var Wu=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Ot=$("check",Wu);var Gu=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Je=$("chevron-down",Gu);var Vu=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],Nt=$("chevron-right",Vu);var zu=[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]],Ut=$("clipboard-copy",zu);var ju=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],je=$("clock",ju);var $u=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]],Ht=$("file",$u);var Xu=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],qt=$("globe",Xu);var Ku=[["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m16.2 7.8 2.9-2.9",key:"r700ao"}],["path",{d:"M18 12h4",key:"wj9ykh"}],["path",{d:"m16.2 16.2 2.9 2.9",key:"1bxg5t"}],["path",{d:"M12 18v4",key:"jadmvz"}],["path",{d:"m4.9 19.1 2.9-2.9",key:"bwix9q"}],["path",{d:"M2 12h4",key:"j09sii"}],["path",{d:"m4.9 4.9 2.9 2.9",key:"giyufr"}]],Wt=$("loader",Ku);var Qu=[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]],Gt=$("paperclip",Qu);var Ju=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],Vt=$("square",Ju);var Yu=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]],ut=$("wrench",Yu);var Zu=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],dt=$("x",Zu);var ed=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],zt=$("zap",ed);import{useCallback as wd}from"react";import{useCallback as Ye,useMemo as td,useRef as ad,useState as Nr}from"react";var rd={damping:.7,stiffness:.05,mass:1.25},od=70,nd=1e3/60,sd=350,ba=!1;globalThis.document?.addEventListener("mousedown",()=>{ba=!0});globalThis.document?.addEventListener("mouseup",()=>{ba=!1});globalThis.document?.addEventListener("click",()=>{ba=!1});var Wn=(e={})=>{let[t,a]=Nr(!1),[r,o]=Nr(e.initial!==!1),[n,s]=Nr(!1),i=ad(null);i.current=e;let l=Ye(()=>{if(!ba)return!1;let g=window.getSelection();if(!g||!g.rangeCount)return!1;let h=g.getRangeAt(0);return h.commonAncestorContainer.contains(I.current)||I.current?.contains(h.commonAncestorContainer)},[]),u=Ye(g=>{d.isAtBottom=g,o(g)},[]),c=Ye(g=>{d.escapedFromLock=g,a(g)},[]),d=td(()=>{let g;return{escapedFromLock:t,isAtBottom:r,resizeDifference:0,accumulated:0,velocity:0,listeners:new Set,get scrollTop(){return I.current?.scrollTop??0},set scrollTop(h){I.current&&(I.current.scrollTop=h,d.ignoreScrollToTop=I.current.scrollTop)},get targetScrollTop(){return!I.current||!x.current?0:I.current.scrollHeight-1-I.current.clientHeight},get calculatedTargetScrollTop(){if(!I.current||!x.current)return 0;let{targetScrollTop:h}=this;if(!e.targetScrollTop)return h;if(g?.targetScrollTop===h)return g.calculatedScrollTop;let w=Math.max(Math.min(e.targetScrollTop(h,{scrollElement:I.current,contentElement:x.current}),h),0);return g={targetScrollTop:h,calculatedScrollTop:w},requestAnimationFrame(()=>{g=void 0}),w},get scrollDifference(){return this.calculatedTargetScrollTop-this.scrollTop},get isNearBottom(){return this.scrollDifference<=od}}},[]),f=Ye((g={})=>{typeof g=="string"&&(g={animation:g}),g.preserveScrollPosition||u(!0);let h=Date.now()+(Number(g.wait)||0),w=Hr(i.current,g.animation),{ignoreEscapes:S=!1}=g,v,A=d.calculatedTargetScrollTop;g.duration instanceof Promise?g.duration.finally(()=>{v=Date.now()}):v=h+(g.duration??0);let P=async()=>{let E=new Promise(requestAnimationFrame).then(()=>{if(!d.isAtBottom)return d.animation=void 0,!1;let{scrollTop:k}=d,B=performance.now(),y=(B-(d.lastTick??B))/nd;if(d.animation||(d.animation={behavior:w,promise:E,ignoreEscapes:S}),d.animation.behavior===w&&(d.lastTick=B),l()||h>Date.now())return P();if(k<Math.min(A,d.calculatedTargetScrollTop)){if(d.animation?.behavior===w){if(w==="instant")return d.scrollTop=d.calculatedTargetScrollTop,P();d.velocity=(w.damping*d.velocity+w.stiffness*d.scrollDifference)/w.mass,d.accumulated+=d.velocity*y,d.scrollTop+=d.accumulated,d.scrollTop!==k&&(d.accumulated=0)}return P()}return v>Date.now()?(A=d.calculatedTargetScrollTop,P()):(d.animation=void 0,d.scrollTop<d.calculatedTargetScrollTop?f({animation:Hr(i.current,i.current.resize),ignoreEscapes:S,duration:Math.max(0,v-Date.now())||void 0}):d.isAtBottom)});return E.then(k=>(requestAnimationFrame(()=>{d.animation||(d.lastTick=void 0,d.velocity=0)}),k))};return g.wait!==!0&&(d.animation=void 0),d.animation?.behavior===w?d.animation.promise:P()},[u,l,d]),p=Ye(()=>{c(!0),u(!1)},[c,u]),m=Ye(({target:g})=>{if(g!==I.current)return;let{scrollTop:h,ignoreScrollToTop:w}=d,{lastScrollTop:S=h}=d;d.lastScrollTop=h,d.ignoreScrollToTop=void 0,w&&w>h&&(S=w),s(d.isNearBottom),setTimeout(()=>{if(d.resizeDifference||h===w)return;if(l()){c(!0),u(!1);return}let v=h>S,A=h<S;if(d.animation?.ignoreEscapes){d.scrollTop=S;return}A&&(c(!0),u(!1)),v&&c(!1),!d.escapedFromLock&&d.isNearBottom&&u(!0)},1)},[c,u,l,d]),L=Ye(({target:g,deltaY:h})=>{let w=g;for(;!["scroll","auto"].includes(getComputedStyle(w).overflow);){if(!w.parentElement)return;w=w.parentElement}w===I.current&&h<0&&I.current.scrollHeight>I.current.clientHeight&&!d.animation?.ignoreEscapes&&(c(!0),u(!1))},[c,u,d]),I=qn(g=>{I.current?.removeEventListener("scroll",m),I.current?.removeEventListener("wheel",L),g?.addEventListener("scroll",m,{passive:!0}),g?.addEventListener("wheel",L,{passive:!0})},[]),x=qn(g=>{if(d.resizeObserver?.disconnect(),!g)return;let h;d.resizeObserver=new ResizeObserver(([w])=>{let{height:S}=w.contentRect,v=S-(h??S);if(d.resizeDifference=v,d.scrollTop>d.targetScrollTop&&(d.scrollTop=d.targetScrollTop),s(d.isNearBottom),v>=0){let A=Hr(i.current,h?i.current.resize:i.current.initial);f({animation:A,wait:!0,preserveScrollPosition:!0,duration:A==="instant"?void 0:sd})}else d.isNearBottom&&(c(!1),u(!0));h=S,requestAnimationFrame(()=>{setTimeout(()=>{d.resizeDifference===v&&(d.resizeDifference=0)},1)})}),d.resizeObserver?.observe(g)},[]);return{contentRef:x,scrollRef:I,scrollToBottom:f,stopScroll:p,isAtBottom:r||n,isNearBottom:n,escapedFromLock:t,state:d}};function qn(e,t){let a=Ye(r=>(a.current=r,e(r)),t);return a}var Ur=new Map;function Hr(...e){let t={...rd},a=!1;for(let o of e){if(o==="instant"){a=!0;continue}typeof o=="object"&&(a=!1,t.damping=o.damping??t.damping,t.stiffness=o.stiffness??t.stiffness,t.mass=o.mass??t.mass)}let r=JSON.stringify(t);return Ur.has(r)||Ur.set(r,Object.freeze(t)),a?"instant":Ur.get(r)}import*as ct from"react";import{createContext as id,useContext as ld,useEffect as ud,useImperativeHandle as dd,useLayoutEffect as cd,useMemo as fd,useRef as pd}from"react";var Gn=id(null),md=typeof window<"u"?cd:ud;function jt({instance:e,children:t,resize:a,initial:r,mass:o,damping:n,stiffness:s,targetScrollTop:i,contextRef:l,...u}){let c=pd(null),d=ct.useCallback((S,v)=>(w?.targetScrollTop??i)?.(S,v)??S,[i]),f=Wn({mass:o,damping:n,stiffness:s,resize:a,initial:r,targetScrollTop:d}),{scrollRef:p,contentRef:m,scrollToBottom:L,stopScroll:I,isAtBottom:x,escapedFromLock:g,state:h}=e??f,w=fd(()=>({scrollToBottom:L,stopScroll:I,scrollRef:p,isAtBottom:x,escapedFromLock:g,contentRef:m,state:h,get targetScrollTop(){return c.current},set targetScrollTop(S){c.current=S}}),[L,x,m,p,I,g,h]);return dd(l,()=>w,[w]),md(()=>{p.current&&getComputedStyle(p.current).overflow==="visible"&&(p.current.style.overflow="auto")},[]),ct.createElement(Gn.Provider,{value:w},ct.createElement("div",{...u},typeof t=="function"?t(w):t))}(function(e){function t({children:a,scrollClassName:r,...o}){let n=qr();return ct.createElement("div",{ref:n.scrollRef,style:{height:"100%",width:"100%",scrollbarGutter:"stable both-edges"},className:r},ct.createElement("div",{...o,ref:n.contentRef},typeof a=="function"?a(n):a))}e.Content=t})(jt||(jt={}));function qr(){let e=ld(Gn);if(!e)throw new Error("use-stick-to-bottom component context must be used within a StickToBottom component");return e}var hd=Tn({prefix:"ww"});function T(...e){return hd(kn(e))}import{jsx as gd}from"react/jsx-runtime";var De=({className:e,variant:t="default",size:a="default",type:r="button",...o})=>gd("button",{type:r,className:T("ww:inline-flex ww:cursor-pointer ww:items-center ww:justify-center ww:rounded-md ww:font-medium ww:transition-colors ww:disabled:pointer-events-none ww:disabled:opacity-50",t==="default"&&"ww:bg-primary ww:text-primary-foreground ww:hover:bg-primary/90",t==="outline"&&"ww:border ww:border-border ww:bg-background ww:hover:bg-accent ww:hover:text-accent-foreground",t==="ghost"&&"ww:hover:bg-accent ww:hover:text-accent-foreground",a==="default"&&"ww:h-9 ww:px-4 ww:py-2 ww:text-sm",a==="sm"&&"ww:h-8 ww:px-3 ww:text-xs",a==="icon"&&"ww:size-9 ww:!rounded-full",a==="icon-sm"&&"ww:size-7 ww:!rounded-full",e),...o});import{jsx as ka}from"react/jsx-runtime";var Vn=({className:e,...t})=>ka(jt,{className:T("ww:relative ww:flex-1 ww:overflow-y-hidden",e),initial:"smooth",resize:"smooth",role:"log",...t}),zn=({className:e,...t})=>ka(jt.Content,{className:T("ww:flex ww:flex-col ww:gap-6 ww:px-4 ww:py-6 ww:mx-auto ww:w-full ww:max-w-3xl",e),...t}),jn=({className:e,...t})=>{let{isAtBottom:a,scrollToBottom:r}=qr(),o=wd(()=>{r()},[r]);return!a&&ka(De,{className:T("ww:absolute ww:bottom-4 ww:left-[50%] ww:translate-x-[-50%] ww:rounded-full",e),onClick:o,size:"icon",variant:"outline",...t,children:ka(lt,{className:"ww:size-4"})})};import Xn from"crypto";var $n="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var xd=128,ft,bt,Id=e=>{!ft||ft.length<e?(ft=Buffer.allocUnsafe(e*xd),Xn.randomFillSync(ft),bt=0):bt+e>ft.length&&(Xn.randomFillSync(ft),bt=0),bt+=e};var $t=(e=21)=>{Id(e|=0);let t="";for(let a=bt-e;a<bt;a++)t+=$n[ft[a]&63];return t};import{createContext as vd,useCallback as $e,useContext as Pd,useEffect as jr,useMemo as Ad,useRef as $r,useState as es}from"react";import{createContext as Ld,useContext as Cd,useEffect as Sd,useMemo as yd,useState as Yn}from"react";var Kn=["en","fr","es"];function kt(e){return Kn.includes(e)}function Wr(e){if(e&&kt(e))return e;if(e){let a=e.split("-")[0]?.toLowerCase();if(a&&kt(a))return a}let t=[];if(typeof navigator<"u"&&(navigator.language&&t.push(navigator.language),navigator.languages&&t.push(...navigator.languages)),typeof document<"u"){let a=document.documentElement.getAttribute("lang");a&&t.push(a)}for(let a of t){let r=a.toLowerCase();if(kt(r))return r;let o=r.split("-")[0];if(o&&kt(o))return o}return"en"}var Ta={promptInput:{placeholder:"What would you like to know?",uploadFiles:"Upload files",stop:"Stop",submit:"Submit",removeAttachments:"Remove all attachments"},workingIndicator:{default:"On it\u2026"},reasoning:{thinking:"Thinking\u2026",thoughtBrief:"Thought for a few seconds",thoughtForSeconds:e=>`Thought for ${e} second${e===1?"":"s"}`},chainOfThought:{working:"Working on it\u2026",done:"Thought process"},tool:{copy:"Copy",copied:"Copied",request:"Request",response:"Response",error:"Error"},attachments:{attachmentFallback:"attachment",fileFallback:"file"},threadMenu:{newChat:"New chat",threadHistory:"Thread history",deleteThread:"Delete thread",noPreviousChats:"No previous chats yet.",hiddenThreads:e=>`${e} older thread${e===1?"":"s"} hidden`},chatQueue:{attachmentFallback:"(attachment)",removeFromQueue:"Remove from queue",queued:e=>`${e} queued`},poweredBy:{label:"AI agent powered by"},aiDisclaimer:{default:"can make mistakes"},exportSession:{saving:"saving...",saved:"saved",error:"error",export:"export",tooltip:"Save scenario to Waniwani"},widgetErrorBoundary:{failedToLoad:"Widget failed to load",retry:"Retry"},launcher:{prompt:"Ask anything\u2026",open:"Open chat",close:"Close chat",minimize:"Minimize"}};var Qn={promptInput:{placeholder:"\xBFQu\xE9 te gustar\xEDa saber?",uploadFiles:"Subir archivos",stop:"Detener",submit:"Enviar",removeAttachments:"Eliminar todos los archivos adjuntos"},workingIndicator:{default:"Un momento\u2026"},reasoning:{thinking:"Pensando\u2026",thoughtBrief:"Pensado durante unos segundos",thoughtForSeconds:e=>`Pensado durante ${e} segundo${e===1?"":"s"}`},chainOfThought:{working:"Estoy en ello\u2026",done:"Razonamiento"},tool:{copy:"Copiar",copied:"Copiado",request:"Solicitud",response:"Respuesta",error:"Error"},attachments:{attachmentFallback:"adjunto",fileFallback:"archivo"},threadMenu:{newChat:"Nueva conversaci\xF3n",threadHistory:"Historial",deleteThread:"Eliminar conversaci\xF3n",noPreviousChats:"A\xFAn no hay conversaciones anteriores.",hiddenThreads:e=>`${e} conversaci\xF3n${e===1?"":"es"} anterior${e===1?"":"es"} oculta${e===1?"":"s"}`},chatQueue:{attachmentFallback:"(adjunto)",removeFromQueue:"Quitar de la cola",queued:e=>`${e} en cola`},poweredBy:{label:"Agente IA con tecnolog\xEDa de"},aiDisclaimer:{default:"puede cometer errores"},exportSession:{saving:"guardando...",saved:"guardado",error:"error",export:"exportar",tooltip:"Guardar escenario en Waniwani"},widgetErrorBoundary:{failedToLoad:"No se pudo cargar el widget",retry:"Reintentar"},launcher:{prompt:"Pregunta lo que quieras\u2026",open:"Abrir chat",close:"Cerrar chat",minimize:"Minimizar"}};var Jn={promptInput:{placeholder:"Que souhaitez-vous savoir ?",uploadFiles:"Importer des fichiers",stop:"Arr\xEAter",submit:"Envoyer",removeAttachments:"Supprimer toutes les pi\xE8ces jointes"},workingIndicator:{default:"Un instant\u2026"},reasoning:{thinking:"R\xE9flexion\u2026",thoughtBrief:"R\xE9flexion pendant quelques secondes",thoughtForSeconds:e=>`R\xE9flexion pendant ${e} seconde${e===1?"":"s"}`},chainOfThought:{working:"Je m'en occupe\u2026",done:"Raisonnement"},tool:{copy:"Copier",copied:"Copi\xE9",request:"Requ\xEAte",response:"R\xE9ponse",error:"Erreur"},attachments:{attachmentFallback:"pi\xE8ce jointe",fileFallback:"fichier"},threadMenu:{newChat:"Nouvelle conversation",threadHistory:"Historique",deleteThread:"Supprimer la conversation",noPreviousChats:"Aucune conversation pr\xE9c\xE9dente.",hiddenThreads:e=>`${e} conversation${e===1?"":"s"} plus ancienne${e===1?"":"s"} masqu\xE9e${e===1?"":"s"}`},chatQueue:{attachmentFallback:"(pi\xE8ce jointe)",removeFromQueue:"Retirer de la file",queued:e=>`${e} en attente`},poweredBy:{label:"Agent IA propuls\xE9 par"},aiDisclaimer:{default:"peut faire des erreurs"},exportSession:{saving:"enregistrement...",saved:"enregistr\xE9",error:"erreur",export:"exporter",tooltip:"Enregistrer le sc\xE9nario dans Waniwani"},widgetErrorBoundary:{failedToLoad:"\xC9chec du chargement du widget",retry:"R\xE9essayer"},launcher:{prompt:"Posez votre question\u2026",open:"Ouvrir le chat",close:"Fermer le chat",minimize:"R\xE9duire"}};var Gr={en:Ta,fr:Jn,es:Qn};import{jsx as Td}from"react/jsx-runtime";var Zn=Ld(null);function bd(e,t){if(!t)return e;let a={...e};for(let r of Object.keys(e)){let o=e[r],n=t[r];n&&typeof o=="object"&&(a[r]={...o,...n})}return a}function Vr({children:e,locale:t,messages:a}){let r=!!(t&&kd(t)),o=r?t:"en",[n,s]=Yn(o),[i,l]=Yn(r);Sd(()=>{s(Wr(t)),l(!0)},[t]);let u=yd(()=>{let c=Gr[n]??Gr["en"];return{locale:n,t:bd(c,a),ready:i}},[n,a,i]);return Td(Zn.Provider,{value:u,children:e})}function kd(e){return e==="en"||e==="fr"||e==="es"}function G(){let e=Cd(Zn);return e||{locale:"en",t:Ta,ready:!0}}function zr(e,t){let a=Date.now()-e;if(a<6e4)try{return new Intl.RelativeTimeFormat(t,{numeric:"auto",style:"narrow"}).format(0,"second")}catch{return"just now"}let r,o;a<60*6e4?(r=-Math.floor(a/6e4),o="minute"):a<1440*6e4?(r=-Math.floor(a/(60*6e4)),o="hour"):(r=-Math.floor(a/(1440*6e4)),o="day");try{return new Intl.RelativeTimeFormat(t,{numeric:"auto",style:"short"}).format(r,o)}catch{return`${Math.abs(r)}${o==="minute"?"m":o==="hour"?"h":"d"} ago`}}import{jsx as Oe,jsxs as rs}from"react/jsx-runtime";var Rd=async e=>{try{let a=await(await fetch(e)).blob();return new Promise(r=>{let o=new FileReader;o.onloadend=()=>r(o.result),o.onerror=()=>r(null),o.readAsDataURL(a)})}catch{return null}},ts=vd(null),as=()=>{let e=Pd(ts);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},va=({className:e,accept:t,multiple:a,globalDrop:r,maxFiles:o,maxFileSize:n,onSubmit:s,children:i,...l})=>{let{t:u}=G(),c=$r(null),d=$r(null),[f,p]=es([]),m=$r(f);jr(()=>{m.current=f},[f]);let L=$e(()=>{c.current?.click()},[]),I=$e(v=>{let A=[...v];if(A.length===0)return;let P=k=>n?k.size<=n:!0,E=A.filter(P);p(k=>{let B=typeof o=="number"?Math.max(0,o-k.length):void 0,y=typeof B=="number"?E.slice(0,B):E;return[...k,...y.map(X=>({filename:X.name,id:$t(),mediaType:X.type,type:"file",url:URL.createObjectURL(X)}))]})},[o,n]),x=$e(v=>{p(A=>{let P=A.find(E=>E.id===v);return P?.url&&URL.revokeObjectURL(P.url),A.filter(E=>E.id!==v)})},[]),g=$e(()=>{p(v=>{for(let A of v)A.url&&URL.revokeObjectURL(A.url);return[]})},[]);jr(()=>()=>{for(let v of m.current)v.url&&URL.revokeObjectURL(v.url)},[]);let h=$e(v=>{v.currentTarget.files&&I(v.currentTarget.files),v.currentTarget.value=""},[I]);jr(()=>{if(!r)return;let v=P=>{P.dataTransfer?.types?.includes("Files")&&P.preventDefault()},A=P=>{P.dataTransfer?.types?.includes("Files")&&P.preventDefault(),P.dataTransfer?.files&&P.dataTransfer.files.length>0&&I(P.dataTransfer.files)};return document.addEventListener("dragover",v),document.addEventListener("drop",A),()=>{document.removeEventListener("dragover",v),document.removeEventListener("drop",A)}},[I,r]);let w=$e(async v=>{v.preventDefault();let A=v.currentTarget,E=new FormData(A).get("message")||"";A.reset();let k=await Promise.all(f.map(async({id:B,...y})=>{if(y.url?.startsWith("blob:")){let X=await Rd(y.url);return{...y,url:X??y.url}}return y}));try{let B=s({files:k,text:E},v);B instanceof Promise&&await B,g()}catch{}},[f,s,g]),S=Ad(()=>({add:I,clear:g,files:f,openFileDialog:L,remove:x}),[f,I,x,g,L]);return rs(ts.Provider,{value:S,children:[Oe("input",{accept:t,"aria-label":u.promptInput.uploadFiles,className:"ww:hidden",multiple:a,onChange:h,ref:c,title:u.promptInput.uploadFiles,type:"file"}),Oe("form",{className:T("ww:flex ww:w-full ww:flex-col ww:rounded-lg ww:border ww:border-border ww:bg-background",e),onSubmit:w,ref:d,...l,children:i})]})};var Pa=({onChange:e,onKeyDown:t,className:a,placeholder:r,...o})=>{let{t:n}=G(),s=as(),[i,l]=es(!1),u=r??n.promptInput.placeholder,c=$e(f=>{if(t?.(f),!f.defaultPrevented){if(f.key==="Enter"){if(i||f.nativeEvent.isComposing||f.shiftKey)return;f.preventDefault();let{form:p}=f.currentTarget;if(p?.querySelector('button[type="submit"]')?.disabled)return;p?.requestSubmit()}if(f.key==="Backspace"&&f.currentTarget.value===""&&s.files.length>0){f.preventDefault();let p=s.files.at(-1);p&&s.remove(p.id)}}},[t,i,s]),d=$e(f=>{let p=f.clipboardData?.items;if(!p)return;let m=[];for(let L of p)if(L.kind==="file"){let I=L.getAsFile();I&&m.push(I)}m.length>0&&(f.preventDefault(),s.add(m))},[s]);return Oe("textarea",{className:T("ww:field-sizing-content ww:max-h-48 ww:min-h-0 ww:w-full ww:resize-none ww:border-0 ww:bg-transparent ww:px-3 ww:py-2 ww:text-base ww:sm:text-sm ww:outline-none ww:placeholder:text-muted-foreground",a),name:"message",onCompositionEnd:()=>l(!1),onCompositionStart:()=>l(!0),onKeyDown:c,onPaste:d,placeholder:u,onChange:e,...o})},Aa=({className:e,status:t,onStop:a,onClick:r,children:o,...n})=>{let{t:s}=G(),i=t==="submitted"||t==="streaming",l=Oe(_t,{className:"ww:size-4"});t==="submitted"?l=Oe(Wt,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(l=Oe(Vt,{className:"ww:size-4"}));let u=$e(c=>{if(i&&a){c.preventDefault(),a();return}r?.(c)},[i,a,r]);return Oe(De,{"aria-label":i?s.promptInput.stop:s.promptInput.submit,className:T("ww:bg-foreground ww:text-background ww:hover:bg-foreground ww:rounded-full",e),onClick:u,size:"icon-sm",type:i&&a?"button":"submit",variant:"ghost",...n,children:o??l})},Ra=({className:e,children:t,...a})=>{let{t:r}=G(),o=as();return o.files.length>0?rs(De,{className:T("ww:group ww:relative",e),onClick:()=>o.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":r.promptInput.removeAttachments,...a,children:[Oe("span",{className:"ww:flex ww:size-5 ww:items-center ww:justify-center ww:rounded-full ww:bg-primary ww:text-[10px] ww:font-medium ww:text-primary-foreground ww:transition-opacity ww:group-hover:opacity-0",children:o.files.length}),Oe(dt,{className:"ww:absolute ww:size-4 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100"})]}):Oe(De,{className:T(e),onClick:()=>o.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??Oe(Gt,{className:"ww:size-4"})})};import{memo as Md,useCallback as Fd}from"react";import{jsx as vt}from"react/jsx-runtime";var os=({className:e,...t})=>vt("div",{className:T("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),ns=({className:e,...t})=>vt("li",{className:T("ww:group ww:flex ww:items-center ww:gap-2 ww:rounded-md ww:px-2 ww:py-1 ww:text-sm ww:transition-colors ww:hover:bg-muted",e),...t}),ss=({className:e,...t})=>vt("span",{className:T("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),is=({className:e,...t})=>vt("span",{className:T("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),ls=({className:e,...t})=>vt("div",{className:T("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),us=({className:e,...t})=>vt(De,{className:T("ww:size-auto ww:rounded ww:p-1 ww:text-muted-foreground ww:hover:bg-muted-foreground/10 ww:hover:text-foreground",e),size:"icon",type:"button",variant:"ghost",...t});import{jsx as Ze,jsxs as cs}from"react/jsx-runtime";var ds=Md(({message:e,onRemove:t})=>{let{t:a}=G(),r=Fd(()=>t(e.id),[t,e.id]);return cs(ns,{children:[Ze(ss,{}),Ze(is,{children:e.text||a.chatQueue.attachmentFallback}),Ze(ls,{children:Ze(us,{"aria-label":a.chatQueue.removeFromQueue,onClick:r,children:Ze(dt,{className:"ww:size-3"})})})]})});ds.displayName="ChatQueueItem";function Ma({queuedMessages:e,onRemove:t,className:a}){let{t:r}=G();return e.length===0?null:cs(os,{className:T("ww:border-t ww:border-border",a),children:[Ze("div",{className:"ww:text-[11px] ww:font-medium ww:text-muted-foreground ww:px-2",children:r.chatQueue.queued(e.length)}),Ze("ul",{children:e.map(o=>Ze(ds,{message:o,onRemove:t},o.id))})]})}import{useState as fs}from"react";import{jsx as Bd}from"react/jsx-runtime";function ps({messages:e,evalEnabled:t,api:a="/api/waniwani"}){let{t:r}=G(),[o,n]=fs(!1),[s,i]=fs(null),l=async()=>{let c={name:`session-${new Date().toISOString().slice(0,19)}`,type:"functional",messages:e,mode:"manual"};n(!0),i(null);try{let d=await fetch(`${a}/scenarios`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)});if(!d.ok)throw new Error(`${d.status}`);i("saved")}catch{i("error")}finally{n(!1),setTimeout(()=>i(null),2e3)}};if(!t||e.length===0)return null;let u=o?r.exportSession.saving:s==="saved"?r.exportSession.saved:s==="error"?r.exportSession.error:r.exportSession.export;return Bd("button",{type:"button",onClick:l,disabled:o,title:r.exportSession.tooltip,className:"ww:ml-auto ww:text-[10px] ww:font-mono ww:uppercase ww:tracking-wider ww:text-muted-foreground hover:ww:text-foreground ww:cursor-pointer ww:transition-colors ww:disabled:opacity-40",children:u})}import{jsx as Xt,jsxs as Dd}from"react/jsx-runtime";var ms=({files:e,className:t,...a})=>e.length===0?null:Xt("div",{className:T("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((r,o)=>Xt(Ed,{file:r},o))});function Ed({file:e}){let{t}=G();return e.mediaType?.startsWith("image/")&&e.url?Xt("img",{src:e.url,alt:e.filename??t.attachments.attachmentFallback,className:"ww:h-16 ww:max-w-32 ww:rounded ww:object-cover"}):Dd("span",{className:"ww:inline-flex ww:items-center ww:gap-1.5 ww:rounded ww:bg-background/20 ww:px-2 ww:py-1 ww:text-xs",children:[Xt(Ht,{className:"ww:size-3 ww:shrink-0"}),Xt("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??t.attachments.fileFallback})]})}import{createContext as $d,useCallback as Xd,useContext as Kd,useEffect as Qd,useMemo as Jd,useState as Jr}from"react";import{createContext as Ud,memo as Qr,useCallback as Hd,useContext as qd,useEffect as Xr,useMemo as Wd,useRef as hs,useState as Kr}from"react";import{memo as _d}from"react";import{jsx as Nd}from"react/jsx-runtime";var Od=({as:e="span",className:t,duration:a=2,style:r,children:o,...n})=>{let s={backgroundImage:"linear-gradient(90deg, var(--ww-color-muted-foreground) 0%, var(--ww-color-muted-foreground) 40%, var(--ww-color-foreground) 50%, var(--ww-color-muted-foreground) 60%, var(--ww-color-muted-foreground) 100%)",backgroundSize:"250% 100%",WebkitBackgroundClip:"text",backgroundClip:"text",color:"transparent",animation:`ww-shimmer ${a}s linear infinite`,...r};return Nd(e,{"data-waniwani-shimmer":"",className:T("ww:inline-block",t),style:s,...n,children:o})},Ne=_d(Od);Ne.displayName="Shimmer";import{Fragment as zd,jsx as Ue,jsxs as jd}from"react/jsx-runtime";var gs=Ud(null);function ws(){let e=qd(gs);if(!e)throw new Error("Reasoning components must be used within <Reasoning>");return e}var Gd=1e3,Vd=1e3,Kt=Qr(({className:e,isStreaming:t=!1,open:a,defaultOpen:r,onOpenChange:o,duration:n,children:s,...i})=>{let l=r??t,u=r===!1,c=a!==void 0,[d,f]=Kr(l),p=c?a:d,m=Hd(A=>{c||f(A),o?.(A)},[c,o]),[L,I]=Kr(void 0),x=n??L,g=hs(t),[h,w]=Kr(!1),S=hs(null);Xr(()=>{t?(g.current=!0,S.current===null&&(S.current=Date.now())):S.current!==null&&(I(Math.ceil((Date.now()-S.current)/Vd)),S.current=null)},[t]),Xr(()=>{t&&!p&&!u&&m(!0)},[t,p,u,m]),Xr(()=>{if(g.current&&!t&&p&&!h){let A=setTimeout(()=>{m(!1),w(!0)},Gd);return()=>clearTimeout(A)}},[t,p,h,m]);let v=Wd(()=>({isStreaming:t,isOpen:p,setIsOpen:m,duration:x}),[t,p,m,x]);return Ue(gs.Provider,{value:v,children:Ue("div",{className:T("ww:mb-4 ww:flex ww:flex-col ww:gap-2",e),"data-state":p?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...i,children:s})})});Kt.displayName="Reasoning";var Qt=Qr(({className:e,children:t,getThinkingMessage:a,hideIcon:r=!1,onClick:o,...n})=>{let{t:s}=G(),{isStreaming:i,isOpen:l,duration:u,setIsOpen:c}=ws(),f=a??((p,m)=>p||m===0?Ue(Ne,{duration:1.6,children:s.reasoning.thinking}):m===void 0?Ue("span",{children:s.reasoning.thoughtBrief}):Ue("span",{children:s.reasoning.thoughtForSeconds(m)}));return Ue("button",{type:"button","aria-expanded":l,onClick:p=>{c(!l),o?.(p)},className:T("ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),...n,children:t??jd(zd,{children:[!r&&Ue(je,{className:"ww:size-4 ww:shrink-0"}),f(i,u)]})})});Qt.displayName="ReasoningTrigger";var Jt=Qr(({className:e,children:t,...a})=>{let{isOpen:r}=ws();return Ue("div",{className:T("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",r?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:Ue("div",{className:"ww:min-h-0 ww:overflow-hidden",children:Ue("div",{className:T("ww:text-sm ww:text-muted-foreground",e),...a,children:Ue(Dt,{children:t})})})})});Jt.displayName="ReasoningContent";import{jsx as Y,jsxs as et}from"react/jsx-runtime";var Yd=500,xs=$d(null);function Is(){let e=Kd(xs);if(!e)throw new Error("ChainOfThought components must be used within <ChainOfThought>");return e}function Ls({className:e,isWorking:t=!1,activeStep:a,open:r,defaultOpen:o=!1,onOpenChange:n,children:s,...i}){let l=r!==void 0,[u,c]=Jr(o),d=l?r:u,f=Xd(I=>{l||c(I),n?.(I)},[l,n]),[p,m]=Jr(!t);Qd(()=>{if(t){m(!1);return}let I=setTimeout(()=>m(!0),Yd);return()=>clearTimeout(I)},[t]);let L=Jd(()=>({open:d,setOpen:f,isWorking:t,settled:p,activeStep:a}),[d,f,t,p,a]);return Y(xs.Provider,{value:L,children:Y("div",{className:T("ww:mb-4 ww:flex ww:flex-col ww:gap-2",e),"data-state":d?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...i,children:s})})}function Cs({className:e,label:t,workingLabel:a,children:r,...o}){let{open:n,setOpen:s,isWorking:i,settled:l,activeStep:u}=Is();if(!l){let c=u?.icon,d=u?.label??a??t??"";return Y("div",{className:T("ww:flex ww:min-h-5 ww:w-full ww:items-center ww:gap-1.5 ww:text-sm ww:text-muted-foreground",e),children:et("span",{className:"ww:flex ww:min-w-0 ww:items-center ww:gap-1.5",style:{animation:"ww-fade-in 0.25s ease-out"},children:[c&&Y(c,{className:T("ww:size-4 ww:shrink-0",i&&"ww:animate-pulse")}),Y("span",{className:"ww:truncate",children:i?Y(Ne,{duration:2.6,children:d}):d})]},d)})}return et("button",{type:"button",onClick:()=>s(!n),"aria-expanded":n,className:T("ww:flex ww:min-h-5 ww:w-full ww:items-center ww:gap-1.5 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),style:{animation:"ww-fade-in 0.25s ease-out"},...o,children:[Y("span",{className:"ww:truncate",children:r??t}),Y(Je,{className:T("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",n&&"ww:rotate-180")})]})}function Ss({className:e,children:t,...a}){let{open:r}=Is();return Y("div",{className:T("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",r?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:Y("div",{className:"ww:min-h-0 ww:overflow-hidden",children:Y("div",{className:T("ww:flex ww:flex-col",e),...a,children:t})})})}function ys({icon:e,isLast:t,running:a,error:r}){return et("div",{className:"ww:flex ww:flex-col ww:items-center ww:self-stretch",children:[Y("span",{className:"ww:flex ww:h-5 ww:items-center",children:Y(e,{className:T("ww:size-4 ww:shrink-0",r?"ww:text-destructive":a?"ww:animate-pulse ww:text-foreground":"ww:text-muted-foreground")})}),!t&&Y("span",{className:"ww:w-px ww:flex-1 ww:bg-border"})]})}function Yr({className:e,icon:t,title:a,state:r,isLast:o=!1,children:n,...s}){let i=r==="input-available"||r==="input-streaming",l=r==="output-error",u=n!=null,[c,d]=Jr(!1),f=a??"",p=i?Y(Ne,{duration:1.6,children:f}):Y("span",{className:"ww:truncate",children:f});return et("div",{className:T("ww:flex ww:gap-2",e),...s,children:[Y(ys,{icon:t,isLast:o,running:i,error:l}),et("div",{className:T("ww:min-w-0 ww:flex-1",!o&&"ww:pb-3"),children:[u?et("button",{type:"button",onClick:()=>d(m=>!m),"aria-expanded":c,className:"ww:flex ww:w-full ww:items-center ww:gap-1.5 ww:text-left ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",children:[p,Y(Je,{className:T("ww:size-3.5 ww:shrink-0 ww:transition-transform ww:duration-200",c&&"ww:rotate-180")})]}):Y("div",{className:"ww:flex ww:items-center ww:text-sm ww:text-muted-foreground",children:p}),u&&Y("div",{className:T("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",c?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:Y("div",{className:"ww:min-h-0 ww:overflow-hidden",children:Y("div",{className:"ww:mt-2 ww:space-y-3 ww:rounded-lg ww:border ww:border-border ww:bg-background ww:p-3",children:n})})})]})]})}function bs({isStreaming:e=!1,isLast:t=!1,children:a}){return et("div",{className:"ww:flex ww:gap-2",children:[Y(ys,{icon:je,isLast:t,running:e}),Y("div",{className:T("ww:min-w-0 ww:flex-1",!t&&"ww:pb-3"),children:et(Kt,{isStreaming:e,className:"ww:mb-0",children:[Y(Qt,{hideIcon:!0}),Y(Jt,{children:a})]})})]})}var Ie={carriageReturn:-5,lineFeed:-4,carriageReturnLineFeed:-3,horizontalTab:-2,virtualSpace:-1,eof:null,nul:0,soh:1,stx:2,etx:3,eot:4,enq:5,ack:6,bel:7,bs:8,ht:9,lf:10,vt:11,ff:12,cr:13,so:14,si:15,dle:16,dc1:17,dc2:18,dc3:19,dc4:20,nak:21,syn:22,etb:23,can:24,em:25,sub:26,esc:27,fs:28,gs:29,rs:30,us:31,space:32,exclamationMark:33,quotationMark:34,numberSign:35,dollarSign:36,percentSign:37,ampersand:38,apostrophe:39,leftParenthesis:40,rightParenthesis:41,asterisk:42,plusSign:43,comma:44,dash:45,dot:46,slash:47,digit0:48,digit1:49,digit2:50,digit3:51,digit4:52,digit5:53,digit6:54,digit7:55,digit8:56,digit9:57,colon:58,semicolon:59,lessThan:60,equalsTo:61,greaterThan:62,questionMark:63,atSign:64,uppercaseA:65,uppercaseB:66,uppercaseC:67,uppercaseD:68,uppercaseE:69,uppercaseF:70,uppercaseG:71,uppercaseH:72,uppercaseI:73,uppercaseJ:74,uppercaseK:75,uppercaseL:76,uppercaseM:77,uppercaseN:78,uppercaseO:79,uppercaseP:80,uppercaseQ:81,uppercaseR:82,uppercaseS:83,uppercaseT:84,uppercaseU:85,uppercaseV:86,uppercaseW:87,uppercaseX:88,uppercaseY:89,uppercaseZ:90,leftSquareBracket:91,backslash:92,rightSquareBracket:93,caret:94,underscore:95,graveAccent:96,lowercaseA:97,lowercaseB:98,lowercaseC:99,lowercaseD:100,lowercaseE:101,lowercaseF:102,lowercaseG:103,lowercaseH:104,lowercaseI:105,lowercaseJ:106,lowercaseK:107,lowercaseL:108,lowercaseM:109,lowercaseN:110,lowercaseO:111,lowercaseP:112,lowercaseQ:113,lowercaseR:114,lowercaseS:115,lowercaseT:116,lowercaseU:117,lowercaseV:118,lowercaseW:119,lowercaseX:120,lowercaseY:121,lowercaseZ:122,leftCurlyBrace:123,verticalBar:124,rightCurlyBrace:125,tilde:126,del:127,byteOrderMarker:65279,replacementCharacter:65533};var qe={attentionSideAfter:2,attentionSideBefore:1,atxHeadingOpeningFenceSizeMax:6,autolinkDomainSizeMax:63,autolinkSchemeSizeMax:32,cdataOpeningString:"CDATA[",characterGroupPunctuation:2,characterGroupWhitespace:1,characterReferenceDecimalSizeMax:7,characterReferenceHexadecimalSizeMax:6,characterReferenceNamedSizeMax:31,codeFencedSequenceSizeMin:3,contentTypeContent:"content",contentTypeDocument:"document",contentTypeFlow:"flow",contentTypeString:"string",contentTypeText:"text",hardBreakPrefixSizeMin:2,htmlBasic:6,htmlCdata:5,htmlComment:2,htmlComplete:7,htmlDeclaration:4,htmlInstruction:3,htmlRawSizeMax:8,htmlRaw:1,linkResourceDestinationBalanceMax:32,linkReferenceSizeMax:999,listItemValueSizeMax:10,numericBaseDecimal:10,numericBaseHexadecimal:16,tabSize:4,thematicBreakMarkerCountMin:3,v8MaxSafeChunkSize:1e4};var Me={data:"data",whitespace:"whitespace",lineEnding:"lineEnding",lineEndingBlank:"lineEndingBlank",linePrefix:"linePrefix",lineSuffix:"lineSuffix",atxHeading:"atxHeading",atxHeadingSequence:"atxHeadingSequence",atxHeadingText:"atxHeadingText",autolink:"autolink",autolinkEmail:"autolinkEmail",autolinkMarker:"autolinkMarker",autolinkProtocol:"autolinkProtocol",characterEscape:"characterEscape",characterEscapeValue:"characterEscapeValue",characterReference:"characterReference",characterReferenceMarker:"characterReferenceMarker",characterReferenceMarkerNumeric:"characterReferenceMarkerNumeric",characterReferenceMarkerHexadecimal:"characterReferenceMarkerHexadecimal",characterReferenceValue:"characterReferenceValue",codeFenced:"codeFenced",codeFencedFence:"codeFencedFence",codeFencedFenceSequence:"codeFencedFenceSequence",codeFencedFenceInfo:"codeFencedFenceInfo",codeFencedFenceMeta:"codeFencedFenceMeta",codeFlowValue:"codeFlowValue",codeIndented:"codeIndented",codeText:"codeText",codeTextData:"codeTextData",codeTextPadding:"codeTextPadding",codeTextSequence:"codeTextSequence",content:"content",definition:"definition",definitionDestination:"definitionDestination",definitionDestinationLiteral:"definitionDestinationLiteral",definitionDestinationLiteralMarker:"definitionDestinationLiteralMarker",definitionDestinationRaw:"definitionDestinationRaw",definitionDestinationString:"definitionDestinationString",definitionLabel:"definitionLabel",definitionLabelMarker:"definitionLabelMarker",definitionLabelString:"definitionLabelString",definitionMarker:"definitionMarker",definitionTitle:"definitionTitle",definitionTitleMarker:"definitionTitleMarker",definitionTitleString:"definitionTitleString",emphasis:"emphasis",emphasisSequence:"emphasisSequence",emphasisText:"emphasisText",escapeMarker:"escapeMarker",hardBreakEscape:"hardBreakEscape",hardBreakTrailing:"hardBreakTrailing",htmlFlow:"htmlFlow",htmlFlowData:"htmlFlowData",htmlText:"htmlText",htmlTextData:"htmlTextData",image:"image",label:"label",labelText:"labelText",labelLink:"labelLink",labelImage:"labelImage",labelMarker:"labelMarker",labelImageMarker:"labelImageMarker",labelEnd:"labelEnd",link:"link",paragraph:"paragraph",reference:"reference",referenceMarker:"referenceMarker",referenceString:"referenceString",resource:"resource",resourceDestination:"resourceDestination",resourceDestinationLiteral:"resourceDestinationLiteral",resourceDestinationLiteralMarker:"resourceDestinationLiteralMarker",resourceDestinationRaw:"resourceDestinationRaw",resourceDestinationString:"resourceDestinationString",resourceMarker:"resourceMarker",resourceTitle:"resourceTitle",resourceTitleMarker:"resourceTitleMarker",resourceTitleString:"resourceTitleString",setextHeading:"setextHeading",setextHeadingText:"setextHeadingText",setextHeadingLine:"setextHeadingLine",setextHeadingLineSequence:"setextHeadingLineSequence",strong:"strong",strongSequence:"strongSequence",strongText:"strongText",thematicBreak:"thematicBreak",thematicBreakSequence:"thematicBreakSequence",blockQuote:"blockQuote",blockQuotePrefix:"blockQuotePrefix",blockQuoteMarker:"blockQuoteMarker",blockQuotePrefixWhitespace:"blockQuotePrefixWhitespace",listOrdered:"listOrdered",listUnordered:"listUnordered",listItemIndent:"listItemIndent",listItemMarker:"listItemMarker",listItemPrefix:"listItemPrefix",listItemPrefixWhitespace:"listItemPrefixWhitespace",listItemValue:"listItemValue",chunkDocument:"chunkDocument",chunkContent:"chunkContent",chunkFlow:"chunkFlow",chunkText:"chunkText",chunkString:"chunkString"};function ks(e){return e===161||e===164||e===167||e===168||e===170||e===173||e===174||e>=176&&e<=180||e>=182&&e<=186||e>=188&&e<=191||e===198||e===208||e===215||e===216||e>=222&&e<=225||e===230||e>=232&&e<=234||e===236||e===237||e===240||e===242||e===243||e>=247&&e<=250||e===252||e===254||e===257||e===273||e===275||e===283||e===294||e===295||e===299||e>=305&&e<=307||e===312||e>=319&&e<=322||e===324||e>=328&&e<=331||e===333||e===338||e===339||e===358||e===359||e===363||e===462||e===464||e===466||e===468||e===470||e===472||e===474||e===476||e===593||e===609||e===708||e===711||e>=713&&e<=715||e===717||e===720||e>=728&&e<=731||e===733||e===735||e>=768&&e<=879||e>=913&&e<=929||e>=931&&e<=937||e>=945&&e<=961||e>=963&&e<=969||e===1025||e>=1040&&e<=1103||e===1105||e===8208||e>=8211&&e<=8214||e===8216||e===8217||e===8220||e===8221||e>=8224&&e<=8226||e>=8228&&e<=8231||e===8240||e===8242||e===8243||e===8245||e===8251||e===8254||e===8308||e===8319||e>=8321&&e<=8324||e===8364||e===8451||e===8453||e===8457||e===8467||e===8470||e===8481||e===8482||e===8486||e===8491||e===8531||e===8532||e>=8539&&e<=8542||e>=8544&&e<=8555||e>=8560&&e<=8569||e===8585||e>=8592&&e<=8601||e===8632||e===8633||e===8658||e===8660||e===8679||e===8704||e===8706||e===8707||e===8711||e===8712||e===8715||e===8719||e===8721||e===8725||e===8730||e>=8733&&e<=8736||e===8739||e===8741||e>=8743&&e<=8748||e===8750||e>=8756&&e<=8759||e===8764||e===8765||e===8776||e===8780||e===8786||e===8800||e===8801||e>=8804&&e<=8807||e===8810||e===8811||e===8814||e===8815||e===8834||e===8835||e===8838||e===8839||e===8853||e===8857||e===8869||e===8895||e===8978||e>=9312&&e<=9449||e>=9451&&e<=9547||e>=9552&&e<=9587||e>=9600&&e<=9615||e>=9618&&e<=9621||e===9632||e===9633||e>=9635&&e<=9641||e===9650||e===9651||e===9654||e===9655||e===9660||e===9661||e===9664||e===9665||e>=9670&&e<=9672||e===9675||e>=9678&&e<=9681||e>=9698&&e<=9701||e===9711||e===9733||e===9734||e===9737||e===9742||e===9743||e===9756||e===9758||e===9792||e===9794||e===9824||e===9825||e>=9827&&e<=9829||e>=9831&&e<=9834||e===9836||e===9837||e===9839||e===9886||e===9887||e===9919||e>=9926&&e<=9933||e>=9935&&e<=9939||e>=9941&&e<=9953||e===9955||e===9960||e===9961||e>=9963&&e<=9969||e===9972||e>=9974&&e<=9977||e===9979||e===9980||e===9982||e===9983||e===10045||e>=10102&&e<=10111||e>=11094&&e<=11097||e>=12872&&e<=12879||e>=57344&&e<=63743||e>=65024&&e<=65039||e===65533||e>=127232&&e<=127242||e>=127248&&e<=127277||e>=127280&&e<=127337||e>=127344&&e<=127373||e===127375||e===127376||e>=127387&&e<=127404||e>=917760&&e<=917999||e>=983040&&e<=1048573||e>=1048576&&e<=1114109}function Ts(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function vs(e){return e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9776&&e<=9783||e>=9800&&e<=9811||e===9855||e>=9866&&e<=9871||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12773||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e>=94192&&e<=94198||e>=94208&&e<=101589||e>=101631&&e<=101662||e>=101760&&e<=101874||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e>=119552&&e<=119638||e>=119648&&e<=119670||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128728||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129674||e>=129678&&e<=129734||e===129736||e>=129741&&e<=129756||e>=129759&&e<=129770||e>=129775&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141}function Ps(e){return ks(e)?"ambiguous":Ts(e)?"fullwidth":e===8361||e>=65377&&e<=65470||e>=65474&&e<=65479||e>=65482&&e<=65487||e>=65490&&e<=65495||e>=65498&&e<=65500||e>=65512&&e<=65518?"halfwidth":e>=32&&e<=126||e===162||e===163||e===165||e===166||e===172||e===175||e>=10214&&e<=10221||e===10629||e===10630?"narrow":vs(e)?"wide":"neutral"}function Zd(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function As(e){return Zd(e),Ps(e)}var ec=Object.defineProperty,tc=(e,t,a)=>t in e?ec(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,ac=(e,t,a)=>tc(e,typeof t!="symbol"?t+"":t,a);function rc(e){return/^\p{Emoji_Presentation}/u.test(String.fromCodePoint(e))}function oc(e){if(!e||e<4352)return!1;switch(As(e)){case"fullwidth":case"halfwidth":return!0;case"wide":return!rc(e);case"narrow":return!1;case"ambiguous":return 917760<=e&&e<=917999?null:!1;case"neutral":return/^\p{sc=Hangul}/u.test(String.fromCodePoint(e))}}function nc(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function sc(e){return e!==null&&e>=65024&&e<=65038}var ic=Rs(/\p{P}|\p{S}/u),lc=Rs(/\s/);function Rs(e){return t;function t(a){return a!==null&&a>-1&&e.test(String.fromCodePoint(a))}}var Fe;(e=>{e.spaceOrPunctuation=3,e.cjk=4096,e.cjkPunctuation=4098,e.ivs=8192,e.cjkOrIvs=12288,e.nonEmojiGeneralUseVS=16384,e.variationSelector=24576,e.ivsToCjkRightShift=1})(Fe||(Fe={}));function tt(e){if(e===Ie.eof||En(e)||lc(e))return qe.characterGroupWhitespace;let t=0;if(e>=4352){if(sc(e))return Fe.nonEmojiGeneralUseVS;switch(oc(e)){case null:return Fe.ivs;case!0:t|=Fe.cjk;break}}return ic(e)&&(t|=qe.characterGroupPunctuation),t}function Fa(e,t,a){if(!dc(e))return e;let r=t(),o=tt(r);return!r||pt(o)?e:nc(r,a)?Fe.cjkPunctuation:uc(o)}function uc(e){return e&~Fe.ivs}function pt(e){return!!(e&qe.characterGroupWhitespace)}function Pt(e){return(e&Fe.cjkPunctuation)===qe.characterGroupPunctuation}function Yt(e){return!!(e&Fe.cjk)}function Ms(e){return e===Fe.ivs}function Fs(e){return!!(e&Fe.cjkOrIvs)}function dc(e){return e===Fe.nonEmojiGeneralUseVS}function Zr(e){return!!(e&Fe.spaceOrPunctuation)}function Ba(e){return!!(e&&e>=55296&&e<=56319)}function Ea(e){return!!(e&&e>=56320&&e<=57343)}function Da(e,t,a){if(t._bufferIndex<2)return e;let o=a({start:{...t,_bufferIndex:t._bufferIndex-2},end:t}).codePointAt(0);return o&&o>=65536?o:e}function cc(e,t,a){let r=e>=65536?2:1;if(t._bufferIndex<1+r)return null;let o=t._bufferIndex-r-2,n=a({start:{...t,_bufferIndex:o>=0?o:0},end:{...t,_bufferIndex:t._bufferIndex-r}}),s=n.charCodeAt(n.length-1);if(Number.isNaN(s))return null;if(n.length<2||s<56320||57343<s)return s;let i=n.codePointAt(0);return i&&i>=65536?i:s}var _a=class{constructor(e,t,a){this.previousCode=e,this.nowPoint=t,this.sliceSerialize=a,ac(this,"cachedValue")}value(){return this.cachedValue===void 0&&(this.cachedValue=cc(this.previousCode,this.nowPoint,this.sliceSerialize)),this.cachedValue}};function Oa(e,t,a){let r=a({start:t,end:{...t,_bufferIndex:t._bufferIndex+2}}).codePointAt(0);return r&&r>=65536?r:e}var eo={name:"attention",resolveAll:fc,tokenize:pc};function fc(e,t){let a=-1,r,o,n,s,i,l,u,c;for(;++a<e.length;)if(e[a][0]==="enter"&&e[a][1].type==="attentionSequence"&&e[a][1]._close){for(r=a;r--;)if(e[r][0]==="exit"&&e[r][1].type==="attentionSequence"&&e[r][1]._open&&t.sliceSerialize(e[r][1]).charCodeAt(0)===t.sliceSerialize(e[a][1]).charCodeAt(0)){if((e[r][1]._close||e[a][1]._open)&&(e[a][1].end.offset-e[a][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[a][1].end.offset-e[a][1].start.offset)%3))continue;l=e[r][1].end.offset-e[r][1].start.offset>1&&e[a][1].end.offset-e[a][1].start.offset>1?2:1;let d={...e[r][1].end},f={...e[a][1].start};Bs(d,-l),Bs(f,l),s={type:l>1?Me.strongSequence:Me.emphasisSequence,start:d,end:{...e[r][1].end}},i={type:l>1?Me.strongSequence:Me.emphasisSequence,start:{...e[a][1].start},end:f},n={type:l>1?Me.strongText:Me.emphasisText,start:{...e[r][1].end},end:{...e[a][1].start}},o={type:l>1?Me.strong:Me.emphasis,start:{...s.start},end:{...i.end}},e[r][1].end={...s.start},e[a][1].start={...i.end},u=[],e[r][1].end.offset-e[r][1].start.offset&&(u=St(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=St(u,[["enter",o,t],["enter",s,t],["exit",s,t],["enter",n,t]]),t.parser.constructs.insideSpan.null,u=St(u,Sa(t.parser.constructs.insideSpan.null,e.slice(r+1,a),t)),u=St(u,[["exit",n,t],["enter",i,t],["exit",i,t],["exit",o,t]]),e[a][1].end.offset-e[a][1].start.offset?(c=2,u=St(u,[["enter",e[a][1],t],["exit",e[a][1],t]])):c=0,Ct(e,r-1,a-r+3,u),a=r+u.length-c-2;break}}for(a=-1;++a<e.length;)e[a][1].type==="attentionSequence"&&(e[a][1].type="data");return e}function pc(e,t){let a=this.parser.constructs.attentionMarkers.null,{now:r,sliceSerialize:o,previous:n}=this,s=Ea(n)?Da(n,r(),o):n,i=tt(s),l=new _a(s,r(),o),u=Fa(i,l.value.bind(l),s),c;return d;function d(p){return p===Ie.asterisk||Ie.underscore,c=p,e.enter("attentionSequence"),f(p)}function f(p){if(p===c)return e.consume(p),f;let m=e.exit("attentionSequence"),L=Ba(p)?Oa(p,r(),o):p,I=tt(L);let x=Pt(u),g=x||pt(u),h=Pt(I),w=h||pt(I),S=Fs(u),v=!w||h&&(g||S)||a.includes(p),A=!g||x&&(w||Yt(I))||a.includes(s);return m._open=!!(c===Ie.asterisk?v:v&&(Zr(u)||!A)),m._close=!!(c===Ie.asterisk?A:A&&(Zr(I)||!v)),t(p)}}function Bs(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function Es(){return{text:{[Ie.asterisk]:eo,[Ie.underscore]:eo},insideSpan:{null:[eo]}}}function Ds(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(Es())}function _s(e){let a=(e||{}).singleTilde,r={name:"strikethrough",tokenize:n,resolveAll:o};return a==null&&(a=!0),{text:{[Ie.tilde]:r},insideSpan:{null:[r]},attentionMarkers:{null:[Ie.tilde]}};function o(s,i){let l=-1;for(;++l<s.length;)if(s[l][0]==="enter"&&s[l][1].type==="strikethroughSequenceTemporary"&&s[l][1]._close){let u=l;for(;u--;)if(s[u][0]==="exit"&&s[u][1].type==="strikethroughSequenceTemporary"&&s[u][1]._open&&s[l][1].end.offset-s[l][1].start.offset===s[u][1].end.offset-s[u][1].start.offset){s[l][1].type="strikethroughSequence",s[u][1].type="strikethroughSequence";let c={type:"strikethrough",start:Object.assign({},s[u][1].start),end:Object.assign({},s[l][1].end)},d={type:"strikethroughText",start:Object.assign({},s[u][1].end),end:Object.assign({},s[l][1].start)},f=[["enter",c,i],["enter",s[u][1],i],["exit",s[u][1],i],["enter",d,i]],p=i.parser.constructs.insideSpan.null;p&&Ct(f,f.length,0,Sa(p,s.slice(u+1,l),i)),Ct(f,f.length,0,[["exit",d,i],["enter",s[l][1],i],["exit",s[l][1],i],["exit",c,i]]),Ct(s,u-1,l-u+3,f),l=u+f.length-2;break}}for(l=-1;++l<s.length;)s[l][1].type==="strikethroughSequenceTemporary"&&(s[l][1].type=Me.data);return s}function n(s,i,l){let{now:u,sliceSerialize:c,previous:d}=this,f=Ea(d)?Da(d,u(),c):d,p=tt(f),m=new _a(f,u(),c),L=Fa(p,m.value.bind(m),f),I=this.events,x=0;return g;function g(w){return Ie.tilde,f===Ie.tilde&&I[I.length-1][1].type!==Me.characterEscape?l(w):(s.enter("strikethroughSequenceTemporary"),h(w))}function h(w){let S=tt(f);if(w===Ie.tilde)return x>1?l(w):(s.consume(w),x++,h);if(x<2&&!a)return l(w);let v=s.exit("strikethroughSequenceTemporary"),A=Ba(w)?Oa(w,u(),c):w,P=tt(A),k=Pt(L)||pt(L),y=Pt(P)||pt(P),X=Yt(L)||Ms(S);return v._open=!y||P===qe.attentionSideAfter&&(k||X),v._close=!k||S===qe.attentionSideAfter&&(y||Yt(P)),i(w)}}}function Os(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(_s(e))}var mc=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),hc=/^(https?:\/\/|mailto:|www\.)/i,gc=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},wc=e=>{let t=0;for(let a of e){if(mc.has(a))return t;t+=a.length}return null},xc=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),Ic=e=>({type:"text",value:e}),Lc=()=>e=>{vn(e,"link",(t,a,r)=>{if(!r||typeof a!="number"||!gc(t)||!hc.test(t.url))return;let o=wc(t.url);if(o===null||o===0)return;let n=t.url.slice(0,o),s=t.url.slice(o),i=xc(n,t),l=Ic(s);return r.children.splice(a,1,i,l),a+1})};function Cc(){let e=[Ds],t=[Lc,Os],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var to=Cc();var te=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Sc(e){return fo(e)}function fo(e){return Array.isArray(e)?yc(e):e instanceof RegExp?e:typeof e=="object"?bc(e):e}function yc(e){let t=[];for(let a=0,r=e.length;a<r;a++)t[a]=fo(e[a]);return t}function bc(e){let t={};for(let a in e)t[a]=fo(e[a]);return t}function js(e,...t){return t.forEach(a=>{for(let r in a)e[r]=a[r]}),e}function $s(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?$s(e.substring(0,e.length-1)):e.substr(~t+1)}var ao=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,Na=class{static hasCaptures(e){return e===null?!1:(ao.lastIndex=0,ao.test(e))}static replaceCaptures(e,t,a){return e.replace(ao,(r,o,n,s)=>{let i=a[parseInt(o||n,10)];if(i){let l=t.substring(i.start,i.end);for(;l[0]===".";)l=l.substring(1);switch(s){case"downcase":return l.toLowerCase();case"upcase":return l.toUpperCase();default:return l}}else return r})}};function Xs(e,t){return e<t?-1:e>t?1:0}function Ks(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let a=e.length,r=t.length;if(a===r){for(let o=0;o<a;o++){let n=Xs(e[o],t[o]);if(n!==0)return n}return 0}return a-r}function Ns(e){return!!(/^#[0-9a-f]{6}$/i.test(e)||/^#[0-9a-f]{8}$/i.test(e)||/^#[0-9a-f]{3}$/i.test(e)||/^#[0-9a-f]{4}$/i.test(e))}function Qs(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var Js=class{constructor(e){this.fn=e}cache=new Map;get(e){if(this.cache.has(e))return this.cache.get(e);let t=this.fn(e);return this.cache.set(e,t),t}},ta=class{constructor(e,t,a){this._colorMap=e,this._defaults=t,this._root=a}static createFromRawTheme(e,t){return this.createFromParsedTheme(vc(e),t)}static createFromParsedTheme(e,t){return Ac(e,t)}_cachedMatchRoot=new Js(e=>this._root.match(e));getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(e){if(e===null)return this._defaults;let t=e.scopeName,r=this._cachedMatchRoot.get(t).find(o=>kc(e.parent,o.parentScopes));return r?new Ys(r.fontStyle,r.foreground,r.background):null}},ro=class Ua{constructor(t,a){this.parent=t,this.scopeName=a}static push(t,a){for(let r of a)t=new Ua(t,r);return t}static from(...t){let a=null;for(let r=0;r<t.length;r++)a=new Ua(a,t[r]);return a}push(t){return new Ua(this,t)}getSegments(){let t=this,a=[];for(;t;)a.push(t.scopeName),t=t.parent;return a.reverse(),a}toString(){return this.getSegments().join(" ")}extends(t){return this===t?!0:this.parent===null?!1:this.parent.extends(t)}getExtensionIfDefined(t){let a=[],r=this;for(;r&&r!==t;)a.push(r.scopeName),r=r.parent;return r===t?a.reverse():void 0}};function kc(e,t){if(t.length===0)return!0;for(let a=0;a<t.length;a++){let r=t[a],o=!1;if(r===">"){if(a===t.length-1)return!1;r=t[++a],o=!0}for(;e&&!Tc(e.scopeName,r);){if(o)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function Tc(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var Ys=class{constructor(e,t,a){this.fontStyle=e,this.foregroundId=t,this.backgroundId=a}};function vc(e){if(!e)return[];if(!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,a=[],r=0;for(let o=0,n=t.length;o<n;o++){let s=t[o];if(!s.settings)continue;let i;if(typeof s.scope=="string"){let d=s.scope;d=d.replace(/^[,]+/,""),d=d.replace(/[,]+$/,""),i=d.split(",")}else Array.isArray(s.scope)?i=s.scope:i=[""];let l=-1;if(typeof s.settings.fontStyle=="string"){l=0;let d=s.settings.fontStyle.split(" ");for(let f=0,p=d.length;f<p;f++)switch(d[f]){case"italic":l=l|1;break;case"bold":l=l|2;break;case"underline":l=l|4;break;case"strikethrough":l=l|8;break}}let u=null;typeof s.settings.foreground=="string"&&Ns(s.settings.foreground)&&(u=s.settings.foreground);let c=null;typeof s.settings.background=="string"&&Ns(s.settings.background)&&(c=s.settings.background);for(let d=0,f=i.length;d<f;d++){let m=i[d].trim().split(" "),L=m[m.length-1],I=null;m.length>1&&(I=m.slice(0,m.length-1),I.reverse()),a[r++]=new Pc(L,I,o,l,u,c)}}return a}var Pc=class{constructor(e,t,a,r,o,n){this.scope=e,this.parentScopes=t,this.index=a,this.fontStyle=r,this.foreground=o,this.background=n}},Le=(e=>(e[e.NotSet=-1]="NotSet",e[e.None=0]="None",e[e.Italic=1]="Italic",e[e.Bold=2]="Bold",e[e.Underline=4]="Underline",e[e.Strikethrough=8]="Strikethrough",e))(Le||{});function Ac(e,t){e.sort((l,u)=>{let c=Xs(l.scope,u.scope);return c!==0||(c=Ks(l.parentScopes,u.parentScopes),c!==0)?c:l.index-u.index});let a=0,r="#000000",o="#ffffff";for(;e.length>=1&&e[0].scope==="";){let l=e.shift();l.fontStyle!==-1&&(a=l.fontStyle),l.foreground!==null&&(r=l.foreground),l.background!==null&&(o=l.background)}let n=new Rc(t),s=new Ys(a,n.getId(r),n.getId(o)),i=new Fc(new no(0,null,-1,0,0),[]);for(let l=0,u=e.length;l<u;l++){let c=e[l];i.insert(0,c.scope,c.parentScopes,c.fontStyle,n.getId(c.foreground),n.getId(c.background))}return new ta(n,s,i)}var Rc=class{_isFrozen;_lastColorId;_id2color;_color2id;constructor(e){if(this._lastColorId=0,this._id2color=[],this._color2id=Object.create(null),Array.isArray(e)){this._isFrozen=!0;for(let t=0,a=e.length;t<a;t++)this._color2id[e[t]]=t,this._id2color[t]=e[t]}else this._isFrozen=!1}getId(e){if(e===null)return 0;e=e.toUpperCase();let t=this._color2id[e];if(t)return t;if(this._isFrozen)throw new Error(`Missing color in color map - ${e}`);return t=++this._lastColorId,this._color2id[e]=t,this._id2color[t]=e,t}getColorMap(){return this._id2color.slice(0)}},Mc=Object.freeze([]),no=class Zs{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,r,o,n){this.scopeDepth=t,this.parentScopes=a||Mc,this.fontStyle=r,this.foreground=o,this.background=n}clone(){return new Zs(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background)}static cloneArr(t){let a=[];for(let r=0,o=t.length;r<o;r++)a[r]=t[r].clone();return a}acceptOverwrite(t,a,r,o){this.scopeDepth>t?console.log("how did this happen?"):this.scopeDepth=t,a!==-1&&(this.fontStyle=a),r!==0&&(this.foreground=r),o!==0&&(this.background=o)}},Fc=class so{constructor(t,a=[],r={}){this._mainRule=t,this._children=r,this._rulesWithParentScopes=a}_rulesWithParentScopes;static _cmpBySpecificity(t,a){if(t.scopeDepth!==a.scopeDepth)return a.scopeDepth-t.scopeDepth;let r=0,o=0;for(;t.parentScopes[r]===">"&&r++,a.parentScopes[o]===">"&&o++,!(r>=t.parentScopes.length||o>=a.parentScopes.length);){let n=a.parentScopes[o].length-t.parentScopes[r].length;if(n!==0)return n;r++,o++}return a.parentScopes.length-t.parentScopes.length}match(t){if(t!==""){let r=t.indexOf("."),o,n;if(r===-1?(o=t,n=""):(o=t.substring(0,r),n=t.substring(r+1)),this._children.hasOwnProperty(o))return this._children[o].match(n)}let a=this._rulesWithParentScopes.concat(this._mainRule);return a.sort(so._cmpBySpecificity),a}insert(t,a,r,o,n,s){if(a===""){this._doInsertHere(t,r,o,n,s);return}let i=a.indexOf("."),l,u;i===-1?(l=a,u=""):(l=a.substring(0,i),u=a.substring(i+1));let c;this._children.hasOwnProperty(l)?c=this._children[l]:(c=new so(this._mainRule.clone(),no.cloneArr(this._rulesWithParentScopes)),this._children[l]=c),c.insert(t+1,u,r,o,n,s)}_doInsertHere(t,a,r,o,n){if(a===null){this._mainRule.acceptOverwrite(t,r,o,n);return}for(let s=0,i=this._rulesWithParentScopes.length;s<i;s++){let l=this._rulesWithParentScopes[s];if(Ks(l.parentScopes,a)===0){l.acceptOverwrite(t,r,o,n);return}}r===-1&&(r=this._mainRule.fontStyle),o===0&&(o=this._mainRule.foreground),n===0&&(n=this._mainRule.background),this._rulesWithParentScopes.push(new no(t,a,r,o,n))}},ht=class _e{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){let a=_e.getLanguageId(t),r=_e.getTokenType(t),o=_e.getFontStyle(t),n=_e.getForeground(t),s=_e.getBackground(t);console.log({languageId:a,tokenType:r,fontStyle:o,foreground:n,background:s})}static getLanguageId(t){return(t&255)>>>0}static getTokenType(t){return(t&768)>>>8}static containsBalancedBrackets(t){return(t&1024)!==0}static getFontStyle(t){return(t&30720)>>>11}static getForeground(t){return(t&16744448)>>>15}static getBackground(t){return(t&4278190080)>>>24}static set(t,a,r,o,n,s,i){let l=_e.getLanguageId(t),u=_e.getTokenType(t),c=_e.containsBalancedBrackets(t)?1:0,d=_e.getFontStyle(t),f=_e.getForeground(t),p=_e.getBackground(t);return a!==0&&(l=a),r!==8&&(u=r),o!==null&&(c=o?1:0),n!==-1&&(d=n),s!==0&&(f=s),i!==0&&(p=i),(l<<0|u<<8|c<<10|d<<11|f<<15|p<<24)>>>0}};function qa(e,t){let a=[],r=Bc(e),o=r.next();for(;o!==null;){let l=0;if(o.length===2&&o.charAt(1)===":"){switch(o.charAt(0)){case"R":l=1;break;case"L":l=-1;break;default:console.log(`Unknown priority ${o} in scope selector`)}o=r.next()}let u=s();if(a.push({matcher:u,priority:l}),o!==",")break;o=r.next()}return a;function n(){if(o==="-"){o=r.next();let l=n();return u=>!!l&&!l(u)}if(o==="("){o=r.next();let l=i();return o===")"&&(o=r.next()),l}if(Us(o)){let l=[];do l.push(o),o=r.next();while(Us(o));return u=>t(l,u)}return null}function s(){let l=[],u=n();for(;u;)l.push(u),u=n();return c=>l.every(d=>d(c))}function i(){let l=[],u=s();for(;u&&(l.push(u),o==="|"||o===",");){do o=r.next();while(o==="|"||o===",");u=s()}return c=>l.some(d=>d(c))}}function Us(e){return!!e&&!!e.match(/[\w\.:]+/)}function Bc(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,a=t.exec(e);return{next:()=>{if(!a)return null;let r=a[0];return a=t.exec(e),r}}}function ei(e){typeof e.dispose=="function"&&e.dispose()}var aa=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},Ec=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},Dc=class{_references=[];_seenReferenceKeys=new Set;get references(){return this._references}visitedRule=new Set;add(e){let t=e.toKey();this._seenReferenceKeys.has(t)||(this._seenReferenceKeys.add(t),this._references.push(e))}},_c=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new aa(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new Dc;for(let a of e)Oc(a,this.initialScopeName,this.repo,t);for(let a of t.references)if(a instanceof aa){if(this.seenFullScopeRequests.has(a.scopeName))continue;this.seenFullScopeRequests.add(a.scopeName),this.Q.push(a)}else{if(this.seenFullScopeRequests.has(a.scopeName)||this.seenPartialScopeRequests.has(a.toKey()))continue;this.seenPartialScopeRequests.add(a.toKey()),this.Q.push(a)}}};function Oc(e,t,a,r){let o=a.lookup(e.scopeName);if(!o){if(e.scopeName===t)throw new Error(`No grammar provided for <${t}>`);return}let n=a.lookup(t);e instanceof aa?Ha({baseGrammar:n,selfGrammar:o},r):io(e.ruleName,{baseGrammar:n,selfGrammar:o,repository:o.repository},r);let s=a.injections(e.scopeName);if(s)for(let i of s)r.add(new aa(i))}function io(e,t,a){if(t.repository&&t.repository[e]){let r=t.repository[e];Wa([r],t,a)}}function Ha(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&Wa(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&Wa(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function Wa(e,t,a){for(let r of e){if(a.visitedRule.has(r))continue;a.visitedRule.add(r);let o=r.repository?js({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&Wa(r.patterns,{...t,repository:o},a);let n=r.include;if(!n)continue;let s=ti(n);switch(s.kind){case 0:Ha({...t,selfGrammar:t.baseGrammar},a);break;case 1:Ha(t,a);break;case 2:io(s.ruleName,{...t,repository:o},a);break;case 3:case 4:let i=s.scopeName===t.selfGrammar.scopeName?t.selfGrammar:s.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(i){let l={baseGrammar:t.baseGrammar,selfGrammar:i,repository:o};s.kind===4?io(s.ruleName,l,a):Ha(l,a)}else s.kind===4?a.add(new Ec(s.scopeName,s.ruleName)):a.add(new aa(s.scopeName));break}}}var Nc=class{kind=0},Uc=class{kind=1},Hc=class{constructor(e){this.ruleName=e}kind=2},qc=class{constructor(e){this.scopeName=e}kind=3},Wc=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function ti(e){if(e==="$base")return new Nc;if(e==="$self")return new Uc;let t=e.indexOf("#");if(t===-1)return new qc(e);if(t===0)return new Hc(e.substring(1));{let a=e.substring(0,t),r=e.substring(t+1);return new Wc(a,r)}}var Gc=/\\(\d+)/,Hs=/\\(\d+)/g;var Vc=-1,ai=-2;var na=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,a,r){this.$location=e,this.id=t,this._name=a||null,this._nameIsCapturing=Na.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=Na.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${$s(this.$location.filename)}:${this.$location.line}`:"unknown";return`${this.constructor.name}#${this.id} @ ${e}`}getName(e,t){return!this._nameIsCapturing||this._name===null||e===null||t===null?this._name:Na.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:Na.replaceCaptures(this._contentName,e,t)}},zc=class extends na{retokenizeCapturedWithRuleId;constructor(e,t,a,r,o){super(e,t,a,r),this.retokenizeCapturedWithRuleId=o}dispose(){}collectPatterns(e,t){throw new Error("Not supported!")}compile(e,t){throw new Error("Not supported!")}compileAG(e,t,a,r){throw new Error("Not supported!")}},jc=class extends na{_match;captures;_cachedCompiledPatterns;constructor(e,t,a,r,o){super(e,t,a,null),this._match=new ra(r,this.id),this.captures=o,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugMatchRegExp(){return`${this._match.source}`}collectPatterns(e,t){t.push(this._match)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,a,r){return this._getCachedCompiledPatterns(e).compileAG(e,a,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new oa,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},qs=class extends na{hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,a,r,o){super(e,t,a,r),this.patterns=o.patterns,this.hasMissingPatterns=o.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}collectPatterns(e,t){for(let a of this.patterns)e.getRule(a).collectPatterns(e,t)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,a,r){return this._getCachedCompiledPatterns(e).compileAG(e,a,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new oa,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},lo=class extends na{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,a,r,o,n,s,i,l,u){super(e,t,a,r),this._begin=new ra(o,this.id),this.beginCaptures=n,this._end=new ra(s||"\uFFFF",-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=i,this.applyEndPatternLast=l||!1,this.patterns=u.patterns,this.hasMissingPatterns=u.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugEndRegExp(){return`${this._end.source}`}getEndWithResolvedBackReferences(e,t){return this._end.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e,t).compile(e)}compileAG(e,t,a,r){return this._getCachedCompiledPatterns(e,t).compileAG(e,a,r)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new oa;for(let a of this.patterns)e.getRule(a).collectPatterns(e,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,t):this._cachedCompiledPatterns.setSource(0,t)),this._cachedCompiledPatterns}},Ga=class extends na{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,a,r,o,n,s,i,l){super(e,t,a,r),this._begin=new ra(o,this.id),this.beginCaptures=n,this.whileCaptures=i,this._while=new ra(s,ai),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=l.patterns,this.hasMissingPatterns=l.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null),this._cachedCompiledWhilePatterns&&(this._cachedCompiledWhilePatterns.dispose(),this._cachedCompiledWhilePatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugWhileRegExp(){return`${this._while.source}`}getWhileWithResolvedBackReferences(e,t){return this._while.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,a,r){return this._getCachedCompiledPatterns(e).compileAG(e,a,r)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new oa;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns)}return this._cachedCompiledPatterns}compileWhile(e,t){return this._getCachedCompiledWhilePatterns(e,t).compile(e)}compileWhileAG(e,t,a,r){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,a,r)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new oa,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},ri=class ke{static createCaptureRule(t,a,r,o,n){return t.registerRule(s=>new zc(a,s,r,o,n))}static getCompiledRuleId(t,a,r){return t.id||a.registerRule(o=>{if(t.id=o,t.match)return new jc(t.$vscodeTextmateLocation,t.id,t.name,t.match,ke._compileCaptures(t.captures,a,r));if(typeof t.begin>"u"){t.repository&&(r=js({},r,t.repository));let n=t.patterns;return typeof n>"u"&&t.include&&(n=[{include:t.include}]),new qs(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,ke._compilePatterns(n,a,r))}return t.while?new Ga(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,ke._compileCaptures(t.beginCaptures||t.captures,a,r),t.while,ke._compileCaptures(t.whileCaptures||t.captures,a,r),ke._compilePatterns(t.patterns,a,r)):new lo(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,ke._compileCaptures(t.beginCaptures||t.captures,a,r),t.end,ke._compileCaptures(t.endCaptures||t.captures,a,r),t.applyEndPatternLast,ke._compilePatterns(t.patterns,a,r))}),t.id}static _compileCaptures(t,a,r){let o=[];if(t){let n=0;for(let s in t){if(s==="$vscodeTextmateLocation")continue;let i=parseInt(s,10);i>n&&(n=i)}for(let s=0;s<=n;s++)o[s]=null;for(let s in t){if(s==="$vscodeTextmateLocation")continue;let i=parseInt(s,10),l=0;t[s].patterns&&(l=ke.getCompiledRuleId(t[s],a,r)),o[i]=ke.createCaptureRule(a,t[s].$vscodeTextmateLocation,t[s].name,t[s].contentName,l)}}return o}static _compilePatterns(t,a,r){let o=[];if(t)for(let n=0,s=t.length;n<s;n++){let i=t[n],l=-1;if(i.include){let u=ti(i.include);switch(u.kind){case 0:case 1:l=ke.getCompiledRuleId(r[i.include],a,r);break;case 2:let c=r[u.ruleName];c&&(l=ke.getCompiledRuleId(c,a,r));break;case 3:case 4:let d=u.scopeName,f=u.kind===4?u.ruleName:null,p=a.getExternalGrammar(d,r);if(p)if(f){let m=p.repository[f];m&&(l=ke.getCompiledRuleId(m,a,p.repository))}else l=ke.getCompiledRuleId(p.repository.$self,a,p.repository);break}}else l=ke.getCompiledRuleId(i,a,r);if(l!==-1){let u=a.getRule(l),c=!1;if((u instanceof qs||u instanceof lo||u instanceof Ga)&&u.hasMissingPatterns&&u.patterns.length===0&&(c=!0),c)continue;o.push(l)}}return{patterns:o,hasMissingPatterns:(t?t.length:0)!==o.length}}},ra=class oi{source;ruleId;hasAnchor;hasBackReferences;_anchorCache;constructor(t,a){if(t&&typeof t=="string"){let r=t.length,o=0,n=[],s=!1;for(let i=0;i<r;i++)if(t.charAt(i)==="\\"&&i+1<r){let u=t.charAt(i+1);u==="z"?(n.push(t.substring(o,i)),n.push("$(?!\\n)(?<!\\n)"),o=i+2):(u==="A"||u==="G")&&(s=!0),i++}this.hasAnchor=s,o===0?this.source=t:(n.push(t.substring(o,r)),this.source=n.join(""))}else this.hasAnchor=!1,this.source=t;this.hasAnchor?this._anchorCache=this._buildAnchorCache():this._anchorCache=null,this.ruleId=a,typeof this.source=="string"?this.hasBackReferences=Gc.test(this.source):this.hasBackReferences=!1}clone(){return new oi(this.source,this.ruleId)}setSource(t){this.source!==t&&(this.source=t,this.hasAnchor&&(this._anchorCache=this._buildAnchorCache()))}resolveBackReferences(t,a){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let r=a.map(o=>t.substring(o.start,o.end));return Hs.lastIndex=0,this.source.replace(Hs,(o,n)=>Qs(r[parseInt(n,10)]||""))}_buildAnchorCache(){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let t=[],a=[],r=[],o=[],n,s,i,l;for(n=0,s=this.source.length;n<s;n++)i=this.source.charAt(n),t[n]=i,a[n]=i,r[n]=i,o[n]=i,i==="\\"&&n+1<s&&(l=this.source.charAt(n+1),l==="A"?(t[n+1]="\uFFFF",a[n+1]="\uFFFF",r[n+1]="A",o[n+1]="A"):l==="G"?(t[n+1]="\uFFFF",a[n+1]="G",r[n+1]="\uFFFF",o[n+1]="G"):(t[n+1]=l,a[n+1]=l,r[n+1]=l,o[n+1]=l),n++);return{A0_G0:t.join(""),A0_G1:a.join(""),A1_G0:r.join(""),A1_G1:o.join("")}}resolveAnchors(t,a){return!this.hasAnchor||!this._anchorCache||typeof this.source!="string"?this.source:t?a?this._anchorCache.A1_G1:this._anchorCache.A1_G0:a?this._anchorCache.A0_G1:this._anchorCache.A0_G0}},oa=class{_items;_hasAnchors;_cached;_anchorCache;constructor(){this._items=[],this._hasAnchors=!1,this._cached=null,this._anchorCache={A0_G0:null,A0_G1:null,A1_G0:null,A1_G1:null}}dispose(){this._disposeCaches()}_disposeCaches(){this._cached&&(this._cached.dispose(),this._cached=null),this._anchorCache.A0_G0&&(this._anchorCache.A0_G0.dispose(),this._anchorCache.A0_G0=null),this._anchorCache.A0_G1&&(this._anchorCache.A0_G1.dispose(),this._anchorCache.A0_G1=null),this._anchorCache.A1_G0&&(this._anchorCache.A1_G0.dispose(),this._anchorCache.A1_G0=null),this._anchorCache.A1_G1&&(this._anchorCache.A1_G1.dispose(),this._anchorCache.A1_G1=null)}push(e){this._items.push(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}unshift(e){this._items.unshift(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}length(){return this._items.length}setSource(e,t){this._items[e].source!==t&&(this._disposeCaches(),this._items[e].setSource(t))}compile(e){if(!this._cached){let t=this._items.map(a=>a.source);this._cached=new Ws(e,t,this._items.map(a=>a.ruleId))}return this._cached}compileAG(e,t,a){return this._hasAnchors?t?a?(this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(e,t,a)),this._anchorCache.A1_G1):(this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(e,t,a)),this._anchorCache.A1_G0):a?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(e,t,a)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(e,t,a)),this._anchorCache.A0_G0):this.compile(e)}_resolveAnchors(e,t,a){let r=this._items.map(o=>o.resolveAnchors(t,a));return new Ws(e,r,this._items.map(o=>o.ruleId))}},Ws=class{constructor(e,t,a){this.regExps=t,this.rules=a,this.scanner=e.createOnigScanner(t)}scanner;dispose(){typeof this.scanner.dispose=="function"&&this.scanner.dispose()}toString(){let e=[];for(let t=0,a=this.rules.length;t<a;t++)e.push(" - "+this.rules[t]+": "+this.regExps[t]);return e.join(`
|
|
3
|
-
`)}findNextMatchSync(e,t,a){let r=this.scanner.findNextMatchSync(e,t,a);return r?{ruleId:this.rules[r.index],captureIndices:r.captureIndices}:null}},
|
|
4
|
-
`;let n=this.createOnigString(e),s=n.content.length,i=new nf(a,e,this._tokenTypeMatchers,this.balancedBracketSelectors),l=si(this,n,o,0,t,i,!0,r);return ei(n),{lineLength:s,lineTokens:i,ruleStack:l.stack,stoppedEarly:l.stoppedEarly}}};function zs(e,t){return e=Sc(e),e.repository=e.repository||{},e.repository.$self={$vscodeTextmateLocation:e.$vscodeTextmateLocation,patterns:e.patterns,name:e.scopeName},e.repository.$base=t||e.repository.$self,e}var ea=class We{constructor(t,a,r){this.parent=t,this.scopePath=a,this.tokenAttributes=r}static fromExtension(t,a){let r=t,o=t?.scopePath??null;for(let n of a)o=ro.push(o,n.scopeNames),r=new We(r,o,n.encodedTokenAttributes);return r}static createRoot(t,a){return new We(null,new ro(null,t),a)}static createRootAndLookUpScopeName(t,a,r){let o=r.getMetadataForScope(t),n=new ro(null,t),s=r.themeProvider.themeMatch(n),i=We.mergeAttributes(a,o,s);return new We(null,n,i)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return We.equals(this,t)}static equals(t,a){do{if(t===a||!t&&!a)return!0;if(!t||!a||t.scopeName!==a.scopeName||t.tokenAttributes!==a.tokenAttributes)return!1;t=t.parent,a=a.parent}while(!0)}static mergeAttributes(t,a,r){let o=-1,n=0,s=0;return r!==null&&(o=r.fontStyle,n=r.foregroundId,s=r.backgroundId),ht.set(t,a.languageId,a.tokenType,null,o,n,s)}pushAttributed(t,a){if(t===null)return this;if(t.indexOf(" ")===-1)return We._pushAttributed(this,t,a);let r=t.split(/ /g),o=this;for(let n of r)o=We._pushAttributed(o,n,a);return o}static _pushAttributed(t,a,r){let o=r.getMetadataForScope(a),n=t.scopePath.push(a),s=r.themeProvider.themeMatch(n),i=We.mergeAttributes(t.tokenAttributes,o,s);return new We(t,n,i)}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(t){let a=[],r=this;for(;r&&r!==t;)a.push({encodedTokenAttributes:r.tokenAttributes,scopeNames:r.scopePath.getExtensionIfDefined(r.parent?.scopePath??null)}),r=r.parent;return r===t?a.reverse():void 0}},co=class mt{constructor(t,a,r,o,n,s,i,l){this.parent=t,this.ruleId=a,this.beginRuleCapturedEOL=n,this.endRule=s,this.nameScopesList=i,this.contentNameScopesList=l,this.depth=this.parent?this.parent.depth+1:1,this._enterPos=r,this._anchorPos=o}_stackElementBrand=void 0;static NULL=new mt(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:mt._equals(this,t)}static _equals(t,a){return t===a?!0:this._structuralEquals(t,a)?ea.equals(t.contentNameScopesList,a.contentNameScopesList):!1}static _structuralEquals(t,a){do{if(t===a||!t&&!a)return!0;if(!t||!a||t.depth!==a.depth||t.ruleId!==a.ruleId||t.endRule!==a.endRule)return!1;t=t.parent,a=a.parent}while(!0)}clone(){return this}static _reset(t){for(;t;)t._enterPos=-1,t._anchorPos=-1,t=t.parent}reset(){mt._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,a,r,o,n,s,i){return new mt(this,t,a,r,o,n,s,i)}getEnterPos(){return this._enterPos}getAnchorPos(){return this._anchorPos}getRule(t){return t.getRule(this.ruleId)}toString(){let t=[];return this._writeString(t,0),"["+t.join(",")+"]"}_writeString(t,a){return this.parent&&(a=this.parent._writeString(t,a)),t[a++]=`(${this.ruleId}, ${this.nameScopesList?.toString()}, ${this.contentNameScopesList?.toString()})`,a}withContentNameScopesList(t){return this.contentNameScopesList===t?this:this.parent.push(this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,this.endRule,this.nameScopesList,t)}withEndRule(t){return this.endRule===t?this:new mt(this.parent,this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,t,this.nameScopesList,this.contentNameScopesList)}hasSameRuleAs(t){let a=this;for(;a&&a._enterPos===t._enterPos;){if(a.ruleId===t.ruleId)return!0;a=a.parent}return!1}toStateStackFrame(){return{ruleId:this.ruleId,beginRuleCapturedEOL:this.beginRuleCapturedEOL,endRule:this.endRule,nameScopesList:this.nameScopesList?.getExtensionIfDefined(this.parent?.nameScopesList??null)??[],contentNameScopesList:this.contentNameScopesList?.getExtensionIfDefined(this.nameScopesList)??[]}}static pushFrame(t,a){let r=ea.fromExtension(t?.nameScopesList??null,a.nameScopesList);return new mt(t,a.ruleId,a.enterPos??-1,a.anchorPos??-1,a.beginRuleCapturedEOL,a.endRule,r,ea.fromExtension(r,a.contentNameScopesList))}},of=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(a=>a==="*"?(this.allowAny=!0,[]):qa(a,Va).map(r=>r.matcher)),this.unbalancedBracketScopes=t.flatMap(a=>qa(a,Va).map(r=>r.matcher))}get matchesAlways(){return this.allowAny&&this.unbalancedBracketScopes.length===0}get matchesNever(){return this.balancedBracketScopes.length===0&&!this.allowAny}match(e){for(let t of this.unbalancedBracketScopes)if(t(e))return!1;for(let t of this.balancedBracketScopes)if(t(e))return!0;return this.allowAny}},nf=class{constructor(e,t,a,r){this.balancedBracketSelectors=r,this._emitBinaryTokens=e,this._tokenTypeOverrides=a,this._lineText=null,this._tokens=[],this._binaryTokens=[],this._lastTokenEndIndex=0}_emitBinaryTokens;_lineText;_tokens;_binaryTokens;_lastTokenEndIndex;_tokenTypeOverrides;produce(e,t){this.produceFromScopes(e.contentNameScopesList,t)}produceFromScopes(e,t){if(this._lastTokenEndIndex>=t)return;if(this._emitBinaryTokens){let r=e?.tokenAttributes??0,o=!1;if(this.balancedBracketSelectors?.matchesAlways&&(o=!0),this._tokenTypeOverrides.length>0||this.balancedBracketSelectors&&!this.balancedBracketSelectors.matchesAlways&&!this.balancedBracketSelectors.matchesNever){let n=e?.getScopeNames()??[];for(let s of this._tokenTypeOverrides)s.matcher(n)&&(r=ht.set(r,0,s.type,null,-1,0,0));this.balancedBracketSelectors&&(o=this.balancedBracketSelectors.match(n))}if(o&&(r=ht.set(r,0,8,o,-1,0,0)),this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-1]===r){this._lastTokenEndIndex=t;return}this._binaryTokens.push(this._lastTokenEndIndex),this._binaryTokens.push(r),this._lastTokenEndIndex=t;return}let a=e?.getScopeNames()??[];this._tokens.push({startIndex:this._lastTokenEndIndex,endIndex:t,scopes:a}),this._lastTokenEndIndex=t}getResult(e,t){return this._tokens.length>0&&this._tokens[this._tokens.length-1].startIndex===t-1&&this._tokens.pop(),this._tokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._tokens[this._tokens.length-1].startIndex=0),this._tokens}getBinaryResult(e,t){this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-2]===t-1&&(this._binaryTokens.pop(),this._binaryTokens.pop()),this._binaryTokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._binaryTokens[this._binaryTokens.length-2]=0);let a=new Uint32Array(this._binaryTokens.length);for(let r=0,o=this._binaryTokens.length;r<o;r++)a[r]=this._binaryTokens[r];return a}},sf=class{constructor(e,t){this._onigLib=t,this._theme=e}_grammars=new Map;_rawGrammars=new Map;_injectionGrammars=new Map;_theme;dispose(){for(let e of this._grammars.values())e.dispose()}setTheme(e){this._theme=e}getColorMap(){return this._theme.getColorMap()}addGrammar(e,t){this._rawGrammars.set(e.scopeName,e),t&&this._injectionGrammars.set(e.scopeName,t)}lookup(e){return this._rawGrammars.get(e)}injections(e){return this._injectionGrammars.get(e)}getDefaults(){return this._theme.getDefaults()}themeMatch(e){return this._theme.match(e)}grammarForScopeName(e,t,a,r,o){if(!this._grammars.has(e)){let n=this._rawGrammars.get(e);if(!n)return null;this._grammars.set(e,tf(e,n,t,a,r,o,this,this._onigLib))}return this._grammars.get(e)}},ui=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new sf(ta.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(ta.createFromRawTheme(e,t))}getColorMap(){return this._syncRegistry.getColorMap()}loadGrammarWithEmbeddedLanguages(e,t,a){return this.loadGrammarWithConfiguration(e,t,{embeddedLanguages:a})}loadGrammarWithConfiguration(e,t,a){return this._loadGrammar(e,t,a.embeddedLanguages,a.tokenTypes,new of(a.balancedBracketSelectors||[],a.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,a,r,o){let n=new _c(this._syncRegistry,e);for(;n.Q.length>0;)n.Q.map(s=>this._loadSingleGrammar(s.scopeName)),n.processQueue();return this._grammarForScopeName(e,t,a,r,o)}_loadSingleGrammar(e){this._ensureGrammarCache.has(e)||(this._doLoadSingleGrammar(e),this._ensureGrammarCache.set(e,!0))}_doLoadSingleGrammar(e){let t=this._options.loadGrammar(e);if(t){let a=typeof this._options.getInjections=="function"?this._options.getInjections(e):void 0;this._syncRegistry.addGrammar(t,a)}}addGrammar(e,t=[],a=0,r=null){return this._syncRegistry.addGrammar(e,t),this._grammarForScopeName(e.scopeName,a,r)}_grammarForScopeName(e,t=0,a=null,r=null,o=null){return this._syncRegistry.grammarForScopeName(e,t,a,r,o)}},za=co.NULL;var lf=/["&'<>`]/g,uf=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,df=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,cf=/[|\\{}()[\]^$+*?.]/g,di=new WeakMap;function ci(e,t){if(e=e.replace(t.subset?ff(t.subset):lf,r),t.subset||t.escapeOnly)return e;return e.replace(uf,a).replace(df,r);function a(o,n,s){return t.format((o.charCodeAt(0)-55296)*1024+o.charCodeAt(1)-56320+65536,s.charCodeAt(n+2),t)}function r(o,n,s){return t.format(o.charCodeAt(0),s.charCodeAt(n+1),t)}}function ff(e){let t=di.get(e);return t||(t=pf(e),di.set(e,t)),t}function pf(e){let t=[],a=-1;for(;++a<e.length;)t.push(e[a].replace(cf,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}var mf=/[\dA-Fa-f]/;function fi(e,t,a){let r="&#x"+e.toString(16).toUpperCase();return a&&t&&!mf.test(String.fromCharCode(t))?r:r+";"}var hf=/\d/;function pi(e,t,a){let r="&#"+String(e);return a&&t&&!hf.test(String.fromCharCode(t))?r:r+";"}var mi=["AElig","AMP","Aacute","Acirc","Agrave","Aring","Atilde","Auml","COPY","Ccedil","ETH","Eacute","Ecirc","Egrave","Euml","GT","Iacute","Icirc","Igrave","Iuml","LT","Ntilde","Oacute","Ocirc","Ograve","Oslash","Otilde","Ouml","QUOT","REG","THORN","Uacute","Ucirc","Ugrave","Uuml","Yacute","aacute","acirc","acute","aelig","agrave","amp","aring","atilde","auml","brvbar","ccedil","cedil","cent","copy","curren","deg","divide","eacute","ecirc","egrave","eth","euml","frac12","frac14","frac34","gt","iacute","icirc","iexcl","igrave","iquest","iuml","laquo","lt","macr","micro","middot","nbsp","not","ntilde","oacute","ocirc","ograve","ordf","ordm","oslash","otilde","ouml","para","plusmn","pound","quot","raquo","reg","sect","shy","sup1","sup2","sup3","szlig","thorn","times","uacute","ucirc","ugrave","uml","uuml","yacute","yen","yuml"];var ja={nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",frac34:"\xBE",iquest:"\xBF",Agrave:"\xC0",Aacute:"\xC1",Acirc:"\xC2",Atilde:"\xC3",Auml:"\xC4",Aring:"\xC5",AElig:"\xC6",Ccedil:"\xC7",Egrave:"\xC8",Eacute:"\xC9",Ecirc:"\xCA",Euml:"\xCB",Igrave:"\xCC",Iacute:"\xCD",Icirc:"\xCE",Iuml:"\xCF",ETH:"\xD0",Ntilde:"\xD1",Ograve:"\xD2",Oacute:"\xD3",Ocirc:"\xD4",Otilde:"\xD5",Ouml:"\xD6",times:"\xD7",Oslash:"\xD8",Ugrave:"\xD9",Uacute:"\xDA",Ucirc:"\xDB",Uuml:"\xDC",Yacute:"\xDD",THORN:"\xDE",szlig:"\xDF",agrave:"\xE0",aacute:"\xE1",acirc:"\xE2",atilde:"\xE3",auml:"\xE4",aring:"\xE5",aelig:"\xE6",ccedil:"\xE7",egrave:"\xE8",eacute:"\xE9",ecirc:"\xEA",euml:"\xEB",igrave:"\xEC",iacute:"\xED",icirc:"\xEE",iuml:"\xEF",eth:"\xF0",ntilde:"\xF1",ograve:"\xF2",oacute:"\xF3",ocirc:"\xF4",otilde:"\xF5",ouml:"\xF6",divide:"\xF7",oslash:"\xF8",ugrave:"\xF9",uacute:"\xFA",ucirc:"\xFB",uuml:"\xFC",yacute:"\xFD",thorn:"\xFE",yuml:"\xFF",fnof:"\u0192",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039A",Lambda:"\u039B",Mu:"\u039C",Nu:"\u039D",Xi:"\u039E",Omicron:"\u039F",Pi:"\u03A0",Rho:"\u03A1",Sigma:"\u03A3",Tau:"\u03A4",Upsilon:"\u03A5",Phi:"\u03A6",Chi:"\u03A7",Psi:"\u03A8",Omega:"\u03A9",alpha:"\u03B1",beta:"\u03B2",gamma:"\u03B3",delta:"\u03B4",epsilon:"\u03B5",zeta:"\u03B6",eta:"\u03B7",theta:"\u03B8",iota:"\u03B9",kappa:"\u03BA",lambda:"\u03BB",mu:"\u03BC",nu:"\u03BD",xi:"\u03BE",omicron:"\u03BF",pi:"\u03C0",rho:"\u03C1",sigmaf:"\u03C2",sigma:"\u03C3",tau:"\u03C4",upsilon:"\u03C5",phi:"\u03C6",chi:"\u03C7",psi:"\u03C8",omega:"\u03C9",thetasym:"\u03D1",upsih:"\u03D2",piv:"\u03D6",bull:"\u2022",hellip:"\u2026",prime:"\u2032",Prime:"\u2033",oline:"\u203E",frasl:"\u2044",weierp:"\u2118",image:"\u2111",real:"\u211C",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21B5",lArr:"\u21D0",uArr:"\u21D1",rArr:"\u21D2",dArr:"\u21D3",hArr:"\u21D4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220B",prod:"\u220F",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221A",prop:"\u221D",infin:"\u221E",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222A",int:"\u222B",there4:"\u2234",sim:"\u223C",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22A5",sdot:"\u22C5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230A",rfloor:"\u230B",lang:"\u2329",rang:"\u232A",loz:"\u25CA",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666",quot:'"',amp:"&",lt:"<",gt:">",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",circ:"\u02C6",tilde:"\u02DC",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",permil:"\u2030",lsaquo:"\u2039",rsaquo:"\u203A",euro:"\u20AC"};var hi=["cent","copy","divide","gt","lt","not","para","times"];var gi={}.hasOwnProperty,po={},$a;for($a in ja)gi.call(ja,$a)&&(po[ja[$a]]=$a);var gf=/[^\dA-Za-z]/;function wi(e,t,a,r){let o=String.fromCharCode(e);if(gi.call(po,o)){let n=po[o],s="&"+n;return a&&mi.includes(n)&&!hi.includes(n)&&(!r||t&&t!==61&&gf.test(String.fromCharCode(t)))?s:s+";"}return""}function xi(e,t,a){let r=fi(e,t,a.omitOptionalSemicolons),o;if((a.useNamedReferences||a.useShortestReferences)&&(o=wi(e,t,a.omitOptionalSemicolons,a.attribute)),(a.useShortestReferences||!o)&&a.useShortestReferences){let n=pi(e,t,a.omitOptionalSemicolons);n.length<r.length&&(r=n)}return o&&(!a.useShortestReferences||o.length<r.length)?o:r}function Xe(e,t){return ci(e,Object.assign({format:xi},t))}var wf=/^>|^->|<!--|-->|--!>|<!-$/g,xf=[">"],If=["<",">"];function Ii(e,t,a,r){return r.settings.bogusComments?"<?"+Xe(e.value,Object.assign({},r.settings.characterReferences,{subset:xf}))+">":"<!--"+e.value.replace(wf,o)+"-->";function o(n){return Xe(n,Object.assign({},r.settings.characterReferences,{subset:If}))}}function Li(e,t,a,r){return"<!"+(r.settings.upperDoctype?"DOCTYPE":"doctype")+(r.settings.tightDoctype?"":" ")+"html>"}var ie=Ci(1),mo=Ci(-1),Lf=[];function Ci(e){return t;function t(a,r,o){let n=a?a.children:Lf,s=(r||0)+e,i=n[s];if(!o)for(;i&&yt(i);)s+=e,i=n[s];return i}}var Cf={}.hasOwnProperty;function Xa(e){return t;function t(a,r,o){return Cf.call(e,a.tagName)&&e[a.tagName](a,r,o)}}var sa=Xa({body:yf,caption:ho,colgroup:ho,dd:vf,dt:Tf,head:ho,html:Sf,li:kf,optgroup:Pf,option:Af,p:bf,rp:Si,rt:Si,tbody:Mf,td:yi,tfoot:Ff,th:yi,thead:Rf,tr:Bf});function ho(e,t,a){let r=ie(a,t,!0);return!r||r.type!=="comment"&&!(r.type==="text"&&yt(r.value.charAt(0)))}function Sf(e,t,a){let r=ie(a,t);return!r||r.type!=="comment"}function yf(e,t,a){let r=ie(a,t);return!r||r.type!=="comment"}function bf(e,t,a){let r=ie(a,t);return r?r.type==="element"&&(r.tagName==="address"||r.tagName==="article"||r.tagName==="aside"||r.tagName==="blockquote"||r.tagName==="details"||r.tagName==="div"||r.tagName==="dl"||r.tagName==="fieldset"||r.tagName==="figcaption"||r.tagName==="figure"||r.tagName==="footer"||r.tagName==="form"||r.tagName==="h1"||r.tagName==="h2"||r.tagName==="h3"||r.tagName==="h4"||r.tagName==="h5"||r.tagName==="h6"||r.tagName==="header"||r.tagName==="hgroup"||r.tagName==="hr"||r.tagName==="main"||r.tagName==="menu"||r.tagName==="nav"||r.tagName==="ol"||r.tagName==="p"||r.tagName==="pre"||r.tagName==="section"||r.tagName==="table"||r.tagName==="ul"):!a||!(a.type==="element"&&(a.tagName==="a"||a.tagName==="audio"||a.tagName==="del"||a.tagName==="ins"||a.tagName==="map"||a.tagName==="noscript"||a.tagName==="video"))}function kf(e,t,a){let r=ie(a,t);return!r||r.type==="element"&&r.tagName==="li"}function Tf(e,t,a){let r=ie(a,t);return!!(r&&r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd"))}function vf(e,t,a){let r=ie(a,t);return!r||r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd")}function Si(e,t,a){let r=ie(a,t);return!r||r.type==="element"&&(r.tagName==="rp"||r.tagName==="rt")}function Pf(e,t,a){let r=ie(a,t);return!r||r.type==="element"&&r.tagName==="optgroup"}function Af(e,t,a){let r=ie(a,t);return!r||r.type==="element"&&(r.tagName==="option"||r.tagName==="optgroup")}function Rf(e,t,a){let r=ie(a,t);return!!(r&&r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot"))}function Mf(e,t,a){let r=ie(a,t);return!r||r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot")}function Ff(e,t,a){return!ie(a,t)}function Bf(e,t,a){let r=ie(a,t);return!r||r.type==="element"&&r.tagName==="tr"}function yi(e,t,a){let r=ie(a,t);return!r||r.type==="element"&&(r.tagName==="td"||r.tagName==="th")}var bi=Xa({body:_f,colgroup:Of,head:Df,html:Ef,tbody:Nf});function Ef(e){let t=ie(e,-1);return!t||t.type!=="comment"}function Df(e){let t=new Set;for(let r of e.children)if(r.type==="element"&&(r.tagName==="base"||r.tagName==="title")){if(t.has(r.tagName))return!1;t.add(r.tagName)}let a=e.children[0];return!a||a.type==="element"}function _f(e){let t=ie(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&yt(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function Of(e,t,a){let r=mo(a,t),o=ie(e,-1,!0);return a&&r&&r.type==="element"&&r.tagName==="colgroup"&&sa(r,a.children.indexOf(r),a)?!1:!!(o&&o.type==="element"&&o.tagName==="col")}function Nf(e,t,a){let r=mo(a,t),o=ie(e,-1);return a&&r&&r.type==="element"&&(r.tagName==="thead"||r.tagName==="tbody")&&sa(r,a.children.indexOf(r),a)?!1:!!(o&&o.type==="element"&&o.tagName==="tr")}var Ka={name:[[`
|
|
2
|
+
import{a as kn,b as Tn,c as vn,d as Pn,e as An,f as Ca,g as Rn,h as Mn,i as Fn,j as Bn,k as Or,l as En,m as St,n as yt,o as Sa,p as bt,u as _t}from"../chunk-F4UUXA3U.js";import"../chunk-V3ZDECK5.js";import{forwardRef as _h,useCallback as nn,useEffect as Oh,useImperativeHandle as Nh,useRef as Ql,useState as Jl}from"react";import{forwardRef as Nu,createElement as Uu}from"react";var ya=(...e)=>e.filter((t,a,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===a).join(" ").trim();var Dn=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var _n=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,a,r)=>r?r.toUpperCase():a.toLowerCase());var Nr=e=>{let t=_n(e);return t.charAt(0).toUpperCase()+t.slice(1)};import{forwardRef as Ou,createElement as Un}from"react";var On={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var Nn=e=>{for(let t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};var Hn=Ou(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:r,className:o="",children:n,iconNode:s,...i},l)=>Un("svg",{ref:l,...On,width:t,height:t,stroke:e,strokeWidth:r?Number(a)*24/Number(t):a,className:ya("lucide",o),...!n&&!Nn(i)&&{"aria-hidden":"true"},...i},[...s.map(([u,c])=>Un(u,c)),...Array.isArray(n)?n:[n]]));var $=(e,t)=>{let a=Nu(({className:r,...o},n)=>Uu(Hn,{ref:n,iconNode:t,className:ya(`lucide-${Dn(Nr(e))}`,`lucide-${e}`,r),...o}));return a.displayName=Nr(e),a};var Hu=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],lt=$("arrow-down",Hu);var qu=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],Ot=$("arrow-up",qu);var Wu=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Nt=$("check",Wu);var Gu=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Je=$("chevron-down",Gu);var Vu=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],Ut=$("chevron-right",Vu);var zu=[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]],Ht=$("clipboard-copy",zu);var ju=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],je=$("clock",ju);var $u=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]],qt=$("file",$u);var Xu=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],Wt=$("globe",Xu);var Ku=[["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m16.2 7.8 2.9-2.9",key:"r700ao"}],["path",{d:"M18 12h4",key:"wj9ykh"}],["path",{d:"m16.2 16.2 2.9 2.9",key:"1bxg5t"}],["path",{d:"M12 18v4",key:"jadmvz"}],["path",{d:"m4.9 19.1 2.9-2.9",key:"bwix9q"}],["path",{d:"M2 12h4",key:"j09sii"}],["path",{d:"m4.9 4.9 2.9 2.9",key:"giyufr"}]],Gt=$("loader",Ku);var Qu=[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]],Vt=$("paperclip",Qu);var Ju=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],zt=$("square",Ju);var Yu=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]],ut=$("wrench",Yu);var Zu=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],dt=$("x",Zu);var ed=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],jt=$("zap",ed);import{useCallback as wd}from"react";import{useCallback as Ye,useMemo as td,useRef as ad,useState as Ur}from"react";var rd={damping:.7,stiffness:.05,mass:1.25},od=70,nd=1e3/60,sd=350,ba=!1;globalThis.document?.addEventListener("mousedown",()=>{ba=!0});globalThis.document?.addEventListener("mouseup",()=>{ba=!1});globalThis.document?.addEventListener("click",()=>{ba=!1});var Wn=(e={})=>{let[t,a]=Ur(!1),[r,o]=Ur(e.initial!==!1),[n,s]=Ur(!1),i=ad(null);i.current=e;let l=Ye(()=>{if(!ba)return!1;let g=window.getSelection();if(!g||!g.rangeCount)return!1;let h=g.getRangeAt(0);return h.commonAncestorContainer.contains(I.current)||I.current?.contains(h.commonAncestorContainer)},[]),u=Ye(g=>{d.isAtBottom=g,o(g)},[]),c=Ye(g=>{d.escapedFromLock=g,a(g)},[]),d=td(()=>{let g;return{escapedFromLock:t,isAtBottom:r,resizeDifference:0,accumulated:0,velocity:0,listeners:new Set,get scrollTop(){return I.current?.scrollTop??0},set scrollTop(h){I.current&&(I.current.scrollTop=h,d.ignoreScrollToTop=I.current.scrollTop)},get targetScrollTop(){return!I.current||!x.current?0:I.current.scrollHeight-1-I.current.clientHeight},get calculatedTargetScrollTop(){if(!I.current||!x.current)return 0;let{targetScrollTop:h}=this;if(!e.targetScrollTop)return h;if(g?.targetScrollTop===h)return g.calculatedScrollTop;let w=Math.max(Math.min(e.targetScrollTop(h,{scrollElement:I.current,contentElement:x.current}),h),0);return g={targetScrollTop:h,calculatedScrollTop:w},requestAnimationFrame(()=>{g=void 0}),w},get scrollDifference(){return this.calculatedTargetScrollTop-this.scrollTop},get isNearBottom(){return this.scrollDifference<=od}}},[]),f=Ye((g={})=>{typeof g=="string"&&(g={animation:g}),g.preserveScrollPosition||u(!0);let h=Date.now()+(Number(g.wait)||0),w=qr(i.current,g.animation),{ignoreEscapes:S=!1}=g,v,A=d.calculatedTargetScrollTop;g.duration instanceof Promise?g.duration.finally(()=>{v=Date.now()}):v=h+(g.duration??0);let P=async()=>{let E=new Promise(requestAnimationFrame).then(()=>{if(!d.isAtBottom)return d.animation=void 0,!1;let{scrollTop:k}=d,B=performance.now(),y=(B-(d.lastTick??B))/nd;if(d.animation||(d.animation={behavior:w,promise:E,ignoreEscapes:S}),d.animation.behavior===w&&(d.lastTick=B),l()||h>Date.now())return P();if(k<Math.min(A,d.calculatedTargetScrollTop)){if(d.animation?.behavior===w){if(w==="instant")return d.scrollTop=d.calculatedTargetScrollTop,P();d.velocity=(w.damping*d.velocity+w.stiffness*d.scrollDifference)/w.mass,d.accumulated+=d.velocity*y,d.scrollTop+=d.accumulated,d.scrollTop!==k&&(d.accumulated=0)}return P()}return v>Date.now()?(A=d.calculatedTargetScrollTop,P()):(d.animation=void 0,d.scrollTop<d.calculatedTargetScrollTop?f({animation:qr(i.current,i.current.resize),ignoreEscapes:S,duration:Math.max(0,v-Date.now())||void 0}):d.isAtBottom)});return E.then(k=>(requestAnimationFrame(()=>{d.animation||(d.lastTick=void 0,d.velocity=0)}),k))};return g.wait!==!0&&(d.animation=void 0),d.animation?.behavior===w?d.animation.promise:P()},[u,l,d]),p=Ye(()=>{c(!0),u(!1)},[c,u]),m=Ye(({target:g})=>{if(g!==I.current)return;let{scrollTop:h,ignoreScrollToTop:w}=d,{lastScrollTop:S=h}=d;d.lastScrollTop=h,d.ignoreScrollToTop=void 0,w&&w>h&&(S=w),s(d.isNearBottom),setTimeout(()=>{if(d.resizeDifference||h===w)return;if(l()){c(!0),u(!1);return}let v=h>S,A=h<S;if(d.animation?.ignoreEscapes){d.scrollTop=S;return}A&&(c(!0),u(!1)),v&&c(!1),!d.escapedFromLock&&d.isNearBottom&&u(!0)},1)},[c,u,l,d]),L=Ye(({target:g,deltaY:h})=>{let w=g;for(;!["scroll","auto"].includes(getComputedStyle(w).overflow);){if(!w.parentElement)return;w=w.parentElement}w===I.current&&h<0&&I.current.scrollHeight>I.current.clientHeight&&!d.animation?.ignoreEscapes&&(c(!0),u(!1))},[c,u,d]),I=qn(g=>{I.current?.removeEventListener("scroll",m),I.current?.removeEventListener("wheel",L),g?.addEventListener("scroll",m,{passive:!0}),g?.addEventListener("wheel",L,{passive:!0})},[]),x=qn(g=>{if(d.resizeObserver?.disconnect(),!g)return;let h;d.resizeObserver=new ResizeObserver(([w])=>{let{height:S}=w.contentRect,v=S-(h??S);if(d.resizeDifference=v,d.scrollTop>d.targetScrollTop&&(d.scrollTop=d.targetScrollTop),s(d.isNearBottom),v>=0){let A=qr(i.current,h?i.current.resize:i.current.initial);f({animation:A,wait:!0,preserveScrollPosition:!0,duration:A==="instant"?void 0:sd})}else d.isNearBottom&&(c(!1),u(!0));h=S,requestAnimationFrame(()=>{setTimeout(()=>{d.resizeDifference===v&&(d.resizeDifference=0)},1)})}),d.resizeObserver?.observe(g)},[]);return{contentRef:x,scrollRef:I,scrollToBottom:f,stopScroll:p,isAtBottom:r||n,isNearBottom:n,escapedFromLock:t,state:d}};function qn(e,t){let a=Ye(r=>(a.current=r,e(r)),t);return a}var Hr=new Map;function qr(...e){let t={...rd},a=!1;for(let o of e){if(o==="instant"){a=!0;continue}typeof o=="object"&&(a=!1,t.damping=o.damping??t.damping,t.stiffness=o.stiffness??t.stiffness,t.mass=o.mass??t.mass)}let r=JSON.stringify(t);return Hr.has(r)||Hr.set(r,Object.freeze(t)),a?"instant":Hr.get(r)}import*as ct from"react";import{createContext as id,useContext as ld,useEffect as ud,useImperativeHandle as dd,useLayoutEffect as cd,useMemo as fd,useRef as pd}from"react";var Gn=id(null),md=typeof window<"u"?cd:ud;function $t({instance:e,children:t,resize:a,initial:r,mass:o,damping:n,stiffness:s,targetScrollTop:i,contextRef:l,...u}){let c=pd(null),d=ct.useCallback((S,v)=>(w?.targetScrollTop??i)?.(S,v)??S,[i]),f=Wn({mass:o,damping:n,stiffness:s,resize:a,initial:r,targetScrollTop:d}),{scrollRef:p,contentRef:m,scrollToBottom:L,stopScroll:I,isAtBottom:x,escapedFromLock:g,state:h}=e??f,w=fd(()=>({scrollToBottom:L,stopScroll:I,scrollRef:p,isAtBottom:x,escapedFromLock:g,contentRef:m,state:h,get targetScrollTop(){return c.current},set targetScrollTop(S){c.current=S}}),[L,x,m,p,I,g,h]);return dd(l,()=>w,[w]),md(()=>{p.current&&getComputedStyle(p.current).overflow==="visible"&&(p.current.style.overflow="auto")},[]),ct.createElement(Gn.Provider,{value:w},ct.createElement("div",{...u},typeof t=="function"?t(w):t))}(function(e){function t({children:a,scrollClassName:r,...o}){let n=Wr();return ct.createElement("div",{ref:n.scrollRef,style:{height:"100%",width:"100%",scrollbarGutter:"stable both-edges"},className:r},ct.createElement("div",{...o,ref:n.contentRef},typeof a=="function"?a(n):a))}e.Content=t})($t||($t={}));function Wr(){let e=ld(Gn);if(!e)throw new Error("use-stick-to-bottom component context must be used within a StickToBottom component");return e}var hd=Tn({prefix:"ww"});function T(...e){return hd(kn(e))}import{jsx as gd}from"react/jsx-runtime";var De=({className:e,variant:t="default",size:a="default",type:r="button",...o})=>gd("button",{type:r,className:T("ww:inline-flex ww:cursor-pointer ww:items-center ww:justify-center ww:rounded-md ww:font-medium ww:transition-colors ww:disabled:pointer-events-none ww:disabled:opacity-50",t==="default"&&"ww:bg-primary ww:text-primary-foreground ww:hover:bg-primary/90",t==="outline"&&"ww:border ww:border-border ww:bg-background ww:hover:bg-accent ww:hover:text-accent-foreground",t==="ghost"&&"ww:hover:bg-accent ww:hover:text-accent-foreground",a==="default"&&"ww:h-9 ww:px-4 ww:py-2 ww:text-sm",a==="sm"&&"ww:h-8 ww:px-3 ww:text-xs",a==="icon"&&"ww:size-9 ww:!rounded-full",a==="icon-sm"&&"ww:size-7 ww:!rounded-full",e),...o});import{jsx as ka}from"react/jsx-runtime";var Vn=({className:e,...t})=>ka($t,{className:T("ww:relative ww:flex-1 ww:overflow-y-hidden",e),initial:"smooth",resize:"smooth",role:"log",...t}),zn=({className:e,...t})=>ka($t.Content,{className:T("ww:flex ww:flex-col ww:gap-6 ww:px-4 ww:py-6 ww:mx-auto ww:w-full ww:max-w-3xl",e),...t}),jn=({className:e,...t})=>{let{isAtBottom:a,scrollToBottom:r}=Wr(),o=wd(()=>{r()},[r]);return!a&&ka(De,{className:T("ww:absolute ww:bottom-4 ww:left-[50%] ww:translate-x-[-50%] ww:rounded-full",e),onClick:o,size:"icon",variant:"outline",...t,children:ka(lt,{className:"ww:size-4"})})};import Xn from"crypto";var $n="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var xd=128,ft,kt,Id=e=>{!ft||ft.length<e?(ft=Buffer.allocUnsafe(e*xd),Xn.randomFillSync(ft),kt=0):kt+e>ft.length&&(Xn.randomFillSync(ft),kt=0),kt+=e};var Xt=(e=21)=>{Id(e|=0);let t="";for(let a=kt-e;a<kt;a++)t+=$n[ft[a]&63];return t};import{createContext as vd,useCallback as $e,useContext as Pd,useEffect as $r,useMemo as Ad,useRef as Xr,useState as es}from"react";import{createContext as Ld,useContext as Cd,useEffect as Sd,useMemo as yd,useState as Yn}from"react";var Kn=["en","fr","es"];function Tt(e){return Kn.includes(e)}function Gr(e){if(e&&Tt(e))return e;if(e){let a=e.split("-")[0]?.toLowerCase();if(a&&Tt(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(Tt(r))return r;let o=r.split("-")[0];if(o&&Tt(o))return o}return"en"}var Ta={promptInput:{placeholder:"What would you like to know?",uploadFiles:"Upload files",stop:"Stop",submit:"Submit",removeAttachments:"Remove all attachments"},workingIndicator:{default:"On it\u2026"},reasoning:{thinking:"Thinking\u2026",thoughtBrief:"Thought for a few seconds",thoughtForSeconds:e=>`Thought for ${e} second${e===1?"":"s"}`},chainOfThought:{working:"Working on it\u2026",done:"Thought process"},tool:{copy:"Copy",copied:"Copied",request:"Request",response:"Response",error:"Error"},attachments:{attachmentFallback:"attachment",fileFallback:"file"},threadMenu:{newChat:"New chat",threadHistory:"Thread history",deleteThread:"Delete thread",noPreviousChats:"No previous chats yet.",hiddenThreads:e=>`${e} older thread${e===1?"":"s"} hidden`},chatQueue:{attachmentFallback:"(attachment)",removeFromQueue:"Remove from queue",queued:e=>`${e} queued`},poweredBy:{label:"AI agent powered by"},aiDisclaimer:{default:"can make mistakes"},exportSession:{saving:"saving...",saved:"saved",error:"error",export:"export",tooltip:"Save scenario to Waniwani"},widgetErrorBoundary:{failedToLoad:"Widget failed to load",retry:"Retry"},launcher:{prompt:"Ask anything\u2026",open:"Open chat",close:"Close chat",minimize:"Minimize"}};var Qn={promptInput:{placeholder:"\xBFQu\xE9 te gustar\xEDa saber?",uploadFiles:"Subir archivos",stop:"Detener",submit:"Enviar",removeAttachments:"Eliminar todos los archivos adjuntos"},workingIndicator:{default:"Un momento\u2026"},reasoning:{thinking:"Pensando\u2026",thoughtBrief:"Pensado durante unos segundos",thoughtForSeconds:e=>`Pensado durante ${e} segundo${e===1?"":"s"}`},chainOfThought:{working:"Estoy en ello\u2026",done:"Razonamiento"},tool:{copy:"Copiar",copied:"Copiado",request:"Solicitud",response:"Respuesta",error:"Error"},attachments:{attachmentFallback:"adjunto",fileFallback:"archivo"},threadMenu:{newChat:"Nueva conversaci\xF3n",threadHistory:"Historial",deleteThread:"Eliminar conversaci\xF3n",noPreviousChats:"A\xFAn no hay conversaciones anteriores.",hiddenThreads:e=>`${e} conversaci\xF3n${e===1?"":"es"} anterior${e===1?"":"es"} oculta${e===1?"":"s"}`},chatQueue:{attachmentFallback:"(adjunto)",removeFromQueue:"Quitar de la cola",queued:e=>`${e} en cola`},poweredBy:{label:"Agente IA con tecnolog\xEDa de"},aiDisclaimer:{default:"puede cometer errores"},exportSession:{saving:"guardando...",saved:"guardado",error:"error",export:"exportar",tooltip:"Guardar escenario en Waniwani"},widgetErrorBoundary:{failedToLoad:"No se pudo cargar el widget",retry:"Reintentar"},launcher:{prompt:"Pregunta lo que quieras\u2026",open:"Abrir chat",close:"Cerrar chat",minimize:"Minimizar"}};var Jn={promptInput:{placeholder:"Que souhaitez-vous savoir ?",uploadFiles:"Importer des fichiers",stop:"Arr\xEAter",submit:"Envoyer",removeAttachments:"Supprimer toutes les pi\xE8ces jointes"},workingIndicator:{default:"Un instant\u2026"},reasoning:{thinking:"R\xE9flexion\u2026",thoughtBrief:"R\xE9flexion pendant quelques secondes",thoughtForSeconds:e=>`R\xE9flexion pendant ${e} seconde${e===1?"":"s"}`},chainOfThought:{working:"Je m'en occupe\u2026",done:"Raisonnement"},tool:{copy:"Copier",copied:"Copi\xE9",request:"Requ\xEAte",response:"R\xE9ponse",error:"Erreur"},attachments:{attachmentFallback:"pi\xE8ce jointe",fileFallback:"fichier"},threadMenu:{newChat:"Nouvelle conversation",threadHistory:"Historique",deleteThread:"Supprimer la conversation",noPreviousChats:"Aucune conversation pr\xE9c\xE9dente.",hiddenThreads:e=>`${e} conversation${e===1?"":"s"} plus ancienne${e===1?"":"s"} masqu\xE9e${e===1?"":"s"}`},chatQueue:{attachmentFallback:"(pi\xE8ce jointe)",removeFromQueue:"Retirer de la file",queued:e=>`${e} en attente`},poweredBy:{label:"Agent IA propuls\xE9 par"},aiDisclaimer:{default:"peut faire des erreurs"},exportSession:{saving:"enregistrement...",saved:"enregistr\xE9",error:"erreur",export:"exporter",tooltip:"Enregistrer le sc\xE9nario dans Waniwani"},widgetErrorBoundary:{failedToLoad:"\xC9chec du chargement du widget",retry:"R\xE9essayer"},launcher:{prompt:"Posez votre question\u2026",open:"Ouvrir le chat",close:"Fermer le chat",minimize:"R\xE9duire"}};var Vr={en:Ta,fr:Jn,es:Qn};import{jsx as Td}from"react/jsx-runtime";var Zn=Ld(null);function bd(e,t){if(!t)return e;let a={...e};for(let r of Object.keys(e)){let o=e[r],n=t[r];n&&typeof o=="object"&&(a[r]={...o,...n})}return a}function zr({children:e,locale:t,messages:a}){let r=!!(t&&kd(t)),o=r?t:"en",[n,s]=Yn(o),[i,l]=Yn(r);Sd(()=>{s(Gr(t)),l(!0)},[t]);let u=yd(()=>{let c=Vr[n]??Vr["en"];return{locale:n,t:bd(c,a),ready:i}},[n,a,i]);return Td(Zn.Provider,{value:u,children:e})}function kd(e){return e==="en"||e==="fr"||e==="es"}function G(){let e=Cd(Zn);return e||{locale:"en",t:Ta,ready:!0}}function jr(e,t){let a=Date.now()-e;if(a<6e4)try{return new Intl.RelativeTimeFormat(t,{numeric:"auto",style:"narrow"}).format(0,"second")}catch{return"just now"}let r,o;a<60*6e4?(r=-Math.floor(a/6e4),o="minute"):a<1440*6e4?(r=-Math.floor(a/(60*6e4)),o="hour"):(r=-Math.floor(a/(1440*6e4)),o="day");try{return new Intl.RelativeTimeFormat(t,{numeric:"auto",style:"short"}).format(r,o)}catch{return`${Math.abs(r)}${o==="minute"?"m":o==="hour"?"h":"d"} ago`}}import{jsx as Oe,jsxs as rs}from"react/jsx-runtime";var Rd=async e=>{try{let a=await(await fetch(e)).blob();return new Promise(r=>{let o=new FileReader;o.onloadend=()=>r(o.result),o.onerror=()=>r(null),o.readAsDataURL(a)})}catch{return null}},ts=vd(null),as=()=>{let e=Pd(ts);if(!e)throw new Error("usePromptInputAttachments must be used within a PromptInput");return e},va=({className:e,accept:t,multiple:a,globalDrop:r,maxFiles:o,maxFileSize:n,onSubmit:s,children:i,...l})=>{let{t:u}=G(),c=Xr(null),d=Xr(null),[f,p]=es([]),m=Xr(f);$r(()=>{m.current=f},[f]);let L=$e(()=>{c.current?.click()},[]),I=$e(v=>{let A=[...v];if(A.length===0)return;let P=k=>n?k.size<=n:!0,E=A.filter(P);p(k=>{let B=typeof o=="number"?Math.max(0,o-k.length):void 0,y=typeof B=="number"?E.slice(0,B):E;return[...k,...y.map(X=>({filename:X.name,id:Xt(),mediaType:X.type,type:"file",url:URL.createObjectURL(X)}))]})},[o,n]),x=$e(v=>{p(A=>{let P=A.find(E=>E.id===v);return P?.url&&URL.revokeObjectURL(P.url),A.filter(E=>E.id!==v)})},[]),g=$e(()=>{p(v=>{for(let A of v)A.url&&URL.revokeObjectURL(A.url);return[]})},[]);$r(()=>()=>{for(let v of m.current)v.url&&URL.revokeObjectURL(v.url)},[]);let h=$e(v=>{v.currentTarget.files&&I(v.currentTarget.files),v.currentTarget.value=""},[I]);$r(()=>{if(!r)return;let v=P=>{P.dataTransfer?.types?.includes("Files")&&P.preventDefault()},A=P=>{P.dataTransfer?.types?.includes("Files")&&P.preventDefault(),P.dataTransfer?.files&&P.dataTransfer.files.length>0&&I(P.dataTransfer.files)};return document.addEventListener("dragover",v),document.addEventListener("drop",A),()=>{document.removeEventListener("dragover",v),document.removeEventListener("drop",A)}},[I,r]);let w=$e(async v=>{v.preventDefault();let A=v.currentTarget,E=new FormData(A).get("message")||"";A.reset();let k=await Promise.all(f.map(async({id:B,...y})=>{if(y.url?.startsWith("blob:")){let X=await Rd(y.url);return{...y,url:X??y.url}}return y}));try{let B=s({files:k,text:E},v);B instanceof Promise&&await B,g()}catch{}},[f,s,g]),S=Ad(()=>({add:I,clear:g,files:f,openFileDialog:L,remove:x}),[f,I,x,g,L]);return rs(ts.Provider,{value:S,children:[Oe("input",{accept:t,"aria-label":u.promptInput.uploadFiles,className:"ww:hidden",multiple:a,onChange:h,ref:c,title:u.promptInput.uploadFiles,type:"file"}),Oe("form",{className:T("ww:flex ww:w-full ww:flex-col ww:rounded-lg ww:border ww:border-border ww:bg-background",e),onSubmit:w,ref:d,...l,children:i})]})};var Pa=({onChange:e,onKeyDown:t,className:a,placeholder:r,...o})=>{let{t:n}=G(),s=as(),[i,l]=es(!1),u=r??n.promptInput.placeholder,c=$e(f=>{if(t?.(f),!f.defaultPrevented){if(f.key==="Enter"){if(i||f.nativeEvent.isComposing||f.shiftKey)return;f.preventDefault();let{form:p}=f.currentTarget;if(p?.querySelector('button[type="submit"]')?.disabled)return;p?.requestSubmit()}if(f.key==="Backspace"&&f.currentTarget.value===""&&s.files.length>0){f.preventDefault();let p=s.files.at(-1);p&&s.remove(p.id)}}},[t,i,s]),d=$e(f=>{let p=f.clipboardData?.items;if(!p)return;let m=[];for(let L of p)if(L.kind==="file"){let I=L.getAsFile();I&&m.push(I)}m.length>0&&(f.preventDefault(),s.add(m))},[s]);return Oe("textarea",{className:T("ww:field-sizing-content ww:max-h-48 ww:min-h-0 ww:w-full ww:resize-none ww:border-0 ww:bg-transparent ww:px-3 ww:py-2 ww:text-base ww:sm:text-sm ww:outline-none ww:placeholder:text-muted-foreground",a),name:"message",onCompositionEnd:()=>l(!1),onCompositionStart:()=>l(!0),onKeyDown:c,onPaste:d,placeholder:u,onChange:e,...o})},Aa=({className:e,status:t,onStop:a,onClick:r,children:o,...n})=>{let{t:s}=G(),i=t==="submitted"||t==="streaming",l=Oe(Ot,{className:"ww:size-4"});t==="submitted"?l=Oe(Gt,{className:"ww:size-4 ww:animate-spin"}):t==="streaming"&&(l=Oe(zt,{className:"ww:size-4"}));let u=$e(c=>{if(i&&a){c.preventDefault(),a();return}r?.(c)},[i,a,r]);return Oe(De,{"aria-label":i?s.promptInput.stop:s.promptInput.submit,className:T("ww:bg-foreground ww:text-background ww:hover:bg-foreground ww:rounded-full",e),onClick:u,size:"icon-sm",type:i&&a?"button":"submit",variant:"ghost",...n,children:o??l})},Ra=({className:e,children:t,...a})=>{let{t:r}=G(),o=as();return o.files.length>0?rs(De,{className:T("ww:group ww:relative",e),onClick:()=>o.clear(),size:"icon-sm",type:"button",variant:"ghost","aria-label":r.promptInput.removeAttachments,...a,children:[Oe("span",{className:"ww:flex ww:size-5 ww:items-center ww:justify-center ww:rounded-full ww:bg-primary ww:text-[10px] ww:font-medium ww:text-primary-foreground ww:transition-opacity ww:group-hover:opacity-0",children:o.files.length}),Oe(dt,{className:"ww:absolute ww:size-4 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100"})]}):Oe(De,{className:T(e),onClick:()=>o.openFileDialog(),size:"icon-sm",type:"button",variant:"ghost",...a,children:t??Oe(Vt,{className:"ww:size-4"})})};import{memo as Md,useCallback as Fd}from"react";import{jsx as Pt}from"react/jsx-runtime";var os=({className:e,...t})=>Pt("div",{className:T("ww:flex ww:flex-col ww:gap-1 ww:px-3 ww:py-2",e),...t}),ns=({className:e,...t})=>Pt("li",{className:T("ww:group ww:flex ww:items-center ww:gap-2 ww:rounded-md ww:px-2 ww:py-1 ww:text-sm ww:transition-colors ww:hover:bg-muted",e),...t}),ss=({className:e,...t})=>Pt("span",{className:T("ww:inline-block ww:size-2 ww:shrink-0 ww:rounded-full ww:border ww:border-muted-foreground/50",e),...t}),is=({className:e,...t})=>Pt("span",{className:T("ww:line-clamp-1 ww:grow ww:break-words ww:text-muted-foreground",e),...t}),ls=({className:e,...t})=>Pt("div",{className:T("ww:flex ww:shrink-0 ww:gap-1 ww:opacity-0 ww:transition-opacity ww:group-hover:opacity-100",e),...t}),us=({className:e,...t})=>Pt(De,{className:T("ww:size-auto ww:rounded ww:p-1 ww:text-muted-foreground ww:hover:bg-muted-foreground/10 ww:hover:text-foreground",e),size:"icon",type:"button",variant:"ghost",...t});import{jsx as Ze,jsxs as cs}from"react/jsx-runtime";var ds=Md(({message:e,onRemove:t})=>{let{t:a}=G(),r=Fd(()=>t(e.id),[t,e.id]);return cs(ns,{children:[Ze(ss,{}),Ze(is,{children:e.text||a.chatQueue.attachmentFallback}),Ze(ls,{children:Ze(us,{"aria-label":a.chatQueue.removeFromQueue,onClick:r,children:Ze(dt,{className:"ww:size-3"})})})]})});ds.displayName="ChatQueueItem";function Ma({queuedMessages:e,onRemove:t,className:a}){let{t:r}=G();return e.length===0?null:cs(os,{className:T("ww:border-t ww:border-border",a),children:[Ze("div",{className:"ww:text-[11px] ww:font-medium ww:text-muted-foreground ww:px-2",children:r.chatQueue.queued(e.length)}),Ze("ul",{children:e.map(o=>Ze(ds,{message:o,onRemove:t},o.id))})]})}import{useState as fs}from"react";import{jsx as Bd}from"react/jsx-runtime";function ps({messages:e,evalEnabled:t,api:a="/api/waniwani"}){let{t:r}=G(),[o,n]=fs(!1),[s,i]=fs(null),l=async()=>{let c={name:`session-${new Date().toISOString().slice(0,19)}`,type:"functional",messages:e,mode:"manual"};n(!0),i(null);try{let d=await fetch(`${a}/scenarios`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)});if(!d.ok)throw new Error(`${d.status}`);i("saved")}catch{i("error")}finally{n(!1),setTimeout(()=>i(null),2e3)}};if(!t||e.length===0)return null;let u=o?r.exportSession.saving:s==="saved"?r.exportSession.saved:s==="error"?r.exportSession.error:r.exportSession.export;return Bd("button",{type:"button",onClick:l,disabled:o,title:r.exportSession.tooltip,className:"ww:ml-auto ww:text-[10px] ww:font-mono ww:uppercase ww:tracking-wider ww:text-muted-foreground hover:ww:text-foreground ww:cursor-pointer ww:transition-colors ww:disabled:opacity-40",children:u})}import{jsx as Kt,jsxs as Dd}from"react/jsx-runtime";var ms=({files:e,className:t,...a})=>e.length===0?null:Kt("div",{className:T("ww:flex ww:flex-wrap ww:gap-1.5",t),...a,children:e.map((r,o)=>Kt(Ed,{file:r},o))});function Ed({file:e}){let{t}=G();return e.mediaType?.startsWith("image/")&&e.url?Kt("img",{src:e.url,alt:e.filename??t.attachments.attachmentFallback,className:"ww:h-16 ww:max-w-32 ww:rounded ww:object-cover"}):Dd("span",{className:"ww:inline-flex ww:items-center ww:gap-1.5 ww:rounded ww:bg-background/20 ww:px-2 ww:py-1 ww:text-xs",children:[Kt(qt,{className:"ww:size-3 ww:shrink-0"}),Kt("span",{className:"ww:max-w-24 ww:truncate",children:e.filename??t.attachments.fileFallback})]})}import{createContext as $d,useCallback as Xd,useContext as Kd,useEffect as Qd,useMemo as Jd,useState as Yr}from"react";import{createContext as Ud,memo as Jr,useCallback as Hd,useContext as qd,useEffect as Kr,useMemo as Wd,useRef as hs,useState as Qr}from"react";import{memo as _d}from"react";import{jsx as Nd}from"react/jsx-runtime";var Od=({as:e="span",className:t,duration:a=2,style:r,children:o,...n})=>{let s={backgroundImage:"linear-gradient(90deg, var(--ww-color-muted-foreground) 0%, var(--ww-color-muted-foreground) 40%, var(--ww-color-foreground) 50%, var(--ww-color-muted-foreground) 60%, var(--ww-color-muted-foreground) 100%)",backgroundSize:"250% 100%",WebkitBackgroundClip:"text",backgroundClip:"text",color:"transparent",animation:`ww-shimmer ${a}s linear infinite`,...r};return Nd(e,{"data-waniwani-shimmer":"",className:T("ww:inline-block",t),style:s,...n,children:o})},Ne=_d(Od);Ne.displayName="Shimmer";import{Fragment as zd,jsx as Ue,jsxs as jd}from"react/jsx-runtime";var gs=Ud(null);function ws(){let e=qd(gs);if(!e)throw new Error("Reasoning components must be used within <Reasoning>");return e}var Gd=1e3,Vd=1e3,Qt=Jr(({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]=Qr(l),p=c?a:d,m=Hd(A=>{c||f(A),o?.(A)},[c,o]),[L,I]=Qr(void 0),x=n??L,g=hs(t),[h,w]=Qr(!1),S=hs(null);Kr(()=>{t?(g.current=!0,S.current===null&&(S.current=Date.now())):S.current!==null&&(I(Math.ceil((Date.now()-S.current)/Vd)),S.current=null)},[t]),Kr(()=>{t&&!p&&!u&&m(!0)},[t,p,u,m]),Kr(()=>{if(g.current&&!t&&p&&!h){let A=setTimeout(()=>{m(!1),w(!0)},Gd);return()=>clearTimeout(A)}},[t,p,h,m]);let v=Wd(()=>({isStreaming:t,isOpen:p,setIsOpen:m,duration:x}),[t,p,m,x]);return Ue(gs.Provider,{value:v,children:Ue("div",{className:T("ww:mb-4 ww:flex ww:flex-col ww:gap-2",e),"data-state":p?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...i,children:s})})});Qt.displayName="Reasoning";var Jt=Jr(({className:e,children:t,getThinkingMessage:a,hideIcon:r=!1,onClick:o,...n})=>{let{t:s}=G(),{isStreaming:i,isOpen:l,duration:u,setIsOpen:c}=ws(),f=a??((p,m)=>p||m===0?Ue(Ne,{duration:1.6,children:s.reasoning.thinking}):m===void 0?Ue("span",{children:s.reasoning.thoughtBrief}):Ue("span",{children:s.reasoning.thoughtForSeconds(m)}));return Ue("button",{type:"button","aria-expanded":l,onClick:p=>{c(!l),o?.(p)},className:T("ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),...n,children:t??jd(zd,{children:[!r&&Ue(je,{className:"ww:size-4 ww:shrink-0"}),f(i,u)]})})});Jt.displayName="ReasoningTrigger";var Yt=Jr(({className:e,children:t,...a})=>{let{isOpen:r}=ws();return Ue("div",{className:T("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",r?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:Ue("div",{className:"ww:min-h-0 ww:overflow-hidden",children:Ue("div",{className:T("ww:text-sm ww:text-muted-foreground",e),...a,children:Ue(_t,{children:t})})})})});Yt.displayName="ReasoningContent";import{jsx as Y,jsxs as et}from"react/jsx-runtime";var Yd=500,xs=$d(null);function Is(){let e=Kd(xs);if(!e)throw new Error("ChainOfThought components must be used within <ChainOfThought>");return e}function Ls({className:e,isWorking:t=!1,activeStep:a,open:r,defaultOpen:o=!1,onOpenChange:n,children:s,...i}){let l=r!==void 0,[u,c]=Yr(o),d=l?r:u,f=Xd(I=>{l||c(I),n?.(I)},[l,n]),[p,m]=Yr(!t);Qd(()=>{if(t){m(!1);return}let I=setTimeout(()=>m(!0),Yd);return()=>clearTimeout(I)},[t]);let L=Jd(()=>({open:d,setOpen:f,isWorking:t,settled:p,activeStep:a}),[d,f,t,p,a]);return Y(xs.Provider,{value:L,children:Y("div",{className:T("ww:mb-4 ww:flex ww:flex-col ww:gap-2",e),"data-state":d?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...i,children:s})})}function Cs({className:e,label:t,workingLabel:a,children:r,...o}){let{open:n,setOpen:s,isWorking:i,settled:l,activeStep:u}=Is();if(!l){let c=u?.icon,d=u?.label??a??t??"";return Y("div",{className:T("ww:flex ww:min-h-5 ww:w-full ww:items-center ww:gap-1.5 ww:text-sm ww:text-muted-foreground",e),children:et("span",{className:"ww:flex ww:min-w-0 ww:items-center ww:gap-1.5",style:{animation:"ww-fade-in 0.25s ease-out"},children:[c&&Y(c,{className:T("ww:size-4 ww:shrink-0",i&&"ww:animate-pulse")}),Y("span",{className:"ww:truncate",children:i?Y(Ne,{duration:2.6,children:d}):d})]},d)})}return et("button",{type:"button",onClick:()=>s(!n),"aria-expanded":n,className:T("ww:flex ww:min-h-5 ww:w-full ww:items-center ww:gap-1.5 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),style:{animation:"ww-fade-in 0.25s ease-out"},...o,children:[Y("span",{className:"ww:truncate",children:r??t}),Y(Je,{className:T("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",n&&"ww:rotate-180")})]})}function Ss({className:e,children:t,...a}){let{open:r}=Is();return Y("div",{className:T("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",r?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:Y("div",{className:"ww:min-h-0 ww:overflow-hidden",children:Y("div",{className:T("ww:flex ww:flex-col",e),...a,children:t})})})}function ys({icon:e,isLast:t,running:a,error:r}){return et("div",{className:"ww:flex ww:flex-col ww:items-center ww:self-stretch",children:[Y("span",{className:"ww:flex ww:h-5 ww:items-center",children:Y(e,{className:T("ww:size-4 ww:shrink-0",r?"ww:text-destructive":a?"ww:animate-pulse ww:text-foreground":"ww:text-muted-foreground")})}),!t&&Y("span",{className:"ww:w-px ww:flex-1 ww:bg-border"})]})}function Zr({className:e,icon:t,title:a,state:r,isLast:o=!1,children:n,...s}){let i=r==="input-available"||r==="input-streaming",l=r==="output-error",u=n!=null,[c,d]=Yr(!1),f=a??"",p=i?Y(Ne,{duration:1.6,children:f}):Y("span",{className:"ww:truncate",children:f});return et("div",{className:T("ww:flex ww:gap-2",e),...s,children:[Y(ys,{icon:t,isLast:o,running:i,error:l}),et("div",{className:T("ww:min-w-0 ww:flex-1",!o&&"ww:pb-3"),children:[u?et("button",{type:"button",onClick:()=>d(m=>!m),"aria-expanded":c,className:"ww:flex ww:w-full ww:items-center ww:gap-1.5 ww:text-left ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",children:[p,Y(Je,{className:T("ww:size-3.5 ww:shrink-0 ww:transition-transform ww:duration-200",c&&"ww:rotate-180")})]}):Y("div",{className:"ww:flex ww:items-center ww:text-sm ww:text-muted-foreground",children:p}),u&&Y("div",{className:T("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",c?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:Y("div",{className:"ww:min-h-0 ww:overflow-hidden",children:Y("div",{className:"ww:mt-2 ww:space-y-3 ww:rounded-lg ww:border ww:border-border ww:bg-background ww:p-3",children:n})})})]})]})}function bs({isStreaming:e=!1,isLast:t=!1,children:a}){return et("div",{className:"ww:flex ww:gap-2",children:[Y(ys,{icon:je,isLast:t,running:e}),Y("div",{className:T("ww:min-w-0 ww:flex-1",!t&&"ww:pb-3"),children:et(Qt,{isStreaming:e,className:"ww:mb-0",children:[Y(Jt,{hideIcon:!0}),Y(Yt,{children:a})]})})]})}var Ie={carriageReturn:-5,lineFeed:-4,carriageReturnLineFeed:-3,horizontalTab:-2,virtualSpace:-1,eof:null,nul:0,soh:1,stx:2,etx:3,eot:4,enq:5,ack:6,bel:7,bs:8,ht:9,lf:10,vt:11,ff:12,cr:13,so:14,si:15,dle:16,dc1:17,dc2:18,dc3:19,dc4:20,nak:21,syn:22,etb:23,can:24,em:25,sub:26,esc:27,fs:28,gs:29,rs:30,us:31,space:32,exclamationMark:33,quotationMark:34,numberSign:35,dollarSign:36,percentSign:37,ampersand:38,apostrophe:39,leftParenthesis:40,rightParenthesis:41,asterisk:42,plusSign:43,comma:44,dash:45,dot:46,slash:47,digit0:48,digit1:49,digit2:50,digit3:51,digit4:52,digit5:53,digit6:54,digit7:55,digit8:56,digit9:57,colon:58,semicolon:59,lessThan:60,equalsTo:61,greaterThan:62,questionMark:63,atSign:64,uppercaseA:65,uppercaseB:66,uppercaseC:67,uppercaseD:68,uppercaseE:69,uppercaseF:70,uppercaseG:71,uppercaseH:72,uppercaseI:73,uppercaseJ:74,uppercaseK:75,uppercaseL:76,uppercaseM:77,uppercaseN:78,uppercaseO:79,uppercaseP:80,uppercaseQ:81,uppercaseR:82,uppercaseS:83,uppercaseT:84,uppercaseU:85,uppercaseV:86,uppercaseW:87,uppercaseX:88,uppercaseY:89,uppercaseZ:90,leftSquareBracket:91,backslash:92,rightSquareBracket:93,caret:94,underscore:95,graveAccent:96,lowercaseA:97,lowercaseB:98,lowercaseC:99,lowercaseD:100,lowercaseE:101,lowercaseF:102,lowercaseG:103,lowercaseH:104,lowercaseI:105,lowercaseJ:106,lowercaseK:107,lowercaseL:108,lowercaseM:109,lowercaseN:110,lowercaseO:111,lowercaseP:112,lowercaseQ:113,lowercaseR:114,lowercaseS:115,lowercaseT:116,lowercaseU:117,lowercaseV:118,lowercaseW:119,lowercaseX:120,lowercaseY:121,lowercaseZ:122,leftCurlyBrace:123,verticalBar:124,rightCurlyBrace:125,tilde:126,del:127,byteOrderMarker:65279,replacementCharacter:65533};var qe={attentionSideAfter:2,attentionSideBefore:1,atxHeadingOpeningFenceSizeMax:6,autolinkDomainSizeMax:63,autolinkSchemeSizeMax:32,cdataOpeningString:"CDATA[",characterGroupPunctuation:2,characterGroupWhitespace:1,characterReferenceDecimalSizeMax:7,characterReferenceHexadecimalSizeMax:6,characterReferenceNamedSizeMax:31,codeFencedSequenceSizeMin:3,contentTypeContent:"content",contentTypeDocument:"document",contentTypeFlow:"flow",contentTypeString:"string",contentTypeText:"text",hardBreakPrefixSizeMin:2,htmlBasic:6,htmlCdata:5,htmlComment:2,htmlComplete:7,htmlDeclaration:4,htmlInstruction:3,htmlRawSizeMax:8,htmlRaw:1,linkResourceDestinationBalanceMax:32,linkReferenceSizeMax:999,listItemValueSizeMax:10,numericBaseDecimal:10,numericBaseHexadecimal:16,tabSize:4,thematicBreakMarkerCountMin:3,v8MaxSafeChunkSize:1e4};var Me={data:"data",whitespace:"whitespace",lineEnding:"lineEnding",lineEndingBlank:"lineEndingBlank",linePrefix:"linePrefix",lineSuffix:"lineSuffix",atxHeading:"atxHeading",atxHeadingSequence:"atxHeadingSequence",atxHeadingText:"atxHeadingText",autolink:"autolink",autolinkEmail:"autolinkEmail",autolinkMarker:"autolinkMarker",autolinkProtocol:"autolinkProtocol",characterEscape:"characterEscape",characterEscapeValue:"characterEscapeValue",characterReference:"characterReference",characterReferenceMarker:"characterReferenceMarker",characterReferenceMarkerNumeric:"characterReferenceMarkerNumeric",characterReferenceMarkerHexadecimal:"characterReferenceMarkerHexadecimal",characterReferenceValue:"characterReferenceValue",codeFenced:"codeFenced",codeFencedFence:"codeFencedFence",codeFencedFenceSequence:"codeFencedFenceSequence",codeFencedFenceInfo:"codeFencedFenceInfo",codeFencedFenceMeta:"codeFencedFenceMeta",codeFlowValue:"codeFlowValue",codeIndented:"codeIndented",codeText:"codeText",codeTextData:"codeTextData",codeTextPadding:"codeTextPadding",codeTextSequence:"codeTextSequence",content:"content",definition:"definition",definitionDestination:"definitionDestination",definitionDestinationLiteral:"definitionDestinationLiteral",definitionDestinationLiteralMarker:"definitionDestinationLiteralMarker",definitionDestinationRaw:"definitionDestinationRaw",definitionDestinationString:"definitionDestinationString",definitionLabel:"definitionLabel",definitionLabelMarker:"definitionLabelMarker",definitionLabelString:"definitionLabelString",definitionMarker:"definitionMarker",definitionTitle:"definitionTitle",definitionTitleMarker:"definitionTitleMarker",definitionTitleString:"definitionTitleString",emphasis:"emphasis",emphasisSequence:"emphasisSequence",emphasisText:"emphasisText",escapeMarker:"escapeMarker",hardBreakEscape:"hardBreakEscape",hardBreakTrailing:"hardBreakTrailing",htmlFlow:"htmlFlow",htmlFlowData:"htmlFlowData",htmlText:"htmlText",htmlTextData:"htmlTextData",image:"image",label:"label",labelText:"labelText",labelLink:"labelLink",labelImage:"labelImage",labelMarker:"labelMarker",labelImageMarker:"labelImageMarker",labelEnd:"labelEnd",link:"link",paragraph:"paragraph",reference:"reference",referenceMarker:"referenceMarker",referenceString:"referenceString",resource:"resource",resourceDestination:"resourceDestination",resourceDestinationLiteral:"resourceDestinationLiteral",resourceDestinationLiteralMarker:"resourceDestinationLiteralMarker",resourceDestinationRaw:"resourceDestinationRaw",resourceDestinationString:"resourceDestinationString",resourceMarker:"resourceMarker",resourceTitle:"resourceTitle",resourceTitleMarker:"resourceTitleMarker",resourceTitleString:"resourceTitleString",setextHeading:"setextHeading",setextHeadingText:"setextHeadingText",setextHeadingLine:"setextHeadingLine",setextHeadingLineSequence:"setextHeadingLineSequence",strong:"strong",strongSequence:"strongSequence",strongText:"strongText",thematicBreak:"thematicBreak",thematicBreakSequence:"thematicBreakSequence",blockQuote:"blockQuote",blockQuotePrefix:"blockQuotePrefix",blockQuoteMarker:"blockQuoteMarker",blockQuotePrefixWhitespace:"blockQuotePrefixWhitespace",listOrdered:"listOrdered",listUnordered:"listUnordered",listItemIndent:"listItemIndent",listItemMarker:"listItemMarker",listItemPrefix:"listItemPrefix",listItemPrefixWhitespace:"listItemPrefixWhitespace",listItemValue:"listItemValue",chunkDocument:"chunkDocument",chunkContent:"chunkContent",chunkFlow:"chunkFlow",chunkText:"chunkText",chunkString:"chunkString"};function ks(e){return e===161||e===164||e===167||e===168||e===170||e===173||e===174||e>=176&&e<=180||e>=182&&e<=186||e>=188&&e<=191||e===198||e===208||e===215||e===216||e>=222&&e<=225||e===230||e>=232&&e<=234||e===236||e===237||e===240||e===242||e===243||e>=247&&e<=250||e===252||e===254||e===257||e===273||e===275||e===283||e===294||e===295||e===299||e>=305&&e<=307||e===312||e>=319&&e<=322||e===324||e>=328&&e<=331||e===333||e===338||e===339||e===358||e===359||e===363||e===462||e===464||e===466||e===468||e===470||e===472||e===474||e===476||e===593||e===609||e===708||e===711||e>=713&&e<=715||e===717||e===720||e>=728&&e<=731||e===733||e===735||e>=768&&e<=879||e>=913&&e<=929||e>=931&&e<=937||e>=945&&e<=961||e>=963&&e<=969||e===1025||e>=1040&&e<=1103||e===1105||e===8208||e>=8211&&e<=8214||e===8216||e===8217||e===8220||e===8221||e>=8224&&e<=8226||e>=8228&&e<=8231||e===8240||e===8242||e===8243||e===8245||e===8251||e===8254||e===8308||e===8319||e>=8321&&e<=8324||e===8364||e===8451||e===8453||e===8457||e===8467||e===8470||e===8481||e===8482||e===8486||e===8491||e===8531||e===8532||e>=8539&&e<=8542||e>=8544&&e<=8555||e>=8560&&e<=8569||e===8585||e>=8592&&e<=8601||e===8632||e===8633||e===8658||e===8660||e===8679||e===8704||e===8706||e===8707||e===8711||e===8712||e===8715||e===8719||e===8721||e===8725||e===8730||e>=8733&&e<=8736||e===8739||e===8741||e>=8743&&e<=8748||e===8750||e>=8756&&e<=8759||e===8764||e===8765||e===8776||e===8780||e===8786||e===8800||e===8801||e>=8804&&e<=8807||e===8810||e===8811||e===8814||e===8815||e===8834||e===8835||e===8838||e===8839||e===8853||e===8857||e===8869||e===8895||e===8978||e>=9312&&e<=9449||e>=9451&&e<=9547||e>=9552&&e<=9587||e>=9600&&e<=9615||e>=9618&&e<=9621||e===9632||e===9633||e>=9635&&e<=9641||e===9650||e===9651||e===9654||e===9655||e===9660||e===9661||e===9664||e===9665||e>=9670&&e<=9672||e===9675||e>=9678&&e<=9681||e>=9698&&e<=9701||e===9711||e===9733||e===9734||e===9737||e===9742||e===9743||e===9756||e===9758||e===9792||e===9794||e===9824||e===9825||e>=9827&&e<=9829||e>=9831&&e<=9834||e===9836||e===9837||e===9839||e===9886||e===9887||e===9919||e>=9926&&e<=9933||e>=9935&&e<=9939||e>=9941&&e<=9953||e===9955||e===9960||e===9961||e>=9963&&e<=9969||e===9972||e>=9974&&e<=9977||e===9979||e===9980||e===9982||e===9983||e===10045||e>=10102&&e<=10111||e>=11094&&e<=11097||e>=12872&&e<=12879||e>=57344&&e<=63743||e>=65024&&e<=65039||e===65533||e>=127232&&e<=127242||e>=127248&&e<=127277||e>=127280&&e<=127337||e>=127344&&e<=127373||e===127375||e===127376||e>=127387&&e<=127404||e>=917760&&e<=917999||e>=983040&&e<=1048573||e>=1048576&&e<=1114109}function Ts(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function vs(e){return e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9776&&e<=9783||e>=9800&&e<=9811||e===9855||e>=9866&&e<=9871||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12773||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e>=94192&&e<=94198||e>=94208&&e<=101589||e>=101631&&e<=101662||e>=101760&&e<=101874||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e>=119552&&e<=119638||e>=119648&&e<=119670||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128728||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129674||e>=129678&&e<=129734||e===129736||e>=129741&&e<=129756||e>=129759&&e<=129770||e>=129775&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141}function Ps(e){return ks(e)?"ambiguous":Ts(e)?"fullwidth":e===8361||e>=65377&&e<=65470||e>=65474&&e<=65479||e>=65482&&e<=65487||e>=65490&&e<=65495||e>=65498&&e<=65500||e>=65512&&e<=65518?"halfwidth":e>=32&&e<=126||e===162||e===163||e===165||e===166||e===172||e===175||e>=10214&&e<=10221||e===10629||e===10630?"narrow":vs(e)?"wide":"neutral"}function Zd(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function As(e){return Zd(e),Ps(e)}var ec=Object.defineProperty,tc=(e,t,a)=>t in e?ec(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,ac=(e,t,a)=>tc(e,typeof t!="symbol"?t+"":t,a);function rc(e){return/^\p{Emoji_Presentation}/u.test(String.fromCodePoint(e))}function oc(e){if(!e||e<4352)return!1;switch(As(e)){case"fullwidth":case"halfwidth":return!0;case"wide":return!rc(e);case"narrow":return!1;case"ambiguous":return 917760<=e&&e<=917999?null:!1;case"neutral":return/^\p{sc=Hangul}/u.test(String.fromCodePoint(e))}}function nc(e,t){return t!==65025||!e||e<8216?!1:e===8216||e===8217||e===8220||e===8221}function sc(e){return e!==null&&e>=65024&&e<=65038}var ic=Rs(/\p{P}|\p{S}/u),lc=Rs(/\s/);function Rs(e){return t;function t(a){return a!==null&&a>-1&&e.test(String.fromCodePoint(a))}}var Fe;(e=>{e.spaceOrPunctuation=3,e.cjk=4096,e.cjkPunctuation=4098,e.ivs=8192,e.cjkOrIvs=12288,e.nonEmojiGeneralUseVS=16384,e.variationSelector=24576,e.ivsToCjkRightShift=1})(Fe||(Fe={}));function tt(e){if(e===Ie.eof||En(e)||lc(e))return qe.characterGroupWhitespace;let t=0;if(e>=4352){if(sc(e))return Fe.nonEmojiGeneralUseVS;switch(oc(e)){case null:return Fe.ivs;case!0:t|=Fe.cjk;break}}return ic(e)&&(t|=qe.characterGroupPunctuation),t}function Fa(e,t,a){if(!dc(e))return e;let r=t(),o=tt(r);return!r||pt(o)?e:nc(r,a)?Fe.cjkPunctuation:uc(o)}function uc(e){return e&~Fe.ivs}function pt(e){return!!(e&qe.characterGroupWhitespace)}function At(e){return(e&Fe.cjkPunctuation)===qe.characterGroupPunctuation}function Zt(e){return!!(e&Fe.cjk)}function Ms(e){return e===Fe.ivs}function Fs(e){return!!(e&Fe.cjkOrIvs)}function dc(e){return e===Fe.nonEmojiGeneralUseVS}function eo(e){return!!(e&Fe.spaceOrPunctuation)}function Ba(e){return!!(e&&e>=55296&&e<=56319)}function Ea(e){return!!(e&&e>=56320&&e<=57343)}function Da(e,t,a){if(t._bufferIndex<2)return e;let o=a({start:{...t,_bufferIndex:t._bufferIndex-2},end:t}).codePointAt(0);return o&&o>=65536?o:e}function cc(e,t,a){let r=e>=65536?2:1;if(t._bufferIndex<1+r)return null;let o=t._bufferIndex-r-2,n=a({start:{...t,_bufferIndex:o>=0?o:0},end:{...t,_bufferIndex:t._bufferIndex-r}}),s=n.charCodeAt(n.length-1);if(Number.isNaN(s))return null;if(n.length<2||s<56320||57343<s)return s;let i=n.codePointAt(0);return i&&i>=65536?i:s}var _a=class{constructor(e,t,a){this.previousCode=e,this.nowPoint=t,this.sliceSerialize=a,ac(this,"cachedValue")}value(){return this.cachedValue===void 0&&(this.cachedValue=cc(this.previousCode,this.nowPoint,this.sliceSerialize)),this.cachedValue}};function Oa(e,t,a){let r=a({start:t,end:{...t,_bufferIndex:t._bufferIndex+2}}).codePointAt(0);return r&&r>=65536?r:e}var to={name:"attention",resolveAll:fc,tokenize:pc};function fc(e,t){let a=-1,r,o,n,s,i,l,u,c;for(;++a<e.length;)if(e[a][0]==="enter"&&e[a][1].type==="attentionSequence"&&e[a][1]._close){for(r=a;r--;)if(e[r][0]==="exit"&&e[r][1].type==="attentionSequence"&&e[r][1]._open&&t.sliceSerialize(e[r][1]).charCodeAt(0)===t.sliceSerialize(e[a][1]).charCodeAt(0)){if((e[r][1]._close||e[a][1]._open)&&(e[a][1].end.offset-e[a][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[a][1].end.offset-e[a][1].start.offset)%3))continue;l=e[r][1].end.offset-e[r][1].start.offset>1&&e[a][1].end.offset-e[a][1].start.offset>1?2:1;let d={...e[r][1].end},f={...e[a][1].start};Bs(d,-l),Bs(f,l),s={type:l>1?Me.strongSequence:Me.emphasisSequence,start:d,end:{...e[r][1].end}},i={type:l>1?Me.strongSequence:Me.emphasisSequence,start:{...e[a][1].start},end:f},n={type:l>1?Me.strongText:Me.emphasisText,start:{...e[r][1].end},end:{...e[a][1].start}},o={type:l>1?Me.strong:Me.emphasis,start:{...s.start},end:{...i.end}},e[r][1].end={...s.start},e[a][1].start={...i.end},u=[],e[r][1].end.offset-e[r][1].start.offset&&(u=yt(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=yt(u,[["enter",o,t],["enter",s,t],["exit",s,t],["enter",n,t]]),t.parser.constructs.insideSpan.null,u=yt(u,Sa(t.parser.constructs.insideSpan.null,e.slice(r+1,a),t)),u=yt(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=yt(u,[["enter",e[a][1],t],["exit",e[a][1],t]])):c=0,St(e,r-1,a-r+3,u),a=r+u.length-c-2;break}}for(a=-1;++a<e.length;)e[a][1].type==="attentionSequence"&&(e[a][1].type="data");return e}function pc(e,t){let a=this.parser.constructs.attentionMarkers.null,{now:r,sliceSerialize:o,previous:n}=this,s=Ea(n)?Da(n,r(),o):n,i=tt(s),l=new _a(s,r(),o),u=Fa(i,l.value.bind(l),s),c;return d;function d(p){return p===Ie.asterisk||Ie.underscore,c=p,e.enter("attentionSequence"),f(p)}function f(p){if(p===c)return e.consume(p),f;let m=e.exit("attentionSequence"),L=Ba(p)?Oa(p,r(),o):p,I=tt(L);let x=At(u),g=x||pt(u),h=At(I),w=h||pt(I),S=Fs(u),v=!w||h&&(g||S)||a.includes(p),A=!g||x&&(w||Zt(I))||a.includes(s);return m._open=!!(c===Ie.asterisk?v:v&&(eo(u)||!A)),m._close=!!(c===Ie.asterisk?A:A&&(eo(I)||!v)),t(p)}}function Bs(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}function Es(){return{text:{[Ie.asterisk]:to,[Ie.underscore]:to},insideSpan:{null:[to]}}}function Ds(){let e=this.data();(e.micromarkExtensions||(e.micromarkExtensions=[])).push(Es())}function _s(e){let a=(e||{}).singleTilde,r={name:"strikethrough",tokenize:n,resolveAll:o};return a==null&&(a=!0),{text:{[Ie.tilde]:r},insideSpan:{null:[r]},attentionMarkers:{null:[Ie.tilde]}};function o(s,i){let l=-1;for(;++l<s.length;)if(s[l][0]==="enter"&&s[l][1].type==="strikethroughSequenceTemporary"&&s[l][1]._close){let u=l;for(;u--;)if(s[u][0]==="exit"&&s[u][1].type==="strikethroughSequenceTemporary"&&s[u][1]._open&&s[l][1].end.offset-s[l][1].start.offset===s[u][1].end.offset-s[u][1].start.offset){s[l][1].type="strikethroughSequence",s[u][1].type="strikethroughSequence";let c={type:"strikethrough",start:Object.assign({},s[u][1].start),end:Object.assign({},s[l][1].end)},d={type:"strikethroughText",start:Object.assign({},s[u][1].end),end:Object.assign({},s[l][1].start)},f=[["enter",c,i],["enter",s[u][1],i],["exit",s[u][1],i],["enter",d,i]],p=i.parser.constructs.insideSpan.null;p&&St(f,f.length,0,Sa(p,s.slice(u+1,l),i)),St(f,f.length,0,[["exit",d,i],["enter",s[l][1],i],["exit",s[l][1],i],["exit",c,i]]),St(s,u-1,l-u+3,f),l=u+f.length-2;break}}for(l=-1;++l<s.length;)s[l][1].type==="strikethroughSequenceTemporary"&&(s[l][1].type=Me.data);return s}function n(s,i,l){let{now:u,sliceSerialize:c,previous:d}=this,f=Ea(d)?Da(d,u(),c):d,p=tt(f),m=new _a(f,u(),c),L=Fa(p,m.value.bind(m),f),I=this.events,x=0;return g;function g(w){return Ie.tilde,f===Ie.tilde&&I[I.length-1][1].type!==Me.characterEscape?l(w):(s.enter("strikethroughSequenceTemporary"),h(w))}function h(w){let S=tt(f);if(w===Ie.tilde)return x>1?l(w):(s.consume(w),x++,h);if(x<2&&!a)return l(w);let v=s.exit("strikethroughSequenceTemporary"),A=Ba(w)?Oa(w,u(),c):w,P=tt(A),k=At(L)||pt(L),y=At(P)||pt(P),X=Zt(L)||Ms(S);return v._open=!y||P===qe.attentionSideAfter&&(k||X),v._close=!k||S===qe.attentionSideAfter&&(y||Zt(P)),i(w)}}}function Os(e){let t=this.data();(t.micromarkExtensions||(t.micromarkExtensions=[])).push(_s(e))}var mc=new Set(["\u3002","\uFF0E","\uFF0C","\u3001","\uFF1F","\uFF01","\uFF1A","\uFF1B","\uFF08","\uFF09","\u3010","\u3011","\u300C","\u300D","\u300E","\u300F","\u3008","\u3009","\u300A","\u300B"]),hc=/^(https?:\/\/|mailto:|www\.)/i,gc=e=>{if(e.children.length!==1)return!1;let t=e.children[0];return t.type==="text"&&t.value===e.url},wc=e=>{let t=0;for(let a of e){if(mc.has(a))return t;t+=a.length}return null},xc=(e,t)=>({...t,url:e,children:[{type:"text",value:e}]}),Ic=e=>({type:"text",value:e}),Lc=()=>e=>{vn(e,"link",(t,a,r)=>{if(!r||typeof a!="number"||!gc(t)||!hc.test(t.url))return;let o=wc(t.url);if(o===null||o===0)return;let n=t.url.slice(0,o),s=t.url.slice(o),i=xc(n,t),l=Ic(s);return r.children.splice(a,1,i,l),a+1})};function Cc(){let e=[Ds],t=[Lc,Os],a=[...e,...t];return{name:"cjk",type:"cjk",remarkPluginsBefore:e,remarkPluginsAfter:t,remarkPlugins:a}}var ao=Cc();var te=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Sc(e){return po(e)}function po(e){return Array.isArray(e)?yc(e):e instanceof RegExp?e:typeof e=="object"?bc(e):e}function yc(e){let t=[];for(let a=0,r=e.length;a<r;a++)t[a]=po(e[a]);return t}function bc(e){let t={};for(let a in e)t[a]=po(e[a]);return t}function js(e,...t){return t.forEach(a=>{for(let r in a)e[r]=a[r]}),e}function $s(e){let t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?$s(e.substring(0,e.length-1)):e.substr(~t+1)}var ro=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,Na=class{static hasCaptures(e){return e===null?!1:(ro.lastIndex=0,ro.test(e))}static replaceCaptures(e,t,a){return e.replace(ro,(r,o,n,s)=>{let i=a[parseInt(o||n,10)];if(i){let l=t.substring(i.start,i.end);for(;l[0]===".";)l=l.substring(1);switch(s){case"downcase":return l.toLowerCase();case"upcase":return l.toUpperCase();default:return l}}else return r})}};function Xs(e,t){return e<t?-1:e>t?1:0}function Ks(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let a=e.length,r=t.length;if(a===r){for(let o=0;o<a;o++){let n=Xs(e[o],t[o]);if(n!==0)return n}return 0}return a-r}function Ns(e){return!!(/^#[0-9a-f]{6}$/i.test(e)||/^#[0-9a-f]{8}$/i.test(e)||/^#[0-9a-f]{3}$/i.test(e)||/^#[0-9a-f]{4}$/i.test(e))}function Qs(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var Js=class{constructor(e){this.fn=e}cache=new Map;get(e){if(this.cache.has(e))return this.cache.get(e);let t=this.fn(e);return this.cache.set(e,t),t}},aa=class{constructor(e,t,a){this._colorMap=e,this._defaults=t,this._root=a}static createFromRawTheme(e,t){return this.createFromParsedTheme(vc(e),t)}static createFromParsedTheme(e,t){return Ac(e,t)}_cachedMatchRoot=new Js(e=>this._root.match(e));getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(e){if(e===null)return this._defaults;let t=e.scopeName,r=this._cachedMatchRoot.get(t).find(o=>kc(e.parent,o.parentScopes));return r?new Ys(r.fontStyle,r.foreground,r.background):null}},oo=class Ua{constructor(t,a){this.parent=t,this.scopeName=a}static push(t,a){for(let r of a)t=new Ua(t,r);return t}static from(...t){let a=null;for(let r=0;r<t.length;r++)a=new Ua(a,t[r]);return a}push(t){return new Ua(this,t)}getSegments(){let t=this,a=[];for(;t;)a.push(t.scopeName),t=t.parent;return a.reverse(),a}toString(){return this.getSegments().join(" ")}extends(t){return this===t?!0:this.parent===null?!1:this.parent.extends(t)}getExtensionIfDefined(t){let a=[],r=this;for(;r&&r!==t;)a.push(r.scopeName),r=r.parent;return r===t?a.reverse():void 0}};function kc(e,t){if(t.length===0)return!0;for(let a=0;a<t.length;a++){let r=t[a],o=!1;if(r===">"){if(a===t.length-1)return!1;r=t[++a],o=!0}for(;e&&!Tc(e.scopeName,r);){if(o)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function Tc(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var Ys=class{constructor(e,t,a){this.fontStyle=e,this.foregroundId=t,this.backgroundId=a}};function vc(e){if(!e)return[];if(!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,a=[],r=0;for(let o=0,n=t.length;o<n;o++){let s=t[o];if(!s.settings)continue;let i;if(typeof s.scope=="string"){let d=s.scope;d=d.replace(/^[,]+/,""),d=d.replace(/[,]+$/,""),i=d.split(",")}else Array.isArray(s.scope)?i=s.scope:i=[""];let l=-1;if(typeof s.settings.fontStyle=="string"){l=0;let d=s.settings.fontStyle.split(" ");for(let f=0,p=d.length;f<p;f++)switch(d[f]){case"italic":l=l|1;break;case"bold":l=l|2;break;case"underline":l=l|4;break;case"strikethrough":l=l|8;break}}let u=null;typeof s.settings.foreground=="string"&&Ns(s.settings.foreground)&&(u=s.settings.foreground);let c=null;typeof s.settings.background=="string"&&Ns(s.settings.background)&&(c=s.settings.background);for(let d=0,f=i.length;d<f;d++){let m=i[d].trim().split(" "),L=m[m.length-1],I=null;m.length>1&&(I=m.slice(0,m.length-1),I.reverse()),a[r++]=new Pc(L,I,o,l,u,c)}}return a}var Pc=class{constructor(e,t,a,r,o,n){this.scope=e,this.parentScopes=t,this.index=a,this.fontStyle=r,this.foreground=o,this.background=n}},Le=(e=>(e[e.NotSet=-1]="NotSet",e[e.None=0]="None",e[e.Italic=1]="Italic",e[e.Bold=2]="Bold",e[e.Underline=4]="Underline",e[e.Strikethrough=8]="Strikethrough",e))(Le||{});function Ac(e,t){e.sort((l,u)=>{let c=Xs(l.scope,u.scope);return c!==0||(c=Ks(l.parentScopes,u.parentScopes),c!==0)?c:l.index-u.index});let a=0,r="#000000",o="#ffffff";for(;e.length>=1&&e[0].scope==="";){let l=e.shift();l.fontStyle!==-1&&(a=l.fontStyle),l.foreground!==null&&(r=l.foreground),l.background!==null&&(o=l.background)}let n=new Rc(t),s=new Ys(a,n.getId(r),n.getId(o)),i=new Fc(new so(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 aa(n,s,i)}var Rc=class{_isFrozen;_lastColorId;_id2color;_color2id;constructor(e){if(this._lastColorId=0,this._id2color=[],this._color2id=Object.create(null),Array.isArray(e)){this._isFrozen=!0;for(let t=0,a=e.length;t<a;t++)this._color2id[e[t]]=t,this._id2color[t]=e[t]}else this._isFrozen=!1}getId(e){if(e===null)return 0;e=e.toUpperCase();let t=this._color2id[e];if(t)return t;if(this._isFrozen)throw new Error(`Missing color in color map - ${e}`);return t=++this._lastColorId,this._color2id[e]=t,this._id2color[t]=e,t}getColorMap(){return this._id2color.slice(0)}},Mc=Object.freeze([]),so=class Zs{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(t,a,r,o,n){this.scopeDepth=t,this.parentScopes=a||Mc,this.fontStyle=r,this.foreground=o,this.background=n}clone(){return new Zs(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background)}static cloneArr(t){let a=[];for(let r=0,o=t.length;r<o;r++)a[r]=t[r].clone();return a}acceptOverwrite(t,a,r,o){this.scopeDepth>t?console.log("how did this happen?"):this.scopeDepth=t,a!==-1&&(this.fontStyle=a),r!==0&&(this.foreground=r),o!==0&&(this.background=o)}},Fc=class io{constructor(t,a=[],r={}){this._mainRule=t,this._children=r,this._rulesWithParentScopes=a}_rulesWithParentScopes;static _cmpBySpecificity(t,a){if(t.scopeDepth!==a.scopeDepth)return a.scopeDepth-t.scopeDepth;let r=0,o=0;for(;t.parentScopes[r]===">"&&r++,a.parentScopes[o]===">"&&o++,!(r>=t.parentScopes.length||o>=a.parentScopes.length);){let n=a.parentScopes[o].length-t.parentScopes[r].length;if(n!==0)return n;r++,o++}return a.parentScopes.length-t.parentScopes.length}match(t){if(t!==""){let r=t.indexOf("."),o,n;if(r===-1?(o=t,n=""):(o=t.substring(0,r),n=t.substring(r+1)),this._children.hasOwnProperty(o))return this._children[o].match(n)}let a=this._rulesWithParentScopes.concat(this._mainRule);return a.sort(io._cmpBySpecificity),a}insert(t,a,r,o,n,s){if(a===""){this._doInsertHere(t,r,o,n,s);return}let i=a.indexOf("."),l,u;i===-1?(l=a,u=""):(l=a.substring(0,i),u=a.substring(i+1));let c;this._children.hasOwnProperty(l)?c=this._children[l]:(c=new io(this._mainRule.clone(),so.cloneArr(this._rulesWithParentScopes)),this._children[l]=c),c.insert(t+1,u,r,o,n,s)}_doInsertHere(t,a,r,o,n){if(a===null){this._mainRule.acceptOverwrite(t,r,o,n);return}for(let s=0,i=this._rulesWithParentScopes.length;s<i;s++){let l=this._rulesWithParentScopes[s];if(Ks(l.parentScopes,a)===0){l.acceptOverwrite(t,r,o,n);return}}r===-1&&(r=this._mainRule.fontStyle),o===0&&(o=this._mainRule.foreground),n===0&&(n=this._mainRule.background),this._rulesWithParentScopes.push(new so(t,a,r,o,n))}},ht=class _e{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){let a=_e.getLanguageId(t),r=_e.getTokenType(t),o=_e.getFontStyle(t),n=_e.getForeground(t),s=_e.getBackground(t);console.log({languageId:a,tokenType:r,fontStyle:o,foreground:n,background:s})}static getLanguageId(t){return(t&255)>>>0}static getTokenType(t){return(t&768)>>>8}static containsBalancedBrackets(t){return(t&1024)!==0}static getFontStyle(t){return(t&30720)>>>11}static getForeground(t){return(t&16744448)>>>15}static getBackground(t){return(t&4278190080)>>>24}static set(t,a,r,o,n,s,i){let l=_e.getLanguageId(t),u=_e.getTokenType(t),c=_e.containsBalancedBrackets(t)?1:0,d=_e.getFontStyle(t),f=_e.getForeground(t),p=_e.getBackground(t);return a!==0&&(l=a),r!==8&&(u=r),o!==null&&(c=o?1:0),n!==-1&&(d=n),s!==0&&(f=s),i!==0&&(p=i),(l<<0|u<<8|c<<10|d<<11|f<<15|p<<24)>>>0}};function qa(e,t){let a=[],r=Bc(e),o=r.next();for(;o!==null;){let l=0;if(o.length===2&&o.charAt(1)===":"){switch(o.charAt(0)){case"R":l=1;break;case"L":l=-1;break;default:console.log(`Unknown priority ${o} in scope selector`)}o=r.next()}let u=s();if(a.push({matcher:u,priority:l}),o!==",")break;o=r.next()}return a;function n(){if(o==="-"){o=r.next();let l=n();return u=>!!l&&!l(u)}if(o==="("){o=r.next();let l=i();return o===")"&&(o=r.next()),l}if(Us(o)){let l=[];do l.push(o),o=r.next();while(Us(o));return u=>t(l,u)}return null}function s(){let l=[],u=n();for(;u;)l.push(u),u=n();return c=>l.every(d=>d(c))}function i(){let l=[],u=s();for(;u&&(l.push(u),o==="|"||o===",");){do o=r.next();while(o==="|"||o===",");u=s()}return c=>l.some(d=>d(c))}}function Us(e){return!!e&&!!e.match(/[\w\.:]+/)}function Bc(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,a=t.exec(e);return{next:()=>{if(!a)return null;let r=a[0];return a=t.exec(e),r}}}function ei(e){typeof e.dispose=="function"&&e.dispose()}var ra=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},Ec=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},Dc=class{_references=[];_seenReferenceKeys=new Set;get references(){return this._references}visitedRule=new Set;add(e){let t=e.toKey();this._seenReferenceKeys.has(t)||(this._seenReferenceKeys.add(t),this._references.push(e))}},_c=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new ra(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new Dc;for(let a of e)Oc(a,this.initialScopeName,this.repo,t);for(let a of t.references)if(a instanceof ra){if(this.seenFullScopeRequests.has(a.scopeName))continue;this.seenFullScopeRequests.add(a.scopeName),this.Q.push(a)}else{if(this.seenFullScopeRequests.has(a.scopeName)||this.seenPartialScopeRequests.has(a.toKey()))continue;this.seenPartialScopeRequests.add(a.toKey()),this.Q.push(a)}}};function Oc(e,t,a,r){let o=a.lookup(e.scopeName);if(!o){if(e.scopeName===t)throw new Error(`No grammar provided for <${t}>`);return}let n=a.lookup(t);e instanceof ra?Ha({baseGrammar:n,selfGrammar:o},r):lo(e.ruleName,{baseGrammar:n,selfGrammar:o,repository:o.repository},r);let s=a.injections(e.scopeName);if(s)for(let i of s)r.add(new ra(i))}function lo(e,t,a){if(t.repository&&t.repository[e]){let r=t.repository[e];Wa([r],t,a)}}function Ha(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&Wa(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&Wa(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function Wa(e,t,a){for(let r of e){if(a.visitedRule.has(r))continue;a.visitedRule.add(r);let o=r.repository?js({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&Wa(r.patterns,{...t,repository:o},a);let n=r.include;if(!n)continue;let s=ti(n);switch(s.kind){case 0:Ha({...t,selfGrammar:t.baseGrammar},a);break;case 1:Ha(t,a);break;case 2:lo(s.ruleName,{...t,repository:o},a);break;case 3:case 4:let i=s.scopeName===t.selfGrammar.scopeName?t.selfGrammar:s.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(i){let l={baseGrammar:t.baseGrammar,selfGrammar:i,repository:o};s.kind===4?lo(s.ruleName,l,a):Ha(l,a)}else s.kind===4?a.add(new Ec(s.scopeName,s.ruleName)):a.add(new ra(s.scopeName));break}}}var Nc=class{kind=0},Uc=class{kind=1},Hc=class{constructor(e){this.ruleName=e}kind=2},qc=class{constructor(e){this.scopeName=e}kind=3},Wc=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function ti(e){if(e==="$base")return new Nc;if(e==="$self")return new Uc;let t=e.indexOf("#");if(t===-1)return new qc(e);if(t===0)return new Hc(e.substring(1));{let a=e.substring(0,t),r=e.substring(t+1);return new Wc(a,r)}}var Gc=/\\(\d+)/,Hs=/\\(\d+)/g;var Vc=-1,ai=-2;var sa=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,a,r){this.$location=e,this.id=t,this._name=a||null,this._nameIsCapturing=Na.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=Na.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${$s(this.$location.filename)}:${this.$location.line}`:"unknown";return`${this.constructor.name}#${this.id} @ ${e}`}getName(e,t){return!this._nameIsCapturing||this._name===null||e===null||t===null?this._name:Na.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:Na.replaceCaptures(this._contentName,e,t)}},zc=class extends sa{retokenizeCapturedWithRuleId;constructor(e,t,a,r,o){super(e,t,a,r),this.retokenizeCapturedWithRuleId=o}dispose(){}collectPatterns(e,t){throw new Error("Not supported!")}compile(e,t){throw new Error("Not supported!")}compileAG(e,t,a,r){throw new Error("Not supported!")}},jc=class extends sa{_match;captures;_cachedCompiledPatterns;constructor(e,t,a,r,o){super(e,t,a,null),this._match=new oa(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 na,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},qs=class extends sa{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 na,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},uo=class extends sa{_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 oa(o,this.id),this.beginCaptures=n,this._end=new oa(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 na;for(let a of this.patterns)e.getRule(a).collectPatterns(e,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,t):this._cachedCompiledPatterns.setSource(0,t)),this._cachedCompiledPatterns}},Ga=class extends sa{_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 oa(o,this.id),this.beginCaptures=n,this.whileCaptures=i,this._while=new oa(s,ai),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=l.patterns,this.hasMissingPatterns=l.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null),this._cachedCompiledWhilePatterns&&(this._cachedCompiledWhilePatterns.dispose(),this._cachedCompiledWhilePatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugWhileRegExp(){return`${this._while.source}`}getWhileWithResolvedBackReferences(e,t){return this._while.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,a,r){return this._getCachedCompiledPatterns(e).compileAG(e,a,r)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new na;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 na,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"\uFFFF"),this._cachedCompiledWhilePatterns}},ri=class ke{static createCaptureRule(t,a,r,o,n){return t.registerRule(s=>new zc(a,s,r,o,n))}static getCompiledRuleId(t,a,r){return t.id||a.registerRule(o=>{if(t.id=o,t.match)return new jc(t.$vscodeTextmateLocation,t.id,t.name,t.match,ke._compileCaptures(t.captures,a,r));if(typeof t.begin>"u"){t.repository&&(r=js({},r,t.repository));let n=t.patterns;return typeof n>"u"&&t.include&&(n=[{include:t.include}]),new qs(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,ke._compilePatterns(n,a,r))}return t.while?new Ga(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,ke._compileCaptures(t.beginCaptures||t.captures,a,r),t.while,ke._compileCaptures(t.whileCaptures||t.captures,a,r),ke._compilePatterns(t.patterns,a,r)):new uo(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,ke._compileCaptures(t.beginCaptures||t.captures,a,r),t.end,ke._compileCaptures(t.endCaptures||t.captures,a,r),t.applyEndPatternLast,ke._compilePatterns(t.patterns,a,r))}),t.id}static _compileCaptures(t,a,r){let o=[];if(t){let n=0;for(let s in t){if(s==="$vscodeTextmateLocation")continue;let i=parseInt(s,10);i>n&&(n=i)}for(let s=0;s<=n;s++)o[s]=null;for(let s in t){if(s==="$vscodeTextmateLocation")continue;let i=parseInt(s,10),l=0;t[s].patterns&&(l=ke.getCompiledRuleId(t[s],a,r)),o[i]=ke.createCaptureRule(a,t[s].$vscodeTextmateLocation,t[s].name,t[s].contentName,l)}}return o}static _compilePatterns(t,a,r){let o=[];if(t)for(let n=0,s=t.length;n<s;n++){let i=t[n],l=-1;if(i.include){let u=ti(i.include);switch(u.kind){case 0:case 1:l=ke.getCompiledRuleId(r[i.include],a,r);break;case 2:let c=r[u.ruleName];c&&(l=ke.getCompiledRuleId(c,a,r));break;case 3:case 4:let d=u.scopeName,f=u.kind===4?u.ruleName:null,p=a.getExternalGrammar(d,r);if(p)if(f){let m=p.repository[f];m&&(l=ke.getCompiledRuleId(m,a,p.repository))}else l=ke.getCompiledRuleId(p.repository.$self,a,p.repository);break}}else l=ke.getCompiledRuleId(i,a,r);if(l!==-1){let u=a.getRule(l),c=!1;if((u instanceof qs||u instanceof uo||u instanceof Ga)&&u.hasMissingPatterns&&u.patterns.length===0&&(c=!0),c)continue;o.push(l)}}return{patterns:o,hasMissingPatterns:(t?t.length:0)!==o.length}}},oa=class oi{source;ruleId;hasAnchor;hasBackReferences;_anchorCache;constructor(t,a){if(t&&typeof t=="string"){let r=t.length,o=0,n=[],s=!1;for(let i=0;i<r;i++)if(t.charAt(i)==="\\"&&i+1<r){let u=t.charAt(i+1);u==="z"?(n.push(t.substring(o,i)),n.push("$(?!\\n)(?<!\\n)"),o=i+2):(u==="A"||u==="G")&&(s=!0),i++}this.hasAnchor=s,o===0?this.source=t:(n.push(t.substring(o,r)),this.source=n.join(""))}else this.hasAnchor=!1,this.source=t;this.hasAnchor?this._anchorCache=this._buildAnchorCache():this._anchorCache=null,this.ruleId=a,typeof this.source=="string"?this.hasBackReferences=Gc.test(this.source):this.hasBackReferences=!1}clone(){return new oi(this.source,this.ruleId)}setSource(t){this.source!==t&&(this.source=t,this.hasAnchor&&(this._anchorCache=this._buildAnchorCache()))}resolveBackReferences(t,a){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let r=a.map(o=>t.substring(o.start,o.end));return Hs.lastIndex=0,this.source.replace(Hs,(o,n)=>Qs(r[parseInt(n,10)]||""))}_buildAnchorCache(){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let t=[],a=[],r=[],o=[],n,s,i,l;for(n=0,s=this.source.length;n<s;n++)i=this.source.charAt(n),t[n]=i,a[n]=i,r[n]=i,o[n]=i,i==="\\"&&n+1<s&&(l=this.source.charAt(n+1),l==="A"?(t[n+1]="\uFFFF",a[n+1]="\uFFFF",r[n+1]="A",o[n+1]="A"):l==="G"?(t[n+1]="\uFFFF",a[n+1]="G",r[n+1]="\uFFFF",o[n+1]="G"):(t[n+1]=l,a[n+1]=l,r[n+1]=l,o[n+1]=l),n++);return{A0_G0:t.join(""),A0_G1:a.join(""),A1_G0:r.join(""),A1_G1:o.join("")}}resolveAnchors(t,a){return!this.hasAnchor||!this._anchorCache||typeof this.source!="string"?this.source:t?a?this._anchorCache.A1_G1:this._anchorCache.A1_G0:a?this._anchorCache.A0_G1:this._anchorCache.A0_G0}},na=class{_items;_hasAnchors;_cached;_anchorCache;constructor(){this._items=[],this._hasAnchors=!1,this._cached=null,this._anchorCache={A0_G0:null,A0_G1:null,A1_G0:null,A1_G1:null}}dispose(){this._disposeCaches()}_disposeCaches(){this._cached&&(this._cached.dispose(),this._cached=null),this._anchorCache.A0_G0&&(this._anchorCache.A0_G0.dispose(),this._anchorCache.A0_G0=null),this._anchorCache.A0_G1&&(this._anchorCache.A0_G1.dispose(),this._anchorCache.A0_G1=null),this._anchorCache.A1_G0&&(this._anchorCache.A1_G0.dispose(),this._anchorCache.A1_G0=null),this._anchorCache.A1_G1&&(this._anchorCache.A1_G1.dispose(),this._anchorCache.A1_G1=null)}push(e){this._items.push(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}unshift(e){this._items.unshift(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}length(){return this._items.length}setSource(e,t){this._items[e].source!==t&&(this._disposeCaches(),this._items[e].setSource(t))}compile(e){if(!this._cached){let t=this._items.map(a=>a.source);this._cached=new Ws(e,t,this._items.map(a=>a.ruleId))}return this._cached}compileAG(e,t,a){return this._hasAnchors?t?a?(this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(e,t,a)),this._anchorCache.A1_G1):(this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(e,t,a)),this._anchorCache.A1_G0):a?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(e,t,a)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(e,t,a)),this._anchorCache.A0_G0):this.compile(e)}_resolveAnchors(e,t,a){let r=this._items.map(o=>o.resolveAnchors(t,a));return new Ws(e,r,this._items.map(o=>o.ruleId))}},Ws=class{constructor(e,t,a){this.regExps=t,this.rules=a,this.scanner=e.createOnigScanner(t)}scanner;dispose(){typeof this.scanner.dispose=="function"&&this.scanner.dispose()}toString(){let e=[];for(let t=0,a=this.rules.length;t<a;t++)e.push(" - "+this.rules[t]+": "+this.regExps[t]);return e.join(`
|
|
3
|
+
`)}findNextMatchSync(e,t,a){let r=this.scanner.findNextMatchSync(e,t,a);return r?{ruleId:this.rules[r.index],captureIndices:r.captureIndices}:null}},no=class{constructor(e,t){this.languageId=e,this.tokenType=t}},$c=class co{_defaultAttributes;_embeddedLanguagesMatcher;constructor(t,a){this._defaultAttributes=new no(t,8),this._embeddedLanguagesMatcher=new Xc(Object.entries(a||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?co._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new no(0,0);_getBasicScopeAttributes=new Js(t=>{let a=this._scopeToLanguage(t),r=this._toStandardTokenType(t);return new no(a,r)});_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){let a=t.match(co.STANDARD_TOKEN_TYPE_REGEXP);if(!a)return 8;switch(a[1]){case"comment":return 1;case"string":return 2;case"regex":return 3;case"meta.embedded":return 0}throw new Error("Unexpected match for standard token type!")}static STANDARD_TOKEN_TYPE_REGEXP=/\b(comment|string|regex|meta\.embedded)\b/},Xc=class{values;scopesRegExp;constructor(e){if(e.length===0)this.values=null,this.scopesRegExp=null;else{this.values=new Map(e);let t=e.map(([a,r])=>Qs(a));t.sort(),t.reverse(),this.scopesRegExp=new RegExp(`^((${t.join(")|(")}))($|\\.)`,"")}}match(e){if(!this.scopesRegExp)return;let t=e.match(this.scopesRegExp);if(t)return this.values.get(t[1])}},bL={InDebugMode:typeof process<"u"&&!!process.env.VSCODE_TEXTMATE_DEBUG},ni=!1,Gs=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function si(e,t,a,r,o,n,s,i){let l=t.content.length,u=!1,c=-1;if(s){let p=Kc(e,t,a,r,o,n);o=p.stack,r=p.linePos,a=p.isFirstLine,c=p.anchorPosition}let d=Date.now();for(;!u;){if(i!==0&&Date.now()-d>i)return new Gs(o,!0);f()}return new Gs(o,!1);function f(){let p=Qc(e,t,a,r,o,c);if(!p){n.produce(o,l),u=!0;return}let m=p.captureIndices,L=p.matchedRuleId,I=m&&m.length>0?m[0].end>r:!1;if(L===Vc){let x=o.getRule(e);n.produce(o,m[0].start),o=o.withContentNameScopesList(o.nameScopesList),ea(e,t,a,o,n,x.endCaptures,m),n.produce(o,m[0].end);let g=o;if(o=o.parent,c=g.getAnchorPos(),!I&&g.getEnterPos()===r){o=g,n.produce(o,l),u=!0;return}}else{let x=e.getRule(L);n.produce(o,m[0].start);let g=o,h=x.getName(t.content,m),w=o.contentNameScopesList.pushAttributed(h,e);if(o=o.push(L,r,c,m[0].end===l,null,w,w),x instanceof uo){let S=x;ea(e,t,a,o,n,S.beginCaptures,m),n.produce(o,m[0].end),c=m[0].end;let v=S.getContentName(t.content,m),A=w.pushAttributed(v,e);if(o=o.withContentNameScopesList(A),S.endHasBackReferences&&(o=o.withEndRule(S.getEndWithResolvedBackReferences(t.content,m))),!I&&g.hasSameRuleAs(o)){o=o.pop(),n.produce(o,l),u=!0;return}}else if(x instanceof Ga){let S=x;ea(e,t,a,o,n,S.beginCaptures,m),n.produce(o,m[0].end),c=m[0].end;let v=S.getContentName(t.content,m),A=w.pushAttributed(v,e);if(o=o.withContentNameScopesList(A),S.whileHasBackReferences&&(o=o.withEndRule(S.getWhileWithResolvedBackReferences(t.content,m))),!I&&g.hasSameRuleAs(o)){o=o.pop(),n.produce(o,l),u=!0;return}}else if(ea(e,t,a,o,n,x.captures,m),n.produce(o,m[0].end),o=o.pop(),!I){o=o.safePop(),n.produce(o,l),u=!0;return}}m[0].end>r&&(r=m[0].end,a=!1)}}function Kc(e,t,a,r,o,n){let s=o.beginRuleCapturedEOL?0:-1,i=[];for(let l=o;l;l=l.pop()){let u=l.getRule(e);u instanceof Ga&&i.push({rule:u,stack:l})}for(let l=i.pop();l;l=i.pop()){let{ruleScanner:u,findOptions:c}=Zc(l.rule,e,l.stack.endRule,a,r===s),d=u.findNextMatchSync(t,r,c);if(d){if(d.ruleId!==ai){o=l.stack.pop();break}d.captureIndices&&d.captureIndices.length&&(n.produce(l.stack,d.captureIndices[0].start),ea(e,t,a,l.stack,n,l.rule.whileCaptures,d.captureIndices),n.produce(l.stack,d.captureIndices[0].end),s=d.captureIndices[0].end,d.captureIndices[0].end>r&&(r=d.captureIndices[0].end,a=!1))}else{o=l.stack.pop();break}}return{stack:o,linePos:r,anchorPosition:s,isFirstLine:a}}function Qc(e,t,a,r,o,n){let s=Jc(e,t,a,r,o,n),i=e.getInjections();if(i.length===0)return s;let l=Yc(i,e,t,a,r,o,n);if(!l)return s;if(!s)return l;let u=s.captureIndices[0].start,c=l.captureIndices[0].start;return c<u||l.priorityMatch&&c===u?l:s}function Jc(e,t,a,r,o,n){let s=o.getRule(e),{ruleScanner:i,findOptions:l}=ii(s,e,o.endRule,a,r===n),u=i.findNextMatchSync(t,r,l);return u?{captureIndices:u.captureIndices,matchedRuleId:u.ruleId}:null}function Yc(e,t,a,r,o,n,s){let i=Number.MAX_VALUE,l=null,u,c=0,d=n.contentNameScopesList.getScopeNames();for(let f=0,p=e.length;f<p;f++){let m=e[f];if(!m.matcher(d))continue;let L=t.getRule(m.ruleId),{ruleScanner:I,findOptions:x}=ii(L,t,null,r,o===s),g=I.findNextMatchSync(a,o,x);if(!g)continue;let h=g.captureIndices[0].start;if(!(h>=i)&&(i=h,l=g.captureIndices,u=g.ruleId,c=m.priority,i===o))break}return l?{priorityMatch:c===-1,captureIndices:l,matchedRuleId:u}:null}function ii(e,t,a,r,o){if(ni){let s=e.compile(t,a),i=li(r,o);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileAG(t,a,r,o),findOptions:0}}function Zc(e,t,a,r,o){if(ni){let s=e.compileWhile(t,a),i=li(r,o);return{ruleScanner:s,findOptions:i}}return{ruleScanner:e.compileWhileAG(t,a,r,o),findOptions:0}}function li(e,t){let a=0;return e||(a|=1),t||(a|=4),a}function ea(e,t,a,r,o,n,s){if(n.length===0)return;let i=t.content,l=Math.min(n.length,s.length),u=[],c=s[0].end;for(let d=0;d<l;d++){let f=n[d];if(f===null)continue;let p=s[d];if(p.length===0)continue;if(p.start>c)break;for(;u.length>0&&u[u.length-1].endPos<=p.start;)o.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop();if(u.length>0?o.produceFromScopes(u[u.length-1].scopes,p.start):o.produce(r,p.start),f.retokenizeCapturedWithRuleId){let L=f.getName(i,s),I=r.contentNameScopesList.pushAttributed(L,e),x=f.getContentName(i,s),g=I.pushAttributed(x,e),h=r.push(f.retokenizeCapturedWithRuleId,p.start,-1,!1,null,I,g),w=e.createOnigString(i.substring(0,p.end));si(e,w,a&&p.start===0,p.start,h,o,!1,0),ei(w);continue}let m=f.getName(i,s);if(m!==null){let I=(u.length>0?u[u.length-1].scopes:r.contentNameScopesList).pushAttributed(m,e);u.push(new ef(I,p.end))}}for(;u.length>0;)o.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop()}var ef=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function tf(e,t,a,r,o,n,s,i){return new rf(e,t,a,r,o,n,s,i)}function Vs(e,t,a,r,o){let n=qa(t,Va),s=ri.getCompiledRuleId(a,r,o.repository);for(let i of n)e.push({debugSelector:t,matcher:i.matcher,ruleId:s,grammar:o,priority:i.priority})}function Va(e,t){if(t.length<e.length)return!1;let a=0;return e.every(r=>{for(let o=a;o<t.length;o++)if(af(t[o],r))return a=o+1,!0;return!1})}function af(e,t){if(!e)return!1;if(e===t)return!0;let a=t.length;return e.length>a&&e.substr(0,a)===t&&e[a]==="."}var rf=class{constructor(e,t,a,r,o,n,s,i){if(this._rootScopeName=e,this.balancedBracketSelectors=n,this._onigLib=i,this._basicScopeAttributesProvider=new $c(a,r),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=s,this._grammar=zs(t,null),this._injections=null,this._tokenTypeMatchers=[],o)for(let l of Object.keys(o)){let u=qa(l,Va);for(let c of u)this._tokenTypeMatchers.push({matcher:c.matcher,type:o[l]})}}_rootId;_lastRuleId;_ruleId2desc;_includedGrammars;_grammarRepository;_grammar;_injections;_basicScopeAttributesProvider;_tokenTypeMatchers;get themeProvider(){return this._grammarRepository}dispose(){for(let e of this._ruleId2desc)e&&e.dispose()}createOnigScanner(e){return this._onigLib.createOnigScanner(e)}createOnigString(e){return this._onigLib.createOnigString(e)}getMetadataForScope(e){return this._basicScopeAttributesProvider.getBasicScopeAttributes(e)}_collectInjections(){let e={lookup:o=>o===this._rootScopeName?this._grammar:this.getExternalGrammar(o),injections:o=>this._grammarRepository.injections(o)},t=[],a=this._rootScopeName,r=e.lookup(a);if(r){let o=r.injections;if(o)for(let s in o)Vs(t,s,o[s],this,r);let n=this._grammarRepository.injections(a);n&&n.forEach(s=>{let i=this.getExternalGrammar(s);if(i){let l=i.injectionSelector;l&&Vs(t,l,i,this,i)}})}return t.sort((o,n)=>o.priority-n.priority),t}getInjections(){return this._injections===null&&(this._injections=this._collectInjections()),this._injections}registerRule(e){let t=++this._lastRuleId,a=e(t);return this._ruleId2desc[t]=a,a}getRule(e){return this._ruleId2desc[e]}getExternalGrammar(e,t){if(this._includedGrammars[e])return this._includedGrammars[e];if(this._grammarRepository){let a=this._grammarRepository.lookup(e);if(a)return this._includedGrammars[e]=zs(a,t&&t.$base),this._includedGrammars[e]}}tokenizeLine(e,t,a=0){let r=this._tokenize(e,t,!1,a);return{tokens:r.lineTokens.getResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}tokenizeLine2(e,t,a=0){let r=this._tokenize(e,t,!0,a);return{tokens:r.lineTokens.getBinaryResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}_tokenize(e,t,a,r){this._rootId===-1&&(this._rootId=ri.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let o;if(!t||t===fo.NULL){o=!0;let u=this._basicScopeAttributesProvider.getDefaultAttributes(),c=this.themeProvider.getDefaults(),d=ht.set(0,u.languageId,u.tokenType,null,c.fontStyle,c.foregroundId,c.backgroundId),f=this.getRule(this._rootId).getName(null,null),p;f?p=ta.createRootAndLookUpScopeName(f,d,this):p=ta.createRoot("unknown",d),t=new fo(null,this._rootId,-1,-1,!1,null,p,p)}else o=!1,t.reset();e=e+`
|
|
4
|
+
`;let n=this.createOnigString(e),s=n.content.length,i=new nf(a,e,this._tokenTypeMatchers,this.balancedBracketSelectors),l=si(this,n,o,0,t,i,!0,r);return ei(n),{lineLength:s,lineTokens:i,ruleStack:l.stack,stoppedEarly:l.stoppedEarly}}};function zs(e,t){return e=Sc(e),e.repository=e.repository||{},e.repository.$self={$vscodeTextmateLocation:e.$vscodeTextmateLocation,patterns:e.patterns,name:e.scopeName},e.repository.$base=t||e.repository.$self,e}var ta=class We{constructor(t,a,r){this.parent=t,this.scopePath=a,this.tokenAttributes=r}static fromExtension(t,a){let r=t,o=t?.scopePath??null;for(let n of a)o=oo.push(o,n.scopeNames),r=new We(r,o,n.encodedTokenAttributes);return r}static createRoot(t,a){return new We(null,new oo(null,t),a)}static createRootAndLookUpScopeName(t,a,r){let o=r.getMetadataForScope(t),n=new oo(null,t),s=r.themeProvider.themeMatch(n),i=We.mergeAttributes(a,o,s);return new We(null,n,i)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return We.equals(this,t)}static equals(t,a){do{if(t===a||!t&&!a)return!0;if(!t||!a||t.scopeName!==a.scopeName||t.tokenAttributes!==a.tokenAttributes)return!1;t=t.parent,a=a.parent}while(!0)}static mergeAttributes(t,a,r){let o=-1,n=0,s=0;return r!==null&&(o=r.fontStyle,n=r.foregroundId,s=r.backgroundId),ht.set(t,a.languageId,a.tokenType,null,o,n,s)}pushAttributed(t,a){if(t===null)return this;if(t.indexOf(" ")===-1)return We._pushAttributed(this,t,a);let r=t.split(/ /g),o=this;for(let n of r)o=We._pushAttributed(o,n,a);return o}static _pushAttributed(t,a,r){let o=r.getMetadataForScope(a),n=t.scopePath.push(a),s=r.themeProvider.themeMatch(n),i=We.mergeAttributes(t.tokenAttributes,o,s);return new We(t,n,i)}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(t){let a=[],r=this;for(;r&&r!==t;)a.push({encodedTokenAttributes:r.tokenAttributes,scopeNames:r.scopePath.getExtensionIfDefined(r.parent?.scopePath??null)}),r=r.parent;return r===t?a.reverse():void 0}},fo=class mt{constructor(t,a,r,o,n,s,i,l){this.parent=t,this.ruleId=a,this.beginRuleCapturedEOL=n,this.endRule=s,this.nameScopesList=i,this.contentNameScopesList=l,this.depth=this.parent?this.parent.depth+1:1,this._enterPos=r,this._anchorPos=o}_stackElementBrand=void 0;static NULL=new mt(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:mt._equals(this,t)}static _equals(t,a){return t===a?!0:this._structuralEquals(t,a)?ta.equals(t.contentNameScopesList,a.contentNameScopesList):!1}static _structuralEquals(t,a){do{if(t===a||!t&&!a)return!0;if(!t||!a||t.depth!==a.depth||t.ruleId!==a.ruleId||t.endRule!==a.endRule)return!1;t=t.parent,a=a.parent}while(!0)}clone(){return this}static _reset(t){for(;t;)t._enterPos=-1,t._anchorPos=-1,t=t.parent}reset(){mt._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,a,r,o,n,s,i){return new mt(this,t,a,r,o,n,s,i)}getEnterPos(){return this._enterPos}getAnchorPos(){return this._anchorPos}getRule(t){return t.getRule(this.ruleId)}toString(){let t=[];return this._writeString(t,0),"["+t.join(",")+"]"}_writeString(t,a){return this.parent&&(a=this.parent._writeString(t,a)),t[a++]=`(${this.ruleId}, ${this.nameScopesList?.toString()}, ${this.contentNameScopesList?.toString()})`,a}withContentNameScopesList(t){return this.contentNameScopesList===t?this:this.parent.push(this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,this.endRule,this.nameScopesList,t)}withEndRule(t){return this.endRule===t?this:new mt(this.parent,this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,t,this.nameScopesList,this.contentNameScopesList)}hasSameRuleAs(t){let a=this;for(;a&&a._enterPos===t._enterPos;){if(a.ruleId===t.ruleId)return!0;a=a.parent}return!1}toStateStackFrame(){return{ruleId:this.ruleId,beginRuleCapturedEOL:this.beginRuleCapturedEOL,endRule:this.endRule,nameScopesList:this.nameScopesList?.getExtensionIfDefined(this.parent?.nameScopesList??null)??[],contentNameScopesList:this.contentNameScopesList?.getExtensionIfDefined(this.nameScopesList)??[]}}static pushFrame(t,a){let r=ta.fromExtension(t?.nameScopesList??null,a.nameScopesList);return new mt(t,a.ruleId,a.enterPos??-1,a.anchorPos??-1,a.beginRuleCapturedEOL,a.endRule,r,ta.fromExtension(r,a.contentNameScopesList))}},of=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(a=>a==="*"?(this.allowAny=!0,[]):qa(a,Va).map(r=>r.matcher)),this.unbalancedBracketScopes=t.flatMap(a=>qa(a,Va).map(r=>r.matcher))}get matchesAlways(){return this.allowAny&&this.unbalancedBracketScopes.length===0}get matchesNever(){return this.balancedBracketScopes.length===0&&!this.allowAny}match(e){for(let t of this.unbalancedBracketScopes)if(t(e))return!1;for(let t of this.balancedBracketScopes)if(t(e))return!0;return this.allowAny}},nf=class{constructor(e,t,a,r){this.balancedBracketSelectors=r,this._emitBinaryTokens=e,this._tokenTypeOverrides=a,this._lineText=null,this._tokens=[],this._binaryTokens=[],this._lastTokenEndIndex=0}_emitBinaryTokens;_lineText;_tokens;_binaryTokens;_lastTokenEndIndex;_tokenTypeOverrides;produce(e,t){this.produceFromScopes(e.contentNameScopesList,t)}produceFromScopes(e,t){if(this._lastTokenEndIndex>=t)return;if(this._emitBinaryTokens){let r=e?.tokenAttributes??0,o=!1;if(this.balancedBracketSelectors?.matchesAlways&&(o=!0),this._tokenTypeOverrides.length>0||this.balancedBracketSelectors&&!this.balancedBracketSelectors.matchesAlways&&!this.balancedBracketSelectors.matchesNever){let n=e?.getScopeNames()??[];for(let s of this._tokenTypeOverrides)s.matcher(n)&&(r=ht.set(r,0,s.type,null,-1,0,0));this.balancedBracketSelectors&&(o=this.balancedBracketSelectors.match(n))}if(o&&(r=ht.set(r,0,8,o,-1,0,0)),this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-1]===r){this._lastTokenEndIndex=t;return}this._binaryTokens.push(this._lastTokenEndIndex),this._binaryTokens.push(r),this._lastTokenEndIndex=t;return}let a=e?.getScopeNames()??[];this._tokens.push({startIndex:this._lastTokenEndIndex,endIndex:t,scopes:a}),this._lastTokenEndIndex=t}getResult(e,t){return this._tokens.length>0&&this._tokens[this._tokens.length-1].startIndex===t-1&&this._tokens.pop(),this._tokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._tokens[this._tokens.length-1].startIndex=0),this._tokens}getBinaryResult(e,t){this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-2]===t-1&&(this._binaryTokens.pop(),this._binaryTokens.pop()),this._binaryTokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._binaryTokens[this._binaryTokens.length-2]=0);let a=new Uint32Array(this._binaryTokens.length);for(let r=0,o=this._binaryTokens.length;r<o;r++)a[r]=this._binaryTokens[r];return a}},sf=class{constructor(e,t){this._onigLib=t,this._theme=e}_grammars=new Map;_rawGrammars=new Map;_injectionGrammars=new Map;_theme;dispose(){for(let e of this._grammars.values())e.dispose()}setTheme(e){this._theme=e}getColorMap(){return this._theme.getColorMap()}addGrammar(e,t){this._rawGrammars.set(e.scopeName,e),t&&this._injectionGrammars.set(e.scopeName,t)}lookup(e){return this._rawGrammars.get(e)}injections(e){return this._injectionGrammars.get(e)}getDefaults(){return this._theme.getDefaults()}themeMatch(e){return this._theme.match(e)}grammarForScopeName(e,t,a,r,o){if(!this._grammars.has(e)){let n=this._rawGrammars.get(e);if(!n)return null;this._grammars.set(e,tf(e,n,t,a,r,o,this,this._onigLib))}return this._grammars.get(e)}},ui=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new sf(aa.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(aa.createFromRawTheme(e,t))}getColorMap(){return this._syncRegistry.getColorMap()}loadGrammarWithEmbeddedLanguages(e,t,a){return this.loadGrammarWithConfiguration(e,t,{embeddedLanguages:a})}loadGrammarWithConfiguration(e,t,a){return this._loadGrammar(e,t,a.embeddedLanguages,a.tokenTypes,new of(a.balancedBracketSelectors||[],a.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,a,r,o){let n=new _c(this._syncRegistry,e);for(;n.Q.length>0;)n.Q.map(s=>this._loadSingleGrammar(s.scopeName)),n.processQueue();return this._grammarForScopeName(e,t,a,r,o)}_loadSingleGrammar(e){this._ensureGrammarCache.has(e)||(this._doLoadSingleGrammar(e),this._ensureGrammarCache.set(e,!0))}_doLoadSingleGrammar(e){let t=this._options.loadGrammar(e);if(t){let a=typeof this._options.getInjections=="function"?this._options.getInjections(e):void 0;this._syncRegistry.addGrammar(t,a)}}addGrammar(e,t=[],a=0,r=null){return this._syncRegistry.addGrammar(e,t),this._grammarForScopeName(e.scopeName,a,r)}_grammarForScopeName(e,t=0,a=null,r=null,o=null){return this._syncRegistry.grammarForScopeName(e,t,a,r,o)}},za=fo.NULL;var lf=/["&'<>`]/g,uf=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,df=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,cf=/[|\\{}()[\]^$+*?.]/g,di=new WeakMap;function ci(e,t){if(e=e.replace(t.subset?ff(t.subset):lf,r),t.subset||t.escapeOnly)return e;return e.replace(uf,a).replace(df,r);function a(o,n,s){return t.format((o.charCodeAt(0)-55296)*1024+o.charCodeAt(1)-56320+65536,s.charCodeAt(n+2),t)}function r(o,n,s){return t.format(o.charCodeAt(0),s.charCodeAt(n+1),t)}}function ff(e){let t=di.get(e);return t||(t=pf(e),di.set(e,t)),t}function pf(e){let t=[],a=-1;for(;++a<e.length;)t.push(e[a].replace(cf,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}var mf=/[\dA-Fa-f]/;function fi(e,t,a){let r="&#x"+e.toString(16).toUpperCase();return a&&t&&!mf.test(String.fromCharCode(t))?r:r+";"}var hf=/\d/;function pi(e,t,a){let r="&#"+String(e);return a&&t&&!hf.test(String.fromCharCode(t))?r:r+";"}var mi=["AElig","AMP","Aacute","Acirc","Agrave","Aring","Atilde","Auml","COPY","Ccedil","ETH","Eacute","Ecirc","Egrave","Euml","GT","Iacute","Icirc","Igrave","Iuml","LT","Ntilde","Oacute","Ocirc","Ograve","Oslash","Otilde","Ouml","QUOT","REG","THORN","Uacute","Ucirc","Ugrave","Uuml","Yacute","aacute","acirc","acute","aelig","agrave","amp","aring","atilde","auml","brvbar","ccedil","cedil","cent","copy","curren","deg","divide","eacute","ecirc","egrave","eth","euml","frac12","frac14","frac34","gt","iacute","icirc","iexcl","igrave","iquest","iuml","laquo","lt","macr","micro","middot","nbsp","not","ntilde","oacute","ocirc","ograve","ordf","ordm","oslash","otilde","ouml","para","plusmn","pound","quot","raquo","reg","sect","shy","sup1","sup2","sup3","szlig","thorn","times","uacute","ucirc","ugrave","uml","uuml","yacute","yen","yuml"];var ja={nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",frac34:"\xBE",iquest:"\xBF",Agrave:"\xC0",Aacute:"\xC1",Acirc:"\xC2",Atilde:"\xC3",Auml:"\xC4",Aring:"\xC5",AElig:"\xC6",Ccedil:"\xC7",Egrave:"\xC8",Eacute:"\xC9",Ecirc:"\xCA",Euml:"\xCB",Igrave:"\xCC",Iacute:"\xCD",Icirc:"\xCE",Iuml:"\xCF",ETH:"\xD0",Ntilde:"\xD1",Ograve:"\xD2",Oacute:"\xD3",Ocirc:"\xD4",Otilde:"\xD5",Ouml:"\xD6",times:"\xD7",Oslash:"\xD8",Ugrave:"\xD9",Uacute:"\xDA",Ucirc:"\xDB",Uuml:"\xDC",Yacute:"\xDD",THORN:"\xDE",szlig:"\xDF",agrave:"\xE0",aacute:"\xE1",acirc:"\xE2",atilde:"\xE3",auml:"\xE4",aring:"\xE5",aelig:"\xE6",ccedil:"\xE7",egrave:"\xE8",eacute:"\xE9",ecirc:"\xEA",euml:"\xEB",igrave:"\xEC",iacute:"\xED",icirc:"\xEE",iuml:"\xEF",eth:"\xF0",ntilde:"\xF1",ograve:"\xF2",oacute:"\xF3",ocirc:"\xF4",otilde:"\xF5",ouml:"\xF6",divide:"\xF7",oslash:"\xF8",ugrave:"\xF9",uacute:"\xFA",ucirc:"\xFB",uuml:"\xFC",yacute:"\xFD",thorn:"\xFE",yuml:"\xFF",fnof:"\u0192",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039A",Lambda:"\u039B",Mu:"\u039C",Nu:"\u039D",Xi:"\u039E",Omicron:"\u039F",Pi:"\u03A0",Rho:"\u03A1",Sigma:"\u03A3",Tau:"\u03A4",Upsilon:"\u03A5",Phi:"\u03A6",Chi:"\u03A7",Psi:"\u03A8",Omega:"\u03A9",alpha:"\u03B1",beta:"\u03B2",gamma:"\u03B3",delta:"\u03B4",epsilon:"\u03B5",zeta:"\u03B6",eta:"\u03B7",theta:"\u03B8",iota:"\u03B9",kappa:"\u03BA",lambda:"\u03BB",mu:"\u03BC",nu:"\u03BD",xi:"\u03BE",omicron:"\u03BF",pi:"\u03C0",rho:"\u03C1",sigmaf:"\u03C2",sigma:"\u03C3",tau:"\u03C4",upsilon:"\u03C5",phi:"\u03C6",chi:"\u03C7",psi:"\u03C8",omega:"\u03C9",thetasym:"\u03D1",upsih:"\u03D2",piv:"\u03D6",bull:"\u2022",hellip:"\u2026",prime:"\u2032",Prime:"\u2033",oline:"\u203E",frasl:"\u2044",weierp:"\u2118",image:"\u2111",real:"\u211C",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21B5",lArr:"\u21D0",uArr:"\u21D1",rArr:"\u21D2",dArr:"\u21D3",hArr:"\u21D4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220B",prod:"\u220F",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221A",prop:"\u221D",infin:"\u221E",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222A",int:"\u222B",there4:"\u2234",sim:"\u223C",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22A5",sdot:"\u22C5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230A",rfloor:"\u230B",lang:"\u2329",rang:"\u232A",loz:"\u25CA",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666",quot:'"',amp:"&",lt:"<",gt:">",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",circ:"\u02C6",tilde:"\u02DC",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",permil:"\u2030",lsaquo:"\u2039",rsaquo:"\u203A",euro:"\u20AC"};var hi=["cent","copy","divide","gt","lt","not","para","times"];var gi={}.hasOwnProperty,mo={},$a;for($a in ja)gi.call(ja,$a)&&(mo[ja[$a]]=$a);var gf=/[^\dA-Za-z]/;function wi(e,t,a,r){let o=String.fromCharCode(e);if(gi.call(mo,o)){let n=mo[o],s="&"+n;return a&&mi.includes(n)&&!hi.includes(n)&&(!r||t&&t!==61&&gf.test(String.fromCharCode(t)))?s:s+";"}return""}function xi(e,t,a){let r=fi(e,t,a.omitOptionalSemicolons),o;if((a.useNamedReferences||a.useShortestReferences)&&(o=wi(e,t,a.omitOptionalSemicolons,a.attribute)),(a.useShortestReferences||!o)&&a.useShortestReferences){let n=pi(e,t,a.omitOptionalSemicolons);n.length<r.length&&(r=n)}return o&&(!a.useShortestReferences||o.length<r.length)?o:r}function Xe(e,t){return ci(e,Object.assign({format:xi},t))}var wf=/^>|^->|<!--|-->|--!>|<!-$/g,xf=[">"],If=["<",">"];function Ii(e,t,a,r){return r.settings.bogusComments?"<?"+Xe(e.value,Object.assign({},r.settings.characterReferences,{subset:xf}))+">":"<!--"+e.value.replace(wf,o)+"-->";function o(n){return Xe(n,Object.assign({},r.settings.characterReferences,{subset:If}))}}function Li(e,t,a,r){return"<!"+(r.settings.upperDoctype?"DOCTYPE":"doctype")+(r.settings.tightDoctype?"":" ")+"html>"}var ie=Ci(1),ho=Ci(-1),Lf=[];function Ci(e){return t;function t(a,r,o){let n=a?a.children:Lf,s=(r||0)+e,i=n[s];if(!o)for(;i&&bt(i);)s+=e,i=n[s];return i}}var Cf={}.hasOwnProperty;function Xa(e){return t;function t(a,r,o){return Cf.call(e,a.tagName)&&e[a.tagName](a,r,o)}}var ia=Xa({body:yf,caption:go,colgroup:go,dd:vf,dt:Tf,head:go,html:Sf,li:kf,optgroup:Pf,option:Af,p:bf,rp:Si,rt:Si,tbody:Mf,td:yi,tfoot:Ff,th:yi,thead:Rf,tr:Bf});function go(e,t,a){let r=ie(a,t,!0);return!r||r.type!=="comment"&&!(r.type==="text"&&bt(r.value.charAt(0)))}function Sf(e,t,a){let r=ie(a,t);return!r||r.type!=="comment"}function yf(e,t,a){let r=ie(a,t);return!r||r.type!=="comment"}function bf(e,t,a){let r=ie(a,t);return r?r.type==="element"&&(r.tagName==="address"||r.tagName==="article"||r.tagName==="aside"||r.tagName==="blockquote"||r.tagName==="details"||r.tagName==="div"||r.tagName==="dl"||r.tagName==="fieldset"||r.tagName==="figcaption"||r.tagName==="figure"||r.tagName==="footer"||r.tagName==="form"||r.tagName==="h1"||r.tagName==="h2"||r.tagName==="h3"||r.tagName==="h4"||r.tagName==="h5"||r.tagName==="h6"||r.tagName==="header"||r.tagName==="hgroup"||r.tagName==="hr"||r.tagName==="main"||r.tagName==="menu"||r.tagName==="nav"||r.tagName==="ol"||r.tagName==="p"||r.tagName==="pre"||r.tagName==="section"||r.tagName==="table"||r.tagName==="ul"):!a||!(a.type==="element"&&(a.tagName==="a"||a.tagName==="audio"||a.tagName==="del"||a.tagName==="ins"||a.tagName==="map"||a.tagName==="noscript"||a.tagName==="video"))}function kf(e,t,a){let r=ie(a,t);return!r||r.type==="element"&&r.tagName==="li"}function Tf(e,t,a){let r=ie(a,t);return!!(r&&r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd"))}function vf(e,t,a){let r=ie(a,t);return!r||r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd")}function Si(e,t,a){let r=ie(a,t);return!r||r.type==="element"&&(r.tagName==="rp"||r.tagName==="rt")}function Pf(e,t,a){let r=ie(a,t);return!r||r.type==="element"&&r.tagName==="optgroup"}function Af(e,t,a){let r=ie(a,t);return!r||r.type==="element"&&(r.tagName==="option"||r.tagName==="optgroup")}function Rf(e,t,a){let r=ie(a,t);return!!(r&&r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot"))}function Mf(e,t,a){let r=ie(a,t);return!r||r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot")}function Ff(e,t,a){return!ie(a,t)}function Bf(e,t,a){let r=ie(a,t);return!r||r.type==="element"&&r.tagName==="tr"}function yi(e,t,a){let r=ie(a,t);return!r||r.type==="element"&&(r.tagName==="td"||r.tagName==="th")}var bi=Xa({body:_f,colgroup:Of,head:Df,html:Ef,tbody:Nf});function Ef(e){let t=ie(e,-1);return!t||t.type!=="comment"}function Df(e){let t=new Set;for(let r of e.children)if(r.type==="element"&&(r.tagName==="base"||r.tagName==="title")){if(t.has(r.tagName))return!1;t.add(r.tagName)}let a=e.children[0];return!a||a.type==="element"}function _f(e){let t=ie(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&bt(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function Of(e,t,a){let r=ho(a,t),o=ie(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 Nf(e,t,a){let r=ho(a,t),o=ie(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 Ka={name:[[`
|
|
5
5
|
\f\r &/=>`.split(""),`
|
|
6
6
|
\f\r "&'/=>\``.split("")],[`\0
|
|
7
7
|
\f\r "&'/<=>`.split(""),`\0
|
|
@@ -9,11 +9,11 @@ import{a as kn,b as Tn,c as vn,d as Pn,e as An,f as Ca,g as Rn,h as Mn,i as Fn,j
|
|
|
9
9
|
\f\r &>`.split(""),`\0
|
|
10
10
|
\f\r "&'<=>\``.split("")],[`\0
|
|
11
11
|
\f\r "&'<=>\``.split(""),`\0
|
|
12
|
-
\f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function ki(e,t,a,r){let o=r.schema,n=o.space==="svg"?!1:r.settings.omitOptionalTags,s=o.space==="svg"?r.settings.closeEmptyElements:r.settings.voids.includes(e.tagName.toLowerCase()),i=[],l;o.space==="html"&&e.tagName==="svg"&&(r.schema=Ca);let u=Uf(r,e.properties),c=r.all(o.space==="html"&&e.tagName==="template"?e.content:e);return r.schema=o,c&&(s=!1),(u||!n||!bi(e,t,a))&&(i.push("<",e.tagName,u?" "+u:""),s&&(o.space==="svg"||r.settings.closeSelfClosing)&&(l=u.charAt(u.length-1),(!r.settings.tightSelfClosing||l==="/"||l&&l!=='"'&&l!=="'")&&i.push(" "),i.push("/")),i.push(">")),i.push(c),!s&&(!n||!sa(e,t,a))&&i.push("</"+e.tagName+">"),i.join("")}function Uf(e,t){let a=[],r=-1,o;if(t){for(o in t)if(t[o]!==null&&t[o]!==void 0){let n=Hf(e,o,t[o]);n&&a.push(n)}}for(;++r<a.length;){let n=e.settings.tightAttributes?a[r].charAt(a[r].length-1):void 0;r!==a.length-1&&n!=='"'&&n!=="'"&&(a[r]+=" ")}return a.join("")}function Hf(e,t,a){let r=Pn(e.schema,t),o=e.settings.allowParseErrors&&e.schema.space==="html"?0:1,n=e.settings.allowDangerousCharacters?0:1,s=e.quote,i;if(r.overloadedBoolean&&(a===r.attribute||a==="")?a=!0:(r.boolean||r.overloadedBoolean)&&(typeof a!="string"||a===r.attribute||a==="")&&(a=!!a),a==null||a===!1||typeof a=="number"&&Number.isNaN(a))return"";let l=Xe(r.attribute,Object.assign({},e.settings.characterReferences,{subset:Ka.name[o][n]}));return a===!0||(a=Array.isArray(a)?(r.commaSeparated?Rn:Mn)(a,{padLeft:!e.settings.tightCommaSeparatedLists}):String(a),e.settings.collapseEmptyAttributes&&!a)?l:(e.settings.preferUnquoted&&(i=Xe(a,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:Ka.unquoted[o][n]}))),i!==a&&(e.settings.quoteSmart&&_r(a,s)>_r(a,e.alternative)&&(s=e.alternative),i=s+Xe(a,Object.assign({},e.settings.characterReferences,{subset:(s==="'"?Ka.single:Ka.double)[o][n],attribute:!0}))+s),l+(i&&"="+i))}var qf=["<","&"];function Qa(e,t,a,r){return a&&a.type==="element"&&(a.tagName==="script"||a.tagName==="style")?e.value:Xe(e.value,Object.assign({},r.settings.characterReferences,{subset:qf}))}function Ti(e,t,a,r){return r.settings.allowDangerousHtml?e.value:Qa(e,t,a,r)}function vi(e,t,a,r){return r.all(e)}var Pi=Fn("type",{invalid:Wf,unknown:Gf,handlers:{comment:Ii,doctype:Li,element:ki,raw:Ti,root:vi,text:Qa}});function Wf(e){throw new Error("Expected node, not `"+e+"`")}function Gf(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var Vf={},zf={},jf=[];function go(e,t){let a=t||Vf,r=a.quote||'"',o=r==='"'?"'":'"';if(r!=='"'&&r!=="'")throw new Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:$f,all:Xf,settings:{omitOptionalTags:a.omitOptionalTags||!1,allowParseErrors:a.allowParseErrors||!1,allowDangerousCharacters:a.allowDangerousCharacters||!1,quoteSmart:a.quoteSmart||!1,preferUnquoted:a.preferUnquoted||!1,tightAttributes:a.tightAttributes||!1,upperDoctype:a.upperDoctype||!1,tightDoctype:a.tightDoctype||!1,bogusComments:a.bogusComments||!1,tightCommaSeparatedLists:a.tightCommaSeparatedLists||!1,tightSelfClosing:a.tightSelfClosing||!1,collapseEmptyAttributes:a.collapseEmptyAttributes||!1,allowDangerousHtml:a.allowDangerousHtml||!1,voids:a.voids||Bn,characterReferences:a.characterReferences||zf,closeSelfClosing:a.closeSelfClosing||!1,closeEmptyElements:a.closeEmptyElements||!1},schema:a.space==="svg"?Ca:An,quote:r,alternative:o}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function $f(e,t,a){return Pi(e,t,a,this)}function Xf(e){let t=[],a=e&&e.children||jf,r=-1;for(;++r<a.length;)t[r]=this.one(a[r],r,e);return t.join("")}function Ja(e,t){let a=typeof e=="string"?{}:{...e.colorReplacements},r=typeof e=="string"?e:e.name;for(let[o,n]of Object.entries(t?.colorReplacements||{}))typeof n=="string"?a[o]=n:o===r&&Object.assign(a,n);return a}function rt(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function Kf(e){return Array.isArray(e)?e:[e]}async function Di(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function So(e){return!e||["plaintext","txt","text","plain"].includes(e)}function _i(e){return e==="ansi"||So(e)}function yo(e){return e==="none"}function Oi(e){return yo(e)}function Ni(e,t){if(!t)return e;e.properties||={},e.properties.class||=[],typeof e.properties.class=="string"&&(e.properties.class=e.properties.class.split(/\s+/g)),Array.isArray(e.properties.class)||(e.properties.class=[]);let a=Array.isArray(t)?t:t.split(/\s+/g);for(let r of a)r&&!e.properties.class.includes(r)&&e.properties.class.push(r);return e}function ar(e,t=!1){if(e.length===0)return[["",0]];let a=e.split(/(\r?\n)/g),r=0,o=[];for(let n=0;n<a.length;n+=2){let s=t?a[n]+(a[n+1]||""):a[n];o.push([s,r]),r+=a[n].length,r+=a[n+1]?.length||0}return o}function Qf(e){let t=ar(e,!0).map(([o])=>o);function a(o){if(o===e.length)return{line:t.length-1,character:t[t.length-1].length};let n=o,s=0;for(let i of t){if(n<i.length)break;n-=i.length,s++}return{line:s,character:n}}function r(o,n){let s=0;for(let i=0;i<o;i++)s+=t[i].length;return s+=n,s}return{lines:t,indexToPos:a,posToIndex:r}}function Ui(e,t,a){let r=new Set;for(let n of e.matchAll(/:?lang=["']([^"']+)["']/g)){let s=n[1].toLowerCase().trim();s&&r.add(s)}for(let n of e.matchAll(/(?:```|~~~)([\w-]+)/g)){let s=n[1].toLowerCase().trim();s&&r.add(s)}for(let n of e.matchAll(/\\begin\{([\w-]+)\}/g)){let s=n[1].toLowerCase().trim();s&&r.add(s)}for(let n of e.matchAll(/<script\s+(?:type|lang)=["']([^"']+)["']/gi)){let s=n[1].toLowerCase().trim(),i=s.includes("/")?s.split("/").pop():s;i&&r.add(i)}if(!a)return Array.from(r);let o=a.getBundledLanguages();return Array.from(r).filter(n=>n&&o[n])}var bo="light-dark()",Jf=["color","background-color"];function Yf(e,t){let a=0,r=[];for(let o of t)o>a&&r.push({...e,content:e.content.slice(a,o),offset:e.offset+a}),a=o;return a<e.content.length&&r.push({...e,content:e.content.slice(a),offset:e.offset+a}),r}function Zf(e,t){let a=Array.from(t instanceof Set?t:new Set(t)).sort((r,o)=>r-o);return a.length?e.map(r=>r.flatMap(o=>{let n=a.filter(s=>o.offset<s&&s<o.offset+o.content.length).map(s=>s-o.offset).sort((s,i)=>s-i);return n.length?Yf(o,n):o})):e}function ep(e,t,a,r,o="css-vars"){let n={content:e.content,explanation:e.explanation,offset:e.offset},s=t.map(c=>Ya(e.variants[c])),i=new Set(s.flatMap(c=>Object.keys(c))),l={},u=(c,d)=>{let f=d==="color"?"":d==="background-color"?"-bg":`-${d}`;return a+t[c]+(d==="color"?"":f)};return s.forEach((c,d)=>{for(let f of i){let p=c[f]||"inherit";if(d===0&&r&&Jf.includes(f))if(r===bo&&s.length>1){let m=t.findIndex(g=>g==="light"),L=t.findIndex(g=>g==="dark");if(m===-1||L===-1)throw new te('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let I=s[m][f]||"inherit",x=s[L][f]||"inherit";l[f]=`light-dark(${I}, ${x})`,o==="css-vars"&&(l[u(d,f)]=p)}else l[f]=p;else o==="css-vars"&&(l[u(d,f)]=p)}}),n.htmlStyle=l,n}function Ya(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t["background-color"]=e.bgColor),e.fontStyle){e.fontStyle&Le.Italic&&(t["font-style"]="italic"),e.fontStyle&Le.Bold&&(t["font-weight"]="bold");let a=[];e.fontStyle&Le.Underline&&a.push("underline"),e.fontStyle&Le.Strikethrough&&a.push("line-through"),a.length&&(t["text-decoration"]=a.join(" "))}return t}function Io(e){return typeof e=="string"?e:Object.entries(e).map(([t,a])=>`${t}:${a}`).join(";")}var Hi=new WeakMap;function rr(e,t){Hi.set(e,t)}function la(e){return Hi.get(e)}var At=class e{_stacks={};lang;get themes(){return Object.keys(this._stacks)}get theme(){return this.themes[0]}get _stack(){return this._stacks[this.theme]}static initial(t,a){return new e(Object.fromEntries(Kf(a).map(r=>[r,za])),t)}constructor(...t){if(t.length===2){let[a,r]=t;this.lang=r,this._stacks=a}else{let[a,r,o]=t;this.lang=r,this._stacks={[o]:a}}}getInternalStack(t=this.theme){return this._stacks[t]}getScopes(t=this.theme){return tp(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function tp(e){let t=[],a=new Set;function r(o){if(a.has(o))return;a.add(o);let n=o?.nameScopesList?.scopeName;n&&t.push(n),o.parent&&r(o.parent)}return r(e),t}function ap(e,t){if(!(e instanceof At))throw new te("Invalid grammar state");return e.getInternalStack(t)}function rp(){let e=new WeakMap;function t(a){if(!e.has(a.meta)){let r=function(s){if(typeof s=="number"){if(s<0||s>a.source.length)throw new te(`Invalid decoration offset: ${s}. Code length: ${a.source.length}`);return{...o.indexToPos(s),offset:s}}else{let i=o.lines[s.line];if(i===void 0)throw new te(`Invalid decoration position ${JSON.stringify(s)}. Lines length: ${o.lines.length}`);let l=s.character;if(l<0&&(l=i.length+l),l<0||l>i.length)throw new te(`Invalid decoration position ${JSON.stringify(s)}. Line ${s.line} length: ${i.length}`);return{...s,character:l,offset:o.posToIndex(s.line,l)}}},o=Qf(a.source),n=(a.options.decorations||[]).map(s=>({...s,start:r(s.start),end:r(s.end)}));op(n),e.set(a.meta,{decorations:n,converter:o,source:a.source})}return e.get(a.meta)}return{name:"shiki:decorations",tokens(a){if(!this.options.decorations?.length)return;let o=t(this).decorations.flatMap(s=>[s.start.offset,s.end.offset]);return Zf(a,o)},code(a){if(!this.options.decorations?.length)return;let r=t(this),o=Array.from(a.children).filter(c=>c.type==="element"&&c.tagName==="span");if(o.length!==r.converter.lines.length)throw new te(`Number of lines in code element (${o.length}) does not match the number of lines in the source (${r.converter.lines.length}). Failed to apply decorations.`);function n(c,d,f,p){let m=o[c],L="",I=-1,x=-1;if(d===0&&(I=0),f===0&&(x=0),f===Number.POSITIVE_INFINITY&&(x=m.children.length),I===-1||x===-1)for(let h=0;h<m.children.length;h++)L+=qi(m.children[h]),I===-1&&L.length===d&&(I=h+1),x===-1&&L.length===f&&(x=h+1);if(I===-1)throw new te(`Failed to find start index for decoration ${JSON.stringify(p.start)}`);if(x===-1)throw new te(`Failed to find end index for decoration ${JSON.stringify(p.end)}`);let g=m.children.slice(I,x);if(!p.alwaysWrap&&g.length===m.children.length)i(m,p,"line");else if(!p.alwaysWrap&&g.length===1&&g[0].type==="element")i(g[0],p,"token");else{let h={type:"element",tagName:"span",properties:{},children:g};i(h,p,"wrapper"),m.children.splice(I,g.length,h)}}function s(c,d){o[c]=i(o[c],d,"line")}function i(c,d,f){let p=d.properties||{},m=d.transform||(L=>L);return c.tagName=d.tagName||"span",c.properties={...c.properties,...p,class:c.properties.class},d.properties?.class&&Ni(c,d.properties.class),c=m(c,f)||c,c}let l=[],u=r.decorations.sort((c,d)=>d.start.offset-c.start.offset||c.end.offset-d.end.offset);for(let c of u){let{start:d,end:f}=c;if(d.line===f.line)n(d.line,d.character,f.character,c);else if(d.line<f.line){n(d.line,d.character,Number.POSITIVE_INFINITY,c);for(let p=d.line+1;p<f.line;p++)l.unshift(()=>s(p,c));n(f.line,0,f.character,c)}}l.forEach(c=>c())}}}function op(e){for(let t=0;t<e.length;t++){let a=e[t];if(a.start.offset>a.end.offset)throw new te(`Invalid decoration range: ${JSON.stringify(a.start)} - ${JSON.stringify(a.end)}`);for(let r=t+1;r<e.length;r++){let o=e[r],n=a.start.offset<=o.start.offset&&o.start.offset<a.end.offset,s=a.start.offset<o.end.offset&&o.end.offset<=a.end.offset,i=o.start.offset<=a.start.offset&&a.start.offset<o.end.offset,l=o.start.offset<a.end.offset&&a.end.offset<=o.end.offset;if(n||s||i||l){if(n&&s||i&&l||i&&a.start.offset===a.end.offset||s&&o.start.offset===o.end.offset)continue;throw new te(`Decorations ${JSON.stringify(a.start)} and ${JSON.stringify(o.start)} intersect.`)}}}}function qi(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(qi).join(""):""}var np=[rp()];function Za(e){let t=sp(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...np]}function sp(e){let t=[],a=[],r=[];for(let o of e)switch(o.enforce){case"pre":t.push(o);break;case"post":a.push(o);break;default:r.push(o)}return{pre:t,post:a,normal:r}}var gt=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],wo={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function ip(e,t){let a=e.indexOf("\x1B",t);if(a!==-1&&e[a+1]==="["){let r=e.indexOf("m",a);if(r!==-1)return{sequence:e.substring(a+2,r).split(";"),startPosition:a,position:r+1}}return{position:e.length}}function Ai(e){let t=e.shift();if(t==="2"){let a=e.splice(0,3).map(r=>Number.parseInt(r));return a.length!==3||a.some(r=>Number.isNaN(r))?void 0:{type:"rgb",rgb:a}}else if(t==="5"){let a=e.shift();if(a)return{type:"table",index:Number(a)}}}function lp(e){let t=[];for(;e.length>0;){let a=e.shift();if(!a)continue;let r=Number.parseInt(a);if(!Number.isNaN(r))if(r===0)t.push({type:"resetAll"});else if(r<=9)wo[r]&&t.push({type:"setDecoration",value:wo[r]});else if(r<=29){let o=wo[r-20];o&&(t.push({type:"resetDecoration",value:o}),o==="dim"&&t.push({type:"resetDecoration",value:"bold"}))}else if(r<=37)t.push({type:"setForegroundColor",value:{type:"named",name:gt[r-30]}});else if(r===38){let o=Ai(e);o&&t.push({type:"setForegroundColor",value:o})}else if(r===39)t.push({type:"resetForegroundColor"});else if(r<=47)t.push({type:"setBackgroundColor",value:{type:"named",name:gt[r-40]}});else if(r===48){let o=Ai(e);o&&t.push({type:"setBackgroundColor",value:o})}else r===49?t.push({type:"resetBackgroundColor"}):r===53?t.push({type:"setDecoration",value:"overline"}):r===55?t.push({type:"resetDecoration",value:"overline"}):r>=90&&r<=97?t.push({type:"setForegroundColor",value:{type:"named",name:gt[r-90+8]}}):r>=100&&r<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:gt[r-100+8]}})}return t}function up(){let e=null,t=null,a=new Set;return{parse(r){let o=[],n=0;do{let s=ip(r,n),i=s.sequence?r.substring(n,s.startPosition):r.substring(n);if(i.length>0&&o.push({value:i,foreground:e,background:t,decorations:new Set(a)}),s.sequence){let l=lp(s.sequence);for(let u of l)u.type==="resetAll"?(e=null,t=null,a.clear()):u.type==="resetForegroundColor"?e=null:u.type==="resetBackgroundColor"?t=null:u.type==="resetDecoration"&&a.delete(u.value);for(let u of l)u.type==="setForegroundColor"?e=u.value:u.type==="setBackgroundColor"?t=u.value:u.type==="setDecoration"&&a.add(u.value)}n=s.position}while(n<r.length);return o}}}var dp={black:"#000000",red:"#bb0000",green:"#00bb00",yellow:"#bbbb00",blue:"#0000bb",magenta:"#ff00ff",cyan:"#00bbbb",white:"#eeeeee",brightBlack:"#555555",brightRed:"#ff5555",brightGreen:"#00ff00",brightYellow:"#ffff55",brightBlue:"#5555ff",brightMagenta:"#ff55ff",brightCyan:"#55ffff",brightWhite:"#ffffff"};function cp(e=dp){function t(i){return e[i]}function a(i){return`#${i.map(l=>Math.max(0,Math.min(l,255)).toString(16).padStart(2,"0")).join("")}`}let r;function o(){if(r)return r;r=[];for(let u=0;u<gt.length;u++)r.push(t(gt[u]));let i=[0,95,135,175,215,255];for(let u=0;u<6;u++)for(let c=0;c<6;c++)for(let d=0;d<6;d++)r.push(a([i[u],i[c],i[d]]));let l=8;for(let u=0;u<24;u++,l+=10)r.push(a([l,l,l]));return r}function n(i){return o()[i]}function s(i){switch(i.type){case"named":return t(i.name);case"rgb":return a(i.rgb);case"table":return n(i.index)}}return{value:s}}var fp={black:"#000000",red:"#cd3131",green:"#0DBC79",yellow:"#E5E510",blue:"#2472C8",magenta:"#BC3FBC",cyan:"#11A8CD",white:"#E5E5E5",brightBlack:"#666666",brightRed:"#F14C4C",brightGreen:"#23D18B",brightYellow:"#F5F543",brightBlue:"#3B8EEA",brightMagenta:"#D670D6",brightCyan:"#29B8DB",brightWhite:"#FFFFFF"};function pp(e,t,a){let r=Ja(e,a),o=ar(t),n=Object.fromEntries(gt.map(l=>{let u=`terminal.ansi${l[0].toUpperCase()}${l.substring(1)}`,c=e.colors?.[u];return[l,c||fp[l]]})),s=cp(n),i=up();return o.map(l=>i.parse(l[0]).map(u=>{let c,d;u.decorations.has("reverse")?(c=u.background?s.value(u.background):e.bg,d=u.foreground?s.value(u.foreground):e.fg):(c=u.foreground?s.value(u.foreground):e.fg,d=u.background?s.value(u.background):void 0),c=rt(c,r),d=rt(d,r),u.decorations.has("dim")&&(c=mp(c));let f=Le.None;return u.decorations.has("bold")&&(f|=Le.Bold),u.decorations.has("italic")&&(f|=Le.Italic),u.decorations.has("underline")&&(f|=Le.Underline),u.decorations.has("strikethrough")&&(f|=Le.Strikethrough),{content:u.value,offset:l[1],color:c,bgColor:d,fontStyle:f}}))}function mp(e){let t=e.match(/#([0-9a-f]{3,8})/i);if(t){let r=t[1];if(r.length===8){let o=Math.round(Number.parseInt(r.slice(6,8),16)/2).toString(16).padStart(2,"0");return`#${r.slice(0,6)}${o}`}else{if(r.length===6)return`#${r}80`;if(r.length===4){let o=r[0],n=r[1],s=r[2],i=r[3],l=Math.round(Number.parseInt(`${i}${i}`,16)/2).toString(16).padStart(2,"0");return`#${o}${o}${n}${n}${s}${s}${l}`}else if(r.length===3){let o=r[0],n=r[1],s=r[2];return`#${o}${o}${n}${n}${s}${s}80`}}}let a=e.match(/var\((--[\w-]+-ansi-[\w-]+)\)/);return a?`var(${a[1]}-dim)`:e}function ko(e,t,a={}){let{theme:r=e.getLoadedThemes()[0]}=a,o=e.resolveLangAlias(a.lang||"text");if(So(o)||yo(r))return ar(t).map(l=>[{content:l[0],offset:l[1]}]);let{theme:n,colorMap:s}=e.setTheme(r);if(o==="ansi")return pp(n,t,a);let i=e.getLanguage(a.lang||"text");if(a.grammarState){if(a.grammarState.lang!==i.name)throw new te(`Grammar state language "${a.grammarState.lang}" does not match highlight language "${i.name}"`);if(!a.grammarState.themes.includes(n.name))throw new te(`Grammar state themes "${a.grammarState.themes}" do not contain highlight theme "${n.name}"`)}return gp(t,i,n,s,a)}function hp(...e){if(e.length===2)return la(e[1]);let[t,a,r={}]=e,{lang:o="text",theme:n=t.getLoadedThemes()[0]}=r;if(So(o)||yo(n))throw new te("Plain language does not have grammar state");if(o==="ansi")throw new te("ANSI language does not have grammar state");let{theme:s,colorMap:i}=t.setTheme(n),l=t.getLanguage(o);return new At(To(a,l,s,i,r).stateStack,l.name,s.name)}function gp(e,t,a,r,o){let n=To(e,t,a,r,o),s=new At(n.stateStack,t.name,a.name);return rr(n.tokens,s),n.tokens}function To(e,t,a,r,o){let n=Ja(a,o),{tokenizeMaxLineLength:s=0,tokenizeTimeLimit:i=500}=o,l=ar(e),u=o.grammarState?ap(o.grammarState,a.name)??za:o.grammarContextCode!=null?To(o.grammarContextCode,t,a,r,{...o,grammarState:void 0,grammarContextCode:void 0}).stateStack:za,c=[],d=[];for(let f=0,p=l.length;f<p;f++){let[m,L]=l[f];if(m===""){c=[],d.push([]);continue}if(s>0&&m.length>=s){c=[],d.push([{content:m,offset:L,color:"",fontStyle:0}]);continue}let I,x,g;o.includeExplanation&&(I=t.tokenizeLine(m,u,i),x=I.tokens,g=0);let h=t.tokenizeLine2(m,u,i),w=h.tokens.length/2;for(let S=0;S<w;S++){let v=h.tokens[2*S],A=S+1<w?h.tokens[2*S+2]:m.length;if(v===A)continue;let P=h.tokens[2*S+1],E=rt(r[ht.getForeground(P)],n),k=ht.getFontStyle(P),B={content:m.substring(v,A),offset:L+v,color:E,fontStyle:k};if(o.includeExplanation){let y=[];if(o.includeExplanation!=="scopeName")for(let H of a.settings){let R;switch(typeof H.scope){case"string":R=H.scope.split(/,/).map(b=>b.trim());break;case"object":R=H.scope;break;default:continue}y.push({settings:H,selectors:R.map(b=>b.split(/ /))})}B.explanation=[];let X=0;for(;v+X<A;){let H=x[g],R=m.substring(H.startIndex,H.endIndex);X+=R.length,B.explanation.push({content:R,scopes:o.includeExplanation==="scopeName"?wp(H.scopes):xp(y,H.scopes)}),g+=1}}c.push(B)}d.push(c),c=[],u=h.ruleStack}return{tokens:d,stateStack:u}}function wp(e){return e.map(t=>({scopeName:t}))}function xp(e,t){let a=[];for(let r=0,o=t.length;r<o;r++){let n=t[r];a[r]={scopeName:n,themeMatches:Lp(e,n,t.slice(0,r))}}return a}function Ri(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function Ip(e,t,a){if(!Ri(e[e.length-1],t))return!1;let r=e.length-2,o=a.length-1;for(;r>=0&&o>=0;)Ri(e[r],a[o])&&(r-=1),o-=1;return r===-1}function Lp(e,t,a){let r=[];for(let{selectors:o,settings:n}of e)for(let s of o)if(Ip(s,t,a)){r.push(n);break}return r}function Wi(e,t,a){let r=Object.entries(a.themes).filter(l=>l[1]).map(l=>({color:l[0],theme:l[1]})),o=r.map(l=>{let u=ko(e,t,{...a,theme:l.theme}),c=la(u),d=typeof l.theme=="string"?l.theme:l.theme.name;return{tokens:u,state:c,theme:d}}),n=Cp(...o.map(l=>l.tokens)),s=n[0].map((l,u)=>l.map((c,d)=>{let f={content:c.content,variants:{},offset:c.offset};return"includeExplanation"in a&&a.includeExplanation&&(f.explanation=c.explanation),n.forEach((p,m)=>{let{content:L,explanation:I,offset:x,...g}=p[u][d];f.variants[r[m].color]=g}),f})),i=o[0].state?new At(Object.fromEntries(o.map(l=>[l.theme,l.state?.getInternalStack(l.theme)])),o[0].state.lang):void 0;return i&&rr(s,i),s}function Cp(...e){let t=e.map(()=>[]),a=e.length;for(let r=0;r<e[0].length;r++){let o=e.map(l=>l[r]),n=t.map(()=>[]);t.forEach((l,u)=>l.push(n[u]));let s=o.map(()=>0),i=o.map(l=>l[0]);for(;i.every(l=>l);){let l=Math.min(...i.map(u=>u.content.length));for(let u=0;u<a;u++){let c=i[u];c.content.length===l?(n[u].push(c),s[u]+=1,i[u]=o[u][s[u]]):(n[u].push({...c,content:c.content.slice(0,l)}),i[u]={...c,content:c.content.slice(l),offset:c.offset+l})}}}return t}function er(e,t,a){let r,o,n,s,i,l;if("themes"in a){let{defaultColor:u="light",cssVariablePrefix:c="--shiki-",colorsRendering:d="css-vars"}=a,f=Object.entries(a.themes).filter(x=>x[1]).map(x=>({color:x[0],theme:x[1]})).sort((x,g)=>x.color===u?-1:g.color===u?1:0);if(f.length===0)throw new te("`themes` option must not be empty");let p=Wi(e,t,a);if(l=la(p),u&&bo!==u&&!f.find(x=>x.color===u))throw new te(`\`themes\` option must contain the defaultColor key \`${u}\``);let m=f.map(x=>e.getTheme(x.theme)),L=f.map(x=>x.color);n=p.map(x=>x.map(g=>ep(g,L,c,u,d))),l&&rr(n,l);let I=f.map(x=>Ja(x.theme,a));o=Mi(f,m,I,c,u,"fg",d),r=Mi(f,m,I,c,u,"bg",d),s=`shiki-themes ${m.map(x=>x.name).join(" ")}`,i=u?void 0:[o,r].join(";")}else if("theme"in a){let u=Ja(a.theme,a);n=ko(e,t,a);let c=e.getTheme(a.theme);r=rt(c.bg,u),o=rt(c.fg,u),s=c.name,l=la(n)}else throw new te("Invalid options, either `theme` or `themes` must be provided");return{tokens:n,fg:o,bg:r,themeName:s,rootStyle:i,grammarState:l}}function Mi(e,t,a,r,o,n,s){return e.map((i,l)=>{let u=rt(t[l][n],a[l])||"inherit",c=`${r+i.color}${n==="bg"?"-bg":""}:${u}`;if(l===0&&o){if(o===bo&&e.length>1){let d=e.findIndex(L=>L.color==="light"),f=e.findIndex(L=>L.color==="dark");if(d===-1||f===-1)throw new te('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let p=rt(t[d][n],a[d])||"inherit",m=rt(t[f][n],a[f])||"inherit";return`light-dark(${p}, ${m});${c}`}return u}return s==="css-vars"?c:null}).filter(i=>!!i).join(";")}function tr(e,t,a,r={meta:{},options:a,codeToHast:(o,n)=>tr(e,o,n),codeToTokens:(o,n)=>er(e,o,n)}){let o=t;for(let m of Za(a))o=m.preprocess?.call(r,o,a)||o;let{tokens:n,fg:s,bg:i,themeName:l,rootStyle:u,grammarState:c}=er(e,o,a),{mergeWhitespaces:d=!0,mergeSameStyleTokens:f=!1}=a;d===!0?n=yp(n):d==="never"&&(n=bp(n)),f&&(n=kp(n));let p={...r,get source(){return o}};for(let m of Za(a))n=m.tokens?.call(p,n)||n;return Sp(n,{...a,fg:s,bg:i,themeName:l,rootStyle:a.rootStyle===!1?!1:a.rootStyle??u},p,c)}function Sp(e,t,a,r=la(e)){let o=Za(t),n=[],s={type:"root",children:[]},{structure:i="classic",tabindex:l="0"}=t,u={class:`shiki ${t.themeName||""}`};t.rootStyle!==!1&&(t.rootStyle!=null?u.style=t.rootStyle:u.style=`background-color:${t.bg};color:${t.fg}`),l!==!1&&l!=null&&(u.tabindex=l.toString());for(let[L,I]of Object.entries(t.meta||{}))L.startsWith("_")||(u[L]=I);let c={type:"element",tagName:"pre",properties:u,children:[],data:t.data},d={type:"element",tagName:"code",properties:{},children:n},f=[],p={...a,structure:i,addClassToHast:Ni,get source(){return a.source},get tokens(){return e},get options(){return t},get root(){return s},get pre(){return c},get code(){return d},get lines(){return f}};if(e.forEach((L,I)=>{I&&(i==="inline"?s.children.push({type:"element",tagName:"br",properties:{},children:[]}):i==="classic"&&n.push({type:"text",value:`
|
|
13
|
-
`}));let x={type:"element",tagName:"span",properties:{class:"line"},children:[]},g=0;for(let h of L){let w={type:"element",tagName:"span",properties:{...h.htmlAttrs},children:[{type:"text",value:h.content}]},S=Io(h.htmlStyle||Ya(h));S&&(w.properties.style=S);for(let v of o)w=v?.span?.call(p,w,I+1,g,x,h)||w;i==="inline"?s.children.push(w):i==="classic"&&x.children.push(w),g+=h.content.length}if(i==="classic"){for(let h of o)x=h?.line?.call(p,x,I+1)||x;f.push(x),n.push(x)}else i==="inline"&&f.push(x)}),i==="classic"){for(let L of o)d=L?.code?.call(p,d)||d;c.children.push(d);for(let L of o)c=L?.pre?.call(p,c)||c;s.children.push(c)}else if(i==="inline"){let L=[],I={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(let h of s.children)h.type==="element"&&h.tagName==="br"?(L.push(I),I={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(h.type==="element"||h.type==="text")&&I.children.push(h);L.push(I);let g={type:"element",tagName:"code",properties:{},children:L};for(let h of o)g=h?.code?.call(p,g)||g;s.children=[];for(let h=0;h<g.children.length;h++){h>0&&s.children.push({type:"element",tagName:"br",properties:{},children:[]});let w=g.children[h];w.type==="element"&&s.children.push(...w.children)}}let m=s;for(let L of o)m=L?.root?.call(p,m)||m;return r&&rr(m,r),m}function yp(e){return e.map(t=>{let a=[],r="",o;return t.forEach((n,s)=>{let l=!(n.fontStyle&&(n.fontStyle&Le.Underline||n.fontStyle&Le.Strikethrough));l&&n.content.match(/^\s+$/)&&t[s+1]?(o===void 0&&(o=n.offset),r+=n.content):r?(l?a.push({...n,offset:o,content:r+n.content}):a.push({content:r,offset:o},n),o=void 0,r=""):a.push(n)}),a})}function bp(e){return e.map(t=>t.flatMap(a=>{if(a.content.match(/^\s+$/))return a;let r=a.content.match(/^(\s*)(.*?)(\s*)$/);if(!r)return a;let[,o,n,s]=r;if(!o&&!s)return a;let i=[{...a,offset:a.offset+o.length,content:n}];return o&&i.unshift({content:o,offset:a.offset}),s&&i.push({content:s,offset:a.offset+o.length+n.length}),i}))}function kp(e){return e.map(t=>{let a=[];for(let r of t){if(a.length===0){a.push({...r});continue}let o=a[a.length-1],n=Io(o.htmlStyle||Ya(o)),s=Io(r.htmlStyle||Ya(r)),i=o.fontStyle&&(o.fontStyle&Le.Underline||o.fontStyle&Le.Strikethrough),l=r.fontStyle&&(r.fontStyle&Le.Underline||r.fontStyle&Le.Strikethrough);!i&&!l&&n===s?o.content+=r.content:a.push({...r})}return a})}var Tp=go;function vp(e,t,a){let r={meta:{},options:a,codeToHast:(n,s)=>tr(e,n,s),codeToTokens:(n,s)=>er(e,n,s)},o=Tp(tr(e,t,a,r));for(let n of Za(a))o=n.postprocess?.call(r,o,a)||o;return o}var Fi={light:"#333333",dark:"#bbbbbb"},Bi={light:"#fffffe",dark:"#1e1e1e"},Ei="__shiki_resolved";function vo(e){if(e?.[Ei])return e;let t={...e};t.tokenColors&&!t.settings&&(t.settings=t.tokenColors,delete t.tokenColors),t.type||="dark",t.colorReplacements={...t.colorReplacements},t.settings||=[];let{bg:a,fg:r}=t;if(!a||!r){let i=t.settings?t.settings.find(l=>!l.name&&!l.scope):void 0;i?.settings?.foreground&&(r=i.settings.foreground),i?.settings?.background&&(a=i.settings.background),!r&&t?.colors?.["editor.foreground"]&&(r=t.colors["editor.foreground"]),!a&&t?.colors?.["editor.background"]&&(a=t.colors["editor.background"]),r||(r=t.type==="light"?Fi.light:Fi.dark),a||(a=t.type==="light"?Bi.light:Bi.dark),t.fg=r,t.bg=a}t.settings[0]&&t.settings[0].settings&&!t.settings[0].scope||t.settings.unshift({settings:{foreground:t.fg,background:t.bg}});let o=0,n=new Map;function s(i){if(n.has(i))return n.get(i);o+=1;let l=`#${o.toString(16).padStart(8,"0").toLowerCase()}`;return t.colorReplacements?.[`#${l}`]?s(i):(n.set(i,l),l)}t.settings=t.settings.map(i=>{let l=i.settings?.foreground&&!i.settings.foreground.startsWith("#"),u=i.settings?.background&&!i.settings.background.startsWith("#");if(!l&&!u)return i;let c={...i,settings:{...i.settings}};if(l){let d=s(i.settings.foreground);t.colorReplacements[d]=i.settings.foreground,c.settings.foreground=d}if(u){let d=s(i.settings.background);t.colorReplacements[d]=i.settings.background,c.settings.background=d}return c});for(let i of Object.keys(t.colors||{}))if((i==="editor.foreground"||i==="editor.background"||i.startsWith("terminal.ansi"))&&!t.colors[i]?.startsWith("#")){let l=s(t.colors[i]);t.colorReplacements[l]=t.colors[i],t.colors[i]=l}return Object.defineProperty(t,Ei,{enumerable:!1,writable:!1,value:!0}),t}async function Gi(e){return Array.from(new Set((await Promise.all(e.filter(t=>!_i(t)).map(async t=>await Di(t).then(a=>Array.isArray(a)?a:[a])))).flat()))}async function Vi(e){return(await Promise.all(e.map(async a=>Oi(a)?null:vo(await Di(a))))).filter(a=>!!a)}var xo=3,Pp=!1;function Ap(e,t=3){if(xo&&!(typeof xo=="number"&&t>xo)){if(Pp)throw new Error(`[SHIKI DEPRECATE]: ${e}`);console.trace(`[SHIKI DEPRECATE]: ${e}`)}}var at=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function zi(e,t){if(!t)return e;if(t[e]){let a=new Set([e]);for(;t[e];){if(e=t[e],a.has(e))throw new at(`Circular alias \`${Array.from(a).join(" -> ")} -> ${e}\``);a.add(e)}}return e}var Lo=class extends ui{constructor(t,a,r,o={}){super(t),this._resolver=t,this._themes=a,this._langs=r,this._alias=o,this._themes.map(n=>this.loadTheme(n)),this.loadLanguages(this._langs)}_resolvedThemes=new Map;_resolvedGrammars=new Map;_langMap=new Map;_langGraph=new Map;_textmateThemeCache=new WeakMap;_loadedThemesCache=null;_loadedLanguagesCache=null;getTheme(t){return typeof t=="string"?this._resolvedThemes.get(t):this.loadTheme(t)}loadTheme(t){let a=vo(t);return a.name&&(this._resolvedThemes.set(a.name,a),this._loadedThemesCache=null),a}getLoadedThemes(){return this._loadedThemesCache||(this._loadedThemesCache=[...this._resolvedThemes.keys()]),this._loadedThemesCache}setTheme(t){let a=this._textmateThemeCache.get(t);a||(a=ta.createFromRawTheme(t),this._textmateThemeCache.set(t,a)),this._syncRegistry.setTheme(a)}getGrammar(t){return t=zi(t,this._alias),this._resolvedGrammars.get(t)}loadLanguage(t){if(this.getGrammar(t.name))return;let a=new Set([...this._langMap.values()].filter(n=>n.embeddedLangsLazy?.includes(t.name)));this._resolver.addLanguage(t);let r={balancedBracketSelectors:t.balancedBracketSelectors||["*"],unbalancedBracketSelectors:t.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(t.scopeName,t);let o=this.loadGrammarWithConfiguration(t.scopeName,1,r);if(o.name=t.name,this._resolvedGrammars.set(t.name,o),t.aliases&&t.aliases.forEach(n=>{this._alias[n]=t.name}),this._loadedLanguagesCache=null,a.size)for(let n of a)this._resolvedGrammars.delete(n.name),this._loadedLanguagesCache=null,this._syncRegistry?._injectionGrammars?.delete(n.scopeName),this._syncRegistry?._grammars?.delete(n.scopeName),this.loadLanguage(this._langMap.get(n.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(t){for(let o of t)this.resolveEmbeddedLanguages(o);let a=Array.from(this._langGraph.entries()),r=a.filter(([o,n])=>!n);if(r.length){let o=a.filter(([n,s])=>s?(s.embeddedLanguages||s.embeddedLangs)?.some(l=>r.map(([u])=>u).includes(l)):!1).filter(n=>!r.includes(n));throw new at(`Missing languages ${r.map(([n])=>`\`${n}\``).join(", ")}, required by ${o.map(([n])=>`\`${n}\``).join(", ")}`)}for(let[o,n]of a)this._resolver.addLanguage(n);for(let[o,n]of a)this.loadLanguage(n)}getLoadedLanguages(){return this._loadedLanguagesCache||(this._loadedLanguagesCache=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])]),this._loadedLanguagesCache}resolveEmbeddedLanguages(t){this._langMap.set(t.name,t),this._langGraph.set(t.name,t);let a=t.embeddedLanguages??t.embeddedLangs;if(a)for(let r of a)this._langGraph.set(r,this._langMap.get(r))}},Co=class{_langs=new Map;_scopeToLang=new Map;_injections=new Map;_onigLib;constructor(t,a){this._onigLib={createOnigScanner:r=>t.createScanner(r),createOnigString:r=>t.createString(r)},a.forEach(r=>this.addLanguage(r))}get onigLib(){return this._onigLib}getLangRegistration(t){return this._langs.get(t)}loadGrammar(t){return this._scopeToLang.get(t)}addLanguage(t){this._langs.set(t.name,t),t.aliases&&t.aliases.forEach(a=>{this._langs.set(a,t)}),this._scopeToLang.set(t.scopeName,t),t.injectTo&&t.injectTo.forEach(a=>{this._injections.get(a)||this._injections.set(a,[]),this._injections.get(a).push(t.scopeName)})}getInjections(t){let a=t.split("."),r=[];for(let o=1;o<=a.length;o++){let n=a.slice(0,o).join(".");r=[...r,...this._injections.get(n)||[]]}return r}},ia=0;function Rp(e){ia+=1,e.warnings!==!1&&ia>=10&&ia%10===0&&console.warn(`[Shiki] ${ia} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \`highlighter.dispose()\` to release unused instances.`);let t=!1;if(!e.engine)throw new at("`engine` option is required for synchronous mode");let a=(e.langs||[]).flat(1),r=(e.themes||[]).flat(1).map(vo),o=new Co(e.engine,a),n=new Lo(o,r,a,e.langAlias),s;function i(h){return zi(h,e.langAlias)}function l(h){x();let w=n.getGrammar(typeof h=="string"?h:h.name);if(!w)throw new at(`Language \`${h}\` not found, you may need to load it first`);return w}function u(h){if(h==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};x();let w=n.getTheme(h);if(!w)throw new at(`Theme \`${h}\` not found, you may need to load it first`);return w}function c(h){x();let w=u(h);s!==h&&(n.setTheme(w),s=h);let S=n.getColorMap();return{theme:w,colorMap:S}}function d(){return x(),n.getLoadedThemes()}function f(){return x(),n.getLoadedLanguages()}function p(...h){x(),n.loadLanguages(h.flat(1))}async function m(...h){return p(await Gi(h))}function L(...h){x();for(let w of h.flat(1))n.loadTheme(w)}async function I(...h){return x(),L(await Vi(h))}function x(){if(t)throw new at("Shiki instance has been disposed")}function g(){t||(t=!0,n.dispose(),ia-=1)}return{setTheme:c,getTheme:u,getLanguage:l,getLoadedThemes:d,getLoadedLanguages:f,resolveLangAlias:i,loadLanguage:m,loadLanguageSync:p,loadTheme:I,loadThemeSync:L,dispose:g,[Symbol.dispose]:g}}async function Mp(e){e.engine||Ap("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,a,r]=await Promise.all([Vi(e.themes||[]),Gi(e.langs||[]),e.engine]);return Rp({...e,themes:t,langs:a,engine:r})}async function Fp(e){let t=await Mp(e);return{getLastGrammarState:(...a)=>hp(t,...a),codeToTokensBase:(a,r)=>ko(t,a,r),codeToTokensWithThemes:(a,r)=>Wi(t,a,r),codeToTokens:(a,r)=>er(t,a,r),codeToHast:(a,r)=>tr(t,a,r),codeToHtml:(a,r)=>vp(t,a,r),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function ji(e){let t=e.langs,a=e.themes,r=e.engine;async function o(n){function s(d){if(typeof d=="string"){if(d=n.langAlias?.[d]||d,_i(d))return[];let f=t[d];if(!f)throw new te(`Language \`${d}\` is not included in this bundle. You may want to load it from external source.`);return f}return d}function i(d){if(Oi(d))return"none";if(typeof d=="string"){let f=a[d];if(!f)throw new te(`Theme \`${d}\` is not included in this bundle. You may want to load it from external source.`);return f}return d}let l=(n.themes??[]).map(d=>i(d)),u=(n.langs??[]).map(d=>s(d)),c=await Fp({engine:n.engine??r(),...n,themes:l,langs:u});return{...c,loadLanguage(...d){return c.loadLanguage(...d.map(s))},loadTheme(...d){return c.loadTheme(...d.map(i))},getBundledLanguages(){return t},getBundledThemes(){return a}}}return o}function Bp(e){let t;async function a(r={}){if(t){let o=await t;return await Promise.all([o.loadTheme(...r.themes||[]),o.loadLanguage(...r.langs||[])]),o}else{t=e({...r,themes:[],langs:[]});let o=await t;return await Promise.all([o.loadTheme(...r.themes||[]),o.loadLanguage(...r.langs||[])]),o}}return a}function $i(e,t){let a=Bp(e);async function r(o,n){let s=await a({langs:[n.lang],themes:"theme"in n?[n.theme]:Object.values(n.themes)}),i=await t?.guessEmbeddedLanguages?.(o,n.lang,s);return i&&await s.loadLanguage(...i),s}return{getSingletonHighlighter(o){return a(o)},async codeToHtml(o,n){return(await r(o,n)).codeToHtml(o,n)},async codeToHast(o,n){return(await r(o,n)).codeToHast(o,n)},async codeToTokens(o,n){return(await r(o,n)).codeToTokens(o,n)},async codeToTokensBase(o,n){return(await r(o,n)).codeToTokensBase(o,n)},async codeToTokensWithThemes(o,n){return(await r(o,n)).codeToTokensWithThemes(o,n)},async getLastGrammarState(o,n){return(await a({langs:[n.lang],themes:[n.theme]})).getLastGrammarState(o,n)}}}var Po=[{id:"abap",name:"ABAP",import:(()=>import("../abap-KGVIZMDC.js"))},{id:"actionscript-3",name:"ActionScript",import:(()=>import("../actionscript-3-2UHK5QYP.js"))},{id:"ada",name:"Ada",import:(()=>import("../ada-JKTWR5BV.js"))},{id:"angular-html",name:"Angular HTML",import:(()=>import("../angular-html-EOIKHM3D.js"))},{id:"angular-ts",name:"Angular TypeScript",import:(()=>import("../angular-ts-DFS2FCNO.js"))},{id:"apache",name:"Apache Conf",import:(()=>import("../apache-MPGFGQFB.js"))},{id:"apex",name:"Apex",import:(()=>import("../apex-BOAZL66Z.js"))},{id:"apl",name:"APL",import:(()=>import("../apl-FBR445XW.js"))},{id:"applescript",name:"AppleScript",import:(()=>import("../applescript-C4CJ3STL.js"))},{id:"ara",name:"Ara",import:(()=>import("../ara-FSFFBRSD.js"))},{id:"asciidoc",name:"AsciiDoc",aliases:["adoc"],import:(()=>import("../asciidoc-QQK2LANG.js"))},{id:"asm",name:"Assembly",import:(()=>import("../asm-X43A2VYW.js"))},{id:"astro",name:"Astro",import:(()=>import("../astro-BMSTTQT4.js"))},{id:"awk",name:"AWK",import:(()=>import("../awk-4Z3PRTF7.js"))},{id:"ballerina",name:"Ballerina",import:(()=>import("../ballerina-JCXSJ2QD.js"))},{id:"bat",name:"Batch File",aliases:["batch"],import:(()=>import("../bat-XFWR7RMZ.js"))},{id:"beancount",name:"Beancount",import:(()=>import("../beancount-7BBDB4BH.js"))},{id:"berry",name:"Berry",aliases:["be"],import:(()=>import("../berry-PQ2BEJIZ.js"))},{id:"bibtex",name:"BibTeX",import:(()=>import("../bibtex-J2PAB23I.js"))},{id:"bicep",name:"Bicep",import:(()=>import("../bicep-TNKT6R3W.js"))},{id:"blade",name:"Blade",import:(()=>import("../blade-OHP5YUT7.js"))},{id:"bsl",name:"1C (Enterprise)",aliases:["1c"],import:(()=>import("../bsl-PQW6E45S.js"))},{id:"c",name:"C",import:(()=>import("../c-PZBJFNXE.js"))},{id:"c3",name:"C3",import:(()=>import("../c3-GP7XYHE6.js"))},{id:"cadence",name:"Cadence",aliases:["cdc"],import:(()=>import("../cadence-NABGDHKY.js"))},{id:"cairo",name:"Cairo",import:(()=>import("../cairo-WQSC2GLN.js"))},{id:"clarity",name:"Clarity",import:(()=>import("../clarity-NXNSINKX.js"))},{id:"clojure",name:"Clojure",aliases:["clj"],import:(()=>import("../clojure-Y57BKRMA.js"))},{id:"cmake",name:"CMake",import:(()=>import("../cmake-LVMEA3JZ.js"))},{id:"cobol",name:"COBOL",import:(()=>import("../cobol-LJNKRWP5.js"))},{id:"codeowners",name:"CODEOWNERS",import:(()=>import("../codeowners-JYHOTXQS.js"))},{id:"codeql",name:"CodeQL",aliases:["ql"],import:(()=>import("../codeql-IWWSYR3L.js"))},{id:"coffee",name:"CoffeeScript",aliases:["coffeescript"],import:(()=>import("../coffee-NNDQ5QXC.js"))},{id:"common-lisp",name:"Common Lisp",aliases:["lisp"],import:(()=>import("../common-lisp-JKXCDYH3.js"))},{id:"coq",name:"Coq",import:(()=>import("../coq-BEHPNP64.js"))},{id:"cpp",name:"C++",aliases:["c++"],import:(()=>import("../cpp-IALOHSZA.js"))},{id:"crystal",name:"Crystal",import:(()=>import("../crystal-ZDP3FIUI.js"))},{id:"csharp",name:"C#",aliases:["c#","cs"],import:(()=>import("../csharp-ODFBXRGA.js"))},{id:"css",name:"CSS",import:(()=>import("../css-CJGL5AVH.js"))},{id:"csv",name:"CSV",import:(()=>import("../csv-LIK4TU3Z.js"))},{id:"cue",name:"CUE",import:(()=>import("../cue-UAAEAKHI.js"))},{id:"cypher",name:"Cypher",aliases:["cql"],import:(()=>import("../cypher-SZPVUQZJ.js"))},{id:"d",name:"D",import:(()=>import("../d-VSCA3XHG.js"))},{id:"dart",name:"Dart",import:(()=>import("../dart-A4PE6FIS.js"))},{id:"dax",name:"DAX",import:(()=>import("../dax-TILIKSFB.js"))},{id:"desktop",name:"Desktop",import:(()=>import("../desktop-75KK3D55.js"))},{id:"diff",name:"Diff",import:(()=>import("../diff-HOT6P45M.js"))},{id:"docker",name:"Dockerfile",aliases:["dockerfile"],import:(()=>import("../docker-FF35TY6T.js"))},{id:"dotenv",name:"dotEnv",import:(()=>import("../dotenv-FVPPHJI3.js"))},{id:"dream-maker",name:"Dream Maker",import:(()=>import("../dream-maker-SYE3ZPSJ.js"))},{id:"edge",name:"Edge",import:(()=>import("../edge-CCLQ2CKA.js"))},{id:"elixir",name:"Elixir",import:(()=>import("../elixir-F6DQGRKA.js"))},{id:"elm",name:"Elm",import:(()=>import("../elm-5QRQXDZ6.js"))},{id:"emacs-lisp",name:"Emacs Lisp",aliases:["elisp"],import:(()=>import("../emacs-lisp-NJ4S4OHV.js"))},{id:"erb",name:"ERB",import:(()=>import("../erb-KUYJX32Q.js"))},{id:"erlang",name:"Erlang",aliases:["erl"],import:(()=>import("../erlang-APEONNZ6.js"))},{id:"fennel",name:"Fennel",import:(()=>import("../fennel-7OCMFVPS.js"))},{id:"fish",name:"Fish",import:(()=>import("../fish-BC46ME2N.js"))},{id:"fluent",name:"Fluent",aliases:["ftl"],import:(()=>import("../fluent-MXZS6EX3.js"))},{id:"fortran-fixed-form",name:"Fortran (Fixed Form)",aliases:["f","for","f77"],import:(()=>import("../fortran-fixed-form-35BC2KX6.js"))},{id:"fortran-free-form",name:"Fortran (Free Form)",aliases:["f90","f95","f03","f08","f18"],import:(()=>import("../fortran-free-form-AXRAI2HH.js"))},{id:"fsharp",name:"F#",aliases:["f#","fs"],import:(()=>import("../fsharp-JKNSQXHD.js"))},{id:"gdresource",name:"GDResource",aliases:["tscn","tres"],import:(()=>import("../gdresource-ZMKZGPZV.js"))},{id:"gdscript",name:"GDScript",aliases:["gd"],import:(()=>import("../gdscript-HNCVXEYB.js"))},{id:"gdshader",name:"GDShader",import:(()=>import("../gdshader-XAJ4QRYP.js"))},{id:"genie",name:"Genie",import:(()=>import("../genie-HEFVQZAP.js"))},{id:"gherkin",name:"Gherkin",import:(()=>import("../gherkin-OFBRDPXX.js"))},{id:"git-commit",name:"Git Commit Message",import:(()=>import("../git-commit-ZE2M3Q5H.js"))},{id:"git-rebase",name:"Git Rebase Message",import:(()=>import("../git-rebase-3N3INGLU.js"))},{id:"gleam",name:"Gleam",import:(()=>import("../gleam-NFFQFQLP.js"))},{id:"glimmer-js",name:"Glimmer JS",aliases:["gjs"],import:(()=>import("../glimmer-js-RSUW6JYN.js"))},{id:"glimmer-ts",name:"Glimmer TS",aliases:["gts"],import:(()=>import("../glimmer-ts-EZGWLX5T.js"))},{id:"glsl",name:"GLSL",import:(()=>import("../glsl-VJLRYEVJ.js"))},{id:"gn",name:"GN",import:(()=>import("../gn-UH2XQWLG.js"))},{id:"gnuplot",name:"Gnuplot",import:(()=>import("../gnuplot-K6IV6NNR.js"))},{id:"go",name:"Go",import:(()=>import("../go-BDV7RR5G.js"))},{id:"graphql",name:"GraphQL",aliases:["gql"],import:(()=>import("../graphql-NLMAEKLI.js"))},{id:"groovy",name:"Groovy",import:(()=>import("../groovy-SX7K3XGL.js"))},{id:"hack",name:"Hack",import:(()=>import("../hack-3TGPQNR2.js"))},{id:"haml",name:"Ruby Haml",import:(()=>import("../haml-335RVEQR.js"))},{id:"handlebars",name:"Handlebars",aliases:["hbs"],import:(()=>import("../handlebars-73IS6B2J.js"))},{id:"haskell",name:"Haskell",aliases:["hs"],import:(()=>import("../haskell-P5PTJARU.js"))},{id:"haxe",name:"Haxe",import:(()=>import("../haxe-RCPSSA3N.js"))},{id:"hcl",name:"HashiCorp HCL",import:(()=>import("../hcl-AKKZAVC2.js"))},{id:"hjson",name:"Hjson",import:(()=>import("../hjson-REXV6F6N.js"))},{id:"hlsl",name:"HLSL",import:(()=>import("../hlsl-AJ7VWOVL.js"))},{id:"html",name:"HTML",import:(()=>import("../html-654LNGWF.js"))},{id:"html-derivative",name:"HTML (Derivative)",import:(()=>import("../html-derivative-CMQ7BFDQ.js"))},{id:"http",name:"HTTP",import:(()=>import("../http-7ZVVH3VM.js"))},{id:"hurl",name:"Hurl",import:(()=>import("../hurl-B6WXEN45.js"))},{id:"hxml",name:"HXML",import:(()=>import("../hxml-5BXJCAAU.js"))},{id:"hy",name:"Hy",import:(()=>import("../hy-SB4TMFE7.js"))},{id:"imba",name:"Imba",import:(()=>import("../imba-Y64MHYWP.js"))},{id:"ini",name:"INI",aliases:["properties"],import:(()=>import("../ini-J2OP4CNW.js"))},{id:"java",name:"Java",import:(()=>import("../java-MJKJ5GPP.js"))},{id:"javascript",name:"JavaScript",aliases:["js","cjs","mjs"],import:(()=>import("../javascript-IYAGHPR6.js"))},{id:"jinja",name:"Jinja",import:(()=>import("../jinja-WPD26JJ6.js"))},{id:"jison",name:"Jison",import:(()=>import("../jison-UYDZQBN5.js"))},{id:"json",name:"JSON",import:(()=>import("../json-5V4JESJO.js"))},{id:"json5",name:"JSON5",import:(()=>import("../json5-7SHUZD3R.js"))},{id:"jsonc",name:"JSON with Comments",import:(()=>import("../jsonc-X3Z34FN3.js"))},{id:"jsonl",name:"JSON Lines",import:(()=>import("../jsonl-6I3D2HM6.js"))},{id:"jsonnet",name:"Jsonnet",import:(()=>import("../jsonnet-PZEQIBYV.js"))},{id:"jssm",name:"JSSM",aliases:["fsl"],import:(()=>import("../jssm-GJJ25IKR.js"))},{id:"jsx",name:"JSX",import:(()=>import("../jsx-NI2J427C.js"))},{id:"julia",name:"Julia",aliases:["jl"],import:(()=>import("../julia-CPV3A4MM.js"))},{id:"kdl",name:"KDL",import:(()=>import("../kdl-IA7HA2TL.js"))},{id:"kotlin",name:"Kotlin",aliases:["kt","kts"],import:(()=>import("../kotlin-CCRMGYMI.js"))},{id:"kusto",name:"Kusto",aliases:["kql"],import:(()=>import("../kusto-7DW25GYH.js"))},{id:"latex",name:"LaTeX",import:(()=>import("../latex-F2CTDTFG.js"))},{id:"lean",name:"Lean 4",aliases:["lean4"],import:(()=>import("../lean-MGJJWBTR.js"))},{id:"less",name:"Less",import:(()=>import("../less-WFSIMX5G.js"))},{id:"liquid",name:"Liquid",import:(()=>import("../liquid-7CFNUD3V.js"))},{id:"llvm",name:"LLVM IR",import:(()=>import("../llvm-CFQSEDXB.js"))},{id:"log",name:"Log file",import:(()=>import("../log-YQNML6LA.js"))},{id:"logo",name:"Logo",import:(()=>import("../logo-2PPKBL2M.js"))},{id:"lua",name:"Lua",import:(()=>import("../lua-RPAMRKNG.js"))},{id:"luau",name:"Luau",import:(()=>import("../luau-GR2DOH6N.js"))},{id:"make",name:"Makefile",aliases:["makefile"],import:(()=>import("../make-DQQEEPI4.js"))},{id:"markdown",name:"Markdown",aliases:["md"],import:(()=>import("../markdown-OC5ILZSY.js"))},{id:"marko",name:"Marko",import:(()=>import("../marko-XSB3CTWQ.js"))},{id:"matlab",name:"MATLAB",import:(()=>import("../matlab-YQY6FS4U.js"))},{id:"mdc",name:"MDC",import:(()=>import("../mdc-XWCHWP6B.js"))},{id:"mdx",name:"MDX",import:(()=>import("../mdx-ZIH2JLVR.js"))},{id:"mermaid",name:"Mermaid",aliases:["mmd"],import:(()=>import("../mermaid-WPX56SBB.js"))},{id:"mipsasm",name:"MIPS Assembly",aliases:["mips"],import:(()=>import("../mipsasm-IDXQRZ2B.js"))},{id:"mojo",name:"Mojo",import:(()=>import("../mojo-MH7EQVOK.js"))},{id:"moonbit",name:"MoonBit",aliases:["mbt","mbti"],import:(()=>import("../moonbit-5JDFTWKE.js"))},{id:"move",name:"Move",import:(()=>import("../move-RWSXKYDY.js"))},{id:"narrat",name:"Narrat Language",aliases:["nar"],import:(()=>import("../narrat-QJUEXMVV.js"))},{id:"nextflow",name:"Nextflow",aliases:["nf"],import:(()=>import("../nextflow-2EICNZA3.js"))},{id:"nginx",name:"Nginx",import:(()=>import("../nginx-RIWAEC5Z.js"))},{id:"nim",name:"Nim",import:(()=>import("../nim-U57UBFBS.js"))},{id:"nix",name:"Nix",import:(()=>import("../nix-XCKQVWCN.js"))},{id:"nushell",name:"nushell",aliases:["nu"],import:(()=>import("../nushell-QGW7HANA.js"))},{id:"objective-c",name:"Objective-C",aliases:["objc"],import:(()=>import("../objective-c-V7KYXFHL.js"))},{id:"objective-cpp",name:"Objective-C++",import:(()=>import("../objective-cpp-NKUEWVGU.js"))},{id:"ocaml",name:"OCaml",import:(()=>import("../ocaml-QT2CZJZN.js"))},{id:"odin",name:"Odin",import:(()=>import("../odin-MVMIXBHP.js"))},{id:"openscad",name:"OpenSCAD",aliases:["scad"],import:(()=>import("../openscad-BJDUXUUZ.js"))},{id:"pascal",name:"Pascal",import:(()=>import("../pascal-HGWEFD6L.js"))},{id:"perl",name:"Perl",import:(()=>import("../perl-IZHDGBO6.js"))},{id:"php",name:"PHP",import:(()=>import("../php-MNP62HWP.js"))},{id:"pkl",name:"Pkl",import:(()=>import("../pkl-VA5ZK5DW.js"))},{id:"plsql",name:"PL/SQL",import:(()=>import("../plsql-J7A7YWFH.js"))},{id:"po",name:"Gettext PO",aliases:["pot","potx"],import:(()=>import("../po-5RDI65JX.js"))},{id:"polar",name:"Polar",import:(()=>import("../polar-VUJL2E7F.js"))},{id:"postcss",name:"PostCSS",import:(()=>import("../postcss-ESTB5G7N.js"))},{id:"powerquery",name:"PowerQuery",import:(()=>import("../powerquery-ODTEKQCW.js"))},{id:"powershell",name:"PowerShell",aliases:["ps","ps1"],import:(()=>import("../powershell-ZOYRAWBJ.js"))},{id:"prisma",name:"Prisma",import:(()=>import("../prisma-QHG2W5GE.js"))},{id:"prolog",name:"Prolog",import:(()=>import("../prolog-CSAPG5PH.js"))},{id:"proto",name:"Protocol Buffer 3",aliases:["protobuf"],import:(()=>import("../proto-WDNJBTSW.js"))},{id:"pug",name:"Pug",aliases:["jade"],import:(()=>import("../pug-P7LS6DER.js"))},{id:"puppet",name:"Puppet",import:(()=>import("../puppet-LHFWHTY3.js"))},{id:"purescript",name:"PureScript",import:(()=>import("../purescript-DUFJP4FY.js"))},{id:"python",name:"Python",aliases:["py"],import:(()=>import("../python-5ZNZSNQ2.js"))},{id:"qml",name:"QML",import:(()=>import("../qml-LTAXB6W5.js"))},{id:"qmldir",name:"QML Directory",import:(()=>import("../qmldir-7Z2ODQLM.js"))},{id:"qss",name:"Qt Style Sheets",import:(()=>import("../qss-FDFD3HQD.js"))},{id:"r",name:"R",import:(()=>import("../r-6ZOS53WN.js"))},{id:"racket",name:"Racket",import:(()=>import("../racket-7AYZPEUI.js"))},{id:"raku",name:"Raku",aliases:["perl6"],import:(()=>import("../raku-A4F6VHVG.js"))},{id:"razor",name:"ASP.NET Razor",import:(()=>import("../razor-4QOCK4UD.js"))},{id:"reg",name:"Windows Registry Script",import:(()=>import("../reg-FAPHGG66.js"))},{id:"regexp",name:"RegExp",aliases:["regex"],import:(()=>import("../regexp-5BYLYA2R.js"))},{id:"rel",name:"Rel",import:(()=>import("../rel-7DJ7HHU4.js"))},{id:"riscv",name:"RISC-V",import:(()=>import("../riscv-YIYJATFG.js"))},{id:"ron",name:"RON",import:(()=>import("../ron-HYYMCHTX.js"))},{id:"rosmsg",name:"ROS Interface",import:(()=>import("../rosmsg-FDNH6QF7.js"))},{id:"rst",name:"reStructuredText",import:(()=>import("../rst-6KQSGP2V.js"))},{id:"ruby",name:"Ruby",aliases:["rb"],import:(()=>import("../ruby-OWE2HOOR.js"))},{id:"rust",name:"Rust",aliases:["rs"],import:(()=>import("../rust-V3GMJA2K.js"))},{id:"sas",name:"SAS",import:(()=>import("../sas-D3G4GB3X.js"))},{id:"sass",name:"Sass",import:(()=>import("../sass-JTO65AGR.js"))},{id:"scala",name:"Scala",import:(()=>import("../scala-4XQGFSVM.js"))},{id:"scheme",name:"Scheme",import:(()=>import("../scheme-CB7AC7IL.js"))},{id:"scss",name:"SCSS",import:(()=>import("../scss-6SKV4OGI.js"))},{id:"sdbl",name:"1C (Query)",aliases:["1c-query"],import:(()=>import("../sdbl-LKGZFJ46.js"))},{id:"shaderlab",name:"ShaderLab",aliases:["shader"],import:(()=>import("../shaderlab-K536DHEB.js"))},{id:"shellscript",name:"Shell",aliases:["bash","sh","shell","zsh"],import:(()=>import("../shellscript-LRNUKUSZ.js"))},{id:"shellsession",name:"Shell Session",aliases:["console"],import:(()=>import("../shellsession-IBQK7VWQ.js"))},{id:"smalltalk",name:"Smalltalk",import:(()=>import("../smalltalk-DQOSWAW7.js"))},{id:"solidity",name:"Solidity",import:(()=>import("../solidity-V2FMZEG4.js"))},{id:"soy",name:"Closure Templates",aliases:["closure-templates"],import:(()=>import("../soy-VW3CKXWF.js"))},{id:"sparql",name:"SPARQL",import:(()=>import("../sparql-L2VKP7YP.js"))},{id:"splunk",name:"Splunk Query Language",aliases:["spl"],import:(()=>import("../splunk-KDKHP7GC.js"))},{id:"sql",name:"SQL",import:(()=>import("../sql-UF27CALT.js"))},{id:"ssh-config",name:"SSH Config",import:(()=>import("../ssh-config-JC2DQ6ED.js"))},{id:"stata",name:"Stata",import:(()=>import("../stata-7PXCUY24.js"))},{id:"stylus",name:"Stylus",aliases:["styl"],import:(()=>import("../stylus-2L7N3EZD.js"))},{id:"surrealql",name:"SurrealQL",aliases:["surql"],import:(()=>import("../surrealql-ZY3E6XEL.js"))},{id:"svelte",name:"Svelte",import:(()=>import("../svelte-Q45XIK2A.js"))},{id:"swift",name:"Swift",import:(()=>import("../swift-XBH5HZSC.js"))},{id:"system-verilog",name:"SystemVerilog",import:(()=>import("../system-verilog-VRAUSZY3.js"))},{id:"systemd",name:"Systemd Units",import:(()=>import("../systemd-JOTSGJD4.js"))},{id:"talonscript",name:"TalonScript",aliases:["talon"],import:(()=>import("../talonscript-NNZRZKOU.js"))},{id:"tasl",name:"Tasl",import:(()=>import("../tasl-MBFZ4QNC.js"))},{id:"tcl",name:"Tcl",import:(()=>import("../tcl-4GEDCBVE.js"))},{id:"templ",name:"Templ",import:(()=>import("../templ-3XM7DLQ3.js"))},{id:"terraform",name:"Terraform",aliases:["tf","tfvars"],import:(()=>import("../terraform-XTHOS4UK.js"))},{id:"tex",name:"TeX",import:(()=>import("../tex-UXMN2CV7.js"))},{id:"toml",name:"TOML",import:(()=>import("../toml-J6K55ZSV.js"))},{id:"ts-tags",name:"TypeScript with Tags",aliases:["lit"],import:(()=>import("../ts-tags-XNK5N5RZ.js"))},{id:"tsv",name:"TSV",import:(()=>import("../tsv-DOUJHQDQ.js"))},{id:"tsx",name:"TSX",import:(()=>import("../tsx-G5BMVRHK.js"))},{id:"turtle",name:"Turtle",import:(()=>import("../turtle-JHJ7W6U5.js"))},{id:"twig",name:"Twig",import:(()=>import("../twig-OEIJ72KK.js"))},{id:"typescript",name:"TypeScript",aliases:["ts","cts","mts"],import:(()=>import("../typescript-LMKEAHFC.js"))},{id:"typespec",name:"TypeSpec",aliases:["tsp"],import:(()=>import("../typespec-5CLTIJYY.js"))},{id:"typst",name:"Typst",aliases:["typ"],import:(()=>import("../typst-4W4Z436Z.js"))},{id:"v",name:"V",import:(()=>import("../v-Y4SBDBN7.js"))},{id:"vala",name:"Vala",import:(()=>import("../vala-UMKT2MFA.js"))},{id:"vb",name:"Visual Basic",aliases:["cmd"],import:(()=>import("../vb-DQ7A5WJU.js"))},{id:"verilog",name:"Verilog",import:(()=>import("../verilog-N6ZF7GQD.js"))},{id:"vhdl",name:"VHDL",import:(()=>import("../vhdl-BNYDT37G.js"))},{id:"viml",name:"Vim Script",aliases:["vim","vimscript"],import:(()=>import("../viml-37RMDCBC.js"))},{id:"vue",name:"Vue",import:(()=>import("../vue-FIH2DYBE.js"))},{id:"vue-html",name:"Vue HTML",import:(()=>import("../vue-html-ZLTZN573.js"))},{id:"vue-vine",name:"Vue Vine",import:(()=>import("../vue-vine-6JKAZ54I.js"))},{id:"vyper",name:"Vyper",aliases:["vy"],import:(()=>import("../vyper-GVXF46KD.js"))},{id:"wasm",name:"WebAssembly",import:(()=>import("../wasm-NTB4O7GL.js"))},{id:"wenyan",name:"Wenyan",aliases:["\u6587\u8A00"],import:(()=>import("../wenyan-W7WB3BC7.js"))},{id:"wgsl",name:"WGSL",import:(()=>import("../wgsl-7GTDVXHG.js"))},{id:"wikitext",name:"Wikitext",aliases:["mediawiki","wiki"],import:(()=>import("../wikitext-ASAFPAIL.js"))},{id:"wit",name:"WebAssembly Interface Types",import:(()=>import("../wit-ZBCR6544.js"))},{id:"wolfram",name:"Wolfram",aliases:["wl"],import:(()=>import("../wolfram-SZRZOETJ.js"))},{id:"xml",name:"XML",import:(()=>import("../xml-EBTJCOTU.js"))},{id:"xsl",name:"XSL",import:(()=>import("../xsl-IBYEXWDX.js"))},{id:"yaml",name:"YAML",aliases:["yml"],import:(()=>import("../yaml-GMVQNECR.js"))},{id:"zenscript",name:"ZenScript",import:(()=>import("../zenscript-O2TZFP4A.js"))},{id:"zig",name:"Zig",import:(()=>import("../zig-ZLGM7IMN.js"))}],Xi=Object.fromEntries(Po.map(e=>[e.id,e.import])),Ki=Object.fromEntries(Po.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),ua={...Xi,...Ki};var Ep=[{id:"andromeeda",displayName:"Andromeeda",type:"dark",import:(()=>import("../andromeeda-HAPOYWX3.js"))},{id:"aurora-x",displayName:"Aurora X",type:"dark",import:(()=>import("../aurora-x-R6WAWEBC.js"))},{id:"ayu-dark",displayName:"Ayu Dark",type:"dark",import:(()=>import("../ayu-dark-KMD4YO7F.js"))},{id:"ayu-light",displayName:"Ayu Light",type:"light",import:(()=>import("../ayu-light-2ATPDILG.js"))},{id:"ayu-mirage",displayName:"Ayu Mirage",type:"dark",import:(()=>import("../ayu-mirage-LJ7PG5AM.js"))},{id:"catppuccin-frappe",displayName:"Catppuccin Frapp\xE9",type:"dark",import:(()=>import("../catppuccin-frappe-Z4Y2POK6.js"))},{id:"catppuccin-latte",displayName:"Catppuccin Latte",type:"light",import:(()=>import("../catppuccin-latte-4TQUIKX4.js"))},{id:"catppuccin-macchiato",displayName:"Catppuccin Macchiato",type:"dark",import:(()=>import("../catppuccin-macchiato-B7YYPERT.js"))},{id:"catppuccin-mocha",displayName:"Catppuccin Mocha",type:"dark",import:(()=>import("../catppuccin-mocha-KX33VXKA.js"))},{id:"dark-plus",displayName:"Dark Plus",type:"dark",import:(()=>import("../dark-plus-LNHXUR7U.js"))},{id:"dracula",displayName:"Dracula Theme",type:"dark",import:(()=>import("../dracula-T2CMBBQ5.js"))},{id:"dracula-soft",displayName:"Dracula Theme Soft",type:"dark",import:(()=>import("../dracula-soft-SMFRNKX2.js"))},{id:"everforest-dark",displayName:"Everforest Dark",type:"dark",import:(()=>import("../everforest-dark-DBZHIUAO.js"))},{id:"everforest-light",displayName:"Everforest Light",type:"light",import:(()=>import("../everforest-light-TDAGYJUK.js"))},{id:"github-dark",displayName:"GitHub Dark",type:"dark",import:(()=>import("../github-dark-3E25TTAN.js"))},{id:"github-dark-default",displayName:"GitHub Dark Default",type:"dark",import:(()=>import("../github-dark-default-KCBFVSS5.js"))},{id:"github-dark-dimmed",displayName:"GitHub Dark Dimmed",type:"dark",import:(()=>import("../github-dark-dimmed-WRCBXEVS.js"))},{id:"github-dark-high-contrast",displayName:"GitHub Dark High Contrast",type:"dark",import:(()=>import("../github-dark-high-contrast-ET7SAHAV.js"))},{id:"github-light",displayName:"GitHub Light",type:"light",import:(()=>import("../github-light-6FNTZH5H.js"))},{id:"github-light-default",displayName:"GitHub Light Default",type:"light",import:(()=>import("../github-light-default-GGTAKNM7.js"))},{id:"github-light-high-contrast",displayName:"GitHub Light High Contrast",type:"light",import:(()=>import("../github-light-high-contrast-LHYKPR5E.js"))},{id:"gruvbox-dark-hard",displayName:"Gruvbox Dark Hard",type:"dark",import:(()=>import("../gruvbox-dark-hard-IQWZCHF7.js"))},{id:"gruvbox-dark-medium",displayName:"Gruvbox Dark Medium",type:"dark",import:(()=>import("../gruvbox-dark-medium-ARPWF4FS.js"))},{id:"gruvbox-dark-soft",displayName:"Gruvbox Dark Soft",type:"dark",import:(()=>import("../gruvbox-dark-soft-ODS6FPID.js"))},{id:"gruvbox-light-hard",displayName:"Gruvbox Light Hard",type:"light",import:(()=>import("../gruvbox-light-hard-KFA5YFDW.js"))},{id:"gruvbox-light-medium",displayName:"Gruvbox Light Medium",type:"light",import:(()=>import("../gruvbox-light-medium-MMET4L3Y.js"))},{id:"gruvbox-light-soft",displayName:"Gruvbox Light Soft",type:"light",import:(()=>import("../gruvbox-light-soft-DBZDERMK.js"))},{id:"horizon",displayName:"Horizon",type:"dark",import:(()=>import("../horizon-FSOMPXNP.js"))},{id:"houston",displayName:"Houston",type:"dark",import:(()=>import("../houston-FAQBCORN.js"))},{id:"kanagawa-dragon",displayName:"Kanagawa Dragon",type:"dark",import:(()=>import("../kanagawa-dragon-JNDVF5RJ.js"))},{id:"kanagawa-lotus",displayName:"Kanagawa Lotus",type:"light",import:(()=>import("../kanagawa-lotus-S7JK6TQ6.js"))},{id:"kanagawa-wave",displayName:"Kanagawa Wave",type:"dark",import:(()=>import("../kanagawa-wave-QJJIMVEV.js"))},{id:"laserwave",displayName:"LaserWave",type:"dark",import:(()=>import("../laserwave-YFP3EJVX.js"))},{id:"light-plus",displayName:"Light Plus",type:"light",import:(()=>import("../light-plus-NGDHCPUZ.js"))},{id:"material-theme",displayName:"Material Theme",type:"dark",import:(()=>import("../material-theme-H2BHKUKX.js"))},{id:"material-theme-darker",displayName:"Material Theme Darker",type:"dark",import:(()=>import("../material-theme-darker-VENCGWTB.js"))},{id:"material-theme-lighter",displayName:"Material Theme Lighter",type:"light",import:(()=>import("../material-theme-lighter-SDMLS22W.js"))},{id:"material-theme-ocean",displayName:"Material Theme Ocean",type:"dark",import:(()=>import("../material-theme-ocean-UHDBRLVF.js"))},{id:"material-theme-palenight",displayName:"Material Theme Palenight",type:"dark",import:(()=>import("../material-theme-palenight-3TB2BEET.js"))},{id:"min-dark",displayName:"Min Dark",type:"dark",import:(()=>import("../min-dark-CQ5WKNT7.js"))},{id:"min-light",displayName:"Min Light",type:"light",import:(()=>import("../min-light-LZRD4NPR.js"))},{id:"monokai",displayName:"Monokai",type:"dark",import:(()=>import("../monokai-WHRY6275.js"))},{id:"night-owl",displayName:"Night Owl",type:"dark",import:(()=>import("../night-owl-7PNEW2JB.js"))},{id:"night-owl-light",displayName:"Night Owl Light",type:"light",import:(()=>import("../night-owl-light-GJUYOOJR.js"))},{id:"nord",displayName:"Nord",type:"dark",import:(()=>import("../nord-EVGUMUX2.js"))},{id:"one-dark-pro",displayName:"One Dark Pro",type:"dark",import:(()=>import("../one-dark-pro-PMTR3SA7.js"))},{id:"one-light",displayName:"One Light",type:"light",import:(()=>import("../one-light-O7WH4N5X.js"))},{id:"plastic",displayName:"Plastic",type:"dark",import:(()=>import("../plastic-FBVUW6NJ.js"))},{id:"poimandres",displayName:"Poimandres",type:"dark",import:(()=>import("../poimandres-WBB7GZAD.js"))},{id:"red",displayName:"Red",type:"dark",import:(()=>import("../red-7KAMONOP.js"))},{id:"rose-pine",displayName:"Ros\xE9 Pine",type:"dark",import:(()=>import("../rose-pine-F2G5IHZD.js"))},{id:"rose-pine-dawn",displayName:"Ros\xE9 Pine Dawn",type:"light",import:(()=>import("../rose-pine-dawn-ALZ7XGH2.js"))},{id:"rose-pine-moon",displayName:"Ros\xE9 Pine Moon",type:"dark",import:(()=>import("../rose-pine-moon-D3K4SWUL.js"))},{id:"slack-dark",displayName:"Slack Dark",type:"dark",import:(()=>import("../slack-dark-YFPJODWS.js"))},{id:"slack-ochin",displayName:"Slack Ochin",type:"light",import:(()=>import("../slack-ochin-H67AWZOI.js"))},{id:"snazzy-light",displayName:"Snazzy Light",type:"light",import:(()=>import("../snazzy-light-OUVS63VK.js"))},{id:"solarized-dark",displayName:"Solarized Dark",type:"dark",import:(()=>import("../solarized-dark-2RCAVEXJ.js"))},{id:"solarized-light",displayName:"Solarized Light",type:"light",import:(()=>import("../solarized-light-XFSENHTC.js"))},{id:"synthwave-84",displayName:"Synthwave '84",type:"dark",import:(()=>import("../synthwave-84-5XXB3K6S.js"))},{id:"tokyo-night",displayName:"Tokyo Night",type:"dark",import:(()=>import("../tokyo-night-CHJCCBJH.js"))},{id:"vesper",displayName:"Vesper",type:"dark",import:(()=>import("../vesper-Y5GIEAN4.js"))},{id:"vitesse-black",displayName:"Vitesse Black",type:"dark",import:(()=>import("../vitesse-black-7TI33KHX.js"))},{id:"vitesse-dark",displayName:"Vitesse Dark",type:"dark",import:(()=>import("../vitesse-dark-FOB25MRB.js"))},{id:"vitesse-light",displayName:"Vitesse Light",type:"light",import:(()=>import("../vitesse-light-4WCNCTCO.js"))}],Qi=Object.fromEntries(Ep.map(e=>[e.id,e.import]));var da=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Dp(){return 2147483648}function _p(){return typeof performance<"u"?performance.now():Date.now()}var Op=(e,t)=>e+(t-e%t)%t;async function Np(e){let t,a,r={};function o(p){a=p,r.HEAPU8=new Uint8Array(p),r.HEAPU32=new Uint32Array(p)}function n(p,m,L){r.HEAPU8.copyWithin(p,m,m+L)}function s(p){try{return t.grow(p-a.byteLength+65535>>>16),o(t.buffer),1}catch{}}function i(p){let m=r.HEAPU8.length;p=p>>>0;let L=Dp();if(p>L)return!1;for(let I=1;I<=4;I*=2){let x=m*(1+.2/I);x=Math.min(x,p+100663296);let g=Math.min(L,Op(Math.max(p,x),65536));if(s(g))return!0}return!1}let l=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function u(p,m,L=1024){let I=m+L,x=m;for(;p[x]&&!(x>=I);)++x;if(x-m>16&&p.buffer&&l)return l.decode(p.subarray(m,x));let g="";for(;m<x;){let h=p[m++];if(!(h&128)){g+=String.fromCharCode(h);continue}let w=p[m++]&63;if((h&224)===192){g+=String.fromCharCode((h&31)<<6|w);continue}let S=p[m++]&63;if((h&240)===224?h=(h&15)<<12|w<<6|S:h=(h&7)<<18|w<<12|S<<6|p[m++]&63,h<65536)g+=String.fromCharCode(h);else{let v=h-65536;g+=String.fromCharCode(55296|v>>10,56320|v&1023)}}return g}function c(p,m){return p?u(r.HEAPU8,p,m):""}let d={emscripten_get_now:_p,emscripten_memcpy_big:n,emscripten_resize_heap:i,fd_write:()=>0};async function f(){let m=await e({env:d,wasi_snapshot_preview1:d});t=m.memory,o(t.buffer),Object.assign(r,m),r.UTF8ToString=c}return await f(),r}var Up=Object.defineProperty,Hp=(e,t,a)=>t in e?Up(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,fe=(e,t,a)=>Hp(e,typeof t!="symbol"?t+"":t,a),ge=null;function qp(e){throw new da(e.UTF8ToString(e.getLastOnigError()))}var nr=class e{constructor(t){fe(this,"utf16Length"),fe(this,"utf8Length"),fe(this,"utf16Value"),fe(this,"utf8Value"),fe(this,"utf16OffsetToUtf8"),fe(this,"utf8OffsetToUtf16");let a=t.length,r=e._utf8ByteLength(t),o=r!==a,n=o?new Uint32Array(a+1):null;o&&(n[a]=r);let s=o?new Uint32Array(r+1):null;o&&(s[r]=a);let i=new Uint8Array(r),l=0;for(let u=0;u<a;u++){let c=t.charCodeAt(u),d=c,f=!1;if(c>=55296&&c<=56319&&u+1<a){let p=t.charCodeAt(u+1);p>=56320&&p<=57343&&(d=(c-55296<<10)+65536|p-56320,f=!0)}o&&(n[u]=l,f&&(n[u+1]=l),d<=127?s[l+0]=u:d<=2047?(s[l+0]=u,s[l+1]=u):d<=65535?(s[l+0]=u,s[l+1]=u,s[l+2]=u):(s[l+0]=u,s[l+1]=u,s[l+2]=u,s[l+3]=u)),d<=127?i[l++]=d:d<=2047?(i[l++]=192|(d&1984)>>>6,i[l++]=128|(d&63)>>>0):d<=65535?(i[l++]=224|(d&61440)>>>12,i[l++]=128|(d&4032)>>>6,i[l++]=128|(d&63)>>>0):(i[l++]=240|(d&1835008)>>>18,i[l++]=128|(d&258048)>>>12,i[l++]=128|(d&4032)>>>6,i[l++]=128|(d&63)>>>0),f&&u++}this.utf16Length=a,this.utf8Length=r,this.utf16Value=t,this.utf8Value=i,this.utf16OffsetToUtf8=n,this.utf8OffsetToUtf16=s}static _utf8ByteLength(t){let a=0;for(let r=0,o=t.length;r<o;r++){let n=t.charCodeAt(r),s=n,i=!1;if(n>=55296&&n<=56319&&r+1<o){let l=t.charCodeAt(r+1);l>=56320&&l<=57343&&(s=(n-55296<<10)+65536|l-56320,i=!0)}s<=127?a+=1:s<=2047?a+=2:s<=65535?a+=3:a+=4,i&&r++}return a}createString(t){let a=t.omalloc(this.utf8Length);return t.HEAPU8.set(this.utf8Value,a),a}},sr=class Ge{constructor(t){if(fe(this,"id",++Ge.LAST_ID),fe(this,"_onigBinding"),fe(this,"content"),fe(this,"utf16Length"),fe(this,"utf8Length"),fe(this,"utf16OffsetToUtf8"),fe(this,"utf8OffsetToUtf16"),fe(this,"ptr"),!ge)throw new da("Must invoke loadWasm first.");this._onigBinding=ge,this.content=t;let a=new nr(t);this.utf16Length=a.utf16Length,this.utf8Length=a.utf8Length,this.utf16OffsetToUtf8=a.utf16OffsetToUtf8,this.utf8OffsetToUtf16=a.utf8OffsetToUtf16,this.utf8Length<1e4&&!Ge._sharedPtrInUse?(Ge._sharedPtr||(Ge._sharedPtr=ge.omalloc(1e4)),Ge._sharedPtrInUse=!0,ge.HEAPU8.set(a.utf8Value,Ge._sharedPtr),this.ptr=Ge._sharedPtr):this.ptr=a.createString(ge)}convertUtf8OffsetToUtf16(t){return this.utf8OffsetToUtf16?t<0?0:t>this.utf8Length?this.utf16Length:this.utf8OffsetToUtf16[t]:t}convertUtf16OffsetToUtf8(t){return this.utf16OffsetToUtf8?t<0?0:t>this.utf16Length?this.utf8Length:this.utf16OffsetToUtf8[t]:t}dispose(){this.ptr===Ge._sharedPtr?Ge._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};fe(sr,"LAST_ID",0);fe(sr,"_sharedPtr",0);fe(sr,"_sharedPtrInUse",!1);var Ji=sr,Ro=class{constructor(t){if(fe(this,"_onigBinding"),fe(this,"_ptr"),!ge)throw new da("Must invoke loadWasm first.");let a=[],r=[];for(let i=0,l=t.length;i<l;i++){let u=new nr(t[i]);a[i]=u.createString(ge),r[i]=u.utf8Length}let o=ge.omalloc(4*t.length);ge.HEAPU32.set(a,o/4);let n=ge.omalloc(4*t.length);ge.HEAPU32.set(r,n/4);let s=ge.createOnigScanner(o,n,t.length);for(let i=0,l=t.length;i<l;i++)ge.ofree(a[i]);ge.ofree(n),ge.ofree(o),s===0&&qp(ge),this._onigBinding=ge,this._ptr=s}dispose(){this._onigBinding.freeOnigScanner(this._ptr)}findNextMatchSync(t,a,r){let o=0;if(typeof r=="number"&&(o=r),typeof t=="string"){t=new Ji(t);let n=this._findNextMatchSync(t,a,!1,o);return t.dispose(),n}return this._findNextMatchSync(t,a,!1,o)}_findNextMatchSync(t,a,r,o){let n=this._onigBinding,s=n.findNextOnigScannerMatch(this._ptr,t.id,t.ptr,t.utf8Length,t.convertUtf16OffsetToUtf8(a),o);if(s===0)return null;let i=n.HEAPU32,l=s/4,u=i[l++],c=i[l++],d=[];for(let f=0;f<c;f++){let p=t.convertUtf8OffsetToUtf16(i[l++]),m=t.convertUtf8OffsetToUtf16(i[l++]);d[f]={start:p,end:m,length:m-p}}return{index:u,captureIndices:d}}};function Wp(e){return typeof e.instantiator=="function"}function Gp(e){return typeof e.default=="function"}function Vp(e){return typeof e.data<"u"}function zp(e){return typeof Response<"u"&&e instanceof Response}function jp(e){return typeof ArrayBuffer<"u"&&(e instanceof ArrayBuffer||ArrayBuffer.isView(e))||typeof Buffer<"u"&&Buffer.isBuffer?.(e)||typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer||typeof Uint32Array<"u"&&e instanceof Uint32Array}var or;function $p(e){if(or)return or;async function t(){ge=await Np(async a=>{let r=e;return r=await r,typeof r=="function"&&(r=await r(a)),typeof r=="function"&&(r=await r(a)),Wp(r)?r=await r.instantiator(a):Gp(r)?r=await r.default(a):(Vp(r)&&(r=r.data),zp(r)?typeof WebAssembly.instantiateStreaming=="function"?r=await Xp(r)(a):r=await Kp(r)(a):jp(r)?r=await Ao(r)(a):r instanceof WebAssembly.Module?r=await Ao(r)(a):"default"in r&&r.default instanceof WebAssembly.Module&&(r=await Ao(r.default)(a))),"instance"in r&&(r=r.instance),"exports"in r&&(r=r.exports),r})}return or=t(),or}function Ao(e){return t=>WebAssembly.instantiate(e,t)}function Xp(e){return t=>WebAssembly.instantiateStreaming(e,t)}function Kp(e){return async t=>{let a=await e.arrayBuffer();return WebAssembly.instantiate(a,t)}}async function Yi(e){return e&&await $p(e),{createScanner(t){return new Ro(t.map(a=>typeof a=="string"?a:a.source))},createString(t){return new Ji(t)}}}var ir=ji({langs:ua,themes:Qi,engine:()=>Yi(import("../wasm-EOPKAILK.js"))}),{codeToHtml:Qp,codeToHast:Jp,codeToTokens:Yp,codeToTokensBase:Zp,codeToTokensWithThemes:em,getSingletonHighlighter:tm,getLastGrammarState:am}=$i(ir,{guessEmbeddedLanguages:Ui});var Zi=new Set(Object.keys(ua)),Mo=new Map,Fo=new Map,Rt=new Map,rm=(e,t)=>`${e}-${t[0]}-${t[1]}`,om=(e,t,a)=>{let r=e.slice(0,100),o=e.length>100?e.slice(-100):"";return`${t}:${a[0]}:${a[1]}:${e.length}:${r}:${o}`},nm=(e,t)=>{let a=rm(e,t);if(Mo.has(a))return Mo.get(a);let r=ir({themes:t,langs:[e]});return Mo.set(a,r),r};function sm(e={}){var t;let a=(t=e.themes)!=null?t:["github-light","github-dark"];return{name:"shiki",type:"code-highlighter",supportsLanguage(r){return Zi.has(r)},getSupportedLanguages(){return Array.from(Zi)},getThemes(){return a},highlight({code:r,language:o,themes:n},s){let i=om(r,o,n);return Fo.has(i)?Fo.get(i):(s&&(Rt.has(i)||Rt.set(i,new Set),Rt.get(i).add(s)),nm(o,n).then(l=>{let u=l.getLoadedLanguages().includes(o)?o:"text",c=l.codeToTokens(r,{lang:u,themes:{light:n[0],dark:n[1]}});Fo.set(i,c);let d=Rt.get(i);if(d){for(let f of d)f(c);Rt.delete(i)}}).catch(l=>{console.error("[Streamdown Code] Failed to highlight code:",l),Rt.delete(i)}),null)}}}var el=sm();import{memo as dm}from"react";import{useEffect as im,useRef as lr,useState as lm}from"react";var um=5,tl=400;function al(e,t,a={}){let{msPerChar:r=um}=a,[o,n]=lm(t?"":e),s=lr(e),i=lr(t?0:e.length),l=lr(0),u=lr(null);return(e.length<i.current||!e.startsWith(o.slice(0,i.current)))&&(i.current=t?0:e.length),s.current=e,im(()=>{if(!t){u.current!==null&&(cancelAnimationFrame(u.current),u.current=null),i.current=e.length,n(e);return}if(s.current.length-i.current>tl&&(i.current=s.current.length-tl),u.current!==null)return;let d=f=>{let p=s.current;if(i.current>=p.length){u.current=null;return}l.current===0&&(l.current=f);let m=f-l.current;if(m>=r){let L=Math.min(Math.floor(m/r),p.length-i.current);i.current+=L,n(p.slice(0,i.current)),l.current=f}u.current=requestAnimationFrame(d)};return u.current=requestAnimationFrame(d),()=>{u.current!==null&&(cancelAnimationFrame(u.current),u.current=null)}},[e,t,r]),o}import{jsx as ur}from"react/jsx-runtime";var Bo=({className:e,from:t,children:a,...r})=>ur("div",{className:T("ww-message ww:group ww:flex ww:w-full",t==="user"?"ww-message-user is-user ww:ml-auto ww:flex-col ww:items-end ww:[max-width:var(--ww-msg-max-width,80%)]":"ww-message-assistant is-assistant ww:flex-col",e),...r,children:ur("div",{className:T("ww:flex ww:min-w-0 ww:flex-col ww:gap-2","ww:w-full"),children:a})}),Eo=({children:e,className:t,...a})=>ur("div",{className:T("ww-bubble ww:flex ww:w-fit ww:min-w-0 ww:max-w-full ww:flex-col ww:gap-2 ww:overflow-hidden","ww:[font-size:var(--ww-font-size,1rem)] ww:[line-height:var(--ww-line-height,1.5)]","ww:group-[.is-user]:ml-auto ww:group-[.is-user]:bg-user-bubble ww:group-[.is-user]:[color:var(--ww-color-user-bubble-text)] ww:group-[.is-user]:[border-radius:var(--ww-msg-radius,8px)] ww:group-[.is-user]:[padding:var(--ww-msg-pad-y,12px)_var(--ww-msg-pad-x,16px)]","ww:group-[.is-assistant]:text-foreground",t),...a,children:e}),cm={cjk:to,code:el},fm={cjk:to},pm={enabled:!1};function mm({className:e,linkSafety:t,isStreaming:a,children:r,...o}){let s=al(typeof r=="string"?r:"",!!a),i=typeof r=="string"?s:r;return ur(Dt,{className:T("ww:size-full ww:[&>*:first-child]:mt-0 ww:[&>*:last-child]:mb-0",e),linkSafety:t??pm,plugins:a?fm:cm,...o,children:i})}var dr=dm(mm,(e,t)=>e.children===t.children&&e.isStreaming===t.isStreaming);dr.displayName="MessageResponse";import{createContext as hm,useCallback as gm,useContext as sl,useEffect as wm,useMemo as _o,useRef as xm,useState as Oo}from"react";import{Fragment as nl,jsx as J,jsxs as wt}from"react/jsx-runtime";function Im(e,t=80){if(e==null)return String(e);if(typeof e!="object")return String(e).slice(0,t);if(Array.isArray(e))return`Array(${e.length})`;let a=JSON.stringify(e);if(a.length<=t)return a;let r=Object.entries(e),o=[],n=t-2;for(let[s,i]of r){if(n<=8)break;let l=s.length>4?`${s.slice(0,4)}\u2026`:s,u;typeof i=="string"?u=i.length>2?`'${i.slice(0,1)}\u2026`:`'${i}'`:Array.isArray(i)?u=`Array(${i.length})`:typeof i=="object"&&i!==null?u="{\u2026}":u=String(i);let c=`${l}\u2009${u}`;o.push(c),n-=c.length+3}return`{${o.join(", ")}}`}function Lm({text:e,className:t}){let{t:a}=G(),[r,o]=Oo(!1),n=xm(null);wm(()=>()=>{n.current&&clearTimeout(n.current)},[]);let s=gm(async i=>{i.stopPropagation();try{await navigator.clipboard.writeText(e),o(!0),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>o(!1),2e3)}catch{}},[e]);return J(De,{variant:"ghost",size:"sm",onClick:s,className:T("ww:h-auto ww:gap-1 ww:px-1.5 ww:py-0.5 ww:text-xs ww:text-muted-foreground ww:hover:text-foreground",t),children:r?wt(nl,{children:[J(Ot,{className:"ww:size-3.5"}),J("span",{children:a.tool.copied})]}):wt(nl,{children:[J(Ut,{className:"ww:size-3.5"}),J("span",{children:a.tool.copy})]})})}function il({data:e,label:t,className:a,...r}){let[o,n]=Oo(!1),s=_o(()=>JSON.stringify(e,null,2),[e]),i=Im(e);return wt("div",{className:T("ww:rounded-lg ww:bg-tool-card",a),...r,children:[wt("div",{className:"ww:flex ww:items-center ww:justify-between ww:px-3 ww:pt-2.5 ww:pb-1.5",children:[J("span",{className:"ww:text-xs ww:font-medium ww:text-muted-foreground",children:t}),J(Lm,{text:s})]}),wt("button",{type:"button",onClick:()=>n(l=>!l),className:"ww:flex ww:w-full ww:items-start ww:gap-2 ww:px-3 ww:pb-3 ww:text-left",children:[J(Nt,{className:T("ww:mt-0.5 ww:size-3.5 ww:shrink-0 ww:text-muted-foreground ww:transition-transform ww:duration-150",o&&"ww:rotate-90")}),o?J("pre",{className:"ww:overflow-x-auto ww:text-xs ww:font-mono ww:text-foreground ww:whitespace-pre-wrap ww:break-all",children:J("code",{children:s})}):J("span",{className:"ww:truncate ww:text-xs ww:font-mono ww:text-foreground/80",children:i})]})]})}var No=hm({open:!1,toggle:()=>{}});function ll({className:e,defaultOpen:t=!1,children:a,...r}){let[o,n]=Oo(t);return J(No.Provider,{value:{open:o,toggle:()=>n(s=>!s)},children:J("div",{className:T("ww:mb-4 ww:w-full",e),"data-state":o?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...r,children:a})})}function ul({className:e,title:t,state:a,...r}){let{open:o,toggle:n}=sl(No),s=a==="input-available"||a==="input-streaming",i=t??"";return wt("button",{type:"button",onClick:n,className:T("ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),"aria-expanded":o,...r,children:[J(ut,{className:"ww:size-4 ww:shrink-0"}),J("span",{className:"ww:truncate",children:s?J(Ne,{duration:1.6,children:i}):i}),J(Je,{className:T("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",o&&"ww:rotate-180")})]})}function dl({className:e,title:t,state:a,...r}){let o=a==="input-available"||a==="input-streaming",n=t??"";return J("div",{className:T("ww:mb-4 ww:flex ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground",e),style:{animation:"ww-fade-in 0.2s ease-out"},...r,children:J("span",{className:"ww:truncate",children:o?J(Ne,{duration:1.6,children:n}):n})})}function cl({className:e,children:t,...a}){let{open:r}=sl(No);return J("div",{className:T("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",r?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:J("div",{className:"ww:min-h-0 ww:overflow-hidden",children:J("div",{className:T("ww:mt-2 ww:space-y-3 ww:rounded-lg ww:border ww:border-border ww:bg-background ww:p-3",e),...a,children:t})})})}function Uo({className:e,input:t,debug:a,...r}){let{t:o}=G(),n=_o(()=>{if(!a&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:s,...i}=t;return i}return t},[t,a]);return J(il,{data:n,label:o.tool.request,className:e,...r})}function Do(e){if(!(typeof e!="object"||e===null))return e}function fl(e){return Do(e?.ui)}function pl(e){return Do(Do(e)?._meta)}function rl(e){if(!e)return;let t=fl(e)?.resourceUri;if(typeof t=="string"&&t.length>0)return t;let a=e["ui/resourceUri"];if(typeof a=="string"&&a.length>0)return a;let r=e["openai/outputTemplate"];if(typeof r=="string"&&r.length>0)return r}function ol(e){return fl(e)?.autoHeight===!0}function ca(e,t,a){if(e){let r=rl(a?.[e]?._meta);if(r)return r}return rl(pl(t))}function ml(e,t,a){return e&&ol(a?.[e]?._meta)?!0:ol(pl(t))}function Ho({className:e,output:t,errorText:a,debug:r,...o}){let{t:n}=G(),s=_o(()=>{if(!r&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:i,...l}=t;return l}return t},[t,r]);return t||a?a?wt("div",{className:T("ww:space-y-2",e),...o,children:[J("h4",{className:"ww:text-xs ww:font-medium ww:uppercase ww:tracking-wide ww:text-muted-foreground",children:n.tool.error}),J("div",{className:"ww:rounded-lg ww:bg-destructive/10 ww:p-3 ww:text-xs ww:text-destructive",children:a})]}):J(il,{data:s,label:n.tool.response,className:e,...o}):null}import{jsx as hl,jsxs as Cm}from"react/jsx-runtime";function gl(e){return e.type==="text"||e.type==="reasoning"||e.type==="file"||"toolCallId"in e}function wl(e){return e.parts.some(gl)}function xl(e,t,a){if(t!=="submitted"&&t!=="streaming")return!1;let r=e[e.length-1];return!r||r.role!=="assistant"?!0:!r.parts.some(n=>!(!gl(n)||a?.ignoreToolParts&&"toolCallId"in n||a?.ignoreReasoningParts&&n.type==="reasoning"))}function Il({className:e,...t}){let{t:a}=G();return Cm("div",{"aria-live":"polite",className:T("ww:mb-4 ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground",e),style:{animation:"ww-fade-in 0.2s ease-out"},...t,children:[hl(zt,{className:"ww:size-4 ww:shrink-0"}),hl(Ne,{duration:1.6,children:a.workingIndicator.default})]})}import{useCallback as Sm,useEffect as qo,useMemo as ym,useRef as Te,useState as Cl}from"react";function Mt(e){if(!e)return!1;let t=Array.isArray(e.content)&&e.content.length>0,a=typeof e.structuredContent=="object"&&e.structuredContent!==null&&Object.keys(e.structuredContent).length>0;return t||a}function Ll(e,t){return!Mt(e)&&!Mt(t)?null:Mt(e)?Mt(t)?{...e.content||t.content?{content:[...e.content??[],...t.content??[]]}:{},...e.structuredContent||t.structuredContent?{structuredContent:{...e.structuredContent??{},...t.structuredContent??{}}}:{}}:{...e.content?{content:[...e.content]}:{},...e.structuredContent?{structuredContent:{...e.structuredContent}}:{}}:{...t?.content?{content:[...t.content]}:{},...t?.structuredContent?{structuredContent:{...t.structuredContent}}:{}}}import{jsx as Em}from"react/jsx-runtime";var bm="/api/mcp/resource",km=500,Tm=0,vm=16,Pm="2026-01-26",Am=300,Rm=3e3,Mm=3;function Fm(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function Bm(e,t,a){return ca(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function Wo({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:r=bm,chatSessionId:o,isDark:n=!1,className:s,autoHeight:i=!1,onOpenLink:l,onFollowUp:u,onCallTool:c,onDisplayModeChange:d,isFullscreen:f=!1,toolDefinitions:p}){let m=Te(null),L=Te(t),I=Te(a),x=Te({width:0,height:0}),g=Te(null),h=Te(!1),w=Te(0),S=Te("inline"),[v,A]=Cl(Tm),[P,E]=Cl(void 0),k=Te(l),B=Te(u),y=Te(c),X=Te(d),H=Te(o),R=Te(p);L.current=t,I.current=a,k.current=l,B.current=u,y.current=c,X.current=d,H.current=o,R.current=p;let b=Sm(U=>i?Math.max(U+vm,0):Math.min(Math.max(U,50),km),[i]),M=ym(()=>{let U=r.includes("?")?"&":"?";return`${r}${U}uri=${encodeURIComponent(e)}`},[r,e]),Pe=Te(n);Pe.current=n;let we=Te(f);return qo(()=>{we.current=f,x.current.height=-1,g.current&&(g.current.cancel(),g.current=null)},[f]),qo(()=>{if(!h.current)return;let U=m.current;U?.contentWindow&&U.contentWindow.postMessage({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{theme:n?"dark":"light"}},"*")},[n]),qo(()=>{let U=m.current;if(!U)return;let re=!1,oe=!1,ye=null,le=null,j=setTimeout(()=>{if(re||oe||w.current>=Mm)return;w.current+=1;let ce=new URL(U.src);ce.searchParams.set("_retry",String(w.current)),U.src=ce.toString()},Rm),W=ce=>{U.contentWindow?.postMessage(ce,"*")},Ae=ce=>{if(re||ce.source!==U.contentWindow)return;let K=ce.data;if(!K||typeof K!="object"||K.jsonrpc!=="2.0")return;let ue=K.method,V=K.id;if(ue==="ui/initialize"&&V!=null){oe=!0,clearTimeout(j),W({jsonrpc:"2.0",id:V,result:{protocolVersion:K.params?.protocolVersion??Pm,hostInfo:{name:"Waniwani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:Pe.current?"dark":"light",displayMode:S.current}}});return}if(ue==="ui/notifications/initialized"){h.current=!0;let O=L.current,q=I.current,N=q._meta&&typeof q._meta=="object"?q._meta:null,ne=Fm(H.current),Q=N&&typeof N.waniwani=="object"&&N.waniwani!==null?N.waniwani:null,xe=Q||ne?{...Q??{},...ne?{sessionId:ne}:{}}:void 0,be=N||xe?{...N??{},...xe?{waniwani:xe}:{}}:void 0;W({jsonrpc:"2.0",method:"ui/notifications/tool-input",params:{arguments:O}});let Re=q.content??[{type:"text",text:JSON.stringify(q)}];W({jsonrpc:"2.0",method:"ui/notifications/tool-result",params:{content:Re,structuredContent:q.structuredContent,_meta:be,meta:be}});return}if(ue==="ui/notifications/size-changed"){let O=K.params,q=typeof O?.height=="number"?O.height:void 0,N=typeof O?.width=="number"?O.width:void 0,ne=x.current,Q=q!==void 0&&q!==ne.height,xe=N!==void 0&&N!==ne.width;if(!Q&&!xe)return;if(Q&&q!==void 0){if(ne.height=q,we.current)return;let be=b(q),Re=U.getBoundingClientRect().height;if(g.current&&(g.current.cancel(),g.current=null),A(be),U.animate&&Math.abs(Re-be)>2){let Qe=U.animate([{height:`${Re}px`},{height:`${be}px`}],{duration:Am,easing:"ease-out",fill:"forwards"});g.current=Qe,Qe.onfinish=()=>{g.current===Qe&&(Qe.cancel(),g.current=null)}}}xe&&i&&N!==void 0&&(ne.width=N,E(N));return}if(ue==="ui/open-link"&&V!=null){let O=K.params?.url;typeof O=="string"&&(k.current?k.current(O):window.open(O,"_blank","noopener,noreferrer")),W({jsonrpc:"2.0",id:V,result:{}});return}if(ue==="ui/message"&&V!=null){if(B.current&&K.params){let O=K.params,q=ye;if(ye=null,le){clearTimeout(le.timer);let N=le.text;le=null;let ne=(O.content??[]).map(Q=>Q.text??"").join("").trim();O={...O,content:[{type:"text",text:`${ne}
|
|
12
|
+
\f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function ki(e,t,a,r){let o=r.schema,n=o.space==="svg"?!1:r.settings.omitOptionalTags,s=o.space==="svg"?r.settings.closeEmptyElements:r.settings.voids.includes(e.tagName.toLowerCase()),i=[],l;o.space==="html"&&e.tagName==="svg"&&(r.schema=Ca);let u=Uf(r,e.properties),c=r.all(o.space==="html"&&e.tagName==="template"?e.content:e);return r.schema=o,c&&(s=!1),(u||!n||!bi(e,t,a))&&(i.push("<",e.tagName,u?" "+u:""),s&&(o.space==="svg"||r.settings.closeSelfClosing)&&(l=u.charAt(u.length-1),(!r.settings.tightSelfClosing||l==="/"||l&&l!=='"'&&l!=="'")&&i.push(" "),i.push("/")),i.push(">")),i.push(c),!s&&(!n||!ia(e,t,a))&&i.push("</"+e.tagName+">"),i.join("")}function Uf(e,t){let a=[],r=-1,o;if(t){for(o in t)if(t[o]!==null&&t[o]!==void 0){let n=Hf(e,o,t[o]);n&&a.push(n)}}for(;++r<a.length;){let n=e.settings.tightAttributes?a[r].charAt(a[r].length-1):void 0;r!==a.length-1&&n!=='"'&&n!=="'"&&(a[r]+=" ")}return a.join("")}function Hf(e,t,a){let r=Pn(e.schema,t),o=e.settings.allowParseErrors&&e.schema.space==="html"?0:1,n=e.settings.allowDangerousCharacters?0:1,s=e.quote,i;if(r.overloadedBoolean&&(a===r.attribute||a==="")?a=!0:(r.boolean||r.overloadedBoolean)&&(typeof a!="string"||a===r.attribute||a==="")&&(a=!!a),a==null||a===!1||typeof a=="number"&&Number.isNaN(a))return"";let l=Xe(r.attribute,Object.assign({},e.settings.characterReferences,{subset:Ka.name[o][n]}));return a===!0||(a=Array.isArray(a)?(r.commaSeparated?Rn:Mn)(a,{padLeft:!e.settings.tightCommaSeparatedLists}):String(a),e.settings.collapseEmptyAttributes&&!a)?l:(e.settings.preferUnquoted&&(i=Xe(a,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:Ka.unquoted[o][n]}))),i!==a&&(e.settings.quoteSmart&&Or(a,s)>Or(a,e.alternative)&&(s=e.alternative),i=s+Xe(a,Object.assign({},e.settings.characterReferences,{subset:(s==="'"?Ka.single:Ka.double)[o][n],attribute:!0}))+s),l+(i&&"="+i))}var qf=["<","&"];function Qa(e,t,a,r){return a&&a.type==="element"&&(a.tagName==="script"||a.tagName==="style")?e.value:Xe(e.value,Object.assign({},r.settings.characterReferences,{subset:qf}))}function Ti(e,t,a,r){return r.settings.allowDangerousHtml?e.value:Qa(e,t,a,r)}function vi(e,t,a,r){return r.all(e)}var Pi=Fn("type",{invalid:Wf,unknown:Gf,handlers:{comment:Ii,doctype:Li,element:ki,raw:Ti,root:vi,text:Qa}});function Wf(e){throw new Error("Expected node, not `"+e+"`")}function Gf(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var Vf={},zf={},jf=[];function wo(e,t){let a=t||Vf,r=a.quote||'"',o=r==='"'?"'":'"';if(r!=='"'&&r!=="'")throw new Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:$f,all:Xf,settings:{omitOptionalTags:a.omitOptionalTags||!1,allowParseErrors:a.allowParseErrors||!1,allowDangerousCharacters:a.allowDangerousCharacters||!1,quoteSmart:a.quoteSmart||!1,preferUnquoted:a.preferUnquoted||!1,tightAttributes:a.tightAttributes||!1,upperDoctype:a.upperDoctype||!1,tightDoctype:a.tightDoctype||!1,bogusComments:a.bogusComments||!1,tightCommaSeparatedLists:a.tightCommaSeparatedLists||!1,tightSelfClosing:a.tightSelfClosing||!1,collapseEmptyAttributes:a.collapseEmptyAttributes||!1,allowDangerousHtml:a.allowDangerousHtml||!1,voids:a.voids||Bn,characterReferences:a.characterReferences||zf,closeSelfClosing:a.closeSelfClosing||!1,closeEmptyElements:a.closeEmptyElements||!1},schema:a.space==="svg"?Ca:An,quote:r,alternative:o}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function $f(e,t,a){return Pi(e,t,a,this)}function Xf(e){let t=[],a=e&&e.children||jf,r=-1;for(;++r<a.length;)t[r]=this.one(a[r],r,e);return t.join("")}function Ja(e,t){let a=typeof e=="string"?{}:{...e.colorReplacements},r=typeof e=="string"?e:e.name;for(let[o,n]of Object.entries(t?.colorReplacements||{}))typeof n=="string"?a[o]=n:o===r&&Object.assign(a,n);return a}function rt(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function Kf(e){return Array.isArray(e)?e:[e]}async function Di(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function yo(e){return!e||["plaintext","txt","text","plain"].includes(e)}function _i(e){return e==="ansi"||yo(e)}function bo(e){return e==="none"}function Oi(e){return bo(e)}function Ni(e,t){if(!t)return e;e.properties||={},e.properties.class||=[],typeof e.properties.class=="string"&&(e.properties.class=e.properties.class.split(/\s+/g)),Array.isArray(e.properties.class)||(e.properties.class=[]);let a=Array.isArray(t)?t:t.split(/\s+/g);for(let r of a)r&&!e.properties.class.includes(r)&&e.properties.class.push(r);return e}function ar(e,t=!1){if(e.length===0)return[["",0]];let a=e.split(/(\r?\n)/g),r=0,o=[];for(let n=0;n<a.length;n+=2){let s=t?a[n]+(a[n+1]||""):a[n];o.push([s,r]),r+=a[n].length,r+=a[n+1]?.length||0}return o}function Qf(e){let t=ar(e,!0).map(([o])=>o);function a(o){if(o===e.length)return{line:t.length-1,character:t[t.length-1].length};let n=o,s=0;for(let i of t){if(n<i.length)break;n-=i.length,s++}return{line:s,character:n}}function r(o,n){let s=0;for(let i=0;i<o;i++)s+=t[i].length;return s+=n,s}return{lines:t,indexToPos:a,posToIndex:r}}function Ui(e,t,a){let r=new Set;for(let n of e.matchAll(/:?lang=["']([^"']+)["']/g)){let s=n[1].toLowerCase().trim();s&&r.add(s)}for(let n of e.matchAll(/(?:```|~~~)([\w-]+)/g)){let s=n[1].toLowerCase().trim();s&&r.add(s)}for(let n of e.matchAll(/\\begin\{([\w-]+)\}/g)){let s=n[1].toLowerCase().trim();s&&r.add(s)}for(let n of e.matchAll(/<script\s+(?:type|lang)=["']([^"']+)["']/gi)){let s=n[1].toLowerCase().trim(),i=s.includes("/")?s.split("/").pop():s;i&&r.add(i)}if(!a)return Array.from(r);let o=a.getBundledLanguages();return Array.from(r).filter(n=>n&&o[n])}var ko="light-dark()",Jf=["color","background-color"];function Yf(e,t){let a=0,r=[];for(let o of t)o>a&&r.push({...e,content:e.content.slice(a,o),offset:e.offset+a}),a=o;return a<e.content.length&&r.push({...e,content:e.content.slice(a),offset:e.offset+a}),r}function Zf(e,t){let a=Array.from(t instanceof Set?t:new Set(t)).sort((r,o)=>r-o);return a.length?e.map(r=>r.flatMap(o=>{let n=a.filter(s=>o.offset<s&&s<o.offset+o.content.length).map(s=>s-o.offset).sort((s,i)=>s-i);return n.length?Yf(o,n):o})):e}function ep(e,t,a,r,o="css-vars"){let n={content:e.content,explanation:e.explanation,offset:e.offset},s=t.map(c=>Ya(e.variants[c])),i=new Set(s.flatMap(c=>Object.keys(c))),l={},u=(c,d)=>{let f=d==="color"?"":d==="background-color"?"-bg":`-${d}`;return a+t[c]+(d==="color"?"":f)};return s.forEach((c,d)=>{for(let f of i){let p=c[f]||"inherit";if(d===0&&r&&Jf.includes(f))if(r===ko&&s.length>1){let m=t.findIndex(g=>g==="light"),L=t.findIndex(g=>g==="dark");if(m===-1||L===-1)throw new te('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let I=s[m][f]||"inherit",x=s[L][f]||"inherit";l[f]=`light-dark(${I}, ${x})`,o==="css-vars"&&(l[u(d,f)]=p)}else l[f]=p;else o==="css-vars"&&(l[u(d,f)]=p)}}),n.htmlStyle=l,n}function Ya(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t["background-color"]=e.bgColor),e.fontStyle){e.fontStyle&Le.Italic&&(t["font-style"]="italic"),e.fontStyle&Le.Bold&&(t["font-weight"]="bold");let a=[];e.fontStyle&Le.Underline&&a.push("underline"),e.fontStyle&Le.Strikethrough&&a.push("line-through"),a.length&&(t["text-decoration"]=a.join(" "))}return t}function Lo(e){return typeof e=="string"?e:Object.entries(e).map(([t,a])=>`${t}:${a}`).join(";")}var Hi=new WeakMap;function rr(e,t){Hi.set(e,t)}function ua(e){return Hi.get(e)}var Rt=class e{_stacks={};lang;get themes(){return Object.keys(this._stacks)}get theme(){return this.themes[0]}get _stack(){return this._stacks[this.theme]}static initial(t,a){return new e(Object.fromEntries(Kf(a).map(r=>[r,za])),t)}constructor(...t){if(t.length===2){let[a,r]=t;this.lang=r,this._stacks=a}else{let[a,r,o]=t;this.lang=r,this._stacks={[o]:a}}}getInternalStack(t=this.theme){return this._stacks[t]}getScopes(t=this.theme){return tp(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function tp(e){let t=[],a=new Set;function r(o){if(a.has(o))return;a.add(o);let n=o?.nameScopesList?.scopeName;n&&t.push(n),o.parent&&r(o.parent)}return r(e),t}function ap(e,t){if(!(e instanceof Rt))throw new te("Invalid grammar state");return e.getInternalStack(t)}function rp(){let e=new WeakMap;function t(a){if(!e.has(a.meta)){let r=function(s){if(typeof s=="number"){if(s<0||s>a.source.length)throw new te(`Invalid decoration offset: ${s}. Code length: ${a.source.length}`);return{...o.indexToPos(s),offset:s}}else{let i=o.lines[s.line];if(i===void 0)throw new te(`Invalid decoration position ${JSON.stringify(s)}. Lines length: ${o.lines.length}`);let l=s.character;if(l<0&&(l=i.length+l),l<0||l>i.length)throw new te(`Invalid decoration position ${JSON.stringify(s)}. Line ${s.line} length: ${i.length}`);return{...s,character:l,offset:o.posToIndex(s.line,l)}}},o=Qf(a.source),n=(a.options.decorations||[]).map(s=>({...s,start:r(s.start),end:r(s.end)}));op(n),e.set(a.meta,{decorations:n,converter:o,source:a.source})}return e.get(a.meta)}return{name:"shiki:decorations",tokens(a){if(!this.options.decorations?.length)return;let o=t(this).decorations.flatMap(s=>[s.start.offset,s.end.offset]);return Zf(a,o)},code(a){if(!this.options.decorations?.length)return;let r=t(this),o=Array.from(a.children).filter(c=>c.type==="element"&&c.tagName==="span");if(o.length!==r.converter.lines.length)throw new te(`Number of lines in code element (${o.length}) does not match the number of lines in the source (${r.converter.lines.length}). Failed to apply decorations.`);function n(c,d,f,p){let m=o[c],L="",I=-1,x=-1;if(d===0&&(I=0),f===0&&(x=0),f===Number.POSITIVE_INFINITY&&(x=m.children.length),I===-1||x===-1)for(let h=0;h<m.children.length;h++)L+=qi(m.children[h]),I===-1&&L.length===d&&(I=h+1),x===-1&&L.length===f&&(x=h+1);if(I===-1)throw new te(`Failed to find start index for decoration ${JSON.stringify(p.start)}`);if(x===-1)throw new te(`Failed to find end index for decoration ${JSON.stringify(p.end)}`);let g=m.children.slice(I,x);if(!p.alwaysWrap&&g.length===m.children.length)i(m,p,"line");else if(!p.alwaysWrap&&g.length===1&&g[0].type==="element")i(g[0],p,"token");else{let h={type:"element",tagName:"span",properties:{},children:g};i(h,p,"wrapper"),m.children.splice(I,g.length,h)}}function s(c,d){o[c]=i(o[c],d,"line")}function i(c,d,f){let p=d.properties||{},m=d.transform||(L=>L);return c.tagName=d.tagName||"span",c.properties={...c.properties,...p,class:c.properties.class},d.properties?.class&&Ni(c,d.properties.class),c=m(c,f)||c,c}let l=[],u=r.decorations.sort((c,d)=>d.start.offset-c.start.offset||c.end.offset-d.end.offset);for(let c of u){let{start:d,end:f}=c;if(d.line===f.line)n(d.line,d.character,f.character,c);else if(d.line<f.line){n(d.line,d.character,Number.POSITIVE_INFINITY,c);for(let p=d.line+1;p<f.line;p++)l.unshift(()=>s(p,c));n(f.line,0,f.character,c)}}l.forEach(c=>c())}}}function op(e){for(let t=0;t<e.length;t++){let a=e[t];if(a.start.offset>a.end.offset)throw new te(`Invalid decoration range: ${JSON.stringify(a.start)} - ${JSON.stringify(a.end)}`);for(let r=t+1;r<e.length;r++){let o=e[r],n=a.start.offset<=o.start.offset&&o.start.offset<a.end.offset,s=a.start.offset<o.end.offset&&o.end.offset<=a.end.offset,i=o.start.offset<=a.start.offset&&a.start.offset<o.end.offset,l=o.start.offset<a.end.offset&&a.end.offset<=o.end.offset;if(n||s||i||l){if(n&&s||i&&l||i&&a.start.offset===a.end.offset||s&&o.start.offset===o.end.offset)continue;throw new te(`Decorations ${JSON.stringify(a.start)} and ${JSON.stringify(o.start)} intersect.`)}}}}function qi(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(qi).join(""):""}var np=[rp()];function Za(e){let t=sp(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...np]}function sp(e){let t=[],a=[],r=[];for(let o of e)switch(o.enforce){case"pre":t.push(o);break;case"post":a.push(o);break;default:r.push(o)}return{pre:t,post:a,normal:r}}var gt=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],xo={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function ip(e,t){let a=e.indexOf("\x1B",t);if(a!==-1&&e[a+1]==="["){let r=e.indexOf("m",a);if(r!==-1)return{sequence:e.substring(a+2,r).split(";"),startPosition:a,position:r+1}}return{position:e.length}}function Ai(e){let t=e.shift();if(t==="2"){let a=e.splice(0,3).map(r=>Number.parseInt(r));return a.length!==3||a.some(r=>Number.isNaN(r))?void 0:{type:"rgb",rgb:a}}else if(t==="5"){let a=e.shift();if(a)return{type:"table",index:Number(a)}}}function lp(e){let t=[];for(;e.length>0;){let a=e.shift();if(!a)continue;let r=Number.parseInt(a);if(!Number.isNaN(r))if(r===0)t.push({type:"resetAll"});else if(r<=9)xo[r]&&t.push({type:"setDecoration",value:xo[r]});else if(r<=29){let o=xo[r-20];o&&(t.push({type:"resetDecoration",value:o}),o==="dim"&&t.push({type:"resetDecoration",value:"bold"}))}else if(r<=37)t.push({type:"setForegroundColor",value:{type:"named",name:gt[r-30]}});else if(r===38){let o=Ai(e);o&&t.push({type:"setForegroundColor",value:o})}else if(r===39)t.push({type:"resetForegroundColor"});else if(r<=47)t.push({type:"setBackgroundColor",value:{type:"named",name:gt[r-40]}});else if(r===48){let o=Ai(e);o&&t.push({type:"setBackgroundColor",value:o})}else r===49?t.push({type:"resetBackgroundColor"}):r===53?t.push({type:"setDecoration",value:"overline"}):r===55?t.push({type:"resetDecoration",value:"overline"}):r>=90&&r<=97?t.push({type:"setForegroundColor",value:{type:"named",name:gt[r-90+8]}}):r>=100&&r<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:gt[r-100+8]}})}return t}function up(){let e=null,t=null,a=new Set;return{parse(r){let o=[],n=0;do{let s=ip(r,n),i=s.sequence?r.substring(n,s.startPosition):r.substring(n);if(i.length>0&&o.push({value:i,foreground:e,background:t,decorations:new Set(a)}),s.sequence){let l=lp(s.sequence);for(let u of l)u.type==="resetAll"?(e=null,t=null,a.clear()):u.type==="resetForegroundColor"?e=null:u.type==="resetBackgroundColor"?t=null:u.type==="resetDecoration"&&a.delete(u.value);for(let u of l)u.type==="setForegroundColor"?e=u.value:u.type==="setBackgroundColor"?t=u.value:u.type==="setDecoration"&&a.add(u.value)}n=s.position}while(n<r.length);return o}}}var dp={black:"#000000",red:"#bb0000",green:"#00bb00",yellow:"#bbbb00",blue:"#0000bb",magenta:"#ff00ff",cyan:"#00bbbb",white:"#eeeeee",brightBlack:"#555555",brightRed:"#ff5555",brightGreen:"#00ff00",brightYellow:"#ffff55",brightBlue:"#5555ff",brightMagenta:"#ff55ff",brightCyan:"#55ffff",brightWhite:"#ffffff"};function cp(e=dp){function t(i){return e[i]}function a(i){return`#${i.map(l=>Math.max(0,Math.min(l,255)).toString(16).padStart(2,"0")).join("")}`}let r;function o(){if(r)return r;r=[];for(let u=0;u<gt.length;u++)r.push(t(gt[u]));let i=[0,95,135,175,215,255];for(let u=0;u<6;u++)for(let c=0;c<6;c++)for(let d=0;d<6;d++)r.push(a([i[u],i[c],i[d]]));let l=8;for(let u=0;u<24;u++,l+=10)r.push(a([l,l,l]));return r}function n(i){return o()[i]}function s(i){switch(i.type){case"named":return t(i.name);case"rgb":return a(i.rgb);case"table":return n(i.index)}}return{value:s}}var fp={black:"#000000",red:"#cd3131",green:"#0DBC79",yellow:"#E5E510",blue:"#2472C8",magenta:"#BC3FBC",cyan:"#11A8CD",white:"#E5E5E5",brightBlack:"#666666",brightRed:"#F14C4C",brightGreen:"#23D18B",brightYellow:"#F5F543",brightBlue:"#3B8EEA",brightMagenta:"#D670D6",brightCyan:"#29B8DB",brightWhite:"#FFFFFF"};function pp(e,t,a){let r=Ja(e,a),o=ar(t),n=Object.fromEntries(gt.map(l=>{let u=`terminal.ansi${l[0].toUpperCase()}${l.substring(1)}`,c=e.colors?.[u];return[l,c||fp[l]]})),s=cp(n),i=up();return o.map(l=>i.parse(l[0]).map(u=>{let c,d;u.decorations.has("reverse")?(c=u.background?s.value(u.background):e.bg,d=u.foreground?s.value(u.foreground):e.fg):(c=u.foreground?s.value(u.foreground):e.fg,d=u.background?s.value(u.background):void 0),c=rt(c,r),d=rt(d,r),u.decorations.has("dim")&&(c=mp(c));let f=Le.None;return u.decorations.has("bold")&&(f|=Le.Bold),u.decorations.has("italic")&&(f|=Le.Italic),u.decorations.has("underline")&&(f|=Le.Underline),u.decorations.has("strikethrough")&&(f|=Le.Strikethrough),{content:u.value,offset:l[1],color:c,bgColor:d,fontStyle:f}}))}function mp(e){let t=e.match(/#([0-9a-f]{3,8})/i);if(t){let r=t[1];if(r.length===8){let o=Math.round(Number.parseInt(r.slice(6,8),16)/2).toString(16).padStart(2,"0");return`#${r.slice(0,6)}${o}`}else{if(r.length===6)return`#${r}80`;if(r.length===4){let o=r[0],n=r[1],s=r[2],i=r[3],l=Math.round(Number.parseInt(`${i}${i}`,16)/2).toString(16).padStart(2,"0");return`#${o}${o}${n}${n}${s}${s}${l}`}else if(r.length===3){let o=r[0],n=r[1],s=r[2];return`#${o}${o}${n}${n}${s}${s}80`}}}let a=e.match(/var\((--[\w-]+-ansi-[\w-]+)\)/);return a?`var(${a[1]}-dim)`:e}function To(e,t,a={}){let{theme:r=e.getLoadedThemes()[0]}=a,o=e.resolveLangAlias(a.lang||"text");if(yo(o)||bo(r))return ar(t).map(l=>[{content:l[0],offset:l[1]}]);let{theme:n,colorMap:s}=e.setTheme(r);if(o==="ansi")return pp(n,t,a);let i=e.getLanguage(a.lang||"text");if(a.grammarState){if(a.grammarState.lang!==i.name)throw new te(`Grammar state language "${a.grammarState.lang}" does not match highlight language "${i.name}"`);if(!a.grammarState.themes.includes(n.name))throw new te(`Grammar state themes "${a.grammarState.themes}" do not contain highlight theme "${n.name}"`)}return gp(t,i,n,s,a)}function hp(...e){if(e.length===2)return ua(e[1]);let[t,a,r={}]=e,{lang:o="text",theme:n=t.getLoadedThemes()[0]}=r;if(yo(o)||bo(n))throw new te("Plain language does not have grammar state");if(o==="ansi")throw new te("ANSI language does not have grammar state");let{theme:s,colorMap:i}=t.setTheme(n),l=t.getLanguage(o);return new Rt(vo(a,l,s,i,r).stateStack,l.name,s.name)}function gp(e,t,a,r,o){let n=vo(e,t,a,r,o),s=new Rt(n.stateStack,t.name,a.name);return rr(n.tokens,s),n.tokens}function vo(e,t,a,r,o){let n=Ja(a,o),{tokenizeMaxLineLength:s=0,tokenizeTimeLimit:i=500}=o,l=ar(e),u=o.grammarState?ap(o.grammarState,a.name)??za:o.grammarContextCode!=null?vo(o.grammarContextCode,t,a,r,{...o,grammarState:void 0,grammarContextCode:void 0}).stateStack:za,c=[],d=[];for(let f=0,p=l.length;f<p;f++){let[m,L]=l[f];if(m===""){c=[],d.push([]);continue}if(s>0&&m.length>=s){c=[],d.push([{content:m,offset:L,color:"",fontStyle:0}]);continue}let I,x,g;o.includeExplanation&&(I=t.tokenizeLine(m,u,i),x=I.tokens,g=0);let h=t.tokenizeLine2(m,u,i),w=h.tokens.length/2;for(let S=0;S<w;S++){let v=h.tokens[2*S],A=S+1<w?h.tokens[2*S+2]:m.length;if(v===A)continue;let P=h.tokens[2*S+1],E=rt(r[ht.getForeground(P)],n),k=ht.getFontStyle(P),B={content:m.substring(v,A),offset:L+v,color:E,fontStyle:k};if(o.includeExplanation){let y=[];if(o.includeExplanation!=="scopeName")for(let H of a.settings){let R;switch(typeof H.scope){case"string":R=H.scope.split(/,/).map(b=>b.trim());break;case"object":R=H.scope;break;default:continue}y.push({settings:H,selectors:R.map(b=>b.split(/ /))})}B.explanation=[];let X=0;for(;v+X<A;){let H=x[g],R=m.substring(H.startIndex,H.endIndex);X+=R.length,B.explanation.push({content:R,scopes:o.includeExplanation==="scopeName"?wp(H.scopes):xp(y,H.scopes)}),g+=1}}c.push(B)}d.push(c),c=[],u=h.ruleStack}return{tokens:d,stateStack:u}}function wp(e){return e.map(t=>({scopeName:t}))}function xp(e,t){let a=[];for(let r=0,o=t.length;r<o;r++){let n=t[r];a[r]={scopeName:n,themeMatches:Lp(e,n,t.slice(0,r))}}return a}function Ri(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function Ip(e,t,a){if(!Ri(e[e.length-1],t))return!1;let r=e.length-2,o=a.length-1;for(;r>=0&&o>=0;)Ri(e[r],a[o])&&(r-=1),o-=1;return r===-1}function Lp(e,t,a){let r=[];for(let{selectors:o,settings:n}of e)for(let s of o)if(Ip(s,t,a)){r.push(n);break}return r}function Wi(e,t,a){let r=Object.entries(a.themes).filter(l=>l[1]).map(l=>({color:l[0],theme:l[1]})),o=r.map(l=>{let u=To(e,t,{...a,theme:l.theme}),c=ua(u),d=typeof l.theme=="string"?l.theme:l.theme.name;return{tokens:u,state:c,theme:d}}),n=Cp(...o.map(l=>l.tokens)),s=n[0].map((l,u)=>l.map((c,d)=>{let f={content:c.content,variants:{},offset:c.offset};return"includeExplanation"in a&&a.includeExplanation&&(f.explanation=c.explanation),n.forEach((p,m)=>{let{content:L,explanation:I,offset:x,...g}=p[u][d];f.variants[r[m].color]=g}),f})),i=o[0].state?new Rt(Object.fromEntries(o.map(l=>[l.theme,l.state?.getInternalStack(l.theme)])),o[0].state.lang):void 0;return i&&rr(s,i),s}function Cp(...e){let t=e.map(()=>[]),a=e.length;for(let r=0;r<e[0].length;r++){let o=e.map(l=>l[r]),n=t.map(()=>[]);t.forEach((l,u)=>l.push(n[u]));let s=o.map(()=>0),i=o.map(l=>l[0]);for(;i.every(l=>l);){let l=Math.min(...i.map(u=>u.content.length));for(let u=0;u<a;u++){let c=i[u];c.content.length===l?(n[u].push(c),s[u]+=1,i[u]=o[u][s[u]]):(n[u].push({...c,content:c.content.slice(0,l)}),i[u]={...c,content:c.content.slice(l),offset:c.offset+l})}}}return t}function er(e,t,a){let r,o,n,s,i,l;if("themes"in a){let{defaultColor:u="light",cssVariablePrefix:c="--shiki-",colorsRendering:d="css-vars"}=a,f=Object.entries(a.themes).filter(x=>x[1]).map(x=>({color:x[0],theme:x[1]})).sort((x,g)=>x.color===u?-1:g.color===u?1:0);if(f.length===0)throw new te("`themes` option must not be empty");let p=Wi(e,t,a);if(l=ua(p),u&&ko!==u&&!f.find(x=>x.color===u))throw new te(`\`themes\` option must contain the defaultColor key \`${u}\``);let m=f.map(x=>e.getTheme(x.theme)),L=f.map(x=>x.color);n=p.map(x=>x.map(g=>ep(g,L,c,u,d))),l&&rr(n,l);let I=f.map(x=>Ja(x.theme,a));o=Mi(f,m,I,c,u,"fg",d),r=Mi(f,m,I,c,u,"bg",d),s=`shiki-themes ${m.map(x=>x.name).join(" ")}`,i=u?void 0:[o,r].join(";")}else if("theme"in a){let u=Ja(a.theme,a);n=To(e,t,a);let c=e.getTheme(a.theme);r=rt(c.bg,u),o=rt(c.fg,u),s=c.name,l=ua(n)}else throw new te("Invalid options, either `theme` or `themes` must be provided");return{tokens:n,fg:o,bg:r,themeName:s,rootStyle:i,grammarState:l}}function Mi(e,t,a,r,o,n,s){return e.map((i,l)=>{let u=rt(t[l][n],a[l])||"inherit",c=`${r+i.color}${n==="bg"?"-bg":""}:${u}`;if(l===0&&o){if(o===ko&&e.length>1){let d=e.findIndex(L=>L.color==="light"),f=e.findIndex(L=>L.color==="dark");if(d===-1||f===-1)throw new te('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');let p=rt(t[d][n],a[d])||"inherit",m=rt(t[f][n],a[f])||"inherit";return`light-dark(${p}, ${m});${c}`}return u}return s==="css-vars"?c:null}).filter(i=>!!i).join(";")}function tr(e,t,a,r={meta:{},options:a,codeToHast:(o,n)=>tr(e,o,n),codeToTokens:(o,n)=>er(e,o,n)}){let o=t;for(let m of Za(a))o=m.preprocess?.call(r,o,a)||o;let{tokens:n,fg:s,bg:i,themeName:l,rootStyle:u,grammarState:c}=er(e,o,a),{mergeWhitespaces:d=!0,mergeSameStyleTokens:f=!1}=a;d===!0?n=yp(n):d==="never"&&(n=bp(n)),f&&(n=kp(n));let p={...r,get source(){return o}};for(let m of Za(a))n=m.tokens?.call(p,n)||n;return Sp(n,{...a,fg:s,bg:i,themeName:l,rootStyle:a.rootStyle===!1?!1:a.rootStyle??u},p,c)}function Sp(e,t,a,r=ua(e)){let o=Za(t),n=[],s={type:"root",children:[]},{structure:i="classic",tabindex:l="0"}=t,u={class:`shiki ${t.themeName||""}`};t.rootStyle!==!1&&(t.rootStyle!=null?u.style=t.rootStyle:u.style=`background-color:${t.bg};color:${t.fg}`),l!==!1&&l!=null&&(u.tabindex=l.toString());for(let[L,I]of Object.entries(t.meta||{}))L.startsWith("_")||(u[L]=I);let c={type:"element",tagName:"pre",properties:u,children:[],data:t.data},d={type:"element",tagName:"code",properties:{},children:n},f=[],p={...a,structure:i,addClassToHast:Ni,get source(){return a.source},get tokens(){return e},get options(){return t},get root(){return s},get pre(){return c},get code(){return d},get lines(){return f}};if(e.forEach((L,I)=>{I&&(i==="inline"?s.children.push({type:"element",tagName:"br",properties:{},children:[]}):i==="classic"&&n.push({type:"text",value:`
|
|
13
|
+
`}));let x={type:"element",tagName:"span",properties:{class:"line"},children:[]},g=0;for(let h of L){let w={type:"element",tagName:"span",properties:{...h.htmlAttrs},children:[{type:"text",value:h.content}]},S=Lo(h.htmlStyle||Ya(h));S&&(w.properties.style=S);for(let v of o)w=v?.span?.call(p,w,I+1,g,x,h)||w;i==="inline"?s.children.push(w):i==="classic"&&x.children.push(w),g+=h.content.length}if(i==="classic"){for(let h of o)x=h?.line?.call(p,x,I+1)||x;f.push(x),n.push(x)}else i==="inline"&&f.push(x)}),i==="classic"){for(let L of o)d=L?.code?.call(p,d)||d;c.children.push(d);for(let L of o)c=L?.pre?.call(p,c)||c;s.children.push(c)}else if(i==="inline"){let L=[],I={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(let h of s.children)h.type==="element"&&h.tagName==="br"?(L.push(I),I={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(h.type==="element"||h.type==="text")&&I.children.push(h);L.push(I);let g={type:"element",tagName:"code",properties:{},children:L};for(let h of o)g=h?.code?.call(p,g)||g;s.children=[];for(let h=0;h<g.children.length;h++){h>0&&s.children.push({type:"element",tagName:"br",properties:{},children:[]});let w=g.children[h];w.type==="element"&&s.children.push(...w.children)}}let m=s;for(let L of o)m=L?.root?.call(p,m)||m;return r&&rr(m,r),m}function yp(e){return e.map(t=>{let a=[],r="",o;return t.forEach((n,s)=>{let l=!(n.fontStyle&&(n.fontStyle&Le.Underline||n.fontStyle&Le.Strikethrough));l&&n.content.match(/^\s+$/)&&t[s+1]?(o===void 0&&(o=n.offset),r+=n.content):r?(l?a.push({...n,offset:o,content:r+n.content}):a.push({content:r,offset:o},n),o=void 0,r=""):a.push(n)}),a})}function bp(e){return e.map(t=>t.flatMap(a=>{if(a.content.match(/^\s+$/))return a;let r=a.content.match(/^(\s*)(.*?)(\s*)$/);if(!r)return a;let[,o,n,s]=r;if(!o&&!s)return a;let i=[{...a,offset:a.offset+o.length,content:n}];return o&&i.unshift({content:o,offset:a.offset}),s&&i.push({content:s,offset:a.offset+o.length+n.length}),i}))}function kp(e){return e.map(t=>{let a=[];for(let r of t){if(a.length===0){a.push({...r});continue}let o=a[a.length-1],n=Lo(o.htmlStyle||Ya(o)),s=Lo(r.htmlStyle||Ya(r)),i=o.fontStyle&&(o.fontStyle&Le.Underline||o.fontStyle&Le.Strikethrough),l=r.fontStyle&&(r.fontStyle&Le.Underline||r.fontStyle&Le.Strikethrough);!i&&!l&&n===s?o.content+=r.content:a.push({...r})}return a})}var Tp=wo;function vp(e,t,a){let r={meta:{},options:a,codeToHast:(n,s)=>tr(e,n,s),codeToTokens:(n,s)=>er(e,n,s)},o=Tp(tr(e,t,a,r));for(let n of Za(a))o=n.postprocess?.call(r,o,a)||o;return o}var Fi={light:"#333333",dark:"#bbbbbb"},Bi={light:"#fffffe",dark:"#1e1e1e"},Ei="__shiki_resolved";function Po(e){if(e?.[Ei])return e;let t={...e};t.tokenColors&&!t.settings&&(t.settings=t.tokenColors,delete t.tokenColors),t.type||="dark",t.colorReplacements={...t.colorReplacements},t.settings||=[];let{bg:a,fg:r}=t;if(!a||!r){let i=t.settings?t.settings.find(l=>!l.name&&!l.scope):void 0;i?.settings?.foreground&&(r=i.settings.foreground),i?.settings?.background&&(a=i.settings.background),!r&&t?.colors?.["editor.foreground"]&&(r=t.colors["editor.foreground"]),!a&&t?.colors?.["editor.background"]&&(a=t.colors["editor.background"]),r||(r=t.type==="light"?Fi.light:Fi.dark),a||(a=t.type==="light"?Bi.light:Bi.dark),t.fg=r,t.bg=a}t.settings[0]&&t.settings[0].settings&&!t.settings[0].scope||t.settings.unshift({settings:{foreground:t.fg,background:t.bg}});let o=0,n=new Map;function s(i){if(n.has(i))return n.get(i);o+=1;let l=`#${o.toString(16).padStart(8,"0").toLowerCase()}`;return t.colorReplacements?.[`#${l}`]?s(i):(n.set(i,l),l)}t.settings=t.settings.map(i=>{let l=i.settings?.foreground&&!i.settings.foreground.startsWith("#"),u=i.settings?.background&&!i.settings.background.startsWith("#");if(!l&&!u)return i;let c={...i,settings:{...i.settings}};if(l){let d=s(i.settings.foreground);t.colorReplacements[d]=i.settings.foreground,c.settings.foreground=d}if(u){let d=s(i.settings.background);t.colorReplacements[d]=i.settings.background,c.settings.background=d}return c});for(let i of Object.keys(t.colors||{}))if((i==="editor.foreground"||i==="editor.background"||i.startsWith("terminal.ansi"))&&!t.colors[i]?.startsWith("#")){let l=s(t.colors[i]);t.colorReplacements[l]=t.colors[i],t.colors[i]=l}return Object.defineProperty(t,Ei,{enumerable:!1,writable:!1,value:!0}),t}async function Gi(e){return Array.from(new Set((await Promise.all(e.filter(t=>!_i(t)).map(async t=>await Di(t).then(a=>Array.isArray(a)?a:[a])))).flat()))}async function Vi(e){return(await Promise.all(e.map(async a=>Oi(a)?null:Po(await Di(a))))).filter(a=>!!a)}var Io=3,Pp=!1;function Ap(e,t=3){if(Io&&!(typeof Io=="number"&&t>Io)){if(Pp)throw new Error(`[SHIKI DEPRECATE]: ${e}`);console.trace(`[SHIKI DEPRECATE]: ${e}`)}}var at=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function zi(e,t){if(!t)return e;if(t[e]){let a=new Set([e]);for(;t[e];){if(e=t[e],a.has(e))throw new at(`Circular alias \`${Array.from(a).join(" -> ")} -> ${e}\``);a.add(e)}}return e}var Co=class extends ui{constructor(t,a,r,o={}){super(t),this._resolver=t,this._themes=a,this._langs=r,this._alias=o,this._themes.map(n=>this.loadTheme(n)),this.loadLanguages(this._langs)}_resolvedThemes=new Map;_resolvedGrammars=new Map;_langMap=new Map;_langGraph=new Map;_textmateThemeCache=new WeakMap;_loadedThemesCache=null;_loadedLanguagesCache=null;getTheme(t){return typeof t=="string"?this._resolvedThemes.get(t):this.loadTheme(t)}loadTheme(t){let a=Po(t);return a.name&&(this._resolvedThemes.set(a.name,a),this._loadedThemesCache=null),a}getLoadedThemes(){return this._loadedThemesCache||(this._loadedThemesCache=[...this._resolvedThemes.keys()]),this._loadedThemesCache}setTheme(t){let a=this._textmateThemeCache.get(t);a||(a=aa.createFromRawTheme(t),this._textmateThemeCache.set(t,a)),this._syncRegistry.setTheme(a)}getGrammar(t){return t=zi(t,this._alias),this._resolvedGrammars.get(t)}loadLanguage(t){if(this.getGrammar(t.name))return;let a=new Set([...this._langMap.values()].filter(n=>n.embeddedLangsLazy?.includes(t.name)));this._resolver.addLanguage(t);let r={balancedBracketSelectors:t.balancedBracketSelectors||["*"],unbalancedBracketSelectors:t.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(t.scopeName,t);let o=this.loadGrammarWithConfiguration(t.scopeName,1,r);if(o.name=t.name,this._resolvedGrammars.set(t.name,o),t.aliases&&t.aliases.forEach(n=>{this._alias[n]=t.name}),this._loadedLanguagesCache=null,a.size)for(let n of a)this._resolvedGrammars.delete(n.name),this._loadedLanguagesCache=null,this._syncRegistry?._injectionGrammars?.delete(n.scopeName),this._syncRegistry?._grammars?.delete(n.scopeName),this.loadLanguage(this._langMap.get(n.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(t){for(let o of t)this.resolveEmbeddedLanguages(o);let a=Array.from(this._langGraph.entries()),r=a.filter(([o,n])=>!n);if(r.length){let o=a.filter(([n,s])=>s?(s.embeddedLanguages||s.embeddedLangs)?.some(l=>r.map(([u])=>u).includes(l)):!1).filter(n=>!r.includes(n));throw new at(`Missing languages ${r.map(([n])=>`\`${n}\``).join(", ")}, required by ${o.map(([n])=>`\`${n}\``).join(", ")}`)}for(let[o,n]of a)this._resolver.addLanguage(n);for(let[o,n]of a)this.loadLanguage(n)}getLoadedLanguages(){return this._loadedLanguagesCache||(this._loadedLanguagesCache=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])]),this._loadedLanguagesCache}resolveEmbeddedLanguages(t){this._langMap.set(t.name,t),this._langGraph.set(t.name,t);let a=t.embeddedLanguages??t.embeddedLangs;if(a)for(let r of a)this._langGraph.set(r,this._langMap.get(r))}},So=class{_langs=new Map;_scopeToLang=new Map;_injections=new Map;_onigLib;constructor(t,a){this._onigLib={createOnigScanner:r=>t.createScanner(r),createOnigString:r=>t.createString(r)},a.forEach(r=>this.addLanguage(r))}get onigLib(){return this._onigLib}getLangRegistration(t){return this._langs.get(t)}loadGrammar(t){return this._scopeToLang.get(t)}addLanguage(t){this._langs.set(t.name,t),t.aliases&&t.aliases.forEach(a=>{this._langs.set(a,t)}),this._scopeToLang.set(t.scopeName,t),t.injectTo&&t.injectTo.forEach(a=>{this._injections.get(a)||this._injections.set(a,[]),this._injections.get(a).push(t.scopeName)})}getInjections(t){let a=t.split("."),r=[];for(let o=1;o<=a.length;o++){let n=a.slice(0,o).join(".");r=[...r,...this._injections.get(n)||[]]}return r}},la=0;function Rp(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 at("`engine` option is required for synchronous mode");let a=(e.langs||[]).flat(1),r=(e.themes||[]).flat(1).map(Po),o=new So(e.engine,a),n=new Co(o,r,a,e.langAlias),s;function i(h){return zi(h,e.langAlias)}function l(h){x();let w=n.getGrammar(typeof h=="string"?h:h.name);if(!w)throw new at(`Language \`${h}\` not found, you may need to load it first`);return w}function u(h){if(h==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};x();let w=n.getTheme(h);if(!w)throw new at(`Theme \`${h}\` not found, you may need to load it first`);return w}function c(h){x();let w=u(h);s!==h&&(n.setTheme(w),s=h);let S=n.getColorMap();return{theme:w,colorMap:S}}function d(){return x(),n.getLoadedThemes()}function f(){return x(),n.getLoadedLanguages()}function p(...h){x(),n.loadLanguages(h.flat(1))}async function m(...h){return p(await Gi(h))}function L(...h){x();for(let w of h.flat(1))n.loadTheme(w)}async function I(...h){return x(),L(await Vi(h))}function x(){if(t)throw new at("Shiki instance has been disposed")}function g(){t||(t=!0,n.dispose(),la-=1)}return{setTheme:c,getTheme:u,getLanguage:l,getLoadedThemes:d,getLoadedLanguages:f,resolveLangAlias:i,loadLanguage:m,loadLanguageSync:p,loadTheme:I,loadThemeSync:L,dispose:g,[Symbol.dispose]:g}}async function Mp(e){e.engine||Ap("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,a,r]=await Promise.all([Vi(e.themes||[]),Gi(e.langs||[]),e.engine]);return Rp({...e,themes:t,langs:a,engine:r})}async function Fp(e){let t=await Mp(e);return{getLastGrammarState:(...a)=>hp(t,...a),codeToTokensBase:(a,r)=>To(t,a,r),codeToTokensWithThemes:(a,r)=>Wi(t,a,r),codeToTokens:(a,r)=>er(t,a,r),codeToHast:(a,r)=>tr(t,a,r),codeToHtml:(a,r)=>vp(t,a,r),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function ji(e){let t=e.langs,a=e.themes,r=e.engine;async function o(n){function s(d){if(typeof d=="string"){if(d=n.langAlias?.[d]||d,_i(d))return[];let f=t[d];if(!f)throw new te(`Language \`${d}\` is not included in this bundle. You may want to load it from external source.`);return f}return d}function i(d){if(Oi(d))return"none";if(typeof d=="string"){let f=a[d];if(!f)throw new te(`Theme \`${d}\` is not included in this bundle. You may want to load it from external source.`);return f}return d}let l=(n.themes??[]).map(d=>i(d)),u=(n.langs??[]).map(d=>s(d)),c=await Fp({engine:n.engine??r(),...n,themes:l,langs:u});return{...c,loadLanguage(...d){return c.loadLanguage(...d.map(s))},loadTheme(...d){return c.loadTheme(...d.map(i))},getBundledLanguages(){return t},getBundledThemes(){return a}}}return o}function Bp(e){let t;async function a(r={}){if(t){let o=await t;return await Promise.all([o.loadTheme(...r.themes||[]),o.loadLanguage(...r.langs||[])]),o}else{t=e({...r,themes:[],langs:[]});let o=await t;return await Promise.all([o.loadTheme(...r.themes||[]),o.loadLanguage(...r.langs||[])]),o}}return a}function $i(e,t){let a=Bp(e);async function r(o,n){let s=await a({langs:[n.lang],themes:"theme"in n?[n.theme]:Object.values(n.themes)}),i=await t?.guessEmbeddedLanguages?.(o,n.lang,s);return i&&await s.loadLanguage(...i),s}return{getSingletonHighlighter(o){return a(o)},async codeToHtml(o,n){return(await r(o,n)).codeToHtml(o,n)},async codeToHast(o,n){return(await r(o,n)).codeToHast(o,n)},async codeToTokens(o,n){return(await r(o,n)).codeToTokens(o,n)},async codeToTokensBase(o,n){return(await r(o,n)).codeToTokensBase(o,n)},async codeToTokensWithThemes(o,n){return(await r(o,n)).codeToTokensWithThemes(o,n)},async getLastGrammarState(o,n){return(await a({langs:[n.lang],themes:[n.theme]})).getLastGrammarState(o,n)}}}var Ao=[{id:"abap",name:"ABAP",import:(()=>import("../abap-KGVIZMDC.js"))},{id:"actionscript-3",name:"ActionScript",import:(()=>import("../actionscript-3-2UHK5QYP.js"))},{id:"ada",name:"Ada",import:(()=>import("../ada-JKTWR5BV.js"))},{id:"angular-html",name:"Angular HTML",import:(()=>import("../angular-html-EOIKHM3D.js"))},{id:"angular-ts",name:"Angular TypeScript",import:(()=>import("../angular-ts-DFS2FCNO.js"))},{id:"apache",name:"Apache Conf",import:(()=>import("../apache-MPGFGQFB.js"))},{id:"apex",name:"Apex",import:(()=>import("../apex-BOAZL66Z.js"))},{id:"apl",name:"APL",import:(()=>import("../apl-FBR445XW.js"))},{id:"applescript",name:"AppleScript",import:(()=>import("../applescript-C4CJ3STL.js"))},{id:"ara",name:"Ara",import:(()=>import("../ara-FSFFBRSD.js"))},{id:"asciidoc",name:"AsciiDoc",aliases:["adoc"],import:(()=>import("../asciidoc-QQK2LANG.js"))},{id:"asm",name:"Assembly",import:(()=>import("../asm-X43A2VYW.js"))},{id:"astro",name:"Astro",import:(()=>import("../astro-BMSTTQT4.js"))},{id:"awk",name:"AWK",import:(()=>import("../awk-4Z3PRTF7.js"))},{id:"ballerina",name:"Ballerina",import:(()=>import("../ballerina-JCXSJ2QD.js"))},{id:"bat",name:"Batch File",aliases:["batch"],import:(()=>import("../bat-XFWR7RMZ.js"))},{id:"beancount",name:"Beancount",import:(()=>import("../beancount-7BBDB4BH.js"))},{id:"berry",name:"Berry",aliases:["be"],import:(()=>import("../berry-PQ2BEJIZ.js"))},{id:"bibtex",name:"BibTeX",import:(()=>import("../bibtex-J2PAB23I.js"))},{id:"bicep",name:"Bicep",import:(()=>import("../bicep-TNKT6R3W.js"))},{id:"blade",name:"Blade",import:(()=>import("../blade-OHP5YUT7.js"))},{id:"bsl",name:"1C (Enterprise)",aliases:["1c"],import:(()=>import("../bsl-PQW6E45S.js"))},{id:"c",name:"C",import:(()=>import("../c-PZBJFNXE.js"))},{id:"c3",name:"C3",import:(()=>import("../c3-GP7XYHE6.js"))},{id:"cadence",name:"Cadence",aliases:["cdc"],import:(()=>import("../cadence-NABGDHKY.js"))},{id:"cairo",name:"Cairo",import:(()=>import("../cairo-WQSC2GLN.js"))},{id:"clarity",name:"Clarity",import:(()=>import("../clarity-NXNSINKX.js"))},{id:"clojure",name:"Clojure",aliases:["clj"],import:(()=>import("../clojure-Y57BKRMA.js"))},{id:"cmake",name:"CMake",import:(()=>import("../cmake-LVMEA3JZ.js"))},{id:"cobol",name:"COBOL",import:(()=>import("../cobol-LJNKRWP5.js"))},{id:"codeowners",name:"CODEOWNERS",import:(()=>import("../codeowners-JYHOTXQS.js"))},{id:"codeql",name:"CodeQL",aliases:["ql"],import:(()=>import("../codeql-IWWSYR3L.js"))},{id:"coffee",name:"CoffeeScript",aliases:["coffeescript"],import:(()=>import("../coffee-NNDQ5QXC.js"))},{id:"common-lisp",name:"Common Lisp",aliases:["lisp"],import:(()=>import("../common-lisp-JKXCDYH3.js"))},{id:"coq",name:"Coq",import:(()=>import("../coq-BEHPNP64.js"))},{id:"cpp",name:"C++",aliases:["c++"],import:(()=>import("../cpp-IALOHSZA.js"))},{id:"crystal",name:"Crystal",import:(()=>import("../crystal-ZDP3FIUI.js"))},{id:"csharp",name:"C#",aliases:["c#","cs"],import:(()=>import("../csharp-ODFBXRGA.js"))},{id:"css",name:"CSS",import:(()=>import("../css-CJGL5AVH.js"))},{id:"csv",name:"CSV",import:(()=>import("../csv-LIK4TU3Z.js"))},{id:"cue",name:"CUE",import:(()=>import("../cue-UAAEAKHI.js"))},{id:"cypher",name:"Cypher",aliases:["cql"],import:(()=>import("../cypher-SZPVUQZJ.js"))},{id:"d",name:"D",import:(()=>import("../d-VSCA3XHG.js"))},{id:"dart",name:"Dart",import:(()=>import("../dart-A4PE6FIS.js"))},{id:"dax",name:"DAX",import:(()=>import("../dax-TILIKSFB.js"))},{id:"desktop",name:"Desktop",import:(()=>import("../desktop-75KK3D55.js"))},{id:"diff",name:"Diff",import:(()=>import("../diff-HOT6P45M.js"))},{id:"docker",name:"Dockerfile",aliases:["dockerfile"],import:(()=>import("../docker-FF35TY6T.js"))},{id:"dotenv",name:"dotEnv",import:(()=>import("../dotenv-FVPPHJI3.js"))},{id:"dream-maker",name:"Dream Maker",import:(()=>import("../dream-maker-SYE3ZPSJ.js"))},{id:"edge",name:"Edge",import:(()=>import("../edge-CCLQ2CKA.js"))},{id:"elixir",name:"Elixir",import:(()=>import("../elixir-F6DQGRKA.js"))},{id:"elm",name:"Elm",import:(()=>import("../elm-5QRQXDZ6.js"))},{id:"emacs-lisp",name:"Emacs Lisp",aliases:["elisp"],import:(()=>import("../emacs-lisp-NJ4S4OHV.js"))},{id:"erb",name:"ERB",import:(()=>import("../erb-KUYJX32Q.js"))},{id:"erlang",name:"Erlang",aliases:["erl"],import:(()=>import("../erlang-APEONNZ6.js"))},{id:"fennel",name:"Fennel",import:(()=>import("../fennel-7OCMFVPS.js"))},{id:"fish",name:"Fish",import:(()=>import("../fish-BC46ME2N.js"))},{id:"fluent",name:"Fluent",aliases:["ftl"],import:(()=>import("../fluent-MXZS6EX3.js"))},{id:"fortran-fixed-form",name:"Fortran (Fixed Form)",aliases:["f","for","f77"],import:(()=>import("../fortran-fixed-form-35BC2KX6.js"))},{id:"fortran-free-form",name:"Fortran (Free Form)",aliases:["f90","f95","f03","f08","f18"],import:(()=>import("../fortran-free-form-AXRAI2HH.js"))},{id:"fsharp",name:"F#",aliases:["f#","fs"],import:(()=>import("../fsharp-JKNSQXHD.js"))},{id:"gdresource",name:"GDResource",aliases:["tscn","tres"],import:(()=>import("../gdresource-ZMKZGPZV.js"))},{id:"gdscript",name:"GDScript",aliases:["gd"],import:(()=>import("../gdscript-HNCVXEYB.js"))},{id:"gdshader",name:"GDShader",import:(()=>import("../gdshader-XAJ4QRYP.js"))},{id:"genie",name:"Genie",import:(()=>import("../genie-HEFVQZAP.js"))},{id:"gherkin",name:"Gherkin",import:(()=>import("../gherkin-OFBRDPXX.js"))},{id:"git-commit",name:"Git Commit Message",import:(()=>import("../git-commit-ZE2M3Q5H.js"))},{id:"git-rebase",name:"Git Rebase Message",import:(()=>import("../git-rebase-3N3INGLU.js"))},{id:"gleam",name:"Gleam",import:(()=>import("../gleam-NFFQFQLP.js"))},{id:"glimmer-js",name:"Glimmer JS",aliases:["gjs"],import:(()=>import("../glimmer-js-RSUW6JYN.js"))},{id:"glimmer-ts",name:"Glimmer TS",aliases:["gts"],import:(()=>import("../glimmer-ts-EZGWLX5T.js"))},{id:"glsl",name:"GLSL",import:(()=>import("../glsl-VJLRYEVJ.js"))},{id:"gn",name:"GN",import:(()=>import("../gn-UH2XQWLG.js"))},{id:"gnuplot",name:"Gnuplot",import:(()=>import("../gnuplot-K6IV6NNR.js"))},{id:"go",name:"Go",import:(()=>import("../go-BDV7RR5G.js"))},{id:"graphql",name:"GraphQL",aliases:["gql"],import:(()=>import("../graphql-NLMAEKLI.js"))},{id:"groovy",name:"Groovy",import:(()=>import("../groovy-SX7K3XGL.js"))},{id:"hack",name:"Hack",import:(()=>import("../hack-3TGPQNR2.js"))},{id:"haml",name:"Ruby Haml",import:(()=>import("../haml-335RVEQR.js"))},{id:"handlebars",name:"Handlebars",aliases:["hbs"],import:(()=>import("../handlebars-73IS6B2J.js"))},{id:"haskell",name:"Haskell",aliases:["hs"],import:(()=>import("../haskell-P5PTJARU.js"))},{id:"haxe",name:"Haxe",import:(()=>import("../haxe-RCPSSA3N.js"))},{id:"hcl",name:"HashiCorp HCL",import:(()=>import("../hcl-AKKZAVC2.js"))},{id:"hjson",name:"Hjson",import:(()=>import("../hjson-REXV6F6N.js"))},{id:"hlsl",name:"HLSL",import:(()=>import("../hlsl-AJ7VWOVL.js"))},{id:"html",name:"HTML",import:(()=>import("../html-654LNGWF.js"))},{id:"html-derivative",name:"HTML (Derivative)",import:(()=>import("../html-derivative-CMQ7BFDQ.js"))},{id:"http",name:"HTTP",import:(()=>import("../http-7ZVVH3VM.js"))},{id:"hurl",name:"Hurl",import:(()=>import("../hurl-B6WXEN45.js"))},{id:"hxml",name:"HXML",import:(()=>import("../hxml-5BXJCAAU.js"))},{id:"hy",name:"Hy",import:(()=>import("../hy-SB4TMFE7.js"))},{id:"imba",name:"Imba",import:(()=>import("../imba-Y64MHYWP.js"))},{id:"ini",name:"INI",aliases:["properties"],import:(()=>import("../ini-J2OP4CNW.js"))},{id:"java",name:"Java",import:(()=>import("../java-MJKJ5GPP.js"))},{id:"javascript",name:"JavaScript",aliases:["js","cjs","mjs"],import:(()=>import("../javascript-IYAGHPR6.js"))},{id:"jinja",name:"Jinja",import:(()=>import("../jinja-WPD26JJ6.js"))},{id:"jison",name:"Jison",import:(()=>import("../jison-UYDZQBN5.js"))},{id:"json",name:"JSON",import:(()=>import("../json-5V4JESJO.js"))},{id:"json5",name:"JSON5",import:(()=>import("../json5-7SHUZD3R.js"))},{id:"jsonc",name:"JSON with Comments",import:(()=>import("../jsonc-X3Z34FN3.js"))},{id:"jsonl",name:"JSON Lines",import:(()=>import("../jsonl-6I3D2HM6.js"))},{id:"jsonnet",name:"Jsonnet",import:(()=>import("../jsonnet-PZEQIBYV.js"))},{id:"jssm",name:"JSSM",aliases:["fsl"],import:(()=>import("../jssm-GJJ25IKR.js"))},{id:"jsx",name:"JSX",import:(()=>import("../jsx-NI2J427C.js"))},{id:"julia",name:"Julia",aliases:["jl"],import:(()=>import("../julia-CPV3A4MM.js"))},{id:"kdl",name:"KDL",import:(()=>import("../kdl-IA7HA2TL.js"))},{id:"kotlin",name:"Kotlin",aliases:["kt","kts"],import:(()=>import("../kotlin-CCRMGYMI.js"))},{id:"kusto",name:"Kusto",aliases:["kql"],import:(()=>import("../kusto-7DW25GYH.js"))},{id:"latex",name:"LaTeX",import:(()=>import("../latex-F2CTDTFG.js"))},{id:"lean",name:"Lean 4",aliases:["lean4"],import:(()=>import("../lean-MGJJWBTR.js"))},{id:"less",name:"Less",import:(()=>import("../less-WFSIMX5G.js"))},{id:"liquid",name:"Liquid",import:(()=>import("../liquid-7CFNUD3V.js"))},{id:"llvm",name:"LLVM IR",import:(()=>import("../llvm-CFQSEDXB.js"))},{id:"log",name:"Log file",import:(()=>import("../log-YQNML6LA.js"))},{id:"logo",name:"Logo",import:(()=>import("../logo-2PPKBL2M.js"))},{id:"lua",name:"Lua",import:(()=>import("../lua-RPAMRKNG.js"))},{id:"luau",name:"Luau",import:(()=>import("../luau-GR2DOH6N.js"))},{id:"make",name:"Makefile",aliases:["makefile"],import:(()=>import("../make-DQQEEPI4.js"))},{id:"markdown",name:"Markdown",aliases:["md"],import:(()=>import("../markdown-OC5ILZSY.js"))},{id:"marko",name:"Marko",import:(()=>import("../marko-XSB3CTWQ.js"))},{id:"matlab",name:"MATLAB",import:(()=>import("../matlab-YQY6FS4U.js"))},{id:"mdc",name:"MDC",import:(()=>import("../mdc-XWCHWP6B.js"))},{id:"mdx",name:"MDX",import:(()=>import("../mdx-ZIH2JLVR.js"))},{id:"mermaid",name:"Mermaid",aliases:["mmd"],import:(()=>import("../mermaid-WPX56SBB.js"))},{id:"mipsasm",name:"MIPS Assembly",aliases:["mips"],import:(()=>import("../mipsasm-IDXQRZ2B.js"))},{id:"mojo",name:"Mojo",import:(()=>import("../mojo-MH7EQVOK.js"))},{id:"moonbit",name:"MoonBit",aliases:["mbt","mbti"],import:(()=>import("../moonbit-5JDFTWKE.js"))},{id:"move",name:"Move",import:(()=>import("../move-RWSXKYDY.js"))},{id:"narrat",name:"Narrat Language",aliases:["nar"],import:(()=>import("../narrat-QJUEXMVV.js"))},{id:"nextflow",name:"Nextflow",aliases:["nf"],import:(()=>import("../nextflow-2EICNZA3.js"))},{id:"nginx",name:"Nginx",import:(()=>import("../nginx-RIWAEC5Z.js"))},{id:"nim",name:"Nim",import:(()=>import("../nim-U57UBFBS.js"))},{id:"nix",name:"Nix",import:(()=>import("../nix-XCKQVWCN.js"))},{id:"nushell",name:"nushell",aliases:["nu"],import:(()=>import("../nushell-QGW7HANA.js"))},{id:"objective-c",name:"Objective-C",aliases:["objc"],import:(()=>import("../objective-c-V7KYXFHL.js"))},{id:"objective-cpp",name:"Objective-C++",import:(()=>import("../objective-cpp-NKUEWVGU.js"))},{id:"ocaml",name:"OCaml",import:(()=>import("../ocaml-QT2CZJZN.js"))},{id:"odin",name:"Odin",import:(()=>import("../odin-MVMIXBHP.js"))},{id:"openscad",name:"OpenSCAD",aliases:["scad"],import:(()=>import("../openscad-BJDUXUUZ.js"))},{id:"pascal",name:"Pascal",import:(()=>import("../pascal-HGWEFD6L.js"))},{id:"perl",name:"Perl",import:(()=>import("../perl-IZHDGBO6.js"))},{id:"php",name:"PHP",import:(()=>import("../php-MNP62HWP.js"))},{id:"pkl",name:"Pkl",import:(()=>import("../pkl-VA5ZK5DW.js"))},{id:"plsql",name:"PL/SQL",import:(()=>import("../plsql-J7A7YWFH.js"))},{id:"po",name:"Gettext PO",aliases:["pot","potx"],import:(()=>import("../po-5RDI65JX.js"))},{id:"polar",name:"Polar",import:(()=>import("../polar-VUJL2E7F.js"))},{id:"postcss",name:"PostCSS",import:(()=>import("../postcss-ESTB5G7N.js"))},{id:"powerquery",name:"PowerQuery",import:(()=>import("../powerquery-ODTEKQCW.js"))},{id:"powershell",name:"PowerShell",aliases:["ps","ps1"],import:(()=>import("../powershell-ZOYRAWBJ.js"))},{id:"prisma",name:"Prisma",import:(()=>import("../prisma-QHG2W5GE.js"))},{id:"prolog",name:"Prolog",import:(()=>import("../prolog-CSAPG5PH.js"))},{id:"proto",name:"Protocol Buffer 3",aliases:["protobuf"],import:(()=>import("../proto-WDNJBTSW.js"))},{id:"pug",name:"Pug",aliases:["jade"],import:(()=>import("../pug-P7LS6DER.js"))},{id:"puppet",name:"Puppet",import:(()=>import("../puppet-LHFWHTY3.js"))},{id:"purescript",name:"PureScript",import:(()=>import("../purescript-DUFJP4FY.js"))},{id:"python",name:"Python",aliases:["py"],import:(()=>import("../python-5ZNZSNQ2.js"))},{id:"qml",name:"QML",import:(()=>import("../qml-LTAXB6W5.js"))},{id:"qmldir",name:"QML Directory",import:(()=>import("../qmldir-7Z2ODQLM.js"))},{id:"qss",name:"Qt Style Sheets",import:(()=>import("../qss-FDFD3HQD.js"))},{id:"r",name:"R",import:(()=>import("../r-6ZOS53WN.js"))},{id:"racket",name:"Racket",import:(()=>import("../racket-7AYZPEUI.js"))},{id:"raku",name:"Raku",aliases:["perl6"],import:(()=>import("../raku-A4F6VHVG.js"))},{id:"razor",name:"ASP.NET Razor",import:(()=>import("../razor-4QOCK4UD.js"))},{id:"reg",name:"Windows Registry Script",import:(()=>import("../reg-FAPHGG66.js"))},{id:"regexp",name:"RegExp",aliases:["regex"],import:(()=>import("../regexp-5BYLYA2R.js"))},{id:"rel",name:"Rel",import:(()=>import("../rel-7DJ7HHU4.js"))},{id:"riscv",name:"RISC-V",import:(()=>import("../riscv-YIYJATFG.js"))},{id:"ron",name:"RON",import:(()=>import("../ron-HYYMCHTX.js"))},{id:"rosmsg",name:"ROS Interface",import:(()=>import("../rosmsg-FDNH6QF7.js"))},{id:"rst",name:"reStructuredText",import:(()=>import("../rst-6KQSGP2V.js"))},{id:"ruby",name:"Ruby",aliases:["rb"],import:(()=>import("../ruby-OWE2HOOR.js"))},{id:"rust",name:"Rust",aliases:["rs"],import:(()=>import("../rust-V3GMJA2K.js"))},{id:"sas",name:"SAS",import:(()=>import("../sas-D3G4GB3X.js"))},{id:"sass",name:"Sass",import:(()=>import("../sass-JTO65AGR.js"))},{id:"scala",name:"Scala",import:(()=>import("../scala-4XQGFSVM.js"))},{id:"scheme",name:"Scheme",import:(()=>import("../scheme-CB7AC7IL.js"))},{id:"scss",name:"SCSS",import:(()=>import("../scss-6SKV4OGI.js"))},{id:"sdbl",name:"1C (Query)",aliases:["1c-query"],import:(()=>import("../sdbl-LKGZFJ46.js"))},{id:"shaderlab",name:"ShaderLab",aliases:["shader"],import:(()=>import("../shaderlab-K536DHEB.js"))},{id:"shellscript",name:"Shell",aliases:["bash","sh","shell","zsh"],import:(()=>import("../shellscript-LRNUKUSZ.js"))},{id:"shellsession",name:"Shell Session",aliases:["console"],import:(()=>import("../shellsession-IBQK7VWQ.js"))},{id:"smalltalk",name:"Smalltalk",import:(()=>import("../smalltalk-DQOSWAW7.js"))},{id:"solidity",name:"Solidity",import:(()=>import("../solidity-V2FMZEG4.js"))},{id:"soy",name:"Closure Templates",aliases:["closure-templates"],import:(()=>import("../soy-VW3CKXWF.js"))},{id:"sparql",name:"SPARQL",import:(()=>import("../sparql-L2VKP7YP.js"))},{id:"splunk",name:"Splunk Query Language",aliases:["spl"],import:(()=>import("../splunk-KDKHP7GC.js"))},{id:"sql",name:"SQL",import:(()=>import("../sql-UF27CALT.js"))},{id:"ssh-config",name:"SSH Config",import:(()=>import("../ssh-config-JC2DQ6ED.js"))},{id:"stata",name:"Stata",import:(()=>import("../stata-7PXCUY24.js"))},{id:"stylus",name:"Stylus",aliases:["styl"],import:(()=>import("../stylus-2L7N3EZD.js"))},{id:"surrealql",name:"SurrealQL",aliases:["surql"],import:(()=>import("../surrealql-ZY3E6XEL.js"))},{id:"svelte",name:"Svelte",import:(()=>import("../svelte-Q45XIK2A.js"))},{id:"swift",name:"Swift",import:(()=>import("../swift-XBH5HZSC.js"))},{id:"system-verilog",name:"SystemVerilog",import:(()=>import("../system-verilog-VRAUSZY3.js"))},{id:"systemd",name:"Systemd Units",import:(()=>import("../systemd-JOTSGJD4.js"))},{id:"talonscript",name:"TalonScript",aliases:["talon"],import:(()=>import("../talonscript-NNZRZKOU.js"))},{id:"tasl",name:"Tasl",import:(()=>import("../tasl-MBFZ4QNC.js"))},{id:"tcl",name:"Tcl",import:(()=>import("../tcl-4GEDCBVE.js"))},{id:"templ",name:"Templ",import:(()=>import("../templ-3XM7DLQ3.js"))},{id:"terraform",name:"Terraform",aliases:["tf","tfvars"],import:(()=>import("../terraform-XTHOS4UK.js"))},{id:"tex",name:"TeX",import:(()=>import("../tex-UXMN2CV7.js"))},{id:"toml",name:"TOML",import:(()=>import("../toml-J6K55ZSV.js"))},{id:"ts-tags",name:"TypeScript with Tags",aliases:["lit"],import:(()=>import("../ts-tags-XNK5N5RZ.js"))},{id:"tsv",name:"TSV",import:(()=>import("../tsv-DOUJHQDQ.js"))},{id:"tsx",name:"TSX",import:(()=>import("../tsx-G5BMVRHK.js"))},{id:"turtle",name:"Turtle",import:(()=>import("../turtle-JHJ7W6U5.js"))},{id:"twig",name:"Twig",import:(()=>import("../twig-OEIJ72KK.js"))},{id:"typescript",name:"TypeScript",aliases:["ts","cts","mts"],import:(()=>import("../typescript-LMKEAHFC.js"))},{id:"typespec",name:"TypeSpec",aliases:["tsp"],import:(()=>import("../typespec-5CLTIJYY.js"))},{id:"typst",name:"Typst",aliases:["typ"],import:(()=>import("../typst-4W4Z436Z.js"))},{id:"v",name:"V",import:(()=>import("../v-Y4SBDBN7.js"))},{id:"vala",name:"Vala",import:(()=>import("../vala-UMKT2MFA.js"))},{id:"vb",name:"Visual Basic",aliases:["cmd"],import:(()=>import("../vb-DQ7A5WJU.js"))},{id:"verilog",name:"Verilog",import:(()=>import("../verilog-N6ZF7GQD.js"))},{id:"vhdl",name:"VHDL",import:(()=>import("../vhdl-BNYDT37G.js"))},{id:"viml",name:"Vim Script",aliases:["vim","vimscript"],import:(()=>import("../viml-37RMDCBC.js"))},{id:"vue",name:"Vue",import:(()=>import("../vue-FIH2DYBE.js"))},{id:"vue-html",name:"Vue HTML",import:(()=>import("../vue-html-ZLTZN573.js"))},{id:"vue-vine",name:"Vue Vine",import:(()=>import("../vue-vine-6JKAZ54I.js"))},{id:"vyper",name:"Vyper",aliases:["vy"],import:(()=>import("../vyper-GVXF46KD.js"))},{id:"wasm",name:"WebAssembly",import:(()=>import("../wasm-NTB4O7GL.js"))},{id:"wenyan",name:"Wenyan",aliases:["\u6587\u8A00"],import:(()=>import("../wenyan-W7WB3BC7.js"))},{id:"wgsl",name:"WGSL",import:(()=>import("../wgsl-7GTDVXHG.js"))},{id:"wikitext",name:"Wikitext",aliases:["mediawiki","wiki"],import:(()=>import("../wikitext-ASAFPAIL.js"))},{id:"wit",name:"WebAssembly Interface Types",import:(()=>import("../wit-ZBCR6544.js"))},{id:"wolfram",name:"Wolfram",aliases:["wl"],import:(()=>import("../wolfram-SZRZOETJ.js"))},{id:"xml",name:"XML",import:(()=>import("../xml-EBTJCOTU.js"))},{id:"xsl",name:"XSL",import:(()=>import("../xsl-IBYEXWDX.js"))},{id:"yaml",name:"YAML",aliases:["yml"],import:(()=>import("../yaml-GMVQNECR.js"))},{id:"zenscript",name:"ZenScript",import:(()=>import("../zenscript-O2TZFP4A.js"))},{id:"zig",name:"Zig",import:(()=>import("../zig-ZLGM7IMN.js"))}],Xi=Object.fromEntries(Ao.map(e=>[e.id,e.import])),Ki=Object.fromEntries(Ao.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),da={...Xi,...Ki};var Ep=[{id:"andromeeda",displayName:"Andromeeda",type:"dark",import:(()=>import("../andromeeda-HAPOYWX3.js"))},{id:"aurora-x",displayName:"Aurora X",type:"dark",import:(()=>import("../aurora-x-R6WAWEBC.js"))},{id:"ayu-dark",displayName:"Ayu Dark",type:"dark",import:(()=>import("../ayu-dark-KMD4YO7F.js"))},{id:"ayu-light",displayName:"Ayu Light",type:"light",import:(()=>import("../ayu-light-2ATPDILG.js"))},{id:"ayu-mirage",displayName:"Ayu Mirage",type:"dark",import:(()=>import("../ayu-mirage-LJ7PG5AM.js"))},{id:"catppuccin-frappe",displayName:"Catppuccin Frapp\xE9",type:"dark",import:(()=>import("../catppuccin-frappe-Z4Y2POK6.js"))},{id:"catppuccin-latte",displayName:"Catppuccin Latte",type:"light",import:(()=>import("../catppuccin-latte-4TQUIKX4.js"))},{id:"catppuccin-macchiato",displayName:"Catppuccin Macchiato",type:"dark",import:(()=>import("../catppuccin-macchiato-B7YYPERT.js"))},{id:"catppuccin-mocha",displayName:"Catppuccin Mocha",type:"dark",import:(()=>import("../catppuccin-mocha-KX33VXKA.js"))},{id:"dark-plus",displayName:"Dark Plus",type:"dark",import:(()=>import("../dark-plus-LNHXUR7U.js"))},{id:"dracula",displayName:"Dracula Theme",type:"dark",import:(()=>import("../dracula-T2CMBBQ5.js"))},{id:"dracula-soft",displayName:"Dracula Theme Soft",type:"dark",import:(()=>import("../dracula-soft-SMFRNKX2.js"))},{id:"everforest-dark",displayName:"Everforest Dark",type:"dark",import:(()=>import("../everforest-dark-DBZHIUAO.js"))},{id:"everforest-light",displayName:"Everforest Light",type:"light",import:(()=>import("../everforest-light-TDAGYJUK.js"))},{id:"github-dark",displayName:"GitHub Dark",type:"dark",import:(()=>import("../github-dark-3E25TTAN.js"))},{id:"github-dark-default",displayName:"GitHub Dark Default",type:"dark",import:(()=>import("../github-dark-default-KCBFVSS5.js"))},{id:"github-dark-dimmed",displayName:"GitHub Dark Dimmed",type:"dark",import:(()=>import("../github-dark-dimmed-WRCBXEVS.js"))},{id:"github-dark-high-contrast",displayName:"GitHub Dark High Contrast",type:"dark",import:(()=>import("../github-dark-high-contrast-ET7SAHAV.js"))},{id:"github-light",displayName:"GitHub Light",type:"light",import:(()=>import("../github-light-6FNTZH5H.js"))},{id:"github-light-default",displayName:"GitHub Light Default",type:"light",import:(()=>import("../github-light-default-GGTAKNM7.js"))},{id:"github-light-high-contrast",displayName:"GitHub Light High Contrast",type:"light",import:(()=>import("../github-light-high-contrast-LHYKPR5E.js"))},{id:"gruvbox-dark-hard",displayName:"Gruvbox Dark Hard",type:"dark",import:(()=>import("../gruvbox-dark-hard-IQWZCHF7.js"))},{id:"gruvbox-dark-medium",displayName:"Gruvbox Dark Medium",type:"dark",import:(()=>import("../gruvbox-dark-medium-ARPWF4FS.js"))},{id:"gruvbox-dark-soft",displayName:"Gruvbox Dark Soft",type:"dark",import:(()=>import("../gruvbox-dark-soft-ODS6FPID.js"))},{id:"gruvbox-light-hard",displayName:"Gruvbox Light Hard",type:"light",import:(()=>import("../gruvbox-light-hard-KFA5YFDW.js"))},{id:"gruvbox-light-medium",displayName:"Gruvbox Light Medium",type:"light",import:(()=>import("../gruvbox-light-medium-MMET4L3Y.js"))},{id:"gruvbox-light-soft",displayName:"Gruvbox Light Soft",type:"light",import:(()=>import("../gruvbox-light-soft-DBZDERMK.js"))},{id:"horizon",displayName:"Horizon",type:"dark",import:(()=>import("../horizon-FSOMPXNP.js"))},{id:"houston",displayName:"Houston",type:"dark",import:(()=>import("../houston-FAQBCORN.js"))},{id:"kanagawa-dragon",displayName:"Kanagawa Dragon",type:"dark",import:(()=>import("../kanagawa-dragon-JNDVF5RJ.js"))},{id:"kanagawa-lotus",displayName:"Kanagawa Lotus",type:"light",import:(()=>import("../kanagawa-lotus-S7JK6TQ6.js"))},{id:"kanagawa-wave",displayName:"Kanagawa Wave",type:"dark",import:(()=>import("../kanagawa-wave-QJJIMVEV.js"))},{id:"laserwave",displayName:"LaserWave",type:"dark",import:(()=>import("../laserwave-YFP3EJVX.js"))},{id:"light-plus",displayName:"Light Plus",type:"light",import:(()=>import("../light-plus-NGDHCPUZ.js"))},{id:"material-theme",displayName:"Material Theme",type:"dark",import:(()=>import("../material-theme-H2BHKUKX.js"))},{id:"material-theme-darker",displayName:"Material Theme Darker",type:"dark",import:(()=>import("../material-theme-darker-VENCGWTB.js"))},{id:"material-theme-lighter",displayName:"Material Theme Lighter",type:"light",import:(()=>import("../material-theme-lighter-SDMLS22W.js"))},{id:"material-theme-ocean",displayName:"Material Theme Ocean",type:"dark",import:(()=>import("../material-theme-ocean-UHDBRLVF.js"))},{id:"material-theme-palenight",displayName:"Material Theme Palenight",type:"dark",import:(()=>import("../material-theme-palenight-3TB2BEET.js"))},{id:"min-dark",displayName:"Min Dark",type:"dark",import:(()=>import("../min-dark-CQ5WKNT7.js"))},{id:"min-light",displayName:"Min Light",type:"light",import:(()=>import("../min-light-LZRD4NPR.js"))},{id:"monokai",displayName:"Monokai",type:"dark",import:(()=>import("../monokai-WHRY6275.js"))},{id:"night-owl",displayName:"Night Owl",type:"dark",import:(()=>import("../night-owl-7PNEW2JB.js"))},{id:"night-owl-light",displayName:"Night Owl Light",type:"light",import:(()=>import("../night-owl-light-GJUYOOJR.js"))},{id:"nord",displayName:"Nord",type:"dark",import:(()=>import("../nord-EVGUMUX2.js"))},{id:"one-dark-pro",displayName:"One Dark Pro",type:"dark",import:(()=>import("../one-dark-pro-PMTR3SA7.js"))},{id:"one-light",displayName:"One Light",type:"light",import:(()=>import("../one-light-O7WH4N5X.js"))},{id:"plastic",displayName:"Plastic",type:"dark",import:(()=>import("../plastic-FBVUW6NJ.js"))},{id:"poimandres",displayName:"Poimandres",type:"dark",import:(()=>import("../poimandres-WBB7GZAD.js"))},{id:"red",displayName:"Red",type:"dark",import:(()=>import("../red-7KAMONOP.js"))},{id:"rose-pine",displayName:"Ros\xE9 Pine",type:"dark",import:(()=>import("../rose-pine-F2G5IHZD.js"))},{id:"rose-pine-dawn",displayName:"Ros\xE9 Pine Dawn",type:"light",import:(()=>import("../rose-pine-dawn-ALZ7XGH2.js"))},{id:"rose-pine-moon",displayName:"Ros\xE9 Pine Moon",type:"dark",import:(()=>import("../rose-pine-moon-D3K4SWUL.js"))},{id:"slack-dark",displayName:"Slack Dark",type:"dark",import:(()=>import("../slack-dark-YFPJODWS.js"))},{id:"slack-ochin",displayName:"Slack Ochin",type:"light",import:(()=>import("../slack-ochin-H67AWZOI.js"))},{id:"snazzy-light",displayName:"Snazzy Light",type:"light",import:(()=>import("../snazzy-light-OUVS63VK.js"))},{id:"solarized-dark",displayName:"Solarized Dark",type:"dark",import:(()=>import("../solarized-dark-2RCAVEXJ.js"))},{id:"solarized-light",displayName:"Solarized Light",type:"light",import:(()=>import("../solarized-light-XFSENHTC.js"))},{id:"synthwave-84",displayName:"Synthwave '84",type:"dark",import:(()=>import("../synthwave-84-5XXB3K6S.js"))},{id:"tokyo-night",displayName:"Tokyo Night",type:"dark",import:(()=>import("../tokyo-night-CHJCCBJH.js"))},{id:"vesper",displayName:"Vesper",type:"dark",import:(()=>import("../vesper-Y5GIEAN4.js"))},{id:"vitesse-black",displayName:"Vitesse Black",type:"dark",import:(()=>import("../vitesse-black-7TI33KHX.js"))},{id:"vitesse-dark",displayName:"Vitesse Dark",type:"dark",import:(()=>import("../vitesse-dark-FOB25MRB.js"))},{id:"vitesse-light",displayName:"Vitesse Light",type:"light",import:(()=>import("../vitesse-light-4WCNCTCO.js"))}],Qi=Object.fromEntries(Ep.map(e=>[e.id,e.import]));var ca=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Dp(){return 2147483648}function _p(){return typeof performance<"u"?performance.now():Date.now()}var Op=(e,t)=>e+(t-e%t)%t;async function Np(e){let t,a,r={};function o(p){a=p,r.HEAPU8=new Uint8Array(p),r.HEAPU32=new Uint32Array(p)}function n(p,m,L){r.HEAPU8.copyWithin(p,m,m+L)}function s(p){try{return t.grow(p-a.byteLength+65535>>>16),o(t.buffer),1}catch{}}function i(p){let m=r.HEAPU8.length;p=p>>>0;let L=Dp();if(p>L)return!1;for(let I=1;I<=4;I*=2){let x=m*(1+.2/I);x=Math.min(x,p+100663296);let g=Math.min(L,Op(Math.max(p,x),65536));if(s(g))return!0}return!1}let l=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function u(p,m,L=1024){let I=m+L,x=m;for(;p[x]&&!(x>=I);)++x;if(x-m>16&&p.buffer&&l)return l.decode(p.subarray(m,x));let g="";for(;m<x;){let h=p[m++];if(!(h&128)){g+=String.fromCharCode(h);continue}let w=p[m++]&63;if((h&224)===192){g+=String.fromCharCode((h&31)<<6|w);continue}let S=p[m++]&63;if((h&240)===224?h=(h&15)<<12|w<<6|S:h=(h&7)<<18|w<<12|S<<6|p[m++]&63,h<65536)g+=String.fromCharCode(h);else{let v=h-65536;g+=String.fromCharCode(55296|v>>10,56320|v&1023)}}return g}function c(p,m){return p?u(r.HEAPU8,p,m):""}let d={emscripten_get_now:_p,emscripten_memcpy_big:n,emscripten_resize_heap:i,fd_write:()=>0};async function f(){let m=await e({env:d,wasi_snapshot_preview1:d});t=m.memory,o(t.buffer),Object.assign(r,m),r.UTF8ToString=c}return await f(),r}var Up=Object.defineProperty,Hp=(e,t,a)=>t in e?Up(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,fe=(e,t,a)=>Hp(e,typeof t!="symbol"?t+"":t,a),ge=null;function qp(e){throw new ca(e.UTF8ToString(e.getLastOnigError()))}var nr=class e{constructor(t){fe(this,"utf16Length"),fe(this,"utf8Length"),fe(this,"utf16Value"),fe(this,"utf8Value"),fe(this,"utf16OffsetToUtf8"),fe(this,"utf8OffsetToUtf16");let a=t.length,r=e._utf8ByteLength(t),o=r!==a,n=o?new Uint32Array(a+1):null;o&&(n[a]=r);let s=o?new Uint32Array(r+1):null;o&&(s[r]=a);let i=new Uint8Array(r),l=0;for(let u=0;u<a;u++){let c=t.charCodeAt(u),d=c,f=!1;if(c>=55296&&c<=56319&&u+1<a){let p=t.charCodeAt(u+1);p>=56320&&p<=57343&&(d=(c-55296<<10)+65536|p-56320,f=!0)}o&&(n[u]=l,f&&(n[u+1]=l),d<=127?s[l+0]=u:d<=2047?(s[l+0]=u,s[l+1]=u):d<=65535?(s[l+0]=u,s[l+1]=u,s[l+2]=u):(s[l+0]=u,s[l+1]=u,s[l+2]=u,s[l+3]=u)),d<=127?i[l++]=d:d<=2047?(i[l++]=192|(d&1984)>>>6,i[l++]=128|(d&63)>>>0):d<=65535?(i[l++]=224|(d&61440)>>>12,i[l++]=128|(d&4032)>>>6,i[l++]=128|(d&63)>>>0):(i[l++]=240|(d&1835008)>>>18,i[l++]=128|(d&258048)>>>12,i[l++]=128|(d&4032)>>>6,i[l++]=128|(d&63)>>>0),f&&u++}this.utf16Length=a,this.utf8Length=r,this.utf16Value=t,this.utf8Value=i,this.utf16OffsetToUtf8=n,this.utf8OffsetToUtf16=s}static _utf8ByteLength(t){let a=0;for(let r=0,o=t.length;r<o;r++){let n=t.charCodeAt(r),s=n,i=!1;if(n>=55296&&n<=56319&&r+1<o){let l=t.charCodeAt(r+1);l>=56320&&l<=57343&&(s=(n-55296<<10)+65536|l-56320,i=!0)}s<=127?a+=1:s<=2047?a+=2:s<=65535?a+=3:a+=4,i&&r++}return a}createString(t){let a=t.omalloc(this.utf8Length);return t.HEAPU8.set(this.utf8Value,a),a}},sr=class Ge{constructor(t){if(fe(this,"id",++Ge.LAST_ID),fe(this,"_onigBinding"),fe(this,"content"),fe(this,"utf16Length"),fe(this,"utf8Length"),fe(this,"utf16OffsetToUtf8"),fe(this,"utf8OffsetToUtf16"),fe(this,"ptr"),!ge)throw new ca("Must invoke loadWasm first.");this._onigBinding=ge,this.content=t;let a=new nr(t);this.utf16Length=a.utf16Length,this.utf8Length=a.utf8Length,this.utf16OffsetToUtf8=a.utf16OffsetToUtf8,this.utf8OffsetToUtf16=a.utf8OffsetToUtf16,this.utf8Length<1e4&&!Ge._sharedPtrInUse?(Ge._sharedPtr||(Ge._sharedPtr=ge.omalloc(1e4)),Ge._sharedPtrInUse=!0,ge.HEAPU8.set(a.utf8Value,Ge._sharedPtr),this.ptr=Ge._sharedPtr):this.ptr=a.createString(ge)}convertUtf8OffsetToUtf16(t){return this.utf8OffsetToUtf16?t<0?0:t>this.utf8Length?this.utf16Length:this.utf8OffsetToUtf16[t]:t}convertUtf16OffsetToUtf8(t){return this.utf16OffsetToUtf8?t<0?0:t>this.utf16Length?this.utf8Length:this.utf16OffsetToUtf8[t]:t}dispose(){this.ptr===Ge._sharedPtr?Ge._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};fe(sr,"LAST_ID",0);fe(sr,"_sharedPtr",0);fe(sr,"_sharedPtrInUse",!1);var Ji=sr,Mo=class{constructor(t){if(fe(this,"_onigBinding"),fe(this,"_ptr"),!ge)throw new ca("Must invoke loadWasm first.");let a=[],r=[];for(let i=0,l=t.length;i<l;i++){let u=new nr(t[i]);a[i]=u.createString(ge),r[i]=u.utf8Length}let o=ge.omalloc(4*t.length);ge.HEAPU32.set(a,o/4);let n=ge.omalloc(4*t.length);ge.HEAPU32.set(r,n/4);let s=ge.createOnigScanner(o,n,t.length);for(let i=0,l=t.length;i<l;i++)ge.ofree(a[i]);ge.ofree(n),ge.ofree(o),s===0&&qp(ge),this._onigBinding=ge,this._ptr=s}dispose(){this._onigBinding.freeOnigScanner(this._ptr)}findNextMatchSync(t,a,r){let o=0;if(typeof r=="number"&&(o=r),typeof t=="string"){t=new Ji(t);let n=this._findNextMatchSync(t,a,!1,o);return t.dispose(),n}return this._findNextMatchSync(t,a,!1,o)}_findNextMatchSync(t,a,r,o){let n=this._onigBinding,s=n.findNextOnigScannerMatch(this._ptr,t.id,t.ptr,t.utf8Length,t.convertUtf16OffsetToUtf8(a),o);if(s===0)return null;let i=n.HEAPU32,l=s/4,u=i[l++],c=i[l++],d=[];for(let f=0;f<c;f++){let p=t.convertUtf8OffsetToUtf16(i[l++]),m=t.convertUtf8OffsetToUtf16(i[l++]);d[f]={start:p,end:m,length:m-p}}return{index:u,captureIndices:d}}};function Wp(e){return typeof e.instantiator=="function"}function Gp(e){return typeof e.default=="function"}function Vp(e){return typeof e.data<"u"}function zp(e){return typeof Response<"u"&&e instanceof Response}function jp(e){return typeof ArrayBuffer<"u"&&(e instanceof ArrayBuffer||ArrayBuffer.isView(e))||typeof Buffer<"u"&&Buffer.isBuffer?.(e)||typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer||typeof Uint32Array<"u"&&e instanceof Uint32Array}var or;function $p(e){if(or)return or;async function t(){ge=await Np(async a=>{let r=e;return r=await r,typeof r=="function"&&(r=await r(a)),typeof r=="function"&&(r=await r(a)),Wp(r)?r=await r.instantiator(a):Gp(r)?r=await r.default(a):(Vp(r)&&(r=r.data),zp(r)?typeof WebAssembly.instantiateStreaming=="function"?r=await Xp(r)(a):r=await Kp(r)(a):jp(r)?r=await Ro(r)(a):r instanceof WebAssembly.Module?r=await Ro(r)(a):"default"in r&&r.default instanceof WebAssembly.Module&&(r=await Ro(r.default)(a))),"instance"in r&&(r=r.instance),"exports"in r&&(r=r.exports),r})}return or=t(),or}function Ro(e){return t=>WebAssembly.instantiate(e,t)}function Xp(e){return t=>WebAssembly.instantiateStreaming(e,t)}function Kp(e){return async t=>{let a=await e.arrayBuffer();return WebAssembly.instantiate(a,t)}}async function Yi(e){return e&&await $p(e),{createScanner(t){return new Mo(t.map(a=>typeof a=="string"?a:a.source))},createString(t){return new Ji(t)}}}var ir=ji({langs:da,themes:Qi,engine:()=>Yi(import("../wasm-EOPKAILK.js"))}),{codeToHtml:Qp,codeToHast:Jp,codeToTokens:Yp,codeToTokensBase:Zp,codeToTokensWithThemes:em,getSingletonHighlighter:tm,getLastGrammarState:am}=$i(ir,{guessEmbeddedLanguages:Ui});var Zi=new Set(Object.keys(da)),Fo=new Map,Bo=new Map,Mt=new Map,rm=(e,t)=>`${e}-${t[0]}-${t[1]}`,om=(e,t,a)=>{let r=e.slice(0,100),o=e.length>100?e.slice(-100):"";return`${t}:${a[0]}:${a[1]}:${e.length}:${r}:${o}`},nm=(e,t)=>{let a=rm(e,t);if(Fo.has(a))return Fo.get(a);let r=ir({themes:t,langs:[e]});return Fo.set(a,r),r};function sm(e={}){var t;let a=(t=e.themes)!=null?t:["github-light","github-dark"];return{name:"shiki",type:"code-highlighter",supportsLanguage(r){return Zi.has(r)},getSupportedLanguages(){return Array.from(Zi)},getThemes(){return a},highlight({code:r,language:o,themes:n},s){let i=om(r,o,n);return Bo.has(i)?Bo.get(i):(s&&(Mt.has(i)||Mt.set(i,new Set),Mt.get(i).add(s)),nm(o,n).then(l=>{let u=l.getLoadedLanguages().includes(o)?o:"text",c=l.codeToTokens(r,{lang:u,themes:{light:n[0],dark:n[1]}});Bo.set(i,c);let d=Mt.get(i);if(d){for(let f of d)f(c);Mt.delete(i)}}).catch(l=>{console.error("[Streamdown Code] Failed to highlight code:",l),Mt.delete(i)}),null)}}}var el=sm();import{memo as dm}from"react";import{useEffect as im,useRef as lr,useState as lm}from"react";var um=5,tl=400;function al(e,t,a={}){let{msPerChar:r=um}=a,[o,n]=lm(t?"":e),s=lr(e),i=lr(t?0:e.length),l=lr(0),u=lr(null);return(e.length<i.current||!e.startsWith(o.slice(0,i.current)))&&(i.current=t?0:e.length),s.current=e,im(()=>{if(!t){u.current!==null&&(cancelAnimationFrame(u.current),u.current=null),i.current=e.length,n(e);return}if(s.current.length-i.current>tl&&(i.current=s.current.length-tl),u.current!==null)return;let d=f=>{let p=s.current;if(i.current>=p.length){u.current=null;return}l.current===0&&(l.current=f);let m=f-l.current;if(m>=r){let L=Math.min(Math.floor(m/r),p.length-i.current);i.current+=L,n(p.slice(0,i.current)),l.current=f}u.current=requestAnimationFrame(d)};return u.current=requestAnimationFrame(d),()=>{u.current!==null&&(cancelAnimationFrame(u.current),u.current=null)}},[e,t,r]),o}import{jsx as ur}from"react/jsx-runtime";var Eo=({className:e,from:t,children:a,...r})=>ur("div",{className:T("ww-message ww:group ww:flex ww:w-full",t==="user"?"ww-message-user is-user ww:ml-auto ww:flex-col ww:items-end ww:[max-width:var(--ww-msg-max-width,80%)]":"ww-message-assistant is-assistant ww:flex-col",e),...r,children:ur("div",{className:T("ww:flex ww:min-w-0 ww:flex-col ww:gap-2","ww:w-full"),children:a})}),Do=({children:e,className:t,...a})=>ur("div",{className:T("ww-bubble ww:flex ww:w-fit ww:min-w-0 ww:max-w-full ww:flex-col ww:gap-2 ww:overflow-hidden","ww:[font-size:var(--ww-font-size,1rem)] ww:[line-height:var(--ww-line-height,1.5)]","ww:group-[.is-user]:ml-auto ww:group-[.is-user]:bg-user-bubble ww:group-[.is-user]:[color:var(--ww-color-user-bubble-text)] ww:group-[.is-user]:[border-radius:var(--ww-msg-radius,8px)] ww:group-[.is-user]:[padding:var(--ww-msg-pad-y,12px)_var(--ww-msg-pad-x,16px)]","ww:group-[.is-assistant]:text-foreground",t),...a,children:e}),cm={cjk:ao,code:el},fm={cjk:ao},pm={enabled:!1};function mm({className:e,linkSafety:t,isStreaming:a,children:r,...o}){let s=al(typeof r=="string"?r:"",!!a),i=typeof r=="string"?s:r;return ur(_t,{className:T("ww:size-full ww:[&>*:first-child]:mt-0 ww:[&>*:last-child]:mb-0",e),linkSafety:t??pm,plugins:a?fm:cm,...o,children:i})}var dr=dm(mm,(e,t)=>e.children===t.children&&e.isStreaming===t.isStreaming);dr.displayName="MessageResponse";import{createContext as hm,useCallback as gm,useContext as sl,useEffect as wm,useMemo as Oo,useRef as xm,useState as No}from"react";import{Fragment as nl,jsx as J,jsxs as wt}from"react/jsx-runtime";function Im(e,t=80){if(e==null)return String(e);if(typeof e!="object")return String(e).slice(0,t);if(Array.isArray(e))return`Array(${e.length})`;let a=JSON.stringify(e);if(a.length<=t)return a;let r=Object.entries(e),o=[],n=t-2;for(let[s,i]of r){if(n<=8)break;let l=s.length>4?`${s.slice(0,4)}\u2026`:s,u;typeof i=="string"?u=i.length>2?`'${i.slice(0,1)}\u2026`:`'${i}'`:Array.isArray(i)?u=`Array(${i.length})`:typeof i=="object"&&i!==null?u="{\u2026}":u=String(i);let c=`${l}\u2009${u}`;o.push(c),n-=c.length+3}return`{${o.join(", ")}}`}function Lm({text:e,className:t}){let{t:a}=G(),[r,o]=No(!1),n=xm(null);wm(()=>()=>{n.current&&clearTimeout(n.current)},[]);let s=gm(async i=>{i.stopPropagation();try{await navigator.clipboard.writeText(e),o(!0),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>o(!1),2e3)}catch{}},[e]);return J(De,{variant:"ghost",size:"sm",onClick:s,className:T("ww:h-auto ww:gap-1 ww:px-1.5 ww:py-0.5 ww:text-xs ww:text-muted-foreground ww:hover:text-foreground",t),children:r?wt(nl,{children:[J(Nt,{className:"ww:size-3.5"}),J("span",{children:a.tool.copied})]}):wt(nl,{children:[J(Ht,{className:"ww:size-3.5"}),J("span",{children:a.tool.copy})]})})}function il({data:e,label:t,className:a,...r}){let[o,n]=No(!1),s=Oo(()=>JSON.stringify(e,null,2),[e]),i=Im(e);return wt("div",{className:T("ww:rounded-lg ww:bg-tool-card",a),...r,children:[wt("div",{className:"ww:flex ww:items-center ww:justify-between ww:px-3 ww:pt-2.5 ww:pb-1.5",children:[J("span",{className:"ww:text-xs ww:font-medium ww:text-muted-foreground",children:t}),J(Lm,{text:s})]}),wt("button",{type:"button",onClick:()=>n(l=>!l),className:"ww:flex ww:w-full ww:items-start ww:gap-2 ww:px-3 ww:pb-3 ww:text-left",children:[J(Ut,{className:T("ww:mt-0.5 ww:size-3.5 ww:shrink-0 ww:text-muted-foreground ww:transition-transform ww:duration-150",o&&"ww:rotate-90")}),o?J("pre",{className:"ww:overflow-x-auto ww:text-xs ww:font-mono ww:text-foreground ww:whitespace-pre-wrap ww:break-all",children:J("code",{children:s})}):J("span",{className:"ww:truncate ww:text-xs ww:font-mono ww:text-foreground/80",children:i})]})]})}var Uo=hm({open:!1,toggle:()=>{}});function ll({className:e,defaultOpen:t=!1,children:a,...r}){let[o,n]=No(t);return J(Uo.Provider,{value:{open:o,toggle:()=>n(s=>!s)},children:J("div",{className:T("ww:mb-4 ww:w-full",e),"data-state":o?"open":"closed",style:{animation:"ww-fade-in 0.2s ease-out"},...r,children:a})})}function ul({className:e,title:t,state:a,...r}){let{open:o,toggle:n}=sl(Uo),s=a==="input-available"||a==="input-streaming",i=t??"";return wt("button",{type:"button",onClick:n,className:T("ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground ww:transition-colors ww:hover:text-foreground",e),"aria-expanded":o,...r,children:[J(ut,{className:"ww:size-4 ww:shrink-0"}),J("span",{className:"ww:truncate",children:s?J(Ne,{duration:1.6,children:i}):i}),J(Je,{className:T("ww:size-4 ww:shrink-0 ww:transition-transform ww:duration-200",o&&"ww:rotate-180")})]})}function dl({className:e,title:t,state:a,...r}){let o=a==="input-available"||a==="input-streaming",n=t??"";return J("div",{className:T("ww:mb-4 ww:flex ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground",e),style:{animation:"ww-fade-in 0.2s ease-out"},...r,children:J("span",{className:"ww:truncate",children:o?J(Ne,{duration:1.6,children:n}):n})})}function cl({className:e,children:t,...a}){let{open:r}=sl(Uo);return J("div",{className:T("ww:grid ww:transition-[grid-template-rows,opacity] ww:duration-200 ww:ease-out",r?"ww:grid-rows-[1fr] ww:opacity-100":"ww:grid-rows-[0fr] ww:opacity-0"),children:J("div",{className:"ww:min-h-0 ww:overflow-hidden",children:J("div",{className:T("ww:mt-2 ww:space-y-3 ww:rounded-lg ww:border ww:border-border ww:bg-background ww:p-3",e),...a,children:t})})})}function Ho({className:e,input:t,debug:a,...r}){let{t:o}=G(),n=Oo(()=>{if(!a&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:s,...i}=t;return i}return t},[t,a]);return J(il,{data:n,label:o.tool.request,className:e,...r})}function _o(e){if(!(typeof e!="object"||e===null))return e}function fl(e){return _o(e?.ui)}function pl(e){return _o(_o(e)?._meta)}function rl(e){if(!e)return;let t=fl(e)?.resourceUri;if(typeof t=="string"&&t.length>0)return t;let a=e["ui/resourceUri"];if(typeof a=="string"&&a.length>0)return a;let r=e["openai/outputTemplate"];if(typeof r=="string"&&r.length>0)return r}function ol(e){return fl(e)?.autoHeight===!0}function fa(e,t,a){if(e){let r=rl(a?.[e]?._meta);if(r)return r}return rl(pl(t))}function ml(e,t,a){return e&&ol(a?.[e]?._meta)?!0:ol(pl(t))}function qo({className:e,output:t,errorText:a,debug:r,...o}){let{t:n}=G(),s=Oo(()=>{if(!r&&typeof t=="object"&&t!==null&&!Array.isArray(t)){let{_meta:i,...l}=t;return l}return t},[t,r]);return t||a?a?wt("div",{className:T("ww:space-y-2",e),...o,children:[J("h4",{className:"ww:text-xs ww:font-medium ww:uppercase ww:tracking-wide ww:text-muted-foreground",children:n.tool.error}),J("div",{className:"ww:rounded-lg ww:bg-destructive/10 ww:p-3 ww:text-xs ww:text-destructive",children:a})]}):J(il,{data:s,label:n.tool.response,className:e,...o}):null}import{jsx as hl,jsxs as Cm}from"react/jsx-runtime";function gl(e){return e.type==="text"||e.type==="reasoning"||e.type==="file"||"toolCallId"in e}function wl(e){return e.parts.some(gl)}function xl(e,t,a){if(t!=="submitted"&&t!=="streaming")return!1;let r=e[e.length-1];return!r||r.role!=="assistant"?!0:!r.parts.some(n=>!(!gl(n)||a?.ignoreToolParts&&"toolCallId"in n||a?.ignoreReasoningParts&&n.type==="reasoning"))}function Il({className:e,...t}){let{t:a}=G();return Cm("div",{"aria-live":"polite",className:T("ww:mb-4 ww:flex ww:w-full ww:items-center ww:gap-2 ww:text-sm ww:text-muted-foreground",e),style:{animation:"ww-fade-in 0.2s ease-out"},...t,children:[hl(jt,{className:"ww:size-4 ww:shrink-0"}),hl(Ne,{duration:1.6,children:a.workingIndicator.default})]})}import{useCallback as Sm,useEffect as Wo,useMemo as ym,useRef as Te,useState as Cl}from"react";function Ft(e){if(!e)return!1;let t=Array.isArray(e.content)&&e.content.length>0,a=typeof e.structuredContent=="object"&&e.structuredContent!==null&&Object.keys(e.structuredContent).length>0;return t||a}function Ll(e,t){return!Ft(e)&&!Ft(t)?null:Ft(e)?Ft(t)?{...e.content||t.content?{content:[...e.content??[],...t.content??[]]}:{},...e.structuredContent||t.structuredContent?{structuredContent:{...e.structuredContent??{},...t.structuredContent??{}}}:{}}:{...e.content?{content:[...e.content]}:{},...e.structuredContent?{structuredContent:{...e.structuredContent}}:{}}:{...t?.content?{content:[...t.content]}:{},...t?.structuredContent?{structuredContent:{...t.structuredContent}}:{}}}import{jsx as Em}from"react/jsx-runtime";var bm="/api/mcp/resource",km=500,Tm=0,vm=16,Pm="2026-01-26",Am=300,Rm=3e3,Mm=3;function Fm(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function Bm(e,t,a){return fa(e,t,a)?!1:t._meta?.["waniwani/autoInjectResultText"]!==!1}function Go({resourceUri:e,toolInput:t,toolResult:a,resourceEndpoint:r=bm,chatSessionId:o,isDark:n=!1,className:s,autoHeight:i=!1,onOpenLink:l,onFollowUp:u,onCallTool:c,onDisplayModeChange:d,isFullscreen:f=!1,toolDefinitions:p}){let m=Te(null),L=Te(t),I=Te(a),x=Te({width:0,height:0}),g=Te(null),h=Te(!1),w=Te(0),S=Te("inline"),[v,A]=Cl(Tm),[P,E]=Cl(void 0),k=Te(l),B=Te(u),y=Te(c),X=Te(d),H=Te(o),R=Te(p);L.current=t,I.current=a,k.current=l,B.current=u,y.current=c,X.current=d,H.current=o,R.current=p;let b=Sm(U=>i?Math.max(U+vm,0):Math.min(Math.max(U,50),km),[i]),M=ym(()=>{let U=r.includes("?")?"&":"?";return`${r}${U}uri=${encodeURIComponent(e)}`},[r,e]),Pe=Te(n);Pe.current=n;let we=Te(f);return Wo(()=>{we.current=f,x.current.height=-1,g.current&&(g.current.cancel(),g.current=null)},[f]),Wo(()=>{if(!h.current)return;let U=m.current;U?.contentWindow&&U.contentWindow.postMessage({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{theme:n?"dark":"light"}},"*")},[n]),Wo(()=>{let U=m.current;if(!U)return;let re=!1,oe=!1,ye=null,le=null,j=setTimeout(()=>{if(re||oe||w.current>=Mm)return;w.current+=1;let ce=new URL(U.src);ce.searchParams.set("_retry",String(w.current)),U.src=ce.toString()},Rm),W=ce=>{U.contentWindow?.postMessage(ce,"*")},Ae=ce=>{if(re||ce.source!==U.contentWindow)return;let K=ce.data;if(!K||typeof K!="object"||K.jsonrpc!=="2.0")return;let ue=K.method,V=K.id;if(ue==="ui/initialize"&&V!=null){oe=!0,clearTimeout(j),W({jsonrpc:"2.0",id:V,result:{protocolVersion:K.params?.protocolVersion??Pm,hostInfo:{name:"Waniwani Chat",version:"1.0.0"},hostCapabilities:{openLinks:{},message:{text:{}},tools:{},updateModelContext:{text:{},structuredContent:{}}},hostContext:{theme:Pe.current?"dark":"light",displayMode:S.current}}});return}if(ue==="ui/notifications/initialized"){h.current=!0;let O=L.current,q=I.current,N=q._meta&&typeof q._meta=="object"?q._meta:null,ne=Fm(H.current),Q=N&&typeof N.waniwani=="object"&&N.waniwani!==null?N.waniwani:null,xe=Q||ne?{...Q??{},...ne?{sessionId:ne}:{}}:void 0,be=N||xe?{...N??{},...xe?{waniwani:xe}:{}}:void 0;W({jsonrpc:"2.0",method:"ui/notifications/tool-input",params:{arguments:O}});let Re=q.content??[{type:"text",text:JSON.stringify(q)}];W({jsonrpc:"2.0",method:"ui/notifications/tool-result",params:{content:Re,structuredContent:q.structuredContent,_meta:be,meta:be}});return}if(ue==="ui/notifications/size-changed"){let O=K.params,q=typeof O?.height=="number"?O.height:void 0,N=typeof O?.width=="number"?O.width:void 0,ne=x.current,Q=q!==void 0&&q!==ne.height,xe=N!==void 0&&N!==ne.width;if(!Q&&!xe)return;if(Q&&q!==void 0){if(ne.height=q,we.current)return;let be=b(q),Re=U.getBoundingClientRect().height;if(g.current&&(g.current.cancel(),g.current=null),A(be),U.animate&&Math.abs(Re-be)>2){let Qe=U.animate([{height:`${Re}px`},{height:`${be}px`}],{duration:Am,easing:"ease-out",fill:"forwards"});g.current=Qe,Qe.onfinish=()=>{g.current===Qe&&(Qe.cancel(),g.current=null)}}}xe&&i&&N!==void 0&&(ne.width=N,E(N));return}if(ue==="ui/open-link"&&V!=null){let O=K.params?.url;typeof O=="string"&&(k.current?k.current(O):window.open(O,"_blank","noopener,noreferrer")),W({jsonrpc:"2.0",id:V,result:{}});return}if(ue==="ui/message"&&V!=null){if(B.current&&K.params){let O=K.params,q=ye;if(ye=null,le){clearTimeout(le.timer);let N=le.text;le=null;let ne=(O.content??[]).map(Q=>Q.text??"").join("").trim();O={...O,content:[{type:"text",text:`${ne}
|
|
14
14
|
|
|
15
|
-
${N}`}]}}B.current({...O,...q?{modelContext:q}:{}})}W({jsonrpc:"2.0",id:V,result:{}});return}if(ue==="ui/update-model-context"&&V!=null){ye=Ll(ye,K.params),W({jsonrpc:"2.0",id:V,result:{}});return}if(ue==="tools/call"&&V!=null){let O=y.current;if(!O){W({jsonrpc:"2.0",id:V,error:{code:-32601,message:"tools/call not supported"}});return}let q=K.params?.name;O({name:q,arguments:K.params?.arguments??{}}).then(N=>{W({jsonrpc:"2.0",id:V,result:N});let ne=N.content?.map(Q=>Q.text??"").join("").trim();ne&&Bm(q,N,R.current)&&(le&&clearTimeout(le.timer),le={text:ne,timer:setTimeout(()=>{if(re)return;let Q=ye;ye=null,le=null,B.current?.({role:"user",content:[{type:"text",text:ne}],...Q?{modelContext:Q}:{}})},500)})}).catch(N=>{let ne=N instanceof Error?N.message:"Tool call failed";W({jsonrpc:"2.0",id:V,error:{code:-32e3,message:ne}})});return}if(ue==="ui/request-display-mode"&&V!=null){let O=K.params?.mode,q=O==="fullscreen"||O==="inline"||O==="pip"?O:"inline";S.current=q,W({jsonrpc:"2.0",id:V,result:{mode:q}}),W({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{displayMode:q}}),X.current?.(q);return}if(ue==="ui/resource-teardown"&&V!=null){W({jsonrpc:"2.0",id:V,result:{}});return}ue==="ping"&&V!=null&&W({jsonrpc:"2.0",id:V,result:{}})};return window.addEventListener("message",Ae),()=>{re=!0,clearTimeout(j),le&&clearTimeout(le.timer),window.removeEventListener("message",Ae)}},[i,b]),Em("iframe",{ref:m,src:M,sandbox:"allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox",className:T(!f&&"ww:rounded-md ww:border ww:border-border",s),style:{height:f?"100%":v,minWidth:f||!P?void 0:`min(${P}px, 100%)`,width:"100%",border:"none",colorScheme:n?"dark":"auto"},title:"MCP App"})}import{jsx as fa,jsxs as Dm}from"react/jsx-runtime";function Sl({icon:e,title:t,description:a,suggestions:r,onSuggestionSelect:o}){return Dm("div",{className:"ww:flex ww:flex-col ww:items-center ww:justify-center ww:py-12 ww:px-6 ww:text-center ww:min-h-full",children:[e&&fa("div",{className:"ww:mb-4 ww:flex ww:items-center ww:justify-center ww:size-12 ww:rounded-xl ww:bg-foreground ww:text-background",children:e}),fa("h2",{className:"ww:text-lg ww:font-semibold ww:text-foreground",children:t}),a&&fa("p",{className:"ww:mt-1 ww:text-sm ww:text-muted-foreground ww:max-w-sm",children:a}),r&&r.length>0&&fa("div",{className:"ww:mt-6 ww:w-full ww:max-w-md ww:flex ww:flex-col ww:gap-2",children:r.map((n,s)=>fa("button",{type:"button",onClick:()=>o?.(n),className:T("ww:w-full ww:text-left ww:rounded-xl ww:border ww:border-border ww:bg-background ww:px-4 ww:py-3 ww:text-sm","ww:text-foreground ww:hover:bg-accent ww:hover:border-primary/30","ww:transition-all ww:duration-200 ww:ease-out ww:cursor-pointer","ww:animate-[ww-fade-in_0.2s_ease-out_both]"),style:{animationDelay:`${s*50}ms`},children:n},n))})]})}import{Component as _m}from"react";import{jsx as Go,jsxs as Nm}from"react/jsx-runtime";function Om({onRetry:e}){let{t}=G();return Nm("div",{className:"ww:flex ww:items-center ww:justify-between ww:rounded-md ww:border ww:border-border ww:bg-muted/50 ww:px-4 ww:py-3 ww:text-sm ww:text-muted-foreground",children:[Go("span",{children:t.widgetErrorBoundary.failedToLoad}),Go("button",{type:"button",onClick:e,className:"ww:text-xs ww:font-medium ww:text-primary ww:hover:underline",children:t.widgetErrorBoundary.retry})]})}var cr=class extends _m{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.warn("[Waniwani] Widget failed to render:",t.message)}render(){return this.state.hasError?Go(Om,{onRetry:()=>this.setState({hasError:!1})}):this.props.children}};import{Fragment as Um,jsx as Z,jsxs as ot}from"react/jsx-runtime";function Vo(e){return e?e.replace(/[-_]/g," ").replace(/^\w/,t=>t.toUpperCase()):"Tool"}function yl(e){return e&&/search|find|lookup|query|web|browse|google/i.test(e)?qt:ut}function fr({messages:e,status:t,welcomeMessage:a,welcome:r,onSuggestionSelect:o,resourceEndpoint:n,chatSessionId:s,isDark:i,onFollowUp:l,onCallTool:u,onWidgetDisplayModeChange:c,fullscreenToolCallId:d,debug:f,showToolCalls:p=!0,toolDefinitions:m,messageClassNames:L}){let{t:I}=G(),x=e[e.length-1],g=e.length>0,h=d!=null,w=!h&&xl(e,t,{ignoreToolParts:p===!1,ignoreReasoningParts:p===!1});return ot(Um,{children:[!h&&(!g&&r?Z(Sl,{...r,onSuggestionSelect:o}):a&&Z(Bo,{from:"assistant",children:Z(Eo,{children:Z(dr,{children:a})})})),e.map(S=>{let v=S.parts.filter(R=>R.type==="text"),A=S.parts.filter(R=>R.type==="reasoning"),P=S.parts.filter(R=>R.type==="file"),E=S.parts.filter(R=>"toolCallId"in R),k=S.parts.filter(R=>R.type==="reasoning"||"toolCallId"in R),B=S===x&&S.role==="assistant",y=v.length>0,X=h?E.some(R=>R.toolCallId===d):!1,H=p!==!1&&!X&&k.length>=2;return h&&!X?Z("div",{style:{display:"none"}},S.id):S.role==="assistant"&&!wl(S)?Z("div",{style:{display:"none"}},S.id):p===!1&&S.role==="assistant"&&!y&&P.length===0&&E.every(R=>{let b="output"in R?R.output:void 0;return b===void 0||!n||!ca(R.toolName,b,m)})?Z("div",{style:{display:"none"}},S.id):ot(Bo,{from:S.role,className:L?.message,children:[p!==!1&&!X&&!H&&A.map((R,b)=>ot(Kt,{isStreaming:R.state==="streaming",children:[Z(Qt,{}),Z(Jt,{children:R.text})]},`reasoning-${S.id}-${b}`)),H&&(()=>{let R=k[k.length-1],b=R.type==="reasoning"?{icon:je,label:I.reasoning.thinking}:{icon:yl(R.toolName),label:R.title??Vo(R.toolName)};return ot(Ls,{isWorking:B&&(t==="streaming"||t==="submitted"),activeStep:b,children:[Z(Cs,{workingLabel:I.chainOfThought.working,label:I.chainOfThought.done}),Z(Ss,{children:k.map((M,Pe)=>{let we=Pe===k.length-1;if(M.type==="reasoning")return Z(bs,{isStreaming:M.state==="streaming",isLast:we,children:M.text},`reasoning-${S.id}-${Pe}`);let U=M.title??Vo(M.toolName),re=yl(M.toolName);if(p==="titles-only")return Z(Yr,{icon:re,title:U,state:M.state,isLast:we},M.toolCallId);let oe="output"in M?M.output:void 0;return ot(Yr,{icon:re,title:U,state:M.state,isLast:we,children:[Z(Uo,{input:M.input,debug:f}),oe!==void 0&&Z(Ho,{output:oe,errorText:"errorText"in M?M.errorText:void 0,debug:f})]},M.toolCallId)})})]})})(),p!==!1&&!X&&!H&&E.length===1&&(()=>{let R=E[0],b=R.title??Vo(R.toolName);if(p==="titles-only")return Z(dl,{title:b,state:R.state});let M="output"in R?R.output:void 0;return ot(ll,{children:[Z(ul,{title:b,state:R.state}),ot(cl,{children:[Z(Uo,{input:R.input,debug:f}),M!==void 0&&Z(Ho,{output:M,errorText:"errorText"in R?R.errorText:void 0,debug:f})]})]})})(),E.map(R=>{let b="output"in R?R.output:void 0,M=ca(R.toolName,b,m),Pe=ml(R.toolName,b,m),we=R.toolCallId===d;return M&&n&&b!==void 0?Z("div",{style:we?{position:"absolute",inset:0,zIndex:10,display:"flex",flexDirection:"column",overflow:"hidden",background:"var(--ww-color-background)"}:void 0,children:M&&n&&b!==void 0&&Z(cr,{children:Z(Wo,{isFullscreen:we,resourceUri:M,toolInput:R.input??{},toolResult:{content:b.content,structuredContent:b.structuredContent,_meta:b._meta},resourceEndpoint:n,chatSessionId:s,isDark:i,autoHeight:Pe,toolDefinitions:m,onFollowUp:l,onCallTool:u,onDisplayModeChange:c?U=>c(U,{toolCallId:R.toolCallId,resourceUri:M,toolInput:R.input??{},toolResult:{content:b.content,structuredContent:b.structuredContent,_meta:b._meta},autoHeight:Pe}):void 0})})},R.toolCallId):null}),!X&&Z("div",{children:ot(Eo,{className:T(S.role==="user"?L?.userBubble:L?.assistantBubble),children:[P.length>0&&Z(ms,{files:P}),y?v.map((R,b)=>{let M=B&&t==="streaming"&&b===v.length-1;return Z(dr,{isStreaming:M,children:R.type==="text"?R.text:""},`${S.id}-${b}`)}):null]})})]},S.id)}),w&&Z(Il,{})]})}import{jsx as bl,jsxs as Wm}from"react/jsx-runtime";var Hm="https://app.waniwani.ai/assets/waniwani-logo.svg",qm="https://waniwani.ai";function pr(){let{t:e}=G();return Wm("a",{href:qm,target:"_blank",rel:"noopener noreferrer",className:"ww:flex ww:items-center ww:gap-1.5 ww:whitespace-nowrap ww:text-[10px] ww:sm:text-[11px] ww:text-muted-foreground ww:opacity-70 hover:ww:opacity-100 ww:transition-opacity",children:[bl("span",{children:e.poweredBy.label}),bl("img",{src:Hm,alt:"Waniwani",width:72,height:10,"data-waniwani-logo":"",className:"ww:h-2.5 ww:w-auto"})]})}import{jsx as mr}from"react/jsx-runtime";function hr({suggestions:e,isLoading:t,onSelect:a,className:r,...o}){return e.length===0&&!t?null:mr("div",{className:T("ww:px-4 ww:py-2",r),...o,children:mr("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl ww:flex ww:flex-wrap ww:gap-2",children:t?[0,1,2].map(n=>mr("div",{className:"ww:h-8 ww:rounded-full ww:bg-accent ww:animate-pulse",style:{width:`${60+n*20}px`}},n)):e.map((n,s)=>mr("button",{type:"button",onClick:()=>a(n),className:T("ww:rounded-full ww:border ww:border-border ww:bg-accent ww:px-3.5 ww:py-1.5 ww:text-sm","ww:text-foreground ww:hover:bg-border ww:hover:border-primary/30","ww:transition-all ww:duration-200 ww:ease-out ww:cursor-pointer","ww:animate-[ww-fade-in_0.2s_ease-out_both]"),style:{animationDelay:`${s*50}ms`},children:n},n))})})}import{useEffect as Gm,useRef as Vm,useState as zm}from"react";import{jsx as ae,jsxs as xt}from"react/jsx-runtime";var kl=20;function jm({label:e}){return xt("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[ae("title",{children:e}),ae("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),ae("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}function $m({label:e}){return xt("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[ae("title",{children:e}),ae("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),ae("polyline",{points:"3 4 3 9 8 9"}),ae("line",{x1:"12",y1:"7",x2:"12",y2:"12"}),ae("line",{x1:"12",y1:"12",x2:"15",y2:"14"})]})}function Xm({label:e}){return xt("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[ae("title",{children:e}),ae("polyline",{points:"3 6 5 6 21 6"}),ae("path",{d:"M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6"}),ae("path",{d:"M10 11v6"}),ae("path",{d:"M14 11v6"})]})}function gr({threads:e,activeThreadId:t,onNewThread:a,onSelectThread:r,onDeleteThread:o}){let{locale:n,t:s}=G(),[i,l]=zm(!1),u=Vm(null);Gm(()=>{if(!i)return;let f=p=>{let m=u.current;m&&(p.composedPath().includes(m)||l(!1))};return document.addEventListener("mousedown",f),()=>document.removeEventListener("mousedown",f)},[i]);let c=e.slice(0,kl),d=Math.max(0,e.length-kl);return xt("div",{ref:u,className:"ww:relative ww:flex ww:items-center ww:gap-1",children:[ae("button",{type:"button",onClick:a,title:s.threadMenu.newChat,"aria-label":s.threadMenu.newChat,className:"ww:p-1.5 ww:rounded-md ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/5 ww:transition-colors ww:cursor-pointer",children:ae(jm,{label:s.threadMenu.newChat})}),ae("button",{type:"button",onClick:()=>l(f=>!f),title:s.threadMenu.threadHistory,"aria-label":s.threadMenu.threadHistory,"aria-expanded":i,className:"ww:p-1.5 ww:rounded-md ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/5 ww:transition-colors ww:cursor-pointer",children:ae($m,{label:s.threadMenu.threadHistory})}),i&&xt("div",{role:"menu",className:"ww:absolute ww:right-0 ww:top-full ww:mt-1 ww:w-72 ww:max-h-80 ww:overflow-y-auto ww:rounded-lg ww:border ww:border-border ww:bg-background ww:shadow-lg ww:z-50",children:[c.length===0&&ae("div",{className:"ww:px-3 ww:py-3 ww:text-xs ww:text-muted-foreground",children:s.threadMenu.noPreviousChats}),c.map(f=>{let p=f.threadId===t,m=Date.parse(f.updatedAt);return xt("div",{className:`ww:flex ww:items-center ww:gap-2 ww:px-3 ww:py-2 ww:text-xs hover:ww:bg-foreground/5 ${p?"ww:bg-foreground/5":""}`,children:[xt("button",{type:"button",onClick:()=>{r(f.threadId),l(!1)},className:"ww:flex-1 ww:min-w-0 ww:text-left ww:cursor-pointer",children:[ae("div",{className:"ww:truncate ww:text-foreground ww:font-medium",children:f.title}),ae("div",{className:"ww:text-[10px] ww:text-muted-foreground",children:Number.isNaN(m)?"":zr(m,n)})]}),ae("button",{type:"button",onClick:L=>{L.stopPropagation(),o(f.threadId)},title:s.threadMenu.deleteThread,"aria-label":s.threadMenu.deleteThread,className:"ww:p-1 ww:rounded ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/10 ww:transition-colors ww:cursor-pointer",children:ae(Xm,{label:s.threadMenu.deleteThread})})]},f.threadId)}),d>0&&ae("div",{className:"ww:px-3 ww:py-2 ww:text-[10px] ww:text-muted-foreground ww:border-t ww:border-border",children:s.threadMenu.hiddenThreads(d)})]})]})}import{useCallback as Km,useRef as Qm}from"react";function wr(e){let t=Qm(e);return t.current=e,Km(async a=>{let{api:r,headers:o,onCallTool:n,sessionId:s}=t.current;if(n)return n(a);let i=`${r??"/api/waniwani"}/tool`,l=typeof s=="string"&&s.trim().length>0?s.trim():void 0,u=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json",...l?{"X-Session-Id":l}:{},...o},body:JSON.stringify(a)});if(!u.ok)throw new Error(`Tool call failed: ${u.status} ${u.statusText}`);return u.json()},[])}import{useChat as hh}from"@ai-sdk/react";import{useCallback as Ce,useEffect as Ee,useRef as pe,useState as It}from"react";import{createContext as Jm,useContext as Ym}from"react";function Tl(e){let t=new Set;return{subscribe(a){return t.add(a),()=>{t.delete(a)}},emit(a){let{sessionId:r,...o}=a,n=a.name==="session.started"?a.properties.sessionId:void 0,s={...o,mode:e.mode,sessionId:Object.hasOwn(a,"sessionId")?r:n??e.getSessionId?.(),timestamp:Date.now()};for(let i of[...t])try{i(s)}catch(l){console.warn("[Waniwani] onEvent subscriber threw:",l)}}}}function vl(){return{subscribe(){return()=>{}},emit(){}}}var Pl=Jm(vl());function xr(){return Ym(Pl)}var Al=Pl.Provider;function nt(e,t,a){let[r,o=""]=e.split("?"),n=r.replace(/\/$/,""),s=new URLSearchParams(o);if(a)for(let[l,u]of Object.entries(a))s.set(l,u);let i=s.toString();return`${n}${t}${i?`?${i}`:""}`}import{DefaultChatTransport as Zm,uiMessageChunkSchema as eh}from"ai";function th(e){let t=e?.cause,a=t?.issues??t?.errors;if(!Array.isArray(a))return null;let r=a.find(o=>o.code==="invalid_union");if(!r?.errors)return null;for(let o of r.errors){if(!Array.isArray(o)||o.some(i=>(i.code==="invalid_value"||i.code==="invalid_literal")&&i.path?.[0]==="type"))continue;let s=o.filter(i=>i.code==="unrecognized_keys").flatMap(i=>i.keys??[]);if(s.length>0)return s}return null}var Ir=class extends Zm{processResponseStream(t){let a="",r=eh(),o=r.validate?.bind(r);return t.pipeThrough(new TextDecoderStream).pipeThrough(new TransformStream({async transform(n,s){a+=n;let i=a.split(`
|
|
16
|
-
`);a=i.pop()??"";for(let l of i){let u=l.trim();if(!u.startsWith("data:"))continue;let c=u.slice(5).trim();if(c!=="[DONE]")try{let d=JSON.parse(c);if(!o){s.enqueue(d);continue}let f=await o(d);if(f.success){s.enqueue(f.value);continue}let p=th(f.error);if(p?.length){let m={...d};for(let I of p)delete m[I];let L=await o(m);L.success&&s.enqueue(L.value)}}catch{}}}}))}};var ah="waniwani-memory";var Be="threads",Lr="by_memoryUserId",rh="by_updatedAt";var Ml="memoryUserId",Rl="waniwani-memory-user-id",zo=null;function jo(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function oh(e,t){if(t<1&&(e.objectStoreNames.contains("ids")||e.createObjectStore("ids")),t<2&&!e.objectStoreNames.contains(Be)){let a=e.createObjectStore(Be,{keyPath:"threadId"});a.createIndex(Lr,"memoryUserId",{unique:!1}),a.createIndex(rh,"updatedAt",{unique:!1})}}async function $o(){return new Promise((e,t)=>{let a=indexedDB.open(ah,2);a.onupgradeneeded=r=>{oh(a.result,r.oldVersion)},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})}async function nh(){return $o()}async function sh(e){return new Promise((t,a)=>{let n=e.transaction("ids","readonly").objectStore("ids").get(Ml);n.onsuccess=()=>t(typeof n.result=="string"?n.result:null),n.onerror=()=>a(n.error)})}async function ih(e,t){return new Promise((a,r)=>{let s=e.transaction("ids","readwrite").objectStore("ids").put(t,Ml);s.onsuccess=()=>a(),s.onerror=()=>r(s.error)})}async function lh(){if(typeof indexedDB>"u")return null;try{let e=await nh();try{let t=await sh(e);if(t)return t;let a=jo();return await ih(e,a),a}finally{e.close()}}catch{return null}}function uh(){try{let e=localStorage.getItem(Rl);if(e)return e;let t=jo();return localStorage.setItem(Rl,t),t}catch{return null}}async function Fl(){let e=await lh();if(e)return e;let t=uh();return t||(zo||(zo=jo()),zo)}var Bl=50,El=1e3;function Cr(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.threadId=="string"&&typeof t.memoryUserId=="string"&&typeof t.title=="string"&&Array.isArray(t.messages)&&typeof t.createdAt=="string"&&typeof t.updatedAt=="string"}async function Sr(e){if(typeof indexedDB>"u")return null;let t=null;try{return t=await $o(),await e(t)}catch{return null}finally{try{t?.close()}catch{}}}function Xo(e){return new Promise((t,a)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>a(e.error)})}async function Ko(e){return await Sr(async a=>{let n=a.transaction(Be,"readonly").objectStore(Be).index(Lr),i=(await Xo(n.getAll(e))??[]).filter(Cr);return i.sort((l,u)=>l.updatedAt<u.updatedAt?1:-1),i})??[]}async function yr(e){return await Sr(async a=>{let o=a.transaction(Be,"readonly").objectStore(Be),n=await Xo(o.get(e));return Cr(n)?n:null})??null}async function Qo(e){if(!Cr(e))return;let t=e.messages.length>El?{...e,messages:e.messages.slice(e.messages.length-El)}:e;await Sr(async a=>{await new Promise((l,u)=>{let c=a.transaction(Be,"readwrite");c.oncomplete=()=>l(),c.onerror=()=>u(c.error),c.onabort=()=>u(c.error),c.objectStore(Be).put(t)});let r=a.transaction(Be,"readwrite"),o=r.objectStore(Be),n=o.index(Lr),i=(await Xo(n.getAll(t.memoryUserId))??[]).filter(Cr);if(i.length>Bl){i.sort((u,c)=>u.updatedAt<c.updatedAt?-1:1);let l=i.slice(0,i.length-Bl);for(let u of l)o.delete(u.threadId)}return await new Promise((l,u)=>{r.oncomplete=()=>l(),r.onerror=()=>u(r.error),r.onabort=()=>u(r.error)}),null})}async function Dl(e){await Sr(async t=>(await new Promise((a,r)=>{let o=t.transaction(Be,"readwrite");o.oncomplete=()=>a(),o.onerror=()=>r(o.error),o.onabort=()=>r(o.error),o.objectStore(Be).delete(e)}),null))}async function Jo(e){return(await Ko(e))[0]?.threadId??null}function _l(e){let t=e.trim();if(!t)return`Conversation on ${new Date().toISOString().slice(0,10)}`;let a=t.split(/\r?\n/,1)[0]??t;return a.length<=60?a:`${a.slice(0,60).trimEnd()}\u2026`}var Yo="waniwani-visitor-id";function Nl(e,t){return e.match(t)?.[1]??null}function dh(e){let t=[["Edge",/Edg(?:e|A|iOS)?\/(\S+)/],["Opera",/(?:OPR|Opera)\/(\S+)/],["Samsung Internet",/SamsungBrowser\/(\S+)/],["Firefox",/Firefox\/(\S+)/],["Chrome",/Chrome\/(\S+)/],["Safari",/Version\/(\S+).*Safari/]];for(let[a,r]of t){let o=Nl(e,r);if(o)return{name:a,version:o}}return null}function ch(e){let t=[["iOS",/(?:iPhone|iPad|iPod).+?OS (\d+[_.\d]*)/],["Android",/Android (\d+[.\d]*)/],["macOS",/Mac OS X (\d+[_.\d]*)/],["Windows",/Windows NT (\d+[.\d]*)/],["ChromeOS",/CrOS \S+ (\d+[.\d]*)/],["Linux",/Linux/]];for(let[a,r]of t){let o=Nl(e,r);if(o)return{name:a,version:o.replace(/_/g,".")};if(a==="Linux"&&r.test(e))return{name:a,version:""}}return null}function fh(e){return typeof navigator<"u"&&"userAgentData"in navigator&&navigator.userAgentData?.mobile?"mobile":/iPad|tablet|PlayBook/i.test(e)?"tablet":/Mobi|Android.*Mobile|iPhone|iPod/i.test(e)?"mobile":"desktop"}function ph(){try{if(typeof crypto<"u"){if(typeof crypto.randomUUID=="function")return crypto.randomUUID();if(typeof crypto.getRandomValues=="function"){let e=crypto.getRandomValues(new Uint8Array(16));e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=Array.from(e,a=>a.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}}}catch{}return`v-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}function st(){try{let t=localStorage.getItem(Yo);if(t)return t}catch{}let e=ph();try{localStorage.setItem(Yo,e)}catch{}return e}function Ol(e){let t=typeof e=="string"?e.trim():"";if(!t)return st();try{localStorage.setItem(Yo,t)}catch{}return t}function mh(e){return e!=null&&typeof e.then=="function"}function Ul(e){let t=!1,a=()=>{t=!0};if(e==null)return a;let r;try{r=typeof e=="function"?e():e}catch{return a}return mh(r)?r.then(o=>{t||Ol(o??"")},()=>{}):Ol(r??""),a}async function pa(){let e=navigator.userAgent,t=st(),a=await Fl();return{userAgent:e,browser:dh(e),os:ch(e),deviceType:fh(e),language:navigator.language,languages:[...navigator.languages],timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,screenWidth:screen.width,screenHeight:screen.height,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight,colorDepth:screen.colorDepth,devicePixelRatio:window.devicePixelRatio??1,touchSupport:"ontouchstart"in window||navigator.maxTouchPoints>0,connectionType:navigator.connection?.effectiveType??"unknown",referrer:document.referrer,visitorId:t,memoryUserId:a}}var gh="x-session-id",wh=250,xh=200;function Hl(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():$t()}function br(){return new Date().toISOString()}function ql(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}async function Ih(e,t){let a=nt(e,"/tools"),r=await fetch(a,{method:"GET",headers:t?{...t}:void 0});if(!r.ok)throw new Error(`[Waniwani] Failed to fetch /tools: ${r.status} ${r.statusText}`);let o=await r.json();if(!o||!Array.isArray(o.tools))return{};let n={};for(let s of o.tools)s&&typeof s.name=="string"&&(n[s.name]=s);return n}function kr(e){let{api:t="/api/waniwani",headers:a,body:r,onMessageSent:o,onResponseReceived:n,enableThreadHistory:s=!1,activeThreadId:i,onThreadChange:l}=e,u=e.visitorId;Ee(()=>Ul(u),[u]);let c=xr(),d=pe(a),f=pe(r),p=pe(s);Ee(()=>{p.current=s},[s]);let m=pe(void 0),L=pe(null),[I,x]=It(void 0),g=pe(I),[h,w]=It(i),S=pe(h),[v,A]=It([]),[P,E]=It(!s),k=pe(void 0),B=pe(void 0),y=pe(void 0),X=pe(void 0),H=pe(0),R=pe(l);Ee(()=>{R.current=l},[l]);let b=Ce(C=>{S.current=C,w(C),C&&(R.current?.(C),c.emit({name:"thread.changed",sessionId:g.current,properties:{threadId:C}}))},[c]),M=Ce(async()=>{if(!s)return;let C=L.current?.memoryUserId;if(!C)return;let D=await Ko(C);A(D)},[s]),Pe=Ce(()=>g.current,[]),we=Ce(C=>{let D=ql(C);if(!D||g.current===D)return;let _=g.current===void 0;g.current=D,x(D),_&&c.emit({name:"session.started",properties:{sessionId:D}})},[c]),U=Ce(()=>{g.current=void 0,x(void 0)},[]);Ee(()=>{d.current=a},[a]),Ee(()=>{f.current=r},[r]),Ee(()=>{let C=!1,D=H.current;return(async()=>{try{let ee=await pa();if(C)return;L.current=ee}catch{}if(!s)return;let _=L.current?.memoryUserId;if(!_){E(!0);return}try{let ee=i??await Jo(_);if(C||D!==H.current)return;if(ee){let he=await yr(ee);if(C||D!==H.current)return;he&&he.memoryUserId===_&&(S.current=he.threadId,w(he.threadId),k.current=he.createdAt,B.current=he.title,he.sessionId&&(g.current=he.sessionId,x(he.sessionId)),V(he.messages))}await M()}finally{C||E(!0)}})(),()=>{C=!0}},[]);let re=pe(new Ir({api:t,headers:()=>({...d.current}),body:()=>{let C={...f.current??{}},D=Object.hasOwn(C,"sessionId"),_=ql(C.sessionId);if(_)we(_),C.sessionId=_;else if(D)U(),delete C.sessionId;else{let Dr=Pe();Dr&&(C.sessionId=Dr)}Mt(m.current)&&(C.modelContext=m.current);let ee=L.current,he=st();ee&&(C.visitorContext={timezone:ee.timezone,language:ee.language,languages:ee.languages,deviceType:ee.deviceType,referrer:ee.referrer,visitorId:he});let se=typeof C.visitor=="object"&&C.visitor!==null?C.visitor:{},_u=typeof se.client=="object"&&se.client!==null?se.client:{};C.visitor={...se,id:he,client:{..._u,...ee&&{memoryUserId:ee.memoryUserId}}};let Sn=typeof C.extra=="object"&&C.extra!==null&&!Array.isArray(C.extra)?C.extra:void 0,yn=L.current?.memoryUserId,bn=L.current?.language,Ia={};if(yn&&(Ia.memoryUserId=yn),bn&&(Ia.locale=bn),(Object.keys(Ia).length>0||Sn)&&(C.extra={...Ia,...Sn??{}}),p.current)if(Object.hasOwn(C,"threadId"))typeof C.threadId=="string"&&(S.current=C.threadId);else{let La=S.current;La||(La=Hl(),k.current=br(),B.current=void 0,b(La)),C.threadId=La}return C},fetch:(async(C,D)=>{let _=await fetch(C,D);return m.current=void 0,we(_.headers.get(gh)),_})})),oe=pe(null),ye=pe(null),le=pe({}),[j,W]=It(0),Ae=e.skipRemoteConfig===!0,ce=Ce(async()=>{if(!Ae)try{let C=await Ih(t,d.current);le.current=C,W(D=>D+1)}catch(C){console.warn("[Waniwani] Failed to fetch tool definitions:",C instanceof Error?C.message:C)}},[t,Ae]);Ee(()=>{ce()},[ce]);let{messages:K,sendMessage:ue,setMessages:V,status:O}=hh({messages:e.initialMessages,transport:re.current,onFinish({message:C,isAbort:D,isDisconnect:_,isError:ee}){n?.(),!D&&!_&&!ee&&c.emit({name:"message.received"}),oe.current&&(ye.current=C)},onError(C){console.warn("[Waniwani] Chat error:",C.message),c.emit({name:"chat.error",properties:{message:C.message.slice(0,xh)}}),oe.current&&(oe.current.reject(C),oe.current=null)}}),q=pe(K);Ee(()=>{q.current=K},[K]);let N=pe(s);Ee(()=>{if(!s||N.current||(N.current=!0,q.current.length>0))return;let C=!1,D=H.current;return E(!1),(async()=>{try{let _=L.current;if(!_)try{_=await pa(),L.current=_}catch{}let ee=_?.memoryUserId;if(!ee||C||D!==H.current){C||E(!0);return}let he=i??await Jo(ee);if(C||D!==H.current)return;if(he){let se=await yr(he);if(C||D!==H.current)return;se&&se.memoryUserId===ee&&(S.current=se.threadId,w(se.threadId),k.current=se.createdAt,B.current=se.title,se.sessionId&&(g.current=se.sessionId,x(se.sessionId)),V(se.messages))}await M()}finally{C||E(!0)}})(),()=>{C=!0}},[s]),Ee(()=>{if(O==="ready"&&oe.current&&ye.current){let C=oe.current,D=ye.current;oe.current=null,ye.current=null,C.resolve(D)}},[O]);let[ne,Q]=It(""),[xe,be]=It([]),Re=O==="submitted"||O==="streaming",Qe=Ce(C=>{be(D=>D.filter(_=>_.id!==C))},[]),xa=Re&&xe.length>0,F=Ce(C=>{let D=!!C.text?.trim(),_=!!C.files?.length;if(D||_){if(Re){if(xe.length>0)return;be(ee=>[...ee,{id:$t(),text:C.text||"",files:C.files??[],modelContext:C.modelContext}]),Q("");return}m.current=C.modelContext,ue({text:C.text||"",files:C.files}),o?.(C.text||""),c.emit({name:"message.sent"}),Q("")}},[ue,o,Re,xe.length,c]),z=Ce(C=>new Promise((D,_)=>{oe.current={resolve:D,reject:_},ue({text:C}),o?.(C),c.emit({name:"message.sent"})}),[ue,o,c]);Ee(()=>{if(O!=="ready"||xe.length===0)return;let[C,...D]=xe;be(D),m.current=C.modelContext,ue({text:C.text,files:C.files.length>0?C.files:void 0}),o?.(C.text),c.emit({name:"message.sent"})},[O,ue,o,xe,c]);let de=Ce(()=>{V([]),be([]),U(),Q(""),le.current={},W(C=>C+1),ce()},[V,U,ce]),ve=Ce(()=>{if(!p.current)return;let C=L.current?.memoryUserId,D=S.current,_=q.current;if(!(!C||!D||_.length===0)){if(k.current||(k.current=br()),!B.current){let ee=_.find(se=>se.role==="user"),he=ee?ee.parts.map(se=>"text"in se&&typeof se.text=="string"?se.text:"").join(" "):"";B.current=_l(he)}return{threadId:D,memoryUserId:C,title:B.current,messages:_,sessionId:g.current,createdAt:k.current,updatedAt:br()}}},[]),Ve=Ce(async()=>{let C=ve();C&&(await Qo(C),await M())},[ve,M]);Ee(()=>{if(s&&P&&!(O==="submitted"||O==="streaming")&&K.length!==0)return y.current&&clearTimeout(y.current),y.current=setTimeout(()=>{y.current=void 0;let C=Ve().finally(()=>{X.current===C&&(X.current=void 0)});X.current=C},wh),()=>{y.current&&clearTimeout(y.current)}},[s,P,K,O,Ve]);let ze=Ce(()=>{let C=X.current,D=y.current,_=D?ve():void 0;return D&&(clearTimeout(D),y.current=void 0),(async()=>{C&&await C,_&&(await Qo(_),await M())})()},[ve,M]),Br=Ce(()=>{H.current+=1,ze(),V([]),be([]),U(),Q("");let C=Hl();return k.current=br(),B.current=void 0,b(C),M(),C},[V,U,b,M,ze]),Er=Ce(async C=>{H.current+=1;let D=H.current;if(await ze(),D!==H.current)return;let _=await yr(C);D===H.current&&_&&(_.sessionId?(g.current=_.sessionId,x(_.sessionId)):U(),b(_.threadId),k.current=_.createdAt,B.current=_.title,V(_.messages),be([]),Q(""))},[V,U,b,ze]),Fu=Ce(async C=>{if(S.current===C){H.current+=1,y.current&&(clearTimeout(y.current),y.current=void 0);let D=X.current;D&&await D}await Dl(C),await M(),S.current===C&&(V([]),be([]),U(),Q(""),S.current=void 0,w(void 0),k.current=void 0,B.current=void 0)},[V,U,M]);Ee(()=>{s&&P&&i!==void 0&&i!==S.current&&Er(i)},[i,s,P,Er]);let Bu=Ce(C=>{Q(C.target.value)},[]),Ln=K[K.length-1],Cn=K.length>0,Eu=Re&&(!Cn||Ln.role==="user"),Du=le.current;return{messages:K,status:O,text:ne,setText:Q,handleSubmit:F,handleTextChange:Bu,isLoading:Re,showLoaderBubble:Eu,lastMessage:Ln,hasMessages:Cn,sendMessage:ue,sendMessageAndWait:z,reset:de,queuedMessages:xe,queueFull:xa,removeQueuedMessage:Qe,sessionId:I,toolDefinitions:Du,refreshToolDefinitions:ce,threads:v,activeThreadId:h,isThreadHistoryReady:P,startNewThread:Br,switchThread:Er,deleteThread:Fu}}import{useEffect as Wl,useRef as Lh,useState as Ch}from"react";var Sh={debug:!1,eval:!1};function Gl(e="/api/waniwani",t,a=!1){let[r,o]=Ch(Sh),n=Lh(t);return Wl(()=>{n.current=t},[t]),Wl(()=>{a||(async()=>{try{let s=n.current,l=await(await fetch(nt(e,"/config"),{headers:s?{...s}:void 0})).json();o({debug:l.debug===!0,eval:l.eval===!0})}catch{}})()},[e,a]),r}import{useCallback as bh,useEffect as tn,useMemo as an,useRef as kh,useState as $l}from"react";function Ft(e){return e.map(t=>({id:null,text:t}))}function Zo(e){let{flow:t,followup:a,page:r,channel:o}=e;return t!==null?{origin:"flow",suggestions:t}:a?.length?{origin:"followup",suggestions:a}:r?.length?{origin:"page",suggestions:r}:o?.length?{origin:"channel",suggestions:o}:null}var en="waniwani/suggestions";function Bt(e){return typeof e=="object"&&e!==null}function Vl(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function yh(e){if(!Bt(e)||!("toolCallId"in e)||!("output"in e))return null;let t=e.output;if(!Bt(t)||!Bt(t._meta))return null;let a=t._meta[en];return!Bt(a)||!Vl(a.suggestions)?null:a.suggestions}function zl(e){let t=null;for(let a of e.parts){let r=yh(a);r!==null&&(t=r)}return t}function jl(e){for(let t of e.parts){if(!Bt(t)||t.type!=="data-suggestions")continue;let a=t.data;if(Bt(a)&&Vl(a.suggestions)&&a.suggestions.length>0)return a.suggestions}return null}function Th(e){return"page"in e||"channel"in e}function vh(e){return typeof e!="object"||e===null?{}:Th(e)?{rungs:e}:{initial:e.initial}}function Tr(e){let{messages:t,status:a,suggestions:r}=e,o=r!==!1,{rungs:n,initial:s}=vh(r),i=an(()=>({page:null,channel:Ft(s??[])}),[s]),l=n??i,u=an(()=>o?Zo({flow:null,followup:null,...l}):null,[o,l]),c=an(()=>u?.suggestions.map(h=>h.text)??[],[u]),[d,f]=$l(c),[p,m]=$l(u?.origin??"channel"),L=kh(a),I=bh(()=>{f([])},[]),x=t.length>0;tn(()=>{x||(f(c),m(u?.origin??"channel"))},[c,u,x]);let g=t[t.length-1];return tn(()=>{g?.role==="user"&&I()},[g,I]),tn(()=>{let h=L.current;if(L.current=a,h!=="streaming"||a!=="ready"||!o)return;let w=[...t].reverse().find(P=>P.role==="assistant");if(!w)return;let S=zl(w),v=jl(w),A=Zo({flow:S===null?null:Ft(S),followup:v===null?null:Ft(v),page:null,channel:null});f(A?A.suggestions.map(P=>P.text):[]),m(A?.origin??"channel")},[a,o,t]),{suggestions:d,source:p,isLoading:!1,clear:I}}import{useEffect as Ph,useRef as Ah,useState as Rh}from"react";var Mh=80,Fh=50,Bh=15e3,Xl=500;function vr(e,t=!0){let[a,r]=Rh(""),o=Ah(void 0);return Ph(()=>{if(!t){r("");return}let n=0,s=!1,i=!1,l=()=>{i||(s?(n--,r(e.slice(0,n)),n<=0?(s=!1,o.current=setTimeout(l,Xl)):o.current=setTimeout(l,Fh)):(n++,r(e.slice(0,n)),n>=e.length?(s=!0,o.current=setTimeout(l,Bh)):o.current=setTimeout(l,Mh)))};return o.current=setTimeout(l,Xl),()=>{i=!0,clearTimeout(o.current)}},[e,t]),a}function Pr(e,t){let a=t?.Authorization,r=typeof a=="string"&&a.startsWith("Bearer ")?a.slice(7):null;return nt(e,"/resource",r?{token:r}:void 0)}var Kl={primaryColor:"#6366f1",primaryForeground:"#1f2937",backgroundColor:"#ffffff",textColor:"#1f2937",mutedColor:"#6b7280",borderColor:"#e5e7eb",borderWidth:0,boxShadow:"none",assistantBubbleColor:"#f3f4f6",userBubbleColor:"#f4f4f4",inputBackgroundColor:"#f9fafb",borderRadius:16,messageBorderRadius:8,fontFamily:"system-ui, -apple-system, 'Segoe UI', sans-serif",headerBackgroundColor:"#ffffff",headerTextColor:"#1f2937",statusColor:"#22c55e",toolCardColor:"#f4f4f5",userBubbleTextColor:"#1f2937",assistantBubbleTextColor:"#1f2937",messagePaddingX:16,messagePaddingY:12,messageMaxWidth:"80%",fontSize:16,lineHeight:"1.5",glassTint:"transparent",glassTintStrength:"0"},Eh={backgroundColor:"#212121",headerBackgroundColor:"#1e1e1e",headerTextColor:"#ececec",textColor:"#ececec",primaryForeground:"#ffffff",mutedColor:"#8e8ea0",borderColor:"#444444",assistantBubbleColor:"#2f2f2f",userBubbleColor:"#303030",inputBackgroundColor:"#2f2f2f",primaryColor:"#6366f1",statusColor:"#22c55e",toolCardColor:"#262626",userBubbleTextColor:"#ffffff",assistantBubbleTextColor:"#ececec"},Dh={primaryColor:["--ww-primary","--ww-color-primary"],primaryForeground:["--ww-primary-fg","--ww-color-primary-foreground"],backgroundColor:["--ww-bg","--ww-color-background"],textColor:["--ww-text","--ww-color-foreground","--ww-color-accent-foreground"],mutedColor:["--ww-muted","--ww-color-muted-foreground"],borderColor:["--ww-border","--ww-color-border"],borderWidth:["--ww-border-width"],boxShadow:["--ww-shadow"],assistantBubbleColor:["--ww-assistant-bubble","--ww-color-accent"],userBubbleColor:["--ww-user-bubble"],inputBackgroundColor:["--ww-input-bg","--ww-color-input"],borderRadius:["--ww-radius"],messageBorderRadius:["--ww-msg-radius"],fontFamily:["--ww-font"],headerBackgroundColor:["--ww-header-bg"],headerTextColor:["--ww-header-text"],statusColor:["--ww-status"],toolCardColor:["--ww-tool-card","--ww-color-tool-card"],userBubbleTextColor:["--ww-user-bubble-text"],assistantBubbleTextColor:["--ww-assistant-bubble-text"],messagePaddingX:["--ww-msg-pad-x"],messagePaddingY:["--ww-msg-pad-y"],messageMaxWidth:["--ww-msg-max-width"],fontSize:["--ww-font-size"],lineHeight:["--ww-line-height"],glassTint:["--ww-glass-tint"],glassTintStrength:["--ww-glass-tint-opacity"]};function rn(e){return{...Kl,...e}}function ma(e){let t={};for(let[a,r]of Object.entries(Dh)){let o=e[a];if(o===void 0)continue;let n=typeof o=="number"?`${o}px`:String(o);for(let s of r)t[s]=n}return t}import{jsx as Se,jsxs as ha}from"react/jsx-runtime";var Uh=_h(function(t,a){let{theme:r,title:o="Assistant",width:n,height:s,className:i,allowAttachments:l=!1,welcomeMessage:u,welcome:c,placeholder:d="Ask me anything...",triggerEvent:f="triggerDemoRequest",api:p,debug:m,enableThreadHistory:L=!1,showToolCalls:I=!0}=t,x=p??"/api/waniwani",g=Pr(x,t.headers),h=rn(r),w=ma(r??{}),S=h.backgroundColor.replace("#",""),v=parseInt(S.substring(0,2),16),A=parseInt(S.substring(2,4),16),P=parseInt(S.substring(4,6),16),E=(v*299+A*587+P*114)/1e3<128,k=Gl(x,t.headers,t.skipRemoteConfig),B=m??k.debug,y=kr({...t,api:x}),X=wr({...t,api:x,sessionId:y.sessionId}),H=vr(d,!y.text),[R,b]=Jl(!1),[M,Pe]=Jl(null),we=Ql(null),U=Ql(void 0),re=on(()=>{let j=we.current;if(!j)return;j.scrollIntoView({behavior:"smooth",block:"center"});let W=j.querySelector("textarea");W&&setTimeout(()=>W.focus(),300),b(!0),clearTimeout(U.current),U.current=setTimeout(()=>b(!1),2e3)},[]),oe=Tr({messages:y.messages,status:y.status,suggestions:t.suggestions}),ye=on(j=>{let W=j.content.map(Ae=>Ae.text??"").join("").trim();W&&y.handleSubmit({text:W,files:[],modelContext:j.modelContext})},[y.handleSubmit]),le=on(j=>{oe.clear(),y.handleSubmit({text:j,files:[]})},[oe.clear,y.handleSubmit]);return Nh(a,()=>({sendMessage:j=>{y.handleSubmit({text:j,files:[]}),re()},sendMessageAndWait:j=>y.sendMessageAndWait(j),reset:y.reset,focus:re,get messages(){return y.messages},get sessionId(){return y.sessionId}}),[y.handleSubmit,y.sendMessageAndWait,y.reset,y.messages,y.sessionId,re]),Oh(()=>{if(!f)return;let j=W=>{let Ae=W.detail,ce=typeof Ae?.message=="string"?Ae.message:void 0;ce&&y.handleSubmit({text:ce,files:[]}),re()};return window.addEventListener(f,j),()=>window.removeEventListener(f,j)},[f,y.handleSubmit,re]),ha("div",{ref:we,style:{...w,width:n,height:s},"data-waniwani-chat":"","data-waniwani-layout":"card",...E?{"data-waniwani-dark":""}:{},className:T("ww:flex ww:flex-col ww:font-[family-name:var(--ww-font)] ww:text-foreground ww:bg-background ww:rounded-[var(--ww-radius)] ww:overflow-hidden",R&&"ww:ring-2 ww:ring-blue-400/70 ww:ring-offset-2 ww:ring-offset-background",i),children:[ha("div",{className:"ww:shrink-0 ww:flex ww:items-center ww:gap-2 ww:px-6 ww:py-3",style:{backgroundColor:h.headerBackgroundColor,color:h.headerTextColor},children:[Se("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:o}),Se(ps,{messages:y.messages,evalEnabled:k.eval,api:x}),L&&Se(gr,{threads:y.threads,activeThreadId:y.activeThreadId,onNewThread:y.startNewThread,onSelectThread:j=>{y.switchThread(j)},onDeleteThread:j=>{y.deleteThread(j)}})]}),ha(Vn,{className:"ww:flex-1 ww:min-h-0 ww:bg-background",children:[Se(zn,{scrollClassName:M?"ww:!relative ww:!overflow-hidden":void 0,children:Se(fr,{messages:y.messages,status:y.status,welcomeMessage:u,welcome:c,onSuggestionSelect:le,resourceEndpoint:g,chatSessionId:y.sessionId,isDark:E,onFollowUp:ye,onCallTool:X,fullscreenToolCallId:M,debug:B,showToolCalls:I,toolDefinitions:y.toolDefinitions,onWidgetDisplayModeChange:(j,W)=>{Pe(j==="fullscreen"?W.toolCallId:null)}})}),Se(jn,{})]}),Se("div",{style:M?{display:"none"}:void 0,children:Se(hr,{suggestions:oe.suggestions,isLoading:oe.isLoading,onSelect:le})}),Se("div",{style:M?{display:"none"}:void 0,children:Se(Ma,{queuedMessages:y.queuedMessages,onRemove:y.removeQueuedMessage})}),Se("div",{style:M?{display:"none"}:void 0,children:Se("div",{className:"ww:shrink-0 ww:px-4 ww:pb-8 ww:pt-2 ww:bg-background",children:ha("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[Se(va,{onSubmit:y.handleSubmit,globalDrop:l,multiple:l,className:"ww:rounded-2xl ww:border-border ww:bg-input",children:ha("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[l&&Se(Ra,{}),Se(Pa,{onChange:y.handleTextChange,value:y.text,placeholder:H,className:"ww:min-h-0 ww:py-1 ww:px-0"}),Se(Aa,{status:y.status,disabled:y.queueFull})]})}),Se(pr,{})]})})})]})});import{forwardRef as Zl,useCallback as Ar,useEffect as Ke,useImperativeHandle as qh,useRef as Lt,useState as Rr}from"react";import{jsx as Hh}from"react/jsx-runtime";function Yl({text:e}){let{t}=G();return e===!1?null:Hh("span",{className:"ww:whitespace-nowrap ww:text-[10px] ww:sm:text-[11px] ww:text-muted-foreground ww:opacity-70",children:e||t.aiDisclaimer.default})}import{jsx as me,jsxs as it}from"react/jsx-runtime";var nn=Zl(function(t,a){let{locale:r,messages:o}=t;return me(Vr,{locale:r,messages:o,children:me(Wh,{...t,ref:a})})}),Wh=Zl(function(t,a){let{t:r,ready:o}=G(),{appearance:n,className:s,classNames:i,allowAttachments:l=!1,welcomeMessage:u,welcome:c,placeholder:d=r.promptInput.placeholder,triggerEvent:f="triggerDemoRequest",api:p,mcp:m,debug:L=!1,readOnly:I=!1,title:x,headerActions:g,hideHeader:h=!1,enableThreadHistory:w=!1,showToolCalls:S=!0,initializing:v=!1,onScreen:A=!0,disclaimer:P}=t,E=n?.theme,k=n?.variables,B=n?.assistantBubble??!1,y=k?ma(k):{},[X,H]=Rr(!1);Ke(()=>{if(E!=="auto"||typeof window>"u")return;let F=window.matchMedia("(prefers-color-scheme: dark)");H(F.matches);let z=()=>H(F.matches);return F.addEventListener("change",z),()=>F.removeEventListener("change",z)},[E]);let R=E==="dark"||E==="auto"&&X,b=kr({...t,api:p}),M=xr(),Pe=wr({...t,api:p,sessionId:b.sessionId,onCallTool:m?.onCallTool}),we=m?.resourceEndpoint??Pr(p,t.headers),U=vr(d,!b.text),[re,oe]=Rr(null),[ye,le]=Rr(null),j=Lt(null),W=Lt(null),Ae=Lt(null),ce=Lt(null),[K,ue]=Rr(!0),V=Lt(K);V.current=K;let O=Ar(()=>{let F=j.current;if(!F)return;let z=F.querySelector("textarea");z&&z.focus()},[]),q=Ar((F="smooth")=>{let z=W.current;z&&z.scrollTo({top:z.scrollHeight,behavior:F})},[]);Ke(()=>{let F=ce.current,z=W.current;if(!F||!z)return;let de=new IntersectionObserver(([ve])=>ue(ve.isIntersecting),{root:z,rootMargin:"0px 0px 200px 0px",threshold:0});return de.observe(F),()=>de.disconnect()},[]),Ke(()=>{let F=W.current;if(!F)return;let z=de=>{let Ve=(de.target instanceof Element?de.target:null)?.closest("a");Ve?.href&&M.emit({name:"link.clicked",properties:{url:Ve.href}})};return F.addEventListener("click",z),()=>F.removeEventListener("click",z)},[M]),Ke(()=>{(b.messages[b.messages.length-1]?.role==="user"||V.current)&&q("smooth")},[b.messages.length,b.messages[b.messages.length-1]]),Ke(()=>{q("auto")},[q]),Ke(()=>{if(typeof ResizeObserver>"u")return;let F=W.current,z=Ae.current;if(!F&&!z)return;let de=F?.scrollHeight??0,ve=F?.clientHeight??0,Ve=new ResizeObserver(()=>{let ze=W.current;if(!ze)return;let Br=ze.scrollTop+ve>=de-5;de=ze.scrollHeight,ve=ze.clientHeight,Br&&q("auto")});return F&&Ve.observe(F),z&&Ve.observe(z),()=>Ve.disconnect()},[q]);let N=Tr({messages:b.messages,status:b.status,suggestions:t.suggestions}),ne=Lt(null);Ke(()=>{let F=N.suggestions;!A||F.length===0||ne.current===F||(ne.current=F,M.emit({name:"suggestions.shown",properties:{texts:F,origin:N.source}}))},[N.suggestions,N.source,M,A]);let Q=c?.suggestions,xe=Lt(null);Ke(()=>{!A||b.messages.length>0||!Q?.length||xe.current===Q||(xe.current=Q,M.emit({name:"suggestions.shown",properties:{texts:Q,origin:"channel"}}))},[Q,b.messages.length,M,A]);let be=Ar(F=>{let z=F.content.map(de=>de.text??"").join("").trim();z&&b.handleSubmit({text:z,files:[],modelContext:F.modelContext})},[b.handleSubmit]),Re=Ar(F=>{let z=N.suggestions.indexOf(F),de=z>=0?z:c?.suggestions?.indexOf(F)??-1,ve=z>=0?N.source:"channel";M.emit({name:"suggestion.clicked",properties:{text:F,index:de,origin:ve}}),N.clear(),b.handleSubmit({text:F,files:[]})},[N.suggestions,N.source,N.clear,b.handleSubmit,c,M]);qh(a,()=>({sendMessage:F=>{b.handleSubmit({text:F,files:[]}),O()},sendMessageAndWait:F=>b.sendMessageAndWait(F),reset:b.reset,focus:O,get messages(){return b.messages},get sessionId(){return b.sessionId}}),[b.handleSubmit,b.sendMessageAndWait,b.reset,b.messages,b.sessionId,O]),Ke(()=>{if(!f)return;let F=z=>{let de=z.detail,ve=typeof de?.message=="string"?de.message:void 0;ve&&b.handleSubmit({text:ve,files:[]}),O()};return window.addEventListener(f,F),()=>window.removeEventListener(f,F)},[f,b.handleSubmit,O]);let Qe=!h&&!!(x||w||g),xa=v||!o;return it("div",{ref:j,style:{...y,maxHeight:"inherit",...re&&ye?{height:ye}:{},opacity:xa?0:1,transition:"opacity 220ms ease-out"},"data-waniwani-chat":"","data-waniwani-layout":"embed","data-assistant-bubble":B?"true":void 0,"data-color-scheme":E==="auto"?"auto":void 0,...xa?{"data-waniwani-initializing":""}:{},...R?{"data-waniwani-dark":""}:{},className:T("ww:relative ww:w-full ww:h-full ww:flex ww:flex-col ww:bg-background ww:text-foreground ww:font-[family-name:var(--ww-font)] ww:overflow-hidden",E==="dark"&&"dark",s,i?.root),children:[Qe&&it("div",{className:T("ww-header ww:shrink-0 ww:flex ww:items-center ww:gap-2 ww:pl-4 ww:pr-3 ww:py-3 ww:border-b ww:border-border",i?.header),style:{backgroundColor:"var(--ww-color-card-header)",color:"var(--ww-color-card-header-foreground)"},children:[x&&me("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:x}),!x&&me("div",{className:"ww:flex-1"}),w&&me(gr,{threads:b.threads,activeThreadId:b.activeThreadId,onNewThread:b.startNewThread,onSelectThread:F=>{b.switchThread(F)},onDeleteThread:F=>{b.deleteThread(F)}}),g]}),it("div",{ref:W,className:T("ww:relative ww:flex-1 ww:min-h-0",re?"ww:overflow-hidden":"ww:overflow-y-auto"),children:[it("div",{ref:Ae,className:T("ww:mx-auto ww:w-full ww:max-w-3xl ww:px-4 ww:py-6 ww:flex ww:flex-col ww:gap-6",re&&"ww:!py-0"),children:[me(fr,{messages:b.messages,status:b.status,welcomeMessage:u,welcome:c,onSuggestionSelect:Re,resourceEndpoint:we,chatSessionId:b.sessionId,isDark:R,onFollowUp:be,onCallTool:Pe,fullscreenToolCallId:re,debug:L,showToolCalls:S,toolDefinitions:b.toolDefinitions,messageClassNames:{message:i?.message,userBubble:i?.userBubble,assistantBubble:i?.assistantBubble},onWidgetDisplayModeChange:(F,z)=>{if(F==="fullscreen"){let de=j.current?.getBoundingClientRect().height??0;le(de>0?de:null),oe(z.toolCallId)}else le(null),oe(null)}}),me("div",{ref:ce,"aria-hidden":!0,style:{height:1}})]}),!K&&!re&&me("div",{className:"ww:sticky ww:bottom-2 ww:flex ww:justify-center ww:pointer-events-none",children:me(De,{type:"button",onClick:()=>q("smooth"),size:"icon",variant:"outline",className:"ww:rounded-full ww:shadow ww:pointer-events-auto","aria-label":"Scroll to latest",children:me(lt,{className:"ww:size-4"})})})]}),!I&&it("div",{className:"ww:shrink-0 ww:bg-background",style:re?{display:"none"}:void 0,children:[me(hr,{suggestions:N.suggestions,isLoading:N.isLoading,onSelect:Re}),me(Ma,{queuedMessages:b.queuedMessages,onRemove:b.removeQueuedMessage}),me("div",{className:"ww:px-4 ww:pb-2 ww:pt-2",children:it("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[me(va,{onSubmit:b.handleSubmit,globalDrop:l,multiple:l,className:T("ww-input ww:rounded-2xl ww:border-border ww:bg-input",i?.input),children:it("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[l&&me(Ra,{}),me(Pa,{onChange:b.handleTextChange,value:b.text,placeholder:U,className:"ww:min-h-0 ww:py-1 ww:px-0"}),me(Aa,{status:b.status,disabled:b.queueFull})]})}),it("div",{className:"ww:pt-2 ww:pb-1 ww:flex ww:flex-nowrap ww:justify-center ww:items-center ww:gap-1.5",children:[me(pr,{}),me(Yl,{text:P})]})]})})]})]})});import{forwardRef as _g,useEffect as Fr,useImperativeHandle as Og,useMemo as xn,useRef as In,useState as Au}from"react";var Gh="https://app.waniwani.ai/api/mcp/chat",Vh={api:Gh};function zh(){if(typeof document>"u")return null;if(document.currentScript instanceof HTMLScriptElement)return document.currentScript;let e=document.querySelector("script[src][data-token]");if(e instanceof HTMLScriptElement)return e;let t=document.querySelectorAll("script[src]");for(let a of t)if(a instanceof HTMLScriptElement&&/embed/i.test(a.src))return a;return null}function jh(){let e=zh();if(!e)return{};let t=k=>e.getAttribute(k)??void 0,a=k=>{let B=e.getAttribute(k);if(B==null)return;let y=B.trim().toLowerCase();if(y==="true"||y==="1"||y==="")return!0;if(y==="false"||y==="0")return!1},r={},o=t("data-api");o&&(r.api=o);let n=t("data-token");n&&(r.token=n);let s=t("data-visitor-id");s&&(r.visitorId=s);let i=t("data-title");i&&(r.title=i);let l=t("data-welcome-message");l&&(r.welcomeMessage=l);let u=t("data-placeholder");u&&(r.placeholder=u);let c=t("data-mcp-server-url");c&&(r.mcpServerUrl=c);let d=t("data-channel-id");if(d&&(r.channelId=d),t("data-show-tool-calls")?.trim().toLowerCase()==="titles-only")r.showToolCalls="titles-only";else{let k=a("data-show-tool-calls");k!==void 0&&(r.showToolCalls=k)}let p=t("data-css");p&&(r.css=p);let m=t("data-suggestions");m&&(r.suggestions=m.split(",").map(k=>k.trim()).filter(Boolean));let L=a("data-enable-thread-history");L!==void 0&&(r.enableThreadHistory=L);let I=a("data-disable-page-view");I!==void 0&&(r.disablePageView=I);let x=a("data-hide-header");x!==void 0&&(r.hideHeader=x);let g=t("data-theme");(g==="light"||g==="dark"||g==="auto")&&(r.appearance={...r.appearance,theme:g});let h=a("data-assistant-bubble");h!==void 0&&(r.appearance={...r.appearance,assistantBubble:h});let w=t("data-locale");(w==="en"||w==="fr"||w==="es")&&(r.locale=w);let S=t("data-mode");(S==="inline"||S==="floating")&&(r.mode=S);let v=t("data-height");v&&(r.height=v);let A=t("data-launcher-text");A&&(r.launcherText=A);let P=t("data-appear-delay");if(P!==void 0){let k=Number.parseInt(P.trim(),10);Number.isFinite(k)&&k>=0&&(r.appearDelay=k)}let E=t("data-disclaimer");if(E!==void 0){let k=E.trim(),B=k.toLowerCase();B==="false"||B==="0"?r.disclaimer=!1:k&&(r.disclaimer=k)}return r}function sn(e){if(!e)return{};let t={};for(let a in e)e[a]!==void 0&&(t[a]=e[a]);return t}function ln(e,t,a){let r=a??jh(),o=$h(t,r,e),n={token:"",...Vh,...sn(t),...sn(r),...sn(e),...o?{appearance:o}:{}};if(!n.token)throw new Error("[Waniwani] Missing required config: `token`. Set data-token on the script tag or pass it to Waniwani.chat.init().");return n}function $h(e,t,a){let r=a?.appearance?.theme??t.appearance?.theme??e?.appearance?.theme,o={...e?.appearance?.variables??{},...t.appearance?.variables??{},...a?.appearance?.variables??{}},n=Object.keys(o).length>0,s=a?.appearance?.assistantBubble??t.appearance?.assistantBubble??e?.appearance?.assistantBubble;if(!r&&!n&&s===void 0)return;let i={};return r&&(i.theme=r),n&&(i.variables=o),s!==void 0&&(i.assistantBubble=s),i}import{useEffect as vk,useState as Pk}from"react";function Xh(){if(typeof window>"u")return!1;try{return window.WANIWANI_DEBUG?!0:!!window.localStorage?.getItem("WANIWANI_DEBUG")}catch{return!1}}function ga(...e){Xh()&&console.log("[Waniwani]",...e)}var un=new Set;function Kh(e,t,a){return`${e}|${t}|${a??""}`}function wa(e){try{return`${new URL(e).origin}/api/mcp/events/v2/batch`}catch{return e.replace(/\/$/,"").replace(/\/chat$/,"/events/v2/batch")}}async function dn(e){let{api:t,token:a,channelId:r,mode:o,source:n}=e;if(typeof window>"u"||!t||!a)return;let s=Kh(t,a,r);if(!un.has(s)){un.add(s);try{let i=await pa(),l=new Date().toISOString(),u=JSON.stringify({sentAt:l,source:{sdk:"@waniwani/sdk",version:"0.1.0"},events:[{id:crypto.randomUUID(),type:"mcp.event",name:"page.viewed",source:n,timestamp:l,correlation:{visitorId:i.visitorId},properties:{channelId:r,mode:o,url:window.location.href,referrer:i.referrer,deviceType:i.deviceType,language:i.language,timezone:i.timezone},metadata:{}}]});await fetch(wa(t),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:u,keepalive:!0})}catch{un.delete(s)}}}import{useMemo as ng}from"react";import{useEffect as Zh,useSyncExternalStore as eg}from"react";function Qh(e){return e?.patterns??e?.rules??[]}var eu="\0\0";function Jh(e){let a=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\\\*\\\*/g,eu).replace(/\\\*/g,"[^/]*").split(eu).join(".*");return new RegExp(`^${a}$`)}function Yh(e,t){try{return Jh(e).test(t)}catch{return!1}}function tu(e,t){if(!e)return!0;let a=!1;for(let r of Qh(e))if(Yh(r.glob,t)){if(r.action==="hide")return!1;a=!0}return a?!0:(e.default??"show")!=="hide"}var cn="waniwani:locationchange",au=!1;function tg(){if(!(au||typeof history>"u")){au=!0;for(let e of["pushState","replaceState"]){let t=history[e];history[e]=function(...r){let o=t.apply(this,r);return window.dispatchEvent(new Event(cn)),o}}}}function ag(e){return tg(),window.addEventListener(cn,e),window.addEventListener("popstate",e),()=>{window.removeEventListener(cn,e),window.removeEventListener("popstate",e)}}function rg(){return window.location.pathname}function og(){return"/"}function fn(){return eg(ag,rg,og)}function ru(e,t){let a=fn(),r=t&&tu(e,a);return Zh(()=>{ga("visibility gate",{pathname:a,ready:t,visible:r,rules:e})},[a,t,r]),r}var sg=3,ig=["low","medium","high"];function pn(e){if(e.length===0)return;let t=Math.floor(Math.random()*e.length),[a]=e.splice(t,1);return a}function lg(e){let t=new Map,a=[];for(let n of e)if(n.tier){let s=t.get(n.tier)??[];s.push(n),t.set(n.tier,s)}else a.push(n);let r=[];for(let n of ig){let s=pn(t.get(n)??[])??pn(a);s&&r.push(s)}let o=[...t.values()].flat().concat(a);for(;r.length<Math.min(sg,e.length);){let n=pn(o);if(!n)break;r.push(n)}return r}function ou(e){let t;try{t=new URL(e,"http://localhost").pathname}catch{t="/"}let a=t.replace(/\/+$/,"");return(a===""?"/":a).toLowerCase()}function nu(e){return Array.isArray(e)?e.flatMap(t=>{let a=t;if(typeof a?.url!="string"||a.url.length===0||!Array.isArray(a.prompts))return[];let r=a.prompts.flatMap(o=>{let n=o;return typeof n?.text!="string"||n.text.length===0?[]:[{id:typeof n.id=="string"?n.id:null,text:n.text,tier:n.tier==="low"||n.tier==="medium"||n.tier==="high"?n.tier:void 0}]});return r.length>0?[{url:a.url,prompts:r}]:[]}):[]}function su(e){let{pageSuggestions:t,suggestions:a}=e,r=fn();return ng(()=>{let o=ou(r),n=t?.find(i=>ou(i.url)===o),s=n?lg(n.prompts).map(({id:i,text:l})=>({id:i,text:l})):null;return ga("configured suggestions resolve",{pathname:o,matched:!!n,count:s?.length??0}),{page:s,channel:Ft(a??[])}},[r,t,a])}var ug="waniwani:config:";function iu(e,t,a){return`${ug}${e}|${t}|${a??""}`}function mn(e,t,a){if(typeof window>"u")return null;try{let r=window.sessionStorage.getItem(iu(e,t,a));if(!r)return null;let o=JSON.parse(r);return o&&typeof o=="object"?o:null}catch{return null}}function lu(e,t,a,r){if(!(typeof window>"u"))try{window.sessionStorage.setItem(iu(e,t,a),JSON.stringify(r))}catch{}}async function uu(e,t,a,r){try{let o=nt(e,"/config",r?{channel:r}:void 0),n=await fetch(o,{method:"GET",headers:{Authorization:`Bearer ${t}`},signal:a});if(!n.ok)return{};let s=await n.json(),i=s&&typeof s=="object"&&"data"in s&&s.data?s.data:s;return i?dg(i):{}}catch{return{}}}function dg(e){let t={};e.source!=null&&(t.source=e.source),e.title!=null&&(t.title=e.title),e.welcomeMessage!=null&&(t.welcomeMessage=e.welcomeMessage),e.placeholder!=null&&(t.placeholder=e.placeholder),e.suggestions!=null&&e.suggestions.length>0&&(t.suggestions=e.suggestions);let a=nu(e.pageSuggestions);return a.length>0&&(t.pageSuggestions=a),typeof e.enableThreadHistory=="boolean"&&(t.enableThreadHistory=e.enableThreadHistory),e.toolCallDisplay==="full"?t.showToolCalls=!0:e.toolCallDisplay==="titles-only"?t.showToolCalls="titles-only":e.toolCallDisplay==="hidden"&&(t.showToolCalls=!1),e.visibility&&(t.visibility=e.visibility),t}import{useEffect as cg,useRef as fg}from"react";function hn(e,t){return e.find(a=>a.text===t)?.id??null}async function du(e){let{api:t,token:a,name:r,source:o,sessionId:n,properties:s}=e;if(!(typeof window>"u"||!t||!a))try{let i=new Date().toISOString(),l=JSON.stringify({sentAt:i,source:{sdk:"@waniwani/sdk",version:"0.1.0"},events:[{id:crypto.randomUUID(),type:"mcp.event",name:r,source:o,timestamp:i,correlation:{visitorId:st(),sessionId:n},properties:{...s,url:window.location.href},metadata:{}}]});await fetch(wa(t),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:l,keepalive:!0})}catch{}}async function cu(e){let{api:t,token:a,channelId:r,mode:o,source:n,sessionId:s,promptId:i,origin:l,text:u,index:c}=e;await du({api:t,token:a,name:"suggestion.clicked",source:n,sessionId:s,properties:{promptId:i,origin:l,text:u,index:c,channelId:r,mode:o}})}function fu(e,t){return t.map(a=>({id:hn(e,a),text:a}))}async function pu(e){let{api:t,token:a,channelId:r,mode:o,source:n,sessionId:s,prompts:i,origin:l}=e;i.length!==0&&await du({api:t,token:a,name:"suggestion.shown",source:n,sessionId:s,properties:{prompts:i,count:i.length,origin:l,channelId:r,mode:o}})}function mu(e){let{widgetEvents:t,api:a,token:r,channelId:o,source:n,mode:s,pagePrompts:i}=e,l=fg(e.getSessionId);l.current=e.getSessionId,cg(()=>{if(!(!a||!r))return t.subscribe(u=>{if(u.name==="suggestion.clicked"){let{text:c,origin:d,index:f}=u.properties;cu({api:a,token:r,channelId:o,mode:s,source:n,sessionId:l.current(),promptId:hn(i??[],c),origin:d,text:c,index:f});return}if(u.name==="suggestions.shown"){let{texts:c,origin:d}=u.properties;pu({api:a,token:r,channelId:o,mode:s,source:n,sessionId:l.current(),prompts:fu(i??[],c),origin:d})}})},[t,a,r,o,n,s,i])}function Et(e,t){for(let a of t){let r=e[a];if(typeof r=="string"&&r.length>0)return r}}var pg=["waniwani/sessionId","openai/sessionId","openai/session","sessionId","conversationId","mcp-session-id"],mg=["waniwani/requestId","openai/requestId","requestId","mcp/requestId"],hg=["waniwani/traceId","openai/traceId","traceId","mcp/traceId","openai/requestId","requestId"],gg=["waniwani/userId","openai/userId","externalUserId","userId","actorId"],wg=["waniwani/visitorId","visitorId"],xg=["correlationId","openai/requestId"];function hu(e){return e?Et(e,pg):void 0}function gu(e){return e?Et(e,mg):void 0}function wu(e){return e?Et(e,hg):void 0}function xu(e){return e?Et(e,gg):void 0}function Iu(e){return e?Et(e,wg):void 0}function Lu(e){return e?Et(e,xg):void 0}var Ig=[{key:"openai/sessionId",source:"chatgpt"},{key:"openai/session",source:"chatgpt"}],Lg=[{needle:"claude",source:"claude"},{needle:"chatgpt",source:"chatgpt"},{needle:"openai",source:"chatgpt"},{needle:"gemini",source:"gemini"}];function Cu(e,t){if(e){let r=e["waniwani/source"];if(typeof r=="string"&&r.length>0)return r;for(let{key:o,source:n}of Ig){let s=e[o];if(typeof s=="string"&&s.length>0)return n}}let a=t?.name;if(typeof a=="string"&&a.length>0){let r=a.toLowerCase();for(let{needle:o,source:n}of Lg)if(r.includes(o))return n}}var Cg="@waniwani/sdk";function Su(e,t={}){let a=t.now??(()=>new Date),r=t.generateId??Sg,o=kg(e),n=Mr(e.meta),s=Mr(e.metadata),i=Tg(e,n),l=He(e.eventId)??r(),u=vg(e.timestamp,a),c=He(e.source)??Cu(n)??t.source??Cg,d=gn(e)?{...e}:void 0,f={...s};return Object.keys(n).length>0&&(f.meta=n),d&&(f.rawLegacy=d),{id:l,type:"mcp.event",name:o,source:c,timestamp:u,correlation:i,properties:yg(e,o),metadata:f,rawLegacy:d}}function Sg(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?`evt_${crypto.randomUUID()}`:`evt_${Math.random().toString(36).slice(2,10)}_${Date.now().toString(36)}`}function yg(e,t){if(!gn(e))return Mr(e.properties);let a=bg(e,t),r=Mr(e.properties);return{...a,...r}}function bg(e,t){switch(t){case"tool.called":{let a={};return He(e.toolName)&&(a.name=e.toolName),He(e.toolType)&&(a.type=e.toolType),a}case"link.clicked":{let a={};return He(e.linkUrl)&&(a.url=e.linkUrl),a}default:return{}}}function kg(e){return gn(e)?e.eventType:e.event}function Tg(e,t){let a=He(e.requestId)??gu(t),r=He(e.sessionId)??hu(t),o=He(e.traceId)??wu(t),n=He(e.externalUserId)??xu(t),s=He(e.visitorId)??Iu(t),i=He(e.correlationId)??Lu(t)??a,l={};return r&&(l.sessionId=r),o&&(l.traceId=o),a&&(l.requestId=a),i&&(l.correlationId=i),n&&(l.externalUserId=n),s&&(l.visitorId=s),l}function vg(e,t){if(e instanceof Date)return e.toISOString();if(typeof e=="string"){let a=new Date(e);if(!Number.isNaN(a.getTime()))return a.toISOString()}return t().toISOString()}function Mr(e){return!e||typeof e!="object"||Array.isArray(e)?{}:e}function He(e){if(typeof e=="string"&&e.trim().length!==0)return e}function gn(e){return"eventType"in e}function yu(e){return{priceShown:({amount:t,currency:a,itemId:r,label:o,...n})=>e({event:"price_shown",properties:{amount:t,currency:a,itemId:r,label:o},...n}),pricesCompared:({options:t,...a})=>e({event:"prices_compared",properties:{options:t},...a}),optionSelected:({id:t,amount:a,currency:r,...o})=>e({event:"option_selected",properties:{id:t,amount:a,currency:r},...o}),leadQualified:t=>{let{externalId:a,email:r,name:o,...n}=t??{};return e({event:"lead_qualified",properties:{externalId:a,email:r,name:o},...n})},converted:({amount:t,currency:a,occurredAt:r,...o})=>e({event:"converted",properties:{amount:t,currency:a,occurredAt:r},...o})}}var Pg="/api/mcp/events/v2/batch";var bu="@waniwani/sdk";var Ag=new Set([401,403]),Rg=new Set([408,425,429,500,502,503,504]);function ku(e){return new wn(e)}var wn=class{endpointUrl;flushIntervalMs;maxBatchSize;maxBufferSize;maxRetries;retryBaseDelayMs;retryMaxDelayMs;shutdownTimeoutMs;sdkVersion;fetchFn;logger;now;sleep;apiKey;buffer=[];flushTimer;flushScheduled=!1;flushScheduledTimer;flushInFlight;inFlightCount=0;isStopped=!1;isShuttingDown=!1;constructor(t){this.endpointUrl=Bg(t.apiUrl,t.endpointPath??Pg),this.flushIntervalMs=t.flushIntervalMs??1e3,this.maxBatchSize=t.maxBatchSize??20,this.maxBufferSize=t.maxBufferSize??1e3,this.maxRetries=t.maxRetries??3,this.retryBaseDelayMs=t.retryBaseDelayMs??200,this.retryMaxDelayMs=t.retryMaxDelayMs??2e3,this.shutdownTimeoutMs=t.shutdownTimeoutMs??2e3,this.fetchFn=t.fetchFn??fetch,this.logger=t.logger??console,this.now=t.now??(()=>new Date),this.sleep=t.sleep??(a=>new Promise(r=>setTimeout(r,a))),this.apiKey=t.apiKey,this.sdkVersion=t.sdkVersion,this.flushIntervalMs>0&&(this.flushTimer=setInterval(()=>{this.flush()},this.flushIntervalMs)),this.registerBrowserTeardown()}enqueue(t){if(this.isStopped||this.isShuttingDown){this.logger.warn("[Waniwani] Tracking transport is stopped, dropping event %s",t.id);return}if(this.buffer.length>=this.maxBufferSize){let a=this.buffer.length-this.maxBufferSize+1;this.buffer.splice(0,a),this.logger.warn("[Waniwani] Tracking buffer overflow, dropped %d oldest event(s)",a)}if(this.buffer.push(t),this.buffer.length>=this.maxBatchSize){this.flush();return}this.scheduleMicroFlush()}pendingEvents(){return this.buffer.length+this.inFlightCount}async flush(){return this.flushInFlight?this.flushInFlight:(this.flushInFlight=this.flushLoop().finally(()=>{this.flushInFlight=void 0}),this.flushInFlight)}async shutdown(t){this.isShuttingDown=!0,this.flushTimer&&(clearInterval(this.flushTimer),this.flushTimer=void 0),this.flushScheduledTimer&&(clearTimeout(this.flushScheduledTimer),this.flushScheduledTimer=void 0,this.flushScheduled=!1);let a=t?.timeoutMs??this.shutdownTimeoutMs,r=this.flush();if(!Number.isFinite(a)||a<=0)return await r,this.isStopped=!0,{timedOut:!1,pendingEvents:this.pendingEvents()};let o=Symbol("shutdown-timeout");return await Promise.race([r.then(()=>"flushed"),this.sleep(a).then(()=>o)])===o?(this.isStopped=!0,{timedOut:!0,pendingEvents:this.pendingEvents()}):(this.isStopped=!0,{timedOut:!1,pendingEvents:this.pendingEvents()})}registerBrowserTeardown(){if(typeof document>"u"||typeof window>"u")return;let t=()=>{document.visibilityState==="hidden"&&this.keepaliveFlush()};document.addEventListener("visibilitychange",t),window.addEventListener("pagehide",()=>this.keepaliveFlush())}keepaliveFlush(){if(this.isStopped||this.buffer.length===0)return;let t=this.buffer.splice(0,this.buffer.length);this.sendKeepaliveChunk(t)}sendKeepaliveChunk(t){let a=JSON.stringify(this.makeBatchRequest(t));if(a.length>6e4&&t.length>1){let r=Math.ceil(t.length/2);this.sendKeepaliveChunk(t.slice(0,r)),this.sendKeepaliveChunk(t.slice(r));return}try{this.fetchFn(this.endpointUrl,{method:"POST",headers:this.requestHeaders(),body:a,keepalive:!0}).catch(()=>{})}catch{}}requestHeaders(){let t={"Content-Type":"application/json","X-WaniWani-SDK":bu};return this.apiKey&&(t.Authorization=`Bearer ${this.apiKey}`),t}scheduleMicroFlush(){this.flushScheduled||(this.flushScheduled=!0,this.flushScheduledTimer=setTimeout(()=>{this.flushScheduledTimer=void 0,this.flushScheduled=!1,this.flush()},0))}async flushLoop(){for(;this.buffer.length>0&&!this.isStopped;){let t=this.buffer.splice(0,this.maxBatchSize);await this.sendBatchWithRetry(t)}}async sendBatchWithRetry(t){let a=0,r=t;for(;r.length>0&&!this.isStopped;){this.inFlightCount=r.length;let o=await this.sendBatchOnce(r);switch(this.inFlightCount=0,o.kind){case"success":return;case"auth":this.stopTransportForAuthFailure(o.status,r.length);return;case"permanent":this.logger.error("[Waniwani] Dropping %d event(s) after permanent failure: %s",r.length,o.reason);return;case"retryable":if(a>=this.maxRetries){this.logger.error("[Waniwani] Dropping %d event(s) after retry exhaustion: %s",r.length,o.reason);return}await this.sleep(this.backoffDelayMs(a)),a+=1;continue;case"partial":if(o.permanent.length>0&&this.logger.error("[Waniwani] Dropping %d event(s) rejected as permanent",o.permanent.length),o.retryable.length===0)return;if(a>=this.maxRetries){this.logger.error("[Waniwani] Dropping %d retryable event(s) after retry exhaustion",o.retryable.length);return}r=o.retryable,await this.sleep(this.backoffDelayMs(a)),a+=1;continue}}}async sendBatchOnce(t){let a;try{a=await this.fetchFn(this.endpointUrl,{method:"POST",headers:this.requestHeaders(),body:JSON.stringify(this.makeBatchRequest(t))})}catch(n){return{kind:"retryable",reason:Eg(n)}}if(Ag.has(a.status))return{kind:"auth",status:a.status};if(Rg.has(a.status))return{kind:"retryable",reason:`HTTP ${a.status}`};if(!a.ok)return{kind:"permanent",reason:`HTTP ${a.status}`};let r=await Fg(a);if(!r?.rejected||r.rejected.length===0)return{kind:"success"};let o=this.classifyRejectedEvents(t,r.rejected);return o.retryable.length===0&&o.permanent.length===0?{kind:"success"}:{kind:"partial",retryable:o.retryable,permanent:o.permanent}}makeBatchRequest(t){return{sentAt:this.now().toISOString(),source:{sdk:bu,version:this.sdkVersion??"0.0.0"},events:t}}classifyRejectedEvents(t,a){let r=new Map(t.map(s=>[s.id,s])),o=[],n=[];for(let s of a){let i=r.get(s.eventId);if(i){if(Mg(s)){o.push(i);continue}n.push(i)}}return{retryable:o,permanent:n}}backoffDelayMs(t){let a=this.retryBaseDelayMs*2**t;return Math.min(a,this.retryMaxDelayMs)}stopTransportForAuthFailure(t,a){this.isStopped=!0;let r=this.buffer.length;this.buffer.splice(0,r),this.logger.error("[Waniwani] Auth failure (HTTP %d). Stopping tracking transport and dropping %d queued event(s)",t,a+r)}};function Mg(e){if(e.retryable===!0)return!0;let t=e.code.toLowerCase();return t.includes("timeout")||t.includes("temporary")||t.includes("unavailable")||t.includes("rate_limit")||t.includes("transient")||t.includes("server")}async function Fg(e){let t=await e.text();if(t)try{return JSON.parse(t)}catch{return}}function Bg(e,t){let a=e.endsWith("/")?e:`${e}/`,r=t.startsWith("/")?t.slice(1):t;return`${a}${r}`}function Eg(e){return e instanceof Error?e.message:String(e)}function Tu(e){let{apiUrl:t,endpointPath:a}=Dg(e.endpoint),r=ku({apiUrl:t,apiKey:e.token,endpointPath:a,flushIntervalMs:e.flushIntervalMs}),o,n=i=>typeof i=="function"?i():i,s=async i=>{let l=e.identity?.()??{},u=n(e.channelId),c=u===void 0?i.properties:{channelId:u,...i.properties},d=Su({sessionId:l.sessionId,visitorId:l.visitorId,externalUserId:l.externalUserId??o,traceId:l.traceId,...i,properties:c,metadata:{...e.metadata,...i.metadata}},{source:n(e.source)});return r.enqueue(d),{eventId:d.id}};return{track:Object.assign(s,yu(s)),identify(i,l){return o=i,s({event:"user.identified",externalUserId:i,properties:l})},flush:()=>r.flush(),shutdown:i=>r.shutdown(i)}}function Dg(e){let t=new URL(e);return{apiUrl:t.origin,endpointPath:`${t.pathname}${t.search}`}}function vu(e){return Tu({endpoint:wa(e.api),token:e.token,channelId:e.channelId,source:e.getSource,identity:()=>({sessionId:e.getSessionId(),visitorId:st()})})}function Pu(e){let t=!1,a=async()=>(t||(t=!0,console.warn(`[Waniwani] track() is disabled: ${e}`)),{eventId:""});return{track:Object.assign(a,{priceShown:a,pricesCompared:a,optionSelected:a,leadQualified:a,converted:a}),identify:a,flush:async()=>{},shutdown:async()=>({timedOut:!1,pendingEvents:0})}}import{jsx as Mu}from"react/jsx-runtime";var Ng=600,Ru="https://app.waniwani.ai/api/mcp/chat",Ug=_g(function(t,a){let{token:r,channelId:o,className:n,visitorId:s,overrides:i,onEvent:l}=t,u=In(null),c=In(null),d=xn(()=>Tl({mode:"inline",getSessionId:()=>u.current?.sessionId}),[]);Fr(()=>{if(l)return d.subscribe(l)},[l,d]);let f=xn(()=>({token:r,channelId:o,api:i?.api,mcpServerUrl:i?.mcpServerUrl,title:i?.title,hideHeader:i?.hideHeader,welcomeMessage:i?.welcomeMessage,placeholder:i?.placeholder,suggestions:i?.suggestions,enableThreadHistory:i?.enableThreadHistory,showToolCalls:i?.showToolCalls,appearance:i?.appearance,disclaimer:i?.disclaimer,locale:i?.locale}),[r,o,i?.api,i?.mcpServerUrl,i?.title,i?.hideHeader,i?.welcomeMessage,i?.placeholder,i?.suggestions,i?.enableThreadHistory,i?.showToolCalls,i?.appearance,i?.disclaimer,i?.locale]),p=i?.api??Ru,[m,L]=Au({}),[I,x]=Au(!1),g=In(!1);Fr(()=>{I&&!g.current&&(g.current=!0,d.emit({name:"chat.ready"}))},[I,d]);let h=i?.disablePageView;Fr(()=>{if(!r){x(!0);return}let P=y=>{h||dn({api:p,token:r,channelId:o,mode:"inline",source:y})},E=mn(p,r,o);E&&(L(E),x(!0),P(E.source));let k=new AbortController,B=setTimeout(()=>x(!0),Ng);return uu(p,r,k.signal,o).then(y=>{k.signal.aborted||(Object.keys(y).length>0&&(lu(p,r,o,y),L(y)),x(!0),P(y.source))}).catch(y=>{console.error("[Waniwani] Remote config fetch failed:",y),x(!0)}).finally(()=>clearTimeout(B)),()=>{k.abort(),clearTimeout(B)}},[p,r,o,h]);let w=xn(()=>ln(f,m,void 0),[f,m]),S=su(w);mu({widgetEvents:d,api:w.api??p,token:w.token??r,channelId:w.channelId??o,source:w.source,mode:"inline",pagePrompts:S.page,getSessionId:()=>u.current?.sessionId}),Fr(()=>{if(!r)return;let P=vu({api:p,token:r,channelId:o,getSource:()=>mn(p,r,o)?.source??void 0,getSessionId:()=>u.current?.sessionId});return c.current=P,()=>{c.current=null,P.shutdown()}},[p,r,o]),Og(a,()=>{let P=()=>c.current??Pu("no public token configured"),E=Object.assign(k=>P().track(k),{priceShown:k=>P().track.priceShown(k),pricesCompared:k=>P().track.pricesCompared(k),optionSelected:k=>P().track.optionSelected(k),leadQualified:k=>P().track.leadQualified(k),converted:k=>P().track.converted(k)});return{sendMessage:k=>u.current?.sendMessage(k),sendMessageAndWait:k=>u.current?u.current.sendMessageAndWait(k):Promise.resolve(void 0),reset:()=>u.current?.reset(),focus:()=>u.current?.focus(),get messages(){return u.current?.messages??[]},get sessionId(){return u.current?.sessionId},track:E,identify:(k,B)=>P().identify(k,B)}},[]);let v=ru(w.visibility,I),A={mode:"inline"};return w.mcpServerUrl&&(A.mcpServerUrl=w.mcpServerUrl),w.channelId&&(A.channelId=w.channelId),v?Mu(Al,{value:d,children:Mu(nn,{ref:u,api:w.api??Ru,headers:{Authorization:`Bearer ${w.token}`},visitorId:s,skipRemoteConfig:!0,body:A,appearance:w.appearance,classNames:i?.classNames,title:w.title,hideHeader:w.hideHeader,welcomeMessage:w.welcomeMessage,welcome:i?.welcome,placeholder:w.placeholder,suggestions:S,enableThreadHistory:w.enableThreadHistory,showToolCalls:w.showToolCalls,disclaimer:w.disclaimer,allowAttachments:i?.allowAttachments,locale:w.locale,messages:i?.messages,className:n,initializing:!I})}):null});export{Uh as ChatCard,nn as ChatEmbed,Eh as DARK_THEME,Kl as DEFAULT_THEME,Wo as McpAppFrame,Ug as WaniwaniChat,rn as mergeTheme,ma as themeToCSSProperties};
|
|
15
|
+
${N}`}]}}B.current({...O,...q?{modelContext:q}:{}})}W({jsonrpc:"2.0",id:V,result:{}});return}if(ue==="ui/update-model-context"&&V!=null){ye=Ll(ye,K.params),W({jsonrpc:"2.0",id:V,result:{}});return}if(ue==="tools/call"&&V!=null){let O=y.current;if(!O){W({jsonrpc:"2.0",id:V,error:{code:-32601,message:"tools/call not supported"}});return}let q=K.params?.name;O({name:q,arguments:K.params?.arguments??{}}).then(N=>{W({jsonrpc:"2.0",id:V,result:N});let ne=N.content?.map(Q=>Q.text??"").join("").trim();ne&&Bm(q,N,R.current)&&(le&&clearTimeout(le.timer),le={text:ne,timer:setTimeout(()=>{if(re)return;let Q=ye;ye=null,le=null,B.current?.({role:"user",content:[{type:"text",text:ne}],...Q?{modelContext:Q}:{}})},500)})}).catch(N=>{let ne=N instanceof Error?N.message:"Tool call failed";W({jsonrpc:"2.0",id:V,error:{code:-32e3,message:ne}})});return}if(ue==="ui/request-display-mode"&&V!=null){let O=K.params?.mode,q=O==="fullscreen"||O==="inline"||O==="pip"?O:"inline";S.current=q,W({jsonrpc:"2.0",id:V,result:{mode:q}}),W({jsonrpc:"2.0",method:"ui/notifications/host-context-changed",params:{displayMode:q}}),X.current?.(q);return}if(ue==="ui/resource-teardown"&&V!=null){W({jsonrpc:"2.0",id:V,result:{}});return}ue==="ping"&&V!=null&&W({jsonrpc:"2.0",id:V,result:{}})};return window.addEventListener("message",Ae),()=>{re=!0,clearTimeout(j),le&&clearTimeout(le.timer),window.removeEventListener("message",Ae)}},[i,b]),Em("iframe",{ref:m,src:M,sandbox:"allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox",className:T(!f&&"ww:rounded-md ww:border ww:border-border",s),style:{height:f?"100%":v,minWidth:f||!P?void 0:`min(${P}px, 100%)`,width:"100%",border:"none",colorScheme:n?"dark":"auto"},title:"MCP App"})}import{jsx as pa,jsxs as Dm}from"react/jsx-runtime";function Sl({icon:e,title:t,description:a,suggestions:r,onSuggestionSelect:o}){return Dm("div",{className:"ww:flex ww:flex-col ww:items-center ww:justify-center ww:py-12 ww:px-6 ww:text-center ww:min-h-full",children:[e&&pa("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}),pa("h2",{className:"ww:text-lg ww:font-semibold ww:text-foreground",children:t}),a&&pa("p",{className:"ww:mt-1 ww:text-sm ww:text-muted-foreground ww:max-w-sm",children:a}),r&&r.length>0&&pa("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)=>pa("button",{type:"button",onClick:()=>o?.(n),className:T("ww:w-full ww:text-left ww:rounded-xl ww:border ww:border-border ww:bg-background ww:px-4 ww:py-3 ww:text-sm","ww:text-foreground ww:hover:bg-accent ww:hover:border-primary/30","ww:transition-all ww:duration-200 ww:ease-out ww:cursor-pointer","ww:animate-[ww-fade-in_0.2s_ease-out_both]"),style:{animationDelay:`${s*50}ms`},children:n},n))})]})}import{Component as _m}from"react";import{jsx as Vo,jsxs as Nm}from"react/jsx-runtime";function Om({onRetry:e}){let{t}=G();return Nm("div",{className:"ww:flex ww:items-center ww:justify-between ww:rounded-md ww:border ww:border-border ww:bg-muted/50 ww:px-4 ww:py-3 ww:text-sm ww:text-muted-foreground",children:[Vo("span",{children:t.widgetErrorBoundary.failedToLoad}),Vo("button",{type:"button",onClick:e,className:"ww:text-xs ww:font-medium ww:text-primary ww:hover:underline",children:t.widgetErrorBoundary.retry})]})}var cr=class extends _m{state={hasError:!1};static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.warn("[Waniwani] Widget failed to render:",t.message)}render(){return this.state.hasError?Vo(Om,{onRetry:()=>this.setState({hasError:!1})}):this.props.children}};import{Fragment as Um,jsx as Z,jsxs as ot}from"react/jsx-runtime";function zo(e){return e?e.replace(/[-_]/g," ").replace(/^\w/,t=>t.toUpperCase()):"Tool"}function yl(e){return e&&/search|find|lookup|query|web|browse|google/i.test(e)?Wt:ut}function fr({messages:e,status:t,welcomeMessage:a,welcome:r,onSuggestionSelect:o,resourceEndpoint:n,chatSessionId:s,isDark:i,onFollowUp:l,onCallTool:u,onWidgetDisplayModeChange:c,fullscreenToolCallId:d,debug:f,showToolCalls:p=!0,toolDefinitions:m,messageClassNames:L}){let{t:I}=G(),x=e[e.length-1],g=e.length>0,h=d!=null,w=!h&&xl(e,t,{ignoreToolParts:p===!1,ignoreReasoningParts:p===!1});return ot(Um,{children:[!h&&(!g&&r?Z(Sl,{...r,onSuggestionSelect:o}):a&&Z(Eo,{from:"assistant",children:Z(Do,{children:Z(dr,{children:a})})})),e.map(S=>{let v=S.parts.filter(R=>R.type==="text"),A=S.parts.filter(R=>R.type==="reasoning"),P=S.parts.filter(R=>R.type==="file"),E=S.parts.filter(R=>"toolCallId"in R),k=S.parts.filter(R=>R.type==="reasoning"||"toolCallId"in R),B=S===x&&S.role==="assistant",y=v.length>0,X=h?E.some(R=>R.toolCallId===d):!1,H=p!==!1&&!X&&k.length>=2;return h&&!X?Z("div",{style:{display:"none"}},S.id):S.role==="assistant"&&!wl(S)?Z("div",{style:{display:"none"}},S.id):p===!1&&S.role==="assistant"&&!y&&P.length===0&&E.every(R=>{let b="output"in R?R.output:void 0;return b===void 0||!n||!fa(R.toolName,b,m)})?Z("div",{style:{display:"none"}},S.id):ot(Eo,{from:S.role,className:L?.message,children:[p!==!1&&!X&&!H&&A.map((R,b)=>ot(Qt,{isStreaming:R.state==="streaming",children:[Z(Jt,{}),Z(Yt,{children:R.text})]},`reasoning-${S.id}-${b}`)),H&&(()=>{let R=k[k.length-1],b=R.type==="reasoning"?{icon:je,label:I.reasoning.thinking}:{icon:yl(R.toolName),label:R.title??zo(R.toolName)};return ot(Ls,{isWorking:B&&(t==="streaming"||t==="submitted"),activeStep:b,children:[Z(Cs,{workingLabel:I.chainOfThought.working,label:I.chainOfThought.done}),Z(Ss,{children:k.map((M,Pe)=>{let we=Pe===k.length-1;if(M.type==="reasoning")return Z(bs,{isStreaming:M.state==="streaming",isLast:we,children:M.text},`reasoning-${S.id}-${Pe}`);let U=M.title??zo(M.toolName),re=yl(M.toolName);if(p==="titles-only")return Z(Zr,{icon:re,title:U,state:M.state,isLast:we},M.toolCallId);let oe="output"in M?M.output:void 0;return ot(Zr,{icon:re,title:U,state:M.state,isLast:we,children:[Z(Ho,{input:M.input,debug:f}),oe!==void 0&&Z(qo,{output:oe,errorText:"errorText"in M?M.errorText:void 0,debug:f})]},M.toolCallId)})})]})})(),p!==!1&&!X&&!H&&E.length===1&&(()=>{let R=E[0],b=R.title??zo(R.toolName);if(p==="titles-only")return Z(dl,{title:b,state:R.state});let M="output"in R?R.output:void 0;return ot(ll,{children:[Z(ul,{title:b,state:R.state}),ot(cl,{children:[Z(Ho,{input:R.input,debug:f}),M!==void 0&&Z(qo,{output:M,errorText:"errorText"in R?R.errorText:void 0,debug:f})]})]})})(),E.map(R=>{let b="output"in R?R.output:void 0,M=fa(R.toolName,b,m),Pe=ml(R.toolName,b,m),we=R.toolCallId===d;return M&&n&&b!==void 0?Z("div",{style:we?{position:"absolute",inset:0,zIndex:10,display:"flex",flexDirection:"column",overflow:"hidden",background:"var(--ww-color-background)"}:void 0,children:M&&n&&b!==void 0&&Z(cr,{children:Z(Go,{isFullscreen:we,resourceUri:M,toolInput:R.input??{},toolResult:{content:b.content,structuredContent:b.structuredContent,_meta:b._meta},resourceEndpoint:n,chatSessionId:s,isDark:i,autoHeight:Pe,toolDefinitions:m,onFollowUp:l,onCallTool:u,onDisplayModeChange:c?U=>c(U,{toolCallId:R.toolCallId,resourceUri:M,toolInput:R.input??{},toolResult:{content:b.content,structuredContent:b.structuredContent,_meta:b._meta},autoHeight:Pe}):void 0})})},R.toolCallId):null}),!X&&Z("div",{children:ot(Do,{className:T(S.role==="user"?L?.userBubble:L?.assistantBubble),children:[P.length>0&&Z(ms,{files:P}),y?v.map((R,b)=>{let M=B&&t==="streaming"&&b===v.length-1;return Z(dr,{isStreaming:M,children:R.type==="text"?R.text:""},`${S.id}-${b}`)}):null]})})]},S.id)}),w&&Z(Il,{})]})}import{jsx as bl,jsxs as Wm}from"react/jsx-runtime";var Hm="https://app.waniwani.ai/assets/waniwani-logo.svg",qm="https://waniwani.ai";function pr(){let{t:e}=G();return Wm("a",{href:qm,target:"_blank",rel:"noopener noreferrer",className:"ww:flex ww:items-center ww:gap-1.5 ww:whitespace-nowrap ww:text-[10px] ww:sm:text-[11px] ww:text-muted-foreground ww:opacity-70 hover:ww:opacity-100 ww:transition-opacity",children:[bl("span",{children:e.poweredBy.label}),bl("img",{src:Hm,alt:"Waniwani",width:72,height:10,"data-waniwani-logo":"",className:"ww:h-2.5 ww:w-auto"})]})}import{jsx as mr}from"react/jsx-runtime";function hr({suggestions:e,isLoading:t,onSelect:a,className:r,...o}){return e.length===0&&!t?null:mr("div",{className:T("ww:px-4 ww:py-2",r),...o,children:mr("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl ww:flex ww:flex-wrap ww:gap-2",children:t?[0,1,2].map(n=>mr("div",{className:"ww:h-8 ww:rounded-full ww:bg-accent ww:animate-pulse",style:{width:`${60+n*20}px`}},n)):e.map((n,s)=>mr("button",{type:"button",onClick:()=>a(n),className:T("ww:rounded-full ww:border ww:border-border ww:bg-accent ww:px-3.5 ww:py-1.5 ww:text-sm","ww:text-foreground ww:hover:bg-border ww:hover:border-primary/30","ww:transition-all ww:duration-200 ww:ease-out ww:cursor-pointer","ww:animate-[ww-fade-in_0.2s_ease-out_both]"),style:{animationDelay:`${s*50}ms`},children:n},n))})})}import{useEffect as Gm,useRef as Vm,useState as zm}from"react";import{jsx as ae,jsxs as xt}from"react/jsx-runtime";var kl=20;function jm({label:e}){return xt("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[ae("title",{children:e}),ae("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),ae("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})}function $m({label:e}){return xt("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[ae("title",{children:e}),ae("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),ae("polyline",{points:"3 4 3 9 8 9"}),ae("line",{x1:"12",y1:"7",x2:"12",y2:"12"}),ae("line",{x1:"12",y1:"12",x2:"15",y2:"14"})]})}function Xm({label:e}){return xt("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",role:"img","aria-label":e,children:[ae("title",{children:e}),ae("polyline",{points:"3 6 5 6 21 6"}),ae("path",{d:"M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6"}),ae("path",{d:"M10 11v6"}),ae("path",{d:"M14 11v6"})]})}function gr({threads:e,activeThreadId:t,onNewThread:a,onSelectThread:r,onDeleteThread:o}){let{locale:n,t:s}=G(),[i,l]=zm(!1),u=Vm(null);Gm(()=>{if(!i)return;let f=p=>{let m=u.current;m&&(p.composedPath().includes(m)||l(!1))};return document.addEventListener("mousedown",f),()=>document.removeEventListener("mousedown",f)},[i]);let c=e.slice(0,kl),d=Math.max(0,e.length-kl);return xt("div",{ref:u,className:"ww:relative ww:flex ww:items-center ww:gap-1",children:[ae("button",{type:"button",onClick:a,title:s.threadMenu.newChat,"aria-label":s.threadMenu.newChat,className:"ww:p-1.5 ww:rounded-md ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/5 ww:transition-colors ww:cursor-pointer",children:ae(jm,{label:s.threadMenu.newChat})}),ae("button",{type:"button",onClick:()=>l(f=>!f),title:s.threadMenu.threadHistory,"aria-label":s.threadMenu.threadHistory,"aria-expanded":i,className:"ww:p-1.5 ww:rounded-md ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/5 ww:transition-colors ww:cursor-pointer",children:ae($m,{label:s.threadMenu.threadHistory})}),i&&xt("div",{role:"menu",className:"ww:absolute ww:right-0 ww:top-full ww:mt-1 ww:w-72 ww:max-h-80 ww:overflow-y-auto ww:rounded-lg ww:border ww:border-border ww:bg-background ww:shadow-lg ww:z-50",children:[c.length===0&&ae("div",{className:"ww:px-3 ww:py-3 ww:text-xs ww:text-muted-foreground",children:s.threadMenu.noPreviousChats}),c.map(f=>{let p=f.threadId===t,m=Date.parse(f.updatedAt);return xt("div",{className:`ww:flex ww:items-center ww:gap-2 ww:px-3 ww:py-2 ww:text-xs hover:ww:bg-foreground/5 ${p?"ww:bg-foreground/5":""}`,children:[xt("button",{type:"button",onClick:()=>{r(f.threadId),l(!1)},className:"ww:flex-1 ww:min-w-0 ww:text-left ww:cursor-pointer",children:[ae("div",{className:"ww:truncate ww:text-foreground ww:font-medium",children:f.title}),ae("div",{className:"ww:text-[10px] ww:text-muted-foreground",children:Number.isNaN(m)?"":jr(m,n)})]}),ae("button",{type:"button",onClick:L=>{L.stopPropagation(),o(f.threadId)},title:s.threadMenu.deleteThread,"aria-label":s.threadMenu.deleteThread,className:"ww:p-1 ww:rounded ww:text-muted-foreground hover:ww:text-foreground hover:ww:bg-foreground/10 ww:transition-colors ww:cursor-pointer",children:ae(Xm,{label:s.threadMenu.deleteThread})})]},f.threadId)}),d>0&&ae("div",{className:"ww:px-3 ww:py-2 ww:text-[10px] ww:text-muted-foreground ww:border-t ww:border-border",children:s.threadMenu.hiddenThreads(d)})]})]})}import{useCallback as Km,useRef as Qm}from"react";function wr(e){let t=Qm(e);return t.current=e,Km(async a=>{let{api:r,headers:o,onCallTool:n,sessionId:s}=t.current;if(n)return n(a);let i=`${r??"/api/waniwani"}/tool`,l=typeof s=="string"&&s.trim().length>0?s.trim():void 0,u=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json",...l?{"X-Session-Id":l}:{},...o},body:JSON.stringify(a)});if(!u.ok)throw new Error(`Tool call failed: ${u.status} ${u.statusText}`);return u.json()},[])}import{useChat as hh}from"@ai-sdk/react";import{useCallback as Ce,useEffect as Ee,useRef as pe,useState as It}from"react";import{createContext as Jm,useContext as Ym}from"react";function Tl(e){let t=new Set;return{subscribe(a){return t.add(a),()=>{t.delete(a)}},emit(a){let{sessionId:r,...o}=a,n=a.name==="session.started"?a.properties.sessionId:void 0,s={...o,mode:e.mode,sessionId:Object.hasOwn(a,"sessionId")?r:n??e.getSessionId?.(),timestamp:Date.now()};for(let i of[...t])try{i(s)}catch(l){console.warn("[Waniwani] onEvent subscriber threw:",l)}}}}function vl(){return{subscribe(){return()=>{}},emit(){}}}var Pl=Jm(vl());function xr(){return Ym(Pl)}var Al=Pl.Provider;function nt(e,t,a){let[r,o=""]=e.split("?"),n=r.replace(/\/$/,""),s=new URLSearchParams(o);if(a)for(let[l,u]of Object.entries(a))s.set(l,u);let i=s.toString();return`${n}${t}${i?`?${i}`:""}`}import{DefaultChatTransport as Zm,uiMessageChunkSchema as eh}from"ai";function th(e){let t=e?.cause,a=t?.issues??t?.errors;if(!Array.isArray(a))return null;let r=a.find(o=>o.code==="invalid_union");if(!r?.errors)return null;for(let o of r.errors){if(!Array.isArray(o)||o.some(i=>(i.code==="invalid_value"||i.code==="invalid_literal")&&i.path?.[0]==="type"))continue;let s=o.filter(i=>i.code==="unrecognized_keys").flatMap(i=>i.keys??[]);if(s.length>0)return s}return null}var Ir=class extends Zm{processResponseStream(t){let a="",r=eh(),o=r.validate?.bind(r);return t.pipeThrough(new TextDecoderStream).pipeThrough(new TransformStream({async transform(n,s){a+=n;let i=a.split(`
|
|
16
|
+
`);a=i.pop()??"";for(let l of i){let u=l.trim();if(!u.startsWith("data:"))continue;let c=u.slice(5).trim();if(c!=="[DONE]")try{let d=JSON.parse(c);if(!o){s.enqueue(d);continue}let f=await o(d);if(f.success){s.enqueue(f.value);continue}let p=th(f.error);if(p?.length){let m={...d};for(let I of p)delete m[I];let L=await o(m);L.success&&s.enqueue(L.value)}}catch{}}}}))}};var ah="waniwani-memory";var Be="threads",Lr="by_memoryUserId",rh="by_updatedAt";var Ml="memoryUserId",Rl="waniwani-memory-user-id",jo=null;function $o(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function oh(e,t){if(t<1&&(e.objectStoreNames.contains("ids")||e.createObjectStore("ids")),t<2&&!e.objectStoreNames.contains(Be)){let a=e.createObjectStore(Be,{keyPath:"threadId"});a.createIndex(Lr,"memoryUserId",{unique:!1}),a.createIndex(rh,"updatedAt",{unique:!1})}}async function Xo(){return new Promise((e,t)=>{let a=indexedDB.open(ah,2);a.onupgradeneeded=r=>{oh(a.result,r.oldVersion)},a.onsuccess=()=>e(a.result),a.onerror=()=>t(a.error)})}async function nh(){return Xo()}async function sh(e){return new Promise((t,a)=>{let n=e.transaction("ids","readonly").objectStore("ids").get(Ml);n.onsuccess=()=>t(typeof n.result=="string"?n.result:null),n.onerror=()=>a(n.error)})}async function ih(e,t){return new Promise((a,r)=>{let s=e.transaction("ids","readwrite").objectStore("ids").put(t,Ml);s.onsuccess=()=>a(),s.onerror=()=>r(s.error)})}async function lh(){if(typeof indexedDB>"u")return null;try{let e=await nh();try{let t=await sh(e);if(t)return t;let a=$o();return await ih(e,a),a}finally{e.close()}}catch{return null}}function uh(){try{let e=localStorage.getItem(Rl);if(e)return e;let t=$o();return localStorage.setItem(Rl,t),t}catch{return null}}async function Fl(){let e=await lh();if(e)return e;let t=uh();return t||(jo||(jo=$o()),jo)}var Bl=50,El=1e3;function Cr(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.threadId=="string"&&typeof t.memoryUserId=="string"&&typeof t.title=="string"&&Array.isArray(t.messages)&&typeof t.createdAt=="string"&&typeof t.updatedAt=="string"}async function Sr(e){if(typeof indexedDB>"u")return null;let t=null;try{return t=await Xo(),await e(t)}catch{return null}finally{try{t?.close()}catch{}}}function Ko(e){return new Promise((t,a)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>a(e.error)})}async function Qo(e){return await Sr(async a=>{let n=a.transaction(Be,"readonly").objectStore(Be).index(Lr),i=(await Ko(n.getAll(e))??[]).filter(Cr);return i.sort((l,u)=>l.updatedAt<u.updatedAt?1:-1),i})??[]}async function yr(e){return await Sr(async a=>{let o=a.transaction(Be,"readonly").objectStore(Be),n=await Ko(o.get(e));return Cr(n)?n:null})??null}async function Jo(e){if(!Cr(e))return;let t=e.messages.length>El?{...e,messages:e.messages.slice(e.messages.length-El)}:e;await Sr(async a=>{await new Promise((l,u)=>{let c=a.transaction(Be,"readwrite");c.oncomplete=()=>l(),c.onerror=()=>u(c.error),c.onabort=()=>u(c.error),c.objectStore(Be).put(t)});let r=a.transaction(Be,"readwrite"),o=r.objectStore(Be),n=o.index(Lr),i=(await Ko(n.getAll(t.memoryUserId))??[]).filter(Cr);if(i.length>Bl){i.sort((u,c)=>u.updatedAt<c.updatedAt?-1:1);let l=i.slice(0,i.length-Bl);for(let u of l)o.delete(u.threadId)}return await new Promise((l,u)=>{r.oncomplete=()=>l(),r.onerror=()=>u(r.error),r.onabort=()=>u(r.error)}),null})}async function Dl(e){await Sr(async t=>(await new Promise((a,r)=>{let o=t.transaction(Be,"readwrite");o.oncomplete=()=>a(),o.onerror=()=>r(o.error),o.onabort=()=>r(o.error),o.objectStore(Be).delete(e)}),null))}async function Yo(e){return(await Qo(e))[0]?.threadId??null}function _l(e){let t=e.trim();if(!t)return`Conversation on ${new Date().toISOString().slice(0,10)}`;let a=t.split(/\r?\n/,1)[0]??t;return a.length<=60?a:`${a.slice(0,60).trimEnd()}\u2026`}var Zo="waniwani-visitor-id";function Nl(e,t){return e.match(t)?.[1]??null}function dh(e){let t=[["Edge",/Edg(?:e|A|iOS)?\/(\S+)/],["Opera",/(?:OPR|Opera)\/(\S+)/],["Samsung Internet",/SamsungBrowser\/(\S+)/],["Firefox",/Firefox\/(\S+)/],["Chrome",/Chrome\/(\S+)/],["Safari",/Version\/(\S+).*Safari/]];for(let[a,r]of t){let o=Nl(e,r);if(o)return{name:a,version:o}}return null}function ch(e){let t=[["iOS",/(?:iPhone|iPad|iPod).+?OS (\d+[_.\d]*)/],["Android",/Android (\d+[.\d]*)/],["macOS",/Mac OS X (\d+[_.\d]*)/],["Windows",/Windows NT (\d+[.\d]*)/],["ChromeOS",/CrOS \S+ (\d+[.\d]*)/],["Linux",/Linux/]];for(let[a,r]of t){let o=Nl(e,r);if(o)return{name:a,version:o.replace(/_/g,".")};if(a==="Linux"&&r.test(e))return{name:a,version:""}}return null}function fh(e){return typeof navigator<"u"&&"userAgentData"in navigator&&navigator.userAgentData?.mobile?"mobile":/iPad|tablet|PlayBook/i.test(e)?"tablet":/Mobi|Android.*Mobile|iPhone|iPod/i.test(e)?"mobile":"desktop"}function ph(){try{if(typeof crypto<"u"){if(typeof crypto.randomUUID=="function")return crypto.randomUUID();if(typeof crypto.getRandomValues=="function"){let e=crypto.getRandomValues(new Uint8Array(16));e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=Array.from(e,a=>a.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}}}catch{}return`v-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}function st(){try{let t=localStorage.getItem(Zo);if(t)return t}catch{}let e=ph();try{localStorage.setItem(Zo,e)}catch{}return e}function Ol(e){let t=typeof e=="string"?e.trim():"";if(!t)return st();try{localStorage.setItem(Zo,t)}catch{}return t}function mh(e){return e!=null&&typeof e.then=="function"}function Ul(e){let t=!1,a=()=>{t=!0};if(e==null)return a;let r;try{r=typeof e=="function"?e():e}catch{return a}return mh(r)?r.then(o=>{t||Ol(o??"")},()=>{}):Ol(r??""),a}async function ma(){let e=navigator.userAgent,t=st(),a=await Fl();return{userAgent:e,browser:dh(e),os:ch(e),deviceType:fh(e),language:navigator.language,languages:[...navigator.languages],timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,screenWidth:screen.width,screenHeight:screen.height,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight,colorDepth:screen.colorDepth,devicePixelRatio:window.devicePixelRatio??1,touchSupport:"ontouchstart"in window||navigator.maxTouchPoints>0,connectionType:navigator.connection?.effectiveType??"unknown",referrer:document.referrer,visitorId:t,memoryUserId:a}}var gh="x-session-id",wh=250,xh=200;function Hl(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Xt()}function br(){return new Date().toISOString()}function ql(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}async function Ih(e,t){let a=nt(e,"/tools"),r=await fetch(a,{method:"GET",headers:t?{...t}:void 0});if(!r.ok)throw new Error(`[Waniwani] Failed to fetch /tools: ${r.status} ${r.statusText}`);let o=await r.json();if(!o||!Array.isArray(o.tools))return{};let n={};for(let s of o.tools)s&&typeof s.name=="string"&&(n[s.name]=s);return n}function kr(e){let{api:t="/api/waniwani",headers:a,body:r,onMessageSent:o,onResponseReceived:n,enableThreadHistory:s=!1,activeThreadId:i,onThreadChange:l}=e,u=e.visitorId;Ee(()=>Ul(u),[u]);let c=xr(),d=pe(a),f=pe(r),p=pe(s);Ee(()=>{p.current=s},[s]);let m=pe(void 0),L=pe(null),[I,x]=It(void 0),g=pe(I),[h,w]=It(i),S=pe(h),[v,A]=It([]),[P,E]=It(!s),k=pe(void 0),B=pe(void 0),y=pe(void 0),X=pe(void 0),H=pe(0),R=pe(l);Ee(()=>{R.current=l},[l]);let b=Ce(C=>{S.current=C,w(C),C&&(R.current?.(C),c.emit({name:"thread.changed",sessionId:g.current,properties:{threadId:C}}))},[c]),M=Ce(async()=>{if(!s)return;let C=L.current?.memoryUserId;if(!C)return;let D=await Qo(C);A(D)},[s]),Pe=Ce(()=>g.current,[]),we=Ce(C=>{let D=ql(C);if(!D||g.current===D)return;let _=g.current===void 0;g.current=D,x(D),_&&c.emit({name:"session.started",properties:{sessionId:D}})},[c]),U=Ce(()=>{g.current=void 0,x(void 0)},[]);Ee(()=>{d.current=a},[a]),Ee(()=>{f.current=r},[r]),Ee(()=>{let C=!1,D=H.current;return(async()=>{try{let ee=await ma();if(C)return;L.current=ee}catch{}if(!s)return;let _=L.current?.memoryUserId;if(!_){E(!0);return}try{let ee=i??await Yo(_);if(C||D!==H.current)return;if(ee){let he=await yr(ee);if(C||D!==H.current)return;he&&he.memoryUserId===_&&(S.current=he.threadId,w(he.threadId),k.current=he.createdAt,B.current=he.title,he.sessionId&&(g.current=he.sessionId,x(he.sessionId)),V(he.messages))}await M()}finally{C||E(!0)}})(),()=>{C=!0}},[]);let re=pe(new Ir({api:t,headers:()=>({...d.current}),body:()=>{let C={...f.current??{}},D=Object.hasOwn(C,"sessionId"),_=ql(C.sessionId);if(_)we(_),C.sessionId=_;else if(D)U(),delete C.sessionId;else{let _r=Pe();_r&&(C.sessionId=_r)}Ft(m.current)&&(C.modelContext=m.current);let ee=L.current,he=st();ee&&(C.visitorContext={timezone:ee.timezone,language:ee.language,languages:ee.languages,deviceType:ee.deviceType,referrer:ee.referrer,visitorId:he});let se=typeof C.visitor=="object"&&C.visitor!==null?C.visitor:{},_u=typeof se.client=="object"&&se.client!==null?se.client:{};C.visitor={...se,id:he,client:{..._u,...ee&&{memoryUserId:ee.memoryUserId}}};let Sn=typeof C.extra=="object"&&C.extra!==null&&!Array.isArray(C.extra)?C.extra:void 0,yn=L.current?.memoryUserId,bn=L.current?.language,Ia={};if(yn&&(Ia.memoryUserId=yn),bn&&(Ia.locale=bn),(Object.keys(Ia).length>0||Sn)&&(C.extra={...Ia,...Sn??{}}),p.current)if(Object.hasOwn(C,"threadId"))typeof C.threadId=="string"&&(S.current=C.threadId);else{let La=S.current;La||(La=Hl(),k.current=br(),B.current=void 0,b(La)),C.threadId=La}return C},fetch:(async(C,D)=>{let _=await fetch(C,D);return m.current=void 0,we(_.headers.get(gh)),_})})),oe=pe(null),ye=pe(null),le=pe({}),[j,W]=It(0),Ae=e.skipRemoteConfig===!0,ce=Ce(async()=>{if(!Ae)try{let C=await Ih(t,d.current);le.current=C,W(D=>D+1)}catch(C){console.warn("[Waniwani] Failed to fetch tool definitions:",C instanceof Error?C.message:C)}},[t,Ae]);Ee(()=>{ce()},[ce]);let{messages:K,sendMessage:ue,setMessages:V,status:O}=hh({messages:e.initialMessages,transport:re.current,onFinish({message:C,isAbort:D,isDisconnect:_,isError:ee}){n?.(),!D&&!_&&!ee&&c.emit({name:"message.received"}),oe.current&&(ye.current=C)},onError(C){console.warn("[Waniwani] Chat error:",C.message),c.emit({name:"chat.error",properties:{message:C.message.slice(0,xh)}}),oe.current&&(oe.current.reject(C),oe.current=null)}}),q=pe(K);Ee(()=>{q.current=K},[K]);let N=pe(s);Ee(()=>{if(!s||N.current||(N.current=!0,q.current.length>0))return;let C=!1,D=H.current;return E(!1),(async()=>{try{let _=L.current;if(!_)try{_=await ma(),L.current=_}catch{}let ee=_?.memoryUserId;if(!ee||C||D!==H.current){C||E(!0);return}let he=i??await Yo(ee);if(C||D!==H.current)return;if(he){let se=await yr(he);if(C||D!==H.current)return;se&&se.memoryUserId===ee&&(S.current=se.threadId,w(se.threadId),k.current=se.createdAt,B.current=se.title,se.sessionId&&(g.current=se.sessionId,x(se.sessionId)),V(se.messages))}await M()}finally{C||E(!0)}})(),()=>{C=!0}},[s]),Ee(()=>{if(O==="ready"&&oe.current&&ye.current){let C=oe.current,D=ye.current;oe.current=null,ye.current=null,C.resolve(D)}},[O]);let[ne,Q]=It(""),[xe,be]=It([]),Re=O==="submitted"||O==="streaming",Qe=Ce(C=>{be(D=>D.filter(_=>_.id!==C))},[]),xa=Re&&xe.length>0,F=Ce(C=>{let D=!!C.text?.trim(),_=!!C.files?.length;if(D||_){if(Re){if(xe.length>0)return;be(ee=>[...ee,{id:Xt(),text:C.text||"",files:C.files??[],modelContext:C.modelContext}]),Q("");return}m.current=C.modelContext,ue({text:C.text||"",files:C.files}),o?.(C.text||""),c.emit({name:"message.sent"}),Q("")}},[ue,o,Re,xe.length,c]),z=Ce(C=>new Promise((D,_)=>{oe.current={resolve:D,reject:_},ue({text:C}),o?.(C),c.emit({name:"message.sent"})}),[ue,o,c]);Ee(()=>{if(O!=="ready"||xe.length===0)return;let[C,...D]=xe;be(D),m.current=C.modelContext,ue({text:C.text,files:C.files.length>0?C.files:void 0}),o?.(C.text),c.emit({name:"message.sent"})},[O,ue,o,xe,c]);let de=Ce(()=>{V([]),be([]),U(),Q(""),le.current={},W(C=>C+1),ce()},[V,U,ce]),ve=Ce(()=>{if(!p.current)return;let C=L.current?.memoryUserId,D=S.current,_=q.current;if(!(!C||!D||_.length===0)){if(k.current||(k.current=br()),!B.current){let ee=_.find(se=>se.role==="user"),he=ee?ee.parts.map(se=>"text"in se&&typeof se.text=="string"?se.text:"").join(" "):"";B.current=_l(he)}return{threadId:D,memoryUserId:C,title:B.current,messages:_,sessionId:g.current,createdAt:k.current,updatedAt:br()}}},[]),Ve=Ce(async()=>{let C=ve();C&&(await Jo(C),await M())},[ve,M]);Ee(()=>{if(s&&P&&!(O==="submitted"||O==="streaming")&&K.length!==0)return y.current&&clearTimeout(y.current),y.current=setTimeout(()=>{y.current=void 0;let C=Ve().finally(()=>{X.current===C&&(X.current=void 0)});X.current=C},wh),()=>{y.current&&clearTimeout(y.current)}},[s,P,K,O,Ve]);let ze=Ce(()=>{let C=X.current,D=y.current,_=D?ve():void 0;return D&&(clearTimeout(D),y.current=void 0),(async()=>{C&&await C,_&&(await Jo(_),await M())})()},[ve,M]),Er=Ce(()=>{H.current+=1,ze(),V([]),be([]),U(),Q("");let C=Hl();return k.current=br(),B.current=void 0,b(C),M(),C},[V,U,b,M,ze]),Dr=Ce(async C=>{H.current+=1;let D=H.current;if(await ze(),D!==H.current)return;let _=await yr(C);D===H.current&&_&&(_.sessionId?(g.current=_.sessionId,x(_.sessionId)):U(),b(_.threadId),k.current=_.createdAt,B.current=_.title,V(_.messages),be([]),Q(""))},[V,U,b,ze]),Fu=Ce(async C=>{if(S.current===C){H.current+=1,y.current&&(clearTimeout(y.current),y.current=void 0);let D=X.current;D&&await D}await Dl(C),await M(),S.current===C&&(V([]),be([]),U(),Q(""),S.current=void 0,w(void 0),k.current=void 0,B.current=void 0)},[V,U,M]);Ee(()=>{s&&P&&i!==void 0&&i!==S.current&&Dr(i)},[i,s,P,Dr]);let Bu=Ce(C=>{Q(C.target.value)},[]),Ln=K[K.length-1],Cn=K.length>0,Eu=Re&&(!Cn||Ln.role==="user"),Du=le.current;return{messages:K,status:O,text:ne,setText:Q,handleSubmit:F,handleTextChange:Bu,isLoading:Re,showLoaderBubble:Eu,lastMessage:Ln,hasMessages:Cn,sendMessage:ue,sendMessageAndWait:z,reset:de,queuedMessages:xe,queueFull:xa,removeQueuedMessage:Qe,sessionId:I,toolDefinitions:Du,refreshToolDefinitions:ce,threads:v,activeThreadId:h,isThreadHistoryReady:P,startNewThread:Er,switchThread:Dr,deleteThread:Fu}}import{useEffect as Wl,useRef as Lh,useState as Ch}from"react";var Sh={debug:!1,eval:!1};function Gl(e="/api/waniwani",t,a=!1){let[r,o]=Ch(Sh),n=Lh(t);return Wl(()=>{n.current=t},[t]),Wl(()=>{a||(async()=>{try{let s=n.current,l=await(await fetch(nt(e,"/config"),{headers:s?{...s}:void 0})).json();o({debug:l.debug===!0,eval:l.eval===!0})}catch{}})()},[e,a]),r}import{useCallback as bh,useEffect as an,useMemo as rn,useRef as kh,useState as $l}from"react";function Bt(e){return e.map(t=>({id:null,text:t}))}function en(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 tn="waniwani/suggestions";function Et(e){return typeof e=="object"&&e!==null}function Vl(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function yh(e){if(!Et(e)||!("toolCallId"in e)||!("output"in e))return null;let t=e.output;if(!Et(t)||!Et(t._meta))return null;let a=t._meta[tn];return!Et(a)||!Vl(a.suggestions)?null:a.suggestions}function zl(e){let t=null;for(let a of e.parts){let r=yh(a);r!==null&&(t=r)}return t}function jl(e){for(let t of e.parts){if(!Et(t)||t.type!=="data-suggestions")continue;let a=t.data;if(Et(a)&&Vl(a.suggestions)&&a.suggestions.length>0)return a.suggestions}return null}function Th(e){return"page"in e||"channel"in e}function vh(e){return typeof e!="object"||e===null?{}:Th(e)?{rungs:e}:{initial:e.initial}}function Tr(e){let{messages:t,status:a,suggestions:r}=e,o=r!==!1,{rungs:n,initial:s}=vh(r),i=rn(()=>({page:null,channel:Bt(s??[])}),[s]),l=n??i,u=rn(()=>o?en({flow:null,followup:null,...l}):null,[o,l]),c=rn(()=>u?.suggestions.map(h=>h.text)??[],[u]),[d,f]=$l(c),[p,m]=$l(u?.origin??"channel"),L=kh(a),I=bh(()=>{f([])},[]),x=t.length>0;an(()=>{x||(f(c),m(u?.origin??"channel"))},[c,u,x]);let g=t[t.length-1];return an(()=>{g?.role==="user"&&I()},[g,I]),an(()=>{let h=L.current;if(L.current=a,h!=="streaming"||a!=="ready"||!o)return;let w=[...t].reverse().find(P=>P.role==="assistant");if(!w)return;let S=zl(w),v=jl(w),A=en({flow:S===null?null:Bt(S),followup:v===null?null:Bt(v),page:null,channel:null});f(A?A.suggestions.map(P=>P.text):[]),m(A?.origin??"channel")},[a,o,t]),{suggestions:d,source:p,isLoading:!1,clear:I}}import{useEffect as Ph,useRef as Ah,useState as Rh}from"react";var Mh=80,Fh=50,Bh=15e3,Xl=500;function vr(e,t=!0){let[a,r]=Rh(""),o=Ah(void 0);return Ph(()=>{if(!t){r("");return}let n=0,s=!1,i=!1,l=()=>{i||(s?(n--,r(e.slice(0,n)),n<=0?(s=!1,o.current=setTimeout(l,Xl)):o.current=setTimeout(l,Fh)):(n++,r(e.slice(0,n)),n>=e.length?(s=!0,o.current=setTimeout(l,Bh)):o.current=setTimeout(l,Mh)))};return o.current=setTimeout(l,Xl),()=>{i=!0,clearTimeout(o.current)}},[e,t]),a}function Pr(e,t){let a=t?.Authorization,r=typeof a=="string"&&a.startsWith("Bearer ")?a.slice(7):null;return nt(e,"/resource",r?{token:r}:void 0)}var Kl={primaryColor:"#6366f1",primaryForeground:"#1f2937",backgroundColor:"#ffffff",textColor:"#1f2937",mutedColor:"#6b7280",borderColor:"#e5e7eb",borderWidth:0,boxShadow:"none",assistantBubbleColor:"#f3f4f6",userBubbleColor:"#f4f4f4",inputBackgroundColor:"#f9fafb",borderRadius:16,messageBorderRadius:8,fontFamily:"system-ui, -apple-system, 'Segoe UI', sans-serif",headerBackgroundColor:"#ffffff",headerTextColor:"#1f2937",statusColor:"#22c55e",toolCardColor:"#f4f4f5",userBubbleTextColor:"#1f2937",assistantBubbleTextColor:"#1f2937",messagePaddingX:16,messagePaddingY:12,messageMaxWidth:"80%",fontSize:16,lineHeight:"1.5",glassTint:"transparent",glassTintStrength:"0"},Eh={backgroundColor:"#212121",headerBackgroundColor:"#1e1e1e",headerTextColor:"#ececec",textColor:"#ececec",primaryForeground:"#ffffff",mutedColor:"#8e8ea0",borderColor:"#444444",assistantBubbleColor:"#2f2f2f",userBubbleColor:"#303030",inputBackgroundColor:"#2f2f2f",primaryColor:"#6366f1",statusColor:"#22c55e",toolCardColor:"#262626",userBubbleTextColor:"#ffffff",assistantBubbleTextColor:"#ececec"},Dh={primaryColor:["--ww-primary","--ww-color-primary"],primaryForeground:["--ww-primary-fg","--ww-color-primary-foreground"],backgroundColor:["--ww-bg","--ww-color-background"],textColor:["--ww-text","--ww-color-foreground","--ww-color-accent-foreground"],mutedColor:["--ww-muted","--ww-color-muted-foreground"],borderColor:["--ww-border","--ww-color-border"],borderWidth:["--ww-border-width"],boxShadow:["--ww-shadow"],assistantBubbleColor:["--ww-assistant-bubble","--ww-color-accent"],userBubbleColor:["--ww-user-bubble"],inputBackgroundColor:["--ww-input-bg","--ww-color-input"],borderRadius:["--ww-radius"],messageBorderRadius:["--ww-msg-radius"],fontFamily:["--ww-font"],headerBackgroundColor:["--ww-header-bg"],headerTextColor:["--ww-header-text"],statusColor:["--ww-status"],toolCardColor:["--ww-tool-card","--ww-color-tool-card"],userBubbleTextColor:["--ww-user-bubble-text"],assistantBubbleTextColor:["--ww-assistant-bubble-text"],messagePaddingX:["--ww-msg-pad-x"],messagePaddingY:["--ww-msg-pad-y"],messageMaxWidth:["--ww-msg-max-width"],fontSize:["--ww-font-size"],lineHeight:["--ww-line-height"],glassTint:["--ww-glass-tint"],glassTintStrength:["--ww-glass-tint-opacity"]};function on(e){return{...Kl,...e}}function ha(e){let t={};for(let[a,r]of Object.entries(Dh)){let o=e[a];if(o===void 0)continue;let n=typeof o=="number"?`${o}px`:String(o);for(let s of r)t[s]=n}return t}import{jsx as Se,jsxs as ga}from"react/jsx-runtime";var Uh=_h(function(t,a){let{theme:r,title:o="Assistant",width:n,height:s,className:i,allowAttachments:l=!1,welcomeMessage:u,welcome:c,placeholder:d="Ask me anything...",triggerEvent:f="triggerDemoRequest",api:p,debug:m,enableThreadHistory:L=!1,showToolCalls:I=!0}=t,x=p??"/api/waniwani",g=Pr(x,t.headers),h=on(r),w=ha(r??{}),S=h.backgroundColor.replace("#",""),v=parseInt(S.substring(0,2),16),A=parseInt(S.substring(2,4),16),P=parseInt(S.substring(4,6),16),E=(v*299+A*587+P*114)/1e3<128,k=Gl(x,t.headers,t.skipRemoteConfig),B=m??k.debug,y=kr({...t,api:x}),X=wr({...t,api:x,sessionId:y.sessionId}),H=vr(d,!y.text),[R,b]=Jl(!1),[M,Pe]=Jl(null),we=Ql(null),U=Ql(void 0),re=nn(()=>{let j=we.current;if(!j)return;j.scrollIntoView({behavior:"smooth",block:"center"});let W=j.querySelector("textarea");W&&setTimeout(()=>W.focus(),300),b(!0),clearTimeout(U.current),U.current=setTimeout(()=>b(!1),2e3)},[]),oe=Tr({messages:y.messages,status:y.status,suggestions:t.suggestions}),ye=nn(j=>{let W=j.content.map(Ae=>Ae.text??"").join("").trim();W&&y.handleSubmit({text:W,files:[],modelContext:j.modelContext})},[y.handleSubmit]),le=nn(j=>{oe.clear(),y.handleSubmit({text:j,files:[]})},[oe.clear,y.handleSubmit]);return Nh(a,()=>({sendMessage:j=>{y.handleSubmit({text:j,files:[]}),re()},sendMessageAndWait:j=>y.sendMessageAndWait(j),reset:y.reset,focus:re,get messages(){return y.messages},get sessionId(){return y.sessionId}}),[y.handleSubmit,y.sendMessageAndWait,y.reset,y.messages,y.sessionId,re]),Oh(()=>{if(!f)return;let j=W=>{let Ae=W.detail,ce=typeof Ae?.message=="string"?Ae.message:void 0;ce&&y.handleSubmit({text:ce,files:[]}),re()};return window.addEventListener(f,j),()=>window.removeEventListener(f,j)},[f,y.handleSubmit,re]),ga("div",{ref:we,style:{...w,width:n,height:s},"data-waniwani-chat":"","data-waniwani-layout":"card",...E?{"data-waniwani-dark":""}:{},className:T("ww:flex ww:flex-col ww:font-[family-name:var(--ww-font)] ww:text-foreground ww:bg-background ww:rounded-[var(--ww-radius)] ww:overflow-hidden",R&&"ww:ring-2 ww:ring-blue-400/70 ww:ring-offset-2 ww:ring-offset-background",i),children:[ga("div",{className:"ww:shrink-0 ww:flex ww:items-center ww:gap-2 ww:px-6 ww:py-3",style:{backgroundColor:h.headerBackgroundColor,color:h.headerTextColor},children:[Se("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:o}),Se(ps,{messages:y.messages,evalEnabled:k.eval,api:x}),L&&Se(gr,{threads:y.threads,activeThreadId:y.activeThreadId,onNewThread:y.startNewThread,onSelectThread:j=>{y.switchThread(j)},onDeleteThread:j=>{y.deleteThread(j)}})]}),ga(Vn,{className:"ww:flex-1 ww:min-h-0 ww:bg-background",children:[Se(zn,{scrollClassName:M?"ww:!relative ww:!overflow-hidden":void 0,children:Se(fr,{messages:y.messages,status:y.status,welcomeMessage:u,welcome:c,onSuggestionSelect:le,resourceEndpoint:g,chatSessionId:y.sessionId,isDark:E,onFollowUp:ye,onCallTool:X,fullscreenToolCallId:M,debug:B,showToolCalls:I,toolDefinitions:y.toolDefinitions,onWidgetDisplayModeChange:(j,W)=>{Pe(j==="fullscreen"?W.toolCallId:null)}})}),Se(jn,{})]}),Se("div",{style:M?{display:"none"}:void 0,children:Se(hr,{suggestions:oe.suggestions,isLoading:oe.isLoading,onSelect:le})}),Se("div",{style:M?{display:"none"}:void 0,children:Se(Ma,{queuedMessages:y.queuedMessages,onRemove:y.removeQueuedMessage})}),Se("div",{style:M?{display:"none"}:void 0,children:Se("div",{className:"ww:shrink-0 ww:px-4 ww:pb-8 ww:pt-2 ww:bg-background",children:ga("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[Se(va,{onSubmit:y.handleSubmit,globalDrop:l,multiple:l,className:"ww:rounded-2xl ww:border-border ww:bg-input",children:ga("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[l&&Se(Ra,{}),Se(Pa,{onChange:y.handleTextChange,value:y.text,placeholder:H,className:"ww:min-h-0 ww:py-1 ww:px-0"}),Se(Aa,{status:y.status,disabled:y.queueFull})]})}),Se(pr,{})]})})})]})});import{forwardRef as Zl,useCallback as Ar,useEffect as Ke,useImperativeHandle as qh,useRef as Lt,useState as Rr}from"react";import{jsx as Hh}from"react/jsx-runtime";function Yl({text:e}){let{t}=G();return e===!1?null:Hh("span",{className:"ww:whitespace-nowrap ww:text-[10px] ww:sm:text-[11px] ww:text-muted-foreground ww:opacity-70",children:e||t.aiDisclaimer.default})}import{jsx as me,jsxs as it}from"react/jsx-runtime";var sn=Zl(function(t,a){let{locale:r,messages:o}=t;return me(zr,{locale:r,messages:o,children:me(Wh,{...t,ref:a})})}),Wh=Zl(function(t,a){let{t:r,ready:o}=G(),{appearance:n,className:s,classNames:i,allowAttachments:l=!1,welcomeMessage:u,welcome:c,placeholder:d=r.promptInput.placeholder,triggerEvent:f="triggerDemoRequest",api:p,mcp:m,debug:L=!1,readOnly:I=!1,title:x,headerActions:g,hideHeader:h=!1,enableThreadHistory:w=!1,showToolCalls:S=!0,initializing:v=!1,onScreen:A=!0,disclaimer:P}=t,E=n?.theme,k=n?.variables,B=n?.assistantBubble??!1,y=k?ha(k):{},[X,H]=Rr(!1);Ke(()=>{if(E!=="auto"||typeof window>"u")return;let F=window.matchMedia("(prefers-color-scheme: dark)");H(F.matches);let z=()=>H(F.matches);return F.addEventListener("change",z),()=>F.removeEventListener("change",z)},[E]);let R=E==="dark"||E==="auto"&&X,b=kr({...t,api:p}),M=xr(),Pe=wr({...t,api:p,sessionId:b.sessionId,onCallTool:m?.onCallTool}),we=m?.resourceEndpoint??Pr(p,t.headers),U=vr(d,!b.text),[re,oe]=Rr(null),[ye,le]=Rr(null),j=Lt(null),W=Lt(null),Ae=Lt(null),ce=Lt(null),[K,ue]=Rr(!0),V=Lt(K);V.current=K;let O=Ar(()=>{let F=j.current;if(!F)return;let z=F.querySelector("textarea");z&&z.focus()},[]),q=Ar((F="smooth")=>{let z=W.current;z&&z.scrollTo({top:z.scrollHeight,behavior:F})},[]);Ke(()=>{let F=ce.current,z=W.current;if(!F||!z)return;let de=new IntersectionObserver(([ve])=>ue(ve.isIntersecting),{root:z,rootMargin:"0px 0px 200px 0px",threshold:0});return de.observe(F),()=>de.disconnect()},[]),Ke(()=>{let F=W.current;if(!F)return;let z=de=>{let Ve=(de.target instanceof Element?de.target:null)?.closest("a");Ve?.href&&M.emit({name:"link.clicked",properties:{url:Ve.href}})};return F.addEventListener("click",z),()=>F.removeEventListener("click",z)},[M]),Ke(()=>{(b.messages[b.messages.length-1]?.role==="user"||V.current)&&q("smooth")},[b.messages.length,b.messages[b.messages.length-1]]),Ke(()=>{q("auto")},[q]),Ke(()=>{if(typeof ResizeObserver>"u")return;let F=W.current,z=Ae.current;if(!F&&!z)return;let de=F?.scrollHeight??0,ve=F?.clientHeight??0,Ve=new ResizeObserver(()=>{let ze=W.current;if(!ze)return;let Er=ze.scrollTop+ve>=de-5;de=ze.scrollHeight,ve=ze.clientHeight,Er&&q("auto")});return F&&Ve.observe(F),z&&Ve.observe(z),()=>Ve.disconnect()},[q]);let N=Tr({messages:b.messages,status:b.status,suggestions:t.suggestions}),ne=Lt(null);Ke(()=>{let F=N.suggestions;!A||F.length===0||ne.current===F||(ne.current=F,M.emit({name:"suggestions.shown",properties:{texts:F,origin:N.source}}))},[N.suggestions,N.source,M,A]);let Q=c?.suggestions,xe=Lt(null);Ke(()=>{!A||b.messages.length>0||!Q?.length||xe.current===Q||(xe.current=Q,M.emit({name:"suggestions.shown",properties:{texts:Q,origin:"channel"}}))},[Q,b.messages.length,M,A]);let be=Ar(F=>{let z=F.content.map(de=>de.text??"").join("").trim();z&&b.handleSubmit({text:z,files:[],modelContext:F.modelContext})},[b.handleSubmit]),Re=Ar(F=>{let z=N.suggestions.indexOf(F),de=z>=0?z:c?.suggestions?.indexOf(F)??-1,ve=z>=0?N.source:"channel";M.emit({name:"suggestion.clicked",properties:{text:F,index:de,origin:ve}}),N.clear(),b.handleSubmit({text:F,files:[]})},[N.suggestions,N.source,N.clear,b.handleSubmit,c,M]);qh(a,()=>({sendMessage:F=>{b.handleSubmit({text:F,files:[]}),O()},sendMessageAndWait:F=>b.sendMessageAndWait(F),reset:b.reset,focus:O,get messages(){return b.messages},get sessionId(){return b.sessionId}}),[b.handleSubmit,b.sendMessageAndWait,b.reset,b.messages,b.sessionId,O]),Ke(()=>{if(!f)return;let F=z=>{let de=z.detail,ve=typeof de?.message=="string"?de.message:void 0;ve&&b.handleSubmit({text:ve,files:[]}),O()};return window.addEventListener(f,F),()=>window.removeEventListener(f,F)},[f,b.handleSubmit,O]);let Qe=!h&&!!(x||w||g),xa=v||!o;return it("div",{ref:j,style:{...y,maxHeight:"inherit",...re&&ye?{height:ye}:{},opacity:xa?0:1,transition:"opacity 220ms ease-out"},"data-waniwani-chat":"","data-waniwani-layout":"embed","data-assistant-bubble":B?"true":void 0,"data-color-scheme":E==="auto"?"auto":void 0,...xa?{"data-waniwani-initializing":""}:{},...R?{"data-waniwani-dark":""}:{},className:T("ww:relative ww:w-full ww:h-full ww:flex ww:flex-col ww:bg-background ww:text-foreground ww:font-[family-name:var(--ww-font)] ww:overflow-hidden",E==="dark"&&"dark",s,i?.root),children:[Qe&&it("div",{className:T("ww-header ww:shrink-0 ww:flex ww:items-center ww:gap-2 ww:pl-4 ww:pr-3 ww:py-3 ww:border-b ww:border-border",i?.header),style:{backgroundColor:"var(--ww-color-card-header)",color:"var(--ww-color-card-header-foreground)"},children:[x&&me("div",{className:"ww:text-sm ww:font-semibold ww:truncate ww:flex-1 ww:min-w-0",children:x}),!x&&me("div",{className:"ww:flex-1"}),w&&me(gr,{threads:b.threads,activeThreadId:b.activeThreadId,onNewThread:b.startNewThread,onSelectThread:F=>{b.switchThread(F)},onDeleteThread:F=>{b.deleteThread(F)}}),g]}),it("div",{ref:W,className:T("ww:relative ww:flex-1 ww:min-h-0",re?"ww:overflow-hidden":"ww:overflow-y-auto"),children:[it("div",{ref:Ae,className:T("ww:mx-auto ww:w-full ww:max-w-3xl ww:px-4 ww:py-6 ww:flex ww:flex-col ww:gap-6",re&&"ww:!py-0"),children:[me(fr,{messages:b.messages,status:b.status,welcomeMessage:u,welcome:c,onSuggestionSelect:Re,resourceEndpoint:we,chatSessionId:b.sessionId,isDark:R,onFollowUp:be,onCallTool:Pe,fullscreenToolCallId:re,debug:L,showToolCalls:S,toolDefinitions:b.toolDefinitions,messageClassNames:{message:i?.message,userBubble:i?.userBubble,assistantBubble:i?.assistantBubble},onWidgetDisplayModeChange:(F,z)=>{if(F==="fullscreen"){let de=j.current?.getBoundingClientRect().height??0;le(de>0?de:null),oe(z.toolCallId)}else le(null),oe(null)}}),me("div",{ref:ce,"aria-hidden":!0,style:{height:1}})]}),!K&&!re&&me("div",{className:"ww:sticky ww:bottom-2 ww:flex ww:justify-center ww:pointer-events-none",children:me(De,{type:"button",onClick:()=>q("smooth"),size:"icon",variant:"outline",className:"ww:rounded-full ww:shadow ww:pointer-events-auto","aria-label":"Scroll to latest",children:me(lt,{className:"ww:size-4"})})})]}),!I&&it("div",{className:"ww:shrink-0 ww:bg-background",style:re?{display:"none"}:void 0,children:[me(hr,{suggestions:N.suggestions,isLoading:N.isLoading,onSelect:Re}),me(Ma,{queuedMessages:b.queuedMessages,onRemove:b.removeQueuedMessage}),me("div",{className:"ww:px-4 ww:pb-2 ww:pt-2",children:it("div",{className:"ww:mx-auto ww:w-full ww:max-w-3xl",children:[me(va,{onSubmit:b.handleSubmit,globalDrop:l,multiple:l,className:T("ww-input ww:rounded-2xl ww:border-border ww:bg-input",i?.input),children:it("div",{className:"ww:flex ww:items-center ww:gap-1 ww:pl-4 ww:pr-3 ww:py-2.5",children:[l&&me(Ra,{}),me(Pa,{onChange:b.handleTextChange,value:b.text,placeholder:U,className:"ww:min-h-0 ww:py-1 ww:px-0"}),me(Aa,{status:b.status,disabled:b.queueFull})]})}),it("div",{className:"ww:pt-2 ww:pb-1 ww:flex ww:flex-nowrap ww:justify-center ww:items-center ww:gap-1.5",children:[me(pr,{}),me(Yl,{text:P})]})]})})]})]})});import{forwardRef as Og,useEffect as Br,useImperativeHandle as Ng,useMemo as xn,useRef as In,useState as Au}from"react";var Gh="https://app.waniwani.ai/api/mcp/chat",Vh={api:Gh};function zh(){if(typeof document>"u")return null;if(document.currentScript instanceof HTMLScriptElement)return document.currentScript;let e=document.querySelector("script[src][data-token]");if(e instanceof HTMLScriptElement)return e;let t=document.querySelectorAll("script[src]");for(let a of t)if(a instanceof HTMLScriptElement&&/embed/i.test(a.src))return a;return null}function jh(){let e=zh();if(!e)return{};let t=k=>e.getAttribute(k)??void 0,a=k=>{let B=e.getAttribute(k);if(B==null)return;let y=B.trim().toLowerCase();if(y==="true"||y==="1"||y==="")return!0;if(y==="false"||y==="0")return!1},r={},o=t("data-api");o&&(r.api=o);let n=t("data-token");n&&(r.token=n);let s=t("data-visitor-id");s&&(r.visitorId=s);let i=t("data-title");i&&(r.title=i);let l=t("data-welcome-message");l&&(r.welcomeMessage=l);let u=t("data-placeholder");u&&(r.placeholder=u);let c=t("data-mcp-server-url");c&&(r.mcpServerUrl=c);let d=t("data-channel-id");if(d&&(r.channelId=d),t("data-show-tool-calls")?.trim().toLowerCase()==="titles-only")r.showToolCalls="titles-only";else{let k=a("data-show-tool-calls");k!==void 0&&(r.showToolCalls=k)}let p=t("data-css");p&&(r.css=p);let m=t("data-suggestions");m&&(r.suggestions=m.split(",").map(k=>k.trim()).filter(Boolean));let L=a("data-enable-thread-history");L!==void 0&&(r.enableThreadHistory=L);let I=a("data-disable-page-view");I!==void 0&&(r.disablePageView=I);let x=a("data-hide-header");x!==void 0&&(r.hideHeader=x);let g=t("data-theme");(g==="light"||g==="dark"||g==="auto")&&(r.appearance={...r.appearance,theme:g});let h=a("data-assistant-bubble");h!==void 0&&(r.appearance={...r.appearance,assistantBubble:h});let w=t("data-locale");(w==="en"||w==="fr"||w==="es")&&(r.locale=w);let S=t("data-mode");(S==="inline"||S==="floating")&&(r.mode=S);let v=t("data-height");v&&(r.height=v);let A=t("data-launcher-text");A&&(r.launcherText=A);let P=t("data-appear-delay");if(P!==void 0){let k=Number.parseInt(P.trim(),10);Number.isFinite(k)&&k>=0&&(r.appearDelay=k)}let E=t("data-disclaimer");if(E!==void 0){let k=E.trim(),B=k.toLowerCase();B==="false"||B==="0"?r.disclaimer=!1:k&&(r.disclaimer=k)}return r}function ln(e){if(!e)return{};let t={};for(let a in e)e[a]!==void 0&&(t[a]=e[a]);return t}function un(e,t,a){let r=a??jh(),o=$h(t,r,e),n={token:"",...Vh,...ln(t),...ln(r),...ln(e),...o?{appearance:o}:{}};if(!n.token)throw new Error("[Waniwani] Missing required config: `token`. Set data-token on the script tag or pass it to Waniwani.chat.init().");return n}function $h(e,t,a){let r=a?.appearance?.theme??t.appearance?.theme??e?.appearance?.theme,o={...e?.appearance?.variables??{},...t.appearance?.variables??{},...a?.appearance?.variables??{}},n=Object.keys(o).length>0,s=a?.appearance?.assistantBubble??t.appearance?.assistantBubble??e?.appearance?.assistantBubble;if(!r&&!n&&s===void 0)return;let i={};return r&&(i.theme=r),n&&(i.variables=o),s!==void 0&&(i.assistantBubble=s),i}import{useEffect as Ak,useState as Rk}from"react";function Xh(){if(typeof window>"u")return!1;try{return window.WANIWANI_DEBUG?!0:!!window.localStorage?.getItem("WANIWANI_DEBUG")}catch{return!1}}function Ct(...e){Xh()&&console.log("[Waniwani]",...e)}var dn=new Set;function Kh(e,t,a){return`${e}|${t}|${a??""}`}function wa(e){try{return`${new URL(e).origin}/api/mcp/events/v2/batch`}catch{return e.replace(/\/$/,"").replace(/\/chat$/,"/events/v2/batch")}}async function cn(e){let{api:t,token:a,channelId:r,mode:o,source:n}=e;if(typeof window>"u"||!t||!a)return;if(!r&&!n){Ct("page.viewed skipped: no channelId or source to attribute it");return}let s=Kh(t,a,r);if(!dn.has(s)){dn.add(s);try{let i=await ma(),l=new Date().toISOString(),u=JSON.stringify({sentAt:l,source:{sdk:"@waniwani/sdk",version:"0.1.0"},events:[{id:crypto.randomUUID(),type:"mcp.event",name:"page.viewed",source:n,timestamp:l,correlation:{visitorId:i.visitorId},properties:{channelId:r,mode:o,url:window.location.href,referrer:i.referrer,deviceType:i.deviceType,language:i.language,timezone:i.timezone},metadata:{}}]});await fetch(wa(t),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:u,keepalive:!0})}catch{dn.delete(s)}}}import{useMemo as ng}from"react";import{useEffect as Zh,useSyncExternalStore as eg}from"react";function Qh(e){return e?.patterns??e?.rules??[]}var eu="\0\0";function Jh(e){let a=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\\\*\\\*/g,eu).replace(/\\\*/g,"[^/]*").split(eu).join(".*");return new RegExp(`^${a}$`)}function Yh(e,t){try{return Jh(e).test(t)}catch{return!1}}function tu(e,t){if(!e)return!0;let a=!1;for(let r of Qh(e))if(Yh(r.glob,t)){if(r.action==="hide")return!1;a=!0}return a?!0:(e.default??"show")!=="hide"}var fn="waniwani:locationchange",au=!1;function tg(){if(!(au||typeof history>"u")){au=!0;for(let e of["pushState","replaceState"]){let t=history[e];history[e]=function(...r){let o=t.apply(this,r);return window.dispatchEvent(new Event(fn)),o}}}}function ag(e){return tg(),window.addEventListener(fn,e),window.addEventListener("popstate",e),()=>{window.removeEventListener(fn,e),window.removeEventListener("popstate",e)}}function rg(){return window.location.pathname}function og(){return"/"}function pn(){return eg(ag,rg,og)}function ru(e,t){let a=pn(),r=t&&tu(e,a);return Zh(()=>{Ct("visibility gate",{pathname:a,ready:t,visible:r,rules:e})},[a,t,r]),r}var sg=3,ig=["low","medium","high"];function mn(e){if(e.length===0)return;let t=Math.floor(Math.random()*e.length),[a]=e.splice(t,1);return a}function lg(e){let t=new Map,a=[];for(let n of e)if(n.tier){let s=t.get(n.tier)??[];s.push(n),t.set(n.tier,s)}else a.push(n);let r=[];for(let n of ig){let s=mn(t.get(n)??[])??mn(a);s&&r.push(s)}let o=[...t.values()].flat().concat(a);for(;r.length<Math.min(sg,e.length);){let n=mn(o);if(!n)break;r.push(n)}return r}function ou(e){let t;try{t=new URL(e,"http://localhost").pathname}catch{t="/"}let a=t.replace(/\/+$/,"");return(a===""?"/":a).toLowerCase()}function nu(e){return Array.isArray(e)?e.flatMap(t=>{let a=t;if(typeof a?.url!="string"||a.url.length===0||!Array.isArray(a.prompts))return[];let r=a.prompts.flatMap(o=>{let n=o;return typeof n?.text!="string"||n.text.length===0?[]:[{id:typeof n.id=="string"?n.id:null,text:n.text,tier:n.tier==="low"||n.tier==="medium"||n.tier==="high"?n.tier:void 0}]});return r.length>0?[{url:a.url,prompts:r}]:[]}):[]}function su(e){let{pageSuggestions:t,suggestions:a}=e,r=pn();return ng(()=>{let o=ou(r),n=t?.find(i=>ou(i.url)===o),s=n?lg(n.prompts).map(({id:i,text:l})=>({id:i,text:l})):null;return Ct("configured suggestions resolve",{pathname:o,matched:!!n,count:s?.length??0}),{page:s,channel:Bt(a??[])}},[r,t,a])}var ug="waniwani:config:";function iu(e,t,a){return`${ug}${e}|${t}|${a??""}`}function Mr(e,t,a){if(typeof window>"u")return null;try{let r=window.sessionStorage.getItem(iu(e,t,a));if(!r)return null;let o=JSON.parse(r);return o&&typeof o=="object"?o:null}catch{return null}}function lu(e,t,a,r){if(!(typeof window>"u"))try{window.sessionStorage.setItem(iu(e,t,a),JSON.stringify(r))}catch{}}async function uu(e,t,a,r){try{let o=nt(e,"/config",r?{channel:r}:void 0),n=await fetch(o,{method:"GET",headers:{Authorization:`Bearer ${t}`},signal:a});if(!n.ok)return{};let s=await n.json(),i=s&&typeof s=="object"&&"data"in s&&s.data?s.data:s;return i?dg(i):{}}catch{return{}}}function dg(e){let t={};e.source!=null&&(t.source=e.source),e.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=nu(e.pageSuggestions);return a.length>0&&(t.pageSuggestions=a),typeof e.enableThreadHistory=="boolean"&&(t.enableThreadHistory=e.enableThreadHistory),e.toolCallDisplay==="full"?t.showToolCalls=!0:e.toolCallDisplay==="titles-only"?t.showToolCalls="titles-only":e.toolCallDisplay==="hidden"&&(t.showToolCalls=!1),e.visibility&&(t.visibility=e.visibility),t}import{useEffect as cg,useRef as fg}from"react";function hn(e,t){return e.find(a=>a.text===t)?.id??null}async function du(e){let{api:t,token:a,name:r,source:o,sessionId:n,properties:s}=e;if(!(typeof window>"u"||!t||!a))try{let i=new Date().toISOString(),l=JSON.stringify({sentAt:i,source:{sdk:"@waniwani/sdk",version:"0.1.0"},events:[{id:crypto.randomUUID(),type:"mcp.event",name:r,source:o,timestamp:i,correlation:{visitorId:st(),sessionId:n},properties:{...s,url:window.location.href},metadata:{}}]});await fetch(wa(t),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:l,keepalive:!0})}catch{}}async function cu(e){let{api:t,token:a,channelId:r,mode:o,source:n,sessionId:s,promptId:i,origin:l,text:u,index:c}=e;await du({api:t,token:a,name:"suggestion.clicked",source:n,sessionId:s,properties:{promptId:i,origin:l,text:u,index:c,channelId:r,mode:o}})}function fu(e,t){return t.map(a=>({id:hn(e,a),text:a}))}async function pu(e){let{api:t,token:a,channelId:r,mode:o,source:n,sessionId:s,prompts:i,origin:l}=e;i.length!==0&&await du({api:t,token:a,name:"suggestion.shown",source:n,sessionId:s,properties:{prompts:i,count:i.length,origin:l,channelId:r,mode:o}})}function mu(e){let{widgetEvents:t,api:a,token:r,channelId:o,source:n,mode:s,pagePrompts:i}=e,l=fg(e.getSessionId);l.current=e.getSessionId,cg(()=>{if(!(!a||!r))return t.subscribe(u=>{if(u.name==="suggestion.clicked"){let{text:c,origin:d,index:f}=u.properties;cu({api:a,token:r,channelId:o,mode:s,source:n,sessionId:l.current(),promptId:hn(i??[],c),origin:d,text:c,index:f});return}if(u.name==="suggestions.shown"){let{texts:c,origin:d}=u.properties;pu({api:a,token:r,channelId:o,mode:s,source:n,sessionId:l.current(),prompts:fu(i??[],c),origin:d})}})},[t,a,r,o,n,s,i])}function Dt(e,t){for(let a of t){let r=e[a];if(typeof r=="string"&&r.length>0)return r}}var pg=["waniwani/sessionId","openai/sessionId","openai/session","sessionId","conversationId","mcp-session-id"],mg=["waniwani/requestId","openai/requestId","requestId","mcp/requestId"],hg=["waniwani/traceId","openai/traceId","traceId","mcp/traceId","openai/requestId","requestId"],gg=["waniwani/userId","openai/userId","externalUserId","userId","actorId"],wg=["waniwani/visitorId","visitorId"],xg=["correlationId","openai/requestId"];function hu(e){return e?Dt(e,pg):void 0}function gu(e){return e?Dt(e,mg):void 0}function wu(e){return e?Dt(e,hg):void 0}function xu(e){return e?Dt(e,gg):void 0}function Iu(e){return e?Dt(e,wg):void 0}function Lu(e){return e?Dt(e,xg):void 0}var Ig=[{key:"openai/sessionId",source:"chatgpt"},{key:"openai/session",source:"chatgpt"}],Lg=[{needle:"claude",source:"claude"},{needle:"chatgpt",source:"chatgpt"},{needle:"openai",source:"chatgpt"},{needle:"gemini",source:"gemini"}];function Cu(e,t){if(e){let r=e["waniwani/source"];if(typeof r=="string"&&r.length>0)return r;for(let{key:o,source:n}of Ig){let s=e[o];if(typeof s=="string"&&s.length>0)return n}}let a=t?.name;if(typeof a=="string"&&a.length>0){let r=a.toLowerCase();for(let{needle:o,source:n}of Lg)if(r.includes(o))return n}}var Cg="@waniwani/sdk";function Su(e,t={}){let a=t.now??(()=>new Date),r=t.generateId??Sg,o=kg(e),n=Fr(e.meta),s=Fr(e.metadata),i=Tg(e,n),l=He(e.eventId)??r(),u=vg(e.timestamp,a),c=He(e.source)??Cu(n)??t.source??Cg,d=gn(e)?{...e}:void 0,f={...s};return Object.keys(n).length>0&&(f.meta=n),d&&(f.rawLegacy=d),{id:l,type:"mcp.event",name:o,source:c,timestamp:u,correlation:i,properties:yg(e,o),metadata:f,rawLegacy:d}}function Sg(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?`evt_${crypto.randomUUID()}`:`evt_${Math.random().toString(36).slice(2,10)}_${Date.now().toString(36)}`}function yg(e,t){if(!gn(e))return Fr(e.properties);let a=bg(e,t),r=Fr(e.properties);return{...a,...r}}function bg(e,t){switch(t){case"tool.called":{let a={};return He(e.toolName)&&(a.name=e.toolName),He(e.toolType)&&(a.type=e.toolType),a}case"link.clicked":{let a={};return He(e.linkUrl)&&(a.url=e.linkUrl),a}default:return{}}}function kg(e){return gn(e)?e.eventType:e.event}function Tg(e,t){let a=He(e.requestId)??gu(t),r=He(e.sessionId)??hu(t),o=He(e.traceId)??wu(t),n=He(e.externalUserId)??xu(t),s=He(e.visitorId)??Iu(t),i=He(e.correlationId)??Lu(t)??a,l={};return r&&(l.sessionId=r),o&&(l.traceId=o),a&&(l.requestId=a),i&&(l.correlationId=i),n&&(l.externalUserId=n),s&&(l.visitorId=s),l}function vg(e,t){if(e instanceof Date)return e.toISOString();if(typeof e=="string"){let a=new Date(e);if(!Number.isNaN(a.getTime()))return a.toISOString()}return t().toISOString()}function Fr(e){return!e||typeof e!="object"||Array.isArray(e)?{}:e}function He(e){if(typeof e=="string"&&e.trim().length!==0)return e}function gn(e){return"eventType"in e}function yu(e){return{priceShown:({amount:t,currency:a,itemId:r,label:o,...n})=>e({event:"price_shown",properties:{amount:t,currency:a,itemId:r,label:o},...n}),pricesCompared:({options:t,...a})=>e({event:"prices_compared",properties:{options:t},...a}),optionSelected:({id:t,amount:a,currency:r,...o})=>e({event:"option_selected",properties:{id:t,amount:a,currency:r},...o}),leadQualified:t=>{let{externalId:a,email:r,name:o,...n}=t??{};return e({event:"lead_qualified",properties:{externalId:a,email:r,name:o},...n})},converted:({amount:t,currency:a,occurredAt:r,...o})=>e({event:"converted",properties:{amount:t,currency:a,occurredAt:r},...o})}}var Pg="/api/mcp/events/v2/batch";var bu="@waniwani/sdk";var Ag=new Set([401,403]),Rg=new Set([408,425,429,500,502,503,504]),Mg=(e,t)=>globalThis.fetch(e,t);function ku(e){return new wn(e)}var wn=class{endpointUrl;flushIntervalMs;maxBatchSize;maxBufferSize;maxRetries;retryBaseDelayMs;retryMaxDelayMs;shutdownTimeoutMs;sdkVersion;fetchFn;logger;now;sleep;apiKey;buffer=[];flushTimer;flushScheduled=!1;flushScheduledTimer;flushInFlight;inFlightCount=0;isStopped=!1;isShuttingDown=!1;constructor(t){this.endpointUrl=Eg(t.apiUrl,t.endpointPath??Pg),this.flushIntervalMs=t.flushIntervalMs??1e3,this.maxBatchSize=t.maxBatchSize??20,this.maxBufferSize=t.maxBufferSize??1e3,this.maxRetries=t.maxRetries??3,this.retryBaseDelayMs=t.retryBaseDelayMs??200,this.retryMaxDelayMs=t.retryMaxDelayMs??2e3,this.shutdownTimeoutMs=t.shutdownTimeoutMs??2e3,this.fetchFn=t.fetchFn??Mg,this.logger=t.logger??console,this.now=t.now??(()=>new Date),this.sleep=t.sleep??(a=>new Promise(r=>setTimeout(r,a))),this.apiKey=t.apiKey,this.sdkVersion=t.sdkVersion,this.flushIntervalMs>0&&(this.flushTimer=setInterval(()=>{this.flush()},this.flushIntervalMs)),this.registerBrowserTeardown()}enqueue(t){if(this.isStopped||this.isShuttingDown){this.logger.warn("[Waniwani] Tracking transport is stopped, dropping event %s",t.id);return}if(this.buffer.length>=this.maxBufferSize){let a=this.buffer.length-this.maxBufferSize+1;this.buffer.splice(0,a),this.logger.warn("[Waniwani] Tracking buffer overflow, dropped %d oldest event(s)",a)}if(this.buffer.push(t),this.buffer.length>=this.maxBatchSize){this.flush();return}this.scheduleMicroFlush()}pendingEvents(){return this.buffer.length+this.inFlightCount}async flush(){return this.flushInFlight?this.flushInFlight:(this.flushInFlight=this.flushLoop().finally(()=>{this.flushInFlight=void 0}),this.flushInFlight)}async shutdown(t){this.isShuttingDown=!0,this.flushTimer&&(clearInterval(this.flushTimer),this.flushTimer=void 0),this.flushScheduledTimer&&(clearTimeout(this.flushScheduledTimer),this.flushScheduledTimer=void 0,this.flushScheduled=!1);let a=t?.timeoutMs??this.shutdownTimeoutMs,r=this.flush();if(!Number.isFinite(a)||a<=0)return await r,this.isStopped=!0,{timedOut:!1,pendingEvents:this.pendingEvents()};let o=Symbol("shutdown-timeout");return await Promise.race([r.then(()=>"flushed"),this.sleep(a).then(()=>o)])===o?(this.isStopped=!0,{timedOut:!0,pendingEvents:this.pendingEvents()}):(this.isStopped=!0,{timedOut:!1,pendingEvents:this.pendingEvents()})}registerBrowserTeardown(){if(typeof document>"u"||typeof window>"u")return;let t=()=>{document.visibilityState==="hidden"&&this.keepaliveFlush()};document.addEventListener("visibilitychange",t),window.addEventListener("pagehide",()=>this.keepaliveFlush())}keepaliveFlush(){if(this.isStopped||this.buffer.length===0)return;let t=this.buffer.splice(0,this.buffer.length);this.sendKeepaliveChunk(t)}sendKeepaliveChunk(t){let a=JSON.stringify(this.makeBatchRequest(t));if(a.length>6e4&&t.length>1){let r=Math.ceil(t.length/2);this.sendKeepaliveChunk(t.slice(0,r)),this.sendKeepaliveChunk(t.slice(r));return}try{this.fetchFn(this.endpointUrl,{method:"POST",headers:this.requestHeaders(),body:a,keepalive:!0}).catch(()=>{})}catch{}}requestHeaders(){let t={"Content-Type":"application/json","X-WaniWani-SDK":bu};return this.apiKey&&(t.Authorization=`Bearer ${this.apiKey}`),t}scheduleMicroFlush(){this.flushScheduled||(this.flushScheduled=!0,this.flushScheduledTimer=setTimeout(()=>{this.flushScheduledTimer=void 0,this.flushScheduled=!1,this.flush()},0))}async flushLoop(){for(;this.buffer.length>0&&!this.isStopped;){let t=this.buffer.splice(0,this.maxBatchSize);await this.sendBatchWithRetry(t)}}async sendBatchWithRetry(t){let a=0,r=t;for(;r.length>0&&!this.isStopped;){this.inFlightCount=r.length;let o=await this.sendBatchOnce(r);switch(this.inFlightCount=0,o.kind){case"success":return;case"auth":this.stopTransportForAuthFailure(o.status,r.length);return;case"permanent":this.logger.error("[Waniwani] Dropping %d event(s) after permanent failure: %s",r.length,o.reason);return;case"retryable":if(a>=this.maxRetries){this.logger.error("[Waniwani] Dropping %d event(s) after retry exhaustion: %s",r.length,o.reason);return}await this.sleep(this.backoffDelayMs(a)),a+=1;continue;case"partial":if(o.permanent.length>0&&this.logger.error("[Waniwani] Dropping %d event(s) rejected as permanent",o.permanent.length),o.retryable.length===0)return;if(a>=this.maxRetries){this.logger.error("[Waniwani] Dropping %d retryable event(s) after retry exhaustion",o.retryable.length);return}r=o.retryable,await this.sleep(this.backoffDelayMs(a)),a+=1;continue}}}async sendBatchOnce(t){let a;try{a=await this.fetchFn(this.endpointUrl,{method:"POST",headers:this.requestHeaders(),body:JSON.stringify(this.makeBatchRequest(t))})}catch(n){return{kind:"retryable",reason:Dg(n)}}if(Ag.has(a.status))return{kind:"auth",status:a.status};if(Rg.has(a.status))return{kind:"retryable",reason:`HTTP ${a.status}`};if(!a.ok)return{kind:"permanent",reason:`HTTP ${a.status}`};let r=await Bg(a);if(!r?.rejected||r.rejected.length===0)return{kind:"success"};let o=this.classifyRejectedEvents(t,r.rejected);return o.retryable.length===0&&o.permanent.length===0?{kind:"success"}:{kind:"partial",retryable:o.retryable,permanent:o.permanent}}makeBatchRequest(t){return{sentAt:this.now().toISOString(),source:{sdk:bu,version:this.sdkVersion??"0.0.0"},events:t}}classifyRejectedEvents(t,a){let r=new Map(t.map(s=>[s.id,s])),o=[],n=[];for(let s of a){let i=r.get(s.eventId);if(i){if(Fg(s)){o.push(i);continue}n.push(i)}}return{retryable:o,permanent:n}}backoffDelayMs(t){let a=this.retryBaseDelayMs*2**t;return Math.min(a,this.retryMaxDelayMs)}stopTransportForAuthFailure(t,a){this.isStopped=!0;let r=this.buffer.length;this.buffer.splice(0,r),this.logger.error("[Waniwani] Auth failure (HTTP %d). Stopping tracking transport and dropping %d queued event(s)",t,a+r)}};function Fg(e){if(e.retryable===!0)return!0;let t=e.code.toLowerCase();return t.includes("timeout")||t.includes("temporary")||t.includes("unavailable")||t.includes("rate_limit")||t.includes("transient")||t.includes("server")}async function Bg(e){let t=await e.text();if(t)try{return JSON.parse(t)}catch{return}}function Eg(e,t){let a=e.endsWith("/")?e:`${e}/`,r=t.startsWith("/")?t.slice(1):t;return`${a}${r}`}function Dg(e){return e instanceof Error?e.message:String(e)}function Tu(e){let{apiUrl:t,endpointPath:a}=_g(e.endpoint),r=ku({apiUrl:t,apiKey:e.token,endpointPath:a,flushIntervalMs:e.flushIntervalMs}),o,n=i=>typeof i=="function"?i():i,s=async i=>{let l=e.identity?.()??{},u=n(e.channelId),c=u===void 0?i.properties:{channelId:u,...i.properties},d=Su({sessionId:l.sessionId,visitorId:l.visitorId,externalUserId:l.externalUserId??o,traceId:l.traceId,...i,properties:c,metadata:{...e.metadata,...i.metadata}},{source:n(e.source)});return r.enqueue(d),{eventId:d.id}};return{track:Object.assign(s,yu(s)),identify(i,l){return o=i,s({event:"user.identified",externalUserId:i,properties:l})},flush:()=>r.flush(),shutdown:i=>r.shutdown(i)}}function _g(e){let t=new URL(e);return{apiUrl:t.origin,endpointPath:`${t.pathname}${t.search}`}}function vu(e){return Tu({endpoint:wa(e.api),token:e.token,channelId:e.channelId,source:e.getSource,identity:()=>({sessionId:e.getSessionId(),visitorId:st()})})}function Pu(e){let t=!1,a=async()=>(t||(t=!0,console.warn(`[Waniwani] track() is disabled: ${e}`)),{eventId:""});return{track:Object.assign(a,{priceShown:a,pricesCompared:a,optionSelected:a,leadQualified:a,converted:a}),identify:a,flush:async()=>{},shutdown:async()=>({timedOut:!1,pendingEvents:0})}}import{jsx as Mu}from"react/jsx-runtime";var Ug=600,Ru="https://app.waniwani.ai/api/mcp/chat",Hg=Og(function(t,a){let{token:r,channelId:o,className:n,visitorId:s,overrides:i,onEvent:l}=t,u=In(null),c=In(null),d=xn(()=>Tl({mode:"inline",getSessionId:()=>u.current?.sessionId}),[]);Br(()=>{if(l)return d.subscribe(l)},[l,d]);let f=xn(()=>({token:r,channelId:o,api:i?.api,mcpServerUrl:i?.mcpServerUrl,title:i?.title,hideHeader:i?.hideHeader,welcomeMessage:i?.welcomeMessage,placeholder:i?.placeholder,suggestions:i?.suggestions,enableThreadHistory:i?.enableThreadHistory,showToolCalls:i?.showToolCalls,appearance:i?.appearance,disclaimer:i?.disclaimer,locale:i?.locale}),[r,o,i?.api,i?.mcpServerUrl,i?.title,i?.hideHeader,i?.welcomeMessage,i?.placeholder,i?.suggestions,i?.enableThreadHistory,i?.showToolCalls,i?.appearance,i?.disclaimer,i?.locale]),p=i?.api??Ru,[m,L]=Au({}),[I,x]=Au(!1),g=In(!1);Br(()=>{I&&!g.current&&(g.current=!0,d.emit({name:"chat.ready"}))},[I,d]);let h=i?.disablePageView;Br(()=>{if(!r){x(!0);return}let P=y=>{h||cn({api:p,token:r,channelId:o??y.channelId,mode:"inline",source:y.source})},E=Mr(p,r,o);E&&(L(E),x(!0),P(E));let k=new AbortController,B=setTimeout(()=>x(!0),Ug);return uu(p,r,k.signal,o).then(y=>{k.signal.aborted||(Object.keys(y).length>0&&(lu(p,r,o,y),L(y)),x(!0),P(y))}).catch(y=>{console.error("[Waniwani] Remote config fetch failed:",y),x(!0)}).finally(()=>clearTimeout(B)),()=>{k.abort(),clearTimeout(B)}},[p,r,o,h]);let w=xn(()=>un(f,m,void 0),[f,m]),S=su(w);mu({widgetEvents:d,api:w.api??p,token:w.token??r,channelId:w.channelId??o,source:w.source,mode:"inline",pagePrompts:S.page,getSessionId:()=>u.current?.sessionId}),Br(()=>{if(!r)return;let P=vu({api:p,token:r,channelId:()=>o??Mr(p,r,o)?.channelId,getSource:()=>Mr(p,r,o)?.source??void 0,getSessionId:()=>u.current?.sessionId});return c.current=P,()=>{c.current=null,P.shutdown()}},[p,r,o]),Ng(a,()=>{let P=()=>c.current??Pu("no public token configured"),E=Object.assign(k=>P().track(k),{priceShown:k=>P().track.priceShown(k),pricesCompared:k=>P().track.pricesCompared(k),optionSelected:k=>P().track.optionSelected(k),leadQualified:k=>P().track.leadQualified(k),converted:k=>P().track.converted(k)});return{sendMessage:k=>u.current?.sendMessage(k),sendMessageAndWait:k=>u.current?u.current.sendMessageAndWait(k):Promise.resolve(void 0),reset:()=>u.current?.reset(),focus:()=>u.current?.focus(),get messages(){return u.current?.messages??[]},get sessionId(){return u.current?.sessionId},track:E,identify:(k,B)=>P().identify(k,B)}},[]);let v=ru(w.visibility,I),A={mode:"inline"};return w.mcpServerUrl&&(A.mcpServerUrl=w.mcpServerUrl),w.channelId&&(A.channelId=w.channelId),v?Mu(Al,{value:d,children:Mu(sn,{ref:u,api:w.api??Ru,headers:{Authorization:`Bearer ${w.token}`},visitorId:s,skipRemoteConfig:!0,body:A,appearance:w.appearance,classNames:i?.classNames,title:w.title,hideHeader:w.hideHeader,welcomeMessage:w.welcomeMessage,welcome:i?.welcome,placeholder:w.placeholder,suggestions:S,enableThreadHistory:w.enableThreadHistory,showToolCalls:w.showToolCalls,disclaimer:w.disclaimer,allowAttachments:i?.allowAttachments,locale:w.locale,messages:i?.messages,className:n,initializing:!I})}):null});export{Uh as ChatCard,sn as ChatEmbed,Eh as DARK_THEME,Kl as DEFAULT_THEME,Go as McpAppFrame,Hg as WaniwaniChat,on as mergeTheme,ha as themeToCSSProperties};
|
|
17
17
|
/*! Bundled license information:
|
|
18
18
|
|
|
19
19
|
lucide-react/dist/esm/shared/src/utils/mergeClasses.js:
|