tinybase 9.0.0-beta.0 → 9.0.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.
Files changed (219) hide show
  1. package/@types/mergeable-store/index.d.ts +4 -4
  2. package/@types/mergeable-store/with-schemas/index.d.ts +41 -17
  3. package/@types/persisters/index.d.ts +2 -1
  4. package/@types/persisters/with-schemas/index.d.ts +16 -10
  5. package/@types/queries/index.d.ts +4 -0
  6. package/@types/queries/with-schemas/index.d.ts +4 -0
  7. package/index.js +46 -6
  8. package/mergeable-store/index.js +46 -6
  9. package/mergeable-store/with-schemas/index.js +46 -6
  10. package/min/index.js +1 -1
  11. package/min/index.js.gz +0 -0
  12. package/min/mergeable-store/index.js +1 -1
  13. package/min/mergeable-store/index.js.gz +0 -0
  14. package/min/mergeable-store/with-schemas/index.js +1 -1
  15. package/min/mergeable-store/with-schemas/index.js.gz +0 -0
  16. package/min/omni/index.js +1 -1
  17. package/min/omni/index.js.gz +0 -0
  18. package/min/omni/with-schemas/index.js +1 -1
  19. package/min/omni/with-schemas/index.js.gz +0 -0
  20. package/min/persisters/index.js +1 -1
  21. package/min/persisters/index.js.gz +0 -0
  22. package/min/persisters/persister-automerge/index.js +1 -1
  23. package/min/persisters/persister-automerge/index.js.gz +0 -0
  24. package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  25. package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  26. package/min/persisters/persister-browser/index.js +1 -1
  27. package/min/persisters/persister-browser/index.js.gz +0 -0
  28. package/min/persisters/persister-browser/with-schemas/index.js +1 -1
  29. package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  30. package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  31. package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  32. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  33. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  34. package/min/persisters/persister-durable-object-sql-storage/index.js +1 -1
  35. package/min/persisters/persister-durable-object-sql-storage/index.js.gz +0 -0
  36. package/min/persisters/persister-durable-object-sql-storage/with-schemas/index.js +1 -1
  37. package/min/persisters/persister-durable-object-sql-storage/with-schemas/index.js.gz +0 -0
  38. package/min/persisters/persister-durable-object-storage/index.js +1 -1
  39. package/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
  40. package/min/persisters/persister-durable-object-storage/with-schemas/index.js +1 -1
  41. package/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
  42. package/min/persisters/persister-electric-sql/index.js +1 -1
  43. package/min/persisters/persister-electric-sql/index.js.gz +0 -0
  44. package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  45. package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  46. package/min/persisters/persister-expo-sqlite/index.js +1 -1
  47. package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  48. package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  49. package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  50. package/min/persisters/persister-file/index.js +1 -1
  51. package/min/persisters/persister-file/index.js.gz +0 -0
  52. package/min/persisters/persister-file/with-schemas/index.js +1 -1
  53. package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  54. package/min/persisters/persister-indexed-db/index.js +1 -1
  55. package/min/persisters/persister-indexed-db/index.js.gz +0 -0
  56. package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  57. package/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  58. package/min/persisters/persister-libsql/index.js +1 -1
  59. package/min/persisters/persister-libsql/index.js.gz +0 -0
  60. package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  61. package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  62. package/min/persisters/persister-partykit-client/index.js +1 -1
  63. package/min/persisters/persister-partykit-client/index.js.gz +0 -0
  64. package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  65. package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  66. package/min/persisters/persister-pglite/index.js +1 -1
  67. package/min/persisters/persister-pglite/index.js.gz +0 -0
  68. package/min/persisters/persister-pglite/with-schemas/index.js +1 -1
  69. package/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  70. package/min/persisters/persister-postgres/index.js +1 -1
  71. package/min/persisters/persister-postgres/index.js.gz +0 -0
  72. package/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  73. package/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  74. package/min/persisters/persister-powersync/index.js +1 -1
  75. package/min/persisters/persister-powersync/index.js.gz +0 -0
  76. package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  77. package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  78. package/min/persisters/persister-react-native-mmkv/index.js +1 -1
  79. package/min/persisters/persister-react-native-mmkv/index.js.gz +0 -0
  80. package/min/persisters/persister-react-native-mmkv/with-schemas/index.js +1 -1
  81. package/min/persisters/persister-react-native-mmkv/with-schemas/index.js.gz +0 -0
  82. package/min/persisters/persister-react-native-sqlite/index.js +1 -1
  83. package/min/persisters/persister-react-native-sqlite/index.js.gz +0 -0
  84. package/min/persisters/persister-react-native-sqlite/with-schemas/index.js +1 -1
  85. package/min/persisters/persister-react-native-sqlite/with-schemas/index.js.gz +0 -0
  86. package/min/persisters/persister-remote/index.js +1 -1
  87. package/min/persisters/persister-remote/index.js.gz +0 -0
  88. package/min/persisters/persister-remote/with-schemas/index.js +1 -1
  89. package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  90. package/min/persisters/persister-sqlite-bun/index.js +1 -1
  91. package/min/persisters/persister-sqlite-bun/index.js.gz +0 -0
  92. package/min/persisters/persister-sqlite-bun/with-schemas/index.js +1 -1
  93. package/min/persisters/persister-sqlite-bun/with-schemas/index.js.gz +0 -0
  94. package/min/persisters/persister-sqlite-wasm/index.js +1 -1
  95. package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  96. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  97. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  98. package/min/persisters/persister-sqlite3/index.js +1 -1
  99. package/min/persisters/persister-sqlite3/index.js.gz +0 -0
  100. package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  101. package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  102. package/min/persisters/persister-yjs/index.js +1 -1
  103. package/min/persisters/persister-yjs/index.js.gz +0 -0
  104. package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  105. package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  106. package/min/persisters/with-schemas/index.js +1 -1
  107. package/min/persisters/with-schemas/index.js.gz +0 -0
  108. package/min/store/index.js +1 -1
  109. package/min/store/index.js.gz +0 -0
  110. package/min/store/with-schemas/index.js +1 -1
  111. package/min/store/with-schemas/index.js.gz +0 -0
  112. package/min/synchronizers/index.js +1 -1
  113. package/min/synchronizers/index.js.gz +0 -0
  114. package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  115. package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  116. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  117. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  118. package/min/synchronizers/synchronizer-local/index.js +1 -1
  119. package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  120. package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  121. package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  122. package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  123. package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  124. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  125. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  126. package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  127. package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  128. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  129. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  130. package/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -1
  131. package/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
  132. package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -1
  133. package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
  134. package/min/synchronizers/with-schemas/index.js +1 -1
  135. package/min/synchronizers/with-schemas/index.js.gz +0 -0
  136. package/min/ui-react-inspector/index.js +1 -1
  137. package/min/ui-react-inspector/index.js.gz +0 -0
  138. package/min/ui-react-inspector/with-schemas/index.js +1 -1
  139. package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  140. package/min/ui-solid-inspector/index.js +1 -1
  141. package/min/ui-solid-inspector/index.js.gz +0 -0
  142. package/min/ui-solid-inspector/with-schemas/index.js +1 -1
  143. package/min/ui-solid-inspector/with-schemas/index.js.gz +0 -0
  144. package/min/ui-svelte-inspector/index.js +1 -1
  145. package/min/ui-svelte-inspector/index.js.gz +0 -0
  146. package/min/ui-svelte-inspector/with-schemas/index.js +1 -1
  147. package/min/ui-svelte-inspector/with-schemas/index.js.gz +0 -0
  148. package/min/with-schemas/index.js +1 -1
  149. package/min/with-schemas/index.js.gz +0 -0
  150. package/omni/index.js +53 -14
  151. package/omni/with-schemas/index.js +53 -14
  152. package/package.json +3 -3
  153. package/persisters/index.js +4 -3
  154. package/persisters/persister-automerge/index.js +4 -3
  155. package/persisters/persister-automerge/with-schemas/index.js +4 -3
  156. package/persisters/persister-browser/index.js +4 -3
  157. package/persisters/persister-browser/with-schemas/index.js +4 -3
  158. package/persisters/persister-cr-sqlite-wasm/index.js +4 -3
  159. package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +4 -3
  160. package/persisters/persister-durable-object-sql-storage/index.js +4 -3
  161. package/persisters/persister-durable-object-sql-storage/with-schemas/index.js +4 -3
  162. package/persisters/persister-durable-object-storage/index.js +4 -3
  163. package/persisters/persister-durable-object-storage/with-schemas/index.js +4 -3
  164. package/persisters/persister-electric-sql/index.js +4 -3
  165. package/persisters/persister-electric-sql/with-schemas/index.js +4 -3
  166. package/persisters/persister-expo-sqlite/index.js +4 -3
  167. package/persisters/persister-expo-sqlite/with-schemas/index.js +4 -3
  168. package/persisters/persister-file/index.js +4 -3
  169. package/persisters/persister-file/with-schemas/index.js +4 -3
  170. package/persisters/persister-indexed-db/index.js +4 -3
  171. package/persisters/persister-indexed-db/with-schemas/index.js +4 -3
  172. package/persisters/persister-libsql/index.js +4 -3
  173. package/persisters/persister-libsql/with-schemas/index.js +4 -3
  174. package/persisters/persister-partykit-client/index.js +4 -3
  175. package/persisters/persister-partykit-client/with-schemas/index.js +4 -3
  176. package/persisters/persister-pglite/index.js +4 -3
  177. package/persisters/persister-pglite/with-schemas/index.js +4 -3
  178. package/persisters/persister-postgres/index.js +4 -3
  179. package/persisters/persister-postgres/with-schemas/index.js +4 -3
  180. package/persisters/persister-powersync/index.js +4 -3
  181. package/persisters/persister-powersync/with-schemas/index.js +4 -3
  182. package/persisters/persister-react-native-mmkv/index.js +4 -3
  183. package/persisters/persister-react-native-mmkv/with-schemas/index.js +4 -3
  184. package/persisters/persister-react-native-sqlite/index.js +4 -3
  185. package/persisters/persister-react-native-sqlite/with-schemas/index.js +4 -3
  186. package/persisters/persister-remote/index.js +4 -3
  187. package/persisters/persister-remote/with-schemas/index.js +4 -3
  188. package/persisters/persister-sqlite-bun/index.js +4 -3
  189. package/persisters/persister-sqlite-bun/with-schemas/index.js +4 -3
  190. package/persisters/persister-sqlite-wasm/index.js +4 -3
  191. package/persisters/persister-sqlite-wasm/with-schemas/index.js +4 -3
  192. package/persisters/persister-sqlite3/index.js +4 -3
  193. package/persisters/persister-sqlite3/with-schemas/index.js +4 -3
  194. package/persisters/persister-yjs/index.js +4 -3
  195. package/persisters/persister-yjs/with-schemas/index.js +4 -3
  196. package/persisters/with-schemas/index.js +4 -3
  197. package/readme.md +3 -3
  198. package/releases.md +16 -1
  199. package/store/index.js +33 -2
  200. package/store/with-schemas/index.js +33 -2
  201. package/synchronizers/index.js +4 -3
  202. package/synchronizers/synchronizer-broadcast-channel/index.js +4 -3
  203. package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +4 -3
  204. package/synchronizers/synchronizer-local/index.js +4 -3
  205. package/synchronizers/synchronizer-local/with-schemas/index.js +4 -3
  206. package/synchronizers/synchronizer-ws-client/index.js +4 -3
  207. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +4 -3
  208. package/synchronizers/synchronizer-ws-server/index.js +7 -8
  209. package/synchronizers/synchronizer-ws-server/with-schemas/index.js +7 -8
  210. package/synchronizers/synchronizer-ws-server-durable-object/index.js +3 -3
  211. package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +3 -3
  212. package/synchronizers/with-schemas/index.js +4 -3
  213. package/ui-react-inspector/index.js +36 -5
  214. package/ui-react-inspector/with-schemas/index.js +36 -5
  215. package/ui-solid-inspector/index.js +36 -5
  216. package/ui-solid-inspector/with-schemas/index.js +36 -5
  217. package/ui-svelte-inspector/index.js +36 -5
  218. package/ui-svelte-inspector/with-schemas/index.js +36 -5
  219. package/with-schemas/index.js +46 -6
