0&&n.push({type:`text`,value:`
`}),n}function py(e){let t=0,n=e.charCodeAt(t);for(;n===9||n===32;)t++,n=e.charCodeAt(t);return e.slice(t)}function my(e,t){let n=cy(e,t),r=n.one(e,void 0),i=ay(n),a=Array.isArray(r)?{type:`root`,children:r}:r||{type:`root`,children:[]};return i&&(`children`in a,a.children.push({type:`text`,value:`
-`},i)),a}function hy(e,t){return e&&`run`in e?async function(n,r){let i=my(n,{file:r,...t});await e.run(i,r)}:function(n,r){return my(n,{file:r,...e||t})}}function gy(e){if(e)throw e}var _y=n(((e,t)=>{var n=Object.prototype.hasOwnProperty,r=Object.prototype.toString,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=function(e){return typeof Array.isArray==`function`?Array.isArray(e):r.call(e)===`[object Array]`},s=function(e){if(!e||r.call(e)!==`[object Object]`)return!1;var t=n.call(e,`constructor`),i=e.constructor&&e.constructor.prototype&&n.call(e.constructor.prototype,`isPrototypeOf`);if(e.constructor&&!t&&!i)return!1;for(var a in e);return a===void 0||n.call(e,a)},c=function(e,t){i&&t.name===`__proto__`?i(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},l=function(e,t){if(t===`__proto__`)if(n.call(e,t)){if(a)return a(e,t).value}else return;return e[t]};t.exports=function e(){var t,n,r,i,a,u,d=arguments[0],f=1,p=arguments.length,m=!1;for(typeof d==`boolean`&&(m=d,d=arguments[1]||{},f=2),(d==null||typeof d!=`object`&&typeof d!=`function`)&&(d={});ft.length,o;r&&t.push(i);try{o=e.apply(this,t)}catch(e){let t=e;if(r&&n)throw t;return i(t)}r||(o&&o.then&&typeof o.then==`function`?o.then(a,i):o instanceof Error?i(o):a(o))}function i(e,...r){n||(n=!0,t(e,...r))}function a(e){i(null,e)}}var xy=class extends Error{constructor(e,t,n){super(),typeof t==`string`&&(n=t,t=void 0);let r=``,i={},a=!1;if(t&&(i=`line`in t&&`column`in t||`start`in t&&`end`in t?{place:t}:`type`in t?{ancestors:[t],place:t.position}:{...t}),typeof e==`string`?r=e:!i.cause&&e&&(a=!0,r=e.message,i.cause=e),!i.ruleId&&!i.source&&typeof n==`string`){let e=n.indexOf(`:`);e===-1?i.ruleId=n:(i.source=n.slice(0,e),i.ruleId=n.slice(e+1))}if(!i.place&&i.ancestors&&i.ancestors){let e=i.ancestors[i.ancestors.length-1];e&&(i.place=e.position)}let o=i.place&&`start`in i.place?i.place.start:i.place;this.ancestors=i.ancestors||void 0,this.cause=i.cause||void 0,this.column=o?o.column:void 0,this.fatal=void 0,this.file,this.message=r,this.line=o?o.line:void 0,this.name=Q_(i.place)||`1:1`,this.place=i.place||void 0,this.reason=this.message,this.ruleId=i.ruleId||void 0,this.source=i.source||void 0,this.stack=a&&i.cause&&typeof i.cause.stack==`string`?i.cause.stack:``,this.actual,this.expected,this.note,this.url}};xy.prototype.file=``,xy.prototype.name=``,xy.prototype.reason=``,xy.prototype.message=``,xy.prototype.stack=``,xy.prototype.column=void 0,xy.prototype.line=void 0,xy.prototype.ancestors=void 0,xy.prototype.cause=void 0,xy.prototype.fatal=void 0,xy.prototype.place=void 0,xy.prototype.ruleId=void 0,xy.prototype.source=void 0;const Sy={basename:Cy,dirname:wy,extname:Ty,join:Ey,sep:`/`};function Cy(e,t){if(t!==void 0&&typeof t!=`string`)throw TypeError(`"ext" argument must be a string`);ky(e);let n=0,r=-1,i=e.length,a;if(t===void 0||t.length===0||t.length>e.length){for(;i--;)if(e.codePointAt(i)===47){if(a){n=i+1;break}}else r<0&&(a=!0,r=i+1);return r<0?``:e.slice(n,r)}if(t===e)return``;let o=-1,s=t.length-1;for(;i--;)if(e.codePointAt(i)===47){if(a){n=i+1;break}}else o<0&&(a=!0,o=i+1),s>-1&&(e.codePointAt(i)===t.codePointAt(s--)?s<0&&(r=i):(s=-1,r=o));return n===r?r=o:r<0&&(r=e.length),e.slice(n,r)}function wy(e){if(ky(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||=!0;return t<0?e.codePointAt(0)===47?`/`:`.`:t===1&&e.codePointAt(0)===47?`//`:e.slice(0,t)}function Ty(e){ky(e);let t=e.length,n=-1,r=0,i=-1,a=0,o;for(;t--;){let s=e.codePointAt(t);if(s===47){if(o){r=t+1;break}continue}n<0&&(o=!0,n=t+1),s===46?i<0?i=t:a!==1&&(a=1):i>-1&&(a=-1)}return i<0||n<0||a===0||a===1&&i===n-1&&i===r+1?``:e.slice(i,n)}function Ey(...e){let t=-1,n;for(;++t0&&e.codePointAt(e.length-1)===47&&(n+=`/`),t?`/`+n:n}function Oy(e,t){let n=``,r=0,i=-1,a=0,o=-1,s,c;for(;++o<=e.length;){if(o2){if(c=n.lastIndexOf(`/`),c!==n.length-1){c<0?(n=``,r=0):(n=n.slice(0,c),r=n.length-1-n.lastIndexOf(`/`)),i=o,a=0;continue}}else if(n.length>0){n=``,r=0,i=o,a=0;continue}}t&&(n=n.length>0?n+`/..`:`..`,r=2)}else n.length>0?n+=`/`+e.slice(i+1,o):n=e.slice(i+1,o),r=o-i-1;i=o,a=0}else s===46&&a>-1?a++:a=-1}return n}function ky(e){if(typeof e!=`string`)throw TypeError(`Path must be a string. Received `+JSON.stringify(e))}const Ay={cwd:jy};function jy(){return`/`}function My(e){return!!(typeof e==`object`&&e&&`href`in e&&e.href&&`protocol`in e&&e.protocol&&e.auth===void 0)}function Ny(e){if(typeof e==`string`)e=new URL(e);else if(!My(e)){let t=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:`){let e=TypeError(`The URL must be of scheme file`);throw e.code=`ERR_INVALID_URL_SCHEME`,e}return Py(e)}function Py(e){if(e.hostname!==``){let e=TypeError(`File URL host must be "localhost" or empty on darwin`);throw e.code=`ERR_INVALID_FILE_URL_HOST`,e}let t=e.pathname,n=-1;for(;++n0){let[r,...a]=t,o=n[i][1];vy(o)&&vy(r)&&(r=(0,Hy.default)(!0,o,r)),n[i]=[e,r,...a]}}}}().freeze();function Gy(e,t){if(typeof t!=`function`)throw TypeError("Cannot `"+e+"` without `parser`")}function Ky(e,t){if(typeof t!=`function`)throw TypeError("Cannot `"+e+"` without `compiler`")}function qy(e,t){if(t)throw Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function Jy(e){if(!vy(e)||typeof e.type!=`string`)throw TypeError("Expected node, got `"+e+"`")}function Yy(e,t,n){if(!n)throw Error("`"+e+"` finished async. Use `"+t+"` instead")}function Xy(e){return Zy(e)?e:new Iy(e)}function Zy(e){return!!(e&&typeof e==`object`&&`message`in e&&`messages`in e)}function Qy(e){return typeof e==`string`||$y(e)}function $y(e){return!!(e&&typeof e==`object`&&`byteLength`in e&&`byteOffset`in e)}var eb=new Map,tb=/```(.{2,})\s/g;function nb(e){let t=e.matchAll(tb),n=new Set;n.add(`python`);for(let e of t)e[1]&&n.add(e[1]);return[...n]}async function rb(e){let t={themes:{light:`github-light`,dark:`github-dark`},langs:e,defaultLanguage:e[0]||`python`};return Wy().use(lv).use(_h).use(hy).use(Wm,{output:`mathml`}).use(sc,t).use(Gm)}function ib(e){let t=[...e].sort().join(`,`);if(!eb.has(t)){let n=rb(e);eb.set(t,n)}return eb.get(t)}function ab(){let e=Wy().use(lv).use(_h).use(hy).use(Wm,{output:`mathml`}).use(Gm);return{process:async t=>{try{if(!/`{3,}/.test(t))return e.processSync(t).toString();let n=nb(t),r=new Set(n);return r.add(`python`),(await(await ib(Array.from(r))).process(t)).toString()}catch(n){return console.warn(`Failed to process markdown with syntax highlighting, falling back to basic processing:`,n),e.processSync(t).toString()}},processSync:t=>e.processSync(t).toString()}}var ob=[`innerHTML`],sb=Ie(r({__name:`MarkdownRenderer`,props:{content:{},class:{}},setup(e){let t=e,n=M(``),{process:r,processSync:i}=ab();async function a(){if(!t.content){n.value=``;return}try{n.value=rt.sanitize(await r(t.content))}catch(e){console.warn(`Failed to process markdown with syntax highlighting, using fallback:`,e),n.value=rt.sanitize(i(t.content))}}return ee(()=>t.content,a,{immediate:!0}),y(()=>{a()}),(e,r)=>(f(),A(`div`,{class:E([t.class,`markdown-content`]),innerHTML:n.value},null,10,ob))}}),[[`__scopeId`,`data-v-abd97585`]]),cb={"z-1":``,"flex-1":``},lb={"text-lg":``,"font-normal":``,class:`menu-icon-item-title`,transition:`all ease-in-out duration-400`},ub={text:`sm neutral-500 dark:neutral-400`,class:`menu-icon-item-description`,transition:`all ease-in-out duration-400`},db=Ie(r({__name:`IconItem`,props:{title:{},description:{},icon:{},iconTemplate:{type:Boolean},to:{}},setup(e){return(t,n)=>{let r=b(`RouterLink`);return f(),v(r,{box:`border`,flex:`~ row`,bg:`neutral-50 dark:neutral-900`,border:`neutral-100 dark:neutral-800/25 hover:primary-500/30 dark:hover:primary-400/30 solid 2`,"drop-shadow":`none hover:[0px_4px_4px_rgba(220,220,220,0.4)] active:[0px_0px_0px_rgba(220,220,220,0.25)] dark:hover:none`,class:`menu-icon-item`,transition:`all ease-in-out duration-400`,relative:``,"w-full":``,"items-center":``,"overflow-hidden":``,"rounded-lg":``,"p-5":``,"text-left":``,cursor:`pointer`,to:e.to},{default:k(()=>[j(`div`,cb,[j(`div`,lb,g(e.title),1),j(`div`,ub,[j(`span`,null,g(e.description),1)])]),typeof e.icon==`string`?(f(),A(`div`,{key:0,class:E([`menu-icon-item-icon`,[e.icon]]),transition:`all ease-in-out duration-400`,absolute:``,"right-0":``,"size-24":``,"translate-y-4":``,text:`neutral-400/50 dark:neutral-600/50`},null,2)):a(``,!0),e.iconTemplate?x(t.$slots,`icon`,{key:1},void 0,!0):a(``,!0)]),_:3},8,[`to`])}}}),[[`__scopeId`,`data-v-47e0db94`]]),fb={flex:`~ col`,bg:`neutral-50 dark:neutral-800`,border:`neutral-100 dark:neutral-800/25 hover:primary-500/30 dark:hover:primary-400/30 solid 2`,"drop-shadow":`none hover:[0px_4px_4px_rgba(220,220,220,0.4)] active:[0px_0px_0px_rgba(220,220,220,0.25)] dark:hover:none`,class:`menu-icon-status-item`,transition:`all ease-in-out duration-400`,"w-full":``,"cursor-pointer":``,"of-hidden":``,"rounded-xl":``},pb={"z-1":``,"flex-1":``},mb={"text-lg":``,"font-normal":``,class:`menu-icon-status-item-title`,transition:`all ease-in-out duration-400`},hb={text:`sm neutral-500 dark:neutral-400`,class:`menu-icon-status-item-description`,transition:`all ease-in-out duration-400`},gb=[`src`],_b={"p-2":``},vb={key:0,"size-4":``,bg:`green-500`,"rounded-full":``,shadow:`lg`},yb={key:1,"size-4":``,border:`2 neutral-200 dark:neutral-700`,"rounded-full":``,bg:`white dark:neutral-900`},bb=Ie(r({__name:`IconStatusItem`,props:{title:{},description:{},icon:{},iconColor:{},iconImage:{},to:{},configured:{type:Boolean}},setup(e){let t=e;return(e,n)=>{let r=b(`RouterLink`);return f(),A(`div`,fb,[D(r,{flex:`~ row`,class:`menu-icon-status-item-link`,bg:`white dark:neutral-900`,transition:`all ease-in-out duration-400`,relative:``,"h-full":``,"w-full":``,"items-center":``,"overflow-hidden":``,"rounded-lg":``,"p-5":``,"text-left":``,to:t.to},{default:k(()=>[j(`div`,pb,[j(`div`,mb,g(t.title),1),j(`div`,hb,[j(`span`,null,g(t.description||``),1)])]),t.icon?(f(),A(`div`,{key:0,class:E([`menu-icon-status-item-icon`,t.icon]),transition:`all ease-in-out duration-400`,absolute:``,"right-0":``,"size-16":``,"translate-y-2":``,text:`neutral-400/50 dark:neutral-600/50`,"grayscale-100":``},null,2)):a(``,!0),t.iconColor?(f(),A(`div`,{key:1,class:E([`menu-icon-status-item-icon-color`,[t.iconColor]]),transition:`all ease-in-out duration-400`,absolute:``,"right-0":``,"size-16":``,"translate-y-2":``,text:`neutral-400/50 dark:neutral-600/50`,"grayscale-100":``},null,2)):a(``,!0),t.iconImage?(f(),A(`img`,{key:2,src:t.iconImage,class:`menu-icon-status-item-icon-image`,transition:`all ease-in-out duration-400`,absolute:``,"right-0":``,"size-16":``,"translate-y-2":``,"grayscale-100":``},null,8,gb)):a(``,!0)]),_:1},8,[`to`]),j(`div`,_b,[t.configured?(f(),A(`div`,vb)):(f(),A(`div`,yb))])])}}}),[[`__scopeId`,`data-v-a19e8ff9`]]),xb=[`checked`,`name`,`value`],Sb={class:`relative mr-3 mt-0.5 flex-shrink-0`},Cb={class:`w-full flex flex-col gap-2`},wb={class:`flex items-center`},Tb={key:0,class:`relative`},Eb=[`title`],Db={key:1,class:`mt-2`},Ob=Ie(r({__name:`RadioCardDetail`,props:_({id:{},name:{},value:{},title:{},description:{},deprecated:{type:Boolean,default:!1},showExpandCollapse:{type:Boolean,default:!0},expandCollapseThreshold:{default:100},customInputValue:{default:``},customInputPlaceholder:{default:``},showCustomInput:{type:Boolean,default:!1}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=ae(e,`modelValue`),n=M(!1);function r(){n.value=!n.value}return(i,o)=>(f(),A(`label`,{key:e.id,class:E([`form_radio-card-detail relative flex cursor-pointer items-start rounded-xl p-3 pr-[20px]`,[t.value===e.value?`bg-primary-50 dark:bg-primary-900/20 border-primary-100 dark:border-primary-900 hover:border-primary-500/30 dark:hover:border-primary-400/30`:`bg-white dark:bg-neutral-900/20 border-neutral-100 dark:border-neutral-900 hover:border-primary-500/30 dark:hover:border-primary-400/30`,t.value===e.value?`form_radio-card-detail-active`:``,e.deprecated?`opacity-60`:``]]),transition:`all duration-200 ease-in-out`,border:`2 solid`},[le(j(`input`,{"onUpdate:modelValue":o[0]||=e=>t.value=e,checked:t.value===e.value,type:`radio`,name:e.name,value:e.value,class:`absolute opacity-0`},null,8,xb),[[ce,t.value]]),j(`div`,Sb,[j(`div`,{class:E([`size-5 border-2 rounded-full transition-colors duration-200`,[t.value===e.value?`border-primary-500 dark:border-primary-400`:`border-neutral-300 dark:border-neutral-600`]])},[j(`div`,{class:E([`absolute left-1/2 top-1/2 size-3 rounded-full transition-opacity duration-200 -translate-x-1/2 -translate-y-1/2`,[t.value===e.value?`opacity-100 bg-primary-500 dark:bg-primary-400`:`opacity-0`]])},null,2)],2)]),j(`div`,Cb,[j(`div`,wb,[j(`span`,{class:E([`line-clamp-1 font-normal`,[t.value===e.value?`text-neutral-700 dark:text-neutral-300`:`text-neutral-700 dark:text-neutral-400`]])},g(e.title),3)]),e.description?(f(),A(`div`,Tb,[D(O(de),null,{default:k(()=>[!n.value||!e.showExpandCollapse?(f(),A(`div`,{key:0,class:E([`line-clamp-2 cursor-pointer text-xs`,[t.value===e.value?`text-neutral-600 dark:text-neutral-400`:`text-neutral-500 dark:text-neutral-500`]]),title:e.description,onClick:T(r,[`prevent`])},g(e.description),11,Eb)):(f(),A(`div`,{key:1,class:E([`cursor-pointer text-xs`,[t.value===e.value?`text-neutral-600 dark:text-neutral-400`:`text-neutral-500 dark:text-neutral-500`]]),onClick:T(r,[`prevent`])},g(e.description),3))]),_:1}),e.showExpandCollapse&&e.description.length>e.expandCollapseThreshold?(f(),A(`button`,{key:0,class:`mt-0.5 inline-flex items-center text-xs text-primary-500 dark:text-primary-600`,onClick:T(r,[`prevent`])},[j(`span`,null,g(n.value?`Show less`:`Show more`),1),j(`div`,{class:E([{"rotate-180":n.value},`transition-transform duration-200`])},[...o[2]||=[j(`div`,{"i-solar:alt-arrow-down-linear":``,"ml-0.5":``,"text-xs":``},null,-1)]],2)])):a(``,!0)])):a(``,!0),e.showCustomInput&&t.value===e.value?(f(),A(`div`,Db,[D(O(xe),{modelValue:t.value,"onUpdate:modelValue":o[1]||=e=>t.value=e,type:`text`,class:`w-full border border-neutral-300 rounded bg-white px-2 py-1 text-sm dark:border-neutral-700 dark:bg-neutral-900`,placeholder:e.customInputPlaceholder},null,8,[`modelValue`,`placeholder`])])):a(``,!0)])],2))}}),[[`__scopeId`,`data-v-a2eb6bd0`]]),kb={class:`flex items-center gap-1.5 font-medium`},Ab={key:0,class:`px-1 text-sm`},jb=r({__name:`Alert`,props:{type:{}},setup(e){let t=e,n=se(),r=w(()=>{switch(t.type){case`error`:return`border-red-200 bg-red-50 dark:border-red-800/30 dark:bg-red-900/20`;case`warning`:return`border-amber-200 bg-amber-50 dark:border-amber-800/30 dark:bg-amber-900/20`;case`success`:return`border-green-200 bg-green-50 dark:border-green-800/30 text-green-700 dark:bg-green-900/30 dark:text-green-300`;case`info`:return`border-blue-200 bg-blue-50 dark:border-blue-800/30 text-blue-700 dark:bg-blue-900/30 dark:text-blue-300`;case`loading`:return`border-blue-200 bg-blue-50 dark:border-blue-800/30 text-blue-700 dark:bg-blue-900/30 dark:text-blue-300`}return``}),i=w(()=>{switch(t.type){case`error`:return`i-solar:close-circle-bold-duotone text-red-500 dark:text-red-400`;case`warning`:return`i-solar:danger-circle-bold-duotone text-amber-500 dark:text-amber-400`;case`success`:return`i-solar:check-circle-bold-duotone text-green-500 dark:text-green-400`;case`info`:return`i-solar:info-circle-bold-duotone text-blue-500 dark:text-blue-400`;case`loading`:return`i-svg-spinners:3-dots-fade text-blue-500 dark:text-blue-400`}return``}),o=w(()=>{switch(t.type){case`error`:return`text-red-500 dark:text-red-400`;case`warning`:return`text-amber-500 dark:text-amber-400`;case`success`:return`text-green-500 dark:text-green-400`;case`info`:return`text-blue-500 dark:text-blue-400`;case`loading`:return`text-blue-500 dark:text-blue-400`}return``});return(e,t)=>(f(),A(`div`,{class:E([`flex flex-col gap-3 border-2 rounded-xl border-solid p-2`,r.value])},[j(`div`,kb,[j(`div`,{class:E([`text-2xl`,i.value])},null,2),j(`div`,{class:E(o.value)},[x(e.$slots,`title`)],2)]),O(n).content?(f(),A(`div`,Ab,[x(e.$slots,`content`)])):a(``,!0)],2))}}),Mb={class:`radio-card-detail-many-select`},Nb={key:0,class:`relative`,"inline-flex":`~`,"w-full":``,"items-center":``},Pb=[`placeholder`],Fb={class:`mt-4 space-y-2`},Ib={key:0,class:`text-sm text-neutral-500 dark:text-neutral-400`},Lb={class:`relative`},Rb=Ie(r({__name:`RadioCardManySelect`,props:_({items:{},searchable:{type:Boolean,default:!0},searchPlaceholder:{default:`Search...`},searchNoResultsTitle:{default:`No results found`},searchNoResultsDescription:{default:`Try a different search term`},searchResultsText:{default:`{count} of {total} results`},customInputPlaceholder:{default:`Enter custom value`},expandButtonText:{default:`Show more`},collapseButtonText:{default:`Show less`},showMore:{type:Boolean,default:!0},listClass:{default:``}},{modelValue:{required:!0},modelModifiers:{},searchQuery:{},searchQueryModifiers:{}}),emits:_([`update:customValue`],[`update:modelValue`,`update:searchQuery`]),setup(e,{emit:t}){let n=e,r=t,i=ae(e,`modelValue`),o=ae(e,`searchQuery`),s=M(!1),c=M(``),l=w(()=>{if(!o.value)return n.items;let e=o.value.toLowerCase();return n.items.filter(t=>t.name.toLowerCase().includes(e)||t.description&&t.description.toLowerCase().includes(e))});function u(e){c.value=e,r(`update:customValue`,e)}return(t,r)=>(f(),A(`div`,Mb,[e.searchable?(f(),A(`div`,Nb,[r[4]||=j(`div`,{class:`pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3`},[j(`div`,{"i-solar:magnifer-line-duotone":``,class:`text-neutral-500 dark:text-neutral-400`})],-1),le(j(`input`,{"onUpdate:modelValue":r[0]||=e=>o.value=e,type:`search`,class:`w-full rounded-xl p-2.5 pl-10 text-sm outline-none`,border:`focus:primary-100 dark:focus:primary-400/50 2 solid neutral-200 dark:neutral-800`,transition:`all duration-200 ease-in-out`,bg:`white dark:neutral-900`,placeholder:e.searchPlaceholder},null,8,Pb),[[ne,o.value]])])):a(``,!0),j(`div`,Fb,[o.value?(f(),A(`div`,Ib,g(e.searchResultsText.replace(`{count}`,l.value.length.toString()).replace(`{total}`,e.items.length.toString())),1)):a(``,!0),o.value&&l.value.length===0?(f(),v(jb,{key:1,type:`warning`},{title:k(()=>[m(g(e.searchNoResultsTitle),1)]),content:k(()=>[m(g(e.searchNoResultsDescription.replace(`{query}`,o.value)),1)]),_:1})):a(``,!0),j(`div`,Lb,[j(`div`,{class:E([`grid auto-cols-[350px] grid-flow-col gap-4 overflow-x-auto pb-4 scrollbar-none`,[s.value?`grid-cols-1 md:grid-cols-2 grid-flow-row auto-cols-auto`:``,...n.listClass?typeof n.listClass==`string`?[n.listClass]:n.listClass:[`max-h-[calc(100dvh-7lh)]`]]]),transition:`all duration-200 ease-in-out`,style:{"scroll-snap-type":`x mandatory`}},[(f(!0),A(re,null,d(l.value,t=>(f(),v(Ob,{id:t.id,key:t.id,modelValue:i.value,"onUpdate:modelValue":r[1]||=e=>i.value=e,value:t.id,title:t.name,description:t.description,deprecated:t.deprecated,"show-expand-collapse":e.showMore,"expand-collapse-threshold":100,"show-custom-input":t.customizable,"custom-input-value":c.value,"custom-input-placeholder":e.customInputPlaceholder,name:`radio-card-detail-many-select`,class:`scroll-snap-align-start`,"onUpdate:customInputValue":r[2]||=e=>u(e)},null,8,[`id`,`modelValue`,`value`,`title`,`description`,`deprecated`,`show-expand-collapse`,`show-custom-input`,`custom-input-value`,`custom-input-placeholder`]))),128))],2),j(`div`,{bg:`neutral-100 dark:[rgba(0,0,0,0.3)]`,"rounded-xl":``,class:E([s.value?`w-full`:`mt-4 w-full rounded-lg`])},[j(`button`,{"w-full":``,flex:``,"items-center":``,"justify-center":``,"gap-2":``,"rounded-lg":``,"py-2":``,transition:`all duration-200 ease-in-out`,class:E([s.value?`bg-primary-500 hover:bg-primary-600 text-white`:`bg-white dark:bg-neutral-900 hover:bg-neutral-100 dark:hover:bg-neutral-800`]),onClick:r[3]||=e=>s.value=!s.value},[j(`span`,null,g(s.value?e.collapseButtonText:e.expandButtonText),1),j(`div`,{class:E([s.value?`rotate-180`:``,`text-lg`]),"i-solar:alt-arrow-down-linear":``,transition:`transform duration-200 ease-in-out`},null,2)],2)],2)])])]))}}),[[`__scopeId`,`data-v-96f33af6`]]),zb=[`checked`,`name`,`value`],Bb={flex:`~ col`,"min-h-16":``,"w-full":``,"items-start":``,"justify-center":``,"pb-2":``,"pl-5":``,"pr-4":``,"pt-2":``},Vb=Ie(r({__name:`RadioCardSimple`,props:_({id:{},name:{},value:{},title:{},description:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=ae(e,`modelValue`);return(n,r)=>(f(),A(`label`,{key:e.id,border:`2px solid`,class:E([`form_radio-card-simple relative`,[t.value===e.value?`bg-primary-50 dark:bg-primary-900/20 border-primary-100 dark:border-primary-900 hover:border-primary-500/30 dark:hover:border-primary-400/30`:`bg-white dark:bg-neutral-900/20 border-neutral-100 dark:border-neutral-900 hover:border-primary-500/30 dark:hover:border-primary-400/30`,t.value===e.value?`form_radio-card-simple-active`:``]]),transition:`all duration-200 ease-in-out`,flex:`~ col`,block:``,"min-w-50":``,"w-fit":``,"cursor-pointer":``,"items-start":``,"rounded-xl":``,"p-4":``,"text-left":``},[le(j(`input`,{"onUpdate:modelValue":r[0]||=e=>t.value=e,checked:t.value===e.value,type:`radio`,name:e.name,value:e.value,class:`absolute opacity-0 [&:checked+div]:border-primary-500 [&:checked+div_.radio-dot]:opacity-100 dark:[&:checked+div]:border-primary-400`},null,8,zb),[[ce,t.value]]),r[1]||=j(`div`,{class:`radio-circle absolute left-2 top-2 size-5 rounded-full`,border:`2 solid neutral-300 dark:neutral-600`,transition:`all duration-200 ease-in-out`},[j(`div`,{class:`radio-dot absolute left-1/2 top-1/2 size-3 rounded-full opacity-0 -translate-x-1/2 -translate-y-1/2`,transition:`all duration-200 ease-in-out`,bg:`primary-500 dark:primary-400`})],-1),j(`div`,Bb,[j(`span`,{class:E([`radio-item-name font-normal`,[t.value===e.value?`text-neutral-700 dark:text-neutral-300`:`text-neutral-500 dark:text-neutral-500`]]),text:`md`,transition:`all duration-200 ease-in-out`},g(e.title),3),e.description?(f(),A(`span`,{key:0,class:E([`radio-item-description`,[t.value===e.value?`text-neutral-600 dark:text-neutral-400`:`text-neutral-400 dark:text-neutral-600`]]),transition:`all duration-200 ease-in-out`},g(e.description),3)):a(``,!0)]),r[2]||=j(`div`,{class:`bg-dotted-neutral-200/80 dark:bg-dotted-neutral-700/50 [input:checked~&]:bg-dotted-primary-300/50 dark:[input:checked~&]:bg-dotted-primary-200/20`,absolute:``,"inset-0":``,"z--1":``,style:{"background-size":`10px 10px`,"mask-image":`linear-gradient(165deg, white 30%, transparent 50%)`}},null,-1)],2))}}),[[`__scopeId`,`data-v-7f0c3c41`]]),Hb={class:`p-3`},Ub={class:`flex items-start`},Wb=[`checked`,`name`,`value`],Gb={class:`relative mr-3 mt-0.5 flex-shrink-0`},Kb={key:0,class:`i-solar:pause-circle-bold-duotone text-xl text-neutral-400 dark:text-neutral-500`},qb={key:1,class:`i-solar:play-circle-bold-duotone text-xl text-neutral-400 dark:text-neutral-500`},Jb={key:1,class:`mt-auto w-full flex items-center justify-center bg-neutral-50 py-3 text-xs text-neutral-400 italic dark:bg-neutral-800/50 dark:text-neutral-600`},Yb={class:`flex-1 cursor-pointer`},Xb={class:`flex items-center`},Zb={key:0,class:`mt-1 flex flex-wrap gap-1`},Qb={key:1,class:`mt-3`},$b={relative:``},ex={key:0,class:`h-16 px-3 pb-2`},tx=Ie(r({__name:`VoiceCard`,props:_({name:{},voice:{},currentlyPlayingId:{},customInputPlaceholder:{default:`Enter custom voice name`},showVisualizer:{type:Boolean,default:!0},audioStream:{default:null}},{"voice-id":{required:!1,default:``},"voice-idModifiers":{},"custom-voice-name":{required:!1,default:``},"custom-voice-nameModifiers":{}}),emits:_([`togglePlayback`],[`update:voice-id`,`update:custom-voice-name`]),setup(e,{emit:t}){let n=e,r=t,i=ae(e,`voice-id`),o=ae(e,`custom-voice-name`);function s(e){return e.previewURL||e.preview_audio_url}function c(e){let t=[];if(e.labels?.gender&&t.push(e.labels.gender),e.labels?.age&&t.push(e.labels.age),e.labels?.accent&&t.push(e.labels.accent),e.languages&&e.languages.length>0){let n=e.languages.map(e=>e.name).join(`, `);t.push(n)}return t}function l(){r(`togglePlayback`,n.voice)}return(t,r)=>(f(),A(`label`,{border:`2px solid`,class:E([`scroll-snap-align-start form_voice-card relative flex flex-col overflow-hidden rounded-xl`,[i.value===n.voice.id?`bg-primary-50 dark:bg-primary-900/20 border-primary-100 dark:border-primary-900 hover:border-primary-500/30 dark:hover:border-primary-400/30`:`bg-white dark:bg-neutral-900/20 border-neutral-100 dark:border-neutral-900 hover:border-primary-500/30 dark:hover:border-primary-400/30`,i.value===n.voice.id?`form_voice-card-active`:``]]),transition:`all duration-200 ease-in-out`},[j(`div`,Hb,[j(`div`,Ub,[le(j(`input`,{"onUpdate:modelValue":r[0]||=e=>i.value=e,checked:i.value===n.voice.id,type:`radio`,name:e.name,value:n.voice.id,class:`absolute cursor-pointer opacity-0`},null,8,Wb),[[ce,i.value]]),j(`div`,Gb,[j(`div`,{class:E([`size-5 border-2 rounded-full transition-colors duration-200`,[i.value===n.voice.id?`border-primary-500 dark:border-primary-400`:`border-neutral-300 dark:border-neutral-600`]])},[j(`div`,{class:E([`absolute left-1/2 top-1/2 size-3 rounded-full transition-opacity duration-200 -translate-x-1/2 -translate-y-1/2`,[i.value===n.voice.id?`opacity-100 bg-primary-500 dark:bg-primary-400`:`opacity-0`]])},null,2)],2)]),s(e.voice)?(f(),A(`button`,{key:0,absolute:``,"right-0":``,top:`0`,"z-3":``,class:E([`translate-x-[-50%] translate-y-[50%]`,[e.currentlyPlayingId===e.voice.id?`text-white dark:text-white`:``]]),onClick:l},[e.currentlyPlayingId===e.voice.id?(f(),A(`div`,Kb)):(f(),A(`div`,qb))],2)):(f(),A(`div`,Jb,` No preview available. You can select it and test voice on the right experiment. `)),j(`div`,Yb,[j(`div`,Xb,[j(`span`,{class:E([`line-clamp-1 font-medium`,[i.value===e.voice.id?`text-neutral-700 dark:text-neutral-300`:`text-neutral-700 dark:text-neutral-400`]])},g(e.voice.name),3)]),c(e.voice).length>0?(f(),A(`div`,Zb,[(f(!0),A(re,null,d(c(e.voice),(t,n)=>(f(),A(`span`,{key:n,class:E([`inline-flex items-center rounded-md px-1.5 py-0.5 text-xs`,[i.value===e.voice.id?`bg-primary-100 text-primary-700 dark:bg-primary-900/30 dark:text-primary-400`:`bg-neutral-100 text-neutral-700 dark:bg-neutral-800 dark:text-neutral-300`]])},g(t),3))),128))])):a(``,!0),e.voice.customizable&&i.value===e.voice.id?(f(),A(`div`,Qb,[D(O(xe),{modelValue:o.value,"onUpdate:modelValue":r[1]||=e=>o.value=e,type:`text`,class:`w-full border border-neutral-300 rounded bg-white px-2 py-1 text-sm dark:border-neutral-700 dark:bg-neutral-900`,placeholder:e.customInputPlaceholder},null,8,[`modelValue`,`placeholder`])])):a(``,!0),e.voice.description?(f(),A(`div`,{key:2,class:E([`line-clamp-2 mt-1 text-xs`,[i.value===e.voice.id?`text-neutral-600 dark:text-neutral-400`:`text-neutral-500 dark:text-neutral-500`]])},g(e.voice.description),3)):a(``,!0)])])]),j(`div`,$b,[D(O(de),null,{default:k(()=>[e.showVisualizer&&e.currentlyPlayingId===e.voice.id&&e.audioStream?(f(),A(`div`,ex,[D(O(ft),{stream:e.audioStream,bars:24,"min-freq":60,"max-freq":4e3},{default:k(({frequencies:t})=>[D(O(ht),{frequencies:t,"bars-class":i.value===e.voice.id?`bg-primary-500 dark:bg-primary-400`:`bg-neutral-400 dark:bg-neutral-600`},null,8,[`frequencies`,`bars-class`])]),_:1},8,[`stream`])])):a(``,!0)]),_:1})])],2))}}),[[`__scopeId`,`data-v-2130ea5b`]]),nx={class:`voice-preview-player`},rx={key:0,class:`relative`,"inline-flex":`~`,"w-full":``,"items-center":``},ix=[`placeholder`],ax={class:`mt-4 space-y-2`},ox={key:0,class:`text-sm text-neutral-500 dark:text-neutral-400`},sx={class:`relative`},cx=Ie(r({__name:`VoiceCardManySelect`,props:_({voices:{},searchable:{type:Boolean,default:!0},searchPlaceholder:{default:`Search voices...`},searchNoResultsTitle:{default:`No voices found`},searchNoResultsDescription:{default:`Try a different search term`},searchResultsText:{default:`{count} of {total} voices`},unsupportedVoiceWarningTitle:{default:`No voices`},unsupportedVoiceWarningContent:{default:`Try a different model or provider. We are working on supporting all the voice for this model as quickly as possible. If you need it urgently, please let us know on GitHub.`},customInputPlaceholder:{default:`Enter custom voice name`},expandButtonText:{default:`Show more`},collapseButtonText:{default:`Show less`},playButtonText:{default:`Play sample`},pauseButtonText:{default:`Pause`},showVisualizer:{type:Boolean,default:!0},listClass:{default:``}},{"search-query":{required:!1,default:``},"search-queryModifiers":{},"voice-id":{required:!1,default:``},"voice-idModifiers":{}}),emits:[`update:search-query`,`update:voice-id`],setup(e){let t=e,n=M(!1),r=M(),i=M(new Map),o=M(new Map),s=M(new Map),c=M(new Map),l=M(null);function p(){return l.value||=new(window.AudioContext||window.webkitAudioContext),l.value}let h=ae(e,`search-query`),_=ae(e,`voice-id`),y=w(()=>{if(!h.value)return t.voices;let e=h.value.toLowerCase();return t.voices.filter(t=>{let n=t.name.toLowerCase().includes(e),r=t.description&&t.description.toLowerCase().includes(e),i=t.tags&&t.tags.some(t=>t.toLowerCase().includes(e)),a=t.labels&&Object.values(t.labels).some(t=>typeof t==`string`&&t.toLowerCase().includes(e)),o=t.languages&&t.languages.some(t=>t.name.toLowerCase().includes(e)||t.code.toLowerCase().includes(e));return n||r||i||a||o})});function b(e){return e.previewURL||e.preview_audio_url}function x(e){let t=b(e);if(!t)return null;if(i.value.has(e.id))return i.value.get(e.id)||null;let n=new Audio(t);return n.crossOrigin=`anonymous`,n.preload=`auto`,n.addEventListener(`ended`,()=>{if(r.value===e.id){r.value=void 0;let t=o.value.get(e.id);t&&(t.getTracks().forEach(e=>e.stop()),o.value.delete(e.id))}}),i.value.set(e.id,n),n}function S(e,t){try{if(o.value.has(t))return o.value.get(t)||null;let n=p();if(c.value.has(t)){let e=c.value.get(t),r=n.createMediaStreamDestination();e.connect(r);let i=r.stream;return o.value.set(t,i),i}let r=n.createMediaElementSource(e);c.value.set(t,r),r.connect(n.destination);let i=n.createMediaStreamDestination();r.connect(i);let a=i.stream;return o.value.set(t,a),a}catch(e){return console.error(`Failed to create audio stream for visualizer:`,e),null}}function C(e){try{if(!b(e))return;let n=x(e);if(!n)return;if(r.value===e.id){n.pause(),r.value=void 0;let t=o.value.get(e.id);t&&(t.getTracks().forEach(e=>e.stop()),o.value.delete(e.id));return}if(r.value){let e=i.value.get(r.value);e&&e.pause();let t=o.value.get(r.value);t&&(t.getTracks().forEach(e=>e.stop()),o.value.delete(r.value))}t.showVisualizer&&!o.value.has(e.id)&&S(n,e.id),n.currentTime=0,n.play().catch(e=>{console.error(`Failed to play audio:`,e)}),r.value=e.id}catch(e){console.error(e),r.value=void 0}}function T(){i.value.forEach(e=>{e.pause(),e.src=``}),i.value.clear(),o.value.forEach(e=>{e.getTracks().forEach(e=>e.stop())}),o.value.clear(),s.value.forEach(e=>{e.state!==`closed`&&e.close()}),s.value.clear(),c.value.clear(),r.value=void 0}ee(h,()=>{if(r.value){let e=i.value.get(r.value);e&&e.pause();let t=o.value.get(r.value);t&&(t.getTracks().forEach(e=>e.stop()),o.value.delete(r.value)),r.value=void 0}}),u(T);let te=M(``);return(i,s)=>(f(),A(`div`,nx,[e.searchable?(f(),A(`div`,rx,[s[4]||=j(`div`,{class:`pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3`},[j(`div`,{"i-solar:magnifer-line-duotone":``,class:`text-neutral-500 dark:text-neutral-400`})],-1),le(j(`input`,{"onUpdate:modelValue":s[0]||=e=>h.value=e,type:`search`,class:`w-full rounded-xl p-2.5 pl-10 text-sm outline-none`,border:`focus:primary-100 dark:focus:primary-400/50 2 solid neutral-200 dark:neutral-800`,transition:`all duration-200 ease-in-out`,bg:`white dark:neutral-900`,placeholder:e.searchPlaceholder},null,8,ix),[[ne,h.value]])])):a(``,!0),j(`div`,ax,[h.value?(f(),A(`div`,ox,g(e.searchResultsText.replace(`{count}`,y.value.length.toString()).replace(`{total}`,e.voices.length.toString())),1)):a(``,!0),h.value&&y.value.length===0?(f(),v(jb,{key:1,type:`warning`},{title:k(()=>[m(g(e.searchNoResultsTitle),1)]),content:k(()=>[m(g(e.searchNoResultsDescription.replace(`{query}`,h.value)),1)]),_:1})):a(``,!0),j(`div`,sx,[j(`div`,{class:E([`grid auto-cols-[350px] grid-flow-col gap-4 overflow-x-auto scrollbar-none`,[n.value?`grid-cols-1 md:grid-cols-2 grid-flow-row auto-cols-auto`:``,...t.listClass?typeof t.listClass==`string`?[t.listClass]:t.listClass:[`max-h-[calc(100dvh-7lh)]`]]]),transition:`all duration-200 ease-in-out`,style:{"scroll-snap-type":`x mandatory`}},[!h.value&&y.value.length===0?(f(),v(jb,{key:0,type:`warning`},{title:k(()=>[m(g(e.unsupportedVoiceWarningTitle),1)]),content:k(()=>[m(g(e.unsupportedVoiceWarningContent),1)]),_:1})):a(``,!0),(f(!0),A(re,null,d(y.value,t=>(f(),v(tx,{key:t.id,"voice-id":_.value,"onUpdate:voiceId":s[1]||=e=>_.value=e,"custom-voice-name":te.value,"onUpdate:customVoiceName":s[2]||=e=>te.value=e,name:`voice`,voice:t,"currently-playing-id":r.value,"custom-input-placeholder":e.customInputPlaceholder,"show-visualizer":e.showVisualizer,"audio-stream":o.value.get(t.id),onTogglePlayback:C},null,8,[`voice-id`,`custom-voice-name`,`voice`,`currently-playing-id`,`custom-input-placeholder`,`show-visualizer`,`audio-stream`]))),128))],2),j(`div`,{bg:`neutral-100 dark:[rgba(0,0,0,0.3)]`,"rounded-xl":``,class:E([n.value?`w-full`:`mt-4 w-full rounded-lg`])},[j(`button`,{"w-full":``,flex:``,"items-center":``,"justify-center":``,"gap-2":``,"rounded-lg":``,"py-2":``,transition:`all duration-200 ease-in-out`,class:E([n.value?`bg-primary-500 hover:bg-primary-600 text-white`:`bg-white dark:bg-neutral-900 hover:bg-neutral-100 dark:hover:bg-neutral-800`]),onClick:s[3]||=e=>n.value=!n.value},[j(`span`,null,g(n.value?e.collapseButtonText:e.expandButtonText),1),j(`div`,{class:E([n.value?`rotate-180`:``,`text-lg`]),"i-solar:alt-arrow-down-linear":``,transition:`transform duration-200 ease-in-out`},null,2)],2)],2)])])]))}}),[[`__scopeId`,`data-v-063d85cc`]]),lx={class:`whitespace-pre-wrap break-all`},ux=r({__name:`ErrorContainer`,props:{title:{},error:{}},setup(e){return(t,n)=>(f(),v(jb,{type:`error`},o({title:k(()=>[m(g(e.title),1)]),_:2},[e.error?{name:`content`,fn:k(()=>[j(`pre`,lx,g(String(e.error)),1)]),key:`0`}:void 0]),1024))}}),dx=Ie(r({__name:`Skeleton`,props:{animation:{default:`pulse`}},setup(e){let t=e;return(e,n)=>(f(),A(`div`,{class:E([`skeleton`,t.animation===`none`?``:`skeleton-${t.animation}`]),bg:`neutral-200 dark:neutral-800`,overflow:`hidden`},[x(e.$slots,`default`,{},void 0,!0)],2))}}),[[`__scopeId`,`data-v-5397c83a`]]),fx={flex:`~ col`,"gap-3":``,"rounded-lg":``,border:`2 orange-200 dark:orange-800`,bg:`orange-50 dark:orange-950/30`,"p-6":``},px={flex:``,"items-center":``,"gap-2":``,text:`orange-600 dark:orange-400`},mx={"text-lg":``,"font-semibold":``},hx={text:`sm neutral-700 dark:neutral-300`},gx=r({__name:`WIP`,setup(e){let{t}=it();return(e,n)=>(f(),A(`div`,fx,[j(`div`,px,[n[0]||=j(`div`,{"i-solar:usb-circle-bold-duotone":``,"text-xl":``},null,-1),j(`h2`,mx,g(O(t)(`settings.wip.title`)),1)]),j(`p`,hx,g(O(t)(`settings.wip.description`)),1)]))}});function _x(e){return w({get:()=>e.value?.toString()??``,set:t=>{if(t===``){e.value=null;return}let n=Number.parseInt(t,10);Number.isNaN(n)||(e.value=n)}})}var vx={flex:`~ col gap-6`},yx={key:0,class:`mt-4 rounded-lg bg-green-100 p-4 text-green-800`},bx=r({__name:`GamingModuleSettings`,props:{store:{},i18nKeyPrefix:{}},setup(e){let t=e,{t:n}=it(),{enabled:r,serverAddress:i,serverPort:o,username:s,configured:c}=De(t.store),l=_x(o);function u(){t.store.saveSettings()}return(t,o)=>(f(),A(`div`,vx,[D(O(Ce),{modelValue:O(r),"onUpdate:modelValue":o[0]||=e=>te(r)?r.value=e:null,label:O(n)(`${e.i18nKeyPrefix}.enable`),description:O(n)(`${e.i18nKeyPrefix}.enable-description`)},null,8,[`modelValue`,`label`,`description`]),D(O(be),{modelValue:O(i),"onUpdate:modelValue":o[1]||=e=>te(i)?i.value=e:null,label:O(n)(`${e.i18nKeyPrefix}.server-address`),description:O(n)(`${e.i18nKeyPrefix}.server-address-description`),placeholder:O(n)(`${e.i18nKeyPrefix}.server-address-placeholder`)},null,8,[`modelValue`,`label`,`description`,`placeholder`]),D(O(be),{modelValue:O(l),"onUpdate:modelValue":o[2]||=e=>te(l)?l.value=e:null,type:`number`,min:1,max:65535,step:1,label:O(n)(`${e.i18nKeyPrefix}.server-port`),description:O(n)(`${e.i18nKeyPrefix}.server-port-description`)},null,8,[`modelValue`,`label`,`description`]),D(O(be),{modelValue:O(s),"onUpdate:modelValue":o[3]||=e=>te(s)?s.value=e:null,label:O(n)(`${e.i18nKeyPrefix}.username`),description:O(n)(`${e.i18nKeyPrefix}.username-description`),placeholder:O(n)(`${e.i18nKeyPrefix}.username-placeholder`)},null,8,[`modelValue`,`label`,`description`,`placeholder`]),j(`div`,null,[D(O(we),{label:O(n)(`settings.common.save`),variant:`primary`,onClick:u},null,8,[`label`])]),O(c)?(f(),A(`div`,yx,g(O(n)(`${e.i18nKeyPrefix}.configured`)),1)):a(``,!0)]))}}),xx=globalThis.WebSocket,Sx=class extends Error{constructor(e){super(e),this.name=`ReconnectingError`}},Cx=class{connected=!1;connecting=!1;websocket;shouldClose=!1;opts;eventListeners=new Map;constructor(e){this.opts={url:`ws://localhost:6121/ws`,possibleEvents:[],onError:()=>{},onClose:()=>{},autoConnect:!0,autoReconnect:!0,maxReconnectAttempts:-1,...e},this.onEvent(`module:authenticated`,async e=>{e.data.authenticated?this.tryAnnounce():await this.retryWithExponentialBackoff(()=>this.tryAuthenticate())}),this.opts.autoConnect&&this.connect()}async retryWithExponentialBackoff(e){let{maxReconnectAttempts:t}=this.opts,n=0;for(;;){if(t!==-1&&n>=t){console.error(`Maximum retry attempts (${t}) reached`);return}try{await e();return}catch(e){if(e instanceof Sx)return;this.opts.onError?.(e),await at(Math.min(2**n*1e3,3e4)),n++}}}async tryReconnectWithExponentialBackoff(){this.shouldClose||await this.retryWithExponentialBackoff(()=>this._connect())}_connect(){return this.shouldClose||this.connected?Promise.resolve():this.connecting?Promise.reject(new Sx(`Already connecting`)):new Promise((e,t)=>{this.connecting=!0;let n=new xx(this.opts.url);this.websocket=n,n.onmessage=this.handleMessageBound,n.onerror=e=>{this.connecting=!1,this.connected=!1,this.opts.onError?.(e),t(e?.error??Error(`WebSocket error`))},n.onclose=()=>{this.connecting=!1,this.connected&&(this.connected=!1,this.opts.onClose?.()),this.opts.autoReconnect&&!this.shouldClose&&this.tryReconnectWithExponentialBackoff()},n.onopen=()=>{this.connecting=!1,this.connected=!0,this.opts.token?this.tryAuthenticate():this.tryAnnounce(),e()}})}async connect(){await this.tryReconnectWithExponentialBackoff()}tryAnnounce(){this.send({type:`module:announce`,data:{name:this.opts.name,possibleEvents:this.opts.possibleEvents}})}tryAuthenticate(){this.opts.token&&this.send({type:`module:authenticate`,data:{token:this.opts.token}})}handleMessageBound=e=>{this.handleMessage(e)};async handleMessage(e){try{let t=JSON.parse(e.data),n=this.eventListeners.get(t.type);if(!n?.size)return;let r=[];for(let e of n)r.push(Promise.resolve(e(t)));await Promise.allSettled(r)}catch(e){console.error(`Failed to parse message:`,e),this.opts.onError?.(e)}}onEvent(e,t){let n=this.eventListeners.get(e);n||(n=new Set,this.eventListeners.set(e,n)),n.add(t)}offEvent(e,t){let n=this.eventListeners.get(e);n&&(t?(n.delete(t),n.size||this.eventListeners.delete(e)):this.eventListeners.delete(e))}send(e){this.websocket&&this.connected&&this.websocket.send(JSON.stringify(e))}sendRaw(e){this.websocket&&this.connected&&this.websocket.send(e)}close(){this.shouldClose=!0,this.websocket&&(this.websocket.close(),this.connected=!1)}};const wx=Ee(`mods:channels:proj-airi:server`,()=>{let e=M(!1),t=M(),n=M(null),r=M([]);function i(r){if(e.value&&t.value)return Promise.resolve();if(n.value)return n.value;let i=Array.from(new Set([`ui:configure`,`context:update`,...r?.possibleEvents??[]]));return n.value=new Promise((o,c)=>{t.value=new Cx({name:`proj-airi:ui:stage`,url:`ws://localhost:6121/ws`,token:r?.token,possibleEvents:i,onError:r=>{t.value=void 0,e.value=!1,n.value=null,c(r)},onClose:()=>{e.value=!1,n.value=null}}),t.value.onEvent(`module:authenticated`,t=>{if(t.data.authenticated){e.value=!0,s(),a(),o();return}e.value=!1})}),n.value}function a(){t.value}function o(a){!t.value&&!n.value&&i(),t.value&&e.value?t.value.send(a):r.value.push(a)}function s(){if(t.value&&e.value){for(let e of r.value)t.value.send(e);r.value=[]}}function c(e){return!t.value&&!n.value&&i(),t.value?.onEvent(`context:update`,e),()=>{t.value?.offEvent(`context:update`,e)}}function l(e){o({type:`context:update`,data:e})}function u(){s(),t.value?.close(),e.value=!1,t.value=void 0,n.value=null}return{connected:e,initialize:i,send:o,sendContextUpdate:l,onContextUpdate:c,dispose:u}}),Tx=Ee(`configurator:adapter:proj-airi:server-sdk`,()=>{let{send:e}=wx();function t(t,n){e({type:`ui:configure`,data:{moduleName:t,config:n}})}return{updateFor:t}});function Ex(e,t){return Ee(e,()=>{let n=Tx(),r=He(`settings/${e}/enabled`,!1),i=He(`settings/${e}/server-address`,``),a=He(`settings/${e}/server-port`,t),o=He(`settings/${e}/username`,``);function s(){n.updateFor(e,{enabled:r.value,serverAddress:i.value,serverPort:a.value,username:o.value})}return{enabled:r,serverAddress:i,serverPort:a,username:o,configured:w(()=>!!(i.value.trim()&&o.value.trim()&&a.value!==null)),saveSettings:s}})}const Dx=Ex(`factorio`,34197);var Ox=r({__name:`GamingFactorio`,setup(e){let t=Dx();return(e,n)=>(f(),v(bx,{store:O(t),"i18n-key-prefix":`settings.pages.modules.gaming-factorio`},null,8,[`store`]))}});const kx=Ex(`minecraft`,25565);var Ax=r({__name:`GamingMinecraft`,setup(e){let t=kx();return(e,n)=>(f(),v(bx,{store:O(t),"i18n-key-prefix":`settings.pages.modules.gaming-minecraft`},null,8,[`store`]))}});const jx=Ee(`discord`,()=>{let e=Tx(),t=He(`settings/discord/enabled`,!1),n=He(`settings/discord/token`,``);function r(){e.updateFor(`discord`,{token:n.value,enabled:t.value})}return{enabled:t,token:n,configured:w(()=>!!n.value.trim()),saveSettings:r}});var Mx={flex:`~ col gap-6`},Nx={key:0,class:`mt-4 rounded-lg bg-green-100 p-4 text-green-800`},Px=r({__name:`MessagingDiscord`,setup(e){let{t}=it(),n=jx(),{enabled:r,token:i,configured:o}=De(n);function s(){n.saveSettings()}return(e,n)=>(f(),A(`div`,Mx,[D(O(Ce),{modelValue:O(r),"onUpdate:modelValue":n[0]||=e=>te(r)?r.value=e:null,label:O(t)(`settings.pages.modules.messaging-discord.enable`),description:O(t)(`settings.pages.modules.messaging-discord.enable-description`)},null,8,[`modelValue`,`label`,`description`]),D(O(be),{modelValue:O(i),"onUpdate:modelValue":n[1]||=e=>te(i)?i.value=e:null,type:`password`,label:O(t)(`settings.pages.modules.messaging-discord.token`),description:O(t)(`settings.pages.modules.messaging-discord.token-description`),placeholder:O(t)(`settings.pages.modules.messaging-discord.token-placeholder`)},null,8,[`modelValue`,`label`,`description`,`placeholder`]),j(`div`,null,[D(O(we),{label:O(t)(`settings.common.save`),variant:`primary`,onClick:s},null,8,[`label`])]),O(o)?(f(),A(`div`,Nx,g(O(t)(`settings.pages.modules.messaging-discord.configured`)),1)):a(``,!0)]))}});const Fx=Ee(`twitter`,()=>{let e=Tx(),t=He(`settings/twitter/enabled`,!1),n=He(`settings/twitter/api-key`,``),r=He(`settings/twitter/api-secret`,``),i=He(`settings/twitter/access-token`,``),a=He(`settings/twitter/access-token-secret`,``);function o(){e.updateFor(`twitter`,{enabled:t.value,apiKey:n.value,apiSecret:r.value,accessToken:i.value,accessTokenSecret:a.value})}return{enabled:t,apiKey:n,apiSecret:r,accessToken:i,accessTokenSecret:a,configured:w(()=>!!(n.value.trim()&&r.value.trim()&&i.value.trim()&&a.value.trim())),saveSettings:o}});var Ix={flex:`~ col gap-6`},Lx={key:0,class:`mt-4 rounded-lg bg-green-100 p-4 text-green-800`},Rx=r({__name:`X`,setup(e){let{t}=it(),n=Fx(),{enabled:r,apiKey:i,apiSecret:o,accessToken:s,accessTokenSecret:c,configured:l}=De(n);function u(){n.saveSettings()}return(e,n)=>(f(),A(`div`,Ix,[D(O(Ce),{modelValue:O(r),"onUpdate:modelValue":n[0]||=e=>te(r)?r.value=e:null,label:O(t)(`settings.pages.modules.x.enable`),description:O(t)(`settings.pages.modules.x.enable-description`)},null,8,[`modelValue`,`label`,`description`]),D(O(be),{modelValue:O(i),"onUpdate:modelValue":n[1]||=e=>te(i)?i.value=e:null,type:`password`,label:O(t)(`settings.pages.modules.x.api-key`),description:O(t)(`settings.pages.modules.x.api-key-description`),placeholder:O(t)(`settings.pages.modules.x.api-key-placeholder`)},null,8,[`modelValue`,`label`,`description`,`placeholder`]),D(O(be),{modelValue:O(o),"onUpdate:modelValue":n[2]||=e=>te(o)?o.value=e:null,type:`password`,label:O(t)(`settings.pages.modules.x.api-secret`),description:O(t)(`settings.pages.modules.x.api-secret-description`),placeholder:O(t)(`settings.pages.modules.x.api-secret-placeholder`)},null,8,[`modelValue`,`label`,`description`,`placeholder`]),D(O(be),{modelValue:O(s),"onUpdate:modelValue":n[3]||=e=>te(s)?s.value=e:null,type:`password`,label:O(t)(`settings.pages.modules.x.access-token`),description:O(t)(`settings.pages.modules.x.access-token-description`),placeholder:O(t)(`settings.pages.modules.x.access-token-placeholder`)},null,8,[`modelValue`,`label`,`description`,`placeholder`]),D(O(be),{modelValue:O(c),"onUpdate:modelValue":n[4]||=e=>te(c)?c.value=e:null,type:`password`,label:O(t)(`settings.pages.modules.x.access-token-secret`),description:O(t)(`settings.pages.modules.x.access-token-secret-description`),placeholder:O(t)(`settings.pages.modules.x.access-token-secret-placeholder`)},null,8,[`modelValue`,`label`,`description`,`placeholder`]),j(`div`,null,[D(O(we),{label:O(t)(`settings.common.save`),variant:`primary`,onClick:u},null,8,[`label`])]),O(l)?(f(),A(`div`,Lx,g(O(t)(`settings.pages.modules.x.configured`)),1)):a(``,!0)]))}}),zx=Ie(r({__name:`CursorFloating`,props:{intensity:{default:1.5}},setup(e){let t=e,n=M(null),r=M(``),i=M(`50% 50%`),a=M(`50% 50%`),o=M(.5);function s(e){if(!n.value)return;let s=n.value,c=s.getBoundingClientRect(),l=e.clientX-c.left,u=e.clientY-c.top,d=s.offsetWidth,f=s.offsetHeight,p=Math.abs(Math.floor(100/d*l)-100),m=Math.abs(Math.floor(100/f*u)-100),h=50+(p-50)/1.5,g=50+(m-50)/1.5,_=50+(p-50)/7,v=50+(m-50)/7,y=(h-50)/1.5*.2*t.intensity,b=(g-50)/2*-1*.2*t.intensity,x=50-p+(50-m),S=.5+Math.abs(x)*.008*t.intensity;r.value=`perspective(1200px) rotateX(${b}deg) rotateY(${y}deg) scale3d(${1+.015*t.intensity}, ${1+.015*t.intensity}, ${1+.015*t.intensity})`,i.value=`${h}% ${g}%`,a.value=`${_}% ${v}%`,o.value=S}function c(){r.value=`perspective(1200px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)`,i.value=`50% 50%`,a.value=`50% 50%`,o.value=.5}return y(()=>{r.value=`perspective(1200px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)`}),(t,i)=>(f(),A(`div`,{ref_key:`cardRef`,ref:n,class:`card-hover-effect`,style:p({transform:r.value,"--effect-intensity":e.intensity}),onMousemove:s,onMouseleave:c},[x(t.$slots,`default`,{},void 0,!0)],36))}}),[[`__scopeId`,`data-v-05127d28`]]),Bx=r({__name:`about-dialog`,props:{modelValue:{type:Boolean,default:!1,required:!1},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=ae(e,`modelValue`),n=Ge(`(min-width: 768px)`),r=Be();return Je(document.documentElement,()=>r.update()),y(()=>r.update()),(e,i)=>O(n)?(f(),v(O(je),{key:0,open:t.value,"onUpdate:open":i[0]||=e=>t.value=e},{default:k(()=>[x(e.$slots,`trigger`),D(O(Fe),null,{default:k(()=>[D(O(Me),{class:`fixed inset-0 z-[9999] bg-black/50 backdrop-blur-sm data-[state=closed]:animate-fadeOut data-[state=open]:animate-fadeIn`}),D(O(Ae),{class:`fixed left-1/2 top-1/2 z-[9999] max-h-full max-w-2xl w-[92dvw] transform overflow-y-scroll rounded-2xl bg-white p-6 shadow-xl outline-none backdrop-blur-md scrollbar-none -translate-x-1/2 -translate-y-1/2 data-[state=closed]:animate-contentHide data-[state=open]:animate-contentShow dark:bg-neutral-900`},{default:k(()=>[x(e.$slots,`default`)]),_:3})]),_:3})]),_:3},8,[`open`])):(f(),v(O(fe),{key:1,open:t.value,"should-scale-background":``,"onUpdate:open":i[1]||=e=>t.value=e},{default:k(()=>[D(O(Fe),null,{default:k(()=>[D(O(ge),{class:`fixed inset-0`}),D(O(_e),{class:`fixed bottom-0 left-0 right-0 z-1000 mt-20 h-full max-h-[96%] flex flex-col rounded-t-2xl bg-neutral-50 px-4 pt-4 outline-none backdrop-blur-md dark:bg-neutral-900/95`,style:p({paddingBottom:`${Math.max(Number.parseFloat(O(r).bottom.value.replace(`px`,``)),24)}px`})},{default:k(()=>[D(O(he)),x(e.$slots,`default`)]),_:3},8,[`style`])]),_:3})]),_:3},8,[`open`]))}}),Vx={class:`space-y-2`},Hx={class:`flex flex-col items-center justify-center py-2`},Ux={class:`relative h-28 w-28 select-none`},Wx={key:0,class:`mt-3 w-full`},Gx={class:`mt-3 w-full`},Kx=r({__name:`hearing-config`,props:_({enabled:{type:Boolean,default:!1},granted:{type:Boolean,default:!1},audioInputs:{default:()=>[]},volumeLevel:{default:0}},{enabled:{type:Boolean},enabledModifiers:{},selectedAudioInput:{},selectedAudioInputModifiers:{}}),emits:[`update:enabled`,`update:selectedAudioInput`],setup(e){let t=e,n=ae(e,`enabled`),r=ae(e,`selectedAudioInput`),i=w(()=>n.value?`bg-primary-500/15 dark:bg-primary-600/20`:`bg-neutral-300/20 dark:bg-neutral-700/20`);return(e,o)=>(f(),A(`div`,Vx,[j(`div`,Hx,[j(`div`,Ux,[j(`div`,{class:E([`absolute left-1/2 top-1/2 h-20 w-20 rounded-full transition-all duration-150 -translate-x-1/2 -translate-y-1/2`,i.value]),style:p({transform:`translate(-50%, -50%) scale(${1+t.volumeLevel/100*.35})`,opacity:String(.25+t.volumeLevel/100*.25)})},null,6),j(`div`,{class:E([`absolute left-1/2 top-1/2 h-24 w-24 rounded-full transition-all duration-200 -translate-x-1/2 -translate-y-1/2`,t.enabled?`bg-primary-500/10 dark:bg-primary-600/15`:`bg-neutral-300/10 dark:bg-neutral-700/10`]),style:p({transform:`translate(-50%, -50%) scale(${1.2+t.volumeLevel/100*.55})`,opacity:String(.15+t.volumeLevel/100*.2)})},null,6),j(`div`,{class:E([`absolute left-1/2 top-1/2 h-28 w-28 rounded-full transition-all duration-300 -translate-x-1/2 -translate-y-1/2`,t.enabled?`bg-primary-500/5 dark:bg-primary-600/10`:`bg-neutral-300/5 dark:bg-neutral-700/5`]),style:p({transform:`translate(-50%, -50%) scale(${1.5+t.volumeLevel/100*.8})`,opacity:String(.08+t.volumeLevel/100*.15)})},null,6),j(`button`,{class:E([`absolute left-1/2 top-1/2 grid h-16 w-16 place-items-center rounded-full shadow-md outline-none transition-all duration-200 -translate-x-1/2 -translate-y-1/2`,[t.enabled?`bg-primary-500 text-white hover:bg-primary-600 active:scale-95`:`bg-neutral-200 text-neutral-600 hover:bg-neutral-300 active:scale-95 dark:bg-neutral-700 dark:text-neutral-200`]]),onClick:o[0]||=()=>n.value=!n.value},[j(`div`,{class:E([n.value?`i-ph:microphone`:`i-ph:microphone-slash`,`h-6 w-6`])},null,2)],2)]),o[3]||=j(`div`,{class:`mt-3 h-1`},null,-1),t.granted?a(``,!0):(f(),A(`div`,Wx,[D(ve,{theme:`orange`,label:`Microphone permission required`},{default:k(()=>[...o[2]||=[j(`div`,{class:`text-sm`},` The app doesn't have permission to access your microphone. Please grant microphone access in your system settings to enable audio input. `,-1)]]),_:1})]))]),j(`div`,Gx,[D(O(ye),{modelValue:r.value,"onUpdate:modelValue":o[1]||=e=>r.value=e,label:`Input device`,description:`Select the microphone you want to use.`,options:t.audioInputs.map(e=>({label:e.label||`Unknown Device`,value:e.deviceId})),placeholder:`Select microphone`,layout:`vertical`},null,8,[`modelValue`,`options`])])]))}}),qx=r({__name:`hearing-config-dialog`,props:_({overlayDim:{type:Boolean},overlayBlur:{type:Boolean},granted:{type:Boolean},audioInputs:{},volumeLevel:{}},{show:{type:Boolean,default:!1,required:!1},showModifiers:{},selectedAudioInput:{},selectedAudioInputModifiers:{},enabled:{type:Boolean,default:!1},enabledModifiers:{}}),emits:[`update:show`,`update:selectedAudioInput`,`update:enabled`],setup(e){let t=e,n=ae(e,`show`),r=ae(e,`selectedAudioInput`),i=ae(e,`enabled`),a=Ge(`(min-width: 768px)`),o=Be();return Je(document.documentElement,()=>o.update()),y(()=>o.update()),(e,s)=>O(a)?(f(),v(O(je),{key:0,open:n.value,"onUpdate:open":s[2]||=e=>n.value=e},{default:k(()=>[D(O(pe),{"as-child":``},{default:k(()=>[x(e.$slots,`default`)]),_:3}),D(O(Fe),null,{default:k(()=>[D(O(Me),{class:E([[t.overlayDim?`bg-black/50`:``,t.overlayBlur?`backdrop-blur-sm`:``],`fixed inset-0 z-[9999] data-[state=closed]:animate-fadeOut data-[state=open]:animate-fadeIn`])},null,8,[`class`]),D(O(Ae),{class:`fixed left-1/2 top-1/2 z-[9999] max-h-full max-w-5xl w-[92dvw] transform overflow-y-scroll rounded-2xl bg-white p-6 shadow-xl outline-none backdrop-blur-md scrollbar-none -translate-x-1/2 -translate-y-1/2 data-[state=closed]:animate-contentHide data-[state=open]:animate-contentShow dark:bg-neutral-900`},{default:k(()=>[D(O(Te),null,{default:k(()=>[D(O(Ne),null,{default:k(()=>[...s[6]||=[m(`Hearing Input`,-1)]]),_:1})]),_:1}),D(Kx,{enabled:i.value,"onUpdate:enabled":s[0]||=e=>i.value=e,"selected-audio-input":r.value,"onUpdate:selectedAudioInput":s[1]||=e=>r.value=e,"audio-inputs":t.audioInputs,granted:t.granted,"volume-level":t.volumeLevel},null,8,[`enabled`,`selected-audio-input`,`audio-inputs`,`granted`,`volume-level`]),x(e.$slots,`extra`)]),_:3})]),_:3})]),_:3},8,[`open`])):(f(),v(O(fe),{key:1,open:n.value,"should-scale-background":``,"onUpdate:open":s[5]||=e=>n.value=e},{default:k(()=>[D(O(pe),{"as-child":``},{default:k(()=>[x(e.$slots,`default`)]),_:3}),D(O(Fe),null,{default:k(()=>[D(O(ge),{class:`fixed inset-0`}),D(O(_e),{class:`fixed bottom-0 left-0 right-0 z-1000 mt-20 h-full max-h-[45%] flex flex-col rounded-t-2xl bg-neutral-50 px-4 pt-4 outline-none backdrop-blur-md dark:bg-neutral-900/95`,style:p({paddingBottom:`${Math.max(Number.parseFloat(O(o).bottom.value.replace(`px`,``)),24)}px`})},{default:k(()=>[D(O(he),{"my-2":``}),D(Kx,{enabled:i.value,"onUpdate:enabled":s[3]||=e=>i.value=e,"selected-audio-input":r.value,"onUpdate:selectedAudioInput":s[4]||=e=>r.value=e,"audio-inputs":t.audioInputs,granted:t.granted,"volume-level":t.volumeLevel},null,8,[`enabled`,`selected-audio-input`,`audio-inputs`,`granted`,`volume-level`]),x(e.$slots,`extra`)]),_:3},8,[`style`])]),_:3})]),_:3},8,[`open`]))}});const Jx=Symbol(`onboarding-context`);var Yx={"h-full":``,flex:``,"flex-col":``,"gap-4":``},Xx={sticky:``,"top-0":``,"z-100":``,flex:``,"flex-shrink-0":``,"items-center":``,"gap-2":``},Zx={class:`flex-1 text-center text-xl text-neutral-800 font-semibold md:text-left md:text-2xl dark:text-neutral-100`},Qx={"flex-1":``},$x={class:`whitespace-pre-wrap break-all`},eS=r({__name:`step-model-selection`,setup(e){let{t}=it(),n=c(Jx),{activeModel:r,modelSearchQuery:i,providerModels:a,isLoadingActiveProviderModels:o}=De(et());return(e,s)=>(f(),A(`div`,Yx,[j(`div`,Xx,[j(`button`,{"outline-none":``,onClick:s[0]||=(...e)=>O(n).handlePreviousStep&&O(n).handlePreviousStep(...e)},[...s[3]||=[j(`div`,{"i-solar:alt-arrow-left-line-duotone":``,"h-5":``,"w-5":``},null,-1)]]),j(`h2`,Zx,g(O(t)(`settings.dialogs.onboarding.select-model`)),1),s[4]||=j(`div`,{"h-5":``,"w-5":``},null,-1)]),j(`div`,Qx,[O(a).length>0?(f(),v(O(Rb),{key:0,modelValue:O(r),"onUpdate:modelValue":s[1]||=e=>te(r)?r.value=e:null,"search-query":O(i),"onUpdate:searchQuery":s[2]||=e=>te(i)?i.value=e:null,items:O(a).toSorted((e,t)=>e.id===O(r)?-1:t.id===O(r)?1:0),searchable:!0,"search-placeholder":O(t)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.search_placeholder`),"search-no-results-title":O(t)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_search_results`),"search-no-results-description":O(t)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_search_results_description`,{query:O(i)}),"search-results-text":O(t)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.search_results`,{count:`{count}`,total:`{total}`}),"custom-input-placeholder":O(t)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.custom_model_placeholder`),"expand-button-text":O(t)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.expand`),"collapse-button-text":O(t)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.collapse`),"list-class":`max-h-[calc(100dvh-17rem)] sm:max-h-120`},null,8,[`modelValue`,`search-query`,`items`,`search-placeholder`,`search-no-results-title`,`search-no-results-description`,`search-results-text`,`custom-input-placeholder`,`expand-button-text`,`collapse-button-text`])):(f(),v(jb,{key:1,type:`error`},{title:k(()=>[m(g(O(t)(`settings.dialogs.onboarding.no-models`)),1)]),content:k(()=>[j(`div`,$x,g(O(t)(`settings.dialogs.onboarding.no-models-help`)),1)]),_:1}))]),D(O(we),{variant:`primary`,disabled:!O(r),loading:O(o),label:O(t)(`settings.dialogs.onboarding.saveAndContinue`),onClick:O(n).handleSave},null,8,[`disabled`,`loading`,`label`,`onClick`])]))}}),tS=r({__name:`ProviderAccountIdInput`,props:_({placeholder:{},required:{type:Boolean},label:{},description:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=ae(e,`modelValue`);return(e,r)=>(f(),v(O(be),{modelValue:n.value,"onUpdate:modelValue":r[0]||=e=>n.value=e,label:t.label||`Account ID`,description:t.description||`Account ID`,placeholder:t.placeholder,required:t.required,type:`text`},null,8,[`modelValue`,`label`,`description`,`placeholder`,`required`]))}}),nS=[`onClick`],rS={class:`text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`},iS={"mt-4":``},aS=r({__name:`ProviderAdvancedSettings`,props:{title:{},initialVisible:{type:Boolean}},setup(e){let t=M(e.initialVisible||!1);function n(){t.value=!t.value}return(t,r)=>(f(),v(me,{"w-full":``},{trigger:k(t=>[j(`button`,{transition:`all ease-in-out duration-250`,"w-full":``,flex:``,"items-center":``,"gap-1.5":``,"outline-none":``,class:`[&_.provider-icon]:grayscale-100 [&_.provider-icon]:hover:grayscale-0`,onClick:()=>t.setVisible(!t.visible)&&n()},[j(`h2`,rS,[j(`span`,null,g(e.title||`Advanced`),1)]),j(`div`,{transform:``,transition:`transform duration-250`,class:E({"rotate-180":t.visible})},[...r[0]||=[j(`div`,{"i-solar:alt-arrow-down-linear":``},null,-1)]],2)],8,nS)]),default:k(()=>[j(`div`,iS,[x(t.$slots,`default`)])]),_:3}))}}),oS=r({__name:`ProviderApiKeyInput`,props:_({providerName:{},placeholder:{},required:{type:Boolean},label:{},description:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,{t:n}=it(),r=ae(e,`modelValue`),i=w(()=>t.description||`API Key for ${t.providerName}`);return(t,a)=>(f(),v(O(be),{modelValue:r.value,"onUpdate:modelValue":a[0]||=e=>r.value=e,label:e.label||O(n)(`settings.pages.providers.common.fields.field.api-key.label`),description:i.value,placeholder:e.placeholder,required:e.required,type:`password`},null,8,[`modelValue`,`label`,`description`,`placeholder`,`required`]))}}),sS=r({__name:`ProviderBaseUrlInput`,props:_({placeholder:{},required:{type:Boolean},label:{},description:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=ae(e,`modelValue`);return(e,r)=>(f(),v(O(be),{modelValue:n.value,"onUpdate:modelValue":r[0]||=e=>n.value=e,label:t.label||`Base URL`,description:t.description||(t.required?`Base URL`:`Custom base URL (optional)`),placeholder:t.placeholder,required:t.required,type:`text`},null,8,[`modelValue`,`label`,`description`,`placeholder`,`required`]))}}),cS={flex:`~ col gap-6`},lS={flex:`~ row`,"items-center":``,"justify-between":``},uS={class:`text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`},dS={text:`neutral-400 dark:neutral-500`},fS=r({__name:`ProviderBasicSettings`,props:{title:{},description:{},onReset:{type:Function}},setup(e){return(t,n)=>(f(),A(`div`,cS,[j(`div`,lS,[j(`div`,null,[j(`h2`,uS,g(e.title||`Basic`),1),j(`div`,dS,[j(`span`,null,g(e.description||`Essential settings`),1)])]),e.onReset?(f(),A(`button`,{key:0,title:`Reset settings`,flex:``,"items-center":``,"justify-center":``,"rounded-full":``,"p-2":``,transition:`all duration-250 ease-in-out`,text:`neutral-500 dark:neutral-400`,bg:`transparent dark:transparent hover:neutral-200 dark:hover:neutral-800 active:neutral-300 dark:active:neutral-700`,onClick:n[0]||=(...t)=>e.onReset&&e.onReset(...t)},[...n[1]||=[j(`div`,{"i-solar:refresh-bold-duotone":``,"text-xl":``},null,-1)]])):a(``,!0)]),x(t.$slots,`default`)]))}}),pS={bg:`neutral-50 dark:[rgba(0,0,0,0.3)]`,"rounded-xl":``,"p-4":``,flex:`~ col gap-6`},mS=r({__name:`ProviderSettingsContainer`,setup(e){return(e,t)=>(f(),A(`div`,pS,[x(e.$slots,`default`)]))}}),hS={text:`neutral-200/50 dark:neutral-600/20`,"pointer-events-none":``,fixed:``,top:`[calc(100dvh-15rem)]`,"bottom-0":``,"right--5":``,"z--1":``,initial:{scale:.9,opacity:0,x:20},enter:{scale:1,opacity:1,x:0},duration:500,"size-60":``},gS=r({__name:`ProviderSettingsLayout`,props:{providerName:{},providerIcon:{},providerIconColor:{},onBack:{type:Function}},setup(e){return(t,n)=>{let r=S(`motion`);return f(),A(re,null,[x(t.$slots,`default`),le((f(),A(`div`,hS,[j(`div`,{text:`60`,class:E(e.providerIcon||e.providerIconColor)},null,2)])),[[r]])],64)}}}),_S=typeof window<`u`,vS=_S?window:null,yS=_S?document:null,bS={OBJECT:0,ATTRIBUTE:1,CSS:2,TRANSFORM:3,CSS_VAR:4},xS={NUMBER:0,UNIT:1,COLOR:2,COMPLEX:3},SS={NONE:0,AUTO:1,FORCE:2},CS={replace:0,none:1,blend:2},wS=Symbol(),TS=Symbol(),ES=Symbol(),DS=Symbol(),OS=Symbol(),kS=1e-11,AS=0xe8d4a51000,jS=1e3,MS=(()=>{let e=new Map;return e.set(`x`,`translateX`),e.set(`y`,`translateY`),e.set(`z`,`translateZ`),e})(),NS=[`translateX`,`translateY`,`translateZ`,`rotate`,`rotateX`,`rotateY`,`rotateZ`,`scale`,`scaleX`,`scaleY`,`scaleZ`,`skew`,`skewX`,`skewY`,`matrix`,`matrix3d`,`perspective`],PS=NS.reduce((e,t)=>({...e,[t]:t+`(`}),{}),FS=()=>{},IS=/(^#([\da-f]{3}){1,2}$)|(^#([\da-f]{4}){1,2}$)/i,LS=/rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/i,RS=/rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(-?\d+|-?\d*.\d+)\s*\)/i,zS=/hsl\(\s*(-?\d+|-?\d*.\d+)\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)%\s*\)/i,BS=/hsla\(\s*(-?\d+|-?\d*.\d+)\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)\s*\)/i,VS=/[-+]?\d*\.?\d+(?:e[-+]?\d)?/gi,HS=/^([-+]?\d*\.?\d+(?:e[-+]?\d+)?)([a-z]+|%)$/i,US=/([a-z])([A-Z])/g,WS=/(\w+)(\([^)]+\)+)/g,GS=/(\*=|\+=|-=)/,KS=/var\(\s*(--[\w-]+)(?:\s*,\s*([^)]+))?\s*\)/,qS={id:null,keyframes:null,playbackEase:null,playbackRate:1,frameRate:120,loop:0,reversed:!1,alternate:!1,autoplay:!0,persist:!1,duration:jS,delay:0,loopDelay:0,ease:`out(2)`,composition:CS.replace,modifier:e=>e,onBegin:FS,onBeforeUpdate:FS,onUpdate:FS,onLoop:FS,onPause:FS,onComplete:FS,onRender:FS},JS={current:null,root:yS},YS={defaults:qS,precision:4,timeScale:1,tickThreshold:200},XS={version:`4.2.2`,engine:null};_S&&(vS.AnimeJS||=[],vS.AnimeJS.push(XS));var ZS=e=>e.replace(US,`$1-$2`).toLowerCase(),QS=(e,t)=>e.indexOf(t)===0,$S=Date.now,eC=Array.isArray,tC=e=>e&&e.constructor===Object,nC=e=>typeof e==`number`&&!isNaN(e),rC=e=>typeof e==`string`,iC=e=>typeof e==`function`,aC=e=>e===void 0,oC=e=>aC(e)||e===null,sC=e=>_S&&e instanceof SVGElement,cC=e=>IS.test(e),lC=e=>QS(e,`rgb`),uC=e=>QS(e,`hsl`),dC=e=>cC(e)||lC(e)||uC(e),fC=e=>!YS.defaults.hasOwnProperty(e),pC=[`opacity`,`rotate`,`overflow`,`color`],mC=(e,t)=>{if(pC.includes(t))return!1;if(e.getAttribute(t)||t in e){if(t===`scale`){let t=e.parentNode;return t&&t.tagName===`filter`}return!0}},hC=Math.pow,gC=Math.sqrt,_C=Math.sin,vC=Math.cos,yC=Math.floor,bC=Math.asin,xC=Math.PI,SC=Math.round,CC=(e,t,n)=>en?n:e,wC={},TC=(e,t)=>{if(t<0)return e;if(!t)return SC(e);let n=wC[t];return n||=wC[t]=10**t,SC(e*n)/n},EC=(e,t,n)=>e+(t-e)*n,DC=e=>e===1/0?AS:e===-1/0?-AS:e,OC=e=>e<=1e-11?kS:DC(TC(e,11)),kC=e=>eC(e)?[...e]:e,AC=(e,t)=>{let n={...e};for(let r in t){let i=e[r];n[r]=aC(i)?t[r]:i}return n},jC=(e,t,n,r=`_prev`,i=`_next`)=>{let a=e._head,o=i;for(n&&(a=e._tail,o=r);a;){let e=a[o];t(a),a=e}},MC=(e,t,n=`_prev`,r=`_next`)=>{let i=t[n],a=t[r];i?i[r]=a:e._head=a,a?a[n]=i:e._tail=i,t[n]=null,t[r]=null},NC=(e,t,n,r=`_prev`,i=`_next`)=>{let a=e._tail;for(;a&&n&&n(a,t);)a=a[r];let o=a?a[i]:e._head;a?a[i]=t:e._head=t,o?o[r]=t:e._tail=t,t[r]=a,t[i]=o},PC=(e,t,n)=>{let r=e.style.transform,i;if(r){let a=e[DS],o;for(;o=WS.exec(r);){let e=o[1],r=o[2].slice(1,-1);a[e]=r,e===t&&(i=r,n&&(n[t]=r))}}return r&&!aC(i)?i:QS(t,`scale`)?`1`:QS(t,`rotate`)||QS(t,`skew`)?`0deg`:`0px`},FC=e=>{let t=LS.exec(e)||RS.exec(e),n=aC(t[4])?1:+t[4];return[+t[1],+t[2],+t[3],n]},IC=e=>{let t=e.length,n=t===4||t===5;return[+(`0x`+e[1]+e[n?1:2]),+(`0x`+e[n?2:3]+e[n?2:4]),+(`0x`+e[n?3:5]+e[n?3:6]),t===5||t===9?+((`0x`+e[n?4:7]+e[n?4:8])/255).toFixed(3):1]},LC=(e,t,n)=>(n<0&&(n+=1),n>1&&--n,n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e),RC=e=>{let t=zS.exec(e)||BS.exec(e),n=t[1]/360,r=t[2]/100,i=t[3]/100,a=aC(t[4])?1:+t[4],o,s,c;if(r===0)o=s=c=i;else{let e=i<.5?i*(1+r):i+r-i*r,t=2*i-e;o=TC(LC(t,e,n+1/3)*255,0),s=TC(LC(t,e,n)*255,0),c=TC(LC(t,e,n-1/3)*255,0)}return[o,s,c,a]},zC=e=>lC(e)?FC(e):cC(e)?IC(e):uC(e)?RC(e):[0,0,0,1],BC=(e,t)=>aC(e)?t:e,VC=(e,t,n,r,i)=>{let a;if(iC(e))a=()=>{let i=e(t,n,r);return isNaN(+i)?i||0:+i};else if(rC(e)&&QS(e,`var(`))a=()=>{let n=e.match(KS),r=n[1],i=n[2],a=getComputedStyle(t)?.getPropertyValue(r);return(!a||a.trim()===``)&&i&&(a=i.trim()),a||0};else return e;return i&&(i.func=a),a()},HC=(e,t)=>e[TS]?e[ES]&&mC(e,t)?bS.ATTRIBUTE:NS.includes(t)||MS.get(t)?bS.TRANSFORM:QS(t,`--`)?bS.CSS_VAR:t in e.style?bS.CSS:t in e?bS.OBJECT:bS.ATTRIBUTE:bS.OBJECT,UC=(e,t,n)=>{let r=e.style[t];r&&n&&(n[t]=r);let i=r||getComputedStyle(e[OS]||e).getPropertyValue(t);return i===`auto`?`0`:i},WC=(e,t,n,r)=>{let i=aC(n)?HC(e,t):n;return i===bS.OBJECT?e[t]||0:i===bS.ATTRIBUTE?e.getAttribute(t):i===bS.TRANSFORM?PC(e,t,r):i===bS.CSS_VAR?UC(e,t,r).trimStart():UC(e,t,r)},GC=(e,t,n)=>n===`-`?e-t:n===`+`?e+t:e*t,KC=()=>({t:xS.NUMBER,n:0,u:null,o:null,d:null,s:null}),qC=(e,t)=>{if(t.t=xS.NUMBER,t.n=0,t.u=null,t.o=null,t.d=null,t.s=null,!e)return t;let n=+e;if(isNaN(n)){let n=e;n[1]===`=`&&(t.o=n[0],n=n.slice(2));let r=n.includes(` `)?!1:HS.exec(n);if(r)return t.t=xS.UNIT,t.n=+r[1],t.u=r[2],t;if(t.o)return t.n=+n,t;if(dC(n))return t.t=xS.COLOR,t.d=zC(n),t;{let e=n.match(VS);return t.t=xS.COMPLEX,t.d=e?e.map(Number):[],t.s=n.split(VS)||[],t}}else return t.n=n,t},JC=(e,t)=>(t.t=e._valueType,t.n=e._toNumber,t.u=e._unit,t.o=null,t.d=kC(e._toNumbers),t.s=kC(e._strings),t),YC=KC(),XC=(e,t,n,r,i)=>{let a=e.parent,o=e.duration,s=e.completed,c=e.iterationDuration,l=e.iterationCount,u=e._currentIteration,d=e._loopDelay,f=e._reversed,p=e._alternate,m=e._hasChildren,h=e._delay,g=e._currentTime,_=h+c,v=t-h,y=CC(g,-h,o),b=CC(v,-h,o),x=v-g,S=b>0,C=b>=o,ee=o<=kS,w=i===SS.FORCE,T=0,te=v,E=0;l>1&&(e._currentIteration=CC(~~(b/(c+(C?0:d))),0,l),C&&e._currentIteration--,T=e._currentIteration%2,te=b%(c+d)||0);let D=f^(p&&T),O=e._ease,ne=C?D?0:o:D?c-te:te;O&&(ne=c*O(ne/c)||0);let k=(a?a.backwards:v=h&&t<=_||t<=h&&y>h||t>=_&&y!==o)||ne>=_&&y!==o||ne<=h&&y>0||t<=y&&y===o&&s||C&&!s&&ee){if(S&&(e.computeDeltaTime(y),n||e.onBeforeUpdate(e)),!m){let t=w||(k?x*-1:x)>=YS.tickThreshold,i=e._offset+(a?a._offset:0)+h+ne,o=e._head,s,c,l,u,d=0;for(;o;){let e=o._composition,n=o._currentTime,a=o._changeDuration,f=o._absoluteStartTime+o._changeDuration,p=o._nextRep,m=o._prevRep,h=e!==CS.none;if((t||(n!==a||i<=f+(p?p._delay:0))&&(n!==0||i>=o._absoluteStartTime))&&(!h||!o._isOverridden&&(!o._isOverlapped||i<=f)&&(!p||p._isOverridden||i<=p._absoluteStartTime)&&(!m||m._isOverridden||i>=m._absoluteStartTime+m._changeDuration+o._delay))){let t=o._currentTime=CC(ne-o._startTime,0,a),n=o._ease(t/o._updateDuration),i=o._modifier,f=o._valueType,p=o._tweenType,m=p===bS.OBJECT,g=f===xS.NUMBER,_=g&&m||n===0||n===1?-1:YS.precision,v,y;if(g)v=y=i(TC(EC(o._fromNumber,o._toNumber,n),_));else if(f===xS.UNIT)y=i(TC(EC(o._fromNumber,o._toNumber,n),_)),v=`${y}${o._unit}`;else if(f===xS.COLOR){let e=o._fromNumbers,t=o._toNumbers,r=TC(CC(i(EC(e[0],t[0],n)),0,255),0),a=TC(CC(i(EC(e[1],t[1],n)),0,255),0),s=TC(CC(i(EC(e[2],t[2],n)),0,255),0),c=CC(i(TC(EC(e[3],t[3],n),_)),0,1);if(v=`rgba(${r},${a},${s},${c})`,h){let e=o._numbers;e[0]=r,e[1]=a,e[2]=s,e[3]=c}}else if(f===xS.COMPLEX){v=o._strings[0];for(let e=0,t=o._toNumbers.length;e0&&!s||k&&v<=1e-11&&s)&&(e.onComplete(e),e.completed=!k):S&&C?l===1/0?e._startTime+=e.duration:e._currentIteration>=l-1&&(e.paused=!0,!s&&!m&&(e.completed=!0,!n&&!(a&&(k||!a.began))&&(e.onComplete(e),e._resolve(e)))):e.completed=!1,E},ZC=(e,t,n,r,i)=>{let a=e._currentIteration;if(XC(e,t,n,r,i),e._hasChildren){let o=e,s=o.backwards,c=r?t:o._iterationTime,l=$S(),u=0,d=!0;if(!r&&o._currentIteration!==a){let e=o.iterationDuration;jC(o,t=>{if(!s)!t.completed&&!t.backwards&&t._currentTime{let t=TC((c-e._offset)*e._speed,12),a=e._fps=o.duration&&(o.paused=!0,o.completed||(o.completed=!0,n||(o.onComplete(o),o._resolve(o))))}},QC={},$C=(e,t,n)=>{if(n===bS.TRANSFORM)return MS.get(e)||e;if(n===bS.CSS||n===bS.ATTRIBUTE&&sC(t)&&e in t.style){let t=QC[e];if(t)return t;{let t=e&&ZS(e);return QC[e]=t,t}}else return e},ew=e=>{if(e._hasChildren)jC(e,ew,!0);else{let t=e;t.pause(),jC(t,e=>{let n=e.property,r=e.target;if(r[TS]){let i=r.style,a=e._inlineValue,o=oC(a)||a===``;if(e._tweenType===bS.TRANSFORM){let t=r[DS];if(o?delete t[n]:t[n]=a,e._renderTransforms)if(!Object.keys(t).length)i.removeProperty(`transform`);else{let e=``;for(let n in t)e+=PS[n]+t[n]+`) `;i.transform=e}}else o?i.removeProperty(ZS(n)):i[n]=a;t._tail===e&&t.targets.forEach(e=>{e.getAttribute&&e.getAttribute(`style`)===``&&e.removeAttribute(`style`)})}})}return e},tw=class{constructor(e=0){this.deltaTime=0,this._currentTime=e,this._elapsedTime=e,this._startTime=e,this._lastTime=e,this._scheduledTime=0,this._frameDuration=TC(jS/120,0),this._fps=120,this._speed=1,this._hasChildren=!1,this._head=null,this._tail=null}get fps(){return this._fps}set fps(e){let t=this._frameDuration,n=+e,r=n<1e-11?kS:n,i=TC(jS/r,0);this._fps=r,this._frameDuration=i,this._scheduledTime+=i-t}get speed(){return this._speed}set speed(e){let t=+e;this._speed=t<1e-11?kS:t}requestTick(e){let t=this._scheduledTime,n=this._elapsedTime;if(this._elapsedTime+=e-n,n{let t=nw.animation;return t||(t={duration:kS,computeDeltaTime:FS,_offset:0,_delay:0,_head:null,_tail:null},nw.animation=t,nw.update=()=>{e.forEach(e=>{for(let t in e){let n=e[t],r=n._head;if(r){let e=r._valueType,t=e===xS.COMPLEX||e===xS.COLOR?kC(r._fromNumbers):null,i=r._fromNumber,a=n._tail;for(;a&&a!==r;){if(t)for(let e=0,n=a._numbers.length;e_S?requestAnimationFrame:setImmediate)(),aw=(()=>_S?cancelAnimationFrame:clearImmediate)(),ow=class extends tw{constructor(e){super(e),this.useDefaultMainLoop=!0,this.pauseOnDocumentHidden=!0,this.defaults=qS,this.paused=!0,this.reqId=0}update(){let e=this._currentTime=$S();if(this.requestTick(e)){this.computeDeltaTime(e);let t=this._speed,n=this._fps,r=this._head;for(;r;){let i=r._next;r.paused?(MC(this,r),this._hasChildren=!!this._tail,r._running=!1,r.completed&&!r._cancelled&&r.cancel()):ZC(r,(e-r._startTime)*r._speed*t,0,0,r._fpse.resetTime()),this.wake()}get speed(){return this._speed*(YS.timeScale===1?1:jS)}set speed(e){this._speed=e*YS.timeScale,jC(this,e=>e.speed=e._speed)}get timeUnit(){return YS.timeScale===1?`ms`:`s`}set timeUnit(e){let t=.001,n=e===`s`,r=n?t:1;if(YS.timeScale!==r){YS.timeScale=r,YS.tickThreshold=200*r;let e=n?t:jS;this.defaults.duration*=e,this._speed*=e}}get precision(){return YS.precision}set precision(e){YS.precision=e}},sw=(()=>{let e=new ow($S());return _S&&(XS.engine=e,yS.addEventListener(`visibilitychange`,()=>{e.pauseOnDocumentHidden&&(yS.hidden?e.pause():e.resume())})),e})(),cw=()=>{sw._head?(sw.reqId=iw(cw),sw.update()):sw.reqId=0},lw=()=>(aw(sw.reqId),sw.reqId=0,sw),uw={_rep:new WeakMap,_add:new Map},dw=(e,t,n=`_rep`)=>{let r=uw[n],i=r.get(e);return i||(i={},r.set(e,i)),i[t]?i[t]:i[t]={_head:null,_tail:null}},fw=(e,t)=>e._isOverridden||e._absoluteStartTime>t._absoluteStartTime,pw=e=>{e._isOverlapped=1,e._isOverridden=1,e._changeDuration=kS,e._currentTime=kS},mw=(e,t)=>{let n=e._composition;if(n===CS.replace){let n=e._absoluteStartTime;NC(t,e,fw,`_prevRep`,`_nextRep`);let r=e._prevRep;if(r){let t=r.parent,i=r._absoluteStartTime+r._changeDuration;if(e.parent.id!==t.id&&t.iterationCount>1&&i+(t.duration-t.iterationDuration)>n){pw(r);let e=r._prevRep;for(;e&&e.parent.id===t.id;)pw(e),e=e._prevRep}let a=n-e._delay;if(i>a){let e=r._startTime,t=TC(a-(i-(e+r._updateDuration))-e,12);r._changeDuration=t,r._currentTime=t,r._isOverlapped=1,t<1e-11&&pw(r)}let o=!0;if(jC(t,e=>{e._isOverlapped||(o=!1)}),o){let e=t.parent;if(e){let n=!0;jC(e,e=>{e!==t&&jC(e,e=>{e._isOverlapped||(n=!1)})}),n&&e.cancel()}else t.cancel()}}}else if(n===CS.blend){let t=dw(e.target,e.property,`_add`),n=rw(uw._add),r=t._head;r||(r={...e},r._composition=CS.replace,r._updateDuration=kS,r._startTime=0,r._numbers=kC(e._fromNumbers),r._number=0,r._next=null,r._prev=null,NC(t,r),NC(n,r));let i=e._toNumber;if(e._fromNumber=r._fromNumber-i,e._toNumber=0,e._numbers=kC(e._fromNumbers),e._number=0,r._fromNumber=i,e._toNumbers){let t=kC(e._toNumbers);t&&t.forEach((t,n)=>{e._fromNumbers[n]=r._fromNumbers[n]-t,e._toNumbers[n]=0}),r._fromNumbers=t}NC(t,e,null,`_prevAdd`,`_nextAdd`)}return e},hw=e=>{let t=e._composition;if(t!==CS.none){let n=e.target,r=e.property,i=uw._rep.get(n)[r];if(MC(i,e,`_prevRep`,`_nextRep`),t===CS.blend){let t=uw._add,i=t.get(n);if(!i)return;let a=i[r],o=nw.animation;MC(a,e,`_prevAdd`,`_nextAdd`);let s=a._head;if(s&&s===a._tail){MC(a,s,`_prevAdd`,`_nextAdd`),MC(o,s);let e=!0;for(let t in i)if(i[t]._head){e=!1;break}e&&t.delete(n)}}}return e},gw=(e,t,n)=>{let r=!1;return jC(t,i=>{let a=i.target;if(e.includes(a)){let e=i.property,o=i._tweenType,s=$C(n,a,o);(!s||s&&s===e)&&(i.parent._tail===i&&i._tweenType===bS.TRANSFORM&&i._prev&&i._prev._tweenType===bS.TRANSFORM&&(i._prev._renderTransforms=1),MC(t,i),hw(i),r=!0)}},!0),r},_w=(e,t,n)=>{let r=t||sw,i;if(r._hasChildren){let t=0;jC(r,a=>{if(!a._hasChildren)if(i=gw(e,a,n),i&&!a._head)a.cancel(),MC(r,a);else{let e=a._offset+a._delay+a.duration;e>t&&(t=e)}a._head?_w(e,a,n):a._hasChildren=!1},!0),aC(r.iterationDuration)||(r.iterationDuration=t)}else i=gw(e,r,n);i&&!r._head&&(r._hasChildren=!1,r.cancel&&r.cancel())},vw=e=>(e.paused=!0,e.began=!1,e.completed=!1,e),yw=e=>e._cancelled?(e._hasChildren?jC(e,yw):jC(e,e=>{e._composition!==CS.none&&mw(e,dw(e.target,e.property))}),e._cancelled=0,e):e,bw=0,xw=class extends tw{constructor(e={},t=null,n=0){super(0);let{id:r,delay:i,duration:a,reversed:o,alternate:s,loop:c,loopDelay:l,autoplay:u,frameRate:d,playbackRate:f,onComplete:p,onLoop:m,onPause:h,onBegin:g,onBeforeUpdate:_,onUpdate:v}=e;JS.current&&JS.current.register(this);let y=t?0:sw._elapsedTime,b=t?t.defaults:YS.defaults,x=iC(i)||aC(i)?b.delay:+i,S=iC(a)||aC(a)?1/0:+a,C=BC(c,b.loop),ee=BC(l,b.loopDelay),w=C===!0||C===1/0||C<0?1/0:C+1,T=0;t?T=n:(sw.reqId||sw.requestTick($S()),T=(sw._elapsedTime-sw._startTime)*YS.timeScale),this.id=aC(r)?++bw:r,this.parent=t,this.duration=DC((S+ee)*w-ee)||1e-11,this.backwards=!1,this.paused=!0,this.began=!1,this.completed=!1,this.onBegin=g||b.onBegin,this.onBeforeUpdate=_||b.onBeforeUpdate,this.onUpdate=v||b.onUpdate,this.onLoop=m||b.onLoop,this.onPause=h||b.onPause,this.onComplete=p||b.onComplete,this.iterationDuration=S,this.iterationCount=w,this._autoplay=t?!1:BC(u,b.autoplay),this._offset=T,this._delay=x,this._loopDelay=ee,this._iterationTime=0,this._currentIteration=0,this._resolve=FS,this._running=!1,this._reversed=+BC(o,b.reversed),this._reverse=this._reversed,this._cancelled=0,this._alternate=BC(s,b.alternate),this._prev=null,this._next=null,this._elapsedTime=y,this._startTime=y,this._lastTime=y,this._fps=BC(d,b.frameRate),this._speed=BC(f,b.playbackRate)}get cancelled(){return!!this._cancelled}set cancelled(e){e?this.cancel():this.reset(!0).play()}get currentTime(){return CC(TC(this._currentTime,YS.precision),-this._delay,this.duration)}set currentTime(e){let t=this.paused;this.pause().seek(+e),t||this.resume()}get iterationCurrentTime(){return TC(this._iterationTime,YS.precision)}set iterationCurrentTime(e){this.currentTime=this.iterationDuration*this._currentIteration+e}get progress(){return CC(TC(this._currentTime/this.duration,10),0,1)}set progress(e){this.currentTime=this.duration*e}get iterationProgress(){return CC(TC(this._iterationTime/this.iterationDuration,10),0,1)}set iterationProgress(e){let t=this.iterationDuration;this.currentTime=t*this._currentIteration+t*e}get currentIteration(){return this._currentIteration}set currentIteration(e){this.currentTime=this.iterationDuration*CC(+e,0,this.iterationCount-1)}get reversed(){return!!this._reversed}set reversed(e){e?this.reverse():this.play()}get speed(){return super.speed}set speed(e){super.speed=e,this.resetTime()}reset(e=!1){return yw(this),this._reversed&&!this._reverse&&(this.reversed=!1),this._iterationTime=this.iterationDuration,ZC(this,0,1,~~e,SS.FORCE),vw(this),this._hasChildren&&jC(this,vw),this}init(e=!1){this.fps=this._fps,this.speed=this._speed,!e&&this._hasChildren&&ZC(this,this.duration,1,~~e,SS.FORCE),this.reset(e);let t=this._autoplay;return t===!0?this.resume():t&&!aC(t.linked)&&t.link(this),this}resetTime(){let e=1/(this._speed*sw._speed);return this._startTime=$S()-(this._currentTime+this._delay)*e,this}pause(){return this.paused?this:(this.paused=!0,this.onPause(this),this)}resume(){return this.paused?(this.paused=!1,this.duration<=1e-11&&!this._hasChildren?ZC(this,kS,0,0,SS.FORCE):(this._running||=(NC(sw,this),sw._hasChildren=!0,!0),this.resetTime(),this._startTime-=12,sw.wake()),this):this}restart(){return this.reset().resume()}seek(e,t=0,n=0){yw(this),this.completed=!1;let r=this.paused;return this.paused=!0,ZC(this,e+this._delay,~~t,~~n,SS.AUTO),r?this:this.resume()}alternate(){let e=this._reversed,t=this.iterationCount,n=this.iterationDuration,r=t===1/0?yC(AS/n):t;return this._reversed=+(this._alternate&&!(r%2)?e:!e),t===1/0?this.iterationProgress=this._reversed?1-this.iterationProgress:this.iterationProgress:this.seek(n*r-this._currentTime),this.resetTime(),this}play(){return this._reversed&&this.alternate(),this.resume()}reverse(){return this._reversed||this.alternate(),this.resume()}cancel(){return this._hasChildren?jC(this,e=>e.cancel(),!0):jC(this,hw),this._cancelled=1,this.pause()}stretch(e){let t=this.duration,n=OC(e);if(t===n)return this;let r=e/t,i=e<=kS;return this.duration=i?kS:n,this.iterationDuration=i?kS:OC(this.iterationDuration*r),this._offset*=r,this._delay*=r,this._loopDelay*=r,this}revert(){ZC(this,0,1,0,SS.AUTO);let e=this._autoplay;return e&&e.linked&&e.linked===this&&e.revert(),this.cancel()}complete(){return this.seek(this.duration).cancel()}then(e=FS){let t=this.then,n=()=>{this.then=null,e(this),this.then=t,this._resolve=FS};return new Promise(e=>(this._resolve=()=>e(n()),this.completed&&this._resolve(),this))}};function Sw(e){let t=rC(e)?JS.root.querySelectorAll(e):e;if(t instanceof NodeList||t instanceof HTMLCollection)return t}function Cw(e){if(oC(e))return[];if(!_S)return eC(e)&&e.flat(1/0)||[e];if(eC(e)){let t=e.flat(1/0),n=[];for(let e=0,r=t.length;e{let i=t.u,a=t.n;if(t.t===xS.UNIT&&i===n)return t;let o=a+i+n,s=Ew[o];if(!aC(s)&&!r)t.n=s;else{let r;if(i in Tw)r=a*Tw[i]/Tw[n];else{let t=e.cloneNode(),o=e.parentNode,s=o&&o!==yS?o:yS.body;s.appendChild(t);let c=t.style;c.width=100+i;let l=t.offsetWidth||100;c.width=100+n;let u=l/(t.offsetWidth||100);s.removeChild(t),r=u*a}t.n=r,Ew[o]=r}return t.t,xS.UNIT,t.u=n,t},Ow=e=>e,kw=(e=1.68)=>t=>hC(t,+e),Aw={in:e=>t=>e(t),out:e=>t=>1-e(1-t),inOut:e=>t=>t<.5?e(t*2)/2:1-e(t*-2+2)/2,outIn:e=>t=>t<.5?(1-e(1-t*2))/2:(e(t*2-1)+1)/2},jw=xC/2,Mw=xC*2,Nw={"":kw,Quad:kw(2),Cubic:kw(3),Quart:kw(4),Quint:kw(5),Sine:e=>1-vC(e*jw),Circ:e=>1-gC(1-e*e),Expo:e=>e?hC(2,10*e-10):0,Bounce:e=>{let t,n=4;for(;e<((t=hC(2,--n))-1)/11;);return 1/hC(4,3-n)-7.5625*hC((t*3-2)/22-e,2)},Back:(e=1.7)=>t=>(+e+1)*t*t*t-+e*t*t,Elastic:(e=1,t=.3)=>{let n=CC(+e,1,10),r=CC(+t,kS,2),i=r/Mw*bC(1/n),a=Mw/r;return e=>e===0||e===1?e:-n*hC(2,-10*(1-e))*_C((1-e-i)*a)}},Pw=(()=>{let e={linear:Ow,none:Ow};for(let t in Aw)for(let n in Nw){let r=Nw[n],i=Aw[t];e[t+n]=n===``||n===`Back`||n===`Elastic`?(e,t)=>i(r(e,t)):i(r)}return e})(),Fw={linear:Ow,none:Ow},Iw=e=>{if(Fw[e])return Fw[e];if(e.indexOf(`(`)<=-1){let t=Aw[e]||e.includes(`Back`)||e.includes(`Elastic`)?Pw[e]():Pw[e];return t?Fw[e]=t:Ow}else{let t=e.slice(0,-1).split(`(`),n=Pw[t[0]];return n?Fw[e]=n(...t[1].split(`,`)):Ow}},Lw=[`steps(`,`irregular(`,`linear(`,`cubicBezier(`],Rw=e=>{if(rC(e)){for(let t=0,n=Lw.length;t{let n={};if(eC(e)){let t=[].concat(...e.map(e=>Object.keys(e))).filter(fC);for(let r=0,i=t.length;r{let t={};for(let n in e){let r=e[n];fC(n)?n===i&&(t.to=r):t[n]=r}return t})}}else{let r=BC(t.duration,YS.defaults.duration);for(let t in Object.keys(e).map(t=>({o:parseFloat(t)/100,p:e[t]})).sort((e,t)=>e.o-t.o).forEach(e=>{let t=e.o,i=e.p;for(let e in i)if(fC(e)){let a=n[e];a||=n[e]=[];let o=t*r,s=a.length,c=a[s-1],l={to:i[e]},u=0;for(let e=0;e=1e3?CS.none:aC(g)?v.composition:g,te=this._offset+(n?n._offset:0);x&&(p.parent=this);let E=NaN,D=NaN,O=0,ne=0;for(let e=0;e2&&t?(qw=[],s.forEach((e,t)=>{t?t===1?(Ww[1]=e,qw.push(Ww)):qw.push(e):Ww[0]=e})):qw=s}else Uw[0]=s,qw=Uw;let p=null,m=null,h=NaN,g=0,_=0;for(let e=qw.length;_1?VC(C,t,r,l)/e:C),t,r,l),b=VC(BC(Jw.delay,_?0:ee),t,r,l),x=VC(BC(Jw.composition,T),t,r,l),E=nC(x)?x:CS[x],D=Jw.modifier||w,k=!aC(u),re=!aC(c),ie=eC(c),ae=ie||k&&re,oe=m?g+b:b,se=TC(te+oe,12);!ne&&(k||ie)&&(ne=1);let ce=m;if(E!==CS.none){p||=dw(t,o);let e=p._head;for(;e&&!e._isOverridden&&e._absoluteStartTime<=se;)if(ce=e,e=e._nextRep,e&&e._absoluteStartTime>=se)for(;e;)pw(e),e=e._nextRep}if(ae?(qC(ie?VC(c[0],t,r,l):u,zw),qC(ie?VC(c[1],t,r,l,Hw):c,Bw),zw.t===xS.NUMBER&&(ce?ce._valueType===xS.UNIT&&(zw.t=xS.UNIT,zw.u=ce._unit):(qC(WC(t,o,a,Vw),YC),YC.t===xS.UNIT&&(zw.t=xS.UNIT,zw.u=YC.u)))):(re?qC(c,Bw):m?JC(m,Bw):qC(n&&ce&&ce.parent.parent===n?ce._value:WC(t,o,a,Vw),Bw),k?qC(u,zw):m?JC(m,zw):qC(n&&ce&&ce.parent.parent===n?ce._value:WC(t,o,a,Vw),zw)),zw.o&&(zw.n=GC(ce?ce._toNumber:qC(WC(t,o,a,Vw),YC).n,zw.n,zw.o)),Bw.o&&(Bw.n=GC(zw.n,Bw.n,Bw.o)),zw.t!==Bw.t){if(zw.t===xS.COMPLEX||Bw.t===xS.COMPLEX){let e=zw.t===xS.COMPLEX?zw:Bw,t=zw.t===xS.COMPLEX?Bw:zw;t.t=xS.COMPLEX,t.s=kC(e.s),t.d=e.d.map(()=>t.n)}else if(zw.t===xS.UNIT||Bw.t===xS.UNIT){let e=zw.t===xS.UNIT?zw:Bw,t=zw.t===xS.UNIT?Bw:zw;t.t=xS.UNIT,t.u=e.u}else if(zw.t===xS.COLOR||Bw.t===xS.COLOR){let e=zw.t===xS.COLOR?zw:Bw,t=zw.t===xS.COLOR?Bw:zw;t.t=xS.COLOR,t.s=e.s,t.d=[0,0,0,1]}}if(zw.u!==Bw.u){let e=Bw.u?zw:Bw;e=Dw(t,e,Bw.u?Bw.u:zw.u,!1)}if(Bw.d&&zw.d&&Bw.d.length!==zw.d.length){let e=zw.d.length>Bw.d.length?zw:Bw,t=e===zw?Bw:zw;t.d=e.d.map((e,n)=>aC(t.d[n])?0:t.d[n]),t.s=kC(e.s)}let le=TC(+y||1e-11,12),A=Vw[o];oC(A)||(Vw[o]=null);let ue={parent:this,id:Kw++,property:o,target:t,_value:null,_func:Hw.func,_ease:Rw(v),_fromNumbers:kC(zw.d),_toNumbers:kC(Bw.d),_strings:kC(Bw.s),_fromNumber:zw.n,_toNumber:Bw.n,_numbers:kC(zw.d),_number:zw.n,_unit:Bw.u,_modifier:D,_currentTime:0,_startTime:oe,_delay:+b,_updateDuration:le,_changeDuration:le,_absoluteStartTime:se,_tweenType:a,_valueType:Bw.t,_composition:E,_isOverlapped:0,_isOverridden:0,_renderTransforms:0,_inlineValue:A,_prevRep:null,_nextRep:null,_prevAdd:null,_nextAdd:null,_prev:null,_next:null};E!==CS.none&&mw(ue,p),isNaN(h)&&(h=ue._startTime),g=TC(oe+le,12),m=ue,O++,NC(this,ue)}(isNaN(D)||hE)&&(E=g),a===bS.TRANSFORM&&(d=O-_,f=O)}if(!isNaN(d)){let e=0;jC(this,t=>{e>=d&&e{e.id===t.id&&(e._renderTransforms=1)})),e++})}}c||console.warn(`No target found. Make sure the element you're trying to animate is accessible before creating your animation.`),D?(jC(this,e=>{e._startTime-e._delay||(e._delay-=D),e._startTime-=D}),E-=D):D=0,E||(E=kS,this.iterationCount=0),this.targets=s,this.duration=E===1e-11?kS:DC((E+this._loopDelay)*this.iterationCount-this._loopDelay)||1e-11,this.onRender=_||v.onRender,this._ease=b,this._delay=D,this.iterationDuration=E,!this._autoplay&&ne&&this.onRender(this)}stretch(e){let t=this.duration;if(t===OC(e))return this;let n=e/t;return jC(this,e=>{e._updateDuration=OC(e._updateDuration*n),e._changeDuration=OC(e._changeDuration*n),e._currentTime*=n,e._startTime*=n,e._absoluteStartTime*=n}),super.stretch(e)}refresh(){return jC(this,e=>{let t=e._func;t&&(qC(WC(e.target,e.property,e._tweenType),YC),qC(t(),Bw),e._fromNumbers=kC(YC.d),e._fromNumber=YC.n,e._toNumbers=kC(Bw.d),e._strings=kC(Bw.s),e._toNumber=Bw.o?GC(YC.n,Bw.n,Bw.o):Bw.n)}),this.duration===1e-11&&this.restart(),this}revert(){return super.revert(),ew(this)}then(e){return super.then(e)}},Zw=(e,t)=>new Xw(e,t,null,0,!1).init();function Qw(e){let t=[],n,r={enqueue:[],dequeue:[],process:[],error:[],result:[],drain:[]},i={};function a(e,t){r[e].push(t)}function o(e,...t){r[e].forEach(e=>e(...t))}function s(e,t){i[e]=i[e]||[],i[e].push(t)}function c(e,...t){(i[e]||[]).forEach(e=>e(...t))}function l(e){t.push(e),o(`enqueue`,e,t.length),n||=d()}function u(){t.length=0}async function d(){for(;t.length>0;){let n=t.shift();o(`dequeue`,n,t.length);for(let t of e.handlers){o(`process`,n,t);try{o(`result`,n,await t({data:n,emit:c}),t)}catch(e){o(`error`,n,e,t);continue}}}o(`drain`),n=void 0}function f(){return t.length}return{enqueue:l,clear:u,length:f,on:a,onHandlerEvent:s}}function $w(){let e;return{stream:new ReadableStream({start(t){e=t}}),controller:e}}function eT(e,t){if(e?.aborted){t?.();let n=Error(`Operation canceled`);throw n.name=e?.reason,n}}function tT(e,t){let n=new Intl.Segmenter(void 0,{granularity:`grapheme`}),r=new TextDecoder(`utf-8`,{fatal:!1}),i=t?.signal;return async function*(){let t=``;for(;;){eT(i,e.close);let{done:a,value:o}=await new Promise((t,n)=>{i?.addEventListener(`abort`,()=>{e.close?.();let t=Error(`Operation canceled`);t.name=i.reason,n(t)},{once:!0}),Promise.resolve(e.read()).then(t).catch(n)});t+=r.decode(o,{stream:!0});let s=n.segment(t);if(a){for(let t of s)eT(i,e.close),yield t.segment;return}let c=s[Symbol.iterator](),l=0,u=c.next();for(;!u.done;){eT(i,e.close);let t=c.next();if(t.done)break;l=t.value.index,yield u.value.segment,u=t}a||(t=t.slice(l))}}()}const nT=``;var rT=new Set(`??!!`),iT=new Set(`.。??!!…⋯~~
- \r`),aT=new Set(`,,、–—::;;《》「」`);async function*oT(e,t){let{boost:n=2,minimumWords:r=4,maximumWords:i=12}=t??{},a=tT(typeof e==`string`?new ReadableStream({start(t){t.enqueue(new TextEncoder().encode(e)),t.close()}}).getReader():e),o=new Intl.Segmenter(void 0,{granularity:`word`}),s=0,c=``,l=``,u=0,d,f=await a.next();for(;!f.done;){let e=f.value;if(e.length>1){d=e,f=await a.next();continue}let t=e===``,p=e===``,m=iT.has(e),h=aT.has(e),g=rT.has(e),_,v;if(t||p||m||h){switch(e){case`.`:case`,`:if(d!==void 0&&/\d/.test(d)){if(_=await a.next(),!_.done&&_.value&&/\d/.test(_.value)){c+=e,f=_,_=void 0;continue}}else e===`.`&&(_=await a.next(),!_.done&&_.value&&_.value===`.`&&(v=await a.next(),!v.done&&v.value&&v.value===`.`&&(e=`…`,_=void 0,v=void 0)))}if(c.length===0){p&&(yield{text:``,words:0,reason:`special`},s++,u=0),d=e,f=await a.next();continue}let h=[...o.segment(c)].filter(e=>e.isWordLike);u>r&&u+h.length>i&&(yield{text:g?l.trim()+e:l.trim(),words:u,reason:`limit`},s++,l=``,u=0),l+=c+e,u+=h.length,c=``,p?(yield{text:l.slice(0,-1).trim(),words:u,reason:`special`},s++,l=``,u=0):(t||m||u>i||si?`limit`:`boost`},s++,l=``,u=0),d=e,_===void 0?f=await a.next():v===void 0?(f=_,_=void 0):(f=v,_=void 0,v=void 0);continue}c+=e,d=e,_=await a.next(),f=_}console.debug(`while loop ends, chunk/buffer:`,l,c),(l.length>0||c.length>0)&&(yield{text:(l+c).trim(),words:u+[...o.segment(c)].filter(e=>e.isWordLike).length,reason:`flush`})}async function sT(e,t,n){let r=e=>e.replaceAll(``,``).replaceAll(``,``).trim();try{for await(let i of oT(e))if(i.reason===`special`){let e=t.shift();await n({chunk:r(i.text),special:e??null})}else await n({chunk:r(i.text),special:null})}catch(e){console.error(`Error chunking stream to TTS queue:`,e)}}function cT(e){function t(e){for(let t of Pe)if(e.includes(t))return{ok:!0,emotion:t};return{ok:!1,emotion:``}}return Qw({handlers:[async n=>{if(Pe.includes(n.data)){n.emit(`emotion`,n.data),e.enqueue(n.data);return}{let{ok:r,emotion:i}=t(n.data);r&&(n.emit(`emotion`,i),e.enqueue(i))}}]})}function lT(){function e(e){if(!/<\|DELAY:\d+\|>/i.test(e))return{ok:!1,delay:0};let t=/<\|DELAY:(\d+)\|>/i.exec(e)?.[1];if(!t)return{ok:!1,delay:0};let n=Number.parseFloat(t);return n<=0||Number.isNaN(n)?{ok:!0,delay:0}:{ok:!0,delay:n}}return Qw({handlers:[async t=>{let{ok:n,delay:r}=e(t.data);n&&(t.emit(`delay`,r),await at(r*1e3))}]})}const uT=Ee(`pipelines:character:speech`,()=>{let e=M([]),t=M([]);function n(t){e.value.push(t)}function r(e){t.value.push(e)}let i=ue(),a=ue(),o=ue();function s(e){a.value=e}function c(e){o.value=e}function l(){if(i){try{i.value?.stop(),i.value?.disconnect()}catch{}i.value=void 0}}let u=M(Le(()=>Qw({handlers:[n=>new Promise(r=>{if(l(),!a.value){r();return}let s=a.value.createBufferSource();s.buffer=n.data.audioBuffer,s.connect(a.value.destination),s.connect(o.value);for(let t of e.value)try{t({text:n.data.text})}catch(e){console.error(`Error in onPlaybackStarted hook:`,e)}i.value=s,s.start(0),s.onended=()=>{if(n.data.special)for(let e of t.value)try{e({special:n.data.special})}catch(e){console.error(`Error in onPlaybackFinished hook:`,e)}i.value===s&&(i.value=void 0),r()}})]})));function d(){u.value.clear()}function f(){l(),d()}return{onPlaybackStarted:n,onPlaybackFinished:r,connectAudioContext:s,connectAudioAnalyser:c,clearPlaying:l,clearQueue:d,clearAll:f,currentAudioSource:i,playbackQueue:u}}),dT=Ee(`pipelines:workflows:text-segmentation`,()=>{let e=M([]);function t(t){e.value.push(t)}function n(){e.value=[]}return{onTextSegmented:t,clearHooks:n,textSegmentationQueue:M(Le(()=>{let t=M(),n=M(),r=new TextEncoder,{stream:i,controller:a}=$w();t.value=i,n.value=a;let o=[];return sT(i.getReader(),o,async t=>{for(let n of e.value)await n(t)}),Qw({handlers:[async e=>{e.data.type===`literal`?a.enqueue(r.encode(e.data.value)):(o.push(e.data.value),a.enqueue(r.encode(``)))}]})}))}});var fT={flex:`~ row`,"gap-4":``},pT={flex:`~ col gap-2 items-start`,"py-4":``},mT={"ml-1":``},hT={key:0,tag:`div`,flex:`~ row items-center gap-1`,"text-sm":``},gT=r({__name:`SpeechStreamingPlayground`,props:{text:{},generateSpeech:{type:Function},voice:{}},setup(e){let t=e,{onTextSegmented:n}=dT(),{textSegmentationQueue:r}=De(dT()),{audioContext:i}=ot(),o=M(!1),s=M([]),c=M(-1),l=Qw({handlers:[e=>new Promise(t=>{let n=i.createBufferSource();n.buffer=e.data.audioBuffer,n.connect(i.destination),o.value=!0,n.start(0),n.onended=()=>{o.value=!1,t()}})]});async function u(e){c.value++;try{let n=e.data,r=await t.generateSpeech(n,t.voice,!1),a=await i.decodeAudioData(r);l.enqueue({audioBuffer:a,text:e.data})}catch(e){console.error(`Speech generation failed:`,e)}}let p=Qw({handlers:[u]});n(e=>{p.enqueue(e.chunk)});async function m(){r.value.enqueue({type:`literal`,value:t.text})}async function h(){let e=[],n=new ReadableStream({start(e){e.enqueue(new TextEncoder().encode(t.text)),e.close()}});for await(let t of oT(n.getReader(),{boost:1,minimumWords:4,maximumWords:12}))e.push(t);s.value=e}return(e,t)=>(f(),A(re,null,[t[4]||=j(`div`,{class:`flex items-center gap-1 text-sm font-medium`},` Streaming Playground `,-1),j(`div`,fT,[j(`button`,{border:`neutral-800 dark:neutral-200 solid 2`,transition:`border duration-250 ease-in-out`,"rounded-lg":``,"px-4":``,text:`neutral-100 dark:neutral-900`,"py-2":``,"text-sm":``,bg:`neutral-700 dark:neutral-300`,onClick:h},[...t[1]||=[j(`div`,{flex:`~ row`,"items-center":``,"gap-2":``},[j(`div`,{"i-solar:round-double-alt-arrow-right-bold-duotone":``}),j(`span`,null,`Test chunking`)],-1)]]),s.value.length>0?(f(),A(`button`,{key:0,border:`neutral-800 dark:neutral-200 solid 2`,transition:`border duration-250 ease-in-out`,"rounded-lg":``,"px-4":``,text:`neutral-100 dark:neutral-900`,"py-2":``,"text-sm":``,bg:`neutral-700 dark:neutral-300`,onClick:m},[...t[2]||=[j(`div`,{flex:`~ row`,"items-center":``,"gap-2":``},[j(`div`,{"i-solar:round-double-alt-arrow-right-bold-duotone":``}),j(`span`,null,`Test streaming`)],-1)]])):a(``,!0)]),j(`div`,pT,[(f(!0),A(re,null,d(s.value,(e,n)=>(f(),A(`div`,{key:n,flex:`~ row gap-2 items-center`},[j(`div`,{flex:`~ row gap-2 items-center`,"rounded-xl":``,"px-2":``,"py-1.5":``,class:E({"bg-neutral-100 dark:bg-neutral-800":c.value=n})},[j(`span`,mT,g(e.text),1),j(`span`,{"rounded-full":``,"px-2":``,"py-.5":``,"text-nowrap":``,"text-xs":``,b:`~ dashed`,class:E({"b-green text-green":e.reason===`boost`,"b-orange text-orange":e.reason===`limit`,"b-red text-red":e.reason===`hard`,"b-purple text-purple":e.reason===`flush`})},g(e.words)+` words, `+g(e.reason),3)],2),D(ie,{css:!1,onEnter:t[0]||=e=>O(Zw)(e,{opacity:[0,1],translateX:[10,0],duration:200,ease:`inOut`})},{default:k(()=>[c.value>=n?(f(),A(`div`,hT,[...t[3]||=[j(`div`,{"i-solar-check-circle-line-duotone":``},null,-1),j(`div`,null,`Queued`,-1)]])):a(``,!0)]),_:2},1024)]))),128))])],64))}}),_T={"w-full":``,"rounded-xl":``},vT={class:`mb-4 text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`,"w-full":``},yT={class:`inline-flex items-center gap-4`},bT={flex:`~ col gap-4`},xT=[`placeholder`],ST=[`placeholder`],CT={flex:`~ row`,"gap-4":``},wT=[`disabled`],TT={flex:`~ row`,"items-center":``,"gap-2":``},ET={flex:`~ row`,"items-center":``,"gap-2":``},DT={key:2,class:`mt-2 text-sm text-red-500`},OT={key:3,class:`mt-2 text-sm text-red-500`},kT={key:4,class:`mt-2 text-sm text-red-500`},AT=[`src`],jT=r({__name:`SpeechPlayground`,props:{defaultText:{},availableVoices:{},generateSpeech:{type:Function},apiKeyConfigured:{type:Boolean}},setup(e,{expose:t}){let n=e,{t:r}=it(),i=M(n.defaultText||`Hello! This is a test of the voice synthesis.`),o=M(!1),s=M(``),c=M(``),u=M(null),d=M(!1),p=M(``),m=M(``);ee(()=>n.availableVoices,e=>{e.length>0&&!m.value&&(m.value=e[0]?.id||``)},{immediate:!0});let h=w(()=>n.availableVoices.map(e=>({value:e.id,label:e.name})));async function _(){if(!(!i.value.trim()&&!d.value||d.value&&!p.value.trim()||!m.value)){o.value=!0,c.value=``;try{s.value&&v();let e=d.value?p.value:i.value,t=await n.generateSpeech(e,m.value,d.value);s.value=URL.createObjectURL(new Blob([t])),setTimeout(()=>{u.value&&u.value.play()},100)}catch(e){console.error(`Error generating speech:`,e),c.value=e instanceof Error?e.message:`An unknown error occurred`}finally{o.value=!1}}}function v(){u.value&&(u.value.pause(),u.value.currentTime=0),s.value&&=(URL.revokeObjectURL(s.value),``)}return l(()=>{s.value&&URL.revokeObjectURL(s.value)}),t({testText:i,ssmlText:p,useSSML:d,selectedVoice:m,isGenerating:o,audioUrl:s,errorMessage:c,audioPlayer:u,generateTestSpeech:_,stopTestAudio:v}),(t,n)=>(f(),A(`div`,_T,[j(`h2`,vT,[j(`div`,yT,[D(O(Ct)),j(`div`,null,g(O(r)(`settings.pages.providers.provider.elevenlabs.playground.title`)),1)])]),j(`div`,bT,[D(O(Ce),{modelValue:d.value,"onUpdate:modelValue":n[0]||=e=>d.value=e,label:O(r)(`settings.pages.modules.speech.sections.section.voice-settings.use-ssml.label`),description:O(r)(`settings.pages.modules.speech.sections.section.voice-settings.use-ssml.description`)},null,8,[`modelValue`,`label`,`description`]),d.value?le((f(),A(`textarea`,{key:1,"onUpdate:modelValue":n[2]||=e=>p.value=e,placeholder:O(r)(`settings.pages.modules.speech.sections.section.voice-settings.input-ssml.placeholder`),border:`neutral-100 dark:neutral-800 solid 2 focus:neutral-200 dark:focus:neutral-700`,transition:`all duration-250 ease-in-out`,bg:`neutral-100 dark:neutral-800 focus:neutral-50 dark:focus:neutral-900`,"h-48":``,"w-full":``,"rounded-lg":``,"px-3":``,"py-2":``,"text-sm":``,"font-mono":``,"outline-none":``},null,8,ST)),[[ne,p.value]]):le((f(),A(`textarea`,{key:0,"onUpdate:modelValue":n[1]||=e=>i.value=e,placeholder:O(r)(`settings.pages.providers.provider.elevenlabs.playground.fields.field.input.placeholder`),border:`neutral-100 dark:neutral-800 solid 2 focus:neutral-200 dark:focus:neutral-700`,transition:`all duration-250 ease-in-out`,bg:`neutral-100 dark:neutral-800 focus:neutral-50 dark:focus:neutral-900`,"h-24":``,"w-full":``,"rounded-lg":``,"px-3":``,"py-2":``,"text-sm":``,"outline-none":``},null,8,xT)),[[ne,i.value]]),D(O(ye),{modelValue:m.value,"onUpdate:modelValue":n[3]||=e=>m.value=e,class:`[&>div]:grid [&>div]:grid-cols-[4fr_2fr]`,options:h.value,label:O(r)(`settings.pages.providers.provider.elevenlabs.playground.fields.field.voice.label`),description:O(r)(`settings.pages.providers.provider.elevenlabs.playground.fields.field.voice.description`),layout:`horizontal`},null,8,[`modelValue`,`options`,`label`,`description`]),j(`div`,CT,[j(`button`,{border:`neutral-800 dark:neutral-200 solid 2`,transition:`border duration-250 ease-in-out`,"rounded-lg":``,"px-4":``,text:`neutral-100 dark:neutral-900`,"py-2":``,"text-sm":``,disabled:o.value||!i.value.trim()&&!d.value||d.value&&!p.value.trim()||!m.value||!e.apiKeyConfigured,class:E({"opacity-50 cursor-not-allowed":o.value||!i.value.trim()&&!d.value||d.value&&!p.value.trim()||!m.value||!e.apiKeyConfigured}),bg:`neutral-700 dark:neutral-300`,onClick:_},[j(`div`,TT,[n[4]||=j(`div`,{"i-solar:play-circle-bold-duotone":``},null,-1),j(`span`,null,g(o.value?O(r)(`settings.pages.providers.provider.elevenlabs.playground.buttons.button.test-voice.generating`):O(r)(`settings.pages.providers.provider.elevenlabs.playground.buttons.button.test-voice.label`)),1)])],10,wT),s.value?(f(),A(`button`,{key:0,border:`primary-300 dark:primary-800 solid 2`,transition:`border duration-250 ease-in-out`,"rounded-lg":``,"px-4":``,"py-2":``,"text-sm":``,onClick:v},[j(`div`,ET,[n[5]||=j(`div`,{"i-solar:stop-circle-bold-duotone":``},null,-1),j(`span`,null,g(O(r)(`settings.pages.modules.speech.sections.section.playground.buttons.stop.label`)),1)])])):a(``,!0)]),e.apiKeyConfigured?a(``,!0):(f(),A(`div`,DT,g(O(r)(`settings.pages.providers.provider.elevenlabs.playground.validation.error-missing-api-key`)),1)),m.value?a(``,!0):(f(),A(`div`,OT,g(O(r)(`settings.pages.modules.speech.sections.section.playground.select-voice.required`)),1)),c.value?(f(),A(`div`,kT,g(c.value),1)):a(``,!0),s.value?(f(),A(`audio`,{key:5,ref_key:`audioPlayer`,ref:u,src:s.value,controls:``,class:`mt-2 w-full`},null,8,AT)):a(``,!0),D(gT,{text:i.value,voice:m.value,"generate-speech":e.generateSpeech},null,8,[`text`,`voice`,`generate-speech`])]),x(t.$slots,`default`)]))}}),MT={"w-full":``,"rounded-xl":``},NT={class:`mb-4 text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`,"w-full":``},PT={class:`inline-flex items-center gap-4`},FT={flex:`~ col gap-4`},IT=[`placeholder`],LT=[`placeholder`],RT={flex:`~ row`,"gap-4":``},zT=[`disabled`],BT={flex:`~ row`,"items-center":``,"gap-2":``},VT={flex:`~ row`,"items-center":``,"gap-2":``},HT={key:2,class:`mt-2 text-sm text-red-500`},UT={key:3,class:`mt-2 text-sm text-red-500`},WT=[`src`],GT=r({__name:`SpeechPlaygroundOpenAICompatible`,props:{defaultText:{},modelValue:{},voice:{},generateSpeech:{type:Function},apiKeyConfigured:{type:Boolean}},emits:[`update:modelValue`,`update:voice`],setup(e,{expose:t,emit:n}){let r=e,i=n,{t:o}=it(),s=w({get:()=>r.modelValue,set:e=>i(`update:modelValue`,e)}),c=w({get:()=>r.voice,set:e=>i(`update:voice`,e)}),u=M(r.defaultText||`Hello! This is a test of the voice synthesis.`),d=M(!1),p=M(``),m=M(``),h=M(null),_=M(!1),v=M(``);async function y(){if(!(!u.value.trim()&&!_.value||_.value&&!v.value.trim())){d.value=!0,m.value=``;try{p.value&&S();let e=_.value?v.value:u.value,t=await r.generateSpeech(e,c.value,_.value,s.value);p.value=URL.createObjectURL(new Blob([t])),setTimeout(()=>{h.value&&h.value.play()},100)}catch(e){console.error(`Error generating speech:`,e),m.value=e instanceof Error?e.message:`An unknown error occurred`}finally{d.value=!1}}}function S(){h.value&&(h.value.pause(),h.value.currentTime=0),p.value&&=(URL.revokeObjectURL(p.value),``)}return l(()=>{p.value&&URL.revokeObjectURL(p.value)}),t({testText:u,ssmlText:v,useSSML:_,isGenerating:d,audioUrl:p,errorMessage:m,audioPlayer:h,generateTestSpeech:y,stopTestAudio:S}),(t,n)=>{let r=b(`SpeechStreamingPlayground`);return f(),A(`div`,MT,[j(`h2`,NT,[j(`div`,PT,[D(O(Ct)),j(`div`,null,g(O(o)(`settings.pages.providers.provider.elevenlabs.playground.title`)),1)])]),j(`div`,FT,[D(O(be),{modelValue:s.value,"onUpdate:modelValue":n[0]||=e=>s.value=e,label:`Model ID`,placeholder:`tts-1`},null,8,[`modelValue`]),D(O(be),{modelValue:c.value,"onUpdate:modelValue":n[1]||=e=>c.value=e,label:`Voice`,placeholder:`alloy`},null,8,[`modelValue`]),D(O(Ce),{modelValue:_.value,"onUpdate:modelValue":n[2]||=e=>_.value=e,label:O(o)(`settings.pages.modules.speech.sections.section.voice-settings.use-ssml.label`),description:O(o)(`settings.pages.modules.speech.sections.section.voice-settings.use-ssml.description`)},null,8,[`modelValue`,`label`,`description`]),_.value?le((f(),A(`textarea`,{key:1,"onUpdate:modelValue":n[4]||=e=>v.value=e,placeholder:O(o)(`settings.pages.modules.speech.sections.section.voice-settings.input-ssml.placeholder`),border:`neutral-100 dark:neutral-800 solid 2 focus:neutral-200 dark:focus:neutral-700`,transition:`all duration-250 ease-in-out`,bg:`neutral-100 dark:neutral-800 focus:neutral-50 dark:focus:neutral-900`,"h-48":``,"w-full":``,"rounded-lg":``,"px-3":``,"py-2":``,"text-sm":``,"font-mono":``,"outline-none":``},null,8,LT)),[[ne,v.value]]):le((f(),A(`textarea`,{key:0,"onUpdate:modelValue":n[3]||=e=>u.value=e,placeholder:O(o)(`settings.pages.providers.provider.elevenlabs.playground.fields.field.input.placeholder`),border:`neutral-100 dark:neutral-800 solid 2 focus:neutral-200 dark:focus:neutral-700`,transition:`all duration-250 ease-in-out`,bg:`neutral-100 dark:neutral-800 focus:neutral-50 dark:focus:neutral-900`,"h-24":``,"w-full":``,"rounded-lg":``,"px-3":``,"py-2":``,"text-sm":``,"outline-none":``},null,8,IT)),[[ne,u.value]]),j(`div`,RT,[j(`button`,{border:`neutral-800 dark:neutral-200 solid 2`,transition:`border duration-250 ease-in-out`,"rounded-lg":``,"px-4":``,text:`neutral-100 dark:neutral-900`,"py-2":``,"text-sm":``,disabled:d.value||!u.value.trim()&&!_.value||_.value&&!v.value.trim()||!e.apiKeyConfigured,class:E({"opacity-50 cursor-not-allowed":d.value||!u.value.trim()&&!_.value||_.value&&!v.value.trim()||!e.apiKeyConfigured}),bg:`neutral-700 dark:neutral-300`,onClick:y},[j(`div`,BT,[n[5]||=j(`div`,{"i-solar:play-circle-bold-duotone":``},null,-1),j(`span`,null,g(d.value?O(o)(`settings.pages.providers.provider.elevenlabs.playground.buttons.button.test-voice.generating`):O(o)(`settings.pages.providers.provider.elevenlabs.playground.buttons.button.test-voice.label`)),1)])],10,zT),p.value?(f(),A(`button`,{key:0,border:`primary-300 dark:primary-800 solid 2`,transition:`border duration-250 ease-in-out`,"rounded-lg":``,"px-4":``,"py-2":``,"text-sm":``,onClick:S},[j(`div`,VT,[n[6]||=j(`div`,{"i-solar:stop-circle-bold-duotone":``},null,-1),j(`span`,null,g(O(o)(`settings.pages.modules.speech.sections.section.playground.buttons.stop.label`)),1)])])):a(``,!0)]),e.apiKeyConfigured?a(``,!0):(f(),A(`div`,HT,g(O(o)(`settings.pages.providers.provider.elevenlabs.playground.validation.error-missing-api-key`)),1)),m.value?(f(),A(`div`,UT,g(m.value),1)):a(``,!0),p.value?(f(),A(`audio`,{key:4,ref_key:`audioPlayer`,ref:h,src:p.value,controls:``,class:`mt-2 w-full`},null,8,WT)):a(``,!0),D(r,{text:u.value,voice:c.value,"generate-speech":e.generateSpeech},null,8,[`text`,`voice`,`generate-speech`])]),x(t.$slots,`default`)])}}}),KT={flex:`~ col md:row gap-6`},qT={flex:`~ col gap-6`},JT={class:`text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`},YT={flex:`~ col gap-4`},XT={flex:`~ col gap-6`,class:`w-full md:w-[60%]`},ZT={"w-full":``,"rounded-xl":``},QT=r({__name:`SpeechProviderSettings`,props:{providerId:{},defaultModel:{},additionalSettings:{},placeholder:{}},setup(e){let t=e,{t:n}=it(),r=ke(),i=Qe(),a=tt(),{providers:o}=De(i),s=w(()=>i.getProviderMetadata(t.providerId)),c=w({get:()=>o.value[t.providerId]?.apiKey||``,set:e=>{o.value[t.providerId]||(o.value[t.providerId]={}),o.value[t.providerId].apiKey=e}}),l=w({get:()=>o.value[t.providerId]?.baseUrl||s.value?.defaultOptions?.().baseUrl||``,set:e=>{o.value[t.providerId]||(o.value[t.providerId]={}),o.value[t.providerId].baseUrl=e}}),u=M({});function d(){o.value[t.providerId]?.voiceSettings?u.value={...o.value[t.providerId].voiceSettings}:u.value={pitch:0,speed:1,volume:0,...t.additionalSettings}}y(()=>{i.initializeProvider(t.providerId),c.value=o.value[t.providerId]?.apiKey||``,l.value=o.value[t.providerId]?.baseUrl||s.value?.defaultOptions?.().baseUrl||``,d(),i.configuredProviders[t.providerId]&&a.loadVoicesForProvider(t.providerId)});let p=ze(()=>{o.value[t.providerId]={...o.value[t.providerId],apiKey:c.value,baseUrl:l.value||s.value?.defaultOptions?.().baseUrl||``,voiceSettings:{...u.value}}},1e3);ee([c,l],p),ee(u,p,{deep:!0});function m(){u.value={...s.value?.defaultOptions?.().voiceSettings},p()}return(e,i)=>(f(),v(gS,{"provider-name":s.value?.localizedName,"provider-icon":s.value?.icon,"provider-icon-color":s.value?.iconColor,"on-back":()=>O(r).back()},{default:k(()=>[j(`div`,KT,[D(O(mS),{class:`w-full md:w-[40%]`},{default:k(()=>[D(O(fS),{title:O(n)(`settings.pages.providers.common.section.basic.title`),description:O(n)(`settings.pages.providers.common.section.basic.description`),"on-reset":m},{default:k(()=>[D(O(oS),{modelValue:c.value,"onUpdate:modelValue":i[0]||=e=>c.value=e,"provider-name":s.value?.localizedName,placeholder:t.placeholder||`API Key`},null,8,[`modelValue`,`provider-name`,`placeholder`]),x(e.$slots,`basic-settings`)]),_:3},8,[`title`,`description`]),j(`div`,qT,[j(`h2`,JT,g(O(n)(`settings.pages.providers.common.section.voice.title`)),1),j(`div`,YT,[x(e.$slots,`voice-settings`)])]),D(O(aS),{title:O(n)(`settings.pages.providers.common.section.advanced.title`)},{default:k(()=>[D(O(sS),{modelValue:l.value,"onUpdate:modelValue":i[1]||=e=>l.value=e,placeholder:s.value?.defaultOptions?.().baseUrl||``,required:``},null,8,[`modelValue`,`placeholder`]),x(e.$slots,`advanced-settings`)]),_:3},8,[`title`])]),_:3}),j(`div`,XT,[j(`div`,ZT,[x(e.$slots,`playground`)])])])]),_:3},8,[`provider-name`,`provider-icon`,`provider-icon-color`,`on-back`]))}});function $T(){let e=M(),t=M(),n=M(),r=M([]),i=M(0),a=M();function o(e){return r.value.push(e),()=>{r.value=r.value.filter(t=>t!==e)}}function s(){if(n.value)return;let a=()=>{if(!e.value||!t.value)return;e.value.getByteFrequencyData(t.value);let o=0;for(let e=0;e{u()}),{volumeLevel:i,error:a,startAnalyzer:c,stopAnalyzer:u,onAnalyzerUpdate:o}}function eE(e){let t=e.getAudioTracks();if(!t.length)throw Error(`No audio tracks found in stream`);return t[0]}function tE(e){let t=s(e),n=ue(),r=M(),i=M(),a=M([]);function o(e){return a.value.push(e),()=>{a.value=a.value.filter(t=>t!==e)}}async function c(){await Re(t).toBeTruthy();let e=await eE(t.value);r.value=new dt({format:new ct,target:new st});let n=new lt(e,{codec:`pcm-f32`,bitrate:ut});n.errorPromise.catch(console.error),r.value.addAudioTrack(n),i.value=await r.value.getMimeType(),await r.value.start()}async function l(){if(!r.value)return;await r.value.finalize();let e=r.value.target?.buffer,t=e?new Blob([e],{type:i.value}):void 0;n.value=t;for(let e of a.value)try{await e(t)}catch(e){console.error(`onStopRecord hook failed:`,e)}return r.value=void 0,t}return{startRecord:c,stopRecord:l,onStopRecord:o,recording:n}}function nE(){let e=Ve({constraints:{audio:!0},requestPermissions:!0}),t=w(()=>e.audioInputs.value),n=M(e.audioInputs.value[0]?.deviceId||``),r=w(()=>({audio:{deviceId:{exact:n.value},autoGainControl:!0,echoCancellation:!0,noiseSuppression:!0}})),{stream:a,stop:o,start:s}=qe({constraints:r,enabled:!1,autoSwitch:!0});return ee(t,()=>{!n.value&&t.value.length>0&&(n.value=t.value[0]?.deviceId)}),y(()=>{e.ensurePermissions().then(()=>i()).then(()=>{t.value.length>0&&!n.value&&(n.value=t.value.find(e=>e.deviceId===`default`)?.deviceId||t.value[0].deviceId)}).catch(e=>{console.error(`Error ensuring permissions:`,e)})}),{audioInputs:t,selectedAudioInput:n,stream:a,stopStream:o,startStream:s,deviceConstraints:r}}var rE={"w-full":``,"pt-1":``},iE={class:`mb-4 text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`,"w-full":``},aE={class:`inline-flex items-center gap-4`},oE={"mb-2":``},sE=[`src`],cE={key:0,class:`mt-2 text-sm text-neutral-500 dark:text-neutral-400`},lE={class:`space-y-3`},uE={class:`space-y-3`},dE={class:`flex items-center gap-3`},fE={class:`text-sm font-medium`},pE=r({__name:`TranscriptionPlayground`,props:{generateTranscription:{type:Function},apiKeyConfigured:{type:Boolean}},setup(e){let t=e,{t:n}=it(),{audioInputs:r,selectedAudioInput:i,stream:o,stopStream:s,startStream:c}=nE(),{volumeLevel:u,stopAnalyzer:p,startAnalyzer:h}=$T(),{startRecord:_,stopRecord:v,onStopRecord:y}=tE(o),b=M(25),x=M(!1),S=M(!1),C=M(``),T=ue(),ne=M(),ie=M(),ae=M([]),oe=M([]),se=w(()=>ae.value.map(e=>{let t=URL.createObjectURL(e);return oe.value.push(()=>URL.revokeObjectURL(t)),t})),ce=M([]);ee(i,async()=>{x.value&&await le()}),ee(r,()=>{!i.value&&r.value.length>0&&(i.value=r.value.find(e=>e.deviceId===`default`)?.deviceId||r.value[0].deviceId)});async function le(){try{await de(),await c(),await Re(o).toBeTruthy(),T.value=new AudioContext;let e=T.value.createMediaStreamSource(o.value),t=h(T.value);e.connect(t);let n=t.frequencyBinCount;ne.value=new Uint8Array(n)}catch(e){console.error(`Error setting up audio monitoring:`,e),C.value=e instanceof Error?e.message:String(e)}}async function de(){ie.value&&=(cancelAnimationFrame(ie.value),void 0),o.value&&=(o.value.getTracks().forEach(e=>e.stop()),void 0),T.value&&=(await T.value.close(),void 0),await v(),await s(),await p(),ne.value=void 0,S.value=!1}y(async e=>{try{if(e&&e.size>0){ae.value.push(e);let n=await t.generateTranscription(new File([e],`recording.wav`)),r=n.mode===`stream`?await n.text:n.text;ce.value.push(r)}}catch(e){C.value=e instanceof Error?e.message:String(e),console.error(`Error generating transcription:`,C.value)}});async function fe(){x.value?(await de(),await v(),x.value=!1):(await le(),await _(),x.value=!0)}let pe=w(()=>S.value?`bg-green-500 shadow-lg shadow-green-500/50`:`bg-white dark:bg-neutral-900 border-2 border-neutral-300 dark:border-neutral-600`);return l(()=>{de()}),(e,t)=>(f(),A(`div`,rE,[j(`h2`,iE,[j(`div`,aE,[D(O(Ct)),j(`div`,null,g(O(n)(`settings.pages.providers.provider.transcriptions.playground.title`)),1)])]),j(`div`,oE,[D(O(ye),{modelValue:O(i),"onUpdate:modelValue":t[0]||=e=>te(i)?i.value=e:null,label:`Audio Input Device`,description:`Select the audio input device for your hearing module.`,options:O(r).map(e=>({label:e.label||e.deviceId,value:e.deviceId})),placeholder:`Select an audio input device`,layout:`vertical`,"h-fit":``,"w-full":``},null,8,[`modelValue`,`options`])]),D(O(we),{class:`my-4`,"w-full":``,onClick:fe},{default:k(()=>[m(g(x.value?`Stop Monitoring`:`Start Monitoring`),1)]),_:1}),j(`div`,null,[(f(!0),A(re,null,d(se.value,(e,t)=>(f(),A(`div`,{key:t,class:`mb-2`},[j(`audio`,{src:e,controls:``,class:`w-full`},null,8,sE),ce.value[t]?(f(),A(`div`,cE,g(ce.value[t]),1)):a(``,!0)]))),128))]),j(`div`,lE,[D(O(yt),{level:O(u),label:`Input Level`},null,8,[`level`]),D(O(jt),{value:O(u)/100,threshold:b.value/100,label:`Probability of Speech`,"below-label":`Silence`,"above-label":`Speech`,"threshold-label":`Detection threshold`},null,8,[`value`,`threshold`]),j(`div`,uE,[D(O(Se),{modelValue:b.value,"onUpdate:modelValue":t[1]||=e=>b.value=e,label:`Sensitivity`,description:`Adjust the threshold for speech detection`,min:1,max:80,step:1,"format-value":e=>`${e}%`},null,8,[`modelValue`,`format-value`])]),j(`div`,dE,[j(`div`,{class:E([`h-4 w-4 rounded-full transition-all duration-200`,pe.value])},null,2),j(`span`,fE,g(S.value?`Speaking Detected`:`Silence`),1)])])]))}}),mE={flex:`~ col md:row gap-6`},hE={flex:`~ col gap-6`,class:`w-full md:w-[60%]`},gE={"w-full":``,"rounded-xl":``},_E=r({__name:`TranscriptionProviderSettings`,props:{providerId:{},defaultModel:{},additionalSettings:{},placeholder:{}},setup(e){let t=e,{t:n}=it(),r=ke(),i=Qe(),{providers:a}=De(i),o=w(()=>i.getProviderMetadata(t.providerId)),s=w({get:()=>a.value[t.providerId]?.apiKey||``,set:e=>{a.value[t.providerId]||(a.value[t.providerId]={}),a.value[t.providerId].apiKey=e}}),c=w({get:()=>a.value[t.providerId]?.baseUrl||o.value?.defaultOptions?.().baseUrl||``,set:e=>{a.value[t.providerId]||(a.value[t.providerId]={}),a.value[t.providerId].baseUrl=e}});y(()=>{i.initializeProvider(t.providerId),s.value=a.value[t.providerId]?.apiKey||``,c.value=a.value[t.providerId]?.baseUrl||o.value?.defaultOptions?.().baseUrl||``});function l(){s.value=``,c.value=o.value?.defaultOptions?.().baseUrl||``}return(e,i)=>(f(),v(O(gS),{"provider-name":o.value?.localizedName,"provider-icon":o.value?.icon,"provider-icon-color":o.value?.iconColor,"on-back":()=>O(r).back()},{default:k(()=>[j(`div`,mE,[D(O(mS),{class:`w-full md:w-[40%]`},{default:k(()=>[D(O(fS),{title:O(n)(`settings.pages.providers.common.section.basic.title`),description:O(n)(`settings.pages.providers.common.section.basic.description`),"on-reset":l},{default:k(()=>[D(O(oS),{modelValue:s.value,"onUpdate:modelValue":i[0]||=e=>s.value=e,"provider-name":o.value?.localizedName,placeholder:t.placeholder||`API Key`},null,8,[`modelValue`,`provider-name`,`placeholder`]),x(e.$slots,`basic-settings`)]),_:3},8,[`title`,`description`]),D(O(aS),{title:O(n)(`settings.pages.providers.common.section.advanced.title`)},{default:k(()=>[D(O(sS),{modelValue:c.value,"onUpdate:modelValue":i[1]||=e=>c.value=e,placeholder:o.value?.defaultOptions?.().baseUrl||``,required:``},null,8,[`modelValue`,`placeholder`]),x(e.$slots,`advanced-settings`)]),_:3},8,[`title`])]),_:3}),j(`div`,hE,[j(`div`,gE,[x(e.$slots,`playground`)])])])]),_:3},8,[`provider-name`,`provider-icon`,`provider-icon-color`,`on-back`]))}}),vE={"h-full":``,flex:``,"flex-col":``,"gap-4":``},yE={sticky:``,"top-0":``,"z-100":``,flex:``,"flex-shrink-0":``,"items-center":``,"gap-2":``},bE={class:`flex-1 text-center text-xl text-neutral-800 font-semibold md:text-left md:text-2xl dark:text-neutral-100`},xE={key:0,"flex-1":``,"overflow-y-auto":``,"space-y-4":``},SE={class:`space-y-4`},CE={key:0},wE={key:1},TE={key:2},EE=r({__name:`step-provider-configuration`,setup(e){let{t}=it(),n=c(Jx),r=Qe(),i=M(``),o=M(``),s=M(``),l=M(`unchecked`),u=M();function d(){let e=n.selectedProvider.value;e&&(o.value=(e.defaultOptions?.()||{})?.baseUrl||``,i.value=``,s.value=``,l.value=`unchecked`,u.value=void 0)}ee(()=>n.selectedProvider.value?.id,()=>{d()});let p=w(()=>n.selectedProvider.value?n.selectedProvider.value.id!==`ollama`&&n.selectedProvider.value.id!==`player2`:!1),h=w(()=>n.selectedProvider.value?n.selectedProvider.value.id!==`cloudflare-workers-ai`:!1),_=w(()=>!n.selectedProviderId.value||p.value&&!i.value.trim()?!1:l.value===`unchecked`||l.value===`succeed`);async function y(){if(n.selectedProvider.value){l.value=`pending`;try{let e={};p.value&&(e.apiKey=i.value.trim()),h.value&&(e.baseUrl=o.value.trim()),n.selectedProvider.value.id===`cloudflare-workers-ai`&&(e.accountId=s.value.trim());let t=await r.getProviderMetadata(n.selectedProvider.value.id).validators.validateProviderConfig(e);l.value=t.valid?`succeed`:`failed`,l.value===`failed`&&(u.value=t.reason)}catch(e){l.value=`failed`,u.value=t(`settings.dialogs.onboarding.validationError`,{error:e instanceof Error?e.message:String(e)})}}}async function b(){await y(),l.value!==`failed`&&await n.handleNextStep({apiKey:i.value,baseUrl:o.value,accountId:s.value})}function x(e){return{openai:`sk-...`,anthropic:`sk-ant-...`,"google-generative-ai":`AI...`,"openrouter-ai":`sk-or-...`,deepseek:`sk-...`,xai:`xai-...`,"together-ai":`togetherapi-...`,"mistral-ai":`mis-...`,"moonshot-ai":`ms-...`,modelscope:`ms-...`,"fireworks-ai":`fw-...`,"featherless-ai":`fw-...`,"novita-ai":`nvt-...`}[e]||`API Key`}function S(e){return(n.selectedProvider.value?.defaultOptions?.()||{})?.baseUrl||`https://api.example.com/v1/`}return d(),(e,r)=>(f(),A(`div`,vE,[j(`div`,yE,[j(`button`,{"outline-none":``,onClick:r[0]||=(...e)=>O(n).handlePreviousStep&&O(n).handlePreviousStep(...e)},[...r[4]||=[j(`div`,{"i-solar:alt-arrow-left-line-duotone":``,"h-5":``,"w-5":``},null,-1)]]),j(`h2`,bE,g(O(t)(`settings.dialogs.onboarding.configureProvider`,{provider:O(n).selectedProvider.value?.localizedName})),1),r[5]||=j(`div`,{"h-5":``,"w-5":``},null,-1)]),O(n).selectedProvider.value?(f(),A(`div`,xE,[D(O(ve),{label:`Keep your API keys and credentials safe!`,theme:`violet`},{default:k(()=>[...r[6]||=[j(`div`,null,[j(`div`,null,` AIRI is running pure locally in your browser, and we will never steal your credentials for AI / LLM providers. But keep in mind that your API keys are sensitive information. Make sure to keep them safe and do not share them with anyone. `),j(`div`,null,[m(` AIRI is open sourced at `),j(`div`,{"inline-flex":``,"translate-y-1":``,"items-center":``,"gap-1":``},[j(`div`,{"i-simple-icons:github":``,"inline-block":``}),j(`a`,{"decoration-underline":``,"decoration-dashed":``,href:`https://github.com/moeru-ai/airi`,target:`_blank`,rel:`noopener noreferrer`},`GitHub`)]),m(`, if you want to check how we handle your credentials, feel free to inspect our code. `)])],-1)]]),_:1}),j(`div`,SE,[p.value?(f(),A(`div`,CE,[D(O(be),{modelValue:i.value,"onUpdate:modelValue":r[1]||=e=>i.value=e,placeholder:x(O(n).selectedProvider.value.id),type:`password`,label:`API Key`,description:`Enter your API key for the selected provider.`,required:``},null,8,[`modelValue`,`placeholder`])])):a(``,!0),h.value?(f(),A(`div`,wE,[D(O(be),{modelValue:o.value,"onUpdate:modelValue":r[2]||=e=>o.value=e,placeholder:S(O(n).selectedProvider.value.id),type:`text`,label:`Base URL`,description:`Enter the base URL for the provider's API.`},null,8,[`modelValue`,`placeholder`])])):a(``,!0),O(n).selectedProvider.value.id===`cloudflare-workers-ai`?(f(),A(`div`,TE,[D(O(tS),{modelValue:s.value,"onUpdate:modelValue":r[3]||=e=>s.value=e},null,8,[`modelValue`])])):a(``,!0)]),l.value===`failed`?(f(),v(O(ux),{key:0,title:O(t)(`settings.dialogs.onboarding.validationFailed`),error:u.value},null,8,[`title`,`error`])):a(``,!0)])):a(``,!0),D(O(we),{label:O(t)(`settings.dialogs.onboarding.next`),loading:l.value===`pending`,disabled:!_.value,onClick:b},null,8,[`label`,`loading`,`disabled`])]))}}),DE={"h-full":``,flex:``,"flex-col":``,"gap-4":``},OE={sticky:``,"top-0":``,"z-100":``,flex:``,"flex-shrink-0":``,"items-center":``,"gap-2":``},kE={class:`flex-1 text-center text-xl text-neutral-800 font-semibold md:text-left md:text-2xl dark:text-neutral-100`},AE={class:`flex-1 overflow-y-auto`},jE={class:`grid grid-cols-1 gap-3 sm:grid-cols-2`},ME=r({__name:`step-provider-selection`,setup(e){let{t}=it(),n=c(Jx);return(e,r)=>(f(),A(`div`,DE,[j(`div`,OE,[j(`button`,{"outline-none":``,onClick:r[0]||=(...e)=>O(n).handlePreviousStep&&O(n).handlePreviousStep(...e)},[...r[2]||=[j(`div`,{class:`i-solar:alt-arrow-left-line-duotone h-5 w-5`},null,-1)]]),j(`h2`,kE,g(O(t)(`settings.dialogs.onboarding.selectProvider`)),1),r[3]||=j(`div`,{class:`h-5 w-5`},null,-1)]),j(`div`,AE,[j(`div`,jE,[(f(!0),A(re,null,d(O(n).popularProviders.value,e=>(f(),v(O(Ob),{id:e.id,key:e.id,modelValue:O(n).selectedProviderId.value,"onUpdate:modelValue":r[1]||=e=>O(n).selectedProviderId.value=e,name:`provider-selection`,value:e.id,title:e.localizedName||e.id,description:e.localizedDescription||``,onClick:t=>O(n).selectProvider(e)},null,8,[`id`,`modelValue`,`value`,`title`,`description`,`onClick`]))),128))])]),D(O(we),{label:O(t)(`settings.dialogs.onboarding.next`),disabled:!O(n).selectedProviderId.value,onClick:O(n).handleNextStep},null,8,[`label`,`disabled`,`onClick`])]))}}),NE=`/assets/onboarding-S2C4LIWw.avif`,PE={"h-full":``,flex:``,"flex-col":``},FE={class:`mb-2 text-center md:mb-8`,flex:``,"flex-1":``,"flex-col":``,"justify-center":``},IE={initial:{opacity:0,scale:.5},visible:{opacity:1,scale:1},duration:500,class:`mb-1 flex justify-center md:mb-4 lg:pt-16 md:pt-8`},LE=[`src`],RE={initial:{opacity:0,y:10},visible:{opacity:1,y:0},duration:500,class:`mb-0 text-3xl text-neutral-800 font-bold md:mb-2 dark:text-neutral-100`},zE={initial:{opacity:0,y:10},visible:{opacity:1,y:0},duration:500,delay:100,class:`text-sm text-neutral-600 md:text-lg dark:text-neutral-400`},BE=r({__name:`step-welcome`,setup(e){let{t}=it(),n=c(Jx);return(e,r)=>{let i=S(`motion`);return f(),A(`div`,PE,[j(`div`,FE,[le((f(),A(`div`,IE,[j(`img`,{src:O(NE),"max-h":`50`,"aspect-square":``,"h-auto":``,"w-auto":``,"object-cover":``},null,8,LE)])),[[i]]),le((f(),A(`h2`,RE,[m(g(O(t)(`settings.dialogs.onboarding.title`)),1)])),[[i]]),le((f(),A(`p`,zE,[m(g(O(t)(`settings.dialogs.onboarding.description`)),1)])),[[i]])]),le(D(O(we),{initial:{opacity:0},visible:{opacity:1},duration:500,delay:200,label:O(t)(`settings.dialogs.onboarding.start`),onClick:O(n).handleNextStep},null,8,[`label`,`onClick`]),[[i]])])}}}),VE={"h-full":``,"w-full":``},HE=Ie(r({__name:`onboarding`,emits:[`configured`,`skipped`],setup(e,{emit:t}){let n=t,r=M(1),o=M(`next`),{providers:s,allChatProvidersMetadata:c}=De(Qe()),l=et(),{activeProvider:u}=De(l),d=w(()=>{let e=[`openai`,`anthropic`,`google-generative-ai`,`openrouter-ai`,`ollama`,`deepseek`,`player2`,`openai-compatible`];return c.value.filter(t=>e.includes(t.id)).sort((t,n)=>e.indexOf(t.id)-e.indexOf(n.id))}),p=M(``),m=w(()=>c.value.find(e=>e.id===p.value)||null);function h(e){p.value=e.id}function g(){r.value>1&&(o.value=`previous`,r.value--)}async function _(e){if(r.value===3&&e){await y(e),o.value=`next`,r.value++;return}r.value<4?(o.value=`next`,r.value++):b()}async function y(e){if(!m.value)return;let t={};e.apiKey&&(t.apiKey=e.apiKey.trim()),e.baseUrl&&(t.baseUrl=e.baseUrl.trim()),e.accountId&&(t.accountId=e.accountId.trim()),s.value[m.value.id]={...s.value[m.value.id],...t},u.value=m.value.id,await i();try{await l.loadModelsForProvider(m.value.id)}catch(e){console.error(`error`,e)}}async function b(){n(`configured`)}return oe(Jx,{selectedProviderId:p,selectedProvider:m,selectProvider:h,popularProviders:d,handleNextStep:_,handlePreviousStep:g,handleSave:b}),(e,t)=>(f(),A(`div`,VE,[D(ie,{name:o.value===`next`?`slide-next`:`slide-prev`,mode:`out-in`},{default:k(()=>[r.value===1?(f(),v(BE,{key:1})):r.value===2?(f(),v(ME,{key:2})):r.value===3?(f(),v(EE,{key:3})):r.value===4?(f(),v(eS,{key:4})):a(``,!0)]),_:1},8,[`name`])]))}}),[[`__scopeId`,`data-v-52c8a4c7`]]),UE=r({__name:`onboarding-dialog`,props:{modelValue:{type:Boolean,default:!1,required:!1},modelModifiers:{}},emits:_([`configured`,`skipped`],[`update:modelValue`]),setup(e,{emit:t}){let n=t,r=ae(e,`modelValue`),i=Ge(`(min-width: 768px)`),a=Be();return Je(document.documentElement,()=>a.update()),y(()=>a.update()),(e,t)=>O(i)?(f(),v(O(je),{key:0,open:r.value,"onUpdate:open":t[2]||=e=>r.value=e},{default:k(()=>[D(O(Fe),null,{default:k(()=>[D(O(Me),{class:`fixed inset-0 z-9999 bg-black/50 backdrop-blur-sm data-[state=closed]:animate-fadeOut data-[state=open]:animate-fadeIn`}),D(O(Ae),{class:`fixed left-1/2 top-1/2 z-9999 max-h-full max-w-2xl w-[92dvw] transform overflow-y-scroll rounded-2xl bg-white p-6 shadow-xl outline-none backdrop-blur-md scrollbar-none -translate-x-1/2 -translate-y-1/2 data-[state=closed]:animate-contentHide data-[state=open]:animate-contentShow dark:bg-neutral-900`},{default:k(()=>[D(O(Te),null,{default:k(()=>[D(O(Ne),null,{default:k(()=>[...t[6]||=[m(`Onboarding`,-1)]]),_:1})]),_:1}),D(HE,{onConfigured:t[0]||=e=>n(`configured`),onSkipped:t[1]||=e=>n(`skipped`)})]),_:1})]),_:1})]),_:1},8,[`open`])):(f(),v(O(fe),{key:1,open:r.value,"should-scale-background":``,"onUpdate:open":t[5]||=e=>r.value=e},{default:k(()=>[D(O(Fe),null,{default:k(()=>[D(O(ge),{class:`fixed inset-0`}),D(O(_e),{class:`fixed bottom-0 left-0 right-0 z-1000 mt-20 h-full max-h-[96%] flex flex-col rounded-t-2xl bg-neutral-50 px-4 pt-4 outline-none backdrop-blur-md dark:bg-neutral-900/95`,style:p({paddingBottom:`${Math.max(Number.parseFloat(O(a).bottom.value.replace(`px`,``)),24)}px`})},{default:k(()=>[D(O(he)),D(HE,{onConfigured:t[3]||=e=>n(`configured`),onSkipped:t[4]||=e=>n(`skipped`)})]),_:1},8,[`style`])]),_:1})]),_:1},8,[`open`]))}}),WE=[`onClick`],GE={class:E([`rounded-md p-2 w-full`,`bg-neutral-100/80 text-sm text-neutral-800 dark:bg-neutral-900/80 dark:text-neutral-200`])},KE={class:`whitespace-pre-wrap break-words font-mono`},qE=r({__name:`ChatToolCallBlock`,props:{toolName:{},args:{}},setup(e){let t=e,n=w(()=>{try{let e=JSON.parse(t.args);return JSON.stringify(e,null,2).trim()}catch{return t.args}});return(t,r)=>(f(),v(me,{class:E([`bg-primary-100/40 dark:bg-primary-900/60 rounded-lg px-2 pb-2 pt-2`,`flex flex-col gap-2 items-start`])},{trigger:k(({visible:t,setVisible:n})=>[j(`button`,{class:E([`w-full text-start`]),onClick:e=>n(!t)},[r[0]||=j(`div`,{"i-solar:sledgehammer-bold-duotone":``,class:`mr-1 inline-block translate-y-1 op-50`},null,-1),j(`code`,null,g(e.toolName),1)],8,WE)]),default:k(()=>[j(`div`,GE,[j(`div`,KE,g(n.value),1)])]),_:1}))}}),JE={"text-sm":``,text:`black/60 dark:white/65`,"font-normal":``,class:`inline {if(t.message.slices?.length)return t.message.slices;if(typeof t.message.content==`string`&&t.message.content.trim())return[{type:`text`,text:t.message.content}];if(Array.isArray(t.message.content)){let e=t.message.content.find(e=>`type`in e&&e.type===`text`);if(e?.text)return[{type:`text`,text:e.text}]}return[]}),r=w(()=>t.showPlaceholder&&n.value.length===0),i=w(()=>t.variant===`mobile`?`mr-0`:`mr-12`),o=w(()=>[t.variant===`mobile`?`px-2 py-2 text-sm bg-primary-50/90 dark:bg-primary-950/90`:`px-3 py-3 bg-primary-50/80 dark:bg-primary-950/80`]);return(t,s)=>(f(),A(`div`,{flex:``,class:E(i.value)},[j(`div`,{flex:`~ col`,shadow:`sm primary-200/50 dark:none`,"min-w-20":``,"rounded-xl":``,h:`unset 0?(f(),A(`div`,YE,[(f(!0),A(re,null,d(n.value,(e,t)=>(f(),A(re,{key:t},[e.type===`tool-call`?(f(),v(qE,{key:0,"tool-name":e.toolCall.toolName,args:e.toolCall.args,class:`mb-2`},null,8,[`tool-name`,`args`])):e.type===`tool-call-result`?(f(),A(re,{key:1},[],64)):e.type===`text`?(f(),v(sb,{key:2,content:e.text},null,8,[`content`])):a(``,!0)],64))),128))])):r.value?(f(),A(`div`,XE)):a(``,!0)],2)],2))}}),QE={flex:`~ row`,"gap-2":``},$E={"flex-1":``,class:`inline [t.variant===`mobile`?`px-2 py-2 text-sm`:`px-3 py-3`]);return(t,r)=>(f(),A(`div`,{flex:``,class:E(e.variant===`mobile`?`mr-0`:`mr-12`)},[j(`div`,{flex:`~ col`,shadow:`sm violet-200/50 dark:none`,"min-w-20":``,"rounded-xl":``,h:`unset {let e=t.message.content;if(typeof e==`string`)return e;if(Array.isArray(e)){let t=e.find(e=>`type`in e&&e.type===`text`);return t?.text?t.text:e.map(e=>JSON.stringify(e)).join(`
-`)}return``}),r=w(()=>[`flex`,t.variant===`mobile`?`ml-0 flex-row`:`ml-12 flex-row-reverse`]),i=w(()=>[t.variant===`mobile`?`px-2 py-2 text-sm bg-neutral-100/90 dark:bg-neutral-800/90`:`px-3 py-3 bg-neutral-100/80 dark:bg-neutral-800/80`]);return(t,o)=>e.message.role===`user`?(f(),A(`div`,{key:0,class:E(r.value)},[j(`div`,{flex:`~ col`,shadow:`sm neutral-200/50 dark:none`,"min-w-20":``,"rounded-xl":``,h:`unset ({assistant:t.assistantLabel??r(`stage.chat.message.character-name.airi`),user:t.userLabel??r(`stage.chat.message.character-name.you`),error:t.errorLabel??r(`stage.chat.message.character-name.core-system`)}));function o(){requestAnimationFrame(()=>{requestAnimationFrame(()=>{n.value&&(n.value.scrollTop=n.value.scrollHeight)})})}ee(()=>t.messages,()=>o(),{deep:!0,flush:`post`}),ee(()=>t.streamingMessage,()=>o(),{deep:!0,flush:`post`}),ee(()=>t.sending,()=>o(),{flush:`post`}),y(()=>o());let s=w(()=>t.streamingMessage??{role:`assistant`,content:``,slices:[],tool_results:[]}),c=w(()=>(s.value.slices?.length??0)===0&&!s.value.content);return(t,r)=>{let o=S(`auto-animate`);return le((f(),A(`div`,{ref_key:`chatHistoryRef`,ref:n,flex:`~ col`,relative:``,"h-full":``,"w-full":``,"overflow-y-auto":``,"rounded-xl":``,px:`(f(),A(re,{key:n},[t.role===`error`?(f(),A(`div`,aD,[D(nD,{message:t,label:i.value.error,"show-placeholder":e.sending&&n===e.messages.length-1,variant:e.variant},null,8,[`message`,`label`,`show-placeholder`,`variant`])])):t.role===`assistant`?(f(),A(`div`,oD,[D(ZE,{message:t,label:i.value.assistant,variant:e.variant},null,8,[`message`,`label`,`variant`])])):t.role===`user`?(f(),A(`div`,sD,[D(iD,{message:t,label:i.value.user,variant:e.variant},null,8,[`message`,`label`,`variant`])])):a(``,!0)],64))),128)),e.sending?(f(),A(`div`,cD,[D(ZE,{message:s.value,label:i.value.assistant,"show-placeholder":c.value,variant:e.variant},null,8,[`message`,`label`,`show-placeholder`,`variant`])])):a(``,!0)],2)),[[o]])}}}),uD={class:`w-full flex cursor-pointer items-center justify-between rounded-lg px-4 py-3 text-sm outline-none transition-all duration-250 ease-in-out`,bg:`neutral-50 dark:neutral-800`,hover:`bg-neutral-200 dark:bg-neutral-700`},dD={key:0,text:`sm neutral-500`},fD=r({__name:`Bar`,props:{text:{},description:{}},setup(e){return(t,n)=>(f(),A(`label`,uD,[j(`div`,null,[m(g(t.$t(e.text))+` `,1),e.description?(f(),A(`div`,dD,g(t.$t(e.description)),1)):a(``,!0)]),x(t.$slots,`default`)]))}}),pD=[`aria-checked`],mD=r({__name:`CheckBar`,props:_({text:{},iconOn:{},iconOff:{},description:{}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=ae(e,`modelValue`);return(n,r)=>(f(),v(fD,{text:e.text,description:e.description},{default:k(()=>[le(j(`input`,{"onUpdate:modelValue":r[0]||=e=>t.value=e,"aria-checked":t.value,type:`checkbox`,hidden:``},null,8,pD),[[C,t.value]]),D(ie,{name:`slide-away`,mode:`out-in`},{default:k(()=>[t.value?(f(),A(`div`,{key:0,class:E(e.iconOn),transition:`all ease-in-out duration-250`},null,2)):(f(),A(`div`,{key:1,class:E(e.iconOff),transition:`all ease-in-out duration-250`},null,2))]),_:1})]),_:1},8,[`text`,`description`]))}});const hD=Symbol(`ToasterRoot`);var gD=r({__name:`ToasterRoot`,emits:[`close`],setup(e,{emit:t}){let n=t;return oe(hD,{close:e=>n(`close`,e)}),(e,t)=>x(e.$slots,`default`)}});export{zx as $,iC as A,CS as B,ew as C,yt as Ct,NC as D,BC as E,aC as F,mS as G,GS as H,AC as I,oS as J,fS as K,OC as L,nC as M,tC as N,DC as O,rC as P,Bx as Q,QS as R,_w as S,Ct as St,GC as T,SS as U,kS as V,gS as W,tS as X,aS as Y,qx as Z,Qw as _,db as _t,_E as a,kx as at,Cw as b,Lt as bt,$T as c,wx as ct,jT as d,ux as dt,Rx as et,lT as f,cx as ft,nT as g,bb as gt,dT as h,jb as ht,UE as i,Ax as it,oC as j,jC as k,QT as l,gx as lt,uT as m,Rb as mt,mD as n,Px as nt,pE as o,Ox as ot,cT as p,Vb as pt,sS as q,lD as r,jx as rt,tE as s,Dx as st,gD as t,Fx as tt,GT as u,dx as ut,Xw as v,on as vt,ZC as w,ht as wt,xw as x,jt as xt,Rw as y,tn as yt,YS as z};
\ No newline at end of file
+`},i)),a}function hy(e,t){return e&&`run`in e?async function(n,r){let i=my(n,{file:r,...t});await e.run(i,r)}:function(n,r){return my(n,{file:r,...e||t})}}function gy(e){if(e)throw e}var _y=n(((e,t)=>{var n=Object.prototype.hasOwnProperty,r=Object.prototype.toString,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=function(e){return typeof Array.isArray==`function`?Array.isArray(e):r.call(e)===`[object Array]`},s=function(e){if(!e||r.call(e)!==`[object Object]`)return!1;var t=n.call(e,`constructor`),i=e.constructor&&e.constructor.prototype&&n.call(e.constructor.prototype,`isPrototypeOf`);if(e.constructor&&!t&&!i)return!1;for(var a in e);return a===void 0||n.call(e,a)},c=function(e,t){i&&t.name===`__proto__`?i(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},l=function(e,t){if(t===`__proto__`)if(n.call(e,t)){if(a)return a(e,t).value}else return;return e[t]};t.exports=function e(){var t,n,r,i,a,u,d=arguments[0],f=1,p=arguments.length,m=!1;for(typeof d==`boolean`&&(m=d,d=arguments[1]||{},f=2),(d==null||typeof d!=`object`&&typeof d!=`function`)&&(d={});ft.length,o;r&&t.push(i);try{o=e.apply(this,t)}catch(e){let t=e;if(r&&n)throw t;return i(t)}r||(o&&o.then&&typeof o.then==`function`?o.then(a,i):o instanceof Error?i(o):a(o))}function i(e,...r){n||(n=!0,t(e,...r))}function a(e){i(null,e)}}var xy=class extends Error{constructor(e,t,n){super(),typeof t==`string`&&(n=t,t=void 0);let r=``,i={},a=!1;if(t&&(i=`line`in t&&`column`in t||`start`in t&&`end`in t?{place:t}:`type`in t?{ancestors:[t],place:t.position}:{...t}),typeof e==`string`?r=e:!i.cause&&e&&(a=!0,r=e.message,i.cause=e),!i.ruleId&&!i.source&&typeof n==`string`){let e=n.indexOf(`:`);e===-1?i.ruleId=n:(i.source=n.slice(0,e),i.ruleId=n.slice(e+1))}if(!i.place&&i.ancestors&&i.ancestors){let e=i.ancestors[i.ancestors.length-1];e&&(i.place=e.position)}let o=i.place&&`start`in i.place?i.place.start:i.place;this.ancestors=i.ancestors||void 0,this.cause=i.cause||void 0,this.column=o?o.column:void 0,this.fatal=void 0,this.file,this.message=r,this.line=o?o.line:void 0,this.name=Q_(i.place)||`1:1`,this.place=i.place||void 0,this.reason=this.message,this.ruleId=i.ruleId||void 0,this.source=i.source||void 0,this.stack=a&&i.cause&&typeof i.cause.stack==`string`?i.cause.stack:``,this.actual,this.expected,this.note,this.url}};xy.prototype.file=``,xy.prototype.name=``,xy.prototype.reason=``,xy.prototype.message=``,xy.prototype.stack=``,xy.prototype.column=void 0,xy.prototype.line=void 0,xy.prototype.ancestors=void 0,xy.prototype.cause=void 0,xy.prototype.fatal=void 0,xy.prototype.place=void 0,xy.prototype.ruleId=void 0,xy.prototype.source=void 0;const Sy={basename:Cy,dirname:wy,extname:Ty,join:Ey,sep:`/`};function Cy(e,t){if(t!==void 0&&typeof t!=`string`)throw TypeError(`"ext" argument must be a string`);ky(e);let n=0,r=-1,i=e.length,a;if(t===void 0||t.length===0||t.length>e.length){for(;i--;)if(e.codePointAt(i)===47){if(a){n=i+1;break}}else r<0&&(a=!0,r=i+1);return r<0?``:e.slice(n,r)}if(t===e)return``;let o=-1,s=t.length-1;for(;i--;)if(e.codePointAt(i)===47){if(a){n=i+1;break}}else o<0&&(a=!0,o=i+1),s>-1&&(e.codePointAt(i)===t.codePointAt(s--)?s<0&&(r=i):(s=-1,r=o));return n===r?r=o:r<0&&(r=e.length),e.slice(n,r)}function wy(e){if(ky(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||=!0;return t<0?e.codePointAt(0)===47?`/`:`.`:t===1&&e.codePointAt(0)===47?`//`:e.slice(0,t)}function Ty(e){ky(e);let t=e.length,n=-1,r=0,i=-1,a=0,o;for(;t--;){let s=e.codePointAt(t);if(s===47){if(o){r=t+1;break}continue}n<0&&(o=!0,n=t+1),s===46?i<0?i=t:a!==1&&(a=1):i>-1&&(a=-1)}return i<0||n<0||a===0||a===1&&i===n-1&&i===r+1?``:e.slice(i,n)}function Ey(...e){let t=-1,n;for(;++t0&&e.codePointAt(e.length-1)===47&&(n+=`/`),t?`/`+n:n}function Oy(e,t){let n=``,r=0,i=-1,a=0,o=-1,s,c;for(;++o<=e.length;){if(o2){if(c=n.lastIndexOf(`/`),c!==n.length-1){c<0?(n=``,r=0):(n=n.slice(0,c),r=n.length-1-n.lastIndexOf(`/`)),i=o,a=0;continue}}else if(n.length>0){n=``,r=0,i=o,a=0;continue}}t&&(n=n.length>0?n+`/..`:`..`,r=2)}else n.length>0?n+=`/`+e.slice(i+1,o):n=e.slice(i+1,o),r=o-i-1;i=o,a=0}else s===46&&a>-1?a++:a=-1}return n}function ky(e){if(typeof e!=`string`)throw TypeError(`Path must be a string. Received `+JSON.stringify(e))}const Ay={cwd:jy};function jy(){return`/`}function My(e){return!!(typeof e==`object`&&e&&`href`in e&&e.href&&`protocol`in e&&e.protocol&&e.auth===void 0)}function Ny(e){if(typeof e==`string`)e=new URL(e);else if(!My(e)){let t=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:`){let e=TypeError(`The URL must be of scheme file`);throw e.code=`ERR_INVALID_URL_SCHEME`,e}return Py(e)}function Py(e){if(e.hostname!==``){let e=TypeError(`File URL host must be "localhost" or empty on darwin`);throw e.code=`ERR_INVALID_FILE_URL_HOST`,e}let t=e.pathname,n=-1;for(;++n0){let[r,...a]=t,o=n[i][1];vy(o)&&vy(r)&&(r=(0,Hy.default)(!0,o,r)),n[i]=[e,r,...a]}}}}().freeze();function Gy(e,t){if(typeof t!=`function`)throw TypeError("Cannot `"+e+"` without `parser`")}function Ky(e,t){if(typeof t!=`function`)throw TypeError("Cannot `"+e+"` without `compiler`")}function qy(e,t){if(t)throw Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function Jy(e){if(!vy(e)||typeof e.type!=`string`)throw TypeError("Expected node, got `"+e+"`")}function Yy(e,t,n){if(!n)throw Error("`"+e+"` finished async. Use `"+t+"` instead")}function Xy(e){return Zy(e)?e:new Iy(e)}function Zy(e){return!!(e&&typeof e==`object`&&`message`in e&&`messages`in e)}function Qy(e){return typeof e==`string`||$y(e)}function $y(e){return!!(e&&typeof e==`object`&&`byteLength`in e&&`byteOffset`in e)}var eb=new Map,tb=/```(.{2,})\s/g;function nb(e){let t=e.matchAll(tb),n=new Set;n.add(`python`);for(let e of t)e[1]&&n.add(e[1]);return[...n]}async function rb(e){let t={themes:{light:`github-light`,dark:`github-dark`},langs:e,defaultLanguage:e[0]||`python`};return Wy().use(lv).use(_h).use(hy).use(Wm,{output:`mathml`}).use(sc,t).use(Gm)}function ib(e){let t=[...e].sort().join(`,`);if(!eb.has(t)){let n=rb(e);eb.set(t,n)}return eb.get(t)}function ab(){let e=Wy().use(lv).use(_h).use(hy).use(Wm,{output:`mathml`}).use(Gm);return{process:async t=>{try{if(!/`{3,}/.test(t))return e.processSync(t).toString();let n=nb(t),r=new Set(n);return r.add(`python`),(await(await ib(Array.from(r))).process(t)).toString()}catch(n){return console.warn(`Failed to process markdown with syntax highlighting, falling back to basic processing:`,n),e.processSync(t).toString()}},processSync:t=>e.processSync(t).toString()}}var ob=[`innerHTML`],sb=Ie(r({__name:`MarkdownRenderer`,props:{content:{},class:{}},setup(e){let t=e,n=M(``),{process:r,processSync:i}=ab();async function a(){if(!t.content){n.value=``;return}try{n.value=rt.sanitize(await r(t.content))}catch(e){console.warn(`Failed to process markdown with syntax highlighting, using fallback:`,e),n.value=rt.sanitize(i(t.content))}}return ee(()=>t.content,a,{immediate:!0}),y(()=>{a()}),(e,r)=>(f(),A(`div`,{class:E([t.class,`markdown-content`]),innerHTML:n.value},null,10,ob))}}),[[`__scopeId`,`data-v-abd97585`]]),cb={"z-1":``,"flex-1":``},lb={"text-lg":``,"font-normal":``,class:`menu-icon-item-title`,transition:`all ease-in-out duration-400`},ub={text:`sm neutral-500 dark:neutral-400`,class:`menu-icon-item-description`,transition:`all ease-in-out duration-400`},db=Ie(r({__name:`IconItem`,props:{title:{},description:{},icon:{},iconTemplate:{type:Boolean},to:{}},setup(e){return(t,n)=>{let r=b(`RouterLink`);return f(),v(r,{box:`border`,flex:`~ row`,bg:`neutral-50 dark:neutral-900`,border:`neutral-100 dark:neutral-800/25 hover:primary-500/30 dark:hover:primary-400/30 solid 2`,"drop-shadow":`none hover:[0px_4px_4px_rgba(220,220,220,0.4)] active:[0px_0px_0px_rgba(220,220,220,0.25)] dark:hover:none`,class:`menu-icon-item`,transition:`all ease-in-out duration-400`,relative:``,"w-full":``,"items-center":``,"overflow-hidden":``,"rounded-lg":``,"p-5":``,"text-left":``,cursor:`pointer`,to:e.to},{default:k(()=>[j(`div`,cb,[j(`div`,lb,g(e.title),1),j(`div`,ub,[j(`span`,null,g(e.description),1)])]),typeof e.icon==`string`?(f(),A(`div`,{key:0,class:E([`menu-icon-item-icon`,[e.icon]]),transition:`all ease-in-out duration-400`,absolute:``,"right-0":``,"size-24":``,"translate-y-4":``,text:`neutral-400/50 dark:neutral-600/50`},null,2)):a(``,!0),e.iconTemplate?x(t.$slots,`icon`,{key:1},void 0,!0):a(``,!0)]),_:3},8,[`to`])}}}),[[`__scopeId`,`data-v-47e0db94`]]),fb={flex:`~ col`,bg:`neutral-50 dark:neutral-800`,border:`neutral-100 dark:neutral-800/25 hover:primary-500/30 dark:hover:primary-400/30 solid 2`,"drop-shadow":`none hover:[0px_4px_4px_rgba(220,220,220,0.4)] active:[0px_0px_0px_rgba(220,220,220,0.25)] dark:hover:none`,class:`menu-icon-status-item`,transition:`all ease-in-out duration-400`,"w-full":``,"cursor-pointer":``,"of-hidden":``,"rounded-xl":``},pb={"z-1":``,"flex-1":``},mb={"text-lg":``,"font-normal":``,class:`menu-icon-status-item-title`,transition:`all ease-in-out duration-400`},hb={text:`sm neutral-500 dark:neutral-400`,class:`menu-icon-status-item-description`,transition:`all ease-in-out duration-400`},gb=[`src`],_b={"p-2":``},vb={key:0,"size-4":``,bg:`green-500`,"rounded-full":``,shadow:`lg`},yb={key:1,"size-4":``,border:`2 neutral-200 dark:neutral-700`,"rounded-full":``,bg:`white dark:neutral-900`},bb=Ie(r({__name:`IconStatusItem`,props:{title:{},description:{},icon:{},iconColor:{},iconImage:{},to:{},configured:{type:Boolean}},setup(e){let t=e;return(e,n)=>{let r=b(`RouterLink`);return f(),A(`div`,fb,[D(r,{flex:`~ row`,class:`menu-icon-status-item-link`,bg:`white dark:neutral-900`,transition:`all ease-in-out duration-400`,relative:``,"h-full":``,"w-full":``,"items-center":``,"overflow-hidden":``,"rounded-lg":``,"p-5":``,"text-left":``,to:t.to},{default:k(()=>[j(`div`,pb,[j(`div`,mb,g(t.title),1),j(`div`,hb,[j(`span`,null,g(t.description||``),1)])]),t.icon?(f(),A(`div`,{key:0,class:E([`menu-icon-status-item-icon`,t.icon]),transition:`all ease-in-out duration-400`,absolute:``,"right-0":``,"size-16":``,"translate-y-2":``,text:`neutral-400/50 dark:neutral-600/50`,"grayscale-100":``},null,2)):a(``,!0),t.iconColor?(f(),A(`div`,{key:1,class:E([`menu-icon-status-item-icon-color`,[t.iconColor]]),transition:`all ease-in-out duration-400`,absolute:``,"right-0":``,"size-16":``,"translate-y-2":``,text:`neutral-400/50 dark:neutral-600/50`,"grayscale-100":``},null,2)):a(``,!0),t.iconImage?(f(),A(`img`,{key:2,src:t.iconImage,class:`menu-icon-status-item-icon-image`,transition:`all ease-in-out duration-400`,absolute:``,"right-0":``,"size-16":``,"translate-y-2":``,"grayscale-100":``},null,8,gb)):a(``,!0)]),_:1},8,[`to`]),j(`div`,_b,[t.configured?(f(),A(`div`,vb)):(f(),A(`div`,yb))])])}}}),[[`__scopeId`,`data-v-a19e8ff9`]]),xb=[`checked`,`name`,`value`],Sb={class:`relative mr-3 mt-0.5 flex-shrink-0`},Cb={class:`w-full flex flex-col gap-2`},wb={class:`flex items-center`},Tb={key:0,class:`relative`},Eb=[`title`],Db={key:1,class:`mt-2`},Ob=Ie(r({__name:`RadioCardDetail`,props:_({id:{},name:{},value:{},title:{},description:{},deprecated:{type:Boolean,default:!1},showExpandCollapse:{type:Boolean,default:!0},expandCollapseThreshold:{default:100},customInputValue:{default:``},customInputPlaceholder:{default:``},showCustomInput:{type:Boolean,default:!1}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=ae(e,`modelValue`),n=M(!1);function r(){n.value=!n.value}return(i,o)=>(f(),A(`label`,{key:e.id,class:E([`form_radio-card-detail relative flex cursor-pointer items-start rounded-xl p-3 pr-[20px]`,[t.value===e.value?`bg-primary-50 dark:bg-primary-900/20 border-primary-100 dark:border-primary-900 hover:border-primary-500/30 dark:hover:border-primary-400/30`:`bg-white dark:bg-neutral-900/20 border-neutral-100 dark:border-neutral-900 hover:border-primary-500/30 dark:hover:border-primary-400/30`,t.value===e.value?`form_radio-card-detail-active`:``,e.deprecated?`opacity-60`:``]]),transition:`all duration-200 ease-in-out`,border:`2 solid`},[le(j(`input`,{"onUpdate:modelValue":o[0]||=e=>t.value=e,checked:t.value===e.value,type:`radio`,name:e.name,value:e.value,class:`absolute opacity-0`},null,8,xb),[[ce,t.value]]),j(`div`,Sb,[j(`div`,{class:E([`size-5 border-2 rounded-full transition-colors duration-200`,[t.value===e.value?`border-primary-500 dark:border-primary-400`:`border-neutral-300 dark:border-neutral-600`]])},[j(`div`,{class:E([`absolute left-1/2 top-1/2 size-3 rounded-full transition-opacity duration-200 -translate-x-1/2 -translate-y-1/2`,[t.value===e.value?`opacity-100 bg-primary-500 dark:bg-primary-400`:`opacity-0`]])},null,2)],2)]),j(`div`,Cb,[j(`div`,wb,[j(`span`,{class:E([`line-clamp-1 font-normal`,[t.value===e.value?`text-neutral-700 dark:text-neutral-300`:`text-neutral-700 dark:text-neutral-400`]])},g(e.title),3)]),e.description?(f(),A(`div`,Tb,[D(O(de),null,{default:k(()=>[!n.value||!e.showExpandCollapse?(f(),A(`div`,{key:0,class:E([`line-clamp-2 cursor-pointer text-xs`,[t.value===e.value?`text-neutral-600 dark:text-neutral-400`:`text-neutral-500 dark:text-neutral-500`]]),title:e.description,onClick:T(r,[`prevent`])},g(e.description),11,Eb)):(f(),A(`div`,{key:1,class:E([`cursor-pointer text-xs`,[t.value===e.value?`text-neutral-600 dark:text-neutral-400`:`text-neutral-500 dark:text-neutral-500`]]),onClick:T(r,[`prevent`])},g(e.description),3))]),_:1}),e.showExpandCollapse&&e.description.length>e.expandCollapseThreshold?(f(),A(`button`,{key:0,class:`mt-0.5 inline-flex items-center text-xs text-primary-500 dark:text-primary-600`,onClick:T(r,[`prevent`])},[j(`span`,null,g(n.value?`Show less`:`Show more`),1),j(`div`,{class:E([{"rotate-180":n.value},`transition-transform duration-200`])},[...o[2]||=[j(`div`,{"i-solar:alt-arrow-down-linear":``,"ml-0.5":``,"text-xs":``},null,-1)]],2)])):a(``,!0)])):a(``,!0),e.showCustomInput&&t.value===e.value?(f(),A(`div`,Db,[D(O(xe),{modelValue:t.value,"onUpdate:modelValue":o[1]||=e=>t.value=e,type:`text`,class:`w-full border border-neutral-300 rounded bg-white px-2 py-1 text-sm dark:border-neutral-700 dark:bg-neutral-900`,placeholder:e.customInputPlaceholder},null,8,[`modelValue`,`placeholder`])])):a(``,!0)])],2))}}),[[`__scopeId`,`data-v-a2eb6bd0`]]),kb={class:`flex items-center gap-1.5 font-medium`},Ab={key:0,class:`px-1 text-sm`},jb=r({__name:`Alert`,props:{type:{}},setup(e){let t=e,n=se(),r=w(()=>{switch(t.type){case`error`:return`border-red-200 bg-red-50 dark:border-red-800/30 dark:bg-red-900/20`;case`warning`:return`border-amber-200 bg-amber-50 dark:border-amber-800/30 dark:bg-amber-900/20`;case`success`:return`border-green-200 bg-green-50 dark:border-green-800/30 text-green-700 dark:bg-green-900/30 dark:text-green-300`;case`info`:return`border-blue-200 bg-blue-50 dark:border-blue-800/30 text-blue-700 dark:bg-blue-900/30 dark:text-blue-300`;case`loading`:return`border-blue-200 bg-blue-50 dark:border-blue-800/30 text-blue-700 dark:bg-blue-900/30 dark:text-blue-300`}return``}),i=w(()=>{switch(t.type){case`error`:return`i-solar:close-circle-bold-duotone text-red-500 dark:text-red-400`;case`warning`:return`i-solar:danger-circle-bold-duotone text-amber-500 dark:text-amber-400`;case`success`:return`i-solar:check-circle-bold-duotone text-green-500 dark:text-green-400`;case`info`:return`i-solar:info-circle-bold-duotone text-blue-500 dark:text-blue-400`;case`loading`:return`i-svg-spinners:3-dots-fade text-blue-500 dark:text-blue-400`}return``}),o=w(()=>{switch(t.type){case`error`:return`text-red-500 dark:text-red-400`;case`warning`:return`text-amber-500 dark:text-amber-400`;case`success`:return`text-green-500 dark:text-green-400`;case`info`:return`text-blue-500 dark:text-blue-400`;case`loading`:return`text-blue-500 dark:text-blue-400`}return``});return(e,t)=>(f(),A(`div`,{class:E([`flex flex-col gap-3 border-2 rounded-xl border-solid p-2`,r.value])},[j(`div`,kb,[j(`div`,{class:E([`text-2xl`,i.value])},null,2),j(`div`,{class:E(o.value)},[x(e.$slots,`title`)],2)]),O(n).content?(f(),A(`div`,Ab,[x(e.$slots,`content`)])):a(``,!0)],2))}}),Mb={class:`radio-card-detail-many-select`},Nb={key:0,class:`relative`,"inline-flex":`~`,"w-full":``,"items-center":``},Pb=[`placeholder`],Fb={class:`mt-4 space-y-2`},Ib={key:0,class:`text-sm text-neutral-500 dark:text-neutral-400`},Lb={class:`relative`},Rb=Ie(r({__name:`RadioCardManySelect`,props:_({items:{},searchable:{type:Boolean,default:!0},searchPlaceholder:{default:`Search...`},searchNoResultsTitle:{default:`No results found`},searchNoResultsDescription:{default:`Try a different search term`},searchResultsText:{default:`{count} of {total} results`},customInputPlaceholder:{default:`Enter custom value`},expandButtonText:{default:`Show more`},collapseButtonText:{default:`Show less`},showMore:{type:Boolean,default:!0},listClass:{default:``}},{modelValue:{required:!0},modelModifiers:{},searchQuery:{},searchQueryModifiers:{}}),emits:_([`update:customValue`],[`update:modelValue`,`update:searchQuery`]),setup(e,{emit:t}){let n=e,r=t,i=ae(e,`modelValue`),o=ae(e,`searchQuery`),s=M(!1),c=M(``),l=w(()=>{if(!o.value)return n.items;let e=o.value.toLowerCase();return n.items.filter(t=>t.name.toLowerCase().includes(e)||t.description&&t.description.toLowerCase().includes(e))});function u(e){c.value=e,r(`update:customValue`,e)}return(t,r)=>(f(),A(`div`,Mb,[e.searchable?(f(),A(`div`,Nb,[r[4]||=j(`div`,{class:`pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3`},[j(`div`,{"i-solar:magnifer-line-duotone":``,class:`text-neutral-500 dark:text-neutral-400`})],-1),le(j(`input`,{"onUpdate:modelValue":r[0]||=e=>o.value=e,type:`search`,class:`w-full rounded-xl p-2.5 pl-10 text-sm outline-none`,border:`focus:primary-100 dark:focus:primary-400/50 2 solid neutral-200 dark:neutral-800`,transition:`all duration-200 ease-in-out`,bg:`white dark:neutral-900`,placeholder:e.searchPlaceholder},null,8,Pb),[[ne,o.value]])])):a(``,!0),j(`div`,Fb,[o.value?(f(),A(`div`,Ib,g(e.searchResultsText.replace(`{count}`,l.value.length.toString()).replace(`{total}`,e.items.length.toString())),1)):a(``,!0),o.value&&l.value.length===0?(f(),v(jb,{key:1,type:`warning`},{title:k(()=>[m(g(e.searchNoResultsTitle),1)]),content:k(()=>[m(g(e.searchNoResultsDescription.replace(`{query}`,o.value)),1)]),_:1})):a(``,!0),j(`div`,Lb,[j(`div`,{class:E([`grid auto-cols-[350px] grid-flow-col gap-4 overflow-x-auto pb-4 scrollbar-none`,[s.value?`grid-cols-1 md:grid-cols-2 grid-flow-row auto-cols-auto`:``,...n.listClass?typeof n.listClass==`string`?[n.listClass]:n.listClass:[`max-h-[calc(100dvh-7lh)]`]]]),transition:`all duration-200 ease-in-out`,style:{"scroll-snap-type":`x mandatory`}},[(f(!0),A(re,null,d(l.value,t=>(f(),v(Ob,{id:t.id,key:t.id,modelValue:i.value,"onUpdate:modelValue":r[1]||=e=>i.value=e,value:t.id,title:t.name,description:t.description,deprecated:t.deprecated,"show-expand-collapse":e.showMore,"expand-collapse-threshold":100,"show-custom-input":t.customizable,"custom-input-value":c.value,"custom-input-placeholder":e.customInputPlaceholder,name:`radio-card-detail-many-select`,class:`scroll-snap-align-start`,"onUpdate:customInputValue":r[2]||=e=>u(e)},null,8,[`id`,`modelValue`,`value`,`title`,`description`,`deprecated`,`show-expand-collapse`,`show-custom-input`,`custom-input-value`,`custom-input-placeholder`]))),128))],2),j(`div`,{bg:`neutral-100 dark:[rgba(0,0,0,0.3)]`,"rounded-xl":``,class:E([s.value?`w-full`:`mt-4 w-full rounded-lg`])},[j(`button`,{"w-full":``,flex:``,"items-center":``,"justify-center":``,"gap-2":``,"rounded-lg":``,"py-2":``,transition:`all duration-200 ease-in-out`,class:E([s.value?`bg-primary-500 hover:bg-primary-600 text-white`:`bg-white dark:bg-neutral-900 hover:bg-neutral-100 dark:hover:bg-neutral-800`]),onClick:r[3]||=e=>s.value=!s.value},[j(`span`,null,g(s.value?e.collapseButtonText:e.expandButtonText),1),j(`div`,{class:E([s.value?`rotate-180`:``,`text-lg`]),"i-solar:alt-arrow-down-linear":``,transition:`transform duration-200 ease-in-out`},null,2)],2)],2)])])]))}}),[[`__scopeId`,`data-v-96f33af6`]]),zb=[`checked`,`name`,`value`],Bb={flex:`~ col`,"min-h-16":``,"w-full":``,"items-start":``,"justify-center":``,"pb-2":``,"pl-5":``,"pr-4":``,"pt-2":``},Vb=Ie(r({__name:`RadioCardSimple`,props:_({id:{},name:{},value:{},title:{},description:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=ae(e,`modelValue`);return(n,r)=>(f(),A(`label`,{key:e.id,border:`2px solid`,class:E([`form_radio-card-simple relative`,[t.value===e.value?`bg-primary-50 dark:bg-primary-900/20 border-primary-100 dark:border-primary-900 hover:border-primary-500/30 dark:hover:border-primary-400/30`:`bg-white dark:bg-neutral-900/20 border-neutral-100 dark:border-neutral-900 hover:border-primary-500/30 dark:hover:border-primary-400/30`,t.value===e.value?`form_radio-card-simple-active`:``]]),transition:`all duration-200 ease-in-out`,flex:`~ col`,block:``,"min-w-50":``,"w-fit":``,"cursor-pointer":``,"items-start":``,"rounded-xl":``,"p-4":``,"text-left":``},[le(j(`input`,{"onUpdate:modelValue":r[0]||=e=>t.value=e,checked:t.value===e.value,type:`radio`,name:e.name,value:e.value,class:`absolute opacity-0 [&:checked+div]:border-primary-500 [&:checked+div_.radio-dot]:opacity-100 dark:[&:checked+div]:border-primary-400`},null,8,zb),[[ce,t.value]]),r[1]||=j(`div`,{class:`radio-circle absolute left-2 top-2 size-5 rounded-full`,border:`2 solid neutral-300 dark:neutral-600`,transition:`all duration-200 ease-in-out`},[j(`div`,{class:`radio-dot absolute left-1/2 top-1/2 size-3 rounded-full opacity-0 -translate-x-1/2 -translate-y-1/2`,transition:`all duration-200 ease-in-out`,bg:`primary-500 dark:primary-400`})],-1),j(`div`,Bb,[j(`span`,{class:E([`radio-item-name font-normal`,[t.value===e.value?`text-neutral-700 dark:text-neutral-300`:`text-neutral-500 dark:text-neutral-500`]]),text:`md`,transition:`all duration-200 ease-in-out`},g(e.title),3),e.description?(f(),A(`span`,{key:0,class:E([`radio-item-description`,[t.value===e.value?`text-neutral-600 dark:text-neutral-400`:`text-neutral-400 dark:text-neutral-600`]]),transition:`all duration-200 ease-in-out`},g(e.description),3)):a(``,!0)]),r[2]||=j(`div`,{class:`bg-dotted-neutral-200/80 dark:bg-dotted-neutral-700/50 [input:checked~&]:bg-dotted-primary-300/50 dark:[input:checked~&]:bg-dotted-primary-200/20`,absolute:``,"inset-0":``,"z--1":``,style:{"background-size":`10px 10px`,"mask-image":`linear-gradient(165deg, white 30%, transparent 50%)`}},null,-1)],2))}}),[[`__scopeId`,`data-v-7f0c3c41`]]),Hb={class:`p-3`},Ub={class:`flex items-start`},Wb=[`checked`,`name`,`value`],Gb={class:`relative mr-3 mt-0.5 flex-shrink-0`},Kb={key:0,class:`i-solar:pause-circle-bold-duotone text-xl text-neutral-400 dark:text-neutral-500`},qb={key:1,class:`i-solar:play-circle-bold-duotone text-xl text-neutral-400 dark:text-neutral-500`},Jb={key:1,class:`mt-auto w-full flex items-center justify-center bg-neutral-50 py-3 text-xs text-neutral-400 italic dark:bg-neutral-800/50 dark:text-neutral-600`},Yb={class:`flex-1 cursor-pointer`},Xb={class:`flex items-center`},Zb={key:0,class:`mt-1 flex flex-wrap gap-1`},Qb={key:1,class:`mt-3`},$b={relative:``},ex={key:0,class:`h-16 px-3 pb-2`},tx=Ie(r({__name:`VoiceCard`,props:_({name:{},voice:{},currentlyPlayingId:{},customInputPlaceholder:{default:`Enter custom voice name`},showVisualizer:{type:Boolean,default:!0},audioStream:{default:null}},{"voice-id":{required:!1,default:``},"voice-idModifiers":{},"custom-voice-name":{required:!1,default:``},"custom-voice-nameModifiers":{}}),emits:_([`togglePlayback`],[`update:voice-id`,`update:custom-voice-name`]),setup(e,{emit:t}){let n=e,r=t,i=ae(e,`voice-id`),o=ae(e,`custom-voice-name`);function s(e){return e.previewURL||e.preview_audio_url}function c(e){let t=[];if(e.labels?.gender&&t.push(e.labels.gender),e.labels?.age&&t.push(e.labels.age),e.labels?.accent&&t.push(e.labels.accent),e.languages&&e.languages.length>0){let n=e.languages.map(e=>e.name).join(`, `);t.push(n)}return t}function l(){r(`togglePlayback`,n.voice)}return(t,r)=>(f(),A(`label`,{border:`2px solid`,class:E([`scroll-snap-align-start form_voice-card relative flex flex-col overflow-hidden rounded-xl`,[i.value===n.voice.id?`bg-primary-50 dark:bg-primary-900/20 border-primary-100 dark:border-primary-900 hover:border-primary-500/30 dark:hover:border-primary-400/30`:`bg-white dark:bg-neutral-900/20 border-neutral-100 dark:border-neutral-900 hover:border-primary-500/30 dark:hover:border-primary-400/30`,i.value===n.voice.id?`form_voice-card-active`:``]]),transition:`all duration-200 ease-in-out`},[j(`div`,Hb,[j(`div`,Ub,[le(j(`input`,{"onUpdate:modelValue":r[0]||=e=>i.value=e,checked:i.value===n.voice.id,type:`radio`,name:e.name,value:n.voice.id,class:`absolute cursor-pointer opacity-0`},null,8,Wb),[[ce,i.value]]),j(`div`,Gb,[j(`div`,{class:E([`size-5 border-2 rounded-full transition-colors duration-200`,[i.value===n.voice.id?`border-primary-500 dark:border-primary-400`:`border-neutral-300 dark:border-neutral-600`]])},[j(`div`,{class:E([`absolute left-1/2 top-1/2 size-3 rounded-full transition-opacity duration-200 -translate-x-1/2 -translate-y-1/2`,[i.value===n.voice.id?`opacity-100 bg-primary-500 dark:bg-primary-400`:`opacity-0`]])},null,2)],2)]),s(e.voice)?(f(),A(`button`,{key:0,absolute:``,"right-0":``,top:`0`,"z-3":``,class:E([`translate-x-[-50%] translate-y-[50%]`,[e.currentlyPlayingId===e.voice.id?`text-white dark:text-white`:``]]),onClick:l},[e.currentlyPlayingId===e.voice.id?(f(),A(`div`,Kb)):(f(),A(`div`,qb))],2)):(f(),A(`div`,Jb,` No preview available. You can select it and test voice on the right experiment. `)),j(`div`,Yb,[j(`div`,Xb,[j(`span`,{class:E([`line-clamp-1 font-medium`,[i.value===e.voice.id?`text-neutral-700 dark:text-neutral-300`:`text-neutral-700 dark:text-neutral-400`]])},g(e.voice.name),3)]),c(e.voice).length>0?(f(),A(`div`,Zb,[(f(!0),A(re,null,d(c(e.voice),(t,n)=>(f(),A(`span`,{key:n,class:E([`inline-flex items-center rounded-md px-1.5 py-0.5 text-xs`,[i.value===e.voice.id?`bg-primary-100 text-primary-700 dark:bg-primary-900/30 dark:text-primary-400`:`bg-neutral-100 text-neutral-700 dark:bg-neutral-800 dark:text-neutral-300`]])},g(t),3))),128))])):a(``,!0),e.voice.customizable&&i.value===e.voice.id?(f(),A(`div`,Qb,[D(O(xe),{modelValue:o.value,"onUpdate:modelValue":r[1]||=e=>o.value=e,type:`text`,class:`w-full border border-neutral-300 rounded bg-white px-2 py-1 text-sm dark:border-neutral-700 dark:bg-neutral-900`,placeholder:e.customInputPlaceholder},null,8,[`modelValue`,`placeholder`])])):a(``,!0),e.voice.description?(f(),A(`div`,{key:2,class:E([`line-clamp-2 mt-1 text-xs`,[i.value===e.voice.id?`text-neutral-600 dark:text-neutral-400`:`text-neutral-500 dark:text-neutral-500`]])},g(e.voice.description),3)):a(``,!0)])])]),j(`div`,$b,[D(O(de),null,{default:k(()=>[e.showVisualizer&&e.currentlyPlayingId===e.voice.id&&e.audioStream?(f(),A(`div`,ex,[D(O(ft),{stream:e.audioStream,bars:24,"min-freq":60,"max-freq":4e3},{default:k(({frequencies:t})=>[D(O(ht),{frequencies:t,"bars-class":i.value===e.voice.id?`bg-primary-500 dark:bg-primary-400`:`bg-neutral-400 dark:bg-neutral-600`},null,8,[`frequencies`,`bars-class`])]),_:1},8,[`stream`])])):a(``,!0)]),_:1})])],2))}}),[[`__scopeId`,`data-v-2130ea5b`]]),nx={class:`voice-preview-player`},rx={key:0,class:`relative`,"inline-flex":`~`,"w-full":``,"items-center":``},ix=[`placeholder`],ax={class:`mt-4 space-y-2`},ox={key:0,class:`text-sm text-neutral-500 dark:text-neutral-400`},sx={class:`relative`},cx=Ie(r({__name:`VoiceCardManySelect`,props:_({voices:{},searchable:{type:Boolean,default:!0},searchPlaceholder:{default:`Search voices...`},searchNoResultsTitle:{default:`No voices found`},searchNoResultsDescription:{default:`Try a different search term`},searchResultsText:{default:`{count} of {total} voices`},unsupportedVoiceWarningTitle:{default:`No voices`},unsupportedVoiceWarningContent:{default:`Try a different model or provider. We are working on supporting all the voice for this model as quickly as possible. If you need it urgently, please let us know on GitHub.`},customInputPlaceholder:{default:`Enter custom voice name`},expandButtonText:{default:`Show more`},collapseButtonText:{default:`Show less`},playButtonText:{default:`Play sample`},pauseButtonText:{default:`Pause`},showVisualizer:{type:Boolean,default:!0},listClass:{default:``}},{"search-query":{required:!1,default:``},"search-queryModifiers":{},"voice-id":{required:!1,default:``},"voice-idModifiers":{}}),emits:[`update:search-query`,`update:voice-id`],setup(e){let t=e,n=M(!1),r=M(),i=M(new Map),o=M(new Map),s=M(new Map),c=M(new Map),l=M(null);function p(){return l.value||=new(window.AudioContext||window.webkitAudioContext),l.value}let h=ae(e,`search-query`),_=ae(e,`voice-id`),y=w(()=>{if(!h.value)return t.voices;let e=h.value.toLowerCase();return t.voices.filter(t=>{let n=t.name.toLowerCase().includes(e),r=t.description&&t.description.toLowerCase().includes(e),i=t.tags&&t.tags.some(t=>t.toLowerCase().includes(e)),a=t.labels&&Object.values(t.labels).some(t=>typeof t==`string`&&t.toLowerCase().includes(e)),o=t.languages&&t.languages.some(t=>t.name.toLowerCase().includes(e)||t.code.toLowerCase().includes(e));return n||r||i||a||o})});function b(e){return e.previewURL||e.preview_audio_url}function x(e){let t=b(e);if(!t)return null;if(i.value.has(e.id))return i.value.get(e.id)||null;let n=new Audio(t);return n.crossOrigin=`anonymous`,n.preload=`auto`,n.addEventListener(`ended`,()=>{if(r.value===e.id){r.value=void 0;let t=o.value.get(e.id);t&&(t.getTracks().forEach(e=>e.stop()),o.value.delete(e.id))}}),i.value.set(e.id,n),n}function S(e,t){try{if(o.value.has(t))return o.value.get(t)||null;let n=p();if(c.value.has(t)){let e=c.value.get(t),r=n.createMediaStreamDestination();e.connect(r);let i=r.stream;return o.value.set(t,i),i}let r=n.createMediaElementSource(e);c.value.set(t,r),r.connect(n.destination);let i=n.createMediaStreamDestination();r.connect(i);let a=i.stream;return o.value.set(t,a),a}catch(e){return console.error(`Failed to create audio stream for visualizer:`,e),null}}function C(e){try{if(!b(e))return;let n=x(e);if(!n)return;if(r.value===e.id){n.pause(),r.value=void 0;let t=o.value.get(e.id);t&&(t.getTracks().forEach(e=>e.stop()),o.value.delete(e.id));return}if(r.value){let e=i.value.get(r.value);e&&e.pause();let t=o.value.get(r.value);t&&(t.getTracks().forEach(e=>e.stop()),o.value.delete(r.value))}t.showVisualizer&&!o.value.has(e.id)&&S(n,e.id),n.currentTime=0,n.play().catch(e=>{console.error(`Failed to play audio:`,e)}),r.value=e.id}catch(e){console.error(e),r.value=void 0}}function T(){i.value.forEach(e=>{e.pause(),e.src=``}),i.value.clear(),o.value.forEach(e=>{e.getTracks().forEach(e=>e.stop())}),o.value.clear(),s.value.forEach(e=>{e.state!==`closed`&&e.close()}),s.value.clear(),c.value.clear(),r.value=void 0}ee(h,()=>{if(r.value){let e=i.value.get(r.value);e&&e.pause();let t=o.value.get(r.value);t&&(t.getTracks().forEach(e=>e.stop()),o.value.delete(r.value)),r.value=void 0}}),u(T);let te=M(``);return(i,s)=>(f(),A(`div`,nx,[e.searchable?(f(),A(`div`,rx,[s[4]||=j(`div`,{class:`pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3`},[j(`div`,{"i-solar:magnifer-line-duotone":``,class:`text-neutral-500 dark:text-neutral-400`})],-1),le(j(`input`,{"onUpdate:modelValue":s[0]||=e=>h.value=e,type:`search`,class:`w-full rounded-xl p-2.5 pl-10 text-sm outline-none`,border:`focus:primary-100 dark:focus:primary-400/50 2 solid neutral-200 dark:neutral-800`,transition:`all duration-200 ease-in-out`,bg:`white dark:neutral-900`,placeholder:e.searchPlaceholder},null,8,ix),[[ne,h.value]])])):a(``,!0),j(`div`,ax,[h.value?(f(),A(`div`,ox,g(e.searchResultsText.replace(`{count}`,y.value.length.toString()).replace(`{total}`,e.voices.length.toString())),1)):a(``,!0),h.value&&y.value.length===0?(f(),v(jb,{key:1,type:`warning`},{title:k(()=>[m(g(e.searchNoResultsTitle),1)]),content:k(()=>[m(g(e.searchNoResultsDescription.replace(`{query}`,h.value)),1)]),_:1})):a(``,!0),j(`div`,sx,[j(`div`,{class:E([`grid auto-cols-[350px] grid-flow-col gap-4 overflow-x-auto scrollbar-none`,[n.value?`grid-cols-1 md:grid-cols-2 grid-flow-row auto-cols-auto`:``,...t.listClass?typeof t.listClass==`string`?[t.listClass]:t.listClass:[`max-h-[calc(100dvh-7lh)]`]]]),transition:`all duration-200 ease-in-out`,style:{"scroll-snap-type":`x mandatory`}},[!h.value&&y.value.length===0?(f(),v(jb,{key:0,type:`warning`},{title:k(()=>[m(g(e.unsupportedVoiceWarningTitle),1)]),content:k(()=>[m(g(e.unsupportedVoiceWarningContent),1)]),_:1})):a(``,!0),(f(!0),A(re,null,d(y.value,t=>(f(),v(tx,{key:t.id,"voice-id":_.value,"onUpdate:voiceId":s[1]||=e=>_.value=e,"custom-voice-name":te.value,"onUpdate:customVoiceName":s[2]||=e=>te.value=e,name:`voice`,voice:t,"currently-playing-id":r.value,"custom-input-placeholder":e.customInputPlaceholder,"show-visualizer":e.showVisualizer,"audio-stream":o.value.get(t.id),onTogglePlayback:C},null,8,[`voice-id`,`custom-voice-name`,`voice`,`currently-playing-id`,`custom-input-placeholder`,`show-visualizer`,`audio-stream`]))),128))],2),j(`div`,{bg:`neutral-100 dark:[rgba(0,0,0,0.3)]`,"rounded-xl":``,class:E([n.value?`w-full`:`mt-4 w-full rounded-lg`])},[j(`button`,{"w-full":``,flex:``,"items-center":``,"justify-center":``,"gap-2":``,"rounded-lg":``,"py-2":``,transition:`all duration-200 ease-in-out`,class:E([n.value?`bg-primary-500 hover:bg-primary-600 text-white`:`bg-white dark:bg-neutral-900 hover:bg-neutral-100 dark:hover:bg-neutral-800`]),onClick:s[3]||=e=>n.value=!n.value},[j(`span`,null,g(n.value?e.collapseButtonText:e.expandButtonText),1),j(`div`,{class:E([n.value?`rotate-180`:``,`text-lg`]),"i-solar:alt-arrow-down-linear":``,transition:`transform duration-200 ease-in-out`},null,2)],2)],2)])])]))}}),[[`__scopeId`,`data-v-063d85cc`]]),lx={class:`flex flex-wrap items-center gap-2`},ux={class:`flex items-center gap-2`},dx={key:0},fx={key:1},px=Ie(r({__name:`DoubleCheckButton`,props:{variant:{default:`danger`},cancelVariant:{default:`secondary`},size:{default:`md`},block:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1}},emits:[`confirm`,`cancel`],setup(e,{emit:t}){let n=e,r=t,i=se(),o=M(!1),s=w(()=>[`inline-flex flex-col gap-2`,n.block?`w-full`:``]);ee(()=>n.disabled,e=>{e&&(o.value=!1)});function c(){if(!o.value){o.value=!0;return}r(`confirm`),o.value=!1}function l(){o.value=!1,r(`cancel`)}return(t,n)=>(f(),A(`div`,{class:E(s.value)},[j(`div`,lx,[D(ie,{name:`double-check-slide`},{default:k(()=>[o.value?(f(),v(O(we),{key:`cancel`,variant:e.cancelVariant,size:e.size,block:e.block,class:`whitespace-nowrap`,onClick:l},{default:k(()=>[j(`div`,ux,[i[`cancel-botton-icon`]?x(t.$slots,`cancel-botton-icon`,{key:0},void 0,!0):a(``,!0),j(`span`,null,[x(t.$slots,`cancel`,{},()=>[n[0]||=m(`Cancel`,-1)],!0)])])]),_:3},8,[`variant`,`size`,`block`])):a(``,!0)]),_:3}),D(O(we),{variant:e.variant,size:e.size,block:e.block,disabled:e.disabled,loading:e.loading,class:E([`double-check-primary whitespace-nowrap`,`transition-width duration-150 ease-in-out`,o.value?`double-check-primary--confirming`:`double-check-primary--default`]),onClick:c},{default:k(()=>[o.value?(f(),A(`span`,fx,[x(t.$slots,`confirm`,{},()=>[x(t.$slots,`default`,{},void 0,!0)],!0)])):(f(),A(`span`,dx,[x(t.$slots,`default`,{},void 0,!0)]))]),_:3},8,[`variant`,`size`,`block`,`disabled`,`loading`,`class`])])],2))}}),[[`__scopeId`,`data-v-5350c1de`]]),mx={class:`whitespace-pre-wrap break-all`},hx=r({__name:`ErrorContainer`,props:{title:{},error:{}},setup(e){return(t,n)=>(f(),v(jb,{type:`error`},o({title:k(()=>[m(g(e.title),1)]),_:2},[e.error?{name:`content`,fn:k(()=>[j(`pre`,mx,g(String(e.error)),1)]),key:`0`}:void 0]),1024))}}),gx=Ie(r({__name:`Skeleton`,props:{animation:{default:`pulse`}},setup(e){let t=e;return(e,n)=>(f(),A(`div`,{class:E([`skeleton`,t.animation===`none`?``:`skeleton-${t.animation}`]),bg:`neutral-200 dark:neutral-800`,overflow:`hidden`},[x(e.$slots,`default`,{},void 0,!0)],2))}}),[[`__scopeId`,`data-v-5397c83a`]]),_x={flex:`~ col`,"gap-3":``,"rounded-lg":``,border:`2 orange-200 dark:orange-800`,bg:`orange-50 dark:orange-950/30`,"p-6":``},vx={flex:``,"items-center":``,"gap-2":``,text:`orange-600 dark:orange-400`},yx={"text-lg":``,"font-semibold":``},bx={text:`sm neutral-700 dark:neutral-300`},xx=r({__name:`WIP`,setup(e){let{t}=it();return(e,n)=>(f(),A(`div`,_x,[j(`div`,vx,[n[0]||=j(`div`,{"i-solar:usb-circle-bold-duotone":``,"text-xl":``},null,-1),j(`h2`,yx,g(O(t)(`settings.wip.title`)),1)]),j(`p`,bx,g(O(t)(`settings.wip.description`)),1)]))}});function Sx(e){return w({get:()=>e.value?.toString()??``,set:t=>{if(t===``){e.value=null;return}let n=Number.parseInt(t,10);Number.isNaN(n)||(e.value=n)}})}var Cx={flex:`~ col gap-6`},wx={key:0,class:`mt-4 rounded-lg bg-green-100 p-4 text-green-800`},Tx=r({__name:`GamingModuleSettings`,props:{store:{},i18nKeyPrefix:{}},setup(e){let t=e,{t:n}=it(),{enabled:r,serverAddress:i,serverPort:o,username:s,configured:c}=De(t.store),l=Sx(o);function u(){t.store.saveSettings()}return(t,o)=>(f(),A(`div`,Cx,[D(O(Ce),{modelValue:O(r),"onUpdate:modelValue":o[0]||=e=>te(r)?r.value=e:null,label:O(n)(`${e.i18nKeyPrefix}.enable`),description:O(n)(`${e.i18nKeyPrefix}.enable-description`)},null,8,[`modelValue`,`label`,`description`]),D(O(be),{modelValue:O(i),"onUpdate:modelValue":o[1]||=e=>te(i)?i.value=e:null,label:O(n)(`${e.i18nKeyPrefix}.server-address`),description:O(n)(`${e.i18nKeyPrefix}.server-address-description`),placeholder:O(n)(`${e.i18nKeyPrefix}.server-address-placeholder`)},null,8,[`modelValue`,`label`,`description`,`placeholder`]),D(O(be),{modelValue:O(l),"onUpdate:modelValue":o[2]||=e=>te(l)?l.value=e:null,type:`number`,min:1,max:65535,step:1,label:O(n)(`${e.i18nKeyPrefix}.server-port`),description:O(n)(`${e.i18nKeyPrefix}.server-port-description`)},null,8,[`modelValue`,`label`,`description`]),D(O(be),{modelValue:O(s),"onUpdate:modelValue":o[3]||=e=>te(s)?s.value=e:null,label:O(n)(`${e.i18nKeyPrefix}.username`),description:O(n)(`${e.i18nKeyPrefix}.username-description`),placeholder:O(n)(`${e.i18nKeyPrefix}.username-placeholder`)},null,8,[`modelValue`,`label`,`description`,`placeholder`]),j(`div`,null,[D(O(we),{label:O(n)(`settings.common.save`),variant:`primary`,onClick:u},null,8,[`label`])]),O(c)?(f(),A(`div`,wx,g(O(n)(`${e.i18nKeyPrefix}.configured`)),1)):a(``,!0)]))}}),Ex=globalThis.WebSocket,Dx=class extends Error{constructor(e){super(e),this.name=`ReconnectingError`}},Ox=class{connected=!1;connecting=!1;websocket;shouldClose=!1;opts;eventListeners=new Map;constructor(e){this.opts={url:`ws://localhost:6121/ws`,possibleEvents:[],onError:()=>{},onClose:()=>{},autoConnect:!0,autoReconnect:!0,maxReconnectAttempts:-1,...e},this.onEvent(`module:authenticated`,async e=>{e.data.authenticated?this.tryAnnounce():await this.retryWithExponentialBackoff(()=>this.tryAuthenticate())}),this.opts.autoConnect&&this.connect()}async retryWithExponentialBackoff(e){let{maxReconnectAttempts:t}=this.opts,n=0;for(;;){if(t!==-1&&n>=t){console.error(`Maximum retry attempts (${t}) reached`);return}try{await e();return}catch(e){if(e instanceof Dx)return;this.opts.onError?.(e),await at(Math.min(2**n*1e3,3e4)),n++}}}async tryReconnectWithExponentialBackoff(){this.shouldClose||await this.retryWithExponentialBackoff(()=>this._connect())}_connect(){return this.shouldClose||this.connected?Promise.resolve():this.connecting?Promise.reject(new Dx(`Already connecting`)):new Promise((e,t)=>{this.connecting=!0;let n=new Ex(this.opts.url);this.websocket=n,n.onmessage=this.handleMessageBound,n.onerror=e=>{this.connecting=!1,this.connected=!1,this.opts.onError?.(e),t(e?.error??Error(`WebSocket error`))},n.onclose=()=>{this.connecting=!1,this.connected&&(this.connected=!1,this.opts.onClose?.()),this.opts.autoReconnect&&!this.shouldClose&&this.tryReconnectWithExponentialBackoff()},n.onopen=()=>{this.connecting=!1,this.connected=!0,this.opts.token?this.tryAuthenticate():this.tryAnnounce(),e()}})}async connect(){await this.tryReconnectWithExponentialBackoff()}tryAnnounce(){this.send({type:`module:announce`,data:{name:this.opts.name,possibleEvents:this.opts.possibleEvents}})}tryAuthenticate(){this.opts.token&&this.send({type:`module:authenticate`,data:{token:this.opts.token}})}handleMessageBound=e=>{this.handleMessage(e)};async handleMessage(e){try{let t=JSON.parse(e.data),n=this.eventListeners.get(t.type);if(!n?.size)return;let r=[];for(let e of n)r.push(Promise.resolve(e(t)));await Promise.allSettled(r)}catch(e){console.error(`Failed to parse message:`,e),this.opts.onError?.(e)}}onEvent(e,t){let n=this.eventListeners.get(e);n||(n=new Set,this.eventListeners.set(e,n)),n.add(t)}offEvent(e,t){let n=this.eventListeners.get(e);n&&(t?(n.delete(t),n.size||this.eventListeners.delete(e)):this.eventListeners.delete(e))}send(e){this.websocket&&this.connected&&this.websocket.send(JSON.stringify(e))}sendRaw(e){this.websocket&&this.connected&&this.websocket.send(e)}close(){this.shouldClose=!0,this.websocket&&(this.websocket.close(),this.connected=!1)}};const kx=Ee(`mods:channels:proj-airi:server`,()=>{let e=M(!1),t=M(),n=M(null),r=M([]);function i(r){if(e.value&&t.value)return Promise.resolve();if(n.value)return n.value;let i=Array.from(new Set([`ui:configure`,`context:update`,...r?.possibleEvents??[]]));return n.value=new Promise((o,c)=>{t.value=new Ox({name:`proj-airi:ui:stage`,url:`ws://localhost:6121/ws`,token:r?.token,possibleEvents:i,onError:r=>{t.value=void 0,e.value=!1,n.value=null,c(r)},onClose:()=>{e.value=!1,n.value=null}}),t.value.onEvent(`module:authenticated`,t=>{if(t.data.authenticated){e.value=!0,s(),a(),o();return}e.value=!1})}),n.value}function a(){t.value}function o(a){!t.value&&!n.value&&i(),t.value&&e.value?t.value.send(a):r.value.push(a)}function s(){if(t.value&&e.value){for(let e of r.value)t.value.send(e);r.value=[]}}function c(e){return!t.value&&!n.value&&i(),t.value?.onEvent(`context:update`,e),()=>{t.value?.offEvent(`context:update`,e)}}function l(e){o({type:`context:update`,data:e})}function u(){s(),t.value?.close(),e.value=!1,t.value=void 0,n.value=null}return{connected:e,initialize:i,send:o,sendContextUpdate:l,onContextUpdate:c,dispose:u}}),Ax=Ee(`configurator:adapter:proj-airi:server-sdk`,()=>{let{send:e}=kx();function t(t,n){e({type:`ui:configure`,data:{moduleName:t,config:n}})}return{updateFor:t}});function jx(e,t){return Ee(e,()=>{let n=Ax(),r=He(`settings/${e}/enabled`,!1),i=He(`settings/${e}/server-address`,``),a=He(`settings/${e}/server-port`,t),o=He(`settings/${e}/username`,``);function s(){n.updateFor(e,{enabled:r.value,serverAddress:i.value,serverPort:a.value,username:o.value})}return{enabled:r,serverAddress:i,serverPort:a,username:o,configured:w(()=>!!(i.value.trim()&&o.value.trim()&&a.value!==null)),saveSettings:s}})}const Mx=jx(`factorio`,34197);var Nx=r({__name:`GamingFactorio`,setup(e){let t=Mx();return(e,n)=>(f(),v(Tx,{store:O(t),"i18n-key-prefix":`settings.pages.modules.gaming-factorio`},null,8,[`store`]))}});const Px=jx(`minecraft`,25565);var Fx=r({__name:`GamingMinecraft`,setup(e){let t=Px();return(e,n)=>(f(),v(Tx,{store:O(t),"i18n-key-prefix":`settings.pages.modules.gaming-minecraft`},null,8,[`store`]))}});const Ix=Ee(`discord`,()=>{let e=Ax(),t=He(`settings/discord/enabled`,!1),n=He(`settings/discord/token`,``);function r(){e.updateFor(`discord`,{token:n.value,enabled:t.value})}return{enabled:t,token:n,configured:w(()=>!!n.value.trim()),saveSettings:r}});var Lx={flex:`~ col gap-6`},Rx={key:0,class:`mt-4 rounded-lg bg-green-100 p-4 text-green-800`},zx=r({__name:`MessagingDiscord`,setup(e){let{t}=it(),n=Ix(),{enabled:r,token:i,configured:o}=De(n);function s(){n.saveSettings()}return(e,n)=>(f(),A(`div`,Lx,[D(O(Ce),{modelValue:O(r),"onUpdate:modelValue":n[0]||=e=>te(r)?r.value=e:null,label:O(t)(`settings.pages.modules.messaging-discord.enable`),description:O(t)(`settings.pages.modules.messaging-discord.enable-description`)},null,8,[`modelValue`,`label`,`description`]),D(O(be),{modelValue:O(i),"onUpdate:modelValue":n[1]||=e=>te(i)?i.value=e:null,type:`password`,label:O(t)(`settings.pages.modules.messaging-discord.token`),description:O(t)(`settings.pages.modules.messaging-discord.token-description`),placeholder:O(t)(`settings.pages.modules.messaging-discord.token-placeholder`)},null,8,[`modelValue`,`label`,`description`,`placeholder`]),j(`div`,null,[D(O(we),{label:O(t)(`settings.common.save`),variant:`primary`,onClick:s},null,8,[`label`])]),O(o)?(f(),A(`div`,Rx,g(O(t)(`settings.pages.modules.messaging-discord.configured`)),1)):a(``,!0)]))}});const Bx=Ee(`twitter`,()=>{let e=Ax(),t=He(`settings/twitter/enabled`,!1),n=He(`settings/twitter/api-key`,``),r=He(`settings/twitter/api-secret`,``),i=He(`settings/twitter/access-token`,``),a=He(`settings/twitter/access-token-secret`,``);function o(){e.updateFor(`twitter`,{enabled:t.value,apiKey:n.value,apiSecret:r.value,accessToken:i.value,accessTokenSecret:a.value})}return{enabled:t,apiKey:n,apiSecret:r,accessToken:i,accessTokenSecret:a,configured:w(()=>!!(n.value.trim()&&r.value.trim()&&i.value.trim()&&a.value.trim())),saveSettings:o}});var Vx={flex:`~ col gap-6`},Hx={key:0,class:`mt-4 rounded-lg bg-green-100 p-4 text-green-800`},Ux=r({__name:`X`,setup(e){let{t}=it(),n=Bx(),{enabled:r,apiKey:i,apiSecret:o,accessToken:s,accessTokenSecret:c,configured:l}=De(n);function u(){n.saveSettings()}return(e,n)=>(f(),A(`div`,Vx,[D(O(Ce),{modelValue:O(r),"onUpdate:modelValue":n[0]||=e=>te(r)?r.value=e:null,label:O(t)(`settings.pages.modules.x.enable`),description:O(t)(`settings.pages.modules.x.enable-description`)},null,8,[`modelValue`,`label`,`description`]),D(O(be),{modelValue:O(i),"onUpdate:modelValue":n[1]||=e=>te(i)?i.value=e:null,type:`password`,label:O(t)(`settings.pages.modules.x.api-key`),description:O(t)(`settings.pages.modules.x.api-key-description`),placeholder:O(t)(`settings.pages.modules.x.api-key-placeholder`)},null,8,[`modelValue`,`label`,`description`,`placeholder`]),D(O(be),{modelValue:O(o),"onUpdate:modelValue":n[2]||=e=>te(o)?o.value=e:null,type:`password`,label:O(t)(`settings.pages.modules.x.api-secret`),description:O(t)(`settings.pages.modules.x.api-secret-description`),placeholder:O(t)(`settings.pages.modules.x.api-secret-placeholder`)},null,8,[`modelValue`,`label`,`description`,`placeholder`]),D(O(be),{modelValue:O(s),"onUpdate:modelValue":n[3]||=e=>te(s)?s.value=e:null,type:`password`,label:O(t)(`settings.pages.modules.x.access-token`),description:O(t)(`settings.pages.modules.x.access-token-description`),placeholder:O(t)(`settings.pages.modules.x.access-token-placeholder`)},null,8,[`modelValue`,`label`,`description`,`placeholder`]),D(O(be),{modelValue:O(c),"onUpdate:modelValue":n[4]||=e=>te(c)?c.value=e:null,type:`password`,label:O(t)(`settings.pages.modules.x.access-token-secret`),description:O(t)(`settings.pages.modules.x.access-token-secret-description`),placeholder:O(t)(`settings.pages.modules.x.access-token-secret-placeholder`)},null,8,[`modelValue`,`label`,`description`,`placeholder`]),j(`div`,null,[D(O(we),{label:O(t)(`settings.common.save`),variant:`primary`,onClick:u},null,8,[`label`])]),O(l)?(f(),A(`div`,Hx,g(O(t)(`settings.pages.modules.x.configured`)),1)):a(``,!0)]))}}),Wx=Ie(r({__name:`CursorFloating`,props:{intensity:{default:1.5}},setup(e){let t=e,n=M(null),r=M(``),i=M(`50% 50%`),a=M(`50% 50%`),o=M(.5);function s(e){if(!n.value)return;let s=n.value,c=s.getBoundingClientRect(),l=e.clientX-c.left,u=e.clientY-c.top,d=s.offsetWidth,f=s.offsetHeight,p=Math.abs(Math.floor(100/d*l)-100),m=Math.abs(Math.floor(100/f*u)-100),h=50+(p-50)/1.5,g=50+(m-50)/1.5,_=50+(p-50)/7,v=50+(m-50)/7,y=(h-50)/1.5*.2*t.intensity,b=(g-50)/2*-1*.2*t.intensity,x=50-p+(50-m),S=.5+Math.abs(x)*.008*t.intensity;r.value=`perspective(1200px) rotateX(${b}deg) rotateY(${y}deg) scale3d(${1+.015*t.intensity}, ${1+.015*t.intensity}, ${1+.015*t.intensity})`,i.value=`${h}% ${g}%`,a.value=`${_}% ${v}%`,o.value=S}function c(){r.value=`perspective(1200px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)`,i.value=`50% 50%`,a.value=`50% 50%`,o.value=.5}return y(()=>{r.value=`perspective(1200px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)`}),(t,i)=>(f(),A(`div`,{ref_key:`cardRef`,ref:n,class:`card-hover-effect`,style:p({transform:r.value,"--effect-intensity":e.intensity}),onMousemove:s,onMouseleave:c},[x(t.$slots,`default`,{},void 0,!0)],36))}}),[[`__scopeId`,`data-v-05127d28`]]),Gx=r({__name:`about-dialog`,props:{modelValue:{type:Boolean,default:!1,required:!1},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=ae(e,`modelValue`),n=Ge(`(min-width: 768px)`),r=Be();return Je(document.documentElement,()=>r.update()),y(()=>r.update()),(e,i)=>O(n)?(f(),v(O(je),{key:0,open:t.value,"onUpdate:open":i[0]||=e=>t.value=e},{default:k(()=>[x(e.$slots,`trigger`),D(O(Fe),null,{default:k(()=>[D(O(Me),{class:`fixed inset-0 z-[9999] bg-black/50 backdrop-blur-sm data-[state=closed]:animate-fadeOut data-[state=open]:animate-fadeIn`}),D(O(Ae),{class:`fixed left-1/2 top-1/2 z-[9999] max-h-full max-w-2xl w-[92dvw] transform overflow-y-scroll rounded-2xl bg-white p-6 shadow-xl outline-none backdrop-blur-md scrollbar-none -translate-x-1/2 -translate-y-1/2 data-[state=closed]:animate-contentHide data-[state=open]:animate-contentShow dark:bg-neutral-900`},{default:k(()=>[x(e.$slots,`default`)]),_:3})]),_:3})]),_:3},8,[`open`])):(f(),v(O(fe),{key:1,open:t.value,"should-scale-background":``,"onUpdate:open":i[1]||=e=>t.value=e},{default:k(()=>[D(O(Fe),null,{default:k(()=>[D(O(ge),{class:`fixed inset-0`}),D(O(_e),{class:`fixed bottom-0 left-0 right-0 z-1000 mt-20 h-full max-h-[96%] flex flex-col rounded-t-2xl bg-neutral-50 px-4 pt-4 outline-none backdrop-blur-md dark:bg-neutral-900/95`,style:p({paddingBottom:`${Math.max(Number.parseFloat(O(r).bottom.value.replace(`px`,``)),24)}px`})},{default:k(()=>[D(O(he)),x(e.$slots,`default`)]),_:3},8,[`style`])]),_:3})]),_:3},8,[`open`]))}}),Kx={class:`space-y-2`},qx={class:`flex flex-col items-center justify-center py-2`},Jx={class:`relative h-28 w-28 select-none`},Yx={key:0,class:`mt-3 w-full`},Xx={class:`mt-3 w-full`},Zx=r({__name:`hearing-config`,props:_({enabled:{type:Boolean,default:!1},granted:{type:Boolean,default:!1},audioInputs:{default:()=>[]},volumeLevel:{default:0}},{enabled:{type:Boolean},enabledModifiers:{},selectedAudioInput:{},selectedAudioInputModifiers:{}}),emits:[`update:enabled`,`update:selectedAudioInput`],setup(e){let t=e,n=ae(e,`enabled`),r=ae(e,`selectedAudioInput`),i=w(()=>n.value?`bg-primary-500/15 dark:bg-primary-600/20`:`bg-neutral-300/20 dark:bg-neutral-700/20`);return(e,o)=>(f(),A(`div`,Kx,[j(`div`,qx,[j(`div`,Jx,[j(`div`,{class:E([`absolute left-1/2 top-1/2 h-20 w-20 rounded-full transition-all duration-150 -translate-x-1/2 -translate-y-1/2`,i.value]),style:p({transform:`translate(-50%, -50%) scale(${1+t.volumeLevel/100*.35})`,opacity:String(.25+t.volumeLevel/100*.25)})},null,6),j(`div`,{class:E([`absolute left-1/2 top-1/2 h-24 w-24 rounded-full transition-all duration-200 -translate-x-1/2 -translate-y-1/2`,t.enabled?`bg-primary-500/10 dark:bg-primary-600/15`:`bg-neutral-300/10 dark:bg-neutral-700/10`]),style:p({transform:`translate(-50%, -50%) scale(${1.2+t.volumeLevel/100*.55})`,opacity:String(.15+t.volumeLevel/100*.2)})},null,6),j(`div`,{class:E([`absolute left-1/2 top-1/2 h-28 w-28 rounded-full transition-all duration-300 -translate-x-1/2 -translate-y-1/2`,t.enabled?`bg-primary-500/5 dark:bg-primary-600/10`:`bg-neutral-300/5 dark:bg-neutral-700/5`]),style:p({transform:`translate(-50%, -50%) scale(${1.5+t.volumeLevel/100*.8})`,opacity:String(.08+t.volumeLevel/100*.15)})},null,6),j(`button`,{class:E([`absolute left-1/2 top-1/2 grid h-16 w-16 place-items-center rounded-full shadow-md outline-none transition-all duration-200 -translate-x-1/2 -translate-y-1/2`,[t.enabled?`bg-primary-500 text-white hover:bg-primary-600 active:scale-95`:`bg-neutral-200 text-neutral-600 hover:bg-neutral-300 active:scale-95 dark:bg-neutral-700 dark:text-neutral-200`]]),onClick:o[0]||=()=>n.value=!n.value},[j(`div`,{class:E([n.value?`i-ph:microphone`:`i-ph:microphone-slash`,`h-6 w-6`])},null,2)],2)]),o[3]||=j(`div`,{class:`mt-3 h-1`},null,-1),t.granted?a(``,!0):(f(),A(`div`,Yx,[D(ve,{theme:`orange`,label:`Microphone permission required`},{default:k(()=>[...o[2]||=[j(`div`,{class:`text-sm`},` The app doesn't have permission to access your microphone. Please grant microphone access in your system settings to enable audio input. `,-1)]]),_:1})]))]),j(`div`,Xx,[D(O(ye),{modelValue:r.value,"onUpdate:modelValue":o[1]||=e=>r.value=e,label:`Input device`,description:`Select the microphone you want to use.`,options:t.audioInputs.map(e=>({label:e.label||`Unknown Device`,value:e.deviceId})),placeholder:`Select microphone`,layout:`vertical`},null,8,[`modelValue`,`options`])])]))}}),Qx=r({__name:`hearing-config-dialog`,props:_({overlayDim:{type:Boolean},overlayBlur:{type:Boolean},granted:{type:Boolean},audioInputs:{},volumeLevel:{}},{show:{type:Boolean,default:!1,required:!1},showModifiers:{},selectedAudioInput:{},selectedAudioInputModifiers:{},enabled:{type:Boolean,default:!1},enabledModifiers:{}}),emits:[`update:show`,`update:selectedAudioInput`,`update:enabled`],setup(e){let t=e,n=ae(e,`show`),r=ae(e,`selectedAudioInput`),i=ae(e,`enabled`),a=Ge(`(min-width: 768px)`),o=Be();return Je(document.documentElement,()=>o.update()),y(()=>o.update()),(e,s)=>O(a)?(f(),v(O(je),{key:0,open:n.value,"onUpdate:open":s[2]||=e=>n.value=e},{default:k(()=>[D(O(pe),{"as-child":``},{default:k(()=>[x(e.$slots,`default`)]),_:3}),D(O(Fe),null,{default:k(()=>[D(O(Me),{class:E([[t.overlayDim?`bg-black/50`:``,t.overlayBlur?`backdrop-blur-sm`:``],`fixed inset-0 z-[9999] data-[state=closed]:animate-fadeOut data-[state=open]:animate-fadeIn`])},null,8,[`class`]),D(O(Ae),{class:`fixed left-1/2 top-1/2 z-[9999] max-h-full max-w-5xl w-[92dvw] transform overflow-y-scroll rounded-2xl bg-white p-6 shadow-xl outline-none backdrop-blur-md scrollbar-none -translate-x-1/2 -translate-y-1/2 data-[state=closed]:animate-contentHide data-[state=open]:animate-contentShow dark:bg-neutral-900`},{default:k(()=>[D(O(Te),null,{default:k(()=>[D(O(Ne),null,{default:k(()=>[...s[6]||=[m(`Hearing Input`,-1)]]),_:1})]),_:1}),D(Zx,{enabled:i.value,"onUpdate:enabled":s[0]||=e=>i.value=e,"selected-audio-input":r.value,"onUpdate:selectedAudioInput":s[1]||=e=>r.value=e,"audio-inputs":t.audioInputs,granted:t.granted,"volume-level":t.volumeLevel},null,8,[`enabled`,`selected-audio-input`,`audio-inputs`,`granted`,`volume-level`]),x(e.$slots,`extra`)]),_:3})]),_:3})]),_:3},8,[`open`])):(f(),v(O(fe),{key:1,open:n.value,"should-scale-background":``,"onUpdate:open":s[5]||=e=>n.value=e},{default:k(()=>[D(O(pe),{"as-child":``},{default:k(()=>[x(e.$slots,`default`)]),_:3}),D(O(Fe),null,{default:k(()=>[D(O(ge),{class:`fixed inset-0`}),D(O(_e),{class:`fixed bottom-0 left-0 right-0 z-1000 mt-20 h-full max-h-[45%] flex flex-col rounded-t-2xl bg-neutral-50 px-4 pt-4 outline-none backdrop-blur-md dark:bg-neutral-900/95`,style:p({paddingBottom:`${Math.max(Number.parseFloat(O(o).bottom.value.replace(`px`,``)),24)}px`})},{default:k(()=>[D(O(he),{"my-2":``}),D(Zx,{enabled:i.value,"onUpdate:enabled":s[3]||=e=>i.value=e,"selected-audio-input":r.value,"onUpdate:selectedAudioInput":s[4]||=e=>r.value=e,"audio-inputs":t.audioInputs,granted:t.granted,"volume-level":t.volumeLevel},null,8,[`enabled`,`selected-audio-input`,`audio-inputs`,`granted`,`volume-level`]),x(e.$slots,`extra`)]),_:3},8,[`style`])]),_:3})]),_:3},8,[`open`]))}});const $x=Symbol(`onboarding-context`);var eS={"h-full":``,flex:``,"flex-col":``,"gap-4":``},tS={sticky:``,"top-0":``,"z-100":``,flex:``,"flex-shrink-0":``,"items-center":``,"gap-2":``},nS={class:`flex-1 text-center text-xl text-neutral-800 font-semibold md:text-left md:text-2xl dark:text-neutral-100`},rS={"flex-1":``},iS={class:`whitespace-pre-wrap break-all`},aS=r({__name:`step-model-selection`,setup(e){let{t}=it(),n=c($x),{activeModel:r,modelSearchQuery:i,providerModels:a,isLoadingActiveProviderModels:o}=De(et());return(e,s)=>(f(),A(`div`,eS,[j(`div`,tS,[j(`button`,{"outline-none":``,onClick:s[0]||=(...e)=>O(n).handlePreviousStep&&O(n).handlePreviousStep(...e)},[...s[3]||=[j(`div`,{"i-solar:alt-arrow-left-line-duotone":``,"h-5":``,"w-5":``},null,-1)]]),j(`h2`,nS,g(O(t)(`settings.dialogs.onboarding.select-model`)),1),s[4]||=j(`div`,{"h-5":``,"w-5":``},null,-1)]),j(`div`,rS,[O(a).length>0?(f(),v(O(Rb),{key:0,modelValue:O(r),"onUpdate:modelValue":s[1]||=e=>te(r)?r.value=e:null,"search-query":O(i),"onUpdate:searchQuery":s[2]||=e=>te(i)?i.value=e:null,items:O(a).toSorted((e,t)=>e.id===O(r)?-1:t.id===O(r)?1:0),searchable:!0,"search-placeholder":O(t)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.search_placeholder`),"search-no-results-title":O(t)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_search_results`),"search-no-results-description":O(t)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.no_search_results_description`,{query:O(i)}),"search-results-text":O(t)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.search_results`,{count:`{count}`,total:`{total}`}),"custom-input-placeholder":O(t)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.custom_model_placeholder`),"expand-button-text":O(t)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.expand`),"collapse-button-text":O(t)(`settings.pages.modules.consciousness.sections.section.provider-model-selection.collapse`),"list-class":`max-h-[calc(100dvh-17rem)] sm:max-h-120`},null,8,[`modelValue`,`search-query`,`items`,`search-placeholder`,`search-no-results-title`,`search-no-results-description`,`search-results-text`,`custom-input-placeholder`,`expand-button-text`,`collapse-button-text`])):(f(),v(jb,{key:1,type:`error`},{title:k(()=>[m(g(O(t)(`settings.dialogs.onboarding.no-models`)),1)]),content:k(()=>[j(`div`,iS,g(O(t)(`settings.dialogs.onboarding.no-models-help`)),1)]),_:1}))]),D(O(we),{variant:`primary`,disabled:!O(r),loading:O(o),label:O(t)(`settings.dialogs.onboarding.saveAndContinue`),onClick:O(n).handleSave},null,8,[`disabled`,`loading`,`label`,`onClick`])]))}}),oS=r({__name:`ProviderAccountIdInput`,props:_({placeholder:{},required:{type:Boolean},label:{},description:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=ae(e,`modelValue`);return(e,r)=>(f(),v(O(be),{modelValue:n.value,"onUpdate:modelValue":r[0]||=e=>n.value=e,label:t.label||`Account ID`,description:t.description||`Account ID`,placeholder:t.placeholder,required:t.required,type:`text`},null,8,[`modelValue`,`label`,`description`,`placeholder`,`required`]))}}),sS=[`onClick`],cS={class:`text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`},lS={"mt-4":``},uS=r({__name:`ProviderAdvancedSettings`,props:{title:{},initialVisible:{type:Boolean}},setup(e){let t=M(e.initialVisible||!1);function n(){t.value=!t.value}return(t,r)=>(f(),v(me,{"w-full":``},{trigger:k(t=>[j(`button`,{transition:`all ease-in-out duration-250`,"w-full":``,flex:``,"items-center":``,"gap-1.5":``,"outline-none":``,class:`[&_.provider-icon]:grayscale-100 [&_.provider-icon]:hover:grayscale-0`,onClick:()=>t.setVisible(!t.visible)&&n()},[j(`h2`,cS,[j(`span`,null,g(e.title||`Advanced`),1)]),j(`div`,{transform:``,transition:`transform duration-250`,class:E({"rotate-180":t.visible})},[...r[0]||=[j(`div`,{"i-solar:alt-arrow-down-linear":``},null,-1)]],2)],8,sS)]),default:k(()=>[j(`div`,lS,[x(t.$slots,`default`)])]),_:3}))}}),dS=r({__name:`ProviderApiKeyInput`,props:_({providerName:{},placeholder:{},required:{type:Boolean},label:{},description:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,{t:n}=it(),r=ae(e,`modelValue`),i=w(()=>t.description||`API Key for ${t.providerName}`);return(t,a)=>(f(),v(O(be),{modelValue:r.value,"onUpdate:modelValue":a[0]||=e=>r.value=e,label:e.label||O(n)(`settings.pages.providers.common.fields.field.api-key.label`),description:i.value,placeholder:e.placeholder,required:e.required,type:`password`},null,8,[`modelValue`,`label`,`description`,`placeholder`,`required`]))}}),fS=r({__name:`ProviderBaseUrlInput`,props:_({placeholder:{},required:{type:Boolean},label:{},description:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=ae(e,`modelValue`);return(e,r)=>(f(),v(O(be),{modelValue:n.value,"onUpdate:modelValue":r[0]||=e=>n.value=e,label:t.label||`Base URL`,description:t.description||(t.required?`Base URL`:`Custom base URL (optional)`),placeholder:t.placeholder,required:t.required,type:`text`},null,8,[`modelValue`,`label`,`description`,`placeholder`,`required`]))}}),pS={flex:`~ col gap-6`},mS={flex:`~ row`,"items-center":``,"justify-between":``},hS={class:`text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`},gS={text:`neutral-400 dark:neutral-500`},_S=r({__name:`ProviderBasicSettings`,props:{title:{},description:{},onReset:{type:Function}},setup(e){return(t,n)=>(f(),A(`div`,pS,[j(`div`,mS,[j(`div`,null,[j(`h2`,hS,g(e.title||`Basic`),1),j(`div`,gS,[j(`span`,null,g(e.description||`Essential settings`),1)])]),e.onReset?(f(),A(`button`,{key:0,title:`Reset settings`,flex:``,"items-center":``,"justify-center":``,"rounded-full":``,"p-2":``,transition:`all duration-250 ease-in-out`,text:`neutral-500 dark:neutral-400`,bg:`transparent dark:transparent hover:neutral-200 dark:hover:neutral-800 active:neutral-300 dark:active:neutral-700`,onClick:n[0]||=(...t)=>e.onReset&&e.onReset(...t)},[...n[1]||=[j(`div`,{"i-solar:refresh-bold-duotone":``,"text-xl":``},null,-1)]])):a(``,!0)]),x(t.$slots,`default`)]))}}),vS={bg:`neutral-50 dark:[rgba(0,0,0,0.3)]`,"rounded-xl":``,"p-4":``,flex:`~ col gap-6`},yS=r({__name:`ProviderSettingsContainer`,setup(e){return(e,t)=>(f(),A(`div`,vS,[x(e.$slots,`default`)]))}}),bS={text:`neutral-200/50 dark:neutral-600/20`,"pointer-events-none":``,fixed:``,top:`[calc(100dvh-15rem)]`,"bottom-0":``,"right--5":``,"z--1":``,initial:{scale:.9,opacity:0,x:20},enter:{scale:1,opacity:1,x:0},duration:500,"size-60":``},xS=r({__name:`ProviderSettingsLayout`,props:{providerName:{},providerIcon:{},providerIconColor:{},onBack:{type:Function}},setup(e){return(t,n)=>{let r=S(`motion`);return f(),A(re,null,[x(t.$slots,`default`),le((f(),A(`div`,bS,[j(`div`,{text:`60`,class:E(e.providerIcon||e.providerIconColor)},null,2)])),[[r]])],64)}}}),SS=typeof window<`u`,CS=SS?window:null,wS=SS?document:null,TS={OBJECT:0,ATTRIBUTE:1,CSS:2,TRANSFORM:3,CSS_VAR:4},ES={NUMBER:0,UNIT:1,COLOR:2,COMPLEX:3},DS={NONE:0,AUTO:1,FORCE:2},OS={replace:0,none:1,blend:2},kS=Symbol(),AS=Symbol(),jS=Symbol(),MS=Symbol(),NS=Symbol(),PS=1e-11,FS=0xe8d4a51000,IS=1e3,LS=(()=>{let e=new Map;return e.set(`x`,`translateX`),e.set(`y`,`translateY`),e.set(`z`,`translateZ`),e})(),RS=[`translateX`,`translateY`,`translateZ`,`rotate`,`rotateX`,`rotateY`,`rotateZ`,`scale`,`scaleX`,`scaleY`,`scaleZ`,`skew`,`skewX`,`skewY`,`matrix`,`matrix3d`,`perspective`],zS=RS.reduce((e,t)=>({...e,[t]:t+`(`}),{}),BS=()=>{},VS=/(^#([\da-f]{3}){1,2}$)|(^#([\da-f]{4}){1,2}$)/i,HS=/rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/i,US=/rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(-?\d+|-?\d*.\d+)\s*\)/i,WS=/hsl\(\s*(-?\d+|-?\d*.\d+)\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)%\s*\)/i,GS=/hsla\(\s*(-?\d+|-?\d*.\d+)\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)\s*\)/i,KS=/[-+]?\d*\.?\d+(?:e[-+]?\d)?/gi,qS=/^([-+]?\d*\.?\d+(?:e[-+]?\d+)?)([a-z]+|%)$/i,JS=/([a-z])([A-Z])/g,YS=/(\w+)(\([^)]+\)+)/g,XS=/(\*=|\+=|-=)/,ZS=/var\(\s*(--[\w-]+)(?:\s*,\s*([^)]+))?\s*\)/,QS={id:null,keyframes:null,playbackEase:null,playbackRate:1,frameRate:120,loop:0,reversed:!1,alternate:!1,autoplay:!0,persist:!1,duration:IS,delay:0,loopDelay:0,ease:`out(2)`,composition:OS.replace,modifier:e=>e,onBegin:BS,onBeforeUpdate:BS,onUpdate:BS,onLoop:BS,onPause:BS,onComplete:BS,onRender:BS},$S={current:null,root:wS},eC={defaults:QS,precision:4,timeScale:1,tickThreshold:200},tC={version:`4.2.2`,engine:null};SS&&(CS.AnimeJS||=[],CS.AnimeJS.push(tC));var nC=e=>e.replace(JS,`$1-$2`).toLowerCase(),rC=(e,t)=>e.indexOf(t)===0,iC=Date.now,aC=Array.isArray,oC=e=>e&&e.constructor===Object,sC=e=>typeof e==`number`&&!isNaN(e),cC=e=>typeof e==`string`,lC=e=>typeof e==`function`,uC=e=>e===void 0,dC=e=>uC(e)||e===null,fC=e=>SS&&e instanceof SVGElement,pC=e=>VS.test(e),mC=e=>rC(e,`rgb`),hC=e=>rC(e,`hsl`),gC=e=>pC(e)||mC(e)||hC(e),_C=e=>!eC.defaults.hasOwnProperty(e),vC=[`opacity`,`rotate`,`overflow`,`color`],yC=(e,t)=>{if(vC.includes(t))return!1;if(e.getAttribute(t)||t in e){if(t===`scale`){let t=e.parentNode;return t&&t.tagName===`filter`}return!0}},bC=Math.pow,xC=Math.sqrt,SC=Math.sin,CC=Math.cos,wC=Math.floor,TC=Math.asin,EC=Math.PI,DC=Math.round,OC=(e,t,n)=>en?n:e,kC={},AC=(e,t)=>{if(t<0)return e;if(!t)return DC(e);let n=kC[t];return n||=kC[t]=10**t,DC(e*n)/n},jC=(e,t,n)=>e+(t-e)*n,MC=e=>e===1/0?FS:e===-1/0?-FS:e,NC=e=>e<=1e-11?PS:MC(AC(e,11)),PC=e=>aC(e)?[...e]:e,FC=(e,t)=>{let n={...e};for(let r in t){let i=e[r];n[r]=uC(i)?t[r]:i}return n},IC=(e,t,n,r=`_prev`,i=`_next`)=>{let a=e._head,o=i;for(n&&(a=e._tail,o=r);a;){let e=a[o];t(a),a=e}},LC=(e,t,n=`_prev`,r=`_next`)=>{let i=t[n],a=t[r];i?i[r]=a:e._head=a,a?a[n]=i:e._tail=i,t[n]=null,t[r]=null},RC=(e,t,n,r=`_prev`,i=`_next`)=>{let a=e._tail;for(;a&&n&&n(a,t);)a=a[r];let o=a?a[i]:e._head;a?a[i]=t:e._head=t,o?o[r]=t:e._tail=t,t[r]=a,t[i]=o},zC=(e,t,n)=>{let r=e.style.transform,i;if(r){let a=e[MS],o;for(;o=YS.exec(r);){let e=o[1],r=o[2].slice(1,-1);a[e]=r,e===t&&(i=r,n&&(n[t]=r))}}return r&&!uC(i)?i:rC(t,`scale`)?`1`:rC(t,`rotate`)||rC(t,`skew`)?`0deg`:`0px`},BC=e=>{let t=HS.exec(e)||US.exec(e),n=uC(t[4])?1:+t[4];return[+t[1],+t[2],+t[3],n]},VC=e=>{let t=e.length,n=t===4||t===5;return[+(`0x`+e[1]+e[n?1:2]),+(`0x`+e[n?2:3]+e[n?2:4]),+(`0x`+e[n?3:5]+e[n?3:6]),t===5||t===9?+((`0x`+e[n?4:7]+e[n?4:8])/255).toFixed(3):1]},HC=(e,t,n)=>(n<0&&(n+=1),n>1&&--n,n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e),UC=e=>{let t=WS.exec(e)||GS.exec(e),n=t[1]/360,r=t[2]/100,i=t[3]/100,a=uC(t[4])?1:+t[4],o,s,c;if(r===0)o=s=c=i;else{let e=i<.5?i*(1+r):i+r-i*r,t=2*i-e;o=AC(HC(t,e,n+1/3)*255,0),s=AC(HC(t,e,n)*255,0),c=AC(HC(t,e,n-1/3)*255,0)}return[o,s,c,a]},WC=e=>mC(e)?BC(e):pC(e)?VC(e):hC(e)?UC(e):[0,0,0,1],GC=(e,t)=>uC(e)?t:e,KC=(e,t,n,r,i)=>{let a;if(lC(e))a=()=>{let i=e(t,n,r);return isNaN(+i)?i||0:+i};else if(cC(e)&&rC(e,`var(`))a=()=>{let n=e.match(ZS),r=n[1],i=n[2],a=getComputedStyle(t)?.getPropertyValue(r);return(!a||a.trim()===``)&&i&&(a=i.trim()),a||0};else return e;return i&&(i.func=a),a()},qC=(e,t)=>e[AS]?e[jS]&&yC(e,t)?TS.ATTRIBUTE:RS.includes(t)||LS.get(t)?TS.TRANSFORM:rC(t,`--`)?TS.CSS_VAR:t in e.style?TS.CSS:t in e?TS.OBJECT:TS.ATTRIBUTE:TS.OBJECT,JC=(e,t,n)=>{let r=e.style[t];r&&n&&(n[t]=r);let i=r||getComputedStyle(e[NS]||e).getPropertyValue(t);return i===`auto`?`0`:i},YC=(e,t,n,r)=>{let i=uC(n)?qC(e,t):n;return i===TS.OBJECT?e[t]||0:i===TS.ATTRIBUTE?e.getAttribute(t):i===TS.TRANSFORM?zC(e,t,r):i===TS.CSS_VAR?JC(e,t,r).trimStart():JC(e,t,r)},XC=(e,t,n)=>n===`-`?e-t:n===`+`?e+t:e*t,ZC=()=>({t:ES.NUMBER,n:0,u:null,o:null,d:null,s:null}),QC=(e,t)=>{if(t.t=ES.NUMBER,t.n=0,t.u=null,t.o=null,t.d=null,t.s=null,!e)return t;let n=+e;if(isNaN(n)){let n=e;n[1]===`=`&&(t.o=n[0],n=n.slice(2));let r=n.includes(` `)?!1:qS.exec(n);if(r)return t.t=ES.UNIT,t.n=+r[1],t.u=r[2],t;if(t.o)return t.n=+n,t;if(gC(n))return t.t=ES.COLOR,t.d=WC(n),t;{let e=n.match(KS);return t.t=ES.COMPLEX,t.d=e?e.map(Number):[],t.s=n.split(KS)||[],t}}else return t.n=n,t},$C=(e,t)=>(t.t=e._valueType,t.n=e._toNumber,t.u=e._unit,t.o=null,t.d=PC(e._toNumbers),t.s=PC(e._strings),t),ew=ZC(),tw=(e,t,n,r,i)=>{let a=e.parent,o=e.duration,s=e.completed,c=e.iterationDuration,l=e.iterationCount,u=e._currentIteration,d=e._loopDelay,f=e._reversed,p=e._alternate,m=e._hasChildren,h=e._delay,g=e._currentTime,_=h+c,v=t-h,y=OC(g,-h,o),b=OC(v,-h,o),x=v-g,S=b>0,C=b>=o,ee=o<=PS,w=i===DS.FORCE,T=0,te=v,E=0;l>1&&(e._currentIteration=OC(~~(b/(c+(C?0:d))),0,l),C&&e._currentIteration--,T=e._currentIteration%2,te=b%(c+d)||0);let D=f^(p&&T),O=e._ease,ne=C?D?0:o:D?c-te:te;O&&(ne=c*O(ne/c)||0);let k=(a?a.backwards:v=h&&t<=_||t<=h&&y>h||t>=_&&y!==o)||ne>=_&&y!==o||ne<=h&&y>0||t<=y&&y===o&&s||C&&!s&&ee){if(S&&(e.computeDeltaTime(y),n||e.onBeforeUpdate(e)),!m){let t=w||(k?x*-1:x)>=eC.tickThreshold,i=e._offset+(a?a._offset:0)+h+ne,o=e._head,s,c,l,u,d=0;for(;o;){let e=o._composition,n=o._currentTime,a=o._changeDuration,f=o._absoluteStartTime+o._changeDuration,p=o._nextRep,m=o._prevRep,h=e!==OS.none;if((t||(n!==a||i<=f+(p?p._delay:0))&&(n!==0||i>=o._absoluteStartTime))&&(!h||!o._isOverridden&&(!o._isOverlapped||i<=f)&&(!p||p._isOverridden||i<=p._absoluteStartTime)&&(!m||m._isOverridden||i>=m._absoluteStartTime+m._changeDuration+o._delay))){let t=o._currentTime=OC(ne-o._startTime,0,a),n=o._ease(t/o._updateDuration),i=o._modifier,f=o._valueType,p=o._tweenType,m=p===TS.OBJECT,g=f===ES.NUMBER,_=g&&m||n===0||n===1?-1:eC.precision,v,y;if(g)v=y=i(AC(jC(o._fromNumber,o._toNumber,n),_));else if(f===ES.UNIT)y=i(AC(jC(o._fromNumber,o._toNumber,n),_)),v=`${y}${o._unit}`;else if(f===ES.COLOR){let e=o._fromNumbers,t=o._toNumbers,r=AC(OC(i(jC(e[0],t[0],n)),0,255),0),a=AC(OC(i(jC(e[1],t[1],n)),0,255),0),s=AC(OC(i(jC(e[2],t[2],n)),0,255),0),c=OC(i(AC(jC(e[3],t[3],n),_)),0,1);if(v=`rgba(${r},${a},${s},${c})`,h){let e=o._numbers;e[0]=r,e[1]=a,e[2]=s,e[3]=c}}else if(f===ES.COMPLEX){v=o._strings[0];for(let e=0,t=o._toNumbers.length;e0&&!s||k&&v<=1e-11&&s)&&(e.onComplete(e),e.completed=!k):S&&C?l===1/0?e._startTime+=e.duration:e._currentIteration>=l-1&&(e.paused=!0,!s&&!m&&(e.completed=!0,!n&&!(a&&(k||!a.began))&&(e.onComplete(e),e._resolve(e)))):e.completed=!1,E},nw=(e,t,n,r,i)=>{let a=e._currentIteration;if(tw(e,t,n,r,i),e._hasChildren){let o=e,s=o.backwards,c=r?t:o._iterationTime,l=iC(),u=0,d=!0;if(!r&&o._currentIteration!==a){let e=o.iterationDuration;IC(o,t=>{if(!s)!t.completed&&!t.backwards&&t._currentTime{let t=AC((c-e._offset)*e._speed,12),a=e._fps=o.duration&&(o.paused=!0,o.completed||(o.completed=!0,n||(o.onComplete(o),o._resolve(o))))}},rw={},iw=(e,t,n)=>{if(n===TS.TRANSFORM)return LS.get(e)||e;if(n===TS.CSS||n===TS.ATTRIBUTE&&fC(t)&&e in t.style){let t=rw[e];if(t)return t;{let t=e&&nC(e);return rw[e]=t,t}}else return e},aw=e=>{if(e._hasChildren)IC(e,aw,!0);else{let t=e;t.pause(),IC(t,e=>{let n=e.property,r=e.target;if(r[AS]){let i=r.style,a=e._inlineValue,o=dC(a)||a===``;if(e._tweenType===TS.TRANSFORM){let t=r[MS];if(o?delete t[n]:t[n]=a,e._renderTransforms)if(!Object.keys(t).length)i.removeProperty(`transform`);else{let e=``;for(let n in t)e+=zS[n]+t[n]+`) `;i.transform=e}}else o?i.removeProperty(nC(n)):i[n]=a;t._tail===e&&t.targets.forEach(e=>{e.getAttribute&&e.getAttribute(`style`)===``&&e.removeAttribute(`style`)})}})}return e},ow=class{constructor(e=0){this.deltaTime=0,this._currentTime=e,this._elapsedTime=e,this._startTime=e,this._lastTime=e,this._scheduledTime=0,this._frameDuration=AC(IS/120,0),this._fps=120,this._speed=1,this._hasChildren=!1,this._head=null,this._tail=null}get fps(){return this._fps}set fps(e){let t=this._frameDuration,n=+e,r=n<1e-11?PS:n,i=AC(IS/r,0);this._fps=r,this._frameDuration=i,this._scheduledTime+=i-t}get speed(){return this._speed}set speed(e){let t=+e;this._speed=t<1e-11?PS:t}requestTick(e){let t=this._scheduledTime,n=this._elapsedTime;if(this._elapsedTime+=e-n,n{let t=sw.animation;return t||(t={duration:PS,computeDeltaTime:BS,_offset:0,_delay:0,_head:null,_tail:null},sw.animation=t,sw.update=()=>{e.forEach(e=>{for(let t in e){let n=e[t],r=n._head;if(r){let e=r._valueType,t=e===ES.COMPLEX||e===ES.COLOR?PC(r._fromNumbers):null,i=r._fromNumber,a=n._tail;for(;a&&a!==r;){if(t)for(let e=0,n=a._numbers.length;eSS?requestAnimationFrame:setImmediate)(),uw=(()=>SS?cancelAnimationFrame:clearImmediate)(),dw=class extends ow{constructor(e){super(e),this.useDefaultMainLoop=!0,this.pauseOnDocumentHidden=!0,this.defaults=QS,this.paused=!0,this.reqId=0}update(){let e=this._currentTime=iC();if(this.requestTick(e)){this.computeDeltaTime(e);let t=this._speed,n=this._fps,r=this._head;for(;r;){let i=r._next;r.paused?(LC(this,r),this._hasChildren=!!this._tail,r._running=!1,r.completed&&!r._cancelled&&r.cancel()):nw(r,(e-r._startTime)*r._speed*t,0,0,r._fpse.resetTime()),this.wake()}get speed(){return this._speed*(eC.timeScale===1?1:IS)}set speed(e){this._speed=e*eC.timeScale,IC(this,e=>e.speed=e._speed)}get timeUnit(){return eC.timeScale===1?`ms`:`s`}set timeUnit(e){let t=.001,n=e===`s`,r=n?t:1;if(eC.timeScale!==r){eC.timeScale=r,eC.tickThreshold=200*r;let e=n?t:IS;this.defaults.duration*=e,this._speed*=e}}get precision(){return eC.precision}set precision(e){eC.precision=e}},fw=(()=>{let e=new dw(iC());return SS&&(tC.engine=e,wS.addEventListener(`visibilitychange`,()=>{e.pauseOnDocumentHidden&&(wS.hidden?e.pause():e.resume())})),e})(),pw=()=>{fw._head?(fw.reqId=lw(pw),fw.update()):fw.reqId=0},mw=()=>(uw(fw.reqId),fw.reqId=0,fw),hw={_rep:new WeakMap,_add:new Map},gw=(e,t,n=`_rep`)=>{let r=hw[n],i=r.get(e);return i||(i={},r.set(e,i)),i[t]?i[t]:i[t]={_head:null,_tail:null}},_w=(e,t)=>e._isOverridden||e._absoluteStartTime>t._absoluteStartTime,vw=e=>{e._isOverlapped=1,e._isOverridden=1,e._changeDuration=PS,e._currentTime=PS},yw=(e,t)=>{let n=e._composition;if(n===OS.replace){let n=e._absoluteStartTime;RC(t,e,_w,`_prevRep`,`_nextRep`);let r=e._prevRep;if(r){let t=r.parent,i=r._absoluteStartTime+r._changeDuration;if(e.parent.id!==t.id&&t.iterationCount>1&&i+(t.duration-t.iterationDuration)>n){vw(r);let e=r._prevRep;for(;e&&e.parent.id===t.id;)vw(e),e=e._prevRep}let a=n-e._delay;if(i>a){let e=r._startTime,t=AC(a-(i-(e+r._updateDuration))-e,12);r._changeDuration=t,r._currentTime=t,r._isOverlapped=1,t<1e-11&&vw(r)}let o=!0;if(IC(t,e=>{e._isOverlapped||(o=!1)}),o){let e=t.parent;if(e){let n=!0;IC(e,e=>{e!==t&&IC(e,e=>{e._isOverlapped||(n=!1)})}),n&&e.cancel()}else t.cancel()}}}else if(n===OS.blend){let t=gw(e.target,e.property,`_add`),n=cw(hw._add),r=t._head;r||(r={...e},r._composition=OS.replace,r._updateDuration=PS,r._startTime=0,r._numbers=PC(e._fromNumbers),r._number=0,r._next=null,r._prev=null,RC(t,r),RC(n,r));let i=e._toNumber;if(e._fromNumber=r._fromNumber-i,e._toNumber=0,e._numbers=PC(e._fromNumbers),e._number=0,r._fromNumber=i,e._toNumbers){let t=PC(e._toNumbers);t&&t.forEach((t,n)=>{e._fromNumbers[n]=r._fromNumbers[n]-t,e._toNumbers[n]=0}),r._fromNumbers=t}RC(t,e,null,`_prevAdd`,`_nextAdd`)}return e},bw=e=>{let t=e._composition;if(t!==OS.none){let n=e.target,r=e.property,i=hw._rep.get(n)[r];if(LC(i,e,`_prevRep`,`_nextRep`),t===OS.blend){let t=hw._add,i=t.get(n);if(!i)return;let a=i[r],o=sw.animation;LC(a,e,`_prevAdd`,`_nextAdd`);let s=a._head;if(s&&s===a._tail){LC(a,s,`_prevAdd`,`_nextAdd`),LC(o,s);let e=!0;for(let t in i)if(i[t]._head){e=!1;break}e&&t.delete(n)}}}return e},xw=(e,t,n)=>{let r=!1;return IC(t,i=>{let a=i.target;if(e.includes(a)){let e=i.property,o=i._tweenType,s=iw(n,a,o);(!s||s&&s===e)&&(i.parent._tail===i&&i._tweenType===TS.TRANSFORM&&i._prev&&i._prev._tweenType===TS.TRANSFORM&&(i._prev._renderTransforms=1),LC(t,i),bw(i),r=!0)}},!0),r},Sw=(e,t,n)=>{let r=t||fw,i;if(r._hasChildren){let t=0;IC(r,a=>{if(!a._hasChildren)if(i=xw(e,a,n),i&&!a._head)a.cancel(),LC(r,a);else{let e=a._offset+a._delay+a.duration;e>t&&(t=e)}a._head?Sw(e,a,n):a._hasChildren=!1},!0),uC(r.iterationDuration)||(r.iterationDuration=t)}else i=xw(e,r,n);i&&!r._head&&(r._hasChildren=!1,r.cancel&&r.cancel())},Cw=e=>(e.paused=!0,e.began=!1,e.completed=!1,e),ww=e=>e._cancelled?(e._hasChildren?IC(e,ww):IC(e,e=>{e._composition!==OS.none&&yw(e,gw(e.target,e.property))}),e._cancelled=0,e):e,Tw=0,Ew=class extends ow{constructor(e={},t=null,n=0){super(0);let{id:r,delay:i,duration:a,reversed:o,alternate:s,loop:c,loopDelay:l,autoplay:u,frameRate:d,playbackRate:f,onComplete:p,onLoop:m,onPause:h,onBegin:g,onBeforeUpdate:_,onUpdate:v}=e;$S.current&&$S.current.register(this);let y=t?0:fw._elapsedTime,b=t?t.defaults:eC.defaults,x=lC(i)||uC(i)?b.delay:+i,S=lC(a)||uC(a)?1/0:+a,C=GC(c,b.loop),ee=GC(l,b.loopDelay),w=C===!0||C===1/0||C<0?1/0:C+1,T=0;t?T=n:(fw.reqId||fw.requestTick(iC()),T=(fw._elapsedTime-fw._startTime)*eC.timeScale),this.id=uC(r)?++Tw:r,this.parent=t,this.duration=MC((S+ee)*w-ee)||1e-11,this.backwards=!1,this.paused=!0,this.began=!1,this.completed=!1,this.onBegin=g||b.onBegin,this.onBeforeUpdate=_||b.onBeforeUpdate,this.onUpdate=v||b.onUpdate,this.onLoop=m||b.onLoop,this.onPause=h||b.onPause,this.onComplete=p||b.onComplete,this.iterationDuration=S,this.iterationCount=w,this._autoplay=t?!1:GC(u,b.autoplay),this._offset=T,this._delay=x,this._loopDelay=ee,this._iterationTime=0,this._currentIteration=0,this._resolve=BS,this._running=!1,this._reversed=+GC(o,b.reversed),this._reverse=this._reversed,this._cancelled=0,this._alternate=GC(s,b.alternate),this._prev=null,this._next=null,this._elapsedTime=y,this._startTime=y,this._lastTime=y,this._fps=GC(d,b.frameRate),this._speed=GC(f,b.playbackRate)}get cancelled(){return!!this._cancelled}set cancelled(e){e?this.cancel():this.reset(!0).play()}get currentTime(){return OC(AC(this._currentTime,eC.precision),-this._delay,this.duration)}set currentTime(e){let t=this.paused;this.pause().seek(+e),t||this.resume()}get iterationCurrentTime(){return AC(this._iterationTime,eC.precision)}set iterationCurrentTime(e){this.currentTime=this.iterationDuration*this._currentIteration+e}get progress(){return OC(AC(this._currentTime/this.duration,10),0,1)}set progress(e){this.currentTime=this.duration*e}get iterationProgress(){return OC(AC(this._iterationTime/this.iterationDuration,10),0,1)}set iterationProgress(e){let t=this.iterationDuration;this.currentTime=t*this._currentIteration+t*e}get currentIteration(){return this._currentIteration}set currentIteration(e){this.currentTime=this.iterationDuration*OC(+e,0,this.iterationCount-1)}get reversed(){return!!this._reversed}set reversed(e){e?this.reverse():this.play()}get speed(){return super.speed}set speed(e){super.speed=e,this.resetTime()}reset(e=!1){return ww(this),this._reversed&&!this._reverse&&(this.reversed=!1),this._iterationTime=this.iterationDuration,nw(this,0,1,~~e,DS.FORCE),Cw(this),this._hasChildren&&IC(this,Cw),this}init(e=!1){this.fps=this._fps,this.speed=this._speed,!e&&this._hasChildren&&nw(this,this.duration,1,~~e,DS.FORCE),this.reset(e);let t=this._autoplay;return t===!0?this.resume():t&&!uC(t.linked)&&t.link(this),this}resetTime(){let e=1/(this._speed*fw._speed);return this._startTime=iC()-(this._currentTime+this._delay)*e,this}pause(){return this.paused?this:(this.paused=!0,this.onPause(this),this)}resume(){return this.paused?(this.paused=!1,this.duration<=1e-11&&!this._hasChildren?nw(this,PS,0,0,DS.FORCE):(this._running||=(RC(fw,this),fw._hasChildren=!0,!0),this.resetTime(),this._startTime-=12,fw.wake()),this):this}restart(){return this.reset().resume()}seek(e,t=0,n=0){ww(this),this.completed=!1;let r=this.paused;return this.paused=!0,nw(this,e+this._delay,~~t,~~n,DS.AUTO),r?this:this.resume()}alternate(){let e=this._reversed,t=this.iterationCount,n=this.iterationDuration,r=t===1/0?wC(FS/n):t;return this._reversed=+(this._alternate&&!(r%2)?e:!e),t===1/0?this.iterationProgress=this._reversed?1-this.iterationProgress:this.iterationProgress:this.seek(n*r-this._currentTime),this.resetTime(),this}play(){return this._reversed&&this.alternate(),this.resume()}reverse(){return this._reversed||this.alternate(),this.resume()}cancel(){return this._hasChildren?IC(this,e=>e.cancel(),!0):IC(this,bw),this._cancelled=1,this.pause()}stretch(e){let t=this.duration,n=NC(e);if(t===n)return this;let r=e/t,i=e<=PS;return this.duration=i?PS:n,this.iterationDuration=i?PS:NC(this.iterationDuration*r),this._offset*=r,this._delay*=r,this._loopDelay*=r,this}revert(){nw(this,0,1,0,DS.AUTO);let e=this._autoplay;return e&&e.linked&&e.linked===this&&e.revert(),this.cancel()}complete(){return this.seek(this.duration).cancel()}then(e=BS){let t=this.then,n=()=>{this.then=null,e(this),this.then=t,this._resolve=BS};return new Promise(e=>(this._resolve=()=>e(n()),this.completed&&this._resolve(),this))}};function Dw(e){let t=cC(e)?$S.root.querySelectorAll(e):e;if(t instanceof NodeList||t instanceof HTMLCollection)return t}function Ow(e){if(dC(e))return[];if(!SS)return aC(e)&&e.flat(1/0)||[e];if(aC(e)){let t=e.flat(1/0),n=[];for(let e=0,r=t.length;e{let i=t.u,a=t.n;if(t.t===ES.UNIT&&i===n)return t;let o=a+i+n,s=jw[o];if(!uC(s)&&!r)t.n=s;else{let r;if(i in Aw)r=a*Aw[i]/Aw[n];else{let t=e.cloneNode(),o=e.parentNode,s=o&&o!==wS?o:wS.body;s.appendChild(t);let c=t.style;c.width=100+i;let l=t.offsetWidth||100;c.width=100+n;let u=l/(t.offsetWidth||100);s.removeChild(t),r=u*a}t.n=r,jw[o]=r}return t.t,ES.UNIT,t.u=n,t},Nw=e=>e,Pw=(e=1.68)=>t=>bC(t,+e),Fw={in:e=>t=>e(t),out:e=>t=>1-e(1-t),inOut:e=>t=>t<.5?e(t*2)/2:1-e(t*-2+2)/2,outIn:e=>t=>t<.5?(1-e(1-t*2))/2:(e(t*2-1)+1)/2},Iw=EC/2,Lw=EC*2,Rw={"":Pw,Quad:Pw(2),Cubic:Pw(3),Quart:Pw(4),Quint:Pw(5),Sine:e=>1-CC(e*Iw),Circ:e=>1-xC(1-e*e),Expo:e=>e?bC(2,10*e-10):0,Bounce:e=>{let t,n=4;for(;e<((t=bC(2,--n))-1)/11;);return 1/bC(4,3-n)-7.5625*bC((t*3-2)/22-e,2)},Back:(e=1.7)=>t=>(+e+1)*t*t*t-+e*t*t,Elastic:(e=1,t=.3)=>{let n=OC(+e,1,10),r=OC(+t,PS,2),i=r/Lw*TC(1/n),a=Lw/r;return e=>e===0||e===1?e:-n*bC(2,-10*(1-e))*SC((1-e-i)*a)}},zw=(()=>{let e={linear:Nw,none:Nw};for(let t in Fw)for(let n in Rw){let r=Rw[n],i=Fw[t];e[t+n]=n===``||n===`Back`||n===`Elastic`?(e,t)=>i(r(e,t)):i(r)}return e})(),Bw={linear:Nw,none:Nw},Vw=e=>{if(Bw[e])return Bw[e];if(e.indexOf(`(`)<=-1){let t=Fw[e]||e.includes(`Back`)||e.includes(`Elastic`)?zw[e]():zw[e];return t?Bw[e]=t:Nw}else{let t=e.slice(0,-1).split(`(`),n=zw[t[0]];return n?Bw[e]=n(...t[1].split(`,`)):Nw}},Hw=[`steps(`,`irregular(`,`linear(`,`cubicBezier(`],Uw=e=>{if(cC(e)){for(let t=0,n=Hw.length;t{let n={};if(aC(e)){let t=[].concat(...e.map(e=>Object.keys(e))).filter(_C);for(let r=0,i=t.length;r{let t={};for(let n in e){let r=e[n];_C(n)?n===i&&(t.to=r):t[n]=r}return t})}}else{let r=GC(t.duration,eC.defaults.duration);for(let t in Object.keys(e).map(t=>({o:parseFloat(t)/100,p:e[t]})).sort((e,t)=>e.o-t.o).forEach(e=>{let t=e.o,i=e.p;for(let e in i)if(_C(e)){let a=n[e];a||=n[e]=[];let o=t*r,s=a.length,c=a[s-1],l={to:i[e]},u=0;for(let e=0;e=1e3?OS.none:uC(g)?v.composition:g,te=this._offset+(n?n._offset:0);x&&(p.parent=this);let E=NaN,D=NaN,O=0,ne=0;for(let e=0;e2&&t?(Qw=[],s.forEach((e,t)=>{t?t===1?(Yw[1]=e,Qw.push(Yw)):Qw.push(e):Yw[0]=e})):Qw=s}else Jw[0]=s,Qw=Jw;let p=null,m=null,h=NaN,g=0,_=0;for(let e=Qw.length;_1?KC(C,t,r,l)/e:C),t,r,l),b=KC(GC($w.delay,_?0:ee),t,r,l),x=KC(GC($w.composition,T),t,r,l),E=sC(x)?x:OS[x],D=$w.modifier||w,k=!uC(u),re=!uC(c),ie=aC(c),ae=ie||k&&re,oe=m?g+b:b,se=AC(te+oe,12);!ne&&(k||ie)&&(ne=1);let ce=m;if(E!==OS.none){p||=gw(t,o);let e=p._head;for(;e&&!e._isOverridden&&e._absoluteStartTime<=se;)if(ce=e,e=e._nextRep,e&&e._absoluteStartTime>=se)for(;e;)vw(e),e=e._nextRep}if(ae?(QC(ie?KC(c[0],t,r,l):u,Ww),QC(ie?KC(c[1],t,r,l,qw):c,Gw),Ww.t===ES.NUMBER&&(ce?ce._valueType===ES.UNIT&&(Ww.t=ES.UNIT,Ww.u=ce._unit):(QC(YC(t,o,a,Kw),ew),ew.t===ES.UNIT&&(Ww.t=ES.UNIT,Ww.u=ew.u)))):(re?QC(c,Gw):m?$C(m,Gw):QC(n&&ce&&ce.parent.parent===n?ce._value:YC(t,o,a,Kw),Gw),k?QC(u,Ww):m?$C(m,Ww):QC(n&&ce&&ce.parent.parent===n?ce._value:YC(t,o,a,Kw),Ww)),Ww.o&&(Ww.n=XC(ce?ce._toNumber:QC(YC(t,o,a,Kw),ew).n,Ww.n,Ww.o)),Gw.o&&(Gw.n=XC(Ww.n,Gw.n,Gw.o)),Ww.t!==Gw.t){if(Ww.t===ES.COMPLEX||Gw.t===ES.COMPLEX){let e=Ww.t===ES.COMPLEX?Ww:Gw,t=Ww.t===ES.COMPLEX?Gw:Ww;t.t=ES.COMPLEX,t.s=PC(e.s),t.d=e.d.map(()=>t.n)}else if(Ww.t===ES.UNIT||Gw.t===ES.UNIT){let e=Ww.t===ES.UNIT?Ww:Gw,t=Ww.t===ES.UNIT?Gw:Ww;t.t=ES.UNIT,t.u=e.u}else if(Ww.t===ES.COLOR||Gw.t===ES.COLOR){let e=Ww.t===ES.COLOR?Ww:Gw,t=Ww.t===ES.COLOR?Gw:Ww;t.t=ES.COLOR,t.s=e.s,t.d=[0,0,0,1]}}if(Ww.u!==Gw.u){let e=Gw.u?Ww:Gw;e=Mw(t,e,Gw.u?Gw.u:Ww.u,!1)}if(Gw.d&&Ww.d&&Gw.d.length!==Ww.d.length){let e=Ww.d.length>Gw.d.length?Ww:Gw,t=e===Ww?Gw:Ww;t.d=e.d.map((e,n)=>uC(t.d[n])?0:t.d[n]),t.s=PC(e.s)}let le=AC(+y||1e-11,12),A=Kw[o];dC(A)||(Kw[o]=null);let ue={parent:this,id:Zw++,property:o,target:t,_value:null,_func:qw.func,_ease:Uw(v),_fromNumbers:PC(Ww.d),_toNumbers:PC(Gw.d),_strings:PC(Gw.s),_fromNumber:Ww.n,_toNumber:Gw.n,_numbers:PC(Ww.d),_number:Ww.n,_unit:Gw.u,_modifier:D,_currentTime:0,_startTime:oe,_delay:+b,_updateDuration:le,_changeDuration:le,_absoluteStartTime:se,_tweenType:a,_valueType:Gw.t,_composition:E,_isOverlapped:0,_isOverridden:0,_renderTransforms:0,_inlineValue:A,_prevRep:null,_nextRep:null,_prevAdd:null,_nextAdd:null,_prev:null,_next:null};E!==OS.none&&yw(ue,p),isNaN(h)&&(h=ue._startTime),g=AC(oe+le,12),m=ue,O++,RC(this,ue)}(isNaN(D)||hE)&&(E=g),a===TS.TRANSFORM&&(d=O-_,f=O)}if(!isNaN(d)){let e=0;IC(this,t=>{e>=d&&e{e.id===t.id&&(e._renderTransforms=1)})),e++})}}c||console.warn(`No target found. Make sure the element you're trying to animate is accessible before creating your animation.`),D?(IC(this,e=>{e._startTime-e._delay||(e._delay-=D),e._startTime-=D}),E-=D):D=0,E||(E=PS,this.iterationCount=0),this.targets=s,this.duration=E===1e-11?PS:MC((E+this._loopDelay)*this.iterationCount-this._loopDelay)||1e-11,this.onRender=_||v.onRender,this._ease=b,this._delay=D,this.iterationDuration=E,!this._autoplay&&ne&&this.onRender(this)}stretch(e){let t=this.duration;if(t===NC(e))return this;let n=e/t;return IC(this,e=>{e._updateDuration=NC(e._updateDuration*n),e._changeDuration=NC(e._changeDuration*n),e._currentTime*=n,e._startTime*=n,e._absoluteStartTime*=n}),super.stretch(e)}refresh(){return IC(this,e=>{let t=e._func;t&&(QC(YC(e.target,e.property,e._tweenType),ew),QC(t(),Gw),e._fromNumbers=PC(ew.d),e._fromNumber=ew.n,e._toNumbers=PC(Gw.d),e._strings=PC(Gw.s),e._toNumber=Gw.o?XC(ew.n,Gw.n,Gw.o):Gw.n)}),this.duration===1e-11&&this.restart(),this}revert(){return super.revert(),aw(this)}then(e){return super.then(e)}},nT=(e,t)=>new tT(e,t,null,0,!1).init();function rT(e){let t=[],n,r={enqueue:[],dequeue:[],process:[],error:[],result:[],drain:[]},i={};function a(e,t){r[e].push(t)}function o(e,...t){r[e].forEach(e=>e(...t))}function s(e,t){i[e]=i[e]||[],i[e].push(t)}function c(e,...t){(i[e]||[]).forEach(e=>e(...t))}function l(e){t.push(e),o(`enqueue`,e,t.length),n||=d()}function u(){t.length=0}async function d(){for(;t.length>0;){let n=t.shift();o(`dequeue`,n,t.length);for(let t of e.handlers){o(`process`,n,t);try{o(`result`,n,await t({data:n,emit:c}),t)}catch(e){o(`error`,n,e,t);continue}}}o(`drain`),n=void 0}function f(){return t.length}return{enqueue:l,clear:u,length:f,on:a,onHandlerEvent:s}}function iT(){let e;return{stream:new ReadableStream({start(t){e=t}}),controller:e}}function aT(e,t){if(e?.aborted){t?.();let n=Error(`Operation canceled`);throw n.name=e?.reason,n}}function oT(e,t){let n=new Intl.Segmenter(void 0,{granularity:`grapheme`}),r=new TextDecoder(`utf-8`,{fatal:!1}),i=t?.signal;return async function*(){let t=``;for(;;){aT(i,e.close);let{done:a,value:o}=await new Promise((t,n)=>{i?.addEventListener(`abort`,()=>{e.close?.();let t=Error(`Operation canceled`);t.name=i.reason,n(t)},{once:!0}),Promise.resolve(e.read()).then(t).catch(n)});t+=r.decode(o,{stream:!0});let s=n.segment(t);if(a){for(let t of s)aT(i,e.close),yield t.segment;return}let c=s[Symbol.iterator](),l=0,u=c.next();for(;!u.done;){aT(i,e.close);let t=c.next();if(t.done)break;l=t.value.index,yield u.value.segment,u=t}a||(t=t.slice(l))}}()}const sT=``;var cT=new Set(`??!!`),lT=new Set(`.。??!!…⋯~~
+ \r`),uT=new Set(`,,、–—::;;《》「」`);async function*dT(e,t){let{boost:n=2,minimumWords:r=4,maximumWords:i=12}=t??{},a=oT(typeof e==`string`?new ReadableStream({start(t){t.enqueue(new TextEncoder().encode(e)),t.close()}}).getReader():e),o=new Intl.Segmenter(void 0,{granularity:`word`}),s=0,c=``,l=``,u=0,d,f=await a.next();for(;!f.done;){let e=f.value;if(e.length>1){d=e,f=await a.next();continue}let t=e===``,p=e===``,m=lT.has(e),h=uT.has(e),g=cT.has(e),_,v;if(t||p||m||h){switch(e){case`.`:case`,`:if(d!==void 0&&/\d/.test(d)){if(_=await a.next(),!_.done&&_.value&&/\d/.test(_.value)){c+=e,f=_,_=void 0;continue}}else e===`.`&&(_=await a.next(),!_.done&&_.value&&_.value===`.`&&(v=await a.next(),!v.done&&v.value&&v.value===`.`&&(e=`…`,_=void 0,v=void 0)))}if(c.length===0){p&&(yield{text:``,words:0,reason:`special`},s++,u=0),d=e,f=await a.next();continue}let h=[...o.segment(c)].filter(e=>e.isWordLike);u>r&&u+h.length>i&&(yield{text:g?l.trim()+e:l.trim(),words:u,reason:`limit`},s++,l=``,u=0),l+=c+e,u+=h.length,c=``,p?(yield{text:l.slice(0,-1).trim(),words:u,reason:`special`},s++,l=``,u=0):(t||m||u>i||si?`limit`:`boost`},s++,l=``,u=0),d=e,_===void 0?f=await a.next():v===void 0?(f=_,_=void 0):(f=v,_=void 0,v=void 0);continue}c+=e,d=e,_=await a.next(),f=_}console.debug(`while loop ends, chunk/buffer:`,l,c),(l.length>0||c.length>0)&&(yield{text:(l+c).trim(),words:u+[...o.segment(c)].filter(e=>e.isWordLike).length,reason:`flush`})}async function fT(e,t,n){let r=e=>e.replaceAll(``,``).replaceAll(``,``).trim();try{for await(let i of dT(e))if(i.reason===`special`){let e=t.shift();await n({chunk:r(i.text),special:e??null})}else await n({chunk:r(i.text),special:null})}catch(e){console.error(`Error chunking stream to TTS queue:`,e)}}function pT(e){function t(e){for(let t of Pe)if(e.includes(t))return{ok:!0,emotion:t};return{ok:!1,emotion:``}}return rT({handlers:[async n=>{if(Pe.includes(n.data)){n.emit(`emotion`,n.data),e.enqueue(n.data);return}{let{ok:r,emotion:i}=t(n.data);r&&(n.emit(`emotion`,i),e.enqueue(i))}}]})}function mT(){function e(e){if(!/<\|DELAY:\d+\|>/i.test(e))return{ok:!1,delay:0};let t=/<\|DELAY:(\d+)\|>/i.exec(e)?.[1];if(!t)return{ok:!1,delay:0};let n=Number.parseFloat(t);return n<=0||Number.isNaN(n)?{ok:!0,delay:0}:{ok:!0,delay:n}}return rT({handlers:[async t=>{let{ok:n,delay:r}=e(t.data);n&&(t.emit(`delay`,r),await at(r*1e3))}]})}const hT=Ee(`pipelines:character:speech`,()=>{let e=M([]),t=M([]);function n(t){e.value.push(t)}function r(e){t.value.push(e)}let i=ue(),a=ue(),o=ue();function s(e){a.value=e}function c(e){o.value=e}function l(){if(i){try{i.value?.stop(),i.value?.disconnect()}catch{}i.value=void 0}}let u=M(Le(()=>rT({handlers:[n=>new Promise(r=>{if(l(),!a.value){r();return}let s=a.value.createBufferSource();s.buffer=n.data.audioBuffer,s.connect(a.value.destination),s.connect(o.value);for(let t of e.value)try{t({text:n.data.text})}catch(e){console.error(`Error in onPlaybackStarted hook:`,e)}i.value=s,s.start(0),s.onended=()=>{if(n.data.special)for(let e of t.value)try{e({special:n.data.special})}catch(e){console.error(`Error in onPlaybackFinished hook:`,e)}i.value===s&&(i.value=void 0),r()}})]})));function d(){u.value.clear()}function f(){l(),d()}return{onPlaybackStarted:n,onPlaybackFinished:r,connectAudioContext:s,connectAudioAnalyser:c,clearPlaying:l,clearQueue:d,clearAll:f,currentAudioSource:i,playbackQueue:u}}),gT=Ee(`pipelines:workflows:text-segmentation`,()=>{let e=M([]);function t(t){e.value.push(t)}function n(){e.value=[]}return{onTextSegmented:t,clearHooks:n,textSegmentationQueue:M(Le(()=>{let t=M(),n=M(),r=new TextEncoder,{stream:i,controller:a}=iT();t.value=i,n.value=a;let o=[];return fT(i.getReader(),o,async t=>{for(let n of e.value)await n(t)}),rT({handlers:[async e=>{e.data.type===`literal`?a.enqueue(r.encode(e.data.value)):(o.push(e.data.value),a.enqueue(r.encode(``)))}]})}))}});var _T={flex:`~ row`,"gap-4":``},vT={flex:`~ col gap-2 items-start`,"py-4":``},yT={"ml-1":``},bT={key:0,tag:`div`,flex:`~ row items-center gap-1`,"text-sm":``},xT=r({__name:`SpeechStreamingPlayground`,props:{text:{},generateSpeech:{type:Function},voice:{}},setup(e){let t=e,{onTextSegmented:n}=gT(),{textSegmentationQueue:r}=De(gT()),{audioContext:i}=ot(),o=M(!1),s=M([]),c=M(-1),l=rT({handlers:[e=>new Promise(t=>{let n=i.createBufferSource();n.buffer=e.data.audioBuffer,n.connect(i.destination),o.value=!0,n.start(0),n.onended=()=>{o.value=!1,t()}})]});async function u(e){c.value++;try{let n=e.data,r=await t.generateSpeech(n,t.voice,!1),a=await i.decodeAudioData(r);l.enqueue({audioBuffer:a,text:e.data})}catch(e){console.error(`Speech generation failed:`,e)}}let p=rT({handlers:[u]});n(e=>{p.enqueue(e.chunk)});async function m(){r.value.enqueue({type:`literal`,value:t.text})}async function h(){let e=[],n=new ReadableStream({start(e){e.enqueue(new TextEncoder().encode(t.text)),e.close()}});for await(let t of dT(n.getReader(),{boost:1,minimumWords:4,maximumWords:12}))e.push(t);s.value=e}return(e,t)=>(f(),A(re,null,[t[4]||=j(`div`,{class:`flex items-center gap-1 text-sm font-medium`},` Streaming Playground `,-1),j(`div`,_T,[j(`button`,{border:`neutral-800 dark:neutral-200 solid 2`,transition:`border duration-250 ease-in-out`,"rounded-lg":``,"px-4":``,text:`neutral-100 dark:neutral-900`,"py-2":``,"text-sm":``,bg:`neutral-700 dark:neutral-300`,onClick:h},[...t[1]||=[j(`div`,{flex:`~ row`,"items-center":``,"gap-2":``},[j(`div`,{"i-solar:round-double-alt-arrow-right-bold-duotone":``}),j(`span`,null,`Test chunking`)],-1)]]),s.value.length>0?(f(),A(`button`,{key:0,border:`neutral-800 dark:neutral-200 solid 2`,transition:`border duration-250 ease-in-out`,"rounded-lg":``,"px-4":``,text:`neutral-100 dark:neutral-900`,"py-2":``,"text-sm":``,bg:`neutral-700 dark:neutral-300`,onClick:m},[...t[2]||=[j(`div`,{flex:`~ row`,"items-center":``,"gap-2":``},[j(`div`,{"i-solar:round-double-alt-arrow-right-bold-duotone":``}),j(`span`,null,`Test streaming`)],-1)]])):a(``,!0)]),j(`div`,vT,[(f(!0),A(re,null,d(s.value,(e,n)=>(f(),A(`div`,{key:n,flex:`~ row gap-2 items-center`},[j(`div`,{flex:`~ row gap-2 items-center`,"rounded-xl":``,"px-2":``,"py-1.5":``,class:E({"bg-neutral-100 dark:bg-neutral-800":c.value=n})},[j(`span`,yT,g(e.text),1),j(`span`,{"rounded-full":``,"px-2":``,"py-.5":``,"text-nowrap":``,"text-xs":``,b:`~ dashed`,class:E({"b-green text-green":e.reason===`boost`,"b-orange text-orange":e.reason===`limit`,"b-red text-red":e.reason===`hard`,"b-purple text-purple":e.reason===`flush`})},g(e.words)+` words, `+g(e.reason),3)],2),D(ie,{css:!1,onEnter:t[0]||=e=>O(nT)(e,{opacity:[0,1],translateX:[10,0],duration:200,ease:`inOut`})},{default:k(()=>[c.value>=n?(f(),A(`div`,bT,[...t[3]||=[j(`div`,{"i-solar-check-circle-line-duotone":``},null,-1),j(`div`,null,`Queued`,-1)]])):a(``,!0)]),_:2},1024)]))),128))])],64))}}),ST={"w-full":``,"rounded-xl":``},CT={class:`mb-4 text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`,"w-full":``},wT={class:`inline-flex items-center gap-4`},TT={flex:`~ col gap-4`},ET=[`placeholder`],DT=[`placeholder`],OT={flex:`~ row`,"gap-4":``},kT=[`disabled`],AT={flex:`~ row`,"items-center":``,"gap-2":``},jT={flex:`~ row`,"items-center":``,"gap-2":``},MT={key:2,class:`mt-2 text-sm text-red-500`},NT={key:3,class:`mt-2 text-sm text-red-500`},PT={key:4,class:`mt-2 text-sm text-red-500`},FT=[`src`],IT=r({__name:`SpeechPlayground`,props:{defaultText:{},availableVoices:{},generateSpeech:{type:Function},apiKeyConfigured:{type:Boolean}},setup(e,{expose:t}){let n=e,{t:r}=it(),i=M(n.defaultText||`Hello! This is a test of the voice synthesis.`),o=M(!1),s=M(``),c=M(``),u=M(null),d=M(!1),p=M(``),m=M(``);ee(()=>n.availableVoices,e=>{e.length>0&&!m.value&&(m.value=e[0]?.id||``)},{immediate:!0});let h=w(()=>n.availableVoices.map(e=>({value:e.id,label:e.name})));async function _(){if(!(!i.value.trim()&&!d.value||d.value&&!p.value.trim()||!m.value)){o.value=!0,c.value=``;try{s.value&&v();let e=d.value?p.value:i.value,t=await n.generateSpeech(e,m.value,d.value);s.value=URL.createObjectURL(new Blob([t])),setTimeout(()=>{u.value&&u.value.play()},100)}catch(e){console.error(`Error generating speech:`,e),c.value=e instanceof Error?e.message:`An unknown error occurred`}finally{o.value=!1}}}function v(){u.value&&(u.value.pause(),u.value.currentTime=0),s.value&&=(URL.revokeObjectURL(s.value),``)}return l(()=>{s.value&&URL.revokeObjectURL(s.value)}),t({testText:i,ssmlText:p,useSSML:d,selectedVoice:m,isGenerating:o,audioUrl:s,errorMessage:c,audioPlayer:u,generateTestSpeech:_,stopTestAudio:v}),(t,n)=>(f(),A(`div`,ST,[j(`h2`,CT,[j(`div`,wT,[D(O(Ct)),j(`div`,null,g(O(r)(`settings.pages.providers.provider.elevenlabs.playground.title`)),1)])]),j(`div`,TT,[D(O(Ce),{modelValue:d.value,"onUpdate:modelValue":n[0]||=e=>d.value=e,label:O(r)(`settings.pages.modules.speech.sections.section.voice-settings.use-ssml.label`),description:O(r)(`settings.pages.modules.speech.sections.section.voice-settings.use-ssml.description`)},null,8,[`modelValue`,`label`,`description`]),d.value?le((f(),A(`textarea`,{key:1,"onUpdate:modelValue":n[2]||=e=>p.value=e,placeholder:O(r)(`settings.pages.modules.speech.sections.section.voice-settings.input-ssml.placeholder`),border:`neutral-100 dark:neutral-800 solid 2 focus:neutral-200 dark:focus:neutral-700`,transition:`all duration-250 ease-in-out`,bg:`neutral-100 dark:neutral-800 focus:neutral-50 dark:focus:neutral-900`,"h-48":``,"w-full":``,"rounded-lg":``,"px-3":``,"py-2":``,"text-sm":``,"font-mono":``,"outline-none":``},null,8,DT)),[[ne,p.value]]):le((f(),A(`textarea`,{key:0,"onUpdate:modelValue":n[1]||=e=>i.value=e,placeholder:O(r)(`settings.pages.providers.provider.elevenlabs.playground.fields.field.input.placeholder`),border:`neutral-100 dark:neutral-800 solid 2 focus:neutral-200 dark:focus:neutral-700`,transition:`all duration-250 ease-in-out`,bg:`neutral-100 dark:neutral-800 focus:neutral-50 dark:focus:neutral-900`,"h-24":``,"w-full":``,"rounded-lg":``,"px-3":``,"py-2":``,"text-sm":``,"outline-none":``},null,8,ET)),[[ne,i.value]]),D(O(ye),{modelValue:m.value,"onUpdate:modelValue":n[3]||=e=>m.value=e,class:`[&>div]:grid [&>div]:grid-cols-[4fr_2fr]`,options:h.value,label:O(r)(`settings.pages.providers.provider.elevenlabs.playground.fields.field.voice.label`),description:O(r)(`settings.pages.providers.provider.elevenlabs.playground.fields.field.voice.description`),layout:`horizontal`},null,8,[`modelValue`,`options`,`label`,`description`]),j(`div`,OT,[j(`button`,{border:`neutral-800 dark:neutral-200 solid 2`,transition:`border duration-250 ease-in-out`,"rounded-lg":``,"px-4":``,text:`neutral-100 dark:neutral-900`,"py-2":``,"text-sm":``,disabled:o.value||!i.value.trim()&&!d.value||d.value&&!p.value.trim()||!m.value||!e.apiKeyConfigured,class:E({"opacity-50 cursor-not-allowed":o.value||!i.value.trim()&&!d.value||d.value&&!p.value.trim()||!m.value||!e.apiKeyConfigured}),bg:`neutral-700 dark:neutral-300`,onClick:_},[j(`div`,AT,[n[4]||=j(`div`,{"i-solar:play-circle-bold-duotone":``},null,-1),j(`span`,null,g(o.value?O(r)(`settings.pages.providers.provider.elevenlabs.playground.buttons.button.test-voice.generating`):O(r)(`settings.pages.providers.provider.elevenlabs.playground.buttons.button.test-voice.label`)),1)])],10,kT),s.value?(f(),A(`button`,{key:0,border:`primary-300 dark:primary-800 solid 2`,transition:`border duration-250 ease-in-out`,"rounded-lg":``,"px-4":``,"py-2":``,"text-sm":``,onClick:v},[j(`div`,jT,[n[5]||=j(`div`,{"i-solar:stop-circle-bold-duotone":``},null,-1),j(`span`,null,g(O(r)(`settings.pages.modules.speech.sections.section.playground.buttons.stop.label`)),1)])])):a(``,!0)]),e.apiKeyConfigured?a(``,!0):(f(),A(`div`,MT,g(O(r)(`settings.pages.providers.provider.elevenlabs.playground.validation.error-missing-api-key`)),1)),m.value?a(``,!0):(f(),A(`div`,NT,g(O(r)(`settings.pages.modules.speech.sections.section.playground.select-voice.required`)),1)),c.value?(f(),A(`div`,PT,g(c.value),1)):a(``,!0),s.value?(f(),A(`audio`,{key:5,ref_key:`audioPlayer`,ref:u,src:s.value,controls:``,class:`mt-2 w-full`},null,8,FT)):a(``,!0),D(xT,{text:i.value,voice:m.value,"generate-speech":e.generateSpeech},null,8,[`text`,`voice`,`generate-speech`])]),x(t.$slots,`default`)]))}}),LT={"w-full":``,"rounded-xl":``},RT={class:`mb-4 text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`,"w-full":``},zT={class:`inline-flex items-center gap-4`},BT={flex:`~ col gap-4`},VT=[`placeholder`],HT=[`placeholder`],UT={flex:`~ row`,"gap-4":``},WT=[`disabled`],GT={flex:`~ row`,"items-center":``,"gap-2":``},KT={flex:`~ row`,"items-center":``,"gap-2":``},qT={key:2,class:`mt-2 text-sm text-red-500`},JT={key:3,class:`mt-2 text-sm text-red-500`},YT=[`src`],XT=r({__name:`SpeechPlaygroundOpenAICompatible`,props:{defaultText:{},modelValue:{},voice:{},generateSpeech:{type:Function},apiKeyConfigured:{type:Boolean}},emits:[`update:modelValue`,`update:voice`],setup(e,{expose:t,emit:n}){let r=e,i=n,{t:o}=it(),s=w({get:()=>r.modelValue,set:e=>i(`update:modelValue`,e)}),c=w({get:()=>r.voice,set:e=>i(`update:voice`,e)}),u=M(r.defaultText||`Hello! This is a test of the voice synthesis.`),d=M(!1),p=M(``),m=M(``),h=M(null),_=M(!1),v=M(``);async function y(){if(!(!u.value.trim()&&!_.value||_.value&&!v.value.trim())){d.value=!0,m.value=``;try{p.value&&S();let e=_.value?v.value:u.value,t=await r.generateSpeech(e,c.value,_.value,s.value);p.value=URL.createObjectURL(new Blob([t])),setTimeout(()=>{h.value&&h.value.play()},100)}catch(e){console.error(`Error generating speech:`,e),m.value=e instanceof Error?e.message:`An unknown error occurred`}finally{d.value=!1}}}function S(){h.value&&(h.value.pause(),h.value.currentTime=0),p.value&&=(URL.revokeObjectURL(p.value),``)}return l(()=>{p.value&&URL.revokeObjectURL(p.value)}),t({testText:u,ssmlText:v,useSSML:_,isGenerating:d,audioUrl:p,errorMessage:m,audioPlayer:h,generateTestSpeech:y,stopTestAudio:S}),(t,n)=>{let r=b(`SpeechStreamingPlayground`);return f(),A(`div`,LT,[j(`h2`,RT,[j(`div`,zT,[D(O(Ct)),j(`div`,null,g(O(o)(`settings.pages.providers.provider.elevenlabs.playground.title`)),1)])]),j(`div`,BT,[D(O(be),{modelValue:s.value,"onUpdate:modelValue":n[0]||=e=>s.value=e,label:`Model ID`,placeholder:`tts-1`},null,8,[`modelValue`]),D(O(be),{modelValue:c.value,"onUpdate:modelValue":n[1]||=e=>c.value=e,label:`Voice`,placeholder:`alloy`},null,8,[`modelValue`]),D(O(Ce),{modelValue:_.value,"onUpdate:modelValue":n[2]||=e=>_.value=e,label:O(o)(`settings.pages.modules.speech.sections.section.voice-settings.use-ssml.label`),description:O(o)(`settings.pages.modules.speech.sections.section.voice-settings.use-ssml.description`)},null,8,[`modelValue`,`label`,`description`]),_.value?le((f(),A(`textarea`,{key:1,"onUpdate:modelValue":n[4]||=e=>v.value=e,placeholder:O(o)(`settings.pages.modules.speech.sections.section.voice-settings.input-ssml.placeholder`),border:`neutral-100 dark:neutral-800 solid 2 focus:neutral-200 dark:focus:neutral-700`,transition:`all duration-250 ease-in-out`,bg:`neutral-100 dark:neutral-800 focus:neutral-50 dark:focus:neutral-900`,"h-48":``,"w-full":``,"rounded-lg":``,"px-3":``,"py-2":``,"text-sm":``,"font-mono":``,"outline-none":``},null,8,HT)),[[ne,v.value]]):le((f(),A(`textarea`,{key:0,"onUpdate:modelValue":n[3]||=e=>u.value=e,placeholder:O(o)(`settings.pages.providers.provider.elevenlabs.playground.fields.field.input.placeholder`),border:`neutral-100 dark:neutral-800 solid 2 focus:neutral-200 dark:focus:neutral-700`,transition:`all duration-250 ease-in-out`,bg:`neutral-100 dark:neutral-800 focus:neutral-50 dark:focus:neutral-900`,"h-24":``,"w-full":``,"rounded-lg":``,"px-3":``,"py-2":``,"text-sm":``,"outline-none":``},null,8,VT)),[[ne,u.value]]),j(`div`,UT,[j(`button`,{border:`neutral-800 dark:neutral-200 solid 2`,transition:`border duration-250 ease-in-out`,"rounded-lg":``,"px-4":``,text:`neutral-100 dark:neutral-900`,"py-2":``,"text-sm":``,disabled:d.value||!u.value.trim()&&!_.value||_.value&&!v.value.trim()||!e.apiKeyConfigured,class:E({"opacity-50 cursor-not-allowed":d.value||!u.value.trim()&&!_.value||_.value&&!v.value.trim()||!e.apiKeyConfigured}),bg:`neutral-700 dark:neutral-300`,onClick:y},[j(`div`,GT,[n[5]||=j(`div`,{"i-solar:play-circle-bold-duotone":``},null,-1),j(`span`,null,g(d.value?O(o)(`settings.pages.providers.provider.elevenlabs.playground.buttons.button.test-voice.generating`):O(o)(`settings.pages.providers.provider.elevenlabs.playground.buttons.button.test-voice.label`)),1)])],10,WT),p.value?(f(),A(`button`,{key:0,border:`primary-300 dark:primary-800 solid 2`,transition:`border duration-250 ease-in-out`,"rounded-lg":``,"px-4":``,"py-2":``,"text-sm":``,onClick:S},[j(`div`,KT,[n[6]||=j(`div`,{"i-solar:stop-circle-bold-duotone":``},null,-1),j(`span`,null,g(O(o)(`settings.pages.modules.speech.sections.section.playground.buttons.stop.label`)),1)])])):a(``,!0)]),e.apiKeyConfigured?a(``,!0):(f(),A(`div`,qT,g(O(o)(`settings.pages.providers.provider.elevenlabs.playground.validation.error-missing-api-key`)),1)),m.value?(f(),A(`div`,JT,g(m.value),1)):a(``,!0),p.value?(f(),A(`audio`,{key:4,ref_key:`audioPlayer`,ref:h,src:p.value,controls:``,class:`mt-2 w-full`},null,8,YT)):a(``,!0),D(r,{text:u.value,voice:c.value,"generate-speech":e.generateSpeech},null,8,[`text`,`voice`,`generate-speech`])]),x(t.$slots,`default`)])}}}),ZT={flex:`~ col md:row gap-6`},QT={flex:`~ col gap-6`},$T={class:`text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`},eE={flex:`~ col gap-4`},tE={flex:`~ col gap-6`,class:`w-full md:w-[60%]`},nE={"w-full":``,"rounded-xl":``},rE=r({__name:`SpeechProviderSettings`,props:{providerId:{},defaultModel:{},additionalSettings:{},placeholder:{}},setup(e){let t=e,{t:n}=it(),r=ke(),i=Qe(),a=tt(),{providers:o}=De(i),s=w(()=>i.getProviderMetadata(t.providerId)),c=w({get:()=>o.value[t.providerId]?.apiKey||``,set:e=>{o.value[t.providerId]||(o.value[t.providerId]={}),o.value[t.providerId].apiKey=e}}),l=w({get:()=>o.value[t.providerId]?.baseUrl||s.value?.defaultOptions?.().baseUrl||``,set:e=>{o.value[t.providerId]||(o.value[t.providerId]={}),o.value[t.providerId].baseUrl=e}}),u=M({});function d(){o.value[t.providerId]?.voiceSettings?u.value={...o.value[t.providerId].voiceSettings}:u.value={pitch:0,speed:1,volume:0,...t.additionalSettings}}y(()=>{i.initializeProvider(t.providerId),c.value=o.value[t.providerId]?.apiKey||``,l.value=o.value[t.providerId]?.baseUrl||s.value?.defaultOptions?.().baseUrl||``,d(),i.configuredProviders[t.providerId]&&a.loadVoicesForProvider(t.providerId)});let p=ze(()=>{o.value[t.providerId]={...o.value[t.providerId],apiKey:c.value,baseUrl:l.value||s.value?.defaultOptions?.().baseUrl||``,voiceSettings:{...u.value}}},1e3);ee([c,l],p),ee(u,p,{deep:!0});function m(){u.value={...s.value?.defaultOptions?.().voiceSettings},p()}return(e,i)=>(f(),v(xS,{"provider-name":s.value?.localizedName,"provider-icon":s.value?.icon,"provider-icon-color":s.value?.iconColor,"on-back":()=>O(r).back()},{default:k(()=>[j(`div`,ZT,[D(O(yS),{class:`w-full md:w-[40%]`},{default:k(()=>[D(O(_S),{title:O(n)(`settings.pages.providers.common.section.basic.title`),description:O(n)(`settings.pages.providers.common.section.basic.description`),"on-reset":m},{default:k(()=>[D(O(dS),{modelValue:c.value,"onUpdate:modelValue":i[0]||=e=>c.value=e,"provider-name":s.value?.localizedName,placeholder:t.placeholder||`API Key`},null,8,[`modelValue`,`provider-name`,`placeholder`]),x(e.$slots,`basic-settings`)]),_:3},8,[`title`,`description`]),j(`div`,QT,[j(`h2`,$T,g(O(n)(`settings.pages.providers.common.section.voice.title`)),1),j(`div`,eE,[x(e.$slots,`voice-settings`)])]),D(O(uS),{title:O(n)(`settings.pages.providers.common.section.advanced.title`)},{default:k(()=>[D(O(fS),{modelValue:l.value,"onUpdate:modelValue":i[1]||=e=>l.value=e,placeholder:s.value?.defaultOptions?.().baseUrl||``,required:``},null,8,[`modelValue`,`placeholder`]),x(e.$slots,`advanced-settings`)]),_:3},8,[`title`])]),_:3}),j(`div`,tE,[j(`div`,nE,[x(e.$slots,`playground`)])])])]),_:3},8,[`provider-name`,`provider-icon`,`provider-icon-color`,`on-back`]))}});function iE(){let e=M(),t=M(),n=M(),r=M([]),i=M(0),a=M();function o(e){return r.value.push(e),()=>{r.value=r.value.filter(t=>t!==e)}}function s(){if(n.value)return;let a=()=>{if(!e.value||!t.value)return;e.value.getByteFrequencyData(t.value);let o=0;for(let e=0;e{u()}),{volumeLevel:i,error:a,startAnalyzer:c,stopAnalyzer:u,onAnalyzerUpdate:o}}function aE(e){let t=e.getAudioTracks();if(!t.length)throw Error(`No audio tracks found in stream`);return t[0]}function oE(e){let t=s(e),n=ue(),r=M(),i=M(),a=M([]);function o(e){return a.value.push(e),()=>{a.value=a.value.filter(t=>t!==e)}}async function c(){await Re(t).toBeTruthy();let e=await aE(t.value);r.value=new dt({format:new ct,target:new st});let n=new lt(e,{codec:`pcm-f32`,bitrate:ut});n.errorPromise.catch(console.error),r.value.addAudioTrack(n),i.value=await r.value.getMimeType(),await r.value.start()}async function l(){if(!r.value)return;await r.value.finalize();let e=r.value.target?.buffer,t=e?new Blob([e],{type:i.value}):void 0;n.value=t;for(let e of a.value)try{await e(t)}catch(e){console.error(`onStopRecord hook failed:`,e)}return r.value=void 0,t}return{startRecord:c,stopRecord:l,onStopRecord:o,recording:n}}function sE(){let e=Ve({constraints:{audio:!0},requestPermissions:!0}),t=w(()=>e.audioInputs.value),n=M(e.audioInputs.value[0]?.deviceId||``),r=w(()=>({audio:{deviceId:{exact:n.value},autoGainControl:!0,echoCancellation:!0,noiseSuppression:!0}})),{stream:a,stop:o,start:s}=qe({constraints:r,enabled:!1,autoSwitch:!0});return ee(t,()=>{!n.value&&t.value.length>0&&(n.value=t.value[0]?.deviceId)}),y(()=>{e.ensurePermissions().then(()=>i()).then(()=>{t.value.length>0&&!n.value&&(n.value=t.value.find(e=>e.deviceId===`default`)?.deviceId||t.value[0].deviceId)}).catch(e=>{console.error(`Error ensuring permissions:`,e)})}),{audioInputs:t,selectedAudioInput:n,stream:a,stopStream:o,startStream:s,deviceConstraints:r}}var cE={"w-full":``,"pt-1":``},lE={class:`mb-4 text-lg text-neutral-500 md:text-2xl dark:text-neutral-400`,"w-full":``},uE={class:`inline-flex items-center gap-4`},dE={"mb-2":``},fE=[`src`],pE={key:0,class:`mt-2 text-sm text-neutral-500 dark:text-neutral-400`},mE={class:`space-y-3`},hE={class:`space-y-3`},gE={class:`flex items-center gap-3`},_E={class:`text-sm font-medium`},vE=r({__name:`TranscriptionPlayground`,props:{generateTranscription:{type:Function},apiKeyConfigured:{type:Boolean}},setup(e){let t=e,{t:n}=it(),{audioInputs:r,selectedAudioInput:i,stream:o,stopStream:s,startStream:c}=sE(),{volumeLevel:u,stopAnalyzer:p,startAnalyzer:h}=iE(),{startRecord:_,stopRecord:v,onStopRecord:y}=oE(o),b=M(25),x=M(!1),S=M(!1),C=M(``),T=ue(),ne=M(),ie=M(),ae=M([]),oe=M([]),se=w(()=>ae.value.map(e=>{let t=URL.createObjectURL(e);return oe.value.push(()=>URL.revokeObjectURL(t)),t})),ce=M([]);ee(i,async()=>{x.value&&await le()}),ee(r,()=>{!i.value&&r.value.length>0&&(i.value=r.value.find(e=>e.deviceId===`default`)?.deviceId||r.value[0].deviceId)});async function le(){try{await de(),await c(),await Re(o).toBeTruthy(),T.value=new AudioContext;let e=T.value.createMediaStreamSource(o.value),t=h(T.value);e.connect(t);let n=t.frequencyBinCount;ne.value=new Uint8Array(n)}catch(e){console.error(`Error setting up audio monitoring:`,e),C.value=e instanceof Error?e.message:String(e)}}async function de(){ie.value&&=(cancelAnimationFrame(ie.value),void 0),o.value&&=(o.value.getTracks().forEach(e=>e.stop()),void 0),T.value&&=(await T.value.close(),void 0),await v(),await s(),await p(),ne.value=void 0,S.value=!1}y(async e=>{try{if(e&&e.size>0){ae.value.push(e);let n=await t.generateTranscription(new File([e],`recording.wav`)),r=n.mode===`stream`?await n.text:n.text;ce.value.push(r)}}catch(e){C.value=e instanceof Error?e.message:String(e),console.error(`Error generating transcription:`,C.value)}});async function fe(){x.value?(await de(),await v(),x.value=!1):(await le(),await _(),x.value=!0)}let pe=w(()=>S.value?`bg-green-500 shadow-lg shadow-green-500/50`:`bg-white dark:bg-neutral-900 border-2 border-neutral-300 dark:border-neutral-600`);return l(()=>{de()}),(e,t)=>(f(),A(`div`,cE,[j(`h2`,lE,[j(`div`,uE,[D(O(Ct)),j(`div`,null,g(O(n)(`settings.pages.providers.provider.transcriptions.playground.title`)),1)])]),j(`div`,dE,[D(O(ye),{modelValue:O(i),"onUpdate:modelValue":t[0]||=e=>te(i)?i.value=e:null,label:`Audio Input Device`,description:`Select the audio input device for your hearing module.`,options:O(r).map(e=>({label:e.label||e.deviceId,value:e.deviceId})),placeholder:`Select an audio input device`,layout:`vertical`,"h-fit":``,"w-full":``},null,8,[`modelValue`,`options`])]),D(O(we),{class:`my-4`,"w-full":``,onClick:fe},{default:k(()=>[m(g(x.value?`Stop Monitoring`:`Start Monitoring`),1)]),_:1}),j(`div`,null,[(f(!0),A(re,null,d(se.value,(e,t)=>(f(),A(`div`,{key:t,class:`mb-2`},[j(`audio`,{src:e,controls:``,class:`w-full`},null,8,fE),ce.value[t]?(f(),A(`div`,pE,g(ce.value[t]),1)):a(``,!0)]))),128))]),j(`div`,mE,[D(O(yt),{level:O(u),label:`Input Level`},null,8,[`level`]),D(O(jt),{value:O(u)/100,threshold:b.value/100,label:`Probability of Speech`,"below-label":`Silence`,"above-label":`Speech`,"threshold-label":`Detection threshold`},null,8,[`value`,`threshold`]),j(`div`,hE,[D(O(Se),{modelValue:b.value,"onUpdate:modelValue":t[1]||=e=>b.value=e,label:`Sensitivity`,description:`Adjust the threshold for speech detection`,min:1,max:80,step:1,"format-value":e=>`${e}%`},null,8,[`modelValue`,`format-value`])]),j(`div`,gE,[j(`div`,{class:E([`h-4 w-4 rounded-full transition-all duration-200`,pe.value])},null,2),j(`span`,_E,g(S.value?`Speaking Detected`:`Silence`),1)])])]))}}),yE={flex:`~ col md:row gap-6`},bE={flex:`~ col gap-6`,class:`w-full md:w-[60%]`},xE={"w-full":``,"rounded-xl":``},SE=r({__name:`TranscriptionProviderSettings`,props:{providerId:{},defaultModel:{},additionalSettings:{},placeholder:{}},setup(e){let t=e,{t:n}=it(),r=ke(),i=Qe(),{providers:a}=De(i),o=w(()=>i.getProviderMetadata(t.providerId)),s=w({get:()=>a.value[t.providerId]?.apiKey||``,set:e=>{a.value[t.providerId]||(a.value[t.providerId]={}),a.value[t.providerId].apiKey=e}}),c=w({get:()=>a.value[t.providerId]?.baseUrl||o.value?.defaultOptions?.().baseUrl||``,set:e=>{a.value[t.providerId]||(a.value[t.providerId]={}),a.value[t.providerId].baseUrl=e}});y(()=>{i.initializeProvider(t.providerId),s.value=a.value[t.providerId]?.apiKey||``,c.value=a.value[t.providerId]?.baseUrl||o.value?.defaultOptions?.().baseUrl||``});function l(){s.value=``,c.value=o.value?.defaultOptions?.().baseUrl||``}return(e,i)=>(f(),v(O(xS),{"provider-name":o.value?.localizedName,"provider-icon":o.value?.icon,"provider-icon-color":o.value?.iconColor,"on-back":()=>O(r).back()},{default:k(()=>[j(`div`,yE,[D(O(yS),{class:`w-full md:w-[40%]`},{default:k(()=>[D(O(_S),{title:O(n)(`settings.pages.providers.common.section.basic.title`),description:O(n)(`settings.pages.providers.common.section.basic.description`),"on-reset":l},{default:k(()=>[D(O(dS),{modelValue:s.value,"onUpdate:modelValue":i[0]||=e=>s.value=e,"provider-name":o.value?.localizedName,placeholder:t.placeholder||`API Key`},null,8,[`modelValue`,`provider-name`,`placeholder`]),x(e.$slots,`basic-settings`)]),_:3},8,[`title`,`description`]),D(O(uS),{title:O(n)(`settings.pages.providers.common.section.advanced.title`)},{default:k(()=>[D(O(fS),{modelValue:c.value,"onUpdate:modelValue":i[1]||=e=>c.value=e,placeholder:o.value?.defaultOptions?.().baseUrl||``,required:``},null,8,[`modelValue`,`placeholder`]),x(e.$slots,`advanced-settings`)]),_:3},8,[`title`])]),_:3}),j(`div`,bE,[j(`div`,xE,[x(e.$slots,`playground`)])])])]),_:3},8,[`provider-name`,`provider-icon`,`provider-icon-color`,`on-back`]))}}),CE={"h-full":``,flex:``,"flex-col":``,"gap-4":``},wE={sticky:``,"top-0":``,"z-100":``,flex:``,"flex-shrink-0":``,"items-center":``,"gap-2":``},TE={class:`flex-1 text-center text-xl text-neutral-800 font-semibold md:text-left md:text-2xl dark:text-neutral-100`},EE={key:0,"flex-1":``,"overflow-y-auto":``,"space-y-4":``},DE={class:`space-y-4`},OE={key:0},kE={key:1},AE={key:2},jE=r({__name:`step-provider-configuration`,setup(e){let{t}=it(),n=c($x),r=Qe(),i=M(``),o=M(``),s=M(``),l=M(`unchecked`),u=M();function d(){let e=n.selectedProvider.value;e&&(o.value=(e.defaultOptions?.()||{})?.baseUrl||``,i.value=``,s.value=``,l.value=`unchecked`,u.value=void 0)}ee(()=>n.selectedProvider.value?.id,()=>{d()});let p=w(()=>n.selectedProvider.value?n.selectedProvider.value.id!==`ollama`&&n.selectedProvider.value.id!==`player2`:!1),h=w(()=>n.selectedProvider.value?n.selectedProvider.value.id!==`cloudflare-workers-ai`:!1),_=w(()=>!n.selectedProviderId.value||p.value&&!i.value.trim()?!1:l.value===`unchecked`||l.value===`succeed`);async function y(){if(n.selectedProvider.value){l.value=`pending`;try{let e={};p.value&&(e.apiKey=i.value.trim()),h.value&&(e.baseUrl=o.value.trim()),n.selectedProvider.value.id===`cloudflare-workers-ai`&&(e.accountId=s.value.trim());let t=await r.getProviderMetadata(n.selectedProvider.value.id).validators.validateProviderConfig(e);l.value=t.valid?`succeed`:`failed`,l.value===`failed`&&(u.value=t.reason)}catch(e){l.value=`failed`,u.value=t(`settings.dialogs.onboarding.validationError`,{error:e instanceof Error?e.message:String(e)})}}}async function b(){await y(),l.value!==`failed`&&await n.handleNextStep({apiKey:i.value,baseUrl:o.value,accountId:s.value})}function x(e){return{openai:`sk-...`,anthropic:`sk-ant-...`,"google-generative-ai":`AI...`,"openrouter-ai":`sk-or-...`,deepseek:`sk-...`,xai:`xai-...`,"together-ai":`togetherapi-...`,"mistral-ai":`mis-...`,"moonshot-ai":`ms-...`,modelscope:`ms-...`,"fireworks-ai":`fw-...`,"featherless-ai":`fw-...`,"novita-ai":`nvt-...`}[e]||`API Key`}function S(e){return(n.selectedProvider.value?.defaultOptions?.()||{})?.baseUrl||`https://api.example.com/v1/`}return d(),(e,r)=>(f(),A(`div`,CE,[j(`div`,wE,[j(`button`,{"outline-none":``,onClick:r[0]||=(...e)=>O(n).handlePreviousStep&&O(n).handlePreviousStep(...e)},[...r[4]||=[j(`div`,{"i-solar:alt-arrow-left-line-duotone":``,"h-5":``,"w-5":``},null,-1)]]),j(`h2`,TE,g(O(t)(`settings.dialogs.onboarding.configureProvider`,{provider:O(n).selectedProvider.value?.localizedName})),1),r[5]||=j(`div`,{"h-5":``,"w-5":``},null,-1)]),O(n).selectedProvider.value?(f(),A(`div`,EE,[D(O(ve),{label:`Keep your API keys and credentials safe!`,theme:`violet`},{default:k(()=>[...r[6]||=[j(`div`,null,[j(`div`,null,` AIRI is running pure locally in your browser, and we will never steal your credentials for AI / LLM providers. But keep in mind that your API keys are sensitive information. Make sure to keep them safe and do not share them with anyone. `),j(`div`,null,[m(` AIRI is open sourced at `),j(`div`,{"inline-flex":``,"translate-y-1":``,"items-center":``,"gap-1":``},[j(`div`,{"i-simple-icons:github":``,"inline-block":``}),j(`a`,{"decoration-underline":``,"decoration-dashed":``,href:`https://github.com/moeru-ai/airi`,target:`_blank`,rel:`noopener noreferrer`},`GitHub`)]),m(`, if you want to check how we handle your credentials, feel free to inspect our code. `)])],-1)]]),_:1}),j(`div`,DE,[p.value?(f(),A(`div`,OE,[D(O(be),{modelValue:i.value,"onUpdate:modelValue":r[1]||=e=>i.value=e,placeholder:x(O(n).selectedProvider.value.id),type:`password`,label:`API Key`,description:`Enter your API key for the selected provider.`,required:``},null,8,[`modelValue`,`placeholder`])])):a(``,!0),h.value?(f(),A(`div`,kE,[D(O(be),{modelValue:o.value,"onUpdate:modelValue":r[2]||=e=>o.value=e,placeholder:S(O(n).selectedProvider.value.id),type:`text`,label:`Base URL`,description:`Enter the base URL for the provider's API.`},null,8,[`modelValue`,`placeholder`])])):a(``,!0),O(n).selectedProvider.value.id===`cloudflare-workers-ai`?(f(),A(`div`,AE,[D(O(oS),{modelValue:s.value,"onUpdate:modelValue":r[3]||=e=>s.value=e},null,8,[`modelValue`])])):a(``,!0)]),l.value===`failed`?(f(),v(O(hx),{key:0,title:O(t)(`settings.dialogs.onboarding.validationFailed`),error:u.value},null,8,[`title`,`error`])):a(``,!0)])):a(``,!0),D(O(we),{label:O(t)(`settings.dialogs.onboarding.next`),loading:l.value===`pending`,disabled:!_.value,onClick:b},null,8,[`label`,`loading`,`disabled`])]))}}),ME={"h-full":``,flex:``,"flex-col":``,"gap-4":``},NE={sticky:``,"top-0":``,"z-100":``,flex:``,"flex-shrink-0":``,"items-center":``,"gap-2":``},PE={class:`flex-1 text-center text-xl text-neutral-800 font-semibold md:text-left md:text-2xl dark:text-neutral-100`},FE={class:`flex-1 overflow-y-auto`},IE={class:`grid grid-cols-1 gap-3 sm:grid-cols-2`},LE=r({__name:`step-provider-selection`,setup(e){let{t}=it(),n=c($x);return(e,r)=>(f(),A(`div`,ME,[j(`div`,NE,[j(`button`,{"outline-none":``,onClick:r[0]||=(...e)=>O(n).handlePreviousStep&&O(n).handlePreviousStep(...e)},[...r[2]||=[j(`div`,{class:`i-solar:alt-arrow-left-line-duotone h-5 w-5`},null,-1)]]),j(`h2`,PE,g(O(t)(`settings.dialogs.onboarding.selectProvider`)),1),r[3]||=j(`div`,{class:`h-5 w-5`},null,-1)]),j(`div`,FE,[j(`div`,IE,[(f(!0),A(re,null,d(O(n).popularProviders.value,e=>(f(),v(O(Ob),{id:e.id,key:e.id,modelValue:O(n).selectedProviderId.value,"onUpdate:modelValue":r[1]||=e=>O(n).selectedProviderId.value=e,name:`provider-selection`,value:e.id,title:e.localizedName||e.id,description:e.localizedDescription||``,onClick:t=>O(n).selectProvider(e)},null,8,[`id`,`modelValue`,`value`,`title`,`description`,`onClick`]))),128))])]),D(O(we),{label:O(t)(`settings.dialogs.onboarding.next`),disabled:!O(n).selectedProviderId.value,onClick:O(n).handleNextStep},null,8,[`label`,`disabled`,`onClick`])]))}}),RE=`/assets/onboarding-S2C4LIWw.avif`,zE={"h-full":``,flex:``,"flex-col":``},BE={class:`mb-2 text-center md:mb-8`,flex:``,"flex-1":``,"flex-col":``,"justify-center":``},VE={initial:{opacity:0,scale:.5},visible:{opacity:1,scale:1},duration:500,class:`mb-1 flex justify-center md:mb-4 lg:pt-16 md:pt-8`},HE=[`src`],UE={initial:{opacity:0,y:10},visible:{opacity:1,y:0},duration:500,class:`mb-0 text-3xl text-neutral-800 font-bold md:mb-2 dark:text-neutral-100`},WE={initial:{opacity:0,y:10},visible:{opacity:1,y:0},duration:500,delay:100,class:`text-sm text-neutral-600 md:text-lg dark:text-neutral-400`},GE=r({__name:`step-welcome`,setup(e){let{t}=it(),n=c($x);return(e,r)=>{let i=S(`motion`);return f(),A(`div`,zE,[j(`div`,BE,[le((f(),A(`div`,VE,[j(`img`,{src:O(RE),"max-h":`50`,"aspect-square":``,"h-auto":``,"w-auto":``,"object-cover":``},null,8,HE)])),[[i]]),le((f(),A(`h2`,UE,[m(g(O(t)(`settings.dialogs.onboarding.title`)),1)])),[[i]]),le((f(),A(`p`,WE,[m(g(O(t)(`settings.dialogs.onboarding.description`)),1)])),[[i]])]),le(D(O(we),{initial:{opacity:0},visible:{opacity:1},duration:500,delay:200,label:O(t)(`settings.dialogs.onboarding.start`),onClick:O(n).handleNextStep},null,8,[`label`,`onClick`]),[[i]])])}}}),KE={"h-full":``,"w-full":``},qE=Ie(r({__name:`onboarding`,emits:[`configured`,`skipped`],setup(e,{emit:t}){let n=t,r=M(1),o=M(`next`),{providers:s,allChatProvidersMetadata:c}=De(Qe()),l=et(),{activeProvider:u}=De(l),d=w(()=>{let e=[`openai`,`anthropic`,`google-generative-ai`,`openrouter-ai`,`ollama`,`deepseek`,`player2`,`openai-compatible`];return c.value.filter(t=>e.includes(t.id)).sort((t,n)=>e.indexOf(t.id)-e.indexOf(n.id))}),p=M(``),m=w(()=>c.value.find(e=>e.id===p.value)||null);function h(e){p.value=e.id}function g(){r.value>1&&(o.value=`previous`,r.value--)}async function _(e){if(r.value===3&&e){await y(e),o.value=`next`,r.value++;return}r.value<4?(o.value=`next`,r.value++):b()}async function y(e){if(!m.value)return;let t={};e.apiKey&&(t.apiKey=e.apiKey.trim()),e.baseUrl&&(t.baseUrl=e.baseUrl.trim()),e.accountId&&(t.accountId=e.accountId.trim()),s.value[m.value.id]={...s.value[m.value.id],...t},u.value=m.value.id,await i();try{await l.loadModelsForProvider(m.value.id)}catch(e){console.error(`error`,e)}}async function b(){n(`configured`)}return oe($x,{selectedProviderId:p,selectedProvider:m,selectProvider:h,popularProviders:d,handleNextStep:_,handlePreviousStep:g,handleSave:b}),(e,t)=>(f(),A(`div`,KE,[D(ie,{name:o.value===`next`?`slide-next`:`slide-prev`,mode:`out-in`},{default:k(()=>[r.value===1?(f(),v(GE,{key:1})):r.value===2?(f(),v(LE,{key:2})):r.value===3?(f(),v(jE,{key:3})):r.value===4?(f(),v(aS,{key:4})):a(``,!0)]),_:1},8,[`name`])]))}}),[[`__scopeId`,`data-v-52c8a4c7`]]),JE=r({__name:`onboarding-dialog`,props:{modelValue:{type:Boolean,default:!1,required:!1},modelModifiers:{}},emits:_([`configured`,`skipped`],[`update:modelValue`]),setup(e,{emit:t}){let n=t,r=ae(e,`modelValue`),i=Ge(`(min-width: 768px)`),a=Be();return Je(document.documentElement,()=>a.update()),y(()=>a.update()),(e,t)=>O(i)?(f(),v(O(je),{key:0,open:r.value,"onUpdate:open":t[2]||=e=>r.value=e},{default:k(()=>[D(O(Fe),null,{default:k(()=>[D(O(Me),{class:`fixed inset-0 z-9999 bg-black/50 backdrop-blur-sm data-[state=closed]:animate-fadeOut data-[state=open]:animate-fadeIn`}),D(O(Ae),{class:`fixed left-1/2 top-1/2 z-9999 max-h-full max-w-2xl w-[92dvw] transform overflow-y-scroll rounded-2xl bg-white p-6 shadow-xl outline-none backdrop-blur-md scrollbar-none -translate-x-1/2 -translate-y-1/2 data-[state=closed]:animate-contentHide data-[state=open]:animate-contentShow dark:bg-neutral-900`},{default:k(()=>[D(O(Te),null,{default:k(()=>[D(O(Ne),null,{default:k(()=>[...t[6]||=[m(`Onboarding`,-1)]]),_:1})]),_:1}),D(qE,{onConfigured:t[0]||=e=>n(`configured`),onSkipped:t[1]||=e=>n(`skipped`)})]),_:1})]),_:1})]),_:1},8,[`open`])):(f(),v(O(fe),{key:1,open:r.value,"should-scale-background":``,"onUpdate:open":t[5]||=e=>r.value=e},{default:k(()=>[D(O(Fe),null,{default:k(()=>[D(O(ge),{class:`fixed inset-0`}),D(O(_e),{class:`fixed bottom-0 left-0 right-0 z-1000 mt-20 h-full max-h-[96%] flex flex-col rounded-t-2xl bg-neutral-50 px-4 pt-4 outline-none backdrop-blur-md dark:bg-neutral-900/95`,style:p({paddingBottom:`${Math.max(Number.parseFloat(O(a).bottom.value.replace(`px`,``)),24)}px`})},{default:k(()=>[D(O(he)),D(qE,{onConfigured:t[3]||=e=>n(`configured`),onSkipped:t[4]||=e=>n(`skipped`)})]),_:1},8,[`style`])]),_:1})]),_:1},8,[`open`]))}}),YE=[`onClick`],XE={class:E([`rounded-md p-2 w-full`,`bg-neutral-100/80 text-sm text-neutral-800 dark:bg-neutral-900/80 dark:text-neutral-200`])},ZE={class:`whitespace-pre-wrap break-words font-mono`},QE=r({__name:`ChatToolCallBlock`,props:{toolName:{},args:{}},setup(e){let t=e,n=w(()=>{try{let e=JSON.parse(t.args);return JSON.stringify(e,null,2).trim()}catch{return t.args}});return(t,r)=>(f(),v(me,{class:E([`bg-primary-100/40 dark:bg-primary-900/60 rounded-lg px-2 pb-2 pt-2`,`flex flex-col gap-2 items-start`])},{trigger:k(({visible:t,setVisible:n})=>[j(`button`,{class:E([`w-full text-start`]),onClick:e=>n(!t)},[r[0]||=j(`div`,{"i-solar:sledgehammer-bold-duotone":``,class:`mr-1 inline-block translate-y-1 op-50`},null,-1),j(`code`,null,g(e.toolName),1)],8,YE)]),default:k(()=>[j(`div`,XE,[j(`div`,ZE,g(n.value),1)])]),_:1}))}}),$E={"text-sm":``,text:`black/60 dark:white/65`,"font-normal":``,class:`inline {if(t.message.slices?.length)return t.message.slices;if(typeof t.message.content==`string`&&t.message.content.trim())return[{type:`text`,text:t.message.content}];if(Array.isArray(t.message.content)){let e=t.message.content.find(e=>`type`in e&&e.type===`text`);if(e?.text)return[{type:`text`,text:e.text}]}return[]}),r=w(()=>t.showPlaceholder&&n.value.length===0),i=w(()=>t.variant===`mobile`?`mr-0`:`mr-12`),o=w(()=>[t.variant===`mobile`?`px-2 py-2 text-sm bg-primary-50/90 dark:bg-primary-950/90`:`px-3 py-3 bg-primary-50/80 dark:bg-primary-950/80`]);return(t,s)=>(f(),A(`div`,{flex:``,class:E(i.value)},[j(`div`,{flex:`~ col`,shadow:`sm primary-200/50 dark:none`,"min-w-20":``,"rounded-xl":``,h:`unset 0?(f(),A(`div`,eD,[(f(!0),A(re,null,d(n.value,(e,t)=>(f(),A(re,{key:t},[e.type===`tool-call`?(f(),v(QE,{key:0,"tool-name":e.toolCall.toolName,args:e.toolCall.args,class:`mb-2`},null,8,[`tool-name`,`args`])):e.type===`tool-call-result`?(f(),A(re,{key:1},[],64)):e.type===`text`?(f(),v(sb,{key:2,content:e.text},null,8,[`content`])):a(``,!0)],64))),128))])):r.value?(f(),A(`div`,tD)):a(``,!0)],2)],2))}}),rD={flex:`~ row`,"gap-2":``},iD={"flex-1":``,class:`inline [t.variant===`mobile`?`px-2 py-2 text-sm`:`px-3 py-3`]);return(t,r)=>(f(),A(`div`,{flex:``,class:E(e.variant===`mobile`?`mr-0`:`mr-12`)},[j(`div`,{flex:`~ col`,shadow:`sm violet-200/50 dark:none`,"min-w-20":``,"rounded-xl":``,h:`unset {let e=t.message.content;if(typeof e==`string`)return e;if(Array.isArray(e)){let t=e.find(e=>`type`in e&&e.type===`text`);return t?.text?t.text:e.map(e=>JSON.stringify(e)).join(`
+`)}return``}),r=w(()=>[`flex`,t.variant===`mobile`?`ml-0 flex-row`:`ml-12 flex-row-reverse`]),i=w(()=>[t.variant===`mobile`?`px-2 py-2 text-sm bg-neutral-100/90 dark:bg-neutral-800/90`:`px-3 py-3 bg-neutral-100/80 dark:bg-neutral-800/80`]);return(t,o)=>e.message.role===`user`?(f(),A(`div`,{key:0,class:E(r.value)},[j(`div`,{flex:`~ col`,shadow:`sm neutral-200/50 dark:none`,"min-w-20":``,"rounded-xl":``,h:`unset ({assistant:t.assistantLabel??r(`stage.chat.message.character-name.airi`),user:t.userLabel??r(`stage.chat.message.character-name.you`),error:t.errorLabel??r(`stage.chat.message.character-name.core-system`)}));function o(){requestAnimationFrame(()=>{requestAnimationFrame(()=>{n.value&&(n.value.scrollTop=n.value.scrollHeight)})})}ee(()=>t.messages,()=>o(),{deep:!0,flush:`post`}),ee(()=>t.streamingMessage,()=>o(),{deep:!0,flush:`post`}),ee(()=>t.sending,()=>o(),{flush:`post`}),y(()=>o());let s=w(()=>t.streamingMessage??{role:`assistant`,content:``,slices:[],tool_results:[]}),c=w(()=>(s.value.slices?.length??0)===0&&!s.value.content);return(t,r)=>{let o=S(`auto-animate`);return le((f(),A(`div`,{ref_key:`chatHistoryRef`,ref:n,flex:`~ col`,relative:``,"h-full":``,"w-full":``,"overflow-y-auto":``,"rounded-xl":``,px:`(f(),A(re,{key:n},[t.role===`error`?(f(),A(`div`,uD,[D(sD,{message:t,label:i.value.error,"show-placeholder":e.sending&&n===e.messages.length-1,variant:e.variant},null,8,[`message`,`label`,`show-placeholder`,`variant`])])):t.role===`assistant`?(f(),A(`div`,dD,[D(nD,{message:t,label:i.value.assistant,variant:e.variant},null,8,[`message`,`label`,`variant`])])):t.role===`user`?(f(),A(`div`,fD,[D(lD,{message:t,label:i.value.user,variant:e.variant},null,8,[`message`,`label`,`variant`])])):a(``,!0)],64))),128)),e.sending?(f(),A(`div`,pD,[D(nD,{message:s.value,label:i.value.assistant,"show-placeholder":c.value,variant:e.variant},null,8,[`message`,`label`,`show-placeholder`,`variant`])])):a(``,!0)],2)),[[o]])}}}),hD={class:`w-full flex cursor-pointer items-center justify-between rounded-lg px-4 py-3 text-sm outline-none transition-all duration-250 ease-in-out`,bg:`neutral-50 dark:neutral-800`,hover:`bg-neutral-200 dark:bg-neutral-700`},gD={key:0,text:`sm neutral-500`},_D=r({__name:`Bar`,props:{text:{},description:{}},setup(e){return(t,n)=>(f(),A(`label`,hD,[j(`div`,null,[m(g(t.$t(e.text))+` `,1),e.description?(f(),A(`div`,gD,g(t.$t(e.description)),1)):a(``,!0)]),x(t.$slots,`default`)]))}}),vD=[`aria-checked`],yD=r({__name:`CheckBar`,props:_({text:{},iconOn:{},iconOff:{},description:{}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=ae(e,`modelValue`);return(n,r)=>(f(),v(_D,{text:e.text,description:e.description},{default:k(()=>[le(j(`input`,{"onUpdate:modelValue":r[0]||=e=>t.value=e,"aria-checked":t.value,type:`checkbox`,hidden:``},null,8,vD),[[C,t.value]]),D(ie,{name:`slide-away`,mode:`out-in`},{default:k(()=>[t.value?(f(),A(`div`,{key:0,class:E(e.iconOn),transition:`all ease-in-out duration-250`},null,2)):(f(),A(`div`,{key:1,class:E(e.iconOff),transition:`all ease-in-out duration-250`},null,2))]),_:1})]),_:1},8,[`text`,`description`]))}});const bD=Symbol(`ToasterRoot`);var xD=r({__name:`ToasterRoot`,emits:[`close`],setup(e,{emit:t}){let n=t;return oe(bD,{close:e=>n(`close`,e)}),(e,t)=>x(e.$slots,`default`)}});export{Wx as $,lC as A,OS as B,aw as C,Ct,RC as D,GC as E,uC as F,yS as G,XS as H,FC as I,dS as J,_S as K,NC as L,sC as M,oC as N,MC as O,cC as P,Gx as Q,rC as R,Sw as S,jt as St,XC as T,ht as Tt,DS as U,PS as V,xS as W,oS as X,uS as Y,Qx as Z,rT as _,bb as _t,SE as a,Px as at,Ow as b,tn as bt,iE as c,kx as ct,IT as d,hx as dt,Ux as et,mT as f,px as ft,sT as g,jb as gt,gT as h,Rb as ht,JE as i,Fx as it,dC as j,IC as k,rE as l,xx as lt,hT as m,Vb as mt,yD as n,zx as nt,vE as o,Nx as ot,pT as p,cx as pt,fS as q,mD as r,Ix as rt,oE as s,Mx as st,xD as t,Bx as tt,XT as u,gx as ut,tT as v,db as vt,nw as w,yt as wt,Ew as x,Lt as xt,Uw as y,on as yt,eC as z};
\ No newline at end of file
diff --git a/assets/components-ddsiQ2r2.css b/assets/components-DBIH4UgO.css
similarity index 86%
rename from assets/components-ddsiQ2r2.css
rename to assets/components-DBIH4UgO.css
index bb01c35073ad64ee495a3bd4ff3c648749f8f1b1..30f881be38824a3266dece561faada239d91eb80 100644
--- a/assets/components-ddsiQ2r2.css
+++ b/assets/components-DBIH4UgO.css
@@ -1 +1 @@
-.volumed[data-v-45a50d47]{transform-style:preserve-3d;width:fit-content;height:fit-content}.test-dummy-flat[data-v-aa597cdd]{display:inline-block;position:relative}.test-dummy-flat .marker[data-v-aa597cdd]{background:conic-gradient(#ffeb3b 0deg 90deg,#000 90deg 180deg,#ffeb3b 180deg 270deg,#000 270deg 360deg);border-radius:50%;position:absolute;inset:0;box-shadow:0 4px 12px #b9b9b933}.dark .test-dummy-flat .marker[data-v-aa597cdd]{box-shadow:0 4px 12px #0003}.fade-enter-active[data-v-3b2e411d],.fade-leave-active[data-v-3b2e411d]{transition:opacity .2s}.fade-enter-from[data-v-3b2e411d],.fade-leave-to[data-v-3b2e411d]{opacity:0}.fade-enter-to[data-v-3b2e411d],.fade-leave-from[data-v-3b2e411d]{opacity:1}.markdown-content[data-v-abd97585] pre{border-radius:6px;max-width:100%;margin:.5rem 0;padding:1rem;overflow-x:auto}.markdown-content[data-v-abd97585] code{font-family:Fira Code,Monaco,Consolas,monospace;font-size:.875em}.markdown-content[data-v-abd97585] pre code{width:fit-content;min-width:100%;display:block}.markdown-content[data-v-abd97585] pre.shiki{white-space:pre;overflow-x:auto}.markdown-content[data-v-abd97585] .shiki{border-radius:6px;margin:.5rem 0;padding:1rem}.markdown-content[data-v-abd97585] pre:not(.shiki){background:#f6f8fa;border:1px solid #d0d7de}.dark .markdown-content[data-v-abd97585] pre:not(.shiki){background:#161b22;border:1px solid #30363d}.dark .markdown-content[data-v-abd97585] .shiki{background:var(--shiki-dark-bg,#0d1117)!important;color:var(--shiki-dark,#e6edf3)!important}.dark .markdown-content[data-v-abd97585] .shiki span[style*=--shiki-dark]{color:var(--shiki-dark,inherit)!important}.dark .markdown-content[data-v-abd97585] .shiki span[style*=--shiki-dark-background]{background-color:var(--shiki-dark-background,var(--shiki-dark-bg,transparent))!important}.menu-icon-item[data-v-47e0db94]{position:relative;overflow:hidden}.menu-icon-item[data-v-47e0db94]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),var(--un-gradient-to);--un-gradient-shape:to right in oklch;--un-gradient:var(--un-gradient-shape),var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient));content:"";z-index:-1;opacity:0;width:25%;height:100%;transition:all .4s ease-in-out;position:absolute;inset:0;-webkit-mask-image:linear-gradient(120deg,#fff 30%,#0000 50%);mask-image:linear-gradient(120deg,#fff 30%,#0000 50%)}.dark .menu-icon-item[data-v-47e0db94]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),var(--un-gradient-to)}.menu-icon-item[data-v-47e0db94]:hover:before,.menu-icon-item._hover[data-v-47e0db94]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/.2)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:transparent var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/.1)var(--un-gradient-via-position),var(--un-gradient-to);--un-gradient-via-position:50%;--un-gradient-shape:to right in oklch;--un-gradient:var(--un-gradient-shape),var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient));opacity:1;width:85%}.dark .menu-icon-item[data-v-47e0db94]:hover:before,.dark .menu-icon-item._hover[data-v-47e0db94]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/.2)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:transparent var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/.1)var(--un-gradient-via-position),var(--un-gradient-to);--un-gradient-via-position:50%}.menu-icon-item[data-v-47e0db94]:after{background-image:radial-gradient(circle at 1px 1px,rgb(229 229 229/var(--un-background-opacity))1px,transparent 0);--un-background-opacity:.6;z-index:-2;content:"";background-size:10px 10px;width:100%;height:100%;transition:all .4s ease-in-out;position:absolute;inset:0;-webkit-mask-image:linear-gradient(165deg,#fff 30%,#0000 50%);mask-image:linear-gradient(165deg,#fff 30%,#0000 50%)}.menu-icon-item[data-v-47e0db94]:after:hover{background-image:radial-gradient(circle at 1px 1px,oklch(85% var(--chromatic-chroma-300)calc(var(--chromatic-hue) + 0)/var(--un-background-opacity))1px,transparent 0);--un-background-opacity:%alpha}.dark .menu-icon-item[data-v-47e0db94]:after{background-image:radial-gradient(circle at 1px 1px,rgb(64 64 64/var(--un-background-opacity))1px,transparent 0);--un-background-opacity:.25}.dark .menu-icon-item[data-v-47e0db94]:after:hover{background-image:radial-gradient(circle at 1px 1px,oklch(90% var(--chromatic-chroma-200)calc(var(--chromatic-hue) + 0)/var(--un-background-opacity))1px,transparent 0);--un-background-opacity:%alpha}.menu-icon-item-icon[data-v-47e0db94]{opacity:.5}.menu-icon-item:hover .menu-icon-item-title[data-v-47e0db94],.menu-icon-item._hover .menu-icon-item-title[data-v-47e0db94]{--un-text-opacity:1;color:oklch(54% var(--chromatic-chroma-600)calc(var(--chromatic-hue) + 0)/var(--un-text-opacity))}.menu-icon-item:hover .menu-icon-item-description[data-v-47e0db94],.menu-icon-item._hover .menu-icon-item-description[data-v-47e0db94]{--un-text-opacity:1;color:oklch(54% var(--chromatic-chroma-600)calc(var(--chromatic-hue) + 0)/var(--un-text-opacity));opacity:.8}.menu-icon-item:hover .menu-icon-item-icon[data-v-47e0db94],.menu-icon-item._hover .menu-icon-item-icon[data-v-47e0db94]{--un-text-opacity:1;color:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/var(--un-text-opacity));scale:1.2}.dark .menu-icon-item:hover .menu-icon-item-title[data-v-47e0db94],.dark .menu-icon-item._hover .menu-icon-item-title[data-v-47e0db94]{--un-text-opacity:1;color:oklch(85% var(--chromatic-chroma-300)calc(var(--chromatic-hue) + 0)/var(--un-text-opacity))}.dark .menu-icon-item:hover .menu-icon-item-description[data-v-47e0db94],.dark .menu-icon-item._hover .menu-icon-item-description[data-v-47e0db94]{--un-text-opacity:1;color:oklch(85% var(--chromatic-chroma-300)calc(var(--chromatic-hue) + 0)/var(--un-text-opacity));opacity:.8}.dark .menu-icon-item:hover .menu-icon-item-icon[data-v-47e0db94],.dark .menu-icon-item._hover .menu-icon-item-icon[data-v-47e0db94]{--un-text-opacity:1;color:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/var(--un-text-opacity))}.menu-icon-status-item[data-v-a19e8ff9]{position:relative;overflow:hidden}.menu-icon-status-item[data-v-a19e8ff9]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),var(--un-gradient-to);--un-gradient-shape:to right in oklch;--un-gradient:var(--un-gradient-shape),var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient));content:"";z-index:0;opacity:0;width:25%;height:100%;transition:all .4s ease-in-out;position:absolute;inset:0;-webkit-mask-image:linear-gradient(120deg,#fff 100%);mask-image:linear-gradient(120deg,#fff 100%)}.dark .menu-icon-status-item[data-v-a19e8ff9]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),var(--un-gradient-to)}.menu-icon-status-item[data-v-a19e8ff9]:hover:before,.menu-icon-status-item._hover[data-v-a19e8ff9]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/.2)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:transparent var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/.1)var(--un-gradient-via-position),var(--un-gradient-to);--un-gradient-via-position:50%;--un-gradient-shape:to right in oklch;--un-gradient:var(--un-gradient-shape),var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient));opacity:1;width:50%}.dark .menu-icon-status-item[data-v-a19e8ff9]:hover:before,.dark .menu-icon-status-item._hover[data-v-a19e8ff9]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/.2)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:transparent var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/.1)var(--un-gradient-via-position),var(--un-gradient-to);--un-gradient-via-position:50%}.menu-icon-status-item-link[data-v-a19e8ff9]:after{background-image:radial-gradient(circle at 1px 1px,rgb(229 229 229/var(--un-background-opacity))1px,transparent 0);--un-background-opacity:.8;z-index:-2;content:"";background-size:10px 10px;width:100%;height:100%;transition:all .4s ease-in-out;position:absolute;inset:0;-webkit-mask-image:linear-gradient(165deg,#fff 30%,#0000 50%);mask-image:linear-gradient(165deg,#fff 30%,#0000 50%)}.menu-icon-status-item-link[data-v-a19e8ff9]:after:hover{background-image:radial-gradient(circle at 1px 1px,oklch(85% var(--chromatic-chroma-300)calc(var(--chromatic-hue) + 0)/var(--un-background-opacity))1px,transparent 0);--un-background-opacity:%alpha}.dark .menu-icon-status-item-link[data-v-a19e8ff9]:after{background-image:radial-gradient(circle at 1px 1px,rgb(64 64 64/var(--un-background-opacity))1px,transparent 0);--un-background-opacity:.4}.dark .menu-icon-status-item-link[data-v-a19e8ff9]:after:hover{background-image:radial-gradient(circle at 1px 1px,oklch(90% var(--chromatic-chroma-200)calc(var(--chromatic-hue) + 0)/var(--un-background-opacity))1px,transparent 0);--un-background-opacity:%alpha}.menu-icon-status-item-icon-color[data-v-a19e8ff9]{opacity:.5}.menu-icon-status-item:hover .menu-icon-status-item-title[data-v-a19e8ff9],.menu-icon-status-item._hover .menu-icon-status-item-title[data-v-a19e8ff9]{--un-text-opacity:1;color:oklch(54% var(--chromatic-chroma-600)calc(var(--chromatic-hue) + 0)/var(--un-text-opacity))}.menu-icon-status-item:hover .menu-icon-status-item-description[data-v-a19e8ff9],.menu-icon-status-item._hover .menu-icon-status-item-description[data-v-a19e8ff9]{--un-text-opacity:1;color:oklch(54% var(--chromatic-chroma-600)calc(var(--chromatic-hue) + 0)/var(--un-text-opacity));opacity:.8}.menu-icon-status-item:hover .menu-icon-status-item-icon[data-v-a19e8ff9],.menu-icon-status-item._hover .menu-icon-status-item-icon[data-v-a19e8ff9],.menu-icon-status-item:hover .menu-icon-status-item-icon-color[data-v-a19e8ff9],.menu-icon-status-item._hover .menu-icon-status-item-icon-color[data-v-a19e8ff9]{--un-text-opacity:1;color:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/var(--un-text-opacity));scale:1.2}.dark .menu-icon-status-item:hover .menu-icon-status-item-title[data-v-a19e8ff9],.dark .menu-icon-status-item._hover .menu-icon-status-item-title[data-v-a19e8ff9]{--un-text-opacity:1;color:oklch(85% var(--chromatic-chroma-300)calc(var(--chromatic-hue) + 0)/var(--un-text-opacity))}.dark .menu-icon-status-item:hover .menu-icon-status-item-description[data-v-a19e8ff9],.dark .menu-icon-status-item._hover .menu-icon-status-item-description[data-v-a19e8ff9]{--un-text-opacity:1;color:oklch(85% var(--chromatic-chroma-300)calc(var(--chromatic-hue) + 0)/var(--un-text-opacity));opacity:.8}.dark .menu-icon-status-item:hover .menu-icon-status-item-icon[data-v-a19e8ff9],.dark .menu-icon-status-item._hover .menu-icon-status-item-icon[data-v-a19e8ff9],.dark .menu-icon-status-item:hover .menu-icon-status-item-icon-color[data-v-a19e8ff9],.dark .menu-icon-status-item._hover .menu-icon-status-item-icon-color[data-v-a19e8ff9]{--un-text-opacity:1;color:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/var(--un-text-opacity))}.form_radio-card-detail[data-v-a2eb6bd0]{position:relative;overflow:hidden}.form_radio-card-detail[data-v-a2eb6bd0]:before{pointer-events:none;--un-gradient-from-position:0%;--un-gradient-from:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),var(--un-gradient-to);--un-gradient-shape:to right in oklch;--un-gradient:var(--un-gradient-shape),var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient));content:"";z-index:0;opacity:0;width:25%;height:100%;transition:all .35s ease-in-out;position:absolute;inset:0;-webkit-mask-image:linear-gradient(120deg,#fff 100%);mask-image:linear-gradient(120deg,#fff 100%)}.dark .form_radio-card-detail[data-v-a2eb6bd0]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),var(--un-gradient-to)}.form_radio-card-detail[data-v-a2eb6bd0]:hover:before,.form_radio-card-detail._hover[data-v-a2eb6bd0]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/.2)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:transparent var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/.1)var(--un-gradient-via-position),var(--un-gradient-to);--un-gradient-via-position:50%;--un-gradient-shape:to right in oklch;--un-gradient:var(--un-gradient-shape),var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient));opacity:1;width:85%}.dark .form_radio-card-detail[data-v-a2eb6bd0]:hover:before,.dark .form_radio-card-detail._hover[data-v-a2eb6bd0]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/.2)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:transparent var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/.1)var(--un-gradient-via-position),var(--un-gradient-to);--un-gradient-via-position:50%}.form_radio-card-detail-active[data-v-a2eb6bd0]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/.2)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:transparent var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/.1)var(--un-gradient-via-position),var(--un-gradient-to);--un-gradient-via-position:50%;--un-gradient-shape:to right in oklch;--un-gradient:var(--un-gradient-shape),var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient));opacity:.5;width:85%}.dark .form_radio-card-detail-active[data-v-a2eb6bd0]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/.2)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:transparent var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/.1)var(--un-gradient-via-position),var(--un-gradient-to);--un-gradient-via-position:50%}input[type=search][data-v-96f33af6]::-webkit-search-cancel-button{display:none}.form_radio-card-simple[data-v-7f0c3c41]{position:relative;overflow:hidden}.form_radio-card-simple[data-v-7f0c3c41]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),var(--un-gradient-to);--un-gradient-shape:to right in oklch;--un-gradient:var(--un-gradient-shape),var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient));content:"";z-index:0;opacity:0;width:25%;height:100%;transition:all .35s ease-in-out;position:absolute;inset:0;-webkit-mask-image:linear-gradient(120deg,#fff 100%);mask-image:linear-gradient(120deg,#fff 100%)}.dark .form_radio-card-simple[data-v-7f0c3c41]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),var(--un-gradient-to)}.form_radio-card-simple[data-v-7f0c3c41]:hover:before,.form_radio-card-simple._hover[data-v-7f0c3c41]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/.2)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:transparent var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/.1)var(--un-gradient-via-position),var(--un-gradient-to);--un-gradient-via-position:50%;--un-gradient-shape:to right in oklch;--un-gradient:var(--un-gradient-shape),var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient));opacity:1;width:85%}.dark .form_radio-card-simple[data-v-7f0c3c41]:hover:before,.dark .form_radio-card-simple._hover[data-v-7f0c3c41]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/.2)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:transparent var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/.1)var(--un-gradient-via-position),var(--un-gradient-to);--un-gradient-via-position:50%}.form_radio-card-simple-active[data-v-7f0c3c41]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/.2)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:transparent var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/.1)var(--un-gradient-via-position),var(--un-gradient-to);--un-gradient-via-position:50%;--un-gradient-shape:to right in oklch;--un-gradient:var(--un-gradient-shape),var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient));opacity:.5;width:85%}.dark .form_radio-card-simple-active[data-v-7f0c3c41]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/.2)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:transparent var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/.1)var(--un-gradient-via-position),var(--un-gradient-to);--un-gradient-via-position:50%}.form_voice-card[data-v-2130ea5b]{flex-direction:column;display:flex;position:relative;overflow:hidden}.form_voice-card[data-v-2130ea5b]:before{pointer-events:none;--un-gradient-from-position:0%;--un-gradient-from:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),var(--un-gradient-to);--un-gradient-shape:to right in oklch;--un-gradient:var(--un-gradient-shape),var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient));content:"";z-index:0;opacity:0;width:25%;height:100%;transition:all .35s ease-in-out;position:absolute;inset:0;-webkit-mask-image:linear-gradient(120deg,#fff 100%);mask-image:linear-gradient(120deg,#fff 100%)}.dark .form_voice-card[data-v-2130ea5b]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),var(--un-gradient-to)}.form_voice-card[data-v-2130ea5b]:hover:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/.2)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:transparent var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/.1)var(--un-gradient-via-position),var(--un-gradient-to);--un-gradient-via-position:50%;--un-gradient-shape:to right in oklch;--un-gradient:var(--un-gradient-shape),var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient));opacity:1;width:85%}.dark .form_voice-card[data-v-2130ea5b]:hover:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/.2)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:transparent var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/.1)var(--un-gradient-via-position),var(--un-gradient-to);--un-gradient-via-position:50%}input[type=search][data-v-063d85cc]::-webkit-search-cancel-button{display:none}.voice-card[data-v-063d85cc]{flex-direction:column;display:flex;position:relative;overflow:hidden}.voice-card[data-v-063d85cc]:before{pointer-events:none;--un-gradient-from-position:0%;--un-gradient-from:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),var(--un-gradient-to);--un-gradient-shape:to right in oklch;--un-gradient:var(--un-gradient-shape),var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient));content:"";z-index:0;opacity:0;width:25%;height:100%;transition:all .35s ease-in-out;position:absolute;inset:0;-webkit-mask-image:linear-gradient(120deg,#fff 100%);mask-image:linear-gradient(120deg,#fff 100%)}.dark .voice-card[data-v-063d85cc]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),var(--un-gradient-to)}.voice-card[data-v-063d85cc]:hover:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/.2)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:transparent var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/.1)var(--un-gradient-via-position),var(--un-gradient-to);--un-gradient-via-position:50%;--un-gradient-shape:to right in oklch;--un-gradient:var(--un-gradient-shape),var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient));opacity:1;width:85%}.dark .voice-card[data-v-063d85cc]:hover:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/.2)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:transparent var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/.1)var(--un-gradient-via-position),var(--un-gradient-to);--un-gradient-via-position:50%}.skeleton[data-v-5397c83a]{transition:all .2s ease-in-out;position:relative}.skeleton-pulse[data-v-5397c83a]{animation:2s ease-in-out .5s infinite skeleton-pulse-5397c83a}@keyframes skeleton-pulse-5397c83a{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.skeleton-wave[data-v-5397c83a]:after{content:"";border-radius:inherit;background:linear-gradient(90deg,#0000,#fff,#0000);animation:2s ease-in-out infinite skeleton-wave-5397c83a;position:absolute;inset:0;transform:translate(-100%)}.dark .skeleton-wave[data-v-5397c83a]:after{background:linear-gradient(90deg,#0000,#ffffff1a,#0000)}@keyframes skeleton-wave-5397c83a{0%{opacity:0;transform:translate(-100%)}60%{opacity:1;transform:translate(100%)}to{opacity:0;transform:translate(100%)}}.card-hover-effect[data-v-05127d28]{transform-style:preserve-3d;transform-origin:50%;will-change:transform;transition:transform .3s cubic-bezier(.23,1,.32,1)}.card-hover-effect[data-v-05127d28]:before,.card-hover-effect[data-v-05127d28]:after{content:"";pointer-events:none;background-repeat:no-repeat;transition:all .33s;position:absolute;inset:0}.card-hover-effect[data-v-05127d28]:before{background-position:var(--card-position-x)var(--card-position-y);background-size:300% 300%;background-image:linear-gradient(115deg,transparent 0%,rgba(var(--color-primary-500),calc(.3*var(--effect-intensity)))25%,transparent 47%,transparent 53%,rgba(var(--color-primary-600),calc(.3*var(--effect-intensity)))75%,transparent 100%);opacity:calc(.5*var(--effect-intensity));filter:brightness(.5)contrast();z-index:1;mix-blend-mode:color-dodge}.card-hover-effect[data-v-05127d28]:after{background-position:var(--sparkle-position-x)var(--sparkle-position-y);background-size:160%;background-image:linear-gradient(125deg,rgba(var(--color-primary-500),calc(.3*var(--effect-intensity)))15%,rgba(var(--color-primary-400),calc(.25*var(--effect-intensity)))30%,rgba(var(--color-primary-300),calc(.2*var(--effect-intensity)))40%,rgba(var(--color-primary-200),calc(.1*var(--effect-intensity)))60%,rgba(var(--color-primary-400),calc(.25*var(--effect-intensity)))70%,rgba(var(--color-primary-500),calc(.3*var(--effect-intensity)))85%);background-blend-mode:overlay;opacity:calc(var(--sparkle-opacity)*var(--effect-intensity));filter:brightness()contrast();z-index:2;mix-blend-mode:color-dodge}.card-hover-effect[data-v-05127d28]:hover:before{opacity:calc(.88*var(--effect-intensity));filter:brightness(.66)contrast(1.33)}.card-hover-effect[data-v-05127d28]:hover:after{opacity:var(--effect-intensity);filter:brightness(1.1)contrast(1.2)}.slide-next-enter-active[data-v-52c8a4c7],.slide-next-leave-active[data-v-52c8a4c7]{transition:transform .2s ease-in-out,opacity .2s ease-in-out}.slide-next-enter-from[data-v-52c8a4c7]{opacity:0;transform:translate(100%)}.slide-next-enter-to[data-v-52c8a4c7],.slide-next-leave-from[data-v-52c8a4c7]{opacity:1;transform:translate(0)}.slide-next-leave-to[data-v-52c8a4c7]{opacity:0;transform:translate(-100%)}.slide-prev-enter-active[data-v-52c8a4c7],.slide-prev-leave-active[data-v-52c8a4c7]{transition:transform .2s ease-in-out,opacity .2s ease-in-out}.slide-prev-enter-from[data-v-52c8a4c7]{opacity:0;transform:translate(-100%)}.slide-prev-enter-to[data-v-52c8a4c7],.slide-prev-leave-from[data-v-52c8a4c7]{opacity:1;transform:translate(0)}.slide-prev-leave-to[data-v-52c8a4c7]{opacity:0;transform:translate(100%)}[data-sonner-toast=""] [data-content=""]{width:100%}
+.volumed[data-v-45a50d47]{transform-style:preserve-3d;width:fit-content;height:fit-content}.test-dummy-flat[data-v-aa597cdd]{display:inline-block;position:relative}.test-dummy-flat .marker[data-v-aa597cdd]{background:conic-gradient(#ffeb3b 0deg 90deg,#000 90deg 180deg,#ffeb3b 180deg 270deg,#000 270deg 360deg);border-radius:50%;position:absolute;inset:0;box-shadow:0 4px 12px #b9b9b933}.dark .test-dummy-flat .marker[data-v-aa597cdd]{box-shadow:0 4px 12px #0003}.fade-enter-active[data-v-3b2e411d],.fade-leave-active[data-v-3b2e411d]{transition:opacity .2s}.fade-enter-from[data-v-3b2e411d],.fade-leave-to[data-v-3b2e411d]{opacity:0}.fade-enter-to[data-v-3b2e411d],.fade-leave-from[data-v-3b2e411d]{opacity:1}.markdown-content[data-v-abd97585] pre{border-radius:6px;max-width:100%;margin:.5rem 0;padding:1rem;overflow-x:auto}.markdown-content[data-v-abd97585] code{font-family:Fira Code,Monaco,Consolas,monospace;font-size:.875em}.markdown-content[data-v-abd97585] pre code{width:fit-content;min-width:100%;display:block}.markdown-content[data-v-abd97585] pre.shiki{white-space:pre;overflow-x:auto}.markdown-content[data-v-abd97585] .shiki{border-radius:6px;margin:.5rem 0;padding:1rem}.markdown-content[data-v-abd97585] pre:not(.shiki){background:#f6f8fa;border:1px solid #d0d7de}.dark .markdown-content[data-v-abd97585] pre:not(.shiki){background:#161b22;border:1px solid #30363d}.dark .markdown-content[data-v-abd97585] .shiki{background:var(--shiki-dark-bg,#0d1117)!important;color:var(--shiki-dark,#e6edf3)!important}.dark .markdown-content[data-v-abd97585] .shiki span[style*=--shiki-dark]{color:var(--shiki-dark,inherit)!important}.dark .markdown-content[data-v-abd97585] .shiki span[style*=--shiki-dark-background]{background-color:var(--shiki-dark-background,var(--shiki-dark-bg,transparent))!important}.menu-icon-item[data-v-47e0db94]{position:relative;overflow:hidden}.menu-icon-item[data-v-47e0db94]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),var(--un-gradient-to);--un-gradient-shape:to right in oklch;--un-gradient:var(--un-gradient-shape),var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient));content:"";z-index:-1;opacity:0;width:25%;height:100%;transition:all .4s ease-in-out;position:absolute;inset:0;-webkit-mask-image:linear-gradient(120deg,#fff 30%,#0000 50%);mask-image:linear-gradient(120deg,#fff 30%,#0000 50%)}.dark .menu-icon-item[data-v-47e0db94]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),var(--un-gradient-to)}.menu-icon-item[data-v-47e0db94]:hover:before,.menu-icon-item._hover[data-v-47e0db94]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/.2)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:transparent var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/.1)var(--un-gradient-via-position),var(--un-gradient-to);--un-gradient-via-position:50%;--un-gradient-shape:to right in oklch;--un-gradient:var(--un-gradient-shape),var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient));opacity:1;width:85%}.dark .menu-icon-item[data-v-47e0db94]:hover:before,.dark .menu-icon-item._hover[data-v-47e0db94]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/.2)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:transparent var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/.1)var(--un-gradient-via-position),var(--un-gradient-to);--un-gradient-via-position:50%}.menu-icon-item[data-v-47e0db94]:after{background-image:radial-gradient(circle at 1px 1px,rgb(229 229 229/var(--un-background-opacity))1px,transparent 0);--un-background-opacity:.6;z-index:-2;content:"";background-size:10px 10px;width:100%;height:100%;transition:all .4s ease-in-out;position:absolute;inset:0;-webkit-mask-image:linear-gradient(165deg,#fff 30%,#0000 50%);mask-image:linear-gradient(165deg,#fff 30%,#0000 50%)}.menu-icon-item[data-v-47e0db94]:after:hover{background-image:radial-gradient(circle at 1px 1px,oklch(85% var(--chromatic-chroma-300)calc(var(--chromatic-hue) + 0)/var(--un-background-opacity))1px,transparent 0);--un-background-opacity:%alpha}.dark .menu-icon-item[data-v-47e0db94]:after{background-image:radial-gradient(circle at 1px 1px,rgb(64 64 64/var(--un-background-opacity))1px,transparent 0);--un-background-opacity:.25}.dark .menu-icon-item[data-v-47e0db94]:after:hover{background-image:radial-gradient(circle at 1px 1px,oklch(90% var(--chromatic-chroma-200)calc(var(--chromatic-hue) + 0)/var(--un-background-opacity))1px,transparent 0);--un-background-opacity:%alpha}.menu-icon-item-icon[data-v-47e0db94]{opacity:.5}.menu-icon-item:hover .menu-icon-item-title[data-v-47e0db94],.menu-icon-item._hover .menu-icon-item-title[data-v-47e0db94]{--un-text-opacity:1;color:oklch(54% var(--chromatic-chroma-600)calc(var(--chromatic-hue) + 0)/var(--un-text-opacity))}.menu-icon-item:hover .menu-icon-item-description[data-v-47e0db94],.menu-icon-item._hover .menu-icon-item-description[data-v-47e0db94]{--un-text-opacity:1;color:oklch(54% var(--chromatic-chroma-600)calc(var(--chromatic-hue) + 0)/var(--un-text-opacity));opacity:.8}.menu-icon-item:hover .menu-icon-item-icon[data-v-47e0db94],.menu-icon-item._hover .menu-icon-item-icon[data-v-47e0db94]{--un-text-opacity:1;color:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/var(--un-text-opacity));scale:1.2}.dark .menu-icon-item:hover .menu-icon-item-title[data-v-47e0db94],.dark .menu-icon-item._hover .menu-icon-item-title[data-v-47e0db94]{--un-text-opacity:1;color:oklch(85% var(--chromatic-chroma-300)calc(var(--chromatic-hue) + 0)/var(--un-text-opacity))}.dark .menu-icon-item:hover .menu-icon-item-description[data-v-47e0db94],.dark .menu-icon-item._hover .menu-icon-item-description[data-v-47e0db94]{--un-text-opacity:1;color:oklch(85% var(--chromatic-chroma-300)calc(var(--chromatic-hue) + 0)/var(--un-text-opacity));opacity:.8}.dark .menu-icon-item:hover .menu-icon-item-icon[data-v-47e0db94],.dark .menu-icon-item._hover .menu-icon-item-icon[data-v-47e0db94]{--un-text-opacity:1;color:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/var(--un-text-opacity))}.menu-icon-status-item[data-v-a19e8ff9]{position:relative;overflow:hidden}.menu-icon-status-item[data-v-a19e8ff9]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),var(--un-gradient-to);--un-gradient-shape:to right in oklch;--un-gradient:var(--un-gradient-shape),var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient));content:"";z-index:0;opacity:0;width:25%;height:100%;transition:all .4s ease-in-out;position:absolute;inset:0;-webkit-mask-image:linear-gradient(120deg,#fff 100%);mask-image:linear-gradient(120deg,#fff 100%)}.dark .menu-icon-status-item[data-v-a19e8ff9]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),var(--un-gradient-to)}.menu-icon-status-item[data-v-a19e8ff9]:hover:before,.menu-icon-status-item._hover[data-v-a19e8ff9]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/.2)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:transparent var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/.1)var(--un-gradient-via-position),var(--un-gradient-to);--un-gradient-via-position:50%;--un-gradient-shape:to right in oklch;--un-gradient:var(--un-gradient-shape),var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient));opacity:1;width:50%}.dark .menu-icon-status-item[data-v-a19e8ff9]:hover:before,.dark .menu-icon-status-item._hover[data-v-a19e8ff9]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/.2)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:transparent var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/.1)var(--un-gradient-via-position),var(--un-gradient-to);--un-gradient-via-position:50%}.menu-icon-status-item-link[data-v-a19e8ff9]:after{background-image:radial-gradient(circle at 1px 1px,rgb(229 229 229/var(--un-background-opacity))1px,transparent 0);--un-background-opacity:.8;z-index:-2;content:"";background-size:10px 10px;width:100%;height:100%;transition:all .4s ease-in-out;position:absolute;inset:0;-webkit-mask-image:linear-gradient(165deg,#fff 30%,#0000 50%);mask-image:linear-gradient(165deg,#fff 30%,#0000 50%)}.menu-icon-status-item-link[data-v-a19e8ff9]:after:hover{background-image:radial-gradient(circle at 1px 1px,oklch(85% var(--chromatic-chroma-300)calc(var(--chromatic-hue) + 0)/var(--un-background-opacity))1px,transparent 0);--un-background-opacity:%alpha}.dark .menu-icon-status-item-link[data-v-a19e8ff9]:after{background-image:radial-gradient(circle at 1px 1px,rgb(64 64 64/var(--un-background-opacity))1px,transparent 0);--un-background-opacity:.4}.dark .menu-icon-status-item-link[data-v-a19e8ff9]:after:hover{background-image:radial-gradient(circle at 1px 1px,oklch(90% var(--chromatic-chroma-200)calc(var(--chromatic-hue) + 0)/var(--un-background-opacity))1px,transparent 0);--un-background-opacity:%alpha}.menu-icon-status-item-icon-color[data-v-a19e8ff9]{opacity:.5}.menu-icon-status-item:hover .menu-icon-status-item-title[data-v-a19e8ff9],.menu-icon-status-item._hover .menu-icon-status-item-title[data-v-a19e8ff9]{--un-text-opacity:1;color:oklch(54% var(--chromatic-chroma-600)calc(var(--chromatic-hue) + 0)/var(--un-text-opacity))}.menu-icon-status-item:hover .menu-icon-status-item-description[data-v-a19e8ff9],.menu-icon-status-item._hover .menu-icon-status-item-description[data-v-a19e8ff9]{--un-text-opacity:1;color:oklch(54% var(--chromatic-chroma-600)calc(var(--chromatic-hue) + 0)/var(--un-text-opacity));opacity:.8}.menu-icon-status-item:hover .menu-icon-status-item-icon[data-v-a19e8ff9],.menu-icon-status-item._hover .menu-icon-status-item-icon[data-v-a19e8ff9],.menu-icon-status-item:hover .menu-icon-status-item-icon-color[data-v-a19e8ff9],.menu-icon-status-item._hover .menu-icon-status-item-icon-color[data-v-a19e8ff9]{--un-text-opacity:1;color:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/var(--un-text-opacity));scale:1.2}.dark .menu-icon-status-item:hover .menu-icon-status-item-title[data-v-a19e8ff9],.dark .menu-icon-status-item._hover .menu-icon-status-item-title[data-v-a19e8ff9]{--un-text-opacity:1;color:oklch(85% var(--chromatic-chroma-300)calc(var(--chromatic-hue) + 0)/var(--un-text-opacity))}.dark .menu-icon-status-item:hover .menu-icon-status-item-description[data-v-a19e8ff9],.dark .menu-icon-status-item._hover .menu-icon-status-item-description[data-v-a19e8ff9]{--un-text-opacity:1;color:oklch(85% var(--chromatic-chroma-300)calc(var(--chromatic-hue) + 0)/var(--un-text-opacity));opacity:.8}.dark .menu-icon-status-item:hover .menu-icon-status-item-icon[data-v-a19e8ff9],.dark .menu-icon-status-item._hover .menu-icon-status-item-icon[data-v-a19e8ff9],.dark .menu-icon-status-item:hover .menu-icon-status-item-icon-color[data-v-a19e8ff9],.dark .menu-icon-status-item._hover .menu-icon-status-item-icon-color[data-v-a19e8ff9]{--un-text-opacity:1;color:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/var(--un-text-opacity))}.form_radio-card-detail[data-v-a2eb6bd0]{position:relative;overflow:hidden}.form_radio-card-detail[data-v-a2eb6bd0]:before{pointer-events:none;--un-gradient-from-position:0%;--un-gradient-from:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),var(--un-gradient-to);--un-gradient-shape:to right in oklch;--un-gradient:var(--un-gradient-shape),var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient));content:"";z-index:0;opacity:0;width:25%;height:100%;transition:all .35s ease-in-out;position:absolute;inset:0;-webkit-mask-image:linear-gradient(120deg,#fff 100%);mask-image:linear-gradient(120deg,#fff 100%)}.dark .form_radio-card-detail[data-v-a2eb6bd0]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),var(--un-gradient-to)}.form_radio-card-detail[data-v-a2eb6bd0]:hover:before,.form_radio-card-detail._hover[data-v-a2eb6bd0]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/.2)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:transparent var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/.1)var(--un-gradient-via-position),var(--un-gradient-to);--un-gradient-via-position:50%;--un-gradient-shape:to right in oklch;--un-gradient:var(--un-gradient-shape),var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient));opacity:1;width:85%}.dark .form_radio-card-detail[data-v-a2eb6bd0]:hover:before,.dark .form_radio-card-detail._hover[data-v-a2eb6bd0]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/.2)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:transparent var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/.1)var(--un-gradient-via-position),var(--un-gradient-to);--un-gradient-via-position:50%}.form_radio-card-detail-active[data-v-a2eb6bd0]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/.2)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:transparent var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/.1)var(--un-gradient-via-position),var(--un-gradient-to);--un-gradient-via-position:50%;--un-gradient-shape:to right in oklch;--un-gradient:var(--un-gradient-shape),var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient));opacity:.5;width:85%}.dark .form_radio-card-detail-active[data-v-a2eb6bd0]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/.2)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:transparent var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/.1)var(--un-gradient-via-position),var(--un-gradient-to);--un-gradient-via-position:50%}input[type=search][data-v-96f33af6]::-webkit-search-cancel-button{display:none}.form_radio-card-simple[data-v-7f0c3c41]{position:relative;overflow:hidden}.form_radio-card-simple[data-v-7f0c3c41]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),var(--un-gradient-to);--un-gradient-shape:to right in oklch;--un-gradient:var(--un-gradient-shape),var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient));content:"";z-index:0;opacity:0;width:25%;height:100%;transition:all .35s ease-in-out;position:absolute;inset:0;-webkit-mask-image:linear-gradient(120deg,#fff 100%);mask-image:linear-gradient(120deg,#fff 100%)}.dark .form_radio-card-simple[data-v-7f0c3c41]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),var(--un-gradient-to)}.form_radio-card-simple[data-v-7f0c3c41]:hover:before,.form_radio-card-simple._hover[data-v-7f0c3c41]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/.2)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:transparent var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/.1)var(--un-gradient-via-position),var(--un-gradient-to);--un-gradient-via-position:50%;--un-gradient-shape:to right in oklch;--un-gradient:var(--un-gradient-shape),var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient));opacity:1;width:85%}.dark .form_radio-card-simple[data-v-7f0c3c41]:hover:before,.dark .form_radio-card-simple._hover[data-v-7f0c3c41]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/.2)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:transparent var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/.1)var(--un-gradient-via-position),var(--un-gradient-to);--un-gradient-via-position:50%}.form_radio-card-simple-active[data-v-7f0c3c41]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/.2)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:transparent var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/.1)var(--un-gradient-via-position),var(--un-gradient-to);--un-gradient-via-position:50%;--un-gradient-shape:to right in oklch;--un-gradient:var(--un-gradient-shape),var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient));opacity:.5;width:85%}.dark .form_radio-card-simple-active[data-v-7f0c3c41]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/.2)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:transparent var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/.1)var(--un-gradient-via-position),var(--un-gradient-to);--un-gradient-via-position:50%}.form_voice-card[data-v-2130ea5b]{flex-direction:column;display:flex;position:relative;overflow:hidden}.form_voice-card[data-v-2130ea5b]:before{pointer-events:none;--un-gradient-from-position:0%;--un-gradient-from:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),var(--un-gradient-to);--un-gradient-shape:to right in oklch;--un-gradient:var(--un-gradient-shape),var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient));content:"";z-index:0;opacity:0;width:25%;height:100%;transition:all .35s ease-in-out;position:absolute;inset:0;-webkit-mask-image:linear-gradient(120deg,#fff 100%);mask-image:linear-gradient(120deg,#fff 100%)}.dark .form_voice-card[data-v-2130ea5b]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),var(--un-gradient-to)}.form_voice-card[data-v-2130ea5b]:hover:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/.2)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:transparent var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/.1)var(--un-gradient-via-position),var(--un-gradient-to);--un-gradient-via-position:50%;--un-gradient-shape:to right in oklch;--un-gradient:var(--un-gradient-shape),var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient));opacity:1;width:85%}.dark .form_voice-card[data-v-2130ea5b]:hover:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/.2)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:transparent var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/.1)var(--un-gradient-via-position),var(--un-gradient-to);--un-gradient-via-position:50%}input[type=search][data-v-063d85cc]::-webkit-search-cancel-button{display:none}.voice-card[data-v-063d85cc]{flex-direction:column;display:flex;position:relative;overflow:hidden}.voice-card[data-v-063d85cc]:before{pointer-events:none;--un-gradient-from-position:0%;--un-gradient-from:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),var(--un-gradient-to);--un-gradient-shape:to right in oklch;--un-gradient:var(--un-gradient-shape),var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient));content:"";z-index:0;opacity:0;width:25%;height:100%;transition:all .35s ease-in-out;position:absolute;inset:0;-webkit-mask-image:linear-gradient(120deg,#fff 100%);mask-image:linear-gradient(120deg,#fff 100%)}.dark .voice-card[data-v-063d85cc]:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/0)var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),var(--un-gradient-to)}.voice-card[data-v-063d85cc]:hover:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/.2)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:transparent var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),oklch(62% var(--chromatic-chroma-500)calc(var(--chromatic-hue) + 0)/.1)var(--un-gradient-via-position),var(--un-gradient-to);--un-gradient-via-position:50%;--un-gradient-shape:to right in oklch;--un-gradient:var(--un-gradient-shape),var(--un-gradient-stops);background-image:linear-gradient(var(--un-gradient));opacity:1;width:85%}.dark .voice-card[data-v-063d85cc]:hover:before{--un-gradient-from-position:0%;--un-gradient-from:oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/.2)var(--un-gradient-from-position);--un-gradient-to-position:100%;--un-gradient-to:transparent var(--un-gradient-to-position);--un-gradient-stops:var(--un-gradient-from),oklch(74% var(--chromatic-chroma-400)calc(var(--chromatic-hue) + 0)/.1)var(--un-gradient-via-position),var(--un-gradient-to);--un-gradient-via-position:50%}.double-check-slide-enter-active[data-v-5350c1de],.double-check-slide-leave-active[data-v-5350c1de]{transition:opacity .16s,transform .16s}.double-check-slide-enter-from[data-v-5350c1de],.double-check-slide-leave-to[data-v-5350c1de]{opacity:0;transform:translate(-10px)}.double-check-primary[data-v-5350c1de]{transition:min-width .18s,padding .18s}.double-check-primary--default[data-v-5350c1de]{min-width:7rem}.double-check-primary--confirming[data-v-5350c1de]{min-width:9rem}.skeleton[data-v-5397c83a]{transition:all .2s ease-in-out;position:relative}.skeleton-pulse[data-v-5397c83a]{animation:2s ease-in-out .5s infinite skeleton-pulse-5397c83a}@keyframes skeleton-pulse-5397c83a{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.skeleton-wave[data-v-5397c83a]:after{content:"";border-radius:inherit;background:linear-gradient(90deg,#0000,#fff,#0000);animation:2s ease-in-out infinite skeleton-wave-5397c83a;position:absolute;inset:0;transform:translate(-100%)}.dark .skeleton-wave[data-v-5397c83a]:after{background:linear-gradient(90deg,#0000,#ffffff1a,#0000)}@keyframes skeleton-wave-5397c83a{0%{opacity:0;transform:translate(-100%)}60%{opacity:1;transform:translate(100%)}to{opacity:0;transform:translate(100%)}}.card-hover-effect[data-v-05127d28]{transform-style:preserve-3d;transform-origin:50%;will-change:transform;transition:transform .3s cubic-bezier(.23,1,.32,1)}.card-hover-effect[data-v-05127d28]:before,.card-hover-effect[data-v-05127d28]:after{content:"";pointer-events:none;background-repeat:no-repeat;transition:all .33s;position:absolute;inset:0}.card-hover-effect[data-v-05127d28]:before{background-position:var(--card-position-x)var(--card-position-y);background-size:300% 300%;background-image:linear-gradient(115deg,transparent 0%,rgba(var(--color-primary-500),calc(.3*var(--effect-intensity)))25%,transparent 47%,transparent 53%,rgba(var(--color-primary-600),calc(.3*var(--effect-intensity)))75%,transparent 100%);opacity:calc(.5*var(--effect-intensity));filter:brightness(.5)contrast();z-index:1;mix-blend-mode:color-dodge}.card-hover-effect[data-v-05127d28]:after{background-position:var(--sparkle-position-x)var(--sparkle-position-y);background-size:160%;background-image:linear-gradient(125deg,rgba(var(--color-primary-500),calc(.3*var(--effect-intensity)))15%,rgba(var(--color-primary-400),calc(.25*var(--effect-intensity)))30%,rgba(var(--color-primary-300),calc(.2*var(--effect-intensity)))40%,rgba(var(--color-primary-200),calc(.1*var(--effect-intensity)))60%,rgba(var(--color-primary-400),calc(.25*var(--effect-intensity)))70%,rgba(var(--color-primary-500),calc(.3*var(--effect-intensity)))85%);background-blend-mode:overlay;opacity:calc(var(--sparkle-opacity)*var(--effect-intensity));filter:brightness()contrast();z-index:2;mix-blend-mode:color-dodge}.card-hover-effect[data-v-05127d28]:hover:before{opacity:calc(.88*var(--effect-intensity));filter:brightness(.66)contrast(1.33)}.card-hover-effect[data-v-05127d28]:hover:after{opacity:var(--effect-intensity);filter:brightness(1.1)contrast(1.2)}.slide-next-enter-active[data-v-52c8a4c7],.slide-next-leave-active[data-v-52c8a4c7]{transition:transform .2s ease-in-out,opacity .2s ease-in-out}.slide-next-enter-from[data-v-52c8a4c7]{opacity:0;transform:translate(100%)}.slide-next-enter-to[data-v-52c8a4c7],.slide-next-leave-from[data-v-52c8a4c7]{opacity:1;transform:translate(0)}.slide-next-leave-to[data-v-52c8a4c7]{opacity:0;transform:translate(-100%)}.slide-prev-enter-active[data-v-52c8a4c7],.slide-prev-leave-active[data-v-52c8a4c7]{transition:transform .2s ease-in-out,opacity .2s ease-in-out}.slide-prev-enter-from[data-v-52c8a4c7]{opacity:0;transform:translate(-100%)}.slide-prev-enter-to[data-v-52c8a4c7],.slide-prev-leave-from[data-v-52c8a4c7]{opacity:1;transform:translate(0)}.slide-prev-leave-to[data-v-52c8a4c7]{opacity:0;transform:translate(100%)}[data-sonner-toast=""] [data-content=""]{width:100%}
diff --git a/assets/composables-BU6rDt4b.js b/assets/composables-DyFLqZip.js
similarity index 99%
rename from assets/composables-BU6rDt4b.js
rename to assets/composables-DyFLqZip.js
index f3aa0205e74e4251aaecaecb08a8c5d1581d71d1..ca79f328a4027e8b86c5bedbdbec1320dc45b936 100644
--- a/assets/composables-BU6rDt4b.js
+++ b/assets/composables-DyFLqZip.js
@@ -1,4 +1,4 @@
-import{i as e,t}from"./chunk-oCmw4s_B.js";import{Et as n,at as r,xt as i}from"./vue.runtime.esm-bundler-CV_MT70o.js";import{n as a,t as o}from"./preload-helper-C_mzgxuZ.js";import{t as s}from"./merge-d6C2wmu3.js";import{i as c,t as l}from"./transformers.web-C1Po2Iqw.js";function u(e,t,n){let r,i,a,o,{audioContextOptions:s={sampleRate:16e3,latencyHint:`interactive`}}=n||{},c=new AudioContext(s);async function l(){(!c||c.state===`closed`)&&(c=new AudioContext(s));try{o||=(await c.audioWorklet.addModule(t),!0),r=new AudioWorkletNode(c,`vad-audio-worklet-processor`),r.port.onmessage=async t=>{let{buffer:n}=t.data;n&&n.length>0&&await e.processAudio(new Float32Array(n))}}catch(e){throw console.error(`Failed to initialize audio worklet:`,e),e}}async function u(e){if(!c||!r)throw Error(`Audio system not initialized. Call initialize() first.`);try{c.state===`suspended`&&await c.resume(),i=e,a=c.createMediaStreamSource(i),a.connect(r);let t=c.createGain();t.gain.value=0,r.connect(t),t.connect(c.destination)}catch(e){throw console.error(`Failed to start microphone:`,e),e}}function d(){c&&c.suspend()}function f(){a&&=(a.disconnect(),null),r&&=(r.disconnect(),null),i&&=(i.getTracks().forEach(e=>e.stop()),null),c&&c.state!==`closed`&&c.close(),o=!1}return{initialize:l,start:u,stop:d,dispose:f}}var d=class{config;model;state;sampleRateTensor;buffer;bufferPointer=0;isRecording=!1;postSpeechSamples=0;prevBuffers=[];inferenceChain=Promise.resolve();eventListeners={};isReady=!1;constructor(e={}){this.config={sampleRate:16e3,speechThreshold:.3,exitThreshold:.1,minSilenceDurationMs:400,speechPadMs:80,minSpeechDurationMs:250,maxBufferDuration:30,newBufferSize:512,...e},this.buffer=new Float32Array(this.config.maxBufferDuration*this.config.sampleRate),this.sampleRateTensor=new c(`int64`,[this.config.sampleRate],[]),this.state=new c(`float32`,new Float32Array(256),[2,1,128])}async initialize(){try{this.emit(`status`,{type:`info`,message:`Loading VAD model...`}),this.model=await l.from_pretrained(`onnx-community/silero-vad`,{config:{model_type:`custom`},dtype:`fp32`}),this.isReady=!0,this.emit(`status`,{type:`info`,message:`VAD model loaded successfully`})}catch(e){throw this.emit(`status`,{type:`error`,message:`Failed to load VAD model: ${e}`}),e}}on(e,t){this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(t)}off(e,t){this.eventListeners[e]&&(this.eventListeners[e]=this.eventListeners[e].filter(e=>e!==t))}emit(e,t){if(this.eventListeners[e])for(let n of this.eventListeners[e])n(t)}async processAudio(e){if(!this.isReady)throw Error(`VAD model is not initialized. Call initialize() first.`);let t=this.isRecording,n=await this.detectSpeech(e),r=this.config.sampleRate/1e3,i=this.config.minSilenceDurationMs*r,a=this.config.speechPadMs*r,o=this.config.minSpeechDurationMs*r,s=Math.ceil(a/this.config.newBufferSize);if(!t&&!n){this.prevBuffers.length>=s&&this.prevBuffers.shift(),this.prevBuffers.push(e.slice(0));return}let c=this.buffer.length-this.bufferPointer;if(e.length>=c){this.buffer.set(e.subarray(0,c),this.bufferPointer),this.bufferPointer+=c;let t=e.subarray(c);this.processSpeechSegment(t);return}else this.buffer.set(e,this.bufferPointer),this.bufferPointer+=e.length;if(n){this.isRecording||(this.emit(`speech-start`,void 0),this.emit(`status`,{type:`info`,message:`Speech detected`})),this.isRecording=!0,this.postSpeechSamples=0;return}if(this.postSpeechSamples+=e.length,this.postSpeechSamples>=i){if(this.bufferPointerthis.model?.({input:t,sr:this.sampleRateTensor,state:this.state})));this.state=n;let i=r.data[0];return this.emit(`debug`,{message:`VAD score`,data:{probability:i}}),i>this.config.speechThreshold||this.isRecording&&i>=this.config.exitThreshold}processSpeechSegment(e){let t=this.config.sampleRate/1e3,n=this.config.speechPadMs*t,r=this.bufferPointer/this.config.sampleRate*1e3,i=e?.length??0,a=this.prevBuffers.reduce((e,t)=>e+t.length,0),o=new Float32Array(a+this.bufferPointer+n),s=0;for(let e of this.prevBuffers)o.set(e,s),s+=e.length;o.set(this.buffer.slice(0,this.bufferPointer+n),s),this.emit(`speech-end`,void 0),this.emit(`speech-ready`,{buffer:o,duration:r}),e&&this.buffer.set(e,0),this.reset(i)}reset(e=0){this.buffer.fill(0,e),this.bufferPointer=e,this.isRecording=!1,this.postSpeechSamples=0,this.prevBuffers=[]}updateConfig(e){this.config={...this.config,...e},(e.maxBufferDuration||e.sampleRate)&&(this.buffer=new Float32Array(this.config.maxBufferDuration*this.config.sampleRate),this.bufferPointer=0),e.sampleRate&&(this.sampleRateTensor=new c(`int64`,[this.config.sampleRate],[]))}};async function f(e){let t=new d(e);return await t.initialize(),t}function p(e,t){t=s({threshold:i(.6)},t);let a=i(),o=i(),c=i(),l=i(!1),d=i(0),p=i([]),m=i(!1),h=i(!1),g=n(t.threshold);async function _(){if(!(m.value||h.value||o.value)){h.value=!0,c.value=``;try{a.value=await f({sampleRate:16e3,speechThreshold:g.value,exitThreshold:(g.value??.6)*.3,minSilenceDurationMs:400}),a.value.on(`speech-start`,()=>{l.value=!0,t?.onSpeechStart?.()}),a.value.on(`speech-end`,()=>{l.value=!1,t?.onSpeechEnd?.()}),a.value.on(`debug`,({data:e})=>{e?.probability!==void 0&&(d.value=e.probability,p.value.push(e.probability),p.value.length>50&&p.value.shift())}),a.value.on(`status`,({type:e,message:t})=>{e===`error`&&(c.value=t)});let n=u(a.value,e,{minChunkSize:512,audioContextOptions:{sampleRate:16e3,latencyHint:`interactive`}});await n.initialize(),o.value=n,m.value=!0}catch(e){c.value=e instanceof Error?e.message:String(e)}finally{h.value=!1}}}async function v(e){o.value&&await o.value.start(e)}function y(){o.value?.stop(),o.value?.dispose(),o.value=void 0,l.value=!1,d.value=0,p.value=[],m.value=!1,h.value=!1}return r(g,e=>{a.value&&e&&a.value.updateConfig({speechThreshold:e,exitThreshold:e*.3})}),{isSpeech:l,isSpeechProb:d,isSpeechHistory:p,loaded:m,loading:h,inferenceError:c,threshold:g,init:_,start:v,dispose:y}}var m=t((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.baseAssetPath=void 0;var t=typeof window<`u`&&window.document!==void 0?window.document.currentScript:null,n=`/`;t&&(n=t.src.replace(/#.*$/,``).replace(/\?.*$/,``).replace(/\/[^/]+$/,`/`)),e.baseAssetPath=n})),h=t((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.defaultModelFetcher=void 0,e.defaultModelFetcher=e=>fetch(e).then(e=>e.arrayBuffer())})),g=t((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.log=void 0;var t=e=>t=>{console.log(`VAD | ${e} >`,t)};e.log={error:t(`error`),debug:t(`debug`),warn:t(`warn`)}})),_=t((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.Message=void 0;var t;(function(e){e.AudioFrame=`AUDIO_FRAME`,e.SpeechStart=`SPEECH_START`,e.VADMisfire=`VAD_MISFIRE`,e.SpeechEnd=`SPEECH_END`,e.SpeechStop=`SPEECH_STOP`,e.SpeechRealStart=`SPEECH_REAL_START`,e.FrameProcessed=`FRAME_PROCESSED`})(t||(e.Message=t={}))})),v=t((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.FrameProcessor=e.validateOptions=e.defaultFrameProcessorOptions=void 0;var t=g(),n=_();e.defaultFrameProcessorOptions={positiveSpeechThreshold:.3,negativeSpeechThreshold:.25,preSpeechPadMs:800,redemptionMs:1400,minSpeechMs:400,submitUserSpeechOnPause:!1};function r(e){(e.positiveSpeechThreshold<0||e.positiveSpeechThreshold>1)&&t.log.error(`positiveSpeechThreshold should be a number between 0 and 1`),(e.negativeSpeechThreshold<0||e.negativeSpeechThreshold>e.positiveSpeechThreshold)&&t.log.error(`negativeSpeechThreshold should be between 0 and positiveSpeechThreshold`),e.preSpeechPadMs<0&&t.log.error(`preSpeechPadMs should be positive`),e.redemptionMs<0&&t.log.error(`redemptionMs should be positive`),e.minSpeechMs<0&&t.log.error(`minSpeechMs should be positive`)}e.validateOptions=r;var i=e=>{let t=e.reduce((e,t)=>(e.push(e.at(-1)+t.length),e),[0]),n=new Float32Array(t.at(-1));return e.forEach((e,r)=>{let i=t[r];n.set(e,i)}),n};function a(e,t){return{redemptionFrames:Math.floor(e.redemptionMs/t),preSpeechPadFrames:Math.floor(e.preSpeechPadMs/t),minSpeechFrames:Math.floor(e.minSpeechMs/t)}}e.FrameProcessor=class{constructor(e,t,r,o){this.modelProcessFunc=e,this.modelResetFunc=t,this.options=r,this.msPerFrame=o,this.speaking=!1,this.redemptionCounter=0,this.speechFrameCount=0,this.active=!1,this.speechRealStartFired=!1,this.setOptions=e=>{this.options={...this.options,...e};let{redemptionFrames:t,preSpeechPadFrames:n,minSpeechFrames:r}=a(this.options,this.msPerFrame);this.redemptionFrames=t,this.preSpeechPadFrames=n,this.minSpeechFrames=r},this.reset=()=>{this.speaking=!1,this.speechRealStartFired=!1,this.audioBuffer=[],this.modelResetFunc(),this.redemptionCounter=0,this.speechFrameCount=0},this.pause=e=>{this.active=!1,this.options.submitUserSpeechOnPause?this.endSegment(e):this.reset()},this.resume=()=>{this.active=!0},this.endSegment=e=>{let t=this.audioBuffer;this.audioBuffer=[];let r=this.speaking;if(this.reset(),r)if(t.reduce((e,t)=>t.isSpeech?e+1:e,0)>=this.minSpeechFrames){let r=i(t.map(e=>e.frame));e({msg:n.Message.SpeechEnd,audio:r})}else e({msg:n.Message.VADMisfire});return{}},this.process=async(e,t)=>{if(!this.active)return;let r=await this.modelProcessFunc(e),a=r.isSpeech>=this.options.positiveSpeechThreshold;if(t({probs:r,msg:n.Message.FrameProcessed,frame:e}),this.audioBuffer.push({frame:e,isSpeech:a}),a&&(this.speechFrameCount++,this.redemptionCounter=0),a&&!this.speaking&&(this.speaking=!0,t({msg:n.Message.SpeechStart})),this.speaking&&this.speechFrameCount===this.minSpeechFrames&&!this.speechRealStartFired&&(this.speechRealStartFired=!0,t({msg:n.Message.SpeechRealStart})),r.isSpeech=this.redemptionFrames){this.redemptionCounter=0,this.speechFrameCount=0,this.speaking=!1,this.speechRealStartFired=!1;let e=this.audioBuffer;if(this.audioBuffer=[],e.reduce((e,t)=>t.isSpeech?e+1:e,0)>=this.minSpeechFrames){let r=i(e.map(e=>e.frame));t({msg:n.Message.SpeechEnd,audio:r})}else t({msg:n.Message.VADMisfire})}if(!this.speaking){for(;this.audioBuffer.length>this.preSpeechPadFrames;)this.audioBuffer.shift();this.speechFrameCount=0}},this.audioBuffer=[];let{redemptionFrames:s,preSpeechPadFrames:c,minSpeechFrames:l}=a(this.options,this.msPerFrame);this.redemptionFrames=s,this.preSpeechPadFrames=c,this.minSpeechFrames=l,this.reset()}}})),y=t(((t,n)=>{a();var r=(()=>{var t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,a=(t=>typeof e<`u`?e:typeof Proxy<`u`?new Proxy(t,{get:(t,n)=>(typeof e<`u`?e:t)[n]}):t)(function(t){if(typeof e<`u`)return e.apply(this,arguments);throw Error(`Dynamic require of "`+t+`" is not supported`)}),s=(e,t)=>()=>(e&&(t=e(e=0)),t),c=(e,n)=>{for(var r in n)t(e,r,{get:n[r],enumerable:!0})},l=(e,a,o,s)=>{if(a&&typeof a==`object`||typeof a==`function`)for(let c of r(a))!i.call(e,c)&&c!==o&&t(e,c,{get:()=>a[c],enumerable:!(s=n(a,c))||s.enumerable});return e},u=e=>l(t({},`__esModule`,{value:!0}),e),d,f,p,m,h,g=s(()=>{d=new Map,f=[],p=(e,t,n)=>{if(t&&typeof t.init==`function`&&typeof t.createInferenceSessionHandler==`function`){let r=d.get(e);if(r===void 0)d.set(e,{backend:t,priority:n});else{if(r.priority>n)return;if(r.priority===n&&r.backend!==t)throw Error(`cannot register backend "${e}" using priority ${n}`)}if(n>=0){let t=f.indexOf(e);t!==-1&&f.splice(t,1);for(let t=0;t{let t=d.get(e);if(!t)return`backend not found.`;if(t.initialized)return t.backend;if(t.aborted)return t.error;{let n=!!t.initPromise;try{return n||(t.initPromise=t.backend.init(e)),await t.initPromise,t.initialized=!0,t.backend}catch(e){return n||(t.error=`${e}`,t.aborted=!0),t.error}finally{delete t.initPromise}}},h=async e=>{let t=e.executionProviders||[],n=t.map(e=>typeof e==`string`?e:e.name),r=n.length===0?f:n,i,a=[],o=new Set;for(let e of r){let t=await m(e);typeof t==`string`?a.push({name:e,err:t}):(i||=t,i===t&&o.add(e))}if(!i)throw Error(`no available backend found. ERR: ${a.map(e=>`[${e.name}] ${e.err}`).join(`, `)}`);for(let{name:e,err:t}of a)n.includes(e)&&console.warn(`removing requested execution provider "${e}" from session options because it is not available: ${t}`);let s=t.filter(e=>o.has(typeof e==`string`?e:e.name));return[i,new Proxy(e,{get:(e,t)=>t===`executionProviders`?s:Reflect.get(e,t)})]}}),_=s(()=>{g()}),v,y=s(()=>{v=`1.23.2`}),b,x,S=s(()=>{y(),b=`warning`,x={wasm:{},webgl:{},webgpu:{},versions:{common:v},set logLevel(e){if(e!==void 0){if(typeof e!=`string`||[`verbose`,`info`,`warning`,`error`,`fatal`].indexOf(e)===-1)throw Error(`Unsupported logging level: ${e}`);b=e}},get logLevel(){return b}},Object.defineProperty(x,`logLevel`,{enumerable:!0})}),C,w=s(()=>{S(),C=x}),T,E,ee=s(()=>{T=(e,t)=>{let n=typeof document<`u`?document.createElement(`canvas`):new OffscreenCanvas(1,1);n.width=e.dims[3],n.height=e.dims[2];let r=n.getContext(`2d`);if(r!=null){let i,a;t?.tensorLayout!==void 0&&t.tensorLayout===`NHWC`?(i=e.dims[2],a=e.dims[3]):(i=e.dims[3],a=e.dims[2]);let o=t?.format===void 0?`RGB`:t.format,s=t?.norm,c,l;s===void 0||s.mean===void 0?c=[255,255,255,255]:typeof s.mean==`number`?c=[s.mean,s.mean,s.mean,s.mean]:(c=[s.mean[0],s.mean[1],s.mean[2],0],s.mean[3]!==void 0&&(c[3]=s.mean[3])),s===void 0||s.bias===void 0?l=[0,0,0,0]:typeof s.bias==`number`?l=[s.bias,s.bias,s.bias,s.bias]:(l=[s.bias[0],s.bias[1],s.bias[2],0],s.bias[3]!==void 0&&(l[3]=s.bias[3]));let u=a*i,d=0,f=u,p=u*2,m=-1;o===`RGBA`?(d=0,f=u,p=u*2,m=u*3):o===`RGB`?(d=0,f=u,p=u*2):o===`RBG`&&(d=0,p=u,f=u*2);for(let t=0;t{let n=typeof document<`u`?document.createElement(`canvas`).getContext(`2d`):new OffscreenCanvas(1,1).getContext(`2d`),r;if(n!=null){let i,a,o;t?.tensorLayout!==void 0&&t.tensorLayout===`NHWC`?(i=e.dims[2],a=e.dims[1],o=e.dims[3]):(i=e.dims[3],a=e.dims[2],o=e.dims[1]);let s=t!==void 0&&t.format!==void 0?t.format:`RGB`,c=t?.norm,l,u;c===void 0||c.mean===void 0?l=[255,255,255,255]:typeof c.mean==`number`?l=[c.mean,c.mean,c.mean,c.mean]:(l=[c.mean[0],c.mean[1],c.mean[2],255],c.mean[3]!==void 0&&(l[3]=c.mean[3])),c===void 0||c.bias===void 0?u=[0,0,0,0]:typeof c.bias==`number`?u=[c.bias,c.bias,c.bias,c.bias]:(u=[c.bias[0],c.bias[1],c.bias[2],0],c.bias[3]!==void 0&&(u[3]=c.bias[3]));let d=a*i;if(t!==void 0&&(t.format!==void 0&&o===4&&t.format!==`RGBA`||o===3&&t.format!==`RGB`&&t.format!==`BGR`))throw Error(`Tensor format doesn't match input tensor dims`);let f=0,p=1,m=2,h=3,g=0,_=d,v=d*2,y=-1;s===`RGBA`?(g=0,_=d,v=d*2,y=d*3):s===`RGB`?(g=0,_=d,v=d*2):s===`RBG`&&(g=0,v=d,_=d*2),r=n.createImageData(i,a);for(let t=0;t{me(),D=(e,t)=>{if(e===void 0)throw Error(`Image buffer must be defined`);if(t.height===void 0||t.width===void 0)throw Error(`Image height and width must be defined`);if(t.tensorLayout===`NHWC`)throw Error(`NHWC Tensor layout is not supported yet`);let{height:n,width:r}=t,i=t.norm??{mean:255,bias:0},a,o;a=typeof i.mean==`number`?[i.mean,i.mean,i.mean,i.mean]:[i.mean[0],i.mean[1],i.mean[2],i.mean[3]??255],o=typeof i.bias==`number`?[i.bias,i.bias,i.bias,i.bias]:[i.bias[0],i.bias[1],i.bias[2],i.bias[3]??0];let s=t.format===void 0?`RGBA`:t.format,c=t.tensorFormat!==void 0&&t.tensorFormat!==void 0?t.tensorFormat:`RGB`,l=n*r,u=c===`RGBA`?new Float32Array(l*4):new Float32Array(l*3),d=4,f=0,p=1,m=2,h=3,g=0,_=l,v=l*2,y=-1;s===`RGB`&&(d=3,f=0,p=1,m=2,h=-1),c===`RGBA`?y=l*3:c===`RBG`?(g=0,v=l,_=l*2):c===`BGR`&&(v=0,_=l,g=l*2);for(let t=0;t{let n=typeof HTMLImageElement<`u`&&e instanceof HTMLImageElement,r=typeof ImageData<`u`&&e instanceof ImageData,i=typeof ImageBitmap<`u`&&e instanceof ImageBitmap,a=typeof e==`string`,o,s=t??{},c=()=>{if(typeof document<`u`)return document.createElement(`canvas`);if(typeof OffscreenCanvas<`u`)return new OffscreenCanvas(1,1);throw Error(`Canvas is not supported`)},l=e=>typeof HTMLCanvasElement<`u`&&e instanceof HTMLCanvasElement||e instanceof OffscreenCanvas?e.getContext(`2d`):null;if(n){let n=c();n.width=e.width,n.height=e.height;let r=l(n);if(r!=null){let n=e.height,i=e.width;if(t!==void 0&&t.resizedHeight!==void 0&&t.resizedWidth!==void 0&&(n=t.resizedHeight,i=t.resizedWidth),t!==void 0){if(s=t,t.tensorFormat!==void 0)throw Error(`Image input config format must be RGBA for HTMLImageElement`);s.tensorFormat=`RGBA`,s.height=n,s.width=i}else s.tensorFormat=`RGBA`,s.height=n,s.width=i;r.drawImage(e,0,0),o=r.getImageData(0,0,i,n).data}else throw Error(`Can not access image data`)}else if(r){let n,r;if(t!==void 0&&t.resizedWidth!==void 0&&t.resizedHeight!==void 0?(n=t.resizedHeight,r=t.resizedWidth):(n=e.height,r=e.width),t!==void 0&&(s=t),s.format=`RGBA`,s.height=n,s.width=r,t!==void 0){let t=c();t.width=r,t.height=n;let i=l(t);if(i!=null)i.putImageData(e,0,0),o=i.getImageData(0,0,r,n).data;else throw Error(`Can not access image data`)}else o=e.data}else if(i){if(t===void 0)throw Error(`Please provide image config with format for Imagebitmap`);let n=c();n.width=e.width,n.height=e.height;let r=l(n);if(r!=null){let t=e.height,n=e.width;return r.drawImage(e,0,0,n,t),o=r.getImageData(0,0,n,t).data,s.height=t,s.width=n,D(o,s)}else throw Error(`Can not access image data`)}else{if(a)return new Promise((t,n)=>{let r=c(),i=l(r);if(!e||!i)return n();let a=new Image;a.crossOrigin=`Anonymous`,a.src=e,a.onload=()=>{r.width=a.width,r.height=a.height,i.drawImage(a,0,0,r.width,r.height);let e=i.getImageData(0,0,r.width,r.height);s.height=r.height,s.width=r.width,t(D(e.data,s))}});throw Error(`Input data provided is not supported - aborted tensor creation`)}if(o!==void 0)return D(o,s);throw Error(`Input data provided is not supported - aborted tensor creation`)},te=(e,t)=>{let{width:n,height:r,download:i,dispose:a}=t;return new k({location:`texture`,type:`float32`,texture:e,dims:[1,r,n,4],download:i,dispose:a})},ne=(e,t)=>{let{dataType:n,dims:r,download:i,dispose:a}=t;return new k({location:`gpu-buffer`,type:n??`float32`,gpuBuffer:e,dims:r,download:i,dispose:a})},re=(e,t)=>{let{dataType:n,dims:r,download:i,dispose:a}=t;return new k({location:`ml-tensor`,type:n??`float32`,mlTensor:e,dims:r,download:i,dispose:a})},ie=(e,t,n)=>new k({location:`cpu-pinned`,type:e,data:t,dims:n??[t.length]})}),oe,se,ce,le,ue=s(()=>{oe=new Map([[`float32`,Float32Array],[`uint8`,Uint8Array],[`int8`,Int8Array],[`uint16`,Uint16Array],[`int16`,Int16Array],[`int32`,Int32Array],[`bool`,Uint8Array],[`float64`,Float64Array],[`uint32`,Uint32Array],[`int4`,Uint8Array],[`uint4`,Uint8Array]]),se=new Map([[Float32Array,`float32`],[Uint8Array,`uint8`],[Int8Array,`int8`],[Uint16Array,`uint16`],[Int16Array,`int16`],[Int32Array,`int32`],[Float64Array,`float64`],[Uint32Array,`uint32`]]),ce=!1,le=()=>{if(!ce){ce=!0;let e=typeof BigInt64Array<`u`&&BigInt64Array.from,t=typeof BigUint64Array<`u`&&BigUint64Array.from,n=globalThis.Float16Array,r=typeof n<`u`&&n.from;e&&(oe.set(`int64`,BigInt64Array),se.set(BigInt64Array,`int64`)),t&&(oe.set(`uint64`,BigUint64Array),se.set(BigUint64Array,`uint64`)),r?(oe.set(`float16`,n),se.set(n,`float16`)):oe.set(`float16`,Uint16Array)}}}),de,fe,pe=s(()=>{me(),de=e=>{let t=1;for(let n=0;n{switch(e.location){case`cpu`:return new k(e.type,e.data,t);case`cpu-pinned`:return new k({location:`cpu-pinned`,data:e.data,type:e.type,dims:t});case`texture`:return new k({location:`texture`,texture:e.texture,type:e.type,dims:t});case`gpu-buffer`:return new k({location:`gpu-buffer`,gpuBuffer:e.gpuBuffer,type:e.type,dims:t});case`ml-tensor`:return new k({location:`ml-tensor`,mlTensor:e.mlTensor,type:e.type,dims:t});default:throw Error(`tensorReshape: tensor location ${e.location} is not supported`)}}}),k,me=s(()=>{ee(),ae(),ue(),pe(),k=class{constructor(e,t,n){le();let r,i;if(typeof e==`object`&&`location`in e)switch(this.dataLocation=e.location,r=e.type,i=e.dims,e.location){case`cpu-pinned`:{let t=oe.get(r);if(!t)throw TypeError(`unsupported type "${r}" to create tensor from pinned buffer`);if(!(e.data instanceof t))throw TypeError(`buffer should be of type ${t.name}`);this.cpuData=e.data;break}case`texture`:if(r!==`float32`)throw TypeError(`unsupported type "${r}" to create tensor from texture`);this.gpuTextureData=e.texture,this.downloader=e.download,this.disposer=e.dispose;break;case`gpu-buffer`:if(r!==`float32`&&r!==`float16`&&r!==`int32`&&r!==`int64`&&r!==`uint32`&&r!==`uint8`&&r!==`bool`&&r!==`uint4`&&r!==`int4`)throw TypeError(`unsupported type "${r}" to create tensor from gpu buffer`);this.gpuBufferData=e.gpuBuffer,this.downloader=e.download,this.disposer=e.dispose;break;case`ml-tensor`:if(r!==`float32`&&r!==`float16`&&r!==`int32`&&r!==`int64`&&r!==`uint32`&&r!==`uint64`&&r!==`int8`&&r!==`uint8`&&r!==`bool`&&r!==`uint4`&&r!==`int4`)throw TypeError(`unsupported type "${r}" to create tensor from MLTensor`);this.mlTensorData=e.mlTensor,this.downloader=e.download,this.disposer=e.dispose;break;default:throw Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let a,o;if(typeof e==`string`)if(r=e,o=n,e===`string`){if(!Array.isArray(t))throw TypeError(`A string tensor's data must be a string array.`);a=t}else{let n=oe.get(e);if(n===void 0)throw TypeError(`Unsupported tensor type: ${e}.`);if(Array.isArray(t)){if(e===`float16`&&n===Uint16Array||e===`uint4`||e===`int4`)throw TypeError(`Creating a ${e} tensor from number array is not supported. Please use ${n.name} as data.`);a=e===`uint64`||e===`int64`?n.from(t,BigInt):n.from(t)}else if(t instanceof n)a=t;else if(t instanceof Uint8ClampedArray)if(e===`uint8`)a=Uint8Array.from(t);else throw TypeError(`A Uint8ClampedArray tensor's data must be type of uint8`);else if(e===`float16`&&t instanceof Uint16Array&&n!==Uint16Array)a=new globalThis.Float16Array(t.buffer,t.byteOffset,t.length);else throw TypeError(`A ${r} tensor's data must be type of ${n}`)}else if(o=t,Array.isArray(e)){if(e.length===0)throw TypeError(`Tensor type cannot be inferred from an empty array.`);let t=typeof e[0];if(t===`string`)r=`string`,a=e;else if(t===`boolean`)r=`bool`,a=Uint8Array.from(e);else throw TypeError(`Invalid element type of data array: ${t}.`)}else if(e instanceof Uint8ClampedArray)r=`uint8`,a=Uint8Array.from(e);else{let t=se.get(e.constructor);if(t===void 0)throw TypeError(`Unsupported type for tensor data: ${e.constructor}.`);r=t,a=e}if(o===void 0)o=[a.length];else if(!Array.isArray(o))throw TypeError(`A tensor's dims must be a number array`);i=o,this.cpuData=a,this.dataLocation=`cpu`}let a=de(i);if(this.cpuData&&a!==this.cpuData.length&&!((r===`uint4`||r===`int4`)&&Math.ceil(a/2)===this.cpuData.length))throw Error(`Tensor's size(${a}) does not match data length(${this.cpuData.length}).`);this.type=r,this.dims=i,this.size=a}static async fromImage(e,t){return O(e,t)}static fromTexture(e,t){return te(e,t)}static fromGpuBuffer(e,t){return ne(e,t)}static fromMLTensor(e,t){return re(e,t)}static fromPinnedBuffer(e,t,n){return ie(e,t,n)}toDataURL(e){return T(this,e)}toImageData(e){return E(this,e)}get data(){if(this.ensureValid(),!this.cpuData)throw Error("The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly.");return this.cpuData}get location(){return this.dataLocation}get texture(){if(this.ensureValid(),!this.gpuTextureData)throw Error(`The data is not stored as a WebGL texture.`);return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw Error(`The data is not stored as a WebGPU buffer.`);return this.gpuBufferData}get mlTensor(){if(this.ensureValid(),!this.mlTensorData)throw Error(`The data is not stored as a WebNN MLTensor.`);return this.mlTensorData}async getData(e){switch(this.ensureValid(),this.dataLocation){case`cpu`:case`cpu-pinned`:return this.data;case`texture`:case`gpu-buffer`:case`ml-tensor`:if(!this.downloader)throw Error(`The current tensor is not created with a specified data downloader.`);if(this.isDownloading)throw Error(`The current tensor is being downloaded.`);try{this.isDownloading=!0;let t=await this.downloader();return this.downloader=void 0,this.dataLocation=`cpu`,this.cpuData=t,e&&this.disposer&&(this.disposer(),this.disposer=void 0),t}finally{this.isDownloading=!1}default:throw Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw Error(`The current tensor is being downloaded.`);this.disposer&&=(this.disposer(),void 0),this.cpuData=void 0,this.gpuTextureData=void 0,this.gpuBufferData=void 0,this.mlTensorData=void 0,this.downloader=void 0,this.isDownloading=void 0,this.dataLocation=`none`}ensureValid(){if(this.dataLocation===`none`)throw Error(`The tensor is disposed.`)}reshape(e){if(this.ensureValid(),this.downloader||this.disposer)throw Error(`Cannot reshape a tensor that owns GPU resource.`);return fe(this,e)}}}),A,he=s(()=>{me(),A=k}),ge,_e,j,M,ve,ye,be=s(()=>{S(),ge=(e,t)=>{(typeof x.trace>`u`?!x.wasm.trace:!x.trace)||console.timeStamp(`${e}::ORT::${t}`)},_e=(e,t)=>{let n=Error().stack?.split(/\r\n|\r|\n/g)||[],r=!1;for(let i=0;i{(typeof x.trace>`u`?!x.wasm.trace:!x.trace)||_e(`BEGIN`,e)},M=e=>{(typeof x.trace>`u`?!x.wasm.trace:!x.trace)||_e(`END`,e)},ve=e=>{(typeof x.trace>`u`?!x.wasm.trace:!x.trace)||console.time(`ORT::${e}`)},ye=e=>{(typeof x.trace>`u`?!x.wasm.trace:!x.trace)||console.timeEnd(`ORT::${e}`)}}),xe,Se=s(()=>{g(),he(),be(),xe=class e{constructor(e){this.handler=e}async run(e,t,n){j(),ve(`InferenceSession.run`);let r={},i={};if(typeof e!=`object`||!e||e instanceof A||Array.isArray(e))throw TypeError(`'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.`);let a=!0;if(typeof t==`object`){if(t===null)throw TypeError(`Unexpected argument[1]: cannot be null.`);if(t instanceof A)throw TypeError(`'fetches' cannot be a Tensor`);if(Array.isArray(t)){if(t.length===0)throw TypeError(`'fetches' cannot be an empty array.`);a=!1;for(let e of t){if(typeof e!=`string`)throw TypeError(`'fetches' must be a string array or an object.`);if(this.outputNames.indexOf(e)===-1)throw RangeError(`'fetches' contains invalid output name: ${e}.`);r[e]=null}if(typeof n==`object`&&n)i=n;else if(typeof n<`u`)throw TypeError(`'options' must be an object.`)}else{let e=!1,o=Object.getOwnPropertyNames(t);for(let n of this.outputNames)if(o.indexOf(n)!==-1){let i=t[n];(i===null||i instanceof A)&&(e=!0,a=!1,r[n]=i)}if(e){if(typeof n==`object`&&n)i=n;else if(typeof n<`u`)throw TypeError(`'options' must be an object.`)}else i=t}}else if(typeof t<`u`)throw TypeError(`Unexpected argument[1]: must be 'fetches' or 'options'.`);for(let t of this.inputNames)if(typeof e[t]>`u`)throw Error(`input '${t}' is missing in 'feeds'.`);if(a)for(let e of this.outputNames)r[e]=null;let o=await this.handler.run(e,r,i),s={};for(let e in o)if(Object.hasOwnProperty.call(o,e)){let t=o[e];t instanceof A?s[e]=t:s[e]=new A(t.type,t.data,t.dims)}return ye(`InferenceSession.run`),M(),s}async release(){return this.handler.dispose()}static async create(t,n,r,i){j(),ve(`InferenceSession.create`);let a,o={};if(typeof t==`string`){if(a=t,typeof n==`object`&&n)o=n;else if(typeof n<`u`)throw TypeError(`'options' must be an object.`)}else if(t instanceof Uint8Array){if(a=t,typeof n==`object`&&n)o=n;else if(typeof n<`u`)throw TypeError(`'options' must be an object.`)}else if(t instanceof ArrayBuffer||typeof SharedArrayBuffer<`u`&&t instanceof SharedArrayBuffer){let e=t,s=0,c=t.byteLength;if(typeof n==`object`&&n)o=n;else if(typeof n==`number`){if(s=n,!Number.isSafeInteger(s))throw RangeError(`'byteOffset' must be an integer.`);if(s<0||s>=e.byteLength)throw RangeError(`'byteOffset' is out of range [0, ${e.byteLength}).`);if(c=t.byteLength-s,typeof r==`number`){if(c=r,!Number.isSafeInteger(c))throw RangeError(`'byteLength' must be an integer.`);if(c<=0||s+c>e.byteLength)throw RangeError(`'byteLength' is out of range (0, ${e.byteLength-s}].`);if(typeof i==`object`&&i)o=i;else if(typeof i<`u`)throw TypeError(`'options' must be an object.`)}else if(typeof r<`u`)throw TypeError(`'byteLength' must be a number.`)}else if(typeof n<`u`)throw TypeError(`'options' must be an object.`);a=new Uint8Array(e,s,c)}else throw TypeError(`Unexpected argument[0]: must be 'path' or 'buffer'.`);let[s,c]=await h(o),l=await s.createInferenceSessionHandler(a,c);return ye(`InferenceSession.create`),M(),new e(l)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}get outputNames(){return this.handler.outputNames}get inputMetadata(){return this.handler.inputMetadata}get outputMetadata(){return this.handler.outputMetadata}}}),Ce,we=s(()=>{Se(),Ce=xe}),Te=s(()=>{}),Ee=s(()=>{}),De=s(()=>{}),Oe=s(()=>{}),ke={};c(ke,{InferenceSession:()=>Ce,TRACE:()=>ge,TRACE_EVENT_BEGIN:()=>ve,TRACE_EVENT_END:()=>ye,TRACE_FUNC_BEGIN:()=>j,TRACE_FUNC_END:()=>M,Tensor:()=>A,env:()=>C,registerBackend:()=>p});var N=s(()=>{_(),w(),we(),he(),Te(),Ee(),be(),De(),Oe()}),Ae=s(()=>{}),je={};c(je,{default:()=>Pe});var Me,Ne,Pe,Fe=s(()=>{zu(),rt(),Je(),Me=`ort-wasm-proxy-worker`,Ne=globalThis.self?.name===Me,Ne&&(self.onmessage=e=>{let{type:t,in:n}=e.data;try{switch(t){case`init-wasm`:nt(n.wasm).then(()=>{Du(n).then(()=>{postMessage({type:t})},e=>{postMessage({type:t,err:e})})},e=>{postMessage({type:t,err:e})});break;case`init-ep`:{let{epName:e,env:r}=n;Ou(r,e).then(()=>{postMessage({type:t})},e=>{postMessage({type:t,err:e})});break}case`copy-from`:{let{buffer:e}=n,r=Mu(e);postMessage({type:t,out:r});break}case`create`:{let{model:e,options:r}=n;Nu(e,r).then(e=>{postMessage({type:t,out:e})},e=>{postMessage({type:t,err:e})});break}case`release`:Pu(n),postMessage({type:t});break;case`run`:{let{sessionId:e,inputIndices:r,inputs:i,outputIndices:a,options:o}=n;Iu(e,r,i,a,Array(a.length).fill(null),o).then(e=>{e.some(e=>e[3]!==`cpu`)?postMessage({type:t,err:`Proxy does not support non-cpu tensor location.`}):postMessage({type:t,out:e},Ru([...i,...e]))},e=>{postMessage({type:t,err:e})});break}case`end-profiling`:Lu(n),postMessage({type:t});break;default:}}catch(e){postMessage({type:t,err:e})}}),Pe=Ne?null:e=>new Worker(e??P,{type:`classic`,name:Me})}),Ie,Le,P,Re,ze,Be,Ve,He,Ue,We,Ge,Ke,qe,Je=s(()=>{Ae(),Ie=typeof location>`u`?void 0:location.origin,Le=()=>typeof document<`u`?document.currentScript?.src:typeof self<`u`?self.location?.href:void 0,P=Le(),Re=()=>{if(P&&!P.startsWith(`blob:`))return P.substring(0,P.lastIndexOf(`/`)+1)},ze=(e,t)=>{try{let n=t??P;return(n?new URL(e,n):new URL(e)).origin===Ie}catch{return!1}},Be=(e,t)=>{let n=t??P;try{return(n?new URL(e,n):new URL(e)).href}catch{return}},Ve=(e,t)=>`${t??`./`}${e}`,He=async e=>{let t=await(await fetch(e,{credentials:`same-origin`})).blob();return URL.createObjectURL(t)},Ue=async e=>(await o(async()=>{let{default:t}=await import(e);return{default:t}},[])).default,We=(Fe(),u(je)).default,Ge=async()=>{if(!P)throw Error(`Failed to load proxy worker: cannot determine the script source URL.`);if(ze(P))return[void 0,We()];let e=await He(P);return[e,We(e)]},Ke=void 0,qe=async(e,t,n,r)=>{let i=Ke&&!(e||t);if(i)if(P)i=ze(P);else if(r&&!n)i=!0;else throw Error(`cannot determine the script source URL.`);if(i)return[void 0,Ke];{let r=`ort-wasm-simd-threaded.jsep.mjs`,i=e??Be(r,t),a=n&&i&&!ze(i,t),o=a?await He(i):i??Ve(r,t);return[a?o:void 0,await Ue(o)]}}}),Ye,Xe,Ze,Qe,$e,et,tt,nt,F,rt=s(()=>{Je(),Xe=!1,Ze=!1,Qe=!1,$e=()=>{if(typeof SharedArrayBuffer>`u`)return!1;try{return typeof MessageChannel<`u`&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch{return!1}},et=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch{return!1}},tt=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,19,1,17,0,65,1,253,15,65,2,253,15,65,3,253,15,253,147,2,11]))}catch{return!1}},nt=async e=>{if(Xe)return Promise.resolve();if(Ze)throw Error(`multiple calls to 'initializeWebAssembly()' detected.`);if(Qe)throw Error(`previous call to 'initializeWebAssembly()' failed.`);Ze=!0;let t=e.initTimeout,n=e.numThreads;if(e.simd!==!1){if(e.simd===`relaxed`){if(!tt())throw Error(`Relaxed WebAssembly SIMD is not supported in the current environment.`)}else if(!et())throw Error(`WebAssembly SIMD is not supported in the current environment.`)}let r=$e();n>1&&!r&&(typeof self<`u`&&!self.crossOriginIsolated&&console.warn(`env.wasm.numThreads is set to `+n+`, but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info.`),console.warn(`WebAssembly multi-threading is not supported in the current environment. Falling back to single-threading.`),e.numThreads=n=1);let i=e.wasmPaths,a=typeof i==`string`?i:void 0,o=i?.mjs,s=o?.href??o,c=i?.wasm,l=c?.href??c,u=e.wasmBinary,[d,f]=await qe(s,a,n>1,!!u||!!l),p=!1,m=[];if(t>0&&m.push(new Promise(e=>{setTimeout(()=>{p=!0,e()},t)})),m.push(new Promise((e,t)=>{let r={numThreads:n};if(u)r.wasmBinary=u;else if(l||a)r.locateFile=e=>l??a+e;else if(s&&s.indexOf(`blob:`)!==0)r.locateFile=e=>new URL(e,s).href;else if(d){let e=Re();e&&(r.locateFile=t=>e+t)}f(r).then(t=>{Ze=!1,Xe=!0,Ye=t,e(),d&&URL.revokeObjectURL(d)},e=>{Ze=!1,Qe=!0,t(e)})})),await Promise.race(m),p)throw Error(`WebAssembly backend initializing failed due to timeout: ${t}ms`)},F=()=>{if(Xe&&Ye)return Ye;throw Error(`WebAssembly is not initialized yet.`)}}),I,it,L,at=s(()=>{rt(),I=(e,t)=>{let n=F(),r=n.lengthBytesUTF8(e)+1,i=n._malloc(r);return n.stringToUTF8(e,i,r),t.push(i),i},it=(e,t,n,r)=>{if(typeof e==`object`&&e){if(n.has(e))throw Error(`Circular reference in options`);n.add(e)}Object.entries(e).forEach(([e,i])=>{let a=t?t+e:e;if(typeof i==`object`)it(i,a+`.`,n,r);else if(typeof i==`string`||typeof i==`number`)r(a,i.toString());else if(typeof i==`boolean`)r(a,i?`1`:`0`);else throw Error(`Can't handle extra config type: ${typeof i}`)})},L=e=>{let t=F(),n=t.stackSave();try{let n=t.PTR_SIZE,r=t.stackAlloc(2*n);t._OrtGetLastError(r,r+n);let i=Number(t.getValue(r,n===4?`i32`:`i64`)),a=t.getValue(r+n,`*`),o=a?t.UTF8ToString(a):``;throw Error(`${e} ERROR_CODE: ${i}, ERROR_MESSAGE: ${o}`)}finally{t.stackRestore(n)}}}),ot,st=s(()=>{rt(),at(),ot=e=>{let t=F(),n=0,r=[],i=e||{};try{if(e?.logSeverityLevel===void 0)i.logSeverityLevel=2;else if(typeof e.logSeverityLevel!=`number`||!Number.isInteger(e.logSeverityLevel)||e.logSeverityLevel<0||e.logSeverityLevel>4)throw Error(`log severity level is not valid: ${e.logSeverityLevel}`);if(e?.logVerbosityLevel===void 0)i.logVerbosityLevel=0;else if(typeof e.logVerbosityLevel!=`number`||!Number.isInteger(e.logVerbosityLevel))throw Error(`log verbosity level is not valid: ${e.logVerbosityLevel}`);e?.terminate===void 0&&(i.terminate=!1);let a=0;return e?.tag!==void 0&&(a=I(e.tag,r)),n=t._OrtCreateRunOptions(i.logSeverityLevel,i.logVerbosityLevel,!!i.terminate,a),n===0&&L(`Can't create run options.`),e?.extra!==void 0&&it(e.extra,``,new WeakSet,(e,i)=>{let a=I(e,r),o=I(i,r);t._OrtAddRunConfigEntry(n,a,o)!==0&&L(`Can't set a run config entry: ${e} - ${i}.`)}),[n,r]}catch(e){throw n!==0&&t._OrtReleaseRunOptions(n),r.forEach(e=>t._free(e)),e}}}),ct,lt,ut,dt,ft,pt,mt=s(()=>{rt(),at(),ct=e=>{switch(e){case`disabled`:return 0;case`basic`:return 1;case`extended`:return 2;case`layout`:return 3;case`all`:return 99;default:throw Error(`unsupported graph optimization level: ${e}`)}},lt=e=>{switch(e){case`sequential`:return 0;case`parallel`:return 1;default:throw Error(`unsupported execution mode: ${e}`)}},ut=e=>{e.extra||={},e.extra.session||(e.extra.session={});let t=e.extra.session;t.use_ort_model_bytes_directly||=`1`,e.executionProviders&&e.executionProviders.some(e=>(typeof e==`string`?e:e.name)===`webgpu`)&&(e.enableMemPattern=!1)},dt=(e,t,n,r)=>{let i=I(t,r),a=I(n,r);F()._OrtAddSessionConfigEntry(e,i,a)!==0&&L(`Can't set a session config entry: ${t} - ${n}.`)},ft=async(e,t,n)=>{for(let r of t){let t=typeof r==`string`?r:r.name,i=[];switch(t){case`webnn`:if(t=`WEBNN`,typeof r!=`string`){let t=r?.deviceType;t&&dt(e,`deviceType`,t,n)}break;case`webgpu`:if(t=`JS`,typeof r!=`string`){let t=r;if(t?.preferredLayout){if(t.preferredLayout!==`NCHW`&&t.preferredLayout!==`NHWC`)throw Error(`preferredLayout must be either 'NCHW' or 'NHWC': ${t.preferredLayout}`);dt(e,`preferredLayout`,t.preferredLayout,n)}}break;case`wasm`:case`cpu`:continue;default:throw Error(`not supported execution provider: ${t}`)}let a=I(t,n),o=i.length,s=0,c=0;if(o>0){s=F()._malloc(o*F().PTR_SIZE),n.push(s),c=F()._malloc(o*F().PTR_SIZE),n.push(c);for(let e=0;e{let t=F(),n=0,r=[],i=e||{};ut(i);try{let e=ct(i.graphOptimizationLevel??`all`),a=lt(i.executionMode??`sequential`),o=typeof i.logId==`string`?I(i.logId,r):0,s=i.logSeverityLevel??2;if(!Number.isInteger(s)||s<0||s>4)throw Error(`log severity level is not valid: ${s}`);let c=i.logVerbosityLevel??0;if(!Number.isInteger(c)||c<0||c>4)throw Error(`log verbosity level is not valid: ${c}`);let l=typeof i.optimizedModelFilePath==`string`?I(i.optimizedModelFilePath,r):0;if(n=t._OrtCreateSessionOptions(e,!!i.enableCpuMemArena,!!i.enableMemPattern,a,!!i.enableProfiling,0,o,s,c,l),n===0&&L(`Can't create session options.`),i.executionProviders&&await ft(n,i.executionProviders,r),i.enableGraphCapture!==void 0){if(typeof i.enableGraphCapture!=`boolean`)throw Error(`enableGraphCapture must be a boolean value: ${i.enableGraphCapture}`);dt(n,`enableGraphCapture`,i.enableGraphCapture.toString(),r)}if(i.freeDimensionOverrides)for(let[e,a]of Object.entries(i.freeDimensionOverrides)){if(typeof e!=`string`)throw Error(`free dimension override name must be a string: ${e}`);if(typeof a!=`number`||!Number.isInteger(a)||a<0)throw Error(`free dimension override value must be a non-negative integer: ${a}`);let i=I(e,r);t._OrtAddFreeDimensionOverride(n,i,a)!==0&&L(`Can't set a free dimension override: ${e} - ${a}.`)}return i.extra!==void 0&&it(i.extra,``,new WeakSet,(e,t)=>{dt(n,e,t,r)}),[n,r]}catch(e){throw n!==0&&t._OrtReleaseSessionOptions(n)!==0&&L(`Can't release session options.`),r.forEach(e=>t._free(e)),e}}}),ht,gt,_t,vt,yt,bt,xt,St,R=s(()=>{ht=e=>{switch(e){case`int8`:return 3;case`uint8`:return 2;case`bool`:return 9;case`int16`:return 5;case`uint16`:return 4;case`int32`:return 6;case`uint32`:return 12;case`float16`:return 10;case`float32`:return 1;case`float64`:return 11;case`string`:return 8;case`int64`:return 7;case`uint64`:return 13;case`int4`:return 22;case`uint4`:return 21;default:throw Error(`unsupported data type: ${e}`)}},gt=e=>{switch(e){case 3:return`int8`;case 2:return`uint8`;case 9:return`bool`;case 5:return`int16`;case 4:return`uint16`;case 6:return`int32`;case 12:return`uint32`;case 10:return`float16`;case 1:return`float32`;case 11:return`float64`;case 8:return`string`;case 7:return`int64`;case 13:return`uint64`;case 22:return`int4`;case 21:return`uint4`;default:throw Error(`unsupported data type: ${e}`)}},_t=(e,t)=>{let n=[-1,4,1,1,2,2,4,8,-1,1,2,8,4,8,-1,-1,-1,-1,-1,-1,-1,.5,.5][e],r=typeof t==`number`?t:t.reduce((e,t)=>e*t,1);return n>0?Math.ceil(r*n):void 0},vt=e=>{switch(e){case`float16`:return typeof Float16Array<`u`&&Float16Array.from?Float16Array:Uint16Array;case`float32`:return Float32Array;case`uint8`:return Uint8Array;case`int8`:return Int8Array;case`uint16`:return Uint16Array;case`int16`:return Int16Array;case`int32`:return Int32Array;case`bool`:return Uint8Array;case`float64`:return Float64Array;case`uint32`:return Uint32Array;case`int64`:return BigInt64Array;case`uint64`:return BigUint64Array;default:throw Error(`unsupported type: ${e}`)}},yt=e=>{switch(e){case`verbose`:return 0;case`info`:return 1;case`warning`:return 2;case`error`:return 3;case`fatal`:return 4;default:throw Error(`unsupported logging level: ${e}`)}},bt=e=>e===`float32`||e===`float16`||e===`int32`||e===`int64`||e===`uint32`||e===`uint8`||e===`bool`||e===`uint4`||e===`int4`,xt=e=>e===`float32`||e===`float16`||e===`int32`||e===`int64`||e===`uint32`||e===`uint64`||e===`int8`||e===`uint8`||e===`bool`||e===`uint4`||e===`int4`,St=e=>{switch(e){case`none`:return 0;case`cpu`:return 1;case`cpu-pinned`:return 2;case`texture`:return 3;case`gpu-buffer`:return 4;case`ml-tensor`:return 5;default:throw Error(`unsupported data location: ${e}`)}}}),Ct,wt=s(()=>{Ae(),Ct=async e=>{if(typeof e==`string`){let t=await fetch(e);if(!t.ok)throw Error(`failed to load external data file: ${e}`);let n=t.headers.get(`Content-Length`),r=n?parseInt(n,10):0;if(r<1073741824)return new Uint8Array(await t.arrayBuffer());{if(!t.body)throw Error(`failed to load external data file: ${e}, no response body.`);let n=t.body.getReader(),i;try{i=new ArrayBuffer(r)}catch(e){if(e instanceof RangeError){let e=Math.ceil(r/65536);i=new WebAssembly.Memory({initial:e,maximum:e}).buffer}else throw e}let a=0;for(;;){let{done:e,value:t}=await n.read();if(e)break;let r=t.byteLength;new Uint8Array(i,a,r).set(t),a+=r}return new Uint8Array(i,0,r)}}else return e instanceof Blob?new Uint8Array(await e.arrayBuffer()):e instanceof Uint8Array?e:new Uint8Array(e)}}),Tt,Et,Dt,Ot,kt,At,z,jt=s(()=>{R(),Tt=[`V`,`I`,`W`,`E`,`F`],Et=(e,t)=>{console.log(`[${Tt[e]},${new Date().toISOString()}]${t}`)},kt=(e,t)=>{Dt=e,Ot=t},At=(e,t)=>{let n=yt(e);n>=yt(Dt)&&Et(n,typeof t==`function`?t():t)},z=(...e)=>{Ot&&At(...e)}}),Mt,Nt,B,Pt,Ft,It,Lt,V=s(()=>{Mt=class{static calcMatMulShape(e,t){return e[1]===t[0]?[e[0],t[1]]:void 0}},Nt=class{static calcShape(e,t,n=!1){let r=e.length,i=t.length;if(r===0)return t;if(i===0)return e;let a=Math.max(e.length,t.length),o=Array(a);if(n){if(r<2||i<2)return;let n=Mt.calcMatMulShape([e[r-2],e[r-1]],[t[i-2],t[i-1]]);if(n===void 0)return;[o[a-2],o[a-1]]=n}for(let s=n?3:1;s<=a;s++){let n=r-s<0?1:e[r-s],c=i-s<0?1:t[i-s];if(n!==c&&n>1&&c>1)return;let l=Math.max(n,c);if(n&&c)o[a-s]=Math.max(n,c);else{if(l>1)return;o[a-s]=0}}return o}static isValidBroadcast(e,t){let n=e.length,r=t.length;if(n>r)return!1;for(let i=1;i<=n;i++)if(e[n-i]!==1&&e[n-i]!==t[r-i])return!1;return!0}},B=class e{static size(t){return e.getSizeFromDimensionRange(t,0,t.length)}static convertShape(e,t=4){let n=e.length;if(n===0)return[];let r=Array(n),i=n-1;for(;i>=0;){if(e[i]%t===0){r[i]=e[i]/t;break}if(t%e[i]!==0)throw Error(`cannot convert shape`);r[i]=1,t/=e[i],i--}for(i--;i>=0;i--)r[i]=e[i];return r}static sizeFromDimension(t,n){if(n<0||n>t.length)throw Error(`invalid dimension of ${n} for sizeFromDimension as Tensor has ${t.length} dimensions.`);return e.getSizeFromDimensionRange(t,n,t.length)}static sizeToDimension(t,n){if(n<0||n>t.length)throw Error(`invalid dimension of ${n} for sizeToDimension as Tensor has ${t.length} dimensions.`);return e.getSizeFromDimensionRange(t,0,n)}static getSizeFromDimensionRange(e,t,n){let r=1;for(let i=t;i=0;--r)n[r]=n[r+1]*e[r+1];return n}static normalizeAxis(e,t){if(e<-t&&e>=t)throw Error(`unsupported axis for this operation.`);return e<0?e+t:e}static normalizeAxes(e,t){return e.map(n=>this.normalizeAxis(n,t??e.length))}static sortBasedOnPerm(e,t){return t?t.map(t=>e[t]):e.slice().reverse()}static padShape(e,t){let n=e.length;return e.map((e,r)=>e+t[r]+t[r+n])}static areEqual(e,t){return e.length===t.length?e.every((e,n)=>e===t[n]):!1}},Pt=class e{static adjustPoolAttributes(e,t,n,r,i,a){if(!e&&n.length!==t.length-2)throw Error(`length of specified kernel shapes should be 2 less than length of input dimensions`);if(e)for(let e=0;e=n.length?n.push(t[e+2]):n[e]=t[e+2];for(let e=0;e=n[e]||a[e+n.length]>=n[e])throw Error(`pads should be smaller than kernel`)}}static adjustPadsBasedOnAutoPad(t,n,r,i,a,o,s){if(s){if(a.length!==2*(t.length-2))throw Error(`length of pads should be twice the length of data dimensions`);if(n.length!==t.length-2)throw Error(`length of strides should be the length of data dimensions`);if(i.length!==t.length-2)throw Error(`length of kernel shapes should be the length of data dimensions`);for(let c=0;c{R(),Rt=(e,t)=>new(vt(t))(e)}),Bt,Vt,Ht,Ut,Wt,Gt,Kt,qt,Jt,Yt,Xt,Zt=s(()=>{R(),jt(),Bt=new Map([[`float32`,32],[`float16`,16],[`int32`,32],[`uint32`,32],[`int64`,64],[`uint64`,64],[`int8`,8],[`uint8`,8],[`int4`,4],[`uint4`,4]]),Vt=(e,t)=>{if(t===`int32`)return e;let n=Bt.get(t);if(!n)throw Error(`WebNN backend does not support data type: ${t}`);let r=n/8;if(e.byteLength%r!==0)throw Error(`Invalid Uint8Array length - must be a multiple of ${r}.`);let i=e.byteLength/r,a=new(vt(t))(e.buffer,e.byteOffset,i);switch(t){case`int64`:case`uint64`:{let e=new Int32Array(i);for(let t=0;t2147483647n||n<-2147483648n)throw Error(`Can not convert int64 data to int32 - value out of range.`);e[t]=Number(n)}return new Uint8Array(e.buffer)}case`int8`:case`uint8`:case`uint32`:{if(t===`uint32`&&a.some(e=>e>2147483647))throw Error(`Can not convert uint32 data to int32 - value out of range.`);let e=Int32Array.from(a,Number);return new Uint8Array(e.buffer)}default:throw Error(`Unsupported data conversion from ${t} to 'int32'`)}},Ht=(e,t)=>{if(t===`int32`)return e;if(e.byteLength%4!=0)throw Error(`Invalid Uint8Array length - must be a multiple of 4 (int32).`);let n=e.byteLength/4,r=new Int32Array(e.buffer,e.byteOffset,n);switch(t){case`int64`:{let e=BigInt64Array.from(r,BigInt);return new Uint8Array(e.buffer)}case`uint64`:{if(r.some(e=>e<0))throw Error(`Can not convert int32 data to uin64 - negative value found.`);let e=BigUint64Array.from(r,BigInt);return new Uint8Array(e.buffer)}case`int8`:{if(r.some(e=>e<-128||e>127))throw Error(`Can not convert int32 data to int8 - value out of range.`);let e=Int8Array.from(r,Number);return new Uint8Array(e.buffer)}case`uint8`:if(r.some(e=>e<0||e>255))throw Error(`Can not convert int32 data to uint8 - value out of range.`);return Uint8Array.from(r,Number);case`uint32`:{if(r.some(e=>e<0))throw Error(`Can not convert int32 data to uint32 - negative value found.`);let e=Uint32Array.from(r,Number);return new Uint8Array(e.buffer)}default:throw Error(`Unsupported data conversion from 'int32' to ${t}`)}},Ut=1,Wt=()=>Ut++,Gt=new Map([[`int8`,`int32`],[`uint8`,`int32`],[`uint32`,`int32`],[`int64`,`int32`]]),Kt=(e,t)=>{let n=Bt.get(e);if(!n)throw Error(`WebNN backend does not support data type: ${e}`);return t.length>0?Math.ceil(t.reduce((e,t)=>e*t)*n/8):0},qt=class{constructor(e){this.isDataConverted=!1;let{sessionId:t,context:n,tensor:r,dataType:i,shape:a,fallbackDataType:o}=e;this.sessionId=t,this.mlContext=n,this.mlTensor=r,this.dataType=i,this.tensorShape=a,this.fallbackDataType=o}get tensor(){return this.mlTensor}get type(){return this.dataType}get fallbackType(){return this.fallbackDataType}get shape(){return this.tensorShape}get byteLength(){return Kt(this.dataType,this.tensorShape)}destroy(){z(`verbose`,()=>`[WebNN] TensorWrapper.destroy`),this.mlTensor.destroy()}write(e){this.mlContext.writeTensor(this.mlTensor,e)}async read(e){if(this.fallbackDataType){let t=await this.mlContext.readTensor(this.mlTensor),n=Ht(new Uint8Array(t),this.dataType);if(e){(e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)).set(n);return}else return n.buffer}else return e?this.mlContext.readTensor(this.mlTensor,e):this.mlContext.readTensor(this.mlTensor)}canReuseTensor(e,t,n){return this.mlContext===e&&this.dataType===t&&this.tensorShape.length===n.length&&this.tensorShape.every((e,t)=>e===n[t])}setIsDataConverted(e){this.isDataConverted=e}},Jt=class{constructor(e,t){this.tensorManager=e,this.wrapper=t}get tensorWrapper(){return this.wrapper}releaseTensor(){this.tensorWrapper&&(this.tensorManager.releaseTensor(this.tensorWrapper),this.wrapper=void 0)}async ensureTensor(e,t,n,r){let i=this.tensorManager.getMLContext(e),a;if(!i.opSupportLimits().input.dataTypes.includes(t)){if(a=Gt.get(t),!a||!i.opSupportLimits().input.dataTypes.includes(a))throw Error(`WebNN backend does not support data type: ${t}`);z(`verbose`,()=>`[WebNN] TensorIdTracker.ensureTensor: fallback dataType from ${t} to ${a}`)}if(this.wrapper){if(this.wrapper.canReuseTensor(i,t,n))return this.wrapper.tensor;if(r){if(this.wrapper.byteLength!==Kt(t,n))throw Error(`Unable to copy data to tensor with different size.`);this.activeUpload=new Uint8Array(await this.wrapper.read())}this.tensorManager.releaseTensor(this.wrapper)}let o=typeof MLTensorUsage>`u`?void 0:MLTensorUsage.READ|MLTensorUsage.WRITE;return this.wrapper=await this.tensorManager.getCachedTensor(e,t,n,o,!0,!0,a),r&&this.activeUpload&&(this.wrapper.write(this.activeUpload),this.activeUpload=void 0),this.wrapper.tensor}upload(e){let t=e;if(this.wrapper){if(this.wrapper.fallbackType)if(this.wrapper.fallbackType===`int32`)t=Vt(e,this.wrapper.type),this.wrapper.setIsDataConverted(!0);else throw Error(`Unsupported fallback data type: ${this.wrapper.fallbackType}`);if(e.byteLength===this.wrapper.byteLength){this.wrapper.write(t);return}else z(`verbose`,()=>`Data size does not match tensor size. Releasing tensor.`),this.releaseTensor()}this.activeUpload?this.activeUpload.set(t):this.activeUpload=new Uint8Array(t)}async download(e){if(this.activeUpload){let t=this.wrapper?.isDataConverted?Ht(this.activeUpload,this.wrapper?.type):this.activeUpload;if(e){e instanceof ArrayBuffer?new Uint8Array(e).set(t):new Uint8Array(e.buffer,e.byteOffset,e.byteLength).set(t);return}else return t.buffer}if(!this.wrapper)throw Error(`Tensor has not been created.`);return e?this.wrapper.read(e):this.wrapper.read()}},Yt=class{constructor(e){this.backend=e,this.tensorTrackersById=new Map,this.freeTensors=[],this.externalTensors=new Set}getMLContext(e){let t=this.backend.getMLContext(e);if(!t)throw Error(`MLContext not found for session.`);return t}reserveTensorId(){let e=Wt();return this.tensorTrackersById.set(e,new Jt(this)),e}releaseTensorId(e){let t=this.tensorTrackersById.get(e);t&&(this.tensorTrackersById.delete(e),t.tensorWrapper&&this.releaseTensor(t.tensorWrapper))}async ensureTensor(e,t,n,r,i){z(`verbose`,()=>`[WebNN] TensorManager.ensureTensor {tensorId: ${t}, dataType: ${n}, shape: ${r}, copyOld: ${i}}`);let a=this.tensorTrackersById.get(t);if(!a)throw Error(`Tensor not found.`);return a.ensureTensor(e,n,r,i)}upload(e,t){let n=this.tensorTrackersById.get(e);if(!n)throw Error(`Tensor not found.`);n.upload(t)}async download(e,t){z(`verbose`,()=>`[WebNN] TensorManager.download {tensorId: ${e}, dstBuffer: ${t?.byteLength}}`);let n=this.tensorTrackersById.get(e);if(!n)throw Error(`Tensor not found.`);return n.download(t)}releaseTensorsForSession(e){for(let t of this.freeTensors)t.sessionId===e&&t.destroy();this.freeTensors=this.freeTensors.filter(t=>t.sessionId!==e)}registerTensor(e,t,n,r){let i=this.getMLContext(e),a=Wt(),o=new qt({sessionId:e,context:i,tensor:t,dataType:n,shape:r});return this.tensorTrackersById.set(a,new Jt(this,o)),this.externalTensors.add(o),a}async getCachedTensor(e,t,n,r,i,a,o){let s=this.getMLContext(e);for(let[r,i]of this.freeTensors.entries())if(i.canReuseTensor(s,t,n)){z(`verbose`,()=>`[WebNN] Reusing tensor {dataType: ${t}, ${o?`fallbackDataType: ${o},`:``} shape: ${n}`);let i=this.freeTensors.splice(r,1)[0];return i.sessionId=e,i}z(`verbose`,()=>`[WebNN] MLContext.createTensor {dataType: ${t}, ${o?`fallbackDataType: ${o},`:``} shape: ${n}}`);let c=await s.createTensor({dataType:o??t,shape:n,dimensions:n,usage:r,writable:i,readable:a});return new qt({sessionId:e,context:s,tensor:c,dataType:t,shape:n,fallbackDataType:o})}releaseTensor(e){this.externalTensors.has(e)&&this.externalTensors.delete(e),this.freeTensors.push(e)}},Xt=(...e)=>new Yt(...e)}),Qt,$t,en,tn=s(()=>{R(),rt(),zt(),Zt(),jt(),Qt=new Map([[1,`float32`],[10,`float16`],[6,`int32`],[12,`uint32`],[7,`int64`],[13,`uint64`],[22,`int4`],[21,`uint4`],[3,`int8`],[2,`uint8`],[9,`uint8`]]),$t=(e,t)=>{if(e===t)return!0;if(e===void 0||t===void 0)return!1;let n=Object.keys(e).sort(),r=Object.keys(t).sort();return n.length===r.length&&n.every((n,i)=>n===r[i]&&e[n]===t[n])},en=class{constructor(e){this.tensorManager=Xt(this),this.mlContextBySessionId=new Map,this.sessionIdsByMLContext=new Map,this.mlContextCache=[],this.sessionGraphInputs=new Map,this.sessionGraphOutputs=new Map,this.temporaryGraphInputs=[],this.temporaryGraphOutputs=[],this.temporarySessionTensorIds=new Map,kt(e.logLevel,!!e.debug)}get currentSessionId(){if(this.activeSessionId===void 0)throw Error(`No active session`);return this.activeSessionId}onRunStart(e){z(`verbose`,()=>`[WebNN] onRunStart {sessionId: ${e}}`),this.activeSessionId=e}onRunEnd(e){z(`verbose`,()=>`[WebNN] onRunEnd {sessionId: ${e}}`);let t=this.temporarySessionTensorIds.get(e);if(t){for(let e of t)z(`verbose`,()=>`[WebNN] releasing temporary tensor {tensorId: ${e}}`),this.tensorManager.releaseTensorId(e);this.temporarySessionTensorIds.delete(e),this.activeSessionId=void 0}}async createMLContext(e){if(e instanceof GPUDevice){let t=this.mlContextCache.findIndex(t=>t.gpuDevice===e);if(t!==-1)return this.mlContextCache[t].mlContext;{let t=await navigator.ml.createContext(e);return this.mlContextCache.push({gpuDevice:e,mlContext:t}),t}}else if(e===void 0){let e=this.mlContextCache.findIndex(e=>e.options===void 0&&e.gpuDevice===void 0);if(e!==-1)return this.mlContextCache[e].mlContext;{let e=await navigator.ml.createContext();return this.mlContextCache.push({mlContext:e}),e}}let t=this.mlContextCache.findIndex(t=>$t(t.options,e));if(t!==-1)return this.mlContextCache[t].mlContext;{let t=await navigator.ml.createContext(e);return this.mlContextCache.push({options:e,mlContext:t}),t}}registerMLContext(e,t){this.mlContextBySessionId.set(e,t);let n=this.sessionIdsByMLContext.get(t);n||(n=new Set,this.sessionIdsByMLContext.set(t,n)),n.add(e),this.temporaryGraphInputs.length>0&&(this.sessionGraphInputs.set(e,this.temporaryGraphInputs),this.temporaryGraphInputs=[]),this.temporaryGraphOutputs.length>0&&(this.sessionGraphOutputs.set(e,this.temporaryGraphOutputs),this.temporaryGraphOutputs=[])}onReleaseSession(e){this.sessionGraphInputs.delete(e),this.sessionGraphOutputs.delete(e);let t=this.mlContextBySessionId.get(e);if(!t)return;this.tensorManager.releaseTensorsForSession(e),this.mlContextBySessionId.delete(e);let n=this.sessionIdsByMLContext.get(t);if(n.delete(e),n.size===0){this.sessionIdsByMLContext.delete(t);let e=this.mlContextCache.findIndex(e=>e.mlContext===t);e!==-1&&this.mlContextCache.splice(e,1)}}getMLContext(e){return this.mlContextBySessionId.get(e)}reserveTensorId(){return this.tensorManager.reserveTensorId()}releaseTensorId(e){z(`verbose`,()=>`[WebNN] releaseTensorId {tensorId: ${e}}`),this.tensorManager.releaseTensorId(e)}async ensureTensor(e,t,n,r,i){let a=Qt.get(n);if(!a)throw Error(`Unsupported ONNX data type: ${n}`);return this.tensorManager.ensureTensor(e??this.currentSessionId,t,a,r,i)}async createTemporaryTensor(e,t,n){z(`verbose`,()=>`[WebNN] createTemporaryTensor {onnxDataType: ${t}, shape: ${n}}`);let r=Qt.get(t);if(!r)throw Error(`Unsupported ONNX data type: ${t}`);let i=this.tensorManager.reserveTensorId();await this.tensorManager.ensureTensor(e,i,r,n,!1);let a=this.temporarySessionTensorIds.get(e);return a?a.push(i):this.temporarySessionTensorIds.set(e,[i]),i}uploadTensor(e,t){if(!F().shouldTransferToMLTensor)throw Error(`Trying to upload to a MLTensor while shouldTransferToMLTensor is false`);z(`verbose`,()=>`[WebNN] uploadTensor {tensorId: ${e}, data: ${t.byteLength}}`),this.tensorManager.upload(e,t)}async downloadTensor(e,t){return this.tensorManager.download(e,t)}createMLTensorDownloader(e,t){return async()=>{let n=await this.tensorManager.download(e);return Rt(n,t)}}registerMLTensor(e,t,n,r){let i=Qt.get(n);if(!i)throw Error(`Unsupported ONNX data type: ${n}`);let a=this.tensorManager.registerTensor(e,t,i,r);return z(`verbose`,()=>`[WebNN] registerMLTensor {tensor: ${t}, dataType: ${i}, dimensions: ${r}} -> {tensorId: ${a}}`),a}registerMLConstant(e,t,n,r,i,a,o=!1){if(!a)throw Error(`External mounted files are not available.`);let s=e;e.startsWith(`./`)&&(s=e.substring(2));let c=a.get(s);if(!c)throw Error(`File with name ${s} not found in preloaded files.`);if(t+n>c.byteLength)throw Error(`Out of bounds: data offset and length exceed the external file data size.`);let l=c.slice(t,t+n).buffer,u;switch(i.dataType){case`float32`:u=new Float32Array(l);break;case`float16`:u=typeof Float16Array<`u`&&Float16Array.from?new Float16Array(l):new Uint16Array(l);break;case`int32`:u=new Int32Array(l);break;case`uint32`:u=new Uint32Array(l);break;case`int64`:if(o){let e=Vt(new Uint8Array(l),`int64`);u=new Int32Array(e.buffer),i.dataType=`int32`}else u=new BigInt64Array(l);break;case`uint64`:u=new BigUint64Array(l);break;case`int8`:u=new Int8Array(l);break;case`int4`:case`uint4`:case`uint8`:u=new Uint8Array(l);break;default:throw Error(`Unsupported data type: ${i.dataType} in creating WebNN Constant from external data.`)}return z(`verbose`,()=>`[WebNN] registerMLConstant {dataType: ${i.dataType}, shape: ${i.shape}}} ${o?`(Note: it was int64 data type and registered to int32 as workaround)`:``}`),r.constant(i,u)}registerGraphInput(e){this.temporaryGraphInputs.push(e)}registerGraphOutput(e){this.temporaryGraphOutputs.push(e)}isGraphInput(e,t){let n=this.sessionGraphInputs.get(e);return n?n.includes(t):!1}isGraphOutput(e,t){let n=this.sessionGraphOutputs.get(e);return n?n.includes(t):!1}isGraphInputOutputTypeSupported(e,t,n=!0){let r=this.mlContextBySessionId.get(e),i=Qt.get(ht(t));return typeof i>`u`?!1:n?!!r?.opSupportLimits().input.dataTypes.includes(i):!!r?.opSupportLimits().output.dataTypes.includes(i)}flush(){}}}),nn=s(()=>{}),rn,an,on,sn,cn,ln,un,dn,fn,pn=s(()=>{jt(),nn(),rn=new Map([[64,250],[128,200],[256,200],[512,200],[2048,230],[4096,200],[8192,50],[16384,50],[32768,50],[65536,50],[131072,50],[262144,50],[524288,50],[1048576,50],[2097152,30],[4194304,20],[8388608,10],[12582912,10],[16777216,10],[26214400,15],[33554432,22],[44236800,2],[58982400,6],[67108864,6],[134217728,6],[167772160,6]]),an=[],on=e=>Math.ceil(Number(e)/16)*16,sn=e=>{for(let t=0;tcn++,un=async(e,t,n,r)=>{let i=on(n),a=e.device.createBuffer({size:i,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ});try{let o=e.getCommandEncoder();e.endComputePass(),o.copyBufferToBuffer(t,0,a,0,i),e.flush(),await a.mapAsync(GPUMapMode.READ);let s=a.getMappedRange();if(r){let e=r();return e.set(new Uint8Array(s,0,n)),e}else return new Uint8Array(s.slice(0,n))}finally{a.destroy()}},dn=class{constructor(e){this.backend=e,this.storageCache=new Map,this.freeBuffers=new Map,this.freeUniformBuffers=new Map,this.buffersPending=[],this.capturedPendingBuffers=new Map;for(let[e]of rn)an.push(e),this.freeBuffers.set(e,[]),this.freeUniformBuffers.set(e,[]);this.sessionCount=0}upload(e,t){let n=t.buffer,r=t.byteOffset,i=t.byteLength,a=on(i),o=this.storageCache.get(e);if(!o)throw Error(`gpu data for uploading does not exist`);if(Number(o.originalSize)!==i)throw Error(`inconsistent data size. gpu data size=${o.originalSize}, data size=${i}`);let s=this.backend.device.createBuffer({mappedAtCreation:!0,size:a,usage:GPUBufferUsage.MAP_WRITE|GPUBufferUsage.COPY_SRC}),c=s.getMappedRange();new Uint8Array(c).set(new Uint8Array(n,r,i)),s.unmap();let l=this.backend.device.createCommandEncoder();l.copyBufferToBuffer(s,0,o.gpuData.buffer,0,a),this.backend.device.queue.submit([l.finish()]),s.destroy(),z(`verbose`,()=>`[WebGPU] GpuDataManager.upload(id=${e})`)}memcpy(e,t){let n=this.storageCache.get(e);if(!n)throw Error(`source gpu data for memcpy does not exist`);let r=this.storageCache.get(t);if(!r)throw Error(`destination gpu data for memcpy does not exist`);if(n.originalSize!==r.originalSize)throw Error(`inconsistent source and destination gpu data size`);let i=on(n.originalSize),a=this.backend.getCommandEncoder();this.backend.endComputePass(),a.copyBufferToBuffer(n.gpuData.buffer,0,r.gpuData.buffer,0,i)}registerExternalBuffer(e,t,n){let r;if(n){if(r=n[0],e===n[1])return z(`verbose`,()=>`[WebGPU] GpuDataManager.registerExternalBuffer(size=${t}) => id=${r}, buffer is the same, skip.`),r;if(this.backend.capturedCommandList.has(this.backend.currentSessionId))throw Error(`Registering a different external buffer under graph capture mode is not supported yet.
+import{i as e,t}from"./chunk-oCmw4s_B.js";import{Et as n,at as r,xt as i}from"./vue.runtime.esm-bundler-CV_MT70o.js";import{n as a,t as o}from"./preload-helper-C_mzgxuZ.js";import{t as s}from"./merge-d6C2wmu3.js";import{i as c,t as l}from"./transformers.web-BQQ6eW2n.js";function u(e,t,n){let r,i,a,o,{audioContextOptions:s={sampleRate:16e3,latencyHint:`interactive`}}=n||{},c=new AudioContext(s);async function l(){(!c||c.state===`closed`)&&(c=new AudioContext(s));try{o||=(await c.audioWorklet.addModule(t),!0),r=new AudioWorkletNode(c,`vad-audio-worklet-processor`),r.port.onmessage=async t=>{let{buffer:n}=t.data;n&&n.length>0&&await e.processAudio(new Float32Array(n))}}catch(e){throw console.error(`Failed to initialize audio worklet:`,e),e}}async function u(e){if(!c||!r)throw Error(`Audio system not initialized. Call initialize() first.`);try{c.state===`suspended`&&await c.resume(),i=e,a=c.createMediaStreamSource(i),a.connect(r);let t=c.createGain();t.gain.value=0,r.connect(t),t.connect(c.destination)}catch(e){throw console.error(`Failed to start microphone:`,e),e}}function d(){c&&c.suspend()}function f(){a&&=(a.disconnect(),null),r&&=(r.disconnect(),null),i&&=(i.getTracks().forEach(e=>e.stop()),null),c&&c.state!==`closed`&&c.close(),o=!1}return{initialize:l,start:u,stop:d,dispose:f}}var d=class{config;model;state;sampleRateTensor;buffer;bufferPointer=0;isRecording=!1;postSpeechSamples=0;prevBuffers=[];inferenceChain=Promise.resolve();eventListeners={};isReady=!1;constructor(e={}){this.config={sampleRate:16e3,speechThreshold:.3,exitThreshold:.1,minSilenceDurationMs:400,speechPadMs:80,minSpeechDurationMs:250,maxBufferDuration:30,newBufferSize:512,...e},this.buffer=new Float32Array(this.config.maxBufferDuration*this.config.sampleRate),this.sampleRateTensor=new c(`int64`,[this.config.sampleRate],[]),this.state=new c(`float32`,new Float32Array(256),[2,1,128])}async initialize(){try{this.emit(`status`,{type:`info`,message:`Loading VAD model...`}),this.model=await l.from_pretrained(`onnx-community/silero-vad`,{config:{model_type:`custom`},dtype:`fp32`}),this.isReady=!0,this.emit(`status`,{type:`info`,message:`VAD model loaded successfully`})}catch(e){throw this.emit(`status`,{type:`error`,message:`Failed to load VAD model: ${e}`}),e}}on(e,t){this.eventListeners[e]||(this.eventListeners[e]=[]),this.eventListeners[e].push(t)}off(e,t){this.eventListeners[e]&&(this.eventListeners[e]=this.eventListeners[e].filter(e=>e!==t))}emit(e,t){if(this.eventListeners[e])for(let n of this.eventListeners[e])n(t)}async processAudio(e){if(!this.isReady)throw Error(`VAD model is not initialized. Call initialize() first.`);let t=this.isRecording,n=await this.detectSpeech(e),r=this.config.sampleRate/1e3,i=this.config.minSilenceDurationMs*r,a=this.config.speechPadMs*r,o=this.config.minSpeechDurationMs*r,s=Math.ceil(a/this.config.newBufferSize);if(!t&&!n){this.prevBuffers.length>=s&&this.prevBuffers.shift(),this.prevBuffers.push(e.slice(0));return}let c=this.buffer.length-this.bufferPointer;if(e.length>=c){this.buffer.set(e.subarray(0,c),this.bufferPointer),this.bufferPointer+=c;let t=e.subarray(c);this.processSpeechSegment(t);return}else this.buffer.set(e,this.bufferPointer),this.bufferPointer+=e.length;if(n){this.isRecording||(this.emit(`speech-start`,void 0),this.emit(`status`,{type:`info`,message:`Speech detected`})),this.isRecording=!0,this.postSpeechSamples=0;return}if(this.postSpeechSamples+=e.length,this.postSpeechSamples>=i){if(this.bufferPointerthis.model?.({input:t,sr:this.sampleRateTensor,state:this.state})));this.state=n;let i=r.data[0];return this.emit(`debug`,{message:`VAD score`,data:{probability:i}}),i>this.config.speechThreshold||this.isRecording&&i>=this.config.exitThreshold}processSpeechSegment(e){let t=this.config.sampleRate/1e3,n=this.config.speechPadMs*t,r=this.bufferPointer/this.config.sampleRate*1e3,i=e?.length??0,a=this.prevBuffers.reduce((e,t)=>e+t.length,0),o=new Float32Array(a+this.bufferPointer+n),s=0;for(let e of this.prevBuffers)o.set(e,s),s+=e.length;o.set(this.buffer.slice(0,this.bufferPointer+n),s),this.emit(`speech-end`,void 0),this.emit(`speech-ready`,{buffer:o,duration:r}),e&&this.buffer.set(e,0),this.reset(i)}reset(e=0){this.buffer.fill(0,e),this.bufferPointer=e,this.isRecording=!1,this.postSpeechSamples=0,this.prevBuffers=[]}updateConfig(e){this.config={...this.config,...e},(e.maxBufferDuration||e.sampleRate)&&(this.buffer=new Float32Array(this.config.maxBufferDuration*this.config.sampleRate),this.bufferPointer=0),e.sampleRate&&(this.sampleRateTensor=new c(`int64`,[this.config.sampleRate],[]))}};async function f(e){let t=new d(e);return await t.initialize(),t}function p(e,t){t=s({threshold:i(.6)},t);let a=i(),o=i(),c=i(),l=i(!1),d=i(0),p=i([]),m=i(!1),h=i(!1),g=n(t.threshold);async function _(){if(!(m.value||h.value||o.value)){h.value=!0,c.value=``;try{a.value=await f({sampleRate:16e3,speechThreshold:g.value,exitThreshold:(g.value??.6)*.3,minSilenceDurationMs:400}),a.value.on(`speech-start`,()=>{l.value=!0,t?.onSpeechStart?.()}),a.value.on(`speech-end`,()=>{l.value=!1,t?.onSpeechEnd?.()}),a.value.on(`debug`,({data:e})=>{e?.probability!==void 0&&(d.value=e.probability,p.value.push(e.probability),p.value.length>50&&p.value.shift())}),a.value.on(`status`,({type:e,message:t})=>{e===`error`&&(c.value=t)});let n=u(a.value,e,{minChunkSize:512,audioContextOptions:{sampleRate:16e3,latencyHint:`interactive`}});await n.initialize(),o.value=n,m.value=!0}catch(e){c.value=e instanceof Error?e.message:String(e)}finally{h.value=!1}}}async function v(e){o.value&&await o.value.start(e)}function y(){o.value?.stop(),o.value?.dispose(),o.value=void 0,l.value=!1,d.value=0,p.value=[],m.value=!1,h.value=!1}return r(g,e=>{a.value&&e&&a.value.updateConfig({speechThreshold:e,exitThreshold:e*.3})}),{isSpeech:l,isSpeechProb:d,isSpeechHistory:p,loaded:m,loading:h,inferenceError:c,threshold:g,init:_,start:v,dispose:y}}var m=t((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.baseAssetPath=void 0;var t=typeof window<`u`&&window.document!==void 0?window.document.currentScript:null,n=`/`;t&&(n=t.src.replace(/#.*$/,``).replace(/\?.*$/,``).replace(/\/[^/]+$/,`/`)),e.baseAssetPath=n})),h=t((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.defaultModelFetcher=void 0,e.defaultModelFetcher=e=>fetch(e).then(e=>e.arrayBuffer())})),g=t((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.log=void 0;var t=e=>t=>{console.log(`VAD | ${e} >`,t)};e.log={error:t(`error`),debug:t(`debug`),warn:t(`warn`)}})),_=t((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.Message=void 0;var t;(function(e){e.AudioFrame=`AUDIO_FRAME`,e.SpeechStart=`SPEECH_START`,e.VADMisfire=`VAD_MISFIRE`,e.SpeechEnd=`SPEECH_END`,e.SpeechStop=`SPEECH_STOP`,e.SpeechRealStart=`SPEECH_REAL_START`,e.FrameProcessed=`FRAME_PROCESSED`})(t||(e.Message=t={}))})),v=t((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.FrameProcessor=e.validateOptions=e.defaultFrameProcessorOptions=void 0;var t=g(),n=_();e.defaultFrameProcessorOptions={positiveSpeechThreshold:.3,negativeSpeechThreshold:.25,preSpeechPadMs:800,redemptionMs:1400,minSpeechMs:400,submitUserSpeechOnPause:!1};function r(e){(e.positiveSpeechThreshold<0||e.positiveSpeechThreshold>1)&&t.log.error(`positiveSpeechThreshold should be a number between 0 and 1`),(e.negativeSpeechThreshold<0||e.negativeSpeechThreshold>e.positiveSpeechThreshold)&&t.log.error(`negativeSpeechThreshold should be between 0 and positiveSpeechThreshold`),e.preSpeechPadMs<0&&t.log.error(`preSpeechPadMs should be positive`),e.redemptionMs<0&&t.log.error(`redemptionMs should be positive`),e.minSpeechMs<0&&t.log.error(`minSpeechMs should be positive`)}e.validateOptions=r;var i=e=>{let t=e.reduce((e,t)=>(e.push(e.at(-1)+t.length),e),[0]),n=new Float32Array(t.at(-1));return e.forEach((e,r)=>{let i=t[r];n.set(e,i)}),n};function a(e,t){return{redemptionFrames:Math.floor(e.redemptionMs/t),preSpeechPadFrames:Math.floor(e.preSpeechPadMs/t),minSpeechFrames:Math.floor(e.minSpeechMs/t)}}e.FrameProcessor=class{constructor(e,t,r,o){this.modelProcessFunc=e,this.modelResetFunc=t,this.options=r,this.msPerFrame=o,this.speaking=!1,this.redemptionCounter=0,this.speechFrameCount=0,this.active=!1,this.speechRealStartFired=!1,this.setOptions=e=>{this.options={...this.options,...e};let{redemptionFrames:t,preSpeechPadFrames:n,minSpeechFrames:r}=a(this.options,this.msPerFrame);this.redemptionFrames=t,this.preSpeechPadFrames=n,this.minSpeechFrames=r},this.reset=()=>{this.speaking=!1,this.speechRealStartFired=!1,this.audioBuffer=[],this.modelResetFunc(),this.redemptionCounter=0,this.speechFrameCount=0},this.pause=e=>{this.active=!1,this.options.submitUserSpeechOnPause?this.endSegment(e):this.reset()},this.resume=()=>{this.active=!0},this.endSegment=e=>{let t=this.audioBuffer;this.audioBuffer=[];let r=this.speaking;if(this.reset(),r)if(t.reduce((e,t)=>t.isSpeech?e+1:e,0)>=this.minSpeechFrames){let r=i(t.map(e=>e.frame));e({msg:n.Message.SpeechEnd,audio:r})}else e({msg:n.Message.VADMisfire});return{}},this.process=async(e,t)=>{if(!this.active)return;let r=await this.modelProcessFunc(e),a=r.isSpeech>=this.options.positiveSpeechThreshold;if(t({probs:r,msg:n.Message.FrameProcessed,frame:e}),this.audioBuffer.push({frame:e,isSpeech:a}),a&&(this.speechFrameCount++,this.redemptionCounter=0),a&&!this.speaking&&(this.speaking=!0,t({msg:n.Message.SpeechStart})),this.speaking&&this.speechFrameCount===this.minSpeechFrames&&!this.speechRealStartFired&&(this.speechRealStartFired=!0,t({msg:n.Message.SpeechRealStart})),r.isSpeech=this.redemptionFrames){this.redemptionCounter=0,this.speechFrameCount=0,this.speaking=!1,this.speechRealStartFired=!1;let e=this.audioBuffer;if(this.audioBuffer=[],e.reduce((e,t)=>t.isSpeech?e+1:e,0)>=this.minSpeechFrames){let r=i(e.map(e=>e.frame));t({msg:n.Message.SpeechEnd,audio:r})}else t({msg:n.Message.VADMisfire})}if(!this.speaking){for(;this.audioBuffer.length>this.preSpeechPadFrames;)this.audioBuffer.shift();this.speechFrameCount=0}},this.audioBuffer=[];let{redemptionFrames:s,preSpeechPadFrames:c,minSpeechFrames:l}=a(this.options,this.msPerFrame);this.redemptionFrames=s,this.preSpeechPadFrames=c,this.minSpeechFrames=l,this.reset()}}})),y=t(((t,n)=>{a();var r=(()=>{var t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,a=(t=>typeof e<`u`?e:typeof Proxy<`u`?new Proxy(t,{get:(t,n)=>(typeof e<`u`?e:t)[n]}):t)(function(t){if(typeof e<`u`)return e.apply(this,arguments);throw Error(`Dynamic require of "`+t+`" is not supported`)}),s=(e,t)=>()=>(e&&(t=e(e=0)),t),c=(e,n)=>{for(var r in n)t(e,r,{get:n[r],enumerable:!0})},l=(e,a,o,s)=>{if(a&&typeof a==`object`||typeof a==`function`)for(let c of r(a))!i.call(e,c)&&c!==o&&t(e,c,{get:()=>a[c],enumerable:!(s=n(a,c))||s.enumerable});return e},u=e=>l(t({},`__esModule`,{value:!0}),e),d,f,p,m,h,g=s(()=>{d=new Map,f=[],p=(e,t,n)=>{if(t&&typeof t.init==`function`&&typeof t.createInferenceSessionHandler==`function`){let r=d.get(e);if(r===void 0)d.set(e,{backend:t,priority:n});else{if(r.priority>n)return;if(r.priority===n&&r.backend!==t)throw Error(`cannot register backend "${e}" using priority ${n}`)}if(n>=0){let t=f.indexOf(e);t!==-1&&f.splice(t,1);for(let t=0;t{let t=d.get(e);if(!t)return`backend not found.`;if(t.initialized)return t.backend;if(t.aborted)return t.error;{let n=!!t.initPromise;try{return n||(t.initPromise=t.backend.init(e)),await t.initPromise,t.initialized=!0,t.backend}catch(e){return n||(t.error=`${e}`,t.aborted=!0),t.error}finally{delete t.initPromise}}},h=async e=>{let t=e.executionProviders||[],n=t.map(e=>typeof e==`string`?e:e.name),r=n.length===0?f:n,i,a=[],o=new Set;for(let e of r){let t=await m(e);typeof t==`string`?a.push({name:e,err:t}):(i||=t,i===t&&o.add(e))}if(!i)throw Error(`no available backend found. ERR: ${a.map(e=>`[${e.name}] ${e.err}`).join(`, `)}`);for(let{name:e,err:t}of a)n.includes(e)&&console.warn(`removing requested execution provider "${e}" from session options because it is not available: ${t}`);let s=t.filter(e=>o.has(typeof e==`string`?e:e.name));return[i,new Proxy(e,{get:(e,t)=>t===`executionProviders`?s:Reflect.get(e,t)})]}}),_=s(()=>{g()}),v,y=s(()=>{v=`1.23.2`}),b,x,S=s(()=>{y(),b=`warning`,x={wasm:{},webgl:{},webgpu:{},versions:{common:v},set logLevel(e){if(e!==void 0){if(typeof e!=`string`||[`verbose`,`info`,`warning`,`error`,`fatal`].indexOf(e)===-1)throw Error(`Unsupported logging level: ${e}`);b=e}},get logLevel(){return b}},Object.defineProperty(x,`logLevel`,{enumerable:!0})}),C,w=s(()=>{S(),C=x}),T,E,ee=s(()=>{T=(e,t)=>{let n=typeof document<`u`?document.createElement(`canvas`):new OffscreenCanvas(1,1);n.width=e.dims[3],n.height=e.dims[2];let r=n.getContext(`2d`);if(r!=null){let i,a;t?.tensorLayout!==void 0&&t.tensorLayout===`NHWC`?(i=e.dims[2],a=e.dims[3]):(i=e.dims[3],a=e.dims[2]);let o=t?.format===void 0?`RGB`:t.format,s=t?.norm,c,l;s===void 0||s.mean===void 0?c=[255,255,255,255]:typeof s.mean==`number`?c=[s.mean,s.mean,s.mean,s.mean]:(c=[s.mean[0],s.mean[1],s.mean[2],0],s.mean[3]!==void 0&&(c[3]=s.mean[3])),s===void 0||s.bias===void 0?l=[0,0,0,0]:typeof s.bias==`number`?l=[s.bias,s.bias,s.bias,s.bias]:(l=[s.bias[0],s.bias[1],s.bias[2],0],s.bias[3]!==void 0&&(l[3]=s.bias[3]));let u=a*i,d=0,f=u,p=u*2,m=-1;o===`RGBA`?(d=0,f=u,p=u*2,m=u*3):o===`RGB`?(d=0,f=u,p=u*2):o===`RBG`&&(d=0,p=u,f=u*2);for(let t=0;t{let n=typeof document<`u`?document.createElement(`canvas`).getContext(`2d`):new OffscreenCanvas(1,1).getContext(`2d`),r;if(n!=null){let i,a,o;t?.tensorLayout!==void 0&&t.tensorLayout===`NHWC`?(i=e.dims[2],a=e.dims[1],o=e.dims[3]):(i=e.dims[3],a=e.dims[2],o=e.dims[1]);let s=t!==void 0&&t.format!==void 0?t.format:`RGB`,c=t?.norm,l,u;c===void 0||c.mean===void 0?l=[255,255,255,255]:typeof c.mean==`number`?l=[c.mean,c.mean,c.mean,c.mean]:(l=[c.mean[0],c.mean[1],c.mean[2],255],c.mean[3]!==void 0&&(l[3]=c.mean[3])),c===void 0||c.bias===void 0?u=[0,0,0,0]:typeof c.bias==`number`?u=[c.bias,c.bias,c.bias,c.bias]:(u=[c.bias[0],c.bias[1],c.bias[2],0],c.bias[3]!==void 0&&(u[3]=c.bias[3]));let d=a*i;if(t!==void 0&&(t.format!==void 0&&o===4&&t.format!==`RGBA`||o===3&&t.format!==`RGB`&&t.format!==`BGR`))throw Error(`Tensor format doesn't match input tensor dims`);let f=0,p=1,m=2,h=3,g=0,_=d,v=d*2,y=-1;s===`RGBA`?(g=0,_=d,v=d*2,y=d*3):s===`RGB`?(g=0,_=d,v=d*2):s===`RBG`&&(g=0,v=d,_=d*2),r=n.createImageData(i,a);for(let t=0;t{me(),D=(e,t)=>{if(e===void 0)throw Error(`Image buffer must be defined`);if(t.height===void 0||t.width===void 0)throw Error(`Image height and width must be defined`);if(t.tensorLayout===`NHWC`)throw Error(`NHWC Tensor layout is not supported yet`);let{height:n,width:r}=t,i=t.norm??{mean:255,bias:0},a,o;a=typeof i.mean==`number`?[i.mean,i.mean,i.mean,i.mean]:[i.mean[0],i.mean[1],i.mean[2],i.mean[3]??255],o=typeof i.bias==`number`?[i.bias,i.bias,i.bias,i.bias]:[i.bias[0],i.bias[1],i.bias[2],i.bias[3]??0];let s=t.format===void 0?`RGBA`:t.format,c=t.tensorFormat!==void 0&&t.tensorFormat!==void 0?t.tensorFormat:`RGB`,l=n*r,u=c===`RGBA`?new Float32Array(l*4):new Float32Array(l*3),d=4,f=0,p=1,m=2,h=3,g=0,_=l,v=l*2,y=-1;s===`RGB`&&(d=3,f=0,p=1,m=2,h=-1),c===`RGBA`?y=l*3:c===`RBG`?(g=0,v=l,_=l*2):c===`BGR`&&(v=0,_=l,g=l*2);for(let t=0;t{let n=typeof HTMLImageElement<`u`&&e instanceof HTMLImageElement,r=typeof ImageData<`u`&&e instanceof ImageData,i=typeof ImageBitmap<`u`&&e instanceof ImageBitmap,a=typeof e==`string`,o,s=t??{},c=()=>{if(typeof document<`u`)return document.createElement(`canvas`);if(typeof OffscreenCanvas<`u`)return new OffscreenCanvas(1,1);throw Error(`Canvas is not supported`)},l=e=>typeof HTMLCanvasElement<`u`&&e instanceof HTMLCanvasElement||e instanceof OffscreenCanvas?e.getContext(`2d`):null;if(n){let n=c();n.width=e.width,n.height=e.height;let r=l(n);if(r!=null){let n=e.height,i=e.width;if(t!==void 0&&t.resizedHeight!==void 0&&t.resizedWidth!==void 0&&(n=t.resizedHeight,i=t.resizedWidth),t!==void 0){if(s=t,t.tensorFormat!==void 0)throw Error(`Image input config format must be RGBA for HTMLImageElement`);s.tensorFormat=`RGBA`,s.height=n,s.width=i}else s.tensorFormat=`RGBA`,s.height=n,s.width=i;r.drawImage(e,0,0),o=r.getImageData(0,0,i,n).data}else throw Error(`Can not access image data`)}else if(r){let n,r;if(t!==void 0&&t.resizedWidth!==void 0&&t.resizedHeight!==void 0?(n=t.resizedHeight,r=t.resizedWidth):(n=e.height,r=e.width),t!==void 0&&(s=t),s.format=`RGBA`,s.height=n,s.width=r,t!==void 0){let t=c();t.width=r,t.height=n;let i=l(t);if(i!=null)i.putImageData(e,0,0),o=i.getImageData(0,0,r,n).data;else throw Error(`Can not access image data`)}else o=e.data}else if(i){if(t===void 0)throw Error(`Please provide image config with format for Imagebitmap`);let n=c();n.width=e.width,n.height=e.height;let r=l(n);if(r!=null){let t=e.height,n=e.width;return r.drawImage(e,0,0,n,t),o=r.getImageData(0,0,n,t).data,s.height=t,s.width=n,D(o,s)}else throw Error(`Can not access image data`)}else{if(a)return new Promise((t,n)=>{let r=c(),i=l(r);if(!e||!i)return n();let a=new Image;a.crossOrigin=`Anonymous`,a.src=e,a.onload=()=>{r.width=a.width,r.height=a.height,i.drawImage(a,0,0,r.width,r.height);let e=i.getImageData(0,0,r.width,r.height);s.height=r.height,s.width=r.width,t(D(e.data,s))}});throw Error(`Input data provided is not supported - aborted tensor creation`)}if(o!==void 0)return D(o,s);throw Error(`Input data provided is not supported - aborted tensor creation`)},te=(e,t)=>{let{width:n,height:r,download:i,dispose:a}=t;return new k({location:`texture`,type:`float32`,texture:e,dims:[1,r,n,4],download:i,dispose:a})},ne=(e,t)=>{let{dataType:n,dims:r,download:i,dispose:a}=t;return new k({location:`gpu-buffer`,type:n??`float32`,gpuBuffer:e,dims:r,download:i,dispose:a})},re=(e,t)=>{let{dataType:n,dims:r,download:i,dispose:a}=t;return new k({location:`ml-tensor`,type:n??`float32`,mlTensor:e,dims:r,download:i,dispose:a})},ie=(e,t,n)=>new k({location:`cpu-pinned`,type:e,data:t,dims:n??[t.length]})}),oe,se,ce,le,ue=s(()=>{oe=new Map([[`float32`,Float32Array],[`uint8`,Uint8Array],[`int8`,Int8Array],[`uint16`,Uint16Array],[`int16`,Int16Array],[`int32`,Int32Array],[`bool`,Uint8Array],[`float64`,Float64Array],[`uint32`,Uint32Array],[`int4`,Uint8Array],[`uint4`,Uint8Array]]),se=new Map([[Float32Array,`float32`],[Uint8Array,`uint8`],[Int8Array,`int8`],[Uint16Array,`uint16`],[Int16Array,`int16`],[Int32Array,`int32`],[Float64Array,`float64`],[Uint32Array,`uint32`]]),ce=!1,le=()=>{if(!ce){ce=!0;let e=typeof BigInt64Array<`u`&&BigInt64Array.from,t=typeof BigUint64Array<`u`&&BigUint64Array.from,n=globalThis.Float16Array,r=typeof n<`u`&&n.from;e&&(oe.set(`int64`,BigInt64Array),se.set(BigInt64Array,`int64`)),t&&(oe.set(`uint64`,BigUint64Array),se.set(BigUint64Array,`uint64`)),r?(oe.set(`float16`,n),se.set(n,`float16`)):oe.set(`float16`,Uint16Array)}}}),de,fe,pe=s(()=>{me(),de=e=>{let t=1;for(let n=0;n{switch(e.location){case`cpu`:return new k(e.type,e.data,t);case`cpu-pinned`:return new k({location:`cpu-pinned`,data:e.data,type:e.type,dims:t});case`texture`:return new k({location:`texture`,texture:e.texture,type:e.type,dims:t});case`gpu-buffer`:return new k({location:`gpu-buffer`,gpuBuffer:e.gpuBuffer,type:e.type,dims:t});case`ml-tensor`:return new k({location:`ml-tensor`,mlTensor:e.mlTensor,type:e.type,dims:t});default:throw Error(`tensorReshape: tensor location ${e.location} is not supported`)}}}),k,me=s(()=>{ee(),ae(),ue(),pe(),k=class{constructor(e,t,n){le();let r,i;if(typeof e==`object`&&`location`in e)switch(this.dataLocation=e.location,r=e.type,i=e.dims,e.location){case`cpu-pinned`:{let t=oe.get(r);if(!t)throw TypeError(`unsupported type "${r}" to create tensor from pinned buffer`);if(!(e.data instanceof t))throw TypeError(`buffer should be of type ${t.name}`);this.cpuData=e.data;break}case`texture`:if(r!==`float32`)throw TypeError(`unsupported type "${r}" to create tensor from texture`);this.gpuTextureData=e.texture,this.downloader=e.download,this.disposer=e.dispose;break;case`gpu-buffer`:if(r!==`float32`&&r!==`float16`&&r!==`int32`&&r!==`int64`&&r!==`uint32`&&r!==`uint8`&&r!==`bool`&&r!==`uint4`&&r!==`int4`)throw TypeError(`unsupported type "${r}" to create tensor from gpu buffer`);this.gpuBufferData=e.gpuBuffer,this.downloader=e.download,this.disposer=e.dispose;break;case`ml-tensor`:if(r!==`float32`&&r!==`float16`&&r!==`int32`&&r!==`int64`&&r!==`uint32`&&r!==`uint64`&&r!==`int8`&&r!==`uint8`&&r!==`bool`&&r!==`uint4`&&r!==`int4`)throw TypeError(`unsupported type "${r}" to create tensor from MLTensor`);this.mlTensorData=e.mlTensor,this.downloader=e.download,this.disposer=e.dispose;break;default:throw Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let a,o;if(typeof e==`string`)if(r=e,o=n,e===`string`){if(!Array.isArray(t))throw TypeError(`A string tensor's data must be a string array.`);a=t}else{let n=oe.get(e);if(n===void 0)throw TypeError(`Unsupported tensor type: ${e}.`);if(Array.isArray(t)){if(e===`float16`&&n===Uint16Array||e===`uint4`||e===`int4`)throw TypeError(`Creating a ${e} tensor from number array is not supported. Please use ${n.name} as data.`);a=e===`uint64`||e===`int64`?n.from(t,BigInt):n.from(t)}else if(t instanceof n)a=t;else if(t instanceof Uint8ClampedArray)if(e===`uint8`)a=Uint8Array.from(t);else throw TypeError(`A Uint8ClampedArray tensor's data must be type of uint8`);else if(e===`float16`&&t instanceof Uint16Array&&n!==Uint16Array)a=new globalThis.Float16Array(t.buffer,t.byteOffset,t.length);else throw TypeError(`A ${r} tensor's data must be type of ${n}`)}else if(o=t,Array.isArray(e)){if(e.length===0)throw TypeError(`Tensor type cannot be inferred from an empty array.`);let t=typeof e[0];if(t===`string`)r=`string`,a=e;else if(t===`boolean`)r=`bool`,a=Uint8Array.from(e);else throw TypeError(`Invalid element type of data array: ${t}.`)}else if(e instanceof Uint8ClampedArray)r=`uint8`,a=Uint8Array.from(e);else{let t=se.get(e.constructor);if(t===void 0)throw TypeError(`Unsupported type for tensor data: ${e.constructor}.`);r=t,a=e}if(o===void 0)o=[a.length];else if(!Array.isArray(o))throw TypeError(`A tensor's dims must be a number array`);i=o,this.cpuData=a,this.dataLocation=`cpu`}let a=de(i);if(this.cpuData&&a!==this.cpuData.length&&!((r===`uint4`||r===`int4`)&&Math.ceil(a/2)===this.cpuData.length))throw Error(`Tensor's size(${a}) does not match data length(${this.cpuData.length}).`);this.type=r,this.dims=i,this.size=a}static async fromImage(e,t){return O(e,t)}static fromTexture(e,t){return te(e,t)}static fromGpuBuffer(e,t){return ne(e,t)}static fromMLTensor(e,t){return re(e,t)}static fromPinnedBuffer(e,t,n){return ie(e,t,n)}toDataURL(e){return T(this,e)}toImageData(e){return E(this,e)}get data(){if(this.ensureValid(),!this.cpuData)throw Error("The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly.");return this.cpuData}get location(){return this.dataLocation}get texture(){if(this.ensureValid(),!this.gpuTextureData)throw Error(`The data is not stored as a WebGL texture.`);return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw Error(`The data is not stored as a WebGPU buffer.`);return this.gpuBufferData}get mlTensor(){if(this.ensureValid(),!this.mlTensorData)throw Error(`The data is not stored as a WebNN MLTensor.`);return this.mlTensorData}async getData(e){switch(this.ensureValid(),this.dataLocation){case`cpu`:case`cpu-pinned`:return this.data;case`texture`:case`gpu-buffer`:case`ml-tensor`:if(!this.downloader)throw Error(`The current tensor is not created with a specified data downloader.`);if(this.isDownloading)throw Error(`The current tensor is being downloaded.`);try{this.isDownloading=!0;let t=await this.downloader();return this.downloader=void 0,this.dataLocation=`cpu`,this.cpuData=t,e&&this.disposer&&(this.disposer(),this.disposer=void 0),t}finally{this.isDownloading=!1}default:throw Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw Error(`The current tensor is being downloaded.`);this.disposer&&=(this.disposer(),void 0),this.cpuData=void 0,this.gpuTextureData=void 0,this.gpuBufferData=void 0,this.mlTensorData=void 0,this.downloader=void 0,this.isDownloading=void 0,this.dataLocation=`none`}ensureValid(){if(this.dataLocation===`none`)throw Error(`The tensor is disposed.`)}reshape(e){if(this.ensureValid(),this.downloader||this.disposer)throw Error(`Cannot reshape a tensor that owns GPU resource.`);return fe(this,e)}}}),A,he=s(()=>{me(),A=k}),ge,_e,j,M,ve,ye,be=s(()=>{S(),ge=(e,t)=>{(typeof x.trace>`u`?!x.wasm.trace:!x.trace)||console.timeStamp(`${e}::ORT::${t}`)},_e=(e,t)=>{let n=Error().stack?.split(/\r\n|\r|\n/g)||[],r=!1;for(let i=0;i{(typeof x.trace>`u`?!x.wasm.trace:!x.trace)||_e(`BEGIN`,e)},M=e=>{(typeof x.trace>`u`?!x.wasm.trace:!x.trace)||_e(`END`,e)},ve=e=>{(typeof x.trace>`u`?!x.wasm.trace:!x.trace)||console.time(`ORT::${e}`)},ye=e=>{(typeof x.trace>`u`?!x.wasm.trace:!x.trace)||console.timeEnd(`ORT::${e}`)}}),xe,Se=s(()=>{g(),he(),be(),xe=class e{constructor(e){this.handler=e}async run(e,t,n){j(),ve(`InferenceSession.run`);let r={},i={};if(typeof e!=`object`||!e||e instanceof A||Array.isArray(e))throw TypeError(`'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.`);let a=!0;if(typeof t==`object`){if(t===null)throw TypeError(`Unexpected argument[1]: cannot be null.`);if(t instanceof A)throw TypeError(`'fetches' cannot be a Tensor`);if(Array.isArray(t)){if(t.length===0)throw TypeError(`'fetches' cannot be an empty array.`);a=!1;for(let e of t){if(typeof e!=`string`)throw TypeError(`'fetches' must be a string array or an object.`);if(this.outputNames.indexOf(e)===-1)throw RangeError(`'fetches' contains invalid output name: ${e}.`);r[e]=null}if(typeof n==`object`&&n)i=n;else if(typeof n<`u`)throw TypeError(`'options' must be an object.`)}else{let e=!1,o=Object.getOwnPropertyNames(t);for(let n of this.outputNames)if(o.indexOf(n)!==-1){let i=t[n];(i===null||i instanceof A)&&(e=!0,a=!1,r[n]=i)}if(e){if(typeof n==`object`&&n)i=n;else if(typeof n<`u`)throw TypeError(`'options' must be an object.`)}else i=t}}else if(typeof t<`u`)throw TypeError(`Unexpected argument[1]: must be 'fetches' or 'options'.`);for(let t of this.inputNames)if(typeof e[t]>`u`)throw Error(`input '${t}' is missing in 'feeds'.`);if(a)for(let e of this.outputNames)r[e]=null;let o=await this.handler.run(e,r,i),s={};for(let e in o)if(Object.hasOwnProperty.call(o,e)){let t=o[e];t instanceof A?s[e]=t:s[e]=new A(t.type,t.data,t.dims)}return ye(`InferenceSession.run`),M(),s}async release(){return this.handler.dispose()}static async create(t,n,r,i){j(),ve(`InferenceSession.create`);let a,o={};if(typeof t==`string`){if(a=t,typeof n==`object`&&n)o=n;else if(typeof n<`u`)throw TypeError(`'options' must be an object.`)}else if(t instanceof Uint8Array){if(a=t,typeof n==`object`&&n)o=n;else if(typeof n<`u`)throw TypeError(`'options' must be an object.`)}else if(t instanceof ArrayBuffer||typeof SharedArrayBuffer<`u`&&t instanceof SharedArrayBuffer){let e=t,s=0,c=t.byteLength;if(typeof n==`object`&&n)o=n;else if(typeof n==`number`){if(s=n,!Number.isSafeInteger(s))throw RangeError(`'byteOffset' must be an integer.`);if(s<0||s>=e.byteLength)throw RangeError(`'byteOffset' is out of range [0, ${e.byteLength}).`);if(c=t.byteLength-s,typeof r==`number`){if(c=r,!Number.isSafeInteger(c))throw RangeError(`'byteLength' must be an integer.`);if(c<=0||s+c>e.byteLength)throw RangeError(`'byteLength' is out of range (0, ${e.byteLength-s}].`);if(typeof i==`object`&&i)o=i;else if(typeof i<`u`)throw TypeError(`'options' must be an object.`)}else if(typeof r<`u`)throw TypeError(`'byteLength' must be a number.`)}else if(typeof n<`u`)throw TypeError(`'options' must be an object.`);a=new Uint8Array(e,s,c)}else throw TypeError(`Unexpected argument[0]: must be 'path' or 'buffer'.`);let[s,c]=await h(o),l=await s.createInferenceSessionHandler(a,c);return ye(`InferenceSession.create`),M(),new e(l)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}get outputNames(){return this.handler.outputNames}get inputMetadata(){return this.handler.inputMetadata}get outputMetadata(){return this.handler.outputMetadata}}}),Ce,we=s(()=>{Se(),Ce=xe}),Te=s(()=>{}),Ee=s(()=>{}),De=s(()=>{}),Oe=s(()=>{}),ke={};c(ke,{InferenceSession:()=>Ce,TRACE:()=>ge,TRACE_EVENT_BEGIN:()=>ve,TRACE_EVENT_END:()=>ye,TRACE_FUNC_BEGIN:()=>j,TRACE_FUNC_END:()=>M,Tensor:()=>A,env:()=>C,registerBackend:()=>p});var N=s(()=>{_(),w(),we(),he(),Te(),Ee(),be(),De(),Oe()}),Ae=s(()=>{}),je={};c(je,{default:()=>Pe});var Me,Ne,Pe,Fe=s(()=>{zu(),rt(),Je(),Me=`ort-wasm-proxy-worker`,Ne=globalThis.self?.name===Me,Ne&&(self.onmessage=e=>{let{type:t,in:n}=e.data;try{switch(t){case`init-wasm`:nt(n.wasm).then(()=>{Du(n).then(()=>{postMessage({type:t})},e=>{postMessage({type:t,err:e})})},e=>{postMessage({type:t,err:e})});break;case`init-ep`:{let{epName:e,env:r}=n;Ou(r,e).then(()=>{postMessage({type:t})},e=>{postMessage({type:t,err:e})});break}case`copy-from`:{let{buffer:e}=n,r=Mu(e);postMessage({type:t,out:r});break}case`create`:{let{model:e,options:r}=n;Nu(e,r).then(e=>{postMessage({type:t,out:e})},e=>{postMessage({type:t,err:e})});break}case`release`:Pu(n),postMessage({type:t});break;case`run`:{let{sessionId:e,inputIndices:r,inputs:i,outputIndices:a,options:o}=n;Iu(e,r,i,a,Array(a.length).fill(null),o).then(e=>{e.some(e=>e[3]!==`cpu`)?postMessage({type:t,err:`Proxy does not support non-cpu tensor location.`}):postMessage({type:t,out:e},Ru([...i,...e]))},e=>{postMessage({type:t,err:e})});break}case`end-profiling`:Lu(n),postMessage({type:t});break;default:}}catch(e){postMessage({type:t,err:e})}}),Pe=Ne?null:e=>new Worker(e??P,{type:`classic`,name:Me})}),Ie,Le,P,Re,ze,Be,Ve,He,Ue,We,Ge,Ke,qe,Je=s(()=>{Ae(),Ie=typeof location>`u`?void 0:location.origin,Le=()=>typeof document<`u`?document.currentScript?.src:typeof self<`u`?self.location?.href:void 0,P=Le(),Re=()=>{if(P&&!P.startsWith(`blob:`))return P.substring(0,P.lastIndexOf(`/`)+1)},ze=(e,t)=>{try{let n=t??P;return(n?new URL(e,n):new URL(e)).origin===Ie}catch{return!1}},Be=(e,t)=>{let n=t??P;try{return(n?new URL(e,n):new URL(e)).href}catch{return}},Ve=(e,t)=>`${t??`./`}${e}`,He=async e=>{let t=await(await fetch(e,{credentials:`same-origin`})).blob();return URL.createObjectURL(t)},Ue=async e=>(await o(async()=>{let{default:t}=await import(e);return{default:t}},[])).default,We=(Fe(),u(je)).default,Ge=async()=>{if(!P)throw Error(`Failed to load proxy worker: cannot determine the script source URL.`);if(ze(P))return[void 0,We()];let e=await He(P);return[e,We(e)]},Ke=void 0,qe=async(e,t,n,r)=>{let i=Ke&&!(e||t);if(i)if(P)i=ze(P);else if(r&&!n)i=!0;else throw Error(`cannot determine the script source URL.`);if(i)return[void 0,Ke];{let r=`ort-wasm-simd-threaded.jsep.mjs`,i=e??Be(r,t),a=n&&i&&!ze(i,t),o=a?await He(i):i??Ve(r,t);return[a?o:void 0,await Ue(o)]}}}),Ye,Xe,Ze,Qe,$e,et,tt,nt,F,rt=s(()=>{Je(),Xe=!1,Ze=!1,Qe=!1,$e=()=>{if(typeof SharedArrayBuffer>`u`)return!1;try{return typeof MessageChannel<`u`&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch{return!1}},et=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch{return!1}},tt=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,19,1,17,0,65,1,253,15,65,2,253,15,65,3,253,15,253,147,2,11]))}catch{return!1}},nt=async e=>{if(Xe)return Promise.resolve();if(Ze)throw Error(`multiple calls to 'initializeWebAssembly()' detected.`);if(Qe)throw Error(`previous call to 'initializeWebAssembly()' failed.`);Ze=!0;let t=e.initTimeout,n=e.numThreads;if(e.simd!==!1){if(e.simd===`relaxed`){if(!tt())throw Error(`Relaxed WebAssembly SIMD is not supported in the current environment.`)}else if(!et())throw Error(`WebAssembly SIMD is not supported in the current environment.`)}let r=$e();n>1&&!r&&(typeof self<`u`&&!self.crossOriginIsolated&&console.warn(`env.wasm.numThreads is set to `+n+`, but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info.`),console.warn(`WebAssembly multi-threading is not supported in the current environment. Falling back to single-threading.`),e.numThreads=n=1);let i=e.wasmPaths,a=typeof i==`string`?i:void 0,o=i?.mjs,s=o?.href??o,c=i?.wasm,l=c?.href??c,u=e.wasmBinary,[d,f]=await qe(s,a,n>1,!!u||!!l),p=!1,m=[];if(t>0&&m.push(new Promise(e=>{setTimeout(()=>{p=!0,e()},t)})),m.push(new Promise((e,t)=>{let r={numThreads:n};if(u)r.wasmBinary=u;else if(l||a)r.locateFile=e=>l??a+e;else if(s&&s.indexOf(`blob:`)!==0)r.locateFile=e=>new URL(e,s).href;else if(d){let e=Re();e&&(r.locateFile=t=>e+t)}f(r).then(t=>{Ze=!1,Xe=!0,Ye=t,e(),d&&URL.revokeObjectURL(d)},e=>{Ze=!1,Qe=!0,t(e)})})),await Promise.race(m),p)throw Error(`WebAssembly backend initializing failed due to timeout: ${t}ms`)},F=()=>{if(Xe&&Ye)return Ye;throw Error(`WebAssembly is not initialized yet.`)}}),I,it,L,at=s(()=>{rt(),I=(e,t)=>{let n=F(),r=n.lengthBytesUTF8(e)+1,i=n._malloc(r);return n.stringToUTF8(e,i,r),t.push(i),i},it=(e,t,n,r)=>{if(typeof e==`object`&&e){if(n.has(e))throw Error(`Circular reference in options`);n.add(e)}Object.entries(e).forEach(([e,i])=>{let a=t?t+e:e;if(typeof i==`object`)it(i,a+`.`,n,r);else if(typeof i==`string`||typeof i==`number`)r(a,i.toString());else if(typeof i==`boolean`)r(a,i?`1`:`0`);else throw Error(`Can't handle extra config type: ${typeof i}`)})},L=e=>{let t=F(),n=t.stackSave();try{let n=t.PTR_SIZE,r=t.stackAlloc(2*n);t._OrtGetLastError(r,r+n);let i=Number(t.getValue(r,n===4?`i32`:`i64`)),a=t.getValue(r+n,`*`),o=a?t.UTF8ToString(a):``;throw Error(`${e} ERROR_CODE: ${i}, ERROR_MESSAGE: ${o}`)}finally{t.stackRestore(n)}}}),ot,st=s(()=>{rt(),at(),ot=e=>{let t=F(),n=0,r=[],i=e||{};try{if(e?.logSeverityLevel===void 0)i.logSeverityLevel=2;else if(typeof e.logSeverityLevel!=`number`||!Number.isInteger(e.logSeverityLevel)||e.logSeverityLevel<0||e.logSeverityLevel>4)throw Error(`log severity level is not valid: ${e.logSeverityLevel}`);if(e?.logVerbosityLevel===void 0)i.logVerbosityLevel=0;else if(typeof e.logVerbosityLevel!=`number`||!Number.isInteger(e.logVerbosityLevel))throw Error(`log verbosity level is not valid: ${e.logVerbosityLevel}`);e?.terminate===void 0&&(i.terminate=!1);let a=0;return e?.tag!==void 0&&(a=I(e.tag,r)),n=t._OrtCreateRunOptions(i.logSeverityLevel,i.logVerbosityLevel,!!i.terminate,a),n===0&&L(`Can't create run options.`),e?.extra!==void 0&&it(e.extra,``,new WeakSet,(e,i)=>{let a=I(e,r),o=I(i,r);t._OrtAddRunConfigEntry(n,a,o)!==0&&L(`Can't set a run config entry: ${e} - ${i}.`)}),[n,r]}catch(e){throw n!==0&&t._OrtReleaseRunOptions(n),r.forEach(e=>t._free(e)),e}}}),ct,lt,ut,dt,ft,pt,mt=s(()=>{rt(),at(),ct=e=>{switch(e){case`disabled`:return 0;case`basic`:return 1;case`extended`:return 2;case`layout`:return 3;case`all`:return 99;default:throw Error(`unsupported graph optimization level: ${e}`)}},lt=e=>{switch(e){case`sequential`:return 0;case`parallel`:return 1;default:throw Error(`unsupported execution mode: ${e}`)}},ut=e=>{e.extra||={},e.extra.session||(e.extra.session={});let t=e.extra.session;t.use_ort_model_bytes_directly||=`1`,e.executionProviders&&e.executionProviders.some(e=>(typeof e==`string`?e:e.name)===`webgpu`)&&(e.enableMemPattern=!1)},dt=(e,t,n,r)=>{let i=I(t,r),a=I(n,r);F()._OrtAddSessionConfigEntry(e,i,a)!==0&&L(`Can't set a session config entry: ${t} - ${n}.`)},ft=async(e,t,n)=>{for(let r of t){let t=typeof r==`string`?r:r.name,i=[];switch(t){case`webnn`:if(t=`WEBNN`,typeof r!=`string`){let t=r?.deviceType;t&&dt(e,`deviceType`,t,n)}break;case`webgpu`:if(t=`JS`,typeof r!=`string`){let t=r;if(t?.preferredLayout){if(t.preferredLayout!==`NCHW`&&t.preferredLayout!==`NHWC`)throw Error(`preferredLayout must be either 'NCHW' or 'NHWC': ${t.preferredLayout}`);dt(e,`preferredLayout`,t.preferredLayout,n)}}break;case`wasm`:case`cpu`:continue;default:throw Error(`not supported execution provider: ${t}`)}let a=I(t,n),o=i.length,s=0,c=0;if(o>0){s=F()._malloc(o*F().PTR_SIZE),n.push(s),c=F()._malloc(o*F().PTR_SIZE),n.push(c);for(let e=0;e{let t=F(),n=0,r=[],i=e||{};ut(i);try{let e=ct(i.graphOptimizationLevel??`all`),a=lt(i.executionMode??`sequential`),o=typeof i.logId==`string`?I(i.logId,r):0,s=i.logSeverityLevel??2;if(!Number.isInteger(s)||s<0||s>4)throw Error(`log severity level is not valid: ${s}`);let c=i.logVerbosityLevel??0;if(!Number.isInteger(c)||c<0||c>4)throw Error(`log verbosity level is not valid: ${c}`);let l=typeof i.optimizedModelFilePath==`string`?I(i.optimizedModelFilePath,r):0;if(n=t._OrtCreateSessionOptions(e,!!i.enableCpuMemArena,!!i.enableMemPattern,a,!!i.enableProfiling,0,o,s,c,l),n===0&&L(`Can't create session options.`),i.executionProviders&&await ft(n,i.executionProviders,r),i.enableGraphCapture!==void 0){if(typeof i.enableGraphCapture!=`boolean`)throw Error(`enableGraphCapture must be a boolean value: ${i.enableGraphCapture}`);dt(n,`enableGraphCapture`,i.enableGraphCapture.toString(),r)}if(i.freeDimensionOverrides)for(let[e,a]of Object.entries(i.freeDimensionOverrides)){if(typeof e!=`string`)throw Error(`free dimension override name must be a string: ${e}`);if(typeof a!=`number`||!Number.isInteger(a)||a<0)throw Error(`free dimension override value must be a non-negative integer: ${a}`);let i=I(e,r);t._OrtAddFreeDimensionOverride(n,i,a)!==0&&L(`Can't set a free dimension override: ${e} - ${a}.`)}return i.extra!==void 0&&it(i.extra,``,new WeakSet,(e,t)=>{dt(n,e,t,r)}),[n,r]}catch(e){throw n!==0&&t._OrtReleaseSessionOptions(n)!==0&&L(`Can't release session options.`),r.forEach(e=>t._free(e)),e}}}),ht,gt,_t,vt,yt,bt,xt,St,R=s(()=>{ht=e=>{switch(e){case`int8`:return 3;case`uint8`:return 2;case`bool`:return 9;case`int16`:return 5;case`uint16`:return 4;case`int32`:return 6;case`uint32`:return 12;case`float16`:return 10;case`float32`:return 1;case`float64`:return 11;case`string`:return 8;case`int64`:return 7;case`uint64`:return 13;case`int4`:return 22;case`uint4`:return 21;default:throw Error(`unsupported data type: ${e}`)}},gt=e=>{switch(e){case 3:return`int8`;case 2:return`uint8`;case 9:return`bool`;case 5:return`int16`;case 4:return`uint16`;case 6:return`int32`;case 12:return`uint32`;case 10:return`float16`;case 1:return`float32`;case 11:return`float64`;case 8:return`string`;case 7:return`int64`;case 13:return`uint64`;case 22:return`int4`;case 21:return`uint4`;default:throw Error(`unsupported data type: ${e}`)}},_t=(e,t)=>{let n=[-1,4,1,1,2,2,4,8,-1,1,2,8,4,8,-1,-1,-1,-1,-1,-1,-1,.5,.5][e],r=typeof t==`number`?t:t.reduce((e,t)=>e*t,1);return n>0?Math.ceil(r*n):void 0},vt=e=>{switch(e){case`float16`:return typeof Float16Array<`u`&&Float16Array.from?Float16Array:Uint16Array;case`float32`:return Float32Array;case`uint8`:return Uint8Array;case`int8`:return Int8Array;case`uint16`:return Uint16Array;case`int16`:return Int16Array;case`int32`:return Int32Array;case`bool`:return Uint8Array;case`float64`:return Float64Array;case`uint32`:return Uint32Array;case`int64`:return BigInt64Array;case`uint64`:return BigUint64Array;default:throw Error(`unsupported type: ${e}`)}},yt=e=>{switch(e){case`verbose`:return 0;case`info`:return 1;case`warning`:return 2;case`error`:return 3;case`fatal`:return 4;default:throw Error(`unsupported logging level: ${e}`)}},bt=e=>e===`float32`||e===`float16`||e===`int32`||e===`int64`||e===`uint32`||e===`uint8`||e===`bool`||e===`uint4`||e===`int4`,xt=e=>e===`float32`||e===`float16`||e===`int32`||e===`int64`||e===`uint32`||e===`uint64`||e===`int8`||e===`uint8`||e===`bool`||e===`uint4`||e===`int4`,St=e=>{switch(e){case`none`:return 0;case`cpu`:return 1;case`cpu-pinned`:return 2;case`texture`:return 3;case`gpu-buffer`:return 4;case`ml-tensor`:return 5;default:throw Error(`unsupported data location: ${e}`)}}}),Ct,wt=s(()=>{Ae(),Ct=async e=>{if(typeof e==`string`){let t=await fetch(e);if(!t.ok)throw Error(`failed to load external data file: ${e}`);let n=t.headers.get(`Content-Length`),r=n?parseInt(n,10):0;if(r<1073741824)return new Uint8Array(await t.arrayBuffer());{if(!t.body)throw Error(`failed to load external data file: ${e}, no response body.`);let n=t.body.getReader(),i;try{i=new ArrayBuffer(r)}catch(e){if(e instanceof RangeError){let e=Math.ceil(r/65536);i=new WebAssembly.Memory({initial:e,maximum:e}).buffer}else throw e}let a=0;for(;;){let{done:e,value:t}=await n.read();if(e)break;let r=t.byteLength;new Uint8Array(i,a,r).set(t),a+=r}return new Uint8Array(i,0,r)}}else return e instanceof Blob?new Uint8Array(await e.arrayBuffer()):e instanceof Uint8Array?e:new Uint8Array(e)}}),Tt,Et,Dt,Ot,kt,At,z,jt=s(()=>{R(),Tt=[`V`,`I`,`W`,`E`,`F`],Et=(e,t)=>{console.log(`[${Tt[e]},${new Date().toISOString()}]${t}`)},kt=(e,t)=>{Dt=e,Ot=t},At=(e,t)=>{let n=yt(e);n>=yt(Dt)&&Et(n,typeof t==`function`?t():t)},z=(...e)=>{Ot&&At(...e)}}),Mt,Nt,B,Pt,Ft,It,Lt,V=s(()=>{Mt=class{static calcMatMulShape(e,t){return e[1]===t[0]?[e[0],t[1]]:void 0}},Nt=class{static calcShape(e,t,n=!1){let r=e.length,i=t.length;if(r===0)return t;if(i===0)return e;let a=Math.max(e.length,t.length),o=Array(a);if(n){if(r<2||i<2)return;let n=Mt.calcMatMulShape([e[r-2],e[r-1]],[t[i-2],t[i-1]]);if(n===void 0)return;[o[a-2],o[a-1]]=n}for(let s=n?3:1;s<=a;s++){let n=r-s<0?1:e[r-s],c=i-s<0?1:t[i-s];if(n!==c&&n>1&&c>1)return;let l=Math.max(n,c);if(n&&c)o[a-s]=Math.max(n,c);else{if(l>1)return;o[a-s]=0}}return o}static isValidBroadcast(e,t){let n=e.length,r=t.length;if(n>r)return!1;for(let i=1;i<=n;i++)if(e[n-i]!==1&&e[n-i]!==t[r-i])return!1;return!0}},B=class e{static size(t){return e.getSizeFromDimensionRange(t,0,t.length)}static convertShape(e,t=4){let n=e.length;if(n===0)return[];let r=Array(n),i=n-1;for(;i>=0;){if(e[i]%t===0){r[i]=e[i]/t;break}if(t%e[i]!==0)throw Error(`cannot convert shape`);r[i]=1,t/=e[i],i--}for(i--;i>=0;i--)r[i]=e[i];return r}static sizeFromDimension(t,n){if(n<0||n>t.length)throw Error(`invalid dimension of ${n} for sizeFromDimension as Tensor has ${t.length} dimensions.`);return e.getSizeFromDimensionRange(t,n,t.length)}static sizeToDimension(t,n){if(n<0||n>t.length)throw Error(`invalid dimension of ${n} for sizeToDimension as Tensor has ${t.length} dimensions.`);return e.getSizeFromDimensionRange(t,0,n)}static getSizeFromDimensionRange(e,t,n){let r=1;for(let i=t;i=0;--r)n[r]=n[r+1]*e[r+1];return n}static normalizeAxis(e,t){if(e<-t&&e>=t)throw Error(`unsupported axis for this operation.`);return e<0?e+t:e}static normalizeAxes(e,t){return e.map(n=>this.normalizeAxis(n,t??e.length))}static sortBasedOnPerm(e,t){return t?t.map(t=>e[t]):e.slice().reverse()}static padShape(e,t){let n=e.length;return e.map((e,r)=>e+t[r]+t[r+n])}static areEqual(e,t){return e.length===t.length?e.every((e,n)=>e===t[n]):!1}},Pt=class e{static adjustPoolAttributes(e,t,n,r,i,a){if(!e&&n.length!==t.length-2)throw Error(`length of specified kernel shapes should be 2 less than length of input dimensions`);if(e)for(let e=0;e=n.length?n.push(t[e+2]):n[e]=t[e+2];for(let e=0;e=n[e]||a[e+n.length]>=n[e])throw Error(`pads should be smaller than kernel`)}}static adjustPadsBasedOnAutoPad(t,n,r,i,a,o,s){if(s){if(a.length!==2*(t.length-2))throw Error(`length of pads should be twice the length of data dimensions`);if(n.length!==t.length-2)throw Error(`length of strides should be the length of data dimensions`);if(i.length!==t.length-2)throw Error(`length of kernel shapes should be the length of data dimensions`);for(let c=0;c{R(),Rt=(e,t)=>new(vt(t))(e)}),Bt,Vt,Ht,Ut,Wt,Gt,Kt,qt,Jt,Yt,Xt,Zt=s(()=>{R(),jt(),Bt=new Map([[`float32`,32],[`float16`,16],[`int32`,32],[`uint32`,32],[`int64`,64],[`uint64`,64],[`int8`,8],[`uint8`,8],[`int4`,4],[`uint4`,4]]),Vt=(e,t)=>{if(t===`int32`)return e;let n=Bt.get(t);if(!n)throw Error(`WebNN backend does not support data type: ${t}`);let r=n/8;if(e.byteLength%r!==0)throw Error(`Invalid Uint8Array length - must be a multiple of ${r}.`);let i=e.byteLength/r,a=new(vt(t))(e.buffer,e.byteOffset,i);switch(t){case`int64`:case`uint64`:{let e=new Int32Array(i);for(let t=0;t