diff --git "a/assets/route-block-Dyzmoxo6.js" "b/assets/route-block-Dyzmoxo6.js" new file mode 100644--- /dev/null +++ "b/assets/route-block-Dyzmoxo6.js" @@ -0,0 +1,536 @@ +var ku=Object.defineProperty;var Tu=(e,t,n)=>t in e?ku(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Kr=(e,t,n)=>Tu(e,typeof t!="symbol"?t+"":t,n);import{e as Oi,T as vs,A as _u,L as Pi,c as ys,r as bs,E as Eu,I as Au,d as jo,M as Mu,D as Iu,f as Vo,g as Su,h as Cu,i as xs,j as ws,k as Ru,m as Ou,n as Li,V as Pu,o as Lu,p as Du,q as Di,s as Nu,b as zu,a as Bu,u as Fu,l as Uu,t as $u,v as ju,w as Vu,x as Hu,_ as ks}from"./Stage.vue_vue_type_style_index_0_scoped_9ee4a4e3_lang-DIA00uAz.js";import{d as we,m as Ve,o as G,T as kr,p as ge,e as He,v as Ts,x as _s,y as St,c as te,a as he,z as Ni,A as Es,k as Ge,B as Ft,j as O,C as zi,t as ae,f as j,w as Se,h as Tt,i as yt,D as Hn,E as Me,G as Gr,H as An,I as _t,J as Ku,K as Bi,l as lo,L as As,M as Mn,N as Gu,O as qu,P as Ms,Q as Wu,R as uo,S as It,U as wt,V as Pr,b as N,W as Yt,X as In,Y as Lr,Z as Is,_ as Tr,$ as Yu,a0 as de,a1 as fn,a2 as Ho,a3 as _r,a4 as xn,a5 as Xe,a6 as Xt,a7 as Xu,a8 as Ss,a9 as jn,aa as co,ab as tt,ac as Cs,ad as Rs,ae as fo,af as Kn,ag as Qu,ah as po,ai as Zu,aj as Os,ak as Ut,al as ho,am as Zt,an as Ju,ao as Ps,ap as un,aq as Ls,ar as Ds,as as ec,at as Ns,au as tc,av as Dr,aw as nc,ax as rc,ay as ic,az as sn,aA as oc,aB as ac,aC as sc,aD as lc,aE as qr,aF as Er,aG as Fi,aH as on,aI as zs,aJ as Ui,aK as yn,aL as Ko,aM as an,aN as bn,aO as Wr,aP as uc,aQ as cc,aR as dc,aS as fc,aT as Bs,aU as Fs,aV as Ar,aW as Us,aX as mo,aY as Mr,aZ as $s,a_ as pc,n as Ir,a$ as hc,b0 as $i,b1 as js,b2 as mc,b3 as Fn,b4 as Vs,b5 as Rt,b6 as $t,b7 as Vn,b8 as gc,b9 as vc,ba as yc,bb as bc,bc as xc,bd as go,be as wc,bf as kc,bg as Tc,bh as Yr,bi as _c,bj as Hs,bk as Ec,bl as Ac,bm as Mc,bn as Ic,bo as Sc,bp as Xr,bq as Cc,br as Rc,bs as Oc,bt as Go,bu as qo,bv as Wo,bw as Yo,bx as Pc,by as Lc,bz as Dc,bA as Nc,bB as zc,bC as Bc,bD as Fc,F as ln,bE as Uc,bF as $c,bG as yr,bH as jc,bI as Vc,bJ as vo,bK as Nr,bL as Xo,bM as Hc,bN as Et,bO as Gn,bP as Kc,bQ as Gc,bR as qc,bS as Wc,bT as Yc,bU as Ks,bV as Xc,bW as Qc,bX as Zc,bY as Jc,bZ as yo,b_ as Qo,g as ed,b$ as td,c0 as nd,c1 as ji,s as wn,c2 as rd,c3 as id,c4 as od,c5 as Gs,c6 as qs,c7 as ad,c8 as Qr}from"./index-CNzZZkJC.js";import{u as Zr}from"./queue-BVxfxn-s.js";import{_ as zr}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{d as Zo}from"./index-DSsTE9Un.js";const Dt="0px",Br=we({__name:"TransitionVertical",props:{duration:{default:250},easingEnter:{default:"ease-in-out"},easingLeave:{default:"ease-in-out"},opacityClosed:{default:0},opacityOpened:{default:1}},setup(e){const t=e;function n(l){return{height:l.style.height,width:l.style.width,position:l.style.position,visibility:l.style.visibility,overflow:l.style.overflow,paddingTop:l.style.paddingTop,paddingBottom:l.style.paddingBottom,borderTopWidth:l.style.borderTopWidth,borderBottomWidth:l.style.borderBottomWidth,marginTop:l.style.marginTop,marginBottom:l.style.marginBottom}}function r(l,u){const{width:c}=getComputedStyle(l);l.style.width=c,l.style.position="absolute",l.style.visibility="hidden",l.style.height="";const{height:d}=getComputedStyle(l);return l.style.width=u.width,l.style.position=u.position,l.style.visibility=u.visibility,l.style.height=Dt,l.style.overflow="hidden",u.height&&u.height!==Dt?u.height:d}function i(l,u,c,d,f){const p=l.animate(d,f);l.style.height=u.height,p.onfinish=()=>{l.style.overflow=u.overflow,c()}}function o(l,u){return[{height:Dt,opacity:t.opacityClosed,paddingTop:Dt,paddingBottom:Dt,borderTopWidth:Dt,borderBottomWidth:Dt,marginTop:Dt,marginBottom:Dt},{height:l,opacity:t.opacityOpened,paddingTop:u.paddingTop,paddingBottom:u.paddingBottom,borderTopWidth:u.borderTopWidth,borderBottomWidth:u.borderBottomWidth,marginTop:u.marginTop,marginBottom:u.marginBottom}]}function a(l,u){const c=l,d=n(c),f=r(c,d),p=o(f,d),h={duration:t.duration,easing:t.easingEnter};i(c,d,u,p,h)}function s(l,u){const c=l,d=n(c),{height:f}=getComputedStyle(c);c.style.height=f,c.style.overflow="hidden";const p=o(f,d).reverse(),h={duration:t.duration,easing:t.easingLeave};i(c,d,u,p,h)}return(l,u)=>(G(),Ve(kr,{css:!1,onEnter:a,onLeave:s},{default:ge(()=>[He(l.$slots,"default")]),_:3}))}}),sd={op50:""},Sr=we({__name:"Collapsable",props:Ts({default:{type:Boolean},label:null},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=e,n=_s(e,"modelValue");St(()=>{t.default!=null&&(n.value=!!t.default)});function r(i){return n.value=i,i}return(i,o)=>(G(),te("div",null,[He(i.$slots,"trigger",Ni(Es({visible:n.value,setVisible:r})),()=>[O("button",{sticky:"","top-0":"","z-10":"",flex:"","items-center":"","justify-between":"",px2:"",py1:"","text-sm":"","backdrop-blur-xl":"",onClick:o[0]||(o[0]=a=>n.value=!n.value)},[O("span",null,ae(t.label??"Collapsable"),1),o[1]||(o[1]=zi()),O("span",sd,ae(n.value?"▲":"▼"),1)])]),he(Br,null,{default:ge(()=>[n.value?He(i.$slots,"default",Ni(Ft({key:0},{visible:n.value,setVisible:r}))):Ge("",!0)]),_:3})]))}}),ld=we({__name:"Canvas",props:{width:null,height:null},setup(e){const t=e,n=j(),r=j(),i=j();async function o(s){Pi.registerTicker(ys),Oi.add(vs),r.value=new _u({width:t.width,height:t.height,backgroundAlpha:0}),i.value=r.value.view,i.value.style.objectFit="contain",s.appendChild(r.value.view)}function a(){var s;r.value&&r.value.renderer.resize(t.width,t.height),(s=r.value)!=null&&s.view&&(r.value.view.width=t.width,r.value.view.height=t.height)}return Se([()=>t.width,()=>t.height],()=>a()),Tt(async()=>n.value&&await o(n.value)),yt(()=>{var s;return(s=r.value)==null?void 0:s.destroy()}),(s,l)=>(G(),te("div",{ref_key:"containerRef",ref:n,"h-full":"","w-full":""},[He(s.$slots,"default",{app:r.value})],512))}});function Jo(e,t,n){return(1-n)*e+n*t}function rn(e,t){return e+Math.random()*(t-e)}async function*ud(e,t){const n=e.getReader();try{for(;;){const{done:r,value:i}=await n.read();if(r)return;yield t(i)}}finally{n.releaseLock()}}function cd(){let e=-1,t,n=-1;function r(i,o){(o>=e||oi**1.2).map(i=>i*1.2).reduce((i,o)=>i+o,0)/t.length/100}function fd(e){const t=new Uint8Array(e.frequencyBinCount);e.getByteFrequencyData(t);const n=[];for(let u=0;u<700;u+=80)n.push(t[u]);const r=t.map(u=>u**1.5),i=Math.min(...r),a=Math.max(...r)-i;let s;return a===0?s=r.map(()=>0):s=r.map(u=>(u-i)/a),s.reduce((u,c)=>u+c,0)/t.length}function pd(e,t="linear"){switch(t){case"linear":return dd(e);case"minmax":return fd(e)}}const Ws=Hn("AudioContext",()=>({audioContext:new AudioContext,calculateVolume:pd})),hd=Hn("SpeakingStore",()=>{const n=j(0),r=j(!1),i=Me(()=>r.value?(30+70*n.value)/100:30);return{mouthOpenSize:n,nowSpeaking:r,nowSpeakingAvatarBorderOpacity:i}});function er(e,t,n){return t+n<0||t+n>=e.length-1?"":e[t+n]}function md(e){let t="literal",n="";return{async consume(r){var i,o,a;for(let s=0;s"?(l+=er(r,s,1),u="literal",s++):l==="<"?u="special":l===">"&&(u="literal"),t==="literal"&&u==="special"?n!==""&&(await((i=e.onLiteral)==null?void 0:i.call(e,n)),n=""):t==="special"&&u==="literal"&&n!==""&&(n+=l,await((o=e.onSpecial)==null?void 0:o.call(e,n)),n=""),t==="literal"&&u==="literal"?(await((a=e.onLiteral)==null?void 0:a.call(e,l)),n=""):t==="special"&&u==="literal"?n="":n+=l,t=u}},async end(){var r,i;n!==""&&(t==="literal"?await((r=e.onLiteral)==null?void 0:r.call(e,n)):n.endsWith("|>")&&await((i=e.onSpecial)==null?void 0:i.call(e,n)))}}}function gd(e,t){return{role:"system",content:[e,Eu.map(n=>`- ${n}`).join(` +`),t].join(` + +`)}}var Jr=class extends Error{constructor(n,r){super(n);Kr(this,"response");this.name="XSAIError",this.response=r}},vd=e=>e.replace(/[A-Z]/g,t=>`_${t.toLowerCase()}`),br=e=>Object.fromEntries(Object.entries(e).map(([t,n])=>[vd(t),n])),Ys=e=>Object.fromEntries(Object.entries(e).filter(([,t])=>t!==void 0)),Xs=e=>JSON.stringify(br(Ys({...e,abortSignal:void 0,apiKey:void 0,baseURL:void 0,fetch:void 0,headers:void 0}))),bo=(e,t)=>Ys({Authorization:t!==void 0?`Bearer ${t}`:void 0,...e}),xo=(e,t)=>{const n=t.toString();return new URL(e,n.endsWith("/")?n:`${n}/`)},wo=async e=>{if(!e.ok){const t=new Jr(`Remote sent ${e.status} response`,e);throw t.cause=new Error(await e.text()),t}if(!e.body)throw new Jr("Response body is empty from remote server",e);if(!(e.body instanceof ReadableStream)){const t=new Jr(`Expected Response body to be a ReadableStream, but got ${String(e.body)}`,e);throw t.cause=new Error(`Content-Type is ${e.headers.get("Content-Type")}`),t}return e},yd=async e=>wo(e).then(async t=>t.json()),bd=async e=>(e.fetch??globalThis.fetch)(xo("models",e.baseURL),{headers:bo({"Content-Type":"application/json",...e.headers},e.apiKey),signal:e.abortSignal}).then(yd).then(({data:t})=>t),xd=async e=>{var t;return(e.fetch??globalThis.fetch)(xo("chat/completions",e.baseURL),{body:Xs({...e,tools:(t=e.tools)==null?void 0:t.map(n=>({function:n.function,type:"function"}))}),headers:bo({"Content-Type":"application/json",...e.headers},e.apiKey),method:"POST",signal:e.abortSignal}).then(wo)},tr=class extends Error{constructor(t,n){super(t);Kr(this,"response");this.name="XSAIError",this.response=n}},ea="data:",wd=e=>{if(!e||!e.startsWith(ea))return[void 0,!1];const t=e.slice(ea.length),n=t.startsWith(" ")?t.slice(1):t;if(n==="[DONE]")return[void 0,!0];if(n.startsWith("{")&&n.includes('"error":'))throw new Error(`Error from server: ${n}`);return[JSON.parse(n),!1]},kd=async e=>{let t,n,r;const i=new ReadableStream({start(f){t=f}}),o=new ReadableStream({start(f){n=f}}),a=new ReadableStream({start(f){r=f}}),s=e.maxSteps??1,l=new TextDecoder,u=[],c=async f=>{var A,T,M;const p={choices:[],messages:structuredClone(f.messages),toolCalls:[],toolResults:[]},h={};let w="",y=!0;const x=(R,m)=>{if(R.endedToolCallIDs.has(m))return;const E=p.choices[R.index].message.tool_calls[m];try{E.function.parsed_arguments=JSON.parse(E.function.arguments)}catch(b){R.toolCallErrors[m]=b}R.endedToolCallIDs.add(m),R.currentToolID=null};if(await xd({...f,stream:!0}).then(async R=>R.body.pipeThrough(new TransformStream({transform:async(m,E)=>{const b=l.decode(m,{stream:!0});w+=b;const v=w.split(` +`);w=v.pop()??"";for(const g of v)try{const[_,S]=wd(g);if(S)break;_&&E.enqueue(_)}catch(_){E.error(_)}}})).pipeTo(new WritableStream({abort:m=>{t.error(m),n.error(m),r.error(m)},write:async m=>{var ee,I,ve;(ee=f.onChunk)==null||ee.call(f,m),t.enqueue(m);const E=m.choices[0];if(!E)throw new tr("no choice found");E.delta.tool_calls&&(y=!1);const{delta:b,finish_reason:v,index:g,..._}=E,S=(I=p.choices)[g]??(I[g]={finish_reason:v,index:g,message:{role:"assistant"}});if(v!==void 0){if(S.finish_reason=v,v==="length")throw new tr("length exceeded");if(v==="content_filter")throw new tr("content filter")}Object.assign(S,_);const{content:z,refusal:V,tool_calls:B,...F}=b,Z=S.message;Object.assign(Z,F),V!==void 0&&(Z.refusal=(Z.refusal||"")+V),z!==void 0&&(Z.content=(Z.content||"")+z,y&&(r==null||r.enqueue(z)));for(const{function:Ce,id:P,type:ye}of B||[]){Z.tool_calls??(Z.tool_calls={});const Ie=(ve=Z.tool_calls)[P]??(ve[P]={function:{arguments:"",name:Ce.name,parsed_arguments:{}},id:P,type:ye});Ie.function.arguments+=Ce.arguments}const J=h[g]??(h[g]={calledToolCallIDs:new Set,currentToolID:null,endedToolCallIDs:new Set,index:g,toolCallErrors:{},toolCallResults:{}});v&&J.currentToolID!==null&&x(J,J.currentToolID);for(const Ce of b.tool_calls||[])J.currentToolID!==null&&J.currentToolID!==Ce.id&&x(J,J.currentToolID),J.calledToolCallIDs.add(Ce.id),J.currentToolID=Ce.id}}))),p.messages.push({content:((A=p.choices[0])==null?void 0:A.message.content)??"",refusal:(T=p.choices[0])==null?void 0:T.message.refusal,role:"assistant"}),await Promise.allSettled(p.choices.map(async R=>{const m=h[R.index];return Promise.allSettled([...m.endedToolCallIDs].map(async E=>{var g;const b=R.message.tool_calls[E];if(p.toolCalls.push({args:b.function.arguments,toolCallId:E,toolCallType:"function",toolName:b.function.name}),m.toolCallResults[E])return;const v=(g=f.tools)==null?void 0:g.find(_=>_.function.name===b.function.name);if(v)try{const _=await v.execute(b.function.parsed_arguments,{abortSignal:f.abortSignal,messages:f.messages,toolCallId:E});m.toolCallResults[E]=_,p.messages.push({content:_,role:"tool",tool_call_id:E}),p.toolResults.push({args:b.function.parsed_arguments,result:_,toolCallId:E,toolName:b.function.name})}catch(_){m.toolCallErrors[E]=_}else m.toolCallErrors[E]=new tr(`tool ${b.function.name} not found`)}))})),u.push(p),n.enqueue(p),(M=f.onStepFinish)==null||M.call(f,p),!y)return async()=>c({...f,messages:p.messages})};return(async()=>{var f;for(let p=1,h=await c(e);typeof h=="function"&&p{t.error(f),n.error(f),r.error(f)}),Promise.resolve({chunkStream:i,stepStream:o,textStream:a})};const Td=Hn("llm",()=>{async function e(n,r,i,o){return await kd({baseURL:n.endsWith("/")?n:`${n}/`,apiKey:r,model:i,messages:o,streamOptions:{usage:!0}})}async function t(n,r){if(n==="")return[];try{return await bd({baseURL:n.endsWith("/")?n:`${n}/`,apiKey:r})}catch(i){if(String(i).includes("Failed to construct 'URL': Invalid URL"))return[];throw i}}return{models:t,stream:e}}),Qs=Hn("providers",()=>{const e=Gr("settings/credentials/providers",{}),t=Gr("settings/credentials/coreControllerProvider","openai"),n=Gr("settings/credentials/audioSynthesisProvider","elevenlabs");return{providers:e,coreControllerProvider:t,audioSynthesisProvider:n}}),Jt=Hn("chat",()=>{const{stream:e}=Td(),{t}=An(),{providers:n}=_t(Qs()),r=j(!1),i=j([]),o=j([]),a=j([]),s=j([]),l=j([]),u=j([]),c=j([]),d=j([]);function f(E){i.value.push(E)}function p(E){o.value.push(E)}function h(E){a.value.push(E)}function w(E){s.value.push(E)}function y(E){l.value.push(E)}function x(E){u.value.push(E)}function A(E){c.value.push(E)}function T(E){d.value.push(E)}const M=j([gd(t("prompt.prefix"),t("prompt.suffix"))]),R=j({role:"assistant",content:""});async function m(E,b){var v,g,_;try{if(r.value=!0,!E)return;for(const ee of i.value)await ee(E);const{baseUrl:S=((v=n.value["openrouter-ai"])==null?void 0:v.baseUrl)||"",apiKey:z=((g=n.value["openrouter-ai"])==null?void 0:g.apiKey)||"",model:V=((_=n.value["openrouter-ai"])==null?void 0:_.model)||{id:"openai/gpt-4o-mini"}}=b??{};R.value={role:"assistant",content:""},M.value.push({role:"user",content:E}),M.value.push(R.value);const B=M.value.slice(0,M.value.length-1).map(ee=>Ku(ee));for(const ee of o.value)await ee(E);for(const ee of a.value)await ee(E);const F=await e(S,z,V.id,B);for(const ee of s.value)await ee(E);let Z="";const J=md({onLiteral:async ee=>{for(const I of l.value)await I(ee);R.value.content+=ee},onSpecial:async ee=>{for(const I of u.value)await I(ee)}});for await(const ee of ud(F.textStream,async I=>I))Z+=ee,await J.consume(ee);await J.end();for(const ee of c.value)await ee();for(const ee of d.value)await ee(Z);console.debug("LLM output:",Z)}finally{r.value=!1}}return{sending:r,messages:M,streamingMessage:R,send:m,onBeforeMessageComposed:f,onAfterMessageComposed:p,onBeforeSend:h,onAfterSend:w,onTokenLiteral:y,onTokenSpecial:x,onStreamEnd:A,onAssistantResponseEnd:T}}),_d=we({__name:"Model",props:{app:null,mouthOpenSize:{default:0},width:null,height:null,motion:{default:""},paused:{type:Boolean}},setup(e){const t=e,n=Bi(()=>t.app),r=Bi(()=>t.paused),i=j(),o=j(0),a=j(0),s=Me(()=>Math.max(0,Math.min(100,t.mouthOpenSize))),l=lo(),u=As(Ms),c=Me(()=>u.between("sm","md").value||u.smaller("sm").value),d=cd();function f(){return i.value.internalModel.coreModel}function p(R){if(!R.value)return;let m=2.2;c.value&&(m=2.2);const E=t.height*.95/a.value*m,b=t.width*.95/o.value*m,v=Math.min(E,b);R.value.scale.set(v,v)}const{live2dModel:h,loadingLive2dModel:w}=_t(Mn());async function y(R){var _;if(!n.value)return;i.value&&(n.value.stage.removeChild(i.value),i.value.destroy(),i.value=void 0),w.value=!0;const m=new Pi;R instanceof Blob?await Vo.setupLive2DModel(m,[R]):await Vo.setupLive2DModel(m,R),i.value=m,n.value.stage.addChild(i.value),o.value=i.value.width,a.value=i.value.height,i.value.x=t.width/2,i.value.y=t.height,i.value.rotation=Math.PI,i.value.skew.x=Math.PI,i.value.anchor.set(.5,.5),p(i),i.value.on("hit",S=>{i.value&&S.includes("body")&&i.value.motion("tap_body")});const E=i.value.internalModel,b=E.coreModel,v=E.motionManager;b.setParameterValueById("ParamMouthOpenY",s.value),v.groups.idle&&((_=v.motionGroups[v.groups.idle])==null||_.forEach(S=>{S._motionData.curves.forEach(z=>{(z.id==="ParamEyeBallX"||z.id==="ParamEyeBallY")&&(z.id=`_${z.id}`)})}));const g=v.update;v.update=function(S,z){return g==null||g.call(this,S,z),v.state.currentGroup===v.groups.idle&&d.update(E,z),!0},await jo.setItem("live2dModel",R),w.value=!1}async function x(){if(!n.value)return;Pi.registerTicker(ys),Oi.add(vs),Oi.add(Au);const R=await jo.getItem("live2dModel");if(R){await y(R);return}await y(h.value)}async function A(R){await i.value.motion(R,void 0,Mu.FORCE)}const T=Gu(()=>{i.value&&(i.value.x=t.width/2,i.value.y=t.height,p(i))},100);function M(){i.value&&(i.value.filters=[new Iu({color:l.value?10053247:14662098,alpha:.3,blur:0,distance:20,rotation:45})])}return Se([()=>t.width,()=>t.height],()=>T()),Se(l,M,{immediate:!0}),Se(i,M),Se(s,R=>f().setParameterValueById("ParamMouthOpenY",R)),Se(n,x),Se(()=>t.motion,()=>t.motion&&A(t.motion)),Se(r,R=>{var m,E;R?(m=n.value)==null||m.stop():(E=n.value)==null||E.start()}),qu(h,R=>{R&&y(R)},{debounce:1e3}),Tt(M),yt(()=>{var R;i.value&&((R=n.value)==null||R.stage.removeChild(i.value))}),(R,m)=>He(R.$slots,"default")}}),Zs=we({__name:"Screen",setup(e){const t=j(),n=As(Ms),{width:r,height:i}=Wu(),o=uo(t,{immediate:!0,windowResize:!0,reset:!0}),a=Me(()=>n.between("sm","md").value||n.smaller("sm").value),s=Me(()=>n.between("md","lg").value),l=Me(()=>n.greaterOrEqual("lg").value),u=Me(()=>l.value?o.width.value:a.value||s.value?r.value-16:o.width.value),c=j(0);return Se([r,i,t],()=>{var f,p;const d=(p=(f=t.value)==null?void 0:f.parentElement)==null?void 0:p.getBoundingClientRect();l.value||a.value||s.value?c.value=(d==null?void 0:d.height)||0:c.value=600}),Se([o.width,o.height],()=>{l.value||a.value||s.value?c.value=o.height.value:c.value=600}),Tt(async()=>{t.value&&o.update()}),(d,f)=>(G(),te("div",{ref_key:"containerRef",ref:t,"h-full":"","w-full":""},[He(d.$slots,"default",{width:u.value,height:c.value})],512))}}),Ed={absolute:"",bottom:"3",right:"3"},Ad={flex:"~ row","cursor-pointer":""},Md=["checked","aria-checked"],Id={key:0,"min-w":"50vw",z:"(G(),Ve(Zs,{relative:""},{default:ge(({width:o,height:a})=>[he(ld,{width:o,height:a},{default:ge(({app:s})=>[he(_d,{app:s,"mouth-open-size":e.mouthOpenSize,width:o,height:a,motion:t.value,paused:e.paused},null,8,["app","mouth-open-size","width","height","motion","paused"])]),_:2},1032,["width","height"]),O("div",Ed,[O("div",Ad,[O("label",{class:It([n.value?"bg-zinc-300 dark:bg-zinc-200":"bg-zinc-100 dark:bg-zinc-700"]),transition:"all ease-in-out duration-500",text:"lg zinc-500 dark:zinc-400","m-1":"","h-fit":"","w-fit":"","cursor-pointer":"","appearance-none":"","gap-1":"","rounded-lg":"","rounded-md":"","border-none":"","p-2":"","outline-none":""},[wt(O("input",{"onUpdate:modelValue":i[0]||(i[0]=s=>n.value=s),checked:n.value,"aria-checked":n.value,name:"showLive2DViewerInspector",type:"checkbox",hidden:"","appearance-none":"","outline-none":""},null,8,Md),[[Pr,n.value]]),i[8]||(i[8]=O("div",{"select-none":""},[O("div",{"i-solar:bug-bold-duotone":""})],-1))],2)]),he(Br,null,{default:ge(()=>[n.value?(G(),te("div",Id,[O("div",Sd,[O("div",Cd,[O("span",null,ae(r.$t("stage.viewers.debug-menu.emotions")),1)]),O("div",Rd,[O("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:i[1]||(i[1]=s=>t.value=N(Su))},ae(r.$t("stage.viewers.debug-menu.emotions-btn.surprised")),1),O("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:i[2]||(i[2]=s=>t.value=N(Cu))},ae(r.$t("stage.viewers.debug-menu.emotions-btn.sad")),1),O("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:i[3]||(i[3]=s=>t.value=N(xs))},ae(r.$t("stage.viewers.debug-menu.emotions-btn.angry")),1),O("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:i[4]||(i[4]=s=>t.value=N(ws))},ae(r.$t("stage.viewers.debug-menu.emotions-btn.happy")),1),O("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:i[5]||(i[5]=s=>t.value=N(Ru))},ae(r.$t("stage.viewers.debug-menu.emotions-btn.awkward")),1),O("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:i[6]||(i[6]=s=>t.value=N(Ou))},ae(r.$t("stage.viewers.debug-menu.emotions-btn.question")),1),O("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:i[7]||(i[7]=s=>t.value=N(Li))},ae(r.$t("stage.viewers.debug-menu.emotions-btn.think")),1)])])])):Ge("",!0)]),_:1})])]),_:1}))}});var Pd=Object.defineProperty,Ld=(e,t,n)=>t in e?Pd(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Dd=(e,t,n)=>Ld(e,t+"",n);function Nd(e){return nc()?(rc(e),!0):!1}function Js(e){return typeof e=="function"?e():N(e)}const zd=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Bd=Object.prototype.toString,Fd=e=>Bd.call(e)==="[object Object]",Ud=()=>{},$d=zd?window:void 0;function jd(e){var t;const n=Js(e);return(t=n==null?void 0:n.$el)!=null?t:n}function ei(...e){let t,n,r,i;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,i]=e,t=$d):[t,n,r,i]=e,!t)return Ud;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const o=[],a=()=>{o.forEach(c=>c()),o.length=0},s=(c,d,f,p)=>(c.addEventListener(d,f,p),()=>c.removeEventListener(d,f,p)),l=Se(()=>[jd(t),Js(i)],([c,d])=>{if(a(),!c)return;const f=Fd(d)?{...d}:d;o.push(...n.flatMap(p=>r.map(h=>s(c,p,h,f))))},{immediate:!0,flush:"post"}),u=()=>{l(),a()};return Nd(u),u}function el(e,t,n,r){const i=class extends Kn{constructor(o={}){const a=Object.entries(e);super({uniforms:a.reduce((s,[l,u])=>{const c=po.clone({[l]:{value:u}});return{...s,...c}},{}),vertexShader:t,fragmentShader:n}),Dd(this,"key",""),a.forEach(([s])=>Object.defineProperty(this,s,{get:()=>this.uniforms[s].value,set:l=>this.uniforms[s].value=l})),Object.assign(this,o)}};return i.key=un.generateUUID(),i}el({color:new tt("white"),scale:new Xe(1,1),imageBounds:new Xe(1,1),resolution:1024,map:null,zoom:1,radius:0,grayscale:0,opacity:1},` + varying vec2 vUv; + varying vec2 vPos; + void main() { + gl_Position = projectionMatrix * viewMatrix * modelMatrix * vec4(position, 1.); + vUv = uv; + vPos = position.xy; + } + `,` + // mostly from https://gist.github.com/statico/df64c5d167362ecf7b34fca0b1459a44 + varying vec2 vUv; + varying vec2 vPos; + uniform vec2 scale; + uniform vec2 imageBounds; + uniform float resolution; + uniform vec3 color; + uniform sampler2D map; + uniform float radius; + uniform float zoom; + uniform float grayscale; + uniform float opacity; + const vec3 luma = vec3(.299, 0.587, 0.114); + vec4 toGrayscale(vec4 color, float intensity) { + return vec4(mix(color.rgb, vec3(dot(color.rgb, luma)), intensity), color.a); + } + vec2 aspect(vec2 size) { + return size / min(size.x, size.y); + } + + const float PI = 3.14159265; + + // from https://iquilezles.org/articles/distfunctions + float udRoundBox( vec2 p, vec2 b, float r ) { + return length(max(abs(p)-b+r,0.0))-r; + } + + void main() { + vec2 s = aspect(scale); + vec2 i = aspect(imageBounds); + float rs = s.x / s.y; + float ri = i.x / i.y; + vec2 new = rs < ri ? vec2(i.x * s.y / i.y, s.y) : vec2(s.x, i.y * s.x / i.x); + vec2 offset = (rs < ri ? vec2((new.x - s.x) / 2.0, 0.0) : vec2(0.0, (new.y - s.y) / 2.0)) / new; + vec2 uv = vUv * s / new + offset; + vec2 zUv = (uv - vec2(0.5, 0.5)) / zoom + vec2(0.5, 0.5); + + vec2 res = vec2(scale * resolution); + vec2 halfRes = 0.5 * res; + float b = udRoundBox(vUv.xy * res - halfRes, halfRes, resolution * radius); + vec3 a = mix(vec3(1.0,0.0,0.0), vec3(0.0,0.0,0.0), smoothstep(0.0, 1.0, b)); + gl_FragColor = toGrayscale(texture2D(map, zUv) * vec4(color, opacity * a), grayscale); + + #include + #include + } + `);const ko=parseInt(ic.replace(/\D+/g,""));var Vd=Object.defineProperty,Hd=(e,t,n)=>t in e?Vd(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Kd=(e,t,n)=>(Hd(e,t+"",n),n);async function ta(e){const t=await e.arrayBuffer(),n=btoa(String.fromCharCode(...new Uint8Array(t)));return`data:${e.type||""};base64,${n}`}let nr,ti,pn,rr;function ni(e,t=1/0,n=null){ti||(ti=new Ls(2,2,1,1)),pn||(pn=new Kn({uniforms:{blitTexture:new dc(e)},vertexShader:` + varying vec2 vUv; + void main(){ + vUv = uv; + gl_Position = vec4(position.xy * 1.0,0.,.999999); + } + `,fragmentShader:` + uniform sampler2D blitTexture; + varying vec2 vUv; + + void main(){ + gl_FragColor = vec4(vUv.xy, 0, 1); + + #ifdef IS_SRGB + gl_FragColor = LinearTosRGB( texture2D( blitTexture, vUv) ); + #else + gl_FragColor = texture2D( blitTexture, vUv); + #endif + } + `})),pn.uniforms.blitTexture.value=e,pn.defines.IS_SRGB="colorSpace"in e?e.colorSpace==="srgb":e.encoding===3001,pn.needsUpdate=!0,rr||(rr=new sn(ti,pn),rr.frustrumCulled=!1);const r=new Xt,i=new Ui;i.add(rr),n||(n=nr=new fc({antialias:!1})),n.setSize(Math.min(e.image.width,t),Math.min(e.image.height,t)),n.clear(),n.render(i,r);const o=new Er(n.domElement);return o.minFilter=e.minFilter,o.magFilter=e.magFilter,o.wrapS=e.wrapS,o.wrapT=e.wrapT,o.name=e.name,nr&&(nr.dispose(),nr=null),o}const na={POSITION:["byte","byte normalized","unsigned byte","unsigned byte normalized","short","short normalized","unsigned short","unsigned short normalized"],NORMAL:["byte normalized","short normalized"],TANGENT:["byte normalized","short normalized"],TEXCOORD:["byte","byte normalized","unsigned byte","short","short normalized","unsigned short"]};class tl{constructor(){this.pluginCallbacks=[],this.register(function(t){return new tf(t)}),this.register(function(t){return new nf(t)}),this.register(function(t){return new af(t)}),this.register(function(t){return new sf(t)}),this.register(function(t){return new lf(t)}),this.register(function(t){return new uf(t)}),this.register(function(t){return new rf(t)}),this.register(function(t){return new of(t)}),this.register(function(t){return new cf(t)}),this.register(function(t){return new df(t)}),this.register(function(t){return new ff(t)})}register(t){return this.pluginCallbacks.indexOf(t)===-1&&this.pluginCallbacks.push(t),this}unregister(t){return this.pluginCallbacks.indexOf(t)!==-1&&this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(t),1),this}parse(t,n,r,i){const o=new ef,a=[];for(let s=0,l=this.pluginCallbacks.length;se.times[e.times.length-1]){if(Math.abs(e.times[e.times.length-1]-t)<.001)return e.times.length-1;r[r.length-1]=t,r.set(e.times,0),i.set(e.values,0),i.set(o.evaluate(t),e.values.length),a=r.length-1}else for(let s=0;st){r.set(e.times.slice(0,s+1),0),r[s+1]=t,r.set(e.times.slice(s+1),s+2),i.set(e.values.slice(0,(s+1)*n),0),i.set(o.evaluate(t),(s+1)*n),i.set(e.values.slice((s+1)*n),(s+2)*n),a=s+1;break}}return e.times=r,e.values=i,a},mergeMorphTargetTracks:function(e,t){const n=[],r={},i=e.tracks;for(let o=0;o4?a=e.array[i*e.itemSize+o]:(o===0?a=e.getX(i):o===1?a=e.getY(i):o===2?a=e.getZ(i):o===3&&(a=e.getW(i)),e.normalized===!0&&(a=un.normalize(a,e.array))),r.min[o]=Math.min(r.min[o],a),r.max[o]=Math.max(r.max[o],a)}return r}function nl(e){return Math.ceil(e/4)*4}function ii(e,t=0){const n=nl(e.byteLength);if(n!==e.byteLength){const r=new Uint8Array(n);if(r.set(new Uint8Array(e)),t!==0)for(let i=e.byteLength;i"u"&&typeof OffscreenCanvas<"u"?new OffscreenCanvas(1,1):document.createElement("canvas")}function sa(e,t){if(e.toBlob!==void 0)return new Promise(r=>e.toBlob(r,t));let n;return t==="image/jpeg"?n=.92:t==="image/webp"&&(n=.8),e.convertToBlob({type:t,quality:n})}class ef{constructor(){this.plugins=[],this.options={},this.pending=[],this.buffers=[],this.byteOffset=0,this.buffers=[],this.nodeMap=new Map,this.skins=[],this.extensionsUsed={},this.extensionsRequired={},this.uids=new Map,this.uid=0,this.json={asset:{version:"2.0",generator:"THREE.GLTFExporter"}},this.cache={meshes:new Map,attributes:new Map,attributesNormalized:new Map,materials:new Map,textures:new Map,images:new Map}}setPlugins(t){this.plugins=t}async write(t,n,r={}){this.options=Object.assign({binary:!1,trs:!1,onlyVisible:!0,maxTextureSize:1/0,animations:[],includeCustomExtensions:!1},r),this.options.animations.length>0&&(this.options.trs=!0),this.processInput(t),await Promise.all(this.pending);const i=this,o=i.buffers,a=i.json;r=i.options;const s=i.extensionsUsed,l=i.extensionsRequired,u=new Blob(o,{type:"application/octet-stream"}),c=Object.keys(s),d=Object.keys(l);c.length>0&&(a.extensionsUsed=c),d.length>0&&(a.extensionsRequired=d),a.buffers&&a.buffers.length>0&&(a.buffers[0].byteLength=u.size),r.binary===!0?u.arrayBuffer().then(f=>{const p=ii(f),h=new DataView(new ArrayBuffer(oa));h.setUint32(0,p.byteLength,!0),h.setUint32(4,Xd,!0);const w=ii(Qd(JSON.stringify(a)),32),y=new DataView(new ArrayBuffer(oa));y.setUint32(0,w.byteLength,!0),y.setUint32(4,Yd,!0);const x=new ArrayBuffer(ia),A=new DataView(x);A.setUint32(0,qd,!0),A.setUint32(4,Wd,!0);const T=ia+y.byteLength+w.byteLength+h.byteLength+p.byteLength;A.setUint32(8,T,!0),new Blob([x,y,w,h,p],{type:"application/octet-stream"}).arrayBuffer().then(n)}):a.buffers&&a.buffers.length>0?ta(u).then(f=>{a.buffers[0].uri=f,n(a)}):n(a)}serializeUserData(t,n){if(Object.keys(t.userData).length===0)return;const r=this.options,i=this.extensionsUsed;try{const o=JSON.parse(JSON.stringify(t.userData));if(r.includeCustomExtensions&&o.gltfExtensions){n.extensions===void 0&&(n.extensions={});for(const a in o.gltfExtensions)n.extensions[a]=o.gltfExtensions[a],i[a]=!0;delete o.gltfExtensions}Object.keys(o).length>0&&(n.extras=o)}catch(o){console.warn("THREE.GLTFExporter: userData of '"+t.name+"' won't be serialized because of JSON.stringify error - "+o.message)}}getUID(t,n=!1){if(this.uids.has(t)===!1){const r=new Map;r.set(!0,this.uid++),r.set(!1,this.uid++),this.uids.set(t,r)}return this.uids.get(t).get(n)}isNormalizedNormalAttribute(t){if(this.cache.attributesNormalized.has(t))return!1;const n=new de;for(let r=0,i=t.count;r5e-4)return!1;return!0}createNormalizedNormalAttribute(t){const n=this.cache;if(n.attributesNormalized.has(t))return n.attributesNormalized.get(t);const r=t.clone(),i=new de;for(let o=0,a=r.count;o4?h=t.array[f*t.itemSize+p]:(p===0?h=t.getX(f):p===1?h=t.getY(f):p===2?h=t.getZ(f):p===3&&(h=t.getW(f)),t.normalized===!0&&(h=un.normalize(h,t.array))),n===_e.FLOAT?u.setFloat32(c,h,!0):n===_e.INT?u.setInt32(c,h,!0):n===_e.UNSIGNED_INT?u.setUint32(c,h,!0):n===_e.SHORT?u.setInt16(c,h,!0):n===_e.UNSIGNED_SHORT?u.setUint16(c,h,!0):n===_e.BYTE?u.setInt8(c,h):n===_e.UNSIGNED_BYTE&&u.setUint8(c,h),c+=s}const d={buffer:this.processBuffer(u.buffer),byteOffset:this.byteOffset,byteLength:l};return o!==void 0&&(d.target=o),o===_e.ARRAY_BUFFER&&(d.byteStride=t.itemSize*s),this.byteOffset+=l,a.bufferViews.push(d),{id:a.bufferViews.length-1,byteLength:0}}processBufferViewImage(t){const n=this,r=n.json;return r.bufferViews||(r.bufferViews=[]),t.arrayBuffer().then(i=>{const o=ii(i),a={buffer:n.processBuffer(o),byteOffset:n.byteOffset,byteLength:o.byteLength};return n.byteOffset+=o.byteLength,r.bufferViews.push(a)-1})}processAccessor(t,n,r,i){const o=this.json,a={1:"SCALAR",2:"VEC2",3:"VEC3",4:"VEC4",9:"MAT3",16:"MAT4"};let s;if(t.array.constructor===Float32Array)s=_e.FLOAT;else if(t.array.constructor===Int32Array)s=_e.INT;else if(t.array.constructor===Uint32Array)s=_e.UNSIGNED_INT;else if(t.array.constructor===Int16Array)s=_e.SHORT;else if(t.array.constructor===Uint16Array)s=_e.UNSIGNED_SHORT;else if(t.array.constructor===Int8Array)s=_e.BYTE;else if(t.array.constructor===Uint8Array)s=_e.UNSIGNED_BYTE;else throw new Error("THREE.GLTFExporter: Unsupported bufferAttribute component type: "+t.array.constructor.name);if(r===void 0&&(r=0),i===void 0&&(i=t.count),i===0)return null;const l=Jd(t,r,i);let u;n!==void 0&&(u=t===n.index?_e.ELEMENT_ARRAY_BUFFER:_e.ARRAY_BUFFER);const c=this.processBufferView(t,s,r,i,u),d={bufferView:c.id,byteOffset:c.byteOffset,componentType:s,count:i,max:l.max,min:l.min,type:a[t.itemSize]};return t.normalized===!0&&(d.normalized=!0),o.accessors||(o.accessors=[]),o.accessors.push(d)-1}processImage(t,n,r,i="image/png"){if(t!==null){const o=this,a=o.cache,s=o.json,l=o.options,u=o.pending;a.images.has(t)||a.images.set(t,{});const c=a.images.get(t),d=i+":flipY/"+r.toString();if(c[d]!==void 0)return c[d];s.images||(s.images=[]);const f={mimeType:i},p=aa();p.width=Math.min(t.width,l.maxTextureSize),p.height=Math.min(t.height,l.maxTextureSize);const h=p.getContext("2d");if(r===!0&&(h.translate(0,p.height),h.scale(1,-1)),t.data!==void 0){n!==Fi&&console.error("GLTFExporter: Only RGBAFormat is supported.",n),(t.width>l.maxTextureSize||t.height>l.maxTextureSize)&&console.warn("GLTFExporter: Image size is bigger than maxTextureSize",t);const y=new Uint8ClampedArray(t.height*t.width*4);for(let x=0;xo.processBufferViewImage(y)).then(y=>{f.bufferView=y})):p.toDataURL!==void 0?f.uri=p.toDataURL(i):u.push(sa(p,i).then(ta).then(y=>{f.uri=y}));const w=s.images.push(f)-1;return c[d]=w,w}else throw new Error("THREE.GLTFExporter: No valid image data found. Unable to process texture.")}processSampler(t){const n=this.json;n.samplers||(n.samplers=[]);const r={magFilter:gt[t.magFilter],minFilter:gt[t.minFilter],wrapS:gt[t.wrapS],wrapT:gt[t.wrapT]};return n.samplers.push(r)-1}processTexture(t){const n=this.options,r=this.cache,i=this.json;if(r.textures.has(t))return r.textures.get(t);i.textures||(i.textures=[]),t instanceof qr&&(t=ni(t,n.maxTextureSize));let o=t.userData.mimeType;o==="image/webp"&&(o="image/png");const a={sampler:this.processSampler(t),source:this.processImage(t.image,t.format,t.flipY,o)};t.name&&(a.name=t.name),this._invokeAll(function(l){l.writeTexture&&l.writeTexture(t,a)});const s=i.textures.push(a)-1;return r.textures.set(t,s),s}processMaterial(t){const n=this.cache,r=this.json;if(n.materials.has(t))return n.materials.get(t);if(t.isShaderMaterial)return console.warn("GLTFExporter: THREE.ShaderMaterial not supported."),null;r.materials||(r.materials=[]);const i={pbrMetallicRoughness:{}};t.isMeshStandardMaterial!==!0&&t.isMeshBasicMaterial!==!0&&console.warn("GLTFExporter: Use MeshStandardMaterial or MeshBasicMaterial for best results.");const o=t.color.toArray().concat([t.opacity]);if(Bn(o,[1,1,1,1])||(i.pbrMetallicRoughness.baseColorFactor=o),t.isMeshStandardMaterial?(i.pbrMetallicRoughness.metallicFactor=t.metalness,i.pbrMetallicRoughness.roughnessFactor=t.roughness):(i.pbrMetallicRoughness.metallicFactor=.5,i.pbrMetallicRoughness.roughnessFactor=.5),t.metalnessMap||t.roughnessMap){const s=this.buildMetalRoughTexture(t.metalnessMap,t.roughnessMap),l={index:this.processTexture(s),channel:s.channel};this.applyTextureTransform(l,s),i.pbrMetallicRoughness.metallicRoughnessTexture=l}if(t.map){const s={index:this.processTexture(t.map),texCoord:t.map.channel};this.applyTextureTransform(s,t.map),i.pbrMetallicRoughness.baseColorTexture=s}if(t.emissive){const s=t.emissive;if(Math.max(s.r,s.g,s.b)>0&&(i.emissiveFactor=t.emissive.toArray()),t.emissiveMap){const l={index:this.processTexture(t.emissiveMap),texCoord:t.emissiveMap.channel};this.applyTextureTransform(l,t.emissiveMap),i.emissiveTexture=l}}if(t.normalMap){const s={index:this.processTexture(t.normalMap),texCoord:t.normalMap.channel};t.normalScale&&t.normalScale.x!==1&&(s.scale=t.normalScale.x),this.applyTextureTransform(s,t.normalMap),i.normalTexture=s}if(t.aoMap){const s={index:this.processTexture(t.aoMap),texCoord:t.aoMap.channel};t.aoMapIntensity!==1&&(s.strength=t.aoMapIntensity),this.applyTextureTransform(s,t.aoMap),i.occlusionTexture=s}t.transparent?i.alphaMode="BLEND":t.alphaTest>0&&(i.alphaMode="MASK",i.alphaCutoff=t.alphaTest),t.side===Dr&&(i.doubleSided=!0),t.name!==""&&(i.name=t.name),this.serializeUserData(t,i),this._invokeAll(function(s){s.writeMaterial&&s.writeMaterial(t,i)});const a=r.materials.push(i)-1;return n.materials.set(t,a),a}processMesh(t){const n=this.cache,r=this.json,i=[t.geometry.uuid];if(Array.isArray(t.material))for(let T=0,M=t.material.length;T=152?{uv:"TEXCOORD_0",uv1:"TEXCOORD_1",uv2:"TEXCOORD_2",uv3:"TEXCOORD_3"}:{uv:"TEXCOORD_0",uv2:"TEXCOORD_1"},color:"COLOR_0",skinWeight:"WEIGHTS_0",skinIndex:"JOINTS_0"},p=a.getAttribute("normal");p!==void 0&&!this.isNormalizedNormalAttribute(p)&&(console.warn("THREE.GLTFExporter: Creating normalized normal attribute from the non-normalized one."),a.setAttribute("normal",this.createNormalizedNormalAttribute(p)));let h=null;for(let T in a.attributes){if(T.slice(0,5)==="morph")continue;const M=a.attributes[T];if(T=f[T]||T.toUpperCase(),/^(POSITION|NORMAL|TANGENT|TEXCOORD_\d+|COLOR_\d+|JOINTS_\d+|WEIGHTS_\d+)$/.test(T)||(T="_"+T),n.attributes.has(this.getUID(M))){u[T]=n.attributes.get(this.getUID(M));continue}h=null;const R=M.array;T==="JOINTS_0"&&!(R instanceof Uint16Array)&&!(R instanceof Uint8Array)&&(console.warn('GLTFExporter: Attribute "skinIndex" converted to type UNSIGNED_SHORT.'),h=new on(new Uint16Array(R),M.itemSize,M.normalized));const m=this.processAccessor(h||M,a);m!==null&&(T.startsWith("_")||this.detectMeshQuantization(T,M),u[T]=m,n.attributes.set(this.getUID(M),m))}if(p!==void 0&&a.setAttribute("normal",p),Object.keys(u).length===0)return null;if(t.morphTargetInfluences!==void 0&&t.morphTargetInfluences.length>0){const T=[],M=[],R={};if(t.morphTargetDictionary!==void 0)for(const m in t.morphTargetDictionary)R[t.morphTargetDictionary[m]]=m;for(let m=0;m0&&(l.extras={},l.extras.targetNames=M)}const w=Array.isArray(t.material);if(w&&a.groups.length===0)return null;const y=w?t.material:[t.material],x=w?a.groups:[{materialIndex:0,start:void 0,count:void 0}];for(let T=0,M=x.length;T0&&(R.targets=d),a.index!==null){let E=this.getUID(a.index);(x[T].start!==void 0||x[T].count!==void 0)&&(E+=":"+x[T].start+":"+x[T].count),n.attributes.has(E)?R.indices=n.attributes.get(E):(R.indices=this.processAccessor(a.index,a,x[T].start,x[T].count),n.attributes.set(E,R.indices)),R.indices===null&&delete R.indices}const m=this.processMaterial(y[x[T].materialIndex]);m!==null&&(R.material=m),c.push(R)}l.primitives=c,r.meshes||(r.meshes=[]),this._invokeAll(function(T){T.writeMesh&&T.writeMesh(t,l)});const A=r.meshes.push(l)-1;return n.meshes.set(o,A),A}detectMeshQuantization(t,n){if(this.extensionsUsed[ri])return;let r;switch(n.array.constructor){case Int8Array:r="byte";break;case Uint8Array:r="unsigned byte";break;case Int16Array:r="short";break;case Uint16Array:r="unsigned short";break;default:return}n.normalized&&(r+=" normalized");const i=t.split("_",1)[0];na[i]&&na[i].includes(r)&&(this.extensionsUsed[ri]=!0,this.extensionsRequired[ri]=!0)}processCamera(t){const n=this.json;n.cameras||(n.cameras=[]);const r=t.isOrthographicCamera,i={type:r?"orthographic":"perspective"};return r?i.orthographic={xmag:t.right*2,ymag:t.top*2,zfar:t.far<=0?.001:t.far,znear:t.near<0?0:t.near}:i.perspective={aspectRatio:t.aspect,yfov:un.degToRad(t.fov),zfar:t.far<=0?.001:t.far,znear:t.near<0?0:t.near},t.name!==""&&(i.name=t.type),n.cameras.push(i)-1}processAnimation(t,n){const r=this.json,i=this.nodeMap;r.animations||(r.animations=[]),t=tl.Utils.mergeMorphTargetTracks(t.clone(),n);const o=t.tracks,a=[],s=[];for(let l=0;l0){const s=[];for(let l=0,u=t.children.length;l0&&(o.children=s)}this._invokeAll(function(s){s.writeNode&&s.writeNode(t,o)});const a=n.nodes.push(o)-1;return i.set(t,a),a}processScene(t){const n=this.json,r=this.options;n.scenes||(n.scenes=[],n.scene=0);const i={};t.name!==""&&(i.name=t.name),n.scenes.push(i);const o=[];for(let a=0,s=t.children.length;a0&&(i.nodes=o),this.serializeUserData(t,i)}processObjects(t){const n=new Ui;n.name="AuxScene";for(let r=0;r0&&this.processObjects(r);for(let i=0;i0&&(a.range=t.distance)):t.isSpotLight&&(a.type="spot",t.distance>0&&(a.range=t.distance),a.spot={},a.spot.innerConeAngle=(t.penumbra-1)*t.angle*-1,a.spot.outerConeAngle=t.angle),t.decay!==void 0&&t.decay!==2&&console.warn("THREE.GLTFExporter: Light decay may be lost. glTF is physically-based, and expects light.decay=2."),t.target&&(t.target.parent!==t||t.target.position.x!==0||t.target.position.y!==0||t.target.position.z!==-1)&&console.warn("THREE.GLTFExporter: Light direction may be lost. For best results, make light.target a child of the light with position 0,0,-1."),o[this.name]||(i.extensions=i.extensions||{},i.extensions[this.name]={lights:[]},o[this.name]=!0);const s=i.extensions[this.name].lights;s.push(a),n.extensions=n.extensions||{},n.extensions[this.name]={light:s.length-1}}}let nf=class{constructor(e){this.writer=e,this.name="KHR_materials_unlit"}writeMaterial(e,t){if(!e.isMeshBasicMaterial)return;const n=this.writer.extensionsUsed;t.extensions=t.extensions||{},t.extensions[this.name]={},n[this.name]=!0,t.pbrMetallicRoughness.metallicFactor=0,t.pbrMetallicRoughness.roughnessFactor=.9}},rf=class{constructor(e){this.writer=e,this.name="KHR_materials_clearcoat"}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||e.clearcoat===0)return;const n=this.writer,r=n.extensionsUsed,i={};if(i.clearcoatFactor=e.clearcoat,e.clearcoatMap){const o={index:n.processTexture(e.clearcoatMap),texCoord:e.clearcoatMap.channel};n.applyTextureTransform(o,e.clearcoatMap),i.clearcoatTexture=o}if(i.clearcoatRoughnessFactor=e.clearcoatRoughness,e.clearcoatRoughnessMap){const o={index:n.processTexture(e.clearcoatRoughnessMap),texCoord:e.clearcoatRoughnessMap.channel};n.applyTextureTransform(o,e.clearcoatRoughnessMap),i.clearcoatRoughnessTexture=o}if(e.clearcoatNormalMap){const o={index:n.processTexture(e.clearcoatNormalMap),texCoord:e.clearcoatNormalMap.channel};n.applyTextureTransform(o,e.clearcoatNormalMap),i.clearcoatNormalTexture=o}t.extensions=t.extensions||{},t.extensions[this.name]=i,r[this.name]=!0}},of=class{constructor(e){this.writer=e,this.name="KHR_materials_iridescence"}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||e.iridescence===0)return;const n=this.writer,r=n.extensionsUsed,i={};if(i.iridescenceFactor=e.iridescence,e.iridescenceMap){const o={index:n.processTexture(e.iridescenceMap),texCoord:e.iridescenceMap.channel};n.applyTextureTransform(o,e.iridescenceMap),i.iridescenceTexture=o}if(i.iridescenceIor=e.iridescenceIOR,i.iridescenceThicknessMinimum=e.iridescenceThicknessRange[0],i.iridescenceThicknessMaximum=e.iridescenceThicknessRange[1],e.iridescenceThicknessMap){const o={index:n.processTexture(e.iridescenceThicknessMap),texCoord:e.iridescenceThicknessMap.channel};n.applyTextureTransform(o,e.iridescenceThicknessMap),i.iridescenceThicknessTexture=o}t.extensions=t.extensions||{},t.extensions[this.name]=i,r[this.name]=!0}},af=class{constructor(e){this.writer=e,this.name="KHR_materials_transmission"}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||e.transmission===0)return;const n=this.writer,r=n.extensionsUsed,i={};if(i.transmissionFactor=e.transmission,e.transmissionMap){const o={index:n.processTexture(e.transmissionMap),texCoord:e.transmissionMap.channel};n.applyTextureTransform(o,e.transmissionMap),i.transmissionTexture=o}t.extensions=t.extensions||{},t.extensions[this.name]=i,r[this.name]=!0}},sf=class{constructor(e){this.writer=e,this.name="KHR_materials_volume"}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||e.transmission===0)return;const n=this.writer,r=n.extensionsUsed,i={};if(i.thicknessFactor=e.thickness,e.thicknessMap){const o={index:n.processTexture(e.thicknessMap),texCoord:e.thicknessMap.channel};n.applyTextureTransform(o,e.thicknessMap),i.thicknessTexture=o}i.attenuationDistance=e.attenuationDistance,i.attenuationColor=e.attenuationColor.toArray(),t.extensions=t.extensions||{},t.extensions[this.name]=i,r[this.name]=!0}},lf=class{constructor(e){this.writer=e,this.name="KHR_materials_ior"}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||e.ior===1.5)return;const n=this.writer.extensionsUsed,r={};r.ior=e.ior,t.extensions=t.extensions||{},t.extensions[this.name]=r,n[this.name]=!0}},uf=class{constructor(e){this.writer=e,this.name="KHR_materials_specular"}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||e.specularIntensity===1&&e.specularColor.equals(Gd)&&!e.specularIntensityMap&&!e.specularColorTexture)return;const n=this.writer,r=n.extensionsUsed,i={};if(e.specularIntensityMap){const o={index:n.processTexture(e.specularIntensityMap),texCoord:e.specularIntensityMap.channel};n.applyTextureTransform(o,e.specularIntensityMap),i.specularTexture=o}if(e.specularColorMap){const o={index:n.processTexture(e.specularColorMap),texCoord:e.specularColorMap.channel};n.applyTextureTransform(o,e.specularColorMap),i.specularColorTexture=o}i.specularFactor=e.specularIntensity,i.specularColorFactor=e.specularColor.toArray(),t.extensions=t.extensions||{},t.extensions[this.name]=i,r[this.name]=!0}},cf=class{constructor(e){this.writer=e,this.name="KHR_materials_sheen"}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||e.sheen==0)return;const n=this.writer,r=n.extensionsUsed,i={};if(e.sheenRoughnessMap){const o={index:n.processTexture(e.sheenRoughnessMap),texCoord:e.sheenRoughnessMap.channel};n.applyTextureTransform(o,e.sheenRoughnessMap),i.sheenRoughnessTexture=o}if(e.sheenColorMap){const o={index:n.processTexture(e.sheenColorMap),texCoord:e.sheenColorMap.channel};n.applyTextureTransform(o,e.sheenColorMap),i.sheenColorTexture=o}i.sheenRoughnessFactor=e.sheenRoughness,i.sheenColorFactor=e.sheenColor.toArray(),t.extensions=t.extensions||{},t.extensions[this.name]=i,r[this.name]=!0}},df=class{constructor(e){this.writer=e,this.name="KHR_materials_anisotropy"}writeMaterial(e,t){if(!e.isMeshPhysicalMaterial||e.anisotropy==0)return;const n=this.writer,r=n.extensionsUsed,i={};if(e.anisotropyMap){const o={index:n.processTexture(e.anisotropyMap)};n.applyTextureTransform(o,e.anisotropyMap),i.anisotropyTexture=o}i.anisotropyStrength=e.anisotropy,i.anisotropyRotation=e.anisotropyRotation,t.extensions=t.extensions||{},t.extensions[this.name]=i,r[this.name]=!0}},ff=class{constructor(e){this.writer=e,this.name="KHR_materials_emissive_strength"}writeMaterial(e,t){if(!e.isMeshStandardMaterial||e.emissiveIntensity===1)return;const n=this.writer.extensionsUsed,r={};r.emissiveStrength=e.emissiveIntensity,t.extensions=t.extensions||{},t.extensions[this.name]=r,n[this.name]=!0}};var qn=Uint8Array,rl=Uint16Array,pf=Uint32Array,hf=new qn([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),mf=new qn([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),il=function(e,t){for(var n=new rl(31),r=0;r<31;++r)n[r]=t+=1<>>1|($e&21845)<<1;Kt=(Kt&52428)>>>2|(Kt&13107)<<2,Kt=(Kt&61680)>>>4|(Kt&3855)<<4,yf[$e]=((Kt&65280)>>>8|(Kt&255)<<8)>>>1}var Fr=new qn(288);for(var $e=0;$e<144;++$e)Fr[$e]=8;for(var $e=144;$e<256;++$e)Fr[$e]=9;for(var $e=256;$e<280;++$e)Fr[$e]=7;for(var $e=280;$e<288;++$e)Fr[$e]=8;var bf=new qn(32);for(var $e=0;$e<32;++$e)bf[$e]=5;var xf=new qn(0),wf=typeof TextDecoder<"u"&&new TextDecoder,kf=0;try{wf.decode(xf,{stream:!0}),kf=1}catch{}var Tf=Object.defineProperty,_f=(e,t,n)=>t in e?Tf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ef=(e,t,n)=>(_f(e,t+"",n),n);const al=class extends sn{constructor(e,t={}){super(e),this.isReflector=!0,this.type="Reflector",this.camera=new Xt;const n=this,r=t.color!==void 0?new tt(t.color):new tt(8355711),i=t.textureWidth||512,o=t.textureHeight||512,a=t.clipBias||0,s=t.shader||al.ReflectorShader,l=t.multisample!==void 0?t.multisample:4,u=new Ss,c=new de,d=new de,f=new de,p=new Ut,h=new de(0,0,-1),w=new Zt,y=new de,x=new de,A=new Zt,T=new Ut,M=this.camera,R=new ac(i,o,{samples:l,type:sc}),m=new Kn({uniforms:po.clone(s.uniforms),fragmentShader:s.fragmentShader,vertexShader:s.vertexShader});m.uniforms.tDiffuse.value=R.texture,m.uniforms.color.value=r,m.uniforms.textureMatrix.value=T,this.material=m,this.onBeforeRender=function(E,b,v){if(d.setFromMatrixPosition(n.matrixWorld),f.setFromMatrixPosition(v.matrixWorld),p.extractRotation(n.matrixWorld),c.set(0,0,1),c.applyMatrix4(p),y.subVectors(d,f),y.dot(c)>0)return;y.reflect(c).negate(),y.add(d),p.extractRotation(v.matrixWorld),h.set(0,0,-1),h.applyMatrix4(p),h.add(f),x.subVectors(d,h),x.reflect(c).negate(),x.add(d),M.position.copy(y),M.up.set(0,1,0),M.up.applyMatrix4(p),M.up.reflect(c),M.lookAt(x),M.far=v.far,M.updateMatrixWorld(),M.projectionMatrix.copy(v.projectionMatrix),T.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),T.multiply(M.projectionMatrix),T.multiply(M.matrixWorldInverse),T.multiply(n.matrixWorld),u.setFromNormalAndCoplanarPoint(c,d),u.applyMatrix4(M.matrixWorldInverse),w.set(u.normal.x,u.normal.y,u.normal.z,u.constant);const g=M.projectionMatrix;A.x=(Math.sign(w.x)+g.elements[8])/g.elements[0],A.y=(Math.sign(w.y)+g.elements[9])/g.elements[5],A.z=-1,A.w=(1+g.elements[10])/g.elements[14],w.multiplyScalar(2/w.dot(A)),g.elements[2]=w.x,g.elements[6]=w.y,g.elements[10]=w.z+1-a,g.elements[14]=w.w,n.visible=!1;const _=E.getRenderTarget(),S=E.xr.enabled,z=E.shadowMap.autoUpdate,V=E.toneMapping;let B=!1;"outputColorSpace"in E?B=E.outputColorSpace==="srgb":B=E.outputEncoding===3001,E.xr.enabled=!1,E.shadowMap.autoUpdate=!1,"outputColorSpace"in E?E.outputColorSpace="srgb-linear":E.outputEncoding=3e3,E.toneMapping=lc,E.setRenderTarget(R),E.state.buffers.depth.setMask(!0),E.autoClear===!1&&E.clear(),E.render(b,M),E.xr.enabled=S,E.shadowMap.autoUpdate=z,E.toneMapping=V,"outputColorSpace"in E?E.outputColorSpace=B?"srgb":"srgb-linear":E.outputEncoding=B?3001:3e3,E.setRenderTarget(_);const F=v.viewport;F!==void 0&&E.state.viewport(F),n.visible=!0},this.getRenderTarget=function(){return R},this.dispose=function(){R.dispose(),n.material.dispose()}}};let Vi=al;Ef(Vi,"ReflectorShader",{uniforms:{color:{value:null},tDiffuse:{value:null},textureMatrix:{value:null}},vertexShader:` + uniform mat4 textureMatrix; + varying vec4 vUv; + + #include + #include + + void main() { + + vUv = textureMatrix * vec4( position, 1.0 ); + + gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); + + #include + + }`,fragmentShader:` + uniform vec3 color; + uniform sampler2D tDiffuse; + varying vec4 vUv; + + #include + + float blendOverlay( float base, float blend ) { + + return( base < 0.5 ? ( 2.0 * base * blend ) : ( 1.0 - 2.0 * ( 1.0 - base ) * ( 1.0 - blend ) ) ); + + } + + vec3 blendOverlay( vec3 base, vec3 blend ) { + + return vec3( blendOverlay( base.r, blend.r ), blendOverlay( base.g, blend.g ), blendOverlay( base.b, blend.b ) ); + + } + + void main() { + + #include + + vec4 base = texture2DProj( tDiffuse, vUv ); + gl_FragColor = vec4( blendOverlay( base.rgb, color ), 1.0 ); + + #include + #include <${ko>=154?"colorspace_fragment":"encodings_fragment"}> + + }`});var Af=Object.defineProperty,Mf=(e,t,n)=>t in e?Af(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,sl=(e,t,n)=>(Mf(e,typeof t!="symbol"?t+"":t,n),n);const Ur=new Cs,If=new Float32Array([-1,-1,0,0,0,1,-1,0,1,0,1,1,0,1,1,-1,1,0,0,1]),ll=new Rs(If,5);Ur.setIndex([0,1,2,0,2,3]);Ur.setAttribute("position",new fo(ll,3,0,!1));Ur.setAttribute("uv",new fo(ll,2,3,!1));const Hi=class extends sn{constructor(){super(Hi.Geometry,new yn({opacity:0,transparent:!0})),this.isLensflare=!0,this.type="Lensflare",this.frustumCulled=!1,this.renderOrder=1/0;const e=new de,t=new de,n=new Ko(new Uint8Array(16*16*3),16,16,Fi);n.minFilter=an,n.magFilter=an,n.wrapS=bn,n.wrapT=bn;const r=new Ko(new Uint8Array(16*16*3),16,16,Fi);r.minFilter=an,r.magFilter=an,r.wrapS=bn,r.wrapT=bn;const i=Hi.Geometry,o=new Wr({uniforms:{scale:{value:null},screenPosition:{value:null}},vertexShader:` + + precision highp float; + + uniform vec3 screenPosition; + uniform vec2 scale; + + attribute vec3 position; + + void main() { + + gl_Position = vec4( position.xy * scale + screenPosition.xy, screenPosition.z, 1.0 ); + + }`,fragmentShader:` + + precision highp float; + + void main() { + + gl_FragColor = vec4( 1.0, 0.0, 1.0, 1.0 ); + + }`,depthTest:!0,depthWrite:!1,transparent:!1}),a=new Wr({uniforms:{map:{value:n},scale:{value:null},screenPosition:{value:null}},vertexShader:` + + precision highp float; + + uniform vec3 screenPosition; + uniform vec2 scale; + + attribute vec3 position; + attribute vec2 uv; + + varying vec2 vUV; + + void main() { + + vUV = uv; + + gl_Position = vec4( position.xy * scale + screenPosition.xy, screenPosition.z, 1.0 ); + + }`,fragmentShader:` + + precision highp float; + + uniform sampler2D map; + + varying vec2 vUV; + + void main() { + + gl_FragColor = texture2D( map, vUV ); + + }`,depthTest:!1,depthWrite:!1,transparent:!1}),s=new sn(i,o),l=[],u=ul.Shader,c=new Wr({uniforms:{map:{value:null},occlusionMap:{value:r},color:{value:new tt(16777215)},scale:{value:new Xe},screenPosition:{value:new de}},vertexShader:u.vertexShader,fragmentShader:u.fragmentShader,blending:uc,transparent:!0,depthWrite:!1}),d=new sn(i,c);this.addElement=function(y){l.push(y)};const f=new Xe,p=new Xe,h=new cc,w=new Zt;this.onBeforeRender=function(y,x,A){y.getCurrentViewport(w);const T=w.w/w.z,M=w.z/2,R=w.w/2;let m=16/w.w;if(f.set(m*T,m),h.min.set(w.x,w.y),h.max.set(w.x+(w.z-16),w.y+(w.w-16)),t.setFromMatrixPosition(this.matrixWorld),t.applyMatrix4(A.matrixWorldInverse),!(t.z>0)&&(e.copy(t).applyMatrix4(A.projectionMatrix),p.x=w.x+e.x*M+M-8,p.y=w.y+e.y*R+R-8,h.containsPoint(p))){y.copyFramebufferToTexture(p,n);let E=o.uniforms;E.scale.value=f,E.screenPosition.value=e,y.renderBufferDirect(A,null,i,o,s,null),y.copyFramebufferToTexture(p,r),E=a.uniforms,E.scale.value=f,E.screenPosition.value=e,y.renderBufferDirect(A,null,i,a,s,null);const b=-e.x*2,v=-e.y*2;for(let g=0,_=l.length;g<_;g++){const S=l[g],z=c.uniforms;z.color.value.copy(S.color),z.map.value=S.texture,z.screenPosition.value.x=e.x+b*S.distance,z.screenPosition.value.y=e.y+v*S.distance,m=S.size/w.w;const V=w.w/w.z;z.scale.value.set(m*V,m),c.uniformsNeedUpdate=!0,y.renderBufferDirect(A,null,i,c,d,null)}}},this.dispose=function(){o.dispose(),a.dispose(),c.dispose(),n.dispose(),r.dispose();for(let y=0,x=l.length;yt in e?Cf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,cl=(e,t,n)=>(Rf(e,typeof t!="symbol"?t+"":t,n),n);const xr={uniforms:{turbidity:{value:2},rayleigh:{value:1},mieCoefficient:{value:.005},mieDirectionalG:{value:.8},sunPosition:{value:new de},up:{value:new de(0,1,0)}},vertexShader:` + uniform vec3 sunPosition; + uniform float rayleigh; + uniform float turbidity; + uniform float mieCoefficient; + uniform vec3 up; + + varying vec3 vWorldPosition; + varying vec3 vSunDirection; + varying float vSunfade; + varying vec3 vBetaR; + varying vec3 vBetaM; + varying float vSunE; + + // constants for atmospheric scattering + const float e = 2.71828182845904523536028747135266249775724709369995957; + const float pi = 3.141592653589793238462643383279502884197169; + + // wavelength of used primaries, according to preetham + const vec3 lambda = vec3( 680E-9, 550E-9, 450E-9 ); + // this pre-calcuation replaces older TotalRayleigh(vec3 lambda) function: + // (8.0 * pow(pi, 3.0) * pow(pow(n, 2.0) - 1.0, 2.0) * (6.0 + 3.0 * pn)) / (3.0 * N * pow(lambda, vec3(4.0)) * (6.0 - 7.0 * pn)) + const vec3 totalRayleigh = vec3( 5.804542996261093E-6, 1.3562911419845635E-5, 3.0265902468824876E-5 ); + + // mie stuff + // K coefficient for the primaries + const float v = 4.0; + const vec3 K = vec3( 0.686, 0.678, 0.666 ); + // MieConst = pi * pow( ( 2.0 * pi ) / lambda, vec3( v - 2.0 ) ) * K + const vec3 MieConst = vec3( 1.8399918514433978E14, 2.7798023919660528E14, 4.0790479543861094E14 ); + + // earth shadow hack + // cutoffAngle = pi / 1.95; + const float cutoffAngle = 1.6110731556870734; + const float steepness = 1.5; + const float EE = 1000.0; + + float sunIntensity( float zenithAngleCos ) { + zenithAngleCos = clamp( zenithAngleCos, -1.0, 1.0 ); + return EE * max( 0.0, 1.0 - pow( e, -( ( cutoffAngle - acos( zenithAngleCos ) ) / steepness ) ) ); + } + + vec3 totalMie( float T ) { + float c = ( 0.2 * T ) * 10E-18; + return 0.434 * c * MieConst; + } + + void main() { + + vec4 worldPosition = modelMatrix * vec4( position, 1.0 ); + vWorldPosition = worldPosition.xyz; + + gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); + gl_Position.z = gl_Position.w; // set z to camera.far + + vSunDirection = normalize( sunPosition ); + + vSunE = sunIntensity( dot( vSunDirection, up ) ); + + vSunfade = 1.0 - clamp( 1.0 - exp( ( sunPosition.y / 450000.0 ) ), 0.0, 1.0 ); + + float rayleighCoefficient = rayleigh - ( 1.0 * ( 1.0 - vSunfade ) ); + + // extinction (absorbtion + out scattering) + // rayleigh coefficients + vBetaR = totalRayleigh * rayleighCoefficient; + + // mie coefficients + vBetaM = totalMie( turbidity ) * mieCoefficient; + + } + `,fragmentShader:` + varying vec3 vWorldPosition; + varying vec3 vSunDirection; + varying float vSunfade; + varying vec3 vBetaR; + varying vec3 vBetaM; + varying float vSunE; + + uniform float mieDirectionalG; + uniform vec3 up; + + const vec3 cameraPos = vec3( 0.0, 0.0, 0.0 ); + + // constants for atmospheric scattering + const float pi = 3.141592653589793238462643383279502884197169; + + const float n = 1.0003; // refractive index of air + const float N = 2.545E25; // number of molecules per unit volume for air at 288.15K and 1013mb (sea level -45 celsius) + + // optical length at zenith for molecules + const float rayleighZenithLength = 8.4E3; + const float mieZenithLength = 1.25E3; + // 66 arc seconds -> degrees, and the cosine of that + const float sunAngularDiameterCos = 0.999956676946448443553574619906976478926848692873900859324; + + // 3.0 / ( 16.0 * pi ) + const float THREE_OVER_SIXTEENPI = 0.05968310365946075; + // 1.0 / ( 4.0 * pi ) + const float ONE_OVER_FOURPI = 0.07957747154594767; + + float rayleighPhase( float cosTheta ) { + return THREE_OVER_SIXTEENPI * ( 1.0 + pow( cosTheta, 2.0 ) ); + } + + float hgPhase( float cosTheta, float g ) { + float g2 = pow( g, 2.0 ); + float inverse = 1.0 / pow( 1.0 - 2.0 * g * cosTheta + g2, 1.5 ); + return ONE_OVER_FOURPI * ( ( 1.0 - g2 ) * inverse ); + } + + void main() { + + vec3 direction = normalize( vWorldPosition - cameraPos ); + + // optical length + // cutoff angle at 90 to avoid singularity in next formula. + float zenithAngle = acos( max( 0.0, dot( up, direction ) ) ); + float inverse = 1.0 / ( cos( zenithAngle ) + 0.15 * pow( 93.885 - ( ( zenithAngle * 180.0 ) / pi ), -1.253 ) ); + float sR = rayleighZenithLength * inverse; + float sM = mieZenithLength * inverse; + + // combined extinction factor + vec3 Fex = exp( -( vBetaR * sR + vBetaM * sM ) ); + + // in scattering + float cosTheta = dot( direction, vSunDirection ); + + float rPhase = rayleighPhase( cosTheta * 0.5 + 0.5 ); + vec3 betaRTheta = vBetaR * rPhase; + + float mPhase = hgPhase( cosTheta, mieDirectionalG ); + vec3 betaMTheta = vBetaM * mPhase; + + vec3 Lin = pow( vSunE * ( ( betaRTheta + betaMTheta ) / ( vBetaR + vBetaM ) ) * ( 1.0 - Fex ), vec3( 1.5 ) ); + Lin *= mix( vec3( 1.0 ), pow( vSunE * ( ( betaRTheta + betaMTheta ) / ( vBetaR + vBetaM ) ) * Fex, vec3( 1.0 / 2.0 ) ), clamp( pow( 1.0 - dot( up, vSunDirection ), 5.0 ), 0.0, 1.0 ) ); + + // nightsky + float theta = acos( direction.y ); // elevation --> y-axis, [-pi/2, pi/2] + float phi = atan( direction.z, direction.x ); // azimuth --> x-axis [-pi/2, pi/2] + vec2 uv = vec2( phi, theta ) / vec2( 2.0 * pi, pi ) + vec2( 0.5, 0.0 ); + vec3 L0 = vec3( 0.1 ) * Fex; + + // composition + solar disc + float sundisk = smoothstep( sunAngularDiameterCos, sunAngularDiameterCos + 0.00002, cosTheta ); + L0 += ( vSunE * 19000.0 * Fex ) * sundisk; + + vec3 texColor = ( Lin + L0 ) * 0.04 + vec3( 0.0, 0.0003, 0.00075 ); + + vec3 retColor = pow( texColor, vec3( 1.0 / ( 1.2 + ( 1.2 * vSunfade ) ) ) ); + + gl_FragColor = vec4( retColor, 1.0 ); + + #include + #include <${ko>=154?"colorspace_fragment":"encodings_fragment"}> + + } + `},dl=new Kn({name:"SkyShader",fragmentShader:xr.fragmentShader,vertexShader:xr.vertexShader,uniforms:po.clone(xr.uniforms),side:Qu,depthWrite:!1});class fl extends sn{constructor(){super(new oc(1,1,1),dl)}}cl(fl,"SkyShader",xr);cl(fl,"material",dl);new Zu;new de;new Os(0,0,0,"YXZ");new de;var Of=Object.defineProperty,Pf=(e,t,n)=>t in e?Of(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,se=(e,t,n)=>(Pf(e,typeof t!="symbol"?t+"":t,n),n);const ir=new Xu,la=new Ss,Lf=Math.cos(70*(Math.PI/180)),ua=(e,t)=>(e%t+t)%t;class Df extends Yu{constructor(t,n){super(),se(this,"object"),se(this,"domElement"),se(this,"enabled",!0),se(this,"target",new de),se(this,"minDistance",0),se(this,"maxDistance",1/0),se(this,"minZoom",0),se(this,"maxZoom",1/0),se(this,"minPolarAngle",0),se(this,"maxPolarAngle",Math.PI),se(this,"minAzimuthAngle",-1/0),se(this,"maxAzimuthAngle",1/0),se(this,"enableDamping",!1),se(this,"dampingFactor",.05),se(this,"enableZoom",!0),se(this,"zoomSpeed",1),se(this,"enableRotate",!0),se(this,"rotateSpeed",1),se(this,"enablePan",!0),se(this,"panSpeed",1),se(this,"screenSpacePanning",!0),se(this,"keyPanSpeed",7),se(this,"zoomToCursor",!1),se(this,"autoRotate",!1),se(this,"autoRotateSpeed",2),se(this,"reverseOrbit",!1),se(this,"reverseHorizontalOrbit",!1),se(this,"reverseVerticalOrbit",!1),se(this,"keys",{LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"}),se(this,"mouseButtons",{LEFT:fn.ROTATE,MIDDLE:fn.DOLLY,RIGHT:fn.PAN}),se(this,"touches",{ONE:Yt.ROTATE,TWO:Yt.DOLLY_PAN}),se(this,"target0"),se(this,"position0"),se(this,"zoom0"),se(this,"_domElementKeyEvents",null),se(this,"getPolarAngle"),se(this,"getAzimuthalAngle"),se(this,"setPolarAngle"),se(this,"setAzimuthalAngle"),se(this,"getDistance"),se(this,"getZoomScale"),se(this,"listenToKeyEvents"),se(this,"stopListenToKeyEvents"),se(this,"saveState"),se(this,"reset"),se(this,"update"),se(this,"connect"),se(this,"dispose"),se(this,"dollyIn"),se(this,"dollyOut"),se(this,"getScale"),se(this,"setScale"),this.object=t,this.domElement=n,this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this.getPolarAngle=()=>c.phi,this.getAzimuthalAngle=()=>c.theta,this.setPolarAngle=D=>{let X=ua(D,2*Math.PI),oe=c.phi;oe<0&&(oe+=2*Math.PI),X<0&&(X+=2*Math.PI);let Oe=Math.abs(X-oe);2*Math.PI-Oe{let X=ua(D,2*Math.PI),oe=c.theta;oe<0&&(oe+=2*Math.PI),X<0&&(X+=2*Math.PI);let Oe=Math.abs(X-oe);2*Math.PI-Oer.object.position.distanceTo(r.target),this.listenToKeyEvents=D=>{D.addEventListener("keydown",ie),this._domElementKeyEvents=D},this.stopListenToKeyEvents=()=>{this._domElementKeyEvents.removeEventListener("keydown",ie),this._domElementKeyEvents=null},this.saveState=()=>{r.target0.copy(r.target),r.position0.copy(r.object.position),r.zoom0=r.object.zoom},this.reset=()=>{r.target.copy(r.target0),r.object.position.copy(r.position0),r.object.zoom=r.zoom0,r.object.updateProjectionMatrix(),r.dispatchEvent(i),r.update(),l=s.NONE},this.update=(()=>{const D=new de,X=new de(0,1,0),oe=new _r().setFromUnitVectors(t.up,X),Oe=oe.clone().invert(),ft=new de,kt=new _r,Zn=2*Math.PI;return function(){const $o=r.object.position;oe.setFromUnitVectors(t.up,X),Oe.copy(oe).invert(),D.copy($o).sub(r.target),D.applyQuaternion(oe),c.setFromVector3(D),r.autoRotate&&l===s.NONE&&V(S()),r.enableDamping?(c.theta+=d.theta*r.dampingFactor,c.phi+=d.phi*r.dampingFactor):(c.theta+=d.theta,c.phi+=d.phi);let Pt=r.minAzimuthAngle,Lt=r.maxAzimuthAngle;isFinite(Pt)&&isFinite(Lt)&&(Pt<-Math.PI?Pt+=Zn:Pt>Math.PI&&(Pt-=Zn),Lt<-Math.PI?Lt+=Zn:Lt>Math.PI&&(Lt-=Zn),Pt<=Lt?c.theta=Math.max(Pt,Math.min(Lt,c.theta)):c.theta=c.theta>(Pt+Lt)/2?Math.max(Pt,c.theta):Math.min(Lt,c.theta)),c.phi=Math.max(r.minPolarAngle,Math.min(r.maxPolarAngle,c.phi)),c.makeSafe(),r.enableDamping===!0?r.target.addScaledVector(p,r.dampingFactor):r.target.add(p),r.zoomToCursor&&v||r.object.isOrthographicCamera?c.radius=P(c.radius):c.radius=P(c.radius*f),D.setFromSpherical(c),D.applyQuaternion(Oe),$o.copy(r.target).add(D),r.object.matrixAutoUpdate||r.object.updateMatrix(),r.object.lookAt(r.target),r.enableDamping===!0?(d.theta*=1-r.dampingFactor,d.phi*=1-r.dampingFactor,p.multiplyScalar(1-r.dampingFactor)):(d.set(0,0,0),p.set(0,0,0));let Rn=!1;if(r.zoomToCursor&&v){let On=null;if(r.object instanceof Xt&&r.object.isPerspectiveCamera){const Pn=D.length();On=P(Pn*f);const Jn=Pn-On;r.object.position.addScaledVector(E,Jn),r.object.updateMatrixWorld()}else if(r.object.isOrthographicCamera){const Pn=new de(b.x,b.y,0);Pn.unproject(r.object),r.object.zoom=Math.max(r.minZoom,Math.min(r.maxZoom,r.object.zoom/f)),r.object.updateProjectionMatrix(),Rn=!0;const Jn=new de(b.x,b.y,0);Jn.unproject(r.object),r.object.position.sub(Jn).add(Pn),r.object.updateMatrixWorld(),On=D.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),r.zoomToCursor=!1;On!==null&&(r.screenSpacePanning?r.target.set(0,0,-1).transformDirection(r.object.matrix).multiplyScalar(On).add(r.object.position):(ir.origin.copy(r.object.position),ir.direction.set(0,0,-1).transformDirection(r.object.matrix),Math.abs(r.object.up.dot(ir.direction))u||8*(1-kt.dot(r.object.quaternion))>u?(r.dispatchEvent(i),ft.copy(r.object.position),kt.copy(r.object.quaternion),Rn=!1,!0):!1}})(),this.connect=D=>{r.domElement=D,r.domElement.style.touchAction="none",r.domElement.addEventListener("contextmenu",Ke),r.domElement.addEventListener("pointerdown",Ae),r.domElement.addEventListener("pointercancel",Je),r.domElement.addEventListener("wheel",Q)},this.dispose=()=>{var D,X,oe,Oe,ft,kt;r.domElement&&(r.domElement.style.touchAction="auto"),(D=r.domElement)==null||D.removeEventListener("contextmenu",Ke),(X=r.domElement)==null||X.removeEventListener("pointerdown",Ae),(oe=r.domElement)==null||oe.removeEventListener("pointercancel",Je),(Oe=r.domElement)==null||Oe.removeEventListener("wheel",Q),(ft=r.domElement)==null||ft.ownerDocument.removeEventListener("pointermove",Qe),(kt=r.domElement)==null||kt.ownerDocument.removeEventListener("pointerup",Je),r._domElementKeyEvents!==null&&r._domElementKeyEvents.removeEventListener("keydown",ie)};const r=this,i={type:"change"},o={type:"start"},a={type:"end"},s={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6};let l=s.NONE;const u=1e-6,c=new Ho,d=new Ho;let f=1;const p=new de,h=new Xe,w=new Xe,y=new Xe,x=new Xe,A=new Xe,T=new Xe,M=new Xe,R=new Xe,m=new Xe,E=new de,b=new Xe;let v=!1;const g=[],_={};function S(){return 2*Math.PI/60/60*r.autoRotateSpeed}function z(){return Math.pow(.95,r.zoomSpeed)}function V(D){r.reverseOrbit||r.reverseHorizontalOrbit?d.theta+=D:d.theta-=D}function B(D){r.reverseOrbit||r.reverseVerticalOrbit?d.phi+=D:d.phi-=D}const F=(()=>{const D=new de;return function(X,oe){D.setFromMatrixColumn(oe,0),D.multiplyScalar(-X),p.add(D)}})(),Z=(()=>{const D=new de;return function(X,oe){r.screenSpacePanning===!0?D.setFromMatrixColumn(oe,1):(D.setFromMatrixColumn(oe,0),D.crossVectors(r.object.up,D)),D.multiplyScalar(X),p.add(D)}})(),J=(()=>{const D=new de;return function(X,oe){const Oe=r.domElement;if(Oe&&r.object instanceof Xt&&r.object.isPerspectiveCamera){const ft=r.object.position;D.copy(ft).sub(r.target);let kt=D.length();kt*=Math.tan(r.object.fov/2*Math.PI/180),F(2*X*kt/Oe.clientHeight,r.object.matrix),Z(2*oe*kt/Oe.clientHeight,r.object.matrix)}else Oe&&r.object instanceof xn&&r.object.isOrthographicCamera?(F(X*(r.object.right-r.object.left)/r.object.zoom/Oe.clientWidth,r.object.matrix),Z(oe*(r.object.top-r.object.bottom)/r.object.zoom/Oe.clientHeight,r.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),r.enablePan=!1)}})();function ee(D){r.object instanceof Xt&&r.object.isPerspectiveCamera||r.object instanceof xn&&r.object.isOrthographicCamera?f=D:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),r.enableZoom=!1)}function I(D){ee(f/D)}function ve(D){ee(f*D)}function Ce(D){if(!r.zoomToCursor||!r.domElement)return;v=!0;const X=r.domElement.getBoundingClientRect(),oe=D.clientX-X.left,Oe=D.clientY-X.top,ft=X.width,kt=X.height;b.x=oe/ft*2-1,b.y=-(Oe/kt)*2+1,E.set(b.x,b.y,1).unproject(r.object).sub(r.object.position).normalize()}function P(D){return Math.max(r.minDistance,Math.min(r.maxDistance,D))}function ye(D){h.set(D.clientX,D.clientY)}function Ie(D){Ce(D),M.set(D.clientX,D.clientY)}function Ee(D){x.set(D.clientX,D.clientY)}function qe(D){w.set(D.clientX,D.clientY),y.subVectors(w,h).multiplyScalar(r.rotateSpeed);const X=r.domElement;X&&(V(2*Math.PI*y.x/X.clientHeight),B(2*Math.PI*y.y/X.clientHeight)),h.copy(w),r.update()}function q(D){R.set(D.clientX,D.clientY),m.subVectors(R,M),m.y>0?I(z()):m.y<0&&ve(z()),M.copy(R),r.update()}function k(D){A.set(D.clientX,D.clientY),T.subVectors(A,x).multiplyScalar(r.panSpeed),J(T.x,T.y),x.copy(A),r.update()}function C(D){Ce(D),D.deltaY<0?ve(z()):D.deltaY>0&&I(z()),r.update()}function L(D){let X=!1;switch(D.code){case r.keys.UP:J(0,r.keyPanSpeed),X=!0;break;case r.keys.BOTTOM:J(0,-r.keyPanSpeed),X=!0;break;case r.keys.LEFT:J(r.keyPanSpeed,0),X=!0;break;case r.keys.RIGHT:J(-r.keyPanSpeed,0),X=!0;break}X&&(D.preventDefault(),r.update())}function H(){if(g.length==1)h.set(g[0].pageX,g[0].pageY);else{const D=.5*(g[0].pageX+g[1].pageX),X=.5*(g[0].pageY+g[1].pageY);h.set(D,X)}}function U(){if(g.length==1)x.set(g[0].pageX,g[0].pageY);else{const D=.5*(g[0].pageX+g[1].pageX),X=.5*(g[0].pageY+g[1].pageY);x.set(D,X)}}function Y(){const D=g[0].pageX-g[1].pageX,X=g[0].pageY-g[1].pageY,oe=Math.sqrt(D*D+X*X);M.set(0,oe)}function K(){r.enableZoom&&Y(),r.enablePan&&U()}function re(){r.enableZoom&&Y(),r.enableRotate&&H()}function le(D){if(g.length==1)w.set(D.pageX,D.pageY);else{const oe=Ot(D),Oe=.5*(D.pageX+oe.x),ft=.5*(D.pageY+oe.y);w.set(Oe,ft)}y.subVectors(w,h).multiplyScalar(r.rotateSpeed);const X=r.domElement;X&&(V(2*Math.PI*y.x/X.clientHeight),B(2*Math.PI*y.y/X.clientHeight)),h.copy(w)}function ne(D){if(g.length==1)A.set(D.pageX,D.pageY);else{const X=Ot(D),oe=.5*(D.pageX+X.x),Oe=.5*(D.pageY+X.y);A.set(oe,Oe)}T.subVectors(A,x).multiplyScalar(r.panSpeed),J(T.x,T.y),x.copy(A)}function ue(D){const X=Ot(D),oe=D.pageX-X.x,Oe=D.pageY-X.y,ft=Math.sqrt(oe*oe+Oe*Oe);R.set(0,ft),m.set(0,Math.pow(R.y/M.y,r.zoomSpeed)),I(m.y),M.copy(R)}function be(D){r.enableZoom&&ue(D),r.enablePan&&ne(D)}function me(D){r.enableZoom&&ue(D),r.enableRotate&&le(D)}function Ae(D){var X,oe;r.enabled!==!1&&(g.length===0&&((X=r.domElement)==null||X.ownerDocument.addEventListener("pointermove",Qe),(oe=r.domElement)==null||oe.ownerDocument.addEventListener("pointerup",Je)),rt(D),D.pointerType==="touch"?ce(D):Vt(D))}function Qe(D){r.enabled!==!1&&(D.pointerType==="touch"?Te(D):$(D))}function Je(D){var X,oe,Oe;it(D),g.length===0&&((X=r.domElement)==null||X.releasePointerCapture(D.pointerId),(oe=r.domElement)==null||oe.ownerDocument.removeEventListener("pointermove",Qe),(Oe=r.domElement)==null||Oe.ownerDocument.removeEventListener("pointerup",Je)),r.dispatchEvent(a),l=s.NONE}function Vt(D){let X;switch(D.button){case 0:X=r.mouseButtons.LEFT;break;case 1:X=r.mouseButtons.MIDDLE;break;case 2:X=r.mouseButtons.RIGHT;break;default:X=-1}switch(X){case fn.DOLLY:if(r.enableZoom===!1)return;Ie(D),l=s.DOLLY;break;case fn.ROTATE:if(D.ctrlKey||D.metaKey||D.shiftKey){if(r.enablePan===!1)return;Ee(D),l=s.PAN}else{if(r.enableRotate===!1)return;ye(D),l=s.ROTATE}break;case fn.PAN:if(D.ctrlKey||D.metaKey||D.shiftKey){if(r.enableRotate===!1)return;ye(D),l=s.ROTATE}else{if(r.enablePan===!1)return;Ee(D),l=s.PAN}break;default:l=s.NONE}l!==s.NONE&&r.dispatchEvent(o)}function $(D){if(r.enabled!==!1)switch(l){case s.ROTATE:if(r.enableRotate===!1)return;qe(D);break;case s.DOLLY:if(r.enableZoom===!1)return;q(D);break;case s.PAN:if(r.enablePan===!1)return;k(D);break}}function Q(D){r.enabled===!1||r.enableZoom===!1||l!==s.NONE&&l!==s.ROTATE||(D.preventDefault(),r.dispatchEvent(o),C(D),r.dispatchEvent(a))}function ie(D){r.enabled===!1||r.enablePan===!1||L(D)}function ce(D){switch(Ht(D),g.length){case 1:switch(r.touches.ONE){case Yt.ROTATE:if(r.enableRotate===!1)return;H(),l=s.TOUCH_ROTATE;break;case Yt.PAN:if(r.enablePan===!1)return;U(),l=s.TOUCH_PAN;break;default:l=s.NONE}break;case 2:switch(r.touches.TWO){case Yt.DOLLY_PAN:if(r.enableZoom===!1&&r.enablePan===!1)return;K(),l=s.TOUCH_DOLLY_PAN;break;case Yt.DOLLY_ROTATE:if(r.enableZoom===!1&&r.enableRotate===!1)return;re(),l=s.TOUCH_DOLLY_ROTATE;break;default:l=s.NONE}break;default:l=s.NONE}l!==s.NONE&&r.dispatchEvent(o)}function Te(D){switch(Ht(D),l){case s.TOUCH_ROTATE:if(r.enableRotate===!1)return;le(D),r.update();break;case s.TOUCH_PAN:if(r.enablePan===!1)return;ne(D),r.update();break;case s.TOUCH_DOLLY_PAN:if(r.enableZoom===!1&&r.enablePan===!1)return;be(D),r.update();break;case s.TOUCH_DOLLY_ROTATE:if(r.enableZoom===!1&&r.enableRotate===!1)return;me(D),r.update();break;default:l=s.NONE}}function Ke(D){r.enabled!==!1&&D.preventDefault()}function rt(D){g.push(D)}function it(D){delete _[D.pointerId];for(let X=0;X{ve(D),r.update()},this.dollyOut=(D=z())=>{I(D),r.update()},this.getScale=()=>f,this.setScale=D=>{ee(D),r.update()},this.getZoomScale=()=>z(),n!==void 0&&this.connect(n),this.update()}}new Ut;new de;new Os;new de;var Nf=Object.defineProperty,zf=(e,t,n)=>t in e?Nf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,To=(e,t,n)=>(zf(e,typeof t!="symbol"?t+"":t,n),n);class pl{constructor(t){To(this,"data"),this.data=t}generateShapes(t,n=100,r){const i=[],o={letterSpacing:0,lineHeight:1,...r},a=Bf(t,n,this.data,o);for(let s=0,l=a.length;s + #include + #include + uniform float thickness; + uniform bool screenspace; + uniform vec2 size; + void main() { + #if defined (USE_SKINNING) + #include + #include + #include + #include + #include + #endif + #include + #include + #include + #include + vec4 tNormal = vec4(normal, 0.0); + vec4 tPosition = vec4(transformed, 1.0); + #ifdef USE_INSTANCING + tNormal = instanceMatrix * tNormal; + tPosition = instanceMatrix * tPosition; + #endif + if (screenspace) { + vec3 newPosition = tPosition.xyz + tNormal.xyz * thickness; + gl_Position = projectionMatrix * modelViewMatrix * vec4(newPosition, 1.0); + } else { + vec4 clipPosition = projectionMatrix * modelViewMatrix * tPosition; + vec4 clipNormal = projectionMatrix * modelViewMatrix * tNormal; + vec2 offset = normalize(clipNormal.xy) * thickness / size * clipPosition.w * 2.0; + clipPosition.xy += offset; + gl_Position = clipPosition; + } + }`,`uniform vec3 color; + uniform float opacity; + void main(){ + gl_FragColor = vec4(color, opacity); + #include + #include + }`);const Uf=["args","material-uniforms-color-value"];Vi.ReflectorShader;new de;new de;new de;var oi;/Mac/.test((oi=globalThis==null?void 0:globalThis.navigator)===null||oi===void 0?void 0:oi.platform);const $f=["target","auto-rotate","auto-rotate-speed","enable-damping","damping-factor","enable-pan","key-pan-speed","keys","max-azimuth-angle","min-azimuth-angle","max-polar-angle","min-polar-angle","min-distance","max-distance","min-zoom","max-zoom","touches","enable-zoom","zoom-speed","enable-rotate","rotate-speed","args"],jf=we({__name:"OrbitControls",props:{makeDefault:{type:Boolean,default:!1},camera:{},domElement:{},target:{default:()=>[0,0,0]},enableDamping:{type:Boolean,default:!0},dampingFactor:{default:.05},autoRotate:{type:Boolean,default:!1},autoRotateSpeed:{default:2},enablePan:{type:Boolean,default:!0},keyPanSpeed:{default:7},keys:{},maxAzimuthAngle:{default:Number.POSITIVE_INFINITY},minAzimuthAngle:{default:Number.NEGATIVE_INFINITY},maxPolarAngle:{default:Math.PI},minPolarAngle:{default:0},minDistance:{default:0},maxDistance:{default:Number.POSITIVE_INFINITY},minZoom:{default:0},maxZoom:{default:Number.POSITIVE_INFINITY},touches:{default:()=>({ONE:Yt.ROTATE,TWO:Yt.DOLLY_PAN})},enableZoom:{type:Boolean,default:!0},zoomSpeed:{default:1},enableRotate:{type:Boolean,default:!0},rotateSpeed:{default:1}},emits:["change","start","end"],setup(e,{expose:t,emit:n}){const r=e,i=n,{makeDefault:o,autoRotate:a,autoRotateSpeed:s,enableDamping:l,dampingFactor:u,enablePan:c,keyPanSpeed:d,maxAzimuthAngle:f,minAzimuthAngle:p,maxPolarAngle:h,minPolarAngle:w,minDistance:y,maxDistance:x,minZoom:A,maxZoom:T,enableZoom:M,zoomSpeed:R,enableRotate:m,touches:E,rotateSpeed:b,target:v}=In(r),{camera:g,renderer:_,extend:S,controls:z,invalidate:V}=Lr(),B=Is(null);S({OrbitControls:Df}),Se(B,J=>{F(),J&&o.value?z.value=J:z.value=null});function F(){ei(B.value,"change",()=>{i("change",B.value),V()}),ei(B.value,"start",()=>i("start",B.value)),ei(B.value,"end",()=>i("end",B.value))}const{onBeforeRender:Z}=Tr();return Z(({invalidate:J})=>{B.value&&(l.value||a.value)&&(B.value.update(),a.value&&J())}),yt(()=>{B.value&&B.value.dispose()}),t({instance:B}),(J,ee)=>(J.camera||N(g))&&(J.domElement||N(_))?(G(),te("TresOrbitControls",{key:0,ref_key:"controlsRef",ref:B,target:N(v),"auto-rotate":N(a),"auto-rotate-speed":N(s),"enable-damping":N(l),"damping-factor":N(u),"enable-pan":N(c),"key-pan-speed":N(d),keys:J.keys,"max-azimuth-angle":N(f),"min-azimuth-angle":N(p),"max-polar-angle":N(h),"min-polar-angle":N(w),"min-distance":N(y),"max-distance":N(x),"min-zoom":N(A),"max-zoom":N(T),touches:N(E),"enable-zoom":N(M),"zoom-speed":N(R),"enable-rotate":N(m),"rotate-speed":N(b),args:[J.camera||N(g),J.domElement||N(_).domElement]},null,8,$f)):Ge("",!0)}});function or(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var ca={exports:{}},da;function Vf(){return da||(da=1,function(e,t){(function(n){e.exports=n()})(function(){return function n(r,i,o){function a(u,c){if(!i[u]){if(!r[u]){var d=typeof or=="function"&∨if(!c&&d)return d(u,!0);if(s)return s(u,!0);throw new Error("Cannot find module '"+u+"'")}c=i[u]={exports:{}},r[u][0].call(c.exports,function(f){var p=r[u][1][f];return a(p||f)},c,c.exports,n,r,i,o)}return i[u].exports}for(var s=typeof or=="function"&&or,l=0;l>16),B((65280&g)>>8),B(255&g);return _==2?B(255&(g=E(b.charAt(v))<<2|E(b.charAt(v+1))>>4)):_==1&&(B((g=E(b.charAt(v))<<10|E(b.charAt(v+1))<<4|E(b.charAt(v+2))>>2)>>8&255),B(255&g)),S},h.fromByteArray=function(b){var v,g,_,S,z=b.length%3,V="";function B(F){return"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(F)}for(v=0,_=b.length-z;v<_;v+=3)g=(b[v]<<16)+(b[v+1]<<8)+b[v+2],V+=B((S=g)>>18&63)+B(S>>12&63)+B(S>>6&63)+B(63&S);switch(z){case 1:V=(V+=B((g=b[b.length-1])>>2))+B(g<<4&63)+"==";break;case 2:V=(V=(V+=B((g=(b[b.length-2]<<8)+b[b.length-1])>>10))+B(g>>4&63))+B(g<<2&63)+"="}return V}})(i===void 0?this.base64js={}:i)}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/base64-js/lib/b64.js","/node_modules/gulp-browserify/node_modules/base64-js/lib")},{buffer:3,lYpoI2:11}],3:[function(n,r,i){(function(o,a,y,l,u,c,d,f,p){var h=n("base64-js"),w=n("ieee754");function y(k,C,L){if(!(this instanceof y))return new y(k,C,L);var H,U,Y,K,re=typeof k;if(C==="base64"&&re=="string")for(k=(K=k).trim?K.trim():K.replace(/^\s+|\s+$/g,"");k.length%4!=0;)k+="=";if(re=="number")H=J(k);else if(re=="string")H=y.byteLength(k,C);else{if(re!="object")throw new Error("First argument needs to be a number, array or string.");H=J(k.length)}if(y._useTypedArrays?U=y._augment(new Uint8Array(H)):((U=this).length=H,U._isBuffer=!0),y._useTypedArrays&&typeof k.byteLength=="number")U._set(k);else if(ee(K=k)||y.isBuffer(K)||K&&typeof K=="object"&&typeof K.length=="number")for(Y=0;Y>8,K=K%256,re.push(K),re.push(Y);return re}(C),k,L,H)}function T(k,C,L){var H="";L=Math.min(k.length,L);for(var U=C;U>>0)):(C+1>>0),U}function m(k,C,L,H){if(H||(q(typeof L=="boolean","missing or invalid endian"),q(C!=null,"missing offset"),q(C+1>>8*(H?Y:1-Y)}function _(k,C,L,H,U){if(U||(q(C!=null,"missing value"),q(typeof H=="boolean","missing or invalid endian"),q(L!=null,"missing offset"),q(L+3>>8*(H?Y:3-Y)&255}function S(k,C,L,H,U){U||(q(C!=null,"missing value"),q(typeof H=="boolean","missing or invalid endian"),q(L!=null,"missing offset"),q(L+1this.length&&(H=this.length);var U=(H=k.length-C=this.length))return this[k]},y.prototype.readUInt16LE=function(k,C){return M(this,k,!0,C)},y.prototype.readUInt16BE=function(k,C){return M(this,k,!1,C)},y.prototype.readUInt32LE=function(k,C){return R(this,k,!0,C)},y.prototype.readUInt32BE=function(k,C){return R(this,k,!1,C)},y.prototype.readInt8=function(k,C){if(C||(q(k!=null,"missing offset"),q(k=this.length))return 128&this[k]?-1*(255-this[k]+1):this[k]},y.prototype.readInt16LE=function(k,C){return m(this,k,!0,C)},y.prototype.readInt16BE=function(k,C){return m(this,k,!1,C)},y.prototype.readInt32LE=function(k,C){return E(this,k,!0,C)},y.prototype.readInt32BE=function(k,C){return E(this,k,!1,C)},y.prototype.readFloatLE=function(k,C){return b(this,k,!0,C)},y.prototype.readFloatBE=function(k,C){return b(this,k,!1,C)},y.prototype.readDoubleLE=function(k,C){return v(this,k,!0,C)},y.prototype.readDoubleBE=function(k,C){return v(this,k,!1,C)},y.prototype.writeUInt8=function(k,C,L){L||(q(k!=null,"missing value"),q(C!=null,"missing offset"),q(C=this.length||(this[C]=k)},y.prototype.writeUInt16LE=function(k,C,L){g(this,k,C,!0,L)},y.prototype.writeUInt16BE=function(k,C,L){g(this,k,C,!1,L)},y.prototype.writeUInt32LE=function(k,C,L){_(this,k,C,!0,L)},y.prototype.writeUInt32BE=function(k,C,L){_(this,k,C,!1,L)},y.prototype.writeInt8=function(k,C,L){L||(q(k!=null,"missing value"),q(C!=null,"missing offset"),q(C=this.length||(0<=k?this.writeUInt8(k,C,L):this.writeUInt8(255+k+1,C,L))},y.prototype.writeInt16LE=function(k,C,L){S(this,k,C,!0,L)},y.prototype.writeInt16BE=function(k,C,L){S(this,k,C,!1,L)},y.prototype.writeInt32LE=function(k,C,L){z(this,k,C,!0,L)},y.prototype.writeInt32BE=function(k,C,L){z(this,k,C,!1,L)},y.prototype.writeFloatLE=function(k,C,L){V(this,k,C,!0,L)},y.prototype.writeFloatBE=function(k,C,L){V(this,k,C,!1,L)},y.prototype.writeDoubleLE=function(k,C,L){B(this,k,C,!0,L)},y.prototype.writeDoubleBE=function(k,C,L){B(this,k,C,!1,L)},y.prototype.fill=function(k,C,L){if(C=C||0,L=L||this.length,q(typeof(k=typeof(k=k||0)=="string"?k.charCodeAt(0):k)=="number"&&!isNaN(k),"value is not a number"),q(C<=L,"end < start"),L!==C&&this.length!==0){q(0<=C&&C"},y.prototype.toArrayBuffer=function(){if(typeof Uint8Array>"u")throw new Error("Buffer.toArrayBuffer not supported in this browser");if(y._useTypedArrays)return new y(this).buffer;for(var k=new Uint8Array(this.length),C=0,L=k.length;C=C.length||U>=k.length);U++)C[U+L]=k[U];return U}function ye(k){try{return decodeURIComponent(k)}catch{return"�"}}function Ie(k,C){q(typeof k=="number","cannot write a non-number as a number"),q(0<=k,"specified a negative value for writing an unsigned value"),q(k<=C,"value is larger than maximum value for type"),q(Math.floor(k)===k,"value has a fractional component")}function Ee(k,C,L){q(typeof k=="number","cannot write a non-number as a number"),q(k<=C,"value larger than maximum allowed value"),q(L<=k,"value smaller than minimum allowed value"),q(Math.floor(k)===k,"value has a fractional component")}function qe(k,C,L){q(typeof k=="number","cannot write a non-number as a number"),q(k<=C,"value larger than maximum allowed value"),q(L<=k,"value smaller than minimum allowed value")}function q(k,C){if(!k)throw new Error(C||"Failed assertion")}y._augment=function(k){return k._isBuffer=!0,k._get=k.get,k._set=k.set,k.get=F.get,k.set=F.set,k.write=F.write,k.toString=F.toString,k.toLocaleString=F.toString,k.toJSON=F.toJSON,k.copy=F.copy,k.slice=F.slice,k.readUInt8=F.readUInt8,k.readUInt16LE=F.readUInt16LE,k.readUInt16BE=F.readUInt16BE,k.readUInt32LE=F.readUInt32LE,k.readUInt32BE=F.readUInt32BE,k.readInt8=F.readInt8,k.readInt16LE=F.readInt16LE,k.readInt16BE=F.readInt16BE,k.readInt32LE=F.readInt32LE,k.readInt32BE=F.readInt32BE,k.readFloatLE=F.readFloatLE,k.readFloatBE=F.readFloatBE,k.readDoubleLE=F.readDoubleLE,k.readDoubleBE=F.readDoubleBE,k.writeUInt8=F.writeUInt8,k.writeUInt16LE=F.writeUInt16LE,k.writeUInt16BE=F.writeUInt16BE,k.writeUInt32LE=F.writeUInt32LE,k.writeUInt32BE=F.writeUInt32BE,k.writeInt8=F.writeInt8,k.writeInt16LE=F.writeInt16LE,k.writeInt16BE=F.writeInt16BE,k.writeInt32LE=F.writeInt32LE,k.writeInt32BE=F.writeInt32BE,k.writeFloatLE=F.writeFloatLE,k.writeFloatBE=F.writeFloatBE,k.writeDoubleLE=F.writeDoubleLE,k.writeDoubleBE=F.writeDoubleBE,k.fill=F.fill,k.inspect=F.inspect,k.toArrayBuffer=F.toArrayBuffer,k}}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/buffer/index.js","/node_modules/gulp-browserify/node_modules/buffer")},{"base64-js":2,buffer:3,ieee754:10,lYpoI2:11}],4:[function(n,r,i){(function(o,a,h,l,u,c,d,f,p){var h=n("buffer").Buffer,w=4,y=new h(w);y.fill(0),r.exports={hash:function(x,A,T,M){for(var R=A(function(g,_){g.length%w!=0&&(S=g.length+(w-g.length%w),g=h.concat([g,y],S));for(var S,z=[],V=_?g.readInt32BE:g.readInt32LE,B=0;BT?Z=F(Z):Z.length>5]|=128<>>9<<4)]=E;for(var b=1732584193,v=-271733879,g=-1732584194,_=271733878,S=0;S>>32-g,b)}function x(m,E,b,v,g,_,S){return y(E&b|~E&v,m,E,g,_,S)}function A(m,E,b,v,g,_,S){return y(E&v|b&~v,m,E,g,_,S)}function T(m,E,b,v,g,_,S){return y(E^b^v,m,E,g,_,S)}function M(m,E,b,v,g,_,S){return y(b^(E|~v),m,E,g,_,S)}function R(m,E){var b=(65535&m)+(65535&E);return(m>>16)+(E>>16)+(b>>16)<<16|65535&b}r.exports=function(m){return h.hash(m,w,16)}}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/md5.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],7:[function(n,r,i){(function(o,a,s,l,u,c,d,f,p){r.exports=function(h){for(var w,y=new Array(h),x=0;x>>((3&x)<<3)&255;return y}}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/rng.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{buffer:3,lYpoI2:11}],8:[function(n,r,i){(function(o,a,s,l,u,c,d,f,p){var h=n("./helpers");function w(A,T){A[T>>5]|=128<<24-T%32,A[15+(T+64>>9<<4)]=T;for(var M,R,m,E=Array(80),b=1732584193,v=-271733879,g=-1732584194,_=271733878,S=-1009589776,z=0;z>16)+(T>>16)+(M>>16)<<16|65535&M}function x(A,T){return A<>>32-T}r.exports=function(A){return h.hash(A,w,20,!0)}}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],9:[function(n,r,i){(function(o,a,s,l,u,c,d,f,p){function h(T,M){var R=(65535&T)+(65535&M);return(T>>16)+(M>>16)+(R>>16)<<16|65535&R}function w(T,M){var R,m=new Array(1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298),E=new Array(1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225),b=new Array(64);T[M>>5]|=128<<24-M%32,T[15+(M+64>>9<<4)]=M;for(var v,g,_=0;_>>M|T<<32-M},A=function(T,M){return T>>>M};r.exports=function(T){return y.hash(T,w,32,!0)}}).call(this,n("lYpoI2"),typeof self<"u"?self:typeof window<"u"?window:{},n("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha256.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],10:[function(n,r,i){(function(o,a,s,l,u,c,d,f,p){i.read=function(h,w,y,x,_){var T,M,R=8*_-x-1,m=(1<>1,b=-7,v=y?_-1:0,g=y?-1:1,_=h[w+v];for(v+=g,T=_&(1<<-b)-1,_>>=-b,b+=R;0>=-b,b+=x;0>1,v=A===23?Math.pow(2,-24)-Math.pow(2,-77):0,g=x?0:S-1,_=x?1:-1,S=w<0||w===0&&1/w<0?1:0;for(w=Math.abs(w),isNaN(w)||w===1/0?(R=isNaN(w)?1:0,M=E):(M=Math.floor(Math.log(w)/Math.LN2),w*(x=Math.pow(2,-M))<1&&(M--,x*=2),2<=(w+=1<=M+b?v/x:v*Math.pow(2,1-b))*x&&(M++,x/=2),E<=M+b?(R=0,M=E):1<=M+b?(R=(w*x-1)*Math.pow(2,A),M+=b):(R=w*Math.pow(2,b-1)*Math.pow(2,A),M=0));8<=A;h[y+g]=255&R,g+=_,R/=256,A-=8);for(M=M<>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]),ha}var ga,va;function ml(){return va||(va=1,ga=["abs","acos","all","any","asin","atan","ceil","clamp","cos","cross","dFdx","dFdy","degrees","distance","dot","equal","exp","exp2","faceforward","floor","fract","gl_BackColor","gl_BackLightModelProduct","gl_BackLightProduct","gl_BackMaterial","gl_BackSecondaryColor","gl_ClipPlane","gl_ClipVertex","gl_Color","gl_DepthRange","gl_DepthRangeParameters","gl_EyePlaneQ","gl_EyePlaneR","gl_EyePlaneS","gl_EyePlaneT","gl_Fog","gl_FogCoord","gl_FogFragCoord","gl_FogParameters","gl_FragColor","gl_FragCoord","gl_FragData","gl_FragDepth","gl_FragDepthEXT","gl_FrontColor","gl_FrontFacing","gl_FrontLightModelProduct","gl_FrontLightProduct","gl_FrontMaterial","gl_FrontSecondaryColor","gl_LightModel","gl_LightModelParameters","gl_LightModelProducts","gl_LightProducts","gl_LightSource","gl_LightSourceParameters","gl_MaterialParameters","gl_MaxClipPlanes","gl_MaxCombinedTextureImageUnits","gl_MaxDrawBuffers","gl_MaxFragmentUniformComponents","gl_MaxLights","gl_MaxTextureCoords","gl_MaxTextureImageUnits","gl_MaxTextureUnits","gl_MaxVaryingFloats","gl_MaxVertexAttribs","gl_MaxVertexTextureImageUnits","gl_MaxVertexUniformComponents","gl_ModelViewMatrix","gl_ModelViewMatrixInverse","gl_ModelViewMatrixInverseTranspose","gl_ModelViewMatrixTranspose","gl_ModelViewProjectionMatrix","gl_ModelViewProjectionMatrixInverse","gl_ModelViewProjectionMatrixInverseTranspose","gl_ModelViewProjectionMatrixTranspose","gl_MultiTexCoord0","gl_MultiTexCoord1","gl_MultiTexCoord2","gl_MultiTexCoord3","gl_MultiTexCoord4","gl_MultiTexCoord5","gl_MultiTexCoord6","gl_MultiTexCoord7","gl_Normal","gl_NormalMatrix","gl_NormalScale","gl_ObjectPlaneQ","gl_ObjectPlaneR","gl_ObjectPlaneS","gl_ObjectPlaneT","gl_Point","gl_PointCoord","gl_PointParameters","gl_PointSize","gl_Position","gl_ProjectionMatrix","gl_ProjectionMatrixInverse","gl_ProjectionMatrixInverseTranspose","gl_ProjectionMatrixTranspose","gl_SecondaryColor","gl_TexCoord","gl_TextureEnvColor","gl_TextureMatrix","gl_TextureMatrixInverse","gl_TextureMatrixInverseTranspose","gl_TextureMatrixTranspose","gl_Vertex","greaterThan","greaterThanEqual","inversesqrt","length","lessThan","lessThanEqual","log","log2","matrixCompMult","max","min","mix","mod","normalize","not","notEqual","pow","radians","reflect","refract","sign","sin","smoothstep","sqrt","step","tan","texture2D","texture2DLod","texture2DProj","texture2DProjLod","textureCube","textureCubeLod","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT"]),ga}var ai,ya;function Kf(){if(ya)return ai;ya=1;var e=hl();return ai=e.slice().concat(["layout","centroid","smooth","case","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","uvec2","uvec3","uvec4","samplerCubeShadow","sampler2DArray","sampler2DArrayShadow","isampler2D","isampler3D","isamplerCube","isampler2DArray","usampler2D","usampler3D","usamplerCube","usampler2DArray","coherent","restrict","readonly","writeonly","resource","atomic_uint","noperspective","patch","sample","subroutine","common","partition","active","filter","image1D","image2D","image3D","imageCube","iimage1D","iimage2D","iimage3D","iimageCube","uimage1D","uimage2D","uimage3D","uimageCube","image1DArray","image2DArray","iimage1DArray","iimage2DArray","uimage1DArray","uimage2DArray","image1DShadow","image2DShadow","image1DArrayShadow","image2DArrayShadow","imageBuffer","iimageBuffer","uimageBuffer","sampler1DArray","sampler1DArrayShadow","isampler1D","isampler1DArray","usampler1D","usampler1DArray","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray"]),ai}var si,ba;function Gf(){if(ba)return si;ba=1;var e=ml();return e=e.slice().filter(function(t){return!/^(gl\_|texture)/.test(t)}),si=e.concat(["gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","trunc","round","roundEven","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","outerProduct","transpose","determinant","inverse","texture","textureSize","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset"]),si}var li,xa;function qf(){if(xa)return li;xa=1,li=M;var e=hl(),t=Hf(),n=ml(),r=Kf(),i=Gf(),o=999,a=9999,s=0,l=1,u=2,c=3,d=4,f=5,p=6,h=7,w=8,y=9,x=10,A=11,T=["block-comment","line-comment","preprocessor","operator","integer","float","ident","builtin","keyword","whitespace","eof","integer"];function M(R){var m=0,E=0,b=o,v,g,_=[],S=[],z=1,V=0,B=0,F=!1,Z=!1,J="",ee;R=R||{};var I=n,ve=e;R.version==="300 es"&&(I=i,ve=r);for(var Ce={},P={},m=0;m0)continue;me=ne.slice(0,1).join("")}return ye(me),B+=me.length,_=_.slice(me.length),_.length}while(!0)}function Y(){return/[^a-fA-F0-9]/.test(v)?(ye(_.join("")),b=o,m):(_.push(v),g=v,m+1)}function K(){return v==="."||/[eE]/.test(v)?(_.push(v),b=f,g=v,m+1):v==="x"&&_.length===1&&_[0]==="0"?(b=A,_.push(v),g=v,m+1):/[^\d]/.test(v)?(ye(_.join("")),b=o,m):(_.push(v),g=v,m+1)}function re(){return v==="f"&&(_.push(v),g=v,m+=1),/[eE]/.test(v)||(v==="-"||v==="+")&&/[eE]/.test(g)?(_.push(v),g=v,m+1):/[^\d]/.test(v)?(ye(_.join("")),b=o,m):(_.push(v),g=v,m+1)}function le(){if(/[^\d\w_]/.test(v)){var ne=_.join("");return P[ne]?b=w:Ce[ne]?b=h:b=p,ye(_.join("")),b=o,m}return _.push(v),g=v,m+1}}return li}var ui,wa;function Wf(){if(wa)return ui;wa=1;var e=qf();ui=t;function t(n,r){var i=e(r),o=[];return o=o.concat(i(n)),o=o.concat(i(null)),o}return ui}Wf();function Yf(e,t){if(typeof e!="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Xf(e){var t=Yf(e,"string");return typeof t=="symbol"?t:String(t)}function ze(e,t,n){return t=Xf(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var pe={position:"csm_Position",positionRaw:"csm_PositionRaw",pointSize:"csm_PointSize",fragColor:"csm_FragColor",diffuseColor:"csm_DiffuseColor",normal:"csm_Normal",roughness:"csm_Roughness",metalness:"csm_Metalness",emissive:"csm_Emissive",ao:"csm_AO",bump:"csm_Bump",depthAlpha:"csm_DepthAlpha"},ot,hn;ot={},ze(ot,"".concat(pe.normal),{"#include ":` + vec3 objectNormal = `.concat(pe.normal,`; + #ifdef USE_TANGENT + vec3 objectTangent = vec3( tangent.xyz ); + #endif + `)}),ze(ot,"".concat(pe.position),{"#include ":` + vec3 transformed = `.concat(pe.position,`; + `)}),ze(ot,"".concat(pe.positionRaw),{"#include ":` + vec4 csm_internal_positionUnprojected = `.concat(pe.positionRaw,`; + mat4x4 csm_internal_unprojectMatrix = projectionMatrix * modelViewMatrix; + #ifdef USE_INSTANCING + csm_internal_unprojectMatrix = csm_internal_unprojectMatrix * instanceMatrix; + #endif + csm_internal_positionUnprojected = inverse(csm_internal_unprojectMatrix) * csm_internal_positionUnprojected; + vec3 transformed = csm_internal_positionUnprojected.xyz; + `)}),ze(ot,"".concat(pe.pointSize),{"gl_PointSize = size;":` + gl_PointSize = `.concat(pe.pointSize,`; + `)}),ze(ot,"".concat(pe.diffuseColor),{"#include ":` + #include + diffuseColor = `.concat(pe.diffuseColor,`; + `)}),ze(ot,"".concat(pe.fragColor),{"#include ":` + #include + gl_FragColor = `.concat(pe.fragColor,`; + `)}),ze(ot,"".concat(pe.emissive),{"vec3 totalEmissiveRadiance = emissive;":` + vec3 totalEmissiveRadiance = `.concat(pe.emissive,`; + `)}),ze(ot,"".concat(pe.roughness),{"#include ":` + #include + roughnessFactor = `.concat(pe.roughness,`; + `)}),ze(ot,"".concat(pe.metalness),{"#include ":` + #include + metalnessFactor = `.concat(pe.metalness,`; + `)}),ze(ot,"".concat(pe.ao),{"#include ":` + #include + reflectedLight.indirectDiffuse *= 1. - `.concat(pe.ao,`; + `)}),ze(ot,"".concat(pe.bump),{"#include ":` + #include + + vec3 csm_internal_orthogonal = `.concat(pe.bump," - (dot(").concat(pe.bump,`, normal) * normal); + vec3 csm_internal_projectedbump = mat3(csm_internal_vModelViewMatrix) * csm_internal_orthogonal; + normal = normalize(normal - csm_internal_projectedbump); + `)}),ze(ot,"".concat(pe.depthAlpha),{"gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );":` + gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity * `.concat(pe.depthAlpha,` ); + `),"gl_FragColor = packDepthToRGBA( fragCoordZ );":` + gl_FragColor = packDepthToRGBA( fragCoordZ ); + gl_FragColor.a *= `.concat(pe.depthAlpha,`; + `)});hn={},ze(hn,"".concat(pe.position),{"gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );":` + gl_Position = projectionMatrix * modelViewMatrix * vec4( `.concat(pe.position,`, 1.0 ); + `)}),ze(hn,"".concat(pe.positionRaw),{"gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );":` + gl_Position = `.concat(pe.position,`; + `)}),ze(hn,"".concat(pe.diffuseColor),{"gl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );":` + gl_FragColor = `.concat(pe.diffuseColor,`; + `)}),ze(hn,"".concat(pe.fragColor),{"gl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );":` + gl_FragColor = `.concat(pe.fragColor,`; + `)});var at;at={},ze(at,"".concat(pe.position),"*"),ze(at,"".concat(pe.positionRaw),"*"),ze(at,"".concat(pe.normal),"*"),ze(at,"".concat(pe.pointSize),["PointsMaterial"]),ze(at,"".concat(pe.diffuseColor),"*"),ze(at,"".concat(pe.fragColor),"*"),ze(at,"".concat(pe.emissive),["MeshStandardMaterial","MeshPhysicalMaterial"]),ze(at,"".concat(pe.roughness),["MeshStandardMaterial","MeshPhysicalMaterial"]),ze(at,"".concat(pe.metalness),["MeshStandardMaterial","MeshPhysicalMaterial"]),ze(at,"".concat(pe.ao),["MeshStandardMaterial","MeshPhysicalMaterial","MeshBasicMaterial","MeshLambertMaterial","MeshPhongMaterial","MeshToonMaterial"]),ze(at,"".concat(pe.bump),["MeshLambertMaterial","MeshMatcapMaterial","MeshNormalMaterial","MeshPhongMaterial","MeshPhysicalMaterial","MeshStandardMaterial","MeshToonMaterial","ShadowMaterial"]),ze(at,"".concat(pe.depthAlpha),"*");var Qf=`void main() { + gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0); +}`,Zf=`#include + +void main() { + vec2 center = vec2(0., 1.); + float rotation = 0.0; + + + + float size = 0.03; + + vec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 ); + vec2 scale; + scale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) ); + scale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) ); + + bool isPerspective = isPerspectiveMatrix( projectionMatrix ); + if ( isPerspective ) scale *= - mvPosition.z; + + vec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale * size; + vec2 rotatedPosition; + rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y; + rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y; + mvPosition.xy += rotatedPosition; + + gl_Position = projectionMatrix * mvPosition; +}`;const Wn=new de(0,0,0),_o=new de(0,0,0),Jf=new de(0,0,0);function ka(e,t,n){const r=Wn.setFromMatrixPosition(e.matrixWorld);r.project(t);const i=n.width/2,o=n.height/2;return[(Number.isNaN(r.x)?0:r.x)*i+i,-(r.y*o)+o]}function ep(e,t){const n=Wn.setFromMatrixPosition(e.matrixWorld),r=_o.setFromMatrixPosition(t.matrixWorld),i=n.sub(r),o=t.getWorldDirection(Jf);return i.angleTo(o)>Math.PI/2}function tp(e,t,n,r){const i=Wn.setFromMatrixPosition(e.matrixWorld),o=i.clone();o.project(t),n.setFromCamera(new Xe(o.x,o.y),t);const a=n.intersectObjects(r,!0);if(a.length>0){const s=a[0].distance;return i.distanceTo(n.ray.origin)Math.abs(e)<1e-10?0:e;function gl(e,t,n=""){let r="matrix3d(";for(let i=0;i!==16;i++)r+=Ki(t[i]*e.elements[i])+(i!==15?",":")");return n+r}const ip=(e=>t=>gl(t,e))([1,-1,1,1,1,-1,1,1,1,-1,1,1,1,-1,1,1]),op=(e=>(t,n)=>gl(t,e(n),"translate(-50%,-50%)"))(e=>[1/e,1/e,1/e,1,-1/e,-1/e,-1/e,-1,1/e,1/e,1/e,1,1,1,1,1]),ap=["geometry","material"];new Ls;var Gi={exports:{}},sp=Gi.exports,Ta;function lp(){return Ta||(Ta=1,function(e,t){(function(n,r){e.exports=r()})(sp,function(){var n=function(){function r(p){return a.appendChild(p.dom),p}function i(p){for(var h=0;hl+1e3&&(c.update(1e3*u/(p-l),100),l=p,u=0,f)){var h=performance.memory;f.update(h.usedJSHeapSize/1048576,h.jsHeapSizeLimit/1048576)}return p},update:function(){s=this.end()},domElement:a,setMode:i}};return n.Panel=function(r,i,o){var a=1/0,s=0,l=Math.round,u=l(window.devicePixelRatio||1),c=80*u,d=48*u,f=3*u,p=2*u,h=3*u,w=15*u,y=74*u,x=30*u,A=document.createElement("canvas");A.width=c,A.height=d,A.style.cssText="width:80px;height:48px";var T=A.getContext("2d");return T.font="bold "+9*u+"px Helvetica,Arial,sans-serif",T.textBaseline="top",T.fillStyle=o,T.fillRect(0,0,c,d),T.fillStyle=i,T.fillText(r,f,p),T.fillRect(h,w,y,x),T.fillStyle=o,T.globalAlpha=.9,T.fillRect(h,w,y,x),{dom:A,update:function(M,R){a=Math.min(a,M),s=Math.max(s,M),T.fillStyle=o,T.globalAlpha=1,T.fillRect(0,0,c,w),T.fillStyle=i,T.fillText(l(M)+" "+r+" ("+l(a)+"-"+l(s)+")",f,p),T.drawImage(A,h+u,w,y-u,x,h,w,y-u,x),T.fillRect(h+y-u,w,u,x),T.fillStyle=o,T.globalAlpha=.9,T.fillRect(h+y-u,w,u,l((1-M/R)*x))}}},n})}(Gi)),Gi.exports}lp();const up={key:0,args:[0,1,64]},cp={key:1,args:[.5,1,64]},dp={key:2},fp=["tone-mapped","map","side","color"];new tt(16777215);const mn=we({__name:"Range",props:{modelValue:null,min:{default:0},max:{default:100},step:{default:1},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","mousedown"],setup(e,{emit:t}){const n=e,r=t,i=j(null);function o(h,w,y){return Math.min(Math.max(h,w),y)}function a(h){const w=h.toString();return w.includes("e-")?Number.parseInt(w.split("e-")[1],10):w.includes(".")?w.split(".")[1].length:0}function s(h,w){const y=a(w),x=10**(y+3);return Number.parseFloat((h*x/x).toFixed(y))}const l=Me(()=>s(o(n.modelValue,n.min,n.max),n.step)),u=Me(()=>{const h=(l.value-n.min)/(n.max-n.min)*100;return{width:`${h}%`,backgroundSize:`${h}% 100%`}});function c(h){if(!i.value)return l.value;const w=i.value.getBoundingClientRect(),x=(h.clientX-w.left)/w.width,A=n.max-n.min,T=n.min+A*x,M=Math.round(T/n.step)*n.step;return Math.min(Math.max(M,n.min),n.max)}function d(h){if(n.disabled)return;const w=c(h);r("update:modelValue",w)}function f(h){if(n.disabled)return;h.preventDefault();const w=c(h);r("update:modelValue",w),window.addEventListener("mousemove",d),window.addEventListener("mouseup",p)}function p(h){window.removeEventListener("mousemove",d),window.removeEventListener("mouseup",p)}return yt(()=>{window.removeEventListener("mousemove",d),window.removeEventListener("mouseup",p)}),(h,w)=>(G(),te("span",{ref_key:"sliderRef",ref:i,class:It(["range-slider disabled:pointer-events-none disabled:cursor-default disabled:opacity-50",{disabled:e.disabled}]),bg:"[#e6e1fc] dark:[#676085]","touch-action-none":"",relative:"","inline-block":"","w-full":"","cursor-ew-resize":"","rounded-sm":"",onMousedown:f},[O("span",{style:Ir(u.value),bg:"[#cabeff] dark:[#4e34b9]",relative:"",block:"","rounded-sm":"",h:"[14px]"},null,4),O("span",{role:"slider",class:"slider-thumb",style:Ir({left:`${(l.value-e.min)/(e.max-e.min)*100}%`}),absolute:"","rounded-sm":"",w:"[1px]",h:"[14px]",bg:"zinc-100 dark:zinc-400",top:"50%",transform:"translate-x-[50%] translate-y-[-50%]"},null,4)],34))}});function _a(e,t){if(t===hc)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),e;if(t===$i||t===js){let n=e.getIndex();if(n===null){const a=[],s=e.getAttribute("position");if(s!==void 0){for(let l=0;l=2.0 are supported."));return}const u=new Gp(o,{path:n||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});u.fileLoader.setRequestHeader(this.requestHeader);for(let c=0;c=0&&s[d]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+d+'".')}}u.setExtensions(a),u.setPlugins(s),u.parse(r,i)}parseAsync(t,n){const r=this;return new Promise(function(i,o){r.parse(t,n,i,o)})}}function hp(){let e={};return{get:function(t){return e[t]},add:function(t,n){e[t]=n},remove:function(t){delete e[t]},removeAll:function(){e={}}}}const ke={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_DISPERSION:"KHR_materials_dispersion",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class mp{constructor(t){this.parser=t,this.name=ke.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const t=this.parser,n=this.parser.json.nodes||[];for(let r=0,i=n.length;r=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return n.loadTextureImage(t,o.source,a)}}class Sp{constructor(t){this.parser=t,this.name=ke.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(t){const n=this.name,r=this.parser,i=r.json,o=i.textures[t];if(!o.extensions||!o.extensions[n])return null;const a=o.extensions[n],s=i.images[a.source];let l=r.textureLoader;if(s.uri){const u=r.options.manager.getHandler(s.uri);u!==null&&(l=u)}return this.detectSupport().then(function(u){if(u)return r.loadTextureImage(t,a.source,l);if(i.extensionsRequired&&i.extensionsRequired.indexOf(n)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return r.loadTexture(t)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(t){const n=new Image;n.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",n.onload=n.onerror=function(){t(n.height===1)}})),this.isSupported}}class Cp{constructor(t){this.parser=t,this.name=ke.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(t){const n=this.name,r=this.parser,i=r.json,o=i.textures[t];if(!o.extensions||!o.extensions[n])return null;const a=o.extensions[n],s=i.images[a.source];let l=r.textureLoader;if(s.uri){const u=r.options.manager.getHandler(s.uri);u!==null&&(l=u)}return this.detectSupport().then(function(u){if(u)return r.loadTextureImage(t,a.source,l);if(i.extensionsRequired&&i.extensionsRequired.indexOf(n)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return r.loadTexture(t)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(t){const n=new Image;n.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",n.onload=n.onerror=function(){t(n.height===1)}})),this.isSupported}}class Rp{constructor(t){this.name=ke.EXT_MESHOPT_COMPRESSION,this.parser=t}loadBufferView(t){const n=this.parser.json,r=n.bufferViews[t];if(r.extensions&&r.extensions[this.name]){const i=r.extensions[this.name],o=this.parser.getDependency("buffer",i.buffer),a=this.parser.options.meshoptDecoder;if(!a||!a.supported){if(n.extensionsRequired&&n.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return o.then(function(s){const l=i.byteOffset||0,u=i.byteLength||0,c=i.count,d=i.byteStride,f=new Uint8Array(s,l,u);return a.decodeGltfBufferAsync?a.decodeGltfBufferAsync(c,d,f,i.mode,i.filter).then(function(p){return p.buffer}):a.ready.then(function(){const p=new ArrayBuffer(c*d);return a.decodeGltfBuffer(new Uint8Array(p),c,d,f,i.mode,i.filter),p})})}else return null}}class Op{constructor(t){this.name=ke.EXT_MESH_GPU_INSTANCING,this.parser=t}createNodeMesh(t){const n=this.parser.json,r=n.nodes[t];if(!r.extensions||!r.extensions[this.name]||r.mesh===void 0)return null;const i=n.meshes[r.mesh];for(const u of i.primitives)if(u.mode!==bt.TRIANGLES&&u.mode!==bt.TRIANGLE_STRIP&&u.mode!==bt.TRIANGLE_FAN&&u.mode!==void 0)return null;const a=r.extensions[this.name].attributes,s=[],l={};for(const u in a)s.push(this.parser.getDependency("accessor",a[u]).then(c=>(l[u]=c,l[u])));return s.length<1?null:(s.push(this.parser.createNodeMesh(t)),Promise.all(s).then(u=>{const c=u.pop(),d=c.isGroup?c.children:[c],f=u[0].count,p=[];for(const h of d){const w=new Ut,y=new de,x=new _r,A=new de(1,1,1),T=new bc(h.geometry,h.material,f);for(let M=0;M0||e.search(/^data\:image\/jpeg/)===0?"image/jpeg":e.search(/\.webp($|\?)/i)>0||e.search(/^data\:image\/webp/)===0?"image/webp":e.search(/\.ktx2($|\?)/i)>0||e.search(/^data\:image\/ktx2/)===0?"image/ktx2":"image/png"}const Kp=new Ut;class Gp{constructor(t={},n={}){this.json=t,this.extensions={},this.plugins={},this.options=n,this.cache=new hp,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let r=!1,i=-1,o=!1,a=-1;if(typeof navigator<"u"){const s=navigator.userAgent;r=/^((?!chrome|android).)*safari/i.test(s)===!0;const l=s.match(/Version\/(\d+)/);i=r&&l?parseInt(l[1],10):-1,o=s.indexOf("Firefox")>-1,a=o?s.match(/Firefox\/([0-9]+)\./)[1]:-1}typeof createImageBitmap>"u"||r&&i<17||o&&a<98?this.textureLoader=new wc(this.options.manager):this.textureLoader=new kc(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new Vs(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),this.options.crossOrigin==="use-credentials"&&this.fileLoader.setWithCredentials(!0)}setExtensions(t){this.extensions=t}setPlugins(t){this.plugins=t}parse(t,n){const r=this,i=this.json,o=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(a){return a._markDefs&&a._markDefs()}),Promise.all(this._invokeAll(function(a){return a.beforeRoot&&a.beforeRoot()})).then(function(){return Promise.all([r.getDependencies("scene"),r.getDependencies("animation"),r.getDependencies("camera")])}).then(function(a){const s={scene:a[0][i.scene||0],scenes:a[0],animations:a[1],cameras:a[2],asset:i.asset,parser:r,userData:{}};return tn(o,s,i),Bt(s,i),Promise.all(r._invokeAll(function(l){return l.afterRoot&&l.afterRoot(s)})).then(function(){for(const l of s.scenes)l.updateMatrixWorld();t(s)})}).catch(n)}_markDefs(){const t=this.json.nodes||[],n=this.json.skins||[],r=this.json.meshes||[];for(let i=0,o=n.length;i{const l=this.associations.get(a);l!=null&&this.associations.set(s,l);for(const[u,c]of a.children.entries())o(c,s.children[u])};return o(r,i),i.name+="_instance_"+t.uses[n]++,i}_invokeOne(t){const n=Object.values(this.plugins);n.push(this);for(let r=0;r=2&&y.setY(v,m[E*l+1]),l>=3&&y.setZ(v,m[E*l+2]),l>=4&&y.setW(v,m[E*l+3]),l>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}y.normalized=h}return y})}loadTexture(t){const n=this.json,r=this.options,o=n.textures[t].source,a=n.images[o];let s=this.textureLoader;if(a.uri){const l=r.manager.getHandler(a.uri);l!==null&&(s=l)}return this.loadTextureImage(t,o,s)}loadTextureImage(t,n,r){const i=this,o=this.json,a=o.textures[t],s=o.images[n],l=(s.uri||s.bufferView)+":"+a.sampler;if(this.textureCache[l])return this.textureCache[l];const u=this.loadImageSource(n,r).then(function(c){c.flipY=!1,c.name=a.name||s.name||"",c.name===""&&typeof s.uri=="string"&&s.uri.startsWith("data:image/")===!1&&(c.name=s.uri);const f=(o.samplers||{})[a.sampler]||{};return c.magFilter=Aa[f.magFilter]||Ar,c.minFilter=Aa[f.minFilter]||mo,c.wrapS=Ma[f.wrapS]||Mr,c.wrapT=Ma[f.wrapT]||Mr,c.generateMipmaps=!c.isCompressedTexture&&c.minFilter!==an&&c.minFilter!==Ar,i.associations.set(c,{textures:t}),c}).catch(function(){return null});return this.textureCache[l]=u,u}loadImageSource(t,n){const r=this,i=this.json,o=this.options;if(this.sourceCache[t]!==void 0)return this.sourceCache[t].then(d=>d.clone());const a=i.images[t],s=self.URL||self.webkitURL;let l=a.uri||"",u=!1;if(a.bufferView!==void 0)l=r.getDependency("bufferView",a.bufferView).then(function(d){u=!0;const f=new Blob([d],{type:a.mimeType});return l=s.createObjectURL(f),l});else if(a.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+t+" is missing URI and bufferView");const c=Promise.resolve(l).then(function(d){return new Promise(function(f,p){let h=f;n.isImageBitmapLoader===!0&&(h=function(w){const y=new Er(w);y.needsUpdate=!0,f(y)}),n.load(Fn.resolveURL(d,o.path),h,void 0,p)})}).then(function(d){return u===!0&&s.revokeObjectURL(l),Bt(d,a),d.userData.mimeType=a.mimeType||Hp(a.uri),d}).catch(function(d){throw console.error("THREE.GLTFLoader: Couldn't load texture",l),d});return this.sourceCache[t]=c,c}assignTexture(t,n,r,i){const o=this;return this.getDependency("texture",r.index).then(function(a){if(!a)return null;if(r.texCoord!==void 0&&r.texCoord>0&&(a=a.clone(),a.channel=r.texCoord),o.extensions[ke.KHR_TEXTURE_TRANSFORM]){const s=r.extensions!==void 0?r.extensions[ke.KHR_TEXTURE_TRANSFORM]:void 0;if(s){const l=o.associations.get(a);a=o.extensions[ke.KHR_TEXTURE_TRANSFORM].extendTexture(a,s),o.associations.set(a,l)}}return i!==void 0&&(a.colorSpace=i),t[n]=a,a})}assignFinalMaterial(t){const n=t.geometry;let r=t.material;const i=n.attributes.tangent===void 0,o=n.attributes.color!==void 0,a=n.attributes.normal===void 0;if(t.isPoints){const s="PointsMaterial:"+r.uuid;let l=this.cache.get(s);l||(l=new Tc,Yr.prototype.copy.call(l,r),l.color.copy(r.color),l.map=r.map,l.sizeAttenuation=!1,this.cache.add(s,l)),r=l}else if(t.isLine){const s="LineBasicMaterial:"+r.uuid;let l=this.cache.get(s);l||(l=new _c,Yr.prototype.copy.call(l,r),l.color.copy(r.color),l.map=r.map,this.cache.add(s,l)),r=l}if(i||o||a){let s="ClonedMaterial:"+r.uuid+":";i&&(s+="derivative-tangents:"),o&&(s+="vertex-colors:"),a&&(s+="flat-shading:");let l=this.cache.get(s);l||(l=r.clone(),o&&(l.vertexColors=!0),a&&(l.flatShading=!0),i&&(l.normalScale&&(l.normalScale.y*=-1),l.clearcoatNormalScale&&(l.clearcoatNormalScale.y*=-1)),this.cache.add(s,l),this.associations.set(l,this.associations.get(r))),r=l}t.material=r}getMaterialType(){return Hs}loadMaterial(t){const n=this,r=this.json,i=this.extensions,o=r.materials[t];let a;const s={},l=o.extensions||{},u=[];if(l[ke.KHR_MATERIALS_UNLIT]){const d=i[ke.KHR_MATERIALS_UNLIT];a=d.getMaterialType(),u.push(d.extendParams(s,o,n))}else{const d=o.pbrMetallicRoughness||{};if(s.color=new tt(1,1,1),s.opacity=1,Array.isArray(d.baseColorFactor)){const f=d.baseColorFactor;s.color.setRGB(f[0],f[1],f[2],$t),s.opacity=f[3]}d.baseColorTexture!==void 0&&u.push(n.assignTexture(s,"map",d.baseColorTexture,Vn)),s.metalness=d.metallicFactor!==void 0?d.metallicFactor:1,s.roughness=d.roughnessFactor!==void 0?d.roughnessFactor:1,d.metallicRoughnessTexture!==void 0&&(u.push(n.assignTexture(s,"metalnessMap",d.metallicRoughnessTexture)),u.push(n.assignTexture(s,"roughnessMap",d.metallicRoughnessTexture))),a=this._invokeOne(function(f){return f.getMaterialType&&f.getMaterialType(t)}),u.push(Promise.all(this._invokeAll(function(f){return f.extendMaterialParams&&f.extendMaterialParams(t,s)})))}o.doubleSided===!0&&(s.side=Dr);const c=o.alphaMode||di.OPAQUE;if(c===di.BLEND?(s.transparent=!0,s.depthWrite=!1):(s.transparent=!1,c===di.MASK&&(s.alphaTest=o.alphaCutoff!==void 0?o.alphaCutoff:.5)),o.normalTexture!==void 0&&a!==yn&&(u.push(n.assignTexture(s,"normalMap",o.normalTexture)),s.normalScale=new Xe(1,1),o.normalTexture.scale!==void 0)){const d=o.normalTexture.scale;s.normalScale.set(d,d)}if(o.occlusionTexture!==void 0&&a!==yn&&(u.push(n.assignTexture(s,"aoMap",o.occlusionTexture)),o.occlusionTexture.strength!==void 0&&(s.aoMapIntensity=o.occlusionTexture.strength)),o.emissiveFactor!==void 0&&a!==yn){const d=o.emissiveFactor;s.emissive=new tt().setRGB(d[0],d[1],d[2],$t)}return o.emissiveTexture!==void 0&&a!==yn&&u.push(n.assignTexture(s,"emissiveMap",o.emissiveTexture,Vn)),Promise.all(u).then(function(){const d=new a(s);return o.name&&(d.name=o.name),Bt(d,o),n.associations.set(d,{materials:t}),o.extensions&&tn(i,d,o),d})}createUniqueName(t){const n=jn.sanitizeNodeName(t||"");return n in this.nodeNamesUsed?n+"_"+ ++this.nodeNamesUsed[n]:(this.nodeNamesUsed[n]=0,n)}loadGeometries(t){const n=this,r=this.extensions,i=this.primitiveCache;function o(s){return r[ke.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(s,n).then(function(l){return Ia(l,s,n)})}const a=[];for(let s=0,l=t.length;s0&&jp(x,o),x.name=n.createUniqueName(o.name||"mesh_"+t),Bt(x,o),y.extensions&&tn(i,x,y),n.assignFinalMaterial(x),d.push(x)}for(let p=0,h=d.length;p1?c=new Xr:u.length===1?c=u[0]:c=new go,c!==u[0])for(let d=0,f=u.length;d{const d=new Map;for(const[f,p]of i.associations)(f instanceof Yr||f instanceof Er)&&d.set(f,p);return c.traverse(f=>{const p=i.associations.get(f);p!=null&&d.set(f,p)}),d};return i.associations=u(o),o})}_createAnimationTracks(t,n,r,i,o){const a=[],s=t.name?t.name:t.uuid,l=[];Gt[o.path]===Gt.weights?t.traverse(function(f){f.morphTargetInfluences&&l.push(f.name?f.name:f.uuid)}):l.push(s);let u;switch(Gt[o.path]){case Gt.weights:u=qo;break;case Gt.rotation:u=Wo;break;case Gt.position:case Gt.scale:u=Go;break;default:switch(r.itemSize){case 1:u=qo;break;case 2:case 3:default:u=Go;break}break}const c=i.interpolation!==void 0?Fp[i.interpolation]:co,d=this._getArrayFromAccessor(r);for(let f=0,p=l.length;fnew Pu(e)),nn.register(e=>new Lu(e)),nn)}async function Wp(e){const r=(await bl().loadAsync(e)).userData;if(!r.vrmAnimations){console.warn("No VRM animations found in the .vrma file");return}if(r.vrmAnimations.length===0){console.warn("No VRM animations found in the .vrma file");return}return r.vrmAnimations[0]}async function Yp(e,t){if(!e){console.warn("No VRM found");return}if(t)return Du(t,e)}function Xp(){const e=j(!1),t=j(0),n=j(0),r=.2,i=1,o=6,a=j(Math.random()*(o-i)+i);function s(l,u){if(l!=null&&l.expressionManager&&(n.value+=u,!e.value&&n.value>=a.value&&(e.value=!0,t.value=0),e.value)){t.value+=u/r;const c=Math.sin(Math.PI*t.value);l.expressionManager.setValue("blink",c),t.value>=1&&(e.value=!1,n.value=0,l.expressionManager.setValue("blink",0),a.value=Math.random()*(o-i)+i)}}return{update:s}}function Qp(){let e=-1,t,n=0;function r(){t?t.set(rn(-.25,.25),rn(-.2,.15),-.65):t=new de(rn(-.25,.25),rn(-.2,.15),-.65)}function i(o,a){var s;!(o!=null&&o.expressionManager)||!o.lookAt||(n>=e?(r(),n=0,e=bs()/1e3):t||r(),o.lookAt.target||(o.lookAt.target=new go),o.lookAt.target.position.lerp(t,rn(.2,.5)),(s=o.lookAt)==null||s.update(a),n+=a)}return{update:i}}async function Zp(e,t){const i=(await bl().loadAsync(e,a=>{var s;return(s=t==null?void 0:t.onProgress)==null?void 0:s.call(t,a)})).userData;if(!i.vrm)return;const o=i.vrm;if(Di.removeUnnecessaryVertices(o.scene),Di.combineSkeletons(o.scene),o.scene.traverse(a=>{a.frustumCulled=!1}),o.lookAt){const a=new Nu(o.lookAt);a.name="lookAtQuaternionProxy",o.scene.add(a)}return t!=null&&t.scene&&t.scene.add(o.scene),t!=null&&t.position&&o.scene.position.set(...t.position),o}function Jp(e){const t=j(null),n=j(!1),r=j(0),i=j(new Map),o=j(new Map),a=j(),s=(x,A,T)=>x+(A-x)*T,l=x=>x<.5?4*x*x*x:1-(-2*x+2)**3/2,u=new Map([["happy",{expression:[{name:"happy",value:1,duration:.3},{name:"aa",value:.3}],blendDuration:.3}],["sad",{expression:[{name:"sad",value:1},{name:"oh",value:.2}],blendDuration:.3}],["angry",{expression:[{name:"angry",value:1},{name:"ee",value:.4}],blendDuration:.2}],["surprised",{expression:[{name:"Surprised",value:1},{name:"oh",value:.6}],blendDuration:.1}],["neutral",{expression:[{name:"neutral",value:1}],blendDuration:.5}]]),c=()=>{a.value&&(clearTimeout(a.value),a.value=void 0)},d=x=>{var T;if(c(),!u.has(x)){console.warn(`Emotion ${x} not found`);return}const A=u.get(x);if(t.value=x,n.value=!0,r.value=0,e.expressionManager){const M=Object.keys(e.expressionManager.expressionMap);for(const R of M)e.expressionManager.setValue(R,0)}i.value.clear(),o.value.clear();for(const M of A.expression||[]){const R=((T=e.expressionManager)==null?void 0:T.getValue(M.name))||0;i.value.set(M.name,R),o.value.set(M.name,M.value)}};return{currentEmotion:t,isTransitioning:n,setEmotion:d,setEmotionWithResetAfter:(x,A)=>{c(),d(x),a.value=setTimeout(()=>{d("neutral"),a.value=void 0},A)},update:x=>{var M;if(!n.value||!t.value)return;const T=u.get(t.value).blendDuration||.3;r.value+=x/T,r.value>=1&&(r.value=1,n.value=!1);for(const[R,m]of o.value){const E=i.value.get(R)||0,b=s(E,m,l(r.value));(M=e.expressionManager)==null||M.setValue(R,b)}},addEmotionState:(x,A)=>{u.set(x,A)},removeEmotionState:x=>{u.delete(x)},dispose:()=>{c()}}}const eh=we({__name:"Model",props:{model:null,idleAnimation:null,loadAnimations:null,position:null,paused:{type:Boolean}},emits:["loadModelProgress","error"],setup(e,{expose:t,emit:n}){const r=e,i=n;let o;const a=j(),s=j(),{scene:l}=Lr(),{onBeforeRender:u}=Tr(),c=Xp(),d=Qp(),f=j();Se(()=>r.position,([w,y,x])=>{a.value&&a.value.scene.position.set(w,y,x)}),Tt(async()=>{if(l.value)try{const w=await Zp(r.model,{scene:l.value,lookAt:!0,position:r.position,onProgress:A=>i("loadModelProgress",Number.parseFloat((100*(A.loaded/A.total)).toFixed(2)))});if(!w){console.warn("No VRM model loaded");return}const y=await Wp(r.idleAnimation),x=await Yp(w,y);if(!x){console.warn("No VRM animation loaded");return}s.value=new Dc(w.scene),s.value.clipAction(x).play(),f.value=Jp(w),a.value=w,o=u(({delta:A})=>{var T,M,R;(T=s.value)==null||T.update(A),(M=a.value)==null||M.update(A),c.update(a.value,A),d.update(a.value,A),(R=f.value)==null||R.update(A)}).off}catch(w){i("error",w)}}),yt(()=>{o==null||o(),a.value&&(a.value.scene.removeFromParent(),Di.deepDispose(a.value.scene))}),t({setExpression(w){var y;(y=f.value)==null||y.setEmotionWithResetAfter(w,1e3)}});const{pause:p,resume:h}=Tr();return Se(()=>r.paused,w=>{w?p():h()}),(w,y)=>He(w.$slots,"default")}}),th=["position"],nh={absolute:"",bottom:"3",right:"3"},rh={flex:"~ row","cursor-pointer":""},ih=["checked","aria-checked"],oh={key:0,"min-w":"50vw",z:"{var h;(h=f.value)==null||h.setExpression(p)}}),(p,h)=>(G(),Ve(Zs,{relative:""},{default:ge(({height:w,width:y})=>[he(N(Nc),{alpha:!0,antialias:!0,width:y,height:w},{default:ge(()=>[he(N(jf)),O("TresPerspectiveCamera",{position:[a.value,s.value,l.value]},null,8,th),h[14]||(h[14]=O("TresDirectionalLight",{color:16777215,intensity:1.2,position:[1,1,1]},null,-1)),h[15]||(h[15]=O("TresAmbientLight",{color:16777215,intensity:1.5},null,-1)),he(eh,{ref_key:"modelRef",ref:f,model:r.model,"idle-animation":r.idleAnimation,position:[u.value,c.value,d.value],paused:r.paused,onLoadModelProgress:h[0]||(h[0]=x=>i("loadModelProgress",x)),onError:h[1]||(h[1]=x=>i("error",x))},null,8,["model","idle-animation","position","paused"])]),_:2},1032,["width","height"]),O("div",nh,[O("div",rh,[O("label",{class:It([o.value?"bg-zinc-300 dark:bg-zinc-200":"bg-zinc-100 dark:bg-zinc-700"]),transition:"all ease-in-out duration-500",text:"lg zinc-500 dark:zinc-400","m-1":"","h-fit":"","w-fit":"","cursor-pointer":"","appearance-none":"","gap-1":"","rounded-lg":"","rounded-md":"","border-none":"","p-2":"","outline-none":""},[wt(O("input",{"onUpdate:modelValue":h[2]||(h[2]=x=>o.value=x),checked:o.value,"aria-checked":o.value,name:"showLive2DViewerInspector",type:"checkbox",hidden:"","appearance-none":"","outline-none":""},null,8,ih),[[Pr,o.value]]),h[16]||(h[16]=O("div",{"select-none":""},[O("div",{"i-solar:bug-bold-duotone":""})],-1))],2)]),he(Br,null,{default:ge(()=>[o.value?(G(),te("div",oh,[O("div",ah,[O("div",sh,[O("span",null,ae(p.$t("stage.viewers.debug-menu.vrm.model.title")),1)]),he(Sr,{"h-fit":"","w-full":"",flex:"~ col",border:"~ gray/25 rounded-lg",divide:"y dashed gray/25","of-clip":"","shadow-sm":""},{label:ge(()=>[O("span",lh,ae(p.$t("stage.viewers.debug-menu.vrm.camera")),1)]),default:ge(()=>[O("div",uh,[h[17]||(h[17]=O("div",{text:"zinc-400 dark:zinc-500"},[O("span",null,"X")],-1)),O("label",ch,[he(mn,{modelValue:a.value,"onUpdate:modelValue":h[3]||(h[3]=x=>a.value=x),min:-10,max:10,step:.01},null,8,["modelValue"])]),O("div",dh,[O("span",null,ae(a.value),1)]),h[18]||(h[18]=O("div",{text:"zinc-400 dark:zinc-500"},[O("span",null,"Y")],-1)),O("label",fh,[he(mn,{modelValue:s.value,"onUpdate:modelValue":h[4]||(h[4]=x=>s.value=x),min:-10,max:10,step:.01},null,8,["modelValue"])]),O("div",ph,[O("span",null,ae(s.value),1)]),h[19]||(h[19]=O("div",{text:"zinc-400 dark:zinc-500"},[O("span",null,"Z")],-1)),O("label",hh,[he(mn,{modelValue:l.value,"onUpdate:modelValue":h[5]||(h[5]=x=>l.value=x),min:-10,max:10,step:.01},null,8,["modelValue"])]),O("div",mh,[O("span",null,ae(l.value),1)])])]),_:1}),he(Sr,{"h-fit":"","w-full":"",flex:"~ col",border:"~ gray/25 rounded-lg",divide:"y dashed gray/25","of-clip":"","shadow-sm":""},{label:ge(()=>[O("span",gh,ae(p.$t("stage.viewers.debug-menu.vrm.model.title")),1)]),default:ge(()=>[O("div",vh,[h[20]||(h[20]=O("div",{text:"zinc-400 dark:zinc-500"},[O("span",null,"X")],-1)),O("label",yh,[he(mn,{modelValue:u.value,"onUpdate:modelValue":h[6]||(h[6]=x=>u.value=x),min:-10,max:10,step:.01},null,8,["modelValue"])]),O("div",bh,[O("span",null,ae(u.value),1)]),h[21]||(h[21]=O("div",{text:"zinc-400 dark:zinc-500"},[O("span",null,"Y")],-1)),O("label",xh,[he(mn,{modelValue:c.value,"onUpdate:modelValue":h[7]||(h[7]=x=>c.value=x),min:-10,max:10,step:.01},null,8,["modelValue"])]),O("div",wh,[O("span",null,ae(c.value),1)]),h[22]||(h[22]=O("div",{text:"zinc-400 dark:zinc-500"},[O("span",null,"Z")],-1)),O("label",kh,[he(mn,{modelValue:d.value,"onUpdate:modelValue":h[8]||(h[8]=x=>d.value=x),min:-10,max:10,step:.01},null,8,["modelValue"])]),O("div",Th,[O("span",null,ae(d.value),1)])])]),_:1}),O("div",_h,[O("span",null,ae(p.$t("stage.viewers.debug-menu.emotions")),1)]),O("div",Eh,[O("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:h[9]||(h[9]=x=>{var A;return(A=f.value)==null?void 0:A.setExpression("neutral")})},ae(p.$t("stage.viewers.debug-menu.emotions-btn.neutral")),1),O("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:h[10]||(h[10]=x=>{var A;return(A=f.value)==null?void 0:A.setExpression("surprised")})},ae(p.$t("stage.viewers.debug-menu.emotions-btn.surprised")),1),O("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:h[11]||(h[11]=x=>{var A;return(A=f.value)==null?void 0:A.setExpression("sad")})},ae(p.$t("stage.viewers.debug-menu.emotions-btn.sad")),1),O("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:h[12]||(h[12]=x=>{var A;return(A=f.value)==null?void 0:A.setExpression("angry")})},ae(p.$t("stage.viewers.debug-menu.emotions-btn.angry")),1),O("button",{"rounded-lg":"",bg:"zinc-100/70 dark:zinc-800/50","px-2":"","py-1":"","backdrop-blur-sm":"",onClick:h[13]||(h[13]=x=>{var A;return(A=f.value)==null?void 0:A.setExpression("happy")})},ae(p.$t("stage.viewers.debug-menu.emotions-btn.happy")),1)])])])):Ge("",!0)]),_:1})])]),_:1}))}});var Mh=async e=>(e.fetch??globalThis.fetch)(xo("audio/speech",e.baseURL),{body:Xs(e),headers:bo({"Content-Type":"application/json",...e.headers},e.apiKey),method:"POST",signal:e.abortSignal}).then(wo).then(async t=>t.arrayBuffer());const xl=(e,{apiKey:t,baseURL:n,headers:r})=>({apiKey:t,baseURL:n,headers:r,model:e}),Ih=e=>{const t={...e,baseURL:new URL("http://localhost:11434/v1/")},n=r=>xl(r,t);return{chat:n,embed:n,model:()=>t}};Ih();const Sh=e=>{const t=({applyTextNormalization:n,languageCode:r,nextRequestIds:i,nextText:o,previousRequestIds:a,previousText:s,pronunciationDictionaryLocators:l,seed:u,voiceSettings:c})=>({extraBody:br({applyTextNormalization:n,languageCode:r,nextRequestIds:i,nextText:o,previousRequestIds:a,previousText:s,pronunciationDictionaryLocators:l?l.map(d=>br(d)):void 0,seed:u,voiceSettings:c?br(c):void 0})});return{speech:(n,r)=>({...r?t(r):{},...xl(`elevenlabs/${n}`,{...e,baseURL:(e==null?void 0:e.baseURL)??new URL("http://localhost:5933/v1/")})})}},Ch=["area","base","basefont","bgsound","br","col","command","embed","frame","hr","image","img","input","keygen","link","meta","param","source","track","wbr"];class Yn{constructor(t,n,r){this.normal=n,this.property=t,r&&(this.space=r)}}Yn.prototype.normal={};Yn.prototype.property={};Yn.prototype.space=void 0;function wl(e,t){const n={},r={};for(const i of e)Object.assign(n,i.property),Object.assign(r,i.normal);return new Yn(n,r,t)}function Yi(e){return e.toLowerCase()}class ct{constructor(t,n){this.attribute=n,this.property=t}}ct.prototype.attribute="";ct.prototype.booleanish=!1;ct.prototype.boolean=!1;ct.prototype.commaOrSpaceSeparated=!1;ct.prototype.commaSeparated=!1;ct.prototype.defined=!1;ct.prototype.mustUseProperty=!1;ct.prototype.number=!1;ct.prototype.overloadedBoolean=!1;ct.prototype.property="";ct.prototype.spaceSeparated=!1;ct.prototype.space=void 0;let Rh=0;const xe=cn(),We=cn(),kl=cn(),W=cn(),Fe=cn(),Tn=cn(),ht=cn();function cn(){return 2**++Rh}const Xi=Object.freeze(Object.defineProperty({__proto__:null,boolean:xe,booleanish:We,commaOrSpaceSeparated:ht,commaSeparated:Tn,number:W,overloadedBoolean:kl,spaceSeparated:Fe},Symbol.toStringTag,{value:"Module"})),pi=Object.keys(Xi);class Eo extends ct{constructor(t,n,r,i){let o=-1;if(super(t,n),Sa(this,"space",i),typeof r=="number")for(;++o4&&n.slice(0,4)==="data"&&Dh.test(t)){if(t.charAt(4)==="-"){const o=t.slice(5).replace(Ca,Bh);r="data"+o.charAt(0).toUpperCase()+o.slice(1)}else{const o=t.slice(4);if(!Ca.test(o)){let a=o.replace(Lh,zh);a.charAt(0)!=="-"&&(a="-"+a),t="data"+a}}i=Eo}return new i(r,t)}function zh(e){return"-"+e.toLowerCase()}function Bh(e){return e.charAt(1).toUpperCase()}const Fh=wl([Tl,Oh,Al,Ml,Il],"html"),Sl=wl([Tl,Ph,Al,Ml,Il],"svg"),Ra={}.hasOwnProperty;function Uh(e,t){const n=t||{};function r(i,...o){let a=r.invalid;const s=r.handlers;if(i&&Ra.call(i,e)){const l=String(i[e]);a=Ra.call(s,l)?s[l]:r.unknown}if(a)return a.call(this,i,...o)}return r.handlers=n.handlers||{},r.invalid=n.invalid,r.unknown=n.unknown,r}const $h=/["&'<>`]/g,jh=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Vh=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,Hh=/[|\\{}()[\]^$+*?.]/g,Oa=new WeakMap;function Kh(e,t){if(e=e.replace(t.subset?Gh(t.subset):$h,r),t.subset||t.escapeOnly)return e;return e.replace(jh,n).replace(Vh,r);function n(i,o,a){return t.format((i.charCodeAt(0)-55296)*1024+i.charCodeAt(1)-56320+65536,a.charCodeAt(o+2),t)}function r(i,o,a){return t.format(i.charCodeAt(0),a.charCodeAt(o+1),t)}}function Gh(e){let t=Oa.get(e);return t||(t=qh(e),Oa.set(e,t)),t}function qh(e){const t=[];let n=-1;for(;++n",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",circ:"ˆ",tilde:"˜",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",permil:"‰",lsaquo:"‹",rsaquo:"›",euro:"€"},Jh=["cent","copy","divide","gt","lt","not","para","times"],Cl={}.hasOwnProperty,Qi={};let ar;for(ar in hi)Cl.call(hi,ar)&&(Qi[hi[ar]]=ar);const em=/[^\dA-Za-z]/;function tm(e,t,n,r){const i=String.fromCharCode(e);if(Cl.call(Qi,i)){const o=Qi[i],a="&"+o;return n&&Zh.includes(o)&&!Jh.includes(o)&&(!r||t&&t!==61&&em.test(String.fromCharCode(t)))?a:a+";"}return""}function nm(e,t,n){let r=Yh(e,t,n.omitOptionalSemicolons),i;if((n.useNamedReferences||n.useShortestReferences)&&(i=tm(e,t,n.omitOptionalSemicolons,n.attribute)),(n.useShortestReferences||!i)&&n.useShortestReferences){const o=Qh(e,t,n.omitOptionalSemicolons);o.length|^->||--!>|"],om=["<",">"];function am(e,t,n,r){return r.settings.bogusComments?"":"";function i(o){return _n(o,Object.assign({},r.settings.characterReferences,{subset:om}))}}function sm(e,t,n,r){return""}function Pa(e,t){const n=String(e);if(typeof t!="string")throw new TypeError("Expected character");let r=0,i=n.indexOf(t);for(;i!==-1;)r++,i=n.indexOf(t,i+t.length);return r}function lm(e,t){const n=t||{};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}function um(e){return e.join(" ").trim()}const cm=/[ \t\n\f\r]/g;function Ao(e){return typeof e=="object"?e.type==="text"?La(e.value):!1:La(e)}function La(e){return e.replace(cm,"")===""}const Ze=Ol(1),Rl=Ol(-1),dm=[];function Ol(e){return t;function t(n,r,i){const o=n?n.children:dm;let a=(r||0)+e,s=o[a];if(!i)for(;s&&Ao(s);)a+=e,s=o[a];return s}}const fm={}.hasOwnProperty;function Pl(e){return t;function t(n,r,i){return fm.call(e,n.tagName)&&e[n.tagName](n,r,i)}}const Mo=Pl({body:hm,caption:mi,colgroup:mi,dd:ym,dt:vm,head:mi,html:pm,li:gm,optgroup:bm,option:xm,p:mm,rp:Da,rt:Da,tbody:km,td:Na,tfoot:Tm,th:Na,thead:wm,tr:_m});function mi(e,t,n){const r=Ze(n,t,!0);return!r||r.type!=="comment"&&!(r.type==="text"&&Ao(r.value.charAt(0)))}function pm(e,t,n){const r=Ze(n,t);return!r||r.type!=="comment"}function hm(e,t,n){const r=Ze(n,t);return!r||r.type!=="comment"}function mm(e,t,n){const r=Ze(n,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"):!n||!(n.type==="element"&&(n.tagName==="a"||n.tagName==="audio"||n.tagName==="del"||n.tagName==="ins"||n.tagName==="map"||n.tagName==="noscript"||n.tagName==="video"))}function gm(e,t,n){const r=Ze(n,t);return!r||r.type==="element"&&r.tagName==="li"}function vm(e,t,n){const r=Ze(n,t);return!!(r&&r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd"))}function ym(e,t,n){const r=Ze(n,t);return!r||r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd")}function Da(e,t,n){const r=Ze(n,t);return!r||r.type==="element"&&(r.tagName==="rp"||r.tagName==="rt")}function bm(e,t,n){const r=Ze(n,t);return!r||r.type==="element"&&r.tagName==="optgroup"}function xm(e,t,n){const r=Ze(n,t);return!r||r.type==="element"&&(r.tagName==="option"||r.tagName==="optgroup")}function wm(e,t,n){const r=Ze(n,t);return!!(r&&r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot"))}function km(e,t,n){const r=Ze(n,t);return!r||r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot")}function Tm(e,t,n){return!Ze(n,t)}function _m(e,t,n){const r=Ze(n,t);return!r||r.type==="element"&&r.tagName==="tr"}function Na(e,t,n){const r=Ze(n,t);return!r||r.type==="element"&&(r.tagName==="td"||r.tagName==="th")}const Em=Pl({body:Im,colgroup:Sm,head:Mm,html:Am,tbody:Cm});function Am(e){const t=Ze(e,-1);return!t||t.type!=="comment"}function Mm(e){const t=new Set;for(const 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)}const n=e.children[0];return!n||n.type==="element"}function Im(e){const t=Ze(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&Ao(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function Sm(e,t,n){const r=Rl(n,t),i=Ze(e,-1,!0);return n&&r&&r.type==="element"&&r.tagName==="colgroup"&&Mo(r,n.children.indexOf(r),n)?!1:!!(i&&i.type==="element"&&i.tagName==="col")}function Cm(e,t,n){const r=Rl(n,t),i=Ze(e,-1);return n&&r&&r.type==="element"&&(r.tagName==="thead"||r.tagName==="tbody")&&Mo(r,n.children.indexOf(r),n)?!1:!!(i&&i.type==="element"&&i.tagName==="tr")}const sr={name:[[` +\f\r &/=>`.split(""),` +\f\r "&'/=>\``.split("")],[`\0 +\f\r "&'/<=>`.split(""),`\0 +\f\r "&'/<=>\``.split("")]],unquoted:[[` +\f\r &>`.split(""),`\0 +\f\r "&'<=>\``.split("")],[`\0 +\f\r "&'<=>\``.split(""),`\0 +\f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function Rm(e,t,n,r){const i=r.schema,o=i.space==="svg"?!1:r.settings.omitOptionalTags;let a=i.space==="svg"?r.settings.closeEmptyElements:r.settings.voids.includes(e.tagName.toLowerCase());const s=[];let l;i.space==="html"&&e.tagName==="svg"&&(r.schema=Sl);const u=Om(r,e.properties),c=r.all(i.space==="html"&&e.tagName==="template"?e.content:e);return r.schema=i,c&&(a=!1),(u||!o||!Em(e,t,n))&&(s.push("<",e.tagName,u?" "+u:""),a&&(i.space==="svg"||r.settings.closeSelfClosing)&&(l=u.charAt(u.length-1),(!r.settings.tightSelfClosing||l==="/"||l&&l!=='"'&&l!=="'")&&s.push(" "),s.push("/")),s.push(">")),s.push(c),!a&&(!o||!Mo(e,t,n))&&s.push(""),s.join("")}function Om(e,t){const n=[];let r=-1,i;if(t){for(i in t)if(t[i]!==null&&t[i]!==void 0){const o=Pm(e,i,t[i]);o&&n.push(o)}}for(;++rPa(n,e.alternative)&&(a=e.alternative),s=a+_n(n,Object.assign({},e.settings.characterReferences,{subset:(a==="'"?sr.single:sr.double)[i][o],attribute:!0}))+a),l+(s&&"="+s))}const Lm=["<","&"];function Ll(e,t,n,r){return n&&n.type==="element"&&(n.tagName==="script"||n.tagName==="style")?e.value:_n(e.value,Object.assign({},r.settings.characterReferences,{subset:Lm}))}function Dm(e,t,n,r){return r.settings.allowDangerousHtml?e.value:Ll(e,t,n,r)}function Nm(e,t,n,r){return r.all(e)}const zm=Uh("type",{invalid:Bm,unknown:Fm,handlers:{comment:am,doctype:sm,element:Rm,raw:Dm,root:Nm,text:Ll}});function Bm(e){throw new Error("Expected node, not `"+e+"`")}function Fm(e){const t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}const Um={},$m={},jm=[];function Vm(e,t){const n=t||Um,r=n.quote||'"',i=r==='"'?"'":'"';if(r!=='"'&&r!=="'")throw new Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:Hm,all:Km,settings:{omitOptionalTags:n.omitOptionalTags||!1,allowParseErrors:n.allowParseErrors||!1,allowDangerousCharacters:n.allowDangerousCharacters||!1,quoteSmart:n.quoteSmart||!1,preferUnquoted:n.preferUnquoted||!1,tightAttributes:n.tightAttributes||!1,upperDoctype:n.upperDoctype||!1,tightDoctype:n.tightDoctype||!1,bogusComments:n.bogusComments||!1,tightCommaSeparatedLists:n.tightCommaSeparatedLists||!1,tightSelfClosing:n.tightSelfClosing||!1,collapseEmptyAttributes:n.collapseEmptyAttributes||!1,allowDangerousHtml:n.allowDangerousHtml||!1,voids:n.voids||Ch,characterReferences:n.characterReferences||$m,closeSelfClosing:n.closeSelfClosing||!1,closeEmptyElements:n.closeEmptyElements||!1},schema:n.space==="svg"?Sl:Fh,quote:r,alternative:i}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function Hm(e,t,n){return zm(e,t,n,this)}function Km(e){const t=[],n=e&&e.children||jm;let r=-1;for(;++ri?0:i+t:t=t>i?i:t,n=n>0?n:0,r.length<1e4)a=Array.from(r),a.unshift(t,n),e.splice(...a);else for(n&&e.splice(t,n);o0?(Ct(e,e.length,0,t),e):t}const Fa={}.hasOwnProperty;function Xm(e){const t={};let n=-1;for(;++n13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"�":String.fromCodePoint(n)}function En(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Mt=en(/[A-Za-z]/),vt=en(/[\dA-Za-z]/),Jm=en(/[#-'*+\--9=?A-Z^-~]/);function Zi(e){return e!==null&&(e<32||e===127)}const Ji=en(/\d/),eg=en(/[\dA-Fa-f]/),tg=en(/[!-/:-@[-`{-~]/);function fe(e){return e!==null&&e<-2}function ut(e){return e!==null&&(e<0||e===32)}function Re(e){return e===-2||e===-1||e===32}const ng=en(new RegExp("\\p{P}|\\p{S}","u")),rg=en(/\s/);function en(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function Cn(e){const t=[];let n=-1,r=0,i=0;for(;++n55295&&o<57344){const s=e.charCodeAt(n+1);o<56320&&s>56319&&s<57344?(a=String.fromCharCode(o,s),i=1):a="�"}else a=String.fromCharCode(o);a&&(t.push(e.slice(r,n),encodeURIComponent(a)),r=n+i+1,a=""),i&&(n+=i,i=0)}return t.join("")+e.slice(r)}function Ue(e,t,n,r){const i=r?r-1:Number.POSITIVE_INFINITY;let o=0;return a;function a(l){return Re(l)?(e.enter(n),s(l)):t(l)}function s(l){return Re(l)&&o++a))return;const E=t.events.length;let b=E,v,g;for(;b--;)if(t.events[b][0]==="exit"&&t.events[b][1].type==="chunkFlow"){if(v){g=t.events[b][1].end;break}v=!0}for(x(r),m=E;mT;){const R=n[M];t.containerState=R[1],R[0].exit.call(t,e)}n.length=T}function A(){i.write([null]),o=void 0,i=void 0,t.containerState._closeFlow=void 0}}function lg(e,t,n){return Ue(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function $a(e){if(e===null||ut(e)||rg(e))return 1;if(ng(e))return 2}function So(e,t,n){const r=[];let i=-1;for(;++i1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;const d={...e[r][1].end},f={...e[n][1].start};ja(d,-l),ja(f,l),a={type:l>1?"strongSequence":"emphasisSequence",start:d,end:{...e[r][1].end}},s={type:l>1?"strongSequence":"emphasisSequence",start:{...e[n][1].start},end:f},o={type:l>1?"strongText":"emphasisText",start:{...e[r][1].end},end:{...e[n][1].start}},i={type:l>1?"strong":"emphasis",start:{...a.start},end:{...s.end}},e[r][1].end={...a.start},e[n][1].start={...s.end},u=[],e[r][1].end.offset-e[r][1].start.offset&&(u=xt(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=xt(u,[["enter",i,t],["enter",a,t],["exit",a,t],["enter",o,t]]),u=xt(u,So(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),u=xt(u,[["exit",o,t],["enter",s,t],["exit",s,t],["exit",i,t]]),e[n][1].end.offset-e[n][1].start.offset?(c=2,u=xt(u,[["enter",e[n][1],t],["exit",e[n][1],t]])):c=0,Ct(e,r-1,n-r+3,u),n=r+u.length-c-2;break}}for(n=-1;++n0&&Re(m)?Ue(e,A,"linePrefix",o+1)(m):A(m)}function A(m){return m===null||fe(m)?e.check(Va,w,M)(m):(e.enter("codeFlowValue"),T(m))}function T(m){return m===null||fe(m)?(e.exit("codeFlowValue"),A(m)):(e.consume(m),T)}function M(m){return e.exit("codeFenced"),t(m)}function R(m,E,b){let v=0;return g;function g(B){return m.enter("lineEnding"),m.consume(B),m.exit("lineEnding"),_}function _(B){return m.enter("codeFencedFence"),Re(B)?Ue(m,S,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(B):S(B)}function S(B){return B===s?(m.enter("codeFencedFenceSequence"),z(B)):b(B)}function z(B){return B===s?(v++,m.consume(B),z):v>=a?(m.exit("codeFencedFenceSequence"),Re(B)?Ue(m,V,"whitespace")(B):V(B)):b(B)}function V(B){return B===null||fe(B)?(m.exit("codeFencedFence"),E(B)):b(B)}}}function xg(e,t,n){const r=this;return i;function i(a){return a===null?n(a):(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),o)}function o(a){return r.parser.lazy[r.now().line]?n(a):t(a)}}const gi={name:"codeIndented",tokenize:kg},wg={partial:!0,tokenize:Tg};function kg(e,t,n){const r=this;return i;function i(u){return e.enter("codeIndented"),Ue(e,o,"linePrefix",5)(u)}function o(u){const c=r.events[r.events.length-1];return c&&c[1].type==="linePrefix"&&c[2].sliceSerialize(c[1],!0).length>=4?a(u):n(u)}function a(u){return u===null?l(u):fe(u)?e.attempt(wg,a,l)(u):(e.enter("codeFlowValue"),s(u))}function s(u){return u===null||fe(u)?(e.exit("codeFlowValue"),a(u)):(e.consume(u),s)}function l(u){return e.exit("codeIndented"),t(u)}}function Tg(e,t,n){const r=this;return i;function i(a){return r.parser.lazy[r.now().line]?n(a):fe(a)?(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),i):Ue(e,o,"linePrefix",5)(a)}function o(a){const s=r.events[r.events.length-1];return s&&s[1].type==="linePrefix"&&s[2].sliceSerialize(s[1],!0).length>=4?t(a):fe(a)?i(a):n(a)}}const _g={name:"codeText",previous:Ag,resolve:Eg,tokenize:Mg};function Eg(e){let t=e.length-4,n=3,r,i;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(r=n;++r=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return tthis.left.length)return this.right.slice(this.right.length-r+this.left.length,this.right.length-t+this.left.length).reverse();const i=this.left.slice(t);return i.push(...this.right.slice(this.right.length-r+this.left.length).reverse()),i}splice(t,n,r){const i=n||0;this.setCursor(Math.trunc(t));const o=this.right.splice(this.right.length-i,Number.POSITIVE_INFINITY);return r&&Dn(this.left,r),o.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),Dn(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),Dn(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t=4?t(a):e.interrupt(r.parser.constructs.flow,n,t)(a)}}function $l(e,t,n,r,i,o,a,s,l){const u=l||Number.POSITIVE_INFINITY;let c=0;return d;function d(x){return x===60?(e.enter(r),e.enter(i),e.enter(o),e.consume(x),e.exit(o),f):x===null||x===32||x===41||Zi(x)?n(x):(e.enter(r),e.enter(a),e.enter(s),e.enter("chunkString",{contentType:"string"}),w(x))}function f(x){return x===62?(e.enter(o),e.consume(x),e.exit(o),e.exit(i),e.exit(r),t):(e.enter(s),e.enter("chunkString",{contentType:"string"}),p(x))}function p(x){return x===62?(e.exit("chunkString"),e.exit(s),f(x)):x===null||x===60||fe(x)?n(x):(e.consume(x),x===92?h:p)}function h(x){return x===60||x===62||x===92?(e.consume(x),p):p(x)}function w(x){return!c&&(x===null||x===41||ut(x))?(e.exit("chunkString"),e.exit(s),e.exit(a),e.exit(r),t(x)):c999||p===null||p===91||p===93&&!l||p===94&&!s&&"_hiddenFootnoteSupport"in a.parser.constructs?n(p):p===93?(e.exit(o),e.enter(i),e.consume(p),e.exit(i),e.exit(r),t):fe(p)?(e.enter("lineEnding"),e.consume(p),e.exit("lineEnding"),c):(e.enter("chunkString",{contentType:"string"}),d(p))}function d(p){return p===null||p===91||p===93||fe(p)||s++>999?(e.exit("chunkString"),c(p)):(e.consume(p),l||(l=!Re(p)),p===92?f:d)}function f(p){return p===91||p===92||p===93?(e.consume(p),s++,d):d(p)}}function Vl(e,t,n,r,i,o){let a;return s;function s(f){return f===34||f===39||f===40?(e.enter(r),e.enter(i),e.consume(f),e.exit(i),a=f===40?41:f,l):n(f)}function l(f){return f===a?(e.enter(i),e.consume(f),e.exit(i),e.exit(r),t):(e.enter(o),u(f))}function u(f){return f===a?(e.exit(o),l(a)):f===null?n(f):fe(f)?(e.enter("lineEnding"),e.consume(f),e.exit("lineEnding"),Ue(e,u,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),c(f))}function c(f){return f===a||f===null||fe(f)?(e.exit("chunkString"),u(f)):(e.consume(f),f===92?d:c)}function d(f){return f===a||f===92?(e.consume(f),c):c(f)}}function Un(e,t){let n;return r;function r(i){return fe(i)?(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),n=!0,r):Re(i)?Ue(e,r,n?"linePrefix":"lineSuffix")(i):t(i)}}const Dg={name:"definition",tokenize:zg},Ng={partial:!0,tokenize:Bg};function zg(e,t,n){const r=this;let i;return o;function o(p){return e.enter("definition"),a(p)}function a(p){return jl.call(r,e,s,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(p)}function s(p){return i=En(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),p===58?(e.enter("definitionMarker"),e.consume(p),e.exit("definitionMarker"),l):n(p)}function l(p){return ut(p)?Un(e,u)(p):u(p)}function u(p){return $l(e,c,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(p)}function c(p){return e.attempt(Ng,d,d)(p)}function d(p){return Re(p)?Ue(e,f,"whitespace")(p):f(p)}function f(p){return p===null||fe(p)?(e.exit("definition"),r.parser.defined.push(i),t(p)):n(p)}}function Bg(e,t,n){return r;function r(s){return ut(s)?Un(e,i)(s):n(s)}function i(s){return Vl(e,o,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(s)}function o(s){return Re(s)?Ue(e,a,"whitespace")(s):a(s)}function a(s){return s===null||fe(s)?t(s):n(s)}}const Fg={name:"hardBreakEscape",tokenize:Ug};function Ug(e,t,n){return r;function r(o){return e.enter("hardBreakEscape"),e.consume(o),i}function i(o){return fe(o)?(e.exit("hardBreakEscape"),t(o)):n(o)}}const $g={name:"headingAtx",resolve:jg,tokenize:Vg};function jg(e,t){let n=e.length-2,r=3,i,o;return e[r][1].type==="whitespace"&&(r+=2),n-2>r&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(r===n-1||n-4>r&&e[n-2][1].type==="whitespace")&&(n-=r+1===n?2:4),n>r&&(i={type:"atxHeadingText",start:e[r][1].start,end:e[n][1].end},o={type:"chunkText",start:e[r][1].start,end:e[n][1].end,contentType:"text"},Ct(e,r,n-r+1,[["enter",i,t],["enter",o,t],["exit",o,t],["exit",i,t]])),e}function Vg(e,t,n){let r=0;return i;function i(c){return e.enter("atxHeading"),o(c)}function o(c){return e.enter("atxHeadingSequence"),a(c)}function a(c){return c===35&&r++<6?(e.consume(c),a):c===null||ut(c)?(e.exit("atxHeadingSequence"),s(c)):n(c)}function s(c){return c===35?(e.enter("atxHeadingSequence"),l(c)):c===null||fe(c)?(e.exit("atxHeading"),t(c)):Re(c)?Ue(e,s,"whitespace")(c):(e.enter("atxHeadingText"),u(c))}function l(c){return c===35?(e.consume(c),l):(e.exit("atxHeadingSequence"),s(c))}function u(c){return c===null||c===35||ut(c)?(e.exit("atxHeadingText"),s(c)):(e.consume(c),u)}}const Hg=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],Ka=["pre","script","style","textarea"],Kg={concrete:!0,name:"htmlFlow",resolveTo:Wg,tokenize:Yg},Gg={partial:!0,tokenize:Qg},qg={partial:!0,tokenize:Xg};function Wg(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function Yg(e,t,n){const r=this;let i,o,a,s,l;return u;function u(P){return c(P)}function c(P){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(P),d}function d(P){return P===33?(e.consume(P),f):P===47?(e.consume(P),o=!0,w):P===63?(e.consume(P),i=3,r.interrupt?t:I):Mt(P)?(e.consume(P),a=String.fromCharCode(P),y):n(P)}function f(P){return P===45?(e.consume(P),i=2,p):P===91?(e.consume(P),i=5,s=0,h):Mt(P)?(e.consume(P),i=4,r.interrupt?t:I):n(P)}function p(P){return P===45?(e.consume(P),r.interrupt?t:I):n(P)}function h(P){const ye="CDATA[";return P===ye.charCodeAt(s++)?(e.consume(P),s===ye.length?r.interrupt?t:S:h):n(P)}function w(P){return Mt(P)?(e.consume(P),a=String.fromCharCode(P),y):n(P)}function y(P){if(P===null||P===47||P===62||ut(P)){const ye=P===47,Ie=a.toLowerCase();return!ye&&!o&&Ka.includes(Ie)?(i=1,r.interrupt?t(P):S(P)):Hg.includes(a.toLowerCase())?(i=6,ye?(e.consume(P),x):r.interrupt?t(P):S(P)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(P):o?A(P):T(P))}return P===45||vt(P)?(e.consume(P),a+=String.fromCharCode(P),y):n(P)}function x(P){return P===62?(e.consume(P),r.interrupt?t:S):n(P)}function A(P){return Re(P)?(e.consume(P),A):g(P)}function T(P){return P===47?(e.consume(P),g):P===58||P===95||Mt(P)?(e.consume(P),M):Re(P)?(e.consume(P),T):g(P)}function M(P){return P===45||P===46||P===58||P===95||vt(P)?(e.consume(P),M):R(P)}function R(P){return P===61?(e.consume(P),m):Re(P)?(e.consume(P),R):T(P)}function m(P){return P===null||P===60||P===61||P===62||P===96?n(P):P===34||P===39?(e.consume(P),l=P,E):Re(P)?(e.consume(P),m):b(P)}function E(P){return P===l?(e.consume(P),l=null,v):P===null||fe(P)?n(P):(e.consume(P),E)}function b(P){return P===null||P===34||P===39||P===47||P===60||P===61||P===62||P===96||ut(P)?R(P):(e.consume(P),b)}function v(P){return P===47||P===62||Re(P)?T(P):n(P)}function g(P){return P===62?(e.consume(P),_):n(P)}function _(P){return P===null||fe(P)?S(P):Re(P)?(e.consume(P),_):n(P)}function S(P){return P===45&&i===2?(e.consume(P),F):P===60&&i===1?(e.consume(P),Z):P===62&&i===4?(e.consume(P),ve):P===63&&i===3?(e.consume(P),I):P===93&&i===5?(e.consume(P),ee):fe(P)&&(i===6||i===7)?(e.exit("htmlFlowData"),e.check(Gg,Ce,z)(P)):P===null||fe(P)?(e.exit("htmlFlowData"),z(P)):(e.consume(P),S)}function z(P){return e.check(qg,V,Ce)(P)}function V(P){return e.enter("lineEnding"),e.consume(P),e.exit("lineEnding"),B}function B(P){return P===null||fe(P)?z(P):(e.enter("htmlFlowData"),S(P))}function F(P){return P===45?(e.consume(P),I):S(P)}function Z(P){return P===47?(e.consume(P),a="",J):S(P)}function J(P){if(P===62){const ye=a.toLowerCase();return Ka.includes(ye)?(e.consume(P),ve):S(P)}return Mt(P)&&a.length<8?(e.consume(P),a+=String.fromCharCode(P),J):S(P)}function ee(P){return P===93?(e.consume(P),I):S(P)}function I(P){return P===62?(e.consume(P),ve):P===45&&i===2?(e.consume(P),I):S(P)}function ve(P){return P===null||fe(P)?(e.exit("htmlFlowData"),Ce(P)):(e.consume(P),ve)}function Ce(P){return e.exit("htmlFlow"),t(P)}}function Xg(e,t,n){const r=this;return i;function i(a){return fe(a)?(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),o):n(a)}function o(a){return r.parser.lazy[r.now().line]?n(a):t(a)}}function Qg(e,t,n){return r;function r(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),e.attempt($r,t,n)}}const Zg={name:"htmlText",tokenize:Jg};function Jg(e,t,n){const r=this;let i,o,a;return s;function s(I){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(I),l}function l(I){return I===33?(e.consume(I),u):I===47?(e.consume(I),R):I===63?(e.consume(I),T):Mt(I)?(e.consume(I),b):n(I)}function u(I){return I===45?(e.consume(I),c):I===91?(e.consume(I),o=0,h):Mt(I)?(e.consume(I),A):n(I)}function c(I){return I===45?(e.consume(I),p):n(I)}function d(I){return I===null?n(I):I===45?(e.consume(I),f):fe(I)?(a=d,Z(I)):(e.consume(I),d)}function f(I){return I===45?(e.consume(I),p):d(I)}function p(I){return I===62?F(I):I===45?f(I):d(I)}function h(I){const ve="CDATA[";return I===ve.charCodeAt(o++)?(e.consume(I),o===ve.length?w:h):n(I)}function w(I){return I===null?n(I):I===93?(e.consume(I),y):fe(I)?(a=w,Z(I)):(e.consume(I),w)}function y(I){return I===93?(e.consume(I),x):w(I)}function x(I){return I===62?F(I):I===93?(e.consume(I),x):w(I)}function A(I){return I===null||I===62?F(I):fe(I)?(a=A,Z(I)):(e.consume(I),A)}function T(I){return I===null?n(I):I===63?(e.consume(I),M):fe(I)?(a=T,Z(I)):(e.consume(I),T)}function M(I){return I===62?F(I):T(I)}function R(I){return Mt(I)?(e.consume(I),m):n(I)}function m(I){return I===45||vt(I)?(e.consume(I),m):E(I)}function E(I){return fe(I)?(a=E,Z(I)):Re(I)?(e.consume(I),E):F(I)}function b(I){return I===45||vt(I)?(e.consume(I),b):I===47||I===62||ut(I)?v(I):n(I)}function v(I){return I===47?(e.consume(I),F):I===58||I===95||Mt(I)?(e.consume(I),g):fe(I)?(a=v,Z(I)):Re(I)?(e.consume(I),v):F(I)}function g(I){return I===45||I===46||I===58||I===95||vt(I)?(e.consume(I),g):_(I)}function _(I){return I===61?(e.consume(I),S):fe(I)?(a=_,Z(I)):Re(I)?(e.consume(I),_):v(I)}function S(I){return I===null||I===60||I===61||I===62||I===96?n(I):I===34||I===39?(e.consume(I),i=I,z):fe(I)?(a=S,Z(I)):Re(I)?(e.consume(I),S):(e.consume(I),V)}function z(I){return I===i?(e.consume(I),i=void 0,B):I===null?n(I):fe(I)?(a=z,Z(I)):(e.consume(I),z)}function V(I){return I===null||I===34||I===39||I===60||I===61||I===96?n(I):I===47||I===62||ut(I)?v(I):(e.consume(I),V)}function B(I){return I===47||I===62||ut(I)?v(I):n(I)}function F(I){return I===62?(e.consume(I),e.exit("htmlTextData"),e.exit("htmlText"),t):n(I)}function Z(I){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(I),e.exit("lineEnding"),J}function J(I){return Re(I)?Ue(e,ee,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(I):ee(I)}function ee(I){return e.enter("htmlTextData"),a(I)}}const Co={name:"labelEnd",resolveAll:rv,resolveTo:iv,tokenize:ov},ev={tokenize:av},tv={tokenize:sv},nv={tokenize:lv};function rv(e){let t=-1;const n=[];for(;++t=3&&(u===null||fe(u))?(e.exit("thematicBreak"),t(u)):n(u)}function l(u){return u===i?(e.consume(u),r++,l):(e.exit("thematicBreakSequence"),Re(u)?Ue(e,s,"whitespace")(u):s(u))}}const st={continuation:{tokenize:yv},exit:xv,name:"list",tokenize:vv},mv={partial:!0,tokenize:wv},gv={partial:!0,tokenize:bv};function vv(e,t,n){const r=this,i=r.events[r.events.length-1];let o=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,a=0;return s;function s(p){const h=r.containerState.type||(p===42||p===43||p===45?"listUnordered":"listOrdered");if(h==="listUnordered"?!r.containerState.marker||p===r.containerState.marker:Ji(p)){if(r.containerState.type||(r.containerState.type=h,e.enter(h,{_container:!0})),h==="listUnordered")return e.enter("listItemPrefix"),p===42||p===45?e.check(wr,n,u)(p):u(p);if(!r.interrupt||p===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),l(p)}return n(p)}function l(p){return Ji(p)&&++a<10?(e.consume(p),l):(!r.interrupt||a<2)&&(r.containerState.marker?p===r.containerState.marker:p===41||p===46)?(e.exit("listItemValue"),u(p)):n(p)}function u(p){return e.enter("listItemMarker"),e.consume(p),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||p,e.check($r,r.interrupt?n:c,e.attempt(mv,f,d))}function c(p){return r.containerState.initialBlankLine=!0,o++,f(p)}function d(p){return Re(p)?(e.enter("listItemPrefixWhitespace"),e.consume(p),e.exit("listItemPrefixWhitespace"),f):n(p)}function f(p){return r.containerState.size=o+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(p)}}function yv(e,t,n){const r=this;return r.containerState._closeFlow=void 0,e.check($r,i,o);function i(s){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,Ue(e,t,"listItemIndent",r.containerState.size+1)(s)}function o(s){return r.containerState.furtherBlankLines||!Re(s)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,a(s)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(gv,t,a)(s))}function a(s){return r.containerState._closeFlow=!0,r.interrupt=void 0,Ue(e,e.attempt(st,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(s)}}function bv(e,t,n){const r=this;return Ue(e,i,"listItemIndent",r.containerState.size+1);function i(o){const a=r.events[r.events.length-1];return a&&a[1].type==="listItemIndent"&&a[2].sliceSerialize(a[1],!0).length===r.containerState.size?t(o):n(o)}}function xv(e){e.exit(this.containerState.type)}function wv(e,t,n){const r=this;return Ue(e,i,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function i(o){const a=r.events[r.events.length-1];return!Re(o)&&a&&a[1].type==="listItemPrefixWhitespace"?t(o):n(o)}}const Ga={name:"setextUnderline",resolveTo:kv,tokenize:Tv};function kv(e,t){let n=e.length,r,i,o;for(;n--;)if(e[n][0]==="enter"){if(e[n][1].type==="content"){r=n;break}e[n][1].type==="paragraph"&&(i=n)}else e[n][1].type==="content"&&e.splice(n,1),!o&&e[n][1].type==="definition"&&(o=n);const a={type:"setextHeading",start:{...e[i][1].start},end:{...e[e.length-1][1].end}};return e[i][1].type="setextHeadingText",o?(e.splice(i,0,["enter",a,t]),e.splice(o+1,0,["exit",e[r][1],t]),e[r][1].end={...e[o][1].end}):e[r][1]=a,e.push(["exit",a,t]),e}function Tv(e,t,n){const r=this;let i;return o;function o(u){let c=r.events.length,d;for(;c--;)if(r.events[c][1].type!=="lineEnding"&&r.events[c][1].type!=="linePrefix"&&r.events[c][1].type!=="content"){d=r.events[c][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||d)?(e.enter("setextHeadingLine"),i=u,a(u)):n(u)}function a(u){return e.enter("setextHeadingLineSequence"),s(u)}function s(u){return u===i?(e.consume(u),s):(e.exit("setextHeadingLineSequence"),Re(u)?Ue(e,l,"lineSuffix")(u):l(u))}function l(u){return u===null||fe(u)?(e.exit("setextHeadingLine"),t(u)):n(u)}}const _v={tokenize:Ev};function Ev(e){const t=this,n=e.attempt($r,r,e.attempt(this.parser.constructs.flowInitial,i,Ue(e,e.attempt(this.parser.constructs.flow,i,e.attempt(Cg,i)),"linePrefix")));return n;function r(o){if(o===null){e.consume(o);return}return e.enter("lineEndingBlank"),e.consume(o),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function i(o){if(o===null){e.consume(o);return}return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),t.currentConstruct=void 0,n}}const Av={resolveAll:Kl()},Mv=Hl("string"),Iv=Hl("text");function Hl(e){return{resolveAll:Kl(e==="text"?Sv:void 0),tokenize:t};function t(n){const r=this,i=this.parser.constructs[e],o=n.attempt(i,a,s);return a;function a(c){return u(c)?o(c):s(c)}function s(c){if(c===null){n.consume(c);return}return n.enter("data"),n.consume(c),l}function l(c){return u(c)?(n.exit("data"),o(c)):(n.consume(c),l)}function u(c){if(c===null)return!0;const d=i[c];let f=-1;if(d)for(;++f-1){const s=a[0];typeof s=="string"?a[0]=s.slice(r):a.shift()}o>0&&a.push(e[i].slice(0,o))}return a}function jv(e,t){let n=-1;const r=[];let i;for(;++n0){const Ke=ie.tokenStack[ie.tokenStack.length-1];(Ke[1]||Xa).call(ie,void 0,Ke[0])}for(Q.position={start:qt($.length>0?$[0][1].start:{line:1,column:1,offset:0}),end:qt($.length>0?$[$.length-2][1].end:{line:1,column:1,offset:0})},Te=-1;++Te1?"-"+s:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(a)}]};e.patch(t,l);const u={type:"element",tagName:"sup",properties:{},children:[l]};return e.patch(t,u),e.applyData(t,u)}function oy(e,t){const n={type:"element",tagName:"h"+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function ay(e,t){if(e.options.allowDangerousHtml){const n={type:"raw",value:t.value};return e.patch(t,n),e.applyData(t,n)}}function Wl(e,t){const n=t.referenceType;let r="]";if(n==="collapsed"?r+="[]":n==="full"&&(r+="["+(t.label||t.identifier)+"]"),t.type==="imageReference")return[{type:"text",value:"!["+t.alt+r}];const i=e.all(t),o=i[0];o&&o.type==="text"?o.value="["+o.value:i.unshift({type:"text",value:"["});const a=i[i.length-1];return a&&a.type==="text"?a.value+=r:i.push({type:"text",value:r}),i}function sy(e,t){const n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return Wl(e,t);const i={src:Cn(r.url||""),alt:t.alt};r.title!==null&&r.title!==void 0&&(i.title=r.title);const o={type:"element",tagName:"img",properties:i,children:[]};return e.patch(t,o),e.applyData(t,o)}function ly(e,t){const n={src:Cn(t.url)};t.alt!==null&&t.alt!==void 0&&(n.alt=t.alt),t.title!==null&&t.title!==void 0&&(n.title=t.title);const r={type:"element",tagName:"img",properties:n,children:[]};return e.patch(t,r),e.applyData(t,r)}function uy(e,t){const n={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};e.patch(t,n);const r={type:"element",tagName:"code",properties:{},children:[n]};return e.patch(t,r),e.applyData(t,r)}function cy(e,t){const n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return Wl(e,t);const i={href:Cn(r.url||"")};r.title!==null&&r.title!==void 0&&(i.title=r.title);const o={type:"element",tagName:"a",properties:i,children:e.all(t)};return e.patch(t,o),e.applyData(t,o)}function dy(e,t){const n={href:Cn(t.url)};t.title!==null&&t.title!==void 0&&(n.title=t.title);const r={type:"element",tagName:"a",properties:n,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function fy(e,t,n){const r=e.all(t),i=n?py(n):Yl(t),o={},a=[];if(typeof t.checked=="boolean"){const c=r[0];let d;c&&c.type==="element"&&c.tagName==="p"?d=c:(d={type:"element",tagName:"p",properties:{},children:[]},r.unshift(d)),d.children.length>0&&d.children.unshift({type:"text",value:" "}),d.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),o.className=["task-list-item"]}let s=-1;for(;++s1}function hy(e,t){const n={},r=e.all(t);let i=-1;for(typeof t.start=="number"&&t.start!==1&&(n.start=t.start);++i0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function yy(e){const t=Ql(e),n=Xl(e);if(t&&n)return{start:t,end:n}}function by(e,t){const n=e.all(t),r=n.shift(),i=[];if(r){const a={type:"element",tagName:"thead",properties:{},children:e.wrap([r],!0)};e.patch(t.children[0],a),i.push(a)}if(n.length>0){const a={type:"element",tagName:"tbody",properties:{},children:e.wrap(n,!0)},s=Ql(t.children[1]),l=Xl(t.children[t.children.length-1]);s&&l&&(a.position={start:s,end:l}),i.push(a)}const o={type:"element",tagName:"table",properties:{},children:e.wrap(i,!0)};return e.patch(t,o),e.applyData(t,o)}function xy(e,t,n){const r=n?n.children:void 0,o=(r?r.indexOf(t):1)===0?"th":"td",a=n&&n.type==="table"?n.align:void 0,s=a?a.length:t.children.length;let l=-1;const u=[];for(;++l0,!0),r[0]),i=r.index+r[0].length,r=n.exec(t);return o.push(Ja(t.slice(i),i>0,!1)),o.join("")}function Ja(e,t,n){let r=0,i=e.length;if(t){let o=e.codePointAt(r);for(;o===Qa||o===Za;)r++,o=e.codePointAt(r)}if(n){let o=e.codePointAt(i-1);for(;o===Qa||o===Za;)i--,o=e.codePointAt(i-1)}return i>r?e.slice(r,i):""}function Ty(e,t){const n={type:"text",value:ky(String(t.value))};return e.patch(t,n),e.applyData(t,n)}function _y(e,t){const n={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)}const Ey={blockquote:Jv,break:ey,code:ty,delete:ny,emphasis:ry,footnoteReference:iy,heading:oy,html:ay,imageReference:sy,image:ly,inlineCode:uy,linkReference:cy,link:dy,listItem:fy,list:hy,paragraph:my,root:gy,strong:vy,table:by,tableCell:wy,tableRow:xy,text:Ty,thematicBreak:_y,toml:lr,yaml:lr,definition:lr,footnoteDefinition:lr};function lr(){}const Jl=-1,jr=0,Cr=1,Rr=2,Ro=3,Oo=4,Po=5,Lo=6,eu=7,tu=8,es=typeof self=="object"?self:globalThis,Ay=(e,t)=>{const n=(i,o)=>(e.set(o,i),i),r=i=>{if(e.has(i))return e.get(i);const[o,a]=t[i];switch(o){case jr:case Jl:return n(a,i);case Cr:{const s=n([],i);for(const l of a)s.push(r(l));return s}case Rr:{const s=n({},i);for(const[l,u]of a)s[r(l)]=r(u);return s}case Ro:return n(new Date(a),i);case Oo:{const{source:s,flags:l}=a;return n(new RegExp(s,l),i)}case Po:{const s=n(new Map,i);for(const[l,u]of a)s.set(r(l),r(u));return s}case Lo:{const s=n(new Set,i);for(const l of a)s.add(r(l));return s}case eu:{const{name:s,message:l}=a;return n(new es[s](l),i)}case tu:return n(BigInt(a),i);case"BigInt":return n(Object(BigInt(a)),i)}return n(new es[o](a),i)};return r},ts=e=>Ay(new Map,e)(0),gn="",{toString:My}={},{keys:Iy}=Object,Nn=e=>{const t=typeof e;if(t!=="object"||!e)return[jr,t];const n=My.call(e).slice(8,-1);switch(n){case"Array":return[Cr,gn];case"Object":return[Rr,gn];case"Date":return[Ro,gn];case"RegExp":return[Oo,gn];case"Map":return[Po,gn];case"Set":return[Lo,gn]}return n.includes("Array")?[Cr,n]:n.includes("Error")?[eu,n]:[Rr,n]},ur=([e,t])=>e===jr&&(t==="function"||t==="symbol"),Sy=(e,t,n,r)=>{const i=(a,s)=>{const l=r.push(a)-1;return n.set(s,l),l},o=a=>{if(n.has(a))return n.get(a);let[s,l]=Nn(a);switch(s){case jr:{let c=a;switch(l){case"bigint":s=tu,c=a.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+l);c=null;break;case"undefined":return i([Jl],a)}return i([s,c],a)}case Cr:{if(l)return i([l,[...a]],a);const c=[],d=i([s,c],a);for(const f of a)c.push(o(f));return d}case Rr:{if(l)switch(l){case"BigInt":return i([l,a.toString()],a);case"Boolean":case"Number":case"String":return i([l,a.valueOf()],a)}if(t&&"toJSON"in a)return o(a.toJSON());const c=[],d=i([s,c],a);for(const f of Iy(a))(e||!ur(Nn(a[f])))&&c.push([o(f),o(a[f])]);return d}case Ro:return i([s,a.toISOString()],a);case Oo:{const{source:c,flags:d}=a;return i([s,{source:c,flags:d}],a)}case Po:{const c=[],d=i([s,c],a);for(const[f,p]of a)(e||!(ur(Nn(f))||ur(Nn(p))))&&c.push([o(f),o(p)]);return d}case Lo:{const c=[],d=i([s,c],a);for(const f of a)(e||!ur(Nn(f)))&&c.push(o(f));return d}}const{message:u}=a;return i([s,{name:l,message:u}],a)};return o},ns=(e,{json:t,lossy:n}={})=>{const r=[];return Sy(!(t||n),!!t,new Map,r)(e),r},Or=typeof structuredClone=="function"?(e,t)=>t&&("json"in t||"lossy"in t)?ts(ns(e,t)):structuredClone(e):(e,t)=>ts(ns(e,t));function Cy(e,t){const n=[{type:"text",value:"��"}];return t>1&&n.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(t)}]}),n}function Ry(e,t){return"Back to reference "+(e+1)+(t>1?"-"+t:"")}function Oy(e){const t=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",n=e.options.footnoteBackContent||Cy,r=e.options.footnoteBackLabel||Ry,i=e.options.footnoteLabel||"Footnotes",o=e.options.footnoteLabelTagName||"h2",a=e.options.footnoteLabelProperties||{className:["sr-only"]},s=[];let l=-1;for(;++l0&&h.push({type:"text",value:" "});let A=typeof n=="string"?n:n(l,p);typeof A=="string"&&(A={type:"text",value:A}),h.push({type:"element",tagName:"a",properties:{href:"#"+t+"fnref-"+f+(p>1?"-"+p:""),dataFootnoteBackref:"",ariaLabel:typeof r=="string"?r:r(l,p),className:["data-footnote-backref"]},children:Array.isArray(A)?A:[A]})}const y=c[c.length-1];if(y&&y.type==="element"&&y.tagName==="p"){const A=y.children[y.children.length-1];A&&A.type==="text"?A.value+=" ":y.children.push({type:"text",value:" "}),y.children.push(...h)}else c.push(...h);const x={type:"element",tagName:"li",properties:{id:t+"fn-"+f},children:e.wrap(c,!0)};e.patch(u,x),s.push(x)}if(s.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:o,properties:{...Or(a),id:"footnote-label"},children:[{type:"text",value:i}]},{type:"text",value:` +`},{type:"element",tagName:"ol",properties:{},children:e.wrap(s,!0)},{type:"text",value:` +`}]}}const nu=function(e){if(e==null)return Ny;if(typeof e=="function")return Vr(e);if(typeof e=="object")return Array.isArray(e)?Py(e):Ly(e);if(typeof e=="string")return Dy(e);throw new Error("Expected function, string, or object as test")};function Py(e){const t=[];let n=-1;for(;++n":""))+")"})}return f;function f(){let p=ru,h,w,y;if((!t||o(l,u,c[c.length-1]||void 0))&&(p=$y(n(l,c)),p[0]===rs))return p;if("children"in l&&l.children){const x=l;if(x.children&&p[0]!==Fy)for(w=(r?x.children.length:-1)+a,y=c.concat(x);w>-1&&w0&&n.push({type:"text",value:` +`}),n}function is(e){let t=0,n=e.charCodeAt(t);for(;n===9||n===32;)t++,n=e.charCodeAt(t);return e.slice(t)}function os(e,t){const n=Hy(e,t),r=n.one(e,void 0),i=Oy(n),o=Array.isArray(r)?{type:"root",children:r}:r||{type:"root",children:[]};return i&&o.children.push({type:"text",value:` +`},i),o}function Yy(e,t){return e&&"run"in e?async function(n,r){const i=os(n,{file:r,...t});await e.run(i,r)}:function(n,r){return os(n,{file:r,...e||t})}}function as(e){if(e)throw e}var yi,ss;function Xy(){if(ss)return yi;ss=1;var e=Object.prototype.hasOwnProperty,t=Object.prototype.toString,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=function(u){return typeof Array.isArray=="function"?Array.isArray(u):t.call(u)==="[object Array]"},o=function(u){if(!u||t.call(u)!=="[object Object]")return!1;var c=e.call(u,"constructor"),d=u.constructor&&u.constructor.prototype&&e.call(u.constructor.prototype,"isPrototypeOf");if(u.constructor&&!c&&!d)return!1;var f;for(f in u);return typeof f>"u"||e.call(u,f)},a=function(u,c){n&&c.name==="__proto__"?n(u,c.name,{enumerable:!0,configurable:!0,value:c.newValue,writable:!0}):u[c.name]=c.newValue},s=function(u,c){if(c==="__proto__")if(e.call(u,c)){if(r)return r(u,c).value}else return;return u[c]};return yi=function l(){var u,c,d,f,p,h,w=arguments[0],y=1,x=arguments.length,A=!1;for(typeof w=="boolean"&&(A=w,w=arguments[1]||{},y=2),(w==null||typeof w!="object"&&typeof w!="function")&&(w={});ya.length;let l;s&&a.push(i);try{l=e.apply(this,a)}catch(u){const c=u;if(s&&n)throw c;return i(c)}s||(l&&l.then&&typeof l.then=="function"?l.then(o,i):l instanceof Error?i(l):o(l))}function i(a,...s){n||(n=!0,t(a,...s))}function o(a){i(null,a)}}class dt extends Error{constructor(t,n,r){super(),typeof n=="string"&&(r=n,n=void 0);let i="",o={},a=!1;if(n&&("line"in n&&"column"in n?o={place:n}:"start"in n&&"end"in n?o={place:n}:"type"in n?o={ancestors:[n],place:n.position}:o={...n}),typeof t=="string"?i=t:!o.cause&&t&&(a=!0,i=t.message,o.cause=t),!o.ruleId&&!o.source&&typeof r=="string"){const l=r.indexOf(":");l===-1?o.ruleId=r:(o.source=r.slice(0,l),o.ruleId=r.slice(l+1))}if(!o.place&&o.ancestors&&o.ancestors){const l=o.ancestors[o.ancestors.length-1];l&&(o.place=l.position)}const s=o.place&&"start"in o.place?o.place.start:o.place;this.ancestors=o.ancestors||void 0,this.cause=o.cause||void 0,this.column=s?s.column:void 0,this.fatal=void 0,this.file,this.message=i,this.line=s?s.line:void 0,this.name=$n(o.place)||"1:1",this.place=o.place||void 0,this.reason=this.message,this.ruleId=o.ruleId||void 0,this.source=o.source||void 0,this.stack=a&&o.cause&&typeof o.cause.stack=="string"?o.cause.stack:"",this.actual,this.expected,this.note,this.url}}dt.prototype.file="";dt.prototype.name="";dt.prototype.reason="";dt.prototype.message="";dt.prototype.stack="";dt.prototype.column=void 0;dt.prototype.line=void 0;dt.prototype.ancestors=void 0;dt.prototype.cause=void 0;dt.prototype.fatal=void 0;dt.prototype.place=void 0;dt.prototype.ruleId=void 0;dt.prototype.source=void 0;const At={basename:e0,dirname:t0,extname:n0,join:r0,sep:"/"};function e0(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');Xn(e);let n=0,r=-1,i=e.length,o;if(t===void 0||t.length===0||t.length>e.length){for(;i--;)if(e.codePointAt(i)===47){if(o){n=i+1;break}}else r<0&&(o=!0,r=i+1);return r<0?"":e.slice(n,r)}if(t===e)return"";let a=-1,s=t.length-1;for(;i--;)if(e.codePointAt(i)===47){if(o){n=i+1;break}}else a<0&&(o=!0,a=i+1),s>-1&&(e.codePointAt(i)===t.codePointAt(s--)?s<0&&(r=i):(s=-1,r=a));return n===r?r=a:r<0&&(r=e.length),e.slice(n,r)}function t0(e){if(Xn(e),e.length===0)return".";let t=-1,n=e.length,r;for(;--n;)if(e.codePointAt(n)===47){if(r){t=n;break}}else r||(r=!0);return t<0?e.codePointAt(0)===47?"/":".":t===1&&e.codePointAt(0)===47?"//":e.slice(0,t)}function n0(e){Xn(e);let t=e.length,n=-1,r=0,i=-1,o=0,a;for(;t--;){const s=e.codePointAt(t);if(s===47){if(a){r=t+1;break}continue}n<0&&(a=!0,n=t+1),s===46?i<0?i=t:o!==1&&(o=1):i>-1&&(o=-1)}return i<0||n<0||o===0||o===1&&i===n-1&&i===r+1?"":e.slice(i,n)}function r0(...e){let t=-1,n;for(;++t0&&e.codePointAt(e.length-1)===47&&(n+="/"),t?"/"+n:n}function o0(e,t){let n="",r=0,i=-1,o=0,a=-1,s,l;for(;++a<=e.length;){if(a2){if(l=n.lastIndexOf("/"),l!==n.length-1){l<0?(n="",r=0):(n=n.slice(0,l),r=n.length-1-n.lastIndexOf("/")),i=a,o=0;continue}}else if(n.length>0){n="",r=0,i=a,o=0;continue}}t&&(n=n.length>0?n+"/..":"..",r=2)}else n.length>0?n+="/"+e.slice(i+1,a):n=e.slice(i+1,a),r=a-i-1;i=a,o=0}else s===46&&o>-1?o++:o=-1}return n}function Xn(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const a0={cwd:s0};function s0(){return"/"}function io(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function l0(e){if(typeof e=="string")e=new URL(e);else if(!io(e)){const t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if(e.protocol!=="file:"){const t=new TypeError("The URL must be of scheme file");throw t.code="ERR_INVALID_URL_SCHEME",t}return u0(e)}function u0(e){if(e.hostname!==""){const r=new TypeError('File URL host must be "localhost" or empty on darwin');throw r.code="ERR_INVALID_FILE_URL_HOST",r}const t=e.pathname;let n=-1;for(;++n0){let[p,...h]=c;const w=r[f][1];ro(w)&&ro(p)&&(p=bi(!0,w,p)),r[f]=[u,p,...h]}}}}const h0=new Do().freeze();function Ti(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function _i(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function Ei(e,t){if(t)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function us(e){if(!ro(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function cs(e,t,n){if(!n)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function cr(e){return m0(e)?e:new c0(e)}function m0(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function g0(e){return typeof e=="string"||v0(e)}function v0(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}function No(){const e=h0().use(Zv).use(Yy).use(Gm);return{process:t=>e.processSync(t).toString()}}const y0={relative:""},b0={"h-full":"","w-full":""},x0={key:0,class:"animate-stripe",absolute:"",left:"1/2",bottom:"20%",z:"20","rounded-2xl":"",text:"pink-600","px-2":"","py-2":"",transform:"translate-x--1/2"},w0={bg:"pink-50","rounded-xl":"","px-10":"","py-6":""},k0=["innerHTML"],T0=we({__name:"Stage",props:{paused:{type:Boolean,default:!1}},setup(e){const t=j(),n=j(),r=j(""),{stageView:i,elevenLabsApiKey:o,elevenlabsVoiceEnglish:a,elevenlabsVoiceJapanese:s}=_t(Mn()),{mouthOpenSize:l}=_t(hd()),{audioContext:u,calculateVolume:c}=Ws(),{onBeforeMessageComposed:d,onBeforeSend:f,onTokenLiteral:p,onTokenSpecial:h,onStreamEnd:w,streamingMessage:y,onAssistantResponseEnd:x}=Jt(),{process:A}=No(),{locale:T}=An(),M=j(),R=j(!1),m=j(!1),E=Zr({handlers:[F=>new Promise(Z=>{const J=u.createBufferSource();J.buffer=F.data.audioBuffer,J.connect(u.destination),J.connect(M.value),R.value=!0,J.start(0),J.onended=()=>{R.value=!1,Z()}})]}),b=Zr({handlers:[async F=>{let Z=Bc.Camilla_KM;T.value==="jp"||T.value==="jp-JP"?Z=s.value:Z=a.value;const J=Date.now(),ee=Sh({apiKey:o.value,baseURL:"https://unspeech.hyp3r.link/v1/"}),I=await Mh({...ee.speech("eleven_multilingual_v2",{voiceSettings:{stability:.4,similarityBoost:.5}}),input:F.data,voice:Fc[Z]}),ve=Date.now()-J;console.debug("TTS took",ve,"ms");const Ce=await u.decodeAudioData(I);await E.add({audioBuffer:Ce,text:F.data})}]});b.on("add",F=>{console.debug("ttsQueue added",F)});const v=zu(b),g=Zr({handlers:[async F=>{if(i.value==="3d"){const Z=Vu[F.data];if(!Z)return;await n.value.setExpression(Z)}else i.value==="2d"&&(r.value=Hu[F.data])}]}),_=Bu(g);_.onHandlerEvent("emotion",F=>{console.debug("emotion detected",F)});const S=Fu();S.onHandlerEvent("delay",F=>{console.debug("delay detected",F)});function z(){requestAnimationFrame(z),R.value&&(l.value=c(M.value,"linear"))}function V(){m.value||(z(),u.resume(),m.value=!0)}function B(){M.value||(M.value=u.createAnalyser())}return d(async()=>{B(),V()}),f(async()=>{r.value=Li}),p(async F=>{await v.add(F)}),h(async F=>{await S.add(F),await _.add(F)}),w(async()=>{await S.add(Uu)}),x(async F=>{}),yt(()=>{var Z,J,ee;m.value=!1;const F=window;(Z=F.electron)==null||Z.ipcRenderer.removeAllListeners("before-hide"),(J=F.electron)==null||J.ipcRenderer.removeAllListeners("after-show"),(ee=F.electron)==null||ee.ipcRenderer.removeAllListeners("before-quit")}),Tt(()=>{var Z,J,ee;const F=window;(Z=F.electron)==null||Z.ipcRenderer.on("before-hide",()=>{r.value=xs}),(J=F.electron)==null||J.ipcRenderer.on("after-show",()=>{r.value=ws}),(ee=F.electron)==null||ee.ipcRenderer.on("before-quit",()=>{r.value=Li})}),Tt(async()=>{t.value=$u("duckdb-wasm://?bundles=import-url"),await t.value.execute(ju`CREATE TABLE memory_test (vec FLOAT[768]);`)}),(F,Z)=>(G(),te("div",y0,[O("div",b0,[N(i)==="2d"?(G(),Ve(Od,{key:0,motion:r.value,"mouth-open-size":N(l),"min-w":"50% t.type===ln?zo(t.children):[t]):[]}const A0=we({name:"PrimitiveSlot",inheritAttrs:!1,setup(e,{attrs:t,slots:n}){return()=>{var l,u;if(!n.default)return null;const r=zo(n.default()),i=r.findIndex(c=>c.type!==Uc);if(i===-1)return r;const o=r[i];(l=o.props)==null||delete l.ref;const a=o.props?Ft(t,o.props):t;t.class&&((u=o.props)!=null&&u.class)&&delete o.props.class;const s=$c(o,a);for(const c in a)c.startsWith("on")&&(s.props||(s.props={}),s.props[c]=a[c]);return r.length===1?s:(r[i]=s,r)}}}),Hr=we({name:"Primitive",inheritAttrs:!1,props:{asChild:{type:Boolean,default:!1},as:{type:[String,Object],default:"div"}},setup(e,{attrs:t,slots:n}){const r=e.asChild?"template":e.as;return typeof r=="string"&&["area","img","input"].includes(r)?()=>yr(r,t):r!=="template"?()=>yr(e.as,t,{default:n.default}):()=>yr(A0,t,{default:n.default})}});function Bo(e,t){const n=typeof e=="string"?`${e}Context`:t,r=Symbol(n);return[a=>{const s=jc(r,a);if(s||s===null)return s;throw new Error(`Injection \`${r.toString()}\` not found. Component must be used within ${Array.isArray(e)?`one of the following components: ${e.join(", ")}`:`\`${e}\``}`)},a=>(Vc(r,a),a)]}const[iu,iw]=Bo("ConfigProvider");function jt(){const e=Nr(),t=j(),n=Me(()=>{var a,s;return["#text","#comment"].includes((a=t.value)==null?void 0:a.$el.nodeName)?(s=t.value)==null?void 0:s.$el.nextElementSibling:vo(t)}),r=Object.assign({},e.exposed),i={};for(const a in e.props)Object.defineProperty(i,a,{enumerable:!0,configurable:!0,get:()=>e.props[a]});if(Object.keys(r).length>0)for(const a in r)Object.defineProperty(i,a,{enumerable:!0,configurable:!0,get:()=>r[a]});Object.defineProperty(i,"$el",{enumerable:!0,configurable:!0,get:()=>e.vnode.el}),e.exposed=i;function o(a){t.value=a,a&&(Object.defineProperty(i,"$el",{enumerable:!0,configurable:!0,get:()=>a instanceof Element?a:a.$el}),e.exposed=i)}return{forwardRef:o,currentRef:t,currentElement:n}}let M0=0;function oo(e,t="reka"){const n=iu({useId:void 0});return Xo?`${t}-${Xo()}`:n.useId?`${t}-${n.useId()}`:`${t}-${++M0}`}function I0(e,t){const n=j(e);function r(o){return t[n.value][o]??n.value}return{state:n,dispatch:o=>{n.value=r(o)}}}function S0(e,t){var y;const n=j({}),r=j("none"),i=j(e),o=e.value?"mounted":"unmounted";let a;const s=((y=t.value)==null?void 0:y.ownerDocument.defaultView)??Hc,{state:l,dispatch:u}=I0(o,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}}),c=x=>{var A;if(Gn){const T=new CustomEvent(x,{bubbles:!1,cancelable:!1});(A=t.value)==null||A.dispatchEvent(T)}};Se(e,async(x,A)=>{var M;const T=A!==x;if(await Et(),T){const R=r.value,m=dr(t.value);x?(u("MOUNT"),c("enter"),m==="none"&&c("after-enter")):m==="none"||((M=n.value)==null?void 0:M.display)==="none"?(u("UNMOUNT"),c("leave"),c("after-leave")):A&&R!==m?(u("ANIMATION_OUT"),c("leave")):(u("UNMOUNT"),c("after-leave"))}},{immediate:!0});const d=x=>{const A=dr(t.value),T=A.includes(x.animationName),M=l.value==="mounted"?"enter":"leave";if(x.target===t.value&&T&&(c(`after-${M}`),u("ANIMATION_END"),!i.value)){const R=t.value.style.animationFillMode;t.value.style.animationFillMode="forwards",a=s==null?void 0:s.setTimeout(()=>{var m;((m=t.value)==null?void 0:m.style.animationFillMode)==="forwards"&&(t.value.style.animationFillMode=R)})}x.target===t.value&&A==="none"&&u("ANIMATION_END")},f=x=>{x.target===t.value&&(r.value=dr(t.value))},p=Se(t,(x,A)=>{x?(n.value=getComputedStyle(x),x.addEventListener("animationstart",f),x.addEventListener("animationcancel",d),x.addEventListener("animationend",d)):(u("ANIMATION_END"),a!==void 0&&(s==null||s.clearTimeout(a)),A==null||A.removeEventListener("animationstart",f),A==null||A.removeEventListener("animationcancel",d),A==null||A.removeEventListener("animationend",d))},{immediate:!0}),h=Se(l,()=>{const x=dr(t.value);r.value=l.value==="mounted"?x:"none"});return yt(()=>{p(),h()}),{isPresent:Me(()=>["mounted","unmountSuspended"].includes(l.value))}}function dr(e){return e&&getComputedStyle(e).animationName||"none"}const ou=we({name:"Presence",props:{present:{type:Boolean,required:!0},forceMount:{type:Boolean}},slots:{},setup(e,{slots:t,expose:n}){var u;const{present:r,forceMount:i}=In(e),o=j(),{isPresent:a}=S0(r,o);n({present:a});let s=t.default({present:a.value});s=zo(s||[]);const l=Nr();if(s&&(s==null?void 0:s.length)>1){const c=(u=l==null?void 0:l.parent)!=null&&u.type.name?`<${l.parent.type.name} />`:"component";throw new Error([`Detected an invalid children for \`${c}\` for \`Presence\` component.`,"","Note: Presence works similarly to `v-if` directly, but it waits for animation/transition to finished before unmounting. So it expect only one direct child of valid VNode type.","You can apply a few solutions:",["Provide a single child element so that `presence` directive attach correctly.","Ensure the first child is an actual element instead of a raw text node or comment node."].map(d=>` - ${d}`).join(` +`)].join(` +`))}return()=>i.value||r.value||a.value?yr(t.default({present:a.value})[0],{ref:c=>{const d=vo(c);return typeof(d==null?void 0:d.hasAttribute)>"u"||(d!=null&&d.hasAttribute("data-reka-popper-content-wrapper")?o.value=d.firstElementChild:o.value=d),d}}):null}});function Fo(e){const t=Nr(),n=t==null?void 0:t.type.emits,r={};return n!=null&&n.length||console.warn(`No emitted event found. Please check component: ${t==null?void 0:t.type.__name}`),n==null||n.forEach(i=>{r[Kc(Gc(i))]=(...o)=>e(i,...o)}),r}const[dn,C0]=Bo("DialogRoot"),R0=we({inheritAttrs:!1,__name:"DialogRoot",props:{open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1},modal:{type:Boolean,default:!0}},emits:["update:open"],setup(e,{emit:t}){const n=e,i=qc(n,"open",t,{defaultValue:n.defaultOpen,passive:n.open===void 0}),o=j(),a=j(),{modal:s}=In(n);return C0({open:i,modal:s,openModal:()=>{i.value=!0},onOpenChange:l=>{i.value=l},onOpenToggle:()=>{i.value=!i.value},contentId:"",titleId:"",descriptionId:"",triggerElement:o,contentElement:a}),(l,u)=>He(l.$slots,"default",{open:N(i)})}}),au=we({__name:"DialogTrigger",props:{asChild:{type:Boolean},as:{default:"button"}},setup(e){const t=e,n=dn(),{forwardRef:r,currentElement:i}=jt();return n.contentId||(n.contentId=oo(void 0,"reka-dialog-content")),Tt(()=>{n.triggerElement.value=i.value}),(o,a)=>(G(),Ve(N(Hr),Ft(t,{ref:N(r),type:o.as==="button"?"button":void 0,"aria-haspopup":"dialog","aria-expanded":N(n).open.value||!1,"aria-controls":N(n).open.value?N(n).contentId:void 0,"data-state":N(n).open.value?"open":"closed",onClick:N(n).onOpenToggle}),{default:ge(()=>[He(o.$slots,"default")]),_:3},16,["type","aria-expanded","aria-controls","data-state","onClick"]))}}),O0=we({__name:"Teleport",props:{to:{default:"body"},disabled:{type:Boolean},defer:{type:Boolean},forceMount:{type:Boolean}},setup(e){const t=Wc();return(n,r)=>N(t)||n.forceMount?(G(),Ve(Yc,{key:0,to:n.to,disabled:n.disabled,defer:n.defer},[He(n.$slots,"default")],8,["to","disabled","defer"])):Ge("",!0)}});function su(e,t,n){const r=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),r.dispatchEvent(i)}const P0="dismissableLayer.pointerDownOutside",L0="dismissableLayer.focusOutside";function lu(e,t){const n=t.closest("[data-dismissable-layer]"),r=e.dataset.dismissableLayer===""?e:e.querySelector("[data-dismissable-layer]"),i=Array.from(e.ownerDocument.querySelectorAll("[data-dismissable-layer]"));return!!(n&&r===n||i.indexOf(r){});return St(a=>{if(!Gn)return;const s=async u=>{const c=u.target;if(t!=null&&t.value){if(lu(t.value,c)){r.value=!1;return}if(u.target&&!r.value){let d=function(){su(P0,e,f)};const f={originalEvent:u};u.pointerType==="touch"?(n.removeEventListener("click",i.value),i.value=d,n.addEventListener("click",i.value,{once:!0})):d()}else n.removeEventListener("click",i.value);r.value=!1}},l=window.setTimeout(()=>{n.addEventListener("pointerdown",s)},0);a(()=>{window.clearTimeout(l),n.removeEventListener("pointerdown",s),n.removeEventListener("click",i.value)})}),{onPointerDownCapture:()=>r.value=!0}}function N0(e,t){var i;const n=((i=t==null?void 0:t.value)==null?void 0:i.ownerDocument)??(globalThis==null?void 0:globalThis.document),r=j(!1);return St(o=>{if(!Gn)return;const a=async s=>{t!=null&&t.value&&(await Et(),!(!t.value||lu(t.value,s.target))&&s.target&&!r.value&&su(L0,e,{originalEvent:s}))};n.addEventListener("focusin",a),o(()=>n.removeEventListener("focusin",a))}),{onFocusCapture:()=>r.value=!0,onBlurCapture:()=>r.value=!1}}const Nt=Ks({layersRoot:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),z0=we({__name:"DismissableLayer",props:{disableOutsidePointerEvents:{type:Boolean,default:!1},asChild:{type:Boolean},as:{}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","dismiss"],setup(e,{emit:t}){const n=e,r=t,{forwardRef:i,currentElement:o}=jt(),a=Me(()=>{var h;return((h=o.value)==null?void 0:h.ownerDocument)??globalThis.document}),s=Me(()=>Nt.layersRoot),l=Me(()=>o.value?Array.from(s.value).indexOf(o.value):-1),u=Me(()=>Nt.layersWithOutsidePointerEventsDisabled.size>0),c=Me(()=>{const h=Array.from(s.value),[w]=[...Nt.layersWithOutsidePointerEventsDisabled].slice(-1),y=h.indexOf(w);return l.value>=y}),d=D0(async h=>{const w=[...Nt.branches].some(y=>y==null?void 0:y.contains(h.target));!c.value||w||(r("pointerDownOutside",h),r("interactOutside",h),await Et(),h.defaultPrevented||r("dismiss"))},o),f=N0(h=>{[...Nt.branches].some(y=>y==null?void 0:y.contains(h.target))||(r("focusOutside",h),r("interactOutside",h),h.defaultPrevented||r("dismiss"))},o);Xc("Escape",h=>{l.value===s.value.size-1&&(r("escapeKeyDown",h),h.defaultPrevented||r("dismiss"))});let p;return St(h=>{o.value&&(n.disableOutsidePointerEvents&&(Nt.layersWithOutsidePointerEventsDisabled.size===0&&(p=a.value.body.style.pointerEvents,a.value.body.style.pointerEvents="none"),Nt.layersWithOutsidePointerEventsDisabled.add(o.value)),s.value.add(o.value),h(()=>{n.disableOutsidePointerEvents&&Nt.layersWithOutsidePointerEventsDisabled.size===1&&(a.value.body.style.pointerEvents=p)}))}),St(h=>{h(()=>{o.value&&(s.value.delete(o.value),Nt.layersWithOutsidePointerEventsDisabled.delete(o.value))})}),(h,w)=>(G(),Ve(N(Hr),{ref:N(i),"as-child":h.asChild,as:h.as,"data-dismissable-layer":"",style:Ir({pointerEvents:u.value?c.value?"auto":"none":void 0}),onFocusCapture:N(f).onFocusCapture,onBlurCapture:N(f).onBlurCapture,onPointerdownCapture:N(d).onPointerDownCapture},{default:ge(()=>[He(h.$slots,"default")]),_:3},8,["as-child","as","style","onFocusCapture","onBlurCapture","onPointerdownCapture"]))}});function Qt(){let e=document.activeElement;if(e==null)return null;for(;e!=null&&e.shadowRoot!=null&&e.shadowRoot.activeElement!=null;)e=e.shadowRoot.activeElement;return e}function B0(e){return e?"open":"closed"}const Ai="focusScope.autoFocusOnMount",Mi="focusScope.autoFocusOnUnmount",ds={bubbles:!1,cancelable:!0};function F0(e,{select:t=!1}={}){const n=Qt();for(const r of e)if(Wt(r,{select:t}),Qt()!==n)return!0}function U0(e){const t=uu(e),n=fs(t,e),r=fs(t.reverse(),e);return[n,r]}function uu(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const i=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||i?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function fs(e,t){for(const n of e)if(!$0(n,{upTo:t}))return n}function $0(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function j0(e){return e instanceof HTMLInputElement&&"select"in e}function Wt(e,{select:t=!1}={}){if(e&&e.focus){const n=Qt();e.focus({preventScroll:!0}),e!==n&&j0(e)&&t&&e.select()}}const V0=Qc(()=>j([]));function H0(){const e=V0();return{add(t){const n=e.value[0];t!==n&&(n==null||n.pause()),e.value=ps(e.value,t),e.value.unshift(t)},remove(t){var n;e.value=ps(e.value,t),(n=e.value[0])==null||n.resume()}}}function ps(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function K0(e){return e.filter(t=>t.tagName!=="A")}const G0=we({__name:"FocusScope",props:{loop:{type:Boolean,default:!1},trapped:{type:Boolean,default:!1},asChild:{type:Boolean},as:{}},emits:["mountAutoFocus","unmountAutoFocus"],setup(e,{emit:t}){const n=e,r=t,{currentRef:i,currentElement:o}=jt(),a=j(null),s=H0(),l=Ks({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}});St(c=>{if(!Gn)return;const d=o.value;if(!n.trapped)return;function f(y){if(l.paused||!d)return;const x=y.target;d.contains(x)?a.value=x:Wt(a.value,{select:!0})}function p(y){if(l.paused||!d)return;const x=y.relatedTarget;x!==null&&(d.contains(x)||Wt(a.value,{select:!0}))}function h(y){d.contains(a.value)||Wt(d)}document.addEventListener("focusin",f),document.addEventListener("focusout",p);const w=new MutationObserver(h);d&&w.observe(d,{childList:!0,subtree:!0}),c(()=>{document.removeEventListener("focusin",f),document.removeEventListener("focusout",p),w.disconnect()})}),St(async c=>{const d=o.value;if(await Et(),!d)return;s.add(l);const f=Qt();if(!d.contains(f)){const h=new CustomEvent(Ai,ds);d.addEventListener(Ai,w=>r("mountAutoFocus",w)),d.dispatchEvent(h),h.defaultPrevented||(F0(K0(uu(d)),{select:!0}),Qt()===f&&Wt(d))}c(()=>{d.removeEventListener(Ai,y=>r("mountAutoFocus",y));const h=new CustomEvent(Mi,ds),w=y=>{r("unmountAutoFocus",y)};d.addEventListener(Mi,w),d.dispatchEvent(h),setTimeout(()=>{h.defaultPrevented||Wt(f??document.body,{select:!0}),d.removeEventListener(Mi,w),s.remove(l)},0)})});function u(c){if(!n.loop&&!n.trapped||l.paused)return;const d=c.key==="Tab"&&!c.altKey&&!c.ctrlKey&&!c.metaKey,f=Qt();if(d&&f){const p=c.currentTarget,[h,w]=U0(p);h&&w?!c.shiftKey&&f===w?(c.preventDefault(),n.loop&&Wt(h,{select:!0})):c.shiftKey&&f===h&&(c.preventDefault(),n.loop&&Wt(w,{select:!0})):f===p&&c.preventDefault()}}return(c,d)=>(G(),Ve(N(Hr),{ref_key:"currentRef",ref:i,tabindex:"-1","as-child":c.asChild,as:c.as,onKeydown:u},{default:ge(()=>[He(c.$slots,"default")]),_:3},8,["as-child","as"]))}}),cu=we({__name:"DialogContentImpl",props:{forceMount:{type:Boolean},trapFocus:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,r=t,i=dn(),{forwardRef:o,currentElement:a}=jt();return i.titleId||(i.titleId=oo(void 0,"reka-dialog-title")),i.descriptionId||(i.descriptionId=oo(void 0,"reka-dialog-description")),Tt(()=>{i.contentElement=a,Qt()!==document.body&&(i.triggerElement.value=Qt())}),(s,l)=>(G(),Ve(N(G0),{"as-child":"",loop:"",trapped:n.trapFocus,onMountAutoFocus:l[5]||(l[5]=u=>r("openAutoFocus",u)),onUnmountAutoFocus:l[6]||(l[6]=u=>r("closeAutoFocus",u))},{default:ge(()=>[he(N(z0),Ft({id:N(i).contentId,ref:N(o),as:s.as,"as-child":s.asChild,"disable-outside-pointer-events":s.disableOutsidePointerEvents,role:"dialog","aria-describedby":N(i).descriptionId,"aria-labelledby":N(i).titleId,"data-state":N(B0)(N(i).open.value)},s.$attrs,{onDismiss:l[0]||(l[0]=u=>N(i).onOpenChange(!1)),onEscapeKeyDown:l[1]||(l[1]=u=>r("escapeKeyDown",u)),onFocusOutside:l[2]||(l[2]=u=>r("focusOutside",u)),onInteractOutside:l[3]||(l[3]=u=>r("interactOutside",u)),onPointerDownOutside:l[4]||(l[4]=u=>r("pointerDownOutside",u))}),{default:ge(()=>[He(s.$slots,"default")]),_:3},16,["id","as","as-child","disable-outside-pointer-events","aria-describedby","aria-labelledby","data-state"])]),_:3},8,["trapped"]))}});var q0=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},vn=new WeakMap,fr=new WeakMap,pr={},Ii=0,du=function(e){return e&&(e.host||du(e.parentNode))},W0=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=du(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},Y0=function(e,t,n,r){var i=W0(t,Array.isArray(e)?e:[e]);pr[n]||(pr[n]=new WeakMap);var o=pr[n],a=[],s=new Set,l=new Set(i),u=function(d){!d||s.has(d)||(s.add(d),u(d.parentNode))};i.forEach(u);var c=function(d){!d||l.has(d)||Array.prototype.forEach.call(d.children,function(f){if(s.has(f))c(f);else try{var p=f.getAttribute(r),h=p!==null&&p!=="false",w=(vn.get(f)||0)+1,y=(o.get(f)||0)+1;vn.set(f,w),o.set(f,y),a.push(f),w===1&&h&&fr.set(f,!0),y===1&&f.setAttribute(n,"true"),h||f.setAttribute(r,"true")}catch(x){console.error("aria-hidden: cannot operate on ",f,x)}})};return c(t),s.clear(),Ii++,function(){a.forEach(function(d){var f=vn.get(d)-1,p=o.get(d)-1;vn.set(d,f),o.set(d,p),f||(fr.has(d)||d.removeAttribute(r),fr.delete(d)),p||d.removeAttribute(n)}),Ii--,Ii||(vn=new WeakMap,vn=new WeakMap,fr=new WeakMap,pr={})}},X0=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),i=q0(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll("[aria-live]"))),Y0(r,i,n,"aria-hidden")):function(){return null}};function Q0(e){let t;Se(()=>vo(e),n=>{n?t=X0(n):t&&t()}),yt(()=>{t&&t()})}const Z0=we({__name:"DialogContentModal",props:{forceMount:{type:Boolean},trapFocus:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,r=t,i=dn(),o=Fo(r),{forwardRef:a,currentElement:s}=jt();return Q0(s),(l,u)=>(G(),Ve(cu,Ft({...n,...N(o)},{ref:N(a),"trap-focus":N(i).open.value,"disable-outside-pointer-events":!0,onCloseAutoFocus:u[0]||(u[0]=c=>{var d;c.defaultPrevented||(c.preventDefault(),(d=N(i).triggerElement.value)==null||d.focus())}),onPointerDownOutside:u[1]||(u[1]=c=>{const d=c.detail.originalEvent,f=d.button===0&&d.ctrlKey===!0;(d.button===2||f)&&c.preventDefault()}),onFocusOutside:u[2]||(u[2]=c=>{c.preventDefault()})}),{default:ge(()=>[He(l.$slots,"default")]),_:3},16,["trap-focus"]))}}),J0=we({__name:"DialogContentNonModal",props:{forceMount:{type:Boolean},trapFocus:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,i=Fo(t);jt();const o=dn(),a=j(!1),s=j(!1);return(l,u)=>(G(),Ve(cu,Ft({...n,...N(i)},{"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:u[0]||(u[0]=c=>{var d;c.defaultPrevented||(a.value||(d=N(o).triggerElement.value)==null||d.focus(),c.preventDefault()),a.value=!1,s.value=!1}),onInteractOutside:u[1]||(u[1]=c=>{var p;c.defaultPrevented||(a.value=!0,c.detail.originalEvent.type==="pointerdown"&&(s.value=!0));const d=c.target;((p=N(o).triggerElement.value)==null?void 0:p.contains(d))&&c.preventDefault(),c.detail.originalEvent.type==="focusin"&&s.value&&c.preventDefault()})}),{default:ge(()=>[He(l.$slots,"default")]),_:3},16))}}),eb=we({__name:"DialogContent",props:{forceMount:{type:Boolean},trapFocus:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,r=t,i=dn(),o=Fo(r),{forwardRef:a}=jt();return(s,l)=>(G(),Ve(N(ou),{present:s.forceMount||N(i).open.value},{default:ge(()=>[N(i).modal.value?(G(),Ve(Z0,Ft({key:0,ref:N(a)},{...n,...N(o),...s.$attrs}),{default:ge(()=>[He(s.$slots,"default")]),_:3},16)):(G(),Ve(J0,Ft({key:1,ref:N(a)},{...n,...N(o),...s.$attrs}),{default:ge(()=>[He(s.$slots,"default")]),_:3},16))]),_:3},8,["present"]))}}),tb=Zc(()=>{const e=j(new Map),t=j(),n=Me(()=>{for(const a of e.value.values())if(a)return!0;return!1}),r=iu({scrollBody:j(!0)});let i=null;const o=()=>{document.body.style.paddingRight="",document.body.style.marginRight="",document.body.style.pointerEvents="",document.body.style.removeProperty("--scrollbar-width"),document.body.style.overflow=t.value??"",Qo&&(i==null||i()),t.value=void 0};return Se(n,(a,s)=>{var d;if(!Gn)return;if(!a){s&&o();return}t.value===void 0&&(t.value=document.body.style.overflow);const l=window.innerWidth-document.documentElement.clientWidth,u={padding:l,margin:0},c=(d=r.scrollBody)!=null&&d.value?typeof r.scrollBody.value=="object"?yo({padding:r.scrollBody.value.padding===!0?l:r.scrollBody.value.padding,margin:r.scrollBody.value.margin===!0?l:r.scrollBody.value.margin},u):u:{padding:0,margin:0};l>0&&(document.body.style.paddingRight=typeof c.padding=="number"?`${c.padding}px`:String(c.padding),document.body.style.marginRight=typeof c.margin=="number"?`${c.margin}px`:String(c.margin),document.body.style.setProperty("--scrollbar-width",`${l}px`),document.body.style.overflow="hidden"),Qo&&(i=ed(document,"touchmove",f=>rb(f),{passive:!1})),Et(()=>{document.body.style.pointerEvents="none",document.body.style.overflow="hidden"})},{immediate:!0,flush:"sync"}),e});function nb(e){const t=Math.random().toString(36).substring(2,7),n=tb();n.value.set(t,e);const r=Me({get:()=>n.value.get(t)??!1,set:i=>n.value.set(t,i)});return Jc(()=>{n.value.delete(t)}),r}function fu(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.cancelable&&t.preventDefault(),!1)}const ib=we({__name:"DialogOverlayImpl",props:{asChild:{type:Boolean},as:{}},setup(e){const t=dn();return nb(!0),jt(),(n,r)=>(G(),Ve(N(Hr),{as:n.as,"as-child":n.asChild,"data-state":N(t).open.value?"open":"closed",style:{"pointer-events":"auto"}},{default:ge(()=>[He(n.$slots,"default")]),_:3},8,["as","as-child","data-state"]))}}),ob=we({__name:"DialogOverlay",props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{}},setup(e){const t=dn(),{forwardRef:n}=jt();return(r,i)=>{var o;return(o=N(t))!=null&&o.modal.value?(G(),Ve(N(ou),{key:0,present:r.forceMount||N(t).open.value},{default:ge(()=>[he(ib,Ft(r.$attrs,{ref:N(n),as:r.as,"as-child":r.asChild}),{default:ge(()=>[He(r.$slots,"default")]),_:3},16,["as","as-child"])]),_:3},8,["present"])):Ge("",!0)}}}),pu=we({__name:"DialogPortal",props:{to:{},disabled:{type:Boolean},defer:{type:Boolean},forceMount:{type:Boolean}},setup(e){const t=e;return(n,r)=>(G(),Ve(N(O0),Ni(Es(t)),{default:ge(()=>[He(n.$slots,"default")]),_:3},16))}});(function(){try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode('[vaul-drawer]{touch-action:none;will-change:transform;transition:transform .5s cubic-bezier(.32,.72,0,1)}[vaul-drawer][vaul-drawer-direction=bottom]{transform:translate3d(0,100%,0)}[vaul-drawer][vaul-drawer-direction=top]{transform:translate3d(0,-100%,0)}[vaul-drawer][vaul-drawer-direction=left]{transform:translate3d(-100%,0,0)}[vaul-drawer][vaul-drawer-direction=right]{transform:translate3d(100%,0,0)}.vaul-dragging .vaul-scrollable [vault-drawer-direction=top],.vaul-dragging .vaul-scrollable [vault-drawer-direction=bottom]{overflow-y:hidden!important}.vaul-dragging .vaul-scrollable [vault-drawer-direction=left],.vaul-dragging .vaul-scrollable [vault-drawer-direction=right]{overflow-x:hidden!important}[vaul-drawer][vaul-drawer-visible=true][vaul-drawer-direction=top],[vaul-drawer][vaul-drawer-visible=true][vaul-drawer-direction=bottom]{transform:translate3d(0,var(--snap-point-height, 0),0)}[vaul-drawer][vaul-drawer-visible=true][vaul-drawer-direction=left],[vaul-drawer][vaul-drawer-visible=true][vaul-drawer-direction=right]{transform:translate3d(var(--snap-point-height, 0),0,0)}[vaul-overlay]{opacity:0;transition:opacity .5s cubic-bezier(.32,.72,0,1)}[vaul-overlay][vaul-drawer-visible=true]{opacity:1}[vaul-drawer]:after{content:"";position:absolute;background:inherit;background-color:inherit}[vaul-drawer][vaul-drawer-direction=top]:after{top:initial;bottom:100%;left:0;right:0;height:200%}[vaul-drawer][vaul-drawer-direction=bottom]:after{top:100%;bottom:initial;left:0;right:0;height:200%}[vaul-drawer][vaul-drawer-direction=left]:after{left:initial;right:100%;top:0;bottom:0;width:200%}[vaul-drawer][vaul-drawer-direction=right]:after{left:100%;right:initial;top:0;bottom:0;width:200%}[vaul-overlay][vaul-snap-points=true]:not([vaul-snap-points-overlay=true]):not([data-state=closed]){opacity:0}[vaul-overlay][vaul-snap-points-overlay=true]:not([vaul-drawer-visible=false]){opacity:1}@keyframes fake-animation{}@media (hover: hover) and (pointer: fine){[vaul-drawer]{-webkit-user-select:none;user-select:none}}')),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();const ab=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const sb=e=>typeof e<"u";function lb(e){return JSON.parse(JSON.stringify(e))}function hs(e,t,n,r={}){var i,o,a;const{clone:s=!1,passive:l=!1,eventName:u,deep:c=!1,defaultValue:d,shouldEmit:f}=r,p=Nr(),h=n||(p==null?void 0:p.emit)||((i=p==null?void 0:p.$emit)==null?void 0:i.bind(p))||((a=(o=p==null?void 0:p.proxy)==null?void 0:o.$emit)==null?void 0:a.bind(p==null?void 0:p.proxy));let w=u;t||(t="modelValue"),w=w||`update:${t.toString()}`;const y=T=>s?typeof s=="function"?s(T):lb(T):T,x=()=>sb(e[t])?y(e[t]):d,A=T=>{f?f(T)&&h(w,T):h(w,T)};if(l){const T=x(),M=j(T);let R=!1;return Se(()=>e[t],m=>{R||(R=!0,M.value=y(m),Et(()=>R=!1))}),Se(M,m=>{!R&&(m!==e[t]||c)&&A(m)},{deep:c}),M}else return Me({get(){return x()},set(T){A(T)}})}const[hu,ub]=Bo("DrawerRoot"),mu=new WeakMap;function je(e,t,n=!1){if(!e||!(e instanceof HTMLElement)||!t)return;const r={};Object.entries(t).forEach(([i,o])=>{if(i.startsWith("--")){e.style.setProperty(i,o);return}r[i]=e.style[i],e.style[i]=o}),!n&&mu.set(e,r)}function hr(e,t){if(!e||!(e instanceof HTMLElement))return;const n=mu.get(e);n&&(t?e.style[t]=n[t]:Object.entries(n).forEach(([r,i])=>{e.style[r]=i}))}function mr(e,t){const n=window.getComputedStyle(e),r=n.transform||n.webkitTransform||n.mozTransform;let i=r.match(/^matrix3d\((.+)\)$/);return i?Number.parseFloat(i[1].split(", ")[Ye(t)?13:12]):(i=r.match(/^matrix\((.+)\)$/),i?Number.parseFloat(i[1].split(", ")[Ye(t)?5:4]):null)}function cb(e){return 8*(Math.log(e+1)-2)}function Ye(e){switch(e){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return e}}const Ne={DURATION:.5,EASE:[.32,.72,0,1]},gu=.4;function db({activeSnapPoint:e,snapPoints:t,drawerRef:n,overlayRef:r,fadeFromIndex:i,onSnapPointChange:o,direction:a}){const s=j(typeof window<"u"?{innerWidth:window.innerWidth,innerHeight:window.innerHeight}:void 0);function l(){s.value={innerWidth:window.innerWidth,innerHeight:window.innerHeight}}Tt(()=>{typeof window<"u"&&window.addEventListener("resize",l)}),td(()=>{typeof window<"u"&&window.removeEventListener("resize",l)});const u=Me(()=>(t.value&&e.value===t.value[t.value.length-1])??null),c=Me(()=>t.value&&t.value.length>0&&((i==null?void 0:i.value)||(i==null?void 0:i.value)===0)&&!Number.isNaN(i==null?void 0:i.value)&&t.value[(i==null?void 0:i.value)??-1]===e.value||!t.value),d=Me(()=>{var A;return((A=t.value)==null?void 0:A.findIndex(T=>T===e.value))??null}),f=Me(()=>{var A;return((A=t.value)==null?void 0:A.map(T=>{const M=typeof T=="string";let R=0;if(M&&(R=Number.parseInt(T,10)),Ye(a.value)){const E=M?R:s.value?T*s.value.innerHeight:0;return s.value?a.value==="bottom"?s.value.innerHeight-E:-s.value.innerHeight+E:E}const m=M?R:s.value?T*s.value.innerWidth:0;return s.value?a.value==="right"?s.value.innerWidth-m:-s.value.innerWidth+m:m}))??[]}),p=Me(()=>{var A;return d.value!==null?(A=f.value)==null?void 0:A[d.value]:null}),h=A=>{var T,M,R,m;const E=((T=f.value)==null?void 0:T.findIndex(b=>b===A))??null;Et(()=>{var b;o(E,f.value),je((b=n.value)==null?void 0:b.$el,{transition:`transform ${Ne.DURATION}s cubic-bezier(${Ne.EASE.join(",")})`,transform:Ye(a.value)?`translate3d(0, ${A}px, 0)`:`translate3d(${A}px, 0, 0)`})}),f.value&&E!==f.value.length-1&&E!==(i==null?void 0:i.value)?je((M=r.value)==null?void 0:M.$el,{transition:`opacity ${Ne.DURATION}s cubic-bezier(${Ne.EASE.join(",")})`,opacity:"0"}):je((R=r.value)==null?void 0:R.$el,{transition:`opacity ${Ne.DURATION}s cubic-bezier(${Ne.EASE.join(",")})`,opacity:"1"}),e.value=E!==null?((m=t.value)==null?void 0:m[E])??null:null};Se([e,f,t],()=>{var A;if(e.value){const T=((A=t.value)==null?void 0:A.findIndex(M=>M===e.value))??-1;f.value&&T!==-1&&typeof f.value[T]=="number"&&h(f.value[T])}},{immediate:!0});function w({draggedDistance:A,closeDrawer:T,velocity:M,dismissible:R}){var m,E,b;if(i.value===void 0)return;const v=a.value==="bottom"||a.value==="right"?(p.value??0)-A:(p.value??0)+A,g=d.value===i.value-1,_=d.value===0,S=A>0;if(g&&je((m=r.value)==null?void 0:m.$el,{transition:`opacity ${Ne.DURATION}s cubic-bezier(${Ne.EASE.join(",")})`}),M>2&&!S){R?T():h(f.value[0]);return}if(M>2&&S&&f&&t.value){h(f.value[t.value.length-1]);return}const z=(E=f.value)==null?void 0:E.reduce((B,F)=>typeof B!="number"||typeof F!="number"?B:Math.abs(F-v)gu&&Math.abs(A)0&&u){h(f.value[(((b=t.value)==null?void 0:b.length)??0)-1]);return}if(_&&B<0&&R&&T(),d.value===null)return;h(f.value[d.value+B]);return}h(z)}function y({draggedDistance:A}){var T;if(p.value===null)return;const M=a.value==="bottom"||a.value==="right"?p.value-A:p.value+A;(a.value==="bottom"||a.value==="right")&&Mf.value[f.value.length-1]||je((T=n.value)==null?void 0:T.$el,{transform:Ye(a.value)?`translate3d(0, ${M}px, 0)`:`translate3d(${M}px, 0, 0)`})}function x(A,T){if(!t.value||typeof d.value!="number"||!f.value||i.value===void 0)return null;const M=d.value===i.value-1;if(d.value>=i.value&&T)return 0;if(M&&!T)return 1;if(!c.value&&!M)return null;const R=M?d.value+1:d.value-1,m=M?f.value[R]-f.value[R-1]:f.value[R+1]-f.value[R],E=A/Math.abs(m);return M?1-E:E}return{isLastSnapPoint:u,shouldFade:c,getPercentageDragged:x,activeSnapPointIndex:d,onRelease:w,onDrag:y,snapPointsOffset:f}}let zn=null;function fb(e){const{isOpen:t,modal:n,nested:r,hasBeenOpened:i}=e,o=j(typeof window<"u"?window.location.href:""),a=j(0);function s(){if(zn===null&&t.value){zn={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,height:document.body.style.height};const{scrollX:u,innerHeight:c}=window;document.body.style.position="fixed",document.body.style.top=`-${a.value}px`,document.body.style.left=`-${u}px`,document.body.style.right="0px",document.body.style.height="auto",setTimeout(()=>{requestAnimationFrame(()=>{const d=c-window.innerHeight;d&&a.value>=c&&(document.body.style.top=`-${a.value+d}px`)})},300)}}function l(){if(zn!==null){const u=-Number.parseInt(document.body.style.top,10),c=-Number.parseInt(document.body.style.left,10);Object.assign(document.body.style,zn),requestAnimationFrame(()=>{if(o.value!==window.location.href){o.value=window.location.href;return}window.scrollTo(c,u)}),zn=null}}return Tt(()=>{function u(){a.value=window.scrollY}u(),window.addEventListener("scroll",u),yt(()=>{window.removeEventListener("scroll",u)})}),Se([t,i,o],()=>{r.value||!i.value||(t.value?(!window.matchMedia("(display-mode: standalone)").matches&&s(),n.value||setTimeout(()=>{l()},500)):l())}),{restorePositionSetting:l}}const pb=.25,hb=100,ms=8,gr=16,mb=26,gs="vaul-dragging";function gb(e,t){return e&&e.value?e:t}function vb(e){const{emitDrag:t,emitRelease:n,emitClose:r,emitOpenChange:i,open:o,dismissible:a,nested:s,modal:l,shouldScaleBackground:u,scrollLockTimeout:c,closeThreshold:d,activeSnapPoint:f,fadeFromIndex:p,direction:h}=e,w=j(o.value??!1),y=j(!1),x=j(!1),A=j(!1),T=j(!1),M=j(null),R=j(null),m=j(null),E=j(null),b=j(null),v=j(!0),g=j(null),_=j(0),S=j(!1);j(0);const z=j(null);j(0);const V=Me(()=>{var K;return((K=z.value)==null?void 0:K.$el.getBoundingClientRect().height)||0}),B=gb(e.snapPoints,j(void 0)),{activeSnapPointIndex:F,onRelease:Z,snapPointsOffset:J,onDrag:ee,shouldFade:I,getPercentageDragged:ve}=db({snapPoints:B,activeSnapPoint:f,drawerRef:z,fadeFromIndex:p,overlayRef:M,onSnapPointChange:Ce,direction:h});function Ce(K,re){B.value&&K===re.length-1&&(R.value=new Date)}const{restorePositionSetting:P}=fb({isOpen:w,modal:l,nested:s,hasBeenOpened:y});function ye(){return(window.innerWidth-mb)/window.innerWidth}function Ie(K,re){var le;if(!K)return!1;let ne=K;const ue=(le=window.getSelection())==null?void 0:le.toString(),be=z.value?mr(z.value.$el,h.value):null,me=new Date;if(ne.hasAttribute("data-vaul-no-drag")||ne.closest("[data-vaul-no-drag]"))return!1;if(h.value==="right"||h.value==="left")return!0;if(R.value&&me.getTime()-R.value.getTime()<500)return!1;if(be!==null&&(h.value==="bottom"?be>0:be<0))return!0;if(ue&&ue.length>0)return!1;if(b.value&&me.getTime()-b.value.getTime()ne.clientHeight){if(ne.scrollTop!==0)return b.value=new Date,!1;if(ne.getAttribute("role")==="dialog")return!0}ne=ne.parentNode}return!0}function Ee(K){!a.value&&!B.value||z.value&&!z.value.$el.contains(K.target)||(A.value=!0,m.value=new Date,K.target.setPointerCapture(K.pointerId),_.value=Ye(h.value)?K.clientY:K.clientX)}function qe(K){var re,le,ne,ue,be,me;if(z.value&&A.value){const Ae=h.value==="bottom"||h.value==="right"?1:-1,Qe=(_.value-(Ye(h.value)?K.clientY:K.clientX))*Ae,Je=Qe>0,Vt=B.value&&!a.value&&!Je;if(Vt&&F.value===0)return;const $=Math.abs(Qe),Q=document.querySelector("[vaul-drawer-wrapper]");let ie=$/V.value;const ce=ve($,Je);if(ce!==null&&(ie=ce),Vt&&ie>=1||!v.value&&!Ie(K.target,Je))return;if((re=z==null?void 0:z.value)==null||re.$el.classList.add(gs),v.value=!0,je((le=z.value)==null?void 0:le.$el,{transition:"none"}),je((ne=M.value)==null?void 0:ne.$el,{transition:"none"}),B.value&&ee({draggedDistance:Qe}),Je&&!B.value){const Ke=cb(Qe),rt=Math.min(Ke*-1,0)*Ae;je((ue=z.value)==null?void 0:ue.$el,{transform:Ye(h.value)?`translate3d(0, ${rt}px, 0)`:`translate3d(${rt}px, 0, 0)`});return}const Te=1-ie;if((I.value||p.value&&F.value===p.value-1)&&(t(ie),je((be=M.value)==null?void 0:be.$el,{opacity:`${Te}`,transition:"none"},!0)),Q&&M.value&&u.value){const Ke=Math.min(ye()+ie*(1-ye()),1),rt=8-ie*8,it=Math.max(0,14-ie*14);je(Q,{borderRadius:`${rt}px`,transform:Ye(h.value)?`scale(${Ke}) translate3d(0, ${it}px, 0)`:`scale(${Ke}) translate3d(${it}px, 0, 0)`,transition:"none"},!0)}if(!B.value){const Ke=$*Ae;je((me=z.value)==null?void 0:me.$el,{transform:Ye(h.value)?`translate3d(0, ${Ke}px, 0)`:`translate3d(${Ke}px, 0, 0)`})}}}function q(){var K;if(!z.value)return;const re=document.querySelector("[vaul-drawer-wrapper]"),le=mr(z.value.$el,h.value);je(z.value.$el,{transform:"translate3d(0, 0, 0)",transition:`transform ${Ne.DURATION}s cubic-bezier(${Ne.EASE.join(",")})`}),je((K=M.value)==null?void 0:K.$el,{transition:`opacity ${Ne.DURATION}s cubic-bezier(${Ne.EASE.join(",")})`,opacity:"1"}),u.value&&le&&le>0&&w.value&&je(re,{borderRadius:`${ms}px`,overflow:"hidden",...Ye(h.value)?{transform:`scale(${ye()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${ye()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:`${Ne.DURATION}s`,transitionTimingFunction:`cubic-bezier(${Ne.EASE.join(",")})`},!0)}function k(){var K;z.value&&(r(),je(z.value.$el,{transform:Ye(h.value)?`translate3d(0, ${h.value==="bottom"?"100%":"-100%"}, 0)`:`translate3d(${h.value==="right"?"100%":"-100%"}, 0, 0)`,transition:`transform ${Ne.DURATION}s cubic-bezier(${Ne.EASE.join(",")})`}),je((K=M.value)==null?void 0:K.$el,{opacity:"0",transition:`opacity ${Ne.DURATION}s cubic-bezier(${Ne.EASE.join(",")})`}),L(!1),window.setTimeout(()=>{x.value=!1,w.value=!1},300),window.setTimeout(()=>{B.value&&(f.value=B.value[0])},Ne.DURATION*1e3))}St(()=>{if(!w.value&&u.value&&ab){const K=setTimeout(()=>{hr(document.body)},200);return()=>clearTimeout(K)}}),yt(()=>{L(!1),P()});function C(K){if(!A.value||!z.value)return;z.value.$el.classList.remove(gs),v.value=!1,A.value=!1,E.value=new Date;const re=mr(z.value.$el,h.value);if(!Ie(K.target,!1)||!re||Number.isNaN(re)||m.value===null)return;const le=E.value.getTime()-m.value.getTime(),ne=_.value-(Ye(h.value)?K.clientY:K.clientX),ue=Math.abs(ne)/le;if(ue>.05&&(T.value=!0,window.setTimeout(()=>{T.value=!1},200)),B.value){const me=h.value==="bottom"||h.value==="right"?1:-1;Z({draggedDistance:ne*me,closeDrawer:k,velocity:ue,dismissible:a.value}),n(!0);return}if(h.value==="bottom"||h.value==="right"?ne>0:ne<0){q(),n(!0);return}if(ue>gu){k(),n(!1);return}const be=Math.min(z.value.$el.getBoundingClientRect().height??0,window.innerHeight);if(re>=be*d.value){k(),n(!1);return}n(!0),q()}Se(w,K=>{K&&(R.value=new Date,L(!0)),i(K)},{immediate:!0}),Se(o,K=>{K?(w.value=K,y.value=!0):k()},{immediate:!0});function L(K){const re=document.querySelector("[vaul-drawer-wrapper]");!re||!u.value||(K?(je(document.body,{background:document.body.style.backgroundColor||document.body.style.background}),je(document.body,{background:"black"},!0),je(re,{borderRadius:`${ms}px`,overflow:"hidden",...Ye(h.value)?{transform:`scale(${ye()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${ye()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:`${Ne.DURATION}s`,transitionTimingFunction:`cubic-bezier(${Ne.EASE.join(",")})`})):(hr(re,"overflow"),hr(re,"transform"),hr(re,"borderRadius"),je(re,{transitionProperty:"transform, border-radius",transitionDuration:`${Ne.DURATION}s`,transitionTimingFunction:`cubic-bezier(${Ne.EASE.join(",")})`})))}function H(K){var re,le;const ne=K?(window.innerWidth-gr)/window.innerWidth:1,ue=K?-16:0;g.value&&window.clearTimeout(g.value),je((re=z.value)==null?void 0:re.$el,{transition:`transform ${Ne.DURATION}s cubic-bezier(${Ne.EASE.join(",")})`,transform:`scale(${ne}) translate3d(0, ${ue}px, 0)`}),!K&&(le=z.value)!=null&&le.$el&&(g.value=window.setTimeout(()=>{var be,me;const Ae=mr((be=z.value)==null?void 0:be.$el,h.value);je((me=z.value)==null?void 0:me.$el,{transition:"none",transform:Ye(h.value)?`translate3d(0, ${Ae}px, 0)`:`translate3d(${Ae}px, 0, 0)`})},500))}function U(K){var re;if(K<0)return;const le=Ye(h.value)?window.innerHeight:window.innerWidth,ne=(le-gr)/le,ue=ne+K*(1-ne),be=-16+K*gr;je((re=z.value)==null?void 0:re.$el,{transform:Ye(h.value)?`scale(${ue}) translate3d(0, ${be}px, 0)`:`scale(${ue}) translate3d(${be}px, 0, 0)`,transition:"none"})}function Y(K){var re;const le=Ye(h.value)?window.innerHeight:window.innerWidth,ne=K?(le-gr)/le:1,ue=K?-16:0;K&&je((re=z.value)==null?void 0:re.$el,{transition:`transform ${Ne.DURATION}s cubic-bezier(${Ne.EASE.join(",")})`,transform:Ye(h.value)?`scale(${ne}) translate3d(0, ${ue}px, 0)`:`scale(${ne}) translate3d(${ue}px, 0, 0)`})}return{open:o,isOpen:w,modal:l,keyboardIsOpen:S,hasBeenOpened:y,isVisible:x,drawerRef:z,drawerHeightRef:V,overlayRef:M,isDragging:A,dragStartTime:m,isAllowedToDrag:v,snapPoints:B,activeSnapPoint:f,pointerStart:_,dismissible:a,snapPointsOffset:J,direction:h,shouldFade:I,fadeFromIndex:p,shouldScaleBackground:u,onPress:Ee,onDrag:qe,onRelease:C,closeDrawer:k,onNestedDrag:U,onNestedRelease:Y,onNestedOpenChange:H,emitClose:r,emitDrag:t,emitRelease:n,emitOpenChange:i,nested:s}}const vu=we({__name:"DrawerRoot",props:{activeSnapPoint:{default:void 0},closeThreshold:{default:pb},shouldScaleBackground:{type:Boolean,default:void 0},scrollLockTimeout:{default:hb},fixed:{type:Boolean,default:void 0},dismissible:{type:Boolean,default:!0},modal:{type:Boolean,default:!0},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:void 0},nested:{type:Boolean,default:!1},direction:{default:"bottom"},snapPoints:{default:void 0},fadeFromIndex:{default:void 0}},emits:["drag","release","close","update:open","update:activeSnapPoint","animationEnd"],setup(e,{expose:t,emit:n}){const r=e,i=n;Ds();const o=Me(()=>r.fadeFromIndex??(r.snapPoints&&r.snapPoints.length-1)),a=hs(r,"open",i,{defaultValue:r.defaultOpen,passive:r.open===void 0}),s=hs(r,"activeSnapPoint",i,{passive:r.activeSnapPoint===void 0}),l={emitDrag:h=>i("drag",h),emitRelease:h=>i("release",h),emitClose:()=>i("close"),emitOpenChange:h=>{i("update:open",h),setTimeout(()=>{i("animationEnd",h)},Ne.DURATION*1e3)}},{closeDrawer:u,hasBeenOpened:c,modal:d,isOpen:f}=ub(vb({...l,...In(r),activeSnapPoint:s,fadeFromIndex:o,open:a}));function p(h){if(a.value!==void 0){l.emitOpenChange(h);return}h?(c.value=!0,f.value=h):u()}return t({open:f}),(h,w)=>(G(),Ve(N(R0),{open:N(f),modal:N(d),"onUpdate:open":p},{default:ge(()=>[He(h.$slots,"default",{open:N(f)})]),_:3},8,["open","modal"]))}}),yu=we({__name:"DrawerOverlay",setup(e){const{overlayRef:t,snapPoints:n,isVisible:r,isOpen:i,shouldFade:o}=hu(),a=Me(()=>{var s;return n&&(((s=n.value)==null?void 0:s.length)??0)>0});return(s,l)=>(G(),Ve(N(ob),{ref_key:"overlayRef",ref:t,"vaul-drawer-visible":N(r)?"true":"false","vaul-overlay":"","vaul-snap-points":N(i)&&a.value?"true":"false","vaul-snap-points-overlay":N(i)&&N(o)?"true":"false"},null,8,["vaul-drawer-visible","vaul-snap-points","vaul-snap-points-overlay"]))}}),bu=we({__name:"DrawerContent",setup(e){const{open:t,isOpen:n,isVisible:r,snapPointsOffset:i,drawerRef:o,onPress:a,onDrag:s,onRelease:l,modal:u,emitOpenChange:c,dismissible:d,keyboardIsOpen:f,closeDrawer:p,direction:h}=hu(),w=Me(()=>i.value&&i.value.length>0?`${i.value[0]}px`:"0");function y(x){if(!u.value||x.defaultPrevented){x.preventDefault();return}f.value&&(f.value=!1),x.preventDefault(),d.value&&c(!1),!(!d.value||t.value!==void 0)&&p()}return Se(n,x=>{x&&setTimeout(()=>{r.value=!0},1)},{immediate:!0}),(x,A)=>(G(),Ve(N(eb),{ref_key:"drawerRef",ref:o,"vaul-drawer":"","vaul-drawer-direction":N(h),"vaul-drawer-visible":N(r)?"true":"false",style:Ir({"--snap-point-height":w.value}),onPointerdown:N(a),onPointermove:N(s),onPointerup:N(l),onPointerDownOutside:y,onEscapeKeyDown:A[0]||(A[0]=T=>{N(d)||T.preventDefault()})},{default:ge(()=>[He(x.$slots,"default")]),_:3},8,["vaul-drawer-direction","vaul-drawer-visible","style","onPointerdown","onPointermove","onPointerup"]))}}),yb=["onClick"],bb={flex:"~ row 1","items-center":"","gap-1.5":""},xb={"p-4":""},wb={class:"space-y-4"},kb={class:"flex items-center justify-between"},Tb={class:"flex items-center gap-1 text-sm font-medium"},_b=["disabled","placeholder"],Eb=["disabled"],Ab={class:"flex items-center justify-between"},Mb={class:"flex items-center gap-1 text-sm font-medium"},Ib=["disabled"],Sb=we({__name:"Live2DSettings",setup(e){const{t}=An(),n=nd({accept:"application/zip"}),r=Mn(),i=j(r.live2dModel);return n.onChange(o=>{o&&o.length>0&&(r.live2dModel=o[0])}),(o,a)=>(G(),Ve(N(Sr),{"w-full":""},{trigger:ge(s=>[O("button",{bg:"zinc-100 dark:zinc-800",hover:"bg-zinc-200 dark:bg-zinc-700",transition:"all ease-in-out duration-250","w-full":"",flex:"","items-center":"","gap-1.5":"","rounded-lg":"","px-4":"","py-3":"","outline-none":"",class:"[&_.provider-icon]:grayscale-100 [&_.provider-icon]:hover:grayscale-0",onClick:l=>s.setVisible(!s.visible)},[O("div",bb,[a[3]||(a[3]=O("div",{"i-solar:magic-stick-3-bold-duotone":"",class:"provider-icon size-6",transition:"filter duration-250 ease-in-out"},null,-1)),O("div",null,ae(N(t)("settings.live2d.change-model.title")),1)]),O("div",{transform:"",transition:"transform duration-250",class:It({"rotate-180":s.visible})},a[4]||(a[4]=[O("div",{"i-solar:alt-arrow-down-bold-duotone":""},null,-1)]),2)],8,yb)]),default:ge(()=>[O("div",xb,[O("div",wb,[O("div",kb,[O("div",null,[O("div",Tb,ae(N(t)("settings.live2d.change-model.from-url")),1)]),O("div",null,[wt(O("input",{"onUpdate:modelValue":a[0]||(a[0]=s=>i.value=s),disabled:N(r).loadingLive2dModel,type:"text",rounded:"",border:"zinc-300 dark:zinc-800 solid 1 focus:zinc-400 dark:focus:zinc-600",transition:"border duration-250 ease-in-out","px-2":"","py-1":"","text-sm":"","outline-none":"",placeholder:N(t)("settings.live2d.change-model.from-url-placeholder")},null,8,_b),[[ji,i.value]]),O("button",{disabled:N(r).loadingLive2dModel,bg:"zinc-100 dark:zinc-800",hover:"bg-zinc-200 dark:bg-zinc-700",transition:"all ease-in-out duration-250","ml-2":"",rounded:"","px-2":"","py-1":"","text-sm":"","outline-none":"",onClick:a[1]||(a[1]=s=>N(r).live2dModel=i.value)},ae(N(t)("settings.live2d.change-model.from-url-confirm")),9,Eb)])]),O("div",Ab,[O("div",null,[O("div",Mb,ae(N(t)("settings.live2d.change-model.from-file")),1)]),O("button",{disabled:N(r).loadingLive2dModel,rounded:"",bg:"zinc-100 dark:zinc-800",hover:"bg-zinc-200 dark:bg-zinc-700",transition:"all ease-in-out duration-250","px-2":"","py-1":"","text-sm":"","outline-none":"",onClick:a[2]||(a[2]=s=>N(n).open())},ae(N(t)("settings.live2d.change-model.from-file-select")),9,Ib)])])])]),_:1}))}});var zt;function Cb(e){return{lang:(e==null?void 0:e.lang)??(zt==null?void 0:zt.lang),message:e==null?void 0:e.message,abortEarly:(e==null?void 0:e.abortEarly)??(zt==null?void 0:zt.abortEarly),abortPipeEarly:(e==null?void 0:e.abortPipeEarly)??(zt==null?void 0:zt.abortPipeEarly)}}var Si;function Rb(e){return Si==null?void 0:Si.get(e)}var Ci;function Ob(e){return Ci==null?void 0:Ci.get(e)}var Ri;function Pb(e,t){var n;return(n=Ri==null?void 0:Ri.get(e))==null?void 0:n.get(t)}function Lb(e){var n,r;const t=typeof e;return t==="string"?`"${e}"`:t==="number"||t==="bigint"||t==="boolean"?`${e}`:t==="object"||t==="function"?(e&&((r=(n=Object.getPrototypeOf(e))==null?void 0:n.constructor)==null?void 0:r.name))??"null":t}function Uo(e,t,n,r,i){const o=n.value,a=e.expects??null,s=Lb(o),l={kind:e.kind,type:e.type,input:o,expected:a,received:s,message:`Invalid ${t}: ${a?`Expected ${a} but r`:"R"}eceived ${s}`,requirement:e.requirement,path:i==null?void 0:i.path,issues:i==null?void 0:i.issues,lang:r.lang,abortEarly:r.abortEarly,abortPipeEarly:r.abortPipeEarly},u=e.kind==="schema",c=e.message??Pb(e.reference,l.lang)??(u?Ob(l.lang):null)??r.message??Rb(l.lang);c&&(l.message=typeof c=="function"?c(l):c),u&&(n.typed=!1),n.issues?n.issues.push(l):n.issues=[l]}function Qn(e){return{version:1,vendor:"valibot",validate(t){return e["~run"]({value:t},Cb())}}}function Db(e,t){return Object.hasOwn(e,t)&&t!=="__proto__"&&t!=="prototype"&&t!=="constructor"}function Le(e){return{kind:"metadata",type:"description",reference:Le,description:e}}function De(e){return{kind:"metadata",type:"title",reference:De,title:e}}function ao(e,t,n){return typeof e.default=="function"?e.default(t,n):e.default}function lt(e,t){return{kind:"schema",type:"object",reference:lt,expects:"Object",async:!1,entries:e,message:t,get"~standard"(){return Qn(this)},"~run"(n,r){var o;const i=n.value;if(i&&typeof i=="object"){n.typed=!0,n.value={};for(const a in this.entries){const s=i[a],l=this.entries[a]["~run"]({value:s},r);if(l.issues){const u={type:"object",origin:"value",input:i,key:a,value:s};for(const c of l.issues)c.path?c.path.unshift(u):c.path=[u],(o=n.issues)==null||o.push(c);if(n.issues||(n.issues=l.issues),r.abortEarly){n.typed=!1;break}}l.typed||(n.typed=!1),(l.value!==void 0||a in i)&&(n.value[a]=l.value)}}else Uo(this,"type",n,r);return n}}}function et(e,t){return{kind:"schema",type:"optional",reference:et,expects:`(${e.expects} | undefined)`,async:!1,wrapped:e,default:t,get"~standard"(){return Qn(this)},"~run"(n,r){return n.value===void 0&&(this.default!==void 0&&(n.value=ao(this,n,r)),n.value===void 0)?(n.typed=!0,n):this.wrapped["~run"](n,r)}}}function so(e,t,n){return{kind:"schema",type:"record",reference:so,expects:"Object",async:!1,key:e,value:t,message:n,get"~standard"(){return Qn(this)},"~run"(r,i){var a,s;const o=r.value;if(o&&typeof o=="object"){r.typed=!0,r.value={};for(const l in o)if(Db(o,l)){const u=o[l],c=this.key["~run"]({value:l},i);if(c.issues){const f={type:"object",origin:"key",input:o,key:l,value:u};for(const p of c.issues)p.path=[f],(a=r.issues)==null||a.push(p);if(r.issues||(r.issues=c.issues),i.abortEarly){r.typed=!1;break}}const d=this.value["~run"]({value:u},i);if(d.issues){const f={type:"object",origin:"value",input:o,key:l,value:u};for(const p of d.issues)p.path?p.path.unshift(f):p.path=[f],(s=r.issues)==null||s.push(p);if(r.issues||(r.issues=d.issues),i.abortEarly){r.typed=!1;break}}(!c.typed||!d.typed)&&(r.typed=!1),c.typed&&(r.value[c.value]=d.value)}}else Uo(this,"type",r,i);return r}}}function Pe(e){return{kind:"schema",type:"string",reference:Pe,expects:"string",async:!1,message:e,get"~standard"(){return Qn(this)},"~run"(t,n){return typeof t.value=="string"?t.typed=!0:Uo(this,"type",t,n),t}}}function Be(...e){return{...e[0],pipe:e,get"~standard"(){return Qn(this)},"~run"(t,n){for(const r of e)if(r.kind!=="metadata"){if(t.issues&&(r.kind==="schema"||r.kind==="transformation")){t.typed=!1;break}(!t.issues||!n.abortEarly&&!n.abortPipeEarly)&&(t=r["~run"](t,n))}return t}}}function nt(e,t){switch(t==null?void 0:t.errorMode){case"ignore":break;case"warn":{console.warn(e);break}default:throw new Error(e)}}function Nb(e,t,n){switch(t.type){case"base64":{e.contentEncoding="base64";break}case"bic":case"cuid2":case"decimal":case"digits":case"emoji":case"hexadecimal":case"hex_color":case"nanoid":case"octal":case"ulid":{e.pattern=t.requirement.source;break}case"description":{e.description=t.description;break}case"email":{e.format="email";break}case"empty":{e.type==="array"?e.maxItems=0:(e.type!=="string"&&nt(`The "${t.type}" action is not supported on type "${e.type}".`,n),e.maxLength=0);break}case"integer":{e.type="integer";break}case"ipv4":{e.format="ipv4";break}case"ipv6":{e.format="ipv6";break}case"iso_date":{e.format="date";break}case"iso_date_time":case"iso_timestamp":{e.format="date-time";break}case"iso_time":{e.format="time";break}case"length":{e.type==="array"?(e.minItems=t.requirement,e.maxItems=t.requirement):(e.type!=="string"&&nt(`The "${t.type}" action is not supported on type "${e.type}".`,n),e.minLength=t.requirement,e.maxLength=t.requirement);break}case"max_length":{e.type==="array"?e.maxItems=t.requirement:(e.type!=="string"&&nt(`The "${t.type}" action is not supported on type "${e.type}".`,n),e.maxLength=t.requirement);break}case"max_value":{e.type!=="number"&&nt(`The "max_value" action is not supported on type "${e.type}".`,n),e.maximum=t.requirement;break}case"min_length":{e.type==="array"?e.minItems=t.requirement:(e.type!=="string"&&nt(`The "${t.type}" action is not supported on type "${e.type}".`,n),e.minLength=t.requirement);break}case"min_value":{e.type!=="number"&&nt(`The "min_value" action is not supported on type "${e.type}".`,n),e.minimum=t.requirement;break}case"multiple_of":{e.multipleOf=t.requirement;break}case"non_empty":{e.type==="array"?e.minItems=1:(e.type!=="string"&&nt(`The "${t.type}" action is not supported on type "${e.type}".`,n),e.minLength=1);break}case"regex":{t.requirement.flags&&nt("RegExp flags are not supported by JSON Schema.",n),e.pattern=t.requirement.source;break}case"title":{e.title=t.title;break}case"url":{e.format="uri";break}case"uuid":{e.format="uuid";break}case"value":{e.const=t.requirement;break}default:nt(`The "${t.type}" action cannot be converted to JSON Schema.`,n)}return e}var zb=0;function mt(e,t,n,r){const i=r.referenceMap.get(t);if(i&&i in r.definitions)return e.$ref=`#/$defs/${i}`,e;if("pipe"in t){for(let o=0;o0&&nt('A "pipe" with multiple schemas cannot be converted to JSON Schema.',n);const s=mt({},a,n,r);if(s.$ref){const l=s.$ref.split("/")[2];Object.assign(e,r.definitions[l])}else Object.assign(e,s)}else e=Nb(e,a,n)}return e}switch(t.type){case"boolean":{e.type="boolean";break}case"null":{e.type="null";break}case"number":{e.type="number";break}case"string":{e.type="string";break}case"array":{e.type="array",e.items=mt({},t.item,n,r);break}case"tuple":case"tuple_with_rest":case"loose_tuple":case"strict_tuple":{e.type="array",e.items=[];for(const o of t.items)e.items.push(mt({},o,n,r));t.type==="tuple_with_rest"?e.additionalItems=mt({},t.rest,n,r):e.additionalItems=t.type==="loose_tuple";break}case"object":case"object_with_rest":case"loose_object":case"strict_object":{e.type="object",e.properties={},e.required=[];for(const o in t.entries){const a=t.entries[o];e.properties[o]=mt({},a,n,r),a.type!=="nullish"&&a.type!=="optional"&&e.required.push(o)}t.type==="object_with_rest"?e.additionalProperties=mt({},t.rest,n,r):t.type==="strict_object"&&(e.additionalProperties=!1);break}case"record":{"pipe"in t.key&&nt('The "record" schema with a schema for the key that contains a "pipe" cannot be converted to JSON Schema.',n),t.key.type!=="string"&&nt(`The "record" schema with the "${t.key.type}" schema for the key cannot be converted to JSON Schema.`,n),e.type="object",e.additionalProperties=mt({},t.value,n,r);break}case"any":case"unknown":break;case"nullable":case"nullish":{e.anyOf=[mt({},t.wrapped,n,r),{type:"null"}],t.default!==void 0&&(e.default=ao(t));break}case"exact_optional":case"optional":case"undefinedable":{e=mt(e,t.wrapped,n,r),t.default!==void 0&&(e.default=ao(t));break}case"literal":{typeof t.literal!="boolean"&&typeof t.literal!="number"&&typeof t.literal!="string"&&nt('The value of the "literal" schema is not JSON compatible.',n),e.const=t.literal;break}case"enum":{e.enum=t.options;break}case"picklist":{t.options.some(o=>typeof o!="number"&&typeof o!="string")&&nt('An option of the "picklist" schema is not JSON compatible.',n),e.enum=t.options;break}case"union":case"variant":{e.anyOf=t.options.map(o=>mt({},o,n,r));break}case"intersect":{e.allOf=t.options.map(o=>mt({},o,n,r));break}case"lazy":{let o=r.getterMap.get(t.getter);o||(o=t.getter(void 0),r.getterMap.set(t.getter,o));let a=r.referenceMap.get(o);a||(a=`${zb++}`,r.referenceMap.set(o,a),r.definitions[a]=mt({},o,n,r)),e.$ref=`#/$defs/${a}`;break}default:nt(`The "${t.type}" schema cannot be converted to JSON Schema.`,n)}return e}function pt(e,t){const n={definitions:{},referenceMap:new Map,getterMap:new Map},r=mt({$schema:"http://json-schema.org/draft-07/schema#"},e,t,n);return n.referenceMap.size&&(r.$defs=n.definitions),r}const Bb={flex:"~ col","gap-2":""},Fb=["onClick"],Ub={flex:"~ row 1","items-center":"","gap-1.5":""},$b={"p-4":""},jb={class:"space-y-4"},Vb={key:0},Hb={class:"flex items-center justify-between"},Kb={class:"flex items-center gap-1 text-sm font-medium"},Gb={key:0,class:"text-red-500"},qb={key:0,class:"text-xs text-zinc-500 dark:text-zinc-400"},Wb=["onClick"],Yb={class:"mt-2 space-y-2"},Xb=["onUpdate:modelValue","onInput"],Qb=["onUpdate:modelValue","onInput"],Zb=["onClick"],Jb={key:1,class:"flex items-center justify-between"},e1={class:"flex items-center gap-1 text-sm font-medium"},t1={key:0,class:"text-red-500"},n1={key:0,class:"text-xs text-zinc-400 dark:text-zinc-600"},r1=["type","value","placeholder","onInput"],i1=we({__name:"ModelProviderSettings",setup(e){const t=Me(()=>[{id:"openrouter-ai",name:"OpenRouter",icon:"i-lobe-icons:openrouter",fields:pt(lt({apiKey:Be(Pe(),De("API Key"),Le("API Key for OpenRouter")),baseUrl:et(Be(Pe(),De("Base URL"),Le("Custom base URL (optional)")),"https://openrouter.ai/api/v1/")}))},{id:"openai",name:"OpenAI",icon:"i-lobe-icons:openai",fields:pt(lt({apiKey:Be(Pe(),De("API Key"),Le("API Key for OpenAI services")),baseUrl:et(Be(Pe(),De("Base URL"),Le("Custom base URL (optional)")),"https://api.openai.com/v1/")}))},{id:"ollama-ai",name:"Ollama",icon:"i-lobe-icons:ollama",fields:pt(lt({baseUrl:et(Be(Pe(),De("Host"),Le("Host of the Ollama instance (optional)"))),extraHeaders:et(Be(so(Pe(),Pe()),De("Headers"),Le("Custom Headers for Ollama instance (optional)")))}))},{id:"vllm",name:"vLLM",icon:"i-lobe-icons:vllm-color",fields:pt(lt({baseUrl:et(Be(Pe(),De("Host"),Le("Host of the vLLM instance (optional)"))),apiKey:et(Be(Pe(),De("API Key"),Le("API Key for vLLM"))),extraHeaders:et(Be(so(Pe(),Pe()),De("Headers"),Le("Custom Headers for vLLM instance (optional)")))}))},{id:"elevenlabs",name:"ElevenLabs",icon:"i-simple-icons:elevenlabs",fields:pt(lt({apiKey:Be(Pe(),De("API Key"),Le("API Key for ElevenLabs")),baseUrl:et(Be(Pe(),De("Base URL"),Le("Custom base URL (optional)")))}))},{id:"xai",name:"xAI",icon:"i-lobe-icons:xai",fields:pt(lt({apiKey:Be(Pe(),De("API Key"),Le("API Key for xAI")),baseUrl:et(Be(Pe(),De("Base URL"),Le("Custom base URL (optional)")),"https://api.x.ai/v1/")}))},{id:"deepseek",name:"DeepSeek",icon:"i-lobe-icons:deepseek-color",fields:pt(lt({apiKey:Be(Pe(),De("API Key"),Le("API Key for DeepSeek")),baseUrl:et(Be(Pe(),De("Base URL"),Le("Custom base URL (optional)")),"https://api.deepseek.com/")}))},{id:"together-ai",name:"Together.ai",icon:"i-lobe-icons:together-color",fields:pt(lt({apiKey:Be(Pe(),De("API Key"),Le("API Key for Together.ai")),baseUrl:et(Be(Pe(),De("Base URL"),Le("Custom base URL (optional)")),"https://api.together.xyz/v1/")}))},{id:"novita-ai",name:"Novita",icon:"i-lobe-icons:novita-color",fields:pt(lt({apiKey:Be(Pe(),De("API Key"),Le("API Key for Novita")),baseUrl:et(Be(Pe(),De("Base URL"),Le("Custom base URL (optional)")),"https://api.novita.ai/v3/openai/")}))},{id:"fireworks-ai",name:"Fireworks.ai",icon:"i-lobe-icons:fireworks",fields:pt(lt({apiKey:Be(Pe(),De("API Key"),Le("API Key for Fireworks.ai")),baseUrl:et(Be(Pe(),De("Base URL"),Le("Custom base URL (optional)")),"https://api.fireworks.ai/inference/v1/")}))},{id:"cloudflare-workers-ai",name:"Cloudflare Workers AI",icon:"i-lobe-icons:cloudflare-color",fields:pt(lt({apiKey:Be(Pe(),De("API Key"),Le("API Key")),accountId:Be(Pe(),De("Account ID"),Le("Cloudflare Account ID"))}))},{id:"mistral-ai",name:"Mistral",icon:"i-lobe-icons:mistral-color",fields:pt(lt({apiKey:Be(Pe(),De("API Key"),Le("API Key for OpenRouter")),baseUrl:et(Be(Pe(),De("Base URL"),Le("Custom base URL (optional)")),"https://api.mistral.ai/v1/")}))},{id:"moonshot-ai",name:"Moonshot AI",icon:"i-lobe-icons:moonshot",fields:pt(lt({apiKey:Be(Pe(),De("API Key"),Le("API Key for OpenRouter")),baseUrl:et(Be(Pe(),De("Base URL"),Le("Custom base URL (optional)")),"https://api.moonshot.cn/v1/")}))}]),{providers:n}=_t(Qs());function r(f,p){var h;return((h=n.value[f])==null?void 0:h[p])||""}function i(f,p,h){n.value[f]||(n.value[f]={}),n.value[f][p]=h}function o(f,p){var w;const h=(w=n.value[f])==null?void 0:w[p];if(!h)return[["",""]];try{return Object.entries(h)}catch{return[["",""]]}}function a(f,p,h){var x;const w=h.filter(([A,T])=>A||T);if(w.length===0){(x=n.value[f])==null||delete x[p];return}const y=Object.fromEntries(w);i(f,p,y)}function s(f){f.push(["",""])}function l(f,p){f.splice(p,1)}function u(f,p){if(f.default!==void 0)return f.default;if(f.type==="object"&&f.additionalProperties)return[];switch(f.type){case"string":return"";case"number":case"integer":return 0;case"boolean":return!1;case"array":return[];case"object":return{};default:return""}}function c(f,p,h){var y;if(((y=n.value[f])==null?void 0:y[p])===void 0){const x=u(h);i(f,p,x)}}function d(f){const p=t.value.find(h=>h.id===f);!p||!p.fields.properties||Object.entries(p.fields.properties).forEach(([h,w])=>{c(f,h,w)})}return(f,p)=>(G(),te("div",Bb,[(G(!0),te(ln,null,wn(t.value,h=>(G(),te("div",{key:h.id},[he(N(Sr),{"w-full":""},{trigger:ge(w=>[O("button",{bg:"zinc-100 dark:zinc-800",hover:"bg-zinc-200 dark:bg-zinc-700",transition:"all ease-in-out duration-250","w-full":"",flex:"","items-center":"","gap-1.5":"","rounded-lg":"","px-4":"","py-3":"","outline-none":"",class:"[&_.provider-icon]:grayscale-100 [&_.provider-icon]:hover:grayscale-0",onClick:y=>w.setVisible(!w.visible)&&d(h.id)},[O("div",Ub,[O("div",{class:It([h.icon,"provider-icon size-6"]),transition:"filter duration-250 ease-in-out"},null,2),O("div",null,ae(h.name),1)]),O("div",{transform:"",transition:"transform duration-250",class:It({"rotate-180":w.visible})},p[0]||(p[0]=[O("div",{"i-solar:alt-arrow-down-bold-duotone":""},null,-1)]),2)],8,Fb)]),default:ge(()=>[O("div",$b,[O("div",jb,[(G(!0),te(ln,null,wn(h.fields.properties,(w,y)=>{var x,A;return G(),te("div",{key:y,class:"space-y-1"},[typeof w!="boolean"&&typeof y!="number"&&w.type==="object"&&w.additionalProperties?(G(),te("div",Vb,[O("div",Hb,[O("div",null,[O("div",Kb,[zi(ae(w.title||y)+" ",1),(x=h.fields.required)!=null&&x.includes(y)?(G(),te("span",Gb,"*")):Ge("",!0)]),w.description?(G(),te("div",qb,ae(w.description),1)):Ge("",!0)]),O("button",{class:"text-sm",onClick:T=>s(o(h.id,y))},p[1]||(p[1]=[O("div",{"i-solar:add-circle-line-duotone":""},null,-1)]),8,Wb)]),O("div",Yb,[(G(!0),te(ln,null,wn(o(h.id,y),(T,M)=>(G(),te("div",{key:M,class:"flex items-center gap-2"},[wt(O("input",{"onUpdate:modelValue":R=>o(h.id,y)[M][0]=R,type:"text",border:"zinc-300 dark:zinc-800 solid 1 focus:zinc-400 dark:focus:zinc-600",transition:"border duration-250 ease-in-out","flex-1":"",rounded:"","px-2":"","py-1":"","text-sm":"","outline-none":"",placeholder:"Key",onInput:R=>a(h.id,y,o(h.id,y))},null,40,Xb),[[ji,o(h.id,y)[M][0]]]),wt(O("input",{"onUpdate:modelValue":R=>o(h.id,y)[M][1]=R,type:"text",border:"zinc-300 dark:zinc-800 solid 1 focus:zinc-400 dark:focus:zinc-600",transition:"border duration-250 ease-in-out","flex-1":"",rounded:"","px-2":"","py-1":"","text-sm":"","outline-none":"",placeholder:"Value",onInput:R=>a(h.id,y,o(h.id,y))},null,40,Qb),[[ji,o(h.id,y)[M][1]]]),O("button",{class:"text-red-500 hover:text-red-600",onClick:R=>l(o(h.id,y),M)},p[2]||(p[2]=[O("div",{"i-solar:trash-bin-trash-bold-duotone":""},null,-1)]),8,Zb)]))),128))])])):Ge("",!0),typeof w!="boolean"&&typeof y!="number"&&w.type==="string"?(G(),te("div",Jb,[O("div",null,[O("div",e1,[zi(ae(w.title)+" ",1),(A=h.fields.required)!=null&&A.includes(y)?(G(),te("span",t1,"*")):Ge("",!0)]),w.description?(G(),te("div",n1,ae(w.description),1)):Ge("",!0)]),O("input",{type:y.toLowerCase().includes("key")?"password":"text",value:r(h.id,y),rounded:"",border:"zinc-300 dark:zinc-800 solid 1 focus:zinc-400 dark:focus:zinc-600",transition:"border duration-250 ease-in-out","px-2":"","py-1":"","text-sm":"","outline-none":"",placeholder:w.default&&String(w.default)||`Enter ${w.title||y}`,onInput:T=>i(h.id,y,T.target.value)},null,40,r1)])):Ge("",!0)])}),128))])])]),_:2},1024)]))),128))]))}}),o1={text:"zinc-500 dark:zinc-400",class:"relative"},a1={key:"main"},s1={text:"zinc-800/80 dark:zinc-200/80 xl","mb-4":"","font-bold":""},l1={class:"space-y-2"},u1={text:"sm"},c1={grid:"~ cols-[150px_1fr]",bg:"zinc-100 dark:zinc-800",hover:"bg-zinc-200 dark:bg-zinc-700",transition:"all ease-in-out duration-250","items-center":"","gap-1.5":"","rounded-lg":"","px-4":"","py-3":""},d1={text:"sm"},f1={flex:"~ row","w-full":"","justify-end":""},p1={value:"en-US"},h1={value:"zh-CN"},m1={bg:"zinc-100 dark:zinc-800",hover:"bg-zinc-200 dark:bg-zinc-700",transition:"all ease-in-out duration-250","w-full":"",flex:"","cursor-pointer":"","rounded-lg":"","px-4":"","py-3":""},g1=["checked","aria-checked"],v1={flex:"~ row","w-full":"","items-center":"","gap-1.5":""},y1={text:"sm","w-full":"","flex-1":""},b1={"select-none":""},x1={key:0,"i-solar:moon-stars-bold-duotone":"",transition:"all ease-in-out duration-250"},w1={key:1,"i-solar:sun-fog-bold-duotone":"",transition:"all ease-in-out duration-250"},k1={text:"sm"},T1={key:"providers"},_1={"mb-4":"",flex:"","items-center":"","gap-2":""},E1={text:"zinc-800/80 dark:zinc-200/80 xl","font-bold":""},A1={key:"live2d"},M1={"mb-4":"",flex:"","items-center":"","gap-2":""},I1={text:"zinc-800/80 dark:zinc-200/80 xl","font-bold":""},S1=we({__name:"MobileSettings",setup(e){const{t}=An(),n=_t(Mn()),r=lo({disableTransition:!1}),i=j("main"),o=j("forward");function a(c){const d=c.target;n.language.value=d.value}function s(){o.value="forward",i.value="providers"}function l(){o.value="forward",i.value="live2d"}function u(){o.value="backward",i.value="main"}return(c,d)=>{const f=Sb;return G(),te("div",o1,[he(kr,{name:o.value==="forward"?"slide-forward":"slide-backward"},{default:ge(()=>[i.value==="main"?(G(),te("div",a1,[O("h2",s1,ae(N(t)("settings.title")),1),O("div",null,[O("div",l1,[O("div",{grid:"~ cols-[150px_1fr]",bg:"zinc-100 dark:zinc-800",hover:"bg-zinc-200 dark:bg-zinc-700",transition:"all ease-in-out duration-250","cursor-pointer":"","items-center":"","gap-1.5":"","rounded-lg":"","px-4":"","py-3":"",onClick:s},[O("div",u1,[O("span",null,ae(N(t)("settings.model-provider.title")),1)]),d[1]||(d[1]=O("div",{flex:"~ row","w-full":"","justify-end":"",text:"sm"},[O("div",{"i-solar:alt-arrow-right-bold-duotone":""})],-1))]),O("div",c1,[O("div",d1,[O("span",null,ae(N(t)("settings.language.title")),1)]),O("div",f1,[O("select",{class:"w-32",bg:"transparent",text:"sm right zinc-800 dark:zinc-100",transition:"all ease-in-out duration-250",outline:"none",onChange:a},[O("option",p1,ae(N(t)("settings.language.english")),1),O("option",h1,ae(N(t)("settings.language.chinese")),1)],32)])]),O("label",m1,[wt(O("input",{"onUpdate:modelValue":d[0]||(d[0]=p=>Ns(r)?r.value=p:null),text:"zinc-800 dark:zinc-100",checked:N(r),"aria-checked":N(r),type:"checkbox",hidden:"","appearance-none":"","outline-none":""},null,8,g1),[[Pr,N(r)]]),O("div",v1,[O("div",y1,[O("span",null,ae(N(t)("settings.theme")),1)]),O("div",b1,[he(kr,{name:"slide-away",mode:"out-in"},{default:ge(()=>[N(r)?(G(),te("div",x1)):(G(),te("div",w1))]),_:1})])])]),O("div",{grid:"~ cols-[150px_1fr]",bg:"zinc-100 dark:zinc-800",hover:"bg-zinc-200 dark:bg-zinc-700",transition:"all ease-in-out duration-250","cursor-pointer":"","items-center":"","gap-1.5":"","rounded-lg":"","px-4":"","py-3":"",onClick:l},[O("div",k1,[O("span",null,ae(N(t)("settings.live2d.title")),1)]),d[2]||(d[2]=O("div",{flex:"~ row","w-full":"","justify-end":""},[O("div",{"i-solar:alt-arrow-right-bold-duotone":""})],-1))])])])])):i.value==="providers"?(G(),te("div",T1,[O("div",_1,[O("button",{text:"zinc-800/80 dark:zinc-200/80",onClick:u},d[3]||(d[3]=[O("div",{"i-solar:alt-arrow-left-bold-duotone":""},null,-1)])),O("h2",E1,ae(N(t)("settings.model-provider.title")),1)]),he(i1)])):i.value==="live2d"?(G(),te("div",A1,[O("div",M1,[O("button",{text:"zinc-800/80 dark:zinc-200/80",onClick:u},d[4]||(d[4]=[O("div",{"i-solar:alt-arrow-left-bold-duotone":""},null,-1)])),O("h2",I1,ae(N(t)("settings.live2d.title")),1)]),he(f)])):Ge("",!0)]),_:1},8,["name"])])}}}),xu=zr(S1,[["__scopeId","data-v-2a32d08f"]]),C1={flex:"~","gap-2":""},R1={flex:"~ 1 col gap-2","of-y-scroll":"","rounded-t-lg":"","p-5":""},O1=we({__name:"DesktopSettings",setup(e){const t=j(!1);return(n,r)=>(G(),te("div",C1,[he(N(vu),{open:t.value,"onUpdate:open":r[0]||(r[0]=i=>t.value=i),"should-scale-background":"",direction:"right"},{default:ge(()=>[he(N(au),{bg:"zinc-100 dark:zinc-800",text:"lg zinc-500 dark:zinc-400","max-h":"[10lh]","min-h":"[1lh]","m-1":"","rounded-lg":"","p-2":"","outline-none":""},{default:ge(()=>r[1]||(r[1]=[O("div",{"i-solar:settings-minimalistic-bold-duotone":""},null,-1)])),_:1}),he(N(pu),null,{default:ge(()=>[he(N(yu),{fixed:"","inset-0":"","z-50":"","bg-black:40":""}),he(N(bu),{class:"max-w-40% min-w-500px w-full",flex:"~ col",bg:"white dark:zinc-900",fixed:"","inset-y-4":"","right-4":"","z-50":"","of-hidden":"","rounded-lg":"","outline-none":""},{default:ge(()=>[O("div",R1,[he(xu)])]),_:1})]),_:1})]),_:1},8,["open"])]))}}),P1={"mb-1":"","w-full":"","gap-2":""},L1={href:"https://github.com/moeru-ai/airi",rel:"noreferrer noopener",target:"_blank",flex:"~ 1","w-full":"","items-center":"","gap-2":"","px-2":"","text-nowrap":"","text-2xl":"","outline-none":""},D1=["src"],N1=["src"],ow=we({__name:"Header",setup(e){const t=lo();return(n,r)=>(G(),te("header",P1,[O("a",L1,[N(t)?(G(),te("img",{key:0,src:N(_0),"h-8":"","w-8":""},null,8,D1)):(G(),te("img",{key:1,src:N(E0),"h-8":"","w-8":""},null,8,N1)),r[0]||(r[0]=O("div",{"font-cute":""},[O("span",null,"アイリ")],-1))]),he(O1)]))}});function wu(e,t){const n=yo(t??{},{...Zo.getDefaultRealTimeVADOptions("v5"),preSpeechPadFrames:30,positiveSpeechThreshold:.5,negativeSpeechThreshold:.35,minSpeechFrames:30,auto:!0}),r=j(),i=rd("microphone");async function o(){if(r.value&&(r.value.destroy(),r.value=void 0,console.warn("existing MicVAD destroyed")),!i.value)return;const a=N(e);if(!a)return;const s=await navigator.mediaDevices.getUserMedia({audio:{deviceId:a}});r.value=await Zo.MicVAD.new({...n,stream:s}),n.auto&&r.value.start()}return Se(i,o,{immediate:!0}),Se(Bi(e),o,{immediate:!0}),id(o),yt(()=>{r.value&&(r.value.destroy(),r.value=void 0)}),{destroy:()=>{r.value&&(r.value.destroy(),r.value=void 0)},start:()=>{r.value&&r.value.start()}}}function z1(e,t){const n=yo(t,{onLoading:()=>{},onInitiate:()=>{},onProgress:()=>{},onDone:()=>{},onReady:()=>{},onStart:()=>{},onUpdate:()=>{},onComplete:()=>{}}),{post:r,data:i,terminate:o}=od(e,{type:"module"}),a=j(null),s=j(""),l=j([]),u=j(!1),c=j(0),d=j("");return Se(i,f=>{var p,h,w,y,x,A,T,M;switch(f.status){case"loading":a.value="loading",s.value=f.data,(p=n.onLoading)==null||p.call(n,f.data);break;case"initiate":l.value.push(f),(h=n.onInitiate)==null||h.call(n,f);break;case"progress":l.value=l.value.map(R=>R.file===f.file?{...R,...f}:R),(w=n.onProgress)==null||w.call(n,f);break;case"done":l.value=l.value.filter(R=>R.file!==f.file),(y=n.onDone)==null||y.call(n,f);break;case"ready":a.value="ready",(x=n.onReady)==null||x.call(n);break;case"start":u.value=!0,(A=n.onStart)==null||A.call(n);break;case"update":c.value=f.tps,(T=n.onUpdate)==null||T.call(n,f.tps);break;case"complete":u.value=!1,d.value=f.output[0]||"",console.debug("Whisper result:",d.value),(M=n.onComplete)==null||M.call(n,f.output[0]);break}}),yt(()=>{o()}),{transcribe:f=>r(f),status:a,loadingMessage:s,loadingProgress:l,transcribing:u,tps:c,result:d,load:()=>r({type:"load"}),terminate:o}}const B1="/assets/worker-CL_jKwe6.js";async function F1(e,t){const n=new ArrayBuffer(44+e.length*2),r=new DataView(n);vr(r,0,"RIFF"),r.setUint32(4,36+e.length*2,!0),vr(r,8,"WAVE"),vr(r,12,"fmt "),r.setUint32(16,16,!0),r.setUint16(20,1,!0),r.setUint16(22,1,!0),r.setUint32(24,t,!0),r.setUint32(28,t*2,!0),r.setUint16(32,2,!0),r.setUint16(34,16,!0),vr(r,36,"data"),r.setUint32(40,e.length*2,!0),U1(r,44,e);const i=new Blob([r],{type:"audio/wav"});return new Promise((o,a)=>{const s=new FileReader;s.onload=()=>{const l=s.result.split(",")[1];o(l)},s.onerror=a,s.readAsDataURL(i)})}function vr(e,t,n){for(let r=0;r{Et().then(()=>{i.update(),o.value=i.height.value})}),l(async()=>{Et().then(()=>{i.update(),o.value=i.height.value})}),(u,c)=>{const d=qs("auto-animate");return G(),te("div",$1,[c[2]||(c[2]=O("div",{"flex-1":""},null,-1)),wt((G(),te("div",{ref_key:"chatHistoryRef",ref:t,"h-full":"","w-full":"",flex:"~ col","overflow-scroll":""},[c[1]||(c[1]=O("div",{"flex-1":""},null,-1)),(G(!0),te(ln,null,wn(N(n),(f,p)=>(G(),te("div",{key:p,"mb-2":""},[f.role==="error"?(G(),te("div",j1,[O("div",V1,[O("div",H1,[O("div",K1,[O("span",G1,ae(u.$t("stage.chat.message.character-name.core-system")),1)]),c[0]||(c[0]=O("div",{"i-solar:danger-triangle-bold-duotone":"","text-violet-500":""},null,-1))]),N(r)?(G(),te("div",q1)):(G(),te("div",{key:1,class:"markdown-content text-violet-500",text:"base {!b||!b.trim()||await u(b)}});async function A(){if(t.value.trim())try{await u(t.value)}catch(b){d.value.pop(),d.value.push({role:"error",content:b.message})}}const{destroy:T,start:M}=wu(l,{onSpeechStart:()=>{n.value=!0},onVADMisfire:()=>{n.value=!1},onSpeechEnd:b=>{n.value=!1,m(b)},auto:!1});function R(){y.value!=="loading"&&(w(),M())}async function m(b){await f.resume();const v=await F1(b,f.sampleRate);h({type:"generate",data:{audio:v,language:"en"}})}async function E(b){const v=b.target,g=o.value.find(_=>_.deviceId===v.value);if(!g){a.value=void 0;return}a.value=g}return Se(s,async b=>{b==="false"&&(T(),x())}),c(async()=>{t.value=""}),(b,v)=>(G(),te("div",ax,[O("fieldset",sx,[O("label",{class:It([r.value==="chat"?"bg-pink-100 dark:bg-[#3c2632]":"bg-white dark:bg-[#121212]",r.value==="chat"?"text-pink-500 dark:text-pink-500":""]),flex:"~ row",checked:r.value==="chat","aria-checked":r.value==="chat",border:"solid l-2 t-2 b-2 pink-100 dark:[#3c2632]",bg:"hover:pink-100 dark:hover:[#3c2632]",text:"pink-300 hover:pink-500 dark:pink-300/50 dark:hover:pink-500",transition:"all duration-250 ease-in-out","cursor-pointer":"","items-center":"","gap-1":"","rounded-l-lg":"","px-2":""},[wt(O("input",{"onUpdate:modelValue":v[0]||(v[0]=g=>r.value=g),type:"radio",name:"tab",value:"chat",hidden:""},null,512),[[Qr,r.value]]),v[5]||(v[5]=O("div",{"i-solar:dialog-2-bold-duotone":"",text:"2xl",transform:"translate-y--2"},null,-1)),O("div",ux,[O("span",cx,ae(b.$t("stage.chat.tabs.chat")),1)])],10,lx),O("label",{class:It([r.value==="custom"?"bg-pink-100 dark:bg-[#3c2632]":"bg-white dark:bg-[#121212]",r.value==="custom"?"text-pink-500 dark:text-pink-500":""]),flex:"~ row",checked:r.value==="custom","aria-checked":r.value==="custom",border:"solid t-2 b-2 pink-100 dark:[#3c2632]",bg:"hover:pink-100 dark:hover:[#3c2632]",text:"pink-300 hover:pink-500 dark:pink-300/50 dark:hover:pink-500",transition:"all duration-250 ease-in-out","cursor-pointer":"","items-center":"","gap-1":"","px-2":""},[wt(O("input",{"onUpdate:modelValue":v[1]||(v[1]=g=>r.value=g),type:"radio",name:"tab",value:"custom",hidden:""},null,512),[[Qr,r.value]]),v[6]||(v[6]=O("div",{"i-solar:star-fall-2-bold-duotone":"",text:"2xl",transform:"translate-y--2"},null,-1)),O("div",fx,[O("span",null,ae(b.$t("stage.chat.tabs.custom")),1)])],10,dx),O("label",{class:It([r.value==="clothes"?"bg-pink-100 dark:bg-[#3c2632]":"bg-white dark:bg-[#121212]",r.value==="clothes"?"text-pink-500 dark:text-pink-500":""]),flex:"~ row",checked:r.value==="clothes","aria-checked":r.value==="clothes",border:"solid r-2 t-2 b-2 pink-100 dark:[#3c2632]",bg:"hover:pink-100 dark:hover:[#3c2632]",text:"pink-300 hover:pink-500 dark:pink-300/50 dark:hover:pink-500",transition:"all duration-250 ease-in-out","cursor-pointer":"","items-center":"","gap-1":"","rounded-r-lg":"","px-2":""},[wt(O("input",{"onUpdate:modelValue":v[2]||(v[2]=g=>r.value=g),type:"radio",name:"tab",value:"clothes",hidden:""},null,512),[[Qr,r.value]]),v[7]||(v[7]=O("div",{"i-solar:magic-stick-3-bold-duotone":"",text:"2xl",transform:"translate-y--2"},null,-1)),O("div",hx,[O("span",null,ae(b.$t("stage.chat.tabs.clothes")),1)])],10,px)]),O("div",mx,[O("div",gx,[he(ox,{"h-full":"","flex-1":"","p-4":"",w:"full","max-h":"t.value=g),placeholder:N(p)("stage.message"),text:"pink-300 hover:pink-500 dark:pink-300/50 dark:hover:pink-500 placeholder:pink-300 placeholder:hover:pink-500 placeholder:dark:pink-300/50 placeholder:dark:hover:pink-500",bg:"pink-100 dark:pink-400/20","min-h":"[100px]","w-full":"","rounded-t-xl":"","p-4":"","font-medium":"","outline-none":"",transition:"all duration-250 ease-in-out placeholder:all placeholder:duration-250 placeholder:ease-in-out",onSubmit:A},null,8,["modelValue","placeholder"])])])]),O("div",yx,[O("button",{bg:"cyan-100 hover:cyan-200 dark:cyan-800 dark:hover:cyan-700",transition:"all duration-250 ease-in-out",text:"cyan-400","mb-6":"",flex:"","cursor-pointer":"","items-center":"","justify-center":"","gap-2":"","rounded-full":"","px-4":"","py-2":"",onClick:R},[he(kr,{mode:"out-in"},{default:ge(()=>[N(y)===null?(G(),te("div",bx,ae(b.$t("stage.operations.load-models")),1)):N(y)==="loading"?(G(),te("div",xx,[v[8]||(v[8]=O("div",{"i-svg-spinners:bouncing-ball":"",class:"text-cyan"},null,-1)),O("span",null,ae(b.$t("stage.operations.load-models-status.loading")),1)])):N(y)==="ready"?(G(),te("div",wx,[v[9]||(v[9]=O("div",{"i-lucide:check":"",class:"text-cyan"},null,-1)),O("span",null,ae(b.$t("stage.operations.load-models-status.ready")),1)])):Ge("",!0)]),_:1})]),O("div",kx,[he(N(Br),null,{default:ge(()=>[i.value?(G(),te("fieldset",Tx,[(G(!0),te(ln,null,wn(N(o),(g,_)=>(G(),te("label",{key:_,class:"[&_div_span]:dark:hover:bg-cyan-300 [&_div_span]:dark:hover:bg-cyan-900"},[O("input",{type:"radio",name:"audioInput",value:g.deviceId,hidden:"",onChange:E},null,40,_x),O("div",Ex,[O("div",Ax,[g.deviceId===N(l)?(G(),te("div",Mx)):Ge("",!0)]),O("span",{"inline-block":"",class:It([g.deviceId===N(l)?"cyan-400 dark:text-white":"cyan-400/50 dark:text-white/50"]),transition:"all duration-250 ease-in-out"},ae(g.label),3)])]))),128))])):Ge("",!0)]),_:1}),O("label",Ix,[wt(O("input",{"onUpdate:modelValue":v[4]||(v[4]=g=>i.value=g),type:"checkbox",hidden:""},null,512),[[Pr,i.value]]),v[10]||(v[10]=O("div",{"i-solar:microphone-2-bold-duotone":""},null,-1)),O("div",null,[n.value?(G(),te("span",Cx,"Listening...")):(G(),te("span",Sx,ae(b.$t("settings.microphone")),1))])])])])]))}}),aw=zr(Rx,[["__scopeId","data-v-0d5311ad"]]),Ox={},Px={"mb-1":"","w-full":"","gap-2":""};function Lx(e,t){return G(),te("header",Px,t[0]||(t[0]=[O("div",{flex:"~ 1","w-full":"","items-center":"","justify-center":"","gap-2":"","px-2":"","text-nowrap":"","text-lg":""},[O("div",{"i-solar:cat-outline":"",text:"[#ed869d]"}),O("div",{"font-cute":""},[O("span",null,"アイリ")])],-1)]))}const sw=zr(Ox,[["render",Lx]]),Dx={py:"1",flex:"~ col",rounded:"lg","overflow-hidden":""},Nx={key:0,flex:"",mr:"12"},zx={flex:"~ col",border:"4 solid pink-200/50 dark:pink-500/50",shadow:"md pink-200/50 dark:none","min-w-20":"","rounded-lg":"","px-2":"","py-1":"",h:"unset {Et().then(()=>{r.update(),i.value=r.height.value})}),s(async()=>{Et().then(()=>{r.update(),i.value=r.height.value})}),(l,u)=>{const c=qs("auto-animate");return G(),te("div",Dx,[u[1]||(u[1]=O("div",{"flex-1":""},null,-1)),wt((G(),te("div",{ref_key:"chatHistoryRef",ref:t,"h-full":"","w-full":"","max-h":"30vh",flex:"~ col","overflow-scroll":""},[u[0]||(u[0]=O("div",{"flex-1":""},null,-1)),(G(!0),te(ln,null,wn(N(n),(d,f)=>(G(),te("div",{key:f,"mb-2":""},[d.role==="assistant"?(G(),te("div",Nx,[O("div",zx,[O("div",null,[O("span",Bx,ae(l.$t("stage.chat.message.character-name.airi")),1)]),d.content?(G(),te("div",{key:0,class:"markdown-content",text:"base {i.value=!0},onVADMisfire:()=>{i.value=!1},onSpeechEnd:w=>{i.value=!1,p()},auto:!1});function p(w){alert("Transcription is not implemented yet")}function h(w){n("settingsOpen",w)}return Se(o,async w=>{w==="false"&&d()}),l(async()=>{r.value=""}),Tt(()=>{f()}),(w,y)=>(G(),te("div",null,[O("div",qx,[he(Gx,{absolute:"","left-0":"","top-0":"",transform:"translate-y-[-100%]","w-full":""}),O("div",Wx,[he(N(ks),{modelValue:r.value,"onUpdate:modelValue":y[0]||(y[0]=x=>r.value=x),placeholder:N(u)("stage.message"),border:"solid 2 pink-100 dark:pink-400/20",text:"pink-400 hover:pink-600 dark:[#905073] dark:hover:pink-600 placeholder:pink-400 placeholder:hover:pink-600 placeholder:dark:[#905073] placeholder:dark:hover:pink-600",bg:"pink-50 dark:[#3c2632]","max-h":"[10lh]","min-h":"[1lh]","w-full":"","resize-none":"","overflow-y-scroll":"","rounded-l-xl":"","p-2":"","font-medium":"","outline-none":"",transition:"all duration-250 ease-in-out placeholder:all placeholder:duration-250 placeholder:ease-in-out",onSubmit:c},null,8,["modelValue","placeholder"])]),he(N(vu),{"should-scale-background":"","onUpdate:open":h},{default:ge(()=>[he(N(au),{class:"px-4 py-2.5",border:"solid 2 pink-100 dark:pink-400/20",text:"lg pink-400 hover:pink-600 dark:[#905073] dark:hover:pink-600 placeholder:pink-400 placeholder:hover:pink-600 placeholder:dark:[#905073] placeholder:dark:hover:pink-600",bg:"pink-50 dark:[#3c2632]","max-h":"[10lh]","min-h":"[1lh]","rounded-r-xl":""},{default:ge(()=>y[1]||(y[1]=[O("div",{"i-solar:settings-bold-duotone":""},null,-1)])),_:1}),he(N(pu),null,{default:ge(()=>[he(N(yu),{class:"fixed inset-0 z-50 bg-black/40"}),he(N(bu),{"max-h":"[75%]",fixed:"","bottom-0":"","left-0":"","right-0":"","z-50":"","mt-24":"","h-full":"",flex:"","flex-col":"","rounded-t-lg":"",bg:"[#fffbff] dark:[#1f1a1d]"},{default:ge(()=>[O("div",Yx,[he(xu)])]),_:1})]),_:1})]),_:1})])]))}}),uw={};export{aw as I,sw as M,rw as W,ow as _,lw as a,uw as b};