package/min/omni/index.js CHANGED
@@ -1 +1 @@
1
- import{addDatabaseChangeListener as e}from"expo-sqlite";import{existsSync as t,writeFileSync as a,watch as s}from"fs";import{writeFile as n,readFile as o}from"fs/promises";import{Map as r}from"yjs";import{DurableObject as i}from"cloudflare:workers";const l=e=>typeof e,c="tinybase",d="",u=",",g=l(d),w=l(!0),h=l(0),y=l(l),f="object",b="array",v="true",S="type",C="default",p="allowNull",m="utf8",R="Listener",T="Result",I="add",L="Has",E="Ids",D="Table",N=D+"s",M=D+E,O="Row",A=O+"Count",P=O+E,k="Sorted"+O+E,_="Cell",V=_+E,$="Value",x=$+"s",W=$+E,H="message",F="error",J="t",U="v",j=e=>d+e,G=(e,t)=>e.startsWith(t),q=(e,t)=>e.endsWith(t),z=(e,t)=>e?.match(t),B=(e,t=d,a)=>e.split(t,a),Q=(e,t,a)=>e.replace(t,a),Y=Promise,X=Math,K=e=>(t,a,s)=>e(t)?s?.():a(t),Z=globalThis,ee=Z.window,te=String,ae=(e,t,a)=>setInterval(e,1e3*t),se=clearInterval,ne=(e,t=0)=>setTimeout(e,1e3*t),oe=clearTimeout,re=X.max,ie=X.min,le=X.floor,ce=X.random,de=isFinite,ue=e=>null==e,ge=e=>void 0===e,we=e=>null===e,he=e=>!0===e,ye=e=>!1===e,fe=K(ue),be=K(ge),ve=e=>e==g||e==w,Se=e=>l(e)==g,Ce=e=>l(e)==y,pe=e=>Array.isArray(e),me=(e,t,a)=>e.slice(t,a),Re=e=>e.length,Te=()=>{},Ie=()=>{},Le=e=>new Y(e),Ee=async e=>Y.all(e),De=Z.structuredClone,Ne=e=>{throw Error(e)},Me=async(e,t,a)=>{try{return await e()}catch(e){t?.(e)}},Oe=(e,t)=>e.includes(t),Ae=(e,t)=>e.every(t),Pe=(e,t)=>Re(e)===Re(t)&&Ae(e,(e,a)=>t[a]===e),ke=(e,t)=>Ae(e,(a,s)=>0==s||t(e[s-1],a)<=0),_e=(e,t)=>e.sort(t),Ve=(e,t)=>e.forEach(t),$e=(e,t=d)=>e.join(t),xe=(e,t)=>e.map(t),We=e=>Fe(e,(e,t)=>e+t,0),He=e=>0==Re(e),Fe=(e,t,a)=>e.reduce(t,a),Je=(e,t)=>e.filter(t),Ue=(e,t)=>e.splice(0,t),je=(e,...t)=>e.push(...t),Ge=e=>e.pop(),qe=(e,...t)=>e.unshift(...t),ze=e=>e.shift(),Be=e=>t=>Fe(tt(t),(t,a)=>t+e(a),0),Qe=e=>e?.size??0,Ye=Be(Qe),Xe=Be(Ye),Ke=Be(Xe),Ze=(e,t)=>e?.has(t)??!1,et=e=>ge(e)||0==Qe(e),tt=e=>[...e?.values()??[]],at=e=>e.clear(),st=(e,t)=>e?.forEach(t),nt=(e,t)=>e?.delete(t),ot=Object,rt=e=>ot.getPrototypeOf(e),it=ot.isFrozen,lt=ot.entries,ct=e=>!ue(e)&&fe(rt(e),e=>e==ot.prototype||ue(rt(e)),()=>!0),dt=ot.keys,ut=ot.freeze,gt=(e=[])=>ot.fromEntries(e),wt=(...e)=>ot.assign({},...e),ht=(e,t)=>be(e,e=>e[t]),yt=(e,t)=>t in e,ft=(e,t)=>(delete e[t],e),bt=(e,t)=>Ve(lt(e),([e,a])=>t(a,e)),vt=(e,t)=>xe(lt(e),([e,a])=>t(a,e)),St=(e,t)=>gt(vt(e,(e,a)=>[a,t(e,a)])),Ct=e=>ot.values(e),pt=e=>Re(dt(e)),mt=e=>ct(e)&&0==pt(e),Rt=(e,t,a=(e,t)=>e===t)=>{const s=lt(e);return Re(s)===pt(t)&&Ae(s,([e,s])=>ct(s)?!!ct(t[e])&&Rt(t[e],s,a):a(s,t[e]))},Tt=(e,t,a)=>(yt(e,t)||(e[t]=a()),e[t]),It=(e,t,a,s=0)=>ue(e)||!ct(e)||!s&&mt(e)||it(e)?(a?.(),!1):(bt(e,(a,s)=>{t(a,s)||ft(e,s)}),!!s||!mt(e)),Lt=Map,Et=e=>new Lt(e),Dt=e=>[...e?.keys()??[]],Nt=(e,t)=>e?.get(t),Mt=(e,t)=>st(e,(e,a)=>t(a,e)),Ot=(e,t)=>xe([...e?.entries()??[]],([e,a])=>t(a,e)),At=(e,t,a)=>ge(a)?(nt(e,t),e):e?.set(t,a),Pt=(e,t,a,s)=>(Ze(e,t)?s?.(Nt(e,t)):At(e,t,a()),Nt(e,t)),kt=(e,t,a,s=At)=>(St(t,(t,s)=>a(e,s,t)),Mt(e,a=>yt(t,a)?0:s(e,a)),e),_t=(e,t,a,s)=>{const n={};return st(e,(e,o)=>{if(!a?.(e,o)){const a=t?t(e,o):e;s?.(a)||(n[o]=a)}}),n},Vt=(e,t,a)=>_t(e,e=>_t(e,t,a),et,mt),$t=(e,t,a)=>_t(e,e=>Vt(e,t,a),et,mt),xt=(e,t)=>{const a=Et();return st(e,(e,s)=>a.set(s,t?.(e)??e)),a},Wt=e=>xt(e,xt),Ht=e=>xt(e,Wt),Ft=(e,t,a,s,n=0)=>be((a?Pt:Nt)(e,t[n],n>Re(t)-2?a:Et),o=>{if(n>Re(t)-2)return s?.(o)&&At(e,t[n]),o;const r=Ft(o,t,a,s,n+1);return et(o)&&At(e,t[n]),r}),Jt=e=>new Set(pe(e)||ge(e)?e:[e]),Ut=(e,t)=>e?.add(t),jt=(e,t,a,s,n)=>{const o=e.hasRow,r=Et(),i=Et(),l=Et(),c=Et(),d=Et(),u=Et(),g=t=>be(Nt(u,t),a=>{Ve(tt(a),t=>{e.delListener(t),nt(a,t)}),At(u,t)}),w=(e,a)=>{At(r,e,a),Ze(i,e)||(At(i,e,t()),At(c,e,Et()),At(d,e,Et()),n(l))},h=e=>{At(r,e),At(i,e),At(c,e),At(d,e),g(e),n(l)};return[()=>e,()=>Dt(r),e=>Mt(i,e),e=>Ze(i,e),e=>Nt(r,e),e=>Nt(i,e),(e,t)=>At(i,e,t),w,(t,s,n,r,i)=>{w(t,s);const l=Et(),h=Et(),y=Nt(c,t),f=Nt(d,t),b=t=>{const n=a=>e.getCell(s,t,a),c=Nt(y,t),d=o(s,t)?a(r(n,t)):void 0;if(c===d||pe(c)&&pe(d)&&Pe(c,d)||At(l,t,[c,d]),!ge(i)){const e=Nt(f,t),a=o(s,t)?i(n,t):void 0;e!=a&&At(h,t,a)}},v=e=>{n(()=>{st(l,([,e],t)=>At(y,t,e)),st(h,(e,t)=>At(f,t,e))},l,h,y,f,e),at(l),at(h)};Mt(y,b),e.hasTable(s)&&Ve(e.getRowIds(s),e=>{Ze(y,e)||b(e)}),v(!0),g(t),((e,...t)=>{const a=Pt(u,e,Jt);Ve(t,e=>Ut(a,e))})(t,e.addRowListener(s,null,(e,t,a)=>b(a)),e.addTableListener(s,()=>v()))},h,e=>s(e,l),()=>Mt(u,h)]},Gt=(e,t)=>Se(e)?t=>t(e):e??(()=>t??d),qt=(e,t)=>{const a=new WeakMap;return s=>{a.has(s)||a.set(s,e(s));const n=a.get(s);return t?.(n),n}},zt=/^\d+$/,Bt=()=>{const e=[];let t=0;return[a=>(a?ze(e):null)??d+t++,t=>{zt.test(t)&&Re(e)<1e3&&je(e,t)}]},Qt=e=>{let t;const[a,s]=Bt(),n=Et();return[(s,o,r,i=[],l=()=>[])=>{t??=e();const c=a(1);return At(n,c,[s,o,r,i,l]),Ut(Ft(o,r??[d],Jt),c),c},(e,a,...s)=>Ve(((e,t=[d])=>{const a=[],s=(e,n)=>n==Re(t)?je(a,e):we(t[n])?st(e,e=>s(e,n+1)):Ve([t[n],null],t=>s(Nt(e,t),n+1));return s(e,0),a})(e,a),e=>st(e,e=>Nt(n,e)[0](t,...a??[],...s))),e=>be(Nt(n,e),([,t,a])=>(Ft(t,a??[d],void 0,t=>(nt(t,e),et(t)?1:0)),At(n,e),s(e),a)),e=>be(Nt(n,e),([e,,a=[],s,n])=>{const o=(...r)=>{const i=Re(r);i==Re(a)?e(t,...r,...n(r)):we(a[i])?Ve(s[i]?.(...r)??[],e=>o(...r,e)):o(...r,a[i])};o()})]},Yt=qt(e=>{let t,a,s,n=100,o=Et(),r=Et(),i=1;const l=Et(),c=Et(),[u,g,w]=Qt(()=>P),h=Et(),y=Et(),f=[],b=[],v=(t,a)=>{i=0,e.transaction(()=>{const[s,n]=Nt(h,a);st(s,(a,s)=>st(a,(a,n)=>st(a,(a,o)=>e._[5](s,n,o,a[t],!0)))),st(n,(a,s)=>e._[6](s,a[t],!0))}),i=1},S=e=>{At(h,e),At(y,e),g(c,[e])},C=(e,t)=>Ve(Ue(e,t??Re(e)),S),p=()=>C(f,Re(f)-n),m=()=>be(t,()=>{je(f,t),p(),C(b),t=void 0,s=1}),R=()=>{t=Ge(f),s=1};let T,I;const L=(e=d)=>(ge(t)&&(t=d+a++,At(h,t,[o,r]),O(t,e),o=Et(),r=Et(),s=1),t),E=()=>{He(f)||(qe(b,L()),v(0,t),t=Ge(f),s=1)},D=()=>{He(b)||(je(f,t),t=ze(b),v(1,t),s=1)},N=()=>{s&&(g(l),s=0)},M=e=>{const t=L(e);return N(),t},O=(e,t)=>(A(e)&&Nt(y,e)!==t&&(At(y,e,t),g(c,[e])),P),A=e=>Ze(h,e),P={setSize:e=>(n=e,p(),P),addCheckpoint:M,setCheckpoint:O,getStore:()=>e,getCheckpointIds:()=>[[...f],t,[...b]],forEachCheckpoint:e=>Mt(y,e),hasCheckpoint:A,getCheckpoint:e=>Nt(y,e),goBackward:()=>(E(),N(),P),goForward:()=>(D(),N(),P),goTo:e=>{const a=Oe(f,e)?E:Oe(b,e)?D:void 0;for(;!ge(a)&&e!=t;)a();return N(),P},addCheckpointIdsListener:e=>u(e,l),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(w(e),P),clear:()=>(C(f),C(b),ge(t)||S(t),t=void 0,a=0,M(),P),clearForward:()=>(He(b)||(C(b),g(l)),P),destroy:()=>{e.delListener(T),e.delListener(I)},getListenerStats:()=>({checkpointIds:Ye(l),checkpoint:Ye(c)}),_registerListeners:()=>{T=e.addCellListener(null,null,null,(e,t,a,s,n,r)=>{if(i){m();const e=Pt(o,t,Et),i=Pt(e,a,Et),l=Pt(i,s,()=>[r,void 0]);l[1]=n,l[0]===n&&et(At(i,s))&&et(At(e,a))&&et(At(o,t))&&R(),N()}}),I=e.addValueListener(null,(e,t,a,s)=>{if(i){m();const e=Pt(r,t,()=>[s,void 0]);e[1]=a,e[0]===a&&et(At(r,t))&&R(),N()}})}};return ut(P.clear())},e=>e._registerListeners()),Xt=B("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),Kt=Et(xe(Xt,(e,t)=>[e,t])),Zt=e=>Xt[63&e],ea=(e,t)=>Nt(Kt,e[t])??0,ta=Z.crypto?e=>Z.crypto.getRandomValues(e):e=>xe(e,()=>le(256*ce())),aa=(e=16)=>Fe(ta(new Uint8Array(e)),(e,t)=>e+Zt(t),d),sa=JSON.stringify,na=JSON.parse,oa=e=>sa(e,(e,t)=>t instanceof Map?ot.fromEntries([...t]):t),ra=e=>sa(e,(e,t)=>ge(t)?"":t),ia=e=>la(na(e)),la=e=>""===e?void 0:pe(e)?xe(e,la):ct(e)?St(e,la):e,ca=new Z.TextEncoder,da=e=>{let t=2166136261;return Ve(ca.encode(e),e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)}),t>>>0},ua=(e,t)=>(e^t)>>>0,ga=e=>Fe(lt(e),(e,[t,a])=>ua(e,wa(t,a)^wa(t,0)),0),wa=(e,t)=>da(e+":"+t),ha=(e,t)=>da(oa(e??null)+":"+t),ya=ha,fa=wa,ba=ga,va=wa,Sa=e=>Fe(lt(e),(e,[t,a])=>ua(e,wa(t,a)),0),Ca=wa,pa=Sa,ma=2**36,Ra=2**30,Ta=2**24,Ia=2**18,La=4096,Ea=e=>{const t=da(e);return Zt(t/Ta)+Zt(t/Ia)+Zt(t/La)+Zt(t/64)+Zt(t)},Da=(e,t=Date.now)=>{let a=0,s=-1;const n=be(e,Ea,()=>aa(5)),o=e=>{const n=a,[o,r]=ge(e)||e==d?[0,0]:i(e);a=re(n,o,t()),s=a==n?a==o?re(s,r):s:a==o?r:-1},r=(e,t,a)=>Zt(e/ma)+Zt(e/Ra)+Zt(e/Ta)+Zt(e/Ia)+Zt(e/La)+Zt(e/64)+Zt(e)+Zt(t/Ia)+Zt(t/La)+Zt(t/64)+Zt(t)+(ge(a)?n:Ea(a)),i=e=>[ea(e,0)*ma+ea(e,1)*Ra+ea(e,2)*Ta+ea(e,3)*Ia+ea(e,4)*La+64*ea(e,5)+ea(e,6),ea(e,7)*Ia+ea(e,8)*La+64*ea(e,9)+ea(e,10),e.slice(11)];return[()=>(o(),r(a,++s)),o,r,i,()=>a,()=>s,()=>n]},Na=(e,t)=>(e??0)<(t??0)?-1:1,Ma=qt(e=>{const t=Et(),a=Et(),[s,n,o]=Qt(()=>S),[r,i,l,c,u,g,w,,h,y,f,b]=jt(e,Et,e=>ge(e)?d:pe(e)?xe(e,j):j(e),s,n),v=(t,a,s)=>{const n=u(t);st(s,(t,s)=>a(s,a=>st(t,t=>a(t,a=>e.forEachCell(n,t,a)))))},S={setIndexDefinition:(e,s,o,r,i,l=Na)=>{const c=ge(i)?void 0:([e],[t])=>i(e,t);return h(e,s,(s,o,i,d,u,h)=>{let y=0;const f=Jt(),b=Jt(),v=g(e);if(st(o,([e,t],a)=>{const s=Jt(e),n=Jt(t);st(s,e=>nt(n,e)?nt(s,e):0),st(s,e=>{Ut(f,e),be(Nt(v,e),t=>{nt(t,a),et(t)&&(At(v,e),y=1)})}),st(n,e=>{Ut(f,e),Ze(v,e)||(At(v,e,Jt()),y=1),Ut(Nt(v,e),a),ge(r)||Ut(b,e)})}),s(),et(u)||(h?Mt(v,e=>Ut(b,e)):Mt(i,e=>be(Nt(d,e),e=>Ve(pe(e)?e:[e],e=>Ut(b,e)))),st(b,e=>{const t=(t,a)=>l(Nt(u,t),Nt(u,a),e),a=[...Nt(v,e)];ke(a,t)||(At(v,e,Jt(_e(a,t))),Ut(f,e))})),(y||h)&&!ge(c)){const t=[...v];ke(t,c)||(w(e,Et(_e(t,c))),y=1)}y&&n(t,[e]),st(f,t=>n(a,[e,t]))},Gt(o),be(r,Gt)),S},delIndexDefinition:e=>(y(e),S),getStore:r,getIndexIds:i,forEachIndex:e=>l((t,a)=>e(t,e=>v(t,e,a))),forEachSlice:(e,t)=>v(e,t,g(e)),hasIndex:c,hasSlice:(e,t)=>Ze(g(e),t),getTableId:u,getSliceIds:e=>Dt(g(e)),getSliceRowIds:(e,t)=>tt(Nt(g(e),t)),addIndexIdsListener:f,addSliceIdsListener:(e,a)=>s(a,t,[e]),addSliceRowIdsListener:(e,t,n)=>s(n,a,[e,t]),delListener:e=>(o(e),S),destroy:b,getListenerStats:()=>({sliceIds:Ye(t),sliceRowIds:Xe(a)})};return ut(S)}),Oa=e=>{if(we(e))return"null";if(pe(e))return b;if(ct(e))return f;const t=l(e);return ve(t)||t==h&&de(e)?t:void 0},Aa=e=>ge(e)||!ge(Oa(e)),Pa=e=>e==f||e==b,ka=e=>ct(e)||pe(e)?"�"+sa(e):e,_a=e=>Se(e)&&"�"==e[0],Va=(e,t,a)=>!a&&_a(e)?na(me(e,1)):e,$a=([e,t])=>xa(e,t),xa=(e,t)=>t?[e,t]:[e],Wa=(e,t,a)=>[e,t,a],Ha=e=>e[2],Fa=(e,t)=>t>e?(e?da(e):0)^da(t):0,Ja=(e,t)=>((e??d)>(t??d)?e:t)??d,Ua=(e,t,a)=>{t>e[1]&&(e[1]=t),e[2]=a>>>0},ja=(e=d)=>xa(gt(),e),Ga=(e=d)=>[Et(),e,0],qa=([e,t,a],s)=>[_t(e,s),t,a],za=([e,t],a=$a)=>xa(_t(e,a),t),Ba=(e,t)=>{return pe(e)&&3==Re(e)&&Se(e[1])&&(a=e[2],l(a)==h)&&de(e[2])&&t(e[0]);var a},Qa=e=>[e,e],Ya=(e,t=Ye)=>t(e[0])+t(e[1]),Xa=()=>[Et(),Et()],Ka=e=>[...e],Za=([e,t])=>e===t,es=(e,t,a)=>At(e,t,Nt(e,t)==-a?void 0:a),ts=([e,t],[a,s])=>Rt(e,a)&&Rt(t,s),as=()=>{let e,t,a=!1,s=!1,n=0,o=[],r=[],i=0;const l=Et(),c=Et(),d=Et(),u=Et(),g=Et(),w=Et(),y=Et(),f=Et(),b=Et(),v=Et(),m=Et(),T=Et(),E=Et(),k=Et(),H=Jt(),F=Et(),J=Et(),U=Et(),G=Et(),q=Xa(),z=Xa(),B=Xa(),Q=Xa(),Y=Xa(),X=Xa(),K=Xa(),Z=Xa(),ee=Xa(),te=Xa(),ae=Xa(),se=Xa(),ne=Xa(),oe=Xa(),re=Xa(),ie=Xa(),le=Xa(),ce=Xa(),de=Xa(),ue=Xa(),he=Xa(),ye=Xa(),fe=Et(),Se=Xa(),[Re,Te,Ie,Le]=Qt(()=>is),Ee=e=>{const t=i;i=1;const a=e();return i=t,a},Ne=(e,t,a,s=Object.is)=>be(t(),t=>e===t||s(e,t)?a(t):Ee(()=>a(t))),Ae=e=>{if(!It(e,(e,t)=>Oe([S,C,p],t)))return!1;const t=e[S];if(!ve(t)&&t!=h&&!Pa(t))return!1;const a=e[C];return!(we(a)&&!e[p]||(we(a)||(Oa(a)!=t?ft(e,C):e[C]=ka(a)),0))},ke=pe,$e=(t,a)=>(!e||Ze(m,a)||Xt(a))&&It(t,(e,t)=>We(a,t,e),()=>Xt(a)),We=(e,t,a,s)=>It(s?a:Ue(a,e,t),(s,n)=>be(He(e,t,n,s),e=>(a[n]=e,!0),()=>!1),()=>Xt(e,t)),He=(t,a,s,n)=>e?be(Nt(Nt(m,t),s),e=>we(n)?e[p]?n:Xt(t,a,s,n,e[C]):Oa(n)===e[S]?ka(n):Pa(e[S])&&_a(n)?n:Xt(t,a,s,n,e[C]),()=>Xt(t,a,s,n)):ge(Oa(n))?Xt(t,a,s,n):ka(n),Fe=(e,t)=>It(t?e:Ge(e),(t,a)=>be(Je(a,t),t=>(e[a]=t,!0),()=>!1),()=>Kt()),Je=(e,a)=>t?be(Nt(E,e),t=>we(a)?t[p]?a:Kt(e,a,t[C]):Oa(a)===t[S]?ka(a):Pa(t[S])&&_a(a)?a:Kt(e,a,t[C]),()=>Kt(e,a)):ge(Oa(a))?Kt(e,a):ka(a),Ue=(e,t,a)=>(be(Nt(T,t),([s,n])=>{st(s,(t,a)=>{yt(e,a)||(e[a]=t)}),st(n,s=>{yt(e,s)||Xt(t,a,s)})}),e),Ge=e=>(t&&(st(k,(t,a)=>{yt(e,a)||(e[a]=t)}),st(H,t=>{yt(e,t)||Kt(t)})),e),qe=e=>kt(m,e,(e,t,a)=>{const s=Et(),n=Jt();kt(Pt(m,t,Et),a,(e,t,a)=>{At(e,t,a),be(a[C],e=>At(s,t,e),()=>Ut(n,t))}),At(T,t,[s,n])},(e,t)=>{At(m,t),At(T,t)}),ze=e=>kt(E,e,(e,t,a)=>{At(E,t,a),be(a[C],e=>At(k,t,e),()=>Ut(H,t))},(e,t)=>{At(E,t),At(k,t),nt(H,t)}),Be=e=>mt(e)?Ja():Ma(e),tt=(e,t,a,s,n,o)=>ge(s)?Ga(e,t,a,!0,n):Aa(e,t,a,s,n,o),ot=e=>mt(e)?qa():$a(e),rt=(e,t,a)=>ge(t)?za(e,a):xa(e,t,a),it=(e,t)=>Ne(e,()=>t?e:be(o[1],t=>Ee(()=>t(De(e))),()=>e),e=>kt(U,e,(e,t,a)=>lt(t,a),(e,t)=>Ct(t)),Rt),lt=(e,t,a)=>Ne(t,()=>a?t:be(o[2],a=>Ee(()=>a(e,De(t))),()=>t),t=>kt(Pt(U,e,()=>(Ft(e,1),At(F,e,Bt()),At(J,e,Et()),Et())),t,(t,a,s)=>dt(e,t,a,s),(t,a)=>pt(e,t,a)),Rt),dt=(e,t,a,s,n)=>Ne(s,()=>n?s:be(o[3],t=>Ee(()=>t(e,a,De(s))),()=>s),s=>kt(Pt(t,a,()=>(jt(e,a,1),Et())),s,(t,s,n)=>gt(e,a,t,s,n),(s,o)=>Tt(e,t,a,s,o,n)),Rt),gt=(e,t,a,s,n,r)=>Ne(n,()=>be(r?void 0:o[4],a=>Ee(()=>a(e,t,s,n)),()=>n),n=>{Ze(a,s)||Gt(e,t,s,1);const o=Nt(a,s);n!==o&&(qt(e,t,s,o,n),At(a,s,n))}),wt=(e,t,a,s,n,o)=>be(Nt(t,a),t=>gt(e,a,t,s,n,o),()=>{const r=Et();At(t,a,r),jt(e,a,1),St(Ue({[s]:n},e,a),(t,s)=>gt(e,a,r,s,t,o))}),ht=(e,t)=>Ne(e,()=>t?e:be(o[5],t=>Ee(()=>t(De(e))),()=>e),e=>kt(G,e,(e,t,a)=>bt(t,a),(e,t)=>Lt(t)),Rt),bt=(e,t,a)=>Ne(t,()=>be(a?void 0:o[6],a=>Ee(()=>a(e,t)),()=>t),t=>{Ze(G,e)||zt(e,1);const a=Nt(G,e);t!==a&&(Yt(e,a,t),At(G,e,t))}),vt=e=>Pt(U,e,()=>(Ft(e,1),At(F,e,Bt()),At(J,e,Et()),Et())),Ct=e=>Ee(()=>o[8]?.(e))??1?lt(e,{},!0):Nt(U,e),pt=(e,t,a)=>{if(Ee(()=>o[9]?.(e,a))??1){const[,s]=Nt(F,e);s(a),dt(e,t,a,{},!0)}},Tt=(e,t,a,s,n,r,i)=>{const l=Nt(Nt(T,e)?.[0],n);if(!ge(l)&&!r)return gt(e,a,s,n,l);if(i||(Ee(()=>o[10]?.(e,a,n))??1)){const o=t=>{qt(e,a,t,Nt(s,t)),Gt(e,a,t,-1),At(s,t)};ge(l)?o(n):Mt(s,o),et(s)&&(jt(e,a,-1),et(At(t,a))&&(Ft(e,-1),At(U,e),At(F,e),At(J,e)))}},Lt=(e,t)=>{const a=Nt(k,e);if(!ge(a))return bt(e,a);(t||(Ee(()=>o[12]?.(e))??1))&&(Yt(e,Nt(G,e)),zt(e,-1),At(G,e))},Ft=(e,t)=>es(l,e,t),jt=(e,t,a)=>es(Pt(u,e,Et),t,a)&&At(d,e,Pt(d,e,()=>0)+a),Gt=(e,t,a,s)=>{const n=Nt(J,e),o=Nt(n,a)??0;(0==o&&1==s||1==o&&-1==s)&&es(Pt(c,e,Et),a,s),At(n,a,o!=-s?o+s:void 0),es(Pt(Pt(g,e,Et),t,Et),a,s)},qt=(e,t,a,s,n)=>{Pt(Pt(Pt(w,e,Et),t,Et),a,()=>[s,0])[1]=n,r[3]?.(e,t,a,n,i)},zt=(e,t)=>es(y,e,t),Yt=(e,t,a)=>{Pt(f,e,()=>[t,0])[1]=a,r[4]?.(e,a,i)},Xt=(e,t,a,s,n)=>(je(Pt(Pt(Pt(b,e,Et),t,Et),a,()=>[]),s),n),Kt=(e,t,a)=>(je(Pt(v,e,()=>[]),t),a),Zt=(e,t,a)=>be(Nt(Nt(Nt(w,e),t),a),([e,t])=>[!0,Va(e),Va(t)],()=>[!1,...Qa(va(e,t,a))]),ea=e=>be(Nt(f,e),([e,t])=>[!0,Va(e),Va(t)],()=>[!1,...Qa(pa(e))]),ta=e=>et(b)||et(ie[e])?0:st(e?Ht(b):b,(t,a)=>st(t,(t,s)=>st(t,(t,n)=>Te(ie[e],[a,s,n],t)))),aa=e=>et(v)||et(le[e])?0:st(e?xt(v):v,(t,a)=>Te(le[e],[a],t)),sa=(e,t,a,s)=>{if(!et(e))return Te(t,s,()=>_t(e)),Mt(e,(e,t)=>Te(a,[...s??[],e],1==t)),1},ra=e=>{const t=!et(q[e]),s=!et(te[e]),n=!(et(ne[e])&&et(oe[e])&&et(ee[e])&&et(ae[e])&&et(X[e])&&et(K[e])&&et(Z[e])&&!s&&et(B[e])&&et(Q[e])),o=!(et(re[e])&&et(se[e])&&et(Y[e])&&et(z[e]));if(t||n||o){const i=e?[xt(l),Wt(c),xt(d),Wt(u),Ht(g),(r=w,xt(r,e=>xt(e,e=>xt(e,Ka))))]:[l,c,d,u,g,w];if(t){const t=ma();t!=a&&Te(q[e],void 0,t)}if(n){sa(i[0],B[e],Q[e]),st(i[1],(t,a)=>sa(t,X[e],K[e],[a])),st(i[2],(t,a)=>{0!=t&&Te(Z[e],[a],ha(a))});const t=Jt();st(i[3],(a,n)=>{sa(a,ee[e],ae[e],[n])&&s&&(Te(te[e],[n,null]),Ut(t,n))}),s&&st(i[5],(a,s)=>{if(!Ze(t,s)){const t=Jt();st(a,e=>st(e,([a,s],n)=>s!==a?Ut(t,n):nt(e,n))),st(t,t=>Te(te[e],[s,t]))}}),st(i[4],(t,a)=>st(t,(t,s)=>sa(t,ne[e],oe[e],[a,s])))}if(o){let t;st(i[5],(a,s)=>{let n;st(a,(a,o)=>{let r;st(a,([a,i],l)=>{i!==a&&(Te(re[e],[s,o,l],Va(i),Va(a),Zt),t=n=r=1)}),r&&Te(se[e],[s,o],Zt)}),n&&Te(Y[e],[s],Zt)}),t&&Te(z[e],void 0,Zt)}}var r},ia=e=>{const t=!et(ce[e]),a=!et(ue[e])||!et(he[e]),n=!et(ye[e])||!et(de[e]);if(t||a||n){const o=e?[xt(y),xt(f,Ka)]:[y,f];if(t){const t=Ea();t!=s&&Te(ce[e],void 0,t)}if(a&&sa(o[0],ue[e],he[e]),n){let t;st(o[1],([a,s],n)=>{s!==a&&(Te(ye[e],[n],Va(s),Va(a),ea),t=1)}),t&&Te(de[e],void 0,ea)}}},la=(e,...t)=>(ns(()=>e(...xe(t,j))),is),ca=(e,t,a,s,n)=>{let o=fa(e,t,...a);return Re(()=>{const n=fa(e,t,...a);Pe(n,o)||(o=n,s(is,e,t,...a,o))},te[n?1:0],[e,t],[ga])},da=(e=!1)=>[_t(w,(t,a)=>-1===Nt(l,a)?void 0:_t(t,(t,s)=>-1===Nt(Nt(u,a),s)?void 0:_t(t,([,t])=>Va(t,0,e),e=>Za(e)),et,mt),et,mt),_t(f,([,t])=>Va(t,0,e),e=>Za(e)),1],ua=()=>$t(U,Va),ga=()=>Dt(U),wa=e=>Dt(Nt(J,j(e))),ha=e=>Qe(Nt(U,j(e))),ya=e=>Dt(Nt(U,j(e))),fa=(e,t,a,s=0,n)=>ct(e)?fa(e.tableId,e.cellId,e.descending,e.offset,e.limit):xe(me(_e(Ot(Nt(U,j(e)),(e,a)=>[ge(t)?a:Nt(e,j(t)),a]),([e],[t])=>Na(e,t)*(a?-1:1)),s,ge(n)?n:s+n),([,e])=>e),ba=(e,t)=>Dt(Nt(Nt(U,j(e)),j(t))),va=(e,t,a)=>Va(Nt(Nt(Nt(U,j(e)),j(t)),j(a))),Sa=()=>_t(G,Va),Ca=()=>Dt(G),pa=e=>Va(Nt(G,j(e))),ma=()=>!et(U),Ra=e=>Ze(U,j(e)),Ta=(e,t)=>Ze(Nt(J,j(e)),j(t)),Ia=(e,t)=>Ze(Nt(U,j(e)),j(t)),La=(e,t,a)=>Ze(Nt(Nt(U,j(e)),j(t)),j(a)),Ea=()=>!et(G),Da=e=>Ze(G,j(e)),Ma=e=>la(()=>(e=>It(e,$e,Xt))(e)?it(e):0),Aa=(e,t,a,s,n,r)=>la((e,t,a)=>be(He(e,t,a,Ce(s)?s(va(e,t,a)):s),s=>{const i=vt(e);be(n||r||!o[14]?.()?void 0:o[3],o=>{const r=Nt(i,t),l={...r?_t(r):{},[a]:s};be(Ee(()=>o(e,t,De(l))),a=>((e,t,a,s,n)=>{kt(Pt(t,a,()=>(jt(e,a,1),Et())),s,(t,s,o)=>be(He(e,a,s,o),o=>gt(e,a,t,s,o,n)),(s,n)=>Tt(e,t,a,s,n,!0))})(e,i,t,a,n))},()=>wt(e,i,t,a,s,n))}),e,t,a),$a=e=>la(()=>Fe(e)?ht(e):0),xa=(e,t,a)=>la(e=>be(Je(e,Ce(t)?t(pa(e)):t),t=>bt(e,t,a)),e),Wa=e=>(Me(()=>Be(na(e))),is),Ha=t=>la(()=>{if((e=It(t,e=>It(e,Ae)))&&(qe(t),!et(U))){const e=ua();Ja(),Ma(e)}}),Fa=e=>la(()=>{if(t=(e=>It(e,Ae))(e)){const a=Sa();ss(),qa(),t=!0,ze(e),$a(a)}}),Ja=()=>la(()=>Ee(()=>o[7]?.())??1?it({},!0):0),Ua=e=>la(e=>Ze(U,e)?Ct(e):0,e),ja=(e,t)=>la((e,t)=>be(Nt(U,e),a=>Ze(a,t)?pt(e,a,t):0),e,t),Ga=(e,t,a,s,n)=>la((e,t,a)=>be(Nt(U,e),o=>be(Nt(o,t),r=>Ze(r,a)?Tt(e,o,t,r,a,s,n):0)),e,t,a),qa=()=>la(()=>Ee(()=>o[11]?.())??1?ht({},!0):0),za=(e,t)=>la(e=>Ze(G,e)?Lt(e,t):0,e),Ba=()=>la(()=>{qe({}),e=!1}),ss=()=>la(()=>{ze({}),t=!1}),ns=(e,t)=>{if(-1!=n){os();const a=e();return rs(t),a}},os=()=>(-1!=n&&n++,1==n&&(r[0]?.(),Te(fe)),is),rs=e=>(n>0&&(n--,0==n&&(n=1,Ee(()=>{ta(1),et(w)||ra(1),aa(1),et(f)||ia(1)}),e?.(is)&&(st(w,(e,t)=>st(e,(e,a)=>st(e,([e],s)=>tt(t,a,s,e,!0)))),at(w),st(f,([e],t)=>rt(t,e,!0)),at(f)),Te(Se[0],void 0),n=-1,ta(0),et(w)||ra(0),aa(0),et(f)||ia(0),r[1]?.(),Te(Se[1],void 0),r[2]?.(),n=0,a=ma(),s=Ea(),Ve([l,c,d,u,g,w,b,y,f,v],at))),is),is={getContent:()=>[ua(),Sa()],getTables:ua,getTableIds:ga,getTable:e=>Vt(Nt(U,j(e)),Va),getTableCellIds:wa,getRowCount:ha,getRowIds:ya,getSortedRowIds:fa,getRow:(e,t)=>_t(Nt(Nt(U,j(e)),j(t)),Va),getCellIds:ba,getCell:va,getValues:Sa,getValueIds:Ca,getValue:pa,hasTables:ma,hasTable:Ra,hasTableCell:Ta,hasRow:Ia,hasCell:La,hasValues:Ea,hasValue:Da,getTablesJson:()=>oa(U),getValuesJson:()=>oa(G),getJson:()=>oa([U,G]),getTablesSchemaJson:()=>oa(m),getValuesSchemaJson:()=>oa(E),getSchemaJson:()=>oa([m,E]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:e=>la(()=>{const t=Ce(e)?e():e;ke(t)&&(e=>{Ne(e,()=>be(o[0],t=>Ee(()=>t(De(e))),()=>e),([e,t])=>{(mt(e)?Ja:Ma)(e),(mt(t)?qa:$a)(t)},ts)})(t)}),setTables:Ma,setTable:(e,t)=>la(e=>$e(t,e)?lt(e,t):0,e),setRow:(e,t,a)=>la((e,t)=>We(e,t,a)?dt(e,vt(e),t,a):0,e,t),addRow:(e,t,a=!0)=>ns(()=>{let s;return We(e,s,t)&&(e=j(e),dt(e,vt(e),s=((e,t)=>{const[a]=Nt(F,e);let s;do{s=a(t)}while(Ze(Nt(U,e),s));return s})(e,a?1:0),t)),s}),setPartialRow:(e,t,a)=>la((e,t)=>{if(We(e,t,a,1)){const s=vt(e);St(a,(a,n)=>wt(e,s,t,n,a))}},e,t),setCell:Aa,setValues:$a,setPartialValues:e=>la(()=>Fe(e,1)?St(e,(e,t)=>bt(t,e)):0),setValue:xa,applyChanges:e=>la(()=>Ne(e,()=>be(o[13],t=>Ee(()=>t(De(e))),()=>e),e=>{St(e[0],(e,t)=>ge(e)?Ua(t):St(e,(e,a)=>ge(e)?ja(t,a):St(e,(e,s)=>tt(t,a,s,e,void 0,!0)))),St(e[1],(e,t)=>rt(t,e))},ts)),setTablesJson:Wa,setValuesJson:e=>(Me(()=>ot(na(e))),is),setJson:e=>la(()=>Me(()=>{const[t,a]=na(e);Be(t),ot(a)},()=>Wa(e))),setTablesSchema:Ha,setValuesSchema:Fa,setSchema:(e,t)=>la(()=>{Ha(e),Fa(t)}),delTables:Ja,delTable:Ua,delRow:ja,delCell:Ga,delValues:qa,delValue:za,delTablesSchema:Ba,delValuesSchema:ss,delSchema:()=>la(()=>{Ba(),ss()}),transaction:ns,startTransaction:os,getTransactionChanges:()=>da(),getTransactionLog:()=>[!et(w),!et(f),$t(w,Ka,Za),$t(b),_t(f,Ka,Za),_t(v),_t(l),Vt(u),$t(g),_t(y)],finishTransaction:rs,forEachTable:e=>st(U,(t,a)=>e(a,e=>st(t,(t,a)=>e(a,e=>Mt(t,(t,a)=>e(t,Va(a))))))),forEachTableCell:(e,t)=>Mt(Nt(J,j(e)),t),forEachRow:(e,t)=>st(Nt(U,j(e)),(e,a)=>t(a,t=>Mt(e,(e,a)=>t(e,Va(a))))),forEachCell:(e,t,a)=>Mt(Nt(Nt(U,j(e)),j(t)),(e,t)=>a(e,Va(t))),forEachValue:e=>Mt(G,(t,a)=>e(t,Va(a))),addSortedRowIdsListener:(e,t,a,s,n,o,r)=>ct(e)?ca(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit],t,a):ca(e,t,[a,s,n],o,r),addStartTransactionListener:e=>Re(e,fe),addWillFinishTransactionListener:e=>Re(e,Se[0]),addDidFinishTransactionListener:e=>Re(e,Se[1]),callListener:e=>(Le(e),is),delListener:e=>(Ie(e),is),getListenerStats:()=>({hasTables:Ya(q),tables:Ya(z),tableIds:Ya(B),hasTable:Ya(Q),table:Ya(Y),tableCellIds:Ya(X),hasTableCell:Ya(K,Xe),rowCount:Ya(Z),rowIds:Ya(ee),sortedRowIds:Ya(te),hasRow:Ya(ae,Xe),row:Ya(se,Xe),cellIds:Ya(ne,Xe),hasCell:Ya(oe,Ke),cell:Ya(re,Ke),invalidCell:Ya(ie,Ke),hasValues:Ya(ce),values:Ya(de),valueIds:Ya(ue),hasValue:Ya(he),value:Ya(ye),invalidValue:Ya(le),transaction:Ye(fe)+Ya(Se)}),isMergeable:()=>!1,_:[as,Re,Te,(e,t,a,s,n)=>r=[e,t,a,s,n],(e,t,a,s,n,r,i,l,c,d,u,g,w,h,y)=>o=[e,t,a,s,n,r,i,l,c,d,u,g,w,h,y],tt,rt,()=>[$t(U),_t(G)],()=>da(!0)]};return St({[L+N]:[0,q,[],()=>[ma()]],[N]:[0,z],[M]:[0,B],[L+D]:[1,Q,[ga],e=>[Ra(...e)]],[D]:[1,Y,[ga]],[D+V]:[1,X,[ga]],[L+D+_]:[2,K,[ga,wa],e=>[Ta(...e)]],[A]:[1,Z,[ga]],[P]:[1,ee,[ga]],[L+O]:[2,ae,[ga,ya],e=>[Ia(...e)]],[O]:[2,se,[ga,ya]],[V]:[2,ne,[ga,ya]],[L+_]:[3,oe,[ga,ya,ba],e=>[La(...e)]],[_]:[3,re,[ga,ya,ba],e=>Qa(va(...e))],InvalidCell:[3,ie],[L+x]:[0,ce,[],()=>[Ea()]],[x]:[0,de],[W]:[0,ue],[L+$]:[1,he,[Ca],e=>[Da(...e)]],[$]:[1,ye,[Ca],e=>Qa(pa(e[0]))],InvalidValue:[1,le]},([e,t,a,s],n)=>{is[I+n+R]=(...n)=>Re(n[e],t[n[e+1]?1:0],e>0?me(n,0,e):void 0,a,s)}),ut(is)},ss={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},ns=(e=d)=>[Ga(e),Ga(e)],os=(e,t)=>{let a=1,s=ns(),n=0,o=0;const r=Et(),i=Jt(),[l,c]=Da(e,t),u=as(),g=e=>{const t=a;return a=0,e(),a=t,p},w=(e,t=0)=>{const a={},n={},[[o,r=d,i=0],l]=e,[u,g]=s,[w,y,f]=u;let b=t?i:f,v=r;bt(o,([e,s=d,n=0],o)=>{const r=Pt(w,o,Ga),[i,l,c]=r;let u=t?n:c,g=s;bt(e,(e,s)=>{const[n,r,l]=h(e,Pt(i,s,Ga),Tt(Tt(a,o,gt),s,gt),t);u^=t?0:ua(r?wa(s,r):0,wa(s,l)),g=Ja(g,n)}),u^=t?0:Fa(l,s),Ua(r,s,u),b^=t?0:ua(c?wa(o,c):0,wa(o,r[2])),v=Ja(v,g)}),b^=t?0:Fa(y,r),Ua(u,r,b);const[S]=h(l,g,n,t);return c(Ja(v,S)),[a,n,1]},h=(e,t,a,s)=>{const[n,o=d,r=0]=e,[i,l,c]=t;let u=o,g=s?r:c;return bt(n,([e,t=d,n=0],o)=>{const r=Pt(i,o,()=>[void 0,d,0]),[,l,c]=r;(!l||t>l)&&(Ua(r,t,s?n:ha(e,t)),r[0]=e,a[o]=e,g^=s?0:ua(wa(o,c),wa(o,r[2])),u=Ja(u,t))}),g^=s?0:Fa(l,o),Ua(t,o,g),[u,c,t[2]]},y=Ie,f=Ie,b=(e=!1)=>[qa(s[0],t=>qa(t,t=>qa(t,([t,a,s])=>[Va(t,0,e),a,s]))),qa(s[1],([t,a,s])=>[Va(t,0,e),a,s])],v=(e,t=!1)=>{const[[a,n,o],[l,c,d]]=s,u=e?Wa:xa,g={};st(r,(e,s)=>be(Nt(a,s),([a,n,o])=>{const r={};st(e,(e,s)=>be(Nt(a,s),([a,n,o])=>{const i={};st(e,e=>{be(Nt(a,e),([a,s,n])=>i[e]=u(t?a:Va(a),s,n))}),r[s]=u(i,n,o)})),g[s]=u(r,n,o)}));const w={};return st(i,e=>be(Nt(l,e),([a,s,n])=>w[e]=u(t?a:Va(a),s,n))),[u(g,n,o),u(w,c,d),1]},S=()=>b(),C=e=>g(()=>u.applyChanges(w(e))),p={getMergeableContent:S,getMergeableContentHashes:()=>[s[0][2],s[1][2]],getMergeableTableHashes:()=>_t(s[0][0],Ha),getMergeableTableDiff:e=>{const t=ja(s[0][1]),a={};return Mt(s[0][0],(s,[n,o,r])=>yt(e,s)?r!=e[s]?a[s]=r:0:t[0][s]=za([n,o],e=>za(e))),[t,a]},getMergeableRowHashes:e=>{const t={};return bt(e,(e,a)=>be(Nt(s[0][0],a),([s,,n])=>n!=e?Mt(s,(e,[,,s])=>Tt(t,a,gt)[e]=s):0)),t},getMergeableRowDiff:e=>{const t=ja(s[0][1]),a={};return bt(e,(e,n)=>Mt(Nt(s[0][0],n)?.[0],(s,[o,r,i])=>yt(e,s)?i!==e[s]?Tt(a,n,gt)[s]=i:0:Tt(t[0],n,ja)[0][s]=za([o,r]))),[t,a]},getMergeableCellHashes:e=>{const t={};return bt(e,(e,a)=>be(Nt(s[0][0],a),([s])=>bt(e,(e,n)=>be(Nt(s,n),([s,,o])=>o!==e?Mt(s,(e,[,,s])=>Tt(Tt(t,a,gt),n,gt)[e]=s):0)))),t},getMergeableCellDiff:e=>{const[[t,a]]=s,n={};return bt(e,(e,a)=>bt(e,(e,s)=>be(Nt(t,a),([t,o])=>be(Nt(t,s),([t,r])=>Mt(t,(t,[i,l,c])=>c!==e[t]?Tt(Tt(n,a,()=>ja(o))[0],s,()=>ja(r))[0][t]=[i,l]:0))))),xa(n,a)},getMergeableValueHashes:()=>_t(s[1][0],Ha),getMergeableValueDiff:e=>{const[,[t,a]]=s,n=_t(t,$a,([,,t],a)=>t==e?.[a]);return xa(n,a)},setMergeableContent:e=>g(()=>(e=>pe(e)&&2==Re(e)&&Ba(e[0],e=>It(e,e=>Ba(e,e=>It(e,e=>Ba(e,e=>It(e,e=>Ba(e,Aa),void 0,1)),void 0,1)),void 0,1))&&Ba(e[1],e=>It(e,e=>Ba(e,Aa),void 0,1)))(e)?u.transaction(()=>{u.delTables().delValues(),s=ns(),u.applyChanges(w(e,1))}):0),setDefaultContent:e=>(u.transaction(()=>{n=1,u.setContent(e),n=0}),p),getTransactionMergeableChanges:(e=!1)=>v(e),applyMergeableChanges:C,merge:e=>{const t=S(),a=e.getMergeableContent();return e.applyMergeableChanges(t),C(a)},__:[()=>{const e=o;return o=0,e},()=>b(!0),e=>v(e,!0)]};return u._[3](y,f,()=>{at(r),at(i)},(e,t,s,i,c)=>{Ut(Pt(Pt(r,e,Et),t,Jt),s),(a||c)&&(c&&(o=1),w([[{[e]:[{[t]:[{[s]:[i,n?d:l()]}]}]}],[{}],1]))},(e,t,s)=>{Ut(i,e),(a||s)&&(s&&(o=1),w([[{}],[{[e]:[t,n?d:l()]}],1]))}),St(u,(e,t)=>p[t]=G(t,"set")||G(t,"del")||G(t,"apply")||q(t,"Transaction")||t=="call"+R||"use"==t?(...t)=>(e(...t),p):G(t,I)&&q(t,R)?(...a)=>{const s=ss[me(t,3,-8)]??0,n=a[s];return a[s]=(e,...t)=>n(p,...t),e(...a)}:"isMergeable"==t?()=>!0:e),ut(p)},rs=Et([["avg",[(e,t)=>We(e)/t,(e,t,a)=>e+(t-e)/(a+1),(e,t,a)=>e+(e-t)/(a-1),(e,t,a,s)=>e+(t-a)/s]],["max",[e=>re(...e),(e,t)=>re(t,e),(e,t)=>t==e?void 0:e,(e,t,a)=>a==e?void 0:re(t,e)]],["min",[e=>ie(...e),(e,t)=>ie(t,e),(e,t)=>t==e?void 0:e,(e,t,a)=>a==e?void 0:ie(t,e)]],["sum",[e=>We(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,a)=>e-a+t]]]),is=(e,t,a,s,n,o=!1)=>{if(et(a))return;const[r,i,l,c]=n;return o||=ge(e),st(s,([a,s])=>{o||(e=ge(a)?i?.(e,s,t++):ge(s)?l?.(e,a,t--):c?.(e,s,a,t),o||=ge(e))}),o?r(tt(a),Qe(a)):e},ls=qt(e=>{const t=Et(),[a,s,n]=Qt(()=>b),[o,r,i,l,c,u,g,,w,h,y,f]=jt(e,Te,e=>isNaN(e)||ge(e)||he(e)||ye(e)||e===d?void 0:1*e,a,s),b={setMetricDefinition:(e,a,n,o,r,i,l)=>{const c=Ce(n)?[n,r,i,l]:Nt(rs,n)??Nt(rs,"sum");return w(e,a,(a,n,o,r,i,l)=>{const d=u(e),w=Qe(r);l||=ge(d),a();let h=is(d,w,r,n,c,l);de(h)||(h=void 0),h!=d&&(g(e,h),s(t,[e],h,d))},Gt(o,1)),b},delMetricDefinition:e=>(h(e),b),getStore:o,getMetricIds:r,forEachMetric:i,hasMetric:l,getTableId:c,getMetric:u,addMetricIdsListener:y,addMetricListener:(e,s)=>a(s,t,[e]),delListener:e=>(n(e),b),destroy:f,getListenerStats:()=>({metric:Ye(t)})};return ut(b)}),cs=(e,t,...a)=>Fe(e,(e,t)=>ge(e)?e:t(...a,e),t),ds=(e,...t)=>Ae(e,e=>e(...t)),us=qt(e=>{const t=e=>t=>(je(e,t),M),a=[],s=[],n=[],o=[],r=[],i=[],l=[],c=[],d=[],u=[],g=[],w=[],h=[],y=[],f=t(a),b=t(s),v=t(n),S=t(o),C=t(r),p=t(i),m=t(l),R=t(c),T=t(d),I=t(u),L=t(g),E=t(w),D=t(h),N=t(y),M=ut({getStore:()=>e,addWillSetContentCallback:f,addWillSetTablesCallback:b,addWillSetTableCallback:v,addWillSetRowCallback:S,addWillSetCellCallback:C,addWillSetValuesCallback:p,addWillSetValueCallback:m,addWillDelTablesCallback:R,addWillDelTableCallback:T,addWillDelRowCallback:I,addWillDelCellCallback:L,addWillDelValuesCallback:E,addWillDelValueCallback:D,addWillApplyChangesCallback:N,destroy:()=>{}});return e._[4](e=>cs(a,e),e=>cs(s,e),(e,t)=>cs(n,t,e),(e,t,a)=>cs(o,a,e,t),(e,t,a,s)=>cs(r,s,e,t,a),e=>cs(i,e),(e,t)=>cs(l,t,e),()=>ds(c),e=>ds(d,e),(e,t)=>ds(u,e,t),(e,t,a)=>ds(g,e,t,a),()=>ds(w),e=>ds(h,e),e=>cs(y,e),()=>o.length>0),M}),gs={Idle:0,Loading:1,Saving:2},ws={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},hs=Et(),ys=Et(),fs=(e,t,a,s,n,o,r,i={},l=0,c=[])=>{let d,u,g,w=0,h=0,y=0;Pt(hs,c,()=>0),Pt(ys,c,()=>[]);const f=Et(),[b,v,S,C,p]=((e=1,t,a)=>1!=e&&t.isMergeable()?[1,t.__[1],()=>t.__[2](!a),([[e],[t]])=>!mt(e)||!mt(t),t.setDefaultContent]:2!=e?[0,t._[7],t._[8],([e,t])=>!mt(e)||!mt(t),t.setContent]:Ne("Store type not supported by this Persister"))(r,e,l),[m,R,T]=Qt(()=>$),I=e=>{e!=w&&(w=e,R(f,void 0,w))},L=t=>{(b&&pe(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},E=async()=>{k()&&e.__?.[0]?.()&&await O()},D=async e=>(2!=w&&(I(1),h++,await V(async()=>{await Me(async()=>{const a=await t();pe(a)?L(a):e?p(e):Ne("Content is not an array: "+a)},()=>{e&&p(e)}),I(0),await E()})),$),N=async e=>(M(),await D(e),await Me(async()=>u=await s(async(e,t)=>{t||e?2!=w&&(I(1),h++,L(t??e),I(0),await E()):await D()}),o),$),M=async()=>(u&&(await Me(()=>n(u),o),u=void 0),$),O=async e=>(1!=w&&(I(2),y++,await V(async()=>{await Me(()=>a(v,e),o),I(0)})),$),A=async()=>(P(),await O(),g=e.addDidFinishTransactionListener(()=>{const e=S();C(e)&&O(e)}),$),P=async()=>(g&&(e.delListener(g),g=void 0),$),k=()=>!ge(g),_=async(e=!1)=>{const[t,a]=e?[P,M]:[M,P];return await t(),await a(),$},V=async(...e)=>(je(Nt(ys,c),...e),await(async()=>{if(!Nt(hs,c)){for(At(hs,c,1);!ge(d=ze(Nt(ys,c)));)await Me(d,o);At(hs,c,0)}})(),$),$={load:D,startAutoLoad:N,stopAutoLoad:M,isAutoLoading:()=>!ge(u),save:O,startAutoSave:A,stopAutoSave:P,isAutoSaving:k,startAutoPersisting:async(e,t=!1)=>{const[a,s]=t?[A,N]:[N,A];return await a(e),await s(e),$},stopAutoPersisting:_,getStatus:()=>w,addStatusListener:e=>m(e,f),delListener:t=>(T(t),e),schedule:V,getStore:()=>e,destroy:()=>(Ue(Nt(ys,c)),_()),getStats:()=>({loads:h,saves:y}),...i};return ut($)},bs="_",vs="_id",Ss="SELECT",Cs="WHERE",ps="TABLE",ms="INSERT",Rs="DELETE",Ts="UPDATE",Is="ALTER "+ps,Ls="FROM",Es=Rs+" "+Ls,Ds=Ss+"*"+Ls,Ns="pragma_",Ms="data_version",Os="schema_version",As="pragma_table_",Ps="CREATE ",ks=Ps+ps,_s="OR REPLACE ",Vs="FUNCTION",$s="$tableName",xs=(e,t)=>t?async(a,s)=>(t(a,s),await e(a,s)):e,Ws=e=>$e(xe(B(e,"."),e=>`"${Q(e,/"/g,'""')}"`),"."),Hs=(...e)=>Ws($e(e,"_")),Fs=(...e)=>$e(xe(e,Ws),u),Js=(e,t=[1])=>$e(xe(e,()=>"$"+t[0]++),u),Us=(e,t=v)=>Cs+`(${Q(t,$s,Ws(e))})`,js="ColumnName",Gs="store",qs="json",zs=Gs+"TableName",Bs=Gs+"Id"+js,Qs=Gs+js,Ys="autoLoadIntervalSeconds",Xs="rowId"+js,Ks="tableId",Zs="tableName",en="deleteEmptyColumns",tn="deleteEmptyTable",an="condition",sn={mode:qs,[Ys]:1},nn={load:0,save:0,[Zs]:c+"_values"},on=e=>pe(e)?e:void 0,rn=e=>he(e)||pe(e),ln=(e,t,a,s,n)=>{const o=Et();return St(e,(e,r)=>{const i=me(Ct(wt(t,Se(e)?{[a]:e}:e)),0,pt(t));we(i[0])||s(r,i[0])||(n(r,i[0]),At(o,r,i))}),o},cn=e=>{const t=(e=>wt(sn,Se(e)?{[zs]:e}:e??{}))(e),a=t[Ys];if(t.mode==qs){const e=t[zs]??c;return[1,a,[e,t[Bs]??vs,t[Qs]??Gs],Jt(e)]}const{tables:{load:s={},save:n={}}={},values:o={}}=t,r=wt(nn,o),{load:i,save:l}=r,d=[rn(i),rn(l),r[Zs],on(i),on(l)],u=d[2],g=Jt(u),w=Jt(u),h=ln(s,{[Ks]:null,[Xs]:vs,[an]:v},Ks,e=>Ze(w,e),e=>Ut(g,e)),y=ln(n,{[Zs]:null,[Xs]:vs,[en]:0,[tn]:0,[an]:null},Zs,(e,t)=>Ze(w,t),(e,t)=>Ut(g,t));return Mt(y,(e,t)=>t[4]??=Nt(h,t[0])?.[2]??v),[0,a,[h,y,d],g]},dn=(e,t,a,s,n,o=un,r,i)=>{const l=Et();return[async()=>{at(l),xe(await a(e,t),({tn:e,cn:t})=>Ut(Pt(l,e,Jt),t))},async(t,a,s,n)=>{const o=ge(n)?void 0:Jt(n);return((e,t)=>Ze(Nt(l,e),t))(t,a)?gt(Je(xe(await e(Ds+Ws(t)+Us(t,s)),e=>{const t=e[a],s=i?St(ft(e,a),i):ft(e,a);return[t,ge(o)?s:gt(Je(vt(s,(e,t)=>[t,e]),([e])=>(e=>ge(o)||Ze(o,e))(e)))]}),e=>!ge(e[0])&&!mt(e[1]))):{}},async(t,a,s,i,c,d=!1,g=v,w)=>{const h=ge(w)?void 0:Jt(w),y=e=>ge(h)||Ze(h,e),f=Jt();St(s??{},e=>xe(Je(dt(e??{}),y),e=>Ut(f,e)));const b=tt(f);if(ge(h)&&!d&&c&&g==v&&He(b)&&Ze(l,t))return await e("DROP "+ps+Ws(t)),void At(l,t);const S=Nt(l,t),C=Jt(Je(tt(S),e=>e==a||y(e)));if(He(b)||(Ze(l,t)?await Ee(xe([a,...b],async(s,o)=>{nt(C,s)||(await e(Is+Ws(t)+"ADD"+Ws(s)+n),0==o&&await e("CREATE UNIQUE INDEX pk ON "+Ws(t)+`(${Ws(a)})`),Ut(S,s))})):(await e(ks+Ws(t)+`(${Ws(a)}${n} PRIMARY KEY${$e(xe(b,e=>u+Ws(e)+n))});`),At(l,t,Jt([a,...b])))),await Ee([...!d&&i?xe(tt(C),async s=>{s!=a&&(await e(Is+Ws(t)+"DROP"+Ws(s)),nt(S,s))}):[]]),d)ge(s)?ge(h)&&await e(Es+Ws(t)+Us(t,g)):await Ee(vt(s,async(s,n)=>{if(ge(s))await e(Es+Ws(t)+Us(t,g)+`AND(${Ws(a)}=$1)`,[n]);else if(!He(b)){const i=Je(dt(s),y);He(i)||await o(e,t,a,i,{[n]:xe(i,e=>r?r(s[e]):s[e])},S)}}));else if(He(b))ge(h)&&Ze(l,t)&&await e(Es+Ws(t)+Us(t,g));else{const n=Je(tt(Nt(l,t)),e=>e!=a&&y(e)),i={},c=[];St(s??{},(e,t)=>{i[t]=xe(n,t=>r?r(e?.[t]):e?.[t]),je(c,t)}),await o(e,t,a,n,i,S),await e(Es+Ws(t)+Us(t,g)+`AND${Ws(a)}NOT IN(${Js(c)})`,c)}},async t=>{let a;return await e("BEGIN"),await Me(async()=>a=await t(),s),await e("END"),a}]},un=async(e,t,a,s,n)=>{const o=[1];await e(ms+" INTO"+Ws(t)+"("+Fs(a,...s)+")VALUES"+$e(vt(n,e=>"($"+o[0]+++","+Js(e,o)+")"),u)+"ON CONFLICT("+Ws(a)+`)DO ${Ts} SET`+$e(xe(s,e=>Ws(e)+"=excluded."+Ws(e)),u),vt(n,(e,t)=>[t,...xe(e,e=>e??null)]).flat())},gn=(e,t,a,s,n,o,r,[i,l,c],d,u,g,w,h,y)=>{const[f,b,v,S]=dn(t,d,u,n,h,y),C=fs(e,()=>S(async()=>(await f(),ia((await b(i,l))[bs]?.[c]??"null"))),e=>S(async()=>{await f(),await v(i,l,{[bs]:{[c]:ra(e()??null)}},!0,!0)}),a,s,n,r,{[w]:()=>g,destroy:async()=>(await C.stopAutoPersisting(),o(),C)},0,g);return C},wn=(e,t,a,s,n,o,r,[i,l,[c,d,u,g,w]],h,y,f,b,v,S,C,p)=>{const[m,R,T,I]=dn(t,h,y,n,v,S,C,p),L=(e,t)=>Ee(Ot(l,async([a,s,n,o,r],i)=>{t&&!yt(e,i)||await T(a,s,e[i],n,o,t,r)})),E=(e,t,a)=>gt(1==a?Je(vt(e,(e,t)=>[t,e]),([e])=>Oe(t,e)):Je(xe(t,t=>[t,e[t]]),([,e])=>!ge(e))),D=async(e,t)=>d?await T(u,vs,{[bs]:ge(w)?e:E(e,w,t)},!0,!0,t,void 0,w):null,N=fs(e,()=>I(async()=>{await m();const e=await(async()=>gt(Je(await Ee(Ot(i,async([e,t,a],s)=>[e,await R(s,t,a)])),e=>!mt(e[1]))))(),t=await(async()=>c?(await R(u,vs,void 0,g))[bs]:{})();return mt(e)&&ge(t)?void 0:[e,t]}),(e,t)=>I(async()=>{if(await m(),ge(t)){const[t,a]=e();await L(t),await D(a)}else await L(t[0],!0),await D(t[1],!0)}),a,s,n,r,{[b]:()=>f,destroy:async()=>(await N.stopAutoPersisting(),o(),N)},0,f);return N},hn=/^([cd]:)(.+)/,yn=(e,t,a,s,n,o,r,i,l,u,g="getDb")=>{const w=xs(a,o),[h,,y,f]=cn(t),b=d+da(ra(y)),S=c+"_"+b,C=async(e,t,a="",s="")=>{const n=Hs(c,e,b);return await w(Ps+_s+Vs+n+`()RETURNS ${a}trigger AS $$ ${s}BEGIN ${t}END;$$ LANGUAGE plpgsql;`),n},p=async(e,t,a,s)=>(await w(Ps+e+"TRIGGER"+t+a+"EXECUTE "+Vs+s+"()"),t),m=e=>`PERFORM pg_notify('${S}',${e});`,R=(e,t)=>h?v:2===t?R(e,0)+" OR "+R(e,1):Q(Nt(y[0],e)?.[2]??v,$s,0==t?"NEW":"OLD"),T=(e,t)=>Ee(xe([ms,Rs,Ts],(a,s)=>p(_s,Hs(c,"d",b,e,a),`AFTER ${a} ON${Ws(e)}FOR EACH ROW WHEN(${R(e,s)})`,t)));return(h?gn:wn)(e,w,async e=>{const t=await C("c",`FOR row IN SELECT object_identity FROM pg_event_trigger_ddl_commands()${Cs} command_tag='${ks}' LOOP ${m("'c:'||SPLIT_PART(row.object_identity,'.',2)")}END LOOP;`,"event_","DECLARE row record;");await p("EVENT ",Hs(c,"c",b),`ON ddl_command_end WHEN TAG IN('${ks}')`,t);const a=await C("d",m("'d:'||TG_TABLE_NAME")+"RETURN NULL;");return await Ee(xe(tt(f),async e=>(await w(ks+` IF NOT EXISTS${Ws(e)}("_id"text PRIMARY KEY)`),await T(e,a)))),[await s(S,t=>be(z(t,hn),async([,t,s])=>{Ze(f,s)&&("c:"==t&&await T(s,a),e())})),[t,a]]},async([e,t])=>{n(e),await w(`DROP FUNCTION IF EXISTS${$e(t,",")}CASCADE`)},r,i,l,y,tt(f),async(e,t)=>await e(Ss+` table_name tn,column_name cn FROM information_schema.columns ${Cs} table_schema='public'AND table_name IN(${Js(t)})`,t),u,g,"text",void 0,e=>sa(e),e=>na(e))},fn=(e,t,a,s,n,o,r,i,l,c,u="getDb",g)=>{let w,h,y;const f=xs(a,o),[b,v,S,C]=cn(t);return(b?gn:wn)(e,f,e=>{let t;const a=()=>t=ae(()=>Me(async()=>{const[{d:t,s:a,c:s}]=await f(Ss+` ${Ms} d,${Os} s,TOTAL_CHANGES() c FROM ${Ns}${Ms} JOIN ${Ns}${Os}`);t==w&&a==h&&s==y||(ue(w)||e(),w=t,h=a,y=s)}),v),o=()=>{w=h=y=null,se(t)},r=s(t=>{C.has(t)&&(o(),e(),a())});return a(),()=>{o(),n(r)}},e=>e(),r,i,l,S,tt(C),async(e,t)=>await e(Ss+` t.name tn,c.name cn FROM ${As}list()t,${As}info(t.name)c ${Cs} t.schema='main'AND t.type IN('table','view')AND t.name IN(${Js(t)})ORDER BY t.name,c.name`,t),c,u,d,g,e=>he(e)?1:ye(e)?0:e,void 0)},bn=(e,t)=>[e[t].t,e[t].v],vn=(e,t,a,s)=>{const n=ge(t)?e:Tt(e,t,()=>({}));let o;return St(a,(e,t)=>{s(n,t,e)&&(o=1)}),St(n,(e,t)=>{yt(a,t)||(ft(n,t),o=1)}),!ge(t)&&mt(n)&&ft(e,t),o},Sn=(e,t,a=c,s)=>(t.change(e=>Tt(e,a,gt)),fs(e,async()=>{const e=t.doc();return 2==pt(e?.[a])?bn(e,a):void 0},async(e,s)=>t.change(t=>((e,t,a,s)=>{((e,t)=>{mt(e[t])&&(e[t]={t:{},v:{}})})(e,t);const[n,o]=bn(e,t),r=()=>{i=1};let i=1;if(be(s,([e,t])=>{i=0,St(e,(e,t)=>i?0:ge(e)?ft(n,t):be(n[t],t=>St(e,(e,a)=>i?0:ge(e)?ft(t,a):be(ht(t,a),t=>St(e,(e,a)=>ge(e)?ft(t,a):t[a]=e),r)),r)),St(t,(e,t)=>i?0:ge(e)?ft(o,t):o[t]=e)}),i){const[e,t]=a();vn(n,void 0,e,(e,t,a)=>vn(n,t,a,(e,t,a)=>vn(e,t,a,(e,t,a)=>{if(ht(e,t)!==a)return e[t]=a,1}))),vn(o,void 0,t,(e,t,a)=>{ht(o,t)!==a&&(o[t]=a)})}})(t,a,e,s)),e=>{const s=({doc:t})=>e(bn(t,a));return t.on("change",s),s},e=>{t.removeListener("change",e)},s,1,{getDocHandle:()=>t})),Cn="storage",pn=(e,t,a,s)=>fs(e,async()=>ia(a.getItem(t)),async e=>a.setItem(t,ra(e())),e=>{const s=s=>{s.storageArea===a&&s.key===t&&Me(()=>e(ia(s.newValue)),e)};return ee.addEventListener(Cn,s),s},e=>ee.removeEventListener(Cn,e),s,3,{getStorageName:()=>t}),mn=(e,t,a)=>pn(e,t,localStorage,a),Rn=(e,t,a)=>pn(e,t,sessionStorage,a),Tn=(e,t,a)=>fs(e,async()=>ia(await(await t.getFile()).text()),async e=>{const a=await t.createWritable();await a.write(ra(e())),await a.close()},async e=>{const a=new FileSystemObserver(()=>e());return await a.observe(t),a},e=>e?.disconnect(),a,3,{getHandle:()=>t}),In=(e,t,a,s,n)=>fn(e,a,async(e,a=[])=>await t.execO(e,a),e=>t.onUpdate((t,a,s)=>e(s)),e=>e(),s,n,Ie,1,t),Ln=()=>Wa({},d,0),En=(e,t,a=d,s)=>{const n=(e,...t)=>a+e+me(ra(t),1,-1);return fs(e,async()=>{const e=Ln(),s=Ln();return(await t.list({prefix:a})).forEach(async([t,n,o],r)=>be((e=>{if(G(e,a)){const t=me(e,Re(a),Re(a)+1);return t==J||t==U?[t,...JSON.parse("["+me(e,Re(a)+1)+"]")]:void 0}})(r),([a,...r])=>a==J?be(r[0],a=>{const s=Tt(e[0],a,Ln);be(r[1],e=>{const a=Tt(s[0],e,Ln);be(r[2],e=>a[0][e]=[t,n,o],()=>Ua(a,n,o))},()=>Ua(s,n,o))},()=>Ua(e,n,o)):a==U?be(r[0],e=>s[0][e]=[t,n,o],()=>Ua(s,n,o)):0)),mt(e[0])&&mt(s[0])?void 0:[e,s]},async(e,[[a,s,o],[r,i,l]]=e())=>{const c=Et();At(c,n(J),[0,s,o]),bt(a,([e,t,a],s)=>{At(c,n(J,s),[0,t,a]),bt(e,([e,t,a],o)=>{At(c,n(J,s,o),[0,t,a]),bt(e,(e,t)=>At(c,n(J,s,o,t),e))})}),At(c,n(U),[0,i,l]),bt(r,(e,t)=>At(c,n(U,t),e)),await t.put(_t(c))},Ie,Ie,s,2,{getStorage:()=>t})},Dn=(e,t,a,s,n)=>fn(e,a,async(e,a=[])=>await t.db.raw({sql:e,args:a}),e=>t.notifier.subscribeToDataChanges(a=>Ve(t.notifier.alias(a),({tablename:t})=>e(t))),e=>e(),s,n,Ie,1,t,"getElectricClient"),Nn=(t,a,s,n,o)=>fn(t,s,async(e,t=[])=>await a.getAllAsync(e,t),t=>e(({tableName:e})=>t(e)),e=>e.remove(),n,o,Ie,3,a),Mn=(e,r,i)=>fs(e,async()=>ia(await o(r,m)),async e=>await n(r,ra(e()),m),e=>(t(r)||a(r,d,m),s(r,()=>e())),e=>e?.close(),i,3,{getFilePath:()=>r}),On=[J,U],An={keyPath:"k"},Pn=async(e,t)=>{const a=vt(t,(t,a)=>kn(e,"put",{k:a,v:t}));xe(await kn(e,"getAllKeys"),s=>yt(t,s)?0:je(a,kn(e,"delete",s))),await Ee(a)},kn=async(e,t,a)=>Le((s,n)=>{const o=e[t](a);o.onsuccess=()=>s(o.result),o.onerror=()=>n(`objectStore.${t} error`)}),_n=(e,t,a=1,s)=>{const n=async(e,a=[],s=0)=>Le((n,o)=>{const r=(ee?ee.indexedDB:indexedDB).open(t,s?2:void 0);r.onupgradeneeded=()=>s&&xe(On,e=>Me(()=>r.result.createObjectStore(e,An))),r.onsuccess=()=>Me(async()=>{const t=r.result.transaction(On,"readwrite"),s=await Ee(xe(On,(s,n)=>e(t.objectStore(s),a[n])));r.result.close(),n(s)},e=>{r.result.close(),o(e)}),r.onerror=()=>o("indexedDB.open error")});return fs(e,async()=>await n(async e=>gt(xe(await kn(e,"getAll"),({k:e,v:t})=>[e,t]))),e=>n((e,t)=>Pn(e,t),e(),1),e=>ae(e,a),e=>se(e),s,1,{getDbName:()=>t})},Vn=(e,t,a,s,n)=>fn(e,a,async(e,a=[])=>(await t.execute({sql:e,args:a})).rows,()=>Ie,e=>e(),s,n,Ie,1,t,"getClient"),$n="s",xn="/store",Wn=(e,t,a)=>e+t+(Se(a)?a:ra(a)),Hn=(e,t,a)=>{const s=Re(e);return G(t,e)?[t[s],(a?ia:te)(me(t,s+1))]:void 0},Fn=(e,t,a,s)=>{const{host:n,room:o}=t.partySocketOptions,{storeProtocol:r="https",storePath:i=xn,messagePrefix:l=d}={...Se(a)?{storeProtocol:a}:a},c=r+"://"+n+"/parties/"+t.name+"/"+o+i,u=async e=>await(await fetch(c,{...e?{method:"PUT",body:oa(e)}:{},mode:"cors",cache:"no-store"})).json();return fs(e,u,async(e,a)=>{a?t.send(Wn(l,$n,a)):await u(e())},e=>{const a=t=>be(Hn(l,t.data,1),([t,a])=>{t==$n&&e(void 0,a)});return t.addEventListener(H,a),a},e=>{t.removeEventListener(H,e)},s,1,{getConnection:()=>t})},Jn="hasStore",Un=gt(xe(["Origin","Methods","Headers"],e=>["Access-Control-Allow-"+e,"*"])),jn=async(e,t=d)=>!!await e.get(t+Jn),Gn=async(e,t=d)=>{const a={},s={};return Mt(await e.list(),(e,n)=>be(Hn(t,e),([e,t])=>{if(e==J){const[e,s,o]=na("["+t+"]");Tt(Tt(a,e,gt),s,gt)[o]=n}else e==U&&(s[t]=n)})),[a,s]},qn=async(e,t,a)=>e.party.broadcast(Wn(e.config.messagePrefix??d,$n,t),a),zn=async(e,t,a,s)=>{const n=e.party.storage,o=e.config.storagePrefix??d,r={[o+Jn]:1},i=[],l=[];await Ee(vt(t[0],async(t,c)=>ge(t)?!a&&await e.canDelTable(c,s)&&qe(l,Bn(o,J,c)):await e.canSetTable(c,a,s)&&await Ee(vt(t,async(t,d)=>ge(t)?!a&&await e.canDelRow(c,d,s)&&je(l,Bn(o,J,c,d)):await e.canSetRow(c,d,a,s)&&await Ee(vt(t,async(t,l)=>{const u=[c,d,l],g=Bn(o,J,...u);ge(t)?!a&&await e.canDelCell(...u,s)&&je(i,g):await e.canSetCell(...u,t,a,s,await n.get(g))&&(r[g]=t)})))))),await Ee(vt(t[1],async(t,l)=>{const c=o+U+l;ge(t)?!a&&await e.canDelValue(l,s)&&je(i,c):await e.canSetValue(l,t,a,s,await n.get(c))&&(r[c]=t)})),He(l)||Mt(await n.list(),e=>Ae(l,t=>!G(e,t)||je(i,e)&&0)),await n.delete(i),await n.put(r)},Bn=(e,t,...a)=>Wn(e,t,me(oa(a),1,-1)),Qn=async(e,t,a=null)=>new Response(a,{status:t,headers:e.config.responseHeaders});class Yn{constructor(e){this.party=e,this.config.storePath??=xn,this.config.messagePrefix??=d,this.config.storagePrefix??=d,this.config.responseHeaders??=Un}party;config={};async onRequest(e){const{party:{storage:t},config:{storePath:a=xn,storagePrefix:s}}=this;if(new URL(e.url).pathname.endsWith(a)){const a=await jn(t,s),n=await e.text();return"PUT"==e.method?a?Qn(this,205):(await zn(this,na(n),!0,e),Qn(this,201)):Qn(this,200,a?oa(await Gn(t,s)):d)}return Qn(this,404)}async onMessage(e,t){const{config:{messagePrefix:a=d,storagePrefix:s}}=this;await be(Hn(a,e,1),async([e,a])=>{e==$n&&await jn(this.party.storage,s)&&(await zn(this,a,!1,t),qn(this,a,[t.id]))})}async canSetTable(e,t,a){return!0}async canDelTable(e,t){return!0}async canSetRow(e,t,a,s){return!0}async canDelRow(e,t,a){return!0}async canSetCell(e,t,a,s,n,o,r){return!0}async canDelCell(e,t,a,s){return!0}async canSetValue(e,t,a,s,n){return!0}async canDelValue(e,t){return!0}}const Xn=async(e,t,a,s,n)=>yn(e,a,async(e,a=[])=>(await t.query(e,a)).rows,(e,a)=>t.listen(e,a),e=>Me(e,n),s,n,Ie,3,t,"getPglite"),Kn=async(e,t,a,s,n)=>{const o=await(t.reserve?.());return yn(e,a,o?.unsafe,async(e,a)=>t.listen(e,a),e=>Me(e.unlisten,n),s,n,()=>o?.release?.(),3,t,"getSql")},Zn=(e,t,a,s,n)=>{let o;return fn(e,a,async(e,a=[])=>t.execute(e,a).then(e=>e.rows?._array??[]),e=>{const a=new AbortController,s=t.onChange({rawTableNames:!0,signal:a.signal});return(async()=>{for await(const e of s)o&&xe(e.changedTables,o)})(),o=e,a},e=>{o=void 0,e.abort()},s,n,Ie,1,t,"getPowerSync",eo)},eo=async(e,t,a,s,n)=>{const o=$e(xe(s,(e,t)=>Ws(e)+"=$"+(t+1)),u);for(const[r,i]of vt(n,(e,t)=>[t,e])){const n=xe(i,e=>e??null);if(He(await e(Ts+Ws(t)+" SET"+o+" "+Cs+Ws(a)+"=$"+(i.length+1)+" RETURNING"+Ws(a),[...n,r]))){const o=[1];await e(ms+" INTO"+Ws(t)+"("+Fs(a,...s)+")VALUES("+Js([r,...i],o)+")",[r,...n])}}},to=(e,t,a="storage",s)=>fs(e,async()=>{const e=t.getString(a),s=ge(e)?void 0:JSON.parse(e);return Promise.resolve(s)},async e=>{const s=e();ge(s)||t.set(a,JSON.stringify(s))},e=>t.addOnValueChangedListener(s=>{if(s===a){const s=t.getString(a);s&&e(JSON.parse(s))}}),e=>{e.remove()},s,3,{getStorageName:()=>a}),ao=(e,t,a,s,n)=>fn(e,a,async(e,a=[])=>(await t.executeSql(e,a))[0].rows.raw(),Ie,Ie,s,n,Ie,3,t),so=e=>e.headers.get("ETag")??d,no=e=>e==d?void 0:{"If-None-Match":e},oo=(e,t,a,s=5,n)=>{let o=d;return fs(e,async()=>{const e=await fetch(t,{headers:no(o)});return o=so(e),na(await e.text())},async e=>await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:oa(e())}),e=>ae(async()=>{const a=await fetch(t,{method:"HEAD",headers:no(o)}),s=so(a);s!=o&&(o=s,e())},s),e=>se(e),n,1,{getUrls:()=>[t,a]})},ro=(e,t,a,s,n)=>fn(e,a,async(e,a=[])=>t.query(e).all(...a),()=>Ie,e=>e(),s,n,Ie,3,t),io=(e,t,a,s,n,o)=>fn(e,s,async(e,t=[])=>a.exec(e,{bind:t,rowMode:"object",returnValue:"resultRows"}).map(e=>({...e})),e=>t.capi.sqlite3_update_hook(a,(t,a,s,n)=>e(n),0),()=>t.capi.sqlite3_update_hook(a,Ie,0),n,o,Ie,3,a),lo="change",co=(e,t,a,s,n)=>fn(e,a,async(e,a=[])=>await Le((s,n)=>t.all(e,a,(e,t)=>e?n(e):s(t))),e=>{const a=(t,a,s)=>e(s);return t.on(lo,a),a},e=>t.off(lo,e),s,n,Ie,3,t),uo="delete",go=e=>[e.get(J),e.get(U)],wo=(e,t,a,s)=>{const n=ge(t)?e:e.get(t)??e.set(t,new r);let o;return St(a,(e,t)=>{s(n,t,e)&&(o=1)}),n.forEach((e,t)=>{yt(a,t)||(n.delete(t),o=1)}),ge(t)||n.size||e.delete(t),o},ho=(e,t,a=c,s)=>{const n=t.getMap(a);return fs(e,async()=>n.size?[n.get(J).toJSON(),n.get(U).toJSON()]:void 0,async(e,a)=>t.transact(()=>((e,t,a)=>{e.size||(e.set(J,new r),e.set(U,new r));const[s,n]=go(e),o=()=>{i=1};let i=1;if(be(a,([e,t])=>{i=0,St(e,(e,t)=>i?0:ge(e)?s.delete(t):be(s.get(t),t=>St(e,(e,a)=>i?0:ge(e)?t.delete(a):be(t.get(a),t=>St(e,(e,a)=>ge(e)?t.delete(a):t.set(a,e)),o)),o)),St(t,(e,t)=>i?0:ge(e)?n.delete(t):n.set(t,e))}),i){const[e,a]=t();wo(s,void 0,e,(e,t,a)=>wo(s,t,a,(e,t,a)=>wo(e,t,a,(e,t,a)=>{if(e.get(t)!==a)return e.set(t,a),1}))),wo(n,void 0,a,(e,t,a)=>{n.get(t)!==a&&n.set(t,a)})}})(n,e,a)),e=>{const t=t=>e(void 0,((e,t)=>{if(1==Re(t)&&He(t[0].path))return[e.get(J).toJSON(),e.get(U).toJSON(),1];const[a,s]=go(e),n={},o={};return Ve(t,({path:e,changes:{keys:t}})=>ze(e)==J?be(ze(e),s=>{const o=Tt(n,s,gt),r=a.get(s);be(ze(e),e=>{const a=Tt(o,e,gt),s=r.get(e);Mt(t,(e,{action:t})=>a[e]=t==uo?void 0:s.get(e))},()=>Mt(t,(e,{action:t})=>o[e]=t==uo?void 0:r.get(e)?.toJSON()))},()=>Mt(t,(e,{action:t})=>n[e]=t==uo?void 0:a.get(e)?.toJSON())):Mt(t,(e,{action:t})=>o[e]=t==uo?void 0:s.get(e))),[n,o,1]})(n,t));return n.observeDeep(t),t},e=>{n.unobserveDeep(e)},s,1,{getYDoc:()=>t})},yo="_",fo=qt(e=>{const t=e._[0],a=t(),s=t(),n=Et(),o=Et(),r=Jt(),i=Et(),l=Et(),c={table:0,tableCellIds:0,rowCount:0,rowIds:0,sortedRowIds:0,row:0,cellIds:0,cell:0},u=Et(),g=Et(),{_:[,w,h],delListener:y}=s,[f,b,v,S,C,p,m,L,,E,N,M]=jt(e,()=>[],Te,w,h),$=e=>Pt(o,e,t),x=(e,t,...a)=>Ve(a,a=>Ut(Pt(Pt(u,t,Et),e,Jt),a)),W=e=>{be(Nt(u,e),e=>{Mt(e,(e,t)=>st(t,t=>e.delListener(t))),at(e)}),Ve([$(e),Nt(n,e)],t=>t?.delTable(e))},H=(e,t,a,...s)=>{const n=Pt(Pt(g,t,Et),e,Jt);return Ve(s,t=>{Ut(n,t),a&&e.callListener(t)}),s},F=(e,t,a)=>be(Nt(Nt(g,e),t),s=>{t.delListener(a),nt(s,a),et(s)&&At(Nt(g,e),t)}),J=e=>be(Nt(g,e),e=>{Mt(e,(e,t)=>st(t,t=>e.delListener(t))),at(e)}),U=(e,t,a)=>x(t,e,t.addStartTransactionListener(a.startTransaction),t.addDidFinishTransactionListener(()=>a.finishTransaction())),j=(e,t)=>(mt(t)?a.delRow:a.setRow)(yo,e,{...t}),G=a=>$(a).transaction(()=>be(p(a),([s,,o])=>{const i=C(a),l=o?$(i):e,c=$(a),u=z(a);Ut(r,a),W(a),J(a);const g=[],w=[[void 0,[i,void 0,void 0,[],Et(),l]]],h=[],y=[],f=[];s({select:(e,t,a)=>{const s=he(e)?t:e,n=he(e)?a:t,o=Ce(e)?[Re(g)+d,e]:ge(n)?[e,t=>t(e)]:[n,t=>he(e)?t(!0,s,n):t(s,n)];return je(g,o),{as:e=>o[0]=e}},join:(t,a,s,n)=>{const o=he(t)?a:t,[r,i]=he(t)?ge(n)||Ce(s)?[void 0,s]:[s,n]:ge(s)||Ce(a)?[void 0,a]:[a,s],l=[o,[o,r,Ce(i)?i:e=>e(i),[],Et(),he(t)?$(o):e]];return je(w,l),{as:e=>l[0]=e}},where:(e,t,a,s)=>je(h,Ce(e)?e:he(e)?e=>e(!0,t,a)===s:ge(a)?a=>a(e)===t:s=>s(e,t)===a),group:(e,t,a,s,n)=>{const o=[e,[e,Ce(t)?[t,a,s,n]:Nt(rs,t)??[(e,t)=>t]]];return je(y,o),{as:e=>o[0]=e}},having:(e,t)=>je(f,Ce(e)?e:a=>a(e)===t),param:e=>ht(u,e)});const b=Et(g);if(et(b))return nt(r,a),B;const v=Et(w);Mt(v,(e,[,t])=>be(Nt(v,t),({3:t})=>ge(e)?0:je(t,e)));const S=Et(y),p=!et(S)||!He(f),m=p?(e=>Pt(n,e,t))(a):c;if(p){U(a,m,c);const e=Et();Mt(S,(t,[a,s])=>Ut(Pt(e,a,Jt),[t,s]));const t=Jt();Mt(b,a=>Ze(e,a)?0:Ut(t,a));const s=Et(),n=(t,s,n,o)=>be(t,([r,i,l,d])=>{Mt(s,(t,[a])=>{const s=Pt(r,t,Et),i=Nt(s,n),l=o?void 0:a;if(i!==l){const a=Jt([[i,l]]),o=Qe(s);At(s,n,l),st(Nt(e,t),([e,t])=>{const n=is(d[e],o,s,a,t);d[e]=ge(Oa(n))?void 0:n})}}),et(i)||!Ae(f,e=>e(e=>d[e]))?c.delRow(a,l):ge(l)?t[2]=c.addRow(a,d):c.setRow(a,l,d)});x(m,a,m.addRowListener(a,null,(o,r,i,l)=>{const c=[],d=[],u=Et(),g=m.hasRow(a,i);let w=!g;st(t,e=>{const[t,s,n]=l(a,i,e);je(c,s),je(d,n),w||=t}),Mt(e,e=>{const[t,,s]=l(a,i,e);(w||t)&&At(u,e,[s])}),w&&n(Ft(s,c,void 0,([,e])=>(nt(e,i),et(e))),u,i,1),g&&n(Ft(s,d,()=>{const e={};return st(t,t=>e[t]=m.getCell(a,i,t)),[Et(),Jt(),void 0,e]},([,e])=>{Ut(e,i)}),u,i)}))}U(a,l,m);const R=(e,t,s,n,o)=>{const r=e=>t.getCell(s,n,e);Ve(o,t=>{const[s,,n,o,i,l]=Nt(v,t),c=n?.(r,e),d=Nt(i,e),u=d?.[0];c!=u&&(be(d,([,e,t])=>F(a,e,t)),At(i,e,ge(c)?void 0:[c,l,...H(l,a,1,l.addRowListener(s,c,()=>R(e,l,s,c,o)))]))}),(e=>{const t=(t,a,s)=>{const n=he(t)?a:t,o=he(t)?s:a;if(ge(o))return l.getCell(i,e,t);if(n===i&&!he(t))return l.getCell(i,e,o);const r=Nt(v,n);return ge(r)?void 0:r[5].getCell(r[0],Nt(r[4],e)?.[0],o)};m.transaction(()=>Ae(h,e=>e(t))?Mt(b,(s,n)=>m._[5](a,e,s,n(t,e))):m.delRow(a,e))})(e)},{3:T}=Nt(v,void 0),I=(e,t,s)=>{l.hasRow(i,s)?R(s,l,i,s,T):(m.delRow(a,s),st(v,({4:e})=>be(Nt(e,s),([,t,n])=>{F(a,t,n),At(e,s)})))};return m.transaction(()=>{Ve(l.getRowIds(i),e=>I(0,0,e)),H(l,a,0,l.addRowListener(i,null,I))}),nt(r,a),B})),q=e=>(be(p(e),([,e])=>a.delListener(e)),a.delRow(yo,e),W(e),J(e),E(e),B),z=e=>a.getRow(yo,e),B={setQueryDefinition:(e,t,s,n,o={})=>{const[r,i,l,c]=he(t)?[s,n,1,o]:[t,s,0,n??{}];return be(p(e),([,e])=>a.delListener(e)),L(e,r),m(e,[i,a.addRowListener(yo,e,()=>G(e)),l]),j(e,c),G(e),B},delQueryDefinition:q,getParamValues:z,getParamValue:(e,t)=>a.getCell(yo,e,t),setParamValues:(e,t)=>(S(e)&&j(e,t),B),setParamValue:(e,t,s)=>(S(e)&&a.setCell(yo,e,t,s),B),getStore:f,getQueryIds:b,forEachQuery:v,hasQuery:S,getTableId:C,forEachResultTable:e=>v(t=>$(t).hasTable(t)?e(t,e=>B.forEachResultRow(t,e)):0),addQueryIdsListener:e=>N(()=>e(B)),addParamValuesListener:(e,t)=>"p"+a.addRowListener(yo,e,(e,a,s)=>t(B,s,z(s))),addParamValueListener:(e,t,s)=>"p"+a.addCellListener(yo,e,t,(e,t,a,n,o)=>s(B,a,n,o)),delListener:e=>{const t=Nt(i,e);if("p"==e[0])a.delListener(me(e,1));else if(ge(t))y(e);else{const[a,s,n]=t;Mt(s,(e,[t,a])=>t.delListener(a)),be(n,y),At(i,e),y(e),c[a]--}return B},destroy:()=>{Ve(b(),q),M()},getListenerStats:()=>({...c,paramValues:a.getListenerStats().row-Re(b()),paramValue:a.getListenerStats().cell})};return St({[D]:[2,1],[D+V]:[1,1],[A]:[1,1],[P]:[1,1],[k]:[1,5],[O]:[3,2],[V]:[1,2],[_]:[3,3]},([e,t],a)=>{Ve(me(["get","has","forEach"],0,e),e=>B[e+T+a]=(...t)=>$(t[0])[e+a](...t)),B[I+T+a+R]=(...e)=>((s,n)=>{const o=w(Te,l),r=Et(),d=()=>{const s=null==n?b():[n];Ve(s,s=>{return Ze(r,s)?0:At(r,s,[$(s),(n=$(s),n[I+a+R](...((e,t)=>5==t?[e[0],e[1]??void 0,e[2],e[3],e[4]]:me(e,0,t))(e,t),(a,...s)=>e[t](B,...s),!0))]);var n}),Mt(r,(e,[t,a])=>null==n&&S(e)||e==n?0:(t.delListener(a),void At(r,e)))};return d(),At(i,o,[s,r,null==n?N(d):void 0]),c[s]++,o})((e=>e[0].toLowerCase()+me(e,1))(a),e[0])}),ut(B)}),bo=qt(e=>{const t=Et(),a=Et(),s=Et(),n=Et(),[o,r,i]=Qt(()=>m),[l,c,u,g,w,h,,,y,f,b,v]=jt(e,()=>[Et(),Et(),Et(),Et()],e=>ge(e)?void 0:e+d,o,r),S=(e,t,a)=>be(h(e),([s,,n])=>{if(!Ze(n,t)){const o=Jt();if(w(e)!=p(e))Ut(o,t);else{let e=t;for(;!ge(e)&&!Ze(o,e);)Ut(o,e),e=Nt(s,e)}if(a)return o;At(n,t,o)}return Nt(n,t)}),C=(e,t)=>be(h(e),([,,e])=>At(e,t)),p=e=>Nt(t,e),m={setRelationshipDefinition:(e,o,i,l)=>(At(t,e,i),y(e,o,(t,o)=>{const i=Jt(),l=Jt(),c=Jt(),[d,u]=h(e);st(o,([t,a],s)=>{ge(t)||(Ut(l,t),be(Nt(u,t),e=>{nt(e,s),et(e)&&At(u,t)})),ge(a)||(Ut(l,a),Ze(u,a)||At(u,a,Jt()),Ut(Nt(u,a),s)),Ut(i,s),At(d,s,a),Mt(Nt(n,e),t=>{Ze(S(e,t),s)&&Ut(c,t)})}),t(),st(i,t=>r(a,[e,t])),st(l,t=>r(s,[e,t])),st(c,t=>{C(e,t),r(n,[e,t])})},Gt(l)),m),delRelationshipDefinition:e=>(At(t,e),f(e),m),getStore:l,getRelationshipIds:c,forEachRelationship:t=>u(a=>t(a,t=>e.forEachRow(w(a),t))),hasRelationship:g,getLocalTableId:w,getRemoteTableId:p,getRemoteRowId:(e,t)=>Nt(h(e)?.[0],t),getLocalRowIds:(e,t)=>tt(Nt(h(e)?.[1],t)),getLinkedRowIds:(e,t)=>ge(h(e))?[t]:tt(S(e,t,!0)),addRelationshipIdsListener:b,addRemoteRowIdListener:(e,t,s)=>o(s,a,[e,t]),addLocalRowIdsListener:(e,t,a)=>o(a,s,[e,t]),addLinkedRowIdsListener:(e,t,a)=>(S(e,t),o(a,n,[e,t])),delListener:e=>(C(...i(e)??[]),m),destroy:v,getListenerStats:()=>({remoteRowId:Xe(a),localRowIds:Xe(s),linkedRowIds:Xe(n)})};return ut(m)}),vo={Response:0,GetContentHashes:1,ContentHashes:2,ContentDiff:3,GetTableDiff:4,GetRowDiff:5,GetCellDiff:6,GetValueDiff:7},So=(e,t,a,s,n,o,r,i,l={})=>{let c,u=0,g=0,w=0;const h=Et(),y=()=>aa(11),f=(e,a,s,n)=>{g++,o?.(e,a,s,n),t(e,a,s,n)},b=async(e,t,a,s)=>Le((o,r)=>{const i=s+"."+aa(4),l=ne(()=>{nt(h,i),r(`No response from ${e??"anyone"} to ${i}, `+t)},n);At(h,i,[e,(e,t)=>{clearTimeout(l),nt(h,i),o([e,t,s])}]),f(e,i,t,a)}),v=(e,[t,a])=>{bt(t,([t,a],s)=>{const n=Tt(e[0],s,ja);bt(t,([e,t],a)=>{const s=Tt(n[0],a,ja);bt(e,([e,t],a)=>s[0][a]=xa(e,t)),s[1]=Ja(s[1],t)}),n[1]=Ja(n[1],a)}),e[1]=Ja(e[1],a)},S=(t=null,a,s=y())=>Me(async()=>{ge(a)&&([a,t,s]=await b(null,1,d,s));const[n,o]=a,[r,i]=e.getMergeableContentHashes();let l=ja();if(r!=n){const[a,n]=(await b(t,4,e.getMergeableTableHashes(),s))[0];if(l=a,!mt(n)){const[a,o]=(await b(t,5,e.getMergeableRowHashes(n),s))[0];if(v(l,a),!mt(o)){const a=(await b(t,6,e.getMergeableCellHashes(o),s))[0];v(l,a)}}}return[l,i==o?ja():(await b(t,7,e.getMergeableValueHashes(),s))[0],1]},i),C=fs(e,async()=>{const e=await S();return!e||mt(e[0][0])&&mt(e[1][0])?void 0:e},async(t,a)=>a?f(null,y(),3,a):f(null,y(),2,e.getMergeableContentHashes()),e=>c=e,()=>c=void 0,i,2,{startSync:async e=>(u=1,await C.startAutoPersisting(e)),stopSync:async()=>(u=0,await C.stopAutoPersisting(),C),destroy:async()=>(await C.stopSync(),s(),C),getSynchronizerStats:()=>({sends:g,receives:w}),...l},1);return a((t,a,s,n)=>{const o=u||C.isAutoLoading();w++,r?.(t,a,s,n),0==s?be(Nt(h,a),([e,a])=>we(e)||e==t?a(n,t):0):2==s&&o?S(t,n,a??void 0).then(e=>{c?.(void 0,e)}).catch(i):3==s&&o?c?.(void 0,n):be(1==s&&(u||C.isAutoSaving())?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(n):5==s?e.getMergeableRowDiff(n):6==s?e.getMergeableCellDiff(n):7==s?e.getMergeableValueDiff(n):void 0,e=>{f(t,a,0,e)})}),C},Co=(e,t,a,s,n)=>{const o=aa(),r=new BroadcastChannel(t);return So(e,(e,t,a,s)=>r.postMessage([o,e,t,a,s]),e=>{r.onmessage=({data:[t,a,s,n,r]})=>we(a)||a==o?e(t,s,n,r):0},()=>{r.close()},.01,a,s,n,{getChannelName:()=>t})},po=Et(),mo=(e,t,a,s)=>{const n=aa();return So(e,(e,t,a,s)=>ne(()=>we(e)?Mt(po,(e,o)=>e!=n?o(n,t,a,s):0):Nt(po,e)?.(n,t,a,s)),e=>{At(po,n,e)},()=>{nt(po,n)},.01,t,a,s)},Ro="\n",To=/^(.+)\n(\d+)\n(\d+)\n([\s\S]*)$/,Io=(e,t)=>{const a=e.indexOf(Ro);-1!==a&&t(me(e,0,a),me(e,a+1))},Lo=(e,t,a)=>a(e,...ia(t)),Eo=(e,t=1)=>{const a=Et(),s=e=>ne(()=>nt(a,e),t);return t=>Io(t,(t,n)=>{const[,o,r,i,l]=z(n,To)??[];if(o){const n=parseInt(r),c=parseInt(i);if(c>0&&n>=0&&n<c){const r=t+Ro+o,i=Pt(a,r,()=>[[],c,c,s(r)]),[d]=i;c==i[2]&&ge(d[n])&&(oe(i[3]),i[3]=s(r),d[n]=l,i[1]--),0==i[1]&&(((e,t)=>{oe(t[3]),nt(a,e)})(r,i),Lo(t,$e(d),e))}}else Lo(t,n,e)})},Do=(e,t)=>e+Ro+t,No=(e,t,a,s,n)=>{const o=e??d,r=ra([t,a,s]),i=le(n??0);if(ge(n)||i<1||Re(r)<=i)return[Do(o,r)];const l=z(r,RegExp(`.{1,${i}}`,"g")),c=Re(l??[]),u=aa();return xe(l??[],(e,t)=>Do(o,$e([u,t,c,e],Ro)))},Mo=async(e,t,a=1,s,n,o,r)=>{const i=(e,a)=>(t.addEventListener(e,a),()=>t.removeEventListener(e,a)),l=So(e,(e,...a)=>Ve(No(e,...a,r),e=>t.send(e)),e=>{const t=Eo(e,a);i(H,({data:e})=>t(e.toString(m)))},()=>{t.close()},a,s,n,o,{getWebSocket:()=>t});return Le(e=>{if(t.readyState!=t.OPEN){const t=t=>{t&&o?.(t),a(),s(),e(l)},a=i("open",()=>t()),s=i(F,t)}else e(l)})},Oo=/\/([^?]*)/,Ao="S",Po=e=>z(new URL(e.url).pathname,Oo)?.[1]??d,ko=e=>"websocket"==e.headers.get("upgrade")?.toLowerCase()?e.headers.get("sec-websocket-key"):null,_o=(e,t=null,a=null)=>new Response(a,{status:e,webSocket:t}),Vo=()=>_o(426,null,"Upgrade required");class $o extends i{#e;constructor(e,t){super(e,t),this.ctx.blockConcurrencyWhile(async()=>await be(await this.createPersister(),async e=>{const t=this.getRequestTimeoutSeconds(),a=So(e.getStore(),(e,t,a,s)=>Ve(No(e,t,a,s,this.getFragmentSize()),e=>this.#t(Ao,e)),e=>this.#e=Eo(e,t),Ie,t);await e.load(),await e.startAutoSave(),ne(a.startSync)}))}fetch(e){const t=Po(e);return be(ko(e),e=>{const[a,s]=Ct(new WebSocketPair);return He(this.#a())&&this.onPathId(t,1),this.ctx.acceptWebSocket(s,[e,t]),this.onClientId(t,e,1),s.send(Do(Ao,ra([null,1,d]))),_o(101,a)},Vo)}webSocketMessage(e,t){be(this.ctx.getTags(e)[0],a=>this.#t(a,t.toString(),e))}webSocketClose(e){const[t,a]=this.ctx.getTags(e);this.onClientId(a,t,-1),1==Re(this.#a())&&this.onPathId(a,-1)}#t(e,t,a){Io(t.toString(),(t,s)=>{const n=Do(e,s);this.onMessage(e,t,s),t==d?(e!=Ao&&this.#e?.(n),Ve(this.#a(),e=>{e!=a&&e.send(n)})):t==Ao?this.#e?.(n):t!=e&&this.#a(t)[0]?.send(n)})}#a(e){return this.ctx.getWebSockets(e)}createPersister(){}getPathId(){return this.ctx.getTags(this.#a()[0])?.[1]}getClientIds(){return xe(this.#a(),e=>this.ctx.getTags(e)[0])}getFragmentSize(){}getRequestTimeoutSeconds(){return 1}onPathId(e,t){}onClientId(e,t,a){}onMessage(e,t,a){}}const xo=e=>(t,a)=>ko(t)?a[e].get(a[e].idFromName(Po(t))).fetch(t):Vo(),Wo=/\/([^?]*)/,Ho=e=>{const t=Et();return e.on("connection",(e,a)=>be(z(a.url,Wo),([,s])=>be(a.headers["sec-websocket-key"],async a=>{const n=Pt(t,s,Et);At(n,a,e),e.on(H,e=>Io(e.toString(m),(e,t)=>{const s=Do(a,t);e===d?Mt(n,(e,t)=>e!==a?t.send(s):0):Nt(n,e)?.send(s)})),e.on("close",()=>{nt(n,a),et(n)&&nt(t,s)})}))),ut({getWebSocketServer:()=>e,destroy:async()=>{at(t),e.close()}})},Fo=/\/([^?]*)/,Jo=(e,t,a,s=1,n)=>{const o=Et(),r=Et(),i=Et(),l=Et(),[c,u,g]=Qt(()=>y),w=async e=>{await(e[1]?.destroy()),await(e[2]?.destroy())},h=(e,t,a)=>s=>Io(s,(s,n)=>{const o=Do(e,n);s===d?("S"!==e&&a[3]?.(o),Mt(t,(t,a)=>t!==e?a.send(o):0)):"S"===s?a[3]?.(o):Nt(t,s)?.send(o)});e.on("connection",(e,c)=>be(z(c.url,Fo),([,d])=>be(c.headers["sec-websocket-key"],async c=>{const g=Pt(i,d,Et),y=Pt(l,d,()=>[0]),f=h(c,g,y);et(g)&&(u(o,void 0,d,1),await(async(e,o,r)=>be(await(t?.(o)),t=>{e[0]=1,e[1]=pe(t)?t[0]:t;const o=h("S",r,e);e[2]=So(e[1].getStore(),(e,t,a,s)=>Ve(No(e,t,a,s,n),o),t=>{e[3]=Eo(t,s)},Ie,s,void 0,void 0,a),e[4]=[],e[5]=pe(t)?t[1]:e=>0}))(y,d,g)),At(g,c,e),u(r,[d],c,1),e.on(H,e=>{const t=e.toString(m);0==y[0]?f(t):je(y[4],t)}),1==y[0]&&(await(async e=>{e[0]=2,await e[1].schedule(e[1].startAutoLoad,e[1].startAutoSave,e[2].startSync),e[5](e[1].getStore()),e[0]=0})(y),Ve(y[4],f),y[4]=[]),e.on("close",async()=>{nt(g,c),u(r,[d],c,-1),et(g)&&(await w(y),nt(l,d),nt(i,d),u(o,void 0,d,-1))}),a&&e.on(F,a)}))),a&&e.on(F,a);const y={getWebSocketServer:()=>e,getPathIds:()=>Dt(i),getClientIds:e=>Dt(Nt(i,e)),addPathIdsListener:e=>c(e,o),addClientIdsListener:(e,t)=>c(t,r,[e]),delListener:e=>(g(e),y),getStats:()=>({paths:Qe(i),clients:Ye(i)}),destroy:async()=>{at(i),await Ee(Ot(l,w)),e.close()}};return ut(y)};export{vo as Message,ws as Persists,gs as Status,Yn as TinyBasePartyKitServer,$o as WsServerDurableObject,ua as addOrRemoveHash,qn as broadcastChanges,Sn as createAutomergePersister,Co as createBroadcastChannelSynchronizer,Yt as createCheckpoints,In as createCrSqliteWasmPersister,fs as createCustomPersister,yn as createCustomPostgreSqlPersister,fn as createCustomSqlitePersister,So as createCustomSynchronizer,En as createDurableObjectStoragePersister,Dn as createElectricSqlPersister,Nn as createExpoSqlitePersister,Mn as createFilePersister,_n as createIndexedDbPersister,Ma as createIndexes,Vn as createLibSqlPersister,mn as createLocalPersister,mo as createLocalSynchronizer,os as createMergeableStore,ls as createMetrics,us as createMiddleware,Tn as createOpfsPersister,Fn as createPartyKitPersister,Xn as createPglitePersister,Kn as createPostgresPersister,Zn as createPowerSyncPersister,fo as createQueries,to as createReactNativeMmkvPersister,ao as createReactNativeSqlitePersister,bo as createRelationships,oo as createRemotePersister,Rn as createSessionPersister,co as createSqlite3Persister,ro as createSqliteBunPersister,io as createSqliteWasmPersister,as as createStore,Jo as createWsServer,Ho as createWsServerSimple,Mo as createWsSynchronizer,ho as createYjsPersister,Na as defaultSorter,ya as getCellHash,fa as getCellInRowHash,da as getHash,Da as getHlcFunctions,ba as getRowHash,va as getRowInTableHash,Sa as getTableHash,Ca as getTableInTablesHash,pa as getTablesHash,aa as getUniqueId,ha as getValueHash,wa as getValueInValuesHash,ga as getValuesHash,xo as getWsServerDurableObjectFetch,jn as hasStoreInStorage,Gn as loadStoreFromStorage,Pn as objectStoreMatch};
1
+ import{addDatabaseChangeListener as e}from"expo-sqlite";import{existsSync as t,writeFileSync as a,watch as s}from"fs";import{writeFile as n,readFile as o}from"fs/promises";import{Map as r}from"yjs";import{DurableObject as i}from"cloudflare:workers";const l=e=>typeof e,c="tinybase",d="",u=",",g=l(d),w=l(!0),h=l(0),y=l(l),f="object",b="array",v="true",S="type",C="default",p="allowNull",m="utf8",R="Listener",T="Result",I="add",L="Has",E="Ids",D="Table",N=D+"s",M=D+E,O="Row",A=O+"Count",P=O+E,k="Sorted"+O+E,_="Cell",V=_+E,$="Value",x=$+"s",W=$+E,H="message",F="error",J="t",U="v",j=e=>d+e,G=(e,t)=>e.startsWith(t),q=(e,t)=>e.endsWith(t),z=(e,t)=>e?.match(t),B=(e,t=d,a)=>e.split(t,a),Q=(e,t,a)=>e.replace(t,a),Y=Promise,X=Math,K=e=>(t,a,s)=>e(t)?s?.():a(t),Z=globalThis,ee=Z.window,te=String,ae=(e,t,a)=>setInterval(e,1e3*t),se=clearInterval,ne=(e,t=0)=>setTimeout(e,1e3*t),oe=clearTimeout,re=X.max,ie=X.min,le=X.floor,ce=X.random,de=isFinite,ue=e=>null==e,ge=e=>void 0===e,we=e=>null===e,he=e=>!0===e,ye=e=>!1===e,fe=K(ue),be=K(ge),ve=e=>e==g||e==w,Se=e=>l(e)==g,Ce=e=>l(e)==y,pe=e=>Array.isArray(e),me=(e,t,a)=>e.slice(t,a),Re=e=>e.length,Te=()=>{},Ie=()=>{},Le=e=>new Y(e),Ee=async e=>Y.all(e),De=Z.structuredClone,Ne=e=>{throw Error(e)},Me=async(e,t,a)=>{try{return await e()}catch(e){t?.(e)}},Oe=(e,t)=>e.includes(t),Ae=(e,t)=>e.every(t),Pe=(e,t)=>Re(e)===Re(t)&&Ae(e,(e,a)=>t[a]===e),ke=(e,t)=>Ae(e,(a,s)=>0==s||t(e[s-1],a)<=0),_e=(e,t)=>e.sort(t),Ve=(e,t)=>e.forEach(t),$e=(e,t=d)=>e.join(t),xe=(e,t)=>e.map(t),We=e=>Fe(e,(e,t)=>e+t,0),He=e=>0==Re(e),Fe=(e,t,a)=>e.reduce(t,a),Je=(e,t)=>e.filter(t),Ue=(e,t)=>e.splice(0,t),je=(e,...t)=>e.push(...t),Ge=e=>e.pop(),qe=(e,...t)=>e.unshift(...t),ze=e=>e.shift(),Be=e=>t=>Fe(tt(t),(t,a)=>t+e(a),0),Qe=e=>e?.size??0,Ye=Be(Qe),Xe=Be(Ye),Ke=Be(Xe),Ze=(e,t)=>e?.has(t)??!1,et=e=>ge(e)||0==Qe(e),tt=e=>[...e?.values()??[]],at=e=>e.clear(),st=(e,t)=>e?.forEach(t),nt=(e,t)=>e?.delete(t),ot=Object,rt=e=>ot.getPrototypeOf(e),it=ot.isFrozen,lt=ot.entries,ct=e=>!ue(e)&&fe(rt(e),e=>e==ot.prototype||ue(rt(e)),()=>!0),dt=ot.keys,ut=ot.freeze,gt=(e=[])=>ot.fromEntries(e),wt=(...e)=>ot.assign({},...e),ht=(e,t)=>be(e,e=>e[t]),yt=(e,t)=>t in e,ft=(e,t)=>(delete e[t],e),bt=(e,t)=>Ve(lt(e),([e,a])=>t(a,e)),vt=(e,t)=>xe(lt(e),([e,a])=>t(a,e)),St=(e,t)=>gt(vt(e,(e,a)=>[a,t(e,a)])),Ct=e=>ot.values(e),pt=e=>Re(dt(e)),mt=e=>ct(e)&&0==pt(e),Rt=(e,t,a=(e,t)=>e===t)=>{const s=lt(e);return Re(s)===pt(t)&&Ae(s,([e,s])=>ct(s)?!!ct(t[e])&&Rt(t[e],s,a):a(s,t[e]))},Tt=(e,t,a)=>(yt(e,t)||(e[t]=a()),e[t]),It=(e,t,a,s=0)=>ue(e)||!ct(e)||!s&&mt(e)||it(e)?(a?.(),!1):(bt(e,(a,s)=>{t(a,s)||ft(e,s)}),!!s||!mt(e)),Lt=Map,Et=e=>new Lt(e),Dt=e=>[...e?.keys()??[]],Nt=(e,t)=>e?.get(t),Mt=(e,t)=>st(e,(e,a)=>t(a,e)),Ot=(e,t)=>xe([...e?.entries()??[]],([e,a])=>t(a,e)),At=(e,t,a)=>ge(a)?(nt(e,t),e):e?.set(t,a),Pt=(e,t,a,s)=>(Ze(e,t)?s?.(Nt(e,t)):At(e,t,a()),Nt(e,t)),kt=(e,t,a,s=At)=>(St(t,(t,s)=>a(e,s,t)),Mt(e,a=>yt(t,a)?0:s(e,a)),e),_t=(e,t,a,s)=>{const n={};return st(e,(e,o)=>{if(!a?.(e,o)){const a=t?t(e,o):e;s?.(a)||(n[o]=a)}}),n},Vt=(e,t,a)=>_t(e,e=>_t(e,t,a),et,mt),$t=(e,t,a)=>_t(e,e=>Vt(e,t,a),et,mt),xt=(e,t)=>{const a=Et();return st(e,(e,s)=>a.set(s,t?.(e)??e)),a},Wt=e=>xt(e,xt),Ht=e=>xt(e,Wt),Ft=(e,t,a,s,n=0)=>be((a?Pt:Nt)(e,t[n],n>Re(t)-2?a:Et),o=>{if(n>Re(t)-2)return s?.(o)&&At(e,t[n]),o;const r=Ft(o,t,a,s,n+1);return et(o)&&At(e,t[n]),r}),Jt=e=>new Set(pe(e)||ge(e)?e:[e]),Ut=(e,t)=>e?.add(t),jt=(e,t,a,s,n)=>{const o=e.hasRow,r=Et(),i=Et(),l=Et(),c=Et(),d=Et(),u=Et(),g=t=>be(Nt(u,t),a=>{Ve(tt(a),t=>{e.delListener(t),nt(a,t)}),At(u,t)}),w=(e,a)=>{At(r,e,a),Ze(i,e)||(At(i,e,t()),At(c,e,Et()),At(d,e,Et()),n(l))},h=e=>{At(r,e),At(i,e),At(c,e),At(d,e),g(e),n(l)};return[()=>e,()=>Dt(r),e=>Mt(i,e),e=>Ze(i,e),e=>Nt(r,e),e=>Nt(i,e),(e,t)=>At(i,e,t),w,(t,s,n,r,i)=>{w(t,s);const l=Et(),h=Et(),y=Nt(c,t),f=Nt(d,t),b=t=>{const n=a=>e.getCell(s,t,a),c=Nt(y,t),d=o(s,t)?a(r(n,t)):void 0;if(c===d||pe(c)&&pe(d)&&Pe(c,d)||At(l,t,[c,d]),!ge(i)){const e=Nt(f,t),a=o(s,t)?i(n,t):void 0;e!=a&&At(h,t,a)}},v=e=>{n(()=>{st(l,([,e],t)=>At(y,t,e)),st(h,(e,t)=>At(f,t,e))},l,h,y,f,e),at(l),at(h)};Mt(y,b),e.hasTable(s)&&Ve(e.getRowIds(s),e=>{Ze(y,e)||b(e)}),v(!0),g(t),((e,...t)=>{const a=Pt(u,e,Jt);Ve(t,e=>Ut(a,e))})(t,e.addRowListener(s,null,(e,t,a)=>b(a)),e.addTableListener(s,()=>v()))},h,e=>s(e,l),()=>Mt(u,h)]},Gt=(e,t)=>Se(e)?t=>t(e):e??(()=>t??d),qt=(e,t)=>{const a=new WeakMap;return s=>{a.has(s)||a.set(s,e(s));const n=a.get(s);return t?.(n),n}},zt=/^\d+$/,Bt=()=>{const e=[];let t=0;return[a=>(a?ze(e):null)??d+t++,t=>{zt.test(t)&&Re(e)<1e3&&je(e,t)}]},Qt=e=>{let t;const[a,s]=Bt(),n=Et();return[(s,o,r,i=[],l=()=>[])=>{t??=e();const c=a(1);return At(n,c,[s,o,r,i,l]),Ut(Ft(o,r??[d],Jt),c),c},(e,a,...s)=>Ve(((e,t=[d])=>{const a=[],s=(e,n)=>n==Re(t)?je(a,e):we(t[n])?st(e,e=>s(e,n+1)):Ve([t[n],null],t=>s(Nt(e,t),n+1));return s(e,0),a})(e,a),e=>st(e,e=>Nt(n,e)[0](t,...a??[],...s))),e=>be(Nt(n,e),([,t,a])=>(Ft(t,a??[d],void 0,t=>(nt(t,e),et(t)?1:0)),At(n,e),s(e),a)),e=>be(Nt(n,e),([e,,a=[],s,n])=>{const o=(...r)=>{const i=Re(r);i==Re(a)?e(t,...r,...n(r)):we(a[i])?Ve(s[i]?.(...r)??[],e=>o(...r,e)):o(...r,a[i])};o()})]},Yt=qt(e=>{let t,a,s,n=100,o=Et(),r=Et(),i=1;const l=Et(),c=Et(),[u,g,w]=Qt(()=>P),h=Et(),y=Et(),f=[],b=[],v=(t,a)=>{i=0,e.transaction(()=>{const[s,n]=Nt(h,a);st(s,(a,s)=>st(a,(a,n)=>st(a,(a,o)=>e._[5](s,n,o,a[t],!0)))),st(n,(a,s)=>e._[6](s,a[t],!0))}),i=1},S=e=>{At(h,e),At(y,e),g(c,[e])},C=(e,t)=>Ve(Ue(e,t??Re(e)),S),p=()=>C(f,Re(f)-n),m=()=>be(t,()=>{je(f,t),p(),C(b),t=void 0,s=1}),R=()=>{t=Ge(f),s=1};let T,I;const L=(e=d)=>(ge(t)&&(t=d+a++,At(h,t,[o,r]),O(t,e),o=Et(),r=Et(),s=1),t),E=()=>{He(f)||(qe(b,L()),v(0,t),t=Ge(f),s=1)},D=()=>{He(b)||(je(f,t),t=ze(b),v(1,t),s=1)},N=()=>{s&&(g(l),s=0)},M=e=>{const t=L(e);return N(),t},O=(e,t)=>(A(e)&&Nt(y,e)!==t&&(At(y,e,t),g(c,[e])),P),A=e=>Ze(h,e),P={setSize:e=>(n=e,p(),P),addCheckpoint:M,setCheckpoint:O,getStore:()=>e,getCheckpointIds:()=>[[...f],t,[...b]],forEachCheckpoint:e=>Mt(y,e),hasCheckpoint:A,getCheckpoint:e=>Nt(y,e),goBackward:()=>(E(),N(),P),goForward:()=>(D(),N(),P),goTo:e=>{const a=Oe(f,e)?E:Oe(b,e)?D:void 0;for(;!ge(a)&&e!=t;)a();return N(),P},addCheckpointIdsListener:e=>u(e,l),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(w(e),P),clear:()=>(C(f),C(b),ge(t)||S(t),t=void 0,a=0,M(),P),clearForward:()=>(He(b)||(C(b),g(l)),P),destroy:()=>{e.delListener(T),e.delListener(I)},getListenerStats:()=>({checkpointIds:Ye(l),checkpoint:Ye(c)}),_registerListeners:()=>{T=e.addCellListener(null,null,null,(e,t,a,s,n,r)=>{if(i){m();const e=Pt(o,t,Et),i=Pt(e,a,Et),l=Pt(i,s,()=>[r,void 0]);l[1]=n,l[0]===n&&et(At(i,s))&&et(At(e,a))&&et(At(o,t))&&R(),N()}}),I=e.addValueListener(null,(e,t,a,s)=>{if(i){m();const e=Pt(r,t,()=>[s,void 0]);e[1]=a,e[0]===a&&et(At(r,t))&&R(),N()}})}};return ut(P.clear())},e=>e._registerListeners()),Xt=B("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),Kt=Et(xe(Xt,(e,t)=>[e,t])),Zt=e=>Xt[63&e],ea=(e,t)=>Nt(Kt,e[t])??0,ta=Z.crypto?e=>Z.crypto.getRandomValues(e):e=>xe(e,()=>le(256*ce())),aa=(e=16)=>Fe(ta(new Uint8Array(e)),(e,t)=>e+Zt(t),d),sa=JSON.stringify,na=JSON.parse,oa=e=>sa(e,(e,t)=>t instanceof Map?ot.fromEntries([...t]):t),ra=e=>sa(e,(e,t)=>ge(t)?"":t),ia=e=>la(na(e)),la=e=>""===e?void 0:pe(e)?xe(e,la):ct(e)?St(e,la):e,ca=new Z.TextEncoder,da=e=>{let t=2166136261;return Ve(ca.encode(e),e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)}),t>>>0},ua=(e,t)=>(e^t)>>>0,ga=e=>Fe(lt(e),(e,[t,a])=>ua(e,wa(t,a)^wa(t,0)),0),wa=(e,t)=>da(e+":"+t),ha=(e,t)=>da(oa(e??null)+":"+t),ya=ha,fa=wa,ba=ga,va=wa,Sa=e=>Fe(lt(e),(e,[t,a])=>ua(e,wa(t,a)),0),Ca=wa,pa=Sa,ma=2**36,Ra=2**30,Ta=2**24,Ia=2**18,La=4096,Ea=e=>{const t=da(e);return Zt(t/Ta)+Zt(t/Ia)+Zt(t/La)+Zt(t/64)+Zt(t)},Da=(e,t=Date.now)=>{let a=0,s=-1;const n=be(e,Ea,()=>aa(5)),o=e=>{const n=a,[o,r]=ge(e)||e==d?[0,0]:i(e);a=re(n,o,t()),s=a==n?a==o?re(s,r):s:a==o?r:-1},r=(e,t,a)=>Zt(e/ma)+Zt(e/Ra)+Zt(e/Ta)+Zt(e/Ia)+Zt(e/La)+Zt(e/64)+Zt(e)+Zt(t/Ia)+Zt(t/La)+Zt(t/64)+Zt(t)+(ge(a)?n:Ea(a)),i=e=>[ea(e,0)*ma+ea(e,1)*Ra+ea(e,2)*Ta+ea(e,3)*Ia+ea(e,4)*La+64*ea(e,5)+ea(e,6),ea(e,7)*Ia+ea(e,8)*La+64*ea(e,9)+ea(e,10),e.slice(11)];return[()=>(o(),r(a,++s)),o,r,i,()=>a,()=>s,()=>n]},Na=(e,t)=>(e??0)<(t??0)?-1:1,Ma=qt(e=>{const t=Et(),a=Et(),[s,n,o]=Qt(()=>S),[r,i,l,c,u,g,w,,h,y,f,b]=jt(e,Et,e=>ge(e)?d:pe(e)?xe(e,j):j(e),s,n),v=(t,a,s)=>{const n=u(t);st(s,(t,s)=>a(s,a=>st(t,t=>a(t,a=>e.forEachCell(n,t,a)))))},S={setIndexDefinition:(e,s,o,r,i,l=Na)=>{const c=ge(i)?void 0:([e],[t])=>i(e,t);return h(e,s,(s,o,i,d,u,h)=>{let y=0;const f=Jt(),b=Jt(),v=g(e);if(st(o,([e,t],a)=>{const s=Jt(e),n=Jt(t);st(s,e=>nt(n,e)?nt(s,e):0),st(s,e=>{Ut(f,e),be(Nt(v,e),t=>{nt(t,a),et(t)&&(At(v,e),y=1)})}),st(n,e=>{Ut(f,e),Ze(v,e)||(At(v,e,Jt()),y=1),Ut(Nt(v,e),a),ge(r)||Ut(b,e)})}),s(),et(u)||(h?Mt(v,e=>Ut(b,e)):Mt(i,e=>be(Nt(d,e),e=>Ve(pe(e)?e:[e],e=>Ut(b,e)))),st(b,e=>{const t=(t,a)=>l(Nt(u,t),Nt(u,a),e),a=[...Nt(v,e)];ke(a,t)||(At(v,e,Jt(_e(a,t))),Ut(f,e))})),(y||h)&&!ge(c)){const t=[...v];ke(t,c)||(w(e,Et(_e(t,c))),y=1)}y&&n(t,[e]),st(f,t=>n(a,[e,t]))},Gt(o),be(r,Gt)),S},delIndexDefinition:e=>(y(e),S),getStore:r,getIndexIds:i,forEachIndex:e=>l((t,a)=>e(t,e=>v(t,e,a))),forEachSlice:(e,t)=>v(e,t,g(e)),hasIndex:c,hasSlice:(e,t)=>Ze(g(e),t),getTableId:u,getSliceIds:e=>Dt(g(e)),getSliceRowIds:(e,t)=>tt(Nt(g(e),t)),addIndexIdsListener:f,addSliceIdsListener:(e,a)=>s(a,t,[e]),addSliceRowIdsListener:(e,t,n)=>s(n,a,[e,t]),delListener:e=>(o(e),S),destroy:b,getListenerStats:()=>({sliceIds:Ye(t),sliceRowIds:Xe(a)})};return ut(S)}),Oa=e=>{if(we(e))return"null";if(pe(e))return b;if(ct(e))return f;const t=l(e);return ve(t)||t==h&&de(e)?t:void 0},Aa=e=>ge(e)||!ge(Oa(e)),Pa=e=>e==f||e==b,ka=e=>ct(e)||pe(e)?"�"+sa(e):e,_a=e=>Se(e)&&"�"==e[0],Va=(e,t,a)=>!a&&_a(e)?na(me(e,1)):e,$a=([e,t])=>xa(e,t),xa=(e,t)=>t?[e,t]:[e],Wa=(e,t,a)=>[e,t,a],Ha=e=>e[2],Fa=(e,t)=>t>e?(e?da(e):0)^da(t):0,Ja=(e,t)=>((e??d)>(t??d)?e:t)??d,Ua=(e,t,a)=>{t>e[1]&&(e[1]=t),e[2]=a>>>0},ja=(e=d)=>xa(gt(),e),Ga=(e=d)=>[Et(),e,0],qa=([e,t,a],s)=>[_t(e,s),t,a],za=([e,t],a=$a)=>xa(_t(e,a),t),Ba=(e,t)=>{return pe(e)&&3==Re(e)&&Se(e[1])&&(a=e[2],l(a)==h)&&de(e[2])&&t(e[0]);var a},Qa=e=>[e,e],Ya=(e,t=Ye)=>t(e[0])+t(e[1]),Xa=()=>[Et(),Et()],Ka=e=>[...e],Za=([e,t])=>e===t,es=(e,t,a)=>At(e,t,Nt(e,t)==-a?void 0:a),ts=([e,t],[a,s])=>Rt(e,a)&&Rt(t,s),as=()=>{let e,t,a=!1,s=!1,n=0,o=[],r=[],i=0;const l=Et(),c=Et(),d=Et(),u=Et(),g=Et(),w=Et(),y=Et(),f=Et(),b=Et(),v=Jt(),m=Et(),T=Et(),E=Et(),k=Et(),H=Et(),F=Et(),J=Jt(),U=Et(),G=Et(),q=Et(),z=Et(),B=Xa(),Q=Xa(),Y=Xa(),X=Xa(),K=Xa(),Z=Xa(),ee=Xa(),te=Xa(),ae=Xa(),se=Xa(),ne=Xa(),oe=Xa(),re=Xa(),ie=Xa(),le=Xa(),ce=Xa(),de=Xa(),ue=Xa(),he=Xa(),ye=Xa(),fe=Xa(),Se=Xa(),Re=Et(),Te=Xa(),[Ie,Le,Ee,Ne]=Qt(()=>cs),Ae=e=>{const t=i;i=1;const a=e();return i=t,a},ke=(e,t,a,s=Object.is)=>be(t(),t=>e===t||s(e,t)?a(t):Ae(()=>a(t))),$e=e=>{if(!It(e,(e,t)=>Oe([S,C,p],t)))return!1;const t=e[S];if(!ve(t)&&t!=h&&!Pa(t))return!1;const a=e[C];return!(we(a)&&!e[p]||(we(a)||(Oa(a)!=t?ft(e,C):e[C]=ka(a)),0))},We=pe,He=(t,a)=>(!e||Ze(E,a)||Zt(a))&&It(t,(e,t)=>Fe(a,t,e),()=>Zt(a)),Fe=(e,t,a,s)=>It(s?a:qe(a,e,t),(s,n)=>be(Je(e,t,n,s),e=>(a[n]=e,!0),()=>!1),()=>Zt(e,t)),Je=(t,a,s,n)=>e?be(Nt(Nt(E,t),s),e=>we(n)?e[p]?n:Zt(t,a,s,n,e[C]):Oa(n)===e[S]?ka(n):Pa(e[S])&&_a(n)?n:Zt(t,a,s,n,e[C]),()=>Zt(t,a,s,n)):ge(Oa(n))?Zt(t,a,s,n):ka(n),Ue=(e,t)=>It(t?e:ze(e),(t,a)=>be(Ge(a,t),t=>(e[a]=t,!0),()=>!1),()=>ea()),Ge=(e,a)=>t?be(Nt(H,e),t=>we(a)?t[p]?a:ea(e,a,t[C]):Oa(a)===t[S]?ka(a):Pa(t[S])&&_a(a)?a:ea(e,a,t[C]),()=>ea(e,a)):ge(Oa(a))?ea(e,a):ka(a),qe=(e,t,a)=>(be(Nt(k,t),([s,n])=>{st(s,(s,n)=>{yt(e,n)||(e[n]=s,be(a,e=>Ut(Pt(Pt(y,t,Et),e,Jt),n)))}),st(n,s=>{yt(e,s)||Zt(t,a,s)})}),e),ze=e=>(t&&(st(F,(t,a)=>{yt(e,a)||(e[a]=t,Ut(v,a))}),st(J,t=>{yt(e,t)||ea(t)})),e),Be=e=>kt(E,e,(e,t,a)=>{const s=Et(),n=Jt();kt(Pt(E,t,Et),a,(e,t,a)=>{At(e,t,a),be(a[C],e=>At(s,t,e),()=>Ut(n,t))}),At(k,t,[s,n])},(e,t)=>{At(E,t),At(k,t)}),tt=e=>kt(H,e,(e,t,a)=>{At(H,t,a),be(a[C],e=>At(F,t,e),()=>Ut(J,t))},(e,t)=>{At(H,t),At(F,t),nt(J,t)}),ot=e=>mt(e)?ja():$a(e),rt=(e,t,a,s,n,o)=>ge(s)?za(e,t,a,!0,n):xa(e,t,a,s,n,o),it=e=>mt(e)?Ba():Wa(e),lt=(e,t,a)=>ge(t)?ss(e,a):Ha(e,t,a),dt=(e,t)=>ke(e,()=>t?e:be(o[1],t=>Ae(()=>t(De(e))),()=>e),e=>kt(q,e,(e,t,a)=>gt(t,a),(e,t)=>Tt(t)),Rt),gt=(e,t,a)=>ke(t,()=>a?t:be(o[2],a=>Ae(()=>a(e,De(t))),()=>t),t=>kt(Pt(q,e,()=>(Gt(e,1),At(U,e,Bt()),At(G,e,Et()),Et())),t,(t,a,s)=>wt(e,t,a,s),(t,a)=>Lt(e,t,a)),Rt),wt=(e,t,a,s,n)=>ke(s,()=>n?s:be(o[3],t=>Ae(()=>t(e,a,De(s))),()=>s),s=>kt(Pt(t,a,()=>(qt(e,a,1),Et())),s,(t,s,n)=>ht(e,a,t,s,n),(s,o)=>Ft(e,t,a,s,o,n)),Rt),ht=(e,t,a,s,n,r)=>ke(n,()=>be(r?void 0:o[4],a=>Ae(()=>a(e,t,s,n)),()=>n),n=>{Ze(a,s)||zt(e,t,s,1);const o=Nt(a,s);n!==o&&(Yt(e,t,s,o,n),At(a,s,n))}),bt=(e,t,a,s,n,o)=>be(Nt(t,a),t=>ht(e,a,t,s,n,o),()=>{const r=Et();At(t,a,r),qt(e,a,1),St(qe({[s]:n},e,a),(t,s)=>ht(e,a,r,s,t,o))}),vt=(e,t)=>ke(e,()=>t?e:be(o[5],t=>Ae(()=>t(De(e))),()=>e),e=>kt(z,e,(e,t,a)=>Ct(t,a),(e,t)=>jt(t)),Rt),Ct=(e,t,a)=>ke(t,()=>be(a?void 0:o[6],a=>Ae(()=>a(e,t)),()=>t),t=>{Ze(z,e)||Xt(e,1);const a=Nt(z,e);t!==a&&(Kt(e,a,t),At(z,e,t))}),pt=e=>Pt(q,e,()=>(Gt(e,1),At(U,e,Bt()),At(G,e,Et()),Et())),Tt=e=>Ae(()=>o[8]?.(e))??1?gt(e,{},!0):Nt(q,e),Lt=(e,t,a)=>{if(Ae(()=>o[9]?.(e,a))??1){const[,s]=Nt(U,e);s(a),wt(e,t,a,{},!0)}},Ft=(e,t,a,s,n,r,i)=>{const l=Nt(Nt(k,e)?.[0],n);if(!ge(l)&&!r)return ht(e,a,s,n,l);if(i||(Ae(()=>o[10]?.(e,a,n))??1)){const o=t=>{Yt(e,a,t,Nt(s,t)),zt(e,a,t,-1),At(s,t)};ge(l)?o(n):Mt(s,o),et(s)&&(qt(e,a,-1),et(At(t,a))&&(Gt(e,-1),At(q,e),At(U,e),At(G,e)))}},jt=(e,t)=>{const a=Nt(F,e);if(!ge(a))return Ct(e,a);(t||(Ae(()=>o[12]?.(e))??1))&&(Kt(e,Nt(z,e)),Xt(e,-1),At(z,e))},Gt=(e,t)=>es(l,e,t),qt=(e,t,a)=>es(Pt(u,e,Et),t,a)&&At(d,e,Pt(d,e,()=>0)+a),zt=(e,t,a,s)=>{const n=Nt(G,e),o=Nt(n,a)??0;(0==o&&1==s||1==o&&-1==s)&&es(Pt(c,e,Et),a,s),At(n,a,o!=-s?o+s:void 0),es(Pt(Pt(g,e,Et),t,Et),a,s)},Yt=(e,t,a,s,n)=>{const o=Ze(Nt(Nt(y,e),t),a)&&ge(s)?1:0;Pt(Pt(Pt(w,e,Et),t,Et),a,()=>[s,0])[1]=n,r[3]?.(e,t,a,n,i,o),nt(Nt(Nt(y,e),t),a)},Xt=(e,t)=>es(f,e,t),Kt=(e,t,a)=>{const s=Ze(v,e)&&ge(t)?1:0;Pt(b,e,()=>[t,0])[1]=a,r[4]?.(e,a,i,s),nt(v,e)},Zt=(e,t,a,s,n)=>(je(Pt(Pt(Pt(m,e,Et),t,Et),a,()=>[]),s),n),ea=(e,t,a)=>(je(Pt(T,e,()=>[]),t),a),ta=(e,t,a)=>be(Nt(Nt(Nt(w,e),t),a),([e,t])=>[!0,Va(e),Va(t)],()=>[!1,...Qa(Ca(e,t,a))]),aa=e=>be(Nt(b,e),([e,t])=>[!0,Va(e),Va(t)],()=>[!1,...Qa(Ra(e))]),sa=e=>et(m)||et(ce[e])?0:st(e?Ht(m):m,(t,a)=>st(t,(t,s)=>st(t,(t,n)=>Le(ce[e],[a,s,n],t)))),ra=e=>et(T)||et(de[e])?0:st(e?xt(T):T,(t,a)=>Le(de[e],[a],t)),ia=(e,t,a,s)=>{if(!et(e))return Le(t,s,()=>_t(e)),Mt(e,(e,t)=>Le(a,[...s??[],e],1==t)),1},la=e=>{const t=!et(B[e]),s=!et(se[e]),n=!(et(re[e])&&et(ie[e])&&et(ae[e])&&et(ne[e])&&et(Z[e])&&et(ee[e])&&et(te[e])&&!s&&et(Y[e])&&et(X[e])),o=!(et(le[e])&&et(oe[e])&&et(K[e])&&et(Q[e]));if(t||n||o){const i=e?[xt(l),Wt(c),xt(d),Wt(u),Ht(g),(r=w,xt(r,e=>xt(e,e=>xt(e,Ka))))]:[l,c,d,u,g,w];if(t){const t=Ta();t!=a&&Le(B[e],void 0,t)}if(n){ia(i[0],Y[e],X[e]),st(i[1],(t,a)=>ia(t,Z[e],ee[e],[a])),st(i[2],(t,a)=>{0!=t&&Le(te[e],[a],fa(a))});const t=Jt();st(i[3],(a,n)=>{ia(a,ae[e],ne[e],[n])&&s&&(Le(se[e],[n,null]),Ut(t,n))}),s&&st(i[5],(a,s)=>{if(!Ze(t,s)){const t=Jt();st(a,e=>st(e,([a,s],n)=>s!==a?Ut(t,n):nt(e,n))),st(t,t=>Le(se[e],[s,t]))}}),st(i[4],(t,a)=>st(t,(t,s)=>ia(t,re[e],ie[e],[a,s])))}if(o){let t;st(i[5],(a,s)=>{let n;st(a,(a,o)=>{let r;st(a,([a,i],l)=>{i!==a&&(Le(le[e],[s,o,l],Va(i),Va(a),ta),t=n=r=1)}),r&&Le(oe[e],[s,o],ta)}),n&&Le(K[e],[s],ta)}),t&&Le(Q[e],void 0,ta)}}var r},ca=e=>{const t=!et(ue[e]),a=!et(ye[e])||!et(fe[e]),n=!et(Se[e])||!et(he[e]);if(t||a||n){const o=e?[xt(f),xt(b,Ka)]:[f,b];if(t){const t=Ma();t!=s&&Le(ue[e],void 0,t)}if(a&&ia(o[0],ye[e],fe[e]),n){let t;st(o[1],([a,s],n)=>{s!==a&&(Le(Se[e],[n],Va(s),Va(a),aa),t=1)}),t&&Le(he[e],void 0,aa)}}},da=(e,...t)=>(rs(()=>e(...xe(t,j))),cs),ua=(e,t,a,s,n)=>{let o=va(e,t,...a);return Ie(()=>{const n=va(e,t,...a);Pe(n,o)||(o=n,s(cs,e,t,...a,o))},se[n?1:0],[e,t],[ha])},ga=(e=!1)=>[_t(w,(t,a)=>-1===Nt(l,a)?void 0:_t(t,(t,s)=>-1===Nt(Nt(u,a),s)?void 0:_t(t,([,t])=>Va(t,0,e),e=>Za(e)),et,mt),et,mt),_t(b,([,t])=>Va(t,0,e),e=>Za(e)),1],wa=()=>$t(q,Va),ha=()=>Dt(q),ya=e=>Dt(Nt(G,j(e))),fa=e=>Qe(Nt(q,j(e))),ba=e=>Dt(Nt(q,j(e))),va=(e,t,a,s=0,n)=>ct(e)?va(e.tableId,e.cellId,e.descending,e.offset,e.limit):xe(me(_e(Ot(Nt(q,j(e)),(e,a)=>[ge(t)?a:Nt(e,j(t)),a]),([e],[t])=>Na(e,t)*(a?-1:1)),s,ge(n)?n:s+n),([,e])=>e),Sa=(e,t)=>Dt(Nt(Nt(q,j(e)),j(t))),Ca=(e,t,a)=>Va(Nt(Nt(Nt(q,j(e)),j(t)),j(a))),pa=()=>_t(z,Va),ma=()=>Dt(z),Ra=e=>Va(Nt(z,j(e))),Ta=()=>!et(q),Ia=e=>Ze(q,j(e)),La=(e,t)=>Ze(Nt(G,j(e)),j(t)),Ea=(e,t)=>Ze(Nt(q,j(e)),j(t)),Da=(e,t,a)=>Ze(Nt(Nt(q,j(e)),j(t)),j(a)),Ma=()=>!et(z),Aa=e=>Ze(z,j(e)),$a=e=>da(()=>(e=>It(e,He,Zt))(e)?dt(e):0),xa=(e,t,a,s,n,r)=>da((e,t,a)=>be(Je(e,t,a,Ce(s)?s(Ca(e,t,a)):s),s=>{const i=pt(e);be(n||r||!o[14]?.()?void 0:o[3],o=>{const r=Nt(i,t),l={...r?_t(r):{},[a]:s};be(Ae(()=>o(e,t,De(l))),a=>((e,t,a,s,n)=>{kt(Pt(t,a,()=>(qt(e,a,1),Et())),s,(t,s,o)=>be(Je(e,a,s,o),o=>ht(e,a,t,s,o,n)),(s,n)=>Ft(e,t,a,s,n,!0))})(e,i,t,a,n))},()=>bt(e,i,t,a,s,n))}),e,t,a),Wa=e=>da(()=>Ue(e)?vt(e):0),Ha=(e,t,a)=>da(e=>be(Ge(e,Ce(t)?t(Ra(e)):t),t=>Ct(e,t,a)),e),Fa=e=>(Me(()=>ot(na(e))),cs),Ja=t=>da(()=>{if((e=It(t,e=>It(e,$e)))&&(Be(t),!et(q))){const e=wa();ja(),$a(e)}}),Ua=e=>da(()=>{if(t=(e=>It(e,$e))(e)){const a=pa();os(),Ba(),t=!0,tt(e),Wa(a)}}),ja=()=>da(()=>Ae(()=>o[7]?.())??1?dt({},!0):0),Ga=e=>da(e=>Ze(q,e)?Tt(e):0,e),qa=(e,t)=>da((e,t)=>be(Nt(q,e),a=>Ze(a,t)?Lt(e,a,t):0),e,t),za=(e,t,a,s,n)=>da((e,t,a)=>be(Nt(q,e),o=>be(Nt(o,t),r=>Ze(r,a)?Ft(e,o,t,r,a,s,n):0)),e,t,a),Ba=()=>da(()=>Ae(()=>o[11]?.())??1?vt({},!0):0),ss=(e,t)=>da(e=>Ze(z,e)?jt(e,t):0,e),ns=()=>da(()=>{Be({}),e=!1}),os=()=>da(()=>{tt({}),t=!1}),rs=(e,t)=>{if(-1!=n){is();const a=e();return ls(t),a}},is=()=>(-1!=n&&n++,1==n&&(r[0]?.(),Le(Re)),cs),ls=e=>(n>0&&(n--,0==n&&(n=1,Ae(()=>{sa(1),et(w)||la(1),ra(1),et(b)||ca(1)}),e?.(cs)&&(st(w,(e,t)=>st(e,(e,a)=>st(e,([e],s)=>rt(t,a,s,e,!0)))),at(w),st(b,([e],t)=>lt(t,e,!0)),at(b)),Le(Te[0],void 0),n=-1,sa(0),et(w)||la(0),ra(0),et(b)||ca(0),r[1]?.(),Le(Te[1],void 0),r[2]?.(),n=0,a=Ta(),s=Ma(),Ve([l,c,d,u,g,w,y,m,f,b,v,T],at))),cs),cs={getContent:()=>[wa(),pa()],getTables:wa,getTableIds:ha,getTable:e=>Vt(Nt(q,j(e)),Va),getTableCellIds:ya,getRowCount:fa,getRowIds:ba,getSortedRowIds:va,getRow:(e,t)=>_t(Nt(Nt(q,j(e)),j(t)),Va),getCellIds:Sa,getCell:Ca,getValues:pa,getValueIds:ma,getValue:Ra,hasTables:Ta,hasTable:Ia,hasTableCell:La,hasRow:Ea,hasCell:Da,hasValues:Ma,hasValue:Aa,getTablesJson:()=>oa(q),getValuesJson:()=>oa(z),getJson:()=>oa([q,z]),getTablesSchemaJson:()=>oa(E),getValuesSchemaJson:()=>oa(H),getSchemaJson:()=>oa([E,H]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:e=>da(()=>{const t=Ce(e)?e():e;We(t)&&(e=>{ke(e,()=>be(o[0],t=>Ae(()=>t(De(e))),()=>e),([e,t])=>{(mt(e)?ja:$a)(e),(mt(t)?Ba:Wa)(t)},ts)})(t)}),setTables:$a,setTable:(e,t)=>da(e=>He(t,e)?gt(e,t):0,e),setRow:(e,t,a)=>da((e,t)=>Fe(e,t,a)?wt(e,pt(e),t,a):0,e,t),addRow:(e,t,a=!0)=>rs(()=>{let s;return Fe(e,s,t)&&(e=j(e),wt(e,pt(e),s=((e,t)=>{const[a]=Nt(U,e);let s;do{s=a(t)}while(Ze(Nt(q,e),s));return s})(e,a?1:0),t)),s}),setPartialRow:(e,t,a)=>da((e,t)=>{if(Fe(e,t,a,1)){const s=pt(e);St(a,(a,n)=>bt(e,s,t,n,a))}},e,t),setCell:xa,setValues:Wa,setPartialValues:e=>da(()=>Ue(e,1)?St(e,(e,t)=>Ct(t,e)):0),setValue:Ha,applyChanges:e=>da(()=>ke(e,()=>be(o[13],t=>Ae(()=>t(De(e))),()=>e),e=>{St(e[0],(e,t)=>ge(e)?Ga(t):St(e,(e,a)=>ge(e)?qa(t,a):St(e,(e,s)=>rt(t,a,s,e,void 0,!0)))),St(e[1],(e,t)=>lt(t,e))},ts)),setTablesJson:Fa,setValuesJson:e=>(Me(()=>it(na(e))),cs),setJson:e=>da(()=>Me(()=>{const[t,a]=na(e);ot(t),it(a)},()=>Fa(e))),setTablesSchema:Ja,setValuesSchema:Ua,setSchema:(e,t)=>da(()=>{Ja(e),Ua(t)}),delTables:ja,delTable:Ga,delRow:qa,delCell:za,delValues:Ba,delValue:ss,delTablesSchema:ns,delValuesSchema:os,delSchema:()=>da(()=>{ns(),os()}),transaction:rs,startTransaction:is,getTransactionChanges:()=>ga(),getTransactionLog:()=>[!et(w),!et(b),$t(w,Ka,Za),$t(m),_t(b,Ka,Za),_t(T),_t(l),Vt(u),$t(g),_t(f)],finishTransaction:ls,forEachTable:e=>st(q,(t,a)=>e(a,e=>st(t,(t,a)=>e(a,e=>Mt(t,(t,a)=>e(t,Va(a))))))),forEachTableCell:(e,t)=>Mt(Nt(G,j(e)),t),forEachRow:(e,t)=>st(Nt(q,j(e)),(e,a)=>t(a,t=>Mt(e,(e,a)=>t(e,Va(a))))),forEachCell:(e,t,a)=>Mt(Nt(Nt(q,j(e)),j(t)),(e,t)=>a(e,Va(t))),forEachValue:e=>Mt(z,(t,a)=>e(t,Va(a))),addSortedRowIdsListener:(e,t,a,s,n,o,r)=>ct(e)?ua(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit],t,a):ua(e,t,[a,s,n],o,r),addStartTransactionListener:e=>Ie(e,Re),addWillFinishTransactionListener:e=>Ie(e,Te[0]),addDidFinishTransactionListener:e=>Ie(e,Te[1]),callListener:e=>(Ne(e),cs),delListener:e=>(Ee(e),cs),getListenerStats:()=>({hasTables:Ya(B),tables:Ya(Q),tableIds:Ya(Y),hasTable:Ya(X),table:Ya(K),tableCellIds:Ya(Z),hasTableCell:Ya(ee,Xe),rowCount:Ya(te),rowIds:Ya(ae),sortedRowIds:Ya(se),hasRow:Ya(ne,Xe),row:Ya(oe,Xe),cellIds:Ya(re,Xe),hasCell:Ya(ie,Ke),cell:Ya(le,Ke),invalidCell:Ya(ce,Ke),hasValues:Ya(ue),values:Ya(he),valueIds:Ya(ye),hasValue:Ya(fe),value:Ya(Se),invalidValue:Ya(de),transaction:Ye(Re)+Ya(Te)}),isMergeable:()=>!1,_:[as,Ie,Le,(e,t,a,s,n)=>r=[e,t,a,s,n],(e,t,a,s,n,r,i,l,c,d,u,g,w,h,y)=>o=[e,t,a,s,n,r,i,l,c,d,u,g,w,h,y],rt,lt,()=>[$t(q),_t(z)],()=>ga(!0)]};return St({[L+N]:[0,B,[],()=>[Ta()]],[N]:[0,Q],[M]:[0,Y],[L+D]:[1,X,[ha],e=>[Ia(...e)]],[D]:[1,K,[ha]],[D+V]:[1,Z,[ha]],[L+D+_]:[2,ee,[ha,ya],e=>[La(...e)]],[A]:[1,te,[ha]],[P]:[1,ae,[ha]],[L+O]:[2,ne,[ha,ba],e=>[Ea(...e)]],[O]:[2,oe,[ha,ba]],[V]:[2,re,[ha,ba]],[L+_]:[3,ie,[ha,ba,Sa],e=>[Da(...e)]],[_]:[3,le,[ha,ba,Sa],e=>Qa(Ca(...e))],InvalidCell:[3,ce],[L+x]:[0,ue,[],()=>[Ma()]],[x]:[0,he],[W]:[0,ye],[L+$]:[1,fe,[ma],e=>[Aa(...e)]],[$]:[1,Se,[ma],e=>Qa(Ra(e[0]))],InvalidValue:[1,de]},([e,t,a,s],n)=>{cs[I+n+R]=(...n)=>Ie(n[e],t[n[e+1]?1:0],e>0?me(n,0,e):void 0,a,s)}),ut(cs)},ss={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},ns=(e=d)=>[Ga(e),Ga(e)],os=(e,t)=>{let a=1,s=ns(),n=0,o=0;const r=Et(),i=Jt(),[l,c]=Da(e,t),u=as(),g=e=>{const t=a;return a=0,e(),a=t,p},w=(e,t=0)=>{const a={},n={},[[o,r=d,i=0],l]=e,[u,g]=s,[w,y,f]=u;let b=t?i:f,v=r;bt(o,([e,s=d,n=0],o)=>{const r=Pt(w,o,Ga),[i,l,c]=r;let u=t?n:c,g=s;bt(e,(e,s)=>{const[n,r,l]=h(e,Pt(i,s,Ga),Tt(Tt(a,o,gt),s,gt),t);u^=t?0:ua(r?wa(s,r):0,wa(s,l)),g=Ja(g,n)}),u^=t?0:Fa(l,s),Ua(r,s,u),b^=t?0:ua(c?wa(o,c):0,wa(o,r[2])),v=Ja(v,g)}),b^=t?0:Fa(y,r),Ua(u,r,b);const[S]=h(l,g,n,t);return c(Ja(v,S)),[a,n,1]},h=(e,t,a,s)=>{const[n,o=d,r=0]=e,[i,l,c]=t;let u=o,g=s?r:c;return bt(n,([e,t=d,n=0],o)=>{const r=Pt(i,o,()=>[void 0,d,0]),[,l,c]=r;(!l||t>l)&&(Ua(r,t,s?n:ha(e,t)),r[0]=e,a[o]=e,g^=s?0:ua(wa(o,c),wa(o,r[2])),u=Ja(u,t))}),g^=s?0:Fa(l,o),Ua(t,o,g),[u,c,t[2]]},y=Ie,f=Ie,b=(e=!1)=>[qa(s[0],t=>qa(t,t=>qa(t,([t,a,s])=>[Va(t,0,e),a,s]))),qa(s[1],([t,a,s])=>[Va(t,0,e),a,s])],v=(e,t=!1)=>{const[[a,n,o],[l,c,d]]=s,u=e?Wa:xa,g={};st(r,(e,s)=>be(Nt(a,s),([a,n,o])=>{const r={};st(e,(e,s)=>be(Nt(a,s),([a,n,o])=>{const i={};st(e,e=>{be(Nt(a,e),([a,s,n])=>i[e]=u(t?a:Va(a),s,n))}),r[s]=u(i,n,o)})),g[s]=u(r,n,o)}));const w={};return st(i,e=>be(Nt(l,e),([a,s,n])=>w[e]=u(t?a:Va(a),s,n))),[u(g,n,o),u(w,c,d),1]},S=()=>b(),C=e=>g(()=>u.applyChanges(w(e))),p={getMergeableContent:S,getMergeableContentHashes:()=>[s[0][2],s[1][2]],getMergeableTableHashes:()=>_t(s[0][0],Ha),getMergeableTableDiff:e=>{const t=ja(s[0][1]),a={};return Mt(s[0][0],(s,[n,o,r])=>yt(e,s)?r!=e[s]?a[s]=r:0:t[0][s]=za([n,o],e=>za(e))),[t,a]},getMergeableRowHashes:e=>{const t={};return bt(e,(e,a)=>be(Nt(s[0][0],a),([s,,n])=>n!=e?Mt(s,(e,[,,s])=>Tt(t,a,gt)[e]=s):0)),t},getMergeableRowDiff:e=>{const t=ja(s[0][1]),a={};return bt(e,(e,n)=>Mt(Nt(s[0][0],n)?.[0],(s,[o,r,i])=>yt(e,s)?i!==e[s]?Tt(a,n,gt)[s]=i:0:Tt(t[0],n,ja)[0][s]=za([o,r]))),[t,a]},getMergeableCellHashes:e=>{const t={};return bt(e,(e,a)=>be(Nt(s[0][0],a),([s])=>bt(e,(e,n)=>be(Nt(s,n),([s,,o])=>o!==e?Mt(s,(e,[,,s])=>Tt(Tt(t,a,gt),n,gt)[e]=s):0)))),t},getMergeableCellDiff:e=>{const[[t,a]]=s,n={};return bt(e,(e,a)=>bt(e,(e,s)=>be(Nt(t,a),([t,o])=>be(Nt(t,s),([t,r])=>Mt(t,(t,[i,l,c])=>c!==e[t]?Tt(Tt(n,a,()=>ja(o))[0],s,()=>ja(r))[0][t]=[i,l]:0))))),xa(n,a)},getMergeableValueHashes:()=>_t(s[1][0],Ha),getMergeableValueDiff:e=>{const[,[t,a]]=s,n=_t(t,$a,([,,t],a)=>t==e?.[a]);return xa(n,a)},setMergeableContent:e=>g(()=>(e=>pe(e)&&2==Re(e)&&Ba(e[0],e=>It(e,e=>Ba(e,e=>It(e,e=>Ba(e,e=>It(e,e=>Ba(e,Aa),void 0,1)),void 0,1)),void 0,1))&&Ba(e[1],e=>It(e,e=>Ba(e,Aa),void 0,1)))(e)?u.transaction(()=>{u.delTables().delValues(),s=ns(),u.applyChanges(w(e,1))}):0),setDefaultContent:e=>(u.transaction(()=>{n=1,u.setContent(e),n=0}),p),getTransactionMergeableChanges:(e=!1)=>v(e),applyMergeableChanges:C,merge:e=>{const t=S(),a=e.getMergeableContent();return e.applyMergeableChanges(t),C(a)},__:[()=>{const e=o;return o=0,e},()=>b(!0),e=>v(e,!0)]};return u._[3](y,f,()=>{at(r),at(i)},(e,t,s,i,c,u)=>{Ut(Pt(Pt(r,e,Et),t,Jt),s),(a||c)&&(c&&(o=1),w([[{[e]:[{[t]:[{[s]:[i,n||u?d:l()]}]}]}],[{}],1]))},(e,t,s,r)=>{Ut(i,e),(a||s)&&(s&&(o=1),w([[{}],[{[e]:[t,n||r?d:l()]}],1]))}),St(u,(e,t)=>p[t]=G(t,"set")||G(t,"del")||G(t,"apply")||q(t,"Transaction")||t=="call"+R||"use"==t?(...t)=>(e(...t),p):G(t,I)&&q(t,R)?(...a)=>{const s=ss[me(t,3,-8)]??0,n=a[s];return a[s]=(e,...t)=>n(p,...t),e(...a)}:"isMergeable"==t?()=>!0:e),ut(p)},rs=Et([["avg",[(e,t)=>We(e)/t,(e,t,a)=>e+(t-e)/(a+1),(e,t,a)=>e+(e-t)/(a-1),(e,t,a,s)=>e+(t-a)/s]],["max",[e=>re(...e),(e,t)=>re(t,e),(e,t)=>t==e?void 0:e,(e,t,a)=>a==e?void 0:re(t,e)]],["min",[e=>ie(...e),(e,t)=>ie(t,e),(e,t)=>t==e?void 0:e,(e,t,a)=>a==e?void 0:ie(t,e)]],["sum",[e=>We(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,a)=>e-a+t]]]),is=(e,t,a,s,n,o=!1)=>{if(et(a))return;const[r,i,l,c]=n;return o||=ge(e),st(s,([a,s])=>{o||(e=ge(a)?i?.(e,s,t++):ge(s)?l?.(e,a,t--):c?.(e,s,a,t),o||=ge(e))}),o?r(tt(a),Qe(a)):e},ls=qt(e=>{const t=Et(),[a,s,n]=Qt(()=>b),[o,r,i,l,c,u,g,,w,h,y,f]=jt(e,Te,e=>isNaN(e)||ge(e)||he(e)||ye(e)||e===d?void 0:1*e,a,s),b={setMetricDefinition:(e,a,n,o,r,i,l)=>{const c=Ce(n)?[n,r,i,l]:Nt(rs,n)??Nt(rs,"sum");return w(e,a,(a,n,o,r,i,l)=>{const d=u(e),w=Qe(r);l||=ge(d),a();let h=is(d,w,r,n,c,l);de(h)||(h=void 0),h!=d&&(g(e,h),s(t,[e],h,d))},Gt(o,1)),b},delMetricDefinition:e=>(h(e),b),getStore:o,getMetricIds:r,forEachMetric:i,hasMetric:l,getTableId:c,getMetric:u,addMetricIdsListener:y,addMetricListener:(e,s)=>a(s,t,[e]),delListener:e=>(n(e),b),destroy:f,getListenerStats:()=>({metric:Ye(t)})};return ut(b)}),cs=(e,t,...a)=>Fe(e,(e,t)=>ge(e)?e:t(...a,e),t),ds=(e,...t)=>Ae(e,e=>e(...t)),us=qt(e=>{const t=e=>t=>(je(e,t),M),a=[],s=[],n=[],o=[],r=[],i=[],l=[],c=[],d=[],u=[],g=[],w=[],h=[],y=[],f=t(a),b=t(s),v=t(n),S=t(o),C=t(r),p=t(i),m=t(l),R=t(c),T=t(d),I=t(u),L=t(g),E=t(w),D=t(h),N=t(y),M=ut({getStore:()=>e,addWillSetContentCallback:f,addWillSetTablesCallback:b,addWillSetTableCallback:v,addWillSetRowCallback:S,addWillSetCellCallback:C,addWillSetValuesCallback:p,addWillSetValueCallback:m,addWillDelTablesCallback:R,addWillDelTableCallback:T,addWillDelRowCallback:I,addWillDelCellCallback:L,addWillDelValuesCallback:E,addWillDelValueCallback:D,addWillApplyChangesCallback:N,destroy:()=>{}});return e._[4](e=>cs(a,e),e=>cs(s,e),(e,t)=>cs(n,t,e),(e,t,a)=>cs(o,a,e,t),(e,t,a,s)=>cs(r,s,e,t,a),e=>cs(i,e),(e,t)=>cs(l,t,e),()=>ds(c),e=>ds(d,e),(e,t)=>ds(u,e,t),(e,t,a)=>ds(g,e,t,a),()=>ds(w),e=>ds(h,e),e=>cs(y,e),()=>o.length>0),M}),gs={Idle:0,Loading:1,Saving:2},ws={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},hs=Et(),ys=Et(),fs=(e,t,a,s,n,o,r,i={},l=0,c=[])=>{let d,u,g,w=0,h=0,y=0;Pt(hs,c,()=>0),Pt(ys,c,()=>[]);const f=Et(),[b,v,S,C,p]=((e=1,t,a)=>1!=e&&t.isMergeable()?[1,t.__[1],()=>t.__[2](!a),([[e],[t]])=>!mt(e)||!mt(t),t.setDefaultContent]:2!=e?[0,t._[7],t._[8],([e,t])=>!mt(e)||!mt(t),t.setContent]:Ne("Store type not supported by this Persister"))(r,e,l),[m,R,T]=Qt(()=>$),I=e=>{e!=w&&(w=e,R(f,void 0,w))},L=t=>{(b&&pe(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},E=async()=>{k()&&e.__?.[0]?.()&&await O()},D=async e=>(2!=w&&(I(1),h++,await V(async()=>{await Me(async()=>{const a=await t();pe(a)?L(a):ge(a)&&e?p(e):ge(a)||Ne("Content is not an array: "+a)},t=>{o?.(t),e&&p(e)}),I(0),await E()})),$),N=async e=>(M(),await D(e),await Me(async()=>u=await s(async(e,t)=>{t||e?2!=w&&(I(1),h++,L(t??e),I(0),await E()):await D()}),o),$),M=async()=>(u&&(await Me(()=>n(u),o),u=void 0),$),O=async e=>(1!=w&&(I(2),y++,await V(async()=>{await Me(()=>a(v,e),o),I(0)})),$),A=async()=>(P(),await O(),g=e.addDidFinishTransactionListener(()=>{const e=S();C(e)&&O(e)}),$),P=async()=>(g&&(e.delListener(g),g=void 0),$),k=()=>!ge(g),_=async(e=!1)=>{const[t,a]=e?[P,M]:[M,P];return await t(),await a(),$},V=async(...e)=>(je(Nt(ys,c),...e),await(async()=>{if(!Nt(hs,c)){for(At(hs,c,1);!ge(d=ze(Nt(ys,c)));)await Me(d,o);At(hs,c,0)}})(),$),$={load:D,startAutoLoad:N,stopAutoLoad:M,isAutoLoading:()=>!ge(u),save:O,startAutoSave:A,stopAutoSave:P,isAutoSaving:k,startAutoPersisting:async(e,t=!1)=>{const[a,s]=t?[A,N]:[N,A];return await a(e),await s(e),$},stopAutoPersisting:_,getStatus:()=>w,addStatusListener:e=>m(e,f),delListener:t=>(T(t),e),schedule:V,getStore:()=>e,destroy:()=>(Ue(Nt(ys,c)),_()),getStats:()=>({loads:h,saves:y}),...i};return ut($)},bs="_",vs="_id",Ss="SELECT",Cs="WHERE",ps="TABLE",ms="INSERT",Rs="DELETE",Ts="UPDATE",Is="ALTER "+ps,Ls="FROM",Es=Rs+" "+Ls,Ds=Ss+"*"+Ls,Ns="pragma_",Ms="data_version",Os="schema_version",As="pragma_table_",Ps="CREATE ",ks=Ps+ps,_s="OR REPLACE ",Vs="FUNCTION",$s="$tableName",xs=(e,t)=>t?async(a,s)=>(t(a,s),await e(a,s)):e,Ws=e=>$e(xe(B(e,"."),e=>`"${Q(e,/"/g,'""')}"`),"."),Hs=(...e)=>Ws($e(e,"_")),Fs=(...e)=>$e(xe(e,Ws),u),Js=(e,t=[1])=>$e(xe(e,()=>"$"+t[0]++),u),Us=(e,t=v)=>Cs+`(${Q(t,$s,Ws(e))})`,js="ColumnName",Gs="store",qs="json",zs=Gs+"TableName",Bs=Gs+"Id"+js,Qs=Gs+js,Ys="autoLoadIntervalSeconds",Xs="rowId"+js,Ks="tableId",Zs="tableName",en="deleteEmptyColumns",tn="deleteEmptyTable",an="condition",sn={mode:qs,[Ys]:1},nn={load:0,save:0,[Zs]:c+"_values"},on=e=>pe(e)?e:void 0,rn=e=>he(e)||pe(e),ln=(e,t,a,s,n)=>{const o=Et();return St(e,(e,r)=>{const i=me(Ct(wt(t,Se(e)?{[a]:e}:e)),0,pt(t));we(i[0])||s(r,i[0])||(n(r,i[0]),At(o,r,i))}),o},cn=e=>{const t=(e=>wt(sn,Se(e)?{[zs]:e}:e??{}))(e),a=t[Ys];if(t.mode==qs){const e=t[zs]??c;return[1,a,[e,t[Bs]??vs,t[Qs]??Gs],Jt(e)]}const{tables:{load:s={},save:n={}}={},values:o={}}=t,r=wt(nn,o),{load:i,save:l}=r,d=[rn(i),rn(l),r[Zs],on(i),on(l)],u=d[2],g=Jt(u),w=Jt(u),h=ln(s,{[Ks]:null,[Xs]:vs,[an]:v},Ks,e=>Ze(w,e),e=>Ut(g,e)),y=ln(n,{[Zs]:null,[Xs]:vs,[en]:0,[tn]:0,[an]:null},Zs,(e,t)=>Ze(w,t),(e,t)=>Ut(g,t));return Mt(y,(e,t)=>t[4]??=Nt(h,t[0])?.[2]??v),[0,a,[h,y,d],g]},dn=(e,t,a,s,n,o=un,r,i)=>{const l=Et();return[async()=>{at(l),xe(await a(e,t),({tn:e,cn:t})=>Ut(Pt(l,e,Jt),t))},async(t,a,s,n)=>{const o=ge(n)?void 0:Jt(n);return((e,t)=>Ze(Nt(l,e),t))(t,a)?gt(Je(xe(await e(Ds+Ws(t)+Us(t,s)),e=>{const t=e[a],s=i?St(ft(e,a),i):ft(e,a);return[t,ge(o)?s:gt(Je(vt(s,(e,t)=>[t,e]),([e])=>(e=>ge(o)||Ze(o,e))(e)))]}),e=>!ge(e[0])&&!mt(e[1]))):{}},async(t,a,s,i,c,d=!1,g=v,w)=>{const h=ge(w)?void 0:Jt(w),y=e=>ge(h)||Ze(h,e),f=Jt();St(s??{},e=>xe(Je(dt(e??{}),y),e=>Ut(f,e)));const b=tt(f);if(ge(h)&&!d&&c&&g==v&&He(b)&&Ze(l,t))return await e("DROP "+ps+Ws(t)),void At(l,t);const S=Nt(l,t),C=Jt(Je(tt(S),e=>e==a||y(e)));if(He(b)||(Ze(l,t)?await Ee(xe([a,...b],async(s,o)=>{nt(C,s)||(await e(Is+Ws(t)+"ADD"+Ws(s)+n),0==o&&await e("CREATE UNIQUE INDEX pk ON "+Ws(t)+`(${Ws(a)})`),Ut(S,s))})):(await e(ks+Ws(t)+`(${Ws(a)}${n} PRIMARY KEY${$e(xe(b,e=>u+Ws(e)+n))});`),At(l,t,Jt([a,...b])))),await Ee([...!d&&i?xe(tt(C),async s=>{s!=a&&(await e(Is+Ws(t)+"DROP"+Ws(s)),nt(S,s))}):[]]),d)ge(s)?ge(h)&&await e(Es+Ws(t)+Us(t,g)):await Ee(vt(s,async(s,n)=>{if(ge(s))await e(Es+Ws(t)+Us(t,g)+`AND(${Ws(a)}=$1)`,[n]);else if(!He(b)){const i=Je(dt(s),y);He(i)||await o(e,t,a,i,{[n]:xe(i,e=>r?r(s[e]):s[e])},S)}}));else if(He(b))ge(h)&&Ze(l,t)&&await e(Es+Ws(t)+Us(t,g));else{const n=Je(tt(Nt(l,t)),e=>e!=a&&y(e)),i={},c=[];St(s??{},(e,t)=>{i[t]=xe(n,t=>r?r(e?.[t]):e?.[t]),je(c,t)}),await o(e,t,a,n,i,S),await e(Es+Ws(t)+Us(t,g)+`AND${Ws(a)}NOT IN(${Js(c)})`,c)}},async t=>{let a;return await e("BEGIN"),await Me(async()=>a=await t(),s),await e("END"),a}]},un=async(e,t,a,s,n)=>{const o=[1];await e(ms+" INTO"+Ws(t)+"("+Fs(a,...s)+")VALUES"+$e(vt(n,e=>"($"+o[0]+++","+Js(e,o)+")"),u)+"ON CONFLICT("+Ws(a)+`)DO ${Ts} SET`+$e(xe(s,e=>Ws(e)+"=excluded."+Ws(e)),u),vt(n,(e,t)=>[t,...xe(e,e=>e??null)]).flat())},gn=(e,t,a,s,n,o,r,[i,l,c],d,u,g,w,h,y)=>{const[f,b,v,S]=dn(t,d,u,n,h,y),C=fs(e,()=>S(async()=>(await f(),ia((await b(i,l))[bs]?.[c]??"null"))),e=>S(async()=>{await f(),await v(i,l,{[bs]:{[c]:ra(e()??null)}},!0,!0)}),a,s,n,r,{[w]:()=>g,destroy:async()=>(await C.stopAutoPersisting(),o(),C)},0,g);return C},wn=(e,t,a,s,n,o,r,[i,l,[c,d,u,g,w]],h,y,f,b,v,S,C,p)=>{const[m,R,T,I]=dn(t,h,y,n,v,S,C,p),L=(e,t)=>Ee(Ot(l,async([a,s,n,o,r],i)=>{t&&!yt(e,i)||await T(a,s,e[i],n,o,t,r)})),E=(e,t,a)=>gt(1==a?Je(vt(e,(e,t)=>[t,e]),([e])=>Oe(t,e)):Je(xe(t,t=>[t,e[t]]),([,e])=>!ge(e))),D=async(e,t)=>d?await T(u,vs,{[bs]:ge(w)?e:E(e,w,t)},!0,!0,t,void 0,w):null,N=fs(e,()=>I(async()=>{await m();const e=await(async()=>gt(Je(await Ee(Ot(i,async([e,t,a],s)=>[e,await R(s,t,a)])),e=>!mt(e[1]))))(),t=await(async()=>c?(await R(u,vs,void 0,g))[bs]:{})();return mt(e)&&ge(t)?void 0:[e,t]}),(e,t)=>I(async()=>{if(await m(),ge(t)){const[t,a]=e();await L(t),await D(a)}else await L(t[0],!0),await D(t[1],!0)}),a,s,n,r,{[b]:()=>f,destroy:async()=>(await N.stopAutoPersisting(),o(),N)},0,f);return N},hn=/^([cd]:)(.+)/,yn=(e,t,a,s,n,o,r,i,l,u,g="getDb")=>{const w=xs(a,o),[h,,y,f]=cn(t),b=d+da(ra(y)),S=c+"_"+b,C=async(e,t,a="",s="")=>{const n=Hs(c,e,b);return await w(Ps+_s+Vs+n+`()RETURNS ${a}trigger AS $$ ${s}BEGIN ${t}END;$$ LANGUAGE plpgsql;`),n},p=async(e,t,a,s)=>(await w(Ps+e+"TRIGGER"+t+a+"EXECUTE "+Vs+s+"()"),t),m=e=>`PERFORM pg_notify('${S}',${e});`,R=(e,t)=>h?v:2===t?R(e,0)+" OR "+R(e,1):Q(Nt(y[0],e)?.[2]??v,$s,0==t?"NEW":"OLD"),T=(e,t)=>Ee(xe([ms,Rs,Ts],(a,s)=>p(_s,Hs(c,"d",b,e,a),`AFTER ${a} ON${Ws(e)}FOR EACH ROW WHEN(${R(e,s)})`,t)));return(h?gn:wn)(e,w,async e=>{const t=await C("c",`FOR row IN SELECT object_identity FROM pg_event_trigger_ddl_commands()${Cs} command_tag='${ks}' LOOP ${m("'c:'||SPLIT_PART(row.object_identity,'.',2)")}END LOOP;`,"event_","DECLARE row record;");await p("EVENT ",Hs(c,"c",b),`ON ddl_command_end WHEN TAG IN('${ks}')`,t);const a=await C("d",m("'d:'||TG_TABLE_NAME")+"RETURN NULL;");return await Ee(xe(tt(f),async e=>(await w(ks+` IF NOT EXISTS${Ws(e)}("_id"text PRIMARY KEY)`),await T(e,a)))),[await s(S,t=>be(z(t,hn),async([,t,s])=>{Ze(f,s)&&("c:"==t&&await T(s,a),e())})),[t,a]]},async([e,t])=>{n(e),await w(`DROP FUNCTION IF EXISTS${$e(t,",")}CASCADE`)},r,i,l,y,tt(f),async(e,t)=>await e(Ss+` table_name tn,column_name cn FROM information_schema.columns ${Cs} table_schema='public'AND table_name IN(${Js(t)})`,t),u,g,"text",void 0,e=>sa(e),e=>na(e))},fn=(e,t,a,s,n,o,r,i,l,c,u="getDb",g)=>{let w,h,y;const f=xs(a,o),[b,v,S,C]=cn(t);return(b?gn:wn)(e,f,e=>{let t;const a=()=>t=ae(()=>Me(async()=>{const[{d:t,s:a,c:s}]=await f(Ss+` ${Ms} d,${Os} s,TOTAL_CHANGES() c FROM ${Ns}${Ms} JOIN ${Ns}${Os}`);t==w&&a==h&&s==y||(ue(w)||e(),w=t,h=a,y=s)}),v),o=()=>{w=h=y=null,se(t)},r=s(t=>{C.has(t)&&(o(),e(),a())});return a(),()=>{o(),n(r)}},e=>e(),r,i,l,S,tt(C),async(e,t)=>await e(Ss+` t.name tn,c.name cn FROM ${As}list()t,${As}info(t.name)c ${Cs} t.schema='main'AND t.type IN('table','view')AND t.name IN(${Js(t)})ORDER BY t.name,c.name`,t),c,u,d,g,e=>he(e)?1:ye(e)?0:e,void 0)},bn=(e,t)=>[e[t].t,e[t].v],vn=(e,t,a,s)=>{const n=ge(t)?e:Tt(e,t,()=>({}));let o;return St(a,(e,t)=>{s(n,t,e)&&(o=1)}),St(n,(e,t)=>{yt(a,t)||(ft(n,t),o=1)}),!ge(t)&&mt(n)&&ft(e,t),o},Sn=(e,t,a=c,s)=>(t.change(e=>Tt(e,a,gt)),fs(e,async()=>{const e=t.doc();return 2==pt(e?.[a])?bn(e,a):void 0},async(e,s)=>t.change(t=>((e,t,a,s)=>{((e,t)=>{mt(e[t])&&(e[t]={t:{},v:{}})})(e,t);const[n,o]=bn(e,t),r=()=>{i=1};let i=1;if(be(s,([e,t])=>{i=0,St(e,(e,t)=>i?0:ge(e)?ft(n,t):be(n[t],t=>St(e,(e,a)=>i?0:ge(e)?ft(t,a):be(ht(t,a),t=>St(e,(e,a)=>ge(e)?ft(t,a):t[a]=e),r)),r)),St(t,(e,t)=>i?0:ge(e)?ft(o,t):o[t]=e)}),i){const[e,t]=a();vn(n,void 0,e,(e,t,a)=>vn(n,t,a,(e,t,a)=>vn(e,t,a,(e,t,a)=>{if(ht(e,t)!==a)return e[t]=a,1}))),vn(o,void 0,t,(e,t,a)=>{ht(o,t)!==a&&(o[t]=a)})}})(t,a,e,s)),e=>{const s=({doc:t})=>e(bn(t,a));return t.on("change",s),s},e=>{t.removeListener("change",e)},s,1,{getDocHandle:()=>t})),Cn="storage",pn=(e,t,a,s)=>fs(e,async()=>ia(a.getItem(t)),async e=>a.setItem(t,ra(e())),e=>{const s=s=>{s.storageArea===a&&s.key===t&&Me(()=>e(ia(s.newValue)),e)};return ee.addEventListener(Cn,s),s},e=>ee.removeEventListener(Cn,e),s,3,{getStorageName:()=>t}),mn=(e,t,a)=>pn(e,t,localStorage,a),Rn=(e,t,a)=>pn(e,t,sessionStorage,a),Tn=(e,t,a)=>fs(e,async()=>ia(await(await t.getFile()).text()),async e=>{const a=await t.createWritable();await a.write(ra(e())),await a.close()},async e=>{const a=new FileSystemObserver(()=>e());return await a.observe(t),a},e=>e?.disconnect(),a,3,{getHandle:()=>t}),In=(e,t,a,s,n)=>fn(e,a,async(e,a=[])=>await t.execO(e,a),e=>t.onUpdate((t,a,s)=>e(s)),e=>e(),s,n,Ie,1,t),Ln=()=>Wa({},d,0),En=(e,t,a=d,s)=>{const n=(e,...t)=>a+e+me(ra(t),1,-1);return fs(e,async()=>{const e=Ln(),s=Ln();return(await t.list({prefix:a})).forEach(async([t,n,o],r)=>be((e=>{if(G(e,a)){const t=me(e,Re(a),Re(a)+1);return t==J||t==U?[t,...JSON.parse("["+me(e,Re(a)+1)+"]")]:void 0}})(r),([a,...r])=>a==J?be(r[0],a=>{const s=Tt(e[0],a,Ln);be(r[1],e=>{const a=Tt(s[0],e,Ln);be(r[2],e=>a[0][e]=[t,n,o],()=>Ua(a,n,o))},()=>Ua(s,n,o))},()=>Ua(e,n,o)):a==U?be(r[0],e=>s[0][e]=[t,n,o],()=>Ua(s,n,o)):0)),mt(e[0])&&mt(s[0])?void 0:[e,s]},async(e,[[a,s,o],[r,i,l]]=e())=>{const c=Et();At(c,n(J),[0,s,o]),bt(a,([e,t,a],s)=>{At(c,n(J,s),[0,t,a]),bt(e,([e,t,a],o)=>{At(c,n(J,s,o),[0,t,a]),bt(e,(e,t)=>At(c,n(J,s,o,t),e))})}),At(c,n(U),[0,i,l]),bt(r,(e,t)=>At(c,n(U,t),e)),await t.put(_t(c))},Ie,Ie,s,2,{getStorage:()=>t})},Dn=(e,t,a,s,n)=>fn(e,a,async(e,a=[])=>await t.db.raw({sql:e,args:a}),e=>t.notifier.subscribeToDataChanges(a=>Ve(t.notifier.alias(a),({tablename:t})=>e(t))),e=>e(),s,n,Ie,1,t,"getElectricClient"),Nn=(t,a,s,n,o)=>fn(t,s,async(e,t=[])=>await a.getAllAsync(e,t),t=>e(({tableName:e})=>t(e)),e=>e.remove(),n,o,Ie,3,a),Mn=(e,r,i)=>fs(e,async()=>ia(await o(r,m)),async e=>await n(r,ra(e()),m),e=>(t(r)||a(r,d,m),s(r,()=>e())),e=>e?.close(),i,3,{getFilePath:()=>r}),On=[J,U],An={keyPath:"k"},Pn=async(e,t)=>{const a=vt(t,(t,a)=>kn(e,"put",{k:a,v:t}));xe(await kn(e,"getAllKeys"),s=>yt(t,s)?0:je(a,kn(e,"delete",s))),await Ee(a)},kn=async(e,t,a)=>Le((s,n)=>{const o=e[t](a);o.onsuccess=()=>s(o.result),o.onerror=()=>n(`objectStore.${t} error`)}),_n=(e,t,a=1,s)=>{const n=async(e,a=[],s=0)=>Le((n,o)=>{const r=(ee?ee.indexedDB:indexedDB).open(t,s?2:void 0);r.onupgradeneeded=()=>s&&xe(On,e=>Me(()=>r.result.createObjectStore(e,An))),r.onsuccess=()=>Me(async()=>{const t=r.result.transaction(On,"readwrite"),s=await Ee(xe(On,(s,n)=>e(t.objectStore(s),a[n])));r.result.close(),n(s)},e=>{r.result.close(),o(e)}),r.onerror=()=>o("indexedDB.open error")});return fs(e,async()=>await n(async e=>gt(xe(await kn(e,"getAll"),({k:e,v:t})=>[e,t]))),e=>n((e,t)=>Pn(e,t),e(),1),e=>ae(e,a),e=>se(e),s,1,{getDbName:()=>t})},Vn=(e,t,a,s,n)=>fn(e,a,async(e,a=[])=>(await t.execute({sql:e,args:a})).rows,()=>Ie,e=>e(),s,n,Ie,1,t,"getClient"),$n="s",xn="/store",Wn=(e,t,a)=>e+t+(Se(a)?a:ra(a)),Hn=(e,t,a)=>{const s=Re(e);return G(t,e)?[t[s],(a?ia:te)(me(t,s+1))]:void 0},Fn=(e,t,a,s)=>{const{host:n,room:o}=t.partySocketOptions,{storeProtocol:r="https",storePath:i=xn,messagePrefix:l=d}={...Se(a)?{storeProtocol:a}:a},c=r+"://"+n+"/parties/"+t.name+"/"+o+i,u=async e=>await(await fetch(c,{...e?{method:"PUT",body:oa(e)}:{},mode:"cors",cache:"no-store"})).json();return fs(e,u,async(e,a)=>{a?t.send(Wn(l,$n,a)):await u(e())},e=>{const a=t=>be(Hn(l,t.data,1),([t,a])=>{t==$n&&e(void 0,a)});return t.addEventListener(H,a),a},e=>{t.removeEventListener(H,e)},s,1,{getConnection:()=>t})},Jn="hasStore",Un=gt(xe(["Origin","Methods","Headers"],e=>["Access-Control-Allow-"+e,"*"])),jn=async(e,t=d)=>!!await e.get(t+Jn),Gn=async(e,t=d)=>{const a={},s={};return Mt(await e.list(),(e,n)=>be(Hn(t,e),([e,t])=>{if(e==J){const[e,s,o]=na("["+t+"]");Tt(Tt(a,e,gt),s,gt)[o]=n}else e==U&&(s[t]=n)})),[a,s]},qn=async(e,t,a)=>e.party.broadcast(Wn(e.config.messagePrefix??d,$n,t),a),zn=async(e,t,a,s)=>{const n=e.party.storage,o=e.config.storagePrefix??d,r={[o+Jn]:1},i=[],l=[];await Ee(vt(t[0],async(t,c)=>ge(t)?!a&&await e.canDelTable(c,s)&&qe(l,Bn(o,J,c)):await e.canSetTable(c,a,s)&&await Ee(vt(t,async(t,d)=>ge(t)?!a&&await e.canDelRow(c,d,s)&&je(l,Bn(o,J,c,d)):await e.canSetRow(c,d,a,s)&&await Ee(vt(t,async(t,l)=>{const u=[c,d,l],g=Bn(o,J,...u);ge(t)?!a&&await e.canDelCell(...u,s)&&je(i,g):await e.canSetCell(...u,t,a,s,await n.get(g))&&(r[g]=t)})))))),await Ee(vt(t[1],async(t,l)=>{const c=o+U+l;ge(t)?!a&&await e.canDelValue(l,s)&&je(i,c):await e.canSetValue(l,t,a,s,await n.get(c))&&(r[c]=t)})),He(l)||Mt(await n.list(),e=>Ae(l,t=>!G(e,t)||je(i,e)&&0)),await n.delete(i),await n.put(r)},Bn=(e,t,...a)=>Wn(e,t,me(oa(a),1,-1)),Qn=async(e,t,a=null)=>new Response(a,{status:t,headers:e.config.responseHeaders});class Yn{constructor(e){this.party=e,this.config.storePath??=xn,this.config.messagePrefix??=d,this.config.storagePrefix??=d,this.config.responseHeaders??=Un}party;config={};async onRequest(e){const{party:{storage:t},config:{storePath:a=xn,storagePrefix:s}}=this;if(new URL(e.url).pathname.endsWith(a)){const a=await jn(t,s),n=await e.text();return"PUT"==e.method?a?Qn(this,205):(await zn(this,na(n),!0,e),Qn(this,201)):Qn(this,200,a?oa(await Gn(t,s)):d)}return Qn(this,404)}async onMessage(e,t){const{config:{messagePrefix:a=d,storagePrefix:s}}=this;await be(Hn(a,e,1),async([e,a])=>{e==$n&&await jn(this.party.storage,s)&&(await zn(this,a,!1,t),qn(this,a,[t.id]))})}async canSetTable(e,t,a){return!0}async canDelTable(e,t){return!0}async canSetRow(e,t,a,s){return!0}async canDelRow(e,t,a){return!0}async canSetCell(e,t,a,s,n,o,r){return!0}async canDelCell(e,t,a,s){return!0}async canSetValue(e,t,a,s,n){return!0}async canDelValue(e,t){return!0}}const Xn=async(e,t,a,s,n)=>yn(e,a,async(e,a=[])=>(await t.query(e,a)).rows,(e,a)=>t.listen(e,a),e=>Me(e,n),s,n,Ie,3,t,"getPglite"),Kn=async(e,t,a,s,n)=>{const o=await(t.reserve?.());return yn(e,a,o?.unsafe,async(e,a)=>t.listen(e,a),e=>Me(e.unlisten,n),s,n,()=>o?.release?.(),3,t,"getSql")},Zn=(e,t,a,s,n)=>{let o;return fn(e,a,async(e,a=[])=>t.execute(e,a).then(e=>e.rows?._array??[]),e=>{const a=new AbortController,s=t.onChange({rawTableNames:!0,signal:a.signal});return(async()=>{for await(const e of s)o&&xe(e.changedTables,o)})(),o=e,a},e=>{o=void 0,e.abort()},s,n,Ie,1,t,"getPowerSync",eo)},eo=async(e,t,a,s,n)=>{const o=$e(xe(s,(e,t)=>Ws(e)+"=$"+(t+1)),u);for(const[r,i]of vt(n,(e,t)=>[t,e])){const n=xe(i,e=>e??null);if(He(await e(Ts+Ws(t)+" SET"+o+" "+Cs+Ws(a)+"=$"+(i.length+1)+" RETURNING"+Ws(a),[...n,r]))){const o=[1];await e(ms+" INTO"+Ws(t)+"("+Fs(a,...s)+")VALUES("+Js([r,...i],o)+")",[r,...n])}}},to=(e,t,a="storage",s)=>fs(e,async()=>{const e=t.getString(a),s=ge(e)?void 0:JSON.parse(e);return Promise.resolve(s)},async e=>{const s=e();ge(s)||t.set(a,JSON.stringify(s))},e=>t.addOnValueChangedListener(s=>{if(s===a){const s=t.getString(a);s&&e(JSON.parse(s))}}),e=>{e.remove()},s,3,{getStorageName:()=>a}),ao=(e,t,a,s,n)=>fn(e,a,async(e,a=[])=>(await t.executeSql(e,a))[0].rows.raw(),Ie,Ie,s,n,Ie,3,t),so=e=>e.headers.get("ETag")??d,no=e=>e==d?void 0:{"If-None-Match":e},oo=(e,t,a,s=5,n)=>{let o=d;return fs(e,async()=>{const e=await fetch(t,{headers:no(o)});return o=so(e),na(await e.text())},async e=>await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:oa(e())}),e=>ae(async()=>{const a=await fetch(t,{method:"HEAD",headers:no(o)}),s=so(a);s!=o&&(o=s,e())},s),e=>se(e),n,1,{getUrls:()=>[t,a]})},ro=(e,t,a,s,n)=>fn(e,a,async(e,a=[])=>t.query(e).all(...a),()=>Ie,e=>e(),s,n,Ie,3,t),io=(e,t,a,s,n,o)=>fn(e,s,async(e,t=[])=>a.exec(e,{bind:t,rowMode:"object",returnValue:"resultRows"}).map(e=>({...e})),e=>t.capi.sqlite3_update_hook(a,(t,a,s,n)=>e(n),0),()=>t.capi.sqlite3_update_hook(a,Ie,0),n,o,Ie,3,a),lo="change",co=(e,t,a,s,n)=>fn(e,a,async(e,a=[])=>await Le((s,n)=>t.all(e,a,(e,t)=>e?n(e):s(t))),e=>{const a=(t,a,s)=>e(s);return t.on(lo,a),a},e=>t.off(lo,e),s,n,Ie,3,t),uo="delete",go=e=>[e.get(J),e.get(U)],wo=(e,t,a,s)=>{const n=ge(t)?e:e.get(t)??e.set(t,new r);let o;return St(a,(e,t)=>{s(n,t,e)&&(o=1)}),n.forEach((e,t)=>{yt(a,t)||(n.delete(t),o=1)}),ge(t)||n.size||e.delete(t),o},ho=(e,t,a=c,s)=>{const n=t.getMap(a);return fs(e,async()=>n.size?[n.get(J).toJSON(),n.get(U).toJSON()]:void 0,async(e,a)=>t.transact(()=>((e,t,a)=>{e.size||(e.set(J,new r),e.set(U,new r));const[s,n]=go(e),o=()=>{i=1};let i=1;if(be(a,([e,t])=>{i=0,St(e,(e,t)=>i?0:ge(e)?s.delete(t):be(s.get(t),t=>St(e,(e,a)=>i?0:ge(e)?t.delete(a):be(t.get(a),t=>St(e,(e,a)=>ge(e)?t.delete(a):t.set(a,e)),o)),o)),St(t,(e,t)=>i?0:ge(e)?n.delete(t):n.set(t,e))}),i){const[e,a]=t();wo(s,void 0,e,(e,t,a)=>wo(s,t,a,(e,t,a)=>wo(e,t,a,(e,t,a)=>{if(e.get(t)!==a)return e.set(t,a),1}))),wo(n,void 0,a,(e,t,a)=>{n.get(t)!==a&&n.set(t,a)})}})(n,e,a)),e=>{const t=t=>e(void 0,((e,t)=>{if(1==Re(t)&&He(t[0].path))return[e.get(J).toJSON(),e.get(U).toJSON(),1];const[a,s]=go(e),n={},o={};return Ve(t,({path:e,changes:{keys:t}})=>ze(e)==J?be(ze(e),s=>{const o=Tt(n,s,gt),r=a.get(s);be(ze(e),e=>{const a=Tt(o,e,gt),s=r.get(e);Mt(t,(e,{action:t})=>a[e]=t==uo?void 0:s.get(e))},()=>Mt(t,(e,{action:t})=>o[e]=t==uo?void 0:r.get(e)?.toJSON()))},()=>Mt(t,(e,{action:t})=>n[e]=t==uo?void 0:a.get(e)?.toJSON())):Mt(t,(e,{action:t})=>o[e]=t==uo?void 0:s.get(e))),[n,o,1]})(n,t));return n.observeDeep(t),t},e=>{n.unobserveDeep(e)},s,1,{getYDoc:()=>t})},yo="_",fo=qt(e=>{const t=e._[0],a=t(),s=t(),n=Et(),o=Et(),r=Jt(),i=Et(),l=Et(),c={table:0,tableCellIds:0,rowCount:0,rowIds:0,sortedRowIds:0,row:0,cellIds:0,cell:0},u=Et(),g=Et(),{_:[,w,h],delListener:y}=s,[f,b,v,S,C,p,m,L,,E,N,M]=jt(e,()=>[],Te,w,h),$=e=>Pt(o,e,t),x=(e,t,...a)=>Ve(a,a=>Ut(Pt(Pt(u,t,Et),e,Jt),a)),W=e=>{be(Nt(u,e),e=>{Mt(e,(e,t)=>st(t,t=>e.delListener(t))),at(e)}),Ve([$(e),Nt(n,e)],t=>t?.delTable(e))},H=(e,t,a,...s)=>{const n=Pt(Pt(g,t,Et),e,Jt);return Ve(s,t=>{Ut(n,t),a&&e.callListener(t)}),s},F=(e,t,a)=>be(Nt(Nt(g,e),t),s=>{t.delListener(a),nt(s,a),et(s)&&At(Nt(g,e),t)}),J=e=>be(Nt(g,e),e=>{Mt(e,(e,t)=>st(t,t=>e.delListener(t))),at(e)}),U=(e,t,a)=>x(t,e,t.addStartTransactionListener(a.startTransaction),t.addDidFinishTransactionListener(()=>a.finishTransaction())),j=(e,t)=>(mt(t)?a.delRow:a.setRow)(yo,e,{...t}),G=a=>$(a).transaction(()=>be(p(a),([s,,o])=>{const i=C(a),l=o?$(i):e,c=$(a),u=z(a);Ut(r,a),W(a),J(a);const g=[],w=[[void 0,[i,void 0,void 0,[],Et(),l]]],h=[],y=[],f=[];s({select:(e,t,a)=>{const s=he(e)?t:e,n=he(e)?a:t,o=Ce(e)?[Re(g)+d,e]:ge(n)?[e,t=>t(e)]:[n,t=>he(e)?t(!0,s,n):t(s,n)];return je(g,o),{as:e=>o[0]=e}},join:(t,a,s,n)=>{const o=he(t)?a:t,[r,i]=he(t)?ge(n)||Ce(s)?[void 0,s]:[s,n]:ge(s)||Ce(a)?[void 0,a]:[a,s],l=[o,[o,r,Ce(i)?i:e=>e(i),[],Et(),he(t)?$(o):e]];return je(w,l),{as:e=>l[0]=e}},where:(e,t,a,s)=>je(h,Ce(e)?e:he(e)?e=>e(!0,t,a)===s:ge(a)?a=>a(e)===t:s=>s(e,t)===a),group:(e,t,a,s,n)=>{const o=[e,[e,Ce(t)?[t,a,s,n]:Nt(rs,t)??[(e,t)=>t]]];return je(y,o),{as:e=>o[0]=e}},having:(e,t)=>je(f,Ce(e)?e:a=>a(e)===t),param:e=>ht(u,e)});const b=Et(g);if(et(b))return nt(r,a),B;const v=Et(w);Mt(v,(e,[,t])=>be(Nt(v,t),({3:t})=>ge(e)?0:je(t,e)));const S=Et(y),p=!et(S)||!He(f),m=p?(e=>Pt(n,e,t))(a):c;if(p){U(a,m,c);const e=Et();Mt(S,(t,[a,s])=>Ut(Pt(e,a,Jt),[t,s]));const t=Jt();Mt(b,a=>Ze(e,a)?0:Ut(t,a));const s=Et(),n=(t,s,n,o)=>be(t,([r,i,l,d])=>{Mt(s,(t,[a])=>{const s=Pt(r,t,Et),i=Nt(s,n),l=o?void 0:a;if(i!==l){const a=Jt([[i,l]]),o=Qe(s);At(s,n,l),st(Nt(e,t),([e,t])=>{const n=is(d[e],o,s,a,t);d[e]=ge(Oa(n))?void 0:n})}}),et(i)||!Ae(f,e=>e(e=>d[e]))?c.delRow(a,l):ge(l)?t[2]=c.addRow(a,d):c.setRow(a,l,d)});x(m,a,m.addRowListener(a,null,(o,r,i,l)=>{const c=[],d=[],u=Et(),g=m.hasRow(a,i);let w=!g;st(t,e=>{const[t,s,n]=l(a,i,e);je(c,s),je(d,n),w||=t}),Mt(e,e=>{const[t,,s]=l(a,i,e);(w||t)&&At(u,e,[s])}),w&&n(Ft(s,c,void 0,([,e])=>(nt(e,i),et(e))),u,i,1),g&&n(Ft(s,d,()=>{const e={};return st(t,t=>e[t]=m.getCell(a,i,t)),[Et(),Jt(),void 0,e]},([,e])=>{Ut(e,i)}),u,i)}))}U(a,l,m);const R=(e,t,s,n,o)=>{const r=e=>t.getCell(s,n,e);Ve(o,t=>{const[s,,n,o,i,l]=Nt(v,t),c=n?.(r,e),d=Nt(i,e),u=d?.[0];c!=u&&(be(d,([,e,t])=>F(a,e,t)),At(i,e,ge(c)?void 0:[c,l,...H(l,a,1,l.addRowListener(s,c,()=>R(e,l,s,c,o)))]))}),(e=>{const t=(t,a,s)=>{const n=he(t)?a:t,o=he(t)?s:a;if(ge(o))return l.getCell(i,e,t);if(n===i&&!he(t))return l.getCell(i,e,o);const r=Nt(v,n);return ge(r)?void 0:r[5].getCell(r[0],Nt(r[4],e)?.[0],o)};m.transaction(()=>Ae(h,e=>e(t))?Mt(b,(s,n)=>m._[5](a,e,s,n(t,e))):m.delRow(a,e))})(e)},{3:T}=Nt(v,void 0),I=(e,t,s)=>{l.hasRow(i,s)?R(s,l,i,s,T):(m.delRow(a,s),st(v,({4:e})=>be(Nt(e,s),([,t,n])=>{F(a,t,n),At(e,s)})))};return m.transaction(()=>{Ve(l.getRowIds(i),e=>I(0,0,e)),H(l,a,0,l.addRowListener(i,null,I))}),nt(r,a),B})),q=e=>(be(p(e),([,e])=>a.delListener(e)),a.delRow(yo,e),W(e),J(e),E(e),B),z=e=>a.getRow(yo,e),B={setQueryDefinition:(e,t,s,n,o={})=>{const[r,i,l,c]=he(t)?[s,n,1,o]:[t,s,0,n??{}];return be(p(e),([,e])=>a.delListener(e)),L(e,r),m(e,[i,a.addRowListener(yo,e,()=>G(e)),l]),j(e,c),G(e),B},delQueryDefinition:q,getParamValues:z,getParamValue:(e,t)=>a.getCell(yo,e,t),setParamValues:(e,t)=>(S(e)&&j(e,t),B),setParamValue:(e,t,s)=>(S(e)&&a.setCell(yo,e,t,s),B),getStore:f,getQueryIds:b,forEachQuery:v,hasQuery:S,getTableId:C,forEachResultTable:e=>v(t=>$(t).hasTable(t)?e(t,e=>B.forEachResultRow(t,e)):0),addQueryIdsListener:e=>N(()=>e(B)),addParamValuesListener:(e,t)=>"p"+a.addRowListener(yo,e,(e,a,s)=>t(B,s,z(s))),addParamValueListener:(e,t,s)=>"p"+a.addCellListener(yo,e,t,(e,t,a,n,o)=>s(B,a,n,o)),delListener:e=>{const t=Nt(i,e);if("p"==e[0])a.delListener(me(e,1));else if(ge(t))y(e);else{const[a,s,n]=t;Mt(s,(e,[t,a])=>t.delListener(a)),be(n,y),At(i,e),y(e),c[a]--}return B},destroy:()=>{Ve(b(),q),M()},getListenerStats:()=>({...c,paramValues:a.getListenerStats().row-Re(b()),paramValue:a.getListenerStats().cell})};return St({[D]:[2,1],[D+V]:[1,1],[A]:[1,1],[P]:[1,1],[k]:[1,5],[O]:[3,2],[V]:[1,2],[_]:[3,3]},([e,t],a)=>{Ve(me(["get","has","forEach"],0,e),e=>B[e+T+a]=(...t)=>$(t[0])[e+a](...t)),B[I+T+a+R]=(...e)=>((s,n)=>{const o=w(Te,l),r=Et(),d=()=>{const s=null==n?b():[n];Ve(s,s=>{return Ze(r,s)?0:At(r,s,[$(s),(n=$(s),n[I+a+R](...((e,t)=>5==t?[e[0],e[1]??void 0,e[2],e[3],e[4]]:me(e,0,t))(e,t),(a,...s)=>e[t](B,...s),!0))]);var n}),Mt(r,(e,[t,a])=>null==n&&S(e)||e==n?0:(t.delListener(a),void At(r,e)))};return d(),At(i,o,[s,r,null==n?N(d):void 0]),c[s]++,o})((e=>e[0].toLowerCase()+me(e,1))(a),e[0])}),ut(B)}),bo=qt(e=>{const t=Et(),a=Et(),s=Et(),n=Et(),[o,r,i]=Qt(()=>m),[l,c,u,g,w,h,,,y,f,b,v]=jt(e,()=>[Et(),Et(),Et(),Et()],e=>ge(e)?void 0:e+d,o,r),S=(e,t,a)=>be(h(e),([s,,n])=>{if(!Ze(n,t)){const o=Jt();if(w(e)!=p(e))Ut(o,t);else{let e=t;for(;!ge(e)&&!Ze(o,e);)Ut(o,e),e=Nt(s,e)}if(a)return o;At(n,t,o)}return Nt(n,t)}),C=(e,t)=>be(h(e),([,,e])=>At(e,t)),p=e=>Nt(t,e),m={setRelationshipDefinition:(e,o,i,l)=>(At(t,e,i),y(e,o,(t,o)=>{const i=Jt(),l=Jt(),c=Jt(),[d,u]=h(e);st(o,([t,a],s)=>{ge(t)||(Ut(l,t),be(Nt(u,t),e=>{nt(e,s),et(e)&&At(u,t)})),ge(a)||(Ut(l,a),Ze(u,a)||At(u,a,Jt()),Ut(Nt(u,a),s)),Ut(i,s),At(d,s,a),Mt(Nt(n,e),t=>{Ze(S(e,t),s)&&Ut(c,t)})}),t(),st(i,t=>r(a,[e,t])),st(l,t=>r(s,[e,t])),st(c,t=>{C(e,t),r(n,[e,t])})},Gt(l)),m),delRelationshipDefinition:e=>(At(t,e),f(e),m),getStore:l,getRelationshipIds:c,forEachRelationship:t=>u(a=>t(a,t=>e.forEachRow(w(a),t))),hasRelationship:g,getLocalTableId:w,getRemoteTableId:p,getRemoteRowId:(e,t)=>Nt(h(e)?.[0],t),getLocalRowIds:(e,t)=>tt(Nt(h(e)?.[1],t)),getLinkedRowIds:(e,t)=>ge(h(e))?[t]:tt(S(e,t,!0)),addRelationshipIdsListener:b,addRemoteRowIdListener:(e,t,s)=>o(s,a,[e,t]),addLocalRowIdsListener:(e,t,a)=>o(a,s,[e,t]),addLinkedRowIdsListener:(e,t,a)=>(S(e,t),o(a,n,[e,t])),delListener:e=>(C(...i(e)??[]),m),destroy:v,getListenerStats:()=>({remoteRowId:Xe(a),localRowIds:Xe(s),linkedRowIds:Xe(n)})};return ut(m)}),vo={Response:0,GetContentHashes:1,ContentHashes:2,ContentDiff:3,GetTableDiff:4,GetRowDiff:5,GetCellDiff:6,GetValueDiff:7},So=(e,t,a,s,n,o,r,i,l={})=>{let c,u=0,g=0,w=0;const h=Et(),y=()=>aa(11),f=(e,a,s,n)=>{g++,o?.(e,a,s,n),t(e,a,s,n)},b=async(e,t,a,s)=>Le((o,r)=>{const i=s+"."+aa(4),l=ne(()=>{nt(h,i),r(`No response from ${e??"anyone"} to ${i}, `+t)},n);At(h,i,[e,(e,t)=>{clearTimeout(l),nt(h,i),o([e,t,s])}]),f(e,i,t,a)}),v=(e,[t,a])=>{bt(t,([t,a],s)=>{const n=Tt(e[0],s,ja);bt(t,([e,t],a)=>{const s=Tt(n[0],a,ja);bt(e,([e,t],a)=>s[0][a]=xa(e,t)),s[1]=Ja(s[1],t)}),n[1]=Ja(n[1],a)}),e[1]=Ja(e[1],a)},S=(t=null,a,s=y())=>Me(async()=>{ge(a)&&([a,t,s]=await b(null,1,d,s));const[n,o]=a,[r,i]=e.getMergeableContentHashes();let l=ja();if(r!=n){const[a,n]=(await b(t,4,e.getMergeableTableHashes(),s))[0];if(l=a,!mt(n)){const[a,o]=(await b(t,5,e.getMergeableRowHashes(n),s))[0];if(v(l,a),!mt(o)){const a=(await b(t,6,e.getMergeableCellHashes(o),s))[0];v(l,a)}}}return[l,i==o?ja():(await b(t,7,e.getMergeableValueHashes(),s))[0],1]},i),C=fs(e,async()=>{const e=await S();return!e||mt(e[0][0])&&mt(e[1][0])?void 0:e},async(t,a)=>a?f(null,y(),3,a):f(null,y(),2,e.getMergeableContentHashes()),e=>c=e,()=>c=void 0,i,2,{startSync:async e=>(u=1,await C.startAutoPersisting(e)),stopSync:async()=>(u=0,await C.stopAutoPersisting(),C),destroy:async()=>(await C.stopSync(),s(),C),getSynchronizerStats:()=>({sends:g,receives:w}),...l},1);return a((t,a,s,n)=>{const o=u||C.isAutoLoading();w++,r?.(t,a,s,n),0==s?be(Nt(h,a),([e,a])=>we(e)||e==t?a(n,t):0):2==s&&o?S(t,n,a??void 0).then(e=>{c?.(void 0,e)}).catch(i):3==s&&o?c?.(void 0,n):be(1==s&&(u||C.isAutoSaving())?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(n):5==s?e.getMergeableRowDiff(n):6==s?e.getMergeableCellDiff(n):7==s?e.getMergeableValueDiff(n):void 0,e=>{f(t,a,0,e)})}),C},Co=(e,t,a,s,n)=>{const o=aa(),r=new BroadcastChannel(t);return So(e,(e,t,a,s)=>r.postMessage([o,e,t,a,s]),e=>{r.onmessage=({data:[t,a,s,n,r]})=>we(a)||a==o?e(t,s,n,r):0},()=>{r.close()},.01,a,s,n,{getChannelName:()=>t})},po=Et(),mo=(e,t,a,s)=>{const n=aa();return So(e,(e,t,a,s)=>ne(()=>we(e)?Mt(po,(e,o)=>e!=n?o(n,t,a,s):0):Nt(po,e)?.(n,t,a,s)),e=>{At(po,n,e)},()=>{nt(po,n)},.01,t,a,s)},Ro="\n",To=/^(.+)\n(\d+)\n(\d+)\n([\s\S]*)$/,Io=(e,t)=>{const a=e.indexOf(Ro);-1!==a&&t(me(e,0,a),me(e,a+1))},Lo=(e,t,a)=>a(e,...ia(t)),Eo=(e,t=1)=>{const a=Et(),s=e=>ne(()=>nt(a,e),t);return t=>Io(t,(t,n)=>{const[,o,r,i,l]=z(n,To)??[];if(o){const n=parseInt(r),c=parseInt(i);if(c>0&&n>=0&&n<c){const r=t+Ro+o,i=Pt(a,r,()=>[[],c,c,s(r)]),[d]=i;c==i[2]&&ge(d[n])&&(oe(i[3]),i[3]=s(r),d[n]=l,i[1]--),0==i[1]&&(((e,t)=>{oe(t[3]),nt(a,e)})(r,i),Lo(t,$e(d),e))}}else Lo(t,n,e)})},Do=(e,t)=>e+Ro+t,No=(e,t,a,s,n)=>{const o=e??d,r=ra([t,a,s]),i=le(n??0);if(ge(n)||i<1||Re(r)<=i)return[Do(o,r)];const l=z(r,RegExp(`.{1,${i}}`,"g")),c=Re(l??[]),u=aa();return xe(l??[],(e,t)=>Do(o,$e([u,t,c,e],Ro)))},Mo=async(e,t,a=1,s,n,o,r)=>{const i=(e,a)=>(t.addEventListener(e,a),()=>t.removeEventListener(e,a)),l=So(e,(e,...a)=>Ve(No(e,...a,r),e=>t.send(e)),e=>{const t=Eo(e,a);i(H,({data:e})=>t(e.toString(m)))},()=>{t.close()},a,s,n,o,{getWebSocket:()=>t});return Le(e=>{if(t.readyState!=t.OPEN){const t=t=>{t&&o?.(t),a(),s(),e(l)},a=i("open",()=>t()),s=i(F,t)}else e(l)})},Oo=/\/([^?]*)/,Ao="S",Po=e=>z(new URL(e.url).pathname,Oo)?.[1]??d,ko=e=>"websocket"==e.headers.get("upgrade")?.toLowerCase()?e.headers.get("sec-websocket-key"):null,_o=(e,t=null,a=null)=>new Response(a,{status:e,webSocket:t}),Vo=()=>_o(426,null,"Upgrade required");class $o extends i{#e;constructor(e,t){super(e,t),this.ctx.blockConcurrencyWhile(async()=>await be(await this.createPersister(),async e=>{const t=this.getRequestTimeoutSeconds(),a=So(e.getStore(),(e,t,a,s)=>Ve(No(e,t,a,s,this.getFragmentSize()),e=>this.#t(Ao,e)),e=>this.#e=Eo(e,t),Ie,t);await e.load(),await e.startAutoSave(),ne(a.startSync)}))}fetch(e){const t=Po(e);return be(ko(e),e=>{const[a,s]=Ct(new WebSocketPair);return He(this.#a())&&this.onPathId(t,1),this.ctx.acceptWebSocket(s,[e,t]),this.onClientId(t,e,1),s.send(Do(Ao,ra([null,1,d]))),_o(101,a)},Vo)}webSocketMessage(e,t){be(this.ctx.getTags(e)[0],a=>this.#t(a,t.toString(),e))}webSocketClose(e){const[t,a]=this.ctx.getTags(e);this.onClientId(a,t,-1),1==Re(this.#a())&&this.onPathId(a,-1)}#t(e,t,a){Io(t.toString(),(t,s)=>{const n=Do(e,s);this.onMessage(e,t,s),t==d?(e!=Ao&&this.#e?.(n),Ve(this.#a(),e=>{e!=a&&e.send(n)})):t==Ao?this.#e?.(n):t!=e&&this.#a(t)[0]?.send(n)})}#a(e){return this.ctx.getWebSockets(e)}createPersister(){}getPathId(){return this.ctx.getTags(this.#a()[0])?.[1]}getClientIds(){return xe(this.#a(),e=>this.ctx.getTags(e)[0])}getFragmentSize(){}getRequestTimeoutSeconds(){return 1}onPathId(e,t){}onClientId(e,t,a){}onMessage(e,t,a){}}const xo=e=>(t,a)=>ko(t)?a[e].get(a[e].idFromName(Po(t))).fetch(t):Vo(),Wo=/\/([^?]*)/,Ho=e=>{const t=Et();return e.on("connection",(e,a)=>be(z(a.url,Wo),([,s])=>be(a.headers["sec-websocket-key"],async a=>{const n=Pt(t,s,Et);At(n,a,e),e.on(H,e=>Io(e.toString(m),(e,t)=>{const s=Do(a,t);e===d?Mt(n,(e,t)=>e!==a?t.send(s):0):Nt(n,e)?.send(s)})),e.on("close",()=>{nt(n,a),et(n)&&nt(t,s)})}))),ut({getWebSocketServer:()=>e,destroy:async()=>{at(t),e.close()}})},Fo=/\/([^?]*)/,Jo=(e,t,a,s=1,n)=>{const o=Et(),r=Et(),i=Et(),l=Et(),[c,u,g]=Qt(()=>y),w=async e=>{await(e[1]?.destroy()),await(e[2]?.destroy())},h=(e,t,a)=>s=>Io(s,(s,n)=>{const o=Do(e,n);s===d?("S"!==e&&a[3]?.(o),Mt(t,(t,a)=>t!==e?a.send(o):0)):"S"===s?a[3]?.(o):Nt(t,s)?.send(o)});e.on("connection",(e,c)=>be(z(c.url,Fo),([,d])=>be(c.headers["sec-websocket-key"],async c=>{const g=Pt(i,d,Et),y=Pt(l,d,()=>[0]),f=h(c,g,y);et(g)&&(u(o,void 0,d,1),await(async(e,o,r)=>be(await(t?.(o)),t=>{e[0]=1,e[1]=pe(t)?t[0]:t;const o=h("S",r,e);e[2]=So(e[1].getStore(),(e,t,a,s)=>Ve(No(e,t,a,s,n),o),t=>{e[3]=Eo(t,s)},Ie,s,void 0,void 0,a),e[4]=[],e[5]=pe(t)?t[1]:e=>0}))(y,d,g)),At(g,c,e),u(r,[d],c,1),e.on(H,e=>{const t=e.toString(m);0==y[0]?f(t):je(y[4],t)}),1==y[0]&&(await(async e=>{e[0]=2,await e[1].startAutoLoad(),await e[1].startAutoSave(),await e[2].startSync(),e[5](e[1].getStore()),e[0]=0})(y),Ve(y[4],f),y[4]=[]),e.on("close",async()=>{nt(g,c),u(r,[d],c,-1),et(g)&&(await w(y),nt(l,d),nt(i,d),u(o,void 0,d,-1))}),a&&e.on(F,a)}))),a&&e.on(F,a);const y={getWebSocketServer:()=>e,getPathIds:()=>Dt(i),getClientIds:e=>Dt(Nt(i,e)),addPathIdsListener:e=>c(e,o),addClientIdsListener:(e,t)=>c(t,r,[e]),delListener:e=>(g(e),y),getStats:()=>({paths:Qe(i),clients:Ye(i)}),destroy:async()=>{at(i),await Ee(Ot(l,w)),e.close()}};return ut(y)};export{vo as Message,ws as Persists,gs as Status,Yn as TinyBasePartyKitServer,$o as WsServerDurableObject,ua as addOrRemoveHash,qn as broadcastChanges,Sn as createAutomergePersister,Co as createBroadcastChannelSynchronizer,Yt as createCheckpoints,In as createCrSqliteWasmPersister,fs as createCustomPersister,yn as createCustomPostgreSqlPersister,fn as createCustomSqlitePersister,So as createCustomSynchronizer,En as createDurableObjectStoragePersister,Dn as createElectricSqlPersister,Nn as createExpoSqlitePersister,Mn as createFilePersister,_n as createIndexedDbPersister,Ma as createIndexes,Vn as createLibSqlPersister,mn as createLocalPersister,mo as createLocalSynchronizer,os as createMergeableStore,ls as createMetrics,us as createMiddleware,Tn as createOpfsPersister,Fn as createPartyKitPersister,Xn as createPglitePersister,Kn as createPostgresPersister,Zn as createPowerSyncPersister,fo as createQueries,to as createReactNativeMmkvPersister,ao as createReactNativeSqlitePersister,bo as createRelationships,oo as createRemotePersister,Rn as createSessionPersister,co as createSqlite3Persister,ro as createSqliteBunPersister,io as createSqliteWasmPersister,as as createStore,Jo as createWsServer,Ho as createWsServerSimple,Mo as createWsSynchronizer,ho as createYjsPersister,Na as defaultSorter,ya as getCellHash,fa as getCellInRowHash,da as getHash,Da as getHlcFunctions,ba as getRowHash,va as getRowInTableHash,Sa as getTableHash,Ca as getTableInTablesHash,pa as getTablesHash,aa as getUniqueId,ha as getValueHash,wa as getValueInValuesHash,ga as getValuesHash,xo as getWsServerDurableObjectFetch,jn as hasStoreInStorage,Gn as loadStoreFromStorage,Pn as objectStoreMatch};
Binary file