tinybase 9.7.0-beta.0 → 9.7.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/@types/omni/index.d.ts +1 -0
- package/@types/omni/with-schemas/index.d.ts +1 -0
- package/@types/persisters/persister-sqlite-node/index.d.ts +184 -0
- package/@types/persisters/persister-sqlite-node/with-schemas/index.d.ts +208 -0
- package/agents.md +38 -0
- package/min/omni/index.js +1 -1
- package/min/omni/index.js.gz +0 -0
- package/min/omni/with-schemas/index.js +1 -1
- package/min/omni/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-node/index.js +1 -0
- package/min/persisters/persister-sqlite-node/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-node/with-schemas/index.js +1 -0
- package/min/persisters/persister-sqlite-node/with-schemas/index.js.gz +0 -0
- package/omni/index.js +22 -0
- package/omni/with-schemas/index.js +22 -0
- package/package.json +42 -6
- package/persisters/persister-sqlite-node/index.js +1762 -0
- package/persisters/persister-sqlite-node/with-schemas/index.js +1762 -0
- package/readme.md +14 -14
- package/releases.md +94 -72
|
@@ -1 +1 @@
|
|
|
1
|
-
import{addDatabaseChangeListener as t}from"expo-sqlite";import{unwatchFile as e,existsSync as a,writeFileSync as n,watchFile as s}from"fs";import{readlink as o,writeFile as r,chmod as i,rename as c,readFile as l,lstat as d,realpath as u,stat as w,unlink as g}from"fs/promises";import{resolve as y,dirname as h}from"path";import{Map as f}from"yjs";import{DurableObject as v}from"cloudflare:workers";const b=t=>typeof t,m="tinybase",S="",T=",",C=".",p=b(S),E=b(!0),I=b(0),R=b(b),L="object",_="array",N="true",A="type",D="enum",O="default",k="allowNull",M="utf8",P="Listener",$="Result",x="add",V="Has",F="Ids",H="Table",U=H+"s",W=H+F,q="Row",G=q+"Count",z=q+F,B="Sorted"+q+F,X="Cell",j=X+F,J="Value",Q=J+"s",Y=J+F,K="open",Z="close",tt="message",et="error",at="change",nt="connection",st="storage",ot="required",rt="t",it="v",ct=t=>S+t,lt=(t,e)=>t.startsWith(e),dt=(t,e)=>t.endsWith(e),ut=(t,e)=>t?.match(e),wt=(t,e=S,a)=>t.split(e,a),gt=(t,e,a)=>t.replace(e,a),yt=Promise,ht=Math,ft=t=>(e,a,n)=>t(e)?n?.():a(e),vt=globalThis,bt=vt.window,mt=Number,St=String,Tt=(t,e,a)=>setInterval(t,1e3*e),Ct=t=>clearInterval(t),pt=(t,e=0)=>setTimeout(t,1e3*e),Et=t=>clearTimeout(t),It=(t,e,a)=>(t.addEventListener(e,a),()=>t.removeEventListener(e,a)),Rt=(t,e,a)=>(t.on(e,a),()=>t.off(e,a)),Lt=ht.max,_t=ht.min,Nt=ht.ceil,At=ht.floor,Dt=ht.random,Ot=1/0,kt=isFinite,Mt=mt.isInteger,Pt=t=>null==t,$t=t=>void 0===t,xt=t=>null===t,Vt=t=>!0===t,Ft=t=>!1===t,Ht=ft(Pt),Ut=ft($t),Wt=t=>t==p||t==E,qt=t=>b(t)==p,Gt=t=>b(t)==I,zt=t=>b(t)==R,Bt=t=>Array.isArray(t),Xt=(t,e,a)=>t.slice(e,a),jt=t=>t.length,Jt=t=>0==jt(t),Qt=(t,e)=>t.test(e),Yt=()=>{},Kt=()=>{},Zt=t=>t,te=t=>new yt(t),ee=async t=>yt.all(t),ae=()=>yt.resolve(),ne=vt.structuredClone,se=(t,e)=>t.includes(e),oe=(t,e)=>t.indexOf(e),re=(t,e)=>t.every(e),ie=(t,e)=>jt(t)===jt(e)&&re(t,(t,a)=>e[a]===t),ce=(t,e)=>re(t,(a,n)=>0==n||e(t[n-1],a)<=0),le=(t,e)=>t.sort(e),de=(t,e)=>t.forEach(e),ue=(t,e=S)=>t.join(e),we=(t,e)=>t.map(e),ge=t=>ye(t,(t,e)=>t+e,0),ye=(t,e,a)=>t.reduce(e,a),he=(t,e)=>t.filter(e),fe=(t,e)=>t.find(e),ve=(t,e=jt(t))=>t.splice(0,e),be=(t,...e)=>t.push(...e),me=t=>t.pop(),Se=(t,...e)=>t.unshift(...e),Te=t=>t.shift(),Ce=Object,pe=t=>Ce.getPrototypeOf(t),Ee=Ce.isFrozen,Ie=Ce.entries,Re=t=>!Pt(t)&&Ht(pe(t),t=>t==Ce.prototype||Pt(pe(t)),()=>!0),Le=Ce.keys,_e=Ce.freeze,Ne=(...t)=>Ce.assign(Ce.create(null),...t),Ae=(t,e)=>Ce.hasOwn(t,e),De=(t,e)=>Ut(t,t=>Ut(Ce.getOwnPropertyDescriptor(t,e),()=>t[e])),Oe=(t,e,a)=>(Ce.defineProperty(t,e,{configurable:!0,enumerable:!0,value:a,writable:!0}),a),ke=(t=[])=>{const e=Ce.create(null);return de(t,([t,a])=>Oe(e,t,a)),e},Me=(t,e)=>(delete t[e],t),Pe=(t,e)=>de(Le(t),a=>e(t[a],a)),$e=(t,e)=>{for(const a in t)if(Ae(t,a)&&!e(t[a],a))return!1;return!0},xe=(t,e)=>we(Ie(t),([t,a])=>e(a,t)),Ve=(t,e)=>{const a=ke();return Pe(t,(t,n)=>Oe(a,n,e(t,n))),a},Fe=(t,e)=>Ve(t,t=>Ve(t,e)),He=(t,e)=>Ve(t,t=>Fe(t,e)),Ue=t=>Ce.values(t),We=t=>jt(Le(t)),qe=t=>Re(t)&&0==We(t),Ge=(t,e,a=(t,e)=>t===e)=>We(t)===We(e)&&$e(t,(t,n)=>!!Ae(e,n)&&(Re(t)?!!Re(e[n])&&Ge(e[n],t,a):a(t,e[n]))),ze=(t,e,a)=>(Ae(t,e)||Oe(t,e,a()),t[e]),Be=(t,e,a)=>Pt(t)||!Re(t)||qe(t)||Ee(t)?(a?.(),!1):(Pe(t,(a,n)=>{e(a,n)||Me(t,n)}),!qe(t)),Xe=JSON.stringify,je=JSON.parse,Je=t=>Xe(t,(t,e)=>e instanceof Map?ke([...e]):e),Qe=t=>Xe(t,(t,e)=>$t(e)?"":e),Ye=t=>Ke(je(t)),Ke=t=>""===t?void 0:Bt(t)?we(t,Ke):Re(t)?Ve(t,Ke):t,Ze=t=>{if(xt(t))return"null";if(Bt(t))return _;if(Re(t))return L;const e=b(t);return Wt(e)||e==I&&kt(t)?e:void 0},ta=t=>$t(t)||!$t(Ze(t)),ea=t=>t==L||t==_,aa=t=>Wt(t)||t==I||ea(t),na=(t,e)=>Bt(t)?se(t,e):t==e,sa=t=>Re(t)||Bt(t)?"�"+Xe(t):t,oa=t=>qt(t)&&"�"==t[0],ra=(t,e=0)=>""===t||!e&&oa(t),ia=(t,e,a)=>!a&&oa(t)?je(Xt(t,1)):t,ca=t=>e=>{let a=0;for(const n of e.values())a+=t(n);return a},la=t=>t?.size??0,da=ca(la),ua=ca(da),wa=ca(ua),ga=(t,e)=>t?.has(e)??!1,ya=t=>$t(t)||0==la(t),ha=t=>[...t?.values()??[]],fa=(t,e)=>{for(const[a,n]of t?.entries()??[])if(!e(n,a))return!1;return!0},va=t=>t.clear(),ba=(t,e)=>t?.forEach(e),ma=(t,e)=>t?.delete(e),Sa=14,Ta=15,Ca=(t,e)=>Error(m+":"+t+($t(e)?S:":"+e)),pa=(t,e)=>{throw Ca(t,e)},Ea=(t,e)=>{try{return t()}catch{return e}},Ia=async(t,e)=>{try{return await t()}catch(t){e?.(t)}},Ra=(t,e)=>Ia(t,t=>{Ia(()=>e?.(t))}),La=(t,e)=>{try{return t()}catch(t){e?.(t)}},_a=(t,e)=>{try{return t()}finally{e()}},Na=async(t,e)=>{try{return await t()}finally{await e()}},Aa=Map,Da=t=>new Aa(t),Oa=()=>new WeakMap,ka=t=>[...t?.keys()??[]],Ma=(t,e)=>t?.get(e),Pa=(t,e)=>ba(t,(t,a)=>e(a,t)),$a=(t,e)=>{const a=[];return Pa(t,(t,n)=>be(a,e(n,t))),a},xa=(t,e,a)=>$t(a)?(ma(t,e),t):t?.set(e,a),Va=(t,e,a,n)=>{let s=Ma(t,e);return ga(t,e)?n?.(s):xa(t,e,s=a()),s},Fa=(t,e,a,n=xa)=>(Pe(e,(e,n)=>a(t,n,e)),Pa(t,a=>Ae(e,a)?0:n(t,a)),t),Ha=(t,e,a,n)=>{const s=ke();return ba(t,(t,o)=>{if(!a?.(t,o)){const a=e?e(t,o):t;n?.(a)||Oe(s,o,a)}}),s},Ua=(t,e,a)=>Ha(t,t=>Ha(t,e,a),ya,qe),Wa=(t,e,a)=>Ha(t,t=>Ua(t,e,a),ya,qe),qa=(t,e)=>{const a=Da();return ba(t,(t,n)=>a.set(n,e?.(t)??t)),a},Ga=t=>qa(t,qa),za=t=>qa(t,Ga),Ba=(t,e,a,n,s=0)=>Ut((a?Va:Ma)(t,e[s],s>jt(e)-2?a:Da),o=>{if(s>jt(e)-2)return n?.(o)&&xa(t,e[s]),o;const r=Ba(o,e,a,n,s+1);return ya(o)&&xa(t,e[s]),r}),Xa=t=>new Set(Bt(t)||$t(t)?t:[t]),ja=(t,e)=>t?.add(e),Ja=(t,e,a,n,s)=>{const o=t.hasRow,r=Da(),i=Da(),c=Da(),l=Da(),d=Da(),u=Da(),w=e=>Ut(Ma(u,e),a=>{ba(a,e=>{t.delListener(e),ma(a,e)}),xa(u,e)}),g=(t,a)=>{xa(r,t,a),ga(i,t)||(xa(i,t,e()),xa(l,t,Da()),xa(d,t,Da()),La(()=>s(c),e=>{throw xa(r,t),xa(i,t),xa(l,t),xa(d,t),e}))},y=t=>{xa(r,t),xa(i,t),xa(l,t),xa(d,t),w(t),s(c)};return[()=>t,()=>ka(r),t=>Pa(i,t),t=>ga(i,t),t=>Ma(r,t),t=>Ma(i,t),(t,e)=>xa(i,t,e),g,(e,n,s,r,i)=>{g(e,n);const c=Da(),y=Da(),h=Ma(l,e),f=Ma(d,e),v=e=>{const s=a=>t.getCell(n,e,a),l=Ma(h,e),d=o(n,e)?a(r(s,e)):void 0;if(l===d||Bt(l)&&Bt(d)&&ie(l,d)||xa(c,e,[l,d]),!$t(i)){const t=Ma(f,e),a=o(n,e)?i(s,e):void 0;(u=t)===(w=a)||(Re(u)||Bt(u))&&Xe(u)===Xe(w)||xa(y,e,a)}var u,w},b=t=>{s(()=>{ba(c,([,t],e)=>xa(h,e,t)),ba(y,(t,e)=>xa(f,e,t))},c,y,h,f,t),va(c),va(y)};Pa(h,v),t.hasTable(n)&&de(t.getRowIds(n),t=>{ga(h,t)||v(t)}),b(!0),w(e),((t,...e)=>{const a=Va(u,t,Xa);de(e,t=>ja(a,t))})(e,t.addRowListener(n,null,(t,e,a)=>v(a)),t.addTableListener(n,()=>b()))},y,t=>n(t,c),()=>Pa(u,y)]},Qa=(t,e)=>qt(t)?e=>e(t):t??(()=>e??S),Ya=(t,e)=>{const a=Oa();return n=>{if(!a.has(n)){const e=t(n,()=>a.get(n)===e&&(a.delete(n),!0));a.set(n,e)}const s=a.get(n);return e?.(s),s}},Ka=/^\d+$/,Za=()=>{const t=[];let e=0;return[a=>(a?Te(t):null)??S+e++,e=>{Qt(Ka,e)&&jt(t)<1e3&&be(t,e)}]},tn=t=>{let e;const[a,n]=Za(),s=Da(),o=(t,a,n,o)=>{let r,i=!1;if(de(((t,e=[S])=>{const a=[],n=(t,s)=>s==jt(e)?be(a,t):xt(e[s])?ba(t,t=>n(t,s+1)):de([e[s],null],e=>n(Ma(t,e),s+1));return n(t,0),a})(a,n),a=>ba(a,a=>{const c=()=>Ma(s,a)[0](e,...n??[],...o);t?La(c,t=>{i||(r=t),i=!0}):c()})),i)throw r};return[(n,o,r,i=[],c=()=>[])=>{e??=t();const l=a(1);return xa(s,l,[n,o,r,i,c]),ja(Ba(o,r??[S],Xa),l),l},(t,e,...a)=>o(!1,t,e,a),t=>Ut(Ma(s,t),([,e,a])=>(Ba(e,a??[S],void 0,e=>(ma(e,t),ya(e)?1:0)),xa(s,t),n(t),a)),t=>Ut(Ma(s,t),([t,,a=[],n,s])=>{const o=(...r)=>{const i=jt(r);i==jt(a)?t(e,...r,...s(r)):xt(a[i])?de(n[i]?.(...r)??[],t=>o(...r,t)):o(...r,a[i])};o()}),(t,e,...a)=>o(!0,t,e,a)]},en=(t,e)=>t===e||!$t(t)&&!$t(e)&&sa(t)===sa(e),an=Ya(t=>{let e,a,n,s=100,o=Da(),r=Da(),i=1,c=0;const l=Da(),d=Da(),[u,w,g]=tn(()=>M),y=Da(),h=Da(),f=[],v=[],b=(e,a)=>{i=0,_a(()=>t.transaction(()=>{const[n,s]=Ma(y,a);ba(n,(a,n)=>ba(a,(a,s)=>ba(a,(a,o)=>t._[5](n,s,o,a[e],!0)))),ba(s,(a,n)=>t._[6](n,a[e],!0))}),()=>i=1)},m=t=>{xa(y,t),xa(h,t),w(d,[t])},T=(t,e)=>de(ve(t,e??jt(t)),m),C=()=>T(f,jt(f)-s),p=()=>Ut(e,()=>{be(f,e),C(),T(v),e=void 0,n=1}),E=()=>{e=me(f),n=1};let I,R;const L=(t=S)=>($t(e)&&(e=S+a++,xa(y,e,[o,r]),O(e,t),o=Da(),r=Da(),n=1),e),_=()=>{Jt(f)||(Se(v,L()),b(0,e),e=me(f),n=1)},N=()=>{Jt(v)||(be(f,e),e=Te(v),b(1,e),n=1)},A=()=>{n&&(w(l),n=0)},D=t=>{const e=L(t);return A(),e},O=(t,e)=>(k(t)&&Ma(h,t)!==e&&(xa(h,t,e),w(d,[t])),M),k=t=>ga(y,t),M={setSize:t=>(s=t,C(),M),addCheckpoint:D,setCheckpoint:O,getStore:()=>t,getCheckpointIds:()=>[[...f],e,[...v]],forEachCheckpoint:t=>Pa(h,t),hasCheckpoint:k,getCheckpoint:t=>Ma(h,t),goBackward:()=>(_(),A(),M),goForward:()=>(N(),A(),M),goTo:t=>{const a=se(f,t)?_:se(v,t)?N:void 0;for(;!$t(a)&&t!=e;)a();return A(),M},addCheckpointIdsListener:t=>u(t,l),addCheckpointListener:(t,e)=>u(e,d,[t]),delListener:t=>(g(t),M),clear:()=>(T(f),T(v),$t(e)||m(e),e=void 0,a=0,D(),M),clearForward:()=>(Jt(v)||(T(v),w(l)),M),destroy:()=>{c&&(c=0,t.delListener(I),t.delListener(R))},getListenerStats:()=>({checkpointIds:da(l),checkpoint:da(d)}),_registerListeners:()=>{c||(c=1,I=t.addCellListener(null,null,null,(t,e,a,n,s,r)=>{if(i){p();const t=Va(o,e,Da),i=Va(t,a,Da),c=Va(i,n,()=>[r,void 0]);c[1]=s,en(c[0],s)&&ya(xa(i,n))&&ya(xa(t,a))&&ya(xa(o,e))&&E(),A()}}),R=t.addValueListener(null,(t,e,a,n)=>{if(i){p();const t=Va(r,e,()=>[n,void 0]);t[1]=a,en(t[0],a)&&ya(xa(r,e))&&E(),A()}}))}};return _e(M.clear())},t=>t._registerListeners()),nn=wt("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),sn=Da(we(nn,(t,e)=>[t,e])),on=t=>nn[63&t],rn=(t,e)=>Ma(sn,t[e])??0,cn=vt.crypto?t=>vt.crypto.getRandomValues(t):t=>we(t,()=>At(256*Dt())),ln=(t=16)=>ye(cn(new Uint8Array(t)),(t,e)=>t+on(e),S),dn=new vt.TextEncoder,un=t=>{let e=2166136261;return de(dn.encode(t),t=>{e^=t,e+=(e<<1)+(e<<4)+(e<<7)+(e<<8)+(e<<24)}),e>>>0},wn=(t,e)=>(t^e)>>>0,gn=t=>ye(Ie(t),(t,[e,a])=>wn(t,yn(e,a)^yn(e,0)),0),yn=(t,e)=>un(t+":"+e),hn=(t,e)=>un(Je(t??null)+":"+e),fn=hn,vn=yn,bn=gn,mn=yn,Sn=t=>ye(Ie(t),(t,[e,a])=>wn(t,yn(e,a)),0),Tn=yn,Cn=Sn,pn=3e5,En=2**36,In=2**30,Rn=2**24,Ln=2**18,_n=4096,Nn=/^[-0-9A-Z_a-z]{16}$/,An=t=>{const e=un(t);return on(e/Rn)+on(e/Ln)+on(e/_n)+on(e/64)+on(e)},Dn=t=>rn(t,0)*En+rn(t,1)*In+rn(t,2)*Rn+rn(t,3)*Ln+rn(t,4)*_n+64*rn(t,5)+rn(t,6),On=(t,e)=>t==S||qt(t)&&Qt(Nn,t)&&Dn(t)<=e,kn=(t,e=Date.now)=>{let a=0,n=-1;const s=Ut(t,An,()=>ln(5)),o=t=>{const s=e();if(!$t(t)&&!On(t,s+pn))return;const o=a,[r,c]=$t(t)||t==S?[0,0]:i(t);a=Lt(o,r,s),n=a==o?a==r?Lt(n,c):n:a==r?c:-1},r=(t,e,a)=>on(t/En)+on(t/In)+on(t/Rn)+on(t/Ln)+on(t/_n)+on(t/64)+on(t)+on(e/Ln)+on(e/_n)+on(e/64)+on(e)+($t(a)?s:An(a)),i=t=>[Dn(t),rn(t,7)*Ln+rn(t,8)*_n+64*rn(t,9)+rn(t,10),Xt(t,11)];return[()=>(o(),++n==Rn&&(a++,n=0),r(a,n)),o,r,i,()=>a,()=>n,()=>s]},Mn=(t,e)=>(t??0)<(e??0)?-1:1,Pn=Ya(t=>{const e=Da(),a=Da(),n=Da(),s=Da(),[o,r,i]=tn(()=>T),[c,l,d,u,w,g,y,,h,f,v,b]=Ja(t,Da,t=>$t(t)?S:Bt(t)?we(t,ct):ct(t),o,r),m=(e,a,n)=>{const s=w(e);ba(n,(e,n)=>a(n,a=>ba(e,e=>a(e,a=>t.forEachCell(s,e,a)))))},T={setIndexDefinition:(t,o,i,c,l,d=Mn)=>{const w=u(t),f=Qa(i),v=$t(l)?void 0:([t],[e])=>l(t,e);return h(t,o,(e,o,i,l,u,w)=>{let h=0;const f=Xa(),b=Da(),m=Xa(),S=g(t),T=t=>{ga(b,t)||xa(b,t,ga(S,t))};if(ba(o,([t,e],a)=>{const n=Xa(t),s=Xa(e);ba(n,t=>ma(s,t)?ma(n,t):0),ba(n,t=>{T(t),ja(f,t),Ut(Ma(S,t),e=>{ma(e,a),ya(e)&&(xa(S,t),h=1)})}),ba(s,t=>{T(t),ja(f,t),ga(S,t)||(xa(S,t,Xa()),h=1),ja(Ma(S,t),a),$t(c)||ja(m,t)})}),e(),ya(u)||(w?Pa(S,t=>ja(m,t)):Pa(i,t=>Ut(Ma(l,t),t=>de(Bt(t)?t:[t],t=>ja(m,t)))),ba(m,t=>{const e=(e,a)=>d(Ma(u,e),Ma(u,a),t),a=[...Ma(S,t)];ce(a,e)||(xa(S,t,Xa(le(a,e))),ja(f,t))})),(h||w)&&!$t(v)){const e=[...S];ce(e,v)||(y(t,Da(le(e,v))),h=1)}h&&r(a,[t]),Pa(b,(e,a)=>{const s=ga(S,e);a!=s&&r(n,[t,e],s)}),ba(f,e=>r(s,[t,e]))},(t,e)=>{const a=f(t,e);return qt(i)&&!$t(a)?sa(a):a},Ut(c,Qa)),w||r(e,[t],!0),T},delIndexDefinition:t=>{const o=g(t),i=u(t),c=i?ka(o):[];return f(t),i&&(r(e,[t],!1),Jt(c)||(r(a,[t]),de(c,e=>{r(n,[t,e],!1),r(s,[t,e])}))),T},getStore:c,getIndexIds:l,forEachIndex:t=>d((e,a)=>t(e,t=>m(e,t,a))),forEachSlice:(t,e)=>m(t,e,g(t)),hasIndex:u,hasSlice:(t,e)=>ga(g(t),e),getTableId:w,getSliceIds:t=>ka(g(t)),getSliceRowIds:(t,e)=>ha(Ma(g(t),e)),addIndexIdsListener:v,addHasIndexListener:(t,a)=>o(a,e,[t]),addSliceIdsListener:(t,e)=>o(e,a,[t]),addHasSliceListener:(t,e,a)=>o(a,n,[t,e]),addSliceRowIdsListener:(t,e,a)=>o(a,s,[t,e]),delListener:t=>(i(t),T),destroy:b,getListenerStats:()=>({sliceIds:da(a),sliceRowIds:ua(s)})};return _e(T)}),$n=([t,e])=>xn(t,e),xn=(t,e)=>e?[t,e]:[t],Vn=(t,e,a)=>[t,e,a],Fn=t=>t[2],Hn=(t,e)=>e>t?(t?un(t):0)^un(e):0,Un=(t,e)=>((t??S)>(e??S)?t:e)??S,Wn=(t,e,a)=>{e>t[1]&&(t[1]=e),t[2]=a>>>0},qn=(t=S)=>xn(ke(),t),Gn=(t=S)=>[Da(),t,0],zn=([t,e,a],n)=>[Ha(t,n),e,a],Bn=([t,e],a=$n)=>xn(Ha(t,a),e),Xn=t=>[t,t],jn=(t,e=da)=>e(t[0])+e(t[1]),Jn=()=>[Da(),Da()],Qn=t=>[...t],Yn=([t,e])=>t===e,Kn=t=>Bt(t)?we(t,Kn):Re(t)?Ve(t,Kn):t,Zn=t=>Ve(t,(t,e)=>e==O?ia(t):t),ts=(t,e,a)=>xa(t,e,Ma(t,e)==-a?void 0:a),es=([t,e],[a,n])=>Ge(t,a)&&Ge(e,n),as=()=>{let t,e,a,n,s=!1,o=!1,r=0,i=0,c=[],l=[],d=0,u=0;const w=Da(),g=Da(),y=Da(),h=Da(),f=Da(),v=Da(),b=Da(),m=Da(),S=Da(),T=Xa(),C=Da(),p=Da(),E=Da(),I=Da(),R=Da(),L=Da(),_=Xa(),N=Xa(),M=Da(),$=Da(),F=Da(),B=Da(),K=Jn(),Z=Jn(),tt=Jn(),et=Jn(),at=Jn(),nt=Jn(),st=Jn(),rt=Jn(),it=Jn(),lt=Jn(),dt=Jn(),ut=Jn(),wt=Jn(),gt=Jn(),yt=Jn(),ht=Jn(),ft=Jn(),vt=Jn(),bt=Jn(),mt=Jn(),St=Jn(),Tt=Jn(),Ct=Da(),pt=Jn(),[Et,It,Rt,Lt,_t]=tn(()=>_n),Nt=t=>{const e=u;return u=1,_a(t,()=>u=e)},At=t=>{const e=d;return d=1,_a(t,()=>d=e)},Dt=(t,e,a,n=Object.is)=>Ut(e(),e=>t===e||n(t,e)?a(e):Nt(()=>a(e))),Ot=t=>{if(!Be(t,(t,e)=>se([A,D,O,k,ot],e)))return!1;const e=t[A],a=t[D];if($t(a)?!(Bt(n=e)?!$t(n[0])&&re(n,aa):aa(n)):!$t(e)||!Bt(a)||$t(a[0])||!re(a,t=>{const e=Ze(t);return!(xt(t)||$t(e)||ea(e)||ra(t))}))return!1;var n;const s=t[O];return!(xt(s)&&!t[k]||(xt(s)||(($t(a)?na(e,Ze(s)):se(a,s))&&!ra(s)?Ut(Ea(()=>sa(s)),e=>t[O]=e,()=>Me(t,O)):Me(t,O)),0))},kt=(t,e)=>Ut(Ea(()=>sa(t)),t=>t,e),Mt=t=>Re(t)?Ve(t,Zt):t,Pt=t=>Re(t)?Ve(t,Mt):t,Vt=t=>Re(t)?Ve(t,Zt):t,Ft=(t,e)=>1==d&&oa(t)&&1==Ea(()=>{const a=Ze(ia(t));return ea(a)&&($t(e)||na(e,a))},!1),Ht=Bt,Wt=(e,a)=>(!t||ga(E,a)||He(a))&&Be(e,(t,e)=>qt(a,e,t),()=>He(a)),qt=(t,e,a,n)=>{const s=n?a:Qt(a,t,e);return Be(s,(n,s)=>Ut(Gt(t,e,s,n),t=>(Oe(a,s,t),!0),()=>!1),()=>He(t,e))&&(!!n||fa(Ma(I,t)?.[2],t=>Ae(s,t)))},Gt=(e,a,n,s)=>t?Ut(Ma(Ma(E,e),n),t=>xt(s)?t[k]?s:He(e,a,n,s,t[O]):ra(s,d)?He(e,a,n,s,t[O]):oa(s)?$t(t[D])&&Ft(s,t[A])?s:He(e,a,n,s,t[O]):$t(t[D])?na(t[A],Ze(s))?kt(s,()=>He(e,a,n,s,t[O])):He(e,a,n,s,t[O]):se(t[D],s)?s:He(e,a,n,s,t[O]),()=>He(e,a,n,s)):$t(Ze(s))||ra(s,d)||oa(s)&&!Ft(s)?He(e,a,n,s):kt(s,()=>He(e,a,n,s)),jt=(t,e)=>{const a=e?t:Yt(t);return Be(a,(e,a)=>Ut(Jt(a,e),e=>(Oe(t,a,e),!0),()=>!1),()=>Ue())&&(!!e||fa(N,t=>Ae(a,t)))},Jt=(t,a)=>e?Ut(Ma(R,t),e=>xt(a)?e[k]?a:Ue(t,a,e[O]):ra(a,d)?Ue(t,a,e[O]):oa(a)?$t(e[D])&&Ft(a,e[A])?a:Ue(t,a,e[O]):$t(e[D])?na(e[A],Ze(a))?kt(a,()=>Ue(t,a,e[O])):Ue(t,a,e[O]):se(e[D],a)?a:Ue(t,a,e[O]),()=>Ue(t,a)):$t(Ze(a))||ra(a,d)||oa(a)&&!Ft(a)?Ue(t,a):kt(a,()=>Ue(t,a)),Qt=(t,e,a)=>(Ut(Ma(I,e),([n,s])=>{ba(n,(n,s)=>{Ae(t,s)||(Oe(t,s,n),Ut(a,t=>ja(Va(Va(b,e,Da),t,Xa),s)))}),ba(s,n=>{Ae(t,n)||He(e,a,n)})}),t),Yt=t=>(e&&(ba(L,(e,a)=>{Ae(t,a)||(Oe(t,a,e),ja(T,a))}),ba(_,e=>{Ae(t,e)||Ue(e)})),t),Kt=t=>Fa(E,t,(t,e,a)=>{const n=Da(),s=Xa(),o=Xa();Fa(Va(E,e,Da),a,(t,e,a)=>{xa(t,e,a),Ut(a[O],t=>{xa(n,e,t)},()=>{ja(s,e),!0===a[ot]&&ja(o,e)})}),xa(I,e,[n,s,o])},(t,e)=>{xa(E,e),xa(I,e)}),te=t=>Fa(R,t,(t,e,a)=>{xa(R,e,a),Ut(a[O],t=>{xa(L,e,t),ma(_,e),ma(N,e)},()=>{xa(L,e),ja(_,e),!0===a[ot]?ja(N,e):ma(N,e)})},(t,e)=>{xa(R,e),xa(L,e),ma(_,e),ma(N,e)}),ee=()=>{a??=[!!t,Ua(E)]},ae=()=>{n??=[!!e,Ha(R)]},oe=t=>qe(t)?fn():cn(t),ce=(t,e,a,n,s,o)=>$t(n)?mn(t,e,a,!0,s):ln(t,e,a,n,s,o),ue=t=>qe(t)?Sn():dn(t),ge=(t,e,a)=>$t(e)?Tn(t,a):un(t,e,a),ye=(t,e)=>Dt(t,()=>e?t:Ut(c[1],e=>Nt(()=>e(ne(t))),()=>t),t=>Fa(F,t,(t,e,a)=>he(e,a),(t,e)=>pe(e)),Ge),he=(t,e,a)=>Dt(e,()=>a?e:Ut(c[2],a=>Nt(()=>a(t,ne(e))),()=>e),e=>Fa(Va(F,t,()=>(Ne(t,1),xa(M,t,Za()),xa($,t,Da()),Da())),e,(e,a,n)=>fe(t,e,a,n),(e,a)=>Ee(t,e,a)),Ge),fe=(t,e,a,n,s)=>Dt(n,()=>s?n:Ut(c[3],e=>Nt(()=>e(t,a,ne(n))),()=>n),n=>Fa(Va(e,a,()=>(De(t,a,1),Da())),n,(e,n,s)=>ve(t,a,e,n,s),(n,o)=>Ie(t,e,a,n,o,s)),Ge),ve=(t,e,a,n,s,o)=>Dt(s,()=>Ut(o?void 0:c[4],a=>Nt(()=>a(t,e,n,s)),()=>s),s=>Ut(u?Gt(t,e,n,ia(s)):s,s=>{ga(a,n)||ke(t,e,n,1);const o=Ma(a,n);s!==o&&($e(t,e,n,o,s),xa(a,n,s))})),me=(t,e,a,n,s,o)=>Ut(Ma(e,a),e=>ve(t,a,e,n,s,o),()=>{const r=Da();xa(e,a,r),De(t,a,1),Pe(Qt({[n]:s},t,a),(e,n)=>ve(t,a,r,n,e,o))}),Se=(t,e)=>Dt(t,()=>e?t:Ut(c[5],e=>Nt(()=>e(ne(t))),()=>t),t=>Fa(B,t,(t,e,a)=>Te(e,a),(t,e)=>Le(e)),Ge),Te=(t,e,a)=>Dt(e,()=>Ut(a?void 0:c[6],a=>Nt(()=>a(t,e)),()=>e),e=>Ut(u?Jt(t,ia(e)):e,e=>{ga(B,t)||xe(t,1);const a=Ma(B,t);e!==a&&(Fe(t,a,e),xa(B,t,e))})),Ce=t=>Va(F,t,()=>(Ne(t,1),xa(M,t,Za()),xa($,t,Da()),Da())),pe=t=>Nt(()=>c[8]?.(t))??1?he(t,{},!0):Ma(F,t),Ee=(t,e,a)=>{if(Nt(()=>c[9]?.(t,a))??1){const[,n]=Ma(M,t);n(a),fe(t,e,a,{},!0)}},Ie=(t,e,a,n,s,o,r)=>{const i=Ma(Ma(I,t)?.[0],s);if(!$t(i)&&!o)return ve(t,a,n,s,i);if(r||(Nt(()=>c[10]?.(t,a,s))??1)){const o=e=>{$e(t,a,e,Ma(n,e)),ke(t,a,e,-1),xa(n,e)};$t(i)?o(s):Pa(n,o),ya(n)&&(De(t,a,-1),ya(xa(e,a))&&(Ne(t,-1),xa(F,t),xa(M,t),xa($,t)))}},Le=(t,e)=>{const a=Ma(L,t);if(!$t(a))return Te(t,a);(e||(Nt(()=>c[12]?.(t))??1))&&(Fe(t,Ma(B,t)),xe(t,-1),xa(B,t))},Ne=(t,e)=>ts(w,t,e),De=(t,e,a)=>ts(Va(h,t,Da),e,a)&&xa(y,t,Va(y,t,()=>0)+a),ke=(t,e,a,n)=>{const s=Ma($,t),o=Ma(s,a)??0;(0==o&&1==n||1==o&&-1==n)&&ts(Va(g,t,Da),a,n),xa(s,a,o!=-n?o+n:void 0),ts(Va(Va(f,t,Da),e,Da),a,n)},$e=(t,e,a,n,s)=>{const o=ga(Ma(Ma(b,t),e),a)&&$t(n)?1:0;Va(Va(Va(v,t,Da),e,Da),a,()=>[n,0])[1]=s,l[3]?.(t,e,a,s,u,o),ma(Ma(Ma(b,t),e),a)},xe=(t,e)=>ts(m,t,e),Fe=(t,e,a)=>{const n=ga(T,t)&&$t(e)?1:0;Va(S,t,()=>[e,0])[1]=a,l[4]?.(t,a,u,n),ma(T,t)},He=(t,e,a,n,s)=>(be(Va(Va(Va(C,t,Da),e,Da),a,()=>[]),n),s),Ue=(t,e,a)=>(be(Va(p,t,()=>[]),e),a),We=(t,e,a)=>Ut(Ma(Ma(Ma(v,t),e),a),([t,e])=>[!0,ia(t),ia(e)],()=>[!1,...Xn(Oa(t,e,a))]),ze=t=>Ut(Ma(S,t),([t,e])=>[!0,ia(t),ia(e)],()=>[!1,...Xn(Qa(t))]),Xe=t=>ya(C)||ya(ht[t])?0:ba(t?za(C):C,(e,a)=>ba(e,(e,n)=>ba(e,(e,s)=>It(ht[t],[a,n,s],e)))),Qe=t=>ya(p)||ya(ft[t])?0:ba(t?qa(p):p,(e,a)=>It(ft[t],[a],e)),Ye=(t,e,a,n)=>{if(!ya(t))return It(e,n,()=>Ha(t)),Pa(t,(t,e)=>It(a,[...n??[],t],1==e)),1},Ke=t=>{const e=!ya(K[t]),a=!ya(lt[t]),n=!(ya(wt[t])&&ya(gt[t])&&ya(it[t])&&ya(dt[t])&&ya(nt[t])&&ya(st[t])&&ya(rt[t])&&!a&&ya(tt[t])&&ya(et[t])),o=!(ya(yt[t])&&ya(ut[t])&&ya(at[t])&&ya(Z[t]));if(e||n||o){const i=t?[qa(w),Ga(g),qa(y),Ga(h),za(f),(r=v,qa(r,t=>qa(t,t=>qa(t,Qn))))]:[w,g,y,h,f,v];if(e){const e=Ya();e!=s&&It(K[t],void 0,e)}if(n){Ye(i[0],tt[t],et[t]),ba(i[1],(e,a)=>Ye(e,nt[t],st[t],[a])),ba(i[2],(e,a)=>{0!=e&&It(rt[t],[a],Ia(a))});const e=Xa();ba(i[3],(n,s)=>{Ye(n,it[t],dt[t],[s])&&a&&(It(lt[t],[s,null]),ja(e,s))}),a&&ba(i[5],(a,n)=>{if(!ga(e,n)){const e=Xa();ba(a,t=>ba(t,([a,n],s)=>n!==a?ja(e,s):ma(t,s))),ba(e,e=>It(lt[t],[n,e]))}}),ba(i[4],(e,a)=>ba(e,(e,n)=>Ye(e,wt[t],gt[t],[a,n])))}if(o){let e;ba(i[5],(a,n)=>{let s;ba(a,(a,o)=>{let r;ba(a,([a,i],c)=>{i!==a&&(It(yt[t],[n,o,c],ia(i),ia(a),We),e=s=r=1)}),r&&It(ut[t],[n,o],We)}),s&&It(at[t],[n],We)}),e&&It(Z[t],void 0,We)}}var r},ta=t=>{const e=!ya(vt[t]),a=!ya(mt[t])||!ya(St[t]),n=!ya(Tt[t])||!ya(bt[t]);if(e||a||n){const s=t?[qa(m),qa(S,Qn)]:[m,S];if(e){const e=sn();e!=o&&It(vt[t],void 0,e)}if(a&&Ye(s[0],mt[t],St[t]),n){let e;ba(s[1],([a,n],s)=>{n!==a&&(It(Tt[t],[s],ia(n),ia(a),ze),e=1)}),e&&It(bt[t],void 0,ze)}}},ca=(t,...e)=>(En(()=>t(...we(e,ct))),_n),ha=(t,e,a,n,s)=>{const[o,r,i,c]=a;let l=Na(t,e,o,r,i,c);return Et(()=>{const a=Na(t,e,o,r,i,c);ie(a,l)||(l=a,n(_n,t,e,o,r,i,l))},lt[s?1:0],[t,e],[Ca])},Sa=(t=!1)=>[Ha(v,(e,a)=>-1===Ma(w,a)?void 0:Ha(e,(e,n)=>-1===Ma(Ma(h,a),n)?void 0:Ha(e,([,e])=>ia(e,0,t),t=>Yn(t)),ya,qe),ya,qe),Ha(S,([,e])=>ia(e,0,t),t=>Yn(t)),1],Ta=()=>Wa(F,ia),Ca=()=>ka(F),pa=t=>ka(Ma($,ct(t))),Ia=t=>la(Ma(F,ct(t))),Ra=t=>ka(Ma(F,ct(t))),Na=(t,e,a,n=0,s,o=Mn)=>Re(t)?Na(t.tableId,t.cellId,t.descending,t.offset,t.limit,t.sorter):we(Xt(le($a(Ma(F,ct(t)),(t,a)=>[$t(e)?a:ia(Ma(t,ct(e))),a]),([t],[e])=>o(t,e)*(a?-1:1)),n,$t(s)?s:n+s),([,t])=>t),Aa=(t,e)=>ka(Ma(Ma(F,ct(t)),ct(e))),Oa=(t,e,a)=>ia(Ma(Ma(Ma(F,ct(t)),ct(e)),ct(a))),Ba=()=>Ha(B,ia),Ja=()=>ka(B),Qa=t=>ia(Ma(B,ct(t))),Ya=()=>!ya(F),Ka=t=>ga(F,ct(t)),en=(t,e)=>ga(Ma($,ct(t)),ct(e)),an=(t,e)=>ga(Ma(F,ct(t)),ct(e)),nn=(t,e,a)=>ga(Ma(Ma(F,ct(t)),ct(e)),ct(a)),sn=()=>!ya(B),on=t=>ga(B,ct(t)),rn=t=>ca(()=>{const e=zt(t)?t():t;Ht(e)&&(t=>{Dt(t,()=>Ut(c[0],e=>Nt(()=>e(ne(t),d)),()=>t),([t,e])=>{(qe(t)?fn:cn)(t),(qe(e)?Sn:dn)(e)},es)})(e)}),cn=t=>ca(()=>{const e=(t=>Re(t)?Ve(t,Pt):t)(t);return(t=>Be(t,Wt,He))(e)?ye(e):0}),ln=(t,e,a,n,s,o)=>ca((t,e,a)=>Ut(Gt(t,e,a,zt(n)?n(Oa(t,e,a)):n),n=>{const r=Ce(t);Ut(s||o||!c[14]?.()?void 0:c[3],o=>{const i=Ma(r,e),c={...i?Ha(i):{},[a]:n};Ut(Nt(()=>o(t,e,ne(c))),a=>((t,e,a,n,s)=>{Fa(Va(e,a,()=>(De(t,a,1),Da())),n,(e,n,o)=>Ut(Gt(t,a,n,ia(o)),o=>ve(t,a,e,n,o,s)),(n,s)=>Ie(t,e,a,n,s,!0))})(t,r,e,a,s))},()=>me(t,r,e,a,n,s))}),t,e,a),dn=t=>ca(()=>{const e=Vt(t);return jt(e)?Se(e):0}),un=(t,e,a)=>ca(t=>Ut(Jt(t,zt(e)?e(Qa(t)):e),e=>Te(t,e,a)),t),wn=t=>ca(()=>Dt(t,()=>Ut(c[13],e=>Nt(()=>e(ne(t),d)),()=>t),t=>{Pe(t[0],(t,e)=>$t(t)?vn(e):Pe(t,(t,a)=>$t(t)?bn(e,a):Pe(t,(t,n)=>ce(e,a,n,t,void 0,!0)))),Pe(t[1],(t,e)=>ge(e,t))},es)),gn=t=>(La(()=>At(()=>oe(je(t)))),_n),yn=e=>ca(()=>{const a=Kn(e);if(Be(a,t=>Be(t,Ot))&&(ee(),t=!0,Kt(a),!ya(F))){const t=Ta();fn(),cn(t)}}),hn=t=>ca(()=>{const a=Kn(t);if((t=>Be(t,Ot))(a)){ae();const t=Ba();pn(),Sn(),e=!0,te(a),dn(t)}}),fn=()=>ca(()=>Nt(()=>c[7]?.())??1?ye({},!0):0),vn=t=>ca(t=>ga(F,t)?pe(t):0,t),bn=(t,e)=>ca((t,e)=>Ut(Ma(F,t),a=>ga(a,e)?Ee(t,a,e):0),t,e),mn=(t,e,a,n,s)=>ca((t,e,a)=>Ut(Ma(F,t),o=>Ut(Ma(o,e),r=>ga(r,a)?Ie(t,o,e,r,a,n,s):0)),t,e,a),Sn=()=>ca(()=>Nt(()=>c[11]?.())??1?Se({},!0):0),Tn=(t,e)=>ca(t=>ga(B,t)?Le(t,e):0,t),Cn=()=>ca(()=>{ee(),Kt({}),t=!1}),pn=()=>ca(()=>{ae(),te({}),e=!1}),En=(t,e)=>{if(-1!=i){In();try{const a=t();return Ln(e),a}catch(t){throw i>0&&(r=1,La(Ln)),t}}},In=()=>{if(-1!=i&&i++,1==i)try{l[0]?.(),It(Ct)}catch(t){throw r=1,La(Ln),t}return _n},Rn=()=>{i=0,r=0,a=n=void 0,s=Ya(),o=sn(),de([w,g,y,h,f,v,b,C,m,S,T,p],va)},Ln=s=>{if(i>0&&(i--,0==i)){i=1;let o=!1,c=!1;const d=()=>{c=!0,Ut(a,([e,a])=>{Kt(a),t=e}),Ut(n,([t,a])=>{te(a),e=t}),ba(v,(t,e)=>ba(t,(t,a)=>ba(t,([t],n)=>ce(e,a,n,t,!0)))),va(v),ba(S,([t],e)=>ge(e,t,!0)),va(S)};let u=!1,w=!1;_a(()=>{let t,e=!1;const a=a=>{e||(t=a),e=!0};if(La(()=>{try{r?d():(Nt(()=>{Xe(1),ya(v)||Ke(1),Qe(1),ya(S)||ta(1)}),s?.(_n)&&d(),l[1]?.(c),u=!0,_t(pt[0],void 0),i=-1,o=!0,Xe(0),ya(v)||Ke(0),Qe(0),ya(S)||ta(0))}catch(t){throw o||d(),t}},a),u&&c&&(o||La(()=>l[1]?.(!0),a),La(()=>{l[2]?.(!0),w=!0},a)),u&&La(()=>{i=-1,_t(pt[1],void 0)},a),e)throw t},()=>_a(()=>w?0:l[2]?.(c),Rn))}return _n},_n={getContent:()=>[Ta(),Ba()],getTables:Ta,getTableIds:Ca,getTable:t=>Ua(Ma(F,ct(t)),ia),getTableCellIds:pa,getRowCount:Ia,getRowIds:Ra,getSortedRowIds:Na,getRow:(t,e)=>Ha(Ma(Ma(F,ct(t)),ct(e)),ia),getCellIds:Aa,getCell:Oa,getValues:Ba,getValueIds:Ja,getValue:Qa,hasTables:Ya,hasTable:Ka,hasTableCell:en,hasRow:an,hasCell:nn,hasValues:sn,hasValue:on,getTablesJson:()=>Je(F),getValuesJson:()=>Je(B),getJson:()=>Je([F,B]),getTablesSchemaJson:()=>Je(Ua(E,Zn)),getValuesSchemaJson:()=>Je(Ha(R,Zn)),getSchemaJson:()=>Je([Ua(E,Zn),Ha(R,Zn)]),hasTablesSchema:()=>t,hasValuesSchema:()=>e,setContent:rn,setTables:cn,setTable:(t,e)=>ca(t=>{const a=Pt(e);return Wt(a,t)?he(t,a):0},t),setRow:(t,e,a)=>ca((t,e)=>{const n=Mt(a);return qt(t,e,n)?fe(t,Ce(t),e,n):0},t,e),addRow:(t,e,a=!0)=>En(()=>{let n;const s=Mt(e);return qt(t,n,s)&&(t=ct(t),fe(t,Ce(t),n=((t,e)=>{const[a]=Ma(M,t);let n;do{n=a(e)}while(ga(Ma(F,t),n));return n})(t,a?1:0),s)),n}),setPartialRow:(t,e,a)=>ca((t,e)=>{const n=Mt(a);if(qt(t,e,n,1)){const a=Ce(t);Pe(n,(n,s)=>me(t,a,e,s,n))}},t,e),setCell:ln,setValues:dn,setPartialValues:t=>ca(()=>{const e=Vt(t);return jt(e,1)?Pe(e,(t,e)=>Te(e,t)):0}),setValue:un,applyChanges:wn,setTablesJson:gn,setValuesJson:t=>(La(()=>At(()=>ue(je(t)))),_n),setJson:t=>ca(()=>La(()=>At(()=>{const[e,a]=je(t);oe(e),ue(a)}),()=>gn(t))),setTablesSchema:yn,setValuesSchema:hn,setSchema:(t,e)=>ca(()=>{yn(t),hn(e)}),delTables:fn,delTable:vn,delRow:bn,delCell:mn,delValues:Sn,delValue:Tn,delTablesSchema:Cn,delValuesSchema:pn,delSchema:()=>ca(()=>{Cn(),pn()}),transaction:En,startTransaction:In,getTransactionChanges:()=>Sa(),getTransactionLog:()=>[!ya(v),!ya(S),Wa(v,Qn,Yn),Wa(C),Ha(S,Qn,Yn),Ha(p),Ha(w),Ua(h),Wa(f),Ha(m)],finishTransaction:Ln,forEachTable:t=>ba(F,(e,a)=>t(a,t=>ba(e,(e,a)=>t(a,t=>Pa(e,(e,a)=>t(e,ia(a))))))),forEachTableCell:(t,e)=>Pa(Ma($,ct(t)),e),forEachRow:(t,e)=>ba(Ma(F,ct(t)),(t,a)=>e(a,e=>Pa(t,(t,a)=>e(t,ia(a))))),forEachCell:(t,e,a)=>Pa(Ma(Ma(F,ct(t)),ct(e)),(t,e)=>a(t,ia(e))),forEachValue:t=>Pa(B,(e,a)=>t(e,ia(a))),addSortedRowIdsListener:(t,e,a,n,s,o,r)=>Re(t)?ha(t.tableId,t.cellId,[t.descending??!1,t.offset??0,t.limit,t.sorter],e,a):ha(t,e,[a,n,s,void 0],o,r),addStartTransactionListener:t=>Et(t,Ct),addWillFinishTransactionListener:t=>Et(t,pt[0]),addDidFinishTransactionListener:t=>Et(t,pt[1]),callListener:t=>(Lt(t),_n),delListener:t=>(Rt(t),_n),getListenerStats:()=>({hasTables:jn(K),tables:jn(Z),tableIds:jn(tt),hasTable:jn(et),table:jn(at),tableCellIds:jn(nt),hasTableCell:jn(st,ua),rowCount:jn(rt),rowIds:jn(it),sortedRowIds:jn(lt),hasRow:jn(dt,ua),row:jn(ut,ua),cellIds:jn(wt,ua),hasCell:jn(gt,wa),cell:jn(yt,wa),invalidCell:jn(ht,wa),hasValues:jn(vt),values:jn(bt),valueIds:jn(mt),hasValue:jn(St),value:jn(Tt),invalidValue:jn(ft),transaction:da(Ct)+jn(pt)}),isMergeable:()=>!1,_:[as,Et,It,(t,e,a,n,s)=>l=[t,e,a,n,s],(t,e,a,n,s,o,r,i,l,d,u,w,g,y,h)=>c=[t,e,a,n,s,o,r,i,l,d,u,w,g,y,h],ce,ge,()=>[Wa(F),Ha(B)],()=>Sa(!0),t=>At(()=>rn(t)),t=>At(()=>wn(t))]};return Pe({[V+U]:[0,K,[],()=>[Ya()]],[U]:[0,Z],[W]:[0,tt],[V+H]:[1,et,[Ca],t=>[Ka(...t)]],[H]:[1,at,[Ca]],[H+j]:[1,nt,[Ca]],[V+H+X]:[2,st,[Ca,pa],t=>[en(...t)]],[G]:[1,rt,[Ca]],[z]:[1,it,[Ca]],[V+q]:[2,dt,[Ca,Ra],t=>[an(...t)]],[q]:[2,ut,[Ca,Ra]],[j]:[2,wt,[Ca,Ra]],[V+X]:[3,gt,[Ca,Ra,Aa],t=>[nn(...t)]],[X]:[3,yt,[Ca,Ra,Aa],t=>Xn(Oa(...t))],InvalidCell:[3,ht],[V+Q]:[0,vt,[],()=>[sn()]],[Q]:[0,bt],[Y]:[0,mt],[V+J]:[1,St,[Ja],t=>[on(...t)]],[J]:[1,Tt,[Ja],t=>Xn(Qa(t[0]))],InvalidValue:[1,ft]},([t,e,a,n],s)=>{_n[x+s+P]=(...s)=>Et(s[t],e[s[t+1]?1:0],t>0?Xt(s,0,t):void 0,a,n)}),_e(_n)},ns={HasTable:1,Table:1,TableCellIds:1,HasTableCell:2,RowCount:1,RowIds:1,SortedRowIds:5,HasRow:2,Row:2,CellIds:2,HasCell:3,Cell:3,HasValue:1,Value:1,InvalidCell:3,InvalidValue:1},ss=(t=S)=>[Gn(t),Gn(t)],os=(t,e)=>Re(t)&&$e(t,e),rs=(t,e,a,n)=>{if(!Bt(t))return!1;if(a?2!=jt(t):2!=jt(t)&&(3!=jt(t)||1!==t[2]))return!1;const s=(t,n)=>((t,e,a,n)=>Bt(t)&&(3==jt(t)?((t,e)=>Bt(t)&&3==jt(t)&&qt(t[1])&&Gt(t[2])&&kt(t[2])&&e(t[0]))(t,e)&&On(t[1],a):!n&&e(t[0])&&(1==jt(t)||2==jt(t)&&On(t[1],a))))(t,n,e,a),o=t=>ta(t)&&!ra(t,n);return s(t[0],t=>os(t,t=>s(t,t=>os(t,t=>s(t,t=>os(t,t=>s(t,o)))))))&&s(t[1],t=>os(t,t=>s(t,o)))},is=(t,e=Date.now)=>{let a=1,n=ss(),s=n,o=0,r=0,i=r;const c=[],l=Da(),d=Xa(),[u,w]=kn(t,e),g=as(),y=t=>{const e=a;return a=0,_a(t,()=>a=e),L},h=t=>{const[e,a,n]=t;be(c,()=>{t[0]=e,t[1]=a,t[2]=n})},f=(t,e,a)=>(ga(t,e)||be(c,()=>xa(t,e)),Va(t,e,a)),v=(t,e=0)=>{const a=ke(),s=ke(),[[o,r=S,i=0],c]=t,[l,d]=n,[u,g,y]=l;let v=e?i:y,m=r;Pe(o,([t,n=S,s=0],o)=>{const r=f(u,o,Gn),[i,c,l]=r;let d=e?s:l,w=n;Pe(t,(t,n)=>{const[s,r,c]=b(t,f(i,n,Gn),ze(ze(a,o,ke),n,ke),e);d^=e?0:wn(r?yn(n,r):0,yn(n,c)),w=Un(w,s)}),d^=e?0:Hn(c,n),h(r),Wn(r,n,d),v^=e?0:wn(l?yn(o,l):0,yn(o,r[2])),m=Un(m,w)}),v^=e?0:Hn(g,r),h(l),Wn(l,r,v);const[T]=b(c,d,s,e);return w(Un(m,T)),[a,s,1]},b=(t,e,a,n)=>{const[s,o=S,r=0]=t,[i,c,l]=e;let d=o,u=n?r:l;return Pe(s,([t,e=S,s=0],o)=>{const r=f(i,o,()=>[void 0,S,0]),[,c,l]=r;(!c||e>c)&&(h(r),Wn(r,e,n?s:hn(t,e)),r[0]=t,Oe(a,o,t),u^=n?0:wn(yn(o,l),yn(o,r[2])),d=Un(d,e))}),u^=n?0:Hn(c,o),h(e),Wn(e,o,u),[d,l,e[2]]},m=()=>{for(;jt(c);)me(c)?.();n=s,r=i},T=(t=!1)=>[zn(n[0],e=>zn(e,e=>zn(e,([e,a,n])=>[ia(e,0,t),a,n]))),zn(n[1],([e,a,n])=>[ia(e,0,t),a,n])],C=(t,e=!1)=>{const[[a,s,o],[r,i,c]]=n,u=t?Vn:xn,w=ke();ba(l,(t,n)=>Ut(Ma(a,n),([a,s,o])=>{const r=ke();ba(t,(t,n)=>Ut(Ma(a,n),([a,s,o])=>{const i=ke();ba(t,t=>{Ut(Ma(a,t),([a,n,s])=>Oe(i,t,u(e?a:ia(a),n,s)))}),Oe(r,n,u(i,s,o))})),Oe(w,n,u(r,s,o))}));const g=ke();return ba(d,t=>Ut(Ma(r,t),([a,n,s])=>Oe(g,t,u(e?a:ia(a),n,s)))),[u(w,s,o),u(g,i,c),1]},p=()=>T(),E=(t,a)=>rs(t,e()+pn,1,a?1:0)?y(()=>g.transaction(()=>{g.delTables().delValues(),n=ss();const e=v(t,1);(a?g._[10]:g.applyChanges)(e)})):L,I=(t,a)=>rs(t,e()+pn,0,a?1:0)?y(()=>g.transaction(()=>(a?g._[10]:g.applyChanges)(v(t)))):L,R=t=>I(t),L={getMergeableContent:p,getMergeableContentHashes:()=>[n[0][2],n[1][2]],getMergeableTableHashes:()=>Ha(n[0][0],Fn),getMergeableTableDiff:t=>{const e=qn(n[0][1]),a=ke();return Pa(n[0][0],(n,[s,o,r])=>Ae(t,n)?r!=De(t,n)?Oe(a,n,r):0:Oe(e[0],n,Bn([s,o],t=>Bn(t)))),[e,a]},getMergeableRowHashes:t=>{const e=ke();return Pe(t,(t,a)=>Ut(Ma(n[0][0],a),([n,,s])=>s!=t?Pa(n,(t,[,,n])=>Oe(ze(e,a,ke),t,n)):0)),e},getMergeableRowDiff:t=>{const e=qn(n[0][1]),a=ke();return Pe(t,(t,s)=>Pa(Ma(n[0][0],s)?.[0],(n,[o,r,i])=>Ae(t,n)?i!==De(t,n)?Oe(ze(a,s,ke),n,i):0:Oe(ze(e[0],s,qn)[0],n,Bn([o,r])))),[e,a]},getMergeableCellHashes:t=>{const e=ke();return Pe(t,(t,a)=>Ut(Ma(n[0][0],a),([n])=>Pe(t,(t,s)=>Ut(Ma(n,s),([n,,o])=>o!==t?Pa(n,(t,[,,n])=>Oe(ze(ze(e,a,ke),s,ke),t,n)):0)))),e},getMergeableCellDiff:t=>{const[[e,a]]=n,s=ke();return Pe(t,(t,a)=>Pe(t,(t,n)=>Ut(Ma(e,a),([e,o])=>Ut(Ma(e,n),([e,r])=>Pa(e,(e,[i,c,l])=>l!==De(t,e)?Oe(ze(ze(s,a,()=>qn(o))[0],n,()=>qn(r))[0],e,[i,c]):0))))),xn(s,a)},getMergeableValueHashes:()=>Ha(n[1][0],Fn),getMergeableValueDiff:t=>{const[,[e,a]]=n,s=Ha(e,$n,([,,e],a)=>e==De(t,a));return xn(s,a)},setMergeableContent:t=>E(t),setDefaultContent:t=>(g.transaction(()=>{o=1,_a(()=>g.setContent(t),()=>o=0)}),L),getTransactionMergeableChanges:(t=!1)=>C(t),applyMergeableChanges:R,merge:t=>{const e=p(),a=t.getMergeableContent();return t.applyMergeableChanges(e),R(a)},__:[()=>{const t=r;return r=0,t},()=>T(!0),t=>C(t,!0),t=>E(t,!0),t=>I(t,!0)]};return g._[3](()=>{s=n,i=r},t=>t?m():0,t=>{t?m():ve(c),va(l),va(d)},(t,e,n,s,i,c)=>{if(ja(Va(Va(l,t,Da),e,Xa),n),a||i){i&&(r=1);const a=o||c?S:u(),[l]=v([[{[t]:[{[e]:[{[n]:[s,a]}]}]}],[{}],1]),d=De(De(l,t),e);!a||d&&Ae(d,n)||pa(13)}},(t,e,n,s)=>{if(ja(d,t),a||n){n&&(r=1);const a=o||s?S:u(),[,i]=v([[{}],[{[t]:[e,a]}],1]);a&&!Ae(i,t)&&pa(13)}}),Pe(g,(t,e)=>Oe(L,e,lt(e,"set")||lt(e,"del")||lt(e,"apply")||dt(e,"Transaction")||e=="call"+P||"use"==e?(...e)=>(t(...e),L):lt(e,x)&&dt(e,P)?(...a)=>{const n=ns[Xt(e,3,-8)]??0,s=a[n];return a[n]=(t,...e)=>s(L,...e),t(...a)}:"isMergeable"==e?()=>!0:t)),_e(L)},cs=Da([["avg",[(t,e)=>ge(t)/e,(t,e,a)=>t+(e-t)/(a+1),(t,e,a)=>t+(t-e)/(a-1),(t,e,a,n)=>t+(e-a)/n]],["max",[t=>ye(t,(t,e)=>Lt(t,e),-1/0),(t,e)=>Lt(e,t),(t,e)=>e==t?void 0:t,(t,e,a)=>a==t?void 0:Lt(e,t)]],["min",[t=>ye(t,(t,e)=>_t(t,e),Ot),(t,e)=>_t(e,t),(t,e)=>e==t?void 0:t,(t,e,a)=>a==t?void 0:_t(e,t)]],["sum",[t=>ge(t),(t,e)=>t+e,(t,e)=>t-e,(t,e,a)=>t-a+e]]]),ls=(t,e,a,n,s,o=!1)=>{if(ya(a))return;const[r,i,c,l]=s;return o||=$t(t),ba(n,([a,n])=>{o||(t=$t(a)?i?.(t,n,e++):$t(n)?c?.(t,a,e--):l?.(t,n,a,e),o||=$t(t))}),o?r(ha(a),la(a)):t},ds=Ya(t=>{const e=Da(),[a,n,s]=tn(()=>f),[o,r,i,c,l,d,u,,w,g,y,h]=Ja(t,Yt,t=>isNaN(t)||$t(t)||Vt(t)||Ft(t)||t===S?void 0:1*t,a,n),f={setMetricDefinition:(t,a,s,o,r,i,c)=>{const l=zt(s)?[s,r,i,c]:Ma(cs,s)??Ma(cs,"sum");return w(t,a,(a,s,o,r,i,c)=>{const w=d(t),g=la(r);c||=$t(w),a();let y=ls(w,g,r,s,l,c);kt(y)||(y=void 0),y!=w&&(u(t,y),n(e,[t],y,w))},Qa(o,1)),f},delMetricDefinition:t=>(g(t),f),getStore:o,getMetricIds:r,forEachMetric:i,hasMetric:c,getTableId:l,getMetric:d,addMetricIdsListener:y,addMetricListener:(t,n)=>a(n,e,[t]),delListener:t=>(s(t),f),destroy:h,getListenerStats:()=>({metric:da(e)})};return _e(f)}),us=(t,e,...a)=>ye(t,(t,e)=>$t(t)?t:e(...a,t),e),ws=([t,e,a],n)=>[Ve(t,t=>$t(t)?t:Ve(t,t=>$t(t)?t:Ve(t,t=>$t(t)?t:n(t)))),Ve(e,t=>$t(t)?t:n(t)),a],gs=(t,e,a,...n)=>Jt(t)?e:Ut(us(t,a(e,ia),...n),t=>a(t,t=>Ea(()=>sa(t),t))),ys=(t,...e)=>re(t,t=>t(...e)),hs=Ya((t,e)=>{const a=t=>e=>(be(t,e),O),n=[],s=[],o=[],r=[],i=[],c=[],l=[],d=[],u=[],w=[],g=[],y=[],h=[],f=[],v=[n,s,o,r,i,c,l,d,u,w,g,y,h,f],b=a(n),m=a(s),S=a(o),T=a(r),C=a(i),p=a(c),E=a(l),I=a(d),R=a(u),L=a(w),_=a(g),N=a(y),A=a(h),D=a(f),O=_e({getStore:()=>t,addWillSetContentCallback:b,addWillSetTablesCallback:m,addWillSetTableCallback:S,addWillSetRowCallback:T,addWillSetCellCallback:C,addWillSetValuesCallback:p,addWillSetValueCallback:E,addWillDelTablesCallback:I,addWillDelTableCallback:R,addWillDelRowCallback:L,addWillDelCellCallback:_,addWillDelValuesCallback:N,addWillDelValueCallback:A,addWillApplyChangesCallback:D,destroy:()=>{e()&&(t._[4](),de(v,ve))}});return t._[4]((t,e)=>e?gs(n,t,([t,e],a)=>[He(t,a),Ve(e,a)]):us(n,t),t=>gs(s,t,He),(t,e)=>gs(o,e,Fe,t),(t,e,a)=>gs(r,a,Ve,t,e),(t,e,a,n)=>gs(i,n,(t,e)=>e(t),t,e,a),t=>gs(c,t,Ve),(t,e)=>gs(l,e,(t,e)=>e(t),t),()=>ys(d),t=>ys(u,t),(t,e)=>ys(w,t,e),(t,e,a)=>ys(g,t,e,a),()=>ys(y),t=>ys(h,t),(t,e)=>e?gs(f,t,ws):us(f,t),()=>!Jt(r)),O}),fs={Idle:0,Loading:1,Saving:2},vs={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},bs=Da(),ms=Da(),Ss=Da(),Ts=(t,e,a,n,s,o,r,i={},c=0,l=[])=>{let d,u,w,g,y,h=0,f=0,v=0,b=0,m=0,S=0,T=0,C=0,p=0;const E={},I=i.destroy;Va(bs,l,()=>0),Va(ms,l,()=>[]),xa(Ss,l,(Ma(Ss,l)??0)+1);const R=Da(),[L,_,N,A,D]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!a),([[t],[e]])=>!qe(t)||!qe(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!qe(t)||!qe(e),e.setContent]:pa(0))(r,t,c),[O,k,M]=tn(()=>Q),P=t=>{t!=h&&(h=t,k(R,void 0,h))},$=()=>{Ma(Ss,l)||Ma(bs,l)||!Jt(Ma(ms,l)??[])||(xa(bs,l),xa(ms,l),xa(Ss,l))},x=e=>{(L&&Bt(e?.[0])?1===e?.[2]?t.__[4]:t.__[3]:1===e?.[2]?t._[10]:t._[9])(e)},V=async()=>{X()&&t.__?.[0]?.()&&await G()},F=t=>Na(()=>u=t,()=>{u==t&&(u=void 0)}),H=async t=>(2!=h&&(await Na(async()=>{P(1),f++,await J(()=>Ia(async()=>{const a=await e();Bt(a)?x(a):$t(a)&&t?D(t):$t(a)||pa(1,a)},e=>{o?.(e),t&&D(t)}))},()=>P(0)),await V()),Q),U=async()=>{const t=T;T=0,t&&t==b&&!p&&(2==h?T=t:await H())},W=async t=>{const e=++b;let a=!0;if(await q(!0),e==b&&!p){const r=Ia(async()=>{const t=await n(async(t,n)=>{if(e==b&&!p)if(n||t){const e=a||2==h||!!S;m++,e&&S++,await Na(async()=>{P(1),f++,await(e?J(()=>x(n??t)):_a(()=>x(n??t),()=>P(0)))},()=>{e&&S--,--m||P(0)}),m||await V()}else 2==h?T=e:await H()});e!=b||p?$t(t)||await s(t):d=t},o);await F(r),e!=b||p||await Na(()=>H(t),()=>{a=!1})}return Q},q=async(t=!1)=>{T=0,t||b++;const e=u,a=d;return d=void 0,await F(Na(async()=>{await e},async()=>{$t(a)||await Ia(()=>s(a),o)})),Q},G=async t=>(1!=h&&await Na(()=>Na(async()=>{P(2),v++,await J(()=>Ia(()=>a(_,t),o))},()=>P(0)),U),Q),z=async()=>{const e=++C;return await B(!0),e!=C||p||(await G(),e!=C||p||(w=t.addDidFinishTransactionListener(()=>{if(e==C&&!p){const t=N();A(t)&&Ia(()=>G(t))}}))),Q},B=async(e=!1)=>{e||C++;const a=w;return w=void 0,$t(a)||t.delListener(a),Q},X=()=>!$t(w),j=async(t=!1)=>{const[e,a]=t?[B,q]:[q,B];return await Na(()=>e(),async()=>{await a()}),Q},J=async(...t)=>{let e,a=!1;const n=te(n=>Jt(t)?n():be(Ma(ms,l),...we(t,(s,r)=>{const i=r==jt(t)-1;return[async()=>{let t;y=te(e=>t=e),await Na(async()=>{try{await Ia(s,o)}catch(t){a||(a=!0,e=t)}i&&n()},()=>{y=void 0,t()})},i?n:void 0,E]})));if(await(async()=>{if(!Ma(bs,l)){xa(bs,l,1);const t=Ma(ms,l);let e=0;await Na(async()=>{for(;e<jt(t);){const a=t[e++];a[2]=void 0,await a[0]()}},()=>{ve(t,e),xa(bs,l,0),$()})}})(),await n,a)throw e;return Q},Q={load:H,startAutoLoad:W,stopAutoLoad:q,isAutoLoading:()=>!$t(d),save:G,startAutoSave:z,stopAutoSave:B,isAutoSaving:X,startAutoPersisting:async(t,e=!1)=>{const[a,n,s,o]=e?[z,W,B,q]:[W,z,q,B],r=a(t),i=e?C:b;await r;const c=n(t),l=e?b:C;try{await c}catch(t){throw l==(e?b:C)&&await Ra(o),i==(e?C:b)&&await Ra(s),t}return Q},stopAutoPersisting:j,getStatus:()=>h,addStatusListener:t=>O(t,R),delListener:e=>(M(e),t),schedule:J,getStore:()=>t,getStats:()=>({loads:f,saves:v}),...i,destroy:async()=>($t(g)&&(p=1,g=(async()=>{const t=Ma(ms,l),e=he(t,([,t,e])=>e!=E||(t?.(),!1)),a=y;ve(t),be(t,...e),await Na(()=>Na(()=>Na(j,()=>a),()=>I?.()),()=>{const t=(Ma(Ss,l)??1)-1;xa(Ss,l,t||void 0),$()})})()),await g,Q)};return _e(Q)},Cs="_",ps="_id",Es="SELECT",Is="WHERE",Rs="TABLE",Ls="INSERT",_s="DELETE",Ns="UPDATE",As="ALTER "+Rs,Ds="FROM",Os=_s+" "+Ds,ks=Es+"*"+Ds,Ms="pragma_",Ps="data_version",$s="schema_version",xs="pragma_table_",Vs="CREATE ",Fs=Vs+Rs,Hs="OR REPLACE ",Us="FUNCTION",Ws=/\$tableName/g,qs=(t,e)=>e?async(a,n)=>(e(a,n),await t(a,n)):t,Gs=t=>ue(we(wt(t,C),t=>`"${gt(t,/"/g,'""')}"`),C),zs=(...t)=>Gs(ue(t,"_")),Bs=(...t)=>ue(we(t,Gs),T),Xs=t=>"$"+t[0]++,js=()=>"?",Js=(t,e,a=[1])=>ue(we(t,()=>e(a)),T),Qs=(t,e=N)=>Is+`(${Ys(e,Gs(t))})`,Ys=(t,e)=>gt(t,Ws,e),Ks="ColumnName",Zs="store",to="json",eo=Zs+"TableName",ao=Zs+"Id"+Ks,no=Zs+Ks,so="autoLoadIntervalSeconds",oo="rowId"+Ks,ro="tableId",io="tableName",co="deleteEmptyColumns",lo="deleteEmptyTable",uo="condition",wo={mode:to,[so]:1},go={load:0,save:0,[io]:m+"_values"},yo=t=>Bt(t)?t:void 0,ho=t=>Vt(t)||Bt(t),fo=(t,e,a,n,s)=>{const o=Da();return Pe(t,(t,r)=>{const i=Xt(Ue(Ne(e,qt(t)?{[a]:t}:t)),0,We(e));xt(i[0])||n(r,i[0])||(s(r,i[0]),xa(o,r,i))}),o},vo=t=>{const e=(t=>Ne(wo,qt(t)?{[eo]:t}:t??{}))(t),a=e[so];if(e.mode==to){const t=e[eo]??m;return[1,a,[t,e[ao]??ps,e[no]??Zs],Xa(t)]}const{tables:{load:n={},save:s={}}={},values:o={}}=e,r=Ne(go,o),{load:i,save:c}=r,l=[ho(i),ho(c),r[io],yo(i),yo(c)],d=l[2],u=Xa(d),w=Xa(d),g=fo(n,{[ro]:null,[oo]:ps,[uo]:N},ro,t=>ga(w,t),t=>ja(u,t)),y=fo(s,{[io]:null,[oo]:ps,[co]:0,[lo]:0,[uo]:null},io,(t,e)=>ga(w,e),(t,e)=>ja(u,e));return Pa(y,(t,e)=>e[4]??=Ma(g,e[0])?.[2]??N),[0,a,[g,y,l],u]},bo=(t,e,a,n,s,o=mo,r,i,c)=>{const l=Da(),d=Da();let u=t;return[async()=>{va(l),va(d),de(await a(u,e),({tn:t,cn:e,uq:a})=>{ja(Va(l,t,Xa),e),a&&ja(Va(d,t,Xa),e)})},async(t,e,a,n)=>{const s=$t(n)?void 0:Xa(n);return((t,e)=>ga(Ma(l,t),e))(t,e)?ke(he(we(await u(ks+Gs(t)+Qs(t,a)),t=>{const a=t[e],n=i?Ve(Me(t,e),i):Me(t,e);return[a,$t(s)?n:ke(he(xe(n,(t,e)=>[e,t]),([t])=>(t=>$t(s)||ga(s,t))(t)))]}),t=>!$t(t[0])&&!qe(t[1]))):{}},async(t,e,a,i,c,w=!1,g=N,y)=>{const h=$t(y)?void 0:Xa(y),f=t=>$t(h)||ga(h,t),v=Xa();Pe(a??{},t=>de(he(Le(t??{}),f),t=>ja(v,t)));const b=ha(v);if($t(h)&&!w&&c&&g==N&&Jt(b)&&ga(l,t))return await u("DROP "+Rs+Gs(t)),xa(l,t),void xa(d,t);const S=Ma(l,t),C=Xa(he(ha(S),t=>t==e||f(t)));if(!Jt(b))if(ga(l,t)){if(await ee(we([e,...b],async e=>{ma(C,e)||(await u(As+Gs(t)+"ADD"+Gs(e)+n),ja(S,e))})),o==mo&&!ga(Ma(d,t),e)){const a=m+"_pk_"+un(Xe([t,e]));await u("CREATE UNIQUE INDEX IF NOT EXISTS"+Gs(a)+"ON"+Gs(t)+`(${Gs(e)})`),ja(Va(d,t,Xa),e)}}else await u(Fs+Gs(t)+`(${Gs(e)}${n} PRIMARY KEY${ue(we(b,t=>T+Gs(t)+n))});`),xa(l,t,Xa([e,...b])),xa(d,t,Xa([e]));if(await ee([...!w&&i?we(ha(C),async a=>{a!=e&&(await u(As+Gs(t)+"DROP"+Gs(a)),ma(S,a))}):[]]),w)$t(a)?$t(h)&&await u(Os+Gs(t)+Qs(t,g)):await ee(xe(a,async(a,n)=>{if($t(a))await u(Os+Gs(t)+Qs(t,g)+`AND(${Gs(e)}=${s([1])})`,[n]);else if(!Jt(b)){const i=he(Le(a),f);Jt(i)||await o(u,t,e,i,{[n]:we(i,t=>r?r(a[t]):a[t])},s,S)}}));else if(Jt(b))$t(h)&&ga(l,t)&&await u(Os+Gs(t)+Qs(t,g));else{const n=he(ha(Ma(l,t)),t=>t!=e&&f(t)),i=ke(),c=[];Pe(a??{},(t,e)=>{Oe(i,e,we(n,e=>r?r(t?.[e]):t?.[e])),be(c,e)}),await o(u,t,e,n,i,s,S),await u(Os+Gs(t)+Qs(t,g)+`AND${Gs(e)}NOT IN(${Js(c,s)})`,c)}},async e=>{if(c)return await c(async t=>{const a=u;return u=t,await Na(e,()=>{u=a})});await t("BEGIN");try{const a=await e();return await t("END"),a}catch(e){throw await Ia(()=>t("ROLLBACK")),e}}]},mo=async(t,e,a,n,s,o)=>{const r=[1];await t(Ls+" INTO"+Gs(e)+"("+Bs(a,...n)+")VALUES"+ue(xe(s,t=>"("+o(r)+","+Js(t,o,r)+")"),T)+"ON CONFLICT("+Gs(a)+`)DO ${Ns} SET`+ue(we(n,t=>Gs(t)+"=excluded."+Gs(t)),T),xe(s,(t,e)=>[e,...we(t,t=>t??null)]).flat())},So=(t,e,a,n,s,o,r,[i,c,l],d,u,w,g,y,h,f,v,b,m)=>{const[S,T,C,p]=bo(e,d,u,y,h,f,void 0,void 0,m);return Ts(t,()=>p(async()=>(await S(),Ye((await T(i,c))[Cs]?.[l]??"null"))),t=>p(async()=>{await S(),await C(i,c,{[Cs]:{[l]:Qe(t()??null)}},!0,!0)}),a,n,s,r,{[g]:()=>w,destroy:o},0,w)},To=(t,e,a,n,s,o,r,[i,c,[l,d,u,w,g]],y,h,f,v,b,m,S,T,C,p)=>{const[E,I,R,L]=bo(e,y,h,b,m,S,T,C,p),_=(t,e)=>ee($a(c,async([a,n,s,o,r],i)=>{e&&!Ae(t,i)||await R(a,n,t[i],s,o,e,r)})),N=(t,e,a)=>ke(1==a?he(xe(t,(t,e)=>[e,t]),([t])=>se(e,t)):he(we(e,e=>[e,t[e]]),([,t])=>!$t(t))),A=async(t,e)=>d?await R(u,ps,{[Cs]:$t(g)?t:N(t,g,e)},!0,!0,e,void 0,g):null;return Ts(t,()=>L(async()=>{await E();const t=await(async()=>ke(he(await ee($a(i,async([t,e,a],n)=>[t,await I(n,e,a)])),t=>!qe(t[1]))))(),e=await(async()=>l?(await I(u,ps,void 0,w))[Cs]:{})();return qe(t)&&$t(e)?void 0:[t,e]}),(t,e)=>L(async()=>{if(await E(),$t(e)){const[e,a]=t();await _(e),await A(a)}else await _(e[0],!0),await A(e[1],!0)}),a,n,s,r,{[v]:()=>f,destroy:o},0,f)},Co=/^([cd]:)(.+)/,po=/^[A-Za-z0-9_]+$/,Eo=Da(),Io=(t,e,a,n,s,o,r,i,c,l,d="getDb")=>{const u=qs(a,o),[w,,g,y]=vo(e);!w&&t.isMergeable()&&pa(0);const h=S+un(Qe(g)),f=m+"_"+h,v=l??a,b=async(t,e,a="",n="")=>{const s=zs(m,t,h);return await u(Vs+Hs+Us+s+`()RETURNS ${a}trigger AS $$ ${n}BEGIN ${e}END;$$ LANGUAGE plpgsql;`),s},T=async(t,e,a,n)=>(await u(Vs+t+"TRIGGER"+e+a+"EXECUTE "+Us+n+"()"),e),C=t=>`PERFORM pg_notify('${f}',${t});`,p=(t,e)=>w?N:2===e?p(t,0)+" OR "+p(t,1):Ys(Ma(g[0],t)?.[2]??N,0==e?"NEW":"OLD"),E=(t,e)=>ee(we([Ls,_s,Ns],(a,n)=>{const s=ue([m,"d",h,t,a],"_");return T(Hs,Qt(po,t)&&jt(s)<=63?Gs(s):zs(m,"d",h,a,S+un(t)),`AFTER ${a} ON${Gs(t)}FOR EACH ROW WHEN(${p(t,n)})`,e)})),I=async t=>{Jt(t)||await u(`DROP FUNCTION IF EXISTS${ue(t,",")}CASCADE`)},R=(t,e)=>{Ma(t,h)===e&&(xa(t,h),ya(t)&&Ma(Eo,v)===t&&xa(Eo,v))},L=async()=>{const t=Va(Eo,v,()=>Da()),e=Ma(t,h);if(e)return await e[1],e[0]?(e[0]++,e):(await Ia(()=>e[4]),await L());const a=[],n=[1,void 0,a];xa(t,h,n),n[1]=(async()=>{const t=await b("c",`FOR row IN SELECT object_identity FROM pg_event_trigger_ddl_commands()${Is} command_tag='${Fs}' LOOP ${C("'c:'||SPLIT_PART(row.object_identity,'.',2)")}END LOOP;`,"event_","DECLARE row record;");be(a,t),await T("EVENT ",zs(m,"c",h),`ON ddl_command_end WHEN TAG IN('${Fs}')`,t);const e=await b("d",C("'d:'||TG_TABLE_NAME")+"RETURN NULL;");be(a,e),n[3]=e,await ee(we(ha(y),async t=>(await u(Fs+` IF NOT EXISTS${Gs(t)}("_id"text PRIMARY KEY)`),await E(t,e))))})();try{await n[1]}catch(e){throw n[0]=0,n[4]=Na(()=>I(a),()=>R(t,n)),await Ia(()=>n[4]),e}return n},_=async t=>{if(0==--t[0]){const e=Ma(Eo,v);t[4]=Na(()=>I(t[2]),()=>R(e,t)),await t[4]}};return(w?So:To)(t,u,async t=>{const e=await L();try{return[await n(f,a=>{Ra(()=>Ut(ut(a,Co),async([,a,n])=>{ga(y,n)&&("c:"==a&&await E(n,e[3]),await t())}),r)}),e]}catch(t){throw await Ra(()=>_(e),r),t}},async([t,e])=>{await Na(()=>s(t),()=>_(e))},r,i,c,g,ha(y),async(t,e)=>await t(Es+` c.table_name tn,c.column_name cn,CASE WHEN tc.constraint_type IN('PRIMARY KEY','UNIQUE')AND(${Es} count(*) FROM information_schema.key_column_usage kcu2 ${Is} kcu2.constraint_schema=kcu.constraint_schema AND kcu2.constraint_name=kcu.constraint_name)=1 THEN 1 ELSE 0 END uq FROM information_schema.columns c LEFT JOIN information_schema.key_column_usage kcu ON kcu.table_schema=c.table_schema AND kcu.table_name=c.table_name AND kcu.column_name=c.column_name LEFT JOIN information_schema.table_constraints tc ON tc.constraint_schema=kcu.constraint_schema AND tc.constraint_name=kcu.constraint_name ${Is} c.table_schema='public'AND c.table_name IN(${Js(e,Xs)})`,e),l,d,"text",Xs,void 0,t=>Xe(t),t=>je(t))},Ro=(t,e,a,n,s,o,r,i,c,l,d="getDb",u,w)=>{let g,y,h;const f=qs(a,o),[v,b,m,T]=vo(e);return!v&&t.isMergeable()&&pa(0),(v?So:To)(t,f,t=>{let e,a,o=1,i=0,c=0;const l=async(e=!0)=>{const[{d:a,s:n,c:s}]=await f(Es+` ${Ps} d,${$s} s,TOTAL_CHANGES() c FROM ${Ms}${Ps} JOIN ${Ms}${$s}`);if(o&&(a!=g||n!=y||s!=h)){const r=e&&!c&&!Pt(g);g=a,y=n,h=s,r&&o&&await t()}},d=()=>{$t(e)||(Ct(e),e=void 0)},u=(n=!1)=>{if(a)return a;const s=Na(()=>Ra(async()=>{for(i?n&&await l():(await l(!1),i=1);o&&c;)c=0,await l(!1),o&&(await t(),await l())},r),()=>{a==s&&(a=void 0),o&&(c?u():o&&$t(e)&&(e=Tt(()=>u(!0),b)))});return a=s,s},w=n(t=>{o&&ga(T,t)&&(c=1,d(),ae().then(()=>o?void u():0))});return u().then(()=>async()=>{o=0,c=0,d(),await Na(async()=>await a,async()=>{g=y=h=null,await s(w)})})},t=>t(),r,i,c,m,ha(T),async(t,e)=>await t(Es+` t.name tn,c.name cn,c.pk OR EXISTS(${Es} 1 FROM ${Ms}index_list(t.name)i,${Ms}index_info(i.name)ii ${Is} i."unique"=1 AND ii.name=c.name AND(${Es} count(*) FROM ${Ms}index_info(i.name))=1)uq FROM ${xs}list()t,${xs}info(t.name)c ${Is} t.schema='main'AND t.type IN('table','view')AND t.name IN(${Js(e,js)})ORDER BY t.name,c.name`,e),l,d,S,js,u,t=>Vt(t)?1:Ft(t)?0:t,void 0,w)},Lo=t=>Ae(Object.prototype,t)||"prototype"==t||lt(t,"\0")?"\0"+t:t,_o=t=>lt(t,"\0")?Xt(t,1):t,No=(t,e)=>De(t,Lo(e)),Ao=(t,e,a)=>t[Lo(e)]=a,Do=(t,e)=>Me(t,Lo(e)),Oo=(t,e)=>{const a=No(t,e);return[a.t,a.v]},ko=(t,e=t=>t)=>{const a=ke();return Pe((t=>Re(t)?t:pa(1))(t),(t,n)=>Oe(a,_o(n),e(t))),a},Mo=(t,e)=>{const a=No(t,e);return Re(a?.t)&&Re(a?.v)?((t,e)=>{const[a,n]=Oo(t,e);return[ko(a,t=>ko(t,t=>ko(t))),ko(n)]})(t,e):void 0},Po=(t,e,a)=>($t(No(t,e))&&Ao(t,e,a()),No(t,e)),$o=(t,e,a,n)=>{const s=$t(e)?t:Po(t,e,()=>({}));let o;return Pe(a,(t,e)=>{n(s,e,t)&&(o=1)}),Pe(s,(t,e)=>{const n=_o(e);Ae(a,n)||(Me(s,e),o=1)}),!$t(e)&&qe(s)&&Do(t,e),o},xo=(t,e,a=m,n)=>(e.change(t=>Po(t,a,()=>({}))),Ts(t,async()=>Mo(e.doc(),a),async(t,n)=>e.change(e=>((t,e,a,n)=>{((t,e)=>{qe(No(t,e))&&Ao(t,e,{t:{},v:{}})})(t,e);const[s,o]=Oo(t,e);if(!Ut(n,([t,e])=>$e(t,(t,e)=>$t(t)?(Do(s,e),!0):Ut(No(s,e),e=>$e(t,(t,a)=>$t(t)?(Do(e,a),!0):Ut(No(e,a),e=>(Pe(t,(t,a)=>$t(t)?Do(e,a):Ao(e,a,t)),!0),()=>!1)),()=>!1))&&$e(e,(t,e)=>($t(t)?Do(o,e):Ao(o,e,t),!0)))){const[t,e]=a();$o(s,void 0,t,(t,e,a)=>$o(s,e,a,(t,e,a)=>$o(t,e,a,(t,e,a)=>{if(No(t,e)!==a)return Ao(t,e,a),1}))),$o(o,void 0,e,(t,e,a)=>{No(o,e)!==a&&Ao(o,e,a)})}})(e,a,t,n)),t=>Rt(e,at,({doc:e})=>{Ra(()=>Ut(Mo(e,a),t,()=>pa(1)),n)}),t=>t(),n,1,{getDocHandle:()=>e})),Vo=(t,e,a,n,s)=>Ro(t,a,async(t,a=[])=>{const n=e.prepare(t);return n.reader?n.all(...a):(n.run(...a),[])},()=>Kt,t=>t(),n,s,Kt,3,e),Fo=(t,e,a,n)=>Ts(t,async()=>Ye(a.getItem(e)),async t=>a.setItem(e,Qe(t())),t=>It(bt,st,s=>{s.storageArea===a&&s.key===e&&Ra(()=>t(Ye(s.newValue)),n)}),t=>t(),n,3,{getStorageName:()=>e}),Ho=(t,e,a)=>Fo(t,e,localStorage,a),Uo=(t,e,a)=>Fo(t,e,sessionStorage,a),Wo=(t,e,a)=>Ts(t,async()=>Ye(await(await e.getFile()).text()),async t=>{const a=await e.createWritable();let n=0;await Na(async()=>{await a.write(Qe(t())),n=1},async()=>{n?await a.close():await Ia(()=>a.abort())})},async t=>{const a=new FileSystemObserver(()=>t());return await a.observe(e),a},t=>t?.disconnect(),a,3,{getHandle:()=>e}),qo=/^\s*(SELECT|PRAGMA)/i,Go=(t,e,a,n,s)=>Ro(t,a,async(t,a=[])=>Qt(qo,t)?(await e.query(t,a)).values??[]:(await e.run(t,a,!1),[]),()=>Kt,t=>t(),n,s,Kt,3,e),zo=(t,e,a,n,s)=>Ro(t,a,async(t,a=[])=>await e.execO(t,a),t=>e.onUpdate((e,a,n)=>t(n)),t=>t(),n,s,Kt,1,e),Bo=(t,e,...a)=>t.exec(e,...a).toArray(),Xo=(t,e,a,n,s)=>"fragmented"==a?.mode?Qo(t,e,a?.storagePrefix??S,s):Ro(t,a,async(t,a=[])=>se(["BEGIN","END"],t)?[]:Bo(e,t,...a),()=>Kt,t=>t(),n,s,Kt,2,e,"getSqlStorage"),jo=()=>Vn(ke(),S,0),Jo=t=>Qt(/^[a-zA-Z_][a-zA-Z0-9_]*$/,t)?t:Gs(t),Qo=(t,e,a=S,n)=>{const s=Qt(/^[a-z0-9_]*$/,a)?a:`$tinybase$${(t=>ue(we(wt(t),t=>"$"+Xt((65536+t.charCodeAt(0)).toString(16),1))))(a)}$`,o=s+"tinybase_values",r=Jo(s+"tinybase_tables"),i=Jo(o),c=`INSERT INTO ${r} (type, table_id, row_id, cell_id, value_data, timestamp, hash) VALUES (?, ?, ?, ?, ?, ?, ?)`,l=`INSERT INTO ${i} (value_id, value_data, timestamp, hash) VALUES (?, ?, ?, ?)`,d=(t,e)=>Xe([t,e]);e.exec(`\n CREATE TABLE IF NOT EXISTS ${r} (\n type TEXT NOT NULL,\n table_id TEXT,\n row_id TEXT,\n cell_id TEXT,\n value_data TEXT NOT NULL,\n timestamp TEXT NOT NULL,\n hash INTEGER NOT NULL,\n PRIMARY KEY (type, table_id, row_id, cell_id)\n );\n \n CREATE TABLE IF NOT EXISTS ${i} (\n value_id TEXT,\n value_data TEXT NOT NULL,\n timestamp TEXT NOT NULL,\n hash INTEGER NOT NULL\n );\n `);const u=(t,e,a)=>xt(a)?e+" IS NULL":(be(t,a),e+" = ?"),w=(t,a,n,s,o,i)=>{((t,a,n)=>{const s=[rt];e.exec(`DELETE FROM ${r} WHERE type = ? AND `+u(s,"table_id",t)+" AND "+u(s,"row_id",a)+" AND "+u(s,"cell_id",n),...s)})(t,a,n),e.exec(c,rt,t,a,n,s,o,i)},g=(t,a,n,s)=>{(t=>{const a=[];e.exec(`DELETE FROM ${i} WHERE `+u(a,"value_id",t),...a)})(t),e.exec(l,t,a,n,s)};return Ts(t,async()=>{const t=jo(),a=jo(),n=Xa(),s=Bo(e,"SELECT * FROM "+r);return de(s,e=>{const a=Pt(e.table_id)?null:St(e.table_id),s=Pt(e.row_id)?null:St(e.row_id),o=Pt(e.cell_id)?null:St(e.cell_id),r=St(e.value_data),i=St(e.timestamp),c=mt(e.hash),[l]=Ye(r);if(!xt(a)&&!xt(s)&&xt(o)&&Re(l)){const e=ze(t[0],a,jo);Oe(e[0],s,[l,i,c]),ja(n,d(a,s))}}),de(s,e=>{const a=St(e.type),s=Pt(e.table_id)?null:St(e.table_id),o=Pt(e.row_id)?null:St(e.row_id),r=Pt(e.cell_id)?null:St(e.cell_id),i=St(e.value_data),c=St(e.timestamp),l=mt(e.hash),[u]=Ye(i);if(a===rt)if(xt(s)||xt(o)||xt(r)){if(xt(s)||xt(o))if(xt(s))Wn(t,c,l);else{const e=ze(t[0],s,jo);Wn(e,c,l)}else if(!Re(u)){const e=ze(t[0],s,jo),a=ze(e[0],o,jo);Wn(a,c,l)}}else if(!ga(n,d(s,o))){const e=ze(t[0],s,jo),a=ze(e[0],o,jo);Oe(a[0],r,[u,c,l])}}),de(Bo(e,"SELECT * FROM "+i),t=>{const e=Pt(t.value_id)?null:St(t.value_id),n=St(t.value_data),s=St(t.timestamp),o=mt(t.hash),[r]=Ye(n);xt(e)?Wn(a,s,o):Oe(a[0],e,[r,s,o])}),[t,a]},async(t,[[a,n,s],[o,i,c]]=t())=>{const[l]=t()[0];w(null,null,null,Qe([0]),n,s),Pe(a,([t,a,n],s)=>{w(s,null,null,Qe([0]),a,n),Pe(t,([t,a,n],o)=>{const i=l[s]?.[0]?.[o]?.[0]??t;((t,a)=>{e.exec(`DELETE FROM ${r} WHERE type = ? AND table_id = ? AND row_id = ? AND cell_id IS NOT NULL`,rt,t,a)})(s,o),w(s,o,null,Qe([i]),a,n)})}),g(null,Qe([0]),i,c),Pe(o,(t,e)=>{g(e,Qe([t[0]]),t[1],t[2])})},Kt,Kt,n,2,{getSqlStorage:()=>e})},Yo=()=>Vn(ke(),S,0),Ko=(t,e,a=S,n)=>{const s=(t,...e)=>a+t+Xt(Xe(e),1,-1);return Ts(t,async()=>{const t=Yo(),n=Yo();return Pa(await e.list({prefix:a}),(e,[s,o,r])=>Ut((t=>{if(lt(t,a)){const e=Xt(t,jt(a),jt(a)+1);if(e==rt||e==it){const n=Ea(()=>je("["+Xt(t,jt(a)+1)+"]"));if(Bt(n)&&jt(n)<=(e==rt?3:1)&&re(n,qt))return[e,...n]}}})(e),([e,...a])=>e==rt?Ut(a[0],e=>{const n=ze(t[0],e,Yo);Ut(a[1],t=>{const e=ze(n[0],t,Yo);Ut(a[2],t=>Oe(e[0],t,[s,o,r]),()=>Wn(e,o,r))},()=>Wn(n,o,r))},()=>Wn(t,o,r)):e==it?Ut(a[0],t=>Oe(n[0],t,[s,o,r]),()=>Wn(n,o,r)):0)),qe(t[0])&&qe(n[0])?void 0:[t,n]},async(t,[[a,n,o],[r,i,c]]=t())=>{const l=Da();xa(l,s(rt),[0,n,o]),Pe(a,([t,e,a],n)=>{xa(l,s(rt,n),[0,e,a]),Pe(t,([t,e,a],o)=>{xa(l,s(rt,n,o),[0,e,a]),Pe(t,(t,e)=>xa(l,s(rt,n,o,e),t))})}),xa(l,s(it),[0,i,c]),Pe(r,(t,e)=>xa(l,s(it,e),t));const d=$a(l,(t,e)=>[e,t]);await e.transaction(async t=>{for(let e=0;e<jt(d);e+=128)await t.put(ke(Xt(d,e,e+128)))})},Kt,Kt,n,2,{getStorage:()=>e})},Zo=(t,e,a,n,s)=>Ro(t,a,async(t,a=[])=>await e.db.raw({sql:t,args:a}),t=>e.notifier.subscribeToDataChanges(a=>de(e.notifier.alias(a),({tablename:e})=>t(e))),t=>t(),n,s,Kt,1,e,"getElectricClient"),tr=(e,a,n,s,o)=>Ro(e,n,async(t,e=[])=>await a.getAllAsync(t,e),e=>t(({tableName:t})=>e(t)),t=>t.remove(),s,o,Kt,3,a),er=(t,f,v)=>{let b;return Ts(t,async()=>Ye(await l(f,M)),async t=>{const e=await Ia(()=>d(f)),a=e?.isSymbolicLink()?await Ia(()=>u(f))??y(h(f),await o(f)):f,n=(await Ia(()=>w(a)))?.mode,s=a+"."+ln()+".tmp",l=Qe(t()),v=b;b=l,await Na(async()=>{try{await r(s,l,M),await Ut(n,t=>i(s,4095&t)),await c(s,a)}catch(t){throw b=v,t}},()=>Ia(()=>g(s)))},t=>{a(f)||n(f,S,M);const e=()=>(async()=>await Ia(async()=>{const e=await l(f,M);e!=b&&(b=e,t())},()=>{null!==b&&(b=null,t())}))();return s(f,{interval:50},e),e},t=>e(f,t),v,3,{getFilePath:()=>f})},ar=[rt,it],nr=["m"],sr=[...ar,"m"],or={keyPath:"k"},rr=async(t,e)=>{const a=xe(e,(e,a)=>ir(t,"put",{k:a,v:e}));de(await ir(t,"getAllKeys"),n=>Ae(e,n)?0:be(a,ir(t,"delete",n))),await ee(a)},ir=async(t,e,a)=>te((n,s)=>{const o=t[e](a);o.onsuccess=()=>n(o.result),o.onerror=()=>s(Ca(11,e))}),cr=(t,e,a=1,n)=>{const s=async(t,a,n=[],s=0,o="readonly")=>te((r,i)=>{const c=(bt?bt.indexedDB:indexedDB).open(e,s?3:void 0);let l=0;c.onupgradeneeded=()=>s&&de(sr,t=>La(()=>c.result.createObjectStore(t,or))),c.onblocked=()=>{l=1,i(Ca(12))},c.onsuccess=()=>l?c.result.close():Ia(async()=>{c.result.onversionchange=()=>c.result.close();const e=c.result.transaction(t,o),s=te((t,a)=>{e.oncomplete=()=>t(),e.onerror=e.onabort=()=>a(Ca(11))}),[i]=await ee([ee(we(t,(t,s)=>a(e.objectStore(t),n[s]))),s]);c.result.close(),r(i)},t=>{c.result.close(),i(t)}),c.onerror=()=>i(Ca(12))}),o=async t=>ke(we(await ir(t,"getAll"),({k:t,v:e})=>[t,e])),r=async()=>{if(!t.isMergeable())return await s(ar,o);const[e]=await s(nr,o);return Ae(e,rt)?[e[rt],e[it]]:void 0};return Ts(t,r,async e=>{const a=e();await(t.isMergeable()?s(nr,(t,e)=>rr(t,e),[{[rt]:a[0],[it]:a[1]}],1,"readwrite"):s(ar,(t,e)=>rr(t,e),a,1,"readwrite"))},t=>r().then(e=>{let s,o=1,i=Qe(e);const c=Tt(()=>{if(o&&!s){const e=Na(()=>Ra(async()=>{const e=await r();if(o){const a=Qe(e);a!=i&&(i=a,await t(e))}},n),()=>{s==e&&(s=void 0)});s=e}},a);return async()=>{o=0,Ct(c),await s}}),async t=>await t(),n,3,{getDbName:()=>e})},lr=(t,e,a,n,s)=>Ro(t,a,async(t,a=[])=>(await e.execute({sql:t,args:a})).rows,()=>Kt,t=>t(),n,s,Kt,1,e,"getClient",void 0,"file"==e.protocol?void 0:async t=>{n?.("BEGIN");const a=await e.transaction("write");return await Na(async()=>{try{const e=await t(async(t,e=[])=>(n?.(t,e),(await a.execute({sql:t,args:e})).rows));return await a.commit(),n?.("END"),e}catch(t){throw await Ia(()=>a.rollback()),n?.("ROLLBACK"),t}},()=>a.close())}),dr="s",ur="/store",wr=(t,e,a)=>t+e+(qt(a)?a:Qe(a)),gr=(t,e,a)=>{const n=jt(t);return qt(e)&&jt(e)>n&<(e,t)?a?Ea(()=>[e[n],Ye(Xt(e,n+1))]):[e[n],St(Xt(e,n+1))]:void 0},yr=(t,e,a,n)=>{const{host:s,room:o}=e.partySocketOptions,{storeProtocol:r="https",storePath:i=ur,messagePrefix:c=S}={...qt(a)?{storeProtocol:a}:a},l=r+"://"+s+"/parties/"+e.name+"/"+o+i,d=async t=>{const e=await fetch(l,{...t?{method:"PUT",body:Je(t)}:{},mode:"cors",cache:"no-store"});if(!e.ok)throw e;const a=await e.text();return Jt(a)?void 0:je(a)};return Ts(t,d,async(t,a)=>{a?e.send(wr(c,dr,a)):await d(t())},t=>It(e,tt,e=>{Ia(async()=>await Ut(gr(c,e.data,1),async([e,a])=>{e==dr&&await t(void 0,a)}),n)}),t=>t(),n,1,{getConnection:()=>e})},hr="hasStore",fr=ke(we(["Origin","Methods","Headers"],t=>["Access-Control-Allow-"+t,"*"])),vr=(t,e,a)=>Re(t)&&$e(t,t=>$t(t)?a:e?vr(t,e-1,a):ta(t)),br=(t,e)=>Bt(t)&&jt(t)==(e?3:2)&&(!e||1==t[2])&&vr(t[0],2,e)&&vr(t[1],0,e),mr=async(t,e=S)=>!!await t.get(e+hr),Sr=async(t,e=S)=>{const a=ke(),n=ke();return Pa(await t.list({prefix:e}),(t,s)=>Ut(gr(e,t),([t,e])=>{t==rt?Ut(Ea(()=>je("["+e+"]")),t=>{if(Bt(t)&&3==jt(t)&&re(t,qt)){const[e,n,o]=t;Oe(ze(ze(a,e,ke),n,ke),o,s)}}):t==it&&Oe(n,e,s)})),[a,n]},Tr=async(t,e,a)=>t.party.broadcast(wr(t.config.messagePrefix??S,dr,e),a),Cr=async(t,e,a,n)=>{const s=t.party.storage,o=t.config.storagePrefix??S,r=ke(),i=ke(),c=ke(),l=[],d=[],u=t=>ze(r,t,ke),w=(t,e)=>ze(u(t),e,ke);return await ee(xe(e[0],async(e,i)=>{$t(e)?!a&&await t.canDelTable(i,n)&&(Se(d,pr(o,rt,i)),Oe(r,i,void 0)):await t.canSetTable(i,a,n)&&await ee(xe(e,async(e,r)=>{$t(e)?!a&&await t.canDelRow(i,r,n)&&(be(d,pr(o,rt,i,r)),Oe(u(i),r,void 0)):await t.canSetRow(i,r,a,n)&&await ee(xe(e,async(e,d)=>{const u=[i,r,d],g=pr(o,rt,...u);$t(e)?!a&&await t.canDelCell(...u,n)&&(be(l,g),Oe(w(i,r),d,void 0)):await t.canSetCell(...u,e,a,n,await s.get(g))&&(Oe(c,g,e),Oe(w(i,r),d,e))}))}))})),await ee(xe(e[1],async(e,r)=>{const d=o+it+r;$t(e)?!a&&await t.canDelValue(r,n)&&(be(l,d),Oe(i,r,void 0)):await t.canSetValue(r,e,a,n,await s.get(d))&&(Oe(c,d,e),Oe(i,r,e))})),a&&(qe(e[0])&&qe(e[1])||!qe(r)||!qe(i))&&Oe(c,o+hr,1),await s.transaction(async t=>{if(a&&await t.get(o+hr))return!1;const e=Xt(l,0);return Jt(d)||Pa(await t.list({prefix:o}),t=>Ut(fe(d,e=>lt(t,e)),()=>be(e,t))),await t.delete(e),qe(c)||await t.put(c),!0})?[r,i,1]:void 0},pr=(t,e,...a)=>wr(t,e,Xt(Je(a),1,-1)),Er=async(t,e,a=null)=>new Response(a,{status:e,headers:t.config.responseHeaders});class Ir{constructor(t){this.party=t,this.config.storePath??=ur,this.config.messagePrefix??=S,this.config.storagePrefix??=S,this.config.responseHeaders??=fr}party;config={};saveQueue=te(t=>t());async runExclusive(t){let e;const a=this.saveQueue;return this.saveQueue=te(t=>e=t),await a,await Na(t,e)}async onRequest(t){const{party:{storage:e},config:{storePath:a=ur,storagePrefix:n}}=this;if(dt(new URL(t.url).pathname,a)){const a=await t.text();if("PUT"==t.method){const s=Ea(()=>je(a));return br(s,!1)?await this.runExclusive(async()=>await mr(e,n)?Er(this,205):Er(this,await Cr(this,s,!0,t)?201:205)):Er(this,400)}const s=await mr(e,n);return Er(this,200,s?Je(await Sr(e,n)):S)}return Er(this,404)}async onMessage(t,e){const{config:{messagePrefix:a=S,storagePrefix:n}}=this;await Ut(gr(a,t,1),async([t,a])=>t==dr&&br(a,!0)?await this.runExclusive(async()=>{if(await mr(this.party.storage,n)){const t=await Cr(this,a,!1,e);!t||qe(t[0])&&qe(t[1])||await Tr(this,t,[e.id])}}):0)}async canSetTable(t,e,a){return!0}async canDelTable(t,e){return!0}async canSetRow(t,e,a,n){return!0}async canDelRow(t,e,a){return!0}async canSetCell(t,e,a,n,s,o,r){return!0}async canDelCell(t,e,a,n){return!0}async canSetValue(t,e,a,n,s){return!0}async canDelValue(t,e){return!0}}const Rr=t=>!$t(t?.idleCount),Lr=async(t,e)=>{if(Rr(t)){const a=await t.connect();return a.on("error",e??Kt),[a,t=>a.release(t)]}return[t,Kt]},_r=async(t,e,a,n,s)=>{const[o,r]=await Lr(e,s),i=(()=>{let t=ae();return e=>t=t.then(e,e)})();try{return Io(t,a,(t,e=[])=>i(async()=>(await o.query(t,e)).rows),async(t,a)=>{const n=e=>e.channel==t?a(e.payload):0,o=Gs(t),[r,i]=await Lr(e,s);return r.on("notification",n),await r.query("LISTEN "+o),async()=>{r.off("notification",n),Rr(e)?i(!0):await r.query("UNLISTEN "+o)}},t=>Ia(t,s),n,s,r,3,e,"getPg")}catch(t){throw r(),t}},Nr=async(t,e,a,n,s)=>Io(t,a,async(t,a=[])=>(await e.query(t,a)).rows,(t,a)=>e.listen(t,a),t=>Ia(t,s),n,s,Kt,3,e,"getPglite"),Ar=async(t,e,a,n,s)=>{const o=await(e.reserve?.());try{return Io(t,a,o?.unsafe,async(t,a)=>e.listen(t,a),t=>Ia(t.unlisten,s),n,s,()=>o?.release?.(),3,e,"getSql")}catch(t){throw await(o?.release?.()),t}},Dr=(t,e,a,n,s)=>{let o;return Ro(t,a,async(t,a=[])=>e.execute(t,a).then(t=>t.rows?._array??[]),t=>{const a=new AbortController,n=e.onChange({signal:a.signal});return Ra(async()=>{for await(const t of n)o&&de(t.changedTables,o)},s),o=t,a},t=>{o=void 0,t.abort()},n,s,Kt,1,e,"getPowerSync",Or)},Or=async(t,e,a,n,s,o)=>{const r=[1],i=ue(we(n,t=>Gs(t)+"="+o(r)),T),c=o(r);for(const[r,l]of xe(s,(t,e)=>[e,t])){const s=we(l,t=>t??null);if(Jt(await t(Ns+Gs(e)+" SET"+i+" "+Is+Gs(a)+"="+c+" RETURNING"+Gs(a),[...s,r]))){const i=[1];await t(Ls+" INTO"+Gs(e)+"("+Bs(a,...n)+")VALUES("+Js([r,...l],o,i)+")",[r,...s])}}},kr=(t,e,a=st,n)=>Ts(t,async()=>{const t=e.getString(a);return $t(t)?void 0:Ye(t)},async t=>{const n=t();$t(n)||e.set(a,Qe(n))},t=>e.addOnValueChangedListener(s=>{s===a&&Ia(async()=>{const n=e.getString(a);$t(n)||await t(Ye(n))},t=>Ea(()=>n?.(t)))}),t=>{t.remove()},n,3,{getStorageName:()=>a}),Mr=(t,e,a,n,s)=>Ro(t,a,async(t,a=[])=>(await e.executeSql(t,a))[0].rows.raw(),Kt,Kt,n,s,Kt,3,e),Pr=t=>t.headers.get("ETag")??S,$r=t=>t==S?void 0:{"If-None-Match":t},xr=(t,e)=>{if(!(t.ok||e&&304==t.status))throw t},Vr=(t,e,a,n=5,s)=>{let o,r=S;return Ts(t,async()=>{const t=await fetch(e,{headers:$r(r)}),a=304==t.status&&!$t(o);xr(t,a?1:void 0);const n=a?o:await t.text(),s=je(n);return a||(o=n,r=Pr(t)),s},async t=>{const e=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:Je(t())});await Na(async()=>xr(e),()=>e.body?.cancel())},t=>{let a,o,i=!1;return[Tt(()=>{!i&&$t(a)&&(o=new AbortController,a=Na(()=>Ia(async()=>{const a=await fetch(e,{method:"HEAD",headers:$r(r),signal:o?.signal});xr(a,1),i||304==a.status||Pr(a)==r||await t()},t=>i?0:Ea(()=>s?.(t))),()=>{a=void 0,o=void 0}))},n),async()=>{i=!0,o?.abort(),await a}]},async([t,e])=>{const a=e();Ct(t),await a},s,1,{getUrls:()=>[e,a]})},Fr=(t,e,a,n,s)=>Ro(t,a,async(t,a=[])=>e.query(t).all(...a),()=>Kt,t=>t(),n,s,Kt,3,e),Hr=(t,e,a,n,s,o)=>Ro(t,n,async(t,e=[])=>we(a.exec(t,{bind:e,rowMode:"object",returnValue:"resultRows"}),t=>({...t})),t=>e.capi.sqlite3_update_hook(a,(e,a,n,s)=>t(s),0),()=>e.capi.sqlite3_update_hook(a,Kt,0),s,o,Kt,3,a),Ur=(t,e,a,n,s)=>Ro(t,a,async(t,a=[])=>await te((n,s)=>e.all(t,a,(t,e)=>t?s(t):n(e))),t=>Rt(e,at,(e,a,n)=>t(n)),t=>t(),n,s,Kt,3,e),Wr=(t,e,a,n)=>{const s=qt(a)?{storeTableName:a}:a??{},o=s.storeTableName??m,r=s.storeIdColumnName??ps,i=s.storeColumnName??"store",{autoLoadIntervalSeconds:c}=s;return Ts(t,async()=>{const{data:t,error:a}=await e.from(o).select(i).eq(r,Cs).maybeSingle();if(a)throw a;return Ye(t?.[i]??"null")},async t=>{const{error:a}=await e.from(o).upsert({[r]:Cs,[i]:Qe(t()??null)},{onConflict:r});if(a)throw a},t=>[e.channel(m+"_"+o+"_"+ln()).on("postgres_changes",{event:"*",schema:"public",table:o},()=>{t()}).subscribe((t,e)=>e?n?.(e):0),$t(c)?void 0:Tt(()=>{t()},c)],async([t,a])=>{Ct(a),await e.removeChannel(t)},n,3,{getSupabase:()=>e})},qr="delete",Gr=t=>t instanceof f?t:pa(1),zr=t=>[Gr(t.get(rt)),Gr(t.get(it))],Br=(t,e)=>{const a=ke();return Gr(t).forEach((t,n)=>Oe(a,n,e?e(t):t)),a},Xr=t=>Br(t,t=>Br(t,t=>Br(t))),jr=t=>{const[e,a]=zr(t);return[Xr(e),Br(a)]},Jr=(t,e,a,n)=>{const s=$t(e)?t:t.get(e)??t.set(e,new f);let o;return Pe(a,(t,e)=>{n(s,e,t)&&(o=1)}),s.forEach((t,e)=>{Ae(a,e)||(s.delete(e),o=1)}),$t(e)||s.size||t.delete(e),o},Qr=(t,e,a=m,n)=>{const s=e.getMap(a);return Ts(t,async()=>s.size?jr(s):void 0,async(t,a)=>e.transact(()=>((t,e,a)=>{t.size||(t.set(rt,new f),t.set(it,new f));const[n,s]=zr(t);if(!Ut(a,([t,e])=>$e(t,(t,e)=>$t(t)?(n.delete(e),!0):Ut(n.get(e),e=>$e(t,(t,a)=>$t(t)?(e.delete(a),!0):Ut(e.get(a),e=>(Pe(t,(t,a)=>$t(t)?e.delete(a):e.set(a,t)),!0),()=>!1)),()=>!1))&&$e(e,(t,e)=>($t(t)?s.delete(e):s.set(e,t),!0)))){const[t,a]=e();Jr(n,void 0,t,(t,e,a)=>Jr(n,e,a,(t,e,a)=>Jr(t,e,a,(t,e,a)=>{if(t.get(e)!==a)return t.set(e,a),1}))),Jr(s,void 0,a,(t,e,a)=>{s.get(e)!==a&&s.set(e,a)})}})(s,t,a)),t=>{const e=e=>{Ra(()=>t(void 0,((t,e)=>{if(1==jt(e)&&Jt(e[0].path))return[...jr(t),1];const[a,n]=zr(t),s=ke(),o=ke();return de(e,({path:t,changes:{keys:e}})=>t[0]==rt?Ut(t[1],n=>{const o=ze(s,n,ke),r=Gr(a.get(n));Ut(t[2],t=>{const a=ze(o,t,ke),n=Gr(r.get(t));Pa(e,(t,{action:e})=>Oe(a,t,e==qr?void 0:n.get(t)))},()=>Pa(e,(t,{action:e})=>Oe(o,t,e==qr?void 0:Br(r.get(t)))))},()=>Pa(e,(t,{action:e})=>Oe(s,t,e==qr?void 0:Br(a.get(t),t=>Br(t))))):Pa(e,(t,{action:e})=>Oe(o,t,e==qr?void 0:n.get(t)))),[s,o,1]})(s,e)),n)};return s.observeDeep(e),e},t=>{s.unobserveDeep(t)},n,1,{getYDoc:()=>e})},Yr="_",Kr=Ya(t=>{const e=t._[0],a=e(),n=e(),s=Da(),o=Da(),r=Xa(),i=Da(),c=Da(),l={table:0,tableCellIds:0,rowCount:0,rowIds:0,sortedRowIds:0,row:0,cellIds:0,cell:0},d=Da(),u=Da(),w=Da(),g=Da(),y=Da(),h=Da(),{_:[,f,v],delListener:b}=n,[m,T,C,p,E,I,R,L,,_,N,A]=Ja(t,()=>[],Yt,f,v),D=t=>Va(o,t,e),O=(t,e,...a)=>de(a,a=>ja(Va(e,t,Xa),a)),k=t=>Pa(t,(t,e)=>ba(e,e=>t.delListener(e))),M=(t,e,a,...n)=>{const s=Va(e,t,Xa);return de(n,e=>{ja(s,e),a&&t.callListener(e)}),n},V=(t,e,a)=>Ut(Ma(e,t),n=>{t.delListener(a),ma(n,a),ya(n)&&xa(e,t)}),F=t=>Ut(Ma(g,t),e=>{Pa(e,(t,e)=>Pa(e,(e,a)=>t.delListener(a))),xa(g,t)}),U=(t,e=Da())=>{const a=Va(w,t,Da);Pa(a,(t,n)=>{Pa(n,(a,s)=>ga(Ma(e,t),a)?0:(t.delListener(s),xa(n,a))),ya(n)&&xa(a,t)}),Pa(e,(e,n)=>{const s=Va(a,e,Da);ba(n,a=>Va(s,a,()=>e.addTableCellIdsListener(a,()=>La(()=>Y(t),n=>{throw((t,e,a)=>{const n=Va(Va(g,t,Da),e,Da);Va(n,a,()=>e.addTableListener(a,()=>Y(t)))})(t,e,a),n}))))}),ya(a)&&xa(w,t)},W=()=>{Pa(s,t=>p(t)?0:xa(s,t)),Pa(o,(t,e)=>p(t)||((t,e)=>!(fa(i,([,t])=>fa(t,([t])=>t!==e))&&fa(h,e=>!ga(e,t))&&re([d,u],t=>fa(t,t=>!ga(t,e)))))(t,e)?0:xa(o,t))},J=(t,e,a)=>{O(t,a,t.addWillFinishTransactionListener(e.startTransaction)),O(t,a,t.addDidFinishTransactionListener(()=>e.finishTransaction()))},Q=(t,e)=>(qe(e)?a.delRow:a.setRow)(Yr,t,{...e}),Y=(a,n)=>{const o=[Da(),Da(),void 0,Da(),Xa(),Da()];let r=!1;return La(()=>((a,n,s,o)=>D(a).transaction(()=>Ut(((t,e)=>$t(e)?I(t):[e[1],S,e[2]])(a,s),([r,,i])=>{const[c,l]=n,d=s?.[0]??E(a),u=i?D(d):t,w=D(a),g=s?.[3]??tt(a),h=n[4];i&&ja(h,d);const f=[];let v=!1,b=0;const m=[[void 0,[d,void 0,void 0,[],Da(),u]]],T=[],C=[],p=[];r({select:(t,e,a)=>{const n=Vt(t)?e:t,s=Vt(t)?a:e,o=zt(t)?[0,b+S,t]:$t(s)?[0,t,e=>e(t)]:[0,s,e=>Vt(t)?e(!0,n,s):e(n,s)];return b++,be(f,o),{as:t=>o[1]=t}},selectAll:(t,e,a)=>{v=!0;const n=Vt(t)?e:t,s=Vt(t)?a:e;be(f,[1,n,zt(s)?s:t=>(s??S)+t,zt(s)||!$t(s)&&s!==S?1:0])},join:(e,a,n,s)=>{const o=Vt(e)?a:e,[r,i]=Vt(e)?$t(s)||zt(n)?[void 0,n]:[n,s]:$t(n)||zt(a)?[void 0,a]:[a,n],c=Vt(e),l=c?D(o):t;c&&ja(h,o);const d=[o,[o,r,zt(i)?i:t=>t(i),[],Da(),l]];return be(m,d),{as:t=>d[0]=t}},where:(t,e,a,n)=>be(T,zt(t)?t:Vt(t)?t=>t(!0,e,a)===n:$t(a)?a=>a(t)===e:n=>n(t,e)===a),group:(t,e,a,n,s)=>{const o=[t,[t,zt(e)?[e,a,n,s]:Ma(cs,e)??[(t,e)=>e]]];return be(C,o),{as:t=>o[0]=t}},having:(t,e)=>be(p,zt(t)?t:a=>a(t)===e),param:t=>De(g,t)});const I=Da(m);Pa(I,(t,[,e])=>Ut(Ma(I,e),({3:e})=>$t(t)?0:be(e,t)));const R=t=>$t(t),L=t=>Ma(I,R(t)?void 0:t),_=n[5];if(de(f,([e,a,,n=0])=>e?Ut(L(a),([e,,,,,a])=>a===t?0:xa(_,e,Ma(_,e)||n?1:0)):0),((t,e)=>{const a=(n,s,o=Xa())=>n===s||!ga(o,n)&&(ja(o,n),!fa((a=>a===t?e:Ma(y,a))(n),(t,e)=>!a(e,s,o))),n=(t,e)=>!fa(e,(e,n)=>!e||!a(n,t));!n(t,e)&&fa(y,(e,a)=>a===t||!n(a,e))||pa(16)})(a,_),w.delTable(a),Jt(f))return o?.(),et;const N=Da(C),A=!ya(N)||!Jt(p),k=[],P=n[3];de(f,([t,e,a])=>{t?A&&Ut(L(e),([t,,,,,e])=>{ja(Va(P,e,Xa),t),de(le(e.getTableCellIds(t)),t=>be(k,[a(t),Yt]))}):be(k,[e,a])});const $=Da(k);if(A&&ya($))return o?.(),et;const x=A?n[2]=e():w;if(A){const t=Da();Pa(N,(e,[a,n])=>ja(Va(t,a,Xa),[e,n]));const e=Xa();Pa($,a=>ga(t,a)?0:ja(e,a));const n=Da(),s=t=>$t(t)?void 0:sa(t),o=(e,n,s,o)=>Ut(e,([r,i,c,l])=>{Pa(n,(e,[a])=>{const n=Va(r,e,Da),i=Ma(n,s),c=o?void 0:a;if(i!==c){const a=Xa([[i,c]]),o=la(n);xa(n,s,c),ba(Ma(t,e),([t,e])=>{const s=ls(l[t],o,n,a,e);Oe(l,t,$t(Ze(s))?void 0:s)})}}),ya(i)||!re(p,t=>t(t=>l[t]))?w.delRow(a,c):$t(c)?e[2]=w.addRow(a,{...l}):w.setRow(a,c,{...l})});O(x,c,x.addRowListener(a,null,(r,i,c,l)=>{const d=[],u=[],w=Da(),g=x.hasRow(a,c);let y=!g;ba(e,t=>{const[e,n,o]=l(a,c,t);be(d,s(n)),be(u,s(o)),y||=e}),Pa(t,t=>{const[e,,n]=l(a,c,t);(y||e)&&xa(w,t,[n])}),y&&o(Ba(n,d,void 0,([,t])=>(ma(t,c),ya(t))),w,c,1),g&&o(Ba(n,u,()=>{const t=ke();return ba(e,e=>Oe(t,e,x.getCell(a,c,e))),[Da(),Xa(),void 0,t]},([,t])=>{ja(t,c)}),w,c)}))}const F=(t,e,n,s,o)=>{const r=t=>e.getCell(n,s,t);de(o,e=>{const[a,,n,s,o,i]=Ma(I,e),c=n?.(r,t),d=Ma(o,t),u=d?.[0];c!=u&&(Ut(d,([,t,e])=>V(t,l,e)),xa(o,t,$t(c)?void 0:[c,i,...M(i,l,1,i.addRowListener(a,c,()=>F(t,i,a,c,s)))]))}),(t=>{const e=(e,a,n)=>{const s=Vt(e)?a:e,o=Vt(e)?n:a;if($t(o))return u.getCell(d,t,e);if(s===d&&!Vt(e))return u.getCell(d,t,o);const r=Ma(I,s);return $t(r)?void 0:r[5].getCell(r[0],Ma(r[4],t)?.[0],o)};x.transaction(()=>{re(T,t=>t(e))?v?(()=>{const n=ke();de(f,([a,s,o])=>{if(a)Ut(L(s),([e,,,,a,r])=>{const i=R(s)?t:Ma(a,t)?.[0];Ut(i,t=>de(le(r.getCellIds(e,t)),a=>Oe(n,o(a),r.getCell(e,t,a))))});else{const a=o(e,t),r=s;$t(a)?Me(n,r):Oe(n,r,a)}}),qe(n)?x.delRow(a,t):x.setRow(a,t,n)})():Pa($,(n,s)=>x._[5](a,t,n,s(e,t))):x.delRow(a,t)})})(t)},{3:H}=Ma(I,void 0),U=(t,e,n)=>{u.hasRow(d,n)?F(n,u,d,n,H):(x.delRow(a,n),ba(I,({4:t})=>Ut(Ma(t,n),([,e,a])=>{V(e,l,a),xa(t,n)})))};return x.transaction(()=>{de(u.getRowIds(d),t=>U(0,0,t)),M(u,l,0,u.addRowListener(d,null,U))}),A&&J(x,w,c),J(u,x,c),o?.(),et})))(a,o,n,()=>{Ut(n,t=>K(a,t)),k(Ma(d,a)),k(Ma(u,a)),xa(d,a,ya(o[0])?void 0:o[0]),xa(u,a,ya(o[1])?void 0:o[1]),xa(s,a,o[2]),U(a,o[3]),F(a),xa(h,a,ya(o[4])?void 0:o[4]),xa(y,a,ya(o[5])?void 0:o[5]),r=!0}),t=>{throw r||(k(o[0]),k(o[1])),W(),t}),et},K=(t,[e,n,s,o])=>{Ut(I(t),([,t])=>a.delListener(t)),ja(r,t),_a(()=>{L(t,e),R(t,[n,a.addRowListener(Yr,t,()=>ga(r,t)?0:Y(t),!0),s]),Q(t,o)},()=>ma(r,t))},Z=t=>(Ut(I(t),([,t])=>a.delListener(t)),a.delRow(Yr,t),(t=>{k(Ma(d,t)),xa(d,t),de([Ma(o,t),Ma(s,t)],e=>e?.delTable(t))})(t),(t=>{k(Ma(u,t)),xa(u,t)})(t),U(t),F(t),xa(h,t),xa(y,t),_(t),W(),et),tt=t=>a.getRow(Yr,t),et={setQueryDefinition:(t,e,a,n,s={})=>{const[o,r,i,c]=Vt(e)?[a,n,1,s]:[e,a,0,n??{}];return Y(t,[o,r,i,c]),W(),et},delQueryDefinition:Z,getParamValues:tt,getParamValue:(t,e)=>a.getCell(Yr,t,e),setParamValues:(t,e)=>(p(t)&&Q(t,e),et),setParamValue:(t,e,n)=>(p(t)&&a.setCell(Yr,t,e,n),et),getStore:m,getQueryIds:T,forEachQuery:C,hasQuery:p,getTableId:E,forEachResultTable:t=>C(e=>D(e).hasTable(e)?t(e,t=>et.forEachResultRow(e,t)):0),addQueryIdsListener:t=>N(()=>t(et)),addParamValuesListener:(t,e)=>"p"+a.addRowListener(Yr,t,(t,a,n)=>e(et,n,tt(n))),addParamValueListener:(t,e,n)=>"p"+a.addCellListener(Yr,t,e,(t,e,a,s,o)=>n(et,a,s,o)),delListener:t=>{const e=Ma(i,t);if("p"==t[0])a.delListener(Xt(t,1));else if($t(e))b(t);else{const[a,n,s]=e;Pa(n,(t,[e,a])=>e.delListener(a)),Ut(s,b),xa(i,t),b(t),l[a]--}return W(),et},destroy:()=>{de(T(),Z),A()},getListenerStats:()=>({...l,paramValues:a.getListenerStats().row-jt(T()),paramValue:a.getListenerStats().cell})};return Pe({[H]:[2,1],[H+j]:[1,1],[G]:[1,1],[z]:[1,1],[B]:[1,5],[q]:[3,2],[j]:[1,2],[X]:[3,3]},([t,e],a)=>{de(Xt(["get","has","forEach"],0,t),t=>Oe(et,t+$+a,(...e)=>(Ma(o,e[0])??n)[t+a](...e))),Oe(et,x+$+a+P,(...t)=>((n,s)=>{const o=f(Yt,c),r=Da(),d=()=>{const n=null==s?T():[s];de(n,n=>{return ga(r,n)?0:xa(r,n,[D(n),(s=D(n),s[x+a+P](...((t,e)=>5==e?[t[0],t[1]??void 0,t[2],t[3],t[4]]:Xt(t,0,e))(t,e),(a,...n)=>t[e](et,...n),!0))]);var s}),Pa(r,(t,[e,a])=>null==s&&p(t)||t==s?0:(e.delListener(a),void xa(r,t)))};return d(),xa(i,o,[n,r,null==s?N(d):void 0]),l[n]++,o})((t=>t[0].toLowerCase()+Xt(t,1))(a),t[0]))}),_e(et)}),Zr=Ya(t=>{const e=Da(),a=Da(),n=Da(),s=Da(),[o,r,i]=tn(()=>C),[c,l,d,u,w,g,,,y,h,f,v]=Ja(t,()=>[Da(),Da(),Da(),Da()],t=>$t(t)?void 0:t+S,o,r),b=(t,e,a)=>Ut(g(t),([n,,s])=>{if(!ga(s,e)){const o=Xa();if(w(t)!=T(t))ja(o,e);else{let t=e;for(;!$t(t)&&!ga(o,t);)ja(o,t),t=Ma(n,t)}if(a)return o;xa(s,e,o)}return Ma(s,e)}),m=(t,e)=>Ut(g(t),([,,t])=>xa(t,e)),T=t=>Ma(e,t),C={setRelationshipDefinition:(t,o,i,c)=>(xa(e,t,i),y(t,o,(e,o)=>{const i=Xa(),c=Xa(),l=Xa(),[d,u]=g(t);ba(o,([e,a],n)=>{$t(e)||(ja(c,e),Ut(Ma(u,e),t=>{ma(t,n),ya(t)&&xa(u,e)})),$t(a)||(ja(c,a),ga(u,a)||xa(u,a,Xa()),ja(Ma(u,a),n)),ja(i,n),xa(d,n,a),Pa(Ma(s,t),e=>{ga(b(t,e),n)&&ja(l,e)})}),e(),ba(i,e=>r(a,[t,e])),ba(c,e=>r(n,[t,e])),ba(l,e=>{m(t,e),r(s,[t,e])})},Qa(c)),C),delRelationshipDefinition:t=>(xa(e,t),h(t),C),getStore:c,getRelationshipIds:l,forEachRelationship:e=>d(a=>e(a,e=>t.forEachRow(w(a),e))),hasRelationship:u,getLocalTableId:w,getRemoteTableId:T,getRemoteRowId:(t,e)=>Ma(g(t)?.[0],e),getLocalRowIds:(t,e)=>ha(Ma(g(t)?.[1],e)),getLinkedRowIds:(t,e)=>$t(g(t))?[e]:ha(b(t,e,!0)),addRelationshipIdsListener:f,addRemoteRowIdListener:(t,e,n)=>o(n,a,[t,e]),addLocalRowIdsListener:(t,e,a)=>o(a,n,[t,e]),addLinkedRowIdsListener:(t,e,a)=>(b(t,e),o(a,s,[t,e])),delListener:t=>(m(...i(t)??[]),C),destroy:v,getListenerStats:()=>({remoteRowId:ua(a),localRowIds:ua(n),linkedRowIds:ua(s)})};return _e(C)}),ti="\n",ei=/^([-0-9A-Z_a-z]{16})\n(\d+)\n(\d+)\n([\s\S]*)$/,ai=/^[^\n]*\n[-0-9A-Z_a-z]{16}\n\d+\n\d+\n/,ni=/[\n\r?#]/,si=16777216,oi=1e3,ri=t=>{let e=0;for(let a=0;a<jt(t);a++){const n=t.charCodeAt(a);n<128?e++:n<2048?e+=2:n>=55296&&n<=56319&&t.charCodeAt(a+1)>=56320&&t.charCodeAt(a+1)<=57343?(e+=4,a++):e+=3}return e},ii=t=>t>si,ci=m,li="S";var di=(t=>(t[t.Hello=0]="Hello",t[t.Subscribe=1]="Subscribe",t[t.Unsubscribe=2]="Unsubscribe",t))(di||{});const ui=(t,e)=>{let a=!0;return n=>{a&&(a=!1,_a(()=>e?.(n),()=>t.close(lt(n.message,m+":"+Ta)?1013:1007,n.message)))}},wi=t=>Gt(t)&&kt(t)&&Mt(t)&&t>=0&&t<=4294967295,gi=(t,e)=>Re(t)&&$e(t,t=>e?gi(t,e-1):wi(t)),yi=(t,e)=>Bt(t)&&(1==jt(t)||2==jt(t)&&qt(t[1])&&On(t[1],1/0))&&(e?Re(t[0])&&$e(t[0],t=>yi(t,e-1)):ta(t[0])),hi=t=>Bt(t)&&2==jt(t)&&wi(t[0])&&wi(t[1]),fi=(t,e,a)=>(xt(t)||qt(t))&&Gt(e)&&kt(e)&&Mt(e)&&((t,e)=>0==t?(t=>hi(t)||yi(t,3)||yi(t,1)||Bt(t)&&2==jt(t)&&yi(t[0],3)&&(gi(t[1],0)||gi(t[1],1)))(e):1==t?e===S:2==t?hi(e):3==t?(t=>Bt(t)&&(2==jt(t)||3==jt(t)&&1===t[2])&&yi(t[0],3)&&yi(t[1],1))(e):4==t?gi(e,0):5==t?gi(e,1):6==t?gi(e,2):7==t&&gi(e,0))(e,a),vi=(t,e=!1)=>Ea(()=>{const a=Ye(t);return Bt(a)&&3==jt(a)&&(fi(a[0],a[1],a[2])||e&&(xt(a[0])||qt(a[0]))&&-1==a[1])?a:void 0}),bi=(t,e)=>{const a=t.indexOf(ti);return-1!==a&&(e(Xt(t,0,a),Xt(t,a+1)),!0)},mi=(t,e=1,a,n)=>{const s=Da(),o=n??[0,0];let r=0,i=!0;const c=(t,e)=>{Et(e[4]),r-=e[5],o[0]--,o[1]-=e[5],ma(s,t)},l=()=>{Pa(s,(t,e)=>Et(e[4])),o[0]-=la(s),o[1]-=r,va(s),r=0},d=(t=Ca(Sa))=>{i&&(i=!1,l(),a?.(t))};return[a=>{i&&(ii(ri(a))?d(Ca(Ta,ut(a,ai)?"fragments":"socket")):bi(a,(a,n)=>{const i=vi(n);if(i)return void t(a,[n],...i);const[,l,u,w,g]=ut(n,ei)??[];if(l){const i=parseInt(u),y=parseInt(w);if(y>1e3)return void d(Ca(Ta,"fragments"));if(y>0&&i>=0&&i<y){const u=a+ti+l;let w=Ma(s,u);if(!w&&o[0]>=100)return void d(Ca(Ta,"fragments"));if(!$t(w)&&y!=w[3]||!$t(w?.[0][i]))return void d();{const t=ri(n)+(w?0:ri(u));if(o[1]+t>si)return void d(Ca(Ta,"fragments"));w||(w=[[],[],y,y,pt(()=>{const t=Ma(s,u);t&&c(u,t)},e),0],xa(s,u,w),o[0]++);const[a,l]=w;a[i]=g,l[i]=n,w[2]--,w[5]+=t,r+=t,o[1]+=t}if(0==w[2]){const[e,n]=w;c(u,w),((e,a,n)=>{const s=vi(n);s?t(e,a,...s):d()})(a,n,ue(e))}return}}d()})||d())},l]},Si=(t,e)=>(t.bufferedAmount??0)+e>si,Ti=(t,e=1,a,n)=>mi((e,a,n,s,o)=>t(e,n,s,o),e,a,n),Ci=(t,e)=>t+ti+e,pi=(t,e)=>Ci("M",Ci(t,e)),Ei=(t,e,a)=>{let n=!1;return bi(t,(t,s)=>{"M"==t&&bi(s,(t,s)=>{Ri(t)?(n=!0,a?.()):Li(t)&&(n=!0,e(t,s))})}),n},Ii=(t,e,a)=>Ci(li,Qe([t,-1,[e,a]])),Ri=t=>ri(t)>1024,Li=t=>!Jt(t)&&!ni.test(t)&&re(wt(t,"/"),t=>!Jt(t)&&"."!=t&&".."!=t),_i=(t,e)=>{let a=!1;return bi(t,(t,n)=>{if(t==li){const[t,s,o]=vi(n,!0)??[],r=o?.[0],i=o?.[1];-1==s&&Bt(o)&&2==jt(o)&&(0==r?qt(t)&&1==i:1==r?qt(t)&&qt(i)&&(Ri(i)||Li(i)):2==r&&xt(t)&&qt(i)&&(Ri(i)||Li(i)))&&(a=!0,e(t,r,i))}}),a},Ni=t=>!Ri(t)&&Li(t),Ai=(t,e,a,n,s,o,r,i)=>{const c=Da(),l=Da(),d=[0,0],u=Xa();let w=0,g=!1,y=!0;const h=(t,e,a)=>s(Ii(t,e,a)),f=t=>{ma(c,t),Ma(l,t)?.[1](),ma(l,t)},v=()=>{Pa(l,(t,e)=>e[1]()),va(l)},b=t=>{y&&(y=!1,v(),r(t))},m=t=>{t[2]||(t[2]=1,w--,ma(u,t))},T=t=>t[1]??=(async()=>{try{const e=a(t[0]);$t(e)?m(t):await e}finally{m(t)}})();return[a=>{if(!y)return;if(ii(ri(a)))return void b(Ca(Ta,"socket"));const s=_i(a,(a,n,s)=>{const o=((a,n,s)=>{if(0==n)g=!0,h(a,n,s);else if(g&&1==n){const o=ga(c,s);if(Ri(s)||!o&&(la(c)>=100||w>=200))return void b(Ca(Ta,"channels"));if(!o){const o=t+(t?"/":S)+s;let r;w++;try{r=e(o,s)}catch(t){throw w--,t}const[i,l]=r,d=[i];return ja(u,d),xa(c,s,d),h(a,n,s),l?l.catch(t=>{throw Ma(c,s)===d&&f(s),d[1]||m(d),t}):void 0}h(a,n,s)}else if(g&&2==n){if(Ri(s))return void b(Ca(Ta,"channels"));const t=Ma(c,s);return f(s),$t(t)?void 0:T(t)}})(a,n,s);o?.catch(t=>Ea(()=>i?.(t)))}),r=Ei(a,(t,e)=>{const a=g?Ma(c,t):void 0;$t(a)?b(Ca(Sa)):Va(l,t,()=>mi((t,e)=>n(a[0],t,e),o,b,d))[0](e)},()=>b(Ca(Ta,"channels")));s||r||b(Ca(Sa))},()=>(y=!1,v(),Na(async()=>{let t,e=!1;if(await ee(we(ha(u),async a=>{try{await T(a)}catch(a){e||(t=a,e=!0)}})),e)throw t},()=>{va(c),v()}))]},Di=(t,e,a,n,s)=>{const o=t??S,r=Qe([e,a,n]),i=At(s??0);if($t(s)||i<1)return[Ci(o,r)];const c=((t,e)=>{const a=[];let n=S,s=0;for(let o=0;o<jt(t);o++){const r=t.charCodeAt(o);let i=Xt(t,o,o+1);r>=55296&&r<=56319&&t.charCodeAt(o+1)>=56320&&t.charCodeAt(o+1)<=57343&&(i+=Xt(t,++o,o+1));const c=ri(i);s>0&&s+c>e&&(be(a,n),n=S,s=0),n+=i,s+=c}return be(a,n),a})(r,Lt(i,Nt(ri(r)/1e3)+3)),l=jt(c);if(1==l)return[Ci(o,r)];const d=ln();return we(c,(t,e)=>Ci(o,ue([d,e,l,t],ti)))},Oi={Response:0,GetContentHashes:1,ContentHashes:2,ContentDiff:3,GetTableDiff:4,GetRowDiff:5,GetCellDiff:6,GetValueDiff:7},ki=(t,e,a,n,s,o,r,i,c={},l=Kt)=>{let d,u=0,w=0,g=0,y=!1;const h=Da(),f=()=>ln(11),v=t=>Pa(h,(e,[,,a,n])=>{Et(n),ma(h,e),a(t)}),b=(t,a,n,s)=>{w++,o?.(t,a,n,s),e(t,a,n,s)},m=async(t,e,a,n)=>te((o,r)=>{if(la(h)>=100)return void r(Ca(Ta,"requests"));const i=n+C+ln(4),c=pt(()=>{ma(h,i),r(Ca(3,(t??S)+C+i+C+e))},s);xa(h,i,[t,(t,e)=>{Et(c),ma(h,i),o([t,e,n])},r,c]);try{b(t,i,e,a)}catch(t){Et(c),ma(h,i),r(t)}}),T=(t,[e,a])=>{Pe(e,([e,a],n)=>{const s=ze(t[0],n,qn);Pe(e,([t,e],a)=>{const n=ze(s[0],a,qn);Pe(t,([t,e],a)=>Oe(n[0],a,xn(t,e))),n[1]=Un(n[1],e)}),s[1]=Un(s[1],a)}),t[1]=Un(t[1],a)},p=(e=null,a,n=f())=>Ia(async()=>{$t(a)&&([a,e,n]=await m(null,1,S,n));const[s,o]=a,[r,i]=t.getMergeableContentHashes();let c=qn();if(r!=s){const[a,s]=(await m(e,4,t.getMergeableTableHashes(),n))[0];if(c=a,!qe(s)){const[a,o]=(await m(e,5,t.getMergeableRowHashes(s),n))[0];if(T(c,a),!qe(o)){const a=(await m(e,6,t.getMergeableCellHashes(o),n))[0];T(c,a)}}}return[c,i==o?qn():(await m(e,7,t.getMergeableValueHashes(),n))[0],1]},i),E=Ts(t,async()=>{const t=await p();return!t||qe(t[0][0])&&qe(t[1][0])?void 0:t},async(e,a)=>a?b(null,f(),3,a):b(null,f(),2,t.getMergeableContentHashes()),t=>d=t,()=>d=void 0,i,2,{startSync:async t=>(u=1,await E.startAutoPersisting(t)),stopSync:async()=>(u=0,await E.stopAutoPersisting(),E),destroy:async()=>(y=!0,v(Ca(3,"destroyed")),l(),await E.stopSync(),n(),E),getSynchronizerStats:()=>({sends:w,receives:g}),...c},1);return a((e,a,n,s)=>{if(y)return;if(!fi(a,n,s))return void i?.(Ca(Sa));const o=u||E.isAutoLoading();g++,r?.(e,a,n,s),0==n?Ut(Ma(h,a),([t,a])=>xt(t)||t==e?a(s,e):0):2==n&&o?p(e,s,a??void 0).then(t=>{d?.(void 0,t)}).catch(i):3==n&&o?d?.(void 0,s):Ut(1==n&&(u||E.isAutoSaving())?t.getMergeableContentHashes():4==n?t.getMergeableTableDiff(s):5==n?t.getMergeableRowDiff(s):6==n?t.getMergeableCellDiff(s):7==n?t.getMergeableValueDiff(s):void 0,t=>{b(e,a,0,t)})},v),E},Mi=(t,e,a,n,s)=>{const o=ln(),r=new BroadcastChannel(e);return ki(t,(t,e,a,n)=>r.postMessage([o,t,e,a,n]),t=>{r.onmessage=({data:e})=>{if(Bt(e)&&5==jt(e)){const[a,n,s,r,i]=e;if(qt(a)&&(xt(n)||qt(n))&&fi(s,r,i))return void((xt(n)||n==o)&&t(a,s,r,i))}s?.(Ca(Sa))}},()=>{r.onmessage=null,r.close()},.01,a,n,s,{getChannelName:()=>e})},Pi=Da(),$i=(t,e,a,n)=>{const s=ln(),o=Xa();return ki(t,(t,e,a,n)=>{const r=xt(t)?[]:[t];xt(t)&&Pa(Pi,t=>t!=s?be(r,t):0);const i=pt(()=>{ma(o,i),de(r,t=>Ma(Pi,t)?.(s,e,a,n))});return ja(o,i),i},t=>{xa(Pi,s,t)},()=>{ma(Pi,s)},.01,e,a,n,{},()=>{ba(o,Et),va(o)})},xi=Oa(),Vi=new WeakSet,Fi=()=>{let t,e;const a=te((a,n)=>{t=a,e=n});return a.catch(()=>0),[a,t,e]},Hi=async(t,e,a=1,...n)=>qt(a)?(async(t,e,a,n,s,o,r,i)=>{Vi.has(e)&&pa(9);const c=xi.get(e),l=c??(()=>{const t=(t=>{const e=Da(),a=Da(),n=[];let s,o,r=Fi(),i=!1,c=!1,l=!1,d=()=>{},u=!1,w=0,g=0,y=!0;const h=(t,e)=>Ea(()=>t[6]?.(e)),f=t=>Pa(e,(e,a)=>h(a,t)),v=(e,a)=>{h(e,a),d(),Ea(()=>t.close())},b=(e,a)=>be(n,It(t,e,a)),m=t=>Pa(a,(e,[,,,n,s])=>{Et(s),ma(a,e),n(t)}),T=t=>Pa(e,(e,a)=>Ea(()=>a[11]?.(t))),C=t=>{de(t[1],([,t])=>Et(t)),w-=jt(t[1]),g-=t[8],ve(t[1]),t[8]=0},p=(t,e=!1)=>{de(t[2],([,t])=>Et(t)),w-=t[10],g-=t[9],ve(t[2]),t[9]=0,t[10]=0,e&&(t[7]=void 0)},E=t=>t[0]?.[1](),I=()=>Pa(e,(t,e)=>E(e)),R=ui(t,f),L=t=>{y&&(y=!1,l=!0,i=!1,I(),r[2](t),m(t),T(t),Pa(e,(t,e)=>{C(e),p(e,!0),e[3]=!1,e[4]=void 0,e[12]=void 0}),s&&(Et(s),s=void 0),R(t))},_=a=>{const n=Ca(Ta,a);return u||c||(u=!0,y=!1,i=!1,I(),f(n),m(n),T(n),Pa(e,(t,e)=>{C(e),p(e,!0),e[3]=!1,e[4]=void 0,e[12]=void 0}),s&&(Et(s),s=void 0),t.close(1013,n.message)),n},N=(e,n,s,o)=>{const r=ln();return te((i,c)=>{if(la(a)>=100)return void c(_("controls"));const l=Ii(r,e,n),d=ri(l);if(ii(d)||Si(t,d))return void c(_("socket"));const u=pt(()=>{ma(a,r),c(Ca(4,e))},s);xa(a,r,[e,n,i,c,u]);try{t.send(l),o?.()}catch(t){Et(u),ma(a,r),c(t)}})},A=t=>ye(t,(t,e)=>t+ri(e),0),D=(t,e)=>{const a=A(e);if(w+jt(e)>oi||g+a>si)return _("client"),!1;const n=[e,pt(()=>((t,e)=>{const a=oe(t[2],e);if(a>-1){t[2]=he(t[2],(t,e)=>e!=a);const n=Xt(e[0],e[2]),s=A(n);t[9]-=s,t[10]-=jt(n),w-=jt(n),g-=s}})(t,n),t[5]),0];return be(t[2],n),t[9]+=a,t[10]+=jt(e),w+=jt(e),g+=a,!0},O=()=>{s??=pt(()=>{s=void 0,Pa(e,P)},.01)},k=(e,a,n,s)=>{if(t.readyState!=t.OPEN)return s?a[7]=s:D(a,n),!1;for(let o=0;o<jt(n);o++){const r=pi(e,n[o]),i=ri(r);if(ii(i))return _("client"),!1;if(Si(t,i)){if(s)a[7]=s;else if(!D(a,Xt(n,o)))return!1;return O(),!1}try{t.send(r)}catch(t){if(s)a[7]=s;else if(!D(a,Xt(n,o)))return!1;return v(a,t),!1}}return!0},P=(e,a)=>{if(!i||!a[3])return;const n=a[2];let s=0;for(;s<jt(n);){const o=n[s],r=o[0];let i=o[2];for(;i<jt(r);){const c=r[i],l=pi(e,c),d=ri(l);if(ii(d))return ve(n,s),void _("client");if(Si(t,d))return ve(n,s),void O();try{t.send(l)}catch(t){return void v(a,t)}r[i]=S,o[2]=++i;const u=ri(c);a[9]-=u,a[10]--,g-=u,w--}Et(o[1]),s++}ve(n,s);const o=a[7];o&&(a[7]=void 0,k(e,a,o(),o))},$=async(t,a,n)=>{if(!a[3]){let s=a[4];const o=r;if(s?.[0]!==o){const c=(async()=>{await o[0],Ma(e,t)===a&&r===o&&i&&(await N(di.Subscribe,t,n,()=>{Ma(e,t)===a&&r===o&&i&&(a[12]=o)}),Ma(e,t)===a&&r===o&&i&&(a[3]=!0,P(t,a)))})();s=[o,c],a[4]=s}try{await s[1]}finally{a[4]===s&&(a[4]=void 0)}}},x=()=>{if(c||!y||i||o?.[0]===r)return;l=!1,u=!1;const t=r,a=(async()=>{try{await N(di.Hello,1,(()=>{let t=!0,a=1;return Pa(e,(e,n)=>{const s=n[5];(t||s<a)&&(t=!1,a=s)}),a})()),r===t&&y&&!c&&(i=!0,t[1](),Pa(e,(t,e)=>$(t,e,e[5]).catch(t=>t.message==Ca(5).message?0:h(e,t))))}catch(e){t[2](e),e.message!=Ca(5).message&&f(e)}})();o=[t,a],a.finally(()=>{o?.[1]===a&&(o=void 0)})};d=()=>{if(!c&&!l){l=!0;const t=u;u=!1,i=!1;const a=Ca(5);t||f(a),r[2](a),m(a),T(a),s&&(Et(s),s=void 0),r=Fi(),Pa(e,(t,e)=>{E(e),e[3]=!1,e[4]=void 0,e[12]=void 0})}};const V=d;b(tt,({data:t})=>{if(!y)return;const n=t.toString(M);if(ii(ri(n)))return void L(Ca(Ta,"socket"));const s=_i(n,(t,e,n)=>{if((e==di.Subscribe||e==di.Unsubscribe)&&qt(n)&&!Ni(n))return void _("channels");const s=t?Ma(a,t):void 0;s?.[0]==e&&s[1]===n&&(Et(s[4]),ma(a,t),s[2]())}),o=Ei(n,(t,a)=>{const n=Ma(e,t);n?n[0]?n[0][0](a):((t,e)=>{const a=ri(e);if(w>=oi||g+a>si)return void _("client");const n=[e,pt(()=>((t,e)=>{const a=oe(t[1],e);if(a>-1){t[1]=he(t[1],(t,e)=>e!=a);const n=ri(e[0]);t[8]-=n,w--,g-=n}})(t,n),t[5])];be(t[1],n),t[8]+=a,w++,g+=a})(n,a):L(Ca(Sa))},()=>_("channels"));s||o||L(Ca(Sa))}),b(K,x),b(Z,V),b(et,t=>{f(t),T(Ca(5))});const F=()=>{if(ya(e)&&!c){c=!0;const e=y&&!u;y=!1,I();const a=Ca(8);m(a),s&&(Et(s),s=void 0),de(n,t=>Ea(t)),ve(n),xi.delete(t),e&&Ea(()=>t.close())}},H=a=>{const n=Ma(e,a);if(n)try{if(E(n),C(n),p(n,!0),i&&n[12]===r){const e=Ii(null,di.Unsubscribe,a),n=ri(e);ii(n)||Si(t,n)?_("socket"):t.send(e)}}catch(t){h(n,t)}finally{ma(e,a),F()}};return{addChannel:async(a,n,s)=>{y&&!c||pa(5),Ni(a)||pa(6,a),ga(e,a)&&pa(7,a),la(e)>=100&&pa(Ta,"channels");const o=[void 0,[],[],!1,void 0,n,s,void 0,0,0,0,void 0,void 0];if(xa(e,a,o),t.readyState==t.OPEN)x();else if(t.readyState>t.OPEN){const t=Ca(5);h(o,t),r[2](t)}try{await $(a,o,n)}catch(t){throw H(a),t}},delChannel:H,destroyIfEmpty:F,invalid:L,payloadBuffer:[0,0],registerReceive:(t,a,n)=>{const s=Ma(e,t);if(s){s[0]=a,s[11]=n;const t=s[1];let e=0;_a(()=>{for(;e<jt(t);){const[n,o]=t[e];Et(o);const r=ri(n);s[8]-=r,w--,g-=r,e++,a[0](n)}},()=>ve(t,e))}},send:(a,n,s)=>{if(!y)return;const o=Ma(e,a);o&&(i&&t.readyState==t.OPEN&&o[3]&&!jt(o[2])&&!o[7]?k(a,o,n,s):s?o[7]=s:D(o,n))}}})(e);return xi.set(e,t),t})();try{await l.addChannel(a,n,r)}catch(t){throw c||l.destroyIfEmpty(),t}try{return ki(t,(e,n,s,o)=>l.send(a,Di(e,n,s,o,i),null!=e||2!=s&&3!=s?void 0:()=>Di(null,n,2,t.getMergeableContentHashes(),i)),(t,e)=>l.registerReceive(a,Ti(t,n,l.invalid,l.payloadBuffer),e),()=>l.delChannel(a),n,s,o,r,{getWebSocket:()=>e})}catch(t){throw l.delChannel(a),t}})(t,e,a,n[0]??1,n[1],n[2],n[3],n[4]):(async(t,e,a=1,n,s,o,r)=>{xi.has(e)&&pa(10);let i=!0,c=!1,l=()=>{};const d=t=>Ea(()=>o?.(t)),u=ki(t,(t,...a)=>{de(Di(t,...a,r),t=>{if(c)return;const a=ri(t);ii(a)||Si(e,a)?(()=>{if(!c){c=!0;const t=Ca(Ta,"socket");d(t),e.close(1013,t.message)}})():e.send(t)})},(t,n)=>{const s=ui(e,d),[o,r]=Ti(t,a,s);let c=[];l=()=>{r(),de(c,t=>Ea(t)),ve(c)};const u=()=>{Ea(()=>n(Ca(5))),l()};c=[It(e,tt,({data:t})=>o(t.toString(M))),It(e,Z,()=>{i||u()}),It(e,et,t=>{i||(d(t),u())})]},()=>{l(),e.close()},a,n,s,o,{getWebSocket:()=>e});return Vi.add(e),te((t,a)=>{let n=()=>{};const s=(t,s=t)=>{d(s),n(),l(),Vi.delete(e),Ea(()=>e.close()),a(t)};if(e.readyState!=e.OPEN){if(e.readyState>e.OPEN)return void s(Ca(5));const a=[It(e,K,()=>{i=!1,n(),t(u)}),It(e,et,t=>s(Ca(5),t)),It(e,Z,()=>s(Ca(5)))];n=()=>{de(a,t=>Ea(t)),ve(a)}}else i=!1,t(u)})})(t,e,a,n[0],n[1],n[2],n[3]),Ui=/\/([^?]*)/,Wi="S",qi=t=>ut(new URL(t.url).pathname,Ui)?.[1]??S,Gi=t=>"websocket"==t.headers.get("upgrade")?.toLowerCase()?t.headers.get("sec-websocket-key"):null,zi=(t,e=null,a=null)=>new Response(a,{status:t,webSocket:e}),Bi=()=>zi(426,null,"Upgrade required");class Xi extends v{#t;#e=Oa();constructor(t,e){super(t,e),this.ctx.blockConcurrencyWhile(async()=>await Ut(await this.createPersister(),async t=>{const e=this.getRequestTimeoutSeconds(),a=ki(t.getStore(),(t,e,a,n)=>de(Di(t,e,a,n,this.getFragmentSize()),t=>this.#a(Wi,t)),t=>this.#t=Ti(t,e)[0],Kt,e);await t.load(),await t.startAutoSave(),pt(a.startSync)}))}fetch(t){const e=qi(t);return Ut(Gi(t),t=>{const[a,n]=Ue(new WebSocketPair);return Jt(this.#n())&&this.onPathId(e,1),this.ctx.acceptWebSocket(n,[t,e]),this.onClientId(e,t,1),n.send(Ci(Wi,Qe([null,1,S]))),zi(101,a)},Bi)}webSocketMessage(t,e){Ut(this.ctx.getTags(t)[0],a=>{let n=this.#e.get(t);n||(n=mi((e,n)=>de(n,n=>this.#a(a,Ci(e,n),t)),this.getRequestTimeoutSeconds(),ui(t,t=>this.onIgnoredError(t))),this.#e.set(t,n)),n[0](e.toString())})}webSocketClose(t){this.#e.get(t)?.[1](),this.#e.delete(t);const[e,a]=this.ctx.getTags(t);this.onClientId(a,e,-1),1==jt(this.#n())&&this.onPathId(a,-1)}#a(t,e,a){bi(e.toString(),(e,n)=>{const s=Ci(t,n);this.onMessage(t,e,n),e==S?(t!=Wi&&this.#t?.(s),de(this.#n(),t=>{t!=a&&t.send(s)})):e==Wi?this.#t?.(s):e!=t&&this.#n(e)[0]?.send(s)})}#n(t){return this.ctx.getWebSockets(t)}createPersister(){}getPathId(){return Ut(this.#n()[0],t=>this.ctx.getTags(t)?.[1]??S)??S}getClientIds(){return we(this.#n(),t=>this.ctx.getTags(t)[0])}getFragmentSize(){}getRequestTimeoutSeconds(){return 1}onIgnoredError(t){}onPathId(t,e){}onClientId(t,e,a){}onMessage(t,e,a){}}const ji=t=>(e,a)=>Gi(e)?a[t].get(a[t].idFromName(qi(e))).fetch(e):Bi(),Ji=/\/([^?]*)/,Qi=t=>{const e=Da(),a=Da(),n=[];let s;be(n,Rt(t,et,Kt));const o=(t,e,n)=>be(Va(a,t,()=>[[]])[0],Rt(t,e,n)),r=t=>{const e=Ma(a,t);return e[2]??(e[2]=Na(async()=>e[1]?.(),()=>{de(e[0],t=>Ea(t)),ma(a,t)}))},i=(t,e)=>{const a=ri(e);ii(a)||Si(t,a)?(t=>{if(t.readyState==t.OPEN){const e=Ca(Ta,"socket");t.close(1013,e.message)}})(t):t.readyState==t.OPEN&&t.send(e)},c=([t,e],a)=>i(t,$t(e)?a:pi(e,a)),l=(t,a,n,s)=>de(s,s=>((t,a,n)=>bi(n,(n,s)=>{const o=Ma(e,t),r=Ci(a,s);n===S?Pa(o,(t,e)=>t!==a?c(e,r):0):Ut(Ma(o,n),t=>c(t,r))}))(t,a,Ci(n,s))),d=(t,a,n)=>xa(Va(e,t,Da),a,n),u=(t,a)=>{const n=Ma(e,t);ga(n,a)&&(ma(n,a),ya(n)&&ma(e,t))},w=Rt(t,nt,(t,e)=>{xa(a,t,[[]]),o(t,et,Kt),o(t,Z,()=>r(t).catch(Kt)),Ut(ut(e.url,Ji),([,n])=>Ut(e.headers["sec-websocket-key"],e=>t.protocol==ci?((t,e,n)=>{const s=ui(t),[r,c]=Ai(n,(a,n)=>(d(a,e,[t,n]),[a]),t=>u(t,e),(t,a,n)=>l(t,e,a,n),e=>i(t,e),1,s);o(t,tt,t=>r(t.toString(M))),Ma(a,t)[1]=c})(t,e,n):((t,e,n)=>{d(n,e,[t]);const[s,r]=mi((t,a)=>l(n,e,t,a),1,ui(t));o(t,tt,t=>s(t.toString(M))),Ma(a,t)[1]=()=>{r(),u(n,e)}})(t,e,n)))});be(n,w);const g=async()=>{let e,n=!1;const s=async t=>{try{await t()}catch(t){n||(e=t),n=!0}};if(await ee([s(()=>te((e,a)=>t.close(t=>$t(t)?e():a(t)))),...we(ka(a),t=>s(()=>(t=>{const e=Ma(a,t),n=()=>e[2]??r(t);return t.readyState==t.CLOSED?n():Na(()=>te((e,a)=>{const n=Rt(t,Z,()=>{n(),e()});try{t.close()}catch(t){n(),a(t)}}),n)})(t)))]),n)throw e};return _e({getWebSocketServer:()=>t,destroy:()=>(s||(Ea(w),s=Na(g,()=>{de(n,t=>Ea(t)),Pa(a,(t,[e])=>de(e,t=>Ea(t))),va(e),va(a)})),s)})},Yi=/\/([^?]*)/,Ki=(t,e,a,n=1,s)=>{const o=Da(),r=Da(),i=Da(),c=Xa(),l=Da(),d=[],u=Da();let w;const g=t=>{Ea(()=>a?.(t))};be(d,Rt(t,et,g));const[y,,h,,f]=tn(()=>k),v=(...t)=>{La(()=>f(...t),g)},b=(t,e,a)=>be(Va(u,t,()=>[]),Rt(t,e,a)),m=(t,e)=>{if(t.readyState==t.OPEN){const a=Ca(Ta,e);_a(()=>g(a),()=>t.close(1013,a.message))}},T=([t,e],a)=>{const n=$t(e)?a:pi(e,a),s=ri(n);ii(s)||Si(t,s)?m(t,"socket"):t.readyState==t.OPEN&&t.send(n)},C=(t,e,a)=>{const n=Va(l,t,()=>[0,0]);n[0]+=e,n[1]+=a,n[0]||xa(l,t)},p=([,t,,e])=>C(e,-1,-ri(t)),E=t=>{t[7]&&(Et(t[7]),t[7]=void 0),de(t[4],p),t[4]=[],t[6]=0},I=(t,e)=>{t[4]=he(t[4],t=>t[0]!=e||(p(t),!1)),t[6]=ye(t[4],(t,[,e])=>t+ri(e),0),jt(t[4])||E(t)},R=(t,e,a)=>{const n=t[0],s=t[1];bi(a,(t,a)=>{const o=Ci(e,a);t===S?(e!==li&&s?.[3]?.(o),Pa(n,(t,a)=>t!==e?T(a,o):0)):t===li?s?.[3]?.(o):Ut(Ma(n,t),t=>T(t,o))})},L=(t,e,a,s)=>de(s,s=>((t,e,a)=>{const s=t[1];!t[4]&&ga(t[0],e)&&1==s[0]?R(t,e,a):!t[4]&&ga(t[0],e)&&((t,e,a)=>{const s=t[1],o=s[4],r=Ma(t[0],e)?.[0];if($t(r))return;const i=((t,e)=>{let a;return bi(e,(e,n)=>{2==vi(n)?.[1]&&(a=t+ti+e)}),a})(e,a),c=i?(d=([,,t])=>t==i,o.findIndex(d)):-1;var d;const u=c>-1?o[c]:void 0,w=$t(u)?0:ri(u[1]),g=ri(a),y=Ma(l,r),h=u?.[3]===r;if(c<0&&jt(o)>=oi||s[6]+g-w>si||!h&&(y?.[0]??0)>=oi||(y?.[1]??0)+g-(h?w:0)>si)return I(s,e),void Ut(Ma(t[0],e),([t])=>m(t,"server"));const f=[e,a,i,r];c>-1?(p(o[c]),o[c]=f):be(o,f),C(r,1,g),s[6]+=g-w,s[7]??=pt(()=>(t=>{const e=t[1],a=Xa();de(e[4],([,,,t])=>ja(a,t)),E(e),de(ha(a),t=>m(t,"server"))})(t),10*n)})(t,e,a)})(t,e,Ci(a,s))),_=(t,e)=>(e[4]||(e[4]=(async()=>{let a,n=!1;if(await Ia(()=>e[2]),await Ia(()=>e[3]),E(e[1]),await Ia(()=>(async t=>{let e,a=!1;const n=t=>{a||(e=t),a=!0};if(await Ia(()=>t[1]?.destroy(),n),await Ia(()=>t[2]?.destroy(),n),a)throw e})(e[1]),t=>{a=t,n=!0}),va(e[0]),Ma(i,t)===e&&(ma(i,t),v(o,void 0,t,-1)),n)throw a})()),e[4]),N=async(t,e,a)=>{const n=e[0];ga(n,a)&&(I(e[1],a),ma(n,a),v(r,[t],a,-1),ya(n)&&await _(t,e))},A=(t,a,c)=>{const l=Ma(i,t),d=!l||l[4]?((t,a)=>{const r=[Da(),[0,void 0,void 0,void 0,[],void 0,0]];return xa(i,t,r),a||v(o,void 0,t,1),r[2]=(async(t,a)=>{const o=t[1],r=await(e?.(a));$t(r)?o[0]=1:(o[0]=2,o[1]=Bt(r)?r[0]:r,o[2]=ki(o[1].getStore(),(e,a,n,o)=>de(Di(e,a,n,o,s),e=>R(t,li,e)),t=>{o[3]=Ti(t,n)[0]},Kt,n,void 0,void 0,g),o[5]=Bt(r)?r[1]:t=>0)})(r,t),r})(t,!!l):l;return xa(d[0],a,c),v(r,[t],a,1),[d,(async()=>{let e,n=!1;if(await Ia(async()=>{await d[2],ga(d[0],a)&&!d[4]&&await(t=>{const e=t[1];return t[3]||(t[3]=(async()=>{2==e[0]&&await(async t=>{t[0]=3,await t[1].startAutoLoad(),await t[1].startAutoSave(),await t[2].startSync(),t[5](t[1].getStore()),t[0]=1})(e);const a=e[4];E(e),de(a,([e,a])=>R(t,e,a))})()),t[3]})(d)},t=>{e=t,n=!0}),n)throw await Ia(()=>N(t,d,a),g),e})()]},D=Rt(t,nt,(t,e)=>{ja(c,t),b(t,et,g),w?t.close():Ut(ut(e.url,Yi),([,a])=>Ut(e.headers["sec-websocket-key"],e=>{t.protocol==ci?((t,e,a)=>{const s=ui(t,g),[o,r]=Ai(a,(a,n)=>{const[s,o]=A(a,e,[t,n]);return[[a,s],o]},([t,a])=>N(t,a,e),([,t],a,n)=>L(t,e,a,n),e=>{const a=ri(e);ii(a)||Si(t,a)?m(t,"socket"):t.readyState==t.OPEN&&t.send(e)},n,s,g);b(t,tt,t=>o(t.toString(M))),b(t,Z,()=>r().catch(g))})(t,e,a):(async(t,e,a)=>{const[s,o]=A(a,e,[t]),[r,i]=mi((t,a)=>L(s,e,t,a),n,ui(t,g));b(t,tt,t=>r(t.toString(M))),b(t,Z,()=>{i(),N(a,s,e).catch(g)}),await o})(t,e,a).catch(g)})),b(t,Z,()=>{var e;ma(c,t),Ut(Ma(u,e=t),t=>de(t,t=>t())),ma(u,e)})});be(d,D);const O=async()=>{const e=async t=>{let e=[!1,void 0];return await Ia(t,t=>e=[!0,t]),e},a=await ee([e(()=>te((e,a)=>t.close(t=>t?a(t):e()))),...we(ha(c),t=>e(()=>(async t=>{t.readyState!=t.CLOSED&&await te((e,a)=>{const n=Rt(t,Z,()=>{n(),e()});try{t.close()}catch(t){n(),a(t)}})})(t)))]),n=fe(a,([t])=>t);if(n)throw n[1]},k={getWebSocketServer:()=>t,getPathIds:()=>ka(i),getClientIds:t=>ka(Ma(i,t)?.[0]),addPathIdsListener:t=>y(t,o),addClientIdsListener:(t,e)=>y(e,r,[t]),delListener:t=>(h(t),k),getStats:()=>({paths:la(i),clients:ye($a(i,t=>la(t[0])),(t,e)=>t+e,0)}),destroy:()=>(w||(w=(async()=>{Ea(D);let t=[!1,void 0];const e=Ia(O,e=>t=[!0,e]),a=await ee($a(i,async(t,e)=>{let a=[!1,void 0];return await Ia(()=>_(e,t),t=>a=[!0,t]),a}));await e,de(d,t=>Ea(t)),Pa(u,(t,e)=>de(e,t=>Ea(t))),va(u),va(l),va(i),va(c);const n=t[0]?t:fe(a,([t])=>t);if(n)throw n[1]})()),w)};return _e(k)};export{Oi as Message,vs as Persists,fs as Status,Ir as TinyBasePartyKitServer,Xi as WsServerDurableObject,wn as addOrRemoveHash,Tr as broadcastChanges,xo as createAutomergePersister,Vo as createBetterSqlite3Persister,Mi as createBroadcastChannelSynchronizer,Go as createCapacitorSqlitePersister,an as createCheckpoints,zo as createCrSqliteWasmPersister,Ts as createCustomPersister,Io as createCustomPostgreSqlPersister,Ro as createCustomSqlitePersister,ki as createCustomSynchronizer,Xo as createDurableObjectSqlStoragePersister,Ko as createDurableObjectStoragePersister,Zo as createElectricSqlPersister,tr as createExpoSqlitePersister,er as createFilePersister,cr as createIndexedDbPersister,Pn as createIndexes,lr as createLibSqlPersister,Ho as createLocalPersister,$i as createLocalSynchronizer,is as createMergeableStore,ds as createMetrics,hs as createMiddleware,Wo as createOpfsPersister,yr as createPartyKitPersister,_r as createPgPersister,Nr as createPglitePersister,Ar as createPostgresPersister,Dr as createPowerSyncPersister,Kr as createQueries,kr as createReactNativeMmkvPersister,Mr as createReactNativeSqlitePersister,Zr as createRelationships,Vr as createRemotePersister,Uo as createSessionPersister,Ur as createSqlite3Persister,Fr as createSqliteBunPersister,Hr as createSqliteWasmPersister,as as createStore,Wr as createSupabasePersister,Ki as createWsServer,Qi as createWsServerSimple,Hi as createWsSynchronizer,Qr as createYjsPersister,Mn as defaultSorter,fn as getCellHash,vn as getCellInRowHash,un as getHash,kn as getHlcFunctions,bn as getRowHash,mn as getRowInTableHash,Sn as getTableHash,Tn as getTableInTablesHash,Cn as getTablesHash,ln as getUniqueId,hn as getValueHash,yn as getValueInValuesHash,gn as getValuesHash,ji as getWsServerDurableObjectFetch,mr as hasStoreInStorage,Sr as loadStoreFromStorage};
|
|
1
|
+
import{addDatabaseChangeListener as t}from"expo-sqlite";import{unwatchFile as e,existsSync as a,writeFileSync as n,watchFile as s}from"fs";import{readlink as o,writeFile as r,chmod as i,rename as c,readFile as l,lstat as d,realpath as u,stat as w,unlink as g}from"fs/promises";import{resolve as y,dirname as h}from"path";import{Map as f}from"yjs";import{DurableObject as v}from"cloudflare:workers";const b=t=>typeof t,m="tinybase",S="",T=",",C=".",p=b(S),E=b(!0),I=b(0),R=b(b),L="object",_="array",N="true",A="type",D="enum",O="default",k="allowNull",M="utf8",P="Listener",$="Result",x="add",V="Has",F="Ids",H="Table",U=H+"s",W=H+F,q="Row",G=q+"Count",z=q+F,B="Sorted"+q+F,X="Cell",j=X+F,J="Value",Q=J+"s",Y=J+F,K="open",Z="close",tt="message",et="error",at="change",nt="connection",st="storage",ot="required",rt="t",it="v",ct=t=>S+t,lt=(t,e)=>t.startsWith(e),dt=(t,e)=>t.endsWith(e),ut=(t,e)=>t?.match(e),wt=(t,e=S,a)=>t.split(e,a),gt=(t,e,a)=>t.replace(e,a),yt=Promise,ht=Math,ft=t=>(e,a,n)=>t(e)?n?.():a(e),vt=globalThis,bt=vt.window,mt=Number,St=String,Tt=(t,e,a)=>setInterval(t,1e3*e),Ct=t=>clearInterval(t),pt=(t,e=0)=>setTimeout(t,1e3*e),Et=t=>clearTimeout(t),It=(t,e,a)=>(t.addEventListener(e,a),()=>t.removeEventListener(e,a)),Rt=(t,e,a)=>(t.on(e,a),()=>t.off(e,a)),Lt=ht.max,_t=ht.min,Nt=ht.ceil,At=ht.floor,Dt=ht.random,Ot=1/0,kt=isFinite,Mt=mt.isInteger,Pt=t=>null==t,$t=t=>void 0===t,xt=t=>null===t,Vt=t=>!0===t,Ft=t=>!1===t,Ht=ft(Pt),Ut=ft($t),Wt=t=>t==p||t==E,qt=t=>b(t)==p,Gt=t=>b(t)==I,zt=t=>b(t)==R,Bt=t=>Array.isArray(t),Xt=(t,e,a)=>t.slice(e,a),jt=t=>t.length,Jt=t=>0==jt(t),Qt=(t,e)=>t.test(e),Yt=()=>{},Kt=()=>{},Zt=t=>t,te=t=>new yt(t),ee=async t=>yt.all(t),ae=()=>yt.resolve(),ne=vt.structuredClone,se=(t,e)=>t.includes(e),oe=(t,e)=>t.indexOf(e),re=(t,e)=>t.every(e),ie=(t,e)=>jt(t)===jt(e)&&re(t,(t,a)=>e[a]===t),ce=(t,e)=>re(t,(a,n)=>0==n||e(t[n-1],a)<=0),le=(t,e)=>t.sort(e),de=(t,e)=>t.forEach(e),ue=(t,e=S)=>t.join(e),we=(t,e)=>t.map(e),ge=t=>ye(t,(t,e)=>t+e,0),ye=(t,e,a)=>t.reduce(e,a),he=(t,e)=>t.filter(e),fe=(t,e)=>t.find(e),ve=(t,e=jt(t))=>t.splice(0,e),be=(t,...e)=>t.push(...e),me=t=>t.pop(),Se=(t,...e)=>t.unshift(...e),Te=t=>t.shift(),Ce=Object,pe=t=>Ce.getPrototypeOf(t),Ee=Ce.isFrozen,Ie=Ce.entries,Re=t=>!Pt(t)&&Ht(pe(t),t=>t==Ce.prototype||Pt(pe(t)),()=>!0),Le=Ce.keys,_e=Ce.freeze,Ne=(...t)=>Ce.assign(Ce.create(null),...t),Ae=(t,e)=>Ce.hasOwn(t,e),De=(t,e)=>Ut(t,t=>Ut(Ce.getOwnPropertyDescriptor(t,e),()=>t[e])),Oe=(t,e,a)=>(Ce.defineProperty(t,e,{configurable:!0,enumerable:!0,value:a,writable:!0}),a),ke=(t=[])=>{const e=Ce.create(null);return de(t,([t,a])=>Oe(e,t,a)),e},Me=(t,e)=>(delete t[e],t),Pe=(t,e)=>de(Le(t),a=>e(t[a],a)),$e=(t,e)=>{for(const a in t)if(Ae(t,a)&&!e(t[a],a))return!1;return!0},xe=(t,e)=>we(Ie(t),([t,a])=>e(a,t)),Ve=(t,e)=>{const a=ke();return Pe(t,(t,n)=>Oe(a,n,e(t,n))),a},Fe=(t,e)=>Ve(t,t=>Ve(t,e)),He=(t,e)=>Ve(t,t=>Fe(t,e)),Ue=t=>Ce.values(t),We=t=>jt(Le(t)),qe=t=>Re(t)&&0==We(t),Ge=(t,e,a=(t,e)=>t===e)=>We(t)===We(e)&&$e(t,(t,n)=>!!Ae(e,n)&&(Re(t)?!!Re(e[n])&&Ge(e[n],t,a):a(t,e[n]))),ze=(t,e,a)=>(Ae(t,e)||Oe(t,e,a()),t[e]),Be=(t,e,a)=>Pt(t)||!Re(t)||qe(t)||Ee(t)?(a?.(),!1):(Pe(t,(a,n)=>{e(a,n)||Me(t,n)}),!qe(t)),Xe=JSON.stringify,je=JSON.parse,Je=t=>Xe(t,(t,e)=>e instanceof Map?ke([...e]):e),Qe=t=>Xe(t,(t,e)=>$t(e)?"":e),Ye=t=>Ke(je(t)),Ke=t=>""===t?void 0:Bt(t)?we(t,Ke):Re(t)?Ve(t,Ke):t,Ze=t=>{if(xt(t))return"null";if(Bt(t))return _;if(Re(t))return L;const e=b(t);return Wt(e)||e==I&&kt(t)?e:void 0},ta=t=>$t(t)||!$t(Ze(t)),ea=t=>t==L||t==_,aa=t=>Wt(t)||t==I||ea(t),na=(t,e)=>Bt(t)?se(t,e):t==e,sa=t=>Re(t)||Bt(t)?"�"+Xe(t):t,oa=t=>qt(t)&&"�"==t[0],ra=(t,e=0)=>""===t||!e&&oa(t),ia=(t,e,a)=>!a&&oa(t)?je(Xt(t,1)):t,ca=t=>e=>{let a=0;for(const n of e.values())a+=t(n);return a},la=t=>t?.size??0,da=ca(la),ua=ca(da),wa=ca(ua),ga=(t,e)=>t?.has(e)??!1,ya=t=>$t(t)||0==la(t),ha=t=>[...t?.values()??[]],fa=(t,e)=>{for(const[a,n]of t?.entries()??[])if(!e(n,a))return!1;return!0},va=t=>t.clear(),ba=(t,e)=>t?.forEach(e),ma=(t,e)=>t?.delete(e),Sa=14,Ta=15,Ca=(t,e)=>Error(m+":"+t+($t(e)?S:":"+e)),pa=(t,e)=>{throw Ca(t,e)},Ea=(t,e)=>{try{return t()}catch{return e}},Ia=async(t,e)=>{try{return await t()}catch(t){e?.(t)}},Ra=(t,e)=>Ia(t,t=>{Ia(()=>e?.(t))}),La=(t,e)=>{try{return t()}catch(t){e?.(t)}},_a=(t,e)=>{try{return t()}finally{e()}},Na=async(t,e)=>{try{return await t()}finally{await e()}},Aa=Map,Da=t=>new Aa(t),Oa=()=>new WeakMap,ka=t=>[...t?.keys()??[]],Ma=(t,e)=>t?.get(e),Pa=(t,e)=>ba(t,(t,a)=>e(a,t)),$a=(t,e)=>{const a=[];return Pa(t,(t,n)=>be(a,e(n,t))),a},xa=(t,e,a)=>$t(a)?(ma(t,e),t):t?.set(e,a),Va=(t,e,a,n)=>{let s=Ma(t,e);return ga(t,e)?n?.(s):xa(t,e,s=a()),s},Fa=(t,e,a,n=xa)=>(Pe(e,(e,n)=>a(t,n,e)),Pa(t,a=>Ae(e,a)?0:n(t,a)),t),Ha=(t,e,a,n)=>{const s=ke();return ba(t,(t,o)=>{if(!a?.(t,o)){const a=e?e(t,o):t;n?.(a)||Oe(s,o,a)}}),s},Ua=(t,e,a)=>Ha(t,t=>Ha(t,e,a),ya,qe),Wa=(t,e,a)=>Ha(t,t=>Ua(t,e,a),ya,qe),qa=(t,e)=>{const a=Da();return ba(t,(t,n)=>a.set(n,e?.(t)??t)),a},Ga=t=>qa(t,qa),za=t=>qa(t,Ga),Ba=(t,e,a,n,s=0)=>Ut((a?Va:Ma)(t,e[s],s>jt(e)-2?a:Da),o=>{if(s>jt(e)-2)return n?.(o)&&xa(t,e[s]),o;const r=Ba(o,e,a,n,s+1);return ya(o)&&xa(t,e[s]),r}),Xa=t=>new Set(Bt(t)||$t(t)?t:[t]),ja=(t,e)=>t?.add(e),Ja=(t,e,a,n,s)=>{const o=t.hasRow,r=Da(),i=Da(),c=Da(),l=Da(),d=Da(),u=Da(),w=e=>Ut(Ma(u,e),a=>{ba(a,e=>{t.delListener(e),ma(a,e)}),xa(u,e)}),g=(t,a)=>{xa(r,t,a),ga(i,t)||(xa(i,t,e()),xa(l,t,Da()),xa(d,t,Da()),La(()=>s(c),e=>{throw xa(r,t),xa(i,t),xa(l,t),xa(d,t),e}))},y=t=>{xa(r,t),xa(i,t),xa(l,t),xa(d,t),w(t),s(c)};return[()=>t,()=>ka(r),t=>Pa(i,t),t=>ga(i,t),t=>Ma(r,t),t=>Ma(i,t),(t,e)=>xa(i,t,e),g,(e,n,s,r,i)=>{g(e,n);const c=Da(),y=Da(),h=Ma(l,e),f=Ma(d,e),v=e=>{const s=a=>t.getCell(n,e,a),l=Ma(h,e),d=o(n,e)?a(r(s,e)):void 0;if(l===d||Bt(l)&&Bt(d)&&ie(l,d)||xa(c,e,[l,d]),!$t(i)){const t=Ma(f,e),a=o(n,e)?i(s,e):void 0;(u=t)===(w=a)||(Re(u)||Bt(u))&&Xe(u)===Xe(w)||xa(y,e,a)}var u,w},b=t=>{s(()=>{ba(c,([,t],e)=>xa(h,e,t)),ba(y,(t,e)=>xa(f,e,t))},c,y,h,f,t),va(c),va(y)};Pa(h,v),t.hasTable(n)&&de(t.getRowIds(n),t=>{ga(h,t)||v(t)}),b(!0),w(e),((t,...e)=>{const a=Va(u,t,Xa);de(e,t=>ja(a,t))})(e,t.addRowListener(n,null,(t,e,a)=>v(a)),t.addTableListener(n,()=>b()))},y,t=>n(t,c),()=>Pa(u,y)]},Qa=(t,e)=>qt(t)?e=>e(t):t??(()=>e??S),Ya=(t,e)=>{const a=Oa();return n=>{if(!a.has(n)){const e=t(n,()=>a.get(n)===e&&(a.delete(n),!0));a.set(n,e)}const s=a.get(n);return e?.(s),s}},Ka=/^\d+$/,Za=()=>{const t=[];let e=0;return[a=>(a?Te(t):null)??S+e++,e=>{Qt(Ka,e)&&jt(t)<1e3&&be(t,e)}]},tn=t=>{let e;const[a,n]=Za(),s=Da(),o=(t,a,n,o)=>{let r,i=!1;if(de(((t,e=[S])=>{const a=[],n=(t,s)=>s==jt(e)?be(a,t):xt(e[s])?ba(t,t=>n(t,s+1)):de([e[s],null],e=>n(Ma(t,e),s+1));return n(t,0),a})(a,n),a=>ba(a,a=>{const c=()=>Ma(s,a)[0](e,...n??[],...o);t?La(c,t=>{i||(r=t),i=!0}):c()})),i)throw r};return[(n,o,r,i=[],c=()=>[])=>{e??=t();const l=a(1);return xa(s,l,[n,o,r,i,c]),ja(Ba(o,r??[S],Xa),l),l},(t,e,...a)=>o(!1,t,e,a),t=>Ut(Ma(s,t),([,e,a])=>(Ba(e,a??[S],void 0,e=>(ma(e,t),ya(e)?1:0)),xa(s,t),n(t),a)),t=>Ut(Ma(s,t),([t,,a=[],n,s])=>{const o=(...r)=>{const i=jt(r);i==jt(a)?t(e,...r,...s(r)):xt(a[i])?de(n[i]?.(...r)??[],t=>o(...r,t)):o(...r,a[i])};o()}),(t,e,...a)=>o(!0,t,e,a)]},en=(t,e)=>t===e||!$t(t)&&!$t(e)&&sa(t)===sa(e),an=Ya(t=>{let e,a,n,s=100,o=Da(),r=Da(),i=1,c=0;const l=Da(),d=Da(),[u,w,g]=tn(()=>M),y=Da(),h=Da(),f=[],v=[],b=(e,a)=>{i=0,_a(()=>t.transaction(()=>{const[n,s]=Ma(y,a);ba(n,(a,n)=>ba(a,(a,s)=>ba(a,(a,o)=>t._[5](n,s,o,a[e],!0)))),ba(s,(a,n)=>t._[6](n,a[e],!0))}),()=>i=1)},m=t=>{xa(y,t),xa(h,t),w(d,[t])},T=(t,e)=>de(ve(t,e??jt(t)),m),C=()=>T(f,jt(f)-s),p=()=>Ut(e,()=>{be(f,e),C(),T(v),e=void 0,n=1}),E=()=>{e=me(f),n=1};let I,R;const L=(t=S)=>($t(e)&&(e=S+a++,xa(y,e,[o,r]),O(e,t),o=Da(),r=Da(),n=1),e),_=()=>{Jt(f)||(Se(v,L()),b(0,e),e=me(f),n=1)},N=()=>{Jt(v)||(be(f,e),e=Te(v),b(1,e),n=1)},A=()=>{n&&(w(l),n=0)},D=t=>{const e=L(t);return A(),e},O=(t,e)=>(k(t)&&Ma(h,t)!==e&&(xa(h,t,e),w(d,[t])),M),k=t=>ga(y,t),M={setSize:t=>(s=t,C(),M),addCheckpoint:D,setCheckpoint:O,getStore:()=>t,getCheckpointIds:()=>[[...f],e,[...v]],forEachCheckpoint:t=>Pa(h,t),hasCheckpoint:k,getCheckpoint:t=>Ma(h,t),goBackward:()=>(_(),A(),M),goForward:()=>(N(),A(),M),goTo:t=>{const a=se(f,t)?_:se(v,t)?N:void 0;for(;!$t(a)&&t!=e;)a();return A(),M},addCheckpointIdsListener:t=>u(t,l),addCheckpointListener:(t,e)=>u(e,d,[t]),delListener:t=>(g(t),M),clear:()=>(T(f),T(v),$t(e)||m(e),e=void 0,a=0,D(),M),clearForward:()=>(Jt(v)||(T(v),w(l)),M),destroy:()=>{c&&(c=0,t.delListener(I),t.delListener(R))},getListenerStats:()=>({checkpointIds:da(l),checkpoint:da(d)}),_registerListeners:()=>{c||(c=1,I=t.addCellListener(null,null,null,(t,e,a,n,s,r)=>{if(i){p();const t=Va(o,e,Da),i=Va(t,a,Da),c=Va(i,n,()=>[r,void 0]);c[1]=s,en(c[0],s)&&ya(xa(i,n))&&ya(xa(t,a))&&ya(xa(o,e))&&E(),A()}}),R=t.addValueListener(null,(t,e,a,n)=>{if(i){p();const t=Va(r,e,()=>[n,void 0]);t[1]=a,en(t[0],a)&&ya(xa(r,e))&&E(),A()}}))}};return _e(M.clear())},t=>t._registerListeners()),nn=wt("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),sn=Da(we(nn,(t,e)=>[t,e])),on=t=>nn[63&t],rn=(t,e)=>Ma(sn,t[e])??0,cn=vt.crypto?t=>vt.crypto.getRandomValues(t):t=>we(t,()=>At(256*Dt())),ln=(t=16)=>ye(cn(new Uint8Array(t)),(t,e)=>t+on(e),S),dn=new vt.TextEncoder,un=t=>{let e=2166136261;return de(dn.encode(t),t=>{e^=t,e+=(e<<1)+(e<<4)+(e<<7)+(e<<8)+(e<<24)}),e>>>0},wn=(t,e)=>(t^e)>>>0,gn=t=>ye(Ie(t),(t,[e,a])=>wn(t,yn(e,a)^yn(e,0)),0),yn=(t,e)=>un(t+":"+e),hn=(t,e)=>un(Je(t??null)+":"+e),fn=hn,vn=yn,bn=gn,mn=yn,Sn=t=>ye(Ie(t),(t,[e,a])=>wn(t,yn(e,a)),0),Tn=yn,Cn=Sn,pn=3e5,En=2**36,In=2**30,Rn=2**24,Ln=2**18,_n=4096,Nn=/^[-0-9A-Z_a-z]{16}$/,An=t=>{const e=un(t);return on(e/Rn)+on(e/Ln)+on(e/_n)+on(e/64)+on(e)},Dn=t=>rn(t,0)*En+rn(t,1)*In+rn(t,2)*Rn+rn(t,3)*Ln+rn(t,4)*_n+64*rn(t,5)+rn(t,6),On=(t,e)=>t==S||qt(t)&&Qt(Nn,t)&&Dn(t)<=e,kn=(t,e=Date.now)=>{let a=0,n=-1;const s=Ut(t,An,()=>ln(5)),o=t=>{const s=e();if(!$t(t)&&!On(t,s+pn))return;const o=a,[r,c]=$t(t)||t==S?[0,0]:i(t);a=Lt(o,r,s),n=a==o?a==r?Lt(n,c):n:a==r?c:-1},r=(t,e,a)=>on(t/En)+on(t/In)+on(t/Rn)+on(t/Ln)+on(t/_n)+on(t/64)+on(t)+on(e/Ln)+on(e/_n)+on(e/64)+on(e)+($t(a)?s:An(a)),i=t=>[Dn(t),rn(t,7)*Ln+rn(t,8)*_n+64*rn(t,9)+rn(t,10),Xt(t,11)];return[()=>(o(),++n==Rn&&(a++,n=0),r(a,n)),o,r,i,()=>a,()=>n,()=>s]},Mn=(t,e)=>(t??0)<(e??0)?-1:1,Pn=Ya(t=>{const e=Da(),a=Da(),n=Da(),s=Da(),[o,r,i]=tn(()=>T),[c,l,d,u,w,g,y,,h,f,v,b]=Ja(t,Da,t=>$t(t)?S:Bt(t)?we(t,ct):ct(t),o,r),m=(e,a,n)=>{const s=w(e);ba(n,(e,n)=>a(n,a=>ba(e,e=>a(e,a=>t.forEachCell(s,e,a)))))},T={setIndexDefinition:(t,o,i,c,l,d=Mn)=>{const w=u(t),f=Qa(i),v=$t(l)?void 0:([t],[e])=>l(t,e);return h(t,o,(e,o,i,l,u,w)=>{let h=0;const f=Xa(),b=Da(),m=Xa(),S=g(t),T=t=>{ga(b,t)||xa(b,t,ga(S,t))};if(ba(o,([t,e],a)=>{const n=Xa(t),s=Xa(e);ba(n,t=>ma(s,t)?ma(n,t):0),ba(n,t=>{T(t),ja(f,t),Ut(Ma(S,t),e=>{ma(e,a),ya(e)&&(xa(S,t),h=1)})}),ba(s,t=>{T(t),ja(f,t),ga(S,t)||(xa(S,t,Xa()),h=1),ja(Ma(S,t),a),$t(c)||ja(m,t)})}),e(),ya(u)||(w?Pa(S,t=>ja(m,t)):Pa(i,t=>Ut(Ma(l,t),t=>de(Bt(t)?t:[t],t=>ja(m,t)))),ba(m,t=>{const e=(e,a)=>d(Ma(u,e),Ma(u,a),t),a=[...Ma(S,t)];ce(a,e)||(xa(S,t,Xa(le(a,e))),ja(f,t))})),(h||w)&&!$t(v)){const e=[...S];ce(e,v)||(y(t,Da(le(e,v))),h=1)}h&&r(a,[t]),Pa(b,(e,a)=>{const s=ga(S,e);a!=s&&r(n,[t,e],s)}),ba(f,e=>r(s,[t,e]))},(t,e)=>{const a=f(t,e);return qt(i)&&!$t(a)?sa(a):a},Ut(c,Qa)),w||r(e,[t],!0),T},delIndexDefinition:t=>{const o=g(t),i=u(t),c=i?ka(o):[];return f(t),i&&(r(e,[t],!1),Jt(c)||(r(a,[t]),de(c,e=>{r(n,[t,e],!1),r(s,[t,e])}))),T},getStore:c,getIndexIds:l,forEachIndex:t=>d((e,a)=>t(e,t=>m(e,t,a))),forEachSlice:(t,e)=>m(t,e,g(t)),hasIndex:u,hasSlice:(t,e)=>ga(g(t),e),getTableId:w,getSliceIds:t=>ka(g(t)),getSliceRowIds:(t,e)=>ha(Ma(g(t),e)),addIndexIdsListener:v,addHasIndexListener:(t,a)=>o(a,e,[t]),addSliceIdsListener:(t,e)=>o(e,a,[t]),addHasSliceListener:(t,e,a)=>o(a,n,[t,e]),addSliceRowIdsListener:(t,e,a)=>o(a,s,[t,e]),delListener:t=>(i(t),T),destroy:b,getListenerStats:()=>({sliceIds:da(a),sliceRowIds:ua(s)})};return _e(T)}),$n=([t,e])=>xn(t,e),xn=(t,e)=>e?[t,e]:[t],Vn=(t,e,a)=>[t,e,a],Fn=t=>t[2],Hn=(t,e)=>e>t?(t?un(t):0)^un(e):0,Un=(t,e)=>((t??S)>(e??S)?t:e)??S,Wn=(t,e,a)=>{e>t[1]&&(t[1]=e),t[2]=a>>>0},qn=(t=S)=>xn(ke(),t),Gn=(t=S)=>[Da(),t,0],zn=([t,e,a],n)=>[Ha(t,n),e,a],Bn=([t,e],a=$n)=>xn(Ha(t,a),e),Xn=t=>[t,t],jn=(t,e=da)=>e(t[0])+e(t[1]),Jn=()=>[Da(),Da()],Qn=t=>[...t],Yn=([t,e])=>t===e,Kn=t=>Bt(t)?we(t,Kn):Re(t)?Ve(t,Kn):t,Zn=t=>Ve(t,(t,e)=>e==O?ia(t):t),ts=(t,e,a)=>xa(t,e,Ma(t,e)==-a?void 0:a),es=([t,e],[a,n])=>Ge(t,a)&&Ge(e,n),as=()=>{let t,e,a,n,s=!1,o=!1,r=0,i=0,c=[],l=[],d=0,u=0;const w=Da(),g=Da(),y=Da(),h=Da(),f=Da(),v=Da(),b=Da(),m=Da(),S=Da(),T=Xa(),C=Da(),p=Da(),E=Da(),I=Da(),R=Da(),L=Da(),_=Xa(),N=Xa(),M=Da(),$=Da(),F=Da(),B=Da(),K=Jn(),Z=Jn(),tt=Jn(),et=Jn(),at=Jn(),nt=Jn(),st=Jn(),rt=Jn(),it=Jn(),lt=Jn(),dt=Jn(),ut=Jn(),wt=Jn(),gt=Jn(),yt=Jn(),ht=Jn(),ft=Jn(),vt=Jn(),bt=Jn(),mt=Jn(),St=Jn(),Tt=Jn(),Ct=Da(),pt=Jn(),[Et,It,Rt,Lt,_t]=tn(()=>_n),Nt=t=>{const e=u;return u=1,_a(t,()=>u=e)},At=t=>{const e=d;return d=1,_a(t,()=>d=e)},Dt=(t,e,a,n=Object.is)=>Ut(e(),e=>t===e||n(t,e)?a(e):Nt(()=>a(e))),Ot=t=>{if(!Be(t,(t,e)=>se([A,D,O,k,ot],e)))return!1;const e=t[A],a=t[D];if($t(a)?!(Bt(n=e)?!$t(n[0])&&re(n,aa):aa(n)):!$t(e)||!Bt(a)||$t(a[0])||!re(a,t=>{const e=Ze(t);return!(xt(t)||$t(e)||ea(e)||ra(t))}))return!1;var n;const s=t[O];return!(xt(s)&&!t[k]||(xt(s)||(($t(a)?na(e,Ze(s)):se(a,s))&&!ra(s)?Ut(Ea(()=>sa(s)),e=>t[O]=e,()=>Me(t,O)):Me(t,O)),0))},kt=(t,e)=>Ut(Ea(()=>sa(t)),t=>t,e),Mt=t=>Re(t)?Ve(t,Zt):t,Pt=t=>Re(t)?Ve(t,Mt):t,Vt=t=>Re(t)?Ve(t,Zt):t,Ft=(t,e)=>1==d&&oa(t)&&1==Ea(()=>{const a=Ze(ia(t));return ea(a)&&($t(e)||na(e,a))},!1),Ht=Bt,Wt=(e,a)=>(!t||ga(E,a)||He(a))&&Be(e,(t,e)=>qt(a,e,t),()=>He(a)),qt=(t,e,a,n)=>{const s=n?a:Qt(a,t,e);return Be(s,(n,s)=>Ut(Gt(t,e,s,n),t=>(Oe(a,s,t),!0),()=>!1),()=>He(t,e))&&(!!n||fa(Ma(I,t)?.[2],t=>Ae(s,t)))},Gt=(e,a,n,s)=>t?Ut(Ma(Ma(E,e),n),t=>xt(s)?t[k]?s:He(e,a,n,s,t[O]):ra(s,d)?He(e,a,n,s,t[O]):oa(s)?$t(t[D])&&Ft(s,t[A])?s:He(e,a,n,s,t[O]):$t(t[D])?na(t[A],Ze(s))?kt(s,()=>He(e,a,n,s,t[O])):He(e,a,n,s,t[O]):se(t[D],s)?s:He(e,a,n,s,t[O]),()=>He(e,a,n,s)):$t(Ze(s))||ra(s,d)||oa(s)&&!Ft(s)?He(e,a,n,s):kt(s,()=>He(e,a,n,s)),jt=(t,e)=>{const a=e?t:Yt(t);return Be(a,(e,a)=>Ut(Jt(a,e),e=>(Oe(t,a,e),!0),()=>!1),()=>Ue())&&(!!e||fa(N,t=>Ae(a,t)))},Jt=(t,a)=>e?Ut(Ma(R,t),e=>xt(a)?e[k]?a:Ue(t,a,e[O]):ra(a,d)?Ue(t,a,e[O]):oa(a)?$t(e[D])&&Ft(a,e[A])?a:Ue(t,a,e[O]):$t(e[D])?na(e[A],Ze(a))?kt(a,()=>Ue(t,a,e[O])):Ue(t,a,e[O]):se(e[D],a)?a:Ue(t,a,e[O]),()=>Ue(t,a)):$t(Ze(a))||ra(a,d)||oa(a)&&!Ft(a)?Ue(t,a):kt(a,()=>Ue(t,a)),Qt=(t,e,a)=>(Ut(Ma(I,e),([n,s])=>{ba(n,(n,s)=>{Ae(t,s)||(Oe(t,s,n),Ut(a,t=>ja(Va(Va(b,e,Da),t,Xa),s)))}),ba(s,n=>{Ae(t,n)||He(e,a,n)})}),t),Yt=t=>(e&&(ba(L,(e,a)=>{Ae(t,a)||(Oe(t,a,e),ja(T,a))}),ba(_,e=>{Ae(t,e)||Ue(e)})),t),Kt=t=>Fa(E,t,(t,e,a)=>{const n=Da(),s=Xa(),o=Xa();Fa(Va(E,e,Da),a,(t,e,a)=>{xa(t,e,a),Ut(a[O],t=>{xa(n,e,t)},()=>{ja(s,e),!0===a[ot]&&ja(o,e)})}),xa(I,e,[n,s,o])},(t,e)=>{xa(E,e),xa(I,e)}),te=t=>Fa(R,t,(t,e,a)=>{xa(R,e,a),Ut(a[O],t=>{xa(L,e,t),ma(_,e),ma(N,e)},()=>{xa(L,e),ja(_,e),!0===a[ot]?ja(N,e):ma(N,e)})},(t,e)=>{xa(R,e),xa(L,e),ma(_,e),ma(N,e)}),ee=()=>{a??=[!!t,Ua(E)]},ae=()=>{n??=[!!e,Ha(R)]},oe=t=>qe(t)?fn():cn(t),ce=(t,e,a,n,s,o)=>$t(n)?mn(t,e,a,!0,s):ln(t,e,a,n,s,o),ue=t=>qe(t)?Sn():dn(t),ge=(t,e,a)=>$t(e)?Tn(t,a):un(t,e,a),ye=(t,e)=>Dt(t,()=>e?t:Ut(c[1],e=>Nt(()=>e(ne(t))),()=>t),t=>Fa(F,t,(t,e,a)=>he(e,a),(t,e)=>pe(e)),Ge),he=(t,e,a)=>Dt(e,()=>a?e:Ut(c[2],a=>Nt(()=>a(t,ne(e))),()=>e),e=>Fa(Va(F,t,()=>(Ne(t,1),xa(M,t,Za()),xa($,t,Da()),Da())),e,(e,a,n)=>fe(t,e,a,n),(e,a)=>Ee(t,e,a)),Ge),fe=(t,e,a,n,s)=>Dt(n,()=>s?n:Ut(c[3],e=>Nt(()=>e(t,a,ne(n))),()=>n),n=>Fa(Va(e,a,()=>(De(t,a,1),Da())),n,(e,n,s)=>ve(t,a,e,n,s),(n,o)=>Ie(t,e,a,n,o,s)),Ge),ve=(t,e,a,n,s,o)=>Dt(s,()=>Ut(o?void 0:c[4],a=>Nt(()=>a(t,e,n,s)),()=>s),s=>Ut(u?Gt(t,e,n,ia(s)):s,s=>{ga(a,n)||ke(t,e,n,1);const o=Ma(a,n);s!==o&&($e(t,e,n,o,s),xa(a,n,s))})),me=(t,e,a,n,s,o)=>Ut(Ma(e,a),e=>ve(t,a,e,n,s,o),()=>{const r=Da();xa(e,a,r),De(t,a,1),Pe(Qt({[n]:s},t,a),(e,n)=>ve(t,a,r,n,e,o))}),Se=(t,e)=>Dt(t,()=>e?t:Ut(c[5],e=>Nt(()=>e(ne(t))),()=>t),t=>Fa(B,t,(t,e,a)=>Te(e,a),(t,e)=>Le(e)),Ge),Te=(t,e,a)=>Dt(e,()=>Ut(a?void 0:c[6],a=>Nt(()=>a(t,e)),()=>e),e=>Ut(u?Jt(t,ia(e)):e,e=>{ga(B,t)||xe(t,1);const a=Ma(B,t);e!==a&&(Fe(t,a,e),xa(B,t,e))})),Ce=t=>Va(F,t,()=>(Ne(t,1),xa(M,t,Za()),xa($,t,Da()),Da())),pe=t=>Nt(()=>c[8]?.(t))??1?he(t,{},!0):Ma(F,t),Ee=(t,e,a)=>{if(Nt(()=>c[9]?.(t,a))??1){const[,n]=Ma(M,t);n(a),fe(t,e,a,{},!0)}},Ie=(t,e,a,n,s,o,r)=>{const i=Ma(Ma(I,t)?.[0],s);if(!$t(i)&&!o)return ve(t,a,n,s,i);if(r||(Nt(()=>c[10]?.(t,a,s))??1)){const o=e=>{$e(t,a,e,Ma(n,e)),ke(t,a,e,-1),xa(n,e)};$t(i)?o(s):Pa(n,o),ya(n)&&(De(t,a,-1),ya(xa(e,a))&&(Ne(t,-1),xa(F,t),xa(M,t),xa($,t)))}},Le=(t,e)=>{const a=Ma(L,t);if(!$t(a))return Te(t,a);(e||(Nt(()=>c[12]?.(t))??1))&&(Fe(t,Ma(B,t)),xe(t,-1),xa(B,t))},Ne=(t,e)=>ts(w,t,e),De=(t,e,a)=>ts(Va(h,t,Da),e,a)&&xa(y,t,Va(y,t,()=>0)+a),ke=(t,e,a,n)=>{const s=Ma($,t),o=Ma(s,a)??0;(0==o&&1==n||1==o&&-1==n)&&ts(Va(g,t,Da),a,n),xa(s,a,o!=-n?o+n:void 0),ts(Va(Va(f,t,Da),e,Da),a,n)},$e=(t,e,a,n,s)=>{const o=ga(Ma(Ma(b,t),e),a)&&$t(n)?1:0;Va(Va(Va(v,t,Da),e,Da),a,()=>[n,0])[1]=s,l[3]?.(t,e,a,s,u,o),ma(Ma(Ma(b,t),e),a)},xe=(t,e)=>ts(m,t,e),Fe=(t,e,a)=>{const n=ga(T,t)&&$t(e)?1:0;Va(S,t,()=>[e,0])[1]=a,l[4]?.(t,a,u,n),ma(T,t)},He=(t,e,a,n,s)=>(be(Va(Va(Va(C,t,Da),e,Da),a,()=>[]),n),s),Ue=(t,e,a)=>(be(Va(p,t,()=>[]),e),a),We=(t,e,a)=>Ut(Ma(Ma(Ma(v,t),e),a),([t,e])=>[!0,ia(t),ia(e)],()=>[!1,...Xn(Oa(t,e,a))]),ze=t=>Ut(Ma(S,t),([t,e])=>[!0,ia(t),ia(e)],()=>[!1,...Xn(Qa(t))]),Xe=t=>ya(C)||ya(ht[t])?0:ba(t?za(C):C,(e,a)=>ba(e,(e,n)=>ba(e,(e,s)=>It(ht[t],[a,n,s],e)))),Qe=t=>ya(p)||ya(ft[t])?0:ba(t?qa(p):p,(e,a)=>It(ft[t],[a],e)),Ye=(t,e,a,n)=>{if(!ya(t))return It(e,n,()=>Ha(t)),Pa(t,(t,e)=>It(a,[...n??[],t],1==e)),1},Ke=t=>{const e=!ya(K[t]),a=!ya(lt[t]),n=!(ya(wt[t])&&ya(gt[t])&&ya(it[t])&&ya(dt[t])&&ya(nt[t])&&ya(st[t])&&ya(rt[t])&&!a&&ya(tt[t])&&ya(et[t])),o=!(ya(yt[t])&&ya(ut[t])&&ya(at[t])&&ya(Z[t]));if(e||n||o){const i=t?[qa(w),Ga(g),qa(y),Ga(h),za(f),(r=v,qa(r,t=>qa(t,t=>qa(t,Qn))))]:[w,g,y,h,f,v];if(e){const e=Ya();e!=s&&It(K[t],void 0,e)}if(n){Ye(i[0],tt[t],et[t]),ba(i[1],(e,a)=>Ye(e,nt[t],st[t],[a])),ba(i[2],(e,a)=>{0!=e&&It(rt[t],[a],Ia(a))});const e=Xa();ba(i[3],(n,s)=>{Ye(n,it[t],dt[t],[s])&&a&&(It(lt[t],[s,null]),ja(e,s))}),a&&ba(i[5],(a,n)=>{if(!ga(e,n)){const e=Xa();ba(a,t=>ba(t,([a,n],s)=>n!==a?ja(e,s):ma(t,s))),ba(e,e=>It(lt[t],[n,e]))}}),ba(i[4],(e,a)=>ba(e,(e,n)=>Ye(e,wt[t],gt[t],[a,n])))}if(o){let e;ba(i[5],(a,n)=>{let s;ba(a,(a,o)=>{let r;ba(a,([a,i],c)=>{i!==a&&(It(yt[t],[n,o,c],ia(i),ia(a),We),e=s=r=1)}),r&&It(ut[t],[n,o],We)}),s&&It(at[t],[n],We)}),e&&It(Z[t],void 0,We)}}var r},ta=t=>{const e=!ya(vt[t]),a=!ya(mt[t])||!ya(St[t]),n=!ya(Tt[t])||!ya(bt[t]);if(e||a||n){const s=t?[qa(m),qa(S,Qn)]:[m,S];if(e){const e=sn();e!=o&&It(vt[t],void 0,e)}if(a&&Ye(s[0],mt[t],St[t]),n){let e;ba(s[1],([a,n],s)=>{n!==a&&(It(Tt[t],[s],ia(n),ia(a),ze),e=1)}),e&&It(bt[t],void 0,ze)}}},ca=(t,...e)=>(En(()=>t(...we(e,ct))),_n),ha=(t,e,a,n,s)=>{const[o,r,i,c]=a;let l=Na(t,e,o,r,i,c);return Et(()=>{const a=Na(t,e,o,r,i,c);ie(a,l)||(l=a,n(_n,t,e,o,r,i,l))},lt[s?1:0],[t,e],[Ca])},Sa=(t=!1)=>[Ha(v,(e,a)=>-1===Ma(w,a)?void 0:Ha(e,(e,n)=>-1===Ma(Ma(h,a),n)?void 0:Ha(e,([,e])=>ia(e,0,t),t=>Yn(t)),ya,qe),ya,qe),Ha(S,([,e])=>ia(e,0,t),t=>Yn(t)),1],Ta=()=>Wa(F,ia),Ca=()=>ka(F),pa=t=>ka(Ma($,ct(t))),Ia=t=>la(Ma(F,ct(t))),Ra=t=>ka(Ma(F,ct(t))),Na=(t,e,a,n=0,s,o=Mn)=>Re(t)?Na(t.tableId,t.cellId,t.descending,t.offset,t.limit,t.sorter):we(Xt(le($a(Ma(F,ct(t)),(t,a)=>[$t(e)?a:ia(Ma(t,ct(e))),a]),([t],[e])=>o(t,e)*(a?-1:1)),n,$t(s)?s:n+s),([,t])=>t),Aa=(t,e)=>ka(Ma(Ma(F,ct(t)),ct(e))),Oa=(t,e,a)=>ia(Ma(Ma(Ma(F,ct(t)),ct(e)),ct(a))),Ba=()=>Ha(B,ia),Ja=()=>ka(B),Qa=t=>ia(Ma(B,ct(t))),Ya=()=>!ya(F),Ka=t=>ga(F,ct(t)),en=(t,e)=>ga(Ma($,ct(t)),ct(e)),an=(t,e)=>ga(Ma(F,ct(t)),ct(e)),nn=(t,e,a)=>ga(Ma(Ma(F,ct(t)),ct(e)),ct(a)),sn=()=>!ya(B),on=t=>ga(B,ct(t)),rn=t=>ca(()=>{const e=zt(t)?t():t;Ht(e)&&(t=>{Dt(t,()=>Ut(c[0],e=>Nt(()=>e(ne(t),d)),()=>t),([t,e])=>{(qe(t)?fn:cn)(t),(qe(e)?Sn:dn)(e)},es)})(e)}),cn=t=>ca(()=>{const e=(t=>Re(t)?Ve(t,Pt):t)(t);return(t=>Be(t,Wt,He))(e)?ye(e):0}),ln=(t,e,a,n,s,o)=>ca((t,e,a)=>Ut(Gt(t,e,a,zt(n)?n(Oa(t,e,a)):n),n=>{const r=Ce(t);Ut(s||o||!c[14]?.()?void 0:c[3],o=>{const i=Ma(r,e),c={...i?Ha(i):{},[a]:n};Ut(Nt(()=>o(t,e,ne(c))),a=>((t,e,a,n,s)=>{Fa(Va(e,a,()=>(De(t,a,1),Da())),n,(e,n,o)=>Ut(Gt(t,a,n,ia(o)),o=>ve(t,a,e,n,o,s)),(n,s)=>Ie(t,e,a,n,s,!0))})(t,r,e,a,s))},()=>me(t,r,e,a,n,s))}),t,e,a),dn=t=>ca(()=>{const e=Vt(t);return jt(e)?Se(e):0}),un=(t,e,a)=>ca(t=>Ut(Jt(t,zt(e)?e(Qa(t)):e),e=>Te(t,e,a)),t),wn=t=>ca(()=>Dt(t,()=>Ut(c[13],e=>Nt(()=>e(ne(t),d)),()=>t),t=>{Pe(t[0],(t,e)=>$t(t)?vn(e):Pe(t,(t,a)=>$t(t)?bn(e,a):Pe(t,(t,n)=>ce(e,a,n,t,void 0,!0)))),Pe(t[1],(t,e)=>ge(e,t))},es)),gn=t=>(La(()=>At(()=>oe(je(t)))),_n),yn=e=>ca(()=>{const a=Kn(e);if(Be(a,t=>Be(t,Ot))&&(ee(),t=!0,Kt(a),!ya(F))){const t=Ta();fn(),cn(t)}}),hn=t=>ca(()=>{const a=Kn(t);if((t=>Be(t,Ot))(a)){ae();const t=Ba();pn(),Sn(),e=!0,te(a),dn(t)}}),fn=()=>ca(()=>Nt(()=>c[7]?.())??1?ye({},!0):0),vn=t=>ca(t=>ga(F,t)?pe(t):0,t),bn=(t,e)=>ca((t,e)=>Ut(Ma(F,t),a=>ga(a,e)?Ee(t,a,e):0),t,e),mn=(t,e,a,n,s)=>ca((t,e,a)=>Ut(Ma(F,t),o=>Ut(Ma(o,e),r=>ga(r,a)?Ie(t,o,e,r,a,n,s):0)),t,e,a),Sn=()=>ca(()=>Nt(()=>c[11]?.())??1?Se({},!0):0),Tn=(t,e)=>ca(t=>ga(B,t)?Le(t,e):0,t),Cn=()=>ca(()=>{ee(),Kt({}),t=!1}),pn=()=>ca(()=>{ae(),te({}),e=!1}),En=(t,e)=>{if(-1!=i){In();try{const a=t();return Ln(e),a}catch(t){throw i>0&&(r=1,La(Ln)),t}}},In=()=>{if(-1!=i&&i++,1==i)try{l[0]?.(),It(Ct)}catch(t){throw r=1,La(Ln),t}return _n},Rn=()=>{i=0,r=0,a=n=void 0,s=Ya(),o=sn(),de([w,g,y,h,f,v,b,C,m,S,T,p],va)},Ln=s=>{if(i>0&&(i--,0==i)){i=1;let o=!1,c=!1;const d=()=>{c=!0,Ut(a,([e,a])=>{Kt(a),t=e}),Ut(n,([t,a])=>{te(a),e=t}),ba(v,(t,e)=>ba(t,(t,a)=>ba(t,([t],n)=>ce(e,a,n,t,!0)))),va(v),ba(S,([t],e)=>ge(e,t,!0)),va(S)};let u=!1,w=!1;_a(()=>{let t,e=!1;const a=a=>{e||(t=a),e=!0};if(La(()=>{try{r?d():(Nt(()=>{Xe(1),ya(v)||Ke(1),Qe(1),ya(S)||ta(1)}),s?.(_n)&&d(),l[1]?.(c),u=!0,_t(pt[0],void 0),i=-1,o=!0,Xe(0),ya(v)||Ke(0),Qe(0),ya(S)||ta(0))}catch(t){throw o||d(),t}},a),u&&c&&(o||La(()=>l[1]?.(!0),a),La(()=>{l[2]?.(!0),w=!0},a)),u&&La(()=>{i=-1,_t(pt[1],void 0)},a),e)throw t},()=>_a(()=>w?0:l[2]?.(c),Rn))}return _n},_n={getContent:()=>[Ta(),Ba()],getTables:Ta,getTableIds:Ca,getTable:t=>Ua(Ma(F,ct(t)),ia),getTableCellIds:pa,getRowCount:Ia,getRowIds:Ra,getSortedRowIds:Na,getRow:(t,e)=>Ha(Ma(Ma(F,ct(t)),ct(e)),ia),getCellIds:Aa,getCell:Oa,getValues:Ba,getValueIds:Ja,getValue:Qa,hasTables:Ya,hasTable:Ka,hasTableCell:en,hasRow:an,hasCell:nn,hasValues:sn,hasValue:on,getTablesJson:()=>Je(F),getValuesJson:()=>Je(B),getJson:()=>Je([F,B]),getTablesSchemaJson:()=>Je(Ua(E,Zn)),getValuesSchemaJson:()=>Je(Ha(R,Zn)),getSchemaJson:()=>Je([Ua(E,Zn),Ha(R,Zn)]),hasTablesSchema:()=>t,hasValuesSchema:()=>e,setContent:rn,setTables:cn,setTable:(t,e)=>ca(t=>{const a=Pt(e);return Wt(a,t)?he(t,a):0},t),setRow:(t,e,a)=>ca((t,e)=>{const n=Mt(a);return qt(t,e,n)?fe(t,Ce(t),e,n):0},t,e),addRow:(t,e,a=!0)=>En(()=>{let n;const s=Mt(e);return qt(t,n,s)&&(t=ct(t),fe(t,Ce(t),n=((t,e)=>{const[a]=Ma(M,t);let n;do{n=a(e)}while(ga(Ma(F,t),n));return n})(t,a?1:0),s)),n}),setPartialRow:(t,e,a)=>ca((t,e)=>{const n=Mt(a);if(qt(t,e,n,1)){const a=Ce(t);Pe(n,(n,s)=>me(t,a,e,s,n))}},t,e),setCell:ln,setValues:dn,setPartialValues:t=>ca(()=>{const e=Vt(t);return jt(e,1)?Pe(e,(t,e)=>Te(e,t)):0}),setValue:un,applyChanges:wn,setTablesJson:gn,setValuesJson:t=>(La(()=>At(()=>ue(je(t)))),_n),setJson:t=>ca(()=>La(()=>At(()=>{const[e,a]=je(t);oe(e),ue(a)}),()=>gn(t))),setTablesSchema:yn,setValuesSchema:hn,setSchema:(t,e)=>ca(()=>{yn(t),hn(e)}),delTables:fn,delTable:vn,delRow:bn,delCell:mn,delValues:Sn,delValue:Tn,delTablesSchema:Cn,delValuesSchema:pn,delSchema:()=>ca(()=>{Cn(),pn()}),transaction:En,startTransaction:In,getTransactionChanges:()=>Sa(),getTransactionLog:()=>[!ya(v),!ya(S),Wa(v,Qn,Yn),Wa(C),Ha(S,Qn,Yn),Ha(p),Ha(w),Ua(h),Wa(f),Ha(m)],finishTransaction:Ln,forEachTable:t=>ba(F,(e,a)=>t(a,t=>ba(e,(e,a)=>t(a,t=>Pa(e,(e,a)=>t(e,ia(a))))))),forEachTableCell:(t,e)=>Pa(Ma($,ct(t)),e),forEachRow:(t,e)=>ba(Ma(F,ct(t)),(t,a)=>e(a,e=>Pa(t,(t,a)=>e(t,ia(a))))),forEachCell:(t,e,a)=>Pa(Ma(Ma(F,ct(t)),ct(e)),(t,e)=>a(t,ia(e))),forEachValue:t=>Pa(B,(e,a)=>t(e,ia(a))),addSortedRowIdsListener:(t,e,a,n,s,o,r)=>Re(t)?ha(t.tableId,t.cellId,[t.descending??!1,t.offset??0,t.limit,t.sorter],e,a):ha(t,e,[a,n,s,void 0],o,r),addStartTransactionListener:t=>Et(t,Ct),addWillFinishTransactionListener:t=>Et(t,pt[0]),addDidFinishTransactionListener:t=>Et(t,pt[1]),callListener:t=>(Lt(t),_n),delListener:t=>(Rt(t),_n),getListenerStats:()=>({hasTables:jn(K),tables:jn(Z),tableIds:jn(tt),hasTable:jn(et),table:jn(at),tableCellIds:jn(nt),hasTableCell:jn(st,ua),rowCount:jn(rt),rowIds:jn(it),sortedRowIds:jn(lt),hasRow:jn(dt,ua),row:jn(ut,ua),cellIds:jn(wt,ua),hasCell:jn(gt,wa),cell:jn(yt,wa),invalidCell:jn(ht,wa),hasValues:jn(vt),values:jn(bt),valueIds:jn(mt),hasValue:jn(St),value:jn(Tt),invalidValue:jn(ft),transaction:da(Ct)+jn(pt)}),isMergeable:()=>!1,_:[as,Et,It,(t,e,a,n,s)=>l=[t,e,a,n,s],(t,e,a,n,s,o,r,i,l,d,u,w,g,y,h)=>c=[t,e,a,n,s,o,r,i,l,d,u,w,g,y,h],ce,ge,()=>[Wa(F),Ha(B)],()=>Sa(!0),t=>At(()=>rn(t)),t=>At(()=>wn(t))]};return Pe({[V+U]:[0,K,[],()=>[Ya()]],[U]:[0,Z],[W]:[0,tt],[V+H]:[1,et,[Ca],t=>[Ka(...t)]],[H]:[1,at,[Ca]],[H+j]:[1,nt,[Ca]],[V+H+X]:[2,st,[Ca,pa],t=>[en(...t)]],[G]:[1,rt,[Ca]],[z]:[1,it,[Ca]],[V+q]:[2,dt,[Ca,Ra],t=>[an(...t)]],[q]:[2,ut,[Ca,Ra]],[j]:[2,wt,[Ca,Ra]],[V+X]:[3,gt,[Ca,Ra,Aa],t=>[nn(...t)]],[X]:[3,yt,[Ca,Ra,Aa],t=>Xn(Oa(...t))],InvalidCell:[3,ht],[V+Q]:[0,vt,[],()=>[sn()]],[Q]:[0,bt],[Y]:[0,mt],[V+J]:[1,St,[Ja],t=>[on(...t)]],[J]:[1,Tt,[Ja],t=>Xn(Qa(t[0]))],InvalidValue:[1,ft]},([t,e,a,n],s)=>{_n[x+s+P]=(...s)=>Et(s[t],e[s[t+1]?1:0],t>0?Xt(s,0,t):void 0,a,n)}),_e(_n)},ns={HasTable:1,Table:1,TableCellIds:1,HasTableCell:2,RowCount:1,RowIds:1,SortedRowIds:5,HasRow:2,Row:2,CellIds:2,HasCell:3,Cell:3,HasValue:1,Value:1,InvalidCell:3,InvalidValue:1},ss=(t=S)=>[Gn(t),Gn(t)],os=(t,e)=>Re(t)&&$e(t,e),rs=(t,e,a,n)=>{if(!Bt(t))return!1;if(a?2!=jt(t):2!=jt(t)&&(3!=jt(t)||1!==t[2]))return!1;const s=(t,n)=>((t,e,a,n)=>Bt(t)&&(3==jt(t)?((t,e)=>Bt(t)&&3==jt(t)&&qt(t[1])&&Gt(t[2])&&kt(t[2])&&e(t[0]))(t,e)&&On(t[1],a):!n&&e(t[0])&&(1==jt(t)||2==jt(t)&&On(t[1],a))))(t,n,e,a),o=t=>ta(t)&&!ra(t,n);return s(t[0],t=>os(t,t=>s(t,t=>os(t,t=>s(t,t=>os(t,t=>s(t,o)))))))&&s(t[1],t=>os(t,t=>s(t,o)))},is=(t,e=Date.now)=>{let a=1,n=ss(),s=n,o=0,r=0,i=r;const c=[],l=Da(),d=Xa(),[u,w]=kn(t,e),g=as(),y=t=>{const e=a;return a=0,_a(t,()=>a=e),L},h=t=>{const[e,a,n]=t;be(c,()=>{t[0]=e,t[1]=a,t[2]=n})},f=(t,e,a)=>(ga(t,e)||be(c,()=>xa(t,e)),Va(t,e,a)),v=(t,e=0)=>{const a=ke(),s=ke(),[[o,r=S,i=0],c]=t,[l,d]=n,[u,g,y]=l;let v=e?i:y,m=r;Pe(o,([t,n=S,s=0],o)=>{const r=f(u,o,Gn),[i,c,l]=r;let d=e?s:l,w=n;Pe(t,(t,n)=>{const[s,r,c]=b(t,f(i,n,Gn),ze(ze(a,o,ke),n,ke),e);d^=e?0:wn(r?yn(n,r):0,yn(n,c)),w=Un(w,s)}),d^=e?0:Hn(c,n),h(r),Wn(r,n,d),v^=e?0:wn(l?yn(o,l):0,yn(o,r[2])),m=Un(m,w)}),v^=e?0:Hn(g,r),h(l),Wn(l,r,v);const[T]=b(c,d,s,e);return w(Un(m,T)),[a,s,1]},b=(t,e,a,n)=>{const[s,o=S,r=0]=t,[i,c,l]=e;let d=o,u=n?r:l;return Pe(s,([t,e=S,s=0],o)=>{const r=f(i,o,()=>[void 0,S,0]),[,c,l]=r;(!c||e>c)&&(h(r),Wn(r,e,n?s:hn(t,e)),r[0]=t,Oe(a,o,t),u^=n?0:wn(yn(o,l),yn(o,r[2])),d=Un(d,e))}),u^=n?0:Hn(c,o),h(e),Wn(e,o,u),[d,l,e[2]]},m=()=>{for(;jt(c);)me(c)?.();n=s,r=i},T=(t=!1)=>[zn(n[0],e=>zn(e,e=>zn(e,([e,a,n])=>[ia(e,0,t),a,n]))),zn(n[1],([e,a,n])=>[ia(e,0,t),a,n])],C=(t,e=!1)=>{const[[a,s,o],[r,i,c]]=n,u=t?Vn:xn,w=ke();ba(l,(t,n)=>Ut(Ma(a,n),([a,s,o])=>{const r=ke();ba(t,(t,n)=>Ut(Ma(a,n),([a,s,o])=>{const i=ke();ba(t,t=>{Ut(Ma(a,t),([a,n,s])=>Oe(i,t,u(e?a:ia(a),n,s)))}),Oe(r,n,u(i,s,o))})),Oe(w,n,u(r,s,o))}));const g=ke();return ba(d,t=>Ut(Ma(r,t),([a,n,s])=>Oe(g,t,u(e?a:ia(a),n,s)))),[u(w,s,o),u(g,i,c),1]},p=()=>T(),E=(t,a)=>rs(t,e()+pn,1,a?1:0)?y(()=>g.transaction(()=>{g.delTables().delValues(),n=ss();const e=v(t,1);(a?g._[10]:g.applyChanges)(e)})):L,I=(t,a)=>rs(t,e()+pn,0,a?1:0)?y(()=>g.transaction(()=>(a?g._[10]:g.applyChanges)(v(t)))):L,R=t=>I(t),L={getMergeableContent:p,getMergeableContentHashes:()=>[n[0][2],n[1][2]],getMergeableTableHashes:()=>Ha(n[0][0],Fn),getMergeableTableDiff:t=>{const e=qn(n[0][1]),a=ke();return Pa(n[0][0],(n,[s,o,r])=>Ae(t,n)?r!=De(t,n)?Oe(a,n,r):0:Oe(e[0],n,Bn([s,o],t=>Bn(t)))),[e,a]},getMergeableRowHashes:t=>{const e=ke();return Pe(t,(t,a)=>Ut(Ma(n[0][0],a),([n,,s])=>s!=t?Pa(n,(t,[,,n])=>Oe(ze(e,a,ke),t,n)):0)),e},getMergeableRowDiff:t=>{const e=qn(n[0][1]),a=ke();return Pe(t,(t,s)=>Pa(Ma(n[0][0],s)?.[0],(n,[o,r,i])=>Ae(t,n)?i!==De(t,n)?Oe(ze(a,s,ke),n,i):0:Oe(ze(e[0],s,qn)[0],n,Bn([o,r])))),[e,a]},getMergeableCellHashes:t=>{const e=ke();return Pe(t,(t,a)=>Ut(Ma(n[0][0],a),([n])=>Pe(t,(t,s)=>Ut(Ma(n,s),([n,,o])=>o!==t?Pa(n,(t,[,,n])=>Oe(ze(ze(e,a,ke),s,ke),t,n)):0)))),e},getMergeableCellDiff:t=>{const[[e,a]]=n,s=ke();return Pe(t,(t,a)=>Pe(t,(t,n)=>Ut(Ma(e,a),([e,o])=>Ut(Ma(e,n),([e,r])=>Pa(e,(e,[i,c,l])=>l!==De(t,e)?Oe(ze(ze(s,a,()=>qn(o))[0],n,()=>qn(r))[0],e,[i,c]):0))))),xn(s,a)},getMergeableValueHashes:()=>Ha(n[1][0],Fn),getMergeableValueDiff:t=>{const[,[e,a]]=n,s=Ha(e,$n,([,,e],a)=>e==De(t,a));return xn(s,a)},setMergeableContent:t=>E(t),setDefaultContent:t=>(g.transaction(()=>{o=1,_a(()=>g.setContent(t),()=>o=0)}),L),getTransactionMergeableChanges:(t=!1)=>C(t),applyMergeableChanges:R,merge:t=>{const e=p(),a=t.getMergeableContent();return t.applyMergeableChanges(e),R(a)},__:[()=>{const t=r;return r=0,t},()=>T(!0),t=>C(t,!0),t=>E(t,!0),t=>I(t,!0)]};return g._[3](()=>{s=n,i=r},t=>t?m():0,t=>{t?m():ve(c),va(l),va(d)},(t,e,n,s,i,c)=>{if(ja(Va(Va(l,t,Da),e,Xa),n),a||i){i&&(r=1);const a=o||c?S:u(),[l]=v([[{[t]:[{[e]:[{[n]:[s,a]}]}]}],[{}],1]),d=De(De(l,t),e);!a||d&&Ae(d,n)||pa(13)}},(t,e,n,s)=>{if(ja(d,t),a||n){n&&(r=1);const a=o||s?S:u(),[,i]=v([[{}],[{[t]:[e,a]}],1]);a&&!Ae(i,t)&&pa(13)}}),Pe(g,(t,e)=>Oe(L,e,lt(e,"set")||lt(e,"del")||lt(e,"apply")||dt(e,"Transaction")||e=="call"+P||"use"==e?(...e)=>(t(...e),L):lt(e,x)&&dt(e,P)?(...a)=>{const n=ns[Xt(e,3,-8)]??0,s=a[n];return a[n]=(t,...e)=>s(L,...e),t(...a)}:"isMergeable"==e?()=>!0:t)),_e(L)},cs=Da([["avg",[(t,e)=>ge(t)/e,(t,e,a)=>t+(e-t)/(a+1),(t,e,a)=>t+(t-e)/(a-1),(t,e,a,n)=>t+(e-a)/n]],["max",[t=>ye(t,(t,e)=>Lt(t,e),-1/0),(t,e)=>Lt(e,t),(t,e)=>e==t?void 0:t,(t,e,a)=>a==t?void 0:Lt(e,t)]],["min",[t=>ye(t,(t,e)=>_t(t,e),Ot),(t,e)=>_t(e,t),(t,e)=>e==t?void 0:t,(t,e,a)=>a==t?void 0:_t(e,t)]],["sum",[t=>ge(t),(t,e)=>t+e,(t,e)=>t-e,(t,e,a)=>t-a+e]]]),ls=(t,e,a,n,s,o=!1)=>{if(ya(a))return;const[r,i,c,l]=s;return o||=$t(t),ba(n,([a,n])=>{o||(t=$t(a)?i?.(t,n,e++):$t(n)?c?.(t,a,e--):l?.(t,n,a,e),o||=$t(t))}),o?r(ha(a),la(a)):t},ds=Ya(t=>{const e=Da(),[a,n,s]=tn(()=>f),[o,r,i,c,l,d,u,,w,g,y,h]=Ja(t,Yt,t=>isNaN(t)||$t(t)||Vt(t)||Ft(t)||t===S?void 0:1*t,a,n),f={setMetricDefinition:(t,a,s,o,r,i,c)=>{const l=zt(s)?[s,r,i,c]:Ma(cs,s)??Ma(cs,"sum");return w(t,a,(a,s,o,r,i,c)=>{const w=d(t),g=la(r);c||=$t(w),a();let y=ls(w,g,r,s,l,c);kt(y)||(y=void 0),y!=w&&(u(t,y),n(e,[t],y,w))},Qa(o,1)),f},delMetricDefinition:t=>(g(t),f),getStore:o,getMetricIds:r,forEachMetric:i,hasMetric:c,getTableId:l,getMetric:d,addMetricIdsListener:y,addMetricListener:(t,n)=>a(n,e,[t]),delListener:t=>(s(t),f),destroy:h,getListenerStats:()=>({metric:da(e)})};return _e(f)}),us=(t,e,...a)=>ye(t,(t,e)=>$t(t)?t:e(...a,t),e),ws=([t,e,a],n)=>[Ve(t,t=>$t(t)?t:Ve(t,t=>$t(t)?t:Ve(t,t=>$t(t)?t:n(t)))),Ve(e,t=>$t(t)?t:n(t)),a],gs=(t,e,a,...n)=>Jt(t)?e:Ut(us(t,a(e,ia),...n),t=>a(t,t=>Ea(()=>sa(t),t))),ys=(t,...e)=>re(t,t=>t(...e)),hs=Ya((t,e)=>{const a=t=>e=>(be(t,e),O),n=[],s=[],o=[],r=[],i=[],c=[],l=[],d=[],u=[],w=[],g=[],y=[],h=[],f=[],v=[n,s,o,r,i,c,l,d,u,w,g,y,h,f],b=a(n),m=a(s),S=a(o),T=a(r),C=a(i),p=a(c),E=a(l),I=a(d),R=a(u),L=a(w),_=a(g),N=a(y),A=a(h),D=a(f),O=_e({getStore:()=>t,addWillSetContentCallback:b,addWillSetTablesCallback:m,addWillSetTableCallback:S,addWillSetRowCallback:T,addWillSetCellCallback:C,addWillSetValuesCallback:p,addWillSetValueCallback:E,addWillDelTablesCallback:I,addWillDelTableCallback:R,addWillDelRowCallback:L,addWillDelCellCallback:_,addWillDelValuesCallback:N,addWillDelValueCallback:A,addWillApplyChangesCallback:D,destroy:()=>{e()&&(t._[4](),de(v,ve))}});return t._[4]((t,e)=>e?gs(n,t,([t,e],a)=>[He(t,a),Ve(e,a)]):us(n,t),t=>gs(s,t,He),(t,e)=>gs(o,e,Fe,t),(t,e,a)=>gs(r,a,Ve,t,e),(t,e,a,n)=>gs(i,n,(t,e)=>e(t),t,e,a),t=>gs(c,t,Ve),(t,e)=>gs(l,e,(t,e)=>e(t),t),()=>ys(d),t=>ys(u,t),(t,e)=>ys(w,t,e),(t,e,a)=>ys(g,t,e,a),()=>ys(y),t=>ys(h,t),(t,e)=>e?gs(f,t,ws):us(f,t),()=>!Jt(r)),O}),fs={Idle:0,Loading:1,Saving:2},vs={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},bs=Da(),ms=Da(),Ss=Da(),Ts=(t,e,a,n,s,o,r,i={},c=0,l=[])=>{let d,u,w,g,y,h=0,f=0,v=0,b=0,m=0,S=0,T=0,C=0,p=0;const E={},I=i.destroy;Va(bs,l,()=>0),Va(ms,l,()=>[]),xa(Ss,l,(Ma(Ss,l)??0)+1);const R=Da(),[L,_,N,A,D]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!a),([[t],[e]])=>!qe(t)||!qe(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!qe(t)||!qe(e),e.setContent]:pa(0))(r,t,c),[O,k,M]=tn(()=>Q),P=t=>{t!=h&&(h=t,k(R,void 0,h))},$=()=>{Ma(Ss,l)||Ma(bs,l)||!Jt(Ma(ms,l)??[])||(xa(bs,l),xa(ms,l),xa(Ss,l))},x=e=>{(L&&Bt(e?.[0])?1===e?.[2]?t.__[4]:t.__[3]:1===e?.[2]?t._[10]:t._[9])(e)},V=async()=>{X()&&t.__?.[0]?.()&&await G()},F=t=>Na(()=>u=t,()=>{u==t&&(u=void 0)}),H=async t=>(2!=h&&(await Na(async()=>{P(1),f++,await J(()=>Ia(async()=>{const a=await e();Bt(a)?x(a):$t(a)&&t?D(t):$t(a)||pa(1,a)},e=>{o?.(e),t&&D(t)}))},()=>P(0)),await V()),Q),U=async()=>{const t=T;T=0,t&&t==b&&!p&&(2==h?T=t:await H())},W=async t=>{const e=++b;let a=!0;if(await q(!0),e==b&&!p){const r=Ia(async()=>{const t=await n(async(t,n)=>{if(e==b&&!p)if(n||t){const e=a||2==h||!!S;m++,e&&S++,await Na(async()=>{P(1),f++,await(e?J(()=>x(n??t)):_a(()=>x(n??t),()=>P(0)))},()=>{e&&S--,--m||P(0)}),m||await V()}else 2==h?T=e:await H()});e!=b||p?$t(t)||await s(t):d=t},o);await F(r),e!=b||p||await Na(()=>H(t),()=>{a=!1})}return Q},q=async(t=!1)=>{T=0,t||b++;const e=u,a=d;return d=void 0,await F(Na(async()=>{await e},async()=>{$t(a)||await Ia(()=>s(a),o)})),Q},G=async t=>(1!=h&&await Na(()=>Na(async()=>{P(2),v++,await J(()=>Ia(()=>a(_,t),o))},()=>P(0)),U),Q),z=async()=>{const e=++C;return await B(!0),e!=C||p||(await G(),e!=C||p||(w=t.addDidFinishTransactionListener(()=>{if(e==C&&!p){const t=N();A(t)&&Ia(()=>G(t))}}))),Q},B=async(e=!1)=>{e||C++;const a=w;return w=void 0,$t(a)||t.delListener(a),Q},X=()=>!$t(w),j=async(t=!1)=>{const[e,a]=t?[B,q]:[q,B];return await Na(()=>e(),async()=>{await a()}),Q},J=async(...t)=>{let e,a=!1;const n=te(n=>Jt(t)?n():be(Ma(ms,l),...we(t,(s,r)=>{const i=r==jt(t)-1;return[async()=>{let t;y=te(e=>t=e),await Na(async()=>{try{await Ia(s,o)}catch(t){a||(a=!0,e=t)}i&&n()},()=>{y=void 0,t()})},i?n:void 0,E]})));if(await(async()=>{if(!Ma(bs,l)){xa(bs,l,1);const t=Ma(ms,l);let e=0;await Na(async()=>{for(;e<jt(t);){const a=t[e++];a[2]=void 0,await a[0]()}},()=>{ve(t,e),xa(bs,l,0),$()})}})(),await n,a)throw e;return Q},Q={load:H,startAutoLoad:W,stopAutoLoad:q,isAutoLoading:()=>!$t(d),save:G,startAutoSave:z,stopAutoSave:B,isAutoSaving:X,startAutoPersisting:async(t,e=!1)=>{const[a,n,s,o]=e?[z,W,B,q]:[W,z,q,B],r=a(t),i=e?C:b;await r;const c=n(t),l=e?b:C;try{await c}catch(t){throw l==(e?b:C)&&await Ra(o),i==(e?C:b)&&await Ra(s),t}return Q},stopAutoPersisting:j,getStatus:()=>h,addStatusListener:t=>O(t,R),delListener:e=>(M(e),t),schedule:J,getStore:()=>t,getStats:()=>({loads:f,saves:v}),...i,destroy:async()=>($t(g)&&(p=1,g=(async()=>{const t=Ma(ms,l),e=he(t,([,t,e])=>e!=E||(t?.(),!1)),a=y;ve(t),be(t,...e),await Na(()=>Na(()=>Na(j,()=>a),()=>I?.()),()=>{const t=(Ma(Ss,l)??1)-1;xa(Ss,l,t||void 0),$()})})()),await g,Q)};return _e(Q)},Cs="_",ps="_id",Es="SELECT",Is="WHERE",Rs="TABLE",Ls="INSERT",_s="DELETE",Ns="UPDATE",As="ALTER "+Rs,Ds="FROM",Os=_s+" "+Ds,ks=Es+"*"+Ds,Ms="pragma_",Ps="data_version",$s="schema_version",xs="pragma_table_",Vs="CREATE ",Fs=Vs+Rs,Hs="OR REPLACE ",Us="FUNCTION",Ws=/\$tableName/g,qs=(t,e)=>e?async(a,n)=>(e(a,n),await t(a,n)):t,Gs=t=>ue(we(wt(t,C),t=>`"${gt(t,/"/g,'""')}"`),C),zs=(...t)=>Gs(ue(t,"_")),Bs=(...t)=>ue(we(t,Gs),T),Xs=t=>"$"+t[0]++,js=()=>"?",Js=(t,e,a=[1])=>ue(we(t,()=>e(a)),T),Qs=(t,e=N)=>Is+`(${Ys(e,Gs(t))})`,Ys=(t,e)=>gt(t,Ws,e),Ks="ColumnName",Zs="store",to="json",eo=Zs+"TableName",ao=Zs+"Id"+Ks,no=Zs+Ks,so="autoLoadIntervalSeconds",oo="rowId"+Ks,ro="tableId",io="tableName",co="deleteEmptyColumns",lo="deleteEmptyTable",uo="condition",wo={mode:to,[so]:1},go={load:0,save:0,[io]:m+"_values"},yo=t=>Bt(t)?t:void 0,ho=t=>Vt(t)||Bt(t),fo=(t,e,a,n,s)=>{const o=Da();return Pe(t,(t,r)=>{const i=Xt(Ue(Ne(e,qt(t)?{[a]:t}:t)),0,We(e));xt(i[0])||n(r,i[0])||(s(r,i[0]),xa(o,r,i))}),o},vo=t=>{const e=(t=>Ne(wo,qt(t)?{[eo]:t}:t??{}))(t),a=e[so];if(e.mode==to){const t=e[eo]??m;return[1,a,[t,e[ao]??ps,e[no]??Zs],Xa(t)]}const{tables:{load:n={},save:s={}}={},values:o={}}=e,r=Ne(go,o),{load:i,save:c}=r,l=[ho(i),ho(c),r[io],yo(i),yo(c)],d=l[2],u=Xa(d),w=Xa(d),g=fo(n,{[ro]:null,[oo]:ps,[uo]:N},ro,t=>ga(w,t),t=>ja(u,t)),y=fo(s,{[io]:null,[oo]:ps,[co]:0,[lo]:0,[uo]:null},io,(t,e)=>ga(w,e),(t,e)=>ja(u,e));return Pa(y,(t,e)=>e[4]??=Ma(g,e[0])?.[2]??N),[0,a,[g,y,l],u]},bo=(t,e,a,n,s,o=mo,r,i,c)=>{const l=Da(),d=Da();let u=t;return[async()=>{va(l),va(d),de(await a(u,e),({tn:t,cn:e,uq:a})=>{ja(Va(l,t,Xa),e),a&&ja(Va(d,t,Xa),e)})},async(t,e,a,n)=>{const s=$t(n)?void 0:Xa(n);return((t,e)=>ga(Ma(l,t),e))(t,e)?ke(he(we(await u(ks+Gs(t)+Qs(t,a)),t=>{const a=t[e],n=i?Ve(Me(t,e),i):Me(t,e);return[a,$t(s)?n:ke(he(xe(n,(t,e)=>[e,t]),([t])=>(t=>$t(s)||ga(s,t))(t)))]}),t=>!$t(t[0])&&!qe(t[1]))):{}},async(t,e,a,i,c,w=!1,g=N,y)=>{const h=$t(y)?void 0:Xa(y),f=t=>$t(h)||ga(h,t),v=Xa();Pe(a??{},t=>de(he(Le(t??{}),f),t=>ja(v,t)));const b=ha(v);if($t(h)&&!w&&c&&g==N&&Jt(b)&&ga(l,t))return await u("DROP "+Rs+Gs(t)),xa(l,t),void xa(d,t);const S=Ma(l,t),C=Xa(he(ha(S),t=>t==e||f(t)));if(!Jt(b))if(ga(l,t)){if(await ee(we([e,...b],async e=>{ma(C,e)||(await u(As+Gs(t)+"ADD"+Gs(e)+n),ja(S,e))})),o==mo&&!ga(Ma(d,t),e)){const a=m+"_pk_"+un(Xe([t,e]));await u("CREATE UNIQUE INDEX IF NOT EXISTS"+Gs(a)+"ON"+Gs(t)+`(${Gs(e)})`),ja(Va(d,t,Xa),e)}}else await u(Fs+Gs(t)+`(${Gs(e)}${n} PRIMARY KEY${ue(we(b,t=>T+Gs(t)+n))});`),xa(l,t,Xa([e,...b])),xa(d,t,Xa([e]));if(await ee([...!w&&i?we(ha(C),async a=>{a!=e&&(await u(As+Gs(t)+"DROP"+Gs(a)),ma(S,a))}):[]]),w)$t(a)?$t(h)&&await u(Os+Gs(t)+Qs(t,g)):await ee(xe(a,async(a,n)=>{if($t(a))await u(Os+Gs(t)+Qs(t,g)+`AND(${Gs(e)}=${s([1])})`,[n]);else if(!Jt(b)){const i=he(Le(a),f);Jt(i)||await o(u,t,e,i,{[n]:we(i,t=>r?r(a[t]):a[t])},s,S)}}));else if(Jt(b))$t(h)&&ga(l,t)&&await u(Os+Gs(t)+Qs(t,g));else{const n=he(ha(Ma(l,t)),t=>t!=e&&f(t)),i=ke(),c=[];Pe(a??{},(t,e)=>{Oe(i,e,we(n,e=>r?r(t?.[e]):t?.[e])),be(c,e)}),await o(u,t,e,n,i,s,S),await u(Os+Gs(t)+Qs(t,g)+`AND${Gs(e)}NOT IN(${Js(c,s)})`,c)}},async e=>{if(c)return await c(async t=>{const a=u;return u=t,await Na(e,()=>{u=a})});await t("BEGIN");try{const a=await e();return await t("END"),a}catch(e){throw await Ia(()=>t("ROLLBACK")),e}}]},mo=async(t,e,a,n,s,o)=>{const r=[1];await t(Ls+" INTO"+Gs(e)+"("+Bs(a,...n)+")VALUES"+ue(xe(s,t=>"("+o(r)+","+Js(t,o,r)+")"),T)+"ON CONFLICT("+Gs(a)+`)DO ${Ns} SET`+ue(we(n,t=>Gs(t)+"=excluded."+Gs(t)),T),xe(s,(t,e)=>[e,...we(t,t=>t??null)]).flat())},So=(t,e,a,n,s,o,r,[i,c,l],d,u,w,g,y,h,f,v,b,m)=>{const[S,T,C,p]=bo(e,d,u,y,h,f,void 0,void 0,m);return Ts(t,()=>p(async()=>(await S(),Ye((await T(i,c))[Cs]?.[l]??"null"))),t=>p(async()=>{await S(),await C(i,c,{[Cs]:{[l]:Qe(t()??null)}},!0,!0)}),a,n,s,r,{[g]:()=>w,destroy:o},0,w)},To=(t,e,a,n,s,o,r,[i,c,[l,d,u,w,g]],y,h,f,v,b,m,S,T,C,p)=>{const[E,I,R,L]=bo(e,y,h,b,m,S,T,C,p),_=(t,e)=>ee($a(c,async([a,n,s,o,r],i)=>{e&&!Ae(t,i)||await R(a,n,t[i],s,o,e,r)})),N=(t,e,a)=>ke(1==a?he(xe(t,(t,e)=>[e,t]),([t])=>se(e,t)):he(we(e,e=>[e,t[e]]),([,t])=>!$t(t))),A=async(t,e)=>d?await R(u,ps,{[Cs]:$t(g)?t:N(t,g,e)},!0,!0,e,void 0,g):null;return Ts(t,()=>L(async()=>{await E();const t=await(async()=>ke(he(await ee($a(i,async([t,e,a],n)=>[t,await I(n,e,a)])),t=>!qe(t[1]))))(),e=await(async()=>l?(await I(u,ps,void 0,w))[Cs]:{})();return qe(t)&&$t(e)?void 0:[t,e]}),(t,e)=>L(async()=>{if(await E(),$t(e)){const[e,a]=t();await _(e),await A(a)}else await _(e[0],!0),await A(e[1],!0)}),a,n,s,r,{[v]:()=>f,destroy:o},0,f)},Co=/^([cd]:)(.+)/,po=/^[A-Za-z0-9_]+$/,Eo=Da(),Io=(t,e,a,n,s,o,r,i,c,l,d="getDb")=>{const u=qs(a,o),[w,,g,y]=vo(e);!w&&t.isMergeable()&&pa(0);const h=S+un(Qe(g)),f=m+"_"+h,v=l??a,b=async(t,e,a="",n="")=>{const s=zs(m,t,h);return await u(Vs+Hs+Us+s+`()RETURNS ${a}trigger AS $$ ${n}BEGIN ${e}END;$$ LANGUAGE plpgsql;`),s},T=async(t,e,a,n)=>(await u(Vs+t+"TRIGGER"+e+a+"EXECUTE "+Us+n+"()"),e),C=t=>`PERFORM pg_notify('${f}',${t});`,p=(t,e)=>w?N:2===e?p(t,0)+" OR "+p(t,1):Ys(Ma(g[0],t)?.[2]??N,0==e?"NEW":"OLD"),E=(t,e)=>ee(we([Ls,_s,Ns],(a,n)=>{const s=ue([m,"d",h,t,a],"_");return T(Hs,Qt(po,t)&&jt(s)<=63?Gs(s):zs(m,"d",h,a,S+un(t)),`AFTER ${a} ON${Gs(t)}FOR EACH ROW WHEN(${p(t,n)})`,e)})),I=async t=>{Jt(t)||await u(`DROP FUNCTION IF EXISTS${ue(t,",")}CASCADE`)},R=(t,e)=>{Ma(t,h)===e&&(xa(t,h),ya(t)&&Ma(Eo,v)===t&&xa(Eo,v))},L=async()=>{const t=Va(Eo,v,()=>Da()),e=Ma(t,h);if(e)return await e[1],e[0]?(e[0]++,e):(await Ia(()=>e[4]),await L());const a=[],n=[1,void 0,a];xa(t,h,n),n[1]=(async()=>{const t=await b("c",`FOR row IN SELECT object_identity FROM pg_event_trigger_ddl_commands()${Is} command_tag='${Fs}' LOOP ${C("'c:'||SPLIT_PART(row.object_identity,'.',2)")}END LOOP;`,"event_","DECLARE row record;");be(a,t),await T("EVENT ",zs(m,"c",h),`ON ddl_command_end WHEN TAG IN('${Fs}')`,t);const e=await b("d",C("'d:'||TG_TABLE_NAME")+"RETURN NULL;");be(a,e),n[3]=e,await ee(we(ha(y),async t=>(await u(Fs+` IF NOT EXISTS${Gs(t)}("_id"text PRIMARY KEY)`),await E(t,e))))})();try{await n[1]}catch(e){throw n[0]=0,n[4]=Na(()=>I(a),()=>R(t,n)),await Ia(()=>n[4]),e}return n},_=async t=>{if(0==--t[0]){const e=Ma(Eo,v);t[4]=Na(()=>I(t[2]),()=>R(e,t)),await t[4]}};return(w?So:To)(t,u,async t=>{const e=await L();try{return[await n(f,a=>{Ra(()=>Ut(ut(a,Co),async([,a,n])=>{ga(y,n)&&("c:"==a&&await E(n,e[3]),await t())}),r)}),e]}catch(t){throw await Ra(()=>_(e),r),t}},async([t,e])=>{await Na(()=>s(t),()=>_(e))},r,i,c,g,ha(y),async(t,e)=>await t(Es+` c.table_name tn,c.column_name cn,CASE WHEN tc.constraint_type IN('PRIMARY KEY','UNIQUE')AND(${Es} count(*) FROM information_schema.key_column_usage kcu2 ${Is} kcu2.constraint_schema=kcu.constraint_schema AND kcu2.constraint_name=kcu.constraint_name)=1 THEN 1 ELSE 0 END uq FROM information_schema.columns c LEFT JOIN information_schema.key_column_usage kcu ON kcu.table_schema=c.table_schema AND kcu.table_name=c.table_name AND kcu.column_name=c.column_name LEFT JOIN information_schema.table_constraints tc ON tc.constraint_schema=kcu.constraint_schema AND tc.constraint_name=kcu.constraint_name ${Is} c.table_schema='public'AND c.table_name IN(${Js(e,Xs)})`,e),l,d,"text",Xs,void 0,t=>Xe(t),t=>je(t))},Ro=(t,e,a,n,s,o,r,i,c,l,d="getDb",u,w)=>{let g,y,h;const f=qs(a,o),[v,b,m,T]=vo(e);return!v&&t.isMergeable()&&pa(0),(v?So:To)(t,f,t=>{let e,a,o=1,i=0,c=0;const l=async(e=!0)=>{const[{d:a,s:n,c:s}]=await f(Es+` ${Ps} d,${$s} s,TOTAL_CHANGES() c FROM ${Ms}${Ps} JOIN ${Ms}${$s}`);if(o&&(a!=g||n!=y||s!=h)){const r=e&&!c&&!Pt(g);g=a,y=n,h=s,r&&o&&await t()}},d=()=>{$t(e)||(Ct(e),e=void 0)},u=(n=!1)=>{if(a)return a;const s=Na(()=>Ra(async()=>{for(i?n&&await l():(await l(!1),i=1);o&&c;)c=0,await l(!1),o&&(await t(),await l())},r),()=>{a==s&&(a=void 0),o&&(c?u():o&&$t(e)&&(e=Tt(()=>u(!0),b)))});return a=s,s},w=n(t=>{o&&ga(T,t)&&(c=1,d(),ae().then(()=>o?void u():0))});return u().then(()=>async()=>{o=0,c=0,d(),await Na(async()=>await a,async()=>{g=y=h=null,await s(w)})})},t=>t(),r,i,c,m,ha(T),async(t,e)=>await t(Es+` t.name tn,c.name cn,c.pk OR EXISTS(${Es} 1 FROM ${Ms}index_list(t.name)i,${Ms}index_info(i.name)ii ${Is} i."unique"=1 AND ii.name=c.name AND(${Es} count(*) FROM ${Ms}index_info(i.name))=1)uq FROM ${xs}list()t,${xs}info(t.name)c ${Is} t.schema='main'AND t.type IN('table','view')AND t.name IN(${Js(e,js)})ORDER BY t.name,c.name`,e),l,d,S,js,u,t=>Vt(t)?1:Ft(t)?0:t,void 0,w)},Lo=t=>Ae(Object.prototype,t)||"prototype"==t||lt(t,"\0")?"\0"+t:t,_o=t=>lt(t,"\0")?Xt(t,1):t,No=(t,e)=>De(t,Lo(e)),Ao=(t,e,a)=>t[Lo(e)]=a,Do=(t,e)=>Me(t,Lo(e)),Oo=(t,e)=>{const a=No(t,e);return[a.t,a.v]},ko=(t,e=t=>t)=>{const a=ke();return Pe((t=>Re(t)?t:pa(1))(t),(t,n)=>Oe(a,_o(n),e(t))),a},Mo=(t,e)=>{const a=No(t,e);return Re(a?.t)&&Re(a?.v)?((t,e)=>{const[a,n]=Oo(t,e);return[ko(a,t=>ko(t,t=>ko(t))),ko(n)]})(t,e):void 0},Po=(t,e,a)=>($t(No(t,e))&&Ao(t,e,a()),No(t,e)),$o=(t,e,a,n)=>{const s=$t(e)?t:Po(t,e,()=>({}));let o;return Pe(a,(t,e)=>{n(s,e,t)&&(o=1)}),Pe(s,(t,e)=>{const n=_o(e);Ae(a,n)||(Me(s,e),o=1)}),!$t(e)&&qe(s)&&Do(t,e),o},xo=(t,e,a=m,n)=>(e.change(t=>Po(t,a,()=>({}))),Ts(t,async()=>Mo(e.doc(),a),async(t,n)=>e.change(e=>((t,e,a,n)=>{((t,e)=>{qe(No(t,e))&&Ao(t,e,{t:{},v:{}})})(t,e);const[s,o]=Oo(t,e);if(!Ut(n,([t,e])=>$e(t,(t,e)=>$t(t)?(Do(s,e),!0):Ut(No(s,e),e=>$e(t,(t,a)=>$t(t)?(Do(e,a),!0):Ut(No(e,a),e=>(Pe(t,(t,a)=>$t(t)?Do(e,a):Ao(e,a,t)),!0),()=>!1)),()=>!1))&&$e(e,(t,e)=>($t(t)?Do(o,e):Ao(o,e,t),!0)))){const[t,e]=a();$o(s,void 0,t,(t,e,a)=>$o(s,e,a,(t,e,a)=>$o(t,e,a,(t,e,a)=>{if(No(t,e)!==a)return Ao(t,e,a),1}))),$o(o,void 0,e,(t,e,a)=>{No(o,e)!==a&&Ao(o,e,a)})}})(e,a,t,n)),t=>Rt(e,at,({doc:e})=>{Ra(()=>Ut(Mo(e,a),t,()=>pa(1)),n)}),t=>t(),n,1,{getDocHandle:()=>e})),Vo=(t,e,a,n,s)=>Ro(t,a,async(t,a=[])=>{const n=e.prepare(t);return n.reader?n.all(...a):(n.run(...a),[])},()=>Kt,t=>t(),n,s,Kt,3,e),Fo=(t,e,a,n)=>Ts(t,async()=>Ye(a.getItem(e)),async t=>a.setItem(e,Qe(t())),t=>It(bt,st,s=>{s.storageArea===a&&s.key===e&&Ra(()=>t(Ye(s.newValue)),n)}),t=>t(),n,3,{getStorageName:()=>e}),Ho=(t,e,a)=>Fo(t,e,localStorage,a),Uo=(t,e,a)=>Fo(t,e,sessionStorage,a),Wo=(t,e,a)=>Ts(t,async()=>Ye(await(await e.getFile()).text()),async t=>{const a=await e.createWritable();let n=0;await Na(async()=>{await a.write(Qe(t())),n=1},async()=>{n?await a.close():await Ia(()=>a.abort())})},async t=>{const a=new FileSystemObserver(()=>t());return await a.observe(e),a},t=>t?.disconnect(),a,3,{getHandle:()=>e}),qo=/^\s*(SELECT|PRAGMA)/i,Go=(t,e,a,n,s)=>Ro(t,a,async(t,a=[])=>Qt(qo,t)?(await e.query(t,a)).values??[]:(await e.run(t,a,!1),[]),()=>Kt,t=>t(),n,s,Kt,3,e),zo=(t,e,a,n,s)=>Ro(t,a,async(t,a=[])=>await e.execO(t,a),t=>e.onUpdate((e,a,n)=>t(n)),t=>t(),n,s,Kt,1,e),Bo=(t,e,...a)=>t.exec(e,...a).toArray(),Xo=(t,e,a,n,s)=>"fragmented"==a?.mode?Qo(t,e,a?.storagePrefix??S,s):Ro(t,a,async(t,a=[])=>se(["BEGIN","END"],t)?[]:Bo(e,t,...a),()=>Kt,t=>t(),n,s,Kt,2,e,"getSqlStorage"),jo=()=>Vn(ke(),S,0),Jo=t=>Qt(/^[a-zA-Z_][a-zA-Z0-9_]*$/,t)?t:Gs(t),Qo=(t,e,a=S,n)=>{const s=Qt(/^[a-z0-9_]*$/,a)?a:`$tinybase$${(t=>ue(we(wt(t),t=>"$"+Xt((65536+t.charCodeAt(0)).toString(16),1))))(a)}$`,o=s+"tinybase_values",r=Jo(s+"tinybase_tables"),i=Jo(o),c=`INSERT INTO ${r} (type, table_id, row_id, cell_id, value_data, timestamp, hash) VALUES (?, ?, ?, ?, ?, ?, ?)`,l=`INSERT INTO ${i} (value_id, value_data, timestamp, hash) VALUES (?, ?, ?, ?)`,d=(t,e)=>Xe([t,e]);e.exec(`\n CREATE TABLE IF NOT EXISTS ${r} (\n type TEXT NOT NULL,\n table_id TEXT,\n row_id TEXT,\n cell_id TEXT,\n value_data TEXT NOT NULL,\n timestamp TEXT NOT NULL,\n hash INTEGER NOT NULL,\n PRIMARY KEY (type, table_id, row_id, cell_id)\n );\n \n CREATE TABLE IF NOT EXISTS ${i} (\n value_id TEXT,\n value_data TEXT NOT NULL,\n timestamp TEXT NOT NULL,\n hash INTEGER NOT NULL\n );\n `);const u=(t,e,a)=>xt(a)?e+" IS NULL":(be(t,a),e+" = ?"),w=(t,a,n,s,o,i)=>{((t,a,n)=>{const s=[rt];e.exec(`DELETE FROM ${r} WHERE type = ? AND `+u(s,"table_id",t)+" AND "+u(s,"row_id",a)+" AND "+u(s,"cell_id",n),...s)})(t,a,n),e.exec(c,rt,t,a,n,s,o,i)},g=(t,a,n,s)=>{(t=>{const a=[];e.exec(`DELETE FROM ${i} WHERE `+u(a,"value_id",t),...a)})(t),e.exec(l,t,a,n,s)};return Ts(t,async()=>{const t=jo(),a=jo(),n=Xa(),s=Bo(e,"SELECT * FROM "+r);return de(s,e=>{const a=Pt(e.table_id)?null:St(e.table_id),s=Pt(e.row_id)?null:St(e.row_id),o=Pt(e.cell_id)?null:St(e.cell_id),r=St(e.value_data),i=St(e.timestamp),c=mt(e.hash),[l]=Ye(r);if(!xt(a)&&!xt(s)&&xt(o)&&Re(l)){const e=ze(t[0],a,jo);Oe(e[0],s,[l,i,c]),ja(n,d(a,s))}}),de(s,e=>{const a=St(e.type),s=Pt(e.table_id)?null:St(e.table_id),o=Pt(e.row_id)?null:St(e.row_id),r=Pt(e.cell_id)?null:St(e.cell_id),i=St(e.value_data),c=St(e.timestamp),l=mt(e.hash),[u]=Ye(i);if(a===rt)if(xt(s)||xt(o)||xt(r)){if(xt(s)||xt(o))if(xt(s))Wn(t,c,l);else{const e=ze(t[0],s,jo);Wn(e,c,l)}else if(!Re(u)){const e=ze(t[0],s,jo),a=ze(e[0],o,jo);Wn(a,c,l)}}else if(!ga(n,d(s,o))){const e=ze(t[0],s,jo),a=ze(e[0],o,jo);Oe(a[0],r,[u,c,l])}}),de(Bo(e,"SELECT * FROM "+i),t=>{const e=Pt(t.value_id)?null:St(t.value_id),n=St(t.value_data),s=St(t.timestamp),o=mt(t.hash),[r]=Ye(n);xt(e)?Wn(a,s,o):Oe(a[0],e,[r,s,o])}),[t,a]},async(t,[[a,n,s],[o,i,c]]=t())=>{const[l]=t()[0];w(null,null,null,Qe([0]),n,s),Pe(a,([t,a,n],s)=>{w(s,null,null,Qe([0]),a,n),Pe(t,([t,a,n],o)=>{const i=l[s]?.[0]?.[o]?.[0]??t;((t,a)=>{e.exec(`DELETE FROM ${r} WHERE type = ? AND table_id = ? AND row_id = ? AND cell_id IS NOT NULL`,rt,t,a)})(s,o),w(s,o,null,Qe([i]),a,n)})}),g(null,Qe([0]),i,c),Pe(o,(t,e)=>{g(e,Qe([t[0]]),t[1],t[2])})},Kt,Kt,n,2,{getSqlStorage:()=>e})},Yo=()=>Vn(ke(),S,0),Ko=(t,e,a=S,n)=>{const s=(t,...e)=>a+t+Xt(Xe(e),1,-1);return Ts(t,async()=>{const t=Yo(),n=Yo();return Pa(await e.list({prefix:a}),(e,[s,o,r])=>Ut((t=>{if(lt(t,a)){const e=Xt(t,jt(a),jt(a)+1);if(e==rt||e==it){const n=Ea(()=>je("["+Xt(t,jt(a)+1)+"]"));if(Bt(n)&&jt(n)<=(e==rt?3:1)&&re(n,qt))return[e,...n]}}})(e),([e,...a])=>e==rt?Ut(a[0],e=>{const n=ze(t[0],e,Yo);Ut(a[1],t=>{const e=ze(n[0],t,Yo);Ut(a[2],t=>Oe(e[0],t,[s,o,r]),()=>Wn(e,o,r))},()=>Wn(n,o,r))},()=>Wn(t,o,r)):e==it?Ut(a[0],t=>Oe(n[0],t,[s,o,r]),()=>Wn(n,o,r)):0)),qe(t[0])&&qe(n[0])?void 0:[t,n]},async(t,[[a,n,o],[r,i,c]]=t())=>{const l=Da();xa(l,s(rt),[0,n,o]),Pe(a,([t,e,a],n)=>{xa(l,s(rt,n),[0,e,a]),Pe(t,([t,e,a],o)=>{xa(l,s(rt,n,o),[0,e,a]),Pe(t,(t,e)=>xa(l,s(rt,n,o,e),t))})}),xa(l,s(it),[0,i,c]),Pe(r,(t,e)=>xa(l,s(it,e),t));const d=$a(l,(t,e)=>[e,t]);await e.transaction(async t=>{for(let e=0;e<jt(d);e+=128)await t.put(ke(Xt(d,e,e+128)))})},Kt,Kt,n,2,{getStorage:()=>e})},Zo=(t,e,a,n,s)=>Ro(t,a,async(t,a=[])=>await e.db.raw({sql:t,args:a}),t=>e.notifier.subscribeToDataChanges(a=>de(e.notifier.alias(a),({tablename:e})=>t(e))),t=>t(),n,s,Kt,1,e,"getElectricClient"),tr=(e,a,n,s,o)=>Ro(e,n,async(t,e=[])=>await a.getAllAsync(t,e),e=>t(({tableName:t})=>e(t)),t=>t.remove(),s,o,Kt,3,a),er=(t,f,v)=>{let b;return Ts(t,async()=>Ye(await l(f,M)),async t=>{const e=await Ia(()=>d(f)),a=e?.isSymbolicLink()?await Ia(()=>u(f))??y(h(f),await o(f)):f,n=(await Ia(()=>w(a)))?.mode,s=a+"."+ln()+".tmp",l=Qe(t()),v=b;b=l,await Na(async()=>{try{await r(s,l,M),await Ut(n,t=>i(s,4095&t)),await c(s,a)}catch(t){throw b=v,t}},()=>Ia(()=>g(s)))},t=>{a(f)||n(f,S,M);const e=()=>(async()=>await Ia(async()=>{const e=await l(f,M);e!=b&&(b=e,t())},()=>{null!==b&&(b=null,t())}))();return s(f,{interval:50},e),e},t=>e(f,t),v,3,{getFilePath:()=>f})},ar=[rt,it],nr=["m"],sr=[...ar,"m"],or={keyPath:"k"},rr=async(t,e)=>{const a=xe(e,(e,a)=>ir(t,"put",{k:a,v:e}));de(await ir(t,"getAllKeys"),n=>Ae(e,n)?0:be(a,ir(t,"delete",n))),await ee(a)},ir=async(t,e,a)=>te((n,s)=>{const o=t[e](a);o.onsuccess=()=>n(o.result),o.onerror=()=>s(Ca(11,e))}),cr=(t,e,a=1,n)=>{const s=async(t,a,n=[],s=0,o="readonly")=>te((r,i)=>{const c=(bt?bt.indexedDB:indexedDB).open(e,s?3:void 0);let l=0;c.onupgradeneeded=()=>s&&de(sr,t=>La(()=>c.result.createObjectStore(t,or))),c.onblocked=()=>{l=1,i(Ca(12))},c.onsuccess=()=>l?c.result.close():Ia(async()=>{c.result.onversionchange=()=>c.result.close();const e=c.result.transaction(t,o),s=te((t,a)=>{e.oncomplete=()=>t(),e.onerror=e.onabort=()=>a(Ca(11))}),[i]=await ee([ee(we(t,(t,s)=>a(e.objectStore(t),n[s]))),s]);c.result.close(),r(i)},t=>{c.result.close(),i(t)}),c.onerror=()=>i(Ca(12))}),o=async t=>ke(we(await ir(t,"getAll"),({k:t,v:e})=>[t,e])),r=async()=>{if(!t.isMergeable())return await s(ar,o);const[e]=await s(nr,o);return Ae(e,rt)?[e[rt],e[it]]:void 0};return Ts(t,r,async e=>{const a=e();await(t.isMergeable()?s(nr,(t,e)=>rr(t,e),[{[rt]:a[0],[it]:a[1]}],1,"readwrite"):s(ar,(t,e)=>rr(t,e),a,1,"readwrite"))},t=>r().then(e=>{let s,o=1,i=Qe(e);const c=Tt(()=>{if(o&&!s){const e=Na(()=>Ra(async()=>{const e=await r();if(o){const a=Qe(e);a!=i&&(i=a,await t(e))}},n),()=>{s==e&&(s=void 0)});s=e}},a);return async()=>{o=0,Ct(c),await s}}),async t=>await t(),n,3,{getDbName:()=>e})},lr=(t,e,a,n,s)=>Ro(t,a,async(t,a=[])=>(await e.execute({sql:t,args:a})).rows,()=>Kt,t=>t(),n,s,Kt,1,e,"getClient",void 0,"file"==e.protocol?void 0:async t=>{n?.("BEGIN");const a=await e.transaction("write");return await Na(async()=>{try{const e=await t(async(t,e=[])=>(n?.(t,e),(await a.execute({sql:t,args:e})).rows));return await a.commit(),n?.("END"),e}catch(t){throw await Ia(()=>a.rollback()),n?.("ROLLBACK"),t}},()=>a.close())}),dr="s",ur="/store",wr=(t,e,a)=>t+e+(qt(a)?a:Qe(a)),gr=(t,e,a)=>{const n=jt(t);return qt(e)&&jt(e)>n&<(e,t)?a?Ea(()=>[e[n],Ye(Xt(e,n+1))]):[e[n],St(Xt(e,n+1))]:void 0},yr=(t,e,a,n)=>{const{host:s,room:o}=e.partySocketOptions,{storeProtocol:r="https",storePath:i=ur,messagePrefix:c=S}={...qt(a)?{storeProtocol:a}:a},l=r+"://"+s+"/parties/"+e.name+"/"+o+i,d=async t=>{const e=await fetch(l,{...t?{method:"PUT",body:Je(t)}:{},mode:"cors",cache:"no-store"});if(!e.ok)throw e;const a=await e.text();return Jt(a)?void 0:je(a)};return Ts(t,d,async(t,a)=>{a?e.send(wr(c,dr,a)):await d(t())},t=>It(e,tt,e=>{Ia(async()=>await Ut(gr(c,e.data,1),async([e,a])=>{e==dr&&await t(void 0,a)}),n)}),t=>t(),n,1,{getConnection:()=>e})},hr="hasStore",fr=ke(we(["Origin","Methods","Headers"],t=>["Access-Control-Allow-"+t,"*"])),vr=(t,e,a)=>Re(t)&&$e(t,t=>$t(t)?a:e?vr(t,e-1,a):ta(t)),br=(t,e)=>Bt(t)&&jt(t)==(e?3:2)&&(!e||1==t[2])&&vr(t[0],2,e)&&vr(t[1],0,e),mr=async(t,e=S)=>!!await t.get(e+hr),Sr=async(t,e=S)=>{const a=ke(),n=ke();return Pa(await t.list({prefix:e}),(t,s)=>Ut(gr(e,t),([t,e])=>{t==rt?Ut(Ea(()=>je("["+e+"]")),t=>{if(Bt(t)&&3==jt(t)&&re(t,qt)){const[e,n,o]=t;Oe(ze(ze(a,e,ke),n,ke),o,s)}}):t==it&&Oe(n,e,s)})),[a,n]},Tr=async(t,e,a)=>t.party.broadcast(wr(t.config.messagePrefix??S,dr,e),a),Cr=async(t,e,a,n)=>{const s=t.party.storage,o=t.config.storagePrefix??S,r=ke(),i=ke(),c=ke(),l=[],d=[],u=t=>ze(r,t,ke),w=(t,e)=>ze(u(t),e,ke);return await ee(xe(e[0],async(e,i)=>{$t(e)?!a&&await t.canDelTable(i,n)&&(Se(d,pr(o,rt,i)),Oe(r,i,void 0)):await t.canSetTable(i,a,n)&&await ee(xe(e,async(e,r)=>{$t(e)?!a&&await t.canDelRow(i,r,n)&&(be(d,pr(o,rt,i,r)),Oe(u(i),r,void 0)):await t.canSetRow(i,r,a,n)&&await ee(xe(e,async(e,d)=>{const u=[i,r,d],g=pr(o,rt,...u);$t(e)?!a&&await t.canDelCell(...u,n)&&(be(l,g),Oe(w(i,r),d,void 0)):await t.canSetCell(...u,e,a,n,await s.get(g))&&(Oe(c,g,e),Oe(w(i,r),d,e))}))}))})),await ee(xe(e[1],async(e,r)=>{const d=o+it+r;$t(e)?!a&&await t.canDelValue(r,n)&&(be(l,d),Oe(i,r,void 0)):await t.canSetValue(r,e,a,n,await s.get(d))&&(Oe(c,d,e),Oe(i,r,e))})),a&&(qe(e[0])&&qe(e[1])||!qe(r)||!qe(i))&&Oe(c,o+hr,1),await s.transaction(async t=>{if(a&&await t.get(o+hr))return!1;const e=Xt(l,0);return Jt(d)||Pa(await t.list({prefix:o}),t=>Ut(fe(d,e=>lt(t,e)),()=>be(e,t))),await t.delete(e),qe(c)||await t.put(c),!0})?[r,i,1]:void 0},pr=(t,e,...a)=>wr(t,e,Xt(Je(a),1,-1)),Er=async(t,e,a=null)=>new Response(a,{status:e,headers:t.config.responseHeaders});class Ir{constructor(t){this.party=t,this.config.storePath??=ur,this.config.messagePrefix??=S,this.config.storagePrefix??=S,this.config.responseHeaders??=fr}party;config={};saveQueue=te(t=>t());async runExclusive(t){let e;const a=this.saveQueue;return this.saveQueue=te(t=>e=t),await a,await Na(t,e)}async onRequest(t){const{party:{storage:e},config:{storePath:a=ur,storagePrefix:n}}=this;if(dt(new URL(t.url).pathname,a)){const a=await t.text();if("PUT"==t.method){const s=Ea(()=>je(a));return br(s,!1)?await this.runExclusive(async()=>await mr(e,n)?Er(this,205):Er(this,await Cr(this,s,!0,t)?201:205)):Er(this,400)}const s=await mr(e,n);return Er(this,200,s?Je(await Sr(e,n)):S)}return Er(this,404)}async onMessage(t,e){const{config:{messagePrefix:a=S,storagePrefix:n}}=this;await Ut(gr(a,t,1),async([t,a])=>t==dr&&br(a,!0)?await this.runExclusive(async()=>{if(await mr(this.party.storage,n)){const t=await Cr(this,a,!1,e);!t||qe(t[0])&&qe(t[1])||await Tr(this,t,[e.id])}}):0)}async canSetTable(t,e,a){return!0}async canDelTable(t,e){return!0}async canSetRow(t,e,a,n){return!0}async canDelRow(t,e,a){return!0}async canSetCell(t,e,a,n,s,o,r){return!0}async canDelCell(t,e,a,n){return!0}async canSetValue(t,e,a,n,s){return!0}async canDelValue(t,e){return!0}}const Rr=t=>!$t(t?.idleCount),Lr=async(t,e)=>{if(Rr(t)){const a=await t.connect();return a.on("error",e??Kt),[a,t=>a.release(t)]}return[t,Kt]},_r=async(t,e,a,n,s)=>{const[o,r]=await Lr(e,s),i=(()=>{let t=ae();return e=>t=t.then(e,e)})();try{return Io(t,a,(t,e=[])=>i(async()=>(await o.query(t,e)).rows),async(t,a)=>{const n=e=>e.channel==t?a(e.payload):0,o=Gs(t),[r,i]=await Lr(e,s);return r.on("notification",n),await r.query("LISTEN "+o),async()=>{r.off("notification",n),Rr(e)?i(!0):await r.query("UNLISTEN "+o)}},t=>Ia(t,s),n,s,r,3,e,"getPg")}catch(t){throw r(),t}},Nr=async(t,e,a,n,s)=>Io(t,a,async(t,a=[])=>(await e.query(t,a)).rows,(t,a)=>e.listen(t,a),t=>Ia(t,s),n,s,Kt,3,e,"getPglite"),Ar=async(t,e,a,n,s)=>{const o=await(e.reserve?.());try{return Io(t,a,o?.unsafe,async(t,a)=>e.listen(t,a),t=>Ia(t.unlisten,s),n,s,()=>o?.release?.(),3,e,"getSql")}catch(t){throw await(o?.release?.()),t}},Dr=(t,e,a,n,s)=>{let o;return Ro(t,a,async(t,a=[])=>e.execute(t,a).then(t=>t.rows?._array??[]),t=>{const a=new AbortController,n=e.onChange({signal:a.signal});return Ra(async()=>{for await(const t of n)o&&de(t.changedTables,o)},s),o=t,a},t=>{o=void 0,t.abort()},n,s,Kt,1,e,"getPowerSync",Or)},Or=async(t,e,a,n,s,o)=>{const r=[1],i=ue(we(n,t=>Gs(t)+"="+o(r)),T),c=o(r);for(const[r,l]of xe(s,(t,e)=>[e,t])){const s=we(l,t=>t??null);if(Jt(await t(Ns+Gs(e)+" SET"+i+" "+Is+Gs(a)+"="+c+" RETURNING"+Gs(a),[...s,r]))){const i=[1];await t(Ls+" INTO"+Gs(e)+"("+Bs(a,...n)+")VALUES("+Js([r,...l],o,i)+")",[r,...s])}}},kr=(t,e,a=st,n)=>Ts(t,async()=>{const t=e.getString(a);return $t(t)?void 0:Ye(t)},async t=>{const n=t();$t(n)||e.set(a,Qe(n))},t=>e.addOnValueChangedListener(s=>{s===a&&Ia(async()=>{const n=e.getString(a);$t(n)||await t(Ye(n))},t=>Ea(()=>n?.(t)))}),t=>{t.remove()},n,3,{getStorageName:()=>a}),Mr=(t,e,a,n,s)=>Ro(t,a,async(t,a=[])=>(await e.executeSql(t,a))[0].rows.raw(),Kt,Kt,n,s,Kt,3,e),Pr=t=>t.headers.get("ETag")??S,$r=t=>t==S?void 0:{"If-None-Match":t},xr=(t,e)=>{if(!(t.ok||e&&304==t.status))throw t},Vr=(t,e,a,n=5,s)=>{let o,r=S;return Ts(t,async()=>{const t=await fetch(e,{headers:$r(r)}),a=304==t.status&&!$t(o);xr(t,a?1:void 0);const n=a?o:await t.text(),s=je(n);return a||(o=n,r=Pr(t)),s},async t=>{const e=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:Je(t())});await Na(async()=>xr(e),()=>e.body?.cancel())},t=>{let a,o,i=!1;return[Tt(()=>{!i&&$t(a)&&(o=new AbortController,a=Na(()=>Ia(async()=>{const a=await fetch(e,{method:"HEAD",headers:$r(r),signal:o?.signal});xr(a,1),i||304==a.status||Pr(a)==r||await t()},t=>i?0:Ea(()=>s?.(t))),()=>{a=void 0,o=void 0}))},n),async()=>{i=!0,o?.abort(),await a}]},async([t,e])=>{const a=e();Ct(t),await a},s,1,{getUrls:()=>[e,a]})},Fr=(t,e,a,n,s)=>Ro(t,a,async(t,a=[])=>e.query(t).all(...a),()=>Kt,t=>t(),n,s,Kt,3,e),Hr=(t,e,a,n,s)=>Ro(t,a,async(t,a=[])=>e.prepare(t).all(...a),()=>Kt,t=>t(),n,s,Kt,3,e),Ur=(t,e,a,n,s,o)=>Ro(t,n,async(t,e=[])=>we(a.exec(t,{bind:e,rowMode:"object",returnValue:"resultRows"}),t=>({...t})),t=>e.capi.sqlite3_update_hook(a,(e,a,n,s)=>t(s),0),()=>e.capi.sqlite3_update_hook(a,Kt,0),s,o,Kt,3,a),Wr=(t,e,a,n,s)=>Ro(t,a,async(t,a=[])=>await te((n,s)=>e.all(t,a,(t,e)=>t?s(t):n(e))),t=>Rt(e,at,(e,a,n)=>t(n)),t=>t(),n,s,Kt,3,e),qr=(t,e,a,n)=>{const s=qt(a)?{storeTableName:a}:a??{},o=s.storeTableName??m,r=s.storeIdColumnName??ps,i=s.storeColumnName??"store",{autoLoadIntervalSeconds:c}=s;return Ts(t,async()=>{const{data:t,error:a}=await e.from(o).select(i).eq(r,Cs).maybeSingle();if(a)throw a;return Ye(t?.[i]??"null")},async t=>{const{error:a}=await e.from(o).upsert({[r]:Cs,[i]:Qe(t()??null)},{onConflict:r});if(a)throw a},t=>[e.channel(m+"_"+o+"_"+ln()).on("postgres_changes",{event:"*",schema:"public",table:o},()=>{t()}).subscribe((t,e)=>e?n?.(e):0),$t(c)?void 0:Tt(()=>{t()},c)],async([t,a])=>{Ct(a),await e.removeChannel(t)},n,3,{getSupabase:()=>e})},Gr="delete",zr=t=>t instanceof f?t:pa(1),Br=t=>[zr(t.get(rt)),zr(t.get(it))],Xr=(t,e)=>{const a=ke();return zr(t).forEach((t,n)=>Oe(a,n,e?e(t):t)),a},jr=t=>Xr(t,t=>Xr(t,t=>Xr(t))),Jr=t=>{const[e,a]=Br(t);return[jr(e),Xr(a)]},Qr=(t,e,a,n)=>{const s=$t(e)?t:t.get(e)??t.set(e,new f);let o;return Pe(a,(t,e)=>{n(s,e,t)&&(o=1)}),s.forEach((t,e)=>{Ae(a,e)||(s.delete(e),o=1)}),$t(e)||s.size||t.delete(e),o},Yr=(t,e,a=m,n)=>{const s=e.getMap(a);return Ts(t,async()=>s.size?Jr(s):void 0,async(t,a)=>e.transact(()=>((t,e,a)=>{t.size||(t.set(rt,new f),t.set(it,new f));const[n,s]=Br(t);if(!Ut(a,([t,e])=>$e(t,(t,e)=>$t(t)?(n.delete(e),!0):Ut(n.get(e),e=>$e(t,(t,a)=>$t(t)?(e.delete(a),!0):Ut(e.get(a),e=>(Pe(t,(t,a)=>$t(t)?e.delete(a):e.set(a,t)),!0),()=>!1)),()=>!1))&&$e(e,(t,e)=>($t(t)?s.delete(e):s.set(e,t),!0)))){const[t,a]=e();Qr(n,void 0,t,(t,e,a)=>Qr(n,e,a,(t,e,a)=>Qr(t,e,a,(t,e,a)=>{if(t.get(e)!==a)return t.set(e,a),1}))),Qr(s,void 0,a,(t,e,a)=>{s.get(e)!==a&&s.set(e,a)})}})(s,t,a)),t=>{const e=e=>{Ra(()=>t(void 0,((t,e)=>{if(1==jt(e)&&Jt(e[0].path))return[...Jr(t),1];const[a,n]=Br(t),s=ke(),o=ke();return de(e,({path:t,changes:{keys:e}})=>t[0]==rt?Ut(t[1],n=>{const o=ze(s,n,ke),r=zr(a.get(n));Ut(t[2],t=>{const a=ze(o,t,ke),n=zr(r.get(t));Pa(e,(t,{action:e})=>Oe(a,t,e==Gr?void 0:n.get(t)))},()=>Pa(e,(t,{action:e})=>Oe(o,t,e==Gr?void 0:Xr(r.get(t)))))},()=>Pa(e,(t,{action:e})=>Oe(s,t,e==Gr?void 0:Xr(a.get(t),t=>Xr(t))))):Pa(e,(t,{action:e})=>Oe(o,t,e==Gr?void 0:n.get(t)))),[s,o,1]})(s,e)),n)};return s.observeDeep(e),e},t=>{s.unobserveDeep(t)},n,1,{getYDoc:()=>e})},Kr="_",Zr=Ya(t=>{const e=t._[0],a=e(),n=e(),s=Da(),o=Da(),r=Xa(),i=Da(),c=Da(),l={table:0,tableCellIds:0,rowCount:0,rowIds:0,sortedRowIds:0,row:0,cellIds:0,cell:0},d=Da(),u=Da(),w=Da(),g=Da(),y=Da(),h=Da(),{_:[,f,v],delListener:b}=n,[m,T,C,p,E,I,R,L,,_,N,A]=Ja(t,()=>[],Yt,f,v),D=t=>Va(o,t,e),O=(t,e,...a)=>de(a,a=>ja(Va(e,t,Xa),a)),k=t=>Pa(t,(t,e)=>ba(e,e=>t.delListener(e))),M=(t,e,a,...n)=>{const s=Va(e,t,Xa);return de(n,e=>{ja(s,e),a&&t.callListener(e)}),n},V=(t,e,a)=>Ut(Ma(e,t),n=>{t.delListener(a),ma(n,a),ya(n)&&xa(e,t)}),F=t=>Ut(Ma(g,t),e=>{Pa(e,(t,e)=>Pa(e,(e,a)=>t.delListener(a))),xa(g,t)}),U=(t,e=Da())=>{const a=Va(w,t,Da);Pa(a,(t,n)=>{Pa(n,(a,s)=>ga(Ma(e,t),a)?0:(t.delListener(s),xa(n,a))),ya(n)&&xa(a,t)}),Pa(e,(e,n)=>{const s=Va(a,e,Da);ba(n,a=>Va(s,a,()=>e.addTableCellIdsListener(a,()=>La(()=>Y(t),n=>{throw((t,e,a)=>{const n=Va(Va(g,t,Da),e,Da);Va(n,a,()=>e.addTableListener(a,()=>Y(t)))})(t,e,a),n}))))}),ya(a)&&xa(w,t)},W=()=>{Pa(s,t=>p(t)?0:xa(s,t)),Pa(o,(t,e)=>p(t)||((t,e)=>!(fa(i,([,t])=>fa(t,([t])=>t!==e))&&fa(h,e=>!ga(e,t))&&re([d,u],t=>fa(t,t=>!ga(t,e)))))(t,e)?0:xa(o,t))},J=(t,e,a)=>{O(t,a,t.addWillFinishTransactionListener(e.startTransaction)),O(t,a,t.addDidFinishTransactionListener(()=>e.finishTransaction()))},Q=(t,e)=>(qe(e)?a.delRow:a.setRow)(Kr,t,{...e}),Y=(a,n)=>{const o=[Da(),Da(),void 0,Da(),Xa(),Da()];let r=!1;return La(()=>((a,n,s,o)=>D(a).transaction(()=>Ut(((t,e)=>$t(e)?I(t):[e[1],S,e[2]])(a,s),([r,,i])=>{const[c,l]=n,d=s?.[0]??E(a),u=i?D(d):t,w=D(a),g=s?.[3]??tt(a),h=n[4];i&&ja(h,d);const f=[];let v=!1,b=0;const m=[[void 0,[d,void 0,void 0,[],Da(),u]]],T=[],C=[],p=[];r({select:(t,e,a)=>{const n=Vt(t)?e:t,s=Vt(t)?a:e,o=zt(t)?[0,b+S,t]:$t(s)?[0,t,e=>e(t)]:[0,s,e=>Vt(t)?e(!0,n,s):e(n,s)];return b++,be(f,o),{as:t=>o[1]=t}},selectAll:(t,e,a)=>{v=!0;const n=Vt(t)?e:t,s=Vt(t)?a:e;be(f,[1,n,zt(s)?s:t=>(s??S)+t,zt(s)||!$t(s)&&s!==S?1:0])},join:(e,a,n,s)=>{const o=Vt(e)?a:e,[r,i]=Vt(e)?$t(s)||zt(n)?[void 0,n]:[n,s]:$t(n)||zt(a)?[void 0,a]:[a,n],c=Vt(e),l=c?D(o):t;c&&ja(h,o);const d=[o,[o,r,zt(i)?i:t=>t(i),[],Da(),l]];return be(m,d),{as:t=>d[0]=t}},where:(t,e,a,n)=>be(T,zt(t)?t:Vt(t)?t=>t(!0,e,a)===n:$t(a)?a=>a(t)===e:n=>n(t,e)===a),group:(t,e,a,n,s)=>{const o=[t,[t,zt(e)?[e,a,n,s]:Ma(cs,e)??[(t,e)=>e]]];return be(C,o),{as:t=>o[0]=t}},having:(t,e)=>be(p,zt(t)?t:a=>a(t)===e),param:t=>De(g,t)});const I=Da(m);Pa(I,(t,[,e])=>Ut(Ma(I,e),({3:e})=>$t(t)?0:be(e,t)));const R=t=>$t(t),L=t=>Ma(I,R(t)?void 0:t),_=n[5];if(de(f,([e,a,,n=0])=>e?Ut(L(a),([e,,,,,a])=>a===t?0:xa(_,e,Ma(_,e)||n?1:0)):0),((t,e)=>{const a=(n,s,o=Xa())=>n===s||!ga(o,n)&&(ja(o,n),!fa((a=>a===t?e:Ma(y,a))(n),(t,e)=>!a(e,s,o))),n=(t,e)=>!fa(e,(e,n)=>!e||!a(n,t));!n(t,e)&&fa(y,(e,a)=>a===t||!n(a,e))||pa(16)})(a,_),w.delTable(a),Jt(f))return o?.(),et;const N=Da(C),A=!ya(N)||!Jt(p),k=[],P=n[3];de(f,([t,e,a])=>{t?A&&Ut(L(e),([t,,,,,e])=>{ja(Va(P,e,Xa),t),de(le(e.getTableCellIds(t)),t=>be(k,[a(t),Yt]))}):be(k,[e,a])});const $=Da(k);if(A&&ya($))return o?.(),et;const x=A?n[2]=e():w;if(A){const t=Da();Pa(N,(e,[a,n])=>ja(Va(t,a,Xa),[e,n]));const e=Xa();Pa($,a=>ga(t,a)?0:ja(e,a));const n=Da(),s=t=>$t(t)?void 0:sa(t),o=(e,n,s,o)=>Ut(e,([r,i,c,l])=>{Pa(n,(e,[a])=>{const n=Va(r,e,Da),i=Ma(n,s),c=o?void 0:a;if(i!==c){const a=Xa([[i,c]]),o=la(n);xa(n,s,c),ba(Ma(t,e),([t,e])=>{const s=ls(l[t],o,n,a,e);Oe(l,t,$t(Ze(s))?void 0:s)})}}),ya(i)||!re(p,t=>t(t=>l[t]))?w.delRow(a,c):$t(c)?e[2]=w.addRow(a,{...l}):w.setRow(a,c,{...l})});O(x,c,x.addRowListener(a,null,(r,i,c,l)=>{const d=[],u=[],w=Da(),g=x.hasRow(a,c);let y=!g;ba(e,t=>{const[e,n,o]=l(a,c,t);be(d,s(n)),be(u,s(o)),y||=e}),Pa(t,t=>{const[e,,n]=l(a,c,t);(y||e)&&xa(w,t,[n])}),y&&o(Ba(n,d,void 0,([,t])=>(ma(t,c),ya(t))),w,c,1),g&&o(Ba(n,u,()=>{const t=ke();return ba(e,e=>Oe(t,e,x.getCell(a,c,e))),[Da(),Xa(),void 0,t]},([,t])=>{ja(t,c)}),w,c)}))}const F=(t,e,n,s,o)=>{const r=t=>e.getCell(n,s,t);de(o,e=>{const[a,,n,s,o,i]=Ma(I,e),c=n?.(r,t),d=Ma(o,t),u=d?.[0];c!=u&&(Ut(d,([,t,e])=>V(t,l,e)),xa(o,t,$t(c)?void 0:[c,i,...M(i,l,1,i.addRowListener(a,c,()=>F(t,i,a,c,s)))]))}),(t=>{const e=(e,a,n)=>{const s=Vt(e)?a:e,o=Vt(e)?n:a;if($t(o))return u.getCell(d,t,e);if(s===d&&!Vt(e))return u.getCell(d,t,o);const r=Ma(I,s);return $t(r)?void 0:r[5].getCell(r[0],Ma(r[4],t)?.[0],o)};x.transaction(()=>{re(T,t=>t(e))?v?(()=>{const n=ke();de(f,([a,s,o])=>{if(a)Ut(L(s),([e,,,,a,r])=>{const i=R(s)?t:Ma(a,t)?.[0];Ut(i,t=>de(le(r.getCellIds(e,t)),a=>Oe(n,o(a),r.getCell(e,t,a))))});else{const a=o(e,t),r=s;$t(a)?Me(n,r):Oe(n,r,a)}}),qe(n)?x.delRow(a,t):x.setRow(a,t,n)})():Pa($,(n,s)=>x._[5](a,t,n,s(e,t))):x.delRow(a,t)})})(t)},{3:H}=Ma(I,void 0),U=(t,e,n)=>{u.hasRow(d,n)?F(n,u,d,n,H):(x.delRow(a,n),ba(I,({4:t})=>Ut(Ma(t,n),([,e,a])=>{V(e,l,a),xa(t,n)})))};return x.transaction(()=>{de(u.getRowIds(d),t=>U(0,0,t)),M(u,l,0,u.addRowListener(d,null,U))}),A&&J(x,w,c),J(u,x,c),o?.(),et})))(a,o,n,()=>{Ut(n,t=>K(a,t)),k(Ma(d,a)),k(Ma(u,a)),xa(d,a,ya(o[0])?void 0:o[0]),xa(u,a,ya(o[1])?void 0:o[1]),xa(s,a,o[2]),U(a,o[3]),F(a),xa(h,a,ya(o[4])?void 0:o[4]),xa(y,a,ya(o[5])?void 0:o[5]),r=!0}),t=>{throw r||(k(o[0]),k(o[1])),W(),t}),et},K=(t,[e,n,s,o])=>{Ut(I(t),([,t])=>a.delListener(t)),ja(r,t),_a(()=>{L(t,e),R(t,[n,a.addRowListener(Kr,t,()=>ga(r,t)?0:Y(t),!0),s]),Q(t,o)},()=>ma(r,t))},Z=t=>(Ut(I(t),([,t])=>a.delListener(t)),a.delRow(Kr,t),(t=>{k(Ma(d,t)),xa(d,t),de([Ma(o,t),Ma(s,t)],e=>e?.delTable(t))})(t),(t=>{k(Ma(u,t)),xa(u,t)})(t),U(t),F(t),xa(h,t),xa(y,t),_(t),W(),et),tt=t=>a.getRow(Kr,t),et={setQueryDefinition:(t,e,a,n,s={})=>{const[o,r,i,c]=Vt(e)?[a,n,1,s]:[e,a,0,n??{}];return Y(t,[o,r,i,c]),W(),et},delQueryDefinition:Z,getParamValues:tt,getParamValue:(t,e)=>a.getCell(Kr,t,e),setParamValues:(t,e)=>(p(t)&&Q(t,e),et),setParamValue:(t,e,n)=>(p(t)&&a.setCell(Kr,t,e,n),et),getStore:m,getQueryIds:T,forEachQuery:C,hasQuery:p,getTableId:E,forEachResultTable:t=>C(e=>D(e).hasTable(e)?t(e,t=>et.forEachResultRow(e,t)):0),addQueryIdsListener:t=>N(()=>t(et)),addParamValuesListener:(t,e)=>"p"+a.addRowListener(Kr,t,(t,a,n)=>e(et,n,tt(n))),addParamValueListener:(t,e,n)=>"p"+a.addCellListener(Kr,t,e,(t,e,a,s,o)=>n(et,a,s,o)),delListener:t=>{const e=Ma(i,t);if("p"==t[0])a.delListener(Xt(t,1));else if($t(e))b(t);else{const[a,n,s]=e;Pa(n,(t,[e,a])=>e.delListener(a)),Ut(s,b),xa(i,t),b(t),l[a]--}return W(),et},destroy:()=>{de(T(),Z),A()},getListenerStats:()=>({...l,paramValues:a.getListenerStats().row-jt(T()),paramValue:a.getListenerStats().cell})};return Pe({[H]:[2,1],[H+j]:[1,1],[G]:[1,1],[z]:[1,1],[B]:[1,5],[q]:[3,2],[j]:[1,2],[X]:[3,3]},([t,e],a)=>{de(Xt(["get","has","forEach"],0,t),t=>Oe(et,t+$+a,(...e)=>(Ma(o,e[0])??n)[t+a](...e))),Oe(et,x+$+a+P,(...t)=>((n,s)=>{const o=f(Yt,c),r=Da(),d=()=>{const n=null==s?T():[s];de(n,n=>{return ga(r,n)?0:xa(r,n,[D(n),(s=D(n),s[x+a+P](...((t,e)=>5==e?[t[0],t[1]??void 0,t[2],t[3],t[4]]:Xt(t,0,e))(t,e),(a,...n)=>t[e](et,...n),!0))]);var s}),Pa(r,(t,[e,a])=>null==s&&p(t)||t==s?0:(e.delListener(a),void xa(r,t)))};return d(),xa(i,o,[n,r,null==s?N(d):void 0]),l[n]++,o})((t=>t[0].toLowerCase()+Xt(t,1))(a),t[0]))}),_e(et)}),ti=Ya(t=>{const e=Da(),a=Da(),n=Da(),s=Da(),[o,r,i]=tn(()=>C),[c,l,d,u,w,g,,,y,h,f,v]=Ja(t,()=>[Da(),Da(),Da(),Da()],t=>$t(t)?void 0:t+S,o,r),b=(t,e,a)=>Ut(g(t),([n,,s])=>{if(!ga(s,e)){const o=Xa();if(w(t)!=T(t))ja(o,e);else{let t=e;for(;!$t(t)&&!ga(o,t);)ja(o,t),t=Ma(n,t)}if(a)return o;xa(s,e,o)}return Ma(s,e)}),m=(t,e)=>Ut(g(t),([,,t])=>xa(t,e)),T=t=>Ma(e,t),C={setRelationshipDefinition:(t,o,i,c)=>(xa(e,t,i),y(t,o,(e,o)=>{const i=Xa(),c=Xa(),l=Xa(),[d,u]=g(t);ba(o,([e,a],n)=>{$t(e)||(ja(c,e),Ut(Ma(u,e),t=>{ma(t,n),ya(t)&&xa(u,e)})),$t(a)||(ja(c,a),ga(u,a)||xa(u,a,Xa()),ja(Ma(u,a),n)),ja(i,n),xa(d,n,a),Pa(Ma(s,t),e=>{ga(b(t,e),n)&&ja(l,e)})}),e(),ba(i,e=>r(a,[t,e])),ba(c,e=>r(n,[t,e])),ba(l,e=>{m(t,e),r(s,[t,e])})},Qa(c)),C),delRelationshipDefinition:t=>(xa(e,t),h(t),C),getStore:c,getRelationshipIds:l,forEachRelationship:e=>d(a=>e(a,e=>t.forEachRow(w(a),e))),hasRelationship:u,getLocalTableId:w,getRemoteTableId:T,getRemoteRowId:(t,e)=>Ma(g(t)?.[0],e),getLocalRowIds:(t,e)=>ha(Ma(g(t)?.[1],e)),getLinkedRowIds:(t,e)=>$t(g(t))?[e]:ha(b(t,e,!0)),addRelationshipIdsListener:f,addRemoteRowIdListener:(t,e,n)=>o(n,a,[t,e]),addLocalRowIdsListener:(t,e,a)=>o(a,n,[t,e]),addLinkedRowIdsListener:(t,e,a)=>(b(t,e),o(a,s,[t,e])),delListener:t=>(m(...i(t)??[]),C),destroy:v,getListenerStats:()=>({remoteRowId:ua(a),localRowIds:ua(n),linkedRowIds:ua(s)})};return _e(C)}),ei="\n",ai=/^([-0-9A-Z_a-z]{16})\n(\d+)\n(\d+)\n([\s\S]*)$/,ni=/^[^\n]*\n[-0-9A-Z_a-z]{16}\n\d+\n\d+\n/,si=/[\n\r?#]/,oi=16777216,ri=1e3,ii=t=>{let e=0;for(let a=0;a<jt(t);a++){const n=t.charCodeAt(a);n<128?e++:n<2048?e+=2:n>=55296&&n<=56319&&t.charCodeAt(a+1)>=56320&&t.charCodeAt(a+1)<=57343?(e+=4,a++):e+=3}return e},ci=t=>t>oi,li=m,di="S";var ui=(t=>(t[t.Hello=0]="Hello",t[t.Subscribe=1]="Subscribe",t[t.Unsubscribe=2]="Unsubscribe",t))(ui||{});const wi=(t,e)=>{let a=!0;return n=>{a&&(a=!1,_a(()=>e?.(n),()=>t.close(lt(n.message,m+":"+Ta)?1013:1007,n.message)))}},gi=t=>Gt(t)&&kt(t)&&Mt(t)&&t>=0&&t<=4294967295,yi=(t,e)=>Re(t)&&$e(t,t=>e?yi(t,e-1):gi(t)),hi=(t,e)=>Bt(t)&&(1==jt(t)||2==jt(t)&&qt(t[1])&&On(t[1],1/0))&&(e?Re(t[0])&&$e(t[0],t=>hi(t,e-1)):ta(t[0])),fi=t=>Bt(t)&&2==jt(t)&&gi(t[0])&&gi(t[1]),vi=(t,e,a)=>(xt(t)||qt(t))&&Gt(e)&&kt(e)&&Mt(e)&&((t,e)=>0==t?(t=>fi(t)||hi(t,3)||hi(t,1)||Bt(t)&&2==jt(t)&&hi(t[0],3)&&(yi(t[1],0)||yi(t[1],1)))(e):1==t?e===S:2==t?fi(e):3==t?(t=>Bt(t)&&(2==jt(t)||3==jt(t)&&1===t[2])&&hi(t[0],3)&&hi(t[1],1))(e):4==t?yi(e,0):5==t?yi(e,1):6==t?yi(e,2):7==t&&yi(e,0))(e,a),bi=(t,e=!1)=>Ea(()=>{const a=Ye(t);return Bt(a)&&3==jt(a)&&(vi(a[0],a[1],a[2])||e&&(xt(a[0])||qt(a[0]))&&-1==a[1])?a:void 0}),mi=(t,e)=>{const a=t.indexOf(ei);return-1!==a&&(e(Xt(t,0,a),Xt(t,a+1)),!0)},Si=(t,e=1,a,n)=>{const s=Da(),o=n??[0,0];let r=0,i=!0;const c=(t,e)=>{Et(e[4]),r-=e[5],o[0]--,o[1]-=e[5],ma(s,t)},l=()=>{Pa(s,(t,e)=>Et(e[4])),o[0]-=la(s),o[1]-=r,va(s),r=0},d=(t=Ca(Sa))=>{i&&(i=!1,l(),a?.(t))};return[a=>{i&&(ci(ii(a))?d(Ca(Ta,ut(a,ni)?"fragments":"socket")):mi(a,(a,n)=>{const i=bi(n);if(i)return void t(a,[n],...i);const[,l,u,w,g]=ut(n,ai)??[];if(l){const i=parseInt(u),y=parseInt(w);if(y>1e3)return void d(Ca(Ta,"fragments"));if(y>0&&i>=0&&i<y){const u=a+ei+l;let w=Ma(s,u);if(!w&&o[0]>=100)return void d(Ca(Ta,"fragments"));if(!$t(w)&&y!=w[3]||!$t(w?.[0][i]))return void d();{const t=ii(n)+(w?0:ii(u));if(o[1]+t>oi)return void d(Ca(Ta,"fragments"));w||(w=[[],[],y,y,pt(()=>{const t=Ma(s,u);t&&c(u,t)},e),0],xa(s,u,w),o[0]++);const[a,l]=w;a[i]=g,l[i]=n,w[2]--,w[5]+=t,r+=t,o[1]+=t}if(0==w[2]){const[e,n]=w;c(u,w),((e,a,n)=>{const s=bi(n);s?t(e,a,...s):d()})(a,n,ue(e))}return}}d()})||d())},l]},Ti=(t,e)=>(t.bufferedAmount??0)+e>oi,Ci=(t,e=1,a,n)=>Si((e,a,n,s,o)=>t(e,n,s,o),e,a,n),pi=(t,e)=>t+ei+e,Ei=(t,e)=>pi("M",pi(t,e)),Ii=(t,e,a)=>{let n=!1;return mi(t,(t,s)=>{"M"==t&&mi(s,(t,s)=>{Li(t)?(n=!0,a?.()):_i(t)&&(n=!0,e(t,s))})}),n},Ri=(t,e,a)=>pi(di,Qe([t,-1,[e,a]])),Li=t=>ii(t)>1024,_i=t=>!Jt(t)&&!si.test(t)&&re(wt(t,"/"),t=>!Jt(t)&&"."!=t&&".."!=t),Ni=(t,e)=>{let a=!1;return mi(t,(t,n)=>{if(t==di){const[t,s,o]=bi(n,!0)??[],r=o?.[0],i=o?.[1];-1==s&&Bt(o)&&2==jt(o)&&(0==r?qt(t)&&1==i:1==r?qt(t)&&qt(i)&&(Li(i)||_i(i)):2==r&&xt(t)&&qt(i)&&(Li(i)||_i(i)))&&(a=!0,e(t,r,i))}}),a},Ai=t=>!Li(t)&&_i(t),Di=(t,e,a,n,s,o,r,i)=>{const c=Da(),l=Da(),d=[0,0],u=Xa();let w=0,g=!1,y=!0;const h=(t,e,a)=>s(Ri(t,e,a)),f=t=>{ma(c,t),Ma(l,t)?.[1](),ma(l,t)},v=()=>{Pa(l,(t,e)=>e[1]()),va(l)},b=t=>{y&&(y=!1,v(),r(t))},m=t=>{t[2]||(t[2]=1,w--,ma(u,t))},T=t=>t[1]??=(async()=>{try{const e=a(t[0]);$t(e)?m(t):await e}finally{m(t)}})();return[a=>{if(!y)return;if(ci(ii(a)))return void b(Ca(Ta,"socket"));const s=Ni(a,(a,n,s)=>{const o=((a,n,s)=>{if(0==n)g=!0,h(a,n,s);else if(g&&1==n){const o=ga(c,s);if(Li(s)||!o&&(la(c)>=100||w>=200))return void b(Ca(Ta,"channels"));if(!o){const o=t+(t?"/":S)+s;let r;w++;try{r=e(o,s)}catch(t){throw w--,t}const[i,l]=r,d=[i];return ja(u,d),xa(c,s,d),h(a,n,s),l?l.catch(t=>{throw Ma(c,s)===d&&f(s),d[1]||m(d),t}):void 0}h(a,n,s)}else if(g&&2==n){if(Li(s))return void b(Ca(Ta,"channels"));const t=Ma(c,s);return f(s),$t(t)?void 0:T(t)}})(a,n,s);o?.catch(t=>Ea(()=>i?.(t)))}),r=Ii(a,(t,e)=>{const a=g?Ma(c,t):void 0;$t(a)?b(Ca(Sa)):Va(l,t,()=>Si((t,e)=>n(a[0],t,e),o,b,d))[0](e)},()=>b(Ca(Ta,"channels")));s||r||b(Ca(Sa))},()=>(y=!1,v(),Na(async()=>{let t,e=!1;if(await ee(we(ha(u),async a=>{try{await T(a)}catch(a){e||(t=a,e=!0)}})),e)throw t},()=>{va(c),v()}))]},Oi=(t,e,a,n,s)=>{const o=t??S,r=Qe([e,a,n]),i=At(s??0);if($t(s)||i<1)return[pi(o,r)];const c=((t,e)=>{const a=[];let n=S,s=0;for(let o=0;o<jt(t);o++){const r=t.charCodeAt(o);let i=Xt(t,o,o+1);r>=55296&&r<=56319&&t.charCodeAt(o+1)>=56320&&t.charCodeAt(o+1)<=57343&&(i+=Xt(t,++o,o+1));const c=ii(i);s>0&&s+c>e&&(be(a,n),n=S,s=0),n+=i,s+=c}return be(a,n),a})(r,Lt(i,Nt(ii(r)/1e3)+3)),l=jt(c);if(1==l)return[pi(o,r)];const d=ln();return we(c,(t,e)=>pi(o,ue([d,e,l,t],ei)))},ki={Response:0,GetContentHashes:1,ContentHashes:2,ContentDiff:3,GetTableDiff:4,GetRowDiff:5,GetCellDiff:6,GetValueDiff:7},Mi=(t,e,a,n,s,o,r,i,c={},l=Kt)=>{let d,u=0,w=0,g=0,y=!1;const h=Da(),f=()=>ln(11),v=t=>Pa(h,(e,[,,a,n])=>{Et(n),ma(h,e),a(t)}),b=(t,a,n,s)=>{w++,o?.(t,a,n,s),e(t,a,n,s)},m=async(t,e,a,n)=>te((o,r)=>{if(la(h)>=100)return void r(Ca(Ta,"requests"));const i=n+C+ln(4),c=pt(()=>{ma(h,i),r(Ca(3,(t??S)+C+i+C+e))},s);xa(h,i,[t,(t,e)=>{Et(c),ma(h,i),o([t,e,n])},r,c]);try{b(t,i,e,a)}catch(t){Et(c),ma(h,i),r(t)}}),T=(t,[e,a])=>{Pe(e,([e,a],n)=>{const s=ze(t[0],n,qn);Pe(e,([t,e],a)=>{const n=ze(s[0],a,qn);Pe(t,([t,e],a)=>Oe(n[0],a,xn(t,e))),n[1]=Un(n[1],e)}),s[1]=Un(s[1],a)}),t[1]=Un(t[1],a)},p=(e=null,a,n=f())=>Ia(async()=>{$t(a)&&([a,e,n]=await m(null,1,S,n));const[s,o]=a,[r,i]=t.getMergeableContentHashes();let c=qn();if(r!=s){const[a,s]=(await m(e,4,t.getMergeableTableHashes(),n))[0];if(c=a,!qe(s)){const[a,o]=(await m(e,5,t.getMergeableRowHashes(s),n))[0];if(T(c,a),!qe(o)){const a=(await m(e,6,t.getMergeableCellHashes(o),n))[0];T(c,a)}}}return[c,i==o?qn():(await m(e,7,t.getMergeableValueHashes(),n))[0],1]},i),E=Ts(t,async()=>{const t=await p();return!t||qe(t[0][0])&&qe(t[1][0])?void 0:t},async(e,a)=>a?b(null,f(),3,a):b(null,f(),2,t.getMergeableContentHashes()),t=>d=t,()=>d=void 0,i,2,{startSync:async t=>(u=1,await E.startAutoPersisting(t)),stopSync:async()=>(u=0,await E.stopAutoPersisting(),E),destroy:async()=>(y=!0,v(Ca(3,"destroyed")),l(),await E.stopSync(),n(),E),getSynchronizerStats:()=>({sends:w,receives:g}),...c},1);return a((e,a,n,s)=>{if(y)return;if(!vi(a,n,s))return void i?.(Ca(Sa));const o=u||E.isAutoLoading();g++,r?.(e,a,n,s),0==n?Ut(Ma(h,a),([t,a])=>xt(t)||t==e?a(s,e):0):2==n&&o?p(e,s,a??void 0).then(t=>{d?.(void 0,t)}).catch(i):3==n&&o?d?.(void 0,s):Ut(1==n&&(u||E.isAutoSaving())?t.getMergeableContentHashes():4==n?t.getMergeableTableDiff(s):5==n?t.getMergeableRowDiff(s):6==n?t.getMergeableCellDiff(s):7==n?t.getMergeableValueDiff(s):void 0,t=>{b(e,a,0,t)})},v),E},Pi=(t,e,a,n,s)=>{const o=ln(),r=new BroadcastChannel(e);return Mi(t,(t,e,a,n)=>r.postMessage([o,t,e,a,n]),t=>{r.onmessage=({data:e})=>{if(Bt(e)&&5==jt(e)){const[a,n,s,r,i]=e;if(qt(a)&&(xt(n)||qt(n))&&vi(s,r,i))return void((xt(n)||n==o)&&t(a,s,r,i))}s?.(Ca(Sa))}},()=>{r.onmessage=null,r.close()},.01,a,n,s,{getChannelName:()=>e})},$i=Da(),xi=(t,e,a,n)=>{const s=ln(),o=Xa();return Mi(t,(t,e,a,n)=>{const r=xt(t)?[]:[t];xt(t)&&Pa($i,t=>t!=s?be(r,t):0);const i=pt(()=>{ma(o,i),de(r,t=>Ma($i,t)?.(s,e,a,n))});return ja(o,i),i},t=>{xa($i,s,t)},()=>{ma($i,s)},.01,e,a,n,{},()=>{ba(o,Et),va(o)})},Vi=Oa(),Fi=new WeakSet,Hi=()=>{let t,e;const a=te((a,n)=>{t=a,e=n});return a.catch(()=>0),[a,t,e]},Ui=async(t,e,a=1,...n)=>qt(a)?(async(t,e,a,n,s,o,r,i)=>{Fi.has(e)&&pa(9);const c=Vi.get(e),l=c??(()=>{const t=(t=>{const e=Da(),a=Da(),n=[];let s,o,r=Hi(),i=!1,c=!1,l=!1,d=()=>{},u=!1,w=0,g=0,y=!0;const h=(t,e)=>Ea(()=>t[6]?.(e)),f=t=>Pa(e,(e,a)=>h(a,t)),v=(e,a)=>{h(e,a),d(),Ea(()=>t.close())},b=(e,a)=>be(n,It(t,e,a)),m=t=>Pa(a,(e,[,,,n,s])=>{Et(s),ma(a,e),n(t)}),T=t=>Pa(e,(e,a)=>Ea(()=>a[11]?.(t))),C=t=>{de(t[1],([,t])=>Et(t)),w-=jt(t[1]),g-=t[8],ve(t[1]),t[8]=0},p=(t,e=!1)=>{de(t[2],([,t])=>Et(t)),w-=t[10],g-=t[9],ve(t[2]),t[9]=0,t[10]=0,e&&(t[7]=void 0)},E=t=>t[0]?.[1](),I=()=>Pa(e,(t,e)=>E(e)),R=wi(t,f),L=t=>{y&&(y=!1,l=!0,i=!1,I(),r[2](t),m(t),T(t),Pa(e,(t,e)=>{C(e),p(e,!0),e[3]=!1,e[4]=void 0,e[12]=void 0}),s&&(Et(s),s=void 0),R(t))},_=a=>{const n=Ca(Ta,a);return u||c||(u=!0,y=!1,i=!1,I(),f(n),m(n),T(n),Pa(e,(t,e)=>{C(e),p(e,!0),e[3]=!1,e[4]=void 0,e[12]=void 0}),s&&(Et(s),s=void 0),t.close(1013,n.message)),n},N=(e,n,s,o)=>{const r=ln();return te((i,c)=>{if(la(a)>=100)return void c(_("controls"));const l=Ri(r,e,n),d=ii(l);if(ci(d)||Ti(t,d))return void c(_("socket"));const u=pt(()=>{ma(a,r),c(Ca(4,e))},s);xa(a,r,[e,n,i,c,u]);try{t.send(l),o?.()}catch(t){Et(u),ma(a,r),c(t)}})},A=t=>ye(t,(t,e)=>t+ii(e),0),D=(t,e)=>{const a=A(e);if(w+jt(e)>ri||g+a>oi)return _("client"),!1;const n=[e,pt(()=>((t,e)=>{const a=oe(t[2],e);if(a>-1){t[2]=he(t[2],(t,e)=>e!=a);const n=Xt(e[0],e[2]),s=A(n);t[9]-=s,t[10]-=jt(n),w-=jt(n),g-=s}})(t,n),t[5]),0];return be(t[2],n),t[9]+=a,t[10]+=jt(e),w+=jt(e),g+=a,!0},O=()=>{s??=pt(()=>{s=void 0,Pa(e,P)},.01)},k=(e,a,n,s)=>{if(t.readyState!=t.OPEN)return s?a[7]=s:D(a,n),!1;for(let o=0;o<jt(n);o++){const r=Ei(e,n[o]),i=ii(r);if(ci(i))return _("client"),!1;if(Ti(t,i)){if(s)a[7]=s;else if(!D(a,Xt(n,o)))return!1;return O(),!1}try{t.send(r)}catch(t){if(s)a[7]=s;else if(!D(a,Xt(n,o)))return!1;return v(a,t),!1}}return!0},P=(e,a)=>{if(!i||!a[3])return;const n=a[2];let s=0;for(;s<jt(n);){const o=n[s],r=o[0];let i=o[2];for(;i<jt(r);){const c=r[i],l=Ei(e,c),d=ii(l);if(ci(d))return ve(n,s),void _("client");if(Ti(t,d))return ve(n,s),void O();try{t.send(l)}catch(t){return void v(a,t)}r[i]=S,o[2]=++i;const u=ii(c);a[9]-=u,a[10]--,g-=u,w--}Et(o[1]),s++}ve(n,s);const o=a[7];o&&(a[7]=void 0,k(e,a,o(),o))},$=async(t,a,n)=>{if(!a[3]){let s=a[4];const o=r;if(s?.[0]!==o){const c=(async()=>{await o[0],Ma(e,t)===a&&r===o&&i&&(await N(ui.Subscribe,t,n,()=>{Ma(e,t)===a&&r===o&&i&&(a[12]=o)}),Ma(e,t)===a&&r===o&&i&&(a[3]=!0,P(t,a)))})();s=[o,c],a[4]=s}try{await s[1]}finally{a[4]===s&&(a[4]=void 0)}}},x=()=>{if(c||!y||i||o?.[0]===r)return;l=!1,u=!1;const t=r,a=(async()=>{try{await N(ui.Hello,1,(()=>{let t=!0,a=1;return Pa(e,(e,n)=>{const s=n[5];(t||s<a)&&(t=!1,a=s)}),a})()),r===t&&y&&!c&&(i=!0,t[1](),Pa(e,(t,e)=>$(t,e,e[5]).catch(t=>t.message==Ca(5).message?0:h(e,t))))}catch(e){t[2](e),e.message!=Ca(5).message&&f(e)}})();o=[t,a],a.finally(()=>{o?.[1]===a&&(o=void 0)})};d=()=>{if(!c&&!l){l=!0;const t=u;u=!1,i=!1;const a=Ca(5);t||f(a),r[2](a),m(a),T(a),s&&(Et(s),s=void 0),r=Hi(),Pa(e,(t,e)=>{E(e),e[3]=!1,e[4]=void 0,e[12]=void 0})}};const V=d;b(tt,({data:t})=>{if(!y)return;const n=t.toString(M);if(ci(ii(n)))return void L(Ca(Ta,"socket"));const s=Ni(n,(t,e,n)=>{if((e==ui.Subscribe||e==ui.Unsubscribe)&&qt(n)&&!Ai(n))return void _("channels");const s=t?Ma(a,t):void 0;s?.[0]==e&&s[1]===n&&(Et(s[4]),ma(a,t),s[2]())}),o=Ii(n,(t,a)=>{const n=Ma(e,t);n?n[0]?n[0][0](a):((t,e)=>{const a=ii(e);if(w>=ri||g+a>oi)return void _("client");const n=[e,pt(()=>((t,e)=>{const a=oe(t[1],e);if(a>-1){t[1]=he(t[1],(t,e)=>e!=a);const n=ii(e[0]);t[8]-=n,w--,g-=n}})(t,n),t[5])];be(t[1],n),t[8]+=a,w++,g+=a})(n,a):L(Ca(Sa))},()=>_("channels"));s||o||L(Ca(Sa))}),b(K,x),b(Z,V),b(et,t=>{f(t),T(Ca(5))});const F=()=>{if(ya(e)&&!c){c=!0;const e=y&&!u;y=!1,I();const a=Ca(8);m(a),s&&(Et(s),s=void 0),de(n,t=>Ea(t)),ve(n),Vi.delete(t),e&&Ea(()=>t.close())}},H=a=>{const n=Ma(e,a);if(n)try{if(E(n),C(n),p(n,!0),i&&n[12]===r){const e=Ri(null,ui.Unsubscribe,a),n=ii(e);ci(n)||Ti(t,n)?_("socket"):t.send(e)}}catch(t){h(n,t)}finally{ma(e,a),F()}};return{addChannel:async(a,n,s)=>{y&&!c||pa(5),Ai(a)||pa(6,a),ga(e,a)&&pa(7,a),la(e)>=100&&pa(Ta,"channels");const o=[void 0,[],[],!1,void 0,n,s,void 0,0,0,0,void 0,void 0];if(xa(e,a,o),t.readyState==t.OPEN)x();else if(t.readyState>t.OPEN){const t=Ca(5);h(o,t),r[2](t)}try{await $(a,o,n)}catch(t){throw H(a),t}},delChannel:H,destroyIfEmpty:F,invalid:L,payloadBuffer:[0,0],registerReceive:(t,a,n)=>{const s=Ma(e,t);if(s){s[0]=a,s[11]=n;const t=s[1];let e=0;_a(()=>{for(;e<jt(t);){const[n,o]=t[e];Et(o);const r=ii(n);s[8]-=r,w--,g-=r,e++,a[0](n)}},()=>ve(t,e))}},send:(a,n,s)=>{if(!y)return;const o=Ma(e,a);o&&(i&&t.readyState==t.OPEN&&o[3]&&!jt(o[2])&&!o[7]?k(a,o,n,s):s?o[7]=s:D(o,n))}}})(e);return Vi.set(e,t),t})();try{await l.addChannel(a,n,r)}catch(t){throw c||l.destroyIfEmpty(),t}try{return Mi(t,(e,n,s,o)=>l.send(a,Oi(e,n,s,o,i),null!=e||2!=s&&3!=s?void 0:()=>Oi(null,n,2,t.getMergeableContentHashes(),i)),(t,e)=>l.registerReceive(a,Ci(t,n,l.invalid,l.payloadBuffer),e),()=>l.delChannel(a),n,s,o,r,{getWebSocket:()=>e})}catch(t){throw l.delChannel(a),t}})(t,e,a,n[0]??1,n[1],n[2],n[3],n[4]):(async(t,e,a=1,n,s,o,r)=>{Vi.has(e)&&pa(10);let i=!0,c=!1,l=()=>{};const d=t=>Ea(()=>o?.(t)),u=Mi(t,(t,...a)=>{de(Oi(t,...a,r),t=>{if(c)return;const a=ii(t);ci(a)||Ti(e,a)?(()=>{if(!c){c=!0;const t=Ca(Ta,"socket");d(t),e.close(1013,t.message)}})():e.send(t)})},(t,n)=>{const s=wi(e,d),[o,r]=Ci(t,a,s);let c=[];l=()=>{r(),de(c,t=>Ea(t)),ve(c)};const u=()=>{Ea(()=>n(Ca(5))),l()};c=[It(e,tt,({data:t})=>o(t.toString(M))),It(e,Z,()=>{i||u()}),It(e,et,t=>{i||(d(t),u())})]},()=>{l(),e.close()},a,n,s,o,{getWebSocket:()=>e});return Fi.add(e),te((t,a)=>{let n=()=>{};const s=(t,s=t)=>{d(s),n(),l(),Fi.delete(e),Ea(()=>e.close()),a(t)};if(e.readyState!=e.OPEN){if(e.readyState>e.OPEN)return void s(Ca(5));const a=[It(e,K,()=>{i=!1,n(),t(u)}),It(e,et,t=>s(Ca(5),t)),It(e,Z,()=>s(Ca(5)))];n=()=>{de(a,t=>Ea(t)),ve(a)}}else i=!1,t(u)})})(t,e,a,n[0],n[1],n[2],n[3]),Wi=/\/([^?]*)/,qi="S",Gi=t=>ut(new URL(t.url).pathname,Wi)?.[1]??S,zi=t=>"websocket"==t.headers.get("upgrade")?.toLowerCase()?t.headers.get("sec-websocket-key"):null,Bi=(t,e=null,a=null)=>new Response(a,{status:t,webSocket:e}),Xi=()=>Bi(426,null,"Upgrade required");class ji extends v{#t;#e=Oa();constructor(t,e){super(t,e),this.ctx.blockConcurrencyWhile(async()=>await Ut(await this.createPersister(),async t=>{const e=this.getRequestTimeoutSeconds(),a=Mi(t.getStore(),(t,e,a,n)=>de(Oi(t,e,a,n,this.getFragmentSize()),t=>this.#a(qi,t)),t=>this.#t=Ci(t,e)[0],Kt,e);await t.load(),await t.startAutoSave(),pt(a.startSync)}))}fetch(t){const e=Gi(t);return Ut(zi(t),t=>{const[a,n]=Ue(new WebSocketPair);return Jt(this.#n())&&this.onPathId(e,1),this.ctx.acceptWebSocket(n,[t,e]),this.onClientId(e,t,1),n.send(pi(qi,Qe([null,1,S]))),Bi(101,a)},Xi)}webSocketMessage(t,e){Ut(this.ctx.getTags(t)[0],a=>{let n=this.#e.get(t);n||(n=Si((e,n)=>de(n,n=>this.#a(a,pi(e,n),t)),this.getRequestTimeoutSeconds(),wi(t,t=>this.onIgnoredError(t))),this.#e.set(t,n)),n[0](e.toString())})}webSocketClose(t){this.#e.get(t)?.[1](),this.#e.delete(t);const[e,a]=this.ctx.getTags(t);this.onClientId(a,e,-1),1==jt(this.#n())&&this.onPathId(a,-1)}#a(t,e,a){mi(e.toString(),(e,n)=>{const s=pi(t,n);this.onMessage(t,e,n),e==S?(t!=qi&&this.#t?.(s),de(this.#n(),t=>{t!=a&&t.send(s)})):e==qi?this.#t?.(s):e!=t&&this.#n(e)[0]?.send(s)})}#n(t){return this.ctx.getWebSockets(t)}createPersister(){}getPathId(){return Ut(this.#n()[0],t=>this.ctx.getTags(t)?.[1]??S)??S}getClientIds(){return we(this.#n(),t=>this.ctx.getTags(t)[0])}getFragmentSize(){}getRequestTimeoutSeconds(){return 1}onIgnoredError(t){}onPathId(t,e){}onClientId(t,e,a){}onMessage(t,e,a){}}const Ji=t=>(e,a)=>zi(e)?a[t].get(a[t].idFromName(Gi(e))).fetch(e):Xi(),Qi=/\/([^?]*)/,Yi=t=>{const e=Da(),a=Da(),n=[];let s;be(n,Rt(t,et,Kt));const o=(t,e,n)=>be(Va(a,t,()=>[[]])[0],Rt(t,e,n)),r=t=>{const e=Ma(a,t);return e[2]??(e[2]=Na(async()=>e[1]?.(),()=>{de(e[0],t=>Ea(t)),ma(a,t)}))},i=(t,e)=>{const a=ii(e);ci(a)||Ti(t,a)?(t=>{if(t.readyState==t.OPEN){const e=Ca(Ta,"socket");t.close(1013,e.message)}})(t):t.readyState==t.OPEN&&t.send(e)},c=([t,e],a)=>i(t,$t(e)?a:Ei(e,a)),l=(t,a,n,s)=>de(s,s=>((t,a,n)=>mi(n,(n,s)=>{const o=Ma(e,t),r=pi(a,s);n===S?Pa(o,(t,e)=>t!==a?c(e,r):0):Ut(Ma(o,n),t=>c(t,r))}))(t,a,pi(n,s))),d=(t,a,n)=>xa(Va(e,t,Da),a,n),u=(t,a)=>{const n=Ma(e,t);ga(n,a)&&(ma(n,a),ya(n)&&ma(e,t))},w=Rt(t,nt,(t,e)=>{xa(a,t,[[]]),o(t,et,Kt),o(t,Z,()=>r(t).catch(Kt)),Ut(ut(e.url,Qi),([,n])=>Ut(e.headers["sec-websocket-key"],e=>t.protocol==li?((t,e,n)=>{const s=wi(t),[r,c]=Di(n,(a,n)=>(d(a,e,[t,n]),[a]),t=>u(t,e),(t,a,n)=>l(t,e,a,n),e=>i(t,e),1,s);o(t,tt,t=>r(t.toString(M))),Ma(a,t)[1]=c})(t,e,n):((t,e,n)=>{d(n,e,[t]);const[s,r]=Si((t,a)=>l(n,e,t,a),1,wi(t));o(t,tt,t=>s(t.toString(M))),Ma(a,t)[1]=()=>{r(),u(n,e)}})(t,e,n)))});be(n,w);const g=async()=>{let e,n=!1;const s=async t=>{try{await t()}catch(t){n||(e=t),n=!0}};if(await ee([s(()=>te((e,a)=>t.close(t=>$t(t)?e():a(t)))),...we(ka(a),t=>s(()=>(t=>{const e=Ma(a,t),n=()=>e[2]??r(t);return t.readyState==t.CLOSED?n():Na(()=>te((e,a)=>{const n=Rt(t,Z,()=>{n(),e()});try{t.close()}catch(t){n(),a(t)}}),n)})(t)))]),n)throw e};return _e({getWebSocketServer:()=>t,destroy:()=>(s||(Ea(w),s=Na(g,()=>{de(n,t=>Ea(t)),Pa(a,(t,[e])=>de(e,t=>Ea(t))),va(e),va(a)})),s)})},Ki=/\/([^?]*)/,Zi=(t,e,a,n=1,s)=>{const o=Da(),r=Da(),i=Da(),c=Xa(),l=Da(),d=[],u=Da();let w;const g=t=>{Ea(()=>a?.(t))};be(d,Rt(t,et,g));const[y,,h,,f]=tn(()=>k),v=(...t)=>{La(()=>f(...t),g)},b=(t,e,a)=>be(Va(u,t,()=>[]),Rt(t,e,a)),m=(t,e)=>{if(t.readyState==t.OPEN){const a=Ca(Ta,e);_a(()=>g(a),()=>t.close(1013,a.message))}},T=([t,e],a)=>{const n=$t(e)?a:Ei(e,a),s=ii(n);ci(s)||Ti(t,s)?m(t,"socket"):t.readyState==t.OPEN&&t.send(n)},C=(t,e,a)=>{const n=Va(l,t,()=>[0,0]);n[0]+=e,n[1]+=a,n[0]||xa(l,t)},p=([,t,,e])=>C(e,-1,-ii(t)),E=t=>{t[7]&&(Et(t[7]),t[7]=void 0),de(t[4],p),t[4]=[],t[6]=0},I=(t,e)=>{t[4]=he(t[4],t=>t[0]!=e||(p(t),!1)),t[6]=ye(t[4],(t,[,e])=>t+ii(e),0),jt(t[4])||E(t)},R=(t,e,a)=>{const n=t[0],s=t[1];mi(a,(t,a)=>{const o=pi(e,a);t===S?(e!==di&&s?.[3]?.(o),Pa(n,(t,a)=>t!==e?T(a,o):0)):t===di?s?.[3]?.(o):Ut(Ma(n,t),t=>T(t,o))})},L=(t,e,a,s)=>de(s,s=>((t,e,a)=>{const s=t[1];!t[4]&&ga(t[0],e)&&1==s[0]?R(t,e,a):!t[4]&&ga(t[0],e)&&((t,e,a)=>{const s=t[1],o=s[4],r=Ma(t[0],e)?.[0];if($t(r))return;const i=((t,e)=>{let a;return mi(e,(e,n)=>{2==bi(n)?.[1]&&(a=t+ei+e)}),a})(e,a),c=i?(d=([,,t])=>t==i,o.findIndex(d)):-1;var d;const u=c>-1?o[c]:void 0,w=$t(u)?0:ii(u[1]),g=ii(a),y=Ma(l,r),h=u?.[3]===r;if(c<0&&jt(o)>=ri||s[6]+g-w>oi||!h&&(y?.[0]??0)>=ri||(y?.[1]??0)+g-(h?w:0)>oi)return I(s,e),void Ut(Ma(t[0],e),([t])=>m(t,"server"));const f=[e,a,i,r];c>-1?(p(o[c]),o[c]=f):be(o,f),C(r,1,g),s[6]+=g-w,s[7]??=pt(()=>(t=>{const e=t[1],a=Xa();de(e[4],([,,,t])=>ja(a,t)),E(e),de(ha(a),t=>m(t,"server"))})(t),10*n)})(t,e,a)})(t,e,pi(a,s))),_=(t,e)=>(e[4]||(e[4]=(async()=>{let a,n=!1;if(await Ia(()=>e[2]),await Ia(()=>e[3]),E(e[1]),await Ia(()=>(async t=>{let e,a=!1;const n=t=>{a||(e=t),a=!0};if(await Ia(()=>t[1]?.destroy(),n),await Ia(()=>t[2]?.destroy(),n),a)throw e})(e[1]),t=>{a=t,n=!0}),va(e[0]),Ma(i,t)===e&&(ma(i,t),v(o,void 0,t,-1)),n)throw a})()),e[4]),N=async(t,e,a)=>{const n=e[0];ga(n,a)&&(I(e[1],a),ma(n,a),v(r,[t],a,-1),ya(n)&&await _(t,e))},A=(t,a,c)=>{const l=Ma(i,t),d=!l||l[4]?((t,a)=>{const r=[Da(),[0,void 0,void 0,void 0,[],void 0,0]];return xa(i,t,r),a||v(o,void 0,t,1),r[2]=(async(t,a)=>{const o=t[1],r=await(e?.(a));$t(r)?o[0]=1:(o[0]=2,o[1]=Bt(r)?r[0]:r,o[2]=Mi(o[1].getStore(),(e,a,n,o)=>de(Oi(e,a,n,o,s),e=>R(t,di,e)),t=>{o[3]=Ci(t,n)[0]},Kt,n,void 0,void 0,g),o[5]=Bt(r)?r[1]:t=>0)})(r,t),r})(t,!!l):l;return xa(d[0],a,c),v(r,[t],a,1),[d,(async()=>{let e,n=!1;if(await Ia(async()=>{await d[2],ga(d[0],a)&&!d[4]&&await(t=>{const e=t[1];return t[3]||(t[3]=(async()=>{2==e[0]&&await(async t=>{t[0]=3,await t[1].startAutoLoad(),await t[1].startAutoSave(),await t[2].startSync(),t[5](t[1].getStore()),t[0]=1})(e);const a=e[4];E(e),de(a,([e,a])=>R(t,e,a))})()),t[3]})(d)},t=>{e=t,n=!0}),n)throw await Ia(()=>N(t,d,a),g),e})()]},D=Rt(t,nt,(t,e)=>{ja(c,t),b(t,et,g),w?t.close():Ut(ut(e.url,Ki),([,a])=>Ut(e.headers["sec-websocket-key"],e=>{t.protocol==li?((t,e,a)=>{const s=wi(t,g),[o,r]=Di(a,(a,n)=>{const[s,o]=A(a,e,[t,n]);return[[a,s],o]},([t,a])=>N(t,a,e),([,t],a,n)=>L(t,e,a,n),e=>{const a=ii(e);ci(a)||Ti(t,a)?m(t,"socket"):t.readyState==t.OPEN&&t.send(e)},n,s,g);b(t,tt,t=>o(t.toString(M))),b(t,Z,()=>r().catch(g))})(t,e,a):(async(t,e,a)=>{const[s,o]=A(a,e,[t]),[r,i]=Si((t,a)=>L(s,e,t,a),n,wi(t,g));b(t,tt,t=>r(t.toString(M))),b(t,Z,()=>{i(),N(a,s,e).catch(g)}),await o})(t,e,a).catch(g)})),b(t,Z,()=>{var e;ma(c,t),Ut(Ma(u,e=t),t=>de(t,t=>t())),ma(u,e)})});be(d,D);const O=async()=>{const e=async t=>{let e=[!1,void 0];return await Ia(t,t=>e=[!0,t]),e},a=await ee([e(()=>te((e,a)=>t.close(t=>t?a(t):e()))),...we(ha(c),t=>e(()=>(async t=>{t.readyState!=t.CLOSED&&await te((e,a)=>{const n=Rt(t,Z,()=>{n(),e()});try{t.close()}catch(t){n(),a(t)}})})(t)))]),n=fe(a,([t])=>t);if(n)throw n[1]},k={getWebSocketServer:()=>t,getPathIds:()=>ka(i),getClientIds:t=>ka(Ma(i,t)?.[0]),addPathIdsListener:t=>y(t,o),addClientIdsListener:(t,e)=>y(e,r,[t]),delListener:t=>(h(t),k),getStats:()=>({paths:la(i),clients:ye($a(i,t=>la(t[0])),(t,e)=>t+e,0)}),destroy:()=>(w||(w=(async()=>{Ea(D);let t=[!1,void 0];const e=Ia(O,e=>t=[!0,e]),a=await ee($a(i,async(t,e)=>{let a=[!1,void 0];return await Ia(()=>_(e,t),t=>a=[!0,t]),a}));await e,de(d,t=>Ea(t)),Pa(u,(t,e)=>de(e,t=>Ea(t))),va(u),va(l),va(i),va(c);const n=t[0]?t:fe(a,([t])=>t);if(n)throw n[1]})()),w)};return _e(k)};export{ki as Message,vs as Persists,fs as Status,Ir as TinyBasePartyKitServer,ji as WsServerDurableObject,wn as addOrRemoveHash,Tr as broadcastChanges,xo as createAutomergePersister,Vo as createBetterSqlite3Persister,Pi as createBroadcastChannelSynchronizer,Go as createCapacitorSqlitePersister,an as createCheckpoints,zo as createCrSqliteWasmPersister,Ts as createCustomPersister,Io as createCustomPostgreSqlPersister,Ro as createCustomSqlitePersister,Mi as createCustomSynchronizer,Xo as createDurableObjectSqlStoragePersister,Ko as createDurableObjectStoragePersister,Zo as createElectricSqlPersister,tr as createExpoSqlitePersister,er as createFilePersister,cr as createIndexedDbPersister,Pn as createIndexes,lr as createLibSqlPersister,Ho as createLocalPersister,xi as createLocalSynchronizer,is as createMergeableStore,ds as createMetrics,hs as createMiddleware,Wo as createOpfsPersister,yr as createPartyKitPersister,_r as createPgPersister,Nr as createPglitePersister,Ar as createPostgresPersister,Dr as createPowerSyncPersister,Zr as createQueries,kr as createReactNativeMmkvPersister,Mr as createReactNativeSqlitePersister,ti as createRelationships,Vr as createRemotePersister,Uo as createSessionPersister,Wr as createSqlite3Persister,Fr as createSqliteBunPersister,Hr as createSqliteNodePersister,Ur as createSqliteWasmPersister,as as createStore,qr as createSupabasePersister,Zi as createWsServer,Yi as createWsServerSimple,Ui as createWsSynchronizer,Yr as createYjsPersister,Mn as defaultSorter,fn as getCellHash,vn as getCellInRowHash,un as getHash,kn as getHlcFunctions,bn as getRowHash,mn as getRowInTableHash,Sn as getTableHash,Tn as getTableInTablesHash,Cn as getTablesHash,ln as getUniqueId,hn as getValueHash,yn as getValueInValuesHash,gn as getValuesHash,Ji as getWsServerDurableObjectFetch,mr as hasStoreInStorage,Sr as loadStoreFromStorage};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const a=a=>typeof a,t="tinybase",n="",e=",",i=a(n),s="true",r=(a,t,n)=>a.replace(t,n),c=Promise,o=a=>(t,n,e)=>a(t)?e?.():n(t),l=globalThis,w=a=>null==a,u=a=>void 0===a,y=a=>null===a,d=a=>!0===a,v=o(w),f=o(u),E=t=>a(t)==i,m=a=>Array.isArray(a),N=a=>a.length,$=a=>0==N(a),_=()=>{},A=a=>new c(a),p=async a=>c.all(a),h=(a,t)=>a?.has(t)??!1,O=a=>u(a)||0==(a=>a?.size??0)(a),T=a=>[...a?.values()??[]],g=a=>a.clear(),I=(a,t)=>a?.forEach(t),S=(a,t)=>a?.delete(t),D=(a,e)=>{throw((a,e)=>Error(t+":"+a+(u(e)?n:":"+e)))(a,e)},R=async(a,t)=>{try{return await a()}catch(a){t?.(a)}},b=(a,t)=>R(a,a=>{R(()=>t?.(a))}),L=async(a,t)=>{try{return await a()}finally{await t()}},C=(a,t)=>a.forEach(t),M=(a,t="")=>a.join(t),P=(a,t)=>a.map(t),F=(a,t)=>a.filter(t),x=(a,t=N(a))=>a.splice(0,t),B=(a,...t)=>a.push(...t),U="_",j="_id",k="SELECT",q="WHERE",J="TABLE",X="ALTER "+J,Y="FROM",z="DELETE "+Y,G=k+"*"+Y,H="pragma_",K="data_version",Q="schema_version",V="pragma_table_",W="CREATE "+J,Z=/\$tableName/g,aa=a=>M(P(((a,t="",n)=>a.split(t,n))(a,"."),a=>`"${r(a,/"/g,'""')}"`),"."),ta=()=>"?",na=(a,t,n=[1])=>M(P(a,()=>t(n)),e),ea=(a,t=s)=>q+`(${ia(t,aa(a))})`,ia=(a,t)=>r(a,Z,t),sa=Object,ra=a=>sa.getPrototypeOf(a),ca=sa.entries,oa=a=>!w(a)&&v(ra(a),a=>a==sa.prototype||w(ra(a)),()=>!0),la=sa.keys,wa=sa.freeze,ua=(...a)=>sa.assign(sa.create(null),...a),ya=(a,t,n)=>(sa.defineProperty(a,t,{configurable:!0,enumerable:!0,value:n,writable:!0}),n),da=(a=[])=>{const t=sa.create(null);return C(a,([a,n])=>ya(t,a,n)),t},va=(a,t)=>(delete a[t],a),fa=(a,t)=>C(la(a),n=>t(a[n],n)),Ea=(a,t)=>P(ca(a),([a,n])=>t(n,a)),ma=(a,t)=>{const n=da();return fa(a,(a,e)=>ya(n,e,t(a,e))),n},Na=a=>N(la(a)),$a=a=>oa(a)&&0==Na(a),_a=Map,Aa=a=>new _a(a),pa=(a,t)=>a?.get(t),ha=(a,t)=>I(a,(a,n)=>t(n,a)),Oa=(a,t)=>{const n=[];return ha(a,(a,e)=>B(n,t(e,a))),n},Ta=(a,t,n)=>u(n)?(S(a,t),a):a?.set(t,n),ga=(a,t,n,e)=>{let i=pa(a,t);return h(a,t)?e?.(i):Ta(a,t,i=n()),i},Ia=(a,t,n,e,i=0)=>f((n?ga:pa)(a,t[i],i>N(t)-2?n:Aa),s=>{if(i>N(t)-2)return e?.(s)&&Ta(a,t[i]),s;const r=Ia(s,t,n,e,i+1);return O(s)&&Ta(a,t[i]),r}),Sa=a=>new Set(m(a)||u(a)?a:[a]),Da=(a,t)=>a?.add(t),Ra="ColumnName",ba="store",La="json",Ca=ba+"TableName",Ma=ba+"Id"+Ra,Pa=ba+Ra,Fa="autoLoadIntervalSeconds",xa="rowId"+Ra,Ba="tableId",Ua="tableName",ja="deleteEmptyColumns",ka="deleteEmptyTable",qa="condition",Ja={mode:La,[Fa]:1},Xa={load:0,save:0,[Ua]:t+"_values"},Ya=a=>m(a)?a:void 0,za=a=>d(a)||m(a),Ga=(a,t,n,e,i)=>{const s=Aa();return fa(a,(a,r)=>{const c=(w=ua(t,E(a)?{[n]:a}:a),o=sa.values(w),l=Na(t),o.slice(0,l));var o,l,w;y(c[0])||e(r,c[0])||(i(r,c[0]),Ta(s,r,c))}),s},Ha=JSON.stringify,Ka=JSON.parse,Qa=a=>""===a?void 0:m(a)?P(a,Qa):oa(a)?ma(a,Qa):a,Va=/^\d+$/,Wa=Aa(),Za=Aa(),at=Aa(),tt=(a,t,e,i,s,r,c,o={},l=0,w=[])=>{let d,v,E,_,p,h=0,T=0,g=0,M=0,U=0,j=0,k=0,q=0,J=0;const X={},Y=o.destroy;ga(Wa,w,()=>0),ga(Za,w,()=>[]),Ta(at,w,(pa(at,w)??0)+1);const z=Aa(),[G,H,K,Q,V]=((a=1,t,n)=>1!=a&&t.isMergeable()?[1,t.__[1],()=>t.__[2](!n),([[a],[t]])=>!$a(a)||!$a(t),t.setDefaultContent]:2!=a?[0,t._[7],t._[8],([a,t])=>!$a(a)||!$a(t),t.setContent]:D(0))(c,a,l),[W,Z,aa]=(a=>{let t;const[e,i]=(()=>{const a=[];let t=0;return[e=>(e?a.shift():null)??n+t++,t=>{Va.test(t)&&N(a)<1e3&&B(a,t)}]})(),s=Aa(),r=(a,e,i,r)=>{let c,o=!1;if(C(((a,t=[n])=>{const e=[],i=(a,n)=>n==N(t)?B(e,a):y(t[n])?I(a,a=>i(a,n+1)):C([t[n],null],t=>i(pa(a,t),n+1));return i(a,0),e})(e,i),n=>I(n,n=>{const e=()=>pa(s,n)[0](t,...i??[],...r);a?(a=>{try{return a()}catch(a){(a=>{o||(c=a),o=!0})?.(a)}})(e):e()})),o)throw c};return[(i,r,c,o=[],l=()=>[])=>{t??=a();const w=e(1);return Ta(s,w,[i,r,c,o,l]),Da(Ia(r,c??[n],Sa),w),w},(a,t,...n)=>r(!1,a,t,n),a=>f(pa(s,a),([,t,e])=>(Ia(t,e??[n],void 0,t=>(S(t,a),O(t)?1:0)),Ta(s,a),i(a),e)),a=>f(pa(s,a),([a,,n=[],e,i])=>{const s=(...r)=>{const c=N(r);c==N(n)?a(t,...r,...i(r)):y(n[c])?C(e[c]?.(...r)??[],a=>s(...r,a)):s(...r,n[c])};s()}),(a,t,...n)=>r(!0,a,t,n)]})(()=>ma),ta=a=>{a!=h&&(h=a,Z(z,void 0,h))},na=()=>{pa(at,w)||pa(Wa,w)||!$(pa(Za,w)??[])||(Ta(Wa,w),Ta(Za,w),Ta(at,w))},ea=t=>{(G&&m(t?.[0])?1===t?.[2]?a.__[4]:a.__[3]:1===t?.[2]?a._[10]:a._[9])(t)},ia=async()=>{va()&&a.__?.[0]?.()&&await ua()},sa=a=>L(()=>v=a,()=>{v==a&&(v=void 0)}),ra=async a=>(2!=h&&(await L(async()=>{ta(1),T++,await Ea(()=>R(async()=>{const n=await t();m(n)?ea(n):u(n)&&a?V(a):u(n)||D(1,n)},t=>{r?.(t),a&&V(a)}))},()=>ta(0)),await ia()),ma),ca=async()=>{const a=k;k=0,a&&a==M&&!J&&(2==h?k=a:await ra())},oa=async a=>{const t=++M;let n=!0;if(await la(!0),t==M&&!J){const e=R(async()=>{const a=await i(async(a,e)=>{if(t==M&&!J)if(e||a){const t=n||2==h||!!j;U++,t&&j++,await L(async()=>{ta(1),T++,await(t?Ea(()=>ea(e??a)):(()=>{try{return ea(e??a)}finally{ta(0)}})())},()=>{t&&j--,--U||ta(0)}),U||await ia()}else 2==h?k=t:await ra()});t!=M||J?u(a)||await s(a):d=a},r);await sa(e),t!=M||J||await L(()=>ra(a),()=>{n=!1})}return ma},la=async(a=!1)=>{k=0,a||M++;const t=v,n=d;return d=void 0,await sa(L(async()=>{await t},async()=>{u(n)||await R(()=>s(n),r)})),ma},ua=async a=>(1!=h&&await L(()=>L(async()=>{ta(2),g++,await Ea(()=>R(()=>e(H,a),r))},()=>ta(0)),ca),ma),ya=async()=>{const t=++q;return await da(!0),t!=q||J||(await ua(),t!=q||J||(E=a.addDidFinishTransactionListener(()=>{if(t==q&&!J){const a=K();Q(a)&&R(()=>ua(a))}}))),ma},da=async(t=!1)=>{t||q++;const n=E;return E=void 0,u(n)||a.delListener(n),ma},va=()=>!u(E),fa=async(a=!1)=>{const[t,n]=a?[da,la]:[la,da];return await L(()=>t(),async()=>{await n()}),ma},Ea=async(...a)=>{let t,n=!1;const e=A(e=>$(a)?e():B(pa(Za,w),...P(a,(i,s)=>{const c=s==N(a)-1;return[async()=>{let a;p=A(t=>a=t),await L(async()=>{try{await R(i,r)}catch(a){n||(n=!0,t=a)}c&&e()},()=>{p=void 0,a()})},c?e:void 0,X]})));if(await(async()=>{if(!pa(Wa,w)){Ta(Wa,w,1);const a=pa(Za,w);let t=0;await L(async()=>{for(;t<N(a);){const n=a[t++];n[2]=void 0,await n[0]()}},()=>{x(a,t),Ta(Wa,w,0),na()})}})(),await e,n)throw t;return ma},ma={load:ra,startAutoLoad:oa,stopAutoLoad:la,isAutoLoading:()=>!u(d),save:ua,startAutoSave:ya,stopAutoSave:da,isAutoSaving:va,startAutoPersisting:async(a,t=!1)=>{const[n,e,i,s]=t?[ya,oa,da,la]:[oa,ya,la,da],r=n(a),c=t?q:M;await r;const o=e(a),l=t?M:q;try{await o}catch(a){throw l==(t?M:q)&&await b(s),c==(t?q:M)&&await b(i),a}return ma},stopAutoPersisting:fa,getStatus:()=>h,addStatusListener:a=>W(a,z),delListener:t=>(aa(t),a),schedule:Ea,getStore:()=>a,getStats:()=>({loads:T,saves:g}),...o,destroy:async()=>(u(_)&&(J=1,_=(async()=>{const a=pa(Za,w),t=F(a,([,a,t])=>t!=X||(a?.(),!1)),n=p;x(a),B(a,...t),await L(()=>L(()=>L(fa,()=>n),()=>Y?.()),()=>{const a=(pa(at,w)??1)-1;Ta(at,w,a||void 0),na()})})()),await _,ma)};return wa(ma)},nt=new l.TextEncoder,et=(a,n,i,r,c,o=it,l,w,y)=>{const d=Aa(),v=Aa();let f=a;return[async()=>{g(d),g(v),C(await i(f,n),({tn:a,cn:t,uq:n})=>{Da(ga(d,a,Sa),t),n&&Da(ga(v,a,Sa),t)})},async(a,t,n,e)=>{const i=u(e)?void 0:Sa(e);return((a,t)=>h(pa(d,a),t))(a,t)?da(F(P(await f(G+aa(a)+ea(a,n)),a=>{const n=a[t],e=w?ma(va(a,t),w):va(a,t);return[n,u(i)?e:da(F(Ea(e,(a,t)=>[t,a]),([a])=>(a=>u(i)||h(i,a))(a)))]}),a=>!u(a[0])&&!$a(a[1]))):{}},async(a,n,i,w,y,E=!1,m=s,N)=>{const _=u(N)?void 0:Sa(N),A=a=>u(_)||h(_,a),O=Sa();fa(i??{},a=>C(F(la(a??{}),A),a=>Da(O,a)));const g=T(O);if(u(_)&&!E&&y&&m==s&&$(g)&&h(d,a))return await f("DROP "+J+aa(a)),Ta(d,a),void Ta(v,a);const I=pa(d,a),D=Sa(F(T(I),a=>a==n||A(a)));if(!$(g))if(h(d,a)){if(await p(P([n,...g],async t=>{S(D,t)||(await f(X+aa(a)+"ADD"+aa(t)+r),Da(I,t))})),o==it&&!h(pa(v,a),n)){const e=t+"_pk_"+(a=>{let t=2166136261;return C(nt.encode(a),a=>{t^=a,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)}),t>>>0})(Ha([a,n]));await f("CREATE UNIQUE INDEX IF NOT EXISTS"+aa(e)+"ON"+aa(a)+`(${aa(n)})`),Da(ga(v,a,Sa),n)}}else await f(W+aa(a)+`(${aa(n)}${r} PRIMARY KEY${M(P(g,a=>e+aa(a)+r))});`),Ta(d,a,Sa([n,...g])),Ta(v,a,Sa([n]));if(await p([...!E&&w?P(T(D),async t=>{t!=n&&(await f(X+aa(a)+"DROP"+aa(t)),S(I,t))}):[]]),E)u(i)?u(_)&&await f(z+aa(a)+ea(a,m)):await p(Ea(i,async(t,e)=>{if(u(t))await f(z+aa(a)+ea(a,m)+`AND(${aa(n)}=${c([1])})`,[e]);else if(!$(g)){const i=F(la(t),A);$(i)||await o(f,a,n,i,{[e]:P(i,a=>l?l(t[a]):t[a])},c,I)}}));else if($(g))u(_)&&h(d,a)&&await f(z+aa(a)+ea(a,m));else{const t=F(T(pa(d,a)),a=>a!=n&&A(a)),e=da(),s=[];fa(i??{},(a,n)=>{ya(e,n,P(t,t=>l?l(a?.[t]):a?.[t])),B(s,n)}),await o(f,a,n,t,e,c,I),await f(z+aa(a)+ea(a,m)+`AND${aa(n)}NOT IN(${na(s,c)})`,s)}},async t=>{if(y)return await y(async a=>{const n=f;return f=a,await L(t,()=>{f=n})});await a("BEGIN");try{const n=await t();return await a("END"),n}catch(t){throw await R(()=>a("ROLLBACK")),t}}]},it=async(a,t,n,i,s,r)=>{const c=[1];await a("INSERT INTO"+aa(t)+"("+((...a)=>M(P(a,aa),e))(n,...i)+")VALUES"+M(Ea(s,a=>"("+r(c)+","+na(a,r,c)+")"),e)+"ON CONFLICT("+aa(n)+")DO UPDATE SET"+M(P(i,a=>aa(a)+"=excluded."+aa(a)),e),Ea(s,(a,t)=>[t,...P(a,a=>a??null)]).flat())},st=(a,t,n,e,i,s,r,[c,o,l],w,y,d,v,f,E,m,N,$,_)=>{const[A,p,h,O]=et(t,w,y,f,E,m,void 0,void 0,_);return tt(a,()=>O(async()=>{return await A(),a=(await p(c,o))[U]?.[l]??"null",Qa(Ka(a));var a}),a=>O(async()=>{var t;await A(),await h(c,o,{[U]:{[l]:(t=a()??null,Ha(t,(a,t)=>u(t)?"":t))}},!0,!0)}),n,e,i,r,{[v]:()=>d,destroy:s},0,d)},rt=(a,t,n,e,i,s,r,[c,o,[l,w,y,d,v]],f,E,m,N,$,_,A,h,O,T)=>{const[g,I,S,D]=et(t,f,E,$,_,A,h,O,T),R=(a,t)=>p(Oa(o,async([n,e,i,s,r],c)=>{var o,l;t&&(o=a,l=c,!sa.hasOwn(o,l))||await S(n,e,a[c],i,s,t,r)})),b=(a,t,n)=>da(1==n?F(Ea(a,(a,t)=>[t,a]),([a])=>{return n=a,t.includes(n);var n}):F(P(t,t=>[t,a[t]]),([,a])=>!u(a))),L=async(a,t)=>w?await S(y,j,{[U]:u(v)?a:b(a,v,t)},!0,!0,t,void 0,v):null;return tt(a,()=>D(async()=>{await g();const a=await(async()=>da(F(await p(Oa(c,async([a,t,n],e)=>[a,await I(e,t,n)])),a=>!$a(a[1]))))(),t=await(async()=>l?(await I(y,j,void 0,d))[U]:{})();return $a(a)&&u(t)?void 0:[a,t]}),(a,t)=>D(async()=>{if(await g(),u(t)){const[t,n]=a();await R(t),await L(n)}else await R(t[0],!0),await L(t[1],!0)}),n,e,i,r,{[N]:()=>m,destroy:s},0,m)},ct=(a,e,i,r,o,l,y,v,f,m,N="getDb",$,_)=>{let A,p,O;const g=((a,t)=>t?async(n,e)=>(t(n,e),await a(n,e)):a)(i,l),[I,S,R,C]=(a=>{const n=(a=>ua(Ja,E(a)?{[Ca]:a}:a??{}))(a),e=n[Fa];if(n.mode==La){const a=n[Ca]??t;return[1,e,[a,n[Ma]??j,n[Pa]??ba],Sa(a)]}const{tables:{load:i={},save:r={}}={},values:c={}}=n,o=ua(Xa,c),{load:l,save:w}=o,u=[za(l),za(w),o[Ua],Ya(l),Ya(w)],y=u[2],d=Sa(y),v=Sa(y),f=Ga(i,{[Ba]:null,[xa]:j,[qa]:s},Ba,a=>h(v,a),a=>Da(d,a)),m=Ga(r,{[Ua]:null,[xa]:j,[ja]:0,[ka]:0,[qa]:null},Ua,(a,t)=>h(v,t),(a,t)=>Da(d,t));return ha(m,(a,t)=>t[4]??=pa(f,t[0])?.[2]??s),[0,e,[f,m,u],d]})(e);return!I&&a.isMergeable()&&D(0),(I?st:rt)(a,g,a=>{let t,n,e=1,i=0,s=0;const l=async(t=!0)=>{const[{d:n,s:i,c:r}]=await g(k+` ${K} d,${Q} s,TOTAL_CHANGES() c FROM ${H}${K} JOIN ${H}${Q}`);if(e&&(n!=A||i!=p||r!=O)){const c=t&&!s&&!w(A);A=n,p=i,O=r,c&&e&&await a()}},d=()=>{u(t)||((a=>{clearInterval(a)})(t),t=void 0)},v=(r=!1)=>{if(n)return n;const c=L(()=>b(async()=>{for(i?r&&await l():(await l(!1),i=1);e&&s;)s=0,await l(!1),e&&(await a(),await l())},y),()=>{n==c&&(n=void 0),e&&(s?v():e&&u(t)&&(t=setInterval(()=>v(!0),1e3*S)))});return n=c,c},f=r(a=>{e&&h(C,a)&&(s=1,d(),c.resolve().then(()=>e?void v():0))});return v().then(()=>async()=>{e=0,s=0,d(),await L(async()=>await n,async()=>{A=p=O=null,await o(f)})})},a=>a(),y,v,f,R,T(C),async(a,t)=>await a(k+` t.name tn,c.name cn,c.pk OR EXISTS(${k} 1 FROM ${H}index_list(t.name)i,${H}index_info(i.name)ii ${q} i."unique"=1 AND ii.name=c.name AND(${k} count(*) FROM ${H}index_info(i.name))=1)uq FROM ${V}list()t,${V}info(t.name)c ${q} t.schema='main'AND t.type IN('table','view')AND t.name IN(${na(t,ta)})ORDER BY t.name,c.name`,t),m,N,n,ta,$,a=>d(a)?1:(a=>!1===a)(a)?0:a,void 0,_)},ot=(a,t,n,e,i)=>ct(a,n,async(a,n=[])=>t.prepare(a).all(...n),()=>_,a=>a(),e,i,_,3,t);export{ot as createSqliteNodePersister};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const a=a=>typeof a,t="tinybase",n="",e=",",i=a(n),s="true",r=(a,t,n)=>a.replace(t,n),c=Promise,o=a=>(t,n,e)=>a(t)?e?.():n(t),l=globalThis,w=a=>null==a,u=a=>void 0===a,y=a=>null===a,d=a=>!0===a,v=o(w),f=o(u),E=t=>a(t)==i,m=a=>Array.isArray(a),N=a=>a.length,$=a=>0==N(a),_=()=>{},A=a=>new c(a),p=async a=>c.all(a),h=(a,t)=>a?.has(t)??!1,O=a=>u(a)||0==(a=>a?.size??0)(a),T=a=>[...a?.values()??[]],g=a=>a.clear(),I=(a,t)=>a?.forEach(t),S=(a,t)=>a?.delete(t),D=(a,e)=>{throw((a,e)=>Error(t+":"+a+(u(e)?n:":"+e)))(a,e)},R=async(a,t)=>{try{return await a()}catch(a){t?.(a)}},b=(a,t)=>R(a,a=>{R(()=>t?.(a))}),L=async(a,t)=>{try{return await a()}finally{await t()}},C=(a,t)=>a.forEach(t),M=(a,t="")=>a.join(t),P=(a,t)=>a.map(t),F=(a,t)=>a.filter(t),x=(a,t=N(a))=>a.splice(0,t),B=(a,...t)=>a.push(...t),U="_",j="_id",k="SELECT",q="WHERE",J="TABLE",X="ALTER "+J,Y="FROM",z="DELETE "+Y,G=k+"*"+Y,H="pragma_",K="data_version",Q="schema_version",V="pragma_table_",W="CREATE "+J,Z=/\$tableName/g,aa=a=>M(P(((a,t="",n)=>a.split(t,n))(a,"."),a=>`"${r(a,/"/g,'""')}"`),"."),ta=()=>"?",na=(a,t,n=[1])=>M(P(a,()=>t(n)),e),ea=(a,t=s)=>q+`(${ia(t,aa(a))})`,ia=(a,t)=>r(a,Z,t),sa=Object,ra=a=>sa.getPrototypeOf(a),ca=sa.entries,oa=a=>!w(a)&&v(ra(a),a=>a==sa.prototype||w(ra(a)),()=>!0),la=sa.keys,wa=sa.freeze,ua=(...a)=>sa.assign(sa.create(null),...a),ya=(a,t,n)=>(sa.defineProperty(a,t,{configurable:!0,enumerable:!0,value:n,writable:!0}),n),da=(a=[])=>{const t=sa.create(null);return C(a,([a,n])=>ya(t,a,n)),t},va=(a,t)=>(delete a[t],a),fa=(a,t)=>C(la(a),n=>t(a[n],n)),Ea=(a,t)=>P(ca(a),([a,n])=>t(n,a)),ma=(a,t)=>{const n=da();return fa(a,(a,e)=>ya(n,e,t(a,e))),n},Na=a=>N(la(a)),$a=a=>oa(a)&&0==Na(a),_a=Map,Aa=a=>new _a(a),pa=(a,t)=>a?.get(t),ha=(a,t)=>I(a,(a,n)=>t(n,a)),Oa=(a,t)=>{const n=[];return ha(a,(a,e)=>B(n,t(e,a))),n},Ta=(a,t,n)=>u(n)?(S(a,t),a):a?.set(t,n),ga=(a,t,n,e)=>{let i=pa(a,t);return h(a,t)?e?.(i):Ta(a,t,i=n()),i},Ia=(a,t,n,e,i=0)=>f((n?ga:pa)(a,t[i],i>N(t)-2?n:Aa),s=>{if(i>N(t)-2)return e?.(s)&&Ta(a,t[i]),s;const r=Ia(s,t,n,e,i+1);return O(s)&&Ta(a,t[i]),r}),Sa=a=>new Set(m(a)||u(a)?a:[a]),Da=(a,t)=>a?.add(t),Ra="ColumnName",ba="store",La="json",Ca=ba+"TableName",Ma=ba+"Id"+Ra,Pa=ba+Ra,Fa="autoLoadIntervalSeconds",xa="rowId"+Ra,Ba="tableId",Ua="tableName",ja="deleteEmptyColumns",ka="deleteEmptyTable",qa="condition",Ja={mode:La,[Fa]:1},Xa={load:0,save:0,[Ua]:t+"_values"},Ya=a=>m(a)?a:void 0,za=a=>d(a)||m(a),Ga=(a,t,n,e,i)=>{const s=Aa();return fa(a,(a,r)=>{const c=(w=ua(t,E(a)?{[n]:a}:a),o=sa.values(w),l=Na(t),o.slice(0,l));var o,l,w;y(c[0])||e(r,c[0])||(i(r,c[0]),Ta(s,r,c))}),s},Ha=JSON.stringify,Ka=JSON.parse,Qa=a=>""===a?void 0:m(a)?P(a,Qa):oa(a)?ma(a,Qa):a,Va=/^\d+$/,Wa=Aa(),Za=Aa(),at=Aa(),tt=(a,t,e,i,s,r,c,o={},l=0,w=[])=>{let d,v,E,_,p,h=0,T=0,g=0,M=0,U=0,j=0,k=0,q=0,J=0;const X={},Y=o.destroy;ga(Wa,w,()=>0),ga(Za,w,()=>[]),Ta(at,w,(pa(at,w)??0)+1);const z=Aa(),[G,H,K,Q,V]=((a=1,t,n)=>1!=a&&t.isMergeable()?[1,t.__[1],()=>t.__[2](!n),([[a],[t]])=>!$a(a)||!$a(t),t.setDefaultContent]:2!=a?[0,t._[7],t._[8],([a,t])=>!$a(a)||!$a(t),t.setContent]:D(0))(c,a,l),[W,Z,aa]=(a=>{let t;const[e,i]=(()=>{const a=[];let t=0;return[e=>(e?a.shift():null)??n+t++,t=>{Va.test(t)&&N(a)<1e3&&B(a,t)}]})(),s=Aa(),r=(a,e,i,r)=>{let c,o=!1;if(C(((a,t=[n])=>{const e=[],i=(a,n)=>n==N(t)?B(e,a):y(t[n])?I(a,a=>i(a,n+1)):C([t[n],null],t=>i(pa(a,t),n+1));return i(a,0),e})(e,i),n=>I(n,n=>{const e=()=>pa(s,n)[0](t,...i??[],...r);a?(a=>{try{return a()}catch(a){(a=>{o||(c=a),o=!0})?.(a)}})(e):e()})),o)throw c};return[(i,r,c,o=[],l=()=>[])=>{t??=a();const w=e(1);return Ta(s,w,[i,r,c,o,l]),Da(Ia(r,c??[n],Sa),w),w},(a,t,...n)=>r(!1,a,t,n),a=>f(pa(s,a),([,t,e])=>(Ia(t,e??[n],void 0,t=>(S(t,a),O(t)?1:0)),Ta(s,a),i(a),e)),a=>f(pa(s,a),([a,,n=[],e,i])=>{const s=(...r)=>{const c=N(r);c==N(n)?a(t,...r,...i(r)):y(n[c])?C(e[c]?.(...r)??[],a=>s(...r,a)):s(...r,n[c])};s()}),(a,t,...n)=>r(!0,a,t,n)]})(()=>ma),ta=a=>{a!=h&&(h=a,Z(z,void 0,h))},na=()=>{pa(at,w)||pa(Wa,w)||!$(pa(Za,w)??[])||(Ta(Wa,w),Ta(Za,w),Ta(at,w))},ea=t=>{(G&&m(t?.[0])?1===t?.[2]?a.__[4]:a.__[3]:1===t?.[2]?a._[10]:a._[9])(t)},ia=async()=>{va()&&a.__?.[0]?.()&&await ua()},sa=a=>L(()=>v=a,()=>{v==a&&(v=void 0)}),ra=async a=>(2!=h&&(await L(async()=>{ta(1),T++,await Ea(()=>R(async()=>{const n=await t();m(n)?ea(n):u(n)&&a?V(a):u(n)||D(1,n)},t=>{r?.(t),a&&V(a)}))},()=>ta(0)),await ia()),ma),ca=async()=>{const a=k;k=0,a&&a==M&&!J&&(2==h?k=a:await ra())},oa=async a=>{const t=++M;let n=!0;if(await la(!0),t==M&&!J){const e=R(async()=>{const a=await i(async(a,e)=>{if(t==M&&!J)if(e||a){const t=n||2==h||!!j;U++,t&&j++,await L(async()=>{ta(1),T++,await(t?Ea(()=>ea(e??a)):(()=>{try{return ea(e??a)}finally{ta(0)}})())},()=>{t&&j--,--U||ta(0)}),U||await ia()}else 2==h?k=t:await ra()});t!=M||J?u(a)||await s(a):d=a},r);await sa(e),t!=M||J||await L(()=>ra(a),()=>{n=!1})}return ma},la=async(a=!1)=>{k=0,a||M++;const t=v,n=d;return d=void 0,await sa(L(async()=>{await t},async()=>{u(n)||await R(()=>s(n),r)})),ma},ua=async a=>(1!=h&&await L(()=>L(async()=>{ta(2),g++,await Ea(()=>R(()=>e(H,a),r))},()=>ta(0)),ca),ma),ya=async()=>{const t=++q;return await da(!0),t!=q||J||(await ua(),t!=q||J||(E=a.addDidFinishTransactionListener(()=>{if(t==q&&!J){const a=K();Q(a)&&R(()=>ua(a))}}))),ma},da=async(t=!1)=>{t||q++;const n=E;return E=void 0,u(n)||a.delListener(n),ma},va=()=>!u(E),fa=async(a=!1)=>{const[t,n]=a?[da,la]:[la,da];return await L(()=>t(),async()=>{await n()}),ma},Ea=async(...a)=>{let t,n=!1;const e=A(e=>$(a)?e():B(pa(Za,w),...P(a,(i,s)=>{const c=s==N(a)-1;return[async()=>{let a;p=A(t=>a=t),await L(async()=>{try{await R(i,r)}catch(a){n||(n=!0,t=a)}c&&e()},()=>{p=void 0,a()})},c?e:void 0,X]})));if(await(async()=>{if(!pa(Wa,w)){Ta(Wa,w,1);const a=pa(Za,w);let t=0;await L(async()=>{for(;t<N(a);){const n=a[t++];n[2]=void 0,await n[0]()}},()=>{x(a,t),Ta(Wa,w,0),na()})}})(),await e,n)throw t;return ma},ma={load:ra,startAutoLoad:oa,stopAutoLoad:la,isAutoLoading:()=>!u(d),save:ua,startAutoSave:ya,stopAutoSave:da,isAutoSaving:va,startAutoPersisting:async(a,t=!1)=>{const[n,e,i,s]=t?[ya,oa,da,la]:[oa,ya,la,da],r=n(a),c=t?q:M;await r;const o=e(a),l=t?M:q;try{await o}catch(a){throw l==(t?M:q)&&await b(s),c==(t?q:M)&&await b(i),a}return ma},stopAutoPersisting:fa,getStatus:()=>h,addStatusListener:a=>W(a,z),delListener:t=>(aa(t),a),schedule:Ea,getStore:()=>a,getStats:()=>({loads:T,saves:g}),...o,destroy:async()=>(u(_)&&(J=1,_=(async()=>{const a=pa(Za,w),t=F(a,([,a,t])=>t!=X||(a?.(),!1)),n=p;x(a),B(a,...t),await L(()=>L(()=>L(fa,()=>n),()=>Y?.()),()=>{const a=(pa(at,w)??1)-1;Ta(at,w,a||void 0),na()})})()),await _,ma)};return wa(ma)},nt=new l.TextEncoder,et=(a,n,i,r,c,o=it,l,w,y)=>{const d=Aa(),v=Aa();let f=a;return[async()=>{g(d),g(v),C(await i(f,n),({tn:a,cn:t,uq:n})=>{Da(ga(d,a,Sa),t),n&&Da(ga(v,a,Sa),t)})},async(a,t,n,e)=>{const i=u(e)?void 0:Sa(e);return((a,t)=>h(pa(d,a),t))(a,t)?da(F(P(await f(G+aa(a)+ea(a,n)),a=>{const n=a[t],e=w?ma(va(a,t),w):va(a,t);return[n,u(i)?e:da(F(Ea(e,(a,t)=>[t,a]),([a])=>(a=>u(i)||h(i,a))(a)))]}),a=>!u(a[0])&&!$a(a[1]))):{}},async(a,n,i,w,y,E=!1,m=s,N)=>{const _=u(N)?void 0:Sa(N),A=a=>u(_)||h(_,a),O=Sa();fa(i??{},a=>C(F(la(a??{}),A),a=>Da(O,a)));const g=T(O);if(u(_)&&!E&&y&&m==s&&$(g)&&h(d,a))return await f("DROP "+J+aa(a)),Ta(d,a),void Ta(v,a);const I=pa(d,a),D=Sa(F(T(I),a=>a==n||A(a)));if(!$(g))if(h(d,a)){if(await p(P([n,...g],async t=>{S(D,t)||(await f(X+aa(a)+"ADD"+aa(t)+r),Da(I,t))})),o==it&&!h(pa(v,a),n)){const e=t+"_pk_"+(a=>{let t=2166136261;return C(nt.encode(a),a=>{t^=a,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)}),t>>>0})(Ha([a,n]));await f("CREATE UNIQUE INDEX IF NOT EXISTS"+aa(e)+"ON"+aa(a)+`(${aa(n)})`),Da(ga(v,a,Sa),n)}}else await f(W+aa(a)+`(${aa(n)}${r} PRIMARY KEY${M(P(g,a=>e+aa(a)+r))});`),Ta(d,a,Sa([n,...g])),Ta(v,a,Sa([n]));if(await p([...!E&&w?P(T(D),async t=>{t!=n&&(await f(X+aa(a)+"DROP"+aa(t)),S(I,t))}):[]]),E)u(i)?u(_)&&await f(z+aa(a)+ea(a,m)):await p(Ea(i,async(t,e)=>{if(u(t))await f(z+aa(a)+ea(a,m)+`AND(${aa(n)}=${c([1])})`,[e]);else if(!$(g)){const i=F(la(t),A);$(i)||await o(f,a,n,i,{[e]:P(i,a=>l?l(t[a]):t[a])},c,I)}}));else if($(g))u(_)&&h(d,a)&&await f(z+aa(a)+ea(a,m));else{const t=F(T(pa(d,a)),a=>a!=n&&A(a)),e=da(),s=[];fa(i??{},(a,n)=>{ya(e,n,P(t,t=>l?l(a?.[t]):a?.[t])),B(s,n)}),await o(f,a,n,t,e,c,I),await f(z+aa(a)+ea(a,m)+`AND${aa(n)}NOT IN(${na(s,c)})`,s)}},async t=>{if(y)return await y(async a=>{const n=f;return f=a,await L(t,()=>{f=n})});await a("BEGIN");try{const n=await t();return await a("END"),n}catch(t){throw await R(()=>a("ROLLBACK")),t}}]},it=async(a,t,n,i,s,r)=>{const c=[1];await a("INSERT INTO"+aa(t)+"("+((...a)=>M(P(a,aa),e))(n,...i)+")VALUES"+M(Ea(s,a=>"("+r(c)+","+na(a,r,c)+")"),e)+"ON CONFLICT("+aa(n)+")DO UPDATE SET"+M(P(i,a=>aa(a)+"=excluded."+aa(a)),e),Ea(s,(a,t)=>[t,...P(a,a=>a??null)]).flat())},st=(a,t,n,e,i,s,r,[c,o,l],w,y,d,v,f,E,m,N,$,_)=>{const[A,p,h,O]=et(t,w,y,f,E,m,void 0,void 0,_);return tt(a,()=>O(async()=>{return await A(),a=(await p(c,o))[U]?.[l]??"null",Qa(Ka(a));var a}),a=>O(async()=>{var t;await A(),await h(c,o,{[U]:{[l]:(t=a()??null,Ha(t,(a,t)=>u(t)?"":t))}},!0,!0)}),n,e,i,r,{[v]:()=>d,destroy:s},0,d)},rt=(a,t,n,e,i,s,r,[c,o,[l,w,y,d,v]],f,E,m,N,$,_,A,h,O,T)=>{const[g,I,S,D]=et(t,f,E,$,_,A,h,O,T),R=(a,t)=>p(Oa(o,async([n,e,i,s,r],c)=>{var o,l;t&&(o=a,l=c,!sa.hasOwn(o,l))||await S(n,e,a[c],i,s,t,r)})),b=(a,t,n)=>da(1==n?F(Ea(a,(a,t)=>[t,a]),([a])=>{return n=a,t.includes(n);var n}):F(P(t,t=>[t,a[t]]),([,a])=>!u(a))),L=async(a,t)=>w?await S(y,j,{[U]:u(v)?a:b(a,v,t)},!0,!0,t,void 0,v):null;return tt(a,()=>D(async()=>{await g();const a=await(async()=>da(F(await p(Oa(c,async([a,t,n],e)=>[a,await I(e,t,n)])),a=>!$a(a[1]))))(),t=await(async()=>l?(await I(y,j,void 0,d))[U]:{})();return $a(a)&&u(t)?void 0:[a,t]}),(a,t)=>D(async()=>{if(await g(),u(t)){const[t,n]=a();await R(t),await L(n)}else await R(t[0],!0),await L(t[1],!0)}),n,e,i,r,{[N]:()=>m,destroy:s},0,m)},ct=(a,e,i,r,o,l,y,v,f,m,N="getDb",$,_)=>{let A,p,O;const g=((a,t)=>t?async(n,e)=>(t(n,e),await a(n,e)):a)(i,l),[I,S,R,C]=(a=>{const n=(a=>ua(Ja,E(a)?{[Ca]:a}:a??{}))(a),e=n[Fa];if(n.mode==La){const a=n[Ca]??t;return[1,e,[a,n[Ma]??j,n[Pa]??ba],Sa(a)]}const{tables:{load:i={},save:r={}}={},values:c={}}=n,o=ua(Xa,c),{load:l,save:w}=o,u=[za(l),za(w),o[Ua],Ya(l),Ya(w)],y=u[2],d=Sa(y),v=Sa(y),f=Ga(i,{[Ba]:null,[xa]:j,[qa]:s},Ba,a=>h(v,a),a=>Da(d,a)),m=Ga(r,{[Ua]:null,[xa]:j,[ja]:0,[ka]:0,[qa]:null},Ua,(a,t)=>h(v,t),(a,t)=>Da(d,t));return ha(m,(a,t)=>t[4]??=pa(f,t[0])?.[2]??s),[0,e,[f,m,u],d]})(e);return!I&&a.isMergeable()&&D(0),(I?st:rt)(a,g,a=>{let t,n,e=1,i=0,s=0;const l=async(t=!0)=>{const[{d:n,s:i,c:r}]=await g(k+` ${K} d,${Q} s,TOTAL_CHANGES() c FROM ${H}${K} JOIN ${H}${Q}`);if(e&&(n!=A||i!=p||r!=O)){const c=t&&!s&&!w(A);A=n,p=i,O=r,c&&e&&await a()}},d=()=>{u(t)||((a=>{clearInterval(a)})(t),t=void 0)},v=(r=!1)=>{if(n)return n;const c=L(()=>b(async()=>{for(i?r&&await l():(await l(!1),i=1);e&&s;)s=0,await l(!1),e&&(await a(),await l())},y),()=>{n==c&&(n=void 0),e&&(s?v():e&&u(t)&&(t=setInterval(()=>v(!0),1e3*S)))});return n=c,c},f=r(a=>{e&&h(C,a)&&(s=1,d(),c.resolve().then(()=>e?void v():0))});return v().then(()=>async()=>{e=0,s=0,d(),await L(async()=>await n,async()=>{A=p=O=null,await o(f)})})},a=>a(),y,v,f,R,T(C),async(a,t)=>await a(k+` t.name tn,c.name cn,c.pk OR EXISTS(${k} 1 FROM ${H}index_list(t.name)i,${H}index_info(i.name)ii ${q} i."unique"=1 AND ii.name=c.name AND(${k} count(*) FROM ${H}index_info(i.name))=1)uq FROM ${V}list()t,${V}info(t.name)c ${q} t.schema='main'AND t.type IN('table','view')AND t.name IN(${na(t,ta)})ORDER BY t.name,c.name`,t),m,N,n,ta,$,a=>d(a)?1:(a=>!1===a)(a)?0:a,void 0,_)},ot=(a,t,n,e,i)=>ct(a,n,async(a,n=[])=>t.prepare(a).all(...n),()=>_,a=>a(),e,i,_,3,t);export{ot as createSqliteNodePersister};
|
|
Binary file
|