PageSourceSearch

https://smisky.ai/_app/immutable/nodes/2.DQvRzxxR.js

js smisky.ai collected 2026-10-05 15:06:38 UTC 2,520,443 bytes, 2,830 lines download raw bytes

vendor: 5,063 bytes, line 1
1var d8=Object.defineProperty;var g8=(c,n,s)=>n in c?d8(c,n,{enumerable:!0,configurable:!0,writable:!0,value:s}):c[n]=s;var Ct=(c,n,s)=>g8(c,typeof n!="symbol"?n+"":n,s);import{s as ks,y as Br,k as Pe,o as Se,i as He,A as ts,d as z,F as Wn,p as Aa,j as jA,e as q,t as Xe,c as J,a as $,b as qe,S as hr,f as V,g as Q,B as cr,u as Pt,h as st,H as Gs,n as qA,P as Un,D as ka,E as va,r as Q2,v as P2,w as S2,x as N2,l as ws,R as Ma,q as Kn,M as z2,C as F0,_ as h8,O as L0,$ as qp,T as p8,U as m8,z as H0,V as j1,N as ao,Q as kl,G as W1,ao as k2}from"../chunks/vexCXLX9.js";import{S as vs,i as ys,f as As,b as Kt,d as Zt,m as Xt,t as at,a as dt,e as qt,g as zr,c as Fr,j as Jp}from"../chunks/Cdll-xsj.js";import{a as F2,t as gr,b as b8,f as C8,W as y0}from"../chunks/BxDCYYT3.js";import{f as Ju}from"../chunks/CoGXDCUN.js";import{g as V0}from"../chunks/BnGVqity.js";import{p as td}from"../chunks/DYGOzBLf.js";import{f as $p}from"../chunks/DOlMLN9E.js";import{f as em,r as tm,g as Am,s as I8}from"../chunks/DnMTEE2-.js";import{l as rm,d as w8,v as k8,m as Ku,z as v8,n as jg,c as Wf,b as y8,A as E8,B as B8}from"../chunks/C_RQmUiD.js";import{g as x8}from"../chunks/B__rbw1m.js";import{S as Ad,A as sm,k as M8,C as D8,g as G8}from"../chunks/B76_8JOO.js";import{f as _8,h as am,i as T8}from"../chunks/Bqai9iwA.js";import{r as nm,b as Uf,v as Wo,d as U1,F as Q8,x as Ro,G as K1,j as qu,s as xo,u as rl,A as Tf,l as P8,i as S8,h as Wu,c as sl,H as Wg,I as y2,a as no,W as im,D as H1,w as om,m as lm,g as Qf,E as N8,t as z8}from"../chunks/SY7htXk0.js";import{e as Ur,u as ef,o as tf}from"../chunks/DNXpXRYa.js";import{m as L1,n as Kf,k as cm,o as F8,t as Zf,f as yl,p as O8,u as L8,i as Al,q as Xf,r as V8,d as Z1,v as H8,w as Y1,x as qf,y as Pf,z as Y8,A as R8,B as j8,C as Ug}from"../chunks/DD9IKnqW.js";import{d as D2}from"../chunks/aTHIJebK.js";import{M as Bl}from"../chunks/DbfJTM1S.js";import{T as jn}from"../chunks/DzHlmjPS.js";import{C as O2}from"../chunks/CzvQehHf.js";import{A as um,U as W8}from"../chunks/Lr0vEJyh.js";import"../chunks/CyFe254w.js";import{M as U8,T as K8,a as Z8,b as X8,S as q8,P as J8,c as $8,u as eC,g as V1,d as tC,e as AC}from"../chunks/8IM_bMqk.js";import{D as fm,M as jo}from"../chunks/B2UduZ6H.js";import{b as dm}from"../chunks/CgO5y2dz.js";import{f as rd}from"../chunks/g5t9vw8M.js";import{h as rC,E as sC}from"../chunks/BSV6efvU.js";import{G as sd}from"../chunks/DVUh9ssa.js";import{P as gm}from"../chunks/BM7xxx70.js";import{D as aC,S as nC}from"../chunks/clYaQkaN.js";import{C as iC}from"../chunks/BfKRbBRz.js";import{X as ad}from"../chunks/4edIpoVY.js";import{S as $u}from"../chunks/Cmi_MrK3.js";import{L as oC}from"../chunks/Ql21FIhE.js";import{C as hm}from"../chunks/Cux5bsOp.js";import{C as pm}from"../chunks/Dqzunhkh.js";import{ae as mm}from"../chunks/DmrBbI9B.js";import{P as Af}from"../chunks/Cmfly5_1.js";import{p as Kg}from"../chunks/_0_gBwjO.js";import{F as lC}from"../chunks/eoSdaunV.js";import{E as cC}from"../chunks/BbEqRSGc.js";import{e as uC,f as fC,h as dC,i as gC}from"../chunks/hXu0F3X7.js";import{A as hC}from"../chunks/DYQAAZgd.js";import{C as bm}from"../chunks/B5WJB5_d.js";import{k as pC,m as mC,n as bC,g as CC,o as IC,p as wC}from"../chunks/Dx3--6Ic.js";import{g as kC}from"../chunks/Bds_yC-m.js";import{g as vC}from"../chunks/CR5WelXU.js";import{g as yC,c as EC}from"../chunks/LDmIgh1Q.js";import{A as BC}from"../chunks/DamHhO8W.js";import{T as Cm}from"../chunks/Dok_iF0y.js";import{b as xC}from"../chunks/Bqljh6Lj.js";import{S as Im}from"../chunks/DBcgpmMt.js";import"../chunks/B_i_4WXY.js";import{U as MC}from"../chunks/C1MAXM9h.js";import{S as DC}from"../chunks/DjtyHjFA.js";const GC=(c,n)=>n.some(s=>c instanceof s);let Zg,Xg;function _C(){return Zg||(Zg=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function TC(){return Xg||(Xg=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const wm=new WeakMap,Jf=new WeakMap,km=new WeakMap,Sf=new WeakMap,nd=new WeakMap;function QC(c){const n=new Promise((s,o)=>{const f=()=>{c.removeEventListener("success",p),c.removeEventListener("error",C)},p=()=>{s(O0(c.result)),f()},C=()=>{o(c.error),f()};c.addEventListener("success",p),c.addEventListener("error",C)});return n.then(s=>{s instanceof IDBCursor&&wm.set(s,c)}).catch(()=>{}),nd.set(n,c),n}function PC(c){if(Jf.has(c))return;const n=new Promise((s,o)=>{const f=()=>{c.removeEventListener("complete",p),c.removeEventListener("error",C),c.removeEventListener("abort",C)},p=()=>{s(),f()},C=()=>{o(c.error||new DOMException("AbortError","AbortError")),f()};c.addEventListener("complete",p),c.addEventListener("error",C),c.addEventListener("abort",C)});Jf.set(c,n)}let $f={get(c,n,s){if(c instanceof IDBTransaction){if(n==="done")return Jf.get(c);if(n==="objectStoreNames")return c.objectStoreNames||km.get(c);if(n==="store")return s.objectStoreNames[1]?void 0:s.objectStore(s.objectStoreNames[0])}return O0(c[n])},set(c,n,s){return c[n]=s,!0},has(c,n){return c instanceof IDBTransaction&&(n==="done"||n==="store")?!0:n in c}};function SC(c){$f=c($f)}
1function NC(c){return c===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(n,...s){const o=c.call(Nf(this),n,...s);return km.set(o,n.sort?n.sort():[n]),O0(o)}:TC().includes(c)?function(...n){return c.apply(Nf(this),n),O0(wm.get(this))}:function(...n){return O0(c.apply(Nf(this),n))}}function zC(c){return typeof c=="function"?NC(c):(c instanceof IDBTransaction&&PC(c),GC(c,_C())?new Proxy(c,$f):c)}function O0(c){if(c instanceof IDBRequest)return QC(c);if(Sf.has(c))return Sf.get(c);const n=zC(c);return n!==c&&(Sf.set(c,n),nd.set(n,c)),n}const Nf=c=>nd.get(c);function FC(c,n,{blocked:s,upgrade:o,blocking:f,terminated:p}={}){const C=indexedDB.open(c,n),b=O0(C);return o&&C.addEventListener("upgradeneeded",k=>{o(O0(C.result),k.oldVersion,k.newVersion,O0(C.transaction),k)}),s&&C.addEventListener("blocked",k=>s(k.oldVersion,k.newVersion,k)),b.then(k=>{p&&k.addEventListener("close",()=>p()),f&&k.addEventListener("versionchange",E=>f(E.oldVersion,E.newVersion,E))}).catch(()=>{}),b}function qg(c,{blocked:n}={}){const s=indexedDB.deleteDatabase(c);return n&&s.addEventListener("blocked",o=>n(o.oldVersion,o)),O0(s).then(()=>{})}const OC=["get","getKey","getAll","getAllKeys","count"],LC=["put","add","delete","clear"],zf=new Map;function Jg(c,n){if(!(c instanceof IDBDatabase&&!(n in c)&&typeof n=="string"))return;if(zf.get(n))return zf.get(n);const s=n.replace(/FromIndex$/,""),o=n!==s,f=LC.includes(s);if(!(s in(o?IDBIndex:IDBObjectStore).prototype)||!(f||OC.includes(s)))return;const p=async function(C,...b){const k=this.transaction(C,f?"readwrite":"readonly");let E=k.store;return o&&(E=E.index(b.shift())),(await Promise.all([E[s](...b),f&&k.done]))[0]};return zf.set(n,p),p}SC(c=>({...c,get:(n,s,o)=>Jg(n,s)||c.get(n,s,o),has:(n,s)=>!!Jg(n,s)||c.has(n,s)}));const VC=async(c,n)=>{let s=null;const o=await fetch(`${F2}/folders/`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json",authorization:`Bearer ${c}`},body:JSON.stringify({name:n})}).then(async f=>{if(!f.ok)throw await f.json();return f.json()}).catch(f=>(s=f.detail,null));if(s)throw s;return o},HC=async(c="")=>{let n=null;const s=await fetch(`${F2}/folders/`,{method:"GET",headers:{Accept:"application/json","Content-Type":"application/json",authorization:`Bearer ${c}`}}).then(async o=>{if(!o.ok)throw await o.json();return o.json()}).then(o=>o).catch(o=>(n=o.detail,console.log(o),null));if(n)throw n;return s},YC=async(c,n,s)=>{let o=null;const f=await fetch(`${F2}/folders/${n}/update`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json",authorization:`Bearer ${c}`},body:JSON.stringify({name:s})}).then(async p=>{if(!p.ok)throw await p.json();return p.json()}).then(p=>p).catch(p=>(o=p.detail,console.log(p),null));if(o)throw o;return f},RC=async(c,n,s)=>{let o=null;const f=await fetch(`${F2}/folders/${n}/update/expanded`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json",authorization:`Bearer ${c}`},body:JSON.stringify({is_expanded:s})}).then(async p=>{if(!p.ok)throw await p.json();return p.json()}).then(p=>p).catch(p=>(o=p.detail,console.log(p),null));if(o)throw o;return f},vm=async(c,n,s)=>{let o=null;const f=await fetch(`${F2}/folders/${n}/update/parent`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json",authorization:`Bearer ${c}`},body:JSON.stringify({parent_id:s})}).then(async p=>{if(!p.ok)throw await p.json();return p.json()}).then(p=>p).catch(p=>(o=p.detail,console.log(p),null));if(o)throw o;return f},jC=async(c,n)=>{let s=null;const o=await fetch(`${F2}/folders/${n}`,{method:"DELETE",headers:{Accept:"application/json","Content-Type":"application/json",authorization:`Bearer ${c}`}}).then(async f=>{if(!f.ok)throw await f.json();return f.json()}).then(f=>f).catch(f=>(s=f.detail,console.log(f),null));if(s)throw s;return o};function $g(c,n,s){const o=c.slice();return o[22]=n[s],o[24]=s,o}function WC(c){let n,s=c[4].t("You have no archived conversations.")+"",o;return{c(){n=q("div"),o=Xe(s),this.h()},l(f){n=J(f,"DIV",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","text-left text-sm w-full mb-8")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p&16&&s!==(s=f[4].t("You have no archived conversations.")+"")&&st(o,s)},i:qA,o:qA,d(f){f&&z(n)}}}function UC(c){let n,s,o,f,p,C,b,k=c[4].t("Name")+"",E,B,G,D=c[4].t("Created At")+"",_,O,j,U,H,Z,X,g,v=c[4].t("Unarchive All Archived Chats")+"",e,d,T,re=c[4].t("Export All Archived Chats")+"",N,F,Ce,he,ce=Ur(c[1].filter(c[14])),ge=[];for(let Ue=0;Ue<ce.length;
1Ue+=1)ge[Ue]=eh($g(c,ce,Ue));const Me=Ue=>dt(ge[Ue],1,1,()=>{ge[Ue]=null});return{c(){n=q("div"),s=q("div"),o=q("div"),f=q("table"),p=q("thead"),C=q("tr"),b=q("th"),E=Xe(k),B=Pe(),G=q("th"),_=Xe(D),O=Pe(),j=q("th"),U=Pe(),H=q("tbody");for(let Ue=0;Ue<ge.length;Ue+=1)ge[Ue].c();Z=Pe(),X=q("div"),g=q("button"),e=Xe(v),d=Pe(),T=q("button"),N=Xe(re),this.h()},l(Ue){n=J(Ue,"DIV",{class:!0});var Ne=$(n);s=J(Ne,"DIV",{class:!0});var de=$(s);o=J(de,"DIV",{class:!0});var me=$(o);f=J(me,"TABLE",{class:!0});var we=$(f);p=J(we,"THEAD",{class:!0});var _e=$(p);C=J(_e,"TR",{});var pe=$(C);b=J(pe,"TH",{scope:!0,class:!0});var it=$(b);E=qe(it,k),it.forEach(z),B=Se(pe),G=J(pe,"TH",{scope:!0,class:!0});var We=$(G);_=qe(We,D),We.forEach(z),O=Se(pe),j=J(pe,"TH",{scope:!0,class:!0}),$(j).forEach(z),pe.forEach(z),_e.forEach(z),U=Se(we),H=J(we,"TBODY",{});var ot=$(H);for(let tt=0;tt<ge.length;tt+=1)ge[tt].l(ot);ot.forEach(z),we.forEach(z),me.forEach(z),de.forEach(z),Z=Se(Ne),X=J(Ne,"DIV",{class:!0});var pt=$(X);g=J(pt,"BUTTON",{class:!0});var ct=$(g);e=qe(ct,v),ct.forEach(z),d=Se(pt),T=J(pt,"BUTTON",{class:!0});var Re=$(T);N=qe(Re,re),Re.forEach(z),pt.forEach(z),Ne.forEach(z),this.h()},h(){V(b,"scope","col"),V(b,"class","px-3 py-2"),V(G,"scope","col"),V(G,"class","px-3 py-2 hidden md:flex"),V(j,"scope","col"),V(j,"class","px-3 py-2 text-right"),V(p,"class","text-xs text-gray-700 uppercase bg-transparent dark:text-gray-200 border-b-2 border-gray-50 dark:border-gray-850"),V(f,"class","w-full text-sm text-left text-gray-600 dark:text-gray-400 table-auto"),V(o,"class","relative overflow-x-auto"),V(s,"class","text-left text-sm w-full mb-3 max-h-[22rem] overflow-y-scroll"),V(g,"class","px-3.5 py-1.5 font-medium hover:bg-black/5 dark:hover:bg-white/5 outline outline-1 outline-gray-300 dark:outline-gray-800 rounded-3xl"),V(T,"class","px-3.5 py-1.5 font-medium hover:bg-black/5 dark:hover:bg-white/5 outline outline-1 outline-gray-300 dark:outline-gray-800 rounded-3xl"),V(X,"class","flex flex-wrap text-sm font-medium gap-1.5 mt-2 m-1 justify-end w-full"),V(n,"class","w-full")},m(Ue,Ne){He(Ue,n,Ne),Q(n,s),Q(s,o),Q(o,f),Q(f,p),Q(p,C),Q(C,b),Q(b,E),Q(C,B),Q(C,G),Q(G,_),Q(C,O),Q(C,j),Q(f,U),Q(f,H);for(let de=0;de<ge.length;de+=1)ge[de]&&ge[de].m(H,null);Q(n,Z),Q(n,X),Q(X,g),Q(g,e),Q(X,d),Q(X,T),Q(T,N),F=!0,Ce||(he=[Pt(g,"click",c[17]),Pt(T,"click",c[18])],Ce=!0)},p(Ue,Ne){if((!F||Ne&16)&&k!==(k=Ue[4].t("Name")+"")&&st(E,k),(!F||Ne&16)&&D!==(D=Ue[4].t("Created At")+"")&&st(_,D),Ne&214){ce=Ur(Ue[1].filter(Ue[14]));let de;for(de=0;de<ce.length;de+=1){const me=$g(Ue,ce,de);ge[de]?(ge[de].p(me,Ne),at(ge[de],1)):(ge[de]=eh(me),ge[de].c(),at(ge[de],1),ge[de].m(H,null))}for(zr(),de=ce.length;de<ge.length;de+=1)Me(de);Fr()}(!F||Ne&16)&&v!==(v=Ue[4].t("Unarchive All Archived Chats")+"")&&st(e,v),(!F||Ne&16)&&re!==(re=Ue[4].t("Export All Archived Chats")+"")&&st(N,re)},i(Ue){if(!F){for(let Ne=0;Ne<ce.length;Ne+=1)at(ge[Ne]);F=!0}},o(Ue){ge=ge.filter(Boolean);for(let Ne=0;Ne<ge.length;Ne+=1)dt(ge[Ne]);F=!1},d(Ue){Ue&&z(n),Un(ge,Ue),Ce=!1,Gs(he)}}}function KC(c){let n,s='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-4"><path stroke-linecap="round" stroke-linejoin="round" d="M9 8.25H7.5a2.25 2.25 0 0 0-2.25 2.25v9a2.25 2.25 0 0 0 2.25 2.25h9a2.25 2.25 0 0 0 2.25-2.25v-9a2.25 2.25 0 0 0-2.25-2.25H15m0-3-3-3m0 0-3 3m3-3V15"></path></svg>',o,f;function p(){return c[15](c[22])}return{c(){n=q("button"),n.innerHTML=s,this.h()},l(C){n=J(C,"BUTTON",{class:!0,"data-svelte-h":!0}),hr(n)!=="svelte-1x4djqv"&&(n.innerHTML=s),this.h()},h(){V(n,"class","self-center w-fit text-sm px-2 py-2 hover:bg-black/5 dark:hover:bg-white/5 rounded-xl")},m(C,b){He(C,n,b),o||(f=Pt(n,"click",p),o=!0)},p(C,b){c=C},d(C){C&&z(n),o=!1,f()}}}function ZC(c){let n,s='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-4 h-4"><path stroke-linecap="round" stroke-linejoin="round" d="m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0"></path></svg>',o,f;function p(){return c[16](c[22])}return{c(){n=q("button"),n.innerHTML=s,this.h()},l(C){n=J(C,"BUTTON",{class:!0,"data-svelte-h":!0}),hr(n)!=="svelte-1pagubv"&&(n.innerHTML=s),this.h()},h(){V(n,"class","self-center w-fit text-sm px-2 py-2 hover:bg-black/5 dark:hover:bg-white/5 rounded-xl")},m(C,b){He(C,n,b),o||(f=Pt(n,"click",p),o=!0)},p(C,b){c=C},d(C){C&&z(n),o=!1,f()}}}function eh(c){let n,s,o,f,p=c[22].title+"",C,b,k,E,B,G=D2(c[22].created_at*1e3).format("LLL")+"",D,_,O,j,U,H,Z,X,g,v;return U=new jn({props:{content:c[4].t("Unarchive Chat"),$$slots:{default:[KC]},$$scope:{ctx:c}}}),Z=new jn({props:{content:c[4].t("Delete Chat"),$$slots:{default:[ZC]},$$scope:{ctx:c}}}
1),{c(){n=q("tr"),s=q("td"),o=q("a"),f=q("div"),C=Xe(p),k=Pe(),E=q("td"),B=q("div"),D=Xe(G),_=Pe(),O=q("td"),j=q("div"),Kt(U.$$.fragment),H=Pe(),Kt(Z.$$.fragment),X=Pe(),this.h()},l(e){n=J(e,"TR",{class:!0});var d=$(n);s=J(d,"TD",{class:!0});var T=$(s);o=J(T,"A",{href:!0,target:!0});var re=$(o);f=J(re,"DIV",{class:!0});var N=$(f);C=qe(N,p),N.forEach(z),re.forEach(z),T.forEach(z),k=Se(d),E=J(d,"TD",{class:!0});var F=$(E);B=J(F,"DIV",{class:!0});var Ce=$(B);D=qe(Ce,G),Ce.forEach(z),F.forEach(z),_=Se(d),O=J(d,"TD",{class:!0});var he=$(O);j=J(he,"DIV",{class:!0});var ce=$(j);Zt(U.$$.fragment,ce),H=Se(ce),Zt(Z.$$.fragment,ce),ce.forEach(z),he.forEach(z),X=Se(d),d.forEach(z),this.h()},h(){V(f,"class","underline line-clamp-1"),V(o,"href",b="/c/"+c[22].id),V(o,"target","_blank"),V(s,"class","px-3 py-1 w-2/3"),V(B,"class","my-auto"),V(E,"class","px-3 py-1 hidden md:flex h-[2.5rem]"),V(j,"class","flex justify-end w-full"),V(O,"class","px-3 py-1 text-right"),V(n,"class",g="bg-transparent "+(c[24]!==c[1].length-1&&"border-b")+" dark:bg-gray-900 border-gray-50 dark:border-gray-850 text-xs")},m(e,d){He(e,n,d),Q(n,s),Q(s,o),Q(o,f),Q(f,C),Q(n,k),Q(n,E),Q(E,B),Q(B,D),Q(n,_),Q(n,O),Q(O,j),Xt(U,j,null),Q(j,H),Xt(Z,j,null),Q(n,X),v=!0},p(e,d){(!v||d&6)&&p!==(p=e[22].title+"")&&st(C,p),(!v||d&6&&b!==(b="/c/"+e[22].id))&&V(o,"href",b),(!v||d&6)&&G!==(G=D2(e[22].created_at*1e3).format("LLL")+"")&&st(D,G);const T={};d&16&&(T.content=e[4].t("Unarchive Chat")),d&33554438&&(T.$$scope={dirty:d,ctx:e}),U.$set(T);const re={};d&16&&(re.content=e[4].t("Delete Chat")),d&33554438&&(re.$$scope={dirty:d,ctx:e}),Z.$set(re),(!v||d&2&&g!==(g="bg-transparent "+(e[24]!==e[1].length-1&&"border-b")+" dark:bg-gray-900 border-gray-50 dark:border-gray-850 text-xs"))&&V(n,"class",g)},i(e){v||(at(U.$$.fragment,e),at(Z.$$.fragment,e),v=!0)},o(e){dt(U.$$.fragment,e),dt(Z.$$.fragment,e),v=!1},d(e){e&&z(n),qt(U),qt(Z)}}}function XC(c){let n,s,o,f=c[4].t("Archived Chats")+"",p,C,b,k='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5"><path fill-rule="evenodd" d="M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z" clip-rule="evenodd"></path></svg>',E,B,G,D,_,O='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-4 h-4"><path fill-rule="evenodd" d="M9 3.5a5.5 5.5 0 100 11 5.5 5.5 0 000-11zM2 9a7 7 0 1112.452 4.391l3.328 3.329a.75.75 0 11-1.06 1.06l-3.329-3.328A7 7 0 012 9z" clip-rule="evenodd"></path></svg>',j,U,H,Z,X,g,v,e,d,T,re,N;const F=[UC,WC],Ce=[];function he(ce,ge){return ce[1].length>0?0:1}return e=he(c),d=Ce[e]=F[e](c),{c(){n=q("div"),s=q("div"),o=q("div"),p=Xe(f),C=Pe(),b=q("button"),b.innerHTML=k,E=Pe(),B=q("div"),G=q("div"),D=q("div"),_=q("div"),_.innerHTML=O,j=Pe(),U=q("input"),Z=Pe(),X=q("hr"),g=Pe(),v=q("div"),d.c(),this.h()},l(ce){n=J(ce,"DIV",{});var ge=$(n);s=J(ge,"DIV",{class:!0});var Me=$(s);o=J(Me,"DIV",{class:!0});var Ue=$(o);p=qe(Ue,f),Ue.forEach(z),C=Se(Me),b=J(Me,"BUTTON",{class:!0,"data-svelte-h":!0}),hr(b)!=="svelte-i7w487"&&(b.innerHTML=k),Me.forEach(z),E=Se(ge),B=J(ge,"DIV",{class:!0});var Ne=$(B);G=J(Ne,"DIV",{class:!0});var de=$(G);D=J(de,"DIV",{class:!0});var me=$(D);_=J(me,"DIV",{class:!0,"data-svelte-h":!0}),hr(_)!=="svelte-kinl2y"&&(_.innerHTML=O),j=Se(me),U=J(me,"INPUT",{class:!0,placeholder:!0}),me.forEach(z),de.forEach(z),Z=Se(Ne),X=J(Ne,"HR",{class:!0}),g=Se(Ne),v=J(Ne,"DIV",{class:!0});var we=$(v);d.l(we),we.forEach(z),Ne.forEach(z),ge.forEach(z),this.h()},h(){V(o,"class","text-lg font-medium self-center"),V(b,"class","self-center"),V(s,"class","flex justify-between dark:text-gray-300 px-5 pt-4 pb-1"),V(_,"class","self-center ml-1 mr-3"),V(U,"class","w-full text-sm pr-4 py-1 rounded-r-xl outline-hidden bg-transparent"),V(U,"placeholder",H=c[4].t("Search Chats")),V(D,"class","flex flex-1"),V(G,"class","flex w-full mt-2 space-x-2"),V(X,"class","border-gray-100 dark:border-gray-850 my-2"),V(v,"class","flex flex-col w-full sm:flex-row sm:justify-center sm:space-x-6"),V(B,"class","flex flex-col w-full px-5 pb-4 dark:text-gray-200")},m(ce,ge){He(ce,n,ge),Q(n,s),Q(s,o),Q(o,p),Q(s,C),Q(s,b),Q(n,E),Q(n,B),Q(B,G),Q(G,D),Q(D,_),Q(D,j),Q(D,U),cr(U,c[2]),Q(B,Z),Q(B,X),Q(B,g),Q(B,v),Ce[e].m(v,null),T=!0,re||(N=[Pt(b,"click",c[12]),Pt(U,"input",c[13])],re=!0)},p(ce,ge){(!T||ge&16)&&f!==(f=ce[4].t("Archived Chats")+"")&&st(p,f),
1(!T||ge&16&&H!==(H=ce[4].t("Search Chats")))&&V(U,"placeholder",H),ge&4&&U.value!==ce[2]&&cr(U,ce[2]);let Me=e;e=he(ce),e===Me?Ce[e].p(ce,ge):(zr(),dt(Ce[Me],1,1,()=>{Ce[Me]=null}),Fr(),d=Ce[e],d?d.p(ce,ge):(d=Ce[e]=F[e](ce),d.c()),at(d,1),d.m(v,null))},i(ce){T||(at(d),T=!0)},o(ce){dt(d),T=!1},d(ce){ce&&z(n),Ce[e].d(),re=!1,Gs(N)}}}function qC(c){let n,s,o,f,p,C;function b(G){c[10](G)}let k={message:c[4].t("Are you sure you want to unarchive all archived chats?"),confirmLabel:c[4].t("Unarchive All")};c[3]!==void 0&&(k.show=c[3]),n=new O2({props:k}),Br.push(()=>As(n,"show",b)),n.$on("confirm",c[11]);function E(G){c[19](G)}let B={size:"lg",$$slots:{default:[XC]},$$scope:{ctx:c}};return c[0]!==void 0&&(B.show=c[0]),f=new Bl({props:B}),Br.push(()=>As(f,"show",E)),{c(){Kt(n.$$.fragment),o=Pe(),Kt(f.$$.fragment)},l(G){Zt(n.$$.fragment,G),o=Se(G),Zt(f.$$.fragment,G)},m(G,D){Xt(n,G,D),He(G,o,D),Xt(f,G,D),C=!0},p(G,[D]){const _={};D&16&&(_.message=G[4].t("Are you sure you want to unarchive all archived chats?")),D&16&&(_.confirmLabel=G[4].t("Unarchive All")),!s&&D&8&&(s=!0,_.show=G[3],ts(()=>s=!1)),n.$set(_);const O={};D&33554463&&(O.$$scope={dirty:D,ctx:G}),!p&&D&1&&(p=!0,O.show=G[0],ts(()=>p=!1)),f.$set(O)},i(G){C||(at(n.$$.fragment,G),at(f.$$.fragment,G),C=!0)},o(G){dt(n.$$.fragment,G),dt(f.$$.fragment,G),C=!1},d(G){G&&z(o),qt(n,G),qt(f,G)}}}function JC(c,n,s){let o;const{saveAs:f}=Ju;D2.extend(rm);const p=Wn(),C=Aa("i18n");jA(c,C,re=>s(4,o=re));let{show:b=!1}=n,k=[],E="",B=!1;const G=async re=>{await Kf(localStorage.token,re).catch(N=>{gr.error(`${N}`)}),s(1,k=await L1(localStorage.token)),p("change")},D=async re=>{await cm(localStorage.token,re).catch(N=>{gr.error(`${N}`)}),s(1,k=await L1(localStorage.token))},_=async()=>{const re=await F8(localStorage.token);let N=new Blob([JSON.stringify(re)],{type:"application/json"});f(N,`${o.t("archived-chat-export")}-${Date.now()}.json`)},O=async()=>{for(const re of k)await Kf(localStorage.token,re.id);s(1,k=await L1(localStorage.token))};function j(re){B=re,s(3,B)}const U=()=>{O()},H=()=>{s(0,b=!1)};function Z(){E=this.value,s(2,E)}const X=re=>E===""||re.title.toLowerCase().includes(E.toLowerCase()),g=async re=>{G(re.id)},v=async re=>{D(re.id)},e=()=>{s(3,B=!0)},d=()=>{_()};function T(re){b=re,s(0,b)}return c.$$set=re=>{"show"in re&&s(0,b=re.show)},c.$$.update=()=>{c.$$.dirty&1&&b&&(async()=>s(1,k=await L1(localStorage.token)))()},[b,k,E,B,o,C,G,D,_,O,j,U,H,Z,X,g,v,e,d,T]}class ym extends vs{constructor(n){super(),ys(this,n,JC,qC,ks,{show:0})}}function $C(c){let n,s;return{c(){n=ka("svg"),s=ka("path"),this.h()},l(o){n=va(o,"svg",{xmlns:!0,fill:!0,viewBox:!0,"stroke-width":!0,stroke:!0,class:!0});var f=$(n);s=va(f,"path",{"stroke-linecap":!0,"stroke-linejoin":!0,d:!0}),$(s).forEach(z),f.forEach(z),this.h()},h(){V(s,"stroke-linecap","round"),V(s,"stroke-linejoin","round"),V(s,"d","M17.593 3.322c1.1.128 1.907 1.077 1.907 2.185V21L12 17.25 4.5 21V5.507c0-1.108.806-2.057 1.907-2.185a48.507 48.507 0 0 1 11.186 0Z"),V(n,"xmlns","http://www.w3.org/2000/svg"),V(n,"fill","none"),V(n,"viewBox","0 0 24 24"),V(n,"stroke-width",c[1]),V(n,"stroke","currentColor"),V(n,"class",c[0])},m(o,f){He(o,n,f),Q(n,s)},p(o,[f]){f&2&&V(n,"stroke-width",o[1]),f&1&&V(n,"class",o[0])},i:qA,o:qA,d(o){o&&z(n)}}}function e5(c,n,s){let{className:o="w-4 h-4"}=n,{strokeWidth:f="1.5"}=n;return c.$$set=p=>{"className"in p&&s(0,o=p.className),"strokeWidth"in p&&s(1,f=p.strokeWidth)},[o,f]}class t5 extends vs{constructor(n){super(),ys(this,n,e5,$C,ks,{className:0,strokeWidth:1})}}function A5(c){let n,s;return{c(){n=ka("svg"),s=ka("path"),this.h()},l(o){n=va(o,"svg",{xmlns:!0,fill:!0,viewBox:!0,"stroke-width":!0,stroke:!0,class:!0});var f=$(n);s=va(f,"path",{"stroke-linecap":!0,"stroke-linejoin":!0,d:!0}),$(s).forEach(z),f.forEach(z),this.h()},h(){V(s,"stroke-linecap","round"),V(s,"stroke-linejoin","round"),V(s,"d","m3 3 1.664 1.664M21 21l-1.5-1.5m-5.485-1.242L12 17.25 4.5 21V8.742m.164-4.078a2.15 2.15 0 0 1 1.743-1.342 48.507 48.507 0 0 1 11.186 0c1.1.128 1.907 1.077 1.907 2.185V19.5M4.664 4.664 19.5 19.5"),V(n,"xmlns","http://www.w3.org/2000/svg"),V(n,"fill","none"),V(n,"viewBox","0 0 24 24"),V(n,"stroke-width",c[1]),V(n,"stroke","currentColor"),V(n,"class",c[0])},m(o,f){He(o,n,f),Q(n,s)},p(o,[f]){f&2&&V(n,"stroke-width",o[1]),f&1&&V(n,"class",o[0])},i:qA,o:qA,d(o){o&&z(n)}}}function r5(c,n,s){let{className:o="w-4 h-4"}=n,{strokeWidth:f="1.5"}=n;return c.$$set=p=>{"className"in p&&s(0,o=p.className),"strokeWidth"in p&&s(1,f=p.strokeWidth)},[o,f]}class s5 extends vs{constructor(n){super(),ys(this,n,r5,A5,ks,{className:0,strokeWidth:1})}}function a5(c){let n,s;return{c(){n=ka("svg"),s=ka("path"),this.h()},l(o){n=va(o,"svg",{xmlns:!0,fill:!0,viewBox:!0,"stroke-width":!0,stroke:!0,class:!0});var f=$(n);s=va(f,"path",{"stroke-linecap":!0,"stroke-linejoin":!0,d:!0}
1),$(s).forEach(z),f.forEach(z),this.h()},h(){V(s,"stroke-linecap","round"),V(s,"stroke-linejoin","round"),V(s,"d","M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12 12 16.5m0 0L7.5 12m4.5 4.5V3"),V(n,"xmlns","http://www.w3.org/2000/svg"),V(n,"fill","none"),V(n,"viewBox","0 0 24 24"),V(n,"stroke-width",c[1]),V(n,"stroke","currentColor"),V(n,"class",c[0])},m(o,f){He(o,n,f),Q(n,s)},p(o,[f]){f&2&&V(n,"stroke-width",o[1]),f&1&&V(n,"class",o[0])},i:qA,o:qA,d(o){o&&z(n)}}}function n5(c,n,s){let{className:o="size-4"}=n,{strokeWidth:f="1.5"}=n;return c.$$set=p=>{"className"in p&&s(0,o=p.className),"strokeWidth"in p&&s(1,f=p.strokeWidth)},[o,f]}class Em extends vs{constructor(n){super(),ys(this,n,n5,a5,ks,{className:0,strokeWidth:1})}}function i5(c){let n;const s=c[16].default,o=Q2(s,c,c[31],null);return{c(){o&&o.c()},l(f){o&&o.l(f)},m(f,p){o&&o.m(f,p),n=!0},p(f,p){o&&o.p&&(!n||p[1]&1)&&P2(o,s,f,f[31],n?N2(s,f[31],p,null):S2(f[31]),null)},i(f){n||(at(o,f),n=!0)},o(f){dt(o,f),n=!1},d(f){o&&o.d(f)}}}function o5(c){let n,s;return n=new jn({props:{content:c[9].t("More"),$$slots:{default:[i5]},$$scope:{ctx:c}}}),{c(){Kt(n.$$.fragment)},l(o){Zt(n.$$.fragment,o)},m(o,f){Xt(n,o,f),s=!0},p(o,f){const p={};f[0]&512&&(p.content=o[9].t("More")),f[1]&1&&(p.$$scope={dirty:f,ctx:o}),n.$set(p)},i(o){s||(at(n.$$.fragment,o),s=!0)},o(o){dt(n.$$.fragment,o),s=!1},d(o){qt(n,o)}}}function l5(c){let n,s,o,f=c[9].t("Pin")+"",p,C;return n=new t5({props:{strokeWidth:"2"}}),{c(){Kt(n.$$.fragment),s=Pe(),o=q("div"),p=Xe(f),this.h()},l(b){Zt(n.$$.fragment,b),s=Se(b),o=J(b,"DIV",{class:!0});var k=$(o);p=qe(k,f),k.forEach(z),this.h()},h(){V(o,"class","flex items-center")},m(b,k){Xt(n,b,k),He(b,s,k),He(b,o,k),Q(o,p),C=!0},p(b,k){(!C||k[0]&512)&&f!==(f=b[9].t("Pin")+"")&&st(p,f)},i(b){C||(at(n.$$.fragment,b),C=!0)},o(b){dt(n.$$.fragment,b),C=!1},d(b){b&&(z(s),z(o)),qt(n,b)}}}function c5(c){let n,s,o,f=c[9].t("Unpin")+"",p,C;return n=new s5({props:{strokeWidth:"2"}}),{c(){Kt(n.$$.fragment),s=Pe(),o=q("div"),p=Xe(f),this.h()},l(b){Zt(n.$$.fragment,b),s=Se(b),o=J(b,"DIV",{class:!0});var k=$(o);p=qe(k,f),k.forEach(z),this.h()},h(){V(o,"class","flex items-center")},m(b,k){Xt(n,b,k),He(b,s,k),He(b,o,k),Q(o,p),C=!0},p(b,k){(!C||k[0]&512)&&f!==(f=b[9].t("Unpin")+"")&&st(p,f)},i(b){C||(at(n.$$.fragment,b),C=!0)},o(b){dt(n.$$.fragment,b),C=!1},d(b){b&&(z(s),z(o)),qt(n,b)}}}function u5(c){let n,s,o,f;const p=[c5,l5],C=[];function b(k,E){return k[8]?0:1}return n=b(c),s=C[n]=p[n](c),{c(){s.c(),o=ws()},l(k){s.l(k),o=ws()},m(k,E){C[n].m(k,E),He(k,o,E),f=!0},p(k,E){let B=n;n=b(k),n===B?C[n].p(k,E):(zr(),dt(C[B],1,1,()=>{C[B]=null}),Fr(),s=C[n],s?s.p(k,E):(s=C[n]=p[n](k),s.c()),at(s,1),s.m(o.parentNode,o))},i(k){f||(at(s),f=!0)},o(k){dt(s),f=!1},d(k){k&&z(o),C[n].d(k)}}}function f5(c){let n,s,o,f=c[9].t("Rename")+"",p,C;return n=new gm({props:{strokeWidth:"2"}}),{c(){Kt(n.$$.fragment),s=Pe(),o=q("div"),p=Xe(f),this.h()},l(b){Zt(n.$$.fragment,b),s=Se(b),o=J(b,"DIV",{class:!0});var k=$(o);p=qe(k,f),k.forEach(z),this.h()},h(){V(o,"class","flex items-center")},m(b,k){Xt(n,b,k),He(b,s,k),He(b,o,k),Q(o,p),C=!0},p(b,k){(!C||k[0]&512)&&f!==(f=b[9].t("Rename")+"")&&st(p,f)},i(b){C||(at(n.$$.fragment,b),C=!0)},o(b){dt(n.$$.fragment,b),C=!1},d(b){b&&(z(s),z(o)),qt(n,b)}}}function d5(c){let n,s,o,f=c[9].t("Clone")+"",p,C;return n=new aC({props:{strokeWidth:"2"}}),{c(){Kt(n.$$.fragment),s=Pe(),o=q("div"),p=Xe(f),this.h()},l(b){Zt(n.$$.fragment,b),s=Se(b),o=J(b,"DIV",{class:!0});var k=$(o);p=qe(k,f),k.forEach(z),this.h()},h(){V(o,"class","flex items-center")},m(b,k){Xt(n,b,k),He(b,s,k),He(b,o,k),Q(o,p),C=!0},p(b,k){(!C||k[0]&512)&&f!==(f=b[9].t("Clone")+"")&&st(p,f)},i(b){C||(at(n.$$.fragment,b),C=!0)},o(b){dt(n.$$.fragment,b),C=!1},d(b){b&&(z(s),z(o)),qt(n,b)}}}function g5(c){let n,s,o,f=c[9].t("Archive")+"",p,C;return n=new um({props:{strokeWidth:"2"}}),{c(){Kt(n.$$.fragment),s=Pe(),o=q("div"),p=Xe(f),this.h()},l(b){Zt(n.$$.fragment,b),s=Se(b),o=J(b,"DIV",{class:!0});var k=$(o);p=qe(k,f),k.forEach(z),this.h()},h(){V(o,"class","flex items-center")},m(b,k){Xt(n,b,k),He(b,s,k),He(b,o,k),Q(o,p),C=!0},p(b,k){(!C||k[0]&512)&&f!==(f=b[9].t("Archive")+"")&&st(p,f)},i(b){C||(at(n.$$.fragment,b),C=!0)},o(b){dt(n.$$.fragment,b),C=!1},d(b){b&&(z(s),z(o)),qt(n,b)}}}function h5(c){let n,s,o,f=c[9].t("Share")+"",p,C;return n=new nC({}),{c(){Kt(n.$$.fragment),s=Pe(),o=q("div"),p=Xe(f),this.h()},l(b){Zt(n.$$.fragment,b),s=Se(b),o=J(b,"DIV",{class:!0});var k=$(o);
1p=qe(k,f),k.forEach(z),this.h()},h(){V(o,"class","flex items-center")},m(b,k){Xt(n,b,k),He(b,s,k),He(b,o,k),Q(o,p),C=!0},p(b,k){(!C||k[0]&512)&&f!==(f=b[9].t("Share")+"")&&st(p,f)},i(b){C||(at(n.$$.fragment,b),C=!0)},o(b){dt(n.$$.fragment,b),C=!1},d(b){b&&(z(s),z(o)),qt(n,b)}}}function p5(c){let n,s,o,f=c[9].t("Download")+"",p,C;return n=new Em({props:{strokeWidth:"2"}}),{c(){Kt(n.$$.fragment),s=Pe(),o=q("div"),p=Xe(f),this.h()},l(b){Zt(n.$$.fragment,b),s=Se(b),o=J(b,"DIV",{class:!0});var k=$(o);p=qe(k,f),k.forEach(z),this.h()},h(){V(o,"class","flex items-center")},m(b,k){Xt(n,b,k),He(b,s,k),He(b,o,k),Q(o,p),C=!0},p(b,k){(!C||k[0]&512)&&f!==(f=b[9].t("Download")+"")&&st(p,f)},i(b){C||(at(n.$$.fragment,b),C=!0)},o(b){dt(n.$$.fragment,b),C=!1},d(b){b&&(z(s),z(o)),qt(n,b)}}}function m5(c){let n,s=c[9].t("Export chat (.json)")+"",o;return{c(){n=q("div"),o=Xe(s),this.h()},l(f){n=J(f,"DIV",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","flex items-center line-clamp-1")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[0]&512&&s!==(s=f[9].t("Export chat (.json)")+"")&&st(o,s)},d(f){f&&z(n)}}}function b5(c){let n,s=c[9].t("Plain text (.txt)")+"",o;return{c(){n=q("div"),o=Xe(s),this.h()},l(f){n=J(f,"DIV",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","flex items-center line-clamp-1")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[0]&512&&s!==(s=f[9].t("Plain text (.txt)")+"")&&st(o,s)},d(f){f&&z(n)}}}function C5(c){let n,s=c[9].t("PDF document (.pdf)")+"",o;return{c(){n=q("div"),o=Xe(s),this.h()},l(f){n=J(f,"DIV",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","flex items-center line-clamp-1")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[0]&512&&s!==(s=f[9].t("PDF document (.pdf)")+"")&&st(o,s)},d(f){f&&z(n)}}}function I5(c){let n,s,o,f,p,C;return n=new jo({props:{class:"flex gap-2 items-center px-3 py-2 text-sm  cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-md",$$slots:{default:[m5]},$$scope:{ctx:c}}}),n.$on("click",c[22]),o=new jo({props:{class:"flex gap-2 items-center px-3 py-2 text-sm  cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-md",$$slots:{default:[b5]},$$scope:{ctx:c}}}),o.$on("click",c[23]),p=new jo({props:{class:"flex gap-2 items-center px-3 py-2 text-sm  cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-md",$$slots:{default:[C5]},$$scope:{ctx:c}}}),p.$on("click",c[24]),{c(){Kt(n.$$.fragment),s=Pe(),Kt(o.$$.fragment),f=Pe(),Kt(p.$$.fragment)},l(b){Zt(n.$$.fragment,b),s=Se(b),Zt(o.$$.fragment,b),f=Se(b),Zt(p.$$.fragment,b)},m(b,k){Xt(n,b,k),He(b,s,k),Xt(o,b,k),He(b,f,k),Xt(p,b,k),C=!0},p(b,k){const E={};k[0]&512|k[1]&1&&(E.$$scope={dirty:k,ctx:b}),n.$set(E);const B={};k[0]&512|k[1]&1&&(B.$$scope={dirty:k,ctx:b}),o.$set(B);const G={};k[0]&512|k[1]&1&&(G.$$scope={dirty:k,ctx:b}),p.$set(G)},i(b){C||(at(n.$$.fragment,b),at(o.$$.fragment,b),at(p.$$.fragment,b),C=!0)},o(b){dt(n.$$.fragment,b),dt(o.$$.fragment,b),dt(p.$$.fragment,b),C=!1},d(b){b&&(z(s),z(f)),qt(n,b),qt(o,b),qt(p,b)}}}function w5(c){let n,s,o,f;return n=new Z8({props:{class:"flex gap-2 items-center px-3 py-2 text-sm  cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-md",$$slots:{default:[p5]},$$scope:{ctx:c}}}),o=new X8({props:{class:"w-full rounded-xl px-1 py-1.5 z-50 bg-white dark:bg-gray-850 dark:text-white shadow-lg",transition:rd,sideOffset:8,$$slots:{default:[I5]},$$scope:{ctx:c}}}),{c(){Kt(n.$$.fragment),s=Pe(),Kt(o.$$.fragment)},l(p){Zt(n.$$.fragment,p),s=Se(p),Zt(o.$$.fragment,p)},m(p,C){Xt(n,p,C),He(p,s,C),Xt(o,p,C),f=!0},p(p,C){const b={};C[0]&512|C[1]&1&&(b.$$scope={dirty:C,ctx:p}),n.$set(b);const k={};C[0]&512|C[1]&1&&(k.$$scope={dirty:C,ctx:p}),o.$set(k)},i(p){f||(at(n.$$.fragment,p),at(o.$$.fragment,p),f=!0)},o(p){dt(n.$$.fragment,p),dt(o.$$.fragment,p),f=!1},d(p){p&&z(s),qt(n,p),qt(o,p)}}}function k5(c){let n,s,o,f=c[9].t("Delete")+"",p,C;return n=new sd({props:{strokeWidth:"2"}}),{c(){Kt(n.$$.fragment),s=Pe(),o=q("div"),p=Xe(f),this.h()},l(b){Zt(n.$$.fragment,b),s=Se(b),o=J(b,"DIV",{class:!0});var k=$(o);p=qe(k,f),k.forEach(z),this.h()},h(){V(o,"class","flex items-center")},m(b,k){Xt(n,b,k),He(b,s,k),He(b,o,k),Q(o,p),C=!0},p(b,k){(!C||k[0]&512)&&f!==(f=b[9].t("Delete")+"")&&st(p,f)},i(b){C||(at(n.$$.fragment,b),C=!0)},o(b){dt(n.$$.fragment,b),C=!1},d(b){b&&(z(s),z(o)),qt(n,b)}}}function v5(c){let n,s,o,f,p,C,b,k,E,B,G,D,_,O,j,U,H,Z,X;return n=new jo({props:{class:"flex gap-2 items-center px-3 py-1.5 text-sm  cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-md",$$slots:{default:[u5]},$$scope:{ctx:c}}}),n.$on("click",c[17]),o=new jo({props:{class:"flex gap-2 items-center px-3 py-1.5 text-sm  cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-md",$$slots:{default:[f5]},$$scope:{ctx:c}}}),o.$on("click",c[18]),p=new jo({props:{class:"flex gap-2 items-center px-3 py-1.5 text-sm  cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-md",$$slots:{default:[d5]},$$scope:{ctx:c}}}),p.$on("click",c[19]),b=new jo({props:{class:"flex gap-2 items-center px-3 py-1.5 text-sm  cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-md",$$slots:{default:[g5]},$$scope:{ctx:c}}}),b.$on("click",c[20]),E=new jo({props:{class:"flex gap-2 items-center px-3 py-1.5 text-sm  cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800  rounded-md",$$slots:{default:[h5]},$$scope:{ctx:c}}}),E.$on("click",c[21]),G=new U8({props:{$$slots:{default:[w5]},$$scope:{ctx:c}}}),_=new jo({props:{class:"flex  gap-2  items-center px-3 py-1.5 text-sm  cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-md",$$slots:{default:[k5]},$$scope:{ctx:c}}}),_.$on("click",c[25]),Z=new K8({props:{chatId:c[6]}}),Z.$on("add",c[26]),Z.$on("delete",c[27]),Z.$on("close",c[28]),{c(){Kt(n.$$.fragment),s=Pe(),Kt(o.$$.fragment),f=Pe(),Kt(p.$$.fragment),C=Pe(),Kt(b.$$.fragment),k=Pe(),Kt(E.$$.fragment),B=Pe(),Kt(G.$$.fragment),D=Pe(),Kt(_.$$.fragment),O=Pe(),j=q("hr"),U=Pe(),H=q("div"),Kt(Z.$$.fragment),this.h()},l(g){Zt(n.$$.fragment,g),s=Se(g),Zt(o.$$.fragment,g),f=Se(g),Zt(p.$$.fragment,g),C=Se(g),Zt(b.$$.fragment,g),k=Se(g),Zt(E.$$.fragment,g),B=Se(g),Zt(G.$$.fragment,g),D=Se(g),Zt(_.$$.fragment,g),O=Se(g),j=J(g,"HR",{class:!0}),U=Se(g),H=J(g,"DIV",{class:!0});var v=$(H);Zt(Z.$$.fragment,v),v.forEach(z),this.h()},h(){V(j,"class","border-gray-100 dark:border-gray-850 my-0.5"),V(H,"class","flex p-1")},m(g,v){Xt(n,g,v),He(g,s,v),Xt(o,g,v),He(g,f,v),Xt(p,g,v),He(g,C,v),Xt(b,g,v),He(g,k,v),Xt(E,g,v),He(g,B,v),Xt(G,g,v),He(g,D,v),Xt(_,g,v),He(g,O,v),He(g,j,v),He(g,U,v),He(g,H,v),Xt(Z,H,null),X=!0},p(g,v){const e={};v[0]&768|v[1]&1&&(e.$$scope={dirty:v,ctx:g}),n.$set(e);const d={};v[0]&512|v[1]&1&&(d.$$scope={dirty:v,ctx:g}),o.$set(d);const T={};v[0]&512|v[1]&1&&(T.$$scope={dirty:v,ctx:g}),p.$set(T);const re={};v[0]&512|v[1]&1&&(re.$$scope={dirty:v,ctx:g}),b.$set(re);const N={};v[0]&512|v[1]&1&&(N.$$scope={dirty:v,ctx:g}),E.$set(N);const F={};v[0]&512|v[1]&1&&(F.$$scope={dirty:v,ctx:g}),G.$set(F);const Ce={};v[0]&512|v[1]&1&&(Ce.$$scope={dirty:v,ctx:g}),_.$set(Ce);const he={};v[0]&64&&(he.chatId=g[6]),Z.$set(he)},i(g){X||(at(n.$$.fragment,g),at(o.$$.fragment,g),at(p.$$.fragment,g),at(b.$$.fragment,g),at(E.$$.fragment,g),at(G.$$.fragment,g),at(_.$$.fragment,g),at(Z.$$.fragment,g),X=!0)},o(g){dt(n.$$.fragment,g),dt(o.$$.fragment,g),dt(p.$$.fragment,g),dt(b.$$.fragment,g),dt(E.$$.fragment,g),dt(G.$$.fragment,g),dt(_.$$.fragment,g),dt(Z.$$.fragment,g),X=!1},d(g){g&&(z(s),z(f),z(C),z(k),z(B),z(D),z(O),z(j),z(U),z(H)),qt(n,g),qt(o,g),qt(p,g),qt(b,g),qt(E,g),qt(G,g),qt(_,g),qt(Z)}}}function y5(c){let n,s,o;return s=new dm({props:{class:"w-full max-w-[200px] rounded-xl px-1 py-1.5 z-50 bg-white dark:bg-gray-850 dar
1k:text-white shadow-lg",sideOffset:-2,side:"bottom",align:"start",transition:rd,$$slots:{default:[v5]},$$scope:{ctx:c}}}),{c(){n=q("div"),Kt(s.$$.fragment),this.h()},l(f){n=J(f,"DIV",{slot:!0});var p=$(n);Zt(s.$$.fragment,p),p.forEach(z),this.h()},h(){V(n,"slot","content")},m(f,p){He(f,n,p),Xt(s,n,null),o=!0},p(f,p){const C={};p[0]&1023|p[1]&1&&(C.$$scope={dirty:p,ctx:f}),s.$set(C)},i(f){o||(at(s.$$.fragment,f),o=!0)},o(f){dt(s.$$.fragment,f),o=!1},d(f){f&&z(n),qt(s)}}}function E5(c){let n,s,o;function f(C){c[29](C)}let p={$$slots:{content:[y5],default:[o5]},$$scope:{ctx:c}};return c[7]!==void 0&&(p.show=c[7]),n=new fm({props:p}),Br.push(()=>As(n,"show",f)),n.$on("change",c[30]),{c(){Kt(n.$$.fragment)},l(C){Zt(n.$$.fragment,C)},m(C,b){Xt(n,C,b),o=!0},p(C,b){const k={};b[0]&1023|b[1]&1&&(k.$$scope={dirty:b,ctx:C}),!s&&b[0]&128&&(s=!0,k.show=C[7],ts(()=>s=!1)),n.$set(k)},i(C){o||(at(n.$$.fragment,C),o=!0)},o(C){dt(n.$$.fragment,C),o=!1},d(C){qt(n,C)}}}function B5(c,n,s){let o,f;jA(c,nm,pe=>s(32,o=pe));let{$$slots:p={},$$scope:C}=n;const{saveAs:b}=Ju,k=Wn(),E=Aa("i18n");jA(c,E,pe=>s(9,f=pe));let{shareHandler:B}=n,{cloneChatHandler:G}=n,{archiveChatHandler:D}=n,{renameHandler:_}=n,{deleteHandler:O}=n,{onClose:j}=n,{chatId:U=""}=n,H=!1,Z=!1;const X=async()=>{await Zf(localStorage.token,U),k("change")},g=async()=>{s(8,Z=await O8(localStorage.token,U))},v=async pe=>{const it=pe.chat.history;return w8(it,it.currentId).reduce((pt,ct,Re,tt)=>`${pt}### ${ct.role.toUpperCase()}
2${ct.content}
3
4`,"").trim()},e=async()=>{const pe=await yl(localStorage.token,U);if(!pe)return;const it=await v(pe);let We=new Blob([it],{type:"text/plain"});b(We,`chat-${pe.chat.title}.txt`)},d=async()=>{const pe=await yl(localStorage.token,U),it=document.getElementById("messages-container");if(it)try{const We=o.includes("dark"),ot=1024,pt=1400,ct=it.cloneNode(!0);ct.style.width=`${ot}px`,ct.style.height="auto",document.body.appendChild(ct);const Re=await rC(ct,{backgroundColor:We?"#000":"#fff",useCORS:!0,scale:2,width:ot,windowWidth:ot,windowHeight:pt});document.body.removeChild(ct);const tt=Re.toDataURL("image/png"),It=new sC("p","mm","a4"),wt=210,ze=297,At=Re.height*wt/Re.width;let Bt=At,Ft=0;for(We&&(It.setFillColor(0,0,0),It.rect(0,0,wt,ze,"F")),It.addImage(tt,"PNG",0,Ft,wt,At),Bt-=ze;Bt>0;)Ft-=ze,It.addPage(),We&&(It.setFillColor(0,0,0),It.rect(0,0,wt,ze,"F")),It.addImage(tt,"PNG",0,Ft,wt,At),Bt-=ze;It.save(`chat-${pe.chat.title}.pdf`)}catch(We){console.error("Error generating PDF",We)}},T=async()=>{const pe=await yl(localStorage.token,U);if(pe){let it=new Blob([JSON.stringify([pe])],{type:"application/json"});b(it,`chat-export-${Date.now()}.json`)}},re=()=>{X()},N=()=>{_()},F=()=>{G()},Ce=()=>{D()},he=()=>{B()},ce=()=>{T()},ge=()=>{e()},Me=()=>{d()},Ue=()=>{O()},Ne=pe=>{k("tag",{type:"add",name:pe.detail.name}),s(7,H=!1)},de=pe=>{k("tag",{type:"delete",name:pe.detail.name}),s(7,H=!1)},me=()=>{s(7,H=!1),j()};function we(pe){H=pe,s(7,H)}const _e=pe=>{pe.detail===!1&&j()};return c.$$set=pe=>{"shareHandler"in pe&&s(0,B=pe.shareHandler),"cloneChatHandler"in pe&&s(1,G=pe.cloneChatHandler),"archiveChatHandler"in pe&&s(2,D=pe.archiveChatHandler),"renameHandler"in pe&&s(3,_=pe.renameHandler),"deleteHandler"in pe&&s(4,O=pe.deleteHandler),"onClose"in pe&&s(5,j=pe.onClose),"chatId"in pe&&s(6,U=pe.chatId),"$$scope"in pe&&s(31,C=pe.$$scope)},c.$$.update=()=>{c.$$.dirty[0]&128&&H&&g()},[B,G,D,_,O,j,U,H,Z,f,k,E,X,e,d,T,p,re,N,F,Ce,he,ce,ge,Me,Ue,Ne,de,me,we,_e,C]}class x5 extends vs{constructor(n){super(),ys(this,n,B5,E5,ks,{shareHandler:0,cloneChatHandler:1,archiveChatHandler:2,renameHandler:3,deleteHandler:4,onClose:5,chatId:6},null,[-1,-1])}}function M5(c){let n,s,o;const f=c[4].default,p=Q2(f,c,c[3],null);return{c(){n=q("div"),s=q("div"),p&&p.c(),this.h()},l(C){n=J(C,"DIV",{class:!0});var b=$(n);s=J(b,"DIV",{class:!0,style:!0});var k=$(s);p&&p.l(k),k.forEach(z),b.forEach(z),this.h()},h(){V(s,"class","absolute text-white z-99999"),Ma(s,"top",c[1]+10+"px"),Ma(s,"left",c[0]+10+"px"),V(n,"class","fixed top-0 left-0 w-screen h-[100dvh] z-50 touch-none pointer-events-none")}
4,m(C,b){He(C,n,b),Q(n,s),p&&p.m(s,null),c[5](n),o=!0},p(C,[b]){p&&p.p&&(!o||b&8)&&P2(p,f,C,C[3],o?N2(f,C[3],b,null):S2(C[3]),null),(!o||b&2)&&Ma(s,"top",C[1]+10+"px"),(!o||b&1)&&Ma(s,"left",C[0]+10+"px")},i(C){o||(at(p,C),o=!0)},o(C){dt(p,C),o=!1},d(C){C&&z(n),p&&p.d(C),c[5](null)}}}function D5(c,n,s){let{$$slots:o={},$$scope:f}=n,{x:p}=n,{y:C}=n,b=null;Kn(()=>{document.body.appendChild(b),document.body.style.overflow="hidden"}),z2(()=>{document.body.removeChild(b),document.body.style.overflow="unset"});function k(E){Br[E?"unshift":"push"](()=>{b=E,s(2,b)})}return c.$$set=E=>{"x"in E&&s(0,p=E.x),"y"in E&&s(1,C=E.y),"$$scope"in E&&s(3,f=E.$$scope)},[p,C,b,f,o,k]}class Bm extends vs{constructor(n){super(),ys(this,n,D5,M5,ks,{x:0,y:1})}}function G5(c){let n,s;return{c(){n=ka("svg"),s=ka("path"),this.h()},l(o){n=va(o,"svg",{xmlns:!0,fill:!0,viewBox:!0,"stroke-width":!0,stroke:!0,class:!0});var f=$(n);s=va(f,"path",{"stroke-linecap":!0,"stroke-linejoin":!0,d:!0}),$(s).forEach(z),f.forEach(z),this.h()},h(){V(s,"stroke-linecap","round"),V(s,"stroke-linejoin","round"),V(s,"d","M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m2.25 0H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Z"),V(n,"xmlns","http://www.w3.org/2000/svg"),V(n,"fill","none"),V(n,"viewBox","0 0 24 24"),V(n,"stroke-width",c[1]),V(n,"stroke","currentColor"),V(n,"class",c[0])},m(o,f){He(o,n,f),Q(n,s)},p(o,[f]){f&2&&V(n,"stroke-width",o[1]),f&1&&V(n,"class",o[0])},i:qA,o:qA,d(o){o&&z(n)}}}function _5(c,n,s){let{className:o="size-4"}=n,{strokeWidth:f="1.5"}=n;return c.$$set=p=>{"className"in p&&s(0,o=p.className),"strokeWidth"in p&&s(1,f=p.strokeWidth)},[o,f]}class T5 extends vs{constructor(n){super(),ys(this,n,_5,G5,ks,{className:0,strokeWidth:1})}}function Q5(c){let n,s=c[16].t("This will delete")+"",o,f,p,C,b;return{c(){n=q("div"),o=Xe(s),f=Pe(),p=q("span"),C=Xe(c[2]),b=Xe("."),this.h()},l(k){n=J(k,"DIV",{class:!0});var E=$(n);o=qe(E,s),f=Se(E),p=J(E,"SPAN",{class:!0});var B=$(p);C=qe(B,c[2]),B.forEach(z),b=qe(E,"."),E.forEach(z),this.h()},h(){V(p,"class","font-semibold"),V(n,"class","text-sm text-gray-500 flex-1 line-clamp-3")},m(k,E){He(k,n,E),Q(n,o),Q(n,f),Q(n,p),Q(p,C),Q(n,b)},p(k,E){E[0]&65536&&s!==(s=k[16].t("This will delete")+"")&&st(o,s),E[0]&4&&st(C,k[2])},d(k){k&&z(n)}}}function th(c){let n,s;return n=new Bm({props:{x:c[12],y:c[13],$$slots:{default:[P5]},$$scope:{ctx:c}}}),{c(){Kt(n.$$.fragment)},l(o){Zt(n.$$.fragment,o)},m(o,f){Xt(n,o,f),s=!0},p(o,f){const p={};f[0]&4096&&(p.x=o[12]),f[0]&8192&&(p.y=o[13]),f[0]&4|f[1]&134217728&&(p.$$scope={dirty:f,ctx:o}),n.$set(p)},i(o){s||(at(n.$$.fragment,o),s=!0)},o(o){dt(n.$$.fragment,o),s=!1},d(o){qt(n,o)}}}function P5(c){let n,s,o,f,p,C,b;return o=new T5({props:{className:" size-[18px]",strokeWidth:"2"}}),{c(){n=q("div"),s=q("div"),Kt(o.$$.fragment),f=Pe(),p=q("div"),C=Xe(c[2]),this.h()},l(k){n=J(k,"DIV",{class:!0});var E=$(n);s=J(E,"DIV",{class:!0});var B=$(s);Zt(o.$$.fragment,B),f=Se(B),p=J(B,"DIV",{class:!0});var G=$(p);C=qe(G,c[2]),G.forEach(z),B.forEach(z),E.forEach(z),this.h()},h(){V(p,"class","text-xs text-white line-clamp-1"),V(s,"class","flex items-center gap-1"),V(n,"class","bg-black/80 backdrop-blur-2xl px-2 py-1 rounded-lg w-fit max-w-40")},m(k,E){He(k,n,E),Q(n,s),Xt(o,s,null),Q(s,f),Q(s,p),Q(p,C),b=!0},p(k,E){(!b||E[0]&4)&&st(C,k[2])},i(k){b||(at(o.$$.fragment,k),b=!0)},o(k){dt(o.$$.fragment,k),b=!1},d(k){k&&z(n),qt(o)}}}function S5(c){let n,s,o,f,p,C,b,k;return{c(){n=q("a"),s=q("div"),o=q("div"),f=Xe(c[2]),this.h()},l(E){n=J(E,"A",{class:!0,href:!0,draggable:!0});var B=$(n);s=J(B,"DIV",{class:!0});var G=$(s);o=J(G,"DIV",{dir:!0,class:!0});var D=$(o);f=qe(D,c[2]),D.forEach(z),G.forEach(z),B.forEach(z),this.h()},h(){V(o,"dir","auto"),V(o,"class","text-left self-center overflow-hidden w-full h-[20px]"),V(s,"class","flex self-center flex-1 w-full"),V(n,"class",p="w-full flex justify-between rounded-lg px-[11px] py-[6px] "+(c[1]===c[15]||c[8]?"bg-gray-200 dark:bg-gray-900":c[3]?"bg-gray-100 dark:bg-gray-950":" group-hover:bg-gray-100 dark:group-hover:bg-gray-950")+" whitespace-nowrap text-ellipsis"),V(n,"href",C="/c/"+c[1]),V(n,"draggable","false")},m(E,B){He(E,n,B),Q(n,s),Q(s,o),Q(o,f),b||(k=[Pt(n,"click",c[30]),Pt(n,"dblclick",c[31]),Pt(n,"mouseenter",c[32]),Pt(n,"mouseleave",c[33]),Pt(n,"focu
4s",W5)],b=!0)},p(E,B){B[0]&4&&st(f,E[2]),B[0]&33034&&p!==(p="w-full flex justify-between rounded-lg px-[11px] py-[6px] "+(E[1]===E[15]||E[8]?"bg-gray-200 dark:bg-gray-900":E[3]?"bg-gray-100 dark:bg-gray-950":" group-hover:bg-gray-100 dark:group-hover:bg-gray-950")+" whitespace-nowrap text-ellipsis")&&V(n,"class",p),B[0]&2&&C!==(C="/c/"+E[1])&&V(n,"href",C)},d(E){E&&z(n),b=!1,Gs(k)}}}function N5(c){let n,s,o,f,p,C;return{c(){n=q("div"),s=q("input"),this.h()},l(b){n=J(b,"DIV",{class:!0});var k=$(n);s=J(k,"INPUT",{id:!0,class:!0}),k.forEach(z),this.h()},h(){V(s,"id",o="chat-title-input-"+c[1]),V(s,"class","bg-transparent w-full outline-hidden mr-10"),V(n,"class",f="w-full flex justify-between rounded-lg px-[11px] py-[6px] "+(c[1]===c[15]||c[8]?"bg-gray-200 dark:bg-gray-900":c[3]?"bg-gray-100 dark:bg-gray-950":"group-hover:bg-gray-100 dark:group-hover:bg-gray-950")+" whitespace-nowrap text-ellipsis")},m(b,k){He(b,n,k),Q(n,s),cr(s,c[9]),p||(C=[h8(c[24].call(null,s)),Pt(s,"input",c[29]),Pt(s,"keydown",c[25])],p=!0)},p(b,k){k[0]&2&&o!==(o="chat-title-input-"+b[1])&&V(s,"id",o),k[0]&512&&s.value!==b[9]&&cr(s,b[9]),k[0]&33034&&f!==(f="w-full flex justify-between rounded-lg px-[11px] py-[6px] "+(b[1]===b[15]||b[8]?"bg-gray-200 dark:bg-gray-900":b[3]?"bg-gray-100 dark:bg-gray-950":"group-hover:bg-gray-100 dark:group-hover:bg-gray-950")+" whitespace-nowrap text-ellipsis")&&V(n,"class",f)},d(b){b&&z(n),p=!1,Gs(C)}}}function z5(c){let n,s,o,f;s=new x5({props:{chatId:c[1],cloneChatHandler:c[39],shareHandler:c[40],archiveChatHandler:c[41],renameHandler:c[42],deleteHandler:c[43],onClose:c[44],$$slots:{default:[L5]},$$scope:{ctx:c}}}),s.$on("change",c[45]),s.$on("tag",c[46]);let p=c[1]===c[15]&&Ah(c);return{c(){n=q("div"),Kt(s.$$.fragment),o=Pe(),p&&p.c(),this.h()},l(C){n=J(C,"DIV",{class:!0});var b=$(n);Zt(s.$$.fragment,b),o=Se(b),p&&p.l(b),b.forEach(z),this.h()},h(){V(n,"class","flex self-center space-x-1 z-10")},m(C,b){He(C,n,b),Xt(s,n,null),Q(n,o),p&&p.m(n,null),f=!0},p(C,b){const k={};b[0]&2&&(k.chatId=C[1]),b[0]&2&&(k.cloneChatHandler=C[39]),b[0]&128&&(k.shareHandler=C[40]),b[0]&2&&(k.archiveChatHandler=C[41]),b[0]&774&&(k.renameHandler=C[42]),b[0]&16384&&(k.deleteHandler=C[43]),b[1]&134217728&&(k.$$scope={dirty:b,ctx:C}),s.$set(k),C[1]===C[15]?p?p.p(C,b):(p=Ah(C),p.c(),p.m(n,null)):p&&(p.d(1),p=null)},i(C){f||(at(s.$$.fragment,C),f=!0)},o(C){dt(s.$$.fragment,C),f=!1},d(C){C&&z(n),qt(s),p&&p.d()}}}function F5(c){let n,s,o,f,p;return s=new jn({props:{content:c[16].t("Archive"),className:"flex items-center",$$slots:{default:[V5]},$$scope:{ctx:c}}}),f=new jn({props:{content:c[16].t("Delete"),$$slots:{default:[H5]},$$scope:{ctx:c}}}),{c(){n=q("div"),Kt(s.$$.fragment),o=Pe(),Kt(f.$$.fragment),this.h()},l(C){n=J(C,"DIV",{class:!0});var b=$(n);Zt(s.$$.fragment,b),o=Se(b),Zt(f.$$.fragment,b),b.forEach(z),this.h()},h(){V(n,"class","flex items-center self-center space-x-1.5")},m(C,b){He(C,n,b),Xt(s,n,null),Q(n,o),Xt(f,n,null),p=!0},p(C,b){const k={};b[0]&65536&&(k.content=C[16].t("Archive")),b[0]&2|b[1]&134217728&&(k.$$scope={dirty:b,ctx:C}),s.$set(k);const E={};b[0]&65536&&(E.content=C[16].t("Delete")),b[0]&2|b[1]&134217728&&(E.$$scope={dirty:b,ctx:C}),f.$set(E)},i(C){p||(at(s.$$.fragment,C),at(f.$$.fragment,C),p=!0)},o(C){dt(s.$$.fragment,C),dt(f.$$.fragment,C),p=!1},d(C){C&&z(n),qt(s),qt(f)}}}function O5(c){let n,s,o,f,p;return s=new jn({props:{content:c[16].t("Confirm"),$$slots:{default:[Y5]},$$scope:{ctx:c}}}),f=new jn({props:{content:c[16].t("Cancel"),$$slots:{default:[R5]},$$scope:{ctx:c}}}),{c(){n=q("div"),Kt(s.$$.fragment),o=Pe(),Kt(f.$$.fragment),this.h()},l(C){n=J(C,"DIV",{class:!0});var b=$(n);Zt(s.$$.fragment,b),o=Se(b),Zt(f.$$.fragment,b),b.forEach(z),this.h()},h(){V(n,"class","flex self-center items-center space-x-1.5 z-10 translate-y-[0.5px] -translate-x-[0.5px]")},m(C,b){He(C,n,b),Xt(s,n,null),Q(n,o),Xt(f,n,null),p=!0},p(C,b){const k={};b[0]&65536&&(k.content=C[16].t("Confirm")),b[0]&770|b[1]&134217728&&(k.$$scope={dirty:b,ctx:C}),s.$set(k);const E={};b[0]&65536&&(E.content=C[16].t("Cancel")),b[0]&768|b[1]&134217728&&(E.$$scope={dirty:b,ctx:C}),f.$set(E)},i(C){p||(at(s.$$.fragment,C),at(f.$$.fragment,C),p=!0)},o(C){dt(s.$$.fragment,C),dt(f.$$.fragment,C),p=!1},d(C){C&&z(n),qt(s),qt(f)}}}function L5(c){let n,s='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" class="w-4 h-4"><path d="M2 8a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM6.5 8a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM12.5 6.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z"></path></svg>',o,f;return{c(){n=q("button"),n.innerHTML=s,this.h()},l(p){n=J(p,"BUTTON",{"aria-label":!0,class:!0,"data-svelte-h":!0}),hr(n)!=="svelte-1nmly1h"&&(n.innerHTML=s),this.h()},h(){V(n,"aria-label","Chat Menu"),V(n,"class","self-center dark:hover:text-white transition")},m(p,C){He(p,n,C),o||(f=Pt(n,"click",c[38]),o=!0)},p:qA,d(p){p&&z(n),o=!1,f()}}}function Ah(c){let n,s='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" class="w-4 h-4"><path d="M2 8a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM6.5 8a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM12.5 6.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z"></path></svg>',o,f;return{c(){n=q("button"),n.innerHTML=s,this.h()},l(p){n=J(p,"BUTTON",{id:!0,class:!0,"data-svelte-h":!0}),hr(n)!=="svelte-1gozylk"&&(n.innerHTML=s),this.h()},h(){V(n,"id","delete-chat-button"),V(n,"class","hidden")},m(p,C){He(p,n,C),o||(f=Pt(n,"click",c[47]),o=!0)},p:qA,d(p){p&&z(n),o=!1,f()}}}function V5(c){let n,s,o,f,p;return s=new um({props:{className:"size-4  translate-y-[0.5px]",strokeWidth:"2"}}),{c(){n=q("button"),Kt(s.$$.fragment),this.h()},l(C){n=J(C,"BUTTON",{class:!0,type:!0});var b=$(n);Zt(s.$$.fragment,b),b.forEach(z),this.h()},h(){V(n,"class","self-center dark:hover:text-white transition"),V(n,"type","button")},m(C,b){He(C,n,b),Xt(s,n,null),o=!0,f||(p=Pt(n,"click",c[36]),f=!0)},p:qA,i(C){o||(at(s.$$.fragment,C),o=!0)},o(C){dt(s.$$.fragment,C),o=!1},d(C){C&&z(n),qt(s),f=!1,p()}}}function H5(c){let n,s,o,f,p;return s=new sd({props:{strokeWidth:"2"}}),{c(){n=q("button"),Kt(s.$$.fragment),this.h()},l(C){n=J(C,"BUTTON",{class:!0,type:!0});var b=$(n);Zt(s.$$.fragment,b),b.forEach(z),this.h()},h(){V(n,"class","self-center dark:hover:text-white transition"),V(n,"type","button")},m(C,b){He(C,n,b),Xt(s,n,null),o=!0,f||(p=Pt(n,"click",c[37]),f=!0)},p:qA,i(C){o||(at(s.$$.fragment,C),o=!0)},o(C){dt(s.$$.fragment,C),o=!1},d(C){C&&z(n),qt(s),f=!1,p()}}}function Y5(c){let n,s,o,f,p;return s=new iC({props:{className:" size-3.5",strokeWidth:"2.5"}}),{c(){n=q("button"),Kt(s.$$.fragment),this.h()},l(C){n=J(C,"BUTTON",{class:!0});var b=$(n);Zt(s.$$.fragment,b),b.forEach(z),this.h()},h(){V(n,"class","self-center dark:hover:text-white transition")},m(C,b){He(C,n,b),Xt(s,n,null),o=!0,f||(p=Pt(n,"click",c[34]),f=!0)},p:qA,i(C){o||(at(s.$$.fragment,C),o=!0)},o(C){dt(s.$$.fragment,C),o=!1},d(C){C&&z(n),qt(s),f=!1,p()}}}function R5(c){let n,s,o,f,p;return s=new ad({props:{strokeWidth:"2.5"}}),{c(){n=q("button"),Kt(s.$$.fragment),this.h()},l(C){n=J(C,"BUTTON",{class:!0});var b=$(n);Zt(s.$$.fragment,b),b.forEach(z),this.h()},h(){V(n,"class","self-center dark:hover:text-white transition")},m(C,b){He(C,n,b),Xt(s,n,null),o=!0,f||(p=Pt(n,"click",c[35]),f=!0)},p:qA,i(C){o||(at(s.$$.fragment,C),o=!0)},o(C){dt(s.$$.fragment,C),o=!1},d(C){C&&z(n),qt(s),f=!1,p()}}}function j5(c){let n,s,o,f,p,C,b,k,E,B,G,D,_,O,j,U,H,Z;function X(ce){c[26](ce)}let g={chatId:c[1]};c[7]!==void 0&&(g.show=c[7]),n=new q8({props:g}),Br.push(()=>As(n,"show",X));function v(ce){c[27](ce)}let e={title:c[16].t("Delete chat?"),$$slots:{default:[Q5]},$$scope:{ctx:c}};c[14]!==void 0&&(e.show=c[14]),f=new O2({props:e}),Br.push(()=>As(f,"show",v)),f.$on("confirm",c[28]);let d=c[11]&&c[12]&&c[13]&&th(c);function T(ce,ge){return ce[8]?N5:S5}let re=T(c),N=re(c);const F=[O5,F5,z5],Ce=[];
4function he(ce,ge){return ce[8]?0:ce[4]&&ce[5]?1:2}return G=he(c),D=Ce[G]=F[G](c),{c(){Kt(n.$$.fragment),o=Pe(),Kt(f.$$.fragment),C=Pe(),d&&d.c(),b=Pe(),k=q("div"),N.c(),E=Pe(),B=q("div"),D.c(),this.h()},l(ce){Zt(n.$$.fragment,ce),o=Se(ce),Zt(f.$$.fragment,ce),C=Se(ce),d&&d.l(ce),b=Se(ce),k=J(ce,"DIV",{class:!0,draggable:!0});var ge=$(k);N.l(ge),E=Se(ge),B=J(ge,"DIV",{class:!0});var Me=$(B);D.l(Me),Me.forEach(z),ge.forEach(z),this.h()},h(){V(B,"class",_=(c[1]===c[15]||c[8]?"from-gray-200 dark:from-gray-900":c[3]?"from-gray-100 dark:from-gray-950":"invisible group-hover:visible from-gray-100 dark:from-gray-950")+" absolute "+(c[0]==="pr-2"?"right-[8px]":"right-0")+" top-[4px] py-1 pr-0.5 mr-1.5 pl-5 bg-linear-to-l from-80% to-transparent"),V(k,"class",O="w-full "+c[0]+" relative group"),V(k,"draggable",j=c[6]&&!c[8])},m(ce,ge){Xt(n,ce,ge),He(ce,o,ge),Xt(f,ce,ge),He(ce,C,ge),d&&d.m(ce,ge),He(ce,b,ge),He(ce,k,ge),N.m(k,null),Q(k,E),Q(k,B),Ce[G].m(B,null),c[50](k),U=!0,H||(Z=[Pt(B,"mouseenter",c[48]),Pt(B,"mouseleave",c[49])],H=!0)},p(ce,ge){const Me={};ge[0]&2&&(Me.chatId=ce[1]),!s&&ge[0]&128&&(s=!0,Me.show=ce[7],ts(()=>s=!1)),n.$set(Me);const Ue={};ge[0]&65536&&(Ue.title=ce[16].t("Delete chat?")),ge[0]&65540|ge[1]&134217728&&(Ue.$$scope={dirty:ge,ctx:ce}),!p&&ge[0]&16384&&(p=!0,Ue.show=ce[14],ts(()=>p=!1)),f.$set(Ue),ce[11]&&ce[12]&&ce[13]?d?(d.p(ce,ge),ge[0]&14336&&at(d,1)):(d=th(ce),d.c(),at(d,1),d.m(b.parentNode,b)):d&&(zr(),dt(d,1,1,()=>{d=null}),Fr()),re===(re=T(ce))&&N?N.p(ce,ge):(N.d(1),N=re(ce),N&&(N.c(),N.m(k,E)));let Ne=G;G=he(ce),G===Ne?Ce[G].p(ce,ge):(zr(),dt(Ce[Ne],1,1,()=>{Ce[Ne]=null}),Fr(),D=Ce[G],D?D.p(ce,ge):(D=Ce[G]=F[G](ce),D.c()),at(D,1),D.m(B,null)),(!U||ge[0]&33035&&_!==(_=(ce[1]===ce[15]||ce[8]?"from-gray-200 dark:from-gray-900":ce[3]?"from-gray-100 dark:from-gray-950":"invisible group-hover:visible from-gray-100 dark:from-gray-950")+" absolute "+(ce[0]==="pr-2"?"right-[8px]":"right-0")+" top-[4px] py-1 pr-0.5 mr-1.5 pl-5 bg-linear-to-l from-80% to-transparent"))&&V(B,"class",_),(!U||ge[0]&1&&O!==(O="w-full "+ce[0]+" relative group"))&&V(k,"class",O),(!U||ge[0]&320&&j!==(j=ce[6]&&!ce[8]))&&V(k,"draggable",j)},i(ce){U||(at(n.$$.fragment,ce),at(f.$$.fragment,ce),at(d),at(D),U=!0)},o(ce){dt(n.$$.fragment,ce),dt(f.$$.fragment,ce),dt(d),dt(D),U=!1},d(ce){ce&&(z(o),z(C),z(b),z(k)),qt(n,ce),qt(f,ce),d&&d.d(ce),N.d(),Ce[G].d(),c[50](null),H=!1,Gs(Z)}}}const W5=c=>{};function U5(c,n,s){let o,f,p,C;jA(c,Uf,lt=>s(15,o=lt)),jA(c,Wo,lt=>s(53,f=lt)),jA(c,U1,lt=>s(17,C=lt));const b=Aa("i18n");jA(c,b,lt=>s(16,p=lt));const k=Wn();let{className:E=""}=n,{id:B}=n,{title:G}=n,{selected:D=!1}=n,{shiftKey:_=!1}=n,O=null,j=!1,U=!1;const H=async()=>{O||(s(6,U=!1),O=await yl(localStorage.token,B),s(6,U=!0))};let Z=!1,X=!1,g=G;const v=async(lt,xt)=>{xt===""?gr.error(p.t("Title cannot be an empty string.")):(await L8(localStorage.token,lt,{title:xt}),lt===o&&Q8.set(xt),Wo.set(1),await Ro.set(await Al(localStorage.token,f)),await K1.set(await Xf(localStorage.token)))},e=async lt=>{const xt=await V8(localStorage.token,lt,p.t("Clone of {{TITLE}}",{TITLE:G})).catch(jt=>(gr.error(`${jt}`),null));xt&&(V0(`/c/${xt.id}`),Wo.set(1),await Ro.set(await Al(localStorage.token,f)),await K1.set(await Xf(localStorage.token)))},d=async lt=>{await cm(localStorage.token,lt).catch(jt=>(gr.error(`${jt}`),null))&&(qu.set(await Z1(localStorage.token)),o===lt&&(await V0("/"),await Uf.set(""),await F0()),k("change"))},T=async lt=>{await Kf(localStorage.token,lt),k("change")},re=async lt=>{lt.focus()};let N,F=!1,Ce=0,he=0;const ce=new Image;ce.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=";const ge=lt=>{lt.stopPropagation(),lt.dataTransfer.setDragImage(ce,0,0),lt.dataTransfer.setData("text/plain",JSON.stringify({type:"chat",id:B,item:O})),s(11,F=!0),s(10,N.style.opacity="0.5",N)},Me=lt=>{lt.stopPropagation(),s(12,Ce=lt.clientX),s(13,he=lt.clientY)},Ue=lt=>{lt.stopPropagation(),s(10,N.style.opacity="1",N),s(11,F=!1)};Kn(()=>{N&&(N.addEventListener("dragstart",ge),N.addEventListener("drag",Me),N.addEventListener("dragend",Ue))}),z2(()=>{N&&(N.removeEventListener("dragstart",ge),N.removeEventListener("drag",Me),N.removeEventListener("dragend",Ue))});let Ne=!1;const de=lt=>{lt.key==="Enter"?(lt.preventDefault(),v(B,g),s(8,X=!1),s(9,g="")):lt.key==="Escape"&&(lt.preventDefault(),s(8,X=!1),s(9,g=""))};function me(lt){Z=lt,s(7,Z)}function we(lt){Ne=lt,s(14,Ne)}const _e=()=>{d(B)};function pe(){g=this.value,s(9,g)}const it=()=>{k("select"),C&&xo.set(!1)},We=()=>{s(9,g=G),s(8,X=!0)},ot=lt=>{s(5,j=!0)},pt=lt=>{s(5,j=!1)},ct=()=>{v(B,g),s(8,X=!1),s(9,g="")},Re=()=>{s(8,X=!1),s(9,g="")},tt=()=>{T(B)},It=()=>{d(B)},wt=()=>{k("select")},ze=()=>{e(B)},At=()=>{s(7,Z=!0)},Bt=()=>{T(B)},Ft=async()=>{s(9,g=G),s(8,X=!0),await F0();const lt=document.getElementById(`chat-title-input-${B}`);lt&&lt.focus()},St=()=>{s(14,Ne=!0)},oe=()=>{k("unselect")},zt=async()=>{k("change")},Ie=lt=>{k("tag",lt.detail)},fe=()=>{s(14,Ne=!0)},Qe=lt=>{s(5,j=!0)},Je=lt=>{s(5,j=!1)};function rt(lt){Br[lt?"unshift":"push"](()=>{N=lt,s(10,N)})}return c.$$set=lt=>{"className"in lt&&s(0,E=lt.className),"id"in lt&&s(1,B=lt.id),"title"in lt&&s(2,G=lt.title),"selected"in lt&&s(3,D=lt.selected),"shiftKey"in lt&&s(4,_=lt.shiftKey)},c.$$.update=()=>{c.$$.dirty[0]&32&&j&&H()},[E,B,G,D,_,j,U,Z,X,g,N,F,Ce,he,Ne,o,p,C,b,k,v,e,d,T,re,de,me,we,_e,pe,it,We,ot,pt,ct,Re,tt,It,wt,ze,At,Bt,Ft,St,oe,zt,Ie,fe,Qe,Je,rt]}
4class id extends vs{constructor(n){super(),ys(this,n,U5,j5,ks,{className:0,id:1,title:2,selected:3,shiftKey:4},null,[-1,-1])}}function rh(c,n,s){const o=c.slice();return o[28]=n[s],o[30]=s,o}function sh(c,n,s){const o=c.slice();return o[25]=n[s],o[27]=s,o}function ah(c){let n,s,o,f,p,C;return o=new ad({props:{className:"size-3",strokeWidth:"2"}}),{c(){n=q("div"),s=q("button"),Kt(o.$$.fragment),this.h()},l(b){n=J(b,"DIV",{class:!0});var k=$(n);s=J(k,"BUTTON",{class:!0});var E=$(s);Zt(o.$$.fragment,E),E.forEach(z),k.forEach(z),this.h()},h(){V(s,"class","p-0.5 rounded-full hover:bg-gray-100 dark:hover:bg-gray-900 transition"),V(n,"class","self-center pr-2 pl-1.5 translate-y-[0.5px] rounded-l-xl bg-transparent")},m(b,k){He(b,n,k),Q(n,s),Xt(o,s,null),f=!0,p||(C=Pt(s,"click",c[11]),p=!0)},p:qA,i(b){f||(at(o.$$.fragment,b),f=!0)},o(b){dt(o.$$.fragment,b),f=!1},d(b){b&&z(n),qt(o),p=!1,C()}}}function nh(c){let n,s,o,f,p;function C(E,B){if(E[7].length>0)return Z5;if(E[6].length>0)return K5}let b=C(c),k=b&&b(c);return{c(){n=q("div"),s=q("div"),k&&k.c(),this.h()},l(E){n=J(E,"DIV",{class:!0});var B=$(n);s=J(B,"DIV",{class:!0});var G=$(s);k&&k.l(G),G.forEach(z),B.forEach(z),this.h()},h(){V(s,"class","px-2 py-2 text-xs group"),V(n,"class","absolute top-0 mt-8 left-0 right-1 border border-gray-100 dark:border-gray-900 bg-gray-50 dark:bg-gray-950 rounded-lg z-10 shadow-lg")},m(E,B){He(E,n,B),Q(n,s),k&&k.m(s,null),f||(p=[Pt(n,"mouseenter",c[20]),Pt(n,"mouseleave",c[21])],f=!0)},p(E,B){b===(b=C(E))&&k?k.p(E,B):(k&&k.d(1),k=b&&b(E),k&&(k.c(),k.m(s,null)))},i(E){E&&(o||L0(()=>{o=Jp(n,$p,{duration:50}),o.start()}))},o:qA,d(E){E&&z(n),k&&k.d(),f=!1,Gs(p)}}}function K5(c){let n,s=c[3].t("Search options")+"",o,f,p,C=Ur(c[6]),b=[];for(let k=0;k<C.length;k+=1)b[k]=ih(rh(c,C,k));return{c(){n=q("div"),o=Xe(s),f=Pe(),p=q("div");for(let k=0;k<b.length;k+=1)b[k].c();this.h()},l(k){n=J(k,"DIV",{class:!0});var E=$(n);o=qe(E,s),E.forEach(z),f=Se(k),p=J(k,"DIV",{class:!0});var B=$(p);for(let G=0;G<b.length;G+=1)b[G].l(B);B.forEach(z),this.h()},h(){V(n,"class","px-1 font-medium dark:text-gray-300 text-gray-700 mb-1"),V(p,"class","max-h-60 overflow-auto")},m(k,E){He(k,n,E),Q(n,o),He(k,f,E),He(k,p,E);for(let B=0;B<b.length;B+=1)b[B]&&b[B].m(p,null)},p(k,E){if(E&8&&s!==(s=k[3].t("Search options")+"")&&st(o,s),E&337){C=Ur(k[6]);let B;for(B=0;B<C.length;B+=1){const G=rh(k,C,B);b[B]?b[B].p(G,E):(b[B]=ih(G),b[B].c(),b[B].m(p,null))}for(;B<b.length;B+=1)b[B].d(1);b.length=C.length}},d(k){k&&(z(n),z(f),z(p)),Un(b,k)}}}function Z5(c){let n,s="Tags",o,f,p=Ur(c[7]),C=[];for(let b=0;b<p.length;b+=1)C[b]=oh(sh(c,p,b));return{c(){n=q("div"),n.textContent=s,o=Pe(),f=q("div");for(let b=0;b<C.length;b+=1)C[b].c();this.h()},l(b){n=J(b,"DIV",{class:!0,"data-svelte-h":!0}),hr(n)!=="svelte-16um22k"&&(n.textContent=s),o=Se(b),f=J(b,"DIV",{class:!0});var k=$(f);for(let E=0;E<C.length;E+=1)C[E].l(k);
4k.forEach(z),this.h()},h(){V(n,"class","px-1 font-medium dark:text-gray-300 text-gray-700 mb-1"),V(f,"class","max-h-60 overflow-auto")},m(b,k){He(b,n,k),He(b,o,k),He(b,f,k);for(let E=0;E<C.length;E+=1)C[E]&&C[E].m(f,null)},p(b,k){if(k&401){p=Ur(b[7]);let E;for(E=0;E<p.length;E+=1){const B=sh(b,p,E);C[E]?C[E].p(B,k):(C[E]=oh(B),C[E].c(),C[E].m(f,null))}for(;E<C.length;E+=1)C[E].d(1);C.length=p.length}},d(b){b&&(z(n),z(o),z(f)),Un(C,b)}}}function ih(c){let n,s,o=c[28].name+"",f,p,C,b=c[28].description+"",k,E,B,G,D;return{c(){n=q("button"),s=q("div"),f=Xe(o),p=Pe(),C=q("div"),k=Xe(b),E=Pe(),this.h()},l(_){n=J(_,"BUTTON",{class:!0,id:!0});var O=$(n);s=J(O,"DIV",{class:!0});var j=$(s);f=qe(j,o),j.forEach(z),p=Se(O),C=J(O,"DIV",{class:!0});var U=$(C);k=qe(U,b),U.forEach(z),E=Se(O),O.forEach(z),this.h()},h(){V(s,"class","dark:text-gray-300 text-gray-700 font-medium"),V(C,"class","text-gray-500 line-clamp-1"),V(n,"class",B="px-1.5 py-0.5 flex gap-1 hover:bg-gray-100 dark:hover:bg-gray-900 w-full rounded "+(c[4]===c[30]?"bg-gray-100 dark:bg-gray-900":"")),V(n,"id","search-option-"+c[30])},m(_,O){He(_,n,O),Q(n,s),Q(s,f),Q(n,p),Q(n,C),Q(C,k),Q(n,E),G||(D=Pt(n,"click",qp(c[19])),G=!0)},p(_,O){O&64&&o!==(o=_[28].name+"")&&st(f,o),O&64&&b!==(b=_[28].description+"")&&st(k,b),O&16&&B!==(B="px-1.5 py-0.5 flex gap-1 hover:bg-gray-100 dark:hover:bg-gray-900 w-full rounded "+(_[4]===_[30]?"bg-gray-100 dark:bg-gray-900":""))&&V(n,"class",B)},d(_){_&&z(n),G=!1,D()}}}function oh(c){let n,s,o=c[25].name+"",f,p,C,b=c[25].id+"",k,E,B,G,D;function _(){return c[18](c[25])}return{c(){n=q("button"),s=q("div"),f=Xe(o),p=Pe(),C=q("div"),k=Xe(b),E=Pe(),this.h()},l(O){n=J(O,"BUTTON",{class:!0,id:!0});var j=$(n);s=J(j,"DIV",{class:!0});var U=$(s);f=qe(U,o),U.forEach(z),p=Se(j),C=J(j,"DIV",{class:!0});var H=$(C);k=qe(H,b),H.forEach(z),E=Se(j),j.forEach(z),this.h()},h(){V(s,"class","dark:text-gray-300 text-gray-700 font-medium line-clamp-1 shrink-0"),V(C,"class","text-gray-500 line-clamp-1"),V(n,"class",B="px-1.5 py-0.5 flex gap-1 hover:bg-gray-100 dark:hover:bg-gray-900 w-full rounded "+(c[4]===c[27]?"bg-gray-100 dark:bg-gray-900":"")),V(n,"id","search-tag-"+c[27])},m(O,j){He(O,n,j),Q(n,s),Q(s,f),Q(n,p),Q(n,C),Q(C,k),Q(n,E),G||(D=Pt(n,"click",qp(_)),G=!0)},p(O,j){c=O,j&128&&o!==(o=c[25].name+"")&&st(f,o),j&128&&b!==(b=c[25].id+"")&&st(k,b),j&16&&B!==(B="px-1.5 py-0.5 flex gap-1 hover:bg-gray-100 dark:hover:bg-gray-900 w-full rounded "+(c[4]===c[27]?"bg-gray-100 dark:bg-gray-900":""))&&V(n,"class",B)},d(O){O&&z(n),G=!1,D()}}}function X5(c){let n,s,o,f='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-4 h-4"><path fill-rule="evenodd" d="M9 3.5a5.5 5.5 0 100 11 5.5 5.5 0 000-11zM2 9a7 7 0 1112.452 4.391l3.328 3.329a.75.75 0 11-1.06 1.06l-3.329-3.328A7 7 0 012 9z" clip-rule="evenodd"></path></svg>',p,C,b,k,E,B,G,D,_=c[2]&&c[0]&&ah(c),O=c[5]&&(c[6].length>0||c[7].length>0)&&nh(c);return{c(){n=q("div"),s=q("div"),o=q("div"),o.innerHTML=f,p=Pe(),C=q("input"),k=Pe(),_&&_.c(),E=Pe(),O&&O.c(),this.h()},l(j){n=J(j,"DIV",{class:!0,id:!0});var U=$(n);s=J(U,"DIV",{class:!0,id:!0});var H=$(s);o=J(H,"DIV",{class:!0,"data-svelte-h":!0}),hr(o)!=="svelte-1k3m202"&&(o.innerHTML=f),p=Se(H),C=J(H,"INPUT",{class:!0,placeholder:!0}),k=Se(H),_&&_.l(H),H.forEach(z),E=Se(U),O&&O.l(U),U.forEach(z),this.h()},h(){V(o,"class","self-center pl-3 py-2 rounded-l-xl bg-transparent"),V(C,"class","w-full rounded-r-xl py-1.5 pl-2.5 text-sm bg-transparent dark:text-gray-300 outline-hidden"),V(C,"placeholder",b=c[1]?c[1]:c[3].t("Search")),V(s,"class","flex w-full rounded-xl"),V(s,"id","chat-search"),V(n,"class","px-1 mb-1 flex justify-center space-x-2 relative z-10"),V(n,"id","search-container")},m(j,U){He(j,n,U),Q(n,s),Q(s,o),Q(s,p),Q(s,C),cr(C,c[0]),Q(s,k),_&&_.m(s,null),Q(n,E),O&&O.m(n,null),B=!0,G||(D=[Pt(C,"input",c[14]),Pt(C,"input",c[15]),Pt(C,"focus",c[16]),Pt(C,"keydown",c[17])],G=!0)},p(j,[U]){(!B||U&10&&b!==(b=j[1]?j[1]:j[3].t("Search")))&&V(C,"placeholder",b),U&1&&C.value!==j[0]&&cr(C,j[0]),j[2]&&j[0]?_?(_.p(j,U),U&5&&at(_,1)):(_=ah(j),_.c(),at(_,1),_.m(s,null)):_&&(zr(),dt(_,1,1,()=>{_=null}),Fr()),j[5]&&(j[6].length>0||j[7].length>0)?O?(O.p(j,U),U&224&&at(O,1)):(O=nh(j),O.c(),at(O,1),O.m(n,null)):O&&(O.d(1),O=null)},i(j){B||(at(_),at(O),B=!0)},o(j){dt(_),B=!1},d(j){j&&z(n),_&&_.d(),O&&O.d(),G=!1,Gs(D)}}}function q5(c,n,s){let o,f;jA(c,qu,F=>s(13,f=F));const p=Wn(),C=Aa("i18n");jA(c,C,F=>s(3,o=F));let{placeholder:b=""}=n,{value:k=""}=n,{showClearButton:E=!1}=n,B=0,G="",D=[{name:"tag:",description:o.t("search for tags")}],_=!1,O=D,j=[];const U=async()=>{await qu.set(await Z1(localStorage.token))},H=()=>{s(0,k=""),p("input")},Z=F=>{const Ce=document.getElementById("search-container"),he=document.getElementById("chat-search");if(!Ce.contains(F.target)&&!he.contains(F.target)){if(F.target.id.startsWith("search-tag-")||F.target.id.startsWith("search-option-"))return;s(5,_=!1)}};Kn(()=>{document.addEventListener("click",Z)}),z2(()=>{document.removeEventListener("click",Z)});function X(){k=this.value,s(0,k)}const g=()=>{p("input")},v=()=>{s(5,_=!0),U()},e=F=>
4{if(F.key==="Enter"){if(j.length>0){document.getElementById(`search-tag-${B}`).click();return}if(O.length>0){document.getElementById(`search-option-${B}`).click();return}}F.key==="ArrowUp"?(F.preventDefault(),s(4,B=Math.max(0,B-1))):F.key==="ArrowDown"?(F.preventDefault(),j.length>0?s(4,B=Math.min(B+1,j.length-1)):s(4,B=Math.min(B+1,O.length-1))):s(4,B=0)},d=async F=>{const Ce=k.split(" ");Ce.pop(),Ce.push(`tag:${F.id} `),s(0,k=Ce.join(" ")),p("input")},T=async()=>{const F=k.split(" ");F.pop(),F.push("tag:"),s(0,k=F.join(" ")),p("input")},re=()=>{s(4,B=null)},N=()=>{s(4,B=0)};return c.$$set=F=>{"placeholder"in F&&s(1,b=F.placeholder),"value"in F&&s(0,k=F.value),"showClearButton"in F&&s(2,E=F.showClearButton)},c.$$.update=()=>{c.$$.dirty&1&&s(12,G=k&&k.split(" ").at(-1)),c.$$.dirty&4096&&s(6,O=D.filter(F=>F.name.startsWith(G))),c.$$.dirty&12296&&s(7,j=G.startsWith("tag:")?[...f,{id:"none",name:o.t("Untagged")}].filter(F=>{const Ce=G.slice(4);if(Ce){const he=Ce.replace(" ","_").toLowerCase();return F.id!==he?F.id.startsWith(he):!1}else return!0}):[])},[k,b,E,o,B,_,O,j,p,C,U,H,G,f,X,g,v,e,d,T,re,N]}class J5 extends vs{constructor(n){super(),ys(this,n,q5,X5,ks,{placeholder:1,value:0,showClearButton:2})}}function lh(c){let n;return{c(){n=q("div"),this.h()},l(s){n=J(s,"DIV",{class:!0}),$(n).forEach(z),this.h()},h(){V(n,"class","absolute top-0 left-0 w-full h-full rounded-xs bg-gray-100/50 dark:bg-gray-700/20 bg-opacity-50 dark:bg-opacity-10 z-50 pointer-events-none touch-none")},m(s,o){He(s,n,o)},d(s){s&&z(n)}}}function $5(c){let n;const s=c[11].default,o=Q2(s,c,c[16],null);return{c(){o&&o.c()},l(f){o&&o.l(f)},m(f,p){o&&o.m(f,p),n=!0},p(f,p){o&&o.p&&(!n||p&65536)&&P2(o,s,f,f[16],n?N2(s,f[16],p,null):S2(f[16]),null)},i(f){n||(at(o,f),n=!0)},o(f){dt(o,f),n=!1},d(f){o&&o.d(f)}}}function eI(c){let n,s,o;function f(C){c[13](C)}let p={className:"w-full ",buttonClassName:"w-full",$$slots:{content:[aI],default:[sI]},$$scope:{ctx:c}};return c[0]!==void 0&&(p.open=c[0]),n=new mm({props:p}),Br.push(()=>As(n,"open",f)),n.$on("change",c[14]),{c(){Kt(n.$$.fragment)},l(C){Zt(n.$$.fragment,C)},m(C,b){Xt(n,C,b),o=!0},p(C,b){const k={};b&65563&&(k.$$scope={dirty:b,ctx:C}),!s&&b&1&&(s=!0,k.open=C[0],ts(()=>s=!1)),n.$set(k)},i(C){o||(at(n.$$.fragment,C),o=!0)},o(C){dt(n.$$.fragment,C),o=!1},d(C){qt(n,C)}}}function tI(c){let n,s;return n=new pm({props:{className:" size-3",strokeWidth:"2.5"}}),{c(){Kt(n.$$.fragment)},l(o){Zt(n.$$.fragment,o)},m(o,f){Xt(n,o,f),s=!0},i(o){s||(at(n.$$.fragment,o),s=!0)},o(o){dt(n.$$.fragment,o),s=!1},d(o){qt(n,o)}}}function AI(c){let n,s;return n=new hm({props:{className:" size-3",strokeWidth:"2.5"}}),{c(){Kt(n.$$.fragment)},l(o){Zt(n.$$.fragment,o)},m(o,f){Xt(n,o,f),s=!0},i(o){s||(at(n.$$.fragment,o),s=!0)},o(o){dt(n.$$.fragment,o),s=!1},d(o){qt(n,o)}}}function ch(c){let n,s,o,f,p;return s=new jn({props:{content:c[3],$$slots:{default:[rI]},$$scope:{ctx:c}}}),{c(){n=q("button"),Kt(s.$$.fragment),this.h()},l(C){n=J(C,"BUTTON",{class:!0});var b=$(n);Zt(s.$$.fragment,b),b.forEach(z),this.h()},h(){V(n,"class","absolute z-10 right-2 invisible group-hover:visible self-center flex items-center dark:text-gray-300")},m(C,b){He(C,n,b),Xt(s,n,null),o=!0,f||(p=[Pt(n,"pointerup",oI),Pt(n,"click",c[12])],f=!0)},p(C,b){const k={};b&8&&(k.content=C[3]),b&65536&&(k.$$scope={dirty:b,ctx:C}),s.$set(k)},i(C){o||(at(s.$$.fragment,C),o=!0)},o(C){dt(s.$$.fragment,C),o=!1},d(C){C&&z(n),qt(s),f=!1,Gs(p)}}}function rI(c){let n,s,o,f,p;return s=new Af({props:{className:" size-3",strokeWidth:"2.5"}}),{c(){n=q("button"),Kt(s.$$.fragment),this.h()},l(C){n=J(C,"BUTTON",{class:!0});var b=$(n);Zt(s.$$.fragment,b),b.forEach(z),this.h()},h(){V(n,"class","p-0.5 dark:hover:bg-gray-850 rounded-lg touch-auto")},m(C,b){He(C,n,b),Xt(s,n,null),o=!0,f||(p=Pt(n,"click",iI),f=!0)},p:qA,i(C){o||(at(s.$$.fragment,C),o=!0)},o(C){dt(s.$$.fragment,C),o=!1},d(C){C&&z(n),qt(s),f=!1,p()}}}function sI(c){let n,s,o,f,p,C,b,k,E,B;const G=[AI,tI],D=[];function _(j,U){return j[0]?0:1}f=_(c),p=D[f]=G[f](c);let O=c[4]&&ch(c);return{c(){n=q("div"),s=q("button"),o=q("div"),p.c(),C=Pe(),b=q("div"),k=Xe(c[1]),E=Pe(),O&&O.c(),this.h()},l(j){n=J(j,"DIV",{class:!0});var U=$(n);s=J(U,"BUTTON",{class:!0});var H=$(s);o=J(H,"DIV",{class:!0});var Z=$(o);p.l(Z),Z.forEach(z),C=Se(H),b=J(H,"DIV",{class:!0});var X=$(b);
4k=qe(X,c[1]),X.forEach(z),H.forEach(z),E=Se(U),O&&O.l(U),U.forEach(z),this.h()},h(){V(o,"class","text-gray-300 dark:text-gray-600"),V(b,"class","translate-y-[0.5px]"),V(s,"class","w-full py-1.5 pl-2 flex items-center gap-1.5 text-xs font-medium"),V(n,"class","w-full group rounded-md relative flex items-center justify-between hover:bg-gray-100 dark:hover:bg-gray-900 text-gray-500 dark:text-gray-500 transition")},m(j,U){He(j,n,U),Q(n,s),Q(s,o),D[f].m(o,null),Q(s,C),Q(s,b),Q(b,k),Q(n,E),O&&O.m(n,null),B=!0},p(j,U){let H=f;f=_(j),f!==H&&(zr(),dt(D[H],1,1,()=>{D[H]=null}),Fr(),p=D[f],p||(p=D[f]=G[f](j),p.c()),at(p,1),p.m(o,null)),(!B||U&2)&&st(k,j[1]),j[4]?O?(O.p(j,U),U&16&&at(O,1)):(O=ch(j),O.c(),at(O,1),O.m(n,null)):O&&(zr(),dt(O,1,1,()=>{O=null}),Fr())},i(j){B||(at(p),at(O),B=!0)},o(j){dt(p),dt(O),B=!1},d(j){j&&z(n),D[f].d(),O&&O.d()}}}function aI(c){let n,s;const o=c[11].default,f=Q2(o,c,c[16],null);return{c(){n=q("div"),f&&f.c(),this.h()},l(p){n=J(p,"DIV",{slot:!0,class:!0});var C=$(n);f&&f.l(C),C.forEach(z),this.h()},h(){V(n,"slot","content"),V(n,"class","w-full")},m(p,C){He(p,n,C),f&&f.m(n,null),s=!0},p(p,C){f&&f.p&&(!s||C&65536)&&P2(f,o,p,p[16],s?N2(o,p[16],C,null):S2(p[16]),null)},i(p){s||(at(f,p),s=!0)},o(p){dt(f,p),s=!1},d(p){p&&z(n),f&&f.d(p)}}}function nI(c){let n,s,o,f,p,C,b=c[7]&&lh();const k=[eI,$5],E=[];function B(G,D){return G[2]?0:1}return o=B(c),f=E[o]=k[o](c),{c(){n=q("div"),b&&b.c(),s=Pe(),f.c(),this.h()},l(G){n=J(G,"DIV",{class:!0});var D=$(n);b&&b.l(D),s=Se(D),f.l(D),D.forEach(z),this.h()},h(){V(n,"class",p="relative "+c[5])},m(G,D){He(G,n,D),b&&b.m(n,null),Q(n,s),E[o].m(n,null),c[15](n),C=!0},p(G,[D]){G[7]?b||(b=lh(),b.c(),b.m(n,s)):b&&(b.d(1),b=null);let _=o;o=B(G),o===_?E[o].p(G,D):(zr(),dt(E[_],1,1,()=>{E[_]=null}),Fr(),f=E[o],f?f.p(G,D):(f=E[o]=k[o](G),f.c()),at(f,1),f.m(n,null)),(!C||D&32&&p!==(p="relative "+G[5]))&&V(n,"class",p)},i(G){C||(at(f),C=!0)},o(G){dt(f),C=!1},d(G){G&&z(n),b&&b.d(),E[o].d(),c[15](null)}}}const iI=c=>{},oI=c=>{c.stopPropagation()};function lI(c,n,s){let{$$slots:o={},$$scope:f}=n;Aa("i18n");const p=Wn();let{open:C=!0}=n,{id:b=""}=n,{name:k=""}=n,{collapsible:E=!0}=n,{onAddLabel:B=""}=n,{onAdd:G=null}=n,{dragAndDrop:D=!0}=n,{className:_=""}=n,O,j=!1;const U=d=>{d.preventDefault(),d.stopPropagation(),s(7,j=!0)},H=d=>{if(d.preventDefault(),d.stopPropagation(),O.contains(d.target)){if(console.log("Dropped on the Button"),d.dataTransfer.items&&d.dataTransfer.items.length>0)for(const T of Array.from(d.dataTransfer.items))if(T.kind==="file"){const re=T.getAsFile();if(re&&re.type==="application/json"){console.log("Dropped file is a JSON file!");const N=new FileReader;N.onload=async function(F){try{const Ce=JSON.parse(F.target.result);console.log("Parsed JSON Content: ",Ce),s(0,C=!0),p("import",Ce)}catch(Ce){console.error("Error parsing JSON file:",Ce)}},N.readAsText(re)}else console.error("Only JSON file types are supported.")}else{s(0,C=!0);const re=d.dataTransfer.getData("text/plain"),N=JSON.parse(re);console.log(N),p("drop",N)}s(7,j=!1)}},Z=d=>{d.preventDefault(),d.stopPropagation(),s(7,j=!1)};Kn(()=>{D&&(O.addEventListener("dragover",U),O.addEventListener("drop",H),O.addEventListener("dragleave",Z))}),z2(()=>{D&&(O.addEventListener("dragover",U),O.removeEventListener("drop",H),O.removeEventListener("dragleave",Z))});const X=d=>{d.stopPropagation(),G()};function g(d){C=d,s(0,C)}const v=d=>{p("change",d.detail)};function e(d){Br[d?"unshift":"push"](()=>{O=d,s(6,O)})}return c.$$set=d=>{"open"in d&&s(0,C=d.open),"id"in d&&s(9,b=d.id),"name"in d&&s(1,k=d.name),"collapsible"in d&&s(2,E=d.collapsible),"onAddLabel"in d&&s(3,B=d.onAddLabel),"onAdd"in d&&s(4,G=d.onAdd),"dragAndDrop"in d&&s(10,D=d.dragAndDrop),"className"in d&&s(5,_=d.className),"$$scope"in d&&s(16,f=d.$$scope)},[C,k,E,B,G,_,O,j,p,b,D,o,X,g,v,e,f]}class od extends vs{constructor(n){super(),ys(this,n,lI,nI,ks,{open:0,id:9,name:1,collapsible:2,onAddLabel:3,onAdd:4,dragAndDrop:10,className:5})}}function cI(c){let n;const s=c[4].default,o=Q2(s,c,c[10],null);return{c(){o&&o.c()},l(f){o&&o.l(f)},m(f,p){o&&o.m(f,p),n=!0},p(f,p){o&&o.p&&(!n||p&1024)&&P2(o,s,f,f[10],n?N2(s,f[10],p,null):S2(f[10]),null)},i(f){n||(at(o,f),n=!0)},o(f){dt(o,f),n=!1},d(f){o&&o.d(f)}}}function uI(c){let n,s;return n=new jn({props:{content:c[1].t("More"),$$slots:{default:[cI]},$$scope:{ctx:c}}}
4),{c(){Kt(n.$$.fragment)},l(o){Zt(n.$$.fragment,o)},m(o,f){Xt(n,o,f),s=!0},p(o,f){const p={};f&2&&(p.content=o[1].t("More")),f&1024&&(p.$$scope={dirty:f,ctx:o}),n.$set(p)},i(o){s||(at(n.$$.fragment,o),s=!0)},o(o){dt(n.$$.fragment,o),s=!1},d(o){qt(n,o)}}}function fI(c){let n,s,o,f=c[1].t("Rename")+"",p,C;return n=new gm({props:{strokeWidth:"2"}}),{c(){Kt(n.$$.fragment),s=Pe(),o=q("div"),p=Xe(f),this.h()},l(b){Zt(n.$$.fragment,b),s=Se(b),o=J(b,"DIV",{class:!0});var k=$(o);p=qe(k,f),k.forEach(z),this.h()},h(){V(o,"class","flex items-center")},m(b,k){Xt(n,b,k),He(b,s,k),He(b,o,k),Q(o,p),C=!0},p(b,k){(!C||k&2)&&f!==(f=b[1].t("Rename")+"")&&st(p,f)},i(b){C||(at(n.$$.fragment,b),C=!0)},o(b){dt(n.$$.fragment,b),C=!1},d(b){b&&(z(s),z(o)),qt(n,b)}}}function dI(c){let n,s,o,f=c[1].t("Export")+"",p,C;return n=new Em({props:{strokeWidth:"2"}}),{c(){Kt(n.$$.fragment),s=Pe(),o=q("div"),p=Xe(f),this.h()},l(b){Zt(n.$$.fragment,b),s=Se(b),o=J(b,"DIV",{class:!0});var k=$(o);p=qe(k,f),k.forEach(z),this.h()},h(){V(o,"class","flex items-center")},m(b,k){Xt(n,b,k),He(b,s,k),He(b,o,k),Q(o,p),C=!0},p(b,k){(!C||k&2)&&f!==(f=b[1].t("Export")+"")&&st(p,f)},i(b){C||(at(n.$$.fragment,b),C=!0)},o(b){dt(n.$$.fragment,b),C=!1},d(b){b&&(z(s),z(o)),qt(n,b)}}}function gI(c){let n,s,o,f=c[1].t("Delete")+"",p,C;return n=new sd({props:{strokeWidth:"2"}}),{c(){Kt(n.$$.fragment),s=Pe(),o=q("div"),p=Xe(f),this.h()},l(b){Zt(n.$$.fragment,b),s=Se(b),o=J(b,"DIV",{class:!0});var k=$(o);p=qe(k,f),k.forEach(z),this.h()},h(){V(o,"class","flex items-center")},m(b,k){Xt(n,b,k),He(b,s,k),He(b,o,k),Q(o,p),C=!0},p(b,k){(!C||k&2)&&f!==(f=b[1].t("Delete")+"")&&st(p,f)},i(b){C||(at(n.$$.fragment,b),C=!0)},o(b){dt(n.$$.fragment,b),C=!1},d(b){b&&(z(s),z(o)),qt(n,b)}}}function hI(c){let n,s,o,f,p,C;return n=new jo({props:{class:"flex gap-2 items-center px-3 py-1.5 text-sm  cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-md",$$slots:{default:[fI]},$$scope:{ctx:c}}}),n.$on("click",c[5]),o=new jo({props:{class:"flex gap-2 items-center px-3 py-1.5 text-sm  cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-md",$$slots:{default:[dI]},$$scope:{ctx:c}}}),o.$on("click",c[6]),p=new jo({props:{class:"flex  gap-2  items-center px-3 py-1.5 text-sm  cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-md",$$slots:{default:[gI]},$$scope:{ctx:c}}}),p.$on("click",c[7]),{c(){Kt(n.$$.fragment),s=Pe(),Kt(o.$$.fragment),f=Pe(),Kt(p.$$.fragment)},l(b){Zt(n.$$.fragment,b),s=Se(b),Zt(o.$$.fragment,b),f=Se(b),Zt(p.$$.fragment,b)},m(b,k){Xt(n,b,k),He(b,s,k),Xt(o,b,k),He(b,f,k),Xt(p,b,k),C=!0},p(b,k){const E={};k&1026&&(E.$$scope={dirty:k,ctx:b}),n.$set(E);const B={};k&1026&&(B.$$scope={dirty:k,ctx:b}),o.$set(B);const G={};k&1026&&(G.$$scope={dirty:k,ctx:b}),p.$set(G)},i(b){C||(at(n.$$.fragment,b),at(o.$$.fragment,b),at(p.$$.fragment,b),C=!0)},o(b){dt(n.$$.fragment,b),dt(o.$$.fragment,b),dt(p.$$.fragment,b),C=!1},d(b){b&&(z(s),z(f)),qt(n,b),qt(o,b),qt(p,b)}}}function pI(c){let n,s,o;return s=new dm({props:{class:"w-full max-w-[160px] rounded-lg px-1 py-1.5  z-50 bg-white dark:bg-gray-850 dark:text-white shadow-lg",sideOffset:-2,side:"bottom",align:"start",transition:rd,$$slots:{default:[hI]},$$scope:{ctx:c}}}),{c(){n=q("div"),Kt(s.$$.fragment),this.h()},l(f){n=J(f,"DIV",{slot:!0});var p=$(n);Zt(s.$$.fragment,p),p.forEach(z),this.h()},h(){V(n,"slot","content")},m(f,p){He(f,n,p),Xt(s,n,null),o=!0},p(f,p){const C={};p&1026&&(C.$$scope={dirty:p,ctx:f}),s.$set(C)},i(f){o||(at(s.$$.fragment,f),o=!0)},o(f){dt(s.$$.fragment,f),o=!1},d(f){f&&z(n),qt(s)}}}function mI(c){let n,s,o;function f(C){c[8](C)}let p={$$slots:{content:[pI],default:[uI]},$$scope:{ctx:c}};return c[0]!==void 0&&(p.show=c[0]),n=new fm({props:p}),Br.push(()=>As(n,"show",f)),n.$on("change",c[9]),{c(){Kt(n.$$.fragment)},l(C){Zt(n.$$.fragment,C)},m(C,b){Xt(n,C,b),o=!0},p(C,[b]){const k={};b&1026&&(k.$$scope={dirty:b,ctx:C}),!s&&b&1&&(s=!0,k.show=C[0],ts(()=>s=!1)),n.$set(k)},i(C){o||(at(n.$$.fragment,C),o=!0)},o(C){dt(n.$$.fragment,C),o=!1},d(C){qt(n,C)}}}function bI(c,n,s){let o,{$$slots:f={},$$scope:p}=n;const C=Aa("i18n");jA(c,C,O=>s(1,o=O));const b=Wn();let k=!1;const E=()=>{b("rename")},B=()=>{b("export")},G=()=>{b("delete")};function D(O){k=O,s(0,k)}const _=O=>{O.detail===!1&&b("close")};return c.$$set=O=>{"$$scope"in O&&s(10,p=O.$$scope)},[k,o,C,b,f,E,B,G,D,_,p]}class CI extends vs{constructor(n){super(),ys(this,n,bI,mI,ks,{})}}function uh(c,n,s){const o=c.slice();return o[47]=n[s],o}function fh(c,n,s){const o=c.slice();return o[51]=n[s],o}function Ff(c){var o;const n=c.slice(),s=(o=n[1][n[2]])==null?void 0:o.childrenIds.map(f=>n[1][f]).sort((f,p)=>f.name.localeCompare(p.name,void 0,{numeric:!0,sensitivity:"base"}));return n[50]=s,n}function II(c){let n,s,o=Kg.sanitize(c[12].t("This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.",{NAME:c[1][c[2]].name}))+"";return{c(){n=q("div"),s=new p8(!1),this.h()},l(f){n=J(f,"DIV",{class:!0});var p=$(n);s=m8(p,!1),p.forEach(z),this.h()},h(){s.a=null,V(n,"class","text-sm text-gray-700 dark:text-gray-300 flex-1 line-clamp-3")},m(f,p){He(f,n,p),s.m(o,n)},p(f,p){p[0]&4102&&o!==(o=Kg.sanitize(f[12].t("This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.",{NAME:f[1][f[2]].name}))+"")&&s.p(o)},d(f){f&&z(n)}}}function dh(c){let n,s;return n=new Bm({props:{x:c[9],y:c[10],$$slots:{default:[wI]},$$scope:{ctx:c}}}
4),{c(){Kt(n.$$.fragment)},l(o){Zt(n.$$.fragment,o)},m(o,f){Xt(n,o,f),s=!0},p(o,f){const p={};f[0]&512&&(p.x=o[9]),f[0]&1024&&(p.y=o[10]),f[0]&6|f[1]&8388608&&(p.$$scope={dirty:f,ctx:o}),n.$set(p)},i(o){s||(at(n.$$.fragment,o),s=!0)},o(o){dt(n.$$.fragment,o),s=!1},d(o){qt(n,o)}}}function wI(c){let n,s,o,f,p,C=c[1][c[2]].name+"",b,k;return o=new lC({props:{className:"size-3.5",strokeWidth:"2"}}),{c(){n=q("div"),s=q("div"),Kt(o.$$.fragment),f=Pe(),p=q("div"),b=Xe(C),this.h()},l(E){n=J(E,"DIV",{class:!0});var B=$(n);s=J(B,"DIV",{class:!0});var G=$(s);Zt(o.$$.fragment,G),f=Se(G),p=J(G,"DIV",{class:!0});var D=$(p);b=qe(D,C),D.forEach(z),G.forEach(z),B.forEach(z),this.h()},h(){V(p,"class","text-xs text-white line-clamp-1"),V(s,"class","flex items-center gap-1"),V(n,"class","bg-black/80 backdrop-blur-2xl px-2 py-1 rounded-lg w-fit max-w-40")},m(E,B){He(E,n,B),Q(n,s),Xt(o,s,null),Q(s,f),Q(s,p),Q(p,b),k=!0},p(E,B){(!k||B[0]&6)&&C!==(C=E[1][E[2]].name+"")&&st(b,C)},i(E){k||(at(o.$$.fragment,E),k=!0)},o(E){dt(o.$$.fragment,E),k=!1},d(E){E&&z(n),qt(o)}}}function gh(c){let n;return{c(){n=q("div"),this.h()},l(s){n=J(s,"DIV",{class:!0}),$(n).forEach(z),this.h()},h(){V(n,"class","absolute top-0 left-0 w-full h-full rounded-xs bg-gray-100/50 dark:bg-gray-700/20 bg-opacity-50 dark:bg-opacity-10 z-50 pointer-events-none touch-none")},m(s,o){He(s,n,o)},d(s){s&&z(n)}}}function kI(c){let n,s;return n=new pm({props:{className:" size-3",strokeWidth:"2.5"}}),{c(){Kt(n.$$.fragment)},l(o){Zt(n.$$.fragment,o)},m(o,f){Xt(n,o,f),s=!0},i(o){s||(at(n.$$.fragment,o),s=!0)},o(o){dt(n.$$.fragment,o),s=!1},d(o){qt(n,o)}}}function vI(c){let n,s;return n=new hm({props:{className:" size-3",strokeWidth:"2.5"}}),{c(){Kt(n.$$.fragment)},l(o){Zt(n.$$.fragment,o)},m(o,f){Xt(n,o,f),s=!0},i(o){s||(at(n.$$.fragment,o),s=!0)},o(o){dt(n.$$.fragment,o),s=!1},d(o){qt(n,o)}}}function yI(c){let n=c[1][c[2]].name+"",s;return{c(){s=Xe(n)},l(o){s=qe(o,n)},m(o,f){He(o,s,f)},p(o,f){f[0]&6&&n!==(n=o[1][o[2]].name+"")&&st(s,n)},d(o){o&&z(s)}}}function EI(c){let n,s,o,f;return{c(){n=q("input"),this.h()},l(p){n=J(p,"INPUT",{id:!0,type:!0,class:!0}),this.h()},h(){V(n,"id",s="folder-"+c[2]+"-input"),V(n,"type","text"),V(n,"class","w-full h-full bg-transparent text-gray-500 dark:text-gray-500 outline-hidden")},m(p,C){He(p,n,C),cr(n,c[8]),o||(f=[Pt(n,"input",c[26]),Pt(n,"focus",GI),Pt(n,"blur",c[27]),Pt(n,"click",_I),Pt(n,"mousedown",TI),Pt(n,"keydown",c[28])],o=!0)},p(p,C){C[0]&4&&s!==(s="folder-"+p[2]+"-input")&&V(n,"id",s),C[0]&256&&n.value!==p[8]&&cr(n,p[8])},d(p){p&&z(n),o=!1,Gs(f)}}}function BI(c){let n,s,o,f,p;return s=new cC({props:{className:"size-4",strokeWidth:"2.5"}}),{c(){n=q("button"),Kt(s.$$.fragment),this.h()},l(C){n=J(C,"BUTTON",{class:!0});var b=$(n);Zt(s.$$.fragment,b),b.forEach(z),this.h()},h(){V(n,"class","p-0.5 dark:hover:bg-gray-850 rounded-lg touch-auto")},m(C,b){He(C,n,b),Xt(s,n,null),o=!0,f||(p=Pt(n,"click",QI),f=!0)},p:qA,i(C){o||(at(s.$$.fragment,C),o=!0)},o(C){dt(s.$$.fragment,C),o=!1},d(C){C&&z(n),qt(s),f=!1,p()}}}function xI(c){let n,s,o,f,p,C,b,k,E,B,G,D,_,O;const j=[vI,kI],U=[];function H(v,e){return v[0]?0:1}f=H(c),p=U[f]=j[f](c);function Z(v,e){return v[5]?EI:yI}let X=Z(c),g=X(c);return B=new CI({props:{$$slots:{default:[BI]},$$scope:{ctx:c}}}),B.$on("rename",c[29]),B.$on("delete",c[30]),B.$on("export",c[31]),{c(){n=q("div"),s=q("button"),o=q("div"),p.c(),C=Pe(),b=q("div"),g.c(),k=Pe(),E=q("button"),Kt(B.$$.fragment),this.h()},l(v){n=J(v,"DIV",{class:!0});var e=$(n);s=J(e,"BUTTON",{id:!0,class:!0});var d=$(s);o=J(d,"DIV",{class:!0});var T=$(o);p.l(T),T.forEach(z),C=Se(d),b=J(d,"DIV",{class:!0});var re=$(b);g.l(re),re.forEach(z),k=Se(d),E=J(d,"BUTTON",{class:!0});var N=$(E);Zt(B.$$.fragment,N),N.forEach(z),d.forEach(z),e.forEach(z),this.h()},h(){V(o,"class","text-gray-300 dark:text-gray-600"),V(b,"class","translate-y-[0.5px] flex-1 justify-start text-start line-clamp-1"),V(E,"class","absolute z-10 right-2 invisible group-hover:visible self-center flex items-center dark:text-gray-300"),V(s,"id",G="folder-"+c[2]+"-button"),V(s,"class","relative w-full py-1.5 px-2 rounded-md flex items-center gap-1.5 text-xs text-gray-500 dark:text-gray-500 font-medium hover:bg-gray-100 dark:hover:bg-gray-900 transition"),V(n,"class","w-full group")},m(v,e){He(v,n,e),Q(n,s),Q(s,o),U[f].m(o,null),Q(s,C),Q(s,b),g.m(b,null),Q(s,k),Q(s,E),Xt(B,E,null),D=!0,_||(O=[Pt(E,"pointerup",PI),Pt(s,"dblclick",c[32])],_=!0)},p(v,e){let d=f;f=H(v),f!==d&&(zr(),dt(U[d],1,1,()=>{U[d]=null}),Fr(),p=U[f],p||(p=U[f]=j[f](v),p.c()),at(p,1),p.m(o,null)),X===(X=Z(v))&&g?g.p(v,e):(g.d(1),g=X(v),g&&(g.c(),g.m(b,null)));const T={};e[1]&8388608&&(T.$$scope={dirty:e,ctx:v}),B.$set(T),(!D||e[0]&4&&G!==(G="folder-"+v[2]+"-button"))&&V(s,"id",G)},i(v){D||(at(p),at(B.$$.fragment,v),D=!0)},o(v){dt(p),dt(B.$$.fragment,v),D=!1},d(v){v&&z(n),U[f].d(),g.d(),qt(B),_=!1,Gs(O)}}}function hh(c){var C,b;
4let n,s,o,f=((C=c[1][c[2]])==null?void 0:C.childrenIds)&&ph(Ff(c)),p=((b=c[1][c[2]].items)==null?void 0:b.chats)&&bh(c);return{c(){n=q("div"),f&&f.c(),s=Pe(),p&&p.c(),this.h()},l(k){n=J(k,"DIV",{class:!0});var E=$(n);f&&f.l(E),s=Se(E),p&&p.l(E),E.forEach(z),this.h()},h(){V(n,"class","ml-3 pl-1 mt-[1px] flex flex-col overflow-y-auto scrollbar-hidden border-s border-gray-100 dark:border-gray-900")},m(k,E){He(k,n,E),f&&f.m(n,null),Q(n,s),p&&p.m(n,null),o=!0},p(k,E){var B,G;(B=k[1][k[2]])!=null&&B.childrenIds?f?(f.p(Ff(k),E),E[0]&6&&at(f,1)):(f=ph(Ff(k)),f.c(),at(f,1),f.m(n,s)):f&&(zr(),dt(f,1,1,()=>{f=null}),Fr()),(G=k[1][k[2]].items)!=null&&G.chats?p?(p.p(k,E),E[0]&6&&at(p,1)):(p=bh(k),p.c(),at(p,1),p.m(n,null)):p&&(zr(),dt(p,1,1,()=>{p=null}),Fr())},i(k){o||(at(f),at(p),o=!0)},o(k){dt(f),dt(p),o=!1},d(k){k&&z(n),f&&f.d(),p&&p.d()}}}function ph(c){let n=[],s=new Map,o,f,p=Ur(c[50]);const C=b=>`${b[2]}-${b[51].id}`;for(let b=0;b<p.length;b+=1){let k=fh(c,p,b),E=C(k);s.set(E,n[b]=mh(E,k))}return{c(){for(let b=0;b<n.length;b+=1)n[b].c();o=ws()},l(b){for(let k=0;k<n.length;k+=1)n[k].l(b);o=ws()},m(b,k){for(let E=0;E<n.length;E+=1)n[E]&&n[E].m(b,k);He(b,o,k),f=!0},p(b,k){k[0]&16518&&(p=Ur(b[50]),zr(),n=ef(n,k,C,1,b,p,s,o.parentNode,tf,mh,o,fh),Fr())},i(b){if(!f){for(let k=0;k<p.length;k+=1)at(n[k]);f=!0}},o(b){for(let k=0;k<n.length;k+=1)dt(n[k]);f=!1},d(b){b&&z(o);for(let k=0;k<n.length;k+=1)n[k].d(b)}}}function mh(c,n){let s,o,f;return o=new xm({props:{folders:n[1],folderId:n[51].id,parentDragged:n[7]}}),o.$on("import",n[22]),o.$on("update",n[23]),o.$on("change",n[24]),{key:c,first:null,c(){s=ws(),Kt(o.$$.fragment),this.h()},l(p){s=ws(),Zt(o.$$.fragment,p),this.h()},h(){this.first=s},m(p,C){He(p,s,C),Xt(o,p,C),f=!0},p(p,C){n=p;const b={};C[0]&2&&(b.folders=n[1]),C[0]&6&&(b.folderId=n[51].id),C[0]&128&&(b.parentDragged=n[7]),o.$set(b)},i(p){f||(at(o.$$.fragment,p),f=!0)},o(p){dt(o.$$.fragment,p),f=!1},d(p){p&&z(s),qt(o,p)}}}function bh(c){let n=[],s=new Map,o,f,p=Ur(c[1][c[2]].items.chats);const C=b=>b[47].id;for(let b=0;b<p.length;b+=1){let k=uh(c,p,b),E=C(k);s.set(E,n[b]=Ch(E,k))}return{c(){for(let b=0;b<n.length;b+=1)n[b].c();o=ws()},l(b){for(let k=0;k<n.length;k+=1)n[k].l(b);o=ws()},m(b,k){for(let E=0;E<n.length;E+=1)n[E]&&n[E].m(b,k);He(b,o,k),f=!0},p(b,k){k[0]&16390&&(p=Ur(b[1][b[2]].items.chats),zr(),n=ef(n,k,C,1,b,p,s,o.parentNode,tf,Ch,o,uh),Fr())},i(b){if(!f){for(let k=0;k<p.length;k+=1)at(n[k]);f=!0}},o(b){for(let k=0;k<n.length;k+=1)dt(n[k]);f=!1},d(b){b&&z(o);for(let k=0;k<n.length;k+=1)n[k].d(b)}}}function Ch(c,n){let s,o,f;return o=new id({props:{id:n[47].id,title:n[47].title}}),o.$on("change",n[25]),{key:c,first:null,c(){s=ws(),Kt(o.$$.fragment),this.h()},l(p){s=ws(),Zt(o.$$.fragment,p),this.h()},h(){this.first=s},m(p,C){He(p,s,C),Xt(o,p,C),f=!0},p(p,C){n=p;const b={};C[0]&6&&(b.id=n[47].id),C[0]&6&&(b.title=n[47].title),o.$set(b)},i(p){f||(at(o.$$.fragment,p),f=!0)},o(p){dt(o.$$.fragment,p),f=!1},d(p){p&&z(s),qt(o,p)}}}function MI(c){var f,p;let n,s,o=((((f=c[1][c[2]])==null?void 0:f.childrenIds)??[]).length>0||(((p=c[1][c[2]].items)==null?void 0:p.chats)??[]).length>0)&&hh(c);return{c(){n=q("div"),o&&o.c(),this.h()},l(C){n=J(C,"DIV",{slot:!0,class:!0});var b=$(n);o&&o.l(b),b.forEach(z),this.h()},h(){V(n,"slot","content"),V(n,"class","w-full")},m(C,b){He(C,n,b),o&&o.m(n,null),s=!0},p(C,b){var k,E;(((k=C[1][C[2]])==null?void 0:k.childrenIds)??[]).length>0||(((E=C[1][C[2]].items)==null?void 0:E.chats)??[]).length>0?o?(o.p(C,b),b[0]&6&&at(o,1)):(o=hh(C),o.c(),at(o,1),o.m(n,null)):o&&(zr(),dt(o,1,1,()=>{o=null}),Fr())},i(C){s||(at(o),s=!0)},o(C){dt(o),s=!1},d(C){C&&z(n),o&&o.d()}}}function DI(c){var H,Z;let n,s,o,f,p,C,b,k,E,B;function G(X){c[20](X)}let D={title:c[12].t("Delete folder?"),$$slots:{default:[II]},$$scope:{ctx:c}};c[11]!==void 0&&(D.show=c[11]),n=new O2({props:D}),Br.push(()=>As(n,"show",G)),n.$on("confirm",c[21]);let _=c[7]&&c[9]&&c[10]&&dh(c),O=c[6]&&gh();function j(X){c[33](X)}let U={className:"w-full",buttonClassName:"w-full",hide:(((H=c[1][c[2]])==null?void 0:H.childrenIds)??[]).length===0&&(((Z=c[1][c[2]].items)==null?void 0:Z.chats)??[]).length===0,$$slots:{content:[MI],default:[xI]},$$scope:{ctx:c}};return c[0]!==void 0&&(U.open=c[0]),b=new mm({props:U}),Br.push(()=>As(b,"open",j)),b.$on("change",c[34]),{c(){Kt(n.$$.fragment),o=Pe(),_&&_.c(),f=Pe(),p=q("div"),O&&O.c(),C=Pe(),Kt(b.$$.fragment),this.h()},l(X){Zt(n.$$.fragment,X),o=Se(X),_&&_.l(X),f=Se(X),p=J(X,"DIV",{class:!0,draggable:!0});var g=$(p);O&&O.l(g),C=Se(g),Zt(b.$$.fragment,g),g.forEach(z),this.h()},h(){V(p,"class",E="relative "+c[3]),V(p,"draggable","true")},m(X,g){Xt(n,X,g),He(X,o,g),_&&_.m(X,g),He(X,f,g),He(X,p,g),O&&O.m(p,null),Q(p,C),Xt(b,p,null),
4c[35](p),B=!0},p(X,g){var d,T;const v={};g[0]&4096&&(v.title=X[12].t("Delete folder?")),g[0]&4102|g[1]&8388608&&(v.$$scope={dirty:g,ctx:X}),!s&&g[0]&2048&&(s=!0,v.show=X[11],ts(()=>s=!1)),n.$set(v),X[7]&&X[9]&&X[10]?_?(_.p(X,g),g[0]&1664&&at(_,1)):(_=dh(X),_.c(),at(_,1),_.m(f.parentNode,f)):_&&(zr(),dt(_,1,1,()=>{_=null}),Fr()),X[6]?O||(O=gh(),O.c(),O.m(p,C)):O&&(O.d(1),O=null);const e={};g[0]&6&&(e.hide=(((d=X[1][X[2]])==null?void 0:d.childrenIds)??[]).length===0&&(((T=X[1][X[2]].items)==null?void 0:T.chats)??[]).length===0),g[0]&2471|g[1]&8388608&&(e.$$scope={dirty:g,ctx:X}),!k&&g[0]&1&&(k=!0,e.open=X[0],ts(()=>k=!1)),b.$set(e),(!B||g[0]&8&&E!==(E="relative "+X[3]))&&V(p,"class",E)},i(X){B||(at(n.$$.fragment,X),at(_),at(b.$$.fragment,X),B=!0)},o(X){dt(n.$$.fragment,X),dt(_),dt(b.$$.fragment,X),B=!1},d(X){X&&(z(o),z(f),z(p)),qt(n,X),_&&_.d(X),O&&O.d(),qt(b),c[35](null)}}}const GI=c=>{c.target.select()},_I=c=>{c.stopPropagation()},TI=c=>{c.stopPropagation()},QI=c=>{},PI=c=>{c.stopPropagation()};function SI(c,n,s){let o;const f=Aa("i18n");jA(c,f,At=>s(12,o=At));const p=Wn(),{saveAs:C}=Ju;let{open:b=!1}=n,{folders:k}=n,{folderId:E}=n,{className:B=""}=n,{parentDragged:G=!1}=n,D,_=!1,O=!1,j=!1,U="";const H=At=>{At.preventDefault(),At.stopPropagation(),!(j||G)&&s(6,O=!0)},Z=async At=>{if(At.preventDefault(),At.stopPropagation(),!(j||G)&&D.contains(At.target)){if(console.log("Dropped on the Button"),At.dataTransfer.items&&At.dataTransfer.items.length>0)for(const Bt of Array.from(At.dataTransfer.items))if(Bt.kind==="file"){const Ft=Bt.getAsFile();if(Ft&&Ft.type==="application/json"){console.log("Dropped file is a JSON file!");const St=new FileReader;St.onload=async function(oe){try{const zt=JSON.parse(oe.target.result);s(0,b=!0),p("import",{folderId:E,items:zt})}catch(zt){console.error("Error parsing JSON file:",zt)}},St.readAsText(Ft)}else console.error("Only JSON file types are supported.");console.log(Ft)}else{const Ft=At.dataTransfer.getData("text/plain"),St=JSON.parse(Ft);console.log(St);const{type:oe,id:zt,item:Ie}=St;if(oe==="folder"){if(s(0,b=!0),zt===E)return;await vm(localStorage.token,zt,E).catch(Qe=>(gr.error(`${Qe}`),null))&&p("update")}else if(oe==="chat"){s(0,b=!0);let fe=await yl(localStorage.token,zt).catch(Je=>null);!fe&&Ie&&(fe=await Y1(localStorage.token,Ie.chat,(Ie==null?void 0:Ie.meta)??{})),await qf(localStorage.token,fe.id,E).catch(Je=>(gr.error(`${Je}`),null))&&p("update")}}s(6,O=!1)}},X=At=>{At.preventDefault(),!(j||G)&&s(6,O=!1)},g=new Image;g.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=";let v,e;const d=At=>{At.stopPropagation(),At.dataTransfer.setDragImage(g,0,0),At.dataTransfer.setData("text/plain",JSON.stringify({type:"folder",id:E})),s(7,j=!0),s(4,D.style.opacity="0.5",D)},T=At=>{At.stopPropagation(),s(9,v=At.clientX),s(10,e=At.clientY)},re=At=>{At.stopPropagation(),s(4,D.style.opacity="1",D),s(7,j=!1)};Kn(async()=>{var At;s(0,b=k[E].is_expanded),D&&(D.addEventListener("dragover",H),D.addEventListener("drop",Z),D.addEventListener("dragleave",X),D.addEventListener("dragstart",d),D.addEventListener("drag",T),D.addEventListener("dragend",re)),(At=k[E])!=null&&At.new&&(delete k[E].new,await F0(),Me())}),z2(()=>{D&&(D.addEventListener("dragover",H),D.removeEventListener("drop",Z),D.removeEventListener("dragleave",X),D.removeEventListener("dragstart",d),D.removeEventListener("drag",T),D.removeEventListener("dragend",re))});let N=!1;const F=async()=>{await jC(localStorage.token,E).catch(Bt=>(gr.error(`${Bt}`),null))&&(gr.success(o.t("Folder deleted successfully")),p("update"))},Ce=async()=>{if(U===""){gr.error(o.t("Folder name cannot be empty"));return}if(U===k[E].name){s(5,_=!1);return}const At=k[E].name;s(8,U=U.trim()),s(1,k[E].name=U,k),await YC(localStorage.token,E,U).catch(Ft=>(gr.error(`${Ft}`),s(1,k[E].name=At,k),null))&&(s(1,k[E].name=U,k),gr.success(o.t("Folder name updated successfully")),p("update"))},he=async()=>{await RC(localStorage.token,E,b).catch(At=>(gr.error(`${At}`),null))};let ce;const ge=At=>{clearTimeout(ce),ce=setTimeout(()=>{he()},500)},Me=async()=>{console.log("Edit"),await F0(),s(8,U=k[E].name),s(5,_=!0),await F0();const At=document.getElementById(`folder-${E}-input`);At&&At.focus()},Ue=async()=>{const At=await H8(localStorage.token,E).catch(Ft=>(gr.error(`${Ft}`),null));if(!At)return;const Bt=new Blob([JSON.stringify(At)],{type:"application/json"});C(Bt,`folder-${k[E].name}-export-${Date.now()}.json`)};function Ne(At){N=At,s(11,N)}const de=()=>{F()},me=At=>{p("import",At.detail)},we=At=>{p("update",At.detail)},_e=At=>{p("change",At.detail)},pe=At=>{p("change",At.detail)};function it(){U=this.value,s(8,U)}const We=()=>{Ce(),s(5,_=!1)},ot=At=>{At.key==="Enter"&&(Ce(),s(5,_=!1))},pt=()=>{setTimeout(()=>{Me()},200)},ct=()=>{s(11,N=!0)},Re=()=>{Ue()},tt=()=>{Me()};function It(At){b=At,s(0,b)}const wt=At=>{p("open",At.detail)};function ze(At){Br[At?"unshift":"push"](()=>{D=At,s(4,D)})}return c.$$set=At=>{"open"in At&&s(0,b=At.open),"folders"in At&&s(1,k=At.folders),"folderId"in At&&s(2,E=At.folderId),"className"in At&&s(3,B=At.className),"parentDragged"in At&&s(19,G=At.parentDragged)},c.$$.update=()=>{c.$$.dirty[0]&1&&ge()},[b,k,E,B,D,_,O,j,U,v,e,N,o,f,p,F,Ce,Me,Ue,G,Ne,de,me,we,_e,pe,it,We,ot,pt,ct,Re,tt,It,wt,ze]}class xm extends vs{constructor(n){super(),ys(this,n,SI,DI,ks,{open:0,folders:1,folderId:2,className:3,parentDragged:19},null,[-1,-1])}}function Ih(c,n,s){const o=c.slice();return o[6]=n[s],o}function wh(c,n){let s,o,f;return o=new xm({props:{className:"",folders:n[0],folderId:n[6]}}),o.$on("import",n[3]),o.$on("update",n[4]),o.$on("change",n[5]),{key:c,first:null,c(){s=ws(),Kt(o.$$.fragment),this.h()},l(p){s=ws(),Zt(o.$$.fragment,p),this.h()},h(){this.first=s},m(p,C){He(p,s,C),Xt(o,p,C),f=!0},p(p,C){n=p;const b={};C&1&&(b.folders=n[0]),C&2&&(b.folderId=n[6]),o.$set(b)},i(p){f||(at(o.$$.fragment,p),f=!0)},o(p){dt(o.$$.fragment,p),f=!1},d(p){p&&z(s),qt(o,p)}}}function NI(c){let n=[],s=new Map,o,f,p=Ur(c[1]);const C=b=>b[6];for(let b=0;b<p.length;b+=1){let k=Ih(c,p,b),E=C(k);s.set(E,n[b]=wh(E,k))}return{c(){for(let b=0;b<n.length;b+=1)n[b].c();o=ws()},l(b){for(let k=0;k<n.length;k+=1)n[k].l(b);o=ws()},m(b,k){for(let E=0;E<n.length;E+=1)n[E]&&n[E].m(b,k);He(b,o,k),f=!0},p(b,[k]){k&7&&(p=Ur(b[1]),zr(),n=ef(n,k,C,1,b,p,s,o.parentNode,tf,wh,o,Ih),Fr())},i(b){if(!f){for(let k=0;k<p.length;k+=1)at(n[k]);f=!0}},o(b){for(let k=0;k<n.length;k+=1)dt(n[k]);f=!1},d(b){b&&z(o);for(let k=0;k<n.length;k+=1)n[k].d(b)}}}function zI(c,n,s){const o=Wn();let{folders:f={}}=n,p=[];const C=E=>{o("import",E.detail)},b=E=>{o("update",E.detail)},k=E=>{o("change",E.detail)};return c.$$set=E=>{"folders"in E&&s(0,f=E.folders)},c.$$.update=()=>{c.$$.dirty&1&&s(1,p=Object.keys(f).filter(E=>f[E].parent_id===null).sort((E,B)=>f[E].name.localeCompare(f[B].name,void 0,{numeric:!0,sensitivity:"base"})))},[f,p,o,C,b,k]}class FI extends vs{constructor(n){super(),ys(this,n,zI,NI,ks,{folders:0})}}function OI(c){let n=c[6].t("Create Channel")+"",s;return{c(){s=Xe(n)},l(o){s=qe(o,n)},m(o,f){He(o,s,f)},p(o,f){f&64&&n!==(n=o[6].t("Create Channel")+"")&&st(s,n)},d(o){o&&z(s)}}}function LI(c){let n=c[6].t("Edit Channel")+"",s;return{c(){s=Xe(n)},l(o){s=qe(o,n)},m(o,f){He(o,s,f)},p(o,f){f&64&&n!==(n=o[6].t("Edit Channel")+"")&&st(s,n)},d(o){o&&z(s)}}}function kh(c){let n,s=c[6].t("Delete")+"",o,f,p;return{c(){n=q("button"),o=Xe(s),this.h()},l(C){n=J(C,"BUTTON",{class:!0,type:!0});var b=$(n);o=qe(b,s),b.forEach(z),this.h()},h(){V(n,"class","px-3.5 py-1.5 text-sm font-medium dark:bg-black dark:hover:bg-black/90 dark:text-white bg-white text-black hover:bg-gray-100 transition rounded-full flex flex-row space-x-1 items-center"),V(n,"type","button")},m(C,b){He(C,n,b),Q(n,o),f||(p=Pt(n,"click",c[16]),f=!0)},p(C,b){b&64&&s!==(s=C[6].t("Delete")+"")&&st(o,s)},d(C){C&&z(n),f=!1,p()}}}function VI(c){let n=c[6].t("Create")+"",s;return{c(){s=Xe(n)},l(o){s=qe(o,n)},m(o,f){He(o,s,f)},p(o,f){f&64&&n!==(n=o[6].t("Create")+"")&&st(s,n)},d(o){o&&z(s)}}}function HI(c){let n=c[6].t("Update")+"",s;return{c(){s=Xe(n)},l(o){s=qe(o,n)},m(o,f){He(o,s,f)},p(o,f){f&64&&n!==(n=o[6].t("Update")+"")&&st(s,n)},d(o){o&&z(s)}}}function vh(c){let n,s=`<svg class="w-4 h-4" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><style>.spinner_ajPY {
5												transform-origin: center;
6												animation: spinner_AtaB 0.75s infinite linear;
7											}
8											@keyframes spinner_AtaB {
9												100% {
10													transform: rotate(360deg);
11												}
12											}
13										</style><path d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z" opacity=".25"></path><path d="M10.14,1.16a11,11,0,0,0-9,8.92A1.59,1.59,0,0,0,2.46,12,1.52,1.52,0,0,0,4.11,10.7a8,8,0,0,1,6.66-6.61A1.42,1.42,0,0,0,12,2.69h0A1.57,1.57,0,0,0,10.14,1.16Z" class="spinner_ajPY"></path></svg>`;return{c(){n=q("div"),n.innerHTML=s,this.h()},l(o){n=J(o,"DIV",{class:!0,"data-svelte-h":!0}),hr(n)!=="svelte-1vuzrxa"&&(n.innerHTML=s),this.h()},h(){V(n,"class","ml-2 self-center")},m(o,f){He(o,n,f)},d(o){o&&z(n)}}}function YI(c){let n,s,o,f,p,C='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5"><path fill-rule="evenodd" d="M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z" clip-rule="evenodd"></path></svg>',b,k,E,B,G,D,_=c[6].t("Channel Name")+"",O,j,U,H,Z,X,g,v,e,d,T,re,N,F,Ce,he,ce,ge,Me,Ue,Ne;function de(Re,tt){return Re[1]?LI:OI}let me=de(c),we=me(c);function _e(Re){c[15](Re)}let pe={};c[3]!==void 0&&(pe.accessControl=c[3]),T=new hC({props:pe}),Br.push(()=>As(T,"accessControl",_e));let it=c[1]&&kh(c);function We(Re,tt){return Re[1]?HI:VI}let ot=We(c),pt=ot(c),ct=c[4]&&vh();return{c(){n=q("div"),s=q("div"),o=q("div"),we.c(),f=Pe(),p=q("button"),p.innerHTML=C,b=Pe(),k=q("div"),E=q("div"),B=q("form"),G=q("div"),D=q("div"),O=Xe(_),j=Pe(),U=q("div"),H=q("input"),X=Pe(),g=q("hr"),v=Pe(),e=q("div"),d=q("div"),Kt(T.$$.fragment),N=Pe(),F=q("div"),it&&it.c(),Ce=Pe(),he=q("button"),pt.c(),ce=Pe(),ct&&ct.c(),this.h()},l(Re){n=J(Re,"DIV",{});var tt=$(n);s=J(tt,"DIV",{class:!0});
13var It=$(s);o=J(It,"DIV",{class:!0});var wt=$(o);we.l(wt),wt.forEach(z),f=Se(It),p=J(It,"BUTTON",{class:!0,"data-svelte-h":!0}),hr(p)!=="svelte-i7w487"&&(p.innerHTML=C),It.forEach(z),b=Se(tt),k=J(tt,"DIV",{class:!0});var ze=$(k);E=J(ze,"DIV",{class:!0});var At=$(E);B=J(At,"FORM",{class:!0});var Bt=$(B);G=J(Bt,"DIV",{class:!0});var Ft=$(G);D=J(Ft,"DIV",{class:!0});var St=$(D);O=qe(St,_),St.forEach(z),j=Se(Ft),U=J(Ft,"DIV",{class:!0});var oe=$(U);H=J(oe,"INPUT",{class:!0,type:!0,placeholder:!0,autocomplete:!0}),oe.forEach(z),Ft.forEach(z),X=Se(Bt),g=J(Bt,"HR",{class:!0}),v=Se(Bt),e=J(Bt,"DIV",{class:!0});var zt=$(e);d=J(zt,"DIV",{class:!0});var Ie=$(d);Zt(T.$$.fragment,Ie),Ie.forEach(z),zt.forEach(z),N=Se(Bt),F=J(Bt,"DIV",{class:!0});var fe=$(F);it&&it.l(fe),Ce=Se(fe),he=J(fe,"BUTTON",{class:!0,type:!0});var Qe=$(he);pt.l(Qe),ce=Se(Qe),ct&&ct.l(Qe),Qe.forEach(z),fe.forEach(z),Bt.forEach(z),At.forEach(z),ze.forEach(z),tt.forEach(z),this.h()},h(){V(o,"class","text-lg font-medium self-center"),V(p,"class","self-center"),V(s,"class","flex justify-between dark:text-gray-300 px-5 pt-4 pb-1"),V(D,"class","mb-1 text-xs text-gray-500"),V(H,"class","w-full text-sm bg-transparent placeholder:text-gray-300 dark:placeholder:text-gray-700 outline-hidden"),V(H,"type","text"),V(H,"placeholder",Z=c[6].t("new-channel")),V(H,"autocomplete","off"),V(U,"class","flex-1"),V(G,"class","flex flex-col w-full mt-2"),V(g,"class","border-gray-100 dark:border-gray-700/10 my-2.5 w-full"),V(d,"class","px-3 py-2 bg-gray-50 dark:bg-gray-950 rounded-lg"),V(e,"class","my-2 -mx-2"),V(he,"class",ge="px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-950 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full flex flex-row space-x-1 items-center "+(c[4]?" cursor-not-allowed":"")),V(he,"type","submit"),he.disabled=c[4],V(F,"class","flex justify-end pt-3 text-sm font-medium gap-1.5"),V(B,"class","flex flex-col w-full"),V(E,"class","flex flex-col w-full sm:flex-row sm:justify-center sm:space-x-6"),V(k,"class","flex flex-col md:flex-row w-full px-5 pb-4 md:space-x-4 dark:text-gray-200")},m(Re,tt){He(Re,n,tt),Q(n,s),Q(s,o),we.m(o,null),Q(s,f),Q(s,p),Q(n,b),Q(n,k),Q(k,E),Q(E,B),Q(B,G),Q(G,D),Q(D,O),Q(G,j),Q(G,U),Q(U,H),cr(H,c[2]),Q(B,X),Q(B,g),Q(B,v),Q(B,e),Q(e,d),Xt(T,d,null),Q(B,N),Q(B,F),it&&it.m(F,null),Q(F,Ce),Q(F,he),pt.m(he,null),Q(he,ce),ct&&ct.m(he,null),Me=!0,Ue||(Ne=[Pt(p,"click",c[13]),Pt(H,"input",c[14]),Pt(B,"submit",H0(c[17]))],Ue=!0)},p(Re,tt){me===(me=de(Re))&&we?we.p(Re,tt):(we.d(1),we=me(Re),we&&(we.c(),we.m(o,null))),(!Me||tt&64)&&_!==(_=Re[6].t("Channel Name")+"")&&st(O,_),(!Me||tt&64&&Z!==(Z=Re[6].t("new-channel")))&&V(H,"placeholder",Z),tt&4&&H.value!==Re[2]&&cr(H,Re[2]);const It={};!re&&tt&8&&(re=!0,It.accessControl=Re[3],ts(()=>re=!1)),T.$set(It),Re[1]?it?it.p(Re,tt):(it=kh(Re),it.c(),it.m(F,Ce)):it&&(it.d(1),it=null),ot===(ot=We(Re))&&pt?pt.p(Re,tt):(pt.d(1),pt=ot(Re),pt&&(pt.c(),pt.m(he,ce))),Re[4]?ct||(ct=vh(),ct.c(),ct.m(he,null)):ct&&(ct.d(1),ct=null),(!Me||tt&16&&ge!==(ge="px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-950 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full flex flex-row space-x-1 items-center "+(Re[4]?" cursor-not-allowed":"")))&&V(he,"class",ge),(!Me||tt&16)&&(he.disabled=Re[4])},i(Re){Me||(at(T.$$.fragment,Re),Me=!0)},o(Re){dt(T.$$.fragment,Re),Me=!1},d(Re){Re&&z(n),we.d(),qt(T),it&&it.d(),pt.d(),ct&&ct.d(),Ue=!1,Gs(Ne)}}}function RI(c){let n,s,o,f,p,C;function b(G){c[18](G)}let k={size:"sm",$$slots:{default:[YI]},$$scope:{ctx:c}};c[0]!==void 0&&(k.show=c[0]),n=new Bl({props:k}),Br.push(()=>As(n,"show",b));function E(G){c[19](G)}let B={message:c[6].t("Are you sure you want to delete this channel?"),confirmLabel:c[6].t("Delete")};return c[5]!==void 0&&(B.show=c[5]),f=new O2({props:B}),Br.push(()=>As(f,"show",E)),f.$on("confirm",c[20]),{c(){Kt(n.$$.fragment),o=Pe(),Kt(f.$$.fragment)},l(G){Zt(n.$$.fragment,G),o=Se(G),Zt(f.$$.fragment,G)},m(G,D){Xt(n,G,D),He(G,o,D),Xt(f,G,D),C=!0},p(G,[D]){const _={};D&8388735&&(_.$$scope={dirty:D,ctx:G}),!s&&D&1&&(s=!0,_.show=G[0],ts(()=>s=!1)),n.$set(_);const O={};D&64&&(O.message=G[6].t("Are you sure you want to delete this channel?")),D&64&&(O.confirmLabel=G[6].t("Delete")),!p&&D&32&&(p=!0,O.show=G[5],ts(()=>p=!1)),f.$set(O)},i(G){C||(at(n.$$.fragment,G),at(f.$$.fragment,G),C=!0)},o(G){dt(n.$$.fragment,G),dt(f.$$.fragment,G),C=!1},d(G){G&&z(o),qt(n,G),qt(f,G)}}}function jI(c,n,s){let o,f;jA(c,td,N=>s(21,o=N));const p=Aa("i18n");jA(c,p,N=>s(6,f=N));let{show:C=!1}=n,{onSubmit:b=()=>{}}=n,{onUpdate:k=()=>{}}=n,{channel:E=null}=n,{edit:B=!1}=n,G="",D=null,_=!1;const O=async()=>{s(4,_=!0),await b({name:G.replace(/\s/g,"-"),access_control:D}),s(0,C=!1),s(4,_=!1)},j=()=>{s(2,G=E.name),s(3,D=E.access_control)};let U=!1;const H=async()=>{s(5,U=!1),await uC(localStorage.token,E.id).catch(F=>{gr.error(F.message)})&&(gr.success("Channel deleted successfully"),k(),o.url.pathname===`/channels/${E.id}`&&V0("/")),s(0,C=!1)},Z=()=>{s(0,C=!1)};function X(){G=this.value,s(2,G)}function g(N){D=N,s(3,D)}const v=()=>{s(5,U=!0)},e=()=>{O()};function d(N){C=N,s(0,C)}function T(N){U=N,s(5,U)}const re=()=>{H()};return c.$$set=N=>{"show"in N&&s(0,C=N.show),"onSubmit"in N&&s(10,b=N.onSubmit),"onUpdate"in N&&s(11,k=N.onUpdate),"channel"in N&&s(12,E=N.channel),"edit"in N&&s(1,B=N.edit)},c.$$.update=()=>{c.$$.dirty&4&&G&&s(2,G=G.replace(/\s/g,"-").toLocaleLowerCase()),c.$$.dirty&4096&&E&&j()},[C,B,G,D,_,U,f,p,O,H,b,k,E,Z,X,g,v,e,d,T,re]}class Mm extends vs{constructor(n){super(),ys(this,n,jI,RI,ks,{show:0,onSubmit:10,onUpdate:11,channel:12,edit:1})}}function yh(c){let n,s,o,f,p,C;return o=new bm({props:{className:"size-3.5"}}),{c(){n=q("button"),s=q("button"),Kt(o.$$.fragment),this.h()},l(b){n=J(b,"BUTTON",{class:!0});var k=$(n);s=J(k,"BUTTON",{class:!0});var E=$(s);
13Zt(o.$$.fragment,E),E.forEach(z),k.forEach(z),this.h()},h(){V(s,"class","p-0.5 dark:hover:bg-gray-850 rounded-lg touch-auto"),V(n,"class","absolute z-10 right-2 invisible group-hover:visible self-center flex items-center dark:text-gray-300")},m(b,k){He(b,n,k),Q(n,s),Xt(o,s,null),f=!0,p||(C=[Pt(s,"click",UI),Pt(n,"click",c[11])],p=!0)},p:qA,i(b){f||(at(o.$$.fragment,b),f=!0)},o(b){dt(o.$$.fragment,b),f=!1},d(b){b&&z(n),qt(o),p=!1,Gs(C)}}}function WI(c){var e;let n,s,o,f,p,C,b,k,E,B,G=c[2].name+"",D,_,O,j,U,H,Z;function X(d){c[9](d)}let g={channel:c[2],edit:!0,onUpdate:c[0],onSubmit:c[8]};c[3]!==void 0&&(g.show=c[3]),n=new Mm({props:g}),Br.push(()=>As(n,"show",X));let v=((e=c[7])==null?void 0:e.role)==="admin"&&yh(c);return{c(){Kt(n.$$.fragment),o=Pe(),f=q("div"),p=q("a"),C=q("div"),b=ka("svg"),k=ka("path"),E=Pe(),B=q("div"),D=Xe(G),O=Pe(),v&&v.c(),this.h()},l(d){Zt(n.$$.fragment,d),o=Se(d),f=J(d,"DIV",{class:!0});var T=$(f);p=J(T,"A",{class:!0,href:!0,draggable:!0});var re=$(p);C=J(re,"DIV",{class:!0});var N=$(C);b=va(N,"svg",{xmlns:!0,viewBox:!0,fill:!0,class:!0});var F=$(b);k=va(F,"path",{"fill-rule":!0,d:!0,"clip-rule":!0}),$(k).forEach(z),F.forEach(z),E=Se(N),B=J(N,"DIV",{class:!0});var Ce=$(B);D=qe(Ce,G),Ce.forEach(z),N.forEach(z),re.forEach(z),O=Se(T),v&&v.l(T),T.forEach(z),this.h()},h(){V(k,"fill-rule","evenodd"),V(k,"d","M7.487 2.89a.75.75 0 1 0-1.474-.28l-.455 2.388H3.61a.75.75 0 0 0 0 1.5h1.663l-.571 2.998H2.75a.75.75 0 0 0 0 1.5h1.666l-.403 2.114a.75.75 0 0 0 1.474.28l.456-2.394h2.973l-.403 2.114a.75.75 0 0 0 1.474.28l.456-2.394h1.947a.75.75 0 0 0 0-1.5h-1.661l.57-2.998h1.95a.75.75 0 0 0 0-1.5h-1.664l.402-2.108a.75.75 0 0 0-1.474-.28l-.455 2.388H7.085l.402-2.108ZM6.8 6.498l-.571 2.998h2.973l.57-2.998H6.8Z"),V(k,"clip-rule","evenodd"),V(b,"xmlns","http://www.w3.org/2000/svg"),V(b,"viewBox","0 0 16 16"),V(b,"fill","currentColor"),V(b,"class","size-5"),V(B,"class","text-left self-center overflow-hidden w-full line-clamp-1"),V(C,"class","flex items-center gap-1"),V(p,"class","w-full flex justify-between"),V(p,"href",_="/channels/"+c[2].id),V(p,"draggable","false"),V(f,"class",j="w-full "+c[1]+" rounded-lg flex relative group hover:bg-gray-100 dark:hover:bg-gray-900 "+(c[5].url.pathname===`/channels/${c[2].id}`?"bg-gray-100 dark:bg-gray-900":"")+" px-2.5 py-1")},m(d,T){Xt(n,d,T),He(d,o,T),He(d,f,T),Q(f,p),Q(p,C),Q(C,b),Q(b,k),Q(C,E),Q(C,B),Q(B,D),Q(f,O),v&&v.m(f,null),c[12](f),U=!0,H||(Z=Pt(p,"click",c[10]),H=!0)},p(d,[T]){var N;const re={};T&4&&(re.channel=d[2]),T&1&&(re.onUpdate=d[0]),T&5&&(re.onSubmit=d[8]),!s&&T&8&&(s=!0,re.show=d[3],ts(()=>s=!1)),n.$set(re),(!U||T&4)&&G!==(G=d[2].name+"")&&st(D,G),(!U||T&4&&_!==(_="/channels/"+d[2].id))&&V(p,"href",_),((N=d[7])==null?void 0:N.role)==="admin"?v?(v.p(d,T),T&128&&at(v,1)):(v=yh(d),v.c(),at(v,1),v.m(f,null)):v&&(zr(),dt(v,1,1,()=>{v=null}),Fr()),(!U||T&38&&j!==(j="w-full "+d[1]+" rounded-lg flex relative group hover:bg-gray-100 dark:hover:bg-gray-900 "+(d[5].url.pathname===`/channels/${d[2].id}`?"bg-gray-100 dark:bg-gray-900":"")+" px-2.5 py-1"))&&V(f,"class",j)},i(d){U||(at(n.$$.fragment,d),at(v),U=!0)},o(d){dt(n.$$.fragment,d),dt(v),U=!1},d(d){d&&(z(o),z(f)),qt(n,d),v&&v.d(),c[12](null),H=!1,Z()}}}const UI=c=>{};function KI(c,n,s){let o,f,p;jA(c,td,U=>s(5,o=U)),jA(c,U1,U=>s(6,f=U)),jA(c,rl,U=>s(7,p=U)),Aa("i18n");let{onUpdate:C=()=>{}}=n,{className:b=""}=n,{channel:k}=n,E=!1,B;const G=async({name:U,access_control:H})=>{await fC(localStorage.token,k.id,{name:U,access_control:H}).catch(X=>{gr.error(X.message)})&&gr.success("Channel updated successfully"),C()};function D(U){E=U,s(3,E)}const _=()=>{f&&xo.set(!1)},O=U=>{U.stopPropagation(),s(3,E=!0)};function j(U){Br[U?"unshift":"push"](()=>{B=U,s(4,B)})}return c.$$set=U=>{"onUpdate"in U&&s(0,C=U.onUpdate),"className"in U&&s(1,b=U.className),"channel"in U&&s(2,k=U.channel)},[C,b,k,E,B,o,f,p,G,D,_,O,j]}class ZI extends vs{constructor(n){super(),ys(this,n,KI,WI,ks,{onUpdate:0,className:1,channel:2})}}function Eh(c,n,s){const o=c.slice();return o[82]=n[s],o[84]=s,o}function Bh(c,n,s){const o=c.slice();return o[82]=n[s],o[84]=s,o}function xh(c,n,s){const o=c.slice();return o[86]=n[s],o}function Mh(c){let n,s,o,f;return{c(){n=q("div"),this.h()},l(p){n=J(p,"DIV",{class:!0}
13),$(n).forEach(z),this.h()},h(){V(n,"class",s=(c[17]?" ml-[4.5rem] md:ml-0":"")+" fixed md:hidden z-40 top-0 right-0 left-0 bottom-0 bg-black/60 w-full min-h-screen h-screen flex justify-center overflow-hidden overscroll-contain")},m(p,C){He(p,n,C),o||(f=Pt(n,"mousedown",c[36]),o=!0)},p(p,C){C[0]&131072&&s!==(s=(p[17]?" ml-[4.5rem] md:ml-0":"")+" fixed md:hidden z-40 top-0 right-0 left-0 bottom-0 bg-black/60 w-full min-h-screen h-screen flex justify-center overflow-hidden overscroll-contain")&&V(n,"class",s)},d(p){p&&z(n),o=!1,f()}}}function Dh(c){let n,s,o,f='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="size-[1.1rem]"><path stroke-linecap="round" stroke-linejoin="round" d="M13.5 16.875h3.375m0 0h3.375m-3.375 0V13.5m0 3.375v3.375M6 10.5h2.25a2.25 2.25 0 0 0 2.25-2.25V6a2.25 2.25 0 0 0-2.25-2.25H6A2.25 2.25 0 0 0 3.75 6v2.25A2.25 2.25 0 0 0 6 10.5Zm0 9.75h2.25A2.25 2.25 0 0 0 10.5 18v-2.25a2.25 2.25 0 0 0-2.25-2.25H6a2.25 2.25 0 0 0-2.25 2.25V18A2.25 2.25 0 0 0 6 20.25Zm9.75-9.75H18a2.25 2.25 0 0 0 2.25-2.25V6A2.25 2.25 0 0 0 18 3.75h-2.25A2.25 2.25 0 0 0 13.5 6v2.25a2.25 2.25 0 0 0 2.25 2.25Z"></path></svg>',p,C,b,k=c[12].t("Workspace")+"",E,B,G;return{c(){n=q("div"),s=q("a"),o=q("div"),o.innerHTML=f,p=Pe(),C=q("div"),b=q("div"),E=Xe(k),this.h()},l(D){n=J(D,"DIV",{class:!0});var _=$(n);s=J(_,"A",{class:!0,href:!0,draggable:!0});var O=$(s);o=J(O,"DIV",{class:!0,"data-svelte-h":!0}),hr(o)!=="svelte-zod9jr"&&(o.innerHTML=f),p=Se(O),C=J(O,"DIV",{class:!0});var j=$(C);b=J(j,"DIV",{class:!0});var U=$(b);E=qe(U,k),U.forEach(z),j.forEach(z),O.forEach(z),_.forEach(z),this.h()},h(){V(o,"class","self-center"),V(b,"class","self-center font-medium text-sm font-primary"),V(C,"class","flex self-center translate-y-[0.5px]"),V(s,"class","grow flex items-center space-x-3 rounded-lg px-2 py-[7px] hover:bg-gray-100 dark:hover:bg-gray-900 transition"),V(s,"href","/workspace"),V(s,"draggable","false"),V(n,"class","px-1.5 flex justify-center text-gray-800 dark:text-gray-200")},m(D,_){He(D,n,_),Q(n,s),Q(s,o),Q(s,p),Q(s,C),Q(C,b),Q(b,E),B||(G=Pt(s,"click",c[39]),B=!0)},p(D,_){_[0]&4096&&k!==(k=D[12].t("Workspace")+"")&&st(E,k)},d(D){D&&z(n),B=!1,G()}}}function Gh(c){let n;return{c(){n=q("div"),this.h()},l(s){n=J(s,"DIV",{class:!0}),$(n).forEach(z),this.h()},h(){V(n,"class","absolute z-40 w-full h-full flex justify-center")},m(s,o){He(s,n,o)},d(s){s&&z(n)}}}function _h(c){let n,s;return n=new od({props:{className:"px-2 mt-0.5",name:c[12].t("Channels"),dragAndDrop:!1,onAdd:c[42],onAddLabel:c[12].t("Create Channel"),$$slots:{default:[XI]},$$scope:{ctx:c}}}),{c(){Kt(n.$$.fragment)},l(o){Zt(n.$$.fragment,o)},m(o,f){Xt(n,o,f),s=!0},p(o,f){const p={};f[0]&4096&&(p.name=o[12].t("Channels")),f[0]&65600&&(p.onAdd=o[42]),f[0]&4096&&(p.onAddLabel=o[12].t("Create Channel")),f[0]&1048576|f[2]&134217728&&(p.$$scope={dirty:f,ctx:o}),n.$set(p)},i(o){s||(at(n.$$.fragment,o),s=!0)},o(o){dt(n.$$.fragment,o),s=!1},d(o){qt(n,o)}}}function Th(c){let n,s;return n=new ZI({props:{channel:c[86],onUpdate:c[41]}}),{c(){Kt(n.$$.fragment)},l(o){Zt(n.$$.fragment,o)},m(o,f){Xt(n,o,f),s=!0},p(o,f){const p={};f[0]&1048576&&(p.channel=o[86]),n.$set(p)},i(o){s||(at(n.$$.fragment,o),s=!0)},o(o){dt(n.$$.fragment,o),s=!1},d(o){qt(n,o)}}}function XI(c){let n,s,o=Ur(c[20]),f=[];for(let C=0;C<o.length;C+=1)f[C]=Th(xh(c,o,C));const p=C=>dt(f[C],1,1,()=>{f[C]=null});return{c(){for(let C=0;C<f.length;C+=1)f[C].c();n=ws()},l(C){for(let b=0;b<f.length;b+=1)f[b].l(C);n=ws()},m(C,b){for(let k=0;k<f.length;k+=1)f[k]&&f[k].m(C,b);He(C,n,b),s=!0},p(C,b){if(b[0]&68157440){o=Ur(C[20]);let k;for(k=0;k<o.length;k+=1){const E=xh(C,o,k);f[k]?(f[k].p(E,b),at(f[k],1)):(f[k]=Th(E),f[k].c(),at(f[k],1),f[k].m(n.parentNode,n))}for(zr(),k=o.length;k<f.length;k+=1)p(k);Fr()}},i(C){if(!s){for(let b=0;b<o.length;b+=1)at(f[b]);s=!0}},o(C){f=f.filter(Boolean);for(let b=0;b<f.length;b+=1)dt(f[b]);s=!1},d(C){C&&z(n),Un(f,C)}}}function Qh(c){let n;return{c(){n=q("div"),this.h()},l(s){n=J(s,"DIV",{class:!0}),$(n).forEach(z),this.h()},h(){V(n,"class","absolute z-40 w-full h-full flex justify-center")},m(s,o){He(s,n,o)},d(s){s&&z(n)}}}function Ph(c){let n,s,o,f;function p(b){c[47](b)}let C={className:"",name:c[12].t("Pinned"),$$slots:{default:[qI]},$$scope:{ctx:c}};return c[5]!==void 0&&(C.open=c[5]),s=new od({props:C}),Br.push(()=>As(s,"open",p)),s.$on("change",c[48]),s.$on("import",c[49]),s.$on("drop",c[50]),{c(){n=q("div"),Kt(s.$$.fragment),this.h()},l(b){n=J(b,"DIV",{class:!0});var k=$(n);
13Zt(s.$$.fragment,k),k.forEach(z),this.h()},h(){V(n,"class","flex flex-col space-y-1 rounded-xl")},m(b,k){He(b,n,k),Xt(s,n,null),f=!0},p(b,k){const E={};k[0]&4096&&(E.name=b[12].t("Pinned")),k[0]&2097164|k[2]&134217728&&(E.$$scope={dirty:k,ctx:b}),!o&&k[0]&32&&(o=!0,E.open=b[5],ts(()=>o=!1)),s.$set(E)},i(b){f||(at(s.$$.fragment,b),f=!0)},o(b){dt(s.$$.fragment,b),f=!1},d(b){b&&z(n),qt(s)}}}function Sh(c){let n,s;function o(){return c[43](c[82])}function f(...p){return c[46](c[82],...p)}return n=new id({props:{className:"",id:c[82].id,title:c[82].title,shiftKey:c[2],selected:c[3]===c[82].id}}),n.$on("select",o),n.$on("unselect",c[44]),n.$on("change",c[45]),n.$on("tag",f),{c(){Kt(n.$$.fragment)},l(p){Zt(n.$$.fragment,p)},m(p,C){Xt(n,p,C),s=!0},p(p,C){c=p;const b={};C[0]&2097152&&(b.id=c[82].id),C[0]&2097152&&(b.title=c[82].title),C[0]&4&&(b.shiftKey=c[2]),C[0]&2097160&&(b.selected=c[3]===c[82].id),n.$set(b)},i(p){s||(at(n.$$.fragment,p),s=!0)},o(p){dt(n.$$.fragment,p),s=!1},d(p){qt(n,p)}}}function qI(c){let n,s,o=Ur(c[21]),f=[];for(let C=0;C<o.length;C+=1)f[C]=Sh(Bh(c,o,C));const p=C=>dt(f[C],1,1,()=>{f[C]=null});return{c(){n=q("div");for(let C=0;C<f.length;C+=1)f[C].c();this.h()},l(C){n=J(C,"DIV",{class:!0});var b=$(n);for(let k=0;k<f.length;k+=1)f[k].l(b);b.forEach(z),this.h()},h(){V(n,"class","ml-3 pl-1 mt-[1px] flex flex-col overflow-y-auto scrollbar-hidden border-s border-gray-100 dark:border-gray-900 svelte-141e0sl")},m(C,b){He(C,n,b);for(let k=0;k<f.length;k+=1)f[k]&&f[k].m(n,null);s=!0},p(C,b){if(b[0]&136314892|b[1]&1){o=Ur(C[21]);let k;for(k=0;k<o.length;k+=1){const E=Bh(C,o,k);f[k]?(f[k].p(E,b),at(f[k],1)):(f[k]=Sh(E),f[k].c(),at(f[k],1),f[k].m(n,null))}for(zr(),k=o.length;k<f.length;k+=1)p(k);Fr()}},i(C){if(!s){for(let b=0;b<o.length;b+=1)at(f[b]);s=!0}},o(C){f=f.filter(Boolean);for(let b=0;b<f.length;b+=1)dt(f[b]);s=!1},d(C){C&&z(n),Un(f,C)}}}function Nh(c){let n,s;return n=new FI({props:{folders:c[9]}}),n.$on("import",c[51]),n.$on("update",c[52]),n.$on("change",c[53]),{c(){Kt(n.$$.fragment)},l(o){Zt(n.$$.fragment,o)},m(o,f){Xt(n,o,f),s=!0},p(o,f){const p={};f[0]&512&&(p.folders=o[9]),n.$set(p)},i(o){s||(at(n.$$.fragment,o),s=!0)},o(o){dt(n.$$.fragment,o),s=!1},d(o){qt(n,o)}}}function JI(c){let n,s,o,f,p="Loading...",C;return s=new $u({props:{className:" size-4"}}),{c(){n=q("div"),Kt(s.$$.fragment),o=Pe(),f=q("div"),f.textContent=p,this.h()},l(b){n=J(b,"DIV",{class:!0});var k=$(n);Zt(s.$$.fragment,k),o=Se(k),f=J(k,"DIV",{class:!0,"data-svelte-h":!0}),hr(f)!=="svelte-17uns3n"&&(f.textContent=p),k.forEach(z),this.h()},h(){V(f,"class",""),V(n,"class","w-full flex justify-center py-1 text-xs animate-pulse items-center gap-2")},m(b,k){He(b,n,k),Xt(s,n,null),Q(n,o),Q(n,f),C=!0},p:qA,i(b){C||(at(s.$$.fragment,b),C=!0)},o(b){dt(s.$$.fragment,b),C=!1},d(b){b&&z(n),qt(s)}}}function $I(c){let n,s,o,f=Ur(c[13]),p=[];for(let k=0;k<f.length;k+=1)p[k]=Fh(Eh(c,f,k));const C=k=>dt(p[k],1,1,()=>{p[k]=null});let b=c[22]&&!c[8]&&Oh(c);return{c(){for(let k=0;k<p.length;k+=1)p[k].c();n=Pe(),b&&b.c(),s=ws()},l(k){for(let E=0;E<p.length;E+=1)p[E].l(k);n=Se(k),b&&b.l(k),s=ws()},m(k,E){for(let B=0;B<p.length;B+=1)p[B]&&p[B].m(k,E);He(k,n,E),b&&b.m(k,E),He(k,s,E),o=!0},p(k,E){if(E[0]&134230028|E[1]&1){f=Ur(k[13]);let B;for(B=0;B<f.length;B+=1){const G=Eh(k,f,B);p[B]?(p[B].p(G,E),at(p[B],1)):(p[B]=Fh(G),p[B].c(),at(p[B],1),p[B].m(n.parentNode,n))}for(zr(),B=f.length;B<p.length;B+=1)C(B);Fr()}k[22]&&!k[8]?b?(b.p(k,E),E[0]&4194560&&at(b,1)):(b=Oh(k),b.c(),at(b,1),b.m(s.parentNode,s)):b&&(zr(),dt(b,1,1,()=>{b=null}),Fr())},i(k){if(!o){for(let E=0;E<f.length;E+=1)at(p[E]);at(b),o=!0}},o(k){p=p.filter(Boolean);for(let E=0;E<p.length;E+=1)dt(p[E]);dt(b),o=!1},d(k){k&&(z(n),z(s)),Un(p,k),b&&b.d(k)}}}function zh(c){let n,s=c[12].t(c[82].time_range)+"",o;return{c(){n=q("div"),o=Xe(s),this.h()},l(f){n=J(f,"DIV",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","w-full pl-2.5 text-xs text-gray-500 dark:text-gray-500 font-medium "+(c[84]===0?"":"pt-5")+" pb-1.5")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[0]&12288&&s!==(s=f[12].t(f[82].time_range)+"")&&st(o,s)},d(f){f&&z(n)}}}function Fh(c){let n,s,o,f=(c[84]===0||c[84]>0&&c[82].time_range!==c[13][c[84]-1].time_range)&&zh(c);function p(){return c[54](c[82])}function C(...b){return c[57](c[82],...b)}return s=new id({props:{className:"",id:c[82].id,title:c[82].title,shiftKey:c[2],selected:c[3]===c[82].id}}),s.$on("select",p),s.$on("unselect",c[55]),s.$on("change",c[56]),s.$on("tag",C),{c(){f&&f.c(),n=Pe(),Kt(s.$$.fragment)},l(b){f&&f.l(b),n=Se(b),Zt(s.$$.fragment,b)}
13,m(b,k){f&&f.m(b,k),He(b,n,k),Xt(s,b,k),o=!0},p(b,k){c=b,c[84]===0||c[84]>0&&c[82].time_range!==c[13][c[84]-1].time_range?f?f.p(c,k):(f=zh(c),f.c(),f.m(n.parentNode,n)):f&&(f.d(1),f=null);const E={};k[0]&8192&&(E.id=c[82].id),k[0]&8192&&(E.title=c[82].title),k[0]&4&&(E.shiftKey=c[2]),k[0]&8200&&(E.selected=c[3]===c[82].id),s.$set(E)},i(b){o||(at(s.$$.fragment,b),o=!0)},o(b){dt(s.$$.fragment,b),o=!1},d(b){b&&z(n),f&&f.d(b),qt(s,b)}}}function Oh(c){let n,s;return n=new oC({props:{$$slots:{default:[ew]},$$scope:{ctx:c}}}),n.$on("visible",c[58]),{c(){Kt(n.$$.fragment)},l(o){Zt(n.$$.fragment,o)},m(o,f){Xt(n,o,f),s=!0},p(o,f){const p={};f[2]&134217728&&(p.$$scope={dirty:f,ctx:o}),n.$set(p)},i(o){s||(at(n.$$.fragment,o),s=!0)},o(o){dt(n.$$.fragment,o),s=!1},d(o){qt(n,o)}}}function ew(c){let n,s,o,f,p="Loading...",C;return s=new $u({props:{className:" size-4"}}),{c(){n=q("div"),Kt(s.$$.fragment),o=Pe(),f=q("div"),f.textContent=p,this.h()},l(b){n=J(b,"DIV",{class:!0});var k=$(n);Zt(s.$$.fragment,k),o=Se(k),f=J(k,"DIV",{class:!0,"data-svelte-h":!0}),hr(f)!=="svelte-17uns3n"&&(f.textContent=p),k.forEach(z),this.h()},h(){V(f,"class",""),V(n,"class","w-full flex justify-center py-1 text-xs animate-pulse items-center gap-2")},m(b,k){He(b,n,k),Xt(s,n,null),Q(n,o),Q(n,f),C=!0},p:qA,i(b){C||(at(s.$$.fragment,b),C=!0)},o(b){dt(s.$$.fragment,b),C=!1},d(b){b&&z(n),qt(s)}}}function tw(c){let n,s,o,f,p,C,b,k,E=c[18]&&Qh(),B=!c[1]&&c[21].length>0&&Ph(c),G=!c[1]&&c[9]&&Nh(c);const D=[$I,JI],_=[];function O(j,U){return j[13]?0:1}return C=O(c),b=_[C]=D[C](c),{c(){E&&E.c(),n=Pe(),B&&B.c(),s=Pe(),G&&G.c(),o=Pe(),f=q("div"),p=q("div"),b.c(),this.h()},l(j){E&&E.l(j),n=Se(j),B&&B.l(j),s=Se(j),G&&G.l(j),o=Se(j),f=J(j,"DIV",{class:!0});var U=$(f);p=J(U,"DIV",{class:!0});var H=$(p);b.l(H),H.forEach(z),U.forEach(z),this.h()},h(){V(p,"class","pt-1.5"),V(f,"class","flex-1 flex flex-col overflow-y-auto scrollbar-hidden svelte-141e0sl")},m(j,U){E&&E.m(j,U),He(j,n,U),B&&B.m(j,U),He(j,s,U),G&&G.m(j,U),He(j,o,U),He(j,f,U),Q(f,p),_[C].m(p,null),k=!0},p(j,U){j[18]?E||(E=Qh(),E.c(),E.m(n.parentNode,n)):E&&(E.d(1),E=null),!j[1]&&j[21].length>0?B?(B.p(j,U),U[0]&2097154&&at(B,1)):(B=Ph(j),B.c(),at(B,1),B.m(s.parentNode,s)):B&&(zr(),dt(B,1,1,()=>{B=null}),Fr()),!j[1]&&j[9]?G?(G.p(j,U),U[0]&514&&at(G,1)):(G=Nh(j),G.c(),at(G,1),G.m(o.parentNode,o)):G&&(zr(),dt(G,1,1,()=>{G=null}),Fr());let H=C;C=O(j),C===H?_[C].p(j,U):(zr(),dt(_[H],1,1,()=>{_[H]=null}),Fr(),b=_[C],b?b.p(j,U):(b=_[C]=D[C](j),b.c()),at(b,1),b.m(p,null))},i(j){k||(at(B),at(G),at(b),k=!0)},o(j){dt(B),dt(G),dt(b),k=!1},d(j){j&&(z(n),z(s),z(o),z(f)),E&&E.d(j),B&&B.d(j),G&&G.d(j),_[C].d()}}}function Lh(c){var o;let n,s;return n=new W8({props:{role:(o=c[16])==null?void 0:o.role,$$slots:{default:[Aw]},$$scope:{ctx:c}}}),n.$on("show",c[63]),{c(){Kt(n.$$.fragment)},l(f){Zt(n.$$.fragment,f)},m(f,p){Xt(n,f,p),s=!0},p(f,p){var b;const C={};p[0]&65536&&(C.role=(b=f[16])==null?void 0:b.role),p[0]&65552|p[2]&134217728&&(C.$$scope={dirty:p,ctx:f}),n.$set(C)},i(f){s||(at(n.$$.fragment,f),s=!0)},o(f){dt(n.$$.fragment,f),s=!1},d(f){qt(n,f)}}}function Aw(c){var G;let n,s,o,f,p,C,b=((G=c[16])==null?void 0:G.name)+"",k,E,B;return{c(){n=q("button"),s=q("div"),o=q("img"),p=Pe(),C=q("div"),k=Xe(b),this.h()},l(D){n=J(D,"BUTTON",{class:!0});var _=$(n);s=J(_,"DIV",{class:!0});var O=$(s);o=J(O,"IMG",{src:!0,class:!0,alt:!0}),O.forEach(z),p=Se(_),C=J(_,"DIV",{class:!0});var j=$(C);k=qe(j,b),j.forEach(z),_.forEach(z),this.h()},h(){var D;j1(o.src,f=(D=c[16])==null?void 0:D.profile_image_url)||V(o,"src",f),V(o,"class","max-w-[30px] object-cover rounded-full"),V(o,"alt","User profile"),V(s,"class","self-center mr-3"),V(C,"class","self-center font-medium"),V(n,"class","flex items-center rounded-xl py-2.5 px-2.5 w-full hover:bg-gray-100 dark:hover:bg-gray-900 transition")},m(D,_){He(D,n,_),Q(n,s),Q(s,o),Q(n,p),Q(n,C),Q(C,k),E||(B=Pt(n,"click",c[62]),E=!0)},p(D,_){var O,j;_[0]&65536&&!j1(o.src,f=(O=D[16])==null?void 0:O.profile_image_url)&&V(o,"src",f),_[0]&65536&&b!==(b=((j=D[16])==null?void 0:j.name)+"")&&st(k,b)},d(D){D&&z(n),E=!1,B()}}}function rw(c){var Ie,fe,Qe,Je,rt,lt,xt,jt,eA,Lt,gA,tA,oA,nA,IA,EA;let n,s,o,f,p,C,b,k,E,B,G,D='<div class="m-auto self-center"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="size-5"><path stroke-linecap="round" stroke-linejoin="round" d="M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25H12"></path></svg></div>',_,O,j,U,H=`<img crossorigin="anonymous" src="${b8}/static/favicon.png" class="size-5 -translate-x-1.5 rounded-full" alt="logo"/>`,Z,X,g=c[12].t("New Chat")+"",v,e,d,T,re,N,F,Ce,he,ce,ge,Me,Ue,Ne,de,me,we,_e,pe,it,We,ot,pt,ct;function Re(Gt){c[32](Gt)}let tt={};c[14]!==void 0&&(tt.show=c[14]),n=new ym({props:tt}),Br.push(()=>As(n,"show",Re)),n.$on("change",c[33]);function It(Gt){c[35](Gt)}let wt={onSubmit:c[34]};c[6]!==void 0&&(wt.show=c[6]),f=new Mm({props:wt}),Br.push(()=>As(f,"show",It));let ze=c[11]&&Mh(c);T=new J8({props:{className:" size-5",strokeWidth:"2"}});let At=(((Ie=c[16])==null?void 0:Ie.role)==="admin"||((Je=(Qe=(fe=c[16])==null?void 0:fe.permissions)==null?void 0:Qe.workspace)==null?void 0:Je.models)||
13((xt=(lt=(rt=c[16])==null?void 0:rt.permissions)==null?void 0:lt.workspace)==null?void 0:xt.knowledge)||((Lt=(eA=(jt=c[16])==null?void 0:jt.permissions)==null?void 0:eA.workspace)==null?void 0:Lt.prompts)||((oA=(tA=(gA=c[16])==null?void 0:gA.permissions)==null?void 0:tA.workspace)==null?void 0:oA.tools))&&Dh(c),Bt=c[18]&&Gh();function Ft(Gt){c[40](Gt)}let St={placeholder:c[12].t("Search"),showClearButton:!0};c[1]!==void 0&&(St.value=c[1]),he=new J5({props:St}),Br.push(()=>As(he,"value",Ft)),he.$on("input",c[29]);let oe=((IA=(nA=c[19])==null?void 0:nA.features)==null?void 0:IA.enable_channels)&&(((EA=c[16])==null?void 0:EA.role)==="admin"||c[20].length>0)&&!c[1]&&_h(c);de=new od({props:{collapsible:!c[1],className:"px-2 mt-0.5",name:c[12].t("Chats"),onAdd:c[59],onAddLabel:c[12].t("New Folder"),$$slots:{default:[tw]},$$scope:{ctx:c}}}),de.$on("import",c[60]),de.$on("drop",c[61]);let zt=c[16]!==void 0&&c[16]!==null&&Lh(c);return{c(){Kt(n.$$.fragment),o=Pe(),Kt(f.$$.fragment),C=Pe(),ze&&ze.c(),b=Pe(),k=q("div"),E=q("div"),B=q("div"),G=q("button"),G.innerHTML=D,_=Pe(),O=q("a"),j=q("div"),U=q("div"),U.innerHTML=H,Z=Pe(),X=q("div"),v=Xe(g),e=Pe(),d=q("div"),Kt(T.$$.fragment),re=Pe(),At&&At.c(),N=Pe(),F=q("div"),Bt&&Bt.c(),Ce=Pe(),Kt(he.$$.fragment),Me=Pe(),Ue=q("div"),oe&&oe.c(),Ne=Pe(),Kt(de.$$.fragment),we=Pe(),_e=q("div"),pe=q("div"),zt&&zt.c(),this.h()},l(Gt){Zt(n.$$.fragment,Gt),o=Se(Gt),Zt(f.$$.fragment,Gt),C=Se(Gt),ze&&ze.l(Gt),b=Se(Gt),k=J(Gt,"DIV",{id:!0,class:!0,"data-state":!0});var bA=$(k);E=J(bA,"DIV",{class:!0});var rA=$(E);B=J(rA,"DIV",{class:!0});var br=$(B);G=J(br,"BUTTON",{class:!0,"data-svelte-h":!0}),hr(G)!=="svelte-uwd94y"&&(G.innerHTML=D),_=Se(br),O=J(br,"A",{id:!0,class:!0,href:!0,draggable:!0});var wA=$(O);j=J(wA,"DIV",{class:!0});var OA=$(j);U=J(OA,"DIV",{class:!0,"data-svelte-h":!0}),hr(U)!=="svelte-irsu7d"&&(U.innerHTML=H),Z=Se(OA),X=J(OA,"DIV",{class:!0});var AA=$(X);v=qe(AA,g),AA.forEach(z),OA.forEach(z),e=Se(wA),d=J(wA,"DIV",{});var iA=$(d);Zt(T.$$.fragment,iA),iA.forEach(z),wA.forEach(z),br.forEach(z),re=Se(rA),At&&At.l(rA),N=Se(rA),F=J(rA,"DIV",{class:!0});var Jt=$(F);Bt&&Bt.l(Jt),Ce=Se(Jt),Zt(he.$$.fragment,Jt),Jt.forEach(z),Me=Se(rA),Ue=J(rA,"DIV",{class:!0});var LA=$(Ue);oe&&oe.l(LA),Ne=Se(LA),Zt(de.$$.fragment,LA),LA.forEach(z),we=Se(rA),_e=J(rA,"DIV",{class:!0});var Lr=$(_e);pe=J(Lr,"DIV",{class:!0});var Yr=$(pe);zt&&zt.l(Yr),Yr.forEach(z),Lr.forEach(z),rA.forEach(z),bA.forEach(z),this.h()},h(){V(G,"class","cursor-pointer p-[7px] flex rounded-xl hover:bg-gray-100 dark:hover:bg-gray-900 transition"),V(U,"class","self-center mx-1.5"),V(X,"class","self-center font-medium text-sm text-gray-850 dark:text-white font-primary"),V(j,"class","flex items-center"),V(O,"id","sidebar-new-chat-button"),V(O,"class","flex justify-between items-center flex-1 rounded-lg px-2 py-1 h-full text-right hover:bg-gray-100 dark:hover:bg-gray-900 transition no-drag-region"),V(O,"href","/"),V(O,"draggable","false"),V(B,"class","px-1.5 flex justify-between space-x-1 text-gray-600 dark:text-gray-400"),V(F,"class",ge="relative "+(c[18]?"opacity-20":"")),V(Ue,"class",me="relative flex flex-col flex-1 overflow-y-auto overflow-x-hidden "+(c[18]?"opacity-20":"")),V(pe,"class","flex flex-col font-primary"),V(_e,"class","px-2"),V(E,"class",it="py-2 my-auto flex flex-col justify-between h-screen max-h-[100dvh] w-[260px] overflow-x-hidden z-50 "+(c[11]?"":"invisible")),V(k,"id","sidebar"),V(k,"class",We="h-screen max-h-[100dvh] min-h-screen select-none "+(c[11]?"md:relative w-[260px] max-w-[260px]":"-translate-x-[260px] w-[0px]")+" "+(c[17]?"ml-[4.5rem] md:ml-0 ":"transition-width duration-200 ease-in-out")+" shrink-0 bg-gray-50 text-gray-900 dark:bg-gray-950 dark:text-gray-200 text-sm fixed z-50 top-0 left-0 overflow-x-hidden svelte-141e0sl"),V(k,"data-state",c[11])},m(Gt,bA){Xt(n,Gt,bA),He(Gt,o,bA),Xt(f,Gt,bA),He(Gt,C,bA),ze&&ze.m(Gt,bA),He(Gt,b,bA),He(Gt,k,bA),Q(k,E),Q(E,B),Q(B,G),Q(B,_),Q(B,O),Q(O,j),Q(j,U),Q(j,Z),Q(j,X),Q(X,v),Q(O,e),Q(O,d),Xt(T,d,null),Q(E,re),At&&At.m(E,null),Q(E,N),Q(E,F),Bt&&Bt.m(F,null),Q(F,Ce),Xt(he,F,null),Q(E,Me),Q(E,Ue),oe&&oe.m(Ue,null),Q(Ue,Ne),Xt(de,Ue,null),Q(E,we),Q(E,_e),Q(_e,pe),zt&&zt.m(pe,null),c[64](k),ot=!0,pt||(ct=[Pt(G,"click",c[37]),Pt(O,"click",c[38])],pt=!0)},p(Gt,bA){var AA,iA,Jt,LA,Lr,Yr,Tt,MA,NA,JA,WA,DA,Vr,xr,Dr,Ls;const rA={};!s&&bA[0]&16384&&(s=!0,rA.show=Gt[14],ts(()=>s=!1)),n.$set(rA);const br={};bA[0]&98368&&(br.onSubmit=Gt[34]),!p&&bA[0]&64&&(p=!0,br.show=Gt[6],ts(()=>p=!1)),f.$set(br),Gt[11]?ze?ze.p(Gt,bA):(ze=Mh(Gt),ze.c(),ze.m(b.parentNode,b)):ze&&(ze.d(1),ze=null),(!ot||bA[0]&4096)&&g!==(g=Gt[12].t("New Chat")+"")&&st(v,g),((AA=Gt[16])==null?void 0:AA.role)==="admin"||(LA=(Jt=(iA=Gt[16])==null?void 0:iA.permissions)==null?void 0:Jt.workspace)!=null&&LA.models||(Tt=(Yr=(Lr=Gt[16])==null?void 0:Lr.permissions)==null?void 0:Yr.workspace)!=null&&Tt.knowledge||(JA=(NA=(MA=Gt[16])==null?void 0:MA.permissions)==null?void 0:NA.workspace)!=null&&JA.prompts||(Vr=(DA=(WA=Gt[16])==null?void 0:WA.permissions)==null?void 0:DA.workspace)!=null&&Vr.tools?At?At.p(Gt,bA):(At=Dh(Gt),At.c(),At.m(E,N)):At&&(At.d(1),At=null),Gt[18]?Bt||(Bt=Gh(),Bt.c(),Bt.m(F,Ce)):Bt&&(Bt.d(1),Bt=null);const wA={};bA[0]&4096&&(wA.placeholder=Gt[12].t("Search")),!ce&&bA[0]&2&&(ce=!0,wA.value=Gt[1],ts(()=>ce=!1)),he.$set(wA),(!ot||bA[0]&262144&&ge!==(ge="relative "+(Gt[18]?"opacity-20":"")))&&V(F,"class",ge),(Dr=(xr=Gt[19])==null?void 0:xr.features)!=null&&Dr.enable_channels&&(((Ls=Gt[16
13])==null?void 0:Ls.role)==="admin"||Gt[20].length>0)&&!Gt[1]?oe?(oe.p(Gt,bA),bA[0]&1638402&&at(oe,1)):(oe=_h(Gt),oe.c(),at(oe,1),oe.m(Ue,Ne)):oe&&(zr(),dt(oe,1,1,()=>{oe=null}),Fr());const OA={};bA[0]&2&&(OA.collapsible=!Gt[1]),bA[0]&4096&&(OA.name=Gt[12].t("Chats")),bA[0]&4096&&(OA.onAddLabel=Gt[12].t("New Folder")),bA[0]&6566830|bA[2]&134217728&&(OA.$$scope={dirty:bA,ctx:Gt}),de.$set(OA),(!ot||bA[0]&262144&&me!==(me="relative flex flex-col flex-1 overflow-y-auto overflow-x-hidden "+(Gt[18]?"opacity-20":"")))&&V(Ue,"class",me),Gt[16]!==void 0&&Gt[16]!==null?zt?(zt.p(Gt,bA),bA[0]&65536&&at(zt,1)):(zt=Lh(Gt),zt.c(),at(zt,1),zt.m(pe,null)):zt&&(zr(),dt(zt,1,1,()=>{zt=null}),Fr()),(!ot||bA[0]&2048&&it!==(it="py-2 my-auto flex flex-col justify-between h-screen max-h-[100dvh] w-[260px] overflow-x-hidden z-50 "+(Gt[11]?"":"invisible")))&&V(E,"class",it),(!ot||bA[0]&133120&&We!==(We="h-screen max-h-[100dvh] min-h-screen select-none "+(Gt[11]?"md:relative w-[260px] max-w-[260px]":"-translate-x-[260px] w-[0px]")+" "+(Gt[17]?"ml-[4.5rem] md:ml-0 ":"transition-width duration-200 ease-in-out")+" shrink-0 bg-gray-50 text-gray-900 dark:bg-gray-950 dark:text-gray-200 text-sm fixed z-50 top-0 left-0 overflow-x-hidden svelte-141e0sl"))&&V(k,"class",We),(!ot||bA[0]&2048)&&V(k,"data-state",Gt[11])},i(Gt){ot||(at(n.$$.fragment,Gt),at(f.$$.fragment,Gt),at(T.$$.fragment,Gt),at(he.$$.fragment,Gt),at(oe),at(de.$$.fragment,Gt),at(zt),ot=!0)},o(Gt){dt(n.$$.fragment,Gt),dt(f.$$.fragment,Gt),dt(T.$$.fragment,Gt),dt(he.$$.fragment,Gt),dt(oe),dt(de.$$.fragment,Gt),dt(zt),ot=!1},d(Gt){Gt&&(z(o),z(C),z(b),z(k)),qt(n,Gt),qt(f,Gt),ze&&ze.d(Gt),qt(T),At&&At.d(),Bt&&Bt.d(),qt(he),oe&&oe.d(),qt(de),zt&&zt.d(),c[64](null),pt=!1,Gs(ct)}}}function sw(c,n,s){let o,f,p,C,b,k,E,B,G,D,_,O,j,U;jA(c,U1,Tt=>s(10,o=Tt)),jA(c,xo,Tt=>s(11,f=Tt)),jA(c,Ro,Tt=>s(13,C=Tt)),jA(c,Wo,Tt=>s(70,b=Tt)),jA(c,Tf,Tt=>s(14,k=Tt)),jA(c,P8,Tt=>s(15,E=Tt)),jA(c,rl,Tt=>s(16,B=Tt)),jA(c,S8,Tt=>s(17,G=Tt)),jA(c,Wu,Tt=>s(18,D=Tt)),jA(c,sl,Tt=>s(19,_=Tt)),jA(c,Wg,Tt=>s(20,O=Tt)),jA(c,K1,Tt=>s(21,j=Tt)),jA(c,y2,Tt=>s(22,U=Tt));const H=Aa("i18n");jA(c,H,Tt=>s(12,p=Tt));let Z,X="",g=!1,v=null,e=!1,d=!0,T=!1,re=!1,N=!1,F={},Ce=null;const he=async()=>{const Tt=await HC(localStorage.token).catch(MA=>(gr.error(`${MA}`),[]));s(9,F={});for(const MA of Tt)s(9,F[MA.id]={...F[MA.id]||{},...MA},F),Ce&&MA.id===Ce&&(s(9,F[MA.id].new=!0,F),Ce=null);for(const MA of Tt)MA.parent_id&&(F[MA.parent_id]||s(9,F[MA.parent_id]={},F),s(9,F[MA.parent_id].childrenIds=F[MA.parent_id].childrenIds?[...F[MA.parent_id].childrenIds,MA.id]:[MA.id],F),F[MA.parent_id].childrenIds.sort((NA,JA)=>F[JA].updated_at-F[NA].updated_at))},ce=async(Tt="Untitled")=>{if(Tt===""){gr.error(p.t("Folder name cannot be empty."));return}const MA=Object.values(F).filter(WA=>WA.parent_id===null);if(MA.find(WA=>WA.name.toLowerCase()===Tt.toLowerCase())){let WA=1;for(;MA.find(DA=>DA.name.toLowerCase()===`${Tt} ${WA}`.toLowerCase());)WA++;Tt=`${Tt} ${WA}`}const NA=k8();s(9,F={...F,tempId:{id:NA,name:Tt,created_at:Date.now(),updated_at:Date.now()}});const JA=await VC(localStorage.token,Tt).catch(WA=>(gr.error(`${WA}`),null));JA&&(Ce=JA.id,await he())},ge=async()=>{await Wg.set(await dC(localStorage.token))},Me=async()=>{qu.set(await Z1(localStorage.token)),K1.set(await Xf(localStorage.token)),he(),Wo.set(1),s(8,N=!1),X?await Ro.set(await Pf(localStorage.token,X,b)):await Ro.set(await Al(localStorage.token,b)),y2.set(!0)},Ue=async()=>{s(7,re=!0),Wo.set(b+1);let Tt=[];X?Tt=await Pf(localStorage.token,X,b):Tt=await Al(localStorage.token,b),s(8,N=Tt.length===0),await Ro.set([...C||[],...Tt]),s(7,re=!1)};let Ne;const de=async()=>{if(console.log("search",X),Ro.set(null),Ne&&clearTimeout(Ne),X===""){await Me();return}else Ne=setTimeout(async()=>{s(8,N=!1),Wo.set(1),await Ro.set(await Pf(localStorage.token,X)),C.length===0&&qu.set(await Z1(localStorage.token))},1e3)},me=async(Tt,MA=!1,NA=null)=>{console.log("importChatHandler",Tt,MA,NA);for(const JA of Tt)console.log(JA),JA.chat&&await Y1(localStorage.token,JA.chat,(JA==null?void 0:JA.meta)??{},MA,NA);Me()},we=async Tt=>{console.log(Tt);for(const MA of Tt){const NA=new FileReader;NA.onload=async JA=>{const WA=JA.target.result;try{const DA=JSON.parse(WA);me(DA)}catch{gr.error(p.t("Invalid file format."))}},NA.readAsText(MA)}},_e=async(Tt,MA,NA)=>{console.log(Tt,MA,NA),(Tt==="delete"||Tt==="add")&&Me()},pe=Tt=>{var MA,NA;Tt.preventDefault(),(NA=(MA=Tt.dataTransfer)==null?void 0:MA.types)!=null&&NA.includes("Files")},it=()=>{},We=async Tt=>{var MA,NA;if(Tt.preventDefault(),console.log(Tt),(MA=Tt.dataTransfer)!=null&&MA.files){const JA=Array.from((NA=Tt.dataTransfer)==null?void 0:NA.files);JA&&JA.length>0&&(console.log(JA),we(JA))}};let ot,pt;function ct(){const Tt=window.innerWidth,MA=Math.abs(pt.screenX-ot.screenX);ot.clientX<40&&MA>=Tt/8&&(pt.screenX<ot.screenX&&xo.set(!1),pt.screenX>ot.screenX&&xo.set(!0))}const Re=Tt=>{ot=Tt.changedTouches[0],console.log(ot.clientX)},tt=Tt=>{pt=Tt.changedTouches[0],ct()},It=Tt=>{Tt.key==="Shift"&&s(2,g=!0)},wt=Tt=>{Tt.key==="Shift"&&s(2,g=!1)},ze=()=>{},At=()=>
13{s(2,g=!1),s(3,v=null)};Kn(async()=>{s(5,d=localStorage!=null&&localStorage.showPinnedChat?localStorage.showPinnedChat==="true":!0),U1.subscribe(MA=>{if(f&&MA&&xo.set(!1),f&&!MA){const NA=document.getElementsByTagName("nav")[0];NA&&(NA.style["-webkit-app-region"]="drag")}!f&&!MA&&xo.set(!0)}),xo.set(o?!1:localStorage.sidebar==="true"),xo.subscribe(MA=>{localStorage.sidebar=MA;const NA=document.getElementsByTagName("nav")[0];NA&&(o&&MA?NA.style["-webkit-app-region"]="no-drag":NA.style["-webkit-app-region"]="drag")}),await ge(),await Me(),window.addEventListener("keydown",It),window.addEventListener("keyup",wt),window.addEventListener("touchstart",Re),window.addEventListener("touchend",tt),window.addEventListener("focus",ze),window.addEventListener("blur-sm",At);const Tt=document.getElementById("sidebar");Tt==null||Tt.addEventListener("dragover",pe),Tt==null||Tt.addEventListener("drop",We),Tt==null||Tt.addEventListener("dragleave",it)}),z2(()=>{window.removeEventListener("keydown",It),window.removeEventListener("keyup",wt),window.removeEventListener("touchstart",Re),window.removeEventListener("touchend",tt),window.removeEventListener("focus",ze),window.removeEventListener("blur-sm",At);const Tt=document.getElementById("sidebar");Tt==null||Tt.removeEventListener("dragover",pe),Tt==null||Tt.removeEventListener("drop",We),Tt==null||Tt.removeEventListener("dragleave",it)});function Bt(Tt){k=Tt,Tf.set(k)}const Ft=async()=>{await Me()},St=async({name:Tt,access_control:MA})=>{await gC(localStorage.token,{name:Tt,access_control:MA}).catch(JA=>(gr.error(`${JA}`),null))&&(E.emit("join-channels",{auth:{token:B==null?void 0:B.token}}),await ge(),s(6,T=!1))};function oe(Tt){T=Tt,s(6,T)}const zt=()=>{xo.set(!f)},Ie=()=>{xo.set(!f)},fe=async()=>{s(3,v=null),await V0("/");const Tt=document.getElementById("new-chat-button");setTimeout(()=>{Tt==null||Tt.click(),o&&xo.set(!1)},0)},Qe=()=>{s(3,v=null),Uf.set(""),o&&xo.set(!1)};function Je(Tt){X=Tt,s(1,X)}const rt=async()=>{await ge()},lt=async()=>{(B==null?void 0:B.role)==="admin"&&(await F0(),setTimeout(()=>{s(6,T=!0)},0))},xt=Tt=>{s(3,v=Tt.id)},jt=()=>{s(3,v=null)},eA=async()=>{Me()},Lt=(Tt,MA)=>{const{type:NA,name:JA}=MA.detail;_e(NA,JA,Tt.id)};function gA(Tt){d=Tt,s(5,d)}const tA=Tt=>{localStorage.setItem("showPinnedChat",Tt.detail),console.log(Tt.detail)},oA=Tt=>{me(Tt.detail,!0)},nA=async Tt=>{const{type:MA,id:NA,item:JA}=Tt.detail;if(MA==="chat"){let WA=await yl(localStorage.token,NA).catch(DA=>null);!WA&&JA&&(WA=await Y1(localStorage.token,JA.chat,(JA==null?void 0:JA.meta)??{})),WA&&(console.log(WA),WA.folder_id&&await qf(localStorage.token,WA.id,null).catch(DA=>(gr.error(`${DA}`),null)),WA.pinned||await Zf(localStorage.token,WA.id),Me())}},IA=Tt=>{const{folderId:MA,items:NA}=Tt.detail;me(NA,!1,MA)},EA=async Tt=>{Me()},Gt=async()=>{Me()},bA=Tt=>{s(3,v=Tt.id)},rA=()=>{s(3,v=null)},br=async()=>{Me()},wA=(Tt,MA)=>{const{type:NA,name:JA}=MA.detail;_e(NA,JA,Tt.id)},OA=Tt=>{re||Ue()},AA=()=>{ce()},iA=Tt=>{me(Tt.detail)},Jt=async Tt=>{const{type:MA,id:NA,item:JA}=Tt.detail;if(MA==="chat"){let WA=await yl(localStorage.token,NA).catch(DA=>null);!WA&&JA&&(WA=await Y1(localStorage.token,JA.chat,(JA==null?void 0:JA.meta)??{})),WA&&(console.log(WA),WA.folder_id&&await qf(localStorage.token,WA.id,null).catch(DA=>(gr.error(`${DA}`),null)),WA.pinned&&await Zf(localStorage.token,WA.id),Me())}else if(MA==="folder"){if(F[NA].parent_id===null)return;await vm(localStorage.token,NA,null).catch(DA=>(gr.error(`${DA}`),null))&&await he()}},LA=()=>{s(4,e=!e)},Lr=Tt=>{Tt.detail==="archived-chat"&&Tf.set(!0)};function Yr(Tt){Br[Tt?"unshift":"push"](()=>{Z=Tt,s(0,Z)})}return[Z,X,g,v,e,d,T,re,N,F,o,f,p,C,k,E,B,G,D,_,O,j,U,H,he,ce,ge,Me,Ue,de,me,_e,Bt,Ft,St,oe,zt,Ie,fe,Qe,Je,rt,lt,xt,jt,eA,Lt,gA,tA,oA,nA,IA,EA,Gt,bA,rA,br,wA,OA,AA,iA,Jt,LA,Lr,Yr]}class aw extends vs{constructor(n){super(),ys(this,n,sw,rw,ks,{},null,[-1,-1,-1])}}function Vh(c){let n,s,o,f=c[4].t("Current Password")+"",p,C,b,k,E,B,G,D,_=c[4].t("New Password")+"",O,j,U,H,Z,X,g,v,e=c[4].t("Confirm Password")+"",d,T,re,N,F,Ce,he,ce,ge=c[4].t("Update password")+"",Me,Ue,Ne;return{c(){n=q("div"),s=q("div"),o=q("div"),p=Xe(f),C=Pe(),b=q("div"),k=q("input"),B=Pe(),G=q("div"),D=q("div"),O=Xe(_),j=Pe(),U=q("div"),H=q("input"),X=Pe(),g=q("div"),v=q("div"),d=Xe(e),T=Pe(),re=q("div"),N=q("input"),Ce=Pe(),he=q("div"),ce=q("button"),Me=Xe(ge),this.h()},l(de){n=J(de,"DIV",{class:!0});var me=$(n);s=J(me,"DIV",{class:!0});var we=$(s);o=J(we,"DIV",{class:!0});var _e=$(o);p=qe(_e,f),_e.forEach(z),C=Se(we),b=J(we,"DIV",{class:!0});var pe=$(b);k=J(pe,"INPUT",{class:!0,type:!0,placeholder:!0,autocomplete:!0}),pe.forEach(z),we.forEach(z),B=Se(me),G=J(me,"DIV",{class:!0});var it=$(G);D=J(it,"DIV",{class:!0});var We=$(D);O=qe(We,_),We.forEach(z),j=Se(it),U=J(it,"DIV",{class:!0});var ot=$(U);H=J(ot,"INPUT",{class:!0,type:!0,placeholder:!0,autocomplete:!0}),ot.forEach(z),it.forEach(z),X=Se(me),g=J(me,"DIV",{class:!0});var pt=$(g);v=J(pt,"DIV",{class:!0});var ct=$(v);d=qe(ct,e),ct.forEach(z),T=Se(pt),re=J(pt,"DIV",{class:!0});var Re=$(re);N=J(Re,"INPUT",{class:!0,type:!0,placeholder:!0,autocomplete:!0}),Re.forEach(z),pt.forEach(z),me.forEach(z),Ce=Se(de),he=J(de,"DIV",{class:!0});var tt=$(he);ce=J(tt,"BUTTON",{class:!0});
13var It=$(ce);Me=qe(It,ge),It.forEach(z),tt.forEach(z),this.h()},h(){V(o,"class","mb-1 text-xs text-gray-500"),V(k,"class","w-full bg-transparent dark:text-gray-300 outline-hidden placeholder:opacity-30"),V(k,"type","password"),V(k,"placeholder",E=c[4].t("Enter your current password")),V(k,"autocomplete","current-password"),k.required=!0,V(b,"class","flex-1"),V(s,"class","flex flex-col w-full"),V(D,"class","mb-1 text-xs text-gray-500"),V(H,"class","w-full bg-transparent text-sm dark:text-gray-300 outline-hidden placeholder:opacity-30"),V(H,"type","password"),V(H,"placeholder",Z=c[4].t("Enter your new password")),V(H,"autocomplete","new-password"),H.required=!0,V(U,"class","flex-1"),V(G,"class","flex flex-col w-full"),V(v,"class","mb-1 text-xs text-gray-500"),V(N,"class","w-full bg-transparent text-sm dark:text-gray-300 outline-hidden placeholder:opacity-30"),V(N,"type","password"),V(N,"placeholder",F=c[4].t("Confirm your new password")),V(N,"autocomplete","off"),N.required=!0,V(re,"class","flex-1"),V(g,"class","flex flex-col w-full"),V(n,"class","py-2.5 space-y-1.5"),V(ce,"class","px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"),V(he,"class","mt-3 flex justify-end")},m(de,me){He(de,n,me),Q(n,s),Q(s,o),Q(o,p),Q(s,C),Q(s,b),Q(b,k),cr(k,c[1]),Q(n,B),Q(n,G),Q(G,D),Q(D,O),Q(G,j),Q(G,U),Q(U,H),cr(H,c[2]),Q(n,X),Q(n,g),Q(g,v),Q(v,d),Q(g,T),Q(g,re),Q(re,N),cr(N,c[3]),He(de,Ce,me),He(de,he,me),Q(he,ce),Q(ce,Me),Ue||(Ne=[Pt(k,"input",c[8]),Pt(H,"input",c[9]),Pt(N,"input",c[10])],Ue=!0)},p(de,me){me&16&&f!==(f=de[4].t("Current Password")+"")&&st(p,f),me&16&&E!==(E=de[4].t("Enter your current password"))&&V(k,"placeholder",E),me&2&&k.value!==de[1]&&cr(k,de[1]),me&16&&_!==(_=de[4].t("New Password")+"")&&st(O,_),me&16&&Z!==(Z=de[4].t("Enter your new password"))&&V(H,"placeholder",Z),me&4&&H.value!==de[2]&&cr(H,de[2]),me&16&&e!==(e=de[4].t("Confirm Password")+"")&&st(d,e),me&16&&F!==(F=de[4].t("Confirm your new password"))&&V(N,"placeholder",F),me&8&&N.value!==de[3]&&cr(N,de[3]),me&16&&ge!==(ge=de[4].t("Update password")+"")&&st(Me,ge)},d(de){de&&(z(n),z(Ce),z(he)),Ue=!1,Gs(Ne)}}}function nw(c){let n,s,o,f=c[4].t("Change Password")+"",p,C,b,k=(c[0]?c[4].t("Hide"):c[4].t("Show"))+"",E,B,G,D,_=c[0]&&Vh(c);return{c(){n=q("form"),s=q("div"),o=q("div"),p=Xe(f),C=Pe(),b=q("button"),E=Xe(k),B=Pe(),_&&_.c(),this.h()},l(O){n=J(O,"FORM",{class:!0});var j=$(n);s=J(j,"DIV",{class:!0});var U=$(s);o=J(U,"DIV",{class:!0});var H=$(o);p=qe(H,f),H.forEach(z),C=Se(U),b=J(U,"BUTTON",{class:!0,type:!0});var Z=$(b);E=qe(Z,k),Z.forEach(z),U.forEach(z),B=Se(j),_&&_.l(j),j.forEach(z),this.h()},h(){V(o,"class","font-medium"),V(b,"class","text-xs font-medium text-gray-500"),V(b,"type","button"),V(s,"class","flex justify-between items-center text-sm"),V(n,"class","flex flex-col text-sm")},m(O,j){He(O,n,j),Q(n,s),Q(s,o),Q(o,p),Q(s,C),Q(s,b),Q(b,E),Q(n,B),_&&_.m(n,null),G||(D=[Pt(b,"click",c[7]),Pt(n,"submit",H0(c[11]))],G=!0)},p(O,[j]){j&16&&f!==(f=O[4].t("Change Password")+"")&&st(p,f),j&17&&k!==(k=(O[0]?O[4].t("Hide"):O[4].t("Show"))+"")&&st(E,k),O[0]?_?_.p(O,j):(_=Vh(O),_.c(),_.m(n,null)):_&&(_.d(1),_=null)},i:qA,o:qA,d(O){O&&z(n),_&&_.d(),G=!1,Gs(D)}}}function iw(c,n,s){let o;const f=Aa("i18n");jA(c,f,j=>s(4,o=j));let p=!1,C="",b="",k="";const E=async()=>{b===k?(await pC(localStorage.token,C,b).catch(U=>(gr.error(`${U}`),null))&&gr.success(o.t("Successfully updated.")),s(1,C=""),s(2,b=""),s(3,k="")):(gr.error("The passwords you entered don't quite match. Please double-check and try again."),s(2,b=""),s(3,k=""))},B=()=>{s(0,p=!p)};function G(){C=this.value,s(1,C)}function D(){b=this.value,s(2,b)}function _(){k=this.value,s(3,k)}return[p,C,b,k,o,f,E,B,G,D,_,()=>{E()}]}class ow extends vs{constructor(n){super(),ys(this,n,iw,nw,ks,{})}}function Hh(c){let n,s,o,f=c[10].t("Notification Webhook")+"",p,C,b,k,E,B,G;return{c(){n=q("div"),s=q("div"),o=q("div"),p=Xe(f),C=Pe(),b=q("div"),k=q("input"),this.h()},l(D){n=J(D,"DIV",{class:!0});var _=$(n);s=J(_,"DIV",{class:!0});var O=$(s);o=J(O,"DIV",{class:!0});var j=$(o);
13p=qe(j,f),j.forEach(z),C=Se(O),b=J(O,"DIV",{class:!0});var U=$(b);k=J(U,"INPUT",{class:!0,type:!0,placeholder:!0}),U.forEach(z),O.forEach(z),_.forEach(z),this.h()},h(){V(o,"class","mb-1 text-xs font-medium"),V(k,"class","w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-hidden"),V(k,"type","url"),V(k,"placeholder",E=c[10].t("Enter your webhook URL")),k.required=!0,V(b,"class","flex-1"),V(s,"class","flex flex-col w-full"),V(n,"class","pt-2")},m(D,_){He(D,n,_),Q(n,s),Q(s,o),Q(o,p),Q(s,C),Q(s,b),Q(b,k),cr(k,c[3]),B||(G=Pt(k,"input",c[23]),B=!0)},p(D,_){_[0]&1024&&f!==(f=D[10].t("Notification Webhook")+"")&&st(p,f),_[0]&1024&&E!==(E=D[10].t("Enter your webhook URL"))&&V(k,"placeholder",E),_[0]&8&&k.value!==D[3]&&cr(k,D[3])},d(D){D&&z(n),B=!1,G()}}}function Yh(c){var g,v;let n,s,o,f,p=c[10].t("JWT Token")+"",C,b,k,E,B,G,D,_,O,j;E=new Ad({props:{value:localStorage.token,readOnly:!0}});function U(e,d){return e[5]?cw:lw}let H=U(c),Z=H(c),X=(((v=(g=c[11])==null?void 0:g.features)==null?void 0:v.enable_api_key)??!0)&&Rh(c);return{c(){n=q("div"),s=q("div"),o=q("div"),f=q("div"),C=Xe(p),b=Pe(),k=q("div"),Kt(E.$$.fragment),B=Pe(),G=q("button"),Z.c(),D=Pe(),X&&X.c(),this.h()},l(e){n=J(e,"DIV",{class:!0});var d=$(n);s=J(d,"DIV",{class:!0});var T=$(s);o=J(T,"DIV",{class:!0});var re=$(o);f=J(re,"DIV",{class:!0});var N=$(f);C=qe(N,p),N.forEach(z),re.forEach(z),b=Se(T),k=J(T,"DIV",{class:!0});var F=$(k);Zt(E.$$.fragment,F),B=Se(F),G=J(F,"BUTTON",{class:!0});var Ce=$(G);Z.l(Ce),Ce.forEach(z),F.forEach(z),T.forEach(z),D=Se(d),X&&X.l(d),d.forEach(z),this.h()},h(){V(f,"class","self-center text-xs font-medium"),V(o,"class","flex justify-between w-full"),V(G,"class","ml-1.5 px-1.5 py-1 dark:hover:bg-gray-850 transition rounded-lg"),V(k,"class","flex mt-2"),V(s,"class","justify-between w-full"),V(n,"class","flex flex-col gap-4")},m(e,d){He(e,n,d),Q(n,s),Q(s,o),Q(o,f),Q(f,C),Q(s,b),Q(s,k),Xt(E,k,null),Q(k,B),Q(k,G),Z.m(G,null),Q(n,D),X&&X.m(n,null),_=!0,O||(j=Pt(G,"click",c[25]),O=!0)},p(e,d){var T,re;(!_||d[0]&1024)&&p!==(p=e[10].t("JWT Token")+"")&&st(C,p),H!==(H=U(e))&&(Z.d(1),Z=H(e),Z&&(Z.c(),Z.m(G,null))),((re=(T=e[11])==null?void 0:T.features)==null?void 0:re.enable_api_key)??!0?X?(X.p(e,d),d[0]&2048&&at(X,1)):(X=Rh(e),X.c(),at(X,1),X.m(n,null)):X&&(zr(),dt(X,1,1,()=>{X=null}),Fr())},i(e){_||(at(E.$$.fragment,e),at(X),_=!0)},o(e){dt(E.$$.fragment,e),dt(X),_=!1},d(e){e&&z(n),qt(E),Z.d(),X&&X.d(),O=!1,j()}}}function lw(c){let n,s,o;return{c(){n=ka("svg"),s=ka("path"),o=ka("path"),this.h()},l(f){n=va(f,"svg",{xmlns:!0,viewBox:!0,fill:!0,class:!0});var p=$(n);s=va(p,"path",{"fill-rule":!0,d:!0,"clip-rule":!0}),$(s).forEach(z),o=va(p,"path",{"fill-rule":!0,d:!0,"clip-rule":!0}),$(o).forEach(z),p.forEach(z),this.h()},h(){V(s,"fill-rule","evenodd"),V(s,"d","M11.986 3H12a2 2 0 0 1 2 2v6a2 2 0 0 1-1.5 1.937V7A2.5 2.5 0 0 0 10 4.5H4.063A2 2 0 0 1 6 3h.014A2.25 2.25 0 0 1 8.25 1h1.5a2.25 2.25 0 0 1 2.236 2ZM10.5 4v-.75a.75.75 0 0 0-.75-.75h-1.5a.75.75 0 0 0-.75.75V4h3Z"),V(s,"clip-rule","evenodd"),V(o,"fill-rule","evenodd"),V(o,"d","M3 6a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H3Zm1.75 2.5a.75.75 0 0 0 0 1.5h3.5a.75.75 0 0 0 0-1.5h-3.5ZM4 11.75a.75.75 0 0 1 .75-.75h3.5a.75.75 0 0 1 0 1.5h-3.5a.75.75 0 0 1-.75-.75Z"),V(o,"clip-rule","evenodd"),V(n,"xmlns","http://www.w3.org/2000/svg"),V(n,"viewBox","0 0 16 16"),V(n,"fill","currentColor"),V(n,"class","w-4 h-4")},m(f,p){He(f,n,p),Q(n,s),Q(n,o)},d(f){f&&z(n)}}}function cw(c){let n,s;return{c(){n=ka("svg"),s=ka("path"),this.h()},l(o){n=va(o,"svg",{xmlns:!0,viewBox:!0,fill:!0,class:!0});var f=$(n);s=va(f,"path",{"fill-rule":!0,d:!0,"clip-rule":!0}),$(s).forEach(z),f.forEach(z),this.h()},h(){V(s,"fill-rule","evenodd"),V(s,"d","M16.704 4.153a.75.75 0 01.143 1.052l-8 10.5a.75.75 0 01-1.127.075l-4.5-4.5a.75.75 0 011.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 011.05-.143z"),V(s,"clip-rule","evenodd"),V(n,"xmlns","http://www.w3.org/2000/svg"),V(n,"viewBox","0 0 20 20"),V(n,"fill","currentColor"),V(n,"class","w-4 h-4")},m(o,f){He(o,n,f),Q(n,s)},d(o){o&&z(n)}}}function Rh(c){let n,s,o,f=c[10].t("API Key")+"",p,C,b,k,E,B;const G=[fw,uw],D=[];function _(O,j){return O[6]?0:1}return k=_(c),E=D[k]=G[k](c),{c(){n=q("div"),s=q("div"),o=q("div"),p=Xe(f),C=Pe(),b=q("div"),E.c(),this.h()},l(O){n=J(O,"DIV",{class:!0});var j=$(n);s=J(j,"DIV",{class:!0});var U=$(s);o=J(U,"DIV",{class:!0});var H=$(o);
13p=qe(H,f),H.forEach(z),U.forEach(z),C=Se(j),b=J(j,"DIV",{class:!0});var Z=$(b);E.l(Z),Z.forEach(z),j.forEach(z),this.h()},h(){V(o,"class","self-center text-xs font-medium"),V(s,"class","flex justify-between w-full"),V(b,"class","flex mt-2"),V(n,"class","justify-between w-full")},m(O,j){He(O,n,j),Q(n,s),Q(s,o),Q(o,p),Q(n,C),Q(n,b),D[k].m(b,null),B=!0},p(O,j){(!B||j[0]&1024)&&f!==(f=O[10].t("API Key")+"")&&st(p,f);let U=k;k=_(O),k===U?D[k].p(O,j):(zr(),dt(D[U],1,1,()=>{D[U]=null}),Fr(),E=D[k],E?E.p(O,j):(E=D[k]=G[k](O),E.c()),at(E,1),E.m(b,null))},i(O){B||(at(E),B=!0)},o(O){dt(E),B=!1},d(O){O&&z(n),D[k].d()}}}function uw(c){let n,s,o,f=c[10].t("Create new secret key")+"",p,C,b,k;return s=new Af({props:{strokeWidth:"2",className:" size-3.5"}}),{c(){n=q("button"),Kt(s.$$.fragment),o=Pe(),p=Xe(f),this.h()},l(E){n=J(E,"BUTTON",{class:!0});var B=$(n);Zt(s.$$.fragment,B),o=Se(B),p=qe(B,f),B.forEach(z),this.h()},h(){V(n,"class","flex gap-1.5 items-center font-medium px-3.5 py-1.5 rounded-lg bg-gray-100/70 hover:bg-gray-100 dark:bg-gray-850 dark:hover:bg-gray-850 transition")},m(E,B){He(E,n,B),Xt(s,n,null),Q(n,o),Q(n,p),C=!0,b||(k=Pt(n,"click",c[28]),b=!0)},p(E,B){(!C||B[0]&1024)&&f!==(f=E[10].t("Create new secret key")+"")&&st(p,f)},i(E){C||(at(s.$$.fragment,E),C=!0)},o(E){dt(s.$$.fragment,E),C=!1},d(E){E&&z(n),qt(s),b=!1,k()}}}function fw(c){let n,s,o,f,p,C,b,k;n=new Ad({props:{value:c[6],readOnly:!0}});function E(D,_){return D[7]?gw:dw}let B=E(c),G=B(c);return p=new jn({props:{content:c[10].t("Create new key"),$$slots:{default:[hw]},$$scope:{ctx:c}}}),{c(){Kt(n.$$.fragment),s=Pe(),o=q("button"),G.c(),f=Pe(),Kt(p.$$.fragment),this.h()},l(D){Zt(n.$$.fragment,D),s=Se(D),o=J(D,"BUTTON",{class:!0});var _=$(o);G.l(_),_.forEach(z),f=Se(D),Zt(p.$$.fragment,D),this.h()},h(){V(o,"class","ml-1.5 px-1.5 py-1 dark:hover:bg-gray-850 transition rounded-lg")},m(D,_){Xt(n,D,_),He(D,s,_),He(D,o,_),G.m(o,null),He(D,f,_),Xt(p,D,_),C=!0,b||(k=Pt(o,"click",c[26]),b=!0)},p(D,_){const O={};_[0]&64&&(O.value=D[6]),n.$set(O),B!==(B=E(D))&&(G.d(1),G=B(D),G&&(G.c(),G.m(o,null)));const j={};_[0]&1024&&(j.content=D[10].t("Create new key")),_[1]&1&&(j.$$scope={dirty:_,ctx:D}),p.$set(j)},i(D){C||(at(n.$$.fragment,D),at(p.$$.fragment,D),C=!0)},o(D){dt(n.$$.fragment,D),dt(p.$$.fragment,D),C=!1},d(D){D&&(z(s),z(o),z(f)),qt(n,D),G.d(),qt(p,D),b=!1,k()}}}function dw(c){let n,s,o;return{c(){n=ka("svg"),s=ka("path"),o=ka("path"),this.h()},l(f){n=va(f,"svg",{xmlns:!0,viewBox:!0,fill:!0,class:!0});var p=$(n);s=va(p,"path",{"fill-rule":!0,d:!0,"clip-rule":!0}),$(s).forEach(z),o=va(p,"path",{"fill-rule":!0,d:!0,"clip-rule":!0}),$(o).forEach(z),p.forEach(z),this.h()},h(){V(s,"fill-rule","evenodd"),V(s,"d","M11.986 3H12a2 2 0 0 1 2 2v6a2 2 0 0 1-1.5 1.937V7A2.5 2.5 0 0 0 10 4.5H4.063A2 2 0 0 1 6 3h.014A2.25 2.25 0 0 1 8.25 1h1.5a2.25 2.25 0 0 1 2.236 2ZM10.5 4v-.75a.75.75 0 0 0-.75-.75h-1.5a.75.75 0 0 0-.75.75V4h3Z"),V(s,"clip-rule","evenodd"),V(o,"fill-rule","evenodd"),V(o,"d","M3 6a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H3Zm1.75 2.5a.75.75 0 0 0 0 1.5h3.5a.75.75 0 0 0 0-1.5h-3.5ZM4 11.75a.75.75 0 0 1 .75-.75h3.5a.75.75 0 0 1 0 1.5h-3.5a.75.75 0 0 1-.75-.75Z"),V(o,"clip-rule","evenodd"),V(n,"xmlns","http://www.w3.org/2000/svg"),V(n,"viewBox","0 0 16 16"),V(n,"fill","currentColor"),V(n,"class","w-4 h-4")},m(f,p){He(f,n,p),Q(n,s),Q(n,o)},d(f){f&&z(n)}}}function gw(c){let n,s;return{c(){n=ka("svg"),s=ka("path"),this.h()},l(o){n=va(o,"svg",{xmlns:!0,viewBox:!0,fill:!0,class:!0});var f=$(n);s=va(f,"path",{"fill-rule":!0,d:!0,"clip-rule":!0}),$(s).forEach(z),f.forEach(z),this.h()},h(){V(s,"fill-rule","evenodd"),V(s,"d","M16.704 4.153a.75.75 0 01.143 1.052l-8 10.5a.75.75 0 01-1.127.075l-4.5-4.5a.75.75 0 011.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 011.05-.143z"),V(s,"clip-rule","evenodd"),V(n,"xmlns","http://www.w3.org/2000/svg"),V(n,"viewBox","0 0 20 20"),V(n,"fill","currentColor"),V(n,"class","w-4 h-4")},m(o,f){He(o,n,f),Q(n,s)},d(o){o&&z(n)}}}function hw(c){let n,s='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="size-4"><path stroke-linecap="round" stroke-linejoin="round" d="M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0 3.181 3.183a8.25 8.25 0 0 0 13.803-3.7M4.031 9.865a8.25 8.25 0 0 1 13.803-3.7l3.181 3.182m0-4.991v4.99"></path></svg>',o,f;return{c(){n=q("button"),n.innerHTML=s,this.h()},l(p){n=J(p,"BUTTON",{class:!0,"data-svelte-h":!0}),hr(n)!=="svelte-nx3com"&&(n.innerHTML=s),this.h()},h(){V(n,"class","px-1.5 py-1 dark:hover:bg-gray-850transition rounded-lg")},m(p,C){He(p,n,C),o||(f=Pt(n,"click",c[27]),o=!0)},p:qA,d(p){p&&z(n),o=!1,f()}}}function pw(c){var nA,IA;
13let n,s,o,f,p,C,b,k,E,B,G,D,_,O='<div class="my-auto text-gray-100"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5"><path d="m2.695 14.762-1.262 3.155a.5.5 0 0 0 .65.65l3.155-1.262a4 4 0 0 0 1.343-.886L17.5 5.501a2.121 2.121 0 0 0-3-3L3.58 13.419a4 4 0 0 0-.885 1.343Z"></path></svg></div>',j,U,H,Z=c[10].t("Profile Image")+"",X,g,v,e,d=c[10].t("Use Initials")+"",T,re,N,F=c[10].t("Use Gravatar")+"",Ce,he,ce,ge=c[10].t("Remove")+"",Me,Ue,Ne,de,me,we=c[10].t("Name")+"",_e,pe,it,We,ot,pt,ct,Re,tt,It,wt,ze,At,Bt,Ft=c[10].t("API keys")+"",St,oe,zt,Ie=(c[4]?c[10].t("Hide"):c[10].t("Show"))+"",fe,Qe,Je,rt,lt,xt=c[10].t("Save")+"",jt,eA,Lt,gA,tA=((IA=(nA=c[11])==null?void 0:nA.features)==null?void 0:IA.enable_user_webhooks)&&Hh(c);tt=new ow({});let oA=c[4]&&Yh(c);return{c(){n=q("div"),s=q("div"),o=q("input"),f=Pe(),p=q("div"),C=q("div"),b=q("div"),k=q("div"),E=q("button"),B=q("img"),D=Pe(),_=q("div"),_.innerHTML=O,j=Pe(),U=q("div"),H=q("div"),X=Xe(Z),g=Pe(),v=q("div"),e=q("button"),T=Xe(d),re=Pe(),N=q("button"),Ce=Xe(F),he=Pe(),ce=q("button"),Me=Xe(ge),Ue=Pe(),Ne=q("div"),de=q("div"),me=q("div"),_e=Xe(we),pe=Pe(),it=q("div"),We=q("input"),pt=Pe(),tA&&tA.c(),ct=Pe(),Re=q("div"),Kt(tt.$$.fragment),It=Pe(),wt=q("hr"),ze=Pe(),At=q("div"),Bt=q("div"),St=Xe(Ft),oe=Pe(),zt=q("button"),fe=Xe(Ie),Qe=Pe(
13),oA&&oA.c(),Je=Pe(),rt=q("div"),lt=q("button"),jt=Xe(xt),this.h()},l(EA){n=J(EA,"DIV",{class:!0});var Gt=$(n);s=J(Gt,"DIV",{class:!0});var bA=$(s);o=J(bA,"INPUT",{id:!0,type:!0,accept:!0}),f=Se(bA),p=J(bA,"DIV",{class:!0});var rA=$(p);C=J(rA,"DIV",{class:!0});var br=$(C);b=J(br,"DIV",{class:!0});var wA=$(b);k=J(wA,"DIV",{class:!0});var OA=$(k);E=J(OA,"BUTTON",{class:!0,type:!0});var AA=$(E);B=J(AA,"IMG",{src:!0,alt:!0,class:!0}),D=Se(AA),_=J(AA,"DIV",{class:!0,"data-svelte-h":!0}),hr(_)!=="svelte-11ivb2j"&&(_.innerHTML=O),AA.forEach(z),OA.forEach(z),wA.forEach(z),j=Se(br),U=J(br,"DIV",{class:!0});var iA=$(U);H=J(iA,"DIV",{class:!0});var Jt=$(H);X=qe(Jt,Z),Jt.forEach(z),g=Se(iA),v=J(iA,"DIV",{});var LA=$(v);e=J(LA,"BUTTON",{class:!0});var Lr=$(e);T=qe(Lr,d),Lr.forEach(z),re=Se(LA),N=J(LA,"BUTTON",{class:!0});var Yr=$(N);Ce=qe(Yr,F),Yr.forEach(z),he=Se(LA),ce=J(LA,"BUTTON",{class:!0});var Tt=$(ce);Me=qe(Tt,ge),Tt.forEach(z),LA.forEach(z),iA.forEach(z),br.forEach(z),Ue=Se(rA),Ne=J(rA,"DIV",{class:!0});var MA=$(Ne);de=J(MA,"DIV",{class:!0});var NA=$(de);me=J(NA,"DIV",{class:!0});var JA=$(me);_e=qe(JA,we),JA.forEach(z),pe=Se(NA),it=J(NA,"DIV",{class:!0});var WA=$(it);We=J(WA,"INPUT",{class:!0,type:!0,placeholder:!0}),WA.forEach(z),NA.forEach(z),MA.forEach(z),pt=Se(rA),tA&&tA.l(rA),rA.forEach(z),ct=Se(bA),Re=J(bA,"DIV",{class:!0});var DA=$(Re);Zt(tt.$$.fragment,DA),DA.forEach(z),It=Se(bA),wt=J(bA,"HR",{class:!0}),ze=Se(bA),At=J(bA,"DIV",{class:!0});var Vr=$(At);Bt=J(Vr,"DIV",{class:!0});var xr=$(Bt);St=qe(xr,Ft),xr.forEach(z),oe=Se(Vr),zt=J(Vr,"BUTTON",{class:!0,type:!0});var Dr=$(zt);fe=qe(Dr,Ie),Dr.forEach(z),Vr.forEach(z),Qe=Se(bA),oA&&oA.l(bA),bA.forEach(z),Je=Se(Gt),rt=J(Gt,"DIV",{class:!0});var Ls=$(rt);lt=J(Ls,"BUTTON",{class:!0});var HA=$(lt);jt=qe(HA,xt),HA.forEach(z),Ls.forEach(z),Gt.forEach(z),this.h()},h(){V(o,"id","profile-image-input"),V(o,"type","file"),o.hidden=!0,V(o,"accept","image/*"),j1(B.src,G=c[1]!==""?c[1]:Ku(c[2]))||V(B,"src",G),V(B,"alt","profile"),V(B,"class","rounded-full size-16 object-cover"),V(_,"class","absolute flex justify-center rounded-full bottom-0 left-0 right-0 top-0 h-full w-full overflow-hidden bg-gray-700 bg-fixed opacity-0 transition duration-300 ease-in-out hover:opacity-50"),V(E,"class","relative rounded-full dark:bg-gray-700"),V(E,"type","button"),V(k,"class","self-center mt-2"),V(b,"class","flex flex-col"),V(H,"class","mb-0.5 text-sm font-medium"),V(e,"class","text-xs text-center text-gray-800 dark:text-gray-400 rounded-full px-4 py-0.5 bg-gray-100 dark:bg-gray-850"),V(N,"class","text-xs text-center text-gray-800 dark:text-gray-400 rounded-full px-4 py-0.5 bg-gray-100 dark:bg-gray-850"),V(ce,"class","text-xs text-center text-gray-800 dark:text-gray-400 rounded-lg px-2 py-1"),V(U,"class","flex-1 flex flex-col self-center gap-0.5"),V(C,"class","flex space-x-5"),V(me,"class","mb-1 text-xs font-medium"),V(We,"class","w-full text-sm dark:text-gray-300 dark:bg-gray-850 outline-hidden"),V(We,"type","text"),We.required=!0,V(We,"placeholder",ot=c[10].t("Enter your name")),V(it,"class","flex-1"),V(de,"class","flex flex-col w-full"),V(Ne,"class","pt-0.5"),V(p,"class","space-y-1"),V(Re,"class","py-0.5"),V(wt,"class","border-gray-50 dark:border-gray-850 my-2"),V(Bt,"class","font-medium"),V(zt,"class","text-xs font-medium text-gray-500"),V(zt,"type","button"),V(At,"class","flex justify-between items-center text-sm"),V(s,"class","space-y-3 overflow-y-scroll max-h-[28rem] lg:max-h-full"),V(lt,"class","px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"),V(rt,"class","flex justify-end pt-3 text-sm font-medium"),V(n,"class","flex flex-col h-full justify-between text-sm")},m(EA,Gt){He(EA,n,Gt),Q(n,s),Q(s,o),c[16](o),Q(s,f),Q(s,p),Q(p,C),Q(C,b),Q(b,k),Q(k,E),Q(E,B),Q(E,D),Q(E,_),Q(C,j),Q(C,U),Q(U,H),Q(H,X),Q(U,g),Q(U,v),Q(v,e),Q(e,T),Q(v,re),Q(v,N),Q(N,Ce),Q(v,he),Q(v,ce),Q(ce,Me),Q(p,Ue),Q(p,Ne),Q(Ne,de),Q(de,me),Q(me,_e),Q(de,pe),Q(de,it),Q(it,We),cr(We,c[2]),Q(p,pt),tA&&tA.m(p,null),Q(s,ct),Q(s,Re),Xt(tt,Re,null),Q(s,It),Q(s,wt),Q(s,ze),Q(s,At),Q(At,Bt),Q(Bt,St),Q(At,oe),Q(At,zt),Q(zt,fe),Q(s,Qe),oA&&oA.m(s,null),Q(n,Je),Q(n,rt),Q(rt,lt),Q(lt,jt),eA=!0,Lt||(gA=[Pt(o,"change",c[17]),Pt(E,"click",c[18]),Pt(e,"click",c[19]),Pt(N,"click",c[20]),Pt(ce,"click",c[21]),Pt(We,"input",c[22]),Pt(zt,"click",c[24]),Pt(lt,"click",c[29])],Lt=!0)},p(EA,Gt){var bA,rA;(!eA||Gt[0]&6&&!j1(B.src,G=EA[1]!==""?EA[1]:Ku(EA[2])))&&V(B,"src",G),(!eA||Gt[0]&1024)&&Z!==(Z=EA[10].t("Profile Image")+"")&&st(X,Z),(!eA||Gt[0]&1024)&&d!==(d=EA[10].t("Use Initials")+"")&&st(T,d),(!eA||Gt[0]&1024)&&F!==(F=EA[10].t("Use Gravatar")+"")&&st(Ce,F),(!eA||Gt[0]&1024)&&ge!==(ge=EA[10].t("Remove")+"")&&st(Me,ge),(!eA||Gt[0]&1024)&&we!==(we=EA[10].t("Name")+"")&&st(_e,we),(!eA||Gt[0]&1024&&ot!==(ot=EA[10].t("Enter your name")))&&V(We,"placeholder",ot),Gt[0]&4&&We.value!==EA[2]&&cr(We,EA[2]),(rA=(bA=EA[11])==null?void 0:bA.features)!=null&&rA.enable_user_webhooks?tA?tA.p(EA,Gt):(tA=Hh(EA),tA.c(),tA.m(p,null)):tA&&(tA.d(1),tA=null),(!eA||Gt[0]&1024)&&Ft!==(Ft=EA[10].t("API keys")+"")&&st(St,Ft),(!eA||Gt[0]&1040)&&Ie!==(Ie=(EA[4]?EA[10].t("Hide"):EA[10].t("Show"))+"")&&st(fe,Ie),EA[4]?oA?(oA.p(EA,Gt),Gt[0]&16&&at(oA,1)):(oA=Yh(EA),oA.c(),at(oA,1),oA.m(s,null)):oA&&(zr(),dt(
13oA,1,1,()=>{oA=null}),Fr()),(!eA||Gt[0]&1024)&&xt!==(xt=EA[10].t("Save")+"")&&st(jt,xt)},i(EA){eA||(at(tt.$$.fragment,EA),at(oA),eA=!0)},o(EA){dt(tt.$$.fragment,EA),dt(oA),eA=!1},d(EA){EA&&z(n),c[16](null),tA&&tA.d(),qt(tt),oA&&oA.d(),Lt=!1,Gs(gA)}}}function mw(c,n,s){let o,f,p,C;jA(c,no,Ne=>s(30,o=Ne)),jA(c,rl,Ne=>s(9,f=Ne)),jA(c,sl,Ne=>s(11,C=Ne));const b=Aa("i18n");jA(c,b,Ne=>s(10,p=Ne));let{saveHandler:k}=n,{saveSettings:E}=n,B="",G="",D="",_=!1,O=!1,j="",U=!1,H;const Z=async()=>{var de;if(G!==(f==null?void 0:f.name)&&(B===Ku(f==null?void 0:f.name)||B==="")&&s(1,B=Ku(G)),D!==((de=o==null?void 0:o.notifications)==null?void 0:de.webhook_url)&&E({notifications:{...o.notifications,webhook_url:D}}),await bC(localStorage.token,G,B).catch(me=>{gr.error(`${me}`)})){const me=await CC(localStorage.token).catch(we=>(gr.error(`${we}`),null));return await rl.set(me),!0}return!1},X=async()=>{s(6,j=await IC(localStorage.token)),j?gr.success(p.t("API Key created.")):gr.error(p.t("Failed to create API Key."))};Kn(async()=>{var Ne;s(2,G=f==null?void 0:f.name),s(1,B=f==null?void 0:f.profile_image_url),s(3,D=((Ne=o==null?void 0:o.notifications)==null?void 0:Ne.webhook_url)??""),s(6,j=await mC(localStorage.token).catch(de=>(console.log(de),"")))});function g(Ne){Br[Ne?"unshift":"push"](()=>{H=Ne,s(8,H)})}const v=Ne=>{const de=H.files??[];let me=new FileReader;me.onload=we=>{let _e=`${we.target.result}`;const pe=new Image;pe.src=_e,pe.onload=function(){const it=document.createElement("canvas"),We=it.getContext("2d"),ot=pe.width/pe.height;let pt,ct;ot>1?(pt=250*ot,ct=250):(pt=250,ct=250/ot),it.width=250,it.height=250;const Re=(250-pt)/2,tt=(250-ct)/2;We.drawImage(pe,Re,tt,pt,ct);const It=it.toDataURL("image/jpeg");s(1,B=It),s(8,H.files=null,H)}},de.length>0&&["image/gif","image/webp","image/jpeg","image/png"].includes(de[0].type)&&me.readAsDataURL(de[0])},e=()=>{H.click()},d=async()=>{v8()?s(1,B=Ku(G)):gr.info(p.t("Fingerprint spoofing detected: Unable to use initials as avatar. Defaulting to default profile image."),{duration:1e3*10})},T=async()=>{const Ne=await kC(localStorage.token,f==null?void 0:f.email);s(1,B=Ne)},re=async()=>{s(1,B="/user.png")};function N(){G=this.value,s(2,G)}function F(){D=this.value,s(3,D)}const Ce=()=>{s(4,_=!_)},he=()=>{jg(localStorage.token),s(5,O=!0),setTimeout(()=>{s(5,O=!1)},2e3)},ce=()=>{jg(j),s(7,U=!0),setTimeout(()=>{s(7,U=!1)},2e3)},ge=()=>{X()},Me=()=>{X()},Ue=async()=>{await Z()&&k()};return c.$$set=Ne=>{"saveHandler"in Ne&&s(0,k=Ne.saveHandler),"saveSettings"in Ne&&s(15,E=Ne.saveSettings)},[k,B,G,D,_,O,j,U,H,f,p,C,b,Z,X,E,g,v,e,d,T,re,N,F,Ce,he,ce,ge,Me,Ue]}class bw extends vs{constructor(n){super(),ys(this,n,mw,pw,ks,{saveHandler:0,saveSettings:15},null,[-1,-1])}}function Cw(c){let n,s;return{c(){n=Xe("v"),s=Xe(y0)},l(o){n=qe(o,"v"),s=qe(o,y0)},m(o,f){He(o,n,f),He(o,s,f)},p:qA,d(o){o&&(z(n),z(s))}}}function jh(c){let n,s,o,f,p=c[4].t("Ollama Version")+"",C,b,k,E,B=(c[0]??"N/A")+"",G;return{c(){n=q("hr"),s=Pe(),o=q("div"),f=q("div"),C=Xe(p),b=Pe(),k=q("div"),E=q("div"),G=Xe(B),this.h()},l(D){n=J(D,"HR",{class:!0}),s=Se(D),o=J(D,"DIV",{});var _=$(o);f=J(_,"DIV",{class:!0});var O=$(f);C=qe(O,p),O.forEach(z),b=Se(_),k=J(_,"DIV",{class:!0});var j=$(k);E=J(j,"DIV",{class:!0});var U=$(E);G=qe(U,B),U.forEach(z),j.forEach(z),_.forEach(z),this.h()},h(){V(n,"class","border-gray-100 dark:border-gray-850"),V(f,"class","mb-2.5 text-sm font-medium"),V(E,"class","flex-1 text-xs text-gray-700 dark:text-gray-200"),V(k,"class","flex w-full")},m(D,_){He(D,n,_),He(D,s,_),He(D,o,_),Q(o,f),Q(f,C),Q(o,b),Q(o,k),Q(k,E),Q(E,G)},p(D,_){_&16&&p!==(p=D[4].t("Ollama Version")+"")&&st(C,p),_&1&&B!==(B=(D[0]??"N/A")+"")&&st(G,B)},d(D){D&&(z(n),z(s),z(o))}}}function Iw(c){let n,s='<a href="https://discord.gg/5rJgQTnV4s" target="_blank"><img alt="Discord" src="https://img.shields.io/badge/Discord-Open_WebUI-blue?logo=discord&amp;logoColor=white"/></a> <a href="https://twitter.com/OpenWebUI" target="_blank"><img alt="X (formerly Twitter) Follow" src="https://img.shields.io/twitter/follow/OpenWebUI"/></a> <a href="https://github.com/open-webui/open-webui" target="_blank"><img alt="Github Repo" src="https://img.shields.io/github/stars/open-webui/open-webui?style=social&amp;label=Star us on Github"/></a>';return{c(){n=q("div"),n.innerHTML=s,this.h()},l(o){n=J(o,"DIV",{class:!0,"data-svelte-h":!0}),hr(n)!=="svelte-1ythp9v"&&(n.innerHTML=s),this.h()},h(){V(n,"class","flex space-x-1")},m(o,f){He(o,n,f)},p:qA,d(o){o&&z(n)}}}function ww(c){var D,_,O,j;let n,s=!c[3].includes("Open WebUI"),o,f,p=((_=(D=c[5])==null?void 0:D.license_metadata)==null?void 0:_.type)+"",C,b,k,E=((j=(O=c[5])==null?void 0:O.license_metadata)==null?void 0:j.organization_name)+"",B,G=s&&Wh(c);return{c(){n=q("div"),G&&G.c(),o=Pe(),f=q("span"),C=Xe(p),b=Xe(` license purchased by
14				`),k=q("span"),B=Xe(E),this.h()},l(U){n=J(U,"DIV",{class:!0});var H=$(n);G&&G.l(H),o=Se(H),f=J(H,"SPAN",{class:!0});var Z=$(f);C=qe(Z,p),Z.forEach(z),b=qe(H,` license purchased by
15				`),k=J(H,"SPAN",{class:!0});var X=$(k);
15B=qe(X,E),X.forEach(z),H.forEach(z),this.h()},h(){V(f,"class","capitalize"),V(k,"class","capitalize"),V(n,"class","mb-2 text-xs")},m(U,H){He(U,n,H),G&&G.m(n,null),Q(n,o),Q(n,f),Q(f,C),Q(n,b),Q(n,k),Q(k,B)},p(U,H){var Z,X,g,v;H&8&&(s=!U[3].includes("Open WebUI")),s?G?G.p(U,H):(G=Wh(U),G.c(),G.m(n,o)):G&&(G.d(1),G=null),H&32&&p!==(p=((X=(Z=U[5])==null?void 0:Z.license_metadata)==null?void 0:X.type)+"")&&st(C,p),H&32&&E!==(E=((v=(g=U[5])==null?void 0:g.license_metadata)==null?void 0:v.organization_name)+"")&&st(B,E)},d(U){U&&z(n),G&&G.d()}}}function Wh(c){let n,s,o;return{c(){n=q("span"),s=Xe(c[3]),o=Xe(" -"),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);s=qe(p,c[3]),p.forEach(z),o=qe(f," -"),this.h()},h(){V(n,"class","text-gray-500 dark:text-gray-300 font-medium")},m(f,p){He(f,n,p),Q(n,s),He(f,o,p)},p(f,p){p&8&&st(s,f[3])},d(f){f&&(z(n),z(o))}}}function kw(c){let n,s,o,f,p,C,b,k=c[4].t("Version")+"",E,B,G,D,_,O,j,U,H=(c[1]===null?c[4].t("Checking for updates..."):c[1]?`(v${c[2].latest} ${c[4].t("available!")})`:c[4].t("(latest)"))+"",Z,X,g,v,e,d=c[4].t("See what's new")+"",T,re,N,F=c[4].t("Check for updates")+"",Ce,he,ce,ge,Me,Ue,Ne,de=`Emoji graphics provided by
16			<a href="https://github.com/jdecked/twemoji" target="_blank">Twemoji</a>, licensed under
17			<a href="https://creativecommons.org/licenses/by/4.0/" target="_blank">CC-BY 4.0</a>.`,me,we,_e,pe,it=new Date().getFullYear()+"",We,ot,pt,ct="Open WebUI (Timothy Jaeryang Baek)",Re,tt,It,wt=c[4].t("Created by")+"",ze,At,Bt,Ft="Timothy J. Baek",St,oe,zt;O=new jn({props:{content:C8,$$slots:{default:[Cw]},$$scope:{ctx:c}}});let Ie=c[0]&&jh(c);function fe(rt,lt){var xt;return(xt=rt[5])!=null&&xt.license_metadata?ww:Iw}let Qe=fe(c),Je=Qe(c);return{c(){n=q("div"),s=q("div"),o=q("div"),f=q("div"),p=q("div"),C=Xe(c[3]),b=Pe(),E=Xe(k),B=Pe(),G=q("div"),D=q("div"),_=q("div"),Kt(O.$$.fragment),j=Pe(),U=q("a"),Z=Xe(H),g=Pe(),v=q("button"),e=q("div"),T=Xe(d),re=Pe(),N=q("button"),Ce=Xe(F),he=Pe(),Ie&&Ie.c(),ce=Pe(),ge=q("hr"),Me=Pe(),Je.c(),Ue=Pe(),Ne=q("div"),Ne.innerHTML=de,me=Pe(),we=q("div"),_e=q("pre"),pe=Xe("Copyright (c) "),We=Xe(it),ot=Xe(" "),pt=q("a"),pt.textContent=ct,Re=Xe(`
18All rights reserved.
19
20Redistribution and use in source and binary forms, with or without
21modification, are permitted provided that the following conditions are met:
22
231. Redistributions of source code must retain the above copyright notice, this
24   list of conditions and the following disclaimer.
25
262. Redistributions in binary form must reproduce the above copyright notice,
27   this list of conditions and the following disclaimer in the documentation
28   and/or other materials provided with the distribution.
29
303. Neither the name of the copyright holder nor the names of its
31   contributors may be used to endorse or promote products derived from
32   this software without specific prior written permission.
33
34THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
35AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
36IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
37DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
38FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
39DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
40SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
41CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
42OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
43OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
44`),tt=Pe(),It=q("div"),ze=Xe(wt),At=Pe(),Bt=q("a"),Bt.textContent=Ft,this.h()},l(rt){n=J(rt,"DIV",{class:!0});var lt=$(n);s=J(lt,"DIV",{class:!0});var xt=$(s);o=J(xt,"DIV",{});var jt=$(o);f=J(jt,"DIV",{class:!0});var eA=$(f);p=J(eA,"DIV",{});var Lt=$(p);C=qe(Lt,c[3]),b=Se(Lt),E=qe(Lt,k),Lt.forEach(z),eA.forEach(z),B=Se(jt),G=J(jt,"DIV",{class:!0});var gA=$(G);D=J(gA,"DIV",{class:!0});var tA=$(D);_=J(tA,"DIV",{class:!0});var oA=$(_);Zt(O.$$.fragment,oA),j=Se(oA),U=J(oA,"A",{href:!0,target:!0});var nA=$(U);Z=qe(nA,H),nA.forEach(z),oA.forEach(z),g=Se(tA),v=J(tA,"BUTTON",{class:!0});var IA=$(v);e=J(IA,"DIV",{});var EA=$(e);T=qe(EA,d),EA.forEach(z),IA.forEach(z),tA.forEach(z),re=Se(gA),N=J(gA,"BUTTON",{class:!0});var Gt=$(N);Ce=qe(Gt,F),Gt.forEach(z),gA.forEach(z),jt.forEach(z),he=Se(xt),Ie&&Ie.l(xt),ce=Se(xt),ge=J(xt,"HR",{class:!0}),Me=Se(xt),Je.l(xt),Ue=Se(xt),Ne=J(xt,"DIV",{class:!0,"data-svelte-h":!0}),hr(Ne)!=="svelte-1w5x546"&&(Ne.innerHTML=de),me=Se(xt),we=J(xt,"DIV",{});var bA=$(we);_e=J(bA,"PRE",{class:!0});var rA=$(_e);
44pe=qe(rA,"Copyright (c) "),We=qe(rA,it),ot=qe(rA," "),pt=J(rA,"A",{href:!0,target:!0,class:!0,"data-svelte-h":!0}),hr(pt)!=="svelte-dl88be"&&(pt.textContent=ct),Re=qe(rA,`
45All rights reserved.
46
47Redistribution and use in source and binary forms, with or without
48modification, are permitted provided that the following conditions are met:
49
501. Redistributions of source code must retain the above copyright notice, this
51   list of conditions and the following disclaimer.
52
532. Redistributions in binary form must reproduce the above copyright notice,
54   this list of conditions and the following disclaimer in the documentation
55   and/or other materials provided with the distribution.
56
573. Neither the name of the copyright holder nor the names of its
58   contributors may be used to endorse or promote products derived from
59   this software without specific prior written permission.
60
61THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
62AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
63IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
64DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
65FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
66DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
67SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
68CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
69OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
70OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
71`),rA.forEach(z),bA.forEach(z),tt=Se(xt),It=J(xt,"DIV",{class:!0});var br=$(It);ze=qe(br,wt),At=Se(br),Bt=J(br,"A",{class:!0,href:!0,target:!0,"data-svelte-h":!0}),hr(Bt)!=="svelte-1tvrifl"&&(Bt.textContent=Ft),br.forEach(z),xt.forEach(z),lt.forEach(z),this.h()},h(){V(f,"class","mb-2.5 text-sm font-medium flex space-x-2 items-center"),V(U,"href",X="https://github.com/open-webui/open-webui/releases/tag/v"+c[2].latest),V(U,"target","_blank"),V(_,"class","flex gap-1"),V(v,"class","underline flex items-center space-x-1 text-xs text-gray-500 dark:text-gray-500"),V(D,"class","flex flex-col text-xs text-gray-700 dark:text-gray-200"),V(N,"class","text-xs px-3 py-1.5 bg-gray-100 hover:bg-gray-200 dark:bg-gray-850 dark:hover:bg-gray-800 transition rounded-lg font-medium"),V(G,"class","flex w-full justify-between items-center"),V(ge,"class","border-gray-100 dark:border-gray-850"),V(Ne,"class","mt-2 text-xs text-gray-400 dark:text-gray-500"),V(pt,"href","https://openwebui.com"),V(pt,"target","_blank"),V(pt,"class","underline"),V(_e,"class","text-xs text-gray-400 dark:text-gray-500"),V(Bt,"class","text-gray-500 dark:text-gray-300 font-medium"),V(Bt,"href","https://github.com/tjbck"),V(Bt,"target","_blank"),V(It,"class","mt-2 text-xs text-gray-400 dark:text-gray-500"),V(s,"class","space-y-3 overflow-y-scroll max-h-[28rem] lg:max-h-full"),V(n,"class","flex flex-col h-full justify-between space-y-3 text-sm mb-6")},m(rt,lt){He(rt,n,lt),Q(n,s),Q(s,o),Q(o,f),Q(f,p),Q(p,C),Q(p,b),Q(p,E),Q(o,B),Q(o,G),Q(G,D),Q(D,_),Xt(O,_,null),Q(_,j),Q(_,U),Q(U,Z),Q(D,g),Q(D,v),Q(v,e),Q(e,T),Q(G,re),Q(G,N),Q(N,Ce),Q(s,he),Ie&&Ie.m(s,null),Q(s,ce),Q(s,ge),Q(s,Me),Je.m(s,null),Q(s,Ue),Q(s,Ne),Q(s,me),Q(s,we),Q(we,_e),Q(_e,pe),Q(_e,We),Q(_e,ot),Q(_e,pt),Q(_e,Re),Q(s,tt),Q(s,It),Q(It,ze),Q(It,At),Q(It,Bt),St=!0,oe||(zt=[Pt(v,"click",c[8]),Pt(N,"click",c[9])],oe=!0)},p(rt,[lt]){(!St||lt&8)&&st(C,rt[3]),(!St||lt&16)&&k!==(k=rt[4].t("Version")+"")&&st(E,k);const xt={};lt&1024&&(xt.$$scope={dirty:lt,ctx:rt}),O.$set(xt),(!St||lt&22)&&H!==(H=(rt[1]===null?rt[4].t("Checking for updates..."):rt[1]?`(v${rt[2].latest} ${rt[4].t("available!")})`:rt[4].t("(latest)"))+"")&&st(Z,H),(!St||lt&4&&X!==(X="https://github.com/open-webui/open-webui/releases/tag/v"+rt[2].latest))&&V(U,"href",X),(!St||lt&16)&&d!==(d=rt[4].t("See what's new")+"")&&st(T,d),(!St||lt&16)&&F!==(F=rt[4].t("Check for updates")+"")&&st(Ce,F),rt[0]?Ie?Ie.p(rt,lt):(Ie=jh(rt),Ie.c(),Ie.m(s,ce)):Ie&&(Ie.d(1),Ie=null),Qe===(Qe=fe(rt))&&Je?Je.p(rt,lt):(Je.d(1),Je=Qe(rt),Je&&(Je.c(),Je.m(s,Ue))),(!St||lt&16)&&wt!==(wt=rt[4].t("Created by")+"")&&st(ze,wt)},i(rt){St||(at(O.$$.fragment,rt),St=!0)},o(rt){dt(O.$$.fragment,rt),St=!1},d(rt){rt&&z(n),qt(O),Ie&&Ie.d(),Je.d(),oe=!1,Gs(zt)}}}function vw(c,n,s){let o,f,p;jA(c,im,_=>s(3,o=_)),jA(c,sl,_=>s(5,p=_));const C=Aa("i18n");jA(c,C,_=>s(4,f=_));let b="",k=null,E={current:"",latest:""};const B=async()=>{s(1,k=null),s(2,E=await em(localStorage.token).catch(_=>({current:y0,latest:y0}))),console.log(E),s(1,k=Wf(E.latest,E.current)),console.log(k)};return Kn(async()=>{s(0,b=await vC(localStorage.token).catch(_=>"")),B()}),[b,k,E,o,f,p,C,B,()=>{H1.set(!0)},()=>{B()}]}class yw extends vs{constructor(n){super(),ys(this,n,vw,kw,ks,{})}}function Uh(c,n,s){const o=c.slice();return o[36]=n[s],o}function Kh(c){let n,s=c[36].title+"",o,f;return{c(){n=q("option"),o=Xe(s),this.h()},l(p){n=J(p,"OPTION",{});
71var C=$(n);o=qe(C,s),C.forEach(z),this.h()},h(){n.__value=f=c[36].code,cr(n,n.__value)},m(p,C){He(p,n,C),Q(n,o)},p(p,C){C[0]&2&&s!==(s=p[36].title+"")&&st(o,s),C[0]&2&&f!==(f=p[36].code)&&(n.__value=f,cr(n,n.__value))},d(p){p&&z(n)}}}function Zh(c){let n,s=`Couldn&#39;t find your language?
72					<a class="text-gray-300 font-medium underline" href="https://github.com/open-webui/open-webui/blob/main/docs/CONTRIBUTING.md#-translations-and-internationalization" target="_blank">Help us translate Open WebUI!</a>`;return{c(){n=q("div"),n.innerHTML=s,this.h()},l(o){n=J(o,"DIV",{class:!0,"data-svelte-h":!0}),hr(n)!=="svelte-3hlwzt"&&(n.innerHTML=s),this.h()},h(){V(n,"class","mb-2 text-xs text-gray-400 dark:text-gray-500")},m(o,f){He(o,n,f)},d(o){o&&z(n)}}}function Ew(c){let n,s=c[9].t("Off")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[0]&512&&s!==(s=f[9].t("Off")+"")&&st(o,s)},d(f){f&&z(n)}}}function Bw(c){let n,s=c[9].t("On")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[0]&512&&s!==(s=f[9].t("On")+"")&&st(o,s)},d(f){f&&z(n)}}}function Xh(c){let n,s,o,f,p=c[9].t("System Prompt")+"",C,b,k,E,B,G,D,_,O=c[9].t("Advanced Parameters")+"",j,U,H,Z=(c[5]?c[9].t("Hide"):c[9].t("Show"))+"",X,g,v,e,d;function T(F){c[23](F)}let re={className:"w-full text-sm bg-white dark:text-gray-300 dark:bg-gray-900 outline-hidden resize-none",rows:"4",placeholder:c[9].t("Enter system prompt here")};c[4]!==void 0&&(re.value=c[4]),k=new Cm({props:re}),Br.push(()=>As(k,"value",T));let N=c[5]&&qh(c);return{c(){n=q("hr"),s=Pe(),o=q("div"),f=q("div"),C=Xe(p),b=Pe(),Kt(k.$$.fragment),B=Pe(),G=q("div"),D=q("div"),_=q("div"),j=Xe(O),U=Pe(),H=q("button"),X=Xe(Z),g=Pe(),N&&N.c(),this.h()},l(F){n=J(F,"HR",{class:!0}),s=Se(F),o=J(F,"DIV",{});var Ce=$(o);f=J(Ce,"DIV",{class:!0});var he=$(f);C=qe(he,p),he.forEach(z),b=Se(Ce),Zt(k.$$.fragment,Ce),Ce.forEach(z),B=Se(F),G=J(F,"DIV",{class:!0});var ce=$(G);D=J(ce,"DIV",{class:!0});var ge=$(D);_=J(ge,"DIV",{class:!0});var Me=$(_);j=qe(Me,O),Me.forEach(z),U=Se(ge),H=J(ge,"BUTTON",{class:!0,type:!0});var Ue=$(H);X=qe(Ue,Z),Ue.forEach(z),ge.forEach(z),g=Se(ce),N&&N.l(ce),ce.forEach(z),this.h()},h(){V(n,"class","border-gray-50 dark:border-gray-850 my-3"),V(f,"class","my-2.5 text-sm font-medium"),V(_,"class","font-medium"),V(H,"class","text-xs font-medium text-gray-500"),V(H,"type","button"),V(D,"class","flex justify-between items-center text-sm"),V(G,"class","mt-2 space-y-3 pr-1.5")},m(F,Ce){He(F,n,Ce),He(F,s,Ce),He(F,o,Ce),Q(o,f),Q(f,C),Q(o,b),Xt(k,o,null),He(F,B,Ce),He(F,G,Ce),Q(G,D),Q(D,_),Q(_,j),Q(D,U),Q(D,H),Q(H,X),Q(G,g),N&&N.m(G,null),v=!0,e||(d=Pt(H,"click",c[24]),e=!0)},p(F,Ce){(!v||Ce[0]&512)&&p!==(p=F[9].t("System Prompt")+"")&&st(C,p);const he={};Ce[0]&512&&(he.placeholder=F[9].t("Enter system prompt here")),!E&&Ce[0]&16&&(E=!0,he.value=F[4],ts(()=>E=!1)),k.$set(he),(!v||Ce[0]&512)&&O!==(O=F[9].t("Advanced Parameters")+"")&&st(j,O),(!v||Ce[0]&544)&&Z!==(Z=(F[5]?F[9].t("Hide"):F[9].t("Show"))+"")&&st(X,Z),F[5]?N?(N.p(F,Ce),Ce[0]&32&&at(N,1)):(N=qh(F),N.c(),at(N,1),N.m(G,null)):N&&(zr(),dt(N,1,1,()=>{N=null}),Fr())},i(F){v||(at(k.$$.fragment,F),at(N),v=!0)},o(F){dt(k.$$.fragment,F),dt(N),v=!1},d(F){F&&(z(n),z(s),z(o),z(B),z(G)),qt(k),N&&N.d(),e=!1,d()}}}function qh(c){var me;let n,s,o,f,p,C,b,k,E=c[9].t("Keep Alive")+"",B,G,D,_,O,j,U,H,Z=c[9].t("Request Mode")+"",X,g,v,e,d,T,re;function N(we){c[25](we)}let F={admin:((me=c[10])==null?void 0:me.role)==="admin"};c[8]!==void 0&&(F.params=c[8]),n=new BC({props:F}),Br.push(()=>As(n,"params",N));function Ce(we,_e){return we[7]===null?Mw:xw}let he=Ce(c),ce=he(c),ge=c[7]!==null&&Jh(c);function Me(we,_e){return we[6]===null?Gw:Dw}let Ue=Me(c),Ne=Ue(c),de=c[6]!==null&&$h(c);return{c(){Kt(n.$$.fragment),o=Pe(),f=q("hr"),p=Pe(),C=q("div"),b=q("div"),k=q("div"),B=Xe(E),G=Pe(),D=q("button"),ce.c(),_=Pe(),ge&&ge.c(),O=Pe(
72),j=q("div"),U=q("div"),H=q("div"),X=Xe(Z),g=Pe(),v=q("button"),Ne.c(),e=Pe(),de&&de.c(),this.h()},l(we){Zt(n.$$.fragment,we),o=Se(we),f=J(we,"HR",{class:!0}),p=Se(we),C=J(we,"DIV",{class:!0});var _e=$(C);b=J(_e,"DIV",{class:!0});var pe=$(b);k=J(pe,"DIV",{class:!0});var it=$(k);B=qe(it,E),it.forEach(z),G=Se(pe),D=J(pe,"BUTTON",{class:!0,type:!0});var We=$(D);ce.l(We),We.forEach(z),pe.forEach(z),_=Se(_e),ge&&ge.l(_e),_e.forEach(z),O=Se(we),j=J(we,"DIV",{});var ot=$(j);U=J(ot,"DIV",{class:!0});var pt=$(U);H=J(pt,"DIV",{class:!0});var ct=$(H);X=qe(ct,Z),ct.forEach(z),g=Se(pt),v=J(pt,"BUTTON",{class:!0});var Re=$(v);Ne.l(Re),Re.forEach(z),pt.forEach(z),e=Se(ot),de&&de.l(ot),ot.forEach(z),this.h()},h(){V(f,"class","border-gray-100 dark:border-gray-850"),V(k,"class","self-center text-xs font-medium"),V(D,"class","p-1 px-3 text-xs flex rounded-sm transition"),V(D,"type","button"),V(b,"class","flex w-full justify-between"),V(C,"class","w-full justify-between"),V(H,"class","self-center text-xs font-medium"),V(v,"class","p-1 px-3 text-xs flex rounded-sm transition"),V(U,"class","flex w-full justify-between")},m(we,_e){Xt(n,we,_e),He(we,o,_e),He(we,f,_e),He(we,p,_e),He(we,C,_e),Q(C,b),Q(b,k),Q(k,B),Q(b,G),Q(b,D),ce.m(D,null),Q(C,_),ge&&ge.m(C,null),He(we,O,_e),He(we,j,_e),Q(j,U),Q(U,H),Q(H,X),Q(U,g),Q(U,v),Ne.m(v,null),Q(j,e),de&&de.m(j,null),d=!0,T||(re=[Pt(D,"click",c[26]),Pt(v,"click",c[28])],T=!0)},p(we,_e){var it;const pe={};_e[0]&1024&&(pe.admin=((it=we[10])==null?void 0:it.role)==="admin"),!s&&_e[0]&256&&(s=!0,pe.params=we[8],ts(()=>s=!1)),n.$set(pe),(!d||_e[0]&512)&&E!==(E=we[9].t("Keep Alive")+"")&&st(B,E),he===(he=Ce(we))&&ce?ce.p(we,_e):(ce.d(1),ce=he(we),ce&&(ce.c(),ce.m(D,null))),we[7]!==null?ge?ge.p(we,_e):(ge=Jh(we),ge.c(),ge.m(C,null)):ge&&(ge.d(1),ge=null),(!d||_e[0]&512)&&Z!==(Z=we[9].t("Request Mode")+"")&&st(X,Z),Ue===(Ue=Me(we))&&Ne?Ne.p(we,_e):(Ne.d(1),Ne=Ue(we),Ne&&(Ne.c(),Ne.m(v,null))),we[6]!==null?de?(de.p(we,_e),_e[0]&64&&at(de,1)):(de=$h(we),de.c(),at(de,1),de.m(j,null)):de&&(zr(),dt(de,1,1,()=>{de=null}),Fr())},i(we){d||(at(n.$$.fragment,we),at(de),d=!0)},o(we){dt(n.$$.fragment,we),dt(de),d=!1},d(we){we&&(z(o),z(f),z(p),z(C),z(O),z(j)),qt(n,we),ce.d(),ge&&ge.d(),Ne.d(),de&&de.d(),T=!1,Gs(re)}}}function xw(c){let n,s=c[9].t("Custom")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[0]&512&&s!==(s=f[9].t("Custom")+"")&&st(o,s)},d(f){f&&z(n)}}}function Mw(c){let n,s=c[9].t("Default")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[0]&512&&s!==(s=f[9].t("Default")+"")&&st(o,s)},d(f){f&&z(n)}}}function Jh(c){let n,s,o,f,p;return{c(){n=q("div"),s=q("input"),this.h()},l(C){n=J(C,"DIV",{class:!0});var b=$(n);s=J(b,"INPUT",{class:!0,type:!0,placeholder:!0}),b.forEach(z),this.h()},h(){V(s,"class","w-full text-sm dark:text-gray-300 dark:bg-gray-850 outline-hidden"),V(s,"type","text"),V(s,"placeholder",o=c[9].t("e.g. '30s','10m'. Valid time units are 's', 'm', 'h'.")),V(n,"class","flex mt-1 space-x-2")},m(C,b){He(C,n,b),Q(n,s),cr(s,c[7]),f||(p=Pt(s,"input",c[27]),f=!0)},p(C,b){b[0]&512&&o!==(o=C[9].t("e.g. '30s','10m'. Valid time units are 's', 'm', 'h'."))&&V(s,"placeholder",o),b[0]&128&&s.value!==C[7]&&cr(s,C[7])},d(C){C&&z(n),f=!1,p()}}}function Dw(c){let n,s=c[9].t("JSON")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[0]&512&&s!==(s=f[9].t("JSON")+"")&&st(o,s)},d(f){f&&z(n)}}}function Gw(c){let n,s=c[9].t("Default")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[0]&512&&s!==(s=f[9].t("Default")+"")&&st(o,s)},d(f){f&&z(n)}}}function $h(c){let n,s,o,f;function p(b){c[29](b)}let C={className:"w-full  text-sm dark:text-gray-300 dark:bg-gray-900 outline-hidden",placeholder:c[9].t('e.g. "json" or a JSON sc
72hema')};return c[6]!==void 0&&(C.value=c[6]),s=new Cm({props:C}),Br.push(()=>As(s,"value",p)),{c(){n=q("div"),Kt(s.$$.fragment),this.h()},l(b){n=J(b,"DIV",{class:!0});var k=$(n);Zt(s.$$.fragment,k),k.forEach(z),this.h()},h(){V(n,"class","flex mt-1 space-x-2")},m(b,k){He(b,n,k),Xt(s,n,null),f=!0},p(b,k){const E={};k[0]&512&&(E.placeholder=b[9].t('e.g. "json" or a JSON schema')),!o&&k[0]&64&&(o=!0,E.value=b[6],ts(()=>o=!1)),s.$set(E)},i(b){f||(at(s.$$.fragment,b),f=!0)},o(b){dt(s.$$.fragment,b),f=!1},d(b){b&&z(n),qt(s)}}}function _w(c){var gA,tA,oA;let n,s,o,f,p=c[9].t("WebUI Settings")+"",C,b,k,E,B=c[9].t("Theme")+"",G,D,_,O,j,U,H=c[9].t("System")+"",Z,X,g,v=c[9].t("Dark")+"",e,d,T,re=c[9].t("OLED Dark")+"",N,F,Ce,he=c[9].t("Light")+"",ce,ge,Me="🌷 Her",Ue,Ne,de,me=c[9].t("Language")+"",we,_e,pe,it,We,ot,pt,ct,Re,tt=c[9].t("Notifications")+"",It,wt,ze,At,Bt,Ft,St,oe=c[9].t("Save")+"",zt,Ie,fe,Qe,Je=Ur(c[1]),rt=[];for(let nA=0;nA<Je.length;nA+=1)rt[nA]=Kh(Uh(c,Je,nA));let lt=c[9].language==="en-US"&&Zh();function xt(nA,IA){return nA[3]===!0?Bw:Ew}let jt=xt(c),eA=jt(c),Lt=(((gA=c[10])==null?void 0:gA.role)==="admin"||((oA=(tA=c[10])==null?void 0:tA.permissions.chat)==null?void 0:oA.controls))&&Xh(c);return{c(){n=q("div"),s=q("div"),o=q("div"),f=q("div"),C=Xe(p),b=Pe(),k=q("div"),E=q("div"),G=Xe(B),D=Pe(),_=q("div"),O=q("select"),j=q("option"),U=Xe("⚙️ "),Z=Xe(H),X=q("option"),g=Xe("🌑 "),e=Xe(v),d=q("option"),T=Xe("🌃 "),N=Xe(re),F=q("option"),Ce=Xe("☀️ "),ce=Xe(he),ge=q("option"),ge.textContent=Me,Ue=Pe(),Ne=q("div"),de=q("div"),we=Xe(me),_e=Pe(),pe=q("div"),it=q("select");for(let nA=0;nA<rt.length;nA+=1)rt[nA].c();We=Pe(),lt&&lt.c(),ot=Pe(),pt=q("div"),ct=q("div"),Re=q("div"),It=Xe(tt),wt=Pe(),ze=q("button"),eA.c(),At=Pe(),Lt&&Lt.c(),Bt=Pe(),Ft=q("div"),St=q("button"),zt=Xe(oe),this.h()},l(nA){n=J(nA,"DIV",{class:!0});var IA=$(n);s=J(IA,"DIV",{class:!0});var EA=$(s);o=J(EA,"DIV",{class:!0});var Gt=$(o);f=J(Gt,"DIV",{class:!0});var bA=$(f);C=qe(bA,p),bA.forEach(z),b=Se(Gt),k=J(Gt,"DIV",{class:!0});var rA=$(k);E=J(rA,"DIV",{class:!0});var br=$(E);G=qe(br,B),br.forEach(z),D=Se(rA),_=J(rA,"DIV",{class:!0});var wA=$(_);O=J(wA,"SELECT",{class:!0,placeholder:!0});var OA=$(O);j=J(OA,"OPTION",{});var AA=$(j);U=qe(AA,"⚙️ "),Z=qe(AA,H),AA.forEach(z),X=J(OA,"OPTION",{});var iA=$(X);g=qe(iA,"🌑 "),e=qe(iA,v),iA.forEach(z),d=J(OA,"OPTION",{});var Jt=$(d);T=qe(Jt,"🌃 "),N=qe(Jt,re),Jt.forEach(z),F=J(OA,"OPTION",{});var LA=$(F);Ce=qe(LA,"☀️ "),ce=qe(LA,he),LA.forEach(z),ge=J(OA,"OPTION",{"data-svelte-h":!0}),hr(ge)!=="svelte-188ouwx"&&(ge.textContent=Me),OA.forEach(z),wA.forEach(z),rA.forEach(z),Ue=Se(Gt),Ne=J(Gt,"DIV",{class:!0});var Lr=$(Ne);de=J(Lr,"DIV",{class:!0});var Yr=$(de);we=qe(Yr,me),Yr.forEach(z),_e=Se(Lr),pe=J(Lr,"DIV",{class:!0});var Tt=$(pe);it=J(Tt,"SELECT",{class:!0,placeholder:!0});var MA=$(it);for(let Dr=0;Dr<rt.length;Dr+=1)rt[Dr].l(MA);MA.forEach(z),Tt.forEach(z),Lr.forEach(z),We=Se(Gt),lt&&lt.l(Gt),ot=Se(Gt),pt=J(Gt,"DIV",{});var NA=$(pt);ct=J(NA,"DIV",{class:!0});var JA=$(ct);Re=J(JA,"DIV",{class:!0});var WA=$(Re);It=qe(WA,tt),WA.forEach(z),wt=Se(JA),ze=J(JA,"BUTTON",{class:!0,type:!0});var DA=$(ze);eA.l(DA),DA.forEach(z),JA.forEach(z),NA.forEach(z),Gt.forEach(z),At=Se(EA),Lt&&Lt.l(EA),EA.forEach(z),Bt=Se(IA),Ft=J(IA,"DIV",{class:!0});var Vr=$(Ft);St=J(Vr,"BUTTON",{class:!0});var xr=$(St);zt=qe(xr,oe),xr.forEach(z),Vr.forEach(z),IA.forEach(z),this.h()},h(){V(f,"class","mb-1 text-sm font-medium"),V(E,"class","self-center text-xs font-medium"),j.__value="system",cr(j,j.__value),X.__value="dark",cr(X,X.__value),d.__value="oled-dark",cr(d,d.__value),F.__value="light",cr(F,F.__value),ge.__value="her",cr(ge,ge.__value),V(O,"class","dark:bg-gray-900 w-fit pr-8 rounded-sm py-2 px-2 text-xs bg-transparent outline-hidden text-right"),V(O,"placeholder","Select a theme"),c[0]===void 0&&L0(()=>c[18].call(O)),V(_,"class","flex items-center relative"),V(k,"class","flex w-full justify-between"),V(de,"class","self-center text-xs font-medium"),V(it,"class","dark:bg-gray-900 w-fit pr-8 rounded-sm py-2 px-2 text-xs bg-transparent outline-hidden text-right"),V(it,"placeholder","Select a language"),c[2]===void 0&&L0(()=>c[20].call(it)),V(pe,"class","flex items-center relative"),V(Ne,"class","flex w-full justify-between"),V(Re,"class","self-center text-xs font-medium"),V(ze,"class","p-1 px-3 text-xs flex rounded-sm transition"),V(ze,"type","button"),V(ct,"class","py-0.5 flex w-full justify-between"),V(o,"class",""),V(s,"class","overflow-y-scroll max-h-[28rem] lg:max-h-full"),V(St,"class","px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"),V(Ft,"class","flex justify-end pt-3 text-sm font-medium"),V(n,"class","flex flex-col h-full justify-between text-sm")},m(nA,IA){He(nA,n,IA),Q(n,s),Q(s,o),Q(o,f),Q(f,C),Q(o,b),Q(o,k),Q(k,E),Q(E,G),Q(k,D),Q(k,_),Q(_,O),Q(O,j),Q(j,U),Q(j,Z),Q(O,X),Q(X,g),Q(X,e),Q(O,d),Q(d,T),Q(d,N),Q(O,F),Q(F,
72Ce),Q(F,ce),Q(O,ge),ao(O,c[0],!0),Q(o,Ue),Q(o,Ne),Q(Ne,de),Q(de,we),Q(Ne,_e),Q(Ne,pe),Q(pe,it);for(let EA=0;EA<rt.length;EA+=1)rt[EA]&&rt[EA].m(it,null);ao(it,c[2],!0),Q(o,We),lt&&lt.m(o,null),Q(o,ot),Q(o,pt),Q(pt,ct),Q(ct,Re),Q(Re,It),Q(ct,wt),Q(ct,ze),eA.m(ze,null),Q(s,At),Lt&&Lt.m(s,null),Q(n,Bt),Q(n,Ft),Q(Ft,St),Q(St,zt),Ie=!0,fe||(Qe=[Pt(O,"change",c[18]),Pt(O,"change",c[19]),Pt(it,"change",c[20]),Pt(it,"change",c[21]),Pt(ze,"click",c[22]),Pt(St,"click",c[30])],fe=!0)},p(nA,IA){var EA,Gt,bA;if((!Ie||IA[0]&512)&&p!==(p=nA[9].t("WebUI Settings")+"")&&st(C,p),(!Ie||IA[0]&512)&&B!==(B=nA[9].t("Theme")+"")&&st(G,B),(!Ie||IA[0]&512)&&H!==(H=nA[9].t("System")+"")&&st(Z,H),(!Ie||IA[0]&512)&&v!==(v=nA[9].t("Dark")+"")&&st(e,v),(!Ie||IA[0]&512)&&re!==(re=nA[9].t("OLED Dark")+"")&&st(N,re),(!Ie||IA[0]&512)&&he!==(he=nA[9].t("Light")+"")&&st(ce,he),IA[0]&1&&ao(O,nA[0]),(!Ie||IA[0]&512)&&me!==(me=nA[9].t("Language")+"")&&st(we,me),IA[0]&2){Je=Ur(nA[1]);let rA;for(rA=0;rA<Je.length;rA+=1){const br=Uh(nA,Je,rA);rt[rA]?rt[rA].p(br,IA):(rt[rA]=Kh(br),rt[rA].c(),rt[rA].m(it,null))}for(;rA<rt.length;rA+=1)rt[rA].d(1);rt.length=Je.length}IA[0]&6&&ao(it,nA[2]),nA[9].language==="en-US"?lt||(lt=Zh(),lt.c(),lt.m(o,ot)):lt&&(lt.d(1),lt=null),(!Ie||IA[0]&512)&&tt!==(tt=nA[9].t("Notifications")+"")&&st(It,tt),jt===(jt=xt(nA))&&eA?eA.p(nA,IA):(eA.d(1),eA=jt(nA),eA&&(eA.c(),eA.m(ze,null))),((EA=nA[10])==null?void 0:EA.role)==="admin"||(bA=(Gt=nA[10])==null?void 0:Gt.permissions.chat)!=null&&bA.controls?Lt?(Lt.p(nA,IA),IA[0]&1024&&at(Lt,1)):(Lt=Xh(nA),Lt.c(),at(Lt,1),Lt.m(s,null)):Lt&&(zr(),dt(Lt,1,1,()=>{Lt=null}),Fr()),(!Ie||IA[0]&512)&&oe!==(oe=nA[9].t("Save")+"")&&st(zt,oe)},i(nA){Ie||(at(Lt),Ie=!0)},o(nA){dt(Lt),Ie=!1},d(nA){nA&&z(n),Un(rt,nA),lt&&lt.d(),eA.d(),Lt&&Lt.d(),fe=!1,Gs(Qe)}}}function Tw(c,n,s){let o,f,p;jA(c,no,pe=>s(31,o=pe)),jA(c,rl,pe=>s(10,p=pe));const C=Wn(),b=Aa("i18n");jA(c,b,pe=>s(9,f=pe));let{saveSettings:k}=n,{getModels:E}=n,B=["dark","light","rose-pine dark","rose-pine-dawn light","oled-dark"],G="system",D=[],_=f.language,O=!1,j="",U=!1;const H=async()=>{await Notification.requestPermission()==="granted"?(s(3,O=!O),k({notificationEnabled:O})):gr.error(f.t("Response notifications cannot be activated as the website permissions have been denied. Please visit your browser settings to grant the necessary access."))};let Z=null,X=null,g={stream_response:null,function_calling:null,seed:null,temperature:null,reasoning_effort:null,logit_bias:null,frequency_penalty:null,presence_penalty:null,repeat_penalty:null,repeat_last_n:null,mirostat:null,mirostat_eta:null,mirostat_tau:null,top_k:null,top_p:null,min_p:null,stop:null,tfs_z:null,num_ctx:null,num_batch:null,num_keep:null,max_tokens:null,num_gpu:null};const v=pe=>{try{const it=JSON.parse(pe);if(it&&typeof it=="object")return!0}catch{}return!1},e=async()=>{Z===null?s(6,Z="json"):s(6,Z=null),k({requestFormat:Z!==null?Z:void 0})},d=async()=>{if(Z!==null&&Z!=="json")if(v(Z)===!1){gr.error(f.t("Invalid JSON schema"));return}else s(6,Z=JSON.parse(Z));k({system:j!==""?j:void 0,params:{stream_response:g.stream_response!==null?g.stream_response:void 0,function_calling:g.function_calling!==null?g.function_calling:void 0,seed:(g.seed!==null?g.seed:void 0)??void 0,stop:g.stop?g.stop.split(",").filter(pe=>pe):void 0,temperature:g.temperature!==null?g.temperature:void 0,reasoning_effort:g.reasoning_effort!==null?g.reasoning_effort:void 0,logit_bias:g.logit_bias!==null?g.logit_bias:void 0,frequency_penalty:g.frequency_penalty!==null?g.frequency_penalty:void 0,presence_penalty:g.frequency_penalty!==null?g.frequency_penalty:void 0,repeat_penalty:g.frequency_penalty!==null?g.frequency_penalty:void 0,repeat_last_n:g.repeat_last_n!==null?g.repeat_last_n:void 0,mirostat:g.mirostat!==null?g.mirostat:void 0,mirostat_eta:g.mirostat_eta!==null?g.mirostat_eta:void 0,mirostat_tau:g.mirostat_tau!==null?g.mirostat_tau:void 0,top_k:g.top_k!==null?g.top_k:void 0,top_p:g.top_p!==null?g.top_p:void 0,min_p:g.min_p!==null?g.min_p:void 0,tfs_z:g.tfs_z!==null?g.tfs_z:void 0,num_ctx:g.num_ctx!==null?g.num_ctx:void 0,num_batch:g.num_batch!==null?g.num_batch:void 0,num_keep:g.num_keep!==null?g.num_keep:void 0,max_tokens:g.max_tokens!==null?g.max_tokens:void 0,use_mmap:g.use_mmap!==null?g.use_mmap:void 0,use_mlock:g.use_mlock!==null?g.use_mlock:void 0,num_thread:g.num_thread!==null?g.num_thread:void 0,num_gpu:g.num_gpu!==null?g.num_gpu:void 0},keepAlive:X?isNaN(X)?X:parseInt(X):void 0,requestFormat:Z!==null?Z:void 0}),C("save"),s(6,Z=typeof Z=="object"?JSON.stringify(Z,null,2):Z)};Kn(async()=>{var pe,it;s(0,G=localStorage.theme??"system"),s(1,D=await yC()),s(3,O=o.notificationEnabled??!1),s(4,j=o.system??""),s(6,Z=o.requestFormat??null),Z!==null&&Z!=="json"&&s(6,Z=typeof Z=="object"?JSON.stringify(Z,null,2):Z),s(7,X=o.keepAlive??null),s(8,g={...g,...o.params}),s(8,g.stop=(pe=o==null?void 0:o.params)!=null&&pe.stop?(((it=o==null?void 0:o.params)==null?void 0:it.stop)??[]).join(","):null,g)});const T=pe=>{let it=pe==="oled-dark"?"dark":pe;pe==="system"&&(it=window.matchMedia("(prefers-color-scheme: dark)").matches?"dar
72k":"light"),it==="dark"&&!pe.includes("oled")&&(document.documentElement.style.setProperty("--color-gray-800","#333"),document.documentElement.style.setProperty("--color-gray-850","#262626"),document.documentElement.style.setProperty("--color-gray-900","#171717"),document.documentElement.style.setProperty("--color-gray-950","#0d0d0d")),B.filter(ot=>ot!==it).forEach(ot=>{ot.split(" ").forEach(pt=>{document.documentElement.classList.remove(pt)})}),it.split(" ").forEach(ot=>{document.documentElement.classList.add(ot)});const We=document.querySelector('meta[name="theme-color"]');if(We)if(pe.includes("system")){const ot=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";console.log("Setting system meta theme color: "+ot),We.setAttribute("content",ot==="light"?"#ffffff":"#171717")}else console.log("Setting meta theme color: "+pe),We.setAttribute("content",pe==="dark"?"#171717":pe==="oled-dark"?"#000000":pe==="her"?"#983724":"#ffffff");typeof window<"u"&&window.applyTheme&&window.applyTheme(),pe.includes("oled")&&(document.documentElement.style.setProperty("--color-gray-800","#101010"),document.documentElement.style.setProperty("--color-gray-850","#050505"),document.documentElement.style.setProperty("--color-gray-900","#000000"),document.documentElement.style.setProperty("--color-gray-950","#000000"),document.documentElement.classList.add("dark")),console.log(pe)},re=pe=>{nm.set(pe),localStorage.setItem("theme",pe),T(pe)};function N(){G=kl(this),s(0,G)}const F=()=>re(G);function Ce(){_=kl(this),s(2,_),s(1,D)}const he=pe=>{EC(_)},ce=()=>{H()};function ge(pe){j=pe,s(4,j)}const Me=()=>{s(5,U=!U)};function Ue(pe){g=pe,s(8,g)}const Ne=()=>{s(7,X=X===null?"5m":null)};function de(){X=this.value,s(7,X)}const me=()=>{e()};function we(pe){Z=pe,s(6,Z)}const _e=()=>{d()};return c.$$set=pe=>{"saveSettings"in pe&&s(16,k=pe.saveSettings),"getModels"in pe&&s(17,E=pe.getModels)},[G,D,_,O,j,U,Z,X,g,f,p,b,H,e,d,re,k,E,N,F,Ce,he,ce,ge,Me,Ue,Ne,de,me,we,_e]}class Qw extends vs{constructor(n){super(),ys(this,n,Tw,_w,ks,{saveSettings:16,getModels:17},null,[-1,-1])}}function Pw(c){let n,s=c[31].t("Chat")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("Chat")+"")&&st(o,s)},d(f){f&&z(n)}}}function Sw(c){let n,s=c[31].t("Default")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("Default")+"")&&st(o,s)},d(f){f&&z(n)}}}function Nw(c){let n,s=c[31].t("Off")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("Off")+"")&&st(o,s)},d(f){f&&z(n)}}}function zw(c){let n,s=c[31].t("On")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("On")+"")&&st(o,s)},d(f){f&&z(n)}}}function ep(c){let n,s,o,f=c[31].t("Display the username instead of You in the Chat")+"",p,C,b,k,E;function B(_,O){return _[10]===!0?Ow:Fw}let G=B(c),D=G(c);return{c(){n=q("div"),s=q("div"),o=q("div"),p=Xe(f),C=Pe(),b=q("button"),D.c(),this.h()},l(_){n=J(_,"DIV",{});var O=$(n);s=J(O,"DIV",{class:!0});var j=$(s);o=J(j,"DIV",{class:!0});var U=$(o);p=qe(U,f),U.forEach(z),C=Se(j),b=J(j,"BUTTON",{class:!0,type:!0});var H=$(b);D.l(H),H.forEach(z),j.forEach(z),O.forEach(z),this.h()},h(){V(o,"class","self-center text-xs"),V(b,"class","p-1 px-3 text-xs flex rounded-sm transition"),V(b,"type","button"),V(s,"class","py-0.5 flex w-full justify-between")},m(_,O){He(_,n,O),Q(n,s),Q(s,o),Q(o,p),Q(s,C),Q(s,b),D.m(b,null),k||(E=Pt(b,"click",c[65]),k=!0)},p(_,O){O[1]&1&&f!==(f=_[31].t("Display the username instead of You in the Chat")+"")&&st(p,f),G===(G=B(_))&&D?D.p(_,O):(D.d(1),D=G(_),D&&(D.c(),D.m(b,null)))},d(_){_&&z(n),D.d(),k=!1,E()}}}function Fw(c){let n,s=c[31].t("Off")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("Off")+"")&&st(o,s)},d(f){f&&z(n)}}}function Ow(c){let n,s=c[31].t("On")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("On")+"")&&st(o,s)},d(f){f&&z(n)}}}function Lw(c){let n,s=c[31].t("Off")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("Off")+"")&&st(o,s)},d(f){f&&z(n)}}}function Vw(c){let n,s=c[31].t("On")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("On")+"")&&st(o,s)},d(f){f&&z(n)}}}function Hw(c){let n,s=c[31].t("Auto")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("Auto")+"")&&st(o,s)},d(f){f&&z(n)}}}function Yw(c){let n,s=c[31].t("RTL")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("RTL")+"")&&st(o,s)},d(f){f&&z(n)}}}function Rw(c){let n,s=c[31].t("LTR")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("LTR")+"")&&st(o,s)},d(f){f&&z(n)}}}function jw(c){let n,s=c[31].t("Off")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("Off")+"")&&st(o,s)},d(f){f&&z(n)}}}function Ww(c){let n,s=c[31].t("On")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("On")+"")&&st(o,s)},d(f){f&&z(n)}}}function tp(c){let n,s,o,f=c[31].t("Toast notifications for new updates")+"",p,C,b,k,E,B,G,D=c[31].t(`Show "What's New" modal on login`)+"",_,O,j,U,H;function Z(T,re){return T[23]===!0?Kw:Uw}let X=Z(c),g=X(c);function v(T,re){return T[24]===!0?Xw:Zw}let e=v(c),d=e(c);return{c(){n=q("div"),s=q("div"),o=q("div"),p=Xe(f),C=Pe(),b=q("button"),g.c(),k=Pe(),E=q("div"),B=q("div"),G=q("div"),_=Xe(D),O=Pe(),j=q("button"),d.c(),this.h()},l(T){n=J(T,"DIV",{});var re=$(n);s=J(re,"DIV",{class:!0});var N=$(s);o=J(N,"DIV",{class:!0});var F=$(o);p=qe(F,f),F.forEach(z),C=Se(N),b=J(N,"BUTTON",{class:!0,type:!0});var Ce=$(b);
72g.l(Ce),Ce.forEach(z),N.forEach(z),re.forEach(z),k=Se(T),E=J(T,"DIV",{});var he=$(E);B=J(he,"DIV",{class:!0});var ce=$(B);G=J(ce,"DIV",{class:!0});var ge=$(G);_=qe(ge,D),ge.forEach(z),O=Se(ce),j=J(ce,"BUTTON",{class:!0,type:!0});var Me=$(j);d.l(Me),Me.forEach(z),ce.forEach(z),he.forEach(z),this.h()},h(){V(o,"class","self-center text-xs"),V(b,"class","p-1 px-3 text-xs flex rounded-sm transition"),V(b,"type","button"),V(s,"class","py-0.5 flex w-full justify-between"),V(G,"class","self-center text-xs"),V(j,"class","p-1 px-3 text-xs flex rounded-sm transition"),V(j,"type","button"),V(B,"class","py-0.5 flex w-full justify-between")},m(T,re){He(T,n,re),Q(n,s),Q(s,o),Q(o,p),Q(s,C),Q(s,b),g.m(b,null),He(T,k,re),He(T,E,re),Q(E,B),Q(B,G),Q(G,_),Q(B,O),Q(B,j),d.m(j,null),U||(H=[Pt(b,"click",c[68]),Pt(j,"click",c[69])],U=!0)},p(T,re){re[1]&1&&f!==(f=T[31].t("Toast notifications for new updates")+"")&&st(p,f),X===(X=Z(T))&&g?g.p(T,re):(g.d(1),g=X(T),g&&(g.c(),g.m(b,null))),re[1]&1&&D!==(D=T[31].t(`Show "What's New" modal on login`)+"")&&st(_,D),e===(e=v(T))&&d?d.p(T,re):(d.d(1),d=e(T),d&&(d.c(),d.m(j,null)))},d(T){T&&(z(n),z(k),z(E)),g.d(),d.d(),U=!1,Gs(H)}}}function Uw(c){let n,s=c[31].t("Off")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("Off")+"")&&st(o,s)},d(f){f&&z(n)}}}function Kw(c){let n,s=c[31].t("On")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("On")+"")&&st(o,s)},d(f){f&&z(n)}}}function Zw(c){let n,s=c[31].t("Off")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("Off")+"")&&st(o,s)},d(f){f&&z(n)}}}function Xw(c){let n,s=c[31].t("On")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("On")+"")&&st(o,s)},d(f){f&&z(n)}}}function qw(c){let n,s=c[31].t("Off")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("Off")+"")&&st(o,s)},d(f){f&&z(n)}}}function Jw(c){let n,s=c[31].t("On")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("On")+"")&&st(o,s)},d(f){f&&z(n)}}}function $w(c){let n,s=c[31].t("Off")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("Off")+"")&&st(o,s)},d(f){f&&z(n)}}}function ek(c){let n,s=c[31].t("On")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("On")+"")&&st(o,s)},d(f){f&&z(n)}}}function tk(c){let n,s=c[31].t("Off")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("Off")+"")&&st(o,s)},d(f){f&&z(n)}}}function Ak(c){let n,s=c[31].t("On")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("On")+"")&&st(o,s)},d(f){f&&z(n)}}}function rk(c){let n,s=c[31].t("Off")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("Off")+"")&&st(o,s)},d(f){f&&z(n)}}}function sk(c){let n,s=c[31].t("On")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("On")+"")&&st(o,s)},d(f){f&&z(n)}}}function Ap(c){let n,s,o,f=c[31].t("Prompt Autocompletion")+"",p,C,b,k,E;function B(_,O){return _[13]===!0?nk:ak}let G=B(c),D=G(c);return{c(){n=q("div"),s=q("div"),o=q("div"),p=Xe(f),C=Pe(),b=q("button"),D.c(),this.h()},l(_){n=J(_,"DIV",{});var O=$(n);s=J(O,"DIV",{class:!0});var j=$(s);o=J(j,"DIV",{class:!0});var U=$(o);
72p=qe(U,f),U.forEach(z),C=Se(j),b=J(j,"BUTTON",{class:!0,type:!0});var H=$(b);D.l(H),H.forEach(z),j.forEach(z),O.forEach(z),this.h()},h(){V(o,"class","self-center text-xs"),V(b,"class","p-1 px-3 text-xs flex rounded-sm transition"),V(b,"type","button"),V(s,"class","py-0.5 flex w-full justify-between")},m(_,O){He(_,n,O),Q(n,s),Q(s,o),Q(o,p),Q(s,C),Q(s,b),D.m(b,null),k||(E=Pt(b,"click",c[74]),k=!0)},p(_,O){O[1]&1&&f!==(f=_[31].t("Prompt Autocompletion")+"")&&st(p,f),G===(G=B(_))&&D?D.p(_,O):(D.d(1),D=G(_),D&&(D.c(),D.m(b,null)))},d(_){_&&z(n),D.d(),k=!1,E()}}}function ak(c){let n,s=c[31].t("Off")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("Off")+"")&&st(o,s)},d(f){f&&z(n)}}}function nk(c){let n,s=c[31].t("On")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("On")+"")&&st(o,s)},d(f){f&&z(n)}}}function ik(c){let n,s=c[31].t("Off")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("Off")+"")&&st(o,s)},d(f){f&&z(n)}}}function ok(c){let n,s=c[31].t("On")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("On")+"")&&st(o,s)},d(f){f&&z(n)}}}function lk(c){let n,s=c[31].t("Off")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("Off")+"")&&st(o,s)},d(f){f&&z(n)}}}function ck(c){let n,s=c[31].t("On")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("On")+"")&&st(o,s)},d(f){f&&z(n)}}}function uk(c){let n,s=c[31].t("Off")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("Off")+"")&&st(o,s)},d(f){f&&z(n)}}}function fk(c){let n,s=c[31].t("On")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("On")+"")&&st(o,s)},d(f){f&&z(n)}}}function dk(c){let n,s=c[31].t("Upload")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("Upload")+"")&&st(o,s)},d(f){f&&z(n)}}}function gk(c){let n,s=c[31].t("Reset")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("Reset")+"")&&st(o,s)},d(f){f&&z(n)}}}function hk(c){let n,s=c[31].t("Off")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("Off")+"")&&st(o,s)},d(f){f&&z(n)}}}function pk(c){let n,s=c[31].t("On")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("On")+"")&&st(o,s)},d(f){f&&z(n)}}}function mk(c){let n,s=c[31].t("Off")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("Off")+"")&&st(o,s)},d(f){f&&z(n)}}}function bk(c){let n,s=c[31].t("On")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("On")+"")&&st(o,s)},d(f){f&&z(n)}}}function Ck(c){let n,s=c[31].t("Enter to Send")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("Enter to Send")+"")&&st(o,s)},d(f){f&&z(n)}}}function Ik(c){let n,s=c[31].t("Ctrl+Enter to Send")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("Ctrl+Enter to Send")+"")&&st(o,s)},d(f){f&&z(n)}}}function wk(c){let n,s=c[31].t("Off")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("Off")+"")&&st(o,s)},d(f){f&&z(n)}}}function kk(c){let n,s=c[31].t("On")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("On")+"")&&st(o,s)},d(f){f&&z(n)}}}function vk(c){let n,s=c[31].t("Default")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("Default")+"")&&st(o,s)},d(f){f&&z(n)}}}function yk(c){let n,s=c[31].t("Always")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("Always")+"")&&st(o,s)},d(f){f&&z(n)}}}function Ek(c){let n,s=c[31].t("Off")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("Off")+"")&&st(o,s)},d(f){f&&z(n)}}}function Bk(c){let n,s=c[31].t("On")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("On")+"")&&st(o,s)},d(f){f&&z(n)}}}function xk(c){let n,s=c[31].t("Off")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("Off")+"")&&st(o,s)},d(f){f&&z(n)}}}function Mk(c){let n,s=c[31].t("On")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("On")+"")&&st(o,s)},d(f){f&&z(n)}}}function Dk(c){let n,s=c[31].t("Off")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("Off")+"")&&st(o,s)},d(f){f&&z(n)}}}function Gk(c){let n,s=c[31].t("On")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[1]&1&&s!==(s=f[31].t("On")+"")&&st(o,s)},d(f){f&&z(n)}}}function rp(c){let n,s,o,f=c[31].t("Image Max Compression Size")+"",p,C,b,k,E,B,G,D;return{c(){n=q("div"),s=q("div"),o=q("div"),p=Xe(f),C=Pe(),b=q("div"),k=q("input"),E=Xe(`x
73							`),B=q("input"),this.h()},l(_){n=J(_,"DIV",{});var O=$(n);s=J(O,"DIV",{class:!0});var j=$(s);o=J(j,"DIV",{class:!0});var U=$(o);
73p=qe(U,f),U.forEach(z),C=Se(j),b=J(j,"DIV",{});var H=$(b);k=J(H,"INPUT",{type:!0,class:!0,min:!0,placeholder:!0}),E=qe(H,`x
74							`),B=J(H,"INPUT",{type:!0,class:!0,min:!0,placeholder:!0}),H.forEach(z),j.forEach(z),O.forEach(z),this.h()},h(){V(o,"class","self-center text-xs"),V(k,"type","number"),V(k,"class","w-20 bg-transparent outline-hidden text-center"),V(k,"min","0"),V(k,"placeholder","Width"),V(B,"type","number"),V(B,"class","w-20 bg-transparent outline-hidden text-center"),V(B,"min","0"),V(B,"placeholder","Height"),V(s,"class","py-0.5 flex w-full justify-between text-xs")},m(_,O){He(_,n,O),Q(n,s),Q(s,o),Q(o,p),Q(s,C),Q(s,b),Q(b,k),cr(k,c[22].width),Q(b,E),Q(b,B),cr(B,c[22].height),G||(D=[Pt(k,"input",c[87]),Pt(B,"input",c[88])],G=!0)},p(_,O){O[1]&1&&f!==(f=_[31].t("Image Max Compression Size")+"")&&st(p,f),O[0]&4194304&&W1(k.value)!==_[22].width&&cr(k,_[22].width),O[0]&4194304&&W1(B.value)!==_[22].height&&cr(B,_[22].height)},d(_){_&&z(n),G=!1,Gs(D)}}}function _k(c){var Io,So,Gi;let n,s,o,f,p,C,b=c[31].t("UI")+"",k,E,B,G,D,_=c[31].t("Landing Page Mode")+"",O,j,U,H,Z,X,g,v=c[31].t("Chat Bubble UI")+"",e,d,T,re,N,F,Ce,he,ce=c[31].t("Widescreen Mode")+"",ge,Me,Ue,Ne,de,me,we,_e=c[31].t("Chat direction")+"",pe,it,We,ot,pt,ct,Re,tt=c[31].t("Notification Sound")+"",It,wt,ze,At,Bt,Ft,St=c[31].t("Chat")+"",oe,zt,Ie,fe,Qe,Je=c[31].t("Title Auto-Generation")+"",rt,lt,xt,jt,eA,Lt,gA,tA=c[31].t("Chat Tags Auto-Generation")+"",oA,nA,IA,EA,Gt,bA,rA,br=c[31].t("Auto-Copy Response to Clipboard")+"",wA,OA,AA,iA,Jt,LA,Lr,Yr=c[31].t("Rich Text Input for Chat")+"",Tt,MA,NA,JA,WA,DA,Vr,xr,Dr=c[31].t("Paste Large Text as File")+"",Ls,HA,ss,Da,dn,Ga,Ka,gn=c[31].t("Always Collapse Code Blocks")+"",xs,hn,ya,ui,La,Va,ls,yn=c[31].t("Always Expand Details")+"",Qn,Ci,Ha,Pn,En,Ya,sr,pr=c[31].t("Chat Backgroun
74d Image")+"",oa,fi,_a,Zn,Za,Ra,_t,ye=c[31].t("Allow User Location")+"",Ze,ut,mt,yt,Rt,cA,gt,mA=c[31].t("Haptic Feedback")+"",lA,lr,Wr,Tr,Or,fr,kA,QA=c[31].t("Enter Key Behavior")+"",Qr,ga,_s,rs,zA,Kr,Wt,PA=c[31].t("Scroll to bottom when switching between branches")+"",ra,Vs,ms,Ts,as,vr,cs,Sn=c[31].t("Web Search in Chat")+"",Ta,zi,Hs,Fi,ur,Us=c[31].t("Voice")+"",ja,Mo,Oi,Xn,Ii,Nn=c[31].t("Allow Voice Interruption in Call")+"",zn,Do,pn,Qa,Ys,BA,sa,wi=c[31].t("Display Emoji in Call")+"",ki,io,Fn,Go,di,oo=c[31].t("File")+"",Ea,Xr,qn,mn,Xs,Bn=c[31].t("Image Compression")+"",rn,lo,xn,Jn,co,gi,$n,uA=c[31].t("Save")+"",On,vA,_o;function uo(Ot,GA){return Ot[15]===""?Sw:Pw}let la=uo(c),Ss=la(c);function vi(Ot,GA){return Ot[16]===!0?zw:Nw}let hi=vi(c),sn=hi(c),Rr=!c[29].chatBubble&&ep(c);function Uo(Ot,GA){return Ot[7]===!0?Vw:Lw}let fo=Uo(c),ha=fo(c);function yi(Ot,GA){return Ot[17]==="LTR"?Rw:Ot[17]==="RTL"?Yw:Hw}let go=yi(c),Xa=go(c);function Ei(Ot,GA){return Ot[11]===!0?Ww:jw}let CA=Ei(c),qs=CA(c),pa=((Io=c[32])==null?void 0:Io.role)==="admin"&&tp(c);function Li(Ot,GA){return Ot[4]===!0?Jw:qw}let bn=Li(c),an=bn(c);function Ko(Ot,GA){return Ot[5]===!0?ek:$w}let ho=Ko(c),qa=ho(c);function Zo(Ot,GA){return Ot[6]===!0?Ak:tk}let po=Zo(c),ns=po(c);function Xo(Ot,GA){return Ot[12]===!0?sk:rk}let mo=Xo(c),er=mo(c),or=((Gi=(So=c[30])==null?void 0:So.features)==null?void 0:Gi.enable_autocomplete_generation)&&c[12]&&Ap(c);function To(Ot,GA){return Ot[14]===!0?ok:ik}let nn=To(c),Cn=nn(c);function ca(Ot,GA){return Ot[19]===!0?ck:lk}let In=ca(c),bs=In(c);function Ln(Ot,GA){return Ot[20]===!0?fk:uk}let Bi=Ln(c),on=Bi(c);function qo(Ot,GA){return Ot[1]!==null?gk:dk}let xi=qo(c),qr=xi(c);function Vi(Ot,GA){return Ot[9]===!0?pk:hk}let Hi=Vi(c),Cs=Hi(c);function Mi(Ot,GA){return Ot[27]===!0?bk:mk}let wn=Mi(c),ln=wn(c);function Qo(Ot,GA){return Ot[18]===!0?Ik:Ck}let Yi=Qo(c),Ja=Yi(c);function Mn(Ot,GA){return Ot[8]===!0?kk:wk}let Di=Mn(c),kn=Di(c);function Po(Ot,GA){return Ot[28]==="always"?yk:vk}let Ri=Po(c),ua=Ri(c);function bo(Ot,GA){return Ot[26]===!0?Bk:Ek}let Ns=bo(c),cn=Ns(c);function Co(Ot,GA){return Ot[25]===!0?Mk:xk}let pi=Co(c),zs=pi(c);function ji(Ot,GA){return Ot[21]===!0?Gk:Dk}let Wi=ji(c),Js=Wi(c),ma=c[21]&&rp(c);return{c(){n=q("form"),s=q("input"),o=Pe(),f=q("div"),p=q("div"),C=q("div"),k=Xe(b),E=Pe(),B=q("div"),G=q("div"),D=q("div"),O=Xe(_),j=Pe(),U=q("button"),Ss.c(),H=Pe(),Z=q("div"),X=q("div"),g=q("div"),e=Xe(v),d=Pe(),T=q("button"),sn.c(),re=Pe(),Rr&&Rr.c(),N=Pe(),F=q("div"),Ce=q("div"),he=q("div"),ge=Xe(ce),Me=Pe(),Ue=q("button"),ha.c(),Ne=Pe(),de=q("div"),me=q("div"),we=q("div"),pe=Xe(_e),it=Pe(),We=q("button"),Xa.c(),ot=Pe(),pt=q("div"),ct=q("div"),Re=q("div"),It=Xe(tt),wt=Pe(),ze=q("button"),qs.c(),At=Pe(),pa&&pa.c(),Bt=Pe(),Ft=q("div"),oe=Xe(St),zt=Pe(),Ie=q("div"),fe=q("div"),Qe=q("div"),rt=Xe(Je),lt=Pe(),xt=q("button"),an.c(),jt=Pe(),eA=q("div"),Lt=q("div"),gA=q("div"),oA=Xe(tA),nA=Pe(),IA=q("button"),qa.c(),EA=Pe(),Gt=q("div"),bA=q("div"),rA=q("div"),wA=Xe(br),OA=Pe(),AA=q("button"),ns.c(),iA=Pe(),Jt=q("div"),LA=q("div"),Lr=q("div"),Tt=Xe(Yr),MA=Pe(),NA=q("button"),er.c(),JA=Pe(),or&&or.c(),WA=Pe(),DA=q("div"),Vr=q("div"),xr=q("div"),Ls=Xe(Dr),HA=Pe(),ss=q("button"),Cn.c(),Da=Pe(),dn=q("div"),Ga=q("div"),Ka=q("div"),xs=Xe(gn),hn=Pe(),ya=q("button"),bs.c(),ui=Pe(),La=q("div"),Va=q("div"),ls=q("div"),Qn=Xe(yn),Ci=Pe(),Ha=q("button"),on.c(),Pn=Pe(),En=q("div"),Ya=q("div"),sr=q("div"),oa=Xe(pr),fi=Pe(),_a=q("button"),qr.c(),Zn=Pe(),Za=q("div"),Ra=q("div"),_t=q("div"),Ze=Xe(ye),ut=Pe(),mt=q("button"),Cs.c(),yt=Pe(),Rt=q("div"),cA=q("div"),gt=q("div"),lA=Xe(mA),lr=Pe(),Wr=q("button"),ln.c(),Tr=Pe(
74),Or=q("div"),fr=q("div"),kA=q("div"),Qr=Xe(QA),ga=Pe(),_s=q("button"),Ja.c(),rs=Pe(),zA=q("div"),Kr=q("div"),Wt=q("div"),ra=Xe(PA),Vs=Pe(),ms=q("button"),kn.c(),Ts=Pe(),as=q("div"),vr=q("div"),cs=q("div"),Ta=Xe(Sn),zi=Pe(),Hs=q("button"),ua.c(),Fi=Pe(),ur=q("div"),ja=Xe(Us),Mo=Pe(),Oi=q("div"),Xn=q("div"),Ii=q("div"),zn=Xe(Nn),Do=Pe(),pn=q("button"),cn.c(),Qa=Pe(),Ys=q("div"),BA=q("div"),sa=q("div"),ki=Xe(wi),io=Pe(),Fn=q("button"),zs.c(),Go=Pe(),di=q("div"),Ea=Xe(oo),Xr=Pe(),qn=q("div"),mn=q("div"),Xs=q("div"),rn=Xe(Bn),lo=Pe(),xn=q("button"),Js.c(),Jn=Pe(),ma&&ma.c(),co=Pe(),gi=q("div"),$n=q("button"),On=Xe(uA),this.h()},l(Ot){n=J(Ot,"FORM",{class:!0});var GA=$(n);s=J(GA,"INPUT",{type:!0,accept:!0}),o=Se(GA),f=J(GA,"DIV",{class:!0});var Ui=$(f);p=J(Ui,"DIV",{});var SA=$(p);C=J(SA,"DIV",{class:!0});var ei=$(C);k=qe(ei,b),ei.forEach(z),E=Se(SA),B=J(SA,"DIV",{});var ba=$(B);G=J(ba,"DIV",{class:!0});var Ki=$(G);D=J(Ki,"DIV",{class:!0});var wo=$(D);O=qe(wo,_),wo.forEach(z),j=Se(Ki),U=J(Ki,"BUTTON",{class:!0,type:!0});var un=$(U);Ss.l(un),un.forEach(z),Ki.forEach(z),ba.forEach(z),H=Se(SA),Z=J(SA,"DIV",{});var fs=$(Z);X=J(fs,"DIV",{class:!0});var Zi=$(X);g=J(Zi,"DIV",{class:!0});var ti=$(g);e=qe(ti,v),ti.forEach(z),d=Se(Zi),T=J(Zi,"BUTTON",{class:!0,type:!0});var _i=$(T);sn.l(_i),_i.forEach(z),Zi.forEach(z),fs.forEach(z),re=Se(SA),Rr&&Rr.l(SA),N=Se(SA),F=J(SA,"DIV",{});var Jo=$(F);Ce=J(Jo,"DIV",{class:!0});var Xi=$(Ce);he=J(Xi,"DIV",{class:!0});var No=$(he);ge=qe(No,ce),No.forEach(z),Me=Se(Xi),Ue=J(Xi,"BUTTON",{class:!0,type:!0});var $o=$(Ue);ha.l($o),$o.forEach(z),Xi.forEach(z),Jo.forEach(z),Ne=Se(SA),de=J(SA,"DIV",{});var Ai=$(de);me=J(Ai,"DIV",{class:!0});var $a=$(me);we=J($a,"DIV",{class:!0});var zo=$(we);pe=qe(zo,_e),zo.forEach(z),it=Se($a),We=J($a,"BUTTON",{class:!0,type:!0});var qi=$(We);Xa.l(qi),qi.forEach(z),$a.forEach(z),Ai.forEach(z),ot=Se(SA),pt=J(SA,"DIV",{});var aa=$(pt);ct=J(aa,"DIV",{class:!0});var Zr=$(ct);Re=J(Zr,"DIV",{class:!0});var Ti=$(Re);It=qe(Ti,tt),Ti.forEach(z),wt=Se(Zr),ze=J(Zr,"BUTTON",{class:!0,type:!0});var e0=$(ze);qs.l(e0),e0.forEach(z),Zr.forEach(z),aa.forEach(z),At=Se(SA),pa&&pa.l(SA),Bt=Se(SA),Ft=J(SA,"DIV",{class:!0});var ri=$(Ft);oe=qe(ri,St),ri.forEach(z),zt=Se(SA),Ie=J(SA,"DIV",{});var si=$(Ie);fe=J(si,"DIV",{class:!0});var Vn=$(fe);Qe=J(Vn,"DIV",{class:!0});var Fo=$(Qe);rt=qe(Fo,Je),Fo.forEach(z),lt=Se(Vn),xt=J(Vn,"BUTTON",{class:!0,type:!0});var Ca=$(xt);an.l(Ca),Ca.forEach(z),Vn.forEach(z),si.forEach(z),jt=Se(SA),eA=J(SA,"DIV",{});var t0=$(eA);Lt=J(t0,"DIV",{class:!0});var Ji=$(Lt);gA=J(Ji,"DIV",{class:!0});var Qi=$(gA);oA=qe(Qi,tA),Qi.forEach(z),nA=Se(Ji),IA=J(Ji,"BUTTON",{class:!0,type:!0});var $i=$(IA);qa.l($i),$i.forEach(z),Ji.forEach(z),t0.forEach(z),EA=Se(SA),Gt=J(SA,"DIV",{});var fa=$(Gt);bA=J(fa,"DIV",{class:!0});var eo=$(bA);rA=J(eo,"DIV",{class:!0});var ko=$(rA);wA=qe(ko,br),ko.forEach(z),OA=Se(eo),AA=J(eo,"BUTTON",{class:!0,type:!0});var mi=$(AA);
74ns.l(mi),mi.forEach(z),eo.forEach(z),fa.forEach(z),iA=Se(SA),Jt=J(SA,"DIV",{});var A0=$(Jt);LA=J(A0,"DIV",{class:!0});var ai=$(LA);Lr=J(ai,"DIV",{class:!0});var Ar=$(Lr);Tt=qe(Ar,Yr),Ar.forEach(z),MA=Se(ai),NA=J(ai,"BUTTON",{class:!0,type:!0});var t=$(NA);er.l(t),t.forEach(z),ai.forEach(z),A0.forEach(z),JA=Se(SA),or&&or.l(SA),WA=Se(SA),DA=J(SA,"DIV",{});var A=$(DA);Vr=J(A,"DIV",{class:!0});var r=$(Vr);xr=J(r,"DIV",{class:!0});var a=$(xr);Ls=qe(a,Dr),a.forEach(z),HA=Se(r),ss=J(r,"BUTTON",{class:!0,type:!0});var i=$(ss);Cn.l(i),i.forEach(z),r.forEach(z),A.forEach(z),Da=Se(SA),dn=J(SA,"DIV",{});var l=$(dn);Ga=J(l,"DIV",{class:!0});var h=$(Ga);Ka=J(h,"DIV",{class:!0});var m=$(Ka);xs=qe(m,gn),m.forEach(z),hn=Se(h),ya=J(h,"BUTTON",{class:!0,type:!0});var w=$(ya);bs.l(w),w.forEach(z),h.forEach(z),l.forEach(z),ui=Se(SA),La=J(SA,"DIV",{});var M=$(La);Va=J(M,"DIV",{class:!0});var y=$(Va);ls=J(y,"DIV",{class:!0});var P=$(ls);Qn=qe(P,yn),P.forEach(z),Ci=Se(y),Ha=J(y,"BUTTON",{class:!0,type:!0});var R=$(Ha);on.l(R),R.forEach(z),y.forEac
74h(z),M.forEach(z),Pn=Se(SA),En=J(SA,"DIV",{});var ee=$(En);Ya=J(ee,"DIV",{class:!0});var ae=$(Ya);sr=J(ae,"DIV",{class:!0});var ue=$(sr);oa=qe(ue,pr),ue.forEach(z),fi=Se(ae),_a=J(ae,"BUTTON",{class:!0,type:!0});var be=$(_a);qr.l(be),be.forEach(z),ae.forEach(z),ee.forEach(z),Zn=Se(SA),Za=J(SA,"DIV",{});var Te=$(Za);Ra=J(Te,"DIV",{class:!0});var Oe=$(Ra);_t=J(Oe,"DIV",{class:!0});var $e=$(_t);Ze=qe($e,ye),$e.forEach(z),ut=Se(Oe),mt=J(Oe,"BUTTON",{class:!0,type:!0});var nt=$(mt);Cs.l(nt),nt.forEach(z),Oe.forEach(z),Te.forEach(z),yt=Se(SA),Rt=J(SA,"DIV",{});var ht=$(Rt);cA=J(ht,"DIV",{class:!0});var vt=$(cA);gt=J(vt,"DIV",{class:!0});var Qt=$(gt);lA=qe(Qt,mA),Qt.forEach(z),lr=Se(vt),Wr=J(vt,"BUTTON",{class:!0,type:!0});var Ut=$(Wr);ln.l(Ut),Ut.forEach(z),vt.forEach(z),ht.forEach(z),Tr=Se(SA),Or=J(SA,"DIV",{});var fA=$(Or);fr=J(fA,"DIV",{class:!0});var hA=$(fr);kA=J(hA,"DIV",{class:!0});var FA=$(kA);Qr=qe(FA,QA),FA.forEach(z),ga=Se(hA),_s=J(hA,"BUTTON",{class:!0,type:!0});var YA=$(_s);Ja.l(YA),YA.forEach(z),hA.forEach(z),fA.forEach(z),rs=Se(SA),zA=J(SA,"DIV",{});var rr=$(zA);Kr=J(rr,"DIV",{class:!0});var wr=$(Kr);Wt=J(wr,"DIV",{class:!0});var jr=$(Wt);ra=qe(jr,PA),jr.forEach(z),Vs=Se(wr),ms=J(wr,"BUTTON",{class:!0,type:!0});var Jr=$(ms);kn.l(Jr),Jr.forEach(z),wr.forEach(z),rr.forEach(z),Ts=Se(SA),as=J(SA,"DIV",{});var ds=$(as);vr=J(ds,"DIV",{class:!0});var is=$(vr);cs=J(is,"DIV",{class:!0});var Qs=$(cs);Ta=qe(Qs,Sn),Qs.forEach(z),zi=Se(is),Hs=J(is,"BUTTON",{class:!0,type:!0});var Ps=$(Hs);ua.l(Ps),Ps.forEach(z),is.forEach(z),ds.forEach(z),Fi=Se(SA),ur=J(SA,"DIV",{class:!0});var Rs=$(ur);ja=qe(Rs,Us),Rs.forEach(z),Mo=Se(SA),Oi=J(SA,"DIV",{});var $s=$(Oi);Xn=J($s,"DIV",{class:!0});var ea=$(Xn);Ii=J(ea,"DIV",{class:!0});var na=$(Ii);zn=qe(na,Nn),na.forEach(z),Do=Se(ea),pn=J(ea,"BUTTON",{class:!0,type:!0});var da=$(pn);cn.l(da),da.forEach(z),ea.forEach(z),$s.forEach(z),Qa=Se(SA),Ys=J(SA,"DIV",{});var Ba=$(Ys);BA=J(Ba,"DIV",{class:!0});var en=$(BA);sa=J(en,"DIV",{class:!0});var Dn=$(sa);ki=qe(Dn,wi),Dn.forEach(z),io=Se(en),Fn=J(en,"BUTTON",{class:!0,type:!0});var Gn=$(Fn);zs.l(Gn),Gn.forEach(z),en.forEach(z),Ba.forEach(z),Go=Se(SA),di=J(SA,"DIV",{class:!0});var ni=$(di);Ea=qe(ni,oo),ni.forEach(z),Xr=Se(SA),qn=J(SA,"DIV",{});var to=$(qn);mn=J(to,"DIV",{class:!0});var ii=$(mn);Xs=J(ii,"DIV",{class:!0});var Pi=$(Xs);rn=qe(Pi,Bn),Pi.forEach(z),lo=Se(ii),xn=J(ii,"BUTTON",{class:!0,type:!0});var Ao=$(xn);Js.l(Ao),Ao.forEach(z),ii.forEach(z),to.forEach(z),Jn=Se(SA),ma&&ma.l(SA),SA.forEach(z),Ui.forEach(z),co=Se(GA),gi=J(GA,"DIV",{class:!0});var Oo=$(gi);$n=J(Oo,"BUTTON",{class:!0,type:!0});var r0=$($n);
74On=qe(r0,uA),r0.forEach(z),Oo.forEach(z),GA.forEach(z),this.h()},h(){V(s,"type","file"),s.hidden=!0,V(s,"accept","image/*"),V(C,"class","mb-1.5 text-sm font-medium"),V(D,"class","self-center text-xs"),V(U,"class","p-1 px-3 text-xs flex rounded-sm transition"),V(U,"type","button"),V(G,"class","py-0.5 flex w-full justify-between"),V(g,"class","self-center text-xs"),V(T,"class","p-1 px-3 text-xs flex rounded-sm transition"),V(T,"type","button"),V(X,"class","py-0.5 flex w-full justify-between"),V(he,"class","self-center text-xs"),V(Ue,"class","p-1 px-3 text-xs flex rounded-sm transition"),V(Ue,"type","button"),V(Ce,"class","py-0.5 flex w-full justify-between"),V(we,"class","self-center text-xs"),V(We,"class","p-1 px-3 text-xs flex rounded-sm transition"),V(We,"type","button"),V(me,"class","py-0.5 flex w-full justify-between"),V(Re,"class","self-center text-xs"),V(ze,"class","p-1 px-3 text-xs flex rounded-sm transition"),V(ze,"type","button"),V(ct,"class","py-0.5 flex w-full justify-between"),V(Ft,"class","my-1.5 text-sm font-medium"),V(Qe,"class","self-center text-xs"),V(xt,"class","p-1 px-3 text-xs flex rounded-sm transition"),V(xt,"type","button"),V(fe,"class","py-0.5 flex w-full justify-between"),V(gA,"class","self-center text-xs"),V(IA,"class","p-1 px-3 text-xs flex rounded-sm transition"),V(IA,"type","button"),V(Lt,"class","py-0.5 flex w-full justify-between"),V(rA,"class","self-center text-xs"),V(AA,"class","p-1 px-3 text-xs flex rounded-sm transition"),V(AA,"type","button"),V(bA,"class","py-0.5 flex w-full justify-between"),V(Lr,"class","self-center text-xs"),V(NA,"class","p-1 px-3 text-xs flex rounded-sm transition"),V(NA,"type","button"),V(LA,"class","py-0.5 flex w-full justify-between"),V(xr,"class","self-center text-xs"),V(ss,"class","p-1 px-3 text-xs flex rounded-sm transition"),V(ss,"type","button"),V(Vr,"class","py-0.5 flex w-full justify-between"),V(Ka,"class","self-center text-xs"),V(ya,"class","p-1 px-3 text-xs flex rounded-sm transition"),V(ya,"type","button"),V(Ga,"class","py-0.5 flex w-full justify-between"),V(ls,"class","self-center text-xs"),V(Ha,"class","p-1 px-3 text-xs flex rounded-sm transition"),V(Ha,"type","button"),V(Va,"class","py-0.5 flex w-full justify-between"),V(sr,"class","self-center text-xs"),V(_a,"class","p-1 px-3 text-xs flex rounded-sm transition"),V(_a,"type","button"),V(Ya,"class","py-0.5 flex w-full justify-between"),V(_t,"class","self-center text-xs"),V(mt,"class","p-1 px-3 text-xs flex rounded-sm transition"),V(mt,"type","button"),V(Ra,"class","py-0.5 flex w-full justify-between"),V(gt,"class","self-center text-xs"),V(Wr,"class","p-1 px-3 text-xs flex rounded-sm transition"),V(Wr,"type","button"),V(cA,"class","py-0.5 flex w-full justify-between"),V(kA,"class","self-center text-xs"),V(_s,"class","p-1 px-3 text-xs flex rounded transition"),V(_s,"type","button"),V(fr,"class","py-0.5 flex w-full justify-between"),V(Wt,"class","self-center text-xs"),V(ms,"class","p-1 px-3 text-xs flex rounded-sm transition"),V(ms,"type","button"),V(Kr,"class","py-0.5 flex w-full justify-between"),V(cs,"class","self-center text-xs"),V(Hs,"class","p-1 px-3 text-xs flex rounded-sm transition"),V(Hs,"type","button"),V(vr,"class","py-0.5 flex w-full justify-between"),V(ur,"class","my-1.5 text-sm font-medium"),V(Ii,"class","self-center text-xs"),V(pn,"class","p-1 px-3 text-xs flex rounded-sm transition"),V(pn,"type","button"),V(Xn,"class","py-0.5 flex w-full justify-between"),V(sa,"class","self-center text-xs"),V(Fn,"class","p-1 px-3 text-xs flex rounded-sm transition"),V(Fn,"type","button"),V(BA,"class","py-0.5 flex w-full justify-between"),V(di,"class","my-1.5 text-sm font-medium"),V(Xs,"class","self-center text-xs"),V(xn,"class","p-1 px-3 text-xs flex rounded-sm transition"),V(xn,"type","button"),V(mn,"class","py-0.5 flex w-full justify-between"),V(f,"class","space-y-3 overflow-y-scroll max-h-[28rem] lg:max-h-full"),V($n,"class","px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"),V($n,"type","submit"),V(gi,"class","flex justify-end text-sm font-medium"),V(n,"class","flex flex-col h-full justify-between space-y-3 text-sm")},m(Ot,GA){He(Ot,n,GA),Q(n,s),c[60](s),Q(n,o),Q(n,f),Q(f,p),Q(p,C),Q(C,k),Q(p,E),Q(p,B),Q(B,G),Q(G,D),Q(D,O),Q(G,j),Q(G,U),Ss.m(U,null),Q(p,H),Q(p,Z),Q(Z,X),Q(X,g),Q(g,e),Q(X,d),Q(X,T),sn.m(T,null),Q(p,re),Rr&&Rr.m(p,null),Q(p,N),Q(p,F),Q(F,Ce),Q(Ce,he),Q(he,ge),Q(Ce,Me),Q(Ce,Ue),ha.m(Ue,null),Q(p,Ne),Q(p,de),Q(de,me),Q(me,we),Q(we,pe),Q(me,
74it),Q(me,We),Xa.m(We,null),Q(p,ot),Q(p,pt),Q(pt,ct),Q(ct,Re),Q(Re,It),Q(ct,wt),Q(ct,ze),qs.m(ze,null),Q(p,At),pa&&pa.m(p,null),Q(p,Bt),Q(p,Ft),Q(Ft,oe),Q(p,zt),Q(p,Ie),Q(Ie,fe),Q(fe,Qe),Q(Qe,rt),Q(fe,lt),Q(fe,xt),an.m(xt,null),Q(p,jt),Q(p,eA),Q(eA,Lt),Q(Lt,gA),Q(gA,oA),Q(Lt,nA),Q(Lt,IA),qa.m(IA,null),Q(p,EA),Q(p,Gt),Q(Gt,bA),Q(bA,rA),Q(rA,wA),Q(bA,OA),Q(bA,AA),ns.m(AA,null),Q(p,iA),Q(p,Jt),Q(Jt,LA),Q(LA,Lr),Q(Lr,Tt),Q(LA,MA),Q(LA,NA),er.m(NA,null),Q(p,JA),or&&or.m(p,null),Q(p,WA),Q(p,DA),Q(DA,Vr),Q(Vr,xr),Q(xr,Ls),Q(Vr,HA),Q(Vr,ss),Cn.m(ss,null),Q(p,Da),Q(p,dn),Q(dn,Ga),Q(Ga,Ka),Q(Ka,xs),Q(Ga,hn),Q(Ga,ya),bs.m(ya,null),Q(p,ui),Q(p,La),Q(La,Va),Q(Va,ls),Q(ls,Qn),Q(Va,Ci),Q(Va,Ha),on.m(Ha,null),Q(p,Pn),Q(p,En),Q(En,Ya),Q(Ya,sr),Q(sr,oa),Q(Ya,fi),Q(Ya,_a),qr.m(_a,null),Q(p,Zn),Q(p,Za),Q(Za,Ra),Q(Ra,_t),Q(_t,Ze),Q(Ra,ut),Q(Ra,mt),Cs.m(mt,null),Q(p,yt),Q(p,Rt),Q(Rt,cA),Q(cA,gt),Q(gt,lA),Q(cA,lr),Q(cA,Wr),ln.m(Wr,null),Q(p,Tr),Q(p,Or),Q(Or,fr),Q(fr,kA),Q(kA,Qr),Q(fr,ga),Q(fr,_s),Ja.m(_s,null),Q(p,rs),Q(p,zA),Q(zA,Kr),Q(Kr,Wt),Q(Wt,ra),Q(Kr,Vs),Q(Kr,ms),kn.m(ms,null),Q(p,Ts),Q(p,as),Q(as,vr),Q(vr,cs),Q(cs,Ta),Q(vr,zi),Q(vr,Hs),ua.m(Hs,null),Q(p,Fi),Q(p,ur),Q(ur,ja),Q(p,Mo),Q(p,Oi),Q(Oi,Xn),Q(Xn,Ii),Q(Ii,zn),Q(Xn,Do),Q(Xn,pn),cn.m(pn,null),Q(p,Qa),Q(p,Ys),Q(Ys,BA),Q(BA,sa),Q(sa,ki),Q(BA,io),Q(BA,Fn),zs.m(Fn,null),Q(p,Go),Q(p,di),Q(di,Ea),Q(p,Xr),Q(p,qn),Q(qn,mn),Q(mn,Xs),Q(Xs,rn),Q(mn,lo),Q(mn,xn),Js.m(xn,null),Q(p,Jn),ma&&ma.m(p,null),Q(n,co),Q(n,gi),Q(gi,$n),Q($n,On),vA||(_o=[Pt(s,"change",c[61]),Pt(s,"change",c[62]),Pt(U,"click",c[63]),Pt(T,"click",c[64]),Pt(Ue,"click",c[66]),Pt(We,"click",c[56]),Pt(ze,"click",c[67]),Pt(xt,"click",c[70]),Pt(IA,"click",c[71]),Pt(AA,"click",c[72]),Pt(NA,"click",c[73]),Pt(ss,"click",c[75]),Pt(ya,"click",c[76]),Pt(Ha,"click",c[77]),Pt(_a,"click",c[78]),Pt(mt,"click",c[79]),Pt(Wr,"click",c[80]),Pt(_s,"click",c[81]),Pt(ms,"click",c[82]),Pt(Hs,"click",c[83]),Pt(pn,"click",c[84]),Pt(Fn,"click",c[85]),Pt(xn,"click",c[86]),Pt(n,"submit",H0(c[89]))],vA=!0)},p(Ot,GA){var Ui,SA,ei;GA[1]&1&&b!==(b=Ot[31].t("UI")+"")&&st(k,b),GA[1]&1&&_!==(_=Ot[31].t("Landing Page Mode")+"")&&st(O,_),la===(la=uo(Ot))&&Ss?Ss.p(Ot,GA):(Ss.d(1),Ss=la(Ot),Ss&&(Ss.c(),Ss.m(U,null))),GA[1]&1&&v!==(v=Ot[31].t("Chat Bubble UI")+"")&&st(e,v),hi===(hi=vi(Ot))&&sn?sn.p(Ot,GA):(sn.d(1),sn=hi(Ot),sn&&(sn.c(),sn.m(T,null))),Ot[29].chatBubble?Rr&&(Rr.d(1),Rr=null):Rr?Rr.p(Ot,GA):(Rr=ep(Ot),Rr.c(),Rr.m(p,N)),GA[1]&1&&ce!==(ce=Ot[31].t("Widescreen Mode")+"")&&st(ge,ce),fo===(fo=Uo(Ot))&&ha?ha.p(Ot,GA):(ha.d(1),ha=fo(Ot),ha&&(ha.c(),ha.m(Ue,null))),GA[1]&1&&_e!==(_e=Ot[31].t("Chat direction")+"")&&st(pe,_e),go===(go=yi(Ot))&&Xa?Xa.p(Ot,GA):(Xa.d(1),Xa=go(Ot),Xa&&(Xa.c(),Xa.m(We,null))),GA[1]&1&&tt!==(tt=Ot[31].t("Notification Sound")+"")&&st(It,tt),CA===(CA=Ei(Ot))&&qs?qs.p(Ot,GA):(qs.d(1),qs=CA(Ot),qs&&(qs.c(),qs.m(ze,null))),((Ui=Ot[32])==null?void 0:Ui.role)==="admin"?pa?pa.p(Ot,GA):(pa=tp(Ot),pa.c(),pa.m(p,Bt)):pa&&(pa.d(1),pa=null),GA[1]&1&&St!==(St=Ot[31].t("Chat")+"")&&st(oe,St),GA[1]&1&&Je!==(Je=Ot[31].t("Title Auto-Generation")+"")&&st(rt,Je),bn===(bn=Li(Ot))&&an?an.p(Ot,GA):(an.d(1),an=bn(Ot),an&&(an.c(),an.m(xt,null))),GA[1]&1&&tA!==(tA=Ot[31].t("Chat Tags Auto-Generation")+"")&&st(oA,tA),ho===(ho=Ko(Ot))&&qa?qa.p(Ot,GA):(qa.d(1),qa=ho(Ot),qa&&(qa.c(),qa.m(IA,null))),GA[1]&1&&br!==(br=Ot[31].t("Auto-Copy Response to Clipboard")+"")&&st(wA,br),po===(po=Zo(Ot))&&ns?ns.p(Ot,GA):(ns.d(1),ns=po(Ot),ns&&(ns.c(),ns.m(AA,null))),GA[1]&1&&Yr!==(Yr=Ot[31].t("Rich Text Input for Chat")+"")&&st(Tt,Yr),mo===(mo=Xo(Ot))&&er?er.p(Ot,GA):(er.d(1),er=mo(Ot),er&&(er.c(),er.m(NA,null))),(ei=(SA=Ot[30])==null?void 0:SA.features)!=null&&ei.enable_autocomplete_generation&&Ot[12]?or?or.p(Ot,GA):(or=Ap(Ot),or.c(),or.m(p,WA)):or&&(or.d(1),or=null),GA[1]&1&&Dr!==(Dr=Ot[31].t("Paste Large Text as File")+"")&&st(Ls,Dr),nn===(nn=To(Ot))&&Cn?Cn.p(Ot,GA):(Cn.d(1),Cn=nn(Ot),Cn&&(Cn.c(),Cn.m(ss,null))),GA[1]&1&&gn!==(gn=Ot[31].t("Always Collapse Code Blocks")+"")&&st(xs,gn),In===(In=ca(Ot))&&bs?bs.p(Ot,GA):(bs.d(1),bs=In(Ot),bs&&(bs.c(),bs.m(ya,null))),GA[1]&1&&yn!==(yn=Ot[31].t("Always Expand Details")+"")&&st(Qn,yn),Bi===(Bi=Ln(Ot))&&on?on.p(Ot,GA):(on.d(1),on=Bi(Ot),on&&(on.c(),on.m(Ha,null))),GA[1]&1&&pr!==(pr=Ot[31].t("Chat Backgroun
74d Image")+"")&&st(oa,pr),xi===(xi=qo(Ot))&&qr?qr.p(Ot,GA):(qr.d(1),qr=xi(Ot),qr&&(qr.c(),qr.m(_a,null))),GA[1]&1&&ye!==(ye=Ot[31].t("Allow User Location")+"")&&st(Ze,ye),Hi===(Hi=Vi(Ot))&&Cs?Cs.p(Ot,GA):(Cs.d(1),Cs=Hi(Ot),Cs&&(Cs.c(),Cs.m(mt,null))),GA[1]&1&&mA!==(mA=Ot[31].t("Haptic Feedback")+"")&&st(lA,mA),wn===(wn=Mi(Ot))&&ln?ln.p(Ot,GA):(ln.d(1),ln=wn(Ot),ln&&(ln.c(),ln.m(Wr,null))),GA[1]&1&&QA!==(QA=Ot[31].t("Enter Key Behavior")+"")&&st(Qr,QA),Yi===(Yi=Qo(Ot))&&Ja?Ja.p(Ot,GA):(Ja.d(1),Ja=Yi(Ot),Ja&&(Ja.c(),Ja.m(_s,null))),GA[1]&1&&PA!==(PA=Ot[31].t("Scroll to bottom when switching between branches")+"")&&st(ra,PA),Di===(Di=Mn(Ot))&&kn?kn.p(Ot,GA):(kn.d(1),kn=Di(Ot),kn&&(kn.c(),kn.m(ms,null))),GA[1]&1&&Sn!==(Sn=Ot[31].t("Web Search in Chat")+"")&&st(Ta,Sn),Ri===(Ri=Po(Ot))&&ua?ua.p(Ot,GA):(ua.d(1),ua=Ri(Ot),ua&&(ua.c(),ua.m(Hs,null))),GA[1]&1&&Us!==(Us=Ot[31].t("Voice")+"")&&st(ja,Us),GA[1]&1&&Nn!==(Nn=Ot[31].t("Allow Voice Interruption in Call")+"")&&st(zn,Nn),Ns===(Ns=bo(Ot))&&cn?cn.p(Ot,GA):(cn.d(1),cn=Ns(Ot),cn&&(cn.c(),cn.m(pn,null))),GA[1]&1&&wi!==(wi=Ot[31].t("Display Emoji in Call")+"")&&st(ki,wi),pi===(pi=Co(Ot))&&zs?zs.p(Ot,GA):(zs.d(1),zs=pi(Ot),zs&&(zs.c(),zs.m(Fn,null))),GA[1]&1&&oo!==(oo=Ot[31].t("File")+"")&&st(Ea,oo),GA[1]&1&&Bn!==(Bn=Ot[31].t("Image Compression")+"")&&st(rn,Bn),Wi===(Wi=ji(Ot))&&Js?Js.p(Ot,GA):(Js.d(1),Js=Wi(Ot),Js&&(Js.c(),Js.m(xn,null))),Ot[21]?ma?ma.p(Ot,GA):(ma=rp(Ot),ma.c(),ma.m(p,null)):ma&&(ma.d(1),ma=null),GA[1]&1&&uA!==(uA=Ot[31].t("Save")+"")&&st(On,uA)},i:qA,o:qA,d(Ot){Ot&&z(n),c[60](null),Ss.d(),sn.d(),Rr&&Rr.d(),ha.d(),Xa.d(),qs.d(),pa&&pa.d(),an.d(),qa.d(),ns.d(),er.d(),or&&or.d(),Cn.d(),bs.d(),on.d(),qr.d(),Cs.d(),ln.d(),Ja.d(),kn.d(),ua.d(),cn.d(),zs.d(),Js.d(),ma&&ma.d(),vA=!1,Gs(_o)}}}function Tk(c,n,s){let o,f,p,C;jA(c,no,HA=>s(29,o=HA)),jA(c,sl,HA=>s(30,f=HA)),jA(c,rl,HA=>s(32,C=HA));const b=Wn(),k=Aa("i18n");jA(c,k,HA=>s(31,p=HA));let{saveSettings:E}=n,B=null,G=null,D,_=!0,O=!0,j=!1,U=!1,H=!0,Z=!1,X="",g=!1,v=!0,e=!0,d=!1,T=!1,re="",N=!0,F="auto",Ce=!1,he=!1,ce=!1,ge=!1,Me={width:"",height:""},Ue=!0,Ne=!0,de=!1,me=!1,we=!1,_e=null;const pe=()=>{s(20,ce=!ce),E({expandDetails:ce})},it=()=>{s(19,he=!he),E({collapseCodeBlocks:he})},We=async()=>{s(13,d=!d),E({promptAutocomplete:d})},ot=async()=>{s(8,H=!H),E({scrollOnBranchChange:H})},pt=async()=>{s(7,U=!U),E({widescreenMode:U})},ct=async()=>{s(16,N=!N),E({chatBubble:N})},Re=async()=>{s(15,re=re===""?"chat":""),E({landingPageMode:re})},tt=async()=>{s(23,Ue=!Ue),E({showUpdateToast:Ue})},It=async()=>{s(11,v=!v),E({notificationSound:v})},wt=async()=>{s(24,Ne=!Ne),E({showChangelog:Ne})},ze=async()=>{s(10,g=!g),E({showUsername:g})},At=async()=>{s(25,de=!de),E({showEmojiInCall:de})},Bt=async()=>{s(26,me=!me),E({voiceInterruption:me})},Ft=async()=>{s(21,ge=!ge),E({imageCompression:ge})},St=async()=>{s(27,we=!we),E({hapticFeedback:we})},oe=async()=>{if(s(9,Z=!Z),Z){const HA=await y8().catch(ss=>(gr.error(ss.message),null));HA?(await _8(localStorage.token,{location:HA}),gr.success(p.t("User location successfully retrieved."))):s(9,Z=!1)}E({userLocation:Z})},zt=async()=>{s(4,_=!_),E({title:{...o.title,auto:_}})},Ie=async()=>{s(5,O=!O),E({autoTags:O})},fe=async()=>{s(12,e=!e),E({richTextInput:e})},Qe=async()=>{s(14,T=!T),E({largeTextAsFile:T})},Je=async()=>{const HA=await navigator.clipboard.readText().then(()=>"granted").catch(()=>"");console.log(HA),HA==="granted"?(s(6,j=!j),E({responseAutoCopy:j})):gr.error(p.t("Clipboard write permission denied. Please check your browser settings to grant the necessary access."))},rt=async()=>{F==="auto"?s(17,F="LTR"):F==="LTR"?s(17,F="RTL"):F==="RTL"&&s(17,F="auto"),E({chatDirection:F})},lt=async()=>{s(18,Ce=!Ce),E({ctrlEnterToSend:Ce})},xt=async()=>{E({models:[X],imageCompressionSize:Me})},jt=async()=>{s(28,_e=_e===null?"always":null),E({webSearch:_e})};Kn(async()=>{var HA,ss;s(4,_=((HA=o==null?void 0:o.title)==null?void 0:HA.auto)??!0),s(5,O=o.autoTags??!0),s(6,j=o.responseAutoCopy??!1),s(10,g=o.showUsername??!1),s(23,Ue=o.showUpdateToast??!0),s(24,Ne=o.showChangelog??!0),s(25,de=o.showEmojiInCall??!1),s(26,me=o.voiceInterruption??!1),s(12,e=o.richTextInput??!0),s(13,d=o.promptAutocomplete??!1),s(14,T=o.largeTextAsFile??!1),s(19,he=o.collapseCodeBlocks??!1),s(20,ce=o.expandDetails??!1),s(15,re=o.landingPageMode??""),s(16,N=o.chatBubble??!0),s(7,U=o.widescreenMode??!1),o.splitLargeChunks,s(8,H=o.scrollOnBranchChange??!0),s(17,F=o.chatDirection??"auto"),s(9,Z=o.userLocation??!1),s(11,v=o.notificationSound??!0),s(27,we=o.hapticFeedback??!1),s(18,Ce=o.ctrlEnterToSend??!1),s(21,ge=o.imageCompression??!1),s(22,Me=o.imageCompressionSize??{width:"",height:""}),X=((ss=o==null?void 0:o.models)==null?void 0:ss.at(0))??"",f!=null&&f.default_models&&(X=f.default_models.split(",")[0]),s(1,B=o.backgroundImageUrl??null),s(28,_e=o.webSearch??null)});function eA(HA){Br[HA?"unshift":"push"](()=>{D=HA,s(3,D)})}function Lt(){G=this.files,s(2,G)}const gA=()=>{let HA=new FileReader;HA.onload=ss=>{let Da=`${ss.target.result}`;s(1,B=Da),E({backgroundImageUrl:B})},G&&G.length>
740&&["image/gif","image/webp","image/jpeg","image/png"].includes(G[0].type)?HA.readAsDataURL(G[0]):(console.log(`Unsupported File Type '${G[0].type}'.`),s(2,G=null))},tA=()=>{Re()},oA=()=>{ct()},nA=()=>{ze()},IA=()=>{pt()},EA=()=>{It()},Gt=()=>{tt()},bA=()=>{wt()},rA=()=>{zt()},br=()=>{Ie()},wA=()=>{Je()},OA=()=>{fe()},AA=()=>{We()},iA=()=>{Qe()},Jt=()=>{it()},LA=()=>{pe()},Lr=()=>{B!==null?(s(1,B=null),E({backgroundImageUrl:B})):D.click()},Yr=()=>{oe()},Tt=()=>{St()},MA=()=>{lt()},NA=()=>{ot()},JA=()=>{jt()},WA=()=>{Bt()},DA=()=>{At()},Vr=()=>{Ft()};function xr(){Me.width=W1(this.value),s(22,Me)}function Dr(){Me.height=W1(this.value),s(22,Me)}const Ls=()=>{xt(),b("save")};return c.$$set=HA=>{"saveSettings"in HA&&s(0,E=HA.saveSettings)},[E,B,G,D,_,O,j,U,H,Z,g,v,e,d,T,re,N,F,Ce,he,ce,ge,Me,Ue,Ne,de,me,we,_e,o,f,p,C,b,k,pe,it,We,ot,pt,ct,Re,tt,It,wt,ze,At,Bt,Ft,St,oe,zt,Ie,fe,Qe,Je,rt,lt,xt,jt,eA,Lt,gA,tA,oA,nA,IA,EA,Gt,bA,rA,br,wA,OA,AA,iA,Jt,LA,Lr,Yr,Tt,MA,NA,JA,WA,DA,Vr,xr,Dr,Ls]}class Qk extends vs{constructor(n){super(),ys(this,n,Tk,_k,ks,{saveSettings:0},null,[-1,-1,-1])}}var P0={},Of,v2,Dm={
vendor: 344 bytes, line 74
74"./node_modules/onnxruntime-web/dist/ort-wasm-simd-threaded.jsep.wasm":(c,n,s)=>{c.exports=s.p+"ort-wasm-simd-threaded.jsep.wasm"},"./node_modules/onnxruntime-web/dist/ort.bundle.min.mjs?46eb":(c,n,s)=>{c.exports=s.p+"ort.bundle.min.mjs"},"?2ce3":()=>{},"?7a2c":()=>{},"?a42a":()=>{},"?2b25":()=>{},"?569f":()=>{},"?3f59":()=>{},"?154a":()=>{},
vendor: 33,754 bytes, lines 74-81
74"./node_modules/@huggingface/jinja/dist/index.js":(c,n,s)=>{s.r(n),s.d(n,{Environment:()=>Bt,Interpreter:()=>Ft,Template:()=>zt,parse:()=>me,tokenize:()=>B});var o=Object.freeze({Text:"Text",NumericLiteral:"NumericLiteral",BooleanLiteral:"BooleanLiteral",NullLiteral:"NullLiteral",StringLiteral:"StringLiteral",Identifier:"Identifier",Equals:"Equals",OpenParen:"OpenParen",CloseParen:"CloseParen",OpenStatement:"OpenStatement",CloseStatement:"CloseStatement",OpenExpression:"OpenExpression",CloseExpression:"CloseExpression",OpenSquareBracket:"OpenSquareBracket",CloseSquareBracket:"CloseSquareBracket",OpenCurlyBracket:"OpenCurlyBracket",CloseCurlyBracket:"CloseCurlyBracket",Comma:"Comma",Dot:"Dot",Colon:"Colon",Pipe:"Pipe",CallOperator:"CallOperator",AdditiveBinaryOperator:"AdditiveBinaryOperator",MultiplicativeBinaryOperator:"MultiplicativeBinaryOperator",ComparisonBinaryOperator:"ComparisonBinaryOperator",UnaryOperator:"UnaryOperator",Set:"Set",If:"If",For:"For",In:"In",Is:"Is",NotIn:"NotIn",Else:"Else",EndIf:"EndIf",ElseIf:"ElseIf",EndFor:"EndFor",And:"And",Or:"Or",Not:"UnaryOperator",Macro:"Macro",EndMacro:"EndMacro"}),f=Object.freeze({set:o.Set,for:o.For,in:o.In,is:o.Is,if:o.If,else:o.Else,endif:o.EndIf,elif:o.ElseIf,endfor:o.EndFor,and:o.And,or:o.Or,not:o.Not,"not in":o.NotIn,macro:o.Macro,endmacro:o.EndMacro,true:o.BooleanLiteral,false:o.BooleanLiteral,none:o.NullLiteral,True:o.BooleanLiteral,False:o.BooleanLiteral,None:o.NullLiteral}),p=class{constructor(Ie,fe){this.value=Ie,this.type=fe}};function C(Ie){return/\w/.test(Ie)}function b(Ie){return/[0-9]/.test(Ie)}var k=[["{%",o.OpenStatement],["%}",o.CloseStatement],["{{",o.OpenExpression],["}}",o.CloseExpression],["(",o.OpenParen],[")",o.CloseParen],["{",o.OpenCurlyBracket],["}",o.CloseCurlyBracket],["[",o.OpenSquareBracket],["]",o.CloseSquareBracket],[",",o.Comma],[".",o.Dot],[":",o.Colon],["|",o.Pipe],["<=",o.ComparisonBinaryOperator],[">=",o.ComparisonBinaryOperator],["==",o.ComparisonBinaryOperator],["!=",o.ComparisonBinaryOperator],["<",o.ComparisonBinaryOperator],[">",o.ComparisonBinaryOperator],["+",o.AdditiveBinaryOperator],["-",o.AdditiveBinaryOperator],["*",o.MultiplicativeBinaryOperator],["/",o.MultiplicativeBinaryOperator],["%",o.MultiplicativeBinaryOperator],["=",o.Equals]],E=new Map([["n",`
75`],["t","	"],["r","\r"],["b","\b"],["f","\f"],["v","\v"],["'","'"],['"','"'],["\\","\\"]]);function B(Ie,fe={}){var xt,jt,eA;const Qe=[],Je=function(Lt,gA={}){return Lt.endsWith(`
76`)&&(Lt=Lt.slice(0,-1)),Lt=Lt.replace(/{#.*?#}/gs,"{##}"),gA.lstrip_blocks&&(Lt=Lt.replace(/^[ \t]*({[#%])/gm,"$1")),gA.trim_blocks&&(Lt=Lt.replace(/([#%]})\n/g,"$1")),Lt.replace(/{##}/g,"").replace(/-%}\s*/g,"%}").replace(/\s*{%-/g,"{%").replace(/-}}\s*/g,"}}").replace(/\s*{{-/g,"{{")}(Ie,fe);let rt=0;const lt=Lt=>{let gA="";for(;Lt(Je[rt]);)if(Je[rt]!=="\\"){if(gA+=Je[rt++],rt>=Je.length)throw new SyntaxError("Unexpected end of input")}else{if(++rt,rt>=Je.length)throw new SyntaxError("Unexpected end of input");const tA=Je[rt++],oA=E.get(tA);if(oA===void 0)throw new SyntaxError(`Unexpected escaped character: ${tA}`);gA+=oA}return gA};e:for(;rt<Je.length;){const Lt=(xt=Qe.at(-1))==null?void 0:xt.type;if(Lt===void 0||Lt===o.CloseStatement||Lt===o.CloseExpression){let tA="";for(;rt<Je.length&&(Je[rt]!=="{"||Je[rt+1]!=="%"&&Je[rt+1]!=="{");)tA+=Je[rt++];if(tA.length>0){Qe.push(new p(tA,o.Text));continue}}lt(tA=>/\s/.test(tA));const gA=Je[rt];if(gA==="-"||gA==="+"){const tA=(jt=Qe.at(-1))==null?void 0:jt.type;if(tA===o.Text||tA===void 0)throw new SyntaxError(`Unexpected character: ${gA}`);switch(tA){case o.Identifier:case o.NumericLiteral:case o.BooleanLiteral:case o.NullLiteral:case o.StringLiteral:case o.CloseParen:case o.CloseSquareBracket:break;default:{++rt;const oA=lt(b);Qe.push(new p(`${gA}${oA}`,oA.length>0?o.NumericLiteral:o.UnaryOperator));continue}}}for(const[tA,oA]of k)if(Je.slice(rt,rt+tA.length)===tA){Qe.push(new p(tA,oA)),rt+=tA.length;continue e}if(gA!=="'"&&gA!=='"')if(b(gA)){const tA=lt(b);Qe.push(new p(tA,o.NumericLiteral))}else{if(!C(gA))throw new SyntaxError(`Unexpected character: ${gA}`);{const tA=lt(C),oA=Object.hasOwn(f,tA)?f[tA]:o.Identifier;oA===o.In&&((eA=Qe.at(-1))==null?void 0:eA.type)===o.Not?(Qe.pop(),Qe.push(new p("not in",o.NotIn))):Qe.push(new p(tA,oA))}}else{++rt;const tA=lt(oA=>oA!==gA);Qe.push(new p(tA,o.StringLiteral)),++rt}}return Qe}var G=class{constructor(){Ct(this,"type","Statement")}},D=class extends G{constructor(fe){super();Ct(this,"type","Program");this.body=fe}},_=class extends G{constructor(fe,Qe,Je){super();Ct(this,"type","If");this.test=fe,this.body=Qe,this.alternate=Je}},O=class extends G{constructor(fe,Qe,Je,rt){super();Ct(this,"type","For");this.loopvar=fe,this.iterable=Qe,this.body=Je,this.defaultBlock=rt}},j=class extends G{constructor(fe,Qe){super();Ct(this,"type","Set");this.assignee=fe,this.value=Qe}},U=class extends G{constructor(fe,Qe,Je){super();Ct(this,"type","Macro");this.name=fe,this.args=Qe,this.body=Je}},H=class extends G{constructor(){super(...arguments);Ct(this,"type","Expression")}},Z=class extends H{constructor(fe,Qe,Je){super();Ct(this,"type","MemberExpression");this.object=fe,this.property=Qe,this.computed=Je}},X=class extends H{constructor(fe,Qe){super();Ct(this,"type","CallExpression");this.callee=fe,this.args=Qe}},g=class extends H{constructor(fe){super();Ct(this,"type","Identifier");this.value=fe}},v=class extends H{constructor(fe){super();Ct(this,"type","Literal");this.value=fe}},e=class extends v{constructor(){super(...arguments);Ct(this,"type","NumericLiteral")}},d=class extends v{constructor(){super(...arguments);Ct(this,"type","StringLiteral")}},T=class extends v{constructor(){super(...arguments);Ct(this,"type","BooleanLiteral")}},re=class extends v{constructor(){super(...arguments);Ct(this,"type","NullLiteral")}},N=class extends v{constructor(){super(...arguments);Ct(this,"type","ArrayLiteral")}},F=class extends v{constructor(){super(...arguments);Ct(this,"type","TupleLiteral")}},Ce=class extends v{constructor(){super(...arguments);Ct(this,"type","ObjectLiteral")}},he=class extends H{constructor(fe,Qe,Je){super();Ct(this,"type","BinaryExpression");this.operator=fe,this.left=Qe,this.right=Je}},ce=class extends H{constructor(fe,Qe){super();Ct(this,"type","FilterExpression");this.operand=fe,this.filter=Qe}},ge=class extends H{constructor(fe,Qe){super();Ct(this,"type","SelectExpression");this.iterable=fe,this.test=Qe}},Me=class extends H{constructor(fe,Qe,Je){super();Ct(this,"type","TestExpression");this.operand=fe,this.negate=Qe,this.test=Je}},Ue=class extends H{constructor(fe,Qe){super();Ct(this,"type","UnaryExpression");this.operator=fe,this.argument=Qe}},Ne=class extends H{constructor(fe=void 0,Qe=void 0,Je=void 0){super();Ct(this,"type","SliceExpression");this.start=fe,this.stop=Qe,this.step=Je}},de=class extends H{constructor(fe,Qe){super();Ct(this,"type","KeywordArgumentExpression");this.key=fe,this.value=Qe}};function me(Ie){const fe=new D([]);let Qe=0;function Je(AA,iA){const Jt=Ie[Qe++];if(!Jt||Jt.type!==AA)throw new Error(`Parser Error: ${iA}. ${Jt.type} !== ${AA}.`);return Jt}function rt(){switch(Ie[Qe].type){case o.Text:return new d(Je(o.Text,"Expected text token").value);case o.OpenStatement:return function(){let AA;switch(Je(o.OpenStatement,"Expected opening statement token"),Ie[Qe].type){case o.Set:++Qe,AA=jt(),Je(o.CloseStatement,"Expected closing statement token");break;case o.If:++Qe,AA=eA(),Je(o.OpenStatement,"Expected {% token"),Je(o.EndIf,"Expected endif token"),Je(o.CloseStatement,"Expected %} token");break;case o.Macro:++Qe,AA=function(){const iA=OA();if(iA.type!=="Identifier")throw new SyntaxError("Expected identifier following macro statement");const Jt=Gt();Je(o.CloseStatement,"Expected closing statement token");const LA=[];for(;lt(o.OpenStatement,o.EndMacro);)LA.push(rt());return new U(iA,Jt,LA)}(),Je(o.OpenStatement,"Expected {% token"),Je(o.EndMacro,"Expected endmacro token"),Je(o.CloseStatement,"Expected %} token");break;case o.For:++Qe,AA=function(){const iA=Lt(!0);if(!(iA instanceof g||iA instanceof F))throw new SyntaxError(`Expected identifier/tuple for the loop variable, got ${iA.type} instead`);Je(o.In,"Expected `in` keyword following loop variable");const Jt=gA();Je(o.CloseStatement,"Expected closing statement token");const LA=[];for(;lt(o.OpenStatement,o.EndFor)&&lt(o.OpenStatement,o.Else);)LA.push(rt());const Lr=[];if(xt(o.OpenStatement,o.Else))for(++Qe,++Qe,Je(o.CloseStatement,"Expected closing statement token");lt(o.OpenStatement,o.EndFor);)Lr.push(rt());return new O(iA,Jt,LA,Lr)}(),Je(o.OpenStatement,"Expected {% token"),Je(o.EndFor,"Expected endfor token"),Je(o.CloseStatement,"Expected %} token");break;default:throw new SyntaxError(`Unknown statement type: ${Ie[Qe].type}`)}return AA}();case o.OpenExpression:return function(){Je(o.OpenExpression,"Expected opening expression token");const AA=gA();return Je(o.CloseExpression,"Expected closing expression token"),AA}();default:throw new SyntaxError(`Unexpected token type: ${Ie[Qe].type}`)}}function lt(...AA){return Qe+AA.length<=Ie.length&&AA.some((iA,Jt)=>iA!==Ie[Qe+Jt].type)}function xt(...AA){return Qe+AA.length<=Ie.length&&AA.every((iA,Jt)=>iA===Ie[Qe+Jt].type)}function jt(){const AA=gA();if(xt(o.Equals)){++Qe;const iA=jt();return new j(AA,iA)}return AA}function eA(){var LA,Lr,Yr,Tt,MA,NA,JA,WA;const AA=gA();Je(o.CloseStatement,"Expected closing statement token");const iA=[],Jt=[];for(;((LA=Ie[Qe])==null?void 0:LA.type)!==o.OpenStatement||((Lr=Ie[Qe+1])==null?void 0:Lr.type)!==o.ElseIf&&((Yr=Ie[Qe+1])==null?void 0:Yr.type)!==o.Else&&((Tt=Ie[Qe+1])==null?void 0:Tt.type)!==o.EndIf;)iA.push(rt());if(((MA=Ie[Qe])==null?void 0:MA.type)===o.OpenStatement&&((NA=Ie[Qe+1])==null?void 0:NA.type)!==o.EndIf)if(++Qe,xt(o.ElseIf))Je(o.ElseIf,"Expected elseif token"),Jt.push(eA());else for(Je(o.Else,"Expected else token"),Je(o.CloseStatement,"Expected closing statement token");((JA=Ie[Qe])==null?void 0:JA.type)!==o.OpenStatement||((WA=Ie[Qe+1])==null?void 0:WA.type)!==o.EndIf;)Jt.push(rt());return new _(AA,iA,Jt)}function Lt(AA=!1){const iA=AA?OA:gA,Jt=[iA()],LA=xt(o.Comma);for(;LA&&(++Qe,Jt.push(iA()),xt(o.Comma)););return LA?new F(Jt):Jt[0]}function gA(){return function(){const AA=tA();if(xt(o.If)){++Qe;const iA=tA();if(xt(o.Else)){++Qe;const Jt=tA();return new _(iA,[AA],[Jt])}return new ge(AA,iA)}return AA}()}function tA(){let AA=oA();for(;xt(o.Or);){const iA=Ie[Qe];++Qe;const Jt=oA();AA=new he(iA,AA,Jt)}return AA}function oA(){let AA=nA();for(;xt(o.And);){const iA=Ie[Qe];++Qe;const Jt=nA();AA=new he(iA,AA,Jt)}return AA}function nA(){let AA;for(;xt(o.Not);){const iA=Ie[Qe];++Qe;const Jt=nA();AA=new Ue(iA,Jt)}return AA??function(){let iA=IA();for(;xt(o.ComparisonBinaryOperator)||xt(o.In)||xt(o.NotIn);){const Jt=Ie[Qe];++Qe;const LA=IA();iA=new he(Jt,iA,LA)}return iA}()}function IA(){let AA=br();for(;xt(o.AdditiveBinaryOperator);){const iA=Ie[Qe];++Qe;const Jt=br();AA=new he(iA,AA,Jt)}return AA}function EA(AA){let iA=new X(AA,Gt());return iA=rA(iA),xt(o.OpenParen)&&(iA=EA(iA)),iA}function Gt(){Je(o.OpenParen,"Expected opening parenthesis for arguments list");const AA=function(){const iA=[];for(;!xt(o.CloseParen);){let Jt=gA();if(xt(o.Equals)){if(++Qe,!(Jt instanceof g))throw new SyntaxError("Expected identifier for keyword argument");const LA=gA();Jt=new de(Jt,LA)}iA.push(Jt),xt(o.Comma)&&++Qe}return iA}();return Je(o.CloseParen,"Expected closing parenthesis for arguments list"),AA}function bA(){const AA=[];let iA=!1;for(;!xt(o.CloseSquareBracket);)xt(o.Colon)?(AA.push(void 0),++Qe,iA=!0):(AA.push(gA()),xt(o.Colon)&&(++Qe,iA=!0));if(AA.length===0)throw new SyntaxError("Expected at least one argument for member/slice expression");if(iA){if(AA.length>3)throw new SyntaxError("Expected 0-3 arguments for slice expression");return new Ne(...AA)}return AA[0]}function rA(AA){for(;xt(o.Dot)||xt(o.OpenSquareBracket);){const iA=Ie[Qe];let Jt;++Qe;const LA=iA.type!==o.Dot;if(LA)Jt=bA(),Je(o.CloseSquareBracket,"Expected closing square bracket");else if(Jt=OA(),Jt.type!=="Identifier")throw new SyntaxError("Expected identifier following dot operator");AA=new Z(AA,Jt,LA)}return AA}function br(){let AA=wA();for(;xt(o.MultiplicativeBinaryOperator);){const iA=Ie[Qe];++Qe;const Jt=wA();AA=new he(iA,AA,Jt)}return AA}function wA(){let AA=function(){let iA=function(){const Jt=rA(OA());return xt(o.OpenParen)?EA(Jt):Jt}();for(;xt(o.Pipe);){++Qe;let Jt=OA();if(!(Jt instanceof g))throw new SyntaxError("Expected identifier for the filter");xt(o.OpenParen)&&(Jt=EA(Jt)),iA=new ce(iA,Jt)}return iA}();for(;xt(o.Is);){++Qe;const iA=xt(o.Not);iA&&++Qe;let Jt=OA();if(Jt instanceof T?Jt=new g(Jt.value.toString()):Jt instanceof re&&(Jt=new g("none")),!(Jt instanceof g))throw new SyntaxError("Expected identifier for the test");AA=new Me(AA,iA,Jt)}return AA}function OA(){const AA=Ie[Qe];switch(AA.type){case o.NumericLiteral:return++Qe,new e(Number(AA.value));case o.StringLiteral:return++Qe,new d(AA.value);case o.BooleanLiteral:return++Qe,new T(AA.value.toLowerCase()==="true");case o.NullLiteral:return++Qe,new re(null);case o.Identifier:return++Qe,new g(AA.value);case o.OpenParen:{++Qe;const iA=Lt();if(Ie[Qe].type!==o.CloseParen)throw new SyntaxError(`Expected closing parenthesis, got ${Ie[Qe].type} instead`);return++Qe,iA}case o.OpenSquareBracket:{++Qe;const iA=[];for(;!xt(o.CloseSquareBracket);)iA.push(gA()),xt(o.Comma)&&++Qe;return++Qe,new N(iA)}case o.OpenCurlyBracket:{++Qe;const iA=new Map;for(;!xt(o.CloseCurlyBracket);){const Jt=gA();Je(o.Colon,"Expected colon between key and value in object literal");const LA=gA();iA.set(Jt,LA),xt(o.Comma)&&++Qe}return++Qe,new Ce(iA)}default:throw new SyntaxError(`Unexpected token: ${AA.type}`)}}for(;Qe<Ie.length;)fe.body.push(rt());return fe}function we(Ie,fe,Qe=1){fe===void 0&&(fe=Ie,Ie=0);const Je=[];for(let rt=Ie;rt<fe;rt+=Qe)Je.push(rt);return Je}function _e(Ie,fe,Qe,Je=1){const rt=Math.sign(Je);rt>=0?(fe=(fe??(fe=0))<0?Math.max(Ie.length+fe,0):Math.min(fe,Ie.length),Qe=(Qe??(Qe=Ie.length))<0?Math.max(Ie.length+Qe,0):Math.min(Qe,Ie.length)):(fe=(fe??(fe=Ie.length-1))<0?Math.max(Ie.length+fe,-1):Math.min(fe,Ie.length-1),Qe=(Qe??(Qe=-1))<-1?Math.max(Ie.length+Qe,-1):Math.min(Qe,Ie.length-1));const lt=[];for(let xt=fe;rt*xt<rt*Qe;xt+=Je)lt.push(Ie[xt]);return lt}function pe(Ie){return Ie.replace(/\b\w/g,fe=>fe.toUpperCase())}var it=class{constructor(Ie=void 0){Ct(this,"type","RuntimeValue");Ct(this,"value");Ct(this,"builtins",new Map);this.value=Ie}__bool__(){return new pt(!!this.value)}},We=class extends it{constructor(){super(...arguments);Ct(this,"type","NumericValue")}},ot=class extends it{constructor(){super(...arguments);Ct(this,"type","StringValue");Ct(this,"builtins",new Map([["upper",new wt(()=>new ot(this.value.toUpperCase()))],["lower",new wt(()=>new ot(this.value.toLowerCase()))],["strip",new wt(()=>new ot(this.value.trim()))],["title",new wt(()=>new ot(pe(this.value)))],["length",new We(this.value.length)],["rstrip",new wt(()=>new ot(this.value.trimEnd()))],["lstrip",new wt(()=>new ot(this.value.trimStart()))],["split",new wt(fe=>{const Qe=fe[0]??new ze;if(!(Qe instanceof ot||Qe instanceof ze))throw new Error("sep argument must be a string or null");const Je=fe[1]??new We(-1);if(!(Je instanceof We))throw new Error("maxsplit argument must be a number");let rt=[];if(Qe instanceof ze){const lt=this.value.trimStart();for(const{0:xt,index:jt}of lt.matchAll(/\S+/g)){if(Je.value!==-1&&rt.length>=Je.value&&jt!==void 0){rt.push(xt+lt.slice(jt+xt.length));break}rt.push(xt)}}else{if(Qe.value==="")throw new Error("empty separator");rt=this.value.split(Qe.value),Je.value!==-1&&rt.length>Je.value&&rt.push(rt.splice(Je.value).join(Qe.value))}return new tt(rt.map(lt=>new ot(lt)))})]]))}},pt=class extends it{constructor(){super(...arguments);Ct(this,"type","BooleanValue")}},ct=class extends it{constructor(){super(...arguments);Ct(this,"type","ObjectValue");Ct(this,"builtins",new Map([["get",new wt(([fe,Qe])=>{if(!(fe instanceof ot))throw new Error(`Object key must be a string: got ${fe.type}`);return this.value.get(fe.value)??Qe??new ze})],["items",new wt(()=>new tt(Array.from(this.value.entries()).map(([fe,Qe])=>new tt([new ot(fe),Qe]))))]]))}__bool__(){return new pt(this.value.size>0)}},Re=class extends ct{constructor(){super(...arguments);Ct(this,"type","KeywordArgumentsValue")}},tt=class extends it{constructor(){super(...arguments);Ct(this,"type","ArrayValue");Ct(this,"builtins",new Map([["length",new We(this.value.length)]]))}__bool__(){return new pt(this.value.length>0)}},It=class extends tt{constructor(){super(...arguments);Ct(this,"type","TupleValue")}},wt=class extends it{constructor(){super(...arguments);Ct(this,"type","FunctionValue")}},ze=class extends it{constructor(){super(...arguments);Ct(this,"type","NullValue")}},At=class extends it{constructor(){super(...arguments);Ct(this,"type","UndefinedValue")}},Bt=class{constructor(Ie){Ct(this,"variables",new Map([["namespace",new wt(Ie=>{if(Ie.length===0)return new ct(new Map);if(Ie.length!==1||!(Ie[0]instanceof ct))throw new Error("`namespace` expects either zero arguments or a single object argument");return Ie[0]})]]));Ct(this,"tests",new Map([["boolean",Ie=>Ie.type==="BooleanValue"],["callable",Ie=>Ie instanceof wt],["odd",Ie=>{if(Ie.type!=="NumericValue")throw new Error(`Cannot apply test "odd" to type: ${Ie.type}`);return Ie.value%2!=0}],["even",Ie=>{if(Ie.type!=="NumericValue")throw new Error(`Cannot apply test "even" to type: ${Ie.type}`);return Ie.value%2==0}],["false",Ie=>Ie.type==="BooleanValue"&&!Ie.value],["true",Ie=>Ie.type==="BooleanValue"&&Ie.value],["none",Ie=>Ie.type==="NullValue"],["string",Ie=>Ie.type==="StringValue"],["number",Ie=>Ie.type==="NumericValue"],["integer",Ie=>Ie.type==="NumericValue"&&Number.isInteger(Ie.value)],["iterable",Ie=>Ie.type==="ArrayValue"||Ie.type==="StringValue"],["mapping",Ie=>Ie.type==="ObjectValue"],["lower",Ie=>{const fe=Ie.value;return Ie.type==="StringValue"&&fe===fe.toLowerCase()}],["upper",Ie=>{const fe=Ie.value;return Ie.type==="StringValue"&&fe===fe.toUpperCase()}],["none",Ie=>Ie.type==="NullValue"],["defined",Ie=>Ie.type!=="UndefinedValue"],["undefined",Ie=>Ie.type==="UndefinedValue"],["equalto",(Ie,fe)=>Ie.value===fe.value],["eq",(Ie,fe)=>Ie.value===fe.value]]));this.parent=Ie}set(Ie,fe){return this.declareVariable(Ie,St(fe))}declareVariable(Ie,fe){if(this.variables.has(Ie))throw new SyntaxError(`Variable already declared: ${Ie}`);return this.variables.set(Ie,fe),fe}setVariable(Ie,fe){return this.variables.set(Ie,fe),fe}resolve(Ie){if(this.variables.has(Ie))return this;if(this.parent)return this.parent.resolve(Ie);throw new Error(`Unknown variable: ${Ie}`)}lookupVariable(Ie){try{return this.resolve(Ie).variables.get(Ie)??new At}catch{return new At}}},Ft=class{constructor(Ie){Ct(this,"global");this.global=Ie??new Bt}run(Ie){return this.evaluate(Ie,this.global)}evaluateBinaryExpression(Ie,fe){const Qe=this.evaluate(Ie.left,fe);switch(Ie.operator.value){case"and":return Qe.__bool__().value?this.evaluate(Ie.right,fe):Qe;case"or":return Qe.__bool__().value?Qe:this.evaluate(Ie.right,fe)}const Je=this.evaluate(Ie.right,fe);switch(Ie.operator.value){case"==":return new pt(Qe.value==Je.value);case"!=":return new pt(Qe.value!=Je.value)}if(Qe instanceof At||Je instanceof At)throw new Error("Cannot perform operation on undefined values");if(Qe instanceof ze||Je instanceof ze)throw new Error("Cannot perform operation on null values");if(Qe instanceof We&&Je instanceof We)switch(Ie.operator.value){case"+":return new We(Qe.value+Je.value);case"-":return new We(Qe.value-Je.value);case"*":return new We(Qe.value*Je.value);case"/":return new We(Qe.value/Je.value);case"%":return new We(Qe.value%Je.value);case"<":return new pt(Qe.value<Je.value);case">":return new pt(Qe.value>Je.value);case">=":return new pt(Qe.value>=Je.value);case"<=":return new pt(Qe.value<=Je.value)}else if(Qe instanceof tt&&Je instanceof tt){if(Ie.operator.value==="+")return new tt(Qe.value.concat(Je.value))}else if(Je instanceof tt){const rt=Je.value.find(lt=>lt.value===Qe.value)!==void 0;switch(Ie.operator.value){case"in":return new pt(rt);case"not in":return new pt(!rt)}}if((Qe instanceof ot||Je instanceof ot)&&Ie.operator.value==="+")return new ot(Qe.value.toString()+Je.value.toString());if(Qe instanceof ot&&Je instanceof ot)switch(Ie.operator.value){case"in":return new pt(Je.value.includes(Qe.value));case"not in":return new pt(!Je.value.includes(Qe.value))}if(Qe instanceof ot&&Je instanceof ct)switch(Ie.operator.value){case"in":return new pt(Je.value.has(Qe.value));case"not in":return new pt(!Je.value.has(Qe.value))}throw new SyntaxError(`Unknown operator "${Ie.operator.value}" between ${Qe.type} and ${Je.type}`)}evaluateArguments(Ie,fe){const Qe=[],Je=new Map;for(const rt of Ie)if(rt.type==="KeywordArgumentExpression"){const lt=rt;Je.set(lt.key.value,this.evaluate(lt.value,fe))}else{if(Je.size>0)throw new Error("Positional arguments must come before keyword arguments");Qe.push(this.evaluate(rt,fe))}return[Qe,Je]}evaluateFilterExpression(Ie,fe){const Qe=this.evaluate(Ie.operand,fe);if(Ie.filter.type==="Identifier"){const Je=Ie.filter;if(Je.value==="tojson")return new ot(oe(Qe));if(Qe instanceof tt)switch(Je.value){case"list":return Qe;case"first":return Qe.value[0];case"last":return Qe.value[Qe.value.length-1];case"length":return new We(Qe.value.length);case"reverse":return new tt(Qe.value.reverse());case"sort":return new tt(Qe.value.sort((rt,lt)=>{if(rt.type!==lt.type)throw new Error(`Cannot compare different types: ${rt.type} and ${lt.type}`);switch(rt.type){case"NumericValue":return rt.value-lt.value;case"StringValue":return rt.value.localeCompare(lt.value);default:throw new Error(`Cannot compare type: ${rt.type}`)}}));case"join":return new ot(Qe.value.map(rt=>rt.value).join(""));default:throw new Error(`Unknown ArrayValue filter: ${Je.value}`)}else if(Qe instanceof ot)switch(Je.value){case"length":return new We(Qe.value.length);case"upper":return new ot(Qe.value.toUpperCase());case"lower":return new ot(Qe.value.toLowerCase());case"title":return new ot(pe(Qe.value));case"capitalize":return new ot(Qe.value.charAt(0).toUpperCase()+Qe.value.slice(1));case"trim":return new ot(Qe.value.trim());case"indent":return new ot(Qe.value.split(`
77`).map((rt,lt)=>lt===0||rt.length===0?rt:"    "+rt).join(`
78`));case"join":case"string":return Qe;default:throw new Error(`Unknown StringValue filter: ${Je.value}`)}else{if(Qe instanceof We){if(Je.value==="abs")return new We(Math.abs(Qe.value));throw new Error(`Unknown NumericValue filter: ${Je.value}`)}if(Qe instanceof ct)switch(Je.value){case"items":return new tt(Array.from(Qe.value.entries()).map(([rt,lt])=>new tt([new ot(rt),lt])));case"length":return new We(Qe.value.size);default:throw new Error(`Unknown ObjectValue filter: ${Je.value}`)}}throw new Error(`Cannot apply filter "${Je.value}" to type: ${Qe.type}`)}if(Ie.filter.type==="CallExpression"){const Je=Ie.filter;if(Je.callee.type!=="Identifier")throw new Error(`Unknown filter: ${Je.callee.type}`);const rt=Je.callee.value;if(rt==="tojson"){const[,lt]=this.evaluateArguments(Je.args,fe),xt=lt.get("indent")??new ze;if(!(xt instanceof We||xt instanceof ze))throw new Error("If set, indent must be a number");return new ot(oe(Qe,xt.value))}if(rt==="join"){let lt;if(Qe instanceof ot)lt=Array.from(Qe.value);else{if(!(Qe instanceof tt))throw new Error(`Cannot apply filter "${rt}" to type: ${Qe.type}`);lt=Qe.value.map(Lt=>Lt.value)}const[xt,jt]=this.evaluateArguments(Je.args,fe),eA=xt.at(0)??jt.get("separator")??new ot("");if(!(eA instanceof ot))throw new Error("separator must be a string");return new ot(lt.join(eA.value))}if(Qe instanceof tt){switch(rt){case"selectattr":case"rejectattr":{const lt=rt==="selectattr";if(Qe.value.some(tA=>!(tA instanceof ct)))throw new Error(`\`${rt}\` can only be applied to array of objects`);if(Je.args.some(tA=>tA.type!=="StringLiteral"))throw new Error(`arguments of \`${rt}\` must be strings`);const[xt,jt,eA]=Je.args.map(tA=>this.evaluate(tA,fe));let Lt;if(jt){const tA=fe.tests.get(jt.value);if(!tA)throw new Error(`Unknown test: ${jt.value}`);Lt=tA}else Lt=(...tA)=>tA[0].__bool__().value;const gA=Qe.value.filter(tA=>{const oA=tA.value.get(xt.value),nA=!!oA&&Lt(oA,eA);return lt?nA:!nA});return new tt(gA)}case"map":{const[,lt]=this.evaluateArguments(Je.args,fe);if(lt.has("attribute")){const xt=lt.get("attribute");if(!(xt instanceof ot))throw new Error("attribute must be a string");const jt=lt.get("default"),eA=Qe.value.map(Lt=>{if(!(Lt instanceof ct))throw new Error("items in map must be an object");return Lt.value.get(xt.value)??jt??new At});return new tt(eA)}throw new Error("`map` expressions without `attribute` set are not currently supported.")}}throw new Error(`Unknown ArrayValue filter: ${rt}`)}if(Qe instanceof ot){if(rt==="indent"){const[lt,xt]=this.evaluateArguments(Je.args,fe),jt=lt.at(0)??xt.get("width")??new We(4);if(!(jt instanceof We))throw new Error("width must be a number");const eA=lt.at(1)??xt.get("first")??new pt(!1),Lt=lt.at(2)??xt.get("blank")??new pt(!1),gA=Qe.value.split(`
79`),tA=" ".repeat(jt.value),oA=gA.map((nA,IA)=>!eA.value&&IA===0||!Lt.value&&nA.length===0?nA:tA+nA);return new ot(oA.join(`
80`))}throw new Error(`Unknown StringValue filter: ${rt}`)}throw new Error(`Cannot apply filter "${rt}" to type: ${Qe.type}`)}throw new Error(`Unknown filter: ${Ie.filter.type}`)}evaluateTestExpression(Ie,fe){const Qe=this.evaluate(Ie.operand,fe),Je=fe.tests.get(Ie.test.value);if(!Je)throw new Error(`Unknown test: ${Ie.test.value}`);const rt=Je(Qe);return new pt(Ie.negate?!rt:rt)}evaluateUnaryExpression(Ie,fe){const Qe=this.evaluate(Ie.argument,fe);if(Ie.operator.value==="not")return new pt(!Qe.value);throw new SyntaxError(`Unknown operator: ${Ie.operator.value}`)}evalProgram(Ie,fe){return this.evaluateBlock(Ie.body,fe)}evaluateBlock(Ie,fe){let Qe="";for(const Je of Ie){const rt=this.evaluate(Je,fe);rt.type!=="NullValue"&&rt.type!=="UndefinedValue"&&(Qe+=rt.value)}return new ot(Qe)}evaluateIdentifier(Ie,fe){return fe.lookupVariable(Ie.value)}evaluateCallExpression(Ie,fe){const[Qe,Je]=this.evaluateArguments(Ie.args,fe);Je.size>0&&Qe.push(new Re(Je));const rt=this.evaluate(Ie.callee,fe);if(rt.type!=="FunctionValue")throw new Error(`Cannot call something that is not a function: got ${rt.type}`);return rt.value(Qe,fe)}evaluateSliceExpression(Ie,fe,Qe){if(!(Ie instanceof tt||Ie instanceof ot))throw new Error("Slice object must be an array or string");const Je=this.evaluate(fe.start,Qe),rt=this.evaluate(fe.stop,Qe),lt=this.evaluate(fe.step,Qe);if(!(Je instanceof We||Je instanceof At))throw new Error("Slice start must be numeric or undefined");if(!(rt instanceof We||rt instanceof At))throw new Error("Slice stop must be numeric or undefined");if(!(lt instanceof We||lt instanceof At))throw new Error("Slice step must be numeric or undefined");return Ie instanceof tt?new tt(_e(Ie.value,Je.value,rt.value,lt.value)):new ot(_e(Array.from(Ie.value),Je.value,rt.value,lt.value).join(""))}evaluateMemberExpression(Ie,fe){const Qe=this.evaluate(Ie.object,fe);let Je,rt;if(Ie.computed){if(Ie.property.type==="SliceExpression")return this.evaluateSliceExpression(Qe,Ie.property,fe);Je=this.evaluate(Ie.property,fe)}else Je=new ot(Ie.property.value);if(Qe instanceof ct){if(!(Je instanceof ot))throw new Error(`Cannot access property with non-string: got ${Je.type}`);rt=Qe.value.get(Je.value)??Qe.builtins.get(Je.value)}else if(Qe instanceof tt||Qe instanceof ot)if(Je instanceof We)rt=Qe.value.at(Je.value),Qe instanceof ot&&(rt=new ot(Qe.value.at(Je.value)));else{if(!(Je instanceof ot))throw new Error(`Cannot access property with non-string/non-number: got ${Je.type}`);rt=Qe.builtins.get(Je.value)}else{if(!(Je instanceof ot))throw new Error(`Cannot access property with non-string: got ${Je.type}`);rt=Qe.builtins.get(Je.value)}return rt instanceof it?rt:new At}evaluateSet(Ie,fe){const Qe=this.evaluate(Ie.value,fe);if(Ie.assignee.type==="Identifier"){const Je=Ie.assignee.value;fe.setVariable(Je,Qe)}else{if(Ie.assignee.type!=="MemberExpression")throw new Error(`Invalid LHS inside assignment expression: ${JSON.stringify(Ie.assignee)}`);{const Je=Ie.assignee,rt=this.evaluate(Je.object,fe);if(!(rt instanceof ct))throw new Error("Cannot assign to member of non-object");if(Je.property.type!=="Identifier")throw new Error("Cannot assign to member with non-identifier property");rt.value.set(Je.property.value,Qe)}}return new ze}evaluateIf(Ie,fe){const Qe=this.evaluate(Ie.test,fe);return this.evaluateBlock(Qe.__bool__().value?Ie.body:Ie.alternate,fe)}evaluateFor(Ie,fe){const Qe=new Bt(fe);let Je,rt;if(Ie.iterable.type==="SelectExpression"){const Lt=Ie.iterable;rt=this.evaluate(Lt.iterable,Qe),Je=Lt.test}else rt=this.evaluate(Ie.iterable,Qe);if(!(rt instanceof tt))throw new Error(`Expected iterable type in for loop: got ${rt.type}`);const lt=[],xt=[];for(let Lt=0;Lt<rt.value.length;++Lt){const gA=new Bt(Qe),tA=rt.value[Lt];let oA;if(Ie.loopvar.type==="Identifier")oA=nA=>nA.setVariable(Ie.loopvar.value,tA);else{if(Ie.loopvar.type!=="TupleLiteral")throw new Error(`Invalid loop variable(s): ${Ie.loopvar.type}`);{const nA=Ie.loopvar;if(tA.type!=="ArrayValue")throw new Error(`Cannot unpack non-iterable type: ${tA.type}`);const IA=tA;if(nA.value.length!==IA.value.length)throw new Error(`Too ${nA.value.length>IA.value.length?"few":"many"} items to unpack`);oA=EA=>{for(let Gt=0;Gt<nA.value.length;++Gt){if(nA.value[Gt].type!=="Identifier")throw new Error(`Cannot unpack non-identifier type: ${nA.value[Gt].type}`);EA.setVariable(nA.value[Gt].value,IA.value[Gt])}}}}Je&&(oA(gA),!this.evaluate(Je,gA).__bool__().value)||(lt.push(tA),xt.push(oA))}let jt="",eA=!0;for(let Lt=0;Lt<lt.length;++Lt){const gA=new Map([["index",new We(Lt+1)],["index0",new We(Lt)],["revindex",new We(lt.length-Lt)],["revindex0",new We(lt.length-Lt-1)],["first",new pt(Lt===0)],["last",new pt(Lt===lt.length-1)],["length",new We(lt.length)],["previtem",Lt>0?lt[Lt-1]:new At],["nextitem",Lt<lt.length-1?lt[Lt+1]:new At]]);Qe.setVariable("loop",new ct(gA)),xt[Lt](Qe),jt+=this.evaluateBlock(Ie.body,Qe).value,eA=!1}return eA&&(jt+=this.evaluateBlock(Ie.defaultBlock,Qe).value),new ot(jt)}evaluateMacro(Ie,fe){return fe.setVariable(Ie.name.value,new wt((Qe,Je)=>{var xt;const rt=new Bt(Je);let lt;Qe=Qe.slice(),((xt=Qe.at(-1))==null?void 0:xt.type)==="KeywordArgumentsValue"&&(lt=Qe.pop());for(let jt=0;jt<Ie.args.length;++jt){const eA=Ie.args[jt],Lt=Qe[jt];if(eA.type==="Identifier"){const gA=eA;if(!Lt)throw new Error(`Missing positional argument: ${gA.value}`);rt.setVariable(gA.value,Lt)}else{if(eA.type!=="KeywordArgumentExpression")throw new Error(`Unknown argument type: ${eA.type}`);{const gA=eA,tA=Lt??(lt==null?void 0:lt.value.get(gA.key.value))??this.evaluate(gA.value,rt);rt.setVariable(gA.key.value,tA)}}}return this.evaluateBlock(Ie.body,rt)})),new ze}evaluate(Ie,fe){if(Ie===void 0)return new At;switch(Ie.type){case"Program":return this.evalProgram(Ie,fe);case"Set":return this.evaluateSet(Ie,fe);case"If":return this.evaluateIf(Ie,fe);case"For":return this.evaluateFor(Ie,fe);case"Macro":return this.evaluateMacro(Ie,fe);case"NumericLiteral":return new We(Number(Ie.value));case"StringLiteral":return new ot(Ie.value);case"BooleanLiteral":return new pt(Ie.value);case"NullLiteral":return new ze(Ie.value);case"ArrayLiteral":return new tt(Ie.value.map(Qe=>this.evaluate(Qe,fe)));case"TupleLiteral":return new It(Ie.value.map(Qe=>this.evaluate(Qe,fe)));case"ObjectLiteral":{const Qe=new Map;for(const[Je,rt]of Ie.value){const lt=this.evaluate(Je,fe);if(!(lt instanceof ot))throw new Error(`Object keys must be strings: got ${lt.type}`);Qe.set(lt.value,this.evaluate(rt,fe))}return new ct(Qe)}case"Identifier":return this.evaluateIdentifier(Ie,fe);case"CallExpression":return this.evaluateCallExpression(Ie,fe);case"MemberExpression":return this.evaluateMemberExpression(Ie,fe);case"UnaryExpression":return this.evaluateUnaryExpression(Ie,fe);case"BinaryExpression":return this.evaluateBinaryExpression(Ie,fe);case"FilterExpression":return this.evaluateFilterExpression(Ie,fe);case"TestExpression":return this.evaluateTestExpression(Ie,fe);default:throw new SyntaxError(`Unknown node type: ${Ie.type}`)}}};function St(Ie){switch(typeof Ie){case"number":return new We(Ie);case"string":return new ot(Ie);case"boolean":return new pt(Ie);case"undefined":return new At;case"object":return Ie===null?new ze:Array.isArray(Ie)?new tt(Ie.map(St)):new ct(new Map(Object.entries(Ie).map(([fe,Qe])=>[fe,St(Qe)])));case"function":return new wt((fe,Qe)=>{const Je=Ie(...fe.map(rt=>rt.value))??null;return St(Je)});default:throw new Error(`Cannot convert to runtime value: ${Ie}`)}}function oe(Ie,fe,Qe){const Je=Qe??0;switch(Ie.type){case"NullValue":case"UndefinedValue":return"null";case"NumericValue":case"StringValue":case"BooleanValue":return JSON.stringify(Ie.value);case"ArrayValue":case"ObjectValue":{const rt=fe?" ".repeat(fe):"",lt=`
81`+rt.repeat(Je),xt=lt+rt;if(Ie.type==="ArrayValue"){const jt=Ie.value.map(eA=>oe(eA,fe,Je+1));return fe?`[${xt}${jt.join(`,${xt}`)}${lt}]`:`[${jt.join(", ")}]`}{const jt=Array.from(Ie.value.entries()).map(([eA,Lt])=>{const gA=`"${eA}": ${oe(Lt,fe,Je+1)}`;return fe?`${xt}${gA}`:gA});return fe?`{${jt.join(",")}${lt}}`:`{${jt.join(", ")}}`}}default:throw new Error(`Cannot convert to JSON: ${Ie.type}`)}}var zt=class{constructor(Ie){Ct(this,"parsed");const fe=B(Ie,{lstrip_blocks:!0,trim_blocks:!0});this.parsed=me(fe)}render(Ie){const fe=new Bt;if(fe.set("false",!1),fe.set("true",!0),fe.set("raise_exception",Qe=>{throw new Error(Qe)}),fe.set("range",we),Ie)for(const[Qe,Je]of Object.entries(Ie))fe.set(Qe,Je);return new Ft(fe).run(this.parsed).value}}},
vendor: 1,626 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/backend-impl.js":(c,n,s)=>{s.r(n),s.d(n,{registerBackend:()=>p,resolveBackendAndExecutionProviders:()=>b});const o=new Map,f=[],p=(k,E,B)=>{if(!E||typeof E.init!="function"||typeof E.createInferenceSessionHandler!="function")throw new TypeError("not a valid backend");{const G=o.get(k);if(G===void 0)o.set(k,{backend:E,priority:B});else{if(G.priority>B)return;if(G.priority===B&&G.backend!==E)throw new Error(`cannot register backend "${k}" using priority ${B}`)}if(B>=0){const D=f.indexOf(k);D!==-1&&f.splice(D,1);for(let _=0;_<f.length;_++)if(o.get(f[_]).priority<=B)return void f.splice(_,0,k);f.push(k)}}},C=async k=>{const E=o.get(k);if(!E)return"backend not found.";if(E.initialized)return E.backend;if(E.aborted)return E.error;{const B=!!E.initPromise;try{return B||(E.initPromise=E.backend.init(k)),await E.initPromise,E.initialized=!0,E.backend}catch(G){return B||(E.error=`${G}`,E.aborted=!0),E.error}finally{delete E.initPromise}}},b=async k=>{const E=k.executionProviders||[],B=E.map(U=>typeof U=="string"?U:U.name),G=B.length===0?f:B;let D;const _=[],O=new Set;for(const U of G){const H=await C(U);typeof H=="string"?_.push({name:U,err:H}):(D||(D=H),D===H&&O.add(U))}if(!D)throw new Error(`no available backend found. ERR: ${_.map(U=>`[${U.name}] ${U.err}`).join(", ")}`);for(const{name:U,err:H}of _)B.includes(U)&&console.warn(`removing requested execution provider "${U}" from session options because it is not available: ${H}`);const j=E.filter(U=>O.has(typeof U=="string"?U:U.name));return[D,new Proxy(k,{get:(U,H)=>H==="executionProviders"?j:Reflect.get(U,H)})]}},
vendor: 191 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/backend.js":(c,n,s)=>{s.r(n),s.d(n,{registerBackend:()=>o.registerBackend});var o=s("./node_modules/onnxruntime-common/dist/esm/backend-impl.js")},
vendor: 489 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/env-impl.js":(c,n,s)=>{s.r(n),s.d(n,{env:()=>p});var o=s("./node_modules/onnxruntime-common/dist/esm/version.js");let f="warning";const p={wasm:{},webgl:{},webgpu:{},versions:{common:o.version},set logLevel(C){if(C!==void 0){if(typeof C!="string"||["verbose","info","warning","error","fatal"].indexOf(C)===-1)throw new Error(`Unsupported logging level: ${C}`);f=C}},get logLevel(){return f}};Object.defineProperty(p,"logLevel",{enumerable:!0})},
vendor: 161 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/env.js":(c,n,s)=>{s.r(n),s.d(n,{env:()=>o});const o=s("./node_modules/onnxruntime-common/dist/esm/env-impl.js").env},
vendor: 974 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/index.js":(c,n,s)=>{s.r(n),s.d(n,{InferenceSession:()=>p.InferenceSession,TRACE:()=>b.TRACE,TRACE_FUNC_BEGIN:()=>b.TRACE_FUNC_BEGIN,TRACE_FUNC_END:()=>b.TRACE_FUNC_END,Tensor:()=>C.Tensor,TrainingSession:()=>k.TrainingSession,env:()=>f.env,registerBackend:()=>o.registerBackend});var o=s("./node_modules/onnxruntime-common/dist/esm/backend.js"),f=s("./node_modules/onnxruntime-common/dist/esm/env.js"),p=s("./node_modules/onnxruntime-common/dist/esm/inference-session.js"),C=s("./node_modules/onnxruntime-common/dist/esm/tensor.js");s("./node_modules/onnxruntime-common/dist/esm/tensor-conversion.js"),s("./node_modules/onnxruntime-common/dist/esm/tensor-factory.js");var b=s("./node_modules/onnxruntime-common/dist/esm/trace.js");s("./node_modules/onnxruntime-common/dist/esm/onnx-model.js"),s("./node_modules/onnxruntime-common/dist/esm/onnx-value.js");var k=s("./node_modules/onnxruntime-common/dist/esm/training-session.js")},
vendor: 3,665 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/inference-session-impl.js":(c,n,s)=>{s.r(n),s.d(n,{InferenceSession:()=>C});var o=s("./node_modules/onnxruntime-common/dist/esm/backend-impl.js"),f=s("./node_modules/onnxruntime-common/dist/esm/tensor.js"),p=s("./node_modules/onnxruntime-common/dist/esm/trace.js");class C{constructor(k){this.handler=k}async run(k,E,B){(0,p.TRACE_FUNC_BEGIN)();const G={};let D={};if(typeof k!="object"||k===null||k instanceof f.Tensor||Array.isArray(k))throw new TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let _=!0;if(typeof E=="object"){if(E===null)throw new TypeError("Unexpected argument[1]: cannot be null.");if(E instanceof f.Tensor)throw new TypeError("'fetches' cannot be a Tensor");if(Array.isArray(E)){if(E.length===0)throw new TypeError("'fetches' cannot be an empty array.");_=!1;for(const U of E){if(typeof U!="string")throw new TypeError("'fetches' must be a string array or an object.");if(this.outputNames.indexOf(U)===-1)throw new RangeError(`'fetches' contains invalid output name: ${U}.`);G[U]=null}if(typeof B=="object"&&B!==null)D=B;else if(B!==void 0)throw new TypeError("'options' must be an object.")}else{let U=!1;const H=Object.getOwnPropertyNames(E);for(const Z of this.outputNames)if(H.indexOf(Z)!==-1){const X=E[Z];(X===null||X instanceof f.Tensor)&&(U=!0,_=!1,G[Z]=X)}if(U){if(typeof B=="object"&&B!==null)D=B;else if(B!==void 0)throw new TypeError("'options' must be an object.")}else D=E}}else if(E!==void 0)throw new TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(const U of this.inputNames)if(k[U]===void 0)throw new Error(`input '${U}' is missing in 'feeds'.`);if(_)for(const U of this.outputNames)G[U]=null;const O=await this.handler.run(k,G,D),j={};for(const U in O)if(Object.hasOwnProperty.call(O,U)){const H=O[U];H instanceof f.Tensor?j[U]=H:j[U]=new f.Tensor(H.type,H.data,H.dims)}return(0,p.TRACE_FUNC_END)(),j}async release(){return this.handler.dispose()}static async create(k,E,B,G){let D;(0,p.TRACE_FUNC_BEGIN)();let _={};if(typeof k=="string"){if(D=k,typeof E=="object"&&E!==null)_=E;else if(E!==void 0)throw new TypeError("'options' must be an object.")}else if(k instanceof Uint8Array){if(D=k,typeof E=="object"&&E!==null)_=E;else if(E!==void 0)throw new TypeError("'options' must be an object.")}else{if(!(k instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&k instanceof SharedArrayBuffer))throw new TypeError("Unexpected argument[0]: must be 'path' or 'buffer'.");{const H=k;let Z=0,X=k.byteLength;if(typeof E=="object"&&E!==null)_=E;else if(typeof E=="number"){if(Z=E,!Number.isSafeInteger(Z))throw new RangeError("'byteOffset' must be an integer.");if(Z<0||Z>=H.byteLength)throw new RangeError(`'byteOffset' is out of range [0, ${H.byteLength}).`);if(X=k.byteLength-Z,typeof B=="number"){if(X=B,!Number.isSafeInteger(X))throw new RangeError("'byteLength' must be an integer.");if(X<=0||Z+X>H.byteLength)throw new RangeError(`'byteLength' is out of range (0, ${H.byteLength-Z}].`);if(typeof G=="object"&&G!==null)_=G;else if(G!==void 0)throw new TypeError("'options' must be an object.")}else if(B!==void 0)throw new TypeError("'byteLength' must be a number.")}else if(E!==void 0)throw new TypeError("'options' must be an object.");D=new Uint8Array(H,Z,X)}}const[O,j]=await(0,o.resolveBackendAndExecutionProviders)(_),U=await O.createInferenceSessionHandler(D,j);return(0,p.TRACE_FUNC_END)(),new C(U)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}get outputNames(){return this.handler.outputNames}}},
vendor: 215 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/inference-session.js":(c,n,s)=>{s.r(n),s.d(n,{InferenceSession:()=>o});const o=s("./node_modules/onnxruntime-common/dist/esm/inference-session-impl.js").InferenceSession},
vendor: 77 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/onnx-model.js":(c,n,s)=>{s.r(n)},
vendor: 77 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/onnx-value.js":(c,n,s)=>{s.r(n)},
vendor: 2,695 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/tensor-conversion-impl.js":(c,n,s)=>{s.r(n),s.d(n,{tensorToDataURL:()=>o,tensorToImageData:()=>f});const o=(p,C)=>{const b=typeof document<"u"?document.createElement("canvas"):new OffscreenCanvas(1,1);b.width=p.dims[3],b.height=p.dims[2];const k=b.getContext("2d");if(k!=null){let E,B;(C==null?void 0:C.tensorLayout)!==void 0&&C.tensorLayout==="NHWC"?(E=p.dims[2],B=p.dims[3]):(E=p.dims[3],B=p.dims[2]);const G=(C==null?void 0:C.format)!==void 0?C.format:"RGB",D=C==null?void 0:C.norm;let _,O;D===void 0||D.mean===void 0?_=[255,255,255,255]:typeof D.mean=="number"?_=[D.mean,D.mean,D.mean,D.mean]:(_=[D.mean[0],D.mean[1],D.mean[2],0],D.mean[3]!==void 0&&(_[3]=D.mean[3])),D===void 0||D.bias===void 0?O=[0,0,0,0]:typeof D.bias=="number"?O=[D.bias,D.bias,D.bias,D.bias]:(O=[D.bias[0],D.bias[1],D.bias[2],0],D.bias[3]!==void 0&&(O[3]=D.bias[3]));const j=B*E;let U=0,H=j,Z=2*j,X=-1;G==="RGBA"?(U=0,H=j,Z=2*j,X=3*j):G==="RGB"?(U=0,H=j,Z=2*j):G==="RBG"&&(U=0,Z=j,H=2*j);for(let g=0;g<B;g++)for(let v=0;v<E;v++){const e=(p.data[U++]-O[0])*_[0],d=(p.data[H++]-O[1])*_[1],T=(p.data[Z++]-O[2])*_[2],re=X===-1?255:(p.data[X++]-O[3])*_[3];k.fillStyle="rgba("+e+","+d+","+T+","+re+")",k.fillRect(v,g,1,1)}if("toDataURL"in b)return b.toDataURL();throw new Error("toDataURL is not supported")}throw new Error("Can not access image data")},f=(p,C)=>{const b=typeof document<"u"?document.createElement("canvas").getContext("2d"):new OffscreenCanvas(1,1).getContext("2d");let k;if(b==null)throw new Error("Can not access image data");{let E,B,G;(C==null?void 0:C.tensorLayout)!==void 0&&C.tensorLayout==="NHWC"?(E=p.dims[2],B=p.dims[1],G=p.dims[3]):(E=p.dims[3],B=p.dims[2],G=p.dims[1]);const D=C!==void 0&&C.format!==void 0?C.format:"RGB",_=C==null?void 0:C.norm;let O,j;_===void 0||_.mean===void 0?O=[255,255,255,255]:typeof _.mean=="number"?O=[_.mean,_.mean,_.mean,_.mean]:(O=[_.mean[0],_.mean[1],_.mean[2],255],_.mean[3]!==void 0&&(O[3]=_.mean[3])),_===void 0||_.bias===void 0?j=[0,0,0,0]:typeof _.bias=="number"?j=[_.bias,_.bias,_.bias,_.bias]:(j=[_.bias[0],_.bias[1],_.bias[2],0],_.bias[3]!==void 0&&(j[3]=_.bias[3]));const U=B*E;if(C!==void 0&&(C.format!==void 0&&G===4&&C.format!=="RGBA"||G===3&&C.format!=="RGB"&&C.format!=="BGR"))throw new Error("Tensor format doesn't match input tensor dims");const H=4;let Z=0,X=1,g=2,v=3,e=0,d=U,T=2*U,re=-1;D==="RGBA"?(e=0,d=U,T=2*U,re=3*U):D==="RGB"?(e=0,d=U,T=2*U):D==="RBG"&&(e=0,T=U,d=2*U),k=b.createImageData(E,B);for(let N=0;N<B*E;Z+=H,X+=H,g+=H,v+=H,N++)k.data[Z]=(p.data[e++]-j[0])*O[0],k.data[X]=(p.data[d++]-j[1])*O[1],k.data[g]=(p.data[T++]-j[2])*O[2],k.data[v]=re===-1?255:(p.data[re++]-j[3])*O[3]}return k}},
vendor: 84 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/tensor-conversion.js":(c,n,s)=>{s.r(n)},
vendor: 4,233 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/tensor-factory-impl.js":(c,n,s)=>{s.r(n),s.d(n,{bufferToTensor:()=>f,tensorFromGpuBuffer:()=>b,tensorFromImage:()=>p,tensorFromMLTensor:()=>k,tensorFromPinnedBuffer:()=>E,tensorFromTexture:()=>C});var o=s("./node_modules/onnxruntime-common/dist/esm/tensor-impl.js");const f=(B,G)=>{if(B===void 0)throw new Error("Image buffer must be defined");if(G.height===void 0||G.width===void 0)throw new Error("Image height and width must be defined");if(G.tensorLayout==="NHWC")throw new Error("NHWC Tensor layout is not supported yet");const{height:D,width:_}=G,O=G.norm??{mean:255,bias:0};let j,U;j=typeof O.mean=="number"?[O.mean,O.mean,O.mean,O.mean]:[O.mean[0],O.mean[1],O.mean[2],O.mean[3]??255],U=typeof O.bias=="number"?[O.bias,O.bias,O.bias,O.bias]:[O.bias[0],O.bias[1],O.bias[2],O.bias[3]??0];const H=G.format!==void 0?G.format:"RGBA",Z=G.tensorFormat!==void 0&&G.tensorFormat!==void 0?G.tensorFormat:"RGB",X=D*_,g=Z==="RGBA"?new Float32Array(4*X):new Float32Array(3*X);let v=4,e=0,d=1,T=2,re=3,N=0,F=X,Ce=2*X,he=-1;H==="RGB"&&(v=3,e=0,d=1,T=2,re=-1),Z==="RGBA"?he=3*X:Z==="RBG"?(N=0,Ce=X,F=2*X):Z==="BGR"&&(Ce=0,F=X,N=2*X);for(let ce=0;ce<X;ce++,e+=v,T+=v,d+=v,re+=v)g[N++]=(B[e]+U[0])/j[0],g[F++]=(B[d]+U[1])/j[1],g[Ce++]=(B[T]+U[2])/j[2],he!==-1&&re!==-1&&(g[he++]=(B[re]+U[3])/j[3]);return Z==="RGBA"?new o.Tensor("float32",g,[1,4,D,_]):new o.Tensor("float32",g,[1,3,D,_])},p=async(B,G)=>{const D=typeof HTMLImageElement<"u"&&B instanceof HTMLImageElement,_=typeof ImageData<"u"&&B instanceof ImageData,O=typeof ImageBitmap<"u"&&B instanceof ImageBitmap,j=typeof B=="string";let U,H=G??{};const Z=()=>{if(typeof document<"u")return document.createElement("canvas");if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(1,1);throw new Error("Canvas is not supported")},X=g=>typeof HTMLCanvasElement<"u"&&g instanceof HTMLCanvasElement||g instanceof OffscreenCanvas?g.getContext("2d"):null;if(D){const g=Z();g.width=B.width,g.height=B.height;const v=X(g);if(v==null)throw new Error("Can not access image data");{let e=B.height,d=B.width;if(G!==void 0&&G.resizedHeight!==void 0&&G.resizedWidth!==void 0&&(e=G.resizedHeight,d=G.resizedWidth),G!==void 0){if(H=G,G.tensorFormat!==void 0)throw new Error("Image input config format must be RGBA for HTMLImageElement");H.tensorFormat="RGBA",H.height=e,H.width=d}else H.tensorFormat="RGBA",H.height=e,H.width=d;v.drawImage(B,0,0),U=v.getImageData(0,0,d,e).data}}else{if(!_){if(O){if(G===void 0)throw new Error("Please provide image config with format for Imagebitmap");const g=Z();g.width=B.width,g.height=B.height;const v=X(g);if(v!=null){const e=B.height,d=B.width;return v.drawImage(B,0,0,d,e),U=v.getImageData(0,0,d,e).data,H.height=e,H.width=d,f(U,H)}throw new Error("Can not access image data")}if(j)return new Promise((g,v)=>{const e=Z(),d=X(e);if(!B||!d)return v();const T=new Image;T.crossOrigin="Anonymous",T.src=B,T.onload=()=>{e.width=T.width,e.height=T.height,d.drawImage(T,0,0,e.width,e.height);const re=d.getImageData(0,0,e.width,e.height);H.height=e.height,H.width=e.width,g(f(re.data,H))}});throw new Error("Input data provided is not supported - aborted tensor creation")}{let g,v;if(G!==void 0&&G.resizedWidth!==void 0&&G.resizedHeight!==void 0?(g=G.resizedHeight,v=G.resizedWidth):(g=B.height,v=B.width),G!==void 0&&(H=G),H.format="RGBA",H.height=g,H.width=v,G!==void 0){const e=Z();e.width=v,e.height=g;const d=X(e);if(d==null)throw new Error("Can not access image data");d.putImageData(B,0,0),U=d.getImageData(0,0,v,g).data}else U=B.data}}if(U!==void 0)return f(U,H);throw new Error("Input data provided is not supported - aborted tensor creation")},C=(B,G)=>{const{width:D,height:_,download:O,dispose:j}=G,U=[1,_,D,4];return new o.Tensor({location:"texture",type:"float32",texture:B,dims:U,download:O,dispose:j})},b=(B,G)=>{const{dataType:D,dims:_,download:O,dispose:j}=G;return new o.Tensor({location:"gpu-buffer",type:D??"float32",gpuBuffer:B,dims:_,download:O,dispose:j})},k=(B,G)=>{const{dataType:D,dims:_,download:O,dispose:j}=G;return new o.Tensor({location:"ml-tensor",type:D??"float32",mlTensor:B,dims:_,download:O,dispose:j})},E=(B,G,D)=>new o.Tensor({location:"cpu-pinned",type:B,data:G,dims:D??[G.length]})},
vendor: 81 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/tensor-factory.js":(c,n,s)=>{s.r(n)},
vendor: 1,065 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/tensor-impl-type-mapping.js":(c,n,s)=>{s.r(n),s.d(n,{NUMERIC_TENSOR_TYPEDARRAY_TO_TYPE_MAP:()=>f,NUMERIC_TENSOR_TYPE_TO_TYPEDARRAY_MAP:()=>o,checkTypedArray:()=>C});const o=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array],["int4",Uint8Array],["uint4",Uint8Array]]),f=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]);let p=!1;const C=()=>{if(!p){p=!0;const b=typeof BigInt64Array<"u"&&BigInt64Array.from,k=typeof BigUint64Array<"u"&&BigUint64Array.from,E=typeof Float16Array<"u"&&Float16Array.from;b&&(o.set("int64",BigInt64Array),f.set(BigInt64Array,"int64")),k&&(o.set("uint64",BigUint64Array),f.set(BigUint64Array,"uint64")),E?(o.set("float16",Float16Array),f.set(Float16Array,"float16")):o.set("float16",Uint16Array)}}},
vendor: 5,796 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/tensor-impl.js":(c,n,s)=>{s.r(n),s.d(n,{Tensor:()=>b});var o=s("./node_modules/onnxruntime-common/dist/esm/tensor-conversion-impl.js"),f=s("./node_modules/onnxruntime-common/dist/esm/tensor-factory-impl.js"),p=s("./node_modules/onnxruntime-common/dist/esm/tensor-impl-type-mapping.js"),C=s("./node_modules/onnxruntime-common/dist/esm/tensor-utils-impl.js");class b{constructor(E,B,G){let D,_;if((0,p.checkTypedArray)(),typeof E=="object"&&"location"in E)switch(this.dataLocation=E.location,D=E.type,_=E.dims,E.location){case"cpu-pinned":{const j=p.NUMERIC_TENSOR_TYPE_TO_TYPEDARRAY_MAP.get(D);if(!j)throw new TypeError(`unsupported type "${D}" to create tensor from pinned buffer`);if(!(E.data instanceof j))throw new TypeError(`buffer should be of type ${j.name}`);this.cpuData=E.data;break}case"texture":if(D!=="float32")throw new TypeError(`unsupported type "${D}" to create tensor from texture`);this.gpuTextureData=E.texture,this.downloader=E.download,this.disposer=E.dispose;break;case"gpu-buffer":if(D!=="float32"&&D!=="float16"&&D!=="int32"&&D!=="int64"&&D!=="uint32"&&D!=="uint8"&&D!=="bool"&&D!=="uint4"&&D!=="int4")throw new TypeError(`unsupported type "${D}" to create tensor from gpu buffer`);this.gpuBufferData=E.gpuBuffer,this.downloader=E.download,this.disposer=E.dispose;break;case"ml-tensor":if(D!=="float32"&&D!=="float16"&&D!=="int32"&&D!=="int64"&&D!=="uint32"&&D!=="uint64"&&D!=="int8"&&D!=="uint8"&&D!=="bool")throw new TypeError(`unsupported type "${D}" to create tensor from MLTensor`);this.mlTensorData=E.mlTensor,this.downloader=E.download,this.disposer=E.dispose;break;default:throw new Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let j,U;if(typeof E=="string")if(D=E,U=G,E==="string"){if(!Array.isArray(B))throw new TypeError("A string tensor's data must be a string array.");j=B}else{const H=p.NUMERIC_TENSOR_TYPE_TO_TYPEDARRAY_MAP.get(E);if(H===void 0)throw new TypeError(`Unsupported tensor type: ${E}.`);if(Array.isArray(B)){if(E==="float16"&&H===Uint16Array||E==="uint4"||E==="int4")throw new TypeError(`Creating a ${E} tensor from number array is not supported. Please use ${H.name} as data.`);j=E==="uint64"||E==="int64"?H.from(B,BigInt):H.from(B)}else if(B instanceof H)j=B;else{if(!(B instanceof Uint8ClampedArray))throw new TypeError(`A ${D} tensor's data must be type of ${H}`);if(E!=="uint8")throw new TypeError("A Uint8ClampedArray tensor's data must be type of uint8");j=Uint8Array.from(B)}}else if(U=B,Array.isArray(E)){if(E.length===0)throw new TypeError("Tensor type cannot be inferred from an empty array.");const H=typeof E[0];if(H==="string")D="string",j=E;else{if(H!=="boolean")throw new TypeError(`Invalid element type of data array: ${H}.`);D="bool",j=Uint8Array.from(E)}}else if(E instanceof Uint8ClampedArray)D="uint8",j=Uint8Array.from(E);else{const H=p.NUMERIC_TENSOR_TYPEDARRAY_TO_TYPE_MAP.get(E.constructor);if(H===void 0)throw new TypeError(`Unsupported type for tensor data: ${E.constructor}.`);D=H,j=E}if(U===void 0)U=[j.length];else if(!Array.isArray(U))throw new TypeError("A tensor's dims must be a number array");_=U,this.cpuData=j,this.dataLocation="cpu"}const O=(0,C.calculateSize)(_);if(this.cpuData&&O!==this.cpuData.length&&(D!=="uint4"&&D!=="int4"||Math.ceil(O/2)!==this.cpuData.length))throw new Error(`Tensor's size(${O}) does not match data length(${this.cpuData.length}).`);this.type=D,this.dims=_,this.size=O}static async fromImage(E,B){return(0,f.tensorFromImage)(E,B)}static fromTexture(E,B){return(0,f.tensorFromTexture)(E,B)}static fromGpuBuffer(E,B){return(0,f.tensorFromGpuBuffer)(E,B)}static fromMLTensor(E,B){return(0,f.tensorFromMLTensor)(E,B)}static fromPinnedBuffer(E,B,G){return(0,f.tensorFromPinnedBuffer)(E,B,G)}toDataURL(E){return(0,o.tensorToDataURL)(this,E)}toImageData(E){return(0,o.tensorToImageData)(this,E)}get data(){if(this.ensureValid(),!this.cpuData)throw new 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 new Error("The data is not stored as a WebGL texture.");return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw new Error("The data is not stored as a WebGPU buffer.");return this.gpuBufferData}get mlTensor(){if(this.ensureValid(),!this.mlTensorData)throw new 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 new Error("The current tensor is not created with a specified data downloader.");if(this.isDownloading)throw new Error("The current tensor is being downloaded.");try{this.isDownloading=!0;const B=await this.downloader();return this.downloader=void 0,this.dataLocation="cpu",this.cpuData=B,E&&this.disposer&&(this.disposer(),this.disposer=void 0),B}finally{this.isDownloading=!1}default:throw new Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw new Error("The current tensor is being downloaded.");this.disposer&&(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 new Error("The tensor is disposed.")}reshape(E){if(this.ensureValid(),this.downloader||this.disposer)throw new Error("Cannot reshape a tensor that owns GPU resource.");return(0,C.tensorReshape)(this,E)}}},
vendor: 1,029 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/tensor-utils-impl.js":(c,n,s)=>{s.r(n),s.d(n,{calculateSize:()=>f,tensorReshape:()=>p});var o=s("./node_modules/onnxruntime-common/dist/esm/tensor-impl.js");const f=C=>{let b=1;for(let k=0;k<C.length;k++){const E=C[k];if(typeof E!="number"||!Number.isSafeInteger(E))throw new TypeError(`dims[${k}] must be an integer, got: ${E}`);if(E<0)throw new RangeError(`dims[${k}] must be a non-negative integer, got: ${E}`);b*=E}return b},p=(C,b)=>{switch(C.location){case"cpu":return new o.Tensor(C.type,C.data,b);case"cpu-pinned":return new o.Tensor({location:"cpu-pinned",data:C.data,type:C.type,dims:b});case"texture":return new o.Tensor({location:"texture",texture:C.texture,type:C.type,dims:b});case"gpu-buffer":return new o.Tensor({location:"gpu-buffer",gpuBuffer:C.gpuBuffer,type:C.type,dims:b});case"ml-tensor":return new o.Tensor({location:"ml-tensor",mlTensor:C.mlTensor,type:C.type,dims:b});default:throw new Error(`tensorReshape: tensor location ${C.location} is not supported`)}}},
vendor: 173 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/tensor.js":(c,n,s)=>{s.r(n),s.d(n,{Tensor:()=>o});const o=s("./node_modules/onnxruntime-common/dist/esm/tensor-impl.js").Tensor},
vendor: 741 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/trace.js":(c,n,s)=>{s.r(n),s.d(n,{TRACE:()=>f,TRACE_FUNC_BEGIN:()=>C,TRACE_FUNC_END:()=>b});var o=s("./node_modules/onnxruntime-common/dist/esm/env-impl.js");const f=(k,E)=>{(o.env.trace===void 0?o.env.wasm.trace:o.env.trace)&&console.timeStamp(`${k}::ORT::${E}`)},p=(k,E)=>{var D;const B=((D=new Error().stack)==null?void 0:D.split(/\r\n|\r|\n/g))||[];let G=!1;for(let _=0;_<B.length;_++){if(G&&!B[_].includes("TRACE_FUNC")){let O=`FUNC_${k}::${B[_].trim().split(" ")[1]}`;return E&&(O+=`::${E}`),void f("CPU",O)}B[_].includes("TRACE_FUNC")&&(G=!0)}},C=k=>{(o.env.trace===void 0?o.env.wasm.trace:o.env.trace)&&p("BEGIN",k)},b=k=>{(o.env.trace===void 0?o.env.wasm.trace:o.env.trace)&&p("END",k)}},
vendor: 3,969 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/training-session-impl.js":(c,n,s)=>{s.r(n),s.d(n,{TrainingSession:()=>p});var o=s("./node_modules/onnxruntime-common/dist/esm/backend-impl.js"),f=s("./node_modules/onnxruntime-common/dist/esm/tensor.js");class p{constructor(b,k,E){this.handler=b,this.hasOptimizerModel=k,this.hasEvalModel=E}get trainingInputNames(){return this.handler.inputNames}get trainingOutputNames(){return this.handler.outputNames}get evalInputNames(){if(this.hasEvalModel)return this.handler.evalInputNames;throw new Error("This training session has no evalModel loaded.")}get evalOutputNames(){if(this.hasEvalModel)return this.handler.evalOutputNames;throw new Error("This training session has no evalModel loaded.")}static async create(b,k){const E=b.evalModel||"",B=b.optimizerModel||"",G=k||{},[D,_]=await(0,o.resolveBackendAndExecutionProviders)(G);if(D.createTrainingSessionHandler){const O=await D.createTrainingSessionHandler(b.checkpointState,b.trainModel,E,B,_);return new p(O,!!b.optimizerModel,!!b.evalModel)}throw new Error("Training backend could not be resolved. Make sure you're using the correct configuration & WebAssembly files.")}typeNarrowingForRunStep(b,k,E,B,G){const D={};let _={};if(typeof E!="object"||E===null||E instanceof f.Tensor||Array.isArray(E))throw new TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let O=!0;if(typeof B=="object"){if(B===null)throw new TypeError("Unexpected argument[1]: cannot be null.");if(B instanceof f.Tensor)throw new TypeError("'fetches' cannot be a Tensor");if(Array.isArray(B)){if(B.length===0)throw new TypeError("'fetches' cannot be an empty array.");O=!1;for(const j of B){if(typeof j!="string")throw new TypeError("'fetches' must be a string array or an object.");if(k.indexOf(j)===-1)throw new RangeError(`'fetches' contains invalid output name: ${j}.`);D[j]=null}if(typeof G=="object"&&G!==null)_=G;else if(G!==void 0)throw new TypeError("'options' must be an object.")}else{let j=!1;const U=Object.getOwnPropertyNames(B);for(const H of k)if(U.indexOf(H)!==-1){const Z=B[H];(Z===null||Z instanceof f.Tensor)&&(j=!0,O=!1,D[H]=Z)}if(j){if(typeof G=="object"&&G!==null)_=G;else if(G!==void 0)throw new TypeError("'options' must be an object.")}else _=B}}else if(B!==void 0)throw new TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(const j of b)if(E[j]===void 0)throw new Error(`input '${j}' is missing in 'feeds'.`);if(O)for(const j of k)D[j]=null;return[D,_]}convertHandlerReturnTypeToMapOfTensors(b){const k={};for(const E in b)if(Object.hasOwnProperty.call(b,E)){const B=b[E];B instanceof f.Tensor?k[E]=B:k[E]=new f.Tensor(B.type,B.data,B.dims)}return k}async lazyResetGrad(){await this.handler.lazyResetGrad()}async runTrainStep(b,k,E){const[B,G]=this.typeNarrowingForRunStep(this.trainingInputNames,this.trainingOutputNames,b,k,E),D=await this.handler.runTrainStep(b,B,G);return this.convertHandlerReturnTypeToMapOfTensors(D)}async runOptimizerStep(b){if(!this.hasOptimizerModel)throw new Error("This TrainingSession has no OptimizerModel loaded.");await this.handler.runOptimizerStep(b||{})}async runEvalStep(b,k,E){if(this.hasEvalModel){const[B,G]=this.typeNarrowingForRunStep(this.evalInputNames,this.evalOutputNames,b,k,E),D=await this.handler.runEvalStep(b,B,G);return this.convertHandlerReturnTypeToMapOfTensors(D)}throw new Error("This TrainingSession has no EvalModel loaded.")}async getParametersSize(b=!0){return this.handler.getParametersSize(b)}async loadParametersBuffer(b,k=!0){const E=await this.getParametersSize(k);if(b.length!==4*E)throw new Error("Size of the buffer passed into loadParametersBuffer must match the number of parameters in the model. Please use getParametersSize method to check.");return this.handler.loadParametersBuffer(b,k)}async getContiguousParameters(b=!0){return this.handler.getContiguousParameters(b)}async release(){return this.handler.dispose()}}},
vendor: 211 bytes, line 81
81"./node_modules/onnxruntime-common/dist/esm/training-session.js":(c,n,s)=>{s.r(n),s.d(n,{TrainingSession:()=>o});const o=s("./node_modules/onnxruntime-common/dist/esm/training-session-impl.js").TrainingSession},
vendor: 396,978 bytes, lines 81-2803
81"./node_modules/onnxruntime-common/dist/esm/version.js":(c,n,s)=>{s.r(n),s.d(n,{version:()=>o});const o="1.20.1"},"./node_modules/onnxruntime-web/dist/ort.bundle.min.mjs?3a96":(c,n,s)=>{s.r(n),s.d(n,{InferenceSession:()=>Ue,TRACE:()=>Ce,TRACE_FUNC_BEGIN:()=>ce,TRACE_FUNC_END:()=>ge,Tensor:()=>F,default:()=>K3,env:()=>G,registerBackend:()=>p});var o,f,p,C,b,k,E,B,G,D,_,O,j,U,H,Z,X,g,v,e,d,T,re,N,F,Ce,he,ce,ge,Me,Ue,Ne=Object.defineProperty,de=Object.getOwnPropertyDescriptor,me=Object.getOwnPropertyNames,we=Object.prototype.hasOwnProperty,_e=(u=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(u,{get:(I,x)=>(typeof require<"u"?require:I)[x]}):u)(function(u){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+u+'" is not supported')}),pe=(u,I)=>()=>(u&&(I=u(u=0)),I),it=(u,I)=>{for(var x in I)Ne(u,x,{get:I[x],enumerable:!0})},We=u=>((I,x,S,L)=>{if(x&&typeof x=="object"||typeof x=="function")for(let W of me(x))!we.call(I,W)&&W!==S&&Ne(I,W,{get:()=>x[W],enumerable:!(L=de(x,W))||L.enumerable});return I})(Ne({},"__esModule",{value:!0}),u),ot=pe(()=>{o=new Map,f=[],p=(u,I,x)=>{if(!I||typeof I.init!="function"||typeof I.createInferenceSessionHandler!="function")throw new TypeError("not a valid backend");{let S=o.get(u);if(S===void 0)o.set(u,{backend:I,priority:x});else{if(S.priority>x)return;if(S.priority===x&&S.backend!==I)throw new Error(`cannot register backend "${u}" using priority ${x}`)}if(x>=0){let L=f.indexOf(u);L!==-1&&f.splice(L,1);for(let W=0;W<f.length;W++)if(o.get(f[W]).priority<=x)return void f.splice(W,0,u);f.push(u)}}},C=async u=>{let I=o.get(u);if(!I)return"backend not found.";if(I.initialized)return I.backend;if(I.aborted)return I.error;{let x=!!I.initPromise;try{return x||(I.initPromise=I.backend.init(u)),await I.initPromise,I.initialized=!0,I.backend}catch(S){return x||(I.error=`${S}`,I.aborted=!0),I.error}finally{delete I.initPromise}}},b=async u=>{let I,x=u.executionProviders||[],S=x.map(se=>typeof se=="string"?se:se.name),L=S.length===0?f:S,W=[],Y=new Set;for(let se of L){let ne=await C(se);typeof ne=="string"?W.push({name:se,err:ne}):(I||(I=ne),I===ne&&Y.add(se))}if(!I)throw new Error(`no available backend found. ERR: ${W.map(se=>`[${se.name}] ${se.err}`).join(", ")}`);for(let{name:se,err:ne}of W)S.includes(se)&&console.warn(`removing requested execution provider "${se}" from session options because it is not available: ${ne}`);let Ae=x.filter(se=>Y.has(typeof se=="string"?se:se.name));return[I,new Proxy(u,{get:(se,ne)=>ne==="executionProviders"?Ae:Reflect.get(se,ne)})]}}),pt=pe(()=>{ot()}),ct=pe(()=>{k="1.21.0-dev.20250206-d981b153d3"}),Re=pe(()=>{ct(),E="warning",B={wasm:{},webgl:{},webgpu:{},versions:{common:k},set logLevel(u){if(u!==void 0){if(typeof u!="string"||["verbose","info","warning","error","fatal"].indexOf(u)===-1)throw new Error(`Unsupported logging level: ${u}`);E=u}},get logLevel(){return E}},Object.defineProperty(B,"logLevel",{enumerable:!0})}),tt=pe(()=>{Re(),G=B}),It=pe(()=>{D=(u,I)=>{let x=typeof document<"u"?document.createElement("canvas"):new OffscreenCanvas(1,1);x.width=u.dims[3],x.height=u.dims[2];let S=x.getContext("2d");if(S!=null){let L,W;(I==null?void 0:I.tensorLayout)!==void 0&&I.tensorLayout==="NHWC"?(L=u.dims[2],W=u.dims[3]):(L=u.dims[3],W=u.dims[2]);let Y,Ae,se=(I==null?void 0:I.format)!==void 0?I.format:"RGB",ne=I==null?void 0:I.norm;ne===void 0||ne.mean===void 0?Y=[255,255,255,255]:typeof ne.mean=="number"?Y=[ne.mean,ne.mean,ne.mean,ne.mean]:(Y=[ne.mean[0],ne.mean[1],ne.mean[2],0],ne.mean[3]!==void 0&&(Y[3]=ne.mean[3])),ne===void 0||ne.bias===void 0?Ae=[0,0,0,0]:typeof ne.bias=="number"?Ae=[ne.bias,ne.bias,ne.bias,ne.bias]:(Ae=[ne.bias[0],ne.bias[1],ne.bias[2],0],ne.bias[3]!==void 0&&(Ae[3]=ne.bias[3]));let ve=W*L,Ee=0,te=ve,Ge=2*ve,Fe=-1;se==="RGBA"?(Ee=0,te=ve,Ge=2*ve,Fe=3*ve):se==="RGB"?(Ee=0,te=ve,Ge=2*ve):se==="RBG"&&(Ee=0,Ge=ve,te=2*ve);for(let Ke=0;Ke<W;Ke++)for(let Ye=0;Ye<L;Ye++){let et=(u.data[Ee++]-Ae[0])*Y[0],ft=(u.data[te++]-Ae[1])*Y[1],bt=(u.data[Ge++]-Ae[2])*Y[2],Mt=Fe===-1?255:(u.data[Fe++]-Ae[3])*Y[3];S.fillStyle="rgba("+et+","+ft+","+bt+","+Mt+")",S.fillRect(Ye,Ke,1,1)}if("toDataURL"in x)return x.toDataURL();throw new Error("toDataURL is not supported")}throw new Error("Can not access image data")},_=(u,I)=>{let x,S=typeof document<"u"?document.createElement("canvas").getContext("2d"):new OffscreenCanvas(1,1).getContext("2d");if(S==null)throw new Error("Can not access image data");{let L,W,Y;(I==null?void 0:I.tensorLayout)!==void 0&&I.tensorLayout==="NHWC"?(L=u.dims[2],W=u.dims[1],Y=u.dims[3]):(L=u.dims[3],W=u.dims[2],Y=u.dims[1]);let Ae,se,ne=I!==void 0&&I.format!==void 0?I.format:"RGB",ve=I==null?void 0:I.norm;ve===void 0||ve.mean===void 0?Ae=[255,255,255,255]:typeof ve.mean=="number"?Ae=[ve.mean,ve.mean,ve.mean,ve.mean]:(Ae=[ve.mean[0],ve.mean[1],ve.mean[2],255],ve.mean[3]!==void 0&&(Ae[3]=ve.mean[3])),ve===void 0||ve.bias===void 0?se=[0,0,0,0]:typeof ve.bias=="number"?se=[ve.bias,ve.bias,ve.bias,ve.bias]:(se=[ve.bias[0],ve.bias[1],ve.bias[2],0],ve.bias[3]!==void 0&&(se[3]=ve.bias[3]));let Ee=W*L;if(I!==void 0&&(I.format!==void 0&&Y===4&&I.format!=="RGBA"||Y===3&&I.format!=="RGB"&&I.format!=="BGR"))throw new Error("Tensor format doesn't match input tensor dims");let te=4,Ge=0,Fe=1,Ke=2,Ye=3,et=0,ft=Ee,bt=2*Ee,Mt=-1;ne==="RGBA"?(et=0,ft=Ee,bt=2*Ee,Mt=3*Ee):ne==="RGB"?(et=0,ft=Ee,bt=2*Ee):ne==="RBG"&&(et=0,bt=Ee,ft=2*Ee),x=S.createImageData(L,W);for(let Dt=0;Dt<W*L;Ge+=te,Fe+=te,Ke+=te,Ye+=te,Dt++)x.data[Ge]=(u.data[et++]-se[0])*Ae[0],x.data[Fe]=(u.data[ft++]-se[1])*Ae[1],x.data[Ke]=(u.data[bt++]-se[2])*Ae[2],x.data[Ye]=Mt===-1?255:(u.data[Mt++]-se[3])*Ae[3]}return x}}),wt=pe(()=>{Bt(),O=(u,I)=>{if(u===void 0)throw new Error("Image buffer must be defined");if(I.height===void 0||I.width===void 0)throw new Error("Image height and width must be defined");if(I.tensorLayout==="NHWC")throw new Error("NHWC Tensor layout is not supported yet");let x,S,{height:L,width:W}=I,Y=I.norm??{mean:255,bias:0};x=typeof Y.mean=="number"?[Y.mean,Y.mean,Y.mean,Y.mean]:[Y.mean[0],Y.mean[1],Y.mean[2],Y.mean[3]??255],S=typeof Y.bias=="number"?[Y.bias,Y.bias,Y.bias,Y.bias]:[Y.bias[0],Y.bias[1],Y.bias[2],Y.bias[3]??0];let Ae=I.format!==void 0?I.format:"RGBA",se=I.tensorFormat!==void 0&&I.tensorFormat!==void 0?I.tensorFormat:"RGB",ne=L*W,ve=se==="RGBA"?new Float32Array(4*ne):new Float32Array(3*ne),Ee=4,te=0,Ge=1,Fe=2,Ke=3,Ye=0,et=ne,ft=2*ne,bt=-1;Ae==="RGB"&&(Ee=3,te=0,Ge=1,Fe=2,Ke=-1),se==="RGBA"?bt=3*ne:se==="RBG"?(Ye=0,ft=ne,et=2*ne):se==="BGR"&&(ft=0,et=ne,Ye=2*ne);for(let Mt=0;Mt<ne;Mt++,te+=Ee,Fe+=Ee,Ge+=Ee,Ke+=Ee)ve[Ye++]=(u[te]+S[0])/x[0],ve[et++]=(u[Ge]+S[1])/x[1],ve[ft++]=(u[Fe]+S[2])/x[2],bt!==-1&&Ke!==-1&&(ve[bt++]=(u[Ke]+S[3])/x[3]);return new N("float32",ve,se==="RGBA"?[1,4,L,W]:[1,3,L,W])},j=async(u,I)=>{let x,S=typeof HTMLImageElement<"u"&&u instanceof HTMLImageElement,L=typeof ImageData<"u"&&u instanceof ImageData,W=typeof ImageBitmap<"u"&&u instanceof ImageBitmap,Y=typeof u=="string",Ae=I??{},se=()=>{if(typeof document<"u")return document.createElement("canvas");if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(1,1);throw new Error("Canvas is not supported")},ne=ve=>typeof HTMLCanvasElement<"u"&&ve instanceof HTMLCanvasElement||ve instanceof OffscreenCanvas?ve.getContext("2d"):null;if(S){let ve=se();ve.width=u.width,ve.height=u.height;let Ee=ne(ve);if(Ee==null)throw new Error("Can not access image data");{let te=u.height,Ge=u.width;if(I!==void 0&&I.resizedHeight!==void 0&&I.resizedWidth!==void 0&&(te=I.resizedHeight,Ge=I.resizedWidth),I!==void 0){if(Ae=I,I.tensorFormat!==void 0)throw new Error("Image input config format must be RGBA for HTMLImageElement");Ae.tensorFormat="RGBA",Ae.height=te,Ae.width=Ge}else Ae.tensorFormat="RGBA",Ae.height=te,Ae.width=Ge;Ee.drawImage(u,0,0),x=Ee.getImageData(0,0,Ge,te).data}}else{if(!L){if(W){if(I===void 0)throw new Error("Please provide image config with format for Imagebitmap");let ve=se();ve.width=u.width,ve.height=u.height;let Ee=ne(ve);if(Ee!=null){let te=u.height,Ge=u.width;return Ee.drawImage(u,0,0,Ge,te),x=Ee.getImageData(0,0,Ge,te).data,Ae.height=te,Ae.width=Ge,O(x,Ae)}throw new Error("Can not access image data")}if(Y)return new Promise((ve,Ee)=>{let te=se(),Ge=ne(te);if(!u||!Ge)return Ee();let Fe=new Image;Fe.crossOrigin="Anonymous",Fe.src=u,Fe.onload=()=>{te.width=Fe.width,te.height=Fe.height,Ge.drawImage(Fe,0,0,te.width,te.height);let Ke=Ge.getImageData(0,0,te.width,te.height);Ae.height=te.height,Ae.width=te.width,ve(O(Ke.data,Ae))}});throw new Error("Input data provided is not supported - aborted tensor creation")}{let ve,Ee;if(I!==void 0&&I.resizedWidth!==void 0&&I.resizedHeight!==void 0?(ve=I.resizedHeight,Ee=I.resizedWidth):(ve=u.height,Ee=u.width),I!==void 0&&(Ae=I),Ae.format="RGBA",Ae.height=ve,Ae.width=Ee,I!==void 0){let te=se();te.width=Ee,te.height=ve;let Ge=ne(te);if(Ge==null)throw new Error("Can not access image data");Ge.putImageData(u,0,0),x=Ge.getImageData(0,0,Ee,ve).data}else x=u.data}}if(x!==void 0)return O(x,Ae);throw new Error("Input data provided is not supported - aborted tensor creation")},U=(u,I)=>{let{width:x,height:S,download:L,dispose:W}=I;return new N({location:"texture",type:"float32",texture:u,dims:[1,S,x,4],download:L,dispose:W})},H=(u,I)=>{let{dataType:x,dims:S,download:L,dispose:W}=I;return new N({location:"gpu-buffer",type:x??"float32",gpuBuffer:u,dims:S,download:L,dispose:W})},Z=(u,I)=>{let{dataType:x,dims:S,download:L,dispose:W}=I;return new N({location:"ml-tensor",type:x??"float32",mlTensor:u,dims:S,download:L,dispose:W})},X=(u,I,x)=>new N({location:"cpu-pinned",type:u,data:I,dims:x??[I.length]})}),ze=pe(()=>{g=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array],["int4",Uint8Array],["uint4",Uint8Array]]),v=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]),e=!1,d=()=>{if(!e){e=!0;let u=typeof BigInt64Array<"u"&&BigInt64Array.from,I=typeof BigUint64Array<"u"&&BigUint64Array.from,x=typeof Float16Array<"u"&&Float16Array.from;u&&(g.set("int64",BigInt64Array),v.set(BigInt64Array,"int64")),I&&(g.set("uint64",BigUint64Array),v.set(BigUint64Array,"uint64")),x?(g.set("float16",Float16Array),v.set(Float16Array,"float16")):g.set("float16",Uint16Array)}}}),At=pe(()=>{Bt(),T=u=>{let I=1;for(let x=0;x<u.length;x++){let S=u[x];if(typeof S!="number"||!Number.isSafeInteger(S))throw new TypeError(`dims[${x}] must be an integer, got: ${S}`);if(S<0)throw new RangeError(`dims[${x}] must be a non-negative integer, got: ${S}`);I*=S}return I},re=(u,I)=>{switch(u.location){case"cpu":return new N(u.type,u.data,I);case"cpu-pinned":return new N({location:"cpu-pinned",data:u.data,type:u.type,dims:I});case"texture":return new N({location:"texture",texture:u.texture,type:u.type,dims:I});case"gpu-buffer":return new N({location:"gpu-buffer",gpuBuffer:u.gpuBuffer,type:u.type,dims:I});case"ml-tensor":return new N({location:"ml-tensor",mlTensor:u.mlTensor,type:u.type,dims:I});default:throw new Error(`tensorReshape: tensor location ${u.location} is not supported`)}}}),Bt=pe(()=>{It(),wt(),ze(),At(),N=class{constructor(u,I,x){let S,L;if(d(),typeof u=="object"&&"location"in u)switch(this.dataLocation=u.location,S=u.type,L=u.dims,u.location){case"cpu-pinned":{let Y=g.get(S);if(!Y)throw new TypeError(`unsupported type "${S}" to create tensor from pinned buffer`);if(!(u.data instanceof Y))throw new TypeError(`buffer should be of type ${Y.name}`);this.cpuData=u.data;break}case"texture":if(S!=="float32")throw new TypeError(`unsupported type "${S}" to create tensor from texture`);this.gpuTextureData=u.texture,this.downloader=u.download,this.disposer=u.dispose;break;case"gpu-buffer":if(S!=="float32"&&S!=="float16"&&S!=="int32"&&S!=="int64"&&S!=="uint32"&&S!=="uint8"&&S!=="bool"&&S!=="uint4"&&S!=="int4")throw new TypeError(`unsupported type "${S}" to create tensor from gpu buffer`);this.gpuBufferData=u.gpuBuffer,this.downloader=u.download,this.disposer=u.dispose;break;case"ml-tensor":if(S!=="float32"&&S!=="float16"&&S!=="int32"&&S!=="int64"&&S!=="uint32"&&S!=="uint64"&&S!=="int8"&&S!=="uint8"&&S!=="bool"&&S!=="uint4"&&S!=="int4")throw new TypeError(`unsupported type "${S}" to create tensor from MLTensor`);this.mlTensorData=u.mlTensor,this.downloader=u.download,this.disposer=u.dispose;break;default:throw new Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let Y,Ae;if(typeof u=="string")if(S=u,Ae=x,u==="string"){if(!Array.isArray(I))throw new TypeError("A string tensor's data must be a string array.");Y=I}else{let se=g.get(u);if(se===void 0)throw new TypeError(`Unsupported tensor type: ${u}.`);if(Array.isArray(I)){if(u==="float16"&&se===Uint16Array||u==="uint4"||u==="int4")throw new TypeError(`Creating a ${u} tensor from number array is not supported. Please use ${se.name} as data.`);Y=u==="uint64"||u==="int64"?se.from(I,BigInt):se.from(I)}else if(I instanceof se)Y=I;else{if(!(I instanceof Uint8ClampedArray))throw new TypeError(`A ${S} tensor's data must be type of ${se}`);if(u!=="uint8")throw new TypeError("A Uint8ClampedArray tensor's data must be type of uint8");Y=Uint8Array.from(I)}}else if(Ae=I,Array.isArray(u)){if(u.length===0)throw new TypeError("Tensor type cannot be inferred from an empty array.");let se=typeof u[0];if(se==="string")S="string",Y=u;else{if(se!=="boolean")throw new TypeError(`Invalid element type of data array: ${se}.`);S="bool",Y=Uint8Array.from(u)}}else if(u instanceof Uint8ClampedArray)S="uint8",Y=Uint8Array.from(u);else{let se=v.get(u.constructor);if(se===void 0)throw new TypeError(`Unsupported type for tensor data: ${u.constructor}.`);S=se,Y=u}if(Ae===void 0)Ae=[Y.length];else if(!Array.isArray(Ae))throw new TypeError("A tensor's dims must be a number array");L=Ae,this.cpuData=Y,this.dataLocation="cpu"}let W=T(L);if(this.cpuData&&W!==this.cpuData.length&&(S!=="uint4"&&S!=="int4"||Math.ceil(W/2)!==this.cpuData.length))throw new Error(`Tensor's size(${W}) does not match data length(${this.cpuData.length}).`);this.type=S,this.dims=L,this.size=W}static async fromImage(u,I){return j(u,I)}static fromTexture(u,I){return U(u,I)}static fromGpuBuffer(u,I){return H(u,I)}static fromMLTensor(u,I){return Z(u,I)}static fromPinnedBuffer(u,I,x){return X(u,I,x)}toDataURL(u){return D(this,u)}toImageData(u){return _(this,u)}get data(){if(this.ensureValid(),!this.cpuData)throw new 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 new Error("The data is not stored as a WebGL texture.");return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw new Error("The data is not stored as a WebGPU buffer.");return this.gpuBufferData}get mlTensor(){if(this.ensureValid(),!this.mlTensorData)throw new Error("The data is not stored as a WebNN MLTensor.");return this.mlTensorData}async getData(u){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 new Error("The current tensor is not created with a specified data downloader.");if(this.isDownloading)throw new Error("The current tensor is being downloaded.");try{this.isDownloading=!0;let I=await this.downloader();return this.downloader=void 0,this.dataLocation="cpu",this.cpuData=I,u&&this.disposer&&(this.disposer(),this.disposer=void 0),I}finally{this.isDownloading=!1}default:throw new Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw new Error("The current tensor is being downloaded.");this.disposer&&(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 new Error("The tensor is disposed.")}reshape(u){if(this.ensureValid(),this.downloader||this.disposer)throw new Error("Cannot reshape a tensor that owns GPU resource.");return re(this,u)}}}),Ft=pe(()=>{Bt(),F=N}),St=pe(()=>{Re(),Ce=(u,I)=>{(typeof B.trace>"u"?!B.wasm.trace:!B.trace)||console.timeStamp(`${u}::ORT::${I}`)},he=(u,I)=>{var L;let x=((L=new Error().stack)==null?void 0:L.split(/\r\n|\r|\n/g))||[],S=!1;for(let W=0;W<x.length;W++){if(S&&!x[W].includes("TRACE_FUNC")){let Y=`FUNC_${u}::${x[W].trim().split(" ")[1]}`;return I&&(Y+=`::${I}`),void Ce("CPU",Y)}x[W].includes("TRACE_FUNC")&&(S=!0)}},ce=u=>{(typeof B.trace>"u"?!B.wasm.trace:!B.trace)||he("BEGIN",u)},ge=u=>{(typeof B.trace>"u"?!B.wasm.trace:!B.trace)||he("END",u)}}),oe=pe(()=>{ot(),Ft(),St(),Me=class Gm{constructor(I){this.handler=I}async run(I,x,S){ce();let L={},W={};if(typeof I!="object"||I===null||I instanceof F||Array.isArray(I))throw new TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let Y=!0;if(typeof x=="object"){if(x===null)throw new TypeError("Unexpected argument[1]: cannot be null.");if(x instanceof F)throw new TypeError("'fetches' cannot be a Tensor");if(Array.isArray(x)){if(x.length===0)throw new TypeError("'fetches' cannot be an empty array.");Y=!1;for(let ne of x){if(typeof ne!="string")throw new TypeError("'fetches' must be a string array or an object.");if(this.outputNames.indexOf(ne)===-1)throw new RangeError(`'fetches' contains invalid output name: ${ne}.`);L[ne]=null}if(typeof S=="object"&&S!==null)W=S;else if(typeof S<"u")throw new TypeError("'options' must be an object.")}else{let ne=!1,ve=Object.getOwnPropertyNames(x);for(let Ee of this.outputNames)if(ve.indexOf(Ee)!==-1){let te=x[Ee];(te===null||te instanceof F)&&(ne=!0,Y=!1,L[Ee]=te)}if(ne){if(typeof S=="object"&&S!==null)W=S;else if(typeof S<"u")throw new TypeError("'options' must be an object.")}else W=x}}else if(typeof x<"u")throw new TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(let ne of this.inputNames)if(typeof I[ne]>"u")throw new Error(`input '${ne}' is missing in 'feeds'.`);if(Y)for(let ne of this.outputNames)L[ne]=null;let Ae=await this.handler.run(I,L,W),se={};for(let ne in Ae)if(Object.hasOwnProperty.call(Ae,ne)){let ve=Ae[ne];se[ne]=ve instanceof F?ve:new F(ve.type,ve.data,ve.dims)}return ge(),se}async release(){return this.handler.dispose()}static async create(I,x,S,L){ce();let W,Y={};if(typeof I=="string"){if(W=I,typeof x=="object"&&x!==null)Y=x;else if(typeof x<"u")throw new TypeError("'options' must be an object.")}else if(I instanceof Uint8Array){if(W=I,typeof x=="object"&&x!==null)Y=x;else if(typeof x<"u")throw new TypeError("'options' must be an object.")}else{if(!(I instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&I instanceof SharedArrayBuffer))throw new TypeError("Unexpected argument[0]: must be 'path' or 'buffer'.");{let ve=I,Ee=0,te=I.byteLength;if(typeof x=="object"&&x!==null)Y=x;else if(typeof x=="number"){if(Ee=x,!Number.isSafeInteger(Ee))throw new RangeError("'byteOffset' must be an integer.");if(Ee<0||Ee>=ve.byteLength)throw new RangeError(`'byteOffset' is out of range [0, ${ve.byteLength}).`);if(te=I.byteLength-Ee,typeof S=="number"){if(te=S,!Number.isSafeInteger(te))throw new RangeError("'byteLength' must be an integer.");if(te<=0||Ee+te>ve.byteLength)throw new RangeError(`'byteLength' is out of range (0, ${ve.byteLength-Ee}].`);if(typeof L=="object"&&L!==null)Y=L;else if(typeof L<"u")throw new TypeError("'options' must be an object.")}else if(typeof S<"u")throw new TypeError("'byteLength' must be a number.")}else if(typeof x<"u")throw new TypeError("'options' must be an object.");W=new Uint8Array(ve,Ee,te)}}let[Ae,se]=await b(Y),ne=await Ae.createInferenceSessionHandler(W,se);return ge(),new Gm(ne)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}get outputNames(){return this.handler.outputNames}}}),zt=pe(()=>{oe(),Ue=Me}),Ie=pe(()=>{}),fe=pe(()=>{}),Qe=pe(()=>{}),Je=pe(()=>{}),rt={};it(rt,{InferenceSession:()=>Ue,TRACE:()=>Ce,TRACE_FUNC_BEGIN:()=>ce,TRACE_FUNC_END:()=>ge,Tensor:()=>F,env:()=>G,registerBackend:()=>p});var lt=pe(()=>{pt(),tt(),zt(),Ft(),Ie(),fe(),St(),Qe(),Je()}),xt=pe(()=>{}),jt={};it(jt,{default:()=>gA});var eA,Lt,gA,tA=pe(()=>{var u;kd(),u0(),l2(),eA="ort-wasm-proxy-worker",(Lt=((u=globalThis.self)==null?void 0:u.name)===eA)&&(self.onmessage=I=>{let{type:x,in:S}=I.data;try{switch(x){case"init-wasm":Vr(S.wasm).then(()=>{Ks(S).then(()=>{postMessage({type:x})},L=>{postMessage({type:x,err:L})})},L=>{postMessage({type:x,err:L})});break;case"init-ep":{let{epName:L,env:W}=S;Na(W,L).then(()=>{postMessage({type:x})},Y=>{postMessage({type:x,err:Y})});break}case"copy-from":{let{buffer:L}=S,W=n0(L);postMessage({type:x,out:W});break}case"create":{let{model:L,options:W}=S;Z0(L,W).then(Y=>{postMessage({type:x,out:Y})},Y=>{postMessage({type:x,err:Y})});break}case"release":fl(S),postMessage({type:x});break;case"run":{let{sessionId:L,inputIndices:W,inputs:Y,outputIndices:Ae,options:se}=S;gl(L,W,Y,Ae,new Array(Ae.length).fill(null),se).then(ne=>{ne.some(ve=>ve[3]!=="cpu")?postMessage({type:x,err:"Proxy does not support non-cpu tensor location."}):postMessage({type:x,out:ne},hl([...Y,...ne]))},ne=>{postMessage({type:x,err:ne})});break}case"end-profiling":Lu(S),postMessage({type:x})}}catch(L){postMessage({type:x,err:L})}}),gA=Lt?null:I=>new Worker(I??bA,{type:"module",name:eA})}),oA={};it(oA,{default:()=>EA});var nA,IA,EA,Gt,bA,rA,br,wA,OA,AA,iA,Jt,LA,Lr,Yr,Tt,MA,NA,JA,WA,DA,Vr,xr,Dr,Ls,HA,ss,Da,dn,Ga,Ka,gn,xs,hn,ya,ui,La,Va,ls,yn,Qn,Ci,Ha,Pn,En,Ya,sr,pr,oa,fi,_a,Zn,Za,Ra,_t,ye,Ze,ut,mt,yt,Rt,cA,gt,mA,lA,lr,Wr,Tr,Or,fr,kA,QA,Qr,ga,_s,rs,zA,Kr,Wt,PA,ra,Vs,ms,Ts,as,vr,cs,Sn,Ta,zi,Hs,Fi,ur,Us,ja,Mo,Oi,Xn,Ii,Nn,zn,Do,pn,Qa,Ys,BA,sa,wi,ki,io,Fn,Go,di,oo,Ea,Xr,qn,mn,Xs,Bn,rn,lo,xn,Jn,co,gi,$n,uA,On,vA,_o,uo,la,Ss,vi,hi,sn,Rr,Uo,fo,ha,yi,go,Xa,Ei,CA,qs,pa,Li,bn,an,Ko,ho,qa,Zo,po,ns,Xo,mo,er,or,To,nn,Cn,ca,In,bs,Ln,Bi,on,qo,xi,qr,Vi,Hi,Cs,Mi,wn,ln,Qo,Yi,Ja,Mn,Di,kn,Po,Ri,ua,bo,Ns,cn,Co,pi,zs,ji,Wi,Js,ma,Io,So,Gi,Ot,GA,Ui,SA,ei,ba,Ki,wo,un,fs,Zi,ti,_i,Jo,Xi,No,$o,Ai,$a,zo,qi,aa,Zr,Ti,e0,ri,si,Vn,Fo,Ca,t0,Ji,Qi,$i,fa,eo,ko,mi,A0,ai,Ar,t,A,r,a,i,l,h,m,w,M,y,P,R,ee,ae,ue,be,Te,Oe,$e,nt,ht,vt,Qt,Ut,fA,hA,FA,YA,rr,wr,jr,Jr,ds,is,Qs,Ps,Rs,$s,ea,na,da,Ba,en,Dn,Gn,ni,to,ii,Pi,Ao,Oo,r0,Y0,i0,L2,V2,H2,Y2,R2,xl,j2,W2,Ml,U2,K2,Z2,X2,Dl,q2,J2,Gl,$2,ec,_l,tc,vo,yo,o0,l0,Ac,rc,Tl,sc,ac,nc,ic,oc,lc,_n,cc,uc,al,fc,R0,s0,dc,gc,hc,pc,nl,mc,bc,Cc,Ic,j0,wc,Ql,kc,W0,vc,yc,Ec,Bc,il,xc,Mc,Dc,e1,Gc,_c,Tc,E0,Qc,Pc,Sc,Nc,zc,Fc,Oc,c0,Lc,Pl,Sl,Nl,Vc,Hc,ol,zl,Yc,Fl,Ol,Rc,Ll,Vl,jc,ll,Wc,Uc,Kc,Zc,Hl,cl,t1,Xc,qc,Yl,Jc,$c,Rl,eu,tu,jl,Au,A1,Wl,Ul,ru,su,Kl,au,nu,ul,iu,ou,Zl,lu,cu,uu,fu,du,gu,hu,pu,mu,Xl,bu,U0,ql,Jl,Cu,Es,r1,s1,a1,$l,Iu,wu,e2,ku,t2,A2,n1,vu,yu,r2,i1,o1,Eu,Bu,xu,Mu,Du,Gu,s2,_u,a2,n2,i2,Tu,l1,o2,Qu,Pu,c1=pe(()=>{var u;nA=import.meta.url,IA=async function(I={}){function x(){return Vt.buffer!=UA.buffer&&Fs(),UA}function S(){return Vt.buffer!=UA.buffer&&Fs(),us}function L(){return Vt.buffer!=UA.buffer&&Fs(),za}function W(){return Vt.buffer!=UA.buffer&&Fs(),Rn}function Y(){return Vt.buffer!=UA.buffer&&Fs(),m0}function Ae(){return Vt.buffer!=UA.buffer&&Fs(),G0}function se(){return Vt.buffer!=UA.buffer&&Fs(),pl}function ne(){return Vt.buffer!=UA.buffer&&Fs(),C0}var ve,Ee,te=Object.assign({},I),Ge=new Promise((K,ie)=>{ve=K,Ee=ie}),Fe=typeof window=="object",Ke=typeof importScripts=="function",Ye=Ke&&self.name=="em-pthread";te.mountExternalData=(K,ie)=>{K.startsWith("./")&&(K=K.substring(2)),(te.Fb||(te.Fb=new Map)).set(K,ie)},te.unmountExternalData=()=>{delete te.Fb};var et=globalThis.SharedArrayBuffer??new WebAssembly.Memory({initial:0,maximum:0,shared:!0}).buffer.constructor;let ft=()=>{let K=(ke,De,je)=>(...kt)=>{let aA=k0,dA=De==null?void 0:De();kt=ke(...kt);let KA=De==null?void 0:De();return dA!==KA&&(ke=KA,je(dA),De=je=null),k0!=aA?new Promise((XA,mr)=>{yf={resolve:XA,reject:mr}}):kt},ie=ke=>async(...De)=>{var je;try{if(te.Gb)throw Error("Session already started");let kt=te.Gb={hc:De[0],errors:[]},aA=await ke(...De);if(te.Gb!==kt)throw Error("Session mismatch");(je=te.Hb)==null||je.flush();let dA=kt.errors;if(0<dA.length){let KA=await Promise.all(dA);if(KA=KA.filter(XA=>XA),0<KA.length)throw Error(KA.join(`
82`))}return aA}finally{te.Gb=null}};te._OrtCreateSession=K(te._OrtCreateSession,()=>te._OrtCreateSession,ke=>te._OrtCreateSession=ke),te._OrtRun=ie(K(te._OrtRun,()=>te._OrtRun,ke=>te._OrtRun=ke)),te._OrtRunWithBinding=ie(K(te._OrtRunWithBinding,()=>te._OrtRunWithBinding,ke=>te._OrtRunWithBinding=ke)),te._OrtBindInput=K(te._OrtBindInput,()=>te._OrtBindInput,ke=>te._OrtBindInput=ke),ft=void 0};te.jsepInit=(K,ie)=>{if(ft==null||ft(),K==="webgpu"){[te.Hb,te.Vb,te.Zb,te.Ob,te.Yb,te.kb,te.$b,te.cc,te.Wb,te.Xb,te.ac]=ie;let ke=te.Hb;te.jsepRegisterBuffer=(De,je,kt,aA)=>ke.registerBuffer(De,je,kt,aA),te.jsepGetBuffer=De=>ke.getBuffer(De),te.jsepCreateDownloader=(De,je,kt)=>ke.createDownloader(De,je,kt),te.jsepOnCreateSession=De=>{ke.onCreateSession(De)},te.jsepOnReleaseSession=De=>{ke.onReleaseSession(De)},te.jsepOnRunStart=De=>ke.onRunStart(De),te.dc=(De,je)=>{ke.upload(De,je)}}else if(K==="webnn"){[te.Hb,te.bc,te.Pb,te.jsepEnsureTensor,te.ec,te.jsepDownloadTensor]=ie,te.jsepReleaseTensorId=te.Pb;let ke=te.Hb;te.jsepOnRunStart=De=>ke.onRunStart(De),te.jsepRegisterMLContext=(De,je)=>{ke.registerMLContext(De,je)},te.jsepOnReleaseSession=De=>{ke.onReleaseSession(De)},te.jsepCreateMLTensorDownloader=(De,je)=>ke.createMLTensorDownloader(De,je),te.jsepRegisterMLTensor=(De,je,kt)=>ke.registerMLTensor(De,je,kt),te.jsepCreateMLContext=De=>ke.createMLContext(De),te.jsepRegisterMLConstant=(De,je,kt,aA,dA)=>ke.registerMLConstant(De,je,kt,aA,dA,te.Fb)}};var bt,Mt,Dt=Object.assign({},te),Nt=(K,ie)=>{throw ie},pA="";(Fe||Ke)&&(Ke?pA=self.location.href:typeof document<"u"&&document.currentScript&&(pA=document.currentScript.src),nA&&(pA=nA),pA=pA.startsWith("blob:")?"":pA.substr(0,pA.replace(/[?#].*/,"").lastIndexOf("/")+1),Ke&&(Mt=K=>{var ie=new XMLHttpRequest;return ie.open("GET",K,!1),ie.responseType="arraybuffer",ie.send(null),new Uint8Array(ie.response)}),bt=(K,ie,ke)=>{var De=new XMLHttpRequest;De.open("GET",K,!0),De.responseType="arraybuffer",De.onload=()=>{De.status==200||De.status==0&&De.response?ie(De.response):ke()},De.onerror=ke,De.send(null)});var xA,ar=console.log.bind(console),nr=console.error.bind(console),$r=ar,ir=nr;if(Object.assign(te,Dt),Dt=null,Ye){let K=function(ie){try{var ke=ie.data,De=ke.cmd;if(De==="load"){let je=[];self.onmessage=kt=>je.push(kt),self.startWorker=()=>{postMessage({cmd:"loaded"});for(let kt of je)K(kt);self.onmessage=K};for(let kt of ke.handlers)te[kt]&&!te[kt].proxy||(te[kt]=(...aA)=>{postMessage({Nb:"callHandler",pc:kt,args:aA})},kt=="print"&&($r=te[kt]),kt=="printErr"&&(ir=te[kt]));Vt=ke.wasmMemory,Fs(),Er(ke.wasmModule)}else if(De==="run"){Mf(ke.pthread_ptr,0,0,1,0,0),kf(ke.pthread_ptr),q3(),Nd(),kr||(Qg(),kr=!0);try{J3(ke.start_routine,ke.arg)}catch(je){if(je!="unwind")throw je}}else De==="cancel"?w2()&&F1(-1):ke.target!=="setimmediate"&&(De==="checkMailbox"?kr&&M1():De&&(ir(`worker: received unknown command ${De}`),ir(ke)))}catch(je){throw Pg(),je}};var Er,kr=!1;ir=function(...ie){ie=ie.join(" "),console.error(ie)},self.alert=function(...ie){postMessage({Nb:"alert",text:ie.join(" "),rc:w2()})},te.instantiateWasm=(ie,ke)=>new Promise(De=>{Er=je=>{je=new WebAssembly.Instance(je,_d()),ke(je),De()}}),self.onunhandledrejection=ie=>{throw ie.reason||ie},self.onmessage=K}te.wasmBinary&&(xA=te.wasmBinary);var Vt,ZA,RA,UA,us,za,Rn,m0,G0,pl,Vo,b0,C0,Ho=!1;function Fs(){var K=Vt.buffer;te.HEAP8=UA=new Int8Array(K),te.HEAP16=za=new Int16Array(K),te.HEAPU8=us=new Uint8Array(K),te.HEAPU16=Rn=new Uint16Array(K),te.HEAP32=m0=new Int32Array(K),te.HEAPU32=G0=new Uint32Array(K),te.HEAPF32=pl=new Float32Array(K),te.HEAPF64=C0=new Float64Array(K),te.HEAP64=Vo=new BigInt64Array(K),te.HEAPU64=b0=new BigUint64Array(K)}if(!Ye){if(!((Vt=new WebAssembly.Memory({initial:256,maximum:65536,shared:!0})).buffer instanceof et))throw ir("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"),Error("bad memory");Fs()}var Ni=[],_0=[],lf=[],ml=0,Hu=null;function Bd(){if(--ml==0&&Hu){var K=Hu;Hu=null,K()}}function X0(K){throw ir(K="Aborted("+K+")"),Ho=!0,RA=1,K=new WebAssembly.RuntimeError(K+". Build with -sASSERTIONS for more info."),Ee(K),K}var cf,xd=K=>K.startsWith("data:application/octet-stream;base64,"),Md=K=>K.startsWith("file://");function Dd(K){if(K==cf&&xA)return new Uint8Array(xA);if(Mt)return Mt(K);throw"both async and sync fetching of the wasm failed"}function Gd(K,ie,ke){return function(De){if(!xA&&(Fe||Ke)){if(typeof fetch=="function"&&!Md(De))return fetch(De,{credentials:"same-origin"}).then(je=>{if(!je.ok)throw`failed to load wasm binary file at '${De}'`;return je.arrayBuffer()}).catch(()=>Dd(De));if(bt)return new Promise((je,kt)=>{bt(De,aA=>je(new Uint8Array(aA)),kt)})}return Promise.resolve().then(()=>Dd(De))}(K).then(De=>WebAssembly.instantiate(De,ie)).then(ke,De=>{ir(`failed to asynchronously prepare wasm: ${De}`),X0(De)})}function _d(){return{a:{O:X3,Aa:Z3,b:eb,aa:Ld,B:Yd,qa:Rd,Y:Wd,_:Ud,ra:Kd,oa:Zd,ha:Xd,na:qd,L:Jd,Z:$d,W:eg,pa:tg,X:Ag,va:tb,F:Ab,Q:rb,P:ab,E:ib,u:ob,q:lb,G:cb,A:mb,R:bb,ua:Cb,ka:Ib,U:wb,ba:kb,H:vb,ja:kf,ta:yb,t:Eb,Ba:Bb,x:Db,o:Gb,m:Tb,c:If,n:Qb,k:Nb,w:zb,p:Fb,f:Ob,s:Lb,l:Vb,e:Hb,j:Yb,i:Rb,g:jb,d:Wb,ea:Ub,fa:Kb,ga:Zb,ca:pg,da:mg,T:Xb,h:qb,D:Jb,I:$b,M:e8,y:t8,sa:A8,V:r8,v:Cg,z:s8,N:a8,S:n8,za:i8,ya:o8,la:kg,ma:vg,$:hf,C:yg,K:Eg,ia:Bg,J:xg,a:Vt,xa:gf,wa:Gg,r:u8}}}var uf={916868:(K,ie,ke,De,je)=>{if(te===void 0||!te.Fb)return 1;if((K=tn(Number(K>>>0))).startsWith("./")&&(K=K.substring(2)),!(K=te.Fb.get(K)))return 2;if(ie=Number(ie>>>0),ke=Number(ke>>>0),De=Number(De>>>0),ie+ke>K.byteLength)return 3;try{let kt=K.subarray(ie,ie+ke);switch(je){case 0:S().set(kt,De>>>0);break;case 1:te.dc(De,kt);break;default:return 4}return 0}catch{return 4}},917583:(K,ie,ke)=>{te.ec(K,S().subarray(ie>>>0,ie+ke>>>0))},917646:()=>te.bc(),917687:K=>{te.Pb(K)},917723:()=>{te.Wb()},917754:()=>{te.Xb()},917783:()=>{te.ac()},917808:K=>te.Vb(K),917841:K=>te.Zb(K),917873:(K,ie,ke)=>{te.Ob(Number(K),Number(ie),Number(ke),!0)},917936:(K,ie,ke)=>{te.Ob(Number(K),Number(ie),Number(ke))},917993:()=>typeof wasmOffsetConverter<"u",918050:K=>{te.kb("Abs",K,void 0)},918101:K=>{te.kb("Neg",K,void 0)},918152:K=>{te.kb("Floor",K,void 0)},918205:K=>{te.kb("Ceil",K,void 0)},918257:K=>{te.kb("Reciprocal",K,void 0)},918315:K=>{te.kb("Sqrt",K,void 0)},918367:K=>{te.kb("Exp",K,void 0)},918418:K=>{te.kb("Erf",K,void 0)},918469:K=>{te.kb("Sigmoid",K,void 0)},918524:(K,ie,ke)=>{te.kb("HardSigmoid",K,{alpha:ie,beta:ke})},918603:K=>{te.kb("Log",K,void 0)},918654:K=>{te.kb("Sin",K,void 0)},918705:K=>{te.kb("Cos",K,void 0)},918756:K=>{te.kb("Tan",K,void 0)},918807:K=>{te.kb("Asin",K,void 0)},918859:K=>{te.kb("Acos",K,void 0)},918911:K=>{te.kb("Atan",K,void 0)},918963:K=>{te.kb("Sinh",K,void 0)},919015:K=>{te.kb("Cosh",K,void 0)},919067:K=>{te.kb("Asinh",K,void 0)},919120:K=>{te.kb("Acosh",K,void 0)},919173:K=>{te.kb("Atanh",K,void 0)},919226:K=>{te.kb("Tanh",K,void 0)},919278:K=>{te.kb("Not",K,void 0)},919329:(K,ie,ke)=>{te.kb("Clip",K,{min:ie,max:ke})},919398:K=>{te.kb("Clip",K,void 0)},919450:(K,ie)=>{te.kb("Elu",K,{alpha:ie})},919508:K=>{te.kb("Gelu",K,void 0)},919560:K=>{te.kb("Relu",K,void 0)},919612:(K,ie)=>{te.kb("LeakyRelu",K,{alpha:ie})},919676:(K,ie)=>{te.kb("ThresholdedRelu",K,{alpha:ie})},919746:(K,ie)=>{te.kb("Cast",K,{to:ie})},919804:K=>{te.kb("Add",K,void 0)},919855:K=>{te.kb("Sub",K,void 0)},919906:K=>{te.kb("Mul",K,void 0)},919957:K=>{te.kb("Div",K,void 0)},920008:K=>{te.kb("Pow",K,void 0)},920059:K=>{te.kb("Equal",K,void 0)},920112:K=>{te.kb("Greater",K,void 0)},920167:K=>{te.kb("GreaterOrEqual",K,void 0)},920229:K=>{te.kb("Less",K,void 0)},920281:K=>{te.kb("LessOrEqual",K,void 0)},920340:(K,ie,ke,De,je)=>{te.kb("ReduceMean",K,{keepDims:!!ie,noopWithEmptyAxes:!!ke,axes:De?Array.from(Y().subarray(Number(De)>>>0,Number(je)>>>0)):[]})},920515:(K,ie,ke,De,je)=>{te.kb("ReduceMax",K,{keepDims:!!ie,noopWithEmptyAxes:!!ke,axes:De?Array.from(Y().subarray(Number(De)>>>0,Number(je)>>>0)):[]})},920689:(K,ie,ke,De,je)=>{te.kb("ReduceMin",K,{keepDims:!!ie,noopWithEmptyAxes:!!ke,axes:De?Array.from(Y().subarray(Number(De)>>>0,Number(je)>>>0)):[]})},920863:(K,ie,ke,De,je)=>{te.kb("ReduceProd",K,{keepDims:!!ie,noopWithEmptyAxes:!!ke,axes:De?Array.from(Y().subarray(Number(De)>>>0,Number(je)>>>0)):[]})},921038:(K,ie,ke,De,je)=>{te.kb("ReduceSum",K,{keepDims:!!ie,noopWithEmptyAxes:!!ke,axes:De?Array.from(Y().subarray(Number(De)>>>0,Number(je)>>>0)):[]})},921212:(K,ie,ke,De,je)=>{te.kb("ReduceL1",K,{keepDims:!!ie,noopWithEmptyAxes:!!ke,axes:De?Array.from(Y().subarray(Number(De)>>>0,Number(je)>>>0)):[]})},921385:(K,ie,ke,De,je)=>{te.kb("ReduceL2",K,{keepDims:!!ie,noopWithEmptyAxes:!!ke,axes:De?Array.from(Y().subarray(Number(De)>>>0,Number(je)>>>0)):[]})},921558:(K,ie,ke,De,je)=>{te.kb("ReduceLogSum",K,{keepDims:!!ie,noopWithEmptyAxes:!!ke,axes:De?Array.from(Y().subarray(Number(De)>>>0,Number(je)>>>0)):[]})},921735:(K,ie,ke,De,je)=>{te.kb("ReduceSumSquare",K,{keepDims:!!ie,noopWithEmptyAxes:!!ke,axes:De?Array.from(Y().subarray(Number(De)>>>0,Number(je)>>>0)):[]})},921915:(K,ie,ke,De,je)=>{te.kb("ReduceLogSumExp",K,{keepDims:!!ie,noopWithEmptyAxes:!!ke,axes:De?Array.from(Y().subarray(Number(De)>>>0,Number(je)>>>0)):[]})},922095:K=>{te.kb("Where",K,void 0)},922148:(K,ie,ke)=>{te.kb("Transpose",K,{perm:ie?Array.from(Y().subarray(Number(ie)>>>0,Number(ke)>>>0)):[]})},922272:(K,ie,ke,De)=>{te.kb("DepthToSpace",K,{blocksize:ie,mode:tn(ke),format:De?"NHWC":"NCHW"})},922405:(K,ie,ke,De)=>{te.kb("DepthToSpace",K,{blocksize:ie,mode:tn(ke),format:De?"NHWC":"NCHW"})},922538:(K,ie,ke,De,je,kt,aA,dA,KA,XA,mr,ps,Os,$t,Is)=>{te.kb("ConvTranspose",K,{format:KA?"NHWC":"NCHW",autoPad:ie,dilations:[ke],group:De,kernelShape:[je],pads:[kt,aA],strides:[dA],wIsConst:()=>!!x()[XA>>>0],outputPadding:mr?Array.from(Y().subarray(Number(mr)>>>0,Number(ps)>>>0)):[],outputShape:Os?Array.from(Y().subarray(Number(Os)>>>0,Number($t)>>>0)):[],activation:tn(Is)})},922971:(K,ie,ke,De,je,kt,aA,dA,KA,XA,mr,ps,Os,$t)=>{te.kb("ConvTranspose",K,{format:dA?"NHWC":"NCHW",autoPad:ie,dilations:Array.from(Y().subarray(Number(ke)>>>0,2+(Number(ke)>>>0)>>>0)),group:De,kernelShape:Array.from(Y().subarray(Number(je)>>>0,2+(Number(je)>>>0)>>>0)),pads:Array.from(Y().subarray(Number(kt)>>>0,4+(Number(kt)>>>0)>>>0)),strides:Array.from(Y().subarray(Number(aA)>>>0,2+(Number(aA)>>>0)>>>0)),wIsConst:()=>!!x()[KA>>>0],outputPadding:XA?Array.from(Y().subarray(Number(XA)>>>0,Number(mr)>>>0)):[],outputShape:ps?Array.from(Y().subarray(Number(ps)>>>0,Number(Os)>>>0)):[],activation:tn($t)})},923632:(K,ie,ke,De,je,kt,aA,dA,KA,XA,mr,ps,Os,$t,Is)=>{te.kb("ConvTranspose",K,{format:KA?"NHWC":"NCHW",autoPad:ie,dilations:[ke],group:De,kernelShape:[je],pads:[kt,aA],strides:[dA],wIsConst:()=>!!x()[XA>>>0],outputPadding:mr?Array.from(Y().subarray(Number(mr)>>>0,Number(ps)>>>0)):[],outputShape:Os?Array.from(Y().subarray(Number(Os)>>>0,Number($t)>>>0)):[],activation:tn(Is)})},924065:(K,ie,ke,De,je,kt,aA,dA,KA,XA,mr,ps,Os,$t)=>{te.kb("ConvTranspose",K,{format:dA?"NHWC":"NCHW",autoPad:ie,dilations:Array.from(Y().subarray(Number(ke)>>>0,2+(Number(ke)>>>0)>>>0)),group:De,kernelShape:Array.from(Y().subarray(Number(je)>>>0,2+(Number(je)>>>0)>>>0)),pads:Array.from(Y().subarray(Number(kt)>>>0,4+(Number(kt)>>>0)>>>0)),strides:Array.from(Y().subarray(Number(aA)>>>0,2+(Number(aA)>>>0)>>>0)),wIsConst:()=>!!x()[KA>>>0],outputPadding:XA?Array.from(Y().subarray(Number(XA)>>>0,Number(mr)>>>0)):[],outputShape:ps?Array.from(Y().subarray(Number(ps)>>>0,Number(Os)>>>0)):[],activation:tn($t)})},924726:(K,ie)=>{te.kb("GlobalAveragePool",K,{format:ie?"NHWC":"NCHW"})},924817:(K,ie,ke,De,je,kt,aA,dA,KA,XA,mr,ps,Os,$t)=>{te.kb("AveragePool",K,{format:$t?"NHWC":"NCHW",auto_pad:ie,ceil_mode:ke,count_include_pad:De,storage_order:je,dilations:kt?Array.from(Y().subarray(Number(kt)>>>0,Number(aA)>>>0)):[],kernel_shape:dA?Array.from(Y().subarray(Number(dA)>>>0,Number(KA)>>>0)):[],pads:XA?Array.from(Y().subarray(Number(XA)>>>0,Number(mr)>>>0)):[],strides:ps?Array.from(Y().subarray(Number(ps)>>>0,Number(Os)>>>0)):[]})},925296:(K,ie)=>{te.kb("GlobalAveragePool",K,{format:ie?"NHWC":"NCHW"})},925387:(K,ie,ke,De,je,kt,aA,dA,KA,XA,mr,ps,Os,$t)=>{te.kb("AveragePool",K,{format:$t?"NHWC":"NCHW",auto_pad:ie,ceil_mode:ke,count_include_pad:De,storage_order:je,dilations:kt?Array.from(Y().subarray(Number(kt)>>>0,Number(aA)>>>0)):[],kernel_shape:dA?Array.from(Y().subarray(Number(dA)>>>0,Number(KA)>>>0)):[],pads:XA?Array.from(Y().subarray(Number(XA)>>>0,Number(mr)>>>0)):[],strides:ps?Array.from(Y().subarray(Number(ps)>>>0,Number(Os)>>>0)):[]})},925866:(K,ie)=>{te.kb("GlobalMaxPool",K,{format:ie?"NHWC":"NCHW"})},925953:(K,ie,ke,De,je,kt,aA,dA,KA,XA,mr,ps,Os,$t)=>{te.kb("MaxPool",K,{format:$t?"NHWC":"NCHW",auto_pad:ie,ceil_mode:ke,count_include_pad:De,storage_order:je,dilations:kt?Array.from(Y().subarray(Number(kt)>>>0,Number(aA)>>>0)):[],kernel_shape:dA?Array.from(Y().subarray(Number(dA)>>>0,Number(KA)>>>0)):[],pads:XA?Array.from(Y().subarray(Number(XA)>>>0,Number(mr)>>>0)):[],strides:ps?Array.from(Y().subarray(Number(ps)>>>0,Number(Os)>>>0)):[]})},926428:(K,ie)=>{te.kb("GlobalMaxPool",K,{format:ie?"NHWC":"NCHW"})},926515:(K,ie,ke,De,je,kt,aA,dA,KA,XA,mr,ps,Os,$t)=>{te.kb("MaxPool",K,{format:$t?"NHWC":"NCHW",auto_pad:ie,ceil_mode:ke,count_include_pad:De,storage_order:je,dilations:kt?Array.from(Y().subarray(Number(kt)>>>0,Number(aA)>>>0)):[],kernel_shape:dA?Array.from(Y().subarray(Number(dA)>>>0,Number(KA)>>>0)):[],pads:XA?Array.from(Y().subarray(Number(XA)>>>0,Number(mr)>>>0)):[],strides:ps?Array.from(Y().subarray(Number(ps)>>>0,Number(Os)>>>0)):[]})},926990:(K,ie,ke,De,je)=>{te.kb("Gemm",K,{alpha:ie,beta:ke,transA:De,transB:je})},927094:K=>{te.kb("MatMul",K,void 0)},927148:(K,ie,ke,De)=>{te.kb("ArgMax",K,{keepDims:!!ie,selectLastIndex:!!ke,axis:De})},927256:(K,ie,ke,De)=>{te.kb("ArgMin",K,{keepDims:!!ie,selectLastIndex:!!ke,axis:De})},927364:(K,ie)=>{te.kb("Softmax",K,{axis:ie})},927427:(K,ie)=>{te.kb("Concat",K,{axis:ie})},927487:(K,ie,ke,De,je)=>{te.kb("Split",K,{axis:ie,numOutputs:ke,splitSizes:De?Array.from(Y().subarray(Number(De)>>>0,Number(je)>>>0)):[]})},927643:K=>{te.kb("Expand",K,void 0)},927697:(K,ie)=>{te.kb("Gather",K,{axis:Number(ie)})},927768:(K,ie)=>{te.kb("GatherElements",K,{axis:Number(ie)})},927847:(K,ie)=>{te.kb("GatherND",K,{batch_dims:Number(ie)})},927926:(K,ie,ke,De,je,kt,aA,dA,KA,XA,mr)=>{te.kb("Resize",K,{antialias:ie,axes:ke?Array.from(Y().subarray(Number(ke)>>>0,Number(De)>>>0)):[],coordinateTransformMode:tn(je),cubicCoeffA:kt,excludeOutside:aA,extrapolationValue:dA,keepAspectRatioPolicy:tn(KA),mode:tn(XA),nearestMode:tn(mr)})},928288:(K,ie,ke,De,je,kt,aA)=>{te.kb("Slice",K,{starts:ie?Array.from(Y().subarray(Number(ie)>>>0,Number(ke)>>>0)):[],ends:De?Array.from(Y().subarray(Number(De)>>>0,Number(je)>>>0)):[],axes:kt?Array.from(Y().subarray(Number(kt)>>>0,Number(aA)>>>0)):[]})},928552:K=>{te.kb("Tile",K,void 0)},928604:(K,ie,ke)=>{te.kb("InstanceNormalization",K,{epsilon:ie,format:ke?"NHWC":"NCHW"})},928718:(K,ie,ke)=>{te.kb("InstanceNormalization",K,{epsilon:ie,format:ke?"NHWC":"NCHW"})},928832:K=>{te.kb("Range",K,void 0)},928885:(K,ie)=>{te.kb("Einsum",K,{equation:tn(ie)})},928966:(K,ie,ke,De,je)=>{te.kb("Pad",K,{mode:ie,value:ke,pads:De?Array.from(Y().subarray(Number(De)>>>0,Number(je)>>>0)):[]})},929109:(K,ie,ke,De,je,kt)=>{te.kb("BatchNormalization",K,{epsilon:ie,momentum:ke,spatial:!!je,trainingMode:!!De,format:kt?"NHWC":"NCHW"})},929278:(K,ie,ke,De,je,kt)=>{te.kb("BatchNormalization",K,{epsilon:ie,momentum:ke,spatial:!!je,trainingMode:!!De,format:kt?"NHWC":"NCHW"})},929447:(K,ie,ke)=>{te.kb("CumSum",K,{exclusive:Number(ie),reverse:Number(ke)})},929544:(K,ie,ke)=>{te.kb("DequantizeLinear",K,{axis:ie,blockSize:ke})},929634:(K,ie,ke,De,je)=>{te.kb("GridSample",K,{align_corners:ie,mode:tn(ke),padding_mode:tn(De),format:je?"NHWC":"NCHW"})},929804:(K,ie,ke,De,je)=>{te.kb("GridSample",K,{align_corners:ie,mode:tn(ke),padding_mode:tn(De),format:je?"NHWC":"NCHW"})},929974:(K,ie,ke,De,je,kt,aA,dA,KA)=>{te.kb("Attention",K,{numHeads:ie,isUnidirectional:ke,maskFilterValue:De,scale:je,doRotary:kt,qkvHiddenSizes:aA?Array.from(Y().subarray(Number(dA)>>>0,Number(dA)+aA>>>0)):[],pastPresentShareBuffer:!!KA})},930246:K=>{te.kb("BiasAdd",K,void 0)},930301:K=>{te.kb("BiasSplitGelu",K,void 0)},930362:K=>{te.kb("FastGelu",K,void 0)},930418:(K,ie,ke,De,je,kt,aA,dA,KA,XA,mr,ps,Os,$t,Is,Ua)=>{te.kb("Conv",K,{format:ps?"NHWC":"NCHW",auto_pad:ie,dilations:ke?Array.from(Y().subarray(Number(ke)>>>0,Number(De)>>>0)):[],group:je,kernel_shape:kt?Array.from(Y().subarray(Number(kt)>>>0,Number(aA)>>>0)):[],pads:dA?Array.from(Y().subarray(Number(dA)>>>0,Number(KA)>>>0)):[],strides:XA?Array.from(Y().subarray(Number(XA)>>>0,Number(mr)>>>0)):[],w_is_const:()=>!!x()[Number(Os)>>>0],activation:tn($t),activation_params:Is?Array.from(se().subarray(Number(Is)>>>0,Number(Ua)>>>0)):[]})},931002:K=>{te.kb("Gelu",K,void 0)},931054:(K,ie,ke,De,je,kt,aA,dA,KA)=>{te.kb("GroupQueryAttention",K,{numHeads:ie,kvNumHeads:ke,scale:De,softcap:je,doRotary:kt,rotaryInterleaved:aA,smoothSoftmax:dA,localWindowSize:KA})},931271:(K,ie,ke,De)=>{te.kb("LayerNormalization",K,{axis:ie,epsilon:ke,simplified:!!De})},931382:(K,ie,ke,De)=>{te.kb("LayerNormalization",K,{axis:ie,epsilon:ke,simplified:!!De})},931493:(K,ie,ke,De,je,kt)=>{te.kb("MatMulNBits",K,{k:ie,n:ke,accuracyLevel:De,bits:je,blockSize:kt})},931620:(K,ie,ke,De,je,kt)=>{te.kb("MultiHeadAttention",K,{numHeads:ie,isUnidirectional:ke,maskFilterValue:De,scale:je,doRotary:kt})},931779:(K,ie)=>{te.kb("QuickGelu",K,{alpha:ie})},931843:(K,ie,ke,De,je)=>{te.kb("RotaryEmbedding",K,{interleaved:!!ie,numHeads:ke,rotaryEmbeddingDim:De,scale:je})},931982:(K,ie,ke)=>{te.kb("SkipLayerNormalization",K,{epsilon:ie,simplified:!!ke})},932084:(K,ie,ke)=>{te.kb("SkipLayerNormalization",K,{epsilon:ie,simplified:!!ke})},932186:(K,ie,ke,De)=>{te.kb("GatherBlockQuantized",K,{gatherAxis:ie,quantizeAxis:ke,blockSize:De})},932307:K=>{te.$b(K)},932341:(K,ie)=>te.cc(Number(K),Number(ie),te.Gb.hc,te.Gb.errors)};function Z3(K,ie,ke){return ug(async()=>{await te.Yb(Number(K),Number(ie),Number(ke))})}function X3(){return typeof wasmOffsetConverter<"u"}function ff(K){this.name="ExitStatus",this.message=`Program terminated with exit(${K})`,this.status=K}var df=K=>{K.terminate(),K.onmessage=()=>{}},Td=K=>{q0.length==0&&(Fd(),zd(q0[0]));var ie=q0.pop();if(!ie)return 6;Cl.push(ie),I0[K.Bb]=ie,ie.Bb=K.Bb;var ke={cmd:"run",start_routine:K.ic,arg:K.Rb,pthread_ptr:K.Bb};return ie.postMessage(ke,K.nc),0},bl=0,Fa=(K,ie,...ke)=>{for(var De=2*ke.length,je=_f(),kt=Gf(8*De),aA=kt>>>3,dA=0;dA<ke.length;dA++){var KA=ke[dA];typeof KA=="bigint"?(Vo[aA+2*dA]=1n,Vo[aA+2*dA+1]=KA):(Vo[aA+2*dA]=0n,ne()[aA+2*dA+1>>>0]=KA)}return K=Sg(K,0,De,kt,ie),O1(je),K};function gf(K){if(Ye)return Fa(0,1,K);if(RA=K,!(0<bl)){for(var ie of Cl)df(ie);for(ie of q0)df(ie);q0=[],Cl=[],I0=[],Ho=!0}Nt(0,new ff(K))}function Qd(K){if(Ye)return Fa(1,0,K);hf(K)}var hf=K=>{if(RA=K,Ye)throw Qd(K),"unwind";gf(K)},q0=[],Cl=[],Pd=[],I0={},Sd=K=>{var ie=K.Bb;delete I0[ie],q0.push(K),Cl.splice(Cl.indexOf(K),1),K.Bb=0,Df(ie)};function Nd(){Pd.forEach(K=>K())}var zd=K=>new Promise(ie=>{K.onmessage=je=>{var kt=(je=je.data).cmd;if(je.targetThread&&je.targetThread!=w2()){var aA=I0[je.targetThread];aA?aA.postMessage(je,je.transferList):ir(`Internal error! Worker sent a message "${kt}" to target pthread ${je.targetThread}, but that thread no longer exists!`)}else kt==="checkMailbox"?M1():kt==="spawnThread"?Td(je):kt==="cleanupThread"?Sd(I0[je.thread]):kt==="killThread"?(je=je.thread,kt=I0[je],delete I0[je],df(kt),Df(je),Cl.splice(Cl.indexOf(kt),1),kt.Bb=0):kt==="cancelThread"?I0[je.thread].postMessage({cmd:"cancel"}):kt==="loaded"?(K.loaded=!0,ie(K)):kt==="alert"?alert(`Thread ${je.threadId}: ${je.text}`):je.target==="setimmediate"?K.postMessage(je):kt==="callHandler"?te[je.handler](...je.args):kt&&ir(`worker sent an unknown command ${kt}`)},K.onerror=je=>{throw ir(`worker sent an error! ${je.filename}:${je.lineno}: ${je.message}`),je};var ke,De=[];for(ke of[])te.hasOwnProperty(ke)&&De.push(ke);K.postMessage({cmd:"load",handlers:De,wasmMemory:Vt,wasmModule:ZA})});function Fd(){var K=new Worker(import.meta.url.startsWith("file:")?new URL(s("./node_modules/onnxruntime-web/dist/ort.bundle.min.mjs?46eb"),s.b):new URL(import.meta.url),{type:"module",workerData:"em-pthread",name:"em-pthread"});q0.push(K)}var x1=K=>{for(;0<K.length;)K.shift()(te)},q3=()=>{var K=w2(),ie=Ae()[K+52>>>2>>>0];K=Ae()[K+56>>>2>>>0],zg(ie,ie-K),O1(ie)},J3=(K,ie)=>{bl=0,K=Fg(K,ie),0<bl?RA=K:F1(K)};class $3{constructor(ie){this.Kb=ie-24}}function eb(K,ie,ke){var De=new $3(K>>>=0);throw ie>>>=0,ke>>>=0,Ae()[De.Kb+16>>>2>>>0]=0,Ae()[De.Kb+4>>>2>>>0]=ie,Ae()[De.Kb+8>>>2>>>0]=ke,K}function Od(K,ie,ke,De){return Ye?Fa(2,1,K,ie,ke,De):Ld(K,ie,ke,De)}function Ld(K,ie,ke,De){if(K>>>=0,ie>>>=0,ke>>>=0,De>>>=0,et===void 0)return ir("Current environment does not support SharedArrayBuffer, pthreads are not available!"),6;var je=[];return Ye&&je.length===0?Od(K,ie,ke,De):(K={ic:ke,Bb:K,Rb:De,nc:je},Ye?(K.Nb="spawnThread",postMessage(K,je),0):Td(K))}var Vd=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0,Hd=(K,ie,ke)=>{var De=(ie>>>=0)+ke;for(ke=ie;K[ke]&&!(ke>=De);)++ke;if(16<ke-ie&&K.buffer&&Vd)return Vd.decode(K.buffer instanceof et?K.slice(ie,ke):K.subarray(ie,ke));for(De="";ie<ke;){var je=K[ie++];if(128&je){var kt=63&K[ie++];if((224&je)==192)De+=String.fromCharCode((31&je)<<6|kt);else{var aA=63&K[ie++];65536>(je=(240&je)==224?(15&je)<<12|kt<<6|aA:(7&je)<<18|kt<<12|aA<<6|63&K[ie++])?De+=String.fromCharCode(je):(je-=65536,De+=String.fromCharCode(55296|je>>10,56320|1023&je))}}else De+=String.fromCharCode(je)}return De},tn=(K,ie)=>(K>>>=0)?Hd(S(),K,ie):"";function Yd(K,ie,ke){return Ye?Fa(3,1,K,ie,ke):0}function Rd(K,ie){if(Ye)return Fa(4,1,K,ie)}var pf=K=>{for(var ie=0,ke=0;ke<K.length;++ke){var De=K.charCodeAt(ke);127>=De?ie++:2047>=De?ie+=2:55296<=De&&57343>=De?(ie+=4,++ke):ie+=3}return ie},jd=(K,ie,ke,De)=>{if(!(0<De))return 0;var je=ke>>>=0;De=ke+De-1;for(var kt=0;kt<K.length;++kt){var aA=K.charCodeAt(kt);if(55296<=aA&&57343>=aA&&(aA=65536+((1023&aA)<<10)|1023&K.charCodeAt(++kt)),127>=aA){if(ke>=De)break;ie[ke++>>>0]=aA}else{if(2047>=aA){if(ke+1>=De)break;ie[ke++>>>0]=192|aA>>6}else{if(65535>=aA){if(ke+2>=De)break;ie[ke++>>>0]=224|aA>>12}else{if(ke+3>=De)break;ie[ke++>>>0]=240|aA>>18,ie[ke++>>>0]=128|aA>>12&63}ie[ke++>>>0]=128|aA>>6&63}ie[ke++>>>0]=128|63&aA}}return ie[ke>>>0]=0,ke-je},C2=(K,ie,ke)=>jd(K,S(),ie,ke);function Wd(K,ie){if(Ye)return Fa(5,1,K,ie)}function Ud(K,ie,ke){if(Ye)return Fa(6,1,K,ie,ke)}function Kd(K,ie,ke){return Ye?Fa(7,1,K,ie,ke):0}function Zd(K,ie){if(Ye)return Fa(8,1,K,ie)}function Xd(K,ie,ke){if(Ye)return Fa(9,1,K,ie,ke)}function qd(K,ie,ke,De){if(Ye)return Fa(10,1,K,ie,ke,De)}function Jd(K,ie,ke,De){if(Ye)return Fa(11,1,K,ie,ke,De)}function $d(K,ie,ke,De){if(Ye)return Fa(12,1,K,ie,ke,De)}function eg(K){if(Ye)return Fa(13,1,K)}function tg(K,ie){if(Ye)return Fa(14,1,K,ie)}function Ag(K,ie,ke){if(Ye)return Fa(15,1,K,ie,ke)}var rg,J0,tb=()=>{X0("")},w0=K=>{for(var ie="";S()[K>>>0];)ie+=rg[S()[K++>>>0]];return ie},mf={},bf={};function T0(K,ie,ke={}){if(!("argPackAdvance"in ie))throw new TypeError("registerType registeredInstance requires argPackAdvance");return function(De,je,kt={}){var aA=je.name;if(!De)throw new J0(`type "${aA}" must have a positive integer typeid pointer`);if(bf.hasOwnProperty(De)){if(kt.Tb)return;throw new J0(`Cannot register type '${aA}' twice`)}bf[De]=je,mf.hasOwnProperty(De)&&(je=mf[De],delete mf[De],je.forEach(dA=>dA()))}(K,ie,ke)}var sg=(K,ie,ke)=>{switch(ie){case 1:return ke?De=>x()[De>>>0]:De=>S()[De>>>0];case 2:return ke?De=>L()[De>>>1>>>0]:De=>W()[De>>>1>>>0];case 4:return ke?De=>Y()[De>>>2>>>0]:De=>Ae()[De>>>2>>>0];case 8:return ke?De=>Vo[De>>>3]:De=>b0[De>>>3];default:throw new TypeError(`invalid integer width (${ie}): ${K}`)}};function Ab(K,ie,ke){ke>>>=0,T0(K>>>=0,{name:ie=w0(ie>>>0),fromWireType:De=>De,toWireType:function(De,je){if(typeof je!="bigint"&&typeof je!="number")throw je=je===null?"null":(De=typeof je)=="object"||De==="array"||De==="function"?je.toString():""+je,new TypeError(`Cannot convert "${je}" to ${this.name}`);return typeof je=="number"&&(je=BigInt(je)),je},argPackAdvance:$0,readValueFromPointer:sg(ie,ke,ie.indexOf("u")==-1),Eb:null})}var $0=8;function rb(K,ie,ke,De){T0(K>>>=0,{name:ie=w0(ie>>>0),fromWireType:function(je){return!!je},toWireType:function(je,kt){return kt?ke:De},argPackAdvance:$0,readValueFromPointer:function(je){return this.fromWireType(S()[je>>>0])},Eb:null})}var Cf=[],Q0=[];function If(K){9<(K>>>=0)&&--Q0[K+1]==0&&(Q0[K]=void 0,Cf.push(K))}var Bo=K=>{if(!K)throw new J0("Cannot use deleted val. handle = "+K);return Q0[K]},Yo=K=>{switch(K){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:let ie=Cf.pop()||Q0.length;return Q0[ie]=K,Q0[ie+1]=1,ie}};function wf(K){return this.fromWireType(Ae()[K>>>2>>>0])}var sb={name:"emscripten::val",fromWireType:K=>{var ie=Bo(K);return If(K),ie},toWireType:(K,ie)=>Yo(ie),argPackAdvance:$0,readValueFromPointer:wf,Eb:null};function ab(K){return T0(K>>>0,sb)}var nb=(K,ie)=>{switch(ie){case 4:return function(ke){return this.fromWireType(se()[ke>>>2>>>0])};case 8:return function(ke){return this.fromWireType(ne()[ke>>>3>>>0])};default:throw new TypeError(`invalid float width (${ie}): ${K}`)}};function ib(K,ie,ke){ke>>>=0,T0(K>>>=0,{name:ie=w0(ie>>>0),fromWireType:De=>De,toWireType:(De,je)=>je,argPackAdvance:$0,readValueFromPointer:nb(ie,ke),Eb:null})}function ob(K,ie,ke,De,je){if(K>>>=0,ke>>>=0,ie=w0(ie>>>0),je===-1&&(je=4294967295),je=dA=>dA,De===0){var kt=32-8*ke;je=dA=>dA<<kt>>>kt}var aA=ie.includes("unsigned")?function(dA,KA){return KA>>>0}:function(dA,KA){return KA};T0(K,{name:ie,fromWireType:je,toWireType:aA,argPackAdvance:$0,readValueFromPointer:sg(ie,ke,De!==0),Eb:null})}function lb(K,ie,ke){function De(kt){var aA=Ae()[kt>>>2>>>0];return kt=Ae()[kt+4>>>2>>>0],new je(x().buffer,kt,aA)}var je=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][ie];T0(K>>>=0,{name:ke=w0(ke>>>0),fromWireType:De,argPackAdvance:$0,readValueFromPointer:De},{Tb:!0})}function cb(K,ie){K>>>=0;var ke=(ie=w0(ie>>>0))==="std::string";T0(K,{name:ie,fromWireType:function(De){var je=Ae()[De>>>2>>>0],kt=De+4;if(ke)for(var aA=kt,dA=0;dA<=je;++dA){var KA=kt+dA;if(dA==je||S()[KA>>>0]==0){if(aA=tn(aA,KA-aA),XA===void 0)var XA=aA;else XA+="\0",XA+=aA;aA=KA+1}}else{for(XA=Array(je),dA=0;dA<je;++dA)XA[dA]=String.fromCharCode(S()[kt+dA>>>0]);XA=XA.join("")}return v0(De),XA},toWireType:function(De,je){je instanceof ArrayBuffer&&(je=new Uint8Array(je));var kt=typeof je=="string";if(!(kt||je instanceof Uint8Array||je instanceof Uint8ClampedArray||je instanceof Int8Array))throw new J0("Cannot pass non-string to std::string");var aA=ke&&kt?pf(je):je.length,dA=z1(4+aA+1),KA=dA+4;if(Ae()[dA>>>2>>>0]=aA,ke&&kt)C2(je,KA,aA+1);else if(kt)for(kt=0;kt<aA;++kt){var XA=je.charCodeAt(kt);if(255<XA)throw v0(KA),new J0("String has UTF-16 code units that do not fit in 8 bits");S()[KA+kt>>>0]=XA}else for(kt=0;kt<aA;++kt)S()[KA+kt>>>0]=je[kt];return De!==null&&De.push(v0,dA),dA},argPackAdvance:$0,readValueFromPointer:wf,Eb(De){v0(De)}})}var ag=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0,ub=(K,ie)=>{for(var ke=K>>1,De=ke+ie/2;!(ke>=De)&&W()[ke>>>0];)++ke;if(32<(ke<<=1)-K&&ag)return ag.decode(S().slice(K,ke));for(ke="",De=0;!(De>=ie/2);++De){var je=L()[K+2*De>>>1>>>0];if(je==0)break;ke+=String.fromCharCode(je)}return ke},fb=(K,ie,ke)=>{if(ke??(ke=2147483647),2>ke)return 0;var De=ie;ke=(ke-=2)<2*K.length?ke/2:K.length;for(var je=0;je<ke;++je){var kt=K.charCodeAt(je);L()[ie>>>1>>>0]=kt,ie+=2}return L()[ie>>>1>>>0]=0,ie-De},db=K=>2*K.length,gb=(K,ie)=>{for(var ke=0,De="";!(ke>=ie/4);){var je=Y()[K+4*ke>>>2>>>0];if(je==0)break;++ke,65536<=je?(je-=65536,De+=String.fromCharCode(55296|je>>10,56320|1023&je)):De+=String.fromCharCode(je)}return De},hb=(K,ie,ke)=>{if(ie>>>=0,ke??(ke=2147483647),4>ke)return 0;var De=ie;ke=De+ke-4;for(var je=0;je<K.length;++je){var kt=K.charCodeAt(je);if(55296<=kt&&57343>=kt&&(kt=65536+((1023&kt)<<10)|1023&K.charCodeAt(++je)),Y()[ie>>>2>>>0]=kt,(ie+=4)+4>ke)break}return Y()[ie>>>2>>>0]=0,ie-De},pb=K=>{for(var ie=0,ke=0;ke<K.length;++ke){var De=K.charCodeAt(ke);55296<=De&&57343>=De&&++ke,ie+=4}return ie};function mb(K,ie,ke){if(K>>>=0,ie>>>=0,ke=w0(ke>>>=0),ie===2)var De=ub,je=fb,kt=db,aA=dA=>W()[dA>>>1>>>0];else ie===4&&(De=gb,je=hb,kt=pb,aA=dA=>Ae()[dA>>>2>>>0]);T0(K,{name:ke,fromWireType:dA=>{for(var KA,XA=Ae()[dA>>>2>>>0],mr=dA+4,ps=0;ps<=XA;++ps){var Os=dA+4+ps*ie;ps!=XA&&aA(Os)!=0||(mr=De(mr,Os-mr),KA===void 0?KA=mr:(KA+="\0",KA+=mr),mr=Os+ie)}return v0(dA),KA},toWireType:(dA,KA)=>{if(typeof KA!="string")throw new J0(`Cannot pass non-string to C++ string type ${ke}`);var XA=kt(KA),mr=z1(4+XA+ie);return Ae()[mr>>>2>>>0]=XA/ie,je(KA,mr+4,XA+ie),dA!==null&&dA.push(v0,mr),mr},argPackAdvance:$0,readValueFromPointer:wf,Eb(dA){v0(dA)}})}function bb(K,ie){T0(K>>>=0,{Ub:!0,name:ie=w0(ie>>>0),argPackAdvance:0,fromWireType:()=>{},toWireType:()=>{}})}var Cb=()=>1;function Ib(K){Mf(K>>>0,!Ke,1,!Fe,131072,!1),Nd()}var ng=K=>{if(!Ho)try{if(K(),!(0<bl))try{Ye?F1(RA):hf(RA)}catch(ie){ie instanceof ff||ie=="unwind"||Nt(0,ie)}}catch(ie){ie instanceof ff||ie=="unwind"||Nt(0,ie)}};function kf(K){K>>>=0,typeof Atomics.oc=="function"&&(Atomics.oc(Y(),K>>>2,K).value.then(M1),K+=128,Atomics.store(Y(),K>>>2,1))}var M1=()=>{var K=w2();K&&(kf(K),ng(Ng))};function wb(K,ie){(K>>>=0)==ie>>>0?setTimeout(M1):Ye?postMessage({targetThread:K,cmd:"checkMailbox"}):(K=I0[K])&&K.postMessage({cmd:"checkMailbox"})}var vf=[];function kb(K,ie,ke,De,je){for(ie>>>=0,De/=2,vf.length=De,ke=je>>>0>>>3,je=0;je<De;je++)vf[je]=Vo[ke+2*je]?Vo[ke+2*je+1]:ne()[ke+2*je+1>>>0];return(ie?uf[ie]:f8[K])(...vf)}function vb(K){K>>>=0,Ye?postMessage({cmd:"cleanupThread",thread:K}):Sd(I0[K])}function yb(K){}var D1=(K,ie)=>{var ke=bf[K];if(ke===void 0)throw K=Tg(K),ke=w0(K),v0(K),new J0(`${ie} has unknown type ${ke}`);return ke},ig=(K,ie,ke)=>{var De=[];return K=K.toWireType(De,ke),De.length&&(Ae()[ie>>>2>>>0]=Yo(De)),K};function Eb(K,ie,ke){return ie>>>=0,ke>>>=0,K=Bo(K>>>0),ie=D1(ie,"emval::as"),ig(ie,ke,K)}function Bb(K,ie){return ie>>>=0,K=Bo(K>>>0),(ie=D1(ie,"emval::as")).toWireType(null,K)}var G1=K=>{try{K()}catch(ie){X0(ie)}},el=0,k0=null,og=0,_1=[],lg={},cg={},xb=0,yf=null,Mb=[];function ug(K){return function(){if(!Ho){if(el===0){var ie=!1,ke=!1;(De=>{K().then(De)})((De=0)=>{if(!Ho&&(og=De,ie=!0,ke)){el=2,G1(()=>Vg(k0)),typeof Browser<"u"&&Browser.Lb.Sb&&Browser.Lb.resume(),De=!1;try{var je=function(){var dA=Y()[k0+8>>>2>>>0];return dA=dr[cg[dA]],--bl,dA()}()}catch(dA){je=dA,De=!0}var kt=!1;if(!k0){var aA=yf;aA&&(yf=null,(De?aA.reject:aA.resolve)(je),kt=!0)}if(De&&!kt)throw je}}),ke=!0,ie||(el=1,k0=function(){var De=z1(65548),je=De+12;Ae()[De>>>2>>>0]=je,Ae()[De+4>>>2>>>0]=je+65536,je=_1[0];var kt=lg[je];return kt===void 0&&(kt=xb++,lg[je]=kt,cg[kt]=je),je=kt,Y()[De+8>>>2>>>0]=je,De}(),typeof Browser<"u"&&Browser.Lb.Sb&&Browser.Lb.pause(),G1(()=>Og(k0)))}else el===2?(el=0,G1(Hg),v0(k0),k0=null,Mb.forEach(ng)):X0(`invalid state: ${el}`);return og}}()}function Db(K){return K>>>=0,ug(()=>(K=Bo(K)).then(Yo))}var T1=[];function Gb(K,ie,ke,De){return ke>>>=0,De>>>=0,(K=T1[K>>>0])(null,ie=Bo(ie>>>0),ke,De)}var _b={},Q1=K=>{var ie=_b[K];return ie===void 0?w0(K):ie};function Tb(K,ie,ke,De,je){return ke>>>=0,De>>>=0,je>>>=0,(K=T1[K>>>0])(ie=Bo(ie>>>0),ie[ke=Q1(ke)],De,je)}var fg=()=>typeof globalThis=="object"?globalThis:Function("return this")();function Qb(K){return(K>>>=0)==0?Yo(fg()):(K=Q1(K),Yo(fg()[K]))}var Pb=K=>{var ie=T1.length;return T1.push(K),ie},Sb=(K,ie)=>{for(var ke=Array(K),De=0;De<K;++De)ke[De]=D1(Ae()[ie+4*De>>>2>>>0],"parameter "+De);return ke},dg=(K,ie)=>Object.defineProperty(ie,"name",{value:K});function Nb(K,ie,ke){var De=(ie=Sb(K,ie>>>0)).shift();K--;var je=`return function (obj, func, destructorsRef, args) {
83`,kt=0,aA=[];ke===0&&aA.push("obj");for(var dA=["retType"],KA=[De],XA=0;XA<K;++XA)aA.push("arg"+XA),dA.push("argType"+XA),KA.push(ie[XA]),je+=`  var arg${XA} = argType${XA}.readValueFromPointer(args${kt?"+"+kt:""});
84`,kt+=ie[XA].argPackAdvance;return je+=`  var rv = ${ke===1?"new func":"func.call"}(${aA.join(", ")});
85`,De.Ub||(dA.push("emval_returnValue"),KA.push(ig),je+=`  return emval_returnValue(retType, destructorsRef, rv);
86`),dA.push(je+`};
87`),K=function(mr){var ps=Function;if(!(ps instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof ps} which is not a function`);var Os=dg(ps.name||"unknownFunctionName",function(){});return Os.prototype=ps.prototype,Os=new Os,(mr=ps.apply(Os,mr))instanceof Object?mr:Os}(dA)(...KA),ke=`methodCaller<(${ie.map(mr=>mr.name).join(", ")}) => ${De.name}>`,Pb(dg(ke,K))}function zb(K){return K=Q1(K>>>0),Yo(te[K])}function Fb(K,ie){return ie>>>=0,K=Bo(K>>>0),ie=Bo(ie),Yo(K[ie])}function Ob(K){9<(K>>>=0)&&(Q0[K+1]+=1)}function Lb(){return Yo([])}function Vb(K){K=Bo(K>>>0);for(var ie=Array(K.length),ke=0;ke<K.length;ke++)ie[ke]=K[ke];return Yo(ie)}function Hb(K){return Yo(Q1(K>>>0))}function Yb(){return Yo({})}function Rb(K){for(var ie=Bo(K>>>=0);ie.length;){var ke=ie.pop();ie.pop()(ke)}If(K)}function jb(K,ie,ke){ie>>>=0,ke>>>=0,K=Bo(K>>>0),ie=Bo(ie),ke=Bo(ke),K[ie]=ke}function Wb(K,ie){return ie>>>=0,K=(K=D1(K>>>0,"_emval_take_value")).readValueFromPointer(ie),Yo(K)}function Ub(K,ie){K=-9007199254740992>K||9007199254740992<K?NaN:Number(K),ie>>>=0,K=new Date(1e3*K),Y()[ie>>>2>>>0]=K.getUTCSeconds(),Y()[ie+4>>>2>>>0]=K.getUTCMinutes(),Y()[ie+8>>>2>>>0]=K.getUTCHours(),Y()[ie+12>>>2>>>0]=K.getUTCDate(),Y()[ie+16>>>2>>>0]=K.getUTCMonth(),Y()[ie+20>>>2>>>0]=K.getUTCFullYear()-1900,Y()[ie+24>>>2>>>0]=K.getUTCDay(),K=(K.getTime()-Date.UTC(K.getUTCFullYear(),0,1,0,0,0,0))/864e5|0,Y()[ie+28>>>2>>>0]=K}var I2=K=>K%4==0&&(K%100!=0||K%400==0),gg=[0,31,60,91,121,152,182,213,244,274,305,335],hg=[0,31,59,90,120,151,181,212,243,273,304,334];function Kb(K,ie){K=-9007199254740992>K||9007199254740992<K?NaN:Number(K),ie>>>=0,K=new Date(1e3*K),Y()[ie>>>2>>>0]=K.getSeconds(),Y()[ie+4>>>2>>>0]=K.getMinutes(),Y()[ie+8>>>2>>>0]=K.getHours(),Y()[ie+12>>>2>>>0]=K.getDate(),Y()[ie+16>>>2>>>0]=K.getMonth(),Y()[ie+20>>>2>>>0]=K.getFullYear()-1900,Y()[ie+24>>>2>>>0]=K.getDay();var ke=(I2(K.getFullYear())?gg:hg)[K.getMonth()]+K.getDate()-1|0;Y()[ie+28>>>2>>>0]=ke,Y()[ie+36>>>2>>>0]=-60*K.getTimezoneOffset(),ke=new Date(K.getFullYear(),6,1).getTimezoneOffset();var De=new Date(K.getFullYear(),0,1).getTimezoneOffset();K=0|(ke!=De&&K.getTimezoneOffset()==Math.min(De,ke)),Y()[ie+32>>>2>>>0]=K}function Zb(K){K>>>=0;var ie=new Date(Y()[K+20>>>2>>>0]+1900,Y()[K+16>>>2>>>0],Y()[K+12>>>2>>>0],Y()[K+8>>>2>>>0],Y()[K+4>>>2>>>0],Y()[K>>>2>>>0],0),ke=Y()[K+32>>>2>>>0],De=ie.getTimezoneOffset(),je=new Date(ie.getFullYear(),6,1).getTimezoneOffset(),kt=new Date(ie.getFullYear(),0,1).getTimezoneOffset(),aA=Math.min(kt,je);return 0>ke?Y()[K+32>>>2>>>0]=+(je!=kt&&aA==De):0<ke!=(aA==De)&&(je=Math.max(kt,je),ie.setTime(ie.getTime()+6e4*((0<ke?aA:je)-De))),Y()[K+24>>>2>>>0]=ie.getDay(),ke=(I2(ie.getFullYear())?gg:hg)[ie.getMonth()]+ie.getDate()-1|0,Y()[K+28>>>2>>>0]=ke,Y()[K>>>2>>>0]=ie.getSeconds(),Y()[K+4>>>2>>>0]=ie.getMinutes(),Y()[K+8>>>2>>>0]=ie.getHours(),Y()[K+12>>>2>>>0]=ie.getDate(),Y()[K+16>>>2>>>0]=ie.getMonth(),Y()[K+20>>>2>>>0]=ie.getYear(),K=ie.getTime(),BigInt(isNaN(K)?-1:K/1e3)}function pg(K,ie,ke,De,je,kt,aA){return Ye?Fa(16,1,K,ie,ke,De,je,kt,aA):-52}function mg(K,ie,ke,De,je,kt){if(Ye)return Fa(17,1,K,ie,ke,De,je,kt)}function Xb(K,ie,ke,De){K>>>=0,ie>>>=0,ke>>>=0,De>>>=0;var je=new Date().getFullYear(),kt=new Date(je,0,1),aA=new Date(je,6,1);je=kt.getTimezoneOffset();var dA=aA.getTimezoneOffset(),KA=Math.max(je,dA);Ae()[K>>>2>>>0]=60*KA,Y()[ie>>>2>>>0]=+(je!=dA),kt=(K=XA=>XA.toLocaleTimeString(void 0,{hour12:!1,timeZoneName:"short"}).split(" ")[1])(kt),aA=K(aA),dA<je?(C2(kt,ke,17),C2(aA,De,17)):(C2(kt,De,17),C2(aA,ke,17))}var Ef=[],bg=(K,ie)=>{Ef.length=0;for(var ke;ke=S()[K++>>>0];){var De=ke!=105;ie+=(De&=ke!=112)&&ie%8?4:0,Ef.push(ke==112?Ae()[ie>>>2>>>0]:ke==106?Vo[ie>>>3]:ke==105?Y()[ie>>>2>>>0]:ne()[ie>>>3>>>0]),ie+=De?8:4}return Ef};function qb(K,ie,ke){return K>>>=0,ie=bg(ie>>>0,ke>>>0),uf[K](...ie)}function Jb(K,ie,ke){return K>>>=0,ie=bg(ie>>>0,ke>>>0),uf[K](...ie)}var $b=()=>{},e8=()=>Date.now();function t8(K,ie){return ir(tn(K>>>0,ie>>>0))}var Cg,A8=()=>{throw bl+=1,"unwind"};function r8(){return 4294901760}Cg=()=>performance.timeOrigin+performance.now();var s8=()=>navigator.hardwareConcurrency;function a8(){return X0("Cannot use emscripten_pc_get_function without -sUSE_OFFSET_CONVERTER"),0}function n8(K){K>>>=0;var ie=S().length;if(K<=ie||4294901760<K)return!1;for(var ke=1;4>=ke;ke*=2){var De=ie*(1+.2/ke);De=Math.min(De,K+100663296);var je=Math;De=Math.max(K,De);e:{je=(je.min.call(je,4294901760,De+(65536-De%65536)%65536)-Vt.buffer.byteLength+65535)/65536;try{Vt.grow(je),Fs();var kt=1;break e}catch{}kt=void 0}if(kt)return!0}return!1}var P1=()=>(X0("Cannot use convertFrameToPC (needed by __builtin_return_address) without -sUSE_OFFSET_CONVERTER"),0),Yu={},Ig=K=>{K.forEach(ie=>{P1()})};function i8(){var K=Error().stack.toString().split(`
88`);return K[0]=="Error"&&K.shift(),Ig(K),Yu.Qb=P1(),Yu.fc=K,Yu.Qb}function o8(K,ie,ke){if(K>>>=0,ie>>>=0,Yu.Qb==K)var De=Yu.fc;else(De=Error().stack.toString().split(`
89`))[0]=="Error"&&De.shift(),Ig(De);for(var je=3;De[je]&&P1()!=K;)++je;for(K=0;K<ke&&De[K+je];++K)Y()[ie+4*K>>>2>>>0]=P1();return K}var Bf,xf={},wg=()=>{if(!Bf){var K,ie={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:"./this.program"};for(K in xf)xf[K]===void 0?delete ie[K]:ie[K]=xf[K];var ke=[];for(K in ie)ke.push(`${K}=${ie[K]}`);Bf=ke}return Bf};function kg(K,ie){if(Ye)return Fa(18,1,K,ie);K>>>=0,ie>>>=0;var ke=0;return wg().forEach((De,je)=>{var kt=ie+ke;for(je=Ae()[K+4*je>>>2>>>0]=kt,kt=0;kt<De.length;++kt)x()[je++>>>0]=De.charCodeAt(kt);x()[je>>>0]=0,ke+=De.length+1}),0}function vg(K,ie){if(Ye)return Fa(19,1,K,ie);K>>>=0,ie>>>=0;var ke=wg();Ae()[K>>>2>>>0]=ke.length;var De=0;return ke.forEach(je=>De+=je.length+1),Ae()[ie>>>2>>>0]=De,0}function yg(K){return Ye?Fa(20,1,K):52}function Eg(K,ie,ke,De){return Ye?Fa(21,1,K,ie,ke,De):52}function Bg(K,ie,ke,De){return Ye?Fa(22,1,K,ie,ke,De):70}var l8=[null,[],[]];function xg(K,ie,ke,De){if(Ye)return Fa(23,1,K,ie,ke,De);ie>>>=0,ke>>>=0,De>>>=0;for(var je=0,kt=0;kt<ke;kt++){var aA=Ae()[ie>>>2>>>0],dA=Ae()[ie+4>>>2>>>0];ie+=8;for(var KA=0;KA<dA;KA++){var XA=S()[aA+KA>>>0],mr=l8[K];XA===0||XA===10?((K===1?$r:ir)(Hd(mr,0)),mr.length=0):mr.push(XA)}je+=dA}return Ae()[De>>>2>>>0]=je,0}var Mg=[31,29,31,30,31,30,31,31,30,31,30,31],Dg=[31,28,31,30,31,30,31,31,30,31,30,31],c8=(K,ie)=>{x().set(K,ie>>>0)};function Gg(K,ie,ke,De){function je($t,Is,Ua){for($t=typeof $t=="number"?$t.toString():$t||"";$t.length<Is;)$t=Ua[0]+$t;return $t}function kt($t,Is){return je($t,Is,"0")}function aA($t,Is){function Ua(Rg){return 0>Rg?-1:0<Rg?1:0}var Il;return(Il=Ua($t.getFullYear()-Is.getFullYear()))===0&&(Il=Ua($t.getMonth()-Is.getMonth()))===0&&(Il=Ua($t.getDate()-Is.getDate())),Il}function dA($t){switch($t.getDay()){case 0:return new Date($t.getFullYear()-1,11,29);case 1:return $t;case 2:return new Date($t.getFullYear(),0,3);case 3:return new Date($t.getFullYear(),0,2);case 4:return new Date($t.getFullYear(),0,1);case 5:return new Date($t.getFullYear()-1,11,31);case 6:return new Date($t.getFullYear()-1,11,30)}}function KA($t){var Is=$t.Cb;for($t=new Date(new Date($t.Db+1900,0,1).getTime());0<Is;){var Ua=$t.getMonth(),Il=(I2($t.getFullYear())?Mg:Dg)[Ua];if(!(Is>Il-$t.getDate())){$t.setDate($t.getDate()+Is);break}Is-=Il-$t.getDate()+1,$t.setDate(1),11>Ua?$t.setMonth(Ua+1):($t.setMonth(0),$t.setFullYear($t.getFullYear()+1))}return Ua=new Date($t.getFullYear()+1,0,4),Is=dA(new Date($t.getFullYear(),0,4)),Ua=dA(Ua),0>=aA(Is,$t)?0>=aA(Ua,$t)?$t.getFullYear()+1:$t.getFullYear():$t.getFullYear()-1}K>>>=0,ie>>>=0,ke>>>=0,De>>>=0;var XA=Ae()[De+40>>>2>>>0];for(var mr in De={lc:Y()[De>>>2>>>0],kc:Y()[De+4>>>2>>>0],Ib:Y()[De+8>>>2>>>0],Mb:Y()[De+12>>>2>>>0],Jb:Y()[De+16>>>2>>>0],Db:Y()[De+20>>>2>>>0],vb:Y()[De+24>>>2>>>0],Cb:Y()[De+28>>>2>>>0],sc:Y()[De+32>>>2>>>0],jc:Y()[De+36>>>2>>>0],mc:XA?tn(XA):""},ke=tn(ke),XA={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"})ke=ke.replace(new RegExp(mr,"g"),XA[mr]);var ps="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),Os="January February March April May June July August September October November December".split(" ");for(mr in XA={"%a":$t=>ps[$t.vb].substring(0,3),"%A":$t=>ps[$t.vb],"%b":$t=>Os[$t.Jb].substring(0,3),"%B":$t=>Os[$t.Jb],"%C":$t=>kt(($t.Db+1900)/100|0,2),"%d":$t=>kt($t.Mb,2),"%e":$t=>je($t.Mb,2," "),"%g":$t=>KA($t).toString().substring(2),"%G":KA,"%H":$t=>kt($t.Ib,2),"%I":$t=>(($t=$t.Ib)==0?$t=12:12<$t&&($t-=12),kt($t,2)),"%j":$t=>{for(var Is=0,Ua=0;Ua<=$t.Jb-1;Is+=(I2($t.Db+1900)?Mg:Dg)[Ua++]);return kt($t.Mb+Is,3)},"%m":$t=>kt($t.Jb+1,2),"%M":$t=>kt($t.kc,2),"%n":()=>`
90`,"%p":$t=>0<=$t.Ib&&12>$t.Ib?"AM":"PM","%S":$t=>kt($t.lc,2),"%t":()=>"	","%u":$t=>$t.vb||7,"%U":$t=>kt(Math.floor(($t.Cb+7-$t.vb)/7),2),"%V":$t=>{var Is=Math.floor(($t.Cb+7-($t.vb+6)%7)/7);if(2>=($t.vb+371-$t.Cb-2)%7&&Is++,Is)Is==53&&((Ua=($t.vb+371-$t.Cb)%7)==4||Ua==3&&I2($t.Db)||(Is=1));else{Is=52;var Ua=($t.vb+7-$t.Cb-1)%7;(Ua==4||Ua==5&&I2($t.Db%400-1))&&Is++}return kt(Is,2)},"%w":$t=>$t.vb,"%W":$t=>kt(Math.floor(($t.Cb+7-($t.vb+6)%7)/7),2),"%y":$t=>($t.Db+1900).toString().substring(2),"%Y":$t=>$t.Db+1900,"%z":$t=>(0<=($t=$t.jc)?"+":"-")+("0000"+(($t=Math.abs($t)/60)/60*100+$t%60)).slice(-4),"%Z":$t=>$t.mc,"%%":()=>"%"},ke=ke.replace(/%%/g,"\0\0"),XA)ke.includes(mr)&&(ke=ke.replace(new RegExp(mr,"g"),XA[mr](De)));return mr=function($t){var Is=Array(pf($t)+1);return jd($t,Is,0,Is.length),Is}(ke=ke.replace(/\0\0/g,"%")),mr.length>ie?0:(c8(mr,K),mr.length-1)}function u8(K,ie,ke,De){return Gg(K>>>0,ie>>>0,ke>>>0,De>>>0)}Ye||function(){for(var K=te.numThreads-1;K--;)Fd();Ni.unshift(()=>{ml++,function(ie){Ye?ie():Promise.all(q0.map(zd)).then(ie)}(()=>Bd())})}();for(var _g=Array(256),S1=0;256>S1;++S1)_g[S1]=String.fromCharCode(S1);rg=_g,J0=te.BindingError=class extends Error{constructor(K){super(K),this.name="BindingError"}},te.InternalError=class extends Error{constructor(K){super(K),this.name="InternalError"}},Q0.push(0,1,void 0,1,null,1,!0,1,!1,1),te.count_emval_handles=()=>Q0.length/2-5-Cf.length;var f8=[gf,Qd,Od,Yd,Rd,Wd,Ud,Kd,Zd,Xd,qd,Jd,$d,eg,tg,Ag,pg,mg,kg,vg,yg,Eg,Bg,xg],dr=function(){function K(ke,De){return dr=ke.exports,dr=function(){var je=dr,kt={};for(let[aA,dA]of Object.entries(je))kt[aA]=typeof dA=="function"?(...KA)=>{_1.push(aA);try{return dA(...KA)}finally{Ho||(_1.pop(),k0&&el===1&&_1.length===0&&(el=0,bl+=1,G1(Lg),typeof Fibers<"u"&&Fibers.tc()))}}:dA;return kt}(),dr=function(){var je=dr,kt=dA=>KA=>dA(KA)>>>0,aA=dA=>()=>dA()>>>0;return(je=Object.assign({},je)).Da=kt(je.Da),je.gb=aA(je.gb),je.ib=kt(je.ib),je.emscripten_main_runtime_thread_id=aA(je.emscripten_main_runtime_thread_id),je.tb=kt(je.tb),je.ub=aA(je.ub),je}(),Pd.push(dr.jb),_0.unshift(dr.Ca),ZA=De,Bd(),dr}var ie=_d();if(ml++,te.instantiateWasm)try{return te.instantiateWasm(ie,K)}catch(ke){ir(`Module.instantiateWasm callback failed with error: ${ke}`),Ee(ke)}return cf||(cf=te.locateFile?xd("ort-wasm-simd-threaded.jsep.wasm")?"ort-wasm-simd-threaded.jsep.wasm":te.locateFile?te.locateFile("ort-wasm-simd-threaded.jsep.wasm",pA):pA+"ort-wasm-simd-threaded.jsep.wasm":new URL(s("./node_modules/onnxruntime-web/dist/ort-wasm-simd-threaded.jsep.wasm"),s.b).href),function(ke,De){var je=cf;return xA||typeof WebAssembly.instantiateStreaming!="function"||xd(je)||Md(je)||typeof fetch!="function"?Gd(je,ke,De):fetch(je,{credentials:"same-origin"}).then(kt=>WebAssembly.instantiateStreaming(kt,ke).then(De,function(aA){return ir(`wasm streaming compile failed: ${aA}`),ir("falling back to ArrayBuffer instantiation"),Gd(je,ke,De)}))}(ie,function(ke){K(ke.instance,ke.module)}).catch(Ee),{}}(),Tg=K=>(Tg=dr.Da)(K),Qg=()=>(Qg=dr.Ea)();te._OrtInit=(K,ie)=>(te._OrtInit=dr.Fa)(K,ie),te._OrtGetLastError=(K,ie)=>(te._OrtGetLastError=dr.Ga)(K,ie),te._OrtCreateSessionOptions=(K,ie,ke,De,je,kt,aA,dA,KA,XA)=>(te._OrtCreateSessionOptions=dr.Ha)(K,ie,ke,De,je,kt,aA,dA,KA,XA),te._OrtAppendExecutionProvider=(K,ie)=>(te._OrtAppendExecutionProvider=dr.Ia)(K,ie),te._OrtAddFreeDimensionOverride=(K,ie,ke)=>(te._OrtAddFreeDimensionOverride=dr.Ja)(K,ie,ke),te._OrtAddSessionConfigEntry=(K,ie,ke)=>(te._OrtAddSessionConfigEntry=dr.Ka)(K,ie,ke),te._OrtReleaseSessionOptions=K=>(te._OrtReleaseSessionOptions=dr.La)(K),te._OrtCreateSession=(K,ie,ke)=>(te._OrtCreateSession=dr.Ma)(K,ie,ke),te._OrtReleaseSession=K=>(te._OrtReleaseSession=dr.Na)(K),te._OrtGetInputOutputCount=(K,ie,ke)=>(te._OrtGetInputOutputCount=dr.Oa)(K,ie,ke),te._OrtGetInputName=(K,ie)=>(te._OrtGetInputName=dr.Pa)(K,ie),te._OrtGetOutputName=(K,ie)=>(te._OrtGetOutputName=dr.Qa)(K,ie),te._OrtFree=K=>(te._OrtFree=dr.Ra)(K),te._OrtCreateTensor=(K,ie,ke,De,je,kt)=>(te._OrtCreateTensor=dr.Sa)(K,ie,ke,De,je,kt),te._OrtGetTensorData=(K,ie,ke,De,je)=>(te._OrtGetTensorData=dr.Ta)(K,ie,ke,De,je),te._OrtReleaseTensor=K=>(te._OrtReleaseTensor=dr.Ua)(K),te._OrtCreateRunOptions=(K,ie,ke,De)=>(te._OrtCreateRunOptions=dr.Va)(K,ie,ke,De),te._OrtAddRunConfigEntry=(K,ie,ke)=>(te._OrtAddRunConfigEntry=dr.Wa)(K,ie,ke),te._OrtReleaseRunOptions=K=>(te._OrtReleaseRunOptions=dr.Xa)(K),te._OrtCreateBinding=K=>(te._OrtCreateBinding=dr.Ya)(K),te._OrtBindInput=(K,ie,ke)=>(te._OrtBindInput=dr.Za)(K,ie,ke),te._OrtBindOutput=(K,ie,ke,De)=>(te._OrtBindOutput=dr._a)(K,ie,ke,De),te._OrtClearBoundOutputs=K=>(te._OrtClearBoundOutputs=dr.$a)(K),te._OrtReleaseBinding=K=>(te._OrtReleaseBinding=dr.ab)(K),te._OrtRunWithBinding=(K,ie,ke,De,je)=>(te._OrtRunWithBinding=dr.bb)(K,ie,ke,De,je),te._OrtRun=(K,ie,ke,De,je,kt,aA,dA)=>(te._OrtRun=dr.cb)(K,ie,ke,De,je,kt,aA,dA),te._OrtEndProfiling=K=>(te._OrtEndProfiling=dr.db)(K),te._JsepOutput=(K,ie,ke)=>(te._JsepOutput=dr.eb)(K,ie,ke),te._JsepGetNodeName=K=>(te._JsepGetNodeName=dr.fb)(K);var N1,w2=()=>(w2=dr.gb)(),v0=te._free=K=>(v0=te._free=dr.hb)(K),z1=te._malloc=K=>(z1=te._malloc=dr.ib)(K),Mf=(K,ie,ke,De,je,kt)=>(Mf=dr.lb)(K,ie,ke,De,je,kt),Pg=()=>(Pg=dr.mb)(),Sg=(K,ie,ke,De,je)=>(Sg=dr.nb)(K,ie,ke,De,je),Df=K=>(Df=dr.ob)(K),F1=K=>(F1=dr.pb)(K),Ng=()=>(Ng=dr.qb)(),zg=(K,ie)=>(zg=dr.rb)(K,ie),O1=K=>(O1=dr.sb)(K),Gf=K=>(Gf=dr.tb)(K),_f=()=>(_f=dr.ub)(),Fg=te.dynCall_ii=(K,ie)=>(Fg=te.dynCall_ii=dr.wb)(K,ie),Og=K=>(Og=dr.xb)(K),Lg=()=>(Lg=dr.yb)(),Vg=K=>(Vg=dr.zb)(K),Hg=()=>(Hg=dr.Ab)();function Yg(){0<ml||(Ye?(ve(te),Ye||x1(_0),startWorker(te)):(x1(Ni),0<ml||N1||(N1=!0,te.calledRun=!0,Ho||(Ye||x1(_0),ve(te),Ye||x1(lf)))))}return te.___start_em_js=932469,te.___stop_em_js=932715,te.stackSave=()=>_f(),te.stackRestore=K=>O1(K),te.stackAlloc=K=>Gf(K),te.setValue=function(K,ie,ke="i8"){switch(ke.endsWith("*")&&(ke="*"),ke){case"i1":case"i8":x()[K>>>0]=ie;break;case"i16":L()[K>>>1>>>0]=ie;break;case"i32":Y()[K>>>2>>>0]=ie;break;case"i64":Vo[K>>>3]=BigInt(ie);break;case"float":se()[K>>>2>>>0]=ie;break;case"double":ne()[K>>>3>>>0]=ie;break;case"*":Ae()[K>>>2>>>0]=ie;break;default:X0(`invalid type for setValue: ${ke}`)}},te.getValue=function(K,ie="i8"){switch(ie.endsWith("*")&&(ie="*"),ie){case"i1":case"i8":return x()[K>>>0];case"i16":return L()[K>>>1>>>0];case"i32":return Y()[K>>>2>>>0];case"i64":return Vo[K>>>3];case"float":return se()[K>>>2>>>0];case"double":return ne()[K>>>3>>>0];case"*":return Ae()[K>>>2>>>0];default:X0(`invalid type for getValue: ${ie}`)}},te.UTF8ToString=tn,te.stringToUTF8=C2,te.lengthBytesUTF8=pf,Hu=function K(){N1||Yg(),N1||(Hu=K)},Yg(),te.PTR_SIZE=4,Ge},EA=IA,((u=globalThis.self)==null?void 0:u.name)==="em-pthread"&&IA()}),l2=pe(()=>{xt(),Gt=typeof location>"u"?void 0:location.origin,bA=(()=>{var u;return(u=import.meta.url)!=null&&u.startsWith("file:")?new URL(new URL(s("./node_modules/onnxruntime-web/dist/ort.bundle.min.mjs?46eb"),s.b).href,Gt).href:import.meta.url})(),rA=()=>{if(bA&&!bA.startsWith("blob:"))return bA.substring(0,bA.lastIndexOf("/")+1)},br=(u,I)=>{try{let x=I??bA;return(x?new URL(u,x):new URL(u)).origin===Gt}catch{return!1}},wA=(u,I)=>{let x=I??bA;try{return(x?new URL(u,x):new URL(u)).href}catch{return}},OA=(u,I)=>`${I??"./"}${u}`,AA=async u=>{let I=await(await fetch(u,{credentials:"same-origin"})).blob();return URL.createObjectURL(I)},iA=async u=>(await import(u)).default,Jt=(tA(),We(jt)).default,LA=async()=>{if(!bA)throw new Error("Failed to load proxy worker: cannot determine the script source URL.");if(br(bA))return[void 0,Jt()];let u=await AA(bA);return[u,Jt(u)]},Lr=(c1(),We(oA)).default,Yr=async(u,I,x)=>{if(!u&&!I&&Lr&&bA&&br(bA))return[void 0,Lr];{let S="ort-wasm-simd-threaded.jsep.mjs",L=u??wA(S,I),W=x&&L&&!br(L,I),Y=W?await AA(L):L??OA(S,I);return[W?Y:void 0,await iA(Y)]}}}),u0=pe(()=>{l2(),MA=!1,NA=!1,JA=!1,WA=()=>{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}},DA=()=>{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}},Vr=async u=>{if(MA)return Promise.resolve();if(NA)throw new Error("multiple calls to 'initializeWebAssembly()' detected.");if(JA)throw new Error("previous call to 'initializeWebAssembly()' failed.");NA=!0;let I=u.initTimeout,x=u.numThreads;if(!DA())throw new Error("WebAssembly SIMD is not supported in the current environment.");let S=WA();x>1&&!S&&(typeof self<"u"&&!self.crossOriginIsolated&&console.warn("env.wasm.numThreads is set to "+x+", 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."),u.numThreads=x=1);let L=u.wasmPaths,W=typeof L=="string"?L:void 0,Y=L==null?void 0:L.mjs,Ae=(Y==null?void 0:Y.href)??Y,se=L==null?void 0:L.wasm,ne=(se==null?void 0:se.href)??se,ve=u.wasmBinary,[Ee,te]=await Yr(Ae,W,x>1),Ge=!1,Fe=[];if(I>0&&Fe.push(new Promise(Ke=>{setTimeout(()=>{Ge=!0,Ke()},I)})),Fe.push(new Promise((Ke,Ye)=>{let et={numThreads:x};if(ve)et.wasmBinary=ve;else if(ne||W)et.locateFile=ft=>ne??W+ft;else if(Ae&&Ae.indexOf("blob:")!==0)et.locateFile=ft=>new URL(ft,Ae).href;else if(Ee){let ft=rA();ft&&(et.locateFile=bt=>ft+bt)}te(et).then(ft=>{NA=!1,MA=!0,Tt=ft,Ke(),Ee&&URL.revokeObjectURL(Ee)},ft=>{NA=!1,JA=!0,Ye(ft)})})),await Promise.race(Fe),Ge)throw new Error(`WebAssembly backend initializing failed due to timeout: ${I}ms`)},xr=()=>{if(MA&&Tt)return Tt;throw new Error("WebAssembly is not initialized yet.")}}),Su=pe(()=>{u0(),Dr=(u,I)=>{let x=xr(),S=x.lengthBytesUTF8(u)+1,L=x._malloc(S);return x.stringToUTF8(u,L,S),I.push(L),L},Ls=(u,I,x,S)=>{if(typeof u=="object"&&u!==null){if(x.has(u))throw new Error("Circular reference in options");x.add(u)}Object.entries(u).forEach(([L,W])=>{let Y=I?I+L:L;if(typeof W=="object")Ls(W,Y+".",x,S);else if(typeof W=="string"||typeof W=="number")S(Y,W.toString());else{if(typeof W!="boolean")throw new Error("Can't handle extra config type: "+typeof W);S(Y,W?"1":"0")}})},HA=u=>{let I=xr(),x=I.stackSave();try{let S=I.PTR_SIZE,L=I.stackAlloc(2*S);I._OrtGetLastError(L,L+S);let W=Number(I.getValue(L,S===4?"i32":"i64")),Y=I.getValue(L+S,"*"),Ae=Y?I.UTF8ToString(Y):"";throw new Error(`${u} ERROR_CODE: ${W}, ERROR_MESSAGE: ${Ae}`)}finally{I.stackRestore(x)}}}),Nu=pe(()=>{u0(),Su(),ss=u=>{let I=xr(),x=0,S=[],L=u||{};try{if((u==null?void 0:u.logSeverityLevel)===void 0)L.logSeverityLevel=2;else if(typeof u.logSeverityLevel!="number"||!Number.isInteger(u.logSeverityLevel)||u.logSeverityLevel<0||u.logSeverityLevel>4)throw new Error(`log serverity level is not valid: ${u.logSeverityLevel}`);if((u==null?void 0:u.logVerbosityLevel)===void 0)L.logVerbosityLevel=0;else if(typeof u.logVerbosityLevel!="number"||!Number.isInteger(u.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${u.logVerbosityLevel}`);(u==null?void 0:u.terminate)===void 0&&(L.terminate=!1);let W=0;return(u==null?void 0:u.tag)!==void 0&&(W=Dr(u.tag,S)),x=I._OrtCreateRunOptions(L.logSeverityLevel,L.logVerbosityLevel,!!L.terminate,W),x===0&&HA("Can't create run options."),(u==null?void 0:u.extra)!==void 0&&Ls(u.extra,"",new WeakSet,(Y,Ae)=>{let se=Dr(Y,S),ne=Dr(Ae,S);I._OrtAddRunConfigEntry(x,se,ne)!==0&&HA(`Can't set a run config entry: ${Y} - ${Ae}.`)}),[x,S]}catch(W){throw x!==0&&I._OrtReleaseRunOptions(x),S.forEach(Y=>I._free(Y)),W}}}),u1=pe(()=>{u0(),Su(),Da=u=>{switch(u){case"disabled":return 0;case"basic":return 1;case"extended":return 2;case"all":return 99;default:throw new Error(`unsupported graph optimization level: ${u}`)}},dn=u=>{switch(u){case"sequential":return 0;case"parallel":return 1;default:throw new Error(`unsupported execution mode: ${u}`)}},Ga=u=>{u.extra||(u.extra={}),u.extra.session||(u.extra.session={});let I=u.extra.session;I.use_ort_model_bytes_directly||(I.use_ort_model_bytes_directly="1"),u.executionProviders&&u.executionProviders.some(x=>(typeof x=="string"?x:x.name)==="webgpu")&&(u.enableMemPattern=!1)},Ka=(u,I,x)=>{for(let S of I){let L=typeof S=="string"?S:S.name;switch(L){case"webnn":if(L="WEBNN",typeof S!="string"){let Y=S==null?void 0:S.deviceType;if(Y){let Ae=Dr("deviceType",x),se=Dr(Y,x);xr()._OrtAddSessionConfigEntry(u,Ae,se)!==0&&HA(`Can't set a session config entry: 'deviceType' - ${Y}.`)}}break;case"webgpu":if(L="JS",typeof S!="string"){let Y=S;if(Y!=null&&Y.preferredLayout){if(Y.preferredLayout!=="NCHW"&&Y.preferredLayout!=="NHWC")throw new Error(`preferredLayout must be either 'NCHW' or 'NHWC': ${Y.preferredLayout}`);let Ae=Dr("preferredLayout",x),se=Dr(Y.preferredLayout,x);xr()._OrtAddSessionConfigEntry(u,Ae,se)!==0&&HA(`Can't set a session config entry: 'preferredLayout' - ${Y.preferredLayout}.`)}}break;case"wasm":case"cpu":continue;default:throw new Error(`not supported execution provider: ${L}`)}let W=Dr(L,x);xr()._OrtAppendExecutionProvider(u,W)!==0&&HA(`Can't append execution provider: ${L}.`)}},gn=u=>{let I=xr(),x=0,S=[],L=u||{};Ga(L);try{let W=Da(L.graphOptimizationLevel??"all"),Y=dn(L.executionMode??"sequential"),Ae=typeof L.logId=="string"?Dr(L.logId,S):0,se=L.logSeverityLevel??2;if(!Number.isInteger(se)||se<0||se>4)throw new Error(`log serverity level is not valid: ${se}`);let ne=L.logVerbosityLevel??0;if(!Number.isInteger(ne)||ne<0||ne>4)throw new Error(`log verbosity level is not valid: ${ne}`);let ve=typeof L.optimizedModelFilePath=="string"?Dr(L.optimizedModelFilePath,S):0;if(x=I._OrtCreateSessionOptions(W,!!L.enableCpuMemArena,!!L.enableMemPattern,Y,!!L.enableProfiling,0,Ae,se,ne,ve),x===0&&HA("Can't create session options."),L.executionProviders&&Ka(x,L.executionProviders,S),L.enableGraphCapture!==void 0){if(typeof L.enableGraphCapture!="boolean")throw new Error(`enableGraphCapture must be a boolean value: ${L.enableGraphCapture}`);let Ee=Dr("enableGraphCapture",S),te=Dr(L.enableGraphCapture.toString(),S);I._OrtAddSessionConfigEntry(x,Ee,te)!==0&&HA(`Can't set a session config entry: 'enableGraphCapture' - ${L.enableGraphCapture}.`)}if(L.freeDimensionOverrides)for(let[Ee,te]of Object.entries(L.freeDimensionOverrides)){if(typeof Ee!="string")throw new Error(`free dimension override name must be a string: ${Ee}`);if(typeof te!="number"||!Number.isInteger(te)||te<0)throw new Error(`free dimension override value must be a non-negative integer: ${te}`);let Ge=Dr(Ee,S);I._OrtAddFreeDimensionOverride(x,Ge,te)!==0&&HA(`Can't set a free dimension override: ${Ee} - ${te}.`)}return L.extra!==void 0&&Ls(L.extra,"",new WeakSet,(Ee,te)=>{let Ge=Dr(Ee,S),Fe=Dr(te,S);I._OrtAddSessionConfigEntry(x,Ge,Fe)!==0&&HA(`Can't set a session config entry: ${Ee} - ${te}.`)}),[x,S]}catch(W){throw x!==0&&I._OrtReleaseSessionOptions(x)!==0&&HA("Can't release session options."),S.forEach(Y=>I._free(Y)),W}}}),Cr=pe(()=>{xs=u=>{switch(u){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 new Error(`unsupported data type: ${u}`)}},hn=u=>{switch(u){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 new Error(`unsupported data type: ${u}`)}},ya=(u,I)=>{let x=[-1,4,1,1,2,2,4,8,-1,1,2,8,4,8,-1,-1,-1,-1,-1,-1,-1,.5,.5][u],S=typeof I=="number"?I:I.reduce((L,W)=>L*W,1);return x>0?Math.ceil(S*x):void 0},ui=u=>{switch(u){case"float16":return typeof Float16Array<"u"&&Float16Array.from?Float16Array:Uint16Array;case"float32":return Float32Array;case"uint8":case"bool":return Uint8Array;case"int8":return Int8Array;case"uint16":return Uint16Array;case"int16":return Int16Array;case"int32":return Int32Array;case"float64":return Float64Array;case"uint32":return Uint32Array;case"int64":return BigInt64Array;case"uint64":return BigUint64Array;default:throw new Error(`unsupported type: ${u}`)}},La=u=>{switch(u){case"verbose":return 0;case"info":return 1;case"warning":return 2;case"error":return 3;case"fatal":return 4;default:throw new Error(`unsupported logging level: ${u}`)}},Va=u=>u==="float32"||u==="float16"||u==="int32"||u==="int64"||u==="uint32"||u==="uint8"||u==="bool"||u==="uint4"||u==="int4",ls=u=>u==="float32"||u==="float16"||u==="int32"||u==="int64"||u==="uint32"||u==="uint64"||u==="int8"||u==="uint8"||u==="bool"||u==="uint4"||u==="int4",yn=u=>{switch(u){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 new Error(`unsupported data location: ${u}`)}}}),zu=pe(()=>{xt(),Qn=async u=>{if(typeof u=="string"){let I=await fetch(u);if(!I.ok)throw new Error(`failed to load external data file: ${u}`);let x=I.headers.get("Content-Length"),S=x?parseInt(x,10):0;if(S<1073741824)return new Uint8Array(await I.arrayBuffer());{if(!I.body)throw new Error(`failed to load external data file: ${u}, no response body.`);let L,W=I.body.getReader();try{L=new ArrayBuffer(S)}catch(Ae){if(!(Ae instanceof RangeError))throw Ae;{let se=Math.ceil(S/65536);L=new WebAssembly.Memory({initial:se,maximum:se}).buffer}}let Y=0;for(;;){let{done:Ae,value:se}=await W.read();if(Ae)break;let ne=se.byteLength;new Uint8Array(L,Y,ne).set(se),Y+=ne}return new Uint8Array(L,0,S)}}return u instanceof Blob?new Uint8Array(await u.arrayBuffer()):u instanceof Uint8Array?u:new Uint8Array(u)}}),Lo=pe(()=>{Cr(),Ci=["V","I","W","E","F"],Ha=(u,I)=>{console.log(`[${Ci[u]},${new Date().toISOString()}]${I}`)},Ya=(u,I)=>{Pn=u,En=I},sr=(u,I)=>{let x=La(u);x>=La(Pn)&&Ha(x,typeof I=="function"?I():I)},pr=(...u)=>{En&&sr(...u)}}),Fu=pe(()=>{Cr(),oa=(u,I)=>new(ui(I))(u)}),c2=pe(()=>{}),f1=pe(()=>{Lo(),c2(),fi=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]]),_a=[],Zn=u=>16*Math.ceil(Number(u)/16),Za=u=>{for(let I=0;I<_a.length;I++){let x=_a[I];if(u<=x)return x}return 16*Math.ceil(u/16)},Ra=1,_t=()=>Ra++,ye=async(u,I,x,S)=>{let L=Zn(x),W=u.device.createBuffer({size:L,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ});try{let Y=u.getCommandEncoder();u.endComputePass(),Y.copyBufferToBuffer(I,0,W,0,L),u.flush(),await W.mapAsync(GPUMapMode.READ);let Ae=W.getMappedRange();if(S){let se=S();return se.set(new Uint8Array(Ae,0,x)),se}return new Uint8Array(Ae.slice(0,x))}finally{W.destroy()}},Ze=class{constructor(u){this.backend=u,this.storageCache=new Map,this.freeBuffers=new Map,this.freeUniformBuffers=new Map,this.buffersPending=[],this.capturedPendingBuffers=new Map;for(let[I]of fi)_a.push(I),this.freeBuffers.set(I,[]),this.freeUniformBuffers.set(I,[]);this.sessionCount=0}upload(u,I){let x=I.buffer,S=I.byteOffset,L=I.byteLength,W=Zn(L),Y=this.storageCache.get(u);if(!Y)throw new Error("gpu data for uploading does not exist");if(Number(Y.originalSize)!==L)throw new Error(`inconsistent data size. gpu data size=${Y.originalSize}, data size=${L}`);let Ae=this.backend.device.createBuffer({mappedAtCreation:!0,size:W,usage:GPUBufferUsage.MAP_WRITE|GPUBufferUsage.COPY_SRC}),se=Ae.getMappedRange();new Uint8Array(se).set(new Uint8Array(x,S,L)),Ae.unmap();let ne=this.backend.device.createCommandEncoder();ne.copyBufferToBuffer(Ae,0,Y.gpuData.buffer,0,W),this.backend.device.queue.submit([ne.finish()]),Ae.destroy(),pr("verbose",()=>`[WebGPU] GpuDataManager.upload(id=${u})`)}memcpy(u,I){let x=this.storageCache.get(u);if(!x)throw new Error("source gpu data for memcpy does not exist");let S=this.storageCache.get(I);if(!S)throw new Error("destination gpu data for memcpy does not exist");if(x.originalSize!==S.originalSize)throw new Error("inconsistent source and destination gpu data size");let L=Zn(x.originalSize),W=this.backend.getCommandEncoder();this.backend.endComputePass(),W.copyBufferToBuffer(x.gpuData.buffer,0,S.gpuData.buffer,0,L)}registerExternalBuffer(u,I,x){let S;if(x){if(S=x[0],u===x[1])return pr("verbose",()=>`[WebGPU] GpuDataManager.registerExternalBuffer(size=${I}) => id=${S}, buffer is the same, skip.`),S;if(this.backend.capturedCommandList.has(this.backend.currentSessionId))throw new Error(`Registering a different external buffer under graph capture mode is not supported yet.
91             Please use the previous external buffer!`)}else S=_t();return this.storageCache.set(S,{gpuData:{id:S,type:0,buffer:u},originalSize:I}),pr("verbose",()=>`[WebGPU] GpuDataManager.registerExternalBuffer(size=${I}) => id=${S}, registered.`),S}unregisterExternalBuffer(u){u!==void 0&&(this.storageCache.delete(u),pr("verbose",()=>`[WebGPU] GpuDataManager.unregisterExternalBuffer() => id=${u}`))}create(u,I=GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_SRC|GPUBufferUsage.COPY_DST){let x,S=Za(u),L=(I&GPUBufferUsage.STORAGE)===GPUBufferUsage.STORAGE,W=(I&GPUBufferUsage.UNIFORM)===GPUBufferUsage.UNIFORM;if(L||W){let Ae=(L?this.freeBuffers:this.freeUniformBuffers).get(S);x=Ae&&Ae.length>0?Ae.pop():this.backend.device.createBuffer({size:S,usage:I})}else x=this.backend.device.createBuffer({size:S,usage:I});let Y={id:_t(),type:0,buffer:x};return this.storageCache.set(Y.id,{gpuData:Y,originalSize:Number(u)}),pr("verbose",()=>`[WebGPU] GpuDataManager.create(size=${u}) => id=${Y.id}`),Y}get(u){var I;return(I=this.storageCache.get(u))==null?void 0:I.gpuData}release(u){let I=typeof u=="bigint"?Number(u):u,x=this.storageCache.get(I);if(!x){if(this.storageCache.size===0)return 0;throw new Error("releasing data does not exist")}return pr("verbose",()=>`[WebGPU] GpuDataManager.release(id=${I}), gpuDataId=${x.gpuData.id}`),this.storageCache.delete(I),this.buffersPending.push(x.gpuData.buffer),x.originalSize}async download(u,I){let x=this.storageCache.get(Number(u));if(!x)throw new Error("data does not exist");await ye(this.backend,x.gpuData.buffer,x.originalSize,I)}refreshPendingBuffers(){if(this.buffersPending.length!==0)if(this.backend.sessionStatus==="default"){for(let u of this.buffersPending){let I=fi.get(u.size);if((u.usage&GPUBufferUsage.STORAGE)===GPUBufferUsage.STORAGE){let x=this.freeBuffers.get(u.size)||[];I===void 0||x.length>=I?u.destroy():x.push(u)}else if((u.usage&GPUBufferUsage.UNIFORM)===GPUBufferUsage.UNIFORM){let x=this.freeUniformBuffers.get(u.size)||[];I===void 0||x.length>=I?u.destroy():x.push(u)}else u.destroy()}this.buffersPending=[]}else{let u=this.capturedPendingBuffers.get(this.backend.currentSessionId);u||(u=[],this.capturedPendingBuffers.set(this.backend.currentSessionId,u));for(let I of this.buffersPending)u.push(I);this.buffersPending=[]}}dispose(){this.freeBuffers.forEach(u=>{u.forEach(I=>{I.destroy()})}),this.freeUniformBuffers.forEach(u=>{u.forEach(I=>{I.destroy()})}),this.storageCache.forEach(u=>{u.gpuData.buffer.destroy()}),this.capturedPendingBuffers.forEach(u=>{u.forEach(I=>{I.destroy()})}),this.storageCache=new Map,this.freeBuffers=new Map,this.freeUniformBuffers=new Map,this.capturedPendingBuffers=new Map}onCreateSession(){this.sessionCount+=1}onReleaseSession(u){let I=this.capturedPendingBuffers.get(u);I&&(I.forEach(x=>{x.destroy()}),this.capturedPendingBuffers.delete(u)),this.sessionCount-=1,this.sessionCount===0&&(pr("warning",()=>"[WebGPU] Clearing webgpu buffer cache"),this.storageCache.forEach(x=>{x.gpuData.buffer.destroy()}),this.storageCache=new Map)}},ut=(...u)=>new Ze(...u)}),Ia=pe(()=>{mt=class{constructor(u){Object.assign(this,u)}get cacheKey(){return this.key||(this.key=Object.getOwnPropertyNames(this).sort().map(u=>`${this[u]}`).join(";")),this.key}},yt=u=>new mt(u)}),Mr=pe(()=>{Rt=class{static calcMatMulShape(u,I){return u[1]!==I[0]?void 0:[u[0],I[1]]}},cA=class{static calcShape(u,I,x=!1){let S=u.length,L=I.length;if(S===0)return I;if(L===0)return u;let W=Math.max(u.length,I.length),Y=new Array(W);if(x){if(S<2||L<2)return;let Ae=Rt.calcMatMulShape([u[S-2],u[S-1]],[I[L-2],I[L-1]]);if(Ae===void 0)return;[Y[W-2],Y[W-1]]=Ae}for(let Ae=x?3:1;Ae<=W;Ae++){let se=S-Ae<0?1:u[S-Ae],ne=L-Ae<0?1:I[L-Ae];if(se!==ne&&se>1&&ne>1)return;let ve=Math.max(se,ne);if(se&&ne)Y[W-Ae]=Math.max(se,ne);else{if(ve>1)return;Y[W-Ae]=0}}return Y}static isValidBroadcast(u,I){let x=u.length,S=I.length;if(x>S)return!1;for(let L=1;L<=x;L++)if(u[x-L]!==1&&u[x-L]!==I[S-L])return!1;return!0}},gt=class R1{static size(I){return R1.getSizeFromDimensionRange(I,0,I.length)}static convertShape(I,x=4){let S=I.length;if(S===0)return[];let L=new Array(S),W=S-1;for(;W>=0;){if(I[W]%x==0){L[W]=I[W]/x;break}if(x%I[W]!=0)throw new Error("cannot convert shape");L[W]=1,x/=I[W],W--}for(W--;W>=0;W--)L[W]=I[W];return L}static sizeFromDimension(I,x){if(x<0||x>I.length)throw new Error(`invalid dimension of ${x} for sizeFromDimension as Tensor has ${I.length} dimensions.`);return R1.getSizeFromDimensionRange(I,x,I.length)}static sizeToDimension(I,x){if(x<0||x>I.length)throw new Error(`invalid dimension of ${x} for sizeToDimension as Tensor has ${I.length} dimensions.`);return R1.getSizeFromDimensionRange(I,0,x)}static getSizeFromDimensionRange(I,x,S){let L=1;for(let W=x;W<S;W++){if(I[W]<0)throw new Error("cannot get valid size from specified dimension range. Most likely the range contains negative values in them.");L*=Number(I[W])}return L}static computeStrides(I){let x=I.length;if(x===0)return[];if(x===1)return[1];let S=new Array(x);S[x-1]=1,S[x-2]=I[x-1];for(let L=x-3;L>=0;--L)S[L]=S[L+1]*I[L+1];return S}static normalizeAxis(I,x){if(I<-x&&I>=x)throw new Error("unsupported axis for this operation.");return I<0?I+x:I}static normalizeAxes(I,x){return I.map(S=>this.normalizeAxis(S,x??I.length))}static sortBasedOnPerm(I,x){return x?x.map(S=>I[S]):I.slice().reverse()}static padShape(I,x){let S=I.length;return I.map((L,W)=>L+x[W]+x[W+S])}static areEqual(I,x){return I.length===x.length&&I.every((S,L)=>S===x[L])}},mA=class Uu{static adjustPoolAttributes(I,x,S,L,W,Y){if(!I&&S.length!==x.length-2)throw new Error("length of specified kernel shapes should be 2 less than length of input dimensions");if(I)for(let Ae=0;Ae<x.length-2;Ae++)Ae>=S.length?S.push(x[Ae+2]):S[Ae]=x[Ae+2];for(let Ae=0;Ae<S.length;Ae++)if(Ae<L.length){if(L[Ae]<0)throw new Error("strides should be greater than or equal to 1")}else L.push(1);for(let Ae=0;Ae<S.length;Ae++)if(Ae<W.length){if(W[Ae]<0)throw new Error("dilations should be greater than or equal to 1")}else W.push(1);for(let Ae=0;Ae<2*S.length;Ae++)if(Ae<Y.length){if(Y[Ae]<0)throw new Error("pad should be greater than or equal to 1")}else Y.push(0);for(let Ae=0;Ae<S.length;Ae++){if(S[Ae]<=0)throw new Error("kernel shapes need to be greater than 0");if(Y[Ae]>=S[Ae]||Y[Ae+S.length]>=S[Ae])throw new Error("pads should be smaller than kernel")}}static adjustPadsBasedOnAutoPad(I,x,S,L,W,Y,Ae){if(Ae){if(W.length!==2*(I.length-2))throw new Error("length of pads should be twice the length of data dimensions");if(x.length!==I.length-2)throw new Error("length of strides should be the length of data dimensions");if(L.length!==I.length-2)throw new Error("length of kernel shapes should be the length of data dimensions");for(let se=0;se<I.length-2;se++)Uu.adjustPadAndReturnShape(I[se+(Y?1:2)],x[se],S[se],L[se],W,se,se+I.length-2,Ae)}}static computePoolOutputShape(I,x,S,L,W,Y,Ae){if(x.length<=0)throw new Error("input shape must be of size greater than 0");let se=[x[0],x[1]];return Uu.computeShapeHelper(I,x,se,S,L,W,Y,Ae),se}static computeConvOutputShape(I,x,S,L,W,Y,Ae){if(I.length<=0||x.length<=0)throw new Error("invalid input tensor dims or invalid filter tensor dims");let se=[I[0],x[0]];return Uu.computeShapeHelper(!1,I,se,S,L,W,Y,Ae),se}static computeShapeHelper(I,x,S,L,W,Y,Ae,se){if(I)for(let ne=0;ne<x.length-2;ne++)S.push(1);else for(let ne=0;ne<x.length-2;ne++)S.push(Uu.adjustPadAndReturnShape(x[ne+2],L[ne],W[ne],Y[ne],Ae,ne,ne+x.length-2,se))}static adjustPadAndReturnShape(I,x,S,L,W,Y,Ae,se){let ne=S*(L-1)+1;if(!se||se==="NOTSET")return Math.floor((I+W[Y]+W[Ae]-ne)/x+1);switch(se){case"VALID":return W[Y]=0,W[Ae]=0,Math.floor((I-ne)/x+1);case"SAME_LOWER":case"SAME_UPPER":if(S!==1)throw new Error("Dilation not supported for SAME_UPPER or SAME_LOWER");{let ve=((I+x-1)/x-1)*x+L-I;return W[Y]=Math.floor(se==="SAME_LOWER"?(ve+1)/2:ve/2),W[Ae]=ve-W[Y],Math.floor((I+ve-L)/x+1)}default:throw new Error("Unsupported AutoPad type")}}},lA=class{static getShapeOfGemmResult(u,I,x,S,L){if(u.length!==2||x.length!==2)throw new Error("shape need to be of size 2");let W,Y,Ae;I?(W=u[1],Y=u[0]):(W=u[0],Y=u[1]);let se=-1;if(S?(Ae=x[0],se=1):(Ae=x[1],se=0),x[se]!==Y)throw new Error("dimension mismatch");if(W<=0||Ae<=0||Y<=0)throw new Error("invalid shape specified");if(L&&!cA.isValidBroadcast(L,[W,Ae]))throw new Error("gemm: invalid bias shape for broadcast");return[W,Ae,Y]}},lr=-34028234663852886e22,Wr=34028234663852886e22}),Pr=pe(()=>{Cr(),Mr(),Tr=64,Or=(u,I)=>{if(I===3)throw new Error("vec3 has same alignment as vec4, use vec4 instead");switch(Number(u)){case 10:return I>1?`vec${I}<f16>`:"f16";case 1:return I>1?`vec${I}<f32>`:"f32";case 6:return I>1?`vec${I}<i32>`:"i32";case 12:return I>1?`vec${I}<u32>`:"u32";case 7:if(I>1)throw new Error("currently not supported vecX of uint64 yet");return["vec2<u32>","i32"];case 13:if(I>1)throw new Error("currently not supported vecX of uint64 yet");return["vec2<u32>","u32"];case 9:if(I!==4)throw new Error("bool must be vec4");return["u32","vec4<bool>"];case 22:return"i32";case 21:return"u32";default:throw new Error(`Unknown data type: ${u}`)}},fr=(u,I=1)=>{let x=Or(u,I);return typeof x=="string"?x:x[0]},kA=(u,I=1)=>{let x=Or(u,I);return typeof x=="string"?x:x[1]},QA=(...u)=>{let I=[];return u.forEach(x=>{x.length!==0&&I.push({type:12,data:x},{type:12,data:gt.computeStrides(x)})}),I},Qr=u=>u%4==0?4:u%2==0?2:1,ga=(u="f32",I,x="0")=>I&&I!==1?`vec${I}<${u}>(${x})`:`${u}(${x})`,_s=(u,I,x)=>u==="f32"?x:I===1?`f32(${x})`:`vec${I}<f32>(${x})`,rs=(u,I)=>I===4?`(${u}.x + ${u}.y + ${u}.z + ${u}.w)`:I===2?`(${u}.x + ${u}.y)`:I===3?`(${u}.x + ${u}.y + ${u}.z)`:u,zA=(u,I,x,S)=>u.startsWith("uniforms.")&&x>4?typeof I=="string"?S==="f16"?`${u}[(${I}) / 8][(${I}) % 8 / 4][(${I}) % 8 % 4]`:`${u}[(${I}) / 4][(${I}) % 4]`:S==="f16"?`${u}[${Math.floor(I/8)}][${Math.floor(I%8/4)}][${I%8%4}]`:`${u}[${Math.floor(I/4)}][${I%4}]`:x>1?`${u}[${I}]`:u,Kr=(u,I,x,S,L)=>{let W=typeof x=="number",Y=W?x:x.length,Ae=[...new Array(Y).keys()],se=Y<2?"u32":Y<=4?`vec${Y}<u32>`:`array<u32, ${Y}>`,ne=Or(I,L),ve=typeof ne=="string"?ne:ne[1],Ee=typeof ne=="string"?ne:ne[0],te={indices:se,value:ve,storage:Ee,tensor:I},Ge=Vt=>typeof Vt=="string"?Vt:`${Vt}u`,Fe={offsetToIndices:!1,indicesToOffset:!1,broadcastedIndicesToOffset:!1,set:!1,setByIndices:!1,get:!1,getByIndices:!1},Ke=W?"uniforms.":"",Ye=`${Ke}${u}_shape`,et=`${Ke}${u}_strides`,ft="";for(let Vt=0;Vt<Y-1;Vt++)ft+=`
92    let dim${Vt} = current / ${zA(et,Vt,Y)};
93    let rest${Vt} = current % ${zA(et,Vt,Y)};
94    indices[${Vt}] = dim${Vt};
95    current = rest${Vt};
96    `;ft+=`indices[${Y-1}] = current;`;let bt=Y<2?"":`
97  fn o2i_${u}(offset: u32) -> ${te.indices} {
98    var indices: ${te.indices};
99    var current = offset;
100    ${ft}
101    return indices;
102  }`,Mt=[];if(Y>=2)for(let Vt=Y-1;Vt>=0;Vt--)Mt.push(`${zA(et,Vt,Y)} * (indices[${Vt}])`);let Dt=Y<2?"":`
103  fn i2o_${u}(indices: ${te.indices}) -> u32 {
104    return ${Mt.join("+")};
105  }`,Nt=(...Vt)=>Y===0?"0u":`${te.indices}(${Vt.map(Ge).join(",")})`,pA=(Vt,ZA)=>Y<2?`${Vt}`:`${zA(Vt,ZA,Y)}`,xA={},ar=(Vt,ZA)=>(()=>{if(te.storage===te.value)return`${u}[${Vt}]=${ZA};`;if(te.storage==="vec2<u32>"&&te.value==="i32")return`${u}[${Vt}]=vec2<u32>(u32(${ZA}), select(0u, 0xFFFFFFFFu, ${ZA} < 0));`;if(te.storage==="vec2<u32>"&&te.value==="u32")return`${u}[${Vt}]=vec2<u32>(u32(${ZA}), 0u);`;if(te.storage==="u32"&&te.value==="vec4<bool>")return`${u}[${Vt}]=dot(vec4<u32>(0x1, 0x100, 0x10000, 0x1000000), vec4<u32>(${ZA}));`;throw new Error(`not supported combination of storage type ${te.storage} and value type ${te.value} yet`)})(),nr=Vt=>(()=>{if(te.storage===te.value)return`${u}[${Vt}]`;if(te.storage==="vec2<u32>"&&te.value==="i32")return`i32(${u}[${Vt}].x)`;if(te.storage==="vec2<u32>"&&te.value==="u32")return`u32(${u}[${Vt}].x)`;if(te.storage==="u32"&&te.value==="vec4<bool>")return`vec4<bool>(bool(${u}[${Vt}] & 0xFFu), bool(${u}[${Vt}] & 0xFF00u), bool(${u}[${Vt}] & 0xFF0000u), bool(${u}[${Vt}] & 0xFF000000u))`;throw new Error(`not supported combination of storage type ${te.storage} and value type ${te.value} yet`)})(),$r=Y<2?"":`
106  fn get_${u}ByIndices(indices: ${te.indices}) -> ${ve} {
107    return ${nr(`i2o_${u}(indices)`)};
108  }`,ir=Y<2?"":(()=>{let Vt=Ae.map(RA=>`d${RA}: u32`).join(", "),ZA=Ae.map(RA=>`d${RA}`).join(", ");return`
109  fn get_${u}(${Vt}) -> ${ve} {
110    return get_${u}ByIndices(${Nt(ZA)});
111  }`})(),Er=Y<2?"":`
112  fn set_${u}ByIndices(indices: ${te.indices}, value: ${ve}) {
113    ${ar(`i2o_${u}(indices)`,"value")}
114  }`,kr=Y<2?"":(()=>{let Vt=Ae.map(RA=>`d${RA}: u32`).join(", "),ZA=Ae.map(RA=>`d${RA}`).join(", ");return`
115  fn set_${u}(${Vt}, value: ${ve}) {
116    set_${u}ByIndices(${Nt(ZA)}, value);
117  }`})();return{impl:()=>{let Vt=[],ZA=!1;return Fe.offsetToIndices&&(Vt.push(bt),ZA=!0),Fe.indicesToOffset&&(Vt.push(Dt),ZA=!0),Fe.broadcastedIndicesToOffset&&(Object.values(xA).forEach(RA=>Vt.push(RA)),ZA=!0),Fe.set&&(Vt.push(kr),ZA=!0),Fe.setByIndices&&(Vt.push(Er),ZA=!0),Fe.get&&(Vt.push(ir),ZA=!0),Fe.getByIndices&&(Vt.push($r),ZA=!0),!W&&ZA&&Vt.unshift(`const ${Ye} = ${te.indices}(${x.join(",")});`,`const ${et} = ${te.indices}(${gt.computeStrides(x).join(",")});`),Vt.join(`
118`)},type:te,offsetToIndices:Vt=>(Fe.offsetToIndices=!0,Y<2?Vt:`o2i_${u}(${Vt})`),indicesToOffset:Vt=>(Fe.indicesToOffset=!0,Y<2?Vt:`i2o_${u}(${Vt})`),broadcastedIndicesToOffset:(Vt,ZA)=>{Fe.broadcastedIndicesToOffset=!0;let RA=`${ZA.name}broadcastedIndicesTo${u}Offset`;if(RA in xA)return`${RA}(${Vt})`;let UA=[];for(let us=Y-1;us>=0;us--){let za=ZA.indicesGet("outputIndices",us+ZA.rank-Y);UA.push(`${pA(et,us)} * (${za} % ${pA(Ye,us)})`)}return xA[RA]=`fn ${RA}(outputIndices: ${ZA.type.indices}) -> u32 {
119             return ${UA.length>0?UA.join("+"):"0u"};
120           }`,`${RA}(${Vt})`},indices:Nt,indicesGet:pA,indicesSet:(Vt,ZA,RA)=>Y<2?`${Vt}=${RA};`:`${zA(Vt,ZA,Y)}=${RA};`,set:(...Vt)=>{if(Vt.length!==Y+1)throw new Error(`indices length must be ${Y}`);let ZA=Vt[Y];if(typeof ZA!="string")throw new Error("value must be string");let RA=Vt.slice(0,Y).map(Ge).join(",");return Y===0?ar("0u",ZA):Y===1?ar(RA[0],ZA):(Fe.set=!0,Fe.setByIndices=!0,Fe.indicesToOffset=!0,`set_${u}(${RA}, ${ZA})`)},setByOffset:ar,setByIndices:(Vt,ZA)=>Y<2?ar(Vt,ZA):(Fe.setByIndices=!0,Fe.indicesToOffset=!0,`set_${u}ByIndices(${Vt}, ${ZA});`),get:(...Vt)=>{if(Vt.length!==Y)throw new Error(`indices length must be ${Y}`);let ZA=Vt.map(Ge).join(",");return Y===0?nr("0u"):Y===1?nr(ZA[0]):(Fe.get=!0,Fe.getByIndices=!0,Fe.indicesToOffset=!0,`get_${u}(${ZA})`)},getByOffset:nr,getByIndices:Vt=>Y<2?nr(Vt):(Fe.getByIndices=!0,Fe.indicesToOffset=!0,`get_${u}ByIndices(${Vt})`),usage:S,name:u,strides:et,shape:Ye,rank:Y}},Wt=(u,I,x,S=1)=>Kr(u,I,x,"input",S),PA=(u,I,x,S=1)=>Kr(u,I,x,"output",S),ra=(u,I,x)=>Kr(u,I,x,"atomicOutput",1),Vs=(u,I,x,S=1)=>Kr(u,I,x,"internal",S),ms=class{constructor(u,I){this.normalizedDispatchGroup=u,this.limits=I,this.internalVariables=[],this.variables=[],this.uniforms=[],this.variableIndex=0}guardAgainstOutOfBoundsWorkgroupSizes(u){return`if (global_idx >= ${typeof u=="number"?`${u}u`:u}) { return; }`}mainStart(u=Tr){let I=typeof u=="number"?u:u[0],x=typeof u=="number"?1:u[1],S=typeof u=="number"?1:u[2];if(I>this.limits.maxComputeWorkgroupSizeX||x>this.limits.maxComputeWorkgroupSizeY||S>this.limits.maxComputeWorkgroupSizeZ)throw new Error(`workgroup size [${I}, ${x}, ${S}] exceeds the maximum workgroup size [${this.limits.maxComputeWorkgroupSizeX}, ${this.limits.maxComputeWorkgroupSizeY}, ${this.limits.maxComputeWorkgroupSizeZ}].`);if(I*x*S>this.limits.maxComputeInvocationsPerWorkgroup)throw new Error(`workgroup size [${I}, ${x}, ${S}] exceeds the maximum workgroup invocations ${this.limits.maxComputeInvocationsPerWorkgroup}.`);let L=this.normalizedDispatchGroup[1]===1&&this.normalizedDispatchGroup[2]===1;return`@compute @workgroup_size(${I}, ${x}, ${S})
121  fn main(${L?`@builtin(global_invocation_id) global_id : vec3<u32>,
122    @builtin(workgroup_id) workgroup_id : vec3<u32>,
123    @builtin(local_invocation_index) local_idx : u32,
124    @builtin(local_invocation_id) local_id : vec3<u32>`:`@builtin(global_invocation_id) global_id : vec3<u32>,
125                                             @builtin(local_invocation_id) local_id : vec3<u32>,
126    @builtin(local_invocation_index) local_idx : u32,
127    @builtin(workgroup_id) workgroup_id : vec3<u32>,
128    @builtin(num_workgroups) num_workgroups : vec3<u32>`}) {
129    ${L?`let global_idx = global_id.x;
130         let workgroup_index = workgroup_id.x;`:`let workgroup_index = workgroup_id.z * num_workgroups[0] * num_workgroups[1] +
131             workgroup_id.y * num_workgroups[0] + workgroup_id.x;
132         let global_idx = workgroup_index * ${I*x*S}u + local_idx;`}
133  `}appendVariableUniforms(u){u.rank!==0&&(u.shape.startsWith("uniforms.")&&this.uniforms.push({name:u.shape.replace("uniforms.",""),type:"u32",length:u.rank}),u.strides.startsWith("uniforms.")&&this.uniforms.push({name:u.strides.replace("uniforms.",""),type:"u32",length:u.rank}))}declareVariable(u,I){if(u.usage==="internal")throw new Error("cannot use internal variable with declareVariable(). use registerInternalVariables() instead.");this.variables.push(u),this.appendVariableUniforms(u);let x=u.usage==="input"?"read":"read_write",S=u.usage==="atomicOutput"?"atomic<i32>":u.type.storage;return`@group(0) @binding(${I}) var<storage, ${x}> ${u.name}: array<${S}>;`}declareVariables(...u){return u.map(I=>this.declareVariable(I,this.variableIndex++)).join(`
134`)}registerInternalVariable(u){if(u.usage!=="internal")throw new Error("cannot use input or output variable with registerInternalVariable(). use declareVariables() instead.");this.internalVariables.push(u),this.appendVariableUniforms(u)}registerInternalVariables(...u){return u.forEach(I=>this.registerInternalVariable(I)),this}registerUniform(u,I,x=1){return this.uniforms.push({name:u,type:I,length:x}),this}registerUniforms(u){return this.uniforms=this.uniforms.concat(u),this}uniformDeclaration(){if(this.uniforms.length===0)return"";let u=[];for(let{name:I,type:x,length:S}of this.uniforms)if(S&&S>4)x==="f16"?u.push(`@align(16) ${I}:array<mat2x4<${x}>, ${Math.ceil(S/8)}>`):u.push(`${I}:array<vec4<${x}>, ${Math.ceil(S/4)}>`);else{let L=S==null||S===1?x:`vec${S}<${x}>`;u.push(`${I}:${L}`)}return`
135      struct Uniforms { ${u.join(", ")} };
136      @group(0) @binding(${this.variableIndex}) var<uniform> uniforms: Uniforms;`}get additionalImplementations(){return this.uniformDeclaration()+this.variables.map(u=>u.impl()).join(`
137`)+this.internalVariables.map(u=>u.impl()).join(`
138`)}get variablesInfo(){if(this.uniforms.length===0)return;let u=I=>[12,10,1,6][["u32","f16","f32","i32"].indexOf(I)];return this.uniforms.map(I=>[u(I.type),I.length??1])}},Ts=(u,I)=>new ms(u,I)}),a0=pe(()=>{Cr(),Mr(),Ia(),Pr(),as=(u,I)=>{if(!u||u.length!==1)throw new Error("Transpose requires 1 input.");if(I.length!==0&&I.length!==u[0].dims.length)throw new Error(`perm size ${I.length} does not match input rank ${u[0].dims.length}`)},vr=(u,I)=>I.length!==0?I:[...new Array(u).keys()].reverse(),cs=(u,I)=>gt.sortBasedOnPerm(u,vr(u.length,I)),Sn=(u,I,x,S)=>{let L=`fn perm(i: ${S.type.indices}) -> ${x.type.indices} {
139    var a: ${x.type.indices};`;for(let W=0;W<I;++W)L+=`a[${u[W]}]=i[${W}];`;return L+"return a;}"},Ta=(u,I)=>{let x=[],S=[];for(let L=0;L<u.length;++L)u[L]!==1&&x.push(u[L]),u[I[L]]!==1&&S.push(I[L]);return{newShape:x,newPerm:S}},zi=(u,I)=>{let x=0;for(let S=0;S<u.length;++S)if(I[u[S]]!==1){if(u[S]<x)return!1;x=u[S]}return!0},Hs=(u,I)=>{let x,S=u.dataType,L=u.dims.length,W=vr(L,I),Y=cs(u.dims,W),Ae=u.dims,se=Y;if(L<2||zi(W,u.dims))return x=Ge=>{let Fe=Wt("input",S,Ae,4),Ke=PA("output",S,se,4);return`
140  ${Ge.registerUniform("output_size","u32").declareVariables(Fe,Ke)}
141  ${Ge.mainStart()}
142    ${Ge.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
143    output[global_idx] = input[global_idx];
144  }`},{name:"TransposeCopy",shaderCache:{inputDependencies:["type"]},getRunData:()=>{let Ge=gt.size(Y);return{outputs:[{dims:Y,dataType:u.dataType}],dispatchGroup:{x:Math.ceil(Ge/64/4)},programUniforms:[{type:12,data:Math.ceil(Ge/4)}]}},getShaderSource:x};let{newShape:ne,newPerm:ve}=Ta(u.dims,W),Ee=gt.areEqual(ve,[2,3,1]),te=gt.areEqual(ve,[3,1,2]);if(ne.length===2||Ee||te){Ae=Ee?[ne[0],ne[1]*ne[2]]:te?[ne[0]*ne[1],ne[2]]:ne,se=[Ae[1],Ae[0]];let Ge=16;return x=Fe=>{let Ke=Wt("a",S,Ae.length),Ye=PA("output",S,se.length);return`
145  ${Fe.registerUniform("output_size","u32").declareVariables(Ke,Ye)}
146  var<workgroup> tile : array<array<${Ye.type.value}, ${Ge+1}>, ${Ge}>;
147  ${Fe.mainStart([Ge,Ge,1])}
148    let stride = (uniforms.output_shape[1] - 1) / ${Ge} + 1;
149    let workgroup_id_x = workgroup_index % stride;
150    let workgroup_id_y = workgroup_index / stride;
151    let input_col = workgroup_id_y * ${Ge}u + local_id.x;
152    let input_row = workgroup_id_x * ${Ge}u + local_id.y;
153    if (input_row < uniforms.a_shape[0] && input_col < uniforms.a_shape[1]) {
154      tile[local_id.y][local_id.x] = ${Ke.getByIndices(`${Ke.type.indices}(input_row, input_col)`)};
155    }
156    workgroupBarrier();
157
158    let output_col = workgroup_id_x * ${Ge}u + local_id.x;
159    let output_row = workgroup_id_y * ${Ge}u + local_id.y;
160    if (output_row < uniforms.output_shape[0] && output_col < uniforms.output_shape[1]) {
161      ${Ye.setByIndices(`${Ye.type.indices}(output_row, output_col)`,"tile[local_id.x][local_id.y]")}
162    }
163  }`},{name:"TransposeShared",shaderCache:{inputDependencies:["type"]},getRunData:()=>{let Fe=gt.size(Y);return{outputs:[{dims:Y,dataType:u.dataType}],dispatchGroup:{x:Math.ceil(se[1]/Ge),y:Math.ceil(se[0]/Ge)},programUniforms:[{type:12,data:Fe},...QA(Ae,se)]}},getShaderSource:x}}return x=Ge=>{let Fe=Wt("a",S,Ae.length),Ke=PA("output",S,se.length);return`
164  ${Ge.registerUniform("output_size","u32").declareVariables(Fe,Ke)}
165
166  ${Sn(W,L,Fe,Ke)}
167
168  ${Ge.mainStart()}
169    ${Ge.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
170
171    let indices = ${Ke.offsetToIndices("global_idx")};
172    let aIndices = perm(indices);
173
174    ${Ke.setByOffset("global_idx",Fe.getByIndices("aIndices"))}
175  }`},{name:"Transpose",shaderCache:{hint:`${I}`,inputDependencies:["rank"]},getRunData:()=>{let Ge=gt.size(Y);return{outputs:[{dims:Y,dataType:u.dataType}],dispatchGroup:{x:Math.ceil(Ge/64)},programUniforms:[{type:12,data:Ge},...QA(Ae,se)]}},getShaderSource:x}},Fi=(u,I)=>{as(u.inputs,I.perm),u.compute(Hs(u.inputs[0],I.perm))},ur=u=>yt({perm:u.perm})}),d1=pe(()=>{Cr(),Mr(),Pr(),u2(),a0(),Us={max:"select(bestValue, candidate, candidate > bestValue)",min:"select(bestValue, candidate, candidate < bestValue)",mean:"bestValue + candidate",sum:"bestValue + candidate",prod:"bestValue * candidate",sumSquare:"bestValue + candidate * candidate",logSumExp:"bestValue + exp(candidate)",l1:"bestValue + abs(candidate)",l2:"bestValue + candidate * candidate",logSum:"bestValue + candidate"},ja={max:"select(bestValue, candidate, candidate > bestValue)",min:"select(bestValue, candidate, candidate < bestValue)",mean:"bestValue + candidate",sum:"bestValue + candidate",prod:"bestValue * candidate",sumSquare:"bestValue + candidate",logSumExp:"bestValue + candidate",l1:"bestValue + candidate",l2:"bestValue + candidate",logSum:"bestValue + candidate"},Mo={max:"_A[offset]",min:"_A[offset]",mean:"0",sum:"0",prod:"1",sumSquare:"0",logSumExp:"0",l1:"0",l2:"0",logSum:"0"},Oi={max:"bestValue",min:"bestValue",sum:"bestValue",prod:"bestValue",sumSquare:"bestValue",logSumExp:"log(bestValue)",l1:"bestValue",l2:"sqrt(bestValue)",logSum:"log(bestValue)"},Xn=(u,I)=>{let x=[];for(let S=I-u;S<I;++S)x.push(S);return x},Ii=(u,I)=>{let x=[],S=u.length;for(let W=0;W<S;W++)I.indexOf(W)===-1&&x.push(u[W]);let L=I.map(W=>u[W]);return[x,L]},Nn=(u,I)=>{let x=u.length+I.length,S=[],L=0;for(let W=0;W<x;W++)I.indexOf(W)===-1?S.push(u[L++]):S.push(1);return S},zn=(u,I)=>{for(let x=0;x<u.length;++x)if(u[u.length-x-1]!==I-1-x)return!1;return!0},Do=(u,I)=>{let x=[];if(!zn(u,I)){for(let S=0;S<I;++S)u.indexOf(S)===-1&&x.push(S);u.forEach(S=>x.push(S))}return x},pn=(u,I,x,S,L,W,Y)=>{let Ae=x[0].dims,se=gt.size(W),ne=gt.size(Y),ve=Wt("_A",x[0].dataType,Ae),Ee=PA("output",L,W),te=64;se===1&&(te=256);let Ge=`
176          var<workgroup> aBestValues : array<f32, ${te}>;
177       `;return{name:u,shaderCache:{hint:`${I};${te}`,inputDependencies:["type"]},getShaderSource:Fe=>`
178        ${Fe.registerUniform("reduceSize","u32").declareVariables(ve,Ee)}
179        ${Ge}
180        fn DIV_CEIL(a : u32, b : u32) -> u32 {
181          return ((a - 1u) / b + 1u);
182         }
183         ${Fe.mainStart(te)}
184
185          let outputIndex = global_idx / ${te};
186          let offset = outputIndex * uniforms.reduceSize;
187
188          var bestValue = f32(${Mo[S]});
189          let Length = uniforms.reduceSize;
190          for (var k = local_idx; k < Length; k = k + ${te}) {
191           let candidate = f32(${ve.getByOffset("offset + k")});
192           bestValue = ${Us[S]};
193          }
194          aBestValues[local_idx] = bestValue;
195          workgroupBarrier();
196
197         var reduceSize = min(Length, ${te}u);
198         for (var currentSize = reduceSize / 2u; reduceSize > 1u;
199             currentSize = reduceSize / 2u) {
200           let interval = DIV_CEIL(reduceSize, 2u);
201           if (local_idx < currentSize) {
202            let candidate = aBestValues[local_idx + interval];
203            bestValue = ${ja[S]};
204            aBestValues[local_idx] = bestValue;
205           }
206           reduceSize = interval;
207           workgroupBarrier();
208         }
209
210         if (local_idx == 0u) {
211          ${Ee.setByOffset("outputIndex",S==="mean"?`${Ee.type.storage}(bestValue / f32(uniforms.reduceSize))`:`${Ee.type.storage}(${Oi[S]})`)};
212         }
213        }`,getRunData:()=>({outputs:[{dims:W,dataType:L}],dispatchGroup:{x:se},programUniforms:[{type:12,data:ne}]})}},Qa=(u,I,x,S)=>{let L=u.inputs.length===1?x:mn(u.inputs,x),W=L.axes;W.length===0&&!L.noopWithEmptyAxes&&(W=u.inputs[0].dims.map((Ge,Fe)=>Fe));let Y=gt.normalizeAxes(W,u.inputs[0].dims.length),Ae=Y,se=u.inputs[0],ne=Do(Ae,u.inputs[0].dims.length);ne.length>0&&(se=u.compute(Hs(u.inputs[0],ne),{inputs:[0],outputs:[-1]})[0],Ae=Xn(Ae.length,se.dims.length));let[ve,Ee]=Ii(se.dims,Ae),te=ve;L.keepDims&&(te=Nn(ve,Y)),u.compute(pn(I,L.cacheKey,[se],S,u.inputs[0].dataType,te,Ee),{inputs:[se]})},Ys=(u,I)=>{Qa(u,"ReduceMeanShared",I,"mean")},BA=(u,I)=>{Qa(u,"ReduceL1Shared",I,"l1")},sa=(u,I)=>{Qa(u,"ReduceL2Shared",I,"l2")},wi=(u,I)=>{Qa(u,"ReduceLogSumExpShared",I,"logSumExp")},ki=(u,I)=>{Qa(u,"ReduceMaxShared",I,"max")},io=(u,I)=>{Qa(u,"ReduceMinShared",I,"min")},Fn=(u,I)=>{Qa(u,"ReduceProdShared",I,"prod")},Go=(u,I)=>{Qa(u,"ReduceSumShared",I,"sum")},di=(u,I)=>{Qa(u,"ReduceSumSquareShared",I,"sumSquare")},oo=(u,I)=>{Qa(u,"ReduceLogSumShared",I,"logSum")}}),u2=pe(()=>{Cr(),Mr(),Ia(),Pr(),d1(),Ea=u=>{if(!u||u.length===0||u.length>2)throw new Error("Reduce op requires 1 or 2 inputs.");if(u.length===2&&u[1].dims.length!==1)throw new Error("Invalid axes input dims.")},Xr=u=>["","",`var value = ${u.getByIndices("input_indices")};`,""],qn=(u,I,x,S,L,W,Y=!1,Ae=!1)=>{let se=[],ne=x[0].dims,ve=ne.length,Ee=gt.normalizeAxes(L,ve),te=!Ae&&Ee.length===0;ne.forEach((Ke,Ye)=>{te||Ee.indexOf(Ye)>=0?Y&&se.push(1):se.push(Ke)});let Ge=se.length,Fe=gt.size(se);return{name:u,shaderCache:I,getShaderSource:Ke=>{let Ye=[],et=Wt("_A",x[0].dataType,ve),ft=PA("output",W,Ge),bt=S(et,ft,Ee),Mt=bt[2];for(let Dt=0,Nt=0;Dt<ve;Dt++)te||Ee.indexOf(Dt)>=0?(Y&&Nt++,Mt=`for(var j${Dt}: u32 = 0; j${Dt} < ${ne[Dt]}; j${Dt}++) {
214                  ${bt[2].includes("last_index")?`let last_index = j${Dt};`:""}
215                  ${et.indicesSet("input_indices",Dt,`j${Dt}`)}
216                  ${Mt}
217                }`):(Ye.push(`${et.indicesSet("input_indices",Dt,ft.indicesGet("output_indices",Nt))};`),Nt++);return`
218
219        ${Ke.registerUniform("output_size","u32").declareVariables(et,ft)}
220
221        ${Ke.mainStart()}
222          ${Ke.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
223          var input_indices: ${et.type.indices};
224          let output_indices = ${ft.offsetToIndices("global_idx")};
225
226          ${Ye.join(`
227`)}
228          ${bt[0]}       // init ops for reduce max/min
229          ${bt[1]}
230          ${Mt}
231          ${bt[3]}
232          ${bt.length===4?ft.setByOffset("global_idx","value"):bt.slice(4).join(`
233`)}
234        }`},getRunData:()=>({outputs:[{dims:se,dataType:W}],dispatchGroup:{x:Math.ceil(Fe/64)},programUniforms:[{type:12,data:Fe},...QA(ne,se)]})}},mn=(u,I)=>{let x=[];return u[1].dims[0]>0&&u[1].getBigInt64Array().forEach(S=>x.push(Number(S))),yt({axes:x,keepDims:I.keepDims,noopWithEmptyAxes:I.noopWithEmptyAxes})},Xs=(u,I,x,S)=>{let L=u.inputs,W=L.length===1?x:mn(L,x);u.compute(qn(I,{hint:W.cacheKey,inputDependencies:["rank"]},[L[0]],W.noopWithEmptyAxes&&W.axes.length===0?Xr:S,W.axes,L[0].dataType,W.keepDims,W.noopWithEmptyAxes),{inputs:[0]})},Bn=(u,I)=>{Ea(u.inputs),Xs(u,"ReduceLogSum",I,(x,S)=>[`var value = ${S.type.storage}(0);`,"",`value += ${x.getByIndices("input_indices")};`,"value = log(value);"])},rn=(u,I)=>{Ea(u.inputs),Xs(u,"ReduceL1",I,(x,S)=>[`var value = ${S.type.storage}(0);`,"",`value += abs(${x.getByIndices("input_indices")});`,""])},lo=(u,I)=>{Ea(u.inputs),Xs(u,"ReduceL2",I,(x,S)=>[`var t = ${S.type.value}(0); var value = ${S.type.value}(0);`,"",`t = ${x.getByIndices("input_indices")}; value += (t * t);`,"value = sqrt(value);"])},xn=(u,I)=>{Ea(u.inputs),Xs(u,"ReduceLogSumExp",I,(x,S)=>[`var value = ${S.type.storage}(0);`,"",`value += exp(${x.getByIndices("input_indices")});`,"value = log(value);"])},Jn=(u,I)=>{Ea(u.inputs),Xs(u,"ReduceMax",I,(x,S,L)=>{let W=[];for(let Y=0;Y<x.rank;Y++)(L.indexOf(Y)>=0||L.length===0)&&W.push(x.indicesSet("input_indices",Y,0));return[`${W.join(`
235`)}`,`var value = ${x.getByIndices("input_indices")};`,`value = max(value, ${x.getByIndices("input_indices")});`,""]})},co=(u,I)=>{Ea(u.inputs),Xs(u,"ReduceMean",I,(x,S,L)=>{let W=1;for(let Y=0;Y<x.rank;Y++)(L.indexOf(Y)>=0||L.length===0)&&(W*=u.inputs[0].dims[Y]);return["var sum = f32(0);","",`sum += f32(${x.getByIndices("input_indices")});`,`let value = ${S.type.value}(sum / ${W});`]})},gi=(u,I)=>{Ea(u.inputs),Xs(u,"ReduceMin",I,(x,S,L)=>{let W=[];for(let Y=0;Y<x.rank;Y++)(L.indexOf(Y)>=0||L.length===0)&&W.push(`input_indices[${Y}] = 0;`);return[`${W.join(`
236`)}`,`var value = ${x.getByIndices("input_indices")};`,`value = min(value, ${x.getByIndices("input_indices")});`,""]})},$n=(u,I)=>{Ea(u.inputs),Xs(u,"ReduceProd",I,(x,S)=>[`var value = ${S.type.storage}(1);`,"",`value *= ${x.getByIndices("input_indices")};`,""])},uA=(u,I)=>{Ea(u.inputs),Xs(u,"ReduceSum",I,(x,S)=>[`var value = ${S.type.storage}(0);`,"",`value += ${x.getByIndices("input_indices")};`,""])},On=(u,I)=>{Ea(u.inputs),Xs(u,"ReduceSumSquare",I,(x,S)=>[`var t = ${S.type.value}(0); var value = ${S.type.value}(0);`,"",`t = ${x.getByIndices("input_indices")}; value += t * t;`,""])},vA=(u,I,x)=>{if(I.length===0)return x;let S=1,L=1;for(let W=0;W<I.length;W++)I.indexOf(W)===-1?S*=u[W]:L*=u[W];return L<32&&S>1024},_o=(u,I)=>{vA(u.inputs[0].dims,I.axes,I.noopWithEmptyAxes)?co(u,I):Ys(u,I)},uo=(u,I)=>{vA(u.inputs[0].dims,I.axes,I.noopWithEmptyAxes)?rn(u,I):BA(u,I)},la=(u,I)=>{vA(u.inputs[0].dims,I.axes,I.noopWithEmptyAxes)?lo(u,I):sa(u,I)},Ss=(u,I)=>{vA(u.inputs[0].dims,I.axes,I.noopWithEmptyAxes)?xn(u,I):wi(u,I)},vi=(u,I)=>{vA(u.inputs[0].dims,I.axes,I.noopWithEmptyAxes)?Jn(u,I):ki(u,I)},hi=(u,I)=>{vA(u.inputs[0].dims,I.axes,I.noopWithEmptyAxes)?gi(u,I):io(u,I)},sn=(u,I)=>{vA(u.inputs[0].dims,I.axes,I.noopWithEmptyAxes)?$n(u,I):Fn(u,I)},Rr=(u,I)=>{vA(u.inputs[0].dims,I.axes,I.noopWithEmptyAxes)?uA(u,I):Go(u,I)},Uo=(u,I)=>{vA(u.inputs[0].dims,I.axes,I.noopWithEmptyAxes)?On(u,I):di(u,I)},fo=(u,I)=>{vA(u.inputs[0].dims,I.axes,I.noopWithEmptyAxes)?Bn(u,I):oo(u,I)}}),g1=pe(()=>{Cr(),Ia(),u2(),ha=u=>{if(!u||u.length===0||u.length>2)throw new Error("ArgMinMaxOp op requires 1 or 2 inputs.");if(u[0].dataType!==1)throw new Error("Invalid input type.")},yi=(u,I)=>{ha(u.inputs),u.compute(qn("ArgMin",{hint:I.cacheKey,inputDependencies:["rank"]},[u.inputs[0]],(x,S,L)=>{let W=[];for(let Y=0;Y<x.rank;Y++)(L.indexOf(Y)>=0||L.length===0)&&W.push(`input_indices[${Y}] = 0;`);return[`${W.join(`
237`)}`,`var value = ${x.getByIndices("input_indices")};
238var best_index : i32 = 0;`,`if (${x.getByIndices("input_indices")} ${I.selectLastIndex>0?"<=":"<"} value) {
239         value = ${x.getByIndices("input_indices")};
240         best_index = i32(last_index);
241       }`,"",S.setByOffset("global_idx","best_index")]},[I.axis],7,I.keepDims),{inputs:[0]})},go=(u,I)=>{ha(u.inputs),u.compute(qn("argMax",{hint:I.cacheKey,inputDependencies:["rank"]},[u.inputs[0]],(x,S,L)=>{let W=[];for(let Y=0;Y<x.rank;Y++)(L.indexOf(Y)>=0||L.length===0)&&W.push(`input_indices[${Y}] = 0;`);return[`${W.join(`
242`)}`,`var value = ${x.getByIndices("input_indices")};
243var best_index : i32 = 0;`,`if (${x.getByIndices("input_indices")} ${I.selectLastIndex>0?">=":">"} value) {
244         value = ${x.getByIndices("input_indices")};
245         best_index = i32(last_index);
246       }`,"",S.setByOffset("global_idx","best_index")]},[I.axis],7,I.keepDims),{inputs:[0]})},Xa=u=>yt(u)}),f2=pe(()=>{Cr(),Mr(),c2(),Pr(),Ei=(u,I)=>{let x=u[0],S=u[1],L=u[2],W=u[3],Y=u[4],Ae=u[5];if(Y&&Ae)throw new Error("Attention cannot have both past and attention_bias");if(x.dims.length!==3)throw new Error('Input "input" must have 3 dimensions');let se=x.dims[0],ne=x.dims[1],ve=x.dims[2];if(L.dims.length!==1)throw new Error('Input "bias" is expected to have 1 dimensions');if(S.dims.length!==2)throw new Error('Input "weights" is expected to have 2 dimensions');if(S.dims[0]!==ve)throw new Error("Input 1 dimension 0 should have same length as dimension 2 of input 0");if(L.dims[0]!==S.dims[1])throw new Error('Input "bias" dimension 0 should have same length as dimension 1 of input "weights"');let Ee=L.dims[0]/3,te=Ee,Ge=te;if(I.qkvHiddenSizes.length>0){if(I.qkvHiddenSizes.length!==3)throw new Error("qkv_hidden_sizes attribute should have 3 elements");for(let et of I.qkvHiddenSizes)if(et%I.numHeads!=0)throw new Error("qkv_hidden_sizes should be divisible by num_heads");Ee=I.qkvHiddenSizes[0],te=I.qkvHiddenSizes[1],Ge=I.qkvHiddenSizes[2]}let Fe=ne;if(Ee!==te)throw new Error("qkv_hidden_sizes first element should be same as the second");if(L.dims[0]!==Ee+te+Ge)throw new Error('Input "bias" dimension 0 should have same length as sum of Q/K/V hidden sizes');let Ke=0;if(Y){if(te!==Ge)throw new Error('Input "past" expect k_hidden_size == v_hidden_size');if(Y.dims.length!==5)throw new Error('Input "past" must have 5 dimensions');if(Y.dims[0]!==2)throw new Error('Input "past" first dimension must be 2');if(Y.dims[1]!==se)throw new Error('Input "past" second dimension must be batch_size');if(Y.dims[2]!==I.numHeads)throw new Error('Input "past" third dimension must be num_heads');if(Y.dims[4]!==te/I.numHeads)throw new Error('Input "past" fifth dimension must be k_hidden_size / num_heads');I.pastPresentShareBuffer||(Ke=Y.dims[3])}let Ye=Fe+Ke;if(W)throw new Error("Mask not supported");if(Y)throw new Error("past is not supported");if(Ae){if(Ae.dims.length!==4)throw new Error('Input "attention_bias" must have 4 dimensions');if(Ae.dims[0]!==se||Ae.dims[1]!==I.numHeads||Ae.dims[2]!==ne||Ae.dims[3]!==Ye)throw new Error('Expect "attention_bias" shape (batch_size, num_heads, sequence_length, total_sequence_length)')}return{batchSize:se,sequenceLength:ne,pastSequenceLength:Ke,kvSequenceLength:Fe,totalSequenceLength:Ye,maxSequenceLength:-1,inputHiddenSize:ve,hiddenSize:Ee,vHiddenSize:Ge,headSize:Math.floor(Ee/I.numHeads),vHeadSize:Math.floor(Ge/I.numHeads),numHeads:I.numHeads,isUnidirectional:!1,pastPresentShareBuffer:!1,maskFilterValue:I.maskFilterValue,maskType:0,scale:I.scale,broadcastResPosBias:!1,passPastInKv:!1,qkvFormat:1}},CA=(u,I,x)=>I&&u?`
247      let total_sequence_length_input = u32(${I.getByOffset("0")});
248      let present_sequence_length = max(total_sequence_length_input, uniforms.past_sequence_length);
249      let is_subsequent_prompt: bool = sequence_length > 1 && sequence_length != total_sequence_length_input;
250      let is_first_prompt: bool = is_subsequent_prompt == false && sequence_length == total_sequence_length_input;
251      total_sequence_length = u32(${u==null?void 0:u.getByOffset("batchIdx")}) + 1;
252      var past_sequence_length: u32 = 0;
253      if (is_first_prompt == false) {
254        past_sequence_length = total_sequence_length - sequence_length;
255      }
256       `:`
257    ${x?"let past_sequence_length = uniforms.past_sequence_length":""};
258    let present_sequence_length = total_sequence_length;
259    `,qs=(u,I,x,S,L,W,Y,Ae)=>{let se=Qr(Y?1:W),ne=64,ve=W/se;ve<ne&&(ne=32);let Ee=Math.ceil(W/se/ne),te=[{type:12,data:I},{type:12,data:x},{type:12,data:S},{type:12,data:L},{type:12,data:ve},{type:12,data:Ee}],Ge=fr(u.dataType,se),Fe=kA(1,se),Ke=["type"];return Y&&Ke.push("type"),Ae&&Ke.push("type"),{name:"AttentionProbsSoftmax",shaderCache:{hint:`${ne};${Ge};${se}`,inputDependencies:Ke},getShaderSource:Ye=>{let et=PA("x",u.dataType,u.dims,se),ft=[et],bt=Y?Wt("seq_lens",Y.dataType,Y.dims):void 0;bt&&ft.push(bt);let Mt=Ae?Wt("total_sequence_length_input",Ae.dataType,Ae.dims):void 0;Mt&&ft.push(Mt);let Dt=kA(u.dataType);return`
260  var<workgroup> thread_max: array<f32, ${ne}>;
261  var<workgroup> thread_sum: array<f32, ${ne}>;
262  ${Ye.registerUniforms([{name:"batch_size",type:"u32"},{name:"num_heads",type:"u32"},{name:"past_sequence_length",type:"u32"},{name:"sequence_length",type:"u32"},{name:"total_sequence_length",type:"u32"},{name:"elements_per_thread",type:"u32"}]).declareVariables(...ft)}
263  ${Ye.mainStart([ne,1,1])}
264    let batchIdx = workgroup_id.z / uniforms.num_heads;
265    let headIdx = workgroup_id.z % uniforms.num_heads;
266    let sequence_length = uniforms.sequence_length;
267    var total_sequence_length = uniforms.total_sequence_length;
268    ${CA(bt,Mt,!1)}
269    let local_offset = local_idx * uniforms.elements_per_thread;
270    let offset = (global_idx / ${ne}) * uniforms.total_sequence_length + local_offset;
271    let seq_causal_length = ${Y?"u32(past_sequence_length + workgroup_id.y + 1)":"total_sequence_length"};
272    var thread_max_vector = ${Fe}(-3.402823e+38f);
273    for (var i: u32 = 0; i < uniforms.elements_per_thread && i + local_offset < seq_causal_length; i++) {
274      thread_max_vector = max(${Fe}(x[offset + i]), thread_max_vector);
275    }
276    thread_max[local_idx] = ${(()=>{switch(se){case 1:return"thread_max_vector";case 2:return"max(thread_max_vector.x, thread_max_vector.y)";case 4:return"max(max(thread_max_vector.x, thread_max_vector.y), max(thread_max_vector.z, thread_max_vector.w))";default:throw new Error(`Unsupported components: ${se}`)}})()};
277    workgroupBarrier();
278
279    var max_value =  f32(-3.402823e+38f);
280    for (var i = 0u; i < ${ne}; i++) {
281      max_value = max(thread_max[i], max_value);
282    }
283
284    var sum_vector = ${Fe}(0);
285    for (var i: u32 = 0; i < uniforms.elements_per_thread && i + local_offset < seq_causal_length; i++) {
286      sum_vector += exp(${Fe}(x[offset + i]) - max_value);
287    }
288    thread_sum[local_idx] = ${(()=>{switch(se){case 1:return"sum_vector";case 2:return"sum_vector.x + sum_vector.y";case 4:return"sum_vector.x + sum_vector.y + sum_vector.z + sum_vector.w";default:throw new Error(`Unsupported components: ${se}`)}})()};
289    workgroupBarrier();
290
291    var sum: f32 = 0;
292    for (var i = 0u; i < ${ne}; i++) {
293      sum += thread_sum[i];
294    }
295
296    if (sum == 0) {
297      for (var i: u32 = 0; i < uniforms.elements_per_thread && i + local_offset < seq_causal_length; i++) {
298        x[offset + i] = ${et.type.value}(${Dt}(1.0) / ${Dt}(seq_causal_length));
299      }
300    } else {
301      for (var i: u32 = 0; i < uniforms.elements_per_thread && i + local_offset < seq_causal_length; i++) {
302        var f32input = ${Fe}(x[offset + i]);
303        x[offset + i] = ${et.type.value}(exp(f32input - max_value) / sum);
304      }
305    }
306      ${Y?`
307        for (var total_seq_id: u32 = seq_causal_length; total_seq_id + local_offset < uniforms.total_sequence_length; total_seq_id++) {
308          x[offset + total_seq_id] = ${et.type.value}(${Dt}(0));
309        }`:""};
310  }`},getRunData:()=>({outputs:[],dispatchGroup:{x:Math.ceil(W/ne),y:L,z:I*x},programUniforms:te})}},pa=(u,I,x,S,L,W,Y,Ae,se)=>{let ne=Y+W.kvSequenceLength,ve=[W.batchSize,W.numHeads,W.sequenceLength,ne],Ee=u>1&&S,te=W.kvNumHeads?W.kvNumHeads:W.numHeads,Ge=Ee?[W.batchSize,te,ne,W.headSize]:void 0,Fe=W.nReps?W.nReps:1,Ke=W.scale===0?1/Math.sqrt(W.headSize):W.scale,Ye=Qr(W.headSize),et=W.headSize/Ye,ft=12,bt={x:Math.ceil(ne/ft),y:Math.ceil(W.sequenceLength/ft),z:W.batchSize*W.numHeads},Mt=[{type:12,data:W.sequenceLength},{type:12,data:et},{type:12,data:ne},{type:12,data:W.numHeads},{type:12,data:W.headSize},{type:1,data:Ke},{type:12,data:Y},{type:12,data:W.kvSequenceLength},{type:12,data:Fe}],Dt=Ee&&S&&gt.size(S.dims)>0,Nt=["type","type"];Dt&&Nt.push("type"),L&&Nt.push("type"),Ae&&Nt.push("type"),se&&Nt.push("type");let pA=[{dims:ve,dataType:I.dataType,gpuDataType:0}];return Ee&&pA.push({dims:Ge,dataType:I.dataType,gpuDataType:0}),{name:"AttentionProbs",shaderCache:{hint:`${Ye};${L!==void 0};${S!==void 0};${u}`,inputDependencies:Nt},getRunData:()=>({outputs:pA,dispatchGroup:bt,programUniforms:Mt}),getShaderSource:xA=>{let ar=Wt("q",I.dataType,I.dims,Ye),nr=[ar,Wt("key",x.dataType,x.dims,Ye)];if(Dt){let ZA=Wt("past_key",S.dataType,S.dims,Ye);nr.push(ZA)}L&&nr.push(Wt("attention_bias",L.dataType,L.dims));let $r=Ae?Wt("seq_lens",Ae.dataType,Ae.dims):void 0;$r&&nr.push($r);let ir=se?Wt("total_sequence_length_input",se.dataType,se.dims):void 0;ir&&nr.push(ir);let Er=PA("output",I.dataType,ve),kr=[Er];Ee&&kr.push(PA("present_key",I.dataType,Ge,Ye));let Vt=kA(1,Ye);return`
311  const TILE_SIZE = 12u;
312
313  var<workgroup> tileQ: array<${ar.type.storage}, 144>;
314  var<workgroup> tileK: array<${ar.type.storage}, 144>;
315  ${xA.registerUniforms([{name:"M",type:"u32"},{name:"K",type:"u32"},{name:"N",type:"u32"},{name:"num_heads",type:"u32"},{name:"head_size",type:"u32"},{name:"alpha",type:"f32"},{name:"past_sequence_length",type:"u32"},{name:"kv_sequence_length",type:"u32"},{name:"n_reps",type:"u32"}]).declareVariables(...nr,...kr)}
316  ${xA.mainStart([ft,ft,1])}
317    // x holds the N and y holds the M
318    let headIdx = workgroup_id.z % uniforms.num_heads;
319    let kvHeadIdx = ${Fe===1?"headIdx":"headIdx / uniforms.n_reps"};
320    let kv_num_heads = ${Fe===1?"uniforms.num_heads":"uniforms.num_heads / uniforms.n_reps"};
321    let batchIdx = workgroup_id.z / uniforms.num_heads;
322    let m = workgroup_id.y * TILE_SIZE;
323    let n = workgroup_id.x * TILE_SIZE;
324    let sequence_length = uniforms.M;
325    var total_sequence_length = uniforms.N;
326    ${CA($r,ir,!0)}
327    let absKvHeadIdx = batchIdx * kv_num_heads + kvHeadIdx;
328    let qOffset = workgroup_id.z * uniforms.M * uniforms.K + m * uniforms.K;
329    ${Dt&&Ee?"let pastKeyOffset = absKvHeadIdx * uniforms.past_sequence_length * uniforms.K;":""};
330    let kOffset = absKvHeadIdx * uniforms.kv_sequence_length * uniforms.K;
331    ${Ee?"let presentKeyOffset = absKvHeadIdx * uniforms.N * uniforms.K;":""}
332    var value = ${Vt}(0);
333    for (var w: u32 = 0u; w < uniforms.K; w += TILE_SIZE) {
334      if (global_id.y < uniforms.M && w + local_id.x < uniforms.K) {
335        tileQ[TILE_SIZE * local_id.y + local_id.x] = q[qOffset + local_id.y * uniforms.K + w + local_id.x];
336      }
337      if (n + local_id.y < uniforms.N && w + local_id.x < uniforms.K) {
338        var idx = TILE_SIZE * local_id.y + local_id.x;
339      ${Dt&&Ee?`
340              if (n + local_id.y < past_sequence_length) {
341                tileK[idx] = past_key[pastKeyOffset + (n + local_id.y) * uniforms.K + w + local_id.x];
342              } else if (n + local_id.y - past_sequence_length < uniforms.kv_sequence_length) {
343                tileK[idx] = key[kOffset + (n + local_id.y - past_sequence_length) * uniforms.K + w + local_id.x];
344              }`:`
345          if (n + local_id.y < uniforms.kv_sequence_length) {
346            tileK[idx] = key[kOffset + (n + local_id.y) * uniforms.K + w + local_id.x];
347          }`}
348      ${Ee?`if (n + local_id.y < present_sequence_length) {
349        present_key[presentKeyOffset + (n + local_id.y) * uniforms.K + w + local_id.x] = tileK[idx];
350      }`:""}
351      }
352      workgroupBarrier();
353
354      for (var k: u32 = 0u; k < TILE_SIZE && w+k < uniforms.K; k++) {
355          value += ${Vt}(tileQ[TILE_SIZE * local_id.y + k] * tileK[TILE_SIZE * local_id.x + k]);
356      }
357
358      workgroupBarrier();
359    }
360
361    if (global_id.y < uniforms.M && global_id.x < total_sequence_length) {
362      let headOffset = workgroup_id.z * uniforms.M * uniforms.N;
363      let outputIdx = headOffset + global_id.y * uniforms.N + global_id.x;
364      var sum: f32 = ${(()=>{switch(Ye){case 1:return"value";case 2:return"value.x + value.y";case 4:return"value.x + value.y + value.z + value.w";default:throw new Error(`Unsupported components: ${Ye}`)}})()};
365        output[outputIdx] = ${Er.type.value} (sum * uniforms.alpha) + ${L?"attention_bias[outputIdx]":"0.0"};
366    }
367  }`}}},Li=(u,I,x,S,L,W,Y=void 0,Ae=void 0)=>{let se=W+L.kvSequenceLength,ne=L.nReps?L.nReps:1,ve=L.vHiddenSize*ne,Ee=u>1&&S,te=L.kvNumHeads?L.kvNumHeads:L.numHeads,Ge=Ee?[L.batchSize,te,se,L.headSize]:void 0,Fe=[L.batchSize,L.sequenceLength,ve],Ke=12,Ye={x:Math.ceil(L.vHeadSize/Ke),y:Math.ceil(L.sequenceLength/Ke),z:L.batchSize*L.numHeads},et=[{type:12,data:L.sequenceLength},{type:12,data:se},{type:12,data:L.vHeadSize},{type:12,data:L.numHeads},{type:12,data:L.headSize},{type:12,data:ve},{type:12,data:W},{type:12,data:L.kvSequenceLength},{type:12,data:ne}],ft=Ee&&S&&gt.size(S.dims)>0,bt=["type","type"];ft&&bt.push("type"),Y&&bt.push("type"),Ae&&bt.push("type");let Mt=[{dims:Fe,dataType:I.dataType,gpuDataType:0}];return Ee&&Mt.push({dims:Ge,dataType:I.dataType,gpuDataType:0}),{name:"AttentionScore",shaderCache:{hint:`${S!==void 0};${u}`,inputDependencies:bt},getRunData:()=>({outputs:Mt,dispatchGroup:Ye,programUniforms:et}),getShaderSource:Dt=>{let Nt=Wt("probs",I.dataType,I.dims),pA=[Nt,Wt("v",x.dataType,x.dims)];ft&&pA.push(Wt("past_value",S.dataType,S.dims));let xA=Y?Wt("seq_lens",Y.dataType,Y.dims):void 0;Y&&pA.push(xA);let ar=Ae?Wt("total_sequence_length_input",Ae.dataType,Ae.dims):void 0;Ae&&pA.push(ar);let nr=[PA("output",I.dataType,Fe)];return Ee&&nr.push(PA("present_value",I.dataType,Ge)),`
368  const TILE_SIZE = 12u;
369  var<workgroup> tileQ: array<${Nt.type.value}, 144>;
370  var<workgroup> tileV: array<${Nt.type.value}, 144>;
371  ${Dt.registerUniforms([{name:"M",type:"u32"},{name:"K",type:"u32"},{name:"N",type:"u32"},{name:"num_heads",type:"u32"},{name:"head_size",type:"u32"},{name:"v_hidden_size",type:"u32"},{name:"past_sequence_length",type:"u32"},{name:"kv_sequence_length",type:"u32"},{name:"n_reps",type:"u32"}]).declareVariables(...pA,...nr)}
372  ${Dt.mainStart([Ke,Ke,1])}
373   let headIdx = workgroup_id.z % uniforms.num_heads;
374   let batchIdx = workgroup_id.z / uniforms.num_heads;
375   let kvHeadIdx = ${ne===1?"headIdx":"headIdx / uniforms.n_reps"};
376   let kv_num_heads = ${ne===1?"uniforms.num_heads":"uniforms.num_heads / uniforms.n_reps"};
377   let m = global_id.y;
378   let n = global_id.x;
379   let sequence_length = uniforms.M;
380   var total_sequence_length = uniforms.K;
381   ${CA(xA,ar,!0)}
382   let offsetA = workgroup_id.z * uniforms.M * uniforms.K + m * uniforms.K;
383   let absKvHeadIdx = batchIdx * kv_num_heads + kvHeadIdx; // kvHeadIdx is relative to the batch
384   ${ft&&Ee?"let pastValueOffset = absKvHeadIdx * uniforms.N * uniforms.past_sequence_length + n;":""};
385   let vOffset = absKvHeadIdx * uniforms.N * uniforms.kv_sequence_length + n;
386   ${Ee?"let presentValueOffset = absKvHeadIdx * uniforms.N * uniforms.K + n;":""}
387   var value = ${Nt.type.storage}(0);
388   for (var w: u32 = 0u; w < uniforms.K; w += TILE_SIZE) {
389      if (m < uniforms.M && w + local_id.x < uniforms.K) {
390        tileQ[TILE_SIZE * local_id.y + local_id.x] = probs[offsetA + w + local_id.x];
391      }
392      if (n < uniforms.N && w + local_id.y < uniforms.K) {
393        var idx = TILE_SIZE * local_id.y + local_id.x;
394        ${ft&&Ee?`
395        if (w + local_id.y < past_sequence_length) {
396          tileV[idx] = past_value[pastValueOffset + (w + local_id.y) * uniforms.N];
397        } else if (w + local_id.y - past_sequence_length < uniforms.kv_sequence_length) {
398          tileV[idx] = v[vOffset + (w + local_id.y - past_sequence_length) * uniforms.N];
399        }
400      `:`
401            if (w + local_id.y < uniforms.kv_sequence_length) {
402              tileV[idx] = v[vOffset + (w + local_id.y) * uniforms.N];
403            }`}
404        ${Ee?`
405            if (w + local_id.y < present_sequence_length) {
406          present_value[presentValueOffset + (w + local_id.y) * uniforms.N] = tileV[idx];
407        }`:""}
408      }
409     workgroupBarrier();
410     for (var k: u32 = 0u; k < TILE_SIZE && w+k < total_sequence_length; k++) {
411       value += tileQ[TILE_SIZE * local_id.y + k] * tileV[TILE_SIZE * k + local_id.x];
412     }
413     workgroupBarrier();
414   }
415
416   // we need to transpose output from BNSH_v to BSND_v
417   if (m < uniforms.M && n < uniforms.N) {
418     let outputIdx = batchIdx * uniforms.M * uniforms.v_hidden_size + m * uniforms.v_hidden_size
419       + headIdx * uniforms.N + n;
420     output[outputIdx] = value;
421   }
422  }`}}},bn=(u,I,x,S,L,W,Y,Ae,se,ne,ve=void 0,Ee=void 0)=>{let te=Math.min(u.outputCount,1+(Y?1:0)+(Ae?1:0)),Ge=te>1?ne.pastSequenceLength:0,Fe=Ge+ne.kvSequenceLength,Ke=se&&gt.size(se.dims)>0?se:void 0,Ye=[I,x];te>1&&Y&&gt.size(Y.dims)>0&&Ye.push(Y),Ke&&Ye.push(Ke),ve&&Ye.push(ve),Ee&&Ye.push(Ee);let et=u.compute(pa(te,I,x,Y,Ke,ne,Ge,ve,Ee),{inputs:Ye,outputs:te>1?[-1,1]:[-1]})[0];u.compute(qs(et,ne.batchSize,ne.numHeads,Ge,ne.sequenceLength,Fe,ve,Ee),{inputs:ve&&Ee?[et,ve,Ee]:[et],outputs:[]});let ft=[et,S];te>1&&Ae&&gt.size(Ae.dims)>0&&ft.push(Ae),ve&&ft.push(ve),Ee&&ft.push(Ee),u.compute(Li(te,et,S,Ae,ne,Ge,ve,Ee),{inputs:ft,outputs:te>1?[0,2]:[0]})},an=(u,I)=>{let x=[I.batchSize,I.numHeads,I.sequenceLength,I.headSize],S=I.sequenceLength,L=I.inputHiddenSize,W=I.headSize,Y=12,Ae={x:Math.ceil(I.headSize/Y),y:Math.ceil(I.sequenceLength/Y),z:I.batchSize*I.numHeads},se=[u.inputs[0],u.inputs[1],u.inputs[2]],ne=[{type:12,data:S},{type:12,data:L},{type:12,data:W},{type:12,data:I.numHeads},{type:12,data:I.headSize},{type:12,data:I.hiddenSize},{type:12,data:I.hiddenSize+I.hiddenSize+I.vHiddenSize}];return u.compute({name:"AttentionPrepare",shaderCache:{inputDependencies:["type","type","type"]},getRunData:()=>({outputs:[{dims:x,dataType:u.inputs[0].dataType,gpuDataType:0},{dims:x,dataType:u.inputs[0].dataType,gpuDataType:0},{dims:x,dataType:u.inputs[0].dataType,gpuDataType:0}],dispatchGroup:Ae,programUniforms:ne}),getShaderSource:ve=>{let Ee=PA("output_q",se[0].dataType,x),te=PA("output_k",se[0].dataType,x),Ge=PA("output_v",se[0].dataType,x),Fe=Wt("input",se[0].dataType,se[0].dims),Ke=Wt("weight",se[1].dataType,se[1].dims),Ye=Wt("bias",se[2].dataType,se[2].dims),et=Fe.type.storage;return`
423  const TILE_SIZE = 12u;
424  var<workgroup> tileInput: array<${et}, 144>;
425  var<workgroup> tileWeightQ: array<${et}, 144>;
426  var<workgroup> tileWeightK: array<${et}, 144>;
427  var<workgroup> tileWeightV: array<${et}, 144>;
428  ${ve.registerUniforms([{name:"M",type:"u32"},{name:"K",type:"u32"},{name:"N",type:"u32"},{name:"num_heads",type:"u32"},{name:"head_size",type:"u32"},{name:"hidden_size",type:"u32"},{name:"ldb",type:"u32"}]).declareVariables(Fe,Ke,Ye,Ee,te,Ge)}
429  ${ve.mainStart([Y,Y,1])}
430    let batchIndex = workgroup_id.z / uniforms.num_heads;
431    let headNumber = workgroup_id.z % uniforms.num_heads;
432    let m = global_id.y;
433    let n = global_id.x;
434
435    let inputOffset = batchIndex * (uniforms.M * uniforms.K) + m * uniforms.K;
436    let biasOffsetQ = headNumber * uniforms.head_size;
437    let biasOffsetK = uniforms.hidden_size + biasOffsetQ;
438    let biasOffsetV = uniforms.hidden_size + biasOffsetK;
439
440    var valueQ = ${et}(0);
441    var valueK = ${et}(0);
442    var valueV = ${et}(0);
443    for (var w: u32 = 0u; w < uniforms.K; w += TILE_SIZE) {
444      if (m < uniforms.M && w + local_id.x < uniforms.K) {
445        tileInput[TILE_SIZE * local_id.y + local_id.x] = input[inputOffset + w + local_id.x];
446      }
447      if (n < uniforms.N && w + local_id.y < uniforms.K) {
448        let offset = n + (w + local_id.y) * uniforms.ldb;
449        tileWeightQ[TILE_SIZE * local_id.y + local_id.x] = weight[biasOffsetQ + offset];
450        tileWeightK[TILE_SIZE * local_id.y + local_id.x] = weight[biasOffsetK + offset];
451        tileWeightV[TILE_SIZE * local_id.y + local_id.x] = weight[biasOffsetV + offset];
452      }
453      workgroupBarrier();
454      for (var k: u32 = 0u; k<TILE_SIZE && w+k < uniforms.K; k++) {
455        let inputTileOffset = TILE_SIZE * local_id.y + k;
456        let weightTileOffset = TILE_SIZE * k + local_id.x;
457        valueQ += tileInput[inputTileOffset] * tileWeightQ[weightTileOffset];
458        valueK += tileInput[inputTileOffset] * tileWeightK[weightTileOffset];
459        valueV += tileInput[inputTileOffset] * tileWeightV[weightTileOffset];
460      }
461
462      workgroupBarrier();
463    }
464
465    let headOffset = (m * uniforms.N + n) % uniforms.head_size;
466    valueQ += bias[headOffset + biasOffsetQ];
467    valueK += bias[headOffset + biasOffsetK];
468    valueV += bias[headOffset + biasOffsetV];
469
470    let offset = workgroup_id.z * uniforms.M * uniforms.N;
471    if (m < uniforms.M && n < uniforms.N) {
472      let outputIdx = offset + m * uniforms.N + n;
473      output_q[outputIdx] = valueQ;
474      output_k[outputIdx] = valueK;
475      output_v[outputIdx] = valueV;
476    }
477  }`}},{inputs:se,outputs:[-1,-1,-1]})},Ko=(u,I)=>{let x=Ei(u.inputs,I),[S,L,W]=an(u,x);return bn(u,S,L,W,u.inputs[4],void 0,void 0,void 0,u.inputs[5],x)}}),h1=pe(()=>{lt(),Cr(),Mr(),Ia(),Pr(),ho=(u,I)=>{if(!u||u.length!==5)throw new Error("BatchNormalization requires 5 inputs");let x=(S,L,W)=>{let Y=L.length;if(Y!==S.length)throw new Error(`${W}: num dimensions != ${Y}`);L.forEach((Ae,se)=>{if(Ae!==S[se])throw new Error(`${W}: dim[${se}] do not match`)})};if(u[0].dims.length>1){let S=I.format==="NHWC"?I.spatial?u[0].dims.slice(-1):u[0].dims.slice(-1).concat(u[0].dims.slice(1,u[0].dims.length-1)):u[0].dims.slice(1,I.spatial?2:void 0);x(u[1].dims,S,"Invalid input scale"),x(u[2].dims,S,"Invalid input B"),x(u[3].dims,S,"Invalid input mean"),x(u[4].dims,S,"Invalid input var")}else x(u[1].dims,[1],"Invalid input scale"),x(u[2].dims,[1],"Invalid input B"),x(u[3].dims,[1],"Invalid input mean"),x(u[4].dims,[1],"Invalid input var")},qa=(u,I)=>{let{epsilon:x,spatial:S,format:L}=I,W=u[0].dims,Y=S?Qr(W[W.length-1]):1,Ae=L==="NHWC"&&W.length>1?Y:1,se=gt.size(W)/Y,ne=S,ve=ne?W.length:W,Ee=Wt("x",u[0].dataType,u[0].dims,Y),te=Wt("scale",u[1].dataType,u[1].dims,Ae),Ge=Wt("bias",u[2].dataType,u[2].dims,Ae),Fe=Wt("inputMean",u[3].dataType,u[3].dims,Ae),Ke=Wt("inputVar",u[4].dataType,u[4].dims,Ae),Ye=PA("y",u[0].dataType,ve,Y);return{name:"BatchNormalization",shaderCache:{hint:`${I.epsilon}_${I.format}_${S}_${Y}`,inputDependencies:ne?["rank","type","type","type","type"]:void 0},getShaderSource:et=>`
478  const epsilon = ${x};
479  ${et.registerUniform("outputSize","u32").declareVariables(Ee,te,Ge,Fe,Ke,Ye)}
480  ${et.mainStart()}
481  ${et.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
482    var outputIndices = ${Ye.offsetToIndices(`global_idx * ${Y}`)};
483    ${(()=>{let ft="";if(S)ft=`let cOffset = ${W.length===1?"0u":L==="NHWC"?`outputIndices[${W.length-1}] / ${Y}`:"outputIndices[1]"};`;else if(L==="NCHW")ft=`
484            ${Ye.indicesSet("outputIndices","0","0")}
485            let cOffset = ${Ye.indicesToOffset("outputIndices")};`;else{ft=`var cIndices = ${te.type.indices}(0);
486                       cIndices[0] = outputIndices[${W.length-1}];`;for(let bt=1;bt<te.rank;bt++)ft+=`cIndices[${bt}] = outputIndices[${bt}];`;ft+=`let cOffset = ${te.indicesToOffset("cIndices")};`}return ft})()}
487    let scale = ${te.getByOffset("cOffset")};
488    let bias = ${Ge.getByOffset("cOffset")};
489    let inputMean = ${Fe.getByOffset("cOffset")};
490    let inputVar = ${Ke.getByOffset("cOffset")};
491    let x = ${Ee.getByOffset("global_idx")};
492    let value = (x - inputMean) * inverseSqrt(inputVar + epsilon) * scale + bias;
493    ${Ye.setByOffset("global_idx","value")}
494  }`,getRunData:()=>({outputs:[{dims:u[0].dims,dataType:u[0].dataType}],dispatchGroup:{x:Math.ceil(se/64)},programUniforms:ne?[{type:12,data:se},...QA(W)]:[{type:12,data:se}]})}},Zo=u=>yt(u),po=(u,I)=>{let{inputs:x,outputCount:S}=u,L=Zo({...I,outputCount:S});if(G.webgpu.validateInputContent&&ho(x,L),I.trainingMode)throw new Error("BatchNormalization trainingMode is not supported yet.");u.compute(qa(x,L))}}),p1=pe(()=>{Mr(),Pr(),ns=u=>{if(u[0].dims.length!==3)throw new Error("input should have 3 dimensions");if(![320,640,1280].includes(u[0].dims[2]))throw new Error("number of channels should be 320, 640 or 1280");if(u[1].dims.length!==1)throw new Error("bias is expected to have 1 dimensions");if(u[0].dims[2]!==u[1].dims[0])throw new Error("last dimension of input and bias are not the same")},Xo=u=>{let I=u[0].dims,x=u[0].dims[2],S=gt.size(I)/4,L=u[0].dataType,W=Wt("input",L,I,4),Y=Wt("bias",L,[x],4),Ae=Wt("residual",L,I,4),se=PA("output",L,I,4);return{name:"BiasAdd",getRunData:()=>({outputs:[{dims:I,dataType:u[0].dataType}],dispatchGroup:{x:Math.ceil(S/64)}}),getShaderSource:ne=>`
495  const channels = ${x}u / 4;
496  ${ne.declareVariables(W,Y,Ae,se)}
497
498  ${ne.mainStart()}
499    ${ne.guardAgainstOutOfBoundsWorkgroupSizes(S)}
500    let value = ${W.getByOffset("global_idx")}
501      + ${Y.getByOffset("global_idx % channels")} + ${Ae.getByOffset("global_idx")};
502    ${se.setByOffset("global_idx","value")}
503  }`}},mo=u=>{ns(u.inputs),u.compute(Xo(u.inputs))}}),d2=pe(()=>{Cr(),Mr(),Ia(),Pr(),er=(u,I,x,S,L,W,Y)=>{let Ae=Math.ceil(I/4),se="";se=typeof L=="string"?`${L}(a)`:L("a");let ne=Wt("inputData",x,[Ae],4),ve=PA("outputData",S,[Ae],4),Ee=[{name:"vec_size",type:"u32"}];return Y&&Ee.push(...Y),`
504      ${u.registerUniforms(Ee).declareVariables(ne,ve)}
505
506  ${W??""}
507
508  ${u.mainStart()}
509    ${u.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.vec_size")}
510
511    let a = ${ne.getByOffset("global_idx")};
512    ${ve.setByOffset("global_idx",se)}
513  }`},or=(u,I,x,S,L,W=u.dataType,Y,Ae)=>{let se=[{type:12,data:Math.ceil(gt.size(u.dims)/4)}];return Y&&se.push(...Y),{name:I,shaderCache:{hint:L,inputDependencies:["type"]},getShaderSource:ne=>er(ne,gt.size(u.dims),u.dataType,W,x,S,Ae),getRunData:ne=>({outputs:[{dims:u.dims,dataType:W}],dispatchGroup:{x:Math.ceil(gt.size(ne[0].dims)/64/4)},programUniforms:se})}},To=u=>{u.compute(or(u.inputs[0],"Abs","abs"))},nn=u=>{u.compute(or(u.inputs[0],"Acos","acos"))},Cn=u=>{u.compute(or(u.inputs[0],"Acosh","acosh"))},ca=u=>{u.compute(or(u.inputs[0],"Asin","asin"))},In=u=>{u.compute(or(u.inputs[0],"Asinh","asinh"))},bs=u=>{u.compute(or(u.inputs[0],"Atan","atan"))},Ln=u=>{u.compute(or(u.inputs[0],"Atanh","atanh"))},Bi=u=>yt(u),on=(u,I)=>{let x;switch(I.to){case 10:x="vec4<f16>";break;case 1:x="vec4<f32>";break;case 12:x="vec4<u32>";break;case 6:x="vec4<i32>";break;case 9:x="vec4<bool>";break;default:throw new RangeError(`not supported type (specified in attribute 'to' from 'Cast' operator): ${I.to}`)}u.compute(or(u.inputs[0],"Cast",x,void 0,I.cacheKey,I.to))},qo=u=>{let I,x,S=u.length>=2&&u[1].data!==0,L=u.length>=3&&u[2].data!==0;switch(u[0].dataType){case 1:I=S?u[1].getFloat32Array()[0]:-34028234663852886e22,x=L?u[2].getFloat32Array()[0]:34028234663852886e22;break;case 10:I=S?u[1].getUint16Array()[0]:64511,x=L?u[2].getUint16Array()[0]:31743;break;default:throw new Error("Unsupport data type")}return yt({min:I,max:x})},xi=(u,I)=>{let x=I||qo(u.inputs),S=kA(u.inputs[0].dataType);u.compute(or(u.inputs[0],"Clip",L=>`clamp(${L}, vec4<${S}>(uniforms.min), vec4<${S}>(uniforms.max))`,void 0,x.cacheKey,void 0,[{type:u.inputs[0].dataType,data:x.min},{type:u.inputs[0].dataType,data:x.max}],[{name:"min",type:S},{name:"max",type:S}]),{inputs:[0]})},qr=u=>{u.compute(or(u.inputs[0],"Ceil","ceil"))},Vi=u=>{u.compute(or(u.inputs[0],"Cos","cos"))},Hi=u=>{u.compute(or(u.inputs[0],"Cosh","cosh"))},Cs=u=>yt(u),Mi=(u,I)=>{let x=kA(u.inputs[0].dataType);u.compute(or(u.inputs[0],"Elu",S=>`elu_vf32(${S})`,`
514  const elu_alpha_ = ${x}(${I.alpha});
515
516  fn elu_f32(a: ${x}) -> ${x} {
517  return select((exp(a) - 1.0) * elu_alpha_, a, a >= 0.0);
518  }
519
520  fn elu_vf32(v: vec4<${x}>) -> vec4<${x}> {
521  return vec4(elu_f32(v.x), elu_f32(v.y), elu_f32(v.z), elu_f32(v.w));
522  }`,I.cacheKey))},wn=(u="f32")=>`
523const r0: ${u} = 0.3275911;
524const r1: ${u} = 0.254829592;
525const r2: ${u} = -0.284496736;
526const r3: ${u} = 1.421413741;
527const r4: ${u} = -1.453152027;
528const r5: ${u} = 1.061405429;
529
530fn erf_vf32(v: vec4<${u}>) -> vec4<${u}> {
531  let absv = abs(v);
532  let x = 1.0 / (1.0 + r0 * absv);
533  return sign(v) * (1.0 - ((((r5 * x + r4) * x + r3) * x + r2) * x + r1) * x * exp(-absv * absv));
534}`,ln=u=>{let I=kA(u.inputs[0].dataType);u.compute(or(u.inputs[0],"Erf",x=>`erf_vf32(${x})`,wn(I)))},Qo=u=>{u.compute(or(u.inputs[0],"Exp","exp"))},Yi=u=>{u.compute(or(u.inputs[0],"Floor","floor"))},Ja=u=>{let I=kA(u.inputs[0].dataType);u.compute(or(u.inputs[0],"Gelu",x=>`0.5 * ${x} * (1.0 + erf_vf32(${x} * 0.7071067811865475))`,wn(I)))},Mn=(u,I)=>{let x=kA(u.inputs[0].dataType);u.compute(or(u.inputs[0],"LeakyRelu",S=>`select(leaky_relu_alpha_ * ${S}, ${S}, ${S} >= vec4<${x}>(0.0))`,`const leaky_relu_alpha_ = ${x}(${I.alpha});`,I.cacheKey))},Di=u=>{u.compute(or(u.inputs[0],"Not",I=>`!${I}`))},kn=u=>{u.compute(or(u.inputs[0],"Neg",I=>`-${I}`))},Po=u=>{u.compute(or(u.inputs[0],"Reciprocal",I=>`1.0/${I}`))},Ri=u=>{let I=kA(u.inputs[0].dataType);u.compute(or(u.inputs[0],"Relu",x=>`select(vec4<${I}>(0.0), ${x}, ${x} > vec4<${I}>(0.0))`))},ua=u=>{u.compute(or(u.inputs[0],"Sigmoid",I=>`(1.0 / (1.0 + exp(-${I})))`))},bo=u=>yt(u),Ns=(u,I)=>{let x=kA(u.inputs[0].dataType);u.compute(or(u.inputs[0],"HardSigmoid",S=>`max(vec4<${x}>(0.0), min(vec4<${x}>(1.0), ${I.alpha} * ${S} + vec4<${x}>(${I.beta})))`,void 0,I.cacheKey))},cn=u=>{u.compute(or(u.inputs[0],"Sin","sin"))},Co=u=>{u.compute(or(u.inputs[0],"Sinh","sinh"))},pi=u=>{u.compute(or(u.inputs[0],"Sqrt","sqrt"))},zs=u=>{u.compute(or(u.inputs[0],"Tan","tan"))},ji=u=>`sign(${u}) * (1 - exp(-2 * abs(${u}))) / (1 + exp(-2 * abs(${u})))`,Wi=u=>{u.compute(or(u.inputs[0],"Tanh",ji))},Js=(u="f32")=>`
535const fast_gelu_a: ${u} = 0.5;
536const fast_gelu_b: ${u} = 0.7978845608028654;
537const fast_gelu_c: ${u} = 0.035677408136300125;
538
539fn tanh_v(v: vec4<${u}>) -> vec4<${u}> {
540  return ${ji("v")};
541}
542`,ma=u=>`(fast_gelu_a + fast_gelu_a * tanh_v(${u} * (fast_gelu_c * ${u} * ${u} + fast_gelu_b))) * ${u}`,Io=u=>{let I=kA(u.inputs[0].dataType);u.compute(or(u.inputs[0],"FastGelu",ma,Js(I),void 0,u.inputs[0].dataType))},So=(u,I)=>{let x=kA(u.inputs[0].dataType);return u.compute(or(u.inputs[0],"ThresholdedRelu",S=>`select(vec4<${x}>(0.0), ${S}, ${S} > thresholded_relu_alpha_)`,`const thresholded_relu_alpha_ = vec4<${x}>(${I.alpha});`,I.cacheKey)),0},Gi=u=>{u.compute(or(u.inputs[0],"Log","log"))},Ot=(u,I)=>`
543const alpha = vec4<${u}>(${I});
544const one = ${u}(1.0);
545const zero = ${u}(0.0);
546
547fn quick_gelu_impl(x: vec4<${u}>) -> vec4<${u}> {
548  let v = x *alpha;
549  var x1 : vec4<${u}>;
550  for (var i = 0; i < 4; i = i + 1) {
551    if (v[i] >= zero) {
552      x1[i] = one / (one + exp(-v[i]));
553    } else {
554      x1[i] = one - one / (one + exp(v[i]));
555    }
556  }
557  return x * x1;
558}
559`,GA=u=>`quick_gelu_impl(${u})`,Ui=(u,I)=>{let x=kA(u.inputs[0].dataType);u.compute(or(u.inputs[0],"QuickGelu",GA,Ot(x,I.alpha),I.cacheKey,u.inputs[0].dataType))}}),m1=pe(()=>{Mr(),Pr(),d2(),SA=u=>{if(u[0].dims.length!==3)throw new Error("input should have 3 dimensions");if(![2560,5120,10240].includes(u[0].dims[2]))throw new Error("hidden state should be 2560, 5120 or 10240");if(u[1].dims.length!==1)throw new Error("bias is expected to have 1 dimensions");if(u[0].dims[2]!==u[1].dims[0])throw new Error("last dimension of input and bias are not the same")},ei=u=>{let I=u[0].dims.slice();I[2]=I[2]/2;let x=Wt("input",u[0].dataType,u[0].dims,4),S=Wt("bias",u[0].dataType,[u[0].dims[2]],4),L=PA("output",u[0].dataType,I,4),W=gt.size(I)/4,Y=fr(u[0].dataType);return{name:"BiasSplitGelu",getRunData:()=>({outputs:[{dims:I,dataType:u[0].dataType}],dispatchGroup:{x:Math.ceil(W/64)}}),getShaderSource:Ae=>`
560  const M_SQRT2 = sqrt(2.0);
561  const halfChannels = ${u[0].dims[2]/4/2}u;
562
563  ${Ae.declareVariables(x,S,L)}
564
565  ${wn(Y)}
566
567  ${Ae.mainStart()}
568    ${Ae.guardAgainstOutOfBoundsWorkgroupSizes(W)}
569    let biasIdx = global_idx % halfChannels;
570    let batchIndex = global_idx / halfChannels;
571    let inputOffset = biasIdx + batchIndex * halfChannels * 2;
572    let valueLeft = input[inputOffset] + bias[biasIdx];
573    let valueRight = input[inputOffset + halfChannels] + bias[biasIdx + halfChannels];
574    let geluRight = valueRight * 0.5 * (erf_vf32(valueRight / M_SQRT2) + 1);
575
576    ${L.setByOffset("global_idx","valueLeft * geluRight")}
577  }`}},ba=u=>{SA(u.inputs),u.compute(ei(u.inputs))}}),b1=pe(()=>{Cr(),Mr(),Pr(),Ki=(u,I,x,S,L,W,Y,Ae,se,ne,ve,Ee)=>{let te,Ge;typeof Ae=="string"?te=Ge=(ft,bt)=>`${Ae}((${ft}),(${bt}))`:typeof Ae=="function"?te=Ge=Ae:(te=Ae.scalar,Ge=Ae.vector);let Fe,Ke=PA("outputData",ve,S.length,4),Ye=Wt("aData",se,I.length,4),et=Wt("bData",ne,x.length,4);if(L)if(W){let ft=gt.size(I)===1,bt=gt.size(x)===1,Mt=I.length>0&&I[I.length-1]%4==0,Dt=x.length>0&&x[x.length-1]%4==0;Fe=ft||bt?Ke.setByOffset("global_idx",Ge(ft?`${Ye.type.value}(${Ye.getByOffset("0")}.x)`:Ye.getByOffset("global_idx"),bt?`${et.type.value}(${et.getByOffset("0")}.x)`:et.getByOffset("global_idx"))):`
578            let outputIndices = ${Ke.offsetToIndices("global_idx * 4u")};
579            let offsetA = ${Ye.broadcastedIndicesToOffset("outputIndices",Ke)};
580            let offsetB = ${et.broadcastedIndicesToOffset("outputIndices",Ke)};
581            ${Ke.setByOffset("global_idx",Ge(Y||Mt?Ye.getByOffset("offsetA / 4u"):`${Ye.type.value}(${Ye.getByOffset("offsetA / 4u")}[offsetA % 4u])`,Y||Dt?et.getByOffset("offsetB / 4u"):`${et.type.value}(${et.getByOffset("offsetB / 4u")}[offsetB % 4u])`))}
582          `}else Fe=Ke.setByOffset("global_idx",Ge(Ye.getByOffset("global_idx"),et.getByOffset("global_idx")));else{if(!W)throw new Error("no necessary to use scalar implementation for element-wise binary op implementation.");let ft=(bt,Mt,Dt="")=>{let Nt=`aData[indexA${Mt}][componentA${Mt}]`,pA=`bData[indexB${Mt}][componentB${Mt}]`;return`
583            let outputIndices${Mt} = ${Ke.offsetToIndices(`global_idx * 4u + ${Mt}u`)};
584            let offsetA${Mt} = ${Ye.broadcastedIndicesToOffset(`outputIndices${Mt}`,Ke)};
585            let offsetB${Mt} = ${et.broadcastedIndicesToOffset(`outputIndices${Mt}`,Ke)};
586            let indexA${Mt} = offsetA${Mt} / 4u;
587            let indexB${Mt} = offsetB${Mt} / 4u;
588            let componentA${Mt} = offsetA${Mt} % 4u;
589            let componentB${Mt} = offsetB${Mt} % 4u;
590            ${bt}[${Mt}] = ${Dt}(${te(Nt,pA)});
591          `};Fe=ve===9?`
592            var data = vec4<u32>(0);
593            ${ft("data",0,"u32")}
594            ${ft("data",1,"u32")}
595            ${ft("data",2,"u32")}
596            ${ft("data",3,"u32")}
597            outputData[global_idx] = dot(vec4<u32>(0x1, 0x100, 0x10000, 0x1000000), vec4<u32>(data));`:`
598            ${ft("outputData[global_idx]",0)}
599            ${ft("outputData[global_idx]",1)}
600            ${ft("outputData[global_idx]",2)}
601            ${ft("outputData[global_idx]",3)}
602          `}return`
603        ${u.registerUniform("vec_size","u32").declareVariables(Ye,et,Ke)}
604
605        ${Ee??""}
606
607        ${u.mainStart()}
608        ${u.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.vec_size")}
609        ${Fe}
610      }`},wo=(u,I,x,S,L,W,Y=x.dataType)=>{let Ae=x.dims.map(Ke=>Number(Ke)??1),se=S.dims.map(Ke=>Number(Ke)??1),ne=!gt.areEqual(Ae,se),ve=Ae,Ee=gt.size(Ae),te=!1,Ge=!1,Fe=[ne];if(ne){let Ke=cA.calcShape(Ae,se,!1);if(!Ke)throw new Error("Can't perform binary op on the given tensors");ve=Ke.slice(),Ee=gt.size(ve);let Ye=gt.size(Ae)===1,et=gt.size(se)===1,ft=Ae.length>0&&Ae[Ae.length-1]%4==0,bt=se.length>0&&se[se.length-1]%4==0;Fe.push(Ye),Fe.push(et),Fe.push(ft),Fe.push(bt);let Mt=1;for(let Dt=1;Dt<ve.length;Dt++){let Nt=Ae[Ae.length-Dt];if(Nt!==se[se.length-Dt])break;Mt*=Nt}Mt%4==0?(Ge=!0,te=!0):(Ye||et||ft||bt)&&(te=!0)}else te=!0;return Fe.push(te),{name:u,shaderCache:{hint:I+Fe.map(Ke=>Ke.toString()).join("_"),inputDependencies:["rank","rank"]},getShaderSource:Ke=>Ki(Ke,Ae,se,ve,te,ne,Ge,L,x.dataType,S.dataType,Y,W),getRunData:()=>({outputs:[{dims:ve,dataType:Y}],dispatchGroup:{x:Math.ceil(Ee/64/4)},programUniforms:[{type:12,data:Math.ceil(gt.size(ve)/4)},...QA(Ae,se,ve)]})}},un=(u,I,x,S,L,W)=>{u.compute(wo(I,L??"",u.inputs[0],u.inputs[1],x,S,W))},fs=u=>{un(u,"Add",(I,x)=>`${I}+${x}`)},Zi=u=>{un(u,"Div",(I,x)=>`${I}/${x}`)},ti=u=>{un(u,"Equal",{scalar:(I,x)=>`u32(${I}==${x})`,vector:(I,x)=>`vec4<u32>(${I}==${x})`},void 0,void 0,9)},_i=u=>{un(u,"Mul",(I,x)=>`${I}*${x}`)},Jo=u=>{let I=Wt("input",u.inputs[0].dataType,u.inputs[0].dims).type.value;un(u,"Pow",{scalar:(x,S)=>`pow_custom(${x},${S})`,vector:(x,S)=>`pow_vector_custom(${x},${S})`},`
611    fn pow_custom(a : ${I}, b : ${I}) -> ${I} {
612      if (b == ${I}(0.0)) {
613        return ${I}(1.0);
614      } else if (a < ${I}(0.0) && f32(b) != floor(f32(b))) {
615        return ${I}(pow(f32(a), f32(b))); // NaN
616      }
617      return select(sign(a), ${I}(1.0), round(f32(abs(b) % ${I}(2.0))) != 1.0) * ${I}(${I==="i32"?"round":""}(pow(f32(abs(a)), f32(b))));
618    }
619    fn pow_vector_custom(a : vec4<${I}>, b : vec4<${I}>) -> vec4<${I}> {
620      // TODO: implement vectorized pow
621      return vec4<${I}>(pow_custom(a.x, b.x), pow_custom(a.y, b.y), pow_custom(a.z, b.z), pow_custom(a.w, b.w));
622    }
623      `)},Xi=u=>{un(u,"Sub",(I,x)=>`${I}-${x}`)},No=u=>{un(u,"Greater",{scalar:(I,x)=>`u32(${I}>${x})`,vector:(I,x)=>`vec4<u32>(${I}>${x})`},void 0,void 0,9)},$o=u=>{un(u,"Less",{scalar:(I,x)=>`u32(${I}<${x})`,vector:(I,x)=>`vec4<u32>(${I}<${x})`},void 0,void 0,9)},Ai=u=>{un(u,"GreaterOrEqual",{scalar:(I,x)=>`u32(${I}>=${x})`,vector:(I,x)=>`vec4<u32>(${I}>=${x})`},void 0,void 0,9)},$a=u=>{un(u,"LessOrEqual",{scalar:(I,x)=>`u32(${I}<=${x})`,vector:(I,x)=>`vec4<u32>(${I}<=${x})`},void 0,void 0,9)}}),C1=pe(()=>{Cr(),Mr(),Ia(),Pr(),zo=(u,I)=>{if(!u||u.length<1)throw new Error("too few inputs");let x=u[0],S=x.dataType,L=x.dims.length;u.forEach((W,Y)=>{if(Y!==0){if(W.dataType!==S)throw new Error("input tensors should be one type");if(W.dims.length!==L)throw new Error("input tensors should have the same shape");W.dims.forEach((Ae,se)=>{if(se!==I&&Ae!==x.dims[se])throw new Error("non concat dimensions must match")})}})},qi=(u,I)=>`
624  fn calculateInputIndex(index: u32) -> u32 {
625    let sizeInConcatAxis = array<u32, ${u}u>(${I});
626    for (var i: u32 = 0u; i < ${u}; i += 1u ) {
627      if (index < sizeInConcatAxis[i]) {
628        return i;
629      }
630    }
631    return ${u}u;
632  }`,aa=(u,I)=>{let x=u.length,S=[];for(let L=0;L<x;++L){let W=I.setByOffset("global_idx",u[L].getByIndices("indices"));x===1?S.push(W):L===0?S.push(`if (inputIndex == ${L}u) { ${W} }`):L===x-1?S.push(`else { ${W} }`):S.push(`else if (inputIndex == ${L}) { ${W} }`)}return S.join(`
633`)},Zr=(u,I,x,S)=>{let L=gt.size(x),W=new Array(u.length),Y=new Array(u.length),Ae=0,se=[],ne=[],ve=[{type:12,data:L}];for(let Fe=0;Fe<u.length;++Fe)Ae+=u[Fe].dims[I],W[Fe]=Ae,ne.push(u[Fe].dims.length),Y[Fe]=Wt(`input${Fe}`,S,ne[Fe]),se.push("rank"),ve.push({type:12,data:W[Fe]});for(let Fe=0;Fe<u.length;++Fe)ve.push(...QA(u[Fe].dims));ve.push(...QA(x));let Ee=PA("output",S,x.length),te=Ee.indicesGet("indices",I),Ge=Array.from(Array(W.length).keys()).map(Fe=>`uniforms.sizeInConcatAxis${Fe}`).join(",");return{name:"Concat",shaderCache:{hint:`${I}`,inputDependencies:se},getRunData:()=>({outputs:[{dims:x,dataType:S}],dispatchGroup:{x:Math.ceil(L/64)},programUniforms:ve}),getShaderSource:Fe=>`
634
635  ${(()=>{Fe.registerUniform("outputSize","u32");for(let Ke=0;Ke<u.length;Ke++)Fe.registerUniform(`sizeInConcatAxis${Ke}`,"u32");return Fe.declareVariables(...Y,Ee)})()}
636
637  ${qi(W.length,Ge)}
638
639  ${Fe.mainStart()}
640    ${Fe.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
641
642    var indices = ${Ee.offsetToIndices("global_idx")};
643
644    let inputIndex = calculateInputIndex(${te});
645    if (inputIndex != 0u) {
646      let sizeInConcatAxis = array<u32, ${W.length}u>(${Ge});
647      ${te} -= sizeInConcatAxis[inputIndex - 1u];
648    }
649
650    ${aa(Y,Ee)}
651  }`}},Ti=(u,I)=>{let x=u.inputs,S=x[0].dims,L=gt.normalizeAxis(I.axis,S.length);zo(x,L);let W=S.slice();W[L]=x.reduce((Ae,se)=>Ae+(se.dims.length>L?se.dims[L]:0),0);let Y=x.filter(Ae=>gt.size(Ae.dims)>0);u.compute(Zr(Y,L,W,x[0].dataType),{inputs:Y})},e0=u=>yt({axis:u.axis})}),f0=pe(()=>{Cr(),Mr(),ri=(u,I,x="f32")=>{switch(u.activation){case"Relu":return`value = max(value, ${I}(0.0));`;case"Sigmoid":return`value = (${I}(1.0) / (${I}(1.0) + exp(-value)));`;case"Clip":return`value = clamp(value, ${I}(${x}(uniforms.clip_min)), ${I}(${x}(uniforms.clip_max)));`;case"HardSigmoid":return`value = max(${I}(0.0), min(${I}(1.0), ${x}(uniforms.alpha) * value + ${x}(uniforms.beta)));`;case"LeakyRelu":return`value = select(${x}(uniforms.alpha) * value, value, value >= ${I}(0.0));`;case"Tanh":return`let e2x = exp(-2.0 * abs(value));
652              value = sign(value) * (1.0 - e2x) / (1.0 + e2x);
653        `;case"":return"";default:throw new Error(`Unsupported activation ${u.activation}`)}},si=(u,I)=>{u.activation==="Clip"?I.push({type:1,data:u.clipMax},{type:1,data:u.clipMin}):u.activation==="HardSigmoid"?I.push({type:1,data:u.alpha},{type:1,data:u.beta}):u.activation==="LeakyRelu"&&I.push({type:1,data:u.alpha})},Vn=(u,I)=>{u.activation==="Clip"?I.push({name:"clip_max",type:"f32"},{name:"clip_min",type:"f32"}):u.activation==="HardSigmoid"?I.push({name:"alpha",type:"f32"},{name:"beta",type:"f32"}):u.activation==="LeakyRelu"&&I.push({name:"alpha",type:"f32"})},Fo=u=>{let I=(u==null?void 0:u.activation)||"";if(I==="HardSigmoid"){let[x,S]=(u==null?void 0:u.activation_params)||[.2,.5];return{activation:I,alpha:x,beta:S}}if(I==="Clip"){let[x,S]=(u==null?void 0:u.activation_params)||[lr,Wr];return{activation:I,clipMax:S,clipMin:x}}if(I==="LeakyRelu"){let[x]=(u==null?void 0:u.activation_params)||[.01];return{activation:I,alpha:x}}return{activation:I}}}),g2=pe(()=>{Ca=(u,I)=>{switch(u){case 1:return I;case 2:return`vec2<${I}>`;case 3:return`vec3<${I}>`;case 4:return`vec4<${I}>`;default:throw new Error(`${u}-component is not supported.`)}},t0=u=>`
654      ${u?"value = value + getBiasByOutputCoords(coords);":""}
655      `}),I1=pe(()=>{Ji=u=>`
656fn getIndexFromCoords4D(coords : vec4<i32>, shape : vec4<i32>) -> i32 {
657  return dot(coords, vec4<i32>(
658      shape.y * shape.z * shape.w, shape.z * shape.w, shape.w, 1));
659}
660fn getOutputIndexFromCoords(coords : vec4<i32>) -> i32 {
661  return dot(coords, vec4<i32>(
662    i32(${u}.x), i32(${u}.y), i32(${u}.z), 1));
663}
664`}),h2=pe(()=>{Cr(),Mr(),Pr(),f0(),Qi=(u,I,x,S,L)=>{let W=S-x;return`
665      ${Array.from({length:x}).map((Y,Ae)=>`
666      if (${zA(I.shape,Ae,I.rank)} != 1) {
667        ${I.indicesSet(u,Ae,zA(L,Ae+W,S))}
668      } else {
669        ${I.indicesSet(u,Ae,0)}
670      }`).join("")}
671`},$i=(u,I,x,S,L=!1,W)=>{let Y=u[0].dims,Ae=u[1].dims,se=Y[Y.length-2],ne=Ae[Ae.length-1],ve=Y[Y.length-1],Ee=Qr(ne),te=Qr(ve),Ge=Qr(se),Fe=gt.size(x)/Ee/Ge,Ke=u.length>2,Ye=S?S.slice(0,-2):x.slice(0,-2),et=[gt.size(Ye),se,ne],ft=[{type:12,data:Fe},{type:12,data:se},{type:12,data:ne},{type:12,data:ve}];return si(I,ft),ft.push(...QA(Ye,Y,Ae)),Ke&&ft.push(...QA(u[2].dims)),ft.push(...QA(et)),{name:"MatMulNaive",shaderCache:{hint:`${I.activation};${Ee};${te};${Ge};${L}`,inputDependencies:Ke?["rank","rank","rank"]:["rank","rank"]},getRunData:()=>({outputs:[{dims:W?W(x):x,dataType:u[0].dataType}],dispatchGroup:{x:Math.ceil(Fe/64)},programUniforms:ft}),getShaderSource:bt=>{let Mt=Vs("batch_dims",u[0].dataType,Ye.length),Dt=Wt("a",u[0].dataType,Y.length,te),Nt=Wt("b",u[1].dataType,Ae.length,Ee),pA=PA("output",u[0].dataType,et.length,Ee),xA=fr(pA.type.tensor),ar=ri(I,pA.type.value,xA),nr=[Dt,Nt],$r="";if(Ke){let Er=L?Ee:1;nr.push(Wt("bias",u[2].dataType,u[2].dims.length,Er)),$r=L?`value += bias[col / ${Er}];`:`value += ${pA.type.value}(bias[row + i]);`}let ir=[{name:"output_size",type:"u32"},{name:"M",type:"u32"},{name:"N",type:"u32"},{name:"K",type:"u32"}];return Vn(I,ir),`
672  ${bt.registerUniforms(ir).registerInternalVariables(Mt).declareVariables(...nr,pA)}
673  ${bt.mainStart()}
674    ${bt.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
675    let col = (global_idx % (uniforms.N / ${Ee})) * ${Ee};
676    var index1 = global_idx / (uniforms.N / ${Ee});
677    let stride1 = uniforms.M / ${Ge};
678    let row = (index1 % stride1) * ${Ge};
679    let batch = index1 / stride1;
680
681    ${x.length===2?"":`let batch_indices = ${Mt.offsetToIndices("batch")};`}
682
683    var a_indices: ${Dt.type.indices};
684    ${Qi("a_indices",Dt,Dt.rank-2,Mt.rank,"batch_indices")}
685    ${Dt.indicesSet("a_indices",Dt.rank-2,0)}
686    ${Dt.indicesSet("a_indices",Dt.rank-1,0)}
687    let a_offset = ${Dt.indicesToOffset("a_indices")};
688
689    var b_indices: ${Nt.type.indices};
690    ${Qi("b_indices",Nt,Nt.rank-2,Mt.rank,"batch_indices")}
691    ${Nt.indicesSet("b_indices",Nt.rank-2,0)}
692    ${Nt.indicesSet("b_indices",Nt.rank-1,0)}
693    let b_offset = ${Nt.indicesToOffset("b_indices")};
694    var values: array<${pA.type.value}, ${Ge}>;
695    for (var k: u32 = 0u; k < uniforms.K; k = k + ${te}) {
696      ${(()=>{let Er=`var a_data: ${Dt.type.value};`;for(let kr=0;kr<te;kr++)Er+=`
697              let b_data${kr} = b[(b_offset + (k + ${kr}) * uniforms.N + col) / ${Ee}];`;for(let kr=0;kr<Ge;kr++){Er+=`a_data = a[(a_offset + (row + ${kr}) * uniforms.K + k) / ${te}];`;for(let Vt=0;Vt<te;Vt++)Er+=`
698            values[${kr}] = fma(${Nt.type.value}(a_data${te===1?"":`[${Vt}]`}), b_data${Vt}, values[${kr}]);
699`}return Er})()}
700    }
701    for (var i = 0u; i < ${Ge}u; i++) {
702      var value = values[i];
703      ${$r}
704      ${ar}
705      let cur_indices = ${pA.type.indices}(batch, row + i, col);
706      let offset = ${pA.indicesToOffset("cur_indices")};
707      ${pA.setByOffset(`offset / ${Ee}`,"value")};
708    }
709  }
710  `}}}}),p2=pe(()=>{Cr(),Mr(),Pr(),f0(),h2(),g2(),fa=(u,I)=>u?`
711        mm_Asub[inputRow][inputCol] = mm_readA(batch,
712          kStart + inputRow,
713          globalRowStart / innerElementSize + inputCol${I?", batchIndices":""});
714        `:`
715        mm_Asub[inputRow][inputCol] = mm_readA(batch,
716          globalRow + innerRow,
717          kStart / innerElementSize + inputCol${I?", batchIndices":""});
718        `,eo=(u,I)=>u?`
719        let ACached0 = mm_Asub[k * innerElementSize][localRow];
720        let ACached1 = mm_Asub[k * innerElementSize + 1][localRow];
721        let ACached2 = mm_Asub[k * innerElementSize + 2][localRow];
722        ${I===3?"":"let ACached3 = mm_Asub[k * innerElementSize + 3][localRow];"}
723        for (var i = 0; i < rowPerThread; i = i + 1) {
724          acc[i] = BCached0 * ACached0[i] + acc[i];
725          acc[i] = BCached1 * ACached1[i] + acc[i];
726          acc[i] = BCached2 * ACached2[i] + acc[i];
727          ${I===3?"":"acc[i] = BCached3 * ACached3[i] + acc[i];"}
728        }`:`
729        for (var i = 0; i < rowPerThread; i = i + 1) {
730          let ACached = mm_Asub[tileRow + i][k];
731          acc[i] = BCached0 * ACached.x + acc[i];
732          acc[i] = BCached1 * ACached.y + acc[i];
733          acc[i] = BCached2 * ACached.z + acc[i];
734          ${I===3?"":"acc[i] = BCached3 * ACached.w + acc[i];"}
735        }`,ko=(u,I,x="f32",S,L=!1,W=32,Y=!1,Ae=32)=>{let se=I[1]*u[1],ne=I[0]*u[0],ve=L?se:W,Ee=L?W:se,te=ve/I[0],Ge=W/I[1];if((!L||te!==4||u[1]!==4)&&(L||te!==3&&te!==4)||ve%I[0]!=0||W%I[1]!=0||u[0]!==4)throw new Error(`If transposeA ${L} is true, innerElementSize ${te} and workPerThread[1] ${u[1]} must be 4.
736      Otherwise, innerElementSize ${te} must be 3 or 4.
737  tileAWidth ${ve} must be divisible by workgroupSize[0]${I[0]}. tileInner ${W} must be divisible by workgroupSize[1] ${I[1]}. colPerThread ${u[0]} must be 4.`);return`
738var<workgroup> mm_Asub: array<array<vec${te}<${x}>, ${ve/te}>, ${Ee}>;
739var<workgroup> mm_Bsub: array<array<vec4<${x}>, ${ne/u[0]}>, ${W}>;
740
741const rowPerThread = ${u[1]};
742const colPerThread = ${u[0]};
743const innerElementSize = ${te};
744const tileInner = ${W};
745
746@compute @workgroup_size(${I[0]}, ${I[1]}, ${I[2]})
747fn main(@builtin(local_invocation_id) localId : vec3<u32>,
748        @builtin(global_invocation_id) globalId : vec3<u32>,
749        @builtin(workgroup_id) workgroupId : vec3<u32>) {
750  let localRow = i32(localId.y);
751  let tileRow = localRow * rowPerThread;
752  let tileCol = i32(localId.x);
753
754  let globalRow =i32(globalId.y) * rowPerThread;
755  let globalCol = i32(globalId.x);
756  let batch = ${Y?"0":"i32(globalId.z)"};
757  ${S?`let batchIndices = ${S.offsetToIndices("u32(batch)")};`:""}
758  let globalRowStart = i32(workgroupId.y) * ${se};
759
760  let num_tiles = ${Y?`${Math.ceil(Ae/W)}`:"(uniforms.dim_inner - 1) / tileInner + 1"};
761  var kStart = ${Y?`i32(globalId.z) * ${Ae}`:"0"};
762
763  var acc: array<vec4<${x}>, rowPerThread>;
764
765  // Loop over shared dimension.
766  let tileRowB = localRow * ${Ge};
767  for (var t = 0; t < num_tiles; t = t + 1) {
768      // Load one tile of A into local memory.
769      for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {
770          let inputRow = tileRow + innerRow;
771          let inputCol = tileCol;
772          ${fa(L,S)}
773      }
774
775      // Load one tile of B into local memory.
776      for (var innerRow = 0; innerRow < ${Ge}; innerRow = innerRow + 1) {
777          let inputRow = tileRowB + innerRow;
778          let inputCol = tileCol;
779          mm_Bsub[inputRow][inputCol] = mm_readB(batch, kStart + inputRow, globalCol${S?", batchIndices":""});
780      }
781      kStart = kStart + tileInner;
782      workgroupBarrier();
783
784      // Compute acc values for a single thread.
785      for (var k = 0; k < tileInner / innerElementSize; k = k + 1) {
786          let BCached0 = mm_Bsub[k * innerElementSize][tileCol];
787          let BCached1 = mm_Bsub[k * innerElementSize + 1][tileCol];
788          let BCached2 = mm_Bsub[k * innerElementSize + 2][tileCol];
789          ${te===3?"":"let BCached3 = mm_Bsub[k * innerElementSize + 3][tileCol];"}
790
791          ${eo(L,te)}
792      }
793
794      workgroupBarrier();
795  }
796
797  for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {
798      mm_write(batch, globalRow + innerRow, globalCol, acc[innerRow]);
799  }
800}`},mi=(u,I)=>u?`
801            mm_Asub[inputRow][inputCol] = mm_readA(batch,
802              kStart + inputRow,
803              globalRowStart + inputCol${I?", batchIndices":""});
804            `:`
805            mm_Asub[inputRow][inputCol] = mm_readA(batch,
806              globalRowStart + inputRow,
807              kStart + inputCol${I?", batchIndices":""});
808            `,A0=u=>u?"let ACached = mm_Asub[k][tileRow + innerRow];":"let ACached = mm_Asub[tileRow + innerRow][k];",ai=(u,I,x="f32",S,L=!1,W=32,Y=!1,Ae=32,se=!1)=>{let ne=u[1]*I[1],ve=u[0]*I[0],Ee=L?ne:W,te=L?W:ne;if(te%I[1]!=0||Ee%I[0]!=0||W%I[1]!=0)throw new Error(`tileAHight ${te} must be divisible by workgroupSize[1]${I[1]}, tileAWidth ${Ee} must be divisible by workgroupSize[0]${I[0]}, tileInner ${W} must be divisible by workgroupSize[1]${I[1]}`);let Ge=te/I[1],Fe=Ee/I[0],Ke=W/I[1],Ye=se?`
809    let localRow = i32(localId.y);
810    let localCol = i32(localId.x);
811    let globalRowStart = i32(workgroupId.y) * ${ne};
812    let globalColStart = i32(workgroupId.x) * ${ve};
813
814    // Loop over shared dimension.
815    for (var t = 0; t < num_tiles; t = t + 1) {
816      // Load one tile of A into local memory.
817      for (var inputRow = localRow; inputRow < ${te}; inputRow = inputRow + ${I[1]}) {
818        for (var inputCol = localCol; inputCol < ${Ee}; inputCol = inputCol + ${I[0]}) {
819          ${mi(L,S)}
820        }
821      }
822      // Load one tile of B into local memory.
823      for (var inputRow = localRow; inputRow < ${W}; inputRow = inputRow + ${I[1]}) {
824            for (var inputCol = localCol; inputCol < ${ve}; inputCol = inputCol + ${I[0]}) {
825          mm_Bsub[inputRow][inputCol] = mm_readB(batch,
826            kStart + inputRow,
827            globalColStart + inputCol${S?", batchIndices":""});
828        }
829      }
830      kStart = kStart + tileInner;
831      workgroupBarrier();
832
833      // Compute acc values for a single thread.
834      var BCached : array<${x}, colPerThread>;
835      for (var k = 0; k < tileInner; k = k + 1) {
836        for (var inner = 0; inner < colPerThread; inner = inner + 1) {
837          BCached[inner] = mm_Bsub[k][localCol + inner * ${I[0]}];
838        }
839        for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {
840          let ACached = ${L?`mm_Asub[k][localRow + innerRow * ${I[1]}];`:`mm_Asub[localRow + innerRow * ${I[1]}][k];`}
841          for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {
842            acc[innerRow][innerCol] = acc[innerRow][innerCol] +
843                ACached * BCached[innerCol];
844          }
845        }
846      }
847      workgroupBarrier();
848    }
849    for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {
850      let gRow = globalRowStart + localRow + innerRow * ${I[1]};
851      for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {
852        let gCol = globalColStart + localCol + innerCol * ${I[0]};
853        mm_write(batch, gRow, gCol, acc[innerRow][innerCol]);
854      }
855    }
856    `:`
857let tileRow = i32(localId.y) * rowPerThread;
858let tileCol = i32(localId.x) * colPerThread;
859
860let globalRow = i32(globalId.y) * rowPerThread;
861let globalCol = i32(globalId.x) * colPerThread;
862let globalRowStart = i32(workgroupId.y) * ${ne};
863
864let tileRowA = i32(localId.y) * ${Ge};
865let tileColA = i32(localId.x) * ${Fe};
866let tileRowB = i32(localId.y) * ${Ke};
867// Loop over shared dimension.
868for (var t = 0; t < num_tiles; t = t + 1) {
869  // Load one tile of A into local memory.
870  for (var innerRow = 0; innerRow < ${Ge}; innerRow = innerRow + 1) {
871    for (var innerCol = 0; innerCol < ${Fe}; innerCol = innerCol + 1) {
872      let inputRow = tileRowA + innerRow;
873      let inputCol = tileColA + innerCol;
874      ${mi(L,S)}
875    }
876  }
877
878  // Load one tile of B into local memory.
879  for (var innerRow = 0; innerRow < ${Ke}; innerRow = innerRow + 1) {
880    for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {
881      let inputRow = tileRowB + innerRow;
882      let inputCol = tileCol + innerCol;
883      mm_Bsub[inputRow][inputCol] = mm_readB(batch,
884        kStart + inputRow,
885        globalCol + innerCol${S?", batchIndices":""});
886    }
887  }
888  kStart = kStart + tileInner;
889  workgroupBarrier();
890
891  // Compute acc values for a single thread.
892  var BCached : array<${x}, colPerThread>;
893  for (var k = 0; k < tileInner; k = k + 1) {
894    for (var inner = 0; inner < colPerThread; inner = inner + 1) {
895      BCached[inner] = mm_Bsub[k][tileCol + inner];
896    }
897
898    for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {
899      ${A0(L)}
900      for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {
901        acc[innerRow][innerCol] = acc[innerRow][innerCol] + ACached * BCached[innerCol];
902      }
903    }
904  }
905
906  workgroupBarrier();
907}
908
909for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {
910  for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {
911    mm_write(batch, globalRow + innerRow, globalCol + innerCol,
912        acc[innerRow][innerCol]);
913  }
914}
915`;return`
916  var<workgroup> mm_Asub : array<array<${x}, ${Ee}>, ${te}>;
917  var<workgroup> mm_Bsub : array<array<${x}, ${ve}>, ${W}>;
918  const rowPerThread = ${u[1]};
919  const colPerThread = ${u[0]};
920  const tileInner = ${W};
921
922@compute @workgroup_size(${I[0]}, ${I[1]}, ${I[2]})
923fn main(@builtin(local_invocation_id) localId : vec3<u32>,
924        @builtin(global_invocation_id) globalId : vec3<u32>,
925        @builtin(workgroup_id) workgroupId : vec3<u32>) {
926    let batch = ${Y?"0":"i32(globalId.z)"};
927    ${S?`let batchIndices = ${S.offsetToIndices("u32(batch)")};`:""}
928    let num_tiles = ${Y?`${Math.ceil(Ae/W)}`:"(uniforms.dim_inner - 1) / tileInner + 1"};
929    var kStart = ${Y?`i32(globalId.z) * ${Ae}`:"0"};
930
931    var acc : array<array<${x}, colPerThread>, rowPerThread>;
932    ${Ye}
933  }
934`},Ar=(u,I,x,S,L=!1)=>{let[W,Y,Ae,se]=S,ne=fr(S[0].type.tensor);return`
935    fn mm_readA(batch: i32, row: i32, colIn: i32, batchIndices: ${W.type.indices}) -> ${Ca(u,ne)} {
936      var value = ${Ca(u,ne)}(0.0);
937      let col = colIn * ${u};
938      if(row < uniforms.dim_a_outer && col < uniforms.dim_inner)
939      {
940        var aIndices: ${Y.type.indices};
941        ${Qi("aIndices",Y,Y.rank-2,W.rank,"batchIndices")}
942        ${Y.indicesSet("aIndices",Y.rank-2,"u32(row)")}
943        ${Y.indicesSet("aIndices",Y.rank-1,"u32(colIn)")}
944        value = ${Y.getByIndices("aIndices")};
945      }
946      return value;
947    }
948
949    fn mm_readB(batch: i32, row: i32, colIn: i32, batchIndices: ${W.type.indices}) -> ${Ca(u,ne)} {
950      var value = ${Ca(u,ne)}(0.0);
951      let col = colIn * ${u};
952      if(row < uniforms.dim_inner && col < uniforms.dim_b_outer)
953      {
954        var bIndices: ${Ae.type.indices};
955        ${Qi("bIndices",Ae,Ae.rank-2,W.rank,"batchIndices")}
956        ${Ae.indicesSet("bIndices",Ae.rank-2,"u32(row)")}
957        ${Ae.indicesSet("bIndices",Ae.rank-1,"u32(colIn)")}
958        value = ${Ae.getByIndices("bIndices")};
959      }
960      return value;
961    }
962
963    fn mm_write(batch: i32, row: i32, colIn: i32, valueIn: ${Ca(u,ne)}) {
964      let col = colIn * ${u};
965      if (row < uniforms.dim_a_outer && col < uniforms.dim_b_outer) {
966        var value = valueIn;
967        let coords = vec3<i32>(batch, row, colIn);
968        ${I?`value = value + ${L?"bias[colIn]":`${Ca(u,ne)}(bias[row])`};`:""}
969        ${x}
970        ${se.setByIndices("vec3<u32>(coords)","value")}
971      }
972    }
973    `},t=(u,I,x,S,L=!1,W)=>{let Y=u[0].dims,Ae=u[1].dims,se=Y.slice(0,-2),ne=Ae.slice(0,-2),ve=S?S.slice(0,-2):x.slice(0,-2),Ee=gt.size(ve),te=Y[Y.length-2],Ge=Y[Y.length-1],Fe=Ae[Ae.length-1],Ke=Ge%4==0&&Fe%4==0,Ye=te<=8?[4,1,1]:[4,4,1],et=[8,8,1],ft=[Math.ceil(Fe/et[0]/Ye[0]),Math.ceil(te/et[1]/Ye[1]),Math.ceil(Ee/et[2]/Ye[2])],bt=Ke?4:1,Mt=[...se,te,Ge/bt],Dt=Mt.length,Nt=[...ne,Ge,Fe/bt],pA=Nt.length,xA=[Ee,te,Fe/bt],ar=[{type:6,data:te},{type:6,data:Fe},{type:6,data:Ge}];si(I,ar),ar.push(...QA(ve,Mt,Nt));let nr=["rank","rank"],$r=u.length>2;return $r&&(ar.push(...QA(u[2].dims)),nr.push("rank")),ar.push(...QA(xA)),{name:"MatMul",shaderCache:{hint:`${Ye};${I.activation};${Ke};${L}`,inputDependencies:nr},getRunData:()=>({outputs:[{dims:W?W(x):x,dataType:u[0].dataType}],dispatchGroup:{x:ft[0],y:ft[1],z:ft[2]},programUniforms:ar}),getShaderSource:ir=>{let Er=ve.length,kr=Vs("batchDims",u[0].dataType,Er,1),Vt=fr(u[0].dataType),ZA=Wt("a",u[0].dataType,Dt,bt),RA=Wt("b",u[1].dataType,pA,bt),UA=PA("result",u[0].dataType,xA.length,bt),us=[ZA,RA];if($r){let pl=L?bt:1;us.push(Wt("bias",u[2].dataType,u[2].dims.length,pl))}let za=[{name:"dim_a_outer",type:"i32"},{name:"dim_b_outer",type:"i32"},{name:"dim_inner",type:"i32"}];Vn(I,za);let Rn=fr(UA.type.tensor),m0=ri(I,UA.type.value,Rn),G0=Ar(bt,$r,m0,[kr,ZA,RA,UA],L);return`
974  ${ir.registerUniforms(za).registerInternalVariables(kr).declareVariables(...us,UA)}
975  ${G0}
976  ${Ke?ko(Ye,et,Vt,kr):ai(Ye,et,Vt,kr)}
977                   `}}}}),w1=pe(()=>{Cr(),Lo(),Pr(),f0(),g2(),I1(),p2(),A=(u,I,x,S,L=!1,W,Y=4,Ae=4,se=4,ne="f32")=>{let ve=xA=>{switch(xA){case 1:return"return w[row * i32(uniforms.w_shape[3]) + colIn];";case 4:return"return w[row * i32(uniforms.w_shape[3]) / 4 + colIn];";default:throw new Error(`innerElementSize ${xA} is not supported.`)}},Ee=u?`
978    let coord = vec4<i32>(batch, xRow, xCol, xCh);
979    `:`
980    let coord = vec4<i32>(batch, xCh, xRow, xCol);
981    `,te=u?`
982    let coords = vec4<i32>(
983      batch,
984      row / outWidth,
985      row % outWidth,
986      col);
987    `:`
988    let coords = vec4<i32>(
989      batch,
990      row,
991      col / outWidth,
992      col % outWidth);
993    `,Ge=u?"i32(uniforms.x_shape[1])":"i32(uniforms.x_shape[2])",Fe=u?"i32(uniforms.x_shape[2])":"i32(uniforms.x_shape[3])",Ke=u?"row":"col",Ye=u?"col":"row",et=`
994    let inChannels = i32(uniforms.w_shape[2]);
995    let outWidth = ${u?"i32(uniforms.result_shape[2])":"i32(uniforms.result_shape[3])"};
996    let outRow = ${Ke} / outWidth;
997    let outCol = ${Ke} % outWidth;
998
999    let WRow = ${Ye} / (i32(uniforms.w_shape[1]) * inChannels);
1000    let WCol = ${Ye} / inChannels % i32(uniforms.w_shape[1]);
1001    let xRow = outRow * uniforms.stride[0] + uniforms.dilation[0] * WRow - uniforms.pad[0];
1002    let xCol = outCol * uniforms.stride[1] + uniforms.dilation[1] * WCol - uniforms.pad[1];
1003    let xCh = ${Ye} % inChannels;
1004    var resData = ${Ca(Y,ne)}(0.0);
1005    // The bounds checking is always needed since we use it to pad zero for
1006    // the 'same' padding type.
1007    if (xRow >= 0 && xRow < ${Ge} && xCol >= 0 && xCol < ${Fe}) {
1008      ${Ee}
1009      let xIndex = getIndexFromCoords4D(coord, vec4<i32>(uniforms.x_shape));
1010      ${(xA=>{switch(xA){case 1:return"resData = x[xIndex];";case 3:return`resData = vec3<${ne}>(x[xIndex], x[xIndex + 1], x[xIndex + 2]);`;case 4:return"resData = x[xIndex / 4];";default:throw new Error(`innerElementSize ${xA} is not supported.`)}})(Y)}
1011    }
1012    return resData;`,ft=u?I&&S?`
1013    let col = colIn * ${Y};
1014    ${et}`:`
1015    let col = colIn * ${Y};
1016    if (row < uniforms.dim_a_outer && col < uniforms.dim_inner) {
1017      ${et}
1018    }
1019    return ${Ca(Y,ne)}(0.0);`:S&&x?`
1020    let col = colIn * ${Y};
1021    ${et}`:`
1022    let col = colIn * ${Y};
1023    if (row < uniforms.dim_inner && col < uniforms.dim_b_outer) {
1024      ${et}
1025    }
1026    return ${Ca(Y,ne)}(0.0);`,bt=u?S&&x?ve(Ae):`
1027    let col = colIn * ${Ae};
1028    if (row < uniforms.dim_inner && col < uniforms.dim_b_outer) {
1029      ${ve(Ae)}
1030    }
1031    return ${Ca(Ae,ne)}(0.0);`:`
1032    let col = colIn * ${Ae};
1033    if (row < uniforms.dim_inner && col < uniforms.dim_a_outer) {
1034      ${ve(Ae)}
1035    }
1036    return ${Ca(Ae,ne)}(0.0);`,Mt=Ca(se,ne),Dt=Ca(u?Y:Ae,ne),Nt=Ca(u?Ae:Y,ne),pA=ri(W,Mt,ne);return`
1037    fn mm_readA(batch: i32, row : i32, colIn : i32) -> ${Dt} {
1038      ${u?ft:bt}
1039    }
1040
1041    fn mm_readB(batch: i32, row : i32, colIn : i32) -> ${Nt} {
1042      ${u?bt:ft}
1043    }
1044
1045    fn mm_write(batch: i32, row : i32, colIn : i32, valueIn : ${Mt}) {
1046      let col = colIn * ${se};
1047      if (row < uniforms.dim_a_outer && col < uniforms.dim_b_outer)
1048      {
1049      var value = valueIn;
1050      let outWidth = ${u?"i32(uniforms.result_shape[2])":"i32(uniforms.result_shape[3])"};
1051      ${te}
1052      ${t0(L)}
1053      ${pA}
1054      setOutputAtCoords(coords[0], coords[1], coords[2], coords[3], value);
1055      }
1056    }`},r=(u,I,x,S,L,W,Y,Ae,se)=>{let ne=I.format==="NHWC",ve=ne?u[0].dims[3]:u[0].dims[1],Ee=x[0],te=ne?x[2]:x[3],Ge=ne?x[1]:x[2],Fe=ne?x[3]:x[1],Ke=ne&&(ve%4==0||ve%3==0)&&Fe%4==0,Ye=ne?Fe:te*Ge,et=ne?te*Ge:Fe,ft=[8,8,1],bt=S<=8?[4,1,1]:[4,4,1],Mt=[Math.ceil(Ye/ft[0]/bt[0]),Math.ceil(et/ft[1]/bt[1]),Math.ceil(Ee/ft[2]/bt[2])];pr("verbose",()=>`[conv2d_mm_webgpu] dispatch = ${Mt}`);let Dt=Ke?ne&&ve%4!=0?3:4:1,Nt=ft[1]*bt[1],pA=ft[0]*bt[0],xA=Math.max(ft[0]*Dt,ft[1]),ar=S%Nt==0,nr=L%pA==0,$r=W%xA==0,ir=Ke?[Dt,4,4]:[1,1,1],Er=[{type:6,data:S},{type:6,data:L},{type:6,data:W},{type:6,data:[I.pads[0],I.pads[1]]},{type:6,data:I.strides},{type:6,data:I.dilations}];si(I,Er),Er.push(...QA(u[0].dims,u[1].dims));let kr=["rank","rank"];return Y&&(Er.push(...QA(u[2].dims)),kr.push("rank")),Er.push(...QA(x)),{name:"Conv2DMatMul",shaderCache:{hint:`${I.cacheKey};${Dt};${Ke};${ar};${nr};${$r};${Nt};${pA};${xA}`,inputDependencies:kr},getRunData:()=>({outputs:[{dims:se?se(x):x,dataType:u[0].dataType}],dispatchGroup:{x:Mt[0],y:Mt[1],z:Mt[2]},programUniforms:Er}),getShaderSource:Vt=>{let ZA=[{name:"dim_a_outer",type:"i32"},{name:"dim_b_outer",type:"i32"},{name:"dim_inner",type:"i32"},{name:"pad",type:"i32",length:2},{name:"stride",type:"i32",length:2},{name:"dilation",type:"i32",length:2}];Vn(I,ZA);let RA=Ke?4:1,UA=fr(u[0].dataType),us=`
1057      fn setOutputAtIndex(flatIndex : i32, value : ${Ke?`vec4<${UA}>`:UA}) {
1058        result[flatIndex] = ${Ke?`vec4<${UA}>`:UA}(value);
1059      }
1060      fn setOutputAtCoords(d0 : i32, d1 : i32, d2 : i32, d3 : i32, value : ${Ke?`vec4<${UA}>`:UA}) {
1061        let flatIndex = getOutputIndexFromCoords(vec4<i32>(d0, d1, d2, d3));
1062        setOutputAtIndex(flatIndex ${Ke?"/ 4":""}, value);
1063      }`,za=[Wt("x",u[0].dataType,u[0].dims.length,Dt===3?1:Dt),Wt("w",u[1].dataType,u[1].dims.length,RA)],Rn=PA("result",u[0].dataType,x.length,RA);if(Y){let m0=Wt("bias",u[2].dataType,u[2].dims.length,RA);za.push(m0),us+=`
1064        fn getBiasByOutputCoords(coords : vec4<i32>) -> ${Ke?`vec4<${UA}>`:UA} {
1065          return bias[coords.${ne?"w":"y"}${Ke?"/ 4":""}];
1066        }`}return`
1067        ${Ji("uniforms.result_strides")}
1068        //struct Uniforms { xShape : vec4<i32>, wShape : vec4<i32>, outShape : vec4<i32>,
1069        //  outShapeStrides: vec3<i32>, filterDims : vec2<i32>, pad : vec2<i32>, stride : vec2<i32>,
1070        //  dilation : vec2<i32>, dimAOuter : i32, dimBOuter : i32, dimInner : i32 };
1071        ${Vt.registerUniforms(ZA).declareVariables(...za,Rn)}
1072        ${us}
1073        ${A(ne,ar,nr,$r,Y,I,ir[0],ir[1],ir[2],UA)}
1074        ${Ke?ko(bt,ft,UA,void 0,!ne,xA):ai(bt,ft,UA,void 0,!ne,xA,!1,void 0,Ae)}`}}}}),k1=pe(()=>{Cr(),Lo(),Mr(),Pr(),f0(),g2(),a=u=>{let I=1;for(let x=0;x<u.length;x++)I*=u[x];return I},i=u=>typeof u=="number"?[u,u,u]:u,l=(u,I)=>I<=1?u:u+(u-1)*(I-1),h=(u,I,x,S=1)=>{let L=l(I,S);return Math.floor((u[0]*(x-1)-x+L)/2)},m=(u,I,x,S,L)=>{L==null&&(L=h(u,I[0],S[0]));let W=[0,0,0,x];for(let Y=0;Y<3;Y++)u[Y]+2*L>=I[Y]&&(W[Y]=Math.trunc((u[Y]-I[Y]+2*L)/S[Y]+1));return W},w=(u,I,x,S,L,W,Y,Ae,se,ne)=>{let ve,Ee,te,Ge;if(u==="VALID"&&(u=0),typeof u=="number"){ve={top:u,bottom:u,left:u,right:u,front:u,back:u};let Fe=m([I,x,S,1],[Ae,se,ne],1,[L,W,Y],u);Ee=Fe[0],te=Fe[1],Ge=Fe[2]}else if(Array.isArray(u)){if(!u.every((Ke,Ye,et)=>Ke===et[0]))throw Error(`Unsupported padding parameter: ${u}`);ve={top:u[0],bottom:u[1],left:u[2],right:u[3],front:u[4],back:u[5]};let Fe=m([I,x,S,1],[Ae,se,ne],1,[L,W,Y],u[0]);Ee=Fe[0],te=Fe[1],Ge=Fe[2]}else{if(u!=="SAME_UPPER")throw Error(`Unknown padding parameter: ${u}`);{Ee=Math.ceil(I/L),te=Math.ceil(x/W),Ge=Math.ceil(S/Y);let Fe=(Ee-1)*L+Ae-I,Ke=(te-1)*W+se-x,Ye=(Ge-1)*Y+ne-S,et=Math.floor(Fe/2),ft=Fe-et,bt=Math.floor(Ke/2),Mt=Ke-bt,Dt=Math.floor(Ye/2);ve={top:bt,bottom:Mt,left:Dt,right:Ye-Dt,front:et,back:ft}}}return{padInfo:ve,outDepth:Ee,outHeight:te,outWidth:Ge}},M=(u,I,x,S,L,W=!1,Y="channelsLast")=>{let Ae,se,ne,ve,Ee;if(Y==="channelsLast")[Ae,se,ne,ve,Ee]=u;else{if(Y!=="channelsFirst")throw new Error(`Unknown dataFormat ${Y}`);[Ae,Ee,se,ne,ve]=u}let[te,,Ge,Fe,Ke]=I,[Ye,et,ft]=i(x),[bt,Mt,Dt]=i(S),Nt=l(Ge,bt),pA=l(Fe,Mt),xA=l(Ke,Dt),{padInfo:ar,outDepth:nr,outHeight:$r,outWidth:ir}=w(L,se,ne,ve,Ye,et,ft,Nt,pA,xA),Er=W?te*Ee:te,kr=[0,0,0,0,0];return Y==="channelsFirst"?kr=[Ae,Er,nr,$r,ir]:Y==="channelsLast"&&(kr=[Ae,nr,$r,ir,Er]),{batchSize:Ae,dataFormat:Y,inDepth:se,inHeight:ne,inWidth:ve,inChannels:Ee,outDepth:nr,outHeight:$r,outWidth:ir,outChannels:Er,padInfo:ar,strideDepth:Ye,strideHeight:et,strideWidth:ft,filterDepth:Ge,filterHeight:Fe,filterWidth:Ke,effectiveFilterDepth:Nt,effectiveFilterHeight:pA,effectiveFilterWidth:xA,dilationDepth:bt,dilationHeight:Mt,dilationWidth:Dt,inShape:u,outShape:kr,filterShape:I}},y=(u,I,x,S,L,W)=>{let Y=W==="channelsLast";Y?u[0].dims[3]:u[0].dims[1];let Ae={x:x.map((te,Ge)=>Ge)},se=[Math.ceil(a(Ae.x.map(te=>x[te]))/64),1,1];pr("verbose",()=>`[conv3d_naive_webgpu] dispatch = ${se}`);let ne=[{type:12,data:gt.size(x)},{type:12,data:S},{type:12,data:L},{type:12,data:I.strides},{type:12,data:I.dilations}];si(I,ne),ne.push(...QA(u[0].dims,u[1].dims));let ve=["rank","rank"],Ee=u.length===3;return Ee&&(ne.push(...QA(u[2].dims)),ve.push("rank")),ne.push(...QA(x)),{name:"Conv3DNaive",shaderCache:{hint:`${I.cacheKey};${Y};1;${Ee}`,inputDependencies:ve},getRunData:()=>({outputs:[{dims:x,dataType:u[0].dataType}],dispatchGroup:{x:se[0],y:se[1],z:se[2]},programUniforms:ne}),getShaderSource:te=>{let Ge=[{name:"output_size",type:"u32"},{name:"filter_dims",type:"u32",length:S.length},{name:"pads",type:"u32",length:L.length},{name:"strides",type:"u32",length:I.strides.length},{name:"dilations",type:"u32",length:I.dilations.length}];Vn(I,Ge);let Fe=fr(u[0].dataType),Ke=Wt("x",u[0].dataType,u[0].dims.length,1),Ye=Wt("W",u[1].dataType,u[1].dims.length,1),et=[Ke,Ye],ft=PA("result",u[0].dataType,x.length,1),bt="";if(Ee){let Nt=Wt("bias",u[2].dataType,u[2].dims.length,1);et.push(Nt),bt+=`
1075        fn getBiasByOutputCoords(coords : array<u32, 5>) -> ${Fe} {
1076          return bias[${zA("coords",Y?4:1,5)}];
1077        }`}let Mt=Ca(1,Fe),Dt=ri(I,Mt,Fe);return`
1078            ${bt}
1079            fn getX(d0 : u32, d1 : u32, d2 : u32, d3 : u32, d4 : u32) -> f32 {
1080              let aIndices = array<u32, 5>(d0, d1, d2, d3, d4);
1081              return ${Ke.getByIndices("aIndices")};
1082            }
1083            fn getW(d0 : u32, d1 : u32, d2 : u32, d3 : u32, d4 : u32) -> f32 {
1084              let aIndices = array<u32, 5>(d0, d1, d2, d3, d4);
1085              return ${Ye.getByIndices("aIndices")};
1086            }
1087          ${te.registerUniforms(Ge).declareVariables(...et,ft)}
1088          ${te.mainStart()}
1089          ${te.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
1090              let coords = ${ft.offsetToIndices("global_idx")};
1091              let batch = ${zA("coords",0,Ke.rank)};
1092              let d2 = ${zA("coords",Y?Ke.rank-1:1,Ke.rank)};
1093              let xFRCCorner = vec3<u32>(${zA("coords",Y?1:2,Ke.rank)},
1094              ${zA("coords",Y?2:3,Ke.rank)},
1095              ${zA("coords",Y?3:4,Ke.rank)}) * uniforms.strides - uniforms.pads;
1096              let xFCorner = xFRCCorner.x;
1097              let xRCorner = xFRCCorner.y;
1098              let xCCorner = xFRCCorner.z;
1099              let xShapeY = ${zA("uniforms.x_shape",Y?1:2,Ke.rank)};
1100              let xShapeZ = ${zA("uniforms.x_shape",Y?2:3,Ke.rank)};
1101              let xShapeW = ${zA("uniforms.x_shape",Y?3:4,Ke.rank)};
1102              let xShapeU = ${zA("uniforms.x_shape",Y?4:1,Ke.rank)};
1103              let inputDepthNearestVec4 = (xShapeU / 4) * 4;
1104              let inputDepthVec4Remainder = xShapeU % 4;
1105
1106              var value = 0.0;
1107              for (var wF = 0u; wF < uniforms.filter_dims[0]; wF++) {
1108                let xF = xFCorner + wF * uniforms.dilations[0];
1109                if (xF < 0 || xF >= xShapeY) {
1110                  continue;
1111                }
1112
1113                for (var wR = 0u; wR < uniforms.filter_dims[1]; wR++) {
1114                  let xR = xRCorner + wR * uniforms.dilations[1];
1115                  if (xR < 0 || xR >= xShapeZ) {
1116                    continue;
1117                  }
1118
1119                  for (var wC = 0u; wC < uniforms.filter_dims[2]; wC++) {
1120                    let xC = xCCorner + wC * uniforms.dilations[2];
1121                    if (xC < 0 || xC >= xShapeW) {
1122                      continue;
1123                    }
1124
1125                    for (var d1 = 0u; d1 < inputDepthNearestVec4; d1 += 4) {
1126                      ${Y?`let xValues = vec4<f32>(
1127                               getX(batch, xF, xR, xC, d1),
1128                               getX(batch, xF, xR, xC, d1 + 1),
1129                               getX(batch, xF, xR, xC, d1 + 2),
1130                               getX(batch, xF, xR, xC, d1 + 3));
1131                            `:`let xValues = vec4<f32>(
1132                               getX(batch, d1, xF, xR, xC),
1133                               getX(batch, d1 + 1, xF, xR, xC),
1134                               getX(batch, d1 + 2, xF, xR, xC),
1135                               getX(batch, d1 + 3, xF, xR, xC));
1136                            `}
1137                            let wValues = vec4<f32>(
1138                              getW(d2, d1, wF, wR, wC),
1139                              getW(d2, d1 + 1, wF, wR, wC),
1140                              getW(d2, d1 + 2, wF, wR, wC),
1141                              getW(d2, d1 + 3, wF, wR, wC));
1142                      value += dot(xValues, wValues);
1143                    }
1144                    if (inputDepthVec4Remainder == 1) {
1145                        ${Y?`value += getX(batch, xF, xR, xC, inputDepthNearestVec4)
1146                          * getW(d2, inputDepthNearestVec4, wF, wR, wC);`:`value += getX(batch, inputDepthNearestVec4, xF, xR, xC)
1147                          * getW(d2, inputDepthNearestVec4, wF, wR, wC);`}
1148                    } else if (inputDepthVec4Remainder == 2) {
1149                      ${Y?`let xValues = vec2<f32>(
1150                        getX(batch, xF, xR, xC, inputDepthNearestVec4),
1151                        getX(batch, xF, xR, xC, inputDepthNearestVec4 + 1));
1152                      `:`let xValues = vec2<f32>(
1153                        getX(batch, inputDepthNearestVec4, xF, xR, xC),
1154                        getX(batch, inputDepthNearestVec4 + 1, xF, xR, xC));
1155                    `}
1156                    let wValues = vec2<f32>(
1157                      getW(d2, inputDepthNearestVec4, wF, wR, wC),
1158                      getW(d2, inputDepthNearestVec4 + 1, wF, wR, wC));
1159                      value += dot(xValues, wValues);
1160                    } else if (inputDepthVec4Remainder == 3) {
1161                      ${Y?`let xValues = vec3<f32>(
1162                        getX(batch, xF, xR, xC, inputDepthNearestVec4),
1163                        getX(batch, xF, xR, xC, inputDepthNearestVec4 + 1),
1164                        getX(batch, xF, xR, xC, inputDepthNearestVec4 + 2));
1165                      `:`let xValues = vec3<f32>(
1166                        getX(batch, inputDepthNearestVec4, xF, xR, xC),
1167                        getX(batch, inputDepthNearestVec4 + 1, xF, xR, xC),
1168                        getX(batch, inputDepthNearestVec4 + 2, xF, xR, xC));
1169                    `}
1170                    let wValues = vec3<f32>(
1171                      getW(d2, inputDepthNearestVec4, wF, wR, wC),
1172                      getW(d2, inputDepthNearestVec4 + 1, wF, wR, wC),
1173                      getW(d2, inputDepthNearestVec4 + 2, wF, wR, wC));
1174                      value += dot(xValues, wValues);
1175                    }
1176                  }
1177                }
1178              }
1179              ${Ee?"value = value + getBiasByOutputCoords(coords)":""};
1180              ${Dt}
1181              result[global_idx] = f32(value);
1182          }`}}}}),rf=pe(()=>{Cr(),Mr(),Pr(),f0(),P=(u,I,x,S)=>{let L=u.length>2,W=L?"value += b[output_channel];":"",Y=u[0].dims,Ae=u[1].dims,se=I.format==="NHWC",ne=se?x[3]:x[1],ve=ne/I.group,Ee=se&&ve>=4?Qr(ne):1,te=gt.size(x)/Ee,Ge=[{type:12,data:te},{type:12,data:I.dilations},{type:12,data:[I.strides[0],I.strides[1]]},{type:12,data:[I.pads[0],I.pads[1]]},{type:12,data:ve}];si(I,Ge),Ge.push(...QA(Y,[Ae[0],Ae[1],Ae[2],Ae[3]/Ee]));let Fe=L?["rank","rank","rank"]:["rank","rank"];return Ge.push(...QA([x[0],x[1],x[2],x[3]/Ee])),{name:"GroupedConv",shaderCache:{hint:`${I.cacheKey}_${Ee}`,inputDependencies:Fe},getRunData:()=>({outputs:[{dims:S?S(x):x,dataType:u[0].dataType}],dispatchGroup:{x:Math.ceil(te/64)},programUniforms:Ge}),getShaderSource:Ke=>{let Ye=PA("output",u[0].dataType,x.length,Ee),et=fr(Ye.type.tensor),ft=ri(I,Ye.type.value,et),bt=Wt("x",u[0].dataType,Y.length),Mt=Wt("w",u[1].dataType,Ae.length,Ee),Dt=[bt,Mt];L&&Dt.push(Wt("b",u[2].dataType,u[2].dims,Ee));let Nt=[{name:"output_size",type:"u32"},{name:"dilations",type:"u32",length:I.dilations.length},{name:"strides",type:"u32",length:2},{name:"pads",type:"u32",length:2},{name:"output_channels_per_group",type:"u32"}];Vn(I,Nt);let pA=se?`
1183      for (var wHeight: u32 = 0u; wHeight < uniforms.w_shape[0]; wHeight++) {
1184        let xHeight = xRCCorner.x + wHeight * uniforms.dilations[0];
1185
1186        if (xHeight < 0u || xHeight >= uniforms.x_shape[1]) {
1187          continue;
1188        }
1189
1190        for (var wWidth: u32 = 0u; wWidth < uniforms.w_shape[1]; wWidth++) {
1191          let xWidth = xRCCorner.y + wWidth * uniforms.dilations[1];
1192          if (xWidth < 0u || xWidth >= uniforms.x_shape[2]) {
1193            continue;
1194          }
1195
1196          for (var wInChannel: u32 = 0u; wInChannel < uniforms.w_shape[2]; wInChannel++) {
1197            let input_channel = in_channel_offset + wInChannel;
1198            let xVal = ${bt.get("batch","xHeight","xWidth","input_channel")};
1199            let wVal = ${Mt.get("wHeight","wWidth","wInChannel","output_channel")};
1200            value += xVal * wVal;
1201          }
1202        }
1203      }
1204      `:`
1205      for (var wInChannel: u32 = 0u; wInChannel < uniforms.w_shape[1]; wInChannel++) {
1206        let input_channel = in_channel_offset + wInChannel;
1207        for (var wHeight: u32 = 0u; wHeight < uniforms.w_shape[2]; wHeight++) {
1208          let xHeight = xRCCorner.x + wHeight * uniforms.dilations[0];
1209
1210          if (xHeight < 0u || xHeight >= uniforms.x_shape[2]) {
1211            continue;
1212          }
1213
1214          for (var wWidth: u32 = 0u; wWidth < uniforms.w_shape[3]; wWidth++) {
1215            let xWidth = xRCCorner.y + wWidth * uniforms.dilations[1];
1216            if (xWidth < 0u || xWidth >= uniforms.x_shape[3]) {
1217              continue;
1218            }
1219
1220            let xVal = ${bt.get("batch","input_channel","xHeight","xWidth")};
1221            let wVal = ${Mt.get("output_channel","wInChannel","wHeight","wWidth")};
1222            value += xVal * wVal;
1223          }
1224        }
1225      }
1226      `;return`
1227  ${Ke.registerUniforms(Nt).declareVariables(...Dt,Ye)}
1228
1229  ${Ke.mainStart()}
1230    ${Ke.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
1231
1232    let outputIndices = ${Ye.offsetToIndices("global_idx")};
1233    let batch: u32 = outputIndices[0];
1234    let output_channel: u32 = outputIndices[${se?3:1}];
1235    let xRCCorner: vec2<u32> = vec2<u32>(outputIndices[${se?1:2}], outputIndices[${se?2:3}]) * uniforms.strides - uniforms.pads;
1236    let group_id: u32 = output_channel * ${Ee} / uniforms.output_channels_per_group;
1237    var in_channel_offset = group_id * uniforms.w_shape[${se?2:1}];
1238
1239    var value: ${Ye.type.value} = ${Ye.type.value}(0);
1240    ${pA}
1241    ${W}
1242    ${ft}
1243    ${Ye.setByOffset("global_idx","value")}
1244  }`}}},R=(u,I,x,S)=>{let L=u.length>2,W=Qr(x[3]),Y=Qr(x[2]),Ae=gt.size(x)/W/Y,se=[u[0].dims[0],u[0].dims[1],u[0].dims[2],u[0].dims[3]/W],ne=[u[1].dims[0],u[1].dims[1],u[1].dims[2],u[1].dims[3]/W],ve=[x[0],x[1],x[2],x[3]/W],Ee=[{type:12,data:Ae},{type:6,data:[I.strides[0],I.strides[1]]},{type:6,data:[I.pads[0],I.pads[1]]}];si(I,Ee),Ee.push(...QA(se,ne,ve));let te=(Y-1)*I.strides[1]+ne[1];return{name:"GroupedConv-Vectorize",shaderCache:{hint:`${I.cacheKey};${W};${Y};${te};${ne[0]};${ne[1]}`,inputDependencies:L?["rank","rank","type"]:["rank","rank"]},getRunData:()=>({outputs:[{dims:S?S(x):x,dataType:u[0].dataType}],dispatchGroup:{x:Math.ceil(Ae/64)},programUniforms:Ee}),getShaderSource:Ge=>{let Fe=PA("output",u[0].dataType,ve.length,W),Ke=fr(Fe.type.tensor),Ye=ri(I,Fe.type.value,Ke),et=Wt("x",u[0].dataType,se.length,W),ft=Wt("w",u[1].dataType,ne.length,W),bt=[et,ft];L&&bt.push(Wt("b",u[2].dataType,u[2].dims,W));let Mt=L?"value += b[output_channel];":"",Dt=[{name:"output_size",type:"u32"},{name:"strides",type:"i32",length:2},{name:"pads",type:"i32",length:2}];return Vn(I,Dt),`
1245  ${Ge.registerUniforms(Dt).declareVariables(...bt,Fe)}
1246  ${Ge.mainStart()}
1247    ${Ge.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
1248    let width0 = uniforms.output_shape[3];
1249    let output_channel = global_idx % width0;
1250    var index1 = global_idx / width0;
1251    let width1 = uniforms.output_shape[2] / ${Y}u;
1252    let col = (index1 % width1) * ${Y}u;
1253    index1 = index1 / width1;
1254    let row = index1 % uniforms.output_shape[1];
1255    let batch = index1 / uniforms.output_shape[1];
1256
1257    let x_corner = vec2<i32>(i32(row), i32(col)) * uniforms.strides - uniforms.pads;
1258
1259    var x_vals: array<${et.type.value}, ${te}>;
1260    var values: array<${Fe.type.value}, ${Y}>;
1261    let input_channel = output_channel;
1262    // Use constant instead of uniform can give better performance for w's height/width.
1263    for (var w_height: u32 = 0u; w_height < ${ne[0]}; w_height++) {
1264      let x_height = x_corner.x + i32(w_height);
1265      if (x_height >= 0 && u32(x_height) < uniforms.x_shape[1]) {
1266        for (var i = 0; i < ${te}; i++) {
1267          let x_width = x_corner.y + i;
1268          if (x_width >= 0 && u32(x_width) < uniforms.x_shape[2]) {
1269            x_vals[i] = ${et.get("batch","u32(x_height)","u32(x_width)","input_channel")};
1270          } else {
1271            x_vals[i] = ${et.type.value}(0);
1272          }
1273        }
1274        for (var w_width: u32 = 0u; w_width < ${ne[1]}; w_width++) {
1275          let w_val = ${ft.get("w_height","w_width","0","output_channel")};
1276          for (var i = 0u; i < ${Y}u; i++) {
1277            values[i] = fma(x_vals[i * u32(uniforms.strides[1]) + w_width], w_val, values[i]);
1278          }
1279        }
1280      }
1281    }
1282
1283    for (var i = 0u; i < ${Y}u; i++) {
1284      var value = values[i];
1285      ${Mt}
1286      ${Ye}
1287      ${Fe.set("batch","row","col + i","output_channel","value")};
1288    }
1289  }`}}}}),Gr=pe(()=>{Mr(),w1(),k1(),p2(),rf(),f0(),h2(),a0(),ee=(u,I,x,S,L,W)=>{let Y=u[0],Ae=u.slice(W?1:2,W?3:4),se=Ae.length,ne=I[0],ve=I.slice(2).map((te,Ge)=>te+(te-1)*(x[Ge]-1)),Ee=Ae.map((te,Ge)=>te+S[Ge]+S[Ge+se]).map((te,Ge)=>Math.floor((te-ve[Ge]+L[Ge])/L[Ge]));return Ee.splice(0,0,Y),Ee.splice(W?3:1,0,ne),Ee},ae=[2,3,1,0],ue=(u,I)=>{if(!u||u.length!==2&&u.length!==3)throw new Error("Conv requires 2 or 3 inputs");if(u[0].dims.length>5)throw new Error("greater than 5D is not supported");if(u[0].dims.length!==u[1].dims.length)throw new Error("filter does not have same dimension as input");if(u[0].dims[I.format==="NHWC"?u[0].dims.length-1:1]!==u[1].dims[1]*I.group)throw new Error("FILTER_IN_CHANNEL should be equal to DATA_CHANNEL");if(u.length===3&&(u[2].dims.length!==1||u[1].dims[0]!==u[2].dims[0]))throw new Error("invalid bias");let x=u[0].dims.length-2;if(I.dilations.length!==x)throw new Error(`dilations should be ${x}D`);if(I.strides.length!==x)throw new Error(`strides should be ${x}D`);if(I.pads.length!==2*x)throw new Error(`pads should be ${2*x}D`);if(I.kernelShape.length!==0&&I.kernelShape.length!==u[1].dims.length-2)throw new Error("invalid kernel shape")},be=(u,I)=>{let x=u.kernelShape.slice();x.length<I[1].dims.length-2&&x.push(...Array(I[1].dims.length-2-x.length).fill(0));for(let W=2;W<I[1].dims.length;++W)x[W-2]===0&&(x[W-2]=I[1].dims[W]);let S=u.pads.slice();mA.adjustPadsBasedOnAutoPad(I[0].dims,u.strides,u.dilations,x,S,u.format==="NHWC",u.autoPad);let L=Object.assign({},u);return Object.assign(L,{kernelShape:x,pads:S}),L},Te=u=>{let I=Fo(u),x=u.format;return{autoPad:["NOTSET","VALID","SAME_UPPER","SAME_LOWER"][u.auto_pad],format:x,dilations:u.dilations,group:u.group,kernelShape:u.kernel_shape,pads:u.pads,strides:u.strides,wIsConst:u.w_is_const(),...I,cacheKey:`${u.format};${I.activation};`}},Oe=(u,I,x,S)=>{let L=x.format==="NHWC",W=ee(I[0].dims,I[1].dims,x.dilations,x.pads,x.strides,L);if(x.group!==1){let Dt=[I[0]];if(L){let Nt=u.kernelCustomData.wT??u.compute(Hs(I[1],ae),{inputs:[1],outputs:[x.wIsConst?-2:-1]})[0];x.wIsConst&&!u.kernelCustomData.wT&&(u.kernelCustomData.wT=Nt),Dt.push(Nt)}else Dt.push(I[1]);return I.length===3&&Dt.push(I[2]),void(!u.adapterInfo.isArchitecture("ampere")&&L&&I[1].dims[0]===x.group&&I[1].dims[1]===1&&x.dilations[0]===1&&x.dilations[1]===1?u.compute(R(Dt,x,W,S),{inputs:Dt}):u.compute(P(Dt,x,W,S),{inputs:Dt}))}let Y=I.length===3,Ae=I[0].dims[L?1:2],se=I[0].dims[L?2:3],ne=I[0].dims[L?3:1],ve=I[1].dims[2],Ee=I[1].dims[3],te=W[L?1:2],Ge=W[L?2:3],Fe=W[L?3:1],Ke=L&&ve===Ae&&Ee===se&&x.pads[0]===0&&x.pads[1]===0;if(Ke||ve===1&&Ee===1&&x.dilations[0]===1&&x.dilations[1]===1&&x.strides[0]===1&&x.strides[1]===1&&x.pads[0]===0&&x.pads[1]===0){let Dt,Nt,pA,xA=W[0],ar=[];if(L){let ir=u.kernelCustomData.wT??u.compute(Hs(I[1],ae),{inputs:[1],outputs:[x.wIsConst?-2:-1]})[0];if(x.wIsConst&&!u.kernelCustomData.wT&&(u.kernelCustomData.wT=ir),Ke){let Er=Ae*se*ne;Dt=I[0].reshape([1,xA,Er]),Nt=ir.reshape([1,Er,Fe]),pA=[1,xA,Fe]}else Dt=I[0].reshape([xA,Ae*se,ne]),Nt=ir.reshape([1,ne,Fe]),pA=[xA,te*Ge,Fe];ar.push(Dt),ar.push(Nt)}else Dt=I[0].reshape([xA,ne,Ae*se]),Nt=I[1].reshape([1,Fe,ne]),pA=[xA,Fe,te*Ge],ar.push(Nt),ar.push(Dt);Y&&ar.push(I[2]);let nr=pA[2],$r=ar[0].dims[ar[0].dims.length-1];return void(nr<8&&$r<8?u.compute($i(ar,x,W,pA,L,S),{inputs:ar}):u.compute(t(ar,x,W,pA,L,S),{inputs:ar}))}let Ye=u.kernelCustomData.wT??u.compute(Hs(I[1],ae),{inputs:[1],outputs:[x.wIsConst?-2:-1]})[0];x.wIsConst&&!u.kernelCustomData.wT&&(u.kernelCustomData.wT=Ye);let et=[I[0],Ye];Y&&et.push(I[2]);let ft=L?te*Ge:Fe,bt=L?Fe:te*Ge,Mt=ve*Ee*ne;u.compute(r(et,x,W,ft,bt,Mt,Y,!0,S),{inputs:et})},$e=(u,I)=>{let x=I.format==="NHWC",S=[u.inputs[0].reshape(x?[u.inputs[0].dims[0],1,u.inputs[0].dims[1],u.inputs[0].dims[2]]:[u.inputs[0].dims[0],u.inputs[0].dims[1],1,u.inputs[0].dims[2]]),u.inputs[1].reshape([u.inputs[1].dims[0],u.inputs[1].dims[1],1,u.inputs[1].dims[2]])];u.inputs.length===3&&S.push(u.inputs[2]);let L=[0,I.pads[0],0,I.pads[1]],W=[1].concat(I.strides),Y=[1].concat(I.dilations),Ae=[1].concat(I.kernelShape),se=be({...I,pads:L,strides:W,dilations:Y,kernelShape:Ae},S);Oe(u,S,se,ne=>x?[ne[0],ne[2],ne[3]]:[ne[0],ne[1],ne[3]])},nt=(u,I,x)=>{let S=x.format==="NHWC"?"channelsLast":"channelsFirst",L=be(x,I),W=x.autoPad==="NOTSET"?x.pads:x.autoPad,Y=M(I[0].dims,I[1].dims,x.strides,x.dilations,W,!1,S);u.compute(y(I,L,Y.outShape,[Y.filterDepth,Y.filterHeight,Y.filterWidth],[Y.padInfo.front,Y.padInfo.top,Y.padInfo.left],S))},ht=(u,I)=>{if(ue(u.inputs,I),u.inputs[0].dims.length===3)$e(u,I);else if(u.inputs[0].dims.length===5)nt(u,u.inputs,I);else{let x=be(I,u.inputs);Oe(u,u.inputs,x)}}}),v1=pe(()=>{Cr(),Lo(),Mr(),Pr(),vt=(u,I,x)=>{let S=u.length>2,L=I.outputShape,W=I.format==="NHWC",Y=I.group,Ae=u[1].dims,se=Ae[2]/Y,ne=Ae[3],ve=W?Qr(se):1,Ee=W?Qr(ne):1,te=W?ne===1?ve:Ee:1,Ge=gt.size(L)/Ee,Fe=[Math.ceil(Ge/64),1,1];pr("verbose",()=>`[conv2d_backprop_webgpu] dispatch = ${Fe}`);let Ke=["rank","rank"],Ye=[I.strides[0],I.strides[1]],et=[I.kernelShape[W?1:2],I.kernelShape[W?2:3]],ft=[I.dilations[0],I.dilations[1]],bt=[et[0]+(I.dilations[0]<=1?0:(I.kernelShape[W?1:2]-1)*(I.dilations[0]-1)),et[1]+(I.dilations[1]<=1?0:(I.kernelShape[W?2:3]-1)*(I.dilations[1]-1))],Mt=[bt[0]-1-Math.floor((I.pads[0]+I.pads[2])/2),bt[1]-1-Math.floor((I.pads[1]+I.pads[3])/2)],Dt=[{type:12,data:Ge},{type:12,data:Ye},{type:12,data:et},{type:12,data:ft},{type:12,data:bt},{type:6,data:Mt},{type:12,data:se},{type:12,data:ne},...QA(u[0].dims,u[1].dims)];return S&&(Dt.push(...QA(u[2].dims)),Ke.push("rank")),Dt.push(...QA(L)),{name:"ConvTranspose2D",shaderCache:{hint:`${I.cacheKey};${ve}${te}${Ee}${ne===1}`,inputDependencies:Ke},getRunData:()=>({dispatchGroup:{x:Fe[0],y:Fe[1],z:Fe[2]},outputs:[{dims:x?x(L):L,dataType:u[0].dataType}],programUniforms:Dt}),getShaderSource:Nt=>{let pA=[{name:"output_size",type:"u32"},{name:"strides",type:"u32",length:Ye.length},{name:"filter_dims",type:"u32",length:et.length},{name:"dilations",type:"u32",length:et.length},{name:"effective_filter_dims",type:"u32",length:bt.length},{name:"pads",type:"i32",length:Mt.length},{name:"input_channels_per_group",type:"u32"},{name:"output_channels_per_group",type:"u32"}],xA=fr(u[0].dataType),ar=W?1:2,nr=W?2:3,$r=W?3:1,ir=Wt("W",u[1].dataType,u[1].dims.length,te),Er=Wt("Dy",u[0].dataType,u[0].dims.length,ve),kr=[Er,ir];S&&kr.push(Wt("bias",u[2].dataType,[L[$r]].length,Ee));let Vt=PA("result",u[0].dataType,L.length,Ee),ZA=`
1290            let outputIndices = ${Vt.offsetToIndices(`global_idx * ${Ee}`)};
1291            let batch = ${Vt.indicesGet("outputIndices",0)};
1292            let d1 = ${Vt.indicesGet("outputIndices",$r)};
1293            let r = ${Vt.indicesGet("outputIndices",ar)};
1294            let c = ${Vt.indicesGet("outputIndices",nr)};
1295            let dyCorner = vec2<i32>(i32(r), i32(c)) - uniforms.pads;
1296            let dyRCorner = dyCorner.x;
1297            let dyCCorner = dyCorner.y;
1298            let groupId = d1 / uniforms.output_channels_per_group;
1299            let wOutChannel = d1 - groupId * uniforms.output_channels_per_group;
1300            // Convolve dy(?, ?, d2) with w(:, :, d1, d2) to compute dx(xR, xC, d1).
1301            // ? = to be determined. : = across all values in that axis.
1302            var dotProd = ${Vt.type.value}(0.0);
1303            var wR: u32 = 0;
1304            if (uniforms.dilations.x == 1) {
1305              // Minimum wR >= 0 that satisfies (dyRCorner + wR) % (uniforms.strides.x) == 0
1306              wR = u32(((dyRCorner + i32(uniforms.strides.x) - 1) / i32(uniforms.strides.x)) * i32(uniforms.strides.x) - dyRCorner);
1307            }
1308            for (; wR < uniforms.effective_filter_dims.x; wR = wR + 1) {
1309              if (wR % uniforms.dilations.x != 0) {
1310                continue;
1311              }
1312              let dyR = (${xA}(dyRCorner) + ${xA}(wR)) / ${xA}(uniforms.strides[0]);
1313              let wRPerm = uniforms.filter_dims.x - 1 - wR / uniforms.dilations.x;
1314              if (dyR < 0.0 || dyR >= ${xA}(uniforms.Dy_shape[${ar}]) || fract(dyR) > 0.0 ||
1315                  wRPerm < 0) {
1316                continue;
1317              }
1318              let idyR: u32 = u32(dyR);
1319              var wC: u32 = 0;
1320              if (uniforms.dilations.y == 1) {
1321                // Minimum wC >= 0 that satisfies (dyCCorner + wC) % (uniforms.strides.y) == 0
1322                wC = u32(((dyCCorner + i32(uniforms.strides.y) - 1) / i32(uniforms.strides.y)) * i32(uniforms.strides.y) - dyCCorner);
1323              }
1324
1325              for (; wC < uniforms.effective_filter_dims.y; wC = wC + 1) {
1326                if (wC % uniforms.dilations.y != 0) {
1327                  continue;
1328                }
1329                let dyC = (${xA}(dyCCorner) + ${xA}(wC)) / ${xA}(uniforms.strides.y);
1330                let wCPerm = uniforms.filter_dims.y - 1 - wC / uniforms.dilations.y;
1331                if (dyC < 0.0 || dyC >= ${xA}(uniforms.Dy_shape[${nr}]) ||
1332                    fract(dyC) > 0.0 || wCPerm < 0) {
1333                  continue;
1334                }
1335                let idyC: u32 = u32(dyC);
1336                var inputChannel = groupId * uniforms.input_channels_per_group;
1337                for (var d2: u32 = 0; d2 < uniforms.input_channels_per_group; d2 = d2 + ${ve}) {
1338                  let xValue = ${W?Er.getByOffset(`${Er.indicesToOffset(`${Er.type.indices}(batch, idyR, idyC, inputChannel)`)} / ${ve}`):Er.get("batch","inputChannel","idyR","idyC")};
1339                  ${(()=>{let RA="";if(ve===1)RA+=`
1340        let w_offset = ${ir.indicesToOffset(`${ir.type.indices}(u32(wRPerm), u32(wCPerm), inputChannel, wOutChannel)`)};
1341        let wValue = ${ir.getByOffset(`w_offset / ${te}`)};
1342        dotProd = dotProd + xValue * wValue;`;else if(ne===1)RA+=`
1343          let wValue = ${ir.getByOffset(`${ir.indicesToOffset(`${ir.type.indices}(u32(wRPerm), u32(wCPerm), inputChannel, wOutChannel)`)} / ${te}`)};
1344          dotProd = dotProd + dot(xValue, wValue);`;else for(let UA=0;UA<ve;UA++)RA+=`
1345            let wValue${UA} = ${ir.getByOffset(`${ir.indicesToOffset(`${ir.type.indices}(u32(wRPerm), u32(wCPerm), inputChannel + ${UA}, wOutChannel)`)} / ${te}`)};
1346            dotProd = dotProd + xValue[${UA}] * wValue${UA};`;return RA})()}
1347                  inputChannel = inputChannel + ${ve};
1348                }
1349                wC = wC + uniforms.strides.y - 1;
1350              }
1351              wR = wR + uniforms.strides[0] - 1;
1352            }
1353            let value = dotProd${S?` + bias[d1 / ${Ee}]`:""};
1354            ${Vt.setByOffset("global_idx","value")};
1355          `;return`
1356    ${Nt.registerUniforms(pA).declareVariables(...kr,Vt)}
1357      ${Nt.mainStart()}
1358      ${Nt.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")};
1359    ${ZA}}`}}}}),fn=pe(()=>{v1(),f0(),a0(),Qt=(u,I,x,S,L,W)=>(u-1)*I+x+(S-1)*L+1-W,Ut=(u,I,x,S,L)=>{let W=Math.floor(u/2);I==="SAME_UPPER"?(x[S]=W,x[L]=u-W):I==="SAME_LOWER"&&(x[S]=u-W,x[L]=W)},fA=(u,I,x,S,L,W,Y,Ae,se,ne)=>{let ve=u.length-2,Ee=ne.length===0;se.length<ve&&se.push(...Array(ve-se.length).fill(0));let te=u[0],Ge=I[Ae?3:1]*L;for(let Fe=0,Ke=u.length-ve-(Ae?1:0);Fe<ve;++Fe,++Ke){let Ye=u[Ke],et=Ee?Ye*Y[Fe]:ne[Fe],ft=Qt(Ye,Y[Fe],W[Fe],I[Ke],x[Fe],et);Ut(ft,S,W,Fe,Fe+ve),Ee&&ne.push(Y[Fe]*(Ye-1)+se[Fe]+(I[Ke]-1)*x[Fe]+1-W[Fe]-W[Fe+ve])}ne.splice(0,0,te),ne.splice(Ae?3:1,0,Ge)},hA=(u,I)=>{let x=u.kernelShape.slice();if(u.kernelShape.length===0||u.kernelShape.reduce((Ee,te)=>Ee*te,1)===0){x.length=0;for(let Ee=2;Ee<I[1].dims.length;++Ee)x.push(I[1].dims[Ee])}let S=u.format==="NHWC";x.splice(0,0,I[1].dims[0]),x.splice(S?3:1,0,I[1].dims[1]);let L=u.pads.slice(),W=u.outputShape.slice(),Y=u.outputPadding.slice(),Ae=I[0].dims,se=u.dilations.slice();if(se.reduce((Ee,te)=>Ee+te,0)===0){let Ee=I[0].dims.length-2;se=new Array(Ee).fill(1)}let ne=u.strides.slice();if(ne.reduce((Ee,te)=>Ee+te,0)===0){let Ee=I[0].dims.length-2;ne=new Array(Ee).fill(1)}fA(Ae,x,se,u.autoPad,u.group,L,ne,S,Y,W);let ve=Object.assign({},u);return Object.assign(ve,{kernelShape:x,pads:L,outputPadding:Y,outputShape:W,dilations:se,strides:ne}),ve},FA=u=>{let I=Fo(u),x=u.format,S=["NOTSET","VALID","SAME_UPPER","SAME_LOWER"][typeof u.autoPad>"u"?0:u.autoPad],L=u.dilations,W=u.group,Y=u.kernelShape,Ae=u.pads,se=u.strides,ne=u.wIsConst();return{autoPad:S,format:x,dilations:L,group:W,kernelShape:Y,outputPadding:u.outputPadding,outputShape:u.outputShape,pads:Ae,strides:se,wIsConst:ne,...I,cacheKey:`${u.format};${I.activation};`}},YA=(u,I)=>{if(!u||u.length!==2&&u.length!==3)throw new Error("Conv requires 2 or 3 inputs");if(u[0].dims.length!==4&&u[0].dims.length!==3)throw new Error("currently only support 2-dimensional conv");if(u[0].dims.length!==u[1].dims.length)throw new Error("filter does not have same dimension as input");if(u[0].dims[I.format==="NHWC"?u[0].dims.length-1:1]!==u[1].dims[0])throw new Error("FILTER_IN_CHANNEL should be equal to DATA_CHANNEL");let x=u[1].dims[1]*I.group;if(u.length===3&&(u[2].dims.length!==1||u[2].dims[0]!==x))throw new Error("invalid bias");let S=u[0].dims.length-2;if(I.dilations.reduce((L,W)=>L+W,0)>0&&I.dilations.length!==S)throw new Error(`dilations should be ${S}D`);if(I.strides.reduce((L,W)=>L+W,0)>0&&I.strides.length!==S)throw new Error(`strides should be ${S}D`);if(I.pads.reduce((L,W)=>L+W,0)>0&&I.pads.length!==2*S)throw new Error(`pads should be ${2*S}D`);if(I.outputPadding.length!==S&&I.outputPadding.length!==0)throw new Error(`output_padding should be ${S}D`);if(I.kernelShape.reduce((L,W)=>L+W,0)>0&&I.kernelShape.length!==0&&I.kernelShape.length!==u[1].dims.length-2)throw new Error("invalid kernel shape");if(I.outputShape.length!==0&&I.outputShape.length!==u[0].dims.length-2)throw new Error("invalid output shape")},rr=(u,I,x,S)=>{let L=u.kernelCustomData.wT??u.compute(Hs(I[1],[2,3,0,1]),{inputs:[1],outputs:[x.wIsConst?-2:-1]})[0];x.wIsConst&&!u.kernelCustomData.wT&&(u.kernelCustomData.wT=L);let W=[I[0],L];I.length===3&&W.push(I[2]),u.compute(vt(W,x,S),{inputs:W})},wr=(u,I)=>{let x=I.format==="NHWC",S=[u.inputs[0].reshape(x?[u.inputs[0].dims[0],1,u.inputs[0].dims[1],u.inputs[0].dims[2]]:[u.inputs[0].dims[0],u.inputs[0].dims[1],1,u.inputs[0].dims[2]]),u.inputs[1].reshape([u.inputs[1].dims[0],u.inputs[1].dims[1],1,u.inputs[1].dims[2]])];u.inputs.length===3&&S.push(u.inputs[2]);let L=I.kernelShape;(L.length===0||L[0]===0)&&(L=[u.inputs[1].dims[2]]);let W=I.dilations;(W.length===0||W[0]===0)&&(W=[1]);let Y=I.strides;(Y.length===0||Y[0]===0)&&(Y=[1]);let Ae=I.pads;Ae.length===0&&(Ae=[0,0]),Ae=[0,Ae[0],0,Ae[1]],Y=[1].concat(Y),W=[1].concat(W),L=[1].concat(L);let se=I.outputPadding;se=[0].concat(se);let ne=hA({...I,pads:Ae,strides:Y,dilations:W,kernelShape:L,outputPadding:se},S);rr(u,S,ne,ve=>x?[ve[0],ve[2],ve[3]]:[ve[0],ve[1],ve[3]])},jr=(u,I)=>{if(YA(u.inputs,I),u.inputs[0].dims.length===3)wr(u,I);else{let x=hA(I,u.inputs);rr(u,u.inputs,x)}}}),vn=pe(()=>{Cr(),Mr(),Ia(),Pr(),Jr=(u,I,x,S)=>{let L=gt.size(I),W=I.length,Y=Wt("input",u,W),Ae=PA("output",u,W),se=x.dataType===6?x.getInt32Array()[0]:Number(x.getBigInt64Array()[0]),ne=gt.normalizeAxis(se,W);return{name:"CumSum",shaderCache:{hint:S.cacheKey,inputDependencies:["rank"]},getRunData:()=>({outputs:[{dims:I,dataType:u}],dispatchGroup:{x:Math.ceil(L/64)},programUniforms:[{type:12,data:L},{type:12,data:ne},...QA(I,I)]}),getShaderSource:ve=>{let Ee=` i32(${Y.indicesGet("inputIndices","uniforms.axis")}) `,te=zA("uniforms.input_shape","uniforms.axis",W),Ge=S.reverse?Ee+(S.exclusive?" + 1":""):"0",Fe=S.reverse?te:Ee+(S.exclusive?"":" + 1");return`
1360                ${ve.registerUniform("outputSize","u32").registerUniform("axis","u32").declareVariables(Y,Ae)}
1361                ${ve.mainStart()}
1362                  ${ve.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
1363                  var inputIndices = ${Ae.offsetToIndices("global_idx")};
1364                  var sum = ${Ae.type.value}(0);
1365                  let first : i32 = ${Ge};
1366                  let last : i32 = ${Fe};
1367                  for (var i : i32 = first; i < last; i++) {
1368                    ${Y.indicesSet("inputIndices","uniforms.axis","u32(i)")};
1369                    sum = sum + ${Y.getByIndices("inputIndices")};
1370                  }
1371                  ${Ae.setByOffset("global_idx","sum")};
1372                }`}}},ds=(u,I)=>{let x=u.inputs[0].dims,S=u.inputs[0].dataType,L=u.inputs[1];u.compute(Jr(S,x,L,I),{inputs:[0]})},is=u=>{let I=u.exclusive===1,x=u.reverse===1;return yt({exclusive:I,reverse:x})}}),Hn=pe(()=>{Cr(),Mr(),Ia(),Pr(),Qs=u=>{if(!u||u.length!==1)throw new Error("DepthToSpace requires 1 input.");if(u[0].dims.length!==4)throw new Error("DepthToSpace requires 4D input.")},Ps=(u,I,x,S)=>{let L=[];L.push(`fn perm(i: ${S.type.indices}) -> ${x.type.indices} {
1373    var a: ${x.type.indices};`);for(let W=0;W<I;++W)L.push(x.indicesSet("a",u[W],`i[${W}]`));return L.push("return a;}"),L.join(`
1374`)},Rs=(u,I)=>{let x,S,L,W,Y,Ae,se=I.format==="NHWC",ne=I.blocksize,ve=I.mode==="DCR";se?([x,S,L,W]=u.dims,Y=ve?[x,S,L,ne,ne,W/ne**2]:[x,S,L,W/ne**2,ne,ne],Ae=ve?[0,1,3,2,4,5]:[0,1,4,2,5,3]):([x,S,L,W]=[u.dims[0],u.dims[2],u.dims[3],u.dims[1]],Y=ve?[x,ne,ne,W/ne**2,S,L]:[x,W/ne**2,ne,ne,S,L],Ae=ve?[0,3,4,1,5,2]:[0,1,4,2,5,3]);let Ee=u.reshape(Y),te=Ee.dims.length,Ge=u.dataType,Fe=Wt("a",Ge,te),Ke=PA("output",Ge,te);return{name:"DepthToSpace",shaderCache:{hint:`${u.dims};${I.blocksize};${I.mode}`,inputDependencies:["rank"]},getRunData:Ye=>{let et=se?[x,S*ne,L*ne,W/ne**2]:[x,W/ne**2,S*ne,L*ne],ft=gt.size(et),bt=Ee.dims,Mt=gt.sortBasedOnPerm(bt,Ae);return{outputs:[{dims:et,dataType:Ye[0].dataType}],dispatchGroup:{x:Math.ceil(ft/64)},programUniforms:[{type:12,data:ft},...QA(bt,Mt)]}},getShaderSource:Ye=>`
1375  ${Ye.registerUniform("output_size","u32").declareVariables(Fe,Ke)}
1376
1377  ${Ps(Ae,te,Fe,Ke)}
1378
1379  ${Ye.mainStart()}
1380    ${Ye.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
1381
1382    let indices = ${Ke.offsetToIndices("global_idx")};
1383    let aIndices = perm(indices);
1384
1385    ${Ke.setByOffset("global_idx",Fe.getByIndices("aIndices"))}
1386  }`}},$s=(u,I)=>{Qs(u.inputs),u.compute(Rs(u.inputs[0],I))},ea=u=>yt({blocksize:u.blocksize,mode:u.mode,format:u.format})}),B0=pe(()=>{Cr(),Mr(),Ia(),Pr(),Ba="^"+(da="("+(na="[a-zA-Z]|\\.\\.\\.")+")+")+"$",en="^"+("("+da+",)*"+da)+"$",Dn=class{constructor(u=-1){this.symbolToIndices=new Map,this.inputIndex=u}addSymbol(u,I){let x=this.symbolToIndices.get(u);x===void 0?x=[I]:x.push(I),this.symbolToIndices.set(u,x)}},Gn=class{constructor(u,I){var L;this.equation=I,this.hasEllipsis=!1,this.symbolToInfo=new Map,this.lhs=new Array,this.outputDims=[];let[x,S]=I.includes("->")?I.split("->",2):[I,""];if(!x.match(RegExp(en)))throw new Error("Invalid LHS term");if(x.split(",").forEach((W,Y)=>{let Ae=u[Y].dims.slice();if(!W.match(RegExp(Ba)))throw new Error("Invalid LHS term");let se=this.processTerm(W,!0,Ae,Y);this.lhs.push(se)}),S==="")S+=[...this.symbolToInfo.entries()].filter(([W,Y])=>Y.count===1||W==="...").map(([W])=>W).join("");else if(!S.match(RegExp(da)))throw new Error("Invalid RHS");(L=S.match(RegExp(na,"g")))==null||L.forEach(W=>{if(W==="...")this.outputDims=this.outputDims.concat(this.ellipsisDims);else{let Y=this.symbolToInfo.get(W);if(Y===void 0)throw new Error("Invalid RHS symbol");this.outputDims.push(Y.dimValue)}}),this.rhs=this.processTerm(S,!1,this.outputDims)}addSymbol(u,I,x){let S=this.symbolToInfo.get(u);if(S!==void 0){if(S.dimValue!==I&&S.count!==1)throw new Error("Dimension mismatch");S.count++,S.inputIndices.push(x)}else S={count:1,dimValue:I,inputIndices:[x]};this.symbolToInfo.set(u,S)}processTerm(u,I,x,S=-1){let L=x.length,W=!1,Y=[],Ae=0;if(!u.match(RegExp(Ba))&&!I&&u!=="")throw new Error("Invalid LHS term");let se=u.match(RegExp(na,"g")),ne=new Dn(S);return se==null||se.forEach((ve,Ee)=>{if(ve==="..."){if(W)throw new Error("Only one ellipsis is allowed per input term");W=!0;let te=L-se.length+1;if(te<0)throw new Error("Ellipsis out of bounds");if(Y=x.slice(Ae,Ae+te),this.hasEllipsis){if(this.ellipsisDims.length!==Y.length||this.ellipsisDims.toString()!==Y.toString())throw new Error("Ellipsis dimensions mismatch")}else{if(!I)throw new Error("Ellipsis must be specified in the LHS");this.hasEllipsis=!0,this.ellipsisDims=Y}for(let Ge=0;Ge<Y.length;Ge++){let Fe=String.fromCharCode(48+Ge);ne.addSymbol(Fe,Ee+Ge),this.addSymbol(Fe,x[Ae++],S)}}else ne.addSymbol(ve,Ee+(this.hasEllipsis?this.ellipsisDims.length-1:0)),this.addSymbol(ve,x[Ae++],S)}),ne}},ni=u=>u+"_max",to=(u,I,x,S)=>{let L=u.map(se=>se.length).map((se,ne)=>Wt(`input${ne}`,I,se)),W=gt.size(S),Y=PA("output",I,S.length),Ae=[...x.symbolToInfo.keys()].filter(se=>!x.rhs.symbolToIndices.has(se));return{name:"Einsum",shaderCache:{hint:x.equation,inputDependencies:u.map(()=>"rank")},getRunData:()=>{let se=Ae.filter(ve=>x.symbolToInfo.has(ve)).map(ve=>{var Ee;return{type:12,data:((Ee=x.symbolToInfo.get(ve))==null?void 0:Ee.dimValue)||0}});se.push({type:12,data:W});let ne=u.map((ve,Ee)=>[...QA(ve)]).reduce((ve,Ee)=>ve.concat(Ee),se);return ne.push(...QA(S)),{outputs:[{dims:S,dataType:I}],dispatchGroup:{x:Math.ceil(W/64)},programUniforms:ne}},getShaderSource:se=>{let ne=[],ve=[],Ee=[],te=[],Ge=[],Fe=x.symbolToInfo.size===x.rhs.symbolToIndices.size;x.symbolToInfo.forEach((Ye,et)=>{var ft;if(x.rhs.symbolToIndices.has(et)){let bt=(ft=x.rhs.symbolToIndices.get(et))==null?void 0:ft[0];bt!==void 0&&x.lhs.forEach((Mt,Dt)=>{if(Ye.inputIndices.includes(Dt)){let Nt=Mt.symbolToIndices.get(et);if(Nt===void 0)throw new Error("Invalid symbol error");Nt.forEach(pA=>{ne.push(`${L[Dt].indicesSet(`input${Dt}Indices`,pA,Y.indicesGet("outputIndices",bt))}`)})}})}else x.lhs.forEach((bt,Mt)=>{if(Ye.inputIndices.includes(Mt)){let Dt=bt.symbolToIndices.get(et);if(Dt===void 0)throw new Error("Invalid symbol error");Dt.forEach(Nt=>{ve.push(`${L[Mt].indicesSet(`input${Mt}Indices`,Nt,`${et}`)}`)}),Ge.push(`prod *= ${L[Mt].getByIndices(`input${Mt}Indices`)};`)}}),Ee.push(`for(var ${et}: u32 = 0; ${et} < uniforms.${ni(et)}; ${et}++) {`),te.push("}")});let Ke=Fe?[...ne,`let sum = ${L.map((Ye,et)=>Ye.getByIndices(`input${et}Indices`)).join(" * ")};`]:[...ne,"var sum = 0.0;",...Ee,...ve,"var prod = 1.0;",...Ge,"sum += prod;",...te];return`
1387            ${se.registerUniforms(Ae.map(Ye=>({name:`${ni(Ye)}`,type:"u32"}))).registerUniform("outputSize","u32").declareVariables(...L,Y)}
1388
1389            ${se.mainStart()}
1390            ${se.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
1391            var outputIndices = ${Y.offsetToIndices("global_idx")};
1392            ${L.map((Ye,et)=>`var input${et}Indices: ${L[et].type.indices};`).join(`
1393`)}
1394            ${Ke.join(`
1395`)};
1396            ${Y.setByOffset("global_idx","sum")};
1397          }`}}},ii=(u,I)=>{let x=new Gn(u.inputs,I.equation),S=x.outputDims,L=u.inputs.map((W,Y)=>W.dims);u.compute(to(L,u.inputs[0].dataType,x,S))},Pi=u=>{let I=u.equation.replace(/\s+/g,"");return yt({equation:I})}}),sf=pe(()=>{Cr(),Mr(),Pr(),Ao=u=>{if(!u||u.length!==2)throw new Error("Expand requires 2 input.");let I=u[0].dims,x=Array.from(u[1].getBigInt64Array(),Number),S=x.length<I.length?0:x.length-I.length,L=I.length<x.length?0:I.length-x.length;for(;S<x.length&&L<I.length;++S,++L)if(x[S]!==I[L]&&x[S]!==1&&I[L]!==1)throw new Error("Expand requires shape to be broadcastable to input")},Oo=(u,I)=>{let x=u.length-I.length,S=[];for(let L=0;L<x;++L)S.push(u[L]);for(let L=0;L<I.length;++L)S.push(I[L]===1?u[L+x]:I[L]);return S},r0=(u,I)=>u.length>I.length?Oo(u,I):Oo(I,u),Y0=u=>{let I=u[0].dims,x=Array.from(u[1].getBigInt64Array(),Number),S=r0(I,x),L=u[0].dataType,W=L===9||gt.size(I)===1,Y=L===9||I.length>0&&I[I.length-1]%4==0?4:1,Ae=W||S.length>0&&S[S.length-1]%4==0?4:1,se=Math.ceil(gt.size(S)/Ae),ne=[{type:12,data:se},...QA(I,S)];return{name:"Expand",shaderCache:{hint:`${S.length};${Y}${Ae}`,inputDependencies:["rank"]},getShaderSource:ve=>{let Ee,te=Wt("input",L,I.length,Y),Ge=PA("output",L,S.length,Ae);if(L===9){let Fe=(Ke,Ye,et="")=>`
1398          let outputIndices${Ye} = ${Ge.offsetToIndices(`outputOffset + ${Ye}u`)};
1399          let offset${Ye} = ${te.broadcastedIndicesToOffset(`outputIndices${Ye}`,Ge)};
1400          let index${Ye} = offset${Ye} / 4u;
1401          let component${Ye} = offset${Ye} % 4u;
1402          ${Ke}[${Ye}] = ${et}(${te.getByOffset(`index${Ye}`)}[component${Ye}]);
1403        `;Ee=`
1404        let outputOffset = global_idx * ${Ae};
1405        var data = vec4<u32>(0);
1406        ${Fe("data",0,"u32")}
1407        ${Fe("data",1,"u32")}
1408        ${Fe("data",2,"u32")}
1409        ${Fe("data",3,"u32")}
1410        ${Ge.setByOffset("global_idx","data")}
1411      }`}else Ee=`
1412        let outputIndices = ${Ge.offsetToIndices(`global_idx * ${Ae}`)};
1413        let inputOffset = ${te.broadcastedIndicesToOffset("outputIndices",Ge)};
1414        let data = ${Ge.type.value}(${te.getByOffset(`inputOffset / ${Y}`)});
1415        ${Ge.setByOffset("global_idx","data")}
1416      }`;return`
1417    ${ve.registerUniform("vec_size","u32").declareVariables(te,Ge)}
1418    ${ve.mainStart()}
1419    ${ve.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.vec_size")}
1420    ${Ee}`},getRunData:()=>({outputs:[{dims:S,dataType:u[0].dataType}],dispatchGroup:{x:Math.ceil(se/64)},programUniforms:ne})}},i0=u=>{Ao(u.inputs),u.compute(Y0(u.inputs),{inputs:[0]})}}),y1=pe(()=>{Cr(),Mr(),Pr(),d2(),L2=u=>{let I=u[0].dataType,x=gt.size(u[0].dims),S=gt.size(u[1].dims),L=S%4==0;return{name:"FastGeluWithBias",shaderCache:{hint:`${L}`,inputDependencies:["type","type"]},getShaderSource:W=>{let Y=Wt("x",I,[1],4),Ae=Wt("bias",I,[1],4),se=PA("y",I,[1],4),ne=Ee=>`
1421      let bias${Ee}_offset: u32 = (global_idx * 4 + ${Ee}) % uniforms.bias_size;
1422      let bias${Ee} = ${Ae.getByOffset(`bias${Ee}_offset / 4`)}[bias${Ee}_offset % 4];`,ve=L?`
1423      let bias = ${Ae.getByOffset("global_idx % (uniforms.bias_size / 4)")};`:`${ne(0)}${ne(1)}${ne(2)}${ne(3)}
1424      let bias = ${Y.type.value}(bias0, bias1, bias2, bias3);`;return`${W.registerUniforms([{name:"output_vec_size",type:"u32"},{name:"bias_size",type:"u32"}]).declareVariables(Y,Ae,se)}
1425
1426    ${Js(kA(I))}
1427
1428    ${W.mainStart(Tr)}
1429      ${W.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_vec_size")}
1430
1431      let x = ${Y.getByOffset("global_idx")};
1432      ${ve}
1433      let x_in = x + bias;
1434      ${se.setByOffset("global_idx",ma("x_in"))}
1435    }`},getRunData:W=>({outputs:[{dims:W[0].dims,dataType:W[0].dataType}],programUniforms:[{type:12,data:Math.ceil(x/4)},{type:12,data:S}],dispatchGroup:{x:Math.ceil(x/Tr/4)}})}},V2=u=>{u.inputs.length<2||gt.size(u.inputs[1].dims)===0?Io(u):u.compute(L2(u.inputs))}}),E1=pe(()=>{Cr(),Mr(),Ia(),Pr(),H2=u=>{if(!u||u.length!==2)throw new Error("Gather requires 2 inputs.")},Y2=(u,I)=>{let x=u[0].dims,S=u[1].dims,L=x.length,W=gt.normalizeAxis(I.axis,L),Y=x.slice(0);Y.splice(W,1,...S);let Ae=x[W],se=u[0].dataType===9?4:1,ne=Math.ceil(gt.size(Y)/se),ve=[{type:12,data:ne},{type:6,data:Ae},{type:12,data:W},...QA(u[0].dims,u[1].dims,Y)];return{name:"Gather",shaderCache:{hint:I.cacheKey,inputDependencies:["rank","rank"]},getRunData:()=>({outputs:[{dims:Y,dataType:u[0].dataType}],dispatchGroup:{x:Math.ceil(ne/64)},programUniforms:ve}),getShaderSource:Ee=>{let te,Ge=Wt("data",u[0].dataType,u[0].dims.length,se),Fe=Wt("inputIndices",u[1].dataType,u[1].dims.length),Ke=PA("output",u[0].dataType,Y.length,se),Ye=et=>{let ft=S.length,bt=`var indicesIndices${et}  = ${Fe.type.indices}(0);`;for(let Mt=0;Mt<ft;Mt++)bt+=`${ft>1?`indicesIndices${et}[${Mt}]`:`indicesIndices${et}`} = ${Y.length>1?`outputIndices${et}[uniforms.axis + ${Mt}]`:`outputIndices${et}`};`;bt+=`
1436          var idx${et} = ${Fe.getByIndices(`indicesIndices${et}`)};
1437          if (idx${et} < 0) {
1438            idx${et} = idx${et} + uniforms.axisDimLimit;
1439          }
1440          var dataIndices${et} : ${Ge.type.indices};
1441        `;for(let Mt=0,Dt=0;Mt<L;Mt++)Mt===W?(bt+=`${L>1?`dataIndices${et}[${Mt}]`:`dataIndices${et}`} = u32(idx${et});`,Dt+=ft):(bt+=`${L>1?`dataIndices${et}[${Mt}]`:`dataIndices${et}`} = ${Y.length>1?`outputIndices${et}[${Dt}]`:`outputIndices${et}`};`,Dt++);return bt};if(u[0].dataType===9){let et=(ft,bt,Mt="")=>`
1442          let outputIndices${bt} = ${Ke.offsetToIndices(`outputOffset + ${bt}u`)};
1443          ${Ye(bt)};
1444          let offset${bt} = ${Ge.indicesToOffset(`dataIndices${bt}`)};
1445          let index${bt} = offset${bt} / 4u;
1446          let component${bt} = offset${bt} % 4u;
1447          ${ft}[${bt}] = ${Mt}(${Ge.getByOffset(`index${bt}`)}[component${bt}]);
1448        `;te=`
1449        let outputOffset = global_idx * ${se};
1450        var value = vec4<u32>(0);
1451        ${et("value",0,"u32")}
1452        ${et("value",1,"u32")}
1453        ${et("value",2,"u32")}
1454        ${et("value",3,"u32")}
1455        ${Ke.setByOffset("global_idx","value")}
1456      `}else te=`
1457      let outputIndices = ${Ke.offsetToIndices("global_idx")};
1458      ${Ye("")};
1459      let value = ${Ge.getByIndices("dataIndices")};
1460      ${Ke.setByOffset("global_idx","value")};
1461      `;return`
1462      ${Ee.registerUniform("outputSize","u32").registerUniform("axisDimLimit","i32").registerUniform("axis","u32").declareVariables(Ge,Fe,Ke)}
1463      ${Ee.mainStart()}
1464        ${Ee.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
1465        ${te}
1466      }`}}},R2=u=>yt({axis:u.axis}),xl=(u,I)=>{let x=u.inputs;H2(x),u.compute(Y2(u.inputs,I))}}),le=pe(()=>{Cr(),Mr(),Pr(),j2=(u,I,x,S,L,W,Y,Ae,se)=>{let ne=[{type:12,data:W},{type:12,data:S},{type:12,data:L},{type:12,data:x},{type:12,data:Y},{type:12,data:Ae},{type:12,data:se}],ve=[W];return ne.push(...QA(I.dims,ve)),u.compute({name:"computeSliceOffsets",shaderCache:{hint:`${L.length}_${x.length}`,inputDependencies:["rank"]},getRunData:()=>({outputs:[{dims:ve,dataType:u.inputs[1].dataType}],dispatchGroup:{x:Math.ceil(W/64)},programUniforms:ne}),getShaderSource:Ee=>{let te=[Wt("indices_data",I.dataType,I.dims.length),PA("input_slice_offsets_data",12,1,1)],Ge=[{name:"output_size",type:"u32"},{name:"batch_dims",type:"u32"},{name:"input_dims",type:"u32",length:L.length},{name:"sizes_from_slice_dims_data",type:"u32",length:x.length},{name:"num_slices_per_batch",type:"u32"},{name:"input_batch_stride",type:"u32"},{name:"num_slice_dims",type:"u32"}];return`
1467  ${Ee.registerUniforms(Ge).declareVariables(...te)}
1468  ${Ee.mainStart()}
1469    ${Ee.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
1470    let batch_idx = global_idx / uniforms.num_slices_per_batch;
1471    let base_offset = batch_idx * uniforms.input_batch_stride;
1472
1473    let slice_indices_base_offset = global_idx * uniforms.num_slice_dims;
1474    var relative_slice_offset = 0;
1475    for (var dim_idx = 0u; dim_idx < uniforms.num_slice_dims; dim_idx ++) {
1476      var index = i32(indices_data[dim_idx + slice_indices_base_offset].x);
1477      let input_dim_idx = uniforms.batch_dims + dim_idx;
1478      if (index < 0) {
1479        ${L.length===1?"index += i32(uniforms.input_dims);":"index += i32(uniforms.input_dims[input_dim_idx]);"}
1480      }
1481      ${x.length===1?"relative_slice_offset += index * i32(uniforms.sizes_from_slice_dims_data);":"relative_slice_offset += index * i32(uniforms.sizes_from_slice_dims_data[dim_idx]);"}
1482    }
1483
1484    input_slice_offsets_data[global_idx] =  base_offset + u32(relative_slice_offset);
1485  }`}},{inputs:[I],outputs:[-1]})[0]},W2=(u,I)=>{let x=u.inputs,S=x[0].dims,L=x[0].dataType,W=x[1].dims,Y=W[W.length-1],Ae=gt.sizeToDimension(W,W.length-1),se=gt.sizeFromDimension(S,I.batchDims+Y),ne=gt.sizeToDimension(S,I.batchDims),ve=gt.sizeFromDimension(S,I.batchDims),Ee=Ae/ne,te=new Array(Y),Ge=se;for(let bt=0;bt<Y;++bt)te[Y-1-bt]=Ge,Ge*=S[I.batchDims+Y-1-bt];let Fe=j2(u,x[1],te,I.batchDims,S,Ae,Ee,ve,Y),Ke=I.batchDims+Y;if(Ke>S.length)throw new Error("last dimension of indices must not be larger than rank of input tensor");let Ye=W.slice(0,-1).concat(S.slice(Ke)),et=gt.size(Ye),ft=[{type:12,data:et},{type:12,data:se},...QA(x[0].dims,Fe.dims,Ye)];u.compute({name:"GatherND",shaderCache:{hint:I.cacheKey,inputDependencies:["rank","rank"]},getRunData:()=>({outputs:[{dims:Ye,dataType:L}],dispatchGroup:{x:Math.ceil(et/64)},programUniforms:ft}),getShaderSource:bt=>{let Mt=Wt("data",x[0].dataType,x[0].dims.length),Dt=Wt("slice_offsets",12,Fe.dims.length),Nt=PA("output",x[0].dataType,Ye.length);return`
1486          ${bt.registerUniform("output_size","u32").registerUniform("slice_size","u32").declareVariables(Mt,Dt,Nt)}
1487            ${bt.mainStart()}
1488            ${bt.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
1489          let slice_offset = slice_offsets[global_idx / uniforms.slice_size];
1490          output[global_idx] = data[u32(slice_offset) + global_idx % uniforms.slice_size];
1491        }`}},{inputs:[x[0],Fe]})},Ml=u=>({batchDims:u.batch_dims,cacheKey:""})}),Be=pe(()=>{Cr(),Mr(),Ia(),Pr(),U2=(u,I)=>{if(u.length<3||u.length>4)throw new Error("GatherBlockQuantized requires 3 or 4 inputs.");let x=gt.normalizeAxis(I.quantizeAxis,u[0].dims.length),S=I.blockSize,L=u[0],W=u[2],Y=u.length===4?u[3]:void 0;if(W.dims.length!==L.dims.length||!L.dims.map((Ae,se)=>se===x?Math.ceil(Ae/S)===W.dims[se]:Ae===W.dims[se]).reduce((Ae,se)=>Ae&&se,!0))throw new Error("Scales must have the same rank as the input tensor and the dims should match except on gatherAxis.");if(Y){if(Y.dataType!==L.dataType)throw new Error("Zero point must have the same data type as the input tensor.");if(Y.dims.length!==W.dims.length||!Y.dims.map((Ae,se)=>Ae===W.dims[se]).reduce((Ae,se)=>Ae&&se,!0))throw new Error("Zero point must have the same rank as the input tensor and the dims should match except on quantizeAxis.")}},K2=(u,I)=>{let x=u[0].dims,S=u[1].dims,L=x.length,W=gt.normalizeAxis(I.gatherAxis,L),Y=gt.normalizeAxis(I.quantizeAxis,L),Ae=x.slice(0);Ae.splice(W,1,...S);let se=gt.size(Ae),ne=u[2].dataType,ve=u[0].dataType===22,Ee=[{type:12,data:se},{type:12,data:Y},{type:12,data:W},{type:12,data:I.blockSize},...QA(...u.map((te,Ge)=>te.dims),Ae)];return{name:"GatherBlockQuantized",shaderCache:{hint:`${I.cacheKey};${u.filter((te,Ge)=>Ge!==1).map(te=>te.dims.join("_")).join(";")}`,inputDependencies:Array.from({length:u.length},(te,Ge)=>"rank")},getRunData:()=>({outputs:[{dims:Ae,dataType:ne}],dispatchGroup:{x:Math.ceil(se/64)},programUniforms:Ee}),getShaderSource:te=>{let Ge=Wt("data",u[0].dataType,u[0].dims.length),Fe=Wt("inputIndices",u[1].dataType,u[1].dims.length),Ke=Wt("scales",u[2].dataType,u[2].dims.length),Ye=u.length>3?Wt("zeroPoint",u[3].dataType,u[3].dims.length):void 0,et=PA("output",ne,Ae.length),ft=[Ge,Fe,Ke];return Ye&&ft.push(Ye),`
1492        ${te.registerUniforms([{name:"output_size",type:"u32"},{name:"quantize_axis",type:"u32"},{name:"gather_axis",type:"u32"},{name:"block_size",type:"u32"}]).declareVariables(...ft,et)}
1493        ${te.mainStart()}
1494        let output_indices = ${et.offsetToIndices("global_idx")};
1495        var indices_indices = ${Fe.type.indices}(0);
1496        ${S.length>1?`
1497          for (var i: u32 = 0; i < ${S.length}; i++) {
1498            let index = ${et.indicesGet("output_indices","uniforms.gather_axis + i")};
1499            ${Fe.indicesSet("indices_indices","i","index")};
1500          }`:`indices_indices = ${et.indicesGet("output_indices","uniforms.gather_axis")};`};
1501        var data_indices = ${Ge.type.indices}(0);
1502        for (var i: u32 = 0; i < uniforms.gather_axis; i++) {
1503          let index = ${et.indicesGet("output_indices","i")};
1504          ${Ge.indicesSet("data_indices","i","index")};
1505        }
1506        var index_from_indices = ${Fe.getByIndices("indices_indices")};
1507        if (index_from_indices < 0) {
1508          index_from_indices += ${x[W]};
1509        }
1510        ${Ge.indicesSet("data_indices","uniforms.gather_axis","u32(index_from_indices)")};
1511        for (var i = uniforms.gather_axis + 1; i < ${Ae.length}; i++) {
1512          let index = ${et.indicesGet("output_indices",`i + ${S.length} - 1`)};
1513          ${Ge.indicesSet("data_indices","i","index")};
1514        }
1515        let data_offset = ${Ge.indicesToOffset("data_indices")};
1516        let data_index = data_offset % 8;
1517        // Convert 4-bit packed data to 8-bit packed data.
1518        let packed_4bit_quantized_data = ${Ge.getByOffset("data_offset / 8")};
1519        let packed_8bit_quantized_data = (packed_4bit_quantized_data >> (4 * (data_index % 2))) & 0x0f0f0f0f;
1520        let quantized_data_vec = ${ve?"unpack4xI8":"unpack4xU8"}(u32(packed_8bit_quantized_data));
1521        let quantized_data = quantized_data_vec[data_index / 2];
1522        var scale_indices = data_indices;
1523        let quantize_axis_index = ${Ke.indicesGet("data_indices","uniforms.quantize_axis")} / uniforms.block_size;
1524        ${Ke.indicesSet("scale_indices","uniforms.quantize_axis","quantize_axis_index")};
1525        var scale = ${Ke.getByIndices("scale_indices")};
1526        ${Ye?`
1527              let zero_point_indices = scale_indices;
1528              let zero_point_offset = ${Ye.indicesToOffset("zero_point_indices")};
1529              let zero_point_index = zero_point_offset % 8;
1530              let packed_4bit_zero_points = ${Ye.getByOffset("zero_point_offset / 8")};
1531              let packed_8bit_zero_points = (packed_4bit_zero_points >> (4 * (zero_point_index % 2))) & 0x0f0f0f0f;
1532              let zero_point_vec = ${ve?"unpack4xI8":"unpack4xU8"}(u32(packed_8bit_zero_points));
1533              let zero_point = zero_point_vec[zero_point_index / 2];`:"var zero_point = 0"};
1534        let dequantized_data = ${kA(ne)}(quantized_data - zero_point) * scale;
1535        ${et.setByOffset("global_idx","dequantized_data")};
1536    }`}}},Z2=(u,I)=>{let x=u.inputs;U2(x,I),u.compute(K2(u.inputs,I))},X2=u=>yt({blockSize:u.blockSize,gatherAxis:u.gatherAxis,quantizeAxis:u.quantizeAxis})}),Ve=pe(()=>{Cr(),Mr(),Ia(),Pr(),Dl=u=>{if(!u||u.length!==2)throw new Error("GatherElements requires 2 inputs.");if(u[0].dims.length<1)throw new Error("GatherElements requires that the data input be rank >= 1.");if(u[0].dims.length!==u[1].dims.length)throw new Error(`GatherElements requires that the data input and
1537                     indices input tensors be of same rank.`)},q2=(u,I)=>{let x=u[0].dims,S=u[0].dataType,L=x.length,W=u[1].dims,Y=u[1].dataType,Ae=gt.normalizeAxis(I.axis,L),se=x[Ae],ne=W.slice(0),ve=gt.size(ne),Ee=Wt("input",S,L),te=Wt("indicesInput",Y,W.length),Ge=PA("output",S,ne.length),Fe=[{type:12,data:ve},{type:6,data:se},{type:12,data:Ae}];return Fe.push(...QA(x,W,ne)),{name:"GatherElements",shaderCache:{inputDependencies:["rank","rank"]},getRunData:()=>({outputs:[{dims:ne,dataType:u[0].dataType}],dispatchGroup:{x:Math.ceil(ve/64)},programUniforms:Fe}),getShaderSource:Ke=>`
1538      ${Ke.registerUniform("outputSize","u32").registerUniform("axisDimLimit","i32").registerUniform("axis","u32").declareVariables(Ee,te,Ge)}
1539      ${Ke.mainStart()}
1540      ${Ke.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
1541
1542      let outputIndices = ${Ge.offsetToIndices("global_idx")};
1543
1544      var idx = ${te.getByOffset("global_idx")};
1545      if (idx < 0) {
1546        idx = idx + uniforms.axisDimLimit;
1547      }
1548      var inputIndices = ${Ee.type.indices}(outputIndices);
1549      ${Ee.indicesSet("inputIndices","uniforms.axis","u32(idx)")};
1550      let value = ${Ee.getByIndices("inputIndices")};
1551
1552      ${Ge.setByOffset("global_idx","value")};
1553  }`}},J2=u=>yt({axis:u.axis}),Gl=(u,I)=>{let x=u.inputs;Dl(x),u.compute(q2(u.inputs,I))}}),Et=pe(()=>{Cr(),Mr(),Pr(),$2=u=>{if(!u)throw new Error("Input is missing");if(u.length<2||u.length>3)throw new Error("Invaid input number.");if(u.length===3&&u[2].dims.length>2)throw new Error("Invalid input shape of C");if(u[0].dataType!==u[1].dataType||u.length===3&&u[0].dataType!==u[2].dataType)throw new Error("Input types are mismatched")},ec=(u,I)=>{let x=u[0].dims.slice(),S=u[1].dims.slice(),[L,W,Y]=lA.getShapeOfGemmResult(x,I.transA,S,I.transB,u.length===3?u[2].dims:void 0),Ae=[L,W];if(!Ae)throw new Error("Can't use gemm on the given tensors");let se=16,ne=Math.ceil(W/se),ve=Math.ceil(L/se),Ee=(gt.size(Ae),[{type:12,data:ne},{type:12,data:L},{type:12,data:W},{type:12,data:Y},{type:1,data:I.alpha},{type:1,data:I.beta}]),te=["type","type"];return u.length===3&&(Ee.push(...QA(u[2].dims)),te.push("rank")),Ee.push(...QA(Ae)),{name:"GemmShared",shaderCache:{hint:`${I.cacheKey}`,inputDependencies:te},getRunData:()=>({outputs:[{dims:Ae,dataType:u[0].dataType}],dispatchGroup:{x:ne*ve},programUniforms:Ee}),getShaderSource:Ge=>{let Fe=Wt("a",u[0].dataType,u[0].dims),Ke=Wt("b",u[1].dataType,u[1].dims),Ye=null,et=[Fe,Ke];u.length===3&&(Ye=Wt("c",u[2].dataType,u[2].dims.length),et.push(Ye));let ft=PA("output",u[0].dataType,Ae.length);et.push(ft);let bt="",Mt="";I.transA&&I.transB?(Mt=`
1554      var col = tile_row_start + local_id.x;
1555      var row = k_start + local_id.y;
1556      if (col < uniforms.M && row < uniforms.K) {
1557        tile_a[local_id.y][local_id.x] = a[row * uniforms.M + col];
1558      } else {
1559        tile_a[local_id.y][local_id.x] = ${Fe.type.value}(0);
1560      }
1561
1562      col = k_start + local_id.x;
1563      row = tile_col_start + local_id.y;
1564      if (col < uniforms.K && row < uniforms.N) {
1565        tile_b[local_id.y][local_id.x] = b[row * uniforms.K + col];
1566      } else {
1567        tile_b[local_id.y][local_id.x] = ${Ke.type.value}(0);
1568      }
1569      `,bt="value += tile_a[k][local_id.y] * tile_b[local_id.x][k];"):I.transA&&!I.transB?(Mt=`
1570      var col = tile_row_start + local_id.x;
1571      var row = k_start + local_id.y;
1572      if (col < uniforms.M && row < uniforms.K) {
1573        tile_a[local_id.y][local_id.x] = a[row * uniforms.M + col];
1574      } else {
1575        tile_a[local_id.y][local_id.x] = ${Fe.type.value}(0);
1576      }
1577
1578      col = tile_col_start + local_id.x;
1579      row = k_start + local_id.y;
1580      if (col < uniforms.N && row < uniforms.K) {
1581        tile_b[local_id.y][local_id.x] = b[row * uniforms.N + col];
1582      } else {
1583        tile_b[local_id.y][local_id.x] = ${Ke.type.value}(0);
1584      }
1585      `,bt="value += tile_a[k][local_id.y] * tile_b[k][local_id.x];"):!I.transA&&I.transB?(Mt=`
1586      var col = k_start + local_id.x;
1587      var row = tile_row_start + local_id.y;
1588      if (col < uniforms.K && row < uniforms.M) {
1589        tile_a[local_id.y][local_id.x] = a[row * uniforms.K + col];
1590      } else {
1591        tile_a[local_id.y][local_id.x] = ${Fe.type.value}(0);
1592      }
1593
1594      col = k_start + local_id.x;
1595      row = tile_col_start + local_id.y;
1596      if (col < uniforms.K && row < uniforms.N) {
1597        tile_b[local_id.y][local_id.x] = b[row * uniforms.K + col];
1598      } else {
1599        tile_b[local_id.y][local_id.x] = ${Ke.type.value}(0);
1600      }
1601      `,bt="value += tile_a[local_id.y][k] * tile_b[local_id.x][k];"):!I.transA&&!I.transB&&(Mt=`
1602      var col = k_start + local_id.x;
1603      var row = tile_row_start + local_id.y;
1604      if (col < uniforms.K && row < uniforms.M) {
1605        tile_a[local_id.y][local_id.x] = a[row * uniforms.K + col];
1606      } else {
1607        tile_a[local_id.y][local_id.x] = ${Fe.type.value}(0);
1608      }
1609
1610      col = tile_col_start + local_id.x;
1611      row = k_start + local_id.y;
1612      if (col < uniforms.N && row < uniforms.K) {
1613        tile_b[local_id.y][local_id.x] = b[row * uniforms.N + col];
1614      } else {
1615        tile_b[local_id.y][local_id.x] = ${Ke.type.value}(0);
1616      }
1617      `,bt="value += tile_a[local_id.y][k] * tile_b[k][local_id.x];");let Dt=I.alpha===1?"":"value *= uniforms.alpha;";return`
1618  ${Ge.registerUniforms([{name:"num_tile_n",type:"u32"},{name:"M",type:"u32"},{name:"N",type:"u32"},{name:"K",type:"u32"},{name:"alpha",type:"f32"},{name:"beta",type:"f32"}]).declareVariables(...et)}
1619  var<workgroup> tile_a: array<array<${Fe.type.storage}, 16>, 16>;
1620  var<workgroup> tile_b: array<array<${Ke.type.storage}, 16>, 16>;
1621  ${Ge.mainStart([se,se,1])}
1622    let tile_col_start = (workgroup_index % uniforms.num_tile_n) * 16;
1623    let tile_row_start = (workgroup_index / uniforms.num_tile_n) * 16;
1624    let num_tiles = (uniforms.K - 1) / 16 + 1;
1625    var k_start = 0u;
1626    var value = ${ft.type.value}(0);
1627    for (var t: u32 = 0u; t < num_tiles; t++) {
1628      ${Mt}
1629      k_start = k_start + 16;
1630      workgroupBarrier();
1631
1632      for (var k: u32 = 0u; k < 16; k++) {
1633        ${bt}
1634      }
1635      workgroupBarrier();
1636    }
1637
1638    ${Dt}
1639    let m = tile_row_start + local_id.y;
1640    let n = tile_col_start + local_id.x;
1641    ${Ye!=null?`let cOffset = ${Ye.broadcastedIndicesToOffset("vec2(m, n)",ft)}; value += ${ft.type.value}(uniforms.beta) * ${Ye.getByOffset("cOffset")};`:""}
1642    if (m < uniforms.M && n < uniforms.N) {
1643      output[m * uniforms.N + n] = value;
1644    }
1645  }`}}},_l=u=>({transA:u.transA,transB:u.transB,alpha:u.alpha,beta:u.beta,cacheKey:`${u.transA};${u.transB};${u.alpha===1}`}),tc=(u,I)=>{$2(u.inputs),u.compute(ec(u.inputs,I))}}),Yt=pe(()=>{Cr(),Mr(),Ia(),Pr(),[vo,yo,o0,l0]=[0,1,2,3],Ac=u=>{if(u[0].dims.length!==4)throw new Error("only 4-D tensor is supported.");if(u[0].dims.length!==u[1].dims.length)throw new Error("input dimensions must be equal to grid dimensions");if(u[0].dims.length-2!==u[1].dims[u[1].dims.length-1])throw new Error("last dimension of grid must be equal to "+(u[0].dims.length-2));if(u[0].dims[0]!==u[1].dims[0])throw new Error("grid batch size must match input batch size")},rc=u=>`
1646  fn gs_bicubic_interpolate(p: mat4x4<${u}>, x: f32, y: f32) -> ${u} {
1647    var v: vec4<f32>;
1648    var coeffs = gs_get_cubic_coeffs(x);
1649    for (var i = 0; i < 4; i++) {
1650      v[i] = coeffs[0] * p[i][0] + coeffs[1] * p[i][1] + coeffs[2] * p[i][2] + coeffs[3] * p[i][3];
1651    }
1652    coeffs = gs_get_cubic_coeffs(y);
1653    let pixel = ${u}(coeffs[0] * v[0] + coeffs[1] * v[1] + coeffs[2] * v[2] + coeffs[3] * v[3]);
1654    return pixel;
1655  }
1656`,Tl=u=>`
1657  fn gs_denormalize(n: f32, length: i32) -> f32 {
1658    ${u.alignCorners===0?`
1659    // alignCorners: false => [-1, 1] to [-0.5, length - 0.5]
1660    return ((n + 1.0) * f32(length) - 1.0) / 2.0;
1661    `:`
1662    // alignCorners: true => [-1, 1] to [0, length - 1]
1663    return (n + 1.0) / 2.0 * (f32(length - 1));
1664    `}
1665  }
1666`,sc=u=>`
1667  ${u.paddingMode==="reflection"?`
1668      fn gs_reflect(x: i32, x_min: f32, x_max: f32) -> u32 {
1669        var dx = 0.0;
1670        var fx = f32(x);
1671        let range = x_max - x_min;
1672        if (fx < x_min) {
1673          dx = x_min - fx;
1674          let n = u32(dx / range);
1675          let r = dx - f32(n) * range;
1676          if (n % 2 == 0) {
1677            fx = x_min + r;
1678          } else {
1679            fx = x_max - r;
1680          }
1681        } else if (fx > x_max) {
1682          dx = fx - x_max;
1683          let n = u32(dx / range);
1684          let r = dx - f32(n) * range;
1685          if (n % 2 == 0) {
1686            fx = x_max - r;
1687          } else {
1688            fx = x_min + r;
1689          }
1690        }
1691        return u32(fx);
1692      }`:""}
1693`,ac=(u,I,x)=>`
1694  fn pixel_at_grid(r: i32, c: i32, H: i32, W: i32, batch: u32, channel: u32, border: vec4<f32>) -> ${I} {
1695     var pixel = ${I}(0);
1696     var indices = vec4<u32>(0);
1697     indices[${vo}] = batch;
1698     indices[${yo}] = channel;`+(()=>{switch(x.paddingMode){case"zeros":return`
1699          if (r >= 0 && r < H && c >=0 && c < W) {
1700            indices[${o0}] = u32(r);
1701            indices[${l0}] = u32(c);
1702          }
1703        `;case"border":return`
1704          indices[${o0}] = u32(clamp(r, 0, H - 1));
1705          indices[${l0}] = u32(clamp(c, 0, W - 1));
1706        `;case"reflection":return`
1707          indices[${o0}] = gs_reflect(r, border[1], border[3]);
1708          indices[${l0}] = gs_reflect(c, border[0], border[2]);
1709        `;default:throw new Error(`padding mode ${x.paddingMode} is not supported`)}})()+`
1710    return ${u.getByIndices("indices")};
1711  }
1712`,nc=(u,I,x)=>(()=>{switch(x.mode){case"nearest":return`
1713          let result = pixel_at_grid(i32(round(y)), i32(round(x)), H_in, W_in, indices[${vo}], indices[${yo}], border);
1714        `;case"bilinear":return`
1715          let x1 = i32(floor(x));
1716          let y1 = i32(floor(y));
1717          let x2 = x1 + 1;
1718          let y2 = y1 + 1;
1719
1720          let p11 = pixel_at_grid(y1, x1, H_in, W_in, indices[${vo}], indices[${yo}], border);
1721          let p12 = pixel_at_grid(y1, x2, H_in, W_in, indices[${vo}], indices[${yo}], border);
1722          let p21 = pixel_at_grid(y2, x1, H_in, W_in, indices[${vo}], indices[${yo}], border);
1723          let p22 = pixel_at_grid(y2, x2, H_in, W_in, indices[${vo}], indices[${yo}], border);
1724
1725          let dx2 = ${I}(f32(x2) - x);
1726          let dx1 = ${I}(x - f32(x1));
1727          let dy2 = ${I}(f32(y2) - y);
1728          let dy1 = ${I}(y - f32(y1));
1729          let result = dy2 * (dx2 * p11 + dx1 * p12) + dy1 * (dx2 * p21 + dx1 * p22);
1730        `;case"bicubic":return`
1731          let x0 = i32(floor(x)) - 1;
1732          let y0 = i32(floor(y)) - 1;
1733          var p: mat4x4<${I}>;
1734          for (var h = 0; h < 4; h++) {
1735            for (var w = 0; w < 4; w++) {
1736              p[h][w] = pixel_at_grid(h + y0, w + x0, H_in, W_in, indices[${vo}], indices[${yo}], border);
1737            }
1738          }
1739
1740          let dx = x - f32(x0 + 1);
1741          let dy = y - f32(y0 + 1);
1742          let result = gs_bicubic_interpolate(p, dx, dy);
1743        `;default:throw new Error(`mode ${x.mode} is not supported`)}})()+`${u.setByOffset("global_idx","result")}`,ic=(u,I)=>{let x=Wt("x",u[0].dataType,u[0].dims.length),S=[u[1].dims[0],u[1].dims[1],u[1].dims[2]],L=Wt("grid",u[1].dataType,S.length,2),W=[u[0].dims[0],u[0].dims[1],u[1].dims[1],u[1].dims[2]];I.format==="NHWC"&&(W=[u[0].dims[0],u[1].dims[1],u[1].dims[2],u[0].dims[3]],[vo,yo,o0,l0]=[0,3,1,2]);let Y=PA("output",u[0].dataType,W.length),Ae=x.type.value,se=[{type:12,data:gt.size(W)},...QA(u[0].dims,S,W)];return{name:"GridSample",shaderCache:{hint:`${I.cacheKey}`,inputDependencies:["type","type"]},getRunData:ne=>{let ve=gt.size(W);return{outputs:[{dims:W,dataType:ne[0].dataType}],dispatchGroup:{x:Math.ceil(ve/64)},programUniforms:se}},getShaderSource:ne=>`
1744  ${ne.registerUniform("output_size","u32").declareVariables(x,L,Y)}
1745  
1746  fn gs_get_cubic_coeffs(x: f32) -> vec4<f32> {
1747    let cubic_alpha = -0.75f;
1748    let x_abs = abs(x);
1749    var coeffs: vec4<f32>;
1750    coeffs[0] = (((cubic_alpha * (x_abs + 1) - 5 * cubic_alpha) * (x_abs + 1) + 8 * cubic_alpha) * (x_abs + 1) - 4 * cubic_alpha);
1751    coeffs[1] = (((cubic_alpha + 2) * x_abs - (cubic_alpha + 3)) * x_abs * x_abs + 1);
1752    coeffs[2] = (((cubic_alpha + 2) * (1 - x_abs) - (cubic_alpha + 3)) * (1 - x_abs) * (1 - x_abs) + 1);
1753    coeffs[3] = (((cubic_alpha * (2 - x_abs) - 5 * cubic_alpha) * (2 - x_abs) + 8 * cubic_alpha) * (2 - x_abs) - 4 * cubic_alpha);
1754    return coeffs;
1755  }
1756
1757  ${rc(Ae)}
1758  ${Tl(I)}
1759  ${sc(I)}
1760  ${ac(x,Ae,I)}
1761
1762  ${ne.mainStart()}
1763    ${ne.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
1764      let H_in = i32(uniforms.x_shape[${o0}]);
1765      let W_in = i32(uniforms.x_shape[${l0}]);
1766
1767      ${I.alignCorners===0?`
1768      let x_min = -0.5;
1769      let x_max = f32(W_in) - 0.5;
1770      let y_min = -0.5;
1771      let y_max = f32(H_in) - 0.5;
1772      `:`
1773      let x_min = 0.0;
1774      let x_max = f32(W_in) - 1.0;
1775      let y_min = 0.0;
1776      let y_max = f32(H_in) - 1.0;
1777      `};
1778      let border = vec4<f32>(x_min, y_min, x_max, y_max);
1779
1780      let indices = ${Y.offsetToIndices("global_idx")};
1781      var grid_indices = vec3<u32>(indices[${vo}], indices[${o0}], indices[${l0}]);
1782      let nxy = ${L.getByIndices("grid_indices")};
1783      var x = gs_denormalize(f32(nxy[0]), W_in);
1784      var y = gs_denormalize(f32(nxy[1]), H_in);
1785
1786      ${nc(Y,Ae,I)}
1787  }`}},oc=(u,I)=>{Ac(u.inputs),u.compute(ic(u.inputs,I))},lc=u=>yt({alignCorners:u.align_corners,mode:u.mode,paddingMode:u.padding_mode,format:u.format})}),Ht=pe(()=>{Cr(),Mr(),Ia(),c2(),f2(),Pr(),a0(),_n=(u,I)=>u.length>I&&u[I].dims.length>0?u[I]:void 0,cc=(u,I)=>{let x=u[0],S=_n(u,1),L=_n(u,2),W=_n(u,3),Y=_n(u,4),Ae=_n(u,5),se=_n(u,6),ne=_n(u,7);if(x.dims.length!==3&&x.dims.length!==5)throw new Error("Input query is expected to have 3 or 5 dimensions");let ve,Ee=x.dims[0],te=x.dims[1],Ge=x.dims.length===3?x.dims[2]:I.numHeads*x.dims[4],Fe=te,Ke=0,Ye=0,et=Math.floor(Ge/I.numHeads);if(se&&ne&&gt.size(se.dims)&&gt.size(ne.dims)){if(se.dims.length!==4)throw new Error('Input "past_key" is expected to have 4 dimensions');if(se.dims[0]!==Ee||se.dims[1]!==I.numHeads||se.dims[3]!==et)throw new Error('Input "past_key" shape (batch_size, num_heads, past_sequence_length, head_size)');if(ne.dims[0]!==Ee||ne.dims[1]!==I.numHeads||ne.dims[3]!==et)throw new Error('Input "past_value" shape (batch_size, num_heads, past_sequence_length, head_size)');if(se.dims[2]!==ne.dims[2])throw new Error('Input "past_key" and "past_value" shall have same dim 2 (past_sequence_length)');if(ne.dims.length!==4)throw new Error('Input "past_value" is expected to have 4 dimensions');Ke=se.dims[2],Ye=se.dims[2]}else if(se&&gt.size(se.dims)||ne&&gt.size(ne.dims))throw new Error('Input "past_key" and "past_value" shall be both present or both absent');if(S&&gt.size(S.dims)>0){if(x.dims.length!==3)throw new Error('Input "query" is expected to have 3 dimensions when key is given');if(S.dims.length<3||S.dims.length>5)throw new Error('Input "key" is expected to have 3, 4, or 5 dimensions');if(x.dims[0]!==S.dims[0])throw new Error('Input "query" and "key" shall have same dim 0 (batch size)');if(S.dims.length===3){if(S.dims[2]!==x.dims[2])throw new Error('Input "query" and "key" shall have same dim 2 (hidden_size)');ve=2,Fe=S.dims[1]}else if(S.dims.length===5){if(S.dims[2]!==I.numHeads||S.dims[3]!==2||S.dims[4]!==et)throw new Error('Expect "key" shape (batch_size, kv_sequence_length, num_heads, 2, head_size) for packed kv');if(L)throw new Error('Expect "value" be none when "key" has packed kv format.');ve=5,Fe=S.dims[1]}else{if(S.dims[1]!==I.numHeads||S.dims[3]!==et)throw new Error('Expect "key" shape (batch_size, num_heads, kv_sequence_length, head_size) for past_key');ve=0,Fe=S.dims[2]}}else{if(x.dims.length!==5)throw new Error('Input "query" is expected to have 5 dimensions when key is empty');if(x.dims[2]!==I.numHeads||x.dims[3]!==3)throw new Error('Expect "query" shape (batch_size, kv_sequence_length, num_heads, 3, head_size) for packed kv');ve=3}if(W&&gt.size(W.dims)>0){if(W.dims.length!==1)throw new Error('Input "bias" is expected to have 1 dimension');if(S&&S.dims.length===5&&S.dims[3]===2)throw new Error("bias is not allowed for packed kv.")}let ft=Ke+Fe,bt=0;if(Y&&gt.size(Y.dims)>0){bt=8;let Nt=Y.dims;throw Nt.length===1?Nt[0]===Ee?bt=1:Nt[0]===3*Ee+2&&(bt=3):Nt.length===2&&Nt[0]===Ee&&Nt[1]===ft&&(bt=5),bt===8?new Error('Input "key_padding_mask" shape shall be (batch_size) or (batch_size, total_sequence_length)'):new Error("Mask not supported")}let Mt=!1,Dt=Ge;if(L&&gt.size(L.dims)>0){if(L.dims.length!==3&&L.dims.length!==4)throw new Error('Input "value" is expected to have 3 or 4 dimensions');if(x.dims[0]!==L.dims[0])throw new Error('Input "query" and "value" shall have same dim 0 (batch_size)');if(L.dims.length===3){if(Fe!==L.dims[1])throw new Error('Input "key" and "value" shall have the same dim 1 (kv_sequence_length)');Dt=L.dims[2]}else{if(Fe!==L.dims[2])throw new Error('Input "key" and "value" shall have the same dim 2 (kv_sequence_length)');Dt=L.dims[1]*L.dims[3],Mt=!0}}if(Y&&gt.size(Y.dims)>0)throw new Error("Key padding mask is not supported");if(Ae&&gt.size(Ae.dims)>0){if(Ae.dims.length!==4)throw new Error('Input "attention_bias" is expected to have 4 dimensions');if(Ae.dims[0]!==Ee||Ae.dims[1]!==I.numHeads||Ae.dims[2]!==te||Ae.dims[3]!==ft)throw new Error('Expect "attention_bias" shape (batch_size, num_heads, sequence_length, total_sequence_length)')}return{batchSize:Ee,sequenceLength:te,pastSequenceLength:Ke,kvSequenceLength:Fe,totalSequenceLength:ft,maxSequenceLength:Ye,inputHiddenSize:0,hiddenSize:Ge,vHiddenSize:Dt,headSize:et,vHeadSize:Math.floor(Dt/I.numHeads),numHeads:I.numHeads,isUnidirectional:!1,pastPresentShareBuffer:!1,maskFilterValue:I.maskFilterValue,maskType:bt,scale:I.scale,broadcastResPosBias:!1,passPastInKv:Mt,qkvFormat:ve}},uc=u=>yt({...u}),al=yt({perm:[0,2,1,3]}),fc=(u,I,x,S,L,W,Y)=>{let Ae=[S,L,W],se=gt.size(Ae),ne=[{type:12,data:se},{type:12,data:Y},{type:12,data:W}];return u.compute({name:"MultiHeadAttentionAddBias",shaderCache:{inputDependencies:["type","type"]},getRunData:()=>({outputs:[{dims:Ae,dataType:I.dataType,gpuDataType:0}],dispatchGroup:{x:Math.ceil(se/64)},programUniforms:ne}),getShaderSource:ve=>{let Ee=PA("qkv_with_bias",I.dataType,Ae),te=Wt("qkv",I.dataType,Ae),Ge=Wt("bias",x.dataType,Ae);return`
1788  ${ve.registerUniforms([{name:"output_size",type:"u32"},{name:"bias_offset",type:"u32"},{name:"hidden_size",type:"u32"}]).declareVariables(te,Ge,Ee)}
1789  ${ve.mainStart()}
1790    ${ve.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
1791    let bias_offset_idx = (global_idx % uniforms.hidden_size) + uniforms.bias_offset;
1792
1793    qkv_with_bias[global_idx] = qkv[global_idx] + bias[bias_offset_idx];
1794  }`}},{inputs:[I,x],outputs:[-1]})[0]},R0=(u,I,x,S,L,W,Y,Ae)=>{let se=W;if(Y&&gt.size(Y.dims)>0){if(S===1)throw new Error("AddBiasReshape is not implemented. Please export your model with packed QKV or KV");return se=fc(u,W,Y,I,S,x*L,Ae),se=se.reshape([I,S,x,L]),x===1||S===1?se:u.compute(Hs(se,al.perm),{inputs:[se],outputs:[-1]})[0]}return W.dims.length===3&&(se=W.reshape([I,S,x,L])),x===1||S===1?se:u.compute(Hs(se,al.perm),{inputs:[se],outputs:[-1]})[0]},s0=(u,I)=>{let x=cc(u.inputs,I),S=u.inputs[0],L=_n(u.inputs,1),W=_n(u.inputs,2),Y=_n(u.inputs,3),Ae=_n(u.inputs,4),se=_n(u.inputs,5),ne=_n(u.inputs,6),ve=_n(u.inputs,7);if(S.dims.length===5)throw new Error("Packed QKV is not implemented");if((L==null?void 0:L.dims.length)===5)throw new Error("Packed KV is not implemented");let Ee=L&&W&&L.dims.length===4&&W.dims.length===4,te=R0(u,x.batchSize,x.numHeads,x.sequenceLength,x.headSize,S,Y,0);if(Ee)return bn(u,te,L,W,Ae,void 0,ne,ve,se,x);if(!L||!W)throw new Error("key and value must be provided");let Ge=R0(u,x.batchSize,x.numHeads,x.kvSequenceLength,x.headSize,L,Y,x.hiddenSize),Fe=R0(u,x.batchSize,x.numHeads,x.kvSequenceLength,x.vHeadSize,W,Y,2*x.hiddenSize);bn(u,te,Ge,Fe,Ae,void 0,ne,ve,se,x)}}),sA=pe(()=>{Cr(),Mr(),Ia(),Pr(),dc=u=>{if(!u||u.length<1)throw new Error("too few inputs")},gc=(u,I)=>{let x=[],S=I.numOutputs;return u[1].dims[0]>0&&(u[1].getBigInt64Array().forEach(L=>x.push(Number(L))),S=x.length),yt({numOutputs:S,axis:I.axis,splitSizes:x})},hc=u=>`
1795fn calculateOutputIndex(index: u32) -> u32 {
1796    for (var i: u32 = 0u; i < ${u}u; i += 1u ) {
1797    if (index < ${zA("uniforms.size_in_split_axis","i",u)}) {
1798        return i;
1799    }
1800    }
1801    return ${u}u;
1802}`,pc=u=>{let I=u.length,x=[];for(let S=0;S<I;++S){let L=u[S].setByIndices("indices","input[global_idx]");I===1?x.push(L):S===0?x.push(`if (output_number == ${S}u) { ${L} }`):S===I-1?x.push(`else { ${L} }`):x.push(`else if (output_number == ${S}) { ${L} }`)}return`
1803      fn writeBufferData(output_number: u32, indices: ${u[0].type.indices}, global_idx: u32) {
1804        ${x.join(`
1805`)}
1806      }`},nl=(u,I)=>{let x=u[0].dims,S=gt.size(x),L=u[0].dataType,W=gt.normalizeAxis(I.axis,x.length),Y=new Array(I.numOutputs),Ae=Wt("input",L,x.length),se=new Array(I.numOutputs),ne=[],ve=[],Ee=0,te=[{type:12,data:S}];for(let Ge=0;Ge<I.numOutputs;Ge++){Ee+=I.splitSizes[Ge],se[Ge]=Ee;let Fe=x.slice();Fe[W]=I.splitSizes[Ge],ve.push(Fe),Y[Ge]=PA(`output${Ge}`,L,Fe.length),ne.push({dims:ve[Ge],dataType:u[0].dataType})}return te.push({type:12,data:se},...QA(x,...ve)),{name:"Split",shaderCache:{hint:I.cacheKey,inputDependencies:["rank"]},getShaderSource:Ge=>`
1807  ${Ge.registerUniform("input_size","u32").registerUniform("size_in_split_axis","u32",se.length).declareVariables(Ae,...Y)}
1808  ${hc(se.length)}
1809  ${pc(Y)}
1810
1811  ${Ge.mainStart()}
1812    ${Ge.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.input_size")}
1813
1814    var indices = ${Ae.offsetToIndices("global_idx")};
1815    var index = ${Ae.indicesGet("indices",W)};
1816    let output_number = calculateOutputIndex(index);
1817    if (output_number != 0) {
1818      index -= ${zA("uniforms.size_in_split_axis","output_number - 1u",se.length)};
1819      ${Ae.indicesSet("indices",W,"index")};
1820    }
1821    writeBufferData(output_number, indices, global_idx);
1822  }`,getRunData:()=>({outputs:ne,dispatchGroup:{x:Math.ceil(S/64)},programUniforms:te})}},mc=(u,I)=>{dc(u.inputs);let x=u.inputs.length===1?I:gc(u.inputs,I);u.compute(nl(u.inputs,x),{inputs:[0]})},bc=u=>{let I=u.axis,x=u.splitSizes,S=u.numOutputs<0?x.length:u.numOutputs;if(S!==x.length)throw new Error("numOutputs and splitSizes lengh must be equal");return yt({axis:I,numOutputs:S,splitSizes:x})}}),_A=pe(()=>{Ia(),f2(),Ht(),sA(),a0(),Cc=(u,I)=>{if(I.doRotary)throw new Error("GroupQuerryAttention do_rotary attribute is not supported");if(I.doRotary&&u.length<=7)throw new Error("cos_cache and sin_cache inputs are required if do_rotary is specified");let x=u[0],S=u[1],L=u[2],W=u[3],Y=u[4];if(I.localWindowSize!==-1)throw new Error("Local attention is not supported");if(I.softcap!==0)throw new Error("Softcap is not supported");if(I.rotaryInterleaved!==0)throw new Error("Rotary interleaved is not supported");if(I.smoothSoftmax)throw new Error("Smooth softmax is not supported");if(x.dims.length!==3&&x.dims.length!==5)throw new Error("Input query is expected to have 3 or 5 dimensions");let Ae=x.dims[0],se=x.dims[1],ne=x.dims.length===3?x.dims[2]:I.numHeads*x.dims[4],ve=se,Ee=0,te=!S||S.dims.length===0,Ge=Math.floor(te?ne/(I.numHeads+2*I.kvNumHeads):ne/I.numHeads);te&&(ne=Ge*I.numHeads);let Fe=W&&W.dims.length!==0,Ke=Y&&Y.dims.length!==0;if(Fe&&W.dims.length===4&&W.dims[0]===Ae&&W.dims[1]!==I.kvNumHeads&&W.dims[2]===I.kvNumHeads&&W.dims[3]===Ge)throw new Error("BSNH pastKey/pastValue is not supported");if(Fe&&Ke){if(W.dims.length!==4)throw new Error('Input "past_key" is expected to have 4 dimensions');if(Y.dims.length!==4)throw new Error('Input "past_value" is expected to have 4 dimensions');Ee=W.dims[2]}else if(Fe||Ke)throw new Error('Input "past_key" and "past_value" shall be both present or both absent');let Ye=1;if(S&&S.dims.length>0){if(x.dims.length!==3)throw new Error('Input "query" is expected to have 3 dimensions when key is given');if(S.dims.length<3||S.dims.length>5)throw new Error('Input "key" is expected to have 3, 4, or 5 dimensions');if(x.dims[0]!==S.dims[0])throw new Error('Input "query" and "key" shall have same dim 0 (batch size)');if(S.dims.length===3){if(x.dims[2]%S.dims[2]!=0)throw new Error('Dimension 2 of "query" should be a multiple of "key"');ve=S.dims[1]}else if(S.dims.length===5){if(S.dims[2]!==I.numHeads||S.dims[3]!==2||S.dims[4]!==Ge)throw new Error('Expect "key" shape (batch_size, kv_sequence_length, num_heads, 2, head_size) for packed kv');if(L)throw new Error('Expect "value" be none when "key" has packed kv format.');ve=S.dims[1]}else{if(S.dims[1]!==I.numHeads||S.dims[3]!==Ge)throw new Error('Expect "key" shape (batch_size, num_heads, kv_sequence_length, head_size) for past_key');ve=S.dims[2]}}else{if(x.dims.length!==3&&x.dims.length!==5)throw new Error('Input "query" is expected to have 3 or 5 dimensions when key is empty');if(x.dims.length===5&&(x.dims[2]!==I.numHeads||x.dims[3]!==3))throw new Error('Expect "query" shape (batch_size, kv_sequence_length, num_heads, 3, head_size) for packed kv');Ye=3}let et=!1,ft=I.kvNumHeads?Ge*I.kvNumHeads:ne;if(L&&L.dims.length>0){if(L.dims.length!==3&&L.dims.length!==4)throw new Error('Input "value" is expected to have 3 or 4 dimensions');if(x.dims[0]!==L.dims[0])throw new Error('Input "query" and "value" shall have same dim 0 (batch_size)');if(L.dims.length===3){if(ve!==L.dims[1])throw new Error('Input "key" and "value" shall have the same dim 1 (kv_sequence_length)');ft=L.dims[2]}else{if(ve!==L.dims[2])throw new Error('Input "past_key" and "past_value" shall have the same dim 2 (kv_sequence_length)');ft=L.dims[1]*L.dims[3],et=!0}}let bt=u.length>4?u[5]:void 0;if(bt&&bt.dims.length!==1&&bt.dims[0]!==Ae)throw new Error('Input "seqlens" is expected to have 1 dimension and the same dim 0 as batch_size');return{batchSize:Ae,sequenceLength:se,pastSequenceLength:Ee,kvSequenceLength:ve,totalSequenceLength:-1,maxSequenceLength:-1,inputHiddenSize:0,hiddenSize:ne,vHiddenSize:ft,headSize:Ge,vHeadSize:Math.floor(ft/I.kvNumHeads),numHeads:I.numHeads,kvNumHeads:I.kvNumHeads,nReps:I.numHeads/I.kvNumHeads,pastPresentShareBuffer:!1,maskType:0,scale:I.scale,broadcastResPosBias:!1,passPastInKv:et,qkvFormat:Ye}},Ic=yt({perm:[0,2,1,3]}),j0=(u,I,x)=>{let S=I,L=x.kvNumHeads;return I.dims.length===3&&x.kvSequenceLength!==0&&(S=I.reshape([x.batchSize,x.kvSequenceLength,L,x.headSize]),S=u.compute(Hs(S,Ic.perm),{inputs:[S],outputs:[-1]})[0]),S},wc=(u,I)=>{var Ye;let x=Cc(u.inputs,I);if(u.inputs[0].dims.length===5)throw new Error("Packed QKV is not implemented");if(((Ye=u.inputs[1])==null?void 0:Ye.dims.length)===5)throw new Error("Packed KV is not implemented");let S=u.inputs[0],L=u.inputs[1]&&u.inputs[1].dims.length>0?u.inputs[1]:void 0,W=u.inputs[2]&&u.inputs[2].dims.length>0?u.inputs[2]:void 0,Y=u.inputs[3]&&u.inputs[3].dims.length!==0?u.inputs[3]:void 0,Ae=u.inputs[4]&&u.inputs[4].dims.length!==0?u.inputs[4]:void 0,se=u.inputs.length>4?u.inputs[5]:void 0,ne=u.inputs.length>5?u.inputs[6]:void 0,ve=x.kvNumHeads?x.kvNumHeads:x.numHeads,Ee=yt({axis:2,numOutputs:3,splitSizes:[x.numHeads*x.headSize,ve*x.headSize,ve*x.headSize]}),[te,Ge,Fe]=L||W?[S,L,W]:u.compute(nl([S],Ee),{inputs:[S],outputs:[-1,-1,-1]}),Ke=R0(u,x.batchSize,x.numHeads,x.sequenceLength,x.headSize,te,void 0,0);bn(u,Ke,j0(u,Ge,x),j0(u,Fe,x),void 0,void 0,Y,Ae,void 0,x,se,ne)}}),TA=pe(()=>{Cr(),Mr(),a0(),Pr(),Ql=(u,I,x,S,L,W,Y,Ae)=>{let se=Qr(W),ne=se===1?"f32":`vec${se}f`,ve=se===1?"vec2f":`mat2x${se}f`,Ee=L*Y,te=64;Ee===1&&(te=256);let Ge=[L,Y,W/se],Fe=[L,Y,2],Ke=[];return Ke.push(...QA(Ge,Fe)),u.compute({name:"InstanceNormComputeChannelScaleShift",shaderCache:{hint:`${se};${Ae};${te}`,inputDependencies:["rank","type","type"]},getRunData:()=>({outputs:[{dims:Fe,dataType:1}],dispatchGroup:{x:Ee},programUniforms:Ke}),getShaderSource:Ye=>{let et=Wt("x",I.dataType,3,se),ft=[et,Wt("scale",x.dataType,x.dims),Wt("bias",S.dataType,S.dims),PA("output",1,3,2)];return`
1823  var<workgroup> workgroup_shared : array<${ve}, ${te}>;
1824  const workgroup_size = ${te}u;
1825  ${Ye.declareVariables(...ft)}
1826  ${Ye.mainStart(te)}
1827    let batch = workgroup_index / uniforms.x_shape[1];
1828    let channel = workgroup_index % uniforms.x_shape[1];
1829    let hight = uniforms.x_shape[2];
1830    // initialize workgroup memory
1831    var sum = ${ne}(0);
1832    var squared_sum = ${ne}(0);
1833    for (var h = local_idx; h < hight; h += workgroup_size) {
1834      let value = ${ne}(${et.get("batch","channel","h")});
1835      sum += value;
1836      squared_sum += value * value;
1837    }
1838    workgroup_shared[local_idx] = ${ve}(sum, squared_sum);
1839    workgroupBarrier();
1840
1841    for (var currSize = workgroup_size >> 1;  currSize > 0; currSize = currSize >> 1) {
1842      if (local_idx < currSize) {
1843        workgroup_shared[local_idx] = workgroup_shared[local_idx] + workgroup_shared[local_idx + currSize];
1844      }
1845      workgroupBarrier();
1846    }
1847    if (local_idx == 0) {
1848      let sum_final = ${rs("workgroup_shared[0][0]",se)} / f32(hight * ${se});
1849      let squared_sum_final = ${rs("workgroup_shared[0][1]",se)} / f32(hight * ${se});
1850
1851      let inv_std_dev = inverseSqrt(squared_sum_final - sum_final * sum_final + f32(${Ae}));
1852      let channel_scale = inv_std_dev * f32(scale[channel]);
1853      let channel_shift = f32(bias[channel]) - sum_final * channel_scale;
1854      output[workgroup_index] = vec2f(channel_scale, channel_shift);
1855    }
1856  }`}},{inputs:[I,x,S],outputs:[-1]})[0]},kc=(u,I,x)=>{let S=I[0].dims,L=S,W=S[0],Y=S[1],Ae=gt.sizeFromDimension(S,2),se=Qr(Ae),ne=gt.size(L)/se,ve=Ql(u,I[0],I[1],I[2],W,Ae,Y,x.epsilon),Ee=[W,Y,Ae/se],te=[W,Y];u.compute({name:"InstanceNormalization",shaderCache:{hint:`${se}`,inputDependencies:["type","none"]},getRunData:()=>({outputs:[{dims:L,dataType:I[0].dataType}],dispatchGroup:{x:Math.ceil(ne/64)},programUniforms:[{type:12,data:ne},...QA(Ee,te,Ee)]}),getShaderSource:Ge=>{let Fe=Wt("x",I[0].dataType,Ee.length,se),Ke=Wt("scale_shift",1,te.length,2),Ye=PA("output",I[0].dataType,Ee.length,se),et=[Fe,Ke,Ye];return`
1857  ${Ge.registerUniform("output_size","u32").declareVariables(...et)}
1858  ${Ge.mainStart()}
1859  ${Ge.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
1860      let outputIndices = ${Ye.offsetToIndices("global_idx")};
1861      let batch = outputIndices[0];
1862      let channel = outputIndices[1];
1863      let scale_shift = ${Ke.getByIndices("vec2<u32>(batch, channel)")};
1864      let value = ${Fe.getByOffset("global_idx")} * ${Ye.type.value}(scale_shift.x) + ${Ye.type.value}(scale_shift.y);
1865      ${Ye.setByOffset("global_idx","value")};
1866  }`}},{inputs:[I[0],ve]})},W0=(u,I,x)=>{let S=I[0].dims,L=S,W=S[0],Y=S[S.length-1],Ae=gt.sizeFromDimension(S,1)/Y,se=Qr(Y),ne=gt.size(L)/se,ve=[{type:12,data:Ae},{type:12,data:Math.floor(Y/se)}],Ee=!1,te=[0,S.length-1];for(let Ke=0;Ke<S.length-2;Ke++)Ee=Ee||S[Ke+1]!==1,te.push(Ke+1);Ee=Ee&&S[S.length-1]!==1;let Ge=Ee?u.compute(Hs(u.inputs[0],te),{inputs:[u.inputs[0]],outputs:[-1]})[0]:u.inputs[0].reshape(Array.from({length:S.length},(Ke,Ye)=>S[te[Ye]])),Fe=Ql(u,Ge,I[1],I[2],W,Ae,Y,x.epsilon);u.compute({name:"InstanceNormalizationNHWC",shaderCache:{hint:`${se}`,inputDependencies:["type","type"]},getRunData:()=>({outputs:[{dims:L,dataType:I[0].dataType}],dispatchGroup:{x:Math.ceil(ne/64)},programUniforms:ve}),getShaderSource:Ke=>{let Ye=fr(I[0].dataType),et=se===1?"vec2f":`mat${se}x2f`,ft=Dt=>{let Nt=Dt===0?"x":"y",pA=se===1?"f32":`vec${se}f`;switch(se){case 1:return`${Ye}(${pA}(scale.${Nt}))`;case 2:return`vec2<${Ye}>(${pA}(scale[0].${Nt}, scale[1].${Nt}))`;case 4:return`vec4<${Ye}>(${pA}(scale[0].${Nt}, scale[1].${Nt}, scale[2].${Nt}, scale[3].${Nt}))`;default:throw new Error(`Not supported compoents ${se}`)}},bt=Wt("input",I[0].dataType,I[0].dims,se),Mt=PA("output",I[0].dataType,L,se);return`
1867  @group(0) @binding(0) var<storage, read> input : array<${bt.type.storage}>;
1868  @group(0) @binding(1) var<storage, read> scale_input : array<${et}>;
1869  @group(0) @binding(2) var<storage, read_write> output : array<${Mt.type.storage}>;
1870  struct Uniforms {H: u32, C : u32};
1871  @group(0) @binding(3) var<uniform> uniforms: Uniforms;
1872
1873  ${Ke.mainStart()}
1874    let current_image_number = global_idx / (uniforms.C * uniforms.H);
1875    let current_channel_number = global_idx % uniforms.C;
1876
1877    let scale_offset = current_image_number * uniforms.C + current_channel_number;
1878    let scale = scale_input[scale_offset];
1879    output[global_idx] = fma(input[global_idx], ${ft(0)}, ${ft(1)});
1880  }`}},{inputs:[I[0],Fe]})},vc=(u,I)=>{I.format==="NHWC"?W0(u,u.inputs,I):kc(u,u.inputs,I)}}),yA=pe(()=>{Cr(),Mr(),Pr(),yc=u=>{if(!u||u.length<2)throw new Error("layerNorm requires at least 2 inputs.")},Ec=(u,I,x)=>{let S=I.simplified,L=u[0].dims,W=u[1],Y=!S&&u[2],Ae=L,se=gt.normalizeAxis(I.axis,L.length),ne=gt.sizeToDimension(L,se),ve=gt.sizeFromDimension(L,se),Ee=gt.size(W.dims),te=Y?gt.size(Y.dims):0;if(Ee!==ve||Y&&te!==ve)throw new Error(`Size of X.shape()[axis:] == ${ve}.
1881       Size of scale and bias (if provided) must match this.
1882       Got scale size of ${Ee} and bias size of ${te}`);let Ge=[];for(let Mt=0;Mt<L.length;++Mt)Mt<se?Ge.push(L[Mt]):Ge.push(1);let Fe=Qr(ve),Ke=["type","type"],Ye=[{type:12,data:ne},{type:1,data:ve},{type:12,data:Math.floor(ve/Fe)},{type:1,data:I.epsilon}];Y&&Ke.push("type");let et=x>1,ft=x>2,bt=[{dims:Ae,dataType:u[0].dataType}];return et&&bt.push({dims:Ge,dataType:1}),ft&&bt.push({dims:Ge,dataType:1}),{name:"LayerNormalization",shaderCache:{hint:`${Fe};${x};${S}`,inputDependencies:Ke},getRunData:()=>({outputs:bt,dispatchGroup:{x:Math.ceil(ne/64)},programUniforms:Ye}),getShaderSource:Mt=>{let Dt=fr(u[0].dataType),Nt=[Wt("x",u[0].dataType,u[0].dims,Fe),Wt("scale",W.dataType,W.dims,Fe)];return Y&&Nt.push(Wt("bias",Y.dataType,Y.dims,Fe)),Nt.push(PA("output",u[0].dataType,Ae,Fe)),et&&Nt.push(PA("mean_data_output",1,Ge)),ft&&Nt.push(PA("inv_std_output",1,Ge)),`
1883  ${Mt.registerUniforms([{name:"norm_count",type:"u32"},{name:"norm_size",type:"f32"},{name:"norm_size_vectorized",type:"u32"},{name:"epsilon",type:"f32"}]).declareVariables(...Nt)}
1884  ${Mt.mainStart()}
1885    ${Mt.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.norm_count")}
1886    let offset = global_idx * uniforms.norm_size_vectorized;
1887    var mean_vector = ${ga("f32",Fe)};
1888    var mean_square_vector = ${ga("f32",Fe)};
1889
1890    for (var h: u32 = 0u; h < uniforms.norm_size_vectorized; h++) {
1891      let value = ${_s(Dt,Fe,"x[h + offset]")};
1892      mean_vector += value;
1893      mean_square_vector += value * value;
1894    }
1895    let mean = ${rs("mean_vector",Fe)} / uniforms.norm_size;
1896    let inv_std_dev = inverseSqrt(${rs("mean_square_vector",Fe)} / uniforms.norm_size ${S?"":"- mean * mean"} + uniforms.epsilon);
1897
1898    for (var j: u32 = 0; j < uniforms.norm_size_vectorized; j++) {
1899      let f32input = ${_s(Dt,Fe,"x[j + offset]")};
1900      let f32scale = ${_s(Dt,Fe,"scale[j]")};
1901      output[j + offset] = ${Nt[0].type.value}((f32input ${S?"":"- mean"}) * inv_std_dev * f32scale
1902        ${Y?`+ ${_s(Dt,Fe,"bias[j]")}`:""}
1903      );
1904    }
1905
1906    ${et?"mean_data_output[global_idx] = mean":""};
1907    ${ft?"inv_std_output[global_idx] = inv_std_dev":""};
1908  }`}}},Bc=(u,I)=>{yc(u.inputs),u.compute(Ec(u.inputs,I,u.outputCount))}}),VA=pe(()=>{Mr(),h2(),p2(),il=u=>{if(!u||u.length!==2)throw new Error("MatMul requires 2 inputs.");if(u[0].dims[u[0].dims.length-1]!==u[1].dims[u[1].dims.length-2])throw new Error("shared dimension does not match.")},xc=u=>{il(u.inputs);let I=cA.calcShape(u.inputs[0].dims,u.inputs[1].dims,!0);if(!I)throw new Error("Can't use matmul on the given tensors");let x=I[I.length-1],S=u.inputs[0].dims[u.inputs[0].dims.length-1];if(x<8&&S<8)u.compute($i(u.inputs,{activation:""},I));else{let L=I[I.length-2],W=gt.size(u.inputs[0].dims.slice(0,-2)),Y=gt.size(u.inputs[1].dims.slice(0,-2));if(W!==1&&L===1&&Y===1){let Ae=[1,W,x],se=[u.inputs[0].reshape([1,W,S]),u.inputs[1].reshape([1,S,x])];u.compute(t(se,{activation:""},I,Ae),{inputs:se})}else u.compute(t(u.inputs,{activation:""},I))}}}),$A=pe(()=>{Cr(),Mr(),Ia(),Pr(),Mc=(u,I)=>{if(u.length<3||u.length>4)throw new Error("MatMulNBits requires 3 or 4 inputs");let x=u[0],S=x.dims.length;if(x.dims[S-1]!==I.k)throw new Error("The last dim of input shape does not match the k value");let L=Math.floor((I.k+I.blockSize-1)/I.blockSize),W=I.blockSize/8*I.bits,Y=u[1];if(!gt.areEqual(Y.dims,[I.n,L,W]))throw new Error("The second inputs must be 3D tensor with shape N X nBlocksPerCol X blobSize");let Ae=u[2].dims;if(gt.size(Ae)!==I.n*L)throw new Error("scales input size error.");if(u.length===4){let se=u[3].dims,ne=I.bits>4?I.n*L:I.n*Math.floor((L+1)/2);if(gt.size(se)!==ne)throw new Error("zeroPoints input size error.")}},Dc=(u,I)=>{let x=u[0].dims,S=x.length,L=x[S-2],W=I.k,Y=I.n,Ae=x.slice(0,S-2),se=gt.size(Ae),ne=u[1].dims[2]/4,ve=u[0].dataType,Ee=Qr(I.k),te=Qr(ne),Ge=Qr(Y),Fe=Ae.concat([L,Y]),Ke=L>1&&Y/Ge%2==0?2:1,Ye=gt.size(Fe)/Ge/Ke,et=64,ft=[],bt=[se,L,W/Ee],Mt=gt.convertShape(u[1].dims).slice();Mt.splice(-1,1,ne/te),ft.push(...QA(bt)),ft.push(...QA(Mt)),ft.push(...QA(u[2].dims)),u.length===4&&ft.push(...QA(gt.convertShape(u[3].dims)));let Dt=[se,L,Y/Ge];return ft.push(...QA(Dt)),{name:"MatMulNBits",shaderCache:{hint:`${I.blockSize};${I.bits};${Ee};${te};${Ge};${Ke};64`,inputDependencies:Array(u.length).fill("rank")},getRunData:()=>({outputs:[{dims:Fe,dataType:ve}],dispatchGroup:{x:Ye},programUniforms:ft}),getShaderSource:Nt=>{let pA=bt.length,xA=Wt("a",u[0].dataType,pA,Ee),ar=Wt("b",12,Mt.length,te),nr=Wt("scales",u[2].dataType,u[2].dims.length),$r=[xA,ar,nr],ir=u.length===4?Wt("zero_points",12,u[3].dims.length):void 0;ir&&$r.push(ir);let Er=Dt.length,kr=PA("output",u[0].dataType,Er,Ge),Vt=fr(u[0].dataType),ZA=(()=>{switch(Ee){case 1:return`array<${Vt}, 8>`;case 2:return`mat4x2<${Vt}>`;case 4:return`mat2x4<${Vt}>`;default:throw new Error(`${Ee}-component is not supported.`)}})();return`
1909        var<workgroup> workgroup_shared: array<${kr.type.value}, ${Ke*et}>;
1910        ${Nt.declareVariables(...$r,kr)}
1911        ${Nt.mainStart([et,1,1])}
1912          let output_indices = ${kr.offsetToIndices(`(global_idx / 64) * ${Ke}`)};
1913          let col = output_indices[2];
1914          let row = output_indices[1];
1915          let batch = output_indices[0];
1916          let nBlocksPerCol = uniforms.b_shape[1];
1917
1918          for (var block = local_id.x; block < nBlocksPerCol; block += 64) {
1919            //process one block
1920            var word_offset: u32 = block * ${I.blockSize/Ee};
1921            ${(()=>{let RA=`
1922            var col_index = col * ${Ge};
1923            ${ir?`
1924            let zero_point_bytes_per_col = (nBlocksPerCol + 1) / 2;
1925            var zero_point_byte_count: u32;
1926            var zero_point_word_index: u32;
1927            var zero_point_byte_offset: u32;
1928            let zero_point_nibble_offset: u32 = block & 0x1u;
1929            var zero_point_bits_offset: u32;
1930            var zero_point_word: u32;`:`
1931            // The default zero point is 8 for unsigned 4-bit quantization.
1932            let zero_point = ${Vt}(8);`}
1933            `;for(let UA=0;UA<Ge*Ke;UA++)RA+=`
1934            let scale${UA} = ${nr.getByOffset("col_index * nBlocksPerCol + block")};
1935            ${ir?`
1936            zero_point_byte_count = col_index * zero_point_bytes_per_col + (block >> 0x1u);
1937            zero_point_word_index = zero_point_byte_count >> 0x2u;
1938            zero_point_byte_offset = zero_point_byte_count & 0x3u;
1939            zero_point_bits_offset = (zero_point_byte_offset << 3) + (zero_point_nibble_offset << 2);
1940            zero_point_word = ${ir.getByOffset("zero_point_word_index")} >> zero_point_bits_offset;
1941            let zero_point${UA} = ${Vt}((zero_point_word) & 0xFu);`:""}
1942            col_index += 1;`;return RA})()}
1943            for (var word: u32 = 0; word < ${ne}; word += ${te}) {
1944              ${(()=>{let RA=`col_index = col * ${Ge};`;for(let UA=0;UA<Ge*Ke;UA++)RA+=`
1945            let b${UA}_data = ${ar.getByIndices(`${ar.type.indices}(col_index, block, word)`)};
1946            col_index += 1;`;return RA+=`
1947            var b_value: u32;
1948            let b_mask: u32 = 0x0F0F0F0Fu;
1949            var b_value_lower: vec4<u32>;
1950            var b_value_upper: vec4<u32>;
1951            var b_quantized_values: ${ZA};
1952            var b_dequantized_values: ${ZA};`,RA})()}
1953              for (var i: u32 = 0; i < ${te}; i++) {
1954                ${(()=>{let RA=`
1955          // reuse a data
1956            var input_offset = ${xA.indicesToOffset(`${xA.type.indices}(batch, row, word_offset)`)};
1957            var a_data: ${ZA};
1958            for (var j: u32 = 0; j < ${8/Ee}; j++) {
1959              a_data[j] = ${xA.getByOffset("input_offset")};
1960              input_offset++;
1961            }
1962          `;for(let UA=0;UA<Ge*Ke;UA++)RA+=`
1963            b_value = ${te===1?`b${UA}_data`:`b${UA}_data[i]`};
1964            b_value_lower = unpack4xU8(b_value & b_mask);
1965            b_value_upper = unpack4xU8((b_value >> 4) & b_mask);
1966            b_quantized_values = ${ZA}(${Array.from({length:4},(us,za)=>`${Vt}(b_value_lower[${za}]), ${Vt}(b_value_upper[${za}])`).join(", ")});
1967            b_dequantized_values = ${Ee===1?`${ZA}(${Array.from({length:8},(us,za)=>`(b_quantized_values[${za}] - ${ir?`zero_point${UA}`:"zero_point"}) * scale${UA}`).join(", ")});`:`(b_quantized_values - ${ZA}(${Array(8).fill(ir?`zero_point${UA}`:"zero_point").join(",")})) * scale${UA};`};
1968            workgroup_shared[local_id.x * ${Ke} + ${Math.floor(UA/Ge)}]${Ge>1?`[${UA%Ge}]`:""} += ${Array.from({length:8/Ee},(us,za)=>Ee===1?`a_data[${za}] * b_dequantized_values[${za}]`:`dot(a_data[${za}], b_dequantized_values[${za}])`).join(" + ")};
1969          `;return RA})()}
1970                word_offset += ${8/Ee};
1971              }
1972            }
1973          }
1974          workgroupBarrier();
1975
1976          if (local_id.x < ${Ke}) {
1977            var output_value: ${kr.type.value} = ${kr.type.value}(0);
1978            var workgroup_shared_offset: u32 = local_id.x;
1979            for (var b: u32 = 0u; b < 64u; b++) {
1980              output_value += workgroup_shared[workgroup_shared_offset];
1981              workgroup_shared_offset += ${Ke};
1982            }
1983            ${kr.setByIndices(`${kr.type.indices}(batch, row, col + local_id.x)`,"output_value")};
1984          }
1985        }`}}},e1=(u,I)=>{let x=u[0].dims,S=x.length,L=x[S-2],W=I.k,Y=I.n,Ae=x.slice(0,S-2),se=gt.size(Ae),ne=u[1].dims[2]/4,ve=u[0].dataType,Ee=Qr(I.k),te=Qr(ne),Ge=Ae.concat([L,Y]),Fe=Y%8==0?8:Y%4==0?4:1,Ke=128/Fe,Ye=Ke*te*8,et=Ye/Ee,ft=Ye/I.blockSize,bt=gt.size(Ge)/Fe,Mt=[],Dt=[se,L,W/Ee],Nt=gt.convertShape(u[1].dims).slice();Nt.splice(-1,1,ne/te),Mt.push(...QA(Dt)),Mt.push(...QA(Nt)),Mt.push(...QA(u[2].dims)),u.length===4&&Mt.push(...QA(gt.convertShape(u[3].dims)));let pA=[se,L,Y];return Mt.push(...QA(pA)),{name:"BlockwiseMatMulNBits32",shaderCache:{hint:`${I.blockSize};${Ee};${te};${Ke};${Fe}`,inputDependencies:Array(u.length).fill("rank")},getRunData:()=>({outputs:[{dims:Ge,dataType:ve}],dispatchGroup:{x:bt},programUniforms:Mt}),getShaderSource:xA=>{let ar=Dt.length,nr=Wt("a",u[0].dataType,ar,Ee),$r=Wt("b",12,Nt.length,te),ir=Wt("scales",u[2].dataType,u[2].dims.length),Er=[nr,$r,ir],kr=u.length===4?Wt("zero_points",12,u[3].dims.length):void 0;kr&&Er.push(kr);let Vt=pA.length,ZA=PA("output",u[0].dataType,Vt),RA=fr(u[0].dataType);return`
1986        var<workgroup> sub_a: array<${nr.type.value}, ${et}>;
1987        var<workgroup> inter_results: array<array<${ZA.type.value}, ${Ke}>, ${Fe}>;
1988        ${xA.declareVariables(...Er,ZA)}
1989        ${xA.mainStart([Ke,Fe,1])}
1990          let output_indices = ${ZA.offsetToIndices(`workgroup_index * ${Fe}`)};
1991          let col = output_indices[2];
1992          let row = output_indices[1];
1993          let batch = output_indices[0];
1994          let n_blocks_per_col = uniforms.b_shape[1];
1995          let num_tiles =  (n_blocks_per_col - 1) / ${ft} + 1;
1996
1997          // Loop over shared dimension.
1998          for (var tile: u32 = 0; tile < num_tiles; tile += 1) {
1999            let a_col_start = tile * ${et};
2000            // load one tile A data into shared memory.
2001            for (var a_offset = local_idx; a_offset < ${et}; a_offset += 128)
2002            {
2003              let a_col = a_col_start + a_offset;
2004              if (a_col < uniforms.a_shape[2])
2005              {
2006                sub_a[a_offset] = ${nr.getByIndices(`${nr.type.indices}(batch, row, a_col)`)};
2007              } else {
2008                sub_a[a_offset] = ${nr.type.value}(0);
2009              }
2010            }
2011            workgroupBarrier();
2012
2013            // each thread process one block
2014            let b_row = col + local_id.y;
2015            let block = tile * ${ft} + local_id.x;
2016            ${kr?`
2017            let zero_point_bytes_per_col = (n_blocks_per_col + 1) / 2;
2018            let zero_point_byte_count = b_row * zero_point_bytes_per_col + (block >> 0x1u);
2019            let zero_point_word_index = zero_point_byte_count >> 0x2u;
2020            let zero_point_byte_offset = zero_point_byte_count & 0x3u;
2021            let zero_point_nibble_offset: u32 = block & 0x1u;
2022            let zero_point_bits_offset = (zero_point_byte_offset << 3) + (zero_point_nibble_offset << 2);
2023            let zero_point_word = ${kr.getByOffset("zero_point_word_index")} >> zero_point_bits_offset;
2024            let zero_point = ${RA}((zero_point_word) & 0xFu);`:`
2025            // The default zero point is 8 for unsigned 4-bit quantization.
2026            let zero_point = ${RA}(8);`}
2027            let scale = ${ir.getByOffset("b_row * n_blocks_per_col + block")};
2028            let b_data = ${$r.getByIndices(`${$r.type.indices}(b_row, block, 0)`)};
2029            var word_offset = local_id.x * ${I.blockSize/Ee};
2030            for (var i: u32 = 0; i < ${te}; i++) {
2031              ${(()=>{switch(Ee){case 1:return`
2032          let a_data0 = vec4<${RA}>(sub_a[word_offset], sub_a[word_offset + 1], sub_a[word_offset + 2], sub_a[word_offset + 3]);
2033          let a_data1 = vec4<${RA}>(sub_a[word_offset + 4], sub_a[word_offset + 5], sub_a[word_offset + 6], sub_a[word_offset + 7]);`;case 2:return`
2034          let a_data0 = vec4<${RA}>(sub_a[word_offset], sub_a[word_offset + 1]);
2035          let a_data1 = vec4<${RA}>(sub_a[word_offset + 2], sub_a[word_offset + 3]);`;case 4:return`
2036          let a_data0 = sub_a[word_offset];
2037          let a_data1 = sub_a[word_offset + 1];`;default:throw new Error(`${Ee}-component is not supported.`)}})()}
2038              let b_value = ${te===1?"b_data":"b_data[i]"};
2039              let b_value_lower = unpack4xU8(b_value & 0x0F0F0F0Fu);
2040              let b_value_upper = unpack4xU8((b_value >> 4) & 0x0F0F0F0Fu);
2041              let b_quantized_values = mat2x4<${RA}>(${Array.from({length:4},(UA,us)=>`${RA}(b_value_lower[${us}]), ${RA}(b_value_upper[${us}])`).join(", ")});
2042              let b_dequantized_values = (b_quantized_values - mat2x4<${RA}>(${Array(8).fill("zero_point").join(",")})) * scale;
2043              inter_results[local_id.y][local_id.x] += ${Array.from({length:2},(UA,us)=>`dot(a_data${us}, b_dequantized_values[${us}])`).join(" + ")};
2044              word_offset += ${8/Ee};
2045            }
2046            workgroupBarrier();
2047          }
2048
2049          if (local_idx < ${Fe}) {
2050            var output_value: ${ZA.type.value} = ${ZA.type.value}(0);
2051            for (var b = 0u; b < ${Ke}; b++) {
2052              output_value += inter_results[local_idx][b];
2053            }
2054            if (col + local_idx < uniforms.output_shape[2])
2055            {
2056              ${ZA.setByIndices(`${ZA.type.indices}(batch, row, col + local_idx)`,"output_value")}
2057            }
2058          }
2059        }`}}},Gc=(u,I)=>{Mc(u.inputs,I),I.blockSize===32&&u.adapterInfo.isVendor("intel")&&u.adapterInfo.isArchitecture("gen-12lp")?u.compute(e1(u.inputs,I)):u.compute(Dc(u.inputs,I))},_c=u=>yt(u)}),Ir=pe(()=>{Cr(),Mr(),Pr(),Tc=u=>{if(!u||u.length<1)throw new Error("Too few inputs");if(u[0].dataType!==1&&u[0].dataType!==10)throw new Error("Input type must be float or float16.");if(u.length>=2){let I=2*u[0].dims.length===u[1].dims[0];if(u.length===4&&(I=2*u[3].dims[0]===u[1].dims[0]),!I)throw new Error("The pads should be a 1D tensor of shape [2 * input_rank] or [2 * num_axes].")}},E0=(u,I,x)=>{let S="";for(let L=I-1;L>=0;--L)S+=`
2060            k = i32(${u.indicesGet("indices",L)}) - ${zA("uniforms.pads",L,x)};
2061            if (k < 0) {
2062              break;
2063            }
2064            if (k >= i32(${zA("uniforms.x_shape",L,I)})) {
2065              break;
2066            }
2067            offset += k * i32(${zA("uniforms.x_strides",L,I)});
2068        `;return`
2069          value = ${u.type.value}(uniforms.constant_value);
2070          for (var i = 0; i < 1; i++) {
2071            var offset = 0;
2072            var k = 0;
2073            ${S}
2074            value = x[offset];
2075          }
2076      `},Qc=(u,I,x)=>{let S="";for(let L=I-1;L>=0;--L)S+=`
2077                k = i32(${u.indicesGet("indices",L)}) - ${zA("uniforms.pads",L,x)};
2078                if (k < 0) {
2079                  k = -k;
2080                }
2081                {
2082                  let _2n_1 = 2 * (i32(${zA("uniforms.x_shape",L,I)}) - 1);
2083                  k = k % _2n_1;
2084                  if(k >= i32(${zA("uniforms.x_shape",L,I)})) {
2085                    k = _2n_1 - k;
2086                  }
2087                }
2088                offset += k * i32(${zA("uniforms.x_strides",L,I)});
2089            `;return`
2090              var offset = 0;
2091              var k = 0;
2092              ${S}
2093              value = x[offset];
2094          `},Pc=(u,I,x)=>{let S="";for(let L=I-1;L>=0;--L)S+=`
2095                k = i32(${u.indicesGet("indices",L)}) - ${zA("uniforms.pads",L,x)};
2096                if (k < 0) {
2097                  k = 0;
2098                }
2099                if (k >= i32(${zA("uniforms.x_shape",L,I)})) {
2100                  k = i32(${zA("uniforms.x_shape",L,I)}) - 1;
2101                }
2102                offset += k * i32(${zA("uniforms.x_strides",L,I)});
2103            `;return`
2104              var offset = 0;
2105              var k = 0;
2106              ${S}
2107              value = x[offset];
2108          `},Sc=(u,I,x)=>{let S="";for(let L=I-1;L>=0;--L)S+=`
2109                k = i32(${u.indicesGet("indices",L)}) - ${zA("uniforms.pads",L,x)};
2110                if (k < 0)  {
2111                  k += i32(${zA("uniforms.x_shape",L,I)}]);
2112                }
2113                if (k >= i32(${zA("uniforms.x_shape",L,I)})) {
2114                  k -= i32(${zA("uniforms.x_shape",L,I)});
2115                }
2116                offset += k * i32(${zA("uniforms.x_strides",L,I)});
2117            `;return`
2118              var offset = 0;
2119              var k = 0;
2120              ${S}
2121              value = x[offset];
2122          `},Nc=(u,I,x)=>{switch(x.mode){case 0:return E0(u,I,x.pads.length);case 1:return Qc(u,I,x.pads.length);case 2:return Pc(u,I,x.pads.length);case 3:return Sc(u,I,x.pads.length);default:throw new Error("Invalid mode")}},zc=(u,I)=>{let x=gt.padShape(u[0].dims.slice(),I.pads),S=u[0].dims,L=[{type:12,data:gt.size(x)},{type:6,data:I.pads}],W=u.length>=3&&u[2].data;return I.mode===0&&L.push({type:W?u[2].dataType:1,data:I.value}),L.push(...QA(u[0].dims,x)),{name:"Pad",shaderCache:{hint:`${I.mode}${W}`,inputDependencies:["rank"]},getRunData:()=>({outputs:[{dims:x,dataType:u[0].dataType}],dispatchGroup:{x:Math.ceil(gt.size(x)/64)},programUniforms:L}),getShaderSource:Y=>{let Ae=PA("output",u[0].dataType,x.length),se=Wt("x",u[0].dataType,S.length),ne=se.type.value,ve=Nc(Ae,S.length,I),Ee=[{name:"output_size",type:"u32"},{name:"pads",type:"i32",length:I.pads.length}];return I.mode===0&&Ee.push({name:"constant_value",type:W?ne:"f32"}),`
2123            ${Y.registerUniforms(Ee).declareVariables(se,Ae)}
2124            ${Y.mainStart()}
2125            ${Y.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
2126
2127            let indices = ${Ae.offsetToIndices("global_idx")};
2128
2129            var value = ${ne}(0);
2130            ${ve}
2131            output[global_idx] = value;
2132        }`}}},Fc=(u,I)=>{if(u.length>1){let x=u[1].getBigInt64Array(),S=u.length>=3&&u[2].data?u[2].dataType===10?u[2].getUint16Array()[0]:u[2].getFloat32Array()[0]:0,L=u[0].dims.length,W=new Int32Array(2*L).fill(0);if(u.length>=4){let Ae=u[3].getBigInt64Array();for(let se=0;se<Ae.length;se++)W[Number(Ae[se])]=Number(x[se]),W[Number(Ae[se])+L]=Number(x[se+Ae.length])}else x.forEach((Ae,se)=>W[Number(se)]=Number(Ae));let Y=[];return W.forEach(Ae=>Y.push(Ae)),{mode:I.mode,value:S,pads:Y}}return I},Oc=(u,I)=>{Tc(u.inputs);let x=Fc(u.inputs,I);u.compute(zc(u.inputs,x),{inputs:[0]})}}),gs=pe(()=>{lt(),Cr(),Mr(),Pr(),c0=u=>{if(G.webgpu.validateInputContent&&(!u||u.length!==1))throw new Error("Pool ops requires 1 input.")},Lc=(u,I,x)=>{let S=I.format==="NHWC",L=u.dims.slice();S&&L.splice(1,0,L.pop());let W=Object.hasOwnProperty.call(I,"dilations"),Y=I.kernelShape.slice(),Ae=I.strides.slice(),se=W?I.dilations.slice():[],ne=I.pads.slice();mA.adjustPoolAttributes(x,L,Y,Ae,se,ne);let ve=mA.computePoolOutputShape(x,L,Ae,se,Y,ne,I.autoPad),Ee=Object.assign({},I);W?Object.assign(Ee,{kernelShape:Y,strides:Ae,pads:ne,dilations:se,cacheKey:I.cacheKey}):Object.assign(Ee,{kernelShape:Y,strides:Ae,pads:ne,cacheKey:I.cacheKey});let te=ve.slice();return te.push(te.splice(1,1)[0]),[Ee,S?te:ve]},Pl=(u,I)=>{let x=I.format==="NHWC",S=[{type:12,data:gt.size(u)},{type:12,data:gt.size(I.kernelShape)}],L=[{name:"outputSize",type:"u32"},{name:"kernelSize",type:"u32"}];if(I.kernelShape.length<=2){let W=I.kernelShape[I.kernelShape.length-1],Y=I.strides[I.strides.length-1],Ae=I.pads[I.pads.length/2-1],se=I.pads[I.pads.length-1],ne=!!(Ae+se);S.push({type:12,data:W},{type:12,data:Y},{type:12,data:Ae},{type:12,data:se}),L.push({name:"kw",type:"u32"},{name:"sw",type:"u32"},{name:"pwStart",type:"u32"},{name:"pwEnd",type:"u32"});let ve=!1;if(I.kernelShape.length===2){let Ee=I.kernelShape[I.kernelShape.length-2],te=I.strides[I.strides.length-2],Ge=I.pads[I.pads.length/2-2],Fe=I.pads[I.pads.length-2];ve=!!(Ge+Fe),S.push({type:12,data:Ee},{type:12,data:te},{type:12,data:Ge},{type:12,data:Fe}),L.push({name:"kh",type:"u32"},{name:"sh",type:"u32"},{name:"phStart",type:"u32"},{name:"phEnd",type:"u32"})}return[S,L,!0,ne,ve]}{if(x)throw new Error("Pooling with kernelShape.length > 2 is not supported for NHWC format.");let W=gt.computeStrides(I.kernelShape);S.push({type:12,data:W},{type:12,data:I.pads},{type:12,data:I.strides}),L.push({name:"kernelStrides",type:"u32",length:W.length},{name:"pads",type:"u32",length:I.pads.length},{name:"strides",type:"u32",length:I.strides.length});let Y=I.pads.reduce((Ae,se)=>Ae+se);return[S,L,!!Y,!1,!1]}},Sl=(u,I,x,S,L,W,Y,Ae,se,ne,ve,Ee)=>{let te=L.format==="NHWC",Ge=I.type.value,Fe=PA("output",I.type.tensor,S);if(L.kernelShape.length<=2){let Ke="",Ye="",et="",ft=x-(te?2:1);if(Ke=ve?`
2133                for (var i: u32 = 0u; i < uniforms.kw; i++) {
2134                  xIndices[${ft}] = indices[${ft}] * uniforms.sw - uniforms.pwStart + i;
2135                  if (xIndices[${ft}] < 0 || xIndices[${ft}]
2136                      >= uniforms.x_shape[${ft}]) {
2137                    pad++;
2138                    continue;
2139                  }
2140                  let x_val = x[${I.indicesToOffset("xIndices")}];
2141                  ${W}
2142                }`:`
2143                for (var i: u32 = 0u; i < uniforms.kw; i++) {
2144                  xIndices[${ft}] = indices[${ft}] * uniforms.sw - uniforms.pwStart + i;
2145                  let x_val = x[${I.indicesToOffset("xIndices")}];
2146                  ${W}
2147                }`,L.kernelShape.length===2){let bt=x-(te?3:2);Ye=Ee?`
2148                for (var j: u32 = 0u; j < uniforms.kh; j++) {
2149                  xIndices[${bt}] = indices[${bt}] * uniforms.sh - uniforms.phStart + j;
2150                  if (xIndices[${bt}] < 0 || xIndices[${bt}] >= uniforms.x_shape[${bt}]) {
2151                    pad += i32(uniforms.kw);
2152                    continue;
2153                  }
2154              `:`
2155                for (var j: u32 = 0u; j < uniforms.kh; j++) {
2156                  xIndices[${bt}] = indices[${bt}] * uniforms.sh - uniforms.phStart + j;
2157                `,et=`
2158              }
2159            `}return`
2160            ${u.registerUniforms(se).declareVariables(I,Fe)}
2161
2162            ${u.mainStart()}
2163              ${u.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
2164
2165              let indices = ${Fe.offsetToIndices("global_idx")};
2166              var xIndices = ${Fe.offsetToIndices("global_idx")};
2167
2168              var value = ${Ge}(${Ae});
2169              var pad = 0;
2170              ${Ye}
2171              ${Ke}
2172              ${et}
2173              ${Y}
2174
2175              output[global_idx] = value;
2176            }`}{if(te)throw new Error("Pooling with kernelShape.length > 2 is not supported for NHWC format.");let Ke=L.kernelShape.length,Ye=L.pads.length,et="";return et=ne?`
2177                if (xIndices[j] >= uniforms.x_shape[j]) {
2178                  pad++;
2179                  isPad = true;
2180                  break;
2181                }
2182              }
2183              if (!isPad) {
2184                let x_val = x[${I.indicesToOffset("xIndices")}];
2185                ${W}
2186              }`:`
2187              }
2188              let x_val = x[${I.indicesToOffset("xIndices")}];
2189              ${W}
2190            `,`
2191            ${u.registerUniforms(se).declareVariables(I,Fe)}
2192
2193            ${u.mainStart()}
2194              ${u.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
2195              let indices = ${Fe.offsetToIndices("global_idx")};
2196              var xIndices = ${Fe.offsetToIndices("global_idx")};
2197
2198              var offsets: array<u32, ${Ke}>;
2199
2200              var value = ${Ge}(${Ae});
2201              var pad = 0;
2202              var isPad = false;
2203
2204              for (var i: u32 = 0u; i < uniforms.kernelSize; i++) {
2205                var offset = i;
2206                for (var j = 0u; j < ${Ke-1}u; j++) {
2207                  offsets[j] = offset / ${zA("uniforms.kernelStrides","j",Ke)};
2208                  offset -= offsets[j] * ${zA("uniforms.kernelStrides","j",Ke)};
2209                }
2210                offsets[${Ke-1}] = offset;
2211
2212                isPad = false;
2213                for (var j = ${x-Ke}u; j < ${x}u; j++) {
2214                  xIndices[j] = indices[j] * ${zA("uniforms.strides",`j - ${x-Ke}u`,Ke)}
2215                    + offsets[j - ${x-Ke}u] - ${zA("uniforms.pads","j - 2u",Ye)};
2216                  ${et}
2217              }
2218              ${Y}
2219
2220              output[global_idx] = value;
2221            }`}},Nl=u=>`${u.format};${u.ceilMode};${u.autoPad};${u.kernelShape.length}`,Vc=u=>`${Nl(u)};${u.countIncludePad}`,Hc=u=>`${Nl(u)};${u.storageOrder};${u.dilations}`,ol=u=>({format:u.format,autoPad:["NOTSET","VALID","SAME_UPPER","SAME_LOWER"][u.auto_pad],ceilMode:u.ceil_mode,kernelShape:u.kernel_shape,strides:u.strides,pads:u.pads}),zl=(u,I,x,S)=>{let[L,W]=Lc(I,S,x),Y=Wt("x",I.dataType,I.dims.length),Ae=Y.type.value,se="";L.countIncludePad?se+=`value /= ${Ae}(uniforms.kernelSize);`:se+=`value /= ${Ae}(i32(uniforms.kernelSize) - pad);`;let[ne,ve,Ee,te,Ge]=Pl(W,L);return ne.push(...QA(I.dims,W)),{name:u,shaderCache:{hint:`${S.cacheKey};${Ee};${te};${Ge}`,inputDependencies:["rank"]},getRunData:()=>({outputs:[{dims:W,dataType:I.dataType}],dispatchGroup:{x:Math.ceil(gt.size(W)/64)},programUniforms:ne}),getShaderSource:Fe=>Sl(Fe,Y,I.dims.length,W.length,L,"value += x_val;",se,0,ve,Ee,te,Ge)}},Yc=u=>{let I=u.count_include_pad!==0,x=ol(u);if(x.ceilMode!==0)throw new Error("using ceil() in shape computation is not yet supported for AveragePool");let S={countIncludePad:I,...x,cacheKey:""};return{...S,cacheKey:Vc(S)}},Fl=(u,I)=>{c0(u.inputs),u.compute(zl("AveragePool",u.inputs[0],!1,I))},Ol={autoPad:"",ceilMode:0,countIncludePad:!1,kernelShape:[],strides:[],pads:[],storageOrder:0,dilations:[]},Rc=u=>{let I=u.format;return{format:I,...Ol,cacheKey:I}},Ll=(u,I)=>{c0(u.inputs),u.compute(zl("GlobalAveragePool",u.inputs[0],!0,I))},Vl=(u,I,x,S)=>{let[L,W]=Lc(I,S,x),Y=Wt("x",I.dataType,I.dims.length),[Ae,se,ne,ve,Ee]=Pl(W,L);return Ae.push(...QA(I.dims,W)),{name:u,shaderCache:{hint:`${S.cacheKey};${ne};${ve};${Ee}`,inputDependencies:["rank"]},getRunData:()=>({outputs:[{dims:W,dataType:I.dataType}],dispatchGroup:{x:Math.ceil(gt.size(W)/64)},programUniforms:Ae}),getShaderSource:te=>Sl(te,Y,I.dims.length,W.length,L,`
2222      value = max(x_val, value);
2223    `,"",I.dataType===10?-65504:-1e5,se,ne,ve,Ee)}},jc=(u,I)=>{c0(u.inputs),u.compute(Vl("MaxPool",u.inputs[0],!1,I))},ll=u=>{let I=u.storage_order,x=u.dilations,S=ol(u);if(I!==0)throw new Error("column major storage order is not yet supported for MaxPool");if(S.ceilMode!==0)throw new Error("using ceil() in shape computation is not yet supported for MaxPool");let L={storageOrder:I,dilations:x,...S,cacheKey:""};return{...L,cacheKey:Hc(L)}},Wc=u=>{let I=u.format;return{format:I,...Ol,cacheKey:I}},Uc=(u,I)=>{c0(u.inputs),u.compute(Vl("GlobalMaxPool",u.inputs[0],!0,I))}}),yr=pe(()=>{Cr(),Mr(),Ia(),Pr(),Kc=(u,I)=>{if(u.length<2||u.length>3)throw new Error("DequantizeLinear requires 2 or 3 inputs.");if(u.length===3&&u[1].dims===u[2].dims)throw new Error("x-scale and x-zero-point must have the same shape.");if(u.length===3&&u[0].dataType!==u[2].dataType)throw new Error("x and x-zero-point must have the same data type.");if(u[0].dataType===6&&u.length>2)throw new Error("In the case of dequantizing int32 there is no zero point.");if(u[1].dims.length!==0&&u[1].dims.length!==1&&u[1].dims.length!==u[0].dims.length)throw new Error("scale input must be a scalar, a 1D tensor, or have the same rank as the input tensor.");if(u.length>2){if(u[0].dataType!==u[2].dataType)throw new Error("x and x-zero-point must have the same data type.");if(u[1].dims.length!==u[2].dims.length)throw new Error("scale and zero-point inputs must have the same rank.");if(!u[1].dims.map((x,S)=>x===u[2].dims[S]).reduce((x,S)=>x&&S,!0))throw new Error("scale and zero-point inputs must have the same shape.")}if(I.blockSize>0){if(u[1].dims.length===0||u[1].dims.length===1&&u[1].dims[0]===1)throw new Error("blockSize must be set only for block quantization.");if(!u[1].dims.map((L,W)=>W===I.axis||L===u[0].dims[W]).reduce((L,W)=>L&&W,!0))throw new Error("For block qunatization, scale input shape to match the input shape except for the axis");if(u[1].dims.length!==u[0].dims.length)throw new Error("For block qunatization the scale input rank must be the same as the x rank.");let x=u[0].dims[I.axis],S=u[1].dims[I.axis];if(I.blockSize<Math.ceil(x/S)||I.blockSize>Math.ceil(x/(S-1)-1))throw new Error("blockSize must be with in the range [ceil(dI / Si), ceil(dI / (Si - 1) - 1)].")}},Zc=(u,I)=>{let x=gt.normalizeAxis(I.axis,u[0].dims.length),S=u[0].dataType,L=S===3,W=u[0].dims,Y=u[1].dataType,Ae=gt.size(W),se=S===3||S===2,ne=se?[Math.ceil(gt.size(u[0].dims)/4)]:u[0].dims,ve=u[1].dims,Ee=u.length>2?u[2]:void 0,te=Ee?se?[Math.ceil(gt.size(Ee.dims)/4)]:Ee.dims:void 0,Ge=ve.length===0||ve.length===1&&ve[0]===1,Fe=Ge===!1&&ve.length===1,Ke=Qr(Ae),Ye=Ge&&(!se||Ke===4),et=Ye?Ke:1,ft=Ye&&!se?Ke:1,bt=Wt("input",se?12:S,ne.length,ft),Mt=Wt("scale",Y,ve.length),Dt=Ee?Wt("zero_point",se?12:S,te.length):void 0,Nt=PA("output",Y,W.length,et),pA=[bt,Mt];Dt&&pA.push(Dt);let xA=[ne,ve];Ee&&xA.push(te);let ar=[{type:12,data:Ae/et},{type:12,data:x},{type:12,data:I.blockSize},...QA(...xA,W)];return{name:"DequantizeLinear",shaderCache:{hint:I.cacheKey,inputDependencies:Dt?["rank","rank","rank"]:["rank","rank"]},getShaderSource:nr=>`
2224      ${nr.registerUniforms([{name:"output_size",type:"u32"},{name:"axis",type:"u32"},{name:"block_size",type:"u32"}]).declareVariables(...pA,Nt)}
2225      ${nr.mainStart()}
2226          ${nr.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
2227          let output_indices = ${Nt.offsetToIndices("global_idx")};
2228
2229          // Set input x
2230          ${se?`
2231            let input = ${bt.getByOffset("global_idx / 4")};
2232            let x_vec = ${L?"unpack4xI8(input)":"unpack4xU8(input)"};
2233            let x_value = ${et===1?"x_vec[global_idx % 4]":"x_vec"};`:`let x_value = ${bt.getByOffset("global_idx")};`};
2234
2235          // Set scale input
2236          ${Ge?`let scale_value= ${Mt.getByOffset("0")}`:Fe?`
2237            let scale_index = ${Nt.indicesGet("output_indices","uniforms.axis")};
2238            let scale_value= ${Mt.getByOffset("scale_index")};`:`
2239            var scale_indices: ${Mt.type.indices} = output_indices;
2240            let index = ${Mt.indicesGet("scale_indices","uniforms.axis")} / uniforms.block_size;
2241            ${Mt.indicesSet("scale_indices","uniforms.axis","index")};
2242            let scale_value= ${Mt.getByIndices("scale_indices")};`};
2243
2244          // Set zero-point input
2245          ${Dt?Ge?se?`
2246                let zero_point_input = ${Dt.getByOffset("0")};
2247                let zero_point_vec =  ${L?"unpack4xI8(zero_point_input)":"unpack4xU8(zero_point_input)"};
2248                let zero_point_value= zero_point_vec[0]`:`let zero_point_value = ${Dt.getByOffset("0")}`:Fe?se?`
2249                let zero_point_index = ${Nt.indicesGet("output_indices","uniforms.axis")};
2250                let zero_point_input = ${Dt.getByOffset("zero_point_index / 4")};
2251                let zero_point_vec =  ${L?"unpack4xI8(zero_point_input)":"unpack4xU8(zero_point_input)"};
2252                let zero_point_value = zero_point_vec[zero_point_index % 4]`:`
2253                let zero_point_index = ${Nt.indicesGet("output_indices","uniforms.axis")};
2254                let zero_point_value = ${Dt.getByOffset("zero_point_index")};`:se?`
2255                let zero_point_offset = ${Mt.indicesToOffset("scale_indices")};
2256                let zero_point_input = ${Dt.getByOffset("zero_point_offset / 4")};
2257                let zero_point_vec = ${L?"unpack4xI8(zero_point_input)":"unpack4xU8(zero_point_input)"};
2258                let zero_point_value = zero_point_vec[zero_point_offset % 4];`:`let zero_point_value = ${Dt.getByIndices("scale_indices")};`:`let zero_point_value = ${se?L?"i32":"u32":bt.type.value}(0);`};
2259      // Compute and write output
2260      ${Nt.setByOffset("global_idx",`${Nt.type.value}(x_value - zero_point_value) * scale_value`)};
2261      }`,getRunData:()=>({outputs:[{dims:W,dataType:Y}],dispatchGroup:{x:Math.ceil(Ae/et/64),y:1,z:1},programUniforms:ar})}},Hl=(u,I)=>{Kc(u.inputs,I),u.compute(Zc(u.inputs,I))},cl=u=>yt({axis:u.axis,blockSize:u.blockSize})}),_r=pe(()=>{lt(),Cr(),Pr(),t1=(u,I,x)=>{if(u===I||u<I&&x<0||u>I&&x>0)throw new Error("Range these inputs' contents are invalid.")},Xc=(u,I,x,S)=>{let L=Math.abs(Math.ceil((I-u)/x)),W=[L],Y=L,Ae=[{type:12,data:Y},{type:S,data:u},{type:S,data:x},...QA(W)];return{name:"Range",shaderCache:{hint:`${S}`},getShaderSource:se=>{let ne=PA("output",S,W.length),ve=ne.type.value,Ee=[{name:"outputSize",type:"u32"},{name:"start",type:ve},{name:"delta",type:ve}];return`
2262        ${se.registerUniforms(Ee).declareVariables(ne)}
2263        ${se.mainStart()}
2264        ${se.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
2265        output[global_idx] = uniforms.start + ${ve}(global_idx) * uniforms.delta;
2266      }`},getRunData:()=>({outputs:[{dims:W,dataType:S}],dispatchGroup:{x:Math.ceil(Y/64)},programUniforms:Ae})}},qc=u=>{let I=0,x=0,S=0;u.inputs[0].dataType===6?(I=u.inputs[0].getInt32Array()[0],x=u.inputs[1].getInt32Array()[0],S=u.inputs[2].getInt32Array()[0]):u.inputs[0].dataType===1&&(I=u.inputs[0].getFloat32Array()[0],x=u.inputs[1].getFloat32Array()[0],S=u.inputs[2].getFloat32Array()[0]),G.webgpu.validateInputContent&&t1(I,x,S),u.compute(Xc(I,x,S,u.inputs[0].dataType),{inputs:[]})}}),Sr=pe(()=>{Cr(),Mr(),Ia(),Pr(),Yl=(u,I,x,S)=>{if(u!=="none"&&S!=="i32"&&S!=="u32"&&S!=="f32")throw new Error(`Input ${S} is not supported with reduction ${u}.`);let L=`{
2267                var oldValue = 0;
2268                loop {
2269                  let newValueF32 =`,W=`;
2270                  let newValue = bitcast<i32>(newValueF32);
2271                  let res = atomicCompareExchangeWeak(&${I}, oldValue, newValue);
2272                  if res.exchanged {
2273                    break;
2274                  }
2275                  oldValue = res.old_value;
2276                }
2277              }`;switch(u){case"none":return`${I}=${x};`;case"add":return S==="i32"||S==="u32"?`atomicAdd(&${I}, bitcast<${S}>(${x}));`:`
2278              ${L}bitcast<${S}>(oldValue) + (${x})${W}`;case"max":return S==="i32"||S==="u32"?`atomicMax(&${I}, bitcast<${S}>(${x}));`:`
2279                ${L}max(bitcast<f32>(oldValue), (${x}))${W}`;case"min":return S==="i32"||S==="u32"?`atomicMin(&${I}, bitcast<${S}>(${x}));`:`${L}min(bitcast<${S}>(oldValue), (${x}))${W}`;case"mul":return`${L}(bitcast<${S}>(oldValue) * (${x}))${W}`;default:throw new Error(`Reduction ${u} is not supported.`)}},Jc=(u,I)=>{let x=u[0].dims,S=u[1].dims,L=x,W=Math.ceil(gt.size(S)/1),Y=S[S.length-1],Ae=gt.sizeFromDimension(x,Y),se=[{type:12,data:W},{type:12,data:Y},{type:12,data:Ae},...QA(u[1].dims,u[2].dims,L)];return{name:"ScatterND",shaderCache:{hint:`${I.cacheKey}_${I.reduction}`,inputDependencies:["rank","rank"]},getRunData:()=>({outputs:[{dims:L,dataType:u[0].dataType}],dispatchGroup:{x:Math.ceil(W/64)},programUniforms:se}),getShaderSource:ne=>{let ve=Wt("indices",u[1].dataType,u[1].dims.length),Ee=Wt("updates",u[2].dataType,u[2].dims.length,1),te=I.reduction!=="none"&&I.reduction!==""?ra("output",u[0].dataType,L.length):PA("output",u[0].dataType,L.length,1);return`
2280      ${ne.registerUniform("output_size","u32").registerUniform("last_index_dimension","u32").registerUniform("num_updates_elements","u32").declareVariables(ve,Ee,te)}
2281      ${ne.mainStart()}
2282        ${ne.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
2283  var data_offset = 0u;
2284  let indices_start = uniforms.last_index_dimension * global_idx;
2285  let indices_end = indices_start + uniforms.last_index_dimension;
2286  for (var i = indices_start; i < indices_end; i++) {
2287    var index = i32(indices[i].x);
2288    ${u[0].dims.length===1?`
2289    let element_count_dim = uniforms.output_strides;
2290    let dim_value = uniforms.output_shape;`:`
2291    let element_count_dim = uniforms.output_strides[i - indices_start];
2292    let dim_value = uniforms.output_shape[i - indices_start + uniforms.last_index_dimension];`}
2293    if (index >= 0) {
2294      if (index >= i32(dim_value)) {
2295        index = i32(dim_value - 1);
2296      }
2297    } else {
2298      if (index < -i32(dim_value)) {
2299        index = 0;
2300      } else {
2301        index += i32(dim_value);
2302      }
2303    }
2304    data_offset += u32((u32(index) * element_count_dim));
2305  }
2306
2307  for (var i = 0u; i < uniforms.num_updates_elements; i++) {
2308    let value = updates[uniforms.num_updates_elements * global_idx + i];
2309    ${Yl(I.reduction,"output[data_offset + i]","value",te.type.value)}
2310  }
2311
2312      }`}}},$c=u=>yt({reduction:u.reduction}),Rl=(u,I)=>{u.compute(Jc(u.inputs,I),{inputs:[u.inputs[1],u.inputs[2]],outputs:[]})}}),hs=pe(()=>{Cr(),Mr(),Ia(),Pr(),eu=(u,I)=>{if(u.every(x=>x>0||(()=>{throw new Error("Resize requires scales input values to be positive")})),u.length>0){if(I.mode==="linear"){if(!(u.length===2||u.length===3||u.length===4&&u[0]===1&&u[1]===1||u.length===4&&u[0]===1&&u[3]===1||u.length===5&&u[0]===1&&u[1]===1))throw new Error(`For linear mode, Resize requires scales to be 2D, 3D, 4D with either two outermost or one innermost and
2313            one outermost scale values equal to 1, or 5D with two outermost scale values equal to 1`)}else if(I.mode==="cubic"&&!(u.length===2||u.length===4&&u[0]===1&&u[1]===1||u.length===4&&u[0]===1&&u[3]===1))throw new Error("Resize requires scales input size to be 2 or 4 for cubic mode")}},tu=(u,I,x)=>{I.every(L=>L>=0&&L<x||(()=>{throw new Error("Resize requires axes input values to be positive and less than rank")}));let S=new Array(x).fill(1);return I.forEach((L,W)=>S[L]=u[W]),S},jl=(u,I,x,S,L,W)=>{let[Y,Ae,se]=x>10?[1,2,3]:[-1,u.length>1?1:-1,-1],ne=u[0].dims.length;if(Y>0&&u.length>Y&&u[Y].dims.length>0)u[Y].getFloat32Array().forEach(ve=>W.push(ve));else if(I.coordinateTransformMode==="tf_crop_and_resize")throw new Error("Resize requires RoI input to be specified when coordinateTransformMode is tfCropAndResize");if(Ae>0&&u.length>Ae&&u[Ae].dims.length===1&&u[Ae].dims[0]>0){if(u[Ae].getFloat32Array().forEach(ve=>S.push(ve)),S.length!==0&&S.length!==ne&&x>=18&&S.length!==I.axes.length)throw new Error("Resize requires scales input size to be same as input rank or axes size for opset 18 and up");eu(S,I),I.axes.length>0&&tu(S,I.axes,ne).forEach((ve,Ee)=>S[Ee]=ve)}if(se>0&&u.length>se&&u[se].dims.length===1&&u[se].dims[0]>0&&(u[se].getBigInt64Array().forEach(ve=>L.push(Number(ve))),L.length!==0&&L.length!==ne&&x>=18&&L.length!==I.axes.length))throw new Error("Resize requires sizes input size to be same as input rank or axes size for opset 18 and up");if(I.axes.length>0){if(S.length!==0&&S.length!==I.axes.length)throw new Error('Resize requires "scales" input size to be of axes rank when axes attributes is specified');if(L.length!==0&&L.length!==I.axes.length)throw new Error('Resize requires "sizes" input size to be of rank axes rank when axes attributes is specified')}if(typeof S<"u"&&typeof L<"u"&&S.length>0&&L.length>ne)throw new Error("Resize requires only of scales or sizes to be specified")},Au=(u,I,x,S)=>`
2314  // The whole part and the fractional part are calculated separately due to inaccuracy of floating
2315  // point division. As an example, f32(21) / f32(7) may evaluate to 2.99... instead of 3, causing an
2316  // offset-by-one error later in floor().
2317  let big = (${u}) * (${I});
2318  let whole = ${S}(big / (${x}));
2319  let fract = ${S}(big % (${x})) / ${S}(${x});
2320  return whole + fract;
2321`,A1=(u,I)=>`fn getOriginalCoordinateFromResizedCoordinate(xResized: u32, xScale: f32, lengthResized: u32,
2322     lengthOriginal: u32, roiStart: f32, roiEnd: f32) -> ${I} { `+(()=>{switch(u){case"asymmetric":return`
2323          if (xScale < 1.0 || floor(xScale) != xScale) {
2324            return ${I}(xResized) / ${I}(xScale);
2325          } else {
2326            ${Au("xResized","lengthOriginal","lengthResized",I)}
2327          }
2328        `;case"pytorch_half_pixel":return`if (lengthResized > 1) {
2329                    return (${I}(xResized) + 0.5) / ${I}(xScale) - 0.5;
2330                  } else {
2331                    return 0.0;
2332                  }`;case"tf_half_pixel_for_nn":return`return (${I}(xResized) + 0.5) / ${I}(xScale);`;case"align_corners":return`if (lengthResized == 1) {
2333                    return 0.0;
2334                  } else {
2335                    ${Au("xResized","lengthOriginal - 1","lengthResized - 1",I)}
2336                  }`;case"tf_crop_and_resize":return`if (lengthResized > 1) {
2337                    return ${I}(roiStart) * ${I}(lengthOriginal - 1) +
2338                        (${I}(xResized) * ${I}(roiEnd - roiStart) * ${I}(lengthOriginal - 1)) /
2339                        ${I}(lengthResized - 1);
2340                  } else {
2341                    return 0.5 * ${I}(roiStart + roiEnd) * ${I}(lengthOriginal - 1);
2342                  }`;case"half_pixel_symmetric":return`const outputWidth = ${I}xScale * ${I}(lengthResized);
2343                  const adjustment = ${I}(lengthResized) / outputWidth;
2344                  const center = ${I}(lengthOriginal) / 2;
2345                  const offset = center * (1 - adjustment);
2346                  return offset + ((${I}(xResized) + 0.5) / ${I}(xScale)) - 0.5;`;case"half_pixel":return`return ((${I}(xResized) + 0.5) / ${I}(xScale)) - 0.5;`;default:throw new Error(`Coordinate transform mode ${u} is not supported`)}})()+"}",Wl=(u,I,x)=>`fn getNearestPixelFromOriginal(xOriginal: ${x}, isDownSample: bool) -> ${x} {`+(()=>{switch(u){case"round_prefer_ceil":return"if (fract(xOriginal) == 0.5) {             return ceil(xOriginal);           } else {             return round(xOriginal);           }";case"floor":return"return floor(xOriginal);";case"ceil":return"return ceil(xOriginal);";case"round_prefer_floor":return"if (fract(xOriginal) == 0.5) {                     return floor(xOriginal);                   } else {                     return round(xOriginal);                   }";default:if(I<11)return"if (isDownSample)                     {                       return ceil(xOriginal);                     } else {                       return xOriginal;                     }";throw new Error(`Nearest mode ${u} is not supported`)}})()+"}",Ul=(u,I,x)=>{let S=new Array(x).fill(0).concat(new Array(x).fill(1)),L=u.length===0?S:u.slice();return I.length>0?(I.forEach((W,Y)=>{S[W]=L[Y],S[Y+x]=L[I.length+Y]}),S):L},ru=(u,I,x,S)=>{let L=[];if(x.length>0)if(S.length>0){if(u.forEach(W=>L.push(W)),Math.max(...S)>u.length)throw new Error("axes is out of bound");S.forEach((W,Y)=>L[W]=x[Y])}else x.forEach(W=>L.push(W));else{if(I.length===0)throw new Error("Resize requires either scales or sizes.");L=u.map((W,Y)=>Math.round(W*I[Y]))}return L},su=(u,I,x)=>{let S=(()=>{switch(x.keepAspectRatioPolicy){case"not_larger":return x.axes.length>0?Math.min(...x.axes.map(W=>I[W]),Number.MAX_VALUE):Math.min(...I,Number.MAX_VALUE);case"not_smaller":return x.axes.length>0?Math.max(...x.axes.map(W=>I[W]),Number.MIN_VALUE):Math.max(...I,Number.MIN_VALUE);default:throw new Error(`Keep aspect ratio policy ${x.keepAspectRatioPolicy} is not supported`)}})();I.fill(1,0,I.length);let L=u.slice();return x.axes.length>0?(x.axes.forEach(W=>I[W]=S),x.axes.forEach(W=>L[W]=Math.round(u[W]*I[W]))):(I.fill(S,0,I.length),L.forEach((W,Y)=>L[Y]=Math.round(W*I[Y]))),L},Kl=(u,I,x,S,L)=>`
2347    fn calculateOriginalIndicesFromOutputIndices(output_indices: ${u.type.indices}) -> array<${u.type.value}, ${x.length}> {
2348      var original_indices: array<${u.type.value}, ${x.length}>;
2349      for (var i:u32 = 0; i < ${x.length}; i++) {
2350        var output_index = ${u.indicesGet("output_indices","i")};
2351        var scale = ${zA("uniforms.scales","i",S)};
2352        var roi_low = ${zA("uniforms.roi","i",L)};
2353        var roi_hi = ${zA("uniforms.roi",`i + ${I.length}`,L)};
2354        if (scale == 1.0) {
2355          original_indices[i] = ${u.type.value}(output_index);
2356        } else {
2357          var input_shape_i = ${zA("uniforms.input_shape","i",I.length)};
2358          var output_shape_i = ${zA("uniforms.output_shape","i",x.length)};
2359          original_indices[i] = getOriginalCoordinateFromResizedCoordinate(output_index, scale, output_shape_i,
2360                                                                           input_shape_i, roi_low, roi_hi);
2361        }
2362      }
2363      return original_indices;
2364    }`,au=(u,I,x,S,L,W,Y)=>`
2365    fn calculateInputIndicesFromOutputIndices(output_indices: ${I.type.indices}) -> ${u.type.indices} {
2366      var input_indices: ${u.type.indices};
2367      for (var i:u32 = 0; i < ${S.length}; i++) {
2368        var output_index = ${I.indicesGet("output_indices","i")};
2369        var input_index: u32;
2370        var scale = ${zA("uniforms.scales","i",L)};
2371        if (scale == 1.0) {
2372          input_index = output_index;
2373        } else {
2374          var roi_low = ${zA("uniforms.roi","i",W)};
2375          var roi_hi = ${zA("uniforms.roi",`i + ${x.length}`,W)};
2376          var input_shape_i = ${zA("uniforms.input_shape","i",x.length)};
2377          var output_shape_i = ${zA("uniforms.output_shape","i",S.length)};
2378          var original_idx = getOriginalCoordinateFromResizedCoordinate(output_index, scale, output_shape_i,
2379                                                                        input_shape_i, roi_low, roi_hi);
2380          if (!${Y} || (original_idx >= 0 && original_idx < ${I.type.value}(input_shape_i))) {
2381            if (original_idx < 0) {
2382              input_index = 0;
2383            } else if (original_idx > ${I.type.value}(input_shape_i - 1)) {
2384              input_index = input_shape_i - 1;
2385            } else {
2386              input_index = u32(getNearestPixelFromOriginal(original_idx, scale < 1));
2387            }
2388          } else {
2389            input_index = u32(original_idx);
2390          }
2391        }
2392        ${u.indicesSet("input_indices","i","input_index")}
2393      }
2394      return input_indices;
2395    }`,nu=(u,I)=>`
2396    fn checkInputIndices(input_indices: ${u.type.indices}) -> bool {
2397      for (var i:u32 = 0; i < ${I.length}; i++) {
2398        var input_index = ${u.indicesGet("input_indices","i")};
2399        if (input_index < 0 || input_index >= ${zA("uniforms.input_shape","i",I.length)}) {
2400          return false;
2401        }
2402      }
2403      return true;
2404    }`,ul=(u,I,x,S)=>u.rank>S?`
2405    ${u.indicesSet("input_indices",I,"channel")};
2406    ${u.indicesSet("input_indices",x,"batch")};
2407`:"",iu=(u,I,x,S,L)=>{let[W,Y,Ae,se]=x.length===2?[-1,0,1,-1]:[0,2,3,1],ne=u.type.value;return`
2408    fn getInputValue(batch: u32, channel: u32, row: u32, col: u32) -> ${ne} {
2409      var input_indices: ${u.type.indices};
2410      ${u.indicesSet("input_indices",Y,`max(0, min(row, ${x[Y]} - 1))`)};
2411      ${u.indicesSet("input_indices",Ae,`max(0, min(col, ${x[Ae]} - 1))`)};
2412      ${ul(u,se,W,2)}
2413      return ${u.getByIndices("input_indices")};
2414    }
2415
2416    fn bilinearInterpolation(output_indices: ${I.type.indices}) -> ${ne} {
2417      var originalIndices = calculateOriginalIndicesFromOutputIndices(output_indices);
2418      var row:${ne} = originalIndices[${Y}];
2419      var col:${ne} = originalIndices[${Ae}];
2420      ${S?`if (row < 0 || row > (${x[Y]} - 1) || col < 0 || col > (${x[Ae]} - 1)) {
2421        return ${L};
2422      }`:""};
2423      row = max(0, min(row, ${x[Y]} - 1));
2424      col = max(0, min(col, ${x[Ae]} - 1));
2425      var row1: u32 = u32(row);
2426      var col1: u32 = u32(col);
2427      var row2: u32 = u32(row + 1);
2428      var col2: u32 = u32(col + 1);
2429      var channel: u32 = ${x.length>2?`u32(originalIndices[${se}])`:"0"};
2430      var batch: u32 =  ${x.length>2?`u32(originalIndices[${W}])`:"0"};
2431      var x11: ${ne} = getInputValue(batch, channel, row1, col1);
2432      var x12: ${ne} = getInputValue(batch, channel, row1, col2);
2433      var x21: ${ne} = getInputValue(batch, channel, row2, col1);
2434      var x22: ${ne} = getInputValue(batch, channel, row2, col2);
2435      var dx1: ${ne} = abs(row - ${ne}(row1));
2436      var dx2: ${ne} = abs(${ne}(row2) - row);
2437      var dy1: ${ne} = abs(col - ${ne}(col1));
2438      var dy2: ${ne} = abs(${ne}(col2) - col);
2439      if (row1 == row2) {
2440        dx1 = 0.5;
2441        dx2 = 0.5;
2442      }
2443      if (col1 == col2) {
2444        dy1 = 0.5;
2445        dy2 = 0.5;
2446      }
2447      return (x11 * dx2 * dy2 + x12 * dx2 * dy1 + x21 * dx1 * dy2 + x22 * dx1 * dy1);
2448    }`},ou=(u,I,x,S,L,W,Y,Ae,se,ne)=>{let ve=x.length===2,[Ee,te]=ve?[0,1]:[2,3],Ge=u.type.value,Fe=Ke=>{let Ye=Ke===Ee?"row":"col";return`
2449      fn ${Ye}CubicInterpolation(input_indices: ${u.type.indices}, output_indices: ${I.type.indices}) -> ${Ge} {
2450        var output_index = ${I.indicesGet("output_indices",Ke)};
2451        var originalIdx: ${Ge} = getOriginalCoordinateFromResizedCoordinate(output_index, ${L[Ke]},
2452        ${S[Ke]}, ${x[Ke]}, ${W[Ke]}, ${W[Ke]} + ${x.length});
2453        var fractOriginalIdx: ${Ge} = originalIdx - floor(originalIdx);
2454        var coefs = getCubicInterpolationCoefs(fractOriginalIdx);
2455
2456        if (${Ae} && (originalIdx < 0 || originalIdx > (${x[Ke]} - 1))) {
2457          return ${se};
2458        }
2459        var data: array<${Ge}, 4> = array<${Ge}, 4>(0.0, 0.0, 0.0, 0.0);
2460        for (var i: i32 = -1; i < 3; i++) {
2461          var ${Ye}: ${Ge} = originalIdx + ${Ge}(i);
2462          if (${Ye} < 0 || ${Ye} >= ${x[Ke]}) {
2463            ${ne?`coefs[i + 1] = 0.0;
2464                        continue;`:Ae?`return ${se};`:`${Ye} = max(0, min(${Ye}, ${x[Ke]} - 1));`};
2465          }
2466        var input_indices_copy: ${u.type.indices} = input_indices;
2467          ${u.indicesSet("input_indices_copy",Ke,`u32(${Ye})`)};
2468          data[i + 1] = ${Ke===Ee?u.getByIndices("input_indices_copy"):"rowCubicInterpolation(input_indices_copy, output_indices)"};
2469        }
2470        return cubicInterpolation1D(data, coefs);
2471      }`};return`
2472    ${Fe(Ee)};
2473    ${Fe(te)};
2474  fn getCubicInterpolationCoefs(s: ${Ge}) -> array<${Ge}, 4> {
2475    var absS = abs(s);
2476    var coeffs: array<${Ge}, 4> = array<${Ge}, 4>(0.0, 0.0, 0.0, 0.0);
2477    var oneMinusAbsS: ${Ge} = 1.0 - absS;
2478    var twoMinusAbsS: ${Ge} = 2.0 - absS;
2479    var onePlusAbsS: ${Ge} = 1.0 + absS;
2480    coeffs[0] = ((${Y} * onePlusAbsS - 5 * ${Y}) * onePlusAbsS + 8 * ${Y}) * onePlusAbsS - 4 * ${Y};
2481    coeffs[1] = ((${Y} + 2) * absS - (${Y} + 3)) * absS * absS + 1;
2482    coeffs[2] = ((${Y} + 2) * oneMinusAbsS - (${Y} + 3)) * oneMinusAbsS * oneMinusAbsS + 1;
2483    coeffs[3] = ((${Y} * twoMinusAbsS - 5 * ${Y}) * twoMinusAbsS + 8 * ${Y}) * twoMinusAbsS - 4 * ${Y};
2484    return coeffs;
2485  }
2486
2487  fn cubicInterpolation1D(x: array<${Ge}, 4>, coefs: array<${Ge}, 4>) -> ${Ge} {
2488    var coefsSum: ${Ge} = coefs[0] + coefs[1] + coefs[2] + coefs[3];
2489    return (x[0] * coefs[0] + x[1] * coefs[1]+ x[2] * coefs[2]+ x[3] * coefs[3]) / coefsSum;
2490  }
2491
2492  fn bicubicInterpolation(output_indices: ${I.type.indices}) -> ${Ge} {
2493    var input_indices: ${u.type.indices} = output_indices;
2494    return colCubicInterpolation(input_indices, output_indices);
2495  }
2496    `},Zl=(u,I,x,S,L)=>{let[W,Y,Ae,se,ne]=x.length===3?[-1,0,1,2,-1]:[0,2,3,4,1],ve=u.type.value;return`
2497    fn getInputValue(batch: u32, channel: u32, depth:u32, height: u32, width: u32) -> ${ve} {
2498      var input_indices: ${u.type.indices};
2499      ${u.indicesSet("input_indices",Y,`max(0, min(depth, ${x[Y]} - 1))`)};
2500      ${u.indicesSet("input_indices",Ae,`max(0, min(height, ${x[Ae]} - 1))`)};
2501      ${u.indicesSet("input_indices",se,`max(0, min(width, ${x[se]} - 1))`)};
2502      ${ul(u,ne,W,3)}
2503      return ${u.getByIndices("input_indices")};
2504    }
2505
2506    fn trilinearInterpolation(output_indices: ${I.type.indices}) -> ${ve} {
2507      var originalIndices = calculateOriginalIndicesFromOutputIndices(output_indices);
2508      var depth:${ve} = originalIndices[${Y}];
2509      var height:${ve} = originalIndices[${Ae}];
2510      var width:${ve} = originalIndices[${se}];
2511      ${S?`if (depth < 0 || depth > (${x[Y]} - 1) || height < 0 || height > (${x[Ae]} - 1) || width < 0 || (width > ${x[se]} - 1)) {
2512      return ${L};
2513        }`:""};
2514
2515    depth = max(0, min(depth, ${x[Y]} - 1));
2516      height = max(0, min(height, ${x[Ae]} - 1));
2517      width = max(0, min(width, ${x[se]} - 1));
2518      var depth1: u32 = u32(depth);
2519      var height1: u32 = u32(height);
2520      var width1: u32 = u32(width);
2521      var depth2: u32 = u32(depth + 1);
2522      var height2: u32 = u32(height + 1);
2523      var width2: u32 = u32(width + 1);
2524      var channel: u32 = ${x.length>3?`u32(originalIndices[${ne}])`:"0"};
2525      var batch: u32 =  ${x.length>3?`u32(originalIndices[${W}])`:"0"};
2526
2527      var x111: ${ve} = getInputValue(batch, channel, depth1, height1, width1);
2528      var x112: ${ve} = getInputValue(batch, channel, depth1, height1, width2);
2529      var x121: ${ve} = getInputValue(batch, channel, depth1, height2, width1);
2530      var x122: ${ve} = getInputValue(batch, channel, depth1, height2, width2);
2531      var x211: ${ve} = getInputValue(batch, channel, depth2, height1, width1);
2532      var x212: ${ve} = getInputValue(batch, channel, depth2, height1, width2);
2533      var x221: ${ve} = getInputValue(batch, channel, depth2, height2, width1);
2534      var x222: ${ve} = getInputValue(batch, channel, depth2, height2, width2);
2535      var dx1: ${ve} = abs(depth - ${ve}(depth1));
2536      var dx2: ${ve} = abs(${ve}(depth2) - depth);
2537      var dy1: ${ve} = abs(height - ${ve}(height1));
2538      var dy2: ${ve} = abs(${ve}(height2) - height);
2539      var dz1: ${ve} = abs(width - ${ve}(width1));
2540      var dz2: ${ve} = abs(${ve}(width2) - width);
2541      if (depth1 == depth2) {
2542        dx1 = 0.5;
2543        dx2 = 0.5;
2544      }
2545      if (height1 == height2) {
2546        dy1 = 0.5;
2547        dy2 = 0.5;
2548      }
2549      if (width1 == width2) {
2550        dz1 = 0.5;
2551        dz2 = 0.5;
2552      }
2553      return (x111 * dx2 * dy2 * dz2 + x112 * dx2 * dy2 * dz1 + x121 * dx2 * dy1 *dz2 + x122 * dx2 * dy1 * dz1 +
2554              x211 * dx1 * dy2 * dz2 + x212 * dx1 * dy2 * dz1 + x221 * dx1 * dy1 *dz2 + x222 * dx1 * dy1 * dz1);
2555    }`},lu=(u,I,x,S,L,W)=>{let Y=u.dims,Ae=Ul(W,I.axes,Y.length),se=ru(Y,S,L,I.axes),ne=S.slice();S.length===0&&(ne=Y.map((et,ft)=>et===0?1:se[ft]/et),I.keepAspectRatioPolicy!=="stretch"&&(se=su(Y,ne,I)));let ve=PA("output",u.dataType,se.length),Ee=Wt("input",u.dataType,Y.length),te=gt.size(se),Ge=Y.length===se.length&&Y.every((et,ft)=>et===se[ft]),Fe=I.coordinateTransformMode==="tf_crop_and_resize",Ke=I.extrapolationValue,Ye=Ee.type.value;return{name:"Resize",shaderCache:{hint:`${I.cacheKey}|${x}|${ne.length>0?I.mode==="cubic"?ne:ne.length:""}|${L.length>0?L:""}|${Ae.length>0?Ae:""}|${Ge}|${I.mode==="nearest"?Y.length:Y}`,inputDependencies:["rank"]},getShaderSource:et=>`
2556      ${Ge?"":`
2557      ${A1(I.coordinateTransformMode,Ye)};
2558      ${(()=>{switch(I.mode){case"nearest":return`
2559              ${nu(Ee,Y)};
2560              ${Wl(I.nearestMode,x,Ye)};
2561              ${au(Ee,ve,Y,se,ne.length,Ae.length,Fe)};
2562              `;case"linear":return`
2563              ${Kl(ve,Y,se,ne.length,Ae.length)};
2564              ${(()=>{if(Y.length===2||Y.length===4)return`${iu(Ee,ve,Y,Fe,Ke)}`;if(Y.length===3||Y.length===5)return`${Zl(Ee,ve,Y,Fe,Ke)}`;throw Error("Linear mode only supports input dims 2, 3, 4 and 5 are supported in linear mode.")})()};
2565            `;case"cubic":return`
2566            ${(()=>{if(Y.length===2||Y.length===4)return`${ou(Ee,ve,Y,se,ne,Ae,I.cubicCoeffA,Fe,I.extrapolationValue,I.excludeOutside)}`;throw Error("Cubic mode only supports input dims 2 and 4 are supported in linear mode.")})()};
2567            `;default:throw Error("Invalid resize mode")}})()};
2568      `}
2569      ${et.registerUniform("output_size","u32").registerUniform("scales","f32",ne.length).registerUniform("roi","f32",Ae.length).declareVariables(Ee,ve)}
2570      ${et.mainStart()}
2571        ${et.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
2572        ${Ge?"output[global_idx] = input[global_idx];":`
2573        let output_indices = ${ve.offsetToIndices("global_idx")};
2574        var input_indices: ${Ee.type.indices};
2575        ${(()=>{switch(I.mode){case"nearest":return`input_indices = calculateInputIndicesFromOutputIndices(output_indices);
2576                if (checkInputIndices(input_indices)) {
2577                  output[global_idx] = ${Ee.getByIndices("input_indices")};
2578                } else {
2579                  output[global_idx] = ${I.extrapolationValue};
2580                }`;case"linear":return`output[global_idx] = ${Y.length===2||Y.length===4?"bilinearInterpolation":"trilinearInterpolation"}(output_indices);`;case"cubic":return"output[global_idx] = bicubicInterpolation(output_indices);";default:throw Error(`Unsupported resize mode: ${I.mode}`)}})()};
2581`}
2582      }`,getRunData:()=>({outputs:[{dims:se,dataType:u.dataType}],dispatchGroup:{x:Math.ceil(te/64)},programUniforms:[{type:12,data:te},{type:1,data:ne},{type:1,data:Ae},...QA(Y,se)]})}},cu=u=>{let I=u.customDataBuffer;return new Uint32Array(I,I.byteOffset,1)[0]},uu=(u,I)=>{let x=[],S=[],L=[],W=cu(u);if(I.antialias!==0)throw Error("Only default value (0) for Antialias attribute is supported");jl(u.inputs,I,W,x,S,L),u.compute(lu(u.inputs[0],I,W,x,S,L),{inputs:[0]})},fu=u=>{let I=u.antialias,x=u.axes,S=u.coordinateTransformMode,L=u.cubicCoeffA,W=u.excludeOutside!==0,Y=u.extrapolationValue,Ae=u.keepAspectRatioPolicy,se=u.mode,ne=u.nearestMode===""?"simple":u.nearestMode;return yt({antialias:I,axes:x,coordinateTransformMode:S,cubicCoeffA:L,excludeOutside:W,extrapolationValue:Y,keepAspectRatioPolicy:Ae,mode:se,nearestMode:ne})}}),ta=pe(()=>{Cr(),Mr(),Ia(),Pr(),du=(u,I)=>{let[x,S,L,W]=u,{numHeads:Y,rotaryEmbeddingDim:Ae}=I;if(x.dims.length!==3&&x.dims.length!==4)throw new Error(`Input 'x' is expected to have 3 or 4 dimensions, got ${x.dims.length}`);if(!gt.areEqual(S.dims,[])&&!gt.areEqual(S.dims,[1])&&S.dims.length!==2)throw new Error(`Input 'position_ids' is expected to have 0, 1, or 2 dimensions, got ${S.dims.length}`);if(L.dims.length!==2)throw new Error(`Input 'cos_cache' is expected to have 2 dimensions, got ${L.dims.length}`);if(W.dims.length!==2)throw new Error(`Input 'sin_cache' is expected to have 2 dimensions, got ${W.dims.length}`);if(!gt.areEqual(L.dims,W.dims))throw new Error("Inputs 'cos_cache' and 'sin_cache' are expected to have the same shape");if(Ae>0&&Y===0)throw new Error("num_heads must be provided if rotary_embedding_dim is specified");let se=x.dims[0],ne=x.dims[x.dims.length-2],ve=L.dims[0],Ee=gt.sizeFromDimension(x.dims,1)/ne,te=Ae===0?2*L.dims[1]:Ee/Y;if(Ae>te)throw new Error("rotary_embedding_dim must be less than or equal to head_size");if(S.dims.length===2){if(se!==S.dims[0])throw new Error(`Input 'position_ids' dimension 0 should be of size batch_size, got ${S.dims[0]}`);if(ne!==S.dims[1])throw new Error(`Input 'position_ids' dimension 1 should be of size sequence_length, got ${S.dims[1]}`)}if(te/2!==L.dims[1]&&Ae/2!==L.dims[1])throw new Error(`Input 'cos_cache' dimension 1 should be same as head_size / 2 or rotary_embedding_dim / 2, got ${L.dims[1]}`);if(ne>ve)throw new Error("Updating cos_cache and sin_cache in RotaryEmbedding is not currently supported")},gu=(u,I)=>{let{interleaved:x,numHeads:S,rotaryEmbeddingDim:L,scale:W}=I,Y=u[0].dims[0],Ae=gt.sizeFromDimension(u[0].dims,1),se=u[0].dims[u[0].dims.length-2],ne=Ae/se,ve=u[2].dims[1],Ee=L===0?2*ve:ne/S,te=new Array(Y,se,ne/Ee,Ee-ve),Ge=gt.computeStrides(te),Fe=[{type:1,data:W},{type:12,data:te},{type:12,data:Ge},...u[0].dims.length===3?new Array({type:12,data:[Ae,ne,Ee,1]}):[],...u[0].dims.length===4?new Array({type:12,data:[Ae,Ee,se*Ee,1]}):[],...QA(u[0].dims,u[1].dims,u[2].dims,u[3].dims,u[0].dims)];return{name:"RotaryEmbedding",shaderCache:{hint:yt({interleaved:x}).cacheKey,inputDependencies:["rank","rank","rank","rank"]},getShaderSource:Ke=>{let Ye=Wt("input",u[0].dataType,u[0].dims.length),et=Wt("position_ids",u[1].dataType,u[1].dims.length),ft=Wt("cos_cache",u[2].dataType,u[2].dims.length),bt=Wt("sin_cache",u[3].dataType,u[3].dims.length),Mt=PA("output",u[0].dataType,u[0].dims.length);return Ke.registerUniforms([{name:"scale",type:"f32"},{name:"global_shape",type:"u32",length:te.length},{name:"global_strides",type:"u32",length:Ge.length},{name:"input_output_strides",type:"u32",length:Ge.length}]),`
2583        ${Ke.declareVariables(Ye,et,ft,bt,Mt)}
2584
2585        ${Ke.mainStart(Tr)}
2586          let half_rotary_emb_dim = uniforms.${ft.name}_shape[1];
2587          let bsnh = global_idx / uniforms.global_strides % uniforms.global_shape;
2588          let size = uniforms.global_shape[0] * uniforms.global_strides[0];
2589          ${Ke.guardAgainstOutOfBoundsWorkgroupSizes("size")}
2590
2591          if (bsnh[3] < half_rotary_emb_dim) {
2592            let position_ids_idx =
2593                ${et.broadcastedIndicesToOffset("bsnh.xy",PA("",et.type.tensor,2))};
2594            let position_id =
2595                u32(${et.getByOffset("position_ids_idx")}) + select(0, bsnh[1], position_ids_idx == 0);
2596            let i = dot(bsnh, uniforms.input_output_strides) + select(0, bsnh[3], ${x});
2597            let j = i + select(half_rotary_emb_dim, 1, ${x});
2598            let re = ${Ye.getByOffset("i")} * ${ft.get("position_id","bsnh[3]")} -
2599                ${Ye.getByOffset("j")} * ${bt.get("position_id","bsnh[3]")};
2600            ${Mt.setByOffset("i","re")}
2601            let im = ${Ye.getByOffset("i")} * ${bt.get("position_id","bsnh[3]")} +
2602                ${Ye.getByOffset("j")} * ${ft.get("position_id","bsnh[3]")};
2603            ${Mt.setByOffset("j","im")}
2604          } else {
2605            let k = dot(bsnh, uniforms.input_output_strides) + half_rotary_emb_dim;
2606            ${Mt.setByOffset("k",Ye.getByOffset("k"))}
2607          }
2608        }`},getRunData:()=>({outputs:[{dims:u[0].dims,dataType:u[0].dataType}],dispatchGroup:{x:Math.ceil(gt.size(te)/Tr)},programUniforms:Fe})}},hu=(u,I)=>{du(u.inputs,I),u.compute(gu(u.inputs,I))}}),ia=pe(()=>{Cr(),Mr(),Pr(),pu=u=>{if(!u||u.length<3)throw new Error("layerNorm requires at least 3 inputs.");let I=u[0],x=u[1],S=u[2];if(I.dataType!==x.dataType||I.dataType!==S.dataType)throw new Error("All inputs must have the same data type");if(I.dims.length!==3&&I.dims.length!==2)throw new Error("Input must be 2D or 3D");if(x.dims.length!==3&&x.dims.length!==2)throw new Error("Skip must be 2D or 3D");let L=I.dims[I.dims.length-1],W=I.dims[I.dims.length-2];if(x.dims[x.dims.length-1]!==L)throw new Error("Skip must have the same hidden size as input");if(x.dims[x.dims.length-2]!==W)throw new Error("Skip must have the same sequence length as input");if(S.dims.length!==1)throw new Error("Gamma must be 1D");if(S.dims[S.dims.length-1]!==L)throw new Error("Gamma must have the same hidden size as input");if(u.length>3){let Y=u[3];if(Y.dims.length!==1)throw new Error("Beta must be 1D");if(Y.dims[Y.dims.length-1]!==L)throw new Error("Beta must have the same hidden size as input")}if(u.length>4){let Y=u[4];if(Y.dims.length!==1)throw new Error("Bias must be 1D");if(Y.dims[Y.dims.length-1]!==L)throw new Error("Bias must have the same hidden size as input")}},mu=(u,I,x,S)=>{let L=I.simplified,W=u[0].dims,Y=gt.size(W),Ae=W,se=Y,ne=W.slice(-1)[0],ve=S?W.slice(0,-1).concat(1):[],Ee=!L&&u.length>3,te=u.length>4,Ge=S&&x>1,Fe=S&&x>2,Ke=x>3,Ye=64,et=Qr(ne),ft=[{type:12,data:se},{type:12,data:et},{type:12,data:ne},{type:1,data:I.epsilon}],bt=[{dims:Ae,dataType:u[0].dataType}];return x>1&&bt.push({dims:ve,dataType:1}),x>2&&bt.push({dims:ve,dataType:1}),x>3&&bt.push({dims:W,dataType:u[0].dataType}),{name:"SkipLayerNormalization",shaderCache:{hint:`${et};${Ge};${Fe};${Ke}`,inputDependencies:u.map((Mt,Dt)=>"type")},getShaderSource:Mt=>{let Dt=[Wt("x",u[0].dataType,u[0].dims,et),Wt("skip",u[1].dataType,u[1].dims,et),Wt("gamma",u[2].dataType,u[2].dims,et)];Ee&&Dt.push(Wt("beta",u[3].dataType,u[3].dims,et)),te&&Dt.push(Wt("bias",u[4].dataType,u[4].dims,et)),Dt.push(PA("output",u[0].dataType,Ae,et)),Ge&&Dt.push(PA("mean_output",1,ve)),Fe&&Dt.push(PA("inv_std_output",1,ve)),Ke&&Dt.push(PA("input_skip_bias_sum",u[0].dataType,Ae,et));let Nt=fr(u[0].dataType),pA=fr(1,et);return`
2609
2610      ${Mt.registerUniforms([{name:"output_size",type:"u32"},{name:"components",type:"u32"},{name:"hidden_size",type:"u32"},{name:"epsilon",type:"f32"}]).declareVariables(...Dt)}
2611      var<workgroup> sum_shared : array<${pA}, 64>;
2612      var<workgroup> sum_squared_shared : array<${pA}, 64>;
2613
2614      ${Mt.mainStart([Ye,1,1])}
2615        let ix = local_id.x;
2616        let iy = global_id.x / 64;
2617
2618        let hidden_size_vectorized: u32 = uniforms.hidden_size / uniforms.components;
2619        var stride = hidden_size_vectorized / 64;
2620        let offset = ix * stride + iy * hidden_size_vectorized;
2621        let offset1d = stride * ix;
2622        if (ix == 63) {
2623          stride = hidden_size_vectorized - stride * ix;
2624        }
2625        for (var i: u32 = 0; i < stride; i++) {
2626          let skip_value = skip[offset + i];
2627          let bias_value = ${te?"bias[offset1d + i]":Nt+"(0.0)"};
2628          let input_value = x[offset + i];
2629          let value = input_value + skip_value + bias_value;
2630          ${Ke?"input_skip_bias_sum[offset + i] = value;":""}
2631          output[offset + i] = value;
2632          let f32_value = ${_s(Nt,et,"value")};
2633          sum_shared[ix] += f32_value;
2634          sum_squared_shared[ix] += f32_value * f32_value;
2635        }
2636        workgroupBarrier();
2637
2638        var reduce_size : u32 = 64;
2639        for (var curr_size = reduce_size >> 1;  curr_size > 0; curr_size = reduce_size >> 1) {
2640          reduce_size = curr_size + (reduce_size & 1);
2641          if (ix < curr_size) {
2642            sum_shared[ix] += sum_shared[ix + reduce_size];
2643            sum_squared_shared[ix] += sum_squared_shared[ix + reduce_size];
2644          }
2645          workgroupBarrier();
2646        }
2647
2648        let sum = sum_shared[0];
2649        let square_sum = sum_squared_shared[0];
2650        let mean = ${rs("sum",et)} / f32(uniforms.hidden_size);
2651        let inv_std_dev = inverseSqrt(${rs("square_sum",et)} / f32(uniforms.hidden_size) ${L?"":"- mean * mean"} + uniforms.epsilon);
2652        ${Ge?"mean_output[global_idx] = mean;":""}
2653        ${Fe?"inv_std_output[global_idx] = inv_std_dev;":""}
2654
2655        for (var i: u32 = 0; i < stride; i++) {
2656          output[offset + i] = (output[offset + i] ${L?"":`- ${Nt}(mean)`}) *
2657            ${Nt}(inv_std_dev) * gamma[offset1d + i]
2658            ${Ee?"+ beta[offset1d + i]":""};
2659        }
2660      }`},getRunData:()=>({outputs:bt,dispatchGroup:{x:Math.ceil(se/ne)},programUniforms:ft})}},Xl=(u,I)=>{pu(u.inputs);let x=[0];u.outputCount>1&&x.push(-3),u.outputCount>2&&x.push(-3),u.outputCount>3&&x.push(3),u.compute(mu(u.inputs,I,u.outputCount,!1),{outputs:x})}}),js=pe(()=>{Cr(),Mr(),Ia(),Pr(),bu=(u,I)=>{if(!u||u.length<1)throw new Error("too few inputs");if(I.axes.length!==0){if(I.axes.length!==I.starts.length||I.axes.length!==I.ends.length)throw new Error("axes, starts and ends must have the same length")}else if(I.starts.length!==I.ends.length)throw new Error("starts and ends must have the same length");u.slice(1).forEach((x,S)=>{if(u[S+1].dataType!==6&&u[S+1].dataType!==7)throw new Error(`Input ${S} must be an array of int32 or int64`)})},U0=(u,I)=>{let x=[];if(u.length>I)if(u[I].dataType===7)u[I].getBigInt64Array().forEach(S=>x.push(Number(S)));else{if(u[I].dataType!==6)throw new Error(`Input ${I} must be an array of int32 or int64`);u[I].getInt32Array().forEach(S=>x.push(Number(S)))}return x},ql=(u,I)=>{if(u.length>1){let x=U0(u,1),S=U0(u,2),L=U0(u,3);return L.length===0&&(L=[...Array(u[0].dims.length).keys()]),yt({starts:x,ends:S,axes:L})}return I},Jl=(u,I,x,S,L)=>{let W=u;return u<0&&(W+=x[S[I]]),L[I]<0?Math.max(0,Math.min(W,x[S[I]]-1)):Math.max(0,Math.min(W,x[S[I]]))},Cu=(u,I,x)=>`fn calculateInputIndices(output_indices: ${I.type.indices}) -> ${u.type.indices} {
2661          var input_indices: ${u.type.indices};
2662          var carry = 0u;
2663          for (var i = ${x.length}; i >= 0; i--) {
2664            let input_shape_i = ${zA("uniforms.input_shape","i",x.length)};
2665            let steps_i = ${zA("uniforms.steps","i",x.length)};
2666            let signs_i = ${zA("uniforms.signs","i",x.length)};
2667            let starts_i = ${zA("uniforms.starts","i",x.length)};
2668            var output_index = ${I.indicesGet("output_indices","i")};
2669            var input_index = output_index * steps_i + starts_i + carry;
2670            carry = input_index / input_shape_i;
2671            input_index = input_index % input_shape_i;
2672            if (signs_i < 0) {
2673              input_index = input_shape_i - input_index - 1u + starts_i;
2674            }
2675            ${u.indicesSet("input_indices","i","input_index")};
2676          }
2677          return input_indices;
2678      }`,Es=(u,I)=>{let x=u[0].dims,S=gt.size(x),L=I.axes.length>0?gt.normalizeAxes(I.axes,x.length):[...Array(x.length).keys()],W=U0(u,4);W.forEach(Ye=>Ye!==0||(()=>{throw new Error("step cannot be 0")})),W.length===0&&(W=Array(L.length).fill(1));let Y=I.starts.map((Ye,et)=>Jl(Ye,et,x,L,W)),Ae=I.ends.map((Ye,et)=>Jl(Ye,et,x,L,W));if(L.length!==Y.length||L.length!==Ae.length)throw new Error("start, ends and axes should have the same number of elements");if(L.length!==x.length)for(let Ye=0;Ye<x.length;++Ye)L.includes(Ye)||(Y.splice(Ye,0,0),Ae.splice(Ye,0,x[Ye]),W.splice(Ye,0,1));let se=W.map(Ye=>Math.sign(Ye));W.forEach((Ye,et,ft)=>{if(Ye<0){let bt=(Ae[et]-Y[et])/Ye,Mt=Y[et],Dt=Mt+bt*W[et];Y[et]=Dt,Ae[et]=Mt,ft[et]=-Ye}});let ne=x.slice(0);L.forEach((Ye,et)=>{ne[Ye]=Math.ceil((Ae[Ye]-Y[Ye])/W[Ye])});let ve={dims:ne,dataType:u[0].dataType},Ee=PA("output",u[0].dataType,ne.length),te=Wt("input",u[0].dataType,u[0].dims.length),Ge=gt.size(ne),Fe=[{name:"outputSize",type:"u32"},{name:"starts",type:"u32",length:Y.length},{name:"signs",type:"i32",length:se.length},{name:"steps",type:"u32",length:W.length}],Ke=[{type:12,data:Ge},{type:12,data:Y},{type:6,data:se},{type:12,data:W},...QA(u[0].dims,ne)];return{name:"Slice",shaderCache:{hint:`${se.length}_${Y.length}_${W.length}`,inputDependencies:["rank"]},getShaderSource:Ye=>`
2679      ${Ye.registerUniforms(Fe).declareVariables(te,Ee)}
2680        ${Cu(te,Ee,x)}
2681        ${Ye.mainStart()}
2682          ${Ye.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
2683          let output_indices = ${Ee.offsetToIndices("global_idx")};
2684          let input_indices = calculateInputIndices(output_indices);
2685          ${Ee.setByOffset("global_idx",te.getByIndices("input_indices"))}
2686      }`,getRunData:()=>({outputs:[ve],dispatchGroup:{x:Math.ceil(S/64)},programUniforms:Ke})}},r1=(u,I)=>{bu(u.inputs,I);let x=ql(u.inputs,I);u.compute(Es(u.inputs,x),{inputs:[0]})},s1=u=>{let I=u.starts,x=u.ends,S=u.axes;return yt({starts:I,ends:x,axes:S})}}),Wa=pe(()=>{Cr(),Mr(),Ia(),a0(),Pr(),a1=u=>{if(!u||u.length!==1)throw new Error("Softmax op requires 1 input.")},$l=(u,I)=>{let x,S=u.inputs[0],L=S.dims,W=gt.size(L),Y=L.length,Ae=gt.normalizeAxis(I.axis,Y),se=Ae<L.length-1,ne=[];se?(ne=Array.from({length:Y},(Dt,Nt)=>Nt),ne[Ae]=Y-1,ne[Y-1]=Ae,x=u.compute(Hs(S,ne),{inputs:[S],outputs:[-1]})[0]):x=S;let ve=x.dims,Ee=ve[Y-1],te=W/Ee,Ge=Qr(Ee),Fe=Ee/Ge,Ke=64;te===1&&(Ke=256);let Ye=Wt("x",x.dataType,x.dims,Ge),et=PA("result",x.dataType,x.dims,Ge),ft=Ye.type.value,bt=fr(x.dataType)==="f32"?`var threadMax = ${ft}(-3.402823e+38f);`:`var threadMax = ${ft}(-65504.0h);`,Mt=u.compute({name:"Softmax",shaderCache:{hint:`${Ge};${Ke}`,inputDependencies:["type"]},getRunData:()=>({outputs:[{dims:ve,dataType:x.dataType}],dispatchGroup:{x:te},programUniforms:[{type:6,data:Fe}]}),getShaderSource:Dt=>`
2687      var<workgroup> rowMaxShared : ${ft};
2688      var<workgroup> rowSumShared : ${ft};
2689      var<workgroup> threadShared : array<${ft}, ${Ke}>;
2690
2691      fn getValue(row: i32, col: i32, row_stride: i32) -> ${ft} {
2692        let index = row * row_stride + col;
2693        return x[index];
2694      }
2695
2696      fn setValue(row: i32, col: i32, row_stride: i32, value: ${ft}) {
2697        let index = row * row_stride + col;
2698        result[index] = value;
2699      }
2700      ${Dt.registerUniform("packedCols","i32").declareVariables(Ye,et)}
2701      ${Dt.mainStart(Ke)}
2702        let gindex = i32(global_idx);
2703        let lindex = i32(local_idx);
2704        const wg = ${Ke};
2705        let row = gindex / wg;
2706        let cols = uniforms.packedCols;
2707        let row_stride : i32 = uniforms.packedCols;
2708
2709        // find the rows max
2710        ${bt}
2711        for (var col = lindex; col < cols; col += wg) {
2712          let value = getValue(row, col, row_stride);
2713          threadMax = max(threadMax, value);
2714        }
2715        if (lindex < cols) {
2716          threadShared[lindex] = threadMax;
2717        }
2718        workgroupBarrier();
2719
2720        var reduceSize = min(cols, wg);
2721        for (var currSize = reduceSize >> 1;  currSize > 0; currSize = reduceSize >> 1) {
2722          reduceSize = currSize + (reduceSize & 1);
2723          if (lindex < currSize) {
2724            threadShared[lindex] = max(threadShared[lindex], threadShared[lindex + reduceSize]);
2725          }
2726          workgroupBarrier();
2727        }
2728        if (lindex == 0) {
2729          rowMaxShared = ${ft}(${((Nt,pA)=>pA===4?`max(max(${Nt}.x, ${Nt}.y), max(${Nt}.z, ${Nt}.w))`:pA===2?`max(${Nt}.x, ${Nt}.y)`:pA===3?`max(max(${Nt}.x, ${Nt}.y), ${Nt}.z)`:Nt)("threadShared[0]",Ge)});
2730        }
2731        workgroupBarrier();
2732
2733        // find the rows sum
2734        var threadSum = ${ft}(0.0);
2735        for (var col = lindex; col < cols; col += wg) {
2736          let subExp = exp(getValue(row, col, row_stride) - rowMaxShared);
2737          threadSum += subExp;
2738        }
2739        threadShared[lindex] = threadSum;
2740        workgroupBarrier();
2741
2742        for (var currSize = wg >> 1;  currSize > 0; currSize = currSize >> 1) {
2743          if (lindex < currSize) {
2744            threadShared[lindex] = threadShared[lindex] + threadShared[lindex + currSize];
2745          }
2746          workgroupBarrier();
2747        }
2748        if (lindex == 0) {
2749          rowSumShared = ${ft}(${rs("threadShared[0]",Ge)});
2750        }
2751        workgroupBarrier();
2752
2753        // calculate final value for each element in the row
2754        for (var col = lindex; col < cols; col += wg) {
2755          let value = exp(getValue(row, col, row_stride) - rowMaxShared) / rowSumShared;
2756          setValue(row, col, row_stride, value);
2757        }
2758      }`},{inputs:[x],outputs:[se?-1:0]})[0];se&&u.compute(Hs(Mt,ne),{inputs:[Mt]})},Iu=(u,I)=>{a1(u.inputs),$l(u,I)},wu=u=>yt({axis:u.axis})}),Pa=pe(()=>{Cr(),Mr(),Pr(),e2=u=>Array.from(u.getBigInt64Array(),Number),ku=u=>{if(!u||u.length!==2)throw new Error("Tile requires 2 inputs.");if(u[0].dataType!==1&&u[0].dataType!==10&&u[0].dataType!==6&&u[0].dataType!==12)throw new Error("Tile only support float, float16, int32, and uint32 data types");if(u[1].dataType!==7)throw new Error("Tile `repeats` input should be of int64 data type");if(u[1].dims.length!==1)throw new Error("Tile `repeats` input should be 1-D");if(e2(u[1]).length!==u[0].dims.length)throw new Error("Tile `repeats` input should have same number of elements as rank of input data tensor")},t2=(u,I)=>{let x=[];for(let S=0;S<u.length;++S)x.push(u[S]*I[S]);return x},A2=(u,I)=>{let x=u[0].dims,S=I??e2(u[1]),L=t2(x,S),W=gt.size(L),Y=u[0].dataType,Ae=Wt("input",Y,x.length),se=PA("output",Y,L.length);return{name:"Tile",shaderCache:{hint:`${S}`,inputDependencies:["rank"]},getRunData:()=>({outputs:[{dims:L,dataType:u[0].dataType}],dispatchGroup:{x:Math.ceil(W/64)},programUniforms:[{type:12,data:W},...QA(u[0].dims,L)]}),getShaderSource:ne=>`
2759      const inputShape = ${Ae.indices(...x)};
2760      ${ne.registerUniform("output_size","u32").declareVariables(Ae,se)}
2761      ${ne.mainStart()}
2762      ${ne.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
2763      let output_indices = ${se.offsetToIndices("global_idx")};
2764      var input_indices: ${Ae.type.indices};
2765      for (var i = 0; i < ${x.length}; i++) {
2766        let input_dim_i = ${Ae.indicesGet("uniforms.input_shape","i")};
2767        let input_dim_value = ${se.indicesGet("output_indices","i")}  % input_dim_i;
2768
2769        ${Ae.indicesSet("input_indices","i","input_dim_value")}
2770      }
2771      ${se.setByOffset("global_idx",Ae.getByIndices("input_indices"))}
2772    }`}},n1=u=>{ku(u.inputs),u.compute(A2(u.inputs),{inputs:[0]})}}),Sa=pe(()=>{Cr(),Mr(),Pr(),vu=(u,I,x,S,L)=>{let W,Y=PA("output_data",L,x.length,4),Ae=Wt("a_data",I[1].dataType,I[1].dims.length,4),se=Wt("b_data",I[2].dataType,I[2].dims.length,4),ne=Wt("c_data",I[0].dataType,I[0].dims.length,4),ve=(Ee,te,Ge)=>`select(${te}, ${Ee}, ${Ge})`;if(S){let Ee=(te,Ge,Fe="")=>{let Ke=`a_data[index_a${Ge}][component_a${Ge}]`,Ye=`b_data[index_b${Ge}][component_b${Ge}]`,et=`bool(c_data[index_c${Ge}] & (0xffu << (component_c${Ge} * 8)))`;return`
2773            let output_indices${Ge} = ${Y.offsetToIndices(`global_idx * 4u + ${Ge}u`)};
2774            let offset_a${Ge} = ${Ae.broadcastedIndicesToOffset(`output_indices${Ge}`,Y)};
2775            let offset_b${Ge} = ${se.broadcastedIndicesToOffset(`output_indices${Ge}`,Y)};
2776            let offset_c${Ge} = ${ne.broadcastedIndicesToOffset(`output_indices${Ge}`,Y)};
2777            let index_a${Ge} = offset_a${Ge} / 4u;
2778            let index_b${Ge} = offset_b${Ge} / 4u;
2779            let index_c${Ge} = offset_c${Ge} / 4u;
2780            let component_a${Ge} = offset_a${Ge} % 4u;
2781            let component_b${Ge} = offset_b${Ge} % 4u;
2782            let component_c${Ge} = offset_c${Ge} % 4u;
2783            ${te}[${Ge}] = ${Fe}(${ve(Ke,Ye,et)});
2784          `};W=L===9?`
2785            var data = vec4<u32>(0);
2786            ${Ee("data",0,"u32")}
2787            ${Ee("data",1,"u32")}
2788            ${Ee("data",2,"u32")}
2789            ${Ee("data",3,"u32")}
2790            output_data[global_idx] = dot(vec4<u32>(0x1, 0x100, 0x10000, 0x1000000), vec4<u32>(data));`:`
2791            ${Ee("output_data[global_idx]",0)}
2792            ${Ee("output_data[global_idx]",1)}
2793            ${Ee("output_data[global_idx]",2)}
2794            ${Ee("output_data[global_idx]",3)}
2795          `}else W=Y.setByOffset("global_idx",ve(Ae.getByOffset("global_idx"),se.getByOffset("global_idx"),ne.getByOffset("global_idx")));return`
2796        ${u.registerUniform("vec_size","u32").declareVariables(ne,Ae,se,Y)}
2797        ${u.mainStart()}
2798        ${u.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.vec_size")}
2799        ${W}
2800      }`},yu=u=>{let I=u[1].dims,x=u[2].dims,S=u[0].dims,L=u[1].dataType,W=!(gt.areEqual(I,x)&&gt.areEqual(x,S)),Y=I,Ae=gt.size(I);if(W){let ne=cA.calcShape(cA.calcShape(I,x,!1),S,!1);if(!ne)throw new Error("Can't perform where op on the given tensors");Y=ne,Ae=gt.size(Y)}let se=Math.ceil(Ae/4);return{name:"Where",shaderCache:{inputDependencies:["rank","rank","rank"]},getShaderSource:ne=>vu(ne,u,Y,W,L),getRunData:()=>({outputs:[{dims:Y,dataType:L}],dispatchGroup:{x:Math.ceil(Ae/64/4)},programUniforms:[{type:12,data:se},...QA(S,I,x,Y)]})}},r2=u=>{u.compute(yu(u.inputs))}}),xa=pe(()=>{g1(),f2(),h1(),p1(),m1(),b1(),C1(),Gr(),fn(),vn(),Hn(),B0(),sf(),y1(),E1(),le(),Be(),Ve(),Et(),Yt(),_A(),TA(),yA(),VA(),$A(),Ht(),Ir(),gs(),yr(),_r(),Sr(),u2(),hs(),ta(),ia(),js(),Wa(),sA(),Pa(),a0(),d2(),Sa(),i1=new Map([["Abs",[To]],["Acos",[nn]],["Acosh",[Cn]],["Add",[fs]],["ArgMax",[go,Xa]],["ArgMin",[yi,Xa]],["Asin",[ca]],["Asinh",[In]],["Atan",[bs]],["Atanh",[Ln]],["Attention",[Ko]],["AveragePool",[Fl,Yc]],["BatchNormalization",[po]],["BiasAdd",[mo]],["BiasSplitGelu",[ba]],["Cast",[on,Bi]],["Ceil",[qr]],["Clip",[xi]],["Concat",[Ti,e0]],["Conv",[ht,Te]],["ConvTranspose",[jr,FA]],["Cos",[Vi]],["Cosh",[Hi]],["CumSum",[ds,is]],["DepthToSpace",[$s,ea]],["DequantizeLinear",[Hl,cl]],["Div",[Zi]],["Einsum",[ii,Pi]],["Elu",[Mi,Cs]],["Equal",[ti]],["Erf",[ln]],["Exp",[Qo]],["Expand",[i0]],["FastGelu",[V2]],["Floor",[Yi]],["FusedConv",[ht,Te]],["Gather",[xl,R2]],["GatherElements",[Gl,J2]],["GatherBlockQuantized",[Z2,X2]],["GatherND",[W2,Ml]],["Gelu",[Ja]],["Gemm",[tc,_l]],["GlobalAveragePool",[Ll,Rc]],["GlobalMaxPool",[Uc,Wc]],["Greater",[No]],["GreaterOrEqual",[Ai]],["GridSample",[oc,lc]],["GroupQueryAttention",[wc]],["HardSigmoid",[Ns,bo]],["InstanceNormalization",[vc]],["LayerNormalization",[Bc]],["LeakyRelu",[Mn,Cs]],["Less",[$o]],["LessOrEqual",[$a]],["Log",[Gi]],["MatMul",[xc]],["MatMulNBits",[Gc,_c]],["MaxPool",[jc,ll]],["Mul",[_i]],["MultiHeadAttention",[s0,uc]],["Neg",[kn]],["Not",[Di]],["Pad",[Oc]],["Pow",[Jo]],["QuickGelu",[Ui,Cs]],["Range",[qc]],["Reciprocal",[Po]],["ReduceMin",[hi]],["ReduceMean",[_o]],["ReduceMax",[vi]],["ReduceSum",[Rr]],["ReduceProd",[sn]],["ReduceL1",[uo]],["ReduceL2",[la]],["ReduceLogSum",[fo]],["ReduceLogSumExp",[Ss]],["ReduceSumSquare",[Uo]],["Relu",[Ri]],["Resize",[uu,fu]],["RotaryEmbedding",[hu]],["ScatterND",[Rl,$c]],["Sigmoid",[ua]],["Sin",[cn]],["Sinh",[Co]],["Slice",[r1,s1]],["SkipLayerNormalization",[Xl]],["Split",[mc,bc]],["Sqrt",[pi]],["Softmax",[Iu,wu]],["Sub",[Xi]],["Tan",[zs]],["Tanh",[Wi]],["ThresholdedRelu",[So,Cs]],["Tile",[n1]],["Transpose",[Fi,ur]],["Where",[r2]]])}),oi=pe(()=>{lt(),Lo(),Pr(),o1=class{constructor(u){this.backend=u,this.repo=new Map,this.attributesBound=!1}getArtifact(u){return this.repo.get(u)}setArtifact(u,I){this.repo.set(u,I)}run(u,I,x,S,L){ce(u.programInfo.name);let W=this.backend.device,Y=this.backend.getComputePassEncoder();this.backend.writeTimestamp(2*this.backend.pendingDispatchNumber);let Ae=[];for(let ne of I)Ae.push({binding:Ae.length,resource:{buffer:ne.buffer}});for(let ne of x)Ae.push({binding:Ae.length,resource:{buffer:ne.buffer}});L&&Ae.push({binding:Ae.length,resource:L});let se=W.createBindGroup({layout:u.computePipeline.getBindGroupLayout(0),entries:Ae,label:u.programInfo.name});if(this.backend.sessionStatus==="capturing"){let ne={kernelId:this.backend.currentKernelId,computePipeline:u.computePipeline,bindGroup:se,dispatchGroup:S};this.backend.capturedCommandList.get(this.backend.currentSessionId).push(ne)}Y.setPipeline(u.computePipeline),Y.setBindGroup(0,se),Y.dispatchWorkgroups(...S),this.backend.writeTimestamp(2*this.backend.pendingDispatchNumber+1),this.backend.pendingDispatchNumber++,(this.backend.pendingDispatchNumber>=this.backend.maxDispatchNumber||this.backend.queryType==="at-passes")&&this.backend.endComputePass(),this.backend.pendingDispatchNumber>=this.backend.maxDispatchNumber&&this.backend.flush(),ge(u.programInfo.name)}dispose(){}build(u,I){ce(u.name);let x=this.backend.device,S=[];[{feature:"shader-f16",extension:"f16"},{feature:"subgroups",extension:"subgroups"},{feature:"subgroups-f16",extension:"subgroups_f16"}].forEach(ne=>{x.features.has(ne.feature)&&S.push(`enable ${ne.extension};`)});let L=Ts(I,this.backend.device.limits),W=u.getShaderSource(L),Y=`${S.join(`
2801`)}
2802${L.additionalImplementations}
2803${W}`,Ae=x.createShaderModule({code:Y,label:u.name});pr("verbose",()=>`[WebGPU] ${u.name} shader code: ${Y}`);let se=x.createComputePipeline({compute:{module:Ae,entryPoint:"main"},layout:"auto",label:u.name});return ge(u.name),{programInfo:u,computePipeline:se,uniformVariablesInfo:L.variablesInfo}}normalizeDispatchGroupSize(u){let I=typeof u=="number"?u:u.x,x=typeof u=="number"?1:u.y||1,S=typeof u=="number"?1:u.z||1,L=this.backend.device.limits.maxComputeWorkgroupsPerDimension;if(I<=L&&x<=L&&S<=L)return[I,x,S];let W=I*x*S,Y=Math.ceil(Math.sqrt(W));if(Y>L){if(Y=Math.ceil(Math.cbrt(W)),Y>L)throw new Error("Total dispatch size exceeds WebGPU maximum.");return[Y,Y,Y]}return[Y,Y,1]}}}),Ms=pe(()=>{lt(),Cr(),Lo(),Fu(),f1(),xa(),oi(),Eu=(u,I)=>{if(I.length!==u.length)throw new Error(`inputDependencies length ${I.length} is not equal to inputTensors length ${u.length}.`);let x=[];for(let S=0;S<u.length;++S){let L=u[S].dataType;switch(I[S]){case"none":x.push("");break;case"type":x.push(`${L}`);break;case"rank":{let W=u[S].dims.length;x.push(`${L};${W}`);break}case"dims":{let W=u[S].dims.join(",");x.push(`${L};${W}`);break}default:throw new Error(`unsupported input dependency: ${I[S]}`)}}return x.join("|")},Bu=(u,I,x)=>{var L,W;let S=u.name;return(L=u.shaderCache)!=null&&L.hint&&(S+="["+u.shaderCache.hint+"]"),S+=":"+x+`:${Eu(I,((W=u.shaderCache)==null?void 0:W.inputDependencies)??new Array(I.length).fill("dims"))}`,S},xu=class{constructor(u){u&&(this.architecture=u.architecture,this.vendor=u.vendor)}isArchitecture(u){return this.architecture===u}isVendor(u){return this.vendor===u}},Mu=class{constructor(u){this.subgroupsSupported=u.features.has("subgroups"),this.subgroupsF16Supported=u.features.has("subgroups");let I=u.limits;this.subgroupsSupported&&I.minSubgroupSize&&I.maxSubgroupSize?this.subgroupSizeRange=[I.minSubgroupSize,I.maxSubgroupSize]:this.subgroupSizeRange=void 0}},Du=class{constructor(){this.currentSessionId=null,this.currentKernelId=null,this.commandEncoder=null,this.computePassEncoder=null,this.maxDispatchNumber=16,this.pendingDispatchNumber=0,this.pendingKernels=[],this.pendingQueries=new Map,this.sessionStatus="default",this.capturedCommandList=new Map,this.capturedPendingKernels=new Map,this.sessionExternalDataMapping=new Map}get currentKernelCustomData(){if(this.currentKernelId===null)throw new Error("currentKernelCustomData(): currentKernelId is null. (should not happen)");let u=this.kernelCustomData.get(this.currentKernelId);return u||(u={},this.kernelCustomData.set(this.currentKernelId,u)),u}async initialize(u,I){this.env=u;let x=[],S={requiredLimits:{maxComputeWorkgroupStorageSize:I.limits.maxComputeWorkgroupStorageSize,maxComputeWorkgroupsPerDimension:I.limits.maxComputeWorkgroupsPerDimension,maxStorageBufferBindingSize:I.limits.maxStorageBufferBindingSize,maxBufferSize:I.limits.maxBufferSize,maxComputeInvocationsPerWorkgroup:I.limits.maxComputeInvocationsPerWorkgroup,maxComputeWorkgroupSizeX:I.limits.maxComputeWorkgroupSizeX,maxComputeWorkgroupSizeY:I.limits.maxComputeWorkgroupSizeY,maxComputeWorkgroupSizeZ:I.limits.maxComputeWorkgroupSizeZ},requiredFeatures:x},L=W=>I.features.has(W)&&x.push(W)&&!0;L("chromium-experimental-timestamp-query-inside-passes")||L("timestamp-query"),L("shader-f16"),L("subgroups")&&L("subgroups-f16"),this.device=await I.requestDevice(S),this.deviceInfo=new Mu(this.device),this.adapterInfo=new xu(I.info||await I.requestAdapterInfo()),this.gpuDataManager=ut(this),this.programManager=new o1(this),this.kernels=new Map,this.kernelPersistentData=new Map,this.kernelCustomData=new Map,Ya(u.logLevel,!!u.debug),this.device.onuncapturederror=W=>{W.error instanceof GPUValidationError&&console.error(`An uncaught WebGPU validation error was raised: ${W.error.message}`)},Object.defineProperty(this.env.webgpu,"device",{value:this.device,writable:!1,enumerable:!0,configurable:!1}),Object.defineProperty(this.env.webgpu,"adapter",{value:I,writable:!1,enumerable:!0,configurable:!1}),this.setQueryType()}dispose(){typeof this.querySet<"u"&&this.querySet.destroy(),this.gpuDataManager.dispose()}getCommandEncoder(){return this.commandEncoder||(this.commandEncoder=this.device.createCommandEncoder()),this.commandEncoder}getComputePassEncoder(){if(!this.computePassEncoder){let u=this.getCommandEncoder(),I={};this.queryType==="at-passes"&&(I.timestampWrites={querySet:this.querySet,beginningOfPassWriteIndex:2*this.pendingDispatchNumber,endOfPassWriteIndex:2*this.pendingDispatchNumber+1}),this.computePassEncoder=u.beginComputePass(I)}return this.computePassEncoder}endComputePass(){this.computePassEncoder&&(this.computePassEncoder.end(),this.computePassEncoder=null)}flush(){if(!this.commandEncoder)return;let u;ce(),this.endComputePass(),this.queryType!=="none"&&(this.commandEncoder.resolveQuerySet(this.querySet,0,2*this.pendingDispatchNumber,this.queryResolveBuffer,0),u=this.device.createBuffer({size:2*this.pendingDispatchNumber*8,usage:GPUBufferUsage.MAP_READ|GPUBufferUsage.COPY_DST}),this.pendingQueries.set(u,this.pendingKernels),this.pendingKernels=[],this.commandEncoder.copyBufferToBuffer(this.queryResolveBuffer,0,u,0,2*this.pendingDispatchNumber*8)),this.device.queue.submit([this.commandEncoder.finish()]),this.gpuDataManager.refreshPendingBuffers(),this.commandEncoder=null,this.pendingDispatchNumber=0,this.queryType!=="none"&&u.mapAsync(GPUMapMode.READ).then(()=>{var S;let I=new BigUint64Array(u.getMappedRange()),x=this.pendingQueries.get(u);for(let L=0;L<I.length/2;L++){let W=x[L],Y=W.kernelId,Ae=this.kernels.get(Y),se=Ae.kernelType,ne=Ae.kernelName,ve=W.programName,Ee=W.inputTensorViews,te=W.outputTensorViews,Ge=I[2*L],Fe=I[2*L+1];typeof this.queryTimeBase>"u"&&(this.queryTimeBase=Ge);let Ke=Number(Ge-this.queryTimeBase),Ye=Number(Fe-this.queryTimeBase);if(!Number.isSafeInteger(Ke)||!Number.isSafeInteger(Ye))throw new RangeError("incorrect timestamp range");if((S=this.env.webgpu.profiling)!=null&&S.ondata)this.env.webgpu.profiling.ondata({version:1,inputsMetadata:Ee.map(et=>({dims:et.dims,dataType:hn(et.dataType)})),outputsMetadata:te.map(et=>({dims:et.dims,dataType:hn(et.dataType)})),kernelId:Y,kernelType:se,kernelName:ne,programName:ve,startTime:Ke,endTime:Ye});else{let et="";Ee.forEach((bt,Mt)=>{et+=`input[${Mt}]: [${bt.dims}] | ${hn(bt.dataType)}, `});let ft="";te.forEach((bt,Mt)=>{ft+=`output[${Mt}]: [${bt.dims}] | ${hn(bt.dataType)}, `}),console.log(`[profiling] kernel "${Y}|${se}|${ne}|${ve}" ${et}${ft}execution time: ${Ye-Ke} ns`)}Ce("GPU",`${ve}::${Ge}::${Fe}`)}u.unmap(),this.pendingQueries.delete(u)}),ge()}run(u,I,x,S,L,W){ce(u.name);let Y=[];for(let ft=0;ft<I.length;++ft){let bt=I[ft].data;if(bt===0)continue;let Mt=this.gpuDataManager.get(bt);if(!Mt)throw new Error(`no GPU data for input: ${bt}`);Y.push(Mt)}let{outputs:Ae,dispatchGroup:se,programUniforms:ne}=u.getRunData(I),ve=x.length===0?Ae.map((ft,bt)=>bt):x;if(ve.length!==Ae.length)throw new Error(`Output size ${ve.length} must be equal to ${Ae.length}.`);let Ee,te=[],Ge=[];for(let ft=0;ft<Ae.length;++ft){if(!Number.isInteger(ve[ft])||ve[ft]<-3||ve[ft]>=W)throw new Error(`Invalid output index: ${ve[ft]}`);if(ve[ft]===-3)continue;let bt=ve[ft]===-1,Mt=ve[ft]===-2,Dt=bt||Mt?L(Ae[ft].dataType,Ae[ft].dims):S(ve[ft],Ae[ft].dataType,Ae[ft].dims);if(te.push(Dt),Dt.data===0)continue;let Nt=this.gpuDataManager.get(Dt.data);if(!Nt)throw new Error(`no GPU data for output: ${Dt.data}`);if(bt&&this.temporaryData.push(Nt),Mt){let pA=this.kernelPersistentData.get(this.currentKernelId);pA||(pA=[],this.kernelPersistentData.set(this.currentKernelId,pA)),pA.push(Nt)}Ge.push(Nt)}if(Y.length!==I.length||Ge.length!==te.length){if(Ge.length===0)return ge(u.name),te;throw new Error(`Program ${u.name} has zero-sized tensor(s) in inputs or outputs. This is not supported now.`)}if(ne){let ft=0,bt=[];ne.forEach(pA=>{let xA=typeof pA.data=="number"?[pA.data]:pA.data;if(xA.length===0)return;let ar,nr,$r=pA.type===10?2:4;pA.type===10?(nr=xA.length>4?16:xA.length>2?8:xA.length*$r,ar=xA.length>4?16:$r*xA.length):(nr=xA.length<=2?xA.length*$r:16,ar=16),ft=Math.ceil(ft/nr)*nr,bt.push(ft);let ir=pA.type===10?8:4;ft+=xA.length>4?Math.ceil(xA.length/ir)*ar:xA.length*$r});let Mt=16;ft=Math.ceil(ft/Mt)*Mt;let Dt=new ArrayBuffer(ft);ne.forEach((pA,xA)=>{let ar=bt[xA],nr=typeof pA.data=="number"?[pA.data]:pA.data;if(pA.type===6)new Int32Array(Dt,ar,nr.length).set(nr);else if(pA.type===12)new Uint32Array(Dt,ar,nr.length).set(nr);else if(pA.type===10)new Uint16Array(Dt,ar,nr.length).set(nr);else{if(pA.type!==1)throw new Error(`Unsupported uniform type: ${hn(pA.type)}`);new Float32Array(Dt,ar,nr.length).set(nr)}});let Nt=this.gpuDataManager.create(ft,GPUBufferUsage.COPY_DST|GPUBufferUsage.UNIFORM);this.device.queue.writeBuffer(Nt.buffer,0,Dt,0,ft),this.gpuDataManager.release(Nt.id),Ee={offset:0,size:ft,buffer:Nt.buffer}}let Fe=this.programManager.normalizeDispatchGroupSize(se),Ke=Fe[1]===1&&Fe[2]===1,Ye=Bu(u,I,Ke),et=this.programManager.getArtifact(Ye);if(et||(et=this.programManager.build(u,Fe),this.programManager.setArtifact(Ye,et),pr("info",()=>`[artifact] key: ${Ye}, programName: ${u.name}`)),ne&&et.uniformVariablesInfo){if(ne.length!==et.uniformVariablesInfo.length)throw new Error(`Uniform variables count mismatch: expect ${et.uniformVariablesInfo.length}, got ${ne.length} in program "${et.programInfo.name}".`);for(let ft=0;ft<ne.length;ft++){let bt=ne[ft],Mt=bt.type,Dt=typeof bt.data=="number"?1:bt.data.length,[Nt,pA]=et.uniformVariablesInfo[ft];if(Mt!==Nt||Dt!==pA)throw new Error(`Uniform variable ${ft} mismatch: expect type ${Nt} with size ${pA}, got type ${Mt} with size ${Dt} in program "${et.programInfo.name}".`)}}if(pr("info",()=>`[ProgramManager] run "${u.name}" (key=${Ye}) with ${Fe[0]}x${Fe[1]}x${Fe[2]}`),this.queryType!=="none"||this.sessionStatus==="capturing"){let ft={kernelId:this.currentKernelId,programName:et.programInfo.name,inputTensorViews:I,outputTensorViews:te};this.pendingKernels.push(ft),this.sessionStatus==="capturing"&&this.capturedPendingKernels.get(this.currentSessionId).push(ft)}return this.programManager.run(et,Y,Ge,Fe,Ee),ge(u.name),te}upload(u,I){this.gpuDataManager.upload(u,I)}memcpy(u,I){this.gpuDataManager.memcpy(u,I)}async download(u,I){await this.gpuDataManager.download(u,I)}alloc(u){return this.gpuDataManager.create(u).id}free(u){return this.gpuDataManager.release(u)}createKernel(u,I,x,S){let L=i1.get(u);if(!L)throw new Error(`kernel not implemented: ${u}`);let W={kernelType:u,kernelName:S,kernelEntry:L[0],attributes:[L[1],x]};this.kernels.set(I,W)}releaseKernel(u){let I=this.kernelPersistentData.get(u);if(I){for(let x of I)this.gpuDataManager.release(x.id);this.kernelPersistentData.delete(u)}this.kernelCustomData.delete(u),this.kernels.delete(u)}computeKernel(u,I,x){let S=this.kernels.get(u);if(!S)throw new Error(`kernel not created: ${u}`);let L=S.kernelType,W=S.kernelName,Y=S.kernelEntry,Ae=S.attributes;if(this.currentKernelId!==null)throw new Error(`kernel "[${L}] ${W}" is not allowed to be called recursively`);this.currentKernelId=u,Ae[0]&&(Ae[1]=Ae[0](Ae[1]),Ae[0]=void 0),pr("info",()=>`[WebGPU] Start to run kernel "[${L}] ${W}"...`);let se=this.env.debug;this.temporaryData=[];try{return se&&this.device.pushErrorScope("validation"),Y(I,Ae[1]),0}catch(ne){return x.push(Promise.resolve(`[WebGPU] Kernel "[${L}] ${W}" failed. ${ne}`)),1}finally{se&&x.push(this.device.popErrorScope().then(ne=>ne?`GPU validation error for kernel "[${L}] ${W}": ${ne.message}`:null));for(let ne of this.temporaryData)this.gpuDataManager.release(ne.id);this.temporaryData=[],this.currentKernelId=null}}registerBuffer(u,I,x,S){let L=this.sessionExternalDataMapping.get(u);L||(L=new Map,this.sessionExternalDataMapping.set(u,L));let W=L.get(I),Y=this.gpuDataManager.registerExternalBuffer(x,S,W);return L.set(I,[Y,x]),Y}unregisterBuffers(u){let I=this.sessionExternalDataMapping.get(u);I&&(I.forEach(x=>this.gpuDataManager.unregisterExternalBuffer(x[0])),this.sessionExternalDataMapping.delete(u))}getBuffer(u){let I=this.gpuDataManager.get(u);if(!I)throw new Error(`no GPU data for buffer: ${u}`);return I.buffer}createDownloader(u,I,x){return async()=>{let S=await ye(this,u,I);return oa(S.buffer,x)}}writeTimestamp(u){this.queryType==="inside-passes"&&this.computePassEncoder.writeTimestamp(this.querySet,u)}setQueryType(){var u;this.queryType="none",(((u=this.env.webgpu.profiling)==null?void 0:u.mode)==="default"||(typeof this.env.trace>"u"?this.env.wasm.trace:this.env.trace))&&(this.device.features.has("chromium-experimental-timestamp-query-inside-passes")?this.queryType="inside-passes":this.device.features.has("timestamp-query")&&(this.queryType="at-passes"),this.queryType!=="none"&&typeof this.querySet>"u"&&(this.querySet=this.device.createQuerySet({type:"timestamp",count:2*this.maxDispatchNumber}),this.queryResolveBuffer=this.device.createBuffer({size:2*this.maxDispatchNumber*8,usage:GPUBufferUsage.COPY_SRC|GPUBufferUsage.QUERY_RESOLVE})))}captureBegin(){pr("info","captureBegin"),this.capturedCommandList.get(this.currentSessionId)||this.capturedCommandList.set(this.currentSessionId,[]),this.capturedPendingKernels.get(this.currentSessionId)||this.capturedPendingKernels.set(this.currentSessionId,[]),this.flush(),this.sessionStatus="capturing"}captureEnd(){pr("info","captureEnd"),this.flush(),this.sessionStatus="default"}replay(){pr("info","replay"),this.sessionStatus="replaying";let u=this.capturedCommandList.get(this.currentSessionId),I=this.capturedPendingKernels.get(this.currentSessionId),x=u.length;this.pendingKernels=[];for(let S=0;S<x;S++){let L=this.getComputePassEncoder(),W=u[S];this.writeTimestamp(2*this.pendingDispatchNumber),L.setPipeline(W.computePipeline),L.setBindGroup(0,W.bindGroup),L.dispatchWorkgroups(...W.dispatchGroup),this.writeTimestamp(2*this.pendingDispatchNumber+1),this.pendingDispatchNumber++,this.queryType!=="none"&&this.pendingKernels.push(I[S]),(this.pendingDispatchNumber>=this.maxDispatchNumber||this.queryType==="at-passes")&&this.endComputePass(),this.pendingDispatchNumber>=this.maxDispatchNumber&&this.flush()}this.flush(),this.sessionStatus="default"}onCreateSession(){this.gpuDataManager.onCreateSession()}onReleaseSession(u){this.unregisterBuffers(u),this.capturedCommandList.has(u)&&this.capturedCommandList.delete(u),this.capturedPendingKernels.has(u)&&this.capturedPendingKernels.delete(u),this.gpuDataManager.onReleaseSession(u)}onRunStart(u){this.currentSessionId=u,this.setQueryType()}}}),Yn=pe(()=>{Lo(),Gu=1,s2=()=>Gu++,_u=new Map([["float32",32],["float16",16],["int32",32],["uint32",32],["int64",64],["uint64",64],["int8",8],["uint8",8],["int4",4],["uint4",4]]),a2=(u,I)=>{let x=_u.get(u);if(!x)throw new Error("Unsupported data type.");return I.length>0?Math.ceil(I.reduce((S,L)=>S*L)*x/8):0},n2=class{constructor(u){this.sessionId=u.sessionId,this.mlContext=u.context,this.mlTensor=u.tensor,this.dataType=u.dataType,this.tensorShape=u.shape}get tensor(){return this.mlTensor}get type(){return this.dataType}get shape(){return this.tensorShape}get byteLength(){return a2(this.dataType,this.tensorShape)}destroy(){pr("verbose",()=>"[WebNN] TensorWrapper.destroy"),this.mlTensor.destroy()}write(u){this.mlContext.writeTensor(this.mlTensor,u)}async read(u){return u?this.mlContext.readTensor(this.mlTensor,u):this.mlContext.readTensor(this.mlTensor)}canReuseTensor(u,I,x){return this.mlContext===u&&this.dataType===I&&this.tensorShape.length===x.length&&this.tensorShape.every((S,L)=>S===x[L])}},i2=class{constructor(u,I){this.tensorManager=u,this.wrapper=I}get tensorWrapper(){return this.wrapper}releaseTensor(){this.tensorWrapper&&(this.tensorManager.releaseTensor(this.tensorWrapper),this.wrapper=void 0)}async ensureTensor(u,I,x,S){if(this.wrapper){if(this.wrapper.canReuseTensor(u,I,x))return this.wrapper.tensor;if(S){if(this.wrapper.byteLength!==a2(I,x))throw new Error("Unable to copy data to tensor with different size.");this.activeUpload=new Uint8Array(await this.wrapper.read())}this.tensorManager.releaseTensor(this.wrapper)}let L=typeof MLTensorUsage>"u"?void 0:MLTensorUsage.READ|MLTensorUsage.WRITE;return this.wrapper=await this.tensorManager.getCachedTensor(I,x,L,!0,!0),S&&this.activeUpload&&(this.wrapper.write(this.activeUpload),this.activeUpload=void 0),this.wrapper.tensor}upload(u){if(this.wrapper){if(u.byteLength===this.wrapper.byteLength)return void this.wrapper.write(u);pr("verbose",()=>"Data size does not match tensor size. Releasing tensor."),this.releaseTensor()}this.activeUpload?this.activeUpload.set(u):this.activeUpload=new Uint8Array(u)}async download(u){if(this.activeUpload)return u?void(u instanceof ArrayBuffer?new Uint8Array(u).set(this.activeUpload):new Uint8Array(u.buffer,u.byteOffset,u.byteLength).set(this.activeUpload)):this.activeUpload.buffer;if(!this.wrapper)throw new Error("Tensor has not been created.");return u?this.wrapper.read(u):this.wrapper.read()}},Tu=class{constructor(u){this.backend=u,this.tensorTrackersById=new Map,this.freeTensors=[],this.externalTensors=new Set}reserveTensorId(){let u=s2();return this.tensorTrackersById.set(u,new i2(this)),u}releaseTensorId(u){let I=this.tensorTrackersById.get(u);I&&(this.tensorTrackersById.delete(u),I.tensorWrapper&&this.releaseTensor(I.tensorWrapper))}async ensureTensor(u,I,x,S){pr("verbose",()=>`[WebNN] TensorManager.ensureTensor {tensorId: ${u}, dataType: ${I}, shape: ${x}, copyOld: ${S}}`);let L=this.tensorTrackersById.get(u);if(!L)throw new Error("Tensor not found.");return L.ensureTensor(this.backend.currentContext,I,x,S)}upload(u,I){let x=this.tensorTrackersById.get(u);if(!x)throw new Error("Tensor not found.");x.upload(I)}async download(u,I){pr("verbose",()=>`[WebNN] TensorManager.download {tensorId: ${u}, dstBuffer: ${I==null?void 0:I.byteLength}}`);let x=this.tensorTrackersById.get(u);if(!x)throw new Error("Tensor not found.");return x.download(I)}releaseTensorsForSession(u){for(let I of this.freeTensors)I.sessionId===u&&I.destroy();this.freeTensors=this.freeTensors.filter(I=>I.sessionId!==u)}registerTensor(u,I,x,S){let L=s2(),W=new n2({sessionId:this.backend.currentSessionId,context:u,tensor:I,dataType:x,shape:S});return this.tensorTrackersById.set(L,new i2(this,W)),this.externalTensors.add(W),L}async getCachedTensor(u,I,x,S,L){let W=this.backend.currentSessionId,Y=this.backend.currentContext;for(let[se,ne]of this.freeTensors.entries())if(ne.canReuseTensor(Y,u,I)){pr("verbose",()=>`[WebNN] Reusing tensor {dataType: ${u}, shape: ${I}}`);let ve=this.freeTensors.splice(se,1)[0];return ve.sessionId=W,ve}pr("verbose",()=>`[WebNN] MLContext.createTensor {dataType: ${u}, shape: ${I}}`);let Ae=await Y.createTensor({dataType:u,shape:I,dimensions:I,usage:x,writable:S,readable:L});return new n2({sessionId:W,context:Y,tensor:Ae,dataType:u,shape:I})}releaseTensor(u){this.externalTensors.has(u)&&this.externalTensors.delete(u),this.freeTensors.push(u)}},l1=(...u)=>new Tu(...u)}),d0=pe(()=>{Cr(),u0(),Fu(),Yn(),Lo(),o2=new Map([[1,"float32"],[10,"float16"],[6,"int32"],[12,"uint32"],[7,"int64"],[13,"uint64"],[22,"int4"],[21,"uint4"],[3,"int8"],[2,"uint8"],[9,"uint8"]]),Qu=(u,I)=>{if(u===I)return!0;if(u===void 0||I===void 0)return!1;let x=Object.keys(u).sort(),S=Object.keys(I).sort();return x.length===S.length&&x.every((L,W)=>L===S[W]&&u[L]===I[L])},Pu=class{constructor(u){this.tensorManager=l1(this),this.mlContextBySessionId=new Map,this.sessionIdsByMLContext=new Map,this.mlContextCache=[],Ya(u.logLevel,!!u.debug)}get currentSessionId(){if(this.activeSessionId===void 0)throw new Error("No active session");return this.activeSessionId}onRunStart(u){this.activeSessionId=u}async createMLContext(u){if(u instanceof GPUDevice){let x=this.mlContextCache.findIndex(S=>S.gpuDevice===u);if(x!==-1)return this.mlContextCache[x].mlContext;{let S=await navigator.ml.createContext(u);return this.mlContextCache.push({gpuDevice:u,mlContext:S}),S}}if(u===void 0){let x=this.mlContextCache.findIndex(S=>S.options===void 0&&S.gpuDevice===void 0);if(x!==-1)return this.mlContextCache[x].mlContext;{let S=await navigator.ml.createContext();return this.mlContextCache.push({mlContext:S}),S}}let I=this.mlContextCache.findIndex(x=>Qu(x.options,u));if(I!==-1)return this.mlContextCache[I].mlContext;{let x=await navigator.ml.createContext(u);return this.mlContextCache.push({options:u,mlContext:x}),x}}get currentContext(){let u=this.getMLContext(this.currentSessionId);if(!u)throw new Error(`No MLContext found for session ${this.currentSessionId}`);return u}registerMLContext(u,I){this.mlContextBySessionId.set(u,I);let x=this.sessionIdsByMLContext.get(I);x||(x=new Set,this.sessionIdsByMLContext.set(I,x)),x.add(u)}onReleaseSession(u){let I=this.mlContextBySessionId.get(u);if(!I)return;this.tensorManager.releaseTensorsForSession(u),this.mlContextBySessionId.delete(u);let x=this.sessionIdsByMLContext.get(I);if(x.delete(u),x.size===0){this.sessionIdsByMLContext.delete(I);let S=this.mlContextCache.findIndex(L=>L.mlContext===I);S!==-1&&this.mlContextCache.splice(S,1)}}getMLContext(u){return this.mlContextBySessionId.get(u)}reserveTensorId(){return this.tensorManager.reserveTensorId()}releaseTensorId(u){pr("verbose",()=>`[WebNN] releaseTensorId {tensorId: ${u}}`),this.tensorManager.releaseTensorId(u)}async ensureTensor(u,I,x,S){let L=o2.get(I);if(!L)throw new Error(`Unsupported ONNX data type: ${I}`);return this.tensorManager.ensureTensor(u,L,x,S)}uploadTensor(u,I){if(!xr().shouldTransferToMLTensor)throw new Error("Trying to upload to a MLTensor while shouldTransferToMLTensor is false");pr("verbose",()=>`[WebNN] uploadTensor {tensorId: ${u}, data: ${I.byteLength}}`),this.tensorManager.upload(u,I)}async downloadTensor(u,I){return this.tensorManager.download(u,I)}createMLTensorDownloader(u,I){return async()=>{let x=await this.tensorManager.download(u);return oa(x,I)}}registerMLTensor(u,I,x){let S=o2.get(I);if(!S)throw new Error(`Unsupported ONNX data type: ${I}`);let L=this.tensorManager.registerTensor(this.currentContext,u,S,x);return pr("verbose",()=>`[WebNN] registerMLTensor {tensor: ${u}, dataType: ${S}, dimensions: ${x}} -> {tensorId: ${L}}`),L}registerMLConstant(u,I,x,S,L,W){if(!W)throw new Error("External mounted files are not available.");let Y=u;u.startsWith("./")&&(Y=u.substring(2));let Ae=W.get(Y);if(!Ae)throw new Error(`File with name ${Y} not found in preloaded files.`);if(I+x>Ae.byteLength)throw new Error("Out of bounds: data offset and length exceed the external file data size.");let se,ne=Ae.slice(I,I+x).buffer;switch(L.dataType){case"float32":se=new Float32Array(ne);break;case"float16":se=new Uint16Array(ne);break;case"int32":se=new Int32Array(ne);break;case"uint32":se=new Uint32Array(ne);break;case"int64":se=new BigInt64Array(ne);break;case"uint64":se=new BigUint64Array(ne);break;case"int8":se=new Int8Array(ne);break;case"int4":case"uint4":case"uint8":se=new Uint8Array(ne);break;default:throw new Error(`Unsupported data type: ${L.dataType} in creating WebNN Constant from external data.`)}return pr("verbose",()=>`[WebNN] registerMLConstant {dataType: ${L.dataType}, shape: ${L.shape}}}`),S.constant(L,se)}flush(){}}}),x0={};it(x0,{init:()=>Ou});var g0,K0,Ou,B1,Ks,Na,li,h0,n0,Z0,fl,dl,gl,Lu,hl,Eo,ci,M0,D0,p0,m2,Vu,b2,Si,Tn,fd,dd,gd,hd,pd,md,bd,Cd,af,Id,wd,j3=pe(()=>{Cr(),Ms(),Lo(),Mr(),d0(),g0=class _m{constructor(I,x,S,L){this.module=I,this.dataType=x,this.data=S,this.dims=L}getFloat32Array(){if(this.dataType!==1)throw new Error("Invalid data type");let I=gt.size(this.dims);return I===0?new Float32Array:new Float32Array(this.module.HEAP8.buffer,this.data,I)}getBigInt64Array(){if(this.dataType!==7)throw new Error("Invalid data type");let I=gt.size(this.dims);return I===0?new BigInt64Array:new BigInt64Array(this.module.HEAP8.buffer,this.data,I)}getInt32Array(){if(this.dataType!==6)throw new Error("Invalid data type");let I=gt.size(this.dims);return I===0?new Int32Array:new Int32Array(this.module.HEAP8.buffer,this.data,I)}getUint16Array(){if(this.dataType!==10&&this.dataType!==4)throw new Error("Invalid data type");let I=gt.size(this.dims);return I===0?new Uint16Array:new Uint16Array(this.module.HEAP8.buffer,this.data,I)}reshape(I){if(gt.size(I)!==gt.size(this.dims))throw new Error("Invalid new shape");return new _m(this.module,this.dataType,this.data,I)}},K0=class{constructor(u,I,x){this.module=u,this.backend=I,this.customDataOffset=0,this.customDataSize=0,this.adapterInfo=I.adapterInfo,this.deviceInfo=I.deviceInfo;let S=u.PTR_SIZE,L=x/u.PTR_SIZE,W=S===4?"i32":"i64";this.opKernelContext=Number(u.getValue(S*L++,W));let Y=Number(u.getValue(S*L++,W));this.outputCount=Number(u.getValue(S*L++,W)),this.customDataOffset=Number(u.getValue(S*L++,"*")),this.customDataSize=Number(u.getValue(S*L++,W));let Ae=[];for(let se=0;se<Y;se++){let ne=Number(u.getValue(S*L++,W)),ve=Number(u.getValue(S*L++,"*")),Ee=Number(u.getValue(S*L++,W)),te=[];for(let Ge=0;Ge<Ee;Ge++)te.push(Number(u.getValue(S*L++,W)));Ae.push(new g0(u,ne,ve,te))}this.inputs=Ae}get kernelCustomData(){return this.backend.currentKernelCustomData}get customDataBuffer(){return this.module.HEAPU8.subarray(this.customDataOffset,this.customDataOffset+this.customDataSize)}compute(u,I){var L;let x=((L=I==null?void 0:I.inputs)==null?void 0:L.map(W=>typeof W=="number"?this.inputs[W]:W))??this.inputs,S=(I==null?void 0:I.outputs)??[];return this.backend.run(u,x,S,(W,Y,Ae)=>new g0(this.module,Y,this.output(W,Ae),Ae),(W,Y)=>{let Ae=ya(W,Y);if(!Ae)throw new Error(`Unsupported data type: ${W}`);let se=Ae>0?this.backend.gpuDataManager.create(Ae).id:0;return new g0(this.module,W,se,Y)},this.outputCount)}output(u,I){let x=this.module.stackSave();try{let S=this.module.PTR_SIZE,L=S===4?"i32":"i64",W=this.module.stackAlloc((1+I.length)*S);this.module.setValue(W,I.length,L);for(let Y=0;Y<I.length;Y++)this.module.setValue(W+S*(Y+1),I[Y],L);return this.module._JsepOutput(this.opKernelContext,u,W)}catch(S){throw new Error(`Failed to generate kernel's output[${u}] with dims [${I}]. If you are running with pre-allocated output, please make sure the output type/dims are correct. Error: ${S}`)}finally{this.module.stackRestore(x)}}},Ou=async(u,I,x,S)=>{let L=I.jsepInit;if(!L)throw new Error("Failed to initialize JSEP. The WebAssembly module is not built with JSEP support.");if(u==="webgpu"){let W=new Du;await W.initialize(x,S),L("webgpu",[W,Y=>W.alloc(Number(Y)),Y=>W.free(Y),(Y,Ae,se,ne=!1)=>{if(ne)pr("verbose",()=>`[WebGPU] jsepCopyGpuToGpu: src=${Number(Y)}, dst=${Number(Ae)}, size=${Number(se)}`),W.memcpy(Number(Y),Number(Ae));else{pr("verbose",()=>`[WebGPU] jsepCopyCpuToGpu: dataOffset=${Number(Y)}, gpuDataId=${Number(Ae)}, size=${Number(se)}`);let ve=I.HEAPU8.subarray(Number(Y>>>0),Number(Y>>>0)+Number(se));W.upload(Number(Ae),ve)}},async(Y,Ae,se)=>{pr("verbose",()=>`[WebGPU] jsepCopyGpuToCpu: gpuDataId=${Y}, dataOffset=${Ae}, size=${se}`),await W.download(Number(Y),()=>I.HEAPU8.subarray(Number(Ae)>>>0,Number(Ae+se)>>>0))},(Y,Ae,se)=>W.createKernel(Y,Number(Ae),se,I.UTF8ToString(I._JsepGetNodeName(Number(Ae)))),Y=>W.releaseKernel(Y),(Y,Ae,se,ne)=>{pr("verbose",()=>`[WebGPU] jsepRun: sessionHandle=${se}, kernel=${Y}, contextDataOffset=${Ae}`);let ve=new K0(I,W,Number(Ae));return W.computeKernel(Number(Y),ve,ne)},()=>W.captureBegin(),()=>W.captureEnd(),()=>W.replay()])}else{let W=new Pu(x);L("webnn",[W,()=>W.reserveTensorId(),Y=>W.releaseTensorId(Y),async(Y,Ae,se,ne)=>W.ensureTensor(Y,Ae,se,ne),(Y,Ae)=>{W.uploadTensor(Y,Ae)},async(Y,Ae)=>W.downloadTensor(Y,Ae)])}}}),kd=pe(()=>{Nu(),u1(),Cr(),u0(),Su(),zu(),B1=(u,I)=>{xr()._OrtInit(u,I)!==0&&HA("Can't initialize onnxruntime.")},Ks=async u=>{B1(u.wasm.numThreads,La(u.logLevel))},Na=async(u,I)=>{{let x=(j3(),We(x0)).init;if(I==="webgpu"){if(typeof navigator>"u"||!navigator.gpu)throw new Error("WebGPU is not supported in current environment");let S=u.webgpu.adapter;if(S){if(typeof S.limits!="object"||typeof S.features!="object"||typeof S.requestDevice!="function")throw new Error("Invalid GPU adapter set in `env.webgpu.adapter`. It must be a GPUAdapter object.")}else{let L=u.webgpu.powerPreference;if(L!==void 0&&L!=="low-power"&&L!=="high-performance")throw new Error(`Invalid powerPreference setting: "${L}"`);let W=u.webgpu.forceFallbackAdapter;if(W!==void 0&&typeof W!="boolean")throw new Error(`Invalid forceFallbackAdapter setting: "${W}"`);if(S=await navigator.gpu.requestAdapter({powerPreference:L,forceFallbackAdapter:W}),!S)throw new Error('Failed to get GPU adapter. You may need to enable flag "--enable-unsafe-webgpu" if you are using Chrome.')}await x("webgpu",xr(),u,S)}if(I==="webnn"){if(typeof navigator>"u"||!navigator.ml)throw new Error("WebNN is not supported in current environment");await x("webnn",xr(),u)}}},li=new Map,h0=u=>{let I=xr(),x=I.stackSave();try{let S=I.PTR_SIZE,L=I.stackAlloc(2*S);I._OrtGetInputOutputCount(u,L,L+S)!==0&&HA("Can't get session input/output count.");let W=S===4?"i32":"i64";return[Number(I.getValue(L,W)),Number(I.getValue(L+S,W))]}finally{I.stackRestore(x)}},n0=u=>{let I=xr(),x=I._malloc(u.byteLength);if(x===0)throw new Error(`Can't create a session. failed to allocate a buffer of size ${u.byteLength}.`);return I.HEAPU8.set(u,x),[x,u.byteLength]},Z0=async(u,I)=>{var Ee,te,Ge;let x,S,L=xr();Array.isArray(u)?[x,S]=u:u.buffer===L.HEAPU8.buffer?[x,S]=[u.byteOffset,u.byteLength]:[x,S]=n0(u);let W=0,Y=0,Ae=0,se=[],ne=[],ve=[];try{if([Y,se]=gn(I),(I==null?void 0:I.externalData)&&L.mountExternalData){let Dt=[];for(let Nt of I.externalData){let pA=typeof Nt=="string"?Nt:Nt.path;Dt.push(Qn(typeof Nt=="string"?Nt:Nt.data).then(xA=>{L.mountExternalData(pA,xA)}))}await Promise.all(Dt)}for(let Dt of(I==null?void 0:I.executionProviders)??[])if((typeof Dt=="string"?Dt:Dt.name)==="webnn"){if(L.shouldTransferToMLTensor=!1,typeof Dt!="string"){let Nt=Dt,pA=Nt==null?void 0:Nt.context,xA=Nt==null?void 0:Nt.gpuDevice,ar=Nt==null?void 0:Nt.deviceType,nr=Nt==null?void 0:Nt.powerPreference;L.currentContext=pA||(xA?await L.jsepCreateMLContext(xA):await L.jsepCreateMLContext({deviceType:ar,powerPreference:nr}))}else L.currentContext=await L.jsepCreateMLContext();break}W=await L._OrtCreateSession(x,S,Y),W===0&&HA("Can't create a session."),(Ee=L.jsepOnCreateSession)==null||Ee.call(L),L.currentContext&&(L.jsepRegisterMLContext(W,L.currentContext),L.currentContext=void 0,L.shouldTransferToMLTensor=!0);let[Fe,Ke]=h0(W),Ye=!!(I!=null&&I.enableGraphCapture),et=[],ft=[],bt=[];for(let Dt=0;Dt<Fe;Dt++){let Nt=L._OrtGetInputName(W,Dt);Nt===0&&HA("Can't get an input name."),ne.push(Nt),et.push(L.UTF8ToString(Nt))}for(let Dt=0;Dt<Ke;Dt++){let Nt=L._OrtGetOutputName(W,Dt);Nt===0&&HA("Can't get an output name."),ve.push(Nt);let pA=L.UTF8ToString(Nt);ft.push(pA);{if(Ye&&(I==null?void 0:I.preferredOutputLocation)===void 0){bt.push("gpu-buffer");continue}let xA=typeof(I==null?void 0:I.preferredOutputLocation)=="string"?I.preferredOutputLocation:((te=I==null?void 0:I.preferredOutputLocation)==null?void 0:te[pA])??"cpu";if(xA!=="cpu"&&xA!=="cpu-pinned"&&xA!=="gpu-buffer"&&xA!=="ml-tensor")throw new Error(`Not supported preferred output location: ${xA}.`);if(Ye&&xA!=="gpu-buffer")throw new Error(`Not supported preferred output location: ${xA}. Only 'gpu-buffer' location is supported when enableGraphCapture is true.`);bt.push(xA)}}let Mt=null;return bt.some(Dt=>Dt==="gpu-buffer"||Dt==="ml-tensor")&&(Ae=L._OrtCreateBinding(W),Ae===0&&HA("Can't create IO binding."),Mt={handle:Ae,outputPreferredLocations:bt,outputPreferredLocationsEncoded:bt.map(Dt=>yn(Dt))}),li.set(W,[W,ne,ve,Mt,Ye,!1]),[W,et,ft]}catch(Fe){throw ne.forEach(Ke=>L._OrtFree(Ke)),ve.forEach(Ke=>L._OrtFree(Ke)),Ae!==0&&L._OrtReleaseBinding(Ae)!==0&&HA("Can't release IO binding."),W!==0&&L._OrtReleaseSession(W)!==0&&HA("Can't release session."),Fe}finally{L._free(x),Y!==0&&L._OrtReleaseSessionOptions(Y)!==0&&HA("Can't release session options."),se.forEach(Fe=>L._free(Fe)),(Ge=L.unmountExternalData)==null||Ge.call(L)}},fl=u=>{var se;let I=xr(),x=li.get(u);if(!x)throw new Error(`cannot release session. invalid session id: ${u}`);let[S,L,W,Y,Ae]=x;Y&&(Ae&&I._OrtClearBoundOutputs(Y.handle)!==0&&HA("Can't clear bound outputs."),I._OrtReleaseBinding(Y.handle)!==0&&HA("Can't release IO binding.")),(se=I.jsepOnReleaseSession)==null||se.call(I,u),L.forEach(ne=>I._OrtFree(ne)),W.forEach(ne=>I._OrtFree(ne)),I._OrtReleaseSession(S)!==0&&HA("Can't release session."),li.delete(u)},dl=(u,I,x,S,L,W=!1)=>{if(!u)return void I.push(0);let Y,Ae,se=xr(),ne=se.PTR_SIZE,ve=u[0],Ee=u[1],te=u[3];if(ve==="string"&&(te==="gpu-buffer"||te==="ml-tensor"))throw new Error("String tensor is not supported on GPU.");if(W&&te!=="gpu-buffer")throw new Error(`External buffer must be provided for input/output index ${L} when enableGraphCapture is true.`);if(te==="gpu-buffer"){let Ke=u[2].gpuBuffer;Ae=ya(xs(ve),Ee);let Ye=se.jsepRegisterBuffer;if(!Ye)throw new Error('Tensor location "gpu-buffer" is not supported without using WebGPU.');Y=Ye(S,L,Ke,Ae)}else if(te==="ml-tensor"){let Ke=u[2].mlTensor;Ae=ya(xs(ve),Ee);let Ye=se.jsepRegisterMLTensor;if(!Ye)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');Y=Ye(Ke,xs(ve),Ee)}else{let Ke=u[2];if(Array.isArray(Ke)){Ae=ne*Ke.length,Y=se._malloc(Ae),x.push(Y);for(let Ye=0;Ye<Ke.length;Ye++){if(typeof Ke[Ye]!="string")throw new TypeError(`tensor data at index ${Ye} is not a string`);se.setValue(Y+Ye*ne,Dr(Ke[Ye],x),"*")}}else Ae=Ke.byteLength,Y=se._malloc(Ae),x.push(Y),se.HEAPU8.set(new Uint8Array(Ke.buffer,Ke.byteOffset,Ae),Y)}let Ge=se.stackSave(),Fe=se.stackAlloc(4*Ee.length);try{Ee.forEach((Ye,et)=>se.setValue(Fe+et*ne,Ye,ne===4?"i32":"i64"));let Ke=se._OrtCreateTensor(xs(ve),Y,Ae,Fe,Ee.length,yn(te));Ke===0&&HA(`Can't create tensor for input/output. session=${S}, index=${L}.`),I.push(Ke)}finally{se.stackRestore(Ge)}},gl=async(u,I,x,S,L,W)=>{var $r,ir;let Y=xr(),Ae=Y.PTR_SIZE,se=li.get(u);if(!se)throw new Error(`cannot run inference. invalid session id: ${u}`);let ne=se[0],ve=se[1],Ee=se[2],te=se[3],Ge=se[4],Fe=se[5],Ke=I.length,Ye=S.length,et=0,ft=[],bt=[],Mt=[],Dt=[],Nt=Y.stackSave(),pA=Y.stackAlloc(Ke*Ae),xA=Y.stackAlloc(Ke*Ae),ar=Y.stackAlloc(Ye*Ae),nr=Y.stackAlloc(Ye*Ae);try{($r=Y.jsepOnRunStart)==null||$r.call(Y,ne),[et,ft]=ss(W);for(let Vt=0;Vt<Ke;Vt++)dl(x[Vt],bt,Dt,u,I[Vt],Ge);for(let Vt=0;Vt<Ye;Vt++)dl(L[Vt],Mt,Dt,u,Ke+S[Vt],Ge);for(let Vt=0;Vt<Ke;Vt++)Y.setValue(pA+Vt*Ae,bt[Vt],"*"),Y.setValue(xA+Vt*Ae,ve[I[Vt]],"*");for(let Vt=0;Vt<Ye;Vt++)Y.setValue(ar+Vt*Ae,Mt[Vt],"*"),Y.setValue(nr+Vt*Ae,Ee[S[Vt]],"*");if(te&&!Fe){let{handle:Vt,outputPreferredLocations:ZA,outputPreferredLocationsEncoded:RA}=te;if(ve.length!==Ke)throw new Error(`input count from feeds (${Ke}) is expected to be always equal to model's input count (${ve.length}).`);for(let UA=0;UA<Ke;UA++){let us=I[UA];await Y._OrtBindInput(Vt,ve[us],bt[UA])!==0&&HA(`Can't bind input[${UA}] for session=${u}.`)}for(let UA=0;UA<Ye;UA++){let us=S[UA];(ir=L[UA])!=null&&ir[3]?Y._OrtBindOutput(Vt,Ee[us],Mt[UA],0)!==0&&HA(`Can't bind pre-allocated output[${UA}] for session=${u}.`):Y._OrtBindOutput(Vt,Ee[us],0,RA[us])!==0&&HA(`Can't bind output[${UA}] to ${ZA[UA]} for session=${u}.`)}li.set(u,[ne,ve,Ee,te,Ge,!0])}let Er;Er=te?await Y._OrtRunWithBinding(ne,te.handle,Ye,ar,et):await Y._OrtRun(ne,xA,pA,Ke,nr,Ye,ar,et),Er!==0&&HA("failed to call OrtRun().");let kr=[];for(let Vt=0;Vt<Ye;Vt++){let ZA=Number(Y.getValue(ar+Vt*Ae,"*"));if(ZA===Mt[Vt]){kr.push(L[Vt]);continue}let RA,UA=Y.stackSave(),us=Y.stackAlloc(4*Ae),za=!1,Rn=0;try{Y._OrtGetTensorData(ZA,us,us+Ae,us+2*Ae,us+3*Ae)!==0&&HA(`Can't access output tensor data on index ${Vt}.`);let m0=Ae===4?"i32":"i64",G0=Number(Y.getValue(us,m0));Rn=Y.getValue(us+Ae,"*");let pl=Y.getValue(us+2*Ae,"*"),Vo=Number(Y.getValue(us+3*Ae,m0)),b0=[];for(let Fs=0;Fs<Vo;Fs++)b0.push(Number(Y.getValue(pl+Fs*Ae,m0)));Y._OrtFree(pl)!==0&&HA("Can't free memory for tensor dims.");let C0=b0.reduce((Fs,Ni)=>Fs*Ni,1);RA=hn(G0);let Ho=te==null?void 0:te.outputPreferredLocations[S[Vt]];if(RA==="string"){if(Ho==="gpu-buffer"||Ho==="ml-tensor")throw new Error("String tensor is not supported on GPU.");let Fs=[];for(let Ni=0;Ni<C0;Ni++){let _0=Y.getValue(Rn+Ni*Ae,"*"),lf=Y.getValue(Rn+(Ni+1)*Ae,"*"),ml=Ni===C0-1?void 0:lf-_0;Fs.push(Y.UTF8ToString(_0,ml))}kr.push([RA,b0,Fs,"cpu"])}else if(Ho==="gpu-buffer"&&C0>0){let Fs=Y.jsepGetBuffer;if(!Fs)throw new Error('preferredLocation "gpu-buffer" is not supported without using WebGPU.');let Ni=Fs(Rn),_0=ya(G0,C0);if(_0===void 0||!Va(RA))throw new Error(`Unsupported data type: ${RA}`);za=!0,kr.push([RA,b0,{gpuBuffer:Ni,download:Y.jsepCreateDownloader(Ni,_0,RA),dispose:()=>{Y._OrtReleaseTensor(ZA)!==0&&HA("Can't release tensor.")}},"gpu-buffer"])}else if(Ho==="ml-tensor"&&C0>0){let Fs=Y.jsepEnsureTensor;if(!Fs)throw new Error('preferredLocation "ml-tensor" is not supported without using WebNN.');if(ya(G0,C0)===void 0||!ls(RA))throw new Error(`Unsupported data type: ${RA}`);let Ni=await Fs(Rn,G0,b0,!1);za=!0,kr.push([RA,b0,{mlTensor:Ni,download:Y.jsepCreateMLTensorDownloader(Rn,RA),dispose:()=>{Y.jsepReleaseTensorId(Rn),Y._OrtReleaseTensor(ZA)}},"ml-tensor"])}else{let Fs=new(ui(RA))(C0);new Uint8Array(Fs.buffer,Fs.byteOffset,Fs.byteLength).set(Y.HEAPU8.subarray(Rn,Rn+Fs.byteLength)),kr.push([RA,b0,Fs,"cpu"])}}finally{Y.stackRestore(UA),RA==="string"&&Rn&&Y._free(Rn),za||Y._OrtReleaseTensor(ZA)}}return te&&!Ge&&(Y._OrtClearBoundOutputs(te.handle)!==0&&HA("Can't clear bound outputs."),li.set(u,[ne,ve,Ee,te,Ge,!1])),kr}finally{Y.stackRestore(Nt),bt.forEach(Er=>Y._OrtReleaseTensor(Er)),Mt.forEach(Er=>Y._OrtReleaseTensor(Er)),Dt.forEach(Er=>Y._free(Er)),et!==0&&Y._OrtReleaseRunOptions(et),ft.forEach(Er=>Y._free(Er))}},Lu=u=>{let I=xr(),x=li.get(u);if(!x)throw new Error("invalid session id");let S=x[0],L=I._OrtEndProfiling(S);L===0&&HA("Can't get an profile file name."),I._OrtFree(L)},hl=u=>{let I=[];for(let x of u){let S=x[2];!Array.isArray(S)&&"buffer"in S&&I.push(S.buffer)}return I}}),vd=pe(()=>{lt(),kd(),u0(),l2(),Eo=()=>!!G.wasm.proxy&&typeof document<"u",M0=!1,D0=!1,p0=!1,b2=new Map,Si=(u,I)=>{let x=b2.get(u);x?x.push(I):b2.set(u,[I])},Tn=()=>{if(M0||!D0||p0||!ci)throw new Error("worker not ready")},fd=u=>{switch(u.data.type){case"init-wasm":M0=!1,u.data.err?(p0=!0,Vu[1](u.data.err)):(D0=!0,Vu[0]()),m2&&(URL.revokeObjectURL(m2),m2=void 0);break;case"init-ep":case"copy-from":case"create":case"release":case"run":case"end-profiling":{let I=b2.get(u.data.type);u.data.err?I.shift()[1](u.data.err):I.shift()[0](u.data.out);break}}},dd=async()=>{if(!D0){if(M0)throw new Error("multiple calls to 'initWasm()' detected.");if(p0)throw new Error("previous call to 'initWasm()' failed.");if(M0=!0,Eo())return new Promise((u,I)=>{ci==null||ci.terminate(),LA().then(([x,S])=>{var L;try{(ci=S).onerror=Y=>I(Y),ci.onmessage=fd,Vu=[u,I];let W={type:"init-wasm",in:G};!W.in.wasm.wasmPaths&&(x||(L=import.meta.url)!=null&&L.startsWith("file:"))&&(W.in.wasm.wasmPaths={wasm:new URL(s("./node_modules/onnxruntime-web/dist/ort-wasm-simd-threaded.jsep.wasm"),s.b).href}),ci.postMessage(W),m2=x}catch(W){I(W)}},I)});try{await Vr(G.wasm),await Ks(G),D0=!0}catch(u){throw p0=!0,u}finally{M0=!1}}},gd=async u=>{if(Eo())return Tn(),new Promise((I,x)=>{Si("init-ep",[I,x]);let S={type:"init-ep",in:{epName:u,env:G}};ci.postMessage(S)});await Na(G,u)},hd=async u=>Eo()?(Tn(),new Promise((I,x)=>{Si("copy-from",[I,x]);let S={type:"copy-from",in:{buffer:u}};ci.postMessage(S,[u.buffer])})):n0(u),pd=async(u,I)=>{if(Eo()){if(I!=null&&I.preferredOutputLocation)throw new Error('session option "preferredOutputLocation" is not supported for proxy.');return Tn(),new Promise((x,S)=>{Si("create",[x,S]);let L={type:"create",in:{model:u,options:{...I}}},W=[];u instanceof Uint8Array&&W.push(u.buffer),ci.postMessage(L,W)})}return Z0(u,I)},md=async u=>{if(Eo())return Tn(),new Promise((I,x)=>{Si("release",[I,x]);let S={type:"release",in:u};ci.postMessage(S)});fl(u)},bd=async(u,I,x,S,L,W)=>{if(Eo()){if(x.some(Y=>Y[3]!=="cpu"))throw new Error("input tensor on GPU is not supported for proxy.");if(L.some(Y=>Y))throw new Error("pre-allocated output tensor is not supported for proxy.");return Tn(),new Promise((Y,Ae)=>{Si("run",[Y,Ae]);let se=x,ne={type:"run",in:{sessionId:u,inputIndices:I,inputs:se,outputIndices:S,options:W}};ci.postMessage(ne,hl(se))})}return gl(u,I,x,S,L,W)},Cd=async u=>{if(Eo())return Tn(),new Promise((I,x)=>{Si("end-profiling",[I,x]);let S={type:"end-profiling",in:u};ci.postMessage(S)});Lu(u)}}),W3=pe(()=>{lt(),vd(),Cr(),xt(),zu(),af=(u,I)=>{switch(u.location){case"cpu":return[u.type,u.dims,u.data,"cpu"];case"gpu-buffer":return[u.type,u.dims,{gpuBuffer:u.gpuBuffer},"gpu-buffer"];case"ml-tensor":return[u.type,u.dims,{mlTensor:u.mlTensor},"ml-tensor"];default:throw new Error(`invalid data location: ${u.location} for ${I()}`)}},Id=u=>{switch(u[3]){case"cpu":return new F(u[0],u[2],u[1]);case"gpu-buffer":{let I=u[0];if(!Va(I))throw new Error(`not supported data type: ${I} for deserializing GPU tensor`);let{gpuBuffer:x,download:S,dispose:L}=u[2];return F.fromGpuBuffer(x,{dataType:I,dims:u[1],download:S,dispose:L})}case"ml-tensor":{let I=u[0];if(!ls(I))throw new Error(`not supported data type: ${I} for deserializing MLTensor tensor`);let{mlTensor:x,download:S,dispose:L}=u[2];return F.fromMLTensor(x,{dataType:I,dims:u[1],download:S,dispose:L})}default:throw new Error(`invalid data location: ${u[3]}`)}},wd=class{async fetchModelAndCopyToWasmMemory(u){return hd(await Qn(u))}async loadModel(u,I){let x;ce(),x=typeof u=="string"?await this.fetchModelAndCopyToWasmMemory(u):u,[this.sessionId,this.inputNames,this.outputNames]=await pd(x,I),ge()}async dispose(){return md(this.sessionId)}async run(u,I,x){ce();let S=[],L=[];Object.entries(u).forEach(Ee=>{let te=Ee[0],Ge=Ee[1],Fe=this.inputNames.indexOf(te);if(Fe===-1)throw new Error(`invalid input '${te}'`);S.push(Ge),L.push(Fe)});let W=[],Y=[];Object.entries(I).forEach(Ee=>{let te=Ee[0],Ge=Ee[1],Fe=this.outputNames.indexOf(te);if(Fe===-1)throw new Error(`invalid output '${te}'`);W.push(Ge),Y.push(Fe)});let Ae=S.map((Ee,te)=>af(Ee,()=>`input "${this.inputNames[L[te]]}"`)),se=W.map((Ee,te)=>Ee?af(Ee,()=>`output "${this.outputNames[Y[te]]}"`):null),ne=await bd(this.sessionId,L,Ae,Y,se,x),ve={};for(let Ee=0;Ee<ne.length;Ee++)ve[this.outputNames[Y[Ee]]]=W[Ee]??Id(ne[Ee]);return ge(),ve}startProfiling(){}endProfiling(){Cd(this.sessionId)}}}),yd={};it(yd,{OnnxruntimeWebAssemblyBackend:()=>of,initializeFlags:()=>nf,wasmBackend:()=>Ed});var nf,of,Ed,U3=pe(()=>{lt(),vd(),W3(),nf=()=>{if((typeof G.wasm.initTimeout!="number"||G.wasm.initTimeout<0)&&(G.wasm.initTimeout=0),G.wasm.simd===!1&&console.warn('Deprecated property "env.wasm.simd" is set to false. non-SIMD build is no longer provided, and this setting will be ignored.'),typeof G.wasm.proxy!="boolean"&&(G.wasm.proxy=!1),typeof G.wasm.trace!="boolean"&&(G.wasm.trace=!1),typeof G.wasm.numThreads!="number"||!Number.isInteger(G.wasm.numThreads)||G.wasm.numThreads<=0)if(typeof self<"u"&&!self.crossOriginIsolated)G.wasm.numThreads=1;else{let u=typeof navigator>"u"?_e("node:os").cpus().length:navigator.hardwareConcurrency;G.wasm.numThreads=Math.min(4,Math.ceil((u||1)/2))}},of=class{async init(u){nf(),await dd(),await gd(u)}async createInferenceSessionHandler(u,I){let x=new wd;return await x.loadModel(u,I),Promise.resolve(x)}},Ed=new of});lt(),lt(),lt();var K3=rt;{let u=(U3(),We(yd)).wasmBackend;p("webgpu",u,5),p("webnn",u,5),p("cpu",u,10),p("wasm",u,10)}Object.defineProperty(G.versions,"web",{value:"1.21.0-dev.20250206-d981b153d3",enumerable:!0})},
2803"./src/backends/onnx.js":(c,n,s)=>{var o;s.r(n),s.d(n,{Tensor:()=>b.Tensor,createInferenceSession:()=>U,deviceToExecutionProviders:()=>O,isONNXProxy:()=>X,isONNXTensor:()=>H});var f=s("./src/env.js"),p=s("?2ce3"),C=s("./node_modules/onnxruntime-web/dist/ort.bundle.min.mjs?3a96"),b=s("./node_modules/onnxruntime-common/dist/esm/index.js");const k=Object.freeze({auto:null,gpu:null,cpu:"cpu",wasm:"wasm",webgpu:"webgpu",cuda:"cuda",dml:"dml",webnn:{name:"webnn",deviceType:"cpu"},"webnn-npu":{name:"webnn",deviceType:"npu"},"webnn-gpu":{name:"webnn",deviceType:"gpu"},"webnn-cpu":{name:"webnn",deviceType:"cpu"}}),E=[];let B,G;const D=Symbol.for("onnxruntime");if(D in globalThis)G=globalThis[D];else if(f.apis.IS_NODE_ENV){switch(G=p??(o||(o=s.t(p,2))),process.platform){case"win32":E.push("dml");break;case"linux":process.arch==="x64"&&E.push("cuda")}E.push("cpu"),B=["cpu"]}else G=C,f.apis.IS_WEBNN_AVAILABLE&&E.push("webnn-npu","webnn-gpu","webnn-cpu","webnn"),f.apis.IS_WEBGPU_AVAILABLE&&E.push("webgpu"),E.push("wasm"),B=["wasm"];const _=G.InferenceSession;function O(g=null){if(!g)return B;switch(g){case"auto":return E;case"gpu":return E.filter(v=>["webgpu","cuda","dml","webnn-gpu"].includes(v))}if(E.includes(g))return[k[g]??g];throw new Error(`Unsupported device: "${g}". Should be one of: ${E.join(", ")}.`)}let j=null;async function U(g,v,e){j&&await j;const d=_.create(g,v);j??(j=d);const T=await d;return T.config=e,T}function H(g){return g instanceof G.Tensor}const Z=G==null?void 0:G.env;function X(){var g;return(g=Z==null?void 0:Z.wasm)==null?void 0:g.proxy}Z!=null&&Z.wasm&&(Z.wasm.wasmPaths=`https://cdn.jsdelivr.net/npm/@huggingface/transformers@${f.env.version}/dist/`,Z.wasm.proxy=!1,typeof crossOriginIsolated<"u"&&crossOriginIsolated||(Z.wasm.numThreads=1)),Z!=null&&Z.webgpu&&(Z.webgpu.powerPreference="high-performance"),f.env.backends.onnx=Z},
2803"./src/base/feature_extraction_utils.js":(c,n,s)=>{s.r(n),s.d(n,{FeatureExtractor:()=>C,validate_audio_inputs:()=>b});var o=s("./src/utils/constants.js"),f=s("./src/utils/generic.js"),p=s("./src/utils/hub.js");class C extends f.Callable{constructor(E){super(),this.config=E}static async from_pretrained(E,B){return new this(await(0,p.getModelJSON)(E,o.FEATURE_EXTRACTOR_NAME,!0,B))}}function b(k,E){var B;if(!(k instanceof Float32Array||k instanceof Float64Array))throw new Error(`${E} expects input to be a Float32Array or a Float64Array, but got ${((B=k==null?void 0:k.constructor)==null?void 0:B.name)??typeof k} instead. If using the feature extractor directly, remember to use \`read_audio(url, sampling_rate)\` to obtain the raw audio data of the file/url.`)}},
2803"./src/base/image_processors_utils.js":(c,n,s)=>{s.r(n),s.d(n,{ImageProcessor:()=>X,center_to_corners_format:()=>G,post_process_instance_segmentation:()=>Z,post_process_object_detection:()=>D,post_process_panoptic_segmentation:()=>H,post_process_semantic_segmentation:()=>_});var o=s("./src/utils/generic.js"),f=s("./src/utils/tensor.js"),p=s("./src/utils/maths.js");s("./src/utils/image.js");var C=s("./src/utils/core.js"),b=s("./src/utils/hub.js"),k=s("./src/utils/constants.js");function E(g,v,e=0,d=null){const T=g/v;let re=(0,p.bankers_round)(T)*v;return d!==null&&re>d&&(re=Math.floor(T)*v),re<e&&(re=Math.ceil(T)*v),re}function B([g,v],e){return[Math.max(Math.floor(g/e),1)*e,Math.max(Math.floor(v/e),1)*e]}function G([g,v,e,d]){return[g-e/2,v-d/2,g+e/2,v+d/2]}function D(g,v=.5,e=null,d=!1){const T=g.logits,re=g.pred_boxes,[N,F,Ce]=T.dims;if(e!==null&&e.length!==N)throw Error("Make sure that you pass in as many target sizes as the batch dimension of the logits");let he=[];for(let ce=0;ce<N;++ce){let ge=e!==null?e[ce]:null,Me={boxes:[],classes:[],scores:[]},Ue=T[ce],Ne=re[ce];for(let de=0;de<F;++de){let me,we=Ue[de],_e=[];if(d){me=we.sigmoid().data;for(let pe=0;pe<me.length;++pe)me[pe]>v&&_e.push(pe)}else{let pe=(0,p.max)(we.data)[1];if(pe===Ce-1||(me=(0,p.softmax)(we.data),me[pe]<v))continue;_e.push(pe)}for(const pe of _e){let it=Ne[de].data;it=G(it),ge!==null&&(it=it.map((We,ot)=>We*ge[(ot+1)%2])),Me.boxes.push(it),Me.classes.push(pe),Me.scores.push(me[pe])}}he.push(Me)}return he}function _(g,v=null){const e=g.logits,d=e.dims[0];if(v!==null&&v.length!==d)throw Error("Make sure that you pass in as many target sizes as the batch dimension of the logits");const T=[];for(let re=0;re<d;++re){const N=v!==null?v[re]:null;let F=e[re];N!==null&&(F=(0,f.interpolate)(F,N,"bilinear",!1));const[Ce,he]=N??F.dims.slice(-2),ce=new f.Tensor("int32",new Int32Array(Ce*he),[Ce,he]),ge=F[0].data,Me=ce.data;for(let de=1;de<F.dims[0];++de){const me=F[de].data;for(let we=0;we<me.length;++we)me[we]>ge[we]&&(ge[we]=me[we],Me[we]=de)}const Ue=new Array(F.dims[0]);for(let de=0;de<Me.length;++de){const me=Me[de];Ue[me]=me}const Ne=Ue.filter(de=>de!==void 0);T.push({segmentation:ce,labels:Ne})}return T}function O(g,v,e,d){const T=[],re=[],N=[];for(let F=0;F<g.dims[0];++F){const Ce=g[F],he=v[F],ce=(0,p.max)(Ce.data)[1];if(ce===d)continue;const ge=(0,p.softmax)(Ce.data)[ce];ge>e&&(T.push(he),re.push(ge),N.push(ce))}return[T,re,N]}function j(g,v,e,d=.5,T=.8){const re=[];let N=0,F=0;const Ce=v[e].data;for(let ce=0;ce<g.length;++ce)g[ce]===e&&(re.push(ce),++N),Ce[ce]>=d&&++F;let he=N>0&&F>0;return he&&(he=N/F>T),[he,re]}function U(g,v,e,d,T,re=null,N=null){const[F,Ce]=N??g[0].dims,he=new f.Tensor("int32",new Int32Array(F*Ce),[F,Ce]),ce=[];if(N!==null)for(let de=0;de<g.length;++de)g[de]=(0,f.interpolate)(g[de],N,"bilinear",!1);const ge=new Int32Array(g[0].data.length),Me=new Float32Array(g[0].data.length);for(let de=0;de<g.length;++de){let me=v[de];const we=g[de].data;for(let _e=0;_e<we.length;++_e)we[_e]*=me,we[_e]>Me[_e]&&(ge[_e]=de,Me[_e]=we[_e])}let Ue=0;const Ne=he.data;for(let de=0;de<e.length;++de){const me=e[de],[we,_e]=j(ge,g,de,d,T);if(we){++Ue;for(const pe of _e)Ne[pe]=Ue;ce.push({id:Ue,label_id:me,score:v[de]})}}return[he,ce]}function H(g,v=.5,e=.5,d=.8,T=null,re=null){T===null&&(console.warn("`label_ids_to_fuse` unset. No instance will be fused."),T=new Set);const N=g.class_queries_logits??g.logits,F=(g.masks_queries_logits??g.pred_masks).sigmoid();let[Ce,he,ce]=N.dims;if(ce-=1,re!==null&&re.length!==Ce)throw Error("Make sure that you pass in as many target sizes as the batch dimension of the logits");let ge=[];for(let Me=0;Me<Ce;++Me){let Ue=re!==null?re[Me]:null,Ne=N[Me],de=F[Me],[me,we,_e]=O(Ne,de,v,ce);if(_e.length===0){let[We,ot]=Ue??de.dims.slice(-2),pt=new f.Tensor("int32",new Int32Array(We*ot).fill(-1),[We,ot]);ge.push({segmentation:pt,segments_info:[]});continue}let[pe,it]=U(me,we,_e,e,d,T,Ue);ge.push({segmentation:pe,segments_info:it})}return ge}function Z(g,v=.5,e=null){throw new Error("`post_process_instance_segmentation` is not yet implemented.")}class X extends o.Callable{constructor(v){super(),this.image_mean=v.image_mean??v.mean,this.image_std=v.image_std??v.std,this.resample=v.resample??2,this.do_rescale=v.do_rescale??!0,this.rescale_factor=v.rescale_factor??1/255,this.do_normalize=v.do_normalize,this.do_thumbnail=v.do_thumbnail,this.size=v.size??v.image_size,this.do_resize=v.do_resize??this.size!==void 0,this.size_divisibility=v.size_divisibility??v.size_divisor,this.do_center_crop=v.do_center_crop,this.crop_size=v.crop_size,this.do_convert_rgb=v.do_convert_rgb??!0,this.do_crop_margin=v.do_crop_margin,this.pad_size=v.pad_size,this.do_pad=v.do_pad,this.do_pad&&!this.pad_size&&this.size&&this.size.width!==void 0&&this.size.height!==void 0&&(this.pad_size=this.size),this.do_flip_channel_order=v.do_flip_channel_order??!1,this.config=v}async thumbnail(v,e,d=2){const T=v.height,re=v.width,N=e.height,F=e.width;let Ce=Math.min(T,N),he=Math.min(re,F);return Ce===T&&he===re?v:(T>re?he=Math.floor(re*Ce/T):re>T&&(Ce=Math.floor(T*he/re)),await v.resize(he,Ce,{resample:d}))}async crop_margin(v,e=200){const d=v.clone().grayscale(),T=(0,p.min)(d.data)[0],re=(0,p.max)(d.data)[0]-T;if(re===0)return v;const N=e/255;let F=d.width,Ce=d.height,he=0,ce=0;const ge=d.data;for(let Me=0;Me<d.height;++Me){const Ue=Me*d.width;for(let Ne=0;Ne<d.width;++Ne)(ge[Ue+Ne]-T)/re<N&&(F=Math.min(F,Ne),Ce=Math.min(Ce,Me),he=Math.max(he,Ne),ce=Math.max(ce,Me))}return v=await v.crop([F,Ce,he,ce])}pad_image(v,e,d,{mode:T="constant",center:re=!1,constant_values:N=0}={}){const[F,Ce,he]=e;let ce,ge;
2803if(typeof d=="number"?(ce=d,ge=d):d==="square"?ce=ge=Math.max(F,Ce):(ce=d.width,ge=d.height),ce!==Ce||ge!==F){const Me=new Float32Array(ce*ge*he);if(Array.isArray(N))for(let de=0;de<Me.length;++de)Me[de]=N[de%he];else N!==0&&Me.fill(N);const[Ue,Ne]=re?[Math.floor((ce-Ce)/2),Math.floor((ge-F)/2)]:[0,0];for(let de=0;de<F;++de){const me=(de+Ne)*ce,we=de*Ce;for(let _e=0;_e<Ce;++_e){const pe=(me+_e+Ue)*he,it=(we+_e)*he;for(let We=0;We<he;++We)Me[pe+We]=v[it+We]}}if(T==="symmetric"){if(re)throw new Error("`center` padding is not supported when `mode` is set to `symmetric`.");const de=F-1,me=Ce-1;for(let we=0;we<ge;++we){const _e=we*ce,pe=(0,C.calculateReflectOffset)(we,de)*Ce;for(let it=0;it<ce;++it){if(we<F&&it<Ce)continue;const We=(_e+it)*he,ot=(pe+(0,C.calculateReflectOffset)(it,me))*he;for(let pt=0;pt<he;++pt)Me[We+pt]=v[ot+pt]}}}v=Me,e=[ge,ce,he]}return[v,e]}rescale(v){for(let e=0;e<v.length;++e)v[e]=this.rescale_factor*v[e]}get_resize_output_image_size(v,e){const[d,T]=v.size;let re,N;if(this.do_thumbnail){const{height:F,width:Ce}=e;re=Math.min(F,Ce)}else Number.isInteger(e)?(re=e,N=this.config.max_size??re):e!==void 0&&(re=e.shortest_edge,N=e.longest_edge);if(re!==void 0||N!==void 0){const F=re===void 0?1:Math.max(re/d,re/T),Ce=d*F,he=T*F,ce=N===void 0?1:Math.min(N/Ce,N/he);let ge=Math.floor(Number((Ce*ce).toFixed(2))),Me=Math.floor(Number((he*ce).toFixed(2)));return this.size_divisibility!==void 0&&([ge,Me]=B([ge,Me],this.size_divisibility)),[ge,Me]}if(e!==void 0&&e.width!==void 0&&e.height!==void 0){let F=e.width,Ce=e.height;if(this.config.keep_aspect_ratio&&this.config.ensure_multiple_of){let he=Ce/T,ce=F/d;Math.abs(1-ce)<Math.abs(1-he)?he=ce:ce=he,Ce=E(he*T,this.config.ensure_multiple_of),F=E(ce*d,this.config.ensure_multiple_of)}return[F,Ce]}if(this.size_divisibility!==void 0)return B([d,T],this.size_divisibility);if(e.min_pixels!==void 0&&e.max_pixels!==void 0){const{min_pixels:F,max_pixels:Ce}=e;return function(he,ce,ge=28,Me=3136,Ue=1003520){if(he<ge||ce<ge)throw new Error(`height:${he} or width:${ce} must be larger than factor:${ge}`);if(Math.max(he,ce)/Math.min(he,ce)>200)throw new Error("absolute aspect ratio must be smaller than 200, got "+Math.max(he,ce)/Math.min(he,ce));let Ne=Math.round(he/ge)*ge,de=Math.round(ce/ge)*ge;if(Ne*de>Ue){const me=Math.sqrt(he*ce/Ue);Ne=Math.floor(he/me/ge)*ge,de=Math.floor(ce/me/ge)*ge}else if(Ne*de<Me){const me=Math.sqrt(Me/(he*ce));Ne=Math.ceil(he*me/ge)*ge,de=Math.ceil(ce*me/ge)*ge}return[Ne,de]}(T,d,this.config.patch_size*this.config.merge_size,F,Ce)}throw new Error(`Could not resize image due to unsupported \`this.size\` option in config: ${JSON.stringify(e)}`)}async resize(v){const[e,d]=this.get_resize_output_image_size(v,this.size);return await v.resize(e,d,{resample:this.resample})}async preprocess(v,{do_normalize:e=null,do_pad:d=null,do_convert_rgb:T=null,do_convert_grayscale:re=null,do_flip_channel_order:N=null}={}){this.do_crop_margin&&(v=await this.crop_margin(v));const[F,Ce]=v.size;if(T??this.do_convert_rgb?v=v.rgb():re&&(v=v.grayscale()),this.do_resize&&(v=await this.resize(v)),this.do_thumbnail&&(v=await this.thumbnail(v,this.size,this.resample)),this.do_center_crop){let Me,Ue;Number.isInteger(this.crop_size)?(Me=this.crop_size,Ue=this.crop_size):(Me=this.crop_size.width,Ue=this.crop_size.height),v=await v.center_crop(Me,Ue)}const he=[v.height,v.width];let ce=Float32Array.from(v.data),ge=[v.height,v.width,v.channels];if(this.do_rescale&&this.rescale(ce),e??this.do_normalize){let Me=this.image_mean;Array.isArray(this.image_mean)||(Me=new Array(v.channels).fill(Me));let Ue=this.image_std;if(Array.isArray(this.image_std)||(Ue=new Array(v.channels).fill(Me)),Me.length!==v.channels||Ue.length!==v.channels)throw new Error(`When set to arrays, the length of \`image_mean\` (${Me.length}) and \`image_std\` (${Ue.length}) must match the number of channels in the image (${v.channels}).`);for(let Ne=0;Ne<ce.length;Ne+=v.channels)for(let de=0;de<v.channels;++de)ce[Ne+de]=(ce[Ne+de]-Me[de])/Ue[de]}if(d??this.do_pad){if(this.pad_size)[ce,ge]=this.pad_image(ce,[v.height,v.width,v.channels],this.pad_size);else if(this.size_divisibility){const[Me,Ue]=B([ge[1],ge[0]],this.size_divisibility);[ce,ge]=this.pad_image(ce,ge,{width:Me,height:Ue})}}if(N??this.do_flip_channel_order){if(ge[2]!==3)throw new Error("Flipping channel order is only supported for RGB images.");for(let Me=0;Me<ce.length;Me+=3){const Ue=ce[Me];ce[Me]=ce[Me+2],ce[Me+2]=Ue}}return{original_size:[Ce,F],reshaped_input_size:he,pixel_values:new f.Tensor("float32",ce,ge).permute(2,0,1)}}async _call(v,...e){Array.isArray(v)||(v=[v]);const d=await Promise.all(v.map(re=>this.preprocess(re)));return{pixel_values:(0,f.stack)(d.map(re=>re.pixel_values),0),original_sizes:d.map(re=>re.original_size),reshaped_input_sizes:d.map(re=>re.reshaped_input_size)}}static async from_pretrained(v,e){return new this(await(0,b.getModelJSON)(v,k.IMAGE_PROCESSOR_NAME,!0,e))}}},
2803"./src/base/processing_utils.js":(c,n,s)=>{s.r(n),s.d(n,{Processor:()=>C});var o=s("./src/utils/constants.js"),f=s("./src/utils/generic.js"),p=s("./src/utils/hub.js");class C extends f.Callable{constructor(k,E){super(),this.config=k,this.components=E}get image_processor(){return this.components.image_processor}get tokenizer(){return this.components.tokenizer}get feature_extractor(){return this.components.feature_extractor}apply_chat_template(k,E={}){if(!this.tokenizer)throw new Error("Unable to apply chat template without a tokenizer.");return this.tokenizer.apply_chat_template(k,{tokenize:!1,...E})}batch_decode(...k){if(!this.tokenizer)throw new Error("Unable to decode without a tokenizer.");return this.tokenizer.batch_decode(...k)}decode(...k){if(!this.tokenizer)throw new Error("Unable to decode without a tokenizer.");return this.tokenizer.decode(...k)}async _call(k,...E){for(const B of[this.image_processor,this.feature_extractor,this.tokenizer])if(B)return B(k,...E);throw new Error("No image processor, feature extractor, or tokenizer found.")}static async from_pretrained(k,E){const[B,G]=await Promise.all([this.uses_processor_config?(0,p.getModelJSON)(k,o.PROCESSOR_NAME,!0,E):{},Promise.all(this.classes.filter(D=>D in this).map(async D=>{const _=await this[D].from_pretrained(k,E);return[D.replace(/_class$/,""),_]})).then(Object.fromEntries)]);return new this(B,G)}}Ct(C,"classes",["image_processor_class","tokenizer_class","feature_extractor_class"]),Ct(C,"uses_processor_config",!1)},
2803"./src/configs.js":(c,n,s)=>{s.r(n),s.d(n,{AutoConfig:()=>k,PretrainedConfig:()=>b,getKeyValueShapes:()=>C});var o=s("./src/utils/core.js"),f=s("./src/utils/hub.js");function p(E){const B={};let G={};switch(E.model_type){case"llava":case"paligemma":case"florence2":case"llava_onevision":case"idefics3":G=p(E.text_config);break;case"moondream1":G=p(E.phi_config);break;case"musicgen":G=p(E.decoder);break;case"multi_modality":G=p(E.language_config);break;case"gpt2":case"gptj":case"jais":case"codegen":case"gpt_bigcode":B.num_heads="n_head",B.num_layers="n_layer",B.hidden_size="n_embd";break;case"gpt_neox":case"stablelm":case"opt":case"falcon":B.num_heads="num_attention_heads",B.num_layers="num_hidden_layers",B.hidden_size="hidden_size";break;case"llama":case"olmo":case"olmo2":case"mobilellm":case"granite":case"cohere":case"mistral":case"starcoder2":case"qwen2":case"qwen2_vl":case"phi":case"phi3":case"phi3_v":B.num_heads="num_key_value_heads",B.num_layers="num_hidden_layers",B.hidden_size="hidden_size",B.num_attention_heads="num_attention_heads";break;case"gemma":case"gemma2":case"glm":case"helium":B.num_heads="num_key_value_heads",B.num_layers="num_hidden_layers",B.dim_kv="head_dim";break;case"openelm":B.num_heads="num_kv_heads",B.num_layers="num_transformer_layers",B.dim_kv="head_dim";break;case"gpt_neo":case"donut-swin":B.num_heads="num_heads",B.num_layers="num_layers",B.hidden_size="hidden_size";break;case"bloom":B.num_heads="n_head",B.num_layers="n_layer",B.hidden_size="hidden_size";break;case"mpt":B.num_heads="n_heads",B.num_layers="n_layers",B.hidden_size="d_model";break;case"exaone":B.num_heads="num_key_value_heads",B.num_layers="num_layers",B.dim_kv="head_dim",B.num_attention_heads="num_attention_heads";break;case"t5":case"mt5":case"longt5":B.num_decoder_layers="num_decoder_layers",B.num_decoder_heads="num_heads",B.decoder_dim_kv="d_kv",B.num_encoder_layers="num_layers",B.num_encoder_heads="num_heads",B.encoder_dim_kv="d_kv";break;case"bart":case"mbart":case"marian":case"whisper":case"m2m_100":case"blenderbot":case"blenderbot-small":case"florence2_language":B.num_decoder_layers="decoder_layers",B.num_decoder_heads="decoder_attention_heads",B.decoder_hidden_size="d_model",B.num_encoder_layers="encoder_layers",B.num_encoder_heads="encoder_attention_heads",B.encoder_hidden_size="d_model";break;case"speecht5":B.num_decoder_layers="decoder_layers",B.num_decoder_heads="decoder_attention_heads",B.decoder_hidden_size="hidden_size",B.num_encoder_layers="encoder_layers",B.num_encoder_heads="encoder_attention_heads",B.encoder_hidden_size="hidden_size";break;case"trocr":B.num_encoder_layers=B.num_decoder_layers="decoder_layers",B.num_encoder_heads=B.num_decoder_heads="decoder_attention_heads",B.encoder_hidden_size=B.decoder_hidden_size="d_model";break;case"musicgen_decoder":B.num_encoder_layers=B.num_decoder_layers="num_hidden_layers",B.num_encoder_heads=B.num_decoder_heads="num_attention_heads",B.encoder_hidden_size=B.decoder_hidden_size="hidden_size";break;case"moonshine":B.num_decoder_layers="decoder_num_hidden_layers",B.num_decoder_heads="decoder_num_key_value_heads",B.num_encoder_layers="encoder_num_hidden_layers",B.num_encoder_heads="encoder_num_key_value_heads",B.encoder_hidden_size=B.decoder_hidden_size="hidden_size";break;case"vision-encoder-decoder":const _=p(E.decoder),O="num_decoder_layers"in _,j=(0,o.pick)(E,["model_type","is_encoder_decoder"]);return O?(j.num_decoder_layers=_.num_decoder_layers,j.num_decoder_heads=_.num_decoder_heads,j.decoder_hidden_size=_.decoder_hidden_size,j.num_encoder_layers=_.num_encoder_layers,j.num_encoder_heads=_.num_encoder_heads,j.encoder_hidden_size=_.encoder_hidden_size):(j.num_layers=_.num_layers,j.num_heads=_.num_heads,j.hidden_size=_.hidden_size),j}const D={...G,...(0,o.pick)(E,["model_type","multi_query","is_encoder_decoder"])};for(const _ in B)D[_]=E[B[_]];return D}function C(E,{prefix:B="past_key_values",batch_size:G=1}={}){const D={},_=E.normalized_config;if(_.is_encoder_decoder&&"num_encoder_heads"in _&&"num_decoder_heads"in _){const O=_.encoder_dim_kv??_.encoder_hidden_size/_.num_encoder_heads,j=_.decoder_dim_kv??_.decoder_hidden_size/_.num_decoder_heads,U=[G,_.num_encoder_heads,0,O],H=[G,_.num_decoder_heads,0,j];for(let Z=0;Z<_.num_decoder_layers;++Z)D[`${B}.${Z}.encoder.key`]=U,D[`${B}.${Z}.encoder.value`]=U,D[`${B}.${Z}.decoder.key`]=H,D[`${B}.${Z}.decoder.value`]=H}else{const O=_.num_heads,j=_.num_layers,U=_.dim_kv??_.hidden_size/(_.num_attention_heads??O);if(_.model_type==="falcon"){const H=[G*O,0,U];for(let Z=0;Z<j;++Z)D[`${B}.${Z}.key`]=H,D[`${B}.${Z}.value`]=H}else if(_.multi_query){const H=[G*O,0,2*U];for(let Z=0;Z<j;++Z)D[`${B}.${Z}.key_value`]=H}else if(_.model_type==="bloom"){const H=[G*O,U,0],Z=[G*O,0,U];for(let X=0;X<j;++X)D[`${B}.${X}.key`]=H,D[`${B}.${X}.value`]=Z}else if(_.model_type==="openelm")for(let H=0;H<j;++H){const Z=[G,O[H],0,U];D[`${B}.${H}.key`]=Z,D[`${B}.${H}.value`]=Z}else{const H=[G,O,0,U];for(let Z=0;Z<j;++Z)D[`${B}.${Z}.key`]=H,D[`${B}.${Z}.value`]=H}}return D}class b{constructor(B){Ct(this,"model_type",null);Ct(this,"is_encoder_decoder",!1);Ct(this,"max_position_embeddings");Ct(this,"transformers.js_config");Object.assign(this,B),this.normalized_config=p(this)}static async from_pretrained(B,{progress_callback:G=null,config:D=null,cache_dir:_=null,local_files_only:O=!1,revision:j="main"}={}){!D||D instanceof b||(D=new b(D));const U=D??await async function(H,Z){return await(0,f.getModelJSON)(H,"config.json",!0,Z)}(B,{progress_callback:G,config:D,cache_dir:_,local_files_only:O,revision:j});return new this(U)}}class k{static async from_pretrained(...B){return b.from_pretrained(...B)}}},
2803"./src/env.js":(c,n,s)=>{var e,d;s.r(n),s.d(n,{apis:()=>j,env:()=>g});var o=s("?569f"),f=s("?3f59"),p=s("?154a");const C=typeof window<"u"&&window.document!==void 0,b=typeof self<"u"&&((e=self.constructor)==null?void 0:e.name)==="DedicatedWorkerGlobalScope",k=typeof self<"u"&&"caches"in self,E=typeof navigator<"u"&&"gpu"in navigator,B=typeof navigator<"u"&&"ml"in navigator,G=typeof process<"u",D=G&&((d=process==null?void 0:process.release)==null?void 0:d.name)==="node",_=!v(o),O=!v(f),j=Object.freeze({IS_BROWSER_ENV:C,IS_WEBWORKER_ENV:b,IS_WEB_CACHE_AVAILABLE:k,IS_WEBGPU_AVAILABLE:E,IS_WEBNN_AVAILABLE:B,IS_PROCESS_AVAILABLE:G,IS_NODE_ENV:D,IS_FS_AVAILABLE:_,IS_PATH_AVAILABLE:O}),U=_&&O;let H="./";if(U){const T=Object(import.meta).url;T?H=f.dirname(f.dirname(p.fileURLToPath(T))):typeof __dirname<"u"&&(H=f.dirname(__dirname))}const Z=U?f.join(H,"/.cache/"):null,X="/models/",g={version:"3.3.3",backends:{onnx:{}},allowRemoteModels:!0,remoteHost:"https://huggingface.co/",remotePathTemplate:"{model}/resolve/{revision}/",allowLocalModels:!(C||b),localModelPath:U?f.join(H,X):X,useFS:_,useBrowserCache:k,useFSCache:_,cacheDir:Z,useCustomCache:!1,customCache:null};function v(T){return Object.keys(T).length===0}},
2803"./src/generation/configuration_utils.js":(c,n,s)=>{s.r(n),s.d(n,{GenerationConfig:()=>f});var o=s("./src/utils/core.js");class f{constructor(C){Ct(this,"max_length",20);Ct(this,"max_new_tokens",null);Ct(this,"min_length",0);Ct(this,"min_new_tokens",null);Ct(this,"early_stopping",!1);Ct(this,"max_time",null);Ct(this,"do_sample",!1);Ct(this,"num_beams",1);Ct(this,"num_beam_groups",1);Ct(this,"penalty_alpha",null);Ct(this,"use_cache",!0);Ct(this,"temperature",1);Ct(this,"top_k",50);Ct(this,"top_p",1);Ct(this,"typical_p",1);Ct(this,"epsilon_cutoff",0);Ct(this,"eta_cutoff",0);Ct(this,"diversity_penalty",0);Ct(this,"repetition_penalty",1);Ct(this,"encoder_repetition_penalty",1);Ct(this,"length_penalty",1);Ct(this,"no_repeat_ngram_size",0);Ct(this,"bad_words_ids",null);Ct(this,"force_words_ids",null);Ct(this,"renormalize_logits",!1);Ct(this,"constraints",null);Ct(this,"forced_bos_token_id",null);Ct(this,"forced_eos_token_id",null);Ct(this,"remove_invalid_values",!1);Ct(this,"exponential_decay_length_penalty",null);Ct(this,"suppress_tokens",null);Ct(this,"streamer",null);Ct(this,"begin_suppress_tokens",null);Ct(this,"forced_decoder_ids",null);Ct(this,"guidance_scale",null);Ct(this,"num_return_sequences",1);Ct(this,"output_attentions",!1);Ct(this,"output_hidden_states",!1);Ct(this,"output_scores",!1);Ct(this,"return_dict_in_generate",!1);Ct(this,"pad_token_id",null);Ct(this,"bos_token_id",null);Ct(this,"eos_token_id",null);Ct(this,"encoder_no_repeat_ngram_size",0);Ct(this,"decoder_start_token_id",null);Ct(this,"generation_kwargs",{});Object.assign(this,(0,o.pick)(C,Object.getOwnPropertyNames(this)))}}},
vendor: 5,404 bytes, line 2803
2803"./src/generation/logits_process.js":(c,n,s)=>{s.r(n),s.d(n,{ClassifierFreeGuidanceLogitsProcessor:()=>H,ForcedBOSTokenLogitsProcessor:()=>k,ForcedEOSTokenLogitsProcessor:()=>E,LogitsProcessor:()=>p,LogitsProcessorList:()=>b,LogitsWarper:()=>C,MinLengthLogitsProcessor:()=>O,MinNewTokensLengthLogitsProcessor:()=>j,NoBadWordsLogitsProcessor:()=>U,NoRepeatNGramLogitsProcessor:()=>D,RepetitionPenaltyLogitsProcessor:()=>_,SuppressTokensAtBeginLogitsProcessor:()=>B,TemperatureLogitsWarper:()=>Z,TopKLogitsWarper:()=>g,TopPLogitsWarper:()=>X,WhisperTimeStampLogitsProcessor:()=>G});var o=s("./src/utils/generic.js");s("./src/utils/tensor.js");var f=s("./src/utils/maths.js");class p extends o.Callable{_call(e,d){throw Error("`_call` should be implemented in a subclass")}}class C extends o.Callable{_call(e,d){throw Error("`_call` should be implemented in a subclass")}}class b extends o.Callable{constructor(){super(),this.processors=[]}push(e){this.processors.push(e)}extend(e){this.processors.push(...e)}_call(e,d){let T=d;for(const re of this.processors)T=re(e,T);return T}[Symbol.iterator](){return this.processors.values()}}class k extends p{constructor(e){super(),this.bos_token_id=e}_call(e,d){for(let T=0;T<e.length;++T)if(e[T].length===1){const re=d[T].data;re.fill(-1/0),re[this.bos_token_id]=0}return d}}class E extends p{constructor(e,d){super(),this.max_length=e,this.eos_token_id=Array.isArray(d)?d:[d]}_call(e,d){for(let T=0;T<e.length;++T)if(e[T].length===this.max_length-1){const re=d[T].data;re.fill(-1/0);for(const N of this.eos_token_id)re[N]=0}return d}}class B extends p{constructor(e,d){super(),this.begin_suppress_tokens=e,this.begin_index=d}_call(e,d){for(let T=0;T<e.length;++T)if(e[T].length===this.begin_index){const re=d[T].data;for(const N of this.begin_suppress_tokens)re[N]=-1/0}return d}}class G extends p{constructor(e,d){super(),this.eos_token_id=Array.isArray(e.eos_token_id)?e.eos_token_id[0]:e.eos_token_id,this.no_timestamps_token_id=e.no_timestamps_token_id,this.timestamp_begin=this.no_timestamps_token_id+1,this.begin_index=d.length,d.at(-1)===this.no_timestamps_token_id&&(this.begin_index-=1),this.max_initial_timestamp_index=e.max_initial_timestamp_index}_call(e,d){for(let T=0;T<e.length;++T){const re=d[T].data;if(re[this.no_timestamps_token_id]=-1/0,e[T].length===this.begin_index-1){re.fill(-1/0),re[this.timestamp_begin]=0;continue}const N=e[T].slice(this.begin_index),F=N.length>=1&&N[N.length-1]>=this.timestamp_begin,Ce=N.length<2||N[N.length-2]>=this.timestamp_begin;if(F&&(Ce?re.subarray(this.timestamp_begin).fill(-1/0):re.subarray(0,this.eos_token_id).fill(-1/0)),e[T].length===this.begin_index&&this.max_initial_timestamp_index!==null){const ge=this.timestamp_begin+this.max_initial_timestamp_index;re.subarray(ge+1).fill(-1/0)}const he=(0,f.log_softmax)(re);Math.log(he.subarray(this.timestamp_begin).map(Math.exp).reduce((ge,Me)=>ge+Me))>(0,f.max)(he.subarray(0,this.timestamp_begin))[0]&&re.subarray(0,this.timestamp_begin).fill(-1/0)}return d}}class D extends p{constructor(e){super(),this.no_repeat_ngram_size=e}getNgrams(e){const d=e.length,T=[];for(let N=0;N<d+1-this.no_repeat_ngram_size;++N){const F=[];for(let Ce=0;Ce<this.no_repeat_ngram_size;++Ce)F.push(e[N+Ce]);T.push(F.map(Number))}const re=new Map;for(const N of T){const F=N.slice(0,N.length-1),Ce=JSON.stringify(F),he=re.get(Ce)??[];he.push(N[N.length-1]),re.set(Ce,he)}return re}getGeneratedNgrams(e,d){const T=d.slice(d.length+1-this.no_repeat_ngram_size,d.length);return e.get(JSON.stringify(T.map(Number)))??[]}calcBannedNgramTokens(e){const d=[];if(e.length+1<this.no_repeat_ngram_size)return d;{const T=this.getNgrams(e);return this.getGeneratedNgrams(T,e)}}_call(e,d){for(let T=0;T<e.length;++T){const re=d[T].data,N=this.calcBannedNgramTokens(e[T]);for(const F of N)re[F]=-1/0}return d}}class _ extends p{constructor(e){super(),this.penalty=e}_call(e,d){for(let T=0;T<e.length;++T){const re=d[T].data;for(const N of new Set(e[T])){const F=Number(N);re[F]<0?re[F]*=this.penalty:re[F]/=this.penalty}}return d}}class O extends p{constructor(e,d){super(),this.min_length=e,this.eos_token_id=Array.isArray(d)?d:[d]}_call(e,d){for(let T=0;T<e.length;++T)if(e[T].length<this.min_length){const re=d[T].data;for(const N of this.eos_token_id)re[N]=-1/0}return d}}class j extends p{constructor(e,d,T){super(),this.prompt_length_to_skip=e,this.min_new_tokens=d,this.eos_token_id=Array.isArray(T)?T:[T]}_call(e,d){for(let T=0;T<e.length;++T)if(e[T].length-this.prompt_length_to_skip<this.min_new_tokens){const re=d[T].data;for(const N of this.eos_token_id)re[N]=-1/0}return d}}class U extends p{constructor(e,d){super(),this.bad_words_ids=e,this.eos_token_id=Array.isArray(d)?d:[d]}_call(e,d){for(let T=0;T<e.length;++T){const re=d[T].data,N=e[T];for(const F of this.bad_words_ids){let Ce=!0;for(let he=1;he<=F.length-1&&F.length<N.length;++he)if(F.at(-he-1)!=N.at(-he)){Ce=!1;break}Ce&&(re[F.at(-1)]=-1/0)}}return d}}class H extends p{constructor(e){if(super(),e<=1)throw new Error(`Require guidance scale >1 to use the classifier free guidance processor, got guidance scale ${e}.`);this.guidance_scale=e}_call(e,d){if(d.dims[0]!==2*e.length)throw new Error(`Logits should have twice the batch size of the input ids, the first half of batches corresponding to the conditional inputs, and the second half of batches corresponding to the unconditional inputs. Got batch size ${d.dims[
28030]} for the logits and ${e.length} for the input ids.`);const T=e.length,re=d.slice([0,T],null),N=d.slice([T,d.dims[0]],null);for(let F=0;F<N.data.length;++F)N.data[F]+=(re.data[F]-N.data[F])*this.guidance_scale;return N}}class Z extends C{constructor(e){super(),this.temperature=e}_call(e,d){const T=d.data;for(let re=0;re<T.length;++re)T[re]/=this.temperature;return d}}class X extends C{constructor(e,{filter_value:d=-1/0,min_tokens_to_keep:T=1}={}){if(super(),e<0||e>1)throw new Error(`\`top_p\` must be a float > 0 and < 1, but is ${e}`);if(!Number.isInteger(T)||T<1)throw new Error(`\`min_tokens_to_keep\` must be a positive integer, but is ${T}`);this.top_p=e,this.filter_value=d,this.min_tokens_to_keep=T}}class g extends C{constructor(e,{filter_value:d=-1/0,min_tokens_to_keep:T=1}={}){if(super(),!Number.isInteger(e)||e<0)throw new Error(`\`top_k\` must be a positive integer, but is ${e}`);this.top_k=Math.max(e,T),this.filter_value=d}}},
2803"./src/generation/logits_sampler.js":(c,n,s)=>{s.r(n),s.d(n,{LogitsSampler:()=>C});var o=s("./src/utils/generic.js"),f=s("./src/utils/tensor.js"),p=s("./src/utils/maths.js");s("./src/generation/configuration_utils.js");class C extends o.Callable{constructor(G){super(),this.generation_config=G}async _call(G){return this.sample(G)}async sample(G){throw Error("sample should be implemented in subclasses.")}getLogits(G,D){let _=G.dims.at(-1),O=G.data;if(D===-1)O=O.slice(-_);else{let j=D*_;O=O.slice(j,j+_)}return O}randomSelect(G){let D=0;for(let O=0;O<G.length;++O)D+=G[O];let _=Math.random()*D;for(let O=0;O<G.length;++O)if(_-=G[O],_<=0)return O;return 0}static getSampler(G){if(G.do_sample)return new k(G);if(G.num_beams>1)return new E(G);if(G.num_return_sequences>1)throw Error(`num_return_sequences has to be 1 when doing greedy search, but is ${G.num_return_sequences}.`);return new b(G)}}class b extends C{async sample(G){const D=(0,p.max)(G.data)[1];return[[BigInt(D),0]]}}class k extends C{async sample(G){let D=G.dims.at(-1);this.generation_config.top_k>0&&(D=Math.min(this.generation_config.top_k,D));const[_,O]=await(0,f.topk)(G,D),j=(0,p.softmax)(_.data);return Array.from({length:this.generation_config.num_beams},()=>{const U=this.randomSelect(j);return[O.data[U],Math.log(j[U])]})}}class E extends C{async sample(G){let D=G.dims.at(-1);this.generation_config.top_k>0&&(D=Math.min(this.generation_config.top_k,D));const[_,O]=await(0,f.topk)(G,D),j=(0,p.softmax)(_.data);return Array.from({length:this.generation_config.num_beams},(U,H)=>[O.data[H],Math.log(j[H])])}}},
2803"./src/generation/stopping_criteria.js":(c,n,s)=>{s.r(n),s.d(n,{EosTokenCriteria:()=>b,InterruptableStoppingCriteria:()=>k,MaxLengthCriteria:()=>C,StoppingCriteria:()=>f,StoppingCriteriaList:()=>p});var o=s("./src/utils/generic.js");class f extends o.Callable{_call(B,G){throw Error("StoppingCriteria needs to be subclassed")}}class p extends o.Callable{constructor(){super(),this.criteria=[]}push(B){this.criteria.push(B)}extend(B){B instanceof p?B=B.criteria:B instanceof f&&(B=[B]),this.criteria.push(...B)}_call(B,G){const D=new Array(B.length).fill(!1);for(const _ of this.criteria){const O=_(B,G);for(let j=0;j<D.length;++j)D[j]||(D[j]=O[j])}return D}[Symbol.iterator](){return this.criteria.values()}}class C extends f{constructor(B,G=null){super(),this.max_length=B,this.max_position_embeddings=G}_call(B){return B.map(G=>G.length>=this.max_length)}}class b extends f{constructor(B){super(),Array.isArray(B)||(B=[B]),this.eos_token_id=B}_call(B,G){return B.map(D=>{const _=D.at(-1);return this.eos_token_id.some(O=>_==O)})}}class k extends f{constructor(){super(),this.interrupted=!1}interrupt(){this.interrupted=!0}reset(){this.interrupted=!1}_call(B,G){return new Array(B.length).fill(this.interrupted)}}},
2803"./src/generation/streamers.js":(c,n,s)=>{s.r(n),s.d(n,{BaseStreamer:()=>C,TextStreamer:()=>k,WhisperTextStreamer:()=>E});var o=s("./src/utils/core.js"),f=s("./src/tokenizers.js"),p=s("./src/env.js");class C{put(G){throw Error("Not implemented")}end(){throw Error("Not implemented")}}const b=p.apis.IS_PROCESS_AVAILABLE?B=>process.stdout.write(B):B=>console.log(B);class k extends C{constructor(G,{skip_prompt:D=!1,callback_function:_=null,token_callback_function:O=null,skip_special_tokens:j=!0,decode_kwargs:U={},...H}={}){super(),this.tokenizer=G,this.skip_prompt=D,this.callback_function=_??b,this.token_callback_function=O,this.decode_kwargs={skip_special_tokens:j,...U,...H},this.token_cache=[],this.print_len=0,this.next_tokens_are_prompt=!0}put(G){var j;if(G.length>1)throw Error("TextStreamer only supports batch size of 1");if(this.skip_prompt&&this.next_tokens_are_prompt)return void(this.next_tokens_are_prompt=!1);const D=G[0];(j=this.token_callback_function)==null||j.call(this,D),this.token_cache=(0,o.mergeArrays)(this.token_cache,D);const _=this.tokenizer.decode(this.token_cache,this.decode_kwargs);let O;_.endsWith(`
2804`)?(O=_.slice(this.print_len),this.token_cache=[],this.print_len=0):_.length>0&&(0,f.is_chinese_char)(_.charCodeAt(_.length-1))?(O=_.slice(this.print_len),this.print_len+=O.length):(O=_.slice(this.print_len,_.lastIndexOf(" ")+1),this.print_len+=O.length),this.on_finalized_text(O,!1)}end(){let G;this.token_cache.length>0?(G=this.tokenizer.decode(this.token_cache,this.decode_kwargs).slice(this.print_len),this.token_cache=[],this.print_len=0):G="",this.next_tokens_are_prompt=!0,this.on_finalized_text(G,!0)}on_finalized_text(G,D){var _,O;G.length>0&&((_=this.callback_function)==null||_.call(this,G)),D&&this.callback_function===b&&p.apis.IS_PROCESS_AVAILABLE&&((O=this.callback_function)==null||O.call(this,`
2805`))}}class E extends k{constructor(G,{skip_prompt:D=!1,callback_function:_=null,token_callback_function:O=null,on_chunk_start:j=null,on_chunk_end:U=null,on_finalize:H=null,time_precision:Z=.02,skip_special_tokens:X=!0,decode_kwargs:g={}}={}){super(G,{skip_prompt:D,skip_special_tokens:X,callback_function:_,token_callback_function:O,decode_kwargs:g}),this.timestamp_begin=G.timestamp_begin,this.on_chunk_start=j,this.on_chunk_end=U,this.on_finalize=H,this.time_precision=Z,this.waiting_for_timestamp=!1}put(G){var _,O;if(G.length>1)throw Error("WhisperTextStreamer only supports batch size of 1");const D=G[0];if(D.length===1){const j=Number(D[0])-this.timestamp_begin;if(j>=0){const U=j*this.time_precision;this.waiting_for_timestamp?(_=this.on_chunk_end)==null||_.call(this,U):(O=this.on_chunk_start)==null||O.call(this,U),this.waiting_for_timestamp=!this.waiting_for_timestamp,G=[[]]}}return super.put(G)}end(){var G;super.end(),(G=this.on_finalize)==null||G.call(this)}}},
2805"./src/models.js":(c,n,s)=>{s.r(n),s.d(n,{ASTForAudioClassification:()=>ki,ASTModel:()=>wi,ASTPreTrainedModel:()=>sa,AlbertForMaskedLM:()=>mA,AlbertForQuestionAnswering:()=>gt,AlbertForSequenceClassification:()=>cA,AlbertModel:()=>Rt,AlbertPreTrainedModel:()=>yt,AutoModel:()=>Nu,AutoModelForAudioClassification:()=>m1,AutoModelForAudioFrameClassification:()=>C1,AutoModelForCTC:()=>d2,AutoModelForCausalLM:()=>f1,AutoModelForDepthEstimation:()=>h2,AutoModelForDocumentQuestionAnswering:()=>f0,AutoModelForImageClassification:()=>a0,AutoModelForImageFeatureExtraction:()=>k1,AutoModelForImageMatting:()=>g2,AutoModelForImageSegmentation:()=>d1,AutoModelForImageToImage:()=>I1,AutoModelForMaskGeneration:()=>p1,AutoModelForMaskedLM:()=>Ia,AutoModelForNormalEstimation:()=>p2,AutoModelForObjectDetection:()=>f2,AutoModelForPoseEstimation:()=>w1,AutoModelForQuestionAnswering:()=>Mr,AutoModelForSemanticSegmentation:()=>u2,AutoModelForSeq2SeqLM:()=>zu,AutoModelForSequenceClassification:()=>u1,AutoModelForSpeechSeq2Seq:()=>Lo,AutoModelForTextToSpectrogram:()=>Fu,AutoModelForTextToWaveform:()=>c2,AutoModelForTokenClassification:()=>Cr,AutoModelForUniversalSegmentation:()=>g1,AutoModelForVision2Seq:()=>Pr,AutoModelForXVector:()=>b1,AutoModelForZeroShotObjectDetection:()=>h1,BartForConditionalGeneration:()=>rs,BartForSequenceClassification:()=>zA,BartModel:()=>_s,BartPretrainedModel:()=>ga,BaseModelOutput:()=>Bt,BeitForImageClassification:()=>$e,BeitModel:()=>Oe,BeitPreTrainedModel:()=>Te,BertForMaskedLM:()=>oe,BertForQuestionAnswering:()=>fe,BertForSequenceClassification:()=>zt,BertForTokenClassification:()=>Ie,BertModel:()=>St,BertPreTrainedModel:()=>Ft,BlenderbotForConditionalGeneration:()=>as,BlenderbotModel:()=>Ts,BlenderbotPreTrainedModel:()=>ms,BlenderbotSmallForConditionalGeneration:()=>Sn,BlenderbotSmallModel:()=>cs,BlenderbotSmallPreTrainedModel:()=>vr,BloomForCausalLM:()=>$o,BloomModel:()=>No,BloomPreTrainedModel:()=>Xi,CLIPModel:()=>vA,CLIPPreTrainedModel:()=>On,CLIPSegForImageSegmentation:()=>qs,CLIPSegModel:()=>CA,CLIPSegPreTrainedModel:()=>Ei,CLIPTextModel:()=>_o,CLIPTextModelWithProjection:()=>uo,CLIPVisionModel:()=>la,CLIPVisionModelWithProjection:()=>Ss,CamembertForMaskedLM:()=>MA,CamembertForQuestionAnswering:()=>WA,CamembertForSequenceClassification:()=>NA,CamembertForTokenClassification:()=>JA,CamembertModel:()=>Tt,CamembertPreTrainedModel:()=>Yr,CausalLMOutput:()=>B0,CausalLMOutputWithPast:()=>sf,ChineseCLIPModel:()=>fo,ChineseCLIPPreTrainedModel:()=>Uo,ClapAudioModelWithProjection:()=>Kc,ClapModel:()=>Wc,ClapPreTrainedModel:()=>ll,ClapTextModelWithProjection:()=>Uc,CodeGenForCausalLM:()=>Ln,CodeGenModel:()=>bs,CodeGenPreTrainedModel:()=>In,CohereForCausalLM:()=>ji,CohereModel:()=>zs,CoherePreTrainedModel:()=>pi,ConvBertForMaskedLM:()=>bA,ConvBertForQuestionAnswering:()=>wA,ConvBertForSequenceClassification:()=>rA,ConvBertForTokenClassification:()=>br,ConvBertModel:()=>Gt,ConvBertPreTrainedModel:()=>EA,ConvNextForImageClassification:()=>J2,ConvNextModel:()=>q2,ConvNextPreTrainedModel:()=>Dl,ConvNextV2ForImageClassification:()=>ec,ConvNextV2Model:()=>$2,ConvNextV2PreTrainedModel:()=>Gl,DPTForDepthEstimation:()=>Oo,DPTModel:()=>Ao,DPTPreTrainedModel:()=>Pi,DebertaForMaskedLM:()=>xr,DebertaForQuestionAnswering:()=>HA,DebertaForSequenceClassification:()=>Dr,DebertaForTokenClassification:()=>Ls,DebertaModel:()=>Vr,DebertaPreTrainedModel:()=>DA,DebertaV2ForMaskedLM:()=>dn,DebertaV2ForQuestionAnswering:()=>gn,DebertaV2ForSequenceClassification:()=>Ga,DebertaV2ForTokenClassification:()=>Ka,DebertaV2Model:()=>Da,DebertaV2PreTrainedModel:()=>ss,DecisionTransformerModel:()=>fu,DecisionTransformerPreTrainedModel:()=>uu,DeiTForImageClassification:()=>Ps,DeiTModel:()=>Qs,DeiTPreTrainedModel:()=>is,DepthAnythingForDepthEstimation:()=>Y0,DepthAnythingPreTrainedModel:()=>r0,DepthProForDepthEstimation:()=>R2,DepthProPreTrainedModel:()=>Y2,DetrForObjectDetection:()=>vt,DetrForSegmentation:()=>Qt,DetrModel:()=>ht,DetrObjectDetectionOutput:()=>Ut,DetrPreTrainedModel:()=>nt,DetrSegmentationOutput:()=>fA,Dinov2ForImageClassification:()=>vo,Dinov2Model:()=>tc,Dinov2PreTrainedModel:()=>_l,Dinov2WithRegistersForImageClassification:()=>l0,Dinov2WithRegistersModel:()=>o0,Dinov2WithRegistersPreTrainedModel:()=>yo,DistilBertForMaskedLM:()=>Va,DistilBertForQuestionAnswering:()=>La,DistilBertForSequenceClassification:()=>ya,DistilBertForTokenClassification:()=>ui,DistilBertModel:()=>hn,DistilBertPreTrainedModel:()=>xs,DonutSwinModel:()=>X2,DonutSwinPreTrainedModel:()=>Z2,EfficientNetForImageClassification:()=>tu,EfficientNetModel:()=>eu,EfficientNetPreTrainedModel:()=>
2805Rl,ElectraForMaskedLM:()=>iA,ElectraForQuestionAnswering:()=>Lr,ElectraForSequenceClassification:()=>Jt,ElectraForTokenClassification:()=>LA,ElectraModel:()=>AA,ElectraPreTrainedModel:()=>OA,EsmForMaskedLM:()=>Qn,EsmForSequenceClassification:()=>Ci,EsmForTokenClassification:()=>Ha,EsmModel:()=>yn,EsmPreTrainedModel:()=>ls,ExaoneForCausalLM:()=>Qo,ExaoneModel:()=>ln,ExaonePreTrainedModel:()=>wn,FalconForCausalLM:()=>jc,FalconModel:()=>Vl,FalconPreTrainedModel:()=>Ll,FastViTForImageClassification:()=>r,FastViTModel:()=>A,FastViTPreTrainedModel:()=>t,Florence2ForConditionalGeneration:()=>lo,Florence2PreTrainedModel:()=>rn,GLPNForDepthEstimation:()=>K2,GLPNModel:()=>U2,GLPNPreTrainedModel:()=>Ml,GPT2LMHeadModel:()=>bn,GPT2Model:()=>Li,GPT2PreTrainedModel:()=>pa,GPTBigCodeForCausalLM:()=>ca,GPTBigCodeModel:()=>Cn,GPTBigCodePreTrainedModel:()=>nn,GPTJForCausalLM:()=>To,GPTJModel:()=>or,GPTJPreTrainedModel:()=>er,GPTNeoForCausalLM:()=>po,GPTNeoModel:()=>Zo,GPTNeoPreTrainedModel:()=>qa,GPTNeoXForCausalLM:()=>mo,GPTNeoXModel:()=>Xo,GPTNeoXPreTrainedModel:()=>ns,Gemma2ForCausalLM:()=>Gi,Gemma2Model:()=>So,Gemma2PreTrainedModel:()=>Io,GemmaForCausalLM:()=>ma,GemmaModel:()=>Js,GemmaPreTrainedModel:()=>Wi,GlmForCausalLM:()=>Mi,GlmModel:()=>Cs,GlmPreTrainedModel:()=>Hi,GraniteForCausalLM:()=>Co,GraniteModel:()=>cn,GranitePreTrainedModel:()=>Ns,GroundingDinoForObjectDetection:()=>rc,GroundingDinoPreTrainedModel:()=>Ac,GroupViTModel:()=>Ar,GroupViTPreTrainedModel:()=>ai,HeliumForCausalLM:()=>Vi,HeliumModel:()=>qr,HeliumPreTrainedModel:()=>xi,HieraForImageClassification:()=>ea,HieraModel:()=>$s,HieraPreTrainedModel:()=>Rs,HubertForCTC:()=>_c,HubertForSequenceClassification:()=>Tc,HubertModel:()=>Gc,HubertPreTrainedModel:()=>e1,IJepaForImageClassification:()=>Fo,IJepaModel:()=>Vn,IJepaPreTrainedModel:()=>si,Idefics3ForConditionalGeneration:()=>gi,Idefics3PreTrainedModel:()=>co,ImageMattingOutput:()=>y1,JAISLMHeadModel:()=>ho,JAISModel:()=>Ko,JAISPreTrainedModel:()=>an,JinaCLIPModel:()=>yi,JinaCLIPPreTrainedModel:()=>ha,JinaCLIPTextModel:()=>go,JinaCLIPVisionModel:()=>Xa,LlamaForCausalLM:()=>qo,LlamaModel:()=>on,LlamaPreTrainedModel:()=>Bi,LlavaForConditionalGeneration:()=>mn,LlavaOnevisionForConditionalGeneration:()=>Xs,LlavaPreTrainedModel:()=>qn,LongT5ForConditionalGeneration:()=>fr,LongT5Model:()=>Or,LongT5PreTrainedModel:()=>Tr,M2M100ForConditionalGeneration:()=>R0,M2M100Model:()=>fc,M2M100PreTrainedModel:()=>al,MBartForCausalLM:()=>Vs,MBartForConditionalGeneration:()=>PA,MBartForSequenceClassification:()=>ra,MBartModel:()=>Wt,MBartPreTrainedModel:()=>Kr,MPNetForMaskedLM:()=>_a,MPNetForQuestionAnswering:()=>Ra,MPNetForSequenceClassification:()=>Zn,MPNetForTokenClassification:()=>Za,MPNetModel:()=>fi,MPNetPreTrainedModel:()=>oa,MT5ForConditionalGeneration:()=>Qr,MT5Model:()=>QA,MT5PreTrainedModel:()=>kA,MarianMTModel:()=>uc,MarianModel:()=>cc,MarianPreTrainedModel:()=>_n,MaskFormerForInstanceSegmentation:()=>W2,MaskFormerModel:()=>j2,MaskFormerPreTrainedModel:()=>xl,MaskedLMOutput:()=>vn,MgpstrForSceneTextRecognition:()=>mu,MgpstrModelOutput:()=>hu,MgpstrPreTrainedModel:()=>pu,MistralForCausalLM:()=>Yc,MistralModel:()=>zl,MistralPreTrainedModel:()=>ol,MobileBertForMaskedLM:()=>Ya,MobileBertForQuestionAnswering:()=>pr,MobileBertForSequenceClassification:()=>sr,MobileBertModel:()=>En,MobileBertPreTrainedModel:()=>Pn,MobileLLMForCausalLM:()=>Mn,MobileLLMModel:()=>Ja,MobileLLMPreTrainedModel:()=>Yi,MobileNetV1ForImageClassification:()=>su,MobileNetV1Model:()=>ru,MobileNetV1PreTrainedModel:()=>Ul,MobileNetV2ForImageClassification:()=>nu,MobileNetV2Model:()=>au,MobileNetV2PreTrainedModel:()=>Kl,MobileNetV3ForImageClassification:()=>ou,MobileNetV3Model:()=>iu,MobileNetV3PreTrainedModel:()=>ul,MobileNetV4ForImageClassification:()=>cu,MobileNetV4Model:()=>lu,MobileNetV4PreTrainedModel:()=>Zl,MobileViTForImageClassification:()=>m,MobileViTModel:()=>h,MobileViTPreTrainedModel:()=>l,MobileViTV2ForImageClassification:()=>y,MobileViTV2Model:()=>M,MobileViTV2PreTrainedModel:()=>w,ModelOutput:()=>At,ModernBertForMaskedLM:()=>rt,ModernBertForSequenceClassification:()=>lt,ModernBertForTokenClassification:()=>xt,ModernBertModel:()=>Je,ModernBertPreTrainedModel:()=>Qe,Moondream1ForConditionalGeneration:()=>Bn,MoonshineForConditionalGeneration:()=>Ea,MoonshineModel:()=>oo,MoonshinePreTrainedModel:()=>di,MptForCausalLM:()=>zo,MptModel:()=>$a,MptPreTrainedModel:()=>Ai,MultiModalityCausalLM:()=>
2805gu,MultiModalityPreTrainedModel:()=>du,MusicgenForCausalLM:()=>A1,MusicgenForConditionalGeneration:()=>Wl,MusicgenModel:()=>Au,MusicgenPreTrainedModel:()=>jl,NomicBertModel:()=>eA,NomicBertPreTrainedModel:()=>jt,OPTForCausalLM:()=>Zr,OPTModel:()=>aa,OPTPreTrainedModel:()=>qi,Olmo2ForCausalLM:()=>bo,Olmo2Model:()=>ua,Olmo2PreTrainedModel:()=>Ri,OlmoForCausalLM:()=>Po,OlmoModel:()=>kn,OlmoPreTrainedModel:()=>Di,OpenELMForCausalLM:()=>Ui,OpenELMModel:()=>GA,OpenELMPreTrainedModel:()=>Ot,OwlViTForObjectDetection:()=>ee,OwlViTModel:()=>R,OwlViTPreTrainedModel:()=>P,Owlv2ForObjectDetection:()=>be,Owlv2Model:()=>ue,Owlv2PreTrainedModel:()=>ae,PaliGemmaForConditionalGeneration:()=>Jn,PaliGemmaPreTrainedModel:()=>xn,PatchTSMixerForPrediction:()=>Cu,PatchTSMixerModel:()=>Jl,PatchTSMixerPreTrainedModel:()=>ql,PatchTSTForPrediction:()=>U0,PatchTSTModel:()=>bu,PatchTSTPreTrainedModel:()=>Xl,Phi3ForCausalLM:()=>Jo,Phi3Model:()=>_i,Phi3PreTrainedModel:()=>ti,Phi3VForCausalLM:()=>uA,Phi3VPreTrainedModel:()=>$n,PhiForCausalLM:()=>Zi,PhiModel:()=>fs,PhiPreTrainedModel:()=>un,PreTrainedModel:()=>ze,PretrainedMixin:()=>Es,PvtForImageClassification:()=>$i,PvtModel:()=>Qi,PvtPreTrainedModel:()=>Ji,PyAnnoteForAudioFrameClassification:()=>bc,PyAnnoteModel:()=>mc,PyAnnotePreTrainedModel:()=>nl,QuestionAnsweringModelOutput:()=>Hn,Qwen2ForCausalLM:()=>ba,Qwen2Model:()=>ei,Qwen2PreTrainedModel:()=>SA,Qwen2VLForConditionalGeneration:()=>wo,Qwen2VLPreTrainedModel:()=>Ki,RTDetrForObjectDetection:()=>YA,RTDetrModel:()=>FA,RTDetrObjectDetectionOutput:()=>rr,RTDetrPreTrainedModel:()=>hA,ResNetForImageClassification:()=>Ba,ResNetModel:()=>da,ResNetPreTrainedModel:()=>na,RoFormerForMaskedLM:()=>tA,RoFormerForQuestionAnswering:()=>IA,RoFormerForSequenceClassification:()=>oA,RoFormerForTokenClassification:()=>nA,RoFormerModel:()=>gA,RoFormerPreTrainedModel:()=>Lt,RobertaForMaskedLM:()=>Hs,RobertaForQuestionAnswering:()=>Us,RobertaForSequenceClassification:()=>Fi,RobertaForTokenClassification:()=>ur,RobertaModel:()=>zi,RobertaPreTrainedModel:()=>Ta,SamImageSegmentationOutput:()=>lc,SamModel:()=>oc,SamPreTrainedModel:()=>ic,SapiensForDepthEstimation:()=>V2,SapiensForNormalEstimation:()=>H2,SapiensForSemanticSegmentation:()=>L2,SapiensPreTrainedModel:()=>i0,SegformerForImageClassification:()=>Xc,SegformerForSemanticSegmentation:()=>qc,SegformerModel:()=>t1,SegformerPreTrainedModel:()=>cl,Seq2SeqLMOutput:()=>rf,SequenceClassifierOutput:()=>Gr,SiglipModel:()=>hi,SiglipPreTrainedModel:()=>vi,SiglipTextModel:()=>sn,SiglipVisionModel:()=>Rr,SpeechT5ForSpeechToText:()=>Pl,SpeechT5ForTextToSpeech:()=>Sl,SpeechT5HifiGan:()=>Nl,SpeechT5Model:()=>Lc,SpeechT5PreTrainedModel:()=>c0,SqueezeBertForMaskedLM:()=>Ze,SqueezeBertForQuestionAnswering:()=>mt,SqueezeBertForSequenceClassification:()=>ut,SqueezeBertModel:()=>ye,SqueezeBertPreTrainedModel:()=>_t,StableLmForCausalLM:()=>$c,StableLmModel:()=>Jc,StableLmPreTrainedModel:()=>Yl,Starcoder2ForCausalLM:()=>Rc,Starcoder2Model:()=>Ol,Starcoder2PreTrainedModel:()=>Fl,StyleTextToSpeech2Model:()=>Oc,StyleTextToSpeech2PreTrainedModel:()=>Fc,Swin2SRForImageSuperResolution:()=>ii,Swin2SRModel:()=>to,Swin2SRPreTrainedModel:()=>ni,SwinForImageClassification:()=>Gn,SwinModel:()=>Dn,SwinPreTrainedModel:()=>en,T5ForConditionalGeneration:()=>Wr,T5Model:()=>lr,T5PreTrainedModel:()=>lA,TableTransformerForObjectDetection:()=>Jr,TableTransformerModel:()=>jr,TableTransformerObjectDetectionOutput:()=>ds,TableTransformerPreTrainedModel:()=>wr,TokenClassifierOutput:()=>fn,TrOCRForCausalLM:()=>Hc,TrOCRPreTrainedModel:()=>Vc,UniSpeechForCTC:()=>Ql,UniSpeechForSequenceClassification:()=>kc,UniSpeechModel:()=>wc,UniSpeechPreTrainedModel:()=>j0,UniSpeechSatForAudioFrameClassification:()=>Bc,UniSpeechSatForCTC:()=>yc,UniSpeechSatForSequenceClassification:()=>Ec,UniSpeechSatModel:()=>vc,UniSpeechSatPreTrainedModel:()=>W0,ViTForImageClassification:()=>ri,ViTMAEModel:()=>eo,ViTMAEPreTrainedModel:()=>fa,ViTMSNForImageClassification:()=>A0,ViTMSNModel:()=>mi,ViTMSNPreTrainedModel:()=>ko,ViTModel:()=>e0,ViTPreTrainedModel:()=>Ti,VisionEncoderDecoderModel:()=>Xr,VitMatteForImageMatting:()=>i,VitMattePreTrainedModel:()=>a,VitPoseForPoseEstimation:()=>t0,VitPosePreTrainedModel:()=>
2805Ca,VitsModel:()=>Hl,VitsModelOutput:()=>E1,VitsPreTrainedModel:()=>Zc,Wav2Vec2BertForCTC:()=>Mc,Wav2Vec2BertForSequenceClassification:()=>Dc,Wav2Vec2BertModel:()=>xc,Wav2Vec2BertPreTrainedModel:()=>il,Wav2Vec2ForAudioFrameClassification:()=>pc,Wav2Vec2ForCTC:()=>gc,Wav2Vec2ForSequenceClassification:()=>hc,Wav2Vec2Model:()=>dc,Wav2Vec2PreTrainedModel:()=>s0,WavLMForAudioFrameClassification:()=>zc,WavLMForCTC:()=>Pc,WavLMForSequenceClassification:()=>Sc,WavLMForXVector:()=>Nc,WavLMModel:()=>Qc,WavLMPreTrainedModel:()=>E0,WeSpeakerResNetModel:()=>Ic,WeSpeakerResNetPreTrainedModel:()=>Cc,WhisperForConditionalGeneration:()=>Go,WhisperModel:()=>Fn,WhisperPreTrainedModel:()=>io,XLMForQuestionAnswering:()=>Nn,XLMForSequenceClassification:()=>Xn,XLMForTokenClassification:()=>Ii,XLMModel:()=>Mo,XLMPreTrainedModel:()=>ja,XLMRobertaForMaskedLM:()=>pn,XLMRobertaForQuestionAnswering:()=>BA,XLMRobertaForSequenceClassification:()=>Qa,XLMRobertaForTokenClassification:()=>Ys,XLMRobertaModel:()=>Do,XLMRobertaPreTrainedModel:()=>zn,XLMWithLMHeadModel:()=>Oi,XVectorOutput:()=>v1,YolosForObjectDetection:()=>ac,YolosModel:()=>sc,YolosObjectDetectionOutput:()=>nc,YolosPreTrainedModel:()=>Tl});var o=s("./src/configs.js"),f=s("./src/backends/onnx.js"),p=s("./src/utils/dtypes.js"),C=s("./src/utils/generic.js"),b=s("./src/utils/core.js"),k=s("./src/utils/hub.js"),E=s("./src/utils/constants.js"),B=s("./src/generation/logits_process.js"),G=s("./src/generation/configuration_utils.js"),D=s("./src/utils/tensor.js"),_=s("./src/utils/image.js"),O=s("./src/utils/maths.js"),j=s("./src/generation/stopping_criteria.js"),U=s("./src/generation/logits_sampler.js"),H=s("./src/env.js"),Z=s("./src/models/whisper/generation_whisper.js"),X=s("./src/models/whisper/common_whisper.js");const g=0,v=1,e=2,d=3,T=4,re=5,N=6,F=7,Ce=8,he=9,ce=new Map,ge=new Map,Me=new Map;async function Ue(le,Be,Ve){return Object.fromEntries(await Promise.all(Object.keys(Be).map(async Et=>{const{buffer:Yt,session_options:Ht,session_config:sA}=await async function(_A,TA,yA){var oi;const VA=((oi=yA.config)==null?void 0:oi["transformers.js_config"])??{};let $A=yA.device??VA.device;$A&&typeof $A!="string"&&($A.hasOwnProperty(TA)?$A=$A[TA]:(console.warn(`device not specified for "${TA}". Using the default device.`),$A=null));const Ir=$A??(H.apis.IS_NODE_ENV?"cpu":"wasm"),gs=(0,f.deviceToExecutionProviders)(Ir);let yr=yA.dtype??VA.dtype;if(typeof yr!="string"&&(yr&&yr.hasOwnProperty(TA)?yr=yr[TA]:(yr=p.DEFAULT_DEVICE_DTYPE_MAPPING[Ir]??p.DATA_TYPES.fp32,console.warn(`dtype not specified for "${TA}". Using the default dtype (${yr}) for this device (${Ir}).`))),yr===p.DATA_TYPES.auto){let Ms=VA.dtype;typeof Ms!="string"&&(Ms=Ms[TA]),yr=Ms&&Ms!==p.DATA_TYPES.auto&&p.DATA_TYPES.hasOwnProperty(Ms)?Ms:p.DEFAULT_DEVICE_DTYPE_MAPPING[Ir]??p.DATA_TYPES.fp32}const _r=yr;if(!p.DEFAULT_DTYPE_SUFFIX_MAPPING.hasOwnProperty(_r))throw new Error(`Invalid dtype: ${_r}. Should be one of: ${Object.keys(p.DATA_TYPES).join(", ")}`);if(_r===p.DATA_TYPES.fp16&&Ir==="webgpu"&&!await(0,p.isWebGpuFp16Supported)())throw new Error(`The device (${Ir}) does not support fp16.`);const Sr=VA.kv_cache_dtype?typeof VA.kv_cache_dtype=="string"?VA.kv_cache_dtype:VA.kv_cache_dtype[_r]??"float32":void 0;if(Sr&&!["float32","float16"].includes(Sr))throw new Error(`Invalid kv_cache_dtype: ${Sr}. Should be one of: float32, float16`);const hs={dtype:_r,kv_cache_dtype:Sr},ta=p.DEFAULT_DTYPE_SUFFIX_MAPPING[_r],ia=`${yA.subfolder??""}/${TA}${ta}.onnx`,js={...yA.session_options};js.executionProviders??(js.executionProviders=gs);const Wa=VA.free_dimension_overrides;Wa?js.freeDimensionOverrides??(js.freeDimensionOverrides=Wa):Ir.startsWith("webnn")&&!js.freeDimensionOverrides&&console.warn('WebNN does not currently support dynamic shapes and requires `free_dimension_overrides` to be set in config.json as a field within "transformers.js_config". When `free_dimension_overrides` is not set, you may experience significant performance degradation.');const Pa=(0,k.getModelFile)(_A,ia,!0,yA),Sa=yA.use_external_data_format??VA.use_external_data_format;let xa=[];if(Sa&&(Sa===!0||typeof Sa=="object"&&Sa.hasOwnProperty(TA)&&Sa[TA]===!0)){if
2805(H.apis.IS_NODE_ENV)throw new Error("External data format is not yet supported in Node.js");const Ms=`${TA}${ta}.onnx_data`,Yn=`${yA.subfolder??""}/${Ms}`;xa.push(new Promise(async(d0,x0)=>{const g0=await(0,k.getModelFile)(_A,Yn,!0,yA);d0({path:Ms,data:g0})}))}else js.externalData!==void 0&&(xa=js.externalData.map(async Ms=>{if(typeof Ms.data=="string"){const Yn=await(0,k.getModelFile)(_A,Ms.data,!0,yA);return{...Ms,data:Yn}}return Ms}));if(xa.length>0&&(js.externalData=await Promise.all(xa)),Ir==="webgpu"){const Ms=(0,o.getKeyValueShapes)(yA.config,{prefix:"present"});if(Object.keys(Ms).length>0&&!(0,f.isONNXProxy)()){const Yn={};for(const d0 in Ms)Yn[d0]="gpu-buffer";js.preferredOutputLocation=Yn}}return{buffer:await Pa,session_options:js,session_config:hs}}(le,Be[Et],Ve);return[Et,await(0,f.createInferenceSession)(Yt,Ht,sA)]})))}async function Ne(le,Be,Ve){return Object.fromEntries(await Promise.all(Object.keys(Be).map(async Et=>[Et,await(0,k.getModelJSON)(le,Be[Et],!1,Ve)])))}async function de(le,Be){const Ve=function(Et,Yt){const Ht=Object.create(null),sA=[];for(const yA of Et.inputNames){const VA=Yt[yA];VA instanceof D.Tensor?Ht[yA]=(0,f.isONNXProxy)()?VA.clone():VA:sA.push(yA)}if(sA.length>0)throw new Error(`An error occurred during model execution: "Missing the following inputs: ${sA.join(", ")}.`);const _A=Object.keys(Yt).length,TA=Et.inputNames.length;if(_A>TA){let yA=Object.keys(Yt).filter(VA=>!Et.inputNames.includes(VA));console.warn(`WARNING: Too many inputs were provided (${_A} > ${TA}). The following inputs will be ignored: "${yA.join(", ")}".`)}return Ht}(le,Be);try{const Et=Object.fromEntries(Object.entries(Ve).map(([Ht,sA])=>[Ht,sA.ort_tensor]));let Yt=await le.run(Et);return Yt=me(Yt),Yt}catch(Et){const Yt=Object.fromEntries(Object.entries(Ve).map(([Ht,{type:sA,dims:_A,data:TA}])=>[Ht,{type:sA,dims:_A,data:TA}]));throw console.error(`An error occurred during model execution: "${Et}".`),console.error("Inputs given to model:",Yt),Et}}function me(le){for(let Be in le)(0,f.isONNXTensor)(le[Be])?le[Be]=new D.Tensor(le[Be]):typeof le[Be]=="object"&&me(le[Be]);return le}function we(le){if(le instanceof D.Tensor)return le;if(le.length===0)throw Error("items must be non-empty");if(Array.isArray(le[0])){if(le.some(Be=>Be.length!==le[0].length))throw Error("Unable to create tensor, you should probably activate truncation and/or padding with 'padding=True' and/or 'truncation=True' to have batched tensors with the same length.");return new D.Tensor("int64",BigInt64Array.from(le.flat().map(Be=>BigInt(Be))),[le.length,le[0].length])}return new D.Tensor("int64",BigInt64Array.from(le.map(Be=>BigInt(Be))),[1,le.length])}function _e(le){return new D.Tensor("bool",[le],[1])}async function pe(le,Be){let{encoder_outputs:Ve,input_ids:Et,decoder_input_ids:Yt,...Ht}=Be;if(!Ve){const sA=(0,b.pick)(Be,le.sessions.model.inputNames);Ve=(await it(le,sA)).last_hidden_state}return Ht.input_ids=Yt,Ht.encoder_hidden_states=Ve,le.sessions.decoder_model_merged.inputNames.includes("encoder_attention_mask")&&(Ht.encoder_attention_mask=Be.attention_mask),await We(le,Ht,!0)}async function it(le,Be){const Ve=le.sessions.model,Et=(0,b.pick)(Be,Ve.inputNames);if(Ve.inputNames.includes("inputs_embeds")&&!Et.inputs_embeds){if(!Be.input_ids)throw new Error("Both `input_ids` and `inputs_embeds` are missing in the model inputs.");Et.inputs_embeds=await le.encode_text({input_ids:Be.input_ids})}if(Ve.inputNames.includes("token_type_ids")&&!Et.token_type_ids){if(!Et.input_ids)throw new Error("Both `input_ids` and `token_type_ids` are missing in the model inputs.");Et.token_type_ids=(0,D.zeros_like)(Et.input_ids)}if(Ve.inputNames.includes("pixel_mask")&&!Et.pixel_mask){if(!Et.pixel_values)throw new Error("Both `pixel_values` and `pixel_mask` are missing in the model inputs.");const Yt=Et.pixel_values.dims;Et.pixel_mask=(0,D.ones)([Yt[0],Yt[2],Yt[3]])}return await de(Ve,Et)}
2805async function We(le,Be,Ve=!1){const Et=le.sessions[Ve?"decoder_model_merged":"model"],{past_key_values:Yt,...Ht}=Be;if(Et.inputNames.includes("use_cache_branch")&&(Ht.use_cache_branch=_e(!!Yt)),Et.inputNames.includes("position_ids")&&Ht.attention_mask&&!Ht.position_ids){const _A=le.config.model_type==="paligemma"?1:0;Ht.position_ids=function(TA,yA=null,VA=0){const{input_ids:$A,inputs_embeds:Ir,attention_mask:gs}=TA,{data:yr,dims:_r}=ct(gs,VA);let Sr=new D.Tensor("int64",yr,_r);if(yA){const hs=-($A??Ir).dims.at(1);Sr=Sr.slice(null,[hs,null])}return Sr}(Ht,Yt,_A)}le.addPastKeyValues(Ht,Yt);const sA=(0,b.pick)(Ht,Et.inputNames);return await de(Et,sA)}function ot({image_token_id:le,inputs_embeds:Be,image_features:Ve,input_ids:Et,attention_mask:Yt}){const Ht=Et.tolist().map(yA=>yA.reduce((VA,$A,Ir)=>($A==le&&VA.push(Ir),VA),[])),sA=Ht.reduce((yA,VA)=>yA+VA.length,0),_A=Ve.dims[0];if(sA!==_A)throw new Error(`Image features and image tokens do not match: tokens: ${sA}, features ${_A}`);let TA=0;for(let yA=0;yA<Ht.length;++yA){const VA=Ht[yA],$A=Be[yA];for(let Ir=0;Ir<VA.length;++Ir)$A[VA[Ir]].data.set(Ve[TA++].data)}return{inputs_embeds:Be,attention_mask:Yt}}async function pt(le,{input_ids:Be=null,attention_mask:Ve=null,pixel_values:Et=null,position_ids:Yt=null,inputs_embeds:Ht=null,past_key_values:sA=null,generation_config:_A=null,logits_processor:TA=null,...yA}){if(!Ht){if(Ht=await le.encode_text({input_ids:Be,...yA}),Et&&Be.dims[1]!==1){const VA=await le.encode_image({pixel_values:Et,...yA});({inputs_embeds:Ht,attention_mask:Ve}=le._merge_input_ids_with_image_features({image_features:VA,inputs_embeds:Ht,input_ids:Be,attention_mask:Ve}))}else if(sA&&Et&&Be.dims[1]===1){const VA=Be.dims[1],$A=Object.values(sA)[0].dims.at(-2);Ve=(0,D.cat)([(0,D.ones)([Be.dims[0],$A]),Ve.slice(null,[Ve.dims[1]-VA,Ve.dims[1]])],1)}}if(!Yt&&le.config.model_type==="qwen2_vl"){const{image_grid_thw:VA,video_grid_thw:$A}=yA;[Yt]=le.get_rope_index(Be,VA,$A,Ve)}return await We(le,{inputs_embeds:Ht,past_key_values:sA,attention_mask:Ve,position_ids:Yt,generation_config:_A,logits_processor:TA},!0)}function ct(le,Be=0){const[Ve,Et]=le.dims,Yt=le.data,Ht=new BigInt64Array(Yt.length);for(let sA=0;sA<Ve;++sA){const _A=sA*Et;let TA=BigInt(Be);for(let yA=0;yA<Et;++yA){const VA=_A+yA;Yt[VA]===0n?Ht[VA]=BigInt(1):(Ht[VA]=TA,TA+=Yt[VA])}}return{data:Ht,dims:le.dims}}function Re(le,Be,Ve,Et){if(Ve.past_key_values){const Yt=Object.values(Ve.past_key_values)[0].dims.at(-2),{input_ids:Ht,attention_mask:sA}=Ve;if(!(sA&&sA.dims[1]>Ht.dims[1])){if(Yt<Ht.dims[1])Ve.input_ids=Ht.slice(null,[Yt,null]);else if(le.config.image_token_index!=null&&Ht.data.some(_A=>_A==le.config.image_token_index)){const _A=le.config.num_image_tokens;if(!_A)throw new Error("`num_image_tokens` is missing in the model configuration.");const TA=Ht.dims[1]-(Yt-_A);Ve.input_ids=Ht.slice(null,[-TA,null]),Ve.attention_mask=(0,D.ones)([1,Yt+TA])}}}return Ve}function tt(le,Be,Ve,Et){return Ve.past_key_values&&(Be=Be.map(Yt=>[Yt.at(-1)])),{...Ve,decoder_input_ids:we(Be)}}function It(le,...Be){return le.config.is_encoder_decoder?tt(le,...Be):Re(le,...Be)}function wt(le,Be,Ve,Et){const Yt=!!Ve.past_key_values;
2805return Et.guidance_scale!==null&&Et.guidance_scale>1&&(Yt?Ve.input_ids=(0,D.cat)([Ve.input_ids,Ve.input_ids],0):(Ve.input_ids=(0,D.cat)([Ve.input_ids,(0,D.full_like)(Ve.input_ids,BigInt(Et.pad_token_id))],0),Ve.attention_mask=(0,D.cat)([Ve.attention_mask,(0,D.full_like)(Ve.attention_mask,0n)],0))),!Yt&&Ve.pixel_values||(Ve.pixel_values=(0,D.full)([0,0,3,384,384],1)),Yt&&(Ve.images_seq_mask=new D.Tensor("bool",new Array(1).fill(!0).fill(!1,0,1),[1,1]),Ve.images_emb_mask=new D.Tensor("bool",new Array(0).fill(!1),[1,1,0])),Ve}class ze extends C.Callable{constructor(Ve,Et,Yt){super();Ct(this,"main_input_name","input_ids");Ct(this,"forward_params",["input_ids","attention_mask"]);this.config=Ve,this.sessions=Et,this.configs=Yt;const Ht=Me.get(this.constructor),sA=ce.get(Ht);switch(this.can_generate=!1,this._forward=null,this._prepare_inputs_for_generation=null,sA){case T:this.can_generate=!0,this._forward=We,this._prepare_inputs_for_generation=Re;break;case e:case d:case F:this.can_generate=!0,this._forward=pe,this._prepare_inputs_for_generation=tt;break;case v:this._forward=pe;break;case N:this.can_generate=!0,this._forward=pt,this._prepare_inputs_for_generation=It;break;case he:this.can_generate=!0,this._prepare_inputs_for_generation=It;break;case Ce:this.can_generate=!0,this._prepare_inputs_for_generation=wt;break;default:this._forward=it}this.can_generate&&this.forward_params.push("past_key_values"),this.custom_config=this.config["transformers.js_config"]??{}}async dispose(){var Et;const Ve=[];for(const Yt of Object.values(this.sessions))(Et=Yt==null?void 0:Yt.handler)!=null&&Et.dispose&&Ve.push(Yt.handler.dispose());return await Promise.all(Ve)}static async from_pretrained(Ve,{progress_callback:Et=null,config:Yt=null,cache_dir:Ht=null,local_files_only:sA=!1,revision:_A="main",model_file_name:TA=null,subfolder:yA="onnx",device:VA=null,dtype:$A=null,use_external_data_format:Ir=null,session_options:gs={}}={}){let yr={progress_callback:Et,config:Yt,cache_dir:Ht,local_files_only:sA,revision:_A,model_file_name:TA,subfolder:yA,device:VA,dtype:$A,use_external_data_format:Ir,session_options:gs};const _r=Me.get(this),Sr=ce.get(_r);let hs;if(Yt=yr.config=await o.AutoConfig.from_pretrained(Ve,yr),Sr===T)hs=await Promise.all([Ue(Ve,{model:yr.model_file_name??"model"},yr),Ne(Ve,{generation_config:"generation_config.json"},yr)]);else if(Sr===e||Sr===d)hs=await Promise.all([Ue(Ve,{model:"encoder_model",decoder_model_merged:"decoder_model_merged"},yr),Ne(Ve,{generation_config:"generation_config.json"},yr)]);else if(Sr===re)hs=await Promise.all([Ue(Ve,{model:"vision_encoder",prompt_encoder_mask_decoder:"prompt_encoder_mask_decoder"},yr)]);else if(Sr===v)hs=await Promise.all([Ue(Ve,{model:"encoder_model",decoder_model_merged:"decoder_model_merged"},yr)]);else if(Sr===N){const ta={embed_tokens:"embed_tokens",vision_encoder:"vision_encoder",decoder_model_merged:"decoder_model_merged"};Yt.is_encoder_decoder&&(ta.model="encoder_model"),hs=await Promise.all([Ue(Ve,ta,yr),Ne(Ve,{generation_config:"generation_config.json"},yr)])}else if(Sr===F)hs=await Promise.all([Ue(Ve,{model:"text_encoder",decoder_model_merged:"decoder_model_merged",encodec_decode:"encodec_decode"},yr),Ne(Ve,{generation_config:"generation_config.json"},yr)]);else if(Sr===Ce)hs=await Promise.all([Ue(Ve,{prepare_inputs_embeds:"prepare_inputs_embeds",model:"language_model",lm_head:"lm_head",gen_head:"gen_head",gen_img_embeds:"gen_img_embeds",image_decode:"image_decode"},yr),Ne(Ve,{generation_config:"generation_config.json"},yr)]);else if(Sr===he)hs=await Promise.all([Ue(Ve,{prepare_inputs_embeds:"prepare_inputs_embeds",model:"model",vision_encoder:"vision_encoder"},yr),Ne(Ve,{generation_config:"generation_config.json"},yr)]);else{if(Sr!==g){const ta=_r??(Yt==null?void 0:Yt.model_type);ta!=="custom"&&console.warn(`Model type for '${ta}' not found, assuming encoder-only architecture. Please report this at ${E.GITHUB_ISSUE_URL}.`)}hs=await Promise.all([Ue(Ve,{model:yr.model_file_name??"model"},yr)])}return new this(Yt,...hs)}async _call(Ve){return await this.forward(Ve)}async forward(Ve){return await this._forward(this,Ve)}get generation_config(){var Ve;return((Ve=this.configs)==null?void 0:Ve.generation_config)??null}_get_logits_warper(Ve){const Et=new B.LogitsProcessorList;return Ve.temperature!==null&&Ve.temperature!==1&&Et.push(new B.TemperatureLogitsWarper(Ve.temperature)),Ve.top_k!==null&&Ve.top_k!==0&&Et.push(new B.TopKLogitsWarper(Ve.top_k)),Ve.top_p!==null&&Ve.top_p<1&&Et.push(new B.TopPLogitsWarper(Ve.top_p)),Et}_get_logits_processor(Ve,Et,Yt=null){const Ht=new B.LogitsProcessorList;if(Ve.repetition_penalty!==null&&Ve.repetition_penalty!==1&&Ht.push(new B.RepetitionPenaltyLogitsProcessor(Ve.repetition_penalty)),Ve.no_repeat_ngram_size!==null&&Ve.no_repeat_ngram_size>0&&Ht.push(new B.NoRepeatNGramLogitsProcessor(Ve.no_repeat_ngram_size)),Ve.bad_words_ids!==null&&Ht.push(new B.NoBadWordsLogitsProcessor(Ve.bad_words_ids,Ve.eos_token_id)),Ve.min_length!==null&&Ve.eos_token_id!==null&&Ve.min_length>0&&Ht.push(new B.MinLengthLogitsProcessor(Ve.min_length,Ve.eos_token_id)),Ve.min_new_tokens!==null&&Ve.eos_token_id!==null&&Ve.min_new_tokens>0&&Ht.push(new B.MinNewTokensLengthLogitsProcessor(Et,Ve.min_new_tokens,Ve.eos_token_id)),Ve.forced_bos_token_id!==null&&Ht.push(new B.ForcedBOSTokenLogitsProcessor(Ve.forced_bos_token_id)),Ve.forced_eos_token_id!==null&&Ht.push(new B.ForcedEOSTokenLogitsProcessor(Ve.max_length,Ve.forced_eos_token_id)),Ve.begin_suppress_tokens!==null){const sA=Et>1||Ve.forced_bos_token_id===null?Et:Et+1;Ht.push(new B.SuppressTokensAtBeginLogitsProcessor(Ve.begin_suppress_tokens,sA))}return Ve.guidance_scale!==null&&Ve.guidance_scale>1&&Ht.push(new B.ClassifierFreeGuidanceLogitsProcessor(Ve.guidance_scale)),Yt!==null&&Ht.extend(Yt),Ht}_prepare_generation_config(Ve,Et,Yt=G.GenerationConfig){const Ht={...this.config};for(const _A of["decoder","generator","text_config"])_A in Ht&&Object.assign(Ht,Ht[_A]);const sA=new Yt(Ht);return Object.assign(sA,this.generation_config??{}
2805),Ve&&Object.assign(sA,Ve),Et&&Object.assign(sA,(0,b.pick)(Et,Object.getOwnPropertyNames(sA))),sA}_get_stopping_criteria(Ve,Et=null){const Yt=new j.StoppingCriteriaList;return Ve.max_length!==null&&Yt.push(new j.MaxLengthCriteria(Ve.max_length,this.config.max_position_embeddings??null)),Ve.eos_token_id!==null&&Yt.push(new j.EosTokenCriteria(Ve.eos_token_id)),Et&&Yt.extend(Et),Yt}_validate_model_class(){if(!this.can_generate){const Ve=[A2,r2,t2,$l],Et=Me.get(this.constructor),Yt=new Set,Ht=this.config.model_type;for(const _A of Ve){const TA=_A.get(Ht);TA&&Yt.add(TA[0])}let sA=`The current model class (${Et}) is not compatible with \`.generate()\`, as it doesn't have a language model head.`;throw Yt.size>0&&(sA+=` Please use the following class instead: ${[...Yt].join(", ")}`),Error(sA)}}prepare_inputs_for_generation(...Ve){return this._prepare_inputs_for_generation(this,...Ve)}_update_model_kwargs_for_generation({generated_input_ids:Ve,outputs:Et,model_inputs:Yt,is_encoder_decoder:Ht}){return Yt.past_key_values=this.getPastKeyValues(Et,Yt.past_key_values),Yt.input_ids=new D.Tensor("int64",Ve.flat(),[Ve.length,1]),Ht||(Yt.attention_mask=(0,D.cat)([Yt.attention_mask,(0,D.ones)([Yt.attention_mask.dims[
28050],1])],1)),Yt.position_ids=null,Yt}_prepare_model_inputs({inputs:Ve,bos_token_id:Et,model_kwargs:Yt}){const Ht=(0,b.pick)(Yt,this.forward_params),sA=this.main_input_name;if(sA in Ht){if(Ve)throw new Error("`inputs`: {inputs}` were passed alongside {input_name} which is not allowed. Make sure to either pass {inputs} or {input_name}=...")}else Ht[sA]=Ve;return{inputs_tensor:Ht[sA],model_inputs:Ht,model_input_name:sA}}async _prepare_encoder_decoder_kwargs_for_generation({inputs_tensor:Ve,model_inputs:Et,model_input_name:Yt,generation_config:Ht}){if(this.sessions.model.inputNames.includes("inputs_embeds")&&!Et.inputs_embeds&&"_prepare_inputs_embeds"in this){const{input_ids:_A,pixel_values:TA,attention_mask:yA,...VA}=Et,$A=await this._prepare_inputs_embeds(Et);Et={...VA,...(0,b.pick)($A,["inputs_embeds","attention_mask"])}}let{last_hidden_state:sA}=await it(this,Et);if(Ht.guidance_scale!==null&&Ht.guidance_scale>1)sA=(0,D.cat)([sA,(0,D.full_like)(sA,0)],0),"attention_mask"in Et&&(Et.attention_mask=(0,D.cat)([Et.attention_mask,(0,D.zeros_like)(Et.attention_mask)],0));else if(Et.decoder_input_ids){const _A=we(Et.decoder_input_ids).dims[0];if(_A!==sA.dims[0]){if(sA.dims[0]!==1)throw new Error(`The encoder outputs have a different batch size (${sA.dims[0]}) than the decoder inputs (${_A}).`);sA=(0,D.cat)(Array.from({length:_A},()=>sA),0)}}return Et.encoder_outputs=sA,Et}_prepare_decoder_input_ids_for_generation({batch_size:Ve,model_input_name:Et,model_kwargs:Yt,decoder_start_token_id:Ht,bos_token_id:sA,generation_config:_A}){let{decoder_input_ids:TA,...yA}=Yt;if(!(TA instanceof D.Tensor)){if(TA)Array.isArray(TA[0])||(TA=Array.from({length:Ve},()=>TA));else if(Ht??(Ht=sA),this.config.model_type==="musicgen")TA=Array.from({length:Ve*this.config.decoder.num_codebooks},()=>[Ht]);else if(Array.isArray(Ht)){if(Ht.length!==Ve)throw new Error(`\`decoder_start_token_id\` expcted to have length ${Ve} but got ${Ht.length}`);TA=Ht}else TA=Array.from({length:Ve},()=>[Ht]);TA=we(TA)}return Yt.decoder_attention_mask=(0,D.ones_like)(TA),{input_ids:TA,model_inputs:yA}}async generate({inputs:Ve=null,generation_config:Et=null,logits_processor:Yt=null,stopping_criteria:Ht=null,streamer:sA=null,..._A}){this._validate_model_class(),Et=this._prepare_generation_config(Et,_A);let{inputs_tensor:TA,model_inputs:yA,model_input_name:VA}=this._prepare_model_inputs({inputs:Ve,model_kwargs:_A});const $A=this.config.is_encoder_decoder;let Ir;$A&&("encoder_outputs"in yA||(yA=await this._prepare_encoder_decoder_kwargs_for_generation({inputs_tensor:TA,model_inputs:yA,model_input_name:VA,generation_config:Et}))),$A?{input_ids:Ir,model_inputs:yA}=this._prepare_decoder_input_ids_for_generation({batch_size:yA[VA].dims.at(0),model_input_name:VA,model_kwargs:yA,decoder_start_token_id:Et.decoder_start_token_id,bos_token_id:Et.bos_token_id,generation_config:Et}):Ir=yA[VA];let gs=Ir.dims.at(-1);Et.max_new_tokens!==null&&(Et.max_length=gs+Et.max_new_tokens);const yr=this._get_logits_processor(Et,gs,Yt),_r=this._get_stopping_criteria(Et,Ht),Sr=yA[VA].dims.at(0),hs=U.LogitsSampler.getSampler(Et),ta=new Array(Sr).fill(0),ia=Ir.tolist();let js;sA&&sA.put(ia);let Wa={};for(;;){if(yA=this.prepare_inputs_for_generation(ia,yA,Et),js=await this.forward(yA),Et.output_attentions&&Et.return_dict_in_generate){const Ms=this.getAttentions(js);for(const Yn in Ms)Yn in Wa||(Wa[Yn]=[]),Wa[Yn].push(Ms[Yn])}const xa=yr(ia,js.logits.slice(null,-1,null)),oi=[];for(let Ms=0;Ms<xa.dims.at(0);++Ms){const Yn=xa[Ms],d0=await hs(Yn);for(const[x0,g0]of d0){const K0=BigInt(x0);ta[Ms]+=g0,ia[Ms].push(K0),oi.push([K0]);break}}if(sA&&sA.put(oi),_r(ia).every(Ms=>Ms))break;yA=this._update_model_kwargs_for_generation({generated_input_ids:oi,outputs:js,model_inputs:yA,is_encoder_decoder:$A})}sA&&sA.end();const Pa=this.getPastKeyValues(js,yA.past_key_values,!0),Sa=new D.Tensor("int64",ia.flat(),[ia.length,ia[0].length]);if(Et.return_dict_in_generate)return{sequences:Sa,past_key_values:Pa,...Wa};for(const xa of Object.values(js))xa.location==="gpu-buffer"&&xa.dispose();return Sa}getPastKeyValues(Ve,Et,Yt=!1){const Ht=Object.create(null);for(const sA in Ve)if(sA.startsWith("present")){const _A=sA.replace("present","past_key_values"),TA=sA.includes("encoder");if(Ht[_A]=TA&&Et?Et[_A]:Ve[sA],Et&&(!TA||Yt)){const yA=Et[_A];
2805yA.location==="gpu-buffer"&&yA.dispose()}}return Ht}getAttentions(Ve){const Et={};for(const Yt of["cross_attentions","encoder_attentions","decoder_attentions"])for(const Ht in Ve)Ht.startsWith(Yt)&&(Yt in Et||(Et[Yt]=[]),Et[Yt].push(Ve[Ht]));return Et}addPastKeyValues(Ve,Et){var Yt,Ht,sA;if(Et)Object.assign(Ve,Et);else{const _A=this.sessions.decoder_model_merged??this.sessions.model,TA=((Yt=_A==null?void 0:_A.config)==null?void 0:Yt.kv_cache_dtype)??"float32",yA=TA==="float16"?new Uint16Array:[],VA=((sA=(Ht=Ve[this.main_input_name]??Ve.attention_mask)==null?void 0:Ht.dims)==null?void 0:sA[0])??1,$A=(0,o.getKeyValueShapes)(this.config,{batch_size:VA});for(const Ir in $A)Ve[Ir]=new D.Tensor(TA,yA,$A[Ir])}}async encode_image({pixel_values:Ve}){const Et=(await de(this.sessions.vision_encoder,{pixel_values:Ve})).image_features;return this.config.num_image_tokens||(console.warn(`The number of image tokens was not set in the model configuration. Setting it to the number of features detected by the vision encoder (${Et.dims[1]}).`),this.config.num_image_tokens=Et.dims[1]),Et}async encode_text({input_ids:Ve}){return(await de(this.sessions.embed_tokens,{input_ids:Ve})).inputs_embeds}}class At{}class Bt extends At{constructor({last_hidden_state:Be,hidden_states:Ve=null,attentions:Et=null}){super(),this.last_hidden_state=Be,this.hidden_states=Ve,this.attentions=Et}}class Ft extends ze{}class St extends Ft{}class oe extends Ft{async _call(Be){return new vn(await super._call(Be))}}class zt extends Ft{async _call(Be){return new Gr(await super._call(Be))}}class Ie extends Ft{async _call(Be){return new fn(await super._call(Be))}}class fe extends Ft{async _call(Be){return new Hn(await super._call(Be))}}class Qe extends ze{}class Je extends Qe{}class rt extends Qe{async _call(Be){return new vn(await super._call(Be))}}class lt extends Qe{async _call(Be){return new Gr(await super._call(Be))}}class xt extends Qe{async _call(Be){return new fn(await super._call(Be))}}class jt extends ze{}class eA extends jt{}class Lt extends ze{}class gA extends Lt{}class tA extends Lt{async _call(Be){return new vn(await super._call(Be))}}class oA extends Lt{async _call(Be){return new Gr(await super._call(Be))}}class nA extends Lt{async _call(Be){return new fn(await super._call(Be))}}class IA extends Lt{async _call(Be){return new Hn(await super._call(Be))}}class EA extends ze{}class Gt extends EA{}class bA extends EA{async _call(Be){return new vn(await super._call(Be))}}class rA extends EA{async _call(Be){return new Gr(await super._call(Be))}}class br extends EA{async _call(Be){return new fn(await super._call(Be))}}class wA extends EA{async _call(Be){return new Hn(await super._call(Be))}}class OA extends ze{}class AA extends OA{}class iA extends OA{async _call(Be){return new vn(await super._call(Be))}}class Jt extends OA{async _call(Be){return new Gr(await super._call(Be))}}class LA extends OA{async _call(Be){return new fn(await super._call(Be))}}class Lr extends OA{async _call(Be){return new Hn(await super._call(Be))}}class Yr extends ze{}class Tt extends Yr{}class MA extends Yr{async _call(Be){return new vn(await super._call(Be))}}class NA extends Yr{async _call(Be){return new Gr(await super._call(Be))}}class JA extends Yr{async _call(Be){return new fn(await super._call(Be))}}class WA extends Yr{async _call(Be){return new Hn(await super._call(Be))}}class DA extends ze{}class Vr extends DA{}class xr extends DA{async _call(Be){return new vn(await super._call(Be))}}class Dr extends DA{async _call(Be){return new Gr(await super._call(Be))}}class Ls extends DA{async _call(Be){return new fn(await super._call(Be))}}class HA extends DA{async _call(Be){return new Hn(await super._call(Be))}}class ss extends ze{}class Da extends ss{}class dn extends ss{async _call(Be){return new vn(await super._call(Be))}}class Ga extends ss{async _call(Be){return new Gr(await super._call(Be))}}class Ka extends ss{async _call(Be){return new fn(await super._call(Be))}}class gn extends ss{async _call(Be){return new Hn(await super._call(Be))}}class xs extends ze{}class hn extends xs{}class ya extends xs{async _call(Be){return new Gr(await super._call(Be))}}class ui extends xs{async _call(Be){return new fn(await super._call(Be))}}class La extends xs{async _call(Be){return new Hn(await super._call(Be))}}class Va extends xs{async _call(Be){return new vn(await super._call(Be))}}class ls extends ze{}class yn extends ls{}class Qn extends ls{async _call(Be){return new vn(await super._call(Be))}}class Ci extends ls{async _call(Be){return new Gr(await super._call(Be))}}class Ha extends ls{async _call(Be){return new fn(await super._call(Be))}}class Pn extends ze{}class En extends Pn{}class Ya extends Pn{async _call(Be){return new vn(await super._call(Be))}}class sr extends Pn{async _call(Be){return new Gr(await super._call(Be))}}class pr extends Pn{async _call(Be){return new Hn(await super._call(Be))}}class oa extends ze{}class fi extends oa{}class _a extends oa{async _call(Be){return new vn(await super._call(Be))}}class Zn extends oa{async _call(Be){return new Gr(await super._call(Be))}}class Za extends oa{async _call(Be){return new fn(await super._call(Be))}}class Ra extends oa{async _call(Be){return new Hn(await super._call(Be))}}class _t extends ze{}class ye extends _t{}class Ze extends _t{async _call(Be){return new vn(await super._call(Be))}}class ut extends _t{async _call(Be){return new Gr(await super._call(Be))}}class mt extends _t{async _call(Be){return new Hn(await super._call(Be))}}class yt extends ze{}class Rt extends yt{}class cA extends yt{async _call(Be){return new Gr(await super._call(Be))}}class gt extends yt{async _call(Be){return new Hn(await super._call(Be))}}class mA extends yt{async _call(Be){return new vn(await super._call(Be))}}class lA extends ze{constructor(){super(...arguments);Ct(this,"forward_params",["input_ids","attention_mask","encoder_outputs","decoder_input_ids","decoder_attention_mask","past_key_values"])}}class lr extends lA{}class Wr extends lA{}class Tr extends ze{}class Or extends Tr{}class fr extends Tr{}class kA extends ze{}class QA extends kA{}class Qr extends kA{}class ga extends ze{}class _s extends ga{}class rs extends ga{}class zA extends ga{async _call(Be){return new Gr(await super._call(Be))}}class Kr extends ze{}class Wt extends Kr{}class PA extends Kr{}class ra extends Kr{async _call(Be){return new Gr(await super._call(Be))}}class Vs extends Kr{}class ms extends ze{}class Ts extends ms{}class as extends ms{}class vr extends ze{}class cs extends vr{}class Sn extends vr{}class Ta extends ze{}class zi extends Ta{}class Hs extends Ta{async _call(Be){return new vn(await super._call(Be))}}class Fi extends Ta{async _call(Be){return new Gr(await super._call(Be))}}class ur extends Ta{async _call(Be){return new fn(await super._call(Be))}}class Us extends Ta{async _call(Be){return new Hn(await super._call(Be))}}class ja extends ze{}class Mo extends ja{}class Oi extends ja{async _call(Be){return new vn(await super._call(Be))}}class Xn extends ja{async _call(Be){return new Gr(await super._call(Be))}}class Ii extends ja{async _call(Be){return new fn(await super._call(Be))}}class Nn extends ja{async _call(Be){return new Hn(await super._call(Be))}}class zn extends ze{}class Do extends zn{}class pn extends zn{async _call(Be){return new vn(await super._call(Be))}}class Qa extends zn{async _call(Be){return new Gr(await super._call(Be))}}class Ys extends zn{async _call(Be){return new fn(await super._call(Be))}}class BA extends zn{async _call(Be){return new Hn(await super._call(Be))}}class sa extends ze{}class wi extends sa{}class ki extends sa{}class io extends ze{constructor(){super(...arguments);Ct(this,"requires_attention_mask",!1);
2805Ct(this,"main_input_name","input_features");Ct(this,"forward_params",["input_features","attention_mask","decoder_input_ids","decoder_attention_mask","past_key_values"])}}class Fn extends io{}class Go extends io{_prepare_generation_config(Be,Ve){return super._prepare_generation_config(Be,Ve,Z.WhisperGenerationConfig)}_retrieve_init_tokens(Be){const Ve=[Be.decoder_start_token_id];let Et=Be.language;const Yt=Be.task;if(Be.is_multilingual){Et||(console.warn("No language specified - defaulting to English (en)."),Et="en");const Ht=`<|${(0,X.whisper_language_to_code)(Et)}|>`;Ve.push(Be.lang_to_id[Ht]),Ve.push(Be.task_to_id[Yt??"transcribe"])}else if(Et||Yt)throw new Error("Cannot specify `task` or `language` for an English-only model. If the model is intended to be multilingual, pass `is_multilingual=true` to generate, or update the generation config.");return!Be.return_timestamps&&Be.no_timestamps_token_id&&Ve.at(-1)!==Be.no_timestamps_token_id?Ve.push(Be.no_timestamps_token_id):Be.return_timestamps&&Ve.at(-1)===Be.no_timestamps_token_id&&(console.warn("<|notimestamps|> prompt token is removed from generation_config since `return_timestamps` is set to `true`."),Ve.pop()),Ve.filter(Ht=>Ht!=null)}async generate({inputs:Be=null,generation_config:Ve=null,logits_processor:Et=null,stopping_criteria:Yt=null,...Ht}){Ve=this._prepare_generation_config(Ve,Ht);const sA=Ht.decoder_input_ids??this._retrieve_init_tokens(Ve);if(Ve.return_timestamps&&(Et??(Et=new B.LogitsProcessorList),Et.push(new B.WhisperTimeStampLogitsProcessor(Ve,sA))),Ve.begin_suppress_tokens&&(Et??(Et=new B.LogitsProcessorList),Et.push(new B.SuppressTokensAtBeginLogitsProcessor(Ve.begin_suppress_tokens,sA.length))),Ve.return_token_timestamps){if(!Ve.alignment_heads)throw new Error("Model generation config has no `alignment_heads`, token-level timestamps not available. See https://gist.github.com/hollance/42e32852f24243b748ae6bc1f985b13a on how to add this property to the generation config.");Ve.task==="translate"&&console.warn("Token-level timestamps may not be reliable for task 'translate'."),Ve.output_attentions=!0,Ve.return_dict_in_generate=!0}const _A=await super.generate({inputs:Be,generation_config:Ve,logits_processor:Et,decoder_input_ids:sA,...Ht});return Ve.return_token_timestamps&&(_A.token_timestamps=this._extract_token_timestamps(_A,Ve.alignment_heads,Ve.num_frames)),_A}_extract_token_timestamps(Be,Ve,Et=null,Yt=.02){if(!Be.cross_attentions)throw new Error("Model outputs must contain cross attentions to extract timestamps. This is most likely because the model was not exported with `output_attentions=True`.");Et==null&&console.warn("`num_frames` has not been set, meaning the entire audio will be analyzed. This may lead to inaccurate token-level timestamps for short audios (< 30 seconds).");let Ht=this.config.median_filter_width;Ht===void 0&&(console.warn("Model config has no `median_filter_width`, using default value of 7."),Ht=7);const sA=Be.cross_attentions,_A=Array.from({length:this.config.decoder_layers},(_r,Sr)=>(0,D.cat)(sA.map(hs=>hs[Sr]),2)),TA=(0,D.stack)(Ve.map(([_r,Sr])=>{if(_r>=_A.length)throw new Error(`Layer index ${_r} is out of bounds for cross attentions (length ${_A.length}).`);return Et?_A[_r].slice(null,Sr,null,[0,Et]):_A[_r].slice(null,Sr)})).transpose(1,0,2,3),[yA,VA]=(0,D.std_mean)(TA,-2,0,!0),$A=TA.clone();for(let _r=0;_r<$A.dims[0];++_r){const Sr=$A[_r];for(let hs=0;hs<Sr.dims[0];++hs){const ta=Sr[hs],ia=yA[_r][hs][0].data,js=VA[_r][hs][0].data;for(let Wa=0;Wa<ta.dims[0];++Wa){let Pa=ta[Wa].data;for(let Sa=0;Sa<Pa.length;++Sa)Pa[Sa]=(Pa[Sa]-js[Sa])/ia[Sa];Pa.set((0,O.medianFilter)(Pa,Ht))}}}const Ir=[(0,D.mean)($A,1)],gs=Be.sequences.dims,yr=new D.Tensor("float32",new Float32Array(gs[0]*gs[1]),gs);for(let _r=0;_r<gs[0];++_r){const Sr=Ir[_r].neg().squeeze_(0),[hs,ta]=(0,O.dynamic_time_warping)(Sr.tolist()),ia=Array.from({length:hs.length-1},(Pa,Sa)=>hs[Sa+1]-hs[Sa]),js=(0,b.mergeArrays)([1],ia).map(Pa=>!!Pa),Wa=[];for(let Pa=0;Pa<js.length;++Pa)js[Pa]&&Wa.push(ta[Pa]*Yt);yr[_r].data.set(Wa,1)}return yr}}class di extends ze{constructor(){super(...arguments);Ct(this,"requires_attention_mask",!1);
2805Ct(this,"main_input_name","input_values");Ct(this,"forward_params",["input_values","decoder_input_ids","past_key_values"])}}class oo extends di{}class Ea extends di{}class Xr extends ze{constructor(){super(...arguments);Ct(this,"main_input_name","pixel_values");Ct(this,"forward_params",["pixel_values","decoder_input_ids","encoder_hidden_states","past_key_values"])}}class qn extends ze{constructor(){super(...arguments);Ct(this,"forward_params",["input_ids","attention_mask","pixel_values","position_ids","past_key_values"])}}class mn extends qn{_merge_input_ids_with_image_features({inputs_embeds:Be,image_features:Ve,input_ids:Et,attention_mask:Yt}){const Ht=this.config.image_token_index,sA=Et.tolist().map($A=>$A.findIndex(Ir=>Ir==Ht)),_A=sA.every($A=>$A===-1),TA=sA.every($A=>$A!==-1);if(!_A&&!TA)throw new Error("Every input should contain either 0 or 1 image token.");if(_A)return{inputs_embeds:Be,attention_mask:Yt};const yA=[],VA=[];for(let $A=0;$A<sA.length;++$A){const Ir=sA[$A],gs=Be[$A],yr=Ve[$A],_r=Yt[$A];yA.push((0,D.cat)([gs.slice([0,Ir]),yr,gs.slice([Ir+1,gs.dims[0]])],0)),VA.push((0,D.cat)([_r.slice([0,Ir]),(0,D.ones)([yr.dims[0]]),_r.slice([Ir+1,_r.dims[0]])],0))}return{inputs_embeds:(0,D.stack)(yA,0),attention_mask:(0,D.stack)(VA,0)}}}class Xs extends mn{}class Bn extends mn{}class rn extends ze{constructor(){super(...arguments);Ct(this,"forward_params",["input_ids","inputs_embeds","attention_mask","pixel_values","encoder_outputs","decoder_input_ids","decoder_inputs_embeds","decoder_attention_mask","past_key_values"]);Ct(this,"main_input_name","inputs_embeds")}}class lo extends rn{_merge_input_ids_with_image_features({inputs_embeds:Be,image_features:Ve,input_ids:Et,attention_mask:Yt}){return{inputs_embeds:(0,D.cat)([Ve,Be],1),attention_mask:(0,D.cat)([(0,D.ones)(Ve.dims.slice(0,2)),Yt],1)}}async _prepare_inputs_embeds({input_ids:Be,pixel_values:Ve,inputs_embeds:Et,attention_mask:Yt}){if(!Be&&!Ve)throw new Error("Either `input_ids` or `pixel_values` should be provided.");let Ht,sA;return Be&&(Ht=await this.encode_text({input_ids:Be})),Ve&&(sA=await this.encode_image({pixel_values:Ve})),Ht&&sA?{inputs_embeds:Et,attention_mask:Yt}=this._merge_input_ids_with_image_features({inputs_embeds:Ht,image_features:sA,input_ids:Be,attention_mask:Yt}):Et=Ht||sA,{inputs_embeds:Et,attention_mask:Yt}}async forward({input_ids:Be,pixel_values:Ve,attention_mask:Et,decoder_input_ids:Yt,decoder_attention_mask:Ht,encoder_outputs:sA,past_key_values:_A,inputs_embeds:TA,decoder_inputs_embeds:yA}){if(TA||({inputs_embeds:TA,attention_mask:Et}=await this._prepare_inputs_embeds({input_ids:Be,pixel_values:Ve,inputs_embeds:TA,attention_mask:Et})),!sA){let{last_hidden_state:$A}=await it(this,{inputs_embeds:TA,attention_mask:Et});sA=$A}if(!yA){if(!Yt)throw new Error("Either `decoder_input_ids` or `decoder_inputs_embeds` should be provided.");yA=await this.encode_text({input_ids:Yt})}return await We(this,{inputs_embeds:yA,attention_mask:Ht,encoder_attention_mask:Et,encoder_hidden_states:sA,past_key_values:_A},!0)}}class xn extends ze{constructor(){super(...arguments);Ct(this,"forward_params",["input_ids","attention_mask","pixel_values","position_ids","past_key_values"])}}class Jn extends xn{_merge_input_ids_with_image_features(Be){const Ve=Be.image_features.dims.at(-1),Et=Be.image_features.view(-1,Ve);return ot({image_token_id:this.config.image_token_index,...Be,image_features:Et})}}class co extends ze{constructor(){super(...arguments);Ct(this,"forward_params",["input_ids","attention_mask","pixel_values","pixel_attention_mask","position_ids","past_key_values"])}}class gi extends co{async encode_image({pixel_values:Be,pixel_attention_mask:Ve}){return(await de(this.sessions.vision_encoder,{pixel_values:Be,pixel_attention_mask:Ve})).image_features}_merge_input_ids_with_image_features(Be){const Ve=Be.image_features.dims.at(-1),Et=Be.image_features.view(-1,Ve);return ot({image_token_id:this.config.image_token_id,...Be,image_features:Et})}}class $n extends ze{constructor(){super(...arguments);Ct(this,"forward_params",["input_ids","inputs_embeds","attention_mask","position_ids","pixel_values","image_sizes","past_key_values"])}}class uA extends $n{async forward({input_ids:Be=null,attention_mask:Ve=null,pixel_values:Et=null,image_sizes:Yt=null,position_ids:Ht=null,inputs_embeds:sA=null,past_key_values:_A=null,generation_config:TA=null,logits_processor:yA=null,...VA}){if(!sA){let $A;if(Et&&Be.dims[1]!==1){if(!Yt)throw new Error("`image_sizes` must be provided when `pixel_values` is provided.");({image_features:$A}=await de(this.sessions.vision_encoder,{pixel_values:Et,image_sizes:Yt}))}else{const Ir=this.config.normalized_config.hidden_size;
2805$A=new D.Tensor("float32",[],[0,Ir])}({inputs_embeds:sA}=await de(this.sessions.prepare_inputs_embeds,{input_ids:Be,image_features:$A}))}return await We(this,{inputs_embeds:sA,past_key_values:_A,attention_mask:Ve,position_ids:Ht,generation_config:TA,logits_processor:yA},!1)}}class On extends ze{}class vA extends On{}class _o extends On{static async from_pretrained(Be,Ve={}){return super.from_pretrained(Be,{...Ve,model_file_name:Ve.model_file_name??"text_model"})}}class uo extends On{static async from_pretrained(Be,Ve={}){return super.from_pretrained(Be,{...Ve,model_file_name:Ve.model_file_name??"text_model"})}}class la extends On{static async from_pretrained(Be,Ve={}){return super.from_pretrained(Be,{...Ve,model_file_name:Ve.model_file_name??"vision_model"})}}class Ss extends On{static async from_pretrained(Be,Ve={}){return super.from_pretrained(Be,{...Ve,model_file_name:Ve.model_file_name??"vision_model"})}}class vi extends ze{}class hi extends vi{}class sn extends vi{static async from_pretrained(Be,Ve={}){return super.from_pretrained(Be,{...Ve,model_file_name:Ve.model_file_name??"text_model"})}}class Rr extends On{static async from_pretrained(Be,Ve={}){return super.from_pretrained(Be,{...Ve,model_file_name:Ve.model_file_name??"vision_model"})}}class Uo extends ze{}class fo extends Uo{}class ha extends ze{}class yi extends ha{async forward(Be){const Ve=!Be.input_ids,Et=!Be.pixel_values;if(Ve&&Et)throw new Error("Either `input_ids` or `pixel_values` should be provided.");if(Ve&&(Be.input_ids=(0,D.ones)([Be.pixel_values.dims[0],1])),Et){const{image_size:yA}=this.config.vision_config;Be.pixel_values=(0,D.full)([0,3,yA,yA],0)}const{text_embeddings:Yt,image_embeddings:Ht,l2norm_text_embeddings:sA,l2norm_image_embeddings:_A}=await super.forward(Be),TA={};return Ve||(TA.text_embeddings=Yt,TA.l2norm_text_embeddings=sA),Et||(TA.image_embeddings=Ht,TA.l2norm_image_embeddings=_A),TA}}class go extends ha{static async from_pretrained(Be,Ve={}){return super.from_pretrained(Be,{...Ve,model_file_name:Ve.model_file_name??"text_model"})}}class Xa extends ha{static async from_pretrained(Be,Ve={}){return super.from_pretrained(Be,{...Ve,model_file_name:Ve.model_file_name??"vision_model"})}}class Ei extends ze{}class CA extends Ei{}class qs extends Ei{}class pa extends ze{}class Li extends pa{}class bn extends pa{}class an extends ze{}class Ko extends an{}class ho extends an{}class qa extends ze{}class Zo extends qa{}class po extends qa{}class ns extends ze{}class Xo extends ns{}class mo extends ns{}class er extends ze{}class or extends er{}class To extends er{}class nn extends ze{}class Cn extends nn{}class ca extends nn{}class In extends ze{}class bs extends In{}class Ln extends In{}class Bi extends ze{}class on extends Bi{}class qo extends Bi{}class xi extends ze{}class qr extends xi{}class Vi extends xi{}class Hi extends ze{}class Cs extends Hi{}class Mi extends Hi{}class wn extends ze{}class ln extends wn{}class Qo extends wn{}class Yi extends ze{}class Ja extends Yi{}class Mn extends Yi{}class Di extends ze{}class kn extends Di{}class Po extends Di{}class Ri extends ze{}class ua extends Ri{}class bo extends Ri{}class Ns extends ze{}class cn extends Ns{}class Co extends Ns{}class pi extends ze{}class zs extends pi{}class ji extends pi{}class Wi extends ze{}class Js extends Wi{}class ma extends Wi{}class Io extends ze{}class So extends Io{}class Gi extends Io{}class Ot extends ze{}class GA extends Ot{}class Ui extends Ot{}class SA extends ze{}class ei extends SA{}class ba extends SA{}class Ki extends ze{constructor(){super(...arguments);Ct(this,"forward_params",["input_ids","attention_mask","position_ids","past_key_values","pixel_values","image_grid_thw"])}}class wo extends Ki{get_rope_index(Be,Ve,Et,Yt){const{vision_config:Ht,image_token_id:sA,video_token_id:_A,vision_start_token_id:TA}=this.config,yA=Ht.spatial_merge_size??2,VA=[];if(Ve||Et){let $A=Be.tolist();Yt||(Yt=(0,D.ones_like)(Be));const Ir=Yt.tolist(),gs=Array.from({length:3},ta=>Array.from({length:Be.dims[0]},ia=>Array.from({length:Be.dims[1]},js=>1))),yr=Ve?Ve.tolist():[],_r=Et?Et.tolist():[];let Sr=0,hs=0;for(let ta=0;ta<$A.length;++ta){const ia=$A[ta].filter((Ks,Na)=>Ir[ta][Na]==1),js=ia.reduce((Ks,Na,li)=>(Na==TA&&Ks.push(li),Ks),[]),Wa=js.map(Ks=>ia[Ks+1]),Pa=Wa.filter(Ks=>Ks==sA).length,Sa=Wa.filter(Ks=>Ks==_A).length;let xa=[],oi=0,Ms=Pa,Yn=Sa;for(let Ks=0;Ks<Wa.length;++Ks){const Na=ia.findIndex((Si,Tn)=>Tn>oi&&Si==sA),li=ia.findIndex((Si,Tn)=>Tn>oi&&Si==_A),h0=Ms>0&&Na!==-1?Na:ia.length+1,n0=Yn>0&&li!==-1?li:ia.length+1;let Z0,fl,dl,gl;h0<n0?([fl,dl,gl]=yr[Sr],++Sr,--Ms,Z0=h0):([fl,dl,gl]=_r[hs],++hs,--Yn,Z0=n0);const[Lu,hl,Eo]=[Number(fl),Math.floor(Number(dl)/yA),Math.floor(Number(gl)/yA)],ci=Z0-oi,M0=xa.length>0?(0,O.max)(xa.at(-1))[0]+1:0;xa.push(Array.from({length:3*ci},(Si,Tn)=>M0+Tn%ci));const D0=ci+M0,p0=Lu*hl*Eo,m2=Array.from({length:p0},(Si,Tn)=>D0+Math.floor(Tn/(hl*Eo))),Vu=Array.from({length:p0},(Si,Tn)=>D0+Math.floor(Tn/Eo)%hl),b2=Array.from({length:p0},(Si,Tn)=>D0+Tn%Eo);xa.push([m2,Vu,b2].flat()),oi=Z0+p0}if(oi<ia.length){const Ks=xa.length>0?(0,O.max)(xa.at(-1))[0]+1:0,Na=ia.length-oi;xa.push(Array.from({length:3*Na},(li,h0)=>Ks+h0%Na))}const d0=xa.reduce((Ks,Na)=>Ks+Na.length,0),x0=new Array(d0);let g0=0;for(let Ks=0;Ks<3;++Ks)for(let Na=0;Na<xa.length;++Na){const li=xa[Na],h0=li.length/3;for(let n0=Ks*h0;n0<(Ks+1)*h0;++n0)x0[g0++]=li[n0]}let K0=0;const Ou=Ir[ta];for(let Ks=0;Ks<Ou.length;++Ks)if(Ou[Ks]==1){for(let Na=0;Na<3;++Na)gs[Na][ta][Ks]=x0[Na*d0/3+K0];++K0}const B1=(0,O.max)(x0)[0];VA.push(B1+1-$A[ta].length)}return[new D.Tensor("int64",gs.flat(1/0),[3,Be.dims[0],Be.dims[1]]),new D.Tensor("int64",VA,[VA.length,1])]}if(Yt){const{data:$A,dims:Ir}=ct(Yt),gs=BigInt64Array.from({length:3*$A.length},(_r,Sr)=>$A[Sr%$A.length]),yr=Array.from({length:Ir[0]},(_r,Sr)=>(0,O.max)($A.subarray(Ir[1]*Sr,Ir[1]*(Sr+1)))[0]+1n+BigInt(Ir[1]));return[new D.Tensor("int64",gs,[3,...Ir]),new D.Tensor("int64",yr,[yr.length,1])]}{const[$A,Ir]=Be.dims,gs=BigInt64Array.from({length:3*$A*Ir},(yr,_r)=>BigInt(Math.floor(_r%Ir/$A)));return[new D.Tensor("int64",gs,[3,...Be.dims]),(0,D.zeros)([$A,1])]}}async encode_image({pixel_values:Be,image_grid_thw:Ve}){return(await de(this.sessions.vision_encoder,{pixel_values:Be,grid_thw:Ve})).image_features}_merge_input_ids_with_image_features(Be){return ot({image_token_id:this.config.image_token_id,...Be})}prepare_inputs_for_generation(Be,Ve,Et){if(Ve.attention_mask&&!Ve.position_ids)if(Ve.past_key_values){Ve.pixel_values=null;const Yt=BigInt(Object.values(Ve.past_key_values)[0].dims.at(-2)),Ht=Ve.rope_deltas.map(sA=>Yt+sA);Ve.position_ids=(0,D.stack)([Ht,Ht,Ht],0)}else[Ve.position_ids,Ve.rope_deltas]=this.get_rope_index(Ve.input_ids,Ve.image_grid_thw,
vendor: 6,367 bytes, line 2805
2805Ve.video_grid_thw,Ve.attention_mask);return Ve}}class un extends ze{}class fs extends un{}class Zi extends un{}class ti extends ze{}class _i extends ti{}class Jo extends ti{}class Xi extends ze{}class No extends Xi{}class $o extends Xi{}class Ai extends ze{}class $a extends Ai{}class zo extends Ai{}class qi extends ze{}class aa extends qi{}class Zr extends qi{}class Ti extends ze{}class e0 extends Ti{}class ri extends Ti{async _call(Be){return new Gr(await super._call(Be))}}class si extends ze{}class Vn extends si{}class Fo extends si{async _call(Be){return new Gr(await super._call(Be))}}class Ca extends ze{}class t0 extends Ca{}class Ji extends ze{}class Qi extends Ji{}class $i extends Ji{async _call(Be){return new Gr(await super._call(Be))}}class fa extends ze{}class eo extends fa{}class ko extends ze{}class mi extends ko{}class A0 extends ko{async _call(Be){return new Gr(await super._call(Be))}}class ai extends ze{}class Ar extends ai{}class t extends ze{}class A extends t{}class r extends t{async _call(Be){return new Gr(await super._call(Be))}}class a extends ze{}class i extends a{async _call(Be){return new y1(await super._call(Be))}}class l extends ze{}class h extends l{}class m extends l{async _call(Be){return new Gr(await super._call(Be))}}class w extends ze{}class M extends w{}class y extends w{async _call(Be){return new Gr(await super._call(Be))}}class P extends ze{}class R extends P{}class ee extends P{}class ae extends ze{}class ue extends ae{}class be extends ae{}class Te extends ze{}class Oe extends Te{}class $e extends Te{async _call(Be){return new Gr(await super._call(Be))}}class nt extends ze{}class ht extends nt{}class vt extends nt{async _call(Be){return new Ut(await super._call(Be))}}class Qt extends nt{async _call(Be){return new fA(await super._call(Be))}}class Ut extends At{constructor({logits:Be,pred_boxes:Ve}){super(),this.logits=Be,this.pred_boxes=Ve}}class fA extends At{constructor({logits:Be,pred_boxes:Ve,pred_masks:Et}){super(),this.logits=Be,this.pred_boxes=Ve,this.pred_masks=Et}}class hA extends ze{}class FA extends hA{}class YA extends hA{async _call(Be){return new rr(await super._call(Be))}}class rr extends At{constructor({logits:Be,pred_boxes:Ve}){super(),this.logits=Be,this.pred_boxes=Ve}}class wr extends ze{}class jr extends wr{}class Jr extends wr{async _call(Be){return new ds(await super._call(Be))}}class ds extends Ut{}class is extends ze{}class Qs extends is{}class Ps extends is{async _call(Be){return new Gr(await super._call(Be))}}class Rs extends ze{}class $s extends Rs{}class ea extends Rs{async _call(Be){return new Gr(await super._call(Be))}}class na extends ze{}class da extends na{}class Ba extends na{async _call(Be){return new Gr(await super._call(Be))}}class en extends ze{}class Dn extends en{}class Gn extends en{async _call(Be){return new Gr(await super._call(Be))}}class ni extends ze{}class to extends ni{}class ii extends ni{}class Pi extends ze{}class Ao extends Pi{}class Oo extends Pi{}class r0 extends ze{}class Y0 extends r0{}class i0 extends ze{}class L2 extends i0{}class V2 extends i0{}class H2 extends i0{}class Y2 extends ze{}class R2 extends Y2{}class xl extends ze{}class j2 extends xl{}class W2 extends xl{}class Ml extends ze{}class U2 extends Ml{}class K2 extends Ml{}class Z2 extends ze{}class X2 extends Z2{}class Dl extends ze{}class q2 extends Dl{}class J2 extends Dl{async _call(Be){return new Gr(await super._call(Be))}}class Gl extends ze{}class $2 extends Gl{}class ec extends Gl{async _call(Be){return new Gr(await super._call(Be))}}class _l extends ze{}class tc extends _l{}class vo extends _l{async _call(Be){return new Gr(await super._call(Be))}}class yo extends ze{}class o0 extends yo{}class l0 extends yo{async _call(Be){return new Gr(await super._call(Be))}}class Ac extends ze{}class rc extends Ac{}class Tl extends ze{}class sc extends Tl{}class ac extends Tl{async _call(Be){return new nc(await super._call(Be))}}class nc extends At{constructor({logits:Be,pred_boxes:Ve}){super(),this.logits=Be,this.pred_boxes=Ve}}class ic extends ze{}class oc extends ic{async get_image_embeddings({pixel_values:Be}){return await it(this,{pixel_values:Be})}async forward(Be){if(Be.image_embeddings&&Be.image_positional_embeddings||(Be={...Be,...await this.get_image_embeddings(Be)}),!Be.input_labels&&Be.input_points){const Et=Be.input_points.dims.slice(0,-1),Yt=Et.reduce((Ht,sA)=>Ht*sA,1);Be.input_labels=new D.Tensor("int64",new BigInt64Array(Yt).fill(1n),Et)}const Ve={image_embeddings:Be.image_embeddings,image_positional_embeddings:Be.image_positional_embeddings};return Be.input_points&&(Ve.input_points=Be.input_points),Be.input_labels&&(Ve.input_labels=Be.input_labels),Be.input_boxes&&(Ve.input_boxes=Be.input_boxes),await de(this.sessions.prompt_encoder_mask_decoder,Ve)}async _call(Be){return new lc(await super._call(Be))}}class lc extends At{constructor({iou_scores:Be,pred_masks:Ve}){super(),this.iou_scores=Be,this.pred_masks=Ve}}class _n extends ze{}class cc extends _n{}class uc extends _n{}class al extends ze{}class fc extends al{}class R0 extends al{}class s0 extends ze{}class dc extends s0{}class gc extends s0{async _call(Be){return new B0(await super._call(Be))}}class hc extends s0{async _call(Be){return new Gr(await super._call(Be))}}class pc extends s0{async _call(Be){return new fn(await super._call(Be))}}class nl extends ze{}class mc extends nl{}class bc extends nl{async _call(Be){return new fn(await super._call(Be))}}class Cc extends ze{}class Ic extends Cc{}class j0 extends ze{}class wc extends j0{}class Ql extends j0{async _call(Be){return new B0(await super._call(Be))}}class kc extends j0{async _call(Be){return new Gr(await super._call(Be))}}class W0 extends ze{}class vc extends W0{}class yc extends W0{async _call(Be){return new B0(await super._call(Be))}}class Ec extends W0{async _call(Be){return new Gr(await super._call(Be))}}class Bc extends W0{async _call(Be){return new fn(await super._call(Be))}}class il extends ze{}class xc extends il{}class Mc extends il{async _call(Be){return new B0(await super._call(Be))}}class Dc extends il{async _call(Be){return new Gr(await super._call(Be))}}class e1 extends ze{}class Gc extends s0{}class _c extends s0{async _call(Be){return new B0(await super._call(Be))}}class Tc extends s0{async _call(Be){return new Gr(await super._call(Be))}}class E0 extends ze{}
2805class Qc extends E0{}class Pc extends E0{async _call(Be){return new B0(await super._call(Be))}}class Sc extends E0{async _call(Be){return new Gr(await super._call(Be))}}class Nc extends E0{async _call(Be){return new v1(await super._call(Be))}}class zc extends E0{async _call(Be){return new fn(await super._call(Be))}}class Fc extends ze{}class Oc extends Fc{}class c0 extends ze{}class Lc extends c0{}class Pl extends c0{}class Sl extends c0{async generate_speech(Be,Ve,{threshold:Et=.5,minlenratio:Yt=0,maxlenratio:Ht=20,vocoder:sA=null}={}){const _A={input_ids:Be},{encoder_outputs:TA,encoder_attention_mask:yA}=await it(this,_A),VA=TA.dims[1]/this.config.reduction_factor,$A=Math.floor(VA*Ht),Ir=Math.floor(VA*Yt),gs=this.config.num_mel_bins;let yr=[],_r=null,Sr=null,hs=0;for(;;){++hs;const js=_e(!!Sr);let Wa;Wa=Sr?Sr.output_sequence_out:new D.Tensor("float32",new Float32Array(gs),[1,1,gs]);let Pa={use_cache_branch:js,output_sequence:Wa,encoder_attention_mask:yA,speaker_embeddings:Ve,encoder_hidden_states:TA};this.addPastKeyValues(Pa,_r),Sr=await de(this.sessions.decoder_model_merged,Pa),_r=this.getPastKeyValues(Sr,_r);const{prob:Sa,spectrum:xa}=Sr;if(yr.push(xa),hs>=Ir&&(Array.from(Sa.data).filter(oi=>oi>=Et).length>0||hs>=$A))break}const ta=(0,D.cat)(yr),{waveform:ia}=await de(sA.sessions.model,{spectrogram:ta});return{spectrogram:ta,waveform:ia}}}class Nl extends ze{constructor(){super(...arguments);Ct(this,"main_input_name","spectrogram")}}class Vc extends ze{}class Hc extends Vc{}class ol extends ze{}class zl extends ol{}class Yc extends ol{}class Fl extends ze{}class Ol extends Fl{}class Rc extends Fl{}class Ll extends ze{}class Vl extends Ll{}class jc extends Ll{}class ll extends ze{}class Wc extends ll{}class Uc extends ll{static async from_pretrained(Be,Ve={}){return super.from_pretrained(Be,{...Ve,model_file_name:Ve.model_file_name??"text_model"})}}class Kc extends ll{static async from_pretrained(Be,Ve={}){return super.from_pretrained(Be,{...Ve,model_file_name:Ve.model_file_name??"audio_model"})}}class Zc extends ze{}class Hl extends Zc{async _call(Be){return new E1(await super._call(Be))}}class cl extends ze{}class t1 extends cl{}class Xc extends cl{}class qc extends cl{}class Yl extends ze{}class Jc extends Yl{}class $c extends Yl{}class Rl extends ze{}class eu extends Rl{}class tu extends Rl{async _call(Be){return new Gr(await super._call(Be))}}class jl extends ze{}class Au extends jl{}class A1 extends jl{}class Wl extends ze{constructor(){super(...arguments);Ct(this,"forward_params",["input_ids","attention_mask","encoder_outputs","decoder_input_ids","decoder_attention_mask","past_key_values"])}_apply_and_filter_by_delay_pattern_mask(Ve){const[Et,Yt]=Ve.dims,Ht=this.config.decoder.num_codebooks,sA=Yt-Ht;let _A=0;for(let VA=0;VA<Ve.size;++VA){if(Ve.data[VA]===this.config.decoder.pad_token_id)continue;const $A=VA%Yt-Math.floor(VA/Yt)%Ht;$A>0&&$A<=sA&&(Ve.data[_A++]=Ve.data[VA])}const TA=Math.floor(Et/Ht),yA=_A/(TA*Ht);return new D.Tensor(Ve.type,Ve.data.slice(0,_A),[TA,Ht,yA])}prepare_inputs_for_generation(Ve,Et,Yt){let Ht=structuredClone(Ve);for(let sA=0;sA<Ht.length;++sA)for(let _A=0;_A<Ht[sA].length;++_A)sA%this.config.decoder.num_codebooks>=_A&&(Ht[sA][_A]=BigInt(this.config.decoder.pad_token_id));return Yt.guidance_scale!==null&&Yt.guidance_scale>1&&(Ht=Ht.concat(Ht)),super.prepare_inputs_for_generation(Ht,Et,Yt)}async generate(Ve){const Et=await super.generate(Ve),Yt=this._apply_and_filter_by_delay_pattern_mask(Et).unsqueeze_(0),{audio_values:Ht}=await de(this.sessions.encodec_decode,{audio_codes:Yt});return Ht}}class Ul extends ze{}class ru extends Ul{}class su extends Ul{async _call(Be){return new Gr(await super._call(Be))}}class Kl extends ze{}class au extends Kl{}class nu extends Kl{async _call(Be){return new Gr(await super._call(Be))}}class ul extends ze{}class iu extends ul{}class ou extends ul{async _call(Be){return new Gr(await super._call(Be))}}class Zl extends ze{}class lu extends Zl{}class cu extends Zl{async _call(Be){return new Gr(await super._call(Be))}}class uu extends ze{}class fu extends uu{}class du extends ze{}class gu extends du{constructor(...Ve){super(...Ve);Ct(this,"forward_params",["input_ids","pixel_values","images_seq_mask","images_emb_mask","attention_mask","position_ids","past_key_values"]);this._generation_mode="text"}async forward(Ve){const Et=this._generation_mode??"text";let Yt;if(Et!=="text"&&Ve.past_key_values){const yA=this.sessions.gen_img_embeds,VA=(0,b.pick)({image_ids:Ve.input_ids},yA.inputNames);Yt=await de(yA,VA)}else{const yA=this.sessions.prepare_inputs_embeds,VA=(0,b.pick)(Ve,yA.inputNames);Yt=await de(yA,VA)}const Ht={...Ve,...Yt},sA=await We(this,Ht),_A=this.sessions[Et==="text"?"lm_head":"gen_head"];if(!_A)throw new Error(`Unable to find "${_A}" generation head`);const TA=await de(_A,(0,b.pick)(sA,_A.inputNames));return{...Yt,...sA,...TA}}async generate(Ve){return this._generation_mode="text",super.generate(Ve)}async generate_images(Ve){this._generation_mode="image";const Et=(Ve.inputs??Ve[this.main_input_name]).dims[1],Yt=(await super.generate(Ve)).slice(null,[Et,null]),Ht=this.sessions.image_decode,{decoded_image:sA}=await de(Ht,{generated_tokens:Yt}),_A=sA.add_(1).mul_(127.5).clamp_(0,255).to("uint8"),TA=[];for(const yA of _A){const VA=_.RawImage.fromTensor(yA);TA.push(VA)}return TA}}class hu extends At{constructor({char_logits:Be,bpe_logits:Ve,wp_logits:Et}){super(),this.char_logits=Be,this.bpe_logits=Ve,this.wp_logits=Et}get logits(){return[this.char_logits,this.bpe_logits,this.wp_logits]}}class pu extends ze{}class mu extends pu{async _call(Be){return new hu(await super._call(Be))}}class Xl extends ze{}class bu extends Xl{}class U0 extends Xl{}class ql extends ze{}class Jl extends ql{}class Cu extends ql{}class Es{static async from_pretrained(Be,{progress_callback:Ve=null,config:Et=null,cache_dir:Yt=null,local_files_only:Ht=!1,revision:sA="main",model_file_name:_A=null,subfolder:TA="onnx",device:yA=null,dtype:VA=null,use_external_data_format:$A=null,session_options:Ir={}}={}){const gs={progress_callback:Ve,config:Et,cache_dir:Yt,local_files_only:Ht,revision:sA,model_file_name:_A,subfolder:TA,device:yA,dtype:VA,use_external_data_format:$A,session_options:Ir};
2805if(gs.config=await o.AutoConfig.from_pretrained(Be,gs),!this.MODEL_CLASS_MAPPINGS)throw new Error("`MODEL_CLASS_MAPPINGS` not implemented for this type of `AutoClass`: "+this.name);for(const yr of this.MODEL_CLASS_MAPPINGS){const _r=yr.get(gs.config.model_type);if(_r)return await _r[1].from_pretrained(Be,gs)}if(this.BASE_IF_FAIL)return console.warn(`Unknown model class "${gs.config.model_type}", attempting to construct from base class.`),await ze.from_pretrained(Be,gs);throw Error(`Unsupported model type: ${gs.config.model_type}`)}}Ct(Es,"MODEL_CLASS_MAPPINGS",null),Ct(Es,"BASE_IF_FAIL",!1);const r1=new Map([["bert",["BertModel",St]],["modernbert",["ModernBertModel",Je]],["nomic_bert",["NomicBertModel",eA]],["roformer",["RoFormerModel",gA]],["electra",["ElectraModel",AA]],["esm",["EsmModel",yn]],["convbert",["ConvBertModel",Gt]],["camembert",["CamembertModel",Tt]],["deberta",["DebertaModel",Vr]],["deberta-v2",["DebertaV2Model",Da]],["mpnet",["MPNetModel",fi]],["albert",["AlbertModel",Rt]],["distilbert",["DistilBertModel",hn]],["roberta",["RobertaModel",zi]],["xlm",["XLMModel",Mo]],["xlm-roberta",["XLMRobertaModel",Do]],["clap",["ClapModel",Wc]],["clip",["CLIPModel",vA]],["clipseg",["CLIPSegModel",CA]],["chinese_clip",["ChineseCLIPModel",fo]],["siglip",["SiglipModel",hi]],["jina_clip",["JinaCLIPModel",yi]],["mobilebert",["MobileBertModel",En]],["squeezebert",["SqueezeBertModel",ye]],["wav2vec2",["Wav2Vec2Model",dc]],["wav2vec2-bert",["Wav2Vec2BertModel",xc]],["unispeech",["UniSpeechModel",wc]],["unispeech-sat",["UniSpeechSatModel",vc]],["hubert",["HubertModel",Gc]],["wavlm",["WavLMModel",Qc]],["audio-spectrogram-transformer",["ASTModel",wi]],["vits",["VitsModel",Hl]],["pyannote",["PyAnnoteModel",mc]],["wespeaker-resnet",["WeSpeakerResNetModel",Ic]],["detr",["DetrModel",ht]],["rt_detr",["RTDetrModel",FA]],["table-transformer",["TableTransformerModel",jr]],["vit",["ViTModel",e0]],["ijepa",["IJepaModel",Vn]],["pvt",["PvtModel",Qi]],["vit_msn",["ViTMSNModel",mi]],["vit_mae",["ViTMAEModel",eo]],["groupvit",["GroupViTModel",Ar]],["fastvit",["FastViTModel",A]],["mobilevit",["MobileViTModel",h]],["mobilevitv2",["MobileViTV2Model",M]],["owlvit",["OwlViTModel",R]],["owlv2",["Owlv2Model",ue]],["beit",["BeitModel",Oe]],["deit",["DeiTModel",Qs]],["hiera",["HieraModel",$s]],["convnext",["ConvNextModel",q2]],["convnextv2",["ConvNextV2Model",$2]],["dinov2",["Dinov2Model",tc]],["dinov2_with_registers",["Dinov2WithRegistersModel",o0]],["resnet",["ResNetModel",da]],["swin",["SwinModel",Dn]],["swin2sr",["Swin2SRModel",to]],["donut-swin",["DonutSwinModel",X2]],["yolos",["YolosModel",sc]],["dpt",["DPTModel",Ao]],["glpn",["GLPNModel",U2]],["hifigan",["SpeechT5HifiGan",Nl]],["efficientnet",["EfficientNetModel",eu]],["decision_transformer",["DecisionTransformerModel",fu]],["patchtst",["PatchTSTForPrediction",bu]],["patchtsmixer",["PatchTSMixerForPrediction",Jl]],["mobilenet_v1",["MobileNetV1Model",ru]],["mobilenet_v2",["MobileNetV2Model",au]],["mobilenet_v3",["MobileNetV3Model",iu]],["mobilenet_v4",["MobileNetV4Model",lu]],["maskformer",["MaskFormerModel",j2]],["mgp-str",["MgpstrForSceneTextRecognition",mu]],["style_text_to_speech_2",["StyleTextToSpeech2Model",Oc]]]),s1=new Map([["t5",["T5Model",lr]],["longt5",["LongT5Model",Or]],["mt5",["MT5Model",QA]],["bart",["BartModel",_s]],["mbart",["MBartModel",Wt]],["marian",["MarianModel",cc]],["whisper",["WhisperModel",Fn]],["m2m_100",["M2M100Model",fc]],["blenderbot",["BlenderbotModel",Ts]],["blenderbot-small",["BlenderbotSmallModel",cs]]]),a1=new Map([["bloom",["BloomModel",No]],["jais",["JAISModel",Ko]],["gpt2",["GPT2Model",Li]],["gptj",["GPTJModel",or]],["gpt_bigcode",["GPTBigCodeModel",Cn]],["gpt_neo",["GPTNeoModel",Zo]],["gpt_neox",["GPTNeoXModel",Xo]],["codegen",["CodeGenModel",bs]],["llama",["LlamaModel",on]],["exaone",["ExaoneModel",ln]],["olmo",["OlmoModel",kn]],["olmo2",["Olmo2Model",ua]],["mobilellm",["MobileLLMModel",Ja]],["granite",["GraniteModel",cn]],["cohere",["CohereModel",zs]],["gemma",["GemmaModel",Js]],["gemma2",["Gemma2Model",So]],["helium",["HeliumModel",qr]],["glm",["GlmModel",Cs]],["openelm",["OpenELMModel",GA]],["qwen2",["Qwen2Model",ei]],["phi",["PhiModel",fs]],["phi3",["Phi3Model",_i]],["mpt",["MptModel",$a]],["opt",["OPTModel",aa]],["mistral",["MistralModel",zl]],["starcoder2",["Starco
2805der2Model",Ol]],["falcon",["FalconModel",Vl]],["stablelm",["StableLmModel",Jc]]]),$l=new Map([["speecht5",["SpeechT5ForSpeechToText",Pl]],["whisper",["WhisperForConditionalGeneration",Go]],["moonshine",["MoonshineForConditionalGeneration",Ea]]]),Iu=new Map([["speecht5",["SpeechT5ForTextToSpeech",Sl]]]),wu=new Map([["vits",["VitsModel",Hl]],["musicgen",["MusicgenForConditionalGeneration",Wl]]]),e2=new Map([["bert",["BertForSequenceClassification",zt]],["modernbert",["ModernBertForSequenceClassification",lt]],["roformer",["RoFormerForSequenceClassification",oA]],["electra",["ElectraForSequenceClassification",Jt]],["esm",["EsmForSequenceClassification",Ci]],["convbert",["ConvBertForSequenceClassification",rA]],["camembert",["CamembertForSequenceClassification",NA]],["deberta",["DebertaForSequenceClassification",Dr]],["deberta-v2",["DebertaV2ForSequenceClassification",Ga]],["mpnet",["MPNetForSequenceClassification",Zn]],["albert",["AlbertForSequenceClassification",cA]],["distilbert",["DistilBertForSequenceClassification",ya]],["roberta",["RobertaForSequenceClassification",Fi]],["xlm",["XLMForSequenceClassification",Xn]],["xlm-roberta",["XLMRobertaForSequenceClassification",Qa]],["bart",["BartForSequenceClassification",zA]],["mbart",["MBartForSequenceClassification",ra]],["mobilebert",["MobileBertForSequenceClassification",sr]],["squeezebert",["SqueezeBertForSequenceClassification",ut]]]),ku=new Map([["bert",["BertForTokenClassification",Ie]],["modernbert",["ModernBertForTokenClassification",xt]],["roformer",["RoFormerForTokenClassification",nA]],["electra",["ElectraForTokenClassification",LA]],["esm",["EsmForTokenClassification",Ha]],["convbert",["ConvBertForTokenClassification",br]],["camembert",["CamembertForTokenClassification",JA]],["deberta",["DebertaForTokenClassification",Ls]],["deberta-v2",["DebertaV2ForTokenClassification",Ka]],["mpnet",["MPNetForTokenClassification",Za]],["distilbert",["DistilBertForTokenClassification",ui]],["roberta",["RobertaForTokenClassification",ur]],["xlm",["XLMForTokenClassification",Ii]],["xlm-roberta",["XLMRobertaForTokenClassification",Ys]]]),t2=new Map([["t5",["T5ForConditionalGeneration",Wr]],["longt5",["LongT5ForConditionalGeneration",fr]],["mt5",["MT5ForConditionalGeneration",Qr]],["bart",["BartForConditionalGeneration",rs]],["mbart",["MBartForConditionalGeneration",PA]],["marian",["MarianMTModel",uc]],["m2m_100",["M2M100ForConditionalGeneration",R0]],["blenderbot",["BlenderbotForConditionalGeneration",as]],["blenderbot-small",["BlenderbotSmallForConditionalGeneration",Sn]]]),A2=new Map([["bloom",["BloomForCausalLM",$o]],["gpt2",["GPT2LMHeadModel",bn]],["jais",["JAISLMHeadModel",ho]],["gptj",["GPTJForCausalLM",To]],["gpt_bigcode",["GPTBigCodeForCausalLM",ca]],["gpt_neo",["GPTNeoForCausalLM",po]],["gpt_neox",["GPTNeoXForCausalLM",mo]],["codegen",["CodeGenForCausalLM",Ln]],["llama",["LlamaForCausalLM",qo]],["exaone",["ExaoneForCausalLM",Qo]],["olmo",["OlmoForCausalLM",Po]],["olmo2",["Olmo2ForCausalLM",bo]],["mobilellm",["MobileLLMForCausalLM",Mn]],["granite",["GraniteForCausalLM",Co]],["cohere",["CohereForCausalLM",ji]],["gemma",["GemmaForCausalLM",ma]],["gemma2",["Gemma2ForCausalLM",Gi]],["helium",["HeliumForCausalLM",Vi]],["glm",["GlmForCausalLM",Mi]],["openelm",["OpenELMForCausalLM",Ui]],["qwen2",["Qwen2ForCausalLM",ba]],["phi",["PhiForCausalLM",Zi]],["phi3",["Phi3ForCausalLM",Jo]],["mpt",["MptForCausalLM",zo]],["opt",["OPTForCausalLM",Zr]],["mbart",["MBartForCausalLM",Vs]],["mistral",["MistralForCausalLM",Yc]],["starcoder2",["Starcoder2ForCausalLM",Rc]],["falcon",["FalconForCausalLM",jc]],["trocr",["TrOCRForCausalLM",Hc]],["stablelm",["StableLmForCausalLM",$c]],["phi3_v",["Phi3VForCausalLM",uA]]]),n1=new Map([["multi_modality",["MultiModalityCausalLM",gu]]]),vu=new Map([["bert",["BertForMaskedLM",oe]],["modernbert",["ModernBertForMaskedLM",rt]],["roformer",["RoFormerForMaskedLM",tA]],["electra",["ElectraForMaskedLM",iA]],["esm",["EsmForMaskedLM",Qn]],["convbert",["ConvBertForMaskedLM",bA]],["camembert",["CamembertForMaskedLM",MA]],["deberta",["DebertaForMaskedLM",xr]],["deberta-v2",["DebertaV2ForMaskedLM",dn]],["mpnet",["MPNetForMaskedLM",_a]],["albert",["AlbertForMaskedLM",mA]],["distilbert",["DistilBertForMaskedLM",Va]],["roberta",["RobertaF
2805orMaskedLM",Hs]],["xlm",["XLMWithLMHeadModel",Oi]],["xlm-roberta",["XLMRobertaForMaskedLM",pn]],["mobilebert",["MobileBertForMaskedLM",Ya]],["squeezebert",["SqueezeBertForMaskedLM",Ze]]]),yu=new Map([["bert",["BertForQuestionAnswering",fe]],["roformer",["RoFormerForQuestionAnswering",IA]],["electra",["ElectraForQuestionAnswering",Lr]],["convbert",["ConvBertForQuestionAnswering",wA]],["camembert",["CamembertForQuestionAnswering",WA]],["deberta",["DebertaForQuestionAnswering",HA]],["deberta-v2",["DebertaV2ForQuestionAnswering",gn]],["mpnet",["MPNetForQuestionAnswering",Ra]],["albert",["AlbertForQuestionAnswering",gt]],["distilbert",["DistilBertForQuestionAnswering",La]],["roberta",["RobertaForQuestionAnswering",Us]],["xlm",["XLMForQuestionAnswering",Nn]],["xlm-roberta",["XLMRobertaForQuestionAnswering",BA]],["mobilebert",["MobileBertForQuestionAnswering",pr]],["squeezebert",["SqueezeBertForQuestionAnswering",mt]]]),r2=new Map([["vision-encoder-decoder",["VisionEncoderDecoderModel",Xr]],["idefics3",["Idefics3ForConditionalGeneration",gi]]]),i1=new Map([["llava",["LlavaForConditionalGeneration",mn]],["llava_onevision",["LlavaOnevisionForConditionalGeneration",Xs]],["moondream1",["Moondream1ForConditionalGeneration",Bn]],["florence2",["Florence2ForConditionalGeneration",lo]],["qwen2-vl",["Qwen2VLForConditionalGeneration",wo]],["idefics3",["Idefics3ForConditionalGeneration",gi]],["paligemma",["PaliGemmaForConditionalGeneration",Jn]]]),o1=new Map([["vision-encoder-decoder",["VisionEncoderDecoderModel",Xr]]]),Eu=new Map([["vit",["ViTForImageClassification",ri]],["ijepa",["IJepaForImageClassification",Fo]],["pvt",["PvtForImageClassification",$i]],["vit_msn",["ViTMSNForImageClassification",A0]],["fastvit",["FastViTForImageClassification",r]],["mobilevit",["MobileViTForImageClassification",m]],["mobilevitv2",["MobileViTV2ForImageClassification",y]],["beit",["BeitForImageClassification",$e]],["deit",["DeiTForImageClassification",Ps]],["hiera",["HieraForImageClassification",ea]],["convnext",["ConvNextForImageClassification",J2]],["convnextv2",["ConvNextV2ForImageClassification",ec]],["dinov2",["Dinov2ForImageClassification",vo]],["dinov2_with_registers",["Dinov2WithRegistersForImageClassification",l0]],["resnet",["ResNetForImageClassification",Ba]],["swin",["SwinForImageClassification",Gn]],["segformer",["SegformerForImageClassification",Xc]],["efficientnet",["EfficientNetForImageClassification",tu]],["mobilenet_v1",["MobileNetV1ForImageClassification",su]],["mobilenet_v2",["MobileNetV2ForImageClassification",nu]],["mobilenet_v3",["MobileNetV3ForImageClassification",ou]],["mobilenet_v4",["MobileNetV4ForImageClassification",cu]]]),Bu=new Map([["detr",["DetrForObjectDetection",vt]],["rt_detr",["RTDetrForObjectDetection",YA]],["table-transformer",["TableTransformerForObjectDetection",Jr]],["yolos",["YolosForObjectDetection",ac]]]),xu=new Map([["owlvit",["OwlViTForObjectDetection",ee]],["owlv2",["Owlv2ForObjectDetection",be]],["grounding-dino",["GroundingDinoForObjectDetection",rc]]]),Mu=new Map([["detr",["DetrForSegmentation",Qt]],["clipseg",["CLIPSegForImageSegmentation",qs]]]),Du=new Map([["segformer",["SegformerForSemanticSegmentation",qc]],["sapiens",["SapiensForSemanticSegmentation",L2]]]),Gu=new Map([["detr",["DetrForSegmentation",Qt]],["maskformer",["MaskFormerForInstanceSegmentation",W2]]]),s2=ne
2805w Map([["sam",["SamModel",oc]]]),_u=new Map([["wav2vec2",["Wav2Vec2ForCTC",gc]],["wav2vec2-bert",["Wav2Vec2BertForCTC",Mc]],["unispeech",["UniSpeechForCTC",Ql]],["unispeech-sat",["UniSpeechSatForCTC",yc]],["wavlm",["WavLMForCTC",Pc]],["hubert",["HubertForCTC",_c]]]),a2=new Map([["wav2vec2",["Wav2Vec2ForSequenceClassification",hc]],["wav2vec2-bert",["Wav2Vec2BertForSequenceClassification",Dc]],["unispeech",["UniSpeechForSequenceClassification",kc]],["unispeech-sat",["UniSpeechSatForSequenceClassification",Ec]],["wavlm",["WavLMForSequenceClassification",Sc]],["hubert",["HubertForSequenceClassification",Tc]],["audio-spectrogram-transformer",["ASTForAudioClassification",ki]]]),n2=new Map([["wavlm",["WavLMForXVector",Nc]]]),i2=new Map([["unispeech-sat",["UniSpeechSatForAudioFrameClassification",Bc]],["wavlm",["WavLMForAudioFrameClassification",zc]],["wav2vec2",["Wav2Vec2ForAudioFrameClassification",pc]],["pyannote",["PyAnnoteForAudioFrameClassification",bc]]]),Tu=new Map([["vitmatte",["VitMatteForImageMatting",i]]]),l1=new Map([["patchtst",["PatchTSTForPrediction",U0]],["patchtsmixer",["PatchTSMixerForPrediction",Cu]]]),o2=new Map([["swin2sr",["Swin2SRForImageSuperResolution",ii]]]),Qu=new Map([["dpt",["DPTForDepthEstimation",Oo]],["depth_anything",["DepthAnythingForDepthEstimation",Y0]],["glpn",["GLPNForDepthEstimation",K2]],["sapiens",["SapiensForDepthEstimation",V2]],["depth_pro",["DepthProForDepthEstimation",R2]]]),Pu=new Map([["sapiens",["SapiensForNormalEstimation",H2]]]),c1=new Map([["vitpose",["VitPoseForPoseEstimation",t0]]]),l2=new Map([["clip",["CLIPVisionModelWithProjection",Ss]],["siglip",["SiglipVisionModel",Rr]],["jina_clip",["JinaCLIPVisionModel",Xa]]]),u0=[[r1,g],[s1,v],[a1,T],[e2,g],[ku,g],[t2,e],[$l,e],[A2,T],[n1,Ce],[vu,g],[yu,g],[r2,d],[i1,N],[Eu,g],[Mu,g],[Gu,g],[Du,g],[Tu,g],[l1,g],[o2,g],[Qu,g],[Pu,g],[c1,g],[Bu,g],[xu,g],[s2,re],[_u,g],[a2,g],[Iu,e],[wu,g],[n2,g],[i2,g],[l2,g]];for(const[le,Be]of u0)for(const[Ve,Et]of le.values())ce.set(Ve,Be),Me.set(Et,Ve),ge.set(Ve,Et);const Su=[["MusicgenForConditionalGeneration",Wl,F],["Phi3VForCausalLM",uA,he],["CLIPTextModelWithProjection",uo,g],["SiglipTextModel",sn,g],["JinaCLIPTextModel",go,g],["ClapTextModelWithProjection",Uc,g],["ClapAudioModelWithProjection",Kc,g]];for(const[le,Be,Ve]of Su)ce.set(le,Ve),Me.set(Be,le),ge.set(le,Be);class Nu extends Es{}Ct(Nu,"MODEL_CLASS_MAPPINGS",u0.map(Be=>Be[0])),Ct(Nu,"BASE_IF_FAIL",!0);class u1 extends Es{}Ct(u1,"MODEL_CLASS_MAPPINGS",[e2]);class Cr extends Es{}Ct(Cr,"MODEL_CLASS_MAPPINGS",[ku]);class zu extends Es{}Ct(zu,"MODEL_CLASS_MAPPINGS",[t2]);class Lo extends Es{}Ct(Lo,"MODEL_CLASS_MAPPINGS",[$l]);class Fu extends Es{}Ct(Fu,"MODEL_CLASS_MAPPINGS",[Iu]);class c2 extends Es{}Ct(c2,"MODEL_CLASS_MAPPINGS",[wu]);class f1 extends Es{}Ct(f1,"MODEL_CLASS_MAPPINGS",[A2]);class Ia extends Es{}Ct(Ia,"MODEL_CLASS_MAPPINGS",[vu]);class Mr extends Es{}Ct(Mr,"MODEL_CLASS_MAPPINGS",[yu]);class Pr extends Es{}Ct(Pr,"MODEL_CLASS_MAPPINGS",[r2]);class a0 extends Es{}Ct(a0,"MODEL_CLASS_MAPPINGS",[Eu]);class d1 extends Es{}Ct(d1,"MODEL_CLASS_MAPPINGS",[Mu]);class u2 extends Es{}Ct(u2,"MODEL_CLASS_MAPPINGS",[Du]);class g1 extends Es{}Ct(g1,"MODEL_CLASS_MAPPINGS",[Gu]);class f2 extends Es{}Ct(f2,"MODEL_CLASS_MAPPINGS",[Bu]);
2805class h1 extends Es{}Ct(h1,"MODEL_CLASS_MAPPINGS",[xu]);class p1 extends Es{}Ct(p1,"MODEL_CLASS_MAPPINGS",[s2]);class d2 extends Es{}Ct(d2,"MODEL_CLASS_MAPPINGS",[_u]);class m1 extends Es{}Ct(m1,"MODEL_CLASS_MAPPINGS",[a2]);class b1 extends Es{}Ct(b1,"MODEL_CLASS_MAPPINGS",[n2]);class C1 extends Es{}Ct(C1,"MODEL_CLASS_MAPPINGS",[i2]);class f0 extends Es{}Ct(f0,"MODEL_CLASS_MAPPINGS",[o1]);class g2 extends Es{}Ct(g2,"MODEL_CLASS_MAPPINGS",[Tu]);class I1 extends Es{}Ct(I1,"MODEL_CLASS_MAPPINGS",[o2]);class h2 extends Es{}Ct(h2,"MODEL_CLASS_MAPPINGS",[Qu]);class p2 extends Es{}Ct(p2,"MODEL_CLASS_MAPPINGS",[Pu]);class w1 extends Es{}Ct(w1,"MODEL_CLASS_MAPPINGS",[c1]);class k1 extends Es{}Ct(k1,"MODEL_CLASS_MAPPINGS",[l2]);class rf extends At{constructor({logits:Be,past_key_values:Ve,encoder_outputs:Et,decoder_attentions:Yt=null,cross_attentions:Ht=null}){super(),this.logits=Be,this.past_key_values=Ve,this.encoder_outputs=Et,this.decoder_attentions=Yt,this.cross_attentions=Ht}}class Gr extends At{constructor({logits:Be,...Ve}){super(),this.logits=Be;const Et=Object.values(Ve);Et.length>0&&(this.attentions=Et)}}class v1 extends At{constructor({logits:Be,embeddings:Ve}){super(),this.logits=Be,this.embeddings=Ve}}class fn extends At{constructor({logits:Be}){super(),this.logits=Be}}class vn extends At{constructor({logits:Be}){super(),this.logits=Be}}class Hn extends At{constructor({start_logits:Be,end_logits:Ve}){super(),this.start_logits=Be,this.end_logits=Ve}}class B0 extends At{constructor({logits:Be}){super(),this.logits=Be}}class sf extends At{constructor({logits:Be,past_key_values:Ve}){super(),this.logits=Be,this.past_key_values=Ve}}class y1 extends At{constructor({alphas:Be}){super(),this.alphas=Be}}class E1 extends At{constructor({waveform:Be,spectrogram:Ve}){super(),this.waveform=Be,this.spectrogram=Ve}}},
2805"./src/models/audio_spectrogram_transformer/feature_extraction_audio_spectrogram_transformer.js":(c,n,s)=>{s.r(n),s.d(n,{ASTFeatureExtractor:()=>p});var o=s("./src/base/feature_extraction_utils.js");s("./src/utils/tensor.js");var f=s("./src/utils/audio.js");class p extends o.FeatureExtractor{constructor(b){super(b);const k=this.config.sampling_rate,E=(0,f.mel_filter_bank)(256,this.config.num_mel_bins,20,Math.floor(k/2),k,null,"kaldi",!0);for(let B=0;B<E.length;++B)E[B].push(0);this.mel_filters=E,this.window=(0,f.window_function)(400,"hann",{periodic:!1}),this.mean=this.config.mean,this.std=this.config.std}async _extract_fbank_features(b,k){return(0,f.spectrogram)(b,this.window,400,160,{fft_length:512,power:2,center:!1,preemphasis:.97,mel_filters:this.mel_filters,log_mel:"log",mel_floor:1192092955078125e-22,remove_dc_offset:!0,max_num_frames:k,transpose:!0})}async _call(b){(0,o.validate_audio_inputs)(b,"ASTFeatureExtractor");const k=await this._extract_fbank_features(b,this.config.max_length);if(this.config.do_normalize){const E=2*this.std,B=k.data;for(let G=0;G<B.length;++G)B[G]=(B[G]-this.mean)/E}return{input_values:k.unsqueeze_(0)}}}},
2805"./src/models/auto/feature_extraction_auto.js":(c,n,s)=>{s.r(n),s.d(n,{AutoFeatureExtractor:()=>C});var o=s("./src/utils/constants.js"),f=s("./src/utils/hub.js");s("./src/base/feature_extraction_utils.js");var p=s("./src/models/feature_extractors.js");class C{static async from_pretrained(k,E={}){const B=await(0,f.getModelJSON)(k,o.FEATURE_EXTRACTOR_NAME,!0,E),G=B.feature_extractor_type,D=p[G];if(!D)throw new Error(`Unknown feature_extractor_type: '${G}'. Please report this at ${o.GITHUB_ISSUE_URL}.`);return new D(B)}}},
2805"./src/models/auto/image_processing_auto.js":(c,n,s)=>{s.r(n),s.d(n,{AutoImageProcessor:()=>b});var o=s("./src/utils/constants.js"),f=s("./src/utils/hub.js"),p=s("./src/base/image_processors_utils.js"),C=s("./src/models/image_processors.js");class b{static async from_pretrained(E,B={}){const G=await(0,f.getModelJSON)(E,o.IMAGE_PROCESSOR_NAME,!0,B),D=G.image_processor_type??G.feature_extractor_type;let _=C[D];return _||(D!==void 0&&console.warn(`Image processor type '${D}' not found, assuming base ImageProcessor. Please report this at ${o.GITHUB_ISSUE_URL}.`),_=p.ImageProcessor),new _(G)}}},
vendor: 943 bytes, line 2805
2805"./src/models/auto/processing_auto.js":(c,n,s)=>{s.r(n),s.d(n,{AutoProcessor:()=>E});var o=s("./src/utils/constants.js"),f=s("./src/utils/hub.js"),p=s("./src/base/processing_utils.js"),C=s("./src/models/processors.js"),b=s("./src/models/image_processors.js"),k=s("./src/models/feature_extractors.js");class E{static async from_pretrained(G,D={}){const _=await(0,f.getModelJSON)(G,o.IMAGE_PROCESSOR_NAME,!0,D),{image_processor_type:O,feature_extractor_type:j,processor_class:U}=_;if(U&&C[U])return C[U].from_pretrained(G,D);if(!O&&!j)throw new Error("No `image_processor_type` or `feature_extractor_type` found in the config.");const H={};if(O){const Z=b[O];if(!Z)throw new Error(`Unknown image_processor_type: '${O}'.`);H.image_processor=new Z(_)}if(j){const Z=b[j];if(Z)H.image_processor=new Z(_);else{const X=k[j];if(!X)throw new Error(`Unknown feature_extractor_type: '${j}'.`);H.feature_extractor=new X(_)}}return new p.Processor({},H)}}},
2805"./src/models/beit/image_processing_beit.js":(c,n,s)=>{s.r(n),s.d(n,{BeitFeatureExtractor:()=>f});var o=s("./src/base/image_processors_utils.js");class f extends o.ImageProcessor{}},
2805"./src/models/bit/image_processing_bit.js":(c,n,s)=>{s.r(n),s.d(n,{BitImageProcessor:()=>f});var o=s("./src/base/image_processors_utils.js");class f extends o.ImageProcessor{}},
2805"./src/models/chinese_clip/image_processing_chinese_clip.js":(c,n,s)=>{s.r(n),s.d(n,{ChineseCLIPFeatureExtractor:()=>f});var o=s("./src/base/image_processors_utils.js");class f extends o.ImageProcessor{}},
2805"./src/models/clap/feature_extraction_clap.js":(c,n,s)=>{s.r(n),s.d(n,{ClapFeatureExtractor:()=>p});var o=s("./src/base/feature_extraction_utils.js");s("./src/utils/tensor.js");var f=s("./src/utils/audio.js");class p extends o.FeatureExtractor{constructor(b){super(b),this.mel_filters=(0,f.mel_filter_bank)(this.config.nb_frequency_bins,this.config.feature_size,this.config.frequency_min,this.config.frequency_max,this.config.sampling_rate,null,"htk"),this.mel_filters_slaney=(0,f.mel_filter_bank)(this.config.nb_frequency_bins,this.config.feature_size,this.config.frequency_min,this.config.frequency_max,this.config.sampling_rate,"slaney","slaney"),this.window=(0,f.window_function)(this.config.fft_window_size,"hann")}async _get_input_mel(b,k,E,B){let G;const D=b.length-k;if(D>0){if(E!=="rand_trunc")throw new Error(`Truncation strategy "${E}" not implemented`);{const _=Math.floor(Math.random()*(D+1));b=b.subarray(_,_+k),G=await this._extract_fbank_features(b,this.mel_filters_slaney,this.config.nb_max_samples)}}else{if(D<0){let _=new Float64Array(k);if(_.set(b),B==="repeat")for(let O=b.length;O<k;O+=b.length)_.set(b.subarray(0,Math.min(b.length,k-O)),O);else if(B==="repeatpad")for(let O=b.length;O<-D;O+=b.length)_.set(b,O);b=_}if(E==="fusion")throw new Error(`Truncation strategy "${E}" not implemented`);G=await this._extract_fbank_features(b,this.mel_filters_slaney,this.config.nb_max_samples)}return G.unsqueeze_(0)}async _extract_fbank_features(b,k,E=null){return(0,f.spectrogram)(b,this.window,this.config.fft_window_size,this.config.hop_length,{power:2,mel_filters:k,log_mel:"dB",max_num_frames:E,do_pad:!1,transpose:!0})}async _call(b,{max_length:k=null}={}){return(0,o.validate_audio_inputs)(b,"ClapFeatureExtractor"),{input_features:(await this._get_input_mel(b,k??this.config.nb_max_samples,this.config.truncation,this.config.padding)).unsqueeze_(0)}}}},
2805"./src/models/clip/image_processing_clip.js":(c,n,s)=>{s.r(n),s.d(n,{CLIPFeatureExtractor:()=>p,CLIPImageProcessor:()=>f});var o=s("./src/base/image_processors_utils.js");class f extends o.ImageProcessor{}class p extends f{}},
2805"./src/models/convnext/image_processing_convnext.js":(c,n,s)=>{s.r(n),s.d(n,{ConvNextFeatureExtractor:()=>p,ConvNextImageProcessor:()=>f});var o=s("./src/base/image_processors_utils.js");class f extends o.ImageProcessor{constructor(b){super(b),this.crop_pct=this.config.crop_pct??.875}async resize(b){var E;const k=(E=this.size)==null?void 0:E.shortest_edge;if(k===void 0)throw new Error("Size dictionary must contain 'shortest_edge' key.");if(k<384){const B=Math.floor(k/this.crop_pct),[G,D]=this.get_resize_output_image_size(b,{shortest_edge:B});b=await b.resize(G,D,{resample:this.resample}),b=await b.center_crop(k,k)}else b=await b.resize(k,k,{resample:this.resample});return b}}class p extends f{}},
2805"./src/models/deit/image_processing_deit.js":(c,n,s)=>{s.r(n),s.d(n,{DeiTFeatureExtractor:()=>p,DeiTImageProcessor:()=>f});var o=s("./src/base/image_processors_utils.js");class f extends o.ImageProcessor{}class p extends f{}},
vendor: 649 bytes, line 2805
2805"./src/models/detr/image_processing_detr.js":(c,n,s)=>{s.r(n),s.d(n,{DetrFeatureExtractor:()=>C,DetrImageProcessor:()=>p});var o=s("./src/base/image_processors_utils.js"),f=s("./src/utils/tensor.js");class p extends o.ImageProcessor{async _call(k){const E=await super._call(k),B=[E.pixel_values.dims[0],64,64],G=(0,f.full)(B,1n);return{...E,pixel_mask:G}}post_process_object_detection(...k){return(0,o.post_process_object_detection)(...k)}post_process_panoptic_segmentation(...k){return(0,o.post_process_panoptic_segmentation)(...k)}post_process_instance_segmentation(...k){return(0,o.post_process_instance_segmentation)(...k)}}class C extends p{}},
2805"./src/models/donut/image_processing_donut.js":(c,n,s)=>{s.r(n),s.d(n,{DonutFeatureExtractor:()=>p,DonutImageProcessor:()=>f});var o=s("./src/base/image_processors_utils.js");class f extends o.ImageProcessor{pad_image(b,k,E,B={}){const[G,D,_]=k;let O=this.image_mean;Array.isArray(this.image_mean)||(O=new Array(_).fill(O));let j=this.image_std;Array.isArray(j)||(j=new Array(_).fill(O));const U=O.map((H,Z)=>-H/j[Z]);return super.pad_image(b,k,E,{center:!0,constant_values:U,...B})}}class p extends f{}},
2805"./src/models/dpt/image_processing_dpt.js":(c,n,s)=>{s.r(n),s.d(n,{DPTFeatureExtractor:()=>p,DPTImageProcessor:()=>f});var o=s("./src/base/image_processors_utils.js");class f extends o.ImageProcessor{}class p extends f{}},
2805"./src/models/efficientnet/image_processing_efficientnet.js":(c,n,s)=>{s.r(n),s.d(n,{EfficientNetImageProcessor:()=>f});var o=s("./src/base/image_processors_utils.js");class f extends o.ImageProcessor{constructor(C){super(C),this.include_top=this.config.include_top??!0,this.include_top&&(this.image_std=this.image_std.map(b=>b*b))}}},
2805"./src/models/feature_extractors.js":(c,n,s)=>{s.r(n),s.d(n,{ASTFeatureExtractor:()=>o.ASTFeatureExtractor,ClapFeatureExtractor:()=>f.ClapFeatureExtractor,ImageFeatureExtractor:()=>D.ImageProcessor,MoonshineFeatureExtractor:()=>p.MoonshineFeatureExtractor,PyAnnoteFeatureExtractor:()=>C.PyAnnoteFeatureExtractor,SeamlessM4TFeatureExtractor:()=>b.SeamlessM4TFeatureExtractor,SpeechT5FeatureExtractor:()=>k.SpeechT5FeatureExtractor,Wav2Vec2FeatureExtractor:()=>E.Wav2Vec2FeatureExtractor,WeSpeakerFeatureExtractor:()=>B.WeSpeakerFeatureExtractor,WhisperFeatureExtractor:()=>G.WhisperFeatureExtractor});var o=s("./src/models/audio_spectrogram_transformer/feature_extraction_audio_spectrogram_transformer.js"),f=s("./src/models/clap/feature_extraction_clap.js"),p=s("./src/models/moonshine/feature_extraction_moonshine.js"),C=s("./src/models/pyannote/feature_extraction_pyannote.js"),b=s("./src/models/seamless_m4t/feature_extraction_seamless_m4t.js"),k=s("./src/models/speecht5/feature_extraction_speecht5.js"),E=s("./src/models/wav2vec2/feature_extraction_wav2vec2.js"),B=s("./src/models/wespeaker/feature_extraction_wespeaker.js"),G=s("./src/models/whisper/feature_extraction_whisper.js"),D=s("./src/base/image_processors_utils.js")},
2805"./src/models/florence2/processing_florence2.js":(c,n,s)=>{s.r(n),s.d(n,{Florence2Processor:()=>C});var o=s("./src/base/processing_utils.js"),f=s("./src/models/auto/image_processing_auto.js"),p=s("./src/tokenizers.js");class C extends o.Processor{constructor(k,E){super(k,E);const{tasks_answer_post_processing_type:B,task_prompts_without_inputs:G,task_prompts_with_input:D}=this.image_processor.config;this.tasks_answer_post_processing_type=new Map(Object.entries(B??{})),this.task_prompts_without_inputs=new Map(Object.entries(G??{})),this.task_prompts_with_input=new Map(Object.entries(D??{})),this.regexes={quad_boxes:/(.+?)<loc_(\d+)><loc_(\d+)><loc_(\d+)><loc_(\d+)><loc_(\d+)><loc_(\d+)><loc_(\d+)><loc_(\d+)>/gm,bboxes:/([^<]+)?<loc_(\d+)><loc_(\d+)><loc_(\d+)><loc_(\d+)>/gm},this.size_per_bin=1e3}construct_prompts(k){typeof k=="string"&&(k=[k]);const E=[];for(const B of k)if(this.task_prompts_without_inputs.has(B))E.push(this.task_prompts_without_inputs.get(B));else{for(const[G,D]of this.task_prompts_with_input)if(B.includes(G)){E.push(D.replaceAll("{input}",B).replaceAll(G,""));break}E.length!==k.length&&E.push(B)}return E}post_process_generation(k,E,B){const G=this.tasks_answer_post_processing_type.get(E)??"pure_text";let D;switch(k=k.replaceAll("<s>","").replaceAll("</s>",""),G){case"pure_text":D=k;break;case"description_with_bboxes":case"bboxes":case"phrase_grounding":case"ocr":const _=G==="ocr"?"quad_boxes":"bboxes",O=k.matchAll(this.regexes[_]),j=[],U=[];for(const[H,Z,...X]of O)j.push(Z?Z.trim():j.at(-1)??""),U.push(X.map((g,v)=>(Number(g)+.5)/this.size_per_bin*B[v%2]));D={labels:j,[_]:U};break;default:throw new Error(`Task "${E}" (of type "${G}") not yet implemented.`)}return{[E]:D}}async _call(k,E=null,B={}){if(!k&&!E)throw new Error("Either text or images must be provided");return{...await this.image_processor(k,B),...E?this.tokenizer(E,B):{}}}}Ct(C,"tokenizer_class",p.AutoTokenizer),Ct(C,"image_processor_class",f.AutoImageProcessor)},
2805"./src/models/glpn/image_processing_glpn.js":(c,n,s)=>{s.r(n),s.d(n,{GLPNFeatureExtractor:()=>f});var o=s("./src/base/image_processors_utils.js");class f extends o.ImageProcessor{}},
2805"./src/models/grounding_dino/image_processing_grounding_dino.js":(c,n,s)=>{s.r(n),s.d(n,{GroundingDinoImageProcessor:()=>p});var o=s("./src/base/image_processors_utils.js"),f=s("./src/utils/tensor.js");class p extends o.ImageProcessor{async _call(b){const k=await super._call(b),E=k.pixel_values.dims,B=(0,f.ones)([E[0],E[2],E[3]]);return{...k,pixel_mask:B}}}},
2805"./src/models/grounding_dino/processing_grounding_dino.js":(c,n,s)=>{s.r(n),s.d(n,{GroundingDinoProcessor:()=>k});var o=s("./src/base/processing_utils.js"),f=s("./src/models/auto/image_processing_auto.js"),p=s("./src/tokenizers.js"),C=s("./src/base/image_processors_utils.js");function b(E,B){const G=E.dims.at(-1)-1,D=E.tolist();D.fill(!1,0,1),D.fill(!1,G);const _=B.tolist();return D.map((O,j)=>O?j:null).filter(O=>O!==null).map(O=>_[O])}class k extends o.Processor{async _call(B,G,D={}){const _=B?await this.image_processor(B,D):{};return{...G?this.tokenizer(G,D):{},..._}}post_process_grounded_object_detection(B,G,{box_threshold:D=.25,text_threshold:_=.25,target_sizes:O=null}={}){const{logits:j,pred_boxes:U}=B,H=j.dims[0];if(O!==null&&O.length!==H)throw Error("Make sure that you pass in as many target sizes as the batch dimension of the logits");const Z=j.dims.at(1),X=j.sigmoid(),g=X.max(-1).tolist(),v=U.tolist().map(d=>d.map(T=>(0,C.center_to_corners_format)(T))),e=[];for(let d=0;d<H;++d){const T=O!==null?O[d]:null;T!==null&&(v[d]=v[d].map(he=>he.map((ce,ge)=>ce*T[(ge+1)%2])));const re=g[d],N=[],F=[],Ce=[];for(let he=0;he<Z;++he){const ce=re[he];if(ce<=D)continue;const ge=v[d][he],Me=X[d][he];N.push(ce),Ce.push(ge);const Ue=b(Me.gt(_),G[d]);F.push(Ue)}e.push({scores:N,boxes:Ce,labels:this.batch_decode(F)})}return e}}Ct(k,"tokenizer_class",p.AutoTokenizer),Ct(k,"image_processor_class",f.AutoImageProcessor)},
2805"./src/models/idefics3/image_processing_idefics3.js":(c,n,s)=>{s.r(n),s.d(n,{Idefics3ImageProcessor:()=>p});var o=s("./src/base/image_processors_utils.js"),f=s("./src/utils/tensor.js");class p extends o.ImageProcessor{constructor(b){super(b),this.do_image_splitting=b.do_image_splitting??!0,this.max_image_size=b.max_image_size}get_resize_for_vision_encoder(b,k){let[E,B]=b.dims.slice(-2);const G=B/E;return B>=E?(B=Math.ceil(B/k)*k,E=Math.floor(B/G),E=Math.ceil(E/k)*k):(E=Math.ceil(E/k)*k,B=Math.floor(E*G),B=Math.ceil(B/k)*k),{height:E,width:B}}async _call(b,{do_image_splitting:k=null,return_row_col_info:E=!1}={}){let B;if(Array.isArray(b)){if(b.length===0||!b[0])throw new Error("No images provided.");B=Array.isArray(b[0])?b:[b]}else B=[[b]];let G=[],D=[],_=[];const O=[],j=[];for(const d of B){let T=await Promise.all(d.map(F=>this.preprocess(F)));O.push(...T.map(F=>F.original_size)),j.push(...T.map(F=>F.reshaped_input_size)),T.forEach(F=>F.pixel_values.unsqueeze_(0));const{longest_edge:re}=this.max_image_size;let N;if(k??this.do_image_splitting){let F=new Array(T.length),Ce=new Array(T.length);N=await Promise.all(T.map(async(he,ce)=>{const ge=this.get_resize_for_vision_encoder(he.pixel_values,re),Me=await(0,f.interpolate_4d)(he.pixel_values,{size:[ge.height,ge.width]}),{frames:Ue,num_splits_h:Ne,num_splits_w:de}=await this.split_image(Me,this.max_image_size);return F[ce]=Ne,Ce[ce]=de,(0,f.cat)(Ue,0)})),D.push(F),_.push(Ce)}else{const F=[re,re];N=await Promise.all(T.map(Ce=>(0,f.interpolate_4d)(Ce.pixel_values,{size:F}))),D.push(new Array(T.length).fill(0)),_.push(new Array(T.length).fill(0))}G.push((0,f.cat)(N,0))}const U=G.length,[H,Z,X,g]=G[0].dims;let v,e;if(U===1)v=G[0].unsqueeze_(0),e=(0,f.full)([U,H,X,g],!0);else{const d=Math.max(...G.map(N=>N.dims.at(0)));e=(0,f.full)([U,d,X,g],!0);const T=e.data,re=d*X*g;for(let N=0;N<U;++N){const F=G[N].dims[0];if(F<d){G[N]=(0,f.cat)([G[N],(0,f.full)([d-F,Z,X,g],0)],0);const Ce=N*re+F*X*g,he=(N+1)*re;T.fill(!1,Ce,he)}}v=(0,f.stack)(G,0)}return{pixel_values:v,pixel_attention_mask:e,original_sizes:O,reshaped_input_sizes:j,...E?{rows:D,cols:_}:{}}}async split_image(b,{longest_edge:k}){const E=k,B=k,G=[],[D,_]=b.dims.slice(-2);let O=0,j=0;if(D>E||_>B){O=Math.ceil(D/E),j=Math.ceil(_/B);const U=Math.ceil(D/O),H=Math.ceil(_/j);for(let g=0;g<O;++g)for(let v=0;v<j;++v){let e,d,T,re;g===O-1?(d=D-U,re=D):(d=g*U,re=(g+1)*U),v===j-1?(e=_-H,T=_):(e=v*H,T=(v+1)*H);const N=[d,e],F=[re,T],Ce=await(0,f.slice)(b,N,F,[2,3]);G.push(Ce)}const Z=E,X=B;D===Z&&_===X||(b=await(0,f.interpolate_4d)(b,{size:[Z,X]}))}return G.push(b),{frames:G,num_splits_h:O,num_splits_w:j}}}},
2805"./src/models/idefics3/processing_idefics3.js":(c,n,s)=>{s.r(n),s.d(n,{Idefics3Processor:()=>k});var o=s("./src/base/processing_utils.js"),f=s("./src/models/auto/image_processing_auto.js"),p=s("./src/tokenizers.js");s("./src/utils/image.js");var C=s("./src/utils/core.js");function b(E,B,G,D,_,O){return E===0&&B===0?function(j,U,H,Z){return`${U}${Z}`+H.repeat(j)+`${U}`}(G,D,_,O):function(j,U,H,Z,X,g){let v="";for(let e=0;e<U;++e){for(let d=0;d<H;++d)v+=Z+`<row_${e+1}_col_${d+1}>`+X.repeat(j);v+=`
2806`}return v+=`
2807${Z}${g}`+X.repeat(j)+`${Z}`,v}(G,E,B,D,_,O)}class k extends o.Processor{constructor(){super(...arguments);Ct(this,"fake_image_token","<fake_token_around_image>");Ct(this,"image_token","<image>");Ct(this,"global_img_token","<global-img>")}async _call(G,D=null,_={}){let O;_.return_row_col_info??(_.return_row_col_info=!0),D&&(O=await this.image_processor(D,_)),Array.isArray(G)||(G=[G]);const j=O.rows??[new Array(G.length).fill(0)],U=O.cols??[new Array(G.length).fill(0)],H=this.config.image_seq_len,Z=[],X=[];for(let g=0;g<G.length;++g){const v=G[g],e=j[g],d=U[g];Z.push((0,C.count)(v,this.image_token));const T=e.map((F,Ce)=>b(F,d[Ce],H,this.fake_image_token,this.image_token,this.global_img_token)),re=v.split(this.image_token);if(re.length===0)throw new Error("The image token should be present in the text.");let N=re[0];for(let F=0;F<T.length;++F)N+=T[F]+re[F+1];X.push(N)}return{...this.tokenizer(X),...O}}}Ct(k,"image_processor_class",f.AutoImageProcessor),Ct(k,"tokenizer_class",p.AutoTokenizer),Ct(k,"uses_processor_config",!0)},
2807"./src/models/image_processors.js":(c,n,s)=>{s.r(n),s.d(n,{BeitFeatureExtractor:()=>o.BeitFeatureExtractor,BitImageProcessor:()=>f.BitImageProcessor,CLIPFeatureExtractor:()=>C.CLIPFeatureExtractor,CLIPImageProcessor:()=>C.CLIPImageProcessor,ChineseCLIPFeatureExtractor:()=>p.ChineseCLIPFeatureExtractor,ConvNextFeatureExtractor:()=>b.ConvNextFeatureExtractor,ConvNextImageProcessor:()=>b.ConvNextImageProcessor,DPTFeatureExtractor:()=>G.DPTFeatureExtractor,DPTImageProcessor:()=>G.DPTImageProcessor,DeiTFeatureExtractor:()=>k.DeiTFeatureExtractor,DeiTImageProcessor:()=>k.DeiTImageProcessor,DetrFeatureExtractor:()=>E.DetrFeatureExtractor,DetrImageProcessor:()=>E.DetrImageProcessor,DonutFeatureExtractor:()=>B.DonutFeatureExtractor,DonutImageProcessor:()=>B.DonutImageProcessor,EfficientNetImageProcessor:()=>D.EfficientNetImageProcessor,GLPNFeatureExtractor:()=>_.GLPNFeatureExtractor,GroundingDinoImageProcessor:()=>O.GroundingDinoImageProcessor,Idefics3ImageProcessor:()=>j.Idefics3ImageProcessor,JinaCLIPImageProcessor:()=>H.JinaCLIPImageProcessor,LlavaOnevisionImageProcessor:()=>Z.LlavaOnevisionImageProcessor,Mask2FormerImageProcessor:()=>X.Mask2FormerImageProcessor,MaskFormerFeatureExtractor:()=>g.MaskFormerFeatureExtractor,MaskFormerImageProcessor:()=>g.MaskFormerImageProcessor,MobileNetV1FeatureExtractor:()=>v.MobileNetV1FeatureExtractor,MobileNetV1ImageProcessor:()=>v.MobileNetV1ImageProcessor,MobileNetV2FeatureExtractor:()=>e.MobileNetV2FeatureExtractor,MobileNetV2ImageProcessor:()=>e.MobileNetV2ImageProcessor,MobileNetV3FeatureExtractor:()=>d.MobileNetV3FeatureExtractor,MobileNetV3ImageProcessor:()=>d.MobileNetV3ImageProcessor,MobileNetV4FeatureExtractor:()=>T.MobileNetV4FeatureExtractor,MobileNetV4ImageProcessor:()=>T.MobileNetV4ImageProcessor,MobileViTFeatureExtractor:()=>re.MobileViTFeatureExtractor,MobileViTImageProcessor:()=>re.MobileViTImageProcessor,NougatImageProcessor:()=>N.NougatImageProcessor,OwlViTFeatureExtractor:()=>Ce.OwlViTFeatureExtractor,OwlViTImageProcessor:()=>Ce.OwlViTImageProcessor,Owlv2ImageProcessor:()=>F.Owlv2ImageProcessor,Phi3VImageProcessor:()=>he.Phi3VImageProcessor,PvtImageProcessor:()=>ce.PvtImageProcessor,Qwen2VLImageProcessor:()=>ge.Qwen2VLImageProcessor,RTDetrImageProcessor:()=>Me.RTDetrImageProcessor,SamImageProcessor:()=>Ue.SamImageProcessor,SegformerFeatureExtractor:()=>Ne.SegformerFeatureExtractor,SegformerImageProcessor:()=>Ne.SegformerImageProcessor,SiglipImageProcessor:()=>de.SiglipImageProcessor,Swin2SRImageProcessor:()=>me.Swin2SRImageProcessor,VLMImageProcessor:()=>U.VLMImageProcessor,ViTFeatureExtractor:()=>we.ViTFeatureExtractor,ViTImageProcessor:()=>we.ViTImageProcessor,VitMatteImageProcessor:()=>_e.VitMatteImageProcessor,VitPoseImageProcessor:()=>pe.VitPoseImageProcessor,YolosFeatureExtractor:()=>it.YolosFeatureExtractor,YolosImageProcessor:()=>it.YolosImageProcessor});var o=s("./src/models/beit/image_processing_beit.js"),f=s("./src/models/bit/image_processing_bit.js"),p=s("./src/models/chinese_clip/image_processing_chinese_clip.js"),C=s("./src/models/clip/image_processing_clip.js"),b=s("./src/models/convnext/image_processing_convnext.js"),k=s("./src/models/deit/image_processing_deit.js"),E=s("./src/models/detr/image_processing_detr.js"),B=s("./src/models/donut/image_processing_donut.js"),G=s("./src/models/dpt/image_processing_dpt.js"),D=s("./src/models/efficientnet/image_processing_efficientnet.js"),_=s("./src/models/glpn/image_processing_glpn.js"),O=s("./src/models/grounding_dino/image_processing_grounding_dino.js"),j=s("./src/models/idefics3/image_processing_idefics3.js"),U=s("./src/models/janus/image_processing_janus.js"),H=s("./src/models/jina_clip/image_processing_jina_clip.js"),Z=s("./src/models/llava_onevision/image_processing_llava_onevision.js"),X=s("./src/models/mask2former/image_processing_mask2former.js"),g=s("./src/models/maskformer/image_processing_maskformer.js"),v=s("./src/models/mobilenet_v1/image_processing_mobilenet_v1.js"),e=s("./src/models/mobilenet_v2/image_processing_mobilenet_v2.js"),d=s("./src/models/mobilenet_v3/image_processing_mobilenet_v3.js"),T=s("./src/models/mobilenet_v4/image_processing_mobilenet_v4.js"),re=s("./src/models/mobilevit/image_processing_mobilevit.js"),N=s("./src/models/nougat/image_processing_nougat.js"),F=s("./src/models/owlv2/image_processing_owlv2.js"),Ce=s("./src/models/owlvit/image_processing_owlvit.js"),he=s("./src/models/phi3_v/image_processing_phi3_v.js"),ce=s("./src/models/pvt/image_processing_pvt.js"),ge=s("./src/models/qwen2_vl/image_processing_qwen2_vl.js"),Me=s("./src/models/rt_detr/image_processing_rt_detr.js"),Ue=s("./src/models/sam/image_processing_sam.js"),Ne=s("./src/models/segformer/image_processing_segformer.js"),de=s("./src/models/siglip/image_processing_siglip.js"),me=s("./src/models/swin2sr/image_processing_swin2sr.js"),we=s("./src/models/vit/image_processing_vit.js"),_e=s("./src/models/vitmatte/image_processing_vitmatte.js"),pe=s("./src/models/vitpose/image_processing_vitpose.js"),it=s("./src/models/yolos/image_processing_yolos.js")},
2807"./src/models/janus/image_processing_janus.js":(c,n,s)=>{s.r(n),s.d(n,{VLMImageProcessor:()=>f});var o=s("./src/base/image_processors_utils.js");class f extends o.ImageProcessor{constructor(C){super({do_pad:!0,pad_size:{width:C.image_size,height:C.image_size},...C}),this.constant_values=this.config.background_color.map(b=>b*this.rescale_factor)}pad_image(C,b,k,E){return super.pad_image(C,b,k,{constant_values:this.constant_values,center:!0,...E})}}},
2807"./src/models/janus/processing_janus.js":(c,n,s)=>{s.r(n),s.d(n,{VLChatProcessor:()=>E});var o=s("./src/base/processing_utils.js"),f=s("./src/models/auto/image_processing_auto.js"),p=s("./src/tokenizers.js"),C=s("./src/utils/core.js"),b=s("./src/utils/tensor.js"),k=s("./src/utils/image.js");class E extends o.Processor{constructor(G,D){super(G,D),this.image_tag=this.config.image_tag,this.image_start_tag=this.config.image_start_tag,this.image_end_tag=this.config.image_end_tag,this.num_image_tokens=this.config.num_image_tokens}async _call(G,{images:D=null,chat_template:_="default"}={}){D?Array.isArray(D)||(D=[D]):D=await Promise.all(G.filter(re=>re.images).flatMap(re=>re.images).map(re=>k.RawImage.read(re)));const O=this.tokenizer,j=re=>O.encode(re,{add_special_tokens:!1}),U=O.apply_chat_template(G,{tokenize:!1,add_generation_prompt:!0,chat_template:_}).split(this.image_tag),H=U.length-1;if(D.length!==H)throw new Error(`Number of images provided (${D.length}) does not match number of "${this.image_tag}" image tags (${H})`);const[Z,X,g]=O.model.convert_tokens_to_ids([this.image_tag,this.image_start_tag,this.image_end_tag]);let v=j(U[0]),e=new Array(v.length).fill(!1);for(let re=1;re<U.length;++re){const N=new Array(this.num_image_tokens).fill(Z),F=j(U[re]);v=(0,C.mergeArrays)(v,[X],N,[g],F);const Ce=new Array(this.num_image_tokens).fill(!0);e=(0,C.mergeArrays)(e,[!1],Ce,[!1],new Array(F.length).fill(!1))}const d=[1,v.length],T={input_ids:new b.Tensor("int64",v,d),attention_mask:new b.Tensor("int64",new Array(v.length).fill(1),d),images_seq_mask:new b.Tensor("bool",e,d),images_emb_mask:new b.Tensor("bool",new Array(H*this.num_image_tokens).fill(!0),[1,H,this.num_image_tokens])};if(D&&D.length>0){const re=await this.image_processor(D);return re.pixel_values.unsqueeze_(0),{...T,...re}}return T}}Ct(E,"image_processor_class",f.AutoImageProcessor),Ct(E,"tokenizer_class",p.AutoTokenizer),Ct(E,"uses_processor_config",!0)},
2807"./src/models/jina_clip/image_processing_jina_clip.js":(c,n,s)=>{s.r(n),s.d(n,{JinaCLIPImageProcessor:()=>f});var o=s("./src/base/image_processors_utils.js");class f extends o.ImageProcessor{constructor(C){const{resize_mode:b,fill_color:k,interpolation:E,size:B,...G}=C;super({...G,size:b==="squash"?{width:B,height:B}:b==="shortest"?{shortest_edge:B}:{longest_edge:B},resample:E==="bicubic"?3:2,do_center_crop:!0,crop_size:B,do_normalize:!0})}}},
2807"./src/models/jina_clip/processing_jina_clip.js":(c,n,s)=>{s.r(n),s.d(n,{JinaCLIPProcessor:()=>C});var o=s("./src/base/processing_utils.js"),f=s("./src/models/auto/image_processing_auto.js"),p=s("./src/tokenizers.js");class C extends o.Processor{async _call(k=null,E=null,B={}){if(!k&&!E)throw new Error("Either text or images must be provided");return{...k?this.tokenizer(k,B):{},...E?await this.image_processor(E,B):{}}}}Ct(C,"tokenizer_class",p.AutoTokenizer),Ct(C,"image_processor_class",f.AutoImageProcessor)},
2807"./src/models/llava_onevision/image_processing_llava_onevision.js":(c,n,s)=>{s.r(n),s.d(n,{LlavaOnevisionImageProcessor:()=>f});var o=s("./src/base/image_processors_utils.js");class f extends o.ImageProcessor{}},
2807"./src/models/mask2former/image_processing_mask2former.js":(c,n,s)=>{s.r(n),s.d(n,{Mask2FormerImageProcessor:()=>f});var o=s("./src/models/maskformer/image_processing_maskformer.js");class f extends o.MaskFormerImageProcessor{}},
2807"./src/models/maskformer/image_processing_maskformer.js":(c,n,s)=>{s.r(n),s.d(n,{MaskFormerFeatureExtractor:()=>p,MaskFormerImageProcessor:()=>f});var o=s("./src/base/image_processors_utils.js");class f extends o.ImageProcessor{post_process_panoptic_segmentation(...b){return(0,o.post_process_panoptic_segmentation)(...b)}post_process_instance_segmentation(...b){return(0,o.post_process_instance_segmentation)(...b)}}class p extends f{}},
2807"./src/models/mgp_str/processing_mgp_str.js":(c,n,s)=>{s.r(n),s.d(n,{MgpstrProcessor:()=>k});var o=s("./src/base/processing_utils.js"),f=s("./src/models/auto/image_processing_auto.js"),p=s("./src/tokenizers.js"),C=s("./src/utils/maths.js");const b={char:["char_decode",1],bpe:["bpe_decode",2],wp:["wp_decode",102]};class k extends o.Processor{get char_tokenizer(){return this.components.char_tokenizer}get bpe_tokenizer(){return this.components.bpe_tokenizer}get wp_tokenizer(){return this.components.wp_tokenizer}_decode_helper(B,G){if(!b.hasOwnProperty(G))throw new Error(`Format ${G} is not supported.`);const[D,_]=b[G],O=this[D].bind(this),[j,U]=B.dims,H=[],Z=[],X=B.tolist();for(let g=0;g<j;++g){const v=X[g],e=[],d=[];for(let re=1;re<U;++re){const[N,F]=(0,C.max)((0,C.softmax)(v[re]));if(d.push(N),F==_)break;e.push(F)}const T=d.length>0?d.reduce((re,N)=>re*N,1):0;Z.push(e),H.push(T)}return[O(Z),H]}char_decode(B){return this.char_tokenizer.batch_decode(B).map(G=>G.replaceAll(" ",""))}bpe_decode(B){return this.bpe_tokenizer.batch_decode(B)}wp_decode(B){return this.wp_tokenizer.batch_decode(B).map(G=>G.replaceAll(" ",""))}batch_decode([B,G,D]){const[_,O]=this._decode_helper(B,"char"),[j,U]=this._decode_helper(G,"bpe"),[H,Z]=this._decode_helper(D,"wp"),X=[],g=[];for(let v=0;v<_.length;++v){const[e,d]=(0,C.max)([O[v],U[v],Z[v]]);X.push([_[v],j[v],H[v]][d]),g.push(e)}return{generated_text:X,scores:g,char_preds:_,bpe_preds:j,wp_preds:H}}static async from_pretrained(...B){const G=await super.from_pretrained(...B),D=await p.AutoTokenizer.from_pretrained("Xenova/gpt2"),_=await p.AutoTokenizer.from_pretrained("Xenova/bert-base-uncased");return G.components={image_processor:G.image_processor,char_tokenizer:G.tokenizer,bpe_tokenizer:D,wp_tokenizer:_},G}async _call(B,G=null){const D=await this.image_processor(B);return G&&(D.labels=this.tokenizer(G).input_ids),D}}Ct(k,"tokenizer_class",p.AutoTokenizer),Ct(k,"image_processor_class",f.AutoImageProcessor)},
2807"./src/models/mobilenet_v1/image_processing_mobilenet_v1.js":(c,n,s)=>{s.r(n),s.d(n,{MobileNetV1FeatureExtractor:()=>p,MobileNetV1ImageProcessor:()=>f});var o=s("./src/base/image_processors_utils.js");class f extends o.ImageProcessor{}class p extends f{}},
2807"./src/models/mobilenet_v2/image_processing_mobilenet_v2.js":(c,n,s)=>{s.r(n),s.d(n,{MobileNetV2FeatureExtractor:()=>p,MobileNetV2ImageProcessor:()=>f});var o=s("./src/base/image_processors_utils.js");class f extends o.ImageProcessor{}class p extends f{}},
2807"./src/models/mobilenet_v3/image_processing_mobilenet_v3.js":(c,n,s)=>{s.r(n),s.d(n,{MobileNetV3FeatureExtractor:()=>p,MobileNetV3ImageProcessor:()=>f});var o=s("./src/base/image_processors_utils.js");class f extends o.ImageProcessor{}class p extends f{}},
2807"./src/models/mobilenet_v4/image_processing_mobilenet_v4.js":(c,n,s)=>{s.r(n),s.d(n,{MobileNetV4FeatureExtractor:()=>p,MobileNetV4ImageProcessor:()=>f});var o=s("./src/base/image_processors_utils.js");class f extends o.ImageProcessor{}class p extends f{}},
2807"./src/models/mobilevit/image_processing_mobilevit.js":(c,n,s)=>{s.r(n),s.d(n,{MobileViTFeatureExtractor:()=>p,MobileViTImageProcessor:()=>f});var o=s("./src/base/image_processors_utils.js");class f extends o.ImageProcessor{}class p extends f{}},
2807"./src/models/moonshine/feature_extraction_moonshine.js":(c,n,s)=>{s.r(n),s.d(n,{MoonshineFeatureExtractor:()=>p});var o=s("./src/base/feature_extraction_utils.js"),f=s("./src/utils/tensor.js");class p extends o.FeatureExtractor{async _call(b){(0,o.validate_audio_inputs)(b,"MoonshineFeatureExtractor"),b instanceof Float64Array&&(b=new Float32Array(b));const k=[1,b.length];return{input_values:new f.Tensor("float32",b,k)}}}},
2807"./src/models/moonshine/processing_moonshine.js":(c,n,s)=>{s.r(n),s.d(n,{MoonshineProcessor:()=>C});var o=s("./src/models/auto/feature_extraction_auto.js"),f=s("./src/tokenizers.js"),p=s("./src/base/processing_utils.js");class C extends p.Processor{async _call(k){return await this.feature_extractor(k)}}Ct(C,"tokenizer_class",f.AutoTokenizer),Ct(C,"feature_extractor_class",o.AutoFeatureExtractor)},
2807"./src/models/nougat/image_processing_nougat.js":(c,n,s)=>{s.r(n),s.d(n,{NougatImageProcessor:()=>f});var o=s("./src/models/donut/image_processing_donut.js");class f extends o.DonutImageProcessor{}},
2807"./src/models/owlv2/image_processing_owlv2.js":(c,n,s)=>{s.r(n),s.d(n,{Owlv2ImageProcessor:()=>f});var o=s("./src/models/owlvit/image_processing_owlvit.js");class f extends o.OwlViTImageProcessor{}},
2807"./src/models/owlvit/image_processing_owlvit.js":(c,n,s)=>{s.r(n),s.d(n,{OwlViTFeatureExtractor:()=>p,OwlViTImageProcessor:()=>f});var o=s("./src/base/image_processors_utils.js");class f extends o.ImageProcessor{post_process_object_detection(...b){return(0,o.post_process_object_detection)(...b)}}class p extends f{}},
2807"./src/models/owlvit/processing_owlvit.js":(c,n,s)=>{s.r(n),s.d(n,{OwlViTProcessor:()=>C});var o=s("./src/base/processing_utils.js"),f=s("./src/models/auto/image_processing_auto.js"),p=s("./src/tokenizers.js");class C extends o.Processor{}Ct(C,"tokenizer_class",p.AutoTokenizer),Ct(C,"image_processor_class",f.AutoImageProcessor)},
2807"./src/models/paligemma/processing_paligemma.js":(c,n,s)=>{s.r(n),s.d(n,{PaliGemmaProcessor:()=>b});var o=s("./src/base/processing_utils.js"),f=s("./src/models/auto/image_processing_auto.js"),p=s("./src/tokenizers.js");const C="<image>";class b extends o.Processor{async _call(E,B=null,G={}){B||(console.warn("You are using PaliGemma without a text prefix. It will perform as a picture-captioning model."),B=""),Array.isArray(E)||(E=[E]),Array.isArray(B)||(B=[B]);const D=this.tokenizer.bos_token,_=this.image_processor.config.image_seq_length;let O;B.some(U=>U.includes(C))?O=B.map(U=>{const H=U.replaceAll(C,C.repeat(_)),Z=H.lastIndexOf(C),X=Z===-1?0:Z+7;return H.slice(0,X)+D+H.slice(X)+`
2808`}):(console.warn("You are passing both `text` and `images` to `PaliGemmaProcessor`. The processor expects special image tokens in the text, as many tokens as there are images per each text. It is recommended to add `<image>` tokens in the very beginning of your text. For this call, we will infer how many images each text has and add special tokens."),O=B.map(U=>function(H,Z,X,g,v){return`${g.repeat(X*v)}${Z}${H}
2809`}(U,D,_,C,E.length)));const j=this.tokenizer(O,G);return{...await this.image_processor(E,G),...j}}}Ct(b,"tokenizer_class",p.AutoTokenizer),Ct(b,"image_processor_class",f.AutoImageProcessor),Ct(b,"uses_processor_config",!1)},
2809"./src/models/phi3_v/image_processing_phi3_v.js":(c,n,s)=>{s.r(n),s.d(n,{Phi3VImageProcessor:()=>B});var o=s("./src/base/image_processors_utils.js"),f=s("./src/utils/tensor.js");const p=336,C=[2,3],{ceil:b,floor:k,sqrt:E}=Math;class B extends o.ImageProcessor{constructor(D){super({...D,do_normalize:!0,do_pad:!0,pad_size:"custom",do_convert_rgb:!0,do_resize:!0}),this._num_crops=D.num_crops}calc_num_image_tokens_from_image_size(D,_){const{num_img_tokens:O}=this.config;return k((k(_/p)*k(D/p)+1)*O+1+(k(_/p)+1)*E(O))}get_resize_output_image_size(D,_){const O=this._num_crops,[j,U]=D.size;let H=j/U,Z=1;for(;Z*Math.ceil(Z/H)<=O;)Z+=1;Z-=1;const X=Math.floor(336*Z);return[X,Math.floor(X/H)]}pad_image(D,_,O,j={}){const[U,H]=_,Z=p*b(U/p),X=p*b(H/p),g=[1,1,1].map((v,e)=>(v-this.image_mean[e])/this.image_std[e]);return super.pad_image(D,_,{width:X,height:Z},{center:!0,constant_values:g,...j})}async _call(D,{num_crops:_=null}={}){if(this._num_crops=_??(_=this.config.num_crops),_<4||E(_)%1!=0)throw new Error("num_crops must be a square number >= 4");Array.isArray(D)||(D=[D]);const O=D.length,j=await Promise.all(D.map(v=>this.preprocess(v))),U=j.map(v=>v.original_size),H=j.map(v=>v.reshaped_input_size),Z=[];for(const{pixel_values:v}of j){v.unsqueeze_(0);const[e,d]=v.dims.slice(-2),T=await(0,f.interpolate_4d)(v,{size:[p,p],mode:"bicubic"});if(_>0){const re=[],N=E(_),F=k(d/N),Ce=k(e/N);for(let ce=0;ce<N;++ce)for(let ge=0;ge<N;++ge){let Me,Ue,Ne,de;ce===N-1?(Ue=e-Ce,de=e):(Ue=ce*Ce,de=(ce+1)*Ce),ge===N-1?(Me=d-F,Ne=d):(Me=ge*F,Ne=(ge+1)*F);const me=[Ue,Me],we=[de,Ne],_e=await(0,f.slice)(v,me,we,C);re.push(_e)}const he=await(0,f.interpolate_4d)((0,f.cat)(re,0),{size:[p,p],mode:"bicubic"});Z.push((0,f.cat)([T,he],0))}else Z.push(T)}const X=(0,f.stack)(Z,0),g=H.map(v=>v.map(e=>p*b(e/p)));return{pixel_values:X,original_sizes:U,reshaped_input_sizes:H,image_sizes:new f.Tensor("int64",g.flat(),[O,2]),num_img_tokens:g.map(([v,e])=>this.calc_num_image_tokens_from_image_size(e,v))}}}},
2809"./src/models/phi3_v/processing_phi3_v.js":(c,n,s)=>{s.r(n),s.d(n,{Phi3VProcessor:()=>k});var o=s("./src/base/processing_utils.js"),f=s("./src/models/auto/image_processing_auto.js"),p=s("./src/tokenizers.js");s("./src/utils/image.js");const C="<|image|>",b=/<\|image_\d+\|>/g;class k extends o.Processor{async _call(B,G=null,{padding:D=!0,truncation:_=!0,num_crops:O=null}={}){let j,U;if(Array.isArray(B)||(B=[B]),G){U=await this.image_processor(G,{num_crops:O});const{num_img_tokens:H}=U,Z=B.map((g,v)=>g.split(b).join(C.repeat(H[v])));j=this.tokenizer(Z,{padding:D,truncation:_});const X=this.tokenizer.model.convert_tokens_to_ids([C])[0];j.input_ids.map_(g=>g==X?-g:g)}else j=this.tokenizer(B);return{...j,...U}}}Ct(k,"image_processor_class",f.AutoImageProcessor),Ct(k,"tokenizer_class",p.AutoTokenizer)},
2809"./src/models/processors.js":(c,n,s)=>{s.r(n),s.d(n,{Florence2Processor:()=>o.Florence2Processor,GroundingDinoProcessor:()=>f.GroundingDinoProcessor,Idefics3Processor:()=>p.Idefics3Processor,JinaCLIPProcessor:()=>b.JinaCLIPProcessor,MgpstrProcessor:()=>k.MgpstrProcessor,MoonshineProcessor:()=>E.MoonshineProcessor,OwlViTProcessor:()=>B.OwlViTProcessor,PaliGemmaProcessor:()=>D.PaliGemmaProcessor,Phi3VProcessor:()=>G.Phi3VProcessor,PyAnnoteProcessor:()=>_.PyAnnoteProcessor,Qwen2VLProcessor:()=>O.Qwen2VLProcessor,SamProcessor:()=>j.SamProcessor,SpeechT5Processor:()=>U.SpeechT5Processor,VLChatProcessor:()=>C.VLChatProcessor,Wav2Vec2Processor:()=>H.Wav2Vec2Processor,Wav2Vec2ProcessorWithLM:()=>Z.Wav2Vec2ProcessorWithLM,WhisperProcessor:()=>X.WhisperProcessor});var o=s("./src/models/florence2/processing_florence2.js"),f=s("./src/models/grounding_dino/processing_grounding_dino.js"),p=s("./src/models/idefics3/processing_idefics3.js"),C=s("./src/models/janus/processing_janus.js"),b=s("./src/models/jina_clip/processing_jina_clip.js"),k=s("./src/models/mgp_str/processing_mgp_str.js"),E=s("./src/models/moonshine/processing_moonshine.js"),B=s("./src/models/owlvit/processing_owlvit.js"),G=s("./src/models/phi3_v/processing_phi3_v.js"),D=s("./src/models/paligemma/processing_paligemma.js"),_=s("./src/models/pyannote/processing_pyannote.js"),O=s("./src/models/qwen2_vl/processing_qwen2_vl.js"),j=s("./src/models/sam/processing_sam.js"),U=s("./src/models/speecht5/processing_speecht5.js"),H=s("./src/models/wav2vec2/processing_wav2vec2.js"),Z=s("./src/models/wav2vec2_with_lm/processing_wav2vec2_with_lm.js"),X=s("./src/models/whisper/processing_whisper.js")},
2809"./src/models/pvt/image_processing_pvt.js":(c,n,s)=>{s.r(n),s.d(n,{PvtImageProcessor:()=>f});var o=s("./src/base/image_processors_utils.js");class f extends o.ImageProcessor{}},
vendor: 947 bytes, line 2809
2809"./src/models/pyannote/feature_extraction_pyannote.js":(c,n,s)=>{s.r(n),s.d(n,{PyAnnoteFeatureExtractor:()=>C});var o=s("./src/base/feature_extraction_utils.js"),f=s("./src/utils/tensor.js"),p=s("./src/utils/maths.js");class C extends o.FeatureExtractor{async _call(k){(0,o.validate_audio_inputs)(k,"PyAnnoteFeatureExtractor"),k instanceof Float64Array&&(k=new Float32Array(k));const E=[1,1,k.length];return{input_values:new f.Tensor("float32",k,E)}}samples_to_frames(k){return(k-this.config.offset)/this.config.step}post_process_speaker_diarization(k,E){const B=E/this.samples_to_frames(E)/this.config.sampling_rate,G=[];for(const D of k.tolist()){const _=[];let O=-1;for(let j=0;j<D.length;++j){const U=(0,p.softmax)(D[j]),[H,Z]=(0,p.max)(U),[X,g]=[j,j+1];Z!==O?(O=Z,_.push({id:Z,start:X,end:g,score:H})):(_.at(-1).end=g,_.at(-1).score+=H)}G.push(_.map(({id:j,start:U,end:H,score:Z})=>({id:j,start:U*B,end:H*B,confidence:Z/(H-U)})))}return G}}},
2809"./src/models/pyannote/processing_pyannote.js":(c,n,s)=>{s.r(n),s.d(n,{PyAnnoteProcessor:()=>p});var o=s("./src/base/processing_utils.js"),f=s("./src/models/pyannote/feature_extraction_pyannote.js");class p extends o.Processor{async _call(b){return await this.feature_extractor(b)}post_process_speaker_diarization(...b){return this.feature_extractor.post_process_speaker_diarization(...b)}get sampling_rate(){return this.feature_extractor.config.sampling_rate}}Ct(p,"feature_extractor_class",f.PyAnnoteFeatureExtractor)},
2809"./src/models/qwen2_vl/image_processing_qwen2_vl.js":(c,n,s)=>{s.r(n),s.d(n,{Qwen2VLImageProcessor:()=>p});var o=s("./src/base/image_processors_utils.js"),f=s("./src/utils/tensor.js");class p extends o.ImageProcessor{async _call(b,...k){const{pixel_values:E,original_sizes:B,reshaped_input_sizes:G}=await super._call(b,...k);let D=E;const{temporal_patch_size:_,merge_size:O,patch_size:j}=this.config;D.dims[0]===1&&(D=(0,f.cat)(Array.from({length:_},()=>D),0));const U=D.dims[0]/_,H=D.dims[1],Z=Math.floor(D.dims[2]/j),X=Math.floor(D.dims[3]/j);return{pixel_values:D.view(U,_,H,Math.floor(Z/O),O,j,Math.floor(X/O),O,j).permute(0,3,6,4,7,2,1,5,8).view(U*Z*X,H*_*j*j),image_grid_thw:new f.Tensor("int64",[U,Z,X],[1,3]),original_sizes:B,reshaped_input_sizes:G}}}},
2809"./src/models/qwen2_vl/processing_qwen2_vl.js":(c,n,s)=>{s.r(n),s.d(n,{Qwen2VLProcessor:()=>C});var o=s("./src/base/processing_utils.js"),f=s("./src/models/auto/image_processing_auto.js"),p=s("./src/tokenizers.js");s("./src/utils/image.js");class C extends o.Processor{async _call(k,E=null,...B){let G,D;if(Array.isArray(k)||(k=[k]),E&&(G=await this.image_processor(E),D=G.image_grid_thw),D){let _=this.image_processor.config.merge_size**2,O=0;const j=D.tolist();k=k.map(U=>{for(;U.includes("<|image_pad|>");){const H=Number(j[O++].reduce((Z,X)=>Z*X,1n));U=U.replace("<|image_pad|>","<|placeholder|>".repeat(Math.floor(H/_)))}return U.replaceAll("<|placeholder|>","<|image_pad|>")})}return{...this.tokenizer(k),...G}}}Ct(C,"image_processor_class",f.AutoImageProcessor),Ct(C,"tokenizer_class",p.AutoTokenizer)},
2809"./src/models/rt_detr/image_processing_rt_detr.js":(c,n,s)=>{s.r(n),s.d(n,{RTDetrImageProcessor:()=>f});var o=s("./src/base/image_processors_utils.js");class f extends o.ImageProcessor{post_process_object_detection(...C){return(0,o.post_process_object_detection)(...C)}}},
2809"./src/models/sam/image_processing_sam.js":(c,n,s)=>{s.r(n),s.d(n,{SamImageProcessor:()=>C});var o=s("./src/base/image_processors_utils.js"),f=s("./src/utils/core.js"),p=s("./src/utils/tensor.js");class C extends o.ImageProcessor{reshape_input_points(k,E,B,G=!1){k=structuredClone(k);let D=(0,f.calculateDimensions)(k);if(D.length===3)G||(D=[1,...D]),k=[k];else if(D.length!==4)throw Error("The input_points must be a 4D tensor of shape `batch_size`, `point_batch_size`, `nb_points_per_image`, `2`.");for(let _=0;_<k.length;++_){let O=E[_],j=B[_],U=[j[0]/O[0],j[1]/O[1]];for(let H=0;H<k[_].length;++H)for(let Z=0;Z<k[_][H].length;++Z)for(let X=0;X<k[_][H][Z].length;++X)k[_][H][Z][X]*=U[X%2]}return new p.Tensor("float32",Float32Array.from(k.flat(1/0)),D)}add_input_labels(k,E){let B=(0,f.calculateDimensions)(k);if(B.length===2)B=[1,...B],k=[k];else if(B.length!==3)throw Error("The input_points must be a 4D tensor of shape `batch_size`, `point_batch_size`, `nb_points_per_image`, `2`.");if(B.some((G,D)=>G!==E.dims[D]))throw Error(`The first ${B.length} dimensions of 'input_points' and 'input_labels' must be the same.`);return new p.Tensor("int64",k.flat(1/0).map(BigInt),B)}async _call(k,{input_points:E=null,input_labels:B=null,input_boxes:G=null}={}){const D=await super._call(k);if(E&&(D.input_points=this.reshape_input_points(E,D.original_sizes,D.reshaped_input_sizes)),B){if(!D.input_points)throw Error("`input_points` must be provided if `input_labels` are provided.");D.input_labels=this.add_input_labels(B,D.input_points)}return G&&(D.input_boxes=this.reshape_input_points(G,D.original_sizes,D.reshaped_input_sizes,!0)),D}async post_process_masks(k,E,B,{mask_threshold:G=0,binarize:D=!0,pad_size:_=null}={}){const O=[],j=[(_=_??this.pad_size).height,_.width];for(let U=0;U<E.length;++U){const H=E[U],Z=B[U];let X=await(0,p.interpolate_4d)(k[U],{mode:"bilinear",size:j});if(X=X.slice(null,null,[0,Z[0]],[0,Z[1]]),X=await(0,p.interpolate_4d)(X,{mode:"bilinear",size:H}),D){const g=X.data,v=new Uint8Array(g.length);for(let e=0;e<g.length;++e)g[e]>G&&(v[e]=1);X=new p.Tensor("bool",v,X.dims)}O.push(X)}return O}generate_crop_boxes(k,E,{crop_n_layers:B=0,overlap_ratio:G=512/1500,points_per_crop:D=32,crop_n_points_downscale_factor:_=1}={}){}}},
2809"./src/models/sam/processing_sam.js":(c,n,s)=>{s.r(n),s.d(n,{SamProcessor:()=>p});var o=s("./src/base/processing_utils.js"),f=s("./src/models/auto/image_processing_auto.js");class p extends o.Processor{async _call(...b){return await this.image_processor(...b)}post_process_masks(...b){return this.image_processor.post_process_masks(...b)}reshape_input_points(...b){return this.image_processor.reshape_input_points(...b)}}Ct(p,"image_processor_class",f.AutoImageProcessor)},
2809"./src/models/seamless_m4t/feature_extraction_seamless_m4t.js":(c,n,s)=>{s.r(n),s.d(n,{SeamlessM4TFeatureExtractor:()=>C});var o=s("./src/base/feature_extraction_utils.js"),f=s("./src/utils/tensor.js"),p=s("./src/utils/audio.js");class C extends o.FeatureExtractor{constructor(k){super(k);const E=this.config.sampling_rate,B=(0,p.mel_filter_bank)(256,this.config.num_mel_bins,20,Math.floor(E/2),E,null,"kaldi",!0);for(let G=0;G<B.length;++G)B[G].push(0);this.mel_filters=B,this.window=(0,p.window_function)(400,"povey",{periodic:!1})}async _extract_fbank_features(k,E){return k=k.map(B=>32768*B),(0,p.spectrogram)(k,this.window,400,160,{fft_length:512,power:2,center:!1,preemphasis:.97,mel_filters:this.mel_filters,log_mel:"log",mel_floor:1192092955078125e-22,remove_dc_offset:!0,max_num_frames:E,transpose:!0})}async _call(k,{padding:E=!0,pad_to_multiple_of:B=2,do_normalize_per_mel_bins:G=!0,return_attention_mask:D=!0}={}){(0,o.validate_audio_inputs)(k,"SeamlessM4TFeatureExtractor");let _,O=await this._extract_fbank_features(k,this.config.max_length);if(G){const[g,v]=O.dims,e=O.data;for(let d=0;d<v;++d){let T=0;for(let Ce=0;Ce<g;++Ce)T+=e[Ce*v+d];const re=T/g;let N=0;for(let Ce=0;Ce<g;++Ce)N+=(e[Ce*v+d]-re)**2;N/=g-1;const F=Math.sqrt(N+1e-7);for(let Ce=0;Ce<g;++Ce){const he=Ce*v+d;e[he]=(e[he]-re)/F}}}if(E){const[g,v]=O.dims,e=O.data,d=g%B;if(d>0){const T=new Float32Array(v*(g+d));T.set(e),T.fill(this.config.padding_value,e.length);const re=g+d;O=new f.Tensor(O.type,T,[re,v]),D&&(_=new f.Tensor("int64",new BigInt64Array(re),[1,re]),_.data.fill(1n,0,g))}}const[j,U]=O.dims,H=this.config.stride;if(j%H!==0)throw new Error(`The number of frames (${j}) must be a multiple of the stride (${H}).`);const Z=O.view(1,Math.floor(j/H),U*H),X={input_features:Z};if(D){const g=Z.dims[1],v=new BigInt64Array(g);if(_){const e=_.data;for(let d=1,T=0;d<j;d+=H,++T)v[T]=e[d]}else v.fill(1n);X.attention_mask=new f.Tensor("int64",v,[1,g])}return X}}},
2809"./src/models/segformer/image_processing_segformer.js":(c,n,s)=>{s.r(n),s.d(n,{SegformerFeatureExtractor:()=>p,SegformerImageProcessor:()=>f});var o=s("./src/base/image_processors_utils.js");class f extends o.ImageProcessor{post_process_semantic_segmentation(...b){return(0,o.post_process_semantic_segmentation)(...b)}}class p extends f{}},
2809"./src/models/siglip/image_processing_siglip.js":(c,n,s)=>{s.r(n),s.d(n,{SiglipImageProcessor:()=>f});var o=s("./src/base/image_processors_utils.js");class f extends o.ImageProcessor{}},
2809"./src/models/speecht5/feature_extraction_speecht5.js":(c,n,s)=>{s.r(n),s.d(n,{SpeechT5FeatureExtractor:()=>f});var o=s("./src/base/feature_extraction_utils.js");class f extends o.FeatureExtractor{}},
2809"./src/models/speecht5/processing_speecht5.js":(c,n,s)=>{s.r(n),s.d(n,{SpeechT5Processor:()=>C});var o=s("./src/base/processing_utils.js"),f=s("./src/tokenizers.js"),p=s("./src/models/auto/feature_extraction_auto.js");class C extends o.Processor{async _call(k){return await this.feature_extractor(k)}}Ct(C,"tokenizer_class",f.AutoTokenizer),Ct(C,"feature_extractor_class",p.AutoFeatureExtractor)},
vendor: 346 bytes, line 2809
2809"./src/models/swin2sr/image_processing_swin2sr.js":(c,n,s)=>{s.r(n),s.d(n,{Swin2SRImageProcessor:()=>f});var o=s("./src/base/image_processors_utils.js");class f extends o.ImageProcessor{pad_image(C,b,k,E={}){const[B,G,D]=b;return super.pad_image(C,b,{width:G+(k-G%k)%k,height:B+(k-B%k)%k},{mode:"symmetric",center:!1,constant_values:-1,...E})}}},
2809"./src/models/vit/image_processing_vit.js":(c,n,s)=>{s.r(n),s.d(n,{ViTFeatureExtractor:()=>p,ViTImageProcessor:()=>f});var o=s("./src/base/image_processors_utils.js");class f extends o.ImageProcessor{}class p extends f{}},
2809"./src/models/vitmatte/image_processing_vitmatte.js":(c,n,s)=>{s.r(n),s.d(n,{VitMatteImageProcessor:()=>p});var o=s("./src/base/image_processors_utils.js"),f=s("./src/utils/tensor.js");class p extends o.ImageProcessor{async _call(b,k){Array.isArray(b)||(b=[b]),Array.isArray(k)||(k=[k]);const E=await Promise.all(b.map(D=>this.preprocess(D))),B=await Promise.all(k.map(D=>this.preprocess(D,{do_normalize:!1,do_convert_rgb:!1,do_convert_grayscale:!0})));return{pixel_values:(0,f.stack)(E.map((D,_)=>(0,f.cat)([D.pixel_values,B[_].pixel_values],0)),0),original_sizes:E.map(D=>D.original_size),reshaped_input_sizes:E.map(D=>D.reshaped_input_size)}}}},
vendor: 784 bytes, line 2809
2809"./src/models/vitpose/image_processing_vitpose.js":(c,n,s)=>{s.r(n),s.d(n,{VitPoseImageProcessor:()=>f});var o=s("./src/base/image_processors_utils.js");class f extends o.ImageProcessor{post_process_pose_estimation(C,b,{threshold:k=null}={}){const E=C.tolist(),[B,G,D,_]=C.dims,O=[];for(let j=0;j<B;++j){const U=E[j],H=b[j],Z=[];for(let X=0;X<H.length;++X){const g=H[X],v=[],e=[],d=[],T=g.at(-2)/_,re=g.at(-1)/D;for(let N=0;N<U.length;++N){let[F,Ce]=[0,0],he=0,ce=-1/0;const ge=U[N];for(let Ue=0;Ue<ge.length;++Ue){const Ne=ge[Ue];for(let de=0;de<Ne.length;++de){const me=Ne[de];he+=me,ce=Math.max(ce,me),F+=(de+.5)*me,Ce+=Ue*me}}if(k!=null&&ce<k)continue;const Me=[T*F/he,re*Ce/he];v.push(Me),d.push(N),e.push(ce)}Z.push({bbox:g,scores:e,labels:d,keypoints:v})}O.push(Z)}return O}}},
2809"./src/models/wav2vec2/feature_extraction_wav2vec2.js":(c,n,s)=>{s.r(n),s.d(n,{Wav2Vec2FeatureExtractor:()=>p});var o=s("./src/base/feature_extraction_utils.js"),f=s("./src/utils/tensor.js");class p extends o.FeatureExtractor{_zero_mean_unit_var_norm(b){const k=b.reduce((G,D)=>G+D,0),E=k/b.length,B=b.reduce((G,D)=>G+(D-E)**2,0)/b.length;return b.map(G=>(G-E)/Math.sqrt(B+1e-7))}async _call(b){(0,o.validate_audio_inputs)(b,"Wav2Vec2FeatureExtractor"),b instanceof Float64Array&&(b=new Float32Array(b));let k=b;this.config.do_normalize&&(k=this._zero_mean_unit_var_norm(k));const E=[1,k.length];return{input_values:new f.Tensor("float32",k,E),attention_mask:new f.Tensor("int64",new BigInt64Array(k.length).fill(1n),E)}}}},
2809"./src/models/wav2vec2/processing_wav2vec2.js":(c,n,s)=>{s.r(n),s.d(n,{Wav2Vec2Processor:()=>C});var o=s("./src/tokenizers.js"),f=s("./src/models/auto/feature_extraction_auto.js"),p=s("./src/base/processing_utils.js");class C extends p.Processor{async _call(k){return await this.feature_extractor(k)}}Ct(C,"tokenizer_class",o.AutoTokenizer),Ct(C,"feature_extractor_class",f.AutoFeatureExtractor)},
2809"./src/models/wav2vec2_with_lm/processing_wav2vec2_with_lm.js":(c,n,s)=>{s.r(n),s.d(n,{Wav2Vec2ProcessorWithLM:()=>C});var o=s("./src/tokenizers.js"),f=s("./src/models/auto/feature_extraction_auto.js"),p=s("./src/base/processing_utils.js");class C extends p.Processor{async _call(k){return await this.feature_extractor(k)}}Ct(C,"tokenizer_class",o.AutoTokenizer),Ct(C,"feature_extractor_class",f.AutoFeatureExtractor)},
2809"./src/models/wespeaker/feature_extraction_wespeaker.js":(c,n,s)=>{s.r(n),s.d(n,{WeSpeakerFeatureExtractor:()=>p});var o=s("./src/base/feature_extraction_utils.js");s("./src/utils/tensor.js");var f=s("./src/utils/audio.js");class p extends o.FeatureExtractor{constructor(b){super(b);const k=this.config.sampling_rate,E=(0,f.mel_filter_bank)(256,this.config.num_mel_bins,20,Math.floor(k/2),k,null,"kaldi",!0);for(let B=0;B<E.length;++B)E[B].push(0);this.mel_filters=E,this.window=(0,f.window_function)(400,"hamming",{periodic:!1}),this.min_num_frames=this.config.min_num_frames}async _extract_fbank_features(b){return b=b.map(k=>32768*k),(0,f.spectrogram)(b,this.window,400,160,{fft_length:512,power:2,center:!1,preemphasis:.97,mel_filters:this.mel_filters,log_mel:"log",mel_floor:1192092955078125e-22,remove_dc_offset:!0,transpose:!0,min_num_frames:this.min_num_frames})}async _call(b){(0,o.validate_audio_inputs)(b,"WeSpeakerFeatureExtractor");const k=(await this._extract_fbank_features(b)).unsqueeze_(0);if(this.config.fbank_centering_span===null){const E=k.mean(1).data,B=k.data,[G,D,_]=k.dims;for(let O=0;O<G;++O){const j=O*D*_,U=O*_;for(let H=0;H<D;++H){const Z=j+H*_;for(let X=0;X<_;++X)B[Z+X]-=E[U+X]}}}return{input_features:k}}}},
2809"./src/models/whisper/common_whisper.js":(c,n,s)=>{s.r(n),s.d(n,{WHISPER_LANGUAGE_MAPPING:()=>f,WHISPER_TO_LANGUAGE_CODE_MAPPING:()=>p,whisper_language_to_code:()=>C});const o=[["en","english"],["zh","chinese"],["de","german"],["es","spanish"],["ru","russian"],["ko","korean"],["fr","french"],["ja","japanese"],["pt","portuguese"],["tr","turkish"],["pl","polish"],["ca","catalan"],["nl","dutch"],["ar","arabic"],["sv","swedish"],["it","italian"],["id","indonesian"],["hi","hindi"],["fi","finnish"],["vi","vietnamese"],["he","hebrew"],["uk","ukrainian"],["el","greek"],["ms","malay"],["cs","czech"],["ro","romanian"],["da","danish"],["hu","hungarian"],["ta","tamil"],["no","norwegian"],["th","thai"],["ur","urdu"],["hr","croatian"],["bg","bulgarian"],["lt","lithuanian"],["la","latin"],["mi","maori"],["ml","malayalam"],["cy","welsh"],["sk","slovak"],["te","telugu"],["fa","persian"],["lv","latvian"],["bn","bengali"],["sr","serbian"],["az","azerbaijani"],["sl","slovenian"],["kn","kannada"],["et","estonian"],["mk","macedonian"],["br","breton"],["eu","basque"],["is","icelandic"],["hy","armenian"],["ne","nepali"],["mn","mongolian"],["bs","bosnian"],["kk","kazakh"],["sq","albanian"],["sw","swahili"],["gl","galician"],["mr","marathi"],["pa","punjabi"],["si","sinhala"],["km","khmer"],["sn","shona"],["yo","yoruba"],["so","somali"],["af","afrikaans"],["oc","occitan"],["ka","georgian"],["be","belarusian"],["tg","tajik"],["sd","sindhi"],["gu","gujarati"],["am","amharic"],["yi","yiddish"],["lo","lao"],["uz","uzbek"],["fo","faroese"],["ht","haitian creole"],["ps","pashto"],["tk","turkmen"],["nn","nynorsk"],["mt","maltese"],["sa","sanskrit"],["lb","luxembourgish"],["my","myanmar"],["bo","tibetan"],["tl","tagalog"],["mg","malagasy"],["as","assamese"],["tt","tatar"],["haw","hawaiian"],["ln","lingala"],["ha","hausa"],["ba","bashkir"],["jw","javanese"],["su","sundanese"]],f=new Map(o),p=new Map([...o.map(([b,k])=>[k,b]),["burmese","my"],["valencian","ca"],["flemish","nl"],["haitian","ht"],["letzeburgesch","lb"],["pushto","ps"],["panjabi","pa"],["moldavian","ro"],["moldovan","ro"],["sinhalese","si"],["castilian","es"]]);function C(b){b=b.toLowerCase();let k=p.get(b);if(k===void 0){if(!f.has(b)){const E=b.length===2?f.keys():f.values();throw new Error(`Language "${b}" is not supported. Must be one of: ${JSON.stringify(E)}`)}k=b}return k}},
2809"./src/models/whisper/feature_extraction_whisper.js":(c,n,s)=>{s.r(n),s.d(n,{WhisperFeatureExtractor:()=>C});var o=s("./src/base/feature_extraction_utils.js");s("./src/utils/tensor.js");var f=s("./src/utils/audio.js"),p=s("./src/utils/maths.js");class C extends o.FeatureExtractor{constructor(k){var E;super(k),(E=this.config).mel_filters??(E.mel_filters=(0,f.mel_filter_bank)(Math.floor(1+this.config.n_fft/2),this.config.feature_size,0,8e3,this.config.sampling_rate,"slaney","slaney")),this.window=(0,f.window_function)(this.config.n_fft,"hann")}async _extract_fbank_features(k){const E=await(0,f.spectrogram)(k,this.window,this.config.n_fft,this.config.hop_length,{power:2,mel_filters:this.config.mel_filters,log_mel:"log10",max_num_frames:this.config.nb_max_frames}),B=E.data,G=(0,p.max)(B)[0];for(let D=0;D<B.length;++D)B[D]=(Math.max(B[D],G-8)+4)/4;return E}async _call(k){let E;return(0,o.validate_audio_inputs)(k,"WhisperFeatureExtractor"),k.length>this.config.n_samples?(console.warn("Attempting to extract features for audio longer than 30 seconds. If using a pipeline to extract transcript from a long audio clip, remember to specify `chunk_length_s` and/or `stride_length_s`."),E=k.slice(0,this.config.n_samples)):(E=new Float32Array(this.config.n_samples),E.set(k)),{input_features:(await this._extract_fbank_features(E)).unsqueeze_(0)}}}},
2809"./src/models/whisper/generation_whisper.js":(c,n,s)=>{s.r(n),s.d(n,{WhisperGenerationConfig:()=>f});var o=s("./src/generation/configuration_utils.js");class f extends o.GenerationConfig{constructor(){super(...arguments);Ct(this,"return_timestamps",null);Ct(this,"return_token_timestamps",null);Ct(this,"num_frames",null);Ct(this,"alignment_heads",null);Ct(this,"task",null);Ct(this,"language",null);Ct(this,"no_timestamps_token_id",null);Ct(this,"prompt_ids",null);Ct(this,"is_multilingual",null);Ct(this,"lang_to_id",null);Ct(this,"task_to_id",null);Ct(this,"max_initial_timestamp_index",1)}}},
2809"./src/models/whisper/processing_whisper.js":(c,n,s)=>{s.r(n),s.d(n,{WhisperProcessor:()=>C});var o=s("./src/models/auto/feature_extraction_auto.js"),f=s("./src/tokenizers.js"),p=s("./src/base/processing_utils.js");class C extends p.Processor{async _call(k){return await this.feature_extractor(k)}}Ct(C,"tokenizer_class",f.AutoTokenizer),Ct(C,"feature_extractor_class",o.AutoFeatureExtractor)},
2809"./src/models/yolos/image_processing_yolos.js":(c,n,s)=>{s.r(n),s.d(n,{YolosFeatureExtractor:()=>p,YolosImageProcessor:()=>f});var o=s("./src/base/image_processors_utils.js");class f extends o.ImageProcessor{post_process_object_detection(...b){return(0,o.post_process_object_detection)(...b)}}class p extends f{}},
2809"./src/ops/registry.js":(c,n,s)=>{s.r(n),s.d(n,{TensorOpRegistry:()=>k});var o=s("./src/backends/onnx.js"),f=s("./src/utils/tensor.js"),p=s("./src/env.js");const C=p.apis.IS_BROWSER_ENV||p.apis.IS_WEBWORKER_ENV,b=async(E,B,G)=>{const D=await(0,o.createInferenceSession)(new Uint8Array(E),B);let _=Promise.resolve();return async O=>{const j=(0,o.isONNXProxy)(),U=Object.fromEntries(Object.entries(O).map(([Z,X])=>[Z,(j?X.clone():X).ort_tensor])),H=await(_=C?_.then(()=>D.run(U)):D.run(U));return Array.isArray(G)?G.map(Z=>new f.Tensor(H[Z])):new f.Tensor(H[G])}};class k{static get nearest_interpolate_4d(){return this._nearest_interpolate_4d||(this._nearest_interpolate_4d=b([8,10,18,0,58,129,1,10,41,10,1,120,10,0,10,0,10,1,115,18,1,121,34,6,82,101,115,105,122,101,42,18,10,4,109,111,100,101,34,7,110,101,97,114,101,115,116,160,1,3,18,1,114,90,31,10,1,120,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,99,10,3,18,1,104,10,3,18,1,119,90,15,10,1,115,18,10,10,8,8,7,18,4,10,2,8,4,98,31,10,1,121,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,99,10,3,18,1,104,10,3,18,1,119,66,2,16,21],this.session_options,"y")),this._nearest_interpolate_4d}static get bilinear_interpolate_4d(){return this._bilinear_interpolate_4d||(this._bilinear_interpolate_4d=b([8,9,18,0,58,128,1,10,40,10,1,120,10,0,10,0,10,1,115,18,1,121,34,6,82,101,115,105,122,101,42,17,10,4,109,111,100,101,34,6,108,105,110,101,97,114,160,1,3,18,1,114,90,31,10,1,120,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,99,10,3,18,1,104,10,3,18,1,119,90,15,10,1,115,18,10,10,8,8,7,18,4,10,2,8,4,98,31,10,1,121,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,99,10,3,18,1,104,10,3,18,1,119,66,2,16,20],this.session_options,"y")),this._bilinear_interpolate_4d}static get bicubic_interpolate_4d(){return this._bicubic_interpolate_4d||(this._bicubic_interpolate_4d=b([8,9,18,0,58,127,10,39,10,1,120,10,0,10,0,10,1,115,18,1,121,34,6,82,101,115,105,122,101,42,16,10,4,109,111,100,101,34,5,99,117,98,105,99,160,1,3,18,1,114,90,31,10,1,120,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,99,10,3,18,1,104,10,3,18,1,119,90,15,10,1,115,18,10,10,8,8,7,18,4,10,2,8,4,98,31,10,1,121,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,99,10,3,18,1,104,10,3,18,1,119,66,2,16,20],this.session_options,"y")),this._bicubic_interpolate_4d}static get matmul(){return this._matmul||(this._matmul=b([8,9,18,0,58,55,10,17,10,1,97,10,1,98,18,1,99,34,6,77,97,116,77,117,108,18,1,114,90,9,10,1,97,18,4,10,2,8,1,90,9,10,1,98,18,4,10,2,8,1,98,9,10,1,99,18,4,10,2,8,1,66,2,16,20],this.session_options,"c")),this._matmul}static get stft(){return this._stft||(this._stft=b([8,7,18,0,58,148,1,10,38,10,1,115,10,1,106,10,1,119,10,1,108,18,1,111,34,4,83,84,70,84,42,15,10,8,111,110,101,115,105,100,101,100,24,1,160,1,2,18,1,115,90,26,10,1,115,18,21,10,19,8,1,18,15,10,3,18,1,98,10,3,18,1,115,10,3,18,1,99,90,11,10,1,106,18,6,10,4,8,7,18,0,90,16,10,1,119,18,11,10,9,8,1,18,5,10,3,18,1,119,90,11,10,1,108,18,6,10,4,8,7,18,0,98,31,10,1,111,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,102,10,3,18,1,100,10,3,18,1,99,66,2,16,17],this.session_options,"o")),this._stft}static get rfft(){return this._rfft||(this._rfft=b([8,9,18,0,58,97,10,33,10,1,120,10,0,10,1,97,18,1,121,34,3,68,70,84,42,15,10,8,111,110,101,115,105,100,101,100,24,1,160,1,2,18,1,100,90,21,10,1,120,18,16,10,14,8,1,18,10,10,3,18,1,115,10,3,18,1,99,90,11,10,1,97,18,6,10,4,8,7,18,0,98,21,10,1,121,18,16,10,14,8,1,18,10,10,3,18,1,115,10,3,18,1,99,66,2,16,20],this.session_options,"y")),this._rfft}static get top_k(){return this._top_k||(this._top_k=b([8,10,18,0,58,73,10,18,10,1,120,10,1,107,18,1,118,18,1,105,34,4,84,111,112,75,18,1,116,90,9,10,1,120,18,4,10,2,8,1,90,15,10,1,107,18,10,10,8,8,7,18,4,10,2,8,1,98,9,10,1,118,18,4,10,2,8,1,98,9,10,1,105,18,4,10,2,8,7,66,2,16,21],this.session_options,["v","i"])),this._top_k}static get slice(){return this._slice||(this._slice=b([8,7,18,0,58,96,10,25,10,1,120,10,1,115,10,1,101,10,1,97,10,1,116,18,1,121,34,5,83,108,105,99,101,18,1,114,90,9,10,1,120,18,4,10,2,8,1,90,9,10,1,115,18,4,10,2,8,7,90,9,10,1,101,18,4,10,2,8,7,90,9,10,1,97,18,4,10,2,8,7,90,9,10,1,116,18,4,10,2,8,7,98,9,10,1,121,18,4,10,2,8,1,66,2,16,13],this.session_options,"y")),this._slice}}Ct(k,"session_options",{})},
2809"./src/pipelines.js":(c,n,s)=>{s.r(n),s.d(n,{AudioClassificationPipeline:()=>Ce,AutomaticSpeechRecognitionPipeline:()=>ce,DepthEstimationPipeline:()=>it,DocumentQuestionAnsweringPipeline:()=>we,FeatureExtractionPipeline:()=>N,FillMaskPipeline:()=>X,ImageClassificationPipeline:()=>Me,ImageFeatureExtractionPipeline:()=>F,ImageSegmentationPipeline:()=>Ue,ImageToImagePipeline:()=>pe,ImageToTextPipeline:()=>ge,ObjectDetectionPipeline:()=>de,Pipeline:()=>j,QuestionAnsweringPipeline:()=>Z,SummarizationPipeline:()=>v,Text2TextGenerationPipeline:()=>g,TextClassificationPipeline:()=>U,TextGenerationPipeline:()=>T,TextToAudioPipeline:()=>_e,TokenClassificationPipeline:()=>H,TranslationPipeline:()=>e,ZeroShotAudioClassificationPipeline:()=>he,ZeroShotClassificationPipeline:()=>re,ZeroShotImageClassificationPipeline:()=>Ne,ZeroShotObjectDetectionPipeline:()=>me,pipeline:()=>pt});var o=s("./src/tokenizers.js"),f=s("./src/models.js"),p=s("./src/models/auto/processing_auto.js");s("./src/base/processing_utils.js");var C=s("./src/utils/generic.js"),b=s("./src/utils/core.js"),k=s("./src/utils/maths.js"),E=s("./src/utils/audio.js"),B=s("./src/utils/tensor.js"),G=s("./src/utils/image.js");async function D(ct){return Array.isArray(ct)||(ct=[ct]),await Promise.all(ct.map(Re=>G.RawImage.read(Re)))}async function _(ct,Re){return Array.isArray(ct)||(ct=[ct]),await Promise.all(ct.map(tt=>typeof tt=="string"||tt instanceof URL?(0,E.read_audio)(tt,Re):tt instanceof Float64Array?new Float32Array(tt):tt))}function O(ct,Re){Re&&(ct=ct.map(At=>0|At));const[tt,It,wt,ze]=ct;return{xmin:tt,ymin:It,xmax:wt,ymax:ze}}class j extends C.Callable{constructor({task:Re,model:tt,tokenizer:It=null,processor:wt=null}){super(),this.task=Re,this.model=tt,this.tokenizer=It,this.processor=wt}async dispose(){await this.model.dispose()}}class U extends j{constructor(Re){super(Re)}async _call(Re,{top_k:tt=1}={}){const It=this.tokenizer(Re,{padding:!0,truncation:!0}),wt=await this.model(It),ze=this.model.config.problem_type==="multi_label_classification"?Ft=>Ft.sigmoid():Ft=>new B.Tensor("float32",(0,k.softmax)(Ft.data),Ft.dims),At=this.model.config.id2label,Bt=[];for(const Ft of wt.logits){const St=ze(Ft),oe=await(0,B.topk)(St,tt),zt=oe[0].tolist(),Ie=oe[1].tolist().map((fe,Qe)=>({label:At?At[fe]:`LABEL_${fe}`,score:zt[Qe]}));tt===1?Bt.push(...Ie):Bt.push(Ie)}return Array.isArray(Re)||tt===1?Bt:Bt[0]}}class H extends j{constructor(Re){super(Re)}async _call(Re,{ignore_labels:tt=["O"]}={}){const It=Array.isArray(Re),wt=this.tokenizer(It?Re:[Re],{padding:!0,truncation:!0}),ze=(await this.model(wt)).logits,At=this.model.config.id2label,Bt=[];for(let Ft=0;Ft<ze.dims[0];++Ft){const St=wt.input_ids[Ft],oe=ze[Ft],zt=[];for(let Ie=0;Ie<oe.dims[0];++Ie){const fe=oe[Ie],Qe=(0,k.max)(fe.data)[1],Je=At?At[Qe]:`LABEL_${Qe}`;if(tt.includes(Je))continue;const rt=this.tokenizer.decode([St[Ie].item()],{skip_special_tokens:!0});if(rt==="")continue;const lt=(0,k.softmax)(fe.data);zt.push({entity:Je,score:lt[Qe],index:Ie,word:rt})}Bt.push(zt)}return It?Bt:Bt[0]}}class Z extends j{constructor(Re){super(Re)}async _call(Re,tt,{top_k:It=1}={}){const wt=this.tokenizer(Re,{text_pair:tt,padding:!0,truncation:!0}),{start_logits:ze,end_logits:At}=await this.model(wt),Bt=wt.input_ids.tolist(),Ft=wt.attention_mask.tolist(),St=this.tokenizer.all_special_ids,oe=[];for(let zt=0;zt<ze.dims[0];++zt){const Ie=Bt[zt],fe=Ie.findIndex(jt=>jt==this.tokenizer.sep_token_id);Ft[zt].map((jt,eA)=>jt==1&&(eA===0||eA>fe&&St.findIndex(Lt=>Lt==Ie[eA])===-1));const Qe=ze[zt].tolist(),Je=At[zt].tolist();for(let jt=1;jt<Qe.length;++jt)(Ft[zt]==0||jt<=fe||St.findIndex(eA=>eA==Ie[jt])!==-1)&&(Qe[jt]=-1/0,Je[jt]=-1/0);const rt=(0,k.softmax)(Qe).map((jt,eA)=>[jt,eA]),lt=(0,k.softmax)(Je).map((jt,eA)=>[jt,eA]);rt[0][0]=0,lt[0][0]=0;const xt=(0,b.product)(rt,lt).filter(jt=>jt[0][1]<=jt[1][1]).map(jt=>[jt[0][1],jt[1][1],jt[0][0]*jt[1][0]]).sort((jt,eA)=>eA[2]-jt[2]);for(let jt=0;jt<Math.min(xt.length,It);++jt){const[eA,Lt,gA]=xt[jt],tA=Ie.slice(eA,Lt+1),oA=this.tokenizer.decode(tA,{skip_special_tokens:!0});oe.push({answer:oA,score:gA})}}return It===1?oe[0]:oe}}class X extends j{constructor(Re){super(Re)}async _call(Re,{top_k:tt=5}={}){const It=this.tokenizer(Re,{padding:!0,truncation:!0}
2809),{logits:wt}=await this.model(It),ze=[],At=It.input_ids.tolist();for(let Bt=0;Bt<At.length;++Bt){const Ft=At[Bt],St=Ft.findIndex(Qe=>Qe==this.tokenizer.mask_token_id);if(St===-1)throw Error(`Mask token (${this.tokenizer.mask_token}) not found in text.`);const oe=wt[Bt][St],zt=await(0,B.topk)(new B.Tensor("float32",(0,k.softmax)(oe.data),oe.dims),tt),Ie=zt[0].tolist(),fe=zt[1].tolist();ze.push(fe.map((Qe,Je)=>{const rt=Ft.slice();return rt[St]=Qe,{score:Ie[Je],token:Number(Qe),token_str:this.tokenizer.decode([Qe]),sequence:this.tokenizer.decode(rt,{skip_special_tokens:!0})}}))}return Array.isArray(Re)?ze:ze[0]}}class g extends j{constructor(tt){super(tt);Ct(this,"_key","generated_text")}async _call(tt,It={}){Array.isArray(tt)||(tt=[tt]),this.model.config.prefix&&(tt=tt.map(St=>this.model.config.prefix+St));const wt=this.model.config.task_specific_params;wt&&wt[this.task]&&wt[this.task].prefix&&(tt=tt.map(St=>wt[this.task].prefix+St));const ze=this.tokenizer,At={padding:!0,truncation:!0};let Bt;Bt=this instanceof e&&"_build_translation_inputs"in ze?ze._build_translation_inputs(tt,At,It):ze(tt,At);const Ft=await this.model.generate({...Bt,...It});return ze.batch_decode(Ft,{skip_special_tokens:!0}).map(St=>({[this._key]:St}))}}class v extends g{constructor(tt){super(tt);Ct(this,"_key","summary_text")}}class e extends g{constructor(tt){super(tt);Ct(this,"_key","translation_text")}}function d(ct){return Array.isArray(ct)&&ct.every(Re=>"role"in Re&&"content"in Re)}class T extends j{constructor(Re){super(Re)}async _call(Re,tt={}){let It,wt=!1,ze=!1;if(typeof Re=="string")It=Re=[Re];else if(Array.isArray(Re)&&Re.every(fe=>typeof fe=="string"))wt=!0,It=Re;else{if(d(Re))Re=[Re];else{if(!Array.isArray(Re)||!Re.every(d))throw new Error("Input must be a string, an array of strings, a Chat, or an array of Chats");wt=!0}ze=!0,It=Re.map(fe=>this.tokenizer.apply_chat_template(fe,{tokenize:!1,add_generation_prompt:!0}))}const At=tt.add_special_tokens??!1,Bt=!ze&&(tt.return_full_text??!0);this.tokenizer.padding_side="left";const Ft=this.tokenizer(It,{add_special_tokens:At,padding:!0,truncation:!0}),St=await this.model.generate({...Ft,...tt}),oe=this.tokenizer.batch_decode(St,{skip_special_tokens:!0});let zt;!Bt&&Ft.input_ids.dims.at(-1)>0&&(zt=this.tokenizer.batch_decode(Ft.input_ids,{skip_special_tokens:!0}).map(fe=>fe.length));const Ie=Array.from({length:Re.length},fe=>[]);for(let fe=0;fe<oe.length;++fe){const Qe=Math.floor(fe/St.dims[0]*Re.length);zt&&(oe[fe]=oe[fe].slice(zt[Qe])),Ie[Qe].push({generated_text:ze?[...Re[Qe],{role:"assistant",content:oe[fe]}]:oe[fe]})}return wt||Ie.length!==1?Ie:Ie[0]}}class re extends j{constructor(Re){super(Re),this.label2id=Object.fromEntries(Object.entries(this.model.config.label2id).map(([tt,It])=>[tt.toLowerCase(),It])),this.entailment_id=this.label2id.entailment,this.entailment_id===void 0&&(console.warn("Could not find 'entailment' in label2id mapping. Using 2 as entailment_id."),this.entailment_id=2),this.contradiction_id=this.label2id.contradiction??this.label2id.not_entailment,this.contradiction_id===void 0&&(console.warn("Could not find 'contradiction' in label2id mapping. Using 0 as contradiction_id."),this.contradiction_id=0)}async _call(Re,tt,{hypothesis_template:It="This example is {}.",multi_label:wt=!1}={}){const ze=Array.isArray(Re);ze||(Re=[Re]),Array.isArray(tt)||(tt=[tt]);const At=tt.map(St=>It.replace("{}",St)),Bt=wt||tt.length===1,Ft=[];for(const St of Re){const oe=[];for(const fe of At){const Qe=this.tokenizer(St,{text_pair:fe,padding:!0,truncation:!0}),Je=await this.model(Qe);Bt?oe.push([Je.logits.data[this.contradiction_id],Je.logits.data[this.entailment_id]]):oe.push(Je.logits.data[this.entailment_id])}const zt=Bt?oe.map(fe=>(0,k.softmax)(fe)[1]):(0,k.softmax)(oe),Ie=zt.map((fe,Qe)=>[fe,Qe]).sort((fe,Qe)=>Qe[0]-fe[0]);Ft.push({sequence:St,labels:Ie.map(fe=>tt[fe[1]]),scores:Ie.map(fe=>fe[0])})}return ze?Ft:Ft[0]}}class N extends j{constructor(Re){super(Re)}async _call(Re,{pooling:tt="none",normalize:It=!1,quantize:wt=!1,precision:ze="binary"}={}){const At=this.tokenizer(Re,{padding:!0,truncation:!0}
2809),Bt=await this.model(At);let Ft=Bt.last_hidden_state??Bt.logits??Bt.token_embeddings;if(tt!=="none")if(tt==="mean")Ft=(0,B.mean_pooling)(Ft,At.attention_mask);else{if(tt!=="cls")throw Error(`Pooling method '${tt}' not supported.`);Ft=Ft.slice(null,0)}return It&&(Ft=Ft.normalize(2,-1)),wt&&(Ft=(0,B.quantize_embeddings)(Ft,ze)),Ft}}class F extends j{constructor(Re){super(Re)}async _call(Re,{pool:tt=null}={}){const It=await D(Re),{pixel_values:wt}=await this.processor(It),ze=await this.model({pixel_values:wt});let At;if(tt){if(!("pooler_output"in ze))throw Error("No pooled output was returned. Make sure the model has a 'pooler' layer when using the 'pool' option.");At=ze.pooler_output}else At=ze.last_hidden_state??ze.logits??ze.image_embeds;return At}}class Ce extends j{constructor(Re){super(Re)}async _call(Re,{top_k:tt=5}={}){const It=this.processor.feature_extractor.config.sampling_rate,wt=await _(Re,It),ze=this.model.config.id2label,At=[];for(const Bt of wt){const Ft=await this.processor(Bt),St=(await this.model(Ft)).logits[0],oe=await(0,B.topk)(new B.Tensor("float32",(0,k.softmax)(St.data),St.dims),tt),zt=oe[0].tolist(),Ie=oe[1].tolist().map((fe,Qe)=>({label:ze?ze[fe]:`LABEL_${fe}`,score:zt[Qe]}));At.push(Ie)}return Array.isArray(Re)?At:At[0]}}class he extends j{constructor(Re){super(Re)}async _call(Re,tt,{hypothesis_template:It="This is a sound of {}."}={}){const wt=!Array.isArray(Re);wt&&(Re=[Re]);const ze=tt.map(oe=>It.replace("{}",oe)),At=this.tokenizer(ze,{padding:!0,truncation:!0}),Bt=this.processor.feature_extractor.config.sampling_rate,Ft=await _(Re,Bt),St=[];for(const oe of Ft){const zt=await this.processor(oe),Ie=await this.model({...At,...zt}),fe=(0,k.softmax)(Ie.logits_per_audio.data);St.push([...fe].map((Qe,Je)=>({score:Qe,label:tt[Je]})))}return wt?St[0]:St}}class ce extends j{constructor(Re){super(Re)}async _call(Re,tt={}){switch(this.model.config.model_type){case"whisper":return this._call_whisper(Re,tt);case"wav2vec2":case"wav2vec2-bert":case"unispeech":case"unispeech-sat":case"hubert":return this._call_wav2vec2(Re,tt);case"moonshine":return this._call_moonshine(Re,tt);default:throw new Error(`AutomaticSpeechRecognitionPipeline does not support model type '${this.model.config.model_type}'.`)}}async _call_wav2vec2(Re,tt){tt.language&&console.warn('`language` parameter is not yet supported for `wav2vec2` models, defaulting to "English".'),tt.task&&console.warn('`task` parameter is not yet supported for `wav2vec2` models, defaulting to "transcribe".');const It=!Array.isArray(Re);It&&(Re=[Re]);const wt=this.processor.feature_extractor.config.sampling_rate,ze=await _(Re,wt),At=[];for(const Bt of ze){const Ft=await this.processor(Bt),St=(await this.model(Ft)).logits[0],oe=[];for(const Ie of St)oe.push((0,k.max)(Ie.data)[1]);const zt=this.tokenizer.decode(oe);At.push({text:zt})}return It?At[0]:At}async _call_whisper(Re,tt){const It=tt.return_timestamps??!1,wt=tt.chunk_length_s??0,ze=tt.force_full_sequences??!1;let At=tt.stride_length_s??null;const Bt={...tt};It==="word"&&(Bt.return_token_timestamps=!0,Bt.return_timestamps=!1);const Ft=!Array.isArray(Re);Ft&&(Re=[Re]);const St=this.processor.feature_extractor.config.chunk_length/this.model.config.max_source_positions,oe=this.processor.feature_extractor.config.hop_length,zt=this.processor.feature_extractor.config.sampling_rate,Ie=await _(Re,zt),fe=[];for(const Qe of Ie){let Je=[];if(wt>0){if(At===null)At=wt/6;else if(wt<=At)throw Error("`chunk_length_s` must be larger than `stride_length_s`.");const xt=zt*wt,jt=zt*At,eA=xt-2*jt;let Lt=0;for(;;){const gA=Lt+xt,tA=Qe.subarray(Lt,gA),oA=await this.processor(tA),nA=Lt===0,IA=gA>=Qe.length;if(Je.push({stride:[tA.length,nA?0:jt,IA?0:jt],input_features:oA.input_features,is_last:IA}),IA)break;Lt+=eA}}else Je=[{stride:[Qe.length,0,0],input_features:(await this.processor(Qe)).input_features,is_last:!0}];for(const xt of Je){Bt.num_frames=Math.floor(xt.stride[0]/oe);const jt=await this.model.generate({inputs:xt.input_features,...Bt});It==="word"?(xt.tokens=jt.sequences.tolist()[0],xt.token_timestamps=jt.token_timestamps.tolist()[0].map(eA=>(0,k.round)(eA,2))):xt.tokens=jt[0].tolist(),xt.stride=xt.stride.map(eA=>eA/zt)}const[rt,lt]=this.tokenizer._decode_asr(Je,{time_precision:St,return_timestamps:It,force_full_sequences:ze});fe.push({text:rt,...lt})}return Ft?fe[0]:fe}async _call_moonshine(Re,tt){const It=!Array.isArray(Re);It&&(Re=[Re]);const wt=this.processor.feature_extractor.config.sampling_rate,ze=await _(Re,wt),At=[];for(const Bt of ze){const Ft=await this.processor(Bt),St=6*Math.floor(Bt.length/wt),oe=await this.model.generate({max_new_tokens:St,...tt,...Ft}),zt=this.processor.batch_decode(oe,{skip_special_tokens:!0})[0];
2809At.push({text:zt})}return It?At[0]:At}}class ge extends j{constructor(Re){super(Re)}async _call(Re,tt={}){const It=Array.isArray(Re),wt=await D(Re),{pixel_values:ze}=await this.processor(wt),At=[];for(const Bt of ze){Bt.dims=[1,...Bt.dims];const Ft=await this.model.generate({inputs:Bt,...tt}),St=this.tokenizer.batch_decode(Ft,{skip_special_tokens:!0}).map(oe=>({generated_text:oe.trim()}));At.push(St)}return It?At:At[0]}}class Me extends j{constructor(Re){super(Re)}async _call(Re,{top_k:tt=5}={}){const It=await D(Re),{pixel_values:wt}=await this.processor(It),ze=await this.model({pixel_values:wt}),At=this.model.config.id2label,Bt=[];for(const Ft of ze.logits){const St=await(0,B.topk)(new B.Tensor("float32",(0,k.softmax)(Ft.data),Ft.dims),tt),oe=St[0].tolist(),zt=St[1].tolist().map((Ie,fe)=>({label:At?At[Ie]:`LABEL_${Ie}`,score:oe[fe]}));Bt.push(zt)}return Array.isArray(Re)?Bt:Bt[0]}}class Ue extends j{constructor(Re){super(Re),this.subtasks_mapping={panoptic:"post_process_panoptic_segmentation",instance:"post_process_instance_segmentation",semantic:"post_process_semantic_segmentation"}}async _call(Re,{threshold:tt=.5,mask_threshold:It=.5,overlap_mask_area_threshold:wt=.8,label_ids_to_fuse:ze=null,target_sizes:At=null,subtask:Bt=null}={}){if(Array.isArray(Re)&&Re.length!==1)throw Error("Image segmentation pipeline currently only supports a batch size of 1.");const Ft=await D(Re),St=Ft.map(rt=>[rt.height,rt.width]),{pixel_values:oe,pixel_mask:zt}=await this.processor(Ft),Ie=await this.model({pixel_values:oe,pixel_mask:zt});let fe=null;if(Bt!==null)fe=this.subtasks_mapping[Bt];else for(let[rt,lt]of Object.entries(this.subtasks_mapping))if(lt in this.processor.image_processor){fe=this.processor.image_processor[lt].bind(this.processor.image_processor),Bt=rt;break}const Qe=this.model.config.id2label,Je=[];if(Bt==="panoptic"||Bt==="instance"){const rt=fe(Ie,tt,It,wt,ze,At??St)[0],lt=rt.segmentation;for(const xt of rt.segments_info){const jt=new Uint8ClampedArray(lt.data.length);for(let Lt=0;Lt<lt.data.length;++Lt)lt.data[Lt]===xt.id&&(jt[Lt]=255);const eA=new G.RawImage(jt,lt.dims[1],lt.dims[0],1);Je.push({score:xt.score,label:Qe[xt.label_id],mask:eA})}}else{if(Bt!=="semantic")throw Error(`Subtask ${Bt} not supported.`);{const{segmentation:rt,labels:lt}=fe(Ie,At??St)[0];for(const xt of lt){const jt=new Uint8ClampedArray(rt.data.length);for(let Lt=0;Lt<rt.data.length;++Lt)rt.data[Lt]===xt&&(jt[Lt]=255);const eA=new G.RawImage(jt,rt.dims[1],rt.dims[0],1);Je.push({score:null,label:Qe[xt],mask:eA})}}}return Je}}class Ne extends j{constructor(Re){super(Re)}async _call(Re,tt,{hypothesis_template:It="This is a photo of {}"}={}){const wt=Array.isArray(Re),ze=await D(Re),At=tt.map(Ie=>It.replace("{}",Ie)),Bt=this.tokenizer(At,{padding:this.model.config.model_type!=="siglip"||"max_length",truncation:!0}),{pixel_values:Ft}=await this.processor(ze),St=await this.model({...Bt,pixel_values:Ft}),oe=this.model.config.model_type==="siglip"?Ie=>Ie.sigmoid().data:Ie=>(0,k.softmax)(Ie.data),zt=[];for(const Ie of St.logits_per_image){const fe=[...oe(Ie)].map((Qe,Je)=>({score:Qe,label:tt[Je]}));fe.sort((Qe,Je)=>Je.score-Qe.score),zt.push(fe)}return wt?zt:zt[0]}}class de extends j{constructor(Re){super(Re)}async _call(Re,{threshold:tt=.9,percentage:It=!1}={}){const wt=Array.isArray(Re);if(wt&&Re.length!==1)throw Error("Object detection pipeline currently only supports a batch size of 1.");const ze=await D(Re),At=It?null:ze.map(fe=>[fe.height,fe.width]),{pixel_values:Bt,pixel_mask:Ft}=await this.processor(ze),St=await this.model({pixel_values:Bt,pixel_mask:Ft}),oe=this.processor.image_processor.post_process_object_detection(St,tt,At),zt=this.model.config.id2label,Ie=oe.map(fe=>fe.boxes.map((Qe,Je)=>({score:fe.scores[Je],label:zt[fe.classes[Je]],box:O(Qe,!It)})));return wt?Ie:Ie[0]}}class me extends j{constructor(Re){super(Re)}async _call(Re,tt,{threshold:It=.1,top_k:wt=null,percentage:ze=!1}={}){const At=Array.isArray(Re),Bt=await D(Re),Ft=this.tokenizer(tt,{padding:!0,truncation:!0}),St=await this.processor(Bt),oe=[];for(let zt=0;zt<Bt.length;++zt){const Ie=Bt[zt],fe=ze?null:[[Ie.height,Ie.width]],Qe=St.pixel_values[zt].unsqueeze_(0),Je=await this.model({...Ft,pixel_values:Qe});let rt;if("post_process_grounded_object_detection"in this.processor){const lt=this.processor.post_process_grounded_object_detection(Je,Ft.input_ids,{box_threshold:It,text_threshold:It,target_sizes:fe})[0];rt=lt.boxes.map((xt,jt)=>({score:lt.scores[jt],label:lt.labels[jt],box:O(xt,!ze)}))}else{const lt=this.processor.image_processor.post_process_object_detection(Je,It,fe,!0)[0];rt=lt.boxes.map((xt,jt)=>({score:lt.scores[jt],label:tt[lt.classes[jt]],box:O(xt,!ze)}))}rt.sort((lt,xt)=>xt.score-lt.score),wt!==null&&(rt=rt.slice(0,wt)),oe.push(rt)}return At?oe:oe[0]}}class we extends j{constructor(Re){super(Re)}async _call(Re,tt,It={}){const wt=(await D(Re))[0],{pixel_values:ze}=await this.processor(wt),At=`<s_docvqa><s_question>${tt}</s_question><s_answer>`,Bt=this.tokenizer(At,{add_special_tokens:!1,padding:!0,truncation:!0}
vendor: 5,849 bytes, line 2809
2809).input_ids,Ft=await this.model.generate({inputs:ze,max_length:this.model.config.decoder.max_position_embeddings,decoder_input_ids:Bt,...It}),St=this.tokenizer.batch_decode(Ft)[0].match(/<s_answer>(.*?)<\/s_answer>/);let oe=null;return St&&St.length>=2&&(oe=St[1].trim()),[{answer:oe}]}}class _e extends j{constructor(tt){super(tt);Ct(this,"DEFAULT_VOCODER_ID","Xenova/speecht5_hifigan");this.vocoder=tt.vocoder??null}async _call(tt,{speaker_embeddings:It=null}={}){return this.processor?this._call_text_to_spectrogram(tt,{speaker_embeddings:It}):this._call_text_to_waveform(tt)}async _call_text_to_waveform(tt){const It=this.tokenizer(tt,{padding:!0,truncation:!0}),{waveform:wt}=await this.model(It),ze=this.model.config.sampling_rate;return new E.RawAudio(wt.data,ze)}async _call_text_to_spectrogram(tt,{speaker_embeddings:It}){if(this.vocoder||(console.log("No vocoder specified, using default HifiGan vocoder."),this.vocoder=await f.AutoModel.from_pretrained(this.DEFAULT_VOCODER_ID,{dtype:"fp32"})),(typeof It=="string"||It instanceof URL)&&(It=new Float32Array(await(await fetch(It)).arrayBuffer())),It instanceof Float32Array)It=new B.Tensor("float32",It,[1,It.length]);else if(!(It instanceof B.Tensor))throw new Error("Speaker embeddings must be a `Tensor`, `Float32Array`, `string`, or `URL`.");const{input_ids:wt}=this.tokenizer(tt,{padding:!0,truncation:!0}),{waveform:ze}=await this.model.generate_speech(wt,It,{vocoder:this.vocoder}),At=this.processor.feature_extractor.config.sampling_rate;return new E.RawAudio(ze.data,At)}}class pe extends j{constructor(Re){super(Re)}async _call(Re){const tt=await D(Re),It=await this.processor(tt),wt=await this.model(It),ze=[];for(const At of wt.reconstruction){const Bt=At.squeeze().clamp_(0,1).mul_(255).round_().to("uint8");ze.push(G.RawImage.fromTensor(Bt))}return ze.length>1?ze:ze[0]}}class it extends j{constructor(Re){super(Re)}async _call(Re){const tt=await D(Re),It=await this.processor(tt),{predicted_depth:wt}=await this.model(It),ze=[];for(let At=0;At<tt.length;++At){const Bt=wt[At],[Ft,St]=Bt.dims.slice(-2),[oe,zt]=tt[At].size,Ie=(await(0,B.interpolate_4d)(Bt.view(1,1,Ft,St),{size:[zt,oe],mode:"bilinear"})).view(zt,oe),fe=Ie.min().item(),Qe=Ie.max().item(),Je=Ie.sub(fe).div_(Qe-fe).mul_(255).to("uint8").unsqueeze(0),rt=G.RawImage.fromTensor(Je);ze.push({predicted_depth:Ie,depth:rt})}return ze.length>1?ze:ze[0]}}const We=Object.freeze({"text-classification":{tokenizer:o.AutoTokenizer,pipeline:U,model:f.AutoModelForSequenceClassification,default:{model:"Xenova/distilbert-base-uncased-finetuned-sst-2-english"},type:"text"},"token-classification":{tokenizer:o.AutoTokenizer,pipeline:H,model:f.AutoModelForTokenClassification,default:{model:"Xenova/bert-base-multilingual-cased-ner-hrl"},type:"text"},"question-answering":{tokenizer:o.AutoTokenizer,pipeline:Z,model:f.AutoModelForQuestionAnswering,default:{model:"Xenova/distilbert-base-cased-distilled-squad"},type:"text"},"fill-mask":{tokenizer:o.AutoTokenizer,pipeline:X,model:f.AutoModelForMaskedLM,default:{model:"Xenova/bert-base-uncased"},type:"text"},summarization:{tokenizer:o.AutoTokenizer,pipeline:v,model:f.AutoModelForSeq2SeqLM,default:{model:"Xenova/distilbart-cnn-6-6"},type:"text"},translation:{tokenizer:o.AutoTokenizer,pipeline:e,model:f.AutoModelForSeq2SeqLM,default:{model:"Xenova/t5-small"},type:"text"},"text2text-generation":{tokenizer:o.AutoTokenizer,pipeline:g,model:f.AutoModelForSeq2SeqLM,default:{model:"Xenova/flan-t5-small"},type:"text"},"text-generation":{tokenizer:o.AutoTokenizer,pipeline:T,model:f.AutoModelForCausalLM,default:{model:"Xenova/gpt2"},type:"text"},"zero-shot-classification":{tokenizer:o.AutoTokenizer,pipeline:re,model:f.AutoModelForSequenceClassification,default:{model:"Xenova/distilbert-base-uncased-mnli"},type:"text"},"audio-classification":{pipeline:Ce,model:f.AutoModelForAudioClassification,processor:p.AutoProcessor,default:{model:"Xenova/wav2vec2-base-superb-ks"},type:"audio"},"zero-shot-audio-classification":{tokenizer:o.AutoTokenizer,pipeline:he,model:f.AutoModel,processor:p.AutoProcessor,default:{model:"Xenova/clap-htsat-unfused"},type:"multimodal"},"automatic-speech-recognition":{tokenizer:o.AutoTokenizer,pipeline:ce,model:[f.AutoModelForSpeechSeq2Seq,f.AutoModelForCTC],processor:p.AutoProcessor,default:{model:"Xenova/whisper-tiny.en"},type:"multimodal"},"text-to-audio":{tokenizer:o.AutoTokenizer,pipeline:_e,model:[f.AutoModelForTextToWaveform,f.AutoModelForTextToSpectrogram],processor:[p.AutoProcessor,null],default:{model:"Xenova/speecht5_tts"},type:"text"},"image-to-text":{tokenizer:o.AutoTokenizer,pipeline:ge,model:f.AutoModelForVision2Seq,processor:p.AutoProcessor,default:{model:"Xenova/vit-gpt2-image-captioning"},type:"multimodal"},"image-classification":{pipeline:Me,model:f.AutoModelForImageClassification,processor:p.AutoProcessor,default:{model:"Xenova/vit-base-patch16-224"},type:"multimodal"},"image-segmentation":{pipeline:Ue,model:[f.AutoModelForImageSegmentation,f.AutoModelForSemanticSegmentation,f.AutoModelForUniversalSegmentation],processor:p.AutoProcessor,default:{model:"Xenova/detr-resnet-50-panoptic"},type:"multimodal"},"zero-shot-image-classification":{tokenizer:o.AutoTokenizer,pipeline:Ne,model:f.AutoModel,processor:p.AutoProcessor,default:{model:"Xenova/clip-vit-base-patch32"},type:"multimodal"},"object-detection":{pipeline:de,model:f.AutoModelForObjectDetection,processor:p.AutoProcessor,default:{model:"Xenova/detr-resnet-50"},type:"multimodal"},"zero-shot-object-detection":{tokenizer:o.AutoTokenizer,pipeline:me,model:f.AutoModelForZeroShotObjectDetection,processor:p.AutoProcessor,default:{model:"Xenova/owlvit-base-patch32"},type:"multimodal"},"document-question-answering":{tokenizer:o.AutoTokenizer,pipeline:we,model:f.AutoModelForDocumentQuestionAnswering,processor:p.AutoProcessor,default:{model:"Xenova/d
2809onut-base-finetuned-docvqa"},type:"multimodal"},"image-to-image":{pipeline:pe,model:f.AutoModelForImageToImage,processor:p.AutoProcessor,default:{model:"Xenova/swin2SR-classical-sr-x2-64"},type:"image"},"depth-estimation":{pipeline:it,model:f.AutoModelForDepthEstimation,processor:p.AutoProcessor,default:{model:"Xenova/dpt-large"},type:"image"},"feature-extraction":{tokenizer:o.AutoTokenizer,pipeline:N,model:f.AutoModel,default:{model:"Xenova/all-MiniLM-L6-v2"},type:"text"},"image-feature-extraction":{processor:p.AutoProcessor,pipeline:F,model:[f.AutoModelForImageFeatureExtraction,f.AutoModel],default:{model:"Xenova/vit-base-patch16-224-in21k"},type:"image"}}),ot=Object.freeze({"sentiment-analysis":"text-classification",ner:"token-classification",asr:"automatic-speech-recognition","text-to-speech":"text-to-audio",embeddings:"feature-extraction"});async function pt(ct,Re=null,{progress_callback:tt=null,config:It=null,cache_dir:wt=null,local_files_only:ze=!1,revision:At="main",device:Bt=null,dtype:Ft=null,model_file_name:St=null,session_options:oe={}}={}){ct=ot[ct]??ct;const zt=We[ct.split("_",1)[0]];if(!zt)throw Error(`Unsupported pipeline: ${ct}. Must be one of [${Object.keys(We)}]`);Re||(Re=zt.default.model,console.log(`No model specified. Using default model: "${Re}".`));const Ie={progress_callback:tt,config:It,cache_dir:wt,local_files_only:ze,revision:At,device:Bt,dtype:Ft,model_file_name:St,session_options:oe},fe=new Map([["tokenizer",zt.tokenizer],["model",zt.model],["processor",zt.processor]]),Qe=await async function(Je,rt,lt){const xt=Object.create(null),jt=[];for(const[eA,Lt]of Je.entries()){if(!Lt)continue;let gA;gA=Array.isArray(Lt)?new Promise(async(tA,oA)=>{var IA,EA;let nA;for(const Gt of Lt){if(Gt===null)return void tA(null);try{return void tA(await Gt.from_pretrained(rt,lt))}catch(bA){if((IA=bA.message)!=null&&IA.includes("Unsupported model type"))nA=bA;else{if(!((EA=bA.message)!=null&&EA.includes("Could not locate file")))return void oA(bA);nA=bA}}}oA(nA)}):Lt.from_pretrained(rt,lt),xt[eA]=gA,jt.push(gA)}await Promise.all(jt);for(const[eA,Lt]of Object.entries(xt))xt[eA]=await Lt;return xt}(fe,Re,Ie);return Qe.task=ct,(0,b.dispatchCallback)(tt,{status:"ready",task:ct,model:Re}),new zt.pipeline(Qe)}},
2809"./src/tokenizers.js":(c,n,s)=>{s.r(n),s.d(n,{AlbertTokenizer:()=>wA,AutoTokenizer:()=>Ra,BartTokenizer:()=>Vr,BertTokenizer:()=>br,BlenderbotSmallTokenizer:()=>pr,BlenderbotTokenizer:()=>sr,BloomTokenizer:()=>HA,CLIPTokenizer:()=>Ha,CamembertTokenizer:()=>MA,CodeGenTokenizer:()=>Ci,CodeLlamaTokenizer:()=>dn,CohereTokenizer:()=>Zn,ConvBertTokenizer:()=>Lr,DebertaTokenizer:()=>iA,DebertaV2Tokenizer:()=>Jt,DistilBertTokenizer:()=>Tt,ElectraTokenizer:()=>JA,EsmTokenizer:()=>hn,FalconTokenizer:()=>gn,GPT2Tokenizer:()=>DA,GPTNeoXTokenizer:()=>xs,GemmaTokenizer:()=>ui,Grok1Tokenizer:()=>La,HerbertTokenizer:()=>LA,LlamaTokenizer:()=>Da,M2M100Tokenizer:()=>yn,MBart50Tokenizer:()=>Dr,MBartTokenizer:()=>xr,MPNetTokenizer:()=>Ka,MarianTokenizer:()=>En,MgpstrTokenizer:()=>Za,MobileBertTokenizer:()=>OA,NllbTokenizer:()=>ls,NougatTokenizer:()=>fi,PreTrainedTokenizer:()=>rA,Qwen2Tokenizer:()=>ya,RoFormerTokenizer:()=>Yr,RobertaTokenizer:()=>Ls,SiglipTokenizer:()=>Pn,SpeechT5Tokenizer:()=>oa,SqueezeBertTokenizer:()=>AA,T5Tokenizer:()=>WA,TokenizerModel:()=>d,VitsTokenizer:()=>_a,Wav2Vec2CTCTokenizer:()=>Ya,WhisperTokenizer:()=>Qn,XLMRobertaTokenizer:()=>Ga,XLMTokenizer:()=>NA,is_chinese_char:()=>H});var o=s("./src/utils/generic.js"),f=s("./src/utils/core.js"),p=s("./src/utils/hub.js"),C=s("./src/utils/maths.js"),b=s("./src/utils/tensor.js"),k=s("./src/utils/data-structures.js"),E=s("./node_modules/@huggingface/jinja/dist/index.js"),B=s("./src/models/whisper/common_whisper.js");async function G(_t,ye){const Ze=await Promise.all([(0,p.getModelJSON)(_t,"tokenizer.json",!0,ye),(0,p.getModelJSON)(_t,"tokenizer_config.json",!0,ye)]);return ye.legacy!==null&&(Ze[1].legacy=ye.legacy),Ze}function D(_t,ye=!0){if(_t.Regex!==void 0){let Ze=_t.Regex.replace(/\\([#&~])/g,"$1");for(const[ut,mt]of v)Ze=Ze.replaceAll(ut,mt);return new RegExp(Ze,"gu")}if(_t.String!==void 0){const Ze=(0,f.escapeRegExp)(_t.String);return new RegExp(ye?Ze:`(${Ze})`,"gu")}return console.warn("Unknown pattern type:",_t),null}function _(_t){return new Map(Object.entries(_t))}function O(_t){const ye=_t.dims;switch(ye.length){case 1:return _t.tolist();case 2:if(ye[0]!==1)throw new Error("Unable to decode tensor with `batch size !== 1`. Use `tokenizer.batch_decode(...)` for batched inputs.");return _t.tolist()[0];default:throw new Error(`Expected tensor to have 1-2 dimensions, got ${ye.length}.`)}}function j(_t){return _t.replace(/ \./g,".").replace(/ \?/g,"?").replace(/ \!/g,"!").replace(/ ,/g,",").replace(/ \' /g,"'").replace(/ n\'t/g,"n't").replace(/ \'m/g,"'m").replace(/ \'s/g,"'s").replace(/ \'ve/g,"'ve").replace(/ \'re/g,"'re")}function U(_t){return _t.replace(new RegExp("\\p{M}","gu"),"")}function H(_t){return _t>=19968&&_t<=40959||_t>=13312&&_t<=19903||_t>=131072&&_t<=173791||_t>=173824&&_t<=177983||_t>=177984&&_t<=178207||_t>=178208&&_t<=183983||_t>=63744&&_t<=64255||_t>=194560&&_t<=195103}const Z="\\p{P}\\u0021-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E",X=new RegExp(`^[${Z}]+$`,"gu"),g=".,!?…。,、।۔،",v=new Map([["(?i:'s|'t|'re|'ve|'m|'ll|'d)","(?:'([sS]|[tT]|[rR][eE]|[vV][eE]|[mM]|[lL][lL]|[dD]))"],[` ?[^(\\s|[${g}])]+`,` ?[^\\s${g}]+`]]);class e{constructor(ye){this.content=ye.content,this.id=ye.id,this.single_word=ye.single_word??!1,this.lstrip=ye.lstrip??!1,this.rstrip=ye.rstrip??!1,this.special=ye.special??!1,this.normalized=ye.normalized??null}}class d extends o.Callable{constructor(ye){super(),this.config=ye,this.vocab=[],this.tokens_to_ids=new Map,this.unk_token_id=void 0,this.unk_token=void 0,this.end_of_word_suffix=void 0,this.fuse_unk=this.config.fuse_unk??!1}static fromConfig(ye,...Ze){switch(ye.type){case"WordPiece":return new T(ye);case"Unigram":return new re(ye,...Ze);case"BPE":return new Ce(ye);default:if(ye.vocab)return Array.isArray(ye.vocab)?new re(ye,...Ze):typeof ye.vocab=="object"&&ye.continuing_subword_prefix&&ye.unk_token?new T(ye):new he(ye,...Ze);throw new Error(`Unknown TokenizerModel type: ${ye.type}`)}}_call(ye){return ye=this.encode(ye),this.fuse_unk&&(ye=function(Ze,ut,mt){const yt=[];let Rt=0;for(;Rt<Ze.length;)if(yt.push(Ze[Rt]),(ut.get(Ze[Rt])??mt)===mt)for(;++Rt<Ze.length&&(ut.get(Ze[Rt])??mt)===mt;)ut.get(yt.at(-1))!==mt&&(yt[yt.length-1]+=Ze[Rt]);else++Rt;return yt}(ye,this.tokens_to_ids,this.unk_token_id)),ye}encode(ye){throw Error("encode should be implemented in subclass.")}convert_tokens_to_ids(ye){return ye.map(Ze=>this.tokens_to_ids.get(Ze)??this.unk_token_id)}convert_ids_to_tokens(ye){return ye.map(Ze=>this.vocab[Ze]??this.unk_token)}}class T extends d{constructor(ye){super(ye),this.tokens_to_ids=_(ye.vocab),this.unk_token_id=this.tokens_to_ids.get(ye.unk_token),this.unk_token=ye.unk_token,this.max_input_chars_per_word=ye.max_input_chars_per_word??100,this.vocab=new Array(this.tokens_to_ids.size);for(const[Ze,ut]of this.tokens_to_ids)this.vocab[ut]=Ze}encode(ye){const Ze=[];for(const ut of ye){const mt=[...ut];if(mt.length>this.max_input_chars_per_word){Ze.push(this.unk_token);continue}let yt=!1,Rt=0;const cA=[];for(;Rt<mt.length;){let gt=mt.length,mA=null;for(;Rt<gt;){let lA=mt.slice(Rt,gt).join("");if(Rt>0&&(lA=this.config.continuing_subword_prefix+lA),this.tokens_to_ids.has(lA)){mA=lA;break}--gt}if(mA===null){yt=!0;break}cA.push(mA),Rt=gt}yt?Ze.push(this.unk_token):Ze.push(...cA)}return Ze}}class re extends d{constructor(ye,Ze){super(ye);const ut=ye.vocab.length;this.vocab=new Array(ut),this.scores=new Array(ut);for(let mt=0;mt<ut;++mt)[this.vocab[mt],this.scores[mt]]=ye.vocab[mt];
2809this.unk_token_id=ye.unk_id,this.unk_token=this.vocab[ye.unk_id],this.tokens_to_ids=new Map(this.vocab.map((mt,yt)=>[mt,yt])),this.bos_token=" ",this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=Ze.eos_token,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.unk_token=this.vocab[this.unk_token_id],this.minScore=(0,C.min)(this.scores)[0],this.unk_score=this.minScore-10,this.scores[this.unk_token_id]=this.unk_score,this.trie=new k.CharTrie,this.trie.extend(this.vocab),this.fuse_unk=!0}populateNodes(ye){const Ze=ye.chars;let ut=0;for(;ut<Ze.length;){let mt=!1;const yt=Ze.slice(ut).join(""),Rt=this.trie.commonPrefixSearch(yt);for(const cA of Rt){const gt=this.tokens_to_ids.get(cA),mA=this.scores[gt],lA=(0,f.len)(cA);ye.insert(ut,lA,mA,gt),mt||lA!==1||(mt=!0)}mt||ye.insert(ut,1,this.unk_score,this.unk_token_id),ut+=1}}tokenize(ye){const Ze=new k.TokenLattice(ye,this.bos_token_id,this.eos_token_id);return this.populateNodes(Ze),Ze.tokens()}encode(ye){const Ze=[];for(const ut of ye){const mt=this.tokenize(ut);Ze.push(...mt)}return Ze}}const N=(()=>{const _t=[...Array.from({length:94},(mt,yt)=>yt+33),...Array.from({length:12},(mt,yt)=>yt+161),...Array.from({length:82},(mt,yt)=>yt+174)],ye=_t.slice();let Ze=0;for(let mt=0;mt<256;++mt)_t.includes(mt)||(_t.push(mt),ye.push(256+Ze),Ze+=1);const ut=ye.map(mt=>String.fromCharCode(mt));return Object.fromEntries(_t.map((mt,yt)=>[mt,ut[yt]]))})(),F=(0,f.reverseDictionary)(N);class Ce extends d{constructor(ye){super(ye),this.tokens_to_ids=_(ye.vocab),this.unk_token_id=this.tokens_to_ids.get(ye.unk_token),this.unk_token=ye.unk_token,this.vocab=new Array(this.tokens_to_ids.size);for(const[ut,mt]of this.tokens_to_ids)this.vocab[mt]=ut;const Ze=Array.isArray(ye.merges[0]);this.merges=Ze?ye.merges:ye.merges.map(ut=>ut.split(" ",2)),this.bpe_ranks=new Map(this.merges.map((ut,mt)=>[JSON.stringify(ut),mt])),this.end_of_word_suffix=ye.end_of_word_suffix,this.continuing_subword_suffix=ye.continuing_subword_suffix??null,this.byte_fallback=this.config.byte_fallback??!1,this.byte_fallback&&(this.text_encoder=new TextEncoder),this.ignore_merges=this.config.ignore_merges??!1,this.cache=new Map}bpe(ye){if(ye.length===0)return[];const Ze=this.cache.get(ye);if(Ze!==void 0)return Ze;const ut=Array.from(ye);this.end_of_word_suffix&&(ut[ut.length-1]+=this.end_of_word_suffix);let mt=[];if(ut.length>1){const yt=new k.PriorityQueue((gt,mA)=>gt.score<mA.score);let Rt={token:ut[0],bias:0,prev:null,next:null},cA=Rt;for(let gt=1;gt<ut.length;++gt){const mA={bias:gt/ut.length,token:ut[gt],prev:cA,next:null};cA.next=mA,this._add_node(yt,cA),cA=mA}for(;!yt.isEmpty();){const gt=yt.pop();if(gt.deleted||!gt.next||gt.next.deleted)continue;if(gt.deleted=!0,gt.next.deleted=!0,gt.prev){const lA={...gt.prev};gt.prev.deleted=!0,gt.prev=lA,lA.prev?lA.prev.next=lA:Rt=lA}const mA={token:gt.token+gt.next.token,bias:gt.bias,prev:gt.prev,next:gt.next.next};mA.prev?(mA.prev.next=mA,this._add_node(yt,mA.prev)):Rt=mA,mA.next&&(mA.next.prev=mA,this._add_node(yt,mA))}for(let gt=Rt;gt!==null;gt=gt.next)mt.push(gt.token)}else mt=ut;if(this.continuing_subword_suffix)for(let yt=0;yt<mt.length-1;++yt)mt[yt]+=this.continuing_subword_suffix;return this.cache.set(ye,mt),mt}_add_node(ye,Ze){const ut=this.bpe_ranks.get(JSON.stringify([Ze.token,Ze.next.token]));ut!==void 0&&(Ze.score=ut+Ze.bias,ye.push(Ze))}encode(ye){const Ze=[];for(const ut of ye){if(this.ignore_merges&&this.tokens_to_ids.has(ut)){Ze.push(ut);continue}const mt=this.bpe(ut);for(const yt of mt)if(this.tokens_to_ids.has(yt))Ze.push(yt);else if(this.byte_fallback){const Rt=Array.from(this.text_encoder.encode(yt)).map(cA=>`<0x${cA.toString(16).toUpperCase().padStart(2,"0")}>`);Rt.every(cA=>this.tokens_to_ids.has(cA))?Ze.push(...Rt):Ze.push(this.unk_token)}else Ze.push(this.unk_token)}return Ze}}class he extends d{constructor(ye,Ze){super(ye),this.tokens_to_ids=_(Ze.target_lang?ye.vocab[Ze.target_lang]:ye.vocab),this.bos_token=Ze.bos_token,this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=Ze.eos_token,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.pad_token=Ze.pad_token,this.pad_token_id=this.tokens_to_ids.get(this.pad_token),this.unk_token=Ze.unk_token,this.unk_token_id=this.tokens_to_ids.get(this.unk_token),this.vocab=new Array(this.tokens_to_ids.size);for(const[ut,mt]of this.tokens_to_ids)this.vocab[mt]=ut}encode(ye){return ye}}class ce extends o.Callable{constructor(ye){super(),this.config=ye}static fromConfig(ye){if(ye===null)return null;
2809switch(ye.type){case"BertNormalizer":return new it(ye);case"Precompiled":return new gA(ye);case"Sequence":return new pe(ye);case"Replace":return new ge(ye);case"NFC":return new Me(ye);case"NFKC":return new Ue(ye);case"NFKD":return new Ne(ye);case"Strip":return new de(ye);case"StripAccents":return new me(ye);case"Lowercase":return new we(ye);case"Prepend":return new _e(ye);default:throw new Error(`Unknown Normalizer type: ${ye.type}`)}}normalize(ye){throw Error("normalize should be implemented in subclass.")}_call(ye){return this.normalize(ye)}}class ge extends ce{normalize(ye){const Ze=D(this.config.pattern);return Ze===null?ye:ye.replaceAll(Ze,this.config.content)}}class Me extends ce{normalize(ye){return ye=ye.normalize("NFC")}}class Ue extends ce{normalize(ye){return ye=ye.normalize("NFKC")}}class Ne extends ce{normalize(ye){return ye=ye.normalize("NFKD")}}class de extends ce{normalize(ye){return this.config.strip_left&&this.config.strip_right?ye=ye.trim():(this.config.strip_left&&(ye=ye.trimStart()),this.config.strip_right&&(ye=ye.trimEnd())),ye}}class me extends ce{normalize(ye){return ye=U(ye)}}class we extends ce{normalize(ye){return ye=ye.toLowerCase()}}class _e extends ce{normalize(ye){return ye=this.config.prepend+ye}}class pe extends ce{constructor(ye){super(ye),this.normalizers=ye.normalizers.map(Ze=>ce.fromConfig(Ze))}normalize(ye){return this.normalizers.reduce((Ze,ut)=>ut.normalize(Ze),ye)}}class it extends ce{_tokenize_chinese_chars(ye){const Ze=[];for(let ut=0;ut<ye.length;++ut){const mt=ye[ut];H(mt.charCodeAt(0))?(Ze.push(" "),Ze.push(mt),Ze.push(" ")):Ze.push(mt)}return Ze.join("")}stripAccents(ye){return ye.normalize("NFD").replace(new RegExp("\\p{Mn}","gu"),"")}_is_control(ye){switch(ye){case"	":case`
2810`:case"\r":return!1;default:return new RegExp("^\\p{Cc}|\\p{Cf}|\\p{Co}|\\p{Cs}$","u").test(ye)}}_clean_text(ye){const Ze=[];for(const ut of ye){const mt=ut.charCodeAt(0);mt===0||mt===65533||this._is_control(ut)||(/^\s$/.test(ut)?Ze.push(" "):Ze.push(ut))}return Ze.join("")}normalize(ye){return this.config.clean_text&&(ye=this._clean_text(ye)),this.config.handle_chinese_chars&&(ye=this._tokenize_chinese_chars(ye)),this.config.lowercase?(ye=ye.toLowerCase(),this.config.strip_accents!==!1&&(ye=this.stripAccents(ye))):this.config.strip_accents&&(ye=this.stripAccents(ye)),ye}}class We extends o.Callable{static fromConfig(ye){if(ye===null)return null;switch(ye.type){case"BertPreTokenizer":return new ot(ye);case"Sequence":return new tA(ye);case"Whitespace":return new oA(ye);case"WhitespaceSplit":return new nA(ye);case"Metaspace":return new eA(ye);case"ByteLevel":return new pt(ye);case"Split":return new ct(ye);case"Punctuation":return new Re(ye);case"Digits":return new tt(ye);case"Replace":return new IA(ye);default:throw new Error(`Unknown PreTokenizer type: ${ye.type}`)}}pre_tokenize_text(ye,Ze){throw Error("pre_tokenize_text should be implemented in subclass.")}pre_tokenize(ye,Ze){return(Array.isArray(ye)?ye.map(ut=>this.pre_tokenize_text(ut,Ze)):this.pre_tokenize_text(ye,Ze)).flat()}_call(ye,Ze){return this.pre_tokenize(ye,Ze)}}class ot extends We{constructor(ye){super(),this.pattern=new RegExp(`[^\\s${Z}]+|[${Z}]`,"gu")}pre_tokenize_text(ye,Ze){return ye.trim().match(this.pattern)||[]}}class pt extends We{constructor(ye){super(),this.config=ye,this.add_prefix_space=this.config.add_prefix_space,this.trim_offsets=this.config.trim_offsets,this.use_regex=this.config.use_regex??!0,this.pattern=new RegExp("'s|'t|'re|'ve|'m|'ll|'d| ?\\p{L}+| ?\\p{N}+| ?[^\\s\\p{L}\\p{N}]+|\\s+(?!\\S)|\\s+","gu"),this.byte_encoder=N,this.text_encoder=new TextEncoder}pre_tokenize_text(ye,Ze){return this.add_prefix_space&&!ye.startsWith(" ")&&(ye=" "+ye),(this.use_regex?ye.match(this.pattern)||[]:[ye]).map(ut=>Array.from(this.text_encoder.encode(ut),mt=>this.byte_encoder[mt]).join(""))}}class ct extends We{constructor(ye){super(),this.config=ye,this.pattern=D(this.config.pattern,this.config.invert)}pre_tokenize_text(ye,Ze){var ut;return this.pattern===null?[]:this.config.invert?ye.match(this.pattern)||[]:((ut=this.config.behavior)==null?void 0:ut.toLowerCase())==="removed"?ye.split(this.pattern).filter(mt=>mt):function(mt,yt){const Rt=[];let cA=0;for(const gt of mt.matchAll(yt)){const mA=gt[0];cA<gt.index&&Rt.push(mt.slice(cA,gt.index)),mA.length>0&&Rt.push(mA),cA=gt.index+mA.length}return cA<mt.length&&Rt.push(mt.slice(cA)),Rt}(ye,this.pattern)}}class Re extends We{constructor(ye){super(),this.config=ye,this.pattern=new RegExp(`[^${Z}]+|[${Z}]+`,"gu")}pre_tokenize_text(ye,Ze){return ye.match(this.pattern)||[]}}class tt extends We{constructor(ye){super(),this.config=ye;const Ze="[^\\d]+|\\d"+(this.config.individual_digits?"":"+");this.pattern=new RegExp(Ze,"gu")}pre_tokenize_text(ye,Ze){return ye.match(this.pattern)||[]}}class It extends o.Callable{constructor(ye){super(),this.config=ye}static fromConfig(ye){if(ye===null)return null;switch(ye.type){case"TemplateProcessing":return new At(ye);case"ByteLevel":return new Bt(ye);case"RobertaProcessing":return new ze(ye);case"BertProcessing":return new wt(ye);case"Sequence":return new Ft(ye);default:throw new Error(`Unknown PostProcessor type: ${ye.type}`)}}post_process(ye,...Ze){throw Error("post_process should be implemented in subclass.")}_call(ye,...Ze){return this.post_process(ye,...Ze)}}class wt extends It{constructor(ye){super(ye),this.cls=ye.cls[0],this.sep=ye.sep[0]}post_process(ye,Ze=null,{add_special_tokens:ut=!0}={}){ut&&(ye=(0,f.mergeArrays)([this.cls],ye,[this.sep]));let mt=new Array(ye.length).fill(0);if(Ze!==null){const yt=ut&&this instanceof ze?[this.sep]:[],Rt=ut?[this.sep]:[];ye=(0,f.mergeArrays)(ye,yt,Ze,Rt),mt=(0,f.mergeArrays)(mt,new Array(Ze.length+yt.length+Rt.length).fill(1))}return{tokens:ye,token_type_ids:mt}}}class ze extends wt{}class At extends It{constructor(ye){super(ye),this.single=ye.single,this.pair=ye.pair}post_process(ye,Ze=null,{add_special_tokens:ut=!0}={}){const mt=Ze===null?this.single:this.pair;let yt=[],Rt=[];
2810for(const cA of mt)"SpecialToken"in cA?ut&&(yt.push(cA.SpecialToken.id),Rt.push(cA.SpecialToken.type_id)):"Sequence"in cA&&(cA.Sequence.id==="A"?(yt=(0,f.mergeArrays)(yt,ye),Rt=(0,f.mergeArrays)(Rt,new Array(ye.length).fill(cA.Sequence.type_id))):cA.Sequence.id==="B"&&(yt=(0,f.mergeArrays)(yt,Ze),Rt=(0,f.mergeArrays)(Rt,new Array(Ze.length).fill(cA.Sequence.type_id))));return{tokens:yt,token_type_ids:Rt}}}class Bt extends It{post_process(ye,Ze=null){return Ze&&(ye=(0,f.mergeArrays)(ye,Ze)),{tokens:ye}}}class Ft extends It{constructor(ye){super(ye),this.processors=ye.processors.map(Ze=>It.fromConfig(Ze))}post_process(ye,Ze=null,ut={}){let mt;for(const yt of this.processors)if(yt instanceof Bt)ye=yt.post_process(ye).tokens,Ze&&(Ze=yt.post_process(Ze).tokens);else{const Rt=yt.post_process(ye,Ze,ut);ye=Rt.tokens,mt=Rt.token_type_ids}return{tokens:ye,token_type_ids:mt}}}class St extends o.Callable{constructor(ye){super(),this.config=ye,this.added_tokens=[],this.end_of_word_suffix=null,this.trim_offsets=ye.trim_offsets}static fromConfig(ye){if(ye===null)return null;switch(ye.type){case"WordPiece":return new Qe(ye);case"Metaspace":return new Lt(ye);case"ByteLevel":return new Je(ye);case"Replace":return new oe(ye);case"ByteFallback":return new zt(ye);case"Fuse":return new Ie(ye);case"Strip":return new fe(ye);case"Sequence":return new lt(ye);case"CTC":return new rt(ye);case"BPEDecoder":return new xt(ye);default:throw new Error(`Unknown Decoder type: ${ye.type}`)}}_call(ye){return this.decode(ye)}decode(ye){return this.decode_chain(ye).join("")}decode_chain(ye){throw Error("`decode_chain` should be implemented in subclass.")}}class oe extends St{decode_chain(ye){const Ze=D(this.config.pattern);return Ze===null?ye:ye.map(ut=>ut.replaceAll(Ze,this.config.content))}}class zt extends St{constructor(ye){super(ye),this.text_decoder=new TextDecoder}decode_chain(ye){const Ze=[];let ut=[];for(const mt of ye){let yt=null;if(mt.length===6&&mt.startsWith("<0x")&&mt.endsWith(">")){const Rt=parseInt(mt.slice(3,5),16);isNaN(Rt)||(yt=Rt)}if(yt!==null)ut.push(yt);else{if(ut.length>0){const Rt=this.text_decoder.decode(Uint8Array.from(ut));Ze.push(Rt),ut=[]}Ze.push(mt)}}if(ut.length>0){const mt=this.text_decoder.decode(Uint8Array.from(ut));Ze.push(mt),ut=[]}return Ze}}class Ie extends St{decode_chain(ye){return[ye.join("")]}}class fe extends St{constructor(ye){super(ye),this.content=this.config.content,this.start=this.config.start,this.stop=this.config.stop}decode_chain(ye){return ye.map(Ze=>{let ut=0;for(let yt=0;yt<this.start&&Ze[yt]===this.content;++yt)ut=yt+1;let mt=Ze.length;for(let yt=0;yt<this.stop;++yt){const Rt=Ze.length-yt-1;if(Ze[Rt]!==this.content)break;mt=Rt}return Ze.slice(ut,mt)})}}class Qe extends St{constructor(ye){super(ye),this.cleanup=ye.cleanup}decode_chain(ye){return ye.map((Ze,ut)=>(ut!==0&&(Ze=Ze.startsWith(this.config.prefix)?Ze.replace(this.config.prefix,""):" "+Ze),this.cleanup&&(Ze=j(Ze)),Ze))}}class Je extends St{constructor(ye){super(ye),this.byte_decoder=F,this.text_decoder=new TextDecoder("utf-8",{fatal:!1,ignoreBOM:!0}),this.end_of_word_suffix=null}convert_tokens_to_string(ye){const Ze=ye.join(""),ut=new Uint8Array([...Ze].map(mt=>this.byte_decoder[mt]));return this.text_decoder.decode(ut)}decode_chain(ye){const Ze=[];let ut=[];for(const mt of ye)this.added_tokens.find(yt=>yt.content===mt)!==void 0?(ut.length>0&&(Ze.push(this.convert_tokens_to_string(ut)),ut=[]),Ze.push(mt)):ut.push(mt);return ut.length>0&&Ze.push(this.convert_tokens_to_string(ut)),Ze}}class rt extends St{constructor(ye){super(ye),this.pad_token=this.config.pad_token,this.word_delimiter_token=this.config.word_delimiter_token,this.cleanup=this.config.cleanup}convert_tokens_to_string(ye){if(ye.length===0)return"";const Ze=[ye[0]];for(let mt=1;mt<ye.length;++mt)ye[mt]!==Ze.at(-1)&&Ze.push(ye[mt]);let ut=Ze.filter(mt=>mt!==this.pad_token).join("");return this.cleanup&&(ut=j(ut).replaceAll(this.word_delimiter_token," ").trim()),ut}decode_chain(ye){return[this.convert_tokens_to_string(ye)]}}class lt extends St{constructor(ye){super(ye),this.decoders=ye.decoders.map(Ze=>St.fromConfig(Ze))}decode_chain(ye){return this.decoders.reduce((Ze,ut)=>ut.decode_chain(Ze),ye)}}class xt extends St{constructor(ye){super(ye),this.suffix=this.config.suffix}decode_chain(ye){return ye.map((Ze,ut)=>Ze.replaceAll(this.suffix,ut===ye.length-1?"":" "))}}class jt extends St{decode_chain(ye){let Ze="";for(let ut=1;ut<ye.length;ut+=2)Ze+=ye[ut];return[Ze]}}class eA extends We{constructor(ye){super(),this.addPrefixSpace=ye.add_prefix_space,this.replacement=ye.replacement,this.strRep=ye.str_rep||this.replacement,this.prepend_scheme=ye.prepend_scheme??"always"}pre_tokenize_text(ye,{section_index:Ze}={}){let ut=ye.replaceAll(" ",this.strRep);return this.addPrefixSpace&&!ut.startsWith(this.replacement)&&(this.prepend_scheme==="always"||this.prepend_scheme==="first"&&Ze===0)&&(ut=this.strRep+ut),[ut]}}class Lt extends St{constructor(ye){super(ye),this.addPrefixSpace=ye.add_prefix_space,this.replacement=ye.replacement}decode_chain(ye){const Ze=[];for(let ut=0;ut<ye.length;++ut){let mt=ye[ut].replaceAll(this.replacement," ");this.addPrefixSpace&&ut==0&&mt.startsWith(" ")&&(mt=mt.substring(1)),Ze.push(mt)}return Ze}}class gA extends ce{constructor(ye){super(ye),this.charsmap=ye.precompiled_charsmap}normalize(ye){return(ye=(ye=ye.replace(/[\u0001-\u0008\u000B\u000E-\u001F\u007F\u008F\u009F]/gm,"")).replace(/[\u0009\u000A\u000C\u000D\u00A0\u1680\u2000-\u200F\u2028\u2029\u202F\u205F\u2581\u3000\uFEFF\uFFFD]/gm," ")).includes("~")?ye=ye.split("~").map(ut=>
2810ut.normalize("NFKC")).join("~"):ye=ye.normalize("NFKC"),ye}}class tA extends We{constructor(ye){super(),this.tokenizers=ye.pretokenizers.map(Ze=>We.fromConfig(Ze))}pre_tokenize_text(ye,Ze){return this.tokenizers.reduce((ut,mt)=>mt.pre_tokenize(ut,Ze),[ye])}}class oA extends We{constructor(ye){super()}pre_tokenize_text(ye,Ze){return ye.match(/\w+|[^\w\s]+/g)||[]}}class nA extends We{constructor(ye){super()}pre_tokenize_text(ye,Ze){return function(ut){return ut.match(/\S+/g)||[]}(ye)}}class IA extends We{constructor(ye){super(),this.config=ye,this.pattern=D(this.config.pattern),this.content=this.config.content}pre_tokenize_text(ye,Ze){return this.pattern===null?[ye]:[ye.replaceAll(this.pattern,this.config.content)]}}const EA=["bos_token","eos_token","unk_token","sep_token","pad_token","cls_token","mask_token"];function Gt(_t,ye,Ze,ut){for(const mt of Object.keys(_t)){const yt=ye-_t[mt].length,Rt=Ze(mt),cA=new Array(yt).fill(Rt);_t[mt]=ut==="right"?(0,f.mergeArrays)(_t[mt],cA):(0,f.mergeArrays)(cA,_t[mt])}}function bA(_t,ye){for(const Ze of Object.keys(_t))_t[Ze].length=ye}class rA extends o.Callable{constructor(Ze,ut){super();Ct(this,"return_token_type_ids",!1);Ct(this,"padding_side","right");this._tokenizer_config=ut,this.normalizer=ce.fromConfig(Ze.normalizer),this.pre_tokenizer=We.fromConfig(Ze.pre_tokenizer),this.model=d.fromConfig(Ze.model,ut),this.post_processor=It.fromConfig(Ze.post_processor),this.decoder=St.fromConfig(Ze.decoder),this.special_tokens=[],this.all_special_ids=[],this.added_tokens=[];for(const mt of Ze.added_tokens){const yt=new e(mt);this.added_tokens.push(yt),this.model.tokens_to_ids.set(yt.content,yt.id),this.model.vocab[yt.id]=yt.content,yt.special&&(this.special_tokens.push(yt.content),this.all_special_ids.push(yt.id))}if(this.additional_special_tokens=ut.additional_special_tokens??[],this.special_tokens.push(...this.additional_special_tokens),this.special_tokens=[...new Set(this.special_tokens)],this.decoder&&(this.decoder.added_tokens=this.added_tokens,this.decoder.end_of_word_suffix=this.model.end_of_word_suffix),this.added_tokens_regex=this.added_tokens.length>0?new RegExp(this.added_tokens.slice().sort((mt,yt)=>yt.content.length-mt.content.length).map(mt=>`${mt.lstrip?"\\s*":""}(${(0,f.escapeRegExp)(mt.content)})${mt.rstrip?"\\s*":""}`).join("|")):null,this.mask_token=this.getToken("mask_token"),this.mask_token_id=this.model.tokens_to_ids.get(this.mask_token),this.pad_token=this.getToken("pad_token","eos_token"),this.pad_token_id=this.model.tokens_to_ids.get(this.pad_token),this.sep_token=this.getToken("sep_token"),this.sep_token_id=this.model.tokens_to_ids.get(this.sep_token),this.unk_token=this.getToken("unk_token"),this.unk_token_id=this.model.tokens_to_ids.get(this.unk_token),this.bos_token=this.getToken("bos_token"),this.bos_token_id=this.model.tokens_to_ids.get(this.bos_token),this.eos_token=this.getToken("eos_token"),this.eos_token_id=this.model.tokens_to_ids.get(this.eos_token),this.model_max_length=ut.model_max_length,this.remove_space=ut.remove_space,this.clean_up_tokenization_spaces=ut.clean_up_tokenization_spaces??!0,this.do_lowercase_and_remove_accent=ut.do_lowercase_and_remove_accent??!1,ut.padding_side&&(this.padding_side=ut.padding_side),this.legacy=!1,this.chat_template=ut.chat_template??null,Array.isArray(this.chat_template)){const mt=Object.create(null);for(const{name:yt,template:Rt}of this.chat_template){if(typeof yt!="string"||typeof Rt!="string")throw new Error('Chat template must be a list of objects with "name" and "template" properties');mt[yt]=Rt}this.chat_template=mt}this._compiled_template_cache=new Map}getToken(...Ze){for(const ut of Ze){const mt=this._tokenizer_config[ut];if(mt){if(typeof mt=="object"){if(mt.__type==="AddedToken")return mt.content;throw Error(`Unknown token: ${mt}`)}return mt}}return null}static async from_pretrained(Ze,{progress_callback:ut=null,config:mt=null,cache_dir:yt=null,local_files_only:Rt=!1,revision:cA="main",legacy:gt=null}={}){return new this(...await G(Ze,{progress_callback:ut,config:mt,cache_dir:yt,local_files_only:Rt,revision:cA,legacy:gt}))}_call(Ze,{text_pair:ut=null,add_special_tokens:mt=!0,padding:yt=!1,truncation:Rt=null,max_length:cA=null,return_tensor:gt=!0,return_token_type_ids:mA=null}={}){const lA=Array.isArray(Ze);let lr;if(lA){if(Ze.length===0)throw Error("text array must be non-empty");if(ut!==null){if(!Array.isArray(ut))throw Error("text_pair must also be an array");if(Ze.length!==ut.length)throw Error("text and text_pair must have the same length");lr=Ze.map((Tr,Or)=>this._encode_plus(Tr,{text_pair:ut[Or],add_special_tokens:mt,return_token_type_ids:mA}))}else lr=Ze.map(Tr=>this._encode_plus(Tr,{add_special_tokens:mt,return_token_type_ids:mA}))}else{if(Ze==null)throw Error("text may not be null or undefined");if(Array.isArray(ut))throw Error("When specifying `text_pair`, since `text` is a string, `text_pair` must also be a string (i.e., not an array).");lr=[this._encode_plus(Ze,{text_pair:ut,add_special_tokens:mt,return_token_type_ids:mA})]}if(cA===null?cA=yt==="max_length"?this.model_max_length:(0,C.max)(lr.map(Tr=>Tr.input_ids.length))[0]:Rt||console.warn("Truncation was not explicitly activated but `max_length` is provided a specific value, please use `truncation=true` to explicitly truncate examples to max length."),cA=Math.min(cA,this.model_max_length??1/0),yt||Rt)for(let Tr=0;Tr<lr.length;++Tr)lr[Tr].input_ids.length!==cA&&(lr[Tr].input_ids.length>cA?Rt&&bA(lr[Tr],cA):yt&&Gt(lr[Tr],cA,Or=>Or==="input_ids"?this.pad_token_id:0,this.padding_side));const Wr={};if(gt){if((!yt||!Rt)&&lr.some(Or=>{var fr;for(const kA of Object.keys(Or))if(Or[kA].length!==((fr=lr[0][kA])==null?void 0:fr.length))return!0;return!1}))throw Error("Unable to create tensor, you should probably activate truncation and/or padding with 'padding=true' and 'truncation=true' to have batched tensors with the same length.");const Tr=[lr.length,lr[0].input_ids.length];for(const Or of Object.keys(lr[0]))Wr[Or]=new b.Tensor("int64",BigInt64Array.from(lr.flatMap(fr=>fr[Or]).map(BigInt)),Tr)}else{for(const Tr of Object.keys(lr[0]))Wr[Tr]=lr.map(Or=>Or[Tr]);if(!lA)for(const Tr of Object.keys(Wr))Wr[Tr]=Wr[Tr][0]}return Wr}_encode_text(Ze){return Ze===null?null:(this.added_tokens_regex?Ze.split(this.added_tokens_regex).filter(yt=>yt):[Ze]).map((yt,Rt)=>{if(this.added_tokens.find(gt=>gt.content===yt)!==void 0)return yt;
2810{if(this.remove_space===!0&&(yt=yt.trim().split(/\s+/).join(" ")),this.do_lowercase_and_remove_accent&&(yt=function(mA){return U(mA.toLowerCase())}(yt)),this.normalizer!==null&&(yt=this.normalizer(yt)),yt.length===0)return[];const gt=this.pre_tokenizer!==null?this.pre_tokenizer(yt,{section_index:Rt}):[yt];return this.model(gt)}}).flat()}_encode_plus(Ze,{text_pair:ut=null,add_special_tokens:mt=!0,return_token_type_ids:yt=null}={}){const{tokens:Rt,token_type_ids:cA}=this._tokenize_helper(Ze,{pair:ut,add_special_tokens:mt}),gt=this.model.convert_tokens_to_ids(Rt),mA={input_ids:gt,attention_mask:new Array(gt.length).fill(1)};return(yt??this.return_token_type_ids)&&cA&&(mA.token_type_ids=cA),mA}_tokenize_helper(Ze,{pair:ut=null,add_special_tokens:mt=!1}={}){const yt=this._encode_text(Ze),Rt=this._encode_text(ut);return this.post_processor?this.post_processor(yt,Rt,{add_special_tokens:mt}):{tokens:(0,f.mergeArrays)(yt??[],Rt??[])}}tokenize(Ze,{pair:ut=null,add_special_tokens:mt=!1}={}){return this._tokenize_helper(Ze,{pair:ut,add_special_tokens:mt}).tokens}encode(Ze,{text_pair:ut=null,add_special_tokens:mt=!0,return_token_type_ids:yt=null}={}){return this._encode_plus(Ze,{text_pair:ut,add_special_tokens:mt,return_token_type_ids:yt}).input_ids}batch_decode(Ze,ut={}){return Ze instanceof b.Tensor&&(Ze=Ze.tolist()),Ze.map(mt=>this.decode(mt,ut))}decode(Ze,ut={}){if(Ze instanceof b.Tensor&&(Ze=O(Ze)),!Array.isArray(Ze)||Ze.length===0||!(0,f.isIntegralNumber)(Ze[0]))throw Error("token_ids must be a non-empty array of integers.");return this.decode_single(Ze,ut)}decode_single(Ze,{skip_special_tokens:ut=!1,clean_up_tokenization_spaces:mt=null}){let yt=this.model.convert_ids_to_tokens(Ze);ut&&(yt=yt.filter(cA=>!this.special_tokens.includes(cA)));let Rt=this.decoder?this.decoder(yt):yt.join(" ");return this.decoder&&this.decoder.end_of_word_suffix&&(Rt=Rt.replaceAll(this.decoder.end_of_word_suffix," "),ut&&(Rt=Rt.trim())),(mt??this.clean_up_tokenization_spaces)&&(Rt=j(Rt)),Rt}get_chat_template({chat_template:Ze=null,tools:ut=null}={}){if(this.chat_template&&typeof this.chat_template=="object"){const mt=this.chat_template;if(Ze!==null&&Object.hasOwn(mt,Ze))Ze=mt[Ze];else if(Ze===null)if(ut!==null&&"tool_use"in mt)Ze=mt.tool_use;else{if(!("default"in mt))throw Error(`This model has multiple chat templates with no default specified! Please either pass a chat template or the name of the template you wish to use to the 'chat_template' argument. Available template names are ${Object.keys(mt).sort()}.`);Ze=mt.default}}else if(Ze===null){if(!this.chat_template)throw Error("Cannot use apply_chat_template() because tokenizer.chat_template is not set and no template argument was passed! For information about writing templates and setting the tokenizer.chat_template attribute, please see the documentation at https://huggingface.co/docs/transformers/main/en/chat_templating");Ze=this.chat_template}return Ze}apply_chat_template(Ze,{tools:ut=null,documents:mt=null,chat_template:yt=null,add_generation_prompt:Rt=!1,tokenize:cA=!0,padding:gt=!1,truncation:mA=!1,max_length:lA=null,return_tensor:lr=!0,return_dict:Wr=!1,tokenizer_kwargs:Tr={},...Or}={}){if(typeof(yt=this.get_chat_template({chat_template:yt,tools:ut}))!="string")throw Error("chat_template must be a string, but got "+typeof yt);let fr=this._compiled_template_cache.get(yt);fr===void 0&&(fr=new E.Template(yt),this._compiled_template_cache.set(yt,fr));const kA=Object.create(null);for(const Qr of EA){const ga=this.getToken(Qr);ga&&(kA[Qr]=ga)}const QA=fr.render({messages:Ze,add_generation_prompt:Rt,tools:ut,documents:mt,...kA,...Or});if(cA){const Qr=this._call(QA,{add_special_tokens:!1,padding:gt,truncation:mA,max_length:lA,return_tensor:lr,...Tr});return Wr?Qr:Qr.input_ids}return QA}}class br extends rA{constructor(){super(...arguments);Ct(this,"return_token_type_ids",!0)}}class wA extends rA{constructor(){super(...arguments);Ct(this,"return_token_type_ids",!0)}}class OA extends rA{constructor(){super(...arguments);Ct(this,"return_token_type_ids",!0)}}class AA extends rA{constructor(){super(...arguments);Ct(this,"return_token_type_ids",!0)}}class iA extends rA{constructor(){super(...arguments);Ct(this,"return_token_type_ids",!0)}}class Jt extends rA{constructor(){super(...arguments);Ct(this,"return_token_type_ids",!0)}}class LA extends rA{constructor(){super(...arguments);Ct(this,"return_token_type_ids",!0)}}class Lr extends rA{constructor(){super(...arguments);Ct(this,"return_token_type_ids",!0)}}class Yr extends rA{constructor(){super(...arguments);Ct(this,"return_token_type_ids",!0)}}class Tt extends rA{}class MA extends rA{}class NA extends rA{constructor(Ze,ut){super(Ze,ut);Ct(this,"return_token_type_ids",!0);console.warn('WARNING: `XLMTokenizer` is not yet supported by Hugging Face\'s "fast" tokenizers library. Therefore, you may experience slightly inaccurate results.')}}class JA extends rA{constructor(){super(...arguments);Ct(this,"return_token_type_ids",!0)}}class WA extends rA{}class DA extends rA{}class Vr extends rA{}class xr extends rA{constructor(ye,Ze){super(ye,Ze),this.languageRegex=/^[a-z]{2}_[A-Z]{2}$/,this.language_codes=this.special_tokens.filter(ut=>this.languageRegex.test(ut)),this.lang_to_token=ut=>ut}_build_translation_inputs(ye,Ze,ut){return Va(this,ye,Ze,ut)}}class Dr extends xr{}class Ls extends rA{}class HA extends rA{}const ss="▁";class Da extends rA{constructor(Ze,ut){super(Ze,ut);Ct(this,"padding_side","left");this.legacy=ut.legacy??!0,this.legacy||(this.normalizer=null,this.pre_tokenizer=new eA({replacement:ss,add_prefix_space:!0,prepend_scheme:"first"}))}_encode_text(Ze){if(Ze===null)return null;if(this.legacy||Ze.length===0)return super._encode_text(Ze);let ut=super._encode_text(ss+Ze.replaceAll(ss," "));return ut.length>1&&ut[0]===ss&&this.special_tokens.includes(ut[1])&&(ut=ut.slice(1)),ut}}class dn extends rA{}class Ga extends rA{}class Ka extends rA{}class gn extends rA{}class xs extends rA{}class hn extends rA{}class ya extends rA{}class ui extends rA{}class La extends rA{}function Va(_t,ye,Ze,ut){if(!("language_codes"in _t)||!Array.isArray(_t.language_codes))throw new Error("Tokenizer must have `language_codes` attribute set and it should be an array of language ids.");
2810if(!("languageRegex"in _t&&_t.languageRegex instanceof RegExp))throw new Error("Tokenizer must have `languageRegex` attribute set and it should be a regular expression.");if(!("lang_to_token"in _t)||typeof _t.lang_to_token!="function")throw new Error("Tokenizer must have `lang_to_token` attribute set and it should be a function.");const mt=ut.src_lang,yt=ut.tgt_lang;if(!_t.language_codes.includes(yt))throw new Error(`Target language code "${yt}" is not valid. Must be one of: {${_t.language_codes.join(", ")}}`);if(mt!==void 0){if(!_t.language_codes.includes(mt))throw new Error(`Source language code "${mt}" is not valid. Must be one of: {${_t.language_codes.join(", ")}}`);for(const Rt of _t.post_processor.config.single)if("SpecialToken"in Rt&&_t.languageRegex.test(Rt.SpecialToken.id)){Rt.SpecialToken.id=_t.lang_to_token(mt);break}}return ut.forced_bos_token_id=_t.model.convert_tokens_to_ids([_t.lang_to_token(yt)])[0],_t._call(ye,Ze)}class ls extends rA{constructor(ye,Ze){super(ye,Ze),this.languageRegex=/^[a-z]{3}_[A-Z][a-z]{3}$/,this.language_codes=this.special_tokens.filter(ut=>this.languageRegex.test(ut)),this.lang_to_token=ut=>ut}_build_translation_inputs(ye,Ze,ut){return Va(this,ye,Ze,ut)}}class yn extends rA{constructor(ye,Ze){super(ye,Ze),this.languageRegex=/^__[a-z]{2,3}__$/,this.language_codes=this.special_tokens.filter(ut=>this.languageRegex.test(ut)).map(ut=>ut.slice(2,-2)),this.lang_to_token=ut=>`__${ut}__`}_build_translation_inputs(ye,Ze,ut){return Va(this,ye,Ze,ut)}}class Qn extends rA{get timestamp_begin(){return this.model.convert_tokens_to_ids(["<|notimestamps|>"])[0]+1}_decode_asr(ye,{return_timestamps:Ze=!1,return_language:ut=!1,time_precision:mt=null,force_full_sequences:yt=!0}={}){if(mt===null)throw Error("Must specify time_precision");let Rt=null;const cA=Ze==="word";function gt(){return{language:Rt,timestamp:[null,null],text:""}}const mA=[];let lA=gt(),lr=0;const Wr=this.timestamp_begin,Tr=Wr+1500;let Or=[],fr=[],kA=!1,QA=null;const Qr=new Set(this.all_special_ids);for(const rs of ye){const zA=rs.tokens,Kr=cA?rs.token_timestamps:null;let Wt=null,PA=Wr;if("stride"in rs){const[ms,Ts,as]=rs.stride;if(lr-=Ts,QA=ms-as,Ts&&(PA=Ts/mt+Wr),as)for(let vr=zA.length-1;vr>=0;--vr){const cs=Number(zA[vr]);if(cs>=Wr){if(Wt!==null&&(cs-Wr)*mt<QA)break;Wt=cs}}}let ra=[],Vs=[];for(let ms=0;ms<zA.length;++ms){const Ts=Number(zA[ms]);if(Qr.has(Ts)){const as=this.decode([Ts]),vr=B.WHISPER_LANGUAGE_MAPPING.get(as.slice(2,-2));if(vr!==void 0){if(Rt!==null&&vr!==Rt&&!Ze){Or.push(ra);const cs=this.findLongestCommonSequence(Or)[0],Sn=this.decode(cs);lA.text=Sn,mA.push(lA),Or=[],ra=[],lA=gt()}Rt=lA.language=vr}}else if(Ts>=Wr&&Ts<=Tr){const as=(Ts-Wr)*mt+lr,vr=(0,C.round)(as,2);if(Wt!==null&&Ts>=Wt)kA=!0;else if(kA||Or.length>0&&Ts<PA)kA=!1;else if(lA.timestamp[0]===null)lA.timestamp[0]=vr;else if(vr!==lA.timestamp[0]){lA.timestamp[1]=vr,Or.push(ra),cA&&fr.push(Vs);const[cs,Sn]=this.findLongestCommonSequence(Or,fr),Ta=this.decode(cs);lA.text=Ta,cA&&(lA.words=this.collateWordTimestamps(cs,Sn,Rt)),mA.push(lA),Or=[],ra=[],fr=[],Vs=[],lA=gt()}}else if(ra.push(Ts),cA){let as,vr=(0,C.round)(Kr[ms]+lr,2);if(ms+1<Kr.length){as=(0,C.round)(Kr[ms+1]+lr,2);const cs=this.decode([Ts]);X.test(cs)&&(as=(0,C.round)(Math.min(vr+mt,as),2))}else as=null;Vs.push([vr,as])}}if("stride"in rs){const[ms,Ts,as]=rs.stride;lr+=ms-as}ra.length>0?(Or.push(ra),cA&&fr.push(Vs)):Or.every(ms=>ms.length===0)&&(lA=gt(),Or=[],ra=[],fr=[],Vs=[])}if(Or.length>0){if(yt&&Ze)throw new Error("Whisper did not predict an ending timestamp, which can happen if audio is cut off in the middle of a word. Also make sure WhisperTimeStampLogitsProcessor was used during generation.");const[rs,zA]=this.findLongestCommonSequence(Or,fr),Kr=this.decode(rs);lA.text=Kr,cA&&(lA.words=this.collateWordTimestamps(rs,zA,Rt)),mA.push(lA)}let ga=Object.create(null);const _s=mA.map(rs=>rs.text).join("");if(Ze||ut){for(let rs=0;rs<mA.length;++rs){const zA=mA[rs];Ze||delete zA.timestamp,ut||delete zA.language}if(cA){const rs=[];for(const zA of mA)for(const Kr of zA.words)rs.push(Kr);ga={chunks:rs}}else ga={chunks:mA}}return[_s,ga]}findLongestCommonSequence(ye,Ze=null){let ut=ye[0],mt=ut.length,yt=[];const Rt=Array.isArray(Ze)&&Ze.length>0;
2810let cA=Rt?[]:null,gt=Rt?Ze[0]:null;for(let mA=1;mA<ye.length;++mA){const lA=ye[mA];let lr=0,Wr=[mt,mt,0,0];const Tr=lA.length;for(let _s=1;_s<mt+Tr;++_s){const rs=Math.max(0,mt-_s),zA=Math.min(mt,mt+Tr-_s),Kr=ut.slice(rs,zA),Wt=Math.max(0,_s-mt),PA=Math.min(Tr,_s),ra=lA.slice(Wt,PA);if(Kr.length!==ra.length)throw new Error("There is a bug within whisper `decode_asr` function, please report it. Dropping to prevent bad inference.");let Vs;Vs=Rt?Kr.filter((Ts,as)=>Ts===ra[as]&&gt[rs+as]<=Ze[mA][Wt+as]).length:Kr.filter((Ts,as)=>Ts===ra[as]).length;const ms=Vs/_s+_s/1e4;Vs>1&&ms>lr&&(lr=ms,Wr=[rs,zA,Wt,PA])}const[Or,fr,kA,QA]=Wr,Qr=Math.floor((fr+Or)/2),ga=Math.floor((QA+kA)/2);yt.push(...ut.slice(0,Qr)),ut=lA.slice(ga),mt=ut.length,Rt&&(cA.push(...gt.slice(0,Qr)),gt=Ze[mA].slice(ga))}return yt.push(...ut),Rt?(cA.push(...gt),[yt,cA]):[yt,[]]}collateWordTimestamps(ye,Ze,ut){const[mt,yt,Rt]=this.combineTokensIntoWords(ye,ut),cA=[];for(let gt=0;gt<mt.length;++gt){const mA=Rt[gt];cA.push({text:mt[gt],timestamp:[Ze[mA.at(0)][0],Ze[mA.at(-1)][1]]})}return cA}combineTokensIntoWords(ye,Ze,ut=`"'“¡¿([{-`,mt=`"'.。,,!!??::”)]}、`){let yt,Rt,cA;return["chinese","japanese","thai","lao","myanmar"].includes(Ze=Ze??"english")?[yt,Rt,cA]=this.splitTokensOnUnicode(ye):[yt,Rt,cA]=this.splitTokensOnSpaces(ye),this.mergePunctuations(yt,Rt,cA,ut,mt)}decode(ye,Ze){let ut;return Ze!=null&&Ze.decode_with_timestamps?(ye instanceof b.Tensor&&(ye=O(ye)),ut=this.decodeWithTimestamps(ye,Ze)):ut=super.decode(ye,Ze),ut}decodeWithTimestamps(ye,Ze){const ut=(Ze==null?void 0:Ze.time_precision)??.02,mt=Array.from(this.all_special_ids).at(-1)+1;let yt=[[]];for(let Rt of ye)if(Rt=Number(Rt),Rt>=mt){const cA=((Rt-mt)*ut).toFixed(2);yt.push(`<|${cA}|>`),yt.push([])}else yt[yt.length-1].push(Rt);return yt=yt.map(Rt=>typeof Rt=="string"?Rt:super.decode(Rt,Ze)),yt.join("")}splitTokensOnUnicode(ye){const Ze=this.decode(ye,{decode_with_timestamps:!0}),ut=[],mt=[],yt=[];let Rt=[],cA=[],gt=0;for(let mA=0;mA<ye.length;++mA){const lA=ye[mA];Rt.push(lA),cA.push(mA);const lr=this.decode(Rt,{decode_with_timestamps:!0});lr.includes("�")&&Ze[gt+lr.indexOf("�")]!=="�"||(ut.push(lr),mt.push(Rt),yt.push(cA),Rt=[],cA=[],gt+=lr.length)}return[ut,mt,yt]}splitTokensOnSpaces(ye){const[Ze,ut,mt]=this.splitTokensOnUnicode(ye),yt=[],Rt=[],cA=[],gt=new RegExp(`^[${Z}]$`,"gu");for(let mA=0;mA<Ze.length;++mA){const lA=Ze[mA],lr=ut[mA],Wr=mt[mA],Tr=lr[0]>=this.model.tokens_to_ids.get("<|endoftext|>"),Or=lA.startsWith(" "),fr=lA.trim(),kA=gt.test(fr);
2810if(Tr||Or||kA||yt.length===0)yt.push(lA),Rt.push(lr),cA.push(Wr);else{const QA=yt.length-1;yt[QA]+=lA,Rt[QA].push(...lr),cA[QA].push(...Wr)}}return[yt,Rt,cA]}mergePunctuations(ye,Ze,ut,mt,yt){const Rt=structuredClone(ye),cA=structuredClone(Ze),gt=structuredClone(ut);let mA=Rt.length-2,lA=Rt.length-1;for(;mA>=0;)Rt[mA].startsWith(" ")&&mt.includes(Rt[mA].trim())?(Rt[lA]=Rt[mA]+Rt[lA],cA[lA]=(0,f.mergeArrays)(cA[mA],cA[lA]),gt[lA]=(0,f.mergeArrays)(gt[mA],gt[lA]),Rt[mA]="",cA[mA]=[],gt[mA]=[]):lA=mA,--mA;for(mA=0,lA=1;lA<Rt.length;)!Rt[mA].endsWith(" ")&&yt.includes(Rt[lA])?(Rt[mA]+=Rt[lA],cA[mA]=(0,f.mergeArrays)(cA[mA],cA[lA]),gt[mA]=(0,f.mergeArrays)(gt[mA],gt[lA]),Rt[lA]="",cA[lA]=[],gt[lA]=[]):mA=lA,++lA;return[Rt.filter(lr=>lr),cA.filter(lr=>lr.length>0),gt.filter(lr=>lr.length>0)]}}class Ci extends rA{}class Ha extends rA{}class Pn extends rA{}class En extends rA{constructor(ye,Ze){super(ye,Ze),this.languageRegex=/^(>>\w+<<)\s*/g,this.supported_language_codes=this.model.vocab.filter(ut=>this.languageRegex.test(ut)),console.warn('WARNING: `MarianTokenizer` is not yet supported by Hugging Face\'s "fast" tokenizers library. Therefore, you may experience slightly inaccurate results.')}_encode_text(ye){if(ye===null)return null;const[Ze,...ut]=ye.trim().split(this.languageRegex);if(ut.length===0)return super._encode_text(Ze);if(ut.length===2){const[mt,yt]=ut;return this.supported_language_codes.includes(mt)||console.warn(`Unsupported language code "${mt}" detected, which may lead to unexpected behavior. Should be one of: ${JSON.stringify(this.supported_language_codes)}`),(0,f.mergeArrays)([mt],super._encode_text(yt))}}}class Ya extends rA{}class sr extends rA{}class pr extends rA{}class oa extends rA{}class fi extends rA{}class _a extends rA{constructor(ye,Ze){super(ye,Ze),this.decoder=new jt({})}}class Zn extends rA{}class Za extends rA{}class Ra{static async from_pretrained(ye,{progress_callback:Ze=null,config:ut=null,cache_dir:mt=null,local_files_only:yt=!1,revision:Rt="main",legacy:cA=null}={}){var Wr;const[gt,mA]=await G(ye,{progress_callback:Ze,config:ut,cache_dir:mt,local_files_only:yt,revision:Rt,legacy:cA}),lA=((Wr=mA.tokenizer_class)==null?void 0:Wr.replace(/Fast$/,""))??"PreTrainedTokenizer";let lr=this.TOKENIZER_CLASS_MAPPING[lA];return lr||(console.warn(`Unknown tokenizer class "${lA}", attempting to construct from base class.`),lr=rA),new lr(gt,mA)}}Ct(Ra,"TOKENIZER_CLASS_MAPPING",{T5Tokenizer:WA,DistilBertTokenizer:Tt,CamembertTokenizer:MA,DebertaTokenizer:iA,DebertaV2Tokenizer:Jt,BertTokenizer:br,HerbertTokenizer:LA,ConvBertTokenizer:Lr,RoFormerTokenizer:Yr,XLMTokenizer:NA,ElectraTokenizer:JA,MobileBertTokenizer:OA,SqueezeBertTokenizer:AA,AlbertTokenizer:wA,GPT2Tokenizer:DA,BartTokenizer:Vr,MBartTokenizer:xr,MBart50Tokenizer:Dr,RobertaTokenizer:Ls,WhisperTokenizer:Qn,CodeGenTokenizer:Ci,CLIPTokenizer:Ha,SiglipTokenizer:Pn,MarianTokenizer:En,BloomTokenizer:HA,NllbTokenizer:ls,M2M100Tokenizer:yn,LlamaTokenizer:Da,CodeLlamaTokenizer:dn,XLMRobertaTokenizer:Ga,MPNetTokenizer:Ka,FalconTokenizer:gn,GPTNeoXTokenizer:xs,EsmTokenizer:hn,Wav2Vec2CTCTokenizer:Ya,BlenderbotTokenizer:sr,BlenderbotSmallTokenizer:pr,SpeechT5Tokenizer:oa,NougatTokenizer:fi,VitsTokenizer:_a,Qwen2Tokenizer:ya,GemmaTokenizer:ui,Grok1Tokenizer:La,CohereTokenizer:Zn,MgpstrTokenizer:Za,PreTrainedTokenizer:rA})},
2810"./src/utils/audio.js":(c,n,s)=>{s.r(n),s.d(n,{RawAudio:()=>e,hamming:()=>D,hanning:()=>G,mel_filter_bank:()=>H,read_audio:()=>E,spectrogram:()=>X,window_function:()=>g});var o=s("./src/utils/hub.js"),f=s("./src/utils/maths.js"),p=s("./src/utils/core.js"),C=s("./src/env.js"),b=s("?7a2c"),k=s("./src/utils/tensor.js");async function E(d,T){if(typeof AudioContext>"u")throw Error("Unable to load audio from path/URL since `AudioContext` is not available in your environment. Instead, audio data should be passed directly to the pipeline/processor. For more information and some example code, see https://huggingface.co/docs/transformers.js/guides/node-audio-processing.");const re=await(await(0,o.getFile)(d)).arrayBuffer(),N=new AudioContext({sampleRate:T});T===void 0&&console.warn(`No sampling rate provided, using default of ${N.sampleRate}Hz.`);const F=await N.decodeAudioData(re);let Ce;if(F.numberOfChannels===2){const he=Math.sqrt(2),ce=F.getChannelData(0),ge=F.getChannelData(1);Ce=new Float32Array(ce.length);for(let Me=0;Me<F.length;++Me)Ce[Me]=he*(ce[Me]+ge[Me])/2}else Ce=F.getChannelData(0);return Ce}function B(d,T){if(d<1)return new Float64Array;if(d===1)return new Float64Array([1]);const re=1-T,N=2*Math.PI/(d-1),F=new Float64Array(d);for(let Ce=0;Ce<d;++Ce)F[Ce]=T-re*Math.cos(Ce*N);return F}function G(d){return B(d,.5)}function D(d){return B(d,.54)}const _={htk:d=>2595*Math.log10(1+d/700),kaldi:d=>1127*Math.log(1+d/700),slaney:(d,T=1e3,re=15,N=27/Math.log(6.4))=>d>=T?re+Math.log(d/T)*N:3*d/200};function O(d,T="htk"){const re=_[T];if(!re)throw new Error('mel_scale should be one of "htk", "slaney" or "kaldi".');return typeof d=="number"?re(d):d.map(N=>re(N))}const j={htk:d=>700*(10**(d/2595)-1),kaldi:d=>700*(Math.exp(d/1127)-1),slaney:(d,T=1e3,re=15,N=Math.log(6.4)/27)=>d>=re?T*Math.exp(N*(d-re)):200*d/3};function U(d,T,re){const N=(T-d)/(re-1);return Float64Array.from({length:re},(F,Ce)=>d+N*Ce)}function H(d,T,re,N,F,Ce=null,he="htk",ce=!1){if(Ce!==null&&Ce!=="slaney")throw new Error('norm must be one of null or "slaney"');const ge=U(O(re,he),O(N,he),T+2);let Me,Ue=function(de,me="htk"){const we=j[me];if(!we)throw new Error('mel_scale should be one of "htk", "slaney" or "kaldi".');return typeof de=="number"?we(de):de.map(_e=>we(_e))}(ge,he);if(ce){const de=F/(2*d);Me=O(Float64Array.from({length:d},(me,we)=>we*de),he),Ue=ge}else Me=U(0,Math.floor(F/2),d);const Ne=function(de,me){const we=Float64Array.from({length:me.length-1},(We,ot)=>me[ot+1]-me[ot]),_e=Array.from({length:de.length},()=>new Array(me.length));for(let We=0;We<de.length;++We){const ot=_e[We];for(let pt=0;pt<me.length;++pt)ot[pt]=me[pt]-de[We]}const pe=me.length-2,it=Array.from({length:pe},()=>new Array(de.length));for(let We=0;We<de.length;++We){const ot=_e[We];for(let pt=0;pt<pe;++pt){const ct=-ot[pt]/we[pt],Re=ot[pt+2]/we[pt+1];it[pt][We]=Math.max(0,Math.min(ct,Re))}}return it}(Me,Ue);if(Ce!==null&&Ce==="slaney")for(let de=0;de<T;++de){const me=Ne[de],we=2/(Ue[de+2]-Ue[de]);for(let _e=0;_e<d;++_e)me[_e]*=we}return Ne}function Z(d,T,re,N,F){if(re<=0)throw new Error("reference must be greater than zero");if(N<=0)throw new Error("min_value must be greater than zero");re=Math.max(N,re);const Ce=Math.log10(re);for(let he=0;he<d.length;++he)d[he]=T*Math.log10(Math.max(N,d[he])-Ce);if(F!==null){if(F<=0)throw new Error("db_range must be greater than zero");const he=(0,f.max)(d)[0]-F;for(let ce=0;ce<d.length;++ce)d[ce]=Math.max(d[ce],he)}return d}async function X(d,T,re,N,{fft_length:F=null,power:Ce=1,center:he=!0,pad_mode:ce="reflect",onesided:ge=!0,preemphasis:Me=null,mel_filters:Ue=null,mel_floor:Ne=1e-10,log_mel:de=null,reference:me=1,min_value:we=1e-10,db_range:_e=null,remove_dc_offset:pe=null,min_num_frames:it=null,max_num_frames:We=null,do_pad:ot=!0,transpose:pt=!1}={}){const ct=T.length;if(F===null&&(F=re),re>F)throw Error(`frame_length (${re}) may not be larger than fft_length (${F})`);if(ct!==re)throw new Error(`Length of the window (${ct}) must equal frame_length (${re})`);if(N<=0)throw new Error("hop_length must be greater than zero");if(Ce===null&&Ue!==null)throw new Error("You have provided `mel_filters` but `power` is `None`. Mel spectrogram computation is not yet supported for complex-valued spectrogram. Specify `power` to fix this issue.");if(he){if(ce!=="reflect")throw new Error(`pad_mode="${ce}" not implemented yet.`);const Ie=Math.floor((F-1)/2)+1;d=function(fe,Qe,Je){const rt=new fe.constructor(fe.length+Qe+Je),lt=fe.length-1;for(let xt=0;xt<fe.length;++xt)rt[Qe+xt]=fe[xt];for(let xt=1;xt<=Qe;++xt)rt[Qe-xt]=fe[(0,p.calculateReflectOffset)(xt,lt)];for(let xt=1;xt<=Je;++xt)rt[lt+Qe+xt]=fe[(0,p.calculateReflectOffset)(lt-xt,lt)];return rt}(d,Ie,Ie)}let Re=Math.floor(1+Math.floor((d.length-re)/N));it!==null&&Re<it&&(Re=it);const tt=ge?Math.floor(F/2)+1:F;let It=Re,wt=Re;We!==null&&(We>Re?ot&&(wt=We):wt=It=We);const ze=new f.FFT(F),At=new Float64Array(F),Bt=new Float64Array(ze.outputBufferSize),Ft=new Float32Array(tt*wt);for(let Ie=0;Ie<It;++Ie){const fe=Ie*N,Qe=Math.min(d.length-fe,re);Qe!==re&&At.fill(0,0,re);for(let Je=0;Je<Qe;++Je)At[Je]=d[fe+Je];if(pe){let Je=0;for(let lt=0;lt<Qe;++lt)Je+=At[lt];const rt=Je/Qe;for(let lt=0;lt<Qe;++lt)At[lt]-=rt}if(Me!==null){for(let Je=Qe-1;Je>=1;--Je)At[Je]-=Me*At[Je-1];At[0]*=1-Me}for(let Je=0;Je<T.length;++Je)At[Je]*=T[Je];ze.realTransform(Bt,At);for(let Je=0;Je<tt;++Je){const rt=Je<<1;Ft[Je*wt+Ie]=Bt[rt]**2+Bt[rt+1]**2}}if(Ce!==null&&Ce!==2){const Ie=2/Ce;for(let fe=0;fe<Ft.length;++fe)Ft[fe]**=Ie}const St=Ue.length;let oe=await(0,k.matmul)(new k.Tensor("float32",Ue.flat(),[St,tt]),new k.Tensor("float32",Ft,[tt,wt]));pt&&(oe=oe.transpose(1,0));
2810const zt=oe.data;for(let Ie=0;Ie<zt.length;++Ie)zt[Ie]=Math.max(Ne,zt[Ie]);if(Ce!==null&&de!==null){const Ie=Math.min(zt.length,It*St);switch(de){case"log":for(let fe=0;fe<Ie;++fe)zt[fe]=Math.log(zt[fe]);break;case"log10":for(let fe=0;fe<Ie;++fe)zt[fe]=Math.log10(zt[fe]);break;case"dB":if(Ce===1)(function(fe,Qe=1,Je=1e-5,rt=null){Z(fe,20,Qe,Je,rt)})(zt,me,we,_e);else{if(Ce!==2)throw new Error(`Cannot use log_mel option '${de}' with power ${Ce}`);(function(fe,Qe=1,Je=1e-10,rt=null){Z(fe,10,Qe,Je,rt)})(zt,me,we,_e)}break;default:throw new Error(`log_mel must be one of null, 'log', 'log10' or 'dB'. Got '${de}'`)}}return oe}function g(d,T,{periodic:re=!0,frame_length:N=null,center:F=!0}={}){const Ce=re?d+1:d;let he;switch(T){case"boxcar":he=new Float64Array(Ce).fill(1);break;case"hann":case"hann_window":he=G(Ce);break;case"hamming":he=D(Ce);break;case"povey":he=G(Ce).map(ce=>Math.pow(ce,.85));break;default:throw new Error(`Unknown window type ${T}.`)}if(re&&(he=he.subarray(0,d)),N===null)return he;if(d>N)throw new Error(`Length of the window (${d}) may not be larger than frame_length (${N})`);return he}function v(d,T,re){for(let N=0;N<re.length;++N)d.setUint8(T+N,re.charCodeAt(N))}class e{constructor(T,re){this.audio=T,this.sampling_rate=re}toWav(){return function(T,re){let N=44;const F=new ArrayBuffer(N+4*T.length),Ce=new DataView(F);v(Ce,0,"RIFF"),Ce.setUint32(4,36+4*T.length,!0),v(Ce,8,"WAVE"),v(Ce,12,"fmt "),Ce.setUint32(16,16,!0),Ce.setUint16(20,3,!0),Ce.setUint16(22,1,!0),Ce.setUint32(24,re,!0),Ce.setUint32(28,4*re,!0),Ce.setUint16(32,4,!0),Ce.setUint16(34,32,!0),v(Ce,36,"data"),Ce.setUint32(40,4*T.length,!0);for(let he=0;he<T.length;++he,N+=4)Ce.setFloat32(N,T[he],!0);return F}(this.audio,this.sampling_rate)}toBlob(){const T=this.toWav();return new Blob([T],{type:"audio/wav"})}async save(T){let re;if(C.apis.IS_BROWSER_ENV){if(C.apis.IS_WEBWORKER_ENV)throw new Error("Unable to save a file from a Web Worker.");re=p.saveBlob}else{if(!C.apis.IS_FS_AVAILABLE)throw new Error("Unable to save because filesystem is disabled in this environment.");re=async(N,F)=>{let Ce=await F.arrayBuffer();b.writeFileSync(N,Buffer.from(Ce))}}await re(T,this.toBlob())}}},
2810"./src/utils/constants.js":(c,n,s)=>{s.r(n),s.d(n,{CHAT_TEMPLATE_NAME:()=>k,CONFIG_NAME:()=>f,FEATURE_EXTRACTOR_NAME:()=>p,GENERATION_CONFIG_NAME:()=>E,GITHUB_ISSUE_URL:()=>o,IMAGE_PROCESSOR_NAME:()=>C,PROCESSOR_NAME:()=>b});const o="https://github.com/huggingface/transformers.js/issues/new/choose",f="config.json",p="preprocessor_config.json",C=p,b="processor_config.json",k="chat_template.json",E="generation_config.json"},
2810"./src/utils/core.js":(c,n,s)=>{function o(Z,X){Z&&Z(X)}function f(Z){return Object.fromEntries(Object.entries(Z).map(([X,g])=>[g,X]))}function p(Z){return Z.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function C(Z){var X,g,v;return((v=(g=(X=Z==null?void 0:Z.prototype)==null?void 0:X.__proto__)==null?void 0:g.constructor)==null?void 0:v.name)==="TypedArray"}function b(Z){return Number.isInteger(Z)||typeof Z=="bigint"}function k(Z){return Z==null||Z===-1}function E(Z){const X=[];let g=Z;for(;Array.isArray(g);)X.push(g.length),g=g[0];return X}function B(Z,X,g=void 0){const v=Z[X];if(v!==void 0)return delete Z[X],v;if(g===void 0)throw Error(`Key ${X} does not exist in object.`);return g}function G(...Z){return Array.prototype.concat.apply([],Z)}function D(...Z){return Z.reduce((X,g)=>X.flatMap(v=>g.map(e=>[v,e])))}function _(Z,X){return Math.abs((Z+X)%(2*X)-X)}function O(Z,X){const g=URL.createObjectURL(X),v=document.createElement("a");v.href=g,v.download=Z,v.click(),v.remove(),URL.revokeObjectURL(g)}function j(Z,X){return Object.assign({},...X.map(g=>{if(Z[g]!==void 0)return{[g]:Z[g]}}))}function U(Z){let X=0;for(const g of Z)++X;return X}function H(Z,X){let g=0;for(const v of Z)v===X&&++g;return g}s.r(n),s.d(n,{calculateDimensions:()=>E,calculateReflectOffset:()=>_,count:()=>H,dispatchCallback:()=>o,escapeRegExp:()=>p,isIntegralNumber:()=>b,isNullishDimension:()=>k,isTypedArray:()=>C,len:()=>U,mergeArrays:()=>G,pick:()=>j,pop:()=>B,product:()=>D,reverseDictionary:()=>f,saveBlob:()=>O})},
2810"./src/utils/data-structures.js":(c,n,s)=>{s.r(n),s.d(n,{CharTrie:()=>f,PriorityQueue:()=>o,TokenLattice:()=>C});class o{constructor(E=(G,D)=>G>D,B=1/0){this._heap=[],this._comparator=E,this._maxSize=B}get size(){return this._heap.length}isEmpty(){return this.size===0}peek(){return this._heap[0]}push(...E){return this.extend(E)}extend(E){for(const B of E)if(this.size<this._maxSize)this._heap.push(B),this._siftUp();else{const G=this._smallest();this._comparator(B,this._heap[G])&&(this._heap[G]=B,this._siftUpFrom(G))}return this.size}pop(){const E=this.peek(),B=this.size-1;return B>0&&this._swap(0,B),this._heap.pop(),this._siftDown(),E}replace(E){const B=this.peek();return this._heap[0]=E,this._siftDown(),B}_parent(E){return(E+1>>>1)-1}_left(E){return 1+(E<<1)}_right(E){return E+1<<1}_greater(E,B){return this._comparator(this._heap[E],this._heap[B])}_swap(E,B){const G=this._heap[E];this._heap[E]=this._heap[B],this._heap[B]=G}_siftUp(){this._siftUpFrom(this.size-1)}_siftUpFrom(E){for(;E>0&&this._greater(E,this._parent(E));)this._swap(E,this._parent(E)),E=this._parent(E)}_siftDown(){let E=0;for(;this._left(E)<this.size&&this._greater(this._left(E),E)||this._right(E)<this.size&&this._greater(this._right(E),E);){const B=this._right(E)<this.size&&this._greater(this._right(E),this._left(E))?this._right(E):this._left(E);this._swap(E,B),E=B}}_smallest(){return 2**Math.floor(Math.log2(this.size))-1}}class f{constructor(){this.root=p.default()}extend(E){for(const B of E)this.push(B)}push(E){let B=this.root;for(const G of E){let D=B.children.get(G);D===void 0&&(D=p.default(),B.children.set(G,D)),B=D}B.isLeaf=!0}*commonPrefixSearch(E){let B=this.root;if(B===void 0)return;let G="";for(const D of E){if(G+=D,B=B.children.get(D),B===void 0)return;B.isLeaf&&(yield G)}}}class p{constructor(E,B){this.isLeaf=E,this.children=B}static default(){return new p(!1,new Map)}}class C{constructor(E,B,G){this.chars=Array.from(E),this.len=this.chars.length,this.bosTokenId=B,this.eosTokenId=G,this.nodes=[],this.beginNodes=Array.from({length:this.len+1},()=>[]),this.endNodes=Array.from({length:this.len+1},()=>[]);const D=new b(this.bosTokenId,0,0,0,0),_=new b(this.eosTokenId,1,this.len,0,0);this.nodes.push(D.clone()),this.nodes.push(_.clone()),this.beginNodes[this.len].push(_),this.endNodes[0].push(D)}insert(E,B,G,D){const _=this.nodes.length,O=new b(D,_,E,B,G);this.beginNodes[E].push(O),this.endNodes[E+B].push(O),this.nodes.push(O)}viterbi(){const E=this.len;let B=0;for(;B<=E;){if(this.beginNodes[B].length==0)return[];for(let O of this.beginNodes[B]){O.prev=null;let j=0,U=null;for(let H of this.endNodes[B]){const Z=H.backtraceScore+O.score;(U===null||Z>j)&&(U=H.clone(),j=Z)}if(U===null)return[];O.prev=U,O.backtraceScore=j}++B}const G=[],D=this.beginNodes[E][0].prev;if(D===null)return[];let _=D.clone();for(;_.prev!==null;)G.push(_.clone()),_=_.clone().prev.clone();return G.reverse(),G}piece(E){return this.chars.slice(E.pos,E.pos+E.length).join("")}tokens(){return this.viterbi().map(E=>this.piece(E))}tokenIds(){return this.viterbi().map(E=>E.tokenId)}}class b{constructor(E,B,G,D,_){this.tokenId=E,this.nodeId=B,this.pos=G,this.length=D,this.score=_,this.prev=null,this.backtraceScore=0}clone(){const E=new b(this.tokenId,this.nodeId,this.pos,this.length,this.score);return E.prev=this.prev,E.backtraceScore=this.backtraceScore,E}}},
2810"./src/utils/devices.js":(c,n,s)=>{s.r(n),s.d(n,{DEVICE_TYPES:()=>o});const o=Object.freeze({auto:"auto",gpu:"gpu",cpu:"cpu",wasm:"wasm",webgpu:"webgpu",cuda:"cuda",dml:"dml",webnn:"webnn","webnn-npu":"webnn-npu","webnn-gpu":"webnn-gpu","webnn-cpu":"webnn-cpu"})},
2810"./src/utils/dtypes.js":(c,n,s)=>{s.r(n),s.d(n,{DATA_TYPES:()=>C,DEFAULT_DEVICE_DTYPE_MAPPING:()=>b,DEFAULT_DTYPE_SUFFIX_MAPPING:()=>k,isWebGpuFp16Supported:()=>p});var o=s("./src/env.js"),f=s("./src/utils/devices.js");const p=function(){let E;return async function(){if(E===void 0)if(o.apis.IS_WEBGPU_AVAILABLE)try{E=(await navigator.gpu.requestAdapter()).features.has("shader-f16")}catch{E=!1}else E=!1;return E}}(),C=Object.freeze({auto:"auto",fp32:"fp32",fp16:"fp16",q8:"q8",int8:"int8",uint8:"uint8",q4:"q4",bnb4:"bnb4",q4f16:"q4f16"}),b=Object.freeze({[f.DEVICE_TYPES.wasm]:C.q8}),k=Object.freeze({[C.fp32]:"",[C.fp16]:"_fp16",[C.int8]:"_int8",[C.uint8]:"_uint8",[C.q8]:"_quantized",[C.q4]:"_q4",[C.q4f16]:"_q4f16",[C.bnb4]:"_bnb4"})},
2810"./src/utils/generic.js":(c,n,s)=>{s.r(n),s.d(n,{Callable:()=>o});const o=class{constructor(){let f=function(...p){return f._call(...p)};return Object.setPrototypeOf(f,new.target.prototype)}_call(...f){throw Error("Must implement _call method in subclass")}}},
2810"./src/utils/hub.js":(c,n,s)=>{s.r(n),s.d(n,{getFile:()=>B,getModelFile:()=>_,getModelJSON:()=>O});var o=s("?7a2c"),f=s("?a42a"),p=s("./src/env.js"),C=s("./src/utils/core.js");const b={txt:"text/plain",html:"text/html",css:"text/css",js:"text/javascript",json:"application/json",png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif"};class k{constructor(H){if(this.filePath=H,this.headers=new Headers,this.exists=o.existsSync(H),this.exists){this.status=200,this.statusText="OK";let Z=o.statSync(H);this.headers.set("content-length",Z.size.toString()),this.updateContentType();let X=this;this.body=new ReadableStream({start(g){X.arrayBuffer().then(v=>{g.enqueue(new Uint8Array(v)),g.close()})}})}else this.status=404,this.statusText="Not Found",this.body=null}updateContentType(){const H=this.filePath.toString().split(".").pop().toLowerCase();this.headers.set("content-type",b[H]??"application/octet-stream")}clone(){let H=new k(this.filePath);return H.exists=this.exists,H.status=this.status,H.statusText=this.statusText,H.headers=new Headers(this.headers),H}async arrayBuffer(){return(await o.promises.readFile(this.filePath)).buffer}async blob(){const H=await o.promises.readFile(this.filePath);return new Blob([H],{type:this.headers.get("content-type")})}async text(){return await o.promises.readFile(this.filePath,"utf8")}async json(){return JSON.parse(await this.text())}}function E(U,H=null,Z=null){let X;try{X=new URL(U)}catch{return!1}return!(H&&!H.includes(X.protocol))&&!(Z&&!Z.includes(X.hostname))}async function B(U){var H;if(p.env.useFS&&!E(U,["http:","https:","blob:"]))return new k(U);if(typeof process<"u"&&((H=process==null?void 0:process.release)==null?void 0:H.name)==="node"){const Z=!!(P0!=null&&P0.TESTING_REMOTELY),X=p.env.version,g=new Headers;if(g.set("User-Agent",`transformers.js/${X}; is_ci/${Z};`),E(U,["http:","https:"],["huggingface.co","hf.co"])){const v=(P0==null?void 0:P0.HF_TOKEN)??(P0==null?void 0:P0.HF_ACCESS_TOKEN);v&&g.set("Authorization",`Bearer ${v}`)}return fetch(U,{headers:g})}return fetch(U)}const G={400:"Bad request error occurred while trying to load file",401:"Unauthorized access to file",403:"Forbidden access to file",404:"Could not locate file",408:"Request timeout error occurred while trying to load file",500:"Internal server error error occurred while trying to load file",502:"Bad gateway error occurred while trying to load file",503:"Service unavailable error occurred while trying to load file",504:"Gateway timeout error occurred while trying to load file"};class D{constructor(H){this.path=H}async match(H){let Z=f.join(this.path,H),X=new k(Z);return X.exists?X:void 0}async put(H,Z){const X=Buffer.from(await Z.arrayBuffer());let g=f.join(this.path,H);try{await o.promises.mkdir(f.dirname(g),{recursive:!0}),await o.promises.writeFile(g,X)}catch(v){console.warn("An error occurred while writing the file to cache:",v)}}}async function _(U,H,Z=!0,X={}){if(!p.env.allowLocalModels){if(X.local_files_only)throw Error("Invalid configuration detected: local models are disabled (`env.allowLocalModels=false`) but you have requested to only use local models (`local_files_only=true`).");if(!p.env.allowRemoteModels)throw Error("Invalid configuration detected: both local and remote models are disabled. Fix by setting `env.allowLocalModels` or `env.allowRemoteModels` to `true`.")}let g;if((0,C.dispatchCallback)(X.progress_callback,{status:"initiate",name:U,file:H}),!g&&p.env.useBrowserCache){if(typeof caches>"u")throw Error("Browser cache is not available in this environment.");try{g=await caches.open("transformers-cache")}catch(Me){console.warn("An error occurred while opening the browser cache:",Me)}}if(!g&&p.env.useFSCache&&(g=new D(X.cache_dir??p.env.cacheDir)),!g&&p.env.useCustomCache){if(!p.env.customCache)throw Error("`env.useCustomCache=true`, but `env.customCache` is not defined.");if(!p.env.customCache.match||!p.env.customCache.put)throw new Error("`env.customCache` must be an object which implements the `match` and `put` functions of the Web Cache API. For more information, see https://developer.mozilla.org/en-US/docs/Web/API/Cache");g=p.env.customCache}const v=X.revision??"main";let e,d,T=j(U,H),re=j(p.env.localModelPath,T),N=j(p.env.remoteHost,p.env.remotePathTemplate.replaceAll("{model}",U).replaceAll("{revision}",encodeURIComponent(v)),H),F=v==="main"?T:j(U,v,H),Ce=g instanceof D?F:N,he=!1;g&&(d=await async function(Me,...Ue){for(let Ne of Ue)try{let de=await Me.match(Ne);if(de)return de}catch{continue}}(g,re,Ce));const ce=d!==void 0;if(d===void 0){if(p.env.allowLocalModels)if(E(T,["http:","https:"])){if(X.local_files_only)throw new Error(`\`local_files_only=true\`, but attempted to load a remote file from: ${T}.`);if(!p.env.allowRemoteModels)throw new Error(`\`env.allowRemoteModels=false\`, but attempted to load a remote file from: ${T}.`)}else try{d=await B(re),e=re}catch(Me){console.warn(`Unable to load from local path "${re}": "${Me}"`)}if(d===void 0||d.status===404){if(X.local_files_only||!p.env.allowRemoteModels){if
2810(Z)throw Error(`\`local_files_only=true\` or \`env.allowRemoteModels=false\` and file was not found locally at "${re}".`);return null}if(d=await B(N),d.status!==200)return function(Me,Ue,Ne){if(!Ne)return null;const de=G[Me]??`Error (${Me}) occurred while trying to load file`;throw Error(`${de}: "${Ue}".`)}(d.status,N,Z);e=Ce}he=g&&typeof Response<"u"&&d instanceof Response&&d.status===200}let ge;return(0,C.dispatchCallback)(X.progress_callback,{status:"download",name:U,file:H}),X.progress_callback?ce&&typeof navigator<"u"&&/firefox/i.test(navigator.userAgent)?(ge=new Uint8Array(await d.arrayBuffer()),(0,C.dispatchCallback)(X.progress_callback,{status:"progress",name:U,file:H,progress:100,loaded:ge.length,total:ge.length})):ge=await async function(Me,Ue){const Ne=Me.headers.get("Content-Length");Ne===null&&console.warn("Unable to determine content-length from response headers. Will expand buffer when needed.");let de=parseInt(Ne??"0"),me=new Uint8Array(de),we=0;const _e=Me.body.getReader();async function pe(){const{done:it,value:We}=await _e.read();if(it)return;let ot=we+We.length;if(ot>de){de=ot;let pt=new Uint8Array(de);pt.set(me),me=pt}return me.set(We,we),we=ot,Ue({progress:we/de*100,loaded:we,total:de}),pe()}return await pe(),me}(d,Me=>{(0,C.dispatchCallback)(X.progress_callback,{status:"progress",name:U,file:H,...Me})}):ge=new Uint8Array(await d.arrayBuffer()),he&&e&&await g.match(e)===void 0&&await g.put(e,new Response(ge,{headers:d.headers})).catch(Me=>{console.warn(`Unable to add response to browser cache: ${Me}.`)}),(0,C.dispatchCallback)(X.progress_callback,{status:"done",name:U,file:H}),ge}async function O(U,H,Z=!0,X={}){let g=await _(U,H,Z,X);if(g===null)return{};let v=new TextDecoder("utf-8").decode(g);return JSON.parse(v)}function j(...U){return(U=U.map((H,Z)=>(Z&&(H=H.replace(new RegExp("^/"),"")),Z!==U.length-1&&(H=H.replace(new RegExp("/$"),"")),H))).join("/")}},
2810"./src/utils/image.js":(c,n,s)=>{s.r(n),s.d(n,{RawImage:()=>O,load_image:()=>j});var o=s("./src/utils/core.js"),f=s("./src/utils/hub.js"),p=s("./src/env.js"),C=s("./src/utils/tensor.js"),b=s("?2b25");let k,E,B;const G=p.apis.IS_BROWSER_ENV||p.apis.IS_WEBWORKER_ENV;if(G)k=(U,H)=>{if(!self.OffscreenCanvas)throw new Error("OffscreenCanvas not supported by this browser.");return new self.OffscreenCanvas(U,H)},B=self.createImageBitmap,E=self.ImageData;else{if(!b)throw new Error("Unable to load image processing library.");B=async U=>{const H=(await U.metadata()).channels,{data:Z,info:X}=await U.rotate().raw().toBuffer({resolveWithObject:!0}),g=new O(new Uint8ClampedArray(Z),X.width,X.height,X.channels);return H!==void 0&&H!==X.channels&&g.convert(H),g}}const D={0:"nearest",1:"lanczos",2:"bilinear",3:"bicubic",4:"box",5:"hamming"},_=new Map([["png","image/png"],["jpg","image/jpeg"],["jpeg","image/jpeg"],["gif","image/gif"]]);class O{constructor(H,Z,X,g){this.data=H,this.width=Z,this.height=X,this.channels=g}get size(){return[this.width,this.height]}static async read(H){if(H instanceof O)return H;if(typeof H=="string"||H instanceof URL)return await this.fromURL(H);throw new Error("Unsupported input type: "+typeof H)}static fromCanvas(H){if(!G)throw new Error("fromCanvas() is only supported in browser environments.");const Z=H.getContext("2d").getImageData(0,0,H.width,H.height).data;return new O(Z,H.width,H.height,4)}static async fromURL(H){const Z=await(0,f.getFile)(H);if(Z.status!==200)throw new Error(`Unable to read image from "${H}" (${Z.status} ${Z.statusText})`);const X=await Z.blob();return this.fromBlob(X)}static async fromBlob(H){if(G){const Z=await B(H),X=k(Z.width,Z.height).getContext("2d");return X.drawImage(Z,0,0),new this(X.getImageData(0,0,Z.width,Z.height).data,Z.width,Z.height,4)}{const Z=b(await H.arrayBuffer());return await B(Z)}}static fromTensor(H,Z="CHW"){if(H.dims.length!==3)throw new Error(`Tensor should have 3 dimensions, but has ${H.dims.length} dimensions.`);if(Z==="CHW")H=H.transpose(1,2,0);else if(Z!=="HWC")throw new Error(`Unsupported channel format: ${Z}`);if(!(H.data instanceof Uint8ClampedArray||H.data instanceof Uint8Array))throw new Error(`Unsupported tensor type: ${H.type}`);switch(H.dims[2]){case 1:case 2:case 3:case 4:return new O(H.data,H.dims[1],H.dims[0],H.dims[2]);default:throw new Error(`Unsupported number of channels: ${H.dims[2]}`)}}grayscale(){if(this.channels===1)return this;const H=new Uint8ClampedArray(this.width*this.height*1);switch(this.channels){case 3:case 4:for(let Z=0,X=0;Z<this.data.length;Z+=this.channels){const g=this.data[Z],v=this.data[Z+1],e=this.data[Z+2];H[X++]=Math.round(.2989*g+.587*v+.114*e)}break;default:throw new Error(`Conversion failed due to unsupported number of channels: ${this.channels}`)}return this._update(H,this.width,this.height,1)}rgb(){if(this.channels===3)return this;const H=new Uint8ClampedArray(this.width*this.height*3);switch(this.channels){case 1:for(let Z=0,X=0;Z<this.data.length;++Z)H[X++]=this.data[Z],H[X++]=this.data[Z],H[X++]=this.data[Z];break;case 4:for(let Z=0,X=0;Z<this.data.length;Z+=4)H[X++]=this.data[Z],H[X++]=this.data[Z+1],H[X++]=this.data[Z+2];break;default:throw new Error(`Conversion failed due to unsupported number of channels: ${this.channels}`)}return this._update(H,this.width,this.height,3)}rgba(){if(this.channels===4)return this;const H=new Uint8ClampedArray(this.width*this.height*4);switch(this.channels){case 1:for(let Z=0,X=0;Z<this.data.length;++Z)H[X++]=this.data[Z],H[X++]=this.data[Z],H[X++]=this.data[Z],H[X++]=255;break;case 3:for(let Z=0,X=0;Z<this.data.length;Z+=3)H[X++]=this.data[Z],H[X++]=this.data[Z+1],H[X++]=this.data[Z+2],H[X++]=255;break;default:throw new Error(`Conversion failed due to unsupported number of channels: ${this.channels}`)}return this._update(H,this.width,this.height,4)}putAlpha(H){if(H.width!==this.width||H.height!==this.height)throw new Error(`Expected mask size to be ${this.width}x${this.height}, but got ${H.width}x${H.height}`);if(H.channels!==1)throw new Error(`Expected mask to have 1 channel, but got ${H.channels}`);const Z=this.data,X=H.data,g=this.width*this.height;if(this.channels===3){const v=new Uint8ClampedArray(4*g);for(let e=0,d=0,T=0;e<g;++e)v[T++]=Z[d++],v[T++]=Z[d++],v[T++]=Z[d++],v[T++]=X[e];return this._update(v,this.width,this.height,4)}if(this.channels===4){for(let v=0;v<g;++v)Z[4*v+3]=X[v];return this}throw new Error(`Expected image to have 3 or 4 channels, but got ${this.channels}`)}async resize(H,Z,{resample:X=2}={}){if(this.width===H&&this.height===Z)return this;
2810let g=D[X]??X;const v=(0,o.isNullishDimension)(H),e=(0,o.isNullishDimension)(Z);if(v&&e)return this;if(v?H=Z/this.height*this.width:e&&(Z=H/this.width*this.height),G){const d=this.channels,T=this.toCanvas(),re=k(H,Z).getContext("2d");return re.drawImage(T,0,0,H,Z),new O(re.getImageData(0,0,H,Z).data,H,Z,4).convert(d)}{let d=this.toSharp();switch(g){case"box":case"hamming":g!=="box"&&g!=="hamming"||(console.warn(`Resampling method ${g} is not yet supported. Using bilinear instead.`),g="bilinear");case"nearest":case"bilinear":case"bicubic":d=d.affine([H/this.width,0,0,Z/this.height],{interpolator:g});break;case"lanczos":d=d.resize({width:H,height:Z,fit:"fill",kernel:"lanczos3"});break;default:throw new Error(`Resampling method ${g} is not supported.`)}return await B(d)}}async pad([H,Z,X,g]){if(H=Math.max(H,0),Z=Math.max(Z,0),X=Math.max(X,0),g=Math.max(g,0),H===0&&Z===0&&X===0&&g===0)return this;if(G){const v=this.channels,e=this.toCanvas(),d=this.width+H+Z,T=this.height+X+g,re=k(d,T).getContext("2d");return re.drawImage(e,0,0,this.width,this.height,H,X,this.width,this.height),new O(re.getImageData(0,0,d,T).data,d,T,4).convert(v)}{const v=this.toSharp().extend({left:H,right:Z,top:X,bottom:g});return await B(v)}}async crop([H,Z,X,g]){if(H=Math.max(H,0),Z=Math.max(Z,0),X=Math.min(X,this.width-1),g=Math.min(g,this.height-1),H===0&&Z===0&&X===this.width-1&&g===this.height-1)return this;
2810const v=X-H+1,e=g-Z+1;if(G){const d=this.channels,T=this.toCanvas(),re=k(v,e).getContext("2d");return re.drawImage(T,H,Z,v,e,0,0,v,e),new O(re.getImageData(0,0,v,e).data,v,e,4).convert(d)}{const d=this.toSharp().extract({left:H,top:Z,width:v,height:e});return await B(d)}}async center_crop(H,Z){if(this.width===H&&this.height===Z)return this;const X=(this.width-H)/2,g=(this.height-Z)/2;if(G){const v=this.channels,e=this.toCanvas(),d=k(H,Z).getContext("2d");let T=0,re=0,N=0,F=0;return X>=0?T=X:N=-X,g>=0?re=g:F=-g,d.drawImage(e,T,re,H,Z,N,F,H,Z),new O(d.getImageData(0,0,H,Z).data,H,Z,4).convert(v)}{let v=this.toSharp();if(X>=0&&g>=0)v=v.extract({left:Math.floor(X),top:Math.floor(g),width:H,height:Z});else if(X<=0&&g<=0){const e=Math.floor(-g),d=Math.floor(-X);v=v.extend({top:e,left:d,right:H-this.width-d,bottom:Z-this.height-e})}else{let e=[0,0],d=0;g<0?(e[0]=Math.floor(-g),e[1]=Z-this.height-e[0]):d=Math.floor(g);let T=[0,0],re=0;X<0?(T[0]=Math.floor(-X),T[1]=H-this.width-T[0]):re=Math.floor(X),v=v.extend({top:e[0],bottom:e[1],left:T[0],right:T[1]}).extract({left:re,top:d,width:H,height:Z})}return await B(v)}}async toBlob(H="image/png",Z=1){if(!G)throw new Error("toBlob() is only supported in browser environments.");return await this.toCanvas().convertToBlob({type:H,quality:Z})}toTensor(H="CHW"){let Z=new C.Tensor("uint8",new Uint8Array(this.data),[this.height,this.width,this.channels]);if(H!=="HWC"){if(H!=="CHW")throw new Error(`Unsupported channel format: ${H}`);Z=Z.permute(2,0,1)}return Z}toCanvas(){if(!G)throw new Error("toCanvas() is only supported in browser environments.");const H=this.clone().rgba(),Z=k(H.width,H.height),X=new E(H.data,H.width,H.height);return Z.getContext("2d").putImageData(X,0,0),Z}split(){const{data:H,width:Z,height:X,channels:g}=this,v=H.constructor,e=H.length/g,d=Array.from({length:g},()=>new v(e));for(let T=0;T<e;++T){const re=g*T;for(let N=0;N<g;++N)d[N][T]=H[re+N]}return d.map(T=>new O(T,Z,X,1))}_update(H,Z,X,g=null){return this.data=H,this.width=Z,this.height=X,g!==null&&(this.channels=g),this}clone(){return new O(this.data.slice(),this.width,this.height,this.channels)}convert(H){if(this.channels===H)return this;switch(H){case 1:this.grayscale();break;case 3:this.rgb();break;case 4:this.rgba();break;default:throw new Error(`Conversion failed due to unsupported number of channels: ${this.channels}`)}return this}async save(H){if(!G){if(p.apis.IS_FS_AVAILABLE)return await this.toSharp().toFile(H);throw new Error("Unable to save the image because filesystem is disabled in this environment.")}{if(p.apis.IS_WEBWORKER_ENV)throw new Error("Unable to save an image from a Web Worker.");const Z=H.split(".").pop().toLowerCase(),X=_.get(Z)??"image/png",g=await this.toBlob(X);(0,o.saveBlob)(H,g)}}toSharp(){if(G)throw new Error("toSharp() is only supported in server-side environments.");return b(this.data,{raw:{width:this.width,height:this.height,channels:this.channels}})}}const j=O.read.bind(O)},
vendor: 8,914 bytes, line 2810
2810"./src/utils/maths.js":(c,n,s)=>{function o(g,[v,e,d],[T,re],N="bilinear",F=!1){const Ce=re/d,he=T/e,ce=new g.constructor(T*re*v),ge=e*d,Me=T*re;for(let Ue=0;Ue<T;++Ue)for(let Ne=0;Ne<re;++Ne){const de=Ue*re+Ne,me=(Ne+.5)/Ce-.5,we=(Ue+.5)/he-.5;let _e=Math.floor(me),pe=Math.floor(we);const it=Math.min(_e+1,d-1),We=Math.min(pe+1,e-1);_e=Math.max(_e,0),pe=Math.max(pe,0);const ot=me-_e,pt=we-pe,ct=(1-ot)*(1-pt),Re=ot*(1-pt),tt=(1-ot)*pt,It=ot*pt,wt=pe*d,ze=We*d,At=wt+_e,Bt=wt+it,Ft=ze+_e,St=ze+it;for(let oe=0;oe<v;++oe){const zt=oe*ge;ce[oe*Me+de]=ct*g[zt+At]+Re*g[zt+Bt]+tt*g[zt+Ft]+It*g[zt+St]}}return ce}function f(g,v,e){const d=new Array(e.length),T=new Array(e.length);for(let F=e.length-1,Ce=1;F>=0;--F)T[F]=Ce,d[F]=v[e[F]],Ce*=d[F];const re=e.map((F,Ce)=>T[e.indexOf(Ce)]),N=new g.constructor(g.length);for(let F=0;F<g.length;++F){let Ce=0;for(let he=v.length-1,ce=F;he>=0;--he)Ce+=ce%v[he]*re[he],ce=Math.floor(ce/v[he]);N[Ce]=g[F]}return[N,d]}function p(g){const v=G(g)[0],e=g.map(re=>Math.exp(re-v)),d=e.reduce((re,N)=>re+N,0);return e.map(re=>re/d)}function C(g){const v=G(g)[0];let e=0;for(let re=0;re<g.length;++re)e+=Math.exp(g[re]-v);const d=Math.log(e);return g.map(re=>re-v-d)}function b(g,v){let e=0;for(let d=0;d<g.length;++d)e+=g[d]*v[d];return e}function k(g,v){return b(g,v)/(E(g)*E(v))}function E(g){return Math.sqrt(g.reduce((v,e)=>v+e*e,0))}function B(g){if(g.length===0)throw Error("Array must not be empty");let v=g[0],e=0;for(let d=1;d<g.length;++d)g[d]<v&&(v=g[d],e=d);return[v,e]}function G(g){if(g.length===0)throw Error("Array must not be empty");let v=g[0],e=0;for(let d=1;d<g.length;++d)g[d]>v&&(v=g[d],e=d);return[v,e]}function D(g){return g>0&&!(g&g-1)}s.r(n),s.d(n,{FFT:()=>j,bankers_round:()=>Z,cos_sim:()=>k,dot:()=>b,dynamic_time_warping:()=>X,interpolate_data:()=>o,log_softmax:()=>C,magnitude:()=>E,max:()=>G,medianFilter:()=>U,min:()=>B,permute_data:()=>f,round:()=>H,softmax:()=>p});class _{constructor(v){if(this.size=0|v,this.size<=1||!D(this.size))throw new Error("FFT size must be a power of two larger than 1");this._csize=v<<1,this.table=new Float64Array(2*this.size);for(let d=0;d<this.table.length;d+=2){const T=Math.PI*d/this.size;this.table[d]=Math.cos(T),this.table[d+1]=-Math.sin(T)}let e=0;for(let d=1;this.size>d;d<<=1)++e;this._width=e%2==0?e-1:e,this._bitrev=new Int32Array(1<<this._width);for(let d=0;d<this._bitrev.length;++d){this._bitrev[d]=0;for(let T=0;T<this._width;T+=2){const re=this._width-T-2;this._bitrev[d]|=(d>>>T&3)<<re}}}createComplexArray(){return new Float64Array(this._csize)}fromComplexArray(v,e){const d=e||new Array(v.length>>>1);for(let T=0;T<v.length;T+=2)d[T>>>1]=v[T];return d}toComplexArray(v,e){const d=e||this.createComplexArray();for(let T=0;T<d.length;T+=2)d[T]=v[T>>>1],d[T+1]=0;return d}transform(v,e){if(v===e)throw new Error("Input and output buffers must be different");this._transform4(v,e,1)}realTransform(v,e){if(v===e)throw new Error("Input and output buffers must be different");this._realTransform4(v,e,1)}inverseTransform(v,e){if(v===e)throw new Error("Input and output buffers must be different");this._transform4(v,e,-1);for(let d=0;d<v.length;++d)v[d]/=this.size}_transform4(v,e,d){const T=this._csize;let re,N,F=1<<this._width,Ce=T/F<<1;const he=this._bitrev;if(Ce===4)for(re=0,N=0;re<T;re+=Ce,++N){const ge=he[N];this._singleTransform2(e,v,re,ge,F)}else for(re=0,N=0;re<T;re+=Ce,++N){const ge=he[N];this._singleTransform4(e,v,re,ge,F,d)}const ce=this.table;for(F>>=2;F>=2;F>>=2){Ce=T/F<<1;const ge=Ce>>>2;for(re=0;re<T;re+=Ce){const Me=re+ge-1;for(let Ue=re,Ne=0;Ue<Me;Ue+=2,Ne+=F){const de=Ue,me=de+ge,we=me+ge,_e=we+ge,pe=v[de],it=v[de+1],We=v[me],ot=v[me+1],pt=v[we],ct=v[we+1],Re=v[_e],tt=v[_e+1],It=ce[Ne],wt=d*ce[Ne+1],ze=We*It-ot*wt,At=We*wt+ot*It,Bt=ce[2*Ne],Ft=d*ce[2*Ne+1],St=pt*Bt-ct*Ft,oe=pt*Ft+ct*Bt,zt=ce[3*Ne],Ie=d*ce[3*Ne+1],fe=Re*zt-tt*Ie,Qe=Re*Ie+tt*zt,Je=pe+St,rt=it+oe,lt=pe-St,xt=it-oe,jt=ze+fe,eA=At+Qe,Lt=d*(ze-fe),gA=d*(At-Qe);v[de]=Je+jt,v[de+1]=rt+eA,v[me]=lt+gA,v[me+1]=xt-Lt,v[we]=Je-jt,v[we+1]=rt-eA,v[_e]=lt-gA,v[_e+1]=xt+Lt}}}}_singleTransform2(v,e,d,T,re){const N=v[T],F=v[T+1],Ce=v[T+re],he=v[T+re+1];e[d]=N+Ce,e[d+1]=F+he,e[d+2]=N-Ce,e[d+3]=F-he}_singleTransform4(v,e,d,T,re,N){const F=2*re,Ce=3*re,he=v[T],ce=v[T+1],ge=v[T+re],Me=v[T+re+1],Ue=v[T+F],Ne=v[T+F+1],de=v[T+Ce],me=v[T+Ce+1],we=he+Ue,_e=ce+Ne,pe=he-Ue,it=ce-Ne,We=ge+de,ot=Me+me,pt=N*(ge-de),ct=N*(Me-me);e[d]=we+We,e[d+1]=_e+ot,e[d+2]=pe+ct,e[d+3]=it-pt,e[d+4]=we-We,e[d+5]=_e-ot,e[d+6]=pe-ct,e[d+7]=it+pt}_realTransform4(v,e,d){const T=this._csize;let re,N,F=1<<this._width,Ce=T/F<<1;const he=this._bitrev;if(Ce===4)for(re=0,N=0;re<T;re+=Ce,++N){const Me=he[N];this._singleRealTransform2(e,v,re,Me>>>1,F>>>1)}else for(re=0,N=0;re<T;re+=Ce,++N){const Me=he[N];this._singleRealTransform4(e,v,re,Me>>>1,F>>>1,d)}const ce=this.table;for(F>>=2;F>=2;F>>=2){Ce=T/F<<1;const Me=Ce>>>1,Ue=Me>>>1,Ne=Ue>>>1;for(re=0;re<T;re+=Ce)for(let de=0,me=0;de<=Ne;de+=2,me+=F){const we=re+de,_e=we+Ue,pe=_e+Ue,it=pe+Ue,We=v[we],ot=v[we+1],pt=v[_e],ct=v[_e+1],Re=v[pe],tt=v[pe+1],It=v[it],wt=v[it+1],ze=We,At=ot,Bt=ce[me],Ft=d*ce[me+1],St=pt*Bt-ct*Ft,oe=pt*Ft+ct*Bt,zt=ce[2*me],Ie=d*ce[2*me+1],fe=Re*zt-tt*Ie,Qe=Re*Ie+tt*zt,Je=ce[3*me],rt=d*ce[3*me+1],lt=It*Je-wt*rt,xt=It*rt+wt*Je,jt=ze+fe,eA=At+Qe,Lt=ze-fe,gA=At-Qe,tA=St+lt,oA=oe+xt,nA=d*(St-lt),IA=d*(oe-xt);if(v[we]=jt+tA,v[we+1]=eA+oA,v[_e]=Lt+IA,v[_e+1]=gA-nA,de===0){v[pe]=jt-tA,v[pe+1]=eA-oA;continue}if(de===Ne)continue;const EA=re+Ue-de,Gt=re+Me-de;v[EA]=Lt-d*IA,v[EA+1]=-gA-d*nA,v[Gt]=jt-d*tA,v[Gt+1]=d*oA-eA}}const ge=T>>>1;for(let Me=2;Me<ge;Me+=2)v[T-Me]=v[Me],v[T-Me+1]=-v[Me+1]}_singleRealTransform2(v,e,d,T,re){const N=v[T],F=v[T+re];e[d]=N+F,e[d+1]=0,e[d+2]=N-F,e[d+3]=0}_singleRealTransform4(v,e,d,T,re,N){const F=2*re,Ce=3*re,he=v[T],ce=v[T+re],ge=v[T+F],Me=v[T+Ce],Ue=he+ge,Ne=he-ge,de=ce+Me,me=N*(ce-Me);e[d]=Ue+de,e[d+1]=0,e[d+2]=Ne,e[d+3]=-me,e[d+4]=Ue-de,e[d+5]=0,e[d+6]=Ne,e[d+7]=me}}class O{constructor(v){const e=2*(v-1),d=2*(2*v-1),T=2**Math.ceil(Math.log2(d));this.bufferSize=T,this._a=e;const re=new Float64Array(d),N=new Float64Array(T);this._chirpBuffer=new Float64Array(T),this._buffer1=new Float64Array(T),this._buffer2=new Float64Array(T),this._outBuffer1=new Float64Array(T),this._outBuffer2=new Float64Array(T);const F=-2*Math.PI/v,Ce=Math.cos(F),he=Math.sin(F);for(let ce=0;ce<d>>1;++ce){const ge=(ce+1-v)**2/2,Me=Math.sqrt(Ce**2+he**2)**ge,Ue=ge*Math.atan2(he,Ce),Ne=2*ce;re[Ne]=Me*Math.cos(Ue),re[Ne+1]=Me*Math.sin(Ue),N[Ne]=re[Ne],N[Ne+1]=-re[Ne+1]}this._slicedChirpBuffer=re.subarray(e,d),this._f=new _(T>>1),this._f.transform(this._chirpBuffer,N)}_transform(v,e,d){const T=this._buffer1,re=this._buffer2,N=this._outBuffer1,F=this._outBuffer2,Ce=this._chirpBuffer,he=this._slicedChirpBuffer,ce=this._a;if(d)for(let ge=0;ge<he.length;ge+=2){const Me=ge+1,Ue=e[ge>>1];T[ge]=Ue*he[ge],T[Me]=Ue*he[Me]}else for(let ge=0;ge<he.length;ge+=2){const Me=ge+1;T[ge]=e[ge]*he[ge]-e[Me]*he[Me],T[Me]=e[ge]*he[Me]+e[Me]*he[ge]}this._f.transform(N,T);for(let ge=0;ge<Ce.length;ge+=2){const Me=ge+1;re[ge]=N[ge]*Ce[ge]-N[Me]*Ce[Me],re[Me]=N[ge]*Ce[Me]+N[Me]*Ce[ge]}this._f.inverseTransform(F,re);for(let ge=0;ge<F.length;ge+=2){const Me=F[ge+ce],Ue=F[ge+ce+1],Ne=he[ge],de=he[ge+1];v[ge]=Me*Ne-Ue*de,v[ge+1]=Me*de+Ue*Ne}}transform(v,e){this._transform(v,e,!1)}realTransform(v,e){this._transform(v,e,!0)}}class j{constructor(v){this.fft_length=v,this.isPowerOfTwo=D(v),this.isPowerOfTwo?(this.fft=new _(v),this.outputBufferSize=2*v):(this.fft=new O(v),this.outputBufferSize=this.fft.bufferSize)}realTransform(v,e){this.fft.realTransform(v,e)}transform(v,e){this.fft.transform(v,e)}}function U(g,v){if(v%2==0||v<=0)throw new Error("Window size must be a positive odd number");const e=new g.constructor(g.length),d=new g.constructor(v),T=Math.floor(v/2);for(let re=0;re<g.length;++re){let N=0;for(let F=-T;F<=T;++F){let Ce=re+F;Ce<0?Ce=Math.abs(Ce):Ce>=g.length&&(Ce=2*(g.length-1)-Ce),d[N++]=g[Ce]}d.sort(),e[re]=d[T]}return e}function H(g,v){const e=Math.pow(10,v);return Math.round(g*e)/e}function Z(g){const v=Math.round(g);return Math.abs(g)%1==.5?v%2==0?v:v-1:v}function X(g){const v=g.length,e=g[0].length,d=[v+1,e+1],T=Array.from({length:d[0]},()=>Array(d[1]).fill(1/0));T[0][0]=0;const re=Array.from({length:d[0]},()=>Array(d[1]).fill(-1));for(let ce=1;ce<d[1];++ce)for(let ge=1;ge<d[0];++ge){const Me=T[ge-1][ce-1],Ue=T[ge-1][ce],Ne=T[ge][ce-1];let de,me;Me<Ue&&Me<Ne?(de=Me,me=0):Ue<Me&&Ue<Ne?(de=Ue,me=1):(de=Ne,me=2),T[ge][ce]=g[ge-1][ce-1]+de,re[ge][ce]=me}for(let ce=0;ce<d[1];++ce)re[0][ce]=2;for(let ce=0;ce<d[0];++ce)re[ce][0]=1;let N=v,F=e,Ce=[],he=[];for(;N>0||F>0;)switch(Ce.push(N-1),he.push(F-1),re[N][F]){case 0:--N,--F;break;case 1:--N;break;case 2:--F;break;default:throw new Error(`Internal error in dynamic time warping. Unexpected trace[${N}, ${F}]. Please file a bug report.`)}return Ce.reverse(),he.reverse(),[Ce,he]}},
2810"./src/utils/tensor.js":(c,n,s)=>{s.r(n),s.d(n,{Tensor:()=>b,cat:()=>v,full:()=>F,full_like:()=>Ce,interpolate:()=>E,interpolate_4d:()=>B,layer_norm:()=>H,matmul:()=>G,mean:()=>re,mean_pooling:()=>U,ones:()=>he,ones_like:()=>ce,permute:()=>k,quantize_embeddings:()=>Ne,rand:()=>Ue,rfft:()=>D,slice:()=>j,stack:()=>e,std_mean:()=>T,topk:()=>_,zeros:()=>ge,zeros_like:()=>Me});var o=s("./src/utils/maths.js"),f=s("./src/backends/onnx.js"),p=s("./src/ops/registry.js");const C=Object.freeze({float32:Float32Array,float16:Uint16Array,float64:Float64Array,string:Array,int8:Int8Array,uint8:Uint8Array,int16:Int16Array,uint16:Uint16Array,int32:Int32Array,uint32:Uint32Array,int64:BigInt64Array,uint64:BigUint64Array,bool:Uint8Array,uint4:Uint8Array,int4:Int8Array});class b{constructor(...me){Ct(this,"ort_tensor");return(0,f.isONNXTensor)(me[0])?this.ort_tensor=me[0]:this.ort_tensor=new f.Tensor(me[0],me[1],me[2]),new Proxy(this,{get:(we,_e)=>{if(typeof _e=="string"){let pe=Number(_e);if(Number.isInteger(pe))return we._getitem(pe)}return we[_e]},set:(we,_e,pe)=>we[_e]=pe})}get dims(){return this.ort_tensor.dims}set dims(me){this.ort_tensor.dims=me}get type(){return this.ort_tensor.type}get data(){return this.ort_tensor.data}get size(){return this.ort_tensor.size}get location(){return this.ort_tensor.location}dispose(){this.ort_tensor.dispose()}*[Symbol.iterator](){const[me,...we]=this.dims;if(we.length>0){const _e=we.reduce((pe,it)=>pe*it);for(let pe=0;pe<me;++pe)yield this._subarray(pe,_e,we)}else yield*this.data}_getitem(me){const[we,..._e]=this.dims;if(me=g(me,we),_e.length>0){const pe=_e.reduce((it,We)=>it*We);return this._subarray(me,pe,_e)}return new b(this.type,[this.data[me]],_e)}indexOf(me){const we=this.data;for(let _e=0;_e<we.length;++_e)if(we[_e]==me)return _e;return-1}_subarray(me,we,_e){const pe=me*we,it=(me+1)*we,We="subarray"in this.data?this.data.subarray(pe,it):this.data.slice(pe,it);return new b(this.type,We,_e)}item(){const me=this.data;if(me.length!==1)throw new Error(`a Tensor with ${me.length} elements cannot be converted to Scalar`);return me[0]}tolist(){return function(me,we){const _e=me.length,pe=we.reduce((We,ot)=>We*ot);if(_e!==pe)throw Error(`cannot reshape array of size ${_e} into shape (${we})`);let it=me;for(let We=we.length-1;We>=0;We--)it=it.reduce((ot,pt)=>{let ct=ot[ot.length-1];return ct.length<we[We]?ct.push(pt):ot.push([pt]),ot},[[]]);return it[0]}(this.data,this.dims)}sigmoid(){return this.clone().sigmoid_()}sigmoid_(){const me=this.data;for(let we=0;we<me.length;++we)me[we]=1/(1+Math.exp(-me[we]));return this}map(me){return this.clone().map_(me)}map_(me){const we=this.data;for(let _e=0;_e<we.length;++_e)we[_e]=me(we[_e],_e,we);return this}mul(me){return this.clone().mul_(me)}mul_(me){const we=this.data;for(let _e=0;_e<we.length;++_e)we[_e]*=me;return this}div(me){return this.clone().div_(me)}div_(me){const we=this.data;for(let _e=0;_e<we.length;++_e)we[_e]/=me;return this}add(me){return this.clone().add_(me)}add_(me){const we=this.data;for(let _e=0;_e<we.length;++_e)we[_e]+=me;return this}sub(me){return this.clone().sub_(me)}sub_(me){const we=this.data;for(let _e=0;_e<we.length;++_e)we[_e]-=me;return this}clone(){return new b(this.type,this.data.slice(),this.dims.slice())}slice(...me){const we=[],_e=[];for(let ct=0;ct<this.dims.length;++ct){let Re=me[ct];
2810if(Re==null)_e.push([0,this.dims[ct]]),we.push(this.dims[ct]);else if(typeof Re=="number")Re=g(Re,this.dims[ct],ct),_e.push([Re,Re+1]);else{if(!Array.isArray(Re)||Re.length!==2)throw new Error(`Invalid slice: ${Re}`);{let[tt,It]=Re;if(tt=tt===null?0:g(tt,this.dims[ct],ct,!1),It=It===null?this.dims[ct]:g(It,this.dims[ct],ct,!1),tt>It)throw new Error(`Invalid slice: ${Re}`);const wt=[Math.max(tt,0),Math.min(It,this.dims[ct])];_e.push(wt),we.push(wt[1]-wt[0])}}}const pe=_e.map(([ct,Re])=>Re-ct),it=pe.reduce((ct,Re)=>ct*Re),We=this.data,ot=new We.constructor(it),pt=this.stride();for(let ct=0;ct<it;++ct){let Re=0;for(let tt=pe.length-1,It=ct;tt>=0;--tt){const wt=pe[tt];Re+=(It%wt+_e[tt][0])*pt[tt],It=Math.floor(It/wt)}ot[ct]=We[Re]}return new b(this.type,ot,we)}permute(...me){return k(this,me)}transpose(...me){return this.permute(...me)}sum(me=null,we=!1){return this.norm(1,me,we)}norm(me="fro",we=null,_e=!1){if(me==="fro")me=2;else if(typeof me=="string")throw Error(`Unsupported norm: ${me}`);const pe=this.data,it=(ct,Re)=>ct+Re**me;if(we===null){const ct=pe.reduce(it,0)**(1/me);return new b(this.type,[ct],[])}const[We,ot,pt]=d(it,this,we,_e);if(me!==1)for(let ct=0;ct<ot.length;++ct)ot[ct]=ot[ct]**(1/me);return new b(We,ot,pt)}normalize_(me=2,we=1){we=g(we,this.dims.length);const _e=this.norm(me,we,!0),pe=this.data,it=_e.data;for(let We=0;We<pe.length;++We){let ot=0;for(let pt=this.dims.length-1,ct=We,Re=1;pt>=0;--pt){const tt=this.dims[pt];pt!==we&&(ot+=ct%tt*Re,Re*=this.dims[pt]),ct=Math.floor(ct/tt)}pe[We]/=it[ot]}return this}normalize(me=2,we=1){return this.clone().normalize_(me,we)}stride(){return function(me){const we=new Array(me.length);for(let _e=me.length-1,pe=1;_e>=0;--_e)we[_e]=pe,pe*=me[_e];return we}(this.dims)}squeeze(me=null){return new b(this.type,this.data,Z(this.dims,me))}squeeze_(me=null){return this.dims=Z(this.dims,me),this}unsqueeze(me=null){return new b(this.type,this.data,X(this.dims,me))}unsqueeze_(me=null){return this.dims=X(this.dims,me),this}flatten_(me=0,we=-1){we=(we+this.dims.length)%this.dims.length;let _e=this.dims.slice(0,me),pe=this.dims.slice(me,we+1),it=this.dims.slice(we+1);return this.dims=[..._e,pe.reduce((We,ot)=>We*ot,1),...it],this}flatten(me=0,we=-1){return this.clone().flatten_(me,we)}view(...me){let we=-1;for(let pe=0;pe<me.length;++pe)if(me[pe]===-1){if(we!==-1)throw new Error("Only one dimension can be inferred");we=pe}const _e=this.data;if(we!==-1){const pe=me.reduce((it,We,ot)=>ot!==we?it*We:it,1);me[we]=_e.length/pe}return new b(this.type,_e,me)}neg_(){const me=this.data;for(let we=0;we<me.length;++we)me[we]=-me[we];return this}neg(){return this.clone().neg_()}gt(me){const we=new Uint8Array(this.data.length),_e=this.data;for(let pe=0;pe<_e.length;++pe)we[pe]=_e[pe]>me?1:0;return new b("bool",we,this.dims)}lt(me){const we=new Uint8Array(this.data.length),_e=this.data;for(let pe=0;pe<_e.length;++pe)we[pe]=_e[pe]<me?1:0;return new b("bool",we,this.dims)}clamp_(me,we){const _e=this.data;for(let pe=0;pe<_e.length;++pe)_e[pe]=Math.min(Math.max(_e[pe],me),we);return this}clamp(me,we){return this.clone().clamp_(me,we)}round_(){const me=this.data;for(let we=0;we<me.length;++we)me[we]=Math.round(me[we]);return this}round(){return this.clone().round_()}mean(me=null,we=!1){return re(this,me,we)}min(me=null,we=!1){if(me===null){const We=(0,o.min)(this.data)[0];return new b(this.type,[We],[])}const[_e,pe,it]=d((We,ot)=>Math.min(We,ot),this,me,we,1/0);return new b(_e,pe,it)}max(me=null,we=!1){if(me===null){const We=(0,o.max)(this.data)[0];return new b(this.type,[We],[])}const[_e,pe,it]=d((We,ot)=>Math.max(We,ot),this,me,we,-1/0);return new b(_e,pe,it)}argmin(me=null,we=!1){if(me!==null)throw new Error("`dim !== null` not yet implemented.");const _e=(0,o.min)(this.data)[1];return new b("int64",[BigInt(_e)],[])}argmax(me=null,we=!1){if(me!==null)throw new Error("`dim !== null` not yet implemented.");const _e=(0,o.max)(this.data)[1];return new b("int64",[BigInt(_e)],[])}to(me){if(this.type===me)return this;if(!C.hasOwnProperty(me))throw new Error(`Unsupported type: ${me}`);let we;const _e=["int64","uint64"].includes(this.type),pe=["int64","uint64"].includes(me);return _e&&!pe?we=Number:!_e&&pe&&(we=BigInt),new b(me,C[me].from(this.data,we),this.dims)}}function k(de,me){const[we,_e]=(0,o.permute_data)(de.data,de.dims,me);return new b(de.type,we,_e)}function E(de,[me,we],_e="bilinear",pe=!1){const it=de.dims.at(-3)??1,We=de.dims.at(-2),ot=de.dims.at(-1);let pt=(0,o.interpolate_data)(de.data,[it,We,ot],[me,we],_e,pe);return new b(de.type,pt,[it,me,we])}async function B(de,{size:me=null,mode:we="bilinear"}={}){if(de.dims.length!==4)throw new Error("`interpolate_4d` currently only supports 4D input.");if(!me)throw new Error("`interpolate_4d` requires a `size` argument.");let _e,pe;if(me.length===2)_e=[...de.dims.slice(0,2),...me];else if(me.length===3)_e=[de.dims[0],...me];else{if(me.length!==4)throw new Error("`size` must be of length 2, 3, or 4.");_e=me}if(we==="nearest")pe=await p.TensorOpRegistry.nearest_interpolate_4d;else if(we==="bilinear")pe=await p.TensorOpRegistry.bilinear_interpolate_4d;else{if(we!=="bicubic")throw new Error(`Unsupported mode: ${we}`);pe=await p.TensorOpRegistry.bicubic_interpolate_4d}const it=new b("int64",new BigInt64Array(_e.map(BigInt)),[_e.length]);return await pe({x:de,s:it})}async function G(de,me){return await(await p.TensorOpRegistry.matmul)({a:de,b:me})}async function D(de,me){return await(await p.TensorOpRegistry.rfft)({x:de,a:me})}async function _(de,me){const we=await p.TensorOpRegistry.top_k;return me=me==null?de.dims.at(-1):Math.min(me,de.dims.at(-1)),await we({x:de,k:new b("int64",[BigInt(me)],[1])})}const O=de=>new b("int64",de,[de.length]);async function j(de,me,we,_e,pe){return await(await p.TensorOpRegistry.slice)({x:de,s:O(me),e:O(we),a:O(_e),t:O(pe??new Array(_e.length).fill(1))})}function U(de,me){const we=de.data,_e=me.data,pe=[de.dims[0],de.dims[2]],it=new we.constructor(pe[0]*pe[1]),[We,ot,pt]=de.dims;let ct=0;for(let Re=0;Re<We;++Re){const tt=Re*pt*ot;for(let It=0;It<pt;++It){let wt=0,ze=0;const At=Re*ot,Bt=tt+It;for(let St=0;St<ot;++St){const oe=Number(_e[At+St]);ze+=oe,wt+=we[Bt+St*pt]*oe}const Ft=wt/ze;it[ct++]=Ft}}return new b(de.type,it,pe)}function H(de,me,{eps:we=1e-5}={}){if(de.dims.length!==2)throw new Error("`layer_norm` currently only supports 2D input.");const[_e,pe]=de.dims;if(me.length!==1&&me[0]!==pe)throw new Error("`normalized_shape` must be a 1D array with shape `[input.dims[1]]`.");const[it,We]=T(de,1,0,!0),ot=it.data,pt=We.data,ct=de.data,Re=new ct.constructor(ct.length);for(let tt=0;tt<_e;++tt){const It=tt*pe;for(let wt=0;wt<pe;++wt){const ze=It+wt;Re[ze]=(ct[ze]-pt[tt])/(ot[tt]+we)}}return new b(de.type,Re,de.dims)}function Z(de,me){return de=de.slice(),me===null?de=de.filter(we=>we!==1):typeof me=="number"?de[me]===1&&de.splice(me,1):Array.isArray(me)&&(de=de.filter((we,_e)=>we!==1||!me.includes(_e))),de}function X(de,me){return me=g(me,de.length+1),(de=de.slice()).splice(me,0,1),de}function g(de,me,we=null,_e=!0){if(_e&&(de<-me||de>=me))throw new Error(`IndexError: index ${de} is out of bounds for dimension${we===null?"":" "+we} with size ${me}`);return de<0&&(de=(de%me+me)%me),de}function v(de,me=0){me=g(me,de[0].dims.length);const we=de[0].dims.slice();we[me]=de.reduce((We,ot)=>We+ot.dims[me],0);const _e=we.reduce((We,ot)=>We*ot,1),pe=new de[0].data.constructor(_e),it=de[0].type;if(me===0){let We=0;for(const ot of de){const pt=ot.data;pe.set(pt,We),We+=pt.length}}else{let We=0;for(let ot=0;ot<de.length;++ot){const{data:pt,dims:ct}=de[ot];for(let Re=0;Re<pt.length;++Re){let tt=0;for(let It=ct.length-1,wt=Re,ze=1;It>=0;--It){const At=ct[It];let Bt=wt%At;It===me&&(Bt+=We),tt+=Bt*ze,ze*=we[It],wt=Math.floor(wt/At)}pe[tt]=pt[Re]}We+=ct[me]}}return new b(it,pe,we)}
2810function e(de,me=0){return v(de.map(we=>we.unsqueeze(me)),me)}function d(de,me,we=null,_e=!1,pe=null){const it=me.data,We=me.dims;we=g(we,We.length);const ot=We.slice();ot[we]=1;const pt=new it.constructor(it.length/We[we]);pe!==null&&pt.fill(pe);for(let ct=0;ct<it.length;++ct){let Re=0;for(let tt=We.length-1,It=ct,wt=1;tt>=0;--tt){const ze=We[tt];tt!==we&&(Re+=It%ze*wt,wt*=ot[tt]),It=Math.floor(It/ze)}pt[Re]=de(pt[Re],it[ct],ct,Re)}return _e||ot.splice(we,1),[me.type,pt,ot]}function T(de,me=null,we=1,_e=!1){const pe=de.data,it=de.dims;if(me===null){const tt=pe.reduce((At,Bt)=>At+Bt,0),It=tt/pe.length,wt=Math.sqrt(pe.reduce((At,Bt)=>At+(Bt-It)**2,0)/(pe.length-we)),ze=new b(de.type,[It],[]);return[new b(de.type,[wt],[]),ze]}const We=re(de,me=g(me,it.length),_e),ot=We.data,[pt,ct,Re]=d((tt,It,wt,ze)=>tt+(It-ot[ze])**2,de,me,_e);for(let tt=0;tt<ct.length;++tt)ct[tt]=Math.sqrt(ct[tt]/(it[me]-we));return[new b(pt,ct,Re),We]}function re(de,me=null,we=!1){const _e=de.dims,pe=de.data;if(me===null){const pt=pe.reduce((ct,Re)=>ct+Re,0);return new b(de.type,[pt/pe.length],[])}me=g(me,_e.length);const[it,We,ot]=d((pt,ct)=>pt+ct,de,me,we);if(_e[me]!==1)for(let pt=0;pt<We.length;++pt)We[pt]/=_e[me];return new b(it,We,ot)}function N(de,me,we,_e){const pe=de.reduce((it,We)=>it*We,1);return new b(we,new _e(pe).fill(me),de)}function F(de,me){let we,_e;if(typeof me=="number")we="float32",_e=Float32Array;else if(typeof me=="bigint")we="int64",_e=BigInt64Array;else{if(typeof me!="boolean")throw new Error("Unsupported data type: "+typeof me);we="bool",_e=Uint8Array}return N(de,me,we,_e)}function Ce(de,me){return F(de.dims,me)}function he(de){return N(de,1n,"int64",BigInt64Array)}function ce(de){return he(de.dims)}function ge(de){return N(de,0n,"int64",BigInt64Array)}function Me(de){return ge(de.dims)}function Ue(de){const me=de.reduce((we,_e)=>we*_e,1);return new b("float32",Float32Array.from({length:me},()=>Math.random()),de)}function Ne(de,me){if(de.dims.length!==2)throw new Error("The tensor must have 2 dimensions");if(de.dims.at(-1)%8!=0)throw new Error("The last dimension of the tensor must be a multiple of 8");if(!["binary","ubinary"].includes(me))throw new Error("The precision must be either 'binary' or 'ubinary'");const we=me==="binary",_e=we?"int8":"uint8",pe=we?Int8Array:Uint8Array,it=de.data,We=new pe(it.length/8);for(let ot=0;ot<it.length;++ot){const pt=it[ot]>0?1:0,ct=Math.floor(ot/8),Re=ot%8;We[ct]|=pt<<7-Re,we&&Re===0&&(We[ct]-=128)}return new b(_e,We,[de.dims[0],de.dims[1]/8])}}
2810},sp={};function Bs(c){var n=sp[c];if(n!==void 0)return n.exports;var s=sp[c]={exports:{}};return Dm[c](s,s.exports,Bs),s.exports}Bs.m=Dm,v2=Object.getPrototypeOf?c=>Object.getPrototypeOf(c):c=>c.__proto__,Bs.t=function(c,n){if(1&n&&(c=this(c)),8&n||typeof c=="object"&&c&&(4&n&&c.__esModule||16&n&&typeof c.then=="function"))return c;var s=Object.create(null);Bs.r(s);var o={};Of=Of||[null,v2({}),v2([]),v2(v2)];for(var f=2&n&&c;typeof f=="object"&&!~Of.indexOf(f);f=v2(f))Object.getOwnPropertyNames(f).forEach(p=>o[p]=()=>c[p]);return o.default=()=>c,Bs.d(s,o),s},Bs.d=(c,n)=>{for(var s in n)Bs.o(n,s)&&!Bs.o(c,s)&&Object.defineProperty(c,s,{enumerable:!0,get:n[s]})},Bs.o=(c,n)=>Object.prototype.hasOwnProperty.call(c,n),Bs.r=c=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})},(()=>{var c;if(typeof import.meta.url=="string"&&(c=import.meta.url),!c)throw new Error("Automatic publicPath is not supported in this browser");c=c.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),Bs.p=c})(),Bs.b=new URL(import.meta.url);var G2={};(()=>{Bs.r(G2),Bs.d(G2,{ASTFeatureExtractor:()=>B.ASTFeatureExtractor,ASTForAudioClassification:()=>s.ASTForAudioClassification,ASTModel:()=>s.ASTModel,ASTPreTrainedModel:()=>s.ASTPreTrainedModel,AlbertForMaskedLM:()=>s.AlbertForMaskedLM,AlbertForQuestionAnswering:()=>s.AlbertForQuestionAnswering,AlbertForSequenceClassification:()=>s.AlbertForSequenceClassification,AlbertModel:()=>s.AlbertModel,AlbertPreTrainedModel:()=>s.AlbertPreTrainedModel,AlbertTokenizer:()=>o.AlbertTokenizer,AudioClassificationPipeline:()=>n.AudioClassificationPipeline,AutoConfig:()=>f.AutoConfig,AutoFeatureExtractor:()=>G.AutoFeatureExtractor,AutoImageProcessor:()=>O.AutoImageProcessor,AutoModel:()=>s.AutoModel,AutoModelForAudioClassification:()=>s.AutoModelForAudioClassification,AutoModelForAudioFrameClassification:()=>s.AutoModelForAudioFrameClassification,AutoModelForCTC:()=>s.AutoModelForCTC,AutoModelForCausalLM:()=>s.AutoModelForCausalLM,AutoModelForDepthEstimation:()=>s.AutoModelForDepthEstimation,AutoModelForDocumentQuestionAnswering:()=>s.AutoModelForDocumentQuestionAnswering,AutoModelForImageClassification:()=>s.AutoModelForImageClassification,AutoModelForImageFeatureExtraction:()=>s.AutoModelForImageFeatureExtraction,AutoModelForImageMatting:()=>s.AutoModelForImageMatting,AutoModelForImageSegmentation:()=>s.AutoModelForImageSegmentation,AutoModelForImageToImage:()=>s.AutoModelForImageToImage,AutoModelForMaskGeneration:()=>s.AutoModelForMaskGeneration,AutoModelForMaskedLM:()=>s.AutoModelForMaskedLM,AutoModelForNormalEstimation:()=>s.AutoModelForNormalEstimation,AutoModelForObjectDetection:()=>s.AutoModelForObjectDetection,AutoModelForPoseEstimation:()=>s.AutoModelForPoseEstimation,AutoModelForQuestionAnswering:()=>s.AutoModelForQuestionAnswering,AutoModelForSemanticSegmentation:()=>s.AutoModelForSemanticSegmentation,AutoModelForSeq2SeqLM:()=>s.AutoModelForSeq2SeqLM,AutoModelForSequenceClassification:()=>s.AutoModelForSequenceClassification,AutoModelForSpeechSeq2Seq:()=>s.AutoModelForSpeechSeq2Seq,AutoModelForTextToSpectrogram:()=>s.AutoModelForTextToSpectrogram,AutoModelForTextToWaveform:()=>s.AutoModelForTextToWaveform,AutoModelForTokenClassification:()=>s.AutoModelForTokenClassification,AutoModelForUniversalSegmentation:()=>s.AutoModelForUniversalSegmentation,AutoModelForVision2Seq:()=>s.AutoModelForVision2Seq,AutoModelForXVector:()=>s.AutoModelForXVector,AutoModelForZeroShotObjectDetection:()=>s.AutoModelForZeroShotObjectDetection,AutoProcessor:()=>H.AutoProcessor,AutoTokenizer:()=>o.AutoTokenizer,AutomaticSpeechRecognitionPipeline:()=>n.AutomaticSpeechRecognitionPipeline,BartForConditionalGeneration:()=>s.BartForConditionalGeneration,BartForSequenceClassification:()=>s.BartForSequenceClassification,BartModel:()=>s.BartModel,BartPretrainedModel:()=>s.BartPretrainedModel,BartTokenizer:()=>o.BartTokenizer,BaseModelOutput:()=>s.BaseModelOutput,BaseStreamer:()=>Z.BaseStreamer,BeitFeatureExtractor:()=>_.BeitFeatureExtractor,BeitForImageClassification:()=>
2810s.BeitForImageClassification,BeitModel:()=>s.BeitModel,BeitPreTrainedModel:()=>s.BeitPreTrainedModel,BertForMaskedLM:()=>s.BertForMaskedLM,BertForQuestionAnswering:()=>s.BertForQuestionAnswering,BertForSequenceClassification:()=>s.BertForSequenceClassification,BertForTokenClassification:()=>s.BertForTokenClassification,BertModel:()=>s.BertModel,BertPreTrainedModel:()=>s.BertPreTrainedModel,BertTokenizer:()=>o.BertTokenizer,BitImageProcessor:()=>_.BitImageProcessor,BlenderbotForConditionalGeneration:()=>s.BlenderbotForConditionalGeneration,BlenderbotModel:()=>s.BlenderbotModel,BlenderbotPreTrainedModel:()=>s.BlenderbotPreTrainedModel,BlenderbotSmallForConditionalGeneration:()=>s.BlenderbotSmallForConditionalGeneration,BlenderbotSmallModel:()=>s.BlenderbotSmallModel,BlenderbotSmallPreTrainedModel:()=>s.BlenderbotSmallPreTrainedModel,BlenderbotSmallTokenizer:()=>o.BlenderbotSmallTokenizer,BlenderbotTokenizer:()=>o.BlenderbotTokenizer,BloomForCausalLM:()=>s.BloomForCausalLM,BloomModel:()=>s.BloomModel,BloomPreTrainedModel:()=>s.BloomPreTrainedModel,BloomTokenizer:()=>o.BloomTokenizer,CLIPFeatureExtractor:()=>_.CLIPFeatureExtractor,CLIPImageProcessor:()=>_.CLIPImageProcessor,CLIPModel:()=>s.CLIPModel,CLIPPreTrainedModel:()=>s.CLIPPreTrainedModel,CLIPSegForImageSegmentation:()=>s.CLIPSegForImageSegmentation,CLIPSegModel:()=>s.CLIPSegModel,CLIPSegPreTrainedModel:()=>s.CLIPSegPreTrainedModel,CLIPTextModel:()=>s.CLIPTextModel,CLIPTextModelWithProjection:()=>s.CLIPTextModelWithProjection,CLIPTokenizer:()=>o.CLIPTokenizer,CLIPVisionModel:()=>s.CLIPVisionModel,CLIPVisionModelWithProjection:()=>s.CLIPVisionModelWithProjection,CamembertForMaskedLM:()=>s.CamembertForMaskedLM,CamembertForQuestionAnswering:()=>s.CamembertForQuestionAnswering,CamembertForSequenceClassification:()=>s.CamembertForSequenceClassification,CamembertForTokenClassification:()=>s.CamembertForTokenClassification,CamembertModel:()=>s.CamembertModel,CamembertPreTrainedModel:()=>s.CamembertPreTrainedModel,CamembertTokenizer:()=>o.CamembertTokenizer,CausalLMOutput:()=>s.CausalLMOutput,CausalLMOutputWithPast:()=>s.CausalLMOutputWithPast,ChineseCLIPFeatureExtractor:()=>_.ChineseCLIPFeatureExtractor,ChineseCLIPModel:()=>s.ChineseCLIPModel,ChineseCLIPPreTrainedModel:()=>s.ChineseCLIPPreTrainedModel,ClapAudioModelWithProjection:()=>s.ClapAudioModelWithProjection,ClapFeatureExtractor:()=>B.ClapFeatureExtractor,ClapModel:()=>s.ClapModel,ClapPreTrainedModel:()=>s.ClapPreTrainedModel,ClapTextModelWithProjection:()=>s.ClapTextModelWithProjection,ClassifierFreeGuidanceLogitsProcessor:()=>g.ClassifierFreeGuidanceLogitsProcessor,CodeGenForCausalLM:()=>s.CodeGenForCausalLM,CodeGenModel:()=>s.CodeGenModel,CodeGenPreTrainedModel:()=>s.CodeGenPreTrainedModel,CodeGenTokenizer:()=>o.CodeGenTokenizer,CodeLlamaTokenizer:()=>o.CodeLlamaTokenizer,CohereForCausalLM:()=>s.CohereForCausalLM,CohereModel:()=>s.CohereModel,CoherePreTrainedModel:()=>s.CoherePreTrainedModel,CohereTokenizer:()=>o.CohereTokenizer,ConvBertForMaskedLM:()=>s.ConvBertForMaskedLM,ConvBertForQuestionAnswering:()=>s.ConvBertForQuestionAnswering,ConvBertForSequenceClassification:()=>s.ConvBertForSequenceClassification,ConvBertForTokenClassification:()=>s.ConvBertForTokenClassification,ConvBertModel:()=>s.ConvBertModel,ConvBertPreTrainedModel:()=>s.ConvBertPreTrainedModel,ConvBertTokenizer:()=>o.ConvBertTokenizer,ConvNextFeatureExtractor:()=>_.ConvNextFeatureExtractor,ConvNextForImageClassification:()=>s.ConvNextForImageClassification,ConvNextImageProcessor:()=>_.ConvNextImageProcessor,ConvNextModel:()=>s.ConvNextModel,ConvNextPreTrainedModel:()=>s.ConvNextPreTrainedModel,ConvNextV2ForImageClassification:()=>s.ConvNextV2ForImageClassification,ConvNextV2Model:()=>s.ConvNextV2Model,ConvNextV2PreTrainedModel:()=>s.ConvNextV2PreTrainedModel,DPTFeatureExtractor:()=>_.DPTFeatureExtractor,DPTForDepthEstimation:()=>s.DPTForDepthEstimation,DPTImageProcessor:()=>_.DPTImageProcessor,DPTModel:()=>s.DPTModel,DPTPreTrainedModel:()=>s.DPTPreTrainedModel,DebertaForMaskedLM:()=>s.DebertaForMaskedLM,DebertaForQuestionAnswering:()=>s.DebertaForQuestionAnswering,DebertaForSequenceClassification:()=>s.DebertaForSequenceClassification,DebertaForTokenClassification:()=>s.DebertaForTokenClassification,DebertaModel:()=>s.DebertaModel,DebertaPreTrainedModel:()=>s.DebertaPreTrainedModel,DebertaTokenizer:()=>o.DebertaTokenizer,DebertaV2ForMaskedLM:()=>s.DebertaV2ForMaskedLM,DebertaV2ForQuestionAnswering:()=>s.DebertaV2ForQuestionAnswering,DebertaV2ForSequenceClassification:()=>s.DebertaV2ForSequenceClassification,DebertaV2ForTokenClassification:()=>s.DebertaV2ForTokenClassification,DebertaV2Model:()=>s.DebertaV2Model,DebertaV2PreTrainedModel:()=>s.DebertaV2PreTrainedModel,DebertaV2Tokenizer:()=>o.DebertaV2Tokenizer,DecisionTransformerModel:()=>s.DecisionTransformerModel,DecisionTransformerPreTrainedModel:()=>s.DecisionTransformerPreTrainedModel,DeiTFeatureExtractor:()=>_.DeiTFeatureExtractor,DeiTForImageClassification:()=>s.DeiTForImageClassification,DeiTImageProcessor:()=>_.DeiTImageProcessor,DeiTModel:()=>s.DeiTModel,DeiTPreTrainedModel:()=>s.DeiTPreTrainedModel,DepthAnythingForDepthEstimation:()=>s.DepthAnythingForDepthEstimation,DepthAnythingPreTrainedModel:()=>s.DepthAnythingPreTrainedModel,DepthEstimationPipeline:()=>n.DepthEstimationPipeline,DepthProForDepthEstimation:()=>s.DepthProForDepthEstimation,DepthProPreTrainedModel:()=>s.DepthProPreTrainedModel,DetrFeatureExtractor:()=>_.DetrFeatureExtractor,DetrForObjectDetection:()=>s.DetrForObjectDetection,DetrForSegmentation:()=>s.DetrForSegmentation,DetrImageProcessor:()=>_.DetrImageProcessor,DetrModel:()=>s.DetrModel,DetrObjectDetectionOutput:()=>s.DetrObjectDetectionOutput,DetrPreTrainedModel:()=>s.DetrPreTrainedModel,DetrSegmentationOutput:()=>s.DetrSegmentationOutput,Dinov2ForImageClassification:()=>s.Dinov2ForImageClassification,Dinov2Model:()=>s.Dinov2Model,Dinov2PreTrainedModel:()=>s.Dinov2PreTrainedModel,Dinov2WithRegistersForImageClassification:()=>s.Dinov2WithRegistersForImageClassification,Dinov2WithRegistersModel:()=>s.Dinov2WithRegistersModel,Dinov2WithRegistersPreTrainedModel:()=>s.Dinov2WithRegistersPreTrainedModel,DistilBertForMaskedLM:()=>s.DistilBertForMaskedLM,DistilBertForQuestionAnswering:()=>s.DistilBertForQuestionAnswering,DistilBertForSequenceClassification:()=>s.DistilBertForSequenceClassification,DistilBertForTokenClassification:()=>s.DistilBertForTokenClassification,DistilBertModel:()=>s.DistilBertModel,DistilBertPreTrainedModel:()=>s.DistilBertPreTrainedModel,DistilBertTokenizer:()=>o.DistilBertTokenizer,DocumentQuestionAnsweringPipeline:()=>n.DocumentQuestionAnsweringPipeline,DonutFeatureExtractor:()=>_.DonutFeatureExtractor,DonutImageProcessor:()=>_.DonutImageProcessor,DonutSwinModel:()=>s.DonutSwinModel,DonutSwinPreTrainedModel:()=>s.DonutSwinPreTrainedModel,EfficientNetForImageClassification:()=>s.EfficientNetForImageClassification,EfficientNetImageProcessor:()=>_.EfficientNetImageProcessor,EfficientNetModel:()=>s.EfficientNetModel,EfficientNetPreTrainedModel:()=>
2810s.EfficientNetPreTrainedModel,ElectraForMaskedLM:()=>s.ElectraForMaskedLM,ElectraForQuestionAnswering:()=>s.ElectraForQuestionAnswering,ElectraForSequenceClassification:()=>s.ElectraForSequenceClassification,ElectraForTokenClassification:()=>s.ElectraForTokenClassification,ElectraModel:()=>s.ElectraModel,ElectraPreTrainedModel:()=>s.ElectraPreTrainedModel,ElectraTokenizer:()=>o.ElectraTokenizer,EosTokenCriteria:()=>X.EosTokenCriteria,EsmForMaskedLM:()=>s.EsmForMaskedLM,EsmForSequenceClassification:()=>s.EsmForSequenceClassification,EsmForTokenClassification:()=>s.EsmForTokenClassification,EsmModel:()=>s.EsmModel,EsmPreTrainedModel:()=>s.EsmPreTrainedModel,EsmTokenizer:()=>o.EsmTokenizer,ExaoneForCausalLM:()=>s.ExaoneForCausalLM,ExaoneModel:()=>s.ExaoneModel,ExaonePreTrainedModel:()=>s.ExaonePreTrainedModel,FFT:()=>k.FFT,FalconForCausalLM:()=>s.FalconForCausalLM,FalconModel:()=>s.FalconModel,FalconPreTrainedModel:()=>s.FalconPreTrainedModel,FalconTokenizer:()=>o.FalconTokenizer,FastViTForImageClassification:()=>s.FastViTForImageClassification,FastViTModel:()=>s.FastViTModel,FastViTPreTrainedModel:()=>s.FastViTPreTrainedModel,FeatureExtractionPipeline:()=>n.FeatureExtractionPipeline,FeatureExtractor:()=>E.FeatureExtractor,FillMaskPipeline:()=>n.FillMaskPipeline,Florence2ForConditionalGeneration:()=>s.Florence2ForConditionalGeneration,Florence2PreTrainedModel:()=>s.Florence2PreTrainedModel,Florence2Processor:()=>U.Florence2Processor,ForcedBOSTokenLogitsProcessor:()=>g.ForcedBOSTokenLogitsProcessor,ForcedEOSTokenLogitsProcessor:()=>g.ForcedEOSTokenLogitsProcessor,GLPNFeatureExtractor:()=>_.GLPNFeatureExtractor,GLPNForDepthEstimation:()=>s.GLPNForDepthEstimation,GLPNModel:()=>s.GLPNModel,GLPNPreTrainedModel:()=>s.GLPNPreTrainedModel,GPT2LMHeadModel:()=>s.GPT2LMHeadModel,GPT2Model:()=>s.GPT2Model,GPT2PreTrainedModel:()=>s.GPT2PreTrainedModel,GPT2Tokenizer:()=>o.GPT2Tokenizer,GPTBigCodeForCausalLM:()=>s.GPTBigCodeForCausalLM,GPTBigCodeModel:()=>s.GPTBigCodeModel,GPTBigCodePreTrainedModel:()=>s.GPTBigCodePreTrainedModel,GPTJForCausalLM:()=>s.GPTJForCausalLM,GPTJModel:()=>s.GPTJModel,GPTJPreTrainedModel:()=>s.GPTJPreTrainedModel,GPTNeoForCausalLM:()=>s.GPTNeoForCausalLM,GPTNeoModel:()=>s.GPTNeoModel,GPTNeoPreTrainedModel:()=>s.GPTNeoPreTrainedModel,GPTNeoXForCausalLM:()=>s.GPTNeoXForCausalLM,GPTNeoXModel:()=>s.GPTNeoXModel,GPTNeoXPreTrainedModel:()=>s.GPTNeoXPreTrainedModel,GPTNeoXTokenizer:()=>o.GPTNeoXTokenizer,Gemma2ForCausalLM:()=>s.Gemma2ForCausalLM,Gemma2Model:()=>s.Gemma2Model,Gemma2PreTrainedModel:()=>s.Gemma2PreTrainedModel,GemmaForCausalLM:()=>s.GemmaForCausalLM,GemmaModel:()=>s.GemmaModel,GemmaPreTrainedModel:()=>s.GemmaPreTrainedModel,GemmaTokenizer:()=>o.GemmaTokenizer,GlmForCausalLM:()=>s.GlmForCausalLM,GlmModel:()=>s.GlmModel,GlmPreTrainedModel:()=>s.GlmPreTrainedModel,GraniteForCausalLM:()=>s.GraniteForCausalLM,GraniteModel:()=>s.GraniteModel,GranitePreTrainedModel:()=>s.GranitePreTrainedModel,Grok1Tokenizer:()=>o.Grok1Tokenizer,GroundingDinoForObjectDetection:()=>s.GroundingDinoForObjectDetection,GroundingDinoImageProcessor:()=>_.GroundingDinoImageProcessor,GroundingDinoPreTrainedModel:()=>s.GroundingDinoPreTrainedModel,GroundingDinoProcessor:()=>U.GroundingDinoProcessor,GroupViTModel:()=>s.GroupViTModel,GroupViTPreTrainedModel:()=>s.GroupViTPreTrainedModel,HeliumForCausalLM:()=>s.HeliumForCausalLM,HeliumModel:()=>s.HeliumModel,HeliumPreTrainedModel:()=>s.HeliumPreTrainedModel,HerbertTokenizer:()=>o.HerbertTokenizer,HieraForImageClassification:()=>s.HieraForImageClassification,HieraModel:()=>s.HieraModel,HieraPreTrainedModel:()=>s.HieraPreTrainedModel,HubertForCTC:()=>s.HubertForCTC,HubertForSequenceClassification:()=>s.HubertForSequenceClassification,HubertModel:()=>s.HubertModel,HubertPreTrainedModel:()=>s.HubertPreTrainedModel,IJepaForImageClassification:()=>s.IJepaForImageClassification,IJepaModel:()=>s.IJepaModel,IJepaPreTrainedModel:()=>s.IJepaPreTrainedModel,Idefics3ForConditionalGeneration:()=>s.Idefics3ForConditionalGeneration,Idefics3ImageProcessor:()=>_.Idefics3ImageProcessor,Idefics3PreTrainedModel:()=>s.Idefics3PreTrainedModel,Idefics3Processor:()=>
2810U.Idefics3Processor,ImageClassificationPipeline:()=>n.ImageClassificationPipeline,ImageFeatureExtractionPipeline:()=>n.ImageFeatureExtractionPipeline,ImageFeatureExtractor:()=>B.ImageFeatureExtractor,ImageMattingOutput:()=>s.ImageMattingOutput,ImageProcessor:()=>D.ImageProcessor,ImageSegmentationPipeline:()=>n.ImageSegmentationPipeline,ImageToImagePipeline:()=>n.ImageToImagePipeline,ImageToTextPipeline:()=>n.ImageToTextPipeline,InterruptableStoppingCriteria:()=>X.InterruptableStoppingCriteria,JAISLMHeadModel:()=>s.JAISLMHeadModel,JAISModel:()=>s.JAISModel,JAISPreTrainedModel:()=>s.JAISPreTrainedModel,JinaCLIPImageProcessor:()=>_.JinaCLIPImageProcessor,JinaCLIPModel:()=>s.JinaCLIPModel,JinaCLIPPreTrainedModel:()=>s.JinaCLIPPreTrainedModel,JinaCLIPProcessor:()=>U.JinaCLIPProcessor,JinaCLIPTextModel:()=>s.JinaCLIPTextModel,JinaCLIPVisionModel:()=>s.JinaCLIPVisionModel,LlamaForCausalLM:()=>s.LlamaForCausalLM,LlamaModel:()=>s.LlamaModel,LlamaPreTrainedModel:()=>s.LlamaPreTrainedModel,LlamaTokenizer:()=>o.LlamaTokenizer,LlavaForConditionalGeneration:()=>s.LlavaForConditionalGeneration,LlavaOnevisionForConditionalGeneration:()=>s.LlavaOnevisionForConditionalGeneration,LlavaOnevisionImageProcessor:()=>_.LlavaOnevisionImageProcessor,LlavaPreTrainedModel:()=>s.LlavaPreTrainedModel,LogitsProcessor:()=>g.LogitsProcessor,LogitsProcessorList:()=>g.LogitsProcessorList,LogitsWarper:()=>g.LogitsWarper,LongT5ForConditionalGeneration:()=>s.LongT5ForConditionalGeneration,LongT5Model:()=>s.LongT5Model,LongT5PreTrainedModel:()=>s.LongT5PreTrainedModel,M2M100ForConditionalGeneration:()=>s.M2M100ForConditionalGeneration,M2M100Model:()=>s.M2M100Model,M2M100PreTrainedModel:()=>s.M2M100PreTrainedModel,M2M100Tokenizer:()=>o.M2M100Tokenizer,MBart50Tokenizer:()=>o.MBart50Tokenizer,MBartForCausalLM:()=>s.MBartForCausalLM,MBartForConditionalGeneration:()=>s.MBartForConditionalGeneration,MBartForSequenceClassification:()=>s.MBartForSequenceClassification,MBartModel:()=>s.MBartModel,MBartPreTrainedModel:()=>s.MBartPreTrainedModel,MBartTokenizer:()=>o.MBartTokenizer,MPNetForMaskedLM:()=>s.MPNetForMaskedLM,MPNetForQuestionAnswering:()=>s.MPNetForQuestionAnswering,MPNetForSequenceClassification:()=>s.MPNetForSequenceClassification,MPNetForTokenClassification:()=>s.MPNetForTokenClassification,MPNetModel:()=>s.MPNetModel,MPNetPreTrainedModel:()=>s.MPNetPreTrainedModel,MPNetTokenizer:()=>o.MPNetTokenizer,MT5ForConditionalGeneration:()=>s.MT5ForConditionalGeneration,MT5Model:()=>s.MT5Model,MT5PreTrainedModel:()=>s.MT5PreTrainedModel,MarianMTModel:()=>s.MarianMTModel,MarianModel:()=>s.MarianModel,MarianPreTrainedModel:()=>s.MarianPreTrainedModel,MarianTokenizer:()=>o.MarianTokenizer,Mask2FormerImageProcessor:()=>_.Mask2FormerImageProcessor,MaskFormerFeatureExtractor:()=>_.MaskFormerFeatureExtractor,MaskFormerForInstanceSegmentation:()=>s.MaskFormerForInstanceSegmentation,MaskFormerImageProcessor:()=>_.MaskFormerImageProcessor,MaskFormerModel:()=>s.MaskFormerModel,MaskFormerPreTrainedModel:()=>s.MaskFormerPreTrainedModel,MaskedLMOutput:()=>s.MaskedLMOutput,MaxLengthCriteria:()=>X.MaxLengthCriteria,MgpstrForSceneTextRecognition:()=>s.MgpstrForSceneTextRecognition,MgpstrModelOutput:()=>s.MgpstrModelOutput,MgpstrPreTrainedModel:()=>s.MgpstrPreTrainedModel,MgpstrProcessor:()=>U.MgpstrProcessor,MgpstrTokenizer:()=>o.MgpstrTokenizer,MinLengthLogitsProcessor:()=>g.MinLengthLogitsProcessor,MinNewTokensLengthLogitsProcessor:()=>g.MinNewTokensLengthLogitsProcessor,MistralForCausalLM:()=>s.MistralForCausalLM,MistralModel:()=>s.MistralModel,MistralPreTrainedModel:()=>s.MistralPreTrainedModel,MobileBertForMaskedLM:()=>s.MobileBertForMaskedLM,MobileBertForQuestionAnswering:()=>s.MobileBertForQuestionAnswering,MobileBertForSequenceClassification:()=>s.MobileBertForSequenceClassification,MobileBertModel:()=>s.MobileBertModel,MobileBertPreTrainedModel:()=>s.MobileBertPreTrainedModel,MobileBertTokenizer:()=>o.MobileBertTokenizer,MobileLLMForCausalLM:()=>s.MobileLLMForCausalLM,MobileLLMModel:()=>s.MobileLLMModel,MobileLLMPreTrainedModel:()=>s.MobileLLMPreTrainedModel,MobileNetV1FeatureExtractor:()=>_.MobileNetV1FeatureExtractor,MobileNetV1ForImageClassification:()=>s.MobileNetV1ForImageClassification,MobileNetV1ImageProcessor:()=>_.MobileNetV1ImageProcessor,MobileNetV1Model:()=>s.MobileNetV1Model,MobileNetV1PreTrainedModel:()=>s.MobileNetV1PreTrainedModel,MobileNetV2FeatureExtractor:()=>_.MobileNetV2FeatureExtractor,MobileNetV2ForImageClassification:()=>s.MobileNetV2ForImageClassification,MobileNetV2ImageProcessor:()=>_.MobileNetV2ImageProcessor,MobileNetV2Model:()=>s.MobileNetV2Model,MobileNetV2PreTrainedModel:()=>s.MobileNetV2PreTrainedModel,MobileNetV3FeatureExtractor:()=>_.MobileNetV3FeatureExtractor,MobileNetV3ForImageClassification:()=>s.MobileNetV3ForImageClassification,MobileNetV3ImageProcessor:()=>_.MobileNetV3ImageProcessor,MobileNetV3Model:()=>s.MobileNetV3Model,MobileNetV3PreTrainedModel:()=>s.MobileNetV3PreTrainedModel,MobileNetV4FeatureExtractor:()=>_.MobileNetV4FeatureExtractor,MobileNetV4ForImageClassification:()=>s.MobileNetV4ForImageClassification,MobileNetV4ImageProcessor:()=>_.MobileNetV4ImageProcessor,MobileNetV4Model:()=>s.MobileNetV4Model,MobileNetV4PreTrainedModel:()=>s.MobileNetV4PreTrainedModel,MobileViTFeatureExtractor:()=>_.MobileViTFeatureExtractor,MobileViTForImageClassification:()=>s.MobileViTForImageClassification,MobileViTImageProcessor:()=>_.MobileViTImageProcessor,MobileViTModel:()=>s.MobileViTModel,MobileViTPreTrainedModel:()=>s.MobileViTPreTrainedModel,MobileViTV2ForImageClassification:()=>s.MobileViTV2ForImageClassification,MobileViTV2Model:()=>s.MobileViTV2Model,MobileViTV2PreTrainedModel:()=>s.MobileViTV2PreTrainedModel,ModelOutput:()=>s.ModelOutput,ModernBertForMaskedLM:()=>s.ModernBertForMaskedLM,ModernBertForSequenceClassification:()=>s.ModernBertForSequenceClassification,ModernBertForTokenClassification:()=>s.ModernBertForTokenClassification,ModernBertModel:()=>s.ModernBertModel,ModernBertPreTrainedModel:()=>s.ModernBertPreTrainedModel,Moondream1ForConditionalGeneration:()=>s.Moondream1ForConditionalGeneration,MoonshineFeatureExtractor:()=>B.MoonshineFeatureExtractor,MoonshineForConditionalGeneration:()=>s.MoonshineForConditionalGeneration,MoonshineModel:()=>s.MoonshineModel,MoonshinePreTrainedModel:()=>s.MoonshinePreTrainedModel,MoonshineProcessor:()=>U.MoonshineProcessor,MptForCausalLM:()=>s.MptForCausalLM,MptModel:()=>s.MptModel,MptPreTrainedModel:()=>
2810s.MptPreTrainedModel,MultiModalityCausalLM:()=>s.MultiModalityCausalLM,MultiModalityPreTrainedModel:()=>s.MultiModalityPreTrainedModel,MusicgenForCausalLM:()=>s.MusicgenForCausalLM,MusicgenForConditionalGeneration:()=>s.MusicgenForConditionalGeneration,MusicgenModel:()=>s.MusicgenModel,MusicgenPreTrainedModel:()=>s.MusicgenPreTrainedModel,NllbTokenizer:()=>o.NllbTokenizer,NoBadWordsLogitsProcessor:()=>g.NoBadWordsLogitsProcessor,NoRepeatNGramLogitsProcessor:()=>g.NoRepeatNGramLogitsProcessor,NomicBertModel:()=>s.NomicBertModel,NomicBertPreTrainedModel:()=>s.NomicBertPreTrainedModel,NougatImageProcessor:()=>_.NougatImageProcessor,NougatTokenizer:()=>o.NougatTokenizer,OPTForCausalLM:()=>s.OPTForCausalLM,OPTModel:()=>s.OPTModel,OPTPreTrainedModel:()=>s.OPTPreTrainedModel,ObjectDetectionPipeline:()=>n.ObjectDetectionPipeline,Olmo2ForCausalLM:()=>s.Olmo2ForCausalLM,Olmo2Model:()=>s.Olmo2Model,Olmo2PreTrainedModel:()=>s.Olmo2PreTrainedModel,OlmoForCausalLM:()=>s.OlmoForCausalLM,OlmoModel:()=>s.OlmoModel,OlmoPreTrainedModel:()=>s.OlmoPreTrainedModel,OpenELMForCausalLM:()=>s.OpenELMForCausalLM,OpenELMModel:()=>s.OpenELMModel,OpenELMPreTrainedModel:()=>s.OpenELMPreTrainedModel,OwlViTFeatureExtractor:()=>_.OwlViTFeatureExtractor,OwlViTForObjectDetection:()=>s.OwlViTForObjectDetection,OwlViTImageProcessor:()=>_.OwlViTImageProcessor,OwlViTModel:()=>s.OwlViTModel,OwlViTPreTrainedModel:()=>s.OwlViTPreTrainedModel,OwlViTProcessor:()=>U.OwlViTProcessor,Owlv2ForObjectDetection:()=>s.Owlv2ForObjectDetection,Owlv2ImageProcessor:()=>_.Owlv2ImageProcessor,Owlv2Model:()=>s.Owlv2Model,Owlv2PreTrainedModel:()=>s.Owlv2PreTrainedModel,PaliGemmaForConditionalGeneration:()=>s.PaliGemmaForConditionalGeneration,PaliGemmaPreTrainedModel:()=>s.PaliGemmaPreTrainedModel,PaliGemmaProcessor:()=>U.PaliGemmaProcessor,PatchTSMixerForPrediction:()=>s.PatchTSMixerForPrediction,PatchTSMixerModel:()=>s.PatchTSMixerModel,PatchTSMixerPreTrainedModel:()=>s.PatchTSMixerPreTrainedModel,PatchTSTForPrediction:()=>s.PatchTSTForPrediction,PatchTSTModel:()=>s.PatchTSTModel,PatchTSTPreTrainedModel:()=>s.PatchTSTPreTrainedModel,Phi3ForCausalLM:()=>s.Phi3ForCausalLM,Phi3Model:()=>s.Phi3Model,Phi3PreTrainedModel:()=>s.Phi3PreTrainedModel,Phi3VForCausalLM:()=>s.Phi3VForCausalLM,Phi3VImageProcessor:()=>_.Phi3VImageProcessor,Phi3VPreTrainedModel:()=>s.Phi3VPreTrainedModel,Phi3VProcessor:()=>U.Phi3VProcessor,PhiForCausalLM:()=>s.PhiForCausalLM,PhiModel:()=>s.PhiModel,PhiPreTrainedModel:()=>s.PhiPreTrainedModel,Pipeline:()=>n.Pipeline,PreTrainedModel:()=>s.PreTrainedModel,PreTrainedTokenizer:()=>o.PreTrainedTokenizer,PretrainedConfig:()=>f.PretrainedConfig,PretrainedMixin:()=>s.PretrainedMixin,Processor:()=>j.Processor,PvtForImageClassification:()=>s.PvtForImageClassification,PvtImageProcessor:()=>_.PvtImageProcessor,PvtModel:()=>s.PvtModel,PvtPreTrainedModel:()=>s.PvtPreTrainedModel,PyAnnoteFeatureExtractor:()=>B.PyAnnoteFeatureExtractor,PyAnnoteForAudioFrameClassification:()=>s.PyAnnoteForAudioFrameClassification,PyAnnoteModel:()=>s.PyAnnoteModel,PyAnnotePreTrainedModel:()=>s.PyAnnotePreTrainedModel,PyAnnoteProcessor:()=>U.PyAnnoteProcessor,QuestionAnsweringModelOutput:()=>s.QuestionAnsweringModelOutput,QuestionAnsweringPipeline:()=>n.QuestionAnsweringPipeline,Qwen2ForCausalLM:()=>s.Qwen2ForCausalLM,Qwen2Model:()=>s.Qwen2Model,Qwen2PreTrainedModel:()=>s.Qwen2PreTrainedModel,Qwen2Tokenizer:()=>o.Qwen2Tokenizer,Qwen2VLForConditionalGeneration:()=>s.Qwen2VLForConditionalGeneration,Qwen2VLImageProcessor:()=>_.Qwen2VLImageProcessor,Qwen2VLPreTrainedModel:()=>s.Qwen2VLPreTrainedModel,Qwen2VLProcessor:()=>U.Qwen2VLProcessor,RTDetrForObjectDetection:()=>s.RTDetrForObjectDetection,RTDetrImageProcessor:()=>_.RTDetrImageProcessor,RTDetrModel:()=>s.RTDetrModel,RTDetrObjectDetectionOutput:()=>s.RTDetrObjectDetectionOutput,RTDetrPreTrainedModel:()=>s.RTDetrPreTrainedModel,RawAudio:()=>p.RawAudio,RawImage:()=>C.RawImage,RepetitionPenaltyLogitsProcessor:()=>g.RepetitionPenaltyLogitsProcessor,ResNetForImageClassification:()=>s.ResNetForImageClassification,ResNetModel:()=>s.ResNetModel,ResNetPreTrainedModel:()=>s.ResNetPreTrainedModel,RoFormerForMaskedLM:()=>s.RoFormerForMaskedLM,RoFormerForQuestionAnswering:()=>s.RoFormerForQuestionAnswering,RoFormerForSequenceClassification:()=>s.RoFormerForSequenceClassification,RoFormerForTokenClassification:()=>s.RoFormerForTokenClassification,RoFormerModel:()=>s.RoFormerModel,RoFormerPreTrainedModel:()=>s.RoFormerPreTrainedModel,RoFormerTokenizer:()=>
2810o.RoFormerTokenizer,RobertaForMaskedLM:()=>s.RobertaForMaskedLM,RobertaForQuestionAnswering:()=>s.RobertaForQuestionAnswering,RobertaForSequenceClassification:()=>s.RobertaForSequenceClassification,RobertaForTokenClassification:()=>s.RobertaForTokenClassification,RobertaModel:()=>s.RobertaModel,RobertaPreTrainedModel:()=>s.RobertaPreTrainedModel,RobertaTokenizer:()=>o.RobertaTokenizer,SamImageProcessor:()=>_.SamImageProcessor,SamImageSegmentationOutput:()=>s.SamImageSegmentationOutput,SamModel:()=>s.SamModel,SamPreTrainedModel:()=>s.SamPreTrainedModel,SamProcessor:()=>U.SamProcessor,SapiensForDepthEstimation:()=>s.SapiensForDepthEstimation,SapiensForNormalEstimation:()=>s.SapiensForNormalEstimation,SapiensForSemanticSegmentation:()=>s.SapiensForSemanticSegmentation,SapiensPreTrainedModel:()=>s.SapiensPreTrainedModel,SeamlessM4TFeatureExtractor:()=>B.SeamlessM4TFeatureExtractor,SegformerFeatureExtractor:()=>_.SegformerFeatureExtractor,SegformerForImageClassification:()=>s.SegformerForImageClassification,SegformerForSemanticSegmentation:()=>s.SegformerForSemanticSegmentation,SegformerImageProcessor:()=>_.SegformerImageProcessor,SegformerModel:()=>s.SegformerModel,SegformerPreTrainedModel:()=>s.SegformerPreTrainedModel,Seq2SeqLMOutput:()=>s.Seq2SeqLMOutput,SequenceClassifierOutput:()=>s.SequenceClassifierOutput,SiglipImageProcessor:()=>_.SiglipImageProcessor,SiglipModel:()=>s.SiglipModel,SiglipPreTrainedModel:()=>s.SiglipPreTrainedModel,SiglipTextModel:()=>s.SiglipTextModel,SiglipTokenizer:()=>o.SiglipTokenizer,SiglipVisionModel:()=>s.SiglipVisionModel,SpeechT5FeatureExtractor:()=>B.SpeechT5FeatureExtractor,SpeechT5ForSpeechToText:()=>s.SpeechT5ForSpeechToText,SpeechT5ForTextToSpeech:()=>s.SpeechT5ForTextToSpeech,SpeechT5HifiGan:()=>s.SpeechT5HifiGan,SpeechT5Model:()=>s.SpeechT5Model,SpeechT5PreTrainedModel:()=>s.SpeechT5PreTrainedModel,SpeechT5Processor:()=>U.SpeechT5Processor,SpeechT5Tokenizer:()=>o.SpeechT5Tokenizer,SqueezeBertForMaskedLM:()=>s.SqueezeBertForMaskedLM,SqueezeBertForQuestionAnswering:()=>s.SqueezeBertForQuestionAnswering,SqueezeBertForSequenceClassification:()=>s.SqueezeBertForSequenceClassification,SqueezeBertModel:()=>s.SqueezeBertModel,SqueezeBertPreTrainedModel:()=>s.SqueezeBertPreTrainedModel,SqueezeBertTokenizer:()=>o.SqueezeBertTokenizer,StableLmForCausalLM:()=>s.StableLmForCausalLM,StableLmModel:()=>s.StableLmModel,StableLmPreTrainedModel:()=>s.StableLmPreTrainedModel,Starcoder2ForCausalLM:()=>s.Starcoder2ForCausalLM,Starcoder2Model:()=>s.Starcoder2Model,Starcoder2PreTrainedModel:()=>s.Starcoder2PreTrainedModel,StoppingCriteria:()=>X.StoppingCriteria,StoppingCriteriaList:()=>X.StoppingCriteriaList,StyleTextToSpeech2Model:()=>s.StyleTextToSpeech2Model,StyleTextToSpeech2PreTrainedModel:()=>s.StyleTextToSpeech2PreTrainedModel,SummarizationPipeline:()=>n.SummarizationPipeline,SuppressTokensAtBeginLogitsProcessor:()=>g.SuppressTokensAtBeginLogitsProcessor,Swin2SRForImageSuperResolution:()=>s.Swin2SRForImageSuperResolution,Swin2SRImageProcessor:()=>_.Swin2SRImageProcessor,Swin2SRModel:()=>s.Swin2SRModel,Swin2SRPreTrainedModel:()=>s.Swin2SRPreTrainedModel,SwinForImageClassification:()=>s.SwinForImageClassification,SwinModel:()=>s.SwinModel,SwinPreTrainedModel:()=>s.SwinPreTrainedModel,T5ForConditionalGeneration:()=>s.T5ForConditionalGeneration,T5Model:()=>s.T5Model,T5PreTrainedModel:()=>s.T5PreTrainedModel,T5Tokenizer:()=>o.T5Tokenizer,TableTransformerForObjectDetection:()=>s.TableTransformerForObjectDetection,TableTransformerModel:()=>s.TableTransformerModel,TableTransformerObjectDetectionOutput:()=>s.TableTransformerObjectDetectionOutput,TableTransformerPreTrainedModel:()=>s.TableTransformerPreTrainedModel,TemperatureLogitsWarper:()=>g.TemperatureLogitsWarper,Tensor:()=>b.Tensor,Text2TextGenerationPipeline:()=>n.Text2TextGenerationPipeline,TextClassificationPipeline:()=>n.TextClassificationPipeline,TextGenerationPipeline:()=>n.TextGenerationPipeline,TextStreamer:()=>Z.TextStreamer,TextToAudioPipeline:()=>n.TextToAudioPipeline,TokenClassificationPipeline:()=>n.TokenClassificationPipeline,TokenClassifierOutput:()=>s.TokenClassifierOutput,TokenizerModel:()=>o.TokenizerModel,TopKLogitsWarper:()=>g.TopKLogitsWarper,TopPLogitsWarper:()=>g.TopPLogitsWarper,TrOCRForCausalLM:()=>s.TrOCRForCausalLM,TrOCRPreTrainedModel:()=>s.TrOCRPreTrainedModel,TranslationPipeline:()=>n.TranslationPipeline,UniSpeechForCTC:()=>s.UniSpeechForCTC,UniSpeechForSequenceClassification:()=>s.UniSpeechForSequenceClassification,UniSpeechModel:()=>s.UniSpeechModel,UniSpeechPreTrainedModel:()=>s.UniSpeechPreTrainedModel,UniSpeechSatForAudioFrameClassification:()=>s.UniSpeechSatForAudioFrameClassification,UniSpeechSatForCTC:()=>s.UniSpeechSatForCTC,UniSpeechSatForSequenceClassification:()=>s.UniSpeechSatForSequenceClassification,UniSpeechSatModel:()=>s.UniSpeechSatModel,UniSpeechSatPreTrainedModel:()=>s.UniSpeechSatPreTrainedModel,VLChatProcessor:()=>U.VLChatProcessor,VLMImageProcessor:()=>_.VLMImageProcessor,ViTFeatureExtractor:()=>_.ViTFeatureExtractor,ViTForImageClassification:()=>s.ViTForImageClassification,ViTImageProcessor:()=>_.ViTImageProcessor,ViTMAEModel:()=>s.ViTMAEModel,ViTMAEPreTrainedModel:()=>s.ViTMAEPreTrainedModel,ViTMSNForImageClassification:()=>s.ViTMSNForImageClassification,ViTMSNModel:()=>s.ViTMSNModel,ViTMSNPreTrainedModel:()=>s.ViTMSNPreTrainedModel,ViTModel:()=>s.ViTModel,ViTPreTrainedModel:()=>s.ViTPreTrainedModel,VisionEncoderDecoderModel:()=>s.VisionEncoderDecoderModel,VitMatteForImageMatting:()=>s.VitMatteForImageMatting,VitMatteImageProcessor:()=>_.VitMatteImageProcessor,VitMattePreTrainedModel:()=>s.VitMattePreTrainedModel,VitPoseForPoseEstimation:()=>s.VitPoseForPoseEstimation,VitPoseImageProcessor:()=>_.VitPoseImageProcessor,VitPosePreTrainedModel:()=>s.VitPosePreTrainedModel,VitsModel:()=>s.VitsModel,VitsModelOutput:()=>s.VitsModelOutput,VitsPreTrainedModel:()=>s.VitsPreTrainedModel,VitsTokenizer:()=>o.VitsTokenizer,Wav2Vec2BertForCTC:()=>s.Wav2Vec2BertForCTC,Wav2Vec2BertForSequenceClassification:()=>s.Wav2Vec2BertForSequenceClassification,Wav2Vec2BertModel:()=>s.Wav2Vec2BertModel,Wav2Vec2BertPreTrainedModel:()=>s.Wav2Vec2BertPreTrainedModel,Wav2Vec2CTCTokenizer:()=>o.Wav2Vec2CTCTokenizer,Wav2Vec2FeatureExtractor:()=>B.Wav2Vec2FeatureExtractor,Wav2Vec2ForAudioFrameClassification:()=>s.Wav2Vec2ForAudioFrameClassification,Wav2Vec2ForCTC:()=>s.Wav2Vec2ForCTC,Wav2Vec2ForSequenceClassification:()=>s.Wav2Vec2ForSequenceClassification,Wav2Vec2Model:()=>s.Wav2Vec2Model,Wav2Vec2PreTrainedModel:()=>s.Wav2Vec2PreTrainedModel,Wav2Vec2Processor:()=>U.Wav2Vec2Processor,Wav2Vec2ProcessorWithLM:()=>U.Wav2Vec2ProcessorWithLM,WavLMForAudioFrameClassification:()=>s.WavLMForAudioFrameClassification,WavLMForCTC:()=>s.WavLMForCTC,WavLMForSequenceClassification:()=>s.WavLMForSequenceClassification,WavLMForXVector:()=>s.WavLMForXVector,WavLMModel:()=>s.WavLMModel,WavLMPreTrainedModel:()=>s.WavLMPreTrainedModel,WeSpeakerFeatureExtractor:()=>B.WeSpeakerFeatureExtractor,WeSpeakerResNetModel:()=>s.WeSpeakerResNetModel,WeSpeakerResNetPreTrainedModel:()=>s.WeSpeakerResNetPreTrainedModel,WhisperFeatureExtractor:()=>B.WhisperFeatureExtractor,WhisperForConditionalGeneration:()=>s.WhisperForConditionalGeneration,WhisperModel:()=>s.WhisperModel,WhisperPreTrainedModel:()=>s.WhisperPreTrainedModel,WhisperProcessor:()=>U.WhisperProcessor,WhisperTextStreamer:()=>Z.WhisperTextStreamer,WhisperTimeStampLogitsProcessor:()=>g.WhisperTimeStampLogitsProcessor,WhisperTokenizer:()=>o.WhisperTokenizer,XLMForQuestionAnswering:()=>s.XLMForQuestionAnswering,XLMForSequenceClassification:()=>s.XLMForSequenceClassification,XLMForTokenClassification:()=>s.XLMForTokenClassification,XLMModel:()=>s.XLMModel,XLMPreTrainedModel:()=>s.XLMPreTrainedModel,XLMRobertaForMaskedLM:()=>
2810s.XLMRobertaForMaskedLM,XLMRobertaForQuestionAnswering:()=>s.XLMRobertaForQuestionAnswering,XLMRobertaForSequenceClassification:()=>s.XLMRobertaForSequenceClassification,XLMRobertaForTokenClassification:()=>s.XLMRobertaForTokenClassification,XLMRobertaModel:()=>s.XLMRobertaModel,XLMRobertaPreTrainedModel:()=>s.XLMRobertaPreTrainedModel,XLMRobertaTokenizer:()=>o.XLMRobertaTokenizer,XLMTokenizer:()=>o.XLMTokenizer,XLMWithLMHeadModel:()=>s.XLMWithLMHeadModel,XVectorOutput:()=>s.XVectorOutput,YolosFeatureExtractor:()=>_.YolosFeatureExtractor,YolosForObjectDetection:()=>s.YolosForObjectDetection,YolosImageProcessor:()=>_.YolosImageProcessor,YolosModel:()=>s.YolosModel,YolosObjectDetectionOutput:()=>s.YolosObjectDetectionOutput,YolosPreTrainedModel:()=>s.YolosPreTrainedModel,ZeroShotAudioClassificationPipeline:()=>n.ZeroShotAudioClassificationPipeline,ZeroShotClassificationPipeline:()=>n.ZeroShotClassificationPipeline,ZeroShotImageClassificationPipeline:()=>n.ZeroShotImageClassificationPipeline,ZeroShotObjectDetectionPipeline:()=>n.ZeroShotObjectDetectionPipeline,bankers_round:()=>k.bankers_round,cat:()=>b.cat,cos_sim:()=>k.cos_sim,dot:()=>k.dot,dynamic_time_warping:()=>k.dynamic_time_warping,env:()=>c.env,full:()=>b.full,full_like:()=>b.full_like,getKeyValueShapes:()=>f.getKeyValueShapes,hamming:()=>p.hamming,hanning:()=>p.hanning,interpolate:()=>b.interpolate,interpolate_4d:()=>b.interpolate_4d,interpolate_data:()=>k.interpolate_data,is_chinese_char:()=>o.is_chinese_char,layer_norm:()=>b.layer_norm,load_image:()=>C.load_image,log_softmax:()=>k.log_softmax,magnitude:()=>k.magnitude,matmul:()=>b.matmul,max:()=>k.max,mean:()=>b.mean,mean_pooling:()=>b.mean_pooling,medianFilter:()=>k.medianFilter,mel_filter_bank:()=>p.mel_filter_bank,min:()=>k.min,ones:()=>b.ones,ones_like:()=>b.ones_like,permute:()=>b.permute,permute_data:()=>k.permute_data,pipeline:()=>n.pipeline,quantize_embeddings:()=>b.quantize_embeddings,rand:()=>b.rand,read_audio:()=>p.read_audio,rfft:()=>b.rfft,round:()=>k.round,slice:()=>b.slice,softmax:()=>k.softmax,spectrogram:()=>p.spectrogram,stack:()=>b.stack,std_mean:()=>b.std_mean,topk:()=>b.topk,window_function:()=>p.window_function,zeros:()=>b.zeros,zeros_like:()=>b.zeros_like});var c=Bs("./src/env.js"),n=Bs("./src/pipelines.js"),s=Bs("./src/models.js"),o=Bs("./src/tokenizers.js"),f=Bs("./src/configs.js"),p=Bs("./src/utils/audio.js"),C=Bs("./src/utils/image.js"),b=Bs("./src/utils/tensor.js"),k=Bs("./src/utils/maths.js"),E=Bs("./src/base/feature_extraction_utils.js"),B=Bs("./src/models/feature_extractors.js"),G=Bs("./src/models/auto/feature_extraction_auto.js"),D=Bs("./src/base/image_processors_utils.js"),_=Bs("./src/models/image_processors.js"),O=Bs("./src/models/auto/image_processing_auto.js"),j=Bs("./src/base/processing_utils.js"),U=Bs("./src/models/processors.js"),H=Bs("./src/models/auto/processing_auto.js"),Z=Bs("./src/generation/streamers.js"),X=Bs("./src/generation/stopping_criteria.js"),g=Bs("./src/generation/logits_process.js")})();var Pk=G2.AutoTokenizer,Sk=G2.RawAudio,Nk=G2.StyleTextToSpeech2Model,ap=G2.Tensor,Le=Le!==void 0?Le:{};Le.expectedDataFileDownloads||(Le.expectedDataFileDownloads=0);var zk=typeof importScripts=="function",Lf=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",np=typeof atob=="function"?atob:function(c){var n,s,o,f,p,C,b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",k="",E=0;c=c.replace(/[^A-Za-z0-9\+\/\=]/g,"");do n=b.indexOf(c.charAt(E++))<<2|(f=b.indexOf(c.charAt(E++)))>>4,s=(15&f)<<4|(p=b.indexOf(c.charAt(E++)))>>2,o=(3&p)<<6|(C=b.indexOf(c.charAt(E++))),k+=String.fromCharCode(n),p!==64&&(k+=String.fromCharCode(s)),C!==64&&(k+=String.fromCharCode(o));while(E<c.length);return k};Lf&&(process.argv.length>1&&(ld=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),process.on("uncaughtException",function(c){if(!(c instanceof Fk))throw c}),process.on("unhandledRejection",function(c){throw c}),Le.inspect=function(){return"[Emscripten Module object]"}),Le.expectedDataFileDownloads++,function(){if(Le.ENVIRONMENT_IS_PTHREAD)return;const c="/usr/share/espeak-ng-data",n=c+"/lang",s=c+"/voices";(function(o){var f=null,p=null;function C(){function b(D,_){if(!D)throw _+new Error().stack}function k(D,_,O){this.start=D,this.end=_,this.audio=O}
vendor: 2,454 bytes, line 2810
2810Le.FS_createPath("/","usr",!0,!0),Le.FS_createPath("/usr","share",!0,!0),Le.FS_createPath("/usr/share","espeak-ng-data",!0,!0),Le.FS_createPath(c,"lang",!0,!0),Le.FS_createPath(n,"aav",!0,!0),Le.FS_createPath(n,"art",!0,!0),Le.FS_createPath(n,"azc",!0,!0),Le.FS_createPath(n,"bat",!0,!0),Le.FS_createPath(n,"bnt",!0,!0),Le.FS_createPath(n,"ccs",!0,!0),Le.FS_createPath(n,"cel",!0,!0),Le.FS_createPath(n,"cus",!0,!0),Le.FS_createPath(n,"dra",!0,!0),Le.FS_createPath(n,"esx",!0,!0),Le.FS_createPath(n,"gmq",!0,!0),Le.FS_createPath(n,"gmw",!0,!0),Le.FS_createPath(n,"grk",!0,!0),Le.FS_createPath(n,"inc",!0,!0),Le.FS_createPath(n,"ine",!0,!0),Le.FS_createPath(n,"ira",!0,!0),Le.FS_createPath(n,"iro",!0,!0),Le.FS_createPath(n,"itc",!0,!0),Le.FS_createPath(n,"jpx",!0,!0),Le.FS_createPath(n,"map",!0,!0),Le.FS_createPath(n,"miz",!0,!0),Le.FS_createPath(n,"myn",!0,!0),Le.FS_createPath(n,"poz",!0,!0),Le.FS_createPath(n,"roa",!0,!0),Le.FS_createPath(n,"sai",!0,!0),Le.FS_createPath(n,"sem",!0,!0),Le.FS_createPath(n,"sit",!0,!0),Le.FS_createPath(n,"tai",!0,!0),Le.FS_createPath(n,"trk",!0,!0),Le.FS_createPath(n,"urj",!0,!0),Le.FS_createPath(n,"zle",!0,!0),Le.FS_createPath(n,"zls",!0,!0),Le.FS_createPath(n,"zlw",!0,!0),Le.FS_createPath(c,"voices",!0,!0),Le.FS_createPath(s,"!v",!0,!0),Le.FS_createPath(s,"mb",!0,!0),k.prototype={requests:{},open:function(D,_){this.name=_,this.requests[_]=this,Le.addRunDependency("fp "+this.name)},send:function(){},onload:function(){var D=this.byteArray.subarray(this.start,this.end);this.finish(D)},finish:function(D){Le.FS_createDataFile(this.name,null,D,!0,!0,!0),Le.removeRunDependency("fp "+this.name),this.requests[this.name]=null}};for(var E=o.files,B=0;B<E.length;++B)new k(E[B].start,E[B].end,E[B].audio||0).open("GET",E[B].filename);function G(D){b(D,"Loading data file failed."),b(D.constructor.name===ArrayBuffer.name,"bad input to processPackageData");var _=new Uint8Array(D);k.prototype.byteArray=_;for(var O=o.files,j=0;j<O.length;++j)k.prototype.requests[O[j].filename].onload();Le.removeRunDependency("datafile_js/espeakng.worker.data")}Le.addRunDependency("datafile_js/espeakng.worker.data"),p?(G(p),p=null):f=G}(async()=>{const b=function(G){if(typeof Lf=="boolean"&&Lf){var D=Buffer.from(G,"base64");return new Uint8Array(D.buffer,D.byteOffset,D.byteLength)}try{for(var _=np(G),O=new Uint8Array(_.length),j=0;j<_.length;++j)O[j]=_.charCodeAt(j);return O}catch(U){throw console.error(np),console.error(U
vendor: 603,095 bytes, line 2810
2810),new Error("Converting base64 string to bytes failed.")}}("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LctW1ziJJ6r8E2fgm8BOcAj6PPYk+UV2sHJvdu2OjS1rm30C8eitlZpb3/vqmd4n7AT/Dkn4k+RuNs1vCvdesaOrcW2DjyN+cltlP777h2feBiugvcS91eecTeHQTTu6GqNtYQfxk9sq2+Du2858Pl4BHSb2UNdX+Ai47paWsCfmZYmfVfnLz8B/g7oI/OeCFgs+KeQ0oVVhHxFeUSXPjvxAVFU0Xc1COSW2Ko7jeV4QBMciOZ1Ol8vtdns+lNfr9fp8Pr8/EAguVigUCofD4UhFNacUrai2trY2FovV1dXV1VfUcFKNjY2NTU1NTc3Nzc0tH6i1tbW1ra29vaOjo3ORurq6urt7enp7e5ctW9Z3Sv39/f3Lly8fGBhYUdXKqlatWrV69eo1a9euXbdu/Z+1YcOGDRs3bty06Zxzzjn33HPPPe+88zZv3rxly9atW88/f9u2Cy644IJPVHThhRdedNFFF1988cWXVHXppZdeun37ZZddfvkVV1x55VVXX331NX/Wtddee+0nP/nJHTt2XHfddddXdMMNN9x444033XTzzZ/61C233HLLp0/q1ltv/cxnPvvZz33uc39X1ec+d/LX2277/Be+8MXbb7/9S1/60pduv/3227/4xS9+sfLXl++44++/8pWvLtLXvvb1r+/cufN/nNTOD/Q//seuXd/4xp2n9I2TuvPOO7/5zbvuuuuuu+++u/LfXd+s6tSUk6pOr/75rZP688SPfK2C3nnnN3adVGXOJ2dTmfyNb+z6yILs3Pn1r3/961/72le/+tWvLNLf//0dd3z5y19apMqqfuELn//8bbfd9neL9LnPffazn/nMZ2699dZbq013yy23fOpTN99004033nDD9R/Vddddt2PHJz957bXXXnPN1VdfffVVV1111ZVXXnHF5Zdfdtn27Zdeeuklp+niiy++6KILL/zEJy64YNu2bed/oK1bt27dsmXL5s2bzzvvvPPOPalzKtpU0cZF2rBhw/r169edprVr165Zs2b1h1pzUqtXr171F6rsoys+ssN+MO2DiScnf/Tbf9bpk1ad3NlXL468trrv/xWt/yv68LioHhmn6dzTVWmhynHzV7RlS/VgOqktJxv05OSt1WPsg6aufvzhF88/f+uHU099suU0bf1rOn+RPoy5SB9dslN/ntzAf7GCJ7f1h1v4Q53a1GtPbt8Pt2h1Ww0s0vLly5f39/dXTkvLli1b1tvb09Pd3dXV2dnZ0fHRs1lHR3t7W1tra+sHp7zm5oplR2NDfX1dLBarXaRotKamJhKJhE8pFAoFgwG/3+fzej0ej/sDuVwup9PhEASB53meOymWrWQaUiRJEAR+SpXLQiUhslLg/+TF5VQ5LdM0jUpCqKZpqqoqSiUFspLbXy6XSqVSsapCoZCvJPhmM5l0OpVKJStKJBKJeCWldX5ubnZ2ZmZmZrqqqampycnJiYnx8bGx0dGRkZHh4eGhoaGhwcETJ04cP37s2LGjFR05qcOHDx86dOjgwffff/+99959990DB/bv37dv3zvvvP323r17975V0Ztvvvnmnj173njj9ddff/2111577dWKXnnllZdffvmll3bvfvHFF/9U0R9P6oUXXnj++ef/8Ic//P73v3/uueee+90p/fa3v/3ts88++8wzzzz99NNPPfXUbyp68sknn/z1r3/96yeeeOKJxx9//PHHKnr00UcffeSRRx5++OFfVfXLD/TQQw899OCDDz7wwAMP/KKqn1f1s5/97Gc/reonH+o/TurHH9H9Ff3oRz/64Sn9+w///S/0w7+uH32g+390/49+dP8pVWZ6MswHUU8uxc+qOrlsJ5fzgaoefPDBByur8Mtf/vJXv/rVww8//PAjjzzySGVtK2v9+OOPV1rh17/+9ZNPPllpm6eeeurpp5955plnn332t7/97e9+97vnnnvu97//wx+ef/75F1744x//+Kc//enFF1/cvXv3Sy+9/PLLr7zy6quvvfb666+/8cYbe/bsefPNt956a+/et99+5519+/bvP3DgwLvvvvfee++/f/DgwUOHDh8+cuTo0WPHjh0/fvzEicHBwaGh4eGRkZHR0bGx8fGJiYnJyamp6enpmZmZ2dm5ubn5+YWFhXg8kUgkk8lUKp1OZzKZbDaby+Xy+XyhUCwWS6VSuVwWRVGSpEoqr6KoajWDV9f1Ss6yWck7tqpV5D6sEld9jmgC94A8uIiKsEe57wtTwXUestcZdTpJsKv6PNt10gt4xX92D4ct4jtD61DcQ/pYlkT/H/bePMiy66wTPNs9d31rvtzXqsrKWlRVKlWVVmRtyJJtYWMbG4wxBAMMBAQz42CWP6aHcEQ3EwMRRAxNdJsOlhnPNI3B2G2DbWxhI8vWvpek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"),
vendor: 5,506 bytes, line 2810
2810k=new Blob([b]).stream().pipeThrough(new DecompressionStream("gzip")),E=[];for await(const G of k)E.push(G);const B=await new Blob(E).arrayBuffer();f?(f(B),f=null):p=B})(),Le.calledRun?C():(Le.preRun||(Le.preRun=[]),Le.preRun.push(C))})({files:[{filename:c+"/en_dict",start:0,end:167064},{filename:c+"/intonations",start:167064,end:169104},{filename:n+"/aav/vi",start:169104,end:169215},{filename:n+"/aav/vi-VN-x-central",start:169215,end:169358},{filename:n+"/aav/vi-VN-x-south",start:169358,end:169500},{filename:n+"/art/eo",start:169500,end:169541},{filename:n+"/art/ia",start:169541,end:169570},{filename:n+"/art/io",start:169570,end:169620},{filename:n+"/art/jbo",start:169620,end:169689},{filename:n+"/art/lfn",start:169689,end:169824},{filename:n+"/art/piqd",start:169824,end:169880},{filename:n+"/art/py",start:169880,end:170020},{filename:n+"/art/qdb",start:170020,end:170077},{filename:n+"/art/qya",start:170077,end:170250},{filename:n+"/art/sjn",start:170250,end:170425},{filename:n+"/azc/nci",start:170425,end:170539},{filename:n+"/bat/lt",start:170539,end:170567},{filename:n+"/bat/ltg",start:170567,end:170879},{filename:n+"/bat/lv",start:170879,end:171108},{filename:n+"/bnt/sw",start:171108,end:171149},{filename:n+"/bnt/tn",start:171149,end:171191},{filename:n+"/ccs/ka",start:171191,end:171315},{filename:n+"/cel/cy",start:171315,end:171352},{filename:n+"/cel/ga",start:171352,end:171418},{filename:n+"/cel/gd",start:171418,end:171469},{filename:n+"/cus/om",start:171469,end:171508},{filename:n+"/dra/kn",start:171508,end:171563},{filename:n+"/dra/ml",start:171563,end:171620},{filename:n+"/dra/ta",start:171620,end:171671},{filename:n+"/dra/te",start:171671,end:171741},{filename:n+"/esx/kl",start:171741,end:171771},{filename:n+"/eu",start:171771,end:171825},{filename:n+"/gmq/da",start:171825,end:171868},{filename:n+"/gmq/is",start:171868,end:171895},{filename:n+"/gmq/nb",start:171895,end:171982},{filename:n+"/gmq/sv",start:171982,end:172007},{filename:n+"/gmw/af",start:172007,end:172130},{filename:n+"/gmw/de",start:172130,end:172172},{filename:n+"/gmw/en",start:172172,end:172312},{filename:n+"/gmw/en-029",start:172312,end:172647},{filename:n+"/gmw/en-GB-scotland",start:172647,end:172942},{filename:n+"/gmw/en-GB-x-gbclan",start:172942,end:173180},{filename:n+"/gmw/en-GB-x-gbcwmd",start:173180,end:173368},{filename:n+"/gmw/en-GB-x-rp",start:173368,end:173617},{filename:n+"/gmw/en-US",start:173617,end:173874},{filename:n+"/gmw/en-US-nyc",start:173874,end:174145},{filename:n+"/gmw/lb",start:174145,end:174176},{filename:n+"/gmw/nl",start:174176,end:174199},{filename:n+"/grk/el",start:174199,end:174222},{filename:n+"/grk/grc",start:174222,end:174321},{filename:n+"/inc/as",start:174321,end:174363},{filename:n+"/inc/bn",start:174363,end:174388},{filename:n+"/inc/bpy",start:174388,end:174427},{filename:n+"/inc/gu",start:174427,end:174469},{filename:n+"/inc/hi",start:174469,end:174492},{filename:n+"/inc/kok",start:174492,end:174518},{filename:n+"/inc/mr",start:174518,end:174559},{filename:n+"/inc/ne",start:174559,end:174596},{filename:n+"/inc/or",start:174596,end:174635},{filename:n+"/inc/pa",start:174635,end:174660},{filename:n+"/inc/sd",start:174660,end:174726},{filename:n+"/inc/si",start:174726,end:174781},{filename:n+"/inc/ur",start:174781,end:174875},{filename:n+"/ine/hy",start:174875,end:174936},{filename:n+"/ine/hyw",start:174936,end:175301},{filename:n+"/ine/sq",start:175301,end:175404},{filename:n+"/ira/fa",start:175404,end:175494},{filename:n+"/ira/fa-Latn",start:175494,end:175763},{filename:n+"/ira/ku",start:175763,end:175803},{filename:n+"/iro/chr",start:175803,end:176372},{filename:n+"/itc/la",start:176372,end:176669},{filename:n+"/jpx/ja",start:176669,end:176721},{filename:n+"/ko",start:176721,end:176772},{filename:n+"/map/haw",start:176772,end:176814},{filename:n+"/miz/mto",start:176814,end:176997},{filename:n+"/myn/quc",start:176997,end:177207},{filename:n+"/poz/id",start:177207,end:177341},{filename:n+"/poz/mi",start:177341,end:177708},{filename:n+"/poz/ms",start:177708,end:178138},{filename:n+"/qu",start:178138,end:178226},{filename:n+"/roa/an",start:178226,end:178253},{filename:n+"/roa/ca",start:178253,end:178278},{filename:n+"/roa/es",start:178278,end:178341},{filename:n+"/roa/es-419",start:178341,end:178508},{filename:n+"/roa/fr",start:178508,end:178587},{filename:n+"/roa/fr-BE",start:178587,end:178671},{filename:n+"/roa/fr-CH",start:178671,end:178757},{filename:n+"/roa/ht",start:178757,end:178897},{filename:n+"/roa/it",start:178897,end:179006},{filename:n+"/roa/pap",start:179006,end:179068},{filename:n+"/roa/pt",start:179068,end:179163},{filename:n+"/roa/pt-BR",start:179163,end:179272},{filename:n+"/roa/ro",start:179272,end:179298},{filename:n+"/sai/gn",start:179298,end:179345},{filename:n+"/sem/am",start:179345,end:179386},{filename:n+"/sem/ar",start:179386,end:179436},{filename:n+"/sem/he",start:179436,end:179476},{filename:n+"/sem/mt",start:179476,end:179517},{filename:n+"/sem/ti",start:179517,end:179610},{filename:n+"/sit/cmn",start:179610,end:180296},{filename:n+"/sit/cmn-Latn-pinyin",start:180296,end:180457},{filename:n+"/sit/hak",start:180457,end:180585},{filename:n+"/sit/my",start:180585,end:180641},{filename:n+"/sit/yue",start:180641,end:180835},{filename:n+"/sit/yue-Latn-jyutping",start:180835,end:181048},{filename:n+"/tai/shn",start:181048,end:181140},{filename:n+"/tai/th",start:181140,end:181177},{filename:n+"/trk/az",start:181177,end:181222},{filename:n+"/trk/ba",start:181222,end:181247}
2810,{filename:n+"/trk/cv",start:181247,end:181287},{filename:n+"/trk/kk",start:181287,end:181327},{filename:n+"/trk/ky",start:181327,end:181370},{filename:n+"/trk/nog",start:181370,end:181409},{filename:n+"/trk/tk",start:181409,end:181434},{filename:n+"/trk/tr",start:181434,end:181459},{filename:n+"/trk/tt",start:181459,end:181482},{filename:n+"/trk/ug",start:181482,end:181506},{filename:n+"/trk/uz",start:181506,end:181545},{filename:n+"/urj/et",start:181545,end:181782},{filename:n+"/urj/fi",start:181782,end:182019},{filename:n+"/urj/hu",start:182019,end:182092},{filename:n+"/urj/smj",start:182092,end:182137},{filename:n+"/zle/be",start:182137,end:182189},{filename:n+"/zle/ru",start:182189,end:182246},{filename:n+"/zle/ru-LV",start:182246,end:182526},{filename:n+"/zle/ru-cl",start:182526,end:182617},{filename:n+"/zle/uk",start:182617,end:182714},{filename:n+"/zls/bg",start:182714,end:182825},{filename:n+"/zls/bs",start:182825,end:183055},{filename:n+"/zls/hr",start:183055,end:183317},{filename:n+"/zls/mk",start:183317,end:183345},{filename:n+"/zls/sl",start:183345,end:183388},{filename:n+"/zls/sr",start:183388,end:183638},{filename:n+"/zlw/cs",start:183638,end:183661},{filename:n+"/zlw/pl",start:183661,end:183699},{filename:n+"/zlw/sk",start:183699,end:183723},{filename:c+"/phondata",start:183723,end:734147},{filename:c+"/phonindex",start:734147,end:773403},{filename:c+"/phontab",start:773403,end:829491},{filename:s+"/!v/Alex",start:829491,end:829619},{filename:s+"/!v/Alicia",start:829619,end:830093},{filename:s+"/!v/Andrea",start:830093,end:830450},{filename:s+"/!v/Andy",start:830450,end:830770},{filename:s+"/!v/Annie",start:830770,end:831085},{filename:s+"/!v/AnxiousAndy",start:831085,end:831446},{filename:s+"/!v/Demonic",start:831446,end:835304},{filename:s+"/!v/Denis",start:835304,end:835609},{filename:s+"/!v/Diogo",start:835609,end:835988},{filename:s+"/!v/Gene",start:835988,end:836269},{filename:s+"/!v/Gene2",start:836269,end:836552},{filename:s+"/!v/Henrique",start:836552,end:836933},{filename:s+"/!v/Hugo",start:836933,end:837311},{filename:s+"/!v/Jacky",start:837311,end:837578},{filename:s+"/!v/Lee",start:837578,end:837916},{filename:s+"/!v/Marco",start:837916,end:838383},{filename:s+"/!v/Mario",start:838383,end:838653},{filename:s+"/!v/Michael",start:838653,end:838923},{filename:s+"/!v/Mike",start:838923,end:839035},{filename:s+"/!v/Mr serious",start:839035,end:842228},{filename:s+"/!v/Nguyen",start:842228,end:842508},{filename:s+"/!v/Reed",start:842508,end:842710},{filename:s+"/!v/RicishayMax",start:842710,end:842943},{filename:s+"/!v/RicishayMax2",start:842943,end:843378},{filename:s+"/!v/RicishayMax3",start:843378,end:843813},{filename:s+"/!v/Storm",start:843813,end:844233},{filename:s+"/!v/Tweaky",start:844233,end:847422},{filename:s+"/!v/UniRobot",start:847422,end:847839},{filename:s+"/!v/adam",start:847839,end:847914},{filename:s+"/!v/anika",start:847914,end:848407},{filename:s+"/!v/anikaRobot",start:848407,end:848919},{filename:s+"/!v/announcer",start:848919,end:849219},{filename:s+"/!v/antonio",start:849219,end:849600},{filename:s+"/!v/aunty",start:849600,end:849958},{filename:s+"/!v/belinda",start:849958,end:850298},{filename:s+"/!v/benjamin",start:850298,end:850499},{filename:s+"/!v/boris",start:850499,end:850723},{filename:s+"/!v/caleb",start:850723,end:850780},{filename:s+"/!v/croak",start:850780,end:850873},{filename:s+"/!v/david",start:850873,end:850985},{filename:s+"/!v/ed",start:850985,end:851272},{filename:s+"/!v/edward",start:851272,end:851423},{filename:s+"/!v/edward2",start:851423,end:851575},{filename:s+"/!v/f1",start:851575,end:851899},{filename:s+"/!v/f2",start:851899,end:852256},{filename:s+"/!v/f3",start:852256,end:852631},{filename:s+"/!v/f4",start:852631,end:852981},{filename:s+"/!v/f5",start:852981,end:853413},{filename:s+"/!v/fast",start:853413,end:853562},{filename:s+"/!v/grandma",start:853562,end:853825},{filename:s+"/!v/grandpa",start:853825,end:854081},{filename:s+"/!v/gustave",start:854081,end:854334},{filename:s+"/!v/ian",start:854334,end:857502},{filename:s+"/!v/iven",start:857502,end:857763},{filename:s+"/!v/iven2",start:857763,end:858042},{filename:s+"/!v/iven3",start:858042,end:858304},{filename:s+"/!v/iven4",start:858304,end:858565},{filename:s+"/!v/john",start:858565,end:861751},{filename:s+"/!v/kaukovalta",start:861751,end:862112},{filename:s+"/!v/klatt",start:862112,end:862150},{filename:s+"/!v/klatt2",start:862150,end:862188},{filename:s+"/!v/klatt3",start:862188,end:862227},{filename:s+"/!v/klatt4",start:862227,end:862266},{filename:s+"/!v/klatt5",start:862266,end:862305},{filename:s+"/!v/klatt6",start:862305,end:862344},{filename:s+"/!v/linda",start:862344,end:862694},{filename:s+"/!v/m1",start:862694,end:863029},{filename:s+"/!v/m2",start:863029,end:863293},{filename:s+"/!v/m3",start:863293,end:863593},{filename:s+"/!v/m4",start:863593,end:863883},{filename:s+"/!v/m5",start:863883,end:864145},{filename:s+"/!v/m6",start:864145,end:864333},{filename:s+"/!v/m7",start:864333,end:864587},{filename:s+"/!v/m8",start:864587,end:864871},{filename:s+"/!v/marcelo",start:864871,end:865122},{filename:s+"/!v/max",start:865122,end:865347}
2810,{filename:s+"/!v/michel",start:865347,end:865751},{filename:s+"/!v/miguel",start:865751,end:866133},{filename:s+"/!v/mike2",start:866133,end:866321},{filename:s+"/!v/norbert",start:866321,end:869510},{filename:s+"/!v/pablo",start:869510,end:872652},{filename:s+"/!v/paul",start:872652,end:872936},{filename:s+"/!v/pedro",start:872936,end:873288},{filename:s+"/!v/quincy",start:873288,end:873642},{filename:s+"/!v/rob",start:873642,end:873907},{filename:s+"/!v/robert",start:873907,end:874181},{filename:s+"/!v/robosoft",start:874181,end:874632},{filename:s+"/!v/robosoft2",start:874632,end:875086},{filename:s+"/!v/robosoft3",start:875086,end:875541},{filename:s+"/!v/robosoft4",start:875541,end:875988},{filename:s+"/!v/robosoft5",start:875988,end:876433},{filename:s+"/!v/robosoft6",start:876433,end:876720},{filename:s+"/!v/robosoft7",start:876720,end:877130},{filename:s+"/!v/robosoft8",start:877130,end:877373},{filename:s+"/!v/sandro",start:877373,end:877903},{filename:s+"/!v/shelby",start:877903,end:878183},{filename:s+"/!v/steph",start:878183,end:878547},{filename:s+"/!v/steph2",start:878547,end:878914},{filename:s+"/!v/steph3",start:878914,end:879291},{filename:s+"/!v/travis",start:879291,end:879674},{filename:s+"/!v/victor",start:879674,end:879927},{filename:s+"/!v/whisper",start:879927,end:880113},{filename:s+"/!v/whisperf",start:880113,end:880505},{filename:s+"/!v/zac",start:880505,end:880780},{filename:s+"/mb/mb-af1",start:880780,end:880868},{filename:s+"/mb/mb-af1-en",start:880868,end:880951},{filename:s+"/mb/mb-ar1",start:880951,end:881035},{filename:s+"/mb/mb-ar2",start:881035,end:881119},{filename:s+"/mb/mb-br1",start:881119,end:881251},{filename:s+"/mb/mb-br2",start:881251,end:881387},{filename:s+"/mb/mb-br3",start:881387,end:881519},{filename:s+"/mb/mb-br4",start:881519,end:881655},{filename:s+"/mb/mb-ca1",start:881655,end:881760},{filename:s+"/mb/mb-ca2",start:881760,end:881865},{filename:s+"/mb/mb-cn1",start:881865,end:881957},{filename:s+"/mb/mb-cr1",start:881957,end:882068},{filename:s+"/mb/mb-cz1",start:882068,end:882138},{filename:s+"/mb/mb-cz2",start:882138,end:882220},{filename:s+"/mb/mb-de1",start:882220,end:882364},{filename:s+"/mb/mb-de1-en",start:882364,end:882460},{filename:s+"/mb/mb-de2",start:882460,end:882588},{filename:s+"/mb/mb-de2-en",start:882588,end:882668},{filename:s+"/mb/mb-de3",start:882668,end:882767},{filename:s+"/mb/mb-de3-en",start:882767,end:882863},{filename:s+"/mb/mb-de4",start:882863,end:882992},{filename:s+"/mb/mb-de4-en",start:882992,end:883073},{filename:s+"/mb/mb-de5",start:883073,end:883309},{filename:s+"/mb/mb-de5-en",start:883309,end:883399},{filename:s+"/mb/mb-de6",start:883399,end:883521},{filename:s+"/mb/mb-de6-en",start:883521,end:883595},{filename:s+"/mb/mb-de6-grc",start:883595,end:883678},{filename:s+"/mb/mb-de7",start:883678,end:883828},{filename:s+"/mb/mb-de8",start:883828,end:883899},{filename:s+"/mb/mb-ee1",start:883899,end:883996},{filename:s+"/mb/mb-en1",start:883996,end:884127},{filename:s+"/mb/mb-es1",start:884127,end:884241},{filename:s+"/mb/mb-es2",start:884241,end:884349},{filename:s+"/mb/mb-es3",start:884349,end:884453},{filename:s+"/mb/mb-es4",start:884453,end:884541},{filename:s+"/mb/mb-fr1",start:884541,end:884707},{filename:s+"/mb/mb-fr1-en",start:884707,end:884811},{filename:s+"/mb/mb-fr2",start:884811,end:884914},{filename:s+"/mb/mb-fr3",start:884914,end:885014},{filename:s+"/mb/mb-fr4",start:885014,end:885141},{filename:s+"/mb/mb-fr4-en",start:885141,end:885248},{filename:s+"/mb/mb-fr5",start:885248,end:885348},{filename:s+"/mb/mb-fr6",start:885348,end:885448},{filename:s+"/mb/mb-fr7",start:885448,end:885531},{filename:s+"/mb/mb-gr1",start:885531,end:885625},{filename:s+"/mb/mb-gr2",start:885625,end:885719},{filename:s+"/mb/mb-gr2-en",start:885719,end:885807},{filename:s+"/mb/mb-hb1",start:885807,end:885875},{filename:s+"/mb/mb-hb2",start:885875,end:885958},{filename:s+"/mb/mb-hu1",start:885958,end:886060},{filename:s+"/mb/mb-hu1-en",start:886060,end:886157},{filename:s+"/mb/mb-ic1",start:886157,end:886245},{filename:s+"/mb/mb-id1",start:886245,end:886346}
vendor: 4,447 bytes, line 2810
2810,{filename:s+"/mb/mb-in1",start:886346,end:886415},{filename:s+"/mb/mb-in2",start:886415,end:886500},{filename:s+"/mb/mb-ir1",start:886500,end:887253},{filename:s+"/mb/mb-it1",start:887253,end:887337},{filename:s+"/mb/mb-it2",start:887337,end:887424},{filename:s+"/mb/mb-it3",start:887424,end:887566},{filename:s+"/mb/mb-it4",start:887566,end:887711},{filename:s+"/mb/mb-jp1",start:887711,end:887782},{filename:s+"/mb/mb-jp2",start:887782,end:887883},{filename:s+"/mb/mb-jp3",start:887883,end:887970},{filename:s+"/mb/mb-la1",start:887970,end:888053},{filename:s+"/mb/mb-lt1",start:888053,end:888140},{filename:s+"/mb/mb-lt2",start:888140,end:888227},{filename:s+"/mb/mb-ma1",start:888227,end:888325},{filename:s+"/mb/mb-mx1",start:888325,end:888445},{filename:s+"/mb/mb-mx2",start:888445,end:888565},{filename:s+"/mb/mb-nl1",start:888565,end:888634},{filename:s+"/mb/mb-nl2",start:888634,end:888730},{filename:s+"/mb/mb-nl2-en",start:888730,end:888821},{filename:s+"/mb/mb-nl3",start:888821,end:888906},{filename:s+"/mb/mb-nz1",start:888906,end:888974},{filename:s+"/mb/mb-pl1",start:888974,end:889073},{filename:s+"/mb/mb-pl1-en",start:889073,end:889155},{filename:s+"/mb/mb-pt1",start:889155,end:889286},{filename:s+"/mb/mb-ro1",start:889286,end:889373},{filename:s+"/mb/mb-ro1-en",start:889373,end:889454},{filename:s+"/mb/mb-sw1",start:889454,end:889552},{filename:s+"/mb/mb-sw1-en",start:889552,end:889645},{filename:s+"/mb/mb-sw2",start:889645,end:889747},{filename:s+"/mb/mb-sw2-en",start:889747,end:889846},{filename:s+"/mb/mb-tl1",start:889846,end:889931},{filename:s+"/mb/mb-tr1",start:889931,end:890016},{filename:s+"/mb/mb-tr2",start:890016,end:890130},{filename:s+"/mb/mb-us1",start:890130,end:890300},{filename:s+"/mb/mb-us2",start:890300,end:890478},{filename:s+"/mb/mb-us3",start:890478,end:890658},{filename:s+"/mb/mb-vz1",start:890658,end:890802}],remote_package_size:890802})}();var ip=Object.assign({},Le),ld="./this.program",X1=Le.print||console.log.bind(console),_2=Le.printErr||console.warn.bind(console);Object.assign(Le,ip),ip=null,Le.arguments&&Le.arguments,Le.thisProgram&&(ld=Le.thisProgram),Le.quit&&Le.quit,Le.wasmBinary&&Le.wasmBinary,Le.noExitRuntime;var ed,T2={Memory:function(c){this.buffer=new ArrayBuffer(65536*c.initial)},Module:function(c){},Instance:function(c,n){this.exports=function(s){for(var o,f=new Uint8Array(123),p=25;p>=0;--p)f[48+p]=52+p,f[65+p]=p,f[97+p]=26+p;function C(H,Z,X){for(var g,v,e=0,d=Z,T=X.length,re=Z+(3*T>>2)-(X[T-2]=="=")-(X[T-1]=="=");e<T;e+=4)g=f[X.charCodeAt(e+1)],v=f[X.charCodeAt(e+2)],H[d++]=f[X.charCodeAt(e)]<<2|g>>4,d<re&&(H[d++]=g<<4|v>>2),d<re&&(H[d++]=v<<6|f[X.charCodeAt(e+3)])}f[43]=62,f[47]=63;var b=new ArrayBuffer(16),k=new Int32Array(b),E=new Float32Array(b),B=new Float64Array(b);function G(H){return k[H]}function D(H,Z){k[H]=Z}function _(){return B[0]}function O(H){B[0]=H}function j(){throw new Error("abort")}function U(H){E[2]=H}return function(H){var Z=H.a,X=Z.a.buffer,g=new Int8Array(X),v=new Int16Array(X),e=new Int32Array(X),d=new Uint8Array(X),T=new Uint16Array(X),re=new Uint32Array(X),N=new Float64Array(X),F=Math.imul,Ce=Math.fround,he=Math.abs,ce=Math.clz32,ge=Math.min,Me=Math.floor,Ue=Math.ceil,Ne=Z.b,de=Z.c,me=Z.d,we=Z.e,_e=Z.f,pe=Z.g,it=Z.h,We=Z.i,ot=Z.j,pt=Z.k,ct=Z.l,Re=Z.m,tt=Z.n,It=Z.o,wt=Z.p,ze=Z.q,At=Z.r,Bt=Z.s,Ft=Z.t,St=Z.u,oe=294656,zt=0,Ie=0,fe=0;function Qe(t){var A,r=0,a=0,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,Te=0,Oe=0,$e=0,nt=0,ht=0,vt=0,Qt=0,Ut=0,fA=0,hA=0,FA=0,YA=0,rr=0,wr=0,jr=0,Jr=0,ds=0,is=0,Qs=0,Ps=0,Rs=0,$s=0,ea=0,na=0,da=0,Ba=0,en=0,Dn=0,Gn=0,ni=0,to=0,ii=0,Pi=0,Ao=0,Oo=0,r0=0,Y0=0,i0=0;if(oe=A=oe-16|0,(0|t)!=2)if(t=e[33283],e[t>>2]!=e[t+4>>2]){if(ba(e[e[32972]+60>>2]),ue=e[47192],da=A+12|0,ni=A+8|0,oe=w=oe-6832|0,e[w+6816>>2]=0,e[w+6808>>2]=32,e[w+6800>>2]=0,ue){e[47351]=0,e[47350]=0,e[47352]=0,g[189076]=0,t=e[33284],e[47353]=(0|t)>0?t:0,e[47355]=e[47354]+1,kA(fA=w+5184|0,0,1600),$s=w+6800|0,oe=h=oe-2608|0,e[h+2156>>2]=32,e[h+2148>>2]=0,d[134760]&&(g[190280]=0,g[134760]=0),e[ue+8216>>2]=0,e[ue+8220>>2]=0,e[ue+288>>2]=0,e[w+780>>2]=0,g[189360]=0;e:if(t=e[33691])e[h+2152>>2]=t;else{t:{r:{if(!(r=e[33285])){if(t=e[33283],e[t>>2]==e[t+4>>2]){e[h+2152>>2]=0;break e}if(!(r=e[33285]))break r}e[33285]=0;break t}e[33284]=e[33284]+1,t=e[33283],r=0|Ar[e[t+8>>2]](t)}e[h+2152>>2]=r}Ao=fA+2|0,vt=32;e:{for(;;){ht=vt;t:{r:{a:{if(r=e[33691],(i=e[33285])?t=0:(i=e[33285],t=e[33283],t=e[t>>2]==e[t+4>>
28102]),r|!t|i||!(e[32524]<0)){if(!Ja(e[h+2156>>2])){if((i=(0|(t=e[49828]))>0)&(0|(r=t))<(0|(t=e[33284])))break a;if(!((0|(r=e[49845]))<=0|(0|t)<(0|r))){e[49845]=0,g[134760]=1,e[33285]=e[h+2152>>2],a=16384;break e}}vt=e[h+2156>>2],e[h+2156>>2]=e[h+2152>>2];n:{c:{o:{f:{l:{if((0|(r=e[32524]))>=0){if(d[r+134736|0])break l;e[32524]=-1}if(r=e[33285])break o;if(t=e[33283],e[t>>2]!=e[t+4>>2])break f;r=32;break n}e[33691]|r||(e[h+2156>>2]=g[134736],r=1),e[32524]=r+1,r=g[r+134736|0];break n}if(!(r=e[33285]))break c}e[33285]=0;break n}e[33284]=e[33284]+1,t=e[33283],r=0|Ar[e[t+8>>2]](t)}e[h+2152>>2]=r,e[33691]=0;n:if(!(M|!e[47203])){c:{if((0|(t=e[h+2156>>2]))!=60){if((0|r)!=35&r-97>>>0>25|(0|t)!=38)break n;for(i=e[33285],l=0;;){o:{if(e[h+2156>>2]=r,!i){if(t=e[33283],e[t>>2]==e[t+4>>2])break o;r=e[h+2156>>2]}if(!(!((r=!!(0|Ja(r)))|(0|(t=e[h+2156>>2]))==35)|l>>>0>19)){g[(h+112|0)+l|0]=t,l=l+1|0,(r=e[33285])?(e[33285]=0,i=0):(e[33284]=e[33284]+1,t=e[33283],r=0|Ar[e[t+8>>2]](t),i=e[33285]);continue}}break}g[(h+112|0)+l|0]=0;o:{f:{if(!(r=e[33285])){if(r=0,t=e[33283],e[t>>2]==e[t+4>>2])break o;if(!(r=e[33285]))break f}e[33285]=0;break o}e[33284]=e[33284]+1,t=e[33283],r=0|Ar[e[t+8>>2]](t)}e[h+2152>>2]=r,e[h+100>>2]=e[h+2156>>2],e[h+104>>2]=r,e[h+96>>2]=h+112,uA(134736,84252,h+96|0);o:{if(e[h+2156>>2]==59){l=h+2156|0,ae=h+2152|0,oe=i=oe-32|0;f:if(d[0|(r=h+112|0)]!=35)t=-1,(0|(r=ua(130752,r)))!=-1&&(e[l>>2]=r,e[ae>>2]||(e[ae>>2]=32),t=r);else{if(d[0|(t=r+1|0)]==120){e[i>>2]=l,t=oA(r+2|0,90005,i);break f}e[i+16>>2]=l,t=oA(t,90070,i+16|0)}if(oe=i+32|0,(0|t)>0)break o}e[32524]=0,e[h+2156>>2]=38,e[h+2152>>2]=32;break n}if((0|(t=e[h+2156>>2]))>32)break n;if(!(r=e[33692]-20|0)|(0|r)==16)break c;break n}if((0|r)!=47&&!Mn(r)&&(0|(t=e[h+2152>>2]))!=63&&(0|t)!=33)break n;if((0|(t=e[h+2148>>2]))>780){e[33691]=e[h+2156>>2],g[0|(t=t+189424|0)]=32,g[t+1|0]=0,e[33285]=e[h+2152>>2],a=16384;break e}for(ae=e[33285],l=0,r=e[h+2152>>2];e[h+2156>>2]=r,i=0,ae||(t=e[33283],i=e[t>>2]==e[t+4>>2],r=e[h+2156>>2]),!((0|r)==62|i|l>>>0>499);)e[(h+144|0)+(l<<2)>>2]=r,l=l+1|0,(r=e[33285])?(ae=0,e[33285]=0):(e[33284]=e[33284]+1,t=e[33283],r=0|Ar[e[t+8>>2]](t),ae=e[33285]);e[(i=h+144|0)+(l<<2)>>2]=0,e[h+2152>>2]=32,Qt=h+2148|0,ht=e[32525],r=0,oe=nt=oe-560|0;o:if(Hi(i,84333,3)&&Hi(i,84477,4)){for(t=(i+(GA(i)<<2)|0)-4|0,(0|(hA=e[t>>2]))==47&&(e[t>>2]=32);;){if(t=e[i+(r<<2)>>2]){if(ns(t))t=r;else if(g[(nt+512|0)+r|0]=or(t<<24>>24),t=39,(0|(r=r+1|0))!=39)continue}else t=r;break}if(g[(nt+512|0)+t|0]=0,d[nt+512|0]!=47){if((0|(ae=ua(130480,nt+512|0)))!=16&&(r=e[Qt>>2],e[Qt>>2]=r+1,g[r+189424|0]=32),(0|hA)==47&&(r=0,!(502241>>>ae&1)))break o}else(0|(r=ua(130480,nt+512|1)))!=16&&(l=e[Qt>>2],e[Qt>>2]=l+1,g[l+189424|0]=32),ae=r+32|0;l=i+(t<<2)|0,t=e[33708],M=F(t,76)+133076|0,r=262174;f:{l:{i:{h:switch(ae-1|0){case 33:b:if(!((0|t)<=1)){for(;;){if(e[F(r=t-1|0,76)+133152>>2]==2)break b;if(e[33708]=r,i=t>>>0>2,t=r,!i)break}t=1}r=Vr(l,34,t);break o;case 32:b:if(!((0|t)<=1)){for(;;){if(e[F(r=t-1|0,76)+133152>>2]==1)break b;if(e[33708]=r,i=t>>>0>2,t=r,!i)break}t=1}r=Vr(l,33,t)+524328|0;break o;case 9:(0|(r=e[33709]))<=18&&(e[33709]=r+1),e[(t=134912+(M=r<<6)|0)>>2]=10,e[t+4>>2]=-1,e[t+8>>2]=-1,e[t+52>>2]=-1,e[t+56>>2]=-1,e[t+44>>2]=-1,e[t+48>>2]=-1,e[t+36>>2]=-1,e[t+40>>2]=-1,e[t+28>>2]=-1,e[t+32>>2]=-1,e[t+20>>2]=-1,e[t+24>>2]=-1,e[t+12>>2]=-1,e[t+16>>2]=-1,e[t+60>>2]=-1,t=vr(l,88301),i=vr(l,88390),an(t,88479)?an(t,88528)||(e[28+(134912+(r<<6)|0)>>2]=Xs(i,130224)):e[24+(M+134912|0)>>2]=Xs(i,130192),La(Qt,e[33709]);break i;case 2:for((0|(t=e[33709]))<=18&&(e[33709]=t+1),e[(t=134912+(to=t<<6)|0)>>2]=3,e[t+4>>2]=-1,e[t+8>>2]=-1,e[t+52>>2]=-1,e[t+56>>2]=-1,e[t+44>>2]=-1,e[t+48>>2]=-1,e[t+36>>2]=-1,e[t+40>>2]=-1,e[t+28>>2]=-1,e[t+32>>2]=-1,e[t+20>>2]=-1,e[t+24>>2]=-1,e[t+12>>2]=-1,e[t+16>>2]=-1,e[t+60>>2]=-1,Jr=1;;){if(i=vr(l,e[130448+(ds=Jr<<2)>>2])){hA=0,t=e[ds+131072>>2];b:if(ae=e[t>>2])for(;;){for(r=0;M=g[r+ae|0],(ht=e[(r<<2)+i>>2])&&(r=r+1|0,(0|M)==(0|ht)););switch(ht-34|0){case 0:case 5:if(!M)break b}if(!(ae=e[t+((hA=hA+1|0)<<3)>>2]))break}Oo=ds+(to+134912|0)|0;b:if((0|(t=e[4+(t+(hA<<3)|0)>>2]))>=0)t=(0|F(t,e[4+(ds+134912|0)>>2]))/100|0;else{for(;i=(t=i)+4|0,ns(e[t>>2]););for(ii=e[t>>2]==43,i=((Pi=e[(t=t+(ii<<2)|0)>>2]==45)<<2)+t|0,hA=nt+96|0,oe=ae=(oe=M=oe-16|0)-224|0,kA(ae+16|0,0,144),t=ae+160|4,e[ae+24>>2]=t,e[ae+60>>2]=t,e[ae+92>>2]=-1,e[ae+64>>2]=60,e[ae+20>>2]=t,e[ae+48>>2]=19,r=i;r=(t=r)+4|0,ht=(ht=e[t>>2])?Ns(124960,ht):0;);e[ae+100>>
28102]=t,qs(r=ae+16|0,0,0),jt(ae,r,1,1),r=e[ae+8>>2],r0=e[ae+12>>2],ht=e[ae>>2],Y0=e[ae+4>>2],hA&&(i0=hA,hA=e[ae+136>>2]+(e[ae+20>>2]-e[ae+60>>2]|0)|0,e[i0>>2]=hA?t+(hA<<2)|0:i),e[(t=M)+8>>2]=r,e[t+12>>2]=r0,e[t>>2]=ht,e[t+4>>2]=Y0,oe=ae+224|0,$e=_a(e[t>>2],e[t+4>>2],e[t+8>>2],e[t+12>>2]),oe=t+16|0;m:{r=100;C:if((0|(t=i))!=(0|(i=e[nt+96>>2]))){r=Pi?-1:ii;p:{if((0|(t=e[i>>2]))!=115){if((0|t)!=37)break p;if(he($e=r?+(0|r)*$e+100:$e)<2147483648){r=~~$e;break C}r=-2147483648;break C}if(e[i+4>>2]==116){O(+(wr=$e*+(0|r)/12)),t=0|G(1),G(0);x:{if((r=(t=t>>>20&2047)-969|0)>>>0>=63){if($e=wr+1,(0|r)<0)break x;if(O(+wr),r=0|G(1),i=0|G(0),!(t>>>0<1033)){if($e=0,!i&(0|r)==-1048576||($e=wr+1,t>>>0>=2047))break x;if((0|r)>0|(0|r)>=0){N[8+(t=oe-16|0)>>3]=3105036184601418e216,$e=3105036184601418e216*N[t+8>>3];break x}if(!(r>>>0<3230714880)){N[8+(t=oe-16|0)>>3]=12882297539194267e-247,$e=12882297539194267e-247*N[t+8>>3];break x}}M=t,t=!(i<<1)&(0|(t=r<<1|i>>>31))==-2129002496|t>>>0<2165964800?M:0}Ba=(wr=($e=wr-((ea=($e=N[14416])+wr)-$e))*$e)*wr*($e*N[14421]+N[14420]),wr*=$e*N[14419]+N[14418],$e*=N[14417],O(+ea),G(1),M=0|G(0),$e=Ba+(wr+($e+N[115376+(i=M<<4&2032)>>3])),ht=e[(i=i+115384|0)>>2],ae=e[i+4>>2],i=(r=ht)+(ht=0)|0,r=(M<<13)+ae|0,r=i>>>0<ht>>>0?r+1|0:r,t?(D(0,0|i),D(1,0|r),$e=(wr=+_())*$e+wr):-2147483648&M?(D(0,0|i),D(1,r+1071644672|0),($e=(ea=(wr=+_())*$e)+wr)<1&&(e[8+(t=oe-16|0)>>2]=0,e[t+12>>2]=1048576,N[t+8>>3]=22250738585072014e-324*N[t+8>>3],$e=($e=(Ba=$e+1)+(ea+(wr-$e)+($e+(1-Ba)))+-1)==0?0:$e),$e*=22250738585072014e-324):(D(0,0|i),D(1,r+-1048576|0),$e=(wr=+_())*$e+wr,$e+=$e)}if(he($e*=100)<2147483648){r=~~$e;break C}r=-2147483648;break C}}if((0|Jr)!=1)break m;if(r)r=100+(t=he($e=$e*+(0|r)*100)<2147483648?~~$e:-2147483648)|0;else{if(he($e*=100)<2147483648){r=~~$e;break C}r=-2147483648}}t=(0|F(r,e[ds+134848>>2]))/100|0;break b}t=he($e)<2147483648?~~$e:-2147483648,r&&(t=e[ds+134848>>2]+F(t,r)|0)}e[Oo+4>>2]=t}if((0|(Jr=Jr+1|0))==5)break}La(Qt,e[33709]);break i;case 11:(0|(r=e[33709]))<=18&&(e[33709]=r+1),e[(t=134912+(r<<6)|0)>>2]=12,e[t+4>>2]=-1,e[t+8>>2]=-1,e[t+52>>2]=-1,e[t+56>>2]=-1,e[t+44>>2]=-1,e[t+48>>2]=-1,e[t+36>>2]=-1,e[t+40>>2]=-1,e[t+28>>2]=-1,e[t+32>>2]=-1,e[t+20>>2]=-1,e[t+24>>2]=-1,e[t+12>>2]=-1,e[t+16>>2]=-1,e[t+60>>2]=-1,t=(t=vr(l,88658))?Xs(t,130400):3,i=134912+(r<<6)|0,e[e[47192]+148>>2]!=1?(e[52+(134912+(r<<6)|0)>>2]=t,t=d[t+102776|0]):(e[20+(134912+(r<<6)|0)>>2]=d[t+102764|0],t=d[t+102770|0]),e[i+12>>2]=t,La(Qt,e[33709]);break i;case 34:case 41:case 43:if(!((0|(t=e[33709]))<=0)){if(l=ae-32|0,ae=0,i=0,r=0,t>>>0>=4)for(M=-4&t,hA=0;Jr=2|r,ds=1|r,i=(0|l)==e[134912+((ht=3|r)<<6)>>2]?ht:(0|l)==e[134912+(Jr<<6)>>2]?Jr:(0|l)==e[134912+(ds<<6)>>2]?ds:(0|l)==e[134912+(r<<6)>>2]?r:i,r=r+4|0,(0|M)!=(0|(hA=hA+4|0)););if(M=3&t)for(;i=(0|l)==e[134912+(r<<6)>>2]?r:i,r=r+1|0,(0|M)!=(0|(ae=ae+1|0)););(0|i)<=0||(e[33709]=i,t=i)}La(Qt,t);break i;case 7:if(t=vr(l,88741),r=vr(l,88860),(0|Xs(t,130176))!=1)break i;t=e[Qt>>2],e[Qt>>2]=t+1,g[t+189424|0]=91,t=e[Qt>>2],e[Qt>>2]=t+1,g[t+189424|0]=91,t=Ea((t=e[Qt>>2])+189424|0,r,800-t|0)+e[Qt>>2]|0,e[Qt>>2]=t+1,g[t+189424|0]=93,t=e[Qt>>2],e[Qt>>2]=t+1,g[t+189424|0]=93;break i;case 35:e[33692]==36&&(g[e[Qt>>2]+189424|0]=0,(i=ua(131104,r=(t=e[33707])+189424|0))&&(e[Qt>>2]=Rr(i,r)+t)),t=e[Qt>>2],e[Qt>>2]=t+1,g[t+189424|0]=1,t=e[Qt>>2],e[Qt>>2]=t+1,g[t+189424|0]=89,e[33692]=0;break i;case 8:if(!(t=vr(l,89299)))break i;g[134824]=1,r=e[Qt>>2],e[Qt>>2]=Ea(r+189424|0,t,800-r|0)+e[Qt>>2];break i;case 13:g[134824]=1;break i;case 40:case 45:g[134824]=0;break i;case 4:if(!(t=vr(l,89360)))break i;if(Ea(nt+352|0,t,160),d[nt+352|0]&&!qr(199328,nt+352|0)){g[134760]=1,g[199328]=0,r=16384;break o}if((0|(t=Bi(nt+352|0)))<0)break i;e[nt+20>>2]=t,e[nt+16>>2]=1,uA(t=nt+352|0,89460,nt+16|0),BA(e[Qt>>2]+189424|0,t),e[Qt>>2]=e[Qt>>2]+CA(t);break i;case 10:(0|(r=e[33709]))<=18&&(e[33709]=r+1),e[(t=134912+(r<<6)|0)>>2]=11,e[t+4>>2]=-1,e[t+8>>2]=-1,e[t+52>>2]=-1,e[t+56>>2]=-1,e[t+44>>2]=-1,e[t+48>>2]=-1,e[t+36>>2]=-1,e[t+40>>2]=-1,e[t+28>>2]=-1,e[t+32>>2]=-1,e[t+20>>2]=-1,e[t+24>>2]=-1,e[t+12>>2]=-1,e[t+16>>2]=-1,e[t+60>>2]=-1;b:if(t=vr(l,89514)){if(Ea(nt+352|0,t,160),e[34441]){if((0|(t=Bi(nt+352|0)))<0||0|Ar[e[34441]](1,t+e[33282]|0,ht))break b;e[nt+68>>2]=t,e[nt+64>>2]=1,uA(nt+352|0,89658,nt- -64|0)}else{if(!ht|d[nt+352|0]==47?t=Go(nt+352|0):(e[nt+48>>2]=ht,e[nt+52>>2]=nt+352,uA(t=nt+96|0,89564,nt+48|0),t=Go(t)),(0|t)<0)break b;e[nt+36>>2]=t,e[nt+32>>2]=1,uA(nt+352|0,89623,nt+32|0)}t=nt+352|0,BA(e[Qt>>2]+189424|0,t),e[Qt>>2]=e[Qt>>2]+CA(t),e[4+(134912+(r<<6)|0)>>2]=1}if(La(Qt,e[33709]),(0|hA)==47){Mo(11,Qt),r=16384;break o}g[134772]=1,r=16384;break o;case 42:Mo(43,Qt),g[134772]=0,r=16384;break o;case 12:b:{if(t=vr(l,89714)){if(r=16384,(M=(0|(t=Xs(t,130336)))<0?2:t)>>>0<=2&&(t=e[Qt>>2],e[nt+84>>2]=M,e[nt+80>>2]=1,uA(t+189424|0,89770,nt+80|0),e[Qt>>2]=e[Qt>>2]+3,r=0),t=e[102784+(M<<2)>>2],!(i=vr(l,89907)))break b;break l}if(r=16384,i=vr(l,89907))break l;t=21;break f}if(M>>>0<3)break i;break f;case 0:(t=vr(l,89965))&&(Ea(r=nt+352|0,t,160),Bi(r)),r=Vr(l,1,e[33708])?147456:0;break o;case 1:r=Vr(l,2,t)?147456:0;break o;case 5:r=0,e[M>>2]==6&&(r=Vr(l,38,t),t=e[33708]),r=524358+(Vr(l,6,t)|r)|0;break o;case 6:r=0,(0|(i=e[M>>2]))==6&&(r=Vr(l,38,t),i=e[M>>2]),(0|i)==7&&(r=Vr(l,39,e[33708])|r),r=524358+(r|Vr(l,7,e[33708]))|0;break o;case 37:if(r=524328,e[M>>2]!=6)break o;r=Vr(l,38,t)+524328|0;break o;case 38:if(r=524358,(-2&e[M>>2])!=6)break o;r=Vr(l,39,t)+524358|0;break o;case 14:case 46:break o;case 3:break h;
2810default:break i}t=vr(l,88893),r=vr(l,88992),i=vr(l,89153),l=Xs(t,130272),r=Xs(r,130320),t=po(i,0),e[nt>>2]=1,i=(0|t)<2?193:t- -64|0,r=(0|(t=(0|r)==1?19:l))==64?i:t,e[nt+4>>2]=r,uA(t=nt+352|0,89230,nt),BA(e[Qt>>2]+189424|0,t),t=e[Qt>>2]+CA(t)|0,e[Qt>>2]=t,e[33707]=t,e[33692]=r}r=0;break o}t=po(i,1),i=e[33722],Qo(1,e[33713]),(0|(t=(0|(i=(0|F(t,i))/100<<8))/(0|F(e[36429],10))|0))<=199&&(t=(0|i)/(0|F(e[36428],10))|0),r=r||16384}i=t>>>5|0,l=t,r=((t=(0|t)>4095)?i>>>0>=4095?4095:i:l)+(t?8388608|r:r)|0}if(oe=nt+560|0,r){if(t=e[h+2148>>2]+189424|0,g[0|t]=32,g[t+1|0]=0,!(131072&r)){a=r;break e}BA(189360,134784),a=r;break e}e[h+2156>>2]=32;o:{f:{if(!(r=e[33285])){if(M=0,t=e[33283],e[t>>2]==e[t+4>>2])continue;if(!(r=e[33285]))break f}e[33285]=0;break o}e[33284]=e[33284]+1,t=e[33283],r=0|Ar[e[t+8>>2]](t)}e[h+2152>>2]=r,M=0;continue}e[h+2156>>2]=t+57344}if(d[134824])continue;if(i=e[h+2156>>2],!((0|(t=e[h+2152>>2]))!=10|e[47268]!=-1)){(0|(a=En(i)))==16384?(t=e[h+2148>>2],v[fA+(t<<1)>>1]=e[33284]-e[47353],e[$s>>2]=t,a=524328,t=Rr(e[h+2156>>2],t+189424|0)+e[h+2148>>2]|0):t=e[h+2148>>2],g[0|(t=t+189424|0)]=32,g[t+1|0]=0;break e}n:if((0|i)==1){if((0|t)!=66){if((0|t)!=86)break n;for(t=e[h+2148>>2],e[h+2148>>2]=t+1,g[t+189424|0]=0;;){c:{o:{f:{if(!(r=e[33285])){if(t=e[33283],e[t>>2]==e[t+4>>2])break c;if(!(r=e[33285]))break f}e[33285]=0;break o}e[33284]=e[33284]+1,t=e[33283],r=0|Ar[e[t+8>>2]](t)}if(e[h+2156>>2]=r,!(ns(r)||(0|(t=e[h+2148>>2]))>=799)){e[h+2148>>2]=t+1,g[t+189424|0]=e[h+2156>>2];continue}}break}g[e[h+2148>>2]+189424|0]=0,a=147456;break e}r=e[h+2148>>2],g[0|(t=r+189424|0)]=32,g[t+1|0]=32,g[t+2|0]=32,g[t+3|0]=0,e[h+2148>>2]=r+3;c:{o:{f:{l:{i:{h:{if(!(r=e[33285])){if(t=e[33283],e[t>>2]==e[t+4>>2])break l;if(!(r=e[33285]))break h}e[33285]=0;break i}e[33284]=e[33284]+1,t=e[33283],r=0|Ar[e[t+8>>2]](t)}if(e[h+2152>>2]=r,i=0,(0|r)!=48)break f;break o}r=e[h+2152>>2]}if(e[47208]=0,e[47201]=1,(0|r)==49)break c;for(i=e[33285],l=0;;){f:{if(!i){if(t=e[33283],e[t>>2]==e[t+4>>2])break f;r=e[h+2152>>2]}if(!(ns(r)|l>>>0>58)){e[188832+(l<<2)>>2]=e[h+2152>>2],(r=e[33285])?(e[33285]=0,i=0):(e[33284]=e[33284]+1,t=e[33283],r=0|Ar[e[t+8>>2]](t),i=e[33285]),l=l+1|0,e[h+2152>>2]=r,t=e[h+2148>>2],e[h+2148>>2]=t+1,g[t+189424|0]=32;continue}}break}i=2,e[188832+(l<<2)>>2]=0}e[47201]=i}c:{if(!(r=e[33285])){if(t=e[33283],e[t>>2]==e[t+4>>2])continue;if(!(r=e[33285]))break c}e[33285]=0,e[h+2152>>2]=r;continue}e[33284]=e[33284]+1,t=e[33283],e[h+2152>>2]=Ar[e[t+8>>2]](t);continue}Qs=Qs+1|0,r=0,t=e[ue+340>>2];n:if(l=T[t>>1]){for(;;){if((65535&l)!=(0|i)){if(l=T[t+((r=r+2|0)<<1)>>1])continue;break n}break}switch(0|(t=T[t+(r<<1|2)>>1])){case 1:continue;case 0:break n}e[h+2156>>2]=t,i=t}Ja(i)?(Te=1,r=e[h+2156>>2]):YA?(e[33285]=e[h+2152>>2],r=1328,e[h+2156>>2]=1328,e[h+2152>>2]=32,YA=0):(0|(r=e[h+2156>>2]))!=3851?(YA=0,(0|r)!=3405|e[h+2152>>2]!=8205||(r=3406,e[h+2156>>2]=3406)):(r=32,e[h+2156>>2]=32,YA=0);n:if(Ln(r)){if(e[ue+8216>>2]=e[ue+8216>>2]+1,e[33692]|e[47200]!=2||Ln(vt)||(e[h+2544>>2]=0,e[h+2548>>2]=0,e[h+2304>>2]=84731,!ls(ue,h+2304|0,h+2160|0,h+2544|0,0,0))||(IA(ue,t=h+2160|0,h+2544|0,-1,0),PA(r=t,t=h+2336|0),e[h+80>>2]=t,uA(r=h+2240|0,85451,h+80|0),t=e[h+2148>>2],(0|(r=CA(r)+t|0))>=800))break n;BA(t+189424|0,h+2240|0),e[h+2148>>2]=r}else Mn(e[h+2156>>2])&&(e[ue+8220>>2]=e[ue+8220>>2]+1);if(r=e[h+2152>>2],t=e[h+2156>>2],e[47204])if((0|M)>0)M=M-1|0;else{if(!((0|t)!=91|(0|r)!=91)){i=0,M=-1;break t}M=(0|t)==93&&(0|r)==93?2:M}if((0|t)==10){for(i=e[33285],l=0;;){n:{if(!i){if(t=e[33283],e[t>>2]==e[t+4>>2])break n;r=e[h+2152>>2]}if(ns(r)){l=(e[h+2152>>2]==10)+l|0,(r=e[33285])?(e[33285]=0,i=0):(e[33284]=e[33284]+1,t=e[33283],r=0|Ar[e[t+8>>2]](t),i=e[33285]),e[h+2152>>2]=r;continue}}break}if((0|l)>0){a&&kA(t=Ps+189424|0,32,ur(h+2336|0,t)),t=e[h+2148>>2]+189424|0,g[0|t]=32,g[t+1|0]=0,e[33285]=e[h+2152>>2],a=e[47203]?524358:F((0|l)>=3?3:l,30)+524328|0;break e}if(t=e[47268]<(0|Qs),Qs=0,!t){t=e[h+2148>>2]+189424|0,g[0|t]=32,g[t+1|0]=0,e[33285]=e[h+2152>>2],a=262174;break e}}if(i=0,e[33692]|M)break t;if(t=0,!a)break r;if(ns(e[h+2156>>2])){t=a;break r}if(Xr(e[h+2156>>2])&&wn(e[h+2156>>2]))break r;e[33691]=e[h+2156>>2],g[0|(t=Ps+189424|0)]=32,g[t+1|0]=0,e[33285]=e[h+2152>>2];break e}YA&&(e[h+2148>>2]=Rr(1328,e[h+2148>>2]+189424|0)+e[h+2148>>2]),a&&kA(t=Ps+189424|0,32,ur(h+2336|0,t)),t=e[h+2148>>2]+189424|0,g[0|t]=32,g[t+1|0]=0}a=589864;break e}if(!((0|(r=e[h+2156>>2]))!=46|e[h+2152>>2]!=46)){r:{a:{n:{if(!(r=e[33285])){if(r=e[33283],e[r>>2]==e[r+4>>2])break r;if(!(r=e[33285]))break n}e[33285]=0;break a}e[33284]=e[33284]+1,r=e[33283],r=0|Ar[e[r+8>>2]](r)}if(m=r,(0|r)==46)for(e[h+2152>>2]=32,e[h+2156>>2]=8230,m=e[33285];;){a:{n:{if(!m){if(r=e[33283],e[r>>2]==e[r+4>>2]){m=46;break r}if(!(m=e[33285]))break n}e[33285]=0,r=0;break a}e[33284]=e[33284]+1,r=e[33283],m=0|Ar[e[r+8>>2]](r),r=e[33285]}if((0|m)!=46)break r;e[h+2152>>2]=32,e[h+2156>>2]=8230,m=r}}(0|(r=e[h+2156>>2]))!=8230?e[33285]=m:(e[h+2152>>2]=m,r=8230)}if(hA=0,(0|(ae=En(r)))!=16384){r:if(536621&ae)for(r=e[33285];;){if(!r&&(r=e[33283],e[r>>2]==e[r+4>>2])||!(536621&En(e[h+2152>>2])))break r;(m=e[33285])?(e[33285]=0,r=0):(e[33284]=e[33284]+1,r=e[33283],m=0|Ar[e[r+8>>2]](r),r=e[33285]),e[h+2152>>2]=m}if(1048576&ae){e[w+780>>2]=ae>>>12&15,YA=1,M=0,a=t;continue}(ns(e[h+2152>>2])|32768&ae||_i(e[h+2152>>2])||(0|(r=e[h+2152>>2]))==63||(l=0,e[33285]||(r=e[33283],l=e[r>>2]==e[r+4>>2],r=e[h+2152>>2]),l||(0|r)==1))&&(hA=1)}if((0|(r=e[h+2156>>2]))==57404&&(e[h+2156>>2]=60,r=60),e[47201]){a=0;r:if(!(1<<(l=ja(r))&1879048255&&l>>>0<=30)){if(!((l=ja(r))>>>0>27)){if(116672&(M=1<<l))break r;if(134227968&M){a=!(1024&Je(r,l));break r}}a=1}if(!(d[134772]|!a)&&(e[47201]==1||Ns(188832,e[h+2156>>
28102]))){e[ue+288>>2]=0,i=e[h+2156>>2],g[h+2336|0]=0,M=e[h+2152>>2],r=0;r:{a:if(!((0|(a=e[34064]))<=0))for(;;){if((0|i)==e[136272+(r<<4)>>2]){if(e[136276+(r<<4)>>2])break r;if(Ka(0,r))break a;break r}if((0|a)==(0|(r=r+1|0)))break}r=-1}r:if((0|r)>=0)e[h>>2]=r,uA(h+2336|0,86007,h),e[33285]=M;else if((l=!hA)|(0|i)!=46|(0|M)==46||(e[h+2600>>2]=0,e[h+2604>>2]=0,e[h+2540>>2]=86036,!ls(ue,h+2540|0,h+2544|0,h+2600|0,0,0))?r=ui(h+2240|0,ue,i,0):(IA(ue,r=h+2544|0,h+2600|0,-1,0),PA(a=r,r=h+2160|0),e[h+64>>2]=r,uA(r=h+2304|0,85451,h- -64|0)),a=r,l|!e[h+2148>>2]|2&d[ue+76|0]){for(r=e[33285],l=1;;){a:{n:{if(!r){if(r=e[33283],e[r>>2]==e[r+4>>2]|(0|i)==60|(0|i)!=(0|M))break a;if(l=l+1|0,M=e[33285])break n;e[33284]=e[33284]+1,r=e[33283],M=0|Ar[e[r+8>>2]](r),r=e[33285];continue}if((0|i)==60|(0|i)!=(0|M))break a;M=r,l=l+1|0}r=0,e[33285]=0;continue}break}if(e[h+2152>>2]=M,hA&&(e[33285]=M),(0|l)==1){e[h+16>>2]=a,uA(h+2336|0,86219,h+16|0);break r}if((0|l)<=3){if(g[h+2336|0]=0,(0|(r=e[50786]))<=299&&(e[h+2336>>2]=d[86728]|d[86729]<<8|d[86730]<<16|d[86731]<<24,v[h+2340>>1]=d[86732]|d[86733]<<8),(0|l)>0){for(;e[h+32>>
28102]=a,uA(r=h+2160|0,86219,h+32|0),M=l>>>0>1,fa(h+2336|0,r),l=l-1|0,M;);r=e[50786]}if((0|r)>299)break r;e[h+2160>>2]=d[86857]|d[86858]<<8|d[86859]<<16|d[86860]<<24,r=d[86860]|d[86861]<<8|d[86862]<<16|d[86863]<<24,g[h+2163|0]=r,g[h+2164|0]=r>>>8,g[h+2165|0]=r>>>16,g[h+2166|0]=r>>>24,fa(h+2336|0,h+2160|0);break r}e[h+56>>2]=a,e[h+52>>2]=l,e[h+48>>2]=a,uA(h+2336|0,86932,h+48|0)}else e[33691]=i,e[33285]=M,v[h+2336>>1]=32;if(l=CA(a=h+2336|0),BA((r=e[h+2148>>2])+189424|0,a),e[h+2148>>2]=r+l,hA){if((0|i)==45){a=16384;break e}if(a=En(i),!(2&d[ue+76|0]|(0|r)<=0)){a=(-32769&a)==266270?262148:(28672&a)==4096?266244:262148;break e}if(!(524288&a)){a=(28672&a)==4096?266244:262148;break e}if((0|a)>=0)break e}i=e[h+2156>>2]}}if(i|!(2097152&ae)||(r=BA(e[h+2148>>2]+189424|0,ui(h+2336|0,ue,e[h+2156>>2],1)),d[0|r]?(e[h+2148>>2]=e[h+2148>>2]+CA(r),ae&=-28673,i=e[h+2156>>2]):i=0),M=0,hA){r:if(ns(m=e[h+2152>>2]))for(l=e[33285],r=0;;){if(!l&&(a=e[33283],e[a>>2]==e[a+4>>2])||!ns(m))break r;r=((0|m)==10)+r|0,(m=e[33285])?(e[33285]=0,l=0):(e[33284]=e[33284]+1,a=e[33283],m=0|Ar[e[a+8>>2]](a),l=e[33285])}else r=0;a=(0|(M=e[h+2156>>2]))==46&&(0|r)<2?4194304|ae:ae;r:{if(!r){l=1,(0|M)!=44|(0|vt)!=46|e[ue+212>>2]!=26741|ht-48>>>0>=10||m-48>>>0>=10&&!wn(m)||(e[h+2156>>2]=1367,l=0),(0|(ae=e[h+2156>>2]))!=46|(0|m)!=39||(M=l,ae=e[33283],(0|(nt=e[ae>>2]))==e[ae+4>>2]?l=0:(l=0|Ar[e[ae+8>>2]](ae),e[ae>>2]=nt),ae=e[h+2156>>2],l=(0|l)!=115&M);a:if((0|ae)!=46)l&=Te;else{n:if(1&g[ue+106|0]){if(!(vt-48>>>0<10)&&((M=vt-73|0)>>>0>15|!(1<<M&40969)||!(1<<(M=ht-73|0)&40969&&M>>>0<=15||ns(ht))))break n;l=vt-48>>>0>=10?0:!wn(m)&(0|m)!=45&l}if(wn(m)&&(l=d[ue+208|0]!=0&l),Te){ae=e[h+2156>>2];break a}ae=32,e[h+2156>>2]=32,l=0}if(!(!l|(0|ae)!=46|!e[47203]|(0|m)!=60)){Ps=e[h+2148>>2],t=a;break r}if(!l)break r}if(t=e[h+2148>>2]+189424|0,g[0|t]=32,g[t+1|0]=0,e[33285]=m,vt-48>>>0<10&&(a=Xr(m)?a:-4194305&a),(0|r)<2)break e;a=(0|a)==536621?536656:(0|a)==532520?532555:524358;break e}(e[33285]||(M=0,r=e[33283],e[r>>2]!=e[r+4>>2]))&&(M=0,ns(e[h+2152>>2])&&(e[33285]=m))}a=t}if(e[33712]!=1){if((0|i)!=(0|(r=e[h+2156>>2])))l=e[h+2148>>2],(0|r)==57404&&(r=60,e[h+2156>>2]=60);else{t:{if(_i(i))r=57384;else{if(r=45,e[h+2156>>2]==45)break t;r=32}e[h+2156>>2]=r}l=e[h+2148>>2]}e[h+2148>>2]=Rr(r,l+189424|0)+e[h+2148>>2],ns(e[h+2156>>2])||_i(e[h+2156>>2])||(t=e[h+2148>>2],v[fA+(t<<1)>>1]=e[33284]-e[47353],(0|t)<=(l+1|0)||kA(Ao+(l<<1)|0,255,t+~l<<1)),r=e[h+2148>>2],e[$s>>2]=r;t:{r:{if((0|r)>725){if(!Xr(e[h+2156>>2]))break r;r=e[h+2148>>2]}if((0|r)<796)continue;break t}if(r=e[h+2148>>2],!(e[h+2156>>2]-48>>>0>=10)&&(0|r)<796)continue}break}}g[0|(t=r+189424|0)]=32,g[t+1|0]=0,e[33285]=e[h+2152>>2],a=16384}oe=h+2608|0,YA=a,da&&(t=e[w+780>>2],e[da>>2]=t||YA>>>12&7),t=(w+5184|0)+(e[w+6800>>2]<<1)|0,v[t+6>>1]=0,v[t+2>>1]=0,v[t+4>>1]=32767,ae=F(4095&YA,8388608&YA?320:10),a=189424;e:{t:{r:if(t=d[189424]){for(;;){if(!!(255&(t=t<<24>>24))&t>>>0<33){if(t=d[0|(a=a+1|0)])continue;break r}break}if(d[0|a])break t}ae=(0|(r=ae-(t=e[47566])|0))>0?r:0,e[47566]=ae+t,YA=d[190268]?524288|YA:YA,e[ue+8240>>2]=YA;break e}e[47566]=ae,t=d[190268],e[ue+8240>>2]=YA,t&&(rr=1,e[47568]=e[47568]+1,(0|(t=e[47569]))<=0||(t=t-1|0,e[47569]=t,t||(g[190280]=0)))}e[49572]=1,e[47572]=655360,e[47573]=0,e[ue+8184>>2]=0,e[ue+8188>>2]=0,t=0,e[ue+288>>2]=0,e[(r=ue- -8192|0)>>2]=0,e[r+4>>2]=0,e[ue+8200>>2]=0,e[ue+8224>>2]=0,e[ue+8228>>2]=0,e[(r=ue+8232|0)>>2]=0,e[r+4>>2]=0,g[w+786|0]=32,v[w+784>>1]=8192,e[w+6812>>2]=32,v[w+1588>>1]=3,e[w+1584>>2]=0,a=0;e:if(!((0|(r=e[w+6800>>2]))<=0)){for(;;){if(v[(w+5184|0)+(a<<1)>>1]>0)break e;if((0|r)==(0|(a=a+1|0)))break}a=r}if(r=T[(w+5184|0)+(a<<1)>>1],v[w+1592>>1]=r,r)for(;t=!!(65535&~r)+t|0,r=T[(w+5184|0)+((a=a+1|0)<<1)>>1];);for(g[w+1594|0]=t,l=3,fA=1,a=0;;){ht=e[w+6808>>2],Hs(w+6808|0,(Qt=(w+784|0)+l|0)-1|0),!d[ue+170|0]|e[w+6808>>2]-48>>>0>=10||Xr(ht)&&(e[w+6808>>2]=97),Oe?e[w+6812>>2]=Oe:P&&Hs(w+6812|0,P+189423|0),r=P;e:{t:if(a||(r=ur(w+6816|0,P+189424|0)+P|0,a=e[w+6816>>2])){if(Te=ur(w+6804|0,t=r+189424|0),(0|a)==1){if(i=r-1|0,Oe=32,vt=0,e[w+6812>>2]!=32){r=i,t=32;break t}P=0,a=r;r:{a:switch(d[0|t]-43|0){case 0:a=r+1|0,P=64;break r;case 2:break a;default:break r}a=r+1|0,P=96}if(g[0|(t=a+189424|0)]-48>>>0>=10)m=a+1|0,Te=-1;else{for(Te=Jn(t);a=(t=a)+1|0,g[t+189424|0]-48>>>0<10;);m=a,a=t}if((0|(Oe=e[47350]))>247)t=0;else if(t=0,!((0|(a=g[a+189424|0]))<0)&&(a=Nn(84868,255&a,14))){r=1+(t=a-84868|0)|0,(0|Te)==-1&&(Te=e[105536+(r<<2)>>2],P=0);r:{a:switch(t-8|0){case 0:e[49574]=0,e[49573]=Te;break r;case 4:break a;default:break r}g[199304]=(0|Te)>=3?1:0}t=1,e[47350]=Oe+1,e[198304+(Oe<<2)>>2]=(r+P|0)+(Te<<8),r=m}Oe=e[w+6812>>2],kA(i+189424|0,32,r-i|0),na=t+na|0,a=0;break e}Oe=0,(0|a)==32|e[49573]!=36?(vt=0,t=a):(e[w+6812>>2]!=32|e[w+6804>>2]!=32||(e[49573]=20),vt=0,t=ei(a,ue))}else e[w+6804>>2]=32,vt=1,Oe=0,Te=0,t=32;t:if(is){if(is=1,fA=8,a=0,(0|t)!=93|e[w+6804>>2]!=93)break t;r=r+1|0,t=32,is=0}else if((240&(a=e[49573]))!=64)if(is=0,16&a)a=0;else{r:{a:{n:{c:{if(!((0|(m=(0|t)==8242||(0|t)==8217||(0|t)==146||(0|t)==180?39:t))!=8216&(0|m)!=63))if(Xr(e[w+6808>>2])){if(m=t,Xr(e[w+6804>>2])){m=39;break c}}else m=t;o:{if((0|m)!=1367){if((0|m)==1328){ee|=1024,m=32;break c}if((t=m-44032|0)>>>0>11183)break c;if(i=((a=((M=65535&t)>>>0)/28|0)>>>0)%21|0,t=t-F(a,28)&65535,m-50500>>>0>587)break o;a=t?t+4519|0:0,i=i+4449|0;break a}ee|=131072,Ps=e[w+6804>>2],t=e[w+6812>>2],m=32;break n}a=50500+(t+F(i,28)|0)|0,i=(M>>>0)/588|4352;break a}if(Ps=e[w+6804>>2],t=e[w+6812>>2],!((a=m-12592|0)>>>0>51)){i=4352|d[a+103296|0],a=0;break a}}h=r+189424|0;n:if(!((0|(a=e[ue+212>>2]))!=28268&(0|a)!=24934|(0|m)!=39)&&!Mn(t)&&(ur(w+6820|0,h+1|0),Gi(e[w+6820>>2]))){i=601,a=0;c:switch(Ps-110|0){case 6:break a;case 0:break c;default:break n}if(e[ue+212>>2]!=24934)break a;g[0|h]=32;break a}if(e[w+6824>>2]=32,(0|(t=e[49897]))>0)e[49897]=t-1,a=0;else{if(!m){a=0,i=0;break r}n:{c:{o:{f:if((hA=e[ue+180>>2])&&(M=m,(nt=Ln(m))&&(M=ei(m,ue)),!No(hA)))for(;;){e[w+16>>2]=0,e[w+624>>2]=M,t=ur(w+16|0,hA)+hA|0;l:if(e[w+624>>2]==e[w+16>>2]){if(d[0|t]){for(i=1,Jr=0,a=h;ds=ur(w+16|0,t),Qs=ur(w+624|0,a),$s=ei(e[w+624>>2],ue),e[w+624>>2]=$s,a=a+Qs|0,Jr=(Qs=(0|$s)==e[w+16>>2])+Jr|0,i&=Qs,d[0|(t=t+ds|0)];);if(!i)break l;e[49897]=Jr}
2810if(!(t=t+1|0))break f;if(8&d[188788]&&(e[w>>2]=hA,e[w+4>>2]=t,fs(e[47195],85187,w)),t=ur(w+6828|0,t)+t|0,d[0|t])break o;a=0;break c}for(;a=t,t=t+1|0,d[0|a];);for(;d[0|(a=(t=a)+1|0)];);if(No(hA=t+2|0))break}a=0,i=m;break n}ur(w+6824|0,t),nt&&Ln(Ps)&&(e[w+6824>>2]=To(e[w+6824>>2])),a=e[w+6824>>2]}i=e[w+6828>>2],ee|=2097152,nt&&(i=To(i))}if((0|i)!=8)break a}i=r;break e}a?e[w+6804>>2]=a:a=0}Xr(i)||Gi(i)||Ns(e[ue+336>>2],i)||!Xr(e[w+6808>>2])|!(!d[ue+170|0]|i-48>>>0>=10)&e[w+6804>>2]-48>>>0>=10||(i=32,Ut=1);r:{a:{n:{c:{o:{if(e[w+6808>>2]-48>>>0<10){if(i-48>>>0<10){t=R;break o}if(1<<(t=i-32|0)&20481&&t>>>0<=14)break c;Ut=1}else if(t=0,e[w+6812>>2]!=44||(t=R,(0|i)!=44))break o;i=32;break c}if((0|i)==91&&((0|(m=e[w+6804>>2]))==2||(i=91,(0|m)==91&&e[47204])))break n;R=t}if(Xr(i)){c:{o:{f:{if(Xr(e[w+6808>>2])){if(!d[ue+171|0]||(t=e[w+6808>>2],!((0|i)>12352)&&(0|t)<12353))break f}else t=e[w+6808>>2];if(Rs=Ns(e[ue+336>>2],t)?Rs:0,(0|(t=e[w+6808>>2]))!=32&&!Ns(e[ue+336>>2],t)){t=32,be=_i(e[w+6808>>2])?be:256|be;break o}ee=Ln(i)?2|ee:ee,e[w+6808>>2]!=32|g[Qt-2|0]-48>>>0>=10|e[w+6812>>2]-48>>>0<10||(g[(w+784|0)+l|0]=32,t=1588+(F(FA,12)+w|0)|0,v[t>>1]=T[t>>1]+1,l=l+1|0)}if(t=32,(0|i)==32)break c;if(Rs=Rs+1|0,(0|(m=e[ue+600>>2]))<=0){t=i;break c}if(!((0|i)<=591&(0|(M=e[w+6808>>2]))>=(0|m))){if((0|i)<(0|m)){t=i;break c}if((0|Rs)<2){t=i;break c}if(!((0|M)<=591)){t=i;break c}}if(!Xr(M)){t=i;break c}ee|=16384,be|=128}Ut=1}if(en=en+1|0,Ln(t)){if(m=ei(t,ue),e[ue- -64>>2]){t=Dn?m:712,a=Dn?a:m,Dn=1;break t}if(wn(e[w+6812>>2])){if(e[w+6808>>2]==32){t=m;break t}if(t=32,e[ue+212>>2]!=26465)break r;for(i=85240,M=(w+784|0)+l|0,Te=0;;){if(h=CA(i),d[0|(ht=M-h|0)]==32&&!la(ht+1|0,i,h=h-1|0)){if((0|(i=g[i+h|0]))==(0|m)){t=m;break t}if((0|i)==65&&fo(ue,m)){t=m;break t}}if(i=e[131184+((Te=Te+1|0)<<2)>>2],(0|Te)==11)break}break r}if(t=32,(0|m)==32)break t;if(!Ln(e[w+6812>>2])){t=m;break t}if(!wn(e[w+6804>>2])){t=m;break t}if(ur(w+16|0,189424+(r+Te|0)|0),!(e[ue+212>>2]!=28268|(0|Rs)!=2|(0|m)!=106|e[w+6812>>2]!=73)){t=m;break t}if(e[w+6808>>2]==32){t=m;break t}if(!Xr(e[w+16>>2])){t=m;break t}be|=256,Oe=32,Ut=1;break t}if(!fA){fA=0;break t}if((0|Rs)<3){fA=0;break t}if((0|t)!=115){fA=0;break t}if(e[ue+212>>2]!=25966){fA=0;break t}if(e[w+6804>>2]!=32){fA=0;break t}if(fA|=4,t=32,d[783+(i=l+w|0)|0]!=39)break t;g[i+783|0]=32;break t}t=32;c:{o:{f:{l:{switch(i-39|0){default:if((0|i)==95)break t;case 1:case 2:case 3:case 4:case 5:if(i-48>>>0>=10||d[ue+170|0]&&Xr(e[w+6808>>2])&&!((m=e[w+6804>>2])-48>>>0<10|m-2406>>>0<10))break c;if((0|(M=e[w+6808>>2]))==32)break o;if(m=e[w+6808>>2],M-48>>>0<10)break f;if((0|(M=m))==(0|(m=e[ue+128>>2])))break l;Ut=1;break t;case 6:if(!Gi(e[w+6812>>2])&&Xr(e[w+6804>>2])){if(e[w+6808>>2]!=32){Ut=1;break t}if(ee|=128,(0|FA)<=0)break t;i=1572+(F(FA,12)+w|0)|0,e[i>>2]=16384|e[i>>2];break t}if(i=e[w+6804>>2],!(e[w+6812>>2]!=32|(0|i)!=32)){jr=4;break t}if((0|i)==45){r=r+1|0,jr=4;break t}if(t=45,e[w+6808>>2]!=32||!Xr(ht)||Xr(e[w+6812>>2]))break t;g[(w+784|0)+l|0]=32,i=1588+(F(FA,12)+w|0)|0,v[i>>1]=T[i>>1]+1,l=l+1|0;break t;case 7:if(e[w+6808>>2]==46){Ut=1;break t}if(t=46,(0|FA)<=0||(i=1572+(F(FA,12)+w|0)|0,1&g[i+1|0])||!Xr(e[w+6812>>2]))break t;e[i>>2]=65536|e[i>>2],t=(t=Gi(e[w+6804>>2]))||e[w+6804>>2]==45?32:46;break t;case 0:}i:{if((0|(m=e[w+6812>>2]))!=46||(i=115,e[w+6804>>2]!=115)){if(!Ja(m))break i;i=e[w+6804>>2]}if(Xr(i))break a}if(1&(i=e[ue+88>>2])){if(Xr(e[w+6804>>2]))break a;i=e[ue+88>>2]}if(2&i&&Xr(e[w+6812>>2]))break a;if(!(!Ns(e[ue+332>>2],e[w+6812>>2])|(0|ht)!=32)){r=(e[w+6804>>2]==32)+r|0;break a}if(m=(0|(i=e[w+6808>>2]))!=115|Gn,Gn=0,!(1&m))break t;Gn=!!(0|Gi(i)),jr=4;break t}if((0|m)==44&R){Ut=1;break t}R=1;break c}if((0|m)!=32)break c}Xr(ht)&&(Xr(e[w+6812>>2])||(g[(w+784|0)+l|0]=32,t=1588+(F(FA,12)+w|0)|0,v[t>>1]=T[t>>1]+1,l=l+1|0))}t=i;break t}is=1,i=r+1|0,R=t;break e}t=39,Gn=0;break t}Ut=1,Oe=32}else{if(t-48>>>0<10){a=0,i=(0|(m=e[49574]+1|0))>(15&e[49573]),e[49574]=i?0:m,t=i?32:t,Ut|=i,is=0;break t}a=0,e[49574]=0,t=(i=e[w+6808>>2]-48>>>0<10)?32:t,Ut|=i,is=0}if(Gi(t)){if(e[w+6808>>2]==32){ee|=262144,i=r;break e}if(i=e[w+6816>>2]-9>>>0<2,M=1&Ut){Te=0;t:if(!((0|y)>(0|(t=r-1|0))))for(;;){if(!(m=v[(w+5184|0)+(t<<1)>>1]))break t;if(Te=((0|m)>0)+Te|0,!((0|y)<=(0|(t=t-1|0))))break}g[1594+(F(FA,12)+w|0)|0]=Te}if(be=i?262144|be:be,g[(w+784|0)+l|0]=32,t=l+1|0,!((0|FA)>298||(i=(w+1584|0)+F(FA,12)|0,(0|(m=T[i+4>>1]))>
vendor: 11,634 bytes, line 2810
2810=(0|t)))){if((0|na)<=0?y=e[i>>2]:(y=198300+(e[47350]<<2)|0,e[y>>2]=128|e[y>>2],na=0,y=64|e[i>>2]),h=e[47352],g[i+6|0]=h,e[i>>2]=y|(en?fA:-2&fA)|(d[199304]?2048:0)|ee,(0|h)>0){for(;ee=(y=w+784|0)+t|0,y=y+(t=t-1|0)|0,g[0|ee]=d[0|y],(0|t)>(0|m););g[0|y]=32,v[i+4>>1]=m+1,t=l+2|0}m=(w+1584|0)+F(FA=FA+1|0,12)|0,e[m>>2]=0,v[m+4>>1]=t,l=r;t:if(!((0|(i=e[w+6800>>2]))<=(0|r))){for(;;){if(v[(w+5184|0)+(l<<1)>>1]>0)break t;if((0|i)==(0|(l=l+1|0)))break}l=i}if(Te=T[(w+5184|0)+(l<<1)>>1],v[m+8>>1]=Te,en=0,i=0,Te)for(;i=!!(65535&~Te)+i|0,Te=T[(w+5184|0)+((l=l+1|0)<<1)>>1];);g[m+10|0]=i,e[47352]=0,fA=1,ee=be,be=0,Dn=0}Ut=0,a=M?0:a,i=M?P:r}else(0|l)>795?(i=r,r=y,t=l):(t=Rr(t,(w+784|0)+l|0)+l|0,i=r,r=y);e[47352]<(0|jr)&&(e[47352]=jr),jr=0,y=r,l=t}if(vt||(P=i,!((0|l)<799)))break}(0|na)<=0|FA||(t=198300+(e[47350]<<2)|0,e[t>>2]=128|e[t>>2],e[w+1584>>2]=64|e[w+1584>>2],FA=1),t=(w+784|0)+l|0,e[ue+8204>>2]=t-1,r=0,g[0|t]=0,g[w+1590|0]=0,g[1590+(F(FA,12)+w|0)|0]=8;e:if((0|FA)<=0)e[w+1584>>2]=512|e[w+1584>>2],l=e[49572];else{t=FA-1|0;t:if((0|FA)!=1)for(a=t;;){if(!_i(g[T[1588+(F(a,12)+w|0)>>1]+(w+784|0)|0])){r=a;break t}if(m=(0|a)>1,a=a-1|0,!m)break}if(r=(w+1584|0)+F(r,12)|0,e[r>>2]=16|e[r>>2],4194304&YA&&(t=(w+1584|0)+F(t,12)|0,256&(r=e[t>>2])||(e[t>>2]=65536|r)),e[w+1584>>2]=512|e[w+1584>>2],!((0|FA)<=0|(0|(l=e[49572]))>990))for(m=3|(t=w+624|0),M=2|t,Oe=w+754|0,vt=!(4194304&YA),P=0,y=0;;){e[47354]=e[47354]+1;t:{if((0|(t=e[49827]))<=0||(t=t-1|0,e[49827]=t,t)){if(d[190280])break t}else g[190280]=0;t=T[1588+(F(P,12)+w|0)>>1]+(w+784|0)|0;r:if(!(g[0|t]-48>>>0>=10)&&(r=w+624|0,a=t,e[ue+112>>2]!=1227133512)){for(;;){a:{if(g[0|a]-48>>>0<10)g[0|r]=d[0|a],r=r+1|0,a=a+1|0;else{if(e[ue+124>>2]!=g[0|a]|d[a+1|0]!=32||(l=a+2|0,d[a+3|0]==32|g[0|l]-48>>>0>=10|d[a+4|0]==32))break a;P=P+1|0,a=l}if(r>>>0<Oe>>>0)continue;break r}break}kA(t+(r=r-(R=w+624|0)|0)|0,32,(a=(l=a-t|0)-r|0)>>>0<=l>>>0?a:0),sr(t,R,r)}for(r=0;a=r,r=r+1|0,g[t+a|0]-48>>>0<10;);r:if(a-5>>>0<=27){for(g[w+626|0]=32,v[w+624>>1]=8224,d[0|t]!=48&e[ue+132>>2]>=(0|a)||(r=(w+1584|0)+F(P,12)|0,e[r>>2]=524288|e[r>>2]),be=(w+1584|0)+F(P,12)|0,Te=0,l=m;r=t,!((t=g[0|t])-48>>>0>=10&(0|t)!=e[ue+128>>2])&&(g[0|l]=t,t=l+1|0,R=a,(0|(a=a-1|0))<=0?l=t:e[ue+112>>2]>>>a&1?(h=e[be+4>>2],ee=(w+16|0)+F(Te,12)|0,e[ee>>2]=e[be>>2],e[ee+4>>2]=h,e[ee+8>>2]=e[be+8>>2],Te=Te+1|0,(0|(ee=e[ue+124>>2]))!=32&&(g[l+1|0]=ee,t=l+2|0),g[0|t]=32,l=t+1|0,8&d[be+2|0]||((jr=e[ue+112>>2])>>>R-2&1&&(g[t+1|0]=48,g[t+2|0]=48,jr=e[ue+112>>2],l=t+3|0),jr>>>R-3&1&&(g[0|l]=48,l=l+1|0))):l=t,t=r+1|0,l>>>0<Oe>>>0););if(a=e[be+4>>2],t=(w+16|0)+F(Te,12)|0,e[t>>2]=e[be>>2],e[t+4>>2]=a,a=e[be+20>>2],e[t+16>>2]=e[be+16>>2],e[t+20>>2]=a,a=e[be+12>>2],e[t+8>>2]=e[be+8>>2],e[t+12>>2]=a,a=1,(0|Te)>0)for(;t=(w+16|0)+F(a,12)|0,e[t>>2]=-262209&e[t>>2],(0|Te)>=(0|(a=a+1|0)););if(t=d[r+4|0]|d[r+5|0]<<8|d[r+6|0]<<16|d[r+7|0]<<24,a=d[0|r]|d[r+1|0]<<8|d[r+2|0]<<16|d[r+3|0]<<24,g[0|l]=a,g[l+1|0]=a>>>8,g[l+2|0]=a>>>16,g[l+3|0]=a>>>24,g[l+4|0]=t,g[l+5|0]=t>>>8,g[l+6|0]=t>>>16,g[l+7|0]=t>>>24,t=d[r+12|0]|d[r+13|0]<<8|d[r+14|0]<<16|d[r+15|0]<<24,r=d[r+8|0]|d[r+9|0]<<8|d[r+10|0]<<16|d[r+11|0]<<24,g[l+8|0]=r,g[l+9|0]=r>>>8,g[l+10|0]=r>>>16,g[l+11|0]=r>>>24,g[l+12|0]=t,g[l+13|0]=t>>>8,g[l+14|0]=t>>>16,g[l+15|0]=t>>>24,g[l+16|0]=0,l>>>0<=m>>>0)break r;for(t=d[be+6|0],Te=0,a=m;;){for(y=rA(ue,a,(w+16|0)+F(Te,12)|0,255&t);t=d[0|a],a=a+1|0,(0|t)!=32;);if(t=0,g[be+6|0]=0,Te=Te+1|0,!(a>>>0<l>>>0))break}}else{if(e[47352]=0,y=rA(ue,t,r=(w+1584|0)+F(P,12)|0,d[r+6|0]),(0|(a=e[47352]))>d[r+18|0]&&(g[r+18|0]=a,e[47352]=0),!(!(4096&y)|d[0|t]==32))for(;kA(w+624|0,0,150),e[w+624>>2]=538976288,e[w+628>>2]=538976288,g[w+632|0]=32,rA(ue,sr(M,t,a=ur(w+16|0,t)),r,0),d[0|(t=t+a|0)]!=32;);50331648&y&&(ae=(t=vt|(~e[33264]+FA|0)!=(0|P))?ae:10,t|!da||(e[da>>2]=4,ae=10))}if(128&y&&!((0|(r=e[33264]))<=0)){if(t=0,a=r,l=3&r)for(;R=(w+1584|0)+F(a+P|0,12)|0,e[R>>2]=1048576|e[R>>2],a=a-1|0,(0|l)!=(0|(t=t+1|0)););if(r>>>0>=4)for(;t=(w+1584|0)+F(a+P|0,12)|0,e[t>>2]=1048576|e[t>>2],e[(r=t-12|0)>>2]=1048576|e[r>>2],e[(r=t-24|0)>>2]=1048576|e[r>>2],e[(t=t-36|0)>>2]=1048576|e[t>>2],a=a-4|0;);e[33264]=a}}if(l=e[49572],(0|FA)<=(0|(P=P+1|0)))break e;if(!((0|l)<991))break}}if((0|(a=e[47351]))<(0|(m=e[47350]))){for(Oe=e[47202],vt=e[49846],Te=e[47352];;){t=(r=e[198304+(a<<2)>>2])>>8;e:{t:switch((31&r)-9|0){case 0:Oe=t;break e;case 4:vt=t;break e;case 3:break t;default:break e}Te=r>>>0>=256?t+Te|0:0}if(!(!(128&r)&(0|m)>(0|(a=a+1|0))))break}e[47352]=Te,e[47351]=a,e[49846]=vt,e[47202]=Oe}e[49572]=l+2,e[(t=190288+(l<<3)|0)>>2]=589824,v[t+4>>1]=i,e[t+8>>2]=589824,v[t+12>>1]=i,r=FA&&e[47199]?ae:10,e[33285]?t=0:(t=e[33283],t=e[t>>2]==e[t+4>>2]),ae=t?r:ae,P=rr,m=0,FA=0,oe=M=oe-32192|0,e[M+24>>2]=0,e[M+28>>2]=0,e[M+16>>2]=0,e[M+20>>2]=0,e[M+8>>2]=0,e[M+12>>2]=0,e[M>>2]=0,e[M+4>>2]=0,i=e[49572],h=T[190284+(i<<3)>>1];e:{if((0|(a=i-3|0))<0)t=a;else{for(;;){if(m=(0|(r=127&d[3+(t=190288+(a<<3)|0)|0]))<(0|m)?m:r,T[t+4>>1])t=a;else if(t=-1,r=(0|a)>0,a=a-1|0,r)continue;break}if(m>>>0>3)break e}for(;;){if((0|(t=t-1|0))<0)break e;if(64&d[0|(r=190288+(t<<3)|0)]){g[r+3|0]=4;break e}if(!(d[r+3|0]<4))break}}if(t=e[ue+292>>2],a=0,(0|i)<=0)m=0;else for(R=-1,m=0;;){r=t,e[ue+292>>2]!=(0|t)&&(v[(t=190288+(a<<3)|0)>>1]=32|T[t>>1]),(0|m)>0&&(be=e[4+(y=190288+(a<<3)|0)>>2],e[(l=190288+(t=a-m<<3)|0)>>2]=e[y>>2],e[l+4>>2]=be,(0|R)!=-1&&(v[4+(t+190288|0)>>1]=R),R=-1);e:{if(d[2+(190288+(l=a<<3)|0)|0]==21){if(t=d[7+(y=l+190288|0)|0],2&d[0|y])break e;t:if((0|t)!=(0|r)){if(y=d[10+(l+190288|0)|0]-9|0){if((0|y)==12)break t;break e}if(d[18+(l+190288|0)|0]!=21)break e}(0|R)==-1&&(R=(t=T[4+(l+190288|0)>>1])||-1),m=m+1|0}t=r}if((0|i)==(0|(a=a+1|0)))break}if(e[49572]=i-m,ba(t),(r=e[ue+36>>2])&&!((0|(t=(m=e[49572])-1|0))<0))for(Oe=256&r,ee=4&r,vt=8&r,be=15&r,Ut=16&r,rr=2&r,r=r>>>8&1,a=0;;){if(l=m,i=a,m=t,(0|(t=d[2+(y=190288+(fA=t<<3)|0)|0]))==21){e:{t:{if((0|(a=l-2|0))>=0)for(;;){if(d[2+(190288+(t=a<<3)|0)|0]==21)break t;if(t=(0|a)>0,a=a-1|0,!t)break}t=e[ue+292>>2];break e}t=d[7+(t+190288|0)|0]}ba(t),t=d[y+2|0]}if(a=i,(t=e[144464+((255&t)<<2)>>2])&&(a=r,!(32&d[0|y]))){a=d[t+11|0],R=0,rr&&((0|(l=d[0|t]))!=118&(0|l)!=82||(i=Ut?0:i,R=1));e:{t:{r:{a:switch((l=253&a)-4|0){case 1:break r;case 0:break a;default:break t}if(be&&(a=1,!i)||(0|(a=i))!=2||(a=2,!(t=d[t+13|0])))break e;g[y+2|0]=t;break e}if(be&&(a=2,!i)||(0|(a=i))!=1||(a=1,!(t=d[t+13|0])))break e;g[y+2|0]=t;break e}a=0,vt&&(a=l?i:0)}a=t=R?0:a,T[4+(fA+190288|0)>>1]&&(a=t=ee?0:t,Oe&&(a=t||1))}if(!((0|(t=m-1|0))>=0))break}if(ba(e[ue+292>>2]),e[49572]<=0)Ut=-2,a=0;else{for(a=-1,i=0,y=0,vt=0;;){t=y<<3,(0|a)!=-1&&(v[4+(t+190288|0)>>1]=a),d[2+(R=t+190288|0)|0]==21&&ba(d[7+(t+190288|0)|0]),be=e[49572];e:{if(!(32&d[0|(l=t+190288|0)])){i=(0|(r=be-1|0))>(0|y)?e[144464+(d[10+(t+190288|0)|0]<<2)>>2]:i,!(T[l+12>>1]|(0|r)==(0|y))&&(Te=0,d[i+11|0]|!i)||(Te=1),m=d[R+2|0];t:if(!((0|(Ut=e[49848]))<=0))for(r=t+190288|0,a=0;;){if(Oe=F(a,3),d[Oe+199408|0]==(255&m)&&!((ee=d[2+(Oe+199408|0)|0])&(1^Te)|(4&d[r+3|0]?2&ee:0)|(T[r+4>>1]?0:4&ee))){if(m=d[1+(Oe+199408|0)|0],g[R+2|0]=m,!(2&d[e[144464+(m<<2)>>2]+4|0])|d[r+3|0]<2)break t;g[r+3|0]=0;break t}if((0|Ut)==(0|(a=a+1|0)))break}if(!(255&m)){a=T[4+(t+190288|0)>>1];break e}}a=e[l+4>>2],t=(M+32|0)+(vt<<5)|0,r=e[l>>2],e[t>>2]=r,e[t+4>>2]=a,r=e[144464+(r>>>14&1020)>>2],e[t+8>>2]=r,g[t+17|0]=d[r+11|0],vt=vt+1|0,a=-1}if(!((0|vt)<1e3&(0|be)>(0|(y=y+1|0))))break}if(m=0,a=0,!((0|(Ut=vt-2|0))<=0))for(;;){e:if(T[4+((M+32|0)+(m<<5)|0)>>1]){for(r=(0|m)>(0|Ut)?m:Ut,a=0,t=m;;){if((0|t)!=(0|r)){if(a=(0|a)>(0|(l=d[3+((i=M+32|0)+(t<<5)|0)|0]))?a:l,!T[4+(i+((t=t+1|0)<<5)|0)>>1])continue}else t=r;break}if((0|t)<=(0|m))break e;if(r=~m+t|0,i=0,l=t-m&7)for(;g[6+((M+32|0)+(m<<5)|0)|0]=a,m=m+1|0,(0|l)!=(0|(i=i+1|0)););if(r>>>0<7)break e;for(;g[6+(r=(M+32|0)+(m<<5)|0)|0]=a,g[r+38|0]=a,g[r+70|0]=a,g[r+102|0]=a,g[r+134|0]=a,g[r+166|0]=a,g[r+198|0]=a,g[r+230|0]=a,(0|(m=m+8|0))!=(0|t););}else t=m+1|0;if(m=t,!((0|Ut)>(0|t)))break}}for(e[M+40>>2]=e[36125],ba(e[ue+292>>2]),ht=(0|a)<4,y=1,Oe=1,be=0,r=0,a=0,rr=0;;){e:{t:{r:{a:{if(r){if(i=(t=M+32|0)+((R=a-1|0)<<5)|0,be=d[2+(t+(a<<5)|0)|0],(0|R)>0){if(t=y-(a=(0|y)>0)|0,R>>>0>=(m=a?y:2)>>>0)for(;l=(a=(M+32|0)+(m<<5)|0)-32|0,y=e[a+12>>2],e[l+8>>2]=e[a+8>>2],e[l+12>>2]=y,y=e[a+4>>2],e[l>>2]=e[a>>2],e[l+4>>2]=y,y=e[a+28>>2],e[l+24>>2]=e[a+24>>2],e[l+28>>2]=y,y=e[a+20>>2],e[l+16>>2]=e[a+16>>2],e[l+20>>2]=y,(0|R)>=(0|(m=m+1|0)););y=t}Te=e[144464+(be<<2)>>2],e[i>>2]=0,e[i+4>>2]=0,e[i+24>>2]=0,e[i+28>>2]=0,e[i+16>>2]=0,e[i+20>>2]=0,e[i+8>>2]=0,e[i+12>>2]=0,g[i+2|0]=r,t=e[144464+(r<<2)>>2],e[i+8>>2]=t,be=i}else{if((0|a)>=(0|Ut)|(0|rr)>=997)break a;l=d[2+(i=(m=a<<5)+(M+32|0)|0)|0],t=e[144464+(l<<2)>>2],e[i+8>>2]=t,R=T[i+4>>1],(0|l)==21&&ba(d[7+(m+(M+32|0)|0)|0]),y=R?a:y,Te=e[144464+(d[i+34|0]<<2)>>2],e[i+40>>2]=Te,R=a}if(!t){r=0,a=R+1|0;continue}if(Gt(ue,256,i,M+32040|0,M),(0|(a=e[M+32052>>2]))>0&&(m=(M+32|0)+(R<<5)|0,Te=e[144464+(a<<2)>>2],e[m+40>>2]=Te,g[m+34|0]=a,g[m+49|0]=d[Te+11|0]),a=0,r)r=t;else if((0|(m=e[M+32056>>2]))<=0)r=t;else{r=e[144464+(m<<2)>>2],e[i+8>>2]=r,a=d[i+2|0],g[i+2|0]=m,m=T[i>>1];n:if(d[r+11|0]!=2)v[i>>1]=65531&m;else{if(v[i>>1]=4|m,d[t+11|0]==2)break n;g[i+3|0]=0}Gt(ue,256,i,M+32040|0,M)}if((0|(l=e[M+32048>>2]))<=0)m=r;else{if(m=e[144464+(l<<2)>>2],g[i+2|0]=l,e[i+8>>2]=m,t=d[m+11|0],vt=1,(0|l)==1){fA=(0|t)==2;break t}l=T[i>>1];n:if((0|t)!=2)v[i>>1]=65531&l;else{if(v[i>>1]=4|l,d[r+11|0]==2)break n;g[i+3|0]=0}Gt(ue,256,i,M+32040|0,M)}if(fA=0,(0|(t=d[m+11|0]))!=2){vt=0;break t}if(fA=1,vt=0,t=2,d[i+3|0]>1){FA=0;break t}l=i+3|0,FA=FA+1|0,r=i;n:{if(8&(ee=e[ue+12>>2])){for(;;){c:switch(ee=r,r=r+32|0,d[ee+49|0]){case 0:break t;case 2:break c;default:continue}break}if(d[0|(r=ee+35|0)]>1)break t;if(d[i+6|0]<=3&&(g[0|l]=0),d[ee+38|0]<4)break n;break t}if(1&FA|(0|FA)<2)break t;if(2&ee)break r;if(ht)r=l;else if(r=l,T[i+36>>1])break r}g[0|r]=0;break t}e[36423]=rr+2,v[(t=145840+(rr<<5)|0)>>1]=0,g[t+2|0]=9,g[t+20|0]=2,e[t+12>>2]=ae,v[t+4>>1]=h,g[t+17|0]=0,g[t+18|0]=0,e[t+8>>2]=e[36125],v[t+32>>1]=0,g[t+34|0]=9,g[t+52|0]=0,e[t+44>>2]=0,v[t+36>>1]=0,g[t+49|0]=0,g[t+50|0]=0,e[t+40>>2]=e[36126],ba(e[ue+292>>2]),oe=M+32192|0;break e}FA=1}if(!(8&(r=T[i+32>>1]))|(0|R)<=0||(l=d[Te+11|0])>>>0>15|!(1<<l&457)||(a=d[Te+10|0],v[i+32>>1]=8^r),nt=T[i+36>>1]){t:if(r=e[ue+4>>2]){switch(0|t){default:a=512&r?11:a;break;case 0:break t;case 2:}if(d[Te+11|0]==2){(l=12&r)&&(a=(0|l)!=12?23:11);r:if(fA){switch(3&r){case 2:a=10;break r;case 0:break r}a=23}d[i+35|0]<4||(a=256&r?10:a)}}if(!((0|i)==(0|be)|(0|rr)<=0)){t:{r:{a:switch(0|(r=7&e[ue>>2])){case 0:break t;case 1:break a;default:break r}if(a-12>>>0>4294967293)break t}a=d[r+101916|0]}a=e[47205]>0?24:a}}if(e[i+72>>2]=e[144464+(d[i+66|0]<<2)>>2],r=e[M+32060>>2],r=a||r||a,!vt){g[17+(l=145840+(ee=rr<<5)|0)|0]=t,e[l+8>>2]=m,g[l+16|0]=0,v[l>>1]=T[i>>1],g[l+3|0]=15&d[i+3|0],g[l+6|0]=d[i+6|0],a=d[i+7|0],v[l+4>>1]=0,g[l+7|0]=a,vt=d[m+10|0],g[l+2|0]=vt;t:if(a=T[i+4>>1]){if(v[l+4>>1]=a,P=1&P?5:1,g[20+(i=ee+145840|0)|0]=P,a=Oe,Oe=0,!a){P=0;break t}g[i+20|0]=8|P,P=0}else g[20+(ee+145840|0)|0]=0;e[12+(a=ee+145840|0)>>2]=e[M+32084>>2]<<1,!nt|(0|vt)!=24||(0|(i=e[47205]))<=0||(e[l+8>>2]=e[36126],e[a+12>>2]=F(i,14)),(1<<t&428?t>>>0<=8:0)|2&d[m+7|0]&&(e[a+12>>2]=128,g[l+16|0]=0),g[21+(t=ee+145840|0)|0]=255,g[t+22|0]=255,v[t+18>>1]=5120,rr=rr+1|0}a=R+1|0;continue}break}v[88922]=1,e[44462]=0,na&&(v[145776+(e[36423]<<5)>>1]=2,t=198304+(e[47350]<<2)|0,e[t>>2]=128,e[(t=t-4|0)>>2]=128|e[t>>2]),g[190268]=YA>>>19&1,ni&&(e[ni>>2]=YA<<14>>31&189360)}oe=w+6832|0,Ut=e[47192],fA=e[A+12>>2],r=0,l=0,y=0,ee=0,be=0,jr=0,ae=0,oe=h=oe-6e3|0;e:if(!((0|(i=(rr=e[36423])-1|0))<=0)){for(;g[2+(h+F(r,6)|0)|0]=0,4&d[145840+(t=r<<5)|0]?(a=h+F(ee,6)|0,g[a+1|0]=0,t=t+145840|0,g[a+3|
28100]=d[t+49|0],t=d[t+3|0],g[0|a]=t,ee=ee+1|0,jr=(t>>>0>3)+jr|0):d[e[8+(t+145840|0)>>2]+10|0]!=27|(0|ee)<=0||(t=(h+F(ee,6)|0)-4|0,g[0|t]=4|d[0|t]),(0|i)!=(0|(r=r+1|0)););if(g[h+F(ee,6)|0]=0,ee)if(e[Ut+148>>2]==1){if(!((0|rr)<=0)){for(t=-2&rr,a=1&rr,r=145840;y=d[r+17|0]==2&&d[r+3|0]>3?l:y,y=d[r+49|0]==2&&d[r+35|0]>3?1|l:y,r=r- -64|0,l=l+2|0,(0|t)!=(0|(be=be+2|0)););!a|d[r+17|0]!=2||(y=d[r+3|0]>3?l:y)}if(g[3+(m=145840+(t=y<<5)|0)|0]=7,e[Ut+212>>2]==30313&&(d[7+(t=t+145840|0)|0]||(g[t+7|0]=Cs(55),rr=e[36423])),!((0|rr)<=0)){for(be=0,r=145840,t=145840,l=R=e[36125],i=0,Oe=1;;){if(d[r+17|0]?P=e[36125]:(P=e[36125],R=(a=d[e[r+8>>2]+14|0]>50)?P:R,Oe|=a),a=d[r+20|0]?P:l,4&d[0|r]){P=d[r+7|0],l=e[144464+(P<<2)>>2];t:{if((0|(ee=e[Ut+212>>2]))==6840683){if(e[a>>2]!=49||(ee=e[l>>2]-49|0)>>>0>5|!(1<<ee&41))break t;g[t+7|0]=Cs(50),ee=e[Ut+212>>2]}if(!((0|ee)!=6516078&(0|ee)!=31336)){ee=0,P||(i=Cs(1&(ee=i|Oe)?13621:12593),g[r+7|0]=i,l=e[144464+(i<<2)>>2]),(0|y)!=(0|be)|(1024|e[l>>2])!=13621||(g[m+3|0]=6),e[R>>2]==3420466&&(g[t+7|0]=Cs(e[l>>2]==3420466?13619:12594));r:{if(e[a>>2]==12597){if((0|(P=e[l>>2]))!=12597)break r;g[t+7|0]=Cs(13109)}P=e[l>>2]}i=ee,(0|P)==12593&&((0|(P=e[R>>2]))==13621&&(g[r+7|0]=Cs(12850),P=e[R>>2]),(0|P)==13619&&(g[r+7|0]=Cs(13107),P=e[R>>2]),(0|P)==3420466&&(g[r+7|0]=Cs(13364)),g[r+3|0]=0)}}Oe=0,R=l,t=r}else l=a;if(r=r+32|0,!((0|(be=be+1|0))<(0|(a=e[36423]))))break}if(l=0,r=145840,!((0|a)<=0))for(;4&d[0|r]&&((t=d[r+7|0])||(g[r+7|0]=17,t=17),t=e[144464+(t<<2)>>2],g[r+21|0]=d[t+12|0],g[r+22|0]=d[t+13|0]),r=r+32|0,(0|a)!=(0|(l=l+1|0)););}}else{if(t=e[Ut+152>>2],t=Ut+F(ht=(0|t)>7?1:t,6)|0,ue=d[0|(ht?t+637:Ut+157)],YA=d[0|(ht?636+(t+fA|0):156+(Ut+fA|0))],g[133068]=(0|fA)==4,!((0|ee)<=0)){for(vt=ee-1|0,Te=fA-1>>>0>1,a=0,i=0;;){w=h+F(i,6)|0,ae=((t=d[0|w])<<24>>24>3)+ae|0;t:if((0|t)==6){t=i-3|0,r=i;r:{for(;;){if((0|r)<=(0|a)|(0|t)>=(0|r))break r;a:switch(m=h+F(r=r-1|0,6)|0,d[0|m]-4|0){case 2:break r;case 0:break a;default:continue}break}g[0|m]=3}r=i;r:{for(;;){if((0|ee)<=(0|(r=r+1|0)))break r;a:switch(d[h+F(r,6)|0]-4|0){case 0:break r;case 2:break a;default:continue}break}g[w+2|0]=2,g[0|w]=5,t=a;break t}if(d[0|w]==6){g[w+2|0]=2,M=0;r:if((0|ee)<=(0|(t=i+1|0)))m=i,is=0;else if(is=1,(0|(l=g[h+F(t,6)|0]))>4)m=i;else{for(y=(jr-ae|0)>1,m=i;;){if(r=t,(255&l)==4&&(t=y+1|0,y=1,!((0|t)<=1))){t=r;break r}if(is=(0|ee)>(0|(t=r+1|0)),(0|t)==(0|ee))break;if(m=r,(0|(l=g[h+F(t,6)|0]))>4)break r}m=vt,t=ee}l=-1,P=0,y=0,Oe=-1,be=0,R=-1;r:{if((0|(r=a))<(0|t)){for(;l=(nt=(0|(R=g[h+F(r,6)|0]))>3)&&(0|l)<0?r-a|0:l,M=(be=(0|y)>(0|R))?M:(0|y)<(0|R)?r:P,Oe=nt?r:Oe,P=be?P:r,nt=(0|r)!=(0|m),y=be?y:R,r=r+1|0,nt;);if(be=P,R=Oe,(0|l)>=0)break r}l=t,P=be,Oe=R}e[33269]=m-P,e[33268]=l,e[33270]=P,e[33271]=M;r:if(d[133068])e[33270]=t,e[33271]=t;else if((0|Oe)>=0){if((0|t)!=(0|ee))break r;g[h+F(Oe,6)|0]=7}else g[h+F(P,6)|0]=7;br(h,ht,a,t,YA),!is&!!(0|fA)||(YA=Te?d[Ut+156|0]:d[Ut+157|0])}else t=a}else t=a;if((0|t)>=(0|i))a=t;else if(4&d[w+2|0]){for(a=i+1|0,l=-1,Oe=0,P=0,y=0,r=t,M=-1;l=(be=(0|(m=g[h+F(r,6)|0]))>3)&&(0|l)<0?r-t|0:l,Oe=(R=(0|m)<(0|y))?Oe:(0|m)>(0|y)?r:P,M=be?r:M,P=R?P:r,be=(0|r)!=(0|i),y=R?y:m,r=r+1|0,be;);e[33269]=i-P,e[33270]=P,e[33271]=Oe,e[33268]=(0|l)<0?a:l,d[133068]?(e[33270]=a,e[33271]=a):(0|M)>=0?g[h+F(M,6)|0]=7:g[h+F(P,6)|0]=7,br(h,ht,t,a,ue)}else a=t;if((0|ee)==(0|(i=i+1|0)))break}if(!((0|a)>=(0|ee))){for(l=-1,Oe=0,P=0,y=0,r=a,M=-1;l=(m=(0|(t=g[h+F(r,6)|0]))>3)&&(0|l)<0?r-a|0:l,Oe=(i=(0|t)<(0|y))?Oe:(0|t)>(0|y)?r:P,M=m?r:M,P=i?P:r,y=i?y:t,(0|ee)!=(0|(r=r+1|0)););e[33270]=P,e[33271]=Oe,e[33269]=~P+ee,e[33268]=(0|l)<0?ee:l,d[133068]?(e[33270]=ee,e[33271]=ee):(0|M)>=0?g[h+F(M,6)|0]=7:g[h+F(P,6)|0]=7,br(h,ht,a,ee,YA)}}if((0|rr)<=0)break e;for(r=0,be=0;;){if(R=a=145840+(m=r<<5)|0,t=h+F(be,6)|0,l=d[0|t],g[a+3|0]=l,4&d[0|a]){i=m+145840|0,a=d[t+4|0],g[i+21|0]=a,y=d[t+5|0],g[i+16|0]=0,g[i+22|0]=y;t:{if(1&(P=d[t+2|0]))t=2;else{if(l>>>0<6)break t;t=d[t+1|0]}g[i+16|0]=t}a>>>0<=(255&y)>>>0?(t=y,y=a):(g[i+21|0]=y,g[i+22|0]=a,t=a),(a=d[7+(m+145840|0)|0])&&(t=(255&t)+(255&y)>>>1|0,a=e[144464+(a<<2)>>2],g[i+22|0]=t+d[a+13|0],g[i+21|0]=t+d[a+12|0]),2&P&&(g[R+3|0]=8|l),be=be+1|0}if((0|rr)==(0|(r=r+1|0)))break}}}if(oe=h+6e3|0,be=e[47192],r=0,Te=0,M=0,ae=0,oe=h=oe-160|0,e[36423]>=2)for(fA=e[30450],l=1;;){if(l=(t=l)+1|0,ee=d[3+(i=145840+(y=t<<5)|0)|0],2&(P=T[i>>1])){for(;(31&(m=e[198304+(ae<<2)>>2]))==2&&(yn(127&m,m>>>8|0),e[36432]=110,e[36433]=100,e[36434]=450,e[36430]=5,P=e[50786],R=e[32972],(0|(a=e[R+84>>2]))>0&&(P=(0|F(a,P))/100|0),Oe=d[((0|(a=(0|P)>=359?359:P))<=80?80:a)+101856|0],a=(0|(a=(0|P)>=450?450:P))>399?6:(0|a)>379?7:Oe,e[32526]=(0|F(a,e[R+72>>2]))/256,e[32527]=(0|F(a,e[R+76>>2]))/256,e[32528]=(0|F(a,e[R+80>>2]))/256,a>>>0>7||(R=a-1|0,e[32528]=R,e[32526]=a,e[32527]=R)),ae=ae+1|0,!(128&m););P=T[i>>1]}R=l<<5,Oe=t-1|0,a=7&ee;e:{t:{r:{a:{n:{c:{o:{f:{l:{i:switch(YA=d[17+(y+145840|0)|0],0|(m=4&P?2:YA)){case 2:break n;case 3:case 8:break c;case 5:break o;case 6:case 7:break f;case 4:break l;case 0:break i;default:break e}r=0;break e}if((0|(t=d[17+(145840+(Oe<<5)|0)|0]))!=6?(a=(0|t)==4?60:e[34063]>0||a>>>0<4?48:60,g[18+(y+145840|0)|0]=a):(a=25,g[18+(y+145840|0)|0]=25),!(16&d[0|be])|!d[20+(y+145840|0)|0]||(g[18+(y+145840|0)|0]=60,a=60),64&d[e[8+(y+145840|0)>>2]+6|0]&&(a=a+30|0,g[18+(y+145840|0)|0]=a),r=0,!(8&P))break e;g[18+(y+145840|0)|0]=d[be+164|0]+a;break e}!(i=d[20+(t=y+145840|0)|0])|1&g[e[t+8>>2]+7|0]&d[17+(145840+(Oe<<5)|0)|0]==2||(g[18+(y+145840|0)|0]=15),a=d[17+(R+145840|0)|0],8&d[e[8+(y+145840|0)>>2]+4|0]|a|d[17+(145840+(Oe<<5)|0)|0]!=8||(g[18+(y+145840|0)|0]=25),64&d[e[8+(145840+(t=Oe<<5)|0)>>2]+5|0]&&(g[18+(y+145840|0)|0]=30),!i|!(16&e[be>>2])||(g[18+(y+145840|0)|0]=30);f:if(d[20+(R+145840|0)|0]|!(32&d[e[8+(y+145840|0)>>2]+4|0])|(0|a)!=4)e[12+(y+145840|0)>>2]=256;else{if(i=y+145840|0,d[17+(t+145840|0)|0]==2){e[i+12>>2]=200;break f}e[i+12>>2]=150}if((0|m)!=7||(Te|=(0|a)==2,(254&d[17+(t+145840|0)|0])!=2))break e;e[12+(y+145840|0)>>2]=e[12+(t+145840|0)>>2]+255>>>1;break e}(254&(a=d[17+(145840+(t=Oe<<5)|0)|0]))==6|(0|a)==3|32&e[e[8+(t+145840|0)>>2]+4>>2]&&(g[18+(y+145840|0)|0]=30);o:if((254&(i=d[17+(R+145840|0)|0]))==2){Te=d[20+(R+145840|0)|0]&&(0|i)!=2?Te:1,g[18+(i=y+145840|0)|0]=40,ee=0;f:{switch(0|a){case 0:if((t=e[12+(t+145840|0)>>2])>>>0>39)break f;ee=40-t|0;break f;case 2:break f}if(d[20+(y+145840|0)|0])break o;ee=20;l:switch(a-3|0){case 1:if(ee=0,!(8&d[e[8+(t+145840|0)>>2]+4|0]))break f;break o;case 0:break f;case 5:break l;default:break o}ee=12}g[i+18|0]=ee}if(!(16&d[0|be])|!d[20+(y+145840|0)|0]||d[18+(t=y+145840|0)|0]>19)break e;g[t+18|0]=20;break e}i=d[be+296|0],m=a=y+145840|0,e[a+12>>2]=256,g[a+19|0]=i;c:if(d[a+20|0]){P=25;o:switch(d[17+(145840+(Oe<<5)|0)|0]-2|0){case 0:if(P=12,1&g[e[8+(y+145840|0)>>2]+7|0])break c;break;case 1:break o;default:break c}g[18+(y+145840|0)|0]=P}if((0|(R=d[17+(R+145840|0)|0]))==2){M=1;break e}if(g[22+(i=y+145840|0)|0]=r,(254&d[17+(145840+(a=Oe<<5)|0)|0])==2)break a;if(a=r,(0|(m=e[36423]))<=(0|t))break t;for(;;){if(d[17+(145840+(a=t<<5)|0)|0]==2){a=d[22+(a+145840|0)|0],g[i+22|0]=a;break t}
2810if((0|m)==(0|(t=t+1|0)))break}break r}if(Ut=y+145840|0,vt=a^a>>>0<2,a=(rr=8&ee)?25:d[296+(vt+be|0)|0]-M|0,g[Ut+19|0]=a,(e[36423]-3|0)>(0|t)||(0|(m=255&a))<=(0|(a=e[be+52>>2]))||(g[Ut+19|0]=a),a=0,ee=0,!(P=d[i+52|0]))for(;m=e[i+40>>2],ee=d[i+49|0]==2?(~e[m+4>>2]>>>20&1)+ee|0:ee,a=d[m+10|0]==27?2:a,m=i,i=i+32|0,!(P=d[m+84|0]););m=Ut+96|0,t=145840+(ht=t+2<<5)|0,e[34063]=ee,w=d[e[i+40>>2]+10|0],R=R+145840|0,d[17+(ht+145840|0)|0]|d[e[R+8>>2]+10|0]!=23?(i=m,m=t,t=R):i=y+145968|0,R=d[e[m+8>>2]+15|0];n:if(ee)R=d[e[be+96>>2]+(d[e[t+8>>2]+15|0]+F(R,10)|0)|0],d[t+17|0]!=8|(254&d[m+17|0])!=4||(R=8&d[e[i+8>>2]+4|0]?R-15|0:R);else{if(ue=e[be+100>>2],ht=d[e[t+8>>2]+15|0],i=d[t+20|0],R=d[ue+(ht+F(i|d[m+20|0]?(0|R)==1:R,10)|0)|0],!i|!(32&d[0|be]))break n;R=d[1+(ue+F(ht,10)|0)|0]+R>>>1|0}i=P>>>1|0,ht=!ee,P=(0|(R=(0|F(e[130104+(ee?(0|ee)==1?4:8:0)>>2],R))/128|0))<=8?8:R;n:if((0|vt)!=7)rr&&(P=e[be+200>>2]+P|0);else{if(P=(R=e[be+200>>2])+P|0,!rr)break n;P=((0|R)/2|0)+P|0}R=i&ht|(0|w)==27,(i=T[304+(be+(vt<<1)|0)>>1])||(i=T[be+316>>1]),P=F(i<<16>>16,P),(ee=d[7+(i=y+145840|0)|0])&&(vt=d[e[144464+(ee<<2)>>2]+14|0])&&(P=(0|F(P,vt))/100|0),(R|(0|a)==2)==1&&(2097152&(a=e[be+12>>2])||(P=(0|F(262144&a?282:256+((280-(d[e[8+(y+145840|0)>>2]+14|0]<<1)|0)/3|0)&65535,P))/256|0)),vt=y+145840|0,a=F(e[32526],e[be+196>>2]),rr=(0|YA)!=2?256:(0|((0|a)>(0|P)?P:a))/128|0,e[vt+12>>2]=rr,(a=d[vt+16|0])>>>0>=19&&(Zi(84371,28,fA),g[vt+16|0]=0,ee=d[i+7|0],a=0),P=a+1|0,(a=255&ee)?(qa(a,h+8|0),a=Ki(e[h+132>>2])):a=e[129280+((255&P)<<2)>>2],R=y+145840|0,1&(M|Te)&&(i=145840+(y=Oe<<5)|0,M=d[0|a],a=d[R+21|0],a=((0|F(M,d[R+22|0]-a|0))/256|0)+a|0,g[i+22|0]=a,r=(a-(r=(0|a)==255?255:r)|0)>16?a-16|0:r,g[i+21|0]=r,i=0,(0|r)<(0|a)&&(g[vt+16|0]=P,i=2),e[12+(r=y+145840|0)>>2]=rr,g[r+16|0]=i,a=d[Ut+19|0],g[r+19|0]=d[r+17|0]!=3&&a>>>0>18?18:a),r=(0|YA)!=2,i=-2&(a=T[t>>1]),v[t>>1]=i;n:{c:{o:switch(d[t+17|0]-3|0){case 5:if(d[m+17|0]==2)break n;i=1|a;break c;case 0:break o;default:break n}if(v[t>>1]=1|a,d[m+17|0]!=2&&e[e[t+8>>2]>>2]!=12146)break n}v[t>>1]=i}r?(0|(t=r<<4))<=((a=d[R+22|0])-(i=d[R+21|0])|0)||(i=(0|(t=a-t|0))>0?t:0,g[R+21|0]=i):(a=d[R+22|0],i=d[R+21|0]),t=255&i,r=((0|F(d[e[129280+(d[vt+16|0]<<2)>>2]+127|0],a-t|0))/256|0)+t|0,M=0,Te=0;break e}i=e[12+(a+145840|0)>>2],e[m+12>>2]=i,(0|YA)==3&&(i=e[32526],e[m+12>>2]=i),a=r;a:switch(R-5|0){case 0:e[m+12>>2]=(F(i,160)>>>0)/100;break r;case 2:break a;default:break t}e[m+12>>2]=(F(i,120)>>>0)/100}a=r}Te=0,g[16+(t=y+145840|0)|0]=0,i=t,a=(t=255&a)-16|0,g[i+21|0]=t>>>0>=a>>>0?a:0}if(!(e[36423]>(0|l)))break}if(oe=h+160|0,15&(i=e[47197])|e[36456]){t=0,m=0,oe=a=oe-80|0;e:if((r=e[33222])||(e[33223]=500,r=nA(500),e[33222]=r,r)){if(!((e[36423]-2|0)<2)){for(t=i>>8,be=128&i?0:t,ee=t&i<<24>>31,R=2&i,i=a+32|1,y=1;;){if(Za(a,e[8+(l=145840+(Oe=y<<5)|0)>>2],l,R,a+72|0),t=a+32|0,(13&(r=d[l+20|0]))==1&&(g[a+32|0]=32,t=i),!be|(0|be)!=32&!!(0|r)|y>>>0<2||(ur(a+76|0,a),e[a+76>>2]-880>>>0>4294967103||(t=Rr(be,t)+t|0)),4&d[0|l]&&((r=d[3+(Oe+145840|0)|0])>>>0<2||(r=r>>>0>=5?5:r,r=R?r>>>0>3?712:716:g[r+94144|0],e[a+76>>2]=r,t=Rr(r,t)+t|0)),P=0,e[a+72>>2]=0,d[0|(r=a)])for(;r=ur(a+76|0,r)+r|0,e[a+72>>2]>>>P-1&1|!ee|(0|P)<=0||(M=e[a+76>>2])-880>>>0>4294967103||ji(M)&&(t=Rr(ee,t)+t|0),P=P+1|0,t=Rr(e[a+76>>2],t)+t|0,d[0|r];);if(d[e[l+8>>2]+10|0]!=21&&(8&(r=T[l>>1])&&(t=Za(t,e[36128],l,R,0),r=T[l>>1]),!(4&r)|d[17+(Oe+145840|0)|0]==2||(t=Za(t,e[36136],l,R,0)),(r=d[7+(Oe+145840|0)|0])&&(t=Za(t,e[144464+(r<<2)>>2],l,R,0))),(t=(l=t-(a+32|0)|0)+m|0)>>>0<re[33223])r=e[33222];else{if(r=t+500|0,e[33223]=r,!(r=xs(e[33222],r))){e[33223]=0,r=86135;break e}e[33222]=r}if(g[(P=l)+(l=a+32|0)|0]=0,BA(r+m|0,l),m=t,!((0|(y=y+1|0))<(e[36423]-2|0)))break}if(!r){r=86135;break e}}g[t+r|0]=0}else e[33223]=0,r=86135;oe=a+80|0,15&d[188788]&&(e[A>>2]=r,fs(e[47195],84367,A)),(t=e[36456])&&Ar[0|t](r)}d[190280]?(e[36423]=0,t=1):(xt(0),(t=e[A+8>>2])?(oe=r=oe+-64|0,Zr(r,t,60),pn(r,1),a=0,(t=tA(r,0))&&(a=t,d[202976]&&(a=tA(202976,2))),oe=r- -64|0,e[44468]=a):a=e[44468],t=1,a&&(r=e[32972],(a=nA(1344))&&(r=sr(a,r,1344),a=216192+(e[50758]<<4)|0,e[a>>2]=11,e[a+8>>2]=r,r=e[50758]+1|0,e[50758]=(0|r)<=169?r:0),e[44468]=0))}else t=0,g[190280]=0;else t=0,e[36423]=0,e[50758]=0,e[50757]=0;return oe=A+16|0,t}function Je(t,A){var r=0,a=0,i=0,l=0;r=1073741825;e:{t:{r:{a:{n:{c:{o:{f:{l:{i:{h:{b:{m:{C:{p:{x:{w:{B:{O:{Y:{R:{M:{y:{G:{S:{X:{L:{K:{N:{ae:{V:{Be:{W:{d:{g:{$:{k:{ee:{I:{s:{Ye:{q:{A:{ge:{H:{he:{pe:{Re:{le:{z:{xe:{E:{Me:{J:{me:{De:{je:{Ge:{_e:{Te:{Qe:{Pe:{Se:{be:{We:{te:{Ne:{Ue:{ze:{Fe:{D:{Ce:{Ke:{pt:{mt:{bt:{Ct:{It:{wt:{kt:{vt:{yt:{Et:{Bt:{xt:{Mt:{Dt:{Gt:{_t:{Tt:{Qt:{Pt:{St:{Nt:{zt:{Ft:{Ot:{Lt:{Vt:{Ht:{Yt:{Rt:{jt:switch(0|A){case 0:A=t-9>>>0<5?1073741825:0,A=(t=(0|t)==133)?1073741825:A;break S;case 1:u:{_:{T:{Q:{P:{F:{Z:{j:{Ae:{ne:{re:{ie:{ce:{ue:{if((0|(A=-256&t))<=2047){if(!A)break ue;if((0|A)==1536)break ce;
2810if((0|A)!=1792||(r=0,a=1,(0|t)!=1807))break u;break A}if((0|A)<=69631){if((0|A)==2048)break ie;if((0|A)!=8192)break u;switch(r=131076,t-8204|0){case 1:break re;case 0:break A;default:break ne}}if((0|A)==69632)break Ae;if((0|A)!=917504)break u;switch(r=8388608,t-917505|0){case 62:break T;case 58:break Q;case 57:break P;case 45:break F;case 43:break Z;case 32:break j;case 0:break A;default:break _}}if(r=16,(0|t)!=173)break u;break A}if(r=0,a=1,t-1536>>>0<6)break A;a=(0|t)==1757,A=(t=(0|t)==1564)?2:0;break G}if(r=0,a=1,(0|t)!=2274)break u;break A}return fe=64,4}if(r=1073741826,(-2&t)==8206)break A;if(t-8234>>>0<5)return fe=0,2;if(r=128,t-8289>>>0<4||(r=2,t-8294>>>0<4))break A;if(r=8388608,t-8298>>>0>=6)break u;break A}A=!(t-69821&-17),t=0;break y}fe=536870976;break M}fe=268435520;break M}fe=-2147483584;break M}fe=134217792;break M}fe=67108928;break M}fe=1073741888;break M}if(r=131072,a=64,t-917536>>>0<96)break A}break s;case 2:u:{_:{T:{Q:{P:{F:{Z:{if((0|(A=-256&t))<=130303){if((0|A)<=127743){if((0|A)<=64767){if((0|A)<=11007){if((0|A)==8192)break Z;if((0|A)!=9216)break u;if(t-9255>>>0>=25)break F;break I}if((0|A)==11008)break P;if((0|A)!=11776||(r=-2147483648,t-11845>>>0>=59))break u;break A}if((0|A)<=126975){if((0|A)==64768)break Q;if((0|A)!=65280||(r=4194304,t-65520>>>0>=9))break u;break A}if((0|A)==126976|(0|A)==127232|(0|A)==127488)break q;break u}if((0|A)<=129023){if((0|A)<=128255){if((0|A)==127744|(0|A)==128e3)break q;break u}if((0|A)==128256|(0|A)==128512|(0|A)==128768)break q;break u}if((0|A)<=129535){if((0|A)==129024|(0|A)==129280)break q;break u}if((0|A)==129536|(0|A)==129792|(0|A)==130048)break q;break u}if((0|A)<=919039){if((0|A)<=917759){if((0|A)<=130815){if((0|A)==130304)break q;if((0|A)!=130560)break u;break q}if((0|A)==130816)break q;if((0|A)!=917504)break u;if((-128&t)!=917632)break T;break ee}if((0|A)<=918271){if((0|A)==917760)break _;if(r=4194304,(0|A)!=918016)break u;break A}if((0|A)==918272|(0|A)==918528)break ee;if(r=4194304,(0|A)!=918784)break u;break A}if((0|A)<=920319){if((0|A)<=919551){if((0|A)==919040)break ee;if(r=4194304,(0|A)!=919296)break u;break A}if((0|A)==919552|(0|A)==919808)break ee;if(r=4194304,(0|A)!=920064)break u;break A}if((0|A)<=920831){if((0|A)==920320)break ee;if(r=4194304,(0|A)!=920576)break u;break A}if((0|A)==920832|(0|A)==921088)break ee;if(r=4194304,(0|A)!=921344)break u;break A}if(r=4194304,(0|t)!=8293)break u;break A}if(r=-2147483648,t-9291>>>0>=21)break u;break A}if((-16&t)==11248|t-11219>>>0<25|(0|t)==11209|t-11194>>>0<3||(0|(A=-2&t))==11124)break I;if(r=-2147483648,(0|A)!=11158)break u;break A}if(r=65536,t-64976>>>0>=32)break u;break A}if((0|t)==917504)break ee;if(r=4194304,t-917506>>>0>=30)break u;break A}if(r=4194304,t>>>0>917999)break A}A=(t=!(65534&~t))>>>16|0,t<<=16;break y;case 6:u:{_:{T:{Q:{P:{F:{Z:{j:{Ae:{ne:{re:{ie:{if((0|(A=-256&t))<=7679){if((0|A)<=767){if(!A)break ie;if((0|A)==256)break re;if((0|A)!=512)break s;if((0|t)!=585)break ne;break R}if((0|A)==768)break Ae;if((0|A)==1024)break j;if((0|A)!=7424||(r=16777216,(0|t)!=7574))break s;break A}if((0|A)<=119807){if((0|A)==7680)break Z;if((0|A)==8448)break F;if((0|A)!=65280||(r=256,t-65345>>>0>=6))break s;break A}if((0|A)<=120319){if((0|A)==119808)break P;if((0|A)!=120064)break s;if(t>>>0>=120070)break Q;break k}if((0|A)==120320)break T;if((0|A)!=120576)break s;if(t>>>0>=120597)break _;break k}if(r=768,t-97>>>0<6)break A;if(r=16777216,t-105>>>0>=2)break s;break A}r=(A=(0|t)==329)>>>9|0,A=(t=(0|t)==303)?16777216:A<<23;break Y}if((0|t)==616)break R;if(r=16777216,(0|t)!=669)break s;break A}switch(r=128,t-976|0){case 35:break u;case 0:case 1:case 2:case 5:case 32:case 33:break A}if((-2&t)!=1012)break s;break A}a=(t=!(t-1110&-3))>>>8|0,t<<=24;break O}a=(A=(0|t)==7883)>>>8|0,A=(t=(0|t)==7725)?16777216:A<<24;break G}if(t-8458>>>0<10)break k;if((A=t-8495|0)>>>0<11)break Rt;break ge}if((0|(A=-2&t))==119842)break $;if(t-119808>>>0<85)break k;if(t-119894>>>0<2|t-119946>>>0<2)break $;if((0|t)==119995|t-119896>>>0<69|t-119982>>>0<12)break k;if((0|A)==119998)break $;if(t-119997>>>0<7)break k;if(r=16777344,(0|A)==120050)break A;if(r=128,t>>>0<=120004)break s;break A}if((-2&t)==120102)break $;if(t-120094>>>0<28)break k;Q:{if((0|t)<=120257){if(t-120154>>>0<2)break $;if(r=16777344,t-120206>>>0>=2)break Q;break A}if(t-120258>>>0<2)break $;if(r=16777344,t-120310>>>0<2)break A}if(r=128,t>>>0<=120145)break s;break A}if(t-120362>>>0<2|t-120414>>>0<2)break $;if(r=16777344,t-120466>>>0<2)break A;if(t-120540>>>0<31|t>>>0>120571|t>>>0<120486)break k;if(r=128,t-120514>>>0>=25)break s;break A}if(t-120772>>>0<8|t-120746>>>0<25|t-120714>>>0<31|t-120688>>>0<25||(0|t)!=120597&t>>>0<120629|t-120656>>>0<31)break k;if(r=128,t-120630>>>0<25)break A;break s}break R;case 7:u:{_:{T:{Q:{P:{F:{Z:{j:{Ae:{ne:{re:{ie:{ce:{ue:{v:{oe:{se:{U:{fe:{de:{Ie:{we:{if((0|(A=-256&t))<=11263){if((0|A)<=3583){if((0|A)<=1535){if((0|A)==512)break we;if((0|A)==768)break Ie;if((0|A)!=1280||(r=4096,(0|t)!=1369))break s;break A}if((0|A)==1536)break de;if((0|A)==1792)break fe;if((0|A)!=2304||(r=4096,(0|t)!=2417))break s;break A}if((0|A)<=7167){if((0|A)==3584)break U;if((0|A)==6144)break se;if((0|A)!=6656||(r=8192,(0|t)!=6823))break s;break A}if((0|A)==7168)break oe;if((0|A)==7424)break v;if((0|A)!=8192)break s;if(r=16793600,!(A=t-8305|0))break A;if((0|A)==14)break ue;break ce}if((0|A)<=43263){if((0|A)<=40959){if((0|A)==11264)break ie;if((0|A)==11776)break re;if((0|A)!=12288)break s;switch(r=8192,t-12293|0){case 1:case 2:case 3:case 4:case 5:case 
28106:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:break Ae;case 0:case 44:case 45:case 46:case 47:case 48:break A;default:break ne}}if((0|A)==40960)break j;if((0|A)==42496)break Z;if((0|A)!=42752)break s;if(t-42775>>>0>=9)break F;break g}if((0|A)<=65279){if((0|A)==43264)break P;if((0|A)==43520)break Q;if((0|A)!=43776||(r=20480,(-4&t)!=43868))break s;break A}if((0|A)==65280)break T;if((0|A)==92928)break _;if((0|A)!=93952)break s;if(r=4096,t-94099>>>0<13)break A;if(r=8192,(-2&t)!=94176)break s;break A}if(r=16797696,(0|t)==690)break A;if(t-688>>>0<9)return fe=0,20480;if(t-697>>>0<7)break g;if((0|(A=-2&t))==704)return fe=0,20480;if(r=4096,t-710>>>0<10||(r=12288,(0|A)==720)||(r=20480,t-736>>>0<5))break A;r=(t=(-3&t)==748)>>>20|0,t<<=12;break B}A=(0|t)==890?20480:0,A=(t=(0|t)==884)?4096:A;break S}if(r=8192,(0|t)==1600)break A;if(r=4096,t-1765>>>0>=2)break s;break A}if(r=4096,(-2&t)==2036)break A;if(r=8192,(0|t)!=2042)break s;break A}A=(t=!(t-3654&-129))>>>19|0,t<<=13;break y}if(r=8192,(0|t)!=6211)break s;break A}if(r=12288,(0|t)==7291)break A;if(r=4096,t-7288>>>0>=6)break s;break A}if(r=16797696,(0|t)==7522||(r=20480,t-7468>>>0<63))break A;switch(r=16384,t-7588|0){default:if((0|t)==7544)break A;case 1:case 2:case 3:if(t-7579>>>0>=37)break s;break A;case 0:case 4:}return fe=0,16793600}return fe=0,16384}if(r=16384,t-8336>>>0>=13)break s;break A}A=(r=(0|t)==11389)>>>18|0,r=(t=(0|t)==11388)?16793600:r<<14;break w}if(r=-2147479552,(0|t)!=11823)break s;break A}if(t-12445>>>0<2)break A;if((0|t)==12540)break u}if(t-12541>>>0>=2)break s;break A}if(r=8192,(0|t)!=40981)break s;break A}if((0|t)==42508)break x;if((0|t)==42623)break g;if(r=20480,(-2&t)!=42652)break s;break A}if((0|t)==42864)return fe=0,16384;if((0|t)==42888)break g;if(r=20480,(-2&t)!=43e3)break s;break A}r=(A=(0|t)==43494)>>>19|0,A=(t=(0|t)==43471)?8192:A<<13;break Y}if((0|t)==43632||(0|t)==43741)break x;if(r=8192,t-43763>>>0>=2)break s;break A}if(r=12288,(0|t)==65392)break A;if(r=135168,(-2&t)!=65438)break s;break A}if(r=8192,(-2&t)==92994)break A;break s}return fe=0,12288;case 8:r=128;u:{_:{T:{Q:{P:{F:{Z:{j:{Ae:{if((0|(A=-256&t))<=12543){if((0|A)<=5887){if((0|A)<=3583){if(!A)break Ae;if((0|A)!=1536||(A=8388608,(0|t)!=1651))break E;break le}if((0|A)==3584)break j;if((0|A)!=4352||(r=4194304,t-4447>>>0>=2))break E;break z}if((0|A)<=8447){if((0|A)==5888)break Z;if((0|A)!=6400||(A=t-6581|0)>>>0>=6)break E;r=e[(A=81432+(A<<3)|0)>>2],a=e[A+4>>2];break z}if((0|A)==8448)break F;if((0|A)!=12288||(A=2048,(0|t)!=12294))break E;break le}if((0|A)<=68863){if((0|A)<=63999){if((0|A)==12544)break P;if((0|A)!=43520)break E;if((A=t-43701|0)>>>0<8)break _;break xe}if((0|A)==64e3)break u;if((0|A)!=65280||(A=4194304,(0|t)!=65440))break E;break le}if((0|A)<=100095){if((0|A)==68864)break Q;if((0|A)!=70400||(r=8192,(0|t)!=70493))break E;break pe}if((0|A)==100096)break T;if((0|A)!=126464)break E;break z}a=(A=!(t-170&-17))>>>18|0,r=A<<14;break z}if(r=33554432,t-3648>>>0<5)break z;if(A=0,l=33554432,(0|t)==3759)break le;if(t-3776>>>0>=5)break E;break z}if(r=8388608,t-6051>>>0>=2)break E;break z}if(t-8501>>>0>=4)break E;break z}if(A=4194304,(0|t)!=12644)break E;break le}if(r=4096,(-2&t)!=68898)break E;break z}if(r=2048,t-100333>>>0<5)break z;break E}if(r=33554432,!(211>>>A&1))break xe;break z}if((A=t-64014|0)>>>0>=28)break E;r=e[(A=81480+(A<<3)|0)>>2],a=e[A+4>>2];break z;case 10:u:{_:{T:{Q:{P:{F:{if((0|(A=-256&t))<=119807){if((0|A)<=8447){if(!A)break F;if((0|A)!=768)break s;switch(r=128,t-976|0){case 0:case 1:case 2:case 36:case 37:break A;default:break s}}if((0|A)==8448)break P;if((0|A)!=65280||(r=256,t-65313>>>0>=6))break s;break A}if((0|A)<=120319){if((0|A)==119808)break Q;
2810if((0|A)!=120064)break s;if(t>>>0>=120070)break T;break k}if((0|A)==120320)break _;if((0|A)!=120576)break s;if(t-120772>>>0>=8)break u;break k}if(r=768,t-65>>>0>=6)break s;break A}switch(r=128,t-8450|0){case 0:case 5:break A}if(t-8458>>>0<10)break k;if((A=t-8469|0)>>>0<20)break Yt;if((-4&t)==8508)break A;break Me}if(t-119982>>>0<12|t>>>0>120004|t-119977>>>0<4|t-119973>>>0<2||(0|t)==119970|(-2&t)==119966|t-119808>>>0<85)break k;if(r=128,t-119894>>>0>=71)break s;break A}if(t-120138>>>0<7|t>>>0>120145|(0|t)==120134|t-120128>>>0<5||t-120123>>>0<4|t-120094>>>0<28|(0|t)!=120070&t>>>0<120075|t-120086>>>0<7)break k;if(r=128,t-120077>>>0>=8)break s;break A}if(t-120540>>>0<31|t>>>0<120486)break k;if(r=128,t-120488>>>0>=25)break s;break A}if(t-120714>>>0<31|t-120598>>>0<31)break k;if(r=128,t-120656>>>0<31)break A;break s;case 11:u:{_:{T:{Q:{P:{F:{Z:{j:{Ae:{ne:{re:{ie:{ce:{ue:{v:{oe:{se:{if((0|(A=-256&t))<=43263){if((0|A)<=3839){if((0|A)<=3071){if((0|A)==2304)break se;if((0|A)!=2816)break d;if((0|t)>3005)break v;if((0|t)!=2878)break oe;return fe=0,132096}if((0|A)==3072)break ue;if((0|A)!=3328)break d;switch(r=132096,t-3535|0){case 0:case 16:break A;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:break d;default:break ce}}if((0|A)<=6911){if((0|A)==3840)break ie;if((0|A)!=4096)break d;if(r=1024,t-4139>>>0<2)break A;switch(t-4145|0){case 0:case 7:case 10:case 11:case 37:case 38:case 49:case 54:case 55:case 82:case 83:break A;case 86:case 87:case 88:case 89:case 90:case 91:case 94:case 105:case 106:break u;default:break re}}if((0|A)==6912)break ne;if((0|A)==7168)break Ae;if((0|A)!=12288||(r=135168,(-2&t)!=12334))break d;break A}if((0|A)<=70399){if((0|A)<=43775){if((0|A)==43264)break j;if((0|A)!=43520)break d;return fe=0,t-43643&-3?1024:4096}if((0|A)==43776)break Z;if((0|A)==69888)break F;if((0|A)!=70144||(r=4096,(0|t)!=70197))break d;break A}if((0|A)<=70911){if((0|A)==70400)break P;if((0|A)!=70656)break d;A=(0|t)==70845?132096:1024,A=(t=(0|t)==70832)?132096:A;break S}if((0|A)==70912)break Q;if((0|A)==71168)break T;if((0|A)!=119040)break d;switch(r=131072,t-119141|0){case 8:break g;case 1:break s;case 0:break A;default:break _}}A=(0|t)==2519?132096:1024,A=(t=(0|t)==2494)?132096:A;break S}if(r=132096,(0|t)!=2903)break d;break A}if((0|t)==3006)return fe=0,132096;if(r=132096,(0|t)!=3031)break d;break A}if((t=t-3266|0)>>>0>20||(r=132096,!(1<<t&1572865)))break d;break A}if((0|t)==3390)break A;if((0|t)!=3415)break d;break A}if(r=4096,(-2&t)!=3902)break d;break A}r=(t=(0|t)==4252)>>>22|0,t<<=10;break B}switch(r=1024,t-6965|0){default:if((0|t)==6916)break A;break;case 0:case 6:break A;case 1:case 2:case 3:case 4:case 5:}if(t-6973>>>0<5)break A;switch(t-6979|0){case 1:break g;case 0:break A}if((0|t)==7042|(0|t)==7073|(-2&t)==7078)break A;if((0|t)==7082)break g;if((0|t)==7143|t-7146>>>0<3)break A;r=(t=(0|t)==7150)>>>22|0,t<<=10;break B}A=(0|t)==7415?4096:1024,A=(t=(0|t)==7393)?4096:A;break S}A=(0|t)==43456?4096:1024,A=(t=(0|t)==43347)?4096:A;break S}if(r=4096,(0|t)!=44012)break d;break A}if(r=4096,(0|t)!=70080)break d;break A}r=132096;P:switch(t-70462|0){case 0:case 25:break A;case 15:break P;default:break d}break g}if(r=132096,(0|t)!=71087)break d;break A}if(r=4096,(0|t)!=71350)break d;break A}if(r=135168,t-119150>>>0<5)break A;break d}break g;case 12:A=((0|t)==8419)<<6,t=0;break y;case 13:u:{_:{T:{Q:{P:{F:{Z:{j:{Ae:{ne:{re:{ie:{ce:{ue:{v:{oe:{se:{U:{fe:{de:{Ie:{we:{Oe:{ke:{Le:{Ze:{Xe:{qe:{Je:{$e:{et:{tt:{At:{rt:{st:{ve:{at:{nt:{it:{ot:{lt:{Ve:{ye:{He:{ct:{ut:{ft:{Ee:{dt:{gt:{ht:{if((0|(A=-256&t))<=43775){if((0|A)<=5887){if((0|A)<=2559){if((0|A)<=1535){if((0|A)==768)break ht;if((0|A)==1024)break gt;if((0|A)!=1280)break s;if(t-1425>>>0>=17)break dt;break g}if((0|A)<=2047){if((0|A)==1536)break Ee;if((0|A)!=1792)break s;if(r=1024,(0|t)==1809)break A;if((-16&t)!=1840)break ft;return fe=0,5120}if((0|A)==2048)break ut;if((0|A)!=2304)break s;if(t>>>0>=2307)break ct;break d}if((0|A)<=3583){if((0|A)<=3071){if((0|A)==2560)break He;if((0|A)!=2816)break s;switch(r=1024,t-2876|0){case 0:break g;case 3:break A;case 1:case 2:break Ve;default:break ye}}
2810if((0|A)==3072)break lt;if((0|A)!=3328)break s;if((0|(A=-2&t))!=3328)break ot;break d}if((0|A)<=4095){if((0|A)==3584)break it;if((0|A)!=3840)break s;if((0|(A=-2&t))!=3864)break nt;break g}if((0|A)==4096)break at;if((0|A)!=4864||(r=1024,(0|t)!=4959))break s;break A}if((0|A)<=8191){if((0|A)<=6655){if((0|A)==5888)break ve;if((0|A)==6144)break st;if((0|A)!=6400)break s;if((A=t-6432|0)>>>0<=18&&(r=1024,1<<A&262535))break A;if(r=4096,t-6457>>>0>=3)break s;break A}if((0|A)<=7167){if((0|A)==6656)break rt;if((0|A)!=6912)break s;if(r=1024,(-4&t)==6912)break A;if((0|t)!=6964)break At;break g}if((0|A)==7168)break tt;if((0|A)!=7424)break s;if(r=4096,t-7620>>>0<12||(r=1024,t-7655>>>0<14))break A;if((t=t-7669|0)>>>0>=11)break s;A=e[(t=82104+(t<<3)|0)>>2];break p}if((0|A)<=42495){if((0|A)<=11519){if((0|A)==8192)break et;if((0|A)!=11264||(r=4096,t-11503>>>0>=3))break s;break A}if((0|A)==11520)break $e;if((0|A)!=12288)break s;if(t-12330>>>0>=4)break Je;break g}if((0|A)<=43263){if((0|A)==42496)break qe;if((0|A)!=43008)break s;if(t-43045>>>0>=2)break Xe;break d}if((0|A)==43264)break Ze;if((0|A)!=43520)break s;switch(r=1024,t-43561|0){case 83:case 150:case 152:break g;case 0:case 1:case 2:case 3:case 4:case 5:case 8:case 9:case 12:case 13:case 26:case 35:case 135:case 137:case 138:case 139:case 142:case 143:case 149:break A;default:break Le}}if((0|A)<=71423){if((0|A)<=69375){if((0|A)<=66047){if((0|A)==43776)break ke;if((0|A)==64256)break Oe;if((0|A)!=65024)break s;if(r=536870912,t-65024>>>0<15||(a=64,(0|t)==65039))break A;if(r=4096,a=0,(-16&t)!=65056)break s;break A}if((0|A)<=68095){if((0|A)==66048)break we;if((0|A)!=66304||(r=1024,t-66422>>>0>=5))break s;break A}if((0|A)==68096)break Ie;if((0|A)!=68864||(r=5120,(-4&t)!=68900))break s;break A}if((0|A)<=70399){if((0|A)<=69887){if((0|A)==69376)break de;if((0|A)!=69632)break s;if(t-69688>>>0>=14)break fe;break d}if((0|A)==69888)break U;if((0|A)!=70144)break s;if(r=1024,t-70191>>>0<3)break A;switch(t-70196|0){case 2:break g;case 0:case 3:case 10:break A;case 1:case 4:case 5:case 6:case 7:case 8:case 9:break oe;default:break se}}if((0|A)<=70911){if((0|A)==70400)break v;if((0|A)!=70656)break s;if((-8&t)!=70712)break ue;break d}if((0|A)==70912)break ce;if((0|A)!=71168)break s;if(r=1024,t-71219>>>0<8)break A;switch(t-71229|0){case 2:break g;case 0:case 3:break A;case 1:break re;default:break ie}}if((0|A)<=92927){if((0|A)<=72703){if((0|A)==71424)break zt;if((0|A)==71680)break ne;if((0|A)!=72192)break s;if(t-72193>>>0>=10)break Ae;break d}if((0|A)<=73215){if((0|A)==72704)break j;if((0|A)!=72960)break s;if((A=t-73009|0)>>>0<19)break St;break J}if((0|A)==73216)break Z;if((0|A)!=92672||(r=4096,t-92912>>>0>=5))break s;break A}if((0|A)<=122879){if((0|A)<=113663){if((0|A)==92928)break F;if((0|A)!=93952||(r=4096,t-94095>>>0>=4))break s;break A}if((0|A)==113664)break P;if((0|A)!=119040)break s;switch(r=4096,t-119143|0){case 0:case 1:case 2:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 67:case 68:case 69:case 70:break A;default:break s}}if((0|A)<=125183){if((0|A)==122880)break Q;if((0|A)!=124928||(r=4096,t-125136>>>0>=7))break s;break A}if((0|A)==125184)break T;if((0|A)!=917760||(r=536870912,t-917760>>>0>=240))break s;break A}if(t-768>>>0<69)break g;if(r=21504,(0|t)==837)break A;if(t-838>>>0<9)break g;if(r=4194304,(0|t)==847)break A;if((-8&t)==848)break g;if(r=4096,t-861>>>0>=6)break s;break A}if(r=4096,t-1155>>>0>=5)break s;break A}if(r=4096,t-1443>>>0<13||(r=5120,t-1456>>>0<14))break A;if((t=t-1471|0)>>>0>=9)break s;A=e[(t=81944+(t<<3)|0)>>2];break p}if(t-1552>>>0<11)break d;if(r=5120,t-1611>>>0<8)break A;if(t-1619>>>0<4)break d;switch(t-1623|0){case 1:break g;case 0:break A;case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 25:case 127:case 128:case 129:case 130:case 131:case 132:case 133:break d}if(r=4096,t-1759>>>0<2)break A;if((A=t-1761|0)>>>0<8)break Ht;break me}if(t-1856>>>0<11)break g;if(r=5120,t-1958>>>0<11)break A;if(r=4096,t-2027>>>0>=9)break s;break A}switch(r=1024,(-2&t)-2070|0){case 2:break g;case 0:break A}if(t-2260>>>
28100<12|t-2089>>>0<4|t-2075>>>0<9|t-2085>>>0<3)break d;if(t-2275>>>0<7)return fe=0,5120;if(r=4096,t-2282>>>0<6||(r=5120,t-2288>>>0<15))break A;if(r=1024,(0|t)!=2303)break s;break A}switch(r=1024,t-2362|0){case 2:break g;case 0:break A}if(t-2369>>>0<8)break d;switch(r=4096,t-2381|0){case 0:case 4:case 5:case 6:case 7:case 111:break A;case 8:case 9:case 10:case 21:case 22:case 52:break d}if(t-2497>>>0<4)break d;if((0|t)==2509)break A;if(r=1024,(-2&t)!=2530)break s;break A}if(t-2561>>>0<2)break d;switch(r=4096,t-2620|0){case 0:case 17:case 128:case 145:break A;case 5:case 6:case 11:case 12:case 15:case 16:case 21:case 52:case 53:case 57:case 69:case 70:case 133:case 134:case 135:case 136:case 137:case 139:case 140:case 166:case 167:case 190:case 191:case 192:break d}if(t-2813>>>0>=3)break s;break A}if((0|t)==2817)break d}if(t-2881>>>0<4)break d;switch(r=4096,t-2893|0){case 0:break A;case 9:break d}if((-2&t)==2914)break d;switch(r=1024,t-3008|0){default:if((0|t)!=2946)break s;break A;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:break s;case 0:break A;case 13:}break g}switch(r=1024,t-3072|0){case 77:case 188:case 205:break g;case 0:case 62:case 63:case 64:case 70:case 71:case 72:case 74:case 75:case 76:case 85:case 86:case 98:case 99:case 129:case 191:case 198:case 204:break A}if((-2&t)!=3298)break s;break A}if(r=4096,t-3387>>>0<2)break A;if(t-3393>>>0<4)break d;if((0|t)==3405)break A;if((0|A)==3426)break d;switch(t-3530|0){case 0:break A;case 8:case 9:case 10:case 12:break d;default:break s}}if((A=t-3633|0)>>>0<10)break Vt;break De}if((r=t-3893|0)>>>0>4|!(1<<r&21))break je;break g}switch(r=1024,t-4141|0){case 10:case 12:case 13:break g;case 0:case 1:case 2:case 3:case 5:case 6:case 7:case 8:case 9:case 16:case 17:case 43:case 44:case 49:case 50:case 51:case 68:case 69:case 70:case 71:case 85:case 88:case 89:break A}A=(r=(0|t)==4253)>>>22|0,r=(t=(0|t)==4237)?4096:r<<10;break w}r=1024;ve:{switch(t-5906|0){case 0:case 1:case 32:case 33:break A;case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:break ve}switch(t-5970|0){case 0:case 1:case 32:case 33:break A;default:break ve}}if(r=4194304,(-2&t)==6068)break A;if((A=t-6071|0)>>>0<16)break Lt;break Ge}if(r=536870912,t-6155>>>0<3||(r=67109888,t-6277>>>0<2))break A;if(r=1024,(0|t)!=6313)break s;break A}if(t-6679>>>0<2)break d;switch(r=1024,t-6683|0){case 0:case 59:case 61:case 62:case 63:case 64:case 65:case 66:case 
281067:case 71:case 74:case 75:case 76:case 77:case 78:case 79:case 80:case 81:case 88:case 89:break A}if(r=4096,t-6832>>>0<14)break A;if((t=t-6773|0)>>>0>=11)break s;A=e[(t=82016+(t<<3)|0)>>2];break p}if(t-6966>>>0<5)break A;switch(t-6972|0){case 0:case 6:break A}if(t-7019>>>0<9)break g;switch(t-7040|0){case 43:break g;case 0:case 1:case 34:case 35:case 36:case 37:case 40:case 41:case 44:case 45:case 104:case 105:case 109:case 111:case 112:case 113:break A;default:break s}}if(r=1024,t-7212>>>0<8)break A;switch(r=12288,t-7222|0){case 1:break g;case 0:break A}if(t-7380>>>0<13)break g;switch(r=4096,t-7376|0){case 0:case 1:case 2:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 29:case 36:break A}if((-2&t)!=7416)break s;break A}if(r=128,t-8400>>>0<13)break A;if((t=t-8417|0)>>>0>=15)break s;A=e[(t=82192+(t<<3)|0)>>2];break p}if(r=1024,(-32&t)!=11744)break s;break A}if(r=4096,t-12441>>>0>=2)break s;break A}if((0|t)==42607)break g;if(t-42612>>>0<8)break d;if((0|(t&=-2))==42620)break g;if((0|t)==42654)break u;if(r=4096,(0|t)!=42736)break s;break A}switch(r=4096,t-43204|0){case 0:break A;case 1:break d}if(t-43232>>>0>=18)break s;break A}if(t-43302>>>0<5)break d;if(t-43307>>>0<3)break g;if(t-43335>>>0<11|t-43392>>>0<3)break d;if(r=4096,(0|t)==43443||(r=1024,t-43446>>>0<4))break A;a=(A=(0|t)==43493)>>>20|0,A=(t=(0|t)==43452)?1024:A<<12;break G}if((-2&t)==43756)break A;if(r=4096,(0|t)!=43766)break s;break A}r=1024;ke:switch(t-44005|0){case 0:case 3:break A;case 8:break ke;default:break s}break g}if(r=5120,(0|t)!=64286)break s;break A}if(r=4096,(0|t)!=66272)break s;break A}if((-4&t)==68108)break d;if((A=t-68097|0)>>>0<6)break Ot;break _e}if(r=4096,t-69446>>>0>=11)break s;break A}if(t-69811>>>0<4)break d;if(r=1024,(0|t)==69633)break A;if(r=4096,t-69817>>>0>=2)break s;break A}switch(r=1024,t-69888|0){case 51:case 52:case 115:break g;case 0:case 1:case 2:case 39:case 40:case 41:case 42:case 43:case 45:case 46:case 47:case 48:case 49:case 50:break A}if((-2&t)==70016|t-70070>>>0<9)break A;if(r=4096,t-70090>>>0>=3)break s;break A}if((0|t)==70367)break A}if(t-70371>>>0<6)break A;if(r=4096,t-70377>>>0>=2)break s;break A}if((-2&t)==70400)break d;r=4096;v:switch(t-70460|0){case 0:case 42:case 43:case 44:case 45:case 46:case 47:case 48:case 52:case 53:case 54:case 55:case 56:break A;case 4:break v;default:break s}break d}if((0|t)==70722)break g;if(t-70723>>>0<2)break d;if((A=t-70835|0)>>>0<=13)break _;break Te}if((A=t-71090|0)>>>0<12)break Ft;break Qe}switch(t-71339|0){case 0:case 2:break A;default:break re}}if(t-71344>>>0<6)break A;if(r=4096,(0|t)!=71351)break s;break A}if(r=1024,t-71727>>>0<10)break A;if(r=4096,t-71737>>>0>=2)break s;break A}if((0|t)==72244)break g;if(t-72245>>>0<10)break d;if(r=4096,(0|t)==72263)break A;if(t-72273>>>0<11)break d;if(r=1024,t-72330>>>0<13)break A;r=(A=(0|t)==72345)>>>20|0,A=(t=(0|t)==72344)?8192:A<<12;break Y}if((A=t-72752|0)>>>0<16)break Nt;break Pe}if(r=1024,t-73459>>>0>=2)break s;break A}if(r=1024,t-92976>>>0>=7)break s;break A}if(r=1024,(0|t)!=113822)break s;break A}if(r=1024,t-122888>>>0<17)break A;if((t=t-122880|0)>>>0>=43)break s;A=e[(t=82816+(t<<3)|0)>>2];break p}if(r=12288,t-125252>>>0<3||(r=1024,(0|t)==125255)||(r=4096,t-125256>>>0<3))break A;break s}if(!(1<<A&12479))break Te;break d}break d;case 14:u:{if((0|(A=-256&t))!=120576){if((0|A)!=65280){if(A||(r=768,a=66,t-48>>>0>=10))break u;break A}if(r=256,t-65296>>>0>=10)break u;break A}if(r=128,t-120782>>>0<50)break A}break s;case 15:u:{if((0|(A=-256&t))!=12288){if((0|A)!=8448)break u;A=(t=(0|(r=-16&t))==8560)>>>18|0,a=t<<14,r=(t=(0|r)==8544)?32768:a;break w}if(t-12321>>>0<9||t-12344>>>0<3)return fe=0,2048;if(r=2048,(0|t)==12295)break A}break s;case 16:u:{_:{T:{if((0|(A=-256&t))<=9215){if((0|A)==4864)break T;if((0|A)!=6400||(r=134217728,(0|t)!=6618))break u;break A}if((0|A)==9216)break _;if((0|A)!=127232)break u;if(r=0,a=-2147483648,(0|t)==127232)break A;if(a=268435456,t-127233>>>0>=10)break u;break A}if(r=134217728,t-4969>>>0>=9)break u;break A}if(r=0,a=-2147483648,t-9352>>>0<20)break A}break s;case 17:a=(t=(0|t)==8256)>>>25|0,t<<=7;break O;
2810case 18:u:{_:{T:{Q:{if((0|(A=-256&t))<=11775){if((0|A)<=6143){if(r=-2147483624,!A)break A;if((0|A)!=1280||(r=24,(0|t)!=1418))break u;break A}if((0|A)==6144)break Q;if((0|A)!=8192)break u;if(r=-2147483624,(-2&t)==8208)break A;t=t-8211>>>0<2,A=-2147483640;break C}if((0|A)<=65023){if((0|A)==11776)break T;if((0|A)!=12288)break u;A=(0|t)==12336,r=(t=(0|t)==12316)||A?-2147483640:8,fe=t?0:A?130:0;break m}if((0|A)==65024)break _;if((0|A)!=65280||(r=24,(0|t)!=65293))break u;break A}if(r=24,(0|t)!=6150)break u;break A}if(r=-2147483624,(0|t)==11799)break A;t=(-2&t)==11834,A=-2147483640;break C}if(r=8,a=8388608,t-65073>>>0<2||(r=152,a=0,(0|t)==65123))break A}return fe=0,8;case 19:u:{_:{T:{Q:{P:{F:{if((0|(A=-256&t))<=11775){if((0|A)<=8959){if(A)break F;break I}if((0|A)==8960)break P;if((0|A)==9984)break Q;if((0|A)!=10496)break s;break W}if((0|A)<=64767){if(r=-2147483648,(0|A)==11776)break A;if((0|A)!=12288)break s;switch(r=-2147483616,t-12301|0){case 0:case 2:break A;default:break T}}if((0|A)==64768)break _;if((0|A)==65024)break u;if((0|A)!=65280)break s;if(r=32,(0|t)==65379)break A;break s}if((0|A)!=8192)break s;switch(t-8318|0){default:if(r=-2147483648,(0|t)!=8262)break s;break A;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:break s;case 0:case 16:}break k}switch(r=-2147483520,t-8969|0){case 1:break s;case 0:case 2:break A}if((0|t)!=9002)break s;return fe=0,-2139095040}if(r=-2147483520,(0|t)==10182)break A;break Be}return fe=0,(-2&t)==12318?-2147483616:-2147483648}if(r=-2147483648,(0|t)!=64830)break s;break A}a=(t=!(t-65090&-3))>>>27|0,t<<=5;break O;case 20:case 21:if(!(t&=-256))break b;if(r=-2147483616,(0|t)==8192)break A;break Ye;case 22:u:{_:{T:{Q:{P:{F:{Z:{j:{Ae:{ne:{re:{ie:{ce:{ue:{v:{oe:{se:{U:{fe:{de:{Ie:{we:{Oe:{ke:{Le:{Ze:{Xe:{qe:{Je:{$e:{et:{tt:{At:{rt:{st:{ve:{at:{nt:{it:{ot:{lt:{Ve:{ye:{He:{ct:{ut:{ft:{Ee:{if((0|(A=-256&t))<=43519){if((0|A)<=5887){if((0|A)<=2303){if((0|A)<=1535){if(!A)break Ee;if((0|A)==768)break ft;if((0|A)!=1280)break s;if(r=0,a=538968064,t-1371>>>0<2)break A;switch(a=268435456,t-1373|0){case 0:break A;case 1:break ct;default:break ut}}if((0|A)==1536)break ye;if((0|A)==1792)break Ve;if((0|A)!=2048)break s;if((A=t-2103|0)>>>0<8)break Qt;break Se}if((0|A)<=3839){if((0|A)==2304)break lt;if((0|A)==3328)break ot;if((0|A)!=3584||(r=64,(-2&t)!=3674))break s;break A}if((0|A)<=4863){if((0|A)==3840)break it;if((0|A)!=4096)break s;if(r=268435520,(-2&t)==4170)break A;if(r=0,a=16777216,(0|t)!=4347)break s;break A}if((0|A)==4864)break nt;if((0|A)!=5632)break s;switch(r=64,t-5741|0){case 1:break n;case 0:break A;default:break at}}if((0|A)<=11263){if((0|A)<=6655){if((0|A)==5888)break ve;if((0|A)==6144)break _t;if((0|A)!=6400)break s;A=(0|t)==6469,r=(t=(0|t)==6468)||A?268435520:0,fe=t?536870912:A?1073741824:0;break m}if((0|A)<=7167){if((0|A)==6656)break st;if((0|A)!=6912)break s;if((0|(A=-2&t))!=7002)break rt;break V}if((0|A)==7168)break At;if((0|A)!=8192)break s;switch(r=-2147483520,t-8214|0){case 1:break I;case 0:break A;case 16:break tt;default:break et}}if((0|A)<=41983){if((0|A)==11264)break $e;if((0|A)==11776)break Je;if((0|A)!=12288)break s;switch(r=-2147483584,a=272629760,t-12289|0){case 2:break I;case 0:break A;case 1:break Xe;default:break qe}}if((0|A)<=43007){if((0|A)==41984)break Ze;if((0|A)!=42496)break s;switch(r=64,a=268435456,t-42739|0){case 4:break c;case 0:break n;case 3:break r;case 2:break A;case 1:break ke;default:break Le}}if((0|A)==43008)break Oe;if((0|A)!=43264)break s;switch(r=4096,t-43310|0){case 0:break A;case 1:break V;default:break we}}if((0|A)<=70655){if((0|A)<=67839){if((0|A)<=65279){if((0|A)==43520)break Ie;if((0|A)==43776)break de;if((0|A)!=65024)break s;if(r=0,a=268435456,(0|(l=-2&t))==65040)break A;if((A=t-65042|0)>>>0<8)break Dt;break be}if((0|A)==65280)break fe;if((0|A)==66304)break U;if((0|A)!=67584||(r=64,(0|t)!=67671))break s;break A}if((0|A)<=69375){if((0|A)==67840)break se;if((0|A)==68096)break oe;if((0|A)!=68352)break s;switch(r=64,t-68410|0){case 0:case 1:case 2:case 3:case 4:case 5:case 95:case 96:case 97:case 98:break A;default:break s}}if((0|A)<=69887){if((0|A)==69376)break v;if((0|A)!=69632)break s;if(t-69703>>>0>=2)break ue;break V}if((0|A)==69888)break ce;if((0|A)!=70144)break s;if((A=t-70200|0)>>>0<=4)break ie;if((0|t)!=70313)break s;break V}
2810if((0|A)<=74751){if((0|A)<=71423){if((0|A)==70656)break re;if((0|A)==70912)break ne;if((0|A)!=71168||(r=268435520,t-71233>>>0>=2))break s;break A}if((0|A)<=72703){if((0|A)==71424)break Ae;if((0|A)!=72192)break s;if(t-72258>>>0>=2)break j;break V}if((0|A)==72704)break Z;if((0|A)!=73216||(r=268435520,t-73463>>>0>=2))break s;break A}if((0|A)<=93695){if((0|A)==74752)break F;if((0|A)==92672)break Q;if((0|A)!=92928)break s;if(r=268435520,t-92983>>>0<2)break A;A=(0|t)==92996?268435520:0,A=(t=(0|t)==92985)?64:A;break S}if((0|A)<=121343){if((0|A)==93696)break P;if((0|A)!=113664||(r=268435520,a=-2147483648,(0|t)!=113823))break s;break A}if((0|A)==121344)break Mt;if((0|A)!=125184)break s;r=((0|t)==125279)<<30,A=0,fe=(t=(0|t)==125278)?536870912:r;break i}r=-1879048128,a=536870912;Ee:{dt:{gt:{ht:{switch(t-33|0){default:switch(t-183|0){case 1:case 2:case 3:case 4:case 5:case 6:case 7:break Ee;case 8:break gt;case 0:break ht;default:break dt}case 2:case 9:fe=66;break f;case 11:return fe=268435456,-2147483584;case 13:return fe=-2147483648,-1879048128;case 25:return fe=134217728,-2147483584;case 26:return fe=67108864,-2147483584;case 1:case 6:break b;case 0:break A;case 3:case 4:case 5:case 7:case 8:case 10:case 12:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 27:case 28:case 29:break Ee;case 30:}return fe=1073741824,-1879048128}return fe=0,134230016}fe=1078984704;break f}if((0|t)==161)break We}break I}A=(0|t)==903,r=(t=(0|t)==894)?64:A?134217792:0,fe=t?1073741824:A?67108864:0;break m}if((0|t)==1417)break He;if((0|t)!=1475)break s;break ae}fe=1075838976;break o}fe=-2143289344;break a}r=64,a=268435456;ye:switch(t-1548|0){case 15:break r;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 16:case 17:break s;case 0:break A;case 19:break ye;case 18:break V;default:break T}break c}if((A=t-1792|0)>>>0<6)break Pt;if(r=64,a=134217728,(-2&t)==1798)break A;a=67108864;Ve:{ye:{He:switch(t-1800|0){default:switch(t-2040|0){case 1:break Ve;case 0:break ye;default:break s}case 3:break s;case 0:break A;case 1:break He;case 2:case 4:break ae}fe=1073741824;break t}fe=268435456;break t}fe=536870912;break a}A=(0|t)==2405,r=(t=(0|t)==2404)||A?268435520:0,fe=t?-2143289344:A?16777216:0;break m}if(r=0,a=-2143289344,(0|t)!=3572)break s;break A}switch(r=64,t-3848|0){case 5:fe=-2143289344;break t;case 6:fe=16777216;break t;case 0:break A}if(t-3854>>>0<5)break A;if(r=0,a=268435456,(0|t)!=3860)break s;break A}if((A=t-4961|0)>>>0<4)break Tt;if(r=64,a=134217728,t-4965>>>0<2)break A;A=(0|t)==4968,r=(t=(0|t)==4967)||A?268435520:0,fe=t?1073741824:A?16777216:0;break m}if(t-5867>>>0>=3)break s;break A}if(r=268435520,t-5941>>>0<2)break A;if((t=t-6100|0)>>>0>=7)break s;A=e[(t=83240+(t<<3)|0)>>2];break p}if(r=268435520,(-4&t)!=6824)break s;break A}if(r=64,(0|t)==7005)break A;if(r=268435520,(0|A)!=7006)break s;break A}if(t-7227>>>0<2)break V;if(r=64,t-7229>>>0<3||(r=268435520,(-2&t)==7294))break A;if(r=4096,(0|t)!=7379)break s;break A}fe=33554432;break f}if((-8&t)==8224)break I;if(t-8242>>>0<3)break A;if(t-8240>>>0<9)break I;if((A=t-8251|0)>>>0<21)break Gt;break te}if((0|t)==11513){fe=-2147483648;break o}if(r=0,a=1073741824,(-2&t)==11514)break A;if(a=-2147483648,(0|t)!=11518)break s;break A}switch(r=-1879048128,t-11822|0){case 4:case 6:fe=268435456;break f;case 5:fe=-2147483648;break f;case 7:fe=67108864;break f;case 14:return fe=-2147483648,-1879048128;case 19:return fe=268435456,-2147483584;case 30:case 32:return fe=0,-2147483584;case 0:break A}break I}if((0|t)==12349)break N;if((0|t)!=12539)break s;return fe=0,16}return fe=-2143289344,-1879048128}A=(0|t)==42239,r=(t=(0|t)==42238)?64:A?268435520:0,fe=t?268435456:A?-2147483648:0;break m}Le:switch(t-42509|0){case 1:break n;case 0:break A;case 2:break Le;default:break s}break c}fe=134217728;break t}if(t-43126>>>0<2)break V;if(r=268435520,t-43214>>>0>=2)break s;break A}if((0|t)==43463)break ae;if(r=268435520,(-2&t)!=43464)break s;break A}if(t-43613>>>0<3)break V;if(r=64,(0|t)==43743)break A;if(r=268435520,(-2&t)!=43760)break s;break A}if(r=268435520,(0|t)!=44011)break s;break A}r=268435520,a=541065216;fe:switch(t-65281|0){case 1:case 6:return fe=0,32;case 11:fe=272629760;break t;case 13:fe=-2143289344;break a;case 100:return fe=0,16;case 25:fe=138412032;break t;case 26:fe=71303168;break t;case 30:fe=1077936128;break a;case 96:break n;case 59:break k;case 0:break A;case 99:break fe;default:break s}fe=268435456;break t}r=(A=(0|t)==66512)>>>
281026|0,A=(t=(0|t)==66463)?64:A<<6;break Y}if(r=64,(0|t)!=67871)break s;break A}if(r=268435520,(-2&t)==68182)break A;if(r=64,t-68336>>>0>=6)break s;break A}if(r=268435520,t-69461>>>0>=5)break s;break A}if(r=64,t-69705>>>0<5)break A;if(r=268435520,t-69822>>>0>=4)break s;break A}if(t-69953>>>0<2)break V;if((A=t-70085|0)>>>0<=26)break _;break Ne}if((0|A)!=2)break V;break ae}if(r=268435520,t-70731>>>0<2)break A;a=(A=(0|t)==70747)>>>26|0,A=(t=(0|t)==70733)?64:A<<6,fe=t?268435456:a;break i}switch(r=268435520,(-2&t)-71106|0){case 0:break A;case 2:break u}if(r=8192,t-71110>>>0<3)break A;if(r=268435520,t-71113>>>0>=15)break s;break A}if(r=268435520,t-71484>>>0>=3)break s;break A}if(r=268435520,t-72347>>>0<2)break A;if(r=64,t-72353>>>0>=2)break s;break A}if(r=268435520,t-72769>>>0<2)break A;r=(A=(0|t)==72817)>>>26|0,A=(t=(0|t)==72771)?64:A<<6;break Y}if(r=64,a=134217728,t-74865>>>0<2)break A;if(a=0,t-74864>>>0>=5)break s;break A}A=(0|t)==93848?268435520:0,A=(t=(0|t)==93847)?64:A;break S}if(r=268435520,(-2&t)==92782)break A;if(a=-2147483648,(0|t)!=92917)break s;break A}if((0|t)==1748)break n;break s}if(!(1<<A&100663555))break Ne;break V}break ae;case 23:u:{_:{T:{Q:{P:{F:{if((0|(A=-256&t))<=11775){if((0|A)<=8959){if(A)break F;break I}if((0|A)==8960)break P;if((0|A)==9984)break Q;if((0|A)!=10496)break s;break W}if((0|A)<=64767){if((0|A)==11776)break T;if((0|A)!=12288)break s;if((t=t-12300|0)>>>0<=17&&(r=-2147483616,1<<t&131077))break A;break I}if((0|A)==64768)break _;if((0|A)==65024)break u;if((0|A)!=65280)break s;if(r=32,(0|t)==65378)break A;break s}if((0|A)!=8192)break s;switch(r=-2147483616,t-8218|0){case 1:case 2:case 3:break s;case 0:case 4:break A}switch(t-8317|0){default:if((0|t)!=8261)break s;break I;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:break s;case 0:case 16:}break k}switch(r=-2147483520,t-8968|0){case 1:break s;case 0:case 2:break A}if((0|t)!=9001)break s;return fe=0,-2139095040}if(r=-2147483520,(0|t)==10181)break A;break Be}return fe=0,(0|t)==11842?-2147483616:-2147483648}if(r=-2147483648,(0|t)!=64831)break s;break A}r=(t=!(t-65089&-3))>>>27|0,t<<=5;break B;case 24:r=(t=t>>>0<256)>>>1|0,t<<=31;break B;case 25:u:{_:{T:{Q:{P:{F:{Z:{j:{if((0|(A=-256&t))<=12287){if((0|A)<=767){if(!A)break j;if((0|A)!=512)break u;if(t-751>>>0>=17)break Z;break g}if((0|A)==768)break F;if((0|A)!=7936)break u;switch(r=4096,t-8125|0){case 0:case 2:case 3:case 4:case 16:case 17:case 18:case 32:case 33:case 34:case 48:case 49:case 50:case 64:case 65:break A;default:break u}}if((0|A)<=43775){if((0|A)==12288)break P;if((0|A)!=42752||(r=4096,(-2&t)!=42784))break u;break A}if((0|A)==43776)break Q;if((0|A)==65280)break T;if(r=0,a=78,(0|A)!=127744)break u;break A}switch(t-168|0){default:r=-2147479424;j:switch(t-94|0){case 0:break A;case 2:break j;default:break u}return fe=0,-2147479552;case 0:case 7:break g;case 1:case 2:case 3:case 4:case 5:case 6:case 8:case 9:case 10:case 11:case 13:case 14:case 15:break u;case 12:case 16:}break g}if((0|t)==749|t-741>>>0<7)break g;if(t-706>>>0>=4)break _;break g}if((t=t-885|0)>>>0>16||(r=4096,!(1<<t&98305)))break u;break A}if(r=67112960,t-12443>>>0>=2)break u;break A}if(r=4096,(0|t)!=43867)break u;break A}switch(r=4224,t-65342|0){default:if((0|t)!=65507)break u;break;case 0:break A;case 1:break u;case 2:}break g}if(r=4096,t-722>>>0<14)break A}break s;case 26:u:{_:{T:{Q:{P:{F:{if((0|(A=-256&t))<=9471){if((0|A)<=8447){if(A)break u;break I}if((0|A)==8448)break F;if((0|A)==8704)break P;if(r=-2147483648,(0|A)!=8960)break s;break A}if((0|A)<=10495){if((0|A)==9472)break Q;if((0|A)==9728)break T;if((0|A)==9984)break I;break s}if((0|A)==10496)break _;if((0|A)==10752)break I;if(r=-2147483648,(0|A)!=11008)break s;break A}if((0|t)==8472)return fe=0,67108864;if((0|t)==8596)break K;if(r=-2147483648,t>>>0<=8591)break s;break A}if(r=-2147483640,(0|t)==8722)break A;A=-2147483648,fe=(t=t-8942>>>0<4)?33554432:0;break i}if(r=-2147483648,a=130,t-9723>>>0<2)break A;A=-2147483648,fe=(t=t-9725>>>0<2)?134:0;break i}if(r=-2147483648,a=128,(0|t)==9839)break A;break I}if(r=-2147483648,a=130,(-2&t)==10548)break A;A=-2147483648,fe=(t=(0|t)==10626)?134217728:0;break i}if((0|A)==8192)break Ue;break s;case 27:u:{_:{T:{Q:{P:{F:{Z:{j:{Ae:{ne:{re:{ie:{ce:{ue:{v:{oe:{se:{U:{fe:{de:{Ie:{we:{Oe:{ke:{if
2810((0|(A=-256&t))<=12287){if((0|A)<=9727){if((0|A)<=8959){if(!A)break ke;if((0|A)!=8448)break s;switch(r=0,a=130,t-8482|0){case 7:break k;case 0:break A;case 1:case 2:case 3:case 4:case 5:case 6:case 8:case 9:case 10:case 11:break de;case 12:break we;default:break Oe}}if((0|A)==8960)break fe;if((0|A)==9216)break U;if((0|A)!=9472)break s;switch(r=-2147483520,(-2&t)-9632|0){case 0:break A;case 10:break K;default:break se}}if((0|A)<=11007){if((0|A)==9728)break oe;if((0|A)==9984)break v;if(r=-2147483648,(0|A)!=10240)break s;break A}if((0|A)==11008)break ue;if((0|A)==11776)break ce;if((0|A)!=12032)break s;if(r=1048576,t>>>0<12246)break A;switch(r=262144,(-2&t)-12272|0){case 0:break A;case 2:break u;default:break ie}}if((0|A)<=127999){if((0|A)<=127231){if((0|A)==12288)break re;if((0|A)==12800)break ne;if((0|A)!=126976)break s;A=(0|t)==127183,r=0,fe=(t=(0|t)==126980)||A?134:128;break m}if((0|A)==127232)break Ae;if((0|A)==127488)break j;if((0|A)!=127744)break s;if(t>>>0>=127777)break Z;break L}if((0|A)<=128767){if((0|A)==128e3)break F;if((0|A)==128256)break P;if((0|A)!=128512)break s;if((A=t-128581|0)>>>0<11)break bt;break ze}if((0|A)==128768)break Q;if((0|A)==129280)break T;if((0|A)!=129536)break s;fe=128;break o}A=(0|t)==174,r=-2147483648,fe=(t=(0|t)==169)||A?130:0;break m}switch(t-8616|0){case 0:break I;case 1:case 2:break Ie;default:break de}}return fe=0,67108864}return fe=130,-2147483520}if(r=-2147483520,t-8597>>>0<5)break A;if(t-8604>>>0<18)break W;if((A=t-8624|0)>>>0<8)break xt;break Fe}if(t>>>0<8968)break I;if((0|(A=-2&t))==8986)break l;if(t-8972>>>0<20|t-8994>>>0<6)break I;if((0|t)==9e3)break K;if(t-9003>>>0<81)break I;if(r=-2147483648,a=128,(0|t)==9096)break A;if(t-9085>>>0<30)break I;if(r=-2147483520,a=0,(0|A)==9140)break A;switch(t-9143|0){case 0:case 25:break A;case 24:break K}if(t-9140>>>0<40)break I;if((0|t)==9186)break A;if((A=t-9193|0)>>>0<4)break l;switch(r=-2147483648,a=134,t-9200|0){case 0:case 3:break A}if(A>>>0<11)break K;if(a=130,t-9208>>>0<3)break A;if(a=0,t>>>0<=9186)break s;break A}if(r=-2147483648,t-9216>>>0<75||(r=33792,a=130,(0|t)==9410)||(a=0,t-9398>>>0<26))break A;if(r=17408,t-9424>>>0>=26)break s;break A}if(t-9646>>>0<8)break W;if(a=130,(0|t)==9654)break A;if((-4&t)==9660)break W;switch(t-9664|0){case 0:break A;case 6:case 7:case 10:case 11:case 15:case 16:case 17:case 18:case 19:case 34:case 36:break W}return fe=0,t-9703>>>0<6?-2147483520:-2147483648}oe:switch((-16&t)-9728>>>4|0){case 0:if(t>>>0<9733)break K;r=-2147483520,a=128;se:switch(t-9733|0){case 0:break A;case 9:break se;case 1:break W;default:break D}break K;case 2:if((A=t-9760|0)>>>0<11)break Et;if(r=-2147483648,a=130,t>>>0<=9773)break D;break A;case 3:if(r=-2147483648,a=130,t-9784>>>0>=3)break D;break A;case 4:switch(r=-2147483520,a=130,t-9792|0){case 0:case 2:break A}if(r=-2147483648,a=134,t>>>0<=9799)break D;break A;case 5:if(r=-2147483648,a=134,t>>>0<9812)break A;if(a=130,(0|t)!=9823)break D;break A;case 6:if((0|t)==9734)break W;if((0|t)==9824)return fe=130,-2147483520;if(r=-2147483520,a=128,t-9825>>>0<2)break A;if((A=t-9827|0)>>>0<6)break yt;break Ce;case 8:if(r=-2147483648,t>>>0<=9861)break D;break A;case 10:switch(r=-2147483648,a=130,t-9888|0){case 1:break l;case 0:break A}if(a=134,(-2&t)!=9898)break D;break A;case 11:if(r=-2147483648,a=130,(-2&t)==9904)break A;if(a=134,t-9917>>>0>=2)break D;break A;case 12:if((-2&t)==9924)break l;r=-2147483648,a=130;se:switch(t-9928|0){case 0:case 7:break A;case 6:break se;default:break D}break l;case 14:A=(0|t)==9962,r=-2147483648,fe=(t=(0|t)==9961)?130:A?134:128;break m;case 13:break wt;case 9:break kt;case 15:break oe;case 7:break vt;case 1:break Bt;default:break D}if((0|t)==9972|t>>>0<9970)break K;if(r=-2147483648,a=134,t>>>0<9974||(0|t)!=9974&&(a=130,t>>>0<9977))break A;if((t=t-9977|0)>>>0<5)break It;break D}v:{oe:{se:{U:{fe:switch((-16&t)-9984>>>4|0){case 0:if(r=0,a=130,(0|t)==9986||(a=128,t>>>0<9989)||(a=134,(0|t)==9989))break v;switch(a=150,(-2&t)-9994|0){case 0:break v;case 2:break se}if(a=130,t-9992>>>0<6)break v;A=(0|t)==9999,r=0,a=(t=(0|t)==9998)?128:A?130:0;break v;case 1:if(r=0,a=128,t>>>0<10002)break v;if((t=t-10002|0)>>>0>11||(a=130,!(1<<t&2069)))break U;break v;case 2:A=(0|t)==10024,r=0,a=(t=(0|t)==10017)?130:A?134:0;break v;case 4:r=0,a=130;de:switch(t-10052|0){case 0:case 3:break v;case 8:case 10:break de;default:break U}a=134;break v;case 5:if(r=0,a=1073741958,t-10067>>>0<2)break v;a=(t=t-10069&-3)?0:536871046;break v;case 6:if((A=t-10082|0)>>>0<3)break oe;if(r=0,a=128,t>>>0<=10084)break U;break v;case 9:if(r=0,a=134,t-10133>>>0>=3)break U;break v;case 10:if(r=0,a=130,(0|t)!=10145)break U;break v;case 11:A=(0|t)==10175,r=0,a=(t=(0|t)==10160)||A?134:0;break v;case 3:break fe;default:break U}if(r=0,a=130,t-10035>>>0<2)break v}r=0,a=0;break v}a=146;break v}r=e[(t=83992+(A<<3)|0)>>2],a=e[t+4>>2]}return fe=a,-2147483648|r}if(r=-2147483648,a=130,t-11013>>>0<3||(a=134,t-11035>>>0<2))break A;A=(0|t)==11093,r=-2147483648,fe=(t=(0|t)==11088)||A?134:0;break m}if(t-11904>>>0>=26)break _;return fe=0,1048576}if(t-12276>>>0>=8)break s;break A}if((t=t-12306|0)>>>0>14||(r=-2147483648,!(1<<t&16387)))break s;break A}A=0,fe=(t=t-12951&-3)?0:130;break i}if(r=0,a=128,(0|t)==127279)break A;if(t-127280>>>0<26||t-127312>>>0<26)return fe=0,33792;if((A=t-127344|0)>>>0<=15&&(r=33792,a=130,1<<A&49155)||(r=33792,a=0,A>>>0<26))break A;if((0|t)==127374)break L;if(r=0,a=134,t-127377>>>0<10)break A;if(a=102,t>>>0<=127461)break s;break A}r=0,a=134;j:{switch(t-127489|0){case 0:case 25:break A;case 1:break N;
2810case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:break j}switch(t-127535|0){case 0:break A;case 8:break N;default:break j}}if((-2&t)==127568|t-127538>>>0<9)break A;if(a=128,t>>>0<=127583)break s;break A}if((0|t)==127777)break N;if(t-127789>>>0<9|t-127799>>>0<70)break L;if((0|t)==127877)break X;if(t-127870>>>0<22)break L;if(t-127780>>>0<112)break N;switch(r=0,a=130,t-127894|0){case 44:case 45:case 46:case 49:break X;case 0:case 1:case 3:case 4:case 5:break A}if(t-127904>>>0<42)break L;if(a=150,(0|t)==127946||(a=146,t-127947>>>0<2))break A;if(t-127951>>>0<5)break L;if(a=134,t-127968>>>0<17||(a=130,t-127902>>>0<83))break A;if((A=t-127987|0)>>>0<5)break Ct;break Ke}switch(r=0,a=130,t-128063|0){case 0:case 2:break A}if((0|t)==128124|(-5&t)-128129>>>0<3|(0|t)==128110|t-128112>>>0<9||(-2&t)==128066|t-128102>>>0<4|t-128070>>>0<11)break X;switch(t-128253|0){case 1:fe=128;break o;case 0:break N}if(a=150,(0|t)==128170)break A;break L}if(t>>>0<128318)break L;if(r=0,t>>>0<128326)break A;if(t-128329>>>0<2)break N;if(t-128331>>>0<4|t-128336>>>0<24)break L;if(t-128367>>>0<2)break N;if((-2&t)==128372){fe=146;break o}if(t-128371>>>0<7)break N;if(a=150,!(A=t-128378|0))break A;if((0|A)==13|t-128394>>>0<4)break N;if(a=146,(0|t)==128400||(a=150,t-128405>>>0<2))break A;switch(a=134,t-128420|0){case 0:break A;case 1:case 4:case 13:case 14:case 24:case 30:case 31:case 32:case 45:case 46:case 47:case 56:case 57:case 58:case 61:case 63:case 68:case 75:case 79:case 86:break N}t=t>>>0>128506,A=0;break h}if(r=0,a=128,t-128981>>>0>=4)break s;break A}if(t>>>0<129292)break s;if(t-129328>>>0<10)break X;switch(r=0,a=150,t-129304|0){case 35:break s;case 0:case 1:case 2:case 3:case 4:case 6:case 7:case 14:break A}if(t-129341>>>0<2)break X;if(a=0,(0|t)==129350||(a=198,(-4&t)==129456))break A;if((A=t-129461|0)>>>0<5)break mt;break pt}if(r=1048576,t-11931>>>0<89)break A;break s}return fe=0,524288;case 29:return fe=16777216,1073741825;case 28:break A;case 30:break jt;default:break s}return fe=0,(0|t)==32?1073741825:1}if(!(1079>>>A&1))break ge;A=e[(t=81344+(A<<3)|0)>>2];break p}if(557553>>>A&1)break k;if((-4&t)!=8508)break Me;break A}if(!(207>>>A&1))break me;break d}if(r=1024,!(1017>>>A&1))break De;break A}if(r=1024,!(32895>>>A&1))break Ge;break A}if(r=1024,!(55>>>A&1))break _e;break A}if(r=1024,!(3087>>>A&1))break Qe;break A}if((t=t-71453|0)>>>0>=15)break s;A=e[(t=82312+(t<<3)|0)>>2];break p}if(!(49023>>>A&1))break Pe;A=e[(t=82432+(A<<3)|0)>>2];break p}if(!(514623>>>A&1))break J;A=e[(t=82664+(A<<3)|0)>>2];break p}A=e[(t=83160+(A<<3)|0)>>2];break p}if(r=268435520,!(197>>>A&1))break Se;break A}A=e[(t=83208+(A<<3)|0)>>2];break p}if((t=t-6145|0)>>>0>=10)break s;A=e[(t=83296+(t<<3)|0)>>2];break p}if(!(1077711>>>A&1))break te;A=e[(t=83376+(A<<3)|0)>>2];break p}if(!(159>>>A&1))break be;A=e[(t=83544+(A<<3)|0)>>2];break p}if((t=t-121479|0)>>>0>=4)break s;A=e[(t=83608+(t<<3)|0)>>2];break p}if(!(195>>>A&1))break Fe;break W}if((t=t-9745|0)>>>0>=13)break D;A=e[(t=83640+(t<<3)|0)>>2];break p}if(1101>>>A&1)break K;if(r=-2147483648,a=130,t>>>0<=9773)break D;break A}if(!(45>>>A&1))break Ce;A=e[(t=83744+(A<<3)|0)>>2];break p}if((t=t-9851|0)>>>0>=5)break D;A=e[(t=83792+(t<<3)|0)>>2];break p}if((t=t-9874|0)>>>0>=11)break D;A=e[(t=83832+(t<<3)|0)>>2];break p}if((t=t-9937|0)>>>0>=4)break D;A=e[(t=83920+(t<<3)|0)>>2];break p}A=e[(t=83952+(t<<3)|0)>>2];break p}if(!(23>>>A&1))break Ke;A=e[(t=84016+(A<<3)|0)>>2];break p}if(r=0,a=150,!(1991>>>A&1))break ze;break A}if(a=150,27>>>A&1)break A}A=0,fe=(t=t-129489>>>0<13)?150:134;break i}t=t-127992>>>0<3,A=0;break h}if(t-9837>>>0<2)break A}fe=128;break f}if(t-8623>>>0<13)break I;if(t-8636>>>0<18)break W;if((A=t-8656|0)>>>0<22&&(a=0,3157995>>>A&1)||(r=-2147483648,a=0,t-8661>>>0<31))break A;break s}if(t>>>0<128592)break L;if(r=0,a=0,t>>>0<128640)break A;if(!((A=t-128675|0)>>>0>29|!(1<<A&537788417)))break X;if(t>>>0<128710)break L;if(a=150,(0|t)==128716)break A;if(t-128715>>>0<5)break N;if(t-128720>>>0<3)break L;if(!((A=t-128736|0)>>>0>=10|!(575>>>A&1)))break N;if(a=134,t-128747>>>0<2)break A;switch(a=130,t-128752|0){case 0:case 3:break A}t=t-128756>>>0<6,A=0;break h}switch(r=-2147483648,t-8260|0){case 1:case 2:case 3:case 4:case 5:case 
28106:case 7:case 8:case 9:case 10:case 11:case 12:case 13:break s;case 0:case 14:break A}if((0|(t=t-8315|0))!=16&&t)break s;return fe=0,8}if(r=268435520,a=1073741824,(0|t)!=69955)break s;break A}if(t-8266>>>0<8)break I;if(r=-2147483640,(0|t)==8275)break A;if(r=-2147483648,t-8277>>>0>=10)break s;break A}fe=542113792;break f}if(r=-2147483648,a=0,t-65093>>>0<2||(r=64,a=268435456,(0|l)==65104))break A;r=268435520,a=-2147483648;be:switch(t-65106|0){case 3:fe=134217728;break t;case 5:fe=536870912;break a;case 4:break c;case 2:break r;case 0:break A;case 15:case 22:break be;default:break s}break k}if((0|t)==2142)break ae;if(r=64,t-2096>>>0<15)break A;break s}if(r=1024,t-72850>>>0<22)break A;if((t=t-72874|0)>>>0>=13)break s;A=e[(t=82560+(t<<3)|0)>>2];break p}if(r=4096,t-71103>>>0<2)break A;if(r=1024,(-2&t)!=71132)break s;break A}if((0|t)==70726)break g;if(r=4096,(-2&t)!=70850)break s;break A}if(r=4096,t-68325>>>0>=2)break s;break A}if((0|t)==6109)break g;if(r=4096,t-6089>>>0>=11)break s;break A}switch(t-3959|0){case 0:case 2:return fe=0,8389632}if((0|A)==3968|t-3953>>>0<14)break d;if(!((A=t-3970|0)>>>0>=6|!(55>>>A&1)))break g;if(t-3981>>>0<11)break d;if(r=1024,t-3993>>>0<36)break A;if(r=4096,(0|t)!=4038)break s;break A}if(t-3655>>>0<6)break g;if(!((A=t-3761|0)>>>0>11|!(1<<A&3577)))break d;switch(r=1024,t-3661|0){case 1:break g;case 0:break A}if(r=4096,t-3784>>>0<5)break A;if(r=1024,(0|t)!=3789)break s;break A}if(t-1770>>>0<3)break A;if(r=1024,(0|t)!=1773)break s;break A}if((-2&t)==73028)break g;switch(r=1024,t-73104|0){default:if((0|t)!=73031)break s;break A;case 2:case 3:case 4:case 6:break s;case 0:case 1:case 5:break A;case 7:}break g}if((t=t-8492|0)>>>0>=30)break s;A=e[(t=81704+(t<<3)|0)>>2];break p}r=0;break z}a=(A=(-3&t)==43712)>>>20|0,r=A<<12}if((0|(i=-65536&t))==131072)break Re;if((0|i)==65536)break pe;if(A=r,l=a,i)break he}if(t-13312>>>0<6582||t-19968>>>0<20976)break e;if(i=2048,t-63744>>>0<366)return fe=l,2048|A;if(r=A,a=l,t-64112>>>0>=106)break he;break H}if(i=2099200,t-183984>>>0<7473|t-178208>>>0<5762|t-177984>>>0<222|t-131072>>>0<42711||t-173824>>>0<4149||(i=2048,t-194560>>>0<542))break H;break he}if(i=2048,t-110960>>>0<396|t-94208>>>0<6125|t-100352>>>0<755)break H}i=0}return fe=a,r|i}if((-4&t)==8508)break k;if(r=128,!(t-8517>>>0<3)&&(r=16777344,(-2&t)!=8520))break s}fe=a;break m}A=(t=t>>>0>131069)?65536:0,fe=t?0:128;break i}if((0|t)==11776)break I}fe=0;break o}fe=0;break f}return fe=0,4194304}return fe=0,128}return fe=0,16777344}return fe=0,4096}return fe=0,1024}return fe=0,-2147483520}return fe=0,t-10214>>>0<10?-2147483520:-2147483648}fe=0;break a}fe=0;break t}fe=130;break o}fe=130;break f}fe=134;break o}return fe=150,0}fe=0;break i}fe=t?0:a;break i}return fe=A,t}return 131072}return fe=0,16777216}fe=t?0:r;break i}return fe=a,t}return fe=r,t}fe=t?0:A;break m}return fe=0,8192}fe=e[t+4>>2];break i}fe=t?8388608:0;break i}return r}return fe=0,-2147483616}fe=t?134:128}return A}fe=134}return-2147483648}return 0}fe=1073741824;break a}fe=-2147483648}return 268435520}fe=67108864}return 64}return fe=l,2099200|A}function rt(t){var A,r=0,a=0,i=0,l=0,h=0;(A=nA(8244))&&(e[A+328>>2]=2,g[132848]=0,e[A+684>>2]=0,e[A+688>>2]=0,e[A+320>>2]=0,e[A+324>>2]=0,g[A+268|0]=0,g[A+228|0]=0,e[A+8216>>2]=0,e[A+8220>>2]=0,e[A+224>>2]=104944,e[A+216>>2]=383,e[A+220>>2]=96,kA(A+344|0,0,292),e[A+8196>>2]=0,e[(r=A+8188|0)>>2]=0,e[r+4>>2]=0,e[A+8180>>2]=0,e[A+8184>>2]=0,g[A+460|0]=22,g[A+461|0]=129,g[A+466|0]=38,g[A+462|0]=38,g[A+463|0]=36,g[A+464|0]=22,g[A+465|0]=224,g[A+456|0]=22,g[A+457|0]=22,g[A+458|0]=44,g[A+459|0]=22,g[A+454|0]=46,g[A+455|0]=129,g[A+446|0]=22,g[A+447|0]=38,g[A+448|0]=28,g[A+449|0]=193,g[A+450|0]=38,g[A+451|0]=22,g[A+452|0]=46,g[A+453|0]=46,g[A+441|0]=129,g[A+442|0]=38,g[A+443|0]=22,g[A+444|0]=38,g[A+445|0]=193,e[A+332>>2]=104912,e[A+336>>2]=104916,e[A+340>>2]=105232,g[A+296|0]=18,g[A+297|0]=18,v[A+304>>1]=182,v[A+306>>1]=140,g[A+298|0]=20,v[A+308>>1]=220,v[A+310>>1]=220,v[A+312>>1]=220,g[A+299|0]=20,g[A+300|0]=20,v[A+314>>1]=240,g[A+301|0]=22,v[A+316>>1]=260,v[A+318>>1]=280,g[A+302|0]=22,g[A+303|0]=20,r=kA(A,0,212),e[r+200>>2]=20,e[r+192>>2]=25966,e[r+196>>2]=500,e[r+80>>2]=95,e[r+16>>2]=1,e[r+20>>2]=3,e[r+8>>2]=2,e[r+52>>2]=19,g[r+168|0]=3,e[r+92>>2]=2,e[r+72>>2]=4,e[r+40>>2]=115,e[r+44>>2]=95,e[r+140>>2]=105244,Po(r,201),e[r+120>>2]=2,e[r+124>>2]=44,e[r+164>>2]=100,e[r+128>>2]=46,e[r+132>>2]=14,e[r+112>>2]=1227133512,e[r+116>>2]=49,e[r+104>>2]=1,a=e[26313],e[r+636>>2]=e[26312],e[r+640>>2]=a,a=e[26315],e[r+644>>2]=e[26314],e[r+648>>
vendor: 1,378 bytes, line 2810
28102]=a,a=e[26317],e[r+652>>2]=e[26316],e[r+656>>2]=a,a=e[26319],e[r+660>>2]=e[26318],e[r+664>>2]=a,a=e[26321],e[r+668>>2]=e[26320],e[r+672>>2]=a,a=e[26323],e[r+676>>2]=e[26322],e[r+680>>2]=a,a=d[104928]|d[104929]<<8,g[r+160|0]=a,g[r+161|0]=a>>>8,a=d[104924]|d[104925]<<8|d[104926]<<16|d[104927]<<24,g[r+156|0]=a,g[r+157|0]=a>>>8,g[r+158|0]=a>>>16,g[r+159|0]=a>>>24),i=BA(A+228|0,t),r=0;e:{t:if(a=d[0|t]){for(;r=(a<<24>>24)+(r<<8)|0,a=d[0|(t=t+1|0)];);r:{a:{n:{c:{o:{f:{l:{i:{h:{b:{m:{C:{p:{x:{w:{B:{O:{Y:{R:{M:{y:{G:{S:{X:{L:{K:{N:{ae:{V:{Be:{W:{d:{g:{$:{k:{ee:{I:{s:{Ye:{q:{A:{ge:{H:{he:{pe:{Re:{le:{z:{xe:{E:{Me:{J:{me:{De:{je:{Ge:{_e:{Te:{Qe:{Pe:{Se:{be:{We:{te:{Ne:{Ue:{ze:{Fe:{D:{Ce:{if((0|r)<=28008){if((0|r)<=26464){if((0|r)<=25696){switch(r-24934|0){case 20:break i;case 1:case 2:case 3:case 4:case 5:case 6:case 9:case 10:case 11:case 14:case 15:case 16:case 17:case 18:case 19:break t;case 8:break J;case 12:break Se;case 7:break be;case 0:break We;case 13:break Ce}switch(r-25189|0){case 1:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 11:case 12:case 13:break t;case 14:break ge;case 2:break Qe;case 0:break Pe;case 9:break Ce}switch(r-25441|0){case 18:break B;case 0:break J;case 24:break _e;default:break t}}switch(r-25964|0){case 1:case 4:case 5:case 6:break t;case 8:break xe;case 9:break Me;case 7:break J;case 3:break me;case 2:break De;case 0:break Fe}
2810switch(r-26209|0){case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:break t;case 17:break le;case 8:break z;case 0:break E}switch(r-25697|0){case 4:break je;case 0:break Ge;default:break t}}if((0|r)<=27488){switch(r-26729|0){case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 13:case 14:case 15:break t;case 16:break Ye;case 12:break q;case 11:break A;case 9:break ge;case 0:break H}switch(r-26977|0){case 1:case 2:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 15:case 16:case 17:break t;case 19:break k;case 18:break ee;case 3:break I;case 14:break s;case 0:break J}switch(r-26465|0){case 20:break H;case 13:break he;case 0:case 3:break pe;default:break t}}switch(r-27489|0){case 13:break h;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 12:case 15:case 16:case 17:case 18:case 19:case 21:case 22:case 23:break t;case 24:break ae;case 20:break V;case 14:break Be;case 11:break W;case 10:break d;case 0:break g}switch(r-27745|0){case 19:break K;case 0:break N;case 21:break Ue;default:break t}}if((0|r)<=29792){if((0|r)<=28768){switch(r-28009|0){case 3:break h;case 11:break X;case 2:break L;case 1:case 4:case 5:case 6:case 7:case 8:case 12:case 13:case 14:case 15:break t;case 10:break I;case 9:break H;case 0:case 16:break te}switch(r-28258|0){case 0:break G;case 10:break S;case 1:case 2:case 4:case 5:case 6:case 7:case 8:case 9:break t;case 3:break H}switch(r-28525|0){case 0:break y;case 5:break H;default:break t}}if((0|r)<=29539){switch(r-28769|0){case 19:break R;case 11:break M;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 20:case 21:case 22:case 23:break t;case 0:break H;case 24:break te}switch(r-29295|0){case 6:break O;case 0:break Y;case 1:case 2:case 3:case 4:case 5:break t}if((0|r)==29045)break te;break t}switch(r-29540|0){case 19:break b;case 18:break m;case 13:break C;case 8:break x;case 5:break w;case 7:break B;case 14:break ge;case 0:break o;default:break t}}if((0|r)>6514801)break D;if((0|r)<=30058)switch(r-29793|0){case 19:break l;case 17:break i;case 0:case 4:break h;case 13:break b;case 7:break te;default:break t}if((0|r)<=30312)switch(r-30059|0){case 0:break f;case 15:break te;case 7:break o;default:break t}if((0|r)==30313)break c;if((0|r)==31336)break n;if((0|r)!=6451321)break t}if(e[A+296>>2]=303174162,e[A+300>>2]=370545684,e[A+600>>2]=2432,e[A+8>>2]=0,e[A+12>>2]=65540,e[A+100>>2]=e[A+96>>2],t=e[25889],e[A+304>>2]=e[25888],e[A+308>>2]=t,t=e[25891],e[A+312>>2]=e[25890],e[A+316>>2]=t,Da(A),g[A+345|0]=2|d[A+345|0],g[A+406|0]=16|d[A+406|0],g[A+407|0]=16|d[A+407|0],g[A+408|0]=16|d[A+408|0],g[A+409|0]=16|d[A+409|0],g[A+410|0]=16|d[A+410|0],g[A+411|0]=16|d[A+411|0],g[A+412|0]=16|d[A+412|0],g[A+413|0]=16|d[A+413|0],g[A+414|0]=16|d[A+414|0],g[A+415|0]=16|d[A+415|0],g[A+416|0]=16|d[A+416|0],g[A+417|0]=16|d[A+417|0],g[A+418|0]=16|d[A+418|0],g[A+419|0]=16|d[A+419|0],g[A+420|0]=16|d[A+420|0],g[A+456|0]=4|d[A+456|0],g[A+457|0]=4|d[A+457|0],e[A+112>>2]=613567144,e[A+104>>2]=16,(0|r)!=6451321)break e;e[A+104>>2]=1,e[A+108>>2]=512,r=6451321;break e}if((0|r)>7364975)break Ne;if((0|r)>6840682)break ze;if((0|r)==6514802)break Te;if((0|r)==6516078)break n;if((0|r)!=6779491)break t}if(e[A+600>>2]=896,e[A+328>>2]=8,e[A+296>>2]=336858127,e[A+300>>2]=353768980,e[A+332>>2]=103632,t=e[25905],e[A+304>>2]=e[25904],e[A+308>>2]=t,t=e[25907],e[A+312>>2]=e[25906],e[A+316>>2]=t,kA(A+344|0,0,256),g[A+388|0]=129,g[A+389|0]=129,g[A+390|0]=129,g[A+391|0]=129,g[A+420|0]=129,g[A+421|0]=129,g[A+422|0]=129,g[A+423|0]=129,g[A+360|0]=129,g[A+392|0]=129,g[A+393|0]=129,g[A+417|0]=129,g[A+418|0]=129,g[A+419|0]=129,g[A+420|0]=129,g[A+408|0]=6,g[A+409|0]=4,g[A+410|0]=6,g[A+411|0]=6,g[A+412|0]=6,g[A+413|0]=193,g[A+414|0]=6,g[A+415|0]=6,g[A+406|0]=6,g[A+407|0]=129,g[A+398|0]=4,g[A+399|0]=193,g[A+400|0]=6,g[A+401|0]=193,g[A+402|0]=6,g[A+403|0]=4,g[A+404|0]=4,g[A+405|0]=4,g[A+394|0]=4,g[A+395|0]=4,g[A+396|0]=4,g[A+397|0]=193,e[A+44>>2]=130,e[A+8>>2]=2,e[A+12>>2]=6,e[A+16>>2]=0,e[A+20>>2]=2,e[A+104>>2]=264,e[A+108>>2]=6146,g[A+391|0]=193,g[A+389|0]=193,g[A+390|0]=193,g[A+421|0]=193,e[A+100>>2]=e[A+96>>2],g[A+416|0]=4|d[A+416|0],(0|r)!=6779491)break e;e[A+40>>2]=1,r=6779491;break e}if((0|r)==6840683)break Re;if((0|r)==6972015)break $;if((0|r)!=7107687)break t}e[A+296>>2]=134875662,e[A+300>>
vendor: 4,489 bytes, line 2810
28102]=252968960,e[A+328>>2]=5,g[A+169|0]=1,e[A+132>>2]=33,e[A+104>>2]=99336,e[A+8>>2]=0,e[A+12>>2]=262182,t=e[26069],e[A+304>>2]=e[26068],e[A+308>>2]=t,t=e[26071],e[A+312>>2]=e[26070],e[A+316>>2]=t;break e}if((0|r)<=7564649){if((0|r)==7364976)break J;if((0|r)==7435619)break te;if((0|r)!=7563374)break t;e[A+148>>2]=1,e[A+112>>2]=24,e[A+104>>2]=1,e[A+100>>2]=e[A+96>>2],r=7563374;break e}if((0|r)==7564650)break p;if((0|r)==7959909)break n;if((0|r)!=1885958500)break t}e[A+104>>2]=0;break e}e[A+4>>2]=48,e[A+8>>2]=0,e[A+144>>2]=1,e[A+104>>2]=16779472,e[A+32>>2]=1,e[A+24>>2]=1,t=e[25881],e[A+304>>2]=e[25880],e[A+308>>2]=t,t=e[25883],e[A+312>>2]=e[25882],e[A+316>>2]=t,g[A+465|0]=64&d[A+465|0]|129,r=24934;break e}e[A+600>>2]=4608,e[A+296>>2]=303173650,e[A+300>>2]=303174162,e[A+8>>2]=0,e[A+12>>2]=36,e[A+104>>2]=1024,e[A+100>>2]=e[A+96>>2],e[A+40>>2]=1,t=e[25865],e[A+304>>2]=e[25864],e[A+308>>2]=t,t=e[25867],e[A+312>>2]=e[25866],e[A+316>>2]=t,r=24941;break e}for(e[A+600>>2]=1536,e[A+224>>2]=0,e[A+216>>2]=1631,e[A+220>>2]=1536,e[A+104>>2]=2884720,e[A+328>>2]=7,e[A+40>>2]=1,oe=r=oe-16|0,e[r+12>>2]=-1,t=89684;i=ur(r+12|0,t),(0|(a=e[r+12>>2]))>=33&&(g[0|(l=(A+a|0)-1192|0)]=1|d[0|l]),t=t+i|0,a;);for(e[r+12>>2]=-1,t=89743;i=ur(r+12|0,t),(0|(a=e[r+12>>2]))>=33&&(g[0|(l=(A+a|0)-1192|0)]=2|d[0|l]),t=t+i|0,a;);for(e[r+12>>2]=-1,t=89795;i=ur(r+12|0,t),(0|(a=e[r+12>>2]))>=33&&(g[0|(l=(A+a|0)-1192|0)]=4|d[0|l]),t=t+i|0,a;);for(e[r+12>>2]=-1,t=89941;i=ur(r+12|0,t),(0|(a=e[r+12>>2]))>=33&&(g[0|(l=(A+a|0)-1192|0)]=16|d[0|l]),t=t+i|0,a;);for(e[r+12>>2]=-1,t=90045;i=ur(r+12|0,t),(0|(a=e[r+12>>2]))>=33&&(g[0|(l=(A+a|0)-1192|0)]=32|d[0|l]),t=t+i|0,a;);for(e[r+12>>2]=-1,t=90045;i=ur(r+12|0,t),(0|(a=e[r+12>>2]))>=33&&(g[0|(l=(A+a|0)-1192|0)]=8|d[0|l]),t=t+i|0,a;);for(e[r+12>>2]=-1,t=90045;i=ur(r+12|0,t),(0|(a=e[r+12>>2]))>=33&&(g[0|(l=(A+a|0)-1192|0)]=64|d[0|l]),t=t+i|0,a;);oe=r+16|0,r=24946;break e}e[A+600>>2]=1056,e[A+12>>2]=34,e[A+216>>2]=1118,e[A+220>>2]=1072,kA(A+344|0,0,256),g[A+406|0]=4,g[A+366|0]=4,g[A+367|0]=4,g[A+369|0]=4,g[A+370|0]=4,g[A+371|0]=4,g[A+372|0]=4,g[A+361|0]=4,g[A+362|0]=4,g[A+363|0]=4,g[A+364|0]=4,g[A+373|0]=4,g[A+380|0]=4,g[A+381|0]=4,g[A+382|0]=4,g[A+383|0]=4,g[A+375|0]=4,g[A+376|0]=4,g[A+377|0]=4,g[A+378|0]=4,g[A+384|0]=4,g[A+360|0]=129,e[A+328>>2]=6,e[A+296>>2]=134744588,e[A+300>>2]=286261248,e[A+40>>2]=1,e[A+8>>2]=0,e[A+104>>2]=1032,e[A+108>>2]=66,t=e[25885],e[A+304>>2]=e[25884],e[A+308>>2]=t,t=e[25887],e[A+312>>2]=e[25886],e[A+316>>2]=t,r=25189;break e}Va(A),e[A+328>>2]=6,e[A+56>>2]=2,e[A+36>>2]=263,e[A+40>>2]=1074,e[A+124>>2]=32,e[A+104>>2]=184554728,e[A+8>>2]=2,g[A+386|0]=64&d[A+386|0]|129,r=25191;break e}e[A+12>>2]=262182,e[A+40>>2]=1,r=6514802;break e}e[A+328>>2]=14,e[A+296>>2]=303173393,e[A+300>>2]=336986112,e[A+104>>2]=1024,e[A+16>>2]=0,e[A+20>>2]=2,e[A+8>>2]=2,e[A+12>>2]=22,e[A+44>>2]=120,t=e[25893],e[A+304>>2]=e[25892],e[A+308>>2]=t,t=e[25895],e[A+312>>2]=e[25894],e[A+316>>2]=t,g[A+463|0]=64&d[A+463|0]|129,g[A+465|0]=64&d[A+465|0]|129,r=25465;break e}e[A+8>>2]=0,e[A+104>>2]=184618072,e[A+32>>2]=1,t=e[26101],e[A+304>>2]=e[26100],e[A+308>>2]=t,t=e[26103],e[A+312>>2]=e[26102],e[A+316>>2]=t,g[A+465|0]=64&d[A+465|0]|129,r=25697;break e}e[A+296>>2]=336860180,e[A+300>>2]=336991764,e[A+8>>2]=0,e[A+104>>2]=16846872,e[A>>2]=8,e[A+4>>2]=48,e[A+80>>2]=87,e[A+32>>2]=1,e[A+36>>2]=256,e[A+40>>2]=2,t=e[25897],e[A+304>>2]=e[25896],e[A+308>>2]=t,t=e[25899],e[A+312>>2]=e[25898],e[A+316>>2]=t,g[A+465|0]=64&d[A+465|0]|129,r=25701;break e}e[A+132>>2]=33,e[A+104>>2]=16779328,e[A+8>>2]=0,e[A+12>>2]=8,e[A+204>>2]=101,e[A+60>>2]=2,e[A+40>>2]=2,t=e[25901],e[A+304>>2]=e[25900],e[A+308>>2]=t,t=e[25903],e[A+312>>2]=e[25902],e[A+316>>2]=t,g[A+441|0]=64|d[A+441|0],g[A+445|0]=64|d[A+445|0],g[A+449|0]=64|d[A+449|0],g[A+455|0]=64|d[A+455|0],g[A+461|0]=64|d[A+461|0],g[A+465|0]=64|d[A+465|0],r=25966;break e}e[A+328>>2]=4,e[A+296>>2]=336858640,e[A+300>>2]=353768980,e[A+104>>2]=16782344,e[A+20>>2]=2,e[A+12>>2]=22,e[A+4>>2]=2,e[A+8>>2]=2,e[A+332>>2]=103640,t=e[25997],e[A+304>>2]=e[25996],e[A+308>>2]=t,t=e[25999],e[A+312>>2]=e[25998],e[A+316>>2]=t,r=25967;break e}e[A+296>>2]=269422096,e[A+300>>2]=370545684,e[A+104>>2]=86017320,e[A+108>>2]=6144,e[A+16>>2]=0,e[A+20>>2]=2,e[A+8>>2]=2,e[A+12>>2]=534,e[A+100>>2]=e[A+96>>2],e[A+44>>2]=120,t=e[25913],e[A+304>>2]=e[25912],e[A+308>>2]=t,t=e[25915],e[A+312>>2]=e[25914],e[A+316>>2]=t;J:{me:{if((0|r)<=26976){if((0|r)==24942)break me;if((0|r)!=25441)break J;e[A+12>>2]=566,e[A+336>>2]=103664,r=25441;break e}
2810if((0|r)!=26977){if((0|r)!=7364976)break J;e[A+8>>2]=3,e[A+12>>2]=310,r=7364976;break e}e[A+104>>2]=85984264,r=26977;break e}e[A+104>>2]=153093416,e[A+108>>2]=2048,e[A+140>>2]=103676,r=24942;break e}e[A+40>>2]=2;break e}e[A+296>>2]=303173648,e[A+300>>2]=303174162,e[A+104>>2]=3147080,e[A+12>>2]=65792,e[A+84>>2]=1,t=e[25921],e[A+304>>2]=e[25920],e[A+308>>2]=t,t=e[25923],e[A+312>>2]=e[25922],e[A+316>>2]=t,r=25973;break e}e[A+600>>2]=1536,e[A+216>>2]=1740,e[A+220>>2]=1568,e[A+104>>2]=96,e[A+224>>2]=103696,e[A+340>>2]=103872,e[A+40>>2]=1,r=26209;break e}e[A+328>>2]=5}e[A+104>>2]=86024,e[A+164>>2]=130,g[A+465|0]=64&d[A+465|0]|129;break e}e[A+296>>2]=303173650,e[A+300>>2]=303174162,e[A+8>>2]=3,e[A+12>>2]=36,e[A+144>>2]=2,e[A+104>>2]=118658312,e[A+28>>2]=1,e[A+100>>2]=e[A+96>>2],t=e[25865],e[A+304>>2]=e[25864],e[A+308>>2]=t,t=e[25867],e[A+312>>2]=e[25866],e[A+316>>2]=t,g[A+465|0]=64&d[A+465|0]|129,r=26226;break e}v[A+170>>1]=257,e[A+148>>2]=1,e[A+12>>2]=2,r=6840683;break e}e[A+144>>2]=2,e[A+104>>2]=2098176,e[A+8>>2]=0,e[A+12>>2]=32,e[A+40>>2]=3,e[A+28>>2]=1;break e}e[A+8>>2]=3,e[A+100>>2]=e[A+96>>2],r=26478;break e}e[A+328>>2]=18,e[A+296>>2]=320081425,e[A+300>>2]=353768980,e[A+600>>2]=2304,e[A+112>>2]=84648,e[A+104>>2]=16,e[A+8>>2]=6,e[A+12>>2]=65540,e[A+100>>2]=e[A+96>>2],t=e[25973],e[A+304>>2]=e[25972],e[A+308>>2]=t,t=e[25975],e[A+312>>2]=e[25974],e[A+316>>2]=t;H:{he:{pe:{if((0|r)<=28529){if((0|r)==26485)break pe;if((0|r)!=28261)break H;t=e[25861],e[A+304>>2]=e[25860],e[A+308>>2]=t,t=e[25863],e[A+312>>2]=e[25862],e[A+316>>2]=t,e[A+296>>2]=320017171,e[A+300>>2]=320017171,e[A+132>>2]=22,e[A+112>>2]=-1431655768,e[A+108>>2]=32768|e[A+108>>2],Da(A);break e}if((0|r)==28530)break he;if((0|r)!=28769)break H;e[A+600>>2]=2560,Da(A);break e}t=e[25861],e[A+304>>2]=e[25860],e[A+308>>2]=t,t=e[25863],e[A+312>>2]=e[25862],e[A+316>>2]=t,e[A+600>>2]=2688,e[A+296>>2]=320017171,e[A+300>>2]=320017171,e[A+8>>2]=2,Da(A);break e}e[A+600>>2]=2816}Da(A);break e}g[0|i]=104,g[i+1|0]=98,g[i+2|0]=115,g[i+3|0]=0,(0|r)!=29554?(t=e[26093],e[A+304>>2]=e[26092],e[A+308>>2]=t,t=e[26095],e[A+312>>2]=e[26094],e[A+316>>2]=t):(t=e[25977],e[A+304>>2]=e[25976],e[A+308>>2]=t,t=e[25979],e[A+312>>2]=e[25978],e[A+316>>2]=t),e[A+328>>2]=3,e[A+296>>2]=336859409,e[A+300>>2]=353768980,v[A+168>>1]=261,e[A+8>>2]=0,e[A+12>>2]=16,e[A+144>>2]=1,e[A+184>>2]=1056,e[A+104>>2]=33572172,e[A+108>>2]=330,e[A+36>>2]=3,g[A+465|0]=64&d[A+465|0]|129,g[A+458|0]=64&d[A+458|0]|129;break e}e[A+104>>2]=17990912,e[A+8>>2]=3,e[A+12>>2]=36,r=26740;break e}e[A+328>>2]=3,e[A+296>>2]=320016657,e[A+300>>2]=353768980,e[A+124>>2]=32,e[A+128>>2]=44,e[A+104>>2]=186758144,e[A+12>>2]=1081398,e[A+16>>2]=2,e[A+4>>2]=32,e[A+8>>2]=0,e[A+116>>2]=899,e[A+120>>2]=1,g[A+169|0]=1,e[A+76>>2]=2,t=e[25981],e[A+304>>2]=e[25980],e[A+308>>2]=t,t=e[25983],e[A+312>>2]=e[25982],e[A+316>>2]=t,g[A+465|0]=64&d[A+465|0]|129,Po(A,3),r=26741;break e}for(e[A+600>>2]=1328,e[A+8>>2]=3,t=e[25985],e[A+304>>2]=e[25984],e[A+308>>2]=t,t=e[25987],e[A+312>>2]=e[25986],e[A+316>>2]=t,i=kA(A+344|0,0,256),g[A+429|0]=129,g[A+416|0]=129,g[A+403|0]=129,g[A+399|0]=129,g[A+400|0]=129,g[A+397|0]=129,g[A+393|0]=129,a=103952,l=50,h=50;g[0|(t=i+h|0)]=2|d[0|t],t=i+d[a+1|0]|0,g[0|t]=2|d[0|t],t=i+d[a+2|0]|0,g[0|t]=2|d[0|t],h=d[0|(a=a+3|0)],t=103952,(0|a)!=103982;);for(a=A+344|0;g[0|(i=a+l|0)]=4|d[0|i],i=a+d[t+1|0]|0,g[0|i]=4|d[0|i],i=a+d[t+2|0]|0,g[0|i]=4|d[0|i],l=d[0|(t=t+3|0)],(0|t)!=103982;);g[A+168|0]=6,e[A+104>>2]=5128,g[A+413|0]=4|d[A+413|0];break e}e[A+328>>2]=4,e[A+296>>2]=336858640,e[A+300>>2]=353768980,e[A+104>>2]=16782440,e[A+20>>2]=2,e[A+12>>2]=22,e[A+4>>2]=2,e[A+8>>2]=2,e[A+332>>2]=104e3,t=e[25997],e[A+304>>2]=e[25996],e[A+308>>2]=t,t=e[25999],e[A+312>>2]=e[25998],e[A+316>>2]=t,r=26991;break e}e[A+296>>2]=303174160,e[A+300>>2]=353768980,e[A+104>>2]=16781320,e[A+144>>2]=2,e[A+8>>2]=2,e[A+12>>2]=22,t=e[26005],e[A+304>>2]=e[26004],e[A+308>>2]=t,t=e[26007],e[A+312>>2]=e[26006],e[A+316>>2]=t;break e}for(e[A+8>>2]=0,e[A+12>>2]=16,e[A+56>>2]=2,e[A+28>>2]=17,t=e[26009],e[A+304>>2]=e[26008],e[A+308>>2]=t,t=e[26011],e[A+312>>2]=e[26010],e[A+316>>2]=t,t=0,a=A+344|0;g[0|(i=t+a|0)]=231&d[0|i],g[0|(i=a+(1|t)|0)]=231&d[0|i],g[0|(i=a+(2|t)|0)]=231&d[0|i],g[0|(i=a+(3|t)|0)]=231&d[0|i],(0|(t=t+4|0))!=256;);e[A+104>>2]=2280,e[A+108>>2]=2,e[A+608>>2]=104048,g[A+451|0]=16|d[A+451|0],g[A+456|0]=16|d[A+456|0],g[A+459|0]=16|d[A+459|0],g[A+460|0]=16|d[A+460|0],g[A+450|0]=8|d[A+450|0],g[A+462|0]=8|d[A+462|0],g[A+458|0]=8|d[A+458|
vendor: 6,406 bytes, line 2810
28100],g[A+465|0]=64&d[A+465|0]|129;break e}e[A+296>>2]=269618961,e[A+300>>2]=370546196,e[A+12>>2]=131110,e[A+144>>2]=2,e[A+104>>2]=184559112,e[A+108>>2]=8192,e[A+16>>2]=0,e[A+20>>2]=2,e[A+4>>2]=1,e[A+8>>2]=2,e[A+100>>2]=e[A+96>>2],e[A+140>>2]=103676,e[A+68>>2]=2,e[A+56>>2]=1,e[A+44>>2]=130,e[A+28>>2]=2,t=e[26025],e[A+304>>2]=e[26024],e[A+308>>2]=t,t=e[26027],e[A+312>>2]=e[26026],e[A+316>>2]=t,g[A+465|0]=64&d[A+465|0]|129,r=26996;break e}e[A+4>>2]=524,e[A+8>>2]=2,e[A+196>>2]=368,e[A+104>>2]=0,e[A+336>>2]=104128,e[A- -64>>2]=1,t=e[26029],e[A+304>>2]=e[26028],e[A+308>>2]=t,t=e[26031],e[A+312>>2]=e[26030],e[A+316>>2]=t,g[A+465|0]=64&d[A+465|0]|129,r=6972015;break e}for(e[A+296>>2]=303174162,e[A+300>>2]=370545684,t=e[25873],e[A+304>>2]=e[25872],e[A+308>>2]=t,t=e[25875],e[A+312>>2]=e[25874],e[A+316>>2]=t,i=kA(A+344|0,0,256),g[A+431|0]=1,g[A+429|0]=1,g[A+411|0]=1,g[A+405|0]=1,g[A+400|0]=1,g[A+396|0]=1,g[A+392|0]=1,t=104160,a=49;g[0|(a=a+i|0)]=4|d[0|a],a=i+d[t+1|0]|0,g[0|a]=4|d[0|a],a=i+d[t+2|0]|0,g[0|a]=4|d[0|a],a=d[0|(t=t+3|0)],(0|t)!=104193;);e[A+600>>2]=4256,e[A+8>>2]=0,e[A+12>>2]=16,g[A+168|0]=7,e[A+132>>2]=32,g[A+392|0]=128|d[A+392|0],g[A+396|0]=128|d[A+396|0],g[A+400|0]=128|d[A+400|0],g[A+405|0]=128|d[A+405|0],g[A+411|0]=128|d[A+411|0],g[A+429|0]=128|d[A+429|0],g[A+431|0]=128|d[A+431|0],e[A+188>>2]=1056,e[A+192>>2]=29301,e[A+104>>2]=19964960;break e}for(e[A+600>>2]=1056,i=kA(A+344|0,0,256),g[A+393|0]=1,g[A+365|0]=1,g[A+360|0]=1,g[A+545|0]=1,g[A+529|0]=1,g[A+391|0]=1,g[A+389|0]=1,g[A+390|0]=1,g[A+387|0]=1,g[A+379|0]=1,g[A+374|0]=1,g[A+368|0]=1,g[A+489|0]=1,g[A+487|0]=1,g[A+398|0]=1,t=104224,a=17;g[0|(a=a+i|0)]=4|d[0|a],a=i+d[t+1|0]|0,g[0|a]=4|d[0|a],a=i+d[t+2|0]|0,g[0|a]=4|d[0|a],a=d[0|(t=t+3|0)],(0|t)!=104251;);g[A+360|0]=128|d[A+360|0],g[A+365|0]=128|d[A+365|0],g[A+393|0]=128|d[A+393|0],g[A+368|0]=128|d[A+368|0],g[A+374|0]=128|d[A+374|0],g[A+379|0]=128|d[A+379|0],g[A+387|0]=128|d[A+387|0],g[A+389|0]=128|d[A+389|0],g[A+390|0]=128|d[A+390|0],g[A+391|0]=128|d[A+391|0],g[A+529|0]=128|d[A+529|0],g[A+545|0]=128|d[A+545|0],g[A+489|0]=128|d[A+489|0],g[A+487|0]=128|d[A+487|0],g[A+398|0]=128|d[A+398|0],t=e[26055],e[A+312>>2]=e[26054],e[A+316>>2]=t,t=e[26053],e[A+304>>2]=e[26052],e[A+308>>2]=t,e[A+296>>2]=353636370,e[A+300>>2]=336925972,e[A+200>>2]=0,e[A+8>>2]=7,e[A+12>>2]=2097184,g[A+168|0]=2,e[A+104>>2]=50176,e[A+84>>2]=1,Po(A,3);break e}e[A+296>>2]=320017171,e[A+300>>2]=320017171,e[A+104>>2]=184618072,e[A+8>>2]=12,e[A+12>>2]=32,t=e[25861],e[A+304>>2]=e[25860],e[A+308>>2]=t,t=e[25863],e[A+312>>2]=e[25862],e[A+316>>2]=t,r=27500;break e}e[A+184>>2]=42752,e[A+600>>2]=4352,kA(A+344|0,0,256),g[A+456|0]=1,g[A+457|0]=1,g[A+458|0]=1,g[A+459|0]=1,g[A+449|0]=1,g[A+450|0]=1,g[A+451|0]=1,g[A+452|0]=1,g[A+453|0]=1,g[A+454|0]=1,g[A+455|0]=1,g[A+456|0]=1,g[A+441|0]=1,g[A+442|0]=1,g[A+443|0]=1,g[A+444|0]=1,g[A+445|0]=1,g[A+446|0]=1,g[A+447|0]=1,g[A+448|0]=1,g[A+460|0]=65,g[A+461|0]=65,g[A+532|0]=32,g[A+527|0]=32,g[A+519|0]=32,g[A+515|0]=32,g[A+349|0]=32,g[A+350|0]=32,g[A+346|0]=32,e[A+132>>2]=20,e[A+112>>2]=286331152,e[A+104>>2]=1024,e[A+108>>2]=16384,e[A+40>>2]=1,e[A+8>>2]=8,g[A+458|0]=65,g[A+453|0]=65,g[A+447|0]=65,g[A+448|0]=65,g[A+443|0]=65,g[A+444|0]=65,r=27503;break e}e[A+328>>2]=10,e[A+296>>2]=336859666,e[A+300>>2]=353768980,g[A+168|0]=2,e[A+104>>2]=263264,e[A+8>>2]=7,t=e[26065],e[A+304>>2]=e[26064],e[A+308>>2]=t,t=e[26067],e[A+312>>2]=e[26066],e[A+316>>2]=t,r=27509;break e}e[A+104>>2]=1,r=27513;break e}e[A+116>>2]=5e3,e[A+104>>2]=16777216,e[A+24>>2]=1,e[A+16>>2]=0,e[A+20>>2]=2,e[A+8>>2]=2,e[A+12>>2]=32,e[A+328>>2]=5,r=27745;break e}e[A+116>>2]=5e3,e[A+104>>2]=99336,e[A+108>>2]=256,e[A+24>>2]=1,e[A+16>>2]=0,e[A+20>>2]=2,e[A+8>>2]=2,e[A+12>>2]=32,e[A+328>>2]=5,r=27764;break e}e[A+328>>2]=6,e[A+296>>2]=336859409,e[A+300>>2]=353768980,e[A+600>>2]=1056,e[A+104>>2]=2114600,e[A+108>>2]=138,e[A+8>>2]=4,e[A+632>>2]=104288,e[A+604>>2]=104288,t=e[26093],e[A+304>>2]=e[26092],e[A+308>>2]=t,t=e[26095],e[A+312>>2]=e[26094],e[A+316>>2]=t,r=28011;break e}e[A+328>>2]=4,e[A+104>>2]=1,e[A+8>>2]=2,e[A+36>>2]=256,r=28020;break e}e[A+4>>2]=48,e[A+8>>2]=0,e[A+12>>2]=128,e[A+104>>2]=2169880,e[A+32>>2]=1,e[A+36>>2]=256,e[A+24>>2]=1,e[A+136>>2]=85767,t=e[26097],e[A+304>>2]=e[26096],e[A+308>>2]=t,t=e[26099],e[A+312>>2]=e[26098],e[A+316>>2]=t,g[A+465|0]=64&d[A+465|0]|129,r=28268;break e}e[A+8>>2]=0,e[A+104>>2]=71752,t=e[26101],e[A+304>>2]=e[26100],e[A+308>>2]=t,t=e[26103],e[A+312>>2]=e[26102],e[A+316>>2]=t,g[A+465|0]=64&d[A+465|0]|129,r=28258;break e}e[A+296>>2]=336858898,e[A+300>>2]=370546196,e[A+104>>2]=1088,e[A+108>>2]=512,e[A+8>>2]=2,e[A+12>>2]=524310,t=e[26105],e[A+304>>2]=e[26104],e[A+308>>2]=t,t=e[26107],e[A+312>>2]=e[26106],e[A+316>>2]=t,r=28525;break e}e[A+328>>2]=3,e[A+296>>2]=320015633,e[A+300>>2]=353768980,g[A+168|0]=7,e[A+8>>2]=2,e[A+12>>2]=6,e[A+104>>2]=20488,e[A+108>>2]=192,e[A+36>>2]=9,e[A+60>>2]=260,t=e[26109],e[A+304>>2]=e[26108],e[A+308>>2]=t,t=e[26111],e[A+312>>2]=e[26110],e[A+316>>2]=t,g[A+465|0]=64&d[A+465|0]|129,r=28780;break e}for(e[A+296>>2]=353569552,e[A+300>>2]=353768980,e[A+116>>2]=5e3,e[A+104>>2]=33570920,e[A+108>>2]=14336,e[A+8>>2]=3,e[A+12>>2]=139286,e[A+100>>2]=e[A+96>>2],t=e[26113],e[A+304>>2]=e[26112],e[A+308>>2]=t,t=e[26115],e[A+312>>2]=e[26114],e[A+316>>2]=t,g[A+465|0]=64&d[A+465|0]|129,t=0,a=A+344|0;g[0|(i=t+a|0)]=253&d[0|i],g[0|(i=a+(1|t)|0)]=253&d[0|i],g[0|(i=a+(2|t)|0)]=253&d[0|i],g[0|(i=a+(3|t)|0)]=253&d[0|i],(0|(t=t+4|0))!=256;);g[A+442|0]=2|d[A+442|0],g[A+443|0]=2|d[A+443|0],g[A+444|0]=2|d[A+444|0],g[A+446|0]=2|d[A+446|0],g[A+447|0]=2|d[A+447|0],g[A+450|0]=2|d[A+450|0],g[A+451|0]=2|d[A+451|0],g[A+453|0]=2|d[A+453|0],g[A+454|0]=2|d[A+454|0],g[A+456|0]=2|d[A+456|0],g[A+457|0]=2|d[A+457|0],g[A+459|0]=2|d[A+459|0],g[A+460|0]=2|d[A+460|0],g[A+462|0]=2|d[A+462|0],g[A+464|0]=2|d[A+464|0],g[A+466|0]=2|d[A+466|0],e[A+144>>2]=2,e[A+68>>2]=2;break e}e[A+296>>2]=303172879,e[A+300>>2]=353768980,e[A+328>>2]=3,e[A+8>>2]=3,e[A+12>>2]=262,e[A+104>>2]=16805928,e[A+108>>2]=30,t=e[26117],e[A+304>>2]=e[26116],e[A+308>>2]=t,t=e[26119],e[A+312>>2]=e[26118],e[A+316>>2]=t,r=29295;break e}io(A),r=29301;break e}for(e[A+328>>2]=3,e[A+296>>2]=336859153,e[A+300>>2]=353768980,v[A+168>>1]=261,e[A+8>>2]=0,e[A+12>>2]=22,e[A+124>>2]=0,e[A+128>>2]=44,e[A+104>>2]=16794624,e[A+108>>2]=128,e[A+36>>2]=3,e[A+60>>2]=4,t=e[25869],e[A+304>>2]=e[25868],e[A+308>>2]=t,t=e[25871],e[A+312>>2]=e[25870],e[A+316>>2]=t,(0|r)==25459&&(e[A+108>>
28102]=136),g[A+465|0]=64&d[A+465|0]|129,g[A+458|0]=64&d[A+458|0]|129,t=0,a=A+344|0;g[0|(i=t+a|0)]=223&d[0|i],g[0|(i=a+(1|t)|0)]=223&d[0|i],g[0|(i=a+(2|t)|0)]=223&d[0|i],g[0|(i=a+(3|t)|0)]=223&d[0|i],(0|(t=t+4|0))!=256;);g[A+442|0]=32|d[A+442|0],g[A+444|0]=32|d[A+444|0],g[A+447|0]=32|d[A+447|0],g[A+450|0]=32|d[A+450|0],g[A+452|0]=32|d[A+452|0],g[A+453|0]=32|d[A+453|0],g[A+454|0]=32|d[A+454|0],g[A+458|0]=32|d[A+458|0],g[A+462|0]=32|d[A+462|0],g[A+463|0]=32|d[A+463|0],g[A+466|0]=32|d[A+466|0],g[A+441|0]=32|d[A+441|0],g[A+445|0]=32|d[A+445|0],g[A+449|0]=32|d[A+449|0],g[A+455|0]=32|d[A+455|0],g[A+461|0]=32|d[A+461|0],g[A+465|0]=32|d[A+465|0];break e}for(e[A+296>>2]=303174162,e[A+300>>2]=370545684,e[A+600>>2]=3456,g[A+169|0]=1,e[A+8>>2]=0,e[A+12>>2]=22,e[A+100>>2]=e[A+96>>2],t=e[25873],e[A+304>>2]=e[25872],e[A+308>>2]=t,t=e[25875],e[A+312>>2]=e[25874],e[A+316>>2]=t,kA(A+344|0,0,256),g[A+365|0]=1,g[A+366|0]=1,g[A+357|0]=1,g[A+358|0]=1,g[A+359|0]=1,g[A+360|0]=1,g[A+361|0]=1,g[A+362|0]=1,g[A+363|0]=1,g[A+364|0]=1,g[A+349|0]=1,g[A+350|0]=1,g[A+351|0]=1,g[A+352|0]=1,g[A+353|0]=1,g[A+354|0]=1,g[A+355|0]=1,g[A+356|0]=1,t=74,a=74;g[344+(i=A+a|0)|0]=1|d[i+344|0],g[i+345|0]=1|d[i+345|0],g[i+346|0]=1|d[i+346|0],(0|(a=a+3|0))!=116;);for(;g[344+(a=t+A|0)|0]=2|d[a+344|0],g[a+345|0]=2|d[a+345|0],g[a+346|0]=2|d[a+346|0],(0|(t=t+3|0))!=116;);for(a=26;g[344+(t=A+a|0)|0]=4|d[t+344|0],g[t+345|0]=4|d[t+345|0],g[t+346|0]=4|d[t+346|0],g[t+347|0]=4|d[t+347|0],g[t+348|0]=4|d[t+348|0],(0|(a=a+5|0))!=71;);e[A+112>>2]=84648,e[A+104>>2]=270589952,e[A+108>>2]=65536,e[A+40>>2]=1,e[A+204>>2]=e[A+600>>2]+74;break e}e[A+8>>2]=2,e[A+12>>2]=32,e[A+328>>2]=3,e[A+124>>2]=32,e[A+104>>2]=16864280,e[A+108>>2]=256,e[A+68>>2]=2,e[A+36>>2]=259,e[A+40>>2]=118,e[A+28>>2]=1,g[A+458|0]=128|d[A+458|0],r=29548;break e}e[A+296>>2]=370544658,e[A+300>>2]=370546196,e[A+164>>2]=130,e[A+8>>2]=0,e[A+12>>2]=86,e[A+104>>2]=87064,g[A+169|0]=1,e[A+152>>2]=3,t=e[26121],e[A+304>>2]=e[26120],e[A+308>>2]=t,t=e[26123],e[A+312>>2]=e[26122],e[A+316>>2]=t,g[A+465|0]=64&d[A+465|0]|129,r=7564650;break e}e[A+296>>2]=269487120,e[A+300>>2]=320148500,e[A+8>>2]=3,e[A+12>>2]=278,e[A+144>>2]=2,e[A+104>>2]=32872,t=e[26125],e[A+304>>2]=e[26124],e[A+308>>2]=t,t=e[26127],e[A+312>>2]=e[26126],e[A+316>>2]=t,g[A+465|0]=64&d[A+465|0]|129,r=29553;break e}e[A+296>>2]=336859152,e[A+300>>2]=353768980,e[A+8>>2]=0,e[A+144>>2]=1,e[A+104>>2]=6408,t=e[26129],e[A+304>>2]=e[26128],e[A+308>>2]=t,t=e[26131],e[A+312>>2]=e[26130],e[A+316>>2]=t,g[A+465|0]=64&d[A+465|0]|129,r=29558;break e}e[A+296>>2]=320015376,e[A+300>>2]=353768980,g[A+168|0]=4,e[A+12>>2]=22,e[A+4>>2]=1,e[A+8>>2]=2,e[A+104>>2]=1248,e[A+100>>2]=e[A+96>>2],t=e[26133],e[A+304>>2]=e[26132],e[A+308>>2]=t,t=e[26135],e[A+312>>2]=e[26134],e[A+316>>2]=t;break e}e[A+296>>2]=303174162,e[A+300>>2]=370545684,g[A+169|0]=1,e[A+8>>2]=0,e[A+12>>2]=22,e[A+112>>2]=5288,e[A+100>>2]=e[A+96>>2],t=e[25877],e[A+304>>2]=e[25876],e[A+308>>2]=t,t=e[25879],e[A+312>>2]=e[25878],e[A+316>>2]=t;h:switch(r-29793|0){default:if((0|r)!=27502){if((0|r)!=28012)break r;t=e[26137],e[A+304>>2]=e[26136],e[A+308>>2]=t,t=e[26139],e[A+312>>2]=e[26138],e[A+316>>2]=t,e[A+600>>2]=3328,e[A+296>>2]=320017171,e[A+300>>2]=320017171,e[A+104>>2]=2098176,e[A+108>>2]=131072,e[A+8>>2]=13;break r}e[A+104>>2]=1,e[A+600>>2]=3200;break r;case 4:break h;case 1:case 2:case 3:break r;case 0:break a}e[A+104>>2]=1,e[A+108>>2]=524288,e[A+600>>2]=3072;break r}e[A+328>>2]=10,e[A+296>>2]=353636370,e[A+300>>2]=336925972,g[A+173|0]=1,e[A+8>>2]=7,e[A+12>>2]=32,g[A+168|0]=2,e[A+84>>2]=1,t=e[26141],e[A+304>>2]=e[26140],e[A+308>>2]=t,e[A+104>>2]=(0|r)==24954?2118920:2114824,t=e[26143],e[A+312>>2]=e[26142],e[A+316>>2]=t;break e}Va(A),e[A+296>>2]=303173650,e[A+300>>2]=303174162,e[A+104>>2]=2131208,e[A+8>>2]=3,e[A+12>>2]=32,t=e[25865],e[A+304>>2]=e[25864],e[A+308>>2]=t,t=e[25867],e[A+312>>2]=e[25866],e[A+316>>2]=t,r=29812;break e}io(A),r=30059;break e}e[A+112>>2]=21160,e[A+104>>2]=16,e[A+600>>2]=1536,e[A+40>>2]=1;break e}e[A+296>>2]=269488144,e[A+300>>2]=370546198,e[A+8>>2]=0,e[A>>2]=33,e[A+148>>2]=1,e[A+104>>2]=12615688,e[A+16>>2]=2,e[A+100>>2]=e[A+96>>2],e[A+632>>2]=104592,e[A+604>>2]=104592,t=e[26145],e[A+304>>2]=e[26144],e[A+308>>2]=t,t=e[26147],e[A+312>>2]=e[26146],e[A+316>>2]=t,r=30313;break e}if(e[A+296>>2]=370544662,e[A+300>>2]=370546198,e[A+8>>2]=3,e[A+12>>2]=2,e[A+148>>2]=1,e[A+184>>2]=12544,v[A+170>>1]=257,e[A+176>>2]=1,g[A+172|0]=1,e[A>>2]=33,e[A+4>>2]=0,e[A+100>>2]=e[A+96>>2],t=e[26225],e[A+304>>2]=e[26224],e[A+308>>2]=t,t=e[26227],e[A+312>>2]=e[26226],e[A+316>>2]=t,(0|r)!=7959909)break e;e[A+112>>
vendor: 42,088 bytes, line 2810
28102]=24,e[A+104>>2]=1,e[A+108>>2]=1048576,r=7959909;break e}t=e[25873],e[A+304>>2]=e[25872],e[A+308>>2]=t,t=e[25875],e[A+312>>2]=e[25874],e[A+316>>2]=t,e[A+600>>2]=2944,e[A+104>>2]=2097152,e[A+108>>2]=262144,e[A+48>>2]=1}Da(A),g[A+422|0]=2|d[A+422|0];break e}e[A+40>>2]=1}return e[A+212>>2]=r,8&(t=e[A+104>>2])&&(e[A+124>>2]=46,e[A+128>>2]=44),4&t&&(e[A+124>>2]=0),A}function lt(t){var A=0,r=0,a=0,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,Te=0,Oe=0,$e=0,nt=0,ht=0,vt=0,Qt=0,Ut=0,fA=0;e:{r=e[32538],e[47354]=0,e[47568]=0,e[49828]=0,e[47569]=0,g[199328]=0,e[49827]=0,e[49845]=0,g[190280]=0,g[190268]=1,e[47202]=0,e[49573]=0,e[49846]=0,g[199304]=0,g[199388]=0,e[33691]=0,e[33285]=0,e[33708]=1,e[33709]=1,e[33288]=0,A=e[33730],e[33712]=e[33729],e[33713]=A,A=e[33732],e[33714]=e[33731],e[33715]=A,A=e[33734],e[33716]=e[33733],e[33717]=A,A=e[33736],e[33718]=e[33735],e[33719]=A,A=e[33738],e[33720]=e[33737],e[33721]=A,A=e[33740],e[33722]=e[33739],e[33723]=A,A=e[33742],e[33724]=e[33741],e[33725]=A,e[33726]=e[33743],g[134784]=0,g[134824]=0,g[134772]=0,g[134760]=0,e[33284]=-1,e[33692]=0,e[32525]=0,e[47201]=e[33717],e[47200]=e[33718],un(),e[34438]=0,e[34437]=0,A=e[33730],e[34048]=e[33729],e[34049]=A,A=e[33732],e[34050]=e[33731],e[34051]=A,A=e[33734],e[34052]=e[33733],e[34053]=A,A=e[33736],e[34054]=e[33735],e[34055]=A,A=e[33738],e[34056]=e[33737],e[34057]=A,A=e[33740],e[34058]=e[33739],e[34059]=A,A=e[33742],e[34060]=e[33741],e[34061]=A,e[34062]=e[33743];t:{r:{if(1&r){if(e[e[32539]>>2]=0,e[47569]|e[49845]|e[49827])break r;break t}if(e[e[32539]>>2]=0,!(e[49845]|e[49827]||e[47569]))break t}g[190280]=1}e[49828]=0,A=268436735;t:if(!(!e[34391]|!e[34388])&&(e[47204]=0,e[47203]=0,e[47199]=0,e[34439]=0,(e[47192]||!(A=Oi(86228)))&&((A=e[33283])||((A=nA(16))&&(e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,e[A+12>>2]=0),e[33283]=A),l=268439807,(r=e[e[47192]+328>>2])>>>0>20|!e[129104+(r<<3)>>2]?A=l:(t?(l=4,i=CA(t)+1|0):(l=2,i=0),e[A+8>>2]=l,e[A>>2]=t,e[A+12>>2]=e[129108+(r<<3)>>2],e[A+4>>2]=t?t+i|0:0,A=0),!A))){Qe(0);r:{for(;;){e[34436]=0,t=e[34391],e[51290]=t,e[54046]=t+e[34390],e[50767]<=102399&&(e[50767]=102400);a:if(!((h=e[51290])>>>0>=re[54046]))for(;;){if((((0|(t=(i=e[50757])-(m=e[50758])|0))<=0?t+170|0:t)-171|0)>=-1){if((0|(t=e[54731]))<=0)break a;l=0,e[50763]=0,e[50762]=0,e[50765]=2147483647,t=d[218920]?e[54732]:t;n:{for(;;){if(r=t-1|0,e[54732]=r,(0|t)<=0)break n;if(e[51290]=h+1,A=(t=e[51293])+1|0,e[51293]=(0|A)<=5499?A:0,A=(t=F(e[50755],v[205184+(t<<1)>>1]))>>8,g[0|h]=A,i=e[51290],e[51290]=i+1,g[0|i]=t>>>16,(i=e[50756])?(t=r,(r=e[i+4>>2])&&(Ar[0|r](A<<16>>16),t=e[54732])):t=r,i=(r=e[51292])+1|0,e[51292]=i,v[205184+(r<<1)>>1]=A,(0|i)>=5500&&(e[51292]=0),h=e[51290],!(re[54046]>=h+2>>>0))break}l=1}g[218920]=l;break a}t=e[4+(r=216192+(i<<4)|0)>>2];n:{c:{o:{f:{l:{i:{h:{b:{m:{C:{p:{x:{w:{B:{O:{Y:switch((255&(A=e[r>>2]))-1|0){case 9:break o;case 7:break f;case 10:break l;case 11:break i;case 13:break h;case 0:break b;case 1:break m;case 2:break C;case 3:break p;case 6:break x;case 5:break w;case 4:break B;case 15:break O;case 8:break Y;default:break c}if(!e[50759])break c;A=e[r+12>>2],r=e[r+8>>2],e[50768]=0,h=r||99232,e[50766]=h,e[50769]=t?2097152/(0|t)|0:0,t=e[50971],i=(0|F(t,e[50788]))/50|0,r=F(i-t|0,-18),t=((0|(t=e[50785]))>=101?101:t)-e[50790]|0,A=(l=r+((0|F(e[50970],d[((0|t)>0?t:0)+105680|0]))/128|0)|0)+((0|F(i,(0|(t=A>>16))<(0|(r=65535&A))?t:r))/2|0)|0,e[50770]=A,t=(l+((0|F(i,(0|t)>(0|r)?t:r))/2|0)|0)-A|0,e[50771]=t,r=d[0|h],e[33072]=e[50976],e[50767]=A+(F(t,r)>>8);break c}Ar[e[e[50756]>>2]](t,e[r+8>>2]),DA(t);break c}if(d[218920]||(e[54731]=e[54731]-t),e[50781]=100,e[50773]=0,ye(),e[50763]=0,e[50762]=0,e[50765]=2147483647,!t)break c;for(t=d[218920]?e[54732]:t;;){if(r=t-1|0,e[54732]=r,(0|t)<=0)break c;if(t=e[51290],e[51290]=t+1,i=(A=e[51293])+1|0,e[51293]=(0|i)<=5499?i:0,i=t,A=(t=F(e[50755],v[205184+(A<<1)>>1]))>>8,g[0|i]=A,i=e[51290],e[51290]=i+1,g[0|i]=t>>>16,(i=e[50756])?(t=r,(r=e[i+4>>2])&&(Ar[0|r](A<<16>>16),t=e[54732])):t=r,i=(r=e[51292])+1|0,e[51292]=i,v[205184+(r<<1)>>1]=A,(0|i)>=5500&&(e[51292]=0),i=1,!(re[54046]>=e[51290]+2>>>0))break}break n}for(e[50773]=0,e[54731]=e[54729],ye(),A=e[r+12>>2],i=e[r+8>>2],d[218920]?t=e[54733]:e[54734]=0,m=A>>8,l=255&A,e[50762]=0,e[50763]=0;;){if(r=t-1|0,e[54733]=r,(0|t)<=0)break c;if(A=(t=e[54734])+1|0,l?h=F(l,g[t+i|0]):(h=d[t+i|0]|g[A+i|0]<<8,A=t+2|0),e[54734]=A,w=(t=e[51293])+1|0,e[51293]=w,A=(0|(t=(0|(t=((0|F(m,F(e[33037],F(e[33038],h))>>10))/32|0)+(F(e[50755],v[205184+(t<<1)>>1])>>8)|0))<=-32768?-32768:t))>=32767?32767:t,(0|w)>=5500&&(e[51293]=0),g[e[51290]]=A,g[e[51290]+1|0]=A>>>8,(h=e[50756])?(t=r,(r=e[h+12>>2])&&(Ar[0|r](A<<16>>16),t=e[54733])):t=r,r=e[51290],e[51290]=r+2,w=(h=e[51292])+1|0,e[51292]=w,v[205184+(h<<1)>>1]=(0|F(A,3))/4,(0|w)>=5500&&(e[51292]=0),!(re[54046]>=r+4>>>0))break}i=1;break n}A=e[r+12>>2],i=t>>>16|0,e[50777]=i,t&=65535,e[50773]=t,l=255&A,e[50774]=l,e[50775]=A>>8,l||(e[50777]=i<<1,e[50773]=t<<1),e[50778]=0,e[50776]=0,e[50772]=e[r+8>>2];break c}e[50773]=0}if(e[54731]=e[54729],A=e[50759],d[218920]){if(!A)break c}else{if(!A)break c;for(l=e[r+12>>2],h=e[r+8>>2],r=t>>16,e[55912]=255&r,g[218960]=1,e[55908]=0,67108864&t&&(e[55908]=3,e[55909]=e[110496+(r>>>6&12)>>2]),134217728&t&&(e[55908]=4,e[55909]=e[110512+(r>>>6&12)>>2]),t&=65504;;){if((0|m)!=(0|(i=(0|(r=i+1|0))<=169?r:0)))if((0|(r=e[216192+(i<<4)>>2]))!=3){if(r-5>>>0>1)continue}else g[218960]=0;break}for(e[55913]=e[50762],t=(t=t+32&131008)||64,e[50763]=t+e[50763],e[55684]=F(v[101997],7800)+(T[102024]<<8)<<8,e[55704]=F(v[101998],9e3)+(T[102025]<<8)<<8,ee=e[50980],a=+(0|t),P=+(t>>>2|0),t=0;(0|t)!=7&&(i=v[218+(w=(r=t<<1)+A|0)>>1]<<8,m=F(t,80)+222176|0,w=v[w+164>>1],R=i+F(w,v[2+(r+h|0)>>1])<<8,e[m>>2]=R,y=+(0|R),N[m+16>>3]=y,N[m+48>>3]=16*(+(i+F(w,v[2+(r+l|0)>>1])<<8)-y)/P),i=(r=F(t,80))+222176|0,w=v[182+(R=A+(t<<1)|0)>>1],ue=F(w,d[18+(m=t+h|0)|0])<<6,e[i+4>>2]=ue,y=+(0|ue),N[i+24>>3]=y,ae=i,i=t+l|0,N[ae+56>>3]=64*(+(F(w,d[i+18|0])<<6)-y)/a,(0|t)>(0|ee)|t>>>0>5||(w=r+222176|0,ue=v[R+200>>1],R=F(ue,d[m+26|0])<<10,e[w+8>>2]=R,y=+(0|R),N[w+32>>3]=y,ae=w- -64|0,w=ue<<10,N[ae>>3]=64*(+(0|F(w,d[i+26|0]))-y)/a,t>>>0<=2?(r=r+222176|0,m=F(w,d[m+32|0]),e[r+12>>2]=m,y=+(0|m),N[r+40>>3]=y,N[r+72>>3]=64*(+(0|F(w,d[i+32|0]))-y)/a):e[r+222188>>2]=R),(0|(t=t+1|0))!=8;);}for(;;){if(t=e[50762],!d[218960]&(0|t)==e[50763])break c;C:{p:{if(63&t){if(7&t)break C;x:if(!((0|(r=e[54736]))<=0||(0|(A=e[54735]))<=0))for(i=e[50826],t=1;;){if(e[(h=(l=t<<2)+i|0)>>2]=e[h>>2]+e[l+203312>>2],t>>>0>28|(0|t)>=(0|r))break x;if(l=(0|t)<(0|A),t=t+1|0,!l)break}if((0|(t=e[33073]))>255)break C;e[33073]=t+1;break C}if(t)if(e[50759]){if(r=e[50768]+e[50769]|0,e[50768]=r,r=(A=e[50766])?F(d[A+((0|(r>>=8))>=127?127:r)|0],e[50771])>>8:0,e[55911]=e[55911]+e[55915],A=(0|(A=e[55914]))<=23551?A:0,e[55914]=A+e[50761],A=(r+e[50770]|0)+F(e[33072],d[110528+(A>>6)|0]-128|0)|0,e[50767]=A,!(i=e[51291])&(0|(r=i?i<<12:A))>102399||(A=(0|r)<=102400?102400:r,e[50767]=A),(0|t)!=e[55913]){if(t=0,!((0|(m=e[50980]))<0)){for(;h=F(t,80),a=N[48+(r=h+222176|0)>>3]+N[r+16>>3],N[r+16>>3]=a,P=N[r+56>>3]+N[r+24>>3],N[r+24>>3]=P,y=N[r- -64>>3]+N[r+32>>3],N[r+32>>3]=y,i=he(a)<2147483648?~~a:-2147483648,e[r>>2]=i,i=he(y)<2147483648?~~y:-2147483648,e[r+8>>2]=i,l=he(P)<2147483648?~~P:-2147483648,e[r+4>>2]=(0|l)>0?l:0,(0|t)>2||(a=N[72+(r=h+222176|0)>>3]+N[r+40>>3],N[r+40>>3]=a,i=he(a)<2147483648?~~a:-2147483648),e[h+222188>>2]=i,(0|m)>=(0|(t=t+1|0)););if((0|t)>=8)break p}for(;(0|t)!=7&&(r=F(t,80)+222176|0,a=N[r+48>>3]+N[r+16>>3],N[r+16>>3]=a,i=he(a)<2147483648?~~a:-2147483648,e[r>>2]=i),r=F(t,80)+222176|0,a=N[r+56>>3]+N[r+24>>3],N[r+24>>3]=a,i=he(a)<2147483648?~~a:-2147483648,e[r+4>>2]=(0|i)>0?i:0,(0|(t=t+1|0))!=8;);}}else A=e[50767];else e[50826]=218976,e[54742]=0,e[54736]=ya(e[50767]<<4,218976,0),A=e[50767],e[54737]=890/(A>>12),e[54739]=(0|F(e[50781],F(e[50779],A>>8)))/8e4}if(e[55906]=A>>11,e[54735]=e[54736],e[55904]=F(e[50760],A>>7),e[55905]=e[50754]/(A>>12),r=1^(t=e[54742]),e[54742]=r,e[50826]=F(t,1600)+218976,e[54736]=ya(A<<4,F(r,1600)+218976|0,1),!(!(A=e[50759])|!e[51022]))for(P=N[25430],y=N[25429],t=1;e[272+(r=A+(t<<2)|0)>>2]&&(i=e[r+308>>2],r=F(t,40)+203456|0,M=sa(P*+v[2+(F(t,80)+222176|0)>>1]),M*=a=pr(y*+(0|i)),M+=M,N[r+8>>3]=M,a*=-a,N[r+16>>3]=a,N[r>>3]=1-M-a),(0|(t=t+1|0))!=9;);}if(l=e[50762]+1|0,e[50762]=l,h=(t=e[50765])+e[55904]|0,e[50765]=h,(0|h)<0&(0|t)>0){if(w=e[55905],A=e[50800]+((0|w)/-2|0)|0,e[55907]=A,(0|(R=e[50763]))<(0|l))break c;if(ee=e[54738]+1|0,e[54738]=ee,m=e[50767],!((0|(t=(r=e[50980])+1|0))>8)&&(i=m<<3,1&r&&(e[203264+(t<<2)>>2]=(1+(e[F(t,80)+222176>>2]/(0|i)|0)|0)/2,t=r+2|0),(0|r)!=7))for(;r=203264+(t<<2)|0,ue=F(t,80)+222176|0,e[r>>2]=(1+(e[ue>>2]/(0|i)|0)|0)/2,e[r+4>>2]=(1+(e[ue+80>>2]/(0|i)|0)|0)/2,(0|(t=t+2|0))!=9;);t=(0|F(e[50781],F(e[50779],m>>8)))/8e4|0,e[54739]=t;C:if(!((0|(r=e[55908]))<=0)){switch(r-3|0){case 0:if((R-l|0)>=w<<1)break C;e[55908]=2,t=(0|F(e[55909],t))/256|0,e[54739]=t;break C;case 1:e[55908]=2,t=(0|F(e[55909],t))/256|0,e[54739]=t;break C}e[55908]=r-1}(r=e[55910])&&(i=t,t=e[55911]>>8,t=(0|F(i,d[r+((0|t)>=127?127:t)|0]))/128|0,e[54739]=t),(0|(r=e[e[32972]+92>>2]))>7||(r=15&(i=d[e[55912]+(106336+(r<<3)|0)|0]),(i=i>>>4|0)&&((0|i)!=15?(0|ee)%(0|i)|0||(e[54739]=(0|F(t,r))/16):(e[55912]=0,e[54739]=(0|F(t,r))/16)))}else A=e[55907];if(l=A+1|0,e[55907]=l,r=h>>>16|0,i=0,!((0|l)<0|(0|l)>=e[50799])){if(!((0|(t=(A=e[50980])+1|0))>8)){if(m=1&(h=8-A|0),(0|A)!=7)for(w=-2&h,A=0;i=F(e[203216+(R=4+(h=t<<2)|0)>>2],v[106400+(F(r,e[R+203264>>2])>>>4&4094)>>1])+(F(e[h+203216>>2],v[106400+(F(r,e[h+203264>>2])>>>4&4094)>>1])+i|0)|0,t=t+2|0,(0|w)!=(0|(A=A+2|0)););m&&(i=F(e[203216+(t<<=2)>>2],v[106400+(F(r,e[t+203264>>2])>>>4&4094)>>1])+i|0)}i=F(d[l+132160|0],(0|i)/e[55906]|0)}if(t=1,(0|(l=e[54737]))<=0)A=r;else for(h=e[50826],A=r;i=F(e[h+(t<<2)>>2],v[106400+((65504&A)>>>4|0)>>1])+i|0,A=A+r|0,(0|l)>=(0|(t=t+1|0)););if((0|(l=e[54735]))>=(0|t))for(h=e[50826];i=i-F(e[h+(t<<2)>>2],v[106400+((65504&A)>>>4|0)>>1])|0,A=A+r|0,(0|l)>=(0|(t=t+1|0)););if(l=(0|(t=e[54728]))==64?i:F(t,i>>6),e[51022]){if(e[50759])for(r=er(e[33209],0,1103515245,0),t=fe,t=zo(r=r+12345|0,t=r>>>0<12345?t+1|0:t),e[33209]=t,P=+((16383&t)- -8192|0),A=e[50759],h=0,t=1;(i=e[272+(A+(t<<2)|0)>>2])&&(m=e[F(t,80)+222180>>2],r=F(t,40)+203456|0,a=N[r+32>>3],y=N[r+24>>3],N[r+32>>3]=y,a=a*N[r+16>>3]+(N[r>>3]*P+y*N[r+8>>3]),N[r+24>>3]=a,r=he(a)<2147483648?~~a:-2147483648,h=F(r,F(i,m>>14))+h|0),(0|(t=t+1|0))!=9;);else h=0;l=l+h|0}A=0,(0|(t=e[50776]))>=e[50773]||(r=e[50778],A=e[50772],(h=e[50774])?(i=t+1|0,e[50776]=i,t=F(h,g[A+(t+r|0)|0])):(h=d[0|(A=A+(t+r|0)|0)],A=g[A+1|0],i=t+2|0,e[50776]=i,t=h|A<<8),A=(0|F(F(t,e[50780])>>10,e[50775]))/32|0,(0|(t=e[50777]))>(r+i|0)||(e[50778]=r+((0|F(t,3))/-4|0))),r=(t=e[51293])+1|0,e[51293]=r,t=((F(e[54739],l>>8)>>13)+A|0)+(F(e[50755],v[205184+(t<<1)>>1])>>8)|0,(0|r)>=5500&&(e[51293]=0),r=e[33073];C:{p:{if((0|(A=F(r,t)))>=8388608){if((0|r)>=(0|(h=8388608/(0|t)|0)))break p;break C}if((0|A)>-8388353||(0|r)<(0|(h=-8388608/(0|t)|0)))break C}r=h-1|0,e[33073]=r,A=F(t,r)}if(t=e[51290],e[51290]=t+1,r=t,t=A>>8,g[0|r]=t,r=e[51290],e[51290]=r+1,g[0|r]=A>>>16,(r=e[50756])&&(r=e[r+8>>2])&&Ar[0|r](t<<16>>16),A=(r=e[51292])+1|0,e[51292]=A,v[205184+(r<<1)>>1]=t,(0|A)>=5500&&(e[51292]=0),!(re[54046]>=e[51290]+2>>>0))break}i=1;break n}e[50773]=0}e[54731]=e[54729],i=1,m=65535&t,A=d[218920],h=e[r+8>>2],l=e[r+12>>2],a=0,y=0,oe=r=oe+-64|0,w=e[50759];b:if((0|(t=e[w+132>>2]))!=6){if(!A){for(t-1>>>0<=4&&(e[55921]=t,e[55964]=e[110896+(t<<2)>>2]),t=e[w+88>>2],e[54741]=1,e[55922]=(0|t)/32,A=e[50758],t=e[50757];;){m:if((0|A)!=(0|(t=(0|(t=t+1|0))<=169?t:0)))if((0|(R=e[216192+(t<<4)>>2]))!=1){if(R-5>>>0>1)continue}else{if(e[54741]=0,t=e[8+(216192+(t<<4)|0)>>2],!(T[l+4>>1]!=T[t+4>>1]|T[t+6>>1]!=T[l+6>>1]|T[t+8>>1]!=T[l+8>>1]|T[t+10>>1]!=T[l+10>>1])&&T[t+12>>1]==T[l+12>>1])break m;e[54741]=2}break}for((T[h+4>>1]!=T[113564]|T[h+6>>1]!=T[113565]|T[h+8>>1]!=T[113566]|T[h+10>>1]!=T[113567]||T[h+12>>1]!=T[113568])&&(Di(),e[55974]=0,e[55975]=0,e[55972]=0,e[55973]=0,e[55988]=0,e[55989]=0,e[55990]=0,e[55991]=0,e[56004]=0,e[56005]=0,e[56006]=0,e[56007]=0,e[56020]=0,e[56021]=0,e[56022]=0,e[56023]=0,e[56036]=0,e[56037]=0,e[56038]=0,e[56039]=0,e[56052]=0,e[56053]=0,e[56054]=0,e[56055]=0,e[56068]=0,e[56069]=0,e[56070]=0,e[56071]=0,e[56086]=0,e[56087]=0,e[56084]=0,e[56085]=0,e[56102]=0,e[56103]=0,e[56100]=0,e[56101]=0,e[56118]=0,e[56119]=0,e[56116]=0,e[56117]=0,e[56134]=0,e[56135]=0,e[56132]=0,e[56133]=0,e[56150]=0,e[56151]=0,e[56148]=0,e[56149]=0,e[56166]=0,e[56167]=0,e[56164]=0,e[56165]=0,e[56182]=0,e[56183]=0,e[56180]=0,e[56181]=0,e[56198]=0,e[56199]=0,e[56196]=0,e[56197]=0,e[56214]=0,e[56215]=0,e[56212]=0,e[56213]=0,e[56230]=0,e[56231]=0,e[56228]=0,e[56229]=0),t=T[l+4>>1]|T[l+6>>1]<<16,A=T[l>>1]|T[l+2>>1]<<16,v[113562]=A,v[113563]=A>>>16,v[113564]=t,v[113565]=t>>>16,t=T[l+60>>1]|T[l+62>>1]<<16,A=T[l+56>>1]|T[l+58>>1]<<16,v[113590]=A,v[113591]=A>>>16,v[113592]=t,v[113593]=t>>>16,t=T[l+52>>1]|T[l+54>>1]<<16,A=T[l+48>>1]|T[l+50>>1]<<16,v[113586]=A,v[113587]=A>>>16,v[113588]=t,v[113589]=t>>>16,t=T[l+44>>1]|T[l+46>>1]<<16,A=T[l+40>>1]|T[l+42>>1]<<16,v[113582]=A,v[113583]=A>>>16,v[113584]=t,v[113585]=t>>>16,t=T[l+36>>1]|T[l+38>>1]<<16,A=T[l+32>>1]|T[l+34>>1]<<16,v[113578]=A,v[113579]=A>>>16,v[113580]=t,v[113581]=t>>>16,t=T[l+28>>1]|T[l+30>>1]<<16,A=T[l+24>>1]|T[l+26>>1]<<16,v[113574]=A,v[113575]=A>>>16,v[113576]=t,v[113577]=t>>>16,t=T[l+20>>1]|T[l+22>>1]<<16,A=T[l+16>>1]|T[l+18>>1]<<16,v[113570]=A,v[113571]=A>>>16,v[113572]=t,v[113573]=t>>>16,t=T[l+12>>1]|T[l+14>>1]<<16,A=T[l+8>>1]|T[l+10>>1]<<16,v[113566]=A,v[113567]=A>>>16,v[113568]=t,v[113569]=t>>>16,P=+(0|m),(ae=1&v[h>>1])?(t=d[h+39|0],e[56680]=t,N[28364]=t>>>0,N[28354]=+(d[l+39|0]-t<<6)/P,t=d[h+40|0],N[28366]=t>>>0,N[28356]=+(d[l+40|0]-t<<6)/P,t=d[h+41|0],e[56682]=t,N[28368]=t>>>0,N[28358]=+(d[l+41|0]-t<<6)/P,A=d[h+42|0],e[56684]=A,N[28370]=A>>>0,t=d[h+43|0],a=+(d[l+43|0]-t<<6)/P,y=+(d[l+42|0]-A<<6)/P,M=+(t>>>0)):(e[56728]=0,e[56729]=0,t=0,e[56680]=0,e[56708]=0,e[56709]=0,e[56732]=0,e[56733]=0,e[56712]=0,e[56713]=0,e[56682]=0,e[56736]=0,e[56737]=0,e[56716]=0,e[56717]=0,e[56684]=0,e[56740]=0,e[56741]=0,M=0),e[56688]=t,N[28360]=y,N[28372]=M,N[28362]=a,e[56692]=0,e[56748]=0,e[56749]=0,e[56694]=0,e[56752]=0,e[56753]=0,e[56696]=0,e[56756]=0,e[56757]=0,e[56700]=0,e[56760]=0,e[56761]=0,e[56704]=0,e[56764]=0,e[56765]=0,e[50764]=m,t=1;ee=v[164+(R=(m=t<<1)+w|0)>>1],A=(nt=F(t,80))+222896|0,y=+v[R+218>>1],a=.00390625*+(0|F(ee,v[2+(h+m|0)>>1]))+y,N[A+16>>3]=a,ue=he(a)<2147483648?~~a:-2147483648,e[A>>2]=ue,N[A+48>>3]=64*(.00390625*+(0|F(ee,v[2+(l+m|0)>>1]))+y-a)/P,t>>>0<=3&&(A=nt+222896|0,a=.00390625*+v[R+200>>1]*+(d[35+(t+h|0)|0]<<1),N[A+24>>3]=a,m=he(a)<2147483648?~~a:-2147483648,e[A+4>>2]=m,N[A+56>>3]=64*(+(d[35+(t+l|0)|0]<<1)-a)/P),(0|(t=t+1|0))!=6;);if(a=+((t=d[h+40|0])<<1),N[27864]=a,A=e[56618],t||(a=+(0|A),N[27864]=a),t=he(a)<2147483648?~~a:-2147483648,e[55724]=t,m=d[l+40|0],e[55730]=0,e[55731]=1079394304,e[55738]=0,e[55739]=0,e[55725]=89,t=1,N[27868]=64*(+(0|(m?m<<1:A))-a)/P,ae)for(;A=F(t,80)+222896|0,w=d[56+(m=t+h|0)|0]<<2,e[A+12>>2]=w,a=+(0|w),N[A+40>>3]=a,w=t+l|0,N[A+72>>3]=64*(+(d[w+56|0]<<2)-a)/P,m=d[m+49|0],e[A+8>>2]=m,a=+(m>>>0),N[A+32>>3]=a,N[A- -64>>3]=64*(+d[w+49|0]-a)/P,(0|(t=t+1|0))!=7;);e[56606]=0}for(;;){if((0|(ue=e[50764]))>(0|(l=e[56606]))){for(t=e[50767],e[56609]=e[55724],e[56619]=e[55725],e[56610]=e[55744],e[56611]=e[55764],e[56612]=e[55784],e[56613]=e[55804],ae=F(t,10),e[56607]=(0|ae)/4096,e[56620]=e[55745],e[56621]=e[55765],e[56622]=e[55785],e[56614]=e[55824],e[56630]=e[55746],e[56631]=e[55766],e[56632]=e[55786],e[56633]=e[55806],e[56634]=e[55826],e[56635]=e[55846],nt=e[56680],e[56608]=nt,h=e[56694],e[56656]=h,m=e[56696],e[56653]=m,w=e[56700],e[56655]=w,R=e[56684],e[56649]=R,e[56651]=e[56704],e[56654]=e[56688],e[56652]=e[56682],e[56650]=e[56692],t=0;A=F(t,80)+222896|0,a=N[A+48>>3]+N[A+16>>3],N[A+16>>3]=a,P=N[A+56>>3]+N[A+24>>3],N[A+24>>3]=P,y=N[A+72>>3]+N[A+40>>3],N[A+40>>3]=y,M=N[A- -64>>3]+N[A+32>>3],N[A+32>>3]=M,ee=he(a)<2147483648?~~a:-2147483648,e[A>>2]=ee,ee=he(P)<2147483648?~~P:-2147483648,e[A+4>>2]=ee,ee=he(y)<2147483648?~~y:-2147483648,e[A+12>>2]=ee,ee=he(M)<2147483648?~~M:-2147483648,e[A+8>>2]=ee,(0|(t=t+1|0))!=9;);for(a=N[28354]+N[28364],N[28364]=a,N[28366]=N[28356]+N[28366],P=N[28358]+N[28368],N[28368]=P,y=N[28360]+N[28370],N[28370]=y,M=N[28362]+N[28372],N[28372]=M,t=he(a)<2147483648?~~a:-2147483648,e[56680]=t,t=he(P)<2147483648?~~P:-2147483648,e[56682]=t,t=he(y)<2147483648?~~y:-2147483648,e[56684]=t,t=he(M)<2147483648?~~M:-2147483648,e[56688]=t,a=N[28374]+0,N[28374]=a,t=he(a)<2147483648?~~a:-2147483648,e[56692]=t,a=N[28376]+0,N[28376]=a,t=he(a)<2147483648?~~a:-2147483648,e[56694]=t,a=N[28378]+0,N[28378]=a,t=he(a)<2147483648?~~a:-2147483648,e[56696]=t,a=N[28380]+0,N[28380]=a,t=he(a)<2147483648?~~a:-2147483648,e[56700]=t,a=N[28382]+0,N[28382]=a,t=he(a)<2147483648?~~a:-2147483648,e[56704]=t,e[56659]=e[55724],e[56669]=e[55725],e[56660]=e[55744],e[56670]=e[55745],e[56661]=e[55764],e[56671]=e[55765],e[56662]=e[55784],e[56672]=e[55785],e[56663]=e[55804],e[56664]=e[55824],e[56665]=e[55844],t=e[50768]+e[50769]|0,e[50768]=t,t>>=8,e[50767]=e[50770]+(F(e[50771],d[e[50766]+((0|t)>=127?127:t)|0])>>8),t=ue-l|0,e[55923]=(0|t)>=64?64:t,e[55961]=(0|ae)/40960,t=nt-7|0,e[56658]=(0|t)>0?t:0,N[27974]=R>>>0<=87?.001*+v[111136+(R<<1)>>1]*.05:0,N[27975]=m>>>0<=87?.001*+v[111136+(m<<1)>>1]*.25:0,N[27973]=h>>>0<=87?.001*+v[111136+(h<<1)>>1]:0,N[27971]=w>>>0<=87?.001*+v[111136+(w<<1)>>1]*.05:0,a=(t=e[56629])>>>0<=87?.001*+v[111136+(t<<1)>>1]*.6:0,N[r>>3]=a,a=(t=e[56630])>>>0<=87?.001*+v[111136+(t<<1)>>1]*.4:0,N[r+8>>3]=a,a=(t=e[56631])>>>0<=87?.001*+v[111136+(t<<1)>>1]*.15:0,N[r+16>>3]=a,a=(t=e[56632])>>>0<=87?.001*+v[111136+(t<<1)>>1]*.06:0,N[r+24>>3]=a,a=(t=e[56633])>>>0<=87?.001*+v[111136+(t<<1)>>1]*.04:0,N[r+32>>3]=a,a=(t=e[56634])>>>0<=87?.001*+v[111136+(t<<1)>>1]*.022:0,N[r+40>>3]=a,a=(t=e[56635])>>>0<=87?.001*+v[111136+(t<<1)>>1]*.03:0,N[r+48>>3]=a,a=(t=(0|(t=e[56657]-3|0))<=0?57:t)>>>0<=87?.001*+v[111136+(t<<1)>>1]:0,N[27977]=a/+e[55964],P=N[27968],y=N[27967],t=1;A=223664+(l=t<<6)|0,M=(a=pr(y*+e[48+(m=226428+(h=t<<2)|0)>>2]))*-a,N[A+216>>3]=M,a*=sa(P*+e[m+8>>2]),a+=a,N[A+208>>3]=a,Oe=1-a-M,N[A+200>>3]=Oe,t>>>0<=5&&(m=e[208+(h=h+226428|0)>>2],A=l+223664|0,Te=(be=pr(y*+e[h+248>>2]))*sa(P*+(0|m)),Te+=Te,N[A+1488>>3]=Te,be*=-be,N[A+1496>>3]=be,$e=1-Te-be,N[A+1480>>3]=$e,N[A+256>>3]=.015625*(be-M),N[A+248>>3]=.015625*(Te-a),N[A+240>>3]=.015625*($e-Oe)),(0|(t=t+1|0))!=10;);for(be=(a=pr(y*+e[56619]))*-a,N[27985]=be,Te=(a*=sa(P*+(0-e[56609]|0)))+a,N[27984]=Te,a=1-Te-be,N[27983]=a,a!=0&&(a=1/a,N[27983]=a,be*=M=-a,N[27985]=be,Te*=M,N[27984]=Te),Oe=(M=pr(y*+e[56669]))*-M,N[28145]=Oe,$e=(M*=sa(P*+(0-e[56659]|0)))+M,N[28144]=$e,M=1-$e-Oe,N[28143]=M,M!=0&&(M=1/M,N[28143]=M,Oe*=Qt=-M,N[28145]=Oe,$e*=Qt,N[28144]=$e),N[27990]=.015625*(Oe-be),N[27989]=.015625*($e-Te),N[27988]=.015625*(M-a),t=0;h=e[8+(l=226428+(t<<2)|0)>>2],A=223664+(t<<6)|0,M=(a=pr(y*+e[l+128>>2]))*sa(P*+(0|h)),M+=M,N[A+848>>3]=M,a*=-a,N[A+856>>3]=a,N[A+840>>3]=N[r+(t<<3)>>3]*(1-M-a),(0|(t=t+1|0))!=7;);if(y=(a=pr(y*+(e[55918]/2|0)))*-a,N[28137]=y,a*=sa(0*P),a+=a,N[28136]=a,N[28135]=1-a-y,t=1,(0|AA())!=1)continue;break b}break}t=1,e[54741]>0&&(e[54741]=0,e[55963]=64,e[56606]=l+-64,e[55923]=64,(0|AA())==1)||(t=0)}else{if(oe=R=oe-752|0,!A){kA(t=R+376|0,0,376),Pn(w,h,t),Pn(w,l,t=kA(R,0,376)),A=e[50768]+F(e[50769],m>>>6|0)|0,e[50768]=A,A>>=8,A=e[50770]+(F(e[50771],d[e[50766]+((0|A)>=127?127:A)|0])>>8)|0,e[50767]=A,N[t+368>>3]=(0|A)/4096|0,e[50773]&&(N[t+736>>3]=N[t+736>>3]/5,N[t+360>>3]=N[t+360>>3]/5),A=e[e[56797]+4>>2],Ar[e[e[A>>2]>>2]](A,t+376|0,110,110,-1,0),l=m-110|0,w=e[50758],A=e[50757];m:{for(;;){if((0|w)!=(0|(A=(A+1|0)%170|0))&&!((ee=e[216192+(A<<4)>>2])-5>>>0<2)){if(h=1,(0|ee)!=1)continue;break m}break}l=m-220|0,h=0}(0|l)>0&&(A=e[e[56797]+4>>2],Ar[e[e[A>>2]>>2]](A,t,l,l||1,-1,0)),h||(e[t+352>>2]=0,e[t+356>>2]=0,N[t>>3]=N[t+368>>3],A=e[e[56797]+4>>2],Ar[e[e[A>>2]>>2]](A,t,55,55,-1,0),e[t+360>>2]=0,e[t+364>>2]=0,A=e[e[56797]+4>>2],Ar[e[e[A>>2]>>2]](A,t,55,55,-1,0))}t=e[e[56797]+8>>2],A=e[51290],m=0|Ar[e[e[t>>2]>>2]](t,e[54046]-A>>>1|0,A),w=e[51290];m:if(m&&!((0|(A=e[50776]))>=(0|(nt=e[50773]))))for(ht=e[50777],Ut=(0|F(ht,3))/-4|0,a=.0009765625*+e[50780],ee=e[50772],l=e[50778],fA=e[50775],ue=e[50774],t=0;;){if(ae=d[ee+(h=A+l|0)|0],ue?ae=F(ue,ae<<24>>24):(A=A+1|0,e[50776]=A,ae|=g[ee+(h=A+l|0)|0]<<8),ae=he(P=a*+(0|ae))<2147483648?~~P:-2147483648,v[(vt=w+(t<<1)|0)>>1]=T[vt>>1]+((0|F(ae,fA))/40|0),(0|h)>=(0|ht)&&(l=l+Ut|0,e[50778]=l),A=A+1|0,e[50776]=A,(0|A)>=(0|nt))break m;if(!(m>>>0>(t=t+1|0)>>>0))break}t=w+(m<<1)|0,e[51290]=t,oe=R+752|0,t=re[54046]<=t>>>0}if(oe=r- -64|0,t)break n;break c}e[50781]=t||100;break c}yn(t,e[r+8>>2]);break c}t=e[r+8>>2],e[50759]=sr(203816,t,1344),e[50801]=e[t+108>>2]?105792:106064,t=(0|F(e[t+120>>2],26))/100|0,e[33038]=t,(0|(i=e[50754]))<=11e3&&(g[203300]=1,e[33038]=t<<1),e[54728]=e[50982],t=e[50979],A=e[50978],kA(205184,0,11e3),e[51293]=0,t=(A=(h=(0|(l=e[50789]))>0)?130:(0|A)>=5499?5499:A)?h?l:(0|t)>=100?100:t:0,e[50755]=t,A=(0|F(A,i))/1e3|0,e[51292]=A,e[54729]=(0|t)>20?A<<1:t?A:0,e[33037]=(0|F(500-t|0,(0|F(d[e[50797]+105596|0],(0|F(e[50787],55))/100|0))/16|0))/500,t=256,(0|(A=(0|(A=e[50785]))>=101?101:A))>=51&&(t=256+(((F(A,25)-1250&65535)>>>0)/50|0)|0),v[101990]=(0|F(v[102026],t))/256,v[101991]=(0|F(v[102027],t))/256,v[101992]=(0|F(v[102028],t))/256,v[101993]=(0|F(v[102029],t))/256,v[101994]=(0|F(v[102030],t))/256,v[101995]=(0|F(v[102031],t))/256,t=e[50790],v[101999]=(0|F(v[102035],F(t,-6)+256|0))/256,v[102e3]=(0|F(v[102036],F(t,-3)+256|0))/256,Sn(8,0,e[50986],0,e[51290]),DA(e[r+8>>2]);break c}if(!e[50759])break c;A=e[r+12>>2],r=e[r+8>>2],e[55911]=0,e[55915]=t?2097152/(0|t)|0:0,e[55910]=r,t=(0|F(A,e[33037]))/16|0,e[50779]=t,e[50780]=(0|F(F(t,e[50985]),15))/100;break c}Sn(A>>8,t,e[r+8>>2],e[r+12>>2],h)}i=0,t=e[50757]+1|0,e[50757]=(0|t)<=169?t:0}if(g[218920]=i,!((h=e[51290])>>>0<re[54046]))break}l=e[34391],r=(e[51290]-l|0)/2|0,e[34439]=r+e[34439],A=e[34436],t=e[34388]+F(A,36)|0,e[t+4>>2]=0,e[t>>2]=0,e[t+24>>2]=e[34438];a:if(2&(t=e[32538])){if(h=e[34388],(-2&t)==2&&(!(r=A?h:0)|e[r>>2]!=8||(0|(r=e[r+28>>2]))!=e[34389]&&(e[34389]=r)),i=1,(0|A)<2)break a;for(;;){r=A?h+F(i,36)|0:0;n:{c:switch(0|t){case 2:case 3:if(!r|e[r>>2]!=8||(0|(r=e[r+28>>2]))==e[34389])break n;e[34389]=r;break n;case 0:break c;default:break n}(t=e[34440])?(Ar[0|t](l,0,r),A=e[34436],t=e[32538]):t=0}if(!((0|(i=i+1|0))<(0|A)))break}}else if((t=e[34440])&&0|Ar[0|t](l,r,e[34388]))break r;if(!xt(1)&&!(170-((0|(t=e[50757]-e[50758]|0))<=0?t+170|0:t)|0||(t=e[34388],e[t>>2]=0,e[t+4>>2]=e[34437],e[t+24>>2]=e[34438],Qe(1))))break}if(A=0,2&d[130152]||!(t=e[34440])||!(0|Ar[0|t](0,0,e[34388])))break t}Qe(2),A=268439295}if((0|A)<=268437502){if(!A|(0|A)==268436479|(0|A)!=268437247)break e;return}}}function xt(t){var A,r=0,a=0,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,Te=0,Oe=0,$e=0,nt=0,ht=0,vt=0;oe=A=oe-720|0,r=e[47198],t||(e[36443]=0,e[36442]=1,e[36444]=0,e[36440]=0,e[36441]=0,t=e[50758],e[36454]=t,e[36427]=-1,e[36424]=-1,e[36446]=0,e[36447]=0,e[36439]=-1,e[36426]=0,e[36455]=t,e[36448]=0,e[36449]=0,e[36450]=0,e[36451]=0,e[36452]=0,e[36453]=0,wA(),e[36427]=-1,t=216192+(e[50758]<<4)|0,e[t>>2]=5,e[t+4>>2]=0,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0,e[36426]=0,e[36438]&&(e[36438]=0,t=216192+(e[50758]<<4)|0,e[t>>2]=14,e[t+4>>2]=0,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0));e:{t:if(!((0|(t=e[36442]))>997|e[36423]<=(0|t)))for(ae=r>>>1&1,ue=A+48|4,be=A+348|0,Te=A+652|0,Oe=e[32322],P=e[32320],$e=A+60|0,nt=A+648|0,ht=A+56|0,vt=A+620|0,R=A- -64|0;;){if(a=145840+(t<<5)|0,!(t=e[50756])|!e[t>>2]||(e[A+12>>2]=0,Za(t=A+16|0,e[a+8>>2],a,0,A+12|0),r=wo(t),i=d[a+17|0],t=216192+(e[50758]<<4)|0,e[t>>2]=16,e[t+8>>2]=i,e[t+4>>2]=r,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0),t=1,(0|(i=(0|(r=e[50757]-e[50758]|0))<=0?r+170|0:r))<=(0|((r=d[a+17|0])?(0|r)==2?25:15:10)))break e;if(M=e[36442],2&d[0|a])for(y=2047&T[a+4>>1];;){if(i=e[36443],m=127&(r=e[198304+(i<<2)>>2])){t=r>>>8|0,e[36443]=i+1;r:{a:{switch((31&r)-2|0){case 0:yn(96&r|8,t),Ha(2);break r;case 5:if((0|t)>=e[34064]||!e[4+(m=136272+(i=t<<4)|0)>>2])break r;Kr(10,0),t=216192+(e[50758]<<4)|0,e[t>>2]=6,m=e[m+4>>2],e[t+8>>2]=e[8+(i+136272|0)>>2]+44,e[t+12>>2]=5376,e[t+4>>2]=m;break a;case 8:if((0|((0|(i=e[50757]-e[50758]|0))<=0?i+170:i))<6)break r;m=e[47353],i=216192+(e[50758]<<4)|0,e[i>>2]=778,e[i+8>>2]=t,e[i+4>>2]=m+y&16777215;break a;case 9:if((0|((0|(i=e[50757]-e[50758]|0))<=0?i+170:i))<6)break r;m=e[33284],i=216192+(e[50758]<<4)|0,e[i>>2]=1034,e[i+8>>2]=t,e[i+4>>2]=m+1&16777215;break a}Kr(10,0),i=216192+(e[50758]<<4)|0,e[i>>2]=12,e[i+8>>2]=t,e[i+4>>2]=m}t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0}if(!(128&r))continue}break}(t=d[a+20|0])&&(1&g[e[47192]+48|0]&d[a+17|0]==2|1&g[e[a+8>>2]+7|0]||(e[36426]=0),r=e[47353]+(2047&T[a+4>>1])|0,e[36445]=r,4&t&&((0|((0|(t=e[50757]-e[50758]|0))<=0?t+170:t))<6||(i=e[47568],t=216192+(e[50758]<<4)|0,e[t>>2]=522,e[t+8>>2]=i,e[t+4>>2]=16777215&r,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0)),1&g[a+20|0]&&(r=T[a+4>>1],i=e[36444],e[36444]=i+1,(0|((0|(t=e[50757]-e[50758]|0))<=0?t+170:t))<6||(y=e[36445],m=e[47355],t=216192+(e[50758]<<4)|0,e[t>>2]=266,e[t+8>>2]=i+m,e[t+4>>2]=16777215&y|(63488&r)<<13,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0))),(0|(t=e[36441]))>0&&(r=216192+(e[36425]<<4)|0,e[r+4>>2]||(e[r+4>>2]=t),e[36441]=0),t=M+1<<5,r=M-1<<5,!(i=d[a+18|0])|2&d[e[a+8>>2]+7|0]||Kr(i,1),m=t+145840|0,l=r+145840|0,y=1;r:{a:{if(e[47198]&&(w=e[a+8>>2],d[w+10|0]!=15)){n:if(d[a+17|0]==2)switch(d[l+17|0]-3|0){case 0:case 5:break a;default:break n}y=0,Za(A+704|0,w,a,ae,0),(0|((0|(t=e[50757]-e[50758]|0))<=0?t+170:t))<6||(r=e[36445],t=216192+(e[50758]<<4)|0,e[t>>2]=1802,e[t+4>>2]=16777215&r,r=e[A+708>>2],e[t+8>>2]=e[A+704>>2],e[t+12>>2]=r,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0)}n:switch(d[a+17|0]){case 0:Kr(e[a+12>>2],0),g[a+23|0]=d[e[a+8>>2]+14|0];break r;case 4:r=e[a+8>>2],(0|(t=d[m+17|0]))==2|!d[m+20|0]&(0|t)==3||(v[a>>1]=8192|T[a>>1]),2&d[r+7|0]&&(e[A+88>>2]=0,e[A+92>>2]=0,e[A+80>>2]=0,e[A+84>>2]=0,e[A+72>>2]=0,e[A+76>>2]=0,e[R>>2]=0,e[R+4>>2]=0,e[A+56>>2]=0,e[A+60>>2]=0,e[A+48>>2]=0,e[A+52>>2]=0,Gt(0,1,a,A+552|0,145784),e[A+56>>2]=e[A+620>>2],e[R>>2]=e[A+640>>2],e[36424]<0&&(i=d[m+19|0],t=e[50758],e[36425]=t,e[36441]=0,e[12+(t=216192+(t<<4)|0)>>2]=i,e[t+8>>2]=0,e[t>>2]=8,e[t+4>>2]=0,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0,y=d[m+22|0],i=d[m+21|0],m=e[129280+(d[a+16|0]<<2)>>2],(0|(t=e[36424]))<0|(0|(w=e[36440]))<=0||e[4+(t=216192+(t<<4)|0)>>2]||(e[t+4>>2]=w),t=e[50758],e[36424]=t,e[36440]=0,e[(t=216192+(t<<4)|0)>>2]=9,e[t+4>>2]=0,y|=i<<16,i=(0|i)==255,e[t+12>>2]=i?3604556:y,e[t+8>>2]=i?P:m,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0),eA(r,0,A+48|0,a,0)),Gt(0,0,a,A+552|0,145784),e[A+552>>2]=4|e[A+552>>2],(0|(t=e[36440]))<=0||(0|(r=e[36424]))<0||(e[4+(r=216192+(r<<4)|0)>>2]||(e[r+4>>2]=t),e[36440]=0),e[36426]=0,e[36439]=-1,e[36455]=e[50758],wA(),e[36427]=-1,e[36422]=0,(t=e[A+624>>2])&&(i=t,t=e[A+644>>2],Ya(i,2,e[A+596>>2]<<1,e[A+552>>2],0,t?(t<<5)/100|0:32)),e[36426]=0;break r;case 6:Gt(0,0,a,A+552|0,145784),8&d[0|a]&&(t=e[a+12>>2],(0|(r=e[36440]))<=0||(0|(i=e[36424]))<0||(e[4+(i=216192+(i<<4)|0)>>2]||(e[i+4>>2]=r),e[36440]=0),e[36426]=0,e[36439]=-1,e[36455]=e[50758],wA(),e[36427]=-1,e[36422]=0,(r=e[A+624>>2])&&(i=t,t=e[A+644>>2],Ya(r,2,e[A+596>>2]<<1,e[A+552>>2],i,t?(t<<5)/100|0:32))),t=e[a+12>>2],(0|(r=e[36440]))<=0||(0|(i=e[36424]))<0||(e[4+(i=216192+(i<<4)|0)>>2]||(e[i+4>>2]=r),e[36440]=0),e[36426]=0,e[36439]=-1,e[36455]=e[50758],wA(),e[36427]=-1,e[36422]=0,(r=e[A+624>>2])&&(i=t,t=e[A+644>>2],Ya(r,2,e[A+596>>2]<<1,e[A+552>>2],i,t?(t<<5)/100|0:32)),e[36426]=0;break r;case 5:i=e[a+8>>2],e[ue+40>>2]=0,e[(t=ue)+32>>2]=0,e[t+36>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t>>2]=0,e[t+4>>2]=0,e[A+48>>2]=4;c:{o:{f:{l:switch(d[m+17|0]-2|0){case 0:r=d[a+19|0],t=e[50758],e[36425]=t,e[36441]=0,e[12+(t=216192+(t<<4)|0)>>2]=r,e[t+8>>2]=0,e[t>>2]=8,e[t+4>>2]=0,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0,r=d[a+22|0],w=d[a+21|0],y=e[129280+(d[a+16|0]<<2)>>2],(0|(t=e[36424]))<0|(0|(h=e[36440]))<=0||e[4+(t=216192+(t<<4)|0)>>2]||(e[t+4>>2]=h),t=(h=!(255&~w))?P:y,y=1;break o;case 1:break l;default:break f}if(!d[m+20|0]){r=d[m+19|0],t=e[50758],e[36425]=t,e[36441]=0,e[12+(t=216192+(t<<4)|0)>>2]=r,e[t+8>>2]=0,e[t>>2]=8,e[t+4>>2]=0,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0,r=d[m+22|0],w=d[m+21|0],y=e[129280+(d[m+16|0]<<2)>>2],(0|(t=e[36424]))<0|(0|(h=e[36440]))<=0||e[4+(t=216192+(t<<4)|0)>>2]||(e[t+4>>2]=h),t=(h=!(255&~w))?P:y,y=1;break o}}if(y=0,e[36424]>=0)break c;r=d[m+19|0],t=e[50758],e[36425]=t,e[36441]=0,e[12+(t=216192+(t<<4)|0)>>2]=r,e[t+8>>2]=0,e[t>>2]=8,e[t+4>>2]=0,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0,r=d[a+22|0],w=d[a+21|0],y=e[129280+(d[a+16|0]<<2)>>2],(0|(t=e[36424]))<0|(0|(h=e[36440]))<=0||e[4+(t=216192+(t<<4)|0)>>2]||(e[t+4>>2]=h),t=(h=!(255&~w))?P:y,y=0}ee=e[50758],e[36424]=ee,e[36440]=0,e[(ee=216192+(ee<<4)|0)>>2]=9,e[ee+4>>2]=0,e[ee+12>>2]=h?3604556:255&r|(255&w)<<16,e[ee+8>>2]=t,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0}c:if(!(2&d[i+7|0])&d[l+17|0]!=2)8&d[0|a]&&Kr(50,0);else{if(Gt(0,1,a,A+552|0,145784),e[A+56>>2]=e[A+620>>2],e[A+64>>2]=e[A+640>>2],eA(i,0,A+48|0,a,0),!(8&d[0|a]))break c;Kr(25,1),eA(i,0,A+48|0,a,0)}c:if(y){if(e[36455]!=e[36454])break c;e[36455]=e[50758]}else v[a>>1]=8192|T[a>>1];if(Gt(0,0,a,A+552|0,145784),e[A+56>>2]=e[A+620>>2],e[A+64>>2]=e[A+640>>2],e[A+76>>2]=e[A+636>>2],e[A+80>>2]=e[A+656>>2],eA(i,0,A+48|0,a,0),d[a+20|0]|d[84+(145840+(M<<5)|0)|0]||((0|(t=d[m+17|0]))==7&&(Kr(20,0),t=d[m+17|0]),(255&t)!=6))break r;Kr(12,0);break r;case 7:c:{o:{f:{l:{i:switch((t=d[m+17|0])-2|0){case 1:break l;case 0:break i;default:break f}r=d[a+19|0],t=e[50758],e[36425]=t,e[36441]=0,e[12+(t=216192+(t<<4)|0)>>2]=r,e[t+8>>2]=0,e[t>>2]=8,e[t+4>>2]=0,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0,y=d[a+22|0],t=d[a+21|0],i=e[129280+(d[a+16|0]<<2)>>2],(0|(r=e[36424]))<0|(0|(w=e[36440]))<=0||e[4+(r=216192+(r<<4)|0)>>2]||(e[r+4>>2]=w),r=(w=!(255&~t))?P:i;break o}r=d[m+19|0],t=e[50758],e[36425]=t,e[36441]=0,e[12+(t=216192+(t<<4)|0)>>2]=r,e[t+8>>2]=0,e[t>>2]=8,e[t+4>>2]=0,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0,y=d[m+22|0],t=d[m+21|0],i=e[129280+(d[m+16|0]<<2)>>2],(0|(r=e[36424]))<0|(0|(w=e[36440]))<=0||e[4+(r=216192+(r<<4)|0)>>2]||(e[r+4>>2]=w),r=(w=!(255&~t))?P:i;break o}if(e[36424]>=0)break c;r=d[a+19|0],t=e[50758],e[36425]=t,e[36441]=0,e[12+(t=216192+(t<<4)|0)>>2]=r,e[t+8>>2]=0,e[t>>2]=8,e[t+4>>2]=0,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0,y=d[a+22|0],t=d[a+21|0],i=e[129280+(d[a+16|0]<<2)>>2],(0|(r=e[36424]))<0|(0|(w=e[36440]))<=0||e[4+(r=216192+(r<<4)|0)>>2]||(e[r+4>>2]=w),r=(w=!(255&~t))?P:i}i=e[50758],e[36424]=i,e[36440]=0,e[(i=216192+(i<<4)|0)>>2]=9,e[i+4>>2]=0,e[i+12>>2]=w?3604556:(255&t)<<16|y,e[i+8>>2]=r,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0,t=d[m+17|0]}c:{o:{f:switch((255&t)-2|0){case 1:if(d[m+20|0])break o;break;case 0:break f;default:break o}if(e[36455]!=e[36454])break c;e[36455]=e[50758];break c}v[a>>1]=8192|T[a>>1]}Gt(0,0,a,A+552|0,145784),e[A+56>>2]=0,e[A+60>>2]=0,e[R>>2]=0,e[R+4>>2]=0,e[A+80>>2]=0,e[A+84>>2]=0,e[A+72>>2]=0,e[A+76>>2]=0,e[A+88>>2]=0,e[A+56>>2]=e[A+620>>2],e[R>>2]=e[A+640>>2],e[A+80>>2]=e[A+656>>2],e[A+48>>2]=0,e[A+52>>2]=0,e[A+76>>2]=e[A+636>>2],e[A+92>>2]=e[A+596>>2]<<1,8&d[0|a]&&eA(e[a+8>>2],0,A+48|0,a,0),eA(e[a+8>>2],0,A+48|0,a,0);break r;case 8:if(e[A+88>>2]=0,e[A+92>>2]=0,e[A+80>>2]=0,e[A+84>>2]=0,e[A+72>>2]=0,e[A+76>>2]=0,e[R>>2]=0,e[R+4>>2]=0,e[A+56>>2]=0,e[A+60>>2]=0,e[A+48>>2]=0,e[A+52>>2]=0,1&g[0|a]||(r=d[a+19|0],t=e[50758],e[36425]=t,e[36441]=0,e[12+(t=216192+(t<<4)|0)>>2]=r,e[t+8>>2]=0,e[t>>2]=8,e[t+4>>2]=0,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0,i=d[a+22|0],r=d[a+21|0],y=e[129280+(d[a+16|0]<<2)>>2],(0|(t=e[36424]))<0|(0|(w=e[36440]))<=0||e[4+(t=216192+(t<<4)|0)>>2]||(e[t+4>>2]=w),t=e[50758],e[36424]=t,e[36440]=0,e[(t=216192+(t<<4)|0)>>2]=9,e[t+4>>2]=0,i|=r<<16,r=(0|r)==255,e[t+12>>2]=r?3604556:i,e[t+8>>2]=r?P:y,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0),d[l+17|0]==8&&(e[36426]=0),Gt(0,0,a,A+552|0,145784),e[A+56>>2]=e[A+620>>2],e[A+64>>2]=e[A+640>>2],e[A+92>>2]=e[A+596>>2]<<1,d[m+17|0]==2){e[36455]==e[36454]&&(e[36455]=e[50758]),eA(e[a+8>>2],0,A+48|0,a,0);break r}if(!(!(1&g[0|a])|d[l+17|0]!=2)){eA(e[a+8>>2],0,A+48|0,a,0);break r}e[36426]=0,eA(e[a+8>>2],0,A+48|0,a,0),e[36426]=0;break r;case 3:e[A+88>>2]=0,e[A+92>>2]=0,e[A+80>>2]=0,e[A+84>>2]=0,e[A+72>>2]=0,e[A+76>>2]=0,e[R>>2]=0,e[R+4>>2]=0,e[A+56>>2]=0,e[A+60>>2]=0,e[A+48>>2]=0,e[A+52>>2]=0,i=e[e[a+8>>2]+4>>2],1&g[0|a]||(r=d[a+19|0],t=e[50758],e[36425]=t,e[36441]=0,e[12+(t=216192+(t<<4)|0)>>2]=r,e[t+8>>2]=0,e[t>>2]=8,e[t+4>>2]=0,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0,y=d[a+22|0],r=d[a+21|0],w=e[129280+(d[a+16|0]<<2)>>2],(0|(t=e[36424]))<0|(0|(h=e[36440]))<=0||e[4+(t=216192+(t<<4)|0)>>2]||(e[t+4>>2]=h),t=e[50758],e[36424]=t,e[36440]=0,e[(t=216192+(t<<4)|0)>>2]=9,e[t+4>>2]=0,y|=r<<16,r=(0|r)==255,e[t+12>>2]=r?3604556:y,e[t+8>>2]=r?P:w,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0),d[l+17|0]==8&&(e[36426]=0),d[m+17|0]!=2|e[36455]!=e[36454]||(e[36455]=e[50758]),Gt(0,0,a,A+552|0,145784),(0|(t=e[A+584>>2]-d[a+18|0]|0))>0&&Kr(t,1),e[A+56>>2]=e[A+620>>2],e[A+64>>2]=e[A+640>>2],e[A+76>>2]=e[A+636>>2],e[A+80>>2]=e[A+656>>2],e[A+92>>2]=e[A+596>>2]<<1,eA(e[a+8>>2],0,A+48|0,a,i<<24>>31&5);break r;case 2:break n;default:break r}w=e[a+8>>2]}M=d[a+3|0],e[A+88>>2]=0,e[A+92>>2]=0,e[A+80>>2]=0,e[A+84>>2]=0,e[A+72>>2]=0,e[A+76>>2]=0,e[R>>2]=0,e[R+4>>2]=0,e[A+56>>2]=0,e[A+60>>2]=0,e[A+48>>2]=0,e[A+52>>2]=0,Gt(0,0,a,A+552|0,145784),t=e[A+628>>2],e[A+56>>2]=t,e[A+92>>2]=e[A+596>>2]<<1;a:{if(!t||(h=0,i=nt,r=$e,2&d[A+552|0])){if(d[l+17|0]?(h=0,Gt(0,0,l,A+400|0,0),t=e[A+476>>2],e[A+56>>2]=t,!t|!(2&d[A+400|0])||(e[A+72>>2]=e[A+496>>2],h=1),r=e[A+512>>2],e[A+84>>2]=e[A+508>>2],e[A+88>>2]=r):h=0,t)break a;e[A+48>>2]=1,e[A+52>>2]=1,i=vt,r=ht}e[r>>2]=e[i>>2]}e[A+64>>2]=e[A+640>>2],r=d[a+16|0],t=0,(i=d[a+7|0])?(qa(i,A+96|0),r=Ki(e[A+220>>2]),(0|(i=e[A+224>>2]))<=0||(t=Ki(i))):r=e[129280+(r<<2)>>2],e[36455]==e[36454]&&(e[36455]=e[50758]),i=(i=15&M)>>>0<2?1:i>>>0>6?3:2;a:{switch(d[l+17|0]-3|0){case 2:case 4:h=d[a+19|0],l=e[50758],e[36425]=l,e[36441]=0,e[12+(l=216192+(l<<4)|0)>>2]=h,e[l+8>>2]=t,e[l>>2]=8,e[l+4>>2]=0,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0,h=d[a+22|0],l=d[a+21|0],(0|(t=e[36440]))<=0||(0|(M=e[36424]))<0||e[4+(M=216192+(M<<4)|0)>>2]||(e[M+4>>2]=t),t=e[50758],e[36424]=t,e[36440]=0,e[(t=216192+(t<<4)|0)>>2]=9,e[t+4>>2]=0,h|=l<<16,l=(0|l)==255,e[t+12>>2]=l?3604556:h,e[t+8>>2]=l?P:r,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0,eA(w,1,A+48|0,a,i);break a;case 0:case 5:h=d[a+19|0],l=e[50758],e[36425]=l,e[36441]=0,e[12+(l=216192+(l<<4)|0)>>2]=h,e[l+8>>2]=t,e[l>>2]=8,e[l+4>>2]=0,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0,eA(w,1,A+48|0,a,i),h=d[a+22|0],l=d[a+21|0],(0|(t=e[36440]))<=0||(0|(M=e[36424]))<0||e[4+(M=216192+(M<<4)|0)>>2]||(e[M+4>>2]=t),t=e[50758],e[36424]=t,e[36440]=0,e[(t=216192+(t<<4)|0)>>2]=9,e[t+4>>2]=0,h|=l<<16,l=(0|l)==255,e[t+12>>2]=l?3604556:h,e[t+8>>2]=l?P:r,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0;break a}h?(h=d[a+22|0],(0|(l=e[36440]))<=0||(0|(M=e[36424]))<0||e[4+(M=216192+(M<<4)|0)>>2]||(e[M+4>>2]=l),l=e[50758],e[36424]=l,e[36440]=0,e[(l=216192+(l<<4)|0)>>2]=9,e[l+4>>2]=0,e[l+12>>2]=(h|h<<16)-983040,e[l+8>>2]=Oe,l=e[50758]+1|0,e[50758]=(0|l)<=169?l:0,h=d[a+19|0],l=e[50758],e[36425]=l,e[36441]=0,e[(l=216192+(l<<4)|0)>>2]=8,e[l+4>>2]=0,e[l+12>>2]=h-1,e[l+8>>2]=t,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0,eA(w,1,A+48|0,a,i),l=d[a+21|0],h=d[a+22|0],(0|(t=e[36440]))<=0||(0|(M=e[36424]))<0||e[4+(M=216192+(M<<4)|0)>>2]||(e[M+4>>2]=t),t=e[50758],e[36424]=t,e[36440]=0,e[(t=216192+(t<<4)|0)>>2]=9,e[t+4>>2]=0,h|=l<<16,l=(0|l)==255,e[t+12>>2]=l?3604556:h,e[t+8>>2]=l?P:r,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0):(1&g[0|a]||(h=d[a+19|0],l=e[50758],e[36425]=l,e[36441]=0,e[12+(l=216192+(l<<4)|0)>>2]=h,e[l+8>>2]=t,e[l>>2]=8,e[l+4>>2]=0,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0,h=d[a+22|0],l=d[a+21|0],(0|(t=e[36440]))<=0||(0|(M=e[36424]))<0||e[4+(M=216192+(M<<4)|0)>>2]||(e[M+4>>2]=t),t=e[50758],e[36424]=t,e[36440]=0,e[(t=216192+(t<<4)|0)>>2]=9,e[t+4>>2]=0,h|=l<<16,l=(0|l)==255,e[t+12>>2]=l?3604556:h,e[t+8>>2]=l?P:r,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0),eA(w,1,A+48|0,a,i))}!e[47198]|1^y||(Za(A+704|0,e[a+8>>2],a,ae,0),(0|((0|(t=e[50757]-e[50758]|0))<=0?t+170:t))<6||(r=e[36445],t=216192+(e[50758]<<4)|0,e[t>>2]=1802,e[t+4>>2]=16777215&r,r=e[A+708>>2],e[t+8>>2]=e[A+704>>2],e[t+12>>2]=r,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0)),e[A+56>>2]=e[A+620>>2],e[A+84>>2]=0,e[A+88>>2]=0,e[A+64>>2]=e[A+640>>2],r=e[A+632>>2],e[A+68>>2]=r,t=Te;a:{if(!r&&(!d[m+17|0]||(e[A+72>>2]=0,Gt(0,0,m,A+248|0,0),e[A+52>>2]=1,t=e[A+368>>2],e[A+84>>2]=e[A+364>>2],e[A+88>>2]=t,r=e[A+328>>2],e[A+68>>2]=r,t=be,!r)))break a;e[A+72>>2]=e[t>>2]}eA(w,2,A+48|0,a,i)}if(t=e[36442]+1|0,e[36442]=t,(0|t)>997)break t;if(!(e[36423]>(0|t)))break}(0|(t=e[36440]))<=0||(0|(r=e[36424]))<0||(e[4+(r=216192+(r<<4)|0)>>2]||(e[r+4>>2]=t),e[36440]=0),e[36426]=0,e[36439]=-1,e[36455]=e[50758],wA(),e[36427]=-1,t=0,e[36423]<=0||(r=e[47568],i=e[33284],(0|((0|(t=e[50757]-e[50758]|0))<=0?t+170:t))>=6&&(t=216192+(e[50758]<<4)|0,e[t>>2]=1290,e[t+8>>2]=r,e[t+4>>2]=16777215&i,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0),e[36423]=0,t=0)}return oe=A+720|0,t}function jt(t,A,r,a){var i,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,Te=0,Oe=0,$e=0,nt=0,ht=0,vt=0,Qt=0,Ut=0,fA=0,hA=0,FA=0,YA=0,rr=0;oe=i=oe-48|0;e:{if(r>>>0<=2){for(fA=e[124732+(r<<=2)>>2],hA=e[r+124720>>2];(0|(r=e[A+4>>2]))==e[A+104>>2]?r=lA(A):(e[A+4>>2]=r+1,r=d[0|r]),(0|r)==32|r-9>>>0<5;);ee=1;t:{r:switch(r-43|0){case 0:case 2:break r;default:break t}ee=(0|r)==45?-1:1,(0|(r=e[A+4>>2]))==e[A+104>>2]?r=lA(A):(e[A+4>>2]=r+1,r=d[0|r])}t:{r:{for(;;){if(g[m+84056|0]==(32|r)){if(m>>>0>6||((0|(r=e[A+4>>2]))==e[A+104>>2]?r=lA(A):(e[A+4>>2]=r+1,r=d[0|r])),(0|(m=m+1|0))!=8)continue;break r}break}if((0|m)!=3){if((0|m)==8)break r;if(!a|m>>>0<4)break t;if((0|m)==8)break r}if((0|(r=e[A+116>>2]))>0|(0|r)>=0&&(e[A+4>>2]=e[A+4>>2]-1),!(!a|m>>>0<4))for(r=(0|r)<0;r||(e[A+4>>2]=e[A+4>>2]-1),(m=m-1|0)>>>0>3;);}oe=P=oe-16|0,U(Ce(Ce(0|ee)*Ce(1/0))),(A=2147483647&(w=G(2)))-8388608>>>0<=2130706431?(r=A,r<<=25,a=1065353216+(A=A>>>7|0)|0):(r=w<<25,a=w>>>7|2147418112,A>>>0>=2139095040||(r=0,a=0,A&&(Us(P,r=A,0,0,0,(A=ce(A))+81|0),y=e[P>>2],M=e[P+4>>2],r=e[P+8>>2],a=65536^e[P+12>>2]|16265-A<<16))),e[i>>2]=y,e[i+4>>2]=M,e[i+8>>2]=r,e[i+12>>2]=-2147483648&w|a,oe=P+16|0,y=e[i+8>>2],M=e[i+12>>2],w=e[i>>2],R=e[i+4>>2];break e}t:{r:{a:if(!m){for(m=0;;){if(g[m+84473|0]!=(32|r))break a;if(m>>>0>1||((0|(r=e[A+4>>2]))==e[A+104>>2]?r=lA(A):(e[A+4>>2]=r+1,r=d[0|r])),(0|(m=m+1|0))==3)break}break r}switch(0|m){case 0:if((0|r)==48){if((0|(m=e[A+4>>2]))==e[A+104>>2]?m=lA(A):(e[A+4>>2]=m+1,m=d[0|m]),(-33&m)==88){oe=h=oe-432|0,(0|(r=e[A+4>>2]))==e[A+104>>2]?m=lA(A):(e[A+4>>2]=r+1,m=d[0|r]);a:{n:{for(;;){if((0|m)!=48){if((0|m)!=46)break a;if((0|(r=e[A+4>>2]))!=e[A+104>>2]){e[A+4>>2]=r+1,m=d[0|r];break n}break}(0|(r=e[A+4>>2]))!=e[A+104>>2]?(Ut=1,e[A+4>>2]=r+1,m=d[0|r]):(Ut=1,m=lA(A))}m=lA(A)}if(be=1,(0|m)==48){for(;Te=(r=Te)-1|0,Oe=Oe-!r|0,(0|(r=e[A+4>>2]))==e[A+104>>2]?m=lA(A):(e[A+4>>2]=r+1,m=d[0|r]),(0|m)==48;);Ut=1}}for(R=1073676288;;){a:{r=32|m;n:{if(!((FA=m-48|0)>>>0<10)){if((0|m)!=46&r-97>>>0>=6)break a;if((0|m)==46){if(be)break a;be=1,Te=y,Oe=M;break n}}r=(0|m)>57?r-87|0:FA,(0|M)<=0&y>>>0<=7|(0|M)<0?l=r+(l<<4)|0:!M&y>>>0<=28?(Ss(h+48|0,r),Jt(h+32|0,vt,Qt,w,R,0,0,0,1073414144),vt=e[h+32>>2],Qt=e[h+36>>2],w=e[h+40>>2],R=e[h+44>>2],Jt(h+16|0,e[h+48>>2],e[h+52>>2],e[h+56>>2],e[h+60>>2],vt,Qt,w,R),WA(h,e[h+16>>2],e[h+20>>2],e[h+24>>2],e[h+28>>2],P,ue,nt,ht),nt=e[h+8>>2],ht=e[h+12>>2],P=e[h>>2],ue=e[h+4>>2]):ae|!r||(Jt(h+80|0,vt,Qt,w,R,0,0,0,1073610752),WA(h- -64|0,e[h+80>>2],e[h+84>>2],e[h+88>>2],e[h+92>>2],P,ue,nt,ht),nt=e[h+72>>2],ht=e[h+76>>2],ae=1,P=e[h+64>>2],ue=e[h+68>>2]),M=(y=y+1|0)?M:M+1|0,Ut=1}(0|(r=e[A+4>>2]))!=e[A+104>>2]?(e[A+4>>2]=r+1,m=d[0|r]):m=lA(A);continue}break}a:if(Ut){if((0|M)<=0&y>>>0<=7|(0|M)<0)for(w=y,R=M;l<<=4,(0|(w=w+1|0))!=8|(R=w?R:R+1|0););n:{c:{o:{if((-33&m)==80){if(w=Ci(A,a),R=r=fe,w|(0|r)!=-2147483648)break n;if(a){if((0|(r=e[A+116>>2]))>0|(0|r)>=0)break o;break c}P=0,ue=0,qs(A,0,0),r=0,A=0;break a}if(w=0,R=0,e[A+116>>2]<0)break n}e[A+4>>2]=e[A+4>>2]-1}w=0,R=0}if(l)if(r=w+((A=be?Te:y)<<2)|0,A=(M=(be?Oe:M)<<2|A>>>30)+R|0,(y=r-32|0)>>>0>0-fA>>>0&(0|(A=M=(r>>>0<w>>>0?A+1|0:A)-(r>>>0<32)|0))>=0|(0|A)>0)e[56798]=68,Ss(h+160|0,ee),Jt(h+144|0,e[h+160>>2],e[h+164>>2],e[h+168>>2],e[h+172>>2],-1,-1,-1,2147418111),Jt(h+128|0,e[h+144>>2],e[h+148>>2],e[h+152>>2],e[h+156>>2],-1,-1,-1,2147418111),P=e[h+128>>2],ue=e[h+132>>2],r=e[h+140>>2],A=e[h+136>>2];else if((0|M)>=(0|(r=(A=fA-226|0)>>31))&A>>>0<=y>>>0|(0|r)<(0|M)){if((0|l)>=0)for(;WA(h+416|0,P,ue,nt,ht,0,0,0,-1073807360),WA(h+400|0,P,ue,nt,ht,(A=r=(0|(A=Do(P,ue,nt,ht,1073610752)))>=0)?e[h+416>>2]:P,A?e[h+420>>2]:ue,A?e[h+424>>2]:nt,A?e[h+428>>2]:ht),y=(A=y)-1|0,M=M-!A|0,nt=e[h+408>>2],ht=e[h+412>>2],P=e[h+400>>2],ue=e[h+404>>2],(0|(l=r|l<<1))>=0;);A=M-((fA>>31)+(y>>>0<fA>>>0)|0)|0,(0|(r=(r=32+(y-fA|0)|0)>>>0<hA>>>0&(0|(A=r>>>0<32?A+1|0:A))<=0|(0|A)<0?(0|r)>0?r:0:hA))>=113?(Ss(h+384|0,ee),Te=e[h+392>>2],Oe=e[h+396>>2],vt=e[h+384>>2],Qt=e[h+388>>2],w=0,A=0):(Vs(h+352|0,Bn(1,144-r|0)),Ss(h+336|0,ee),vt=e[h+336>>2],Qt=e[h+340>>2],Te=e[h+344>>2],Oe=e[h+348>>2],Wi(h+368|0,e[h+352>>2],e[h+356>>2],e[h+360>>2],e[h+364>>2],vt,Qt,Te,Oe),$e=e[h+376>>2],YA=e[h+380>>2],w=e[h+372>>2],A=e[h+368>>2]),yi(h+320|0,(a=!(1&l)&!!(0|Wt(P,ue,nt,ht,0,0,0,0))&(0|r)<32)+l|0),Jt(h+304|0,vt,Qt,Te,Oe,e[h+320>>2],e[h+324>>2],e[h+328>>2],e[h+332>>2]),r=A,WA(h+272|0,e[h+304>>2],e[h+308>>2],e[h+312>>2],e[h+316>>2],A,w,$e,YA),Jt(h+288|0,vt,Qt,Te,Oe,(A=a)?0:P,A?0:ue,A?0:nt,A?0:ht),WA(h+256|0,e[h+288>>2],e[h+292>>2],e[h+296>>2],e[h+300>>2],e[h+272>>2],e[h+276>>2],e[h+280>>2],e[h+284>>2]),xi(h+240|0,e[h+256>>2],e[h+260>>2],e[h+264>>2],e[h+268>>2],r,w,$e,YA),Wt(A=e[h+240>>2],a=e[h+244>>2],r=e[h+248>>2],w=e[h+252>>2],0,0,0,0)||(e[56798]=68),Tr(h+224|0,A,a,r,w,y),P=e[h+224>>2],ue=e[h+228>>2],r=e[h+236>>2],A=e[h+232>>2]}else e[56798]=68,Ss(h+208|0,ee),Jt(h+192|0,e[h+208>>2],e[h+212>>2],e[h+216>>2],e[h+220>>2],0,0,0,65536),Jt(h+176|0,e[h+192>>2],e[h+196>>2],e[h+200>
2810>2],e[h+204>>2],0,0,0,65536),P=e[h+176>>2],ue=e[h+180>>2],r=e[h+188>>2],A=e[h+184>>2];else Vs(h+112|0,0*+(0|ee)),P=e[h+112>>2],ue=e[h+116>>2],r=e[h+124>>2],A=e[h+120>>2]}else{n:{c:{if((0|(r=e[A+116>>2]))>0|(0|r)>=0){if(r=e[A+4>>2],e[A+4>>2]=r-1,!a)break c;if(e[A+4>>2]=r-2,!be)break n;e[A+4>>2]=r-3;break n}if(a)break n}qs(A,0,0)}Vs(h+96|0,0*+(0|ee)),P=e[h+96>>2],ue=e[h+100>>2],r=e[h+108>>2],A=e[h+104>>2]}e[i+16>>2]=P,e[i+20>>2]=ue,e[i+24>>2]=A,e[i+28>>2]=r,oe=h+432|0,y=e[i+24>>2],M=e[i+28>>2],w=e[i+16>>2],R=e[i+20>>2];break e}e[A+116>>2]<0||(e[A+4>>2]=e[A+4>>2]-1)}m=A,$e=ee,h=a,A=0,ee=0,oe=l=oe-8976|0,YA=(FA=0-fA|0)-hA|0;a:{n:{for(;;){if((0|r)!=48){if((0|r)!=46)break a;if((0|(r=e[m+4>>2]))!=e[m+104>>2]){e[m+4>>2]=r+1,r=d[0|r];break n}break}(0|(A=e[m+4>>2]))!=e[m+104>>2]?(e[m+4>>2]=A+1,r=d[0|A]):r=lA(m),A=1}r=lA(m)}if(ae=1,(0|r)==48){for(;y=(A=y)-1|0,M=M-!A|0,(0|(A=e[m+4>>2]))==e[m+104>>2]?r=lA(m):(e[m+4>>2]=A+1,r=d[0|A]),(0|r)==48;);A=1}}e[l+784>>2]=0;a:{n:{c:{o:{f:{if((a=(0|r)==46)|(P=r-48|0)>>>0<=9)for(;;){l:{if(1&a){if(!ae){y=w,M=R,ae=1;break l}a=!A;break f}R=(w=w+1|0)?R:R+1|0,(0|ee)<=2044?(Ut=(0|r)==48?Ut:w,A=(l+784|0)+(ee<<2)|0,be&&(P=(F(e[A>>2],10)+r|0)-48|0),e[A>>2]=P,A=1,be=(r=(0|(a=be+1|0))==9)?0:a,ee=r+ee|0):(0|r)!=48&&(e[l+8960>>2]=1|e[l+8960>>2],Ut=18396)}if((0|(r=e[m+4>>2]))==e[m+104>>2]?r=lA(m):(e[m+4>>2]=r+1,r=d[0|r]),!((a=(0|r)==46)|(P=r-48|0)>>>0<10))break}if(y=ae?y:w,M=ae?M:R,!(!A|(-33&r)!=69)){if(P=Ci(m,h),ue=A=fe,!(P|(0|A)!=-2147483648)){if(!h)break c;P=0,ue=0,e[m+116>>2]<0||(e[m+4>>2]=e[m+4>>2]-1)}M=M+ue|0,M=(y=y+P|0)>>>0<P>>>0?M+1|0:M;break n}if(a=!A,(0|r)<0)break o}e[m+116>>2]<0||(e[m+4>>2]=e[m+4>>2]-1)}if(!a)break n;e[56798]=28}w=0,R=0,qs(m,0,0),r=0,A=0;break a}if(A=e[l+784>>2])if(w>>>0>9&(0|R)>=0|(0|R)>0|(0|w)!=(0|y)|(0|M)!=(0|R)|(A>>>hA|0?(0|hA)<=30:0))if(y>>>0>FA>>>1>>>0&(0|M)>=0|(0|M)>0)e[56798]=68,Ss(l+96|0,$e),Jt(l+80|0,e[l+96>>2],e[l+100>>2],e[l+104>>2],e[l+108>>2],-1,-1,-1,2147418111),Jt(l- -64|0,e[l+80>>2],e[l+84>>2],e[l+88>>2],e[l+92>>2],-1,-1,-1,2147418111),w=e[l+64>>2],R=e[l+68>>2],r=e[l+76>>2],A=e[l+72>>2];else if((r=y>>>0<(A=fA-226|0)>>>0)&(0|M)<=(0|(A>>=31))|(0|A)>(0|M))e[56798]=68,Ss(l+144|0,$e),Jt(l+128|0,e[l+144>>2],e[l+148>>2],e[l+152>>2],e[l+156>>2],0,0,0,65536),Jt(l+112|0,e[l+128>>2],e[l+132>>2],e[l+136>>2],e[l+140>>2],0,0,0,65536),w=e[l+112>>2],R=e[l+116>>2],r=e[l+124>>2],A=e[l+120>>2];else{if(be){if((0|be)<=8){for(m=e[(A=(l+784|0)+(ee<<2)|0)>>2];m=F(m,10),(0|(be=be+1|0))!=9;);e[A>>2]=m}ee=ee+1|0}if(ae=y,!((0|Ut)>(0|y)|(0|Ut)>=9|(0|y)>17)){if((0|ae)==9){Ss(l+192|0,$e),yi(l+176|0,e[l+784>>2]),Jt(l+160|0,e[l+192>>2],e[l+196>>2],e[l+200>>2],e[l+204>>2],e[l+176>>2],e[l+180>>2],e[l+184>>2],e[l+188>>2]),w=e[l+160>>2],R=e[l+164>>2],r=e[l+172>>2],A=e[l+168>>2];break a}if((0|ae)<=8){Ss(l+272|0,$e),yi(l+256|0,e[l+784>>2]),Jt(l+240|0,e[l+272>>2],e[l+276>>2],e[l+280>>2],e[l+284>>2],e[l+256>>2],e[l+260>>2],e[l+264>>2],e[l+268>>2]),Ss(l+224|0,e[124720+(0-ae<<2)>>2]),EA(l+208|0,e[l+240>>2],e[l+244>>2],e[l+248>>2],e[l+252>>2],e[l+224>>2],e[l+228>>2],e[l+232>>2],e[l+236>>2]),w=e[l+208>>2],R=e[l+212>>2],r=e[l+220>>2],A=e[l+216>>2];break a}if(A=27+(F(ae,-3)+hA|0)|0,!((r=e[l+784>>2])>>>A|0&&(0|A)<=30)){Ss(l+352|0,$e),yi(l+336|0,r),Jt(l+320|0,e[l+352>>2],e[l+356>>2],e[l+360>>2],e[l+364>>2],e[l+336>>2],e[l+340>>2],e[l+344>>2],e[l+348>>2]),Ss(l+304|0,e[124648+(ae<<2)>>2]),Jt(l+288|0,e[l+320>>2],e[l+324>>2],e[l+328>>2],e[l+332>>2],e[l+304>>2],e[l+308>>2],e[l+312>>2],e[l+316>>2]),w=e[l+288>>2],R=e[l+292>>2],r=e[l+300>>2],A=e[l+296>>2];break a}}for(;!e[(l+784|0)+((ee=(r=ee)-1|0)<<2)>>2];);if(be=0,A=(0|ae)%9|0){if(a=0,A=(0|ae)<0?A+9|0:A,r){for(M=1e9/(0|(y=e[124720+(0-A<<2)>>2]))|0,P=0,m=0;w=(w=P)+(ee=((R=e[(P=(l+784|0)+(m<<2)|0)>>2])>>>0)/(y>>>0)|0)|0,e[P>>2]=w,a=(w=!w&(0|a)==(0|m))?a+1&2047:a,ae=w?ae-9|0:ae,P=F(M,R-F(y,ee)|0),(0|(m=m+1|0))!=(0|r););P&&(e[(l+784|0)+(r<<2)>>2]=P,r=r+1|0)}else r=0;ae=9+(ae-A|0)|0}else a=0;for(;;){m=(l+784|0)+(a<<2)|0;n:{for(;;){if(((0|ae)!=36|re[m>>2]>=10384593)&(0|ae)>=36)break n;for(ee=r+2047|0,P=0,A=r;r=A,y=P,P=(A=e[(ee=(l+784|0)+((w=2047&ee)<<2)|0)>>2])<<29,A=R=A>>>3|0,!(M=(y=y+P|0)>>>0<P>>>0?A+1|0:A)&y>>>0<1000000001?P=0:y=(A=y)-er(P=Qi(A,M,1e9),fe,1e9,0)|0,e[ee>>2]=y,A=(0|w)!=(r-1&2047)||(0|a)==(0|w)||y?r:w,ee=w-1|0,(0|a)!=(0|w););
vendor: 19,084 bytes, line 2810
2810if(be=be-29|0,P)break}(0|(a=a-1&2047))==(0|A)&&(m=r=(y=l+784|0)+((A+2046&2047)<<2)|0,M=e[r>>2],r=A-1&2047,e[m>>2]=M|e[y+(r<<2)>>2]),ae=ae+9|0,e[(l+784|0)+(a<<2)>>2]=P;continue}break}n:{c:for(;;){for(y=r+1&2047,P=(l+784|0)+((r-1&2047)<<2)|0;;){w=(0|ae)>45?9:1;o:{for(;;){A=a,m=0;f:{for(;;){if((0|(a=A+m&2047))!=(0|r)&&!((a=e[(l+784|0)+(a<<2)>>2])>>>0<(M=e[124672+(m<<2)>>2])>>>0)){if(a>>>0>M>>>0)break f;if((0|(m=m+1|0))!=4)continue}break}if((0|ae)==36){for(y=0,M=0,m=0,w=0,R=0;(0|(a=A+m&2047))==(0|r)&&(e[780+(l+((r=r+1&2047)<<2)|0)>>2]=0),yi(l+768|0,e[(l+784|0)+(a<<2)>>2]),Jt(l+752|0,y,M,w,R,0,0,1342177280,1075633366),WA(l+736|0,e[l+752>>2],e[l+756>>2],e[l+760>>2],e[l+764>>2],e[l+768>>2],e[l+772>>2],e[l+776>>2],e[l+780>>2]),w=e[l+744>>2],R=e[l+748>>2],y=e[l+736>>2],M=e[l+740>>2],(0|(m=m+1|0))!=4;);if(Ss(l+720|0,$e),Jt(l+704|0,y,M,w,R,e[l+720>>2],e[l+724>>2],e[l+728>>2],e[l+732>>2]),w=e[l+712>>2],R=e[l+716>>2],y=0,M=0,P=e[l+704>>2],ue=e[l+708>>2],(0|(a=(ee=(0|(m=(h=be+113|0)-fA|0))<(0|hA))?(0|m)>0?m:0:hA))<=112)break o;break n}}if(be=w+be|0,a=r,(0|A)!=(0|r))break}for(R=1e9>>>w|0,ee=~(-1<<w),m=0,a=A;M=(M=m)+((h=e[(m=(l+784|0)+(A<<2)|0)>>2])>>>w|0)|0,e[m>>2]=M,a=(M=!M&(0|A)==(0|a))?a+1&2047:a,ae=M?ae-9|0:ae,m=F(R,h&ee),(0|r)!=(0|(A=A+1&2047)););if(!m)continue;if((0|a)!=(0|y)){e[(l+784|0)+(r<<2)>>2]=m,r=y;continue c}e[P>>2]=1|e[P>>2];continue}break}break}Vs(l+656|0,Bn(1,225-a|0)),Wi(l+688|0,e[l+656>>2],e[l+660>>2],e[l+664>>2],e[l+668>>2],P,ue,w,R),vt=e[l+696>>2],Qt=e[l+700>>2],nt=e[l+688>>2],ht=e[l+692>>2],Vs(l+640|0,Bn(1,113-a|0)),dn(l+672|0,P,ue,w,R,e[l+640>>2],e[l+644>>2],e[l+648>>2],e[l+652>>2]),xi(l+624|0,P,ue,w,R,y=e[l+672>>2],M=e[l+676>>2],Te=e[l+680>>2],Oe=e[l+684>>2]),WA(l+608|0,nt,ht,vt,Qt,e[l+624>>2],e[l+628>>2],e[l+632>>2],e[l+636>>2]),w=e[l+616>>2],R=e[l+620>>2],P=e[l+608>>2],ue=e[l+612>>2]}if((0|(ae=A+4&2047))!=(0|r)){n:if((ae=e[(l+784|0)+(ae<<2)>>2])>>>0<=499999999){if(!ae&(A+5&2047)==(0|r))break n;Vs(l+496|0,.25*+(0|$e)),WA(l+480|0,y,M,Te,Oe,e[l+496>>2],e[l+500>>2],e[l+504>>2],e[l+508>>2]),Te=e[l+488>>2],Oe=e[l+492>>2],y=e[l+480>>2],M=e[l+484>>2]}else(0|ae)==5e8?(rr=+(0|$e),(A+5&2047)!=(0|r)?(Vs(l+560|0,.75*rr),WA(l+544|0,y,M,Te,Oe,e[l+560>>2],e[l+564>>2],e[l+568>>2],e[l+572>>2]),Te=e[l+552>>2],Oe=e[l+556>>2],y=e[l+544>>2],M=e[l+548>>2]):(Vs(l+528|0,.5*rr),WA(l+512|0,y,M,Te,Oe,e[l+528>>2],e[l+532>>2],e[l+536>>2],e[l+540>>2]),Te=e[l+520>>2],Oe=e[l+524>>2],y=e[l+512>>2],M=e[l+516>>2])):(Vs(l+592|0,.75*+(0|$e)),WA(l+576|0,y,M,Te,Oe,e[l+592>>2],e[l+596>>2],e[l+600>>2],e[l+604>>2]),Te=e[l+584>>2],Oe=e[l+588>>2],y=e[l+576>>2],M=e[l+580>>2]);(0|a)>111||(dn(l+464|0,y,M,Te,Oe,0,0,0,1073676288),Wt(e[l+464>>2],e[l+468>>2],e[l+472>>2],e[l+476>>2],0,0,0,0)||(WA(l+448|0,y,M,Te,Oe,0,0,0,1073676288),Te=e[l+456>>2],Oe=e[l+460>>2],y=e[l+448>>2],M=e[l+452>>2]))}WA(l+432|0,P,ue,w,R,y,M,Te,Oe),xi(l+416|0,e[l+432>>2],e[l+436>>2],e[l+440>>2],e[l+444>>2],nt,ht,vt,Qt),w=e[l+424>>2],R=e[l+428>>2],P=e[l+416>>2],ue=e[l+420>>2],(YA-2|0)>=(2147483647&h)||(e[l+408>>2]=w,e[l+412>>2]=2147483647&R,e[l+400>>2]=P,e[l+404>>2]=ue,Jt(l+384|0,P,ue,w,R,0,0,0,1073610752),w=(A=(0|(A=Do(e[l+400>>2],e[l+404>>2],e[l+408>>2],e[l+412>>2],1081081856)))>=0)?e[l+392>>2]:w,R=A?e[l+396>>2]:R,P=A?e[l+384>>2]:P,ue=A?e[l+388>>2]:ue,be=A+be|0,!(!!(0|Wt(y,M,Te,Oe,0,0,0,0))&(A?ee&(0|a)!=(0|m):ee))&(be+110|0)<=(0|YA)||(e[56798]=68)),Tr(l+368|0,P,ue,w,R,be),w=e[l+368>>2],R=e[l+372>>2],r=e[l+380>>2],A=e[l+376>>2]}else Ss(l+48|0,$e),yi(l+32|0,A),Jt(l+16|0,e[l+48>>2],e[l+52>>2],e[l+56>>2],e[l+60>>2],e[l+32>>2],e[l+36>>2],e[l+40>>2],e[l+44>>2]),w=e[l+16>>2],R=e[l+20>>2],r=e[l+28>>2],A=e[l+24>>2];else Vs(l,0*+(0|$e)),w=e[l>>2],R=e[l+4>>2],r=e[l+12>>2],A=e[l+8>>2]}e[i+40>>2]=A,e[i+44>>2]=r,e[i+32>>2]=w,e[i+36>>2]=R,oe=l+8976|0,y=e[i+40>>2],M=e[i+44>>2],w=e[i+32>>2],R=e[i+36>>2];break e;case 3:break r}(0|(r=e[A+116>>2]))>0|(0|r)>=0&&(e[A+4>>2]=e[A+4>>2]-1);break t}if((0|(r=e[A+4>>2]))==e[A+104>>2]?r=lA(A):(e[A+4>>2]=r+1,r=d[0|r]),(0|r)!=40){if(M=2147450880,e[A+116>>2]<0)break e;e[A+4>>2]=e[A+4>>2]-1;break e}for(m=1;(0|(r=e[A+4>>2]))==e[A+104>>2]?r=lA(A):(e[A+4>>2]=r+1,r=d[0|r]),r-48>>>0<10|r-65>>>0<26|(0|r)==95||!(r-97>>>0>=26);)m=m+1|0;if(M=2147450880,(0|r)==41)break e;(0|(r=e[A+116>>2]))>0|(0|r)>=0&&(e[A+4>>2]=e[A+4>>2]-1);r:{if(a){if(m)break r;break e}break t}for(;m=m-1|0,(0|r)>0|(0|r)>=0&&(e[A+4>>2]=e[A+4>>2]-1),m;);break e}e[56798]=28,qs(A,0,0)}M=0}e[t>>2]=w,e[t+4>>2]=R,e[t+8>>2]=y,e[t+12>>2]=M,oe=i+48|0}function eA(t,A,r,a,i){var l,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,Te=0,Oe=0,$e=0,nt=0,ht=0,vt=0,Qt=0,Ut=0,fA=0,hA=0;if(oe=l=oe-112|0,e[r+8>>2]){fA=e[50754]/70|0,ue=(P=e[a+12>>2])||256;e:if((0|A)!=2){if((0|A)==1){t:if(d[t+11|0]!=3)switch(d[a-15|0]-3|0){case 0:case 5:break t;default:break e}ue=(0|(P=e[e[47192]+44>>2]))<(0|ue)?ue:P}}else{if((0|(P=e[e[47192]+80>>2]))<=0|!(8&d[0|a]|P>>>0<=d[t+14|0]|32&d[t+6|0]))break e;fA<<=1}if(e[36436]=0,Oe=t,hA=A,y=a,oe=ae=oe-16|0,t=e[34460]+e[r+8>>2]|0,A=(A=d[t+2|0])>>>0>=24?24:A,e[ae+12>>2]=A,m=e[r+12>>2]+e[r+24>>2]|0,e[36422]=m,A){for(P=t+4|0,h=1&v[t+4>>1];t=145488+(M<<3)|0,a=P+(h?M<<6:F(M,44))|0,e[t+4>>2]=a,ee=T[a>>1],v[t+2>>1]=ee,v[t>>1]=d[a+16|0],w=2&ee?M:w,(0|(M=M+1|0))!=(0|A););P=145488,(0|w)<=0||((0|hA)!=1?(A=A-w|0,e[ae+12>>2]=A,P=145488+(w<<3)|0):(A=w+1|0,e[ae+12>>2]=A,P=145488))}else A=0,P=145488;if(!(!e[r+4>>2]|e[r+20>>2]|d[Oe+11|0]!=2)){if(h=e[r+36>>2],a=e[r+40>>2],t=0,(0|(A=e[ae+12>>2]))>=2){w=h>>>12|0,ee=a>>>26&7,$e=a>>>18&248,be=F(Te=63&a,50),ht=63&(vt=h>>>6|0),M=h<<1&126,Qt=F(a>>>16&31,50)-750|0,Ut=F(a>>>11&31,50)-750|0,nt=F(a>>>6&31,50)-750|0;e:{t:if((0|hA)!=1){if(!(w|Te))break e;if(8&w?(A=e[4+(P+((m=A-1|0)<<3)|0)>>2],v[A>>1]<0?t=A:(t=(0|(t=e[44469]+1|0))<=169?t:0,e[44469]=t,m=T[A+20>>1]|T[A+22>>1]<<16,t=177888+(t<<6)|0,h=T[A+16>>1]|T[A+18>>1]<<16,v[t+16>>1]=h,v[t+18>>1]=h>>>16,v[t+20>>1]=m,v[t+22>>1]=m>>>16,m=T[A+4>>1]|T[A+6>>1]<<16,h=T[A>>1]|T[A+2>>1]<<16,v[t>>1]=h,v[t+2>>1]=h>>>16,v[t+4>>1]=m,v[t+6>>1]=m>>>16,m=T[A+12>>1]|T[A+14>>1]<<16,h=T[A+8>>1]|T[A+10>>1]<<16,v[t+8>>1]=h,v[t+10>>1]=h>>>16,v[t+12>>1]=m,v[t+14>>1]=m>>>16,m=T[A+28>>1]|T[A+30>>1]<<16,h=T[A+24>>1]|T[A+26>>1]<<16,v[t+24>>1]=h,v[t+26>>1]=h>>>16,v[t+28>>1]=m,v[t+30>>1]=m>>>16,m=T[A+36>>1]|T[A+38>>1]<<16,h=T[A+32>>1]|T[A+34>>1]<<16,v[t+32>>1]=h,v[t+34>>1]=h>>>16,v[t+36>>1]=m,v[t+38>>1]=m>>>16,m=T[A+44>>1]|T[A+46>>1]<<16,h=T[A+40>>1]|T[A+42>>1]<<16,v[t+40>>1]=h,v[t+42>>1]=h>>>16,v[t+44>>1]=m,v[t+46>>1]=m>>>16,m=T[A+52>>1]|T[A+54>>1]<<16,h=T[A+48>>1]|T[A+50>>1]<<16,v[t+48>>1]=h,v[t+50>>1]=h>>>16,v[t+52>>1]=m,v[t+54>>1]=m>>>16,m=T[A+60>>1]|T[A+62>>1]<<16,A=T[A+56>>1]|T[A+58>>1]<<16,v[t+56>>1]=A,v[t+58>>1]=A>>>16,v[t+60>>1]=m,v[t+62>>1]=m>>>16,g[t+16|0]=0,v[t>>1]=32768|T[t>>1],m=e[ae+12>>2]-1|0),e[4+(P+(m<<3)|0)>>2]=t,A=1792,(0|(m=v[t+4>>1]))<300||(A=1536,m>>>0<400||(A=m>>>0<500?1280:1024)),e[36436]=A,h=35):(e[ae+12>>2]=A+1,v[(t=(m=P+(A<<3)|0)-8|0)>>1]=M,A=e[t+4>>2],t=(0|(t=e[44469]+1|0))<=169?t:0,e[44469]=t,(t=177888+(vt=t<<6)|0)&&(h=T[A+4>>1]|T[A+6>>1]<<16,R=T[A>>1]|T[A+2>>1]<<16,v[t>>1]=R,v[t+2>>1]=R>>>16,v[t+4>>1]=h,v[t+6>>1]=h>>>16,h=T[A+60>>1]|T[A+62>>1]<<16,R=T[A+56>>1]|T[A+58>>1]<<16,v[t+56>>1]=R,v[t+58>>1]=R>>>16,v[t+60>>1]=h,v[t+62>>1]=h>>>16,h=T[A+52>>1]|T[A+54>>1]<<16,R=T[A+48>>1]|T[A+50>>1]<<16,v[t+48>>1]=R,v[t+50>>1]=R>>>16,v[t+52>>1]=h,v[t+54>>1]=h>>>16,h=T[A+44>>1]|T[A+46>>1]<<16,R=T[A+40>>1]|T[A+42>>1]<<16,v[t+40>>1]=R,v[t+42>>1]=R>>>16,v[t+44>>1]=h,v[t+46>>1]=h>>>16,h=T[A+36>>1]|T[A+38>>1]<<16,R=T[A+32>>1]|T[A+34>>1]<<16,v[t+32>>1]=R,v[t+34>>1]=R>>>16,v[t+36>>1]=h,v[t+38>>1]=h>>>16,h=T[A+28>>1]|T[A+30>>1]<<16,R=T[A+24>>1]|T[A+26>>1]<<16,v[t+24>>1]=R,v[t+26>>1]=R>>>16,v[t+28>>1]=h,v[t+30>>1]=h>>>16,h=T[A+20>>1]|T[A+22>>1]<<16,R=T[A+16>>1]|T[A+18>>1]<<16,v[t+16>>1]=R,v[t+18>>1]=R>>>16,v[t+20>>1]=h,v[t+22>>1]=h>>>16,h=T[A+12>>1]|T[A+14>>1]<<16,A=T[A+8>>1]|T[A+10>>1]<<16,v[t+8>>1]=A,v[t+10>>1]=A>>>16,v[t+12>>1]=h,v[t+14>>1]=h>>>16,g[vt+177904|0]=0,v[t>>1]=32768|T[t>>1]),v[m>>1]=0,e[m+4>>2]=t,M>>>0>=37&&(e[36422]=(M+e[36422]|0)-36),h=ht<<1,Te&&gt(t,be,nt,Ut,ee,Qt,$e,w)),e[e[32972]+132>>2]||(A=d[t+17|0])&&(A=v[102896+(((0|(A=(h<<6>>>0)/(A>>>0)|0))>=199?199:A)<<1)>>1],g[t+18|0]=(0|F(A,d[t+18|0]))/512,g[t+19|0]=(0|F(A,d[t+19|0]))/512,g[t+20|0]=(0|F(A,d[t+20|0]))/512,g[t+21|0]=(0|F(A,d[t+21|0]))/512,g[t+22|0]=(0|F(A,d[t+22|0]))/512,g[t+23|0]=(0|F(A,d[t+23|0]))/512,g[t+24|0]=(0|F(A,d[t+24|0]))/512,g[t+25|0]=(0|F(A,d[t+25|0]))/512),a-536870912>>>0<=1073741823){if(ee=e[44469],(0|(m=e[ae+12>>2]))>0)for(t=F(a>>>29|0,10)+102854|0,$e=v[t+4>>1],Te=v[t+2>>1],be=v[t>>1],Qt=v[t+6>>1],Ut=v[t+8>>1],h=0;A=e[4+(nt=P+(h<<3)|0)>>2],v[A>>1]<0?t=A:(t=177888+(ht=(ee=(0|(t=ee+1|0))<=169?t:0)<<6)|0)?(a=T[A+4>>1]|T[A+6>>1]<<16,m=T[A>>1]|T[A+2>>1]<<16,v[t>>1]=m,v[t+2>>1]=m>>>16,v[t+4>>1]=a,v[t+6>>1]=a>>>16,a=T[A+60>>1]|T[A+62>>1]<<16,m=T[A+56>>1]|T[A+58>>1]<<16,v[t+56>>1]=m,v[t+58>>1]=m>>>16,v[t+60>>1]=a,v[t+62>>1]=a>>>16,a=T[A+52>>1]|T[A+54>>1]<<16,m=T[A+48>>1]|T[A+50>>1]<<16,v[t+48>>1]=m,v[t+50>>1]=m>>>16,v[t+52>>1]=a,v[t+54>>1]=a>>>16,a=T[A+44>>1]|T[A+46>>1]<<16,m=T[A+40>>1]|T[A+42>>1]<<16,v[t+40>>1]=m,v[t+42>>1]=m>>>16,v[t+44>>1]=a,v[t+46>>1]=a>>>16,a=T[A+36>>1]|T[A+38>>1]<<16,m=T[A+32>>1]|T[A+34>>1]<<16,v[t+32>>1]=m,v[t+34>>1]=m>>>16,v[t+36>>1]=a,v[t+38>>1]=a>>>16,a=T[A+28>>1]|T[A+30>>1]<<16,m=T[A+24>>1]|T[A+26>>1]<<16,v[t+24>>1]=m,v[t+26>>1]=m>>>16,v[t+28>>1]=a,v[t+30>>1]=a>>>16,a=T[A+20>>1]|T[A+22>>1]<<16,m=T[A+16>>1]|T[A+18>>1]<<16,v[t+16>>1]=m,v[t+18>>1]=m>>>16,v[t+20>>1]=a,v[t+22>>1]=a>>>16,a=T[A+12>>1]|T[A+14>>1]<<16,A=T[A+8>>1]|T[A+10>>1]<<16,v[t+8>>1]=A,v[t+10>>1]=A>>>16,v[t+12>>1]=a,v[t+14>>1]=a>>>16,g[ht+177904|0]=0,v[t>>1]=32768|T[t>>1],m=e[ae+12>>2]):t=0,e[nt+4>>2]=t,v[t+8>>1]=(0|F($e,v[t+8>>1]))/256,v[t+6>>1]=(0|F(Te,v[t+6>>1]))/256,v[t+4>>1]=(0|F(be,v[t+4>>1]))/256,v[t+12>>1]=(0|F(Ut,v[t+12>>1]))/256,v[t+10>>1]=(0|F(Qt,v[t+10>>1]))/256,(0|m)>(0|(h=h+1|0)););e[44469]=ee}if(!t)break e}else{A=e[P+4>>2],(0|(m=v[A>>1]))<0?t=A:(a=(0|(a=e[44469]+1|0))<=169?a:0,e[44469]=a,(a=177888+(m=a<<6)|0)&&(t=T[A+4>>1]|T[A+6>>1]<<16,R=T[A>>1]|T[A+2>>1]<<16,v[a>>1]=R,v[a+2>>1]=R>>>16,v[a+4>>1]=t,v[a+6>>1]=t>>>16,t=T[A+60>>1]|T[A+62>>1]<<16,R=T[A+56>>1]|T[A+58>>1]<<16,v[a+56>>1]=R,v[a+58>>1]=R>>>16,v[a+60>>1]=t,v[a+62>>1]=t>>>16,t=T[A+52>>1]|T[A+54>>1]<<16,R=T[A+48>>1]|T[A+50>>1]<<16,v[a+48>>1]=R,v[a+50>>1]=R>>>16,v[a+52>>1]=t,v[a+54>>1]=t>>>16,t=T[A+44>>1]|T[A+46>>1]<<16,R=T[A+40>>1]|T[A+42>>1]<<16,v[a+40>>1]=R,v[a+42>>1]=R>>>16,v[a+44>>1]=t,v[a+46>>1]=t>>>16,t=T[A+36>>1]|T[A+38>>1]<<16,R=T[A+32>>1]|T[A+34>>1]<<16,v[a+32>>1]=R,v[a+34>>1]=R>>>16,v[a+36>>1]=t,v[a+38>>1]=t>>>16,t=T[A+28>>1]|T[A+30>>1]<<16,R=T[A+24>>1]|T[A+26>>1]<<16,v[a+24>>1]=R,v[a+26>>1]=R>>>16,v[a+28>>1]=t,v[a+30>>1]=t>>>16,t=T[A+20>>1]|T[A+22>>1]<<16,R=T[A+16>>1]|T[A+18>>1]<<16,v[a+16>>1]=R,v[a+18>>1]=R>>>16,v[a+20>>1]=t,v[a+22>>1]=t>>>16,t=T[A+12>>1]|T[A+14>>1]<<16,A=T[A+8>>1]|T[A+10>>1]<<16,v[a+8>>1]=A,v[a+10>>1]=A>>>16,v[a+12>>1]=t,v[a+14>>1]=t>>>16,g[m+177904|0]=0,m=-32768|T[a>>1],v[a>>1]=m,t=a)),e[P+4>>2]=t,v[P>>1]=M||50,v[P+2>>1]=16384|T[P+2>>1],v[t>>1]=16384|m,m=e[P+12>>2],A=d[m+17|0],a=e[32972],e[a+132>>2]&&(g[t+39|0]=d[m+39|0]-4);r:if(Te){if(2048&h){A=(F(A,31&vt)>>>0)/30|0,e[a+132>>2]||(a=d[t+17|0])&&(A=v[102896+(((0|(A=(A<<6>>>0)/(a>>>0)|0))>=199?199:A)<<1)>>1],g[t+18|0]=(0|F(A,d[t+18|0]))/512,g[t+19|0]=(0|F(A,d[t+19|0]))/512,g[t+20|0]=(0|F(A,d[t+20|0]))/512,g[t+21|0]=(0|F(A,d[t+21|0]))/512,g[t+22|0]=(0|F(A,d[t+22|0]))/512,g[t+23|0]=(0|F(A,d[t+23|0]))/512,g[t+24|0]=(0|F(A,d[t+24|0]))/512,g[t+25|0]=(0|F(A,d[t+25|0]))/512),gt(t,be,nt,Ut,ee,Qt,$e,w);break r}if(gt(t,be,nt,Ut,ee,Qt,$e,w),e[e[32972]+132>>2]||!(A=d[t+17|0]))break r;A=v[102896+(((0|(A=(ht<<7>>>0)/(A>>>0)|0))>=199?199:A)<<1)>>1],g[t+18|0]=(0|F(A,d[t+18|0]))/512,g[t+19|0]=(0|F(A,d[t+19|0]))/512,g[t+20|0]=(0|F(A,d[t+20|0]))/512,g[t+21|0]=(0|F(A,d[t+21|0]))/512,g[t+22|0]=(0|F(A,d[t+22|0]))/512,g[t+23|0]=(0|F(A,d[t+23|0]))/512,g[t+24|0]=(0|F(A,d[t+24|0]))/512,g[t+25|0]=(0|F(A,d[t+25|0]))/512}else if(a=e[a+132>>2],8&w){if(a||!(a=d[t+17|0]))break r;A=((16320&F(A,48))>>>0)/(a>>>0)|0,A=v[102896+((A>>>0>=199?199:A)<<1)>>1],g[t+18|0]=(0|F(A,d[t+18|0]))/512,g[t+19|0]=(0|F(A,d[t+19|0]))/512,g[t+20|0]=(0|F(A,d[t+20|0]))/512,g[t+21|0]=(0|F(A,d[t+21|0]))/512,g[t+22|0]=(0|F(A,d[t+22|0]))/512,g[t+23|0]=(0|F(A,d[t+23|0]))/512,g[t+24|0]=(0|F(A,d[t+24|0]))/512,g[t+25|0]=(0|F(A,d[t+25|0]))/512}else a||(A=d[t+17|0])&&(A=v[102896+(((A=1792/(A>>>0)|0)>>>0>=199?199:A)<<1)>>1],g[t+18|0]=(0|F(A,d[t+18|0]))/512,g[t+19|0]=(0|F(A,d[t+19|0]))/512,g[t+20|0]=(0|F(A,d[t+20|0]))/512,g[t+21|0]=(0|F(A,d[t+21|0]))/512,g[t+22|0]=(0|F(A,d[t+22|0]))/512,g[t+23|0]=(0|F(A,d[t+23|0]))/512,g[t+24|0]=(0|F(A,d[t+24|0]))/512,g[t+25|0]=(0|F(A,d[t+25|0]))/512);if(!(8&w))break t;A=2816,(0|(a=v[t+4>>1]))<300||(A=2560,a>>>0<400||(A=a>>>0<500?2304:2048)),e[36436]=A}4&w&&(v[t>>1]=32|T[t>>1]),2&w&&(v[t>>1]=16|T[t>>1])}64&w&&Kr(20,0),t=M&w<<27>>31}else t=0;m=t+e[36422]|0,e[36422]=m,A=e[ae+12>>2]}if((0|(a=A-1|0))<=0)h=0;else{if(t=0,M=0,h=0,A-2>>>0>=3)for($e=-4&a,ee=0;h=(((v[(w=M<<3)+P>>1]+h|0)+v[P+(8|w)>>1]|0)+v[P+(16|w)>>1]|0)+v[P+(24|w)>>1]|0,M=M+4|0,(0|$e)!=(0|(ee=ee+4|0)););if(w=3&a)for(;h=v[P+(M<<3)>>1]+h|0,M=M+1|0,(0|w)!=(0|(t=t+1|0)););}if(t=A,(w=e[r+20>>2])&&(t=a,M=w+e[34460]|0,(ee=d[M+2|0])&&(Te=T[M+4>>1],v[P+(a<<3)>>1]=d[M+20|0],w=1,t=A,(0|ee)!=1))){if($e=M+4|0,Te&=1,Qt=1&(M=ee-1|0),(0|ee)!=2)for(Ut=-2&M,ee=0;nt=$e+(w<<6)|0,ht=$e+F(w,44)|0,vt=d[(be=Te?nt:ht)+16|0],e[4+(M=P+(t<<3)|0)>>2]=be,v[M>>1]=vt,v[M+2>>1]=T[be>>1],nt=d[16+(be=Te?nt- -64|0:ht+44|0)|0],e[M+12>>2]=be,v[M+8>>1]=nt,v[M+10>>1]=T[be>>1],w=w+2|0,t=t+2|0,(0|Ut)!=(0|(ee=ee+2|0)););Qt&&(w=$e+(Te?w<<6:F(w,44))|0,ee=d[w+16|0],e[4+(M=P+(t<<3)|0)>>2]=w,v[M>>1]=ee,v[M+2>>1]=T[w>>1],t=t+1|0)}e:if(!((0|h)<=0)){t:{switch(hA-1|0){case 1:if(w=(0|(w=(e[r+44>>2]+m|0)-45|0))<=10?10:w,8&d[0|y]&&(w=w+(d[e[36128]+14|0]<<1)|0),(0|a)<=0)break e;if(y=(w<<8)/(0|h)|0,M=0,(0|A)!=2)for(A=-2&a,w=0;v[(h=(m=M<<3)+P|0)>>1]=(0|F(y,v[h>>1]))/256,v[(m=P+(8|m)|0)>>1]=(0|F(y,v[m>>1]))/256,M=M+2|0,(0|A)!=(0|(w=w+2|0)););if(!(1&a))break e;v[(A=P+(M<<3)|0)>>1]=(0|F(y,v[A>>1]))/256;break e;case 0:if(e[r>>2]!=1||(0|(w=e[r+44>>2]))>129)break t;v[P>>1]=(0|F(w,v[P>>1]))/130;break t}(0|(w=e[r+44>>2]))<=0||(m=(w-h|0)+m|0,e[36422]=m)}if(!(!m|(0|a)<=0)){if(y=(h+m<<8)/(0|h)|0,M=0,(0|A)!=2)for(A=-2&a,w=0;v[(h=(m=M<<3)+P|0)>>1]=(0|F(y,v[h>>1]))/256,v[(m=P+(8|m)|0)>>1]=(0|F(y,v[m>>1]))/256,M=M+2|0,(0|A)!=(0|(w=w+2|0)););1&a&&(v[(A=P+(M<<3)|0)>>1]=(0|F(y,v[A>>1]))/256)}}if(e[l+108>>2]=t,oe=ae+16|0,P){if((0|(t=e[r+16>>2]))!=e[36438]&&(e[36438]=t,A=216192+(e[50758]<<4)|0,e[A>>2]=14,e[A+4>>2]=t,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0),M=(t=e[e[32972]+132>>2])?1:3,A=e[P+4>>2],e[r+28>>2]|!d[145748]||(g[145748]=0,M=t?2:4),(a=e[36426])&&(!((2&(t=T[a>>1]))>>>1|d[a+16|0]<2)|16&t||(m=216192+(e[36439]<<4)|0,e[m+12>>2]=A,8&t&&(t=(0|(t=e[44469]+1|0))<=169?t:0,e[44469]=t,(t=177888+(w=t<<6)|0)&&(y=T[A+4>>1]|T[A+6>>1]<<16,h=T[A>>1]|T[A+2>>1]<<16,v[t>>1]=h,v[t+2>>1]=h>>>16,v[t+4>>1]=y,v[t+6>>1]=y>>>16,y=T[A+60>>1]|T[A+62>>1]<<16,h=T[A+56>>1]|T[A+58>>1]<<16,v[t+56>>1]=h,v[t+58>>1]=h>>>16,v[t+60>>1]=y,v[t+62>>1]=y>>>16,y=T[A+52>>1]|T[A+54>>1]<<16,h=T[A+48>>1]|T[A+50>>1]<<16,v[t+48>>1]=h,v[t+50>>1]=h>>>16,v[t+52>>1]=y,v[t+54>>1]=y>>>16,y=T[A+44>>1]|T[A+46>>1]<<16,h=T[A+40>>1]|T[A+42>>1]<<16,v[t+40>>1]=h,v[t+42>>1]=h>>>16,v[t+44>>1]=y,v[t+46>>1]=y>>>16,y=T[A+36>>1]|T[A+38>>1]<<16,h=T[A+32>>1]|T[A+34>>1]<<16,v[t+32>>1]=h,v[t+34>>1]=h>>>16,v[t+36>>1]=y,v[t+38>>1]=y>>>16,y=T[A+28>>1]|T[A+30>>1]<<16,h=T[A+24>>1]|T[A+26>>1]<<16,v[t+24>>1]=h,v[t+26>>1]=h>>>16,v[t+28>>1]=y,v[t+30>>1]=y>>>16,y=T[A+20>>1]|T[A+22>>1]<<16,h=T[A+16>>1]|T[A+18>>1]<<16,v[t+16>>1]=h,v[t+18>>1]=h>>>16,v[t+20>>1]=y,v[t+22>>1]=y>>>16,y=T[A+12>>1]|T[A+14>>1]<<16,h=T[A+8>>1]|T[A+10>>1]<<16,v[t+8>>1]=h,v[t+10>>1]=h>>>16,v[t+12>>1]=y,v[t+14>>1]=y>>>16,g[w+177904|0]=0,v[t>>1]=32768|T[t>>1]),v[8+(w=w+177888|0)>>1]=T[a+8>>1],g[w+21|0]=d[a+21|0],v[w+10>>1]=T[a+10>>1],g[w+22|0]=d[a+22|0],v[w+12>>1]=T[a+12>>1],g[w+23|0]=d[a+23|0],v[w+14>>1]=T[a+14>>1],g[w+24|0]=d[a+24|0],g[w+25|0]=d[a+25|0],e[m+12>>2]=t))),(0|hA)!=2|d[Oe+11|0]!=2||(wA(),e[36427]=e[50758]),!((0|(Oe=e[l+108>>2]))<2)){for(t=e[36433],y=(F(256-t|0,ue)+(t<<8)|0)/256|0,t=e[36432],m=(F(256-t|0,ue)+(t<<8)|0)/256|0,h=e[50754],t=0,a=1;w=T[2+(ae=(P+(a<<3)|0)-8|0)>>1],w=(0|F((0|F(h,v[ae>>1]))/1e3|0,4&w?m:16384&w?y:ue))/256|0,e[(a<<2)+l>>2]=w,t=t+w|0,(0|Oe)!=(0|(a=a+1|0)););if(!((0|t)<=0|(0|t)>=(0|fA)|(0|Oe)<2)){if(a=1,y=1&(w=Oe-1|0),(0|Oe)!=2)for(m=-2&w,ue=0;e[(w=(a<<2)+l|0)>>2]=(0|F(e[w>>2],fA))/(0|t),e[w+4>>2]=(0|F(e[w+4>>2],fA))/(0|t),a=a+2|0,(0|m)!=(0|(ue=ue+2|0)););y&&(e[(a=(a<<2)+l|0)>>2]=(0|F(e[a>>2],fA))/(0|t))}if(ue=0,!((0|Oe)<2))for(Oe=hA+256|0,a=1;t=e[4+(P+(a<<3)|0)>>2],!(w=e[r+28>>2])|128&d[0|A]||(e[36422]=0,Ya(w,Oe,0,h=e[r>>2],0,y=(y=e[r+32>>2])?(y<<5)/100|0:32),g[145748]=1,e[r+28>>2]=0),(0|i)<0||(i=64&d[0|A]?6:i,(e[l+108>>2]-1|0)==(0|a)&&(i=(w=i)|(3840&(i=e[36436])?i:0))),w=e[(a<<2)+l>>2],e[36440]=w+e[36440],e[36441]=w+e[36441],w?(y=e[50758],e[36439]=y,(0|i)>=0&&(e[(y=216192+(y<<4)|0)>>2]=M,e[y+12>>2]=t,e[y+8>>2]=A,e[y+4>>2]=w+(i<<16),A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0),e[36426]=t,ue=w+ue|0):e[36426]=0,A=t,(0|(a=a+1|0))<e[l+108>>2];);}!e[36438]|(0|hA)==1||(e[36438]=0,t=216192+(e[50758]<<4)|0,e[t>>2]=14,e[t+4>>2]=0,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0)}}oe=l+112|0}function Lt(t,A,r,a){var i,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,Te=0,Oe=0,$e=0,nt=0,ht=0,vt=0,Qt=0,Ut=0,fA=0,hA=0;oe=i=oe-1856|0,e[i+164>>2]=0,r?R=e[r>>2]:kA(r=i- -64|0,0,96),e[33264]=0,e[i+1824>>2]=0,e[i+1828>>2]=0,e[i+1832>>2]=0,e[i+1836>>2]=0,g[i+1616|0]=0,g[i+992|0]=0,g[i+1200|0]=0,g[i+784|0]=0;e:if(e[t+688>>2]){for(e[i+1840>>2]=A,d[0|(l=A)]==32&&(l=A+1|0,e[i+1840>>2]=l),ee=i+416|1,vt=i+1844|1,Ut=i+1848|1,fA=i+1852|1,e[i+1820>>2]=l,ur(i+168|0,l),l=e[i+1820>>2];(32|d[0|l])!=32;)l=ur(i+164|0,l)+e[i+1820>>2]|0,e[i+1820>>2]=l,be=be+1|0;sr(i+256|0,A,Qt=(0|(m=l-A|0))>=159?159:m),!(nt=4194304&R)|(0|be)!=1?(Oe=((0|(l=e[47202]))==36)<<2,(0|be)==1|(0|l)!=36||(l=e[i+1840>>2]-1|0,e[i+1840>>2]=l,g[0|l]=95,Oe=0,h=!!(0|ls(t,i+1840|0,i+1616|0,i+1832|0,0,r)),l=e[47202])):(h=1,ur(i+172|0,l+1|0),Xr(e[i+172>>2])&&(0|Ra(e[i+164>>2]))==(0|Ra(e[i+172>>2]))&&(h=0),Oe=(0|(l=e[47202]))==36?4:h,h=0);t:{r:{a:{n:{c:if(16&l)ae=15&l,Oe=0;else{if(Te=1,h||(Te=!!(0|ls(t,i+1840|0,i+1616|0,i+1832|0,2,r))),50331648&(l=e[i+1832>>2])&&(m=e[i+1820>>2],d[m+1|0]==46&&(g[m+1|0]=32,l=e[i+1832>>2])),536870912&l){if(!a)break e;BA(a,e[i+1840>>2]);break e}if(8192&l|!(128&l)|Te)a=e[33264];else if(l=e[i+1840>>2],e[i+1820>>2]=l,!((0|(a=e[33264]))<=0))for(h=0;d[0|l]==32&&(g[0|l]=45,h=h+1|0,l=e[i+1820>>2],a=e[33264]),l=l+1|0,e[i+1820>>2]=l,(0|a)>(0|h););o:if(!(a|(0|be)!=1)&&(m=ur(i+576|0,P=e[i+1840>>2]),d[m+P|0]==32)){h=i+1408|0,a=P;f:{l:{i:{for(;;){h:if(Xr(e[i+576>>2])){b:{if(d[1+(w=a+m|0)|0]==46){ae=0;m:switch(d[(l=m+2|0)+a|0]-32|0){case 0:break b;case 7:break m;default:break h}if(ae=1,m=l,d[w+3|0]==115)break b;break h}if(ae=1,(0|y)<=0)break i}if(!((0|m)<=0)){if(ue=3&m,M=0,m>>>0<4)l=0;else for($e=-4&m,l=0,w=0;g[0|h]=d[a+l|0],g[h+1|0]=d[(1|l)+a|0],g[h+2|0]=d[(2|l)+a|0],g[h+3|0]=d[(3|l)+a|0],l=l+4|0,h=h+4|0,(0|$e)!=(0|(w=w+4|0)););
2810if(ue)for(;g[0|h]=d[a+l|0],l=l+1|0,h=h+1|0,(0|ue)!=(0|(M=M+1|0)););}if(y=y+1|0,ae)a=a+m|0;else if(m=ur(i+576|0,a=3+(a+m|0)|0),d[a+m|0]==32)continue}break}if(!((0|y)<2)){(m=(m=h-(l=i+1408|0)|0)+(l=sr(P,l,m))|0)>>>0<a>>>0&&kA(m,32,(i+1408|0)+a-(l+h)|0),e[33264]=(y<<1)-2,e[i+1836>>2]=0;break l}}if(!y)break o;if(e[i+1832>>2]=0,e[i+1836>>2]=0,!e[33264])break f}e[i+1832>>2]=128}Oe=1}if(d[i+1616|0]==21){BA(189088,i+1616|0),l=0;break e}if(hA=d[i+1833|0],h=1,!Te){if(e[i+168>>2]-48>>>0<10){if(vA(t,84174,189088),l=0,d[189088]==21)break e;if(!(!(128&d[t+109|0])|32&d[r+2|0])){g[189088]=21,g[189089]=0;break e}h=!!(0|bA(t,e[i+1840>>2],i+1616|0,i+1832|0,r,0))}else h=0;if(!(h|(3&R)==2)&&(16777216&(a=e[t+104>>2])||(h=0,!(!(33554432&a)|!(1&R))))&&(16&R||(h=0,!(1&g[r+13|0])))){$e=e[i+1840>>2],l=0,y=0,w=0,oe=ue=oe-224|0,g[0|(M=i+1616|0)]=0,e[ue+216>>2]=0,e[ue+220>>2]=0;o:if(!(g[$e-2|0]-48>>>0<10|(1&g[0|r]?0:2&d[t+107|0])||(a=d[0|(m=$e+1|0)],(!(2561&T[t+106>>1])|!(1&g[r+2|0]))&(0|a)==32))){if((0|(y=d[0|$e]))!=32){for(ae=32767,a=0;;){if(!(l=Nn(101868,y<<24>>24,8))){y=0;break o}if(P=0,(0|(l=e[(l<<2)-305584>>2]))==(0|a)&&!((0|(P=w+1|0))<=2)){y=0;break o}f:{l:{i:{h:{if(!((0|a)<2)){if((0|a)==10|(0|a)==100)break h;if(!((0|a)>(0|l))){y=0;break o}}if(!a)break l;if((0|a)<(0|l))break i;break l}if((0|a)>=(0|l))break l}if(y=0,(0|ht)%10|(0|F(a,10))<(0|l))break o;l=l-a|0,ae=a;break f}if((0|l)>=(0|ae)){y=0;break o}ht=a+ht|0}if(y=d[0|m],m=h=m+1|0,a=l,w=P,(0|y)==32)break}a=d[0|h]}else h=m;if((a<<24>>24)-48>>>0<10)y=0;else if((0|(a=l+ht|0))<e[t+120>>2])y=0;else if((0|a)>e[t+116>>2])y=0;else if(vA(t,85600,ue+176|0),l=M,4&d[t+107|0]||(l=BA(M,l=ue+176|0)+CA(l)|0),e[ue+4>>2]=e[t+140>>2],e[ue>>2]=a,uA(ue+16|0,85839,ue),y=0,d[0|h]!=46){_s(t,$e,h,r,1)&&(e[r>>2]=32768|e[r>>2]),m=0;f:if(8&d[t+107|0]){if(w=e[r>>2],e[t+212>>2]==26741){if(32768&w)break f;if(!(16384&w))break o;m=1,w=0;l:{i:switch(d[0|h]-97|0){case 0:case 4:break i;default:break l}i:{h:{b:{m:switch((ae=d[h+1|0])-116|0){case 6:break l;case 1:case 2:case 3:case 4:case 5:break h;case 0:break m;default:break b}if(d[h+2|0]!=116)break i;break l}if((0|ae)==32)break l}if(!((0|a)%1e3|0)&&(0|ae)==108)break l}w=1}if(w)break f;break o}e[r>>2]=32768|w}e[(a=t+8232|0)>>2]=0,e[a+4>>2]=0,bA(t,ue+16|2,l,ue+216|0,r,m),y=1,4&d[t+107|0]&&fa(M,ue+176|0)}}oe=ue+224|0,y?(e[i+1832>>2]=8192|e[i+1832>>2],h=1):h=0}}if(ae=Te?Oe:32&hA?1:Oe,Oe=0,!(!(1&R)|(0|be)<2)&&Mn(e[i+168>>2])){o:{if(1&g[188785]){if(!(!(a=8192&(l=e[i+1832>>2]))|h))break o;Oe=a>>>2^2048;break c}if(h)break n;l=e[i+1832>>2]}if(!(128&l|be>>>0>3)&&!((0|(l=e[t+8220>>2]))<4)&&(a=1,(0|l)>=e[t+8216>>2]))break t}}if(M=0,(0|ae)<=0)break a;a=ae;break t}if((0|(a=ae))>0)break t;M=0,P=0,w=0,y=0;break r}if(h)P=0,w=0,y=0;else{a=e[i+1840>>2],e[i+1820>>2]=a,l=999,y=0,P=0,ee=0;a:{n:{c:{for(;;){o:{f:{l:{if(l-1>>>0>=2){if((0|be)<2||(ur(i+1408|0,a),(0|(l=e[i+1408>>2]))<577&e[t+600>>2]>0)||(l=Ra(l),(e[l+4>>2]!=e[t+600>>2]?l:0)|e[t+40>>2]==1))break l;switch(l=d[0|a],e[i+1408>>2]=l<<24>>24,l-32|0){default:if(!l)break l;break;case 0:case 7:break l;case 1:case 2:case 3:case 4:case 5:case 6:}M=ur(i+1408|0,a),Te=9;i:{h:{b:{m:if(-33&(l=e[i+1408>>2])){for(h=0,w=0;;){C:{p:{if((0|l)==39){if((0|P)>0|(0|h)>1)break m;if(w=h?w:39,e[t+40>>2]!=3)break p;break C}w=h?w:l}h=h+1|0}if(!fo(t,l)){if((0|(l=e[i+1408>>2]))!=39&&!Mn(l))break l;if(M=ur(i+1408|0,a+M|0)+M|0,-33&(l=e[i+1408>>2]))continue;break m}break}if((0|h)<=2)break b;Te=h}else w=0;if((0|(l=e[t+40>>2]))!=2)break h;oe=l=oe-208|0,g[0|l]=0,h=d[0|(m=a-1|0)],g[0|m]=32,a=LA(t,a,l,200,0,-2147483648,0),g[0|m]=h,oe=l+208|0,a=!a|(32768&a)>>>15;break i}l=e[t+40>>2],Te=h}a=(g[t+168|0]+1|0)<(Te-((0|l)==(0|w))|0)}if(!a)break l;a=e[i+1820>>2]}if(d[0|a]!=39)break f;y=67108864,Oe=0}if(M=0,zA(t,i+992|0,0,P),a=e[i+1820>>2],(0|(l=d[0|a]))!=32)break o;P=0,w=0;break r}if(Oe=0,a=Tt(t,a,i+992|0,1&(ee|=(0|P)>0))+e[i+1820>>2]|0,e[i+1820>>2]=a,d[i+992|0]==21)break c;for(P=P+1|0,h=0;h=(l=h)+1|0,d[a+l|0]!=32;);y=67108864;continue}break}if(!d[i+992|0]|(0|l)==39||(g[a-1|0]=32,a=e[i+1820>>2]),m=LA(t,a,i+1616|0,200,i+784|0,R,i+1832|0),(0|(a=d[i+1616|0]))==21){BA(189088,i+1616|0),l=0;break e}if(!(a|d[i+784|0])&&(ur(i+1408|0,e[i+1820>>2]),(0|be)==1&&(Xr(e[i+1408>>2])||mo(e[i+1408>>2])))){sn(t,e[i+1820>>2],i+1616|0,ae)&&BA(189088,i+1616|0),l=0;break e}e[i+172>>2]=g[e[i+1820>>2]-1|0];o:if(1024&m)for($e=i+176|1,ae=0,l=1,ee=0,P=0;;){if((Te=131072&m)|!(1&l)||(g[i+1408|0]=0,!(a=LA(t,e[i+1820>>2],i+1408|0,200,i+576|0,805306368|R,i+1832|0)))){2048&m&&(e[t+8184>>2]=1),g[e[i+1820>>2]-1|0]=e[i+172>>2];
2810f:{l:{i:{h:if(Te){if(g[i+176|0]=0,l=e[i+1820>>2],a=1,w=63&m){if(ue=1&m,P=w-1|0,h=0,(0|w)!=1)for(ht=w-ue|0,w=0;M=l,e[i+1820>>2]=l+1,g[0|(nt=(i+176|0)+a|0)]=(0|h)!=(0|P)?d[0|l]:0,l=l+2|0,e[i+1820>>2]=l,g[nt+1|0]=(0|P)!=(1|h)?d[M+1|0]:0,h=h+2|0,a=a+2|0,(0|ht)!=(0|(w=w+2|0)););ue&&(w=l+1|0,e[i+1820>>2]=w,g[(i+176|0)+a|0]=(0|h)!=(0|P)?d[0|l]:0,a=a+1|0,l=w)}g[(i+176|0)+a|0]=0}else{if(l=e[i+1820>>2],!(w=15&m))break i;if(a=0,h=w,M=3&m)for(;l=l+1|0,e[i+1820>>2]=l,(192&d[0|l])==128||(h=h-1|0,(0|M)!=(0|(a=a+1|0))););if(w>>>0<4)break h;for(;;)if(l=l+1|0,e[i+1820>>2]=l,(192&d[0|l])!=128){for(;l=l+1|0,e[i+1820>>2]=l,(192&d[0|l])==128;);for(;l=l+1|0,e[i+1820>>2]=l,(192&d[0|l])==128;);for(;l=l+1|0,e[i+1820>>2]=l,(192&d[0|l])==128;);if(a=(0|h)>4,h=h-4|0,!a)break}}if(a=l-1|0,e[i+172>>2]=g[0|a],g[0|a]=32,a=R|=8388608,!Te)break l;if(Zr(i+576|0,i+784|0,12),e[i+1852>>2]=$e,a=BA(i+1200|0,l=i+1616|0),ls(t,i+1852|0,l,i+1832|0,0,r)&&BA(a,i+1616|0),!(32&d[i+1833|0]))break f;g[0|a]=0,sn(t,e[i+1852>>2],a,1);break f}a=l-1|0,e[i+172>>2]=g[0|a],g[0|a]=32,a=8388608|R}R=a,fa(i+1200|0,i+784|0)}if(g[i+784|0]=0,w=1,a=ls(t,i+1820|0,i+1616|0,i+1824|0,1024,r),e[i+1832>>2]||(l=e[i+1828>>2],e[i+1832>>2]=e[i+1824>>2],e[i+1836>>2]=l,w=ee),a){M=0,P=m;break a}if(M=LA(t,e[i+1820>>2],i+1616|0,200,i+784|0,8404992&R,i+1832|0),l=1,P=m,ee=w,d[i+1616|0]==21){g[e[i+1820>>2]-1|0]=e[i+172>>2],BA(189088,i+1616|0),l=0;break e}}else l=i+416|0,JA(t,e[i+1820>>2],a,l),M=LA(t,e[i+1820>>2],i+1616|0,200,i+784|0,268435456|R,i+1832|0),sr(e[i+1820>>2],l,CA(l)),1024&M||(BA(i+1616|0,i+1408|0),l=BA(i+784|0,i+576|0),8&d[188788]&&(PA(w=l,l=i+576|0),m=e[47195],e[i+48>>2]=l,fs(m,85205,i+48|0)),M=a),l=0;if(a=(h=1024&M)>>>10|0,ae>>>0>48)break o;if(ae=ae+1|0,m=M,!h)break}else M=m,P=0,ee=0,a=0;if(a|!M)break n;for(m=BA(i+1408|0,i+1616|0),h=JA(t,e[i+1820>>2],M,i+416|0),w=ee,l=M;;){o:{if(g[i+1616|0]=0,d[i+1200|0]){if(g[e[i+1820>>2]-1|0]=e[i+172>>2],a=ls(t,i+1840|0,i+1616|0,i+1824|0,h,r),g[e[i+1820>>2]-1|0]=32,d[i+1616|0]==21){t=i+416|0,sr(e[i+1820>>2],t,CA(t)),BA(189088,i+1616|0),l=0;break e}if(e[i+1832>>2]||(ee=e[i+1828>>2],e[i+1832>>2]=e[i+1824>>2],e[i+1836>>2]=ee),a){g[i+1200|0]=0;break o}w=e[i+1824>>2]?1:w}if(a=ls(t,i+1820|0,i+1616|0,i+1824|0,h,r),d[i+1616|0]==21){t=i+416|0,sr(e[i+1820>>2],t,CA(t)),BA(189088,i+1616|0),l=0;break e}if(e[i+1832>>2]||(ee=e[i+1828>>2],e[i+1832>>2]=e[i+1824>>2],e[i+1836>>2]=ee),!a)if(16384&l)BA(i+1616|0,m);else{R|=h<<11&8192|l<<9&134217728;f:if(524288&l){if(ee=BA(i+576|0,a=i+784|0),l=LA(t,e[i+1820>>2],i+1616|0,200,a,R,i+1832|0),fa(a,ee),a=0,!l){l=0;break f}if(1024&l)break f;a=1,h=JA(t,e[i+1820>>2],l,0)}else l=0,LA(t,e[i+1820>>2],i+1616|0,200,0,R,i+1832|0),a=0;if(d[i+1616|0]==21){BA(189088,i+1616|0),t=i+416|0,sr(e[i+1820>>2],t,CA(t)),g[e[i+1820>>2]-1|0]=e[i+172>>2],l=0;break e}if(a)continue}}break}65536&M||(wi(t,i+1616|0,200,i+784|0),g[i+784|0]=0),a=i+416|0,sr(e[i+1820>>2],a,CA(a));break a}BA(189088,t=i+992|0),l=!la(1|t,84744,3)<<12;break e}M=0,w=ee}g[e[i+1820>>2]-1|0]=e[i+172>>2]}}if(a=e[i+164>>2],e[i+1852>>2]=8026656,e[i+1848>>2]=8022304,e[i+1844>>2]=7566112,4&R){r:{if((l=255&a)&&((0|l)==102||(vt=Ut,Xi(a<<24>>24))))break r;vt=fA}LA(t,vt,189088,200,0,0,0)}for(a=0,l=i+1200|0,ee=d[i+784|0];;){r:{a:{n:switch(0|(m=d[0|l])){case 0:break r;case 6:case 7:break n;default:break a}a=m}l=l+1|0;continue}break}r:if(a|w){if(e[t+32>>2]|65536&P){for(h=0,IA(t,i+1616|0,i+1832|0,3,0),l=i+1200|0;;){switch(d[0|l]){case 6:h&&(g[0|l]=5),h=1;default:l=l+1|0;continue;case 0:}break}e[i+24>>2]=i+1616,e[i+20>>2]=i+1200,e[i+16>>2]=i+992,rn(189088,200,85233,i+16|0),g[189287]=0,IA(t,189088,i+1832|0,-1,0);break r}e[i+8>>2]=i+1616,e[i+4>>2]=i+1200,e[i>>2]=i+992,rn(189088,200,85233,i),g[189287]=0,IA(t,189088,i+1832|0,-1,0)}else IA(t,a=i+1616|0,i+1832|0,-1,!!(0|ee)<<1),e[i+40>>2]=a,e[i+36>>2]=i+1200,e[i+32>>2]=i+992,rn(189088,200,85233,i+32|0),g[189287]=0;
2810d[i+784|0]&&(a=CA(189088),g[983+(i-a|0)|0]=0,BA(a+189088|0,i+784|0)),16&(a=R|Oe)&&(e[i+1832>>2]=-268435457&e[i+1832>>2]);r:if(!(128&a)|!(16&d[t+14|0]))if(3072&a){if(yt(t,6),!(2048&a))break r;e[i+1832>>2]=268435456|e[i+1832>>2]}else 16&d[F(e[33264],12)+r|0]&&(1536&(r=e[i+1832>>2])?yt(t,4):2048&r&&yt(t,3));else yt(t,3);8192&M&&(e[t+8192>>2]=2,e[t+8184>>2]=2);r:{if(8&(r=e[i+1836>>2]))e[t+8184>>2]=0,e[t+8188>>2]=3,a=t+8196|0;else if(1&r)e[t+8192>>2]=0,e[t+8184>>2]=2,a=t+8196|0;else if(2&r)e[t+8192>>2]=2,e[t+8184>>2]=0,e[t+8188>>2]=0,a=t+8196|0;else{if(!(4&r))break r;e[t+8184>>2]=0,e[t+8192>>2]=0,e[t+8196>>2]=2,a=t+8188|0}e[a>>2]=0}!d[e[i+1820>>2]]|256&r||((0|(r=e[t+8184>>2]))>0&&(e[t+8184>>2]=r-1),(0|(r=e[t+8192>>2]))>0&&(e[t+8192>>2]=r-1),(0|(r=e[t+8196>>2]))>0&&(e[t+8196>>2]=r-1),(0|(r=e[t+8188>>2]))<=0||(e[t+8188>>2]=r-1)),(0|be)!=1|e[t+212>>2]!=25966||!Mn(e[i+168>>2])|e[i+168>>2]==105||(e[i+1832>>2]=16777216|e[i+1832>>2]);r:if(2&d[t+68|0]&&98304&(a=e[i+1832>>2])&&!((0|(r=CA(189088)-1|0))<=0))for(l=0;;){if(t=l+1|0,d[l+189088|0]==6){r=g[0|(t=t+189088|0)];a:{if(65536&a){if((0|Cs(69))==(0|r)?(be=Cs(101),g[0|t]=be):be=d[0|t],h=111,(0|Cs(79))==be<<24>>24)break a;break r}if((0|Cs(101))==(0|r)?(be=Cs(69),g[0|t]=be):be=d[0|t],h=79,(0|Cs(111))!=be<<24>>24)break r}g[0|t]=Cs(h);break r}if((0|r)==(0|(l=t)))break}t=e[i+1832>>2],sr(A,i+256|0,Qt),l=t|y;break e}if(l=0,g[i+1616|0]=0,sn(t,e[i+1840>>2],i+1616|0,a)){if(m=BA(189088,i+1616|0),!nt){if(a=e[i+164>>2],e[i+1408>>2]=8026656,e[i+576>>2]=8022304,e[i+416>>2]=7566112,4&R){A=i+576|1,r=i+1408|1;t:{if((l=255&a)&&((0|l)==102||(ee=A,Xi(a<<24>>24))))break t;ee=r}LA(t,ee,m,200,0,0,0)}l=128&e[i+1832>>2]}}else l=((0|be)>1)<<12}else g[189088]=0;return oe=i+1856|0,l}function gA(t,A,r,a,i,l,h,m){var w,M,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,Te=0,Oe=0,$e=0,nt=0,ht=0,vt=0,Qt=0,Ut=0,fA=0,hA=0,FA=0,YA=0,rr=0,wr=0,jr=0,Jr=0,ds=0,is=0,Qs=0,Ps=0,Rs=0,$s=0,ea=0,na=0,da=0,Ba=0,en=0,Dn=0,Gn=0,ni=0,to=0,ii=0,Pi=0,Ao=0;oe=w=oe-384|0,M=e[A>>2];e:{t:{r:{a:{if(i){if(d[0|i]!=7)break a;e[A>>2]=(a||1)+M;break r}e[l>>2]=0,e[A>>2]=M+1;break e}wr=86135,$s=268435456&h,ea=134217728&h,na=8388608&h,da=16384&h,Ba=8192&h,ds=r-1|0,is=a-r|0,en=2&h,Dn=128&h,Gn=h>>>31|0,ni=-2147483648&h,Qs=w+96|1;a:for(;;)for(e[w+268>>2]=0,be=(R=e[A>>2])+a|0,Ut=-2,vt=-6,r=i,fA=ni,FA=0,jr=0,Qt=1,y=0,hA=0,rr=0;;){ee=R,Te=y;n:{c:{o:{f:{l:{i:{h:{b:{m:{C:{p:{x:{w:{B:{O:{Y:{for(;$e=r,r=r+1|0,!((P=d[0|$e])>>>0>9);)switch(ae=r,0|P){case 0:if(!(r=Ps)){Ps=0,r=86135;break O}for(;;){P=1;R:{M:switch(0|(y=d[0|r])){case 0:case 3:break Y;case 5:break M;default:break R}P=2}r=(r+P|0)+(((0|y)==9)<<1)|0}case 1:if(rr=1,!Gn)continue;break l;case 2:rr=2;continue;case 4:Ps=r;continue;case 5:r=$e+2|0,y=e[t+320>>2];R:{if((R=d[$e+1|0])>>>0>=32){if(!(y>>>R-32&1))break R;break l}if(!(y>>>R&1))break l}Qt=Qt+1|0;continue;case 9:r=$e+3|0;continue;case 8:rr=1,jr=1,fA=0;break;case 3:break B}ae=0,y=Te,R=ee;R:switch(0|rr){case 0:M:{y:{if((0|(y=d[0|be]))!=(0|P)){if((0|y)!=69)break l;if((0|P)==101)break y;break l}if(ae=0,(192&P)==128)break M}ae=21}be=be+1|0,FA=FA+1|0;break n;case 1:break w;case 2:break R;default:break C}if(e[w+264>>2]=e[w+268>>2],!d[be-1|0])break l;vt=(0|(y=vt+6|0))>=19?19:y,ht=be+1|0,nt=ur(w+268|0,be),Oe=d[0|be],ae=20,y=Te;R:{M:switch(P-11|0){case 6:r=$e+2|0,y=e[w+268>>2],R=g[$e+1|0];y:if(P=e[604+(((R=((0|R)<65?191:-65)+R|0)<<2)+t|0)>>2])y=!!(0|Ns(P,y));else{if((0|R)>7)break l;G:{if((0|(P=e[t+600>>2]))>0){if((y=y-P|0)-1>>>0<255)break G;break l}if((P=y-192|0)>>>0<=413){y=d[344+(d[P+94240|0]+t|0)|0]&1<<R;break y}if(y>>>0>255)break l}y=d[344+(t+y|0)|0]&1<<R}if(!y)break l;be=be+nt|0,ae=((0|R)==2?19:20)-vt|0;break n;case 7:if(r=$e+2|0,y=g[$e+1|0],!(y=e[4788+((((0|y)<65?191:-65)+y<<2)+t|0)>>2]))break l;y:for(;;){if((0|(ae=d[0|y]))==7)break l;if((0|ae)==126){ae=20-vt|0;break n}G:if(Oe){if(ue=be,P=y,(0|ae)==(0|Oe))for(;;){if((0|(ae=d[0|(P=P+1|0)]))!=(0|(y=d[0|(ue=ue+1|0)])))break G;if(!y)break}}else P=y,ue=be;if(ae){for(;;)if(R=d[0|P],P=y=P+1|0,!R)continue y}break}if((0|(y=ue-be|0))<0)break l;be=y+be|0,ae=20-vt|0;break n;case 14:P=e[w+268>>2];y:{G:if(y=e[t+604>>2])y=!!(0|Ns(y,P));else{S:{if((0|(y=e[t+600>>2]))>0){if((ue=P-y|0)-1>>>0<255)break S;break y}if((y=P-192|0)>>>0<=413){y=1&g[344+(d[y+94240|0]+t|0)|0];break G}if(ue=P,P>>>0>255)break c}y=1&g[344+(t+ue|0)|0]}if(y)break l;P=e[w+268>>2]}if(!ea)break c;if((0|P)==32)break l;break c;case 4:if((y=e[w+268>>2])-48>>>0<10|y-2406>>>0<10)break c;if(!d[t+170|0])break l;ae=20-vt|0;break n;case 5:if(ji(e[w+268>>2]))break l;break o;case 0:if(e[w+268>>2]==e[w+264>>2])break o;break l;case 17:r=$e+2|0,y=32768,ae=0;y:{G:switch((P=d[$e+1|0])-1|0){case 0:break C;case 1:break G;default:break y}if(ae=1,y=Te,!na)break C;break l}if((0|(y=240&P))==16){if(ae=23,y=Te,m>>>(15&P)&16384)break C;break l}if((0|P)!=3&(0|y)!=32||(sr(y=w+96|0,ds,R=1+(e[A>>2]+(FA+is|0)|0)|0),g[0|(y=y+R|0)]=32,g[y+1|0]=0,e[33265]=0,e[33266]=0,e[w+16>>2]=Qs,ls(t,w+16|0,w+272|0,133060,0,0),ae=23,!((0|P)!=3|(0|(ue=e[33265]))>=0|16384&e[33266])))break n;if(y=Te,R=ee,ue>>>
vendor: 5,598 bytes, line 2810
2810(15&P)&16384)break C;break l;case 34:y:{if(y=Oe-32|0){if((0|y)==13)break y;break l}if(!da)break l}ue=22-vt|0;break f;case 10:if(y=1,d[0|r]==21)break R;break i;case 18:if((0|(ue=e[w+268>>2]))!=32)for(P=be+nt|0;;){y:{G:if(y=e[t+632>>2])y=!!(0|Ns(y,ue));else{S:{if((0|(y=e[t+600>>2]))>0){if((ue=ue-y|0)-1>>>0<255)break S;break y}if((y=ue-192|0)>>>0<=413){y=128&d[344+(d[y+94240|0]+t|0)|0];break G}if(ue>>>0>255)break y}y=128&d[344+(t+ue|0)|0]}if(y)break l}if(P=ur(w+268|0,P)+P|0,(0|(ue=e[w+268>>2]))==32)break}ue=19-vt|0;break f;case 49:break h;case 2:break b;case 3:break m;case 1:break C;case 13:break p;case 12:break M;default:break x}ur(w+272|0,r),nt=-1;M:if((0|(y=e[w+272>>2]))!=(0|(P=e[w+268>>2])))if(-33&P)for(;;){Oe=be,nt=-1;y:if((0|y)==18&&(y=g[$e+2|0],ae=e[4788+((((0|y)<65?191:-65)+y<<2)+t|0)>>2])){for(;;){if((0|(R=d[0|ae]))==7)break y;if((0|R)==126){nt=0;break y}G:if((0|(be=d[0|Oe]))==(0|R)){if(y=Oe,P=ae,be)for(;;){if((0|(R=d[0|(P=P+1|0)]))!=(0|(ae=d[0|(y=y+1|0)])))break G;if(!ae)break}}else P=ae,y=Oe;if(!R){y=y-Oe|0;break}for(;y=d[0|P],P=ae=P+1|0,y;);}nt=y}if(R=ur(w+268|0,Oe),(0|(y=e[w+272>>2]))==(0|(P=e[w+268>>2]))|!(-33&P))break M;if(be=R+Oe|0,(0|nt)!=-1)break}else Oe=be;else Oe=be;be=(0|y)==(0|P)||(0|nt)>=0?Oe:ht,ae=0;break n}for(;y=y+1|0,d[0|(r=r+1|0)]==21;);break i}r=r+1|0}ae=$e}if(!(d[ee-1|0]!=32&jr|fA||((0|(P=jr?Qt+4|0:Qt))>=(0|Jr)&&(to=hA,ii=Te,Jr=P,Pi=FA,wr=r),!(8&e[47197])|$s|(0|P)<=0))){for(PA(r,$e=w+272|0),ht=e[47195],R=w+16|0,r=0,Oe=0,fA=0,hA=0,oe=be=oe-496|0,g[be+80|0]=0,(0|a)>0?(sr(be+288|0,M,a),Te=a):Te=0,g[Te+(y=be+288|0)|0]=0,ee=CA(y)+y|0,nt=(0|h)<0;;){if(ue=d[0|i],Te=i,i=i+1|0,ue>>>0>9)for(;;){B:{O:{Y:{R:{M:{y:switch((y=255&ue)-14|0){case 4:break Y;case 3:break R;case 0:break M;case 14:break y;default:break O}if(Te=Te+2|0,ue=32,!nt&(0|(i=d[0|i]))==1)break B;g[0|ee]=36,BA(y=ee+1|0,i=Vi(128960,i)),ee=CA(i)+y|0;break B}y=d[Te+2|0],ue=d[0|i],e[be+36>>2]=127&d[Te+3|0],e[be+32>>2]=4&y?80:83,uA(be+48|0,85131,be+32|0),1&y&&(i=CA(i=be+48|0)+i|0,g[0|i]=101,g[i+1|0]=0),2&(i=127&y)&&(y=CA(y=be+48|0)+y|0,g[0|y]=105,g[y+1|0]=0),4&i&&(y=CA(y=be+48|0)+y|0,g[0|y]=112,g[y+1|0]=0),8&i&&(y=CA(y=be+48|0)+y|0,g[0|y]=118,g[y+1|0]=0),16&i&&(y=CA(y=be+48|0)+y|0,g[0|y]=100,g[y+1|0]=0),32&i&&(y=CA(y=be+48|0)+y|0,g[0|y]=102,g[y+1|0]=0),i>>>0>=64&&(i=CA(i=be+48|0)+i|0,g[0|i]=113,g[i+1|0]=0),1&ue&&(i=CA(i=be+48|0)+i|0,g[0|i]=116,g[i+1|0]=0),Te=Te+4|0,ee=BA(ee,i=be+48|0)+CA(i)|0,ue=32;break B}Te=Te+2|0,ue=d[g[0|i]+93871|0];break B}i=g[0|i],g[0|ee]=76,y=((i=i+((0|i)<65?191:-65)|0)>>>0)/10|0,g[ee+1|0]=y+48,ue=i-F(y,10)|48,(0|hA)==1&&(g[0|ee]=ue,ue=76),Te=Te+2|0,ee=ee+2|0;break B}ue=y>>>0<=31?d[y+93904|0]:(0|y)==32?95:ue,Te=i}if(g[0|ee]=ue,i=Te+1|0,ee=ee+1|0,!((ue=d[0|Te])>>>0>=10))break}y=1;B:switch(0|ue){case 1:y=r;case 8:g[0|ee]=0,ee=be+80|0,r=y,hA=1;continue;case 2:g[0|ee]=0,Te=CA(y=be+288|0)+y|0,ee=d[84899]|d[84900]<<8,g[0|Te]=ee,g[Te+1|0]=ee>>>8,hA=2,g[Te+2|0]=d[84901],ee=CA(y)+y|0;continue;case 5:Oe=g[0|i],i=Te+2|0;continue;case 9:fA=(d[0|i]+F(d[Te+2|0],255)|0)-256|0,i=Te+3|0;continue;case 0:case 3:break B;default:continue}break}if(g[0|ee]=0,ee=R,(0|fA)>0&&(e[be+16>>2]=fA,uA(R,85581,be+16|0),ee=R+7|0),(0|Oe)>0&&(e[be>>2]=Oe,uA(ee,85694,be),ee=CA(ee)+ee|0),1&((0|(i=CA(be+80|0)))>0|r)){1&r&&(g[0|ee]=95,ee=ee+1|0);B:if(!((0|(Te=i-1|0))<0|ee>>>0>=R>>>0))for(;;){if(g[0|ee]=d[(be+80|0)+Te|0],ee=ee+1|0,(0|Te)<=0)break B;if(Te=Te-1|0,!(ee>>>0<R>>>0))break}g[0|ee]=41,g[ee+1|0]=32,ee=ee+2|0}g[0|ee]=0,g[(r=be+288|0)+((R+3|0)-ee|0)|0]=0,fa(ee,r),(0|(r=CA(R)))<=7&&(kA(r+R|0,32,8-r|0),r=8),g[r+R|0]=0,oe=be+496|0,e[w+4>>2]=R,e[w>>2]=(0|a)>1?P+35|0:P,e[w+8>>2]=$e,fs(ht,89088,w)}r=ae;break l}if(!d[0|ee])break l;Ut=(0|(y=Ut+2|0))>=19?19:y,ur(w+264|0,ee),y=Hs(w+268|0,R=ee-1|0),Oe=d[0|R],ht=R;w:{B:{O:{Y:{R:{M:switch(P-10|0){case 13:if(y=(0|(YA=d[0|r]))==(0|(P=d[0|ee])),nt=-1,(0|P)==32|(0|P)==(0|YA))break Y;if(P)break R;break O;case 7:r=$e+2|0,ae=e[w+268>>2],ee=g[$e+1|0];y:if(P=e[604+(((ee=((0|ee)<65?191:-65)+ee|0)<<2)+t|0)>>2])P=!!(0|Ns(P,ae));else{if((0|ee)>7)break l;G:{if((0|(P=e[t+600>>2]))>0){if((ae=ae-P|0)-1>>>0<255)break G;break l}if((P=ae-192|0)>>>0<=413){P=d[344+(d[P+94240|0]+t|0)|0]&1<<ee;break y}if(ae>>>0>255)break l}P=d[344+(t+ae|0)|0]&1<<ee}if(!P)break l;R=1+(R-y|0)|0,ae=((0|ee)==2?19:20)-Ut|0;break w;case 8:if(r=$e+2|0,y=g[$e+1|0],!(y=e[4788+((((0|y)<65?191:-65)+y<<2)+t|0)>>2]))break l;y:{for(;;){if((0|(Oe=d[0|y]))==7)break l;if((0|Oe)==126){nt=0;break y}P=R;G:{S:{if((0|($e=(nt=CA(y))-1|0))>0)for(P=ee-nt|0,ae=0,ue=R;;){if(!d[0|(ue=ue-1|0)])break S;if((0|$e)==(0|(ae=ae+1|0)))break}X:if(!((0|(ae=d[0|P]))!=(0|Oe)|!ae))for(;;){if((0|(Oe=d[0|(y=y+1|0)]))!=(0|(ae=d[0|(P=P+1|0)])))break X;if(!ae)break}if(!Oe)break G}for(P=y;ae=d[0|P],P=y=P+1|0,ae;);continue}break}if((0|nt)<0)break l}ae=20-vt|0,R=1+(R-nt|0)|0;break w;case 15:P=e[w+268>>2];y:{G:if(ee=e[t+604>>2])ee=!!(0|Ns(ee,P));else{S:{if((0|(ee=e[t+600>>2]))>0){if((P=P-ee|0)-1>>>0<255)break S;break y}if((ee=P-192|0)>>>0<=413){ee=1&g[344+(d[ee+94240|0]+t|0)|0];break G}if(P>>>0>255)break y}ee=1&g[344+(t+P|0)|0]}if(ee)break l}ae=20-Ut|0,R=1+(R-y|0)|0;break w;case 1:if(e[w+268>>2]!=e[w+264>>2])break l;ae=21-Ut|0,R=1+(R-y|0)|0;break w;case 5:if(!((ee=e[w+268>>2])-48>>>0<10|ee-2406>>>0<10))break l;ae=21-Ut|0,R=1+(R-y|0)|0;break w;case 6:if(ji(e[w+268>>2]))break l;ae=21-vt|0,R=1+(R-y|0)|0;break w;case 18:if(r=$e+2|0,!((0|(P=d[$e+1|0]))==3|(240&P)==32)||(sr(y=w+96|0,ds,R=1+(e[A>>2]+(FA+is|0)|0)|0),g[0|(y=y+R|0)]=32,g[y+1|0]=0,e[33265]=0,e[33266]=0,e[w+16>>2]=Qs,ls(t,w+16|0,w+272|0,133060,0,0),ae=23,!((0|P)!=3|(0|(ue=e[33265]))>=0|16384&e[33266])))break n;if(y=Te,R=ee,ue>>>
2810(15&P)&16384)break C;break l;case 11:if(P=1,d[0|r]==21)for(;P=P+1|0,d[0|(r=r+1|0)]==21;);if(e[t+8208>>2]<(0|P))break l;ae=18+(P-Ut|0)|0;break w;case 0:if(ae=19,y=Te,R=ee,e[t+8212>>2]>0)break C;break l;case 19:if(ae=3,(0|(ue=e[w+268>>2]))==32)break w;for(P=1+(R-y|0)|0;;){y:{G:if(y=e[t+632>>2])y=!!(0|Ns(y,ue));else{S:{if((0|(y=e[t+600>>2]))>0){if((ue=ue-y|0)-1>>>0<255)break S;break y}if((y=ue-192|0)>>>0<=413){y=128&d[344+(d[y+94240|0]+t|0)|0];break G}if(ue>>>0>255)break y}y=128&d[344+(t+ue|0)|0]}if(y)break l}if(P=P-Hs(w+268|0,P-1|0)|0,(0|(ue=e[w+268>>2]))==32)break}break w;case 16:if(ae=1,y=Te,R=ee,e[t+8184>>2])break C;break l;case 9:if(ae=1,y=Te,R=ee,en)break C;break l;case 36:for(;;){if(ae=50,y=Te,!(ee=(255&Oe)-32|0))break l;if((0|ee)==14)break C;Oe=d[0|(ht=ht-1|0)]}case 35:break M;default:break B}M:{if(y=Oe-32|0){if((0|y)==13)break M;break l}if(!Dn)break l}ae=22-vt|0;break w}R:{for(;;){nt=-1,ue=ee,ee=ee-1|0;M:if((0|YA)==18&&(y=g[$e+2|0],ae=e[4788+((((0|y)<65?191:-65)+y<<2)+t|0)>>2]))for(Ao=ue+1|0;;){if((0|(ht=d[0|ae]))==7){nt=-1;break M}if((0|ht)==126){nt=0;break M}P=ue;y:{if((0|(Rs=(nt=CA(ae))-1|0))>0)for(P=Ao-nt|0,Oe=0,y=ue;;){if(!d[0|(y=y-1|0)])break y;if((0|Rs)==(0|(Oe=Oe+1|0)))break}G:if(!((0|(y=d[0|P]))!=(0|ht)|!y))for(;;){if((0|(ht=d[0|(ae=ae+1|0)]))!=(0|(y=d[0|(P=P+1|0)])))break G;if(!y)break}if(!ht)break M}for(P=ae;y=d[0|P],P=ae=P+1|0,y;);}if(y=(0|(P=d[0|ee]))==(0|YA),(0|P)==32|(0|P)==(0|YA))break R;if(!P){ee=ue;break O}if((0|nt)!=-1)break}ee=ue;break O}ee=ue}R=y?ee:R}ae=0,R=(0|nt)<0?R:ee+1|0;break w}if((0|P)!=(0|Oe))break l;ae=4,(0|P)!=32&&(ae=(192&P)!=128?21-Ut|0:0)}y=Te;break C}if((0|P)!=(0|Oe))break l;ue=(192&P)!=128?21-vt|0:0;break f}if(ae=1,Ba)break l}Qt=ae+Qt|0;continue}if(y=g[$e+1|0],Te=d[$e+3|0],R=d[$e+2|0],1&!(e[t+8208>>2]|4&R)&g[t+84|0])break l;r=$e+4|0,ue=0,Te=127&Te|(127&R)<<8|y<<16;break f}b:if(!(ht>>>0<=(P=e[A>>2]+a|0)>>>0)){for(;;){if(d[0|P]!=101){if(y=P>>>0<be>>>0,P=P+1|0,y)continue;break b}break}ue=0,hA=P;break f}ue=0;break f}ae=-20;break n}if(Oe=0,(0|(P=e[w+268>>2]))!=32)for(ue=be+nt|0,ae=0;;){if(!ae){i:{h:if(R=e[t+632>>2])P=!!(0|Ns(R,P));else{b:{if((0|(R=e[t+600>>2]))>0){if((P=P-R|0)-1>>>0<255)break b;break i}if((R=P-192|0)>>>0<=413){P=128&d[344+(d[R+94240|0]+t|0)|0];break h}if(P>>>0>255)break i}P=128&d[344+(t+P|0)|0]}P&&(Oe=Oe+1|0)}P=e[w+268>>2]}i:if(R=e[t+632>>2])ae=!!(0|Ns(R,P));else{h:{if((0|(R=e[t+600>>2]))>0){if(ae=0,(P=P-R|0)-1>>>0<255)break h;break i}if((R=P-192|0)>>>0<=413){ae=128&d[344+(d[R+94240|0]+t|0)|0];break i}if(ae=0,P>>>0>255)break i}ae=128&d[344+(t+P|0)|0]}if(ue=ur(w+268|0,ue)+ue|0,(0|(P=e[w+268>>2]))==32)break}if(!((0|y)>(0|Oe))){ue=18+(y-vt|0)|0;break f}}for(;y=d[0|r],r=i=r+1|0,y;);if(d[0|i]!=7)continue a;if(t=a+Pi|0,e[A>>2]=e[A>>2]+(t||1),Jr)break t;break r}y=Te,be=ht,R=ee,Qt=ue+Qt|0;continue}be=be+nt|0,ae=21-vt|0;break n}be=be+nt|0,ae=20-vt|0}y=Te,R=ee,Qt=ae+Qt|0}}wr=86135}e[l+12>>2]=to,e[l+8>>2]=ii,e[l+4>>2]=wr,e[l>>2]=Jr}oe=w+384|0}function tA(t,A){var r,a=0,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,Te=0,Oe=0,$e=0,nt=0,ht=0,vt=0,Qt=0,Ut=0,fA=0,hA=0,FA=0,YA=0,rr=0,wr=0,jr=0,Jr=0;oe=r=oe-1168|0,e[r+928>>2]=0,e[r+932>>2]=0,e[r+920>>2]=0,e[r+924>>2]=0,e[r+912>>2]=0,e[r+916>>2]=0,e[r+904>>2]=0,e[r+908>>2]=0,e[r+896>>2]=0,e[r+900>>2]=0;e:{t:{if(t){if(d[0|t]|8&A)break t;break e}if(!(8&A))break e}if(Zr(r+1088|0,t,40),16&A){if((0|nn(BA(r+704|0,t)))<=0)break e;ue=8&A}else(ue=8&A)|d[r+1088|0]||(v[r+1088>>1]=d[85055]|d[85056]<<8,g[r+1090|0]=d[85057]),e[r+496>>2]=137584,e[r+500>>2]=47,e[r+504>>2]=47,uA(a=r+512|0,85286,r+496|0),e[r+484>>2]=r+1088,e[r+480>>2]=a,uA(a=r+704|0,85425,r+480|0),(0|nn(a))>0||(e[r+468>>2]=47,e[r+472>>2]=47,e[r+464>>2]=137584,uA(a=r+512|0,85648,r+464|0),e[r+452>>2]=r+1088,e[r+448>>2]=a,uA(r+704|0,85425,r+448|0));if(i=ue?86012:85055,!(be=oa(r+704|0,85712))){if(a=0,3&A)break e;i=(0|hi(a=r+1088|0))<0?i:a}if((ae=2&A)||(a=e[47192])&&(Jo(a),e[47192]=0),$e=BA(r+992|0,i),Oe=BA(r+944|0,i),ae?((a=$a(200992,43))&&(g[0|a]=0),e[r+432>>2]=t+3,uA(t=r+704|0,86030,r+432|0),fa(200992,t)):(e[32972]=199592,Zr(200992,t,40),g[201088]=0,g[201040]=0,e[50299]=200992,e[50298]=201088,e[50297]=201040),HA(ae),be){for(ht=e[30450],vt=r+548|0,Qt=r+544|0,Ut=r+540|0,fA=r+536|0,hA=r+532|0,FA=r+528|0,YA=12|(t=r+512|0),rr=8|t,wr=4|t;Qr(r+704|0,190,be);){t=r+704|0;t:{if(d[r+704|0]!=35){r:if(!((0|(t=CA(r+704|0)-1|0))<=0))for(;;){if(!((0|(i=g[0|(a=(r+704|0)+t|0)]))==32|i-9>>>0<5))break r;if(g[0|a]=0,!((0|(t=t-1|0))>0))break}if(!(t=Dr(r+704|0)))break t}g[0|t]=0}t=r+704|0;t:if(a=d[r+704|0])for(;;){if((0|(a=a<<24>>24))==32|a-9>>>0<5)break t;if(!(a=d[0|(t=t+1|0)]))break}if(g[0|t]=0,d[r+704|0])if(t=t+1|0,a=ua(129744,r+704|0)){l=0,oe=i=oe-416|0;t:if(h=e[47192]){switch(a-19|0){case 16:if(e[i+32>>2]=i+412,(0|oA(t,84249,i+32|0))!=1)break t;e[h+324>>2]=e[i+412>>2];break t;case 8:oo(t,h+320|0,27);break t;case 2:if(e[i+48>>2]=188784,oA(t,84249,i+48|0),!(t=d[188784]))break t;e[h+152>>2]=t;break t;case 11:if(d[0|t]){for(m=e[30450];;)if(a=t,t=t+1|0,!((0|(l=g[0|a]))==32|l-9>>>0<5)){for(l=Jn(a),e[i+412>>2]=l,(0|l)>0&&(l>>>0<=31?e[h+104>>2]=e[h+104>>2]|1<<l:l>>>0<=63?e[h+108>>2]=e[h+108>>
vendor: 9,339 bytes, line 2810
28102]|1<<l-32:(e[i+64>>2]=l,fs(m,84700,i- -64|0)),a=t);a=(t=a)+1|0,(l=g[0|t])-48>>>0<10|(32|l)-97>>>0<26;);if(!l)break}}8&(t=e[h+104>>2])&&(e[h+124>>2]=46,e[h+128>>2]=44),4&t&&(e[h+124>>2]=0);break t;default:if((65280&a)!=256)break t;e[i+16>>2]=24+(h+((255&a)<<2)|0),oA(t,84249,i+16|0);break t;case 1:e[i+144>>2]=h,e[i+148>>2]=h+4,oA(t,85642,i+144|0);break t;case 3:if(a=0,kA(l=i+160|0,0,240),e[i+132>>2]=i+360,e[i+128>>2]=i+320,e[i+124>>2]=i+280,e[i+120>>2]=i+240,e[i+116>>2]=i+200,e[i+112>>2]=l,l=oA(t,85037,i+112|0),e[i+412>>2]=l,e[h+152>>2]=0,(0|l)<=0)break t;for(y=e[30450];;){r:if(qr(m=(i+160|0)+F(a,40)|0,85301)){a:{if((0|(M=e[34454]))>0)for(ee=e[34455],t=0;;){if(!qr(m,ee+F(t,68)|0))break a;if((0|M)==(0|(t=t+1|0)))break}e[i+96>>2]=m,fs(y,85562,i+96|0),l=e[i+412>>2];break r}g[156+(a+h|0)|0]=t}if(!((0|l)>(0|(a=a+1|0))))break}break t;case 9:e[i+88>>2]=h+20,e[i+84>>2]=h+16,e[i+80>>2]=h+8,oA(t,84778,i+80|0);break t;case 10:oo(t,h+12|0,29);break t;case 5:if((0|(y=co(t,i+160|0)))<=0)break t;if(a=0,t=0,y>>>0>=4)for(ee=-4&y,m=h+304|0;M=i+160|0,v[m+(t<<1)>>1]=e[M+(t<<2)>>2],v[m+((w=1|t)<<1)>>1]=e[M+(w<<2)>>2],v[m+((w=2|t)<<1)>>1]=e[M+(w<<2)>>2],v[m+((w=3|t)<<1)>>1]=e[M+(w<<2)>>2],t=t+4|0,(0|ee)!=(0|(l=l+4|0)););if(!(l=3&y))break t;for(;v[304+(h+(t<<1)|0)>>1]=e[(i+160|0)+(t<<2)>>2],t=t+1|0,(0|l)!=(0|(a=a+1|0)););break t;case 6:if((0|(y=co(t,i+160|0)))<=0)break t;if(a=0,t=0,y>>>0>=4)for(ee=-4&y,m=h+296|0;M=i+160|0,g[t+m|0]=e[M+(t<<2)>>2],g[(w=1|t)+m|0]=e[M+(w<<2)>>2],g[(w=2|t)+m|0]=e[M+(w<<2)>>2],g[(w=3|t)+m|0]=e[M+(w<<2)>>2],t=t+4|0,(0|ee)!=(0|(l=l+4|0)););if(!(l=3&y))break t;for(;g[296+(t+h|0)|0]=e[(i+160|0)+(t<<2)>>2],t=t+1|0,(0|l)!=(0|(a=a+1|0)););break t;case 7:if((0|(y=co(t,i+160|0)))<=0)break t;if(a=0,t=0,y>>>0>=4)for(ee=-4&y,m=h+304|0;w=M=m+(t<<1)|0,P=T[M>>1],M=i+160|0,v[w>>1]=P+T[M+(t<<2)>>1],v[(P=m+((w=1|t)<<1)|0)>>1]=T[P>>1]+T[M+(w<<2)>>1],v[(P=m+((w=2|t)<<1)|0)>>1]=T[P>>1]+T[M+(w<<2)>>1],v[(P=m+((w=3|t)<<1)|0)>>1]=T[P>>1]+T[M+(w<<2)>>1],t=t+4|0,(0|ee)!=(0|(l=l+4|0)););if(!(l=3&y))break t;for(;v[304+(m=h+(t<<1)|0)>>1]=T[m+304>>1]+T[(i+160|0)+(t<<2)>>1],t=t+1|0,(0|l)!=(0|(a=a+1|0)););break t;case 4:g[h+169|0]=1;break t;case 0:}g[h+208|0]=1}else e[i>>2]=Vi(129568,a),fs(e[30450],89101,i);oe=i+416|0}else{switch(ua(131904,r+704|0)-1|0){case 1:if(ae||(g[r+1040|0]=0,e[r+512>>2]=5,e[r+32>>2]=r+1040,e[r+36>>2]=r+512,oA(t,86237,r+32|0),e[r+1040>>2]==1769103734&e[r+1044>>2]==7630433))continue;if((t=CA(r+1040|0)+2|0)>>>0<99-Te>>>0&&(g[0|(a=Te+201088|0)]=e[r+512>>2],BA(a+1|0,r+1040|0),Te=t+Te|0),!jr){if(t=0,(a=m=r+1040|0)||(a=e[57150])){if(t=86875,e[24+(i=oe-32|0)>>2]=0,e[i+28>>2]=0,e[i+16>>2]=0,e[i+20>>2]=0,e[i+8>>2]=0,e[i+12>>2]=0,e[i>>2]=0,e[i+4>>2]=0,h=0,l=d[86875])if(d[86876]){for(;e[(h=i+(l>>>3&28)|0)>>2]=e[h>>2]|1<<l,l=d[t+1|0],t=t+1|0,l;);t:if(l=d[0|(t=a)])for(;;){if(!(e[i+(l>>>3&28)>>2]>>>l&1))break t;if(l=d[t+1|0],t=t+1|0,!l)break}h=t-a|0}else{for(t=a;i=t,t=t+1|0,d[0|i]==(0|l););h=i-a|0}if(d[0|(t=h+a|0)]){a=86875,oe=l=oe-32|0,i=g[86875];t:if(d[86876]&&i){if(kA(l,0,32),i=d[86875])for(;e[(h=l+(i>>>3&28)|0)>>2]=e[h>>2]|1<<i,i=d[a+1|0],a=a+1|0,i;);if(a=t,i=d[0|t])for(;;){if(e[l+(i>>>3&28)>>2]>>>i&1)break t;if(i=d[a+1|0],a=a+1|0,!i)break}}else a=zn(t,i);oe=l+32|0,d[0|(a=(a-t|0)+t|0)]?(e[57150]=a+1,g[0|a]=0):e[57150]=0}else e[57150]=0,t=0}a=BA($e,t),BA(Oe,t),hi(BA(r+896|0,t)),e[47192]=rt(a),Zr(e[32972]+40|0,m,20)}jr=1;continue;case 0:if(ae)continue;for(;a=t,t=t+1|0,(0|(i=g[0|a]))==32|i-9>>>0<5;);Zr(201040,a,40);continue;case 2:e[r+1152>>2]=0,a=r+512|0,e[r+48>>2]=a,e[r+52>>2]=r+1152,oA(t,86237,r+48|0),g[201200]=ua(132112,a),g[201201]=e[r+1152>>2];continue;case 4:e[r+64>>2]=Oe,oA(t,86939,r- -64|0);continue;case 3:e[r+80>>2]=r+896,oA(t,86939,r+80|0);continue;case 8:if(e[r+1152>>2]=100,e[r+1164>>2]=100,e[r+1148>>2]=100,e[r+112>>2]=r+1144,e[r+1144>>2]=0,e[r+96>>2]=r+512,e[r+100>>2]=r+1152,e[r+104>>2]=r+1164,e[r+108>>2]=r+1148,(0|oA(t,91156,r+96|0))<2||(t=e[r+512>>2])>>>0>8||((0|(a=e[r+1152>>2]))>=0&&(i=e[32972]+(t<<1)|0,a=he(R=2.56001*+(0|a))<2147483648?~~R:-2147483648,v[i+236>>1]=a,v[i+164>>1]=a),(0|(a=e[r+1164>>2]))>=0&&(i=e[32972]+(t<<1)|0,a=he(R=2.56001*+(0|a))<2147483648?~~R:-2147483648,v[i+254>>1]=a,v[i+182>>1]=a),(0|(i=e[r+1148>>2]))<0?a=e[32972]:(m=(a=e[32972])+(t<<1)|0,i=he(R=2.56001*+(0|i))<2147483648?~~R:-2147483648,v[m+200>>1]=i),v[218+((t<<1)+a|0)>>1]=e[r+1144>>2],t))continue;v[a+200>>1]=(0|F(v[a+200>>1],105))/100;continue;case 9:if(e[r+132>>2]=r+696,e[r+128>>2]=r+700,(0|oA(t,87106,r+128|0))!=2)continue;if(t=e[32972],a=e[r+700>>2],e[t+64>>2]=(a<<12)-36864,e[t+68>>2]=F(e[r+696>>2]-a|0,108),he(R=256*(+(a-82|0)/82*.25+1))<2147483648){e[t+116>>2]=~~R;continue}e[t+116>>2]=-2147483648;continue;case 35:Jr||hi(r+896|0),e[r+1164>>2]=0,g[r+1156|0]=d[91267],e[r+1152>>2]=d[91263]|d[91264]<<8|d[91265]<<16|d[91266]<<24,e[r+144>>2]=r+1164,e[r+148>>2]=r+512,e[r+152>>2]=r+1152,(0|oA(t,91302,r+144|0))<2|e[49848]>59||(t=gi(r+512|0))&&(g[F(e[49848],3)+199408|0]=t,t=gi(r+1152|0),a=e[49848],i=F(a,3)+199408|0,g[i+1|0]=t,e[49848]=a+1,g[i+2|0]=e[r+1164>>2]),Jr=1;continue;case 10:e[r+1140>>2]=0,a=e[32972],e[a+100>>2]=0,e[r+164>>2]=a+100,e[r+160>>2]=a+96,oA(t,87106,r+160|0);continue;case 11:if(e[r+176>>2]=r+1140,(0|oA(t,87268,r+176|0))!=1)continue;e[e[32972]+88>>2]=e[r+1140>>2]<<5;continue;case 12:if(e[r+192>>2]=r+1140,(0|oA(t,87268,r+192|0))!=1)continue;e[e[32972]+92>>2]=e[r+1140>>2];continue;case 13:if(e[r+208>>2]=r+1140,(0|oA(t,87268,r+208|0))!=1)continue;a=e[32972],(0|(t=e[r+1140>>2]))>=5&&(e[a+108>>2]=1,e[r+1140>>2]=4,t=4),e[a+104>>2]=t+1;continue;case 14:for(e[r+552>>2]=-1,e[r+556>>2]=-1,e[r+544>>2]=-1,e[r+548>>2]=-1,e[r+536>>2]=-1,e[r+540>>2]=-1,e[r+528>>2]=-1,e[r+532>>2]=-1,e[r+240>>2]=FA,e[r+244>>2]=hA,e[r+248>>2]=fA,e[r+252>>2]=Ut,e[r+256>>2]=Qt,e[r+260>>2]=vt,e[r+520>>2]=-1,e[r+524>>2]=-1,e[r+512>>2]=-1,e[r+516>>2]=-1,e[r+228>>2]=wr,e[r+232>>2]=rr,e[r+236>>2]=YA,e[r+224>>2]=r+512,oA(t,84222,r+224|0),ee=e[32972],t=0,l=e[r+516>>2],i=0;;){if(a=i,h=l,m=t,(0|(i=e[(l=(t<<=2)+(r+512|0)|0)>>2]))==-1&&(i=8e3,e[l>>2]=8e3,m&&(e[(r+512|0)+(4|t)>>2]=e[508+(t+r|0)>>2])),l=e[(r+512|0)+(4|t)>>2],!((0|a)>=(0|(i=(0|i)/8|0))||(0|(M=i-a|0))<=0||(y=a+1|0,t=a,1&M&&(g[344+(a+ee|0)|0]=(0|h)>=255?255:h,t=y),(0|i)==(0|y))))for(y=l-h|0;P=ee+344|0,w=h+((0|F(y,t-a|0))/(0|M)|0)|0,g[P+t|0]=(0|w)>=255?255:w,w=h+((0|F(y,(nt=t+1|0)-a|0))/(0|M)|0)|0,g[P+nt|0]=(0|w)>=255?255:w,(0|i)!=(0|(t=t+2|0)););if(t=m+2|0,!(m>>>0<10))break}continue;case 15:if(e[r+272>>2]=r+1140,(0|oA(t,87268,r+272|0))!=1)continue;e[e[32972]+112>>2]=(e[r+1140>>2]<<6)/100;continue;case 16:a=e[32972],e[(i=a+300|0)>>2]=0,e[i+4>>2]=0,e[(l=a+292|0)>>2]=0,e[l+4>>2]=0,e[(h=a+284|0)>>2]=0,e[h+4>>2]=0,e[(m=a+276|0)>>2]=0,e[m+4>>2]=0,e[r+316>>2]=a+304,e[r+312>>2]=i,e[r+308>>2]=a+296,e[r+304>>2]=l,e[r+300>>2]=a+288,e[r+296>>2]=h,e[r+292>>2]=a+280,e[r+288>>2]=m,a=oA(t,84553,r+288|0),t=e[32972],e[t+272>>2]=a,e[t+276>>2]=0-e[t+276>>2],e[t+284>>2]=0-e[t+284>>2],e[t+292>>2]=0-e[t+292>>2],e[t+300>>2]=0-e[t+300>>2];continue;case 17:a=e[32972],e[(i=a+336|0)>>2]=0,e[i+4>>2]=0,e[(l=a+328|0)>>2]=0,e[l+4>>2]=0,e[(h=a+320|0)>>2]=0,e[h+4>>2]=0,e[(m=a+312|0)>>2]=0,e[m+4>>2]=0,e[r+348>>2]=a+340,e[r+344>>2]=i,e[r+340>>2]=a+332,e[r+336>>2]=l,e[r+332>>2]=a+324,e[r+328>>2]=h,e[r+324>>2]=a+316,e[r+320>>2]=m,t=oA(t,84553,r+320|0),e[e[32972]+308>>2]=t;continue;case 36:a=e[32972],e[r+352>>2]=a+120,e[r+356>>2]=a+124,e[r+1140>>2]=oA(t,87106,r+352|0);continue;case 33:e[r+368>>2]=e[32972]+84,oA(t,87268,r+368|0),Ha(3);continue;case 31:a=e[32972],e[(i=a+156|0)>>2]=0,e[i+4>>2]=0,e[(l=a+148|0)>>2]=0,e[l+4>>2]=0,e[(h=a+140|0)>>2]=0,e[h+4>>2]=0,e[(m=a+132|0)>>2]=0,e[m+4>>2]=0,e[r+412>>2]=a+160,e[r+408>>2]=i,e[r+404>>2]=a+152,e[r+400>>2]=l,e[r+396>>2]=a+144,e[r+392>>2]=h,e[r+388>>2]=a+136,e[r+384>>2]=m,oA(t,84553,r+384|0),t=e[32972],e[t+152>>2]=e[t+152>>2]-40;continue;case 32:e[r+416>>2]=145740,oA(t,87268,r+416|0),Ha(3);continue;case 6:case 7:continue}e[r+16>>2]=r+704,fs(ht,87359,r+16|0)}}bs(be)}t:{if((t=e[47192])|ae){if(ae)break t}else t=rt($e),e[47192]=t;r:{if(!ue){if((0|(t=hi(r+896|0)))<0&&(e[r>>2]=r+896,fs(e[30450],87567,r),t=0),e[e[32972]+60>>2]=t,a=e[47192],e[a+292>>2]=t,ss(a,Oe,4&A),d[132848])break r;Jo(e[47192]),a=0;break e}e[e[32972]+60>>2]=0,e[t+292>>2]=0}g[Te+201088|0]=0}a=e[32972]}return oe=r+1168|0,a}function oA(t,A,r){var a,i,l,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,Te=0,Oe=0,$e=0,nt=0,ht=0,vt=0,Qt=0,Ut=0;oe=l=oe-16|0,e[l+12>>2]=r,oe=h=oe-144|0,a=kA(h,0,144),e[a+76>>2]=-1,e[a+44>>2]=t,e[a+32>>2]=18,e[a+84>>2]=t,h=A,vt=r,t=0,oe=i=oe-304|0;e:{t:{r:if(e[a+4>>2]||(Xa(a),e[a+4>>2])){if(!(A=d[0|h]))break e;a:{n:{c:{o:{for(;;){f:{l:if((0|(A&=255))==32|A-9>>>0<5){for(;A=h,h=h+1|0,(0|(r=d[A+1|0]))==32|r-9>>>0<5;);for(qs(a,0,0);(0|(r=e[a+4>>2]))==e[a+104>>2]?r=lA(a):(e[a+4>>2]=r+1,r=d[0|r]),(0|r)==32|r-9>>>0<5;);h=e[a+4>>2],(0|(r=e[a+116>>2]))>0|(0|r)>=0&&(h=h-1|0,e[a+4>>2]=h),h=r=h-e[a+44>>2]|0,y=Te+e[a+124>>2]|0,y=(m=r>>31)+((r=ae+e[a+120>>2]|0)>>>0<ae>>>0?y+1|0:y)|0,Te=(ae=r+h|0)>>>0<r>>>0?y+1|0:y}else{i:{h:{b:{if(d[0|h]==37){if((0|(A=d[h+1|0]))==42)break b;if((0|A)!=37)break h}if(qs(a,0,0),d[0|h]!=37)(0|(A=e[a+4>>2]))==e[a+104>>2]?A=lA(a):(e[a+4>>2]=A+1,A=d[0|A]);else{for(;(0|(A=e[a+4>>2]))==e[a+104>>2]?A=lA(a):(e[a+4>>2]=A+1,A=d[0|A]),(0|A)==32|A-9>>>0<5;);h=h+1|0}if(d[0|h]!=(0|A)){if((0|(r=e[a+116>>2]))>0|(0|r)>=0&&(e[a+4>>2]=e[a+4>>2]-1),(0|A)>=0||(w=0,Qt))break e;break r}
2810M=(m=A=e[a+4>>2]-e[a+44>>2]|0)>>31,A=Te+e[a+124>>2]|0,w=((r=ae+e[a+120>>2]|0)>>>0<ae>>>0?A+1|0:A)+M|0,Te=(ae=r+m|0)>>>0<r>>>0?w+1|0:w,A=h;break l}P=0,A=h+2|0;break i}d[h+2|0]!=36|A-48>>>0>=10?(P=e[vt>>2],vt=vt+4|0,A=h+1|0):(A=d[h+1|0]-48|0,e[12+(r=oe-16|0)>>2]=vt,A=(A>>>0>1?(A<<2)-4|0:0)+vt|0,e[r+8>>2]=A+4,P=e[A>>2],A=h+3|0)}if(R=0,h=0,d[0|A]-48>>>0<10)for(;h=(d[0|A]+F(h,10)|0)-48|0,r=d[A+1|0],A=A+1|0,r-48>>>0<10;);(0|(ue=d[0|A]))==109&&(ee=0,R=!!(0|P),ue=d[A+1|0],t=0,A=A+1|0),A=(r=A)+1|0,m=3,w=R;i:{h:switch(ue-65|0){case 39:m=r+2|0,A=(r=d[r+1|0]==104)?m:A,m=r?-2:-1;break i;case 43:m=r+2|0,A=(r=d[r+1|0]==108)?m:A,m=r?3:1;break i;case 51:case 57:m=1;break i;case 11:m=2;break i;case 41:break i;case 0:case 2:case 4:case 5:case 6:case 18:case 23:case 26:case 32:case 34:case 35:case 36:case 37:case 38:case 40:case 45:case 46:case 47:case 50:case 52:case 55:break h;default:break a}m=0,A=r}w=m,nt=(m=(47&(r=d[0|A]))==3)?1:w;i:if((0|($e=m?32|r:r))!=91){h:{if((0|$e)!=110){if((0|$e)!=99)break h;h=(0|h)<=1?1:h;break i}qo(P,nt,ae,Te);break l}for(qs(a,0,0);(0|(r=e[a+4>>2]))==e[a+104>>2]?r=lA(a):(e[a+4>>2]=r+1,r=d[0|r]),(0|r)==32|r-9>>>0<5;);r=e[a+4>>2],(0|(m=e[a+116>>2]))>0|(0|m)>=0&&(r=r-1|0,e[a+4>>2]=r),m=r=r-e[a+44>>2]|0,y=Te+e[a+124>>2]|0,Te=(w=r>>31)+((r=ae+e[a+120>>2]|0)>>>0<ae>>>0?y+1|0:y)|0,Te=(ae=r+m|0)>>>0<r>>>0?Te+1|0:Te}if(be=h,qs(a,h,Oe=h>>31),(0|(r=e[a+4>>2]))==e[a+104>>2]){if((0|lA(a))<0)break n}else e[a+4>>2]=r+1;(0|(r=e[a+116>>2]))>0|(0|r)>=0&&(e[a+4>>2]=e[a+4>>2]-1),r=16;i:{h:{b:{m:{switch($e-88|0){default:if((r=$e-65|0)>>>0>6|!(1<<r&113))break i;case 9:case 13:case 14:case 15:if(jt(i+8|0,a,nt,0),r=e[a+4>>2]-e[a+44>>2]|0,e[a+120>>2]!=(0-r|0)|e[a+124>>2]!=(0-((r>>31)+!!(0|r)|0)|0))break b;break c;case 3:case 11:case 27:if((16|$e)==115){if(kA(i+32|0,-1,257),g[i+32|0]=0,(0|$e)!=115)break h;g[i+65|0]=0,g[i+46|0]=0,v[i+42>>1]=0,v[i+44>>1]=0;break h}kA(i+32|0,M=(0|(m=d[A+1|0]))==94,257),g[i+32|0]=0,r=M?A+2|0:A+1|0;C:{p:{x:{if((0|(A=d[(M?2:1)+A|0]))!=45){if((0|A)==93)break x;m=(0|m)!=94,A=r;break C}m=(0|m)!=94,g[i+78|0]=m;break p}m=(0|m)!=94,g[i+126|0]=m}A=r+1|0}for(;;){if((0|(r=d[0|A]))==45){if(r=45,!(!(M=d[A+1|0])|(0|M)==93)){if(w=A+1|0,M>>>0<=(A=d[A-1|0])>>>0)r=M;else for(;g[(A=A+1|0)+(i+32|0)|0]=m,(r=d[0|w])>>>0>A>>>0;);A=w}}else{if(!r)break n;if((0|r)==93)break h}g[33+(r+i|0)|0]=m,A=A+1|0}case 23:r=8;break m;case 12:case 29:r=10;break m;case 1:case 2:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 22:case 25:case 26:case 28:case 30:case 31:break i;case 0:case 24:case 32:break m;case 17:}r=0}M=0,y=0,m=0,w=0,ue=0,oe=ht=oe-16|0;m:if((0|r)!=1&r>>>0<=36){for(;(0|(h=e[a+4>>2]))==e[a+104>>2]?h=lA(a):(e[a+4>>2]=h+1,h=d[0|h]),(0|h)==32|h-9>>>0<5;);C:{p:switch(h-43|0){case 0:case 2:break p;default:break C}ue=(0|h)==45?-1:0,(0|(h=e[a+4>>2]))==e[a+104>>2]?h=lA(a):(e[a+4>>2]=h+1,h=d[0|h])}C:{p:{x:{w:{if(!(!!(0|r)&(0|r)!=16|(0|h)!=48)){if((0|(h=e[a+4>>2]))==e[a+104>>2]?h=lA(a):(e[a+4>>2]=h+1,h=d[0|h]),(-33&h)==88){if(r=16,(0|(h=e[a+4>>2]))==e[a+104>>2]?h=lA(a):(e[a+4>>2]=h+1,h=d[0|h]),d[h+121329|0]<16)break x;(0|(r=e[a+116>>2]))>0|(0|r)>=0&&(e[a+4>>2]=e[a+4>>2]-1),qs(a,0,0);break m}if(r)break w;r=8;break x}if(!((r=r||10)>>>0>d[h+121329|0])){(0|(r=e[a+116>>2]))>0|(0|r)>=0&&(e[a+4>>2]=e[a+4>>2]-1),qs(a,0,0),e[56798]=28;break m}}if((0|r)==10){if((m=h-48|0)>>>0<=9){for(r=0;w=(r=F(r,10)+m|0)>>>0<429496729,(0|(h=e[a+4>>2]))==e[a+104>>2]?h=lA(a):(e[a+4>>2]=h+1,h=d[0|h]),w&(m=h-48|0)>>>0<=9;);M=r}w:if(!(m>>>0>9)){for(r=er(M,0,10,0),w=fe;;){if(y=w,w=(0|(y=(M=r+m|0)>>>0<m>>>0?y+1|0:y))==429496729&M>>>0>=2576980378|y>>>0>429496729,(0|(r=e[a+4>>2]))==e[a+104>>2]?h=lA(a):(e[a+4>>2]=r+1,h=d[0|r]),w|(m=h-48|0)>>>0>9)break w;if(r=er(M,y,10,0),!((0|(w=fe))==-1&~m>>>0>=r>>>0|(0|w)!=-1))break}r=10;break p}if(r=10,m>>>0<=9)break p;break C}}if(r-1&r){if((w=d[h+121329|0])>>>0<r>>>0){for(;M=(m=F(r,m)+w|0)>>>0<119304647,(0|(h=e[a+4>>2]))==e[a+104>>2]?h=lA(a):(e[a+4>>2]=h+1,h=d[0|h]),M&(w=d[h+121329|0])>>>0<r>>>0;);M=m}if(r>>>0<=w>>>0)break p;for(;;){if(m=er(M,y,r,0),(0|(be=fe))==-1&~(w&=255)>>>0<m>>>0||(y=be,y=(M=m+w|0)>>>0<w>>>0?y+1|0:y,(0|(h=e[a+4>>2]))==e[a+104>>2]?h=lA(a):(e[a+4>>2]=h+1,h=d[0|h]),r>>>0<=(w=d[h+121329|0])>>>0))break p;if(Ys(ht,r,0,0,0,M,y,0,0),e[ht+8>>2]|e[ht+12>>2])break}}else{if(be=g[84400+(F(r,23)>>>5&7)|0],(m=d[h+121329|0])>>>0<r>>>0){for(;M=(w=w<<be|m)>>>0<134217728,(0|(h=e[a+4>>2]))==e[a+104>>2]?h=lA(a):(e[a+4>>2]=h+1,h=d[0|h]),M&(m=d[h+121329|0])>>>0<r>>>0;);M=w}if(!(r>>>0<=m>>>0||(Oe=31&be,(63&be)>>>0>=32?(w=0,Oe=-1>>>Oe|0):Oe=(w=-1>>>Oe|0)|(1<<Oe)-1<<32-Oe,!w&M>>>0>Oe>>>
vendor: 13,625 bytes, line 2810
28100)))for(;;){if(Ut=255&m,m=M,h=31&be,(63&be)>>>0>=32?(y=m<<h,h=0):(y=(1<<h)-1&m>>>32-h|y<<h,h=m<<h),M=Ut|h,(0|(h=e[a+4>>2]))==e[a+104>>2]?h=lA(a):(e[a+4>>2]=h+1,h=d[0|h]),r>>>0<=(m=d[h+121329|0])>>>0)break p;if(!((0|w)==(0|y)&M>>>0<=Oe>>>0|w>>>0>y>>>0))break}}}if(!(d[h+121329|0]>=r>>>0)){for(;(0|(h=e[a+4>>2]))==e[a+104>>2]?h=lA(a):(e[a+4>>2]=h+1,h=d[0|h]),d[h+121329|0]<r>>>0;);e[56798]=68,ue=0,M=-1,y=-1}}(0|(r=e[a+116>>2]))>0|(0|r)>=0&&(e[a+4>>2]=e[a+4>>2]-1),M=(r=M^ue)-ue|0,y=((h=ue>>31)^y)-((r>>>0<ue>>>0)+h|0)|0}else e[56798]=28;if(oe=ht+16|0,r=e[a+4>>2]-e[a+44>>2]|0,e[a+120>>2]==(0-r|0)&e[a+124>>2]==(0-((r>>31)+!!(0|r)|0)|0))break c;if(!(!P|(0|$e)!=112)){e[P>>2]=M;break i}qo(P,nt,M,y);break i}if(!P)break i;h=e[i+16>>2],r=e[i+20>>2],m=e[i+8>>2],R=e[i+12>>2];b:switch(0|nt){case 0:oe=y=oe-32|0;m:if(0|(w=(M=2147483647&r)-1065418752|0)>>>0<(be=M-1082064896|0)>>>0){if(M=(33554431&r)<<7|h>>>25,be=w=0,!(!w&(0|(h&=33554431))==16777216?!(m|R):!w&h>>>0<16777216)){w=M+1073741825|0;break m}if(w=M+1073741824|0,16777216^h|m|R|be)break m;w=(1&M)+w|0}else(!h&(0|M)==2147418112?!(m|R):M>>>0<2147418112)?(w=2139095040,M>>>0>1082064895||(w=0,(M=M>>>16|0)>>>0<16145||(Us(y+16|0,m,R,h,w=65535&r|65536,M-16129|0),Ta(y,m,R,h,w,16257-M|0),h=e[y+8>>2],w=(33554431&e[y+12>>2])<<7|h>>>25,M=e[y>>2]|!!(e[y+16>>2]|e[y+24>>2]|e[y+20>>2]|e[y+28>>2]),R=e[y+4>>2],(!(m=0)&(0|(h&=33554431))==16777216?!(M|R):!m&h>>>0<16777216)?16777216^h|M|m|R||(w=(1&w)+w|0):w=w+1|0))):w=4194303&((33554431&r)<<7|h>>>25)|2143289344;oe=y+32|0,e[P>>2]=-2147483648&r|w;break i;case 1:N[P>>3]=_a(m,R,h,r);break i;case 2:break b;default:break i}e[P>>2]=m,e[P+4>>2]=R,e[P+8>>2]=h,e[P+12>>2]=r;break i}m=(ht=(0|$e)!=99)?31:h+1|0;h:if((0|nt)!=1){if(R){if(h=0,!(r=nA(m)))break o;for(;;){for(t=r;;){if((0|(r=e[a+4>>2]))==e[a+104>>2]?r=lA(a):(e[a+4>>2]=r+1,r=d[0|r]),!d[33+(r+i|0)|0]){m=0,ee=t;break h}if(g[t+h|0]=r,(0|m)==(0|(h=h+1|0)))break}if(w=1,!(r=xs(t,m=m<<1|1)))break}ee=t,t=0;break a}if(h=0,P)for(;;){if((0|(t=e[a+4>>2]))==e[a+104>>2]?t=lA(a):(e[a+4>>2]=t+1,t=d[0|t]),!d[33+(t+i|0)|0]){m=0,ee=t=P;break h}g[h+P|0]=t,h=h+1|0}for(;(0|(t=e[a+4>>2]))==e[a+104>>2]?t=lA(a):(e[a+4>>2]=t+1,t=d[0|t]),d[33+(t+i|0)|0];);t=0,ee=0,m=0}else{if(r=P,R&&!(r=nA(m<<2)))break o;for(e[i+296>>2]=0,e[i+300>>2]=0,h=0;;){t=r;b:{for(;;){if((0|(r=e[a+4>>2]))==e[a+104>>2]?r=lA(a):(e[a+4>>2]=r+1,r=d[0|r]),!d[33+(r+i|0)|0])break b;g[i+27|0]=r,M=i+28|0,r=e[(w=(r=i+296|0)||228604)>>2];m:{C:{p:{x:{if(!(ee=i+27|0)){if(r)break x;r=0;break m}if(!r){if((0|(y=(r=d[0|ee])<<24>>24))>=0){M&&(e[M>>2]=r),r=!!(0|y);break m}if(!e[e[56841]>>2]){if(r=1,!M)break p;e[M>>2]=57343&y,r=1;break m}if((r=r-194|0)>>>0>50)break x;r=e[124752+(r<<2)>>2];break C}if(ue=1,!(((nt=(y=d[0|ee])>>>3|0)-16|(r>>26)+nt)>>>0>7))for(;;){if(ue=ue-1|0,(0|(r=y-128|r<<6))>=0){e[w>>2]=0,M&&(e[M>>2]=r),r=1-ue|0;break m}if(!ue)break C;if((192&(y=d[0|(ee=ee+1|0)]))!=128)break}}e[w>>2]=0,e[56798]=25,r=-1}break m}e[w>>2]=r,r=-2}if((0|r)!=-2){if(ee=0,(0|r)==-1)break n;if(t&&(e[(h<<2)+t>>2]=e[i+28>>2],h=h+1|0),!(!R|(0|h)!=(0|m)))break}}if(w=1,r=xs(t,(m=m<<1|1)<<2))continue;break a}break}if(ee=0,m=t,i+296|0&&e[i+296>>2])break n}if(r=e[a+4>>2],(0|(M=e[a+116>>2]))>0|(0|M)>=0&&(r=r-1|0,e[a+4>>2]=r),r=(M=r-e[a+44>>2]|0)+e[a+120>>2]|0,y=e[a+124>>2]+(M>>31)|0,!((y=r>>>0<M>>>0?y+1|0:y)|r)|!(ht|(0|r)==(0|be)&(0|y)==(0|Oe)))break f;R&&(e[P>>2]=t),(0|$e)!=99&&(m&&(e[(h<<2)+m>>2]=0),ee?g[h+ee|0]=0:ee=0),t=m}h=r=e[a+4>>2]-e[a+44>>2]|0,w=Te+e[a+124>>2]|0,Te=(m=r>>31)+((r=ae+e[a+120>>2]|0)>>>0<ae>>>0?w+1|0:w)|0,Te=(ae=r+h|0)>>>0<r>>>0?Te+1|0:Te,Qt=!!(0|P)+Qt|0}if(h=A+1|0,A=d[A+1|0])continue;break e}break}t=m;break c}w=1,ee=0,t=0;break a}w=R;break t}w=R}if(Qt)break t}Qt=-1}w&&(DA(ee),DA(t))}return oe=i+304|0,oe=a+144|0,oe=l+16|0,Qt}function nA(t){var A,r=0,a=0,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0;oe=A=oe-16|0;e:{t:{r:{a:{n:{c:{o:{f:{l:{if((t|=0)>>>0<=244){if(3&(r=(m=e[57152])>>>(a=(w=t>>>0<11?16:t+11&-8)>>>3|0)|0)){r=228648+(t=(a=a+(1&~r)|0)<<3)|0,i=e[t+228656>>2],(0|r)!=(0|(t=e[i+8>>2]))?(e[t+12>>2]=r,e[r+8>>2]=t):e[57152]=SA(-2,a)&m,t=i+8|0,r=a<<3,e[i+4>>2]=3|r,e[4+(r=r+i|0)>>2]=1|e[r+4>>2];break e}if((P=e[57154])>>>0>=w>>>0)break l;if(r){r=228648+(t=(i=qi(0-(t=(0-(t=2<<a)|t)&r<<a)&t))<<3)|0,l=e[t+228656>>2],(0|r)!=(0|(t=e[l+8>>2]))?(e[t+12>>2]=r,e[r+8>>2]=t):(m=SA(-2,i)&m,e[57152]=m),e[l+4>>2]=3|w,i=(t=i<<3)-w|0,e[4+(a=l+w|0)>>2]=1|i,e[t+l>>2]=i,P&&(r=228648+(-8&P)|0,h=e[57157],(t=1<<(P>>>3))&m?t=e[r+8>>2]:(e[57152]=t|m,t=r),e[r+8>>2]=h,e[t+12>>2]=h,e[h+12>>2]=r,e[h+8>>2]=t),t=l+8|0,e[57157]=a,e[57154]=i;break e}if(!(y=e[57153]))break l;for(a=e[228912+(qi(0-y&y)<<2)>>2],h=(-8&e[a+4>>2])-w|0,r=a;(t=e[r+16>>2])||(t=e[r+20>>2]);)h=(i=(r=(-8&e[t+4>>2])-w|0)>>>0<h>>>0)?r:h,a=i?t:a,r=t;if(M=e[a+24>>2],(0|(i=e[a+12>>2]))!=(0|a)){t=e[a+8>>2],e[t+12>>2]=i,e[i+8>>2]=t;break t}if(!(t=e[(r=a+20|0)>>2])){if(!(t=e[a+16>>2]))break f;r=a+16|0}for(;l=r,i=t,(t=e[(r=t+20|0)>>2])||(r=i+16|0,t=e[i+16>>2]););e[l>>2]=0;break t}if(w=-1,!(t>>>0>4294967231)&&(w=-8&(t=t+11|0),y=e[57153])){h=0-w|0,m=0,w>>>0<256||(m=31,w>>>0>16777215||(m=62+((w>>>38-(t=ce(t>>>8|0))&1)-(t<<1)|0)|0));i:{h:{if(r=e[228912+(m<<2)>>2])for(t=0,a=w<<((0|m)!=31?25-(m>>>1|0):0);;){if(!((l=(-8&e[r+4>>2])-w|0)>>>0>=h>>>0||(i=r,h=l,l))){h=0,t=r;break h}if(l=e[r+20>>2],r=e[16+((a>>>29&4)+r|0)>>2],t=l?(0|l)==(0|r)?t:l:t,a<<=1,!r)break}else t=0;if(!(t|i)){if(i=0,!(t=(0-(t=2<<m)|t)&y))break l;t=e[228912+(qi(t&0-t)<<2)>>2]}if(!t)break i}for(;h=(a=(r=(-8&e[t+4>>2])-w|0)>>>0<h>>>0)?r:h,i=a?t:i,t=(r=e[t+16>>2])||e[t+20>>2];);}if(!(!i|e[57154]-w>>>0<=h>>>0)){if(m=e[i+24>>2],(0|i)!=(0|(a=e[i+12>>2]))){t=e[i+8>>2],e[t+12>>2]=a,e[a+8>>2]=t;break r}if(!(t=e[(r=i+20|0)>>2])){if(!(t=e[i+16>>2]))break o;r=i+16|0}for(;l=r,a=t,(t=e[(r=t+20|0)>>2])||(r=a+16|0,t=e[a+16>>2]););e[l>>2]=0;break r}}}if((t=e[57154])>>>0>=w>>>0){i=e[57157],(r=t-w|0)>>>0>=16?(e[4+(a=i+w|0)>>2]=1|r,e[t+i>>2]=r,e[i+4>>2]=3|w):(e[i+4>>2]=3|t,e[4+(t=t+i|0)>>2]=1|e[t+4>>2],a=0,r=0),e[57154]=r,e[57157]=a,t=i+8|0;break e}if((M=e[57155])>>>0>w>>>0){r=M-w|0,e[57155]=r,t=(a=e[57158])+w|0,e[57158]=t,e[t+4>>2]=1|r,e[a+4>>2]=3|w,t=a+8|0;break e}if(t=0,y=w+47|0,e[57270]?a=e[57272]:(e[57273]=-1,e[57274]=-1,e[57271]=4096,e[57272]=4096,e[57270]=A+12&-16^1431655768,e[57275]=0,e[57263]=0,a=4096),(r=(l=y+a|0)&(h=0-a|0))>>>0<=w>>>0||(i=e[57262])&&i>>>0<(m=(a=e[57260])+r|0)>>>0|a>>>0>=m>>>0)break e;l:{if(!(4&d[229052])){i:{h:{b:{m:{if(i=e[57158])for(t=229056;;){if((a=e[t>>2])>>>0<=i>>>0&i>>>0<a+e[t+4>>2]>>>0)break m;if(!(t=e[t+8>>2]))break}if((0|(a=Mi(0)))==-1||(m=r,(t=(i=e[57271])-1|0)&a&&(m=(r-a|0)+(t+a&0-i)|0),m>>>0<=w>>>0)||(i=e[57262])&&i>>>0<(h=(t=e[57260])+m|0)>>>0|t>>>0>=h>>>0)break i;if((0|a)!=(0|(t=Mi(m))))break b;break l}if((0|(a=Mi(m=h&l-M)))==(e[t>>2]+e[t+4>>2]|0))break h;t=a}if((0|t)==-1)break i;if(w+48>>>0<=m>>>0){a=t;break l}if((0|Mi(a=(a=e[57272])+(y-m|0)&0-a))==-1)break i;m=a+m|0,a=t;break l}if((0|a)!=-1)break l}e[57263]=4|e[57263]}if((0|(a=Mi(r)))==-1|(0|(t=Mi(0)))==-1|t>>>0<=a>>>0||(m=t-a|0)>>>0<=w+40>>>0)break a}t=e[57260]+m|0,e[57260]=t,t>>>0>re[57261]&&(e[57261]=t);l:{if(l=e[57158]){for(t=229056;;){if(((i=e[t>>2])+(r=e[t+4>>2])|0)==(0|a))break l;if(!(t=e[t+8>>2]))break}break c}for((t=e[57156])>>>0<=a>>>0&&t||(e[57156]=a),t=0,e[57265]=m,e[57264]=a,e[57160]=-1,e[57161]=e[57270],e[57267]=0;r=228648+(i=t<<3)|0,e[i+228656>>2]=r,e[i+228660>>2]=r,(0|(t=t+1|0))!=32;);r=(i=m-40|0)-(t=a+8&7?-8-a&7:0)|0,e[57155]=r,t=t+a|0,e[57158]=t,e[t+4>>2]=1|r,e[4+(a+i|0)>>2]=40,e[57159]=e[57274];break n}if(8&d[t+12|0]|i>>>0>l>>>0|a>>>0<=l>>>0)break c;e[t+4>>2]=r+m,a=(t=l+8&7?-8-l&7:0)+l|0,e[57158]=a,t=(r=e[57155]+m|0)-t|0,e[57155]=t,e[a+4>>2]=1|t,e[4+(r+l|0)>>2]=40,e[57159]=e[57274];break n}i=0;break t}a=0;break r}re[57156]>a>>>0&&(e[57156]=a),r=a+m|0,t=229056;c:{o:{f:{l:{i:{h:{for(;;){if((0|r)!=e[t>>2]){if(t=e[t+8>>2])continue;break h}break}if(!(8&d[t+12|0]))break i}for(t=229056;;){if((r=e[t>>2])>>>0<=l>>>0&&(h=r+e[t+4>>2]|0)>>>0>l>>>0)break l;t=e[t+8>>2]}}if(e[t>>2]=a,e[t+4>>2]=e[t+4>>2]+m,e[4+(y=(a+8&7?-8-a&7:0)+a|0)>>2]=3|w,t=(m=r+(r+8&7?-8-r&7:0)|0)-(M=w+y|0)|0,(0|l)==(0|m)){e[57158]=M,t=e[57155]+t|0,e[57155]=t,e[M+4>>2]=1|t;break o}if(e[57157]==(0|m)){e[57157]=M,t=e[57154]+t|0,e[57154]=t,e[M+4>>2]=1|t,e[t+M>>2]=t;break o}if((3&(h=e[m+4>>2]))==1){l=-8&h;i:if(h>>>0<=255){if(i=e[m+8>>2],r=h>>>3|0,(0|(a=e[m+12>>2]))==(0|i)){e[57152]=e[57152]&SA(-2,r);break i}e[i+12>>2]=a,e[a+8>>2]=i}else{if(w=e[m+24>>2],(0|m)==(0|(a=e[m+12>>2])))if((r=e[(h=m+20|0)>>2])||(r=e[(h=m+16|0)>>2])){for(;i=h,(r=e[(h=(a=r)+20|0)>>2])||(h=a+16|0,r=e[a+16>>2]););e[i>>2]=0}else a=0;else r=e[m+8>>2],e[r+12>>2]=a,e[a+8>>2]=r;if(w){i=e[m+28>>2];h:{if(e[(r=228912+(i<<2)|0)>>2]==(0|m)){if(e[r>>2]=a,a)break h;e[57153]=e[57153]&SA(-2,i);break i}if(e[w+(e[w+16>>2]==(0|m)?16:20)>>2]=a,!a)break i}e[a+24>>2]=w,(r=e[m+16>>2])&&(e[a+16>>2]=r,e[r+24>>2]=a),(r=e[m+20>>2])&&(e[a+20>>2]=r,e[r+24>>2]=a)}}h=e[4+(m=l+m|0)>>2],t=t+l|0}if(e[m+4>>2]=-2&h,e[M+4>>2]=1|t,e[t+M>>2]=t,t>>>0<=255){r=228648+(-8&t)|0,(a=e[57152])&(t=1<<(t>>>3))?t=e[r+8>>2]:(e[57152]=t|a,t=r),e[r+8>>2]=M,e[t+12>>2]=M,e[M+12>>2]=r,e[M+8>>2]=t;break o}if(h=31,t>>>0<=16777215&&(h=62+((t>>>38-(r=ce(t>>>8|0))&1)-(r<<1)|0)|0),e[M+28>>2]=h,e[M+16>>2]=0,e[M+20>>2]=0,r=228912+(h<<2)|0,(i=e[57153])&(a=1<<h)){for(h=t<<((0|h)!=31?25-(h>>>1|0):0),a=e[r>>2];;){if(r=a,(-8&e[a+4>>2])==(0|t))break f;if(a=h>>>29|0,h<<=1,!(a=e[16+(i=(4&a)+r|0)>>2]))break}e[i+16>>2]=M}else e[57153]=a|i,e[r>>2]=M;e[M+24>>2]=r,e[M+12>>2]=M,e[M+8>>2]=M;break o}for(r=(i=m-40|0)-(t=a+8&7?-8-a&7:0)|0,e[57155]=r,t=t+a|0,e[57158]=t,e[t+4>>2]=1|r,e[4+(a+i|0)>>2]=40,e[57159]=e[57274],e[(i=(t=(h+(h-39&7?39-h&7:0)|0)-47|0)>>>0<l+16>>>0?l:t)+4>>2]=27,t=e[57267],e[i+16>>2]=e[57266],e[i+20>>2]=t,t=e[57265],e[i+8>>2]=e[57264],e[i+12>>2]=t,e[57266]=i+8,e[57265]=m,e[57264]=a,e[57267]=0,t=i+24|0;e[t+4>>2]=7,r=t+8|0,t=t+4|0,r>>>0<h>>>0;);if((0|i)==(0|l))break n;if(e[i+4>>2]=-2&e[i+4>>2],h=i-l|0,e[l+4>>2]=1|h,e[i>>2]=h,h>>>0<=255){r=228648+(-8&h)|0,(a=e[57152])&(t=1<<(h>>>3))?t=e[r+8>>2]:(e[57152]=t|a,t=r),e[r+8>>2]=l,e[t+12>>2]=l,e[l+12>>2]=r,e[l+8>>2]=t;break n}if(t=31,h>>>0<=16777215&&(t=62+((h>>>38-(t=ce(h>>>8|0))&1)-(t<<1)|0)|0),e[l+28>>2]=t,e[l+16>>2]=0,e[l+20>>2]=0,r=228912+(t<<2)|0,(i=e[57153])&(a=1<<t)){for(t=h<<((0|t)!=31?25-(t>>>1|0):0),i=e[r>>2];;){if((0|h)==(-8&e[(r=i)+4>>2]))break c;if(a=t>>>29|0,t<<=1,!(i=e[16+(a=(4&a)+r|0)>>2]))break}e[a+16>>2]=l}else e[57153]=a|i,e[r>>2]=l;e[l+24>>2]=r,e[l+12>>2]=l,e[l+8>>2]=l;break n}t=e[r+8>>2],e[t+12>>2]=M,e[r+8>>2]=M,e[M+24>>2]=0,e[M+12>>2]=r,e[M+8>>2]=t}t=y+8|0;break e}t=e[r+8>>2],e[t+12>>2]=l,e[r+8>>2]=l,e[l+24>>2]=0,e[l+12>>2]=r,e[l+8>>2]=t}if(!((t=e[57155])>>>0<=w>>>0)){r=t-w|0,e[57155]=r,t=(a=e[57158])+w|0,e[57158]=t,e[t+4>>2]=1|r,e[a+4>>2]=3|w,t=a+8|0;break e}}e[56798]=48,t=0;break e}r:if(m){r=e[i+28>>2];a:{if(e[(t=228912+(r<<2)|0)>>2]==(0|i)){if(e[t>>2]=a,a)break a;y=SA(-2,r)&y,e[57153]=y;break r}if(e[m+(e[m+16>>2]==(0|i)?16:20)>>2]=a,!a)break r}e[a+24>>2]=m,(t=e[i+16>>2])&&(e[a+16>>2]=t,e[t+24>>2]=a),(t=e[i+20>>2])&&(e[a+20>>2]=t,e[t+24>>2]=a)}r:if(h>>>0<=15)t=h+w|0,e[i+4>>2]=3|t,e[4+(t=t+i|0)>>2]=1|e[t+4>>2];else if(e[i+4>>2]=3|w,e[4+(l=i+w|0)>>2]=1|h,e[l+h>>2]=h,h>>>0<=255)r=228648+(-8&h)|0,(a=e[57152])&(t=1<<(h>>>3))?t=e[r+8>>2]:(e[57152]=t|a,t=r),e[r+8>>2]=l,e[t+12>>2]=l,e[l+12>>2]=r,e[l+8>>2]=t;else{t=31,h>>>0<=16777215&&(t=62+((h>>>38-(t=ce(h>>>8|0))&1)-(t<<1)|0)|0),e[l+28>>2]=t,e[l+16>>2]=0,e[l+20>>2]=0,r=228912+(t<<2)|0;a:{if((a=1<<t)&y){for(t=h<<((0|t)!=31?25-(t>>>1|0):0),w=e[r>>2];;){if((-8&e[(r=w)+4>>2])==(0|h))break a;if(a=t>>>29|0,t<<=1,!(w=e[16+(a=(4&a)+r|0)>>2]))break}e[a+16>>2]=l}else e[57153]=a|y,e[r>>2]=l;e[l+24>>2]=r,e[l+12>>2]=l,e[l+8>>2]=l;break r}t=e[r+8>>2],e[t+12>>2]=l,e[r+8>>2]=l,e[l+24>>2]=0,e[l+12>>2]=r,e[l+8>>2]=t}t=i+8|0;break e}t:if(M){r=e[a+28>>2];r:{if(e[(t=228912+(r<<2)|0)>>2]==(0|a)){if(e[t>>2]=i,i)break r;e[57153]=SA(-2,r)&y;break t}if(e[M+(e[M+16>>2]==(0|a)?16:20)>>2]=i,!i)break t}e[i+24>>2]=M,(t=e[a+16>>2])&&(e[i+16>>2]=t,e[t+24>>2]=i),(t=e[a+20>>2])&&(e[i+20>>2]=t,e[t+24>>2]=i)}h>>>0<=15?(t=h+w|0,e[a+4>>2]=3|t,e[4+(t=t+a|0)>>2]=1|e[t+4>>2]):(e[a+4>>2]=3|w,e[4+(i=a+w|0)>>2]=1|h,e[i+h>>2]=h,P&&(r=228648+(-8&P)|0,l=e[57157],(t=1<<(P>>>3))&m?t=e[r+8>>2]:(e[57152]=t|m,t=r),e[r+8>>2]=l,e[t+12>>2]=l,e[l+12>>2]=r,e[l+8>>2]=t),e[57157]=i,e[57154]=h),t=a+8|0}return oe=A+16|0,0|t}function IA(t,A,r,a,i){var l,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,Te=0,Oe=0,$e=0,nt=0,ht=0,vt=0;oe=l=oe-544|0,kA(l+320|0,0,100),kA(l+208|0,0,100),M=r?e[r>>2]:M,ae=e[t+12>>2],y=e[36115];e:{t:{r:{a:{for(;;){if(h=(0|(h=d[A+m|0]))>=(0|y)?13:h,g[l+m|0]=h,!h){h=m;break a}if(w=(0|y)<=(0|(w=d[(h=1|m)+A|0]))?13:w,g[h+l|0]=w,!w)break a;if((0|(m=m+2|0))==200)break}m=198,be=d[l+199|0];break r}if(!h)break t;be=d[l+(m=h-1|0)|0],(0|h)!=1&&(m=h-2|0)}if(nt=8&M,e[l+536>>2]=(nt>>>3|0?3:7)&M,M=d[l+m|0],y=1,R=(0|(P=gn(t,l,l+432|0,l+540|0,l+536|0,1)))>=0?P:0,Oe=d[0|l])for(m=l,h=Oe;h=e[144464+((255&h)<<2)>>2],d[h+11|0]==2&&(1048576&(h=e[h+4>>2])||(w=(2097152&h)>>>21|0,w|=h=d[e[144464+(d[0|(ee=m+1|0)]<<2)>>2]+10|0]==12,g[(l+208|0)+y|0]=w,ue=e[144464+(d[(h?2:1)+m|0]<<2)>>2],w=d[ue+11|0]-10>>>0<4294967289|!(32&d[ue+6|0])&d[e[144464+(d[(h?3:2)+m|0]<<2)>>2]+11|0]==2?w:w?2:1,m=h?ee:m,g[(l+320|0)+y|0]=w,y=y+1|0)),h=d[0|(m=m+1|0)];);m=r=r?R:P;r:{a:{n:{c:{o:{f:{l:{i:{h:{b:{m:{C:switch(e[t+8>>2]-1|0){case 11:if((0|(r=e[l+540>>2]))<2)break h;if(m=1,R=1&(h=r-1|0),(0|r)!=2)break m;y=0;break b;case 8:if((0|(h=e[l+540>>2]))<2)break a;if(y=3&(w=h-1|0),m=1,h-2>>>0>=3)for(R=-4&w,w=0;M=g[0|(h=(l+432|0)+m|0)],g[0|h]=(0|M)<0?4:M,M=g[h+1|0],g[h+1|0]=(0|M)<0?4:M,M=g[h+2|0],g[h+2|0]=(0|M)<0?4:M,M=h,h=g[h+3|0],g[M+3|0]=(0|h)<0?4:h,m=m+4|0,(0|R)!=(0|(w=w+4|0)););
2810if(!y)break a;for(h=0;w=g[0|(M=(l+432|0)+m|0)],g[0|M]=(0|w)<0?4:w,m=m+1|0,(0|y)!=(0|(h=h+1|0)););break a;case 7:if(!d[l+322|0]|g[l+321|0]>0)break a;case 0:if(e[l+536>>2]|e[l+540>>2]<3)break a;if(e[l+536>>2]=2,m=4,r)break r;g[l+434|0]=4;break r;case 1:if(e[l+536>>2])break r;p:{x:{if((0|(y=e[l+540>>2]))>=3){r=y-2|0,e[l+536>>2]=r,m=r;w:if(512&ae&&(h=e[144464+(be<<2)>>2],(0|(w=d[h+11|0]))!=2)){m=e[h>>2],h=l;B:{O:{if((0|(R=e[t+212>>2]))!=26977){if((0|R)!=24942)break O;switch(m-110|0){case 0:case 5:if(m=r,d[e[144464+(M<<2)>>2]+11|0]==2)break w}m=y-1|0;break B}if((0|m)==115&&(m=r,d[e[144464+(M<<2)>>2]+11|0]==2))break w;m=y-1|0;break B}O:{Y:{if((0|m)==115){if(m=r,(0|(w=d[e[144464+(M<<2)>>2]+11|0]))!=8)break Y;break w}if((0|w)!=8)break O;w=d[e[144464+(M<<2)>>2]+11|0]}if(m=r,(255&w)==2)break w}m=y-1|0}e[h+536>>2]=m}if(524288&ae&&(g[(h=y-1|0)+(y=l+208|0)|0]<=g[r+y|0]||(e[l+536>>2]=h,m=h)),d[(l+432|0)+m|0]>1){h=m;break p}if(h=2,r=m-1|0,m>>>0>=2)break x;e[l+536>>2]=m+1;break p}r=1}h=r,e[l+536>>2]=h}if(m=4,g[0|(r=(l+432|0)+h|0)]>=0||g[(h=(l+432|0)+h|0)-1|0]>=4&g[h+1|0]>3)break r;g[0|r]=4;break r;case 2:if(e[l+536>>2])break r;for(r=(m=e[l+540>>2])-1|0,r&=r>>31;;){if((0|(m=m-1|0))<=0)break n;if(!(g[0|(h=(l+432|0)+m|0)]>=0))break}e[l+536>>2]=m,m=4,g[0|h]=4;break r;case 3:if(e[l+536>>2])break a;if(h=(0|(m=e[l+540>>2]-3|0))<=1?1:m,e[l+536>>2]=h,m=4,r)break r;g[h+(l+432|0)|0]=4;break r;case 4:if(e[l+536>>2])break r;if(h=(r=e[l+540>>2])-3|0,e[l+536>>2]=h,(0|r)<=15){p:{switch(d[e[144464+(be<<2)>>2]+11|0]-2|0){case 0:h=g[r+94176|0];break p;case 2:h=g[r+94192|0];break p}h=g[r+94160|0]}e[l+536>>2]=h}m=4,g[(l+432|0)+h|0]=4;break r;case 5:if(e[l+536>>2])break r;if(y=-1,w=0,!((0|(r=(h=e[l+540>>2])-1|0))<2)){if(m=1,ee=1&h,(0|h)!=3)for(ue=(-2&h)-4|0,h=0;g[(l+432|0)+m|0]<0&&(w=(M=(0|(R=g[(l+320|0)+m|0]))<(0|y))?w:m,y=M?y:R),g[(M=m+1|0)+(l+432|0)|0]<0&&(w=(R=(0|($e=g[M+(l+320|0)|0]))<(0|y))?w:M,y=R?y:$e),m=m+2|0,M=(0|h)!=(0|ue),h=h+2|0,M;);!ee|g[(l+432|0)+m|0]>=0||(y=(h=(0|(M=g[(l+320|0)+m|0]))<(0|y))?y:M,w=h?w:m)}e[l+536>>2]=w,d[r+(l+320|0)|0]!=2|(0|y)>1?(0|y)>0||(w=1,e[l+536>>2]=1):(e[l+536>>2]=r,w=r),m=4,g[(l+432|0)+w|0]=4;break r;case 14:break c;case 12:break o;case 6:break C;default:break r}if(e[l+536>>2])break r;y=(r=e[l+540>>2])-1|0,e[l+536>>2]=y;C:if(!((0|r)<2))for(m=1;;){if(d[(l+432|0)+m|0]==1){y=m-1|0,e[l+536>>2]=y;break C}if((0|r)==(0|(m=m+1|0)))break}m=4,g[(l+432|0)+y|0]=4;break r}for(ee=-2&h,y=0,w=0;h=d[0|(ue=(M=l+432|0)+m|0)],Te=ue,$e=g[(ue=l+208|0)+m|0]>0,g[0|Te]=$e||(0|h)==4?3:h,ht=(0|(M=d[0|(Te=(h=m+1|0)+M|0)]))==4?3:M,M=g[h+ue|0]>0,g[0|Te]=M?3:ht,y=M?h:$e?m:y,m=m+2|0,(0|ee)!=(0|(w=w+2|0)););}if(R&&(M=(0|(h=d[0|(w=(l+432|0)+m|0)]))==4?3:h,h=g[(l+208|0)+m|0]>0,g[0|w]=h?3:M,y=h?m:y),h=e[l+536>>2])break f;if((0|y)>0){e[l+536>>2]=y,h=y;break f}if((0|r)<6)break i;h=r-3|0;break l}if(h=e[l+536>>2])break f}h=r-1|0}e[l+536>>2]=h}m=4,g[(l+432|0)+h|0]=4;break r}if(e[l+536>>2])break r;h=1,e[l+536>>2]=1,d[l+209|0]|e[l+540>>2]<3|g[l+210|0]<=0||(h=2,e[l+536>>2]=2),m=4,g[l+432|h]=4;break r}if(e[l+536>>2]||(0|(h=e[l+540>>2]))<3)break a;if(kA(l+432|1,0,h-1|0),e[l+536>>2]=2,r||(g[l+434|0]=4),m=4,h>>>0<4)break r;g[431+(h+l|0)|0]=3;break r}e[l+536>>2]=r,m=4;break r}m=r}!(256&ae)|2&i||(0|(r=e[l+540>>2]))<3|(0|P)>2||d[0|(h=(r=r+(l+432|0)|0)-1|0)]!=4|d[e[144464+(be<<2)>>2]+11|0]!=2||(g[0|h]=1,g[r-2|0]=4);r:{a:{if(nt)P=e[l+540>>2];else{if(r=g[l+433|0],!(!(4096&ae)|(0|(P=e[l+540>>2]))!=3)){if((0|r)==4){g[l+434|0]=3;break a}if(d[l+434|0]==4){g[l+433|0]=3;break a}}if(!(!(8192&ae)|(0|r)>=0|(0|P)<4|g[l+434|0]<4)){g[l+433|0]=3;break a}}if(w=0,(0|P)<2)break r}for(y=(0|m)<4?4:3,ue=128&ae,$e=64&ae,Te=32&ae,R=P-1|0,ht=16&ae,vt=!(32768&ae),be=0,M=0,m=1;;){a:{n:if((0|(h=g[0|(ee=(l+432|0)+m|0)]))>=0)w=y;else{w=3;c:{o:if(!(!(!ht|(0|y)>3)&(0|m)==(0|R))){if(!(1&(be|vt)))break c;if(!(g[431+(l+m|0)|0]>1)){if((0|(h=g[(r=m+1|0)+(l+432|0)|0]))>=2){if((0|y)!=4||(w=4,h>>>0>=3))break o}else if(!(!Te|(0|y)!=3)){y=3;break a}if(!$e|m>>>0<2||(w=d[(l+320|0)+m|0]))break c;if((0|R)>(0|(h=m))){for(;;){if(g[(l+320|0)+h|0]>0)break a;if((0|R)==(0|(h=h+1|0)))break}if(w)break c}if(g[r+(l+320|0)|0]<=0)break c;break a}w=y}h=d[0|ee];break n}g[0|ee]=y,be=1,w=3,h=y}n:{if(h<<24>>24>=4){if(r=M||m,!M|!ue)break n;g[0|ee]=3}y=w;break a}y=w,M=r}if(w=1,(0|P)==(0|(m=m+1|0)))break}}if(a=!nt|(0|a)>=0?a:e[((0|P)<3?16:20)+t>>2],y=0,h=0,w){if(be=3&(r=P-1|0),w=0,P-2>>>0<3)m=1;else for(nt=-4&r,m=1,M=0;h=(r=(0|(h=(ee=(0|(h=(R=(0|(h=(P=(0|(R=g[(r=l+432|0)+m|0]))<(0|h))?h:R))>(0|(ee=g[(ue=m+1|0)+r|0])))?h:ee))>(0|(Te=g[($e=m+2|0)+r|0])))?h:Te))>(0|(ht=g[(Te=m+3|0)+r|0])))?h:ht,y=r?ee?R?P?y:m:ue:$e:Te,m=m+4|0,(0|nt)!=(0|(M=M+4|0)););
vendor: 10,411 bytes, line 2810
2810if(be)for(;h=(r=(0|(M=g[(l+432|0)+m|0]))<(0|h))?h:M,y=r?y:m,m=m+1|0,(0|be)!=(0|(w=w+1|0)););}if((0|a)<0?a=h:(0|a)<=(0|h)&(0|h)>4||(g[(l+432|0)+y|0]=a),be=A+197|0,P=1,!(1&i)&&(r=e[144464+(Oe<<2)>>2])){if(h=l,!((0|(w=d[r+11|0]))!=1&(0|Oe)!=15))for(;r=d[0|(h=h+1|0)],(0|(w=d[e[144464+(r<<2)>>2]+11|0]))==1|(0|r)==15;);!(48&(r=e[t+4>>2]))|(0|w)!=2||(g[0|A]=(32&r)>>>5|0&&g[l+433|0]>3?11:23,A=A+1|0)}r:if(!(A>>>0>=be>>>0))for(R=65536&ae,ee=2&ae,nt=4&ae,m=l;;){if(!(h=d[0|m]))break r;if(i=m,m=m+1|0,r=e[144464+(h<<2)>>2]){a:{n:{switch(d[r+11|0]){case 0:e[t+8200>>2]=0;break a;case 2:if(!(16&d[r+6|0]))break n}if(d[0|m]!=20)break a}if((0|(Oe=e[l+540>>2]))<(0|P))break e;M=g[0|(ae=(l+432|0)+P|0)],e[t+8200>>2]=M;n:{c:{if(!((0|(r=M))>1)){if(w=Oe-1|0,!(!nt|(0|P)<2|(0|a)<2)&&(r=0,(0|w)==(0|P)))break c;if(r=1,!((0|P)==1|ee|(Oe-2|0)==(0|P)&g[w+(l+432|0)|0]<2|(0|w)==(0|P)||g[431+(l+P|0)|0]>=0&&(r=M,R))){r=0,g[0|ae]=0;break c}}if(r&&(0|r)<2)break n}g[0|A]=d[r+94151|0],A=A+1|0,M=g[0|ae]}w=(0|a)>(0|M),d[0|m]==12&&1&(Oe=e[t+28>>2])&&(m=(16&Oe?(0|y)!=(0|P):(0|r)<4)?i+2|0:m),a=w?a:M,P=P+1|0}if((0|h)!=1&&(g[0|A]=h,A=A+1|0),!(A>>>0<be>>>0))break}}g[0|A]=0}return void(oe=l+544|0)}pe(86136,86634,1353,94208),j()}function EA(t,A,r,a,i,l,h,m,w){var M,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,Te=0,Oe=0,$e=0,nt=0,ht=0,vt=0,Qt=0,Ut=0,fA=0,hA=0,FA=0,YA=0,rr=0,wr=0,jr=0,Jr=0,ds=0,is=0,Qs=0,Ps=0,Rs=0,$s=0,ea=0;oe=M=oe-336|0,ee=m,ue=65535&w,ae=a,R=65535&i,nt=-2147483648&(i^w);e:{if(!((Oe=w>>>16&32767)-32767>>>0>4294934529&(be=i>>>16&32767)-32767>>>0>=4294934530)){if(!(!a&(0|(y=2147483647&i))==2147418112?!(A|r):y>>>0<2147418112)){Te=a,nt=32768|i;break e}if(!(!m&(0|(i=2147483647&w))==2147418112?!(l|h):i>>>0<2147418112)){Te=m,nt=32768|w,A=l,r=h;break e}if(!(A|a|2147418112^y|r)){if(!(l|m|2147418112^i|h)){A=0,r=0,nt=2147450880;break e}nt|=2147418112,A=0,r=0;break e}if(!(l|m|2147418112^i|h)){A=0,r=0;break e}if(!(A|a|r|y)){Te=(A=!(l|m|i|h))?0:Te,nt=A?2147450880:nt,A=0,r=0;break e}if(!(l|m|i|h)){nt|=2147418112,A=0,r=0;break e}(0|y)==65535|y>>>0<65535&&(w=a=!(R|ae),y=a?A:ae,m=a<<=6,Us(M+320|0,A,r,ae,R,(a=a+((0|(w=ce(w?r:R)))==32?ce(y)+32|0:w)|0)-15|0),ht=16-a|0,ae=e[M+328>>2],R=e[M+332>>2],r=e[M+324>>2],A=e[M+320>>2]),i>>>0>65535||(m=a=!(ee|ue),w=a?l:ee,i=a<<=6,Us(M+304|0,l,h,ee,ue,(a=a+((0|(m=ce(m?h:ue)))==32?ce(w)+32|0:m)|0)-15|0),ht=(a+ht|0)-16|0,ee=e[M+312>>2],ue=e[M+316>>2],l=e[M+304>>2],h=e[M+308>>2])}if(hA=i=65536|ue,FA=ee,y=i<<15|(a=ee)>>>17,Ys(M+288|0,a=i=a<<15|h>>>17,m=y,0,0,w=0-a|0,y=1963258675-(y+!!(0|a)|0)|0,0,0),Ys(M+272|0,0-(a=e[M+296>>2])|0,0-(e[M+300>>2]+!!(0|a)|0)|0,0,0,w,y,0,0),Ys(M+256|0,w=(a=e[M+280>>2])<<1|e[M+276>>2]>>>31,a=e[M+284>>2]<<1|a>>>31,0,0,i,m,0,0),Ys(M+240|0,w,a,0,0,0-(y=e[M+264>>2])|0,0-(e[M+268>>2]+!!(0|y)|0)|0,0,0),Ys(M+224|0,y=(w=e[M+248>>2])<<1|e[M+244>>2]>>>31,a=e[M+252>>2]<<1|w>>>31,0,0,i,m,0,0),Ys(M+208|0,y,a,0,0,0-(w=e[M+232>>2])|0,0-(e[M+236>>2]+!!(0|w)|0)|0,0,0),Ys(M+192|0,w=(a=e[M+216>>2])<<1|e[M+212>>2]>>>31,a=e[M+220>>2]<<1|a>>>31,0,0,i,m,0,0),Ys(M+176|0,w,a,0,0,0-(y=e[M+200>>2])|0,0-(e[M+204>>2]+!!(0|y)|0)|0,0,0),Ys(M+160|0,w=i,a=m,0,0,m=(ee=(i=e[M+184>>2])<<1|e[M+180>>2]>>>31)-1|0,i=(e[M+188>>2]<<1|i>>>31)-!ee|0,0,0),Ys(M+144|0,l<<15,h<<15|l>>>17,0,0,a=m,i,0,0),$e=M+112|0,Ut=e[M+168>>2],m=e[M+172>>2],P=(ee=e[M+160>>2])+(w=e[M+152>>2])|0,y=(ue=e[M+164>>2])+e[M+156>>2]|0,w=y=w>>>0>P>>>0?y+1|0:y,y=(y=(0|ue)==(0|y)&P>>>0<ee>>>0|y>>>0<ue>>>0)>>>0>(ue=y+Ut|0)>>>0?m+1|0:m,Ys($e,a,i,0,0,0-(m=(ee=!w&P>>>0>1|!!(0|w))+ue|0)|0,0-(!!(0|m)+(y=ee>>>0>m>>>0?y+1|0:y)|0)|0,0,0),Ys(M+128|0,1-P|0,0-((P>>>0>1)+w|0)|0,0,0,a,i,0,0),ds=(be-Oe|0)+ht|0,$e=i=e[M+116>>2],ee=(a=e[M+112>>2])<<1,be=y=i<<1|a>>>31,a=y,fA=m=e[M+140>>2],a=a+(y=m<<1|(i=e[M+136>>2])>>>31)|0,i=a=(m=(w=i<<1|e[M+132>>2]>>>31)+ee|0)>>>0<w>>>0?a+1|0:a,Qt=a=a-(m>>>0<13927)|0,Ut=a,is=y=65536|R,Qs=ae,Rs=(a=ae)<<1,$s=y=y<<1|a>>>31,rr=y,wr=a=er(Qt,P=0,y,0),vt=y=fe,ht=A<<1,Oe=a=r<<1|A>>>31,ue=y=0,Qt=(0|i)==(0|Qt)&(w=m-13927|0)>>>0<m>>>0|i>>>0>Qt>>>0,i=(0|i)==(0|be)&m>>>0<ee>>>0|i>>>0<be>>>0,a=e[M+120>>2],y=m=e[M+124>>2]<<1|a>>>31,y=(a=(P=fA>>>31|0)+(a=a<<1|$e>>>31)|0)>>>0<P>>>0?y+1|0:y,P=(m=a)>>>0>(a=a+i|0)>>>0?y+1|0:y,P=(i=a)>>>0>(a=a+Qt|0)>>>0?P+1|0:P,i=a-1|0,y=er(Oe,ue,Qt=P-!a|0,be=0),m=fe+vt|0,$e=(0|vt)==(0|(m=(a=y+wr|0)>>>0<y>>>0?m+1|0:m))&a>>>0<wr>>>0|m>>>0<vt>>>0,fA=i,i=er(i,y=0,YA=(Ps=r>>>31|0)|ae<<1,vt=0),y=fe+m|0,P=0,ee=y=i>>>0>(ae=i+a|0)>>>0?y+1|0:y,P=(i=a=(0|y)==(0|m)&a>>>0>ae>>>0|m>>>0>y>>>0)>>>0>(a=a+$e|0)>>>0?1:P,i=er(rr,ue,Qt,be),y=fe+P|0,$e=a=i+a|0,a=a>>>0<i>>>0?y+1|0:y,i=er(rr,ue,fA,vt),R=fe,m=i,i=er(YA,vt,Qt,be),y=fe+R|0,i=y=i>>>0>(P=m+i|0)>>>0?y+1|0:y,a=a+(y=(0|R)==(0|y)&m>>>0>P>>>0|y>>>0<R>>>0)|0,$e=R=$e+i|0,R=a=R>>>0<i>>>0?a+1|0:a,y=P+ee|0,i=y=(a=(i=0)+ae|0)>>>0<i>>>0?y+1|0:y,m=(0|y)==(0|ee)&a>>>0<ae>>>0|y>>>0<ee>>>0,y=R,P=m,jr=m=m+$e|0,P=y=P>>>0>m>>>0?y+1|0:y,$e=a,R=a,ae=i,wr=w,a=er(w,0,YA,vt),m=fe,i=a,w=er(Ut,Te,Oe,Te),y=fe+m|0,w=(0|m)==(0|(y=(a=a+w|0)>>>0<w>>>0?y+1|0:y))&a>>>0<i>>>0|m>>>0>y>>>0,m=y,i=er(fA,vt,Jr=-2&ht,0),y=fe+y|0,i=y=i>>>0>(ee=i+a|0)>>>0?y+1|0:y,a=(0|y)==(0|m)&a>>>0>ee>>>0|m>>>0>y>>>0,m=0,a=((w=a+w|0)>>>0<a>>>0?1:m)+ae|0,y=P,w=a=(R=w+R|0)>>>0<w>>>0?a+1|0:a,m=a=(0|a)==(0|ae)&R>>>0<$e>>>0|a>>>0<ae>>>0,ea=a=a+jr|0,$e=y=m>>>0>a>>>0?y+1|0:y,a=er(rr,ue,wr,Te),jr=fe,rr=a,m=er(Qt,be,Jr,Te),y=fe+jr|0,ae=a=a+m|0,P=a+(ue=er(Ut,Te,YA,vt))|0,a=(m=a>>>0<m>>>0?y+1|0:y)+fe|0,a=P>>>0<ue>>>0?a+1|0:a,be=P,ue=P+(y=er(Oe,Te,fA,vt))|0,P=fe+a|0,YA=(0|a)==(0|(P=y>>>0>ue>>>0?P+1|0:P))&ue>>>0<be>>>0|a>>>0>P>>>0,y=((a=(a=(a=(0|a)==(0|m)&ae>>>0>be>>>0|a>>>0<m>>>0)+(y=(0|m)==(0|jr)&ae>>>0<rr>>>0|m>>>0<jr>>>0)|0)+YA|0)|(fA=0))+w|0,ae=y=(m=P)>>>0>(be=m+R|0)>>>0?y+1|0:y,a=(0|w)==(0|y)&R>>>0>be>>>0|w>>>0>y>>>0,y=$e,m=a,fA=a=a+ea|0,w=y=m>>>0>a>>>0?y+1|0:y,a=er(Ut,Te,Jr,Te),Ut=fe,R=a,m=er(Oe,Te,wr,Te),y=fe+Ut|0,m=(0|(y=(a=a+m|0)>>>0<m>>>0?y+1|0:y))==(0|Ut)&a>>>0<R>>>0|y>>>0<Ut>>>0,R=y,a=y+ee|0,y=(m|($e=0))+i|0,R=(0|i)==(0|(y=a>>>0<R>>>0?y+1|0:y))&a>>>0<ee>>>0|i>>>0>y>>>0,P=(m=y)+(y=ue)|0,y=0,y=((i=a=(0|m)==(0|(P=(ee=(ue=0)+a|0)>>>0<ue>>>0?P+1|0:P))&a>>>0>ee>>>0|m>>>0>P>>>0)>>>0>(a=a+R|0)>>>0?1:y)+ae|0,P=w,i=y=(i=a)>>>0>(a=a+be|0)>>>0?y+1|0:y,w=P=(w=m=(0|ae)==(0|y)&a>>>0<be>>>0|y>>>0<ae>>>0)>>>0>(m=m+fA|0)>>>0?P+1|0:P,(0|P)==131071|P>>>0<131071?(Qs=Rs|Ps,is=vt|$s,Ys(M+80|0,a,i,m,w,l,h,FA,hA),ue=P=e[M+84>>2],y=A<<17,ae=(r=(ee=0)-(R=e[M+88>>2])|0)-(P=!!(P|(A=e[M+80>>2])))|0,R=(y-(e[M+92>>2]+(R>>>0>ee>>>0)|0)|0)-(r>>>0<P>>>0)|0,ee=0-A|0,ue=0-(!!(0|A)+ue|0)|0,A=ds+16382|0):(Ys(M+96|0,a=(1&i)<<31|a>>>1,i=m<<31|i>>>1,m=(1&w)<<31|m>>>1,w=w>>>1|0,l,h,FA,hA),Oe=ae=e[M+100>>2],ae=(ee=0-(ht=e[M+104>>2])|0)-(R=!!(ae|(P=e[M+96>>2])))|0,R=((A<<16)-(e[M+108>>2]+(ue>>>0<ht>>>0)|0)|0)-(R>>>0>ee>>>0)|0,ee=0-P|0,ue=0-(!!(0|P)+Oe|0)|0,ht=A,Oe=r,A=ds+16383|0),(0|A)>=32767)nt|=2147418112,A=0,r=0;else{if((0|A)>0)P=R<<1|ae>>>31,ae=ae<<1|ue>>>31,R=P,ht=m,Oe=65535&w|A<<16,P=ue<<1|ee>>>31,w=ee<<1;else{if((0|A)<=-113){A=0,r=0;break e}Ta(M- -64|0,a,i,m,w,1-A|0),Us(M+48|0,ht,Oe,Qs,is,A+112|0),Ys(M+32|0,l,h,FA,hA,a=e[M+64>>2],i=e[M+68>>2],ht=e[M+72>>2],Oe=e[M+76>>2]),A=e[M+40>>2],ee=(r=e[M+56>>2])-(ae=A<<1|(P=e[M+36>>2])>>>31)|0,R=e[M+60>>2]-((e[M+44>>2]<<1|A>>>31)+(r>>>0<ae>>>0)|0)|0,y=(A=e[M+32>>2])<<1,ae=ee-(A=(0|(m=P<<1|A>>>31))==(0|(w=e[M+52>>2]))&y>>>0>(r=e[M+48>>2])>>>0|m>>>0>w>>>0)|0,R=R-(A>>>0>ee>>>0)|0,P=w-((r>>>0<y>>>0)+m|0)|0,w=r-y|0}A=w,Ys(M+16|0,l,h,FA,hA,3,0,0,0),Ys(M,l,h,FA,hA,5,0,0,0),m=P+(r=0)|0,m=w>>>0>(A=A+(y=1&a)|0)>>>0?m+1|0:m,w=A,h=(0|h)==(0|m)&A>>>0>l>>>0|h>>>0<m>>>0,P=R,A=(0|r)==(0|m)&A>>>0<y>>>0|r>>>0>m>>>0,y=i,r=y=(r=A=(A=(0|(P=A>>>0>(l=A+ae|0)>>>0?P+1|0:P))==(0|hA))&(0|l)==(0|FA)?h:A&l>>>0>FA>>>0|P>>>0>hA>>>0)>>>0>(A=A+a|0)>>>0?y+1|0:y,a=(0|i)==(0|y)&A>>>0<a>>>0|i>>>0>y>>>0,y=Oe,y=(i=a)>>>0>(a=a+ht|0)>>>0?y+1|0:y,h=a,R=(0|(i=e[M+20>>2]))==(0|m)&re[M+16>>2]<w>>>0|i>>>0<m>>>0,i=e[M+28>>2],i=y>>>0<2147418112&((0|(a=e[M+24>>2]))==(0|l)&(0|i)==(0|P)?R:(0|i)==(0|P)&a>>>0<l>>>0|i>>>0<P>>>0),a=r,y=(r=A=(0|r)==(0|(a=(R=i)>>>0>(i=A+i|0)>>>0?a+1|0:a))&A>>>0>i>>>0|r>>>0>a>>>0)>>>0>(A=A+h|0)>>>0?y+1|0:y,h=A,m=(0|(r=e[M+4>>2]))==(0|m)&re[M>>2]<w>>>0|r>>>0<m>>>0,r=e[M+12>>2],r=P=(r=A=y>>>0<2147418112&((0|(A=e[M+8>>2]))==(0|l)&(0|r)==(0|P)?m:(0|r)==(0|P)&A>>>0<l>>>0|r>>>0<P>>>0))>>>0>(A=A+i|0)>>>0?a+1|0:a,i=(0|a)==(0|P)&A>>>0<i>>>0|a>>>0>P>>>0,a=y,l=i,Te|=i=i+h|0,nt|=a=l>>>0>i>>>0?a+1|0:a}}e[t>>2]=A,e[t+4>>2]=r,e[t+8>>2]=Te,e[t+12>>2]=nt,oe=M+336|0}function Gt(t,A,r,a,i){var l,h,m,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,Te=0,Oe=0,$e=0,nt=0,ht=0,vt=0,Qt=0,Ut=0,fA=0,hA=0,FA=0,YA=0;if(oe=h=oe-80|0,m=e[r+8>>2],!i|!T[r+4>>1]||(e[i+8>>2]=0),l=kA(a,0,152),e[l+44>>2]=d[m+14|0],e[l+40>>2]=d[m+15|0],a=T[m+8>>1]){for(a=e[34459]+(a<<1)|0,Te=256&A,Oe=r+32|0,ht=r-32|0,vt=r- -64|0,Qt=r+96|0,Ut=r+-64|0,fA=r-28|0,hA=1&A,FA=r-24|0,$e=e[30450];;){w=15&(R=(A=T[a>>1])>>>8|0);e:{t:{r:{a:{n:{c:{o:{f:{l:{i:{h:{b:switch(0|(y=A>>>12|0)){case 10:break o;case 9:break f;case 6:break l;case 2:case 3:break i;case 1:break h;case 0:break b;case 11:case 12:case 13:case 14:case 15:break c;default:break n}M=255&A;b:{m:{C:switch(0|w){case 13:if(M)break m;w=a,A=0;break b;case 0:switch(w=a,M-1|0){case 1:break e;case 0:break t}e[h+20>>2]=Ui(h+75|0,e[m>>2]),e[h+16>>2]=A,fs($e,85851,h+16|0);break e;case 5:if(d[e[144464+(d[r+34|0]<<2)>>2]+11|0]!=2)break e;e[l+20>>2]=M;break e;case 12:break C;default:break a}e[l+44>>2]=e[l+44>>2]+(A<<24>>31&-256|M);break e}g[l+132|0]=d[a+3|0],w=a+2|0,g[l+133|0]=d[0|w],A=2,M>>>0<3||(g[l+134|0]=d[a+5|0],w=a+4|0,g[l+135|0]=d[0|w],A=4,M>>>0<5||(g[l+136|0]=d[a+7|0],w=a+6|0,g[l+137|0]=d[0|w],A=6,M>>>0<7||(g[l+138|0]=d[a+9|0],w=a+8|0,g[l+139|0]=d[0|w],A=8,M>>>0<9||(g[l+140|0]=d[a+11|0],w=a+10|0,g[l+141|0]=d[0|w],A=10,M>>>0<11||(g[l+142|0]=d[a+13|0],w=a+12|0,g[l+143|0]=d[0|w],A=12,M>>>0<13||(g[l+144|0]=d[a+15|0],w=a+14|0,g[l+145|0]=d[0|w],A=14,M>>>0<15||(g[l+146|0]=d[a+17|0],w=a+16|0,g[l+147|0]=d[0|w],A=16)))))))}g[132+(A+l|0)|0]=0,M=ae;break t}if(!t|w>>>0>7||(y=r,d[e[144464+(d[r+2|0]<<2)>>2]+11|0]!=2&&(y=Oe,d[e[144464+(d[r+34|0]<<2)>>2]+11|0]!=2))||!(1&(w=e[t+56>>2]))&&16&d[0|r])break e;M=15&d[y+3|0],M=2&w&&d[y+6|0]<=M>>>0?4:M;h:{b:{m:{C:switch((w=7&R)-3|0){case 1:break b;case 0:break C;default:break m}if(M>>>0>3)break h;break e}if(e[102832+(w<<2)>>2]>(0|M))break h;break e}if(d[y+6|0]>M>>>0)break e}e[l+8>>2]=255&A,M=1;break r}if((57344&A)==8192){for(YA=e[32972],R=1,nt=0;;){P=255&A,w=(ee=4095&A)>>>8|0;i:if(ee>>>0<=3583){(0|(M=(w>>>0)%7|0))==6&&(M=T[a+2>>1]),be=0,w=r;h:{b:{m:switch(0|M){case 6:if(y=0,T[r+36>>1]|T[r+68>>
28101])break i;case 3:w=vt;break b;case 9:if(y=0,T[r+36>>1]|T[r+68>>1])break i;if(w=Qt,!T[r+100>>1])break h;break i;case 7:if(y=0,T[r+36>>1])break i;for(M=1;;){if(d[e[144464+(d[2+(w=(M<<5)+r|0)|0]<<2)>>2]+11|0]==2)break b;if(T[4+(((M=M+1|0)<<5)+r|0)>>1])break}break i;case 5:if(y=0,T[r+4>>1])break i;case 0:be=1,w=ht;break b;case 4:if(y=0,T[r+36>>1])break i;case 2:w=Oe;break b;case 8:if(y=0,!i)break i;if(be=1,e[(w=i)+8>>2])break h;break i;case 10:break m;default:break b}if(y=0,T[r+4>>1]|T[fA>>1])break i;be=1,w=Ut;break h}b:switch(0|M){case 0:case 5:break b;default:break h}w=(d[w+2|0]==1?-32:0)+w|0}if(Te?(M=e[144464+(d[w+2|0]<<2)>>2],e[w+8>>2]=M):M=e[w+8>>2],ee>>>0<=1791){if(y=1,e[e[144464+(P<<2)>>2]>>2]==e[M>>2])break i;if(!(!be|d[M+11|0]!=2)){y=(0|P)==d[M+13|0];break i}y=(0|P)==d[M+12|0];break i}P=31&ee,y=0;h:switch(ee>>>5&7){case 0:y=(0|P)==d[M+11|0];break i;case 1:y=(0|P)==(15&T[M+6>>1]);break i;case 2:y=e[M+4>>2]>>>P&1;break i;case 4:break h;default:break i}h:switch(0|P){case 0:case 1:case 2:case 3:case 4:if(d[e[144464+(d[w+2|0]<<2)>>2]+11|0]!=2){if(d[e[144464+(d[w+34|0]<<2)>>2]+11|0]!=2)break i;w=w+32|0}M=15&d[w+3|0],M=!t|!(2&d[t+56|0])?M:d[w+6|0]<=M>>>0?4:M;b:{switch(P-3|0){case 1:y=d[w+6|0]<=M>>>0;break i;case 0:if(y=1,M>>>0<=3)break b;break i}if(y=1,e[102832+(P<<2)>>2]>(0|M))break i}y=0;break i;case 17:if(!d[M+11|0]){y=1;break i}y=(32&d[r+1|0])>>>5|0;break i;case 18:y=T[w+4>>1]!=0;break i;case 19:if(y=1,T[w+36>>1])break i;y=!d[e[w+40>>2]+11|0];break i;case 9:if(T[w+4>>1])break i;for(;;){if(y=!!(0|(M=12&d[w-29|0])),M)break i;if(T[4+(w=w-32|0)>>1])break}break i;case 10:y=d[M+11|0]!=2;break i;case 11:for(;;){if(y=!!(0|(M=T[w+36>>1])),M)break i;if(M=w,w=w+32|0,d[e[M+40>>2]+11|0]==2)break}break i;case 12:if(y=1,(254&d[M+11|0])==2)break i;y=(16&d[M+4|0])>>>4|0;break i;case 13:for(;y=(d[e[w+8>>2]+11|0]==2)+y|0,M=T[w+4>>1],w=w-32|0,!M;);y=(0|y)==1;break i;case 14:for(;y=(d[e[w+8>>2]+11|0]==2)+y|0,M=T[w+4>>1],w=w-32|0,!M;);y=(0|y)==2;break i;case 16:break h;default:break i}y=(16&d[0|w])>>>4|0}else if(y=0,(0|w)==15){h:switch(P-1|0){case 0:y=hA;break i;case 1:break h;default:break i}y=e[YA+132>>2]!=0}i:if(1970>>>(w=(M=65535&A)>>>12|0)&1)w=g[w+102848|0];else{switch(0|w){case 0:if(w=1,(3840&M)!=3328)break i;w=1+(1+(255&M)>>>1|0)|0;break i;case 6:w=(M>>>9&7)-5>>>0<2?12:1;break i;case 2:case 3:w=(0|(w=3840&M))==3328||(0|w)==1536?2:1;break i}w=4,(M=T[a+4>>1])>>>0>61439||(w=(0|M)==2?3:2)}if(a=((w=T[(a=(w<<1)+a|0)>>1]==3)<<1)+a|0,w^=y,R=nt?w|R:w&R,nt=4096&A,(57344&(A=T[a>>1]))!=8192)break}if(!(1&R))if((63488&A)!=26624){i:if(1970>>>(w=A>>>12|0)&1)w=g[w+102848|0];else{switch(0|w){case 0:if(w=1,(3840&A)!=3328)break i;w=1+(1+(255&A)>>>1|0)|0;break i;case 6:w=(A>>>9&7)-5>>>0<2?12:1;break i;case 2:case 3:w=(0|(A&=3840))==3328||(0|A)==1536?2:1;break i}w=4,(A=T[a+4>>1])>>>0>61439||(w=(0|A)==2?3:2)}a=(((65024&T[(A=(w<<1)+a|0)>>1])==24576)<<1)+A|0}else a=((255&A)<<1)+a|0}w=a-2|0,M=ae;break t}l:switch(w>>>1|0){case 0:a=(((255&A)<<1)+a|0)-2|0;break e;case 5:e[l>>2]=2|e[l>>2],((A=d[e[r+40>>2]+12|0])-28&255)>>>0<=5&&(w=T[4+(A=((A<<2)+a|0)-112|0)>>1],A=T[A+2>>1],e[l+96>>2]=A>>>4<<24>>24,e[l+76>>2]=(15&A)<<18|w<<2),a=a+24|0;break e;case 6:break l;default:break e}((A=d[e[FA>>2]+13|0])-28&255)>>>0<=5&&(w=T[4+(A=((A<<2)+a|0)-112|0)>>1],A=T[A+2>>1],e[l+100>>2]=A>>>4<<24>>24,e[l+80>>2]=(15&A)<<18|w<<2),a=a+24|0;break e}A=T[(a=a+2|0)>>1]|A<<16&983040;f:switch(w-1|0){case 0:if((0|ue)>9)break e;e[(h+32|0)+(ue<<2)>>2]=a,a=(e[34459]+(A<<1)|0)-2|0,ue=ue+1|0;break e;case 1:e[l+124>>2]=A;break e;case 2:break f;default:break e}e[l+128>>2]=A;break e}e[108+(w=(((0|w)!=1)<<3)+l|0)>>2]=T[a+2>>1]|(255&A)<<16,A=T[a+4>>1]<<16,a=a+6|0,e[w+112>>2]=A|T[a>>1];break e}if(M=T[(w=a+2|0)>>1],ee=A>>>4|0,e[88+(R=((P=y-11|0)<<2)+l|0)>>2]=255&ee,e[R+68>>2]=A<<18&3932160|M<<2,(0|(a=T[a+4>>1]))==2){a=w;break e}if(M=A>>>0<=53247?a>>>0>61439?2:1:ae-((0|P)==4)|0,y-13>>>0>1)break t;e[R+88>>2]=ee<<24>>24;break t}e[h+4>>2]=Ui(h+75|0,e[m>>2]),e[h>>2]=A,fs($e,85851,h);break e}e[4+((w<<2)+l|0)>>2]=M,M=Te&&(0|w)==1?1:ae}w=a}(0|M)!=1|(0|ue)<=0?(a=w,ae=M):(a=e[(h+32|0)+((ue=ue-1|0)<<2)>>2],ae=0)}
2810if(a=a+2|0,(0|ae)==1)break}!i|d[r+17|0]!=2||(t=e[r+4>>2],e[i>>2]=e[r>>2],e[i+4>>2]=t,t=e[r+28>>2],e[i+24>>2]=e[r+24>>2],e[i+28>>2]=t,t=e[r+20>>2],e[i+16>>2]=e[r+16>>2],e[i+20>>2]=t,t=e[r+12>>2],e[i+8>>2]=e[r+8>>2],e[i+12>>2]=t),g[r+23|0]=e[l+44>>2],(t=e[l+68>>2])?(e[r+24>>2]=t,t=l+88|0):(e[r+24>>2]=e[l+72>>2],t=l+92|0),e[r+28>>2]=e[t>>2]}oe=h+80|0}function bA(t,A,r,a,i,l){var h,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,Te=0,Oe=0,$e=0,nt=0,ht=0,vt=0,Qt=0,Ut=0;oe=h=oe-848|0;e:if(!(!e[t+104>>2]|8&d[i+2|0]|e[47202]==193)){for(e[a>>2]=0,e[33272]=0,e[33274]=l,g[h+192|0]=0,e[33273]=h+192;y=(l=y)+1|0,g[0|(Oe=A+l|0)]-48>>>0<10;);e[56798]=0,vt=h+188|0,R=-2147483648,oe=Te=oe-16|0;t:if(m=d[0|A]){P=A;r:{for(;;){if(!((0|(m=m<<24>>24))==32|m-9>>>0<5))break r;if(m=d[P+1|0],P=P+1|0,!m)break}break t}r:switch((m=d[0|P])-43|0){case 0:case 2:break r;default:break t}ue=(0|m)==45?-1:0,P=P+1|0}else P=A;for(;m=-48,(((ee=g[0|P])-48&255)>>>0<10||(m=-87,(ee-97&255)>>>0<26||(m=-55,!((ee-65&255)>>>0>25))))&&!((0|(ee=m+ee|0))>=10);)Ys(Te,10,0,0,0,ae,be,0,0),m=1,e[Te+8>>2]|e[Te+12>>2]||(nt=er(ae,be,10,0),(0|(ht=fe))==-1&~ee>>>0<nt>>>0||(m=ht,be=(ae=ee+nt|0)>>>0<ee>>>0?m+1|0:m,$e=1,m=M)),P=P+1|0,M=m;vt&&(e[vt>>2]=$e?P:A);t:{r:{if(M)e[56798]=68,ae=-2147483648,be=0;else if(!be&ae>>>0<2147483648)break r;if(!ue){e[56798]=68,R=2147483647;break t}if(!(!be&ae>>>0<=2147483648)){e[56798]=68;break t}}R=(ue^ae)-ue|0}if(oe=Te+16|0,ue=R,!(e[56798]|e[h+188>>2]==(0|A))){t:{r:{a:{if(!(!((0|(ee=64&d[t+109|0]?4:3))!=(0|l)|e[t+124>>2]!=g[A-2|0])&g[A-3|0]-48>>>0<10)){n:{if(e[t+124>>2]!=32){if(!(16&d[t+105|0]))break a;if((0|l)==3)break n;break a}if((0|l)!=3)break a}if(4&d[i+2|0]|g[A-2|0]-48>>>0>=10)break a}g[133104]=0,g[h+288|0]=0,Qt=1;break r}if(g[133104]=0,e[33275]=0,g[h+288|0]=0,Ut=1,$e=0,d[0|A]==48)break t}$e=_s(t,A,Oe,i,0)}d[0|Oe]!=46|g[A+y|0]-48>>>0<10|1&g[i+13|0]|g[Oe+2|0]-48>>>0<10||(g[0|Oe]=0);t:if(!$e||(nt=1,e[t+212>>2]==26741)){if(R=h+256|0,e[h+844>>2]=R,w=y,64&d[i+1|0]&&(g[h+256|0]=45,R=h+256|1,e[h+844>>2]=R,w=l+2|0),P=d[A+w|0]){for(;!((255&P)==32|(0|w)>28)&&(m=e[h+844>>2],e[h+844>>2]=m+1,g[0|m]=P,P=d[(w=w+1|0)+A|0]););R=e[h+844>>2]}if(g[0|R]=0,nt=1,m=g[h+256|0]){if(!(M=e[t+136>>2])||qr(h+256|0,M)){if(m-48>>>0<10||(e[h+176>>2]=h+256,uA(m=h+800|0,88653,h+176|0),!vA(t,m,133104)))break t;e[a>>2]=128|e[a>>2],e[h+160>>2]=h+256,uA(m=h+800|0,88773,h+160|0),vA(t,m,133116),nt=0}$e=2}}vt=e[i>>2],g[h+352|0]=0,g[h+624|0]=0;t:{r:{a:if(!(!Ut|d[0|A]!=48||(0|(m=g[A+1|0]))==32|(0|m)==e[t+128>>2])){n:{if((0|l)==2){if(d[A+3|0]!=58|g[A+5|0]-48>>>0>=10||!((0|(m=g[A+7|0]))==32|m-9>>>0<5))break n;break a}if((0|l)>3)break r}if(d[0|A]==48&&!((0|(m=l-1|0))<=0))for(w=0;;){if(vA(t,88875,CA(M=h+288|0)+M|0),d[(w=w+1|0)+A|0]!=48)break a;if(!((0|m)>(0|w)))break}}a:{n:{if(!((0|(m=g[0|Oe]))==32&&16&d[t+105|0])){if(ht=2,ae=l+2|0,(0|m)==e[t+124>>2])break n;be=1,R=0,m=0;break a}ht=1,ae=l+2|0}if(4&d[i+14|0])R=1,m=0,be=1;else for(m=0,P=1,w=l,be=1;;){M=m,m=P,P=(Te=w+ht|0)+A|0,w=0;n:{for(;;){if(R=1,!(g[w+P|0]-48>>>0>=10)){if((0|ee)!=(0|(w=w+1|0)))continue;break n}break}m=M;break a}if(g[P+ee|0]-48>>>0<10){m=M;break a}if(w=0,g[P-1|0]-48>>>0<10){m=M;break a}n:{for(;;){if(d[(w+Te|0)+A|0]==48){if((0|ee)!=(0|(w=w+1|0)))continue;break n}break}be=0}if((0|(M=g[(w=ee+Te|0)+A|0]))!=e[t+124>>2]&(!(16&d[t+105|0])|(0|M)!=32))break a;if(ae=w+2|0,4&d[2+(F(P=m+1|0,12)+i|0)|0])break}}w=!ue;a:if(!(!be|!(64&d[1+(F(m,12)+i|0)|0])|e[t+212>>2]!=26741)){n:switch(d[0|(M=A+ae|0)]-97|0){case 0:case 4:break n;default:break a}n:{c:{o:{f:switch((P=d[M+1|0])-116|0){case 6:break a;case 1:case 2:case 3:case 4:case 5:break c;case 0:break f;default:break o}if(d[M+2|0]!=116)break n;break a}if((0|P)==32)break a}if(!(!!((0|ue)%1e3|0)&(0|m)!=1)&&(0|P)==108)break a}e[33274]=1|e[33274]}ae=32768&vt,w&=Qt;a:if(e[t+128>>2]!=g[0|Oe]|g[A+y|0]-48>>>0>=10){n:{if(!w){if(w=0,M=1,!((0|m)>0&R))break n;ue=(y=NA(t,ue,m,be,h+624|0))?0:ue,w=!!(0|y),P=0;break a}w=1,ue=0,e[33275]==1&&(e[h+144>>2]=m+1,uA(y=h+800|0,89026,h+144|0),vA(t,y,h+688|0)||(e[h+128>>2]=m,uA(y=h+800|0,89026,h+128|0),vA(t,y,h+624|0)))}M=1,P=0}else vA(t,88882,h+624|0),M=0,P=256;R=ae?2:$e;a:{if(m|d[h+624|0]|d[0|Oe]!=46){if(m)break a}else vA(t,89192,h+624|0);if(e[h+844>>2]=A,g[A+1|0]-48>>>0<10)for(;y=e[h+844>>2],e[h+844>>2]=y+1,g[y+2|0]-48>>>0<10;);if(g[e[h+844>>2]-1|0]-48>>>0>=10||(e[h+416>>2]=e[h+844>>2]-1,ls(t,h+416|0,h+192|0,a,4,i)&&(e[33272]=2)),d[h+192|0]|d[e[h+844>>2]]==48||ls(t,h+844|0,h+192|0,a,4,i)&&(e[33272]=1),Ut){if(!R&M&&(e[h+112>>2]=ue,uA(i=h+800|0,89214,h+112|0),vA(t,i,r)))break t;if(1&g[t+110|0]){for(y=A;(32|d[0|y])!=32;)y=y+1|0;e[h+416>>2]=y,d[y+1|0]==37&&(vA(t,89328,r),i=CA(r),g[e[h+416>>2]+1|0]=32,r=r+i|0)}}}Ls(t,ue,h+416|0,w,m,R|P|Qt),!(2&d[t+109|0])|(0|m)<=0?(e[h+60>>2]=15,e[h- -64>>
vendor: 52,940 bytes, line 2810
28102]=h+624,e[h+56>>2]=h+416,e[h+52>>2]=h+352,e[h+48>>2]=h+288,uA(r,89415,h+48|0)):(e[h+88>>2]=15,e[h+96>>2]=h+416,e[h+92>>2]=h+352,e[h+84>>2]=h+624,e[h+80>>2]=h+288,uA(r,89346,h+80|0));a:if(!M)for(;;){for(l=l+1|0,M=0;M=(y=M)+1|0,g[(m=l+y|0)+A|0]-48>>>0<10;);i=2;n:{c:{o:{f:{l:{i:switch((M=57344&e[t+104>>2])-8192>>>13|0){case 6:break c;case 2:break o;case 0:case 4:case 5:break f;case 1:break l;case 3:break i;default:break n}i=5}if((0|(M=d[0|(w=A+l|0)]))==48)for(;vA(t,88875,m=h+688|0),fa(r,m),y=y-1|0,(0|(M=d[0|(w=(l=l+1|0)+A|0)]))==48;);if((0|i)<(0|y)|(M<<24>>24)-48>>>0>=10)break n;i=h+688|0,Ls(t,Jn(w),i,0,0,0),fa(r,i),l=l+y|0;break n}if(Ls(t,Jn(i=A+l|0),h+416|0,0,0,0),!((0|M)==8192&d[0|i]!=48)){if(e[h+16>>2]=y,uA(i=h+800|0,89508,h+16|0),!vA(t,i,h+688|0))break n;fa((0|M)==49152?r:h+416|0,h+688|0)}fa(r,h+416|0),l=m;break n}if((0|y)>4||d[0|(i=A+l|0)]==48)break n;Ls(t,l=Jn(i),i=h+688|0,0,0,0),fa(r,i),l=m;break n}if(!((0|y)<=1))for(;;){if(e[h+32>>2]=g[A+l|0],uA(i=h+800|0,89575,h+32|0),!vA(t,i,h+688|0))break n;if(fa(r,h+688|0),l=l+1|0,!((0|(y=y-1|0))>1))break}}n:if(!((M=d[0|(y=A+l|0)])-48>>>0>=10||CA(r)>>>0>=190))for(;;){if(i=h+688|0,Yr(t,g[0|y]-48|0,0,2,i),m=CA(r),e[h>>2]=15,e[h+4>>2]=i,uA(r+m|0,89594,h),(M=d[0|(y=(l=l+1|0)+A|0)])-48>>>0>=10)break n;if(!(CA(r)>>>0<=189))break}if(vA(t,89678,h+688|0)&&fa(r,h+688|0),e[t+128>>2]!=(0|M)|g[1+(A+l|0)|0]-48>>>0>=10)break a;vA(t,88882,i=h+688|0),fa(r,i)}if(!(i=d[0|r])|(0|i)==21||(i=ur(h+184|0,A=1+(A+l|0)|0),l=e[h+184>>2],!(2&d[t+106|0])|(0|l)!=32||(ur(h+184|0,A+i|0),l=e[h+184>>2]),Mn(l)|be||(t=CA(r)+r|0,g[0|t]=11,g[t+1|0]=0)),e[a>>2]=-2147483648|e[a>>2],e[33275]=e[33275]-1,w=1,nt)break e;e[33264]=1;break e}e[a>>2]=-129&e[a>>2],w=0;break e}w=1}}return oe=h+848|0,w}function rA(t,A,r,a){var i,l,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,Te=0,Oe=0,$e=0,nt=0,ht=0,vt=0,Qt=0,Ut=0,fA=0,hA=0;if(oe=i=oe-416|0,$e=T[r+8>>1],ae=d[r+10|0],64&(l=e[r>>2])){for(e[r>>2]=-65&l,g[199388]=1,w=e[47202],R=e[49846],y=e[47352],P=e[47351],M=e[47350];;){h=(m=e[198304+(P<<2)>>2])>>8;e:{t:switch((31&m)-9|0){case 0:w=h;break e;case 4:R=h;break e;case 3:break t;default:break e}y=m>>>0>=256?h+y|0:0}if(!(!(128&m)&(0|M)>(0|(P=P+1|0))))break}e[47352]=y,e[47351]=P,e[49846]=R,e[47202]=w}R=0;e:if(!((0|(h=e[49572]))>997)){if(1048576&l||!d[0|A])d[199388]&&(e[49572]=h+1,g[199388]=0,e[(t=190288+(h<<3)|0)>>2]=983042,e[t+4>>2]=0),g[189088]=0;else if(!((0|h)>990)){(0|(h=e[t+8224>>2]))>0&&(e[t+8224>>2]=h-1),w=512&l?a:a+4|0,y=(240&e[47202])==16,(Te=2&l)&&((0|(m=e[47200]))<3||(0|(h=e[47350]))>243||(d[199388]&&(e[(P=198300+(h<<2)|0)>>2]=-129&e[P>>2]),e[47350]=h+1,g[199388]=1,nt=(0|m)==3?20:m,e[198304+(h<<2)>>2]=nt<<8|193)),M=y?w:a;t:{r:{if(!(8&l)){for(;a=d[(h=ee)+A|0],g[h+(i+240|0)|0]=a,223&a&&(ee=h+1|0,h>>>0<160););if(g[i+66|0]=0,ee=i- -64|2,R=cA(e[47192],A,r,ee),e[i+412>>2]=R,!(4096&R))break r;sr(A,i+240|0,h);break e}a:if(la(A,87276,3))Qn(A,189088,i+240|0);else{if(P=0,223&(h=d[0|(ee=A+3|0)]))for(;g[(i+240|0)+P|0]=or(h<<24>>24),P=P+1|0,223&(h=d[0|(ee=ee+1|0)]););g[(a=i+240|0)+P|0]=0,h=0;n:if(!((0|(r=e[34461]))<=0)){for(;;){if(!qr(a,F(h,44)+137856|0)){e[34457]=h;break n}if((0|r)==(0|(h=h+1|0)))break}h=r}if((0|(r=(0|r)==(0|h)?-1:h))<=0)break a;ba(r),g[189090]=0,g[189089]=r,g[189088]=21}R=-2147483648,e[i+412>>2]=-2147483648,a=-1;break t}if(!(!(8388608&R)|8&d[r+12|0])){for(oe=y=oe-208|0,P=e[t+60>>2],m=A;a=m,m=m+1|0,d[0|a]!=32;);ur(y+204|0,m);r:if(Mn(e[y+204>>2])){w=BA(y,189088),m=(!(256&P)|(be=Lt(t,m,r+12|0,0))>>>15)&!(67108864&be)&d[189088]!=21;a:{n:{if(512&P){if(!(m&!(16&d[r+12|0])))break n;break a}if(m)break a}BA(189088,w);break r}if(g[0|a]=45,e[r>>2]=-2&e[r>>2],R=0,m=189088,ue=Lt(e[47192],A,r,0),e[i+412>>2]=ue,!((0|P)<=0)&&(w=d[189088])){for(;R=(d[e[144464+(w<<2)>>2]+11|0]==2)+R|0,w=d[0|(m=m+1|0)];);if(!((31&P)>=(0|R))){g[0|a]=32,e[i+412>>2]=Lt(e[47192],A,r,0);break r}}e[i+412>>2]=128|(ue||be),e[33264]=1}oe=y+208|0}if(a=-1,d[189088]==21){if(P=BA(i+16|0,132848),y=e[i+412>>2],m=sr(A,i+240|0,h),w=i- -64|1,(0|(a=_o(d[189089]?189089:87315,188772,189296)))<0||(e[r>>2]=4194304|e[r>>2],d[i+66|0]?(v[i+64>>1]=8192,y=Lt(e[47193],w,r,0)):y=cA(e[47193],m,r,ee)),d[189088]==21&&(h=sr(m,i+240|0,h),(0|(a=_o(d[189089]?189089:87315,188772,189296)))<0||(e[r>>2]=4194304|e[r>>2],d[i+66|0]?(v[i+64>>1]=8192,y=Lt(e[47193],w,r,0)):y=cA(e[47193],h,r,ee)),R=4096,d[189088]==21))break e;e[i+412>>2]=y,(0|a)>=0||(g[189090]=0,v[94544]=3341,(0|a)==-1&&(BA(132848,P),ba(e[e[32972]+60>>2]),a=e[e[32972]+60>>2]))}R=e[i+412>>2],128&l||(M=268435456&R&&(0|M)<=1?1:M,!(256&R)|528&l|e[t+8224>>2]|2&d[r-11|0]||(e[t+8224>>2]=3,M=(0|M)<=4?4:M)),M=(0|M)<=0&&e[49846]>2?1:M}if(r=d[199388],!((0|M)<=0|(0|(ee=e[49572]))>990)){e[49572]=ee+1,m=1&r,r=0,v[(h=190288+(ee<<3)|0)>>1]=m?2:0,g[h+7|0]=0,g[h+3|0]=0,m=M>>>0>1,g[h+2|0]=m?9:11,v[h+4>>1]=0,e[t+8236>>2]=0;t:if(!(!(h=m?M-2|0:0)|(0|(ee=e[49572]))>990))for(w=t+8236|0;;){if(e[49572]=ee+1,v[(m=190288+(ee<<3)|0)>>1]=0,g[m+7|0]=0,g[m+3|0]=0,y=h>>>0>1,g[m+2|0]=y?9:11,v[m+4>>1]=0,e[w>>2]=0,ee=e[49572],(0|(h=y?h-2|0:0))<=0)break t;if(!((0|ee)<991))break}e[t+8228>>2]=0,e[t+8232>>2]=0}g[199388]=1&r,!Te|e[47200]!=1||(e[49572]=ee+2,g[199388]=0,v[(h=190288+(ee<<3)|0)>>1]=1&r?2:0,g[h+7|0]=0,v[h+2>>1]=10,v[h+4>>1]=0,v[h+12>>1]=0,e[h+8>>2]=1179648,g[h+15|0]=0,1&l&&Xr(g[A+1|0])&&(r=d[199388],g[199388]=0,A=e[49572],e[49572]=A+2,v[(A=190288+(A<<3)|0)>>1]=r?2:0,g[A+7|0]=0,v[A+2>>1]=10,v[A+4>>1]=0,v[A+12>>1]=0,e[A+8>>2]=1179648,g[A+15|0]=0)),h=ae>>>0<31;t:if(!((0|a)<0))if(A=e[49572],r=d[190290+((M=A-1|0)<<3)|0],d[189088]!=9|d[189089]!=21)(0|r)!=21&&(m=d[199388],g[199388]=0,g[7+(r=190288+(A<<3)|0)|0]=0,v[r+2>>1]=21,v[r+4>>1]=0,v[r>>1]=m?2:0,M=A),e[49572]=M+1,g[190295+(M<<3)|0]=a;else{if((0|r)!=21)break t;e[49572]=M}A=2047&$e,r=(h?ae:31)<<11,y=(ht=128&l)?d[e[144464+(d[189088]<<2)>>2]+11|0]?189088:189089:189088,(M=d[0|y])|!(1&g[199388])||(M=23,g[0|y]=23,g[y+1|0]=0),vt=A|r,w=e[49572];t:if(M)if((0|w)>994)A=0;else for(fA=((-1610612736&R)==-2147483648)<<4,$e=vt+1|0,hA=t+8233|0,A=0,m=1,be=0,Qt=1,ae=-1,Te=-1,h=0;;){P=y+1|0;r:{if((0|(ue=255&M))!=255){if(r=e[144464+(ue<<2)>>2])break r;e[i>>2]=ue,oe=r=oe-16|0,e[r+12>>2]=i,ri(132552,87474,i),oe=r+16|0,w=e[49572]}if(!(M=d[0|P]))break t;if(y=P,(0|w)<995)continue;break t}r:if((0|(Oe=255&M))!=21)if((0|(y=d[r+11|0]))!=1){switch(r=$e,Oe-12|0){case 8:g[3+(r=190288+((ae=w-1|0)<<3)|0)|0]=m,v[r>>1]=4|T[r>>1],r=h;break r;case 0:v[(r=190280+(w<<3)|0)>>1]=8|T[r>>1],r=h;break r;case 10:R|=16384,e[i+412>>2]=R,r=h;break r;case 3:break r}ue=d[199388],g[199388]=0,g[7+(r=190288+(Oe=w<<3)|0)|0]=0,g[r+2|0]=M,v[r+4>>1]=h,h=(ue?2:0)|fA,v[r>>1]=h,(0|y)==2?((0|m)>=4&&(g[189076]=1),(0|ae)<0||(0|(A=w-1|0))!=(0|ae)&&(g[190291+(A<<3)|0]=m),v[r>>1]=4|h,Ut=(A=(0|m)>(0|Te))?w:Ut,Te=A?m:Te,h=1,be&&(g[r+7|0]=be),ae=w,be=0,A=m):(!Qt|!(64&d[0|hA])||(v[r>>1]=8|h),h=m),w=w+1|0,e[49572]=w,g[Oe+190291|0]=A,r=0,Qt=0,m=h}else{if(!T[r+8>>1]){m=d[r+14|0],r=h;break r}if((0|ae)<0){r=h,be=ue;break r}g[190295+(ae<<3)|0]=M,r=h}else e[(r=190288+(w<<3)|0)>>2]=1376256,v[r+4>>1]=0,g[r+7|0]=d[y+1|0],e[49572]=w+1,ba(d[y+1|0]),P=y+2|0,w=e[49572],r=h;if(!(M=d[0|P]))break t;if(y=P,h=r,!((0|w)<995))break}else A=0;131072&l&&(r=w+1|0,e[49572]=r,m=d[199388],g[199388]=0,g[7+(h=190288+(w<<3)|0)|0]=0,v[h+2>>1]=27,v[h+4>>1]=0,v[h>>1]=m?2:0,w=r),ht||(v[190292+(ee<<3)>>1]=vt),e[t+8228>>2]=0,d[e[144464+(d[190282+(w<<3)|0]<<2)>>2]+11|0]!=2|(0|A)<4||(e[t+8228>>2]=1),(0|a)>=0&&(BA(132848,i+16|0),ba(e[e[32972]+60>>2]),r=d[199388],g[199388]=0,a=e[49572],v[(A=190288+(a<<3)|0)>>1]=r?2:0,v[A+2>>1]=21,v[A+4>>1]=0,g[A+7|0]=e[e[32972]+60>>2],w=a+1|0,e[49572]=w),(0|nt)>0&&(g[199388]=0,e[49572]=w+1,e[(A=190288+(w<<3)|0)>>2]=655362,r=e[47350],e[47350]=r+1,g[A+7|0]=0,v[A+4>>1]=0,e[198304+(r<<2)>>2]=nt<<8|225),1024&R&&(v[(A=190288+(Ut<<3)|0)>>1]=64|T[A>>1]),e[t+8232>>2]=R}}return oe=i+416|0,R}function br(t,A,r,a,i){var l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,Te=0,Oe=0,$e=0,nt=0,ht=0,vt=0,Qt=0,Ut=0,fA=0,hA=0,FA=0,YA=0;e:if(A){if(Te=i<<4,h=(A=e[33268])+r|0,!((0|A)<=0||(l=d[0|(w=Te+129360|0)],P=d[w+1|0]-l<<8,P=(0|A)!=1?(0|P)/(0|A)|0:P,(0|r)>=(0|h))))for(R=P>>>0>255,ue=P>>>8|0,l<<=8,w=0-P>>>8|0,nt=(0|P)<=0,A=r;nt?(M=(y=(y=(0|(m=(0|(m=e[101024+(g[F(A,6)+t|0]<<2)>>2]))<(0|w)?w:m))>=18?18:m)+(m=(0|(m=(0|(l=l+P|0))/256|0))>0?m:0)|0)>>>0>=254?254:y,m=m>>>0>=254?254:m):(m=F(A,6)+t|0,g[m+2|0]=R|d[m+2|0],m=(y=(0|(m=(0|l)/256|0))>0?m:0)>>>0>=254?254:y,M=(y=y+ue|0)>>>0>=254?254:y,l=l+P|0),y=F(A,6)+t|0,g[y+5|0]=m,g[y+4|0]=M,(0|h)!=(0|(A=A+1|0)););if(2&d[188785]?(w=e[33271],e[33270]=w):w=e[33270],ue=(R=d[3+(l=129360+(A=i<<4)|0)|0])-(m=d[l+2|0])<<8,nt=e[l+4>>2],(0|r)>0?(vt=101056,Oe=5,y=(0|ue)/(d[A+129368|0]-1|0)|0):(vt=e[12+(A=A+129360|0)>>2],Oe=d[A+10|0],y=0),(0|h)<(0|w)){for(P=(0|r)<=0,be=((A=ue>>31)^ue)-A|0,ee=129360+(i<<4)|0,m<<=8,ht=R<<8,R=0;;){t:{if(M=F(h,6)+t|0,!(!(1&P)&(0|(l=g[0|M]))<4)){r=0,A=h;r:if(1&((0|l)==5|P)){for(;(0|(y=g[F(A,6)+t|0]))<=6&&(r=((0|y)>3)+r|0,(0|w)!=(0|(A=A+1|0))););if(ae=0,(0|($e=(0|(A=d[ee+8|0]))>(0|r)?r:A))<2){y=0,R=m;break r}y=(0|ue)/($e-1|0)|0,R=m}else(0|$e)>0?R=y+R|0:(R=ht+(F(be,g[ae+vt|0])>>6)|0,(0|Oe)>(0|(ae=ae+1|0))||(vt=e[ee+12>>2],ae=0));if($e=$e-1|0,!((0|l)<4)){g[0|M]=6,r=(A=(0|(A=(0|R)/256|0))>0?A:0)+(((r=(l=e[nt+(l<<2)>>2])>>31)^l)-r|0)|0;break t}}(0|l)!=3?(A=(0|R)/256|0,(63&d[M-6|0])>>>0>=3?(r=(l=e[nt+(l<<2)>>2])>>31,r=(A=(0|(A=A-g[ee+9|0]|0))>0?A:0)+((r^l)-r|0)|0):r=(A=(0|A)>0?A:0)+(((r=(l=e[nt+(l<<2)>>2])>>31)^l)-r|0)|0):r=(A=(0|(A=(0|R)/256|0))>0?A:0)+(((r=(l=e[nt+12>>2])>>31)^l)-r|0)|0}if(g[M+5|0]=A>>>0>=254?254:A,P=0,A=(0|r)>0?r:0,g[M+4|0]=A>>>0>=254?254:A,g[M+2|0]=d[M+2|0]|l>>>31,(0|w)==(0|(h=h+1|0)))break}h=w}if(!(d[133068]||((268435455&i)==3&&(A=F(h,6)+t|0,g[A+2|0]=2|d[A+2|0]),e[33269]?(A=d[5+(l=100768+(i<<4)|0)|0],m=l+3|0,r=d[l+4|0]-A|0):(A=d[2+(r=100768+(i<<4)|0)|0],m=Te+100768|0,r=d[r+1|0]-A|0),l=F(h,6)+t|0,g[l+5|0]=A>>>0>=254?254:A,g[l+2|0]=d[l+2|0]|r>>>31,A=(y=A)+(((A=r>>31)^r)-A|0)|0,g[l+4|0]=A>>>0>=254?254:A,r=F(w,6)+t|0,g[r+1|0]=d[0|m],A=h+1|0,d[0|r]==4&&(g[0|r]=6),(0|(r=a-A|0))<=0||(i=d[12+(h=100768+(i<<4)|0)|0],h=d[h+13|0]-i<<8,h=(0|r)!=1?(0|h)/(0|r)|0:h,(0|A)>=(0|a)))))for(y=h>>>0>255,P=h>>>8|0,r=i<<8,i=0-h>>>8|0,R=(0|h)<=0;R?(m=(w=(m=(0|(l=(0|i)>(0|(l=e[101024+(g[F(A,6)+t|0]<<2)>>2]))?i:l))>=18?18:l)+(l=(0|(l=(0|(r=r+h|0))/256|0))>0?l:0)|0)>>>0>=254?254:w,w=l>>>0>=254?254:l):(l=F(A,6)+t|0,g[l+2|0]=y|d[l+2|0],w=(l=(0|(l=(0|r)/256|0))>0?l:0)>>>0>=254?254:l,m=(l=l+P|0)>>>0>=254?254:l,r=r+h|0),l=F(A,6)+t|0,g[l+5|0]=w,g[l+4|0]=m,(0|a)!=(0|(A=A+1|0)););}else{if(A=(Oe=e[34455])+F(i,68)|0,h=d[A+24|0],w=d[A+25|0],l=(A=e[33268])+r|0,!((0|A)<=0||(M=w-h<<8,M=(0|A)!=1?(0|M)/(0|A)|0:M,(0|r)>=(0|l))))for(y=M>>>0>255,P=M>>>8|0,A=h<<8,w=0-M>>>8|0,R=(0|M)<=0;R?(h=(h=(ue=(0|(h=(0|(h=e[101024+(g[F(r,6)+t|0]<<2)>>2]))<(0|w)?w:h))>=18?18:h)+(m=(0|(h=(0|(A=A+M|0))/256|0))>0?h:0)|0)>>>0>=254?254:h,m=m>>>0>=254?254:m):(h=F(r,6)+t|0,g[h+2|0]=y|d[h+2|0],m=(h=(0|(h=(0|A)/256|0))>0?h:0)>>>0>=254?254:h,h=(h=h+P|0)>>>0>=254?254:h,A=A+M|0),ue=F(r,6)+t|0,g[ue+5|0]=m,g[ue+4|0]=h,(0|l)!=(0|(r=r+1|0)););2&d[188785]?(r=e[33271],e[33270]=r):r=e[33270],w=r,A=Oe+F(i,68)|0;t:if((0|(P=d[A+33|0]))!=255)for(;;){if((0|(w=w-1|0))<(0|l)){w=r;break t}if(!(g[F(w,6)+t|0]<4))break}if((0|r)>(0|l)){for(hA=((h=(Ut=(R=d[A+32|0])-(M=d[0|(m=A+31|0)])<<8)>>31)^Ut)-h|0,ht=(0|(A=d[0|(y=A+30|0)]))==255,ue=P<<8,nt=M<<8,FA=R<<8,Te=Oe+F(i,68)|0,YA=(0|A)!=255,R=0,P=0,A=1,M=0;;){t:{if(ee=F(l,6)+t|0,!(!(1&A)&(0|(be=g[0|ee]))<4)){r:if(1&((0|be)==5|A)){a:if(YA){if(Qt=1,A=0,h=y,!((0|w)<=(0|(M=l+1|0)))){for(;;){if(h=y,(0|(P=g[F(M,6)+t|0]))>6)break a;if(A=((0|P)>3)+A|0,(0|w)==(0|(M=M+1|0)))break}h=y}}else{if(A=0,M=l,h=m,(0|w)<=(0|l))break a;for(;;){if(h=m,(0|(P=g[F(M,6)+t|0]))>6)break a;if(A=((0|P)>3)+A|0,(0|w)==(0|(M=M+1|0)))break}h=m}if(P=d[0|h]<<8,fA=0,(0|(M=(0|A)<(0|(h=d[Te+34|0]))?A:h))<2){vt=0;break r}vt=(0|Ut)/(M-1|0)|0}else(0|l)!=(0|w)?Qt?(ht=1,M=M+1|0,Qt=0,P=nt):(0|M)>0?(P=P+vt|0,Qt=0):(Qt=0,P=(F(g[16+(Te+fA|0)|0],hA)>>6)+FA|0,fA=(0|(A=fA+1|0))<d[Te+35|0]?A:0):(ht=2,P=ue);if(M=M-1|0,!((0|be)<4)){A=h=l+1|0;r:if(!((0|r)<=(0|l)))for(;;){if(g[F(A,6)+t|0]>1)break r;if(!((0|r)>=(0|(A=A+1|0))))break}g[0|ee]=6,g[ee+1|0]=d[Te+26|0],R=0,ae=d[Te+27|0],l=(0|(l=(0|P)/256|0))>0?l:0,g[ee+5|0]=l>>>0>=254?254:l,l=l+ae|0,g[ee+4|0]=l>>>0>=254?254:l,$e=A-h|0;break t}}if((0|be)>=2){A=h=l+1|0;r:if(!((0|r)<=(0|l)))for(;;){if(g[F(A,6)+t|0]>1)break r;if(!((0|r)>=(0|(A=A+1|0))))break}R=0,l=(0|(l=(0|P)/256|0))>0?l:0,g[ee+5|0]=l>>>0>=254?254:l,ae=e[100976+(be<<2)>>2],g[ee+2|0]=d[ee+2|0]|ae>>>31,l=(0|(l=(be=l)+(((l=ae>>31)^ae)-l|0)|0))>0?l:0,g[ee+4|0]=l>>>0>=254?254:l,$e=A-h|0}else(0|$e)<=1?(ae=g[36+(Te+ht|0)|0],A=0):(ae=g[36+(A=Te+ht|0)|0],A=(g[A+39|0]-ae|0)/($e-1|0)|0),h=e[100976+(be<<2)>>2],g[ee+2|0]=d[ee+2|0]|h>>>31,A=(0|(A=(((0|P)/256|0)+ae|0)+F(A,R)|0))>0?A:0,g[ee+5|0]=A>>>0>=254?254:A,A=(0|(A=A+(((be=h)^(h>>=31))-h|0)|0))>0?A:0,g[ee+4|0]=A>>>0>=254?254:A,R=R+1|0,h=l+1|0}if(A=0,(0|r)==(0|(l=h)))break}l=r}if(d[133068]||(h=F(l,6)+t|0,e[33269]?(m=Oe+F(i,68)|0,A=d[m+47|0],w=d[m+46|0]-A|0,m=m+45|0):(m=Oe+F(i,68)|0,A=d[m+44|0],w=d[m+43|0]-A|0,m=m+42|0),m=d[0|m],y=(((y=w>>31)^w)-y|0)+A|0,g[h+4|0]=y>>>0>=254?254:y,g[h+5|0]=A>>>0>=254?254:A,A=F(l,6)+t|0,g[A+2|0]=d[A+2|0]|w>>>31,r=F(r,6)+t|0,g[r+1|0]=m,A=l+1|0,d[0|r]==4&&(g[0|r]=6),(0|(r=a-A|0))<=0)||(h=Oe+F(i,68)|0,i=d[h+48|0],h=d[h+49|0]-i<<8,h=(0|r)!=1?(0|h)/(0|r)|0:h,(0|A)>=(0|a)))break e;for(y=h>>>0>255,P=h>>>8|0,r=i<<8,i=0-h>>>8|0,R=(0|h)<=0;R?(m=(w=(m=(0|(l=(0|i)>(0|(l=e[101024+(g[F(A,6)+t|0]<<2)>>2]))?i:l))>=18?18:l)+(l=(0|(l=(0|(r=r+h|0))/256|0))>0?l:0)|0)>>>0>=254?254:w,w=l>>>0>=254?254:l):(l=F(A,6)+t|0,g[l+2|0]=y|d[l+2|0],w=(l=(0|(l=(0|r)/256|0))>0?l:0)>>>0>=254?254:l,m=(l=l+P|0)>>>0>=254?254:l,r=r+h|0),l=F(A,6)+t|0,g[l+5|0]=w,g[l+4|0]=m,(0|a)!=(0|(A=A+1|0)););}}function wA(){var t,A=0,r=0,a=0,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0;if((0|(t=e[36455]))!=(0|(w=e[36454]))){e:if(!((0|(ee=e[36427]))<0|(0|w)==(0|ee))){r=P=e[8+(216192+((M=ee)<<4)|0)>>2];t:{for(;;){if((a=e[(h=216192+((M=(0|(a=M-1|0))<0?169:a)<<4)|0)>>2])-5>>>0<2)break t;r:{if((0|a)<=4){if(e[h+12>>2]!=(0|r))break t;if(a=T[h+4>>1],e[h+12>>2]=P,r=e[h+8>>2],16&(A=T[r>>1]))break r;for(ue=32&A?(F(a,12)>>>0)/10|0:a,i=0,a=r,m=0;;){A=T[r>>1];a:if(!(m>>>0<3&&8&A)){if(A=A<<16>>16,(0|(ae=(y=v[2+((R=m<<1)+r|0)>>1])-(l=v[2+(R=P+R|0)>>1])|0))>(0|(y=(0|F(ue,(0|F(e[200944+(m<<2)>>2],(0|ae)>0?y+(l<<1)|0:(y<<1)+l|0))/3e3|0))/256|0)))i||((0|A)<0?a=r:(a=0,A=(0|(A=e[44469]+1|0))<=169?A:0,e[44469]=A,(A=177888+(i=A<<6)|0)&&(a=T[r+4>>1]|T[r+6>>1]<<16,l=T[r>>1]|T[r+2>>1]<<16,v[A>>1]=l,v[A+2>>1]=l>>>16,v[A+4>>1]=a,v[A+6>>1]=a>>>16,a=T[r+60>>1]|T[r+62>>1]<<16,l=T[r+56>>1]|T[r+58>>1]<<16,v[A+56>>1]=l,v[A+58>>1]=l>>>16,v[A+60>>1]=a,v[A+62>>1]=a>>>16,a=T[r+52>>1]|T[r+54>>1]<<16,l=T[r+48>>1]|T[r+50>>1]<<16,v[A+48>>1]=l,v[A+50>>1]=l>>>16,v[A+52>>1]=a,v[A+54>>1]=a>>>16,a=T[r+44>>1]|T[r+46>>1]<<16,l=T[r+40>>1]|T[r+42>>1]<<16,v[A+40>>1]=l,v[A+42>>1]=l>>>16,v[A+44>>1]=a,v[A+46>>1]=a>>>16,a=T[r+36>>1]|T[r+38>>1]<<16,l=T[r+32>>1]|T[r+34>>1]<<16,v[A+32>>1]=l,v[A+34>>1]=l>>>16,v[A+36>>1]=a,v[A+38>>1]=a>>>16,a=T[r+28>>1]|T[r+30>>1]<<16,l=T[r+24>>1]|T[r+26>>1]<<16,v[A+24>>1]=l,v[A+26>>1]=l>>>16,v[A+28>>1]=a,v[A+30>>1]=a>>>16,a=T[r+20>>1]|T[r+22>>1]<<16,l=T[r+16>>1]|T[r+18>>1]<<16,v[A+16>>1]=l,v[A+18>>1]=l>>>16,v[A+20>>1]=a,v[A+22>>1]=a>>>16,a=T[r+12>>1]|T[r+14>>1]<<16,l=T[r+8>>1]|T[r+10>>1]<<16,v[A+8>>1]=l,v[A+10>>1]=l>>>16,v[A+12>>1]=a,v[A+14>>1]=a>>>16,g[i+177904|0]=0,v[A>>1]=32768|T[A>>1],a=A))),A=y+T[R+2>>1]|0;else{if((0-y|0)<=(0|ae))break a;i||((0|A)<0?a=r:(a=0,A=(0|(A=e[44469]+1|0))<=169?A:0,e[44469]=A,(A=177888+(i=A<<6)|0)&&(a=T[r+4>>1]|T[r+6>>1]<<16,l=T[r>>1]|T[r+2>>1]<<16,v[A>>1]=l,v[A+2>>1]=l>>>16,v[A+4>>1]=a,v[A+6>>1]=a>>>16,a=T[r+60>>1]|T[r+62>>1]<<16,l=T[r+56>>1]|T[r+58>>1]<<16,v[A+56>>1]=l,v[A+58>>1]=l>>>16,v[A+60>>1]=a,v[A+62>>1]=a>>>16,a=T[r+52>>1]|T[r+54>>1]<<16,l=T[r+48>>1]|T[r+50>>1]<<16,v[A+48>>1]=l,v[A+50>>1]=l>>>16,v[A+52>>1]=a,v[A+54>>1]=a>>>16,a=T[r+44>>1]|T[r+46>>1]<<16,l=T[r+40>>1]|T[r+42>>1]<<16,v[A+40>>1]=l,v[A+42>>1]=l>>>16,v[A+44>>1]=a,v[A+46>>1]=a>>>16,a=T[r+36>>1]|T[r+38>>1]<<16,l=T[r+32>>1]|T[r+34>>1]<<16,v[A+32>>1]=l,v[A+34>>1]=l>>>16,v[A+36>>1]=a,v[A+38>>1]=a>>>16,a=T[r+28>>1]|T[r+30>>1]<<16,l=T[r+24>>1]|T[r+26>>1]<<16,v[A+24>>1]=l,v[A+26>>1]=l>>>16,v[A+28>>1]=a,v[A+30>>1]=a>>>16,a=T[r+20>>1]|T[r+22>>1]<<16,l=T[r+16>>1]|T[r+18>>1]<<16,v[A+16>>1]=l,v[A+18>>1]=l>>>16,v[A+20>>1]=a,v[A+22>>1]=a>>>16,a=T[r+12>>1]|T[r+14>>1]<<16,l=T[r+8>>1]|T[r+10>>1]<<16,v[A+8>>1]=l,v[A+10>>1]=l>>>16,v[A+12>>1]=a,v[A+14>>1]=a>>>16,g[i+177904|0]=0,v[A>>1]=32768|T[A>>1],a=A))),A=T[R+2>>1]-y|0}i=1,v[2+((m<<1)+a|0)>>1]=A,e[h+8>>2]=a}if((0|(m=m+1|0))==6)break}P=a}if((0|w)!=(0|M))continue;break t}break}P=r}for(a=0;;){if((r=e[(M=216192+(ee<<4)|0)>>2])-5>>>0<2)break e;if((0|r)<=4){if(r=e[M+8>>2],A=T[M+4>>1],a){if((0|r)!=(0|a))break e;e[M+8>>2]=P}else P=r;if(16&(a=T[P>>1]))break e;for(R=32&a?(F(A,6)>>>0)/5|0:A,i=0,r=a=e[M+12>>2],m=0;;){t:{r:if((0|(w=(h=v[2+((A=m<<1)+a|0)>>1])-(A=v[2+(y=A+P|0)>>1])|0))>(0|(h=(0|F(R,(0|F(e[200944+(m<<2)>>2],(0|w)>0?h+(A<<1)|0:(h<<1)+A|0))/3e3|0))/256|0))){if(!i){if(v[a>>1]<0){r=a,A=A+h|0;break r}r=(0|(r=e[44469]+1|0))<=169?r:0,e[44469]=r,i=T[a+20>>1]|T[a+22>>1]<<16,A=16+(r=177888+(r<<6)|0)|0,w=T[a+16>>1]|T[a+18>>1]<<16,v[A>>1]=w,v[A+2>>1]=w>>>16,v[A+4>>1]=i,v[A+6>>1]=i>>>16,A=T[a+4>>1]|T[a+6>>1]<<16,i=T[a>>1]|T[a+2>>1]<<16,v[r>>1]=i,v[r+2>>1]=i>>>16,v[r+4>>1]=A,v[r+6>>1]=A>>>16,A=T[a+12>>1]|T[a+14>>1]<<16,i=T[a+8>>1]|T[a+10>>1]<<16,v[r+8>>1]=i,v[r+10>>1]=i>>>16,v[r+12>>1]=A,v[r+14>>1]=A>>>16,A=T[a+28>>1]|T[a+30>>1]<<16,i=T[a+24>>1]|T[a+26>>1]<<16,v[r+24>>1]=i,v[r+26>>1]=i>>>16,v[r+28>>1]=A,v[r+30>>1]=A>>>16,A=T[a+36>>1]|T[a+38>>1]<<16,i=T[a+32>>1]|T[a+34>>1]<<16,v[r+32>>1]=i,v[r+34>>1]=i>>>16,v[r+36>>1]=A,v[r+38>>1]=A>>>16,A=T[a+44>>1]|T[a+46>>1]<<16,i=T[a+40>>1]|T[a+42>>1]<<16,v[r+40>>1]=i,v[r+42>>1]=i>>>16,v[r+44>>1]=A,v[r+46>>1]=A>>>16,A=T[a+52>>1]|T[a+54>>1]<<16,i=T[a+48>>1]|T[a+50>>1]<<16,v[r+48>>1]=i,v[r+50>>1]=i>>>16,v[r+52>>1]=A,v[r+54>>1]=A>>>16,A=T[a+60>>1]|T[a+62>>1]<<16,i=T[a+56>>1]|T[a+58>>1]<<16,v[r+56>>1]=i,v[r+58>>1]=i>>>16,v[r+60>>1]=A,v[r+62>>1]=A>>>16,g[r+16|0]=0,v[r>>1]=32768|T[r>>1],A=T[y+2>>1]}A=A+h|0}else{if((0|w)>=(0-h|0))break t;i||(v[a>>1]<0?r=a:(r=(0|(r=e[44469]+1|0))<=169?r:0,e[44469]=r,i=T[a+20>>1]|T[a+22>>1]<<16,A=16+(r=177888+(r<<6)|0)|0,w=T[a+16>>1]|T[a+18>>1]<<16,v[A>>1]=w,v[A+2>>1]=w>>>16,v[A+4>>1]=i,v[A+6>>1]=i>>>16,A=T[a+4>>1]|T[a+6>>1]<<16,i=T[a>>1]|T[a+2>>1]<<16,v[r>>1]=i,v[r+2>>1]=i>>>16,v[r+4>>1]=A,v[r+6>>1]=A>>>16,A=T[a+12>>1]|T[a+14>>1]<<16,i=T[a+8>>1]|T[a+10>>1]<<16,v[r+8>>1]=i,v[r+10>>1]=i>>>16,v[r+12>>1]=A,v[r+14>>1]=A>>>16,A=T[a+28>>1]|T[a+30>>1]<<16,i=T[a+24>>1]|T[a+26>>1]<<16,v[r+24>>1]=i,v[r+26>>1]=i>>>16,v[r+28>>1]=A,v[r+30>>1]=A>>>16,A=T[a+36>>1]|T[a+38>>1]<<16,i=T[a+32>>1]|T[a+34>>1]<<16,v[r+32>>1]=i,v[r+34>>1]=i>>>16,v[r+36>>1]=A,v[r+38>>1]=A>>>16,A=T[a+44>>1]|T[a+46>>1]<<16,i=T[a+40>>1]|T[a+42>>1]<<16,v[r+40>>1]=i,v[r+42>>1]=i>>>16,v[r+44>>1]=A,v[r+46>>1]=A>>>16,A=T[a+52>>1]|T[a+54>>1]<<16,i=T[a+48>>1]|T[a+50>>1]<<16,v[r+48>>1]=i,v[r+50>>1]=i>>>16,v[r+52>>1]=A,v[r+54>>1]=A>>>16,A=T[a+60>>1]|T[a+62>>1]<<16,i=T[a+56>>1]|T[a+58>>1]<<16,v[r+56>>1]=i,v[r+58>>1]=i>>>16,v[r+60>>1]=A,v[r+62>>1]=A>>>16,g[r+16|0]=0,v[r>>1]=32768|T[r>>1],A=T[y+2>>1])),A=A-h|0}i=1,v[2+((m<<1)+r|0)>>1]=A,e[M+12>>2]=r}if((0|(m=m+1|0))==6)break}P=r}if((0|t)==(0|(ee=(0|(r=ee+1|0))<=169?r:0)))break}}e[36454]=t}}function OA(t,A){var r,a,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,Te=0,Oe=0,$e=0,nt=0,ht=0,vt=0,Qt=0,Ut=0,fA=0,hA=0;oe=r=oe-48|0,O(+t),l=0|G(1),i=0|G(0),a=l;e:{t:{r:{if((w=2147483647&l)>>>0<=1074752122){if((1048575&l)==598523)break r;if(w>>>0<=1073928572){if((0|a)>0|(0|a)>=0){m=(t+=-1.5707963267341256)+-6077100506506192e-26,N[A>>3]=m,N[A+8>>3]=t-m-6077100506506192e-26,l=1;break e}m=(t+=1.5707963267341256)+6077100506506192e-26,N[A>>3]=m,N[A+8>>3]=t-m+6077100506506192e-26,l=-1;break e}if((0|a)>0|(0|a)>=0){m=(t+=-3.1415926534682512)+-12154201013012384e-26,N[A>>3]=m,N[A+8>>3]=t-m-12154201013012384e-26,l=2;break e}m=(t+=3.1415926534682512)+12154201013012384e-26,N[A>>3]=m,N[A+8>>3]=t-m+12154201013012384e-26,l=-2;break e}if(w>>>0<=1075594811){if(w>>>0<=1075183036){if((0|w)==1074977148)break r;if((0|a)>0|(0|a)>=0){m=(t+=-4.712388980202377)+-18231301519518578e-26,N[A>>3]=m,N[A+8>>3]=t-m-18231301519518578e-26,l=3;break e}m=(t+=4.712388980202377)+18231301519518578e-26,N[A>>3]=m,N[A+8>>3]=t-m+18231301519518578e-26,l=-3;break e}if((0|w)==1075388923)break r;if((0|a)>0|(0|a)>=0){m=(t+=-6.2831853069365025)+-2430840202602477e-25,N[A>>3]=m,N[A+8>>3]=t-m-2430840202602477e-25,l=4;break e}m=(t+=6.2831853069365025)+2430840202602477e-25,N[A>>3]=m,N[A+8>>3]=t-m+2430840202602477e-25,l=-4;break e}if(w>>>0>1094263290)break t}i=(nt=(m=t+-1.5707963267341256*(P=.6366197723675814*t+6755399441055744-6755399441055744))-(ee=6077100506506192e-26*P))<-.7853981633974483,l=he(P)<2147483648?~~P:-2147483648,i?(l=l-1|0,ee=6077100506506192e-26*(P+=-1),m=t+-1.5707963267341256*P):nt>.7853981633974483&&(l=l+1|0,ee=6077100506506192e-26*(P+=1),m=t+-1.5707963267341256*P),t=m-ee,N[A>>3]=t,O(+t),i=0|G(1),G(0),((h=w>>>20|0)-(i>>>20&2047)|0)<17||(ee=m,t=(m-=t=6077100506303966e-26*P)-(ee=20222662487959506e-37*P-(ee-m-t)),N[A>>3]=t,O(+t),i=0|G(1),G(0),(h-(i>>>20&2047)|0)<50||(ee=m,t=(m-=t=20222662487111665e-37*P)-(ee=84784276603689e-45*P-(ee-m-t)),N[A>>3]=t)),N[A+8>>3]=m-t-ee;break e}if(w>>>0>=2146435072)t-=t,N[A>>3]=t,N[A+8>>3]=t,l=0;else{for(D(0,0|i),D(1,1048575&a|1096810496),t=+_(),l=0,i=1;h=(r+16|0)+(l<<3)|0,m=+(0|(l=he(t)<2147483648?~~t:-2147483648)),N[h>>3]=m,t=16777216*(t-m),l=1,h=i,i=0,h;);for(N[r+32>>3]=t,l=2;l=(i=l)-1|0,N[(r+16|0)+(i<<3)>>3]==0;);if(ht=r+16|0,h=0,oe=M=oe-560|0,w=F($e=(0|(w=((l=(w>>>20|0)-1046|0)-3|0)/24|0))>0?w:0,-24)+l|0,((ae=e[28105])+(y=(Te=i+1|0)-1|0)|0)>=0)for(l=ae+Te|0,i=$e-y|0;N[(M+320|0)+(h<<3)>>3]=(0|i)<0?0:+e[112432+(i<<2)>>2],i=i+1|0,(0|l)!=(0|(h=h+1|0)););for(be=w-24|0,l=0,h=(0|ae)>0?ae:0,ue=(0|Te)<=0;;){if(ue)t=0;else for(R=l+y|0,i=0,t=0;t=N[(i<<3)+ht>>3]*N[(M+320|0)+(R-i<<3)>>3]+t,(0|Te)!=(0|(i=i+1|0)););if(N[(l<<3)+M>>3]=t,i=(0|l)==(0|h),l=l+1|0,i)break}fA=47-w|0,vt=48-w|0,hA=w-25|0,l=ae;t:{for(;;){if(t=N[(l<<3)+M>>3],i=0,h=l,!(R=(0|l)<=0))for(;ue=(M+480|0)+(i<<2)|0,y=he(m=5960464477539063e-23*t)<2147483648?~~m:-2147483648,y=he(t=-16777216*(m=+(0|y))+t)<2147483648?~~t:-2147483648,e[ue>>2]=y,t=N[((h=h-1|0)<<3)+M>>3]+m,(0|l)!=(0|(i=i+1|0)););t=Bn(t,be),t+=-8*Me(.125*t),t-=+(0|(ue=he(t)<2147483648?~~t:-2147483648));r:{a:{n:{if(Qt=(0|be)<=0){if(be)break n;y=e[476+((l<<2)+M|0)>>2]>>23}else Oe=h=(l<<2)+M|0,h=(y=e[h+476>>2])-((i=y>>vt)<<vt)|0,e[Oe+476>>2]=h,ue=i+ue|0,y=h>>fA;if((0|y)<=0)break r;break a}if(y=2,!(t>=.5)){y=0;break r}}if(i=0,h=0,!R)for(;Ut=e[(Oe=(M+480|0)+(i<<2)|0)>>2],R=16777215,h||(R=16777216,Ut)?(e[Oe>>2]=R-Ut,h=1):h=0,(0|l)!=(0|(i=i+1|0)););a:if(!Qt){i=8388607;n:switch(0|hA){case 1:i=4194303;break;case 0:break n;default:break a}e[476+(R=(l<<2)+M|0)>>2]=e[R+476>>2]&i}ue=ue+1|0,(0|y)==2&&(t=1-t,y=2,h&&(t-=Bn(1,be)))}if(t!=0)break;if(h=0,!((0|ae)>=(0|(i=l)))){for(;h=e[(M+480|0)+((i=i-1|0)<<2)>>2]|h,(0|i)>(0|ae););if(h){for(w=be;w=w-24|0,!e[(M+480|0)+((l=l-1|0)<<2)>>2];);break t}}for(i=1;h=i,i=i+1|0,!e[(M+480|0)+(ae-h<<2)>>2];);for(h=l+h|0;;){if(y=l+Te|0,l=l+1|0,N[(M+320|0)+(y<<3)>>3]=e[112432+($e+l<<2)>>2],i=0,t=0,(0|Te)>0)for(;t=N[(i<<3)+ht>>3]*N[(M+320|0)+(y-i<<3)>>3]+t,(0|Te)!=(0|(i=i+1|0)););if(N[(l<<3)+M>>3]=t,!((0|l)<(0|h)))break}l=h}(t=Bn(t,24-w|0))>=16777216?(be=(M+480|0)+(l<<2)|0,i=he(m=5960464477539063e-23*t)<2147483648?~~m:-2147483648,h=he(t=-16777216*+(0|i)+t)<2147483648?~~t:-2147483648,e[be>>2]=h,l=l+1|0):(i=he(t)<2147483648?~~t:-2147483648,w=be),e[(M+480|0)+(l<<2)>>2]=i}if(t=Bn(1,w),!((0|l)<0)){for(i=l;h=i,N[(i<<3)+M>>3]=t*+e[(M+480|0)+(i<<2)>>2],i=i-1|0,t*=5960464477539063e-23,h;);if(R=0,!((0|l)<0))for(w=(0|ae)>0?ae:0,h=l;;){for(be=w>>>0<R>>>0?w:R,ae=l-h|0,i=0,t=0;t=N[115200+(i<<3)>>3]*N[(i+h<<3)+M>>3]+t,Te=(0|i)!=(0|be),i=i+1|0,Te;);if(N[(M+160|0)+(ae<<3)>>3]=t,h=h-1|0,i=(0|l)!=(0|R),R=R+1|0,!i)break}}if(t=0,(0|l)>=0)for(i=l;h=i,i=i-1|0,t+=N[(M+160|0)+(h<<3)>>3],h;);if(N[r>>3]=y?-t:t,t=N[M+160>>3]-t,i=1,(0|l)>0)for(;t+=N[(M+160|0)+(i<<3)>>3],h=(0|i)!=(0|l),i=i+1|0,h;);N[r+8>>3]=y?-t:t,oe=M+560|0,l=7&ue,t=N[r>>3],(0|a)<0?(N[A>>3]=-t,N[A+8>>3]=-N[r+8>>3],l=0-l|0):(N[A>>3]=t,N[A+8>>3]=N[r+8>>3])}}return oe=r+48|0,l}function AA(){var t=0,A=0,r=0,a=0,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,Te=0,Oe=0,$e=0,nt=0,ht=0,vt=0,Qt=0,Ut=0,fA=0,hA=0,FA=0,YA=0,rr=0,wr=0,jr=0,Jr=0,ds=0,is=0,Qs=0,Ps=0,Rs=0,$s=0,ea=0,na=0,da=0,Ba=0,en=0,Dn=0,Gn=0;e[55925]=0,t=e[56772],e[56772]=t+1,r=e[55961],R=e[55922],ae=ki(39.89822670059037*(A=+(0|t))),M=ki(22.30530784048753*A),A=+(0|R)/50*(+(0|r)/100)*(ki(14.765485471872028*A)+(ae+M))*10,t=he(A)<2147483648?~~A:-2147483648,e[56607]=t+e[56607];e:if(!(e[55923]<=0)){for(;;){for(r=er(e[33209],0,1103515245,0),t=fe,t=zo(r=r+12345|0,t=r>>>0<12345?t+1|0:t),e[33209]=t,t=8191+((t>>>0)%16383|0)|0,e[55929]=t,rr=+(0|t),A=.75*N[28387]+rr,N[28387]=A,wr=(0|(t=e[55924]))>(0|(vt=e[55928]))?.5*A:A,is=(i=.033*+e[56652])>0?1-i:1,r=e[56650]<<2,fA=(0|(Ut=e[55921]))==1&&(0|r)>263?263:r,Qs=111136+((jr=e[56651])<<1)|0,Ps=111136+((hA=e[56658])<<1)|0,Rs=(0|hA)>0,Jr=e[55918],$s=F(Jr,40),ea=e[55925],na=N[27967],ds=e[56607],A=N[27979],be=N[27969],m=N[27970],FA=e[56780],$e=e[56654],P=N[27976],ee=N[27972],Te=N[28388],Oe=N[28389],R=e[55927],a=N[28383],y=e[55926],nt=e[55956],da=N[27975],M=N[28131],l=N[28130],h=N[28123],ue=N[28121],w=N[28122],Qt=N[28120],ht=N[28119],Ba=N[28129],en=N[28128],Dn=N[28127],Gn=sa(0*N[27968]),YA=0;;){ae=l;t:{r:switch(Ut-1|0){case 0:Te=0,l=ue*h,h=w,w=a=l+(ht*(Te=(0|t)<=2?N[111312+(t<<3)>>3]:Te)+Qt*h);break t;case 1:if(a=0,(0|t)>=(0|R)){Oe=0;break t}l=N[27965]-N[27966],N[27965]=l,a=.028*(Oe=l+Oe);break t;case 2:if(!y){nt=100,a=0;break t}nt=100,r=he(l=+(0|t)/+(0|y)*100)<2147483648?~~l:-2147483648,a=+v[110928+((0|r)%100<<1)>>1],a=A*((+v[110928+((r+1|0)%100<<1)>>1]-a)*(l-+(0|r))+a);break t;case 3:break r;default:break t}y?(nt=256,r=he(l=+(0|t)/+(0|y)*256)<2147483648?~~l:-2147483648,a=+v[111344+((0|r)%256<<1)>>1],a=A*((+v[111344+((r+1|0)%256<<1)>>1]-a)*(l-+(0|r))+a)):(nt=256,a=0)}if((0|t)>=(0|y)&&((0|ds)>0?(t=(0|$s)/(0|ds)|0,P=0,ee=0,ee=hA>>>0<=87?.001*+v[Ps>>1]:ee,P=jr>>>0<=87?.001*+v[Qs>>1]*.1:P,vt=t>>Rs,R=(0|(r=(y=(t-1|0)<=(0|fA))?t-2|0:fA))<=40?40:r,l=+v[111776+((R=y||(0|r)<40?R:fA)<<1)>>1],N[27966]=l,ue=l,l=+(0|R),N[27965]=ue*l*.333,$e=(0|(r=t-R|0))>(0|$e)?$e:r,FA=0-(r=(0|FA)<0?0-$e|0:$e)|0,ht=(l*=.00833)*l,ht*=1-(Qt=(ue=(l=pr(na*+((0|Jr)/(0|R)|0)))*Gn)+ue)-(ue=l*-l),t=(0|(y=t+r|0))!=4):(e[55930]=0,e[55931]=0,e[55932]=0,e[55933]=0,vt=4,P=0,ee=0,y=4,t=0),m=(t|=!ea)?i:m,be=t?is:be,t=0),t=t+1|0,l=a=Ba*M+(Dn*a+en*ae),M=ae,(0|(YA=YA+1|0))==4)break}if(e[55926]=y,e[55956]=nt,e[55924]=t,N[28383]=a,e[55927]=R,N[28389]=Oe,N[28388]=Te,N[27972]=ee,N[27976]=P,e[55928]=vt,e[56654]=$e,e[56780]=FA,N[27970]=m,N[27969]=be,N[28122]=w,N[28120]=Qt,N[28119]=ht,N[28123]=h,N[28121]=ue,N[28131]=M,N[28130]=a,(0|Ut)==5&&(a=6e3*((A=+(0|t)/+(0|y))+A+-1),N[28383]=a),A=a*be+N[28384]*m,N[28383]=A,N[28384]=A,(0|t)<(0|R)&&(A=P*rr+A,N[28383]=A),m=wr*N[27974],ae=A*N[27973]+m,M=0,e[55916]!=2&&(M=N[27987],w=N[27986],N[27987]=w,A=m+A*ee,N[27986]=A,m=N[28059],h=N[28058],N[28059]=h,A=m*N[28057]+(N[28055]*(M*N[27985]+(N[27983]*A+w*N[27984]))+h*N[28056]),N[28058]=A,M=N[28049],m=N[28051],w=N[28048],h=N[28047],i=N[28050],N[28051]=i,A=M*m+(h*A+w*i),N[28050]=A,M=N[28043],m=N[28041],w=N[28040],h=N[28039],i=N[28042],N[28043]=i,A=m*M+(h*A+w*i),N[28042]=A,M=N[28035],m=N[28033],w=N[28032],h=N[28031],i=N[28034],N[28035]=i,A=m*M+(h*A+w*i),N[28034]=A,M=N[28027],m=N[28025],w=N[28024],h=N[28023],i=N[28026],N[28027]=i,A=m*M+(h*A+w*i),N[28026]=A,M=N[28019],m=N[28017],w=N[28016],h=N[28015],i=N[28018],N[28019]=i,A=m*M+(h*A+w*i),N[28018]=A,M=N[28011],m=N[28009],w=N[28008],h=N[28007],i=N[28010],N[28011]=i,A=m*M+(h*A+w*i),N[28010]=A,M=N[28003],m=N[28001],w=N[28e3],h=N[27999],i=N[28002],N[28003]=i,A=m*M+(h*A+w*i),N[28002]=A,M=N[27995],m=N[27993],w=N[27992],h=N[27991],i=N[27994],N[27995]=i,M=m*M+(h*A+w*i),N[27994]=M),A=N[28385],N[28385]=ae,m=N[28075],w=N[28074],N[28075]=w,h=N[28067],i=N[28066],N[28067]=i,m=m*N[28073]+(N[28071]*ae+w*N[28072]),N[28074]=m,w=h*N[28065]+(N[28063]*ae+i*N[28064]),N[28066]=w,h=N[28081],i=N[28083],l=N[28079],a=N[28080],P=N[28082],N[28083]=P,ae=h*i+(l*(A=da*wr+ae-A)+a*P),N[28082]=ae,h=N[28091],i=N[28089],l=N[28087],a=N[28088],P=N[28090],N[28091]=P,h=i*h+(l*A+a*P),N[28090]=h,i=N[28099],l=N[28097],a=N[28095],P=N[28096],ee=N[28098],N[28099]=ee,i=l*i+(a*A+P*ee),N[28098]=i,l=N[28107],a=N[28105],P=N[28103],ee=N[28104],be=N[28106],N[28107]=be,l=a*l+(P*A+ee*be),N[28106]=l,a=N[28115],P=N[28113],ee=N[28111],be=N[28112],Te=N[28114],N[28115]=Te,a=P*a+(ee*A+be*Te),N[28114]=a,P=N[28139],ee=N[28137],be=N[28136],Te=N[28135],Oe=N[27971],ue=N[28138],N[28139]=ue,A=ee*P+(Te*(A*Oe-(a-(l-(i-(h-(ae-(M+m+w)))))))+be*ue),N[28138]=A,A=N[27977]*(A*+e[50779]),a=+(0|(t=he(A)<2147483648?~~A:-2147483648)),(0|(t=e[50776]))<e[50773]&&(y=t+1|0,r=e[50772],(R=e[50774])?(e[50776]=y,t=F(R,g[t+r|0])):(R=d[t+r|0],r=g[r+y|0],e[50776]=t+2,t=R|r<<8),a+=+((0|F(e[50775],(0|F(t,e[50780]))/1024|0))/40|0)),(0|(t=e[55962]))<=63&&(e[55962]=t+1,a=a*+(0|t)*.015625),(0|(t=e[55963]))<=0||(t=t-1|0,e[55963]=t,a=a*+(0|t)*.015625,t||(e[55962]=0)),r=(t=e[51293])+1|0,e[51293]=r,y=F(v[205184+(t<<1)>>1],e[50755])>>8,t=he(a)<2147483648?~~a:-2147483648,(0|r)>=5500&&(e[51293]=0),r=e[51290],e[51290]=r+1,t=(0|(t=(0|(t=t+y|0))<=-32768?-32768:t))>=32767?32767:t,g[0|r]=t,r=e[51290],e[51290]=r+1,g[0|r]=t>>>8,y=(r=e[51292])+1|0,e[51292]=y,v[205184+(r<<1)>>1]=t,(0|y)>=5500&&(e[51292]=0),y=1,e[56606]=e[56606]+1,re[54046]<e[51290]+2>>>0)break e;if(t=e[55925]+1|0,e[55925]=t,!((0|t)<e[55923]))break}y=0}return y}function iA(t,A,r,a,i,l,h){var m,w,M,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,Te=0,Oe=0,$e=0,nt=0,ht=0,vt=0,Qt=0,Ut=0,fA=0,hA=0;oe=m=oe-80|0,e[m+76>>2]=A,M=m+55|0,w=m+56|0;e:{t:{r:{a:{n:for(;;){if(R=A,(2147483647^Te)<(0|y))break a;Te=y+Te|0;c:{o:{f:{if(P=d[0|(y=R)])for(;;){l:{i:if(A=255&P){if((0|A)!=37)break l;for(P=y;;){if(d[P+1|0]!=37){A=P;break i}if(y=y+1|0,ae=d[P+2|0],P=A=P+2|0,(0|ae)!=37)break}}else A=y;if((0|(y=y-R|0))>(0|(Ut=2147483647^Te)))break a;if(t&&aa(t,R,y),y)continue n;e[m+76>>2]=A,y=A+1|0,Oe=-1,d[A+2|0]!=36|g[A+1|0]-48>>>0>=10||(Oe=g[A+1|0]-48|0,ht=1,y=A+3|0),e[m+76>>2]=y,ue=0;i:if((A=(P=g[0|y])-32|0)>>>0>31)be=y;else if(be=y,75913&(A=1<<A))for(;;){if(be=y+1|0,e[m+76>>2]=be,ue|=A,(A=(P=g[y+1|0])-32|0)>>>0>=32)break i;if(y=be,!(75913&(A=1<<A)))break}i:if((0|P)!=42){if((0|($e=Zo(m+76|0)))<0)break a;P=e[m+76>>2]}else{if(d[be+2|0]!=36|g[be+1|0]-48>>>0>=10){if(ht)break f;if(P=be+1|0,!t){e[m+76>>2]=P,ht=0,$e=0;break i}A=e[r>>2],e[r>>2]=A+4,ht=0,A=e[A>>2]}else e[((g[be+1|0]<<2)+i|0)-192>>2]=10,P=be+3|0,ht=1,A=e[((g[be+1|0]<<3)+a|0)-384>>2];if(e[m+76>>2]=P,$e=A,(0|A)>=0)break i;$e=0-$e|0,ue|=8192}if(y=0,ee=-1,d[0|P]==46)if(d[P+1|0]!=42)e[m+76>>2]=P+1,ee=Zo(m+76|0),A=e[m+76>>2],Qt=1;else{if(d[P+3|0]!=36|g[P+2|0]-48>>>0>=10){if(ht)break f;A=P+2|0,ee=0,t&&(P=e[r>>2],e[r>>2]=P+4,ee=e[P>>2])}else e[((g[P+2|0]<<2)+i|0)-192>>2]=10,A=P+4|0,ee=e[((g[P+2|0]<<3)+a|0)-384>>2];e[m+76>>2]=A,Qt=~ee>>>31|0}else A=P,Qt=0;for(;;){if(nt=y,be=28,ae=A,(y=g[0|A])-123>>>0<4294967238)break r;if(A=ae+1|0,!((y=d[123983+(y+F(nt,58)|0)|0])-1>>>0<8))break}e[m+76>>2]=A;i:{h:{if((0|y)!=27){if(!y)break r;if((0|Oe)>=0){e[(Oe<<2)+i>>2]=y,y=e[4+(P=(Oe<<3)+a|0)>>2],e[m+64>>2]=e[P>>2],e[m+68>>2]=y;break h}if(!t)break c;Wr(m- -64|0,y,r,h);break i}if((0|Oe)>=0)break r}if(y=0,!t)continue n}P=-65537&ue,ue=8192&ue?P:ue,Oe=0,vt=84065,be=w;i:{h:{b:{m:{C:{p:{x:{w:{B:{O:{Y:{R:{M:{y:{G:{switch(y=g[0|ae],(y=nt&&(15&y)==3?-33&y:y)-88|0){case 11:break i;case 9:case 13:case 14:case 15:break h;case 27:break x;case 12:case 17:break O;case 23:break Y;case 0:case 32:break R;case 24:break M;case 22:break y;case 29:break G;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 25:case 26:case 28:case 30:case 31:break o}switch(y-65|0){case 0:case 4:case 5:case 6:break h;case 2:break C;case 1:case 3:break o}if((0|y)==83)break p;break o}P=e[m+64>>2],ae=e[m+68>>2],vt=84065;break B}y=0;y:switch(255&nt){case 0:case 1:case 6:e[e[m+64>>2]>>2]=Te;continue n;case 2:R=e[m+64>>2],e[R>>2]=Te,e[R+4>>2]=Te>>31;continue n;case 3:v[e[m+64>>2]>>1]=Te;continue n;case 4:g[e[m+64>>2]]=Te;continue n;case 7:break y;default:continue n}R=e[m+64>>2],e[R>>2]=Te,e[R+4>>2]=Te>>31;continue n}ee=ee>>>0<=8?8:ee,ue|=8,y=120}if(R=w,fA=32&y,(P=e[m+64>>2])|(ae=e[m+68>>2]))for(;g[0|(R=R-1|0)]=fA|d[124512+(15&P)|0],hA=!ae&P>>>0>15|!!(0|ae),nt=ae,ae=ae>>>4|0,P=(15&nt)<<28|P>>>4,hA;);if(!(e[m+64>>2]|e[m+68>>2])|!(8&ue))break w;vt=84065+(y>>>4|0)|0,Oe=2;break w}if(y=w,ae=R=e[m+68>>2],R|(P=e[m+64>>2]))for(;g[0|(y=y-1|0)]=7&P|48,nt=!ae&P>>>0>7|!!(0|ae),ae=(R=ae)>>>3|0,P=(7&R)<<29|P>>>3,nt;);if(R=y,!(8&ue))break w;ee=(0|(y=w-R|0))<(0|ee)?ee:y+1|0;break w}P=e[m+64>>2],ae=y=e[m+68>>2],(0|y)<0?(ae=R=0-(ae+!!(0|P)|0)|0,P=0-P|0,e[m+64>>2]=P,e[m+68>>2]=R,Oe=1,vt=84065):2048&ue?(Oe=1,vt=84066):vt=(Oe=1&ue)?84067:84065}R=bn(P,ae,w)}if((0|ee)<0&&Qt)break a;if(ue=Qt?-65537&ue:ue,!(ee|!!((y=e[m+64>>2])|(P=e[m+68>>2])))){R=w,ee=0;break o}ee=(0|(y=!(y|P)+(w-R|0)|0))<(0|ee)?ee:y;break o}if(be=(y=(y=Nn(R=(y=e[m+64>>2])||84639,0,ae=ee>>>0>=2147483647?2147483647:ee))?y-R|0:ae)+R|0,(0|ee)>=0){ue=P,ee=y;break o}if(ue=P,ee=y,d[0|be])break a;break o}if(ee){P=e[m+64>>2];break m}y=0,ca(t,32,$e,0,ue);break b}e[m+12>>2]=0,e[m+8>>2]=e[m+64>>2],P=m+8|0,e[m+64>>2]=P,ee=-1}y=0;m:{for(;;){if(!(R=e[P>>2]))break m;if(!((R=(0|(ae=Xn(m+4|0,R)))<0)|ae>>>0>ee-y>>>0)){if(P=P+4|0,ee>>>0>(y=y+ae|0)>>>0)continue;break m}break}if(R)break t}if(be=61,(0|y)<0)break r;if(ca(t,32,$e,y,ue),y)for(be=0,P=e[m+64>>2];;){if(!(R=e[P>>2])||(be=(R=Xn(m+4|0,R))+be|0)>>>0>y>>>0)break b;if(aa(t,m+4|0,R),P=P+4|0,!(y>>>0>be>>>0))break}else y=0}ca(t,32,$e,y,8192^ue),y=(0|y)<(0|$e)?$e:y;continue n}if((0|ee)<0&&Qt)break a;if(be=61,(0|(y=0|Ar[0|l](t,N[m+64>>3],$e,ee,ue,y)))>=0)continue n;break r}g[m+55|0]=e[m+64>>2],ee=1,R=M,ue=P;break o}P=d[y+1|0],y=y+1|0}if(t)break e;if(!ht)break c;for(y=1;;){if(t=e[(y<<2)+i>>2]){if(Wr((y<<3)+a|0,t,r,h),Te=1,(0|(y=y+1|0))!=10)continue;break e}break}if(Te=1,y>>>0>=10)break e;for(;;){if(e[(y<<2)+i>>2])break f;if((0|(y=y+1|0))==10)break}break e}be=28;break r}if((0|(P=(0|ee)>(0|(ae=be-R|0))?ee:ae))>(2147483647^Oe))break a;if(be=61,(0|Ut)<(0|(y=(0|(ee=P+Oe|0))<(0|$e)?$e:ee)))break r;ca(t,32,y,ee,ue),aa(t,vt,Oe),ca(t,48,y,ee,65536^ue),ca(t,48,P,ae,0),aa(t,R,ae),ca(t,32,y,ee,8192^ue);continue}break}Te=0;break e}be=61}e[56798]=be}Te=-1}return oe=m+80|0,Te}function Jt(t,A,r,a,i,l,h,m,w){var M,y,P,R=0,ee=0,ae=0,ue=0,be=0,Te=0,Oe=0,$e=0,nt=0,ht=0,vt=0,Qt=0,Ut=0,fA=0,hA=0,FA=0,YA=0,rr=0,wr=0,jr=0,Jr=0,ds=0,is=0,Qs=0,Ps=0,Rs=0,$s=0,ea=0,na=0,da=0,Ba=0;oe=M=oe-96|0,vt=65535&w,be=-2147483648&(i^w),FA=Oe=65535&i;e:{if(!((y=w>>>16&32767)-32767>>>0>4294934529&(P=i>>>16&32767)-32767>>>0>=4294934530)){if(R=a,!(!a&(0|($e=nt=2147483647&i))==2147418112?!(A|r):$e>>>0<2147418112)){ae=a,be=32768|i;break e}if(!(!(i=m)&(0|(Te=nt=2147483647&w))==2147418112?!(l|h):Te>>>0<2147418112)){ae=m,be=32768|w,A=l,r=h;break e}if(!(A|R|2147418112^$e|r)){if(!(i|l|h|Te)){be=2147450880,A=0,r=0;break e}be|=2147418112,A=0,r=0;break e}if(!(i|l|2147418112^Te|h)){if(i=A|R,a=r|$e,A=0,r=0,!(a|i)){be=2147450880;break e}be|=2147418112;break e}if(!(A|R|r|$e)){A=0,r=0;break e}if(!(i|l|h|Te)){A=0,r=0;break e}(0|$e)==65535|$e>>>0<65535&&(nt=(R=!(a|Oe))<<6,i=ce(w=R?A:a)+32|0,Us(M+80|0,A,r,a,Oe,(w=nt+((0|(w=ce(R?r:Oe)))==32?i:w)|0)-15|0),ht=16-w|0,a=e[M+88>>2],FA=e[M+92>>2],r=e[M+84>>2],A=e[M+80>>2]),Te>>>0>65535||(Oe=(w=!(m|vt))<<6,R=ce(i=w?l:m)+32|0,Us(M- -64|0,l,h,m,vt,(i=Oe+((0|(i=ce(w?h:vt)))==32?R:i)|0)-15|0),ht=16+(ht-i|0)|0,m=e[M+72>>2],vt=e[M+76>>2],l=e[M+64>>2],h=e[M+68>>2])}if(i=l,l=h<<15|l>>>17,Rs=r,nt=er(Qt=-32768&(w=i<<15),i=0,r,0),hA=i=fe,$s=l,$e=A,A=er(l,0,A,0),l=fe+i|0,r=A>>>0>(w=A+nt|0)>>>0?l+1|0:l,R=0,A=er($e,ee,Qt,ee),i=(l=w)+fe|0,Oe=i=A>>>0>(Te=R+A|0)>>>0?i+1|0:i,ea=(0|l)==(0|i)&R>>>0>Te>>>0|i>>>0<l>>>0,na=a,Ut=er(Qt,ee,a,0),da=fe,A=er(Rs,ee,$s,ee),R=fe+da|0,R=A>>>0>(fA=A+Ut|0)>>>0?R+1|0:R,A=vt<<15|m>>>17,a=er(YA=m<<15|h>>>17,0,$e,ee),l=fe+R|0,wr=l=a>>>0>(rr=a+fA|0)>>>0?l+1|0:l,l=(a=(0|r)==(0|hA)&w>>>0<nt>>>0|r>>>0<hA>>>0)+l|0,vt=l=r>>>0>(jr=r+rr|0)>>>0?l+1|0:l,h=jr,r=l,FA=er(Qt,ee,Jr=65536|FA,ue),Ba=fe,a=er(na,ae,$s,ee),i=fe+Ba|0,w=i=a>>>0>(ds=a+FA|0)>>>0?i+1|0:i,A=er(is=-2147483648|A,0,$e,ee),l=fe+i|0,l=A>>>0>(Qs=A+ds|0)>>>0?l+1|0:l,A=er(YA,ae,Rs,ee),Ps=l,l=l+fe|0,nt=A>>>0>(hA=A+Qs|0)>>>0?l+1|0:l,i=r+hA|0,l=Qt=(A=0)>>>0>($e=A+h|0)>>>0?i+1|0:i,r=(A=$e+ea|0)>>>0<$e>>>0?l+1|0:l,ht=((P+y|0)+ht|0)-16383|0,a=er(is,ae,Rs,ee),m=fe,i=er(Jr,ae,$s,ee),l=fe+m|0,ue=(0|m)==(0|(l=i>>>0>(h=i+a|0)>>>0?l+1|0:l))&a>>>0>h>>>0|l>>>0<m>>>0,m=l,i=er(YA,ae,na,ae),l=fe+l|0,i=l=(a=i+h|0)>>>0<i>>>0?l+1|0:l,h=(0|l)==(0|m)&a>>>0<h>>>0|l>>>0<m>>>0,l=0,l=(m=h)>>>0>(h=h+ue|0)>>>0?1:l,m=h,h=er(is,ae,Jr,ae),l=fe+l|0,ea=m=m+h|0,h=h>>>0>m>>>0?l+1|0:l,m=a,ee=i,i=(0|R)==(0|da)&Ut>>>0>fA>>>0|R>>>0<da>>>0,l=0,i=((ue=R=(0|R)==(0|wr)&fA>>>0>rr>>>0|R>>>0>wr>>>0)>>>0>(R=i+R|0)>>>0?1:l)+ee|0,l=h,ue=i=(a=a+R|0)>>>0<R>>>0?i+1|0:i,Ut=a,i=a=(0|i)==(0|ee)&a>>>0<m>>>0|i>>>0<ee>>>0,R=a=a+ea|0,h=l=i>>>0>a>>>0?l+1|0:l,i=er(YA,ae,Jr,ae),ee=fe,a=er(is,ae,na,ae),l=fe+ee|0,a=l=a>>>0>(m=a+i|0)>>>0?l+1|0:l,i=(l=(0|ee)==(0|l)&i>>>0>m>>>0|l>>>0<ee>>>0)+h|0,h=i=a>>>0>(fA=a+R|0)>>>0?i+1|0:i,l=m+ue|0,i=l=(a=(i=0)+Ut|0)>>>0<i>>>0?l+1|0:l,m=(0|ue)==(0|l)&a>>>0<Ut>>>0|l>>>0<ue>>>0,l=h,l=(h=m+(ee=fA)|0)>>>0<m>>>0?l+1|0:l,Ut=h,m=a,R=i,i=(a=(a=(a=(0|w)==(0|Ba)&FA>>>0>ds>>>0|w>>>0<Ba>>>0)+(w=(0|w)==(0|Ps)&ds>>>0>Qs>>>0|w>>>0>Ps>>>0)|0)+(i=(0|nt)==(0|Ps)&hA>>>0<Qs>>>0|nt>>>0<Ps>>>0)|0)+R|0,l=h=l,R=h=(m=(0|(i=(a=w=(ue=nt)+m|0)>>>0<ue>>>0?i+1|0:i))==(0|R)&m>>>0>a>>>0|i>>>0<R>>>0)+Ut|0,h=l=m>>>0>h>>>0?l+1|0:l,m=a,l=0,w=i,i=i+((ee=ue=(0|vt)==(0|Qt)&$e>>>0<jr>>>0|vt>>>0>Qt>>>0)>>>0>(ue=ue+((0|vt)==(0|wr)&rr>>>0>jr>>>0|vt>>>0<wr>>>0)|0)>>>0?1:l)|0,l=h,w=l=(h=m=(0|(i=(a=a+ue|0)>>>0<ue>>>0?i+1|0:i))==(0|w)&a>>>0<m>>>0|i>>>0<w>>>0)>>>0>(m=m+R|0)>>>0?l+1|0:l,65536&l?ht=ht+1|0:(R=Oe>>>31|0,l=w<<1|m>>>31,m=m<<1|i>>>31,w=l,l=i<<1|a>>>31,a=a<<1|r>>>31,i=l,l=Oe<<1|Te>>>31,Te<<=1,Oe=l,l=r<<1|A>>>31,A=A<<1|R,r=l|(h=0)),(0|ht)>=32767)be|=2147418112,A=0,r=0;else{t:{if((0|ht)<=0){if((h=1-ht|0)>>>0<=127){Us(M+48|0,Te,Oe,A,r,l=ht+127|0),Us(M+32|0,a,i,m,w,l),Ta(M+16|0,Te,Oe,A,r,h),Ta(M,a,i,m,w,h),Te=e[M+32>>2]|e[M+16>>2]|!!(e[M+48>>2]|e[M+56>>2]|e[M+52>>2]|e[M+60>>2]),Oe=e[M+36>>2]|e[M+20>>2],A=e[M+40>>2]|e[M+24>>2],r=e[M+44>>2]|e[M+28>>2],a=e[M>>2],i=e[M+4>>2],h=e[M+8>>2],l=e[M+12>>2];break t}A=0,r=0;break e}h=m,l=65535&w|ht<<16}ae|=h,be|=l,(!A&(0|r)==-2147483648?!(Te|Oe):(0|r)>0|(0|r)>=0)?A|Te|-2147483648^r|Oe?(A=a,r=i):(R=be,be=(a=(0|(l=i))==(0|(r=(r=A=1&a)>>>0>(A=A+a|0)>>>0?l+1|0:l))&A>>>0<a>>>0|r>>>0<l>>>0)>>>0>(ae=a+ae|0)>>>0?R+1|0:R):(a=(0|i)==(0|(r=(A=a+1|0)?i:i+1|0))&A>>>0<a>>>0|r>>>0<i>>>0,i=be,be=(ae=a+ae|0)>>>0<a>>>0?i+1|0:i)}}e[t>>2]=A,e[t+4>>2]=r,e[t+8>>2]=ae,e[t+12>>2]=be,oe=M+96|0}function LA(t,A,r,a,i,l,h){var m,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,Te=0,Oe=0,$e=0,nt=0,ht=0,vt=0;oe=m=oe-480|0,e[m+476>>2]=0,e[m+456>>2]=0,e[m+460>>2]=0,e[m+448>>2]=0,e[m+452>>2]=0,e[m+440>>2]=0,e[m+444>>2]=0,e[m+432>>2]=0,e[m+436>>2]=0,w=0;e:if(e[t+684>>2]){for(ae=h?e[h>>2]:ae;y=d[A+w|0],g[(m+112|0)+w|0]=y,M=w+1|0,y&&(y=w>>>0<158,w=M,y););if(g[M+(m+112|0)|0]=0,!((Te=268435456&l)|!(8&e[47197]))){M=0;t:if(223&(y=d[0|A]))for(w=0;;){if(g[(m+272|0)+w|0]=y,!(223&(y=d[(M=w+1|0)+A|0])))break t;if(P=w>>>0<118,w=M,!P)break}g[(w=m+272|0)+M|0]=0,e[m+48>>2]=w,fs(e[47195],(0|l)>=0?87019:86877,m+48|0)}e[m+464>>2]=A,e[t+8208>>2]=0,e[t+8212>>2]=0,i&&(g[0|i]=0);t:{r:if(223&(w=d[0|A]))for(Oe=536870912&l,$e=4096&l,nt=m+105|0,M=A,y=0;;){P=ur(m+476|0,M),be=!!(0|Xr(e[m+476>>2]))+be|0,ee=d[7668+(w=(R=255&w)+t|0)|0];a:if(!((ue=e[m+476>>2])-48>>>0<10|ue-2406>>>0<10)|(be?d[t+170|0]:0)){n:if((y=e[m+476>>2]-e[t+600>>2]|0)>>>0>127||!(y=e[6192+((y<<2)+t|0)>>2])){if(ee){for(ue=5168+((R<<2)+t|0)|0,ee=ee+(w=d[w+7924|0])|0,ht=R|d[M+1|0]<<8,y=0;e[7184+(M=(w<<2)+t|0)>>2]==(0|ht)&&(e[m+472>>2]=e[m+464>>2],gA(t,m+472|0,A,2,e[M+6704>>2],m+432|0,l,ae),(0|(M=e[m+432>>2]))>0&&(M=M+35|0,e[m+432>>2]=M),y=1,gA(t,m+464|0,A,1,e[ue>>2],m+448|0,l,ae),e[m+448>>2]>(0|M)||(M=e[m+444>>2],e[m+456>>2]=e[m+440>>2],e[m+460>>2]=M,M=e[m+436>>2],e[m+448>>2]=e[m+432>>2],e[m+452>>2]=M,e[m+464>>2]=e[m+472>>2])),ee>>>0>(w=w+1|0)>>>0;);if(y)break n}c:{o:{if(!(w=e[5168+((R<<2)+t|0)>>2])){if(gA(t,m+464|0,A,0,e[t+5168>>2],m+448|0,l,ae),e[m+448>>2])break c;if(16&d[188808])break o;if(y=ur(m+468|0,R=(M=e[m+464>>2])-1|0),w=e[m+468>>2],!(e[t+600>>2]<=0|(0|w)>577)){if(ji(w)){e[m+32>>2]=21,uA(r,87049,m+32|0);break t}w=e[m+468>>2]}if((0|w)==57384&&((0|(ee=e[t+92>>2]))<=e[47352]||(e[47352]=ee)),_i(w)&&((0|(w=e[t+72>>2]))<=e[47352]||(e[47352]=w)),!((ee=(w=e[m+468>>2])-192|0)>>>0>413)&&(ee=d[ee+94240|0])&&(y=y-1|0,!(d[M-2|0]==32&d[y+M|0]==32))){for(e[m+472>>2]=R,g[0|R]=ee;P=d[(w=M)+y|0],g[0|w]=P,M=w+1|0,(0|P)!=32;);if((0|y)>0&&kA(w,32,y),e[t+24>>2]&&!((0|cn(94222,e[m+468>>2]))<=0)){e[m+464>>2]=R,y=0;break a}y=0,g[0|r]=0,e[m+464>>2]=A,e[t+8208>>2]=0,e[t+8212>>2]=0;break a}if(!(w=Ra(w))||(0|(M=e[w+4>>2]))==e[t+600>>2])break o;if((0|M)==e[t+188>>2]){e[m+4>>2]=ln(m- -64|0,e[t+192>>2]),e[m>>2]=21,uA(r,87218,m);break t}if(!(4&d[w+16|0]))break o;e[m+20>>2]=ln(m- -64|0,e[w+12>>2]),e[m+16>>2]=21,uA(r,87218,m+16|0);break t}if(gA(t,m+464|0,A,1,w,m+448|0,l,ae),e[m+448>>2])break c}o:if(!((w=e[m+476>>2])-768>>>0<112)){if(Xr(w)){if(g[(P+e[m+464>>2]|0)-1|0]<33&(0|be)<=1)break o;if(g[0|r]=0,!h)break r;e[h>>2]=4096|e[h>>2];break r}fr(t,e[m+476>>2],-1,m+272|0,0),d[m+272|0]&&(e[m+448>>2]=1,e[m+452>>2]=m+272)}e[m+464>>2]=(P+e[m+464>>2]|0)-1;break n}e[t+288>>2]=0}else gA(t,m+464|0,A,P,y,m+448|0,l,ae);if(M=(w=e[m+452>>2])||86135,e[m+452>>2]=M,y=0,!(e[m+448>>2]<=0)){if(w=1|e[m+456>>2],(0|l)<0)break e;if(!(d[0|M]!=21|$e)){BA(r,M);break t}if(!(!(8&e[47197])|Te))n:if(w=e[47195],(0|(P=e[w+76>>2]))>=0&(!P|e[56823]!=(-1073741825&P)))R=e[(P=w+76|0)>>2],e[P>>2]=R||1073741823,e[w+80>>2]==10||(0|(R=e[w+20>>2]))==e[w+16>>2]?go(w):(e[w+20>>2]=R+1,g[0|R]=10),e[P>>2]=0;else{if(e[w+80>>2]!=10&&(0|(P=e[w+20>>2]))!=e[w+16>>2]){e[w+20>>2]=P+1,g[0|P]=10;break n}go(w)}if(P=-32769&(w=e[m+456>>2]),e[m+456>>2]=P,!(!i|!P|(1024&w?Oe:0))){t=e[m+464>>2],BA(i,M),w=P|(vt=(r=t)-sr(A,t=m+112|0,CA(t))|0,(1151&w)==1024?vt:0);break e}(w=e[m+460>>2])&&(g[0|w]=69),wi(t,r,a,M)}}else g[m+104|0]=95,sr(nt,M,P),w=1,g[105+(m+P|0)|0]=0,vA(t,m+104|0,m- -64|0),y-1>>>0<=4294967293&&(w=CA(w=m- -64|0)+w|0,g[0|w]=11,g[w+1|0]=0,w=0),wi(t,r,a,m- -64|0),e[m+464>>2]=M+P,y=w;if(M=e[m+464>>2],!(223&(w=d[0|M])))break}sr(A,t=m+112|0,CA(t))}w=0}return oe=m+480|0,w}function Lr(t,A){var r,a=0,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,Te=0,Oe=0,$e=0,nt=0,ht=0,vt=0,Qt=0,Ut=0;oe=r=oe-2976|0,e[A>>2]=1,a=e[t+20>>2],e[(m=r+2960|0)>>2]=e[t+16>>2],e[m+4>>2]=a,a=e[t+12>>2],e[(m=r+2952|0)>>2]=e[t+8>>2],e[m+4>>2]=a,a=e[t+4>>2],e[r+2944>>2]=e[t>>2],e[r+2948>>2]=a,e[50303]||QA();e:if(t=e[r+2948>>2],d[0|t]&&t||((t=e[r+2944>>2])||(t=(t=e[r+2952>>2])||85055,e[r+2944>>2]=t),Zr(a=r+80|0,t,60),pn(a,0),!(l=ra(201216,a))||(e[r+2948>>2]=e[l+4>>2]+1,d[r+2958|0]|d[r+2956|0]|d[r+2957|0]))){be=r+1536|0,oe=ae=oe-336|0;t:if(!(!(t=e[4+(ue=r+2944|0)>>2])|!d[0|t])){if((0|(Te=CA(t)))>=0){for(a=Te>>>0>=79?79:Te,y=1;t=or(g[e[ue+4>>2]+i|0]),g[(ae+256|0)+i|0]=t,y=((255&t)==45)+y|0,t=(0|a)!=(0|i),i=i+1|0,t;);if((0|y)!=1)break t}y=1}if((0|(P=e[50303]))<=0)e[be>>2]=0,t=0;else{for(m=(0|y)>=0;;){M=e[201216+(nt<<2)>>2];t:if(la(e[M+8>>2],88032,3)){if((t=e[ue+4>>2])&&la(t,91687,3)){if(m){t=100;r:if(y){if(a=0,i=e[M+4>>2],!(Oe=d[0|i])){if(!la(ae+256|0,90013,9))break r;break t}for(;;){for(ht=1,w=i+1|0,$e=1,vt=0,i=0;(0|i)<(0|Te)&&(0|(t=g[(ae+256|0)+i|0]))!=45||(t=0),vt=((R=(0|(ee=d[i+w|0]))==45)&!!(0|($e=(R?0:ee)<<24>>24==(0|t)?$e:0)))+vt|0,i=i+1|0,ht=R+ht|0,ee;);if(i=i+w|0,(R=$e+vt|0)&&(a=(0|(t=F((w=(0|(t=y-R|0))<=0?5:5-t|0)-((0|(t=ht-R|0))>0?t:0)|0,100)-(Oe<<24>>24<<1)|0))>(0|a)?t:a),!(Oe=d[0|i]))break}if(!(t=a))break t}(a=e[ue>>2])&&(t=qr(a,e[M>>2])?qr(a,e[M+8>>2])?t:t+400|0:t+500|0),((i=d[ue+12|0])-1&255)>>>0>1||((a=d[M+12|0])-1&255)>>>0>1||(t=(0|a)!=(0|i)?t-50|0:t+50|0),i=d[ue+13|0],t=d[M+12|0]!=2|i>>>0>12?t:d[M+13|0]>12?t+5|0:t,(a=d[M+13|0])&&((a=((i?F(i,100):3e3)>>>0)/(a>>>0)|0)>>>0<=99&&(a=1e4/(a>>>0)|0),t=(w=t)+((t=5-(((a-100&65535)>>>0)/10|0)|0)>>31&t)|0,t=i?t+10|0:t),t=(0|t)<=1?1:t}else{if(la(e[M+8>>2],ae+256|0,Te))break t;t=100}e[be+(h<<2)>>2]=M,e[M+16>>2]=t}else e[be+(h<<2)>>2]=M;h=h+1|0}if((0|P)==(0|(nt=nt+1|0)))break}e[be+(h<<2)>>2]=0,t=0,h&&(fi(be,h,8),t=h)}if(oe=ae+336|0,y=t,t||(e[A>>2]=0,t=ra(201216,85055),e[r+1536>>2]=t,y=!!(0|t)),A=d[r+2957|0],m=2,(0|(t=d[r+2956|0]))!=2&&(m=2,(A-1&255)>>>0<12||(Ut=(0|t)!=1,m=(0|t)==1)),P=(h=e[132136+(m<<2)>>2])+(ee=A>>>0<60)|0,t=0,(0|y)>0)for(a=0;;){l=e[(r+1536|0)+(Qt<<2)>>2];t:{r:{a:{if(Ut){if(ee||(A=0,a))break r}else{if(A=d[l+12|0],a|ee)break a;A=(0|A)!=(0|m)}if(i=0,A|d[l+13|0]<60)break t;break r}if((0|A)!=(0|m)){i=a;break t}}e[(r+80|0)+(a<<2)>>2]=l,i=a+1|0}t:if(d[l+15|0]){if(R=0,A=t,a=i,!((0|t)>11))for(;;){if((i=d[0|P])||(P=h,i=d[0|h]),t=e[l+12>>2],w=F(A,24)+202624|0,e[w+8>>2]=e[l+8>>2],e[w+12>>2]=t,t=e[l+4>>2],e[w>>2]=e[l>>2],e[w+4>>2]=t,t=e[l+20>>2],e[w+16>>2]=e[l+16>>2],e[w+20>>2]=t,g[w+14|0]=i,e[(r+80|0)+(a<<2)>>2]=w,P=P+1|0,a=a+1|0,t=A+1|0,(R=R+1|0)>>>0>=d[l+15|0])break t;if(i=(0|A)<11,A=t,!i)break}}else a=i;if((0|(Qt=Qt+1|0))==(0|y))break}else{if(!l)break e;a=0}t:if(!(!(i=d[0|P])|(0|t)>=12))for(;;){if(A=e[l+12>>2],h=F(t,24)+202624|0,e[h+8>>2]=e[l+8>>2],e[h+12>>2]=A,A=e[l+4>>2],e[h>>2]=e[l>>2],e[h+4>>2]=A,A=e[l+20>>2],e[h+16>>2]=e[l+16>>2],e[h+20>>2]=A,g[h+14|0]=i,e[(r+80|0)+(a<<2)>>2]=h,a=a+1|0,!(i=d[0|(P=P+1|0)]))break t;if(A=(0|t)<11,t=t+1|0,!A)break}a?(t=e[(r+80|0)+(d[r+2958|0]%(0|a)<<2)>>2],(A=d[t+14|0])?(g[202976]=0,e[r+48>>2]=47,uA(r+2971|0,91351,r+48|0),g[r+2971|0]=0,A>>>0<=9?(e[r+20>>2]=A,e[r+16>>2]=r+2971,uA(202976,91378,r+16|0)):(e[r+36>>2]=A-10,e[r+32>>2]=r+2971,uA(202976,91503,r+32|0)),t=e[t+8>>2],e[r+4>>2]=202976,e[r>>2]=t,t=202912,uA(202912,87760,r)):t=e[t+8>>2]):t=0}else{if(t=e[l+8>>2],!d[202976])break e;e[r+64>>2]=t,e[r+68>>2]=202976,t=202912,uA(202912,87760,r- -64|0)}return oe=r+2976|0,t}function Yr(t,A,r,a,i){var l,h,m=0,w=0,M=0,y=0,P=0,R=0,ee=0;oe=l=oe-464|0,g[l+432|0]=0,g[l+368|0]=0,g[l+304|0]=0,g[l+292|0]=0,P=(0|A)/10|0,m=e[33273];e:{if(!(h=2&a)|e[33272]!=2){ee=32&a?113:111,y=1&a,R=A-F(P,10)|0;t:{r:{a:{n:{c:{o:{f:{l:if(d[0|m])m=0;else{i:{if(8&a){if(e[l+288>>2]=A,uA(w=l+452|0,91198,l+288|0),m=vA(t,w,l+304|0)){w=0;break l}e[l+272>>2]=A,uA(w=l+452|0,91314,l+272|0),m=vA(t,w,l+304|0),w=0}else{if(!y)break i;if(M=BA(l+432|0,133104),4&a){if(e[l+260>>2]=ee,e[l+256>>2]=A,uA(w=l+452|0,91324,l+256|0),m=vA(t,w,l+304|0),d[133116]&&m)break f;if(w=m,m)break l}e[l+244>>2]=ee,e[l+240>>2]=A,uA(w=l+452|0,91384,l+240|0),w=m=vA(t,w,l+304|0)}if(m)break l}i:{if(h){if(!(1&g[133096]))break i;e[l+208>>2]=A,uA(m=l+452|0,91498,l+208|0),m=vA(t,m,l+304|0)}else M=e[t+108>>2],e[l+224>>2]=A,uA(m=l+452|0,(0|r)>=2?91700:(262144&M)>>>18|0?91534:91700,l+224|0),m=vA(t,m,l+304|0);if(m)break l}!y|!(32&d[t+109|0])?(e[l+192>>2]=A,uA(m=l+452|0,91766,l+192|0),m=vA(t,m,l+304|0)):m=0}if(!(16&a)|(0|A)>9)break c;m=w;break o}if(BA(M,133116),!(16&a)|(0|A)>9)break n}vA(t,88875,l+368|0);break r}if(!m)break a;m=w}g[l+368|0]=0;break r}a:if(y&&(e[l+180>>2]=ee,e[l+176>>2]=P,uA(m=l+452|0,91846,l+176|0),vA(t,m,l+368|0))){if(w=1,!R|!(16&d[t+109|0]))break a;fa(l+368|0,133104)}else w||(e[l+160>>2]=P,uA(w=l+452|0,512&a?91936:92016,l+160|0),vA(t,w,l+368|0),w=0);if(m=R,d[l+368|0]||(m=R,16&d[t+106|0]&&(e[l+144>>2]=254&P,uA(m=l+452|0,92016,l+144|0),vA(t,m,l+368|0),m=(0|A)%20|0)),g[l+304|0]=0,P=m,(0|m)<=0)m=w;else{if(h&&(m=e[33273],d[0|m])){BA(l+304|0,m),g[l+432|0]=0,M=y;break t}if(M=0,8&a&&(e[l+128>>2]=P,uA(a=l+452|0,91314,l+128|0),M=vA(t,a,l+304|0)),!y|16&d[t+104|0]||(e[l+116>>2]=ee,e[l+112>>2]=P,uA(a=l+452|0,91384,l+112|0),w=(M=vA(t,a,l+304|0))?1:w),m=w,!M){a:{if(!h|!(1&e[33274])){if(!(16&d[t+104|0])&&h)break a;w=e[t+108>>2],e[l+96>>2]=P,uA(a=l+452|0,(0|r)>=2?91700:(262144&w)>>>18|0?91534:91700,l+96|0),r=vA(t,a,l+304|0)}else e[l+80>>2]=P,uA(r=l+452|0,91498,l+80|0),r=vA(t,r,l+304|0);if(r)break r}e[l+64>>2]=P,uA(r=l+452|0,91766,l- -64|0),vA(t,r,l+304|0)}}}M=y,d[l+432|0]|m|!y||((0|A)<20|(16&d[t+104|0]?0:R)||(vA(t,92162,l+432|0),M=1,!d[l+432|0]))&&(vA(t,92205,l+432|0),M=1)}if(!(!(r=g[l+304|0])|!(48&(A=e[t+104>>2]))|!d[l+368|0])){if(vA(t,90824,l+292|0),!M|!(8&d[t+109|0])||(g[l+292|0]=0),16&d[t+104|0]){e[l+28>>2]=l+432,e[l+24>>2]=l+368,e[l+20>>2]=l+292,e[l+16>>2]=l+304,uA(i,91059,l+16|0),a=1;break e}e[l+12>>2]=l+432,e[l+8>>2]=l+304,e[l+4>>2]=l+292,e[l>>2]=l+368,uA(i,91059,l),a=1;break e}512&A&&(!r|(0|(A=CA(l+368|0)-1|0))<0||(m=d[e[144464+(g[0|(A=A+(l+368|0)|0)]<<2)>>2]+11|0]!=2,(0|(a=d[e[144464+(r<<2)>>2]+11|0]))==1&&(a=d[e[144464+(g[l+305|0]<<2)>>2]+11|0]),m|(255&a)!=2||(g[0|A]=0))),!(8&d[t+110|0])|!d[l+432|0]?(e[l+56>>2]=l+432,e[l+52>>2]=l+304,e[l+48>>2]=l+368,uA(i,92282,l+48|0)):(e[l+36>>2]=l+304,e[l+32>>2]=l+368,(0|(A=uA(i,90368,l+32|0)))>0&&(A=d[e[144464+(d[(r=A-1|0)+i|0]<<2)>>2]+11|0]==2?r:A),BA(A+i|0,l+432|0))}else BA(i,m);a=0}e:if(268435456&(t=e[t+104>>2])){if((0|CA(i))<=0)break e;for(A=0,t=0;d[0|(r=t+i|0)]==6&&(A&&(g[0|r]=5),A=1),t=t+1|0,(0|CA(i))>(0|t););}else if(256&t&&(A=0,!((0|(t=(y=CA(i))-1|0))<0))){if(t)for(R=-2&y,m=0;d[0|(w=t+i|0)]==6?(r=1,A&&(g[0|w]=5)):r=A,d[0|(w=w-1|0)]==6?(A=1,r&&(g[0|w]=5)):A=r,t=t-2|0,(0|R)!=(0|(m=m+2|0)););1&y&&(!A|d[0|(t=t+i|0)]!=6||(g[0|t]=5))}return oe=l+464|0,a}function Tt(t,A,r,a){var i,l,h=0,m=0,w=0,M=0,y=0,P=0,R=0;if(oe=i=oe-352|0,g[i+304|0]=0,g[i+224|0]=0,g[i+64|0]=0,w=e[e[47192]+292>>2],R=ur(i+348|0,A),(1048320&(h=e[i+348>>2]))==57344&&(h&=255,e[i+348>>2]=h),2&a&&Ln(h)&&vA(t,85437,i+304|0),h=ei(e[i+348>>2],t),e[i+348>>2]=h,P=1&a,fr(t,h,g[0|(l=A+R|0)],i+224|0,P),!(A=d[i+224|0])){e:if((A=mo(e[i+348>>2]))&&(e[i+348>>2]=16383&A,4&a)){switch(1073741823&(A>>=14)){case 0:case 3:break e}vA(t,A=e[131232+(A<<2)>>2],i+304|0),d[i+304|0]||(g[i+306|0]=Ti(84744),y=A,A=i+304|3,vA(e[47194],y,A),d[i+307|0]&&(v[i+304>>1]=5385,A=CA(A)+(i+304|0)|0,g[A+5|0]=0,g[A+4|0]=w,g[A+3|0]=21))}fr(t,e[i+348>>2],g[0|l],i+224|0,P),A=d[i+224|0]}e:{t:{if(A&=255){if((0|A)!=21)break t;BA(r,i+224|0),R=0;break e}if(A=1632,!((0|(h=e[i+348>>2]))<1632)){for(M=103360;;){if((0|h)>=(A+10|0)){if(!(A=e[(M=M+4|0)>>2]))break t;if((0|A)<=(0|h))continue;break t}break}(0|(A=48+(h-A|0)|0))<=0||fr(t,A,0,i+224|0,P)}}t:{r:{a:{n:{if(A=Ra(e[i+348>>2])){if(h=e[A+4>>2],!A|1&(M=e[A+16>>2])||(m=e[47192],e[m+600>>2]==(0|h)|e[m+188>>2]==(0|h)|e[m+184>>2]==(0|h)||(g[i+144|0]=0,vA(m,e[A>>2],i- -64|0)?(0|(m=e[47192]))!=(0|t)&&(w=e[t+292>>2],BA(i+144|0,i- -64|0),g[i+66|0]=e[m+292>>2]):(g[i+66|0]=Ti(84744),vA(e[47194],e[A>>2],i+144|0)),d[i+144|0]&&(v[i+64>>1]=5385,BA(3|(m=i- -64|0),y=i+144|0),m=CA(y)+m|0,g[m+5|0]=0,g[m+4|0]=w,g[m+3|0]=21))),d[i+224|0])break t;if(!h||(w=e[47192],e[w+188>>2]!=(0|h)))break n;A=e[w+192>>2];break r}if(d[i+224|0])break t;M=0,h=0;break a}if((A=e[A+12>>2])&&!(2&M))break r}A=25966}if((e[t+212>>2]==(0|A)&(0|A)!=27503||(g[i+226|0]=Ti(ln(i+47|0,A)),(A=e[47194])&&((0|(w=e[i+348>>2]))>55215||(0|(m=w-44032|0))<0?fr(A,w,g[0|l],i+224|3,P):(g[i+52|0]=32,A=y=i+53|0,w-50500>>>0>=588&&(A=Rr(4352+((m>>>0)/588|0)|0,y)+y|0),Rr(4449+(((w=(m>>>0)/28|0)>>>0)%21|0)|0,A),Rr(4519+(m-F(w,28)|0)|0,A+3|0),g[A+6|0]=32,g[A+7|0]=0,g[i+227|0]=0,A=i+224|3,LA(e[47194],y,A,77,0,0,0),IA(e[47194],A,0,-1,0)),A=i+224|3,d[i+227|0]==21&&(g[i+226|0]=Ti(i+224|4),fr(e[47194],e[i+348>>2],g[0|l],A,P)),ba(e[e[32972]+60>>2]),d[i+227|0]&&(v[i+224>>1]=5385,A=CA(A)+(i+224|0)|0,g[A+3|0]=21,P=e[t+292>>2],g[A+5|0]=0,g[A+4|0]=P)),!d[i+224|0]))&&(16&M||(Mn(e[i+348>>2])&&vA(e[47192],85683,i+224|0),d[i+224|0]||(ns(e[i+348>>2])||vA(e[47192],85778,i+224|0),d[i+224|0]||Qn(85992,i+224|0,0))),!(8&M)||4&a)){if(A=e[i+348>>2],(0|h)!=10240?(e[i+32>>2]=A,uA(i+52|0,86013,i+32|0)):(h=i+52|0,1&A&&(g[i+52|0]=49,h=i+53|0),2&A&&(g[0|h]=50,h=h+1|0),4&A&&(g[0|h]=51,h=h+1|0,A=e[i+348>>2]),8&A&&(g[0|h]=52,h=h+1|0,A=e[i+348>>2]),16&A&&(g[0|h]=53,h=h+1|0,A=e[i+348>>2]),32&A&&(g[0|h]=54,h=h+1|0,A=e[i+348>>2]),64&A&&(g[0|h]=55,h=h+1|0,A=e[i+348>>2]),128&A&&(g[0|h]=56,h=h+1|0),g[0|h]=0),A=i+224|0,M=d[i+52|0])for(h=i+52|0;A=CA(A)+A|0,g[0|A]=23,A=A+1|0,fr(e[47192],M<<24>>24,0,A,1),(a=d[0|A])&&(0|a)!=21||(0|(a=g[0|h]))<97||Qn(e[130860+((255&a)<<2)>>2],A,0),M=d[0|(h=h+1|0)];);A=CA(A)+A|0,g[0|A]=9,g[A+1|0]=0}}A=CA(r),2&d[t+144|0]?(e[i+16>>2]=255,e[i+28>>2]=i+304,e[i+24>>2]=i+224,e[i+20>>2]=i- -64,uA(i+144|0,86210,i+16|0)):(e[i>>2]=255,e[i+12>>2]=i+224,e[i+8>>2]=i+304,e[i+4>>2]=i- -64,uA(i+144|0,86210,i)),CA(i+144|0)+A>>>0>199||BA(A+r|0,i+144|0)}return oe=i+352|0,R}function MA(t,A,r,a,i,l,h){var m,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,Te=0,Oe=0,$e=0,nt=0,ht=0,vt=0,Qt=0,Ut=0,fA=0,hA=0,FA=0,YA=0,rr=0;oe=m=oe-528|0,Te=h?e[h>>2]:0,Qt=e[i+4>>2];e:{t:{if(e[t+220>>2]>0){Zr(M=m+352|0,A,160),oe=ee=oe-176|0,ue=1-(ae=e[t+220>>2])|0,be=e[t+224>>2],Oe=e[t+216>>2],P=M;r:{a:{for(;;){if($e=ur(ee+172|0,P),w=e[ee+172>>
28102]){if((0|w)<(0|ae)|(0|w)>(0|Oe))break a;if(be){if((0|(w=g[be+(w-ae|0)|0]))<=0)break a}else w=w+ue|0;if(P=P+$e|0,g[R+ee|0]=w,w=160,(0|(R=R+1|0))!=160)continue}else w=R;break}if(be=0,g[w+ee|0]=0,ue=g[0|ee],e[ee+172>>2]=ue,ue){for(Ut=2+(Oe-ae|0)|0,ae=w=ee;;){Oe=w+1|0;n:{if(($e=e[t+8180>>2])&&(R=0,!((0|(P=v[$e>>1]))>(0|(ht=(g[0|Oe]<<8)+ue|0)))))for(;;){if((0|P)==(0|ht)){ue=R+Ut|0,e[ee+172>>2]=ue,w=w+2|0;break n}if(!((0|ht)>=(0|(P=v[$e+((R=R+1|0)<<1)>>1]))))break}w=Oe}if(nt=63&ue|nt<<6,(0|(R=be+6|0))<8?be=R:(be=be-2|0,g[0|ae]=nt>>be,ae=ae+1|0),ue=g[0|w],e[ee+172>>2]=ue,!ue)break}(0|be)<=0||(g[0|ae]=nt<<8-be,ae=ae+1|0)}else ae=ee;g[0|ae]=0,sr(M,ee,w=ae-ee|0),ae=64|w;break r}ae=CA(M)}oe=ee+176|0,ee=M}else ae=CA(A),ee=A;if(M=d[0|ee]){for(w=0,R=ee;y=1023&(y=(y<<3)+M|0)^y>>>8,w=w+1|0,M=d[0|(R=R+1|0)];);w=w+y&1023}else w=0;if(y=e[692+((w<<2)+t|0)>>2]){if(w=d[0|y])break t;w=0;break e}if(w=0,!i)break e;e[i>>2]=0;break e}for($e=1073741824&Qt,ht=2048&l,Qt=512&Te,Ut=65536&Te,fA=1&Te,hA=2&Te,Te=8&l,FA=1024&l,Oe=4&l,YA=63&ae,rr=t+8233|0;;){l=(255&w)+y|0;t:{r:if((127&(w=d[y+1|0]))==(0|ae)&&!la(ee,y+2|0,YA)){y=2+((63&w)+y|0)|0;a:{if(w<<24>>24<0)be=0,g[0|a]=0;else{if((0|(be=CA(y)))>=160)break a;BA(a,y),y=1+(y+be|0)|0}if(M=0,l>>>0<=y>>>0)w=r,P=0;else{R=0,P=0;n:{for(;;){y=(w=y)+1|0;c:if((w=d[0|w])>>>0>=100){if(ue=e[t+320>>2],w>>>0>=132){R|=ue>>>w-132&1;break c}R|=!(ue>>>w-100&1)}else{if(w>>>0>=81){ue=w-80|0,nt=l-y|0;o:if(h)for(w=0;;){if(vt=F(w,12)+h|0,!d[vt+10|0])break o;if(R=!!(12&d[vt+1|0])|R,vt=(0|w)!=(0|ue),w=w+1|0,!vt)break}if(ho(r,y,nt)|1&R)break r;e[33264]=ue,w=r+nt|0,P|=128,y=l;break n}w>>>0>=65?(P=15&w|-16&P,P=12&~w?P:512|P):w>>>0>=32?M|=1<<w-32:P|=1<<w}if(!(l>>>0>y>>>0))break}if(w=r,1&R)break t}if(65536&M&&!Oe||FA&&49152&M)break t}if(Oe&&(16384&M||!Te&&32768&M)||(hA?0:512&M)|(fA?0:1024&M)|(Ut?0:33554432&P)||!(!(131072&M)|re[e[47192]+8204>>2]<=w>>>0|$e)|(Qt?0:262144&M)|(8&d[e[47192]+8242|0]?0:8192&M)||16&M&&(!e[t+8184>>2]&(!Te|!e[t+8192>>2])||!(!Te|e[t+212>>2]!=25966)&&2097152&e[t+8232>>2])||(e[t+8188>>2]?0:64&M)|(!e[t+8196>>2]|ht?32&M:0)||!(!(65536&P)|e[t+212>>2]!=26741|128&d[0|rr])|(e[47192]!=(0|t)?524288&M:0))break t;n:{c:{o:{if(!i){if(!be)break o;break n}if(e[i+4>>2]=M,e[i>>2]=1073741824|P,be)break c}if(w=0,!(8&d[188788]))break e;di(i,t=m+272|0),e[m>>2]=A,e[m+4>>2]=t,fs(e[47195],89330,m);break e}e[i>>2]=-1073741824|P}if(8&d[188788]&&(PA(a,m- -64|0),d[e[47192]+172|0]==(P>>>29&1)&&(!h|!(128&P)?(e[m+48>>2]=A,fs(e[47195],89426,m+48|0)):(sr(t=m+352|0,a=r,r=w-r|0),g[351+(r+m|0)|0]=0,e[m+32>>2]=A,e[m+36>>2]=t,fs(e[47195],89397,m+32|0)),di(i,t=m+272|0),A=e[47195],e[m+16>>2]=m- -64,e[m+20>>2]=t,fs(A,89534,m+16|0))),d[ur(m- -64|0,ee)+ee|0]|!i||Xr(e[m+64>>2]))break e;e[i>>2]=134217728|e[i>>2];break e}pe(89236,86634,2467,94846),j()}y=l}if(!(w=d[0|y]))break}w=0}return oe=m+528|0,w}function NA(t,A,r,a,i){var l,h=0,m=0;oe=l=oe-304|0,g[l+278|0]=0;e:{if((0|A)>0&&(1&a&&(2&a&&(e[l+164>>2]=r,e[l+160>>2]=A,uA(h=l+290|0,89701,l+160|0),h=vA(t,h,l+224|0))||1&g[133096]&&(e[l+148>>2]=r,e[l+144>>2]=A,uA(h=l+290|0,89757,l+144|0),h=vA(t,h,l+224|0))||(e[l+132>>2]=r,e[l+128>>2]=A,uA(h=l+290|0,89894,l+128|0),h=vA(t,h,l+224|0)))||(e[l+116>>2]=r,e[l+112>>2]=A,uA(h=l+290|0,89974,l+112|0),h=vA(t,h,l+224|0))))break e;if((0|(m=(0|A)%100|0))>=20&&vA(t,90022,l+278|0),1&a){if(2&a){h=m-11|0;t:{r:{a:switch((448&e[e[47192]+108>>2])-64>>>6|0){case 0:if(h>>>0<9)break r;if(a=90418,(0|(h=(0|A)%10|0))==1)break t;if(h-2>>>0>=3)break r;a=90453;break t;case 1:if(A-2>>>0>=3)break r;a=90453;break t;case 2:if(h>>>0<9|((0|A)%10|0)-2>>>0>=3)break r;a=90453;break t;case 3:if(a=90508,h>>>0<9)break t;a=(a=(0|A)%10|0)?(0|a)==1?90453:90586:90508;break t;case 4:break a;default:break r}if(!(h>>>0<9)){if(a=90537,(0|(h=(0|A)%10|0))==1)break t;if(!(h-2>>>0>=3)){a=90453;break t}}}a=90586}if(e[l+100>>2]=r,e[l+96>>2]=a,uA(a=l+290|0,90058,l+96|0),h=0,vA(t,a,l+224|0))break e}if(a=m-11|0,1&g[133096]){t:{r:{a:switch((448&e[e[47192]+108>>2])-64>>>6|0){case 0:if(a>>>0<9)break r;if(h=90418,(0|(m=(0|A)%10|0))==1)break t;if(m-2>>>0>=3)break r;h=90453;break t;case 1:if(A-2>>>0>=3)break r;h=90453;break t;case 2:if(a>>>0<9|((0|A)%10|0)-2>>
2810>0>=3)break r;h=90453;break t;case 3:if(h=90508,a>>>0<9)break t;h=(h=(0|A)%10|0)?(0|h)==1?90453:90586:90508;break t;case 4:break a;default:break r}if(!(a>>>0<9)){if(h=90537,(0|(m=(0|A)%10|0))==1)break t;if(!(m-2>>>0>=3)){h=90453;break t}}}h=90586}if(e[l+84>>2]=r,e[l+80>>2]=h,uA(m=l+290|0,90110,l+80|0),h=0,vA(t,m,l+224|0))break e}t:{r:{a:switch((448&e[e[47192]+108>>2])-64>>>6|0){case 0:if(a>>>0<9)break r;if(h=90418,(0|(m=(0|A)%10|0))==1)break t;if(m-2>>>0>=3)break r;h=90453;break t;case 1:if(A-2>>>0>=3)break r;h=90453;break t;case 2:if(a>>>0<9|((0|A)%10|0)-2>>>0>=3)break r;h=90453;break t;case 3:if(h=90508,a>>>0<9)break t;h=(h=(0|A)%10|0)?(0|h)==1?90453:90586:90508;break t;case 4:break a;default:break r}if(!(a>>>0<9)){if(h=90537,(0|(m=(0|A)%10|0))==1)break t;if(!(m-2>>>0>=3)){h=90453;break t}}}h=90586}if(e[l+68>>2]=r,e[l+64>>2]=h,uA(m=l+290|0,90139,l- -64|0),h=0,vA(t,m,l+224|0))break e}else a=m-11|0;t:{r:{a:switch((448&e[e[47192]+108>>2])-64>>>6|0){case 0:if(a>>>0<9)break r;if(h=90418,(0|(a=(0|A)%10|0))==1)break t;if(a-2>>>0>=3)break r;h=90453;break t;case 1:if(A-2>>>0>=3)break r;h=90453;break t;case 2:if(a>>>0<9|((0|A)%10|0)-2>>>0>=3)break r;h=90453;break t;case 3:if(h=90508,a>>>0<9)break t;h=(a=(0|A)%10|0)?(0|a)==1?90453:90586:90508;break t;case 4:break a;default:break r}if(!(a>>>0<9)){if(h=90537,(0|(a=(0|A)%10|0))==1)break t;if(!(a-2>>>0>=3)){h=90453;break t}}}h=90586}e[l+52>>2]=r,e[l+48>>2]=h,uA(a=l+290|0,90218,l+48|0),h=0,vA(t,a,l+224|0)||((0|r)<4||(e[l+32>>2]=r-1,uA(a=l+290|0,89026,l+32|0),vA(t,a,l+176|0)||(vA(t,90273,l+224|0),e[33275]=3)),d[l+224|0]||(e[l+16>>2]=A,uA(a=l+290|0,90303,l+16|0),(h=vA(t,a,l+224|0))||vA(t,90347,l+224|0),e[33275]=2))}return e[l+4>>2]=l+224,e[l>>2]=l+278,uA(i,90368,l),oe=l+304|0,!((0|A)!=1|(0|r)!=1)&&(A=1,32&d[t+106|0])||(A=h),A}function JA(t,A,r,a){var i,l=0,h=0,m=0,w=0,M=0,y=0,P=0;oe=i=oe+-64|0,v[i+48>>1]=0,e[i+40>>2]=0,e[i+44>>2]=0,e[i+32>>2]=0,e[i+36>>2]=0,e[i+24>>2]=0,e[i+28>>2]=0,e[i+16>>2]=0,e[i+20>>2]=0,e[i+8>>2]=0,e[i+12>>2]=0,e[i>>2]=0,e[i+4>>2]=0,l=A;e:{for(;;){t:{r:{if((0|(h=d[0|l]))!=69){if((0|h)!=32)break r;if(a&&(g[sr(h=a,A,a=(0|(a=l-A|0))>=159?159:a)+a|0]=0),a=63&r)break t;break e}g[0|l]=101}l=l+1|0;continue}break}if(1&r){t:if((l=l-1|0)>>>0<A>>>0)h=a;else for(h=a;;){if((192&d[0|l])!=128)break t;if(h=h+1|0,!((l=l-1|0)>>>0>=A>>>0))break}m=a-1|0}else m=a,h=a;if((0|a)!=1)for(;;){a=m;t:if(!((l=l-1|0)>>>0<A>>>0))for(;;){if((192&d[0|l])!=128)break t;if(h=h+1|0,!((l=l-1|0)>>>0>=A>>>0))break}t:if(!((l=l-1|0)>>>0<A>>>0))for(;;){if((192&d[0|l])!=128)break t;if(h=h+1|0,!((l=l-1|0)>>>0>=A>>>0))break}if(m=a-2|0,!((0|a)>2))break}if((0|h)<=0)m=0;else{if(w=3&(m=(a=(A=h-1|0)>>>0>=48?48:A)+1|0),A=0,h=0,a>>>0>=3)for(P=-4&m,a=0;M=l+h|0,g[h+i|0]=d[0|M],g[0|M]=32,M=(y=1|h)+l|0,g[i+y|0]=d[0|M],g[0|M]=32,M=(y=2|h)+l|0,g[i+y|0]=d[0|M],g[0|M]=32,M=(y=3|h)+l|0,g[i+y|0]=d[0|M],g[0|M]=32,h=h+4|0,(0|P)!=(0|(a=a+4|0)););if(w)for(;a=l+h|0,g[h+i|0]=d[0|a],g[0|a]=32,h=h+1|0,(0|w)!=(0|(A=A+1|0)););}}if(g[i+m|0]=0,w=65520&r,!(512&r)|d[0|(a=l-1|0)]!=105||(g[0|a]=121),h=4|w,256&r){e:{t:{r:{if((0|(A=e[t+212>>2]))!=25966){if((0|A)!=28268)break r;if(g[0|a]<0||128&(A=g[0|(m=l-2|0)]))break e;if(w=e[t+632>>2])A=!!(0|Ns(w,A));else{if((0|(w=e[t+600>>2]))>0&&(A=A-w|0)-1>>>0>254)break e;A=128&d[344+(t+A|0)|0]}if(!A)break e;if(A=g[0|a],w=e[t+612>>2])A=!!(0|Ns(w,A));else{a:{if((0|(w=e[t+600>>2]))>0){if((A=A-w|0)-1>>>0<255)break a;break e}if((0|A)<0)break e}A=4&d[344+(t+A|0)|0]}if(!A)break e;A=g[l-3|0];a:{if(w=e[t+632>>2])A=!!(0|Ns(w,A));else{n:{if((0|(w=e[t+600>>2]))>0){if((A=A-w|0)-1>>>0<255)break n;break a}if((0|A)<0)break a}A=128&d[344+(t+A|0)|0]}if(A)break e}g[0|l]=d[0|a],g[0|a]=d[0|m],g[l+1|0]=32;break e}if(m=g[l-2|0],A=e[t+632>>2])A=!!(0|Ns(A,m));else{a:{if((0|(A=e[t+600>>2]))>0){if((m=m-A|0)-1>>>0<255)break a;break t}if((0|m)<0)break t}A=128&d[344+(t+m|0)|0]}if(!A)break t;if(m=g[0|a],A=e[t+608>>2])A=!!(0|Ns(A,m));else{if((0|(A=e[t+600>>2]))>0){if((m=m-A|0)-1>>>0>=255)break t}else if((0|m)<0)break t;A=2&d[344+(t+m|0)|0]}if(!A)break t;h=la(87771,l-3|0,3)?20|w:h;break e}h=e[t+204>>2]?20|w:h;break e}(d[0|a]==99||(m=d[1+(A=l-2|0)|0]<<8,(d[0|A]|m)==29554|(m|d[0|A])==29289||(d[0|(A=l-2|0)]|d[A+1|0]<<8)==29301||!la(88115,l-3|0,3)||(d[0|(A=l-2|0)]|d[A+1|0]<<8)==29550|d[0|a]==117||!la(88384,l-5|0,5)||(d[0|(A=l-4|0)]|d[A+1|0]<<8|d[A+2|0]<<16|d[A+3|0]<<24)==1735287154||(d[0|A]|d[A+1|0]<<8|d[A+2|0]<<16|d[A+3|0]<<24)==1735549292))&&(h=20|w)}16&h&&(Rr(e[t+204>>2],l),8&d[188788]&&Zi(88683,6,e[47195]))}return e[t+8184>>2]|!(2048&r)||(e[t+8184>>2]=1),T[i>>1]!=115&&la(i,88850,3)||(h|=8),oe=i- -64|0,d[0|i]==39?65531&h:h}function WA(t,A,r,a,i,l,h,m,w){var M,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,Te=0,Oe=0,$e=0;oe=M=oe-112|0,y=2147483647&w;e:{if(R=!(A|r),(a|(P=2147483647&i)?P-2147418112>>>0<2147549184:R)||!(!m&(0|(ae=y-2147418112|0))==-2147418112?l|h:(0|ae)==-2147418112&!!(0|m)|ae>>>0>2147549184)){if(!(!a&(0|P)==2147418112?R:P>>>0<2147418112)){m=a,w=32768|i,l=A,h=r;break e}if(!(!m&(0|y)==2147418112?!(l|h):y>>>0<2147418112)){w|=32768;break e}if(!(A|a|2147418112^P|r)){ee=a,m=(a=!(A^l|a^m|r^h|i^w^-2147483648))?0:ee,w=a?2147450880:i,l=a?0:A,h=a?0:r;break e}if(!(l|m|2147418112^y|h))break e;if(!(A|a|r|P)){if(l|m|h|y)break e;l&=A,h&=r,m&=a,w&=i;break e}if(!(l|m|h|y)){l=A,h=r,m=a,w=i;break e}}P=(R=Te=(ee=(0|y)==(0|P))&(0|a)==(0|m)?(0|r)==(0|h)&A>>>0<l>>>0|r>>>0<h>>>0:ee&a>>>0<m>>>0|y>>>0>P>>>0)?l:A,ae=R?h:r,Oe=ee=R?w:i,R=R?m:a,be=65535&ee,a=Te?a:m,$e=i=Te?i:w,ee=i>>>16&32767,(ue=Oe>>>16&32767)||(w=i=!(R|be),y=i?P:R,m=i<<=6,Us(M+96|0,P,ae,R,be,(i=i+((0|(w=ce(w?ae:be)))==32?ce(y)+32|0:w)|0)-15|0),R=e[M+104>>2],be=e[M+108>>2],ae=e[M+100>>2],ue=16-i|0,P=e[M+96>>2]),l=Te?A:l,h=Te?r:h,m=a,w=65535&$e,ee||(i=A=!(m|w),y=A?l:m,r=A<<=6,Us(M+80|0,l,h,m,w,(A=A+((0|(i=ce(i?h:w)))==32?ce(y)+32|0:i)|0)-15|0),ee=16-A|0,m=e[M+88>>2],w=e[M+92>>2],h=e[M+84>>2],l=e[M+80>>2]),r=w<<3|m>>>29,A=m<<3|h>>>29,r|=524288,m=R<<3|ae>>>29,w=be<<3|R>>>29,Te=Oe^$e,i=h<<3|l>>>29,a=l<<3,(0|ee)!=(0|ue)&&((l=ue-ee|0)>>>0>127?(A=0,r=0,i=0,a=1):(Us(M- -64|0,a,i,A,r,128-l|0),Ta(M+48|0,a,i,A,r,l),A=e[M+56>>2],r=e[M+60>>2],i=e[M+52>>2],a=e[M+48>>2]|!!(e[M+64>>2]|e[M+72>>2]|e[M+68>>2]|e[M+76>>
vendor: 15,024 bytes, line 2810
28102]))),R=a,y=i,ee=m,be=524288|w,i=ae<<3|P>>>29,ae=P<<3,P=i;t:if((0|Te)<0){if(l=0,h=0,m=0,w=0,!(R^ae|A^ee|y^P|r^be))break e;if(a=ae-R|0,i=P-((R>>>0>ae>>>0)+y|0)|0,m=(l=ee-A|0)-(h=(0|y)==(0|P)&R>>>0>ae>>>0|y>>>0>P>>>0)|0,w=A=(be-((A>>>0>ee>>>0)+r|0)|0)-(l>>>0<h>>>0)|0,A>>>0>524287)break t;l=A=!(m|w),h=A?a:m,r=A<<=6,Us(M+32|0,a,i,m,w,A=(A=A+((0|(l=ce(l?i:w)))==32?ce(h)+32|0:l)|0)-12|0),ue=ue-A|0,m=e[M+40>>2],w=e[M+44>>2],a=e[M+32>>2],i=e[M+36>>2]}else i=y+P|0,l=(0|y)==(0|(i=(a=R+ae|0)>>>0<ae>>>0?i+1|0:i))&a>>>0<R>>>0|i>>>0<y>>>0,y=r+be|0,y=(A=A+ee|0)>>>0<ee>>>0?y+1|0:y,1048576&(w=(m=A+l|0)>>>0<A>>>0?y+1|0:y)&&(a=1&R|(1&i)<<31|a>>>1,i=m<<31|i>>>1,ue=ue+1|0,m=(1&w)<<31|m>>>1,w=w>>>1|0);if(r=0,P=-2147483648&Oe,(0|ue)>=32767)m=r,w=2147418112|P,l=0,h=0;else if(ee=0,(0|ue)>0?ee=ue:(Us(M+16|0,a,i,m,w,ue+127|0),Ta(M,a,i,m,w,1-ue|0),a=e[M>>2]|!!(e[M+16>>2]|e[M+24>>2]|e[M+20>>2]|e[M+28>>2]),i=e[M+4>>2],m=e[M+8>>2],w=e[M+12>>2]),ae=7&a,a=(0|(A=m<<29|i>>>3))==(0|(h=(a=(7&i)<<29|a>>>3)>>>0>(l=(ae>>>0>4)+a|0)>>>0?A+1|0:A))&a>>>0>l>>>0|A>>>0>h>>>0,A=r|(7&w)<<29|m>>>3,w=P|w>>>3&65535|ee<<16,w=A>>>0>(m=a+A|0)>>>0?w+1|0:w,(0|ae)!=4){if(!ae)break e}else y=h+(A=0)|0,w=(A=(0|A)==(0|(h=(a=l)>>>0>(l=l+(r=1&l)|0)>>>0?y+1|0:y))&r>>>0>l>>>0|A>>>0>h>>>0)>>>0>(m=A+m|0)>>>0?w+1|0:w}e[t>>2]=l,e[t+4>>2]=h,e[t+8>>2]=m,e[t+12>>2]=w,oe=M+112|0}function DA(t){var A=0,r=0,a=0,i=0,l=0,h=0,m=0;e:if(t|=0){l=(a=t-8|0)+(t=-8&(A=e[t-4>>2]))|0;t:if(!(1&A)){if(!(3&A)||(a=a-(A=e[a>>2])|0)>>>0<re[57156])break e;if(t=t+A|0,e[57157]==(0|a)){if(!(3&~(A=e[l+4>>2])))return e[57154]=t,e[l+4>>2]=-2&A,e[a+4>>2]=1|t,void(e[t+a>>2]=t)}else{if(A>>>0<=255){if(i=e[a+8>>2],A=A>>>3|0,(0|(r=e[a+12>>2]))==(0|i)){e[57152]=e[57152]&SA(-2,A);break t}e[i+12>>2]=r,e[r+8>>2]=i;break t}if(m=e[a+24>>2],(0|a)==(0|(A=e[a+12>>2])))if((r=e[(i=a+20|0)>>2])||(r=e[(i=a+16|0)>>2])){for(;h=i,(r=e[(i=(A=r)+20|0)>>2])||(i=A+16|0,r=e[A+16>>2]););e[h>>2]=0}else A=0;else r=e[a+8>>2],e[r+12>>2]=A,e[A+8>>2]=r;if(!m)break t;i=e[a+28>>2];r:{if(e[(r=228912+(i<<2)|0)>>2]==(0|a)){if(e[r>>2]=A,A)break r;e[57153]=e[57153]&SA(-2,i);break t}if(e[m+(e[m+16>>2]==(0|a)?16:20)>>2]=A,!A)break t}if(e[A+24>>2]=m,(r=e[a+16>>2])&&(e[A+16>>2]=r,e[r+24>>2]=A),!(r=e[a+20>>2]))break t;e[A+20>>2]=r,e[r+24>>2]=A}}if(!(a>>>0>=l>>>0)&&1&(A=e[l+4>>2])){t:{if(!(2&A)){if(e[57158]==(0|l)){if(e[57158]=a,t=e[57155]+t|0,e[57155]=t,e[a+4>>2]=1|t,e[57157]!=(0|a))break e;return e[57154]=0,void(e[57157]=0)}if(e[57157]==(0|l))return e[57157]=a,t=e[57154]+t|0,e[57154]=t,e[a+4>>2]=1|t,void(e[t+a>>2]=t);t=(-8&A)+t|0;r:if(A>>>0<=255){if(i=e[l+8>>2],A=A>>>3|0,(0|(r=e[l+12>>2]))==(0|i)){e[57152]=e[57152]&SA(-2,A);break r}e[i+12>>2]=r,e[r+8>>2]=i}else{if(m=e[l+24>>2],(0|l)==(0|(A=e[l+12>>2])))if((r=e[(i=l+20|0)>>2])||(r=e[(i=l+16|0)>>2])){for(;h=i,(r=e[(i=(A=r)+20|0)>>2])||(i=A+16|0,r=e[A+16>>2]););e[h>>2]=0}else A=0;else r=e[l+8>>2],e[r+12>>2]=A,e[A+8>>2]=r;if(m){i=e[l+28>>2];a:{if(e[(r=228912+(i<<2)|0)>>2]==(0|l)){if(e[r>>2]=A,A)break a;e[57153]=e[57153]&SA(-2,i);break r}if(e[m+(e[m+16>>2]==(0|l)?16:20)>>2]=A,!A)break r}e[A+24>>2]=m,(r=e[l+16>>2])&&(e[A+16>>2]=r,e[r+24>>2]=A),(r=e[l+20>>2])&&(e[A+20>>2]=r,e[r+24>>2]=A)}}if(e[a+4>>2]=1|t,e[t+a>>2]=t,e[57157]!=(0|a))break t;return void(e[57154]=t)}e[l+4>>2]=-2&A,e[a+4>>2]=1|t,e[t+a>>2]=t}if(t>>>0<=255)return A=228648+(-8&t)|0,(r=e[57152])&(t=1<<(t>>>3))?t=e[A+8>>2]:(e[57152]=t|r,t=A),e[A+8>>2]=a,e[t+12>>2]=a,e[a+12>>2]=A,void(e[a+8>>2]=t);i=31,t>>>0<=16777215&&(i=62+((t>>>38-(A=ce(t>>>8|0))&1)-(A<<1)|0)|0),e[a+28>>2]=i,e[a+16>>2]=0,e[a+20>>2]=0,h=228912+(i<<2)|0;t:{r:{if((r=e[57153])&(A=1<<i)){for(i=t<<((0|i)!=31?25-(i>>>1|0):0),A=e[h>>2];;){if(r=A,(-8&e[A+4>>2])==(0|t))break r;if(A=i>>>29|0,i<<=1,!(A=e[16+(h=r+(4&A)|0)>>2]))break}e[h+16>>2]=a,e[a+24>>2]=r}else e[57153]=A|r,e[h>>2]=a,e[a+24>>2]=h;e[a+12>>2]=a,e[a+8>>2]=a;break t}t=e[r+8>>2],e[t+12>>2]=a,e[r+8>>2]=a,e[a+24>>2]=0,e[a+12>>2]=r,e[a+8>>2]=t}t=e[57160]-1|0,e[57160]=t||-1}}}function Vr(t,A,r){var a,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0;oe=a=oe-176|0;e:{if(32&A)ee=r-((0|r)>1)|0;else{l=vr(t,93302);t:{r:{a:{if((0|A)!=2){if(l)break a;A=0;break e}if(ee=r+1|0,P=56+(ae=F(r,76)+133152|0)|0,R=vr(t,89360),h=vr(t,93318),m=vr(t,93426),w=vr(t,93499),l)break r;break t}ee=r+1|0,P=56+(ae=F(r,76)+133152|0)|0,w=0}for(t=0,M=(0|(i=e[l-4>>2]))!=34?(0|i)==39?i:0:i,ue=F(r,76)+133208|0;;){if(i=t,!(t=e[l>>2]))break t;r:{if(!M){if((0|t)==32|t-9>>>0<5)break t;if((0|t)!=47)break r;break t}if((0|i)!=92&&(0|t)==(0|M))break t}if(l=l+4|0,!((0|(y=Rr(t,y+ue|0)+y|0))<16))break}}M=0,g[y+P|0]=0,y=F(r,76)+133168|0,l=0;t:if(R)for(t=0,P=(0|(i=e[R-4>>2]))!=34?(0|i)==39?i:0:i;;){if(i=t,!(t=e[R>>2]))break t;r:{if(!P){if((0|t)==32|t-9>>>0<5)break t;if((0|t)!=47)break r;break t}if((0|i)!=92&&(0|t)==(0|P))break t}if(R=R+4|0,!((0|(l=Rr(t,l+y|0)+l|0))<36))break}if(g[l+y|0]=0,!(!h|e[h>>2]-48>>>0>=10)){for(;M=(e[h>>2]+F(M,10)|0)-48|0,e[(h=h+4|0)>>2]-48>>>0<10;);(0|M)<=0||(M=M-1|0)}if(i=F(r,76)+133152|0,e[i+4>>2]=M,t=0,l=0,!(!m|e[m>>2]-48>>>0>=10))for(;l=(e[m>>2]+F(l,10)|0)-48|0,e[(m=m+4|0)>>2]-48>>>0<10;);e[i+12>>2]=l,l=F(r,76)+133152|0;t:{r:if(w){for(;r=g[t+93099|0],(i=e[(t<<2)+w>>2])&&(t=t+1|0,(0|r)==(0|i)););a:{n:switch(i-34|0){case 0:case 5:break n;default:break a}if(!r){t=0;break t}}for(t=0;r=g[t+93116|0],(i=e[(t<<2)+w>>2])&&(t=t+1|0,(0|r)==(0|i)););a:{n:switch(i-34|0){case 0:case 5:break n;default:break a}if(!r){t=1;break t}}for(t=0;r=g[t+93197|0],(i=e[(t<<2)+w>>2])&&(t=t+1|0,(0|r)==(0|i)););a:switch(i-34|0){case 0:case 5:break a;default:break r}if(!r){t=2;break t}}t=3}e[l+8>>2]=e[131156+(t<<3)>>2],e[ae>>2]=A}if(BA(137776,133168),r=BA(a+96|0,133208),g[a+157|0]=e[33291],g[a+156|0]=e[33290],t=e[33289],e[a+152>>2]=0,g[a+158|0]=t,(0|ee)>0)for(h=0;;){if(m=1,A=F(h,76)+133152|0,d[0|(t=A+16|0)]&&ra(0,t)&&(BA(137776,t),m=0,g[0|r]=0,g[a+158|0]=0,v[a+156>>1]=0),d[0|(t=A+56|0)]){w=BA(r,t),i=e[33679];t:if(d[0|(t=i)])for(;;){if(!qr(t=t+1|0,w)){BA(w,i+1|0);break t}if(t=1+(CA(t)+t|0)|0,!d[0|t])break}m&&(g[137776]=0)}if((t=e[A+8>>2])&&(g[a+156|0]=t),(t=e[A+12>>2])&&(g[a+157|0]=t),(t=e[A+4>>2])&&(g[a+158|0]=t),(0|ee)==(0|(h=h+1|0)))break}e[a+148>>2]=r,e[a+144>>2]=137776,(t=Lr(a+144|0,a+172|0))?$a(t,43)||(A=d[a+156|0],!d[134672]|((0|A)!=d[134724]?A:0)||(e[a>>2]=t,e[a+4>>2]=134672,uA(A=a+16|0,93533,a),t=137776,Zr(137776,A,40))):t=92003,A=0,qr(t,134784)&&(BA(134784,t),A=131072)}return oe=a+176|0,A}function xr(t,A){var r,a=0,i=0,l=0,h=0,m=0;r=t+A|0;e:{t:if(!(1&(a=e[t+4>>2]))){if(!(3&a))break e;A=(a=e[t>>2])+A|0;r:{if((0|(t=t-a|0))!=e[57157]){if(a>>>0<=255){if(l=e[t+8>>2],a=a>>>3|0,(0|(i=e[t+12>>2]))!=(0|l))break r;e[57152]=e[57152]&SA(-2,a);break t}if(m=e[t+24>>2],(0|(a=e[t+12>>2]))==(0|t))if((i=e[(l=t+20|0)>>2])||(i=e[(l=t+16|0)>>2])){for(;h=l,(i=e[(l=(a=i)+20|0)>>2])||(l=a+16|0,i=e[a+16>>2]););e[h>>2]=0}else a=0;else i=e[t+8>>2],e[i+12>>2]=a,e[a+8>>2]=i;if(!m)break t;l=e[t+28>>2];a:{if(e[(i=228912+(l<<2)|0)>>2]==(0|t)){if(e[i>>2]=a,a)break a;e[57153]=e[57153]&SA(-2,l);break t}if(e[m+(e[m+16>>2]==(0|t)?16:20)>>2]=a,!a)break t}if(e[a+24>>2]=m,(i=e[t+16>>2])&&(e[a+16>>2]=i,e[i+24>>2]=a),!(i=e[t+20>>2]))break t;e[a+20>>2]=i,e[i+24>>2]=a;break t}if(3&~(a=e[r+4>>2]))break t;return e[57154]=A,e[r+4>>2]=-2&a,e[t+4>>2]=1|A,void(e[r>>2]=A)}e[l+12>>2]=i,e[i+8>>2]=l}t:{if(!(2&(a=e[r+4>>2]))){if(e[57158]==(0|r)){if(e[57158]=t,A=e[57155]+A|0,e[57155]=A,e[t+4>>2]=1|A,e[57157]!=(0|t))break e;return e[57154]=0,void(e[57157]=0)}if(e[57157]==(0|r))return e[57157]=t,A=e[57154]+A|0,e[57154]=A,e[t+4>>2]=1|A,void(e[t+A>>2]=A);A=(-8&a)+A|0;r:if(a>>>0<=255){if(l=e[r+8>>2],a=a>>>3|0,(0|(i=e[r+12>>2]))==(0|l)){e[57152]=e[57152]&SA(-2,a);break r}e[l+12>>2]=i,e[i+8>>2]=l}else{if(m=e[r+24>>2],(0|r)==(0|(a=e[r+12>>2])))if((l=e[(i=r+20|0)>>2])||(l=e[(i=r+16|0)>>2])){for(;h=i,(l=e[(i=(a=l)+20|0)>>2])||(i=a+16|0,l=e[a+16>>2]););e[h>>2]=0}else a=0;else i=e[r+8>>2],e[i+12>>2]=a,e[a+8>>2]=i;if(m){l=e[r+28>>2];a:{if(e[(i=228912+(l<<2)|0)>>2]==(0|r)){if(e[i>>2]=a,a)break a;e[57153]=e[57153]&SA(-2,l);break r}if(e[m+(e[m+16>>2]==(0|r)?16:20)>>2]=a,!a)break r}e[a+24>>2]=m,(i=e[r+16>>2])&&(e[a+16>>2]=i,e[i+24>>2]=a),(i=e[r+20>>2])&&(e[a+20>>2]=i,e[i+24>>2]=a)}}if(e[t+4>>2]=1|A,e[t+A>>2]=A,e[57157]!=(0|t))break t;return void(e[57154]=A)}e[r+4>>2]=-2&a,e[t+4>>2]=1|A,e[t+A>>2]=A}if(A>>>0<=255)return a=228648+(-8&A)|0,(i=e[57152])&(A=1<<(A>>>3))?A=e[a+8>>2]:(e[57152]=A|i,A=a),e[a+8>>2]=t,e[A+12>>2]=t,e[t+12>>2]=a,void(e[t+8>>2]=A);l=31,A>>>0<=16777215&&(l=62+((A>>>38-(a=ce(A>>>8|0))&1)-(a<<1)|0)|0),e[t+28>>2]=l,e[t+16>>2]=0,e[t+20>>2]=0,h=228912+(l<<2)|0;t:{if((i=e[57153])&(a=1<<l)){for(l=A<<((0|l)!=31?25-(l>>>1|0):0),a=e[h>>2];;){if(i=a,(-8&e[a+4>>2])==(0|A))break t;if(a=l>>>29|0,l<<=1,!(a=e[16+(h=i+(4&a)|0)>>2]))break}e[h+16>>2]=t,e[t+24>>2]=i}else e[57153]=a|i,e[h>>2]=t,e[t+24>>2]=h;return e[t+12>>2]=t,void(e[t+8>>2]=t)}A=e[i+8>>2],e[A+12>>2]=t,e[i+8>>2]=t,e[t+24>>2]=0,e[t+12>>2]=i,e[t+8>>2]=A}}function Dr(t){var A=0,r=0,a=0,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0;if(!(A=g[88105]))return t;if(t=$a(t,A)){if(!d[88106])return t;if(d[t+1|0]){if(!d[88107]){i=!!(0|(r=d[t+1|0]));e:if(r&&(0|(A=r|d[0|t]<<8))!=(0|(m=d[88106]|d[88105]<<8)))for(r=t+1|0;;){if(i=!!(0|(a=d[(t=r)+1|0])),!a)break e;if(r=t+1|0,(0|m)==(0|(A=a|A<<8&65280)))break}return i?t:0}if(d[t+2|0]){if(!d[88108]){r=t+2|0,i=!!(0|(A=d[t+2|0]));e:if(A&&(0|(A=d[t+1|0]<<16|d[0|t]<<24|A<<8))!=(0|(m=d[88106]<<16|d[88105]<<24|d[88107]<<8)))for(;;){if(t=r+1|0,i=!!(0|(a=d[r+1|0])),!a)break e;if(r=t,(0|m)==(0|(A=(A|a)<<8)))break}else t=r;return i?t-2|0:0}if(d[t+3|0]){if(!d[88109]){r=t+3|0,i=!!(0|(A=d[t+3|0]));e:if(A&&(0|(A=A|d[t+1|0]<<16|d[0|t]<<24|d[t+2|0]<<8))!=(0|(m=(t=d[88105]|d[88106]<<8|d[88107]<<16|d[88108]<<24)<<24|(65280&t)<<8|t>>>8&65280|t>>>24)))for(;;){if(t=r+1|0,i=!!(0|(a=d[r+1|0])),!a)break e;if(r=t,(0|m)==(0|(A=a|A<<8)))break}else t=r;return i?t-3|0:0}m=t,oe=w=oe-1056|0,e[(t=w+1048|0)>>2]=0,e[t+4>>2]=0,e[(t=w+1040|0)>>2]=0,e[t+4>>2]=0,e[w+1032>>2]=0,e[w+1036>>2]=0,e[w+1024>>2]=0,e[w+1028>>2]=0;e:{t:{r:{a:{if(A=d[88105]){for(;;){if(!d[l+m|0])break t;if(l=l+1|0,e[((255&A)<<2)+w>>2]=l,e[(t=(w+1024|0)+(A>>>3&28)|0)>>2]=e[t>>2]|1<<A,!(A=d[l+88105|0]))break}if(t=1,M=-1,l>>>0>1)break a}else M=-1,t=1;h=-1,r=1;break r}for(a=1,A=1;;){a:if((0|(h=d[88105+(A+M|0)|0]))!=(0|(i=d[t+88105|0])))i>>>0<h>>>0?(a=t-M|0,r=t,A=1):(M=r,r=r+1|0,a=1,A=1);else{if((0|A)==(0|a)){r=r+a|0,A=1;break a}A=A+1|0}if(!(l>>>0>(t=r+A|0)>>>0))break}if(r=1,h=-1,l>>>0<=1)t=a;else{for(t=0,i=1,A=1;;){a:if((0|(P=d[88105+(A+h|0)|0]))!=(0|(y=d[r+88105|0])))y>>>0>P>>>0?(i=r-h|0,t=r,A=1):(h=t,t=t+1|0,i=1,A=1);else{if((0|A)==(0|i)){t=t+i|0,A=1;break a}A=A+1|0}if(!(l>>>0>(r=t+A|0)>>>0))break}t=a,r=i}}for(A=t,la(88105,(a=(t=h+1>>>0>M+1>>>0)?r:A)+88105|0,P=(y=t?h:M)+1|0)?(a=((t=~y+l|0)>>>0<y>>>0?y:t)+1|0,i=0):i=l-a|0,ee=l-1|0,R=63|l,h=0,t=m;;){if(!(m-t>>>0>=l>>>0))if(r=Nn(m,0,R)){if(m=r,r-t>>>0<l>>>0)break t}else m=m+R|0;r=d[t+ee|0],A=l;r:{if(e[(w+1024|0)+(r>>>3&28)>>2]>>>r&1)if((0|(r=e[(r<<2)+w>>2]))==(0|l)){a:{if(M=d[(r=(A=P)>>>0>h>>>0?A:h)+88105|0])for(;;){if(d[t+r|0]!=(255&M))break a;if(!(M=d[88105+(r=r+1|0)|0]))break}for(;;){if(A>>>0<=h>>>0)break e;if(d[88105+(A=A-1|0)|0]!=d[t+A|0])break}A=a,h=i;break r}A=r-y|0}else A=(r=l-r|0)>>>0>h>>>0?r:h;h=0}t=t+A|0}}t=0}oe=w+1056|0,r=t}}}}return r}function Ls(t,A,r,a,i,l){var h,m,w,M,y=0,P=0,R=0;if(oe=h=oe-560|0,g[h+448|0]=0,g[h+144|0]=0,g[h+120|0]=0,w=34&l,m=A-F(P=(0|A)/100|0,100)|0,1&(M=64&d[t+106|0]?(0|A)>999|l:0)|(0|A)>99){e:{t:{r:{if(!(!w|m)){if(!vA(t,90606,h+304|0))break r;break e}if(m)break t}if(vA(t,90691,h+304|0))break e}vA(t,90725,h+304|0)}y=l,(0|A)<1e3||(y=l,!(8&d[t+105|0])|A-2e3>>>0<4294967196&&(g[h+208|0]=0,NA(t,y=(P>>>0)/10|0,a=16384&e[t+108>>2]?0:i+1|0,!((A>>>0)%1e3|0)|w,h+272|0)||Yr(t,y,i,e[t+212>>2]==28012?520:(0|a)<4?(e[t+108>>2]>>>a&1)<<3:0,h+208|0),2&d[t+109|0]?(e[h+108>>2]=15,e[h+100>>2]=15,e[h+104>>2]=h+208,e[h+96>>2]=h+272,uA(h+144|0,90761,h+96|0)):(e[h+92>>2]=15,e[h+84>>2]=15,e[h+88>>2]=h+272,e[h+80>>2]=h+208,uA(h+144|0,90761,h+80|0)),a=1,1&(!!(0|(P=P-F(y,10)|0))|M)||(g[h+304|0]=0),y=1|l)),g[h+208|0]=0;e:if(!(~M&(0|P)<=0))if(!(4&d[t+106|0])|!(1&y|d[h+144|0])||vA(t,90824,h+120|0),!w|(16&d[t+109|0]?0:m)||(e[h+64>>2]=P,uA(a=h+548|0,90875,h- -64|0),R=vA(t,a,h+208|0),!(4096&e[t+108>>2])|(0|m)<=0||fa(h+208|0,133104)),a=1,1&(~M|!!(0|P))){t:{r:{a:{n:{if(!(131072&e[t+108>>2])||1&y|(0|P)!=1){if(m|R||(e[h+48>>2]=P,uA(a=h+548|0,90985,h+48|0),R=vA(t,a,h+208|0)),R||(e[h+32>>2]=P,uA(a=h+548|0,91027,h+32|0),vA(t,a,h+208|0)))break n;if((0|P)!=1)break r;break a}if(!R)break a}g[h+304|0]=0;break t}if(a=1,4&d[t+105|0])break e}Yr(t,P,i,0,h+208|0)}a=1}else vA(t,88875,h+208|0);e[h+28>>2]=h+304,e[h+24>>2]=h+208,e[h+20>>2]=h+120,e[h+16>>2]=h+144,uA(h+448|0,91059,h+16|0)}else y=l;g[h+132|0]=0;e:{t:{if((0|m)>0)16&d[t+109|0]&&2&y||(!(1&y)|i&&(0|A)<=100||!(64&(a=e[t+104>>2]))&(!(8388608&a)|m>>>0>9)||vA(t,90824,h+132|0),!(1&y|d[h+144|0])|!(524288&e[t+104>>2])|P||vA(t,90824,h+132|0)),g[h+336|0]=0;else if(g[h+336|0]=0,!m&a)break t;if(i?(l=e[t+108>>2],A=(0|i)<4?(l>>>i&1)<<3:0):(a=w?3:2,A=32&l|((0|A)<100?1&y?a:4|a:a),l=e[t+108>>2]),A=(0|i)==1&&e[t+212>>2]==28012?520|A:A,1048576&l&&(a=16|A,A=(0|P)>0||1&y?a:A),!Yr(t,m,i,256&y|A,h+336|0)|!(128&d[t+104|0]))break e;g[h+132|0]=0;break e}d[133104]&&((0|(t=CA(h+448|0)))<=0||d[447+(t=t+h|0)|0]==10&&(g[t+447|0]=0),BA(h+336|0,133104))}e[h+8>>2]=15,e[h+12>>2]=h+336,e[h+4>>2]=h+132,e[h>>2]=h+448,uA(r,91101,h),oe=h+560|0}function HA(t){var A,r,a,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0;for(i=e[32972],e[i+64>>2]=290816,e[i+68>>2]=4104,e[i+96>>2]=0,e[i+100>>2]=0,e[i+120>>2]=90,e[i+124>>2]=100,e[i+112>>2]=64,e[i+116>>2]=256,e[i+104>>2]=5,e[i+108>>2]=0,e[i+84>>2]=100,e[i+88>>2]=64,l=e[50754],e[i+132>>2]=0,e[i+136>>2]=0,e[i+128>>2]=l,e[i+140>>2]=0,e[i+144>>2]=0,e[i+148>>2]=0,e[i+152>>2]=0,e[i+156>>2]=0,e[i+160>>2]=0,e[36435]=450,e[i+92>>2]=2,e[50870]=0,e[50871]=0,e[50872]=0,e[50873]=0,e[50880]=0,e[50881]=0,e[50882]=0,e[50883]=0,e[50890]=0,e[50891]=0,e[50892]=0,e[50893]=0,h=-3.141592653589793/+e[50754],N[25429]=h,w=-2*h,N[25430]=w,A=(h=pr(200*h))*-h,N[25434]=A,N[25439]=A,N[25444]=A,h=(w=h*sa(2e3*w))+w,N[25433]=h,N[25438]=h,N[25443]=h,w=1-h-A,N[25432]=w,N[25437]=w,N[25442]=w,e[50902]=0,e[50903]=0,e[50900]=0,e[50901]=0,N[25449]=A,N[25448]=h,e[50912]=0,e[50913]=0,N[25447]=w,e[50910]=0,e[50911]=0,N[25454]=A,N[25453]=h,e[50922]=0,e[50923]=0,N[25452]=w,e[50920]=0,e[50921]=0,N[25459]=A,N[25458]=h,e[50932]=0,e[50933]=0,N[25457]=w,e[50930]=0,e[50931]=0,N[25464]=A,N[25463]=h,N[25462]=w,e[50942]=0,e[50943]=0,e[50940]=0,e[50941]=0,N[25469]=A,N[25468]=h,N[25467]=w,e[50952]=0,e[50953]=0,e[50950]=0,e[50951]=0,N[25474]=A,N[25473]=h,N[25472]=w,r=e[32972],l=0;v[236+(M=(l<<1)+r|0)>>1]=256,v[M+164>>1]=256,i=d[l+105376|0]<<1,v[M+254>>1]=i,v[M+182>>1]=i,v[M+200>>1]=d[l+105385|0]<<1,e[308+(i=(m=l<<2)+r|0)>>2]=e[m+105408>>2],e[i+272>>2]=0,v[M+218>>1]=0,e[m+200944>>2]=(0|F(e[m+105456>>2],22050))/e[50754],(0|(l=l+1|0))!=9;);for(ee=e[32961],l=0,a=r+344|0;;){if(i=y,P=ee,M=l,(0|(y=e[(l=131840+(m=l<<2)|0)>>2]))==-1&&(y=8e3,e[l>>2]=8e3,M&&(e[131840+(4|m)>>2]=e[m+131836>>2])),ee=e[131840+(4|m)>>2],!((0|i)>
2810=(0|(y=(0|y)/8|0))||(0|(R=y-i|0))<=0||(m=i+1|0,l=i,1&R&&(g[344+(i+r|0)|0]=(0|P)>=255?255:P,l=m),(0|m)==(0|y))))for(ae=ee-P|0;m=((0|F(l-i|0,ae))/(0|R)|0)+P|0,g[l+a|0]=(0|m)>=255?255:m,ue=((0|F((m=l+1|0)-i|0,ae))/(0|R)|0)+P|0,g[m+a|0]=(0|ue)>=255?255:ue,(0|y)!=(0|(l=l+2|0)););if(l=M+2|0,!(M>>>0<10))break}l=e[32972],e[l+80>>2]=232,e[l+72>>2]=256,e[l+76>>2]=238,t||(e[49848]=0),v[l+200>>1]=(0|F(v[l+200>>1],105))/100}function ss(t,A,r){var a,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0;oe=a=oe-288|0,(0|A)!=132848&&ms(132848,A,40),(0|(i=t+228|0))!=(0|A)&&ms(i,A,40),e[a+88>>2]=A,e[a+84>>2]=47,e[a+80>>2]=137584,uA(i=a+96|0,84089,a+80|0),l=nn(i),(i=e[t+688>>2])&&(DA(i),e[t+688>>2]=0),i=oa(a+96|0,84577);e:if((0|l)>0&&i)if(r=nA(l),e[t+688>>2]=r,r)if(M=xn(r,l,i),bs(i),M>>>0<=1032)e[a+16>>2]=a+96,fs(e[30450],85164,a+16|0),r=2;else if(i=e[t+688>>2],r=e[i+4>>2],!((0|(l=e[i>>2]))!=1024|(0|r)<=0)&(0|r)<134217729){i=r+i|0,e[t+684>>2]=i,P=kA(t+5168|0,0,1024),kA(t+7664|0,0,260),kA(t+7924|0,255,256),kA(t+4788|0,0,380),kA(t+6192|0,0,512);t:if((0|(r=d[0|i]))!=7)for(;;){if((0|(l=255&r))!=6){if(!l)break t;l=e[t+684>>2],e[a+72>>2]=r<<24>>24,e[a+64>>2]=132848,e[a+68>>2]=i-l,fs(e[30450],88950,a- -64|0);break}r:{a:{n:{c:{o:switch((l=d[0|(r=i+1|0)])-18|0){case 0:break c;case 2:break o;default:break n}for(r=4+(-4&r)|0,e[t+180>>2]=r;r=(i=r)+1|0,!No(i););for(;l=d[0|i],r=i,i=i+1|0,(0|l)!=7;);break r}if(r=i+3|0,(0|(i=((0|(i=g[i+2|0]))<65?191:-65)+i|0))>94)break a;e[4788+((i<<2)+t|0)>>2]=r;break a}switch(r=1+((m=CA(r))+r|0)|0,0|m){case 1:e[5168+((l<<2)+t|0)>>2]=r;break a;case 0:e[P>>2]=r;break a}m=d[i+2|0],(0|l)!=1?(i=e[t+7664>>2],d[0|(y=7924+(h=t+l|0)|0)]==255&&(g[0|y]=i),g[0|(h=h+7668|0)]=d[0|h]+1,e[6704+(h=(i<<2)+t|0)>>2]=r,e[t+7664>>2]=i+1,e[h+7184>>2]=l|m<<8):e[6188+((m<<2)+t|0)>>2]=r}if(d[0|r]!=7)for(;r=1+(CA(r)+r|0)|0,d[0|r]!=7;);}r=d[0|(i=r+1|0)]}for(i=e[t+688>>2]+8|0;;){for(e[692+((r=w<<2)+t|0)>>2]=i;l=d[0|i];)i=i+l|0;for(i=i+1|0,e[692+((4|r)+t|0)>>2]=i;r=d[0|i];)i=r+i|0;if(i=i+1|0,(0|(w=w+2|0))==1024)break}r=0,(0|(t=e[t+324>>2]))<=0|t>>>0<=M>>>0||(e[a+48>>2]=A,fs(e[30450],85519,a+48|0))}else e[a+40>>2]=r,e[a+36>>2]=l,e[a+32>>2]=a+96,fs(e[30450],85349,a+32|0),r=2;else bs(i),r=3;else{if(r||(e[a>>2]=a+96,fs(e[30450],84963,a)),r=1,!i)break e;bs(i)}return oe=a+288|0,r}function Da(t){var A,r=0,a=0;for(A=kA(t+344|0,0,256),g[t+364|0]=1,g[t+356|0]=1,g[t+357|0]=1,g[t+358|0]=1,g[t+359|0]=1,g[t+360|0]=1,g[t+361|0]=1,g[t+362|0]=1,g[t+363|0]=1,g[t+348|0]=1,g[t+349|0]=1,g[t+350|0]=1,g[t+351|0]=1,g[t+352|0]=1,g[t+353|0]=1,g[t+354|0]=1,g[t+355|0]=1,g[t+431|0]=3,g[t+429|0]=3,g[t+430|0]=3,g[t+406|0]=3,g[t+407|0]=3,g[t+408|0]=3,g[t+409|0]=3,g[t+410|0]=3,g[t+411|0]=3,g[t+412|0]=3,g[t+413|0]=3,g[t+414|0]=3,g[t+415|0]=3,g[t+416|0]=3,g[t+417|0]=3,g[t+418|0]=3,g[t+419|0]=3,g[t+420|0]=3,g[t+421|0]=3,g[t+440|0]=3,g[t+441|0]=3,g[t+442|0]=3,g[t+443|0]=3,a=21;g[344+(r=t+a|0)|0]=4|d[r+344|0],(0|(r=a+1|0))!=58;)g[0|(r=r+A|0)]=4|d[0|r],g[2+(r=a+A|0)|0]=4|d[r+2|0],g[r+3|0]=4|d[r+3|0],a=a+4|0;g[t+346|0]=4|d[t+346|0],g[t+347|0]=4|d[t+347|0],g[t+432|0]=4|d[t+432|0],g[t+433|0]=4|d[t+433|0],g[t+434|0]=4|d[t+434|0],g[t+435|0]=4|d[t+435|0],g[t+436|0]=4|d[t+436|0],g[t+437|0]=4|d[t+437|0],g[t+438|0]=4|d[t+438|0],g[t+439|0]=4|d[t+439|0],g[t+467|0]=4|d[t+467|0],g[t+468|0]=4|d[t+468|0],g[t+470|0]=4|d[t+470|0],g[t+471|0]=4|d[t+471|0],g[t+348|0]=64|d[t+348|0],g[t+349|0]=64|d[t+349|0],g[t+350|0]=64|d[t+350|0],g[t+351|0]=64|d[t+351|0],g[t+352|0]=64|d[t+352|0],g[t+353|0]=64|d[t+353|0],g[t+354|0]=64|d[t+354|0],g[t+355|0]=64|d[t+355|0],g[t+356|0]=64|d[t+356|0],g[t+357|0]=64|d[t+357|0],g[t+358|0]=64|d[t+358|0],g[t+359|0]=64|d[t+359|0],g[t+360|0]=64|d[t+360|0],g[t+361|0]=64|d[t+361|0],g[t+362|0]=64|d[t+362|0],g[t+363|0]=64|d[t+363|0],g[t+364|0]=64|d[t+364|0],g[t+406|0]=64|d[t+406|0],g[t+407|0]=64|d[t+407|0],g[t+408|0]=64|d[t+408|0],g[t+409|0]=64|d[t+409|0],g[t+410|0]=64|d[t+410|0],g[t+411|0]=64|d[t+411|0],g[t+412|0]=64|d[t+412|0],g[t+413|0]=64|d[t+413|0],g[t+414|0]=64|d[t+414|0],g[t+415|0]=64|d[t+415|0],g[t+416|0]=64|d[t+416|0],g[t+417|0]=64|d[t+417|0],g[t+418|0]=64|d[t+418|0],g[t+419|0]=64|d[t+419|0],g[t+420|0]=64|d[t+420|0],g[t+440|0]=64|d[t+440|0],g[t+441|0]=64|d[t+441|0],g[t+429|0]=64|d[t+429|0],g[t+430|0]=64|d[t+430|0],g[t+431|0]=64|d[t+431|0],g[t+442|0]=64|d[t+442|
vendor: 16,143 bytes, line 2810
28100],g[t+443|0]=64|d[t+443|0],e[t+40>>2]=1,e[t+204>>2]=e[t+600>>2]+77}function dn(t,A,r,a,i,l,h,m,w){var M,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,Te=0,Oe=0,$e=0;oe=M=oe-128|0;e:{t:{if(Wt(l,h,m,w,0,0,0,0)){P=65535&w;r:a:{if((0|(ee=w>>>16&32767))!=32767){if(y=4,ee)break a;y=l|m|h|P?3:2;break r}y=!(l|m|h|P)}if((0|(ae=32767&(Oe=i>>>16|0)))!=32767&&y)break t}Jt(M+16|0,A,r,a,i,l,h,m,w),EA(M,A=e[M+16>>2],a=e[M+20>>2],i=e[M+24>>2],r=e[M+28>>2],A,a,i,r),a=e[M+8>>2],i=e[M+12>>2],m=e[M>>2],w=e[M+4>>2];break e}if(ee=m,(0|Wt(A,r,y=a,ue=2147483647&i,l,h,m,R=2147483647&w))<=0){if(Wt(A,r,y,ue,l,h,ee,R)){m=A,w=r;break e}Jt(M+112|0,A,r,a,i,0,0,0,0),a=e[M+120>>2],i=e[M+124>>2],m=e[M+112>>2],w=e[M+116>>2]}else{if(be=w>>>16&32767,ae?(w=r,m=A):(Jt(M+96|0,A,r,y,ue,0,0,0,1081540608),y=e[M+104>>2],ue=m=e[M+108>>2],ae=(m>>>16|0)-120|0,w=e[M+100>>2],m=e[M+96>>2]),be||(Jt(M+80|0,l,h,ee,R,0,0,0,1081540608),ee=e[M+88>>2],R=l=e[M+92>>2],be=(l>>>16|0)-120|0,h=e[M+84>>2],l=e[M+80>>2]),Te=ee,$e=65535&R|65536,ue=65535&ue|65536,(0|ae)>(0|be)){for(;;){if(ee=(R=y-Te|0)-(P=(0|h)==(0|w)&l>>>0>m>>>0|h>>>0>w>>>0)|0,(0|(P=(ue-((y>>>0<Te>>>0)+$e|0)|0)-(P>>>0>R>>>0)|0))>0|(0|P)>=0){if(y=m,!((m=m-l|0)|ee|(w=w-((l>>>0>y>>>0)+h|0)|0)|P)){Jt(M+32|0,A,r,a,i,0,0,0,0),a=e[M+40>>2],i=e[M+44>>2],m=e[M+32>>2],w=e[M+36>>2];break e}P=P<<1|ee>>>31,y=ee<<1|w>>>31}else P=ue<<1|y>>>31,y=y<<1|w>>>31;if(ue=P,P=w<<1|m>>>31,m<<=1,w=P,!((0|(ae=ae-1|0))>(0|be)))break}ae=be}if(ee=(R=y-Te|0)-(P=(0|h)==(0|w)&l>>>0>m>>>0|h>>>0>w>>>0)|0,R=P=(ue-((y>>>0<Te>>>0)+$e|0)|0)-(P>>>0>R>>>0)|0,(0|P)<0)ee=y,R=ue;else if(y=m,!((m=m-l|0)|ee|(w=w-((l>>>0>y>>>0)+h|0)|0)|R)){Jt(M+48|0,A,r,a,i,0,0,0,0),a=e[M+56>>2],i=e[M+60>>2],m=e[M+48>>2],w=e[M+52>>2];break e}if((0|R)==65535|R>>>0<65535)for(;A=w>>>31|0,ae=ae-1|0,ue=w<<1|m>>>31,m<<=1,w=ue,r=A,A=R<<1|ee>>>31,ee=r|ee<<1,R=A,A>>>0<65536;);A=32768&Oe,(0|ae)<=0?(Jt(M- -64|0,m,w,ee,65535&R|(A|ae+120)<<16,0,0,0,1065811968),a=e[M+72>>2],i=e[M+76>>2],m=e[M+64>>2],w=e[M+68>>2]):(a=ee,i=65535&R|(A|ae)<<16)}}e[t>>2]=m,e[t+4>>2]=w,e[t+8>>2]=a,e[t+12>>2]=i,oe=M+128|0}function Ga(t,A,r){var a,i,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0;if(oe=a=oe-1040|0,(0|(h=Ko(t,589824,0)))>=0&&((l=kn(1,2072))?e[l+8>>2]=h:(Ne(0|h),l=0)),i=l,l){e:if(l=Uo(i))for(ee=e[30450],R=(a+96|0)+A|0;;){if((0|(h=e[50303]))>=348){e[a+4>>2]=350,e[a>>2]=h+1,fs(ee,91860,a);break e}if(d[l+19|0]!=46)if(e[a+88>>2]=l+19,e[a+84>>2]=47,e[a+80>>2]=t,uA(l=a+96|0,91924,a+80|0),(0|(l=nn(l)))!=-31){if(!((0|l)<=0)&&(P=oa(a+96|0,85712))){m=0,g[a+832|0]=0,g[a+752|0]=0,e[a+360>>2]=0,e[a+356>>2]=4,M=0;t:for(;;){for(y=299-M|0;Qr(a+912|0,120,P);){l=a+912|0;r:{if(d[a+912|0]!=35){a:if(!((0|(l=CA(a+912|0)-1|0))<=0))for(;;){if(!((0|(h=g[0|(w=(a+912|0)+l|0)]))==32|h-9>>>0<5))break a;if(g[0|w]=0,!((0|(l=l-1|0))>0))break}if(!(l=Dr(a+912|0)))break r}g[0|l]=0}l=a+912|0;r:if(h=d[a+912|0])for(;;){if(ns(h<<24>>24))break r;if(!(h=d[0|(l=l+1|0)]))break}if(g[0|l]=0,d[a+912|0]){l=l+1|0;r:switch(ua(131904,a+912|0)-1|0){case 0:for(;h=l,l=l+1|0,(0|(w=g[0|h]))==32|w-9>>>0<5;);Zr(a+832|0,h,80);continue;case 1:if(g[a+672|0]=0,e[a+364>>2]=5,h=a+672|0,e[a+16>>2]=h,e[a+20>>2]=a+364,oA(l,86237,a+16|0),(h=CA(h)+2|0)>>>0>=y>>>0)continue;g[0|(l=(a+368|0)+M|0)]=e[a+364>>2],BA(l+1|0,a+672|0),m=m+1|0,M=h+M|0;continue t;case 2:if(e[a+52>>2]=a+360,e[a+48>>2]=a+752,oA(l,86237,a+48|0),!r)continue;e[a+32>>2]=R,fs(ee,92042,a+32|0);continue;case 5:break r;default:continue}e[a+64>>2]=a+356,oA(l,87268,a- -64|0)}}break}g[(a+368|0)+M|0]=0,h=ua(132112,a+752|0),m?(w=CA(R)+M|0,y=sr((m=kn(28+(CA(a+832|0)+w|0)|0,1))+24|0,a+368|0,l=M+1|0),e[m+4>>2]=y,l=BA(l+y|0,R),e[m>>2]=l,e[m+8>>2]=l,d[a+832|0]&&(e[m>>2]=BA(2+(w+y|0)|0,a+832|0)),l=e[a+360>>2],g[m+14|0]=0,g[m+12|0]=h,g[m+13|0]=l,g[m+15|0]=e[a+356>>2],bs(P),l=e[50303],e[50303]=l+1,e[201216+(l<<2)>>2]=m):bs(P)}}else Ga(a+96|0,A,r);if(!(l=Uo(i)))break}$o(e[i+8>>2]),DA(i)}oe=a+1040|0}function Ka(t,A){var r,a=0,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0;oe=r=oe-352|0;e:if(t||(t=e[136284+(A<<4)>>2])){d[0|t]!=47&&(e[r+12>>2]=t,e[r+4>>2]=47,e[r+8>>2]=47,e[r>>2]=137584,uA(t=r+16|0,84114,r)),g[r+240|0]=0;t:{r:{if(a=oa(t,84577)){if((0|Ot(a,20))==-1)break t;if(l=So(a),i=So(a),m=So(a),!((0|l)!=65537|(0|i)!=e[50754])&(0|m)==i<<1)break r;bs(a),v[r+256>>1]=d[84864]|d[84865]<<8,t=d[84852]|d[84853]<<8|d[84854]<<16|d[84855]<<24,e[r+240>>2]=d[84848]|d[84849]<<8|d[84850]<<16|d[84851]<<24,e[r+244>>2]=t,t=d[84860]|d[84861]<<8|d[84862]<<16|d[84863]<<24,e[r+248>>2]=d[84856]|d[84857]<<8|d[84858]<<16|d[84859]<<24,e[r+252>>2]=t,oe=l=oe-16|0;a:{if((a=CA(t=r+240|0))>>>0>=6&&!la(m=(t+a|0)-6|0,84274,6)){for(M=100;;){for(w=0,oe=a=oe-16|0,d[227196]||(g[227197]=We(),g[227196]=1),P=+_e(),he(h=P/1e3)<9223372036854776e3?(y=he(h)>=1?~~(h>0?ge(Me(23283064365386963e-26*h),4294967295):Ue(23283064365386963e-26*(h-+(~~h>>>0>>>0))))>>>0:0,i=~~h>>>0):(y=-2147483648,i=0),e[a>>2]=i,e[a+4>>2]=y,h=1e3*(P-(+(er(i,y,1e3,0)>>>0)+4294967296*+(0|fe)))*1e3,i=he(h)<2147483648?~~h:-2147483648,e[a+8>>2]=i,i=m+(a>>>4|0)^F(e[a+8>>2],65537);g[m+w|0]=65+(15&i|i<<1&32),i=i>>>5|0,(0|(w=w+1|0))!=6;);if(oe=a+16|0,e[l>>2]=384,(0|(a=Ko(t,194,l)))>=0)break a;if(M=M-1|0,e[56798]!=20||!M)break}sr(m,84274,6)}else e[56798]=28;a=-1}oe=l+16|0,(0|a)<0||$o(a)}if(!(a=oa(t,84577))){t=In(0,e[56798],t);break e}}if((0|(l=nn(t)))<0){bs(a),t=In(0,0-l|0,t);break e}if((0|Ot(a,0))==-1){A=e[56798],bs(a),t=In(0,A,t);break e}if(!(i=xs(e[(m=136280+(A<<4)|0)>>2],l))){bs(a),t=48;break e}if((0|xn(i,l,a))!=(0|l)){A=e[56798],bs(a),d[r+240|0]&&ma(r+240|0),DA(i),t=In(0,A,t);break e}bs(a),d[r+240|0]&&ma(r+240|0),e[136276+(A<<4)>>2]=(d[i+40|0]|d[i+41|0]<<8|d[i+42|0]<<16|d[i+43|0]<<24)/2,e[m>>2]=i,t=0;break e}A=e[56798],bs(a),t=In(0,A,t)}else t=28;return oe=r+352|0,t}function gn(t,A,r,a,i,l){var h,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,Te=0,Oe=0,$e=0,nt=0;for(g[0|r]=1,h=1&l,$e=1,ue=-1,be=-1,y=1,l=A;;){nt=Oe-2|0,Te=P,ee=be;e:{t:{for(;;){if(!(R=d[0|l])){be=ee,P=Te;break e}if(l=l+1|0,ae=e[144464+(R<<2)>>2]){r:{if((0|(m=d[ae+11|0]))!=1){if(16&d[ae+6|0]|(0|m)!=2)break r;g[0|(P=r+y|0)]=ue,m=(0|ue)<4|(0|ee)>(0|ue),!(2&d[ae+4|0])|!h|(0|ue)>=0||(g[0|P]=1),P=m?Te:y,be=m?ee:ue,ue=-1,y=y+1|0;break t}if(!T[ae+8>>1]){m=0,M=y;a:if((0|R)!=8)m=d[ae+14|0],e[i>>2]&&m>>>0>=4||(ee=(0|m)<(0|ee)?ee:m,ue=m);else{for(;;){if(R=m,M=M-1|0,e[i>>2]|(0|M)<=0||(0|(ae=g[0|(w=r+M|0)]))>3)break a;if(m=R+1|0,!(ae>>>0<2))break}if(g[0|w]=4,Te=(0|ee)<4?M:Te,ee=(0|ee)<=4?4:ee,M>>>0<2)break a;if(ae=3&(M=~R+Oe|0),m=1,nt-R>>>0>=3)for(R=-4&M,M=0;d[0|(w=r+m|0)]==4&&(g[0|w]=3),d[w+1|0]==4&&(g[w+1|0]=3),d[w+2|0]==4&&(g[w+2|0]=3),d[w+3|0]==4&&(g[w+3|0]=3),m=m+4|0,(0|R)!=(0|(M=M+4|0)););if(w=0,!ae)break a;for(;d[0|(R=r+m|0)]==4&&(g[0|R]=3),m=m+1|0,(0|ae)!=(0|(w=w+1|0)););}if($e)continue;break e}}break}}be=ee,P=Te,(0|R)==20&&(g[r+y|0]=h&&(0|ue)<0?1:ue,y=y+1|0)}if(g[0|A]=R,Oe=y-1|0,A=A+1|0,$e=(0|y)<99)continue}break}g[r+y|0]=1,g[0|A]=0;e:if((0|(A=e[i>>2]))>0)be=4,(0|A)>=(0|y)&&(e[i>>2]=Oe,A=Oe),g[A+r|0]=4,P=e[i>>2];else if((0|be)==5&&(be=4,!((0|y)<2))){if(l=1,ee=1&(A=y-1|0),(0|y)!=2)for(Te=-2&A,M=0;;){w=4;t:{r:{a:switch(d[0|(A=(m=l)+r|0)]-4|0){case 1:break r;case 0:break a;default:break t}w=2&d[t+14|0]?1:3,m=P}g[0|A]=w,P=m}w=4;t:{r:{a:switch(d[0|(A=(m=l+1|0)+r|0)]-4|0){case 1:break r;case 0:break a;default:break t}w=2&d[t+14|0]?1:3,m=P}g[0|A]=w,P=m}if(l=l+2|0,(0|Te)==(0|(M=M+2|0)))break}if(ee){w=4;t:{r:switch(d[0|(A=r+l|0)]-4|0){case 1:break t;case 0:break r;default:break e}w=2&d[t+14|0]?1:3,l=P}g[0|A]=w,P=l}}return e[i>>2]=P,e[a>>2]=y,be}function xs(t,A){var r,a,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0;if(!t)return nA(A);if(A>>>0>=4294967232)return e[56798]=48,0;r=A>>>0<11?16:A+11&-8,h=-8&(a=e[4+(m=t-8|0)>>2]);e:if(3&a){w=h+m|0;t:if(h>>>0>=r>>>0){if((l=h-r|0)>>>0<16)break t;e[m+4>>2]=1&a|r|2,e[4+(i=m+r|0)>>2]=3|l,e[w+4>>2]=1|e[w+4>>2],xr(i,l)}else if(e[57158]!=(0|w))if(e[57157]!=(0|w)){if(2&(l=e[w+4>>2])||(y=h+(-8&l)|0)>>>0<r>>>0)break e;R=y-r|0;r:if(l>>>0<=255){if(h=e[w+8>>2],i=l>>>3|0,(0|(l=e[w+12>>2]))==(0|h)){e[57152]=e[57152]&SA(-2,i);break r}e[h+12>>2]=l,e[l+8>>2]=h}else{if(P=e[w+24>>2],(0|(M=e[w+12>>2]))==(0|w))if((i=e[(h=w+20|0)>>2])||(i=e[(h=w+16|0)>>2])){for(;l=h,M=i,(i=e[(h=i+20|0)>>2])||(h=M+16|0,i=e[M+16>>2]););e[l>>2]=0}else M=0;else i=e[w+8>>2],e[i+12>>2]=M,e[M+8>>2]=i;if(P){l=e[w+28>>2];a:{if(e[(i=228912+(l<<2)|0)>>2]==(0|w)){if(e[i>>2]=M,M)break a;e[57153]=e[57153]&SA(-2,l);break r}if(e[(e[P+16>>2]==(0|w)?16:20)+P>>2]=M,!M)break r}e[M+24>>2]=P,(i=e[w+16>>2])&&(e[M+16>>2]=i,e[i+24>>2]=M),(i=e[w+20>>2])&&(e[M+20>>2]=i,e[i+24>>2]=M)}}R>>>0<=15?(e[m+4>>2]=1&a|y|2,e[4+(i=m+y|0)>>2]=1|e[i+4>>2]):(e[m+4>>2]=1&a|r|2,e[4+(l=m+r|0)>>2]=3|R,e[4+(i=m+y|0)>>2]=1|e[i+4>>2],xr(l,R))}else{if((l=h+e[57154]|0)>>>0<r>>>0)break e;(i=l-r|0)>>>0>=16?(e[m+4>>2]=1&a|r|2,e[4+(h=m+r|0)>>2]=1|i,e[(l=l+m|0)>>2]=i,e[l+4>>2]=-2&e[l+4>>2]):(e[m+4>>2]=l|1&a|2,e[4+(i=l+m|0)>>2]=1|e[i+4>>2],i=0,h=0),e[57157]=h,e[57154]=i}else{if((h=h+e[57155]|0)>>>0<=r>>>0)break e;e[m+4>>2]=1&a|r|2,i=h-r|0,e[4+(l=m+r|0)>>2]=1|i,e[57155]=i,e[57158]=l}i=m}else{if(r>>>0<256||h>>>0>=r+4>>>0&&(i=m,h-r>>>0<=e[57272]<<1>>>0))break e;i=0}return i?i+8|0:(m=nA(A))?(sr(m,t,A>>>0>(i=(3&(i=e[t-4>>2])?-4:-8)+(-8&i)|0)>>>0?i:A),DA(t),m):0}function hn(){var t,A,r=0,a=0;return t=zs(12),e[t>>2]=22050,A=zs(432),e[(a=A)+4>>2]=0,e[a+8>>2]=0,e[a>>2]=132304,e[a+32>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,kA(a+40|0,0,376),e[a+420>>2]=0,e[a+424>>2]=-1,g[a+416|0]=1,r=kA(zs(408),0,408),e[a+28>>2]=r,g[r+8|0]=1,e[t+4>>2]=a,r=zs(1096),e[r+8>>2]=22050,e[r+4>>2]=22050,e[r>>2]=132352,e[r+64>>2]=22050,e[r+56>>2]=0,e[r+60>>2]=0,e[r+32>>2]=0,e[r+36>>2]=0,e[r+24>>2]=22050,e[r+16>>2]=0,e[r+20>>2]=0,e[r+40>>2]=0,e[r+44>>2]=0,g[r+48|0]=0,e[r+128>>2]=0,e[r+132>>2]=0,v[r+96>>1]=0,e[r+72>>2]=22050,e[r+136>>2]=0,e[r+140>>2]=0,v[r+168>>1]=0,e[r+144>>2]=22050,e[r+200>>2]=0,e[r+204>>2]=0,e[r+208>>2]=0,e[r+212>>2]=0,e[r+216>>2]=22050,v[r+240>>1]=0,e[r+280>>2]=0,e[r+284>>2]=0,e[r+272>>2]=0,e[r+276>>2]=0,e[r+288>>2]=22050,v[r+312>>1]=0,e[r+344>>2]=0,e[r+348>>2]=0,e[r+352>>2]=0,e[r+356>>2]=0,e[r+360>>2]=22050,v[r+384>>1]=0,e[r+416>>2]=0,e[r+420>>2]=0,e[r+424>>2]=0,e[r+428>>2]=0,e[r+432>>2]=22050,v[r+456>>1]=0,e[r+488>>2]=0,e[r+492>>2]=0,e[r+496>>2]=0,e[r+500>>2]=0,e[r+504>>2]=22050,v[r+528>>1]=1,e[r+560>>2]=0,e[r+564>>2]=0,e[r+568>>2]=0,e[r+572>>2]=0,v[r+600>>1]=0,e[r+576>>2]=22050,e[r+640>>2]=0,e[r+644>>2]=0,e[r+632>>2]=0,e[r+636>>2]=0,v[r+680>>1]=0,e[r+656>>2]=22050,e[r+648>>2]=22050,e[r+720>>2]=0,e[r+724>>2]=0,e[r+712>>2]=0,e[r+716>>2]=0,v[r+752>>1]=0,e[r+728>>2]=22050,e[r+792>>2]=0,e[r+796>>2]=0,e[r+784>>2]=0,e[r+788>>2]=0,v[r+824>>1]=0,e[r+800>>2]=22050,e[r+864>>2]=0,e[r+868>>2]=0,e[r+856>>2]=0,e[r+860>>2]=0,e[r+872>>2]=22050,v[r+896>>1]=0,e[r+936>>2]=0,e[r+940>>2]=0,e[r+928>>2]=0,e[r+932>>2]=0,v[r+968>>1]=0,e[r+944>>2]=22050,e[r+1008>>2]=0,e[r+1012>>2]=0,e[r+1e3>>2]=0,e[r+1004>>2]=0,v[r+1040>>1]=0,e[r+1016>>2]=22050,e[r+1088>>2]=0,e[(a=r+1080|0)>>2]=0,e[a+4>>2]=0,e[(a=r+1072|0)>>2]=0,e[a+4>>2]=0,e[t+8>>2]=r,Ar[e[e[r>>2]+4>>2]](r,A),t}function ya(t,A,r){var a=0,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0;e:if(P=e[50759]){if(a=e[50980],i=F(a,80)+222176|0,(0|(w=(0|(i=(0|(i=(e[i+12>>2]+e[i>>2]|0)/(0|t)|0))<(0|(y=((0|F(e[50754],19))/40<<16)/(0|t)|0))?i:y))>=399?399:i))>=0&&(kA(A,0,4+(w<<2)|0),a=e[50980]),(0|a)>=0)for(R=e[50801];;){if(l=F(h,80)+222176|0,e[l+4>>2]&&(m=e[l>>2])){if(ee=m+e[l+12>>2]|0,a=1+((m-e[l+8>>2]|0)/(0|t)|0)|0,(0|m)>(0|(a=F(i=(0|a)<=1?1:a,t))))for(;e[(M=(i<<2)+A|0)>>2]=e[M>>2]+F(e[l+4>>2],d[((m-a|0)/(e[l+8>>2]>>8)|0)+R|0]),i=i+1|0,(0|m)>(0|(a=t+a|0)););if(!((0|a)>=(0|ee)))for(;e[(M=(i<<2)+A|0)>>2]=e[M>>2]+F(e[l+4>>2],d[((a-m|0)/(e[l+12>>2]>>8)|0)+R|0]),i=i+1|0,(0|ee)>(0|(a=t+a|0)););}if(!((0|(h=h+1|0))<=e[50980]))break}if(i=1,!((0|(l=65536e3/(0|t)|0))<=0||(0|(a=F(e[55565],10)))<=0))for(l=(0|a)/(0|l)|0;e[(m=(i<<2)+A|0)>>2]=e[m>>2]+a,i=i+1|0,(0|(a=a-l|0))>0;);if((0|h)<=8)for(;i=203216+(a=h<<2)|0,l=F(h,80)+222176|0,m=e[l+4>>2]>>14,e[i>>2]=(0|F(F(m,m),5))/2,r?a=e[a+203264>>2]:(m=a+203264|0,a=e[l>>2]/(0|t)|0,e[m>>2]=a),(0|a)>=(0|y)&&(e[i>>2]=0),(0|(h=h+1|0))!=9;);if(i=0,(0|w)>=0)for(a=0;l=e[(h=(a<<2)+A|0)>>2]>>15,l=F(l,l)>>8,e[h>>2]=l,(0|i)<=524287999&&(e[h>>2]=F(l,d[344+((i>>19)+P|0)|0])>>13),i=t+i|0,h=(0|a)!=(0|w),a=a+1|0,h;);if(e[A+4>>2]=(0|F(e[A+4>>2],d[203300]?6:10))/8,1&r)for(t=e[50826],a=1;;){if(e[203312+(r=a<<2)>>2]=e[A+r>>2]-e[t+r>>2]>>3,(0|(r=a+1|0))==30)break e;e[203312+(r<<=2)>>2]=e[A+r>>2]-e[t+r>>2]>>3,a=a+2|0}}else w=1;return w}function ui(t,A,r,a){var i,l=0,h=0;oe=i=oe-176|0,g[0|t]=0,v[i+80>>1]=24320,e[i+104>>2]=0,e[i+108>>2]=0,g[82+(Rr(r,l=i+80|2)+i|0)|0]=0;e:{t:{if(!a){if(a=i+80|1,e[i+12>>2]=a,ls(A,i+12|0,i+16|0,i+104|0,0,0)||(e[i+12>>2]=l,ls(A,i+12|0,i+16|0,i+104|0,0,0)||(g[i+81|0]=32,LA(A,l,i+16|0,60,0,0,0))),(r=d[i+16|0])&&(0|r)!=21)break t;r:{if(e[A+212>>2]!=25966){if(_o(85719,188772,189296),g[i+81|0]=95,e[i+12>>2]=a,ls(e[47193],i+12|0,i+16|0,i+104|0,0,0)||(e[i+12>>2]=l,ls(e[47193],i+12|0,i+16|0,i+104|0,0,0)),d[i+16|0])break r;ba(e[e[32972]+60>>2]),r=d[i+16|0]}if(255&r)break t;A=d[87124]|d[87125]<<8|d[87126]<<16|d[87127]<<24,r=d[87120]|d[87121]<<8|d[87122]<<16|d[87123]<<24,g[0|t]=r,g[t+1|0]=r>>>8,g[t+2|0]=r>>>16,g[t+3|0]=r>>>24,g[t+4|0]=A,g[t+5|0]=A>>>8,g[t+6|0]=A>>>16,g[t+7|0]=A>>>24,g[t+16|0]=d[87136],A=d[87132]|d[87133]<<8|d[87134]<<16|d[87135]<<24,r=d[87128]|d[87129]<<8|d[87130]<<16|d[87131]<<24,g[t+8|0]=r,g[t+9|0]=r>>>8,g[t+10|0]=r>>>16,g[t+11|0]=r>>>24,g[t+12|0]=A,g[t+13|0]=A>>>8,g[t+14|0]=A>>>16,g[t+15|0]=A>>>24;break e}a=i+16|0,l=i+104|0,oe=r=oe-112|0,(h=e[47193])?(IA(h,a,l,-1,0),PA(l=a,a=r+48|0),A=e[A+212>>2],g[r+43|0]=A>>>24,g[0|(h=(l=r+43|0)+(A>>>0>16777215)|0)]=A>>>16,g[0|(h=h+!!(16711680&A)|0)]=A>>>8,g[0|(h=h+!!(65280&A)|0)]=A,g[h+!!(255&A)|0]=0,e[r+16>>2]=85719,e[r+24>>2]=l,e[r+20>>2]=a,uA(t,85662,r+16|0)):(IA(A,a,l,-1,0),PA(a,A=r+48|0),e[r>>2]=A,uA(t,85451,r)),oe=r+112|0,ba(e[e[32972]+60>>2]);break e}if(e[i+12>>2]=l,ls(A,i+12|0,i+16|0,i+104|0,0,0),!d[i+16|0])break e}IA(r=A,A=i+16|0,i+104|0,-1,0),PA(r=A,A=i+112|0),e[i>>2]=A,uA(t,85451,i)}return oe=i+176|0,t}function La(t,A){var r,a=0,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,Te=0,Oe=0,$e=0,nt=0;if(oe=r=oe-112|0,e[r+72>>2]=-1,e[(a=r- -64|0)>>2]=-1,e[a+4>>2]=-1,e[r+56>>2]=-1,e[r+60>>2]=-1,e[r+48>>2]=-1,e[r+52>>2]=-1,e[r+40>>2]=-1,e[r+44>>2]=-1,e[r+32>>2]=-1,e[r+36>>2]=-1,e[r+24>>2]=-1,e[r+28>>2]=-1,e[r+16>>2]=-1,e[r+20>>2]=-1,(0|A)>0){for(l=e[r+72>>2],h=e[r+68>>2],m=e[r+64>>2],w=e[r+60>>2],M=e[r+56>>2],y=e[r+52>>2],P=e[r+48>>2],R=e[r+44>>2],ee=e[r+40>>2],ae=e[r+36>>2],ue=e[r+32>>2],be=e[r+28>>2],Te=e[r+24>>2],Oe=e[r+20>>2],$e=e[r+16>>2];i=l,l=(0|(l=e[60+(a=134912+(nt<<6)|0)>>2]))<0?i:l,i=h,h=(0|(h=e[a+56>>2]))<0?i:h,i=m,m=(0|(m=e[a+52>>2]))<0?i:m,i=w,w=(0|(w=e[a+48>>2]))<0?i:w,i=M,M=(0|(M=e[a+44>>2]))<0?i:M,i=y,y=(0|(y=e[a+40>>2]))<0?i:y,i=P,P=(0|(P=e[a+36>>2]))<0?i:P,i=R,R=(0|(R=e[a+32>>2]))<0?i:R,i=ee,ee=(0|(ee=e[a+28>>2]))<0?i:ee,i=ae,ae=(0|(ae=e[a+24>>2]))<0?i:ae,i=ue,ue=(0|(ue=e[a+20>>2]))<0?i:ue,i=be,be=(0|(be=e[a+16>>2]))<0?i:be,i=Te,Te=(0|(Te=e[a+12>>2]))<0?i:Te,i=Oe,Oe=(0|(Oe=e[a+8>>2]))<0?i:Oe,$e=(0|(a=e[a+4>>2]))<0?$e:a,(0|(nt=nt+1|0))!=(0|A););e[r+72>>2]=l,e[r+68>>2]=h,e[r+64>>2]=m,e[r+60>>2]=w,e[r+56>>2]=M,e[r+52>>2]=y,e[r+48>>2]=P,e[r+44>>2]=R,e[r+40>>2]=ee,e[r+36>>2]=ae,e[r+32>>2]=ue,e[r+28>>2]=be,e[r+24>>2]=Te,e[r+20>>2]=Oe,e[r+16>>2]=$e}for(A=0;;){if((0|(a=e[(l=A<<2)+(r+16|0)>>2]))!=e[(l=l+134848|0)>>2]){g[r+80|0]=0;e:{t:switch(A-1|0){case 4:e[47201]=a-1;break e;case 5:e[47200]=a;break e;case 0:case 1:case 2:case 3:case 11:break t;default:break e}e[r+4>>2]=a,e[r>>2]=1,e[r+8>>2]=g[A+102812|0],uA(r+80|0,91942,r)}e[l>>2]=a,a=r+80|0,BA(e[t>>2]+189424|0,a),e[t>>2]=e[t>>2]+CA(a)}if((0|(A=A+1|0))==15)break}oe=r+112|0}function Va(t){var A,r,a,i=0,l=0,h=0,m=0;for(i=17,e[t+328>>2]=17,e[t+224>>2]=0,e[t+216>>2]=1105,e[t+220>>2]=1072,e[t+600>>2]=1056,e[t+8180>>2]=105296,h=kA(t+344|0,0,256),g[t+393|0]=1,g[t+365|0]=1,g[t+360|0]=1,g[t+545|0]=1,g[t+529|0]=1,g[t+391|0]=1,g[t+379|0]=1,g[t+374|0]=1,g[t+489|0]=1,g[t+487|0]=1,g[t+398|0]=1,g[t+387|0]=1,g[t+388|0]=2,g[t+389|0]=1,g[t+390|0]=1,g[t+385|0]=2,g[t+383|0]=2,g[t+368|0]=1,g[t+369|0]=2,l=104224;g[0|(i=i+h|0)]=4|d[0|i],i=h+d[l+1|0]|0,g[0|i]=4|d[0|i],i=h+d[l+2|0]|0,g[0|i]=4|d[0|i],i=d[0|(l=l+3|0)],(0|l)!=104251;);
2810g[t+386|0]=8|d[t+386|0],g[t+382|0]=8|d[t+382|0],g[t+384|0]=8|d[t+384|0],g[t+369|0]=16|d[t+369|0],g[t+370|0]=16|d[t+370|0],g[t+371|0]=16|d[t+371|0],l=d[t+361|0],h=d[t+362|0],i=d[t+363|0],m=d[t+364|0],A=d[t+366|0],r=d[t+367|0],g[t+372|0]=16|d[t+372|0],g[t+373|0]=16|d[t+373|0],g[t+375|0]=16|d[t+375|0],g[t+376|0]=16|d[t+376|0],g[t+377|0]=16|d[t+377|0],g[t+378|0]=16|d[t+378|0],g[t+380|0]=16|d[t+380|0],g[t+381|0]=16|d[t+381|0],g[t+383|0]=16|d[t+383|0],g[t+385|0]=16|d[t+385|0],a=d[t+388|0],g[t+367|0]=48|r,g[t+366|0]=40|A,g[t+364|0]=48|m,g[t+363|0]=48|i,g[t+362|0]=48|h,g[t+361|0]=48|l,g[t+388|0]=80|a,l=d[t+390|0],h=d[t+391|0],i=d[t+393|0],g[t+360|0]=128|d[t+360|0],m=d[t+365|0],g[t+393|0]=192|i,g[t+365|0]=128|m,g[t+368|0]=128|d[t+368|0],g[t+374|0]=128|d[t+374|0],g[t+379|0]=128|d[t+379|0],g[t+387|0]=128|d[t+387|0],i=d[t+389|0],g[t+391|0]=192|h,g[t+390|0]=192|l,g[t+389|0]=128|i,g[t+529|0]=128|d[t+529|0],g[t+545|0]=128|d[t+545|0],g[t+489|0]=128|d[t+489|0],g[t+487|0]=128|d[t+487|0],g[t+398|0]=128|d[t+398|0]}function ls(t,A,r,a,i,l){var h,m=0,w=0,M=0,y=0,P=0,R=0;oe=h=oe-192|0,m=P=e[A>>2];e:{t:{for(;w=1,(0|(M=g[0|m]))>=0||(w=2,M>>>0<4294967264||(w=M>>>0<4294967280?3:4)),!(d[0|(M=w+m|0)]!=32|d[M+1|0]!=46);){if(y-160>>>0<4294967135)break t;sr((R=h+32|0)+y|0,m,w),g[(w=w+y|0)+R|0]=46,m=M+3|0,y=w+1|0}if(y){for(w=0;M=w,w=w+1|0,223&d[m+M|0];);if(!(1+(R=M+y|0)>>>0>160)&&(sr((w=h+32|0)+y|0,m,M),g[w+R|0]=0,MA(t,w,m,r,a,i,l))){e[a>>2]=128|e[a>>2],e[33264]=y,t=1;break e}}}for(m=0;;){if(P=(w=P)+1|0,223&(w=d[0|w]))if(!m|(0|w)!=46|g[31+(m+h|0)|0]-48>>>0>=10){if(g[(h+32|0)+m|0]=w,w=159,(0|(m=m+1|0))!=159)continue}else w=m;else w=m;break}g[(m=h+32|0)+w|0]=0,m=MA(t,m,P,r,a,i,l);t:if(8&d[a+3|0]){if(!qr(r,M=t+268|0)){if(M=e[t+288>>2]+1|0,e[t+288>>2]=M,(0|M)<4)break t;g[0|r]=0;break t}Zr(M,r,20),e[t+288>>2]=1}else e[t+288>>2]=0;t:{if(!m){if(m=0,8&d[a+5|0]&&(M=ur(h+28|0,m=h+32|d[h+32|0]==95),_t(t,e[h+28>>2],r),m=m+M|0),!(w>>>0<2|m)){if(g[0|r]=0,!(16&i&&d[0|(m=31+(w+h|0)|0)]==101)&&(!(4096&i)||d[0|(m=(w=(h+32|0)+w|0)-1|0)]!=d[w-2|0]))break t;g[0|m]=0,m=MA(t,h+32|0,P,r,a,i,l)}if(!m)break t}if(y=e[a>>2],d[t+172|0]&&(y^=536870912,e[a>>2]=y),t=1,!(536870912&y))break e;2&i&&(v[66448]=8192,e[h+16>>2]=r,uA(132898,87470,h+16|0),t=e[A>>2],e[A>>2]=132898,8&d[188788]&&(sr(A=h+32|0,a=t,t=m-t|0),g[t+A|0]=0,e[h+4>>2]=132898,t=e[47195],e[h>>2]=A,fs(t,87652,h)))}g[0|r]=0,t=0}return oe=h+192|0,t}function yn(t,A){var r=0,a=0,i=0;r=31&t;e:{t:{r:{if((0|(t&=96))==96)t=-1;else{if((0|t)!=64)break r;t=1}if(r>>>0>=15)break e;A=e[203136+(r<<2)>>2]+F(t,A)|0;break t}if(r>>>0>=15)break e}t=e[105616+(a=r<<2)>>2],e[a+203136>>2]=(0|A)>=0?(0|t)>(0|A)?A:t:0}e:{t:{r:{a:{n:switch(r-1|0){case 5:if(!(t=e[50759]))break t;e[54728]=e[50982],A=e[50979],r=e[50978],kA(205184,0,11e3),e[51293]=0,A=(r=(i=(0|(a=e[50789]))>0)?130:(0|r)>=5499?5499:r)?i?a:(0|A)>=100?100:A:0,e[50755]=A,r=(0|F(r,e[50754]))/1e3|0,e[51292]=r,e[54729]=(0|A)>20?r<<1:A?r:0,e[33037]=(0|F(500-A|0,(0|F(d[e[50797]+105596|0],(0|F(e[50787],55))/100|0))/16|0))/500;break a;case 0:break n;case 2:case 12:break e;case 4:break r;default:break t}if(!(t=e[50759]))break t}return A=256,(0|(r=(0|(r=e[50785]))>=101?101:r))>=51&&(A=256+(((F(r,25)-1250&65535)>>>0)/50|0)|0),v[t+164>>1]=(0|F(v[t+236>>1],A))/256,v[t+166>>1]=(0|F(v[t+238>>1],A))/256,v[t+168>>1]=(0|F(v[t+240>>1],A))/256,v[t+170>>1]=(0|F(v[t+242>>1],A))/256,v[t+172>>1]=(0|F(v[t+244>>1],A))/256,v[t+174>>1]=(0|F(v[t+246>>1],A))/256,t=e[50790],v[102e3]=(0|F(v[102036],F(t,-3)+256|0))/256,void(v[101999]=(0|F(v[102035],F(t,-6)+256|0))/256)}e[50759]&&(e[54728]=e[50982],t=e[50979],A=e[50978],kA(205184,0,11e3),e[51293]=0,t=(A=(a=(0|(r=e[50789]))>0)?130:(0|A)>=5499?5499:A)?a?r:(0|t)>=100?100:t:0,e[50755]=t,A=(0|F(A,e[50754]))/1e3|0,e[51292]=A,e[54729]=(0|t)>20?A<<1:t?A:0,e[33037]=(0|F(500-t|0,(0|F(d[e[50797]+105596|0],(0|F(e[50787],55))/100|0))/16|0))/500)}return}e[33037]=(0|F(d[e[50797]+105596|0],(0|F(e[50787],55))/100|0))/16}function Qn(t,A,r){var a=0,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0;r&&(e[r>>2]=0);e:{t:if(!((0|(a=g[0|t]))<0)){for(;;){if((0|(l=255&a))==32|l-9>>>0<5){if((0|(a=g[0|(t=t+1|0)]))>=0)continue;break t}break}if(!(255&a))break e}for(;;){if((0|(a=w=255&a))==32|a-9>>>0<5)break e;if((0|w)!=124||(0|(a=d[0|(l=t+1|0)]))==124){t:{if((0|(P=e[36115]))>=2){for(a=1,l=-1,M=0;;){r:if(!(!(y=e[144464+(a<<2)>>2])|d[y+11|0]==15)){m=e[y>>2];a:{n:{if(w>>>0>=33){if(R=0,h=0,(255&m)==(0|w)&&(h=1,(i=d[t+1|0])>>>0<33|(0|i)!=(m>>>8&255)||(h=2,(i=d[t+2|0])>>>0<33|(0|i)!=(m>>>16&255)||(h=(i=(i=d[t+3|0])>>>0>32&(0|i)==(m>>>24|0))?4:3,R=0-i|0))),(0|l)>=(0|h))break r;if(i=4,!(1&R))break n;break a}if(h=0,(0|l)>=0)break r}if(m>>>((i=h)<<3)&255)break r}M=d[y+10|0],l=i}if((0|P)==(0|(a=a+1|0)))break}if(M)break t}return r&&ur(r,t),void(g[0|A]=0)}g[0|A]=M,t=((0|l)<=1?1:l)+t|0,A=l=A+1|0;
vendor: 64,191 bytes, line 2810
2810t:if((0|M)==21){r:if((0|(i=d[0|t]))==32|i-9>>>0<5)a=l;else if(a=l,i)for(;;){if(g[0|a]=or(i),a=a+1|0,(0|(i=d[0|(t=t+1|0)]))==32|i-9>>>0<5)break r;if(!i)break}if(g[0|a]=0,!i){if(A=a,qr(l,85593))break t;return void(g[0|l]=0)}g[0|a]=124,A=a+1|0}a=d[0|t]}else t=l;if(!(255&a))break}}g[0|A]=0}function Ci(t,A){var r=0,a=0,i=0,l=0,h=0;e:{t:{r:{a:{n:switch((0|(r=e[t+4>>2]))==e[t+104>>2]?r=lA(t):(e[t+4>>2]=r+1,r=d[0|r]),r-43|0){case 0:case 2:break n;default:break a}if(l=(0|r)==45,h=!A,(0|(r=e[t+4>>2]))==e[t+104>>2]?r=lA(t):(e[t+4>>2]=r+1,r=d[0|r]),h|(A=r-58|0)>>>0>4294967285)break r;if(e[t+116>>2]<0)break t;e[t+4>>2]=e[t+4>>2]-1;break t}A=r-58|0}if(!(A>>>0<4294967286)){if((A=r-48|0)>>>0<10){for(;i=(0|(a=(a=F(a,10)+r|0)-48|0))<214748364,(0|(A=e[t+4>>2]))==e[t+104>>2]?r=lA(t):(e[t+4>>2]=A+1,r=d[0|A]),i&(A=r-48|0)>>>0<=9;);i=a>>31}r:if(!(A>>>0>=10))for(;;){if(A=(a=er(a,i,10,0))+r|0,r=fe,r=A>>>0<a>>>0?r+1|0:r,a=A-48|0,i=r-(A>>>0<48)|0,(0|(A=e[t+4>>2]))==e[t+104>>2]?r=lA(t):(e[t+4>>2]=A+1,r=d[0|A]),(A=r-48|0)>>>0>9)break r;if(!(a>>>0<2061584302&(0|i)<=21474836|(0|i)<21474836))break}if(A>>>0<10)for(;(0|(A=e[t+4>>2]))==e[t+104>>2]?A=lA(t):(e[t+4>>2]=A+1,A=d[0|A]),A-48>>>0<10;);(0|(A=e[t+116>>2]))>0|(0|A)>=0&&(e[t+4>>2]=e[t+4>>2]-1),t=a,a=l?0-t|0:t,i=l?0-(!!(0|t)+i|0)|0:i;break e}}if(i=-2147483648,!(e[t+116>>2]<0))return e[t+4>>2]=e[t+4>>2]-1,fe=-2147483648,0}return fe=i,a}function Ha(t){var A=0,r=0,a=0,i=0;if(e[36432]=110,e[36433]=100,e[36434]=450,e[36430]=5,A=e[203136+((0|t)==2?32:8)>>2],a=e[32972],(0|(r=e[a+84>>2]))>0&&(A=(0|F(A,r))/100|0),r=(0|A)>=359?359:A,r=(0|(A=(0|A)>=450?450:A))>399?6:(0|A)>379?7:d[((0|r)<=80?80:r)+101856|0],1&t&&(e[32526]=(0|F(r,e[a+72>>2]))/256,e[32527]=(0|F(r,e[a+76>>2]))/256,e[32528]=(0|F(r,e[a+80>>2]))/256,r>>>0>7||(i=r-1|0,e[32528]=i,e[32526]=r,e[32527]=i)),2&t){t=e[a+72>>2];e:{t:{r:{a:{n:{c:{o:{f:{if((0|A)>=351)a=A-350|0,e[36432]=85-(((255&a)>>>0)/3|0)&255,a=60-(a>>>3|0)|0;else{if((0|A)<251)break f;a=A-250|0,e[36432]=110-(a>>>2|0),a=110-(a>>>1|0)|0}if(e[36433]=a,t=(0|F(t,r))/256|0,e[36431]=110+((0|F(t,150))/128|0),A>>>0<=349)break o;if(r=A-350|0,e[36431]=d[r+102224|0],A>>>0<390)break n;if(e[36434]=450+((A+112<<24>>24)/-2<<24>>24),A>>>0<441)break c;e[36434]=860-A,t=12;break t}t=(0|F(t,r))/256|0,e[36431]=(0|A)>=170?110+((0|F(t,150))/128|0)|0:128+((t<<7)/130|0)|0}t=(t<<8)/115|0;break t}if(t=12,A>>>0>430)break t;if(t=13,A>>>0<=400)break a;break t}if(t=(t<<8)/115|0,e[36428]=t,A>>>0<375)break r}t=14;break t}if((0|A)<351)break e;t=d[r+102336|0]}e[36428]=t}e[36429]=(0|t)<=16?16:t}}function Pn(t,A,r){var a,i,l,h;a=.000244140625*+e[50767],N[r>>3]=a,N[r+40>>3]=.015625*+e[t+112>>2],N[r+48>>3]=.015625*+e[t+276>>2],N[r+56>>3]=.00390625*+(0|F(v[t+166>>1],v[A+4>>1]))+ +v[t+220>>1],N[r+64>>3]=.00390625*+(0|F(v[t+168>>1],v[A+6>>1]))+ +v[t+222>>1],N[r+72>>3]=.00390625*+(0|F(v[t+170>>1],v[A+8>>1]))+ +v[t+224>>1],N[r+80>>3]=.00390625*+(0|F(v[t+172>>1],v[A+10>>1]))+ +v[t+226>>1],N[r+88>>3]=.00390625*+(0|F(v[t+174>>1],v[A+12>>1]))+ +v[t+228>>1],i=v[t+230>>1],l=v[t+176>>1],h=v[A+14>>1],e[r+112>>2]=0,e[r+116>>2]=1080623104,e[r+104>>2]=0,e[r+108>>2]=1081032704,N[r+96>>3]=.00390625*+(0|F(l,h))+ +(0|i),d[A+40|0]?(e[r+184>>2]=0,e[r+188>>2]=1072693248,N[r+104>>3]=d[A+40|0]<<1):(e[r+184>>2]=0,e[r+188>>2]=0),N[r+120>>3]=.00390625*+v[t+202>>1]*+(d[A+35|0]<<1),N[r+128>>3]=.00390625*+v[t+204>>1]*+(d[A+36|0]<<1),N[r+136>>3]=.00390625*+v[t+206>>1]*+(d[A+37|0]<<1),A=d[A+38|0],t=v[t+208>>1],e[r+176>>2]=0,e[r+180>>2]=1079574528,e[r+160>>2]=0,e[r+164>>2]=1083129856,e[r+152>>2]=0,e[r+156>>2]=1083129856,e[r+352>>2]=0,e[r+356>>2]=1072693248,e[r+168>>2]=0,e[r+172>>2]=1079574528,N[r+144>>3]=.00390625*+(0|t)*+(A<<1),t=e[50779],N[r+368>>3]=a,N[r+360>>3]=+(0|t)/100*3}function En(t){var A=0;Je(t,ja(t));e:{t:{r:{a:{n:{c:{o:{f:{l:{i:{if((0|(t=-1048576&fe))<268435455|(0|t)<=268435455){h:{b:{if((0|t)<33554431|(0|t)<=33554431){if((0|t)<8388607|(0|t)<=8388607){if(A=524328,!0&(0|t)==-2147483648)break e;if(0|(0|t)!=-2143289344)break t;return 557096}if(!0&(0|t)==8388608)break b;if(0|(0|t)!=16777216)break t;return 524358}if((0|t)>71303167)break h;if(!0&(0|t)==33554432)break r;if(0|(0|t)!=67108864)break t}return 266270}if(!0&(0|t)==71303168)break i;if(!0&(0|t)==134217728)break a;if(0|(0|t)!=138412032)break t;return 294942}if((0|t)<542113791|(0|t)<=542113791){if((0|t)<536870911|(0|t)<=536870911){if(!0&(0|t)==268435456)break n;if(0|(0|t)!=272629760)break t;return 299028}if(!0&(0|t)==536870912)break o;if(!0&(0|t)==538968064)break c;if(0|(0|t)!=541065216)break t;return 569389}if((0|t)<1075838975|(0|t)<=1075838975){if(!0&(0|t)==542113792)break i;if(0|(0|t)!=1073741824)break t;return 532520}if(!0&(0|t)==1075838976)break f;if(!0&(0|t)==1077936128)break l;if(0|(0|t)!=1078984704)break t}return 299038}return 565288}return 1581096}return 536621}return 1585197}return 266260}return 262174}return 2396190}A=16384}return A}function Ya(t,A,r,a,i,l){var h,m,w=0,M=0,y=0,P=0;if(m=8388607&t,M=e[34456],w=d[0|(t=m+M|0)]|d[t+1|0]<<8){h=!(y=d[t+2|0]),t=e[36434]<<h,(0|r)<=0?r=w:(r=(0|F(e[50754],r))/1e3<<h,t=(0|t)<(0|(P=(0|F(r,t))/(0|w)|0))?P:t),i=(0|i)>0?(0|F(r,i))/256|0:r,r=(0|F(i,e[36431]))/256|0,r=(0|t)<(0|(r=(4&a)>>>2|0&&(0|r)>(0|i)?i:r))?r:t,y||(w=w>>>1|0,r=(0|r)/2|0);e:if(!((0|l)<0)){if(a=m+4|0,256&A)t=e[50758],e[36439]=t,e[(A=216192+(t<<4)|0)>>2]=7,e[A+8>>2]=a+M,e[A+4>>2]=w<<16|r,l=y|l<<8;else{if(t=e[50758],e[36439]=t,e[(t=216192+(t<<4)|0)>>2]=6,l=y|l<<8,e[t+12>>2]=l,e[t+8>>2]=a+M,M=t,t=F(A=w>>>2|0,3),i=(0|r)>(0|w),e[M+4>>2]=i?t:r,M=e[50758]+1|0,e[50758]=(0|M)<=169?M:0,(0|t)<(0|(r=i?r-t|0:0)))for(i=A<<1,y=a+(y?A:i)|0;A=e[50758],e[36439]=A,e[(A=216192+(A<<4)|0)>>2]=6,e[A+4>>2]=i,e[A+12>>2]=l,e[A+8>>2]=y+e[34456],A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0,(0|t)<(0|(r=r-i|0)););if((0|r)<=0)break e;t=e[50758],e[36439]=t,e[(A=216192+(t<<4)|0)>>2]=6,e[A+4>>2]=r,e[A+8>>2]=e[34456]+(a+(w-r<<h)|0)}e[12+(216192+(t<<4)|0)>>2]=l,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0}}}function sr(t,A,r){var a,i=0,l=0;if(r>>>0>=512)return ot(0|t,0|A,0|r),t;a=t+r|0;e:if(3&(t^A))if(a>>>0<4)r=t;else if((i=a-4|0)>>>0<t>>>0)r=t;else for(r=t;g[0|r]=d[0|A],g[r+1|0]=d[A+1|0],g[r+2|0]=d[A+2|0],g[r+3|0]=d[A+3|0],A=A+4|0,i>>>0>=(r=r+4|0)>>>0;);else{t:if(3&t)if(r)for(r=t;;){if(g[0|r]=d[0|A],A=A+1|0,!(3&(r=r+1|0)))break t;if(!(r>>>0<a>>>0))break}else r=t;else r=t;if(!((i=-4&a)>>>0<64||(l=i+-64|0)>>>0<r>>>0))for(;e[r>>2]=e[A>>2],e[r+4>>2]=e[A+4>>2],e[r+8>>2]=e[A+8>>2],e[r+12>>2]=e[A+12>>2],e[r+16>>2]=e[A+16>>2],e[r+20>>2]=e[A+20>>2],e[r+24>>2]=e[A+24>>2],e[r+28>>2]=e[A+28>>2],e[r+32>>2]=e[A+32>>2],e[r+36>>2]=e[A+36>>2],e[r+40>>2]=e[A+40>>2],e[r+44>>2]=e[A+44>>2],e[r+48>>2]=e[A+48>>2],e[r+52>>2]=e[A+52>>2],e[r+56>>2]=e[A+56>>2],e[r+60>>2]=e[A+60>>2],A=A- -64|0,l>>>0>=(r=r- -64|0)>>>0;);if(r>>>0>=i>>>0)break e;for(;e[r>>2]=e[A>>2],A=A+4|0,i>>>0>(r=r+4|0)>>>0;);}if(r>>>0<a>>>0)for(;g[0|r]=d[0|A],A=A+1|0,(0|a)!=(0|(r=r+1|0)););return t}function pr(t){var A=0,r=0,a=0,i=0,l=0,h=0,m=0,w=0;O(+t),A=0|G(1),G(0);e:{if((a=(A=A>>>20&2047)-969|0)>>>0<63)w=A;else{if((0|a)<0)return t+1;if(!(A>>>0<1033)){if(O(+t),a=0|G(1),r=0,!(0|G(0))&(0|a)==-1048576)break e;return A>>>0>=2047?t+1:(0|a)<0?(N[8+(A=oe-16|0)>>3]=12882297539194267e-247,12882297539194267e-247*N[A+8>>3]):(N[8+(A=oe-16|0)>>3]=3105036184601418e216,3105036184601418e216*N[A+8>>3])}}if(r=N[14409],l=(r=(t=(r=(i=N[14408]*t+r)-r)*N[14411]+(r*N[14410]+t))*t)*r*(t*N[14415]+N[14414]),r*=t*N[14413]+N[14412],O(+i),G(1),m=0|G(0),t=l+(r+(N[115376+(a=m<<4&2032)>>3]+t)),h=e[(a=a+115384|0)>>2],A=(m<<13)+(A=e[a+4>>2])|0,A=(a=(a=h)+(h=0)|0)>>>0<h>>>0?A+1|0:A,!w)return-2147483648&m?(D(0,0|a),D(1,A+1071644672|0),(t=(i=(r=+_())*t)+r)<1&&(e[8+(A=oe-16|0)>>2]=0,e[A+12>>2]=1048576,N[A+8>>3]=22250738585072014e-324*N[A+8>>3],t=(t=(l=t+1)+(i+(r-t)+(t+(1-l)))+-1)==0?0:t),t*=22250738585072014e-324):(D(0,0|a),D(1,A-1058013184|0),t=5486124068793689e288*((r=+_())*t+r)),t;D(0,0|a),D(1,0|A),r=(r=+_())*t+r}return r}function oa(t,A){var r,a=0,i=0,l=0,h=0;oe=r=oe-16|0;e:{if($a(84270,g[0|A])){if(i=2,$a(A,43)||(i=d[0|A]!=114),i=$a(A,120)?128|i:i,l=i=$a(A,101)?524288|i:i,h=64|i,l=(0|(i=d[0|A]))==114?l:h,l=(0|i)==119?512|l:l,e[r>>2]=438,e[r+4>>2]=0,(t=0|we(-100,0|t,32768|((0|i)==97?1024|l:l),0|r))>>>0>=4294963201&&(e[56798]=0-t,t=-1),(0|t)<0)break e;oe=i=oe-32|0;t:{r:{if($a(84270,g[0|A])){if(a=nA(1176))break r}else e[56798]=28;A=0;break t}kA(a,0,144),$a(A,43)||(e[a>>2]=d[0|A]==114?8:4),d[0|A]==97?(1024&(A=0|me(0|t,3,0))||(A|=1024,e[i+16>>2]=A,e[i+20>>2]=A>>31,me(0|t,4,i+16|0)),A=128|e[a>>2],e[a>>2]=A):A=e[a>>2],e[a+80>>2]=-1,e[a+48>>2]=1024,e[a+60>>2]=t,e[a+44>>2]=a+152,8&A||(e[i>>2]=i+24,e[i+4>>2]=0,0|it(0|t,21523,0|i)||(e[a+80>>2]=10)),e[a+40>>2]=10,e[a+36>>2]=11,e[a+32>>2]=12,e[a+12>>2]=13,d[227205]||(e[a+76>>2]=-1),e[a+56>>2]=e[56816],(A=e[56816])&&(e[A+52>>2]=a),e[56816]=a,A=a}if(oe=i+32|0,a=A)break e;Ne(0|t)}else e[56798]=28;a=0}return oe=r+16|0,a}function fi(t,A,r){var a,i=0,l=0,h=0,m=0,w=0;if(h=t,oe=a=oe-208|0,e[a+8>>2]=1,e[a+12>>2]=0,m=A<<2){for(e[a+16>>2]=4,e[a+20>>2]=4,A=4,i=4,l=2;t=A,A=(i+4|0)+A|0,e[(a+16|0)+(l<<2)>>2]=A,l=l+1|0,i=t,A>>>0<m>>>0;);if((t=(h+m|0)-4|0)>>>0<=h>>>0)l=0,A=1,t=0;else{for(l=1,A=1;3&~l?(re[(a+16|0)+((i=A-1|0)<<2)>>2]>=t-h>>>0?Ts(h,r,a+8|0,A,0,a+16|0):$n(h,r,A,a+16|0),(0|A)!=1?(Co(a+8|0,i),A=1):(Co(a+8|0,1),A=0)):($n(h,r,A,a+16|0),pi(a+8|0,2),A=A+2|0),l=1|(i=e[a+8>>2]),e[a+8>>2]=l,t>>>0>(h=h+4|0)>>>0;);l=i>>>0>1,t=e[a+12>>2]!=0}if(Ts(h,r,a+8|0,A,0,a+16|0),l|(0|A)!=1|t)for(;(0|A)<=1?(pi(i=a+8|0,t=Yi(i)),l=e[a+8>>2],t=t+A|0):(Co(i=a+8|0,2),e[a+8>>2]=7^e[a+8>>2],pi(i,1),Ts((w=h-4|0)-e[(m=a+16|0)+((t=A-2|0)<<2)>>2]|0,r,i,A-1|0,1,m),Co(i,1),l=1|e[a+8>>2],e[a+8>>2]=l,Ts(w,r,i,t,1,m)),A=t,h=h-4|0,e[a+12>>2]|(0|A)!=1|(0|l)!=1;);}oe=a+208|0}function _a(t,A,r,a){var i,l=0,h=0,m=0;oe=i=oe-32|0,m=l=2147483647&a,h=l-1006698496|0;e:if(0|(l=l-1140785152|0)>>>0>h>>>0){if(l=r<<4|A>>>28,r=a<<4|r>>>28,(0|(A&=268435455))==134217728&!!(0|t)|A>>>0>134217728){h=r+1073741824|0,h=(l=l+1|0)?h:h+1|0;break e}if(h=r+1073741824|0,t|(0|A)!=134217728)break e;h=(t=1&l)>>>0>(l=t+l|0)>>>0?h+1|0:h}else(!r&(0|m)==2147418112?!(t|A):m>>>0<2147418112)?(l=0,h=2146435072,m>>>0>1140785151||(h=0,(m=m>>>16|0)>>>0<15249||(Us(i+16|0,t,A,r,l=65535&a|65536,m-15233|0),Ta(i,t,A,r,l,15361-m|0),l=(A=e[i+8>>2])<<4,A=e[i+12>>2]<<4|A>>>28,r=e[i>>2],m=h=e[i+4>>2],l|=h>>>28,h=A,(0|(t=268435455&m))==134217728&!!(0|(A=r|!!(e[i+16>>2]|e[i+24>>2]|e[i+20>>2]|e[i+28>>2])))|t>>>0>134217728?h=(l=l+1|0)?h:h+1|0:A|(0|t)!=134217728||(h=(t=l)>>>0>(l=l+(1&l)|0)>>>0?h+1|0:h)))):(l=r<<4|A>>>28,h=524287&(t=a<<4|r>>>28)|2146959360);return oe=i+32|0,D(0,0|l),D(1,-2147483648&a|h),+_()}function Zn(t){var A,r=0,a=0,i=0,l=0,h=0;if(O(+t),h=0|G(1),i=0|G(0),(0|(l=h>>>20&2047))==2047)return(t*=1)/t;if(!(a=i<<1)&(0|(r=h<<1|i>>>31))==2145386496|r>>>0<2145386496)return!a&(0|r)==2145386496?0*t:t;if(l)r=1048575&h|1048576;else{if(l=0,a=i<<12,(0|(r=h<<12|i>>>20))>0|(0|r)>=0)for(;l=l-1|0,r=r<<1|a>>>31,a<<=1,(0|r)>0|(0|r)>=0;);a=31&(r=1-l|0),(63&r)>>>0>=32?(r=i<<a,i=0):(r=(1<<a)-1&i>>>32-a|h<<a,i<<=a)}if(a=i,(0|l)>1023){for(;;){if(!((0|(i=r+-1048576|0))<0||(r=i)|a))return 0*t;if(r=r<<1|a>>>31,a<<=1,!((0|(l=l-1|0))>1023))break}l=1023}if(!((0|(i=r+-1048576|0))<0||(r=i)|a))return 0*t;if((0|r)==1048575|r>>>0<1048575)for(;l=l-1|0,i=r>>>0<524288,r=r<<1|a>>>31,a<<=1,i;);return A=-2147483648&h,(0|l)>0?r=r+-1048576|l<<20:(i=1-l|0,h=r,l=a,a=31&i,(63&i)>>>0>=32?(r=0,a=h>>>a|0):(r=h>>>a|0,a=((1<<a)-1&h)<<32-a|l>>>a)),D(0,0|a),D(1,r|A),+_()}function Za(t,A,r,a,i){var l,h=0,m=0;oe=l=oe-160|0;e:{t:{r:{a:switch((h=d[A+10|0])-15|0){case 6:break r;case 0:break a;default:break t}g[0|t]=0;break e}e[l>>2]=F(d[r+7|0],44)+137856,uA(t,86002,l),t=CA(t)+t|0;break e}if(a){if(g[l+140|0]=0,r?Gt(0,0,r,l+8|0,0):qa(h,l+8|0),r=l+140|0,h=d[l+140|0]){if((0|h)==32){g[0|t]=0;break e}224&(h=h<<24>>24)||(i&&(e[i>>2]=h),r=l+141|0)}if(!((0|(i=CA(r)))<=0)){t=BA(t,r)+i|0,g[0|t]=0;break e}}i=0;t:if(!(!(r=255&(h=e[A>>2]))|(0|r)==47)){if(a){if((0|(m=255&h))==95)break t;r:{a:{if((0|m)==35){if(m=3,d[A+11|0]!=2)break a;break t}if((m=r-32|0)>>>0>95)break r}r=T[93952+(m<<1)>>1]}i=Rr(r,t)}else g[0|t]=h,i=1;for(;;){if(!(r=255&(h>>=8))|(0|r)==47)break t;if(a){if((0|r)==35&d[A+11|0]==2)break t;if(r-48>>>0<10)continue;(m=r-32|0)>>>0<=95&&(r=T[93952+(m<<1)>>1]),i=Rr(r,t+i|0)+i|0}else g[t+i|0]=h,i=i+1|0}}g[0|(t=t+i|0)]=0}return oe=l+160|0,t}function Ra(t){var A,r=0;A=t,r=131280;e:{t:{if(!((0|t)<=1023||(r=131300,t>>>0<1328||(r=131320,t>>>0<1424||(r=131340,t>>>0<1536||(r=131360,t>>>0<1792||(r=131380,t>>>0<1872||(r=131400,t>>>0<2432||(r=131420,t>>>0<2560||(r=131440,t>>>0<2688||(r=131460,t>>>0<2816||(r=131480,t>>>0<2944||(r=131500,t>>>0<3072||(r=131520,t>>>0<3200||(r=131540,t>>>0<3328||(r=131560,t>>>0<3456||(r=131580,t>>>0<3584||(r=131600,t>>>0<3712||(r=131620,t>>>0<3840||(r=131640,t>>>0<4096||(r=131660,t>>>0<4256||(r=131680,t>>>0<4352||(r=131700,t>>>0<4608||(r=131720,t>>>0<5024||(r=131740,t>>>0<10496||(r=131760,t>>>0<12544||(r=131780,t>>>0<40960))))))))))))))))))))))))))){if(t>>>0>=55296)break t;r=131800}if((0|A)>=T[(t=r)+8>>1])break e}t=0}return t}function _t(t,A,r){var a,i=0,l=0,h=0,m=0;oe=a=oe-208|0,g[a+80|0]=0;e:{if((i=A-224|0)>>>0<=158)A=101072+(i<<1)|0;else{if((A=A-592|0)>>>0>88)break e;A=101392+(A<<1)|0}if(A=T[A>>1]){if(h=A<<16>>16,m=(i=63&A)>>>0>37?i+59|0:v[101584+(i<<1)>>1],i=A>>>6|0,(0|h)<0)i=59+(63&i)|0,A=A>>>12&7;else{if(!(l=31&i))break e;i=0,A=A>>>11&15}(l=vA(t,e[129920+(l<<3)>>2],a+112|0))&&Xo(t,m,a+176|0)&&(A&&4096&vA(t,e[129920+(A<<3)>>2],a+80|0)&&(r=CA(A=BA(r,a+80|0)),g[a+80|0]=0,r=A+r|0),i?(Xo(A=t,i,t=a+144|0),e[a+68>>2]=a+80,e[a- -64>>2]=t,e[a+60>>2]=6,e[a+52>>2]=23,e[a+56>>2]=a+176,e[a+48>>2]=a+112,uA(r,84101,a+48|0)):(0|h)<0?BA(r,a+176|0):1&e[t+144>>2]|4096&l?(e[a+36>>2]=23,e[a+40>>2]=6,e[a+44>>2]=a+176,e[a+32>>2]=a+112,uA(r,84430,a+32|0)):(e[a+16>>2]=23,e[a+8>>2]=23,e[a>>2]=4,e[a+12>>2]=a+112,e[a+4>>2]=a+176,uA(r,84802,a)))}}oe=a+208|0}function ye(){Di(),e[55928]=0,e[55926]=0,e[55927]=0,e[55924]=0,e[56244]=0,e[56245]=0,e[56246]=0,e[56247]=0,e[56260]=0,e[56261]=0,e[56262]=0,e[56263]=0,e[56276]=0,e[56277]=0,e[56278]=0,e[56279]=0,e[55974]=0,e[55975]=0,e[55972]=0,e[55973]=0,e[55988]=0,e[55989]=0,e[55990]=0,e[55991]=0,e[56004]=0,e[56005]=0,e[56006]=0,e[56007]=0,e[56020]=0,e[56021]=0,e[56022]=0,e[56023]=0,e[56036]=0,e[56037]=0,e[56038]=0,e[56039]=0,e[56052]=0,e[56053]=0,e[56054]=0,e[56055]=0,e[56068]=0,e[56069]=0,e[56070]=0,e[56071]=0,e[56086]=0,e[56087]=0,e[56084]=0,e[56085]=0,e[56102]=0,e[56103]=0,e[56100]=0,e[56101]=0,e[56118]=0,e[56119]=0,e[56116]=0,e[56117]=0,e[56134]=0,e[56135]=0,e[56132]=0,e[56133]=0,e[56150]=0,e[56151]=0,e[56148]=0,e[56149]=0,e[56166]=0,e[56167]=0,e[56164]=0,e[56165]=0,e[56182]=0,e[56183]=0,e[56180]=0,e[56181]=0,e[56198]=0,e[56199]=0,e[56196]=0,e[56197]=0,e[56214]=0,e[56215]=0,e[56212]=0,e[56213]=0,e[56230]=0,e[56231]=0,e[56228]=0,e[56229]=0}function Ze(t,A){var r=0,a=0,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0;e:{if((0|(l=e[t+4>>2]))==e[t>>2])if((h=e[t+8>>2])>>>0<(r=e[t+12>>2])>>>0)r=(i=(1+(r-h>>2)|0)/2<<2)+h|0,(0|l)!=(0|h)&&(lr(r=r-(a=h-l|0)|0,l,a),l=e[t+8>>2]),e[t+4>>2]=r,e[t+8>>2]=i+l;else{if((a=(0|r)==(0|l)?1:r-l>>1)>>>0>=1073741824)break e;if(y=(w=zs(r=a<<2))+r|0,m=r=(a+3&-4)+w|0,(0|l)!=(0|h)){if(P=-4&(h=h-l|0),i=r,a=l,h=1+((M=h-4|0)>>>2|0)&7)for(m=0;e[i>>2]=e[a>>2],a=a+4|0,i=i+4|0,(0|h)!=(0|(m=m+1|0)););if(m=r+P|0,!(M>>>0<28))for(;e[i>>2]=e[a>>2],e[i+4>>2]=e[a+4>>2],e[i+8>>2]=e[a+8>>2],e[i+12>>2]=e[a+12>>2],e[i+16>>2]=e[a+16>>2],e[i+20>>2]=e[a+20>>2],e[i+24>>2]=e[a+24>>2],e[i+28>>2]=e[a+28>>2],a=a+32|0,(0|m)!=(0|(i=i+32|0)););}e[t+12>>2]=y,e[t+8>>2]=m,e[t+4>>2]=r,e[t>>2]=w,l&&(DA(l),r=e[t+4>>2])}else r=l;return e[r-4>>2]=e[A>>2],void(e[t+4>>2]=e[t+4>>2]-4)}Io(),j()}function ut(t,A,r){var a=0,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0;e:{t:{r:{a:{n:{c:{o:{f:{l:{if(A){if(!r)break l;break f}return zt=(A=t)-F(t=(t>>>0)/(r>>>0)|0,r)|0,Ie=0,fe=0,t}if(!t)break o;break c}if(!((a=r-1|0)&r))break n;l=0-(h=(ce(r)+33|0)-ce(A)|0)|0;break r}return zt=0,Ie=A-F(t=(A>>>0)/0|0,0)|0,fe=0,t}if((a=32-ce(A)|0)>>>0<31)break a;break t}if(zt=t&a,Ie=0,(0|r)==1)break e;return r=31&(a=qi(r)),(63&a)>>>0>=32?t=A>>>r|0:(i=A>>>r|0,t=((1<<r)-1&A)<<32-r|t>>>r),fe=i,t}h=a+1|0,l=63-a|0}if(a=31&(i=63&h),i>>>0>=32?(i=0,m=A>>>a|0):(i=A>>>a|0,m=((1<<a)-1&A)<<32-a|t>>>a),a=31&(l&=63),l>>>0>=32?(A=t<<a,t=0):(A=(1<<a)-1&t>>>32-a|A<<a,t<<=a),h)for(y=(0|(a=r-1|0))==-1?-1:0;w=i<<1|m>>>31,m=(i=m<<1|A>>>31)-(M=r&(l=y-(w+(i>>>0>a>>>0)|0)>>31))|0,i=w-(i>>>0<M>>>0)|0,A=A<<1|t>>>31,t=P|t<<1,P=w=1&l,h=h-1|0;);return zt=m,Ie=i,fe=A<<1|t>>>31,w|t<<1}zt=t,Ie=A,t=0,A=0}return fe=A,t}function mt(t,A){var r=0,a=0,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0;e:{if((0|(r=e[t+8>>2]))==e[t+12>>2])if((a=e[t+4>>2])>>>0>(h=e[t>>2])>>>0)i=lr((l=(1+(a-h>>2)|0)/-2<<2)+a|0,a,r=r-a|0)+r|0,e[t+8>>2]=i,e[t+4>>2]=l+e[t+4>>2];else{if((l=(0|r)==(0|h)?1:r-h>>1)>>>0>=1073741824)break e;if(y=(m=zs(i=l<<2))+i|0,i=l=(-4&l)+m|0,(0|r)!=(0|a)){if(P=-4&(r=r-a|0),M=1+((w=r-4|0)>>>2|0)&7)for(i=0,r=l;e[r>>2]=e[a>>2],a=a+4|0,r=r+4|0,(0|M)!=(0|(i=i+1|0)););else r=l;if(i=l+P|0,!(w>>>0<28))for(;e[r>>2]=e[a>>2],e[r+4>>2]=e[a+4>>2],e[r+8>>2]=e[a+8>>2],e[r+12>>2]=e[a+12>>2],e[r+16>>2]=e[a+16>>2],e[r+20>>2]=e[a+20>>2],e[r+24>>2]=e[a+24>>2],e[r+28>>2]=e[a+28>>2],a=a+32|0,(0|i)!=(0|(r=r+32|0)););}e[t+12>>2]=y,e[t+8>>2]=i,e[t+4>>2]=l,e[t>>2]=m,h&&(DA(h),i=e[t+8>>2])}else i=r;return e[i>>2]=e[A>>2],void(e[t+8>>2]=e[t+8>>2]+4)}Io(),j()}function yt(t,A){var r,a=0,i=0,l=0,h=0,m=0;i=189088,oe=r=oe-320|0,e[r+312>>2]=0,l=gn(t,h=BA(r+112|0,189088),r,r+316|0,r+312|0,0),a=e[r+316>>2];e:if((0|A)<=3){if((0|a)<2)break e;if(l=3&(A=a-1|0),t=1,a-2>>>0>=3)for(m=-4&A,A=0;g[0|(a=t+r|0)]>=4&&(g[0|a]=3),g[1+(a=t+r|0)|0]>=4&&(g[a+1|0]=3),g[a+2|0]>=4&&(g[a+2|0]=3),g[a+3|0]>=4&&(g[a+3|0]=3),t=t+4|0,(0|m)!=(0|(A=A+4|0)););if(!l)break e;for(A=0;g[0|(a=t+r|0)]>=4&&(g[0|a]=3),t=t+1|0,(0|l)!=(0|(A=A+1|0)););}else if(t=1,!((0|a)<=1)){for(;;){if((0|l)>g[0|(m=t+r|0)]){if((0|a)!=(0|(t=t+1|0)))continue;break e}break}g[0|m]=A}if(t=d[0|h])for(A=1;a=e[144464+((255&t)<<2)>>2],d[a+11|0]!=2|16&d[a+6|0]||(l=255&(a=g[A+r|0]),(0|a)<2&&l||(g[0|i]=d[l+94151|0],i=i+1|0,t=d[0|h]),A=A+1|0),g[0|i]=t,i=i+1|0,t=d[0|(h=h+1|0)];);g[0|i]=0,oe=r+320|0}function Rt(t){var A=0,r=0,a=0,i=0,l=0,h=0;r=A=e[(t|=0)>>2],e[t>>2]=A+1;e:{t:{r:{a:{n:{c:{o:switch(((l=d[0|A])>>>4|0)-8|0){case 0:case 1:case 2:case 3:break t;case 7:break n;case 6:break c;case 4:case 5:break o;default:break e}if((a=A+2|0)>>>0>=(i=e[t+4>>2])>>>0)break a;if(e[t>>2]=a,(192&(r=d[r+1|0]))!=128)break r;return 63&r|l<<6&1984}if((a=A+3|0)>>>0>=(i=e[t+4>>2])>>>0)break a;if(r=A+2|0,e[t>>2]=r,(192&(A=d[A+1|0]))!=128){a=r;break r}if(e[t>>2]=a,(192&(r=d[0|r]))!=128)break r;return 63&r|(63&A|l<<6&960)<<6}if(!((i=e[t+4>>2])>>>0<=(r=A+4|0)>>>0)){if(a=A+2|0,e[t>>2]=a,(192&(i=d[A+1|0]))!=128||(a=A+3|0,e[t>>2]=a,(192&(h=d[A+2|0]))!=128)||(e[t>>2]=r,A=d[0|a],a=r,(192&A)!=128))break r;return 0|((t=63&A|h<<6&4032|(63&i|l<<6&960)<<12)>>>0>=1114112?65533:t)}}e[t>>2]=i;break t}e[t>>2]=a-1}l=65533}return 0|l}function cA(t,A,r,a){var i,l,h=0,m=0,w=0,M=0,y=0,P=0;if(oe=i=oe-432|0,!(!a|!(536870912&(l=Lt(t,A,r,a))))&&(v[i+48>>1]=8192,a=BA(i+48|2,a),d[0|a])){for(w=i+224|0,h=1,M=200;;){if(ur(i+44|0,a),A=Ln(e[i+44>>2]),m=e[r>>2],A?(e[r>>2]=2|m,Rr(or(e[i+44>>2]),a)):e[r>>2]=-3&m,P=e[33264],Lt(t,a,r,0),1&h?(e[i+16>>2]=189088,m=rn(w,M,84130,i+16|0)):(e[i+32>>2]=15,e[i+36>>2]=189088,m=rn(w,M,84434,i+32|0)),h=(A=e[33264])+1|0,e[33264]=h,A>>>0<=2147483646){for(;;)if(A=a,a=a+1|0,(0|(y=g[0|A]))==32|y-9>>>0<5){for(;A=(a=A)+1|0,(0|(y=g[0|a]))==32|y-9>>>0<5;);if(h=h-1|0,e[33264]=h,!((0|h)>0))break}}if(w=w+m|0,e[33264]=P,!(d[0|a]&&(h=0,(0|(M=M-m|0))>1)))break}(i+224|0)!=(0|w)&&(e[i>>2]=i+224,rn(189088,200,84130,i))}return oe=i+432|0,l}function gt(t,A,r,a,i,l,h,m){var w,M;w=e[32972],M=e[w+116>>2],v[t+8>>1]=T[t+8>>1]+l,l=32&m?0-l|0:l,v[t+10>>1]=l+T[t+10>>1],v[t+12>>1]=l+T[t+12>>1],a=(0|a)>(0|(l=((l=(0|F(A,M))/256|0)-(A=v[t+6>>1])|0)/2|0))?l:a,v[t+6>>1]=((0|r)<(0|a)?a:r)+A;e:{t:switch(i-1|0){case 0:A=(0|(A=235-(r=v[t+4>>1])|0))<=-100?-100:A,v[t+4>>1]=((0|A)>=-60?-60:A)+r;break e;case 1:A=(0|(A=(0|(A=235-(r=v[t+4>>1])|0))<=-300?-300:A))>=-150?-150:A,v[t+4>>1]=A+r,v[t+2>>1]=A+T[t+2>>1];break e;case 2:break t;default:break e}A=(0|(A=(0|(A=100-(r=v[t+4>>1])|0))<=-400?-400:A))>-300?-400:A,v[t+4>>1]=A+r,v[t+2>>1]=A+T[t+2>>1]}e[w+132>>2]||(g[t+20|0]=(F(d[t+20|0],h)>>>0)/100,g[t+21|0]=(F(d[t+21|0],h)>>>0)/100,g[t+22|0]=(F(d[t+22|0],h)>>>0)/100,g[t+23|0]=(F(d[t+23|0],h)>>>0)/100,g[t+24|0]=(F(d[t+24|0],h)>>>0)/100,g[t+25|0]=(F(d[t+25|0],h)>>>0)/100)}function mA(t){var A,r=0,a=0,i=0,l=0;oe=A=oe-48|0;e:{if(t){d[0|t]||(t=vi(84285),d[0|t]&&t||(t=vi(121696),d[0|t]&&t||(t=vi(84614),d[0|t]&&t||(t=84891))));t:{for(;;){if(!(!(a=d[t+r|0])|(0|a)==47)){if(i=23,(0|(r=r+1|0))!=23)continue;break t}break}i=r}a=84891;t:{r:{if(r=d[0|t],(d[t+i|0]|(0|r)==46||(a=t,(0|r)==67))&&!d[a+1|0]||!qr(a,84891)||!qr(a,85136)){if(r=121652,d[a+1|0]==46)break r;t=0;break t}if(r=e[56851])for(;;){if(!qr(a,r+8|0))break r;if(!(r=e[r+32>>2]))break}(t=nA(36))&&(r=e[30414],e[t>>2]=e[30413],e[t+4>>2]=r,sr(r=t+8|0,a,i),g[r+i|0]=0,e[t+32>>2]=e[56851],e[56851]=t),r=t||121652}t=r}if((0|t)==-1)break e;e[56809]=t}else t=e[56809];l=t?t+8|0:84309}return oe=A+48|0,l}function lA(t){var A=0,r=0,a=0,i=0,l=0,h=0,m=0,w=0,M=0;w=!!((A=e[t+112>>2])|(a=e[t+116>>2])),i=A,h=A=(l=e[t+4>>2])-(m=e[t+44>>2])|0,r=A+e[t+120>>2]|0,A=e[t+124>>2]+(A>>31)|0;e:{if(!(((0|(A=r>>>0<h>>>0?A+1|0:A))>=(0|a)&r>>>0>=i>>>0|(0|A)>(0|a))&w)){if((0|(w=bo(t)))>=0)break e;l=e[t+4>>2],m=e[t+44>>2]}return e[t+112>>2]=-1,e[t+116>>2]=-1,e[t+104>>2]=l,a=(h=r)+(r=m-l|0)|0,A=(r>>31)+A|0,e[t+120>>2]=a,e[t+124>>2]=r>>>0>a>>>0?A+1|0:A,-1}return A=(a=r+1|0)?A:A+1|0,l=e[t+4>>2],m=e[t+8>>2],h=i=e[t+116>>2],i|(r=e[t+112>>2])&&(i=r-a|0,(0|(r=h-(A+(r>>>0<a>>>0)|0)|0))>=(0|(h=(M=m-l|0)>>31))&i>>>0>=M>>>0|(0|r)>(0|h)||(m=i+l|0)),e[t+104>>2]=m,a=(i=(r=e[t+44>>2])-l|0)+a|0,A=(i>>31)+A|0,e[t+120>>2]=a,e[t+124>>2]=a>>>0<i>>>0?A+1|0:A,r>>>0>=l>>>0&&(g[l-1|0]=w),w}function lr(t,A,r){var a=0,i=0;e:if((0|t)!=(0|A)){if(A-(i=t+r|0)>>>0<=0-(r<<1)>>>0)return sr(t,A,r);if(a=3&(t^A),t>>>0<A>>>0){if(a)a=t;else{if(3&t)for(a=t;;){if(!r)break e;if(g[0|a]=d[0|A],A=A+1|0,r=r-1|0,!(3&(a=a+1|0)))break}else a=t;if(!(r>>>0<=3))for(;e[a>>2]=e[A>>2],A=A+4|0,a=a+4|0,(r=r-4|0)>>>0>3;);}if(r)for(;g[0|a]=d[0|A],a=a+1|0,A=A+1|0,r=r-1|0;);}else{if(!a){if(3&i)for(;;){if(!r)break e;if(g[0|(a=(r=r-1|0)+t|0)]=d[A+r|0],!(3&a))break}if(!(r>>>0<=3))for(;e[(r=r-4|0)+t>>2]=e[A+r>>2],r>>>0>3;);}if(!r)break e;for(;g[(r=r-1|0)+t|0]=d[A+r|0],r;);}}return t}function Wr(t,A,r,a){switch(A-9|0){case 0:return A=e[r>>2],e[r>>2]=A+4,void(e[t>>2]=e[A>>2]);case 6:return A=e[r>>2],e[r>>2]=A+4,A=v[A>>1],e[t>>2]=A,void(e[t+4>>2]=A>>31);case 7:return A=e[r>>2],e[r>>2]=A+4,e[t>>2]=T[A>>1],void(e[t+4>>2]=0);case 8:return A=e[r>>2],e[r>>2]=A+4,A=g[0|A],e[t>>2]=A,void(e[t+4>>2]=A>>31);case 9:return A=e[r>>2],e[r>>2]=A+4,e[t>>2]=d[0|A],void(e[t+4>>2]=0);case 16:return A=e[r>>2]+7&-8,e[r>>2]=A+8,void(N[t>>3]=N[A>>3]);case 17:Ar[0|a](t,r);default:return;case 1:case 4:case 14:return A=e[r>>2],e[r>>2]=A+4,A=e[A>>2],e[t>>2]=A,void(e[t+4>>2]=A>>31);case 2:case 5:case 11:case 15:return A=e[r>>2],e[r>>2]=A+4,e[t>>2]=e[A>>2],void(e[t+4>>2]=0);case 3:case 10:case 12:case 13:}A=e[r>>2]+7&-8,e[r>>2]=A+8,r=e[A+4>>2],e[t>>2]=e[A>>2],e[t+4>>2]=r}function Tr(t,A,r,a,i,l){var h;oe=h=oe-80|0;e:if((0|l)>=16384){if(Jt(h+32|0,A,r,a,i,0,0,0,2147352576),a=e[h+40>>2],i=e[h+44>>2],A=e[h+32>>2],r=e[h+36>>2],l>>>0<32767){l=l-16383|0;break e}Jt(h+16|0,A,r,a,i,0,0,0,2147352576),l=((0|l)>=49149?49149:l)-32766|0,a=e[h+24>>2],i=e[h+28>>2],A=e[h+16>>2],r=e[h+20>>2]}else(0|l)>-16383||(Jt(h- -64|0,A,r,a,i,0,0,0,7471104),a=e[h+72>>2],i=e[h+76>>2],A=e[h+64>>2],r=e[h+68>>2],l>>>0>4294934644?l=l+16269|0:(Jt(h+48|0,A,r,a,i,0,0,0,7471104),l=((0|l)<=-48920?-48920:l)+32538|0,a=e[h+56>>2],i=e[h+60>>2],A=e[h+48>>2],r=e[h+52>>2]));Jt(h,A,r,a,i,0,0,0,l+16383<<16),A=e[h+12>>2],e[t+8>>2]=e[h+8>>2],e[t+12>>2]=A,A=e[h+4>>2],e[t>>2]=e[h>>2],e[t+4>>2]=A,oe=h+80|0}function Or(t,A){var r,a,i=0;oe=r=oe+-64|0,i=e[t>>2],a=e[i-4>>2],i=e[i-8>>2],e[r+32>>2]=0,e[r+36>>2]=0,e[r+40>>2]=0,e[r+44>>2]=0,e[r+48>>2]=0,e[r+52>>2]=0,g[r+55|0]=0,g[r+56|0]=0,g[r+57|0]=0,g[r+58|0]=0,g[r+59|0]=0,g[r+60|0]=0,g[r+61|0]=0,g[r+62|0]=0,e[r+24>>2]=0,e[r+28>>2]=0,e[r+20>>2]=0,e[r+16>>2]=125084,e[r+12>>2]=t,e[r+8>>2]=A,t=t+i|0,i=0;e:if(Js(a,A,0))e[r+56>>2]=1,Ar[e[e[a>>2]+20>>2]](a,r+8|0,t,t,1,0),i=e[r+32>>2]==1?t:0;else{Ar[e[e[a>>2]+24>>2]](a,r+8|0,t,1,0);t:switch(e[r+44>>2]){case 0:i=e[r+48>>2]==1&&e[r+36>>2]==1&&e[r+40>>2]==1?e[r+28>>2]:0;break e;case 1:break t;default:break e}e[r+32>>2]!=1&&e[r+48>>2]|e[r+36>>2]!=1|e[r+40>>2]!=1||(i=e[r+24>>2])}return oe=r- -64|0,i}function fr(t,A,r,a,i){var l,h,m=0;oe=l=oe-80|0,v[l+72>>1]=0,e[l+64>>2]=0,e[l+68>>2]=0,g[0|a]=0,m=Rr(A,h=2|(m=l- -64|0))+m|0,g[m+2|0]=32;e:if((0|r)!=-1)A>>>0>=33&&!ns(A)?(g[m+3|0]=(0|r)==32?32:31,g[l+65|0]=95,vA(t,l- -64|1,l+16|0)||(g[l+65|0]=32,vA(t,h,l+16|0)||LA(t,h,l+16|0,40,0,268435456,0)),d[l+16|0]||_t(t,A,l+16|0),A=BA(a,l+16|0),!(r=d[0|A])|(0|r)==21||(e[l+56>>2]=0,e[l+60>>2]=0,IA(t,A,l+56|0,-1,1&i))):(e[l>>2]=A,uA(A=l- -64|1,85485,l),vA(t,A,a));else{if(vA(t,h,a)||(g[l+65|0]=95,vA(t,l- -64|1,l+16|0)|e[t+212>>2]==25966))break e;Ti(85055),vA(e[47194],h,l+16|0)&&(g[0|a]=21,g[a+1|0]=0),ba(e[e[32972]+60>>2])}oe=l+80|0}function kA(t,A,r){var a=0,i=0,l=0,h=0;if(r&&(g[0|t]=A,g[(a=t+r|0)-1|0]=A,!(r>>>0<3||(g[t+2|0]=A,g[t+1|0]=A,g[a-3|0]=A,g[a-2|0]=A,r>>>0<7||(g[t+3|0]=A,g[a-4|0]=A,r>>>0<9||(i=(a=0-t&3)+t|0,A=F(255&A,16843009),e[i>>2]=A,e[(r=(a=r-a&-4)+i|0)-4>>2]=A,a>>>0<9||(e[i+8>>2]=A,e[i+4>>2]=A,e[r-8>>2]=A,e[r-12>>2]=A,a>>>0<25||(e[i+24>>2]=A,e[i+20>>2]=A,e[i+16>>2]=A,e[i+12>>2]=A,e[r-16>>2]=A,e[r-20>>2]=A,e[r-24>>2]=A,e[r-28>>2]=A,(r=a-(h=4&i|24)|0)>>>0<32))))))))for(a=er(A,0,1,1),l=fe,A=i+h|0;e[A+24>>2]=a,e[A+28>>2]=l,e[A+16>>2]=a,e[A+20>>2]=l,e[A+8>>2]=a,e[A+12>>2]=l,e[A>>2]=a,e[A+4>>2]=l,A=A+32|0,(r=r-32|0)>>>0>31;);return t}function QA(){var t,A=0,r=0,a=0,i=0,l=0;if(oe=t=oe-208|0,(0|(a=e[50303]))>0)for(;(i=e[(r=201216+(A<<2)|0)>>2])&&(DA(i),e[r>>2]=0),(0|a)!=(0|(A=A+1|0)););if(e[50303]=0,e[t+16>>2]=137584,e[t+20>>2]=47,uA(A=t+32|0,87827,t+16|0),Ga(A,CA(A)+1|0,0),e[t+4>>2]=47,e[t>>2]=137584,uA(A,87933,t),Ga(A,CA(A)+1|0,1),A=e[50303],e[201216+(r=A<<2)>>2]=0,r=xs(a=e[50741],r+4|0)){if(e[50741]=r,fi(201216,A,7),a=e[50741],r=0,A=e[50304])for(i=0;l=e[A+4>>2],d[0|l]&&qr(l+1|0,86589)&&la(e[A+8>>2],88032,3)&&(e[(r<<2)+a>>2]=A,r=r+1|0),A=e[201216+((i=i+1|0)<<2)>>2];);e[(r<<2)+a>>2]=0}return oe=t+208|0,a}function Qr(t,A,r){var a=0,i=0,l=0,h=0;if(l=A-1|0,(0|A)>=2){A=t;e:{for(;;){t:{r:{if((0|(a=e[r+4>>2]))!=(0|(i=e[r+8>>2]))){if((h=Nn(a,10,i-a|0))?i=1+(h-(a=e[r+4>>2])|0)|0:(a=e[r+4>>2],i=e[r+8>>2]-a|0),sr(A,a,a=i>>>0<l>>>0?i:l),i=a+e[r+4>>2]|0,e[r+4>>2]=i,A=A+a|0,h||!(l=l-a|0))break t;if((0|i)!=e[r+8>>2]){e[r+4>>2]=i+1,a=d[0|i];break r}}if(!((0|(a=bo(r)))>=0)){if(a=0,(0|t)==(0|A))break e;if(16&d[0|r])break t;break e}}if(g[0|A]=a,A=A+1|0,(255&a)!=10&&(l=l-1|0))continue}break}t?(g[0|A]=0,a=t):a=0}}else if(A=e[r+72>>2],e[r+72>>2]=A-1|A,!l)return g[0|t]=0,t;return a}function ga(t){var A=0,r=0,a=0,i=0,l=0,h=0,m=0,w=0;if(A=F(t,44),(0|(t=e[A+137896>>2]))>0&&ga(t-1|0),t=e[36115],!((0|(A=e[36+(r=A+137856|0)>>2]))<=0)){if(i=e[r+32>>2],m=1&A,(0|A)!=1)for(w=-2&A,r=0;A=d[10+(l=(a=r<<4)+i|0)|0],e[144464+(A<<2)>>2]=l,(0|t)>=(0|A)?A=t:kA(144464+((t=t+1|0)<<2)|0,0,A-t<<2),t=d[10+(a=(16|a)+i|0)|0],e[144464+(t<<2)>>2]=a,(0|t)<=(0|A)?t=A:kA(144464+((A=A+1|0)<<2)|0,0,t-A<<2),r=r+2|0,(0|w)!=(0|(h=h+2|0)););else r=0;m&&(A=d[10+(r=(r<<4)+i|0)|0],e[144464+(A<<2)>>2]=r,(0|t)>=(0|A)||(kA(144464+((t=t+1|0)<<2)|0,0,A-t<<2),t=A))}e[36115]=t}function _s(t,A,r,a,i){var l,h=0,m=0,w=0;oe=l=oe-16|0;e:if(1&g[t+106|0]&&(h=d[0|r],!(!(1&g[a+2|0])&(0|h)!=46||256&(w=e[a+12>>2])|!(!(2&w)||i)||(ur(l+12|0,(0|h)!=46?r:r+2|0),!(h=d[0|r])|!d[r+1|0])))){if(!(!(w=e[l+12>>2])|2&d[a+2|0])){if(!Xr(w))break e;h=d[0|r]}(0|h)==46&&(g[0|r]=32),m=2,e[t+212>>2]!=26741|i||(r=Xr(e[l+12>>2])?cA(t,r+2|0,0,0):0,128&d[t+8233|0]&&(!(!(i=e[l+12>>2])|2&d[a+2|0])&i-48>>>0>=10||(m=0)),m=32768&r?0:m,131072&r&&(m=163840&e[t+8232>>2]?34:d[A-2|0]!=45?m:0))}return oe=l+16|0,m}function rs(t,A,r,a,i){var l,h=0,m=0;if(oe=l=oe-208|0,e[l+204>>2]=r,kA(r=l+160|0,0,40),e[l+200>>2]=e[l+204>>2],(0|iA(0,A,l+200|0,l+80|0,r,a,i))<0)i=-1;else{e[t+76>>2],h=e[t>>2],e[t+72>>2]<=0&&(e[t>>2]=-33&h);e:{t:{if(e[t+48>>2]){if(e[t+16>>2])break t}else e[t+48>>2]=80,e[t+28>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,m=e[t+44>>2],e[t+44>>2]=l;if(r=-1,on(t))break e}r=iA(t,A,l+200|0,l+80|0,l+160|0,a,i)}m&&(Ar[e[t+36>>2]](t,0,0),e[t+48>>2]=0,e[t+44>>2]=m,e[t+28>>2]=0,A=e[t+20>>2],e[t+16>>2]=0,e[t+20>>2]=0,r=A?r:-1),A=t,t=e[t>>2],e[A>>2]=t|32&h,i=32&t?-1:r}return oe=l+208|0,i}function zA(t,A,r,a){var i,l=0,h=0,m=0,w=0,M=0,y=0,P=0;if(oe=i=oe-208|0,h=d[0|A])for(;g[l+i|0]=h,w=((255&h)==6&(0|m)!=21)+w|0,m=h<<24>>24,h=d[(l=l+1|0)+A|0];);if(g[l+i|0]=0,l=d[0|i])for(y=w-2|0,m=0,P=(0|a)<2,h=0;;){e:{t:if((255&l)!=6|P|(0|h)==21){if((0|(a=255&l))==255){if(!M|(0|r)<2)break e;a=r>>>0>2?11:(0|m)%3|0?23:11}h=a,a=m}else{if(l=m+1|0,d[t+169|0]){h=(0|l)>1?5:6,a=l;break t}if(h=6,a=w,(0|l)==(0|w))break t;h=(0|l)%3|0||(0|m)==(0|y)?5:6,a=l}m=a,g[0|A]=h,A=A+1|0}if(!(l=d[(M=M+1|0)+i|0]))break}(0|r)>=2&&(g[0|A]=11,A=A+1|0),g[0|A]=0,oe=i+208|0}function Kr(t,A){var r=0;r=0,t&&(r=e[50754],r=(t=(t=(0|F(e[145712+(A?12:((0|t)>199)<<2)>>2],t))/256|0)>>>0>(A=e[36430])>>>0?t:A)>>>0<=89999?(F(t,r)>>>0)/1e3|0:(F(t,(0|r)/25|0)>>>0)/40|0),(0|(t=e[36440]))<=0||(0|(A=e[36424]))<0||(e[4+(A=216192+(A<<4)|0)>>2]||(e[A+4>>2]=t),e[36440]=0),e[36426]=0,e[36439]=-1,e[36455]=e[50758],wA(),e[36427]=-1,t=216192+(e[50758]<<4)|0,e[t>>2]=5,e[t+4>>2]=r,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0,e[36426]=0,e[36438]&&(e[36438]=0,t=216192+(e[50758]<<4)|0,e[t>>2]=14,e[t+4>>2]=0,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0)}function Wt(t,A,r,a,i,l,h,m){var w,M=0,y=0,P=0;M=1,w=y=2147483647&a;e:if(!((P=(0|y)==2147418112)&!r?t|A:P&!!(0|r)|y>>>0>2147418112)&&!((P=(0|(y=2147483647&m))==2147418112)&!h?i|l:P&!!(0|h)|y>>>0>2147418112)){if(!(t|i|r|h|A|l|y|w))return 0;if((0|(M=a&m))>0|(0|M)>=0){if(M=-1,(0|r)==(0|h)&(0|a)==(0|m)?(0|A)==(0|l)&t>>>0<i>>>0|A>>>0<l>>>0:r>>>0<h>>>0&(0|a)<=(0|m)|(0|a)<(0|m))break e;return!!(t^i|r^h|A^l|a^m)}M=-1,((0|r)==(0|h)&(0|a)==(0|m)?(0|A)==(0|l)&t>>>0>i>>>0|A>>>0>l>>>0:r>>>0>h>>>0&(0|a)>=(0|m)|(0|a)>(0|m))||(M=!!(t^i|r^h|A^l|a^m))}return M}function PA(t,A){var r=0,a=0,i=0,l=0;for(r=d[85836]|d[85837]<<8,g[0|A]=r,g[A+1|0]=r>>>8,g[A+2|0]=d[85838];;)if(i=d[0|t],t=r=t+1|0,(0|i)!=255){if(!i)break;if(!(a=e[144464+(i<<2)>>2]))continue;if(d[a+11|0]==1&&(l=d[a+14|0],!(T[a+8>>1]|l>>>0>4))){if(l>>>0<2)continue;g[0|A]=d[l+93943|0],A=A+1|0;continue}if(255&(t=e[a>>2]))for(;g[0|A]=t,A=A+1|0,a=65280&t,t=t>>>8|0,a;);if(t=r,(0|i)!=21||(32|(r=g[0|t]))-97>>>0>=26)continue;for(;g[0|A]=r,A=A+1|0,(32|(r=g[0|(t=t+1|0)]))-97>>>0<26;);}g[0|A]=0}function ra(t,A){var r,a,i=0,l=0,h=0;oe=r=oe-112|0,t||(e[50303]||QA(),t=201216),Zr(i=r+16|0,A,40),e[r>>2]=47,e[r+4>>2]=i,uA(A=r- -64|0,87599,r),a=CA(A),h=-1;e:{t:{r:{if(l=e[t>>2]){A=0,i=-1;a:{for(;;){if(lo(r+16|0,e[l>>2])){if(lo(r+16|0,l=e[l+8>>2])?h=lo(r- -64|0,l+(CA(l)-a|0)|0)?h:A:i=A,l=e[((A=A+1|0)<<2)+t>>2])continue;break a}break}if((0|A)>=0)break t;A=(0|i)<0?h:i;break r}if((0|(A=i))>=0)break r}A=h}if(i=0,(0|A)<0)break e}i=e[(A<<2)+t>>2]}return oe=r+112|0,i}function Vs(t,A){var r,a,i=0,l=0,h=0,m=0,w=0;oe=r=oe-16|0,O(+A),a=0|G(1),l=0|G(0),(0|(h=(i=2147483647&a)-1048576|0))==2145386495|h>>>0<2145386495?(m=l<<28,h=i>>>4|0,i=(15&i)<<28|l>>>4,l=h+1006632960|0):(0|i)==2146435072|i>>>0>2146435072?(m=l<<28,i=(15&a)<<28|l>>>4,l=a>>>4|2147418112):i|l?(Us(r,l,h=i,0,0,(i=i?ce(i):ce(l)+32|0)+49|0),w=e[r>>2],m=e[r+4>>2],h=15372-i<<16,i=e[r+8>>2],l=h|65536^e[r+12>>2]):(i=0,l=0),e[t>>2]=w,e[t+4>>2]=m,e[t+8>>2]=i,e[t+12>>2]=-2147483648&a|l,oe=r+16|0}function ms(t,A,r){var a=0,i=0;e:{t:{r:{if(!(3&((i=t)^A))){a=!!(0|r);a:if(!(!(3&A)|!r))for(;;){if(a=d[0|A],g[0|i]=a,!a)break e;if(i=i+1|0,a=!!(0|(r=r-1|0)),!(3&(A=A+1|0)))break a;if(!r)break}if(!a)break t;if(!d[0|A])break e;if(!(r>>>0<4))for(;;){if(~(a=e[A>>2])&a-16843009&-2139062144)break r;if(e[i>>2]=a,i=i+4|0,A=A+4|0,!((r=r-4|0)>>>0>3))break}}if(!r)break t}for(;;){if(a=d[0|A],g[0|i]=a,!a)break e;if(i=i+1|0,A=A+1|0,!(r=r-1|0))break}}r=0}return kA(i,0,r),t}function Ts(t,A,r,a,i,l){var h,m=0,w=0,M=0;oe=h=oe-240|0,m=e[r>>2],e[h+232>>2]=m,r=e[r+4>>2],e[h>>2]=t,e[h+236>>2]=r,M=1;e:{t:{r:{if(r|(0|m)!=1){for(m=t;;){if((0|Ai(r=m-e[(w=(a<<2)+l|0)>>2]|0,t,A))<=0){r=m;break r}a:{if(!((0|a)<2|i)&&(i=e[w-8>>2],(0|Ai(w=m-4|0,r,A))>=0||(0|Ai(w-i|0,r,A))>=0))break a;if(e[(M<<2)+h>>2]=r,pi(m=h+232|0,i=Yi(m)),M=M+1|0,a=a+i|0,i=0,m=r,e[h+236>>2]|e[h+232>>2]!=1)continue;break t}break}r=m;break t}r=t}if(i)break e}On(h,M),$n(r,A,a,l)}oe=h+240|0}function as(t,A){var r=0;e[4+(134912+(r=t<<2)|0)>>2]=A,e[r+136192>>2]=A,r=28;e:{t:{r:switch(t-1|0){case 0:e[50792]=A,e[50786]=A,Ha(3);break t;case 1:e[50787]=A,e[33037]=(0|F(d[e[50797]+105596|0],(0|F(e[50787],55))/100|0))/16;break t;case 2:t=(0|A)>=99?99:A,e[50785]=(0|t)>0?t:0;break t;case 3:e[50788]=(0|A)>=99?99:A;break t;case 12:e[47268]=A;break t;case 6:e[47205]=A;break t;case 9:break t;case 8:break r;default:break e}(t=255&A)&&(e[e[47192]+152>>2]=t),e[47196]=A}r=0}return r}function vr(t,A){var r=0,a=0,i=0;e:if(e[t>>2])for(;;){if(ns(e[t-4>>2])){if(a=0,(0|(r=g[0|A]))==e[t>>2])for(;(0|(r=g[(a=a+1|0)+A|0]))==e[(t=t+4|0)>>2];);if(!r){for(;A=t,t=t+4|0,ns(e[A>>2]););for(i=A+((e[A>>2]==61)<<2)|0;i=(t=i)+4|0,ns(e[t>>2]););switch((A=e[t>>2])-34|0){case 0:case 5:break e}return ns(A)||e[t>>2]==47?102808:t}}if(!e[(t=t+4|0)>>2])break}return i}function cs(t,A,r,a){var i,l,h=0,m=0,w=0;return!d[t+25|0]|N[t+8>>3]!=r|N[t+16>>3]!=a?(N[t+16>>3]=a,N[t+8>>3]=r,a=(h=pr(-3.141592653589793/(m=+e[t>>2])*a))*-h,N[t+48>>3]=a,h*=sa(-6.283185307179586/m*r),h+=h,N[t+40>>3]=h,m=1-h-a,N[t+32>>3]=m,!(w=d[t+24|0])|r==0||(m=1/m,N[t+32>>3]=m,a*=r=-m,N[t+48>>3]=a,h*=r,N[t+40>>3]=h,w=1)):(w=d[t+24|0],a=N[t+48>>3],h=N[t+40>>3],m=N[t+32>>3]),g[t+25|0]=1,r=N[t+64>>3],i=N[t+56>>3],N[t+64>>3]=i,l=A,A=a*r+(m*A+h*i),N[t+56>>3]=w?l:A,A}function Sn(t,A,r,a,i){var l,h=0,m=0,w=0,M=0;if((l=e[34388])&&!((0|(m=e[34436]))>=(e[34393]-2|0))){if(e[34436]=m+1,h=F(m,36)+l|0,e[h>>2]=t,e[h+4>>2]=e[34437],M=e[34438],e[h+12>>2]=A>>>24,e[h+8>>2]=16777215&A,e[h+24>>2]=M,A=e[50754],i=e[34439]+((i-e[34392]|0)/2|0)|0,e[h+20>>2]=i,A=he(w=1e3*+(0|i)/+(0|A))<2147483648?~~w:-2147483648,e[h+16>>2]=A,t-3>>>0<=1)return void(e[28+(F(m,36)+l|0)>>2]=e[33282]+r);A=28+(F(m,36)+l|0)|0,e[A>>2]=r,(0|t)==7&&(e[A+4>>2]=a)}}function Ta(t,A,r,a,i,l){var h=0,m=0,w=0,M=0;64&l?(A=31&(r=l+-64|0),(63&r)>>>0>=32?(r=0,A=i>>>A|0):(r=i>>>A|0,A=((1<<A)-1&i)<<32-A|a>>>A),a=0,i=0):l&&(w=a,h=31&(m=64-l|0),(63&m)>>>0>=32?(m=w<<h,M=0):(m=(1<<h)-1&w>>>32-h|i<<h,M=w<<h),w=A,A=31&l,(63&l)>>>0>=32?(h=0,A=r>>>A|0):(h=r>>>A|0,A=((1<<A)-1&r)<<32-A|w>>>A),A|=M,r=h|m,h=a,a=31&l,(63&l)>>>0>=32?(m=0,a=i>>>a|0):(m=i>>>a|0,a=((1<<a)-1&i)<<32-a|h>>>a),i=m),e[t>>2]=A,e[t+4>>2]=r,e[t+8>>2]=a,e[t+12>>2]=i}function zi(t){var A=0,r=0;if(!t){if(e[33174]&&(A=zi(e[33174])),e[33136]&&(A=zi(e[33136])|A),t=e[56816])for(;e[t+20>>2]!=e[t+28>>2]&&(A=zi(t)|A),t=e[t+56>>2];);return A}return e[t+76>>2],e[t+20>>2]==e[t+28>>2]||(Ar[e[t+36>>2]](t,0,0),e[t+20>>2])?((0|(A=e[t+8>>2]))!=(0|(r=e[t+4>>2]))&&(A=r-A|0,Ar[e[t+40>>2]](t,A,A>>31,1)),A=0,e[t+28>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0):A=-1,A}function Hs(t,A){var r=0,a=0,i=0,l=0,h=0;if((192&(r=d[0|A]))==128)for(;(192&(r=d[0|(A=A-1|0)]))==128;);e:if(128&(r=r<<24>>24)){if(a=1,(0|(i=224&r))!=192)if((240&r)!=224){if(a=3,(248&r)!=240){r&=255,a=0;break e}}else a=2,h=1;r=d[a+93846|0]&r,(l=d[A+1|0])?(r=63&l|r<<6,(0|i)!=192&&((i=d[A+2|0])?(r=63&i|r<<6,h||((A=d[A+3|0])?r=63&A|r<<6:a=2)):a=1)):a=0}return e[t>>2]=r,a+1|0}function Fi(t,A,r,a){var i,l=0,h=0;return oe=i=oe-224|0,t?(e[i>>2]=137584,e[i+4>>2]=47,e[i+8>>2]=A,uA(A=i+16|0,85430,i),(0|(l=nn(A)))<0?A=In(a,0-l|0,i+16|0):(A=oa(i+16|0,85659))?((h=e[t>>2])&&DA(h),l?(h=nA(l),e[t>>2]=h,h?(0|xn(h,l,A))==(0|l)?(bs(A),A=0,r&&(e[r>>2]=l)):(r=e[56798],bs(A),DA(e[t>>2]),e[t>>2]=0,A=In(a,r,i+16|0)):(bs(A),A=48)):(A=0,e[t>>2]=0)):A=In(a,e[56798],i+16|0)):A=28,oe=i+224|0,A}function ur(t,A){var r=0,a=0,i=0,l=0,h=0;if((192&(r=d[0|A]))==128)for(;(192&(r=d[0|(A=A+1|0)]))==128;);e:if(128&(r=r<<24>>24)){if(a=1,(0|(i=224&r))!=192)if((240&r)!=224){if(a=3,(248&r)!=240){r&=255,a=0;break e}}else a=2,h=1;r=d[a+93846|0]&r,(l=d[A+1|0])?(r=63&l|r<<6,(0|i)!=192&&((i=d[A+2|0])?(r=63&i|r<<6,h||((A=d[A+3|0])?r=63&A|r<<6:a=2)):a=1)):a=0}return e[t>>2]=r,a+1|0}function Us(t,A,r,a,i,l){var h=0,m=0,w=0;64&l?(a=A,A=31&(i=l+-64|0),(63&i)>>>0>=32?(i=a<<A,a=0):(i=(1<<A)-1&a>>>32-A|r<<A,a<<=A),A=0,r=0):l&&(h=a,a=31&l,(63&l)>>>0>=32?(m=h<<a,w=0):(m=(1<<a)-1&h>>>32-a|i<<a,w=h<<a),h=A,a=31&(i=64-l|0),(63&i)>>>0>=32?(i=0,A=r>>>a|0):(i=r>>>a|0,A=((1<<a)-1&r)<<32-a|h>>>a),a=w|A,i|=m,A=31&l,(63&l)>>>0>=32?(m=h<<A,A=0):(m=(1<<A)-1&h>>>32-A|r<<A,A=h<<A),r=m),e[t>>2]=A,e[t+4>>2]=r,e[t+8>>2]=a,e[t+12>>2]=i}function ja(t){var A=0;return t>>>0<=55295?A=d[e[125552+(t>>>6&67108860)>>2]+(255&t)|0]:(A=4,t>>>0<57344||(t>>>0<63488?A=3:t>>>0<=195327?A=d[e[126416+(t-63488>>>6&67108860)>>2]+(255&t)|0]:(A=2,t>>>0<917504||(t>>>0<=918015?A=d[e[128476+(t-917504>>>6&67108860)>>2]+(255&t)|0]:t>>>0<983040||(t>>>0<1048574?A=3:t>>>0<1048576||(A=3,t>>>0<1114110||(A=t>>>0<1114112?2:5))))))),255&A}function Mo(t,A){var r=0,a=0,i=0,l=0,h=0,m=0,w=0,M=0,y=0;if(!((0|(r=e[33709]))<=0)){if(i=(0|t)>31?t-32|0:t,t=0,r>>>0>=4)for(y=-4&r;m=2|t,w=1|t,a=e[134912+((h=3|t)<<6)>>2]==(0|i)?h:e[134912+(m<<6)>>2]==(0|i)?m:e[134912+(w<<6)>>2]==(0|i)?w:e[134912+(t<<6)>>2]==(0|i)?t:a,t=t+4|0,(0|y)!=(0|(l=l+4|0)););if(l=3&r)for(;a=e[134912+(t<<6)>>2]==(0|i)?t:a,t=t+1|0,(0|l)!=(0|(M=M+1|0)););(0|a)<=0||(e[33709]=a,r=a)}La(A,r)}function Oi(t){var A,r=0,a=0,i=0;for(oe=A=oe-96|0,Zr(A,t,60),pn(A,1);i=or(g[0|(a=A+r|0)]),g[0|a]=i,r=r+1|0,255&i;);e[A+92>>2]=0,e[A+84>>2]=0,e[A+88>>2]=0,e[A+76>>2]=0,e[A+80>>2]=0,e[A+72>>2]=t;e:{t:{r:{if(tA(A,1)){if(d[202976])break r;break t}if(e[50303]||QA(),r=268437247,!(t=ra(201216,A))||!tA(e[t+8>>2],0))break e;if(!d[202976])break t}tA(202976,2)}Ri(e[32972]),e[A+76>>2]=e[32972]+40,qn(A+72|0,202976),r=0}return oe=A+96|0,r}function Xn(t,A){if(!t)return 0;e:{t:{if(t){if(A>>>0<=127)break t;if(e[e[56841]>>2]){if(A>>>0<=2047){g[t+1|0]=63&A|128,g[0|t]=A>>>6|192,t=2;break e}if(!((-8192&A)!=57344&A>>>0>=55296)){g[t+2|0]=63&A|128,g[0|t]=A>>>12|224,g[t+1|0]=A>>>6&63|128,t=3;break e}if(A-65536>>>0<=1048575){g[t+3|0]=63&A|128,g[0|t]=A>>>18|240,g[t+2|0]=A>>>6&63|128,g[t+1|0]=A>>>12&63|128,t=4;break e}}else if((-128&A)==57216)break t;e[56798]=25,t=-1}else t=1;break e}g[0|t]=A,t=1}return t}function Ii(t){var A=0,r=0,a=0,i=0;if(e[t+20>>2]=0,(a=(r=e[t+8>>2])-(A=e[t+4>>2])|0)>>>0>=9)for(;DA(e[A>>2]),A=e[t+4>>2]+4|0,e[t+4>>2]=A,(a=(r=e[t+8>>2])-A|0)>>>0>8;);switch(i=512,(a>>>2|0)-1|0){case 1:i=1024;case 0:e[t+16>>2]=i}if((0|A)!=(0|r)){for(;DA(e[A>>2]),(0|r)!=(0|(A=A+4|0)););(0|(A=e[t+8>>2]))!=(0|(r=e[t+4>>2]))&&(e[t+8>>2]=A+(3+(r-A|0)&-4))}(t=e[t>>2])&&DA(t)}function Nn(t,A,r){var a=0,i=0;a=!!(0|r);e:{t:{r:if(!(!(3&t)|!r))for(i=255&A;;){if((0|i)==d[0|t])break t;if(a=!!(0|(r=r-1|0)),!(3&(t=t+1|0)))break r;if(!r)break}if(!a)break e;if(!(d[0|t]==(255&A)|r>>>0<4))for(a=F(255&A,16843009);;){if(~(i=a^e[t>>2])&i-16843009&-2139062144)break t;if(t=t+4|0,!((r=r-4|0)>>>0>3))break}if(!r)break e}for(A&=255;;){if((0|A)==d[0|t])return t;if(t=t+1|0,!(r=r-1|0))break}}return 0}function zn(t,A){var r=0,a=0;e:{if(a=255&A){if(3&t)for(;;){if(!(r=d[0|t])|(0|r)==(255&A))break e;if(!(3&(t=t+1|0)))break}t:if(!(~(r=e[t>>2])&r-16843009&-2139062144))for(a=F(a,16843009);;){if(~(r^=a)&r-16843009&-2139062144)break t;if(r=e[t+4>>2],t=t+4|0,r-16843009&~r&-2139062144)break}for(;(a=d[0|(r=t)])&&(t=r+1|0,(0|a)!=(255&A)););return r}return CA(t)+t|0}return t}function Do(t,A,r,a,i){var l,h=0,m=0;m=-1;e:if(!(((h=(0|(l=2147483647&a))==2147418112)&!r?t|A:h&!!(0|r)|l>>>0>2147418112)||(h=2147483647&i)>>>0>2147418112&(0|h)!=2147418112)){if(!(t|r|h|l|A))return 0;if((0|(h=a&i))>0|(0|h)>=0){if((!!(0|r)|(0|a)!=(0|i))&(0|a)<(0|i))break e;return!!(t|r|a^i|A)}(!r&(0|a)==(0|i)?t|A:!!(0|r)&(0|a)>=(0|i)|(0|a)>(0|i))||(m=!!(t|r|a^i|A))}return m}function pn(t,A){var r,a=0;oe=r=oe+-64|0,g[202976]=0,e[r+48>>2]=47,uA(r+59|0,91351,r+48|0),A||(g[r+59|0]=0);e:{t:{if(t&&(t=$a(t,43))){if(g[0|t]=0,g[0|(t=t+1|0)]-48>>>0>=10)break t;a=Jn(t)}if((0|a)<=0)break e;if(a>>>0<=9){e[r+4>>2]=a,e[r>>2]=r+59,uA(202976,91378,r);break e}e[r+20>>2]=a-10,e[r+16>>2]=r+59,uA(202976,91503,r+16|0);break e}e[r+36>>2]=t,e[r+32>>2]=r+59,uA(202976,85425,r+32|0)}oe=r- -64|0}function Qa(t){var A,r=0,a=0,i=0;oe=A=oe-80|0,r=Lr(t,A+12|0),e[A+12>>2]?(Zr(a=A+16|0,r,60),r=0,pn(a,1),!tA(a,0)|!d[202976]||tA(202976,2),Ri(e[32972]),qn(t,86012)):r=268437247,oe=A+80|0;e:{t:{r:{a:{if((0|r)<=268437502){if(!r)break e;if((0|r)==268436479)break t;if((0|r)!=268437247)break a;return 2}if((0|r)==268437503|(0|r)==268437759)break r;if((0|r)==268439295)break e}return-1}return 2}i=1}return i}function Ys(t,A,r,a,i,l,h,m,w){var M,y,P;w=er(A,r,m,w),m=fe,i=er(a,i,l,h),a=fe+m|0,m=i>>>0>(w=i+w|0)>>>0?a+1|0:a,M=h,y=r,h=(r=er(h,i=0,r,a=0))+w|0,w=fe+m|0,P=h,r=r>>>0>h>>>0?w+1|0:w,h=er(l,0,A,0),m=fe,a=er(l,w=0,y,a),l=fe+w|0,l=a>>>0>(m=m+a|0)>>>0?l+1|0:l,a=r,l=l>>>0>(w=l+P|0)>>>0?a+1|0:a,r=er(A,0,M,i)+m|0,i=fe,m=(i=r>>>0<m>>>0?i+1|0:i)+w|0,w=l,e[t+8>>2]=m,e[t+12>>2]=i>>>0>m>>>0?w+1|0:w,e[t>>2]=h,e[t+4>>2]=r}function BA(t,A){var r=0,a=0;e:{if(3&((a=t)^A))r=d[0|A];else{if(3&A)for(;;){if(r=d[0|A],g[0|a]=r,!r)break e;if(a=a+1|0,!(3&(A=A+1|0)))break}if(!(~(r=e[A>>2])&r-16843009&-2139062144))for(;e[a>>2]=r,r=e[A+4>>2],a=a+4|0,A=A+4|0,!(r-16843009&~r&-2139062144););}if(g[0|a]=r,255&r)for(;r=d[A+1|0],g[a+1|0]=r,a=a+1|0,A=A+1|0,r;);}return t}function sa(t){var A,r=0,a=0;oe=A=oe-16|0,O(+t),a=0|G(1),G(0);e:if((a&=2147483647)>>>0<=1072243195){if(r=1,a>>>0<1044816030)break e;r=Li(t,0)}else if(r=t-t,!(a>>>0>=2146435072)){switch(3&OA(t,A)){case 0:r=Li(N[A>>3],N[A+8>>3]);break e;case 1:r=-ha(N[A>>3],N[A+8>>3],1);break e;case 2:r=-Li(N[A>>3],N[A+8>>3]);break e}r=ha(N[A>>3],N[A+8>>3],1)}return oe=A+16|0,r}function wi(t,A,r,a){var i=0,l=0,h=0;if(!((CA(a)+CA(A)|0)>=(0|r))){for(h=e[36115],r=a;i=d[0|r];)if(r=r+1|0,!((0|i)>=(0|h))){e:{t:switch(i=e[144464+(i<<2)>>2],d[i+11|0]-1|0){case 1:break e;case 0:break t;default:continue}l=d[i+14|0]<4|l;continue}1&(d[i+4|0]>>>1|l)||(e[t+8212>>2]=e[t+8212>>2]+1),e[t+8208>>2]=e[t+8208>>2]+1,l=0}A&&fa(A,a)}}function ki(t){var A,r=0;oe=A=oe-16|0,O(+t),r=0|G(1),G(0);e:if((r&=2147483647)>>>0<=1072243195){if(r>>>0<1045430272)break e;t=ha(t,0,0)}else if(r>>>0>=2146435072)t-=t;else{switch(3&OA(t,A)){case 0:t=ha(N[A>>3],N[A+8>>3],1);break e;case 1:t=Li(N[A>>3],N[A+8>>3]);break e;case 2:t=-ha(N[A>>3],N[A+8>>3],1);break e}t=-Li(N[A>>3],N[A+8>>3])}return oe=A+16|0,t}function io(t){var A=0;e[t+296>>2]=303173648,e[t+300>>2]=370677780,A=e[26341],e[t+304>>2]=e[26340],e[t+308>>2]=A,A=e[26343],e[t+312>>2]=e[26342],e[t+316>>2]=A,Va(t),e[t+56>>2]=2,e[t+36>>2]=3,e[t+40>>2]=1074,g[t+168|0]=5,e[t+132>>2]=32,e[t+104>>2]=1032,e[t+108>>2]=66,e[t+8>>2]=5,e[t+12>>2]=32,g[t+365|0]=64|d[t+365|0],g[t+368|0]=64|d[t+368|0],g[t+396|0]=64|d[t+396|0],g[t+399|0]=64|d[t+399|0]}function Fn(t,A,r){var a=0,i=0,l=0;e:{if(!(a=e[r+16>>2])){if(on(r))break e;a=e[r+16>>2]}if(a-(l=e[r+20>>2])>>>0<A>>>0)return 0|Ar[e[r+36>>2]](r,t,A);t:if(e[r+80>>2]<0)a=0;else{for(i=A;;){if(!(a=i)){a=0;break t}if(d[(i=a-1|0)+t|0]==10)break}if((i=0|Ar[e[r+36>>2]](r,t,a))>>>0<a>>>0)break e;t=t+a|0,A=A-a|0,l=e[r+20>>2]}sr(l,t,A),e[r+20>>2]=e[r+20>>2]+A,i=A+a|0}return i}function Go(t){var A,r=0,a=0;e:{if((0|(A=e[34064]))>0)for(;;){if((a=e[136284+(r<<4)>>2])&&!qr(t,a)){if(e[136276+(r<<4)>>2])return r;if(a=-1,Ka(0,r))break e;return r}if((0|A)==(0|(r=r+1|0)))break}a=-1,Ka(t,A)||(r=xs(e[12+(136272+(e[34064]<<4)|0)>>2],CA(t)+1|0),a=e[34064],e[12+(136272+(a<<4)|0)>>2]=r,BA(r,t),e[34064]=a+1)}return a}function di(t,A){var r,a=0,i=0,l=0,h=0;for(oe=r=oe-16|0,g[0|A]=0,(a=15&e[t>>2])&&(A=(i=CA(A=BA(A,Vi(128496,64|a))))+A|0),a=8;;){e:{t:{if(a>>>0<=29){if(e[t>>2]>>>a&1)break t;break e}if(!(e[t+4>>2]>>>a-32&1)|a>>>0<32)break e}(0|(i=(h=CA(l=Vi(128496,a))+1|0)+i|0))>=80||(e[r>>2]=l,uA(A,84439,r),A=A+h|0)}if((0|(a=a+1|0))==64)break}oe=r+16|0}function oo(t,A,r){var a,i=0,l=0,h=0;if(oe=a=oe-16|0,d[0|t]){for(h=e[30450];;)if(l=t,t=t+1|0,!((0|(i=g[0|l]))==32|i-9>>>0<5)){for((0|(i=Jn(l)))>0&&((0|i)<32?e[A>>2]=e[A>>2]|1<<i:(l=Vi(129568,r),e[a+4>>2]=i,e[a>>2]=l,fs(h,84902,a)),l=t);l=(t=l)+1|0,(i=g[0|t])-48>>>0<10|(32|i)-97>>>0<26;);if(!i)break}}oe=a+16|0}function Ea(t,A,r){var a=0,i=0,l=0,h=0;e:if(A&&!((0|(i=r-4|0))<=0))for(l=(0|(r=e[A-4>>2]))!=34?(0|r)==39?r:0:r,r=0;;){if(h=r,!(r=e[A>>2]))break e;t:{if(!l){if((0|r)==32|r-9>>>0<5)break e;if((0|r)!=47)break t;break e}if((0|h)!=92&&(0|r)==(0|l))break e}if(A=A+4|0,!((0|i)>(0|(a=Rr(r,t+a|0)+a|0))))break}return g[t+a|0]=0,a}function Xr(t){var A=0;e:if(!Mn(t)){A=0;t:if(!(t>>>0<768)){if(t-2305>>>0<=1270){if((124&t)>>>0<100)break e;if(A=1,cn(93850,t))break t;return t-3450>>>0<6}if((0|t)==1541|t-1456>>>0<19|(0|t)==1648||(0|(A=-256&t))==10240|(0|A)==4352|t-3904>>>0<125|t>>>0<880)break e;A=1,t-1611>>>0<20||(A=t-12353>>>0<30400)}return A}return 1}function qn(t,A){var r=0;t?((r=e[t+4>>2])&&BA(133208,r),(r=e[t>>2])&&Zr(133168,r,40),e[33289]=d[t+14|0],e[33291]=d[t+13|0],e[33290]=d[t+12|0],Zr(134672,d[0|A]!=33|d[A+1|0]!=118?A:(d[A+2|0]==47?3:0)+A|0,40),t=e[50298],e[33678]=e[50297],e[33679]=t,t=e[50302],e[33682]=e[50301],e[33683]=t,t=e[50300],e[33680]=e[50299],e[33681]=t):kA(133152,0,76)}function mn(t,A,r,a){g[t+53|0]=1;e:if(e[t+4>>2]==(0|r)){g[t+52|0]=1;t:{if(!(r=e[t+16>>2])){if(e[t+36>>2]=1,e[t+24>>2]=a,e[t+16>>2]=A,(0|a)!=1)break e;if(e[t+48>>2]==1)break t;break e}if((0|A)==(0|r)){if((0|(r=e[t+24>>2]))==2&&(e[t+24>>2]=a,r=a),e[t+48>>2]!=1)break e;if((0|r)==1)break t;break e}e[t+36>>2]=e[t+36>>2]+1}g[t+54|0]=1}}function Xs(t,A){var r=0,a=0,i=0,l=0,h=0;e:if(r=e[A>>2])for(;;){a=0;t:if(t){for(;h=g[a+r|0],(i=e[(a<<2)+t>>2])&&(a=a+1|0,(0|h)==(0|i)););r:switch(i-34|0){case 0:case 5:break r;default:break t}if(!h)break e}if(!(r=e[((l=l+1|0)<<3)+A>>2]))break}return e[4+((l<<3)+A|0)>>2]}function Bn(t,A){e:if((0|A)>=1024){if(t*=898846567431158e293,A>>>0<2047){A=A-1023|0;break e}t*=898846567431158e293,A=((0|A)>=3069?3069:A)-2046|0}else(0|A)>-1023||(t*=2004168360008973e-307,A>>>0>4294965304?A=A+969|0:(t*=2004168360008973e-307,A=((0|A)<=-2960?-2960:A)+1938|0));return D(0,0),D(1,A+1023<<20),t*+_()}function rn(t,A,r,a){var i,l,h,m=0;return oe=l=oe-16|0,e[l+12>>2]=a,oe=i=oe-160|0,h=A?t:i+158|0,e[i+144>>2]=h,m=-1,t=A-1|0,e[i+148>>2]=t>>>0<=A>>>0?t:0,t=kA(i,0,144),e[t+76>>2]=-1,e[t+36>>2]=17,e[t+80>>2]=-1,e[t+44>>2]=t+159,e[t+84>>2]=t+144,(0|A)<0?e[56798]=61:(g[0|h]=0,m=rs(t,r,a,15,16)),oe=t+160|0,oe=l+16|0,m}function lo(t,A){var r=0,a=0,i=0;e:if(r=d[0|t])for(;;){if(!(a=d[0|A])){i=r;break e}if((0|r)!=(0|a)&&(0|(a=r-65>>>0<26?32|r:r))!=(0|((r=d[0|A])-65>>>0<26?32|r:r))){i=d[0|t];break e}if(A=A+1|0,r=d[t+1|0],t=t+1|0,!r)break}return(i=(t=255&i)-65>>>0<26?32|t:t)-((t=d[0|A])-65>>>0<26?32|t:t)|0}function xn(t,A,r){var a=0,i=0;if(a=e[r+72>>2],e[r+72>>2]=a-1|a,(0|(a=e[r+4>>2]))==(0|(i=e[r+8>>2]))?a=A:(sr(t,a,a=A>>>0>(a=i-a|0)>>>0?a:A),e[r+4>>2]=a+e[r+4>>2],t=t+a|0,a=A-a|0),a)for(;;){if(Xa(r)||!(i=0|Ar[e[r+32>>2]](r,t,a)))return A-a|0;if(t=t+i|0,!(a=a-i|0))break}return A}function Jn(t){for(var A=0,r=0,a=0,i=0;t=(A=t)+1|0,(0|(r=g[0|A]))==32|r-9>>>0<5;);e:{t:{r:switch((r=g[0|A])-43|0){case 0:break t;case 2:break r;default:break e}i=1}r=g[0|t],A=t}if(r-48>>>0<10)for(;a=48+(F(a,10)-g[0|A]|0)|0,t=g[A+1|0],A=A+1|0,t-48>>>0<10;);return i?a:0-a|0}function co(t,A){var r,a,i,l=0;return oe=r=oe-32|0,e[A>>2]=0,e[A+4>>2]=0,e[(l=a=A+24|0)>>2]=0,e[l+4>>2]=0,e[(l=i=A+16|0)>>2]=0,e[l+4>>2]=0,e[(l=A+8|0)>>2]=0,e[l+4>>2]=0,e[r+28>>2]=A+28,e[r+24>>2]=a,e[r+20>>2]=A+20,e[r+16>>2]=i,e[r+12>>2]=A+12,e[r+8>>2]=l,e[r+4>>2]=A+4,e[r>>2]=A,t=oA(t,84553,r),oe=r+32|0,t}function gi(t){var A=0,r=0,a=0;if((A=d[0|t])&&((r=d[t+1|0])?(r=A|r<<8,(A=d[t+2|0])&&(r|=A<<16,(t=d[t+3|0])&&(r|=t<<24))):r=A),(0|(A=e[36115]))>0)for(t=0;;){if(!(!(a=e[144464+(t<<2)>>2])|e[a>>2]!=(0|r)))return d[a+10|0];if((0|A)==(0|(t=t+1|0)))break}return 0}function $n(t,A,r,a){var i,l=0,h=0,m=0,w=0,M=0;oe=i=oe-240|0,e[i>>2]=t,m=1;e:if(!((0|r)<2))for(l=t;;){if((0|Ai(t,h=(l=l-4|0)-e[((w=r-2|0)<<2)+a>>2]|0,A))>=0&&(0|Ai(t,l,A))>=0)break e;if(M=h,l=(h=(0|Ai(h,l,A))>=0)?M:l,e[(m<<2)+i>>2]=l,m=m+1|0,!((0|(r=h?r-1|0:w))>1))break}On(i,m),oe=i+240|0}function uA(t,A,r){var a,i,l,h=0;return oe=i=oe-16|0,e[i+12>>2]=r,oe=a=oe-160|0,sr(l=a+8|0,124528,144),e[a+52>>2]=t,e[a+28>>2]=t,h=(h=-2-t|0)>>>0>2147483647?2147483647:h,e[a+56>>2]=h,t=t+h|0,e[a+36>>2]=t,e[a+24>>2]=t,t=ri(l,A,r),h&&(A=e[a+28>>2],g[A-((0|A)==e[a+24>>2])|0]=0),oe=a+160|0,oe=i+16|0,t}function On(t,A){var r,a=0,i=0,l=0,h=0,m=0;if(a=4,oe=r=oe-256|0,(0|A)>=2)for(e[(m=(A<<2)+t|0)>>2]=r;;){for(l=a>>>0>=256?256:a,sr(e[m>>2],e[t>>2],l),i=0;h=(i<<2)+t|0,i=i+1|0,sr(e[h>>2],e[(i<<2)+t>>2],l),e[h>>2]=e[h>>2]+l,(0|A)!=(0|i););if(!(a=a-l|0))break}oe=r+256|0}function vA(t,A,r){var a,i=0;return oe=a=oe-96|0,e[a+88>>2]=0,e[a+92>>2]=1073741824,e[a+84>>2]=A,A=ls(t,a+84|0,r,a+88|0,2,0),536870912&(i=e[a+88>>2])?(A=e[47202],e[47202]=0,g[a+2|0]=32,v[a>>1]=8192,Zr(i=3|a,e[a+84>>2],77),t=cA(t,i,0,0),BA(r,189088),e[47202]=A):t=A?i:0,oe=a+96|0,t}function _o(t,A,r){var a=0,i=0,l=0;i=hi(t),a=e[A>>2];e:{t:if((0|i)>=0){if(a){if(!qr(t,r))break t;(l=e[a+688>>2])&&DA(l),DA(a),e[A>>2]=0}e[A>>2]=rt(t),t=BA(r,t),ss(r=e[A>>2],r+228|0,0)&&(ba(e[e[32972]+60>>2]),g[0|t]=0,i=-1),a=e[A>>2],e[a+292>>2]=i}else if(!a)break e;g[a+268|0]=0}return i}function uo(t){var A=0,r=0;return(0|(A=e[t+76>>2]))>=0&(!A|e[56823]!=(-1073741825&A))?(r=e[(A=t+76|0)>>2],e[A>>2]=r||1073741823,(0|(r=e[t+4>>2]))==e[t+8>>2]?t=bo(t):(e[t+4>>2]=r+1,t=d[0|r]),e[A>>2]=0,t):(0|(A=e[t+4>>2]))!=e[t+8>>2]?(e[t+4>>2]=A+1,d[0|A]):bo(t)}function la(t,A,r){var a=0,i=0;e:{t:{if(r>>>0>=4){if(3&(t|A))break t;for(;;){if(e[t>>2]!=e[A>>2])break t;if(A=A+4|0,t=t+4|0,!((r=r-4|0)>>>0>3))break}}if(!r)break e}for(;;){if((0|(a=d[0|t]))==(0|(i=d[0|A]))){if(A=A+1|0,t=t+1|0,r=r-1|0)continue;break e}break}return a-i|0}return 0}function Ss(t,A){var r,a=0,i=0,l=0;oe=r=oe-16|0,A?(Us(r,i=((a=A>>31)^A)-a|0,0,0,0,(a=ce(i))+81|0),i=0+e[r+8>>2]|0,a=(65536^e[r+12>>2])+(16414-a<<16)|0,l=-2147483648&A|(a=i>>>0<l>>>0?a+1|0:a),a=e[r+4>>2],A=e[r>>2]):A=0,e[t>>2]=A,e[t+4>>2]=a,e[t+8>>2]=i,e[t+12>>2]=l,oe=r+16|0}function vi(t){var A,r=0,a=0,i=0;if((0|(r=zn(t,61)))==(0|t))return 0;e:if(!d[(A=r-t|0)+t|0]&&(r=e[56800])&&(a=e[r>>2])){for(;;){if(ho(t,a,A)||(a=e[r>>2]+A|0,d[0|a]!=61)){if(a=e[r+4>>2],r=r+4|0,a)continue;break e}break}i=a+1|0}return i}function hi(t){var A=0,r=0;e:if(!((0|(r=e[34461]))<=0)){for(;;){if(!qr(t,F(A,44)+137856|0)){e[34457]=A;break e}if((0|r)==(0|(A=A+1|0)))break}return-1}return(t=(0|A)==(0|r))?-1:((0|(t=t?-1:A))!=e[36114]&&(e[36115]=0,ga(t),e[36114]=t,e[36115]=e[36115]+1),A)}function sn(t,A,r,a){var i=0,l=0;e:if((32|d[0|A])!=32){if(i=((0|a)>2)<<1,l=Tt(t,A,r,i=(0|a)>1?4|i:i),d[0|r]!=21)for(i|=1,A=A+l|0,l=1;;){if((32|d[0|A])==32)break e;if(A=Tt(t,A,r,i)+A|0,l=l+1|0,d[0|r]==21)break}return BA(189088,r),0}return zA(t,r,a,l),A}function Rr(t,A){var r,a=0,i=0,l=0;if(t>>>0<=127)return g[0|A]=t,1;if(t>>>0>=1114112)return g[0|A]=32,1;for(a=F(r=t>>>0<2048?1:t>>>0<65536?2:3,6),g[0|A]=d[r+93842|0]|t>>>a;a=a-6|0,g[(i=i+1|0)+A|0]=t>>>a&63|128,(0|(l=l+1|0))!=(0|r););return r+1|0}function Uo(t){var A=0,r=0;e:{if((0|(A=e[t+12>>2]))>=e[t+16>>2]){if(A=0,(0|(r=0|ze(e[t+8>>2],t+24|0,2048)))<=0){if(!r|(0|r)==-44)break e;return e[56798]=0-r,0}e[t+16>>2]=r}r=A,A=t+A|0,e[t+12>>2]=r+T[A+40>>1],r=e[A+36>>2],e[t>>2]=e[A+32>>2],e[t+4>>2]=r,A=A+24|0}return A}function fo(t,A){var r,a=0;if(a=e[t+632>>2])return!!(0|Ns(a,A));e:{t:{if((0|(r=e[t+600>>2]))>0){if(a=0,(A=A-r|0)-1>>>0<255)break t;break e}if((a=A-192|0)>>>0<=413)return 128&d[344+(d[a+94240|0]+t|0)|0];if(a=0,A>>>0>255)break e}a=128&d[344+(t+A|0)|0]}return a}function ha(t,A,r){var a,i,l;return l=(a=t*t)*(a*a)*(158969099521155e-24*a-25050760253406863e-24)+(a*(27557313707070068e-22*a-.0001984126982985795)+.00833333333332249),i=a*t,r?t-(a*(.5*A-l*i)-A+.16666666666666632*i):i*(a*l-.16666666666666632)+t}function yi(t,A){var r,a=0,i=0,l=0;oe=r=oe-16|0,A?(Us(r,a=A,0,0,0,(A=ce(A))+81|0),a=0+e[r+8>>2]|0,A=(65536^e[r+12>>2])+(16414-A<<16)|0,l=i>>>0>a>>>0?A+1|0:A,i=e[r+4>>2],A=e[r>>2]):A=0,e[t>>2]=A,e[t+4>>2]=i,e[t+8>>2]=a,e[t+12>>2]=l,oe=r+16|0}function go(t){var A,r=0;oe=A=oe-16|0,g[A+15|0]=10;e:{if(!(r=e[t+16>>2])){if(on(t))break e;r=e[t+16>>2]}(0|r)==(0|(r=e[t+20>>2]))|e[t+80>>2]==10?Ar[e[t+36>>2]](t,A+15|0,1):(e[t+20>>2]=r+1,g[0|r]=10)}oe=A+16|0}function Xa(t){var A,r=0;return r=e[t+72>>2],e[t+72>>2]=r-1|r,e[t+20>>2]!=e[t+28>>2]&&Ar[e[t+36>>2]](t,0,0),e[t+28>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,4&(r=e[t>>2])?(e[t>>2]=32|r,-1):(A=e[t+44>>2]+e[t+48>>2]|0,e[t+8>>2]=A,e[t+4>>2]=A,r<<27>>31)}function Ei(t){var A=0;e:{t:{r:{a:{if((0|(t=Oi(t)))<=268437502){if(!t)break e;if((0|t)==268436479)break t;if((0|t)!=268437247)break a;return 2}if((0|t)==268437503|(0|t)==268437759)break r;if((0|t)==268439295)break e}return-1}return 2}A=1}return A}function CA(t){var A=0,r=0,a=0;e:{if(3&(A=t))for(;;){if(!d[0|A])break e;if(!(3&(A=A+1|0)))break}for(;r=A,A=A+4|0,!(~(a=e[r>>2])&a-16843009&-2139062144););for(;r=(A=r)+1|0,d[0|A];);}return A-t|0}function qs(t,A,r){var a,i=0,l=0,h=0;e[t+112>>2]=A,e[t+116>>2]=r,a=e[t+4>>2],i=e[t+44>>2]-a|0,e[t+120>>2]=i,e[t+124>>2]=i>>31,i=e[t+8>>2],A|r&&((0|r)>=(0|(h=(l=i-a|0)>>31))&A>>>0>=l>>>0|(0|r)>(0|h)||(i=A+a|0)),e[t+104>>2]=i}function pa(t,A){var r,a,i=0;if(O(+t),r=0|G(1),a=0|G(0),(0|(i=r>>>20&2047))!=2047){if(!i)return t==0?i=0:(t=pa(18446744073709552e3*t,A),i=e[A>>2]+-64|0),e[A>>2]=i,t;e[A>>2]=i-1022,D(0,0|a),D(1,-2146435073&r|1071644672),t=+_()}return t}function Li(t,A){var r,a,i=0;return(a=1-(i=.5*(r=t*t)))+(1-a-i+(r*(r*(r*(2480158728947673e-20*r-.001388888888887411)+.0416666666666666)+(i=r*r)*i*(r*(-11359647557788195e-27*r+2087572321298175e-24)-27557314351390663e-23))-t*A))}function bn(t,A,r){var a=0,i=0;if(A)for(;r=r-1|0,i=t,t=Qi(t,A,10),a=fe,g[0|r]=i-er(t,a,10,0)|48,i=A>>>0>9,A=a,i;);if(t)for(;A=(t>>>0)/10|0,g[0|(r=r-1|0)]=t-F(A,10)|48,a=t>>>0>9,t=A,a;);return r}function an(t,A){var r=0,a=0,i=0;e:if(t){for(;i=g[A+r|0],(a=e[(r<<2)+t>>2])&&(r=r+1|0,(0|i)==(0|a)););t:switch(a-34|0){case 0:case 5:break t;default:break e}if(!i)return 0}return 1}function Ko(t,A,r){var a,i=0;return oe=a=oe-16|0,!(64&A)&&(i=0,4259840&~A)||(e[a+12>>2]=r+4,i=e[r>>2]),e[a>>2]=i,e[a+4>>2]=0,(t=0|we(-100,0|t,32768|A,0|a))>>>0>=4294963201&&(e[56798]=0-t,t=-1),oe=a+16|0,t}function ho(t,A,r){var a=0,i=0,l=0;if(!r)return 0;e:if(a=d[0|t]){for(;;){if((i=d[0|A])&&!(!(r=r-1|0)|(0|a)!=(0|i))){if(A=A+1|0,a=d[t+1|0],t=t+1|0,a)continue;break e}break}l=a}return(255&l)-d[0|A]|0}function qa(t,A){var r,a=0;oe=a=oe-128|0,a=kA(a,0,128),g[a+98|0]=9,g[a+66|0]=9,g[a+34|0]=t,v[a+68>>1]=1,r=e[36125],e[a+104>>2]=r,e[a+72>>2]=r,e[a+40>>2]=e[144464+(t<<2)>>2],g[a+2|0]=9,e[a+8>>2]=r,Gt(0,0,a+32|0,A,0),oe=a+128|0}function Zo(t){var A=0,r=0,a=0;if(g[e[t>>2]]-48>>>0>=10)return 0;for(;a=e[t>>2],r=-1,A>>>0<=214748364&&(r=(0|(r=g[0|a]-48|0))>(2147483647^(A=F(A,10)))?-1:r+A|0),e[t>>2]=a+1,A=r,g[a+1|0]-48>>>0<10;);return A}function po(t,A){var r=0;if(!(!t|e[t>>2]-48>>>0>=10)){if(e[t>>2]-48>>>0<10)for(;r=(e[t>>2]+F(r,10)|0)-48|0,e[(t=t+4|0)>>2]-48>>>0<10;);(0|A)==1&&(r=(0|or(e[t>>2]))==115?F(r,1e3):r)}return r}function ns(t){var A=0;A=1;e:{switch(0|ja(t)){case 30:if(A=0,(0|t)==160|(0|t)==8199|(0|t)==8239)break e;return 1;case 0:if(t-9>>>0<5)return 1;if((0|t)==133)break e;break;case 28:case 29:break e}A=0}return A}function Xo(t,A,r){var a,i=0;return oe=a=oe-16|0,g[a+6|0]=0,g[a+7|0]=95,i=Rr(i=A,A=a+8|0)+a|0,g[i+8|0]=32,g[i+9|0]=0,vA(t,a+7|0,r)||(g[a+7|0]=32,vA(t,A,r)||LA(t,A,r,20,0,0,0)),oe=a+16|0,g[0|r]}function mo(t){var A=0,r=0;r=170;e:if(!((0|t)<170))for(;;){if((0|t)==(0|r))return T[101616+(A<<1|2)>>1];if((2147483646&(A=A+2|0))==124)break e;if(!((0|(r=T[101616+(A<<1)>>1]))<=(0|t)))break}return 0}function er(t,A,r,a){var i,l,h,m,w=0,M=0;return m=F(w=r>>>16|0,M=t>>>16|0),w=(65535&(M=((h=F(i=65535&r,l=65535&t))>>>16|0)+F(M,i)|0))+F(w,l)|0,fe=(F(A,r)+m|0)+F(t,a)+(M>>>16)+(w>>>16)|0,65535&h|w<<16}function or(t){var A=0,r=0,a=0,i=0;for(A=2778;;){if((0|(r=e[1040+((a=(A+i|0)/2|0)<<4)>>2]))==(0|t))return(A=e[1048+(a<<4)>>2])||t;if(!((0|(i=(r=t>>>0>r>>>0)?a+1|0:i))<=(0|(A=r?A:a-1|0))))break}return t}function To(t){var A=0,r=0,a=0,i=0;for(A=2778;;){if((0|(r=e[1040+((a=(A+i|0)/2|0)<<4)>>2]))==(0|t))return(A=e[1044+(a<<4)>>2])||t;if(!((0|(i=(r=t>>>0>r>>>0)?a+1|0:i))<=(0|(A=r?A:a-1|0))))break}return t}function nn(t){var A,r=0;return oe=A=oe-112|0,(t=0|tt(0|t,0|A))>>>0>=4294963201&&(e[56798]=0-t,t=-1),r=0-e[56798]|0,t||(r=-31,(61440&e[A+12>>2])!=16384&&(r=e[A+40>>2])),oe=A+112|0,r}function Cn(t,A,r){var a;if(!(a=e[t+16>>2]))return e[t+36>>2]=1,e[t+24>>2]=r,void(e[t+16>>2]=A);e:{if((0|A)==(0|a)){if(e[t+24>>2]!=2)break e;return void(e[t+24>>2]=r)}g[t+54|0]=1,e[t+24>>2]=2,e[t+36>>2]=e[t+36>>2]+1}}function ca(t,A,r,a,i){var l;if(oe=l=oe-256|0,!(73728&i|(0|r)<=(0|a))){if(kA(l,255&A,(r=(a=r-a|0)>>>0<256)?a:256),!r)for(;aa(t,l,256),(a=a-256|0)>>>0>255;);aa(t,l,a)}oe=l+256|0}function In(t,A,r){var a=0;e:{if(t){if(a=e[t>>2]){DA(e[a+4>>2]),a=e[t>>2];break e}if(a=nA(16),e[t>>2]=a,a)break e;A=48}return A}return e[a>>2]=0,e[a+4>>2]=wo(r),t=e[t>>2],e[t+8>>2]=0,e[t+12>>2]=0,A}function bs(t){var A=0,r=0;zi(t),Ar[e[t+12>>2]](t),1&g[0|t]||((A=e[t+52>>2])&&(e[A+56>>2]=e[t+56>>2]),(r=e[t+56>>2])&&(e[r+52>>2]=A),e[56816]==(0|t)&&(e[56816]=r),DA(e[t+96>>2]),DA(t))}function Ln(t){var A=0,r=0;A=1;e:{t:{r:{a:switch((r=ja(t))-9|0){case 1:break e;case 6:case 18:break r;case 0:break a;default:break t}return(0|or(t))!=(0|t)}return Je(t,r)>>>15&1}A=0}return A}function Bi(t){var A,r,a,i=0,l=0;if(a=CA(t)+1|0,i=e[33282],(0|(r=(A=e[33287])+a|0))>=e[33286]){if(!(i=xs(i,l=r+1e3|0)))return-1;e[33286]=l,e[33282]=i}return sr(i+A|0,t,a),e[33287]=r,A}function on(t){var A=0;return A=e[t+72>>2],e[t+72>>2]=A-1|A,8&(A=e[t>>2])?(e[t>>2]=32|A,-1):(e[t+4>>2]=0,e[t+8>>2]=0,A=e[t+44>>2],e[t+28>>2]=A,e[t+20>>2]=A,e[t+16>>2]=A+e[t+48>>2],0)}function qo(t,A,r,a){e:if(t){t:switch(A+2|0){case 0:return void(g[0|t]=r);case 1:return void(v[t>>1]=r);case 2:case 3:return void(e[t>>2]=r);case 5:break t;default:break e}e[t>>2]=r,e[t+4>>2]=a}}function xi(t,A,r,a,i,l,h,m,w){var M;oe=M=oe-16|0,WA(M,A,r,a,i,l,h,m,-2147483648^w),a=e[M>>2],r=e[M+4>>2],A=e[M+12>>2],e[t+8>>2]=e[M+8>>2],e[t+12>>2]=A,e[t>>2]=a,e[t+4>>2]=r,oe=M+16|0}function qr(t,A){var r=0,a=0;e:if(!(!(r=d[0|t])|(0|r)!=(0|(a=d[0|A]))))for(;;){if(a=d[A+1|0],!(r=d[t+1|0]))break e;if(A=A+1|0,t=t+1|0,(0|r)!=(0|a))break}return r-a|0}function Vi(t,A){var r=0,a=0,i=0;if(!(r=e[t>>2]))return 84399;if(e[t+4>>2]!=(0|A))for(;;){if(!(r=e[(a=t+8|0)>>2]))return 84399;if(i=t,t=a,e[i+12>>2]==(0|A))break}return r}function Hi(t,A,r){var a=0,i=0,l=0;e:if(r){for(;;){if(!(!(a=e[A>>2])|!(i=e[t>>2])|(0|a)!=(0|i))){if(A=A+4|0,t=t+4|0,r=r-1|0)continue;break e}break}l=i-a|0}return l}function Cs(t){var A,r=0,a=0;if((0|(A=e[36115]))>0)for(;;){if(!(!(a=e[144464+(r<<2)>>2])|e[a>>2]!=(0|t)))return d[a+10|0];if((0|A)==(0|(r=r+1|0)))break}return 0}function Mi(t){var A,r;return(t=(A=e[33175])+(r=t+7&-8)|0)>>>0<=A>>>0&&r||t>>>0>X.byteLength/65536<<16>>>0&&!(0|Re(0|t))?(e[56798]=48,-1):(e[33175]=t,A)}function wn(t){var A=0;e:if(!((A=ja(t))>>>0>27)){if(!(1<<A&134259072)){if((0|A)==6)return 1;if((0|A)!=9)break e;return(0|To(t))!=(0|t)}return Je(t,A)>>>14&1}return 0}function ln(t,A){var r=0;return g[0|t]=A>>>24,g[0|(r=(A>>>0>16777215)+t|0)]=A>>>16,g[0|(r=r+!!(16711680&A)|0)]=A>>>8,g[0|(r=r+!!(65280&A)|0)]=A,g[r+!!(255&A)|0]=0,t}function Qo(t,A){e:if((0|(t=as(t,A)))<=268437502){if(!t|(0|t)==268436479|(0|t)!=268437247)break e;return}}function Yi(t){var A=0;return A=e[t>>2]-1|0,(A=g[121600+(F(0-A&A,124511785)>>>27|0)|0])||(t=e[t+4>>2],A=(t=g[121600+(F(0-t&t,124511785)>>>27|0)|0])?t+32|0:0),A}function Ja(t){var A=0,r=0,a=0;e:{if(!((A=ja(t))>>>0>27)){if(r=1,116672&(a=1<<A))break e;if(134227968&a)return Je(t,A)>>>10&1}r=0}return r}function Mn(t){var A=0,r=0,a=0;e:{if(!((A=ja(t))>>>0>27)){if(r=1,34752&(a=1<<A))break e;if(134227968&a)return Je(t,A)>>>10&1}r=0}return r}function Di(){var t,A=0;(t=e[56797])&&((A=e[t+8>>2])&&Ar[e[e[A>>2]+12>>2]](A),(A=e[t+4>>2])&&Ar[e[e[A>>2]+16>>2]](A),DA(t)),e[56797]=0,e[56797]=hn()}function kn(t,A){var r=0;return t&&(r=er(t,0,A,0),(t|A)>>>0<65536||(r=fe?-1:r)),!(t=nA(r))|!(3&d[t-4|0])||kA(t,0,r),t}function Po(t,A){var r,a;a=e[130128+(A-F(r=(0|A)/100|0,100)<<2)>>2],e[t+100>>2]=a,e[t+96>>2]=a,A+99>>>0>=199&&(e[t+100>>2]=e[130128+(r<<2)>>2])}function Ri(t){var A=0;(A=nA(1344))&&(t=sr(A,t,1344),A=216192+(e[50758]<<4)|0,e[A>>2]=11,e[A+8>>2]=t,t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0)}function ua(t,A){var r=0;e:if(r=e[t>>2])for(;;){if(A&&!qr(A,r))break e;if(!(r=e[(t=t+8|0)>>2]))break}return e[t+4>>2]}function bo(t){var A,r=0;return oe=A=oe-16|0,r=-1,Xa(t)||(0|Ar[e[t+32>>2]](t,A+15|0,1))==1&&(r=d[A+15|0]),oe=A+16|0,r}function Ns(t,A){var r=0,a=0;if(A){for(;a=t,(r=e[t>>2])&&(t=a+4|0,(0|A)!=(0|r)););return r?a:0}return(GA(t)<<2)+t|0}function cn(t,A){var r=0,a=0;if(r=T[t>>1])for(;;){if(a=a+1|0,(0|A)==(0|r))return a;if(!(r=T[(a<<1)+t>>1]))break}return 0}function Co(t,A){var r=0,a=0;A>>>0<=31?(a=e[t>>2],r=t+4|0):(A=A-32|0,r=t),r=e[r>>2],e[t>>2]=a<<A,e[t+4>>2]=r<<A|a>>>32-A}function pi(t,A){var r=0,a=0;r=e[t+4>>2],A>>>0<=31?a=e[t>>2]:(A=A-32|0,a=r,r=0),e[t+4>>2]=r>>>A,e[t>>2]=r<<32-A|a>>>A}function zs(t){var A=0;t=t||1;e:{for(;;){if(A=nA(t))break e;if(!(A=e[57276]))break;Ar[0|A]()}ct(),j()}return A}function ji(t){return t>>>0<=131071?d[117424+(t>>>3&31|d[117424+(t>>>8|0)|0]<<5)|0]>>>(7&t)&1:t>>>0<196606}function Wi(t,A,r,a,i,l,h,m,w){e[t>>2]=A,e[t+4>>2]=r,e[t+8>>2]=a,e[t+12>>2]=65535&i|(w>>>16&32768|i>>>16&32767)<<16}function Js(t,A,r){return r?(0|t)==(0|A)?1:!qr(e[t+4>>2],e[A+4>>2]):e[t+4>>2]==e[A+4>>2]}function ma(t){var A=0;(0|(A=0|wt(-100,0|t,0)))==-31&&(A=0|It(0|t)),A>>>0>=4294963201&&(e[56798]=0-A)}function Io(){var t;t=nA(84)+80|0,e[t>>2]=125420,e[t>>2]=125380,e[t>>2]=125400,St(0|t,125512,9),j()}function So(t){var A,r;return A=uo(t),r=uo(t),uo(t)<<16&16711680|r<<8&65280|255&A|uo(t)<<24}function Gi(t){var A=0;return t?(A=1,t-9472>>>0<160|t-65529>>>0<7||(A=ns(t)),A):0}function Ot(t,A){var r;return r=A>>31,e[t+76>>2],function(a,i,l){return e[a+20>>2]!=e[a+28>>2]&&(Ar[e[a+36>>2]](a,0,0),!e[a+20>>2])||(e[a+28>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,Ar[e[a+40>>2]](a,i,l,0),(0|fe)<0)?-1:(e[a+4>>2]=0,e[a+8>>2]=0,e[a>>2]=-17&e[a>>2],0)}(t,A,r)}function GA(t){var A=0,r=0;for(r=t;r=(A=r)+4|0,e[A>>2];);return A-t>>2}function Ui(t,A){return g[0|t]=A,g[t+4|0]=0,g[t+3|0]=A>>>24,g[t+2|0]=A>>>16,g[t+1|0]=A>>>8,t}function SA(t,A){var r=0;return(-1>>>(r=31&A)&t)<<r|((r=t)&-1<<(t=0-A&31))>>>t}function ei(t,A){var r=0;return(0|t)==73&&(r=305,d[A+173|0])||(r=or(t)),r}function ba(t){e[36114]!=(0|t)&&(e[36115]=0,ga(t),e[36114]=t,e[36115]=e[36115]+1)}function Ki(t){return t?e[34460]+t|0:(Zi(85328,20,e[30450]),e[32320])}function wo(t){var A,r;return(r=nA(A=CA(t)+1|0))?sr(r,t,A):0}function un(){var t;e[33287]=0,(t=e[33282])&&(DA(t),e[33286]=0,e[33282]=0)}function fs(t,A,r){var a;oe=a=oe-16|0,e[a+12>>2]=r,ri(t,A,r),oe=a+16|0}function Zi(t,A,r){e[r+76>>2],t=Fn(t,A,r)}function ti(t,A){return A?t<<24|(65280&t)<<8|t>>>8&65280|t>>>24:t}function _i(t){return t-8212>>>0>=12?cn(93856,t):1}function Jo(t){var A=0;t&&((A=e[t+688>>2])&&DA(A),DA(t))}function Xi(t){return(0|t)<=127?$a(87712,t):0}function No(t){return!(t=d[0|t]?1:la(t,t+1|0,3))}function $o(t){(t=(0|(t=0|Ne(0|t)))!=27?t:0)&&(e[56798]=t)}function Ai(t,A,r){return t|=0,A|=0,0|Ar[0|(r|=0)](t,A)}function $a(t,A){return t=zn(t,A),d[0|t]==(255&A)?t:0}function zo(t,A){return ut(t,A,2147483647),fe=Ie,zt}function qi(t){return t?31-ce(t-1^t)|0:32}function aa(t,A,r){32&d[0|t]||Fn(A,r,t)}function Zr(t,A,r){g[(ms(t,A,r)+r|0)-1|0]=0}function Ti(t){return _o(t,188776,189328)}function e0(t,A){A|=0,e[8+(t|=0)>>2]=A}function ri(t,A,r){return rs(t,A,r,0,0)}function si(t){return e[12+(t|=0)>>2]}function Vn(t){return e[16+(t|=0)>>2]}function Fo(t){return e[20+(t|=0)>>2]}function Ca(t){return e[8+(t|=0)>>2]}function t0(t){return e[4+(t|=0)>>2]}function Ji(t){return e[(t|=0)>>2]}function Qi(t,A,r){return ut(t,A,r)}function $i(t){(t|=0)&&DA(t)}function fa(t,A){BA(CA(t)+t|0,A)}function eo(t){return 0|t}function ko(t){return 0}function mi(t){DA(t|=0)}function A0(t){}C(o=d
vendor: 59,320 bytes, line 2810
2810,1024,"ZGVmYXVsdAB3YgAAAAAAAEEAAAAAAAAAYQAAAAAAAABCAAAAAAAAAGIAAAAAAAAAQwAAAAAAAABjAAAAAAAAAEQAAAAAAAAAZAAAAAAAAABFAAAAAAAAAGUAAAAAAAAARgAAAAAAAABmAAAAAAAAAEcAAAAAAAAAZwAAAAAAAABIAAAAAAAAAGgAAAAAAAAASQAAAAAAAABpAAAAAAAAAEoAAAAAAAAAagAAAAAAAABLAAAAAAAAAGsAAAAAAAAATAAAAAAAAABsAAAAAAAAAE0AAAAAAAAAbQAAAAAAAABOAAAAAAAAAG4AAAAAAAAATwAAAAAAAABvAAAAAAAAAFAAAAAAAAAAcAAAAAAAAABRAAAAAAAAAHEAAAAAAAAAUgAAAAAAAAByAAAAAAAAAFMAAAAAAAAAcwAAAAAAAABUAAAAAAAAAHQAAAAAAAAAVQAAAAAAAAB1AAAAAAAAAFYAAAAAAAAAdgAAAAAAAABXAAAAAAAAAHcAAAAAAAAAWAAAAAAAAAB4AAAAAAAAAFkAAAAAAAAAeQAAAAAAAABaAAAAAAAAAHoAAAAAAAAAYQAAAEEAAAAAAAAAQQAAAGIAAABCAAAAAAAAAEIAAABjAAAAQwAAAAAAAABDAAAAZAAAAEQAAAAAAAAARAAAAGUAAABFAAAAAAAAAEUAAABmAAAARgAAAAAAAABGAAAAZwAAAEcAAAAAAAAARwAAAGgAAABIAAAAAAAAAEgAAABpAAAASQAAAAAAAABJAAAAagAAAEoAAAAAAAAASgAAAGsAAABLAAAAAAAAAEsAAABsAAAATAAAAAAAAABMAAAAbQAAAE0AAAAAAAAATQAAAG4AAABOAAAAAAAAAE4AAABvAAAATwAAAAAAAABPAAAAcAAAAFAAAAAAAAAAUAAAAHEAAABRAAAAAAAAAFEAAAByAAAAUgAAAAAAAABSAAAAcwAAAFMAAAAAAAAAUwAAAHQAAABUAAAAAAAAAFQAAAB1AAAAVQAAAAAAAABVAAAAdgAAAFYAAAAAAAAAVgAAAHcAAABXAAAAAAAAAFcAAAB4AAAAWAAAAAAAAABYAAAAeQAAAFkAAAAAAAAAWQAAAHoAAABaAAAAAAAAAFoAAAC1AAAAnAMAAAAAAACcAwAAwAAAAAAAAADgAAAAAAAAAMEAAAAAAAAA4QAAAAAAAADCAAAAAAAAAOIAAAAAAAAAwwAAAAAAAADjAAAAAAAAAMQAAAAAAAAA5AAAAAAAAADFAAAAAAAAAOUAAAAAAAAAxgAAAAAAAADmAAAAAAAAAMcAAAAAAAAA5wAAAAAAAADIAAAAAAAAAOgAAAAAAAAAyQAAAAAAAADpAAAAAAAAAMoAAAAAAAAA6gAAAAAAAADLAAAAAAAAAOsAAAAAAAAAzAAAAAAAAADsAAAAAAAAAM0AAAAAAAAA7QAAAAAAAADOAAAAAAAAAO4AAAAAAAAAzwAAAAAAAADvAAAAAAAAANAAAAAAAAAA8AAAAAAAAADRAAAAAAAAAPEAAAAAAAAA0gAAAAAAAADyAAAAAAAAANMAAAAAAAAA8wAAAAAAAADUAAAAAAAAAPQAAAAAAAAA1QAAAAAAAAD1AAAAAAAAANYAAAAAAAAA9gAAAAAAAADYAAAAAAAAAPgAAAAAAAAA2QAAAAAAAAD5AAAAAAAAANoAAAAAAAAA+gAAAAAAAADbAAAAAAAAAPsAAAAAAAAA3AAAAAAAAAD8AAAAAAAAAN0AAAAAAAAA/QAAAAAAAADeAAAAAAAAAP4AAAAAAAAA4AAAAMAAAAAAAAAAwAAAAOEAAADBAAAAAAAAAMEAAADiAAAAwgAAAAAAAADCAAAA4wAAAMMAAAAAAAAAwwAAAOQAAADEAAAAAAAAAMQAAADlAAAAxQAAAAAAAADFAAAA5gAAAMYAAAAAAAAAxgAAAOcAAADHAAAAAAAAAMcAAADoAAAAyAAAAAAAAADIAAAA6QAAAMkAAAAAAAAAyQAAAOoAAADKAAAAAAAAAMoAAADrAAAAywAAAAAAAADLAAAA7AAAAMwAAAAAAAAAzAAAAO0AAADNAAAAAAAAAM0AAADuAAAAzgAAAAAAAADOAAAA7wAAAM8AAAAAAAAAzwAAAPAAAADQAAAAAAAAANAAAADxAAAA0QAAAAAAAADRAAAA8gAAANIAAAAAAAAA0gAAAPMAAADTAAAAAAAAANMAAAD0AAAA1AAAAAAAAADUAAAA9QAAANUAAAAAAAAA1QAAAPYAAADWAAAAAAAAANYAAAD4AAAA2AAAAAAAAADYAAAA+QAAANkAAAAAAAAA2QAAAPoAAADaAAAAAAAAANoAAAD7AAAA2wAAAAAAAADbAAAA/AAAANwAAAAAAAAA3AAAAP0AAADdAAAAAAAAAN0AAAD+AAAA3gAAAAAAAADeAAAA/wAAAHgBAAAAAAAAeAEAAAABAAAAAAAAAQEAAAAAAAABAQAAAAEAAAAAAAAAAQAAAgEAAAAAAAADAQAAAAAAAAMBAAACAQAAAAAAAAIBAAAEAQAAAAAAAAUBAAAAAAAABQEAAAQBAAAAAAAABAEAAAYBAAAAAAAABwEAAAAAAAAHAQAABgEAAAAAAAAGAQAACAEAAAAAAAAJAQAAAAAAAAkBAAAIAQAAAAAAAAgBAAAKAQAAAAAAAAsBAAAAAAAACwEAAAoBAAAAAAAACgEAAAwBAAAAAAAADQEAAAAAAAANAQAADAEAAAAAAAAMAQAADgEAAAAAAAAPAQAAAAAAAA8BAAAOAQAAAAAAAA4BAAAQAQAAAAAAABEBAAAAAAAAEQEAABABAAAAAAAAEAEAABIBAAAAAAAAEwEAAAAAAAATAQAAEgEAAAAAAAASAQAAFAEAAAAAAAAVAQAAAAAAABUBAAAUAQAAAAAAABQBAAAWAQAAAAAAABcBAAAAAAAAFwEAABYBAAAAAAAAFgEAABgBAAAAAAAAGQEAAAAAAAAZAQAAGAEAAAAAAAAYAQAAGgEAAAAAAAAbAQAAAAAAABsBAAAaAQAAAAAAABoBAAAcAQAAAAAAAB0BAAAAAAAAHQEAABwBAAAAAAAAHAEAAB4BAAAAAAAAHwEAAAAAAAAfAQAAHgEAAAAAAAAeAQAAIAEAAAAAAAAhAQAAAAAAACEBAAAgAQAAAAAAACABAAAiAQAAAAAAACMBAAAAAAAAIwEAACIBAAAAAAAAIgEAACQBAAAAAAAAJQEAAAAAAAAlAQAAJAEAAAAAAAAkAQAAJgEAAAAAAAAnAQAAAAAAACcBAAAmAQAAAAAAACYBAAAoAQAAAAAAACkBAAAAAAAAKQEAACgBAAAAAAAAKAEAACoBAAAAAAAAKwEAAAAAAAArAQAAKgEAAAAAAAAqAQAALAEAAAAAAAAtAQAAAAAAAC0BAAAsAQAAAAAAACwBAAAuAQAAAAAAAC8BAAAAAAAALwEAAC4BAAAAAAAALgEAADABAAAAAAAAaQAAAAAAAAAxAQAASQAAAAAAAABJAAAAMgEAAAAAAAAzAQAAAAAAADMBAAAyAQAAAAAAADIBAAA0AQAAAAAAADUBAAAAAAAANQEAADQBAAAAAAAANAEAADYBAAAAAAAANwEAAAAAAAA3AQAANgEAAAAAAAA2AQAAOQEAAAAAAAA6AQAAAAAAADoBAAA5AQAAAAAAADkBAAA7AQAAAAAAADwBAAAAAAAAPAEAADsBAAAAAAAAOwEAAD0BAAAAAAAAPgEAAAAAAAA+AQAAPQEAAAAAAAA9AQAAPwEAAAAAAABAAQAAAAAAAEABAAA/AQAAAAAAAD8BAABBAQAAAAAAAEIBAAAAAAAAQgEAAEEBAAAAAAAAQQEAAEMBAAAAAAAARAEAAAAAAABEAQAAQwEAAAAAAABDAQAARQEAAAAAAABGAQAAAAAAAEYBAABFAQAAAAAAAEUBAABHAQAAAAAAAEgBAAAAAAAASAEAAEcBAAAAAAAARwEAAEoBAAAAAAAASwEAAAAAAABLAQAASgEAAAAAAABKAQAATAEAAAAAAABNAQAAAAAAAE0BAABMAQAAAAAAAEwBAABOAQAAAAAAAE8BAAAAAAAATwEAAE4BAAAAAAAATgEAAFABAAAAAAAAUQEAAAAAAABRAQAAUAEAAAAAAABQAQAAUgEAAAAAAABTAQAAAAAAAFMBAABSAQAAAAAAAFIBAABUAQAAAAAAAFUBAAAAAAAAVQEAAFQBAAAAAAAAVAEAAFYBAAAAAAAAVwEAAAAAAABXAQAAVgEAAAAAAABWAQAAWAEAAAAAAABZAQAAAAAAAFkBAABYAQAAAAAAAFgBAABaAQAAAAAAAFsBAAAAAAAAWwEAAFoBAAAAAAAAWgEAAFwBAAAAAAAAXQEAAAAAAABdAQAAXAEAAAAAAABcAQAAXgEAAAAAAABfAQAAAAAAAF8BAABeAQAAAAAAAF4BAABgAQAAAAAAAGEBAAAAAAAAYQEAAGABAAAAAAAAYAEAAGIBAAAAAAAAYwEAAAAAAABjAQAAYgEAAAAAAABiAQAAZAEAAAAAAABlAQAAAAAAAGUBAABkAQAAAAAAAGQBAABmAQAAAAAAAGcBAAAAAAAAZwEAAGYBAAAAAAAAZgEAAGgBAAAAAAAAaQEAAAAAAABpAQAAaAEAAAAAAABoAQAAagEAAAAAAABrAQAAAAAAAGsBAABqAQAAAAAAAGoBAABsAQAAAAAAAG0BAAAAAAAAbQEAAGwBAAAAAAAAbAEAAG4BAAAAAAAAbwEAAAAAAABvAQAAbgEAAAAAAABuAQAAcAEAAAAAAABxAQAAAAAAAHEBAABwAQAAAAAAAHABAAByAQAAAAAAAHMBAAAAAAAAcwEAAHIBAAAAAAAAcgEAAHQBAAAAAAAAdQEAAAAAAAB1AQAAdAEAAAAAAAB0AQAAdgEAAAAAAAB3AQAAAAAAAHcBAAB2AQAAAAAAAHYBAAB4AQAAAAAAAP8AAAAAAAAAeQEAAAAAAAB6AQAAAAAAAHoBAAB5AQAAAAAAAHkBAAB7AQAAAAAAAHwBAAAAAAAAfAEAAHsBAAAAAAAAewEAAH0BAAAAAAAAfgEAAAAAAAB+AQAAfQEAAAAAAAB9AQAAfwEAAFMAAAAAAAAAUwAAAIABAABDAgAAAAAAAEMCAACBAQAAAAAAAFMCAAAAAAAAggEAAAAAAACDAQAAAAAAAIMBAACCAQAAAAAAAIIBAACEAQAAAAAAAIUBAAAAAAAAhQEAAIQBAAAAAAAAhAEAAIYBAAAAAAAAVAIAAAAAAACHAQAAAAAAAIgBAAAAAAAAiAEAAIcBAAAAAAAAhwEAAIkBAAAAAAAAVgIAAAAAAACKAQAAAAAAAFcCAAAAAAAAiwEAAAAAAACMAQAAAAAAAIwBAACLAQAAAAAAAIsBAACOAQAAAAAAAN0BAAAAAAAAjwEAAAAAAABZAgAAAAAAAJABAAAAAAAAWwIAAAAAAACRAQAAAAAAAJIBAAAAAAAAkgEAAJEBAAAAAAAAkQEAAJMBAAAAAAAAYAIAAAAAAACUAQAAAAAAAGMCAAAAAAAAlQEAAPYBAAAAAAAA9gEAAJYBAAAAAAAAaQIAAAAAAACXAQAAAAAAAGgCAAAAAAAAmAEAAAAAAACZAQAAAAAAAJkBAACYAQAAAAAAAJgBAACaAQAAPQIAAAAAAAA9AgAAnAEAAAAAAABvAgAAAAAAAJ0BAAAAAAAAcgIAAAAAAACeAQAAIAIAAAAAAAAgAgAAnwEAAAAAAAB1AgAAAAAAAKABAAAAAAAAoQEAAAAAAAChAQAAoAEAAAAAAACgAQAAogEAAAAAAACjAQAAAAAAAKMBAACiAQAAAAAAAKIBAACkAQAAAAAAAKUBAAAAAAAApQEAAKQBAAAAAAAApAEAAKYBAAAAAAAAgAIAAAAAAACnAQAAAAAAAKgBAAAAAAAAqAEAAKcBAAAAAAAApwEAAKkBAAAAAAAAgwIAAAAAAACsAQAAAAAAAK0BAAAAAAAArQEAAKwBAAAAAAAArAEAAK4BAAAAAAAAiAIAAAAAAACvAQAAAAAAALABAAAAAAAAsAEAAK8BAAAAAAAArwEAALEBAAAAAAAAigIAAAAAAACyAQAAAAAAAIsCAAAAAAAAswEAAAAAAAC0AQAAAAAAALQBAACzAQAAAAAAALMBAAC1AQAAAAAAALYBAAAAAAAAtgEAALUBAAAAAAAAtQEAALcBAAAAAAAAkgIAAAAAAAC4AQAAAAAAALkBAAAAAAAAuQEAALgBAAAAAAAAuAEAALwBAAAAAAAAvQEAAAAAAAC9AQAAvAEAAAAAAAC8AQAAvwEAAPcBAAAAAAAA9wEAAMQBAAAAAAAAxgEAAMUBAADFAQAAxAEAAMYBAADFAQAAxgEAAMQBAAAAAAAAxQEAAMcBAAAAAAAAyQEAAMgBAADIAQAAxwEAAMkBAADIAQAAyQEAAMcBAAAAAAAAyAEAAMoBAAAAAAAAzAEAAMsBAADLAQAAygEAAMwBAADLAQAAzAEAAMoBAAAAAAAAywEAAM0BAAAAAAAAzgEAAAAAAADOAQAAzQEAAAAAAADNAQAAzwEAAAAAAADQAQAAAAAAANABAADPAQAAAAAAAM8BAADRAQAAAAAAANIBAAAAAAAA0gEAANEBAAAAAAAA0QEAANMBAAAAAAAA1AEAAAAAAADUAQAA0wEAAAAAAADTAQAA1QEAAAAAAADWAQAAAAAAANYBAADVAQAAAAAAANUBAADXAQAAAAAAANgBAAAAAAAA2AEAANcBAAAAAAAA1wEAANkBAAAAAAAA2gEAAAAAAADaAQAA2QEAAAAAAADZAQAA2wEAAAAAAADcAQAAAAAAANwBAADbAQAAAAAAANsBAADdAQAAjgEAAAAAAACOAQAA3gEAAAAAAADfAQAAAAAAAN8BAADeAQAAAAAAAN4BAADgAQAAAAAAAOEBAAAAAAAA4QEAAOABAAAAAAAA4AEAAOIBAAAAAAAA4wEAAAAAAADjAQAA4gEAAAAAAADiAQAA5AEAAAAAAADlAQAAAAAAAOUBAADkAQAAAAAAAOQBAADmAQAAAAAAAOcBAAAAAAAA5wEAAOYBAAAAAAAA5gEAAOgBAAAAAAAA6QEAAAAAAADpAQAA6AEAAAAAAADoAQAA6gEAAAAAAADrAQAAAAAAAOsBAADqAQAAAAAAAOoBAADsAQAAAAAAAO0BAAAAAAAA7QEAAOwBAAAAAAAA7AEAAO4BAAAAAAAA7wEAAAAAAADvAQAA7gEAAAAAAADuAQAA8QEAAAAAAADzAQAA8gEAAPIBAADxAQAA8wEAAPIBAADzAQAA8QEAAAAAAADyAQAA9AEAAAAAAAD1AQAAAAAAAPUBAAD0AQAAAAAAAPQBAAD2AQAAAAAAAJUBAAAAAAAA9wEAAAAAAAC/AQAAAAAAAPgBAAAAAAAA+QEAAAAAAAD5AQAA+AEAAAAAAAD4AQAA+gEAAAAAAAD7AQAAAAAAAPsBAAD6AQAAAAAAAPoBAAD8AQAAAAAAAP0BAAAAAAAA/QEAAPwBAAAAAAAA/AEAAP4BAAAAAAAA/wEAAAAAAAD/AQAA/gEAAAAAAAD+AQAAAAIAAAAAAAABAgAAAAAAAAECAAAAAgAAAAAAAAACAAACAgAAAAAAAAMCAAAAAAAAAwIAAAICAAAAAAAAAgIAAAQCAAAAAAAABQIAAAAAAAAFAgAABAIAAAAAAAAEAgAABgIAAAAAAAAHAgAAAAAAAAcCAAAGAgAAAAAAAAYCAAAIAgAAAAAAAAkCAAAAAAAACQIAAAgCAAAAAAAACAIAAAoCAAAAAAAACwIAAAAAAAALAgAACgIAAAAAAAAKAgAADAIAAAAAAAANAgAAAAAAAA0CAAAMAgAAAAAAAAwCAAAOAgAAAAAAAA8CAAAAAAAADwIAAA4CAAAAAAAADgIAABACAAAAAAAAEQIAAAAAAAARAgAAEAIAAAAAAAAQAgAAEgIAAAAAAAATAgAAAAAAABMCAAASAgAAAAAAABICAAAUAgAAAAAAABUCAAAAAAAAFQIAABQCAAAAAAAAFAIAABYCAAAAAAAAFwIAAAAAAAAXAgAAFgIAAAAAAAAWAgAAGAIAAAAAAAAZAgAAAAAAABkCAAAYAgAAAAAAABgCAAAaAgAAAAAAABsCAAAAAAAAGwIAABoCAAAAAAAAGgIAABwCAAAAAAAAHQIAAAAAAAAdAgAAHAIAAAAAAAAcAgAAHgIAAAAAAAAfAgAAAAAAAB8CAAAeAgAAAAAAAB4CAAAgAgAAAAAAAJ4BAAAAAAAAIgIAAAAAAAAjAgAAAAAAACMCAAAiAgAAAAAAACICAAAkAgAAAAAAACUCAAAAAAAAJQIAACQCAAAAAAAAJAIAACYCAAAAAAAAJwIAAAAAAAAnAgAAJgIAAAAAAAAmAgAAKAIAAAAAAAApAgAAAAAAACkCAAAoAgAAAAAAACgCAAAqAgAAAAAAACsCAAAAAAAAKwIAACoCAAAAAAAAKgIAACwCAAAAAAAALQIAAAAAAAAtAgAALAIAAAAAAAAsAgAALgIAAAAAAAAvAgAAAAAAAC8CAAAuAgAAAAAAAC4CAAAwAgAAAAAAADECAAAAAAAAMQIAADACAAAAAAAAMAIAADICAAAAAAAAMwIAAAAAAAAzAgAAMgIAAAAAAAAyAgAAOgIAAAAAAABlLAAAAAAAADsCAAAAAAAAPAIAAAAAAAA8AgAAOwIAAAAAAAA7AgAAPQIAAAAAAACaAQAAAAAAAD4CAAAAAAAAZiwAAAAAAAA/AgAAfiwAAAAAAAB+LAAAQAIAAH8sAAAAAAAAfywAAEECAAAAAAAAQgIAAAAAAABCAgAAQQIAAAAAAABBAgAAQwIAAAAAAACAAQAAAAAAAEQCAAAAAAAAiQIAAAAAAABFAgAAAAAAAIwCAAAAAAAARgIAAAAAAABHAgAAAAAAAEcCAABGAgAAAAAAAEYCAABIAgAAAAAAAEkCAAAAAAAASQIAAEgCAAAAAAAASAIAAEoCAAAAAAAASwIAAAAAAABLAgAASgIAAAAAAABKAgAATAIAAAAAAABNAgAAAAAAAE0CAABMAgAAAAAAAEwCAABOAgAAAAAAAE8CAAAAAAAATwIAAE4CAAAAAAAATgIAAFACAABvLAAAAAAAAG8sAABRAgAAbSwAAAAAAABtLAAAUgIAAHAsAAAAAAAAcCwAAFMCAACBAQAAAAAAAIEBAABUAgAAhgEAAAAAAACGAQAAVgIAAIkBAAAAAAAAiQEAAFcCAACKAQAAAAAAAIoBAABZAgAAjwEAAAAAAACPAQAAWwIAAJABAAAAAAAAkAEAAFwCAACrpwAAAAAAAKunAABgAgAAkwEAAAAAAACTAQAAYQIAAKynAAAAAAAArKcAAGMCAACUAQAAAAAAAJQBAABlAgAAjacAAAAAAACNpwAAZgIAAKqnAAAAAAAAqqcAAGgCAACXAQAAAAAAAJcBAABpAgAAlgEAAAAAAACWAQAAagIAAK6nAAAAAAAArqcAAGsCAABiLAAAAAAAAGIsAABsAgAAracAAAAAAACtpwAAbwIAAJwBAAAAAAAAnAEAAHECAABuLAAAAAAAAG4sAAByAgAAnQEAAAAAAACdAQAAdQIAAJ8BAAAAAAAAnwEAAH0CAABkLAAAAAAAAGQsAACAAgAApgEAAAAAAACmAQAAgwIAAKkBAAAAAAAAqQEAAIcCAACxpwAAAAAAALGnAACIAgAArgEAAAAAAACuAQAAiQIAAEQCAAAAAAAARAIAAIoCAACxAQAAAAAAALEBAACLAgAAsgEAAAAAAACyAQAAjAIAAEUCAAAAAAAARQIAAJICAAC3AQAAAAAAALcBAACdAgAAsqcAAAAAAACypwAAngIAALCnAAAAAAAAsKcAAEUDAACZAwAAAAAAAJkDAABwAwAAAAAAAHEDAAAAAAAAcQMAAHADAAAAAAAAcAMAAHIDAAAAAAAAcwMAAAAAAABzAwAAcgMAAAAAAAByAwAAdgMAAAAAAAB3AwAAAAAAAHcDAAB2AwAAAAAAAHYDAAB7AwAA/QMAAAAAAAD9AwAAfAMAAP4DAAAAAAAA/gMAAH0DAAD/AwAAAAAAAP8DAAB/AwAAAAAAAPMDAAAAAAAAhgMAAAAAAACsAwAAAAAAAIgDAAAAAAAArQMAAAAAAACJAwAAAAAAAK4DAAAAAAAAigMAAAAAAACvAwAAAAAAAIwDAAAAAAAAzAMAAAAAAACOAwAAAAAAAM0DAAAAAAAAjwMAAAAAAADOAwAAAAAAAJEDAAAAAAAAsQMAAAAAAACSAwAAAAAAALIDAAAAAAAAkwMAAAAAAACzAwAAAAAAAJQDAAAAAAAAtAMAAAAAAACVAwAAAAAAALUDAAAAAAAAlgMAAAAAAAC2AwAAAAAAAJcDAAAAAAAAtwMAAAAAAACYAwAAAAAAALgDAAAAAAAAmQMAAAAAAAC5AwAAAAAAAJoDAAAAAAAAugMAAAAAAACbAwAAAAAAALsDAAAAAAAAnAMAAAAAAAC8AwAAAAAAAJ0DAAAAAAAAvQMAAAAAAACeAwAAAAAAAL4DAAAAAAAAnwMAAAAAAAC/AwAAAAAAAKADAAAAAAAAwAMAAAAAAAChAwAAAAAAAMEDAAAAAAAAowMAAAAAAADDAwAAAAAAAKQDAAAAAAAAxAMAAAAAAAClAwAAAAAAAMUDAAAAAAAApgMAAAAAAADGAwAAAAAAAKcDAAAAAAAAxwMAAAAAAACoAwAAAAAAAMgDAAAAAAAAqQMAAAAAAADJAwAAAAAAAKoDAAAAAAAAygMAAAAAAACrAwAAAAAAAMsDAAAAAAAArAMAAIYDAAAAAAAAhgMAAK0DAACIAwAAAAAAAIgDAACuAwAAiQMAAAAAAACJAwAArwMAAIoDAAAAAAAAigMAALEDAACRAwAAAAAAAJEDAACyAwAAkgMAAAAAAACSAwAAswMAAJMDAAAAAAAAkwMAALQDAACUAwAAAAAAAJQDAAC1AwAAlQMAAAAAAACVAwAAtgMAAJYDAAAAAAAAlgMAALcDAACXAwAAAAAAAJcDAAC4AwAAmAMAAAAAAACYAwAAuQMAAJkDAAAAAAAAmQMAALoDAACaAwAAAAAAAJoDAAC7AwAAmwMAAAAAAACbAwAAvAMAAJwDAAAAAAAAnAMAAL0DAACdAwAAAAAAAJ0DAAC+AwAAngMAAAAAAACeAwAAvwMAAJ8DAAAAAAAAnwMAAMADAACgAwAAAAAAAKADAADBAwAAoQMAAAAAAAChAwAAwgMAAKMDAAAAAAAAowMAAMMDAACjAwAAAAAAAKMDAADEAwAApAMAAAAAAACkAwAAxQMAAKUDAAAAAAAApQMAAMYDAACmAwAAAAAAAKYDAADHAwAApwMAAAAAAACnAwAAyAMAAKgDAAAAAAAAqAMAAMkDAACpAwAAAAAAAKkDAADKAwAAqgMAAAAAAACqAwAAywMAAKsDAAAAAAAAqwMAAMwDAACMAwAAAAAAAIwDAADNAwAAjgMAAAAAAACOAwAAzgMAAI8DAAAAAAAAjwMAAM8DAAAAAAAA1wMAAAAAAADQAwAAkgMAAAAAAACSAwAA0QMAAJgDAAAAAAAAmAMAANUDAACmAwAAAAAAAKYDAADWAwAAoAMAAAAAAACgAwAA1wMAAM8DAAAAAAAAzwMAANgDAAAAAAAA2QMAAAAAAADZAwAA2AMAAAAAAADYAwAA2gMAAAAAAADbAwAAAAAAANsDAADaAwAAAAAAANoDAADcAwAAAAAAAN0DAAAAAAAA3QMAANwDAAAAAAAA3AMAAN4DAAAAAAAA3wMAAAAAAADfAwAA3gMAAAAAAADeAwAA4AMAAAAAAADhAwAAAAAAAOEDAADgAwAAAAAAAOADAADiAwAAAAAAAOMDAAAAAAAA4wMAAOIDAAAAAAAA4gMAAOQDAAAAAAAA5QMAAAAAAADlAwAA5AMAAAAAAADkAwAA5gMAAAAAAADnAwAAAAAAAOcDAADmAwAAAAAAAOYDAADoAwAAAAAAAOkDAAAAAAAA6QMAAOgDAAAAAAAA6AMAAOoDAAAAAAAA6wMAAAAAAADrAwAA6gMAAAAAAADqAwAA7AMAAAAAAADtAwAAAAAAAO0DAADsAwAAAAAAAOwDAADuAwAAAAAAAO8DAAAAAAAA7wMAAO4DAAAAAAAA7gMAAPADAACaAwAAAAAAAJoDAADxAwAAoQMAAAAAAAChAwAA8gMAAPkDAAAAAAAA+QMAAPMDAAB/AwAAAAAAAH8DAAD0AwAAAAAAALgDAAAAAAAA9QMAAJUDAAAAAAAAlQMAAPcDAAAAAAAA+AMAAAAAAAD4AwAA9wMAAAAAAAD3AwAA+QMAAAAAAADyAwAAAAAAAPoDAAAAAAAA+wMAAAAAAAD7AwAA+gMAAAAAAAD6AwAA/QMAAAAAAAB7AwAAAAAAAP4DAAAAAAAAfAMAAAAAAAD/AwAAAAAAAH0DAAAAAAAAAAQAAAAAAABQBAAAAAAAAAEEAAAAAAAAUQQAAAAAAAACBAAAAAAAAFIEAAAAAAAAAwQAAAAAAABTBAAAAAAAAAQEAAAAAAAAVAQAAAAAAAAFBAAAAAAAAFUEAAAAAAAABgQAAAAAAABWBAAAAAAAAAcEAAAAAAAAVwQAAAAAAAAIBAAAAAAAAFgEAAAAAAAACQQAAAAAAABZBAAAAAAAAAoEAAAAAAAAWgQAAAAAAAALBAAAAAAAAFsEAAAAAAAADAQAAAAAAABcBAAAAAAAAA0EAAAAAAAAXQQAAAAAAAAOBAAAAAAAAF4EAAAAAAAADwQAAAAAAABfBAAAAAAAABAEAAAAAAAAMAQAAAAAAAARBAAAAAAAADEEAAAAAAAAEgQAAAAAAAAyBAAAAAAAABMEAAAAAAAAMwQAAAAAAAAUBAAAAAAAADQEAAAAAAAAFQQAAAAAAAA1BAAAAAAAABYEAAAAAAAANgQAAAAAAAAXBAAAAAAAADcEAAAAAAAAGAQAAAAAAAA4BAAAAAAAABkEAAAAAAAAOQQAAAAAAAAaBAAAAAAAADoEAAAAAAAAGwQAAAAAAAA7BAAAAAAAABwEAAAAAAAAPAQAAAAAAAAdBAAAAAAAAD0EAAAAAAAAHgQAAAAAAAA+BAAAAAAAAB8EAAAAAAAAPwQAAAAAAAAgBAAAAAAAAEAEAAAAAAAAIQQAAAAAAABBBAAAAAAAACIEAAAAAAAAQgQAAAAAAAAjBAAAAAAAAEMEAAAAAAAAJAQAAAAAAABEBAAAAAAAACUEAAAAAAAARQQAAAAAAAAmBAAAAAAAAEYEAAAAAAAAJwQAAAAAAABHBAAAAAAAACgEAAAAAAAASAQAAAAAAAApBAAAAAAAAEkEAAAAAAAAKgQAAAAAAABKBAAAAAAAACsEAAAAAAAASwQAAAAAAAAsBAAAAAAAAEwEAAAAAAAALQQAAAAAAABNBAAAAAAAAC4EAAAAAAAATgQAAAAAAAAvBAAAAAAAAE8EAAAAAAAAMAQAABAEAAAAAAAAEAQAADEEAAARBAAAAAAAABEEAAAyBAAAEgQAAAAAAAASBAAAMwQAABMEAAAAAAAAEwQAADQEAAAUBAAAAAAAABQEAAA1BAAAFQQAAAAAAAAVBAAANgQAABYEAAAAAAAAFgQAADcEAAAXBAAAAAAAABcEAAA4BAAAGAQAAAAAAAAYBAAAOQQAABkEAAAAAAAAGQQAADoEAAAaBAAAAAAAABoEAAA7BAAAGwQAAAAAAAAbBAAAPAQAABwEAAAAAAAAHAQAAD0EAAAdBAAAAAAAAB0EAAA+BAAAHgQAAAAAAAAeBAAAPwQAAB8EAAAAAAAAHwQAAEAEAAAgBAAAAAAAACAEAABBBAAAIQQAAAAAAAAhBAAAQgQAACIEAAAAAAAAIgQAAEMEAAAjBAAAAAAAACMEAABEBAAAJAQAAAAAAAAkBAAARQQAACUEAAAAAAAAJQQAAEYEAAAmBAAAAAAAACYEAABHBAAAJwQAAAAAAAAnBAAASAQAACgEAAAAAAAAKAQAAEkEAAApBAAAAAAAACkEAABKBAAAKgQAAAAAAAAqBAAASwQAACsEAAAAAAAAKwQAAEwEAAAsBAAAAAAAACwEAABNBAAALQQAAAAAAAAtBAAATgQAAC4EAAAAAAAALgQAAE8EAAAvBAAAAAAAAC8EAABQBAAAAAQAAAAAAAAABAAAUQQAAAEEAAAAAAAAAQQAAFIEAAACBAAAAAAAAAIEAABTBAAAAwQAAAAAAAADBAAAVAQAAAQEAAAAAAAABAQAAFUEAAAFBAAAAAAAAAUEAABWBAAABgQAAAAAAAAGBAAAVwQAAAcEAAAAAAAABwQAAFgEAAAIBAAAAAAAAAgEAABZBAAACQQAAAAAAAAJBAAAWgQAAAoEAAAAAAAACgQAAFsEAAALBAAAAAAAAAsEAABcBAAADAQAAAAAAAAMBAAAXQQAAA0EAAAAAAAADQQAAF4EAAAOBAAAAAAAAA4EAABfBAAADwQAAAAAAAAPBAAAYAQAAAAAAABhBAAAAAAAAGEEAABgBAAAAAAAAGAEAABiBAAAAAAAAGMEAAAAAAAAYwQAAGIEAAAAAAAAYgQAAGQEAAAAAAAAZQQAAAAAAABlBAAAZAQAAAAAAABkBAAAZgQAAAAAAABnBAAAAAAAAGcEAABmBAAAAAAAAGYEAABoBAAAAAAAAGkEAAAAAAAAaQQAAGgEAAAAAAAAaAQAAGoEAAAAAAAAawQAAAAAAABrBAAAagQAAAAAAABqBAAAbAQAAAAAAABtBAAAAAAAAG0EAABsBAAAAAAAAGwEAABuBAAAAAAAAG8EAAAAAAAAbwQAAG4EAAAAAAAAbgQAAHAEAAAAAAAAcQQAAAAAAABxBAAAcAQAAAAAAABwBAAAcgQAAAAAAABzBAAAAAAAAHMEAAByBAAAAAAAAHIEAAB0BAAAAAAAAHUEAAAAAAAAdQQAAHQEAAAAAAAAdAQAAHYEAAAAAAAAdwQAAAAAAAB3BAAAdgQAAAAAAAB2BAAAeAQAAAAAAAB5BAAAAAAAAHkEAAB4BAAAAAAAAHgEAAB6BAAAAAAAAHsEAAAAAAAAewQAAHoEAAAAAAAAegQAAHwEAAAAAAAAfQQAAAAAAAB9BAAAfAQAAAAAAAB8BAAAfgQAAAAAAAB/BAAAAAAAAH8EAAB+BAAAAAAAAH4EAACABAAAAAAAAIEEAAAAAAAAgQQAAIAEAAAAAAAAgAQAAIoEAAAAAAAAiwQAAAAAAACLBAAAigQAAAAAAACKBAAAjAQAAAAAAACNBAAAAAAAAI0EAACMBAAAAAAAAIwEAACOBAAAAAAAAI8EAAAAAAAAjwQAAI4EAAAAAAAAjgQAAJAEAAAAAAAAkQQAAAAAAACRBAAAkAQAAAAAAACQBAAAkgQAAAAAAACTBAAAAAAAAJMEAACSBAAAAAAAAJIEAACUBAAAAAAAAJUEAAAAAAAAlQQAAJQEAAAAAAAAlAQAAJYEAAAAAAAAlwQAAAAAAACXBAAAlgQAAAAAAACWBAAAmAQAAAAAAACZBAAAAAAAAJkEAACYBAAAAAAAAJgEAACaBAAAAAAAAJsEAAAAAAAAmwQAAJoEAAAAAAAAmgQAAJwEAAAAAAAAnQQAAAAAAACdBAAAnAQAAAAAAACcBAAAngQAAAAAAACfBAAAAAAAAJ8EAACeBAAAAAAAAJ4EAACgBAAAAAAAAKEEAAAAAAAAoQQAAKAEAAAAAAAAoAQAAKIEAAAAAAAAowQAAAAAAACjBAAAogQAAAAAAACiBAAApAQAAAAAAAClBAAAAAAAAKUEAACkBAAAAAAAAKQEAACmBAAAAAAAAKcEAAAAAAAApwQAAKYEAAAAAAAApgQAAKgEAAAAAAAAqQQAAAAAAACpBAAAqAQAAAAAAACoBAAAqgQAAAAAAACrBAAAAAAAAKsEAACqBAAAAAAAAKoEAACsBAAAAAAAAK0EAAAAAAAArQQAAKwEAAAAAAAArAQAAK4EAAAAAAAArwQAAAAAAACvBAAArgQAAAAAAACuBAAAsAQAAAAAAACxBAAAAAAAALEEAACwBAAAAAAAALAEAACyBAAAAAAAALMEAAAAAAAAswQAALIEAAAAAAAAsgQAALQEAAAAAAAAtQQAAAAAAAC1BAAAtAQAAAAAAAC0BAAAtgQAAAAAAAC3BAAAAAAAALcEAAC2BAAAAAAAALYEAAC4BAAAAAAAALkEAAAAAAAAuQQAALgEAAAAAAAAuAQAALoEAAAAAAAAuwQAAAAAAAC7BAAAugQAAAAAAAC6BAAAvAQAAAAAAAC9BAAAAAAAAL0EAAC8BAAAAAAAALwEAAC+BAAAAAAAAL8EAAAAAAAAvwQAAL4EAAAAAAAAvgQAAMAEAAAAAAAAzwQAAAAAAADBBAAAAAAAAMIEAAAAAAAAwgQAAMEEAAAAAAAAwQQAAMMEAAAAAAAAxAQAAAAAAADEBAAAwwQAAAAAAADDBAAAxQQAAAAAAADGBAAAAAAAAMYEAADFBAAAAAAAAMUEAADHBAAAAAAAAMgEAAAAAAAAyAQAAMcEAAAAAAAAxwQAAMkEAAAAAAAAygQAAAAAAADKBAAAyQQAAAAAAADJBAAAywQAAAAAAADMBAAAAAAAAMwEAADLBAAAAAAAAMsEAADNBAAAAAAAAM4EAAAAAAAAzgQAAM0EAAAAAAAAzQQAAM8EAADABAAAAAAAAMAEAADQBAAAAAAAANEEAAAAAAAA0QQAANAEAAAAAAAA0AQAANIEAAAAAAAA0wQAAAAAAADTBAAA0gQAAAAAAADSBAAA1AQAAAAAAADVBAAAAAAAANUEAADUBAAAAAAAANQEAADWBAAAAAAAANcEAAAAAAAA1wQAANYEAAAAAAAA1gQAANgEAAAAAAAA2QQAAAAAAADZBAAA2AQAAAAAAADYBAAA2gQAAAAAAADbBAAAAAAAANsEAADaBAAAAAAAANoEAADcBAAAAAAAAN0EAAAAAAAA3QQAANwEAAAAAAAA3AQAAN4EAAAAAAAA3wQAAAAAAADfBAAA3gQAAAAAAADeBAAA4AQAAAAAAADhBAAAAAAAAOEEAADgBAAAAAAAAOAEAADiBAAAAAAAAOMEAAAAAAAA4wQAAOIEAAAAAAAA4gQAAOQEAAAAAAAA5QQAAAAAAADlBAAA5AQAAAAAAADkBAAA5gQAAAAAAADnBAAAAAAAAOcEAADmBAAAAAAAAOYEAADoBAAAAAAAAOkEAAAAAAAA6QQAAOgEAAAAAAAA6AQAAOoEAAAAAAAA6wQAAAAAAADrBAAA6gQAAAAAAADqBAAA7AQAAAAAAADtBAAAAAAAAO0EAADsBAAAAAAAAOwEAADuBAAAAAAAAO8EAAAAAAAA7wQAAO4EAAAAAAAA7gQAAPAEAAAAAAAA8QQAAAAAAADxBAAA8AQAAAAAAADwBAAA8gQAAAAAAADzBAAAAAAAAPMEAADyBAAAAAAAAPIEAAD0BAAAAAAAAPUEAAAAAAAA9QQAAPQEAAAAAAAA9AQAAPYEAAAAAAAA9wQAAAAAAAD3BAAA9gQAAAAAAAD2BAAA+AQAAAAAAAD5BAAAAAAAAPkEAAD4BAAAAAAAAPgEAAD6BAAAAAAAAPsEAAAAAAAA+wQAAPoEAAAAAAAA+gQAAPwEAAAAAAAA/QQAAAAAAAD9BAAA/AQAAAAAAAD8BAAA/gQAAAAAAAD/BAAAAAAAAP8EAAD+BAAAAAAAAP4EAAAABQAAAAAAAAEFAAAAAAAAAQUAAAAFAAAAAAAAAAUAAAIFAAAAAAAAAwUAAAAAAAADBQAAAgUAAAAAAAACBQAABAUAAAAAAAAFBQAAAAAAAAUFAAAEBQAAAAAAAAQFAAAGBQAAAAAAAAcFAAAAAAAABwUAAAYFAAAAAAAABgUAAAgFAAAAAAAACQUAAAAAAAAJBQAACAUAAAAAAAAIBQAACgUAAAAAAAALBQAAAAAAAAsFAAAKBQAAAAAAAAoFAAAMBQAAAAAAAA0FAAAAAAAADQUAAAwFAAAAAAAADAUAAA4FAAAAAAAADwUAAAAAAAAPBQAADgUAAAAAAAAOBQAAEAUAAAAAAAARBQAAAAAAABEFAAAQBQAAAAAAABAFAAASBQAAAAAAABMFAAAAAAAAEwUAABIFAAAAAAAAEgUAABQFAAAAAAAAFQUAAAAAAAAVBQAAFAUAAAAAAAAUBQAAFgUAAAAAAAAXBQAAAAAAABcFAAAWBQAAAAAAABYFAAAYBQAAAAAAABkFAAAAAAAAGQUAABgFAAAAAAAAGAUAABoFAAAAAAAAGwUAAAAAAAAbBQAAGgUAAAAAAAAaBQAAHAUAAAAAAAAdBQAAAAAAAB0FAAAcBQAAAAAAABwFAAAeBQAAAAAAAB8FAAAAAAAAHwUAAB4FAAAAAAAAHgUAACAFAAAAAAAAIQUAAAAAAAAhBQAAIAUAAAAAAAAgBQAAIgUAAAAAAAAjBQAAAAAAACMFAAAiBQAAAAAAACIFAAAkBQAAAAAAACUFAAAAAAAAJQUAACQFAAAAAAAAJAUAACYFAAAAAAAAJwUAAAAAAAAnBQAAJgUAAAAAAAAmBQAAKAUAAAAAAAApBQAAAAAAACkFAAAoBQAAAAAAACgFAAAqBQAAAAAAACsFAAAAAAAAKwUAACoFAAAAAAAAKgUAACwFAAAAAAAALQUAAAAAAAAtBQAALAUAAAAAAAAsBQAALgUAAAAAAAAvBQAAAAAAAC8FAAAuBQAAAAAAAC4FAAAxBQAAAAAAAGEFAAAAAAAAMgUAAAAAAABiBQAAAAAAADMFAAAAAAAAYwUAAAAAAAA0BQAAAAAAAGQFAAAAAAAANQUAAAAAAABlBQAAAAAAADYFAAAAAAAAZgUAAAAAAAA3BQAAAAAAAGcFAAAAAAAAOAUAAAAAAABoBQAAAAAAADkFAAAAAAAAaQUAAAAAAAA6BQAAAAAAAGoFAAAAAAAAOwUAAAAAAABrBQAAAAAAADwFAAAAAAAAbAUAAAAAAAA9BQAAAAAAAG0FAAAAAAAAPgUAAAAAAABuBQAAAAAAAD8FAAAAAAAAbwUAAAAAAABABQAAAAAAAHAFAAAAAAAAQQUAAAAAAABxBQAAAAAAAEIFAAAAAAAAcgUAAAAAAABDBQAAAAAAAHMFAAAAAAAARAUAAAAAAAB0BQAAAAAAAEUFAAAAAAAAdQUAAAAAAABGBQAAAAAAAHYFAAAAAAAARwUAAAAAAAB3BQAAAAAAAEgFAAAAAAAAeAUAAAAAAABJBQAAAAAAAHkFAAAAAAAASgUAAAAAAAB6BQAAAAAAAEsFAAAAAAAAewUAAAAAAABMBQAAAAAAAHwFAAAAAAAATQUAAAAAAAB9BQAAAAAAAE4FAAAAAAAAfgUAAAAAAABPBQAAAAAAAH8FAAAAAAAAUAUAAAAAAACABQAAAAAAAFEFAAAAAAAAgQUAAAAAAABSBQAAAAAAAIIFAAAAAAAAUwUAAAAAAACDBQAAAAAAAFQFAAAAAAAAhAUAAAAAAABVBQAAAAAAAIUFAAAAAAAAVgUAAAAAAACGBQAAAAAAAGEFAAAxBQAAAAAAADEFAABiBQAAMgUAAAAAAAAyBQAAYwUAADMFAAAAAAAAMwUAAGQFAAA0BQAAAAAAADQFAABlBQAANQUAAAAAAAA1BQAAZgUAADYFAAAAAAAANgUAAGcFAAA3BQAAAAAAADcFAABoBQAAOAUAAAAAAAA4BQAAaQUAADkFAAAAAAAAOQUAAGoFAAA6BQAAAAAAADoFAABrBQAAOwUAAAAAAAA7BQAAbAUAADwFAAAAAAAAPAUAAG0FAAA9BQAAAAAAAD0FAABuBQAAPgUAAAAAAAA+BQAAbwUAAD8FAAAAAAAAPwUAAHAFAABABQAAAAAAAEAFAABxBQAAQQUAAAAAAABBBQAAcgUAAEIFAAAAAAAAQgUAAHMFAABDBQAAAAAAAEMFAAB0BQAARAUAAAAAAABEBQAAdQUAAEUFAAAAAAAARQUAAHYFAABGBQAAAAAAAEYFAAB3BQAARwUAAAAAAABHBQAAeAUAAEgFAAAAAAAASAUAAHkFAABJBQAAAAAAAEkFAAB6BQAASgUAAAAAAABKBQAAewUAAEsFAAAAAAAASwUAAHwFAABMBQAAAAAAAEwFAAB9BQAATQUAAAAAAABNBQAAfgUAAE4FAAAAAAAATgUAAH8FAABPBQAAAAAAAE8FAACABQAAUAUAAAAAAABQBQAAgQUAAFEFAAAAAAAAUQUAAIIFAABSBQAAAAAAAFIFAACDBQAAUwUAAAAAAABTBQAAhAUAAFQFAAAAAAAAVAUAAIUFAABVBQAAAAAAAFUFAACGBQAAVgUAAAAAAABWBQAAoBAAAAAAAAAALQAAAAAAAKEQAAAAAAAAAS0AAAAAAACiEAAAAAAAAAItAAAAAAAAoxAAAAAAAAADLQAAAAAAAKQQAAAAAAAABC0AAAAAAAClEAAAAAAAAAUtAAAAAAAAphAAAAAAAAAGLQAAAAAAAKcQAAAAAAAABy0AAAAAAACoEAAAAAAAAAgtAAAAAAAAqRAAAAAAAAAJLQAAAAAAAKoQAAAAAAAACi0AAAAAAACrEAAAAAAAAAstAAAAAAAArBAAAAAAAAAMLQAAAAAAAK0QAAAAAAAADS0AAAAAAACuEAAAAAAAAA4tAAAAAAAArxAAAAAAAAAPLQAAAAAAALAQAAAAAAAAEC0AAAAAAACxEAAAAAAAABEtAAAAAAAAshAAAAAAAAASLQAAAAAAALMQAAAAAAAAEy0AAAAAAAC0EAAAAAAAABQtAAAAAAAAtRAAAAAAAAAVLQAAAAAAALYQAAAAAAAAFi0AAAAAAAC3EAAAAAAAABctAAAAAAAAuBAAAAAAAAAYLQAAAAAAALkQAAAAAAAAGS0AAAAAAAC6EAAAAAAAABotAAAAAAAAuxAAAAAAAAAbLQAAAAAAALwQAAAAAAAAHC0AAAAAAAC9EAAAAAAAAB0tAAAAAAAAvhAAAAAAAAAeLQAAAAAAAL8QAAAAAAAAHy0AAAAAAADAEAAAAAAAACAtAAAAAAAAwRAAAAAAAAAhLQAAAAAAAMIQAAAAAAAAIi0AAAAAAADDEAAAAAAAACMtAAAAAAAAxBAAAAAAAAAkLQAAAAAAAMUQAAAAAAAAJS0AAAAAAADHEAAAAAAAACctAAAAAAAAzRAAAAAAAAAtLQAAAAAAANAQAACQHAAAAAAAANAQAADREAAAkRwAAAAAAADREAAA0hAAAJIcAAAAAAAA0hAAANMQAACTHAAAAAAAANMQAADUEAAAlBwAAAAAAADUEAAA1RAAAJUcAAAAAAAA1RAAANYQAACWHAAAAAAAANYQAADXEAAAlxwAAAAAAADXEAAA2BAAAJgcAAAAAAAA2BAAANkQAACZHAAAAAAAANkQAADaEAAAmhwAAAAAAADaEAAA2xAAAJscAAAAAAAA2xAAANwQAACcHAAAAAAAANwQAADdEAAAnRwAAAAAAADdEAAA3hAAAJ4cAAAAAAAA3hAAAN8QAACfHAAAAAAAAN8QAADgEAAAoBwAAAAAAADgEAAA4RAAAKEcAAAAAAAA4RAAAOIQAACiHAAAAAAAAOIQAADjEAAAoxwAAAAAAADjEAAA5BAAAKQcAAAAAAAA5BAAAOUQAAClHAAAAAAAAOUQAADmEAAAphwAAAAAAADmEAAA5xAAAKccAAAAAAAA5xAAAOgQAACoHAAAAAAAAOgQAADpEAAAqRwAAAAAAADpEAAA6hAAAKocAAAAAAAA6hAAAOsQAACrHAAAAAAAAOsQAADsEAAArBwAAAAAAADsEAAA7RAAAK0cAAAAAAAA7RAAAO4QAACuHAAAAAAAAO4QAADvEAAArxwAAAAAAADvEAAA8BAAALAcAAAAAAAA8BAAAPEQAACxHAAAAAAAAPEQAADyEAAAshwAAAAAAADyEAAA8xAAALMcAAAAAAAA8xAAAPQQAAC0HAAAAAAAAPQQAAD1EAAAtRwAAAAAAAD1EAAA9hAAALYcAAAAAAAA9hAAAPcQAAC3HAAAAAAAAPcQAAD4EAAAuBwAAAAAAAD4EAAA+RAAALkcAAAAAAAA+RAAAPoQAAC6HAAAAAAAAPoQAAD9EAAAvRwAAAAAAAD9EAAA/hAAAL4cAAAAAAAA/hAAAP8QAAC/HAAAAAAAAP8QAACgEwAAAAAAAHCrAAAAAAAAoRMAAAAAAABxqwAAAAAAAKITAAAAAAAAcqsAAAAAAACjEwAAAAAAAHOrAAAAAAAApBMAAAAAAAB0qwAAAAAAAKUTAAAAAAAAdasAAAAAAACmEwAAAAAAAHarAAAAAAAApxMAAAAAAAB3qwAAAAAAAKgTAAAAAAAAeKsAAAAAAACpEwAAAAAAAHmrAAAAAAAAqhMAAAAAAAB6qwAAAAAAAKsTAAAAAAAAe6sAAAAAAACsEwAAAAAAAHyrAAAAAAAArRMAAAAAAAB9qwAAAAAAAK4TAAAAAAAAfqsAAAAAAACvEwAAAAAAAH+rAAAAAAAAsBMAAAAAAACAqwAAAAAAALETAAAAAAAAgasAAAAAAACyEwAAAAAAAIKrAAAAAAAAsxMAAAAAAACDqwAAAAAAALQTAAAAAAAAhKsAAAAAAAC1EwAAAAAAAIWrAAAAAAAAthMAAAAAAACGqwAAAAAAALcTAAAAAAAAh6sAAAAAAAC4EwAAAAAAAIirAAAAAAAAuRMAAAAAAACJqwAAAAAAALoTAAAAAAAAiqsAAAAAAAC7EwAAAAAAAIurAAAAAAAAvBMAAAAAAACMqwAAAAAAAL0TAAAAAAAAjasAAAAAAAC+EwAAAAAAAI6rAAAAAAAAvxMAAAAAAACPqwAAAAAAAMATAAAAAAAAkKsAAAAAAADBEwAAAAAAAJGrAAAAAAAAwhMAAAAAAACSqwAAAAAAAMMTAAAAAAAAk6sAAAAAAADEEwAAAAAAAJSrAAAAAAAAxRMAAAAAAACVqwAAAAAAAMYTAAAAAAAAlqsAAAAAAADHEwAAAAAAAJerAAAAAAAAyBMAAAAAAACYqwAAAAAAAMkTAAAAAAAAmasAAAAAAADKEwAAAAAAAJqrAAAAAAAAyxMAAAAAAACbqwAAAAAAAMwTAAAAAAAAnKsAAAAAAADNEwAAAAAAAJ2rAAAAAAAAzhMAAAAAAACeqwAAAAAAAM8TAAAAAAAAn6sAAAAAAADQEwAAAAAAAKCrAAAAAAAA0RMAAAAAAAChqwAAAAAAANITAAAAAAAAoqsAAAAAAADTEwAAAAAAAKOrAAAAAAAA1BMAAAAAAACkqwAAAAAAANUTAAAAAAAApasAAAAAAADWEwAAAAAAAKarAAAAAAAA1xMAAAAAAACnqwAAAAAAANgTAAAAAAAAqKsAAAAAAADZEwAAAAAAAKmrAAAAAAAA2hMAAAAAAACqqwAAAAAAANsTAAAAAAAAq6sAAAAAAADcEwAAAAAAAKyrAAAAAAAA3RMAAAAAAACtqwAAAAAAAN4TAAAAAAAArqsAAAAAAADfEwAAAAAAAK+rAAAAAAAA4BMAAAAAAACwqwAAAAAAAOETAAAAAAAAsasAAAAAAADiEwAAAAAAALKrAAAAAAAA4xMAAAAAAACzqwAAAAAAAOQTAAAAAAAAtKsAAAAAAADlEwAAAAAAALWrAAAAAAAA5hMAAAAAAAC2qwAAAAAAAOcTAAAAAAAAt6sAAAAAAADoEwAAAAAAALirAAAAAAAA6RMAAAAAAAC5qwAAAAAAAOoTAAAAAAAAuqsAAAAAAADrEwAAAAAAALurAAAAAAAA7BMAAAAAAAC8qwAAAAAAAO0TAAAAAAAAvasAAAAAAADuEwAAAAAAAL6rAAAAAAAA7xMAAAAAAAC/qwAAAAAAAPATAAAAAAAA+BMAAAAAAADxEwAAAAAAAPkTAAAAAAAA8hMAAAAAAAD6EwAAAAAAAPMTAAAAAAAA+xMAAAAAAAD0EwAAAAAAAPwTAAAAAAAA9RMAAAAAAAD9EwAAAAAAAPgTAADwEwAAAAAAAPATAAD5EwAA8RMAAAAAAADxEwAA+hMAAPITAAAAAAAA8hMAAPsTAADzEwAAAAAAAPMTAAD8EwAA9BMAAAAAAAD0EwAA/RMAAPUTAAAAAAAA9RMAAIAcAAASBAAAAAAAABIEAACBHAAAFAQAAAAAAAAUBAAAghwAAB4EAAAAAAAAHgQAAIMcAAAhBAAAAAAAACEEAACEHAAAIgQAAAAAAAAiBAAAhRwAACIEAAAAAAAAIgQAAIYcAAAqBAAAAAAAACoEAACHHAAAYgQAAAAAAABiBAAAiBwAAEqmAAAAAAAASqYAAJAcAAAAAAAA0BAAAAAAAACRHAAAAAAAANEQAAAAAAAAkhwAAAAAAADSEAAAAAAAAJMcAAAAAAAA0xAAAAAAAACUHAAAAAAAANQQAAAAAAAAlRwAAAAAAADVEAAAAAAAAJYcAAAAAAAA1hAAAAAAAACXHAAAAAAAANcQAAAAAAAAmBwAAAAAAADYEAAAAAAAAJkcAAAAAAAA2RAAAAAAAACaHAAAAAAAANoQAAAAAAAAmxwAAAAAAADbEAAAAAAAAJwcAAAAAAAA3BAAAAAAAACdHAAAAAAAAN0QAAAAAAAAnhwAAAAAAADeEAAAAAAAAJ8cAAAAAAAA3xAAAAAAAACgHAAAAAAAAOAQAAAAAAAAoRwAAAAAAADhEAAAAAAAAKIcAAAAAAAA4hAAAAAAAACjHAAAAAAAAOMQAAAAAAAApBwAAAAAAADkEAAAAAAAAKUcAAAAAAAA5RAAAAAAAACmHAAAAAAAAOYQAAAAAAAApxwAAAAAAADnEAAAAAAAAKgcAAAAAAAA6BAAAAAAAACpHAAAAAAAAOkQAAAAAAAAqhwAAAAAAADqEAAAAAAAAKscAAAAAAAA6xAAAAAAAACsHAAAAAAAAOwQAAAAAAAArRwAAAAAAADtEAAAAAAAAK4cAAAAAAAA7hAAAAAAAACvHAAAAAAAAO8QAAAAAAAAsBwAAAAAAADwEAAAAAAAALEcAAAAAAAA8RAAAAAAAACyHAAAAAAAAPIQAAAAAAAAsxwAAAAAAADzEAAAAAAAALQcAAAAAAAA9BAAAAAAAAC1HAAAAAAAAPUQAAAAAAAAthwAAAAAAAD2EAAAAAAAALccAAAAAAAA9xAAAAAAAAC4HAAAAAAAAPgQAAAAAAAAuRwAAAAAAAD5EAAAAAAAALocAAAAAAAA+hAAAAAAAAC9HAAAAAAAAP0QAAAAAAAAvhwAAAAAAAD+EAAAAAAAAL8cAAAAAAAA/xAAAAAAAAB5HQAAfacAAAAAAAB9pwAAfR0AAGMsAAAAAAAAYywAAAAeAAAAAAAAAR4AAAAAAAABHgAAAB4AAAAAAAAAHgAAAh4AAAAAAAADHgAAAAAAAAMeAAACHgAAAAAAAAIeAAAEHgAAAAAAAAUeAAAAAAAABR4AAAQeAAAAAAAABB4AAAYeAAAAAAAABx4AAAAAAAAHHgAABh4AAAAAAAAGHgAACB4AAAAAAAAJHgAAAAAAAAkeAAAIHgAAAAAAAAgeAAAKHgAAAAAAAAseAAAAAAAACx4AAAoeAAAAAAAACh4AAAweAAAAAAAADR4AAAAAAAANHgAADB4AAAAAAAAMHgAADh4AAAAAAAAPHgAAAAAAAA8eAAAOHgAAAAAAAA4eAAAQHgAAAAAAABEeAAAAAAAAER4AABAeAAAAAAAAEB4AABIeAAAAAAAAEx4AAAAAAAATHgAAEh4AAAAAAAASHgAAFB4AAAAAAAAVHgAAAAAAABUeAAAUHgAAAAAAABQeAAAWHgAAAAAAABceAAAAAAAAFx4AABYeAAAAAAAAFh4AABgeAAAAAAAAGR4AAAAAAAAZHgAAGB4AAAAAAAAYHgAAGh4AAAAAAAAbHgAAAAAAABseAAAaHgAAAAAAABoeAAAcHgAAAAAAAB0eAAAAAAAAHR4AABweAAAAAAAAHB4AAB4eAAAAAAAAHx4AAAAAAAAfHgAAHh4AAAAAAAAeHgAAIB4AAAAAAAAhHgAAAAAAACEeAAAgHgAAAAAAACAeAAAiHgAAAAAAACMeAAAAAAAAIx4AACIeAAAAAAAAIh4AACQeAAAAAAAAJR4AAAAAAAAlHgAAJB4AAAAAAAAkHgAAJh4AAAAAAAAnHgAAAAAAACceAAAmHgAAAAAAACYeAAAoHgAAAAAAACkeAAAAAAAAKR4AACgeAAAAAAAAKB4AACoeAAAAAAAAKx4AAAAAAAArHgAAKh4AAAAAAAAqHgAALB4AAAAAAAAtHgAAAAAAAC0eAAAsHgAAAAAAACweAAAuHgAAAAAAAC8eAAAAAAAALx4AAC4eAAAAAAAALh4AADAeAAAAAAAAMR4AAAAAAAAxHgAAMB4AAAAAAAAwHgAAMh4AAAAAAAAzHgAAAAAAADMeAAAyHgAAAAAAADIeAAA0HgAAAAAAADUeAAAAAAAANR4AADQeAAAAAAAANB4AADYeAAAAAAAANx4AAAAAAAA3HgAANh4AAAAAAAA2HgAAOB4AAAAAAAA5HgAAAAAAADkeAAA4HgAAAAAAADgeAAA6HgAAAAAAADseAAAAAAAAOx4AADoeAAAAAAAAOh4AADweAAAAAAAAPR4AAAAAAAA9HgAAPB4AAAAAAAA8HgAAPh4AAAAAAAA/HgAAAAAAAD8eAAA+HgAAAAAAAD4eAABAHgAAAAAAAEEeAAAAAAAAQR4AAEAeAAAAAAAAQB4AAEIeAAAAAAAAQx4AAAAAAABDHgAAQh4AAAAAAABCHgAARB4AAAAAAABFHgAAAAAAAEUeAABEHgAAAAAAAEQeAABGHgAAAAAAAEceAAAAAAAARx4AAEYeAAAAAAAARh4AAEgeAAAAAAAASR4AAAAAAABJHgAASB4AAAAAAABIHgAASh4AAAAAAABLHgAAAAAAAEseAABKHgAAAAAAAEoeAABMHgAAAAAAAE0eAAAAAAAATR4AAEweAAAAAAAATB4AAE4eAAAAAAAATx4AAAAAAABPHgAATh4AAAAAAABOHgAAUB4AAAAAAABRHgAAAAAAAFEeAABQHgAAAAAAAFAeAABSHgAAAAAAAFMeAAAAAAAAUx4AAFIeAAAAAAAAUh4AAFQeAAAAAAAAVR4AAAAAAABVHgAAVB4AAAAAAABUHgAAVh4AAAAAAABXHgAAAAAAAFceAABWHgAAAAAAAFYeAABYHgAAAAAAAFkeAAAAAAAAWR4AAFgeAAAAAAAAWB4AAFoeAAAAAAAAWx4AAAAAAABbHgAAWh4AAAAAAABaHgAAXB4AAAAAAABdHgAAAAAAAF0eAABcHgAAAAAAAFweAABeHgAAAAAAAF8eAAAAAAAAXx4AAF4eAAAAAAAAXh4AAGAeAAAAAAAAYR4AAAAAAABhHgAAYB4AAAAAAABgHgAAYh4AAAAAAABjHgAAAAAAAGMeAABiHgAAAAAAAGIeAABkHgAAAAAAAGUeAAAAAAAAZR4AAGQeAAAAAAAAZB4AAGYeAAAAAAAAZx4AAAAAAABnHgAAZh4AAAAAAABmHgAAaB4AAAAAAABpHgAAAAAAAGkeAABoHgAAAAAAAGgeAABqHgAAAAAAAGseAAAAAAAAax4AAGoeAAAAAAAAah4AAGweAAAAAAAAbR4AAAAAAABtHgAAbB4AAAAAAABsHgAAbh4AAAAAAABvHgAAAAAAAG8eAABuHgAAAAAAAG4eAABwHgAAAAAAAHEeAAAAAAAAcR4AAHAeAAAAAAAAcB4AAHIeAAAAAAAAcx4AAAAAAABzHgAAch4AAAAAAAByHgAAdB4AAAAAAAB1HgAAAAAAAHUeAAB0HgAAAAAAAHQeAAB2HgAAAAAAAHceAAAAAAAAdx4AAHYeAAAAAAAAdh4AAHgeAAAAAAAAeR4AAAAAAAB5HgAAeB4AAAAAAAB4HgAAeh4AAAAAAAB7HgAAAAAAAHseAAB6HgAAAAAAAHoeAAB8HgAAAAAAAH0eAAAAAAAAfR4AAHweAAAAAAAAfB4AAH4eAAAAAAAAfx4AAAAAAAB/HgAAfh4AAAAAAAB+HgAAgB4AAAAAAACBHgAAAAAAAIEeAACAHgAAAAAAAIAeAACCHgAAAAAAAIMeAAAAAAAAgx4AAIIeAAAAAAAAgh4AAIQeAAAAAAAAhR4AAAAAAACFHgAAhB4AAAAAAACEHgAAhh4AAAAAAACHHgAAAAAAAIceAACGHgAAAAAAAIYeAACIHgAAAAAAAIkeAAAAAAAAiR4AAIgeAAAAAAAAiB4AAIoeAAAAAAAAix4AAAAAAACLHgAAih4AAAAAAACKHgAAjB4AAAAAAACNHgAAAAAAAI0eAACMHgAAAAAAAIweAACOHgAAAAAAAI8eAAAAAAAAjx4AAI4eAAAAAAAAjh4AAJAeAAAAAAAAkR4AAAAAAACRHgAAkB4AAAAAAACQHgAAkh4AAAAAAACTHgAAAAAAAJMeAACSHgAAAAAAAJIeAACUHgAAAAAAAJUeAAAAAAAAlR4AAJQeAAAAAAAAlB4AAJseAABgHgAAAAAAAGAeAACeHgAAAAAAAN8AAAAAAAAAoB4AAAAAAAChHgAAAAAAAKEeAACgHgAAAAAAAKAeAACiHgAAAAAAAKMeAAAAAAAAox4AAKIeAAAAAAAAoh4AAKQeAAAAAAAApR4AAAAAAAClHgAApB4AAAAAAACkHgAAph4AAAAAAACnHgAAAAAAAKceAACmHgAAAAAAAKYeAACoHgAAAAAAAKkeAAAAAAAAqR4AAKgeAAAAAAAAqB4AAKoeAAAAAAAAqx4AAAAAAACrHgAAqh4AAAAAAACqHgAArB4AAAAAAACtHgAAAAAAAK0eAACsHgAAAAAAAKweAACuHgAAAAAAAK8eAAAAAAAArx4AAK4eAAAAAAAArh4AALAeAAAAAAAAsR4AAAAAAACxHgAAsB4AAAAAAACwHgAAsh4AAAAAAACzHgAAAAAAALMeAACyHgAAAAAAALIeAAC0HgAAAAAAALUeAAAAAAAAtR4AALQeAAAAAAAAtB4AALYeAAAAAAAAtx4AAAAAAAC3HgAAth4AAAAAAAC2HgAAuB4AAAAAAAC5HgAAAAAAALkeAAC4HgAAAAAAALgeAAC6HgAAAAAAALseAAAAAAAAux4AALoeAAAAAAAAuh4AALweAAAAAAAAvR4AAAAAAAC9HgAAvB4AAAAAAAC8HgAAvh4AAAAAAAC/HgAAAAAAAL8eAAC+HgAAAAAAAL4eAADAHgAAAAAAAMEeAAAAAAAAwR4AAMAeAAAAAAAAwB4AAMIeAAAAAAAAwx4AAAAAAADDHgAAwh4AAAAAAADCHgAAxB4AAAAAAADFHgAAAAAAAMUeAADEHgAAAAAAAMQeAADGHgAAAAAAAMceAAAAAAAAxx4AAMYeAAAAAAAAxh4AAMgeAAAAAAAAyR4AAAAAAADJHgAAyB4AAAAAAADIHgAAyh4AAAAAAADLHgAAAAAAAMseAADKHgAAAAAAAMoeAADMHgAAAAAAAM0eAAAAAAAAzR4AAMweAAAAAAAAzB4AAM4eAAAAAAAAzx4AAAAAAADPHgAAzh4AAAAAAADOHgAA0B4AAAAAAADRHgAAAAAAANEeAADQHgAAAAAAANAeAADSHgAAAAAAANMeAAAAAAAA0x4AANIeAAAAAAAA0h4AANQeAAAAAAAA1R4AAAAAAADVHgAA1B4AAAAAAADUHgAA1h4AAAAAAADXHgAAAAAAANceAADWHgAAAAAAANYeAADYHgAAAAAAANkeAAAAAAAA2R4AANgeAAAAAAAA2B4AANoeAAAAAAAA2x4AAAAAAADbHgAA2h4AAAAAAADaHgAA3B4AAAAAAADdHgAAAAAAAN0eAADcHgAAAAAAANweAADeHgAAAAAAAN8eAAAAAAAA3x4AAN4eAAAAAAAA3h4AAOAeAAAAAAAA4R4AAAAAAADhHgAA4B4AAAAAAADgHgAA4h4AAAAAAADjHgAAAAAAAOMeAADiHgAAAAAAAOIeAADkHgAAAAAAAOUeAAAAAAAA5R4AAOQeAAAAAAAA5B4AAOYeAAAAAAAA5x4AAAAAAADnHgAA5h4AAAAAAADmHgAA6B4AAAAAAADpHgAAAAAAAOkeAADoHgAAAAAAAOgeAADqHgAAAAAAAOseAAAAAAAA6x4AAOoeAAAAAAAA6h4AAOweAAAAAAAA7R4AAAAAAADtHgAA7B4AAAAAAADsHgAA7h4AAAAAAADvHgAAAAAAAO8eAADuHgAAAAAAAO4eAADwHgAAAAAAAPEeAAAAAAAA8R4AAPAeAAAAAAAA8B4AAPIeAAAAAAAA8x4AAAAAAADzHgAA8h4AAAAAAADyHgAA9B4AAAAAAAD1HgAAAAAAAPUeAAD0HgAAAAAAAPQeAAD2HgAAAAAAAPceAAAAAAAA9x4AAPYeAAAAAAAA9h4AAPgeAAAAAAAA+R4AAAAAAAD5HgAA+B4AAAAAAAD4HgAA+h4AAAAAAAD7HgAAAAAAAPseAAD6HgAAAAAAAPoeAAD8HgAAAAAAAP0eAAAAAAAA/R4AAPweAAAAAAAA/B4AAP4eAAAAAAAA/x4AAAAAAAD/HgAA/h4AAAAAAAD+HgAAAB8AAAgfAAAAAAAACB8AAAEfAAAJHwAAAAAAAAkfAAACHwAACh8AAAAAAAAKHwAAAx8AAAsfAAAAAAAACx8AAAQfAAAMHwAAAAAAAAwfAAAFHwAADR8AAAAAAAANHwAABh8AAA4fAAAAAAAADh8AAAcfAAAPHwAAAAAAAA8fAAAIHwAAAAAAAAAfAAAAAAAACR8AAAAAAAABHwAAAAAAAAofAAAAAAAAAh8AAAAAAAALHwAAAAAAAAMfAAAAAAAADB8AAAAAAAAEHwAAAAAAAA0fAAAAAAAABR8AAAAAAAAOHwAAAAAAAAYfAAAAAAAADx8AAAAAAAAHHwAAAAAAABAfAAAYHwAAAAAAABgfAAARHwAAGR8AAAAAAAAZHwAAEh8AABofAAAAAAAAGh8AABMfAAAbHwAAAAAAABsfAAAUHwAAHB8AAAAAAAAcHwAAFR8AAB0fAAAAAAAAHR8AABgfAAAAAAAAEB8AAAAAAAAZHwAAAAAAABEfAAAAAAAAGh8AAAAAAAASHwAAAAAAABsfAAAAAAAAEx8AAAAAAAAcHwAAAAAAABQfAAAAAAAAHR8AAAAAAAAVHwAAAAAAACAfAAAoHwAAAAAAACgfAAAhHwAAKR8AAAAAAAApHwAAIh8AACofAAAAAAAAKh8AACMfAAArHwAAAAAAACsfAAAkHwAALB8AAAAAAAAsHwAAJR8AAC0fAAAAAAAALR8AACYfAAAuHwAAAAAAAC4fAAAnHwAALx8AAAAAAAAvHwAAKB8AAAAAAAAgHwAAAAAAACkfAAAAAAAAIR8AAAAAAAAqHwAAAAAAACIfAAAAAAAAKx8AAAAAAAAjHwAAAAAAACwfAAAAAAAAJB8AAAAAAAAtHwAAAAAAACUfAAAAAAAALh8AAAAAAAAmHwAAAAAAAC8fAAAAAAAAJx8AAAAAAAAwHwAAOB8AAAAAAAA4HwAAMR8AADkfAAAAAAAAOR8AADIfAAA6HwAAAAAAADofAAAzHwAAOx8AAAAAAAA7HwAANB8AADwfAAAAAAAAPB8AADUfAAA9HwAAAAAAAD0fAAA2HwAAPh8AAAAAAAA+HwAANx8AAD8fAAAAAAAAPx8AADgfAAAAAAAAMB8AAAAAAAA5HwAAAAAAADEfAAAAAAAAOh8AAAAAAAAyHwAAAAAAADsfAAAAAAAAMx8AAAAAAAA8HwAAAAAAADQfAAAAAAAAPR8AAAAAAAA1HwAAAAAAAD4fAAAAAAAANh8AAAAAAAA/HwAAAAAAADcfAAAAAAAAQB8AAEgfAAAAAAAASB8AAEEfAABJHwAAAAAAAEkfAABCHwAASh8AAAAAAABKHwAAQx8AAEsfAAAAAAAASx8AAEQfAABMHwAAAAAAAEwfAABFHwAATR8AAAAAAABNHwAASB8AAAAAAABAHwAAAAAAAEkfAAAAAAAAQR8AAAAAAABKHwAAAAAAAEIfAAAAAAAASx8AAAAAAABDHwAAAAAAAEwfAAAAAAAARB8AAAAAAABNHwAAAAAAAEUfAAAAAAAAUR8AAFkfAAAAAAAAWR8AAFMfAABbHwAAAAAAAFsfAABVHwAAXR8AAAAAAABdHwAAVx8AAF8fAAAAAAAAXx8AAFkfAAAAAAAAUR8AAAAAAABbHwAAAAAAAFMfAAAAAAAAXR8AAAAAAABVHwAAAAAAAF8fAAAAAAAAVx8AAAAAAABgHwAAaB8AAAAAAABoHwAAYR8AAGkfAAAAAAAAaR8AAGIfAABqHwAAAAAAAGofAABjHwAAax8AAAAAAABrHwAAZB8AAGwfAAAAAAAAbB8AAGUfAABtHwAAAAAAAG0fAABmHwAAbh8AAAAAAABuHwAAZx8AAG8fAAAAAAAAbx8AAGgfAAAAAAAAYB8AAAAAAABpHwAAAAAAAGEfAAAAAAAAah8AAAAAAABiHwAAAAAAAGsfAAAAAAAAYx8AAAAAAABsHwAAAAAAAGQfAAAAAAAAbR8AAAAAAABlHwAAAAAAAG4fAAAAAAAAZh8AAAAAAABvHwAAAAAAAGcfAAAAAAAAcB8AALofAAAAAAAAuh8AAHEfAAC7HwAAAAAAALsfAAByHwAAyB8AAAAAAADIHwAAcx8AAMkfAAAAAAAAyR8AAHQfAADKHwAAAAAAAMofAAB1HwAAyx8AAAAAAADLHwAAdh8AANofAAAAAAAA2h8AAHcfAADbHwAAAAAAANsfAAB4HwAA+B8AAAAAAAD4HwAAeR8AAPkfAAAAAAAA+R8AAHofAADqHwAAAAAAAOofAAB7HwAA6x8AAAAAAADrHwAAfB8AAPofAAAAAAAA+h8AAH0fAAD7HwAAAAAAAPsfAACAHwAAiB8AAAAAAACIHwAAgR8AAIkfAAAAAAAAiR8AAIIfAACKHwAAAAAAAIofAACDHwAAix8AAAAAAACLHwAAhB8AAIwfAAAAAAAAjB8AAIUfAACNHwAAAAAAAI0fAACGHwAAjh8AAAAAAACOHwAAhx8AAI8fAAAAAAAAjx8AAIgfAAAAAAAAgB8AAAAAAACJHwAAAAAAAIEfAAAAAAAAih8AAAAAAACCHwAAAAAAAIsfAAAAAAAAgx8AAAAAAACMHwAAAAAAAIQfAAAAAAAAjR8AAAAAAACFHwAAAAAAAI4fAAAAAAAAhh8AAAAAAACPHwAAAAAAAIcfAAAAAAAAkB8AAJgfAAAAAAAAmB8AAJEfAACZHwAAAAAAAJkfAACSHwAAmh8AAAAAAACaHwAAkx8AAJsfAAAAAAAAmx8AAJQfAACcHwAAAAAAAJwfAACVHwAAnR8AAAAAAACdHwAAlh8AAJ4fAAAAAAAAnh8AAJcfAACfHwAAAAAAAJ8fAACYHwAAAAAAAJAfAAAAAAAAmR8AAAAAAACRHwAAAAAAAJofAAAAAAAAkh8AAAAAAACbHwAAAAAAAJMfAAAAAAAAnB8AAAAAAACUHwAAAAAAAJ0fAAAAAAAAlR8AAAAAAACeHwAAAAAAAJYfAAAAAAAAnx8AAAAAAACXHwAAAAAAAKAfAACoHwAAAAAAAKgfAAChHwAAqR8AAAAAAACpHwAAoh8AAKofAAAAAAAAqh8AAKMfAACrHwAAAAAAAKsfAACkHwAArB8AAAAAAACsHwAApR8AAK0fAAAAAAAArR8AAKYfAACuHwAAAAAAAK4fAACnHwAArx8AAAAAAACvHwAAqB8AAAAAAACgHwAAAAAAAKkfAAAAAAAAoR8AAAAAAACqHwAAAAAAAKIfAAAAAAAAqx8AAAAAAACjHwAAAAAAAKwfAAAAAAAApB8AAAAAAACtHwAAAAAAAKUfAAAAAAAArh8AAAAAAACmHwAAAAAAAK8fAAAAAAAApx8AAAAAAACwHwAAuB8AAAAAAAC4HwAAsR8AALkfAAAAAAAAuR8AALMfAAC8HwAAAAAAALwfAAC4HwAAAAAAALAfAAAAAAAAuR8AAAAAAACxHwAAAAAAALofAAAAAAAAcB8AAAAAAAC7HwAAAAAAAHEfAAAAAAAAvB8AAAAAAACzHwAAAAAAAL4fAACZAwAAAAAAAJkDAADDHwAAzB8AAAAAAADMHwAAyB8AAAAAAAByHwAAAAAAAMkfAAAAAAAAcx8AAAAAAADKHwAAAAAAAHQfAAAAAAAAyx8AAAAAAAB1HwAAAAAAAMwfAAAAAAAAwx8AAAAAAADQHwAA2B8AAAAAAADYHwAA0R8AANkfAAAAAAAA2R8AANgfAAAAAAAA0B8AAAAAAADZHwAAAAAAANEfAAAAAAAA2h8AAAAAAAB2HwAAAAAAANsfAAAAAAAAdx8AAAAAAADgHwAA6B8AAAAAAADoHwAA4R8AAOkfAAAAAAAA6R8AAOUfAADsHwAAAAAAAOwfAADoHwAAAAAAAOAfAAAAAAAA6R8AAAAAAADhHwAAAAAAAOofAAAAAAAAeh8AAAAAAADrHwAAAAAAAHsfAAAAAAAA7B8AAAAAAADlHwAAAAAAAPMfAAD8HwAAAAAAAPwfAAD4HwAAAAAAAHgfAAAAAAAA+R8AAAAAAAB5HwAAAAAAAPofAAAAAAAAfB8AAAAAAAD7HwAAAAAAAH0fAAAAAAAA/B8AAAAAAADzHwAAAAAAACYhAAAAAAAAyQMAAAAAAAAqIQAAAAAAAGsAAAAAAAAAKyEAAAAAAADlAAAAAAAAADIhAAAAAAAATiEAAAAAAABOIQAAMiEAAAAAAAAyIQAAYCEAAAAAAABwIQAAAAAAAGEhAAAAAAAAcSEAAAAAAABiIQAAAAAAAHIhAAAAAAAAYyEAAAAAAABzIQAAAAAAAGQhAAAAAAAAdCEAAAAAAABlIQAAAAAAAHUhAAAAAAAAZiEAAAAAAAB2IQAAAAAAAGchAAAAAAAAdyEAAAAAAABoIQAAAAAAAHghAAAAAAAAaSEAAAAAAAB5IQAAAAAAAGohAAAAAAAAeiEAAAAAAABrIQAAAAAAAHshAAAAAAAAbCEAAAAAAAB8IQAAAAAAAG0hAAAAAAAAfSEAAAAAAABuIQAAAAAAAH4hAAAAAAAAbyEAAAAAAAB/IQAAAAAAAHAhAABgIQAAAAAAAGAhAABxIQAAYSEAAAAAAABhIQAAciEAAGIhAAAAAAAAYiEAAHMhAABjIQAAAAAAAGMhAAB0IQAAZCEAAAAAAABkIQAAdSEAAGUhAAAAAAAAZSEAAHYhAABmIQAAAAAAAGYhAAB3IQAAZyEAAAAAAABnIQAAeCEAAGghAAAAAAAAaCEAAHkhAABpIQAAAAAAAGkhAAB6IQAAaiEAAAAAAABqIQAAeyEAAGshAAAAAAAAayEAAHwhAABsIQAAAAAAAGwhAAB9IQAAbSEAAAAAAABtIQAAfiEAAG4hAAAAAAAAbiEAAH8hAABvIQAAAAAAAG8hAACDIQAAAAAAAIQhAAAAAAAAhCEAAIMhAAAAAAAAgyEAALYkAAAAAAAA0CQAAAAAAAC3JAAAAAAAANEkAAAAAAAAuCQAAAAAAADSJAAAAAAAALkkAAAAAAAA0yQAAAAAAAC6JAAAAAAAANQkAAAAAAAAuyQAAAAAAADVJAAAAAAAALwkAAAAAAAA1iQAAAAAAAC9JAAAAAAAANckAAAAAAAAviQAAAAAAADYJAAAAAAAAL8kAAAAAAAA2SQAAAAAAADAJAAAAAAAANokAAAAAAAAwSQAAAAAAADbJAAAAAAAAMIkAAAAAAAA3CQAAAAAAADDJAAAAAAAAN0kAAAAAAAAxCQAAAAAAADeJAAAAAAAAMUkAAAAAAAA3yQAAAAAAADGJAAAAAAAAOAkAAAAAAAAxyQAAAAAAADhJAAAAAAAAMgkAAAAAAAA4iQAAAAAAADJJAAAAAAAAOMkAAAAAAAAyiQAAAAAAADkJAAAAAAAAMskAAAAAAAA5SQAAAAAAADMJAAAAAAAAOYkAAAAAAAAzSQAAAAAAADnJAAAAAAAAM4kAAAAAAAA6CQAAAAAAADPJAAAAAAAAOkkAAAAAAAA0CQAALYkAAAAAAAAtiQAANEkAAC3JAAAAAAAALckAADSJAAAuCQAAAAAAAC4JAAA0yQAALkkAAAAAAAAuSQAANQkAAC6JAAAAAAAALokAADVJAAAuyQAAAAAAAC7JAAA1iQAALwkAAAAAAAAvCQAANckAAC9JAAAAAAAAL0kAADYJAAAviQAAAAAAAC+JAAA2SQAAL8kAAAAAAAAvyQAANokAADAJAAAAAAAAMAkAADbJAAAwSQAAAAAAADBJAAA3CQAAMIkAAAAAAAAwiQAAN0kAADDJAAAAAAAAMMkAADeJAAAxCQAAAAAAADEJAAA3yQAAMUkAAAAAAAAxSQAAOAkAADGJAAAAAAAAMYkAADhJAAAxyQAAAAAAADHJAAA4iQAAMgkAAAAAAAAyCQAAOMkAADJJAAAAAAAAMkkAADkJAAAyiQAAAAAAADKJAAA5SQAAMskAAAAAAAAyyQAAOYkAADMJAAAAAAAAMwkAADnJAAAzSQAAAAAAADNJAAA6CQAAM4kAAAAAAAAziQAAOkkAADPJAAAAAAAAM8kAAAALAAAAAAAADAsAAAAAAAAASwAAAAAAAAxLAAAAAAAAAIsAAAAAAAAMiwAAAAAAAADLAAAAAAAADMsAAAAAAAABCwAAAAAAAA0LAAAAAAAAAUsAAAAAAAANSwAAAAAAAAGLAAAAAAAADYsAAAAAAAABywAAAAAAAA3LAAAAAAAAAgsAAAAAAAAOCwAAAAAAAAJLAAAAAAAADksAAAAAAAACiwAAAAAAAA6LAAAAAAAAAssAAAAAAAAOywAAAAAAAAMLAAAAAAAADwsAAAAAAAADSwAAAAAAAA9LAAAAAAAAA4sAAAAAAAAPiwAAAAAAAAPLAAAAAAAAD8sAAAAAAAAECwAAAAAAABALAAAAAAAABEsAAAAAAAAQSwAAAAAAAASLAAAAAAAAEIsAAAAAAAAEywAAAAAAABDLAAAAAAAABQsAAAAAAAARCwAAAAAAAAVLAAAAAAAAEUsAAAAAAAAFiwAAAAAAABGLAAAAAAAABcsAAAAAAAARywAAAAAAAAYLAAAAAAAAEgsAAAAAAAAGSwAAAAAAABJLAAAAAAAABosAAAAAAAASiwAAAAAAAAbLAAAAAAAAEssAAAAAAAAHCwAAAAAAABMLAAAAAAAAB0sAAAAAAAATSwAAAAAAAAeLAAAAAAAAE4sAAAAAAAAHywAAAAAAABPLAAAAAAAACAsAAAAAAAAUCwAAAAAAAAhLAAAAAAAAFEsAAAAAAAAIiwAAAAAAABSLAAAAAAAACMsAAAAAAAAUywAAAAAAAAkLAAAAAAAAFQsAAAAAAAAJSwAAAAAAABVLAAAAAAAACYsAAAAAAAAViwAAAAAAAAnLAAAAAAAAFcsAAAAAAAAKCwAAAAAAABYLAAAAAAAACksAAAAAAAAWSwAAAAAAAAqLAAAAAAAAFosAAAAAAAAKywAAAAAAABbLAAAAAAAACwsAAAAAAAAXCwAAAAAAAAtLAAAAAAAAF0sAAAAAAAALiwAAAAAAABeLAAAAAAAADAsAAAALAAAAAAAAAAsAAAxLAAAASwAAAAAAAABLAAAMiwAAAIsAAAAAAAAAiwAADMsAAADLAAAAAAAAAMsAAA0LAAABCwAAAAAAAAELAAANSwAAAUsAAAAAAAABSwAADYsAAAGLAAAAAAAAAYsAAA3LAAABywAAAAAAAAHLAAAOCwAAAgsAAAAAAAACCwAADksAAAJLAAAAAAAAAksAAA6LAAACiwAAAAAAAAKLAAAOywAAAssAAAAAAAACywAADwsAAAMLAAAAAAAAAwsAAA9LAAADSwAAAAAAAANLAAAPiwAAA4sAAAAAAAADiwAAD8sAAAPLAAAAAAAAA8sAABALAAAECwAAAAAAAAQLAAAQSwAABEsAAAAAAAAESwAAEIsAAASLAAAAAAAABIsAABDLAAAEywAAAAAAAATLAAARCwAABQsAAAAAAAAFCwAAEUsAAAVLAAAAAAAABUsAABGLAAAFiwAAAAAAAAWLAAARywAABcsAAAAAAAAFywAAEgsAAAYLAAAAAAAABgsAABJLAAAGSwAAAAAAAAZLAAASiwAABosAAAAAAAAGiwAAEssAAAbLAAAAAAAABssAABMLAAAHCwAAAAAAAAcLAAATSwAAB0sAAAAAAAAHSwAAE4sAAAeLAAAAAAAAB4sAABPLAAAHywAAAAAAAAfLAAAUCwAACAsAAAAAAAAICwAAFEsAAAhLAAAAAAAACEsAABSLAAAIiwAAAAAAAAiLAAAUywAACMsAAAAAAAAIywAAFQsAAAkLAAAAAAAACQsAABVLAAAJSwAAAAAAAAlLAAAViwAACYsAAAAAAAAJiwAAFcsAAAnLAAAAAAAACcsAABYLAAAKCwAAAAAAAAoLAAAWSwAACksAAAAAAAAKSwAAFosAAAqLAAAAAAAACosAABbLAAAKywAAAAAAAArLAAAXCwAACwsAAAAAAAALCwAAF0sAAAtLAAAAAAAAC0sAABeLAAALiwAAAAAAAAuLAAAYCwAAAAAAABhLAAAAAAAAGEsAABgLAAAAAAAAGAsAABiLAAAAAAAAGsCAAAAAAAAYywAAAAAAAB9HQAAAAAAAGQsAAAAAAAAfQIAAAAAAABlLAAAOgIAAAAAAAA6AgAAZiwAAD4CAAAAAAAAPgIAAGcsAAAAAAAAaCwAAAAAAABoLAAAZywAAAAAAABnLAAAaSwAAAAAAABqLAAAAAAAAGosAABpLAAAAAAAAGksAABrLAAAAAAAAGwsAAAAAAAAbCwAAGssAAAAAAAAaywAAG0sAAAAAAAAUQIAAAAAAABuLAAAAAAAAHECAAAAAAAAbywAAAAAAABQAgAAAAAAAHAsAAAAAAAAUgIAAAAAAAByLAAAAAAAAHMsAAAAAAAAcywAAHIsAAAAAAAAciwAAHUsAAAAAAAAdiwAAAAAAAB2LAAAdSwAAAAAAAB1LAAAfiwAAAAAAAA/AgAAAAAAAH8sAAAAAAAAQAIAAAAAAACALAAAAAAAAIEsAAAAAAAAgSwAAIAsAAAAAAAAgCwAAIIsAAAAAAAAgywAAAAAAACDLAAAgiwAAAAAAACCLAAAhCwAAAAAAACFLAAAAAAAAIUsAACELAAAAAAAAIQsAACGLAAAAAAAAIcsAAAAAAAAhywAAIYsAAAAAAAAhiwAAIgsAAAAAAAAiSwAAAAAAACJLAAAiCwAAAAAAACILAAAiiwAAAAAAACLLAAAAAAAAIssAACKLAAAAAAAAIosAACMLAAAAAAAAI0sAAAAAAAAjSwAAIwsAAAAAAAAjCwAAI4sAAAAAAAAjywAAAAAAACPLAAAjiwAAAAAAACOLAAAkCwAAAAAAACRLAAAAAAAAJEsAACQLAAAAAAAAJAsAACSLAAAAAAAAJMsAAAAAAAAkywAAJIsAAAAAAAAkiwAAJQsAAAAAAAAlSwAAAAAAACVLAAAlCwAAAAAAACULAAAliwAAAAAAACXLAAAAAAAAJcsAACWLAAAAAAAAJYsAACYLAAAAAAAAJksAAAAAAAAmSwAAJgsAAAAAAAAmCwAAJosAAAAAAAAmywAAAAAAACbLAAAmiwAAAAAAACaLAAAnCwAAAAAAACdLAAAAAAAAJ0sAACcLAAAAAAAAJwsAACeLAAAAAAAAJ8sAAAAAAAAnywAAJ4sAAAAAAAAniwAAKAsAAAAAAAAoSwAAAAAAAChLAAAoCwAAAAAAACgLAAAoiwAAAAAAACjLAAAAAAAAKMsAACiLAAAAAAAAKIsAACkLAAAAAAAAKUsAAAAAAAApSwAAKQsAAAAAAAApCwAAKYsAAAAAAAApywAAAAAAACnLAAApiwAAAAAAACmLAAAqCwAAAAAAACpLAAAAAAAAKksAACoLAAAAAAAAKgsAACqLAAAAAAAAKssAAAAAAAAqywAAKosAAAAAAAAqiwAAKwsAAAAAAAArSwAAAAAAACtLAAArCwAAAAAAACsLAAAriwAAAAAAACvLAAAAAAAAK8sAACuLAAAAAAAAK4sAACwLAAAAAAAALEsAAAAAAAAsSwAALAsAAAAAAAAsCwAALIsAAAAAAAAsywAAAAAAACzLAAAsiwAAAAAAACyLAAAtCwAAAAAAAC1LAAAAAAAALUsAAC0LAAAAAAAALQsAAC2LAAAAAAAALcsAAAAAAAAtywAALYsAAAAAAAAtiwAALgsAAAAAAAAuSwAAAAAAAC5LAAAuCwAAAAAAAC4LAAAuiwAAAAAAAC7LAAAAAAAALssAAC6LAAAAAAAALosAAC8LAAAAAAAAL0sAAAAAAAAvSwAALwsAAAAAAAAvCwAAL4sAAAAAAAAvywAAAAAAAC/LAAAviwAAAAAAAC+LAAAwCwAAAAAAADBLAAAAAAAAMEsAADALAAAAAAAAMAsAADCLAAAAAAAAMMsAAAAAAAAwywAAMIsAAAAAAAAwiwAAMQsAAAAAAAAxSwAAAAAAADFLAAAxCwAAAAAAADELAAAxiwAAAAAAADHLAAAAAAAAMcsAADGLAAAAAAAAMYsAADILAAAAAAAAMksAAAAAAAAySwAAMgsAAAAAAAAyCwAAMosAAAAAAAAyywAAAAAAADLLAAAyiwAAAAAAADKLAAAzCwAAAAAAADNLAAAAAAAAM0sAADMLAAAAAAAAMwsAADOLAAAAAAAAM8sAAAAAAAAzywAAM4sAAAAAAAAziwAANAsAAAAAAAA0SwAAAAAAADRLAAA0CwAAAAAAADQLAAA0iwAAAAAAADTLAAAAAAAANMsAADSLAAAAAAAANIsAADULAAAAAAAANUsAAAAAAAA1SwAANQsAAAAAAAA1CwAANYsAAAAAAAA1ywAAAAAAADXLAAA1iwAAAAAAADWLAAA2CwAAAAAAADZLAAAAAAAANksAADYLAAAAAAAANgsAADaLAAAAAAAANssAAAAAAAA2ywAANosAAAAAAAA2iwAANwsAAAAAAAA3SwAAAAAAADdLAAA3CwAAAAAAADcLAAA3iwAAAAAAADfLAAAAAAAAN8sAADeLAAAAAAAAN4sAADgLAAAAAAAAOEsAAAAAAAA4SwAAOAsAAAAAAAA4CwAAOIsAAAAAAAA4ywAAAAAAADjLAAA4iwAAAAAAADiLAAA6ywAAAAAAADsLAAAAAAAAOwsAADrLAAAAAAAAOssAADtLAAAAAAAAO4sAAAAAAAA7iwAAO0sAAAAAAAA7SwAAPIsAAAAAAAA8ywAAAAAAADzLAAA8iwAAAAAAADyLAAAAC0AAKAQAAAAAAAAoBAAAAEtAAChEAAAAAAAAKEQAAACLQAAohAAAAAAAACiEAAAAy0AAKMQAAAAAAAAoxAAAAQtAACkEAAAAAAAAKQQAAAFLQAApRAAAAAAAAClEAAABi0AAKYQAAAAAAAAphAAAActAACnEAAAAAAAAKcQAAAILQAAqBAAAAAAAACoEAAACS0AAKkQAAAAAAAAqRAAAAotAACqEAAAAAAAAKoQAAALLQAAqxAAAAAAAACrEAAADC0AAKwQAAAAAAAArBAAAA0tAACtEAAAAAAAAK0QAAAOLQAArhAAAAAAAACuEAAADy0AAK8QAAAAAAAArxAAABAtAACwEAAAAAAAALAQAAARLQAAsRAAAAAAAACxEAAAEi0AALIQAAAAAAAAshAAABMtAACzEAAAAAAAALMQAAAULQAAtBAAAAAAAAC0EAAAFS0AALUQAAAAAAAAtRAAABYtAAC2EAAAAAAAALYQAAAXLQAAtxAAAAAAAAC3EAAAGC0AALgQAAAAAAAAuBAAABktAAC5EAAAAAAAALkQAAAaLQAAuhAAAAAAAAC6EAAAGy0AALsQAAAAAAAAuxAAABwtAAC8EAAAAAAAALwQAAAdLQAAvRAAAAAAAAC9EAAAHi0AAL4QAAAAAAAAvhAAAB8tAAC/EAAAAAAAAL8QAAAgLQAAwBAAAAAAAADAEAAAIS0AAMEQAAAAAAAAwRAAACItAADCEAAAAAAAAMIQAAAjLQAAwxAAAAAAAADDEAAAJC0AAMQQAAAAAAAAxBAAACUtAADFEAAAAAAAAMUQAAAnLQAAxxAAAAAAAADHEAAALS0AAM0QAAAAAAAAzRAAAECmAAAAAAAAQaYAAAAAAABBpgAAQKYAAAAAAABApgAAQqYAAAAAAABDpgAAAAAAAEOmAABCpgAAAAAAAEKmAABEpgAAAAAAAEWmAAAAAAAARaYAAESmAAAAAAAARKYAAEamAAAAAAAAR6YAAAAAAABHpgAARqYAAAAAAABGpgAASKYAAAAAAABJpgAAAAAAAEmmAABIpgAAAAAAAEimAABKpgAAAAAAAEumAAAAAAAAS6YAAEqmAAAAAAAASqYAAEymAAAAAAAATaYAAAAAAABNpgAATKYAAAAAAABMpgAATqYAAAAAAABPpgAAAAAAAE+mAABOpgAAAAAAAE6mAABQpgAAAAAAAFGmAAAAAAAAUaYAAFCmAAAAAAAAUKYAAFKmAAAAAAAAU6YAAAAAAABTpgAAUqYAAAAAAABSpgAAVKYAAAAAAABVpgAAAAAAAFWmAABUpgAAAAAAAFSmAABWpgAAAAAAAFemAAAAAAAAV6YAAFamAAAAAAAAVqYAAFimAAAAAAAAWaYAAAAAAABZpgAAWKYAAAAAAABYpgAAWqYAAAAAAABbpgAAAAAAAFumAABapgAAAAAAAFqmAABcpgAAAAAAAF2mAAAAAAAAXaYAAFymAAAAAAAAXKYAAF6mAAAAAAAAX6YAAAAAAABfpgAAXqYAAAAAAABepgAAYKYAAAAAAABhpgAAAAAAAGGmAABgpgAAAAAAAGCmAABipgAAAAAAAGOmAAAAAAAAY6YAAGKmAAAAAAAAYqYAAGSmAAAAAAAAZaYAAAAAAABlpgAAZKYAAAAAAABkpgAAZqYAAAAAAABnpgAAAAAAAGemAABmpgAAAAAAAGamAABopgAAAAAAAGmmAAAAAAAAaaYAAGimAAAAAAAAaKYAAGqmAAAAAAAAa6YAAAAAAABrpgAAaqYAAAAAAABqpgAAbKYAAAAAAABtpgAAAAAAAG2mAABspgAAAAAAAGymAACApgAAAAAAAIGmAAAAAAAAgaYAAICmAAAAAAAAgKYAAIKmAAAAAAAAg6YAAAAAAACDpgAAgqYAAAAAAACCpgAAhKYAAAAAAACFpgAAAAAAAIWmAACEpgAAAAAAAISmAACGpgAAAAAAAIemAAAAAAAAh6YAAIamAAAAAAAAhqYAAIimAAAAAAAAiaYAAAAAAACJpgAAiKYAAAAAAACIpgAAiqYAAAAAAACLpgAAAAAAAIumAACKpgAAAAAAAIqmAACMpgAAAAAAAI2mAAAAAAAAjaYAAIymAAAAAAAAjKYAAI6mAAAAAAAAj6YAAAAAAACPpgAAjqYAAAAAAACOpgAAkKYAAAAAAACRpgAAAAAAAJGmAACQpgAAAAAAAJCmAACSpgAAAAAAAJOmAAAAAAAAk6YAAJKmAAAAAAAAkqYAAJSmAAAAAAAAlaYAAAAAAACVpgAAlKYAAAAAAACUpgAAlqYAAAAAAACXpgAAAAAAAJemAACWpgAAAAAAAJamAACYpgAAAAAAAJmmAAAAAAAAmaYAAJimAAAAAAAAmKYAAJqmAAAAAAAAm6YAAAAAAACbpgAAmqYAAAAAAACapgAAIqcAAAAAAAAjpwAAAAAAACOnAAAipwAAAAAAACKnAAAkpwAAAAAAACWnAAAAAAAAJacAACSnAAAAAAAAJKcAACanAAAAAAAAJ6cAAAAAAAAnpwAAJqcAAAAAAAAmpwAAKKcAAAAAAAAppwAAAAAAACmnAAAopwAAAAAAACinAAAqpwAAAAAAACunAAAAAAAAK6cAACqnAAAAAAAAKqcAACynAAAAAAAALacAAAAAAAAtpwAALKcAAAAAAAAspwAALqcAAAAAAAAvpwAAAAAAAC+nAAAupwAAAAAAAC6nAAAypwAAAAAAADOnAAAAAAAAM6cAADKnAAAAAAAAMqcAADSnAAAAAAAANacAAAAAAAA1pwAANKcAAAAAAAA0pwAANqcAAAAAAAA3pwAAAAAAADenAAA2pwAAAAAAADanAAA4pwAAAAAAADmnAAAAAAAAOacAADinAAAAAAAAOKcAADqnAAAAAAAAO6cAAAAAAAA7pwAAOqcAAAAAAAA6pwAAPKcAAAAAAAA9pwAAAAAAAD2nAAA8pwAAAAAAADynAAA+pwAAAAAAAD+nAAAAAAAAP6cAAD6nAAAAAAAAPqcAAECnAAAAAAAAQacAAAAAAABBpwAAQKcAAAAAAABApwAAQqcAAAAAAABDpwAAAAAAAEOnAABCpwAAAAAAAEKnAABEpwAAAAAAAEWnAAAAAAAARacAAESnAAAAAAAARKcAAEanAAAAAAAAR6cAAAAAAABHpwAARqcAAAAAAABGpwAASKcAAAAAAABJpwAAAAAAAEmnAABIpwAAAAAAAEinAABKpwAAAAAAAEunAAAAAAAAS6cAAEqnAAAAAAAASqcAAEynAAAAAAAATacAAAAAAABNpwAATKcAAAAAAABMpwAATqcAAAAAAABPpwAAAAAAAE+nAABOpwAAAAAAAE6nAABQpwAAAAAAAFGnAAAAAAAAUacAAFCnAAAAAAAAUKcAAFKnAAAAAAAAU6cAAAAAAABTpwAAUqcAAAAAAABSpwAAVKcAAAAAAABVpwAAAAAAAFWnAABUpwAAAAAAAFSnAABWpwAAAAAAAFenAAAAAAAAV6cAAFanAAAAAAAAVqcAAFinAAAAAAAAWacAAAAAAABZpwAAWKcAAAAAAABYpwAAWqcAAAAAAABbpwAAAAAAAFunAABapwAAAAAAAFqnAABcpwAAAAAAAF2nAAAAAAAAXacAAFynAAAAAAAAXKcAAF6nAAAAAAAAX6cAAAAAAABfpwAAXqcAAAAAAABepwAAYKcAAAAAAABhpwAAAAAAAGGnAABgpwAAAAAAAGCnAABipwAAAAAAAGOnAAAAAAAAY6cAAGKnAAAAAAAAYqcAAGSnAAAAAAAAZacAAAAAAABlpwAAZKcAAAAAAABkpwAAZqcAAAAAAABnpwAAAAAAAGenAABmpwAAAAAAAGanAABopwAAAAAAAGmnAAAAAAAAaacAAGinAAAAAAAAaKcAAGqnAAAAAAAAa6cAAAAAAABrpwAAaqcAAAAAAABqpwAAbKcAAAAAAABtpwAAAAAAAG2nAABspwAAAAAAAGynAABupwAAAAAAAG+nAAAAAAAAb6cAAG6nAAAAAAAAbqcAAHmnAAAAAAAAeqcAAAAAAAB6pwAAeacAAAAAAAB5pwAAe6cAAAAAAAB8pwAAAAAAAHynAAB7pwAAAAAAAHunAAB9pwAAAAAAAHkdAAAAAAAAfqcAAAAAAAB/pwAAAAAAAH+nAAB+pwAAAAAAAH6nAACApwAAAAAAAIGnAAAAAAAAgacAAICnAAAAAAAAgKcAAIKnAAAAAAAAg6cAAAAAAACDpwAAgqcAAAAAAACCpwAAhKcAAAAAAACFpwAAAAAAAIWnAACEpwAAAAAAAISnAACGpwAAAAAAAIenAAAAAAAAh6cAAIanAAAAAAAAhqcAAIunAAAAAAAAjKcAAAAAAACMpwAAi6cAAAAAAACLpwAAjacAAAAAAABlAgAAAAAAAJCnAAAAAAAAkacAAAAAAACRpwAAkKcAAAAAAACQpwAAkqcAAAAAAACTpwAAAAAAAJOnAACSpwAAAAAAAJKnAACWpwAAAAAAAJenAAAAAAAAl6cAAJanAAAAAAAAlqcAAJinAAAAAAAAmacAAAAAAACZpwAAmKcAAAAAAACYpwAAmqcAAAAAAACbpwAAAAAAAJunAACapwAAAAAAAJqnAACcpwAAAAAAAJ2nAAAAAAAAnacAAJynAAAAAAAAnKcAAJ6nAAAAAAAAn6cAAAAAAACfpwAAnqcAAAAAAACepwAAoKcAAAAAAAChpwAAAAAAAKGnAACgpwAAAAAAAKCnAACipwAAAAAAAKOnAAAAAAAAo6cAAKKnAAAAAAAAoqcAAKSnAAAAAAAApacAAAAAAAClpwAApKcAAAAAAACkpwAApqcAAAAAAACnpwAAAAAAAKenAACmpwAAAAAAAKanAACopwAAAAAAAKmnAAAAAAAAqacAAKinAAAAAAAAqKcAAKqnAAAAAAAAZgIAAAAAAACrpwAAAAAAAFwCAAAAAAAArKcAAAAAAABhAgAAAAAAAK2nAAAAAAAAbAIAAAAAAACupwAAAAAAAGoCAAAAAAAAsKcAAAAAAACeAgAAAAAAALGnAAAAAAAAhwIAAAAAAACypwAAAAAAAJ0CAAAAAAAAs6cAAAAAAABTqwAAAAAAALSnAAAAAAAAtacAAAAAAAC1pwAAtKcAAAAAAAC0pwAAtqcAAAAAAAC3pwAAAAAAALenAAC2pwAAAAAAALanAAC4pwAAAAAAALmnAAAAAAAAuacAALinAAAAAAAAuKcAAFOrAACzpwAAAAAAALOnAABwqwAAoBMAAAAAAACgEwAAcasAAKETAAAAAAAAoRMAAHKrAACiEwAAAAAAAKITAABzqwAAoxMAAAAAAACjEwAAdKsAAKQTAAAAAAAApBMAAHWrAAClEwAAAAAAAKUTAAB2qwAAphMAAAAAAACmEwAAd6sAAKcTAAAAAAAApxMAAHirAACoEwAAAAAAAKgTAAB5qwAAqRMAAAAAAACpEwAAeqsAAKoTAAAAAAAAqhMAAHurAACrEwAAAAAAAKsTAAB8qwAArBMAAAAAAACsEwAAfasAAK0TAAAAAAAArRMAAH6rAACuEwAAAAAAAK4TAAB/qwAArxMAAAAAAACvEwAAgKsAALATAAAAAAAAsBMAAIGrAACxEwAAAAAAALETAACCqwAAshMAAAAAAACyEwAAg6sAALMTAAAAAAAAsxMAAISrAAC0EwAAAAAAALQTAACFqwAAtRMAAAAAAAC1EwAAhqsAALYTAAAAAAAAthMAAIerAAC3EwAAAAAAALcTAACIqwAAuBMAAAAAAAC4EwAAiasAALkTAAAAAAAAuRMAAIqrAAC6EwAAAAAAALoTAACLqwAAuxMAAAAAAAC7EwAAjKsAALwTAAAAAAAAvBMAAI2rAAC9EwAAAAAAAL0TAACOqwAAvhMAAAAAAAC+EwAAj6sAAL8TAAAAAAAAvxMAAJCrAADAEwAAAAAAAMATAACRqwAAwRMAAAAAAADBEwAAkqsAAMITAAAAAAAAwhMAAJOrAADDEwAAAAAAAMMTAACUqwAAxBMAAAAAAADEEwAAlasAAMUTAAAAAAAAxRMAAJarAADGEwAAAAAAAMYTAACXqwAAxxMAAAAAAADHEwAAmKsAAMgTAAAAAAAAyBMAAJmrAADJEwAAAAAAAMkTAACaqwAAyhMAAAAAAADKEwAAm6sAAMsTAAAAAAAAyxMAAJyrAADMEwAAAAAAAMwTAACdqwAAzRMAAAAAAADNEwAAnqsAAM4TAAAAAAAAzhMAAJ+rAADPEwAAAAAAAM8TAACgqwAA0BMAAAAAAADQEwAAoasAANETAAAAAAAA0RMAAKKrAADSEwAAAAAAANITAACjqwAA0xMAAAAAAADTEwAApKsAANQTAAAAAAAA1BMAAKWrAADVEwAAAAAAANUTAACmqwAA1hMAAAAAAADWEwAAp6sAANcTAAAAAAAA1xMAAKirAADYEwAAAAAAANgTAACpqwAA2RMAAAAAAADZEwAAqqsAANoTAAAAAAAA2hMAAKurAADbEwAAAAAAANsTAACsqwAA3BMAAAAAAADcEwAArasAAN0TAAAAAAAA3RMAAK6rAADeEwAAAAAAAN4TAACvqwAA3xMAAAAAAADfEwAAsKsAAOATAAAAAAAA4BMAALGrAADhEwAAAAAAAOETAACyqwAA4hMAAAAAAADiEwAAs6sAAOMTAAAAAAAA4xMAALSrAADkEwAAAAAAAOQTAAC1qwAA5RMAAAAAAADlEwAAtqsAAOYTAAAAAAAA5hMAALerAADnEwAAAAAAAOcTAAC4qwAA6BMAAAAAAADoEwAAuasAAOkTAAAAAAAA6RMAALqrAADqEwAAAAAAAOoTAAC7qwAA6xMAAAAAAADrEwAAvKsAAOwTAAAAAAAA7BMAAL2rAADtEwAAAAAAAO0TAAC+qwAA7hMAAAAAAADuEwAAv6sAAO8TAAAAAAAA7xMAACH/AAAAAAAAQf8AAAAAAAAi/wAAAAAAAEL/AAAAAAAAI/8AAAAAAABD/wAAAAAAACT/AAAAAAAARP8AAAAAAAAl/wAAAAAAAEX/AAAAAAAAJv8AAAAAAABG/wAAAAAAACf/AAAAAAAAR/8AAAAAAAAo/wAAAAAAAEj/AAAAAAAAKf8AAAAAAABJ/wAAAAAAACr/AAAAAAAASv8AAAAAAAAr/wAAAAAAAEv/AAAAAAAALP8AAAAAAABM/wAAAAAAAC3/AAAAAAAATf8AAAAAAAAu/wAAAAAAAE7/AAAAAAAAL/8AAAAAAABP/wAAAAAAADD/AAAAAAAAUP8AAAAAAAAx/wAAAAAAAFH/AAAAAAAAMv8AAAAAAABS/wAAAAAAADP/AAAAAAAAU/8AAAAAAAA0/wAAAAAAAFT/AAAAAAAANf8AAAAAAABV/wAAAAAAADb/AAAAAAAAVv8AAAAAAAA3/wAAAAAAAFf/AAAAAAAAOP8AAAAAAABY/wAAAAAAADn/AAAAAAAAWf8AAAAAAAA6/wAAAAAAAFr/AAAAAAAAQf8AACH/AAAAAAAAIf8AAEL/AAAi/wAAAAAAACL/AABD/wAAI/8AAAAAAAAj/wAARP8AACT/AAAAAAAAJP8AAEX/AAAl/wAAAAAAACX/AABG/wAAJv8AAAAAAAAm/wAAR/8AACf/AAAAAAAAJ/8AAEj/AAAo/wAAAAAAACj/AABJ/wAAKf8AAAAAAAAp/wAASv8AACr/AAAAAAAAKv8AAEv/AAAr/wAAAAAAACv/AABM/wAALP8AAAAAAAAs/wAATf8AAC3/AAAAAAAALf8AAE7/AAAu/wAAAAAAAC7/AABP/wAAL/8AAAAAAAAv/wAAUP8AADD/AAAAAAAAMP8AAFH/AAAx/wAAAAAAADH/AABS/wAAMv8AAAAAAAAy/wAAU/8AADP/AAAAAAAAM/8AAFT/AAA0/wAAAAAAADT/AABV/wAANf8AAAAAAAA1/wAAVv8AADb/AAAAAAAANv8AAFf/AAA3/wAAAAAAADf/AABY/wAAOP8AAAAAAAA4/wAAWf8AADn/AAAAAAAAOf8AAFr/AAA6/wAAAAAAADr/AAAABAEAAAAAACgEAQAAAAAAAQQBAAAAAAApBAEAAAAAAAIEAQAAAAAAKgQBAAAAAAADBAEAAAAAACsEAQAAAAAABAQBAAAAAAAsBAEAAAAAAAUEAQAAAAAALQQBAAAAAAAGBAEAAAAAAC4EAQAAAAAABwQBAAAAAAAvBAEAAAAAAAgEAQAAAAAAMAQBAAAAAAAJBAEAAAAAADEEAQAAAAAACgQBAAAAAAAyBAEAAAAAAAsEAQAAAAAAMwQBAAAAAAAMBAEAAAAAADQEAQAAAAAADQQBAAAAAAA1BAEAAAAAAA4EAQAAAAAANgQBAAAAAAAPBAEAAAAAADcEAQAAAAAAEAQBAAAAAAA4BAEAAAAAABEEAQAAAAAAOQQBAAAAAAASBAEAAAAAADoEAQAAAAAAEwQBAAAAAAA7BAEAAAAAABQEAQAAAAAAPAQBAAAAAAAVBAEAAAAAAD0EAQAAAAAAFgQBAAAAAAA+BAEAAAAAABcEAQAAAAAAPwQBAAAAAAAYBAEAAAAAAEAEAQAAAAAAGQQBAAAAAABBBAEAAAAAABoEAQAAAAAAQgQBAAAAAAAbBAEAAAAAAEMEAQAAAAAAHAQBAAAAAABEBAEAAAAAAB0EAQAAAAAARQQBAAAAAAAeBAEAAAAAAEYEAQAAAAAAHwQBAAAAAABHBAEAAAAAACAEAQAAAAAASAQBAAAAAAAhBAEAAAAAAEkEAQAAAAAAIgQBAAAAAABKBAEAAAAAACMEAQAAAAAASwQBAAAAAAAkBAEAAAAAAEwEAQAAAAAAJQQBAAAAAABNBAEAAAAAACYEAQAAAAAATgQBAAAAAAAnBAEAAAAAAE8EAQAAAAAAKAQBAAAEAQAAAAAAAAQBACkEAQABBAEAAAAAAAEEAQAqBAEAAgQBAAAAAAACBAEAKwQBAAMEAQAAAAAAAwQBACwEAQAEBAEAAAAAAAQEAQAtBAEABQQBAAAAAAAFBAEALgQBAAYEAQAAAAAABgQBAC8EAQAHBAEAAAAAAAcEAQAwBAEACAQBAAAAAAAIBAEAMQQBAAkEAQAAAAAACQQBADIEAQAKBAEAAAAAAAoEAQAzBAEACwQBAAAAAAALBAEANAQBAAwEAQAAAAAADAQBADUEAQANBAEAAAAAAA0EAQA2BAEADgQBAAAAAAAOBAEANwQBAA8EAQAAAAAADwQBADgEAQAQBAEAAAAAABAEAQA5BAEAEQQBAAAAAAARBAEAOgQBABIEAQAAAAAAEgQBADsEAQATBAEAAAAAABMEAQA8BAEAFAQBAAAAAAAUBAEAPQQBABUEAQAAAAAAFQQBAD4EAQAWBAEAAAAAABYEAQA/BAEAFwQBAAAAAAAXBAEAQAQBABgEAQAAAAAAGAQBAEEEAQAZBAEAAAAAABkEAQBCBAEAGgQBAAAAAAAaBAEAQwQBABsEAQAAAAAAGwQBAEQEAQAcBAEAAAAAABwEAQBFBAEAHQQBAAAAAAAdBAEARgQBAB4EAQAAAAAAHgQBAEcEAQAfBAEAAAAAAB8EAQBIBAEAIAQBAAAAAAAgBAEASQQBACEEAQAAAAAAIQQBAEoEAQAiBAEAAAAAACIEAQBLBAEAIwQBAAAAAAAjBAEATAQBACQEAQAAAAAAJAQBAE0EAQAlBAEAAAAAACUEAQBOBAEAJgQBAAAAAAAmBAEATwQBACcEAQAAAAAAJwQBALAEAQAAAAAA2AQBAAAAAACxBAEAAAAAANkEAQAAAAAAsgQBAAAAAADaBAEAAAAAALMEAQAAAAAA2wQBAAAAAAC0BAEAAAAAANwEAQAAAAAAtQQBAAAAAADdBAEAAAAAALYEAQAAAAAA3gQBAAAAAAC3BAEAAAAAAN8EAQAAAAAAuAQBAAAAAADgBAEAAAAAALkEAQAAAAAA4QQBAAAAAAC6BAEAAAAAAOIEAQAAAAAAuwQBAAAAAADjBAEAAAAAALwEAQAAAAAA5AQBAAAAAAC9BAEAAAAAAOUEAQAAAAAAvgQBAAAAAADmBAEAAAAAAL8EAQAAAAAA5wQBAAAAAADABAEAAAAAAOgEAQAAAAAAwQQBAAAAAADpBAEAAAAAAMIEAQAAAAAA6gQBAAAAAADDBAEAAAAAAOsEAQAAAAAAxAQBAAAAAADsBAEAAAAAAMUEAQAAAAAA7QQBAAAAAADGBAEAAAAAAO4EAQAAAAAAxwQBAAAAAADvBAEAAAAAAMgEAQAAAAAA8AQBAAAAAADJBAEAAAAAAPEEAQAAAAAAygQBAAAAAADyBAEAAAAAAMsEAQAAAAAA8wQBAAAAAADMBAEAAAAAAPQEAQAAAAAAzQQBAAAAAAD1BAEAAAAAAM4EAQAAAAAA9gQBAAAAAADPBAEAAAAAAPcEAQAAAAAA0AQBAAAAAAD4BAEAAAAAANEEAQAAAAAA+QQBAAAAAADSBAEAAAAAAPoEAQAAAAAA0wQBAAAAAAD7BAEAAAAAANgEAQCwBAEAAAAAALAEAQDZBAEAsQQBAAAAAACxBAEA2gQBALIEAQAAAAAAsgQBANsEAQCzBAEAAAAAALMEAQDcBAEAtAQBAAAAAAC0BAEA3QQBALUEAQAAAAAAtQQBAN4EAQC2BAEAAAAAALYEAQDfBAEAtwQBAAAAAAC3BAEA4AQBALgEAQAAAAAAuAQBAOEEAQC5BAEAAAAAALkEAQDiBAEAugQBAAAAAAC6BAEA4wQBALsEAQAAAAAAuwQBAOQEAQC8BAEAAAAAALwEAQDlBAEAvQQBAAAAAAC9BAEA5gQBAL4EAQAAAAAAvgQBAOcEAQC/BAEAAAAAAL8EAQDoBAEAwAQBAAAAAADABAEA6QQBAMEEAQAAAAAAwQQBAOoEAQDCBAEAAAAAAMIEAQDrBAEAwwQBAAAAAADDBAEA7AQBAMQEAQAAAAAAxAQBAO0EAQDFBAEAAAAAAMUEAQDuBAEAxgQBAAAAAADGBAEA7wQBAMcEAQAAAAAAxwQBAPAEAQDIBAEAAAAAAMgEAQDxBAEAyQQBAAAAAADJBAEA8gQBAMoEAQAAAAAAygQBAPMEAQDLBAEAAAAAAMsEAQD0BAEAzAQBAAAAAADMBAEA9QQBAM0EAQAAAAAAzQQBAPYEAQDOBAEAAAAAAM4EAQD3BAEAzwQBAAAAAADPBAEA+AQBANAEAQAAAAAA0AQBAPkEAQDRBAEAAAAAANEEAQD6BAEA0gQBAAAAAADSBAEA+wQBANMEAQAAAAAA0wQBAIAMAQAAAAAAwAwBAAAAAACBDAEAAAAAAMEMAQAAAAAAggwBAAAAAADCDAEAAAAAAIMMAQAAAAAAwwwBAAAAAACEDAEAAAAAAMQMAQAAAAAAhQwBAAAAAADFDAEAAAAAAIYMAQAAAAAAxgwBAAAAAACHDAEAAAAAAMcMAQAAAAAAiAwBAAAAAADIDAEAAAAAAIkMAQAAAAAAyQwBAAAAAACKDAEAAAAAAMoMAQAAAAAAiwwBAAAAAADLDAEAAAAAAIwMAQAAAAAAzAwBAAAAAACNDAEAAAAAAM0MAQAAAAAAjgwBAAAAAADODAEAAAAAAI8MAQAAAAAAzwwBAAAAAACQDAEAAAAAANAMAQAAAAAAkQwBAAAAAADRDAEAAAAAAJIMAQAAAAAA0gwBAAAAAACTDAEAAAAAANMMAQAAAAAAlAwBAAAAAADUDAEAAAAAAJUMAQAAAAAA1QwBAAAAAACWDAEAAAAAANYMAQAAAAAAlwwBAAAAAADXDAEAAAAAAJgMAQAAAAAA2AwBAAAAAACZDAEAAAAAANkMAQAAAAAAmgwBAAAAAADaDAEAAAAAAJsMAQAAAAAA2wwBAAAAAACcDAEAAAAAANwMAQAAAAAAnQwBAAAAAADdDAEAAAAAAJ4MAQAAAAAA3gwBAAAAAACfDAEAAAAAAN8MAQAAAAAAoAwBAAAAAADgDAEAAAAAAKEMAQAAAAAA4QwBAAAAAACiDAEAAAAAAOIMAQAAAAAAowwBAAAAAADjDAEAAAAAAKQMAQAAAAAA5AwBAAAAAAClDAEAAAAAAOUMAQAAAAAApgwBAAAAAADmDAEAAAAAAKcMAQAAAAAA5wwBAAAAAACoDAEAAAAAAOgMAQAAAAAAqQwBAAAAAADpDAEAAAAAAKoMAQAAAAAA6gwBAAAAAACrDAEAAAAAAOsMAQAAAAAArAwBAAAAAADsDAEAAAAAAK0MAQAAAAAA7QwBAAAAAACuDAEAAAAAAO4MAQAAAAAArwwBAAAAAADvDAEAAAAAALAMAQAAAAAA8AwBAAAAAACxDAEAAAAAAPEMAQAAAAAAsgwBAAAAAADyDAEAAAAAAMAMAQCADAEAAAAAAIAMAQDBDAEAgQwBAAAAAACBDAEAwgwBAIIMAQAAAAAAggwBAMMMAQCDDAEAAAAAAIMMAQDEDAEAhAwBAAAAAACEDAEAxQwBAIUMAQAAAAAAhQwBAMYMAQCGDAEAAAAAAIYMAQDHDAEAhwwBAAAAAACHDAEAyAwBAIgMAQAAAAAAiAwBAMkMAQCJDAEAAAAAAIkMAQDKDAEAigwBAAAAAACKDAEAywwBAIsMAQAAAAAAiwwBAMwMAQCMDAEAAAAAAIwMAQDNDAEAjQwBAAAAAACNDAEAzgwBAI4MAQAAAAAAjgwBAM8MAQCPDAEAAAAAAI8MAQDQDAEAkAwBAAAAAACQDAEA0QwBAJEMAQAAAAAAkQwBANIMAQCSDAEAAAAAAJIMAQDTDAEAkwwBAAAAAACTDAEA1AwBAJQMAQAAAAAAlAwBANUMAQCVDAEAAAAAAJUMAQDWDAEAlgwBAAAAAACWDAEA1wwBAJcMAQAAAAAAlwwBANgMAQCYDAEAAAAAAJgMAQDZDAEAmQwBAAAAAACZDAEA2gwBAJoMAQAAAAAAmgwBANsMAQCbDAEAAAAAAJsMAQDcDAEAnAwBAAAAAACcDAEA3QwBAJ0MAQAAAAAAnQwBAN4MAQCeDAEAAAAAAJ4MAQDfDAEAnwwBAAAAAACfDAEA4AwBAKAMAQAAAAAAoAwBAOEMAQChDAEAAAAAAKEMAQDiDAEAogwBAAAAAACiDAEA4wwBAKMMAQAAAAAAowwBAOQMAQCkDAEAAAAAAKQMAQDlDAEApQwBAAAAAAClDAEA5gwBAKYMAQAAAAAApgwBAOcMAQCnDAEAAAAAAKcMAQDoDAEAqAwBAAAAAACoDAEA6QwBAKkMAQAAAAAAqQwBAOoMAQCqDAEAAAAAAKoMAQDrDAEAqwwBAAAAAACrDAEA7AwBAKwMAQAAAAAArAwBAO0MAQCtDAEAAAAAAK0MAQDuDAEArgwBAAAAAACuDAEA7wwBAK8MAQAAAAAArwwBAPAMAQCwDAEAAAAAALAMAQDxDAEAsQwBAAAAAACxDAEA8gwBALIMAQAAAAAAsgwBAKAYAQAAAAAAwBgBAAAAAAChGAEAAAAAAMEYAQAAAAAAohgBAAAAAADCGAEAAAAAAKMYAQAAAAAAwxgBAAAAAACkGAEAAAAAAMQYAQAAAAAApRgBAAAAAADFGAEAAAAAAKYYAQAAAAAAxhgBAAAAAACnGAEAAAAAAMcYAQAAAAAAqBgBAAAAAADIGAEAAAAAAKkYAQAAAAAAyRgBAAAAAACqGAEAAAAAAMoYAQAAAAAAqxgBAAAAAADLGAEAAAAAAKwYAQAAAAAAzBgBAAAAAACtGAEAAAAAAM0YAQAAAAAArhgBAAAAAADOGAEAAAAAAK8YAQAAAAAAzxgBAAAAAACwGAEAAAAAANAYAQAAAAAAsRgBAAAAAADRGAEAAAAAALIYAQAAAAAA0hgBAAAAAACzGAEAAAAAANMYAQAAAAAAtBgBAAAAAADUGAEAAAAAALUYAQAAAAAA1RgBAAAAAAC2GAEAAAAAANYYAQAAAAAAtxgBAAAAAADXGAEAAAAAALgYAQAAAAAA2BgBAAAAAAC5GAEAAAAAANkYAQAAAAAAuhgBAAAAAADaGAEAAAAAALsYAQAAAAAA2xgBAAAAAAC8GAEAAAAAANwYAQAAAAAAvRgBAAAAAADdGAEAAAAAAL4YAQAAAAAA3hgBAAAAAAC/GAEAAAAAAN8YAQAAAAAAwBgBAKAYAQAAAAAAoBgBAMEYAQChGAEAAAAAAKEYAQDCGAEAohgBAAAAAACiGAEAwxgBAKMYAQAAAAAAoxgBAMQYAQCkGAEAAAAAAKQYAQDFGAEApRgBAAAAAAClGAEAxhgBAKYYAQAAAAAAphgBAMcYAQCnGAEAAAAAAKcYAQDIGAEAqBgBAAAAAACoGAEAyRgBAKkYAQAAAAAAqRgBAMoYAQCqGAEAAAAAAKoYAQDLGAEAqxgBAAAAAACrGAEAzBgBAKwYAQAAAAAArBgBAM0YAQCtGAEAAAAAAK0YAQDOGAEArhgBAAAAAACuGAEAzxgBAK8YAQAAAAAArxgBANAYAQCwGAEAAAAAALAYAQDRGAEAsRgBAAAAAACxGAEA0hgBALIYAQAAAAAAshgBANMYAQCzGAEAAAAAALMYAQDUGAEAtBgBAAAAAAC0GAEA1RgBALUYAQAAAAAAtRgBANYYAQC2GAEAAAAAALYYAQDXGAEAtxgBAAAAAAC3GAEA2BgBALgYAQAAAAAAuBgBANkYAQC5GAEAAAAAALkYAQDaGAEAuhgBAAAAAAC6GAEA2xgBALsYAQAAAAAAuxgBANwYAQC8GAEAAAAAALwYAQDdGAEAvRgBAAAAAAC9GAEA3hgBAL4YAQAAAAAAvhgBAN8YAQC/GAEAAAAAAL8YAQBAbgEAAAAAAGBuAQAAAAAAQW4BAAAAAABhbgEAAAAAAEJuAQAAAAAAYm4BAAAAAABDbgEAAAAAAGNuAQAAAAAARG4BAAAAAABkbgEAAAAAAEVuAQAAAAAAZW4BAAAAAABGbgEAAAAAAGZuAQAAAAAAR24BAAAAAABnbgEAAAAAAEhuAQAAAAAAaG4BAAAAAABJbgEAAAAAAGluAQAAAAAASm4BAAAAAABqbgEAAAAAAEtuAQAAAAAAa24BAAAAAABMbgEAAAAAAGxuAQAAAAAATW4BAAAAAABtbgEAAAAAAE5uAQAAAAAAbm4BAAAAAABPbgEAAAAAAG9uAQAAAAAAUG4BAAAAAABwbgEAAAAAAFFuAQAAAAAAcW4BAAAAAABSbgEAAAAAAHJuAQAAAAAAU24BAAAAAABzbgEAAAAAAFRuAQAAAAAAdG4BAAAAAABVbgEAAAAAAHVuAQAAAAAAVm4BAAAAAAB2bgEAAAAAAFduAQAAAAAAd24BAAAAAABYbgEAAAAAAHhuAQAAAAAAWW4BAAAAAAB5bgEAAAAAAFpuAQAAAAAAem4BAAAAAABbbgEAAAAAAHtuAQAAAAAAXG4BAAAAAAB8bgEAAAAAAF1uAQAAAAAAfW4BAAAAAABebgEAAAAAAH5uAQAAAAAAX24BAAAAAAB/bgEAAAAAAGBuAQBAbgEAAAAAAEBuAQBhbgEAQW4BAAAAAABBbgEAYm4BAEJuAQAAAAAAQm4BAGNuAQBDbgEAAAAAAENuAQBkbgEARG4BAAAAAABEbgEAZW4BAEVuAQAAAAAARW4BAGZuAQBGbgEAAAAAAEZuAQBnbgEAR24BAAAAAABHbgEAaG4BAEhuAQAAAAAASG4BAGluAQBJbgEAAAAAAEluAQBqbgEASm4BAAAAAABKbgEAa24BAEtuAQAAAAAAS24BAGxuAQBMbgEAAAAAAExuAQBtbgEATW4BAAAAAABNbgEAbm4BAE5uAQAAAAAATm4BAG9uAQBPbgEAAAAAAE9uAQBwbgEAUG4BAAAAAABQbgEAcW4BAFFuAQAAAAAAUW4BAHJuAQBSbgEAAAAAAFJuAQBzbgEAU24BAAAAAABTbgEAdG4BAFRuAQAAAAAAVG4BAHVuAQBVbgEAAAAAAFVuAQB2bgEAVm4BAAAAAABWbgEAd24BAFduAQAAAAAAV24BAHhuAQBYbgEAAAAAAFhuAQB5bgEAWW4BAAAAAABZbgEAem4BAFpuAQAAAAAAWm4BAHtuAQBbbgEAAAAAAFtuAQB8bgEAXG4BAAAAAABcbgEAfW4BAF1uAQAAAAAAXW4BAH5uAQBebgEAAAAAAF5uAQB/bgEAX24BAAAAAABfbgEAAOkBAAAAAAAi6QEAAAAAAAHpAQAAAAAAI+kBAAAAAAAC6QEAAAAAACTpAQAAAAAAA+kBAAAAAAAl6QEAAAAAAATpAQAAAAAAJukBAAAAAAAF6QEAAAAAACfpAQAAAAAABukBAAAAAAAo6QEAAAAAAAfpAQAAAAAAKekBAAAAAAAI6QEAAAAAACrpAQAAAAAACekBAAAAAAAr6QEAAAAAAArpAQAAAAAALOkBAAAAAAAL6QEAAAAAAC3pAQAAAAAADOkBAAAAAAAu6QEAAAAAAA3pAQAAAAAAL+kBAAAAAAAO6QEAAAAAADDpAQAAAAAAD+kBAAAAAAAx6QEAAAAAABDpAQAAAAAAMukBAAAAAAAR6QEAAAAAADPpAQAAAAAAEukBAAAAAAA06QEAAAAAABPpAQAAAAAANekBAAAAAAAU6QEAAAAAADbpAQAAAAAAFekBAAAAAAA36QEAAAAAABbpAQAAAAAAOOkBAAAAAAAX6QEAAAAAADnpAQAAAAAAGOkBAAAAAAA66QEAAAAAABnpAQAAAAAAO+kBAAAAAAAa6QEAAAAAADzpAQAAAAAAG+kBAAAAAAA96QEAAAAAABzpAQAAAAAAPukBAAAAAAAd6QEAAAAAAD/pAQAAAAAAHukBAAAAAABA6QEAAAAAAB/pAQAAAAAAQekBAAAAAAAg6QEAAAAAAELpAQAAAAAAIekBAAAAAABD6QEAAAAAACLpAQAA6QEAAAAAAADpAQAj6QEAAekBAAAAAAAB6QEAJOkBAALpAQAAAAAAAukBACXpAQAD6QEAAAAAAAPpAQAm6QEABOkBAAAAAAAE6QEAJ+kBAAXpAQAAAAAABekBACjpAQAG6QEAAAAAAAbpAQAp6QEAB+kBAAAAAAAH6QEAKukBAAjpAQAAAAAACOkBACvpAQAJ6QEAAAAAAAnpAQAs6QEACukBAAAAAAAK6QEALekBAAvpAQAAAAAAC+kBAC7pAQAM6QEAAAAAAAzpAQAv6QEADekBAAAAAAAN6QEAMOkBAA7pAQAAAAAADukBADHpAQAP6QEAAAAAAA/pAQAy6QEAEOkBAAAAAAAQ6QEAM+kBABHpAQAAAAAAEekBADTpAQAS6QEAAAAAABLpAQA16QEAE+kBAAAAAAAT6QEANukBABTpAQAAAAAAFOkBADfpAQAV6QEAAAAAABXpAQA46QEAFukBAAAAAAAW6QEAOekBABfpAQAAAAAAF+kBADrpAQAY6QEAAAAAABjpAQA76QEAGekBAAAAAAAZ6QEAPOkBABrpAQAAAAAAGukBAD3pAQAb6QEAAAAAABvpAQA+6QEAHOkBAAAAAAAc6QEAP+kBAB3pAQAAAAAAHekBAEDpAQAe6QEAAAAAAB7pAQBB6QEAH+kBAAAAAAAf6QEAQukBACDpAQAAAAAAIOkBAEPpAQAh6QEAAAAAACHpAQ=="),C(
2810o,45536,"HhYWFhgWFhYXExYaFhIWFg4ODg4ODg4ODg4WFhoaGhYWCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoXFhMZERkGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBhcaExo="),C(o
vendor: 47,685 bytes, line 2810
2810,45664,"HhYYGBgYGxYZGwgVGgEbGRsaEBAZBhYWGRAIFBAQEBYKCgoKCgoKCgoKCgoKCgoKCgoKCgoKChoKCgoKCgoKBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGGgYGBgYGBgYGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYGCgYKBgoGCgYKBgoGCgYKBgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgoGCgYKBgYGCgoGCgYKCgYKCgoGBgoKCgoGCgoGCgoKBgYGCgoGCgoGCgYKBgoKBgoGBgoGCgoGCgoKBgoGCgoGBggKBgYGCAgICAoJBgoJBgoJBgoGCgYKBgoGCgYKBgoGCgYGCgYKBgoGCgYKBgoGCgYKBgoGBgoJBgoGCgoKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYGBgYGBgYKCgYKCgYGCgYKCgoKBgoGCgYKBgoGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYIBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBwcHBwcHBwcHBwcHBwcHBwcHGRkZGQcHBwcHBwcHBwcHBxkZGRkZGRkZGRkZGRkZBwcHBwcZGRkZGRkZBxkHGRkZGRkZGRkZGRkZGRkZGRkNDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NCgYKBgcZCgYCAgcGBgYWCgICAgIZGQoWCgoKAgoCCgoGCgoKCgoKCgoKCgoKCgoKCgoCCgoKCgoKCgoKBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYKBgYKCgoGBgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYGBgYGCgYaCgYKCgYGCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBhsNDQ0NDQwMCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgoGCgYKBgoGCgYKBgoGBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgIKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgICBxYWFhYWFgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGFhICAhsbGAINDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0SDRYNDRYNDRYNAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICCAgICBYWAgICAgICAgICAgIBAQEBAQEaGhoWFhgWFhsbDQ0NDQ0NDQ0NDQ0WAQIWFggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBwgICAgICAgICAgNDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0ODg4ODg4ODg4OFhYWFggIDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYIDQ0NDQ0NDQEbDQ0NDQ0NBwcNDRsNDQ0NCAgODg4ODg4ODg4OCAgIGxsIFhYWFhYWFhYWFhYWFhYCAQgNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0NDQ0NDQ0NDQ0NCAICAgICAgICAgICAgICDg4ODg4ODg4ODggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0NDQ0NDQ0NDQcHGxYWFgcCAg0YGAgICAgICAgICAgICAgICAgICAgICAgNDQ0NBw0NDQ0NDQ0NDQcNDQ0HDQ0NDQ0CAhYWFhYWFhYWFhYWFhYWFgIICAgICAgICAgICAgICAgICAgICAgICAgIDQ0NAgIWAggICAgICAgICAgIAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgCCAgICAgICAgCAgICAgICAgICAgICAgICAgICAgINDQ0NDQ0NDQ0NDQ0NDQ0BDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQsNCAsLCw0NDQ0NDQ0NCwsLCw0LCwgNDQ0NDQ0NCAgICAgICAgICA0NFhYODg4ODg4ODg4OFgcICAgICAgICAgICAgICAgNCwsCCAgICAgICAgCAggIAgIICAgICAgICAgICAgICAgICAgICAgIAggICAgICAgCCAICAggICAgCAg0ICwsLDQ0NDQICCwsCAgsLDQgCAgICAgICAgsCAgICCAgCCAgIDQ0CAg4ODg4ODg4ODg4ICBgYEBAQEBAQGxgIFg0CAg0NCwIICAgICAgCAgICCAgCAggICAgICAgICAgICAgICAgICAgICAgCCAgICAgICAIICAIICAIICAICDQILCwsNDQICAgINDQICDQ0NAgICDQICAgICAgIICAgIAggCAgICAgICDg4ODg4ODg4ODg0NCAgIDRYCAgICAgICAgICDQ0LAggICAgICAgICAIICAgCCAgICAgICAgICAgICAgICAgICAgICAIICAgICAgIAggIAggICAgIAgINCAsLCw0NDQ0NAg0NCwILCw0CAggCAgICAgICAgICAgICAgIICA0NAgIODg4ODg4ODg4OFhgCAgICAgICCA0NDQ0NDQINCwsCCAgICAgICAgCAggIAgIICAgICAgICAgICAgICAgICAgICAgIAggICAgICAgCCAgCCAgICAgCAg0ICw0LDQ0NDQICCwsCAgsLDQICAgICAgICDQsCAgICCAgCCAgIDQ0CAg4ODg4ODg4ODg4bCBAQEBAQEAICAgICAgICAgINCAIICAgICAgCAgIICAgCCAgICAICAggIAggCCAgCAgIICAICAggICAICAggICAgICAgICAgICAICAgILCw0LCwICAgsLCwILCwsNAgIIAgICAgICCwICAgICAgICAgICAgICDg4ODg4ODg4ODhAQEBsbGxsbGxgbAgICAgINCwsLDQgICAgICAgIAggICAIICAgICAgICAgICAgICAgICAgICAgICAIICAgICAgICAgICAgICAgIAgICCA0NDQsLCwsCDQ0NAg0NDQ0CAgICAgICDQ0CCAgIAgICAgIICA0NAgIODg4ODg4ODg4OAgICAgICAgIQEBAQEBAQGwgNCwsWCAgICAgICAgCCAgIAggICAgICAgICAgICAgICAgICAgICAgIAggICAgICAgICAgCCAgICAgCAg0ICw0LCwsLCwINCwsCCwsNDQICAgICAgILCwICAgICAgIIAggIDQ0CAg4ODg4ODg4ODg4CCAgCAgICAgICAgICAgICDQ0LCwIICAgICAgICAIICAgCCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDQgLCwsNDQ0NAgsLCwILCwsNCBsCAgICCAgICxAQEBAQEBAICAgNDQICDg4ODg4ODg4ODhAQEBAQEBAQEBsICAgICAgCAgsLAggICAgICAgICAgICAgICAgICAICAggICAgICAgICAgICAgICAgICAgICAgICAIICAgICAgICAgCCAICCAgICAgICAICAg0CAgICCwsLDQ0NAg0CCwsLCwsLCwsCAgICAgIODg4ODg4ODg4OAgILCxYCAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNCAgNDQ0NDQ0NAgICAhgICAgICAgHDQ0NDQ0NDQ0WDg4ODg4ODg4ODhYWAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAggIAggCAggIAggCAggCAgICAgIICAgIAggICAgICAgCCAgIAggCCAICCAgCCAgICA0ICA0NDQ0NDQINDQgCAggICAgIAgcCDQ0NDQ0NAgIODg4ODg4ODg4OAgIICAgIAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIIGxsbFhYWFhYWFhYWFhYWFhYWGxYbGxsNDRsbGxsbGw4ODg4ODg4ODg4QEBAQEBAQEBAQGw0bDRsNFxMXEwsLCAgICAgICAgCCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAg0NDQ0NDQ0NDQ0NDQ0NCw0NDQ0NFg0NCAgICAgNDQ0NDQ0NDQ0NDQINDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0CGxsbGxsbGxsNGxsbGxsbAhsbFhYWFhYbGxsbFhYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsLDQ0NDQsNDQ0NDQ0LDQ0LCw0NCA4ODg4ODg4ODg4WFhYWFhYICAgICAgLCw0NCAgICA0NDQgLCwsICAsLCwsLCwsICAgNDQ0NCAgICAgICAgICAgICA0LCw0NCwsLCwsLDQgLDg4ODg4ODg4ODgsLCw0bGwoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKAgoCAgICAgoCAgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYWBwYGBggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAggICAgCAggICAgICAgCCAIICAgIAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAIICAgIAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCCAgICAICCAgICAgICAIIAggICAgCAggICAgICAgICAgICAgICAIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCCAgICAICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICDQ0NFhYWFhYWFhYWEBAQEBAQEBAQEBAQEBAQEBAQEBACAgIICAgICAgICAgICAgICAgIGxsbGxsbGxsbGwICAgICAgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKAgIGBgYGBgYCAhIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhYICAgICAgICAgICAgICAgICB4ICAgICAgICAgICAgICAgICAgICAgICAgICBcTAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhYWDw8PCAgICAgICAgCAgICAgICCAgICAgICAgICAgICAIICAgIDQ0NAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgNDQ0WFgICAgICAgICAggICAgICAgICAgICAgICAgICA0NAgICAgICAgICAgICCAgICAgICAgICAgICAIICAgCDQ0CAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ0LDQ0NDQ0NDQsLCwsLCwsLDQsLDQ0NDQ0NDQ0NDQ0WFhYHFhYWGAgNAgIODg4ODg4ODg4OAgICAgICEBAQEBAQEBAQEAICAgICAhYWFhYWFhIWFhYWDQ0NAQIODg4ODg4ODg4OAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgHCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAgICCAgICAgNDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNCAICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAg0NDQsLCwsNDQsLCwICAgILCw0LCwsLCwsNDQ0CAgICGwICAhYWDg4ODg4ODg4ODggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICCAgICAgCAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAggICAgICAgICAgICAgICAgICAgICAgICAgIAgICAgICDg4ODg4ODg4ODhACAgIbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbCAgICAgICAgICAgICAgICAgICAgICAgNDQsLDQICFhYICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsNCw0NDQ0NDQ0CDQsNCwsNDQ0NDQ0NDQsLCwsLCw0NDQ0NDQ0NDQ0CAg0ODg4ODg4ODg4OAgICAgICDg4ODg4ODg4ODgICAgICAhYWFhYWFhYHFhYWFhYWAgINDQ0NDQ0NDQ0NDQ0NDQwCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0NDQ0LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNCw0NDQ0NCw0LCwsLCw0LCwgICAgICAgCAgICDg4ODg4ODg4ODhYWFhYWFhYbGxsbGxsbGxsbDQ0NDQ0NDQ0NGxsbGxsbGxsbAgICDQ0LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICw0NDQ0LCw0NCw0NDQgIDg4ODg4ODg4ODggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQsNDQsLCw0LDQ0NCwsCAgICAgICAhYWFhYICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCwsLCwsLCw0NDQ0NDQ0NCwsNDQICAhYWFhYWDg4ODg4ODg4ODgICAggICA4ODg4ODg4ODg4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgHBwcHBwcWFgYGBgYGBgYGBgICAgICAgIKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKAgIKCgoWFhYWFhYWFgICAgICAgICDQ0NFg0NDQ0NDQ0NDQ0NDQ0LDQ0NDQ0NDQgICAgNCAgICAsLDQgICw0NAgICAgICBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcGBgYGBgYGBgYGBgYGBwYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQINDQ0NDQoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgYGBgYGBgYGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYGBgYGBgYGBgoKCgoKCgoKBgYGBgYGAgIKCgoKCgoCAgYGBgYGBgYGCgoKCgoKCgoGBgYGBgYGBgoKCgoKCgoKBgYGBgYGAgIKCgoKCgoCAgYGBgYGBgYGAgoCCgIKAgoGBgYGBgYGBgoKCgoKCgoKBgYGBgYGBgYGBgYGBgYCAgYGBgYGBgYGCQkJCQkJCQkGBgYGBgYGBgkJCQkJCQkJBgYGBgYGBgYJCQkJCQkJCQYGBgYGAgYGCgoKCgkZBhkZGQYGBgIGBgoKCgoJGRkZBgYGBgICBgYKCgoKAhkZGQYGBgYGBgYGCgoKCgoZGRkCAgYGBgIGBgoKCgoJGRkCHh4eHh4eHh4eHh4BAQEBARISEhISEhYWFRQXFRUUFxUWFhYWFhYWFhwdAQEBAQEeFhYWFhYWFhYWFRQWFhYWEREWFhYaFxMWFhYWFhYWFhYWFhoWERYWFhYWFhYWFhYeAQEBAQECAQEBAQEBAQEBARAHAgIQEBAQEBAaGhoXEwcQEBAQEBAQEBAQGhoaFxMCBwcHBwcHBwcHBwcHBwICAhgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYAgICAgICAgICAgICAgICAg0NDQ0NDQ0NDQ0NDQ0MDAwMDQwMDA0NDQ0NDQ0NDQ0NDQICAgICAgICAgICAgICAhsbChsbGxsKGxsGCgoKBgYKCgoGGwobGxoKCgoKChsbGxsbGwobChsKGwoKCgobBgoKCgoGCAgICAYbGwYGCgoaGhoaGgoGBgYGGxobGwYbEBAQEBAQEBAQEBAQEBAQEA8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PCgYPDw8PEBsbAgICAhoaGhoaGxsbGxsaGhsbGxsaGxsaGxsaGxsbGxsbGxobGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGhobGxobGhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGxsbGxsbGxsXExcTGxsbGxsbGxsbGxsbGxsbGxsbGxsaGhsbGxsbGxsXExsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxobGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxoaGhoaGhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwICAgICAgICAgICAgICAgICAgICAgICAgIbGxsbGxsbGxsbGwICAgICAgICAgICAgICAgICAgICAhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxAQEBAQEBAQEBAQEBAQEBAQEBAQEBAbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsaGxsbGxsbGxsbGhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxoaGhoaGhoaGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbFxMXExcTFxMXExcTFxMQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxoaGhoaFxMaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaFxMXExcTFxMXExoaGhoaGhoaGhoaGhoaGhobGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoXExcTFxMXExcTFxMXExcTFxMXExcTGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaFxMXExoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaFxMaGhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxoaGhoaGhoaGhoaGhoaGhoaGhoaGhsbGhoaGhoaGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbAgIbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwICGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwIbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwIKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgIGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgIKBgoKCgYGCgYKBgoGCgoKCgYKBgYKBgYGBgYGBwcKCgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYGGxsbGxsbCgYKBg0NDQoGAgICAgIWFhYWEBYWBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYCBgICAgICBgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAgICBxYCAgICAgICAgICAgICAg0ICAgICAgICAgICAgICAgICAgICAgICAICAgICAgICAggICAgICAgCCAgICAgICAIICAgICAgIAggICAgICAgCCAgICAgICAIICAgICAgIAggICAgICAgCCAgICAgICAINDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDRYWFRQVFBYWFhUUFhUUFhYWFhYWFhYWEhYWEhYVFBYWFRQXExcTFxMXExYWFhYWBxYWFhYWFhYWFhYSEhYWFhYSFhcWFhYWFhYWFhYWFhYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsCGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsCAgICAgICAgICAgIbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbAgICAgICAgICAgICAgICAgICAgICAgICAgIbGxsbGxsbGxsbGxsCAgICHhYWFhsHCA8XExcTFxMXExcTGxsXExcTFxMXExIXExMbDw8PDw8PDw8PDQ0NDQsLEgcHBwcHGxsPDw8HCBYbGwIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICDQ0ZGQcHCBIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWBwcHCAICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAhsbEBAQEBsbGxsbGxsbGxsICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwICAgICAgICAgICAggICAgICAgICAgICAgICAgbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbAhAQEBAQEBAQEBAbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsQEBAQEBAQEBsQEBAQEBAQEBAQEBAQEBAbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxAQEBAQEBAQEBAbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsQEBAQEBAQEBAQEBAQEBAbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsCCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAgICAgICGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICAgICAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgHCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgHBwcHBwcWFggICAgICAgICAgICAcWFhYICAgICAgICAgICAgICAgIDg4ODg4ODg4ODggIAgICAgICAgICAgICAgICAgICAgIKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCA0MDAwWDQ0NDQ0NDQ0NDRYHCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgcHDQ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw8PDw8PDw8PDw0NFhYWFhYWAgICAgICAgIZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQcHBwcHBwcHBxkZCgYKBgoGCgYKBgoGCgYGBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGBwYGBgYGBgYGCgYKBgoKBgoGCgYKBgoGBxkZCgYKBggKBgoGBgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoKCgoKBgoKCgoKBgoGCgYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAcHBggICAgICAgNCAgIDQgICAgNCAgICAgICAgICAgICAgICAgICAgICAgLCw0NCxsbGxsCAgICEBAQEBAQGxsYGwICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWFhYWAgICAgICAgILCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwsLCwsLCwsLCwsLCwsLCw0NAgICAgICAgIWFg4ODg4ODg4ODg4CAgICAgINDQ0NDQ0NDQ0NDQ0NDQ0NDQ0ICAgICAgWFhYIFggIDQ4ODg4ODg4ODg4ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ0NDQ0NDQ0WFggICAgICAgICAgICAgICAgICAgICAgIDQ0NDQ0NDQ0NDQ0LCwICAgICAgICAgICFggICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICDQ0NCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQsLDQ0NDQsLDQsLCwsWFhYWFhYWFhYWFhYWAgcODg4ODg4ODg4OAgICAhYWCAgICAgNBwgICAgICAgICA4ODg4ODg4ODg4ICAgICAIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0NDQ0NDQsLDQ0LCw0NAgICAgICAgICCAgIDQgICAgICAgIDQsCAg4ODg4ODg4ODg4CAhYWFhYICAgICAgICAgICAgICAgIBwgICAgICBsbGwgLDQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0IDQ0NCAgNDQgICAgIDQ0IDQgCAgICAgICAgICAgICAgICAgICAgICAgIICAcWFggICAgICAgICAgICw0NCwsWFggHBwsNAgICAgICAgICAggICAgICAICCAgICAgIAgIICAgICAgCAgICAgICAgIICAgICAgIAggICAgICAgCBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBhkHBwcHBgYGBgYGAgICAgICAgICAgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCw0LCw0LCxYLDQICDg4ODg4ODg4ODgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgCAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGBgYGBgYCAgICAgICAgICAgIGBgYGBgICAgICCA0ICAgICAgICAgIGggICAgICAgICAgICAgCCAgICAgCCAIICAIICAIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGRkZGRkZGRkZGRkZGRkZAgICAgICAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMXAgICAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIICAgICAgICAgICAgYGwICDQ0NDQ0NDQ0NDQ0NDQ0NDRYWFhYWFhYXExYCAgICAgINDQ0NDQ0NDQ0NDQ0NDQ0NFhISEREXExcTFxMXExcTFxMXExcTFhYXExYWFhYREREWFhYCFhYWFhIXExcTFxMWFhYaEhoaGgIWGBYWAgICAggICAgIAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICAQIWFhYYFhYWFxMWGhYSFhYODg4ODg4ODg4OFhYaGhoWFgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKFxYTGREZBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYXGhMaFxMWFxMWFggICAgICAgICAgHCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBwcICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICCAgICAgIAgIICAgICAgCAggICAgICAICCAgIAgICGBgaGRsYGAIbGhoaGhsbAgICAgICAgICAgEBARsbAgIICAgICAgICAgICAgCCAgICAgICAgICAgICAgICAgICAgICAgICAgCCAgICAgICAgICAgICAgICAgICAIICAIICAgICAgICAgICAgICAgCAggICAgICAgICAgICAgIAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICAgICFhYWAgICAhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAICAhsbGxsbGxsbGw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PEBAQEBsbGxsbGxsbGxsbGxsbGxsbEBAbGxsCGxsbGxsbGxsbGxsbAgICAhsCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGw0CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAgICAgICAgICAgICDRAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAQEBACAgICAgICAgIICAgICAgICAgICAgICAgICAgICA8ICAgICAgICA8CAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ0NDQ0CAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAIWCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAggICAgICAgIFg8PDw8PAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAg4ODg4ODg4ODg4CAgICAgIKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoCAgICBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAgICAgICAhYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAICAgICAgICAgIICAgICAgICAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAgICAgIAgIIAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAggIAgICCAICCAgICAgICAgICAgICAgICAgICAgICAgCFhAQEBAQEBAQCAgICAgICAgICAgICAgICAgICAgICAgbGxAQEBAQEBAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAgICAgIQEBAQEBAQEBACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgIAggIAgICAgIQEBAQEAgICAgICAgICAgICAgICAgICAgICAgQEBAQEBACAgIWCAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAhYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICEBAICBAQEBAQEBAQEBAQEBAQEBACAhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAIDQ0NAg0NAgICAgINDQ0NCAgICAIICAgCCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAg0NDQICAgINEBAQEBAQEBAQAgICAgICAhYWFhYWFhYWFgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAQFggICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBAQAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIICAgICAgICBsICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ0CAgICEBAQEBAWFhYWFhYWAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICFhYWFhYWFggICAgICAgICAgICAgICAgICAgICAgCAhAQEBAQEBAQCAgICAgICAgICAgICAgICAgICAICAgICEBAQEBAQEBAICAgICAgICAgICAgICAgICAgCAgICAgICFhYWFgICAgICAgICAgICAhAQEBAQEBACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKAgICAgICAgICAgICAgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgICAgICAgIQEBAQEBAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDQ0NAgICAgICAgIODg4ODg4ODg4OAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBAQEBAQEBAQEAgCAgICAgICAggICAgICAgICAgICAgICAgICAgICAgNDQ0NDQ0NDQ0NDRAQEBAWFhYWFgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgILDQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0NDQ0NDQ0NDQ0NDQ0NDRYWFhYWFhYCAgICEBAQEBAQEBAQEBAQEBAQEBAQEBAODg4ODg4ODg4OAgICAgICAgICAgICAgICDQ0NCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsLCw0NDQ0LCw0NFhYBFhYWFgICAgICAgICAgICAQICCAgICAgICAgICAgICAgICAgICAgICAgICAICAgICAgIODg4ODg4ODg4OAgICAgICDQ0NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ0NDQ0LDQ0NDQ0NDQ0CDg4ODg4ODg4ODhYWFhYICwsCAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0WFggCAgICAgICAgINDQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCwsNDQ0NDQ0NDQ0LCwgICAgWFhYWDQ0NDRYCAg4ODg4ODg4ODg4IFggWFhYCEBAQEBAQEBAQEBAQEBAQEBAQEBACAgICAgICAgICAggICAgICAgICAgICAgICAgICAIICAgICAgICAgICAgICAgICAgICAgICAgICwsLDQ0NCwsNCw0NFhYWFhYWDQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAgICAgICAIIAggICAgCCAgICAgICAgICAgICAgIAggICAgICAgICAgWAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNCwsLDQ0NDQ0NDQ0CAgICAg4ODg4ODg4ODg4CAgICAgINDQsLAggICAgICAgIAgIICAICCAgICAgICAgICAgICAgICAgICAgICAIICAgICAgIAggIAggICAgIAg0NCAsLDQsLCwsCAgsLAgILCwsCAggCAgICAgILAgICAgIICAgICAsLAgINDQ0NDQ0NAgICDQ0NDQ0CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCwsNDQ0NDQ0NDQsLDQ0NCw0ICAgIFhYWFhYODg4ODg4ODg4OAhYCFg0CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCwsNDQ0NDQ0LDQsLCwsNDQsNDQgIFggCAgICAgICAg4ODg4ODg4ODg4CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCwsNDQ0NAgILCwsLDQ0LDQ0WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFggICAgNDQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCwsNDQ0NDQ0NDQsLDQsNDRYWFggCAgICAgICAgICAg4ODg4ODg4ODg4CAgICAgIWFhYWFhYWFhYWFhYWAgICAgICAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNCw0LCw0NDQ0NDQsNAgICAgICAgIODg4ODg4ODg4OAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgIAgINDQ0LCw0NDQ0LDQ0NDQ0CAgICDg4ODg4ODg4ODhAQFhYWGwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwsLDQ0NDQ0NDQ0NCw0NFgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGDg4ODg4ODg4ODhAQEBAQEBAQEAICAgICAgICAgICAggCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCA0NDQ0NDQ0NDQ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ0NDQ0NCwgNDQ0NFhYWFhYWFhYNAgICAgICAgIIDQ0NDQ0NCwsNDQ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgIICAgIDQ0NDQ0NDQ0NDQ0NDQsNDRYWFggWFhYWFgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAgICAggICAgICAgICAIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICw0NDQ0NDQ0CDQ0NDQ0NCw0IFhYWFhYCAgICAgICAgICDg4ODg4ODg4ODhAQEBAQEBAQEBAQEBAQEBAQEBACAgIWFggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQILDQ0NDQ0NDQsNDQsNDQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIICAgICAgIAggIAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ0NDQ0NAgICDQINDQINDQ0NDQ0NCA0CAgICAgICAg4ODg4ODg4ODg4CAgICAgIICAgICAgCCAgCCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCwsLCwINDQILCw0LDQgCAgICAgICDg4ODg4ODg4ODgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgIDQ0LCxYWAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIPDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8CFhYWFhYCAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCDg4ODg4ODg4ODgICAgIWFgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICDQ0NDQ0WAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0NDQ0NDQ0WFhYWFhsbGxsHBwcHFhsCAgICAgICAgICDg4ODg4ODg4ODgIQEBAQEBAQAggICAgICAgICAgICAgICAgICAgICAICAgICCAgICAgICAgICAgICAgICAgICAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFhYWFgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAgICAgICAgIICwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwICAgICAgICAgICAgICAgINDQ0NBwcHBwcHBwcHBwcHBwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICAgICCAgICAgICAgICAgICAICAggICAgICAgICAICAgICAgIICAgICAgICAgIAgIbDQ0WAQEBAQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbAgICAgICAgICAhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwICGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbCwsNDQ0bGxsLCwsLCwsBAQEBAQEBAQ0NDQ0NDQ0NGxsNDQ0NDQ0NGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbDQ0NDRsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbAgICAgICAgICAgICAgICAgICAgICAgIbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsNDQ0bAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhAQEBAQEBAQEBAQEBAQEBAQEBAQAgICAgICAgICAgICGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbAgICAgICAgICEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgYGBgYGBgYCBgYGBgYGBgYGBgYGBgYGBgYGCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgoCCgoCAgoCAgoKAgIKCgoKAgoKCgoKCgoKBgYGBgIGAgYGBgYGBgYCBgYGBgYGBgYGBgYKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGCgoCCgoKCgICCgoKCgoKCgoCCgoKCgoKCgIGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgoKAgoKCgoCCgoKCgoCCgICAgoKCgoKCgoCBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgICCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKChoGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGGgYGBgYGBgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoaBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBhoGBgYGBgYKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKGgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYaBgYGBgYGCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKChoGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGGgYGBgYGBgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoaBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBhoGBgYGBgYKBgICDg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NGxsbGw0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NGxsbGxsbGxsNGxsbGxsbGxsbGxsbGxsNGxsWFhYWFgICAgICAgICAgICAgICAg0NDQ0NAg0NDQ0NDQ0NDQ0NDQ0NDQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQ0NDQ0NDQINDQ0NDQ0NDQ0NDQ0NDQ0NDQICDQ0NDQ0NDQINDQINDQ0NDQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgIQEBAQEBAQEBANDQ0NDQ0NAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBg0NDQ0NDQ0CAgICAg4ODg4ODg4ODg4CAgICFhYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBsQEBAYEBAQEAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAggICAgCCAgICAgICAgICAgICAgICAgICAgICAgICAgIAggIAggCAggCCAgICAgICAgICAIICAgIAggCCAICAgICAggCAgICCAIIAggCCAgIAggIAggCAggCCAIIAggCCAIICAIIAgIICAgIAggICAgICAgCCAgICAIICAgIAggCCAgICAgICAgICAIICAgICAgICAgICAgICAgICAICAgICCAgIAggICAgIAggICAgICAgICAgICAgICAgIAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhoaAgICAgICAgICAgICAgIbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwICAgIbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbAgICAgICAgICAgICGxsbGxsbGxsbGxsbGxsbAgIbGxsbGxsbGxsbGxsbGxsCGxsbGxsbGxsbGxsbGxsbAhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsCAgICAgICAgICEBAQEBAQEBAQEBAQEAICAhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbAgICAhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwICAgICAgICAgICAgIbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwICAgIbGxsbGxsbGxsCAgICAgICGxsCAgICAgICAgICAgICAhsbGxsbGwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxkZGRkZGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbAgICAgICAgICAgIbGxsbGxsbGxsbGxsbAgICGxsbGxsbGxsbGwICAgICAhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbAgICAgICAgICAgICGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIbGxsbGxsbGxsbGxsCAgICGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsCAgICAgICAhsbGxsbGxsbGxsCAgICAgIbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbAgICAgICAgIbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICGxsbGxsbGxsbGxsbAgICAhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbAhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsCAhsbGxsCAgIbAhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwICAgICAgICAgICAgIbGxsbGxsbGxsbAgICAgICGxsbAgICAgICAgICAgICAhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhsbGxsbGxsbGxsbGxsbAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NAgICAgICAgICAgICAgICAoAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIA="),C(
2810o,81428,"ggAAAAAAAAIAAAAAAAAAAgAAAAAAAAAC"),C(o,81475,"AgAAAAAAACAAAAAAAAAAIA=="),C(o,81506,"IA=="),C(o,81522,"IAAAAAAAAAAg"),C(o,81618,"IA=="),C(o,81634,"IA=="),C(o,81650,"IAAAAAAAAAAg"),C(o,81682,"IAAAAAAAAAAgAAAAAAAAACAAAAAAAIAAAAAAAAAAgA=="),C(o,81728,"gAAAAAAAAACAAAAAAAAAAIA="),C(o,81760,"gAAAAAAAAACA"),C(o,81904,"gAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAAAU"),C(o,81961,"FAAAAAAAAAAU"),C(o,81985,"FAAAAAAAAAAE"),C(o,82009,"BAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABA="),C(o,82097,"EAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABA="),C(o,82169,"EAAAAAAAAAAQAAAAAAAAABAAAAAAAACA"),C(o,82224,"gAAAAAAAAACA"),C(o,82272,"gAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABA=="),C(o,82353,"BAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABA=="),C(o,82393,"BAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAQAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAABAAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABA=="),C(o,82625,"BAAAAAAAAAAE"),C(o,82649,"BAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAQAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABA=="),C(o,83033,"BAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABA=="),C(o,83097,"BAAAAAAAAAAE"),C(o,83121,"BAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAQAAAEAAAAAFAAAAQAAAAgEAAABAAAAAQQAAAAAAAACBAAAAAAAAAgEAAAAAAAAAAQAAAAAAAAABAAAAQAAAAgEAAAAAAAAAQQAAAAAAAAARAAAAAAAAAAEAAAAAAAAAAQA=="),C(o,83288,"QA=="),C(o,83303,"AkAAAAAAAAAQQAAAEAAAAIBAAAAAAAAACEA="),C(o,83352,"QAAAAAAAABBAAAAQAAAAgAAg"),C(o,83379,"gAAAAABAAACQggAAIEAAAJAAAAAAAAAAgAAAAABAAACQggAAIEAAAJCCAAAgAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAQAAAkIIAACBAAACQggAAIEAAAJCCAAAgQAAAkAAAAEBAAACQAAAAYEAAAJCCAABgQAAAkIIAACBAAACQggAAIEAAAJCCAAAgQAAAkIIAACBAAACQggAAIAAAAIAAAAAEAAAAAAAAAIAAAAAAAAAACAAAAAAAAAAEAAAAAAAAACAAAAAAAAAAQAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAAkAAAAAAAAAQQAAAEAAAAIBAAAAAAAAABEAAAAAAAAAIAAAAgIIAAAAAAACAgAAAAAAAAIAAAAAAAAAAgIYAAAAAAACAhgAAAAAAAICAAAAAAAAAgIAAAAAAAACAggAAAAAAAICAAAAAAAAAgIAAAAAAAACAgAAAAAAAAICAAAAAAAAAgJIAAACAAACAggAAAIAAAICCAAAAAAAAgIIAAAAAAACAggAAAIAAAICCAAAAAAAAgIIAAAAAAACAggAAAAAAAICAAAAAAAAAgIAAAAAAAACAggAAAAAAAICGAAAAAAAAgIIAAAAAAACAhgAAAAAAAICCAAAAAAAAgIIAAAAAAACAggAAAAAAAICCAAAAAAAAgIAAAAAAAACAggAAAAAAAICAAAAAAAAAgIIAAAAAAACAggAAAAAAAICCAAAAAAAAgIAAAAAAAACAggAAAAAAAICGAAAAAAAAgJIAAAAAAACAhgAAAAAAAICAAAAAAAAAgIAAAAAAAACAhg=="),C(o
vendor: 13,201 bytes, line 2810
2810,83999,"IAAAAACCAAAgAAAAAIIAAAAAAAAAggAAAAAAAACGAAAAAAAAAIIAAAAAAAAAggAAAAAAAACCAAAAaW5maW5pdHkALSsgICAwWDB4AHN0ZDo6YmFkX2Nhc3QAJXMlYyVzX2RpY3QAJXMlYyVzJWMlcyVzACVzJWNzb3VuZGljb25zJWMlcwBDb21waWxlIGVycm9yAHN0ZDo6ZXhjZXB0aW9uAHRlcm1pbmF0aW5nAF8wbGFuZwB1bmV4cGVjdGVkX2hhbmRsZXIgdW5leHBlY3RlZGx5IHJldHVybmVkACVkICVkICVkICVkICVkICVkICVkICVkICVkICVkACVzJWMlYwByYgBwaG9udGFiAHJ3YQBYWFhYWFgAR01UAExDX0FMTABFU1BFQUtfREFUQV9QQVRIAEMAQU5TSV9YMy40LTE5NjgAMy4xLjMwACEtLQBQdXJlIHZpcnR1YWwgZnVuY3Rpb24gY2FsbGVkIQAlcwoAZXNwZWFrOiBCYWQgaW50b25hdGlvbiBkYXRhCgAAAQIEBwMGBQAAAABAAAAAAAAAAHBob25pbmRleAAlcyVjJWMlcwAgJXMAc3RkOjpiYWRfZXhjZXB0aW9uAEVtc2NyaXB0ZW4AbmFuAD94bWwAJXMvLi4vcGhzb3VyY2UAc3RkOjpiYWRfdHlwZWlkAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZAAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZAByYgBXcm9uZyB2ZXJzaW9uIG9mIGVzcGVhay1uZy1kYXRhAEkATEFORwBIT01FAEFOU0lfWDMuNC0xOTg2AChudWxsKQBGYWlsZWQgdG8gb3BlbjogJyVzJwBEZWxldGVkIHZpcnR1YWwgZnVuY3Rpb24gY2FsbGVkIQBudW1iZXJzOiBCYWQgb3B0aW9uIG51bWJlciAlZAoAX2NhcABlbXNjcmlwdGVuAFRoZSBGSUZPIGJ1ZmZlciBpcyBmdWxsAGVzcGVhawAlZCAlZCAlZABzdGQ6OmJhZF9hbGxvYwAlYyVzJWMlcyVjAHBob25kYXRhAC91c3Ivc2hhcmUvZXNwZWFrLW5nLWRhdGEAL3RtcC9lc3BlYWtYWFhYWFgATABQU0FSSFRJVllNVUJGAEFTTU8tNzA4AEMuVVRGLTgAICgAJXM6IEJhZCBvcHRpb24gbnVtYmVyICVkCgBVbnN1cHBvcnRlZCBzcGVjdHJhbCBmaWxlIGZvcm1hdC4KAENhbid0IHJlYWQgZGljdGlvbmFyeSBmaWxlOiAnJXMnCgAtMFgrMFggMFgtMHgrMHggMHgAaW50b25hdGlvbnMAcGhvbmVtZXMAJXMgJXMgJXMgJXMgJXMgJXMAZW4AYmFkX2FycmF5X25ld19sZW5ndGgAbm9uZQBUaGUgZXNwZWFrLW5nIGxpYnJhcnkgaGFzIG5vdCBiZWVuIGluaXRpYWxpemVkACVjJWQAUE9TSVgATQBDLlVURi04AEVDTUEtMTE0ACMxAEVtcHR5IF9kaWN0IGZpbGU6ICclcwoAUmVwbGFjZTogJXMgPiAlcwoAICBzdWZmaXggWyVzXQoKACVzL3Bob25lbWVzACVzJXMlcwBicABhbGwAaW5mAENhbm5vdCBpbml0aWFsaXplIHRoZSBhdWRpbyBkZXZpY2UAJXMlY3ZvaWNlcyVjAE4ATlVMTABFQ01BLTExOABVVEYtOAB3YXNtMzIAZXNwZWFrOiBObyBlbnZlbG9wZQoAQmFkIGRhdGE6ICclcycgKCV4IGxlbmd0aD0leCkKAFRoZSBzcGVjaWZpZWQgZXNwZWFrLW5nIHZvaWNlIGRvZXMgbm90IGV4aXN0ACVzJXMAJXMlYyVzAF9jYXAAYmhmAHNvbWUAWwIlc11dAFAASU5GAEVMT1RfOTI4AGVuX1VTLlVURi04AF8jJWQgAENvbXBpbGluZyBwaG9uZW1lIGRhdGE6ICVzCgBGdWxsIGRpY3Rpb25hcnkgaXMgbm90IGluc3RhbGxlZCBmb3IgJyVzJwoAVW5rbm93biB0dW5lICclcycKACU1ZDoJAGR0AG5vAGVuAG5hbgBfcm9tYW4AQ291bGQgbm90IGxvYWQgdGhlIG1icm9sYS5kbGwgZmlsZQAlZCAlZAAlcyVjbGFuZyVjAHJiAFsCX15fJXMgJXMgX15fJXNdXQBTAF8/QQBJQk0zNjcAPyVkIAAlcyVjJXMAJXMvJXMAcgBpY29uAGVuAENvdWxkIG5vdCBsb2FkIHRoZSBzcGVjaWZpZWQgbWJyb2xhIHZvaWNlIGZpbGUAZ2MAWgBOQU4AXz8/ADxzYXktYXMgaW50ZXJwcmV0LWFzPSJ0dHM6Y2hhciI+JiMlZDs8L3NheS1hcz4ASUJNODE5ACogACAgJWQgJXMgICAgAEludmFsaWQgaW5zdHJ1Y3Rpb24gJS40eCBmb3IgcGhvbmVtZSAnJXMnCgAAcGhvbmRhdGEtbWFuaWZlc3QAVGhlIGV2ZW50IGJ1ZmZlciBpcyBmdWxsAHNwZWxsaW5nAF9saWcAY29uZmlnACVzL2VzcGVhay1uZy1kYXRhACVzJXNfAElTQ0lJAGhBAGwnZXRAAC4ALQAoJXMpAAElZEkgACV4AHcAJXNydWxlcy50eHQAKyVzAHIAXy5wAHBpdGNoAFRoZSByZXF1ZXN0ZWQgZnVuY3Rpb25hbGl0eSBoYXMgbm90IGJlZW4gYnVpbHQgaW50byBlc3BlYWstbmcAX3NtYwBDYwBtYgBJU09fNjQ2LmlydjoxOTkxAHYgPD0gdm93ZWxfY291bnQAVGhlIHBob25lbWUgZmlsZSBpcyBub3QgaW4gYSBzdXBwb3J0ZWQgZm9ybWF0AGNoYXJhY3RlcnMAJWMlcyVzJXMAICVzAF90dXIAZW4AQ2YAbmQAJXMgJWQASVNPXzg4NTktMQAjIFRoaXMgZmlsZSBsaXN0cyB0aGUgdHlwZSBvZiBkYXRhIHRoYXQgaGFzIGJlZW4gY29tcGlsZWQgaW50byB0aGUKIyBwaG9uZGF0YSBmaWxlCiMKIyBUaGUgZmlyc3QgY2hhcmFjdGVyIG9mIGEgbGluZSBpbmRpY2F0ZXMgdGhlIHR5cGUgb2YgZGF0YToKIyAgIFMgLSBBIFNQRUNUX1NFUSBzdHJ1Y3R1cmUKIyAgIFcgLSBBIHdhdmVmaWxlIHNlZ21lbnQKIyAgIEUgLSBBbiBlbnZlbG9wZQojCiMgQWRkcmVzcyBpcyB0aGUgZGlzcGxhY2VtZW50IHdpdGhpbiBwaG9uZGF0YSBvZiB0aGlzIGl0ZW0KIwojICBBZGRyZXNzICBEYXRhIGZpbGUKIyAgLS0tLS0tLSAgLS0tLS0tLS0tCgBfcmV2AHZhcmlhbnQAJXNydWxlcwB0dHM6Y2hhcgBzb3VuZGljb24AQ24AX2VsAG5nAHNyYy9saWJlc3BlYWstbmcvZGljdGlvbmFyeS5jAF9zdWIAcGhvbmRhdGEAVGhlIHNwZWN0cmFsIGZpbGUgZG9lcyBub3QgY29udGFpbiBhbnkgZnJhbWUgZGF0YQABKzEwUwBJU09fODg1OS0xOjE5ODcAdHRzOmtleQAlcyVjJXNfZGljdAB0cwBUaGUgcGhvbmVtZSBtYW5pZmVzdCBmaWxlIGRvZXMgbm90IGNvbnRhaW4gYW55IHBob25lbWVzAF8lYyAlcwBfY3lyAF9zdXAAQ28AX2NybAB3YgAgAS0xMFMASVNPXzg4NTktMgAtAFVucHJvbm91bmNhYmxlPyAnJXMnCgBfaHkAcGhvbmluZGV4AF9hY3UAdHRzOmRpZ2l0cwBDcwAgJXMgJWQgJXMAJ2U6agBhcG9zdHJvcGhlAFRoZSBwaG9uZW1lIGZlYXR1cmUgaXMgbm90IHJlY29nbmlzZWQAdEEASVNPXzg4NTktMjoxOTg3AHdiKwBUcmFuc2xhdGUgJyVzJwoAX2JydgBicmFja2V0cwAlY2VuAElpAHRlbGVwaG9uZQBfaGUAVGhlIHRleHQgZW5jb2RpbmcgaXMgbm90IHN1cHBvcnRlZAAlZCAlZABwaG9udGFiAFsCKFgxKShYMSkoWDEpXV0AbkEAYidpOgBJU09fODg1OS0zAFVzaW5nIHBob25lbWV0YWJsZTogJyVzJwoAVW5zcGVjaWZpZWQgZXJyb3IgMHgleAByb290cwBnbHlwaHMAJWMlcwBfYXIATGwAJXMvY29tcGlsZV9wcm9nX2xvZwBicmFja2V0c0Fubm91bmNlZAAlZABfaGFjAF9eXwBzJ2k6AElTT184ODU5LTM6MTk4OABsaXN0AGRpY3RfbWluAGVuAExtAHgtd2VhawBiYXNlAF9jZWQAX3N5YwBkJ2k6AElTT184ODU5LTQAQmFkIHZvaWNlIGF0dHJpYnV0ZTogJXMKAEVycm9yIHByb2Nlc3NpbmcgZmlsZSAnJXMnOiAlcy4KAGxpc3R4AGRpY3RydWxlcwBfY2lyAExvAHdlYWsAX2hpACdpOgBJU09fODg1OS00OjE5ODgAJXMgAEludmFsaWQgcGhvbmVtZSBjb2RlICVkCgAKUmVmcyAlZCwgIFJldXNlZCAlZAoARXJyb3I6ICVzIGF0ICclcycgKGV4cGVjdGVkIDB4JXgsIGdvdCAweCV4KS4KAFVua25vd24gcGhvbmVtZSB0YWJsZTogJyVzJwoATHQAJWMlcwBpbnRvbmF0aW9uAF9ibgBtZWRpdW0AZW1vamkAJ2VmAF9kaWEASVNPXzg4NTktNQBSZXBsYWNlOiAlcyAgJXMKAENvbXBpbGVkIHBob25lbWVzOiAlZCBlcnJvcnMuCgBFcnJvcjogJXMuCgBoc3gATHUAJXMvLi4vcGhzb3VyY2UvaW50b25hdGlvbi50eHQAbF9kaWVyZXNpcwAlcyslcwBfZ3VyAGlvbgBzdHJvbmcAZXh0cmEASVNPXzg4NTktNToxOTg4AF9hYzIAbF9wcmVmaXgAX2d1AF9kb3QAJXMlY3ZvaWNlcwByAHgtc3Ryb25nAE1jAElTT184ODU5LTYAQ29tcGlsaW5nOiAnJXMnCgBfZ3J2AGxfcmVncmVzc2l2ZV92AHJzAF9vcgAlcy8uLi9waHNvdXJjZS9pbnRvbmF0aW9uACVzJWNsYW5nAE1lAHJlZHVjZWQASVNPXzg4NTktNjoxOTg3ACQxAGlyAF9tY24ATW4AbW9kZXJhdGUAdHVuZQBsX3VucHJvbm91bmNhYmxlAF90YQBJU09fODg1OS03ACQyAG1iLwAlcy9pbnRvbmF0aW9ucwB1cgBfb2dvAGxfc29ub3JhbnRfbWluAHJhdGUAX3RlAE5kAElTT184ODU5LTc6MTk4NwAkMwAvLwBfa24ATmwAYXRoAF9ybmcAdm9sdW1lAGFwb3N0cm9waGUAbG93ZXJjYXNlU2VudGVuY2UASVNPXzg4NTktOAAkNABEdXBsaWNhdGUgdHVuZSBuYW1lOiAnJXMnAGJyYWNrZXRzAG51bWJlcnMAbnMATm8AX21sAF9zdGsAcmFuZ2UAQmFkIHR1bmUgbmFtZTogJyVzOwBJU09fODg1OS04OjE5ODgAJDUAc3BlbGxpbmdTdHJlc3MAX3NpAF90bGQAZmllbGQAYnJhY2tldHNBbm5vdW5jZWQAUGMASVNPXzg4NTktOQAkNgBCYWQgZW52ZWxvcGUgbmFtZTogJyVzJwBfYmFyAGRpY3RfbWluAF90aABzcG9uZwBtb2RlAFR1bmUgJyVzJyBub3QgZm91bmQAc3RyZXNzQWRkAFBkAElTT184ODU5LTk6MTk4OQAkNwBfcmZ4ACR1AGRpY3RydWxlcwBzdHJlc3NBbXAAX2xvAHB1bmN0dWF0aW9uAHJhbmcAUGUASVNPXzg4NTktMTAAVW5leHBlY3RlZDogJyVzJwBjYXBpdGFsX2xldHRlcnMAaW50b25hdGlvbgBfaG9rAF90aQBzdHJlc3NMZW5ndGgAbGFyZwBQZgBUdW5lICclcycgbm90IGRlZmluZWQASVNPXzg4NTktMTA6MTk5MgAkdTEAX215AHN0cmVzc09wdABsX2RpZXJlc2lzAF8jJXMAbGV2ZWwAUGkASVNPXzg4NTktMTQAJHUyAGFkZCBlCgBDb21waWxlZCAlZCBpbnRvbmF0aW9uIHR1bmVzOiAlZCBlcnJvcnMuCgBsX3ByZWZpeABhbHBoYWJldABUb28gbWFueSBwaG9uZW1ldGFibGVzAF94IyVzAFBvAHN0cmVzc1J1bGUAX2thAElTT184ODU5LTE0OjE5OTgAJHUzAE91dCBvZiBtZW1vcnkAbF9yZWdyZXNzaXZlX3YAdHVuZXMAUHMAX2tvAHBoAElTT184ODU5LTE1AF8wACR1KwBfZHB0AHdvcmRzAGludGVycHJldC1hcwBfZXRoAGxfdW5wcm9ub3VuY2FibGUAU2MAXwBJU09fODg1OS0xNgAkdTErAEJhZCBydWxlcyBkYXRhIGluICclc19kaWN0JyBhdCAweCV4ICglYykKAGZvcm1hdABsX3Nvbm9yYW50X21pbgBTawBfYnJhaWxsZQBfME0lZABJU09fODg1OS0xNjoyMDAxACR1MisAQ2FuJ3QgZmluZCBiYXNlIHBob25lbWV0YWJsZSAnJXMnACUzZAklcyBbJXNdCgBDYW5ub3Qgc2V0ICVzOiBsYW5ndWFnZSBub3Qgc2V0LCBvciBpcyBpbnZhbGlkLgoAU20AZGV0YWlsAGxvd2VyY2FzZVNlbnRlbmNlAF9qYQBJU082NDYtVVMAXy4AJHUzKwBfAQBudW1iZXJzAFNvAF8lZG4AX3poACRwYXVzZQAlYyVkWQBwaG9uZW1lX2xlbiA8IE5fUEhPTkVNRV9CWVRFUwBJU08tMTA2NDYtVUNTLTIAJQBzcGVsbGluZ1N0cmVzcwBhbGlhcwBabAAkc3RyZW5kAElTTy04ODU5LTEAJSUARmxhZ3M6ICAlcyAgJXMKACVzJXMlYyVzJXMAWnAAbmFtZQBzdHJlc3NBZGQAJHN0cmVuZDIASVNPLTg4NTktMgAsAEZvdW5kOiAnJXMgJXMKAFpzACVzJXMlcyVjJXMARm91bmQ6ICclcwBzdHJlc3NBbXAAJHVuc3RyZXNzZW5kACVjJWRNAElTTy04ODU5LTMALCwAc3RyZXNzTGVuZ3RoACRhY2NlbnRfYmVmb3JlAF8wWiVkAHNyYwBJU08tODg1OS00AC0tACcAJyBbJXNdICAlcwoAJGFiYnJldgBzdHJlc3NPcHQAJXMvJXMAQWRsbQBfJWNkAElTTy04ODU5LTUAJycAJWMlcwBBZmFrAHN0cmVzc1J1bGUAJGRvdWJsZQAlYyVkSQA9AElTTy04ODU5LTYAJGFsdAB0dW5lcwBBZ2hiACVjJWRVAF86AElTTy04ODU5LTcAX2RwdDIA2Y4gINmPICDZkAB3b3JkcwBfJWRNJWRvAEFob20Ac3RyZW5ndGgASVNPLTg4NTktOAAkYWx0MQBfIQDYpyDZiCDZigBuYW1lAF8lZE0lZGUAQXJhYgAlYyVkQgA6AElTTy04ODU5LTkAJGFsdDIA2Kgg2b4g2Kog2Kkg2Ksg2Kwg2K0g2K4g2K8g2LAg2LEg2LIg2LMg2LQg2LUg2LYg2Lcg2Lgg2Lkg2Log2YEg2YIg2YMg2YQg2YUg2YYg2KYg2KQg2KEg2KMg2KIg2KUg2YcAXyVkTSVkeABBcm1pAHRpbWUAbGFuZ3VhZ2UAQAAkYWx0MwBJU08tODg1OS0xMADYtSDYtiDYtyDYuABnZW5kZXIAQXJtbgB4bWw6YmFzZQBfJWRNJWQAJGFsdDQASVNPLTg4NTktMTEAQC0AfHwAJXgAQXZzdAB2YXJpYW50cwBfMG9mACRhbHQ1AElTTy04ODU5LTEzACDZkSAAZm9ybWFudABfJXMlZG8AQmFsaQAlZAAkYWx0NgBJU08tODg1OS0xNAAxAEJhbXUAc3BlYWsAcGl0Y2gAXyVzJWRlACRhbHQ3AElTTy04ODU5LTE1ACNYMQBfJXMlZHgAQmFzcwBwaG9uZW1lcwAkY29tYmluZQB2b2ljZQA/AElTTy04ODU5LTE2AGRpY3Rpb25hcnkAcHJvc29keQAkZG90AEJhdGsAXyVzJWQAS09JOC1SAC0AJGhhc2RvdABzYXktYXMAQmVuZwByZXBsYWNlAF9eXwBMYXRpbi05AF8wTTIAQmhrcwBlY2hvAG1hcmsAJG1heDMAX1gxAF8lZE0xAFRJUy02MjAAX3wAQmxpcwBmbHV0dGVyACRicmsAVVMtQVNDSUkAXzBNMQAkdGV4dAByb3VnaG5lc3MAJXMlcwBwAEJvcG8AXzo6AFVURi04AGNsYXJpdHkAQnJhaAAkdmVyYmYAcGhvbmVtZQAxTUEAY3AzNjcAdCMAQnJhaQAkdmVyYnNmAHRvbmUAc3ViADBNQQBjcDgxOQAnIQBCdWdpAHZvaWNpbmcAJG5vdW5mAHR0czpzdHlsZQBfO18AY3NBU0NJSQAwTUIAYXVkaW8AYnJlYXRoACRwYXN0ZgBCdWhkADFNACNAAGNzSVNPODg1OTEzAGJyZWF0aHcAZW1waGFzaXMAQ2FrbQAkdmVyYgAjYQAwTQBjc0lTTzg4NTkxNABDYW5zAF8wQ28AJG5vdW4AYnJlYWsAI2UAbWJyb2xhAGNzSVNPODg1OTE1ACRwYXN0AGNvbnNvbmFudHMAQ2FyaQAjaQBtZXRhZGF0YQBjc0lTTzg4NTkxNgBfMEMwAGtsYXR0AGJyACNvAENoYW0AJHZlcmJleHRlbmQAXzBDAGNzSVNPTGF0aW4xACN1AENoZXIAJGNhcGl0YWwAbGkAJXMlYyVzJWMAZmFzdF90ZXN0MgBjc0lTT0xhdGluMgBDaXJ0ACRhbGxjYXBzAE1pc3NpbmcgZmlsZTogJXMAXzBhbmQAc3BlZWQAZGQAY3NJU09MYXRpbjMAQ29wdAAkYWNjZW50AG1haW50YWluZXIAXyVkQ28AcGhvbmVtZXRhYmxlIGlzIG1pc3NpbmcAaW1nAGNzSVNPTGF0aW40AENwcnQAc3RhdHVzACRzZW50ZW5jZQB0ZABLZXl3b3JkICdwaG9uZW1lJyBleHBlY3RlZABjc0lTT0xhdGluNQBfJWRDMAAkb25seQBUb28gbWFueSBwcm9jZWR1cmVzAEN5cmwAbWFsZQBfJWRDAGNzSVNPTGF0aW42AGgxACRvbmx5cwBDeXJzACVzJXMlcyVzAGZlbWFsZQBjc0lTT0xhdGluQXJhYmljACUuM2RQAGgyACVzJXMlYyVzACRzdGVtAE1pc3NpbmcgJ2VuZHBob25lbWUnIGJlZm9yZSBlbmQtb2YtZmlsZQAlZCAlZCAlZCAlZCAlZABjc0lTT0xhdGluQ3lyaWxsaWMARGV2YQBoMwBfJWRmeABNb3JlIHRoYW4gb25lIHBob25lbWUgdHlwZTogJXMARG9ncgBjc0lTT0xhdGluR3JlZWsAJGF0ZW5kAE5VTEwAaDQAY3NJU09MYXRpbkhlYnJldwBEc3J0ACRhdHN0YXJ0ACVkICVzICVzAGhyAF8lZGYATlVMTABfJWQlY3gAc2NyaXB0AER1cGwAJG5hdGl2ZQAhdiVjAGNzS09JOFIAJXgAc3R5bGUARWd5ZAAlc20lZABfJWQlYwAkPwBjc1RJUzYyMABmb250AEVneWgAYSBwaG9uZW1lIHR5cGUgb3IgbWFubmVyIG9mIGFydGljdWxhdGlvbiBtdXN0IGJlIHNwZWNpZmllZCBiZWZvcmUgc3RhcnR0eXBlACR0ZXh0bW9kZQBfJWRlACVzZiVkAGNzVVRGOAAlcy92b2ljZXMvJXMARWd5cABfJWRvAGEgcGhvbmVtZSB0eXBlIG9yIG1hbm5lciBvZiBhcnRpY3VsYXRpb24gbXVzdCBiZSBzcGVjaWZpZWQgYmVmb3JlIGVuZHR5cGUAJHBob25lbWVtb2RlAGNzVW5pY29kZQBiAGVuZHR5cGUgbXVzdCBlcXVhbCBzdGFydHR5cGUgZm9yIGNvbnNvbmFudHMAdW5wcgBhbGwAaQBhcmFiaWMAXyVkYQBFbGJhAG5vcHJlZml4AHZvaWNpbmdzd2l0Y2ggY2Fubm90IGJlIHVzZWQgb24gdm93ZWxzAGVtAEV0aGkAXyVkAGN5cmlsbGljAHN0cmVzcyBwaG9uZW1lcyBjYW4ndCBjb250YWluIHByb2dyYW0gaW5zdHJ1Y3Rpb25zAEdlb2sAZ3JlZWsAY29kZQBfJWRYJWMAd19hbHQxAFdhcm5pbmc6IG1heGltdW0gbnVtYmVyICVkIG9mIChOX1ZPSUNFU19MSVNUID0gJWQgLSAxKSByZWFjaGVkCgAlcyVjJXMAR2VvcgBfJWRYZgAlYyVkJWMAZ3JlZWs4AHdfYWx0MgBNaXNzaW5nICdlbmRwaG9uZW1lJyBiZWZvcmUgJyVzJwBoZWJyZXcAZGVmYXVsdABHbGFnAF8lZFgATWlzc2luZyBFTkRJRgB3X2FsdDMARXJyb3IgKCVzKTogZ2VuZGVyIGF0dHJpYnV0ZSBzcGVjaWZpZWQgb24gYSBsYW5ndWFnZSBmaWxlCgBzaWxlbnQAR29uZwAnZW5kcGhvbmVtZScgbm90IGV4cGVjdGVkIGhlcmUAaXNvLWNlbHRpYwB3X2FsdDQAX29yZDIwAHgtc29mdABHb25tAFBob25lbWUgdHlwZSBpcyBtaXNzaW5nAF9vcmQAaXNvLWlyLTYAd19hbHQ1AHNvZnQAR290aAB3X2FsdDYAaXNvLWlyLTEwMABCYWQgcGhvbmVtZSBuYW1lICclcycAd19hbHQAJXMlcyVzAEdyYW4AbG91ZABpc28taXItMTAxACVzOiAnJXMnLgBHcmVrAHgtbG91ZABpc28taXItMTA5AHBfYWx0MQB4LXNsb3cAR3VqcgBwX2FsdDIAaXNvLWlyLTExMABFeHBlY3RlZCAnKCcAc2xvdwBHdXJ1AGlzby1pci0xMjYAcF9hbHQzAEV4cGVjdGVkICcpJwBmYXN0AEhhbmcAVmFsdWUgJWQgaXMgZ3JlYXRlciB0aGFuIG1heGltdW0gJWQAaXNvLWlyLTEyNwBwX2FsdDQAeC1mYXN0AEhhbmkAaXNvLWlyLTEzOABwX2FsdDUAQ2Fubm90IGZpbmQgcGhvbmVtZSAnJXMnIHRvIGltcG9ydC4AeC1sb3cASGFubwBwX2FsdDYAaXNvLWlyLTE0NABQaG9uZW1lIGltcG9ydCB3aWxsIG92ZXJyaWRlIHNldCBwcm9wZXJ0aWVzLgBsb3cAcF9hbHQASGFucwBpc28taXItMTQ4AFBob25lbWUgcmVmZXJlbmNlIG5vdCBmb3VuZDogJyVzJwAlcyVzLnR4dABIYW50AGhpZ2gAaXNvLWlyLTE1NwBjb21waWxlOiB1bmtub3duIHBob25lbWUgdGFibGU6ICclcycAJXMlcwBIYXRyAHgtaGlnaABQaG9uZW1lIHByb2dyYW0gdG9vIGxhcmdlAGlzby1pci0xOTkASGVicgBpc28taXItMjI2AEV4cGVjdGVkIGEgY29uZGl0aW9uLCBub3QgJyVzJwBzcGFjZSAAQ2FuJ3QgYWxsb2NhdGUgbWVtb3J5CgBFeHBlY3RlZCBsaXN0IG9mIHN0cmVzcyBsZXZlbHMASGlyYQBsYXRpbjEAdGFiIAAJJWQgZW50cmllcwoASGx1dwBsYXRpbjIAVW5leHBlY3RlZCBrZXl3b3JkICclcycAdW5kZXJzY29yZSAAJTVkOiBVbmtub3duIGtleXdvcmQ6ICVzCgBIbW5nAHBob25lbWUAbGF0aW4zAGRvdWJsZS1xdW90ZSAAJTVkOiBNaXNzaW5nICcoJwoASHJrdABlbmRwaG9uZW1lAG1hbGUAbGF0aW40AEh1bmcAZmVtYWxlAEV4cGVjdGVkIEFORCwgT1IsIFRIRU4AbGF0aW41ACU1ZDogTmVlZCB0byBjb21waWxlIGRpY3Rpb25hcnkgYWdhaW4KAEluZHMAbmV1dHJhbABFTFNFIG5vdCBleHBlY3RlZABsYXRpbjYAJTVkOiBCYWQgcGhvbmVtZSBbJXNdIChVKyV4KSBpbjogJXMgICVzCgBVKyV4AEl0YWwASUYgYmxvY2sgaXMgdG9vIGxvbmcAeG1sOmxhbmcAbGF0aW44AHZhcmlhbnQARUxJRiBub3QgZXhwZWN0ZWQASmF2YQBsYXRpbjEwACU1ZDogRGljdGlvbmFyeSBsaW5lIGxlbmd0aCB3b3VsZCBvdmVyZmxvdyB0aGUgZGF0YSBidWZmZXI6ICVkCgBKcGFuAGFnZQBFTkRJRiBub3QgZXhwZWN0ZWQAbDEAJTVkOiBUd28gbWFueSBwYXJ0cyBpbiBhIG11bHRpLXdvcmQgZW50cnk6ICVkCgBnZW5kZXIASnVyYwBQYXJhbWV0ZXIgPiAxMjcAbDIALy8AJXMrJXMAS2FsaQAuTABQYXJhbWV0ZXIgPCAtMTI4AGwzAGd0AC5yZXBsYWNlAEthbmEAUGFyYW1ldGVyID4gMjU1AGw0AGx0AEtoYXIALmdyb3VwAERGVABsNQAweCV4ACVzLyVzLndhdgBLaG1yAGFtcABsNgBxdW90AENhbid0IHJlYWQgZmlsZTogJXMAS2hvagBsOAAlNWQ6IEdyb3VwIG5hbWUgbG9uZ2VyIHRoYW4gMiBieXRlcyAoVVRGOCkARmlsZSBub3QgU1BFQyBvciBSSUZGOiAlcwBuYnNwAEtuZGEAbDEwAApFeGNlZWRlZCBsaW1pdCBvZiBydWxlcyAoJWQpIGluIGdyb3VwICclcycKAHVzAGFwb3MAS29yZQAlYyAgMHglLjV4ICAlcwoAAMDg8P8fDwdwCnEKAAAoACkAWwBdAHsAfQA8AD4AIgAnAGAAqwC7AAowCzA84A=="),C(
2810o,93904,"ICAgICAgICAgICYlKyNTRFpBTCEgQD9KTktWP1RYP1dBQkNIRkdZPT0sLCcqICAAIAAhACIAsAIkACUA5gDIAigAKQB+AisAzAItAC4ALwBSAjEAMgBcAjQANQA2ADcAdQI5ANACsgI8AD0APgCUAlkCUQKyA+cA8ABbAkYAYgInAWoCXwJLAGsCcQJLAVQCpgNjAoACgwK4A4oCjAJTAccD+ACSAioDXABdAF4AXwBgAGEAYgBjAGQAZQBmAGECaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQADA38APT0sLCcnAAMCBAUGBxoAAAAAAQECAwMEBQYHBwgJCgsAAAEBAgIDAwQFBgcHCAkKAAABAgMDAwQFBgcHBwgJClNldFdvcmRTdHJlc3MA5ADrAO8A9gD8AP8AAAAAAAAAYWFhYWFhYWNlZWVlaWlpaWRub29vb28Ab3V1dXV5dHNhYWFhYWFhY2VlZWVpaWlpZG5vb29vbwBvdXV1dXl0eWFhYWFhYWNjY2NjY2NjZGRkZGVlZWVlZWVlZWVnZ2dnZ2dnZ2hoaGhpaWlpaWlpaWlpaWlqamtra2xsbGxsbGxsbGxubm5ubm5ubm5vb29vb29vb3JycnJycnNzc3Nzc3NzdHR0dHR0dXV1dXV1dXV1dXV1d3d5eXl6enp6enpzYmJiYgAAb2NjZGRkZGRlZWVmZmdnaGlpa2tsbG1ubm9vb29vcHB5AABzc3R0dHR1dXV2eXl6enp6enp6AAAAd3R0dGtkZGRsbGxubm5hYWlpb291dXV1dXV1dXV1ZWFhYWFhYWdnZ2dra29vb296empkZGRnZ3d3bm5hYWFhb29hYWFhZWVlZWlpaWlvb29vcnJycnV1dXVzc3R0eXloaG5kb296emFhZWVvb29vb29vb3l5bG50amRxYWNjbHRzegAAYnV2ZWVqanFxcnJ5eWFhYWJvY2RkZWVlZWVl"),C(o
vendor: 6,661 bytes, line 2810
2810,94846,"TG9va3VwRGljdDIAAAAAAAAAgACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAAoQCiAKMApAClAKYApwCoAKkAqgCrAKwArQCuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AIAAgQCCAIMAhACFAIYAhwCIAIkAigCLAIwAjQCOAI8AkACRAJIAkwCUAJUAlgCXAJgAmQCaAJsAnACdAJ4AnwCgAAQB2AJBAaQAPQFaAacAqABgAV4BZAF5Aa0AfQF7AbAABQHbAkIBtAA+AVsBxwK4AGEBXwFlAXoB3QJ+AXwBVAHBAMIAAgHEADkBBgHHAAwByQAYAcsAGgHNAM4ADgEQAUMBRwHTANQAUAHWANcAWAFuAdoAcAHcAN0AYgHfAFUB4QDiAAMB5AA6AQcB5wANAekAGQHrABsB7QDuAA8BEQFEAUgB8wD0AFEB9gD3AFkBbwH6AHEB/AD9AGMB2QKAAIEAggCDAIQAhQCGAIcAiACJAIoAiwCMAI0AjgCPAJAAkQCSAJMAlACVAJYAlwCYAJkAmgCbAJwAnQCeAJ8AoAAmAdgCowCkAP3/JAGnAKgAMAFeAR4BNAGtAP3/ewGwACcBsgCzALQAtQAlAbcAuAAxAV8BHwE1Ab0A/f98AcAAwQDCAP3/xAAKAQgBxwDIAMkAygDLAMwAzQDOAM8A/f/RANIA0wDUACAB1gDXABwB2QDaANsA3ABsAVwB3wDgAOEA4gD9/+QACwEJAecA6ADpAOoA6wDsAO0A7gDvAP3/8QDyAPMA9AAhAfYA9wAdAfkA+gD7APwAbQFdAdkCgACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAABAE4AVYBpAAoATsBpwCoAGABEgEiAWYBrQB9Aa8AsAAFAdsCVwG0ACkBPAHHArgAYQETASMBZwFKAX4BSwEAAcEAwgDDAMQAxQDGAC4BDAHJABgBywAWAc0AzgAqARABRQFMATYB1ADVANYA1wDYAHIB2gDbANwAaAFqAd8AAQHhAOIA4wDkAOUA5gAvAQ0B6QAZAesAFwHtAO4AKwERAUYBTQE3AfQA9QD2APcA+ABzAfoA+wD8AGkBawHZAoAAgQCCAIMAhACFAIYAhwCIAIkAigCLAIwAjQCOAI8AkACRAJIAkwCUAJUAlgCXAJgAmQCaAJsAnACdAJ4AnwCgAAEEAgQDBAQEBQQGBAcECAQJBAoECwQMBK0ADgQPBBAEEQQSBBMEFAQVBBYEFwQYBBkEGgQbBBwEHQQeBB8EIAQhBCIEIwQkBCUEJgQnBCgEKQQqBCsELAQtBC4ELwQwBDEEMgQzBDQENQQ2BDcEOAQ5BDoEOwQ8BD0EPgQ/BEAEQQRCBEMERARFBEYERwRIBEkESgRLBEwETQROBE8EFiFRBFIEUwRUBFUEVgRXBFgEWQRaBFsEXASnAF4EXwSAAIEAggCDAIQAhQCGAIcAiACJAIoAiwCMAI0AjgCPAJAAkQCSAJMAlACVAJYAlwCYAJkAmgCbAJwAnQCeAJ8AoAD9//3//f+kAP3//f/9//3//f/9//3/DAatAP3//f/9//3//f/9//3//f/9//3//f/9//3/Gwb9//3//f8fBv3/IQYiBiMGJAYlBiYGJwYoBikGKgYrBiwGLQYuBi8GMAYxBjIGMwY0BjUGNgY3BjgGOQY6Bv3//f/9//3//f9ABkEGQgZDBkQGRQZGBkcGSAZJBkoGSwZMBk0GTgZPBlAGUQZSBv3//f/9//3//f/9//3//f/9//3//f/9//3/gACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAAGCAZIKMArCCvIKYApwCoAKkAegOrAKwArQD9/xUgsACxALIAswCEA4UDhgO3AIgDiQOKA7sAjAO9AI4DjwOQA5EDkgOTA5QDlQOWA5cDmAOZA5oDmwOcA50DngOfA6ADoQP9/6MDpAOlA6YDpwOoA6kDqgOrA6wDrQOuA68DsAOxA7IDswO0A7UDtgO3A7gDuQO6A7sDvAO9A74DvwPAA8EDwgPDA8QDxQPGA8cDyAPJA8oDywPMA80DzgP9/4AAgQCCAIMAhACFAIYAhwCIAIkAigCLAIwAjQCOAI8AkACRAJIAkwCUAJUAlgCXAJgAmQCaAJsAnACdAJ4AnwCgAP3/ogCjAKQApQCmAKcAqACpANcAqwCsAK0ArgCvALAAsQCyALMAtAC1ALYAtwC4ALkA9wC7ALwAvQC+AP3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f8XINAF0QXSBdMF1AXVBdYF1wXYBdkF2gXbBdwF3QXeBd8F4AXhBeIF4wXkBeUF5gXnBegF6QXqBf3//f8OIA8g/f+AAIEAggCDAIQAhQCGAIcAiACJAIoAiwCMAI0AjgCPAJAAkQCSAJMAlACVAJYAlwCYAJkAmgCbAJwAnQCeAJ8AoAChAKIAowCkAKUApgCnAKgAqQCqAKsArACtAK4ArwCwALEAsgCzALQAtQC2ALcAuAC5ALoAuwC8AL0AvgC/AMAAwQDCAMMAxADFAMYAxwDIAMkAygDLAMwAzQDOAM8AHgHRANIA0wDUANUA1gDXANgA2QDaANsA3AAwAV4B3wDgAOEA4gDjAOQA5QDmAOcA6ADpAOoA6wDsAO0A7gDvAB8B8QDyAPMA9AD1APYA9wD4APkA+gD7APwAMQFfAf8AgACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAABAESASIBKgEoATYBpwA7ARABYAFmAX0BrQBqAUoBsAAFARMBIwErASkBNwG3ADwBEQFhAWcBfgEVIGsBSwEAAcEAwgDDAMQAxQDGAC4BDAHJABgBywAWAc0AzgDPANAARQFMAdMA1ADVANYAaAHYAHIB2gDbANwA3QDeAN8AAQHhAOIA4wDkAOUA5gAvAQ0B6QAZAesAFwHtAO4A7wDwAEYBTQHzAPQA9QD2AGkB+ABzAfoA+wD8AP0A/gA4AYAAgQCCAIMAhACFAIYAhwCIAIkAigCLAIwAjQCOAI8AkACRAJIAkwCUAJUAlgCXAJgAmQCaAJsAnACdAJ4AnwCgAAEOAg4DDgQOBQ4GDgcOCA4JDgoOCw4MDg0ODg4PDhAOEQ4SDhMOFA4VDhYOFw4YDhkOGg4bDhwOHQ4eDh8OIA4hDiIOIw4kDiUOJg4nDigOKQ4qDisOLA4tDi4OLw4wDjEOMg4zDjQONQ42DjcOOA45DjoO/f/9//3//f8/DkAOQQ5CDkMORA5FDkYORw5IDkkOSg5LDkwOTQ5ODk8OUA5RDlIOUw5UDlUOVg5XDlgOWQ5aDlsO/f/9//3//f+AAIEAggCDAIQAhQCGAIcAiACJAIoAiwCMAI0AjgCPAJAAkQCSAJMAlACVAJYAlwCYAJkAmgCbAJwAnQCeAJ8AoAAdIKIAowCkAB4gpgCnANgAqQBWAasArACtAK4AxgCwALEAsgCzABwgtQC2ALcA+AC5AFcBuwC8AL0AvgDmAAQBLgEAAQYBxADFABgBEgEMAckAeQEWASIBNgEqATsBYAFDAUUB0wBMAdUA1gDXAHIBQQFaAWoB3AB7AX0B3wAFAS8BAQEHAeQA5QAZARMBDQHpAHoBFwEjATcBKwE8AWEBRAFGAfMATQH1APYA9wBzAUIBWwFrAfwAfAF+ARkggACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAAAh4DHqMACgELAQoepwCAHqkAgh4LHvIerQCuAHgBHh4fHiABIQFAHkEetgBWHoEeVx6DHmAe8x6EHoUeYR7AAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPAHQB0QDSANMA1ADVANYAah7YANkA2gDbANwA3QB2Ad8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wB1AfEA8gDzAPQA9QD2AGse+AD5APoA+wD8AP0AdwH/AIAAgQCCAIMAhACFAIYAhwCIAIkAigCLAIwAjQCOAI8AkACRAJIAkwCUAJUAlgCXAJgAmQCaAJsAnACdAJ4AnwCgAKEAogCjAKwgpQBgAacAYQGpAKoAqwCsAK0ArgCvALAAsQCyALMAfQG1ALYAtwB+AbkAugC7AFIBUwF4Ab8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wCAAIEAggCDAIQAhQCGAIcAiACJAIoAiwCMAI0AjgCPAJAAkQCSAJMAlACVAJYAlwCYAJkAmgCbAJwAnQCeAJ8AoAAEAQUBQQGsIB4gYAGnAGEBqQAYAqsAeQGtAHoBewGwALEADAFCAX0BHSC2ALcAfgENARkCuwBSAVMBeAF8AcAAwQDCAAIBxAAGAcYAxwDIAMkAygDLAMwAzQDOAM8AEAFDAdIA0wDUAFAB1gBaAXAB2QDaANsA3AAYARoC3wDgAOEA4gADAeQABwHmAOcA6ADpAOoA6wDsAO0A7gDvABEBRAHyAPMA9ABRAfYAWwFxAfkA+gD7APwAGQEbAv8AgACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAABAEFAUEBrCAeIGABpwBhAakAGAKrAHkBrQB6AXsBsACxAAwBQgF9AR0gtgC3AH4BDQEZArsAUgFTAXgBfAHAAMEAwgACAcQABgHGAMcAyADJAMoAywDMAM0AzgDPABABQwHSANMA1ABQAdYAWgFwAdkA2gDbANwAGAEaAt8A4ADhAOIAAwHkAAcB5gDnAOgA6QDqAOsA7ADtAO4A7wARAUQB8gDzAPQAUQH2AFsBcQH5APoA+wD8ABkBGwL/AP3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9/wEJAgkDCQUJBgkHCQgJCQkKCQsJDgkPCRAJDQkSCRMJFAkRCRUJFgkXCRgJGQkaCRsJHAkdCR4JHwkgCSEJIgkjCSQJJQkmCScJKAkpCSoJKwksCS0JLgkvCV8JMAkxCTIJMwk0CTUJNgk3CTgJOQkgAD4JPwlACUEJQglDCUYJRwlICUUJSglLCUwJSQlNCTwJZAn9//3//f/9//3/IAAwADEAMgAzADQANQA2ADcAOAA5AP3//f/9//3//f8CAAAAAAAAAAEAAAADAAAA//36+Pb08vDu7Oro5uTi4N7c2tjW1NLQzszKyMbEwsC+vLq4trSysK6sqqimpKKgnpyamJaUkpCOjIqIhoSCgH58enh2dHJwbmxqaGZkYmBeXFpYVlRSUE5MSkhGREJAPjw6ODY0MjAuLCooJiQiIB4cGhgWFBIQDgwKCAYEAgAAAgQGCAoMDhASFBYYGhweICIkJigqLC4wMjQ2ODo8PkBCREZISkxOUFJUVlhaXF5gYmRmaGpsbnBydHZ4enx+gIKEhoiKjI6QkpSWmJqcnqCipKaoqqyusLK0tri6vL7AwsTGyMrMztDS1NbY2tze4OLk5ujq7O7w8vT2+Pr9///06uDWzMO6saifl4+Hf3hxamNcVlBKRD85NC8rJiIeGhcTEA0LCAYEAgEAAAAAAAAAAQIDBAUHCAoMDhATFRcaHR8iJSgsLjAyNDY5Oz1AQkVHSkxPUVRXWl1fYmVoa25xdHh7foGFiIuPkpaZnaCkqKyvs7e7v8PHy8/T19vgz8zJxsPAvbm0sKunopyXkoyGgXt1b2ljXVdQSkQ+ODMtJyIcFxINCAQCAgEAAAAAAAEBAgMEBQcICgwNDxIUFhkbHiEkJyotMDQ2ODo8P0FDRkhLTVBSVVhaXWBjZmlsb3J1eHt+gYWIi4+SlpmdoKSorK+zt7u/w8fLz9PX2+D/+fTu6eTf2tXQy8bBvbizr6qmoZ2ZlZCMiISAfXl1cW5qZ2NgXVlWU1BNSkdEQT48OTc0Mi8tKygmJCIgHhwaGRcVFBIRDw4NDAoJCAcGBQUEAwICAQE="),C(
2810o,99845,"AQECAgMEBAUGBwgJCgsMDg8QEhMVFxgaHB4g0M7NzMrIx8XDwcC9u7i1s7CtqqejoJ2ZlpKPi4eEgHx4dHBtaWVhXVlVUU1KRkI+Ozc0MS8tKigmJCIgHhwaGRcVFBIRDw4NDAoJCAcGBQUEAwICAQE="),C(o,99973,"AQECAgMEBAUGBwgJCgsMDg8QEhMVFxgaHB4gmJmZmpydn6Gkp6mssLO2ur7BxcnN0dTY3N/j5urt8PL19/n7/P3+/v////////79+/r49vPx7uzp5uTg3drX09DMyMTAvLi0sKyno5+alpGNiIR/e3ZybWllYFxYVFBMSERAPDk1Mi8rKCYjIB0aFxUSDw0KCAcFAwIBAAAAAAD+///////+/fz6+Pb08e7r6OXh3trW0s3JxL+6trCrpqGclpGLhoB7dW9qZF9ZVE9JRD86NTArJiIdGRURDQoHBAMBAAAAAAAAAAABAQIEBQcJCw0QEhUYGx4iJSktMTU6PkNITFFXW15iZWhrbnF0dnh7fH6AgYKDg4SEg4OCgXJycXFwb21samhmZGFfXFpXVFFOS0hFQj87ODUyLywpJiMgHRsYFhQSEA4MCwoJCAcHBwcHBgUFBQUFBQUFBQYHBwgJCgwNDxASFBYYGx0gIyYpLC8zNzs/Q0dMUVZbYGVqb3R5f4SJj5Wboaets7rAx87V3OPq8fX3+vz9/v///v79/fz7+/r6+fj49/f29vX09PPz8vLx8PDv7u7t7Ovq6uno5+bl5OPi4eDe3dzb2djW1dPS0M7My8nHxcPAvry5t7Wyr62qp6ShnpqXlJCNiYWBfXl1cW1oZGFeW1dUUU1KRkNAPDk1Mi4qJyMfHBgUEQ0LCQcFBAMCAQAAAAAAAAAAAQEBAgIDAwQEBQYGBwgICQoLDAwNDg8QERITFBYXGBkbHB0fICIjJSYoKSstLzAyNDY4Ojw+QEJER0lLTlBSVVdaXV9iZWdqbXBzdnl8f4KGiYyQk5aanaCjpqmsr7K1uLu+wcTHys3Q09bZ3N/i5Ofp7O7w8vT2+Pr7/X9/f4CBg4SHiYyPkpaZnaGlqq6yt7vAxcnN0tba3uLm6u3w8/X4+vv8/f7+/fz7+ff08Ozn4tzVzsa9tKmekoiCfXdybGZgWlROSUI8NzItKCQfGxgUEQ4MCQcGBQQEBAQFBggKDRAUGB0jKS83PkdQWmRwfIOFiIqMjo+RkpOTAEAIAEYSAAAAAAAAGAwAAARQEgZOFgAAAAAAACI0AAAEWBYGUhYAAAAAAAAiQAAAAFwIAFxQAAAAAAAATAgBAABWBABeQgAAAAAAACIKAAAAPgoAPhQAAAAAAAAcEAAABEQSBkQWAAAAAAAAHiwAAAZAEABCIAAAAAAAACASAAACRC4AKiAAAAAAAAAuOgAABE4YBkgWAAAAAAAAKjQAAARYIgBAIAAAAAAAAC5SAAAAOAwAOBQAAAAAAAAYDAAAAEYSAEYYAAAAAAAAIBQAAAkAAAAJAAAAEAAAABAAAAAQAAAAFwAAADcAAAAgAAAAACgYCAAKNCAUCgYmGA4EAAYAAAAHAAAACQAAAAkAAAAUAAAAFAAAABQAAAAZAAAA5iAUCA=="),C(o,101072,"ZgNmAWYCpgSmAiYEpoooAmoDagFqAqoCbgNuAW4CrgIpALMEdAN0AXQCtAS0AgAAdAR6A3oBegK6An4BOQC+AgAApgMAAKYBAADmAwAAaAEAAGgCAAAoAwAA6AEAAOkBAABpBAAAqgMAAKoBAAAqAwAA6gMAAOoBAABsAgAArAEAACwDAAAsAgAAbQIAAG0EAACuBAAArgMAAK4BAADuAwAALgAAAO6LAABvAgAAMAIwAAAAcQEAADECAADxAQAAMQMAAHEEAABzAQAAMwIAAPMBMwAAADMAAAC0AwAAtAEAAPQCAAC0igAAdwEAADcCAAD3AQAAeAEAAHgCAAA4AgAA+AEAADkCAAD5AQAAeQQAALoEAAC6AwAAugEAADoEAAD6AgAA+gMAAHwCAAB+AgAAAAB/AQAAPwMAAP8BOACmAAEAgQBnBQAAKAEpBWkF6gAAAEIFAADDAEMdAADvBGwFLABsAAQAAACtAG0FAADuBAUAbgCxBPEEMQXxj7IAAAByBQAAMwVzAPQEtJoAAAgAtwCOADcVAAA3BQAAzQB3ALcIOAUAAG8FyQAJAbkAOQX6BAoAewW7ALwAvgB+AD8FPwEAAAsBAADMAIwAAAAAAGcAAABsDW0ALwGwAHEAdgVMBEwc6Y8AAOnPOY4AADnO"),C(o,101586,"sQNZAlsCswO5A1MByQPGA4MCxQOSApQCfgJ8AgAAqgBhgLIAMoCzADOAuQAxgLoAb4CwAmiAsQJmgrICaoCzAnKAtAJ5grUCe4K2AoGCtwJ3gLgCeYDAApSCwQKVguACY4LhAmyA4gJzgOMCeIBwIDCAcSBpgHQgNIB1IDWAdiA2gHcgN4B4IDiAeSA5gHogK4B7IC2AfCA9gH0gKIB+ICmAfyBugIAgMECBIDFAgiAyQIMgM0CEIDRAhSA1QIYgNkCHIDdAiCA4QIkgOUCKICtAiyAtQIwgPUCNIChAjiApQJAgYUCRIGVAkiBvQJMgeECUIFlClSBoQJYga0CXIGxAmCBtQJkgbkCaIHBAmyBzQJwgdEAAAAAAaXhjbXZsZA=="),C(o,101888,"AQAAAAoAAABkAAAA6AMAAAUAAAAyAAAA9AEAAAAXCgkYExgY"),C(o,101936,"///////9+fXy7uvo5OHe2tjV0s/MycbEwb+8ure1s7CurKmopaOhn56bmZiWlJKRj42LiYiHhYOCgX9+fHt6eHd2dXNycXBvbm1ramloZ2ZlZGNiYWBfXl1cW1pZWVhXVlVUU1JSUVBQT05NTExLS0pJSEdHRkVFRENDQkJBQEA/Pj49PTw7Ozo6OTk4ODc2NjU1NDQ0MzIyMTEwMC8vLi4uLS0sLCwrKyopKCgoJycnJiYmJSUlJCQjIyMjIiIiISEhICAfHx8eHh4dHR0dHBwbGxsbGhoaGhkZGRgYGBgXFxcXFhYWFRUVFRQUFBQTExMSEhERERAQEBAQEA8PDw8ODg4NDQ0MDAwMCwsLCwoKCgkJCQgICAAAAAAAAAAAeHl4d3d2dnV0dHNycXBwb29ubWxrampoZ2dmZmZlZWNiYmFgYF9eXVtaW1pZWFZVVlVVVFJRUE9NTk5MTUtLSklHSEZFRUVDQUA/Pz89PTs7Ozo4OTo4NjU0NDU0NDIwLy8tLi0="),C(o,102336,"FhYWFhYWFhUVFRUUFBMTEhEQDw8PDw8PDwAAAAAAAABkeGRpZG5uZF9kaXhpbn2Ch3N9ZGl4S2RLaXhVS2RpeFVpX3N4ZF9kbnhfaWRzeGRkZGl4ZGlfc3huX2RpeGRpaXp9bmlkaXhkaWl6fW5pZGl4X2lkc3huZGRkeGRkZGRkZGRk"),C(o,102480,"ZJZkaW5zbm5uZGmWaW59h4xzh2RpllppWnqHZFpkaZZkaWR6h2RkZGmWZGlpc4duaWRplmRpaXqCeH1kaZZkaW56fXNuZGmWZGlpeod4aWRplmRpaXOHbmlkZGRkZGRkZGRkZA=="),C(o,102592,"bnhkbm5ubm5ubm54ZG5ubm5ubm5ueGRuZG5ubmRubnhkbm5ubm5ubm54ZG5ubm5ubm5ueGRubm5ubm5ubnhkbm5ubm5ubm54ZG5ubm5ubm5ueGRubm5ubm5ubnhkbm5ubm5ubg=="),C(o,102708,"rwAAAGQAAAAyAAAAMg=="),C(o,102744,"ZA=="),C(o,102764,"MjIoRlpkZGRGboeWZGRLZHiWAAAAAAAABwAAAA4AAAAVAAAAKAAAAFAAAAAAAAAAAFNBUFIAQwAAAAAARgAAAAAAAAABAAAAAgAAAAQAAAAPAAAAAAEAAAEBAAEBAgQAAAAAAPMAEAEAAQABAAEAAQAB8ADwAPA="),C(o,102898,"QABaAG4AgACPAJwAqQC1AMAAygDUAN0A5gDvAPcAAAEHAQ8BFgEeASUBLAEyATkBQAFGAUwBUgFYAV4BZAFqAW8BdQF6AYABhQGKAY8BlAGZAZ4BowGoAa0BsgG2AbsBwAHEAckBzQHRAdYB2gHeAeMB5wHrAe8B8wH3AfsBAAIDAgcCCwIPAhMCFwIbAh8CIgImAioCLQIxAjUCOAI8AkACQwJHAkoCTgJRAlQCWAJbAl8CYgJlAmkCbAJvAn
2810MCdgJ5AnwCgAKDAoYCiQKMAo8CkgKWApkCnAKfAqICpQKoAqsCrgKxArQCtwK6Ar0CwALCAsUCyALLAs4C0QLUAtYC2QLcAt8C4gLkAucC6gLtAu8C8gL1AvcC+gL9AgADAgMFAwcDCgMNAw8DEgMVAxcDGgMcAx8DIQMkAycDKQMsAy4DMQMzAzYDOAM7Az0DQANCA0QDRwNJA0wDTgNRA1MDVQNYA1oDXQNfA2EDZANmA2gDawNtA28DcgN0A3YDeQN7A30DgAOCA4QDhgMAAAGqAqytAwQFsLGys7S0tgYHCLkJCrwMDQ4PEBESYWJjZGVmZ2hpamtsbW5vcHFyc3R1"),C(o,103360,"YAYAAPAGAABmCQAA5gkAAGYKAADmCgAAZgsAAOYLAABmDAAA5gwAAGYNAABQDgAA0A4AACAPAABAEAAAkBA="),C(o,103440,"5gDmAOYA5gAAAAAA5gDmAL4AqgC+AMgAAAAAAL4A8AC+AL4A0gDSAAAAAADSANIAyADIANIA0gAAAAAA5gDmAOYA5gDwAPAAAAAAAAQBBAGqAIwA3ADcAAAAAAD6AA4BoACMAMgAjAAAAAAA8ACgALQAtADSANIAAAAAAOYA8ACqANwAtAC0AAAAAAD6AA4BlgCCAMgAyAAAAAAADgEOAbYAjADcANwAAAAAAPgAEwGbALQA0gDSAAAAAAAOASwBwwMAAAAAAABsAAAAAAAAAKAAkQCbAJYAAAAAAMgA9QAnAAAAtwAAAAAAAADCugAAyADIAMgAyAAAAAAA0gDmAAABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGgAAAAAAABscHR4fICEiIyQlJicoKSorAAAs"),C(o,103790,"LQAAAAAAAAAu"),C(o,103816,"Lw=="),C(o,103833,"MAAAAAAAMQ=="),C(o,103856,"Mg=="),C(o,103868,"MwAAAK0AAQBABgEADCAtAAAAAAC+AL4A0gDSAAAAAADmAPoAoACWAMgAyAAAAAAA+gAEAbkAwwDDAL4AAAAAANIA3AD6AMgA+gD6AAAAAAD6APoAMjM0Njk6PD0+P0BBQkNERkdJSktMTU5PUFFSU1RWAACWAIwAtAC0AAAAAADIAMgAbA=="),C(o,104016,"oADIALQAtAAAAAAA3ADwALQAoADIAMgAAAAAAPAA+gBjAAAAZgAAAGgAAABrAAAAcAAAAHQAAAB4AAAA/g=="),C(o,104096,"oACMAJYApQAAAAAA2gAxAZEAkQCqAKAAAAAAAEoBXgEuAAAALAAAACcAAADIAg=="),C(o,104160,"MTIzNTY3OTo7PD4/QEFCREVGR0hJSktMTU5PUFFSU1RW"),C(o,104208,"vgC0AOYA5gAAAAAA+gD6ABESExQWFxkaGxwdHyAhIiQlJicoKSosc3uDmwAAAAAAtAC0AL4AtAAAAAAA5gDwALQAtAC0AKAAAAAAAOYAtABABAAAMAQAADUEAAA4BAAAOQQAAD4EAABDBAAASwQAAE0EAABOBAAATwQAAFAEAABRBAAAVgQAAFcEAABdBAAAXgQ="),C(o,104368,"tACgAMgAyAAAAAAA3ADmAKAAhwDSANIAAAAAAAQBGAGgAIwAyADIAAAAAADcAOYAyADIAMgAyAAAAAAAyADIAKAAvgCvAK8AAAAAAMgA0gCqAHMA0gDwAAAAAAAEARgBqgCqALQAtAAAAAAA8AAEAZYAtADIAMgAAAAAANIA+gCWAJYAtAC0AAAAAAAsASwBoACHANwA3AAAAAAA+gAYAaAAqgDIAMgAAAAAAEABVAG0AKAA8ADwAAAAAAAEAQQBvgC0AMgA5gAAAAAA8AD6AJYAlgC0ALQA0gDmAOYA8ABhAAAA4AAAAOEAAACjHgAA4wAAAKEeAAADAQAAsR4AAK8eAACzHgAAtR4AALceAADiAAAApx4AAKUeAACpHgAAqx4AAK0eAABlAAAA6AAAAOkAAAC7HgAAvR4AALkeAADqAAAAwR4AAL8eAADDHgAAxR4AAMceAABpAAAA7AAAAO0AAADJHgAAKQEAAMseAABvAAAA8gAAAPMAAADPHgAA9QAAAM0eAAD0AAAA0x4AANEeAADVHgAA1x4AANkeAAChAQAA3R4AANseAADfHgAA4R4AAOMeAAB1AAAA+QAAAPoAAADnHgAAaQEAAOUeAACwAQAA6x4AAOkeAADtHgAA7x4AAPEeAAB5AAAA8x4AAP0AAAD3HgAA+R4AAPUe"),C(o,104896,"5gCWAOYA5gDmAAAA8AD6AAAAAAAnAAAAAAAAAAABAgM="),C(o,104945,"AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRo="),C(o,105072,"GxwdAAAeHyAhIiMkACUmAAAAACcAACgAKQAqACsAAAAAAAAsAC0ALgAAAAAALwAAADAAAAAAAAAAMQ=="),C(o,105170,"MgAz"),C(o,105195,"NAAAAAAANQA2"),C(o,105226,"NwA4ADkArQABAAwgAQ=="),C(o,105249,"AQIDAAQAAQIDAAQFBgIDAAQFBwEDAAQICQoDAAAICAoDAAALCwsLAAAMDAwMAAAMAQ4BEwEBAw8DDgYRBgMJAQsPCwEMCQwBDgYOCQ4ODg8OHA4DDxEPEg8PEBEQAREGEQkRDxETEiAS/38AAAAAlgCMANwA3AAAAAAABAEYAYKAeHRkZICAgIyAgKCrq4CAgA=="),C(o,105412,"yAAAAMgAAACQAQAAkAEAAJABAABYAgAAWAIAAFgC"),C(o,105456,"8AAAAKoAAACqAAAAqgAAAKoAAACqAAAAqgAAAKoAAACqAAAAAQIMAw0EDgULAAAAAQIDBAUGAAAAAAAACwwNDg=="),C(o,105540,"MgAAAK8AAABkAAAAMg=="),C(o,105568,"rw=="),C(o,105596,"EBAKEBY="),C(o,105620,"/38AANAHAAAsAQAAYwAAAGMAAABjAAAAAAAAANAH"),C(o,105668,"BA=="),C(o,105680,"QEFCQ0RFRkdISUpLTE1OT1BRUlNUVldYWVtcXV5gYWJkZWdoaWtsbm9xc3R2d3l7fH6AgoSFh4mLjY+Rk5WXmZueoKKkp6mrrrCztbi6vb/CxcfKzdDT1tnc3+Ll6Ozv8vb5/P7/"),C(o,105792,"//7+/v7+/v7+/v39/f38/Pz7+/v6+vn5+Pj39/b19fTz8/Lx7+3r6efl4+Hf3drY1dPQzcvIxcK/u7i1sq6rp6OgnJiUkIyIhH97d3JuaWRgXltYVlNRTkxKR0VCQD48OTc1MzEvLCooJiQiIB4dGxkXFRMSEA4MCwkHBgQDAQ=="),C(o,106064,"//7+/v7+/f38+/v6+fj39vX08vHv7uzq6efl4+Hf3NrY1dPRz83LycfFw8G/vbu5t7SysK2rqaakoZ+cmpeUko+MioeEgX57eHZzcGxpZmNgX11bWlhWVVNSUE9NTEpJSEZFRENCQD8+PTw7Ojk4Nzc2NTQ0MzIyMTAwLy8uLi4tLS0sLCwsLCwsKysrKywrKiopKCgnJiYlJCQjIyIhISAgHx4eHR0cHBsaGhkZGBgXFxYWFRUUFBMTEhISEREQEA8PDw4ODQ0NDAwLCwsKCgoJCQkICAgHBwcHBgYGBQUFBQQEBAQEAwMDAwICAgICAgEBAQEBAQ=="),C(o
vendor: 6,118 bytes, line 2810
2810,106341,"RvIpAC8ALwBF8ikALwAuAEXyKAAuAC0ANPIoAC0tLAA08igAKysrADTyKAAqKioANPIoACkpKQA08igAAOf/zv+1/5z/g/9q/1H/N/8e/wX/7P7T/rr+of6I/m/+Vf48/iP+Cv7x/dj9v/2m/Y39dP1b/UL9Kf0Q/ff83vzF/Kz8k/x6/GH8SPwv/Bb8/fvk+8v7svuZ+4D7Z/tP+zb7HfsE++v60vq6+qH6iPpv+lf6Pvol+g369Pnb+cP5qvmR+Xn5YPlH+S/5Fvn++OX4zfi0+Jz4g/hr+FP4Ovgi+Ar48ffZ98H3qPeQ93j3YPdH9y/3F/f/9uf2z/a39p/2h/Zv9lf2P/Yn9g/29/Xf9cf1sPWY9YD1aPVR9Tn1IfUK9fL02/TD9Kz0lPR99GX0TvQ29B/0CPTw89nzwvOr85TzfPNl807zN/Mg8wnz8vLb8sTyrvKX8oDyafJS8jzyJfIO8vjx4fHL8bTxnvGH8XHxW/FE8S7xGPEB8evw1fC/8Knwk/B98GfwUfA78CXwEPD67+Tvzu+576Pvje9472LvTe847yLvDe/47uLuze647qPuju557mTuT+467iXuEO777eft0u297antlO2A7WvtV+1C7S7tGu0F7fHs3ezJ7LXsoeyN7HnsZexR7D3sKuwW7ALs7+vb68jrtOuh643reutn61TrQest6xrrB+v06uLqz+q86qnqluqE6nHqX+pM6jrqJ+oV6gPq8One6czpuumo6ZbphOly6WHpT+k96SzpGukI6ffo5ujU6MPosuig6I/ofuht6FzoS+g76CroGegI6Pjn5+fX58bntuel55Xnhed152XnVedF5zXnJecV5wXn9ubm5tfmx+a45qjmmeaK5nvma+Zc5k3mPuYw5iHmEuYD5vXl5uXY5cnlu+Wt5Z7lkOWC5XTlZuVY5UrlPOUv5SHlE+UG5fjk6+Te5NDkw+S25KnknOSP5ILkdeRo5FzkT+RD5DbkKuQd5BHkBeT54+3j4ePV48njveOx46XjmuOO44Pjd+Ns42HjVuNL4z/jNOMq4x/jFOMJ4//i9OLq4t/i1eLK4sDituKs4qLimOKO4oTie+Jx4mfiXuJU4kviQuI54i/iJuId4hTiDOID4vrh8eHp4eDh2OHQ4cfhv+G34a/hp+Gf4Zfhj+GI4YDheOFx4WrhYuFb4VThTeFG4T/hOOEx4SrhJOEd4RbhEOEK4QPh/eD34PHg6+Dl4N/g2eDU4M7gyeDD4L7guOCz4K7gqeCk4J/gmuCV4JHgjOCH4IPgfuB64HbgcuBu4GrgZuBi4F7gWuBX4FPgT+BM4EngReBC4D/gPOA54DbgM+Ax4C7gK+Ap4CfgJOAi4CDgHuAc4BrgGOAW4BTgEuAR4A/gDuAN4AvgCuAJ4AjgB+AG4AXgBeAE4APgA+AC4ALgAuAC4ALgAeAC4ALgAuAC4ALgA+AD4ATgBeAF4AbgB+AI4AngCuAL4A3gDuAP4BHgEuAU4BbgGOAa4BzgHuAg4CLgJOAn4CngK+Au4DHgM+A24DngPOA/4ELgReBJ4EzgT+BT4FfgWuBe4GLgZuBq4G7gcuB24HrgfuCD4IfgjOCR4JXgmuCf4KTgqeCu4LPguOC+4MPgyeDO4NTg2eDf4OXg6+Dx4Pfg/eAD4QrhEOEW4R3hJOEq4THhOOE/4UbhTeFU4VvhYuFq4XHheOGA4Yjhj+GX4Z/hp+Gv4bfhv+HH4dDh2OHg4enh8eH64QPiDOIU4h3iJuIv4jniQuJL4lTiXuJn4nHie+KE4o7imOKi4qzituLA4sri1eLf4uri9OL/4gnjFOMf4yrjNOM/40vjVuNh42zjd+OD447jmuOl47HjvePJ49Xj4ePt4/njBeQR5B3kKuQ25EPkT+Rc5GjkdeSC5I/knOSp5Lbkw+TQ5N7k6+T45AblE+Uh5S/lPOVK5VjlZuV05YLlkOWe5a3lu+XJ5djl5uX15QPmEuYh5jDmPuZN5lzma+Z75ormmeao5rjmx+bX5ubm9uYF5xXnJec150XnVedl53XnheeV56XntufG59fn5+f45wjoGegq6DvoS+hc6G3ofuiP6KDosujD6NTo5uj36AjpGuks6T3pT+lh6XLphOmW6ajpuunM6d7p8OkD6hXqJ+o66kzqX+px6oTqluqp6rzqz+ri6vTqB+sa6y3rQetU62freuuN66HrtOvI69vr7+sC7BbsKuw97FHsZex57I3soey17Mns3ezx7AXtGu0u7ULtV+1r7YDtlO2p7b3t0u3n7fvtEO4l7jruT+5k7nnuju6j7rjuze7i7vjuDe8i7zjvTe9i73jvje+j77nvzu/k7/rvEPAl8DvwUfBn8H3wk/Cp8L/w1fDr8AHxGPEu8UTxW/Fx8YfxnvG08cvx4fH48Q7yJfI88lLyafKA8pfyrvLE8tvy8vIJ8yDzN/NO82XzfPOU86vzwvPZ8/DzCPQf9Db0TvRl9H30lPSs9MP02/Ty9Ar1IfU59VH1aPWA9Zj1sPXH9d/19/UP9if2P/ZX9m/2h/af9rf2z/bn9v/2F/cv90f3YPd495D3qPfB99n38fcK+CL4OvhT+Gv4g/ic+LT4zfjl+P74Fvkv+Uf5YPl5+ZH5qvnD+dv59PkN+iX6PvpX+m/6iPqh+rr60vrr+gT7Hfs2+0/7Z/uA+5n7svvL++T7/fsW/C/8SPxh/Hr8k/ys/MX83vz3/BD9Kf1C/Vv9dP2N/ab9v/3Y/fH9Cv4j/jz+Vf5v/oj+of66/tP+7P4F/x7/N/9R/2r/g/+c/7X/zv/n/wAAGQAyAEsAZAB9AJYArwDJAOIA+wAUAS0BRgFfAXgBkQGrAcQB3QH2AQ8CKAJBAloCcwKMAqUCvgLXAvACCQMiAzsDVANtA4YDnwO4A9ED6gMDBBwENQROBGcEgASZBLEEygTjBPwEFQUuBUYFXwV4BZEFqQXCBdsF8wUMBiUGPQZWBm8GhwagBrkG0QbqBgIHGwczB0wHZAd9B5UHrQfGB94H9gcPCCcIPwhYCHAIiAigCLkI0QjpCAEJGQkxCUkJYQl5CZEJqQnBCdkJ8QkJCiEKOQpQCmgKgAqYCq8KxwrfCvYKDgslCz0LVAtsC4MLmwuyC8oL4Qv4CxAMJww+DFUMbAyEDJsMsgzJDOAM9wwODSUNPA1SDWkNgA2XDa4NxA3bDfINCA4fDjUOTA5iDnkOjw6lDrwO0g7oDv8OFQ8rD0EPVw9tD4MPmQ+vD8UP2w/wDwYQHBAyEEcQXRBzEIgQnhCzEMgQ3hDzEAgRHhEzEUgRXRFyEYcRnBGxEcYR2xHwEQUSGRIuEkMSVxJsEoASlRKpEr4S0hLmEvsSDxMjEzcTSxNfE3MThxObE68TwxPWE+oT/hMRFCUUOBRMFF8UcxSGFJkUrBS/FNMU5hT5FAwVHhUxFUQVVxVqFXwVjxWhFbQVxhXZFesV/RUQFiIWNBZGFlgWahZ8Fo4WnxaxFsMW1BbmFvgWCRcaFywXPRdOF2AXcReCF5MXpBe1F8UX1hfnF/gXCBgZGCkYOhhKGFsYaxh7GIsYmxirGLsYyxjbGOsY+xgKGRoZKRk5GUgZWBlnGXYZhRmVGaQZsxnCGdAZ3xnuGf0ZCxoaGigaNxpFGlMaYhpwGn4ajBqaGqgathrEGtEa3xrtGvoaCBsVGyIbMBs9G0obVxtkG3EbfhuLG5gbpBuxG70byhvWG+Mb7xv7GwccExwfHCscNxxDHE8cWxxmHHIcfRyJHJQcnxyqHLUcwRzMHNYc4RzsHPccAR0MHRYdIR0rHTYdQB1KHVQdXh1oHXIdfB2FHY8dmR2iHawdtR2+Hccd0R3aHeMd7B30Hf0dBh4PHhceIB4oHjAeOR5BHkkeUR5ZHmEeaR5xHngegB6IHo8elh6eHqUerB6zHroewR7IHs8e1h7cHuMe6h7wHvYe/R4DHwkfDx8VHxsfIR8nHywfMh83Hz0fQh9IH00fUh9XH1wfYR9mH2sfbx90H3kffR+CH4Yfih+OH5Iflh+aH54foh+mH6kfrR+xH7Qftx+7H74fwR/EH8cfyh/NH88f0h/VH9cf2R/cH94f4B/iH+Qf5h/oH+of7B/uH+8f8R/yH/Mf9R/2H/cf+B/5H/of+x/7H/wf/R/9H/4f/h/+H/4f/h//H/4f/h/+H/4f/h/9H/0f/B/7H/sf+h/5H/gf9x/2H/Uf8x/yH/Ef7x/uH+wf6h/oH+Yf5B/iH+Af3h/cH9kf1x/VH9Ifzx/NH8ofxx/EH8Efvh+7H7cftB+xH60fqR+mH6Ifnh+aH5Yfkh+OH4ofhh+CH30feR90H28fax9mH2EfXB9XH1IfTR9IH0IfPR83HzIfLB8nHyEfGx8VHw8fCR8DH/0e9h7wHuoe4x7cHtYezx7IHsEeuh6zHqwepR6eHpYejx6IHoAeeB5xHmkeYR5ZHlEeSR5BHjkeMB4oHiAeFx4PHgYe/R30Hewd4x3aHdEdxx2+HbUdrB2iHZkdjx2FHXwdch1oHV4dVB1KHUAdNh0rHSEdFh0MHQEd9xzsHOEc1hzMHMEctRyqHJ8clByJHH0cchxmHFscTxxDHDccKxwfHBMcBxz7G+8b4xvWG8obvRuxG6QbmBuLG34bcRtkG1cbShs9GzAbIhsVGwgb+hrtGt8a0RrEGrYaqBqaGowafhpwGmIaUxpFGjcaKBoaGgsa/RnuGd8Z0BnCGbMZpBmVGYUZdhlnGVgZSBk5GSkZGhkKGfsY6xjbGMsYuxirGJsYixh7GGsYWxhKGDoYKRgZGAgY+BfnF9YXxRe1F6QXkxeCF3EXYBdOFz0XLBcaFwkX+BbmFtQWwxaxFp8WjhZ8FmoWWBZGFjQWIhYQFv0V6xXZFcYVtBWhFY8VfBVqFVcVRBUxFR4VDBX5FOYU0xS/FKwUmRSGFHMUXxRMFDgUJRQRFP4T6hPWE8MTrxObE4cTcxNfE0sTNxMjEw8T+xLmEtISvhKpEpUSgBJsElcSQxIuEhkSBRLwEdsRxhGxEZwRhxFyEV0RSBEzER4RCBHzEN4QyBCzEJ4QiBBzEF0QRxAyEBwQBhDwD9sPxQ+vD5kPgw9tD1cPQQ8rDxUP/w7oDtIOvA6lDo8OeQ5iDkwONQ4fDggO8g3bDcQNrg2XDYANaQ1SDTwNJQ0ODfcM4AzJDLIMmwyEDGwMVQw+DCcMEAz4C+ELyguyC5sLgwtsC1QLPQslCw4L9grfCscKrwqYCoAKaApQCjkKIQoJCvEJ2QnBCakJkQl5CWEJSQkxCRkJAQnpCNEIuQigCIgIcAhYCD8IJwgPCPYH3gfGB60HlQd9B2QHTAczBxsHAgfqBtEGuQagBocGbwZWBj0GJQYMBvMF2wXCBakFkQV4BV8FRgUuBRUF/ATjBMoEsQSZBIAEZwROBDUEHAQDBOoD0QO4A58DhgNtA1QDOwMiAwkD8ALXAr4CpQKMAnMCWgJBAigCDwL2Ad0BxAGrAZEBeAFfAUYBLQEUAfsA4gDJAK8AlgB9AGQASwAyABkAMAAAADAAAABAAAAAUAAAAJAAAACgAAAAsAAAAMAAAACAm7XL3Ojt7Obczr+wo5iQjIuMj5KUlZKMg3hpWUk8MSopLTZEVml9j5+qsbKtpJaHeGlcU09PVV5reoiWoquwsa6ooJiRi4iJjZSdqLK7wMG9tKWSfGNKMh4OBQIFDx4wRFltf4yWnJ+fnZuZmZyhqbO/ytXc4N7YzLumj3dgSzouKCkvOkhZanqGkJSVkYmAdWtiXFpcYWl0gIqUmp6dmJCGfHFoYmBja3iIm6/C0t/m5+LXxrKchG9bS0A5Nzg9Q0pQVFZVUk1IQj8+QUlWZ3yTq8PZ6vb8+/Tn1cCqlIBxZF1aXGFocHd9f397dGthV05IRkhOWWZ1hJOfp6uqpJmLe2pbTkZDRU1aa3+SprjFz9PSzcS5raGWjomHh4qNkZKRjIR4aFVBLhwOBQEFDx80TWiBmrDBzdPT0Mi/taukn5ydoKWqrrGwq6OWh3ZjUUI2Ly0xOkhZa36OnKaqqaOYintsXVJKSEpQWmd1gi0AAAAmAAAALQAAAC0AAAA3AAAALQ=="),C(
2810o,110928,"yv5w/hICZAHgAFkAFwD2/8b/8P/NAVcCGAK9AgIDXQLxAc0BMAKUAW4A4ACDAGgAn/+bABYBZv9z+6r94QJ9ALD9KQALAAn/9v9BAFwAUADQ/kcApwD//3oA6QChANX/FgHfAeUBlwEKAYoChgBQAOwARAAEAQ0BswA1AIwAEwElASgBaAABAZgANwG2AAcB9QB9ADoBjAAsAMsA5gAV/+L+FwBrAFwApf8mANABuwGwAGIA8Pxv9p346/vA+Ur6mPoT+0v8Jv0="),C(o,111162,"BgAHAAgACQAKAAsADQAOABAAEgAUABYAGQAcACAAIwAoAC0AMwA5AEAARwBQAFoAZQByAIAAjgCfALMAygDjAAABHAE+AWcBlQHHAQACOAJ+As8CcQOPAwAEcQT8BJ4FVgYfBwAI4Qj4CTsLrAw9DgAQwxHwE3cWWBl7HAAghSPfJ+4ssDL2OABArkekUIVbZmYzc/9/"),C(o,111324,"qMtoQQAAAACoy2jBAAAAAAAAAAAXCtQJkglQCQ8JzgiPCE8IEwjVB5oHYgcoB/MGvgaLBloGKwb9BdMFqQWBBVwFOAUWBfcE1wS7BKAEhgRuBFcEQQQtBBkEBwT1A+QD1APFA7YDqAOZA40DfwNxA2UDVwNLAz4DMgMkAxgDCwP+AvIC5ALYAssCvgKxAqQClwKLAn0CcgJkAlkCTAJAAjQCKAIcAhICBQL7AfAB5QHbAdABxgG7AbIBqAGeAZQBigGBAXcBbgFjAVsBUAFIAT0BNAErASABGAENAQQB+gDwAOcA3ADUAMgAwAC1AKwAoQCYAI4AhQB7AHEAaQBeAFYATABDADkAMQAnAB4AFgALAAQA+//y/+n/4P/X/87/xP+7/7L/qf+g/5X/jf+C/3r/cP9m/1z/Uv9J/z//Nf8r/yL/F/8O/wT/+v7x/uf+3f7T/sr+wP62/q3+o/6b/pD+h/59/nP+av5f/lb+TP5C/jj+Lf4j/hn+Df4D/vf97P3h/dX9yf29/bH9pf2Y/Yz9f/1z/Wb9Wf1M/T/9M/0k/Rn9Cv3//PH85fzY/Mz8vvyz/KT8mPyL/H78cfxi/FX8Rfw4/Cb8GfwG/Pb74vvQ+7r7pfuO+3b7XPtB+yT7Bvvl+sT6n/p5+lP6KPr++dD5oflw+Tz5CfnR+Jr4YPgm+Oj3q/ds9yz36/aq9mj2Jvbj9bAEdgRABA4E3wO0A4sDZQNBAx8DAAPiAsYCqwKSAnoCZAJOAjoCJwIVAgMC8wHjAdQBxgG4AasBnwGTAYcBfAFyAWgBXgFVAUwBQwE7ATMBLAEkAR0BFgEQAQkBAwH9APcA8gDtAOcA4gDdANkA1ADQAMwAxwDDAMAAvAC4ALQAsQCuAKoApwCkAKEAngCbAJkAlgCTAJEAjgCMAIkAhwCFAIMAgAB+AHwAegB4AHcAdQBzAHEAbwBuAGwAagBpAGcAZgBkAGMAYQBgAF8AXQBcAFsAWgBYAFcAVgBVAFQAUwBSAFAATwBOAE0ATABLAEsASgBJAEgARwBGAEUARABEAEMAQgBBAEAAQAA/AD4APQA9ADwAOwA7ADoAOQA5ADgAOAA3ADcANgA2ADUANQA0ADQAMwAzADIAMgAxADEAMAAwAC8ALwAuAC4ALQAtACwALAArACsAKgAqACkAKQApACkAKAAoACcAJwAmACYAJgAmACUAJQAkACQAJAAkACMAIwAjACMAIgAiACEAIQAhACEAIAAgACAAIAAfAB8AHwAfAB4AHgAeAB4AHQAdAB0AHQAcABwAHAAcABsAGwAxNkZyYW1lTWFuYWdlckltcGwAMTJGcmFtZU1hbmFnZXIAMjNTcGVlY2hXYXZlR2VuZXJhdG9ySW1wbAAxOVNwZWVjaFdhdmVHZW5lcmF0b3IAMTNXYXZlR2VuZXJhdG9y"),C(o,112416,"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"),C(o,115203,"QPsh+T8AAAAALUR0PgAAAICYRvg8AAAAYFHMeDsAAACAgxvwOQAAAEAgJXo4AAAAgCKC4zYAAAAAHfNpNf6CK2VHFWdAAAAAAAAAOEMAAPr+Qi52vzo7nrya9wy9vf3/////3z88VFVVVVXFP5ErF89VVaU/F9CkZxERgT8AAAAAAADIQu85+v5CLuY/JMSC/72/zj+19AzXCGusP8xQRtKrsoM/hDpOm+DXVT8="),C(o,115390,"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gryYg8kW42DvP6ySwdVQWo48hTLbA+Zp7z9LawGsWTqEPGC0AfMhc+8/Hz60ByHVgrxfm3szl3zvP8kNRzu5Kom8KaH1FEaG7z/TiDpgBLZ0PPY/i+cukO8/cXKdUezFgzyDTMf7UZrvP/CR048S94+82pCkoq+k7z99dCPim
2810K6NvPFnji1Ir+8/CCCqQbzDjjwnWmHuG7rvPzLrqcOUK4Q8l7prNyvF7z/uhdExqWSKPEBFblt20O8/7eM75Lo3jrwUvpyt/dvvP53NkU07iXc82JCegcHn7z+JzGBBwQVTPPFxjyvC8+8/EhETFBUWFxgZGhscHR4fICERIiMkESUmJygpKissES0uLxAQMBAQEBAQEBAxMjMQNDUQEBERERERERERERERERERERERERERERERERE2ERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERNxERERE4ETk6Ozw9PhERERERERERERERERERERERERERERERERERERERERERERERERERERERERE/EBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEUBBEUJDREVGR0hJShFLTE1OT1BREFJTVFVWV1hZWltcXRBeX2AQERERYWJjEBAQEBAQEBAQEBERERFkEBAQEBAQEBAQEBAQEBAQERFlEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQERFmZxAQaGkREREREREREREREREREREREREREREREWoREWsQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEWxtEBAQEBAQEBAQbhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQb3BxchAQEBAQEBAQc3R1EBAQEBB2dxAQEBB4EBB5EBAQEBAQEBAQEBAQEBA="),C(o,117968,"//////////////////////////////////////////8AAAAAAAAAAP7//wf+//8HAAAAAAAEIAT//3////9//////////////////////////////////8P/AwAfUA=="),C(o,118072,"IAAAAAAA37xA1///+////////////7///////////////////////wP8///////////////////////////+////fwL//////wEAAAAA/7+2AP///4cHAAAA/wf//////////v/D////////////////7x/+4f+fAAD///////8A4P///////////////wMA//////8HMAT////8/x8AAP///wH/BwAAAAAAAP//3z8AAPD/+AP////////////v/9/h/8///v/vn/n///3F459ZgLDP/wMQ7of5///9bcOHGQJewP8/AO6/+////e3jvxsBAM//AB7un/n///3t458ZwLDP/wIA7Mc91hjH/8PHHYEAwP8AAO/f/f///f/j3x1gB8//AADv3/3///3v498dYEDP/wYA79/9/////+ffXfCAz/8A/Oz/f/z///svf4Bf/8D/DAD+/////3//Bz8g/wMAAAAA1vf//6///ztfIP/zAAAAAAEAAAD/AwAA//7///8f/v8D///+////HwAAAAAAAAAA////////f/n/A////////////z//////vyD///////f///////////89fz3//////z3/////PX89/3//////////Pf//////////BwAAAAD//wAA/////////////z8//v//////////////////////////////////////////////////////////n////v//B////////////8f/Af/fDwD//w8A//8PAP/fDQD////////P//8BgBD/AwAAAAD/A///////////////Af//////B///////////PwD///9//w//AcD/////Px8A//////8P////A/8DAAAAAP///w//////////f/7/HwD/A/8DgA=="),C(o,118768,"////////7//vD/8DAAAAAP//////8////////7//AwD///////9/AP/j//////8//wH//////+cAAAAAAN5vBP///////////////////////////////wAAAACA/x8A//8/P/////8/P/+q////P////////99f3B/PD/8f3B8="),C(o,118910,"AoAAAP8f"),C(o,118928,"hPwvPlC9//PgQwAA//////8B"),C(o,118982,"wP///////wMAAP//////f///////f/////////////////////8feAwA/////78g/////////4AAAP//fwB/f39/f39/f/////8AAAAAAIA="),C(o,119088,"4AAAAP4DPh/+////////////f+D+//////////////fg///////+/////////////38AAP///wcAAAAAAAD///////////////////////////////8/"),C(o,119184,"////////////////////////////////////////AAD//////////////////////x8AAAAAAAAAAP//////P/8f////DwAA//////9/8I///////////////////wAAAACA//z////////////////5////////fAAAAAAAgP+//////wAAAP///////w8A//////////8vAP8DAAD86P//////B/////8HAP///x/////////3/wCA/wP///9/////////fwD/P/8D//9//P////////9/BQAAOP//PAB+fn4Af3////////f/AP///////////////////wf/A///////////////////////////DwD//3/4//////8P/////////////////z//////////////////AwAAAAB/APjg//1/X9v/////////////////AwAAAPj///////////////8/AAD///////////z///////8AAAAAAP8P"),C(o,119582,"3/////////////////////8fAAD/A/7//wf+//8HwP////////////9//Pz8HAAAAAD/7///f///t/8//z8AAAAA////////////////////BwAAAAAAAAAA////////Hw=="),C(o,119712,"////H////////wEAAAAAAP////8A4P///wf//////wf///8//////w//PgAAAAAA/////////////////////////z//A/////8P/////w///////wD///////8P"),C(o,119824,"////////fwD//z8A/w=="),C(o,119856,"P/3/////v5H//z8A//9/AP///38AAAAAAAAAAP//NwD//z8A////AwAAAAAAAAAA/////////8AAAAAAAAAAAG/w7/7//z8AAAAAAP///x////8fAAAAAP/+//8fAAAA////////PwD//z8A//8HAP//Aw=="),C(o,119984,"////////////AQAAAAAAAP///////wcA////////BwD//////wD/Aw=="),C(o,120048,"////H4AA//8/"),C(o,120076,"//9/AP//////////PwAAAMD/AAD8////////AQAA////Af8D////////x/9wAP////9HAP//////////HgD/FwAAAAD///v///+fQAAAAAAAAAAAf73/v/8B/////////wH/A++f+f///e3jnxmB4A8="),C(o,120208,"//////////+7B/+DAAAAAP//////////swD/Aw=="),C(o,120256,"////////P38AAAA/AAAAAP////////9/EQD/AwAAAAD///////8/Af8DAAAAAAAA////5/8H/wM="),C(o,120336,"/////////wE="),C(o,120356,"////////////AwCA"),C(o,120388,"//z///////waAAAA////////538AAP///////////yAAAAAA/////////wH//f////9/fwEA/wMAAPz////8///+fw=="),C(o,120464,"f/v/////f7TLAP8Dv/3///9/ewH/Aw=="),C(o,120524,"//9/AP////////////////////////8D"),C(o,120560,"/////////////////38AAP///////////////////////////////w8="),C(o,120624,"//////9/"),C(o,120656,"//////////9/"),C(o,120688,"/////////wH///9//wM="),C(o,120714,"////PwAA////////AAAPAP8D+P//4P//"),C(o,120760,"//////////8="),C(o,120784,"////////////h/////////+A//8AAAAAAAAAAAsAAAD/////////////////////////////////////////AP///////////////////////////////////////wcA////fwAAAAAAAAcA8AD/////////////////////////////////////////////////////////////////D/////////////////8H/x//Af9D"),C(o,120976,"/////////////9///////////99k3v/r7/////////+/59/f////e1/8/f//////
2810////////////////////////////////////////////////P/////3///f////3///f////3///f////3/////9/////f//98////////9////52wc="),C(o,121136,"//////8fgD//Qw=="),C(o,121192,"//////8P/wP///////////////////////////////8fAAAAAAAAAP//////////jwj/Aw=="),C(o,121264,"7////5b+9wqE6paqlvf3Xv/7/w/u+/8P"),C(o,121302,"////A////wP///8D"),C(o,121328,"/////////////////////////////////////////////////////////////////wABAgMEBQYHCAn/////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP///////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8="),C(o,121601,"ARcCHRgTAx4bGQsUCAQNHxYcEhoKBwwVEQkGEAUPDt4SBJUAAAAA////////////////INsBABQAAABDLlVURi04"),C(o,121696,"TENfQ1RZUEUAAAAATENfTlVNRVJJQwAATENfVElNRQAAAAAATENfQ09MTEFURQAATENfTU9ORVRBUlkATENfTUVTU0FHRVM="),C(o,121776,"Qy5VVEYtOA=="),C(o,121800,"MAUCAE5vIGVycm9yIGluZm9ybWF0aW9uAElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE11bHRpaG9wIGF0dGVtcHRlZABSZXF1aXJlZCBrZXkgbm90IGF2YWlsYWJsZQBLZXkgaGFzIGV4cGlyZWQAS2V5IGhhcyBiZWVuIHJldm9rZWQAS2V5IHdhcyByZWplY3RlZCBieSBzZXJ2aWNl"),C(o,123730,"pQJbAPABtQWMBSUBgwYdA5QE/wDHAzEDCwa8AY8BfwPKBCsA2gavAEIDTgPcAQ4EFQChBg0BlAILAjgGZAK8Av8CXQPnBAsHzwLLBe8F2wXhAh4GRQKFAIICbANvBPEA8wMYBdkA2gNMBlQCewGdA70EAABRABUCuwCzA20A/wGFBC8F+QQ4AGUBRgGfALcGqAFzAlMB"),C(o,123928,"IQQAAAAAAAAAAC8C"),C(o,123960,"NQRHBFYE"),C(o,123982,"oAQ="),C(o,124002,"RgVgBW4FYQYAAM8BAAAAAAAAAADJBukG+QYeBzkHSQdeBw=="),C(o,124048,"GQAKABkZGQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAAZABEKGRkZAwoHAAEACQsYAAAJBgsAAAsABhkAAAAZGRk="),C(o,124129,"DgAAAAAAAAAAGQAKDRkZGQANAAACAAkOAAAACQAOAAAO"),C(o,124187,"DA=="),C(o,124199,"EwAAAAATAAAAAAkMAAAAAAAMAAAM"),C(o,124245,"EA=="),C(o,124257,"DwAAAAQPAAAAAAkQAAAAAAAQAAAQ"),C(o,124303,"Eg=="),C(o,124315,"EQAAAAARAAAAAAkSAAAAAAASAAASAAAaAAAAGhoa"),C(o,124370,"GgAAABoaGgAAAAAAAAk="),C(o,124419,"FA=="),C(o,124431,"FwAAAAAXAAAAAAkUAAAAAAAUAAAU"),C(o,124477,"Fg=="),C(o,124489,"FQAAAAAVAAAAAAkWAAAAAAAWAAAWAAAwMTIzNDU2Nzg5QUJDREVG"),C(o,124564,"EQ=="),C(o,124604,"//////////8="),C(o,124672,"0XSeAFedvSqAcFIP//8+Jw
2810oAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFGAAAADUAAABxAAAAa////877//+Sv///AAAAAAAAAAACAADAAwAAwAQAAMAFAADABgAAwAcAAMAIAADACQAAwAoAAMALAADADAAAwA0AAMAOAADADwAAwBAAAMARAADAEgAAwBMAAMAUAADAFQAAwBYAAMAXAADAGAAAwBkAAMAaAADAGwAAwBwAAMAdAADAHgAAwB8AAMAAAACzAQAAwwIAAMMDAADDBAAAwwUAAMMGAADDBwAAwwgAAMMJAADDCgAAwwsAAMMMAADDDQAA0w4AAMMPAADDAAAMuwEADMMCAAzDAwAMwwQADNsAAAAAIAAAAAkAAAAKAAAADQAAAAsAAAAMAAAAhQAAAAAgAAABIAAAAiAAAAMgAAAEIAAABSAAAAYgAAAIIAAACSAAAAogAAAoIAAAKSAAAF8gAAAAMAAAAAAAAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAAAAAGjpAQB46AEAZOoBAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQAAAGjpAQCo6AEAnOgBAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQAAAGjpAQDY6AEAnOgBAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FAGjpAQAI6QEA/OgBAAAAAADM6AEAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAAAAAAsOkBABQAAAAcAAAAFgAAABcAAAAYAAAAHQAAAB4AAAAfAAAATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAAAAAGjpAQCI6QEAzOgBAAAAAAAg6gEACQAAACAAAAAhAAAAAAAAAEjqAQAJAAAAIgAAACMAAAAAAAAACOoBAAkAAAAkAAAAJQAAAFN0OWV4Y2VwdGlvbgAAAABA6QEA+OkBAFN0OWJhZF9hbGxvYwAAAABo6QEAEOoBAAjqAQBTdDIwYmFkX2FycmF5X25ld19sZW5ndGgAAAAAaOkBACzqAQAg6gEAU3Q5dHlwZV9pbmZvAAAAAEDpAQBU6gE="),C(o,125552,"wLEAAMCyAADAswAAwLQAAMC1AADAtgAAwLcAAMC4AADAuQAAwLoAAMC7AADAvAAAwL0AAMC+AADAvwAAwMAAAMDBAADAwgAAwMMAAMDEAADAxQAAwMIAAMDGAADAxwAAwMgAAMDJAADAygAAwMsAAMDMAADAzQAAwM4AAMDPAADA0AAAwNEAAMDSAADA0wAAwNQAAMDVAADA1gAAwNcAAMDYAADA2QAAwNIAAMDaAADA2wAAwNwAAMDdAADA3gAAwN8AAMDgAADA4QAAwNgAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADA4gAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwOMAAMDkAADAwgAAwMIAAMDCAADA5QAAwMIAAMDmAADA5wAAwOgAAMDpAADA6gAAwOsAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADA7AAAwO0AAMDCAADA7gAAwO8AAMDCAADA8AAAwPEAAMDyAADA8wAAwPQAAMD1AADA9gAAwPcAAMD4AADAwgAAwPkAAMD6AADA+wAAwPwAAMD9AADA/gAAwP8AAMAAAQDAAQEAwAIBAMADAQDABAEAwAUBAMAGAQDABwEAwAgBAMAJAQDACgEAwAsBAMAMAQDACwEAwA0BAMAOAQDADwEAwAsBAMDCAADAwgAAwMIAAMAQAQDAEQEAwBIBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDAwgAAwMIAAMDCAADAwgAAwBMBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMDCAADAwgAAwBQBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMDCAADAwgAAwBUBAMAWAQDACwEAwAsBAMAXAQDAGAEAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAGQEAwMIAAMDCAADAGgEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMDCAADAGwEAwBwBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMAdAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwB4BAMAfAQDAIAEAwCEBAMAiAQDAIwEAwCQBAMAlAQDA2AAAwNgAAMAmAQDACwEAwAsBAMALAQDACwEAwAsBAMAnAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwCgBAMApAQDACwEAwAsBAMAqAQDACwEAwCsBAMALAQDALAEAwC0BAMAuAQDALwEAwNgAAMDYAADAMAEAwDEBAMAyAQDAMwEAwDQBAMALAQDACwEAwAsBAMALAQDACwEAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMA1AQDAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwDYBAMA3AQDAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAOAEAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMA5AQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDAwgAAwMIAAMA6AQDAOwEAwDwB"),C(o,128496,"oVcBAEEAAADdVwEAQgAAACZYAQBDAAAAa1gBAEQAAADSWAEARQAAABNZAQBGAAAAfFkBAEcAAACEWQEASAAAADBaAQBJAAAAZ1oBAEoAAADuWgEASwAAAC5bAQBMAAAAcVsBAE0AAADZWwEATgAAAGtcAQBPAAAAh1wBAAgAAADcXAEACQAAAB9dAQAKAAAAZ10BAAsAAACVXQEADAAAAMpdAQANAAAAD14BAA4AAAAqXgEADwAAAIZeAQAPAAAAvV4BABAAAABDXwEA
2810EQAAAH1fAQASAAAAq18BABMAAADZXwEAFAAAAAVgAQAVAAAAMGABABcAAABgYAEAGAAAAHlgAQAZAAAAtWABABsAAADdYAEAHAAAAPBgAQAdAAAAI2EBACAAAABEYQEAIQAAAG9hAQAiAAAAnWEBACMAAADRYQEAJAAAAPNhAQAlAAAAFWIBACYAAABZYgEAKAAAAH1iAQApAAAArmIBACoAAADoYgEAKwAAADVjAQAtAAAAb2MBAC4AAACnYwEALwAAAOZjAQAwAAAAeGQBADEAAACdZAEAMgAAAM9kAQAzAAAA/mQBAGQAAABgZQEAyAAAAN1lAQDJAAAAAAAAAP////8iZgEAAQAAAD5mAQACAAAABVUBAAMAAADNZgEAEQAAADRnAQASAAAAg2cBABMAAAD7ZwEAFAAAADtoAQAVAAAATGgBABYAAAB0aAEAEQAAALdoAQAhAAAAymgBACIAAAD+aAEAIwAAAEtpAQAkAAAAaWkBACUAAACfaQEAJgAAAOJpAQAhAAAAAAAAAP////8AAAAAAAAAACYAAAAAAAAAAQAAAJByAQABAAAAkHMBAAEAAACQdAEAAQAAAJB1AQABAAAAkHYBAAEAAACQdwEAAQAAAJB4AQABAAAAkHkBAAEAAACQegEAAQAAAJB7AQABAAAAkHwBAAEAAACQfQEAAQAAAJB+AQABAAAAkH8BAAEAAACQgAEAAQAAAJCBAQABAAAAkIIBAAUAAAAAAAAABg=="),C(o,129280,"oIMBAKCDAQAghAEAIIQBAKCEAQAghQEAoIUBACCGAQCghgEAoIYBACCHAQAghwEAoIcBAKCHAQAgiAEAIIgBAKCIAQCgiAEAIIkBACCJAQAuOU4ycIoBAAMHBQCQigEALjlOLnCKAQADBwUAkIoBAC45Ti5wigEAAwcFAJCKAQAuOVoycIoBAAMJBQCVigEALjlOMnCKAQADBwUAkIoBAC45SjdwigEABAcFAJqKAQAuOUo3cIoBAAQHBQCaigEALjlKN3CKAQAEBwUAmooBAC45TjJwigEAAwcFAJCKAQAuOU4ucIoBAAMHBQCQigEALjlOMnCKAQADBwUAkIoBACIpKSBwigEAAwcFAJqKAQAuOTcycIoBAAMHBQCaigEAo1MBABABAAAAVAEADAEAANJUAQARAQAAClUBACMAAAB/VQEAGwAAADRWAQAVAAAAxVYBAAABAAABVwEAAgEAAE1XAQADAQAAvVcBAAQBAAD7VwEABQEAAE5YAQATAAAAkVgBAB4AAADVWAEAFwAAAF9ZAQAaAAAAkVkBABkAAAD0WQEAGAAAADhaAQAdAAAAzloBABwAAAAPWwEAFgAAADdbAQAU"),C(o,129744,"Q1gBABABAACIWAEADAEAAPNYAQARAQAAM1kBACMAAACHWQEAGwAAAOBZAQAVAAAAQloBAAABAACcWgEAAgEAAABbAQADAQAAT1sBAAQBAACnWwEABQEAAEhcAQATAAAAc1wBAB4AAADEXAEAFwAAABVdAQAaAAAAXV0BABkAAACIXQEAGAAAANJdAQAdAAAABF4BABwAAAAvXgEAFgAAAF9eAQAU"),C(o,129920,"u08BAAEAAABcUAEAAAAAAM9QAQAAAAAAOFIBAAAAAABBUwEAAAAAAIFTAQAAAAAA+1MBAAAAAADnVAEAAAAAACVVAQAAAAAAiVUBAAAAAABUVgEAAAAAAPxWAQAAAAAADlcBAAAAAABIVwEAAAAAAKdXAQAAAAAA9lcBAAAAAAA3WAEAAAAAAKNYAQAAAAAA6FgBAAAAAAAuWQEAAAAAAH9ZAQAAAAAA61kBAAAAAAD/////g00BAIIAAAB5AAAAdg=="),C(o,130128,"4I8BAOCPAQBQkAEAwJABAMCQAQDAkAEAAQAAANQKAwCMCgMAROcC"),C(o,130176,"I0sBAAEAAAAAAAAA/////1dMAQABAAAA+0wBAAIAAADGTQEAAwAAAAAAAAD/////Vk4BAAAAAADSTgEAAQAAALJPAQACAAAAGFABABQAAAAAAAAA/////wAAAAAAAAAAt1ABABIAAABNUgEAFAAAAN5SAQAkAAAAhlMBAEAAAAARVAEAwQAAAAAAAAD/////q1QBAAEAAAAAAAAA/////1dMAQAAAAAAGVUBAAEAAACRVQEAAgAAAENWAQADAAAA31YBAAQAAAAgVwEABQAAAAAAAAD/////AAAAAAAAAABXTAEAAQAAAIlXAQACAAAAr1cBAAMAAADfVgEABAAAACBXAQAFAAAAAAAAAP////8AAAAAClgBADxYAQAYUAEAqFgB"),C(o,130480,"8l8BAAEAAAA5YAEAAgAAAFhgAQADAAAAgWABAAQAAACwYAEABQAAANNgAQAGAAAABWEBAAcAAAAqYQEACAAAAFFhAQAJAAAAdmEBAAoAAACQYQEACwAAAMNhAQAMAAAA+WEBAA0AAAAuYgEADgAAAE5iAQAPAAAAhmIBAA8AAADUYgEADwAAABljAQAPAAAAP2MBAA8AAACkYwEABwAAANpjAQAHAAAAO2QBAAcAAACEZAEABwAAAK9kAQAHAAAAw2QBAA4AAADnZAEADgAAAAplAQAQAAAA9GUBABAAAAArZgEAEAAAAN9WAQAQAAAAbmYBABAAAADBZgEAEA=="),C(o,130752,"f20BAD4AAACjbQEAPOAAAM1tAQAmAAAA1G0BACIAAAA6bgEAIAAAAHhuAQAnAAAAAAAAAP////8AAAAAAAAAAGNnAQBkAAAAxWcBAAAAAAAJaAEAHgAAAEJoAQBBAAAAQ1YBAGQAAACGaAEAlgAAAKVoAQDmAAAAAAAAAP////9jZwEAZAAAAL5oAQA8AAAA6WgBAFAAAABDVgEAZAAAABJpAQB9AAAAUmkBAKAAAAAAAAAA/////wAAAAAAAAAAY2cBAGQAAACUaQEARgAAAN5pAQBVAAAAQ1YBAGQAAAAoagEAbgAAAGdqAQB4AAAAAAAAAP////8AAAAAAAAAAGNnAQBkAAAAlGkBABQAAADeaQEAMgAAAENWAQBkAAAAKGoBAIwAAABnagEAtAAAAAAAAAD/////"),C(o,131076,"QP8BAAD/AQCA/wEAwP8B"),C(o,131104,"wmoBACDgAAALawEACeAAAEFrAQBf4AAAe2sBACI="),C(o,131152,"q2sBAAEAAAC8awEAAgAAAA1sAQAD"),C(o,131184,"+EwBAMJNAQBTTgEACU8BAOVPAQBkUAEA2lABAGdSAQDyUgEA1FMBAGFUAQ=="),C(o,131236,"iFIBADlTAQAAAAAAnlMBAGRUAQDwVAEAL1UBAJpVAQBQVgE="),C(o,131280,"Y1IBAIADAACAA/8DbGUAAAcAAAA0UwEAIAQAAAAELwUAAAAAAAAAAHNTAQAwBQAAMAWPBXloAAAEAAAAG1QBAJAFAACQBf8FAAAAAAAAAAC3VAEAAAYAAAAG/wYAAAAAAAAAACpVAQAABwAAAAdPBwAAAAAAAAAAllUBAAAJAAAACX8JaWgAAAQAAAA/VgEAgAkAAIAJ/wluYgAABAAAANZWAQAACgAAAAp/CmFwAAAEAAAAClcBAIAKAACACv8KdWcAAAQAAABfVwEAAAsAAAALfwsAAAAAAAAAAM5XAQCACwAAgAv/C2F0AAAEAAAAD1gBAAAMAAAADH8MZXQAAAAAAAAsWAEAgAwAAIAM/wxuawAABAAAAJ9YAQAADQAAAA1/DWxtAAAEAAAA5FgBAIANAACADf8NaXMAAAQAAAA8WQEAAA4AAAAOfw4AAAAAAAAAAJtZAQCADgAAgA7/DgAAAAAAAAAA8FkBAAAPAAAAD/8PAAAAAAAAAAA0WgEAABAAAAAQnxAAAAAAAAAAANlaAQCgEAAAoBD/EGFrAAAEAAAAGFsBAAARAAAAEf8Rb2sAAAQAAABKWwEAABIAAAASnxMAAAAAAAAAALlbAQAAKAAAACj/KAAAAAAQAAAAWlwBAEAwAABAMP8wAAAAAAgAAACDXAEAADEAAAAx/58AAAAACAAAABhbAQAApwAAAKf/129rAAAM"),C(o,131840,"WAIAAKoAAACwBAAAhwAAANAHAABuAAAAuAsAAG4AAAD/////"),C(o,131888,"qAsD"),C(o,131904,"mF4BAAEAAAA4XwEAAgAAAGFfAQADAAAAnV8BAAYAAADCXwEACQAAAPhfAQAKAAAAJ2ABAAQAAABNYAEABQAAAI1gAQAkAAAAq2ABAAsAAADVYAEADAAAAPZgAQANAAAAFmEBAA4AAABMYQEADwAAAGdhAQAQAAAAlmEBABEAAAC7YQEAEgAAAAJiAQAfAAAAG2IBACUAAABIYgEAIAAAAJJiAQAhAAAAzmIBACIAAADwYgEABwAAAC5jAQAI"),C(o,132112,"jmMBAAEAAAC8YwEAAgAAAAAAAAABAAAAFJwBACCcAQAsnAEAPAAAABo="),C(o,132163,"AgMFCAsOEhYbICUrMTc+RUxTWmJpcXmAiJCYn6autbzCyc/V2uDk6e3w9Pb5+/z9/f39/Pv59vTw7enk4NrVz8nCvLWupp+Yk
2810IiAeXFpYlpTTEU+NzErJSAbFhIOCwgFAwI="),C(o,132288,"QAAAAAABAAAAAAAA7AQCACcAAAAoAAAAKQAAACoAAAArAAAAQOkBAMO2AQBo6QEAsLYBAOQEAgAAAAAAJAUCACwAAAAtAAAALgAAAC8AAABA6QEAArcBAGjpAQDstgEAEAUCAGjpAQDStgEAGAUCAAU="),C(o,132412,"DQ=="),C(o,132436,"CwAAAAoAAADoeAM="),C(o,132460,"Ag=="),C(o,132476,"//////////8="),C(o,132544,"MAUCAAAAAAAF"),C(o,132564,"MA=="),C(o,132588,"CwAAADEAAAD4eAMAAAQ="),C(o,132612,"AQ=="),C(o,132628,"/////wo="),C(o,132696,"yAUCAAB/BA==");var ai,Ar=(ai=[null,function(t){var A,r=0;return r=e[(t|=0)>>2],e[t>>2]=r+1,r=255&(A=g[0|r]),(0|A)<0&&(r=T[(e[t+12>>2]+(r<<1)|0)-256>>1]),0|r},ko,function(t){var A,r;return A=e[(t|=0)>>2],r=e[A>>2],e[t>>2]=A+4,0|r},function(t){var A=0,r=0;return A=e[(t|=0)>>2],(0|(r=Rt(t)))==65533&&(e[t>>2]=A+1,e[t+8>>2]=1,r=255&(A=g[0|A]),(0|A)>=0||(r=T[(e[t+12>>2]+(r<<1)|0)-256>>1])),0|r},Rt,function(t){var A,r,a=0;return(a=e[4+(t|=0)>>2])>>>0<=(r=(A=e[t>>2])+1|0)>>>0?(e[t>>2]=a,65533):(e[t>>2]=r,a=d[0|A],e[t>>2]=A+2,a|d[A+1|0]<<8)},function(t,A){var r,a,i;return A|=0,t=e[(t|=0)>>2],r=e[t+4>>2],a=e[A>>2],(A=qr(r+1|0,(i=e[a+4>>2])+1|0))||(A=g[0|r]-g[0|i]|0)||(A=qr(e[t>>2],e[a>>2])),0|A},function(t,A){var r;return t|=0,A=e[(A|=0)>>2],r=e[t>>2],(t=e[A+16>>2]-e[r+16>>2]|0)||(t=qr(e[r>>2],e[A>>2])),0|t},eo,function(t,A,r,a){var i;return A|=0,r|=0,a|=0,oe=i=oe-16|0,(t=0|pt(e[60+(t|=0)>>2],0|A,0|r,255&a,i+8|0))?(e[56798]=t,t=-1):t=0,oe=i+16|0,fe=t?-1:e[i+12>>2],0|(t?-1:e[i+8>>2])},function(t,A,r){A|=0,r|=0;var a,i=0,l=0,h=0,m=0,w=0,M=0;oe=a=oe-32|0,i=e[28+(t|=0)>>2],e[a+16>>2]=i,h=e[t+20>>2],e[a+28>>2]=r,e[a+24>>2]=A,A=h-i|0,e[a+20>>2]=A,h=A+r|0,w=2;e:{t:{A=a+16|0,(i=0|de(e[t+60>>2],0|A,2,a+12|0))?(e[56798]=i,i=-1):i=0;r:{if(i)i=A;else for(;;){if((0|(l=e[a+12>>2]))==(0|h))break r;if((0|l)<0){i=A;break t}if(m=l-((M=(m=e[A+4>>2])>>>0<l>>>0)?m:0)|0,e[(i=(M<<3)+A|0)>>2]=m+e[i>>2],e[(A=(M?12:4)+A|0)>>2]=e[A>>2]-m,h=h-l|0,A=i,w=w-M|0,(l=0|de(e[t+60>>2],0|A,0|w,a+12|0))?(e[56798]=l,l=-1):l=0,l)break}if((0|h)!=-1)break t}A=e[t+44>>2],e[t+28>>2]=A,e[t+20>>2]=A,e[t+16>>2]=A+e[t+48>>2],t=r;break e}e[t+28>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t>>2]=32|e[t>>2],t=0,(0|w)!=2&&(t=r-e[i+4>>2]|0)}return oe=a+32|0,0|t},function(t,A,r){t|=0,A|=0,r|=0;var a,i=0,l=0,h=0;oe=a=oe-32|0,e[a+16>>2]=A,i=e[t+48>>2],e[a+20>>2]=r-!!(0|i),l=e[t+44>>2],e[a+28>>2]=i,e[a+24>>2]=l;e:{t:{if((i=0|Ft(e[t+60>>2],a+16|0,2,a+12|0))?(e[56798]=i,i=-1):i=0,i)A=32;else{if((0|(i=e[a+12>>2]))>0)break t;A=i?32:16}e[t>>2]=A|e[t>>2];break e}h=i,(l=e[a+20>>2])>>>0>=i>>>0||(i=e[t+44>>2],e[t+4>>2]=i,e[t+8>>2]=i+(h-l|0),e[t+48>>2]&&(e[t+4>>2]=i+1,g[(A+r|0)-1|0]=d[0|i]),h=r)}return oe=a+32|0,0|h},function(t){return 0|Ne(e[60+(t|=0)>>2])},Ai,function(t,A,r,a,i,l){t|=0,A=+A,r|=0,a|=0,i|=0,l|=0;var h,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,Te=0,Oe=0,$e=0,nt=0,ht=0,vt=0,Qt=0,Ut=0;oe=h=oe-560|0,e[h+44>>2]=0,O(+A),m=0|G(1),G(0),(0|m)<0?(Oe=1,Qt=84997,O(+(A=-A)),m=0|G(1),G(0)):2048&i?(Oe=1,Qt=85e3):(Qt=(Oe=1&i)?85003:84998,Ut=!Oe);e:if(2146435072&~m){nt=h+16|0;t:{r:{a:{if(A=pa(A,h+44|0),(A+=A)!=0){if(m=e[h+44>>2],e[h+44>>2]=m-1,(0|(ht=32|l))!=97)break a;break t}if((0|(ht=32|l))==97)break t;P=e[h+44>>2],R=(0|a)<0?6:a;break r}P=m-29|0,e[h+44>>2]=P,A*=268435456,R=(0|a)<0?6:a}for(w=be=(h+48|0)+((0|P)>=0?288:0)|0;a=A<4294967296&A>=0?~~A>>>0:0,e[w>>2]=a,w=w+4|0,(A=1e9*(A-+(a>>>0)))!=0;);if((0|P)<=0)a=P,m=w,M=be;else for(M=be,a=P;;){if(ae=(0|a)>=29?29:a,!(M>>>0>(m=w-4|0)>>>0)){for(a=0;y=e[m>>2],vt=a,a=31&ae,(63&ae)>>>0>=32?(ee=y<<a,a=0):(ee=(1<<a)-1&y>>>32-a,a=y<<a),y=ee+ue|0,a=Qi(vt=vt+a|0,a>>>0>vt>>>0?y+1|0:y,1e9),e[m>>2]=vt-er(a,fe,1e9,0),M>>>0<=(m=m-4|0)>>>0;);a&&(e[(M=M-4|0)>>2]=a)}for(;M>>>0<(m=w)>>>0&&!e[(w=m-4|0)>>2];);if(a=e[h+44>>2]-ae|0,e[h+44>>2]=a,w=m,!((0|a)>0))break}if((0|a)<0)for($e=1+((R+25>>>0)/9|0)|0,ue=(0|ht)==102;;){if(ee=(0|(a=0-a|0))>=9?9:a,m>>>0<=M>>>0)w=e[M>>2];else{for(ae=1e9>>>ee|0,y=~(-1<<ee),a=0,w=M;vt=a,a=e[w>>2],e[w>>2]=vt+(a>>>ee|0),a=F(ae,a&y),(w=w+4|0)>>>0<m>>>0;);w=e[M>>2],a&&(e[m>>2]=a,m=m+4|0)}if(a=ee+e[h+44>>2]|0,e[h+44>>2]=a,M=(!w<<2)+M|0,m=m-(w=ue?be:M)>>2>(0|$e)?w+($e<<2)|0:m,!((0|a)<0))break}if(a=0,!(m>>>0<=M>>>0||(a=F(be-M>>2,9),w=10,(y=e[M>>2])>>>0<10)))for(;a=a+1|0,y>>>0>=(w=F(w,10))>>>0;);if((0|(w=(R-((0|ht)!=102?a:0)|0)-((0|ht)==103&!!(0|R))|0))<(F(m-be>>
vendor: 25,139 bytes, line 2810
28102,9)-9|0)){if(P=((((0|P)<0?4:292)+h|0)+((y=(0|(ae=w+9216|0))/9|0)<<2)|0)-4048|0,w=10,(0|(ee=ae-F(y,9)|0))<=7)for(;w=F(w,10),(0|(ee=ee+1|0))!=8;);if(!(!(ue=(ae=e[P>>2])-F(w,$e=(ae>>>0)/(w>>>0)|0)|0)&(0|(y=P+4|0))==(0|m))&&(!(1&$e)&&(A=9007199254740992,!(1&g[P-4|0])|(0|w)!=1e9|M>>>0>=P>>>0)||(A=9007199254740994),Te=(0|m)==(0|y)?1:1.5,Te=(y=w>>>1|0)>>>0>ue>>>0?.5:(0|y)==(0|ue)?Te:1.5,d[0|Qt]!=45|Ut||(Te=-Te,A=-A),y=ae-ue|0,e[P>>2]=y,A+Te!=A)){if(a=w+y|0,e[P>>2]=a,a>>>0>=1e9)for(;e[P>>2]=0,(P=P-4|0)>>>0<M>>>0&&(e[(M=M-4|0)>>2]=0),a=e[P>>2]+1|0,e[P>>2]=a,a>>>0>999999999;);if(a=F(be-M>>2,9),w=10,!((y=e[M>>2])>>>0<10))for(;a=a+1|0,y>>>0>=(w=F(w,10))>>>0;);}m=m>>>0>(w=P+4|0)>>>0?w:m}for(;y=m,!(ae=m>>>0<=M>>>0)&&!e[(m=y-4|0)>>2];);if((0|ht)==103){if(R=((m=(0|(w=R||1))>(0|a)&(0|a)>-5)?~a:-1)+w|0,l=(m?-1:-2)+l|0,!(P=8&i)){if(m=-9,!ae&&(P=e[y-4>>2])&&(ee=10,m=0,!((P>>>0)%10|0))){for(;w=m,m=m+1|0,!((P>>>0)%((ee=F(ee,10))>>>0)|0););m=~w}w=F(y-be>>2,9),(-33&l)!=70?(P=0,R=(0|(m=(0|(m=((a+w|0)+m|0)-9|0))>0?m:0))>(0|R)?R:m):(P=0,R=(0|(m=(0|(m=(m+w|0)-9|0))>0?m:0))>(0|R)?R:m)}}else P=8&i;if(ee=-1,(0|((ae=P|R)?2147483645:2147483646))<(0|R))break e;if(ue=1+(!!(0|ae)+R|0)|0,(0|(w=-33&l))!=70){if((nt-(m=bn(((m=a>>31)^a)-m|0,0,nt))|0)<=1)for(;g[0|(m=m-1|0)]=48,(nt-m|0)<2;);if(g[0|($e=m-2|0)]=l,g[m-1|0]=(0|a)<0?45:43,(0|(m=nt-$e|0))>(2147483647^ue))break e}else{if((2147483647^ue)<(0|a))break e;m=(0|a)>0?a:0}if((0|(a=m+ue|0))>(2147483647^Oe))break e;ca(t,32,r,ue=a+Oe|0,i),aa(t,Qt,Oe),ca(t,48,r,ue,65536^i);r:{a:{n:{if((0|w)==70){for(a=8|(l=h+16|0),P=9|l,M=w=M>>>0>be>>>0?be:M;;){m=bn(e[M>>2],0,P);c:if((0|w)==(0|M))(0|m)==(0|P)&&(g[h+24|0]=48,m=a);else{if(h+16>>>0>=m>>>0)break c;for(;g[0|(m=m-1|0)]=48,h+16>>>0<m>>>0;);}if(aa(t,m,P-m|0),!(be>>>0>=(M=M+4|0)>>>0))break}if(ae&&aa(t,85998,1),(0|R)<=0|M>>>0>=y>>>0)break n;for(;;){if((m=bn(e[M>>2],0,P))>>>0>h+16>>>0)for(;g[0|(m=m-1|0)]=48,h+16>>>0<m>>>0;);if(aa(t,m,(0|R)>=9?9:R),m=R-9|0,y>>>0<=(M=M+4|0)>>>0)break a;if(a=(0|R)>9,R=m,!a)break}break a}c:if(!((0|R)<0))for(be=M>>>0<y>>>0?y:M+4|0,a=8|(l=h+16|0),y=9|l,w=M;;){(0|y)==(0|(m=bn(e[w>>2],0,y)))&&(g[h+24|0]=48,m=a);o:if((0|w)==(0|M))aa(t,m,1),m=m+1|0,P|R&&aa(t,85998,1);else{if(h+16>>>0>=m>>>0)break o;for(;g[0|(m=m-1|0)]=48,h+16>>>0<m>>>0;);}if(aa(t,m,(0|(l=y-m|0))>(0|R)?R:l),R=R-l|0,be>>>0<=(w=w+4|0)>>>0)break c;if(!((0|R)>=0))break}ca(t,48,R+18|0,18,0),aa(t,$e,nt-$e|0);break r}m=R}ca(t,48,m+9|0,9,0)}ca(t,32,r,ue,8192^i),ee=(0|r)<(0|ue)?ue:r;break e}if(P=(l<<26>>31&9)+Qt|0,!(a>>>0>11)){for(m=12-a|0,Te=16;Te*=16,m=m-1|0;);A=d[0|P]!=45?A+Te-Te:-(Te+(-A-Te))}for((0|nt)==(0|(m=bn(((m=e[h+44>>2])^(w=m>>31))-w|0,0,nt)))&&(g[h+15|0]=48,m=h+15|0),be=2|Oe,M=32&l,w=e[h+44>>2],g[0|(R=m-2|0)]=l+15,g[m-1|0]=(0|w)<0?45:43,m=8&i,w=h+16|0;l=w,y=he(A)<2147483648?~~A:-2147483648,g[0|w]=M|d[y+124512|0],!((0|a)>0|m)&(A=16*(A-+(0|y)))==0|((w=l+1|0)-(h+16|0)|0)!=1||(g[l+1|0]=46,w=l+2|0),A!=0;);ee=-1,(2147483645-(l=(m=nt-R|0)+be|0)|0)<(0|a)||(ca(t,32,r,l=(a=!a||((M=w-(h+16|0)|0)-2|0)>=(0|a)?M=w-(h+16|0)|0:a+2|0)+l|0,i),aa(t,P,be),ca(t,48,r,l,65536^i),aa(t,h+16|0,M),ca(t,48,a-M|0,0,0),aa(t,R,m),ca(t,32,r,l,8192^i),ee=(0|r)<(0|l)?l:r)}else ca(t,32,r,m=Oe+3|0,-65537&i),aa(t,Qt,Oe),a=32&l,aa(t,A!=A?a?85596:85774:a?85247:85460,3),ca(t,32,r,m,8192^i),ee=(0|r)<(0|m)?m:r;return oe=h+560|0,0|ee},function(t,A){var r;t|=0,r=A|=0,A=e[A>>2]+7&-8,e[r>>2]=A+16,N[t>>3]=_a(e[A>>2],e[A+4>>2],e[A+8>>2],e[A+12>>2])},function(t,A,r){A|=0,r|=0;var a,i,l=0,h=0;return a=e[84+(t|=0)>>2],h=e[a+4>>2],i=e[t+28>>2],(l=(l=e[t+20>>2]-i|0)>>>0>h>>>0?h:l)&&(sr(e[a>>2],i,l),e[a>>2]=l+e[a>>2],h=e[a+4>>2]-l|0,e[a+4>>2]=h),l=e[a>>2],(h=r>>>0>h>>>0?h:r)&&(sr(l,A,h),l=h+e[a>>2]|0,e[a>>2]=l,e[a+4>>2]=e[a+4>>2]-h),g[0|l]=0,A=e[t+44>>2],e[t+28>>2]=A,e[t+20>>2]=A,0|r},function(t,A,r){r|=0;var a,i,l=0;return sr(A|=0,a=e[84+(t|=0)>>2],r=r>>>0>(l=(i=Nn(a,0,l=r+256|0))?i-a|0:l)>>>0?l:r),A=a+l|0,e[t+84>>2]=A,e[t+8>>2]=A,e[t+4>>2]=r+a,0|r},function(t,A,r){A|=0,r|=0;var a,i=0,l=0,h=0;i=e[84+(t|=0)>>2],a=e[i>>2]?i:84412,i=0;e:if(e[t+48>>2])for(;;){if(!(l=e[(i<<2)+a>>2]))break e;if(g[e[t+44>>2]+i|0]=(0|l)>=128?64:l,!((i=i+1|0)>>>0<re[t+48>>2]))break}return l=e[t+44>>2],e[t+4>>2]=l,e[t+84>>2]=(i<<2)+a,e[t+8>>2]=i+l,!r|!i||(e[t+4>>2]=l+1,g[0|A]=d[0|l],h=1),0|h},eo,mi,A0,A0,function(t,A,r){r|=0;var a,i=0;return oe=a=oe+-64|0,i=1,Js(t|=0,A|=0,0)||(i=0,A&&(i=0,(A=Or(A,125132))&&(kA(4|(i=a+8|0),0,52),e[a+56>>2]=1,e[a+20>>2]=-1,e[a+16>>2]=t,e[a+8>>2]=A,Ar[e[e[A>>2]+28>>2]](A,i,e[r>>2],1),(0|(t=e[a+32>>2]))==1&&(e[r>>2]=e[a+24>>2]),i=(0|t)==1))),oe=a- -64|0,0|i},function(t,A,r,a,i,l){r|=0,a|=0,i|=0,l|=0,Js(t|=0,e[8+(A|=0)>>2],l)&&mn(A,r,a,i)},function(t,A,r,a,i){if(r|=0,a|=0,i|=0,Js(t|=0,e[8+(A|=0)>>2],i))e[A+28>>2]==1|e[A+4>>2]!=(0|r)||(e[A+28>>2]=a);else e:if(Js(t,e[A>>2],i)){if(!(e[A+16>>2]!=(0|r)&e[A+20>>2]!=(0|r))){if((0|a)!=1)break e;return void(e[A+32>>2]=1)}e[A+20>>2]=r,e[A+32>>2]=a,e[A+40>>2]=e[A+40>>2]+1,e[A+36>>2]!=1|e[A+24>>2]!=2||(g[A+54|0]=1),e[A+44>>2]=4}},function(t,A,r,a){r|=0,a|=0,Js(t|=0,e[8+(A|=0)>>2],0)&&Cn(A,r,a)},mi,function(t,A,r,a,i,l){r|=0,a|=0,i|=0,l|=0,Js(t|=0,e[8+(A|=0)>>2],l)?mn(A,r,a,i):(t=e[t+8>>2],Ar[e[e[t>>2]+20>>2]](t,A,r,a,i,l))},function(t,A,r,a,i){if(r|=0,a|=0,i|=0,Js(t|=0,e[8+(A|=0)>>2],i))e[A+28>>2]==1|e[A+4>>2]!=(0|r)||(e[A+28>>2]=a);else e:{if(Js(t,e[A>>2],i)){if(!(e[A+16>>2]!=(0|r)&e[A+20>>2]!=(0|r))){if((0|a)!=1)break e;return void(e[A+32>>2]=1)}e[A+32>>2]=a;t:if(e[A+44>>2]!=4){if(v[A+52>>1]=0,t=e[t+8>>2],Ar[e[e[t>>2]+20>>2]](t,A,r,r,1,i),d[A+53|0]){if(e[A+44>>2]=3,!d[A+52|0])break t;break e}e[A+44>>2]=4}if(e[A+20>>2]=r,e[A+40>>2]=e[A+40>>2]+1,e[A+36>>2]!=1|e[A+24>>2]!=2)break e;return void(g[A+54|0]=1)}t=e[t+8>>2],Ar[e[e[t>>2]+24>>2]](t,A,r,a,i)}},function(t,A,r,a){r|=0,a|=0,Js(t|=0,e[8+(A|=0)>>2],0)?Cn(A,r,a):(t=e[t+8>>2],Ar[e[e[t>>2]+28>>2]](t,A,r,a))},mi,function(t){return 84787},mi,function(t){return 85058},mi,function(t){return 84147},function(t){var A;return A=t|=0,t=e[t>>2],e[A>>2]=t+1,0|((0|(t=g[0|t]))<0?65533:255&t)},function(t,A,r,a,i,l){t|=0,A|=0,r|=0,a|=0,i|=0,l|=0;var h,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0;if(h=zs(408),e[h+4>>2]=a,e[h>>2]=r,A?(sr(h+16|0,A,376),N[h+392>>3]=(N[A+368>>3]-N[A>>3])/+(r>>>0),A=0):A=1,e[h+400>>2]=i,g[h+8|0]=A,l){if(r=e[t+24>>2])for(A=e[t+20>>2],a=e[t+8>>2];(i=e[e[(A>>>8&16777212)+a>>2]+((1023&A)<<2)>>2])&&(DA(i),r=e[t+24>>2],a=e[t+8>>2],A=e[t+20>>2]),A=A+1|0,e[t+20>>2]=A,r=r-1|0,e[t+24>>2]=r,A>>>0>=2048&&(DA(e[a>>2]),a=e[t+8>>2]+4|0,e[t+8>>2]=a,A=e[t+20>>2]-1024|0,e[t+20>>2]=A,r=e[t+24>>2]),r;);A=e[t+28>>2],e[t+420>>2]=e[A>>2],(r=e[t+32>>2])&&(g[A+8|0]=d[r+8|0],sr(A+16|0,t+40|0,376),(A=e[t+32>>2])&&DA(A),e[t+32>>2]=0)}if(r=(a=e[t+24>>2])+e[t+20>>2]|0,i=e[t+12>>2],(0|r)==(0|((0|(A=e[t+8>>2]))!=(0|i)?(i-A<<8)-1:0))){oe=m=oe-32|0;e:{t:{r:{a:{if((A=e[16+(l=t+4|0)>>2])>>>0>=1024){if(e[l+16>>2]=A-1024,A=e[l+4>>2],R=e[A>>2],i=A+4|0,e[l+4>>2]=i,(0|(A=e[l+8>>2]))==e[l+12>>2])if((w=e[l>>2])>>>0<i>>>0)r=lr((a=(1+(i-w>>2)|0)/-2<<2)+i|0,i,A=A-i|0)+A|0,e[l+8>>2]=r,e[l+4>>2]=a+e[l+4>>2];else{if((r=(0|A)==(0|w)?1:A-w>>1)>>>0>=1073741824)break a;if(ee=(a=r<<2)+(M=zs(a))|0,r=a=M+(-4&r)|0,(0|A)!=(0|i)){if(ae=-4&(A=A-i|0),P=1+((y=A-4|0)>>>2|0)&7)for(r=0,A=a;e[A>>2]=e[i>>2],i=i+4|0,A=A+4|0,(0|P)!=(0|(r=r+1|0)););else A=a;if(r=a+ae|0,!(y>>>0<28))for(;e[A>>2]=e[i>>2],e[A+4>>2]=e[i+4>>2],e[A+8>>2]=e[i+8>>2],e[A+12>>2]=e[i+12>>2],e[A+16>>2]=e[i+16>>2],e[A+20>>2]=e[i+20>>2],e[A+24>>2]=e[i+24>>2],e[A+28>>2]=e[i+28>>2],i=i+32|0,(0|r)!=(0|(A=A+32|0)););}e[l+12>>2]=ee,e[l+8>>2]=r,e[l+4>>2]=a,e[l>>2]=M,w&&(DA(w),r=e[l+8>>2])}else r=A;e[r>>2]=R,e[l+8>>2]=e[l+8>>2]+4;break e}if((w=(i=e[l+8>>2])-e[l+4>>2]>>2)>>>0<(a=(A=e[l+12>>2])-(r=e[l>>2])|0)>>2>>>0){if((0|A)!=(0|i)){e[m+8>>2]=zs(4096),mt(l,m+8|0);break e}if(e[m+8>>2]=zs(4096),Ze(l,m+8|0),A=e[l+4>>2],R=e[A>>2],i=A+4|0,e[l+4>>2]=i,(0|(A=e[l+8>>2]))==e[l+12>>2])if((w=e[l>>2])>>>0<i>>>0)r=lr((a=(1+(i-w>>2)|0)/-2<<2)+i|0,i,A=A-i|0)+A|0,e[l+8>>2]=r,e[l+4>>2]=a+e[l+4>>2];else{if((r=(0|A)==(0|w)?1:A-w>>1)>>>0>=1073741824)break a;if(ee=(a=r<<2)+(M=zs(a))|0,r=a=M+(-4&r)|0,(0|A)!=(0|i)){if(ae=-4&(A=A-i|0),P=1+((y=A-4|0)>>>2|0)&7)for(r=0,A=a;e[A>>2]=e[i>>2],i=i+4|0,A=A+4|0,(0|P)!=(0|(r=r+1|0)););else A=a;if(r=a+ae|0,!(y>>>0<28))for(;e[A>>2]=e[i>>2],e[A+4>>2]=e[i+4>>2],e[A+8>>2]=e[i+8>>2],e[A+12>>2]=e[i+12>>2],e[A+16>>2]=e[i+16>>2],e[A+20>>2]=e[i+20>>2],e[A+24>>2]=e[i+24>>2],e[A+28>>2]=e[i+28>>2],i=i+32|0,(0|r)!=(0|(A=A+32|0)););}e[l+12>>2]=ee,e[l+8>>2]=r,e[l+4>>2]=a,e[l>>2]=M,w&&(DA(w),r=e[l+8>>2])}else r=A;e[r>>2]=R,e[l+8>>2]=e[l+8>>2]+4;break e}if(e[m+24>>2]=l+12,!((A=(0|A)==(0|r)?1:a>>1)>>>0>=1073741824)){if(A=zs(r=A<<2),e[m+8>>2]=A,a=A+(w<<2)|0,e[m+16>>2]=a,e[m+20>>2]=A+r,e[m+12>>2]=a,e[m+4>>2]=zs(4096),mt(m+8|0,m+4|0),(0|(i=e[l+8>>2]))==e[l+4>>2]){A=i;break t}for(;Ze(m+8|0,i=i-4|0),e[l+4>>2]!=(0|i););break r}}Io(),j()}A=e[l+8>>2]}r=e[l>>2],e[l>>2]=e[m+8>>2],e[m+8>>2]=r,e[l+4>>2]=e[m+12>>2],e[m+12>>2]=i,e[l+8>>2]=e[m+16>>2],e[m+16>>2]=A,a=e[l+12>>2],e[l+12>>2]=e[m+20>>2],e[m+20>>2]=a,(0|A)!=(0|i)&&(e[m+16>>2]=A+(3+(i-A|0)&-4)),r&&DA(r)}oe=m+32|0,r=(a=e[t+24>>2])+e[t+20>>2]|0,A=e[t+8>>2]}e[e[A+(r>>>8&16777212)>>2]+((1023&r)<<2)>>2]=h,e[t+24>>2]=a+1},function(t){var A=0,r=0,a=0,i=0,l=0,h=0,m=0,w=0,M=0;r=e[420+(t|=0)>>2]+1|0,e[t+420>>2]=r;e:{if(A=e[t+32>>2]){if(r>>>0>(m=e[A+4>>2])>>>0){(r=e[t+28>>2])&&(DA(r),A=e[t+32>>2]),e[t+32>>2]=0,e[t+28>>2]=A;break e}for(l=t+40|0,h=A+16|0,w=e[t+28>>2]+16|0,M=+(r>>>0)/+(m>>>0),A=0;;){if(a=N[(r=A<<3)+h>>3],i=N[r+w>>3],N[r+l>>3]=a==a?(a-i)*M+i:i,(0|(r=1|A))==47)break e;a=N[(r<<=3)+h>>3],i=N[r+w>>3],N[r+l>>3]=a==a?(a-i)*M+i:i,A=A+2|0}}if(A=e[t+28>>2],r>>>0>re[A>>2]){if(l=e[t+24>>2]){if(g[t+416|0]=0,h=e[t+8>>2],r=e[t+20>>2],A=e[e[h+(r>>>8&16777212)>>2]+((1023&r)<<2)>>2],e[t+32>>2]=A,e[t+24>>2]=l-1,r=r+1|0,e[t+20>>2]=r,r>>>0>=2048&&(DA(e[h>>2]),e[t+8>>2]=e[t+8>>2]+4,e[t+20>>2]=e[t+20>>2]-1024,A=e[t+32>>2]),d[A+8|0])sr(A+16|0,e[t+28>>2]+16|0,376),A=e[t+32>>2],e[A+368>>2]=0,e[A+372>>2]=0,a=N[t+40>>3],e[A+392>>2]=0,e[A+396>>2]=0,N[A+16>>3]=a;else if(r=e[t+28>>2],d[r+8|0]&&(sr(r+16|0,A+16|0,376),A=e[t+28>>2],e[A+368>>2]=0,e[A+372>>2]=0,!(A=e[t+32>>2])))break e;(0|(r=e[A+400>>2]))!=-1&&(e[t+424>>2]=r),e[t+420>>2]=0,N[A+16>>3]=N[A+392>>3]*+re[A+4>>2]+N[A+16>>3];break e}g[t+416|0]=1}else a=N[A+392>>3]+N[t+40>>3],N[t+40>>3]=a,N[A+16>>3]=a}return 0|(d[t+416|0]?0:t+40)},function(t){return e[424+(t|=0)>>2]},function(t){var A=0;return e[(t|=0)>>2]=132304,(A=e[t+28>>2])&&DA(A),(A=e[t+32>>2])&&DA(A),Ii(t+4|0),0|t},function(t){var A=0;e[(t|=0)>>2]=132304,(A=e[t+28>>2])&&DA(A),(A=e[t+32>>2])&&DA(A),Ii(t+4|0),DA(t)},function(t,A,r){A|=0,r|=0;var a=0,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,Te=0,Oe=0,$e=0,nt=0,ht=0;if(!e[1088+(t|=0)>>2])return 0;e:if(A){for(M=t+648|0,w=t- -64|0;;){if(a=e[t+1088>>2],!(a=0|Ar[e[e[a>>2]+4>>2]](a)))break e;if(i=Zn(N[t+32>>3]+N[a+16>>3]/+e[t+24>>2]),N[t+32>>3]=i,i=ki(6.283185307179586*i),i=Zn(N[t+16>>3]+N[a>>3]*(.06*i*N[a+8>>3]+1)/+e[t+8>>2]),N[t+16>>3]=i,m=er(e[56848],e[56849],1284865837,1481765933),l=fe,l=(m=m+1|0)?l:l+1|0,e[56848]=m,e[56849]=l,h=.75*N[t+40>>3]+ +(l>>>1|0)/2147483647,N[t+40>>3]=h,y=N[a+24>>3],l=i>=N[a+32>>3],g[t+48|0]=l,h=(R=y)*(y=.2*h),h=cs(w+512|0,cs(w+440|0,i=N[a+352>>3]*(y*N[a+48>>3]+N[a+40>>3]*(i+i+-1+(l?h:.01*h)))*.5,N[a+104>>3],N[a+168>>3]),N[a+112>>3],N[a+176>>3]),h=cs(w+8|0,cs(w+80|0,cs(w+152|0,cs(w+224|0,cs(w+296|0,cs(w+368|0,h==h?(h-i)*N[a+184>>3]+i:i,N[a+96>>3],N[a+160>>3]),N[a+88>>3],N[a+152>>3]),N[a+80>>3],N[a+144>>3]),N[a+72>>3],N[a+136>>3]),N[a+64>>3],N[a+128>>3]),N[a+56>>3],N[a+120>>3]),m=er(e[56848],e[56849],1284865837,1481765933),l=fe,l=(m=m+1|0)?l:l+1|0,e[56848]=m,e[56849]=l,i=.75*N[t+56>>3]+ +(l>>>1|0)/2147483647,N[t+56>>3]=i,l=(P<<1)+r|0,y=cs(M+8|0,i=N[a+352>>3]*(N[a+192>>3]*(.3*i))*.5,N[a+200>>3],N[a+248>>3]),ee=N[a+296>>3],ae=cs(M+80|0,i,N[a+208>>3],N[a+256>>3]),ue=N[a+304>>3],be=cs(M+152|0,i,N[a+216>>3],N[a+264>>3]),Te=N[a+312>>3],Oe=cs(M+224|0,i,N[a+224>>3],N[a+272>>3]),$e=N[a+320>>3],nt=cs(M+296|0,i,N[a+232>>3],N[a+280>>3]),ht=N[a+328>>3],R=h,h=(cs(M+368|0,i,N[a+240>>3],N[a+288>>3])-i)*N[a+336>>3]+(ht*(nt-i)+($e*(Oe-i)+(Te*(be-i)+(ue*(ae-i)+(ee*(y-i)+0))))),i=(R+(i==i?(i-h)*N[a+344>>3]+h:h))*N[a+360>>3]*4e3,a=(0|(a=he(i)<2147483648?~~i:-2147483648))>=32e3?32e3:a,v[l>>1]=(0|a)<=-32e3?-32e3:a,(0|(P=P+1|0))==(0|A))break}P=A}return 0|(A>>>0>P>>>0?P:A)},function(t,A){A|=0,e[1088+(t|=0)>>2]=A},eo,mi,ko,function(t,A,r,a){return fe=0,0}],ai.grow=function(t){var A=this.length;return this.length=this.length+t,A},ai.set=function(t,A){this[t]=A},ai.get=function(t){return this[t]},ai);return{v:function(){var t,A=0;oe=t=oe-16|0,0|Bt(t+12|0,t+8|0)||(A=nA(4+(e[t+12>>2]<<2)|0),e[56800]=A,A&&(!(A=nA(e[t+8>>2]))||(e[e[56800]+(e[t+12>>2]<<2)>>2]=0,0|At(e[56800],0|A)))&&(e[56800]=0)),oe=t+16|0,e[56841]=227236,e[56823]=42},w:$i,x:Ji,y:function(t,A){A|=0,e[(t|=0)>>2]=A},z:function(t,A){return A|=0,g[e[4+(t|=0)>>2]+A|0]},A:Ca,B:e0,C:function(t){return d[12+(t|=0)|0]},D:function(t,A){A|=0,g[12+(t|=0)|0]=A},E:function(t){return d[13+(t|=0)|0]},F:function(t,A){A|=0,g[13+(t|=0)|0]=A},G:function(t){return d[14+(t|=0)|0]},H:function(t,A){A|=0,g[14+(t|=0)|0]=A},I:function(t){return d[15+(t|=0)|0]},J:function(t,A){A|=0,g[15+(t|=0)|0]=A},K:Vn,L:function(t,A){A|=0,e[16+(t|=0)>>2]=A},M:Fo,N:function(t,A){A|=0,e[20+(t|=0)>>2]=A},O:$i,P:Ji,Q:t0,R:Ca,S:si,T:Vn,U:Fo,V:function(t){return e[24+(t|=0)>>2]},W:$i,X:function(){var t,A=0,r=0,a=0,i=0,l=0,h=0,m=0,w=0,M=0,y=0,P=0,R=0,ee=0,ae=0,ue=0,be=0,Te=0,Oe=0,$e=0,nt=0,ht=0,vt=0,Qt=0;if(t=zs(20),e[t+16>>2]=0,e[t+8>>2]=175,e[t+12>>2]=50,!(A=e[33208])){oe=A=(oe=$e=oe-16|0)-80|0;e:{if((r=vi(84292))&&(e[A+32>>2]=r,rn(137584,160,85959,A+32|0),(0|nn(137584))==-31||(e[A+16>>2]=r,rn(137584,160,86031,A+16|0),(0|nn(137584))==-31)))break e;(r=vi(84619))&&(e[A>>2]=r,rn(137584,160,85959,A),(0|nn(137584))==-31)||(r=d[84826]|d[84827]<<8|d[84828]<<16|d[84829]<<24,e[34396]=d[84822]|d[84823]<<8|d[84824]<<16|d[84825]<<24,e[34397]=r,v[68804]=d[84846]|d[84847]<<8,r=d[84842]|d[84843]<<8|d[84844]<<16|d[84845]<<24,e[34400]=d[84838]|d[84839]<<8|d[84840]<<16|d[84841]<<24,e[34401]=r,r=d[84834]|d[84835]<<8|d[84836]<<16|d[84837]<<24,e[34398]=d[84830]|d[84831]<<8|d[84832]<<16|d[84833]<<24,e[34399]=r)}if(oe=A+80|0,e[$e+12>>2]=0,i=$e+12|0,oe=m=oe-16|0,e[m+12>>2]=22050,mA(85144)||mA(85315)||mA(85473)||mA(85698),P=m+12|0,oe=l=oe-16|0,e[l+12>>2]=0,!((A=Fi(137832,84262,0,i))||(A=Fi(137836,84420,0,i))||(A=Fi(137840,84813,0,i))||(A=Fi(137820,85016,l+12|0,i))))if(e[34454]=re[l+12>>2]/68,r=e[34460],e[34456]=r,r&&(0|(M=d[0|r]|d[r+1|0]<<8|d[r+2|0]<<16|d[r+3|0]<<24))==83969){if(R=d[r+4|0]|d[r+5|0]<<8|d[r+6|0]<<16|d[r+7|0]<<24,r=e[34458],ae=d[0|r],e[34461]=ae,ae)for(A=r+4|0,M=0;a=F(M,44)+137856|0,i=d[0|A],e[a+36>>2]=i,e[a+40>>2]=d[A+1|0],h=d[A+8|0]|d[A+9|0]<<8|d[A+10|0]<<16|d[A+11|0]<<24,r=d[A+4|0]|d[A+5|0]<<8|d[A+6|0]<<16|d[A+7|0]<<24,g[0|a]=r,g[a+1|0]=r>>>8,g[a+2|0]=r>>>16,g[a+3|0]=r>>>24,g[a+4|0]=h,g[a+5|0]=h>>>8,g[a+6|0]=h>>>16,g[a+7|0]=h>>>24,h=d[A+16|0]|d[A+17|0]<<8|d[A+18|0]<<16|d[A+19|0]<<24,r=d[A+12|0]|d[A+13|0]<<8|d[A+14|0]<<16|d[A+15|0]<<24,g[a+8|0]=r,g[a+9|0]=r>>>8,g[a+10|0]=r>>>16,g[a+11|0]=r>>>24,g[a+12|0]=h,g[a+13|0]=h>>>8,g[a+14|0]=h>>>16,g[a+15|0]=h>>>24,h=d[A+24|0]|d[A+25|0]<<8|d[A+26|0]<<16|d[A+27|0]<<24,r=d[A+20|0]|d[A+21|0]<<8|d[A+22|0]<<16|d[A+23|0]<<24,g[a+16|0]=r,g[a+17|0]=r>>>8,g[a+18|0]=r>>>16,g[a+19|0]=r>>>24,g[a+20|0]=h,g[a+21|0]=h>>>8,g[a+22|0]=h>>>16,g[a+23|0]=h>>>24,h=d[A+32|0]|d[A+33|0]<<8|d[A+34|0]<<16|d[A+35|0]<<24,r=d[A+28|0]|d[A+29|0]<<8|d[A+30|0]<<16|d[A+31|0]<<24,g[a+24|0]=r,g[a+25|0]=r>>>8,g[a+26|0]=r>>>16,g[a+27|0]=r>>>24,g[a+28|0]=h,g[a+29|0]=h>>>8,g[a+30|0]=h>>>16,g[a+31|0]=h>>>24,r=A+36|0,e[a+32>>2]=r,A=r+(i<<4)|0,(0|ae)!=(0|(M=M+1|0)););(0|ae)<=e[34457]&&(e[34457]=0),A=0,P&&(e[P>>2]=R)}else e:{t:{if(i){if(r=e[i>>2]){DA(e[r+4>>2]),A=e[i>>2];break t}if(A=nA(16),e[i>>2]=A,A)break t;A=48}else A=268436223;break e}e[A>>2]=1,e[A+4>>2]=wo(137584),r=e[i>>2],e[r+12>>2]=83969,e[r+8>>2]=M,A=268436223}if(oe=l+16|0,r=A,!A){if(P=e[m+12>>2],e[50754]=P,e[50759]=0,e[50760]=134217728/(0|P),e[50762]=0,e[50763]=0,e[50765]=2147483647,e[50781]=100,e[50779]=32,e[50761]=(P<<6)/(0|P),A=e[26385],e[50784]=e[26384],e[50785]=A,A=e[26387],e[50786]=e[26386],e[50787]=A,A=e[26389],e[50788]=e[26388],e[50789]=A,A=e[26391],e[50790]=e[26390],e[50791]=A,A=e[26393],e[50792]=e[26392],e[50793]=A,A=e[26395],e[50794]=e[26394],e[50795]=A,A=e[26397],e[50796]=e[26396],e[50797]=A,e[50798]=e[26398],R=(0|(A=(0|(i=F(P,60)))/12800|0))>=128?128:A,e[50799]=R,e[50800]=(0|R)/2,!((0|P)==22050|(0|i)<12800)){if(P=1&(A=(0|R)<=1?1:R),Te=+(0|R),M=0,(0|R)>=2)for(R=2147483646&A,A=0;ue=M+132160|0,w=127*(1-sa(6.283185307179586*+(0|M)/Te)),ee=he(w)<2147483648?~~w:-2147483648,g[0|ue]=ee,ue=132160+(i=1|M)|0,w=127*(1-sa(6.283185307179586*+(0|i)/Te)),ee=he(w)<2147483648?~~w:-2147483648,g[0|ue]=ee,M=M+2|0,(0|R)!=(0|(A=A+2|0)););P&&(A=M+132160|0,w=127*(1-sa(6.283185307179586*+(0|M)/Te)),ue=he(w)<2147483648?~~w:-2147483648,g[0|A]=ue)}if(e[50801]=105792,e[56797]=hn(),e[55964]=38,e[55921]=1,e[55918]=22050,e[56606]=0,e[55960]=110928,e[55958]=0,e[55959]=1074266112,e[55956]=100,e[55922]=20,e[55923]=220,e[55916]=1,e[55917]=0,Di(),e[56244]=0,e[56245]=0,e[55928]=0,e[55926]=0,e[55927]=0,e[55924]=0,e[56246]=0,e[56247]=0,e[56260]=0,e[56261]=0,e[56262]=0,e[56263]=0,e[56276]=0,e[56277]=0,e[56278]=0,e[56279]=0,e[55974]=0,e[55975]=0,e[55972]=0,e[55973]=0,Te=-3.141592653589793/+(0|(A=e[55918])),N[27967]=Te,i=(0|F(A,630))/1e4|0,e[55920]=i,A=(0|F(A,950))/1e4|0,e[55919]=A,w=-2*Te,N[27968]=w,Te=(vt=pr(Te*+(0|i)))*-vt,N[28129]=Te,w=vt*sa(w*+(0|A)),w+=w,N[28128]=w,N[28127]=1-w-Te,e[55990]=0,e[55991]=0,e[55988]=0,e[55989]=0,e[56006]=0,e[56007]=0,e[56004]=0,e[56005]=0,e[56022]=0,e[56023]=0,e[56020]=0,e[56021]=0,e[56038]=0,e[56039]=0,e[56036]=0,e[56037]=0,e[56054]=0,e[56055]=0,e[56052]=0,e[56053]=0,e[56070]=0,e[56071]=0,e[56068]=0,e[56069]=0,e[56086]=0,e[56087]=0,e[56084]=0,e[56085]=0,e[56102]=0,e[56103]=0,e[56100]=0,e[56101]=0,e[56118]=0,e[56119]=0,e[56116]=0,e[56117]=0,e[56134]=0,e[56135]=0,e[56132]=0,e[56133]=0,e[56150]=0,e[56151]=0,e[56148]=0,e[56149]=0,e[56166]=0,e[56167]=0,e[56164]=0,e[56165]=0,e[56182]=0,e[56183]=0,e[56180]=0,e[56181]=0,e[56198]=0,e[56199]=0,e[56196]=0,e[56197]=0,e[56214]=0,e[56215]=0,e[56212]=0,e[56213]=0,e[56230]=0,e[56231]=0,e[56228]=0,e[56229]=0,e[56639]=59,e[56640]=59,e[56629]=0,e[56630]=59,e[56619]=89,e[56620]=160,e[56609]=280,e[56610]=688,e[56611]=1064,e[56621]=70,e[56631]=59,e[56612]=2806,e[56613]=3260,e[56622]=160,e[56623]=200,e[56632]=59,e[56633]=59,e[56641]=89,e[56642]=149,e[56643]=200,e[56644]=200,e[56634]=59,e[56635]=59,e[56624]=200,e[56625]=500,e[56614]=3700,e[56615]=6500,e[56645]=500,e[56646]=0,e[56616]=7e3,e[56626]=500,e[56636]=0,e[56647]=0,e[56637]=0,e[56627]=500,e[56617]=8e3,e[56669]=89,e[56648]=0,e[56638]=0,e[56628]=89,e[56618]=280,e[56657]=62,e[56655]=0,e[56656]=0,e[56653]=50,e[56654]=0,e[56651]=0,e[56652]=0,e[56649]=0,e[56650]=40,e[56607]=1e3,e[56608]=59,oe=l=oe-416|0,e[l+16>>2]=137584,e[l+20>>2]=47,e[l+24>>2]=85952,uA(A=l+240|0,85699,l+16|0),h=oa(A,86034)){if(Qr(l+240|0,170,h))for(P=5|(A=l+240|0),R=10|A;d[l+240|0]!=47&&(e[l+240>>2]!=1701736308?la(l+240|0,86614,9)||(e[l+4>>2]=l+32,e[l>>2]=l+239,(0|oA(R,86829,l))==2&&(i=e[34064],e[(ae=136272+(i<<4)|0)>>2]=g[l+239|0],A=wo(l+32|0),e[34064]=i+1,e[ae+12>>2]=A,e[ae+4>>2]=0)):(oe=A=oe-48|0,e[32960]=-1,e[32961]=-1,e[32970]=-1,e[32971]=-1,e[32968]=-1,e[32969]=-1,e[32966]=-1,e[32967]=-1,e[32964]=-1,e[32965]=-1,e[32962]=-1,e[32963]=-1,e[A+36>>2]=131876,e[A+32>>2]=131872,e[A+28>>2]=131868,e[A+24>>2]=131864,e[A+20>>2]=131860,e[A+16>>2]=131856,e[A+12>>2]=131852,e[A+8>>2]=131848,e[A+4>>2]=131844,e[A>>2]=131840,oA(P,84222,A),oe=A+48|0)),Qr(l+240|0,170,h););bs(h)}oe=l+416|0,e[50297]=0,e[50298]=0,e[50301]=0,e[50302]=0,e[50299]=0,e[50300]=0,qn(0,85698),e[36425]=0,e[36424]=0,e[36426]=0,e[36427]=-1,un(),HA(0),a=e[25690],e[34062]=a,y=e[25689],l=e[25688],e[34060]=l,e[34061]=y,be=e[25687],h=e[25686],e[34058]=h,e[34059]=be,Oe=e[25685],ae=e[25684],e[34056]=ae,e[34057]=Oe,nt=e[25683],P=e[25682],e[34054]=P,e[34055]=nt,ht=e[25681],R=e[25680],e[34052]=R,e[34053]=ht,ee=e[25679],i=e[25678],e[34050]=i,e[34051]=ee,ue=e[25677],A=e[25676],e[34048]=A,e[34049]=ue,e[33729]=A,e[33730]=ue,e[33731]=i,e[33732]=ee,e[33733]=R,e[33734]=ht,e[33735]=P,e[33736]=nt,e[33737]=ae,e[33738]=Oe,e[33739]=h,e[33740]=be,e[33741]=l,e[33742]=y,e[33743]=a,as(1,175),as(2,100),as(6,e[47200]),as(5,e[47201]),as(7,0),e[47198]=0,e[47197]=0,w=+_e()/1e3,i=er(A=he(w)<9223372036854776e3?~~w>>>0:0,0,1103515245,0),A=fe,A=(i=i+12345|0)>>>0<12345?A+1|0:A,e[33209]=zo(i,A)}if(oe=m+16|0,r){ue=e[30450],nt=e[$e+12>>2],m=48+(y=oe-560|0)|0,oe=a=(oe=y)-16|0;e:{switch(0|SA(r-268435967|0,24)){case 0:Zr(m,84133,512);break e;case 1:Zr(m,84580,512);break e;case 2:Zr(m,84747,512);break e;case 3:Zr(m,85084,512);break e;case 4:Zr(m,85251,512);break e;case 5:Zr(m,85380,512);break e;case 6:Zr(m,85607,512);break e;case 7:Zr(m,85722,512);break e;case 8:Zr(m,85913,512);break e;case 9:Zr(m,86046,512);break e;case 10:Zr(m,86153,512);break e;case 11:Zr(m,86678,512);break e;case 12:Zr(m,86773,512);break e;case 14:Zr(m,86958,512);break e;case 15:Zr(m,87071,512);break e}if(1879048192&r)e[a>>2]=r,rn(m,512,87182,a);else{if(M=0,l=T[123728+((r>>>0<=153?r:0)<<1)>>1]+121804|0,r=e[e[56841]+20>>2]){ht=e[r+4>>2],be=e[r>>2],Oe=e[be>>2]+1794895138|0,ee=ti(e[be+8>>2],Oe),i=ti(e[be+12>>2],Oe),A=ti(e[be+16>>2],Oe);t:if(!(ht>>>2>>>0<=ee>>>0||3&(A|i)|(r=ht-(ee<<2)|0)>>>0<=i>>>0|A>>>0>=r>>>0))for(P=A>>>2|0,R=i>>>2|0;;){if(ae=ti(e[(r=((A=(i=(h=ee>>>1|0)+Qt|0)<<1)+R<<2)+be|0)>>2],Oe),(r=ti(e[r+4>>2],Oe))>>>0>=ht>>>0|ae>>>0>=ht-r>>>0|d[(r+ae|0)+be|0])break t;if(!(r=qr(l,r+be|0))){if(A=ti(e[(r=(A+P<<2)+be|0)>>2],Oe),(r=ti(e[r+4>>2],Oe))>>>0>=ht>>>0|A>>>0>=ht-r>>>0)break t;M=d[(A+r|0)+be|0]?0:r+be|0;break t}if((0|ee)==1)break t;ee=(r=(0|r)<0)?h:ee-h|0,Qt=r?Qt:i}}if((r=CA(A=M||l))>>>0>=512){sr(m,A,511),g[m+511|0]=0;break e}sr(m,A,r+1|0)}}oe=a+16|0;e:if(nt){t:switch(e[nt>>2]){case 0:e[y+16>>2]=e[nt+4>>2],e[y+20>>2]=y+48,fs(ue,87384,y+16|0);break e;case 1:break t;default:break e}A=e[nt+12>>2],r=e[nt+8>>2],e[y+36>>2]=e[nt+4>>2],fe=r,e[y+40>>2]=A,e[y+44>>2]=fe,e[y+32>>2]=y+48,fs(ue,87521,y+32|0)}else e[y>>2]=y+48,fs(ue,87700,y);oe=y+560|0,(0|$e)!=-12&&(r=e[$e+12>>2])&&(DA(e[r+4>>2]),DA(e[$e+12>>2]),e[$e+12>>2]=0)}r=e[24806],e[34389]=0,e[32538]=r,r=(1e3+((r=F(e[50754],100))-((0|r)%1e3|0)|0)|0)/500|0,e[34390]=r,r=xs(e[34391],r),e[34392]=r,r&&(e[34391]=r,e[34393]=40,(r=xs(e[34388],1440))&&(e[34388]=r)),e[47198]=0,oe=$e+16|0,A=e[50754],e[33208]=A}return e[t+4>>2]=A,e[t>>2]=QA(),0|t},Y:function(t,A,r){t|=0,A|=0,r|=0,e[34440]=r,Qo(3,e[t+12>>2]),Qo(1,e[t+8>>2]),(t=e[t+16>>2])?Qa(t):Ei(1024),lt(A),e[34440]=0},Z:function(t,A,r){return t|=0,A|=0,r|=0,e[34440]=0,(t=oa(r,1032))?(e[47195]=t,e[47197]=130,t||(e[47195]=e[30450]),lt(A),e[47195]=0,e[47197]=0,e[47195]=e[30450],bs(t),0):-1},_:function(t){return 36},$:function(t,A,r){var a;return t|=0,A|=0,oe=a=oe-32|0,(r|=0)?(e[a+24>>2]=0,e[a+28>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+12>>2]=r,e[a+8>>2]=A,g[a+21|0]=0,A=Qa(a+8|0)):A=Ei(A),e[t+16>>2]=201188,oe=a+32|0,0|A},aa:function(t,A,r,a){var i;return t|=0,A|=0,oe=i=oe-32|0,(r|=0)|(a|=0)?(e[i+24>>2]=0,e[i+28>>2]=0,e[i+16>>2]=0,e[i+20>>2]=0,e[i+12>>2]=r,e[i+8>>2]=A,g[i+22|0]=0,g[i+20|0]=a,A=Qa(i+8|0)):A=Ei(A),e[t+16>>2]=201188,oe=i+32|0,0|A},ba:function(t,A,r,a,i){var l;return t|=0,A|=0,oe=l=oe-32|0,(a|=0)|(i|=0)|(r|=0)?(e[l+24>>2]=0,e[l+28>>2]=0,e[l+16>>2]=0,e[l+20>>2]=0,e[l+12>>2]=r,e[l+8>>2]=A,g[l+21|0]=i,g[l+20|0]=a,A=Qa(l+8|0)):A=Ei(A),e[t+16>>2]=201188,oe=l+32|0,0|A},ca:function(t,A,r,a,i,l){var h;return t|=0,A|=0,oe=h=oe-32|0,(a|=0)|(i|=0)|(l|=0)|(r|=0)?(e[h+24>>2]=0,e[h+28>>2]=0,e[h+16>>2]=0,e[h+20>>2]=0,e[h+12>>2]=r,e[h+8>>2]=A,g[h+22|0]=l,g[h+21|0]=i,g[h+20|0]=a,A=Qa(h+8|0)):A=Ei(A),e[t+16>>2]=201188,oe=h+32|0,0|A},da:function(t,A){return A|=0,e[e[(t|=0)>>2]+(A<<2)>>2]},ea:function(t,A,r){A|=0,r|=0,e[e[(t|=0)>>2]+(A<<2)>>2]=r},fa:t0,ga:Ca,ha:e0,ia:si,ja:function(t,A){A|=0,e[12+(t|=0)>>2]=A},ka:$i,la:function(){return 0},ma:function(){return 1},na:function(){return 2},oa:function(){return 3},pa:function(){return 4},qa:function(){return 5},ra:function(){return 6},sa:function(){return 7},ta:function(){return 8},ua:Ar,va:function(){return 227192},wa:DA,xa:nA,ya:function(t){return(t|=0)?0|!!(0|Or(t,125228)):0}}}(s)}(n)},instantiate:function(c,n){return{then:function(s){var o=new T2.Module(c);s({instance:new T2.Instance(o,n)})}}},RuntimeError:Error};typeof T2!="object"&&z0("no native wasm support detected");var Tm=!1;function Vf(c,n){c||z0(n)}var bi,B2,q1,Ds,An,Qm,Pm,op=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function E2(c,n,s){for(var o=n+s,f=n;c[f]&&!(f>=o);)++f;if(f-n>16&&c.buffer&&op)return op.decode(c.subarray(n,f));for(var p="";n<f;){var C=c[n++];if(128&C){var b=63&c[n++];if((224&C)!=192){var k=63&c[n++];if((C=(240&C)==224?(15&C)<<12|b<<6|k:(7&C)<<18|b<<12|k<<6|63&c[n++])<65536)p+=String.fromCharCode(C);else{var E=C-65536;p+=String.fromCharCode(55296|E>>10,56320|1023&E)}}else p+=String.fromCharCode((31&C)<<6|b)}else p+=String.fromCharCode(C)}return p}function x2(c,n){return c?E2(B2,c,n):""}function cd(c,n,s,o){if(!(o>0))return 0;for(var f=s,p=s+o-1,C=0;C<c.length;++C){var b=c.charCodeAt(C);if(b>
2810=55296&&b<=57343&&(b=65536+((1023&b)<<10)|1023&c.charCodeAt(++C)),b<=127){if(s>=p)break;n[s++]=b}else if(b<=2047){if(s+1>=p)break;n[s++]=192|b>>6,n[s++]=128|63&b}else if(b<=65535){if(s+2>=p)break;n[s++]=224|b>>12,n[s++]=128|b>>6&63,n[s++]=128|63&b}else{if(s+3>=p)break;n[s++]=240|b>>18,n[s++]=128|b>>12&63,n[s++]=128|b>>6&63,n[s++]=128|63&b}}return n[s]=0,s-f}function Sm(c){for(var n=0,s=0;s<c.length;++s){var o=c.charCodeAt(s);o<=127?n++:o<=2047?n+=2:o>=55296&&o<=57343?(n+=4,++s):n+=3}return n}var S0,Hf=Le.INITIAL_MEMORY||16777216;S0=(ed=Le.wasmMemory?Le.wasmMemory:new T2.Memory({initial:Hf/65536,maximum:Hf/65536})).buffer,Le.HEAP8=bi=new Int8Array(S0),Le.HEAP16=q1=new Int16Array(S0),Le.HEAP32=Ds=new Int32Array(S0),Le.HEAPU8=B2=new Uint8Array(S0),Le.HEAPU16=new Uint16Array(S0),Le.HEAPU32=An=new Uint32Array(S0),Le.HEAPF32=Qm=new Float32Array(S0),Le.HEAPF64=Pm=new Float64Array(S0),Hf=ed.buffer.byteLength;var lp=[],Nm=[],cp=[],zm=!1;function Fm(c){Nm.unshift(c)}var Nr,Oa,El=0,Zu=null;function Om(c){El++,Le.monitorRunDependencies&&Le.monitorRunDependencies(El)}function Lm(c){if(El--,Le.monitorRunDependencies&&Le.monitorRunDependencies(El),El==0&&Zu){var n=Zu;Zu=null,n()}}function z0(c){throw Le.onAbort&&Le.onAbort(c),_2(c="Aborted("+c+")"),Tm=!0,c+=". Build with -sASSERTIONS for more info.",new T2.RuntimeError(c)}function Fk(c){this.name="ExitStatus",this.message="Program terminated with exit("+c+")",this.status=c}function Yf(c){for(;c.length>0;)c.shift()(Le)}function Ok(c,n="i8"){switch(n.endsWith("*")&&(n="*"),n){case"i1":case"i8":return bi[0|c];case"i16":return q1[c>>1];case"i32":case"i64":return Ds[c>>2];case"float":return Qm[c>>2];case"double":return Pm[c>>3];case"*":return An[c>>2];default:z0("invalid type for getValue: "+n)}return null}function Lk(c){this.excPtr=c,this.ptr=c-24,this.set_type=function(n){An[this.ptr+4>>2]=n},this.get_type=function(){return An[this.ptr+4>>2]},this.set_destructor=function(n){An[this.ptr+8>>2]=n},this.get_destructor=function(){return An[this.ptr+8>>2]},this.set_refcount=function(n){Ds[this.ptr>>2]=n},this.set_caught=function(n){n=n?1:0,bi[this.ptr+12|0]=n},this.get_caught=function(){return bi[this.ptr+12|0]!=0},this.set_rethrown=function(n){n=n?1:0,bi[this.ptr+13|0]=n},this.get_rethrown=function(){return bi[this.ptr+13|0]!=0},this.init=function(n,s){this.set_adjusted_ptr(0),this.set_type(n),this.set_destructor(s),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var n=Ds[this.ptr>>2];Ds[this.ptr>>2]=n+1},this.release_ref=function(){var n=Ds[this.ptr>>2];return Ds[this.ptr>>2]=n-1,n===1},this.set_adjusted_ptr=function(n){An[this.ptr+16>>2]=n},this.get_adjusted_ptr=function(){return An[this.ptr+16>>2]},this.get_exception_ptr=function(){if(H3(this.get_type()))return An[this.excPtr>>2];var n=this.get_adjusted_ptr();return n!==0?n:this.excPtr}}var Zs={isAbs:c=>c.charAt(0)==="/",splitPath:c=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(c).slice(1),normalizeArray:(c,n)=>{for(var s=0,o=c.length-1;o>=0;o--){var f=c[o];f==="."?c.splice(o,1):f===".."?(c.splice(o,1),s++):s&&(c.splice(o,1),s--)}if(n)for(;s;s--)c.unshift("..");return c},normalize:c=>{var n=Zs.isAbs(c),s=c.substr(-1)==="/";return(c=Zs.normalizeArray(c.split("/").filter(o=>!!o),!n).join("/"))||n||(c="."),c&&s&&(c+="/"),(n?"/":"")+c},dirname:c=>{var n=Zs.splitPath(c),s=n[0],o=n[1];return s||o?(o&&(o=o.substr(0,o.length-1)),s+o):"."},basename:c=>{if(c==="/")return"/";var n=(c=(c=Zs.normalize(c)).replace(/\/$/,"")).lastIndexOf("/");return n===-1?c:c.substr(n+1)},join:function(){var c=Array.prototype.slice.call(arguments);return Zs.normalize(c.join("/"))},join2:(c,n)=>Zs.normalize(c+"/"+n)},tl={resolve:function(){for(var c="",n=!1,s=arguments.length-1;s>=-1&&!n;s--){var o=s>=0?arguments[s]:xe.cwd();if(typeof o!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!o)return"";c=o+"/"+c,n=Zs.isAbs(o)}return(n?"/":"")+(c=Zs.normalizeArray(c.split("/").filter(f=>!!f),!n).join("/"))||"."},relative:(c,n)=>{function s(E){for(var B=0;B<E.length&&E[B]==="";B++);for(var G=E.length-1;G>=0&&E[G]==="";G--);return B>G?[]:E.slice(B,G-B+1)}c=tl.resolve(c).substr(1),n=tl.resolve(n).substr(1);for(var o=s(c.split("/")),f=s(n.split("/")),p=Math.min(o.length,f.length),C=p,b=0;b<p;b++)if(o[b]!==f[b]){C=b;break}var k=[];for(b=C;b<o.length;b++)k.push("..");return(k=k.concat(f.slice(C))).join("/")}};function Vm(c,n,s){var o=Sm(c)+1,f=new Array(o),p=cd(c,f,0,f.length);return n&&(f.length=p),f}var vl={ttys:[],init:function(){},shutdown:function(){},register:function(c,n){vl.ttys[c]={input:[],output:[],ops:n},xe.registerDevice(c,vl.stream_ops)},stream_ops:{open:function(c){var n=vl.ttys[c.node.rdev];if(!n)throw new xe.ErrnoError(43);c.tty=n,c.seekable=!1},close:function(c){c.tty.ops.fsync(c.tty)},fsync:function(c){c.tty.ops.fsync(c.tty)},read:function(c,n,s,o,f){if(!c.tty||!c.tty.ops.get_char)throw new xe.ErrnoError(60);for(var p=0,C=0;C<o;C++){var b;try{b=c.tty.ops.get_char(c.tty)}catch{throw new xe.ErrnoError(29)}if(b===void 0&&p===0)throw new xe.ErrnoError(6);if(b==null)break;p++,n[s+C]=b}return p&&(c.node.timestamp=Date.now()),p},write:function(c,n,s,o,f){if(!c.tty||!c.tty.ops.put_char)throw new xe.ErrnoError(60);try{for(var p=0;p<o;p++)c.tty.ops.put_char(c.tty,n[s+p])}catch{throw new xe.ErrnoError(29)}return o&&(c.node.timestamp=Date.now()),p}},default_tty_ops:{put_char:function(c,n){n===null||n===10?(X1(E2(c.output,0)),c.output=[]):n!=0&&c.output.push(n)},fsync:function(c){c.output&&c.output.length>0&&(X1(E2(c.output,0)),c.output=[])}},default_tty1_ops:{put_char:function(c,n){n===null||n===10?(_2(E2(c.output,0)),c.output=[]):n!=0&&c.output.push(n)},fsync:function(c){c.output&&c.output.length>0&&(_2(E2(c.output,0)),c.output=[])}}};function Hm(c){z0()}var es={ops_table:null,mount:function(c){return es.createNode(null,"/",16895,0)},createNode:function(c,n,s,o){if(xe.isBlkdev(s)||xe.isFIFO(s))throw new xe.ErrnoError(63);es.ops_table||(es.ops_table={dir:{node:{getattr:es.node_ops.getattr,setattr:es.node_ops.setattr,lookup:es.node_ops.lookup,mknod:es.node_ops.mknod,rename:es.node_ops.rename,unlink:es.node_ops.unlink,rmdir:es.node_ops.rmdir,readdir:es.node_ops.readdir,symlink:es.node_ops.symlink},stream:{llseek:es.stream_ops.llseek}},file:{node:{getattr:es.node_ops.getattr,setattr:es.node_ops.setattr},stream:{llseek:es.stream_ops.llseek,read:es.stream_ops.read,write:es.stream_ops.write,allocate:es.stream_ops.allocate,mmap:es.stream_ops.mmap,msync:es.stream_ops.msync}},link:{node:{getattr:es.node_ops.getattr,setattr:es.node_ops.setattr,readlink:es.node_ops.readlink},stream:{}},chrdev:{node:{getattr:es.node_ops.getattr,setattr:es.node_ops.setattr},stream:xe.chrdev_stream_ops}});var f=xe.createNode(c,n,s,o);return xe.isDir(f.mode)?(f.node_ops=es.ops_table.dir.node,f.stream_ops=es.ops_table.dir.stream,f.contents={}
2810):xe.isFile(f.mode)?(f.node_ops=es.ops_table.file.node,f.stream_ops=es.ops_table.file.stream,f.usedBytes=0,f.contents=null):xe.isLink(f.mode)?(f.node_ops=es.ops_table.link.node,f.stream_ops=es.ops_table.link.stream):xe.isChrdev(f.mode)&&(f.node_ops=es.ops_table.chrdev.node,f.stream_ops=es.ops_table.chrdev.stream),f.timestamp=Date.now(),c&&(c.contents[n]=f,c.timestamp=f.timestamp),f},getFileDataAsTypedArray:function(c){return c.contents?c.contents.subarray?c.contents.subarray(0,c.usedBytes):new Uint8Array(c.contents):new Uint8Array(0)},expandFileStorage:function(c,n){var s=c.contents?c.contents.length:0;if(!(s>=n)){n=Math.max(n,s*(s<1048576?2:1.125)>>>0),s!=0&&(n=Math.max(n,256));var o=c.contents;c.contents=new Uint8Array(n),c.usedBytes>0&&c.contents.set(o.subarray(0,c.usedBytes),0)}},resizeFileStorage:function(c,n){if(c.usedBytes!=n)if(n==0)c.contents=null,c.usedBytes=0;else{var s=c.contents;c.contents=new Uint8Array(n),s&&c.contents.set(s.subarray(0,Math.min(n,c.usedBytes))),c.usedBytes=n}},node_ops:{getattr:function(c){var n={};return n.dev=xe.isChrdev(c.mode)?c.id:1,n.ino=c.id,n.mode=c.mode,n.nlink=1,n.uid=0,n.gid=0,n.rdev=c.rdev,xe.isDir(c.mode)?n.size=4096:xe.isFile(c.mode)?n.size=c.usedBytes:xe.isLink(c.mode)?n.size=c.link.length:n.size=0,n.atime=new Date(c.timestamp),n.mtime=new Date(c.timestamp),n.ctime=new Date(c.timestamp),n.blksize=4096,n.blocks=Math.ceil(n.size/n.blksize),n},setattr:function(c,n){n.mode!==void 0&&(c.mode=n.mode),n.timestamp!==void 0&&(c.timestamp=n.timestamp),n.size!==void 0&&es.resizeFileStorage(c,n.size)},lookup:function(c,n){throw xe.genericErrors[44]},mknod:function(c,n,s,o){return es.createNode(c,n,s,o)},rename:function(c,n,s){if(xe.isDir(c.mode)){var o;try{o=xe.lookupNode(n,s)}catch{}if(o)for(var f in o.contents)throw new xe.ErrnoError(55)}delete c.parent.contents[c.name],c.parent.timestamp=Date.now(),c.name=s,n.contents[s]=c,n.timestamp=c.parent.timestamp,c.parent=n},unlink:function(c,n){delete c.contents[n],c.timestamp=Date.now()},rmdir:function(c,n){var s=xe.lookupNode(c,n);for(var o in s.contents)throw new xe.ErrnoError(55);delete c.contents[n],c.timestamp=Date.now()},readdir:function(c){var n=[".",".."];for(var s in c.contents)c.contents.hasOwnProperty(s)&&n.push(s);return n},symlink:function(c,n,s){var o=es.createNode(c,n,41471,0);return o.link=s,o},readlink:function(c){if(!xe.isLink(c.mode))throw new xe.ErrnoError(28);return c.link}},stream_ops:{read:function(c,n,s,o,f){var p=c.node.contents;if(f>=c.node.usedBytes)return 0;var C=Math.min(c.node.usedBytes-f,o);if(C>8&&p.subarray)n.set(p.subarray(f,f+C),s);else for(var b=0;b<C;b++)n[s+b]=p[f+b];return C},write:function(c,n,s,o,f,p){if(!o)return 0;var C=c.node;if(C.timestamp=Date.now(),n.subarray&&(!C.contents||C.contents.subarray)){if(p)return C.contents=n.subarray(s,s+o),C.usedBytes=o,o;if(C.usedBytes===0&&f===0)return C.contents=n.slice(s,s+o),C.usedBytes=o,o;if(f+o<=C.usedBytes)return C.contents.set(n.subarray(s,s+o),f),o}if(es.expandFileStorage(C,f+o),C.contents.subarray&&n.subarray)C.contents.set(n.subarray(s,s+o),f);else for(var b=0;b<o;b++)C.contents[f+b]=n[s+b];return C.usedBytes=Math.max(C.usedBytes,f+o),o},llseek:function(c,n,s){var o=n;if(s===1?o+=c.position:s===2&&xe.isFile(c.node.mode)&&(o+=c.node.usedBytes),o<0)throw new xe.ErrnoError(28);return o},allocate:function(c,n,s){es.expandFileStorage(c.node,n+s),c.node.usedBytes=Math.max(c.node.usedBytes,n+s)},mmap:function(c,n,s,o,f){if(!xe.isFile(c.node.mode))throw new xe.ErrnoError(43);var p,C,b=c.node.contents;if(2&f||b.buffer!==bi.buffer){if((s>0||s+n<b.length)&&(b=b.subarray?b.subarray(s,s+n):Array.prototype.slice.call(b,s,s+n)),C=!0,!(p=Hm()))throw new xe.ErrnoError(48);bi.set(b,p)}else C=!1,p=b.byteOffset;return{ptr:p,allocated:C}},msync:function(c,n,s,o,f){return es.stream_ops.write(c,n,0,o,s,!1),0}}},xe={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(c,n={})=>{if(!(c=tl.resolve(c)))return{path:"",node:null};if((n=Object.assign({follow_mount:!0,recurse_count:0},n)).recurse_count>8)throw new xe.ErrnoError(32);for(var s=c.split("/").filter(E=>!!E),o=xe.root,f="/",p=0;p<s.length;p++){var C=p===s.length-1;if(C&&n.parent)break;
2810if(o=xe.lookupNode(o,s[p]),f=Zs.join2(f,s[p]),xe.isMountpoint(o)&&(!C||C&&n.follow_mount)&&(o=o.mounted.root),!C||n.follow)for(var b=0;xe.isLink(o.mode);){var k=xe.readlink(f);if(f=tl.resolve(Zs.dirname(f),k),o=xe.lookupPath(f,{recurse_count:n.recurse_count+1}).node,b++>40)throw new xe.ErrnoError(32)}}return{path:f,node:o}},getPath:c=>{for(var n;;){if(xe.isRoot(c)){var s=c.mount.mountpoint;return n?s[s.length-1]!=="/"?s+"/"+n:s+n:s}n=n?c.name+"/"+n:c.name,c=c.parent}},hashName:(c,n)=>{for(var s=0,o=0;o<n.length;o++)s=(s<<5)-s+n.charCodeAt(o)|0;return(c+s>>>0)%xe.nameTable.length},hashAddNode:c=>{var n=xe.hashName(c.parent.id,c.name);c.name_next=xe.nameTable[n],xe.nameTable[n]=c},hashRemoveNode:c=>{var n=xe.hashName(c.parent.id,c.name);if(xe.nameTable[n]===c)xe.nameTable[n]=c.name_next;else for(var s=xe.nameTable[n];s;){if(s.name_next===c){s.name_next=c.name_next;break}s=s.name_next}},lookupNode:(c,n)=>{var s=xe.mayLookup(c);if(s)throw new xe.ErrnoError(s,c);for(var o=xe.hashName(c.id,n),f=xe.nameTable[o];f;f=f.name_next){var p=f.name;if(f.parent.id===c.id&&p===n)return f}return xe.lookup(c,n)},createNode:(c,n,s,o)=>{var f=new xe.FSNode(c,n,s,o);return xe.hashAddNode(f),f},destroyNode:c=>{xe.hashRemoveNode(c)},isRoot:c=>c===c.parent,isMountpoint:c=>!!c.mounted,isFile:c=>(61440&c)==32768,isDir:c=>(61440&c)==16384,isLink:c=>(61440&c)==40960,isChrdev:c=>(61440&c)==8192,isBlkdev:c=>(61440&c)==24576,isFIFO:c=>(61440&c)==4096,isSocket:c=>!(49152&~c),flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:c=>{var n=xe.flagModes[c];if(n===void 0)throw new Error("Unknown file open mode: "+c);return n},flagsToPermissionString:c=>{var n=["r","w","rw"][3&c];return 512&c&&(n+="w"),n},nodePermissions:(c,n)=>xe.ignorePermissions||(!n.includes("r")||292&c.mode)&&(!n.includes("w")||146&c.mode)&&(!n.includes("x")||73&c.mode)?0:2,mayLookup:c=>xe.nodePermissions(c,"x")||(c.node_ops.lookup?0:2),mayCreate:(c,n)=>{try{return xe.lookupNode(c,n),20}catch{}return xe.nodePermissions(c,"wx")},mayDelete:(c,n,s)=>{var o;try{o=xe.lookupNode(c,n)}catch(p){return p.errno}var f=xe.nodePermissions(c,"wx");if(f)return f;if(s){if(!xe.isDir(o.mode))return 54;if(xe.isRoot(o)||xe.getPath(o)===xe.cwd())return 10}else if(xe.isDir(o.mode))return 31;return 0},mayOpen:(c,n)=>c?xe.isLink(c.mode)?32:xe.isDir(c.mode)&&(xe.flagsToPermissionString(n)!=="r"||512&n)?31:xe.nodePermissions(c,xe.flagsToPermissionString(n)):44,MAX_OPEN_FDS:4096,nextfd:(c=0,n=xe.MAX_OPEN_FDS)=>{for(var s=c;s<=n;s++)if(!xe.streams[s])return s;throw new xe.ErrnoError(33)},getStream:c=>xe.streams[c],createStream:(c,n,s)=>{xe.FSStream||(xe.FSStream=function(){this.shared={}},xe.FSStream.prototype={},Object.defineProperties(xe.FSStream.prototype,{object:{get:function(){return this.node},set:function(f){this.node=f}},isRead:{get:function(){return(2097155&this.flags)!=1}},isWrite:{get:function(){return!!(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(f){this.shared.flags=f}},position:{get:function(){return this.shared.position},set:function(f){this.shared.position=f}}})),c=Object.assign(new xe.FSStream,c);var o=xe.nextfd(n,s);return c.fd=o,xe.streams[o]=c,c},closeStream:c=>{xe.streams[c]=null},chrdev_stream_ops:{open:c=>{var n=xe.getDevice(c.node.rdev);c.stream_ops=n.stream_ops,c.stream_ops.open&&c.stream_ops.open(c)},llseek:()=>{throw new xe.ErrnoError(70)}},major:c=>c>>8,minor:c=>255&c,makedev:(c,n)=>c<<8|n,registerDevice:(c,n)=>{xe.devices[c]={stream_ops:n}},getDevice:c=>xe.devices[c],getMounts:c=>{for(var n=[],s=[c];s.length;){var o=s.pop();n.push(o),s.push.apply(s,o.mounts)}return n},syncfs:(c,n)=>{typeof c=="function"&&(n=c,c=!1),xe.syncFSRequests++,xe.syncFSRequests>1&&_2("warning: "+xe.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var s=xe.getMounts(xe.root.mount),o=0;function f(C){return xe.syncFSRequests--,n(C)}function p(C){if(C)return p.errored?void 0:(p.errored=!0,f(C));++o>=s.length&&f(null)}s.forEach(C=>{if(!C.type.syncfs)return p(null);C.type.syncfs(C,c,p)})},mount:(c,n,s)=>{var o,f=s==="/",p=!s;if(f&&xe.root)throw new xe.ErrnoError(10);if(!f&&!p){var C=xe.lookupPath(s,{follow_mount:!1});if(s=C.path,o=C.node,xe.isMountpoint(o))throw new xe.ErrnoError(10);if(!xe.isDir(o.mode))throw new xe.ErrnoError(54)}var b={type:c,opts:n,mountpoint:s,mounts:[]},k=c.mount(b);return k.mount=b,b.root=k,f?xe.root=k:o&&(o.mounted=b,o.mount&&o.mount.mounts.push(b)),k},unmount:c=>{var n=xe.lookupPath(c,{follow_mount:!1});if(!xe.isMountpoint(n.node))throw new xe.ErrnoError(28);var s=n.node,o=s.mounted,f=xe.getMounts(o);Object.keys(xe.nameTable).forEach(C=>{for(var b=xe.nameTable[C];b;){var k=b.name_next;f.includes(b.mount)&&xe.destroyNode(b),b=k}}),s.mounted=null;var p=s.mount.mounts.indexOf(o);s.mount.mounts.splice(p,1)},lookup:(c,n)=>c.node_ops.lookup(c,n),mknod:(c,n,s)=>{var o=xe.lookupPath(c,{parent:!0}
2810).node,f=Zs.basename(c);if(!f||f==="."||f==="..")throw new xe.ErrnoError(28);var p=xe.mayCreate(o,f);if(p)throw new xe.ErrnoError(p);if(!o.node_ops.mknod)throw new xe.ErrnoError(63);return o.node_ops.mknod(o,f,n,s)},create:(c,n)=>(n=n!==void 0?n:438,n&=4095,n|=32768,xe.mknod(c,n,0)),mkdir:(c,n)=>(n=n!==void 0?n:511,n&=1023,n|=16384,xe.mknod(c,n,0)),mkdirTree:(c,n)=>{for(var s=c.split("/"),o="",f=0;f<s.length;++f)if(s[f]){o+="/"+s[f];try{xe.mkdir(o,n)}catch(p){if(p.errno!=20)throw p}}},mkdev:(c,n,s)=>(s===void 0&&(s=n,n=438),n|=8192,xe.mknod(c,n,s)),symlink:(c,n)=>{if(!tl.resolve(c))throw new xe.ErrnoError(44);var s=xe.lookupPath(n,{parent:!0}).node;if(!s)throw new xe.ErrnoError(44);var o=Zs.basename(n),f=xe.mayCreate(s,o);if(f)throw new xe.ErrnoError(f);if(!s.node_ops.symlink)throw new xe.ErrnoError(63);return s.node_ops.symlink(s,o,c)},rename:(c,n)=>{var s,o,f=Zs.dirname(c),p=Zs.dirname(n),C=Zs.basename(c),b=Zs.basename(n);if(s=xe.lookupPath(c,{parent:!0}).node,o=xe.lookupPath(n,{parent:!0}).node,!s||!o)throw new xe.ErrnoError(44);if(s.mount!==o.mount)throw new xe.ErrnoError(75);var k,E=xe.lookupNode(s,C),B=tl.relative(c,p);if(B.charAt(0)!==".")throw new xe.ErrnoError(28);if((B=tl.relative(n,f)).charAt(0)!==".")throw new xe.ErrnoError(55);try{k=xe.lookupNode(o,b)}catch{}if(E!==k){var G=xe.isDir(E.mode),D=xe.mayDelete(s,C,G);if(D)throw new xe.ErrnoError(D);if(D=k?xe.mayDelete(o,b,G):xe.mayCreate(o,b))throw new xe.ErrnoError(D);if(!s.node_ops.rename)throw new xe.ErrnoError(63);if(xe.isMountpoint(E)||k&&xe.isMountpoint(k))throw new xe.ErrnoError(10);if(o!==s&&(D=xe.nodePermissions(s,"w")))throw new xe.ErrnoError(D);xe.hashRemoveNode(E);try{s.node_ops.rename(E,o,b)}catch(_){throw _}finally{xe.hashAddNode(E)}}},rmdir:c=>{var n=xe.lookupPath(c,{parent:!0}).node,s=Zs.basename(c),o=xe.lookupNode(n,s),f=xe.mayDelete(n,s,!0);if(f)throw new xe.ErrnoError(f);if(!n.node_ops.rmdir)throw new xe.ErrnoError(63);if(xe.isMountpoint(o))throw new xe.ErrnoError(10);n.node_ops.rmdir(n,s),xe.destroyNode(o)},readdir:c=>{var n=xe.lookupPath(c,{follow:!0}).node;if(!n.node_ops.readdir)throw new xe.ErrnoError(54);return n.node_ops.readdir(n)},unlink:c=>{var n=xe.lookupPath(c,{parent:!0}).node;if(!n)throw new xe.ErrnoError(44);var s=Zs.basename(c),o=xe.lookupNode(n,s),f=xe.mayDelete(n,s,!1);if(f)throw new xe.ErrnoError(f);if(!n.node_ops.unlink)throw new xe.ErrnoError(63);if(xe.isMountpoint(o))throw new xe.ErrnoError(10);n.node_ops.unlink(n,s),xe.destroyNode(o)},readlink:c=>{var n=xe.lookupPath(c).node;if(!n)throw new xe.ErrnoError(44);if(!n.node_ops.readlink)throw new xe.ErrnoError(28);return tl.resolve(xe.getPath(n.parent),n.node_ops.readlink(n))},stat:(c,n)=>{var s=xe.lookupPath(c,{follow:!n}).node;if(!s)throw new xe.ErrnoError(44);if(!s.node_ops.getattr)throw new xe.ErrnoError(63);return s.node_ops.getattr(s)},lstat:c=>xe.stat(c,!0),chmod:(c,n,s)=>{var o;if(!(o=typeof c=="string"?xe.lookupPath(c,{follow:!s}).node:c).node_ops.setattr)throw new xe.ErrnoError(63);o.node_ops.setattr(o,{mode:4095&n|-4096&o.mode,timestamp:Date.now()})},lchmod:(c,n)=>{xe.chmod(c,n,!0)},fchmod:(c,n)=>{var s=xe.getStream(c);if(!s)throw new xe.ErrnoError(8);xe.chmod(s.node,n)},chown:(c,n,s,o)=>{var f;if(!(f=typeof c=="string"?xe.lookupPath(c,{follow:!o}).node:c).node_ops.setattr)throw new xe.ErrnoError(63);f.node_ops.setattr(f,{timestamp:Date.now()})},lchown:(c,n,s)=>{xe.chown(c,n,s,!0)},fchown:(c,n,s)=>{var o=xe.getStream(c);if(!o)throw new xe.ErrnoError(8);xe.chown(o.node,n,s)},truncate:(c,n)=>{if(n<0)throw new xe.ErrnoError(28);var s;if(!(s=typeof c=="string"?xe.lookupPath(c,{follow:!0}).node:c).node_ops.setattr)throw new xe.ErrnoError(63);if(xe.isDir(s.mode))throw new xe.ErrnoError(31);if(!xe.isFile(s.mode))throw new xe.ErrnoError(28);var o=xe.nodePermissions(s,"w");if(o)throw new xe.ErrnoError(o);s.node_ops.setattr(s,{size:n,timestamp:Date.now()})},ftruncate:(c,n)=>{var s=xe.getStream(c);if(!s)throw new xe.ErrnoError(8);if(!(2097155&s.flags))throw new xe.ErrnoError(28);xe.truncate(s.node,n)},utime:(c,n,s)=>{var o=xe.lookupPath(c,{follow:!0}).node;o.node_ops.setattr(o,{timestamp:Math.max(n,s)})},open:(c,n,s)=>{if(c==="")throw new xe.ErrnoError(44);var o;if(s=s===void 0?438:s,s=64&(n=typeof n=="string"?xe.modeStringToFlags(n):n)?4095&
2810s|32768:0,typeof c=="object")o=c;else{c=Zs.normalize(c);try{o=xe.lookupPath(c,{follow:!(131072&n)}).node}catch{}}var f=!1;if(64&n)if(o){if(128&n)throw new xe.ErrnoError(20)}else o=xe.mknod(c,s,0),f=!0;if(!o)throw new xe.ErrnoError(44);if(xe.isChrdev(o.mode)&&(n&=-513),65536&n&&!xe.isDir(o.mode))throw new xe.ErrnoError(54);if(!f){var p=xe.mayOpen(o,n);if(p)throw new xe.ErrnoError(p)}512&n&&!f&&xe.truncate(o,0),n&=-131713;var C=xe.createStream({node:o,path:xe.getPath(o),flags:n,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1});return C.stream_ops.open&&C.stream_ops.open(C),!Le.logReadFiles||1&n||(xe.readFiles||(xe.readFiles={}),c in xe.readFiles||(xe.readFiles[c]=1)),C},close:c=>{if(xe.isClosed(c))throw new xe.ErrnoError(8);c.getdents&&(c.getdents=null);try{c.stream_ops.close&&c.stream_ops.close(c)}catch(n){throw n}finally{xe.closeStream(c.fd)}c.fd=null},isClosed:c=>c.fd===null,llseek:(c,n,s)=>{if(xe.isClosed(c))throw new xe.ErrnoError(8);if(!c.seekable||!c.stream_ops.llseek)throw new xe.ErrnoError(70);if(s!=0&&s!=1&&s!=2)throw new xe.ErrnoError(28);return c.position=c.stream_ops.llseek(c,n,s),c.ungotten=[],c.position},read:(c,n,s,o,f)=>{if(o<0||f<0)throw new xe.ErrnoError(28);if(xe.isClosed(c))throw new xe.ErrnoError(8);if((2097155&c.flags)==1)throw new xe.ErrnoError(8);if(xe.isDir(c.node.mode))throw new xe.ErrnoError(31);if(!c.stream_ops.read)throw new xe.ErrnoError(28);var p=f!==void 0;if(p){if(!c.seekable)throw new xe.ErrnoError(70)}else f=c.position;var C=c.stream_ops.read(c,n,s,o,f);return p||(c.position+=C),C},write:(c,n,s,o,f,p)=>{if(o<0||f<0)throw new xe.ErrnoError(28);if(xe.isClosed(c))throw new xe.ErrnoError(8);if(!(2097155&c.flags))throw new xe.ErrnoError(8);if(xe.isDir(c.node.mode))throw new xe.ErrnoError(31);if(!c.stream_ops.write)throw new xe.ErrnoError(28);c.seekable&&1024&c.flags&&xe.llseek(c,0,2);var C=f!==void 0;if(C){if(!c.seekable)throw new xe.ErrnoError(70)}else f=c.position;var b=c.stream_ops.write(c,n,s,o,f,p);return C||(c.position+=b),b},allocate:(c,n,s)=>{if(xe.isClosed(c))throw new xe.ErrnoError(8);if(n<0||s<=0)throw new xe.ErrnoError(28);if(!(2097155&c.flags))throw new xe.ErrnoError(8);if(!xe.isFile(c.node.mode)&&!xe.isDir(c.node.mode))throw new xe.ErrnoError(43);if(!c.stream_ops.allocate)throw new xe.ErrnoError(138);c.stream_ops.allocate(c,n,s)},mmap:(c,n,s,o,f)=>{if(2&o&&!(2&f)&&(2097155&c.flags)!=2)throw new xe.ErrnoError(2);if((2097155&c.flags)==1)throw new xe.ErrnoError(2);if(!c.stream_ops.mmap)throw new xe.ErrnoError(43);return c.stream_ops.mmap(c,n,s,o,f)},msync:(c,n,s,o,f)=>c.stream_ops.msync?c.stream_ops.msync(c,n,s,o,f):0,munmap:c=>0,ioctl:(c,n,s)=>{if(!c.stream_ops.ioctl)throw new xe.ErrnoError(59);return c.stream_ops.ioctl(c,n,s)},readFile:(c,n={})=>{if(n.flags=n.flags||0,n.encoding=n.encoding||"binary",n.encoding!=="utf8"&&n.encoding!=="binary")throw new Error('Invalid encoding type "'+n.encoding+'"');var s,o=xe.open(c,n.flags),f=xe.stat(c).size,p=new Uint8Array(f);return xe.read(o,p,0,f,0),n.encoding==="utf8"?s=E2(p,0):n.encoding==="binary"&&(s=p),xe.close(o),s},writeFile:(c,n,s={})=>{s.flags=s.flags||577;var o=xe.open(c,s.flags,s.mode);if(typeof n=="string"){var f=new Uint8Array(Sm(n)+1),p=cd(n,f,0,f.length);xe.write(o,f,0,p,void 0,s.canOwn)}else{if(!ArrayBuffer.isView(n))throw new Error("Unsupported data type");xe.write(o,n,0,n.byteLength,void 0,s.canOwn)}xe.close(o)},cwd:()=>xe.currentPath,chdir:c=>{var n=xe.lookupPath(c,{follow:!0});if(n.node===null)throw new xe.ErrnoError(44);if(!xe.isDir(n.node.mode))throw new xe.ErrnoError(54);var s=xe.nodePermissions(n.node,"x");if(s)throw new xe.ErrnoError(s);xe.currentPath=n.path},createDefaultDirectories:()=>{xe.mkdir("/tmp"),xe.mkdir("/home"),xe.mkdir("/home/web_user")},createDefaultDevices:()=>{xe.mkdir("/dev"),xe.registerDevice(xe.makedev(1,3),{read:()=>0,write:(c,n,s,o,f)=>o}),xe.mkdev("/dev/null",xe.makedev(1,3)),vl.register(xe.makedev(5,0),vl.default_tty_ops),vl.register(xe.makedev(6,0),vl.default_tty1_ops),xe.mkdev("/dev/tty",xe.makedev(5,0)),xe.mkdev("/dev/tty1",xe.makedev(6,0)),xe.mkdir("/dev/shm"),xe.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{xe.mkdir("/proc");var c=xe.mkdir("/proc/self");xe.mkdir("/proc/self/fd"),xe.mount({mount:()=>{var n=xe.createNode(c,"fd",16895,73);return n.node_ops={lookup:(s,o)=>{var f=+o,p=xe.getStream(f);if(!p)throw new xe.ErrnoError(8);var C={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>p.path}};return C.parent=C,C}},n}},{},"/proc/self/fd")}
2810,createStandardStreams:()=>{Le.stdin?xe.createDevice("/dev","stdin",Le.stdin):xe.symlink("/dev/tty","/dev/stdin"),Le.stdout?xe.createDevice("/dev","stdout",null,Le.stdout):xe.symlink("/dev/tty","/dev/stdout"),Le.stderr?xe.createDevice("/dev","stderr",null,Le.stderr):xe.symlink("/dev/tty1","/dev/stderr"),xe.open("/dev/stdin",0),xe.open("/dev/stdout",1),xe.open("/dev/stderr",1)},ensureErrnoError:()=>{xe.ErrnoError||(xe.ErrnoError=function(c,n){this.node=n,this.setErrno=function(s){this.errno=s},this.setErrno(c),this.message="FS error"},xe.ErrnoError.prototype=new Error,xe.ErrnoError.prototype.constructor=xe.ErrnoError,[44].forEach(c=>{xe.genericErrors[c]=new xe.ErrnoError(c),xe.genericErrors[c].stack="<generic error, no stack>"}))},staticInit:()=>{xe.ensureErrnoError(),xe.nameTable=new Array(4096),xe.mount(es,{},"/"),xe.createDefaultDirectories(),xe.createDefaultDevices(),xe.createSpecialDirectories(),xe.filesystems={MEMFS:es}},init:(c,n,s)=>{xe.init.initialized=!0,xe.ensureErrnoError(),Le.stdin=c||Le.stdin,Le.stdout=n||Le.stdout,Le.stderr=s||Le.stderr,xe.createStandardStreams()},quit:()=>{xe.init.initialized=!1;for(var c=0;c<xe.streams.length;c++){var n=xe.streams[c];n&&xe.close(n)}},getMode:(c,n)=>{var s=0;return c&&(s|=365),n&&(s|=146),s},findObject:(c,n)=>{var s=xe.analyzePath(c,n);return s.exists?s.object:null},analyzePath:(c,n)=>{try{c=(o=xe.lookupPath(c,{follow:!n})).path}catch{}var s={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var o=xe.lookupPath(c,{parent:!0});s.parentExists=!0,s.parentPath=o.path,s.parentObject=o.node,s.name=Zs.basename(c),o=xe.lookupPath(c,{follow:!n}),s.exists=!0,s.path=o.path,s.object=o.node,s.name=o.node.name,s.isRoot=o.path==="/"}catch(f){s.error=f.errno}return s},createPath:(c,n,s,o)=>{c=typeof c=="string"?c:xe.getPath(c);for(var f=n.split("/").reverse();f.length;){var p=f.pop();if(p){var C=Zs.join2(c,p);try{xe.mkdir(C)}catch{}c=C}}return C},createFile:(c,n,s,o,f)=>{var p=Zs.join2(typeof c=="string"?c:xe.getPath(c),n),C=xe.getMode(o,f);return xe.create(p,C)},createDataFile:(c,n,s,o,f,p)=>{var C=n;c&&(c=typeof c=="string"?c:xe.getPath(c),C=n?Zs.join2(c,n):c);var b=xe.getMode(o,f),k=xe.create(C,b);if(s){if(typeof s=="string"){for(var E=new Array(s.length),B=0,G=s.length;B<G;++B)E[B]=s.charCodeAt(B);s=E}xe.chmod(k,146|b);var D=xe.open(k,577);xe.write(D,s,0,s.length,0,p),xe.close(D),xe.chmod(k,b)}return k},createDevice:(c,n,s,o)=>{var f=Zs.join2(typeof c=="string"?c:xe.getPath(c),n),p=xe.getMode(!!s,!!o);xe.createDevice.major||(xe.createDevice.major=64);var C=xe.makedev(xe.createDevice.major++,0);return xe.registerDevice(C,{open:b=>{b.seekable=!1},close:b=>{o&&o.buffer&&o.buffer.length&&o(10)},read:(b,k,E,B,G)=>{for(var D=0,_=0;_<B;_++){var O;try{O=s()}catch{throw new xe.ErrnoError(29)}if(O===void 0&&D===0)throw new xe.ErrnoError(6);if(O==null)break;D++,k[E+_]=O}return D&&(b.node.timestamp=Date.now()),D},write:(b,k,E,B,G)=>{for(var D=0;D<B;D++)try{o(k[E+D])}catch{throw new xe.ErrnoError(29)}return B&&(b.node.timestamp=Date.now()),D}}),xe.mkdev(f,p,C)},forceLoadFile:c=>{if(c.isDevice||c.isFolder||c.link||c.contents)return!0;throw typeof XMLHttpRequest<"u"?new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."):new Error("Cannot load without read() or XMLHttpRequest.")},createLazyFile:(c,n,s,o,f)=>{function p(){this.lengthKnown=!1,this.chunks=[]}if(p.prototype.get=function(G){if(!(G>this.length-1||G<0)){var D=G%this.chunkSize,_=G/this.chunkSize|0;return this.getter(_)[D]}},p.prototype.setDataGetter=function(G){this.getter=G},p.prototype.cacheLength=function(){var G=new XMLHttpRequest;if(G.open("HEAD",s,!1),G.send(null),!(G.status>=200&&G.status<300||G.status===304))throw new Error("Couldn't load "+s+". Status: "+G.status);var D,_=Number(G.getResponseHeader("Content-length")),O=(D=G.getResponseHeader("Accept-Ranges"))&&D==="bytes",j=(D=G.getResponseHeader("Content-Encoding"))&&D==="gzip",U=1048576;O||(U=_);var H=this;H.setDataGetter(Z=>{var X=Z*U,g=(Z+1)*U-1;if(g=Math.min(g,_-1),H.chunks[Z]===void 0&&(H.chunks[Z]=((v,e)=>{if(v>e)throw new Error("invalid range ("+v+", "+e+") or no bytes requested!");if(e>_-1)throw new Error("only "+_+" bytes available! programmer error!");var d=new XMLHttpRequest;if(d.open("GET",s,!1),_!==U&&d.setRequestHeader("Range","bytes="+v+"-"+e),d.responseType="arraybuffer",d.overrideMimeType&&d.overrideMimeType("text/plain;
2810 charset=x-user-defined"),d.send(null),!(d.status>=200&&d.status<300||d.status===304))throw new Error("Couldn't load "+s+". Status: "+d.status);return d.response!==void 0?new Uint8Array(d.response||[]):Vm(d.responseText||"",!0)})(X,g)),H.chunks[Z]===void 0)throw new Error("doXHR failed!");return H.chunks[Z]}),!j&&_||(U=_=1,_=this.getter(0).length,U=_,X1("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=_,this._chunkSize=U,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!zk)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var C=new p;Object.defineProperties(C,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var b={isDevice:!1,contents:C}}else b={isDevice:!1,url:s};var k=xe.createFile(c,n,b,o,f);b.contents?k.contents=b.contents:b.url&&(k.contents=null,k.url=b.url),Object.defineProperties(k,{usedBytes:{get:function(){return this.contents.length}}});var E={};function B(G,D,_,O,j){var U=G.node.contents;if(j>=U.length)return 0;var H=Math.min(U.length-j,O);if(U.slice)for(var Z=0;Z<H;Z++)D[_+Z]=U[j+Z];else for(Z=0;Z<H;Z++)D[_+Z]=U.get(j+Z);return H}return Object.keys(k.stream_ops).forEach(G=>{var D=k.stream_ops[G];E[G]=function(){return xe.forceLoadFile(k),D.apply(null,arguments)}}),E.read=(G,D,_,O,j)=>(xe.forceLoadFile(k),B(G,D,_,O,j)),E.mmap=(G,D,_,O,j)=>{xe.forceLoadFile(k);var U=Hm();if(!U)throw new xe.ErrnoError(48);return B(G,bi,U,D,_),{ptr:U,allocated:!0}},k.stream_ops=E,k},indexedDB:()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,DB_NAME:()=>"EM_FS_"+window.location.pathname,DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(c,n,s)=>{n=n||(()=>{}),s=s||(()=>{});var o=xe.indexedDB();try{var f=o.open(xe.DB_NAME(),xe.DB_VERSION)}catch(p){return s(p)}f.onupgradeneeded=()=>{X1("creating db"),f.result.createObjectStore(xe.DB_STORE_NAME)},f.onsuccess=()=>{var p=f.result.transaction([xe.DB_STORE_NAME],"readwrite"),C=p.objectStore(xe.DB_STORE_NAME),b=0,k=0,E=c.length;function B(){k==0?n():s()}c.forEach(G=>{var D=C.put(xe.analyzePath(G).object.contents,G);D.onsuccess=()=>{++b+k==E&&B()},D.onerror=()=>{k++,b+k==E&&B()}}),p.onerror=s},f.onerror=s},loadFilesFromDB:(c,n,s)=>{n=n||(()=>{}),s=s||(()=>{});var o=xe.indexedDB();try{var f=o.open(xe.DB_NAME(),xe.DB_VERSION)}catch(p){return s(p)}f.onupgradeneeded=s,f.onsuccess=()=>{var p=f.result;try{var C=p.transaction([xe.DB_STORE_NAME],"readonly")}catch(D){return void s(D)}var b=C.objectStore(xe.DB_STORE_NAME),k=0,E=0,B=c.length;function G(){E==0?n():s()}c.forEach(D=>{var _=b.get(D);_.onsuccess=()=>{xe.analyzePath(D).exists&&xe.unlink(D),xe.createDataFile(Zs.dirname(D),Zs.basename(D),_.result,!0,!0,!0),++k+E==B&&G()},_.onerror=()=>{E++,k+E==B&&G()}}),C.onerror=s},f.onerror=s}},wa={DEFAULT_POLLMASK:5,calculateAt:function(c,n,s){if(Zs.isAbs(n))return n;var o;if(o=c===-100?xe.cwd():wa.getStreamFromFD(c).path,n.length==0){if(!s)throw new xe.ErrnoError(44);return o}return Zs.join2(o,n)},doStat:function(c,n,s){try{var o=c(n)}catch(b){if(b&&b.node&&Zs.normalize(n)!==Zs.normalize(xe.getPath(b.node)))return-54;throw b}Ds[s>>2]=o.dev,Ds[s+8>>2]=o.ino,Ds[s+12>>2]=o.mode,An[s+16>>2]=o.nlink,Ds[s+20>>2]=o.uid,Ds[s+24>>2]=o.gid,Ds[s+28>>2]=o.rdev,Oa=[o.size>>>0,(Nr=o.size,+Math.abs(Nr)>=1?Nr>0?(0|Math.min(+Math.floor(Nr/4294967296),4294967295))>>>0:~~+Math.ceil((Nr-+(~~Nr>>>0))/4294967296)>>>0:0)],Ds[s+40>>2]=Oa[0],Ds[s+44>>2]=Oa[1],Ds[s+48>>2]=4096,Ds[s+52>>2]=o.blocks;var f=o.atime.getTime(),p=o.mtime.getTime(),C=o.ctime.getTime();return Oa=[Math.floor(f/1e3)>>>0,(Nr=Math.floor(f/1e3),+Math.abs(Nr)>=1?Nr>0?(0|Math.min(+Math.floor(Nr/4294967296),4294967295))>>>0:~~+Math.ceil((Nr-+(~~Nr>>>0))/4294967296)>>>0:0)],Ds[s+56>>2]=Oa[0],Ds[s+60>>2]=Oa[1],An[s+64>>2]=f%1e3*1e3,Oa=[Math.floor(p/1e3)>>>0,(Nr=Math.floor(p/1e3),+Math.abs(Nr)>=1?Nr>0?(0|Math.min(+Math.floor(Nr/4294967296),4294967295))>>>0:~~+Math.ceil((Nr-+(~~Nr>>>0))/4294967296)>>>0:0)],Ds[s+72>>2]=Oa[0],Ds[s+76>>2]=Oa[1],An[s+80>>2]=p%1e3*1e3,Oa=[Math.floor(C/1e3)>>>0,(Nr=Math.floor(C/1e3),+Math.abs(Nr)>=1?Nr>0?(0|Math.min(+Math.floor(Nr/4294967296),4294967295))>>>0:~~+Math.ceil((Nr-+(~~Nr>>>0))/4294967296)>>>0:0)],Ds[s+88>>2]=Oa[0],Ds[s+92>>2]=Oa[1],An[s+96>>2]=C%1e3*1e3,Oa=[o.ino>>>0,(Nr=o.ino,+Math.abs(Nr)>=1?Nr>0?(0|Math.min(+Math.floor(Nr/4294967296),4294967295))>>>0:~~+Math.ceil((Nr-+(~~Nr>>>0))/4294967296)>>>0:0)],Ds[s+104>>2]=Oa[0],Ds[s+108>>2]=Oa[1],0},doMsync:function(c,n,s,o,f){if(!xe.isFile(n.node.mode))throw new xe.ErrnoError(43);if(2&o)return 0;var p=B2.slice(c,c+s);xe.msync(n,p,f,s,o)},varargs:void 0,get:function(){return wa.varargs+=4,Ds[wa.varargs-4>>2]},getStr:function(c){return x2(c)},getStreamFromFD:function(c){var n=xe.getStream(c);if(!n)throw new xe.ErrnoError(8);return n}},Rf={};function Xu(){if(!Xu.strings){var c={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:ld||"./this.program"};for(var n in Rf)Rf[n]===void 0?delete c[n]:c[n]=Rf[n];var s=[];for(var n in c)s.push(n+"="+c[n]);Xu.strings=s}return Xu.strings}var up=function(c,n,s,o){c||(c=this),this.parent=c,this.mount=c.mount,this.mounted=null,this.id=xe.nextInode++,this.name=n,this.mode=s,this.node_ops={},this.stream_ops={},this.rdev=o};Object.defineProperties(up.prototype,{read:{get:function(){return!(365&~this.mode)}
2810,set:function(c){c?this.mode|=365:this.mode&=-366}},write:{get:function(){return!(146&~this.mode)},set:function(c){c?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return xe.isDir(this.mode)}},isDevice:{get:function(){return xe.isChrdev(this.mode)}}}),xe.FSNode=up,xe.staticInit(),Le.FS_createPath=xe.createPath,Le.FS_createDataFile=xe.createDataFile,Le.FS_unlink=xe.unlink,Le.FS_createLazyFile=xe.createLazyFile,Le.FS_createDevice=xe.createDevice;var Vk={g:function(c,n,s,o){z0("Assertion failed: "+x2(c)+", at: "+[n?x2(n):"unknown filename",s,o?x2(o):"unknown function"])},u:function(c,n,s){throw new Lk(c).init(n,s),c},d:function(c,n,s){wa.varargs=s;try{var o=wa.getStreamFromFD(c);switch(n){case 0:return(f=wa.get())<0?-28:xe.createStream(o,f).fd;case 1:case 2:case 6:case 7:return 0;case 3:return o.flags;case 4:var f=wa.get();return o.flags|=f,0;case 5:return f=wa.get(),q1[f+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return Ds[V3()>>2]=28,-1}}catch(p){if(xe===void 0||!(p instanceof xe.ErrnoError))throw p;return-p.errno}},q:function(c,n,s){try{var o=wa.getStreamFromFD(c);o.getdents||(o.getdents=xe.readdir(o.path));for(var f=280,p=0,C=xe.llseek(o,0,1),b=Math.floor(C/f);b<o.getdents.length&&p+f<=s;){var k,E,B=o.getdents[b];if(B===".")k=o.node.id,E=4;else if(B==="..")k=xe.lookupPath(o.path,{parent:!0}).node.id,E=4;else{var G=xe.lookupNode(o.node,B);k=G.id,E=xe.isChrdev(G.mode)?2:xe.isDir(G.mode)?4:xe.isLink(G.mode)?10:8}Oa=[k>>>0,(Nr=k,+Math.abs(Nr)>=1?Nr>0?(0|Math.min(+Math.floor(Nr/4294967296),4294967295))>>>0:~~+Math.ceil((Nr-+(~~Nr>>>0))/4294967296)>>>0:0)],Ds[n+p>>2]=Oa[0],Ds[n+p+4>>2]=Oa[1],Oa=[(b+1)*f>>>0,(Nr=(b+1)*f,+Math.abs(Nr)>=1?Nr>0?(0|Math.min(+Math.floor(Nr/4294967296),4294967295))>>>0:~~+Math.ceil((Nr-+(~~Nr>>>0))/4294967296)>>>0:0)],Ds[n+p+8>>2]=Oa[0],Ds[n+p+12>>2]=Oa[1],q1[n+p+16>>1]=280,bi[n+p+18|0]=E,cd(B,B2,n+p+19,256),p+=f,b+=1}return xe.llseek(o,b*f,0),p}catch(D){if(xe===void 0||!(D instanceof xe.ErrnoError))throw D;return-D.errno}},h:function(c,n,s){wa.varargs=s;try{var o=wa.getStreamFromFD(c);switch(n){case 21509:case 21505:case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:case 21523:case 21524:return o.tty?0:-59;case 21519:if(!o.tty)return-59;var f=wa.get();return Ds[f>>2]=0,0;case 21520:return o.tty?-28:-59;case 21531:return f=wa.get(),xe.ioctl(o,n,f);default:return-28}}catch(p){if(xe===void 0||!(p instanceof xe.ErrnoError))throw p;return-p.errno}},e:function(c,n,s,o){wa.varargs=o;try{n=wa.getStr(n),n=wa.calculateAt(c,n);var f=o?wa.get():0;return xe.open(n,s,f).fd}catch(p){if(xe===void 0||!(p instanceof xe.ErrnoError))throw p;return-p.errno}},o:function(c){try{return c=wa.getStr(c),xe.rmdir(c),0}catch(n){if(xe===void 0||!(n instanceof xe.ErrnoError))throw n;return-n.errno}},n:function(c,n){try{return c=wa.getStr(c),wa.doStat(xe.stat,c,n)}catch(s){if(xe===void 0||!(s instanceof xe.ErrnoError))throw s;return-s.errno}},p:function(c,n,s){try{return n=wa.getStr(n),n=wa.calculateAt(c,n),s===0?xe.unlink(n):s===512?xe.rmdir(n):z0("Invalid flags passed to unlinkat"),0}catch(o){if(xe===void 0||!(o instanceof xe.ErrnoError))throw o;return-o.errno}},i:function(){return!0},l:function(){z0("")},f:function(){return Date.now()},j:function(c,n,s){B2.copyWithin(c,n,n+s)},m:function(c){B2.length,z0("OOM")},r:function(c,n){var s=0;return Xu().forEach(function(o,f){var p=n+s;An[c+4*f>>2]=p,function(C,b){for(var k=0;k<C.length;++k)bi[0|b++]=C.charCodeAt(k);bi[0|b]=0}(o,p),s+=o.length+1}),0},s:function(c,n){var s=Xu();An[c>>2]=s.length;var o=0;return s.forEach(function(f){o+=f.length+1}),An[n>>2]=o,0},b:function(c){try{var n=wa.getStreamFromFD(c);return xe.close(n),0}catch(s){if(xe===void 0||!(s instanceof xe.ErrnoError))throw s;return s.errno}},t:function(c,n,s,o){try{var f=function(p,C,b){for(var k=0,E=0;E<b;E++){var B=An[C>>2],G=An[C+4>>2];C+=8;var D=xe.read(p,bi,B,G,void 0);if(D<0)return-1;if(k+=D,D<G)break}return k}(wa.getStreamFromFD(c),n,s);return An[o>>2]=f,0}catch(p){if(xe===void 0||!(p instanceof xe.ErrnoError))throw p;return p.errno}},k:function(c,n,s,o,f){try{var p=(k=s)+2097152>>>0<4194305-!!(b=n)?(b>>>0)+4294967296*k:NaN;if(isNaN(p))return 61;var C=wa.getStreamFromFD(c);return xe.llseek(C,p,o),Oa=[C.position>>>0,(Nr=C.position,+Math.abs(Nr)>=1?Nr>0?(0|Math.min(+Math.floor(Nr/4294967296),4294967295))>>>0:~~+Math.ceil((Nr-+(~~Nr>>>0))/4294967296)>>>0:0)],Ds[f>>2]=Oa[0],Ds[f+4>>2]=Oa[1],C.getdents&&p===0&&o===0&&(C.getdents=null),0}
2810catch(E){if(xe===void 0||!(E instanceof xe.ErrnoError))throw E;return E.errno}var b,k},c:function(c,n,s,o){try{var f=function(p,C,b){for(var k=0,E=0;E<b;E++){var B=An[C>>2],G=An[C+4>>2];C+=8;var D=xe.write(p,bi,B,G,void 0);if(D<0)return-1;k+=D}return k}(wa.getStreamFromFD(c),n,s);return An[o>>2]=f,0}catch(p){if(xe===void 0||!(p instanceof xe.ErrnoError))throw p;return p.errno}},a:ed};(function(){var c,n={a:Vk};function s(o,f){var p=o.exports;Le.asm=p,Le.asm.ua,Fm(Le.asm.v),Lm()}if(Om(),Le.instantiateWasm)try{return Le.instantiateWasm(n,s)}catch(o){return _2("Module.instantiateWasm callback failed with error: "+o),!1}c=function(o){s(o.instance)},async function(){return[]}().then(function(o){return T2.instantiate(o,n)}).then(function(o){return o}).then(c,function(o){_2("failed to asynchronously prepare wasm: "+o),z0(o)})})(),Le.___wasm_call_ctors=function(){return(Le.___wasm_call_ctors=Le.asm.v).apply(null,arguments)};var Ym=Le._emscripten_bind_VoidPtr___destroy___0=function(){return(Ym=Le._emscripten_bind_VoidPtr___destroy___0=Le.asm.w).apply(null,arguments)},Rm=Le._emscripten_bind_espeak_VOICE_get_name_0=function(){return(Rm=Le._emscripten_bind_espeak_VOICE_get_name_0=Le.asm.x).apply(null,arguments)},jm=Le._emscripten_bind_espeak_VOICE_set_name_1=function(){return(jm=Le._emscripten_bind_espeak_VOICE_set_name_1=Le.asm.y).apply(null,arguments)},Wm=Le._emscripten_bind_espeak_VOICE_get_languages_1=function(){return(Wm=Le._emscripten_bind_espeak_VOICE_get_languages_1=Le.asm.z).apply(null,arguments)},Um=Le._emscripten_bind_espeak_VOICE_get_identifier_0=function(){return(Um=Le._emscripten_bind_espeak_VOICE_get_identifier_0=Le.asm.A).apply(null,arguments)},Km=Le._emscripten_bind_espeak_VOICE_set_identifier_1=function(){return(Km=Le._emscripten_bind_espeak_VOICE_set_identifier_1=Le.asm.B).apply(null,arguments)},Zm=Le._emscripten_bind_espeak_VOICE_get_gender_0=function(){return(Zm=Le._emscripten_bind_espeak_VOICE_get_gender_0=Le.asm.C).apply(null,arguments)},Xm=Le._emscripten_bind_espeak_VOICE_set_gender_1=function(){return(Xm=Le._emscripten_bind_espeak_VOICE_set_gender_1=Le.asm.D).apply(null,arguments)},qm=Le._emscripten_bind_espeak_VOICE_get_age_0=function(){return(qm=Le._emscripten_bind_espeak_VOICE_get_age_0=Le.asm.E).apply(null,arguments)},Jm=Le._emscripten_bind_espeak_VOICE_set_age_1=function(){return(Jm=Le._emscripten_bind_espeak_VOICE_set_age_1=Le.asm.F).apply(null,arguments)},$m=Le._emscripten_bind_espeak_VOICE_get_variant_0=function(){return($m=Le._emscripten_bind_espeak_VOICE_get_variant_0=Le.asm.G).apply(null,arguments)},e3=Le._emscripten_bind_espeak_VOICE_set_variant_1=function(){return(e3=Le._emscripten_bind_espeak_VOICE_set_variant_1=Le.asm.H).apply(null,arguments)},t3=Le._emscripten_bind_espeak_VOICE_get_xx1_0=function(){return(t3=Le._emscripten_bind_espeak_VOICE_get_xx1_0=Le.asm.I).apply(null,arguments)},A3=Le._emscripten_bind_espeak_VOICE_set_xx1_1=function(){return(A3=Le._emscripten_bind_espeak_VOICE_set_xx1_1=Le.asm.J).apply(null,arguments)},r3=Le._emscripten_bind_espeak_VOICE_get_score_0=function(){return(r3=Le._emscripten_bind_espeak_VOICE_get_score_0=Le.asm.K).apply(null,arguments)},s3=Le._emscripten_bind_espeak_VOICE_set_score_1=function(){return(s3=Le._emscripten_bind_espeak_VOICE_set_score_1=Le.asm.L).apply(null,arguments)},a3=Le._emscripten_bind_espeak_VOICE_get_spare_0=function(){return(a3=Le._emscripten_bind_espeak_VOICE_get_spare_0=Le.asm.M).apply(null,arguments)},n3=Le._emscripten_bind_espeak_VOICE_set_spare_1=function(){return(n3=Le._emscripten_bind_espeak_VOICE_set_spare_1=Le.asm.N).apply(null,arguments)},i3=Le._emscripten_bind_espeak_VOICE___destroy___0=function(){return(i3=Le._emscripten_bind_espeak_VOICE___destroy___0=Le.asm.O).apply(null,arguments)},o3=Le._emscripten_bind_espeak_EVENT_get_type_0=function(){return(o3=Le._emscripten_bind_espeak_EVENT_get_type_0=Le.asm.P).apply(null,arguments)},l3=Le._emscripten_bind_espeak_EVENT_get_unique_identifier_0=function(){return(l3=Le._emscripten_bind_espeak_EVENT_get_unique_identifier_0=Le.asm.Q).apply(null,arguments)},c3=Le._emscripten_bind_espeak_EVENT_get_text_position_0=function(){return(c3=Le._emscripten_bind_espeak_EVENT_get_text_position_0=Le.asm.R).apply(null,arguments)},u3=Le._emscripten_bind_espeak_EVENT_get_length_0=function(){return(u3=Le._emscripten_bind_espeak_EVENT_get_length_0=Le.asm.S).apply(null,arguments)},f3=Le._emscripten_bind_espeak_EVENT_get_audio_position_0=function(){return(f3=Le._emscripten_bind_espeak_EVENT_get_audio_position_0=Le.asm.T).apply(null,arguments)},d3=Le._emscripten_bind_espeak_EVENT_get_sample_0=function(){return(d3=Le._emscripten_bind_espeak_EVENT_get_sample_0=Le.asm.U).apply(null,arguments)},g3=Le._emscripten_bind_espeak_EVENT_get_user_data_0=function(){return(g3=Le._emscripten_bind_espeak_EVENT_get_user_data_0=Le.asm.V).apply(null,arguments)},h3=Le._emscripten_bind_espeak_EVENT___destroy___0=function(){return(
2810h3=Le._emscripten_bind_espeak_EVENT___destroy___0=Le.asm.W).apply(null,arguments)},p3=Le._emscripten_bind_eSpeakNGWorker_eSpeakNGWorker_0=function(){return(p3=Le._emscripten_bind_eSpeakNGWorker_eSpeakNGWorker_0=Le.asm.X).apply(null,arguments)},m3=Le._emscripten_bind_eSpeakNGWorker_synth__2=function(){return(m3=Le._emscripten_bind_eSpeakNGWorker_synth__2=Le.asm.Y).apply(null,arguments)},b3=Le._emscripten_bind_eSpeakNGWorker_synth_ipa__2=function(){return(b3=Le._emscripten_bind_eSpeakNGWorker_synth_ipa__2=Le.asm.Z).apply(null,arguments)},C3=Le._emscripten_bind_eSpeakNGWorker_getSizeOfEventStruct__0=function(){return(C3=Le._emscripten_bind_eSpeakNGWorker_getSizeOfEventStruct__0=Le.asm._).apply(null,arguments)},I3=Le._emscripten_bind_eSpeakNGWorker_set_voice_2=function(){return(I3=Le._emscripten_bind_eSpeakNGWorker_set_voice_2=Le.asm.$).apply(null,arguments)},w3=Le._emscripten_bind_eSpeakNGWorker_set_voice_3=function(){return(w3=Le._emscripten_bind_eSpeakNGWorker_set_voice_3=Le.asm.aa).apply(null,arguments)},k3=Le._emscripten_bind_eSpeakNGWorker_set_voice_4=function(){return(k3=Le._emscripten_bind_eSpeakNGWorker_set_voice_4=Le.asm.ba).apply(null,arguments)},v3=Le._emscripten_bind_eSpeakNGWorker_set_voice_5=function(){return(v3=Le._emscripten_bind_eSpeakNGWorker_set_voice_5=Le.asm.ca).apply(null,arguments)},y3=Le._emscripten_bind_eSpeakNGWorker_get_voices_1=function(){return(y3=Le._emscripten_bind_eSpeakNGWorker_get_voices_1=Le.asm.da).apply(null,arguments)},E3=Le._emscripten_bind_eSpeakNGWorker_set_voices_2=function(){return(E3=Le._emscripten_bind_eSpeakNGWorker_set_voices_2=Le.asm.ea).apply(null,arguments)},B3=Le._emscripten_bind_eSpeakNGWorker_get_samplerate_0=function(){return(B3=Le._emscripten_bind_eSpeakNGWorker_get_samplerate_0=Le.asm.fa).apply(null,arguments)},x3=Le._emscripten_bind_eSpeakNGWorker_get_rate_0=function(){return(x3=Le._emscripten_bind_eSpeakNGWorker_get_rate_0=Le.asm.ga).apply(null,arguments)},M3=Le._emscripten_bind_eSpeakNGWorker_set_rate_1=function(){return(M3=Le._emscripten_bind_eSpeakNGWorker_set_rate_1=Le.asm.ha).apply(null,arguments)},D3=Le._emscripten_bind_eSpeakNGWorker_get_pitch_0=function(){return(D3=Le._emscripten_bind_eSpeakNGWorker_get_pitch_0=Le.asm.ia).apply(null,arguments)},G3=Le._emscripten_bind_eSpeakNGWorker_set_pitch_1=function(){return(G3=Le._emscripten_bind_eSpeakNGWorker_set_pitch_1=Le.asm.ja).apply(null,arguments)},_3=Le._emscripten_bind_eSpeakNGWorker___destroy___0=function(){return(_3=Le._emscripten_bind_eSpeakNGWorker___destroy___0=Le.asm.ka).apply(null,arguments)},T3=Le._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_LIST_TERMINATED=function(){return(T3=Le._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_LIST_TERMINATED=Le.asm.la).apply(null,arguments)},Q3=Le._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_WORD=function(){return(Q3=Le._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_WORD=Le.asm.ma).apply(null,arguments)},P3=Le._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_SENTENCE=function(){return(P3=Le._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_SENTENCE=Le.asm.na).apply(null,arguments)},S3=Le._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_MARK=function(){return(S3=Le._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_MARK=Le.asm.oa).apply(null,arguments)},N3=Le._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_PLAY=function(){return(N3=Le._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_PLAY=Le.asm.pa).apply(null,arguments)},z3=Le._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_END=function(){return(z3=Le._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_END=Le.asm.qa).apply(null,arguments)},F3=Le._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_MSG_TERMINATED=function(){return(F3=Le._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_MSG_TERMINATED=Le.asm.ra).apply(null,arguments)},O3=Le._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_PHONEME=function(){return(O3=Le._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_PHONEME=Le.asm.sa).apply(null,arguments)},L3=Le._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_SAMPLERATE=function(){return(L3=Le._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_SAMPLERATE=Le.asm.ta).apply(null,arguments)},V3=Le.___errno_location=function(){return(V3=Le.___errno_location=Le.asm.va).apply(null,arguments)};Le._free=function(){return(Le._free=Le.asm.wa).apply(null,arguments)},Le._malloc=function(){return(Le._malloc=Le.asm.xa).apply(null,arguments)};var J1,H3=Le.___cxa_is_pointer_type=function(){return(H3=Le.___cxa_is_pointer_type=Le.asm.ya).apply(null,arguments)};function Y3(c){function n(){J1||(J1=!0,Le.calledRun=!0,Tm||(zm=!0,Le.noFSInit||xe.init.initialized||xe.init(),xe.ignorePermissions=!1,Yf(Nm),Le.onRuntimeInitialized&&Le.onRuntimeInitialized(),function(){if(Le.postRun)for(typeof Le.postRun=="function"&&(Le.postRun=[Le.postRun]);Le.postRun.length;)s=Le.postRun.shift(),cp.unshift(s);var s;Yf(cp)}()))}El>0||(function(){if(Le.preRun)for(typeof Le.preRun=="function"&&(Le.preRun=[Le.preRun]);Le.preRun.length;)s=Le.preRun.shift(),lp.unshift(s);var s;Yf(lp)}(),El>0||(Le.setStatus?(Le.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Le.setStatus("")},1),n()},1)):n()))}if(Le.___start_em_js=132724,Le.___stop_em_js=132822,Le.addRunDependency=Om,Le.removeRunDependency=Lm,Le.FS_createPath=xe.createPath,Le.FS_createDataFile=xe.createDataFile,Le.FS_createLazyFile=xe.createLazyFile,Le.FS_createDevice=xe.createDevice,Le.FS_unlink=xe.unlink,Zu=function c(){J1||Y3(),J1||(Zu=c)},Le.preInit)for(typeof Le.preInit=="function"&&(Le.preInit=[Le.preInit]);Le.preInit.length>0;)Le.preInit.pop()();function so(){}
2810function $1(c){return(c||so).__cache__}function M2(c,n){var s=$1(n),o=s[c];return o||((o=Object.create((n||so).prototype)).ptr=c,s[c]=o)}Y3(),so.prototype=Object.create(so.prototype),so.prototype.constructor=so,so.prototype.__class__=so,so.__cache__={},Le.WrapperObject=so,Le.getCache=$1,Le.wrapPointer=M2,Le.castObject=function(c,n){return M2(c.ptr,n)},Le.NULL=M2(0),Le.destroy=function(c){if(!c.__destroy__)throw"Error: Cannot destroy object. (Did you create it yourself?)";c.__destroy__(),delete $1(c.__class__)[c.ptr]},Le.compare=function(c,n){return c.ptr===n.ptr},Le.getPointer=function(c){return c.ptr},Le.getClass=function(c){return c.__class__};var Ws={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:function(){if(Ws.needed){for(var c=0;c<Ws.temps.length;c++)Le._free(Ws.temps[c]);Ws.temps.length=0,Le._free(Ws.buffer),Ws.buffer=0,Ws.size+=Ws.needed,Ws.needed=0}Ws.buffer||(Ws.size+=128,Ws.buffer=Le._malloc(Ws.size),Vf(Ws.buffer)),Ws.pos=0},alloc:function(c,n){Vf(Ws.buffer);var s,o=n.BYTES_PER_ELEMENT,f=c.length*o;return f=f+7&-8,Ws.pos+f>=Ws.size?(Vf(f>0),Ws.needed+=f,s=Le._malloc(f),Ws.temps.push(s)):(s=Ws.buffer+Ws.pos,Ws.pos+=f),s},copy:function(c,n,s){switch(s>>>=0,n.BYTES_PER_ELEMENT){case 2:s>>>=1;break;case 4:s>>>=2;break;case 8:s>>>=3}for(var o=0;o<c.length;o++)n[s+o]=c[o]}};function wl(c){if(typeof c=="string"){var n=Vm(c),s=Ws.alloc(n,bi);return Ws.copy(n,bi,s),s}return c}function N0(){throw"cannot construct a VoidPtr, no constructor in IDL"}function tr(){throw"cannot construct a espeak_VOICE, no constructor in IDL"}function os(){throw"cannot construct a espeak_EVENT, no constructor in IDL"}function Hr(){this.ptr=p3(),$1(Hr)[this.ptr]=this}N0.prototype=Object.create(so.prototype),N0.prototype.constructor=N0,N0.prototype.__class__=N0,N0.__cache__={},Le.VoidPtr=N0,N0.prototype.__destroy__=N0.prototype.__destroy__=function(){var c=this.ptr;Ym(c)},tr.prototype=Object.create(so.prototype),tr.prototype.constructor=tr,tr.prototype.__class__=tr,tr.__cache__={},Le.espeak_VOICE=tr,tr.prototype.get_name=tr.prototype.get_name=function(){var c=this.ptr;return x2(Rm(c))},tr.prototype.set_name=tr.prototype.set_name=function(c){var n=this.ptr;Ws.prepare(),c=c&&typeof c=="object"?c.ptr:wl(c),jm(n,c)},Object.defineProperty(tr.prototype,"name",{get:tr.prototype.get_name,set:tr.prototype.set_name}),tr.prototype.get_languages=tr.prototype.get_languages=function(c){var n=this.ptr;return c&&typeof c=="object"&&(c=c.ptr),Wm(n,c)},Object.defineProperty(tr.prototype,"languages",{get:tr.prototype.get_languages}),tr.prototype.get_identifier=tr.prototype.get_identifier=function(){var c=this.ptr;return x2(Um(c))},tr.prototype.set_identifier=tr.prototype.set_identifier=function(c){var n=this.ptr;Ws.prepare(),c=c&&typeof c=="object"?c.ptr:wl(c),Km(n,c)},Object.defineProperty(tr.prototype,"identifier",{get:tr.prototype.get_identifier,set:tr.prototype.set_identifier}),tr.prototype.get_gender=tr.prototype.get_gender=function(){var c=this.ptr;return Zm(c)},tr.prototype.set_gender=tr.prototype.set_gender=function(c){var n=this.ptr;c&&typeof c=="object"&&(c=c.ptr),Xm(n,c)},Object.defineProperty(tr.prototype,"gender",{get:tr.prototype.get_gender,set:tr.prototype.set_gender}),tr.prototype.get_age=tr.prototype.get_age=function(){var c=this.ptr;return qm(c)},tr.prototype.set_age=tr.prototype.set_age=function(c){var n=this.ptr;c&&typeof c=="object"&&(c=c.ptr),Jm(n,c)},Object.defineProperty(tr.prototype,"age",{get:tr.prototype.get_age,set:tr.prototype.set_age}),tr.prototype.get_variant=tr.prototype.get_variant=function(){var c=this.ptr;return $m(c)},tr.prototype.set_variant=tr.prototype.set_variant=function(c){var n=this.ptr;c&&typeof c=="object"&&(c=c.ptr),e3(n,c)},Object.defineProperty(tr.prototype,"variant",{get:tr.prototype.get_variant,set:tr.prototype.set_variant}),tr.prototype.get_xx1=tr.prototype.get_xx1=function(){var c=this.ptr;return t3(c)},tr.prototype.set_xx1=tr.prototype.set_xx1=function(c){var n=this.ptr;c&&typeof c=="object"&&(c=c.ptr),A3(n,c)},Object.defineProperty(tr.prototype,"xx1",{get:tr.prototype.get_xx1,set:tr.prototype.set_xx1}),tr.prototype.get_score=tr.prototype.get_score=function(){var c=this.ptr;return r3(c)},tr.prototype.set_score=tr.prototype.set_score=function(c){var n=this.ptr;c&&typeof c=="object"&&(c=c.ptr),s3(n,c)},Object.defineProperty(tr.prototype,"score",{get:tr.prototype.get_score,set:tr.prototype.set_score}),tr.prototype.get_spare=tr.prototype.get_spare=function(){var c=this.ptr;return a3(c)},tr.prototype.set_spare=tr.prototype.set_spare=function(c){var n=this.ptr;c&&typeof c=="object"&&(c=c.ptr),n3(n,c)},Object.defineProperty(tr.prototype,"spare",{get:tr.prototype.get_spare,set:tr.prototype.set_spare}),tr.prototype.__destroy__=tr.prototype.__destroy__=function(){var c=this.ptr;i3(c)},os.prototype=Object.create(so.prototype),os.prototype.constructor=os,os.prototype.__class__=os,os.__cache__={},Le.espeak_EVENT=os,os.prototype.get_type=os.prototype.get_type=function(){var c=this.ptr;return o3(c)},Object.defineProperty(os.prototype,"type",{get:os.prototype.get_type}),os.prototype.get_unique_identifier=os.prototype.get_unique_identifier=function(){var c=this.ptr;return l3(c)},Object.defineProperty(os.prototype,"unique_identifier",{get:os.prototype.get_unique_identifier}),os.prototype.get_text_position=os.prototype.get_text_position=function(){var c=this.ptr;return c3(c)},Object.defineProperty(os.prototype,"text_position",{get:os.prototype.get_text_position}),os.prototype.get_length=os.prototype.get_length=function(){var c=this.ptr;return u3(c)},Object.defineProperty(os.prototype,"length",{get:os.prototype.get_length}),os.prototype.get_audio_position=os.prototype.get_audio_position=function(){var c=this.ptr;return f3(c)},Object.defineProperty(os.prototype,"audio_position",{get:os.prototype.get_audio_position}),os.prototype.get_sample=os.prototype.get_sample=function(){var c=this.ptr;return d3(c)},Object.defineProperty(os.prototype,"sample",{get:os.prototype.get_sample}),os.prototype.get_user_data=os.prototype.get_user_data=function(){var c=this.ptr;return g3(c)},Object.defineProperty(os.prototype,"user_data",{get:os.prototype.get_user_data}),os.prototype.__destroy__=os.prototype.__destroy__=function(){var c=this.ptr;h3(c)},Hr.prototype=Object.create(so.prototype),Hr.prototype.constructor=Hr,Hr.prototype.__class__=Hr,Hr.__cache__={},Le.eSpeakNGWorker=Hr,Hr.prototype.synth_=Hr.prototype.synth_=function(c,n){var s=this.ptr;Ws.prepare(),c=c&&typeof c=="object"?c.ptr:wl(c),n&&typeof n=="object"&&(n=n.ptr),m3(s,c,n)},Hr.prototype.synth_ipa_=Hr.prototype.synth_ipa_=function(c,n){var s=this.ptr;return Ws.prepare(),c=c&&typeof c=="object"?c.ptr:wl(c),n=n&&typeof n=="object"?n.ptr:wl(n),b3(s,c,n)},Hr.prototype.getSizeOfEventStruct_=Hr.prototype.getSizeOfEventStruct_=function(){var c=this.ptr;return C3(c)},Hr.prototype.set_voice=Hr.prototype.set_voice=function(c,n,s,o,f){var p=this.ptr;return Ws.prepare(),c=c&&typeof c=="object"?c.ptr:wl(c),n=n&&typeof n=="object"?n.ptr:wl(n),s&&typeof s=="object"&&(s=s.ptr),o&&typeof o=="object"&&(o=o.ptr),f&&typeof f=="object"&&(f=f.ptr),s===void 0?I3(p,c,n):o===void 0?w3(p,c,n,s):f===void 0?k3(p,c,n,s,o):v3(p,c,n,s,o,f)},Hr.prototype.get_voices=Hr.prototype.get_voices=function(c){var n=this.ptr;return c&&typeof c=="object"&&(c=c.ptr),M2(y3(n,c),tr)},Hr.prototype.set_voices=Hr.prototype.set_voices=function(c,n){var s=this.ptr;Ws.prepare(),c&&typeof c=="object"&&(c=c.ptr),n&&typeof n=="object"&&(n=n.ptr),E3(s,c,n)},Object.defineProperty(Hr.prototype,"voices",{get:Hr.prototype.get_voices,set:Hr.prototype.set_voices}),Hr.prototype.get_samplerate=Hr.prototype.get_samplerate=function(){var c=this.ptr;return B3(c)},Object.defineProperty(Hr.prototype,"samplerate",{get:Hr.prototype.get_samplerate}),Hr.prototype.get_rate=Hr.prototype.get_rate=function(){var c=this.ptr;return x3(c)},Hr.prototype.set_rate=Hr.prototype.set_rate=function(c){var n=this.ptr;
2810c&&typeof c=="object"&&(c=c.ptr),M3(n,c)},Object.defineProperty(Hr.prototype,"rate",{get:Hr.prototype.get_rate,set:Hr.prototype.set_rate}),Hr.prototype.get_pitch=Hr.prototype.get_pitch=function(){var c=this.ptr;return D3(c)},Hr.prototype.set_pitch=Hr.prototype.set_pitch=function(c){var n=this.ptr;c&&typeof c=="object"&&(c=c.ptr),G3(n,c)},Object.defineProperty(Hr.prototype,"pitch",{get:Hr.prototype.get_pitch,set:Hr.prototype.set_pitch}),Hr.prototype.__destroy__=Hr.prototype.__destroy__=function(){var c=this.ptr;_3(c)},function(){function c(){Le.espeakEVENT_LIST_TERMINATED=T3(),Le.espeakEVENT_WORD=Q3(),Le.espeakEVENT_SENTENCE=P3(),Le.espeakEVENT_MARK=S3(),Le.espeakEVENT_PLAY=N3(),Le.espeakEVENT_END=z3(),Le.espeakEVENT_MSG_TERMINATED=F3(),Le.espeakEVENT_PHONEME=O3(),Le.espeakEVENT_SAMPLERATE=L3()}zm?c():Fm(c)}(),Hr.prototype.list_voices=function(){for(var c,n=[],s=this.get_voices(c=0);s.ptr!=0;s=this.get_voices(++c)){let b=function(k){for(var E="",B=k,G=s.get_languages(B++);G!=0;)E+=String.fromCharCode(G),G=s.get_languages(B++);return E};for(var o={name:s.get_name(),identifier:s.get_identifier(),languages:[]},f=0,p=s.get_languages(f);p!=0;){var C={priority:p,name:b(++f)};o.languages.push(C),f+=C.name.length+1,p=s.get_languages(f)}n.push(o)}return n};var Hk=["list_terminated","word","sentence","mark","play","end","msg_terminated","phoneme","samplerate"];Hr.prototype.synthesize=function(c,n){var s=this.getSizeOfEventStruct_(),o=addFunction(function(f,p,C){for(var b=new Float32Array(2*p),k=0;k<p;k++)b[2*k]=Math.max(-1,Math.min(1,Ok(f+2*k,"i16")/32768)),b[2*k+1]=b[2*k];var E=[];for(f=C,ev=M2(f,os);ev.get_type()!=Le.espeakEVENT_LIST_TERMINATED;ev=M2(f+=s,os))E.push({type:Hk[ev.get_type()],text_position:ev.get_text_position(),word_length:ev.get_length(),audio_position:ev.get_audio_position()});return n(b,E)?1:0});this.synth_(c,o),removeFunction(o)},Hr.prototype.synthesize_ipa=function(c,n){var s="espeak-ng-ipa-tmp-"+Math.random().toString().substring(2),o="",f=this.synth_ipa_(c,s);return f==0&&(o=xe.readFile(s,{encoding:"utf8"})),xe.unlink(s),{code:f,ipa:o}};const R3=new Promise(c=>{Le.calledRun?c(new Le.eSpeakNGWorker):Le.onRuntimeInitialized=()=>c(new Le.eSpeakNGWorker)}),Yk=["en"],Rk=R3.then(c=>{const n=c.list_voices().map(({name:o,identifier:f,languages:p})=>({name:o,identifier:f,languages:p.filter(C=>Yk.includes(C.name.split("-")[0]))})).filter(o=>o.languages.length>0),s=new Set;for(const o of n){s.add(o.identifier);for(const f of o.languages)s.add(f.name)}return{voices:n,identifiers:s}});function jk(c){if(c.includes("."))return c;if(c.includes(":")){let[p,C]=c.split(":").map(Number);return C===0?`${p} o'clock`:C<10?`${p} oh ${C}`:`${p} ${C}`}let n=parseInt(c.slice(0,4),10);if(n<1100||n%1e3<10)return c;let s=c.slice(0,2),o=parseInt(c.slice(2,4),10),f=c.endsWith("s")?"s":"";if(n%1e3>=100&&n%1e3<=999){if(o===0)return`${s} hundred${f}`;if(o<10)return`${s} oh ${o}${f}`}return`${s} ${o}${f}`}function Wk(c){const n=c[0]==="$"?"dollar":"pound";if(isNaN(Number(c.slice(1))))return`${c.slice(1)} ${n}s`;if(!c.includes(".")){let p=c.slice(1)==="1"?"":"s";return`${c.slice(1)} ${n}${p}`}const[s,o]=c.slice(1).split("."),f=parseInt(o.padEnd(2,"0"),10);return`${s} ${n}${s==="1"?"":"s"} and ${f} ${c[0]==="$"?f===1?"cent":"cents":f===1?"penny":"pence"}`}function Uk(c){let[n,s]=c.split(".");return`${n} point ${s.split("").join(" ")}`}const Kk=new RegExp(`(\\s*[${fp=';:,.!?¡¿—…"«»“”(){}[]',fp.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}]+\\s*)+`,"g");var fp;async function Zk(c,n="a",s=!0){s&&(c=function(b){return b.replace(/[‘’]/g,"'").replace(/«/g,"“").replace(/»/g,"”").replace(/[“”]/g,'"').replace(/\(/g,"«").replace(/\)/g,"»").replace(/、/g,", ").replace(/。/g,". ").replace(/!/g,"! ").replace(/,/g,", ").replace(/:/g,": ").replace(/;/g,"; ").replace(/?/g,"? ").replace(/[^\S \n]/g," ").replace(/  +/," ").replace(new RegExp("(?<=\\n) +(?=\\n)","g"),"").replace(/\bD[Rr]\.(?= [A-Z])/g,"Doctor").replace(/\b(?:Mr\.|MR\.(?= [A-Z]))/g,"Mister").replace(/\b(?:Ms\.|MS\.(?= [A-Z]))/g,"Miss").replace(/\b(?:Mrs\.|MRS\.(?= [A-Z]))/g,"Mrs").replace(/\betc\.(?! [A-Z])/gi,"etc").replace(/\b(y)eah?\b/gi,"$1e'a").replace(new RegExp("\\d*\\.\\d+|\\b\\d{4}s?\\b|(?<!:)\\b(?:[1-9]|1[0-2]):[0-5]\\d\\b(?!:)","g"),jk).replace(new RegExp("(?<=\\d),(?=\\d)","g"),"").replace(/[$£]\d+(?:\.\d+)?(?: hundred| thousand| (?:[bm]|tr)illion)*\b|[$£]\d+\.\d\d?\b/gi,Wk).replace(/\d*\.\d+/g,Uk).replace(new RegExp("(?<=\\d)-(?=\\d)","g")," to ").replace(new RegExp("(?<=\\d)S","g")," S").replace(new RegExp("(?<=[BCDFGHJ-NP-TV-Z])'?s\\b","g"),"'S").replace(new RegExp("(?<=X')S\\b","g"),"s").replace(/(?:[A-Za-z]\.){2,} [a-z]/g,k=>k.replace(/\./g,"-")).replace(new RegExp("(?<=[A-Z])\\.(?=[A-Z])","gi"),"-").trim()}(c));const o=function(b,k){const E=[];let B=0;for(const G of b.matchAll(k)){const D=G[0];B<G.index&&E.push({match:!1,text:b.slice(B,G.index)}),D.length>0&&E.push({match:!0,text:D}),B=G.index+D.length}return B<b.length&&E.push({match:!1,text:b.slice(B)}),E}(c,Kk),f=n==="a"?"en-us":"en";let C=(await Promise.all(o.map(async({match:b,text:k})=>b?k:(await(async(E,B="en-us")=>{var _;const G=await R3,{identifiers:D}=await Rk;if(!D.has(B))throw new Error(`Invalid language identifier: "${B}". Should be one of: ${Array.from(D).toSorted().join(", ")}.`);
2810return G.set_voice(B),((_=G.synthesize_ipa(E).ipa)==null?void 0:_.split(`
2811`).filter(O=>O.length>0))??[]})(k,f)).join(" ")))).join("").replace(/kəkˈoːɹoʊ/g,"kˈoʊkəɹoʊ").replace(/kəkˈɔːɹəʊ/g,"kˈəʊkəɹəʊ").replace(/ʲ/g,"j").replace(/r/g,"ɹ").replace(/x/g,"k").replace(/ɬ/g,"l").replace(new RegExp("(?<=[a-zɹː])(?=hˈʌndɹɪd)","g")," ").replace(/ z(?=[;:,.!?¡¿—…"«»“” ]|$)/g,"z");return n==="a"&&(C=C.replace(new RegExp("(?<=nˈaɪn)ti(?!ː)","g"),"di")),C.trim()}var Ru={};const ju=Object.freeze({af_heart:{name:"Heart",language:"en-us",gender:"Female",traits:"❤️",targetQuality:"A",overallGrade:"A"},af_alloy:{name:"Alloy",language:"en-us",gender:"Female",targetQuality:"B",overallGrade:"C"},af_aoede:{name:"Aoede",language:"en-us",gender:"Female",targetQuality:"B",overallGrade:"C+"},af_bella:{name:"Bella",language:"en-us",gender:"Female",traits:"🔥",targetQuality:"A",overallGrade:"A-"},af_jessica:{name:"Jessica",language:"en-us",gender:"Female",targetQuality:"C",overallGrade:"D"},af_kore:{name:"Kore",language:"en-us",gender:"Female",targetQuality:"B",overallGrade:"C+"},af_nicole:{name:"Nicole",language:"en-us",gender:"Female",traits:"🎧",targetQuality:"B",overallGrade:"B-"},af_nova:{name:"Nova",language:"en-us",gender:"Female",targetQuality:"B",overallGrade:"C"},af_river:{name:"River",language:"en-us",gender:"Female",targetQuality:"C",overallGrade:"D"},af_sarah:{name:"Sarah",language:"en-us",gender:"Female",targetQuality:"B",overallGrade:"C+"},af_sky:{name:"Sky",language:"en-us",gender:"Female",targetQuality:"B",overallGrade:"C-"},am_adam:{name:"Adam",language:"en-us",gender:"Male",targetQuality:"D",overallGrade:"F+"},am_echo:{name:"Echo",language:"en-us",gender:"Male",targetQuality:"C",overallGrade:"D"},am_eric:{name:"Eric",language:"en-us",gender:"Male",targetQuality:"C",overallGrade:"D"},am_fenrir:{name:"Fenrir",language:"en-us",gender:"Male",targetQuality:"B",overallGrade:"C+"},am_liam:{name:"Liam",language:"en-us",gender:"Male",targetQuality:"C",overallGrade:"D"},am_michael:{name:"Michael",language:"en-us",gender:"Male",targetQuality:"B",overallGrade:"C+"},am_onyx:{name:"Onyx",language:"en-us",gender:"Male",targetQuality:"C",overallGrade:"D"},am_puck:{name:"Puck",language:"en-us",gender:"Male",targetQuality:"B",overallGrade:"C+"},am_santa:{name:"Santa",language:"en-us",gender:"Male",targetQuality:"C",overallGrade:"D-"},bf_emma:{name:"Emma",language:"en-gb",gender:"Female",traits:"🚺",targetQuality:"B",overallGrade:"B-"},bf_isabella:{name:"Isabella",language:"en-gb",gender:"Female",targetQuality:"B",overallGrade:"C"},bm_george:{name:"George",language:"en-gb",gender:"Male",targetQuality:"B",overallGrade:"C"},bm_lewis:{name:"Lewis",language:"en-gb",gender:"Male",targetQuality:"C",overallGrade:"D+"},bf_alice:{name:"Alice",language:"en-gb",gender:"Female",traits:"🚺",targetQuality:"C",overallGrade:"D"},bf_lily:{name:"Lily",language:"en-gb",gender:"Female",traits:"🚺",targetQuality:"C",overallGrade:"D"},bm_daniel:{name:"Daniel",language:"en-gb",gender:"Male",traits:"🚹",targetQuality:"C",overallGrade:"D"},bm_fable:{name:"Fable",language:"en-gb",gender:"Male",traits:"🚹",targetQuality:"B",overallGrade:"C"}}),jf=new Map;async function Xk(c){if(jf.has(c))return jf.get(c);const n=new Float32Array(await async function(s){if(Ru!=null&&Ru.readFile){const b=typeof __dirname<"u"?__dirname:import.meta.dirname,k=Ru.resolve(b,`../voices/${s}.bin`),{buffer:E}=await Ru.readFile(k);return E}const o=`https://huggingface.co/onnx-community/Kokoro-82M-v1.0-ONNX/resolve/main/voices/${s}.bin`;let f;try{f=await caches.open("kokoro-voices");const b=await f.match(o);if(b)return await b.arrayBuffer()}catch(b){console.warn("Unable to open cache",b)}const p=await fetch(o),C=await p.arrayBuffer();if(f)try{await f.put(o,new Response(C,{headers:p.headers}))}catch(b){console.warn("Unable to cache file",b)}return C}(c));return jf.set(c,n),n}class ud{constructor(n,s){this.model=n,this.tokenizer=s}static async from_pretrained(n,{dtype:s="fp32",device:o=null,progress_callback:f=null}={}){const p=Nk.from_pretrained(n,{progress_callback:f,dtype:s,device:o}),C=Pk.from_pretrained(n,{progress_callback:f}),b=await Promise.all([p,C]);return new ud(...b)}get voices(){return ju}list_voices(){console.table(ju)}_validate_voice(n){if(!ju.hasOwnProperty(n))throw console.error(`Voice "${n}" not found. Available voices:`),console.table(ju),new Error(`Voice "${n}" not found. Should be one of: ${Object.keys(ju).join(", ")}.`)}async generate(n,{voice:s="af_heart",speed:o=1}={}
2811){this._validate_voice(s);const f=s.at(0),p=await Zk(n,f),{input_ids:C}=this.tokenizer(p,{truncation:!0}),b=256*Math.min(Math.max(C.dims.at(-1)-2,0),509),k=(await Xk(s)).slice(b,b+256),E={input_ids:C,style:new ap("float32",k,[1,256]),speed:new ap("float32",[o],[1])},{waveform:B}=await this.model(E);return new Sk(B.data,24e3)}}function dp(c,n,s){const o=c.slice();return o[13]=n[s],o}function gp(c,n,s){const o=c.slice();return o[39]=n[s],o}function hp(c,n,s){const o=c.slice();return o[13]=n[s],o}function pp(c,n,s){const o=c.slice();return o[44]=n[s],o}function mp(c){let n,s,o=c[12].t("Speech-to-Text Engine")+"",f,p,C,b,k,E=c[12].t("Default")+"",B,G,D=c[12].t("Web API")+"",_,O,j;return{c(){n=q("div"),s=q("div"),f=Xe(o),p=Pe(),C=q("div"),b=q("select"),k=q("option"),B=Xe(E),G=q("option"),_=Xe(D),this.h()},l(U){n=J(U,"DIV",{class:!0});var H=$(n);s=J(H,"DIV",{class:!0});var Z=$(s);f=qe(Z,o),Z.forEach(z),p=Se(H),C=J(H,"DIV",{class:!0});var X=$(C);b=J(X,"SELECT",{class:!0,placeholder:!0});var g=$(b);k=J(g,"OPTION",{});var v=$(k);B=qe(v,E),v.forEach(z),G=J(g,"OPTION",{});var e=$(G);_=qe(e,D),e.forEach(z),g.forEach(z),X.forEach(z),H.forEach(z),this.h()},h(){V(s,"class","self-center text-xs font-medium"),k.__value="",cr(k,k.__value),G.__value="web",cr(G,G.__value),V(b,"class","dark:bg-gray-900 w-fit pr-8 rounded-sm px-2 p-1 text-xs bg-transparent outline-hidden text-right"),V(b,"placeholder","Select an engine"),c[6]===void 0&&L0(()=>c[19].call(b)),V(C,"class","flex items-center relative"),V(n,"class","py-0.5 flex w-full justify-between")},m(U,H){He(U,n,H),Q(n,s),Q(s,f),Q(n,p),Q(n,C),Q(C,b),Q(b,k),Q(k,B),Q(b,G),Q(G,_),ao(b,c[6],!0),O||(j=Pt(b,"change",c[19]),O=!0)},p(U,H){H[0]&4096&&o!==(o=U[12].t("Speech-to-Text Engine")+"")&&st(f,o),H[0]&4096&&E!==(E=U[12].t("Default")+"")&&st(B,E),H[0]&4096&&D!==(D=U[12].t("Web API")+"")&&st(_,D),H[0]&64&&ao(b,U[6])},d(U){U&&z(n),O=!1,j()}}}function qk(c){let n,s=c[12].t("Off")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[0]&4096&&s!==(s=f[12].t("Off")+"")&&st(o,s)},d(f){f&&z(n)}}}function Jk(c){let n,s=c[12].t("On")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[0]&4096&&s!==(s=f[12].t("On")+"")&&st(o,s)},d(f){f&&z(n)}}}function bp(c){let n,s,o=c[12].t("Kokoro.js Dtype")+"",f,p,C,b,k,E="Select dtype",B,G="fp32",D,_="fp16",O,j="q8",U,H="q4",Z,X;return{c(){n=q("div"),s=q("div"),f=Xe(o),p=Pe(),C=q("div"),b=q("select"),k=q("option"),k.textContent=E,B=q("option"),B.textContent=G,D=q("option"),D.textContent=_,O=q("option"),O.textContent=j,U=q("option"),U.textContent=H,this.h()},l(g){n=J(g,"DIV",{class:!0});var v=$(n);s=J(v,"DIV",{class:!0});var e=$(s);f=qe(e,o),e.forEach(z),p=Se(v),C=J(v,"DIV",{class:!0});var d=$(C);b=J(d,"SELECT",{class:!0,placeholder:!0});var T=$(b);k=J(T,"OPTION",{"data-svelte-h":!0}),hr(k)!=="svelte-9k3yxv"&&(k.textContent=E),B=J(T,"OPTION",{"data-svelte-h":!0}),hr(B)!=="svelte-1yz7sc6"&&(B.textContent=G),D=J(T,"OPTION",{"data-svelte-h":!0}),hr(D)!=="svelte-aw8eku"&&(D.textContent=_),O=J(T,"OPTION",{"data-svelte-h":!0}),hr(O)!=="svelte-gyb1sa"&&(O.textContent=j),U=J(T,"OPTION",{"data-svelte-h":!0}),hr(U)!=="svelte-et72yy"&&(U.textContent=H),T.forEach(z),d.forEach(z),v.forEach(z),this.h()},h(){V(s,"class","self-center text-xs font-medium"),k.__value="",cr(k,k.__value),k.disabled=!0,k.selected=!0,B.__value="fp32",cr(B,B.__value),D.__value="fp16",cr(D,D.__value),O.__value="q8",cr(O,O.__value),U.__value="q4",cr(U,U.__value),V(b,"class","dark:bg-gray-900 w-fit pr-8 rounded-sm px-2 p-1 text-xs bg-transparent outline-hidden text-right"),V(b,"placeholder","Select dtype"),c[2].dtype===void 0&&L0(()=>c[22].call(b)),V(C,"class","flex items-center relative"),V(n,"class","py-0.5 flex w-full justify-between")},m(g,v){He(g,n,v),Q(n,s),Q(s,f),Q(n,p),Q(n,C),Q(C,b),Q(b,k),Q(b,B),Q(b,D),Q(b,O),Q(b,U),ao(b,c[2].dtype,!0),Z||(X=Pt(b,"change",c[22]),Z=!0)},p(g,v){v[0]&4096&&o!==(o=g[12].t("Kokoro.js Dtype")+"")&&st(f,o),v[0]&4&&ao(b,g[2].dtype)},d(g){g&&z(n),Z=!1,X()}}}function $k(c){let n,s=c[12].t("Off")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[0]&4096&&s!==(s=f[12].t("Off")+"")&&st(o,s)},d(f){f&&z(n)}}}function tv(c){let n,s=c[12].t("On")+"",o;return{c(){n=q("span"),o=Xe(s),this.h()},l(f){n=J(f,"SPAN",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","ml-2 self-center")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[0]&4096&&s!==(s=f[12].t("On")+"")&&st(o,s)},d(f){f&&z(n)}}}function Cp(c){let n,s=c[44]+"",o,f,p;return{c(){n=q("option"),o=Xe(s),f=Xe("x"),this.h()},l(C){n=J(C,"OPTION",{});var b=$(n);o=qe(b,s),f=qe(b,"x"),b.forEach(z),this.h()},h(){n.__value=c[44],cr(n,n.__value),n.selected=p=c[10]===c[44]},m(C,b){He(C,n,b),Q(n,o),Q(n,f)},p(C,b){b[0]&66560&&p!==(p=C[10]===C[44])&&(n.selected=p)},d(C){C&&z(n)}}}function Av(c){let n,s,o=c[12].t("Set Voice")+"",f,p,C,b,k,E,B,G,D,_=Ur(c[9]),O=[];for(let j=0;j<_.length;j+=1)O[j]=Ip(dp(c,_,j));return{c(){n=q("div"),s=q("div"),f=Xe(o),p=Pe(),C=q("div"),b=q("div"),k=q("input"),E=Pe(),B=q("datalist");for(let j=0;j<O.length;j+=1)O[j].c();this.h()},l(j){n=J(j,"DIV",{});var U=$(n);s=J(U,"DIV",{class:!0});var H=$(s);f=qe(H,o),H.forEach(z),p=Se(U),C=J(U,"DIV",{class:!0});var Z=$(C);b=J(Z,"DIV",{class:!0});var X=$(b);k=J(X,"INPUT",{list:!0,class:!0,placeholder:!0}),E=Se(X),B=J(X,"DATALIST",{id:!0});var g=$(B);for(let v=0;v<O.length;v+=1)O[v].l(g);
2811g.forEach(z),X.forEach(z),Z.forEach(z),U.forEach(z),this.h()},h(){V(s,"class","mb-2.5 text-sm font-medium"),V(k,"list","voice-list"),V(k,"class","w-full text-sm bg-white dark:text-gray-300 dark:bg-gray-850 outline-hidden"),V(k,"placeholder","Select a voice"),V(B,"id","voice-list"),V(b,"class","flex-1"),V(C,"class","flex w-full")},m(j,U){He(j,n,U),Q(n,s),Q(s,f),Q(n,p),Q(n,C),Q(C,b),Q(b,k),cr(k,c[13]),Q(b,E),Q(b,B);for(let H=0;H<O.length;H+=1)O[H]&&O[H].m(B,null);G||(D=Pt(k,"input",c[29]),G=!0)},p(j,U){if(U[0]&4096&&o!==(o=j[12].t("Set Voice")+"")&&st(f,o),U[0]&8736&&k.value!==j[13]&&cr(k,j[13]),U[0]&512){_=Ur(j[9]);let H;for(H=0;H<_.length;H+=1){const Z=dp(j,_,H);O[H]?O[H].p(Z,U):(O[H]=Ip(Z),O[H].c(),O[H].m(B,null))}for(;H<O.length;H+=1)O[H].d(1);O.length=_.length}},i:qA,o:qA,d(j){j&&z(n),Un(O,j),G=!1,D()}}}function rv(c){let n,s,o=c[12].t("Set Voice")+"",f,p,C,b,k,E,B=c[12].t("Default")+"",G,D,_,O,j,U=c[12].t("Allow non-local voices")+"",H,Z,X,g,v,e,d,T,re=Ur(c[9].filter(c[26])),N=[];for(let he=0;he<re.length;he+=1)N[he]=wp(gp(c,re,he));function F(he){c[28](he)}let Ce={};return c[5]!==void 0&&(Ce.state=c[5]),g=new Im({props:Ce}),Br.push(()=>As(g,"state",F)),{c(){n=q("div"),s=q("div"),f=Xe(o),p=Pe(),C=q("div"),b=q("div"),k=q("select"),E=q("option"),G=Xe(B);for(let he=0;he<N.length;he+=1)N[he].c();_=Pe(),O=q("div"),j=q("div"),H=Xe(U),Z=Pe(),X=q("div"),Kt(g.$$.fragment),this.h()},l(he){n=J(he,"DIV",{});var ce=$(n);s=J(ce,"DIV",{class:!0});var ge=$(s);f=qe(ge,o),ge.forEach(z),p=Se(ce),C=J(ce,"DIV",{class:!0});var Me=$(C);b=J(Me,"DIV",{class:!0});var Ue=$(b);k=J(Ue,"SELECT",{class:!0});var Ne=$(k);E=J(Ne,"OPTION",{});var de=$(E);G=qe(de,B),de.forEach(z);for(let pe=0;pe<N.length;pe+=1)N[pe].l(Ne);Ne.forEach(z),Ue.forEach(z),Me.forEach(z),_=Se(ce),O=J(ce,"DIV",{class:!0});var me=$(O);j=J(me,"DIV",{class:!0});var we=$(j);H=qe(we,U),we.forEach(z),Z=Se(me),X=J(me,"DIV",{class:!0});var _e=$(X);Zt(g.$$.fragment,_e),_e.forEach(z),me.forEach(z),ce.forEach(z),this.h()},h(){V(s,"class","mb-2.5 text-sm font-medium"),E.__value="",cr(E,E.__value),E.selected=D=c[13]!=="",V(k,"class","w-full text-sm bg-white dark:text-gray-300 dark:bg-gray-850 outline-hidden"),c[13]===void 0&&L0(()=>c[27].call(k)),V(b,"class","flex-1"),V(C,"class","flex w-full"),V(j,"class","text-xs"),V(X,"class","mt-1"),V(O,"class","flex items-center justify-between my-1.5")},m(he,ce){He(he,n,ce),Q(n,s),Q(s,f),Q(n,p),Q(n,C),Q(C,b),Q(b,k),Q(k,E),Q(E,G);for(let ge=0;ge<N.length;ge+=1)N[ge]&&N[ge].m(k,null);ao(k,c[13],!0),Q(n,_),Q(n,O),Q(O,j),Q(j,H),Q(O,Z),Q(O,X),Xt(g,X,null),e=!0,d||(T=Pt(k,"change",c[27]),d=!0)},p(he,ce){if((!e||ce[0]&4096)&&o!==(o=he[12].t("Set Voice")+"")&&st(f,o),(!e||ce[0]&4096)&&B!==(B=he[12].t("Default")+"")&&st(G,B),(!e||ce[0]&8736&&D!==(D=he[13]!==""))&&(E.selected=D),ce[0]&8736){re=Ur(he[9].filter(he[26]));let Me;for(Me=0;Me<re.length;Me+=1){const Ue=gp(he,re,Me);N[Me]?N[Me].p(Ue,ce):(N[Me]=wp(Ue),N[Me].c(),N[Me].m(k,null))}for(;Me<N.length;Me+=1)N[Me].d(1);N.length=re.length}ce[0]&8736&&ao(k,he[13]),(!e||ce[0]&4096)&&U!==(U=he[12].t("Allow non-local voices")+"")&&st(H,U);const ge={};!v&&ce[0]&32&&(v=!0,ge.state=he[5],ts(()=>v=!1)),g.$set(ge)},i(he){e||(at(g.$$.fragment,he),e=!0)},o(he){dt(g.$$.fragment,he),e=!1},d(he){he&&z(n),Un(N,he),qt(g),d=!1,T()}}}function sv(c){let n,s,o,f;const p=[nv,av],C=[];function b(k,E){return k[7]?0:1}return n=b(c),s=C[n]=p[n](c),{c(){s.c(),o=ws()},l(k){s.l(k),o=ws()},m(k,E){C[n].m(k,E),He(k,o,E),f=!0},p(k,E){let B=n;n=b(k),n===B?C[n].p(k,E):(zr(),dt(C[B],1,1,()=>{C[B]=null}),Fr(),s=C[n],s?s.p(k,E):(s=C[n]=p[n](k),s.c()),at(s,1),s.m(o.parentNode,o))},i(k){f||(at(s),f=!0)},o(k){dt(s),f=!1},d(k){k&&z(o),C[n].d(k)}}}function Ip(c){let n,s=c[13].name+"",o,f;return{c(){n=q("option"),o=Xe(s),this.h()},l(p){n=J(p,"OPTION",{});var C=$(n);o=qe(C,s),C.forEach(z),this.h()},h(){n.__value=f=c[13].id,cr(n,n.__value)},m(p,C){He(p,n,C),Q(n,o)},p(p,C){C[0]&512&&s!==(s=p[13].name+"")&&st(o,s),C[0]&512&&f!==(f=p[13].id)&&(n.__value=f,cr(n,n.__value))},d(p){p&&z(n)}}}function wp(c){let n,s=c[39].name+"",o,f,p;return{c(){n=q("option"),o=Xe(s),this.h()},l(C){n=J(C,"OPTION",{class:!0});var b=$(n);o=qe(b,s),b.forEach(z),this.h()},h(){n.__value=f=c[39].name,cr(n,n.__value),V(n,"class","bg-gray-100 dark:bg-gray-700"),n.selected=p=c[13]===c[39].name},m(C,b){He(C,n,b),Q(n,o)},p(C,b){b[0]&544&&s!==(s=C[39].name+"")&&st(o,s),b[0]&544&&f!==(f=C[39].name)&&(n.__value=f,cr(n,n.__value)),b[0]&8736&&p!==(p=C[13]===C[39].name)&&(n.selected=p)},d(C){C&&z(n)}}}function av(c){let n,s,o,f,p,C=c[12].t("Loading Kokoro.js...")+"",b,k,E=c[8]&&c[8].status==="progress"?`(${Math.round(c[8].progress*10)/10}%)`:"",B,G,D,_=c[12].t("Please do not close the settings page while loading the model.")+"",O,j;return o=new $u({props:{className:"size-4"}}),{c(){n=q("div"),s=q("div"),Kt(o.$$.fragment),f=Pe(),p=q("div"),b=Xe(C),k=Pe(),B=Xe(E),G=Pe(),D=q("div"),O=Xe(_),this.h()},l(U){n=J(U,"DIV",{});var H=$(n);s=J(H,"DIV",{class:!0});var Z=$(s);Zt(o.$$.fragment,Z),f=Se(Z),p=J(Z,"DIV",{class:!0});var X=$(p);
2811b=qe(X,C),k=Se(X),B=qe(X,E),X.forEach(z),Z.forEach(z),G=Se(H),D=J(H,"DIV",{class:!0});var g=$(D);O=qe(g,_),g.forEach(z),H.forEach(z),this.h()},h(){V(p,"class","text-sm font-medium shimmer"),V(s,"class","mb-2.5 text-sm font-medium flex gap-2 items-center"),V(D,"class","text-xs text-gray-500")},m(U,H){He(U,n,H),Q(n,s),Xt(o,s,null),Q(s,f),Q(s,p),Q(p,b),Q(p,k),Q(p,B),Q(n,G),Q(n,D),Q(D,O),j=!0},p(U,H){(!j||H[0]&4096)&&C!==(C=U[12].t("Loading Kokoro.js...")+"")&&st(b,C),(!j||H[0]&256)&&E!==(E=U[8]&&U[8].status==="progress"?`(${Math.round(U[8].progress*10)/10}%)`:"")&&st(B,E),(!j||H[0]&4096)&&_!==(_=U[12].t("Please do not close the settings page while loading the model.")+"")&&st(O,_)},i(U){j||(at(o.$$.fragment,U),j=!0)},o(U){dt(o.$$.fragment,U),j=!1},d(U){U&&z(n),qt(o)}}}function nv(c){let n,s,o=c[12].t("Set Voice")+"",f,p,C,b,k,E,B,G,D,_=Ur(c[9]),O=[];for(let j=0;j<_.length;j+=1)O[j]=kp(hp(c,_,j));return{c(){n=q("div"),s=q("div"),f=Xe(o),p=Pe(),C=q("div"),b=q("div"),k=q("input"),E=Pe(),B=q("datalist");for(let j=0;j<O.length;j+=1)O[j].c();this.h()},l(j){n=J(j,"DIV",{});var U=$(n);s=J(U,"DIV",{class:!0});var H=$(s);f=qe(H,o),H.forEach(z),p=Se(U),C=J(U,"DIV",{class:!0});var Z=$(C);b=J(Z,"DIV",{class:!0});var X=$(b);k=J(X,"INPUT",{list:!0,class:!0,placeholder:!0}),E=Se(X),B=J(X,"DATALIST",{id:!0});var g=$(B);for(let v=0;v<O.length;v+=1)O[v].l(g);g.forEach(z),X.forEach(z),Z.forEach(z),U.forEach(z),this.h()},h(){V(s,"class","mb-2.5 text-sm font-medium"),V(k,"list","voice-list"),V(k,"class","w-full text-sm bg-white dark:text-gray-300 dark:bg-gray-850 outline-hidden"),V(k,"placeholder","Select a voice"),V(B,"id","voice-list"),V(b,"class","flex-1"),V(C,"class","flex w-full")},m(j,U){He(j,n,U),Q(n,s),Q(s,f),Q(n,p),Q(n,C),Q(C,b),Q(b,k),cr(k,c[13]),Q(b,E),Q(b,B);for(let H=0;H<O.length;H+=1)O[H]&&O[H].m(B,null);G||(D=Pt(k,"input",c[25]),G=!0)},p(j,U){if(U[0]&4096&&o!==(o=j[12].t("Set Voice")+"")&&st(f,o),U[0]&8736&&k.value!==j[13]&&cr(k,j[13]),U[0]&512){_=Ur(j[9]);let H;for(H=0;H<_.length;H+=1){const Z=hp(j,_,H);O[H]?O[H].p(Z,U):(O[H]=kp(Z),O[H].c(),O[H].m(B,null))}for(;H<O.length;H+=1)O[H].d(1);O.length=_.length}},i:qA,o:qA,d(j){j&&z(n),Un(O,j),G=!1,D()}}}function kp(c){let n,s=c[13].name+"",o,f;return{c(){n=q("option"),o=Xe(s),this.h()},l(p){n=J(p,"OPTION",{});var C=$(n);o=qe(C,s),C.forEach(z),this.h()},h(){n.__value=f=c[13].id,cr(n,n.__value)},m(p,C){He(p,n,C),Q(n,o)},p(p,C){C[0]&512&&s!==(s=p[13].name+"")&&st(o,s),C[0]&512&&f!==(f=p[13].id)&&(n.__value=f,cr(n,n.__value))},d(p){p&&z(n)}}}function iv(c){let n,s,o,f,p=c[12].t("STT Settings")+"",C,b,k,E,B,G=c[12].t("Instant Auto-Send After Voice Transcription")+"",D,_,O,j,U,H,Z=c[12].t("TTS Settings")+"",X,g,v,e,d=c[12].t("Text-to-Speech Engine")+"",T,re,N,F,Ce,he=c[12].t("Default")+"",ce,ge,Me=c[12].t("Kokoro.js (Browser)")+"",Ue,Ne,de,me,we,_e=c[12].t("Auto-playback response")+"",pe,it,We,ot,pt,ct,Re=c[12].t("Speech Playback Speed")+"",tt,It,wt,ze,At,Bt,Ft,St,oe,zt,Ie,fe,Qe=c[12].t("Save")+"",Je,rt,lt,xt,jt=c[11].audio.stt.engine!=="web"&&mp(c);function eA(wA,OA){return wA[3]===!0?Jk:qk}let Lt=eA(c),gA=Lt(c),tA=c[1]==="browser-kokoro"&&bp(c);function oA(wA,OA){return wA[4]===!0?tv:$k}let nA=oA(c),IA=nA(c),EA=Ur(c[16]),Gt=[];for(let wA=0;wA<EA.length;wA+=1)Gt[wA]=Cp(pp(c,EA,wA));const bA=[sv,rv,Av],rA=[];function br(wA,OA){return wA[1]==="browser-kokoro"?0:wA[11].audio.tts.engine===""?1:wA[11].audio.tts.engine!==""?2:-1}return~(St=br(c))&&(oe=rA[St]=bA[St](c)),{c(){n=q("form"),s=q("div"),o=q("div"),f=q("div"),C=Xe(p),b=Pe(),jt&&jt.c(),k=Pe(),E=q("div"),B=q("div"),D=Xe(G),_=Pe(),O=q("button"),gA.c(),j=Pe(),U=q("div"),H=q("div"),X=Xe(Z),g=Pe(),v=q("div"),e=q("div"),T=Xe(d),re=Pe(),N=q("div"),F=q("select"),Ce=q("option"),ce=Xe(he),ge=q("option"),Ue=Xe(Me),Ne=Pe(),tA&&tA.c(),de=Pe(),me=q("div"),we=q("div"),pe=Xe(_e),it=Pe(),We=q("button"),IA.c(),ot=Pe(),pt=q("div"),ct=q("div"),tt=Xe(Re),It=Pe(),wt=q("div"),ze=q("select");for(let wA=0;wA<Gt.length;wA+=1)Gt[wA].c();At=Pe(),Bt=q("hr"),Ft=Pe(),oe&&oe.c(),zt=Pe(),Ie=q("div"),fe=q("button"),Je=Xe(Qe),this.h()},l(wA){n=J(wA,"FORM",{class:!0});var OA=$(n);s=J(OA,"DIV",{class:!0});var AA=$(s);o=J(AA,"DIV",{});var iA=$(o);f=J(iA,"DIV",{class:!0});var Jt=$(f);C=qe(Jt,p),Jt.forEach(z),b=Se(iA),jt&&jt.l(iA),k=Se(iA),E=J(iA,"DIV",{class:!0});var LA=$(E);B=J(LA,"DIV",{class:!0});var Lr=$(B);D=qe(Lr,G),Lr.forEach(z),_=Se(LA),O=J(LA,"BUTTON",{class:!0,type:!0});var Yr=$(O);gA.l(Yr),Yr.forEach(z),LA.forEach(z),iA.forEach(z),j=Se(AA),U=J(AA,"DIV",{});var Tt=$(U);H=J(Tt,"DIV",{class:!0});var MA=$(H);X=qe(MA,Z),MA.forEach(z),g=Se(Tt),v=J(Tt,"DIV",{class:!0});var NA=$(v);e=J(NA,"DIV",{class:!0});var JA=$(e);T=qe(JA,d),JA.forEach(z),re=Se(NA),N=J(NA,"DIV",{class:!0});var WA=$(N);F=J(WA,"SELECT",{class:!0,placeholder:!0});var DA=$(F);Ce=J(DA,"OPTION",{});var Vr=$(Ce);ce=qe(Vr,he),Vr.forEach(z),ge=J(DA,"OPTION",{});var xr=$(ge);Ue=qe(xr,Me),xr.forEach(z),DA.forEach(z),WA.forEach(z),NA.forEach(z),Ne=Se(Tt),tA&&tA.l(Tt),de=Se(Tt),me=J(Tt,"DIV",{class:!0});var Dr=$(me);
2811we=J(Dr,"DIV",{class:!0});var Ls=$(we);pe=qe(Ls,_e),Ls.forEach(z),it=Se(Dr),We=J(Dr,"BUTTON",{class:!0,type:!0});var HA=$(We);IA.l(HA),HA.forEach(z),Dr.forEach(z),ot=Se(Tt),pt=J(Tt,"DIV",{class:!0});var ss=$(pt);ct=J(ss,"DIV",{class:!0});var Da=$(ct);tt=qe(Da,Re),Da.forEach(z),It=Se(ss),wt=J(ss,"DIV",{class:!0});var dn=$(wt);ze=J(dn,"SELECT",{class:!0});var Ga=$(ze);for(let xs=0;xs<Gt.length;xs+=1)Gt[xs].l(Ga);Ga.forEach(z),dn.forEach(z),ss.forEach(z),Tt.forEach(z),At=Se(AA),Bt=J(AA,"HR",{class:!0}),Ft=Se(AA),oe&&oe.l(AA),AA.forEach(z),zt=Se(OA),Ie=J(OA,"DIV",{class:!0});var Ka=$(Ie);fe=J(Ka,"BUTTON",{class:!0,type:!0});var gn=$(fe);Je=qe(gn,Qe),gn.forEach(z),Ka.forEach(z),OA.forEach(z),this.h()},h(){V(f,"class","mb-1 text-sm font-medium"),V(B,"class","self-center text-xs font-medium"),V(O,"class","p-1 px-3 text-xs flex rounded-sm transition"),V(O,"type","button"),V(E,"class","py-0.5 flex w-full justify-between"),V(H,"class","mb-1 text-sm font-medium"),V(e,"class","self-center text-xs font-medium"),Ce.__value="",cr(Ce,Ce.__value),ge.__value="browser-kokoro",cr(ge,ge.__value),V(F,"class","dark:bg-gray-900 w-fit pr-8 rounded-sm px-2 p-1 text-xs bg-transparent outline-hidden text-right"),V(F,"placeholder","Select an engine"),c[1]===void 0&&L0(()=>c[21].call(F)),V(N,"class","flex items-center relative"),V(v,"class","py-0.5 flex w-full justify-between"),V(we,"class","self-center text-xs font-medium"),V(We,"class","p-1 px-3 text-xs flex rounded-sm transition"),V(We,"type","button"),V(me,"class","py-0.5 flex w-full justify-between"),V(ct,"class","self-center text-xs font-medium"),V(ze,"class","dark:bg-gray-900 w-fit pr-8 rounded-sm px-2 p-1 text-xs bg-transparent outline-hidden text-right"),c[10]===void 0&&L0(()=>c[24].call(ze)),V(wt,"class","flex items-center relative"),V(pt,"class","py-0.5 flex w-full justify-between"),V(Bt,"class","border-gray-100 dark:border-gray-850"),V(s,"class","space-y-3 overflow-y-scroll max-h-[28rem] lg:max-h-full"),V(fe,"class","px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"),V(fe,"type","submit"),V(Ie,"class","flex justify-end text-sm font-medium"),V(n,"class","flex flex-col h-full justify-between space-y-3 text-sm")},m(wA,OA){He(wA,n,OA),Q(n,s),Q(s,o),Q(o,f),Q(f,C),Q(o,b),jt&&jt.m(o,null),Q(o,k),Q(o,E),Q(E,B),Q(B,D),Q(E,_),Q(E,O),gA.m(O,null),Q(s,j),Q(s,U),Q(U,H),Q(H,X),Q(U,g),Q(U,v),Q(v,e),Q(e,T),Q(v,re),Q(v,N),Q(N,F),Q(F,Ce),Q(Ce,ce),Q(F,ge),Q(ge,Ue),ao(F,c[1],!0),Q(U,Ne),tA&&tA.m(U,null),Q(U,de),Q(U,me),Q(me,we),Q(we,pe),Q(me,it),Q(me,We),IA.m(We,null),Q(U,ot),Q(U,pt),Q(pt,ct),Q(ct,tt),Q(pt,It),Q(pt,wt),Q(wt,ze);for(let AA=0;AA<Gt.length;AA+=1)Gt[AA]&&Gt[AA].m(ze,null);ao(ze,c[10],!0),Q(s,At),Q(s,Bt),Q(s,Ft),~St&&rA[St].m(s,null),Q(n,zt),Q(n,Ie),Q(Ie,fe),Q(fe,Je),rt=!0,lt||(xt=[Pt(O,"click",c[20]),Pt(F,"change",c[21]),Pt(We,"click",c[23]),Pt(ze,"change",c[24]),Pt(n,"submit",H0(c[30]))],lt=!0)},p(wA,OA){if((!rt||OA[0]&4096)&&p!==(p=wA[12].t("STT Settings")+"")&&st(C,p),wA[11].audio.stt.engine!=="web"?jt?jt.p(wA,OA):(jt=mp(wA),jt.c(),jt.m(o,k)):jt&&(jt.d(1),jt=null),(!rt||OA[0]&4096)&&G!==(G=wA[12].t("Instant Auto-Send After Voice Transcription")+"")&&st(D,G),Lt===(Lt=eA(wA))&&gA?gA.p(wA,OA):(gA.d(1),gA=Lt(wA),gA&&(gA.c(),gA.m(O,null))),(!rt||OA[0]&4096)&&Z!==(Z=wA[12].t("TTS Settings")+"")&&st(X,Z),(!rt||OA[0]&4096)&&d!==(d=wA[12].t("Text-to-Speech Engine")+"")&&st(T,d),(!rt||OA[0]&4096)&&he!==(he=wA[12].t("Default")+"")&&st(ce,he),(!rt||OA[0]&4096)&&Me!==(Me=wA[12].t("Kokoro.js (Browser)")+"")&&st(Ue,Me),OA[0]&2&&ao(F,wA[1]),wA[1]==="browser-kokoro"?tA?tA.p(wA,OA):(tA=bp(wA),tA.c(),tA.m(U,de)):tA&&(tA.d(1),tA=null),(!rt||OA[0]&4096)&&_e!==(_e=wA[12].t("Auto-playback response")+"")&&st(pe,_e),nA===(nA=oA(wA))&&IA?IA.p(wA,OA):(IA.d(1),IA=nA(wA),IA&&(IA.c(),IA.m(We,null))),(!rt||OA[0]&4096)&&Re!==(Re=wA[12].t("Speech Playback Speed")+"")&&st(tt,Re),OA[0]&66560){EA=Ur(wA[16]);let iA;for(iA=0;iA<EA.length;iA+=1){const Jt=pp(wA,EA,iA);Gt[iA]?Gt[iA].p(Jt,OA):(Gt[iA]=Cp(Jt),Gt[iA].c(),Gt[iA].m(ze,null))}for(;iA<Gt.length;iA+=1)Gt[iA].d(1);Gt.length=EA.length}OA[0]&66560&&ao(ze,wA[10]);let AA=St;St=br(wA),St===AA?~St&&rA[St].p(wA,OA):(oe&&(zr(),dt(rA[AA],1,1,()=>{rA[AA]=null}),Fr()),~St?(oe=rA[St],oe?oe.p(wA,OA):(oe=rA[St]=bA[St](wA),oe.c()),at(oe,1),oe.m(s,null)):oe=null),(!rt||OA[0]&4096)&&Qe!==(Qe=wA[12].t("Save")+"")&&st(Je,Qe)},i(wA){rt||(at(oe),rt=!0)},o(wA){dt(oe),rt=!1},d(wA){wA&&z(n),jt&&jt.d(),gA.d(),tA&&tA.d(),IA.d(),Un(Gt,wA),~St&&rA[St].d(),lt=!1,Gs(xt)}}}function ov(c,n,s){let o,f,p;jA(c,no,_e=>s(33,o=_e)),jA(c,sl,_e=>s(11,f=_e));const C=Wn(),b=Aa("i18n");jA(c,b,_e=>s(12,p=_e));let{saveSettings:k}=n,E=!1,B=!1,G=!1,D="",_="",O={},j=null,U=null,H=[],Z="",X=1;const g=[2,1.75,1.5,1.25,1,.75,.5],v=async()=>
2811{if(_==="browser-kokoro")j||await re(),s(9,H=Object.entries(j.voices).map(([_e,pe])=>({id:_e,name:pe.name,localService:!1})));else if(f.audio.tts.engine===""){const _e=setInterval(async()=>{s(9,H=await speechSynthesis.getVoices()),H.length>0&&clearInterval(_e)},100)}else{const _e=await xC(localStorage.token).catch(pe=>{gr.error(`${pe}`)});_e&&(console.log(_e),s(9,H=_e.voices))}},e=async()=>{s(4,B=!B),k({responseAutoPlayback:B})},d=async()=>{s(3,E=!E),k({speechAutoSend:E})};Kn(async()=>{var _e,pe,it,We,ot,pt,ct,Re,tt,It,wt,ze,At,Bt;s(10,X=((pe=(_e=o.audio)==null?void 0:_e.tts)==null?void 0:pe.playbackRate)??1),o.conversationMode,s(3,E=o.speechAutoSend??!1),s(4,B=o.responseAutoPlayback??!1),s(6,D=((We=(it=o==null?void 0:o.audio)==null?void 0:it.stt)==null?void 0:We.engine)??""),s(1,_=((pt=(ot=o==null?void 0:o.audio)==null?void 0:ot.tts)==null?void 0:pt.engine)??""),s(2,O=((Re=(ct=o==null?void 0:o.audio)==null?void 0:ct.tts)==null?void 0:Re.engineConfig)??{}),((It=(tt=o==null?void 0:o.audio)==null?void 0:tt.tts)==null?void 0:It.defaultVoice)===f.audio.tts.voice?s(13,Z=((ze=(wt=o==null?void 0:o.audio)==null?void 0:wt.tts)==null?void 0:ze.voice)??f.audio.tts.voice??""):s(13,Z=f.audio.tts.voice??""),s(5,G=((Bt=(At=o.audio)==null?void 0:At.tts)==null?void 0:Bt.nonLocalVoices)??!1),await v()});const T=async()=>{_==="browser-kokoro"&&await re()},re=async()=>{_==="browser-kokoro"&&(s(9,H=[]),O!=null&&O.dtype&&(s(7,j=null),s(8,U=null),s(7,j=await ud.from_pretrained("onnx-community/Kokoro-82M-v1.0-ONNX",{dtype:O.dtype,device:navigator!=null&&navigator.gpu?"webgpu":"wasm",progress_callback:pe=>{s(8,U=pe),console.log(pe)}})),await v()))};function N(){D=kl(this),s(6,D)}const F=()=>{d()};function Ce(){_=kl(this),s(1,_)}function he(){O.dtype=kl(this),s(2,O)}const ce=()=>{e()};function ge(){X=kl(this),s(10,X),s(16,g)}function Me(){Z=this.value,s(13,Z),s(9,H),s(5,G)}const Ue=_e=>G||_e.localService===!0;function Ne(){Z=kl(this),s(13,Z),s(9,H),s(5,G)}function de(_e){G=_e,s(5,G)}function me(){Z=this.value,s(13,Z),s(9,H),s(5,G)}const we=async()=>{var _e,pe;k({audio:{stt:{engine:D!==""?D:void 0},tts:{engine:_!==""?_:void 0,engineConfig:O,playbackRate:X,voice:Z!==""?Z:void 0,defaultVoice:((pe=(_e=f==null?void 0:f.audio)==null?void 0:_e.tts)==null?void 0:pe.voice)??"",nonLocalVoices:f.audio.tts.engine===""?G:void 0}}}),C("save")};return c.$$set=_e=>{"saveSettings"in _e&&s(0,k=_e.saveSettings)},c.$$.update=()=>{c.$$.dirty[0]&6&&_&&O&&T()},[k,_,O,E,B,G,D,j,U,H,X,f,p,Z,C,b,g,e,d,N,F,Ce,he,ce,ge,Me,Ue,Ne,de,me,we]}class lv extends vs{constructor(n){super(),ys(this,n,ov,iv,ks,{saveSettings:0},null,[-1,-1])}}function cv(c){let n,s,o='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="size-4"><path d="M3.375 3C2.339 3 1.5 3.84 1.5 4.875v.75c0 1.036.84 1.875 1.875 1.875h17.25c1.035 0 1.875-.84 1.875-1.875v-.75C22.5 3.839 21.66 3 20.625 3H3.375Z"></path><path fill-rule="evenodd" d="m3.087 9 .54 9.176A3 3 0 0 0 6.62 21h10.757a3 3 0 0 0 2.995-2.824L20.913 9H3.087Zm6.163 3.75A.75.75 0 0 1 10 12h4a.75.75 0 0 1 0 1.5h-4a.75.75 0 0 1-.75-.75Z" clip-rule="evenodd"></path></svg>',f,p,C=c[5].t("Archive All Chats")+"",b,k,E;return{c(){n=q("button"),s=q("div"),s.innerHTML=o,f=Pe(),p=q("div"),b=Xe(C),this.h()},l(B){n=J(B,"BUTTON",{class:!0});var G=$(n);s=J(G,"DIV",{class:!0,"data-svelte-h":!0}),hr(s)!=="svelte-1duozwn"&&(s.innerHTML=o),f=Se(G),p=J(G,"DIV",{class:!0});var D=$(p);b=qe(D,C),D.forEach(z),G.forEach(z),this.h()},h(){V(s,"class","self-center mr-3"),V(p,"class","self-center text-sm font-medium"),V(n,"class","flex rounded-md py-2 px-3.5 w-full hover:bg-gray-200 dark:hover:bg-gray-800 transition")},m(B,G){He(B,n,G),Q(n,s),Q(n,f),Q(n,p),Q(p,b),k||(E=Pt(n,"click",c[20]),k=!0)},p(B,G){G&32&&C!==(C=B[5].t("Archive All Chats")+"")&&st(b,C)},d(B){B&&z(n),k=!1,E()}}}function uv(c){let n,s,o,f,p,C,b,k=c[5].t("Are you sure?")+"",E,B,G,D,_='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-4 h-4"><path fill-rule="evenodd" d="M16.704 4.153a.75.75 0 01.143 1.052l-8 10.5a.75.75 0 01-1.127.075l-4.5-4.5a.75.75 0 011.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 011.05-.143z" clip-rule="evenodd"></path></svg>',O,j,U='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-4 h-4"><path d="M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z"></path></svg>',H,Z;return{c(){n=q("div"),s=q("div"),o=ka("svg"),f=ka("path"),p=ka("path"),C=Pe(),b=q("span"),E=Xe(k),B=Pe(),G=q("div"),D=q("button"),D.innerHTML=_,O=Pe(),j=q("button"),j.innerHTML=U,this.h()},l(X){n=J(X,"DIV",{class:!0});var g=$(n);s=J(g,"DIV",{class:!0});var v=$(s);o=va(v,"svg",{xmlns:!0,viewBox:!0,fill:!0,class:!0});
2811var e=$(o);f=va(e,"path",{d:!0}),$(f).forEach(z),p=va(e,"path",{"fill-rule":!0,d:!0,"clip-rule":!0}),$(p).forEach(z),e.forEach(z),C=Se(v),b=J(v,"SPAN",{});var d=$(b);E=qe(d,k),d.forEach(z),v.forEach(z),B=Se(g),G=J(g,"DIV",{class:!0});var T=$(G);D=J(T,"BUTTON",{class:!0,"data-svelte-h":!0}),hr(D)!=="svelte-88c061"&&(D.innerHTML=_),O=Se(T),j=J(T,"BUTTON",{class:!0,"data-svelte-h":!0}),hr(j)!=="svelte-1601eo8"&&(j.innerHTML=U),T.forEach(z),g.forEach(z),this.h()},h(){V(f,"d","M2 3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3Z"),V(p,"fill-rule","evenodd"),V(p,"d","M13 6H3v6a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V6ZM5.72 7.47a.75.75 0 0 1 1.06 0L8 8.69l1.22-1.22a.75.75 0 1 1 1.06 1.06L9.06 9.75l1.22 1.22a.75.75 0 1 1-1.06 1.06L8 10.81l-1.22 1.22a.75.75 0 0 1-1.06-1.06l1.22-1.22-1.22-1.22a.75.75 0 0 1 0-1.06Z"),V(p,"clip-rule","evenodd"),V(o,"xmlns","http://www.w3.org/2000/svg"),V(o,"viewBox","0 0 16 16"),V(o,"fill","currentColor"),V(o,"class","w-4 h-4"),V(s,"class","flex items-center space-x-3"),V(D,"class","hover:text-white transition"),V(j,"class","hover:text-white transition"),V(G,"class","flex space-x-1.5 items-center"),V(n,"class","flex justify-between rounded-md items-center py-2 px-3.5 w-full transition")},m(X,g){He(X,n,g),Q(n,s),Q(s,o),Q(o,f),Q(o,p),Q(s,C),Q(s,b),Q(b,E),Q(n,B),Q(n,G),Q(G,D),Q(G,O),Q(G,j),H||(Z=[Pt(D,"click",c[18]),Pt(j,"click",c[19])],H=!0)},p(X,g){g&32&&k!==(k=X[5].t("Are you sure?")+"")&&st(E,k)},d(X){X&&z(n),H=!1,Gs(Z)}}}function fv(c){let n,s,o='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" class="w-4 h-4"><path fill-rule="evenodd" d="M4 2a1.5 1.5 0 0 0-1.5 1.5v9A1.5 1.5 0 0 0 4 14h8a1.5 1.5 0 0 0 1.5-1.5V6.621a1.5 1.5 0 0 0-.44-1.06L9.94 2.439A1.5 1.5 0 0 0 8.878 2H4Zm7 7a.75.75 0 0 1-.75.75h-4.5a.75.75 0 0 1 0-1.5h4.5A.75.75 0 0 1 11 9Z" clip-rule="evenodd"></path></svg>',f,p,C=c[5].t("Delete All Chats")+"",b,k,E;return{c(){n=q("button"),s=q("div"),s.innerHTML=o,f=Pe(),p=q("div"),b=Xe(C),this.h()},l(B){n=J(B,"BUTTON",{class:!0});var G=$(n);s=J(G,"DIV",{class:!0,"data-svelte-h":!0}),hr(s)!=="svelte-15aqp4h"&&(s.innerHTML=o),f=Se(G),p=J(G,"DIV",{class:!0});var D=$(p);b=qe(D,C),D.forEach(z),G.forEach(z),this.h()},h(){V(s,"class","self-center mr-3"),V(p,"class","self-center text-sm font-medium"),V(n,"class","flex rounded-md py-2 px-3.5 w-full hover:bg-gray-200 dark:hover:bg-gray-800 transition")},m(B,G){He(B,n,G),Q(n,s),Q(n,f),Q(n,p),Q(p,b),k||(E=Pt(n,"click",c[23]),k=!0)},p(B,G){G&32&&C!==(C=B[5].t("Delete All Chats")+"")&&st(b,C)},d(B){B&&z(n),k=!1,E()}}}function dv(c){let n,s,o,f,p,C,b,k=c[5].t("Are you sure?")+"",E,B,G,D,_='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-4 h-4"><path fill-rule="evenodd" d="M16.704 4.153a.75.75 0 01.143 1.052l-8 10.5a.75.75 0 01-1.127.075l-4.5-4.5a.75.75 0 011.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 011.05-.143z" clip-rule="evenodd"></path></svg>',O,j,U='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-4 h-4"><path d="M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z"></path></svg>',H,Z;return{c(){n=q("div"),s=q("div"),o=ka("svg"),f=ka("path"),p=ka("path"),C=Pe(),b=q("span"),E=Xe(k),B=Pe(),G=q("div"),D=q("button"),D.innerHTML=_,O=Pe(),j=q("button"),j.innerHTML=U,this.h()},l(X){n=J(X,"DIV",{class:!0});var g=$(n);s=J(g,"DIV",{class:!0});var v=$(s);o=va(v,"svg",{xmlns:!0,viewBox:!0,fill:!0,class:!0});var e=$(o);f=va(e,"path",{d:!0}),$(f).forEach(z),p=va(e,"path",{"fill-rule":!0,d:!0,"clip-rule":!0}),$(p).forEach(z),e.forEach(z),C=Se(v),b=J(v,"SPAN",{});var d=$(b);E=qe(d,k),d.forEach(z),v.forEach(z),B=Se(g),G=J(g,"DIV",{class:!0});var T=$(G);D=J(T,"BUTTON",{class:!0,"data-svelte-h":!0}),hr(D)!=="svelte-19nv6qp"&&(D.innerHTML=_),O=Se(T),j=J(T,"BUTTON",{class:!0,"data-svelte-h":!0}),hr(j)!=="svelte-ekcykx"&&(j.innerHTML=U),T.forEach(z),g.forEach(z),this.h()},h(){V(f,"d","M2 3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3Z"),V(p,"f
2811ill-rule","evenodd"),V(p,"d","M13 6H3v6a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V6ZM5.72 7.47a.75.75 0 0 1 1.06 0L8 8.69l1.22-1.22a.75.75 0 1 1 1.06 1.06L9.06 9.75l1.22 1.22a.75.75 0 1 1-1.06 1.06L8 10.81l-1.22 1.22a.75.75 0 0 1-1.06-1.06l1.22-1.22-1.22-1.22a.75.75 0 0 1 0-1.06Z"),V(p,"clip-rule","evenodd"),V(o,"xmlns","http://www.w3.org/2000/svg"),V(o,"viewBox","0 0 16 16"),V(o,"fill","currentColor"),V(o,"class","w-4 h-4"),V(s,"class","flex items-center space-x-3"),V(D,"class","hover:text-white transition"),V(j,"class","hover:text-white transition"),V(G,"class","flex space-x-1.5 items-center"),V(n,"class","flex justify-between rounded-md items-center py-2 px-3.5 w-full transition")},m(X,g){He(X,n,g),Q(n,s),Q(s,o),Q(o,f),Q(o,p),Q(s,C),Q(s,b),Q(b,E),Q(n,B),Q(n,G),Q(G,D),Q(G,O),Q(G,j),H||(Z=[Pt(D,"click",c[21]),Pt(j,"click",c[22])],H=!0)},p(X,g){g&32&&k!==(k=X[5].t("Are you sure?")+"")&&st(E,k)},d(X){X&&z(n),H=!1,Gs(Z)}}}function gv(c){let n,s,o,f,p,C,b,k,E,B,G='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" class="w-4 h-4"><path fill-rule="evenodd" d="M4 2a1.5 1.5 0 0 0-1.5 1.5v9A1.5 1.5 0 0 0 4 14h8a1.5 1.5 0 0 0 1.5-1.5V6.621a1.5 1.5 0 0 0-.44-1.06L9.94 2.439A1.5 1.5 0 0 0 8.878 2H4Zm4 9.5a.75.75 0 0 1-.75-.75V8.06l-.72.72a.75.75 0 0 1-1.06-1.06l2-2a.75.75 0 0 1 1.06 0l2 2a.75.75 0 1 1-1.06 1.06l-.72-.72v2.69a.75.75 0 0 1-.75.75Z" clip-rule="evenodd"></path></svg>',D,_,O=c[5].t("Import Chats")+"",j,U,H,Z,X='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" class="w-4 h-4"><path fill-rule="evenodd" d="M4 2a1.5 1.5 0 0 0-1.5 1.5v9A1.5 1.5 0 0 0 4 14h8a1.5 1.5 0 0 0 1.5-1.5V6.621a1.5 1.5 0 0 0-.44-1.06L9.94 2.439A1.5 1.5 0 0 0 8.878 2H4Zm4 3.5a.75.75 0 0 1 .75.75v2.69l.72-.72a.75.75 0 1 1 1.06 1.06l-2 2a.75.75 0 0 1-1.06 0l-2-2a.75.75 0 0 1 1.06-1.06l.72.72V6.25A.75.75 0 0 1 8 5.5Z" clip-rule="evenodd"></path></svg>',g,v,e=c[5].t("Export Chats")+"",d,T,re,N,F,Ce,he,ce='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="size-4"><path d="M3.375 3C2.339 3 1.5 3.84 1.5 4.875v.75c0 1.036.84 1.875 1.875 1.875h17.25c1.035 0 1.875-.84 1.875-1.875v-.75C22.5 3.839 21.66 3 20.625 3H3.375Z"></path><path fill-rule="evenodd" d="m3.087 9 .54 9.176A3 3 0 0 0 6.62 21h10.757a3 3 0 0 0 2.995-2.824L20.913 9H3.087ZM12 10.5a.75.75 0 0 1 .75.75v4.94l1.72-1.72a.75.75 0 1 1 1.06 1.06l-3 3a.75.75 0 0 1-1.06 0l-3-3a.75.75 0 1 1 1.06-1.06l1.72 1.72v-4.94a.75.75 0 0 1 .75-.75Z" clip-rule="evenodd"></path></svg>',ge,Me,Ue=c[5].t("Archived Chats")+"",Ne,de,me,we,_e,pe;function it(wt){c[12](wt)}let We={};c[3]!==void 0&&(We.show=c[3]),n=new ym({props:We}),Br.push(()=>As(n,"show",it)),n.$on("change",c[10]);function ot(wt,ze){return wt[1]?uv:cv}let pt=ot(c),ct=pt(c);function Re(wt,ze){return wt[2]?dv:fv}let tt=Re(c),It=tt(c);return{c(){Kt(n.$$.fragment),o=Pe(),f=q("div"),p=q("div"),C=q("div"),b=q("input"),k=Pe(),E=q("button"),B=q("div"),B.innerHTML=G,D=Pe(),_=q("div"),j=Xe(O),U=Pe(),H=q("button"),Z=q("div"),Z.innerHTML=X,g=Pe(),v=q("div"),d=Xe(e),T=Pe(),re=q("hr"),N=Pe(),F=q("div"),Ce=q("button"),he=q("div"),he.innerHTML=ce,ge=Pe(),Me=q("div"),Ne=Xe(Ue),de=Pe(),ct.c(),me=Pe(),It.c(),this.h()},l(wt){Zt(n.$$.fragment,wt),o=Se(wt),f=J(wt,"DIV",{class:!0});var ze=$(f);p=J(ze,"DIV",{class:!0});var At=$(p);C=J(At,"DIV",{class:!0});var Bt=$(C);b=J(Bt,"INPUT",{id:!0,type:!0,accept:!0}),k=Se(Bt),E=J(Bt,"BUTTON",{class:!0});var Ft=$(E);B=J(Ft,"DIV",{class:!0,"data-svelte-h":!0}),hr(B)!=="svelte-135keqh"&&(B.innerHTML=G),D=Se(Ft),_=J(Ft,"DIV",{class:!0});var St=$(_);j=qe(St,O),St.forEach(z),Ft.forEach(z),U=Se(Bt),H=J(Bt,"BUTTON",{class:!0});var oe=$(H);Z=J(oe,"DIV",{class:!0,"data-svelte-h":!0}),hr(Z)!=="svelte-7e4f4y"&&(Z.innerHTML=X),g=Se(oe),v=J(oe,"DIV",{class:!0});var zt=$(v);d=qe(zt,e),zt.forEach(z),oe.forEach(z),Bt.forEach(z),T=Se(At),re=J(At,"HR",{class:!0}),N=Se(At),F=J(At,"DIV",{class:!0});var Ie=$(F);Ce=J(Ie,"BUTTON",{class:!0});var fe=$(Ce);he=J(fe,"DIV",{class:!0,"data-svelte-h":!0}),hr(he)!=="svelte-u1tth1"&&(he.innerHTML=ce),ge=Se(fe),Me=J(fe,"DIV",{class:!0});var Qe=$(Me);Ne=qe(Qe,Ue),Qe.forEach(z),fe.forEach(z),de=Se(Ie),ct.l(Ie),me=Se(Ie),It.l(Ie),Ie.forEach(z),At.forEach(z),ze.forEach(z),this.h()}
2811,h(){V(b,"id","chat-import-input"),V(b,"type","file"),V(b,"accept",".json"),b.hidden=!0,V(B,"class","self-center mr-3"),V(_,"class","self-center text-sm font-medium"),V(E,"class","flex rounded-md py-2 px-3.5 w-full hover:bg-gray-200 dark:hover:bg-gray-800 transition"),V(Z,"class","self-center mr-3"),V(v,"class","self-center text-sm font-medium"),V(H,"class","flex rounded-md py-2 px-3.5 w-full hover:bg-gray-200 dark:hover:bg-gray-800 transition"),V(C,"class","flex flex-col"),V(re,"class","border-gray-100 dark:border-gray-850"),V(he,"class","self-center mr-3"),V(Me,"class","self-center text-sm font-medium"),V(Ce,"class","flex rounded-md py-2 px-3.5 w-full hover:bg-gray-200 dark:hover:bg-gray-800 transition"),V(F,"class","flex flex-col"),V(p,"class","space-y-2 overflow-y-scroll max-h-[28rem] lg:max-h-full"),V(f,"class","flex flex-col h-full justify-between space-y-3 text-sm")},m(wt,ze){Xt(n,wt,ze),He(wt,o,ze),He(wt,f,ze),Q(f,p),Q(p,C),Q(C,b),c[13](b),Q(C,k),Q(C,E),Q(E,B),Q(E,D),Q(E,_),Q(_,j),Q(C,U),Q(C,H),Q(H,Z),Q(H,g),Q(H,v),Q(v,d),Q(p,T),Q(p,re),Q(p,N),Q(p,F),Q(F,Ce),Q(Ce,he),Q(Ce,ge),Q(Ce,Me),Q(Me,Ne),Q(F,de),ct.m(F,null),Q(F,me),It.m(F,null),we=!0,_e||(pe=[Pt(b,"change",c[14]),Pt(E,"click",c[15]),Pt(H,"click",c[16]),Pt(Ce,"click",c[17])],_e=!0)},p(wt,[ze]){const At={};!s&&ze&8&&(s=!0,At.show=wt[3],ts(()=>s=!1)),n.$set(At),(!we||ze&32)&&O!==(O=wt[5].t("Import Chats")+"")&&st(j,O),(!we||ze&32)&&e!==(e=wt[5].t("Export Chats")+"")&&st(d,e),(!we||ze&32)&&Ue!==(Ue=wt[5].t("Archived Chats")+"")&&st(Ne,Ue),pt===(pt=ot(wt))&&ct?ct.p(wt,ze):(ct.d(1),ct=pt(wt),ct&&(ct.c(),ct.m(F,me))),tt===(tt=Re(wt))&&It?It.p(wt,ze):(It.d(1),It=tt(wt),It&&(It.c(),It.m(F,null)))},i(wt){we||(at(n.$$.fragment,wt),we=!0)},o(wt){dt(n.$$.fragment,wt),we=!1},d(wt){wt&&(z(o),z(f)),qt(n,wt),c[13](null),ct.d(),It.d(),_e=!1,Gs(pe)}}}function hv(c,n,s){let o,f;jA(c,Wo,ce=>s(24,o=ce));const{saveAs:p}=Ju,C=Aa("i18n");jA(c,C,ce=>s(5,f=ce));let{saveSettings:b}=n,k,E=!1,B=!1,G=!1,D;const _=async ce=>{for(const ge of ce)console.log(ge),ge.chat?await Ug(localStorage.token,ge.chat):await Ug(localStorage.token,ge);Wo.set(1),await Ro.set(await Al(localStorage.token,o)),y2.set(!0)},O=async()=>{let ce=new Blob([JSON.stringify(await Y8(localStorage.token))],{type:"application/json"});p(ce,`chat-export-${Date.now()}.json`)},j=async()=>{await V0("/"),await R8(localStorage.token).catch(ce=>{gr.error(`${ce}`)}),Wo.set(1),await Ro.set(await Al(localStorage.token,o)),y2.set(!0)},U=async()=>{await V0("/"),await j8(localStorage.token).catch(ce=>{gr.error(`${ce}`)}),Wo.set(1),await Ro.set(await Al(localStorage.token,o)),y2.set(!0)},H=async()=>{Wo.set(1),await Ro.set(await Al(localStorage.token,o)),y2.set(!0)};function Z(ce){G=ce,s(3,G)}function X(ce){Br[ce?"unshift":"push"](()=>{D=ce,s(4,D)})}function g(){k=this.files,s(0,k)}const v=()=>{D.click()},e=()=>{O()},d=()=>{s(3,G=!0)},T=()=>{j(),s(1,E=!1)},re=()=>{s(1,E=!1)},N=()=>{s(1,E=!0)},F=()=>{U(),s(2,B=!1)},Ce=()=>{s(2,B=!1)},he=()=>{s(2,B=!0)};return c.$$set=ce=>{"saveSettings"in ce&&s(11,b=ce.saveSettings)},c.$$.update=()=>{if(c.$$.dirty&1&&k){console.log(k);let ce=new FileReader;ce.onload=ge=>{let Me=JSON.parse(ge.target.result);if(console.log(Me),E8(Me)=="openai")try{Me=B8(Me)}catch(Ue){console.log("Unable to import chats:",Ue)}_(Me)},k.length>0&&ce.readAsText(k[0])}},[k,E,B,G,D,f,C,O,j,U,H,b,Z,X,g,v,e,d,T,re,N,F,Ce,he]}class pv extends vs{constructor(n){super(),ys(this,n,hv,gv,ks,{saveSettings:11})}}function vp(c){let n,s=`<svg class="w-4 h-4" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><style>.spinner_ajPY {
2812												transform-origin: center;
2813												animation: spinner_AtaB 0.75s infinite linear;
2814											}
2815											@keyframes spinner_AtaB {
2816												100% {
2817													transform: rotate(360deg);
2818												}
2819											}
2820										</style><path d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z" opacity=".25"></path><path d="M10.14,1.16a11,11,0,0,0-9,8.92A1.59,1.59,0,0,0,2.46,12,1.52,1.52,0,0,0,4.11,10.7a8,8,0,0,1,6.66-6.61A1.42,1.42,0,0,0,12,2.69h0A1.57,1.57,0,0,0,10.14,1.16Z" class="spinner_ajPY"></path></svg>`;return{c(){n=q("div"),n.innerHTML=s,this.h()},l(o){n=J(o,"DIV",{class:!0,"data-svelte-h":!0}),hr(n)!=="svelte-1vuzrxa"&&(n.innerHTML=s),this.h()},h(){V(n,"class","ml-2 self-center")},m(o,f){He(o,n,f)},d(o){o&&z(n)}}}function mv(c){let n,s,o,f=c[3].t("Add Memory")+"",p,C,b,k='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5"><path d="M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z"></path></svg>',E,B,G,D,_,O,j,U,H,Z,X=c[3].t('Refer to yourself as "User" (e.g., "User is learning Spanish")')+"",g,v,e,d,T=c[3].t("Add")+"",re,N,F,Ce,he,ce=c[1]&&vp();return{c(){n=q("div"),s=q("div"),o=q("div"),p=Xe(f),C=Pe(),b=q("button"),b.innerHTML=k,E=Pe(),B=q("div"),G=q("div"),D=q("form"),_=q("div"),O=q("textarea"),U=Pe(),H=q("div"),Z=Xe("ⓘ "),g=Xe(X),v=Pe(),e=q("div"),d=q("button"),re=Xe(T),N=Pe(),ce&&ce.c(),this.h()},l(ge){n=J(ge,"DIV",{});var Me=$(n);s=J(Me,"DIV",{class:!0});var Ue=$(s);o=J(Ue,"DIV",{class:!0});var Ne=$(o);p=qe(Ne,f),Ne.forEach(z),C=Se(Ue),b=J(Ue,"BUTTON",{class:!0,"data-svelte-h":!0}),hr(b)!=="svelte-745w2y"&&(b.innerHTML=k),Ue.forEach(z),E=Se(Me),B=J(Me,"DIV",{class:!0});var de=$(B);G=J(de,"DIV",{class:!0});var me=$(G);D=J(me,"FORM",{class:!0});var we=$(D);_=J(we,"DIV",{class:!0});var _e=$(_);O=J(_e,"TEXTAREA",{class:!0,rows:!0,placeholder:!0}),$(O).forEach(z),U=Se(_e),H=J(_e,"DIV",{class:!0});var pe=$(H);Z=qe(pe,"ⓘ "),g=qe(pe,X),pe.forEach(z),_e.forEach(z),v=Se(we),e=J(we,"DIV",{class:!0});var it=$(e);d=J(it,"BUTTON",{class:!0,type:!0});var We=$(d);
2820re=qe(We,T),N=Se(We),ce&&ce.l(We),We.forEach(z),it.forEach(z),we.forEach(z),me.forEach(z),de.forEach(z),Me.forEach(z),this.h()},h(){V(o,"class","text-lg font-medium self-center"),V(b,"class","self-center"),V(s,"class","flex justify-between dark:text-gray-300 px-5 pt-4 pb-2"),V(O,"class","bg-transparent w-full text-sm resize-none rounded-xl p-3 outline outline-1 outline-gray-100 dark:outline-gray-800"),V(O,"rows","3"),V(O,"placeholder",j=c[3].t("Enter a detail about yourself for your LLMs to recall")),V(H,"class","text-xs text-gray-500"),V(_,"class",""),V(d,"class",F="px-4 py-2 bg-emerald-700 hover:bg-emerald-800 text-gray-100 transition rounded-3xl flex flex-row space-x-1 items-center "+(c[1]?" cursor-not-allowed":"")),V(d,"type","submit"),d.disabled=c[1],V(e,"class","flex justify-end pt-1 text-sm font-medium"),V(D,"class","flex flex-col w-full"),V(G,"class","flex flex-col w-full sm:flex-row sm:justify-center sm:space-x-6"),V(B,"class","flex flex-col md:flex-row w-full px-5 pb-4 md:space-x-4 dark:text-gray-200")},m(ge,Me){He(ge,n,Me),Q(n,s),Q(s,o),Q(o,p),Q(s,C),Q(s,b),Q(n,E),Q(n,B),Q(B,G),Q(G,D),Q(D,_),Q(_,O),cr(O,c[2]),Q(_,U),Q(_,H),Q(H,Z),Q(H,g),Q(D,v),Q(D,e),Q(e,d),Q(d,re),Q(d,N),ce&&ce.m(d,null),Ce||(he=[Pt(b,"click",c[6]),Pt(O,"input",c[7]),Pt(D,"submit",H0(c[8]))],Ce=!0)},p(ge,Me){Me&8&&f!==(f=ge[3].t("Add Memory")+"")&&st(p,f),Me&8&&j!==(j=ge[3].t("Enter a detail about yourself for your LLMs to recall"))&&V(O,"placeholder",j),Me&4&&cr(O,ge[2]),Me&8&&X!==(X=ge[3].t('Refer to yourself as "User" (e.g., "User is learning Spanish")')+"")&&st(g,X),Me&8&&T!==(T=ge[3].t("Add")+"")&&st(re,T),ge[1]?ce||(ce=vp(),ce.c(),ce.m(d,null)):ce&&(ce.d(1),ce=null),Me&2&&F!==(F="px-4 py-2 bg-emerald-700 hover:bg-emerald-800 text-gray-100 transition rounded-3xl flex flex-row space-x-1 items-center "+(ge[1]?" cursor-not-allowed":""))&&V(d,"class",F),Me&2&&(d.disabled=ge[1])},d(ge){ge&&z(n),ce&&ce.d(),Ce=!1,Gs(he)}}}function bv(c){let n,s,o;function f(C){c[9](C)}let p={size:"sm",$$slots:{default:[mv]},$$scope:{ctx:c}};return c[0]!==void 0&&(p.show=c[0]),n=new Bl({props:p}),Br.push(()=>As(n,"show",f)),{c(){Kt(n.$$.fragment)},l(C){Zt(n.$$.fragment,C)},m(C,b){Xt(n,C,b),o=!0},p(C,[b]){const k={};b&2063&&(k.$$scope={dirty:b,ctx:C}),!s&&b&1&&(s=!0,k.show=C[0],ts(()=>s=!1)),n.$set(k)},i(C){o||(at(n.$$.fragment,C),o=!0)},o(C){dt(n.$$.fragment,C),o=!1},d(C){qt(n,C)}}}function Cv(c,n,s){let o;const f=Wn();let{show:p}=n;const C=Aa("i18n");jA(c,C,O=>s(3,o=O));let b=!1,k="";const E=async()=>{s(1,b=!0);const O=await $8(localStorage.token,k).catch(j=>(gr.error(`${j}`),null));O&&(console.log(O),gr.success(o.t("Memory added successfully")),s(2,k=""),s(0,p=!1),f("save")),s(1,b=!1)},B=()=>{s(0,p=!1)};function G(){k=this.value,s(2,k)}const D=()=>{E()};function _(O){p=O,s(0,p)}return c.$$set=O=>{"show"in O&&s(0,p=O.show)},[p,b,k,o,C,E,B,G,D,_]}class Iv extends vs{constructor(n){super(),ys(this,n,Cv,bv,ks,{show:0})}}new TextEncoder;function yp(c){let n,s=`<svg class="w-4 h-4" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><style>.spinner_ajPY {
2821												transform-origin: center;
2822												animation: spinner_AtaB 0.75s infinite linear;
2823											}
2824											@keyframes spinner_AtaB {
2825												100% {
2826													transform: rotate(360deg);
2827												}
2828											}
2829										</style><path d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z" opacity=".25"></path><path d="M10.14,1.16a11,11,0,0,0-9,8.92A1.59,1.59,0,0,0,2.46,12,1.52,1.52,0,0,0,4.11,10.7a8,8,0,0,1,6.66-6.61A1.42,1.42,0,0,0,12,2.69h0A1.57,1.57,0,0,0,10.14,1.16Z" class="spinner_ajPY"></path></svg>`;return{c(){n=q("div"),n.innerHTML=s,this.h()},l(o){n=J(o,"DIV",{class:!0,"data-svelte-h":!0}),hr(n)!=="svelte-1vuzrxa"&&(n.innerHTML=s),this.h()},h(){V(n,"class","ml-2 self-center")},m(o,f){He(o,n,f)},d(o){o&&z(n)}}}function wv(c){let n,s,o,f=c[3].t("Edit Memory")+"",p,C,b,k='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5"><path d="M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z"></path></svg>',E,B,G,D,_,O,j,U,H,Z,X=c[3].t('Refer to yourself as "User" (e.g., "User is learning Spanish")')+"",g,v,e,d,T=c[3].t("Update")+"",re,N,F,Ce,he,ce=c[1]&&yp();return{c(){n=q("div"),s=q("div"),o=q("div"),p=Xe(f),C=Pe(),b=q("button"),b.innerHTML=k,E=Pe(),B=q("div"),G=q("div"),D=q("form"),_=q("div"),O=q("textarea"),U=Pe(),H=q("div"),Z=Xe("ⓘ "),g=Xe(X),v=Pe(),e=q("div"),d=q("button"),re=Xe(T),N=Pe(),ce&&ce.c(),this.h()},l(ge){n=J(ge,"DIV",{});var Me=$(n);s=J(Me,"DIV",{class:!0});var Ue=$(s);o=J(Ue,"DIV",{class:!0});var Ne=$(o);p=qe(Ne,f),Ne.forEach(z),C=Se(Ue),b=J(Ue,"BUTTON",{class:!0,"data-svelte-h":!0}),hr(b)!=="svelte-745w2y"&&(b.innerHTML=k),Ue.forEach(z),E=Se(Me),B=J(Me,"DIV",{class:!0});var de=$(B);G=J(de,"DIV",{class:!0});var me=$(G);D=J(me,"FORM",{class:!0});var we=$(D);_=J(we,"DIV",{class:!0});var _e=$(_);O=J(_e,"TEXTAREA",{class:!0,rows:!0,placeholder:!0}),$(O).forEach(z),U=Se(_e),H=J(_e,"DIV",{class:!0});var pe=$(H);Z=qe(pe,"ⓘ "),g=qe(pe,X),pe.forEach(z),_e.forEach(z),v=Se(we),e=J(we,"DIV",{class:!0});var it=$(e);d=J(it,"BUTTON",{class:!0,type:!0});var We=$(d);
2829re=qe(We,T),N=Se(We),ce&&ce.l(We),We.forEach(z),it.forEach(z),we.forEach(z),me.forEach(z),de.forEach(z),Me.forEach(z),this.h()},h(){V(o,"class","text-lg font-medium self-center"),V(b,"class","self-center"),V(s,"class","flex justify-between dark:text-gray-300 px-5 pt-4 pb-2"),V(O,"class","bg-transparent w-full text-sm resize-none rounded-xl p-3 outline outline-1 outline-gray-100 dark:outline-gray-800"),V(O,"rows","3"),V(O,"placeholder",j=c[3].t("Enter a detail about yourself for your LLMs to recall")),V(H,"class","text-xs text-gray-500"),V(_,"class",""),V(d,"class",F="px-4 py-2 bg-emerald-700 hover:bg-emerald-800 text-gray-100 transition rounded-3xl flex flex-row space-x-1 items-center "+(c[1]?" cursor-not-allowed":"")),V(d,"type","submit"),d.disabled=c[1],V(e,"class","flex justify-end pt-1 text-sm font-medium"),V(D,"class","flex flex-col w-full"),V(G,"class","flex flex-col w-full sm:flex-row sm:justify-center sm:space-x-6"),V(B,"class","flex flex-col md:flex-row w-full px-5 pb-4 md:space-x-4 dark:text-gray-200")},m(ge,Me){He(ge,n,Me),Q(n,s),Q(s,o),Q(o,p),Q(s,C),Q(s,b),Q(n,E),Q(n,B),Q(B,G),Q(G,D),Q(D,_),Q(_,O),cr(O,c[2]),Q(_,U),Q(_,H),Q(H,Z),Q(H,g),Q(D,v),Q(D,e),Q(e,d),Q(d,re),Q(d,N),ce&&ce.m(d,null),Ce||(he=[Pt(b,"click",c[7]),Pt(O,"input",c[8]),Pt(D,"submit",H0(c[9]))],Ce=!0)},p(ge,Me){Me&8&&f!==(f=ge[3].t("Edit Memory")+"")&&st(p,f),Me&8&&j!==(j=ge[3].t("Enter a detail about yourself for your LLMs to recall"))&&V(O,"placeholder",j),Me&4&&cr(O,ge[2]),Me&8&&X!==(X=ge[3].t('Refer to yourself as "User" (e.g., "User is learning Spanish")')+"")&&st(g,X),Me&8&&T!==(T=ge[3].t("Update")+"")&&st(re,T),ge[1]?ce||(ce=yp(),ce.c(),ce.m(d,null)):ce&&(ce.d(1),ce=null),Me&2&&F!==(F="px-4 py-2 bg-emerald-700 hover:bg-emerald-800 text-gray-100 transition rounded-3xl flex flex-row space-x-1 items-center "+(ge[1]?" cursor-not-allowed":""))&&V(d,"class",F),Me&2&&(d.disabled=ge[1])},d(ge){ge&&z(n),ce&&ce.d(),Ce=!1,Gs(he)}}}function kv(c){let n,s,o;function f(C){c[10](C)}let p={size:"sm",$$slots:{default:[wv]},$$scope:{ctx:c}};return c[0]!==void 0&&(p.show=c[0]),n=new Bl({props:p}),Br.push(()=>As(n,"show",f)),{c(){Kt(n.$$.fragment)},l(C){Zt(n.$$.fragment,C)},m(C,b){Xt(n,C,b),o=!0},p(C,[b]){const k={};b&8207&&(k.$$scope={dirty:b,ctx:C}),!s&&b&1&&(s=!0,k.show=C[0],ts(()=>s=!1)),n.$set(k)},i(C){o||(at(n.$$.fragment,C),o=!0)},o(C){dt(n.$$.fragment,C),o=!1},d(C){qt(n,C)}}}function vv(c,n,s){let o;const f=Wn();let{show:p}=n,{memory:C={}}=n;const b=Aa("i18n");jA(c,b,U=>s(3,o=U));let k=!1,E="";const B=()=>{s(2,E=C.content)},G=async()=>{s(1,k=!0);const U=await eC(localStorage.token,C.id,E).catch(H=>(gr.error(`${H}`),null));U&&(console.log(U),gr.success(o.t("Memory updated successfully")),f("save"),s(0,p=!1)),s(1,k=!1)},D=()=>{s(0,p=!1)};function _(){E=this.value,s(2,E)}const O=()=>{G()};function j(U){p=U,s(0,p)}return c.$$set=U=>{"show"in U&&s(0,p=U.show),"memory"in U&&s(6,C=U.memory)},c.$$.update=()=>{c.$$.dirty&1&&p&&B()},[p,k,E,o,b,G,C,D,_,O,j]}class yv extends vs{constructor(n){super(),ys(this,n,vv,kv,ks,{show:0,memory:6})}}function Ep(c,n,s){const o=c.slice();return o[22]=n[s],o}function Ev(c){let n,s,o=c[6].t("Memories accessible by LLMs will be shown here.")+"",f;return{c(){n=q("div"),s=q("div"),f=Xe(o),this.h()},l(p){n=J(p,"DIV",{class:!0});var C=$(n);s=J(C,"DIV",{class:!0});var b=$(s);f=qe(b,o),b.forEach(z),C.forEach(z),this.h()},h(){V(s,"class","my-auto pb-10 px-4 w-full text-gray-500"),V(n,"class","text-center flex h-full text-sm w-full")},m(p,C){He(p,n,C),Q(n,s),Q(s,f)},p(p,C){C&64&&o!==(o=p[6].t("Memories accessible by LLMs will be shown here.")+"")&&st(f,o)},i:qA,o:qA,d(p){p&&z(n)}}}function Bv(c){let n,s,o,f,p,C,b=c[6].t("Name")+"",k,E,B,G=c[6].t("Last Modified")+"",D,_,O,j,U,H,Z=Ur(c[1]),X=[];for(let v=0;v<Z.length;v+=1)X[v]=Bp(Ep(c,Z,v));const g=v=>dt(X[v],1,1,()=>{X[v]=null});return{c(){n=q("div"),s=q("div"),o=q("table"),f=q("thead"),p=q("tr"),C=q("th"),k=Xe(b),E=Pe(),B=q("th"),D=Xe(G),_=Pe(),O=q("th"),j=Pe(),U=q("tbody");for(let v=0;v<X.length;v+=1)X[v].c();this.h()},l(v){n=J(v,"DIV",{class:!0});var e=$(n);s=J(e,"DIV",{class:!0});var d=$(s);o=J(d,"TABLE",{class:!0});var T=$(o);f=J(T,"THEAD",{class:!0});var re=$(f);p=J(re,"TR",{});var N=$(p);C=J(N,"TH",{scope:!0,class:!0});var F=$(C);k=qe(F,b),F.forEach(z),E=Se(N),B=J(N,"TH",{scope:!0,class:!0});var Ce=$(B);
2829D=qe(Ce,G),Ce.forEach(z),_=Se(N),O=J(N,"TH",{scope:!0,class:!0}),$(O).forEach(z),N.forEach(z),re.forEach(z),j=Se(T),U=J(T,"TBODY",{});var he=$(U);for(let ce=0;ce<X.length;ce+=1)X[ce].l(he);he.forEach(z),T.forEach(z),d.forEach(z),e.forEach(z),this.h()},h(){V(C,"scope","col"),V(C,"class","px-3 py-2"),V(B,"scope","col"),V(B,"class","px-3 py-2 hidden md:flex"),V(O,"scope","col"),V(O,"class","px-3 py-2 text-right"),V(f,"class","text-xs text-gray-700 uppercase bg-transparent dark:text-gray-200 border-b-2 border-gray-50 dark:border-gray-850"),V(o,"class","w-full text-sm text-left text-gray-600 dark:text-gray-400 table-auto"),V(s,"class","relative overflow-x-auto"),V(n,"class","text-left text-sm w-full mb-4 overflow-y-scroll")},m(v,e){He(v,n,e),Q(n,s),Q(s,o),Q(o,f),Q(f,p),Q(p,C),Q(C,k),Q(p,E),Q(p,B),Q(B,D),Q(p,_),Q(p,O),Q(o,j),Q(o,U);for(let d=0;d<X.length;d+=1)X[d]&&X[d].m(U,null);H=!0},p(v,e){if((!H||e&64)&&b!==(b=v[6].t("Name")+"")&&st(k,b),(!H||e&64)&&G!==(G=v[6].t("Last Modified")+"")&&st(D,G),e&90){Z=Ur(v[1]);let d;for(d=0;d<Z.length;d+=1){const T=Ep(v,Z,d);X[d]?(X[d].p(T,e),at(X[d],1)):(X[d]=Bp(T),X[d].c(),at(X[d],1),X[d].m(U,null))}for(zr(),d=Z.length;d<X.length;d+=1)g(d);Fr()}},i(v){if(!H){for(let e=0;e<Z.length;e+=1)at(X[e]);H=!0}},o(v){X=X.filter(Boolean);for(let e=0;e<X.length;e+=1)dt(X[e]);H=!1},d(v){v&&z(n),Un(X,v)}}}function xv(c){let n,s='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-4 h-4 s-FoVA_WMOgxUD"><path stroke-linecap="round" stroke-linejoin="round" d="m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L6.832 19.82a4.5 4.5 0 0 1-1.897 1.13l-2.685.8.8-2.685a4.5 4.5 0 0 1 1.13-1.897L16.863 4.487Zm0 0L19.5 7.125" class="s-FoVA_WMOgxUD"></path></svg>',o,f;function p(){return c[11](c[22])}return{c(){n=q("button"),n.innerHTML=s,this.h()},l(C){n=J(C,"BUTTON",{class:!0,"data-svelte-h":!0}),hr(n)!=="svelte-1hkti8u"&&(n.innerHTML=s),this.h()},h(){V(n,"class","self-center w-fit text-sm px-2 py-2 hover:bg-black/5 dark:hover:bg-white/5 rounded-xl")},m(C,b){He(C,n,b),o||(f=Pt(n,"click",p),o=!0)},p(C,b){c=C},d(C){C&&z(n),o=!1,f()}}}function Mv(c){let n,s='<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-4 h-4"><path stroke-linecap="round" stroke-linejoin="round" d="m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0"></path></svg>',o,f;function p(){return c[12](c[22])}return{c(){n=q("button"),n.innerHTML=s,this.h()},l(C){n=J(C,"BUTTON",{class:!0,"data-svelte-h":!0}),hr(n)!=="svelte-1uabthr"&&(n.innerHTML=s),this.h()},h(){V(n,"class","self-center w-fit text-sm px-2 py-2 hover:bg-black/5 dark:hover:bg-white/5 rounded-xl")},m(C,b){He(C,n,b),o||(f=Pt(n,"click",p),o=!0)},p(C,b){c=C},d(C){C&&z(n),o=!1,f()}}}function Bp(c){let n,s,o,f=c[22].content+"",p,C,b,k,E=D2(c[22].updated_at*1e3).format("LLL")+"",B,G,D,_,O,j,U,H,Z;return O=new jn({props:{content:"Edit",$$slots:{default:[xv]},$$scope:{ctx:c}}}),U=new jn({props:{content:"Delete",$$slots:{default:[Mv]},$$scope:{ctx:c}}}),{c(){n=q("tr"),s=q("td"),o=q("div"),p=Xe(f),C=Pe(),b=q("td"),k=q("div"),B=Xe(E),G=Pe(),D=q("td"),_=q("div"),Kt(O.$$.fragment),j=Pe(),Kt(U.$$.fragment),H=Pe(),this.h()},l(X){n=J(X,"TR",{class:!0});var g=$(n);s=J(g,"TD",{class:!0});var v=$(s);o=J(v,"DIV",{class:!0});var e=$(o);p=qe(e,f),e.forEach(z),v.forEach(z),C=Se(g),b=J(g,"TD",{class:!0});var d=$(b);k=J(d,"DIV",{class:!0});var T=$(k);B=qe(T,E),T.forEach(z),d.forEach(z),G=Se(g),D=J(g,"TD",{class:!0});var re=$(D);_=J(re,"DIV",{class:!0});var N=$(_);Zt(O.$$.fragment,N),j=Se(N),Zt(U.$$.fragment,N),N.forEach(z),re.forEach(z),H=Se(g),g.forEach(z),this.h()},h(){V(o,"class","line-clamp-1"),V(s,"class","px-3 py-1"),V(k,"class","my-auto whitespace-nowrap"),V(b,"class","px-3 py-1 hidden md:flex h-[2.5rem]"),V(_,"class","flex justify-end w-full"),V(D,"class","px-3 py-1"),V(n,"class","border-b border-gray-50 dark:border-gray-850 items-center")},m(X,g){He(X,n,g),Q(n,s),Q(s,o),Q(o,p),Q(n,C),Q(n,b),Q(b,k),Q(k,B),Q(n,G),Q(n,D),Q(D,_),Xt(O,_,null),Q(_,j),Xt(U,_,null),Q(n,H),Z=!0}
2829,p(X,g){(!Z||g&2)&&f!==(f=X[22].content+"")&&st(p,f),(!Z||g&2)&&E!==(E=D2(X[22].updated_at*1e3).format("LLL")+"")&&st(B,E);const v={};g&33554458&&(v.$$scope={dirty:g,ctx:X}),O.$set(v);const e={};g&33554498&&(e.$$scope={dirty:g,ctx:X}),U.$set(e)},i(X){Z||(at(O.$$.fragment,X),at(U.$$.fragment,X),Z=!0)},o(X){dt(O.$$.fragment,X),dt(U.$$.fragment,X),Z=!1},d(X){X&&z(n),qt(O),qt(U)}}}function Dv(c){let n,s,o,f=c[6].t("Memory")+"",p,C,b,k='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5"><path d="M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z"></path></svg>',E,B,G,D,_,O,j,U,H=c[6].t("Add Memory")+"",Z,X,g,v=c[6].t("Clear memory")+"",e,d,T,re;const N=[Bv,Ev],F=[];function Ce(he,ce){return he[1].length>0?0:1}return D=Ce(c),_=F[D]=N[D](c),{c(){n=q("div"),s=q("div"),o=q("div"),p=Xe(f),C=Pe(),b=q("button"),b.innerHTML=k,E=Pe(),B=q("div"),G=q("div"),_.c(),O=Pe(),j=q("div"),U=q("button"),Z=Xe(H),X=Pe(),g=q("button"),e=Xe(v),this.h()},l(he){n=J(he,"DIV",{});var ce=$(n);s=J(ce,"DIV",{class:!0});var ge=$(s);o=J(ge,"DIV",{class:!0});var Me=$(o);p=qe(Me,f),Me.forEach(z),C=Se(ge),b=J(ge,"BUTTON",{class:!0,"data-svelte-h":!0}),hr(b)!=="svelte-745w2y"&&(b.innerHTML=k),ge.forEach(z),E=Se(ce),B=J(ce,"DIV",{class:!0});var Ue=$(B);G=J(Ue,"DIV",{class:!0});var Ne=$(G);_.l(Ne),Ne.forEach(z),O=Se(Ue),j=J(Ue,"DIV",{class:!0});var de=$(j);U=J(de,"BUTTON",{class:!0});var me=$(U);Z=qe(me,H),me.forEach(z),X=Se(de),g=J(de,"BUTTON",{class:!0});var we=$(g);e=qe(we,v),we.forEach(z),de.forEach(z),Ue.forEach(z),ce.forEach(z),this.h()},h(){V(o,"class","text-lg font-medium self-center"),V(b,"class","self-center"),V(s,"class","flex justify-between dark:text-gray-300 px-5 pt-4 pb-1"),V(G,"class","flex flex-col w-full sm:flex-row sm:justify-center sm:space-x-6 h-[28rem] max-h-screen outline outline-1 rounded-xl outline-gray-100 dark:outline-gray-800 mb-4 mt-1"),V(U,"class","px-3.5 py-1.5 font-medium hover:bg-black/5 dark:hover:bg-white/5 outline outline-1 outline-gray-300 dark:outline-gray-800 rounded-3xl"),V(g,"class","px-3.5 py-1.5 font-medium text-red-500 hover:bg-black/5 dark:hover:bg-white/5 outline outline-1 outline-red-300 dark:outline-red-800 rounded-3xl"),V(j,"class","flex text-sm font-medium gap-1.5"),V(B,"class","flex flex-col w-full px-5 pb-5 dark:text-gray-200")},m(he,ce){He(he,n,ce),Q(n,s),Q(s,o),Q(o,p),Q(s,C),Q(s,b),Q(n,E),Q(n,B),Q(B,G),F[D].m(G,null),Q(B,O),Q(B,j),Q(j,U),Q(U,Z),Q(j,X),Q(j,g),Q(g,e),d=!0,T||(re=[Pt(b,"click",c[10]),Pt(U,"click",c[13]),Pt(g,"click",c[14])],T=!0)},p(he,ce){(!d||ce&64)&&f!==(f=he[6].t("Memory")+"")&&st(p,f);let ge=D;D=Ce(he),D===ge?F[D].p(he,ce):(zr(),dt(F[ge],1,1,()=>{F[ge]=null}),Fr(),_=F[D],_?_.p(he,ce):(_=F[D]=N[D](he),_.c()),at(_,1),_.m(G,null)),(!d||ce&64)&&H!==(H=he[6].t("Add Memory")+"")&&st(Z,H),(!d||ce&64)&&v!==(v=he[6].t("Clear memory")+"")&&st(e,v)},i(he){d||(at(_),d=!0)},o(he){dt(_),d=!1},d(he){he&&z(n),F[D].d(),T=!1,Gs(re)}}}function Gv(c){let n,s,o,f,p,C,b,k,E,B,G;function D(Z){c[15](Z)}let _={size:"xl",$$slots:{default:[Dv]},$$scope:{ctx:c}};c[0]!==void 0&&(_.show=c[0]),n=new Bl({props:_}),Br.push(()=>As(n,"show",D)),f=new O2({props:{title:c[6].t("Clear Memory"),message:c[6].t("Are you sure you want to clear all memories? This action cannot be undone."),show:c[5]}}),f.$on("confirm",c[8]),f.$on("cancel",c[16]);function O(Z){c[17](Z)}let j={};c[2]!==void 0&&(j.show=c[2]),C=new Iv({props:j}),Br.push(()=>As(C,"show",O)),C.$on("save",c[18]);function U(Z){c[19](Z)}let H={memory:c[4]};return c[3]!==void 0&&(H.show=c[3]),E=new yv({props:H}),Br.push(()=>As(E,"show",U)),E.$on("save",c[20]),{c(){Kt(n.$$.fragment),o=Pe(),Kt(f.$$.fragment),p=Pe(),Kt(C.$$.fragment),k=Pe(),Kt(E.$$.fragment)},l(Z){Zt(n.$$.fragment,Z),o=Se(Z),Zt(f.$$.fragment,Z),p=Se(Z),Zt(C.$$.fragment,Z),k=Se(Z),Zt(E.$$.fragment,Z)},m(Z,X){Xt(n,Z,X),He(Z,o,X),Xt(f,Z,X),He(Z,p,X),Xt(C,Z,X),He(Z,k,X),Xt(E,Z,X),G=!0},p(Z,[X]){const g={};X&33554559&&(g.$$scope={dirty:X,ctx:Z}),!s&&X&1&&(s=!0,g.show=Z[0],ts(()=>s=!1)),n.$set(g);const v={};X&64&&(v.title=Z[6].t("Clear Memory")),X&64&&(v.message=Z[6].t("Are you sure you want to clear all memories? This action cannot be undone.")),X&32&&(v.show=Z[5]),f.$set(v);const e={};!b&&X&4&&(b=!0,e.show=Z[2],ts(()=>b=!1)),C.$set(e);const d={};X&16&&(d.memory=Z[4]),!B&&X&8&&(B=!0,d.show=Z[3],ts(()=>B=!1)),E.$set(d)},i(Z){G||(at(n.$$.fragment,Z),at(f.$$.fragment,Z),at(C.$$.fragment,Z),at(E.$$.fragment,Z),G=!0)},o(Z){dt(n.$$.fragment,Z),dt(f.$$.fragment,Z),dt(C.$$.fragment,Z),dt(E.$$.fragment,Z),G=!1},d(Z){Z&&(z(o),z(p),z(k)),qt(n,Z),qt(f,Z),qt(C,Z),qt(E,Z)}}}function _v(c,n,s){let o;Wn();const f=Aa("i18n");jA(c,f,T=>s(6,o=T)),D2.extend(rm);let{show:p=!1}=n,C=[],b=!0,k=!1,E=!1,B=null,G=!1,D=async()=>{await tC(localStorage.token).catch(re=>(gr.error(`${re}`),null))&&C.length>0&&(gr.success(o.t("Memory cleared successfully")),s(1,C=[])),s(5,G=!1)};const _=()=>{s(0,p=!1)},O=T=>{s(4,B=T),s(3,E=!0)},j=async T=>{await AC(localStorage.token,T.id).catch(N=>(gr.error(`${N}`),null))&&(gr.success(o.t("Memory deleted successfully")),s(1,C=await V1(localStorage.token)))},U=()=>{s(2,k=!0)},H=()=>{C.length>0?s(5,G=!0):gr.error(o.t("No memories to clear"))};function Z(T){p=T,s(0,p)}const X=()=>{s(5,G=!1)};function g(T){k=T,s(2,k)}const v=async()=>{s(1,C=await V1(localStorage.token))};function e(T){E=T,s(3,E)}const d=async()=>{s(1,C=await V1(localStorage.token))};return c.$$set=T=>{"show"in T&&s(0,p=T.show)},c.$$.update=()=>{c.$$.dirty&515&&p&&C.length===0&&b&&(async()=>(s(1,C=await V1(localStorage.token)),s(9,b=!1)))()},[p,C,k,E,B,G,o,f,D,b,_,O,j,U,H,Z,X,g,v,e,d]}class Tv extends vs{constructor(n){super(),ys(this,n,_v,Gv,ks,{show:0})}}function Qv(c){let n,s=c[3].t("Memory")+"",o,f,p,C,b=c[3].t("Experimental")+"",k,E;return{c(){n=q("div"),o=Xe(s),f=Pe(),p=q("span"),C=Xe("("),k=Xe(b),E=Xe(")"),this.h()},l(B){n=J(B,"DIV",{class:!0});var G=$(n);o=qe(G,s),f=Se(G),p=J(G,"SPAN",{class:!0});var D=$(p);C=qe(D,"("),k=qe(D,b),E=qe(D,")"),D.forEach(z),G.forEach(z),this.h()},h(){V(p,"class","text-xs text-gray-500"),V(n,"class","text-sm font-medium")},m(B,G){He(B,n,G),Q(n,o),Q(n,f),Q(n,p),Q(p,C),Q(p,k),Q(p,E)},p(B,G){G&8&&s!==(s=B[3].t("Memory")+"")&&st(o,s),G&8&&b!==(b=B[3].t("Experimental")+"")&&st(k,b)},d(B){B&&z(n)}}}function Pv(c){let n,s,o,f,p,C,b,k,E,B,G,D,_,O,j,U=c[3].t("You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.")+"",H,Z,X,g,v=c[3].t("Manage")+"",e,d,T,re,N=c[3].t("Save")+"",F,Ce,he,ce;function ge(de){c[6](de)}let Me={};c[1]!==void 0&&(Me.show=c[1]),n=new Tv({props:Me}),Br.push(()=>As(n,"show",ge)),k=new jn({props:{content:c[3].t("This is an experimental feature, it may not function as expected and is subject to change at any time."),$$slots:{default:[Qv]},$$scope:{ctx:c}}});function Ue(de){c[7](de)}let Ne={};return c[2]!==void 0&&(Ne.state=c[2]),G=new Im({props:Ne}),Br.push(()=>As(G,"state",Ue)),G.$on("change",c[8]),{c(){Kt(n.$$.fragment),o=Pe(),f=q("form"),p=q("div"),C=q("div"),b=q("div"),Kt(k.$$.fragment),E=Pe(),B=q("div"),Kt(G.$$.fragment),_=Pe(),O=q("div"),j=q("div"),H=Xe(U),Z=Pe(),X=q("div"),g=q("button"),e=Xe(v),d=Pe(),T=q("div"),re=q("button"),F=Xe(N),this.h()},l(de){Zt(n.$$.fragment,de),o=Se(de),f=J(de,"FORM",{class:!0});var me=$(f);p=J(me,"DIV",{class:!0});var we=$(p);C=J(we,"DIV",{});var _e=$(C);b=J(_e,"DIV",{class:!0});var pe=$(b);Zt(k.$$.fragment,pe),E=Se(pe),B=J(pe,"DIV",{class:!0});var it=$(B);Zt(G.$$.fragment,it),it.forEach(z),pe.forEach(z),_e.forEach(z),_=Se(we),O=J(we,"DIV",{class:!0});var We=$(O);j=J(We,"DIV",{});var ot=$(j);H=qe(ot,U),ot.forEach(z),We.forEach(z),Z=Se(we),X=J(we,"DIV",{class:!0});var pt=$(X);g=J(pt,"BUTTON",{type:!0,class:!0});var ct=$(g);e=qe(ct,v),ct.forEach(z),pt.forEach(z),we.forEach(z),d=Se(me),T=J(me,"DIV",{class:!0});var Re=$(T);re=J(Re,"BUTTON",{class:!0,type:!0});var tt=$(re);F=qe(tt,N),tt.forEach(z),Re.forEach(z),me.forEach(z),this.h()},h(){V(B,"class",""),V(b,"class","flex items-center justify-between mb-1"),V(O,"class","text-xs text-gray-600 dark:text-gray-400"),V(g,"type","button"),V(g,"class","px-3.5 py-1.5 font-medium hover:bg-black/5 dark:hover:bg-white/5 outline outline-1 outline-gray-300 dark:outline-gray-800 rounded-3xl"),V(X,"class","mt-3 mb-1 ml-1"),V(p,"class","py-1 overflow-y-scroll max-h-[28rem] lg:max-h-full"),V(re,"class","px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"),V(re,"type","submit"),V(T,"class","flex justify-end text-sm font-medium"),V(f,"class","flex flex-col h-full justify-between space-y-3 text-sm")},m(de,me){Xt(n,de,me),He(de,o,me),He(de,f,me),Q(f,p),Q(p,C),Q(C,b),Xt(k,b,null),Q(b,E),Q(b,B),Xt(G,B,null),Q(p,_),Q(p,O),Q(O,j),Q(j,H),Q(p,Z),Q(p,X),Q(X,g),Q(g,e),Q(f,d),Q(f,T),Q(T,re),Q(re,F),Ce=!0,he||(ce=[Pt(g,"click",c[9]),Pt(f,"submit",H0(c[10]))],he=!0)},p(de,[me]){const we={};!s&&me&2&&(s=!0,we.show=de[1],ts(()=>s=!1)),n.$set(we);const _e={};me&8&&(_e.content=de[3].t("This is an experimental feature, it may not function as expected and is subject to change at any time.")),me&4104&&(_e.$$scope={dirty:me,ctx:de}),k.$set(_e);const pe={};!D&&me&4&&(D=!0,pe.state=de[2],ts(()=>D=!1)),G.$set(pe),(!Ce||me&8)&&U!==(U=de[3].t("You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.")+"")&&st(H,U),(!Ce||me&8)&&v!==(v=de[3].t("Manage")+"")&&st(e,v),(!Ce||me&8)&&N!==(N=de[3].t("Save")+"")&&st(F,N)},i(de){Ce||(at(n.$$.fragment,de),at(k.$$.fragment,de),at(G.$$.fragment,de),Ce=!0)},o(de){dt(n.$$.fragment,de),dt(k.$$.fragment,de),dt(G.$$.fragment,de),Ce=!1},d(de){de&&(z(o),z(f)),qt(n,de),qt(k),qt(G),he=!1,Gs(ce)}}}function Sv(c,n,s){let o,f;jA(c,no,j=>s(11,o=j));const p=Wn(),C=Aa("i18n");jA(c,C,j=>s(3,f=j));let{saveSettings:b}=n,k=!1,E=!1;Kn(async()=>{s(2,E=(o==null?void 0:o.memory)??!1)});function B(j){k=j,s(1,k)}function G(j){E=j,s(2,E)}const D=async()=>{b({memory:E})},_=()=>{s(1,k=!0)},O=()=>{p("save")};return c.$$set=j=>
2829{"saveSettings"in j&&s(0,b=j.saveSettings)},[b,k,E,f,p,C,B,G,D,_,O]}class Nv extends vs{constructor(n){super(),ys(this,n,Sv,Pv,ks,{saveSettings:0})}}function xp(c){let n;return{c(){n=q("div"),this.h()},l(s){n=J(s,"DIV",{class:!0}),$(n).forEach(z),this.h()},h(){V(n,"class","absolute top-0 bottom-0 left-0 right-0 opacity-60 bg-white dark:bg-gray-900 z-10")},m(s,o){He(s,n,o)},d(s){s&&z(n)}}}function zv(c){var U;let n,s,o,f,p,C,b,k,E,B,G,D,_=!(((U=c[2])==null?void 0:U.enable)??!0)&&xp();function O(H){c[16](H)}let j={inputClassName:" outline-hidden bg-transparent w-full",placeholder:c[8].t("API Key")};return c[1]!==void 0&&(j.value=c[1]),k=new Ad({props:j}),Br.push(()=>As(k,"value",O)),{c(){_&&_.c(),n=Pe(),s=q("div"),o=q("div"),f=q("input"),b=Pe(),Kt(k.$$.fragment),this.h()},l(H){_&&_.l(H),n=Se(H),s=J(H,"DIV",{class:!0});var Z=$(s);o=J(Z,"DIV",{class:!0});var X=$(o);f=J(X,"INPUT",{class:!0,placeholder:!0,autocomplete:!0}),X.forEach(z),b=Se(Z),Zt(k.$$.fragment,Z),Z.forEach(z),this.h()},h(){V(f,"class",p="outline-hidden w-full bg-transparent "+(c[5]?"pr-8":"")),V(f,"placeholder",C=c[8].t("API Base URL")),V(f,"autocomplete","off"),V(o,"class","flex-1 relative"),V(s,"class","flex w-full")},m(H,Z){_&&_.m(H,Z),He(H,n,Z),He(H,s,Z),Q(s,o),Q(o,f),cr(f,c[0]),Q(s,b),Xt(k,s,null),B=!0,G||(D=Pt(f,"input",c[15]),G=!0)},p(H,Z){var g;((g=H[2])==null?void 0:g.enable)??!0?_&&(_.d(1),_=null):_||(_=xp(),_.c(),_.m(n.parentNode,n)),(!B||Z&32&&p!==(p="outline-hidden w-full bg-transparent "+(H[5]?"pr-8":"")))&&V(f,"class",p),(!B||Z&256&&C!==(C=H[8].t("API Base URL")))&&V(f,"placeholder",C),Z&1&&f.value!==H[0]&&cr(f,H[0]);const X={};Z&256&&(X.placeholder=H[8].t("API Key")),!E&&Z&2&&(E=!0,X.value=H[1],ts(()=>E=!1)),k.$set(X)},i(H){B||(at(k.$$.fragment,H),B=!0)},o(H){dt(k.$$.fragment,H),B=!1},d(H){H&&(z(n),z(s)),_&&_.d(H),qt(k),G=!1,D()}}}function Fv(c){let n,s,o,f,p;return s=new bm({}),{c(){n=q("button"),Kt(s.$$.fragment),this.h()},l(C){n=J(C,"BUTTON",{class:!0,type:!0});var b=$(n);Zt(s.$$.fragment,b),b.forEach(z),this.h()},h(){V(n,"class","self-center p-1 bg-transparent hover:bg-gray-100 dark:bg-gray-900 dark:hover:bg-gray-850 rounded-lg transition"),V(n,"type","button")},m(C,b){He(C,n,b),Xt(s,n,null),o=!0,f||(p=Pt(n,"click",c[17]),f=!0)},p:qA,i(C){o||(at(s.$$.fragment,C),o=!0)},o(C){dt(s.$$.fragment,C),o=!1},d(C){C&&z(n),qt(s),f=!1,p()}}}function Ov(c){let n,s,o,f,p,C,b,k,E,B,G,D;function _(H){c[12](H)}let O={edit:!0,direct:!0,connection:{url:c[0],key:c[1],config:c[2]},onDelete:c[10],onSubmit:c[11]};c[6]!==void 0&&(O.show=c[6]),n=new sm({props:O}),Br.push(()=>As(n,"show",_));function j(H){c[13](H)}let U={};return c[7]!==void 0&&(U.show=c[7]),f=new O2({props:U}),Br.push(()=>As(f,"show",j)),f.$on("confirm",c[14]),k=new jn({props:{className:"w-full relative",content:c[8].t('WebUI will make requests to "{{url}}/chat/completions"',{url:c[0]}),placement:"top-start",$$slots:{default:[zv]},$$scope:{ctx:c}}}),G=new jn({props:{content:c[8].t("Configure"),className:"self-start",$$slots:{default:[Fv]},$$scope:{ctx:c}}}),{c(){Kt(n.$$.fragment),o=Pe(),Kt(f.$$.fragment),C=Pe(),b=q("div"),Kt(k.$$.fragment),E=Pe(),B=q("div"),Kt(G.$$.fragment),this.h()},l(H){Zt(n.$$.fragment,H),o=Se(H),Zt(f.$$.fragment,H),C=Se(H),b=J(H,"DIV",{class:!0});var Z=$(b);Zt(k.$$.fragment,Z),E=Se(Z),B=J(Z,"DIV",{class:!0});var X=$(B);Zt(G.$$.fragment,X),X.forEach(z),Z.forEach(z),this.h()},h(){V(B,"class","flex gap-1"),V(b,"class","flex w-full gap-2 items-center")},m(H,Z){Xt(n,H,Z),He(H,o,Z),Xt(f,H,Z),He(H,C,Z),He(H,b,Z),Xt(k,b,null),Q(b,E),Q(b,B),Xt(G,B,null),D=!0},p(H,[Z]){const X={};Z&7&&(X.connection={url:H[0],key:H[1],config:H[2]}),Z&128&&(X.onDelete=H[10]),Z&23&&(X.onSubmit=H[11]),!s&&Z&64&&(s=!0,X.show=H[6],ts(()=>s=!1)),n.$set(X);const g={};!p&&Z&128&&(p=!0,g.show=H[7],ts(()=>p=!1)),f.$set(g);const v={};Z&257&&(v.content=H[8].t('WebUI will make requests to "{{url}}/chat/completions"',{url:H[0]})),Z&262439&&(v.$$scope={dirty:Z,ctx:H}),k.$set(v);const e={};Z&256&&(e.content=H[8].t("Configure")),Z&262208&&(e.$$scope={dirty:Z,ctx:H}),G.$set(e)},i(H){D||(at(n.$$.fragment,H),at(f.$$.fragment,H),at(k.$$.fragment,H),at(G.$$.fragment,H),D=!0)},o(H){dt(n.$$.fragment,H),dt(f.$$.fragment,H),dt(k.$$.fragment,H),dt(G.$$.fragment,H),D=!1},d(H){H&&(z(o),z(C),z(b)),qt(n,H),qt(f,H),qt(k),qt(G)}}}function Lv(c,n,s){let o;const f=Aa("i18n");jA(c,f,v=>s(8,o=v));let{onDelete:p=()=>{}}=n,{onSubmit:C=()=>{}}=n,{pipeline:b=!1}=n,{url:k=""}=n,{key:E=""}=n,{config:B={}}=n,G=!1,D=!1;const _=()=>{s(7,D=!0)},O=v=>{s(0,k=v.url),s(1,E=v.key),s(2,B=v.config),C(v)};
2829function j(v){G=v,s(6,G)}function U(v){D=v,s(7,D)}const H=()=>{p(),s(6,G=!1)};function Z(){k=this.value,s(0,k)}function X(v){E=v,s(1,E)}const g=()=>{s(6,G=!0)};return c.$$set=v=>{"onDelete"in v&&s(3,p=v.onDelete),"onSubmit"in v&&s(4,C=v.onSubmit),"pipeline"in v&&s(5,b=v.pipeline),"url"in v&&s(0,k=v.url),"key"in v&&s(1,E=v.key),"config"in v&&s(2,B=v.config)},[k,E,B,p,C,b,G,D,o,f,_,O,j,U,H,Z,X,g]}class Vv extends vs{constructor(n){super(),ys(this,n,Lv,Ov,ks,{onDelete:3,onSubmit:4,pipeline:5,url:0,key:1,config:2})}}function Mp(c,n,s){const o=c.slice();return o[17]=n[s],o[18]=n,o[19]=s,o}function Hv(c){let n,s,o,f;return o=new $u({props:{className:"size-6"}}),{c(){n=q("div"),s=q("div"),Kt(o.$$.fragment),this.h()},l(p){n=J(p,"DIV",{class:!0});var C=$(n);s=J(C,"DIV",{class:!0});var b=$(s);Zt(o.$$.fragment,b),b.forEach(z),C.forEach(z),this.h()},h(){V(s,"class","my-auto"),V(n,"class","flex h-full justify-center")},m(p,C){He(p,n,C),Q(n,s),Xt(o,s,null),f=!0},p:qA,i(p){f||(at(o.$$.fragment,p),f=!0)},o(p){dt(o.$$.fragment,p),f=!1},d(p){p&&z(n),qt(o)}}}function Yv(c){var N;
2829let n,s,o,f,p,C=c[2].t("Manage Direct Connections")+"",b,k,E,B,G,D,_,O,j=c[2].t("Connect to your own OpenAI compatible API endpoints.")+"",U,H,Z,X,g=c[2].t("CORS must be properly configured by the provider to allow requests from Open WebUI.")+"",v,e;E=new jn({props:{content:c[2].t("Add Connection"),$$slots:{default:[Rv]},$$scope:{ctx:c}}});let d=Ur(((N=c[0])==null?void 0:N.OPENAI_API_BASE_URLS)??[]),T=[];for(let F=0;F<d.length;F+=1)T[F]=Dp(Mp(c,d,F));const re=F=>dt(T[F],1,1,()=>{T[F]=null});return{c(){n=q("div"),s=q("div"),o=q("div"),f=q("div"),p=q("div"),b=Xe(C),k=Pe(),Kt(E.$$.fragment),B=Pe(),G=q("div");for(let F=0;F<T.length;F+=1)T[F].c();D=Pe(),_=q("div"),O=q("div"),U=Xe(j),H=Pe(),Z=q("br"),X=Pe(),v=Xe(g),this.h()},l(F){n=J(F,"DIV",{class:!0});var Ce=$(n);s=J(Ce,"DIV",{class:!0});var he=$(s);o=J(he,"DIV",{class:!0});var ce=$(o);f=J(ce,"DIV",{class:!0});var ge=$(f);p=J(ge,"DIV",{class:!0});var Me=$(p);b=qe(Me,C),Me.forEach(z),k=Se(ge),Zt(E.$$.fragment,ge),ge.forEach(z),B=Se(ce),G=J(ce,"DIV",{class:!0});var Ue=$(G);for(let me=0;me<T.length;me+=1)T[me].l(Ue);Ue.forEach(z),ce.forEach(z),D=Se(he),_=J(he,"DIV",{class:!0});var Ne=$(_);O=J(Ne,"DIV",{class:!0});var de=$(O);U=qe(de,j),H=Se(de),Z=J(de,"BR",{}),X=Se(de),v=qe(de,g),de.forEach(z),Ne.forEach(z),he.forEach(z),Ce.forEach(z),this.h()},h(){V(p,"class","font-medium"),V(f,"class","flex justify-between items-center mb-0.5"),V(G,"class","flex flex-col gap-1.5"),V(o,"class",""),V(O,"class","text-xs text-gray-500"),V(_,"class","my-1.5"),V(s,"class","pr-1.5"),V(n,"class","")},m(F,Ce){He(F,n,Ce),Q(n,s),Q(s,o),Q(o,f),Q(f,p),Q(p,b),Q(f,k),Xt(E,f,null),Q(o,B),Q(o,G);for(let he=0;he<T.length;he+=1)T[he]&&T[he].m(G,null);Q(s,D),Q(s,_),Q(_,O),Q(O,U),Q(O,H),Q(O,Z),Q(O,X),Q(O,v),e=!0},p(F,Ce){var ce;
2829(!e||Ce&4)&&C!==(C=F[2].t("Manage Direct Connections")+"")&&st(b,C);const he={};if(Ce&4&&(he.content=F[2].t("Add Connection")),Ce&1048578&&(he.$$scope={dirty:Ce,ctx:F}),E.$set(he),Ce&33){d=Ur(((ce=F[0])==null?void 0:ce.OPENAI_API_BASE_URLS)??[]);let ge;for(ge=0;ge<d.length;ge+=1){const Me=Mp(F,d,ge);T[ge]?(T[ge].p(Me,Ce),at(T[ge],1)):(T[ge]=Dp(Me),T[ge].c(),at(T[ge],1),T[ge].m(G,null))}for(zr(),ge=d.length;ge<T.length;ge+=1)re(ge);Fr()}(!e||Ce&4)&&j!==(j=F[2].t("Connect to your own OpenAI compatible API endpoints.")+"")&&st(U,j),(!e||Ce&4)&&g!==(g=F[2].t("CORS must be properly configured by the provider to allow requests from Open WebUI.")+"")&&st(v,g)},i(F){if(!e){at(E.$$.fragment,F);for(let Ce=0;Ce<d.length;Ce+=1)at(T[Ce]);e=!0}},o(F){dt(E.$$.fragment,F),T=T.filter(Boolean);for(let Ce=0;Ce<T.length;Ce+=1)dt(T[Ce]);e=!1},d(F){F&&z(n),qt(E),Un(T,F)}}}function Rv(c){let n,s,o,f,p;return s=new Af({}),{c(){n=q("button"),Kt(s.$$.fragment),this.h()},l(C){n=J(C,"BUTTON",{class:!0,type:!0});var b=$(n);Zt(s.$$.fragment,b),b.forEach(z),this.h()},h(){V(n,"class","px-1"),V(n,"type","button")},m(C,b){He(C,n,b),Xt(s,n,null),o=!0,f||(p=Pt(n,"click",c[8]),f=!0)},p:qA,i(C){o||(at(s.$$.fragment,C),o=!0)},o(C){dt(s.$$.fragment,C),o=!1},d(C){C&&z(n),qt(s),f=!1,p()}}}function Dp(c){let n,s,o,f,p;function C(){return c[10](c[19])}function b(G){c[11](G,c[17],c[18],c[19])}function k(G){c[12](G,c[19])}function E(G){c[13](G,c[19])}let B={onSubmit:c[9],onDelete:C};return c[17]!==void 0&&(B.url=c[17]),c[0].OPENAI_API_KEYS[c[19]]!==void 0&&(B.key=c[0].OPENAI_API_KEYS[c[19]]),c[0].OPENAI_API_CONFIGS[c[19]]!==void 0&&(B.config=c[0].OPENAI_API_CONFIGS[c[19]]),n=new Vv({props:B}),Br.push(()=>As(n,"url",b)),Br.push(()=>As(n,"key",k)),Br.push(()=>As(n,"config",E)),{c(){Kt(n.$$.fragment)},l(G){Zt(n.$$.fragment,G)},m(G,D){Xt(n,G,D),p=!0},p(G,D){c=G;const _={};D&1&&(_.onDelete=C),!s&&D&1&&(s=!0,_.url=c[17],ts(()=>s=!1)),!o&&D&1&&(o=!0,_.key=c[0].OPENAI_API_KEYS[c[19]],ts(()=>o=!1)),!f&&D&1&&(f=!0,_.config=c[0].OPENAI_API_CONFIGS[c[19]],ts(()=>f=!1)),n.$set(_)},i(G){p||(at(n.$$.fragment,G),p=!0)},o(G){dt(n.$$.fragment,G),p=!1},d(G){qt(n,G)}}}function jv(c){let n,s,o,f,p,C,b,k,E,B,G=c[2].t("Save")+"",D,_,O,j;function U(v){c[7](v)}let H={direct:!0,onSubmit:c[4]};c[1]!==void 0&&(H.show=c[1]),n=new sm({props:H}),Br.push(()=>As(n,"show",U));const Z=[Yv,Hv],X=[];function g(v,e){return v[0]!==null?0:1}return C=g(c),b=X[C]=Z[C](c),{c(){Kt(n.$$.fragment),o=Pe(),f=q("form"),p=q("div"),b.c(),k=Pe(),E=q("div"),B=q("button"),D=Xe(G),this.h()},l(v){Zt(n.$$.fragment,v),o=Se(v),f=J(v,"FORM",{class:!0});var e=$(f);p=J(e,"DIV",{class:!0});var d=$(p);b.l(d),d.forEach(z),k=Se(e),E=J(e,"DIV",{class:!0});var T=$(E);B=J(T,"BUTTON",{class:!0,type:!0});var re=$(B);D=qe(re,G),re.forEach(z),T.forEach(z),e.forEach(z),this.h()},h(){V(p,"class","overflow-y-scroll scrollbar-hidden h-full"),V(B,"class","px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"),V(B,"type","submit"),V(E,"class","flex justify-end pt-3 text-sm font-medium"),V(f,"class","flex flex-col h-full justify-between text-sm")},m(v,e){Xt(n,v,e),He(v,o,e),He(v,f,e),Q(f,p),X[C].m(p,null),Q(f,k),Q(f,E),Q(E,B),Q(B,D),_=!0,O||(j=Pt(f,"submit",H0(c[14])),O=!0)},p(v,[e]){const d={};!s&&e&2&&(s=!0,d.show=v[1],ts(()=>s=!1)),n.$set(d);let T=C;C=g(v),C===T?X[C].p(v,e):(zr(),dt(X[T],1,1,()=>{X[T]=null}),Fr(),b=X[C],b?b.p(v,e):(b=X[C]=Z[C](v),b.c()),at(b,1),b.m(p,null)),(!_||e&4)&&G!==(G=v[2].t("Save")+"")&&st(D,G)},i(v){_||(at(n.$$.fragment,v),at(b),_=!0)},o(v){dt(n.$$.fragment,v),dt(b),_=!1},d(v){v&&(z(o),z(f)),qt(n,v),X[C].d(),O=!1,j()}}}function Wv(c,n,s){let o,f;jA(c,no,X=>s(15,o=X)),Wn();const p=Aa("i18n");jA(c,p,X=>s(2,f=X));let{saveSettings:C}=n,b=null,k=!1;const E=async X=>{b.OPENAI_API_BASE_URLS.push(X.url),b.OPENAI_API_KEYS.push(X.key),s(0,b.OPENAI_API_CONFIGS[b.OPENAI_API_BASE_URLS.length-1]=X.config,b),await B()},B=async()=>{if(s(0,b.OPENAI_API_BASE_URLS=b.OPENAI_API_BASE_URLS.map(X=>X.replace(/\/$/,"")),b),b.OPENAI_API_KEYS.length!==b.OPENAI_API_BASE_URLS.length&&(b.OPENAI_API_KEYS.length>b.OPENAI_API_BASE_URLS.length&&s(0,b.OPENAI_API_KEYS=b.OPENAI_API_KEYS.slice(0,b.OPENAI_API_BASE_URLS.length),b),b.OPENAI_API_KEYS.length<b.OPENAI_API_BASE_URLS.length)){const X=b.OPENAI_API_BASE_URLS.length-b.OPENAI_API_KEYS.length;for(let g=0;g<X;g++)b.OPENAI_API_KEYS.push("")}await C({directConnections:b})};Kn(async()=>{s(0,b=(o==null?void 0:o.directConnections)??{OPENAI_API_BASE_URLS:[],OPENAI_API_KEYS:[],OPENAI_API_CONFIGS:{}})});function G(X){k=X,s(1,k)}const D=()=>{s(1,k=!0)},_=()=>{B()},O=X=>{s(0,b.OPENAI_API_BASE_URLS=b.OPENAI_API_BASE_URLS.filter((v,e)=>X!==e),b),s(0,b.OPENAI_API_KEYS=b.OPENAI_API_KEYS.filter((v,e)=>X!==e),b);let g={};b.OPENAI_API_BASE_URLS.forEach((v,e)=>{g[e]=b.OPENAI_API_CONFIGS[e<X?e:e+1]}),s(0,b.OPENAI_API_CONFIGS=g,b)};function j(X,g,v,e){v[e]=X,s(0,b)}function U(X,g){c.$$.not_equal(b.OPENAI_API_KEYS[g],X)&&(b.OPENAI_API_KEYS[g]=X,s(0,b))}function H(X,g){c.$$.not_equal(b.OPENAI_API_CONFIGS[g],X)&&(b.OPENAI_API_CONFIGS[g]=X,s(0,b))}const Z=()=>{B()};return c.$$set=X=>{"saveSettings"in X&&s(6,C=X.saveSettings)},[b,k,f,p,E,B,C,G,D,_,O,j,U,H,Z]}class Uv extends vs{constructor(n){super(),ys(this,n,Wv,jv,ks,{saveSettings:6})}}function Gp(c,n,s){const o=c.slice();return o[15]=n[s],o[16]=n,o[17]=s,o}function Kv(c){let n,s,o,f;return o=new $u({props:{className:"size-6"}}),{c(){n=q("div"),s=q("div"),Kt(o.$$.fragment),this.h()},l(p){n=J(p,"DIV",{class:!0});var C=$(n);s=J(C,"DIV",{class:!0});var b=$(s);
2829Zt(o.$$.fragment,b),b.forEach(z),C.forEach(z),this.h()},h(){V(s,"class","my-auto"),V(n,"class","flex h-full justify-center")},m(p,C){He(p,n,C),Q(n,s),Xt(o,s,null),f=!0},p:qA,i(p){f||(at(o.$$.fragment,p),f=!0)},o(p){dt(o.$$.fragment,p),f=!1},d(p){p&&z(n),qt(o)}}}function Zv(c){let n,s,o,f,p,C=c[2].t("Manage Tool Servers")+"",b,k,E,B,G,D,_,O,j=c[2].t("Connect to your own OpenAPI compatible external tool servers.")+"",U,H,Z,X,g=c[2].t("CORS must be properly configured by the provider to allow requests from Open WebUI.")+"",v,e,d,T,re=c[2].t("Learn more about OpenAPI tool servers.")+"",N,F;E=new jn({props:{content:c[2].t("Add Connection"),$$slots:{default:[Xv]},$$scope:{ctx:c}}});let Ce=Ur(c[0]),he=[];for(let ge=0;ge<Ce.length;ge+=1)he[ge]=_p(Gp(c,Ce,ge));const ce=ge=>dt(he[ge],1,1,()=>{he[ge]=null});return{c(){n=q("div"),s=q("div"),o=q("div"),f=q("div"),p=q("div"),b=Xe(C),k=Pe(),Kt(E.$$.fragment),B=Pe(),G=q("div");for(let ge=0;ge<he.length;ge+=1)he[ge].c();D=Pe(),_=q("div"),O=q("div"),U=Xe(j),H=Pe(),Z=q("br"),X=Pe(),v=Xe(g),e=Pe(),d=q("div"),T=q("a"),N=Xe(re),this.h()},l(ge){n=J(ge,"DIV",{class:!0});var Me=$(n);s=J(Me,"DIV",{class:!0});var Ue=$(s);o=J(Ue,"DIV",{class:!0});var Ne=$(o);f=J(Ne,"DIV",{class:!0});var de=$(f);p=J(de,"DIV",{class:!0});var me=$(p);b=qe(me,C),me.forEach(z),k=Se(de),Zt(E.$$.fragment,de),de.forEach(z),B=Se(Ne),G=J(Ne,"DIV",{class:!0});var we=$(G);for(let ot=0;ot<he.length;ot+=1)he[ot].l(we);we.forEach(z),Ne.forEach(z),D=Se(Ue),_=J(Ue,"DIV",{class:!0});var _e=$(_);O=J(_e,"DIV",{class:!0});var pe=$(O);U=qe(pe,j),H=Se(pe),Z=J(pe,"BR",{}),X=Se(pe),v=qe(pe,g),pe.forEach(z),_e.forEach(z),e=Se(Ue),d=J(Ue,"DIV",{class:!0});var it=$(d);T=J(it,"A",{class:!0,href:!0,target:!0});var We=$(T);N=qe(We,re),We.forEach(z),it.forEach(z),Ue.forEach(z),Me.forEach(z),this.h()},h(){V(p,"class","font-medium"),V(f,"class","flex justify-between items-center mb-0.5"),V(G,"class","flex flex-col gap-1.5"),V(o,"class",""),V(O,"class","text-xs text-gray-500"),V(_,"class","my-1.5"),V(T,"class","underline"),V(T,"href","https://github.com/open-webui/openapi-servers"),V(T,"target","_blank"),V(d,"class","text-xs text-gray-600 dark:text-gray-300 mb-2"),V(s,"class","pr-1.5"),V(n,"class","")},m(ge,Me){He(ge,n,Me),Q(n,s),Q(s,o),Q(o,f),Q(f,p),Q(p,b),Q(f,k),Xt(E,f,null),Q(o,B),Q(o,G);for(let Ue=0;Ue<he.length;Ue+=1)he[Ue]&&he[Ue].m(G,null);Q(s,D),Q(s,_),Q(_,O),Q(O,U),Q(O,H),Q(O,Z),Q(O,X),Q(O,v),Q(s,e),Q(s,d),Q(d,T),Q(T,N),F=!0},p(ge,Me){(!F||Me&4)&&C!==(C=ge[2].t("Manage Tool Servers")+"")&&st(b,C);const Ue={};if(Me&4&&(Ue.content=ge[2].t("Add Connection")),Me&262146&&(Ue.$$scope={dirty:Me,ctx:ge}),E.$set(Ue),Me&33){Ce=Ur(ge[0]);let Ne;for(Ne=0;Ne<Ce.length;Ne+=1){const de=Gp(ge,Ce,Ne);he[Ne]?(he[Ne].p(de,Me),at(he[Ne],1)):(he[Ne]=_p(de),he[Ne].c(),at(he[Ne],1),he[Ne].m(G,null))}for(zr(),Ne=Ce.length;Ne<he.length;Ne+=1)ce(Ne);Fr()}(!F||Me&4)&&j!==(j=ge[2].t("Connect to your own OpenAPI compatible external tool servers.")+"")&&st(U,j),(!F||Me&4)&&g!==(g=ge[2].t("CORS must be properly configured by the provider to allow requests from Open WebUI.")+"")&&st(v,g),(!F||Me&4)&&re!==(re=ge[2].t("Learn more about OpenAPI tool servers.")+"")&&st(N,re)},i(ge){if(!F){at(E.$$.fragment,ge);for(let Me=0;Me<Ce.length;Me+=1)at(he[Me]);F=!0}},o(ge){dt(E.$$.fragment,ge),he=he.filter(Boolean);for(let Me=0;Me<he.length;Me+=1)dt(he[Me]);F=!1},d(ge){ge&&z(n),qt(E),Un(he,ge)}}}function Xv(c){let n,s,o,f,p;return s=new Af({}),{c(){n=q("button"),Kt(s.$$.fragment),this.h()},l(C){n=J(C,"BUTTON",{class:!0,type:!0});var b=$(n);Zt(s.$$.fragment,b),b.forEach(z),this.h()},h(){V(n,"class","px-1"),V(n,"type","button")},m(C,b){He(C,n,b),Xt(s,n,null),o=!0,f||(p=Pt(n,"click",c[8]),f=!0)},p:qA,i(C){o||(at(s.$$.fragment,C),o=!0)},o(C){dt(s.$$.fragment,C),o=!1},d(C){C&&z(n),qt(s),f=!1,p()}}}function _p(c){let n,s,o;function f(){return c[10](c[17])}function p(b){c[11](b,c[15],c[16],c[17])}let C={direct:!0,onSubmit:c[9],onDelete:f};return c[15]!==void 0&&(C.connection=c[15]),n=new D8({props:C}),Br.push(()=>As(n,"connection",p)),{c(){Kt(n.$$.fragment)},l(b){Zt(n.$$.fragment,b)},m(b,k){Xt(n,b,k),o=!0},p(b,k){c=b;const E={};k&1&&(E.onDelete=f),!s&&k&1&&(s=!0,E.connection=c[15],ts(()=>s=!1)),n.$set(E)},i(b){o||(at(n.$$.fragment,b),o=!0)},o(b){dt(n.$$.fragment,b),o=!1},d(b){qt(n,b)}}}function qv(c){let n,s,o,f,p,C,b,k,E,B,G=c[2].t("Save")+"",D,_,O,j;function U(v){c[7](v)}let H={onSubmit:c[4],direct:!0};c[1]!==void 0&&(H.show=c[1]),n=new M8({props:H}),Br.push(()=>As(n,"show",U));const Z=[Zv,Kv],X=[];function g(v,e){return v[0]!==null?0:1}return C=g(c),b=X[C]=Z[C](c),{c(){Kt(n.$$.fragment),o=Pe(),f=q("form"),p=q("div"),b.c(),k=Pe(),E=q("div"),B=q("button"),D=Xe(G),this.h()},l(v){Zt(n.$$.fragment,v),o=Se(v),f=J(v,"FORM",{class:!0});
2829var e=$(f);p=J(e,"DIV",{class:!0});var d=$(p);b.l(d),d.forEach(z),k=Se(e),E=J(e,"DIV",{class:!0});var T=$(E);B=J(T,"BUTTON",{class:!0,type:!0});var re=$(B);D=qe(re,G),re.forEach(z),T.forEach(z),e.forEach(z),this.h()},h(){V(p,"class","overflow-y-scroll scrollbar-hidden h-full"),V(B,"class","px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"),V(B,"type","submit"),V(E,"class","flex justify-end pt-3 text-sm font-medium"),V(f,"class","flex flex-col h-full justify-between text-sm")},m(v,e){Xt(n,v,e),He(v,o,e),He(v,f,e),Q(f,p),X[C].m(p,null),Q(f,k),Q(f,E),Q(E,B),Q(B,D),_=!0,O||(j=Pt(f,"submit",H0(c[12])),O=!0)},p(v,[e]){const d={};!s&&e&2&&(s=!0,d.show=v[1],ts(()=>s=!1)),n.$set(d);let T=C;C=g(v),C===T?X[C].p(v,e):(zr(),dt(X[T],1,1,()=>{X[T]=null}),Fr(),b=X[C],b?b.p(v,e):(b=X[C]=Z[C](v),b.c()),at(b,1),b.m(p,null)),(!_||e&4)&&G!==(G=v[2].t("Save")+"")&&st(D,G)},i(v){_||(at(n.$$.fragment,v),at(b),_=!0)},o(v){dt(n.$$.fragment,v),dt(b),_=!1},d(v){v&&(z(o),z(f)),qt(n,v),X[C].d(),O=!1,j()}}}function Jv(c,n,s){let o,f;jA(c,no,H=>s(13,o=H)),Wn();const p=Aa("i18n");jA(c,p,H=>s(2,f=H));let{saveSettings:C}=n,b=null,k=!1;const E=async H=>
2829{s(0,b=[...b,H]),await B()},B=async()=>{await C({toolServers:b}),om.set(await tm(f,(o==null?void 0:o.toolServers)??[]))};Kn(async()=>{s(0,b=(o==null?void 0:o.toolServers)??[])});function G(H){k=H,s(1,k)}const D=()=>{s(1,k=!0)},_=()=>{B()},O=H=>{s(0,b=b.filter((Z,X)=>X!==H)),B()};function j(H,Z,X,g){X[g]=H,s(0,b)}const U=()=>{B()};return c.$$set=H=>{"saveSettings"in H&&s(6,C=H.saveSettings)},[b,k,f,p,E,B,C,G,D,_,O,j,U]}class $v extends vs{constructor(n){super(),ys(this,n,Jv,qv,ks,{saveSettings:6})}}function Tp(c,n,s){const o=c.slice();return o[38]=n[s],o}function e7(c){let n,s=c[5].t("No results found")+"",o;return{c(){n=q("div"),o=Xe(s),this.h()},l(f){n=J(f,"DIV",{class:!0});var p=$(n);o=qe(p,s),p.forEach(z),this.h()},h(){V(n,"class","text-center text-gray-500 mt-4")},m(f,p){He(f,n,p),Q(n,o)},p(f,p){p[0]&32&&s!==(s=f[5].t("No results found")+"")&&st(o,s)},i:qA,o:qA,d(f){f&&z(n)}}}function t7(c){let n=[],s=new Map,o,f,p=Ur(c[2]);const C=b=>b[38];for(let b=0;b<p.length;b+=1){let k=Tp(c,p,b),E=C(k);s.set(E,n[b]=Np(E,k))}return{c(){for(let b=0;b<n.length;b+=1)n[b].c();o=ws()},l(b){for(let k=0;k<n.length;k+=1)n[k].l(b);o=ws()},m(b,k){for(let E=0;E<n.length;E+=1)n[E]&&n[E].m(b,k);He(b,o,k),f=!0},p(b,k){k[0]&125&&(p=Ur(b[2]),zr(),n=ef(n,k,C,1,b,p,s,o.parentNode,tf,Np,o,Tp),Fr())},i(b){if(!f){for(let k=0;k<p.length;k+=1)at(n[k]);f=!0}},o(b){for(let k=0;k<n.length;k+=1)dt(n[k]);f=!1},d(b){b&&z(o);for(let k=0;k<n.length;k+=1)n[k].d(b)}}}function A7(c){var o;let n,s=((o=c[6])==null?void 0:o.role)==="admin"&&Qp(c);return{c(){s&&s.c(),n=ws()},l(f){s&&s.l(f),n=ws()},m(f,p){s&&s.m(f,p),He(f,n,p)},p(f,p){var C;((C=f[6])==null?void 0:C.role)==="admin"?s?s.p(f,p):(s=Qp(f),s.c(),s.m(n.parentNode,n)):s&&(s.d(1),s=null)},i:qA,o:qA,d(f){f&&z(n),s&&s.d(f)}}}function r7(c){let n,s,o='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-4 h-4"><path fill-rule="evenodd" d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z" clip-rule="evenodd"></path></svg>',f,p,C=c[5].t("About")+"",b,k,E,B,G;return{c(){n=q("button"),s=q("div"),s.innerHTML=o,f=Pe(),p=q("div"),b=Xe(C),k=Pe(),this.h()},l(D){n=J(D,"BUTTON",{class:!0});var _=$(n);s=J(_,"DIV",{class:!0,"data-svelte-h":!0}),hr(s)!=="svelte-im5r31"&&(s.innerHTML=o),f=Se(_),p=J(_,"DIV",{class:!0});var O=$(p);b=qe(O,C),O.forEach(z),k=Se(_),_.forEach(z),this.h()},h(){V(s,"class","self-center mr-2"),V(p,"class","self-center"),V(n,"class",E="px-0.5 py-1 min-w-fit rounded-lg flex-1 md:flex-none flex text-left transition "+(c[3]==="about"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white"))},m(D,_){He(D,n,_),Q(n,s),Q(n,f),Q(n,p),Q(p,b),Q(n,k),B||(G=Pt(n,"click",c[21]),B=!0)},p(D,_){_[0]&32&&C!==(C=D[5].t("About")+"")&&st(b,C),_[0]&8&&E!==(E="px-0.5 py-1 min-w-fit rounded-lg flex-1 md:flex-none flex text-left transition "+(D[3]==="about"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white"))&&V(n,"class",E)},i:qA,o:qA,d(D){D&&z(n),B=!1,G()}}}function s7(c){let n,s,o='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" class="w-4 h-4"><path fill-rule="evenodd" d="M15 8A7 7 0 1 1 1 8a7 7 0 0 1 14 0Zm-5-2a2 2 0 1 1-4 0 2 2 0 0 1 4 0ZM8 9c-1.825 0-3.422.977-4.295 2.437A5.49 5.49 0 0 0 8 13.5a5.49 5.49 0 0 0 4.294-2.063A4.997 4.997 0 0 0 8 9Z" clip-rule="evenodd"></path></svg>',f,p,C=c[5].t("Account")+"",b,k,E,B,G;return{c(){n=q("button"),s=q("div"),s.innerHTML=o,f=Pe(),p=q("div"),b=Xe(C),k=Pe(),this.h()},l(D){n=J(D,"BUTTON",{class:!0});var _=$(n);s=J(_,"DIV",{class:!0,"data-svelte-h":!0}),hr(s)!=="svelte-uyxh8m"&&(s.innerHTML=o),f=Se(_),p=J(_,"DIV",{class:!0});var O=$(p);b=qe(O,C),O.forEach(z),k=Se(_),_.forEach(z),this.h()},h(){V(s,"class","self-center mr-2"),V(p,"class","self-center"),V(n,"class",E="px-0.5 py-1 min-w-fit rounded-lg flex-1 md:flex-none flex text-left transition "+(c[3]==="account"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white"))},m(D,_){He(D,n,_),Q(n,s),Q(n,f),Q(n,p),Q(p,b),Q(n,k),B||(G=Pt(n,"click",c[20]),B=!0)},p(D,_){_[0]&32&&C!==(C=D[5].t("Account")+"")&&st(b,C),_[0]&8&&E!==(E="px-0.5 py-1 min-w-fit roun
2829ded-lg flex-1 md:flex-none flex text-left transition "+(D[3]==="account"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white"))&&V(n,"class",E)},i:qA,o:qA,d(D){D&&z(n),B=!1,G()}}}function a7(c){let n,s,o='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" class="w-4 h-4"><path fill-rule="evenodd" d="M8 2C4.262 2 1 4.57 1 8c0 1.86.98 3.486 2.455 4.566a3.472 3.472 0 0 1-.469 1.26.75.75 0 0 0 .713 1.14 6.961 6.961 0 0 0 3.06-1.06c.403.062.818.094 1.241.094 3.738 0 7-2.57 7-6s-3.262-6-7-6ZM5 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm7-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM8 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z" clip-rule="evenodd"></path></svg>',f,p,C=c[5].t("Chats")+"",b,k,E,B,G;return{c(){n=q("button"),s=q("div"),s.innerHTML=o,f=Pe(),p=q("div"),b=Xe(C),k=Pe(),this.h()},l(D){n=J(D,"BUTTON",{class:!0});var _=$(n);s=J(_,"DIV",{class:!0,"data-svelte-h":!0}),hr(s)!=="svelte-hp16vk"&&(s.innerHTML=o),f=Se(_),p=J(_,"DIV",{class:!0});var O=$(p);b=qe(O,C),O.forEach(z),k=Se(_),_.forEach(z),this.h()},h(){V(s,"class","self-center mr-2"),V(p,"class","self-center"),V(n,"class",E="px-0.5 py-1 min-w-fit rounded-lg flex-1 md:flex-none flex text-left transition "+(c[3]==="chats"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white"))},m(D,_){He(D,n,_),Q(n,s),Q(n,f),Q(n,p),Q(p,b),Q(n,k),B||(G=Pt(n,"click",c[19]),B=!0)},p(D,_){_[0]&32&&C!==(C=D[5].t("Chats")+"")&&st(b,C),_[0]&8&&E!==(E="px-0.5 py-1 min-w-fit rounded-lg flex-1 md:flex-none flex text-left transition "+(D[3]==="chats"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white"))&&V(n,"class",E)},i:qA,o:qA,d(D){D&&z(n),B=!1,G()}}}function n7(c){let n,s,o='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" class="w-4 h-4"><path d="M7.557 2.066A.75.75 0 0 1 8 2.75v10.5a.75.75 0 0 1-1.248.56L3.59 11H2a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h1.59l3.162-2.81a.75.75 0 0 1 .805-.124ZM12.95 3.05a.75.75 0 1 0-1.06 1.06 5.5 5.5 0 0 1 0 7.78.75.75 0 1 0 1.06 1.06 7 7 0 0 0 0-9.9Z"></path><path d="M10.828 5.172a.75.75 0 1 0-1.06 1.06 2.5 2.5 0 0 1 0 3.536.75.75 0 1 0 1.06 1.06 4 4 0 0 0 0-5.656Z"></path></svg>',f,p,C=c[5].t("Audio")+"",b,k,E,B,G;return{c(){n=q("button"),s=q("div"),s.innerHTML=o,f=Pe(),p=q("div"),b=Xe(C),k=Pe(),this.h()},l(D){n=J(D,"BUTTON",{class:!0});var _=$(n);s=J(_,"DIV",{class:!0,"data-svelte-h":!0}),hr(s)!=="svelte-1bad48g"&&(s.innerHTML=o),f=Se(_),p=J(_,"DIV",{class:!0});var O=$(p);b=qe(O,C),O.forEach(z),k=Se(_),_.forEach(z),this.h()},h(){V(s,"class","self-center mr-2"),V(p,"class","self-center"),V(n,"class",E="px-0.5 py-1 min-w-fit rounded-lg flex-1 md:flex-none flex text-left transition "+(c[3]==="audio"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white"))},m(D,_){He(D,n,_),Q(n,s),Q(n,f),Q(n,p),Q(p,b),Q(n,k),B||(G=Pt(n,"click",c[18]),B=!0)},p(D,_){_[0]&32&&C!==(C=D[5].t("Audio")+"")&&st(b,C),_[0]&8&&E!==(E="px-0.5 py-1 min-w-fit rounded-lg flex-1 md:flex-none flex text-left transition "+(D[3]==="audio"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white"))&&V(n,"class",E)},i:qA,o:qA,d(D){D&&z(n),B=!1,G()}}}function i7(c){let n,s,o,f,p,C=c[5].t("Personalization")+"",b,k,E,B,G,D;return o=new MC({}),{c(){n=q("button"),s=q("div"),Kt(o.$$.fragment),f=Pe(),p=q("div"),b=Xe(C),k=Pe(),this.h()},l(_){n=J(_,"BUTTON",{class:!0});var O=$(n);s=J(O,"DIV",{class:!0});var j=$(s);Zt(o.$$.fragment,j),j.forEach(z),f=Se(O),p=J(O,"DIV",{class:!0});var U=$(p);b=qe(U,C),U.forEach(z),k=Se(O),O.forEach(z),this.h()},h(){V(s,"class","self-center mr-2"),V(p,"class","self-center"),V(n,"class",E="px-0.5 py-1 min-w-fit rounded-lg flex-1 md:flex-none flex text-left transition "+(c[3]==="personalization"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white"))},m(_,O){He(_,n,O),Q(n,s),Xt(o,s,null),Q(n,f),Q(n,p),Q(p,b),Q(n,k),B=!0,G||(D=Pt(n,"click",c[17]),G=!0)},p(_,O){(!B||O[0]&32)&&C!==(C=_[5].t("Personalization")+"")&&st(b,C),(!B||O[0]&8&&E!==(E="px-0.5 py-1 min-w-fit rounded-lg flex-1 md:flex-none flex text-left transition "+(_[3]==="personalization"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white")))&&V(n,"class",E)},i(_){B||(at(o.$$.fragment,_),B=!0)},o(_){dt(o.$$.fragment,_),B=!1},d(_){_&&z(n),qt(o),G=!1,D()}}}function o7(c){var o,f,p,C,b;let n,s=(((o=c[6])==null?void 0:o.role)==="admin"||((f=c[6])==null?void 0:f.role)==="user"&&((b=(C=(p=c[6])==null?void 0:p.permissions)==null?void 0:C.features)==null?void 0:b.direct_tool_servers))&&Pp(c);return{c(){s&&s.c(),n=ws()},l(k){s&&s.l(k),n=ws()},m(k,E){s&&s.m(k,E),He(k,n,E)},p(k,E){var B,G,D,_,O;((B=k[6])==null?void 0:B.role)==="admin"||((G=k[6])==null?void 0:G.role)==="user"&&((O=(_=(D=k[6])==null?void 0:D.permissions)==null?void 0:_.features)!=null&&O.direct_tool_servers)?s?s.p(k,E):(s=Pp(k),s.c(),s.m(n.parentNode,n)):s&&(s.d(1),s=null)},i:qA,o:qA,d(k){k&&z(n),s&&s.d(k)}}}function l7(c){var o,f,p,C;let n,s=(((o=c[6])==null?void 0:o.role)==="admin"||((f=c[6])==null?void 0:f.role)==="user"&&((C=(p=c[4])==null?void 0:p.features)==null?void 0:C.enable_direct_connections))&&Sp(c);return{c(){s&&s.c(),n=ws()},l(b){s&&s.l(b),n=ws()},m(b,k){s&&s.m(b,k),He(b,n,k)},p(b,k){var E,B,G,D;((E=b[6])==null?void 0:E.role)==="admin"||((B=b[6])==null?void 0:B.role)==="user"&&((D=(G=b[4])==null?void 0:G.features)!=null&&D.enable_direct_connections)?s?s.p(b,k):(s=Sp(b),s.c(),s.m(n.parentNode,n)):s&&(s.d(1),s=null)},i:qA,o:qA,d(b){b&&z(n),s&&s.d(b)}}}function c7(c){let n,s,o='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" class="w-4 h-4"><path fill-rule="evenodd" d="M2 4.25A2.25 2.25 0 0 1 4.25 2h7.5A2.25 2.25 0 0 1 14 4.25v5.5A2.25 2.25 0 0 1 11.75 12h-1.312c.1.128.21.248.328.36a.75.75 0 0 1 .234.545v.345a.75.75 0 0 1-.75.75h-4.5a.75.75 0 0 1-.75-.75v-.345a.75.75 0 0 1 .234-.545c.118-.111.228-.232.328-.36H4.25A2.25 2.25 0 0 1 2 9.75v-5.5Zm2.25-.75a.75.75 0 0 0-.75.75v4.5c0 .414.336.75.75.75h7.5a.75.75 0 0 0 .75-.75v-4.5a.75.75 0 0 0-.75-.75h-7.5Z" clip-rule="evenodd"></path></svg>',f,p,C=c[5].t("Interface")+"",b,k,E,B,G;return{c(){n=q("button"),s=q("div"),s.innerHTML=o,f=Pe(),p=q("div"),b=Xe(C),k=Pe(),this.h()}
2829,l(D){n=J(D,"BUTTON",{class:!0});var _=$(n);s=J(_,"DIV",{class:!0,"data-svelte-h":!0}),hr(s)!=="svelte-183k9gv"&&(s.innerHTML=o),f=Se(_),p=J(_,"DIV",{class:!0});var O=$(p);b=qe(O,C),O.forEach(z),k=Se(_),_.forEach(z),this.h()},h(){V(s,"class","self-center mr-2"),V(p,"class","self-center"),V(n,"class",E="px-0.5 py-1 min-w-fit rounded-lg flex-1 md:flex-none flex text-left transition "+(c[3]==="interface"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white"))},m(D,_){He(D,n,_),Q(n,s),Q(n,f),Q(n,p),Q(p,b),Q(n,k),B||(G=Pt(n,"click",c[14]),B=!0)},p(D,_){_[0]&32&&C!==(C=D[5].t("Interface")+"")&&st(b,C),_[0]&8&&E!==(E="px-0.5 py-1 min-w-fit rounded-lg flex-1 md:flex-none flex text-left transition "+(D[3]==="interface"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white"))&&V(n,"class",E)},i:qA,o:qA,d(D){D&&z(n),B=!1,G()}}}function u7(c){let n,s,o='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-4 h-4"><path fill-rule="evenodd" d="M8.34 1.804A1 1 0 019.32 1h1.36a1 1 0 01.98.804l.295 1.473c.497.144.971.342 1.416.587l1.25-.834a1 1 0 011.262.125l.962.962a1 1 0 01.125 1.262l-.834 1.25c.245.445.443.919.587 1.416l1.473.294a1 1 0 01.804.98v1.361a1 1 0 01-.804.98l-1.473.295a6.95 6.95 0 01-.587 1.416l.834 1.25a1 1 0 01-.125 1.262l-.962.962a1 1 0 01-1.262.125l-1.25-.834a6.953 6.953 0 01-1.416.587l-.294 1.473a1 1 0 01-.98.804H9.32a1 1 0 01-.98-.804l-.295-1.473a6.957 6.957 0 01-1.416-.587l-1.25.834a1 1 0 01-1.262-.125l-.962-.962a1 1 0 01-.125-1.262l.834-1.25a6.957 6.957 0 01-.587-1.416l-1.473-.294A1 1 0 011 10.68V9.32a1 1 0 01.804-.98l1.473-.295c.144-.497.342-.971.587-1.416l-.834-1.25a1 1 0 01.125-1.262l.962-.962A1 1 0 015.38 3.03l1.25.834a6.957 6.957 0 011.416-.587l.294-1.473zM13 10a3 3 0 11-6 0 3 3 0 016 0z" clip-rule="evenodd"></path></svg>',f,p,C=c[5].t("General")+"",b,k,E,B,G;return{c(){n=q("button"),s=q("div"),s.innerHTML=o,f=Pe(),p=q("div"),b=Xe(C),k=Pe(),this.h()},l(D){n=J(D,"BUTTON",{class:!0});var _=$(n);s=J(_,"DIV",{class:!0,"data-svelte-h":!0}),hr(s)!=="svelte-d0uebp"&&(s.innerHTML=o),f=Se(_),p=J(_,"DIV",{class:!0});var O=$(p);b=qe(O,C),O.forEach(z),k=Se(_),_.forEach(z),this.h()},h(){V(s,"class","self-center mr-2"),V(p,"class","self-center"),V(n,"class",E="px-0.5 py-1 min-w-fit rounded-lg flex-1 md:flex-none flex text-left transition "+(c[3]==="general"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white"))},m(D,_){He(D,n,_),Q(n,s),Q(n,f),Q(n,p),Q(p,b),Q(n,k),B||(G=Pt(n,"click",c[13]),B=!0)},p(D,_){_[0]&32&&C!==(C=D[5].t("General")+"")&&st(b,C),_[0]&8&&E!==(E="px-0.5 py-1 min-w-fit rounded-lg flex-1 md:flex-none flex text-left transition "+(D[3]==="general"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white"))&&V(n,"class",E)},i:qA,o:qA,d(D){D&&z(n),B=!1,G()}}}function Qp(c){let n,s,o='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="size-4"><path fill-rule="evenodd" d="M4.5 3.75a3 3 0 0 0-3 3v10.5a3 3 0 0 0 3 3h15a3 3 0 0 0 3-3V6.75a3 3 0 0 0-3-3h-15Zm4.125 3a2.25 2.25 0 1 0 0 4.5 2.25 2.25 0 0 0 0-4.5Zm-3.873 8.703a4.126 4.126 0 0 1 7.746 0 .75.75 0 0 1-.351.92 7.47 7.47 0 0 1-3.522.877 7.47 7.47 0 0 1-3.522-.877.75.75 0 0 1-.351-.92ZM15 8.25a.75.75 0 0 0 0 1.5h3.75a.75.75 0 0 0 0-1.5H15ZM14.25 12a.75.75 0 0 1 .75-.75h3.75a.75.75 0 0 1 0 1.5H15a.75.75 0 0 1-.75-.75Zm.75 2.25a.75.75 0 0 0 0 1.5h3.75a.75.75 0 0 0 0-1.5H15Z" clip-rule="evenodd"></path></svg>',f,p,C=c[5].t("Admin Settings")+"",b,k,E,B,G;return{c(){n=q("button"),s=q("div"),s.innerHTML=o,f=Pe(),p=q("div"),b=Xe(C),k=Pe(),this.h()},l(D){n=J(D,"BUTTON",{class:!0});var _=$(n);s=J(_,"DIV",{class:!0,"data-svelte-h":!0}),hr(s)!=="svelte-1rekzwz"&&(s.innerHTML=o),f=Se(_),p=J(_,"DIV",{class:!0});var O=$(p);b=qe(O,C),O.forEach(z),k=Se(_),_.forEach(z),this.h()},h(){V(s,"class","self-center mr-2"),V(p,"class","self-center"),V(n,"class",E="px-0.5 py-1 min-w-fit rounded-lg flex-1 md:flex-none flex text-left transition "+(c[3]==="admin"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white"))},m(D,_){He(D,n,_),Q(n,s),Q(n,f),Q(n,p),Q(p,b),Q(n,k),B||(G=Pt(n,"click",c[22]),B=!0)},p(D,_){_[0]&32&&C!==(C=D[5].t("Admin Settings")+"")&&st(b,C),_[0]&8&&E!==(E="px-0.5 py-1 min-w-fit roun
2829ded-lg flex-1 md:flex-none flex text-left transition "+(D[3]==="admin"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white"))&&V(n,"class",E)},d(D){D&&z(n),B=!1,G()}}}function Pp(c){let n,s,o='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="size-4"><path fill-rule="evenodd" d="M12 6.75a5.25 5.25 0 0 1 6.775-5.025.75.75 0 0 1 .313 1.248l-3.32 3.319c.063.475.276.934.641 1.299.365.365.824.578 1.3.64l3.318-3.319a.75.75 0 0 1 1.248.313 5.25 5.25 0 0 1-5.472 6.756c-1.018-.086-1.87.1-2.309.634L7.344 21.3A3.298 3.298 0 1 1 2.7 16.657l8.684-7.151c.533-.44.72-1.291.634-2.309A5.342 5.342 0 0 1 12 6.75ZM4.117 19.125a.75.75 0 0 1 .75-.75h.008a.75.75 0 0 1 .75.75v.008a.75.75 0 0 1-.75.75h-.008a.75.75 0 0 1-.75-.75v-.008Z" clip-rule="evenodd"></path></svg>',f,p,C=c[5].t("Tools")+"",b,k,E,B,G;return{c(){n=q("button"),s=q("div"),s.innerHTML=o,f=Pe(),p=q("div"),b=Xe(C),k=Pe(),this.h()},l(D){n=J(D,"BUTTON",{class:!0});var _=$(n);s=J(_,"DIV",{class:!0,"data-svelte-h":!0}),hr(s)!=="svelte-1x5q2q2"&&(s.innerHTML=o),f=Se(_),p=J(_,"DIV",{class:!0});var O=$(p);b=qe(O,C),O.forEach(z),k=Se(_),_.forEach(z),this.h()},h(){V(s,"class","self-center mr-2"),V(p,"class","self-center"),V(n,"class",E="px-0.5 py-1 min-w-fit rounded-lg flex-1 md:flex-none flex text-left transition "+(c[3]==="tools"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white"))},m(D,_){He(D,n,_),Q(n,s),Q(n,f),Q(n,p),Q(p,b),Q(n,k),B||(G=Pt(n,"click",c[16]),B=!0)},p(D,_){_[0]&32&&C!==(C=D[5].t("Tools")+"")&&st(b,C),_[0]&8&&E!==(E="px-0.5 py-1 min-w-fit rounded-lg flex-1 md:flex-none flex text-left transition "+(D[3]==="tools"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white"))&&V(n,"class",E)},d(D){D&&z(n),B=!1,G()}}}function Sp(c){let n,s,o='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" class="w-4 h-4"><path d="M1 9.5A3.5 3.5 0 0 0 4.5 13H12a3 3 0 0 0 .917-5.857 2.503 2.503 0 0 0-3.198-3.019 3.5 3.5 0 0 0-6.628 2.171A3.5 3.5 0 0 0 1 9.5Z"></path></svg>',f,p,C=c[5].t("Connections")+"",b,k,E,B,G;return{c(){n=q("button"),s=q("div"),s.innerHTML=o,f=Pe(),p=q("div"),b=Xe(C),k=Pe(),this.h()},l(D){n=J(D,"BUTTON",{class:!0});var _=$(n);s=J(_,"DIV",{class:!0,"data-svelte-h":!0}),hr(s)!=="svelte-zidmj0"&&(s.innerHTML=o),f=Se(_),p=J(_,"DIV",{class:!0});var O=$(p);b=qe(O,C),O.forEach(z),k=Se(_),_.forEach(z),this.h()},h(){V(s,"class","self-center mr-2"),V(p,"class","self-center"),V(n,"class",E="px-0.5 py-1 min-w-fit rounded-lg flex-1 md:flex-none flex text-left transition "+(c[3]==="connections"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white"))},m(D,_){He(D,n,_),Q(n,s),Q(n,f),Q(n,p),Q(p,b),Q(n,k),B||(G=Pt(n,"click",c[15]),B=!0)},p(D,_){_[0]&32&&C!==(C=D[5].t("Connections")+"")&&st(b,C),_[0]&8&&E!==(E="px-0.5 py-1 min-w-fit rounded-lg flex-1 md:flex-none flex text-left transition "+(D[3]==="connections"?"":" text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white"))&&V(n,"class",E)},d(D){D&&z(n),B=!1,G()}}}function Np(c,n){let s,o,f,p,C;const b=[u7,c7,l7,o7,i7,n7,a7,s7,r7,A7],k=[];function E(B,G){return B[38]==="general"?0:B[38]==="interface"?1:B[38]==="connections"?2:B[38]==="tools"?3:B[38]==="personalization"?4:B[38]==="audio"?5:B[38]==="chats"?6:B[38]==="account"?7:B[38]==="about"?8:B[38]==="admin"?9:-1}return~(o=E(n))&&(f=k[o]=b[o](n)),{key:c,first:null,c(){s=ws(),f&&f.c(),p=ws(),this.h()},l(B){s=ws(),f&&f.l(B),p=ws(),this.h()},h(){this.first=s},m(B,G){He(B,s,G),~o&&k[o].m(B,G),He(B,p,G),C=!0},p(B,G){n=B;let D=o;o=E(n),o===D?~o&&k[o].p(n,G):(f&&(zr(),dt(k[D],1,1,()=>{k[D]=null}),Fr()),~o?(f=k[o],f?f.p(n,G):(f=k[o]=b[o](n),f.c()),at(f,1),f.m(p.parentNode,p)):f=null)},i(B){C||(at(f),C=!0)},o(B){dt(f),C=!1},d(B){B&&(z(s),z(p)),~o&&k[o].d(B)}}}function f7(c){let n,s;return n=new yw({}),{c(){Kt(n.$$.fragment)},l(o){Zt(n.$$.fragment,o)},m(o,f){Xt(n,o,f),s=!0},p:qA,i(o){s||(at(n.$$.fragment,o),s=!0)},o(o){dt(n.$$.fragment,o),s=!1},d(o){qt(n,o)}}}function d7(c){let n,s;return n=new bw({props:{saveSettings:c[9],saveHandler:c[29]}}),{c(){Kt(n.$$.fragment)},l(o){Zt(n.$$.fragment,o)},m(o,f){Xt(n,o,f),s=!0},p(o,f){const p={};f[0]&32&&(p.saveHandler=o[29]),n.$set(p)},i(o){s||(at(n.$$.fragment,o),s=!0)},o(o){dt(n.$$.fragment,o),s=!1},d(o){qt(n,o)}}}function g7(c){let n,s;return n=new pv({props:{saveSettings:c[9]}}),{c(){Kt(n.$$.fragment)},l(o){Zt(n.$$.fragment,o)},m(o,f){Xt(n,o,f),s=!0}
2829,p:qA,i(o){s||(at(n.$$.fragment,o),s=!0)},o(o){dt(n.$$.fragment,o),s=!1},d(o){qt(n,o)}}}function h7(c){let n,s;return n=new lv({props:{saveSettings:c[9]}}),n.$on("save",c[28]),{c(){Kt(n.$$.fragment)},l(o){Zt(n.$$.fragment,o)},m(o,f){Xt(n,o,f),s=!0},p:qA,i(o){s||(at(n.$$.fragment,o),s=!0)},o(o){dt(n.$$.fragment,o),s=!1},d(o){qt(n,o)}}}function p7(c){let n,s;return n=new Nv({props:{saveSettings:c[9]}}),n.$on("save",c[27]),{c(){Kt(n.$$.fragment)},l(o){Zt(n.$$.fragment,o)},m(o,f){Xt(n,o,f),s=!0},p:qA,i(o){s||(at(n.$$.fragment,o),s=!0)},o(o){dt(n.$$.fragment,o),s=!1},d(o){qt(n,o)}}}function m7(c){let n,s;return n=new $v({props:{saveSettings:c[26]}}),{c(){Kt(n.$$.fragment)},l(o){Zt(n.$$.fragment,o)},m(o,f){Xt(n,o,f),s=!0},p(o,f){const p={};f[0]&32&&(p.saveSettings=o[26]),n.$set(p)},i(o){s||(at(n.$$.fragment,o),s=!0)},o(o){dt(n.$$.fragment,o),s=!1},d(o){qt(n,o)}}}function b7(c){let n,s;return n=new Uv({props:{saveSettings:c[25]}}),{c(){Kt(n.$$.fragment)},l(o){Zt(n.$$.fragment,o)},m(o,f){Xt(n,o,f),s=!0},p(o,f){const p={};f[0]&32&&(p.saveSettings=o[25]),n.$set(p)},i(o){s||(at(n.$$.fragment,o),s=!0)},o(o){dt(n.$$.fragment,o),s=!1},d(o){qt(n,o)}}}function C7(c){let n,s;return n=new Qk({props:{saveSettings:c[9]}}),n.$on("save",c[24]),{c(){Kt(n.$$.fragment)},l(o){Zt(n.$$.fragment,o)},m(o,f){Xt(n,o,f),s=!0},p:qA,i(o){s||(at(n.$$.fragment,o),s=!0)},o(o){dt(n.$$.fragment,o),s=!1},d(o){qt(n,o)}}}function I7(c){let n,s;return n=new Qw({props:{getModels:c[10],saveSettings:c[9]}}),n.$on("save",c[23]),{c(){Kt(n.$$.fragment)},l(o){Zt(n.$$.fragment,o)},m(o,f){Xt(n,o,f),s=!0},p:qA,i(o){s||(at(n.$$.fragment,o),s=!0)},o(o){dt(n.$$.fragment,o),s=!1},d(o){qt(n,o)}}}function w7(c){let n,s,o,f=c[5].t("Settings")+"",p,C,b,k='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5"><path d="M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z"></path></svg>',E,B,G,D,_,O,j,U,H,Z,X,g,v,e,d,T,re,N,F;O=new DC({props:{className:"size-3.5"}});const Ce=[t7,e7],he=[];function ce(Ne,de){return Ne[2].length>0?0:1}X=ce(c),g=he[X]=Ce[X](c);const ge=[I7,C7,b7,m7,p7,h7,g7,d7,f7],Me=[];function Ue(Ne,de){return Ne[3]==="general"?0:Ne[3]==="interface"?1:Ne[3]==="connections"?2:Ne[3]==="tools"?3:Ne[3]==="personalization"?4:Ne[3]==="audio"?5:Ne[3]==="chats"?6:Ne[3]==="account"?7:Ne[3]==="about"?8:-1}return~(d=Ue(c))&&(T=Me[d]=ge[d](c)),{c(){n=q("div"),s=q("div"),o=q("div"),p=Xe(f),C=Pe(),b=q("button"),b.innerHTML=k,E=Pe(),B=q("div"),G=q("div"),D=q("div"),_=q("div"),Kt(O.$$.fragment),j=Pe(),U=q("input"),Z=Pe(),g.c(),v=Pe(),e=q("div"),T&&T.c(),this.h()},l(Ne){n=J(Ne,"DIV",{class:!0});var de=$(n);s=J(de,"DIV",{class:!0});var me=$(s);o=J(me,"DIV",{class:!0});var we=$(o);p=qe(we,f),we.forEach(z),C=Se(me),b=J(me,"BUTTON",{class:!0,"data-svelte-h":!0}),hr(b)!=="svelte-745w2y"&&(b.innerHTML=k),me.forEach(z),E=Se(de),B=J(de,"DIV",{class:!0});var _e=$(B);G=J(_e,"DIV",{id:!0,class:!0});var pe=$(G);D=J(pe,"DIV",{class:!0,id:!0});var it=$(D);_=J(it,"DIV",{class:!0});var We=$(_);Zt(O.$$.fragment,We),We.forEach(z),j=Se(it),U=J(it,"INPUT",{class:!0,placeholder:!0}),it.forEach(z),Z=Se(pe),g.l(pe),pe.forEach(z),v=Se(_e),e=J(_e,"DIV",{class:!0});var ot=$(e);T&&T.l(ot),ot.forEach(z),_e.forEach(z),de.forEach(z),this.h()},h(){V(o,"class","text-lg font-medium self-center"),V(b,"class","self-center"),V(s,"class","flex justify-between dark:text-gray-300 px-5 pt-4 pb-1"),V(_,"class","self-center rounded-l-xl bg-transparent"),V(U,"class","w-full py-1.5 text-sm bg-transparent dark:text-gray-300 outline-hidden svelte-1vx7r9s"),V(U,"placeholder",H=c[5].t("Search")),V(D,"class","hidden md:flex w-full rounded-xl -mb-1 px-0.5 gap-2"),V(D,"id","settings-search"),V(G,"id","settings-tabs-container"),V(G,"class","tabs flex flex-row overflow-x-auto gap-2.5 md:gap-1 md:flex-col flex-1 md:flex-none md:w-40 dark:text-gray-200 text-sm font-medium text-left mb-1 md:mb-0 -translate-y-1 svelte-1vx7r9s"),V(e,"class","flex-1 md:min-h-[32rem] max-h-[32rem]"),V(B,"class","flex flex-col md:flex-row w-full px-4 pt-1 pb-4 md:space-x-4"),V(n,"class","text-gray-700 dark:text-gray-100")},m(Ne,de){He(Ne,n,de),Q(n,s),Q(s,o),Q(o,p),Q(s,C),Q(s,b),Q(n,E),Q(n,B),Q(B,G),Q(G,D),Q(D,_),Xt(O,_,null),Q(D,j),Q(D,U),cr(U,c[1]),Q(G,Z),he[X].m(G,null),Q(B,v),Q(B,e),~d&&Me[d].m(e,null),re=!0,N||(F=[Pt(b,"click",c[11]),Pt(U,"input",c[12]),Pt(U,"input",c[8])],N=!0)},p(Ne,de){(!re||de[0]&32)&&f!==(f=Ne[5].t("Settings")+"")&&st(p,f),
2829(!re||de[0]&32&&H!==(H=Ne[5].t("Search")))&&V(U,"placeholder",H),de[0]&2&&U.value!==Ne[1]&&cr(U,Ne[1]);let me=X;X=ce(Ne),X===me?he[X].p(Ne,de):(zr(),dt(he[me],1,1,()=>{he[me]=null}),Fr(),g=he[X],g?g.p(Ne,de):(g=he[X]=Ce[X](Ne),g.c()),at(g,1),g.m(G,null));let we=d;d=Ue(Ne),d===we?~d&&Me[d].p(Ne,de):(T&&(zr(),dt(Me[we],1,1,()=>{Me[we]=null}),Fr()),~d?(T=Me[d],T?T.p(Ne,de):(T=Me[d]=ge[d](Ne),T.c()),at(T,1),T.m(e,null)):T=null)},i(Ne){re||(at(O.$$.fragment,Ne),at(g),at(T),re=!0)},o(Ne){dt(O.$$.fragment,Ne),dt(g),dt(T),re=!1},d(Ne){Ne&&z(n),qt(O),he[X].d(),~d&&Me[d].d(),N=!1,Gs(F)}}}function k7(c){let n,s,o;function f(C){c[30](C)}let p={size:"xl",$$slots:{default:[w7]},$$scope:{ctx:c}};return c[0]!==void 0&&(p.show=c[0]),n=new Bl({props:p}),Br.push(()=>As(n,"show",f)),{c(){Kt(n.$$.fragment)},l(C){Zt(n.$$.fragment,C)},m(C,b){Xt(n,C,b),o=!0},p(C,b){const k={};b[0]&127|b[1]&1024&&(k.$$scope={dirty:b,ctx:C}),!s&&b[0]&1&&(s=!0,k.show=C[0],ts(()=>s=!1)),n.$set(k)},i(C){o||(at(n.$$.fragment,C),o=!0)},o(C){dt(n.$$.fragment,C),o=!1},d(C){qt(n,C)}}}function v7(c,n,s){let o,f,p,C;jA(c,no,We=>s(32,o=We)),jA(c,sl,We=>s(4,f=We)),jA(c,rl,We=>s(6,C=We));const b=Aa("i18n");jA(c,b,We=>s(5,p=We));let{show:k=!1}=n;const E=[{id:"general",title:"General",keywords:["general","theme","language","notifications","system","systemprompt","prompt","advanced","settings","defaultsettings","configuration","systemsettings","notificationsettings","systempromptconfig","languageoptions","defaultparameters","systemparameters"]},{id:"interface",title:"Interface",keywords:["defaultmodel","selectmodel","ui","userinterface","display","layout","design","landingpage","landingpagemode","default","chat","chatbubble","chatui","username","showusername","displayusername","widescreen","widescreenmode","fullscreen","expandmode","chatdirection","lefttoright","ltr","righttoleft","rtl","notifications","toast","toastnotifications","largechunks","streamlargechunks","scroll","scrollonbranchchange","scrollbehavior","richtext","richtextinput","background","chatbackground","chatbackgroundimage","backgroundimage","uploadbackground","resetbackground","titleautogen","titleautogeneration","autotitle","chattags","autochattags","responseautocopy","clipboard","location","userlocation","userlocationaccess","haptic","hapticfeedback","vibration","voice","voicecontrol","voiceinterruption","call","emojis","displayemoji","save","interfaceoptions","interfacecustomization","alwaysonwebsearch"]},{id:"connections",title:"Connections",keywords:[]},{id:"tools",title:"Tools",keywords:[]},{id:"personalization",title:"Personalization",keywords:["personalization","memory","personalize","preferences","profile","personalsettings","customsettings","userpreferences","accountpreferences"]},{id:"audio",title:"Audio",keywords:["audio","sound","soundsettings","audiocontrol","volume","speech","speechrecognition","stt","speechtotext","tts","texttospeech","playback","playbackspeed","voiceplayback","speechplayback","audiooutput","speechengine","voicecontrol","audioplayback","transcription","autotranscribe","autosend","speechsettings","audiovoice","voiceoptions","setvoice","nonlocalvoices","savesettings","audioconfig","speechconfig","voicerecognition","speechsynthesis","speechmode","voicespeed","speechrate","speechspeed","audioinput","audiofeatures","voicemodes"]},{id:"chats",title:"Chats",keywords:["chat","messages","conversations","chatsettings","history","chathistory","messagehistory","messagearchive","convo","chats","conversationhistory","exportmessages","chatactivity"]},{id:"account",title:"Account",keywords:["account","profile","security","privacy","settings","login","useraccount","userdata","api","apikey","userprofile","profiledetails","accountsettings","accountpreferences","securitysettings","privacysettings"]},{id:"admin",title:"Admin",keywords:["admin","administrator","adminsettings","adminpanel","systemadmin","administratoraccess","systemcontrol","manage","management","admincontrols","adminfeatures","usercontrol","arenamodel","evaluations","websearch","database","pipelines","images","audio","documents","rag","models","ollama","openai","users"]},{id:"about",title:"About",keywords:["about","info","information","version","documentation","help","support","details","aboutus","softwareinfo","timothyjaeryangbaek","openwebui","release","updates","updateinfo","versioninfo","abouta
2829pp","terms","termsandconditions","contact","aboutpage"]}];let B="",G=E.map(We=>We.id),D;const _=We=>{const ot=We.toLowerCase().trim();return E.filter(pt=>pt.title.toLowerCase().includes(ot)||pt.keywords.some(ct=>ct.includes(ot))).map(pt=>pt.id)},O=()=>{clearTimeout(D),D=setTimeout(()=>{s(2,G=_(B)),G.length>0&&!G.includes(H)&&s(3,H=G[0])},100)},j=async We=>{console.log(We),await no.set({...o,...We}),await lm.set(await U()),await am(localStorage.token,{ui:o})},U=async()=>{var We;return await Am(localStorage.token,((We=f==null?void 0:f.features)==null?void 0:We.enable_direct_connections)&&((o==null?void 0:o.directConnections)??null))};let H="general";const Z=We=>{const ot=document.getElementById("settings-tabs-container");ot&&(We.preventDefault(),ot.scrollLeft+=We.deltaY)},X=async()=>{await F0();const We=document.getElementById("settings-tabs-container");We&&We.addEventListener("wheel",Z)},g=async()=>{await F0();const We=document.getElementById("settings-tabs-container");We&&We.removeEventListener("wheel",Z)},v=()=>{s(0,k=!1)};function e(){B=this.value,s(1,B)}const d=()=>{s(3,H="general")},T=()=>{s(3,H="interface")},re=()=>{s(3,H="connections")},N=()=>{s(3,H="tools")},F=()=>{s(3,H="personalization")},Ce=()=>{s(3,H="audio")},he=()=>{s(3,H="chats")},ce=()=>{s(3,H="account")},ge=()=>{s(3,H="about")},Me=async()=>{await V0("/admin/settings"),s(0,k=!1)},Ue=()=>{gr.success(p.t("Settings saved successfully!"))},Ne=()=>{gr.success(p.t("Settings saved successfully!"))},de=async We=>{await j(We),gr.success(p.t("Settings saved successfully!"))},me=async We=>{await j(We),gr.success(p.t("Settings saved successfully!"))},we=()=>{gr.success(p.t("Settings saved successfully!"))},_e=()=>{gr.success(p.t("Settings saved successfully!"))},pe=()=>{gr.success(p.t("Settings saved successfully!"))};function it(We){k=We,s(0,k)}return c.$$set=We=>{"show"in We&&s(0,k=We.show)},c.$$.update=()=>{c.$$.dirty[0]&1&&(k?X():g())},[k,B,G,H,f,p,C,b,O,j,U,v,e,d,T,re,N,F,Ce,he,ce,ge,Me,Ue,Ne,de,me,we,_e,pe,it]}class y7 extends vs{constructor(n){super(),ys(this,n,v7,k7,ks,{show:0},null,[-1,-1])}}function zp(c,n,s){const o=c.slice();return o[18]=n[s],o}function Fp(c){let n,s=Ur({length:c[6]}),o=[];for(let f=0;f<s.length;f+=1)o[f]=Op(zp(c,s,f));return{c(){n=q("div");for(let f=0;f<o.length;f+=1)o[f].c();this.h()},l(f){n=J(f,"DIV",{class:!0});var p=$(n);for(let C=0;C<o.length;C+=1)o[C].l(p);p.forEach(z),this.h()},h(){V(n,"class","confetti-holder svelte-io58ff"),k2(n,"rounded",c[9]),k2(n,"cone",c[10]),k2(n,"no-gravity",c[11])},m(f,p){He(f,n,p);for(let C=0;C<o.length;C+=1)o[C]&&o[C].m(n,null)},p(f,p){if(p&20991){s=Ur({length:f[6]});let C;for(C=0;C<s.length;C+=1){const b=zp(f,s,C);o[C]?o[C].p(b,p):(o[C]=Op(b),o[C].c(),o[C].m(n,null))}for(;C<o.length;C+=1)o[C].d(1);o.length=s.length}p&512&&k2(n,"rounded",f[9]),p&1024&&k2(n,"cone",f[10]),p&2048&&k2(n,"no-gravity",f[11])},d(f){f&&z(n),Un(o,f)}}}function Op(c){let n;return{c(){n=q("div"),this.h()},l(s){n=J(s,"DIV",{class:!0,style:!0}),$(n).forEach(z),this.h()},h(){V(n,"class","confetti svelte-io58ff"),Ma(n,"--fall-distance",c[8]),Ma(n,"--size",c[0]+"px"),Ma(n,"--color",c[14]()),Ma(n,"--skew",ro(-45,45)+"deg,"+ro(-45,45)+"deg"),Ma(n,"--rotation-xyz",ro(-10,10)+", "+ro(-10,10)+", "+ro(-10,10)),Ma(n,"--rotation-deg",ro(0,360)+"deg"),Ma(n,"--translate-y-multiplier",ro(c[2][0],c[2][1])),Ma(n,"--translate-x-multiplier",ro(c[1][0],c[1][1])),Ma(n,"--scale",.1*ro(2,10)),Ma(n,"--transition-duration",c[4]?`calc(${c[3]}ms * var(--scale))`:`${c[3]}ms`),Ma(n,"--transition-delay",ro(c[5][0],c[5][1])+"ms"),Ma(n,"--transition-iteration-count",c[4]?"infinite":c[7]),Ma(n,"--x-spread",1-c[12])},m(s,o){He(s,n,o)},p(s,o){o&256&&Ma(n,"--fall-distance",s[8]),o&1&&Ma(n,"--size",s[0]+"px"),o&4&&Ma(n,"--translate-y-multiplier",ro(s[2][0],s[2][1])),o&2&&Ma(n,"--translate-x-multiplier",ro(s[1][0],s[1][1])),o&24&&Ma(n,"--transition-duration",s[4]?`calc(${s[3]}ms * var(--scale))`:`${s[3]}ms`),o&32&&Ma(n,"--transition-delay",ro(s[5][0],s[5][1])+"ms"),o&144&&Ma(n,"--transition-iteration-count",s[4]?"infinite":s[7]),o&4096&&Ma(n,"--x-spread",1-s[12])},d(s){s&&z(n)}}}function E7(c){let n,s=!c[13]&&Fp(c);return{c(){s&&s.c(),n=ws()},l(o){s&&s.l(o),n=ws()},m(o,f){s&&s.m(o,f),He(o,n,f)},p(o,[f]){o[13]?s&&(s.d(1),s=null):s?s.p(o,f):(s=Fp(o),s.c(),s.m(n.parentNode,n))},i:qA,o:qA,d(o){o&&z(n),s&&s.d(o)}}}function ro(c,n){return Math.random()*(n-c)+c}function B7(c,n,s){let{size:o=10}=n,{x:f=[-.5,.5]}=n,{y:p=[.25,1]}=n,{duration:C=2e3}=n,{infinite:b=!1}=n,{delay:k=[0,50]}=n,{colorRange:E=[0,360]}=n,{colorArray:B=[]}=n,{amount:G=50}=n,{iterationCount:D=1}=n,{fallDistance:_="100px"}=n,{rounded:O=!1}=n,{cone:j=!1}=n,{noGravity:U=!1}=n,{xSpread:H=.15}=n,{destroyOnComplete:Z=!0}=n,X=!1;Kn(()=>{!Z||b||D=="infinite"||setTimeout(()=>s(13,X=!0),(C+k[1])*D)});function g(){return B.length?B[Math.round(Math.random()*(B.length-1))]:`hsl(${Math.round(ro(E[0],E[1]))}, 75%, 50%)`}return c.$$set=v=>{"size"in v&&s(0,o=v.size),"x"in v&&s(1,f=v.x),"y"in v&&s(2,p=v.y),"duration"in v&&s(3,C=v.duration),"infinite"in v&&s(4,b=v.infinite),"delay"in v&&s(5,k=v.delay),"colorRange"in v&&s(15,E=v.colorRange),"colorArray"in v&&s(16,B=v.colorArray),"amount"in v&&s(6,G=v.amount),"iterationCount"in v&&s(7,D=v.iterationCount),"fallDistance"in v&&s(8,_=v.fallDistance),"rounded"in v&&s(9,O=v.rounded),"cone"in v&&s(10,j=v.cone),"noGravity"in v&&s(11,U=v.noGravity),"xSpread"in v&&s(12,H=v.xSpread),"destroyOnComplete"in v&&s(17,Z=v.destroyOnComplete)},[o,f,p,C,b,k,G,D,_,O,j,U,H,X,g,E,B,Z]}class x7 extends vs{constructor(n){super(),ys(this,n,B7,E7,ks,{size:0,x:1,y:2,duration:3,infinite:4,delay:5,colorRange:15,colorArray:16,amount:6,iterationCount:7,fallDistance:8,rounded:9,cone:10,noGravity:11,xSpread:12,destroyOnComplete:17})}}function Lp(c,n,s){const o=c.slice();return o[10]=n[s],o}function Vp(c,n,s){const o=c.slice();return o[13]=n[s],o}function Hp(c,n,s){const o=c.slice();return o[16]=n[s],o}function Yp(c){let n,s=Ur(Object.keys(c[1])),o=[];for(let f=0;f<s.length;f+=1)o[f]=Wp(Lp(c,s,f));return{c(){for(let f=0;f<o.length;f+=1)o[f].c();n=ws()},l(f){for(let p=0;p<o.length;p+=1)o[p].l(f);n=ws()},m(f,p){for(let C=0;C<o.length;C+=1)o[C]&&o[C].m(f,p);He(f,n,p)},p(f,p){if(p&2){s=Ur(Object.keys(f[1]));let C;for(C=0;C<s.length;C+=1){const b=Lp(f,s,C);o[C]?o[C].p(b,p):(o[C]=Wp(b),o[C].c(),o[C].m(n.parentNode,n))}for(;C<o.length;C+=1)o[C].d(1);o.length=s.length}},d(f){f&&z(n),Un(o,f)}}}function Rp(c){let n,s,o=c[1][c[10]][c[13]][c[16]].title+"",f,p,C,b=c[1][c[10]][c[13]][c[16]].content+"",k;return{c(){n=q("div"),s=q("div"),f=Xe(o),p=Pe(),C=q("div"),k=Xe(b),this.h()},l(E){n=J(E,"DIV",{class:!0});var B=$(n);s=J(B,"DIV",{class:!0});var G=$(s);f=qe(G,o),G.forEach(z),p=Se(B),C=J(B,"DIV",{class:!0});var D=$(C);k=qe(D,b),D.forEach(z),B.forEach(z),this.h()},h(){V(s,"class","font-semibold uppercase"),V(C,"class","mb-2 mt-1"),V(n,"class","text-sm mb-2")},m(E,B){He(E,n,B),Q(n,s),Q(s,f),Q(n,p),Q(n,C),Q(C,k)},p(E,B){B&2&&o!==(o=E[1][E[10]][E[13]][E[16]].title+"")&&st(f,o),B&2&&b!==(b=E[1][E[10]][E[13]][E[16]].content+"")&&st(k,b)},d(E){E&&z(n)}}}function jp(c){let n,s,o=c[13]+"",f,p,C,b,k=Ur(Object.keys(c[1][c[10]][c[13]])),E=[];for(let B=0;B<k.length;B+=1)E[B]=Rp(Hp(c,k,B));return{c(){n=q("div"),s=q("div"),f=Xe(o),C=Pe(),b=q("div");for(let B=0;B<E.length;B+=1)E[B].c();this.h()},l(B){n=J(B,"DIV",{class:!0});var G=$(n);s=J(G,"DIV",{class:!0});var D=$(s);f=qe(D,o),D.forEach(z),C=Se(G),b=J(G,"DIV",{class:!0});var _=$(b);for(let O=0;O<E.length;O+=1)E[O].l(_);_.forEach(z),G.forEach(z),this.h()},h(){V(s,"class",p="font-semibold uppercase text-xs "+(c[13]==="added"?"text-white bg-blue-600":c[13]==="fixed"?"text-white bg-green-600":c[13]==="changed"?"text-white bg-yellow-600":c[13]==="removed"?"text-white bg-red-600":"")+" w-fit px-3 rounded-full my-2.5"),V(b,"class","my-2.5 px-1.5"),V(n,"class","")},m(B,G){He(B,n,G),Q(n,s),Q(s,f),Q(n,C),Q(n,b);for(let D=0;D<E.length;D+=1)E[D]&&E[D].m(b,null)},p(B,G){if(G&2&&o!==(o=B[13]+"")&&st(f,o),G&2&&p!==(p="font-semibold uppercase text-xs "+(B[13]==="added"?"text-white bg-blue-600":B[13]==="fixed"?"text-white bg-green-600":B[13]==="changed"?"text-white bg-yellow-600":B[13]==="removed"?"text-white bg-red-600":"")+" w-fit px-3 rounded-full my-2.5")&&V(s,"class",p),G&2){k=Ur(Object.keys(B[1][B[10]][B[13]]));let D;for(D=0;D<k.length;D+=1){const _=Hp(B,k,D);E[D]?E[D].p(_,G):(E[D]=Rp(_),E[D].c(),E[D].m(b,null))}for(;D<E.length;D+=1)E[D].d(1);E.length=k.length}},d(B){B&&z(n),Un(E,B)}}}function Wp(c){let n,s,o,f=c[10]+"",p,C,b=c[1][c[10]].date+"",k,E,B,G,D,_=Ur(Object.keys(c[1][c[10]]).filter(Up)),O=[];for(let j=0;j<_.length;j+=1)O[j]=jp(Vp(c,_,j));return{c(){n=q("div"),s=q("div"),o=Xe("v"),p=Xe(f),C=Xe(" - "),k=Xe(b),E=Pe(),B=q("hr"),G=Pe();for(let j=0;j<O.length;j+=1)O[j].c();D=Pe(),this.h()},l(j){n=J(j,"DIV",{class:!0});var U=$(n);s=J(U,"DIV",{class:!0});var H=$(s);o=qe(H,"v"),p=qe(H,f),C=qe(H," - "),k=qe(H,b),H.forEach(z),E=Se(U),B=J(U,"HR",{class:!0}),G=Se(U);for(let Z=0;Z<O.length;Z+=1)O[Z].l(U);
2829D=Se(U),U.forEach(z),this.h()},h(){V(s,"class","font-semibold text-xl mb-1 dark:text-white"),V(B,"class","border-gray-100 dark:border-gray-850 my-2"),V(n,"class","mb-3 pr-2")},m(j,U){He(j,n,U),Q(n,s),Q(s,o),Q(s,p),Q(s,C),Q(s,k),Q(n,E),Q(n,B),Q(n,G);for(let H=0;H<O.length;H+=1)O[H]&&O[H].m(n,null);Q(n,D)},p(j,U){if(U&2&&f!==(f=j[10]+"")&&st(p,f),U&2&&b!==(b=j[1][j[10]].date+"")&&st(k,b),U&2){_=Ur(Object.keys(j[1][j[10]]).filter(Up));let H;for(H=0;H<_.length;H+=1){const Z=Vp(j,_,H);O[H]?O[H].p(Z,U):(O[H]=jp(Z),O[H].c(),O[H].m(n,D))}for(;H<O.length;H+=1)O[H].d(1);O.length=_.length}},d(j){j&&z(n),Un(O,j)}}}function M7(c){let n,s,o,f=c[2].t("What’s New in")+"",p,C,b,k,E,B,G,D='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="w-5 h-5"><path d="M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z"></path></svg>',_,O,j,U=c[2].t("Release Notes")+"",H,Z,X,g,v,e,d,T,re,N,F,Ce,he,ce,ge,Me=c[2].t("Okay, Let's Go!")+"",Ue,Ne,de,me;E=new x7({props:{x:[-1,-.25],y:[0,.5]}});let we=c[1]&&Yp(c);return{c(){n=q("div"),s=q("div"),o=q("div"),p=Xe(f),C=Pe(),b=Xe(c[3]),k=Pe(),Kt(E.$$.fragment),B=Pe(),G=q("button"),G.innerHTML=D,_=Pe(),O=q("div"),j=q("div"),H=Xe(U),Z=Pe(),X=q("div"),g=Pe(),v=q("div"),e=Xe("v"),d=Xe(y0),T=Pe(),re=q("div"),N=q("div"),F=q("div"),we&&we.c(),Ce=Pe(),he=q("div"),ce=q("button"),ge=q("span"),Ue=Xe(Me),this.h()},l(_e){n=J(_e,"DIV",{class:!0});var pe=$(n);s=J(pe,"DIV",{class:!0});var it=$(s);o=J(it,"DIV",{class:!0});var We=$(o);p=qe(We,f),C=Se(We),b=qe(We,c[3]),k=Se(We),Zt(E.$$.fragment,We),We.forEach(z),B=Se(it),G=J(it,"BUTTON",{class:!0,"data-svelte-h":!0}),hr(G)!=="svelte-14wj4tl"&&(G.innerHTML=D),it.forEach(z),_=Se(pe),O=J(pe,"DIV",{class:!0});var ot=$(O);j=J(ot,"DIV",{class:!0});var pt=$(j);H=qe(pt,U),pt.forEach(z),Z=Se(ot),X=J(ot,"DIV",{class:!0}
2829),$(X).forEach(z),g=Se(ot),v=J(ot,"DIV",{class:!0});var ct=$(v);e=qe(ct,"v"),d=qe(ct,y0),ct.forEach(z),ot.forEach(z),pe.forEach(z),T=Se(_e),re=J(_e,"DIV",{class:!0});var Re=$(re);N=J(Re,"DIV",{class:!0});var tt=$(N);F=J(tt,"DIV",{class:!0});var It=$(F);we&&we.l(It),It.forEach(z),tt.forEach(z),Ce=Se(Re),he=J(Re,"DIV",{class:!0});var wt=$(he);ce=J(wt,"BUTTON",{class:!0});var ze=$(ce);ge=J(ze,"SPAN",{class:!0});var At=$(ge);Ue=qe(At,Me),At.forEach(z),ze.forEach(z),wt.forEach(z),Re.forEach(z),this.h()},h(){V(o,"class","text-xl font-semibold"),V(G,"class","self-center"),V(s,"class","flex justify-between items-start"),V(j,"class","text-sm dark:text-gray-200"),V(X,"class","flex self-center w-[1px] h-6 mx-2.5 bg-gray-200 dark:bg-gray-700"),V(v,"class","text-sm dark:text-gray-200"),V(O,"class","flex items-center mt-1"),V(n,"class","px-5 pt-4 dark:text-gray-300 text-gray-700"),V(F,"class","mb-3"),V(N,"class","overflow-y-scroll max-h-96 scrollbar-hidden"),V(ge,"class","relative"),V(ce,"class","px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"),V(he,"class","flex justify-end pt-3 text-sm font-medium"),V(re,"class","w-full p-4 px-5 text-gray-700 dark:text-gray-100")},m(_e,pe){He(_e,n,pe),Q(n,s),Q(s,o),Q(o,p),Q(o,C),Q(o,b),Q(o,k),Xt(E,o,null),Q(s,B),Q(s,G),Q(n,_),Q(n,O),Q(O,j),Q(j,H),Q(O,Z),Q(O,X),Q(O,g),Q(O,v),Q(v,e),Q(v,d),He(_e,T,pe),He(_e,re,pe),Q(re,N),Q(N,F),we&&we.m(F,null),Q(re,Ce),Q(re,he),Q(he,ce),Q(ce,ge),Q(ge,Ue),Ne=!0,de||(me=[Pt(G,"click",c[7]),Pt(ce,"click",c[8])],de=!0)},p(_e,pe){(!Ne||pe&4)&&f!==(f=_e[2].t("What’s New in")+"")&&st(p,f),(!Ne||pe&8)&&st(b,_e[3]),(!Ne||pe&4)&&U!==(U=_e[2].t("Release Notes")+"")&&st(H,U),_e[1]?we?we.p(_e,pe):(we=Yp(_e),we.c(),we.m(F,null)):we&&(we.d(1),we=null),(!Ne||pe&4)&&Me!==(Me=_e[2].t("Okay, Let's Go!")+"")&&st(Ue,Me)},i(_e){Ne||(at(E.$$.fragment,_e),Ne=!0)},o(_e){dt(E.$$.fragment,_e),Ne=!1},d(_e){_e&&(z(n),z(T),z(re)),qt(E),we&&we.d(),de=!1,Gs(me)}}}function D7(c){let n,s,o;function f(C){c[9](C)}let p={size:"lg",$$slots:{default:[M7]},$$scope:{ctx:c}};return c[0]!==void 0&&(p.show=c[0]),n=new Bl({props:p}),Br.push(()=>As(n,"show",f)),{c(){Kt(n.$$.fragment)},l(C){Zt(n.$$.fragment,C)},m(C,b){Xt(n,C,b),o=!0},p(C,[b]){const k={};b&524351&&(k.$$scope={dirty:b,ctx:C}),!s&&b&1&&(s=!0,k.show=C[0],ts(()=>s=!1)),n.$set(k)},i(C){o||(at(n.$$.fragment,C),o=!0)},o(C){dt(n.$$.fragment,C),o=!1},d(C){qt(n,C)}}}const Up=c=>c!=="date";function G7(c,n,s){let o,f,p,C;jA(c,im,_=>s(3,f=_)),jA(c,sl,_=>s(4,p=_)),jA(c,no,_=>s(5,C=_));const b=Aa("i18n");jA(c,b,_=>s(2,o=_));let{show:k=!1}=n,E=null;Kn(async()=>{const _=await I8();s(1,E=_)});const B=()=>{localStorage.version=p.version,s(0,k=!1)},G=async()=>{localStorage.version=p.version,await no.set({...C,version:p.version}),await am(localStorage.token,{ui:C}),s(0,k=!1)};function D(_){k=_,s(0,k)}return c.$$set=_=>{"show"in _&&s(0,k=_.show)},[k,E,o,f,p,C,b,B,G,D]}class _7 extends vs{constructor(n){super(),ys(this,n,G7,D7,ks,{show:0})}}function Kp(c){let n,s,o=c[1].t("Admin")+"",f,p,C=c[0].name+"",b,k,E=c[0].email+"",B,G;return{c(){n=q("div"),s=q("div"),f=Xe(o),p=Xe(": "),b=Xe(C),k=Xe(" ("),B=Xe(E),G=Xe(")"),this.h()},l(D){n=J(D,"DIV",{class:!0});var _=$(n);s=J(_,"DIV",{});var O=$(s);f=qe(O,o),p=qe(O,": "),b=qe(O,C),k=qe(O," ("),B=qe(O,E),G=qe(O,")"),O.forEach(z),_.forEach(z),this.h()},h(){V(n,"class","mt-4 text-sm font-medium text-center")},m(D,_){He(D,n,_),Q(n,s),Q(s,f),Q(s,p),Q(s,b),Q(s,k),Q(s,B),Q(s,G)},p(D,_){_&2&&o!==(o=D[1].t("Admin")+"")&&st(f,o),_&1&&C!==(C=D[0].name+"")&&st(b,C),_&1&&E!==(E=D[0].email+"")&&st(B,E)},d(D){D&&z(n)}}}function T7(c){let n,s,o,f,p,C=c[1].t("Account Activation Pending")+"",b,k,E,B=c[1].t("Contact Admin for WebUI Access")+"",G,D,_,O=c[1].t("Your account status is currently pending activation.")+"",j,U,H,Z=c[1].t("To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.")+"",X,g,v,e,d,T=c[1].t("Check Again")+"",re,N,F,Ce=c[1].t("Sign Out")+"",he,ce,ge,Me=c[0]&&Kp(c);return{c(){n=q("div"),s=q("div"),o=q("div"),f=q("div"),p=q("div"),b=Xe(C),k=q("br"),E=Pe(),G=Xe(B),D=Pe(),_=q("div"),j=Xe(O),U=q("br"),H=Pe(),X=Xe(Z),g=Pe(),Me&&Me.c(),v=Pe(),e=q("div"),d=q("button"),re=Xe(T),N=Pe(),F=q("button"),he=Xe(Ce),this.h()},l(Ue){n=J(Ue,"DIV",{class:!0});var Ne=$(n);s=J(Ne,"DIV",{class:!0});var de=$(s);o=J(de,"DIV",{class:!0});var me=$(o);f=J(me,"DIV",{class:!0});var we=$(f);p=J(we,"DIV",{class:!0});var _e=$(p);b=qe(_e,C),k=J(_e,"BR",{}),E=Se(_e),G=qe(_e,B),_e.forEach(z),D=Se(we),_=J(we,"DIV",{class:!0});var pe=$(_);j=qe(pe,O),U=J(pe,"BR",{}),H=Se(pe),X=qe(pe,Z),pe.forEach(z),g=Se(we),Me&&Me.l(we),v=Se(we),e=J(we,"DIV",{class:!0});var it=$(e);d=J(it,"BUTTON",{class:!0});var We=$(d);re=qe(We,T),We.forEach(z),N=Se(it),F=J(it,"BUTTON",{class:!0});var ot=$(F);he=qe(ot,Ce),ot.forEach(z),it.forEach(z),we.forEach(z),me.forEach(z),de.forEach(z),Ne.forEach(z),this.h()},h(){V(p,"class","text-center dark:text-white text-2xl font-medium z-50"),V(_,"class","mt-4 text-center text-sm dark:text-gray-200 w-full"),V(d,"class","relative z-20 flex px-5 py-2 rounded-full bg-white border border-gray-100 dark:border-none hover:bg-gray-100 text-gray-700 transition font-medium text-sm"),V(F,"class","text-xs text-center w-full mt-2 text-gray-400 underline"),V(e,"class","mt-6 mx-auto relative group w-fit"),V(f,"class","max-w-md"),V(o,"class","m-auto pb-10 flex flex-col justify-center"),V(s,"class","absolute w-full h-full backdrop-blur-lg bg-white/10 dark:bg-gray-900/50 flex justify-center"),V(n,"class","fixed w-full h-full flex z-999")},m(Ue,Ne){He(Ue,n,Ne),Q(n,s),Q(s,o),Q(o,f),Q(f,p),Q(p,b),Q(p,k),Q(p,E),Q(p,G),Q(f,D),Q(f,_),Q(_,j),Q(_,U),Q(_,H),Q(_,X),Q(f,g),Me&&Me.m(f,null),Q(f,v),Q(f,e),Q(e,d),Q(d,re),Q(e,N),Q(e,F),Q(F,he),ce||(ge=[Pt(d,"click",c[3]),Pt(F,"click",c[4])],ce=!0)},p(Ue,[Ne]){Ne&2&&C!==(C=Ue[1].t("Account Activation Pending")+"")&&st(b,C),Ne&2&&B!==(B=Ue[1].t("Contact Admin for WebUI Access")+"")&&st(G,B),Ne&2&&O!==(O=Ue[1].t("Your account status is currently pending activation.")+"")&&st(j,O),Ne&2&&Z!==(Z=Ue[1].t("To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.")+"")&&st(X,Z),Ue[0]?Me?Me.p(Ue,Ne):(Me=Kp(Ue),Me.c(),Me.m(f,v)):Me&&(Me.d(1),Me=null),Ne&2&&T!==(T=Ue[1].t("Check Again")+"")&&st(re,T),Ne&2&&Ce!==(Ce=Ue[1].t("Sign Out")+"")&&st(he,Ce)},i:qA,o:qA,d(Ue){Ue&&z(n),Me&&Me.d(),ce=!1,Gs(ge)}}}function Q7(c,n,s){let o;const f=Aa("i18n");jA(c,f,k=>s(1,o=k));let p=null;return Kn(async()=>{s(0,p=await wC(localStorage.token).catch(k=>(console.error(k),null)))}),[p,o,f,async()=>{location.href="/"},async()=>{localStorage.removeItem("token"),location.href="/auth"}]}class P7 extends vs{constructor(n){super(),ys(this,n,Q7,T7,ks,{})}}function S7(c){let n,s,o=c[1].t("A new version (v{{LATEST_VERSION}}) is now available.",{LATEST_VERSION:c[0].latest})+"",f,p,C,b=c[1].t("Update for the latest features and improvements.")+"",k,E,B,G,D,_,O,j;return D=new ad({}),{c(){n=q("div"),s=q("div"),f=Xe(o),p=Pe(),C=q("a"),k=Xe(b),E=Pe(),B=q("div"),G=q("button"),Kt(D.$$.fragment),this.h()},l(U){n=J(U,"DIV",{class:!0});var H=$(n);s=J(H,"DIV",{class:!0});var Z=$(s);f=qe(Z,o),p=Se(Z),C=J(Z,"A",{href:!0,target:!0,class:!0});var X=$(C);
2829k=qe(X,b),X.forEach(z),Z.forEach(z),E=Se(H),B=J(H,"DIV",{class:!0});var g=$(B);G=J(g,"BUTTON",{class:!0});var v=$(G);Zt(D.$$.fragment,v),v.forEach(z),g.forEach(z),H.forEach(z),this.h()},h(){V(C,"href","https://github.com/open-webui/open-webui/releases"),V(C,"target","_blank"),V(C,"class","underline"),V(s,"class","flex-1 font-medium"),V(G,"class","hover:text-blue-900 dark:hover:text-blue-300 transition"),V(B,"class","shrink-0 pr-1"),V(n,"class","flex items-start bg-[#F1F8FE] dark:bg-[#020C1D] border border-[3371D5] dark:border-[#03113B] text-[#3371D5] dark:text-[#6795EC] rounded-lg px-3.5 py-3 text-xs max-w-80 pr-2 w-full shadow-lg")},m(U,H){He(U,n,H),Q(n,s),Q(s,f),Q(s,p),Q(s,C),Q(C,k),Q(n,E),Q(n,B),Q(B,G),Xt(D,G,null),_=!0,O||(j=Pt(G,"click",c[4]),O=!0)},p(U,[H]){(!_||H&3)&&o!==(o=U[1].t("A new version (v{{LATEST_VERSION}}) is now available.",{LATEST_VERSION:U[0].latest})+"")&&st(f,o),(!_||H&2)&&b!==(b=U[1].t("Update for the latest features and improvements.")+"")&&st(k,b)},i(U){_||(at(D.$$.fragment,U),_=!0)},o(U){dt(D.$$.fragment,U),_=!1},d(U){U&&z(n),qt(D),O=!1,j()}}}function N7(c,n,s){let o;const f=Wn(),p=Aa("i18n");jA(c,p,k=>s(1,o=k));let{version:C={current:y0,latest:y0}}=n;const b=()=>{f("close")};return c.$$set=k=>{"version"in k&&s(0,C=k.version)},[C,o,f,p,b]}class z7 extends vs{constructor(n){super(),ys(this,n,N7,S7,ks,{version:0})}}function Zp(c){let n,s,o,f;return s=new z7({props:{version:c[3]}}),s.$on("close",c[15]),{c(){n=q("div"),Kt(s.$$.fragment),this.h()},l(p){n=J(p,"DIV",{class:!0});var C=$(n);Zt(s.$$.fragment,C),C.forEach(z),this.h()},h(){V(n,"class","absolute bottom-8 right-8 z-50")},m(p,C){He(p,n,C),Xt(s,n,null),f=!0},p(p,C){const b={};C&8&&(b.version=p[3]),s.$set(b)},i(p){f||(at(s.$$.fragment,p),p&&(o||L0(()=>{o=Jp(n,$p,{duration:100}),o.start()})),f=!0)},o(p){dt(s.$$.fragment,p),f=!1},d(p){p&&z(n),qt(s)}}}function Xp(c){let n,s,o,f,p,C,b;const k=[O7,F7],E=[];function B(_,O){var j;return O&16&&(n=null),n==null&&(n=!["user","admin"].includes((j=_[4])==null?void 0:j.role)),n?0:_[2].length>0?1:-1}~(s=B(c,-1))&&(o=E[s]=k[s](c)),p=new aw({});const G=c[12].default,D=Q2(G,c,c[11],null);return{c(){o&&o.c(),f=Pe(),Kt(p.$$.fragment),C=Pe(),D&&D.c()},l(_){o&&o.l(_),f=Se(_),Zt(p.$$.fragment,_),C=Se(_),D&&D.l(_)},m(_,O){~s&&E[s].m(_,O),He(_,f,O),Xt(p,_,O),He(_,C,O),D&&D.m(_,O),b=!0},p(_,O){let j=s;s=B(_,O),s===j?~s&&E[s].p(_,O):(o&&(zr(),dt(E[j],1,1,()=>{E[j]=null}),Fr()),~s?(o=E[s],o?o.p(_,O):(o=E[s]=k[s](_),o.c()),at(o,1),o.m(f.parentNode,f)):o=null),D&&D.p&&(!b||O&2048)&&P2(D,G,_,_[11],b?N2(G,_[11],O,null):S2(_[11]),null)},i(_){b||(at(o),at(p.$$.fragment,_),at(D,_),b=!0)},o(_){dt(o),dt(p.$$.fragment,_),dt(D,_),b=!1},d(_){_&&(z(f),z(C)),~s&&E[s].d(_),qt(p,_),D&&D.d(_)}}}function F7(c){let n,s,o,f,p,C="Important Update<br/> Action Required for Chat Log Storage",b,k,E=c[7].t("Saving chat logs directly to your browser's storage is no longer supported. Please take a moment to download and delete your chat logs by clicking the button below. Don't worry, you can easily re-import your chat logs to the backend through")+"",B,G,D,_=c[7].t("Settings")+"",O,j,U=c[7].t("Chats")+"",H,Z,X=c[7].t("Import Chats")+"",g,v,e=c[7].t("This ensures that your valuable conversations are securely saved to your backend database. Thank you!")+"",d,T,re,N,F="Download & Delete",Ce,he,ce=c[7].t("Close")+"",ge,Me,Ue;return{c(){n=q("div"),s=q("div"),o=q("div"),f=q("div"),p=q("div"),p.innerHTML=C,b=Pe(),k=q("div"),B=Xe(E),G=Pe(),D=q("span"),O=Xe(_),j=Xe(" > "),H=Xe(U),Z=Xe(" > "),g=Xe(X),v=Xe(". "),d=Xe(e),T=Pe(),re=q("div"),N=q("button"),N.textContent=F,Ce=Pe(),he=q("button"),ge=Xe(ce),this.h()},l(Ne){n=J(Ne,"DIV",{class:!0});var de=$(n);s=J(de,"DIV",{class:!0});var me=$(s);o=J(me,"DIV",{class:!0});var we=$(o);f=J(we,"DIV",{class:!0});var _e=$(f);p=J(_e,"DIV",{class:!0,"data-svelte-h":!0}),hr(p)!=="svelte-mnqwc6"&&(p.innerHTML=C),b=Se(_e),k=J(_e,"DIV",{class:!0});var pe=$(k);B=qe(pe,E),G=Se(pe),D=J(pe,"SPAN",{class:!0});var it=$(D);O=qe(it,_),j=qe(it," > "),H=qe(it,U),Z=qe(it," > "),g=qe(it,X),it.forEach(z),v=qe(pe,". "),d=qe(pe,e),pe.forEach(z),T=Se(_e),re=J(_e,"DIV",{class:!0});var We=$(re);N=J(We,"BUTTON",{class:!0,"data-svelte-h":!0}),hr(N)!=="svelte-1ia8i9q"&&(N.textContent=F),Ce=Se(We),he=J(We,"BUTTON",{class:!0});var ot=$(he);ge=qe(ot,ce),ot.forEach(z),We.forEach(z),_e.forEach(z),we.forEach(z),me.forEach(z),de.forEach(z),this.h()},h(){V(p,"class","text-center dark:text-white text-2xl font-medium z-50"),V(D,"class","font-semibold dark:text-white"),V(k,"class","mt-4 text-center text-sm dark:text-gray-200 w-full"),V(N,"class","relative z-20 flex px-5 py-2 rounded-full bg-white border border-gray-100 dark:border-none hover:bg-gray-100 transition font-medium text-sm"),V(he,"class","text-xs text-center w-full mt-2 text-gray-400 underline"),V(re,"class","mt-6 mx-auto relative group w-fit"),V(f,"class","max-w-md"),V(o,"class","m-auto pb-44 flex flex-col justify-center"),V(s,"class","absolute w-full h-full backdrop-blur-md bg-white/20 dark:bg-gray-900/50 flex justify-center"),V(n,"class","fixed w-full h-full flex z-50")},m(Ne,de){He(Ne,n,de),Q(n,s),Q(s,o),Q(o,f),Q(f,p),Q(f,b),Q(f,k),Q(k,B),Q(k,G),Q(k,D),Q(D,O),Q(D,j),Q(D,H),Q(D,Z),Q(D,g),Q(k,v),Q(k,d),Q(f,T),Q(f,re),Q(re,N),Q(re,Ce),Q(re,he),Q(he,ge),Me||(Ue=[Pt(N,"click",c[16]),Pt(he,"click",c[17])],Me=!0)}
2829,p(Ne,de){de&128&&E!==(E=Ne[7].t("Saving chat logs directly to your browser's storage is no longer supported. Please take a moment to download and delete your chat logs by clicking the button below. Don't worry, you can easily re-import your chat logs to the backend through")+"")&&st(B,E),de&128&&_!==(_=Ne[7].t("Settings")+"")&&st(O,_),de&128&&U!==(U=Ne[7].t("Chats")+"")&&st(H,U),de&128&&X!==(X=Ne[7].t("Import Chats")+"")&&st(g,X),de&128&&e!==(e=Ne[7].t("This ensures that your valuable conversations are securely saved to your backend database. Thank you!")+"")&&st(d,e),de&128&&ce!==(ce=Ne[7].t("Close")+"")&&st(ge,ce)},i:qA,o:qA,d(Ne){Ne&&z(n),Me=!1,Gs(Ue)}}}function O7(c){let n,s;return n=new P7({}),{c(){Kt(n.$$.fragment)},l(o){Zt(n.$$.fragment,o)},m(o,f){Xt(n,o,f),s=!0},p:qA,i(o){s||(at(n.$$.fragment,o),s=!0)},o(o){dt(n.$$.fragment,o),s=!1},d(o){qt(n,o)}}}function L7(c){var Z;let n,s,o,f,p,C,b=c[3]&&Wf(c[3].latest,c[3].current)&&(((Z=c[5])==null?void 0:Z.showUpdateToast)??!0),k,E,B,G;function D(X){c[13](X)}let _={};c[6]!==void 0&&(_.show=c[6]),n=new y7({props:_}),Br.push(()=>As(n,"show",D));function O(X){c[14](X)}let j={};c[8]!==void 0&&(j.show=c[8]),f=new _7({props:j}),Br.push(()=>As(f,"show",O));let U=b&&Zp(c),H=c[0]&&Xp(c);return{c(){Kt(n.$$.fragment),o=Pe(),Kt(f.$$.fragment),C=Pe(),U&&U.c(),k=Pe(),E=q("div"),B=q("div"),H&&H.c(),this.h()},l(X){Zt(n.$$.fragment,X),o=Se(X),Zt(f.$$.fragment,X),C=Se(X),U&&U.l(X),k=Se(X),E=J(X,"DIV",{class:!0});var g=$(E);B=J(g,"DIV",{class:!0});var v=$(B);H&&H.l(v),v.forEach(z),g.forEach(z),this.h()},h(){V(B,"class","text-gray-700 dark:text-gray-100 bg-white dark:bg-gray-900 h-screen max-h-[100dvh] overflow-auto flex flex-row justify-end"),V(E,"class","app relative")},m(X,g){Xt(n,X,g),He(X,o,g),Xt(f,X,g),He(X,C,g),U&&U.m(X,g),He(X,k,g),He(X,E,g),Q(E,B),H&&H.m(B,null),G=!0},p(X,[g]){var d;const v={};!s&&g&64&&(s=!0,v.show=X[6],ts(()=>s=!1)),n.$set(v);const e={};!p&&g&256&&(p=!0,e.show=X[8],ts(()=>p=!1)),f.$set(e),g&40&&(b=X[3]&&Wf(X[3].latest,X[3].current)&&(((d=X[5])==null?void 0:d.showUpdateToast)??!0)),b?U?(U.p(X,g),g&40&&at(U,1)):(U=Zp(X),U.c(),at(U,1),U.m(k.parentNode,k)):U&&(zr(),dt(U,1,1,()=>{U=null}),Fr()),X[0]?H?(H.p(X,g),g&1&&at(H,1)):(H=Xp(X),H.c(),at(H,1),H.m(B,null)):H&&(zr(),dt(H,1,1,()=>{H=null}),Fr())},i(X){G||(at(n.$$.fragment,X),at(f.$$.fragment,X),at(U),at(H),G=!0)},o(X){dt(n.$$.fragment,X),dt(f.$$.fragment,X),dt(U),dt(H),G=!1},d(X){X&&(z(o),z(C),z(k),z(E)),qt(n,X),qt(f,X),U&&U.d(X),H&&H.d()}}}function V7(c,n,s){let o,f,p,C,b,k,E,B;jA(c,rl,re=>s(4,o=re)),jA(c,td,re=>s(18,f=re)),jA(c,sl,re=>s(19,p=re)),jA(c,no,re=>s(5,C=re)),jA(c,Wu,re=>s(20,b=re)),jA(c,Qf,re=>s(6,k=re)),jA(c,H1,re=>s(8,B=re));let{$$slots:G={},$$scope:D}=n;const{saveAs:_}=Ju,O=Aa("i18n");jA(c,O,re=>s(7,E=re));let j=!1,U=null,H=[],Z;Kn(async()=>{var re,N,F,Ce,he;if(o==null)await V0("/auth");else if(["user","admin"].includes(o==null?void 0:o.role)){try{if(s(1,U=await FC("Chats",1)),U){const ge=await U.getAllFromIndex("chats","timestamp");s(2,H=ge.map((Me,Ue)=>ge[ge.length-1-Ue])),H.length===0&&await qg("Chats")}console.log(U)}catch{}const ce=await T8(localStorage.token).catch(ge=>(console.error(ge),null));if(ce)no.set(ce.ui);else{let ge={};try{ge=JSON.parse(localStorage.getItem("settings")??"{}")}catch(Me){console.error("Failed to parse settings from localStorage",Me)}no.set(ge)}if(lm.set(await Am(localStorage.token,((re=p==null?void 0:p.features)==null?void 0:re.enable_direct_connections)&&((C==null?void 0:C.directConnections)??null))),N8.set(await G8(localStorage.token)),z8.set(await x8(localStorage.token)),om.set(await tm(E,(C==null?void 0:C.toolServers)??[])),document.addEventListener("keydown",async function(ge){var Ne,de,me,we,_e;const Me=ge.ctrlKey||ge.metaKey,Ue=ge.shiftKey;if(Me&&Ue&&ge.key.toLowerCase()==="o"&&(ge.preventDefault(),console.log("newChat"),(Ne=document.getElementById("sidebar-new-chat-button"))==null||Ne.click()),Ue&&ge.key==="Escape"&&(ge.preventDefault(),console.log("focusInput"),(de=document.getElementById("chat-input"))==null||de.focus()),Me&&Ue&&ge.key===";"){ge.preventDefault(),console.log("copyLastCodeBlock");const pe=[...document.getElementsByClassName("copy-code-button")].at(-1);pe==null||pe.click()}if(Me&&Ue&&ge.key.toLowerCase()==="c"){ge.preventDefault(),console.log("copyLastResponse");const pe=[...document.getElementsByClassName("copy-response-button")].at(-1);console.log(pe),pe==null||pe.click()}if(Me&&Ue&&ge.key.toLowerCase()==="s"&&(ge.preventDefault(),console.log("toggleSidebar"),(me=document.getElementById("sidebar-toggle-button"))==null||me.click()),Me&&Ue&&(ge.key==="Backspace"||ge.key==="Delete")&&(ge.preventDefault(),console.log("deleteChat"),(we=document.getElementById("delete-chat-button"))==null||we.click()),Me&&ge.key==="."&&(ge.preventDefault(),console.log("openSettings"),Qf.set(!k)),Me&&ge.key==="/"&&(ge.preventDefault(),console.log("showShortcuts"),(_e=document.getElementById("show-shortcuts-button"))==null||_e.click()),Me&&Ue&&(ge.key.toLowerCase()==="'"||ge.key.toLowerCase()==='"')){ge.preventDefault(),console.log("temporaryChat"),Wu.set(!b),await V0("/");const pe=document.getElementById("new-chat-button");setTimeout(()=>{pe==null||pe.click()},0)}}),(o==null?void 0:o.role)==="admin"&&((C==null?void 0:C.showChangelog)??!0)&&H1.set((C==null?void 0:C.version)!==p.version),(((F=(N=o==null?void 0:o.permissions)==null?void 0:N.chat)==null?void 0:F.temporary)??!0)&&(f.url.searchParams.get("temporary-chat")==="true"&&Wu.set(!0),(he=(Ce=o==null?void 0:o.permissions)==null?void 0:Ce.chat)!=null&&he.temporary_enforced&&Wu.set(!0)),(o==null?void 0:o.role)==="admin")if(localStorage.dismissedUpdateToast){const ge=new Date(Number(localStorage.dismissedUpdateToast));new Date-ge>24*60*60*1e3&&X()}else X();await F0()}s(0,j=!0)});const X=async()=>{s(3,Z=await em(localStorage.token).catch(re=>({current:y0,latest:y0})))};function g(re){k=re,Qf.set(k)}function v(re){B=re,H1.set(B)}const e=()=>{localStorage.setItem("dismissedUpdateToast",Date.now().toString()),s(3,Z=null)},d=async()=>{let re=new Blob([JSON.stringify(H)],{type:"application/json"});_(re,`chat-export-${Date.now()}.json`);const N=U.transaction("chats","readwrite");await Promise.all([N.store.clear(),N.done]),await qg("Chats"),s(2,H=[])},T=async()=>{s(2,H=[])};return c.$$set=re=>{"$$scope"in re&&s(11,D=re.$$scope)},[j,U,H,Z,o,C,k,E,B,_,O,D,G,g,v,e,d,T]}class Y9 extends vs{constructor(n){super(),ys(this,n,V7,L7,ks,{})}}export{Y9 as component};
2830//# sourceMappingURL=2.DQvRzxxR.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.