mutts 1.0.8 → 1.0.9

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 (226) hide show
  1. package/README.md +19 -2
  2. package/dist/browser.cjs +1030 -4406
  3. package/dist/browser.cjs.map +1 -1
  4. package/dist/browser.d.ts +310 -573
  5. package/dist/browser.esm.js +18 -24
  6. package/dist/browser.esm.js.map +1 -1
  7. package/dist/chunks/{async-browser-CA0jPWIi.cjs → async-browser-lvzLOCgk.cjs} +17 -24
  8. package/dist/chunks/async-browser-lvzLOCgk.cjs.map +1 -0
  9. package/dist/chunks/{async-core-UqHzvJ-S.cjs → async-core-CRLKP3l-.cjs} +8 -4
  10. package/dist/chunks/async-core-CRLKP3l-.cjs.map +1 -0
  11. package/dist/chunks/{async-node-BYHuGTni.cjs → async-node-C3DeIb0y.cjs} +5 -12
  12. package/dist/chunks/async-node-C3DeIb0y.cjs.map +1 -0
  13. package/dist/chunks/index-2vea86wD.esm.js +3011 -0
  14. package/dist/chunks/index-2vea86wD.esm.js.map +1 -0
  15. package/dist/chunks/index-CtA2AWl3.esm.js +4376 -0
  16. package/dist/chunks/index-CtA2AWl3.esm.js.map +1 -0
  17. package/dist/chunks/index-VTO-b2vR.cjs +4461 -0
  18. package/dist/chunks/index-VTO-b2vR.cjs.map +1 -0
  19. package/dist/{reactive → debug}/debug.d.ts +19 -8
  20. package/dist/debug/debug.d.ts.map +1 -0
  21. package/dist/debug/index.d.ts +4 -0
  22. package/dist/debug/index.d.ts.map +1 -0
  23. package/dist/debug/lineage-panel.d.ts +5 -0
  24. package/dist/debug/lineage-panel.d.ts.map +1 -0
  25. package/dist/debug/lineage.d.ts +79 -0
  26. package/dist/debug/lineage.d.ts.map +1 -0
  27. package/dist/debug.cjs +35 -0
  28. package/dist/debug.cjs.map +1 -0
  29. package/dist/debug.d.ts +209 -0
  30. package/dist/debug.esm.js +2 -0
  31. package/dist/debug.esm.js.map +1 -0
  32. package/dist/index.d.ts +1 -13
  33. package/dist/mutts.umd.js +1 -1
  34. package/dist/mutts.umd.js.map +1 -1
  35. package/dist/mutts.umd.min.js +1 -1
  36. package/dist/mutts.umd.min.js.map +1 -1
  37. package/dist/node.cjs +65 -63
  38. package/dist/node.cjs.map +1 -1
  39. package/dist/node.d.ts +2 -1
  40. package/dist/node.esm.js +5 -11
  41. package/dist/node.esm.js.map +1 -1
  42. package/dist/{async → src/async}/browser.d.ts.map +1 -1
  43. package/dist/{async → src/async}/index.d.ts +2 -1
  44. package/dist/src/async/index.d.ts.map +1 -0
  45. package/dist/{async → src/async}/node.d.ts.map +1 -1
  46. package/dist/src/decorator.d.ts.map +1 -0
  47. package/dist/src/destroyable.d.ts.map +1 -0
  48. package/dist/src/entry-browser.d.ts.map +1 -0
  49. package/dist/src/entry-node.d.ts.map +1 -0
  50. package/dist/src/eventful.d.ts +20 -0
  51. package/dist/src/eventful.d.ts.map +1 -0
  52. package/dist/src/flavored.d.ts +33 -0
  53. package/dist/src/flavored.d.ts.map +1 -0
  54. package/dist/src/index.d.ts +14 -0
  55. package/dist/src/index.d.ts.map +1 -0
  56. package/dist/src/indexable.d.ts.map +1 -0
  57. package/dist/{introspection.d.ts → src/introspection.d.ts} +1 -1
  58. package/dist/src/introspection.d.ts.map +1 -0
  59. package/dist/src/iterableWeak.d.ts.map +1 -0
  60. package/dist/src/mixins.d.ts.map +1 -0
  61. package/dist/src/promiseChain.d.ts.map +1 -0
  62. package/dist/{reactive → src/reactive}/array.d.ts +9 -10
  63. package/dist/src/reactive/array.d.ts.map +1 -0
  64. package/dist/src/reactive/buffer.d.ts +120 -0
  65. package/dist/src/reactive/buffer.d.ts.map +1 -0
  66. package/dist/{reactive → src/reactive}/change.d.ts +2 -2
  67. package/dist/src/reactive/change.d.ts.map +1 -0
  68. package/dist/src/reactive/deep-touch.d.ts.map +1 -0
  69. package/dist/{reactive → src/reactive}/deep-watch-state.d.ts +3 -3
  70. package/dist/src/reactive/deep-watch-state.d.ts.map +1 -0
  71. package/dist/{reactive → src/reactive}/deep-watch.d.ts +2 -1
  72. package/dist/src/reactive/deep-watch.d.ts.map +1 -0
  73. package/dist/src/reactive/describe.d.ts +12 -0
  74. package/dist/src/reactive/describe.d.ts.map +1 -0
  75. package/dist/src/reactive/effect-context.d.ts +34 -0
  76. package/dist/src/reactive/effect-context.d.ts.map +1 -0
  77. package/dist/{reactive → src/reactive}/effects.d.ts +31 -18
  78. package/dist/src/reactive/effects.d.ts.map +1 -0
  79. package/dist/src/reactive/index.d.ts +19 -0
  80. package/dist/src/reactive/index.d.ts.map +1 -0
  81. package/dist/{reactive → src/reactive}/map.d.ts +0 -2
  82. package/dist/src/reactive/map.d.ts.map +1 -0
  83. package/dist/src/reactive/memoize.d.ts +28 -0
  84. package/dist/src/reactive/memoize.d.ts.map +1 -0
  85. package/dist/src/reactive/non-reactive-state.d.ts.map +1 -0
  86. package/dist/src/reactive/non-reactive.d.ts.map +1 -0
  87. package/dist/{reactive → src/reactive}/project.d.ts +1 -2
  88. package/dist/src/reactive/project.d.ts.map +1 -0
  89. package/dist/src/reactive/proxy-state.d.ts.map +1 -0
  90. package/dist/src/reactive/proxy.d.ts.map +1 -0
  91. package/dist/{reactive → src/reactive}/record.d.ts +2 -3
  92. package/dist/src/reactive/record.d.ts.map +1 -0
  93. package/dist/{reactive → src/reactive}/register.d.ts +61 -0
  94. package/dist/src/reactive/register.d.ts.map +1 -0
  95. package/dist/{reactive → src/reactive}/registry.d.ts +6 -5
  96. package/dist/src/reactive/registry.d.ts.map +1 -0
  97. package/dist/{reactive → src/reactive}/set.d.ts +0 -2
  98. package/dist/src/reactive/set.d.ts.map +1 -0
  99. package/dist/src/reactive/tracking.d.ts.map +1 -0
  100. package/dist/{reactive → src/reactive}/types.d.ts +69 -21
  101. package/dist/src/reactive/types.d.ts.map +1 -0
  102. package/dist/{reactive/interface.d.ts → src/reactive/watch.d.ts} +7 -23
  103. package/dist/src/reactive/watch.d.ts.map +1 -0
  104. package/dist/{std-decorators.d.ts → src/std-decorators.d.ts} +1 -6
  105. package/dist/src/std-decorators.d.ts.map +1 -0
  106. package/dist/src/utils.d.ts.map +1 -0
  107. package/dist/{zone.d.ts → src/zone.d.ts} +2 -2
  108. package/dist/src/zone.d.ts.map +1 -0
  109. package/dist/types-DaHFfhlN.d.ts +414 -0
  110. package/docs/ai/api-reference.md +1 -1
  111. package/docs/ai/manual.md +443 -17
  112. package/docs/events.md +57 -2
  113. package/docs/flavored.md +210 -0
  114. package/docs/reactive/advanced.md +2 -3
  115. package/docs/reactive/attend.md +143 -0
  116. package/docs/reactive/collections.md +55 -0
  117. package/docs/reactive/core.md +120 -4
  118. package/docs/reactive/debugging.md +8 -10
  119. package/docs/reactive/describe.md +85 -0
  120. package/docs/reactive/error-handling.md +121 -0
  121. package/docs/reactive/project.md +1 -1
  122. package/docs/reactive/scan.md +215 -0
  123. package/docs/reactive.md +2 -0
  124. package/docs/std-decorators.md +102 -51
  125. package/docs/zone.md +3 -7
  126. package/package.json +6 -1
  127. package/src/async/browser.ts +110 -106
  128. package/src/async/index.ts +15 -11
  129. package/src/async/node.ts +5 -17
  130. package/src/eventful.ts +82 -49
  131. package/src/flavored.ts +106 -0
  132. package/src/index.d.ts +12 -12
  133. package/src/index.ts +2 -2
  134. package/src/introspection.ts +1 -1
  135. package/src/reactive/array.ts +29 -36
  136. package/src/reactive/buffer.ts +187 -27
  137. package/src/reactive/change.ts +16 -23
  138. package/src/reactive/deep-touch.ts +19 -14
  139. package/src/reactive/deep-watch-state.ts +3 -3
  140. package/src/reactive/deep-watch.ts +7 -4
  141. package/src/reactive/describe.ts +39 -0
  142. package/src/reactive/effect-context.ts +69 -4
  143. package/src/reactive/effects.ts +445 -393
  144. package/src/reactive/index.ts +12 -15
  145. package/src/reactive/map.ts +9 -25
  146. package/src/reactive/memoize.ts +26 -3
  147. package/src/reactive/project.md +107 -0
  148. package/src/reactive/project.ts +48 -71
  149. package/src/reactive/proxy.ts +21 -3
  150. package/src/reactive/record.ts +30 -45
  151. package/src/reactive/register.ts +138 -19
  152. package/src/reactive/registry.ts +22 -9
  153. package/src/reactive/set.ts +8 -21
  154. package/src/reactive/tracking.ts +9 -12
  155. package/src/reactive/types.ts +104 -24
  156. package/src/reactive/{interface.ts → watch.ts} +29 -59
  157. package/src/std-decorators.ts +56 -17
  158. package/src/utils.ts +2 -3
  159. package/src/zone.ts +28 -24
  160. package/dist/async/index.d.ts.map +0 -1
  161. package/dist/chunks/async-browser-CA0jPWIi.cjs.map +0 -1
  162. package/dist/chunks/async-core-UqHzvJ-S.cjs.map +0 -1
  163. package/dist/chunks/async-node-BYHuGTni.cjs.map +0 -1
  164. package/dist/chunks/index-DhaOVusv.esm.js +0 -6411
  165. package/dist/chunks/index-DhaOVusv.esm.js.map +0 -1
  166. package/dist/decorator.d.ts.map +0 -1
  167. package/dist/destroyable.d.ts.map +0 -1
  168. package/dist/entry-browser.d.ts.map +0 -1
  169. package/dist/entry-node.d.ts.map +0 -1
  170. package/dist/eventful.d.ts +0 -18
  171. package/dist/eventful.d.ts.map +0 -1
  172. package/dist/index.d.ts.map +0 -1
  173. package/dist/indexable.d.ts.map +0 -1
  174. package/dist/introspection.d.ts.map +0 -1
  175. package/dist/iterableWeak.d.ts.map +0 -1
  176. package/dist/mixins.d.ts.map +0 -1
  177. package/dist/promiseChain.d.ts.map +0 -1
  178. package/dist/reactive/array.d.ts.map +0 -1
  179. package/dist/reactive/buffer.d.ts +0 -44
  180. package/dist/reactive/buffer.d.ts.map +0 -1
  181. package/dist/reactive/change.d.ts.map +0 -1
  182. package/dist/reactive/debug.d.ts.map +0 -1
  183. package/dist/reactive/deep-touch.d.ts.map +0 -1
  184. package/dist/reactive/deep-watch-state.d.ts.map +0 -1
  185. package/dist/reactive/deep-watch.d.ts.map +0 -1
  186. package/dist/reactive/effect-context.d.ts +0 -7
  187. package/dist/reactive/effect-context.d.ts.map +0 -1
  188. package/dist/reactive/effects.d.ts.map +0 -1
  189. package/dist/reactive/index.d.ts +0 -20
  190. package/dist/reactive/index.d.ts.map +0 -1
  191. package/dist/reactive/interface.d.ts.map +0 -1
  192. package/dist/reactive/map.d.ts.map +0 -1
  193. package/dist/reactive/memoize.d.ts +0 -5
  194. package/dist/reactive/memoize.d.ts.map +0 -1
  195. package/dist/reactive/non-reactive-state.d.ts.map +0 -1
  196. package/dist/reactive/non-reactive.d.ts.map +0 -1
  197. package/dist/reactive/project.d.ts.map +0 -1
  198. package/dist/reactive/proxy-state.d.ts.map +0 -1
  199. package/dist/reactive/proxy.d.ts.map +0 -1
  200. package/dist/reactive/record.d.ts.map +0 -1
  201. package/dist/reactive/register.d.ts.map +0 -1
  202. package/dist/reactive/registry.d.ts.map +0 -1
  203. package/dist/reactive/set.d.ts.map +0 -1
  204. package/dist/reactive/tracking.d.ts.map +0 -1
  205. package/dist/reactive/types.d.ts.map +0 -1
  206. package/dist/std-decorators.d.ts.map +0 -1
  207. package/dist/utils.d.ts.map +0 -1
  208. package/dist/zone.d.ts.map +0 -1
  209. package/src/reactive/debug.ts +0 -517
  210. /package/dist/{async → src/async}/browser.d.ts +0 -0
  211. /package/dist/{async → src/async}/node.d.ts +0 -0
  212. /package/dist/{decorator.d.ts → src/decorator.d.ts} +0 -0
  213. /package/dist/{destroyable.d.ts → src/destroyable.d.ts} +0 -0
  214. /package/dist/{entry-browser.d.ts → src/entry-browser.d.ts} +0 -0
  215. /package/dist/{entry-node.d.ts → src/entry-node.d.ts} +0 -0
  216. /package/dist/{indexable.d.ts → src/indexable.d.ts} +0 -0
  217. /package/dist/{iterableWeak.d.ts → src/iterableWeak.d.ts} +0 -0
  218. /package/dist/{mixins.d.ts → src/mixins.d.ts} +0 -0
  219. /package/dist/{promiseChain.d.ts → src/promiseChain.d.ts} +0 -0
  220. /package/dist/{reactive → src/reactive}/deep-touch.d.ts +0 -0
  221. /package/dist/{reactive → src/reactive}/non-reactive-state.d.ts +0 -0
  222. /package/dist/{reactive → src/reactive}/non-reactive.d.ts +0 -0
  223. /package/dist/{reactive → src/reactive}/proxy-state.d.ts +0 -0
  224. /package/dist/{reactive → src/reactive}/proxy.d.ts +0 -0
  225. /package/dist/{reactive → src/reactive}/tracking.d.ts +0 -0
  226. /package/dist/{utils.d.ts → src/utils.d.ts} +0 -0
package/dist/mutts.umd.js CHANGED
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Mutts={})}(this,function(e){"use strict";const t={addHook(e){throw"One must import the library from the server or the client side"},sanitizePromise:e=>e},n=new Set,r=new WeakMap;function o(){const e=new Set;for(const t of n){const n=t();n&&e.add(n)}return e}function s(e,t){if("function"!=typeof e)return e;const n=t||o();return function(...t){const r=[];for(const e of n)r.push(e());try{return e.apply(this,t)}finally{if(u.queueMicrotask)u.queueMicrotask.call(globalThis,()=>{u.queueMicrotask.call(globalThis,()=>{u.queueMicrotask.call(globalThis,()=>{for(let e=r.length-1;e>=0;e--)r[e]()})})});else for(let e=r.length-1;e>=0;e--)r[e]()}}}t.addHook=function(e){return n.add(e),()=>{n.delete(e)}},t.sanitizePromise=e=>e&&"function"==typeof e.then?new Promise((t,n)=>{setTimeout(()=>{e.then(t,n)},0)}):e;const i=new WeakMap;function c(e){if(e)for(const t of Object.getOwnPropertyNames(e))if(t.startsWith("on")){const n=Object.getOwnPropertyDescriptor(e,t);if(n&&n.set&&n.configurable){const r=n.set;Object.defineProperty(e,t,{...n,set:function(e){r.call(this,s(e))}})}}}"undefined"!=typeof EventTarget&&function(e){if(!e||!e.addEventListener||!e.removeEventListener)return;const t=e.addEventListener,n=e.removeEventListener;e.addEventListener=function(e,n,r){if("function"!=typeof n)return t.call(this,e,n,r);let o=i.get(this);o||(o=new Map,i.set(this,o));let c=o.get(e);c||(c=new WeakMap,o.set(e,c));let a=c.get(n);return a||(a=s(n),c.set(n,a)),t.call(this,e,a,r)},e.removeEventListener=function(e,t,r){if("function"!=typeof t)return n.call(this,e,t,r);const o=i.get(this);if(o){const s=o.get(e);if(s){const o=s.get(t);if(o)return n.call(this,e,o,r)}}return n.call(this,e,t,r)}}(EventTarget.prototype);const a=["undefined"!=typeof EventTarget&&EventTarget.prototype,"undefined"!=typeof HTMLElement&&HTMLElement.prototype,"undefined"!=typeof Window&&Window.prototype,"undefined"!=typeof Document&&Document.prototype,"undefined"!=typeof MessagePort&&MessagePort.prototype,"undefined"!=typeof XMLHttpRequest&&XMLHttpRequest.prototype,"undefined"!=typeof IDBRequest&&IDBRequest.prototype,"undefined"!=typeof IDBTransaction&&IDBTransaction.prototype,"undefined"!=typeof IDBDatabase&&IDBDatabase.prototype,"undefined"!=typeof FileReader&&FileReader.prototype,"undefined"!=typeof AbortSignal&&AbortSignal.prototype];for(const e of a)e&&c(e);const f=Symbol.for("mutts.originals"),l=Symbol.for("mutts.OriginalPromise");let u,h;function d(e,t){const n=r.get(this)||o(),i=u.then.call(this,s(e,n),s(t,n));return n.size>0&&r.set(i,n),i}function p(e){if("function"==typeof e){const t=new h((t,n)=>{const r=s(t),o=s(n);e(r,o)}),n=o();return r.set(t,n),t}return new h(e)}globalThis[f]?(u=globalThis[f],h=globalThis[l]):(h=globalThis.Promise,u={then:h.prototype.then,catch:h.prototype.catch,finally:h.prototype.finally,resolve:h.resolve,reject:h.reject,all:h.all,allSettled:h.allSettled,race:h.race,any:h.any,setTimeout:globalThis.setTimeout,setInterval:globalThis.setInterval,setImmediate:globalThis.setImmediate,requestAnimationFrame:globalThis.requestAnimationFrame,queueMicrotask:globalThis.queueMicrotask},globalThis[f]=u,globalThis[l]=h),u.allSettled||(u.allSettled=h.allSettled),u.any||(u.any=h.any),u.race||(u.race=h.race),Object.assign(p,h),p.prototype=h.prototype,p.resolve=function(e){const t=u.resolve.call(h,e),n=o();return n.size>0&&!r.has(t)&&r.set(t,n),t},p.reject=function(e){const t=u.reject.call(h,e),n=o();return n.size>0&&r.set(t,n),t},p.all=function(e){const t=u.all.call(h,e),n=o();return n.size>0&&r.set(t,n),t},p.allSettled=function(e){const t=u.allSettled.call(h,e),n=o();return n.size>0&&r.set(t,n),t},p.race=function(e){const t=u.race.call(h,e),n=o();return n.size>0&&r.set(t,n),t},p.any=function(e){const t=u.any.call(h,e),n=o();return n.size>0&&r.set(t,n),t},h.prototype.then!==d&&(h.prototype.then=d,h.prototype.catch=function(e){const t=r.get(this)||o(),n=u.catch.call(this,s(e,t));return t.size>0&&r.set(n,t),n},h.prototype.finally=function(e){const t=r.get(this)||o(),n=u.finally.call(this,s(e,t));return t.size>0&&r.set(n,t),n});try{Object.defineProperty(h,Symbol.species,{get:()=>p,configurable:!0})}catch(e){}globalThis.Promise=p,globalThis.setTimeout=(e,...t)=>u.setTimeout.call(globalThis,s(e),...t),globalThis.setInterval=(e,...t)=>u.setInterval.call(globalThis,s(e),...t),u.setImmediate&&(globalThis.setImmediate=(e,...t)=>u.setImmediate.call(globalThis,s(e),...t)),u.requestAnimationFrame&&(globalThis.requestAnimationFrame=e=>u.requestAnimationFrame.call(globalThis,s(e))),u.queueMicrotask&&(globalThis.queueMicrotask=e=>{u.queueMicrotask.call(globalThis,s(e))});const g=new Set([Object,Array,Date,Function,Set,Map,WeakMap,WeakSet,Promise,Error,TypeError,ReferenceError,SyntaxError,RangeError,URIError,EvalError,Reflect,Proxy,RegExp,String,Number,Boolean]);function y(e){return e&&"function"==typeof e&&(g.has(e)||e.toString?.().startsWith("class "))}function m(e,t){return Object.defineProperties(e,{name:{value:t}})}const b={get:(e,t,n)=>"undefined"!=typeof Node&&e instanceof Node?e[t]:Reflect.get(e,t,n),set:(e,t,n,r)=>"undefined"!=typeof Node&&e instanceof Node?(e[t]=n,!0):e instanceof Object||Reflect.has(e,t)?Reflect.set(e,t,n,r):(Object.defineProperty(e,t,{value:n,configurable:!0,writable:!0,enumerable:!0}),!0)};function w(e,t){const n=Object.getOwnPropertyDescriptor(e,t);return!(!n?.get&&!n?.set)}function v(e,t,n=new Map){if(e===t)return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return e===t;if(Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;let r=n.get(e);if(r?.has(t))return!0;if(r||(r=new Set,n.set(e,r)),r.add(t),Array.isArray(e)){if(!Array.isArray(t))return!1;if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!v(e[r],t[r],n))return!1;return!0}if(e instanceof Date){const n=t instanceof Date&&e.getTime()===t.getTime();return n}if(e instanceof RegExp){const n=t instanceof RegExp&&e.toString()===t.toString();return n}if(e instanceof Set){if(!(t instanceof Set)||e.size!==t.size)return!1;for(const r of e){let e=!1;for(const o of t)if(v(r,o,n)){e=!0;break}if(!e)return!1}return!0}if(e instanceof Map){if(!(t instanceof Map)||e.size!==t.size)return!1;for(const[r,o]of e)if(t.has(r)){if(!v(o,t.get(r),n))return!1}else{let e=!1;for(const[s,i]of t)if(v(r,s,n)&&v(o,i,n)){e=!0;break}if(!e)return!1}return!0}const o=Object.keys(e),s=Object.keys(t);if(o.length!==s.length)return!1;for(const r of o){if(!Object.hasOwn(t,r))return!1;if(!v(e[r],t[r],n))return!1}return!0}const S=new WeakMap;function k(e){return S.has(e)||S.set(e,Object.seal(Object.create(null,{contentOf:{value:e,writable:!1,configurable:!1}}))),S.get(e)}function j(e,t){return Object.defineProperties(t,{[Symbol.toStringTag]:{value:e,writable:!1,configurable:!1},toString:{value:()=>e,writable:!1,configurable:!1}}),t}function M(e,t){return Object.defineProperty(t,"name",{value:t.name?`${t.name}::${e}`:e,writable:!1,configurable:!1}),t}class O extends Error{constructor(e){super(e),this.name="DecoratorException"}}function E(e){return function(t,n,r,...o){if(void 0===n){if(y(t)){if(!("class"in e))throw new Error("Decorator cannot be applied to a class");return e.class(t)}}else if("object"==typeof t&&["string","symbol"].includes(typeof n)){if(!r)throw new Error("Decorator cannot be applied to a field");if("object"==typeof r&&"configurable"in r){if("get"in r||"set"in r){if(!("getter"in e)&&!("setter"in e))throw new Error("Decorator cannot be applied to a getter or setter");if("getter"in e){const o=e.getter(r.get,t,n);o&&(r.get=o)}if("setter"in e){const o=e.setter(r.set,t,n);o&&(r.set=o)}return r}if("function"==typeof r.value){if(!("method"in e))throw new Error("Decorator cannot be applied to a method");const o=e.method(r.value,t,n);return o&&(r.value=o),r}}}if(!("default"in e))throw new Error("Decorator do not have a default implementation");return e.default.call(this,t,n,r,...o)}}function x(e){return function(t,n,...r){if(!n?.kind||"string"!=typeof n.kind){if(!("default"in e))throw new Error("Decorator do not have a default implementation");return e.default.call(this,t,n,...r)}switch(n.kind){case"class":if(!("class"in e))throw new Error("Decorator cannot be applied to a class");return e.class(t);case"field":throw new Error("Decorator cannot be applied to a field");case"getter":if(!("getter"in e))throw new Error("Decorator cannot be applied to a getter");return e.getter(t,t,n.name);case"setter":if(!("setter"in e))throw new Error("Decorator cannot be applied to a setter");return e.setter(t,t,n.name);case"method":if(!("method"in e))throw new Error("Decorator cannot be applied to a method");return e.method(t,t,n.name);case"accessor":{if(!("getter"in e)&&!("setter"in e))throw new Error("Decorator cannot be applied to a getter or setter");const r={};if("getter"in e){const o=e.getter(t.get,t,n.name);o&&(r.get=o)}if("setter"in e){const o=e.setter(t.set,t,n.name);o&&(r.set=o)}return r}}}}const R=e=>{const t=x(e),n=E(e);return(e,r,...o)=>{const s=function(e,t){return"object"==typeof t&&null!==t&&"string"==typeof t.kind?"modern":"legacy"}(0,r,o[0]);return"modern"===s?t(e,r,...o):n(e,r,...o)}},T=new FinalizationRegistry(e=>e()),D=Symbol("destructor"),P=Symbol("allocated");class A extends Error{static throw(e){return()=>{throw new A(e)}}constructor(e){super(`Object is destroyed. ${e}`),this.name="DestroyedAccessError"}}const W={[Symbol.toStringTag]:"MutTs Destroyable",get:A.throw("Cannot access destroyed object"),set:A.throw("Cannot access destroyed object")};const $=R({setter:(e,t,n)=>function(t){return this[P][n]=t,e.call(this,t)}});function z(e,t,n,r,o,s){function i(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var c,a=r.kind,f="getter"===a?"get":"setter"===a?"set":"value",l=!t&&e?r.static?e:e.prototype:null,u=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),h=!1,d=n.length-1;d>=0;d--){var p={};for(var g in r)p[g]="access"===g?{}:r[g];for(var g in r.access)p.access[g]=r.access[g];p.addInitializer=function(e){if(h)throw new TypeError("Cannot add initializers after decoration has completed");s.push(i(e||null))};var y=(0,n[d])("accessor"===a?{get:u.get,set:u.set}:u[f],p);if("accessor"===a){if(void 0===y)continue;if(null===y||"object"!=typeof y)throw new TypeError("Object expected");(c=i(y.get))&&(u.get=c),(c=i(y.set))&&(u.set=c),(c=i(y.init))&&o.unshift(c)}else(c=i(y))&&("field"===a?o.unshift(c):u[f]=c)}l&&Object.defineProperty(l,r.name,u),h=!0}function I(e,t,n){for(var r=arguments.length>2,o=0;o<t.length;o++)n=r?t[o].call(e,n):t[o].call(e);return r?n:void 0}function C(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)}function N(e,t,n,r,o){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?o.call(e,n):o?o.value=n:t.set(e,n),n}var K,L;"function"==typeof SuppressedError&&SuppressedError;K=new WeakMap,L=new WeakMap;const q=Symbol("getAt"),H=Symbol("setAt");function _(e,t){e&&"function"!=typeof e&&(t=e,e=void 0),e||(e=class{}),t||(t={get(e){if("function"!=typeof this[q])throw new Error("Indexable class must have an [getAt] method");return this[q](e)},set(e,t){if("function"!=typeof this[H])throw new Error("Indexable class has read-only numeric index access");this[H](e,t)}});class n extends e{}return Object.setPrototypeOf(n.prototype,new Proxy(e.prototype,{[Symbol.toStringTag]:"MutTs Indexable",get(e,n,r){if(n in e){const t=Object.getOwnPropertyDescriptor(e,n)?.get;return t?t.call(r):e[n]}if("string"==typeof n){if("length"===n&&t.getLength)return t.getLength.call(r);const e=Number(n);if(!Number.isNaN(e))return t.get.call(r,e)}},set(e,n,r,o){if(n in e){const t=Object.getOwnPropertyDescriptor(e,n)?.set;return t?t.call(o,r):e[n]=r,!0}if("string"==typeof n){if("length"===n&&t.setLength)return t.setLength.call(o,r),!0;const e=Number(n);if(!Number.isNaN(e)){if(!t.set)throw new Error("Indexable class has read-only numeric index access");return t.set.call(o,e,r),!0}}return Object.defineProperty(o,n,{value:r,writable:!0,enumerable:!0,configurable:!0}),!0},has(e,n){if(n in e)return!0;if("string"==typeof n){if("length"===n&&t.getLength)return!0;const e=Number(n);if(!Number.isNaN(e))return!0}return!1},ownKeys(e){const n=Reflect.ownKeys(e);if(t.getLength){n.push("length");const e=t.getLength.call(this);for(let t=0;t<e;t++)n.push(String(t))}return n},getOwnPropertyDescriptor(e,n){if(n in e)return Object.getOwnPropertyDescriptor(e,n);if("string"==typeof n){if("length"===n&&t.getLength)return{enumerable:!1,configurable:!0,get:()=>t.getLength.call(this)};const e=Number(n);if(!Number.isNaN(e))return{enumerable:!0,configurable:!0,get:()=>t.get.call(this,e),set:t.set?n=>t.set.call(this,e,n):void 0}}}})),n}const V=Symbol("forwardArray");class F{get[V](){throw new Error("ArrayReadForward is not implemented")}get length(){return this[V].length}[Symbol.iterator](){return this[V][Symbol.iterator]()}map(e,t){return this[V].map(e,t)}filter(e,t){return this[V].filter(e,t)}reduce(e,t){return void 0!==t?this[V].reduce(e,t):this[V].reduce(e)}reduceRight(e,t){return void 0!==t?this[V].reduceRight(e,t):this[V].reduceRight(e)}forEach(e,t){this[V].forEach(e,t)}find(e,t){return this[V].find(e,t)}findIndex(e,t){return this[V].findIndex(e,t)}findLast(e,t){return this[V].findLast(e,t)}findLastIndex(e,t){return this[V].findLastIndex(e,t)}includes(e,t){return this[V].includes(e,t)}indexOf(e,t){return this[V].indexOf(e,t)}lastIndexOf(e,t){return this[V].lastIndexOf(e,t)}slice(e,t){return this[V].slice(e,t)}concat(...e){return this[V].concat(...e)}every(e,t){return this[V].every(e,t)}some(e,t){return this[V].some(e,t)}join(e){return this[V].join(e)}keys(){return this[V].keys()}values(){return this[V].values()}entries(){return this[V].entries()}toString(){return this[V].toString()}toLocaleString(e,t){return this[V].toLocaleString(e,t)}at(e){return this[V].at(e)}flat(e){return this[V].flat(e)}flatMap(e,t){return this[V].flatMap(e,t)}toReversed(){return this[V].toReversed?.()??[...this[V]].reverse()}toSorted(e){return this[V].toSorted?.(e)??[...this[V]].sort(e)}toSpliced(e,t,...n){return void 0===t?this[V].toSpliced(e):this[V].toSpliced(e,t,...n)}with(e,t){return this[V].with(e,t)}get[Symbol.unscopables](){return this[V][Symbol.unscopables]}}var B,U;class X{constructor(e){if(this.uuids=new WeakMap,this.refs={},this[B]="IterableWeakMap",this.registry=new FinalizationRegistry(e=>{delete this.refs[e]}),e)for(const[t,n]of e)this.set(t,n)}createIterator(e){const{refs:t}=this;return function*(){for(const n of Object.keys(t)){const[r,o]=t[n],s=r.deref();s?yield e(s,o):delete t[n]}}()}clear(){for(const e of Object.keys(this.refs)){const t=this.refs[e][0].deref();t&&this.registry.unregister(t)}this.uuids=new WeakMap,this.refs={}}delete(e){const t=this.uuids.get(e);return!!t&&(delete this.refs[t],this.uuids.delete(e),this.registry.unregister(e),!0)}forEach(e,t){for(const[n,r]of this)e.call(t??this,r,n,t??this)}get(e){const t=this.uuids.get(e);if(t)return this.refs[t][1]}has(e){return this.uuids.has(e)}set(e,t){let n=this.uuids.get(e);return n?this.refs[n][1]=t:(n=crypto.randomUUID(),this.uuids.set(e,n),this.refs[n]=[new WeakRef(e),t],this.registry.register(e,n,e)),this}get size(){return[...this].length}entries(){return this.createIterator((e,t)=>[e,t])}keys(){return this.createIterator((e,t)=>e)}values(){return this.createIterator((e,t)=>t)}[Symbol.iterator](){return this.entries()}}B=Symbol.toStringTag;class Z{constructor(e){if(this.uuids=new WeakMap,this.refs={},this[U]="IterableWeakSet",this.registry=new FinalizationRegistry(e=>{delete this.refs[e]}),e)for(const t of e)this.add(t)}createIterator(e){const{refs:t}=this;return function*(){for(const n of Object.keys(t)){const r=t[n].deref();r?yield e(r):delete t[n]}}()}clear(){for(const e of Object.keys(this.refs)){const t=this.refs[e].deref();t&&this.registry.unregister(t)}this.uuids=new WeakMap,this.refs={}}add(e){let t=this.uuids.get(e);return t||(t=crypto.randomUUID(),this.uuids.set(e,t),this.refs[t]=new WeakRef(e),this.registry.register(e,t,e)),this}delete(e){const t=this.uuids.get(e);return!!t&&(delete this.refs[t],this.uuids.delete(e),this.registry.unregister(e),!0)}forEach(e,t){for(const n of this)e.call(t??this,n,n,t??this)}has(e){return this.uuids.has(e)}get size(){return[...this].length}entries(){return this.createIterator(e=>[e,e])}keys(){return this.createIterator(e=>e)}values(){return this.createIterator(e=>e)}[Symbol.iterator](){return this.keys()}union(e){const t={[Symbol.iterator]:()=>e.keys()},n=this;return new Set(function*(){yield*n;for(const e of t)n.has(e)||(yield e)}())}intersection(e){const t=this;return new Set(function*(){for(const n of t)e.has(n)&&(yield n)}())}difference(e){const t=this;return new Set(function*(){for(const n of t)e.has(n)||(yield n)}())}symmetricDifference(e){const t={[Symbol.iterator]:()=>e.keys()},n=this;return new Set(function*(){for(const t of n)e.has(t)||(yield t);for(const e of t)n.has(e)||(yield e)}())}isSubsetOf(e){for(const t of this)if(!e.has(t))return!1;return!0}isSupersetOf(e){const t={[Symbol.iterator]:()=>e.keys()};for(const e of t)if(!this.has(e))return!1;return!0}isDisjointFrom(e){for(const t of this)if(e.has(t))return!1;return!0}}function G(e,t){const n=new WeakMap,r=e(Object);return n.set(Object,r),new Proxy(r,{apply(r,o,s){if(0===s.length)throw new Error("Mixin requires a base class");const i=s[0];if("function"!=typeof i)throw new Error("Mixin requires a constructor function");if(!(y(i)||i&&"function"==typeof i&&i.prototype))throw new Error("Mixin requires a valid constructor");const c=n.get(i);if(c)return c;let a=i;if(t){const e=class extends i{},n=i.prototype,r=new Proxy(n,{get(e,n,r){const o=b.get(e,n,r);return"function"!=typeof o||"string"!=typeof n||["constructor","toString","valueOf"].includes(n)?o:function(...e){const n=t(this);return o.apply(n,e)}}});Object.setPrototypeOf(e.prototype,r),a=e}const f=e(a);return n.set(i,f),f}})}U=Symbol.toStringTag;const J=(e,t)=>(...n)=>t[e](...n),Y=new WeakMap,Q=new WeakMap;function ee(e,t){Q.set(t,e),Y.set(e,t)}const te={[Symbol.toStringTag]:"MutTs PromiseChain function",get:(e,t)=>t===Symbol.toStringTag?"PromiseProxy":"string"==typeof t&&["then","catch","finally"].includes(t)?e[t]:ie(e.then(e=>e[t]))},ne=e=>({then:J("then",e),catch:J("catch",e),finally:J("finally",e)}),re={[Symbol.toStringTag]:"MutTs PromiseChain object",get(e,t,n){const r=Object.getOwnPropertyDescriptor(e,t)?.get,o=r?r.call(n):e[t];return"function"==typeof e?o:ie(o)},apply:(e,t,n)=>ie(e.apply(t,n))};function oe(e){const t=new Proxy(e,re);return ee(e,t),t}function se(e){return e&&["function","object"].includes(typeof e)}function ie(e){if(!se(e))return e;if(Y.has(e))return Y.get(e);if(!(e instanceof Promise))return oe(e);e=e.then(e=>se(e)?oe(e):e);const t=Object.assign(function(...t){return ie(e.then(e=>this?.then?this.then(n=>e.apply(n,t)):e.apply(this,t)))},ne(e)),n=new Proxy(t,te);return ee(e,n),n}const ce=Symbol("native-reactive"),ae=Symbol("non-reactive"),fe=Symbol("unreactive-properties"),le=Symbol("all-props"),ue=Symbol("projection-info"),he=Symbol("stopped"),de=Symbol("cleanup"),pe=Symbol("root-function");var ge;e.ReactiveErrorCode=void 0,(ge=e.ReactiveErrorCode||(e.ReactiveErrorCode={})).CycleDetected="CYCLE_DETECTED",ge.MaxDepthExceeded="MAX_DEPTH_EXCEEDED",ge.MaxReactionExceeded="MAX_REACTION_EXCEEDED",ge.WriteInComputed="WRITE_IN_COMPUTED",ge.TrackingError="TRACKING_ERROR",ge.BrokenEffects="BROKEN_EFFECTS";class ye extends Error{constructor(e,t){super(e),this.debugInfo=t,this.name="ReactiveError"}get code(){return this.debugInfo?.code}get cause(){return this.debugInfo?.cause}}const me={enter:e=>{},leave:e=>{},chain:(e,t)=>{},beginChain:e=>{},endChain:()=>{},garbageCollected:e=>{},touched:(e,t,n,r)=>{},skipRunningEffect:e=>{},maxEffectChain:100,maxTriggerPerBatch:10,maxEffectReaction:"throw",onMemoizationDiscrepancy:void 0,cycleHandling:"none",isVerificationRun:!1,maxDeepWatchDepth:100,instanceMembers:!0,ignoreAccessors:!0,recursiveTouching:!0,asyncMode:"cancel",warn:(...e)=>{},introspection:{enableHistory:!1,historySize:50},zones:{setTimeout:!0,setInterval:!0,requestAnimationFrame:!0,queueMicrotask:!0}},be=new WeakMap,we=new WeakMap,ve=new WeakMap,Se=new WeakMap,ke=new WeakMap;function je(e,t){const n=ke.get(t),r=n?.deref();if(r&&r!==e){const n=t.name||"anonymous",o=r.name||"anonymous",s=e.name||"anonymous";throw new Error(`[reactive] Abusive Shared Root detected: Root '${n}' is already identifying function '${o}'. Cannot reuse it for '${s}'. Shared roots cause lost updates and broken identity logic.`)}return ke.set(t,new WeakRef(e)),Object.defineProperty(e,pe,{value:Me(t),writable:!1})}function Me(e){for(;e&&pe in e;)e=e[pe];return e}const Oe=Symbol("external-source");let Ee=!1;const xe=new Set,Re=new Set,Te=new WeakMap,De=new WeakMap;let Pe=0,Ae=0;const We=new Map;function $e(e){let t=Te.get(e);if(!t){const n=Me(e);t=n?.name?.trim()||"effect_"+ ++Pe,Te.set(e,t)}return t}function ze(e){let t=De.get(e);if(!t){const n=e?.constructor?.name;t=`${n&&"Object"!==n?n:"object"}_${++Ae}`,De.set(e,t)}return t}function Ie(e){if(!e||xe.has(e))return;xe.add(e);const t=be.get(e);if(t)for(const e of t)Ce(e)}function Ce(e){Re.has(e)||function(e){Re.add(e),ze(e)}(e)}function Ne(e,t,n,r,o,s){const i=function(e){let t=We.get(e);return t||(t=new Map,We.set(e,t)),t}(e);let c=i.get(t);c||(c=new Map,i.set(t,c));let a=c.get(n);return a||(a={label:n,object:r,prop:o,evolution:s,count:0,lastTriggered:Date.now()},c.set(n,a)),a}function Ke(e,t){Te.set(e,t)}function Le(e,t){De.set(e,t),Re.add(e)}function qe(e){e&&Ee&&Ie(e)}function He(e){Ee&&Ce(e)}function _e(e,t,n,r,o){if(me.introspection.enableHistory&&function(e,t,n,r,o){const s={id:++Xe,timestamp:Date.now(),source:e?$e(e):"External",target:$e(t),objectName:ze(n),prop:String(r),type:o.type};Ue.push(s),Ue.length>me.introspection.historySize&&Ue.shift()}(e,t,n,r,o),!Ee)return;Ie(t),e&&Ie(e);const s=function(e,t){const n=ze(e);return t===le?`${n}.*`:"symbol"==typeof t?`${n}.${t.description??t.toString()}`:`${n}.${String(t)}`}(n,r),i=Ne(e??Oe,t,s,n,r,o);i.count+=1,i.lastTriggered=Date.now(),Ce(n)}function Ve(e,t=5){const n=[];let r=e;for(let e=0;e<t;e++){let e,t="";e:for(const[n,o]of We)for(const[s,i]of o)if(s===r){let r=0;for(const o of i.values())o.lastTriggered>r&&(r=o.lastTriggered,t=o.label,e=n===Oe?void 0:n);if(e||t)break e}if(!e){if(t){n.push(`External -> (${t}) -> ${$e(r)}`);break}break}n.push(`${$e(e)} -> (${t}) -> ${$e(r)}`),r=e}return n.reverse()}function Fe(){const e=[],t=[],n=new Map,r=new Set(xe);!function(e){const t=Array.from(e);for(let n=0;n<t.length;n++){const r=t[n],o=Se.get(r);o&&!e.has(o)&&(e.add(o),t.push(o))}}(r);const{nodes:o,nodeByEffect:s}=function(e){const t=[],n=new Map,r=Array.from(e);for(const e of r){const r=$e(e),o={id:`effect_${t.length}`,label:r,type:"effect",depth:0,debugName:r};t.push(o),n.set(e,o)}const o=new Map,s=e=>{if(!e)return 0;const t=o.get(e);if(void 0!==t)return t;const n=Se.get(e),r=s(n)+(n?1:0);return o.set(e,r),r};for(const[e,t]of n){t.depth=s(e);const r=Se.get(e);if(r){const e=n.get(r);e&&(t.parentId=e.id)}}return{nodes:t,nodeByEffect:n}}(r);for(const t of o)e.push(t);for(const[e,t]of s)n.set(e,t.id);for(const t of Re){const r=`object_${e.length}`;e.push({id:r,label:ze(t),type:"state",debugName:De.get(t)}),n.set(t,r)}if(We.has(Oe)){const t="effect_external";e.push({id:t,label:"External",type:"external",depth:0}),n.set(Oe,t)}for(const e of r){const r=n.get(e);if(!r)continue;const o=be.get(e);if(o)for(const e of o){const o=n.get(e);o&&t.push({id:`${r}->${o}`,source:r,target:o,type:"dependency",label:"depends"})}}for(const[e,r]of We)for(const[o,s]of r){const r=n.get(o);if(!r)continue;const i=n.get(e);if(i)for(const e of s.values())t.push({id:`${i}->${r}:${e.label}`,source:i,target:r,type:"cause",label:e.count>1?`${e.label} (${e.count})`:e.label,count:e.count})}return{nodes:e,edges:t,meta:{generatedAt:Date.now(),devtoolsEnabled:Ee}}}function Be(){return Ee}const Ue=[];let Xe=0;var Ze;function Ge(e){return e}class Je{enter(e){const t=this.active;return this.active=e,t}leave(e){this.active=e}with(e,n){const r=this.enter(e);let o;try{o=n()}finally{this.leave(r)}return t.sanitizePromise(o)}root(e){let t=this.enter();try{return e()}finally{this.leave(t)}}get zoned(){const e=this.active;return M(`${this}@${e}`,t=>this.with(e,t))}}class Ye extends Je{}class Qe extends Je{has(e){return this.history.has(e)}some(e){for(const t of this.history)if(e(t))return!0;return!1}constructor(e=new Ye){super(),this.controlled=e,this.history=new Set;const t=this;this.present=Object.create(e,Object.getOwnPropertyDescriptors({get active(){return e.active},set active(t){e.active=t},enter(n){if(n&&t.history.has(n))throw new Error("ZoneHistory: re-entering historical zone");return void 0!==n&&t.history.add(n),{added:n,entered:e.enter(n)}},leave:n=>(void 0!==n.added&&t.history.delete(n.added),e.leave(n.entered))}))}get active(){return{present:this.controlled.active,history:new Set(this.history)}}set active(e){this.history=this.history&&new Set(this.history),this.controlled.active=e?.present}}class et extends Je{constructor(...e){super(),Ze.set(this,new Set);for(const t of e)C(this,Ze,"f").add(t)}get active(){const e=new Map;for(const t of C(this,Ze,"f"))void 0!==t.active&&e.set(t,t.active);return e}set active(e){for(const t of C(this,Ze,"f"))t.active=e?.get(t)}enter(e){const t=new Map;for(const n of C(this,Ze,"f")){const r=e?.get(n);t.set(n,Ge(n).enter(r))}return t}leave(e){for(const t of C(this,Ze,"f"))Ge(t).leave(e.get(t))}add(e){C(this,Ze,"f").add(e)}delete(e){C(this,Ze,"f").delete(e)}clear(){C(this,Ze,"f").clear()}}Ze=new WeakMap;const tt=j("async",new et);t.addHook(()=>{const e=tt.active;return()=>{const t=tt.active;return tt.active=e,()=>tt.active=t}});const nt=j("effectHistory",new Qe);j("effectHistory.present",nt.present),tt.add(nt);const rt=j("effectAggregator",new et(nt.present));function ot(e){const t=Me(e);return nt.some(e=>Me(e)===t)}function st(){return nt.present.active}const it=new WeakMap,ct=new WeakMap;function at(e){let t=e;for(;t&&"object"==typeof t&&null!==t&&ct.has(t);)t=ct.get(t);return t}function ft(e){const t=new Map;for(let n=0;n<e.length;n++){const r=e[n];if(t.has(r))return e.slice(t.get(r));t.set(r,n)}return null}function lt(e,t=20){const n=e.map(e=>e.name||"<anonymous>");if(n.length<=t)return n.join(" → ");const r=n.slice(0,5),o=n.slice(-10);return`${r.join(" → ")} ... (${n.length-15} more) ... ${o.join(" → ")}`}let ut;const ht=new Array(100);function dt(t,n,r,o){const s=Me(t);if(!ut)return;let i=ut.get(s);i||(i=new Map,ut.set(s,i));let c=i.get(n);c||(c=new Map,i.set(n,c));const a=(c.get(o)??0)+1;if(c.set(o,a),ht.unshift({effect:t,obj:n,evolution:r,prop:o}),ht.pop(),a>=me.maxTriggerPerBatch){const t=s?.name||"anonymous",n=`Aggressive trigger detected: effect "${t}" triggered ${a} times in the batch by the same cause.`;if("throw"===me.maxEffectReaction)throw new ye(n,{code:e.ReactiveErrorCode.MaxReactionExceeded,count:a,effect:t});me.warn(`[reactive] ${n}`)}}const pt=new WeakMap,gt=new WeakSet,yt=new WeakMap,mt=new WeakMap,bt=new WeakMap,wt=new WeakMap,vt=new WeakMap;function St(e,t){let n=e.get(t);return n||(n=new Z,e.set(t,n)),n}function kt(e,t,n){if(e===t)return!0;if(e===n)return!1;const r=new Set,o=[e];for(r.add(e),r.add(n);o.length>0;){const e=o.shift(),n=yt.get(e);if(n)for(const e of n){if(e===t)return!0;r.has(e)||(r.add(e),o.push(e))}}return!1}let jt;function Mt(e){return jt?.all.has(Me(e))}const Ot=new Set;function Et(e,t,n=new Set,r=[]){if(e===t)return[...r,t];if(n.has(e))return[];n.add(e);const o=[...r,e],s=yt.get(e);if(s)for(const e of s){const r=Et(e,t,n,o);if(r.length>0)return r}return[]}function xt(e,t){const n=Et(t,e);return n.length>0?[e,...n]:[]}function Rt(t,n,r){if(t[de]?.(),t[he])return;if(!jt)return;const o=Me(t);if("none"===me.cycleHandling&&jt.all.has(o)&&jt.all.delete(o),jt.all.set(o,t),n&&!r&&"none"!==me.cycleHandling){const r=Me(n);if(function(e,t){if(e===t)return!1;const n=wt.get(t);return!!n?.has(e)}(r,o)){const n=xt(r,o),s=n.length>0?`Cycle detected: ${n.map(e=>e.name||e.toString()).join(" → ")}`:`Cycle detected: ${r.name||r.toString()} → ${o.name||o.toString()} (and back)`,i=me.cycleHandling;if("strict"===i){jt.all.delete(o);const r=Ve(t),i=vt.get(o);throw new ye(`[reactive] Strict Cycle Prevention: ${s}`,{code:e.ReactiveErrorCode.CycleDetected,cycle:n.map(e=>e.name||e.toString()),details:s,causalChain:r,creationStack:i})}switch(i){case"throw":{jt.all.delete(o);const r=Ve(t),i=vt.get(o);throw new ye(`[reactive] ${s}`,{code:e.ReactiveErrorCode.CycleDetected,cycle:n.map(e=>e.name||e.toString()),details:s,causalChain:r,creationStack:i})}case"warn":return me.warn(`[reactive] ${s}`),void jt.all.delete(o);case"break":return void jt.all.delete(o)}}!function(e,t){if("none"===me.cycleHandling)return;const n=yt.get(e);if(n?.has(t))return;if(n)n.add(t);else{const n=new Z;n.add(t),yt.set(e,n)}let r=mt.get(t);if(r||(r=new Z,mt.set(t,r)),r.add(e),e===t)return;const o=St(wt,e),s=St(bt,t);o.add(t),s.add(e);const i=bt.get(e);if(i)for(const e of i)e!==t&&(St(wt,e).add(t),s.add(e));const c=wt.get(t);if(c)for(const t of c)t!==e&&(St(bt,t).add(e),o.add(t));if(i&&c)for(const e of i){const t=St(wt,e);for(const n of c)e!==n&&(t.add(n),St(bt,n).add(e))}}(r,o)}}function Tt(e){jt?Ot.add(e):e()}const Dt=Tt;function Pt(e,t,n,r,o){if(n.has(e)){const t=r.indexOf(e);return r.slice(t).concat([e])}if(t.has(e))return[];t.add(e),n.add(e),r.push(e);const s=yt.get(e);if(s)for(const e of s)if(o.all.has(e)){const s=Pt(e,t,n,r,o);if(s.length>0)return s}return r.pop(),n.delete(e),[]}function At(e){let t=null,n=null;if("none"===me.cycleHandling){const e=jt.all.entries().next().value;e&&([n,t]=e)}else for(const[e,r]of jt.all){if(0===(jt.inDegrees.get(e)??0)){t=r,n=e;break}}if(!t){if(jt.all.size>0){let e=function(e){const t=new Set,n=new Set,r=[];for(const[o]of e.all){if(t.has(o))continue;const s=Pt(o,t,n,r,e);if(s.length>0)return s}return[]}(jt);if(0===e.length)for(const[t]of jt.all){const n=wt.get(t);if(n){for(const r of n)if(r!==t&&jt.all.has(r)){const n=wt.get(r);if(n?.has(t)){e=[t,r,t];break}}if(e.length>0)break}}const t=e.length>0?`Cycle detected: ${e.map(e=>e.name||"<anonymous>").join(" → ")}`:"Cycle detected in effect batch - all effects have dependencies that prevent execution";switch(me.cycleHandling){case"throw":throw new ye(`[reactive] ${t}`);case"warn":{me.warn(`[reactive] ${t}`);const e=jt.all.values().next().value;if(e){const t=Me(e);return jt.all.delete(t),jt.inDegrees.delete(t),e()}break}case"break":{const e=jt.all.values().next().value;if(e){const t=Me(e);return jt.all.delete(t),jt.inDegrees.delete(t),e()}break}}}return null}e.push(Me(t));const r=t();return jt.all.delete(n),jt.inDegrees.delete(n),function(e,t){const n=wt.get(t);if(n)for(const t of n)if(e.all.has(t)){const n=e.inDegrees.get(t)??0;n>0&&e.inDegrees.set(t,n-1)}}(jt,n),r}function Wt(t,n){Array.isArray(t)||(t=[t]);const r=t.map(Me);if(jt){me?.chain(r,Me(st()));const e=st();for(let r=0;r<t.length;r++)Rt(t[r],e,"immediate"===n);if(n){const e={};for(let n=0;n<t.length;n++)try{const r=t[n]();void 0===r||"value"in e||(e.value=r)}finally{const e=Me(t[n]);jt.all.delete(e)}return e.value}}else{if(ut)throw new Error("Batch already in progress");ut=new Map,me.beginChain(r),jt={all:new Map,inDegrees:new Map};const o=st(),s=[],i={};try{if(n)for(let e=0;e<t.length;e++)try{const n=t[e]();void 0===n||"value"in i||(i.value=n)}finally{jt.all.delete(Me(t[e]))}else{for(let e=0;e<t.length;e++)Rt(t[e],o,!1);!function(e){if("none"===me.cycleHandling)return;const t=st(),n=t?Me(t):null;e.inDegrees.clear();for(const[t]of e.all){let r=0;const o=bt.get(t);if(o)for(const s of o)e.all.has(s)&&s!==n&&s!==t&&r++;e.inDegrees.set(t,r)}}(jt)}for(;jt.all.size>0||Ot.size>0;)if(jt.all.size>0){if(s.length>me.maxEffectChain){const t=ft(s),n=lt(s),r=t?`Max effect chain reached (cycle detected: ${lt(t)})`:`Max effect chain reached (trace: ${n})`,o=(jt?Array.from(jt.all.keys()):[]).map(e=>e.name||"<anonymous>"),i={code:e.ReactiveErrorCode.MaxDepthExceeded,effectuatedRoots:s,cycle:t,trace:n,maxEffectChain:me.maxEffectChain,queued:o.slice(0,50),queuedCount:o.length,causalChain:s.length>0?Ve(jt.all.get(s[s.length-1])):[]};switch(me.maxEffectReaction){case"throw":case"debug":throw new ye(`[reactive] ${r}`,i);case"warn":me.warn(`[reactive] ${r} (queued: ${o.slice(0,10).join(", ")}${o.length>10?", …":""})`)}}const t=At(s);void 0===t||"value"in i||(i.value=t)}else{const e=Array.from(Ot);Ot.clear();for(const t of e)t()}return i.value}catch(t){throw t instanceof ye?t:new ye("Effects are broken",{code:e.ReactiveErrorCode.BrokenEffects,cause:t})}finally{ut=void 0,jt=void 0,me.endChain()}}}const $t=R({method:e=>function(...t){const n=()=>e.apply(this,t);return Object.defineProperty(n,"name",{value:`atomic(${e.name})`}),Wt(n,"immediate")},default:e=>function(...t){const n=()=>e.apply(this,t);return Object.defineProperty(n,"name",{value:`atomic(${e.name})`}),Wt(n,"immediate")}}),zt=new FinalizationRegistry(e=>e());function It(e,t){const n=t?.asyncMode??me.asyncMode??"cancel";if(me.introspection.enableHistory){const t=(new Error).stack;if(t){const n=t.split("\n").slice(2).join("\n");vt.set(Me(e),n)}}let r=null;const o=nt.present.with(u,()=>rt.zoned),s=nt.zoned;let i=nt.present.active,c=!1,a=!1,f=null,l=null;function u(){if(r){const e=r;r=null,Ct(()=>e())}if(f)if("cancel"===n&&l)l(),l=null,f=null;else if("ignore"===n)return;if(c)return;let t,i;me.enter(Me(e));try{if(i=o(()=>e({tracked:o,ascend:s,reaction:a})),i&&"function"!=typeof i&&("object"!=typeof i||!("then"in i)))throw new ye(`[reactive] Effect returned a non-function value: ${i}`);if(i&&"object"==typeof i&&"function"==typeof i.then){const e=i;let t=null;const n=new Promise((e,n)=>{t=n}),r=new ye("[reactive] Effect canceled due to dependency change");f=Promise.race([e,n]),l=()=>{t&&t(r)}}else t=i}finally{a=!0,me.leave(e)}r=()=>{r=null,t?.();const e=be.get(u);if(e){for(const t of e){const e=we.get(t);if(e){for(const[t,n]of e.entries())n.delete(u),0===n.size&&e.delete(t);0===e.size&&we.delete(t)}}be.delete(u)}const n=ve.get(u);if(n){for(const e of n)e();ve.delete(u)}}}function h(e){return Object.defineProperties(e,{[he]:{get:()=>c},[de]:{value:()=>{if(r){const e=r;r=null,Ct(()=>e())}}}})}je(u,e),h(u),t?.opaque&&gt.add(u),Be()&&qe(u),Wt(u,"immediate"),Se.set(u,i);const d=()=>{c||(c=!0,l&&(l(),l=null,f=null),r?.(),function(e){if("none"===me.cycleHandling)return;const t=Me(e),n=bt.get(t),r=wt.get(t),o=yt.get(t);if(o){for(const e of o){const n=mt.get(e);n?.delete(t)}yt.delete(t)}const s=mt.get(t);if(s){for(const e of s){const n=yt.get(e);n?.delete(t)}mt.delete(t)}if(n)for(const e of n){const n=wt.get(e);if(n&&(n.delete(t),r))for(const o of r)kt(e,o,t)||n.delete(o)}if(r)for(const e of r){const r=bt.get(e);if(r&&(r.delete(t),n))for(const o of n)kt(o,e,t)||r.delete(o)}if(n&&r)for(const e of n){const n=wt.get(e);if(n)for(const o of r)if(!kt(e,o,t)){n.delete(o);const t=bt.get(o);t?.delete(e)}}bt.delete(t),wt.delete(t)}(u),zt.unregister(d))};if(!i){const t=h(()=>d());return zt.register(t,()=>{d(),me.garbageCollected(e)},d),t}let p=ve.get(i);p||(p=new Set,ve.set(i,p));const g=h(()=>{p.delete(g),0===p.size&&ve.delete(i),d()});return p.add(g),g}function Ct(e){return nt.present.root(e)}function Nt(e){return nt.root(e)}const Kt=new WeakMap,Lt=new WeakSet,qt=new WeakMap,Ht=new WeakMap;function _t(e,t,n){let r=Kt.get(e);r||(r=new Set,Kt.set(e,r)),r.add({parent:t,prop:n})}function Vt(e,t,n){const r=Kt.get(e);if(r){for(const e of r)if(e.parent===t&&e.prop===n){r.delete(e);break}0===r.size&&Kt.delete(e)}}function Ft(e){return!!Lt.has(e)||Ut(e)}function Bt(e,t){const n=Kt.get(e);if(n)for(const{parent:e}of n){const t=qt.get(e);if(t)for(const e of t)Wt(e);Bt(e)}}function Ut(e){const t=Kt.get(e);if(!t)return!1;for(const{parent:e}of t){if(Lt.has(e))return!0;if(Ut(e))return!0}return!1}const Xt=new WeakMap;function Zt(e,t){const n={},r=Gt(e=at(e));r&&Object.assign(r,{evolution:t,next:n}),Xt.set(e,n)}function Gt(e){e=at(e);let t=Xt.get(e);return t||(t={},Xt.set(e,t)),t}function Jt(e,t,n,r,...o){const s=st();for(const i of o)for(const o of i){const i=r.get(o);if(i)for(const r of i){if(ot(r)){me.skipRunningEffect(r);continue}n.has(r)||(n.add(r),Mt(r)||dt(r,e,t,o));const i=pt.get(r);if(_e(s,r,e,o,t),i){for(const n of i)n(e,t,o);i.delete(r)}}}}function Yt(e,t,n){Qt(e,t,[n])}function Qt(e,t,n){Zt(e=at(e),t);const r=we.get(e);if(r){const o=new Set;n?Jt(e,t,o,r,[le],n):Jt(e,t,o,r,r.keys()),me.touched(e,t,n,o),Wt(Array.from(o))}Lt.has(e)&&Bt(e)}const en=new WeakSet,tn=new Set,nn=Symbol("absent");function rn(...e){for(const t of e)t&&(t.prototype[ae]=!0);return e[0]}function on(e){if(null===e||"object"!=typeof e)return!0;if(en.has(e))return!0;if(e[ae])return!0;for(const t of tn)if(t(e))return!0;return!1}function sn(e){return function(e){return"object"==typeof e&&null!==e}(e)}function cn(e){if(sn(e)){if(Array.isArray(e))return Array.prototype;try{return e.constructor}catch{return}}}function an(e,t){return e!==t&&(!(!sn(e)||!sn(t))&&(!on(e)&&!on(t)&&cn(e)===cn(t)))}function fn(e,t,n,r,o){const s={type:o?"set":"add",prop:t};if(me.recursiveTouching&&void 0!==n&&an(n,r)){const o={obj:at(e),prop:t};!function(e){if(!e.length)return;const t=new Set,n=e[0]?.origin;let r;if(n){r=new Set;const e=we.get(n.obj);if(e){const t=new Set;Jt(n.obj,{type:"set",prop:n.prop},t,e,[le],[n.prop]);for(const e of t)r.add(e)}if(0===r.size)return}for(const{target:o,evolution:s,prop:i}of e){if(!sn(o))continue;const e=at(o);Zt(e,s);const c=we.get(e);let a;const f=[i];if(c){if(a=new Set,Jt(e,s,a,c,[le],f),n&&r){const e=new Set;for(const t of a)(r.has(t)||hn(t,r))&&e.add(t);a=e}for(const e of a)t.add(e)}me.touched(e,s,f,a),Lt.has(e)&&Bt(e)}t.size&&Wt([...t])}(un(n,r,new WeakMap,[],o)),function(e,t,n){e=at(e);const r=we.get(e);if(!r)return;const o=r.get(n);if(!o)return;const s=new Set,i=st();for(const r of o){if(!gt.has(r))continue;if(ot(r)){me.skipRunningEffect(r);continue}s.add(r),dt(r,e,t,n);const o=pt.get(r);if(_e(i,r,e,n,t),o){for(const r of o)r(e,t,n);o.delete(r)}}s.size>0&&(me.touched(e,t,[n],s),Wt(Array.from(s)))}(e,s,t)}else Yt(e,s,t)}function ln(e){const t=new Set(Reflect.ownKeys(e));let n=Object.getPrototypeOf(e);for(;n&&!Object.hasOwn(n,"constructor");){for(const e of Reflect.ownKeys(n))t.add(e);n=Object.getPrototypeOf(n)}return t}function un(e,t,n=new WeakMap,r=[],o){return an(e,t)&&sn(e)&&sn(t)?function(e,t,n){let r=e.get(t);return r||(r=new WeakSet,e.set(t,r)),!!r.has(n)||(r.add(n),!1)}(n,e,t)?r:Array.isArray(e)&&Array.isArray(t)?(function(e,t,n,r,o){const s=[],i=e.length,c=t.length,a=Math.max(i,c);for(let n=0;n<a;n++){const r=n<i,a=n<c;if(r&&!a){s.push({target:e,evolution:{type:"del",prop:n},prop:n,origin:o});continue}if(!r&&a){s.push({target:e,evolution:{type:"add",prop:n},prop:n,origin:o});continue}if(!r||!a)continue;const f=at(e[n]),l=at(t[n]);Object.is(f,l)||s.push({target:e,evolution:{type:"set",prop:n},prop:n,origin:o})}i!==c&&s.push({target:e,evolution:{type:"set",prop:"length"},prop:"length",origin:o});r.push(...s)}(e,t,0,r,o),r):(function(e,t,n,r,o){const s=ln(e),i=ln(t),c=[];for(const t of s)i.has(t)||c.push({target:e,evolution:{type:"del",prop:t},prop:t,origin:o});for(const t of i)s.has(t)||c.push({target:e,evolution:{type:"add",prop:t},prop:t,origin:o});for(const a of i){if(!s.has(a))continue;const i=at(e[a]),f=at(t[a]);an(i,f)?un(i,f,n,r,o):Object.is(i,f)||c.push({target:e,evolution:{type:"set",prop:a},prop:a,origin:o})}r.push(...c)}(e,t,n,r,o),r):r}function hn(e,t){let n=e;const r=new WeakSet;for(;n&&!r.has(n);){if(r.add(n),t.has(n))return!0;n=Se.get(n)}return!1}function dn(e,t=le){e=at(e);const n=st();if(!n||"symbol"==typeof t&&t!==le)return;let r=we.get(e);r||(r=new Map,we.set(e,r));let o=r.get(t);o||(o=new Set,r.set(t,o)),o.add(n);const s=be.get(n);s?s.add(e):be.set(n,new Set([e]))}rn(Date,RegExp,Error,Promise,Function),"undefined"!=typeof window&&(!function(...e){for(const t of e){try{Object.defineProperty(t,ae,{value:!0,writable:!1,enumerable:!1,configurable:!1})}catch{}ae in t||en.add(t)}e[0]}(window,document),rn(Node,Element,HTMLElement,EventTarget));const pn=new WeakMap,gn=[],yn={[Symbol.toStringTag]:"MutTs Reactive",get(e,t,n){if(e&&"object"==typeof e&&!Object.hasOwn(e,t)){const n=pn.get(e.constructor);if(n&&t in n){const r=Object.getOwnPropertyDescriptor(n,t);return r.get?r.get.call(e):(...t)=>r.value.apply(e,t)}}if(t===ae)return!1;const r=at(e);if(r[fe]?.has(t)||"symbol"==typeof t)return b.get(e,t,n);const o=Reflect.has(n,t),s=o&&Object.hasOwn(n,t),i=o&&!s,c=me.ignoreAccessors&&s&&(w(n,t)||w(r,t));if(o&&(me.instanceMembers&&i&&e instanceof Object||c)||dn(e,t),i&&(!me.instanceMembers||!(e instanceof Object))){let n=wn(Object.getPrototypeOf(e));for(;n&&n!==Object.prototype&&(dn(n,t),!Object.hasOwn(n,t));){let e=wn(Object.getPrototypeOf(n));e===n&&(e=wn(Object.getPrototypeOf(at(n)))),n=e}}const a=b.get(e,t,n);if("object"==typeof a&&null!==a){const n=wn(a);return Ft(e)&&_t(n,e,t),n}return a},set(e,t,n,r){const o=at(e),s=at(r);if(o[fe]?.has(t)||o!==s)return b.set(e,t,n,r);const i=at(n);let c=nn;if(Reflect.has(s,t)){Object.getOwnPropertyDescriptor(s,t),Object.getOwnPropertyDescriptor(o,t);c=Ct(()=>Reflect.get(o,t,r))}if(Lt.has(e)&&("object"==typeof c&&null!==c&&Vt(c,e,t),"object"==typeof i&&null!==i)){_t(wn(i),e,t)}return c!==i&&b.set(e,t,i,r)&&fn(e,t,c,i,c!==nn),!0},has(t,n){if(gn.includes(t))throw new ye(`[reactive] Circular dependency detected in 'has' check for property '${String(n)}'`,{code:e.ReactiveErrorCode.CycleDetected,cycle:[]});gn.push(t),dn(t,n);const r=Reflect.has(t,n);return gn.pop(),r},deleteProperty(e,t){if(!Object.hasOwn(e,t))return!1;const n=e[t];return Lt.has(e)&&"object"==typeof n&&null!==n&&Vt(n,e,t),delete e[t],Yt(e,{type:"del",prop:t},t),Lt.has(e)&&Bt(e),!0},ownKeys:e=>(dn(e,le),Reflect.ownKeys(e))},mn=new WeakSet,bn=G(e=>class extends e{constructor(...e){return super(...e),mn.has(new.target)?vn(this):this}});function wn(e){if(!e||"object"!=typeof e)return e;const t=e;if(on(t))return t;if(ct.has(t))return t;const n=function(e){return it.get(e)}(t);if(void 0!==n)return n;const r=!(ce in t)||t instanceof t[ce]?t:new t[ce](t);r!==t&&function(e,t){ct.set(e,t)}(r,t);const o=new Proxy(r,yn);return function(e,t){it.set(e,t),ct.set(t,e)}(t,o),o}const vn=R({class(e){if(e.prototype instanceof bn)return mn.add(e),e;class t extends e{constructor(...n){return super(...n),new.target===t||mn.has(new.target)||me.warn(`${e.name} has been inherited by ${this.constructor.name} that is not reactive.\n@reactive decorator must be applied to the leaf class OR classes have to extend ReactiveBase.`),vn(this)}}return Object.defineProperty(t,"name",{value:`Reactive<${e.name}>`}),t},get:e=>wn(e),default:wn});function Sn(e,t,{immediate:n=!1}={}){if(null==e)return;if("object"!=typeof e)throw new Error("Target of deep watching must be an object");const r=je(()=>t(e),t);return It(()=>{Lt.add(e);let o=Ht.get(r);o||(o=new Set,Ht.set(r,o)),o.add(e);const s=new WeakSet;return function e(t,n=0){var r;if(!(!t||s.has(t)||(r=t,"object"!=typeof r||null===r)||n>me.maxDeepWatchDepth||on(t))){s.add(t),Lt.add(t),o.add(t);for(const r in at(t))if(Object.hasOwn(t,r)){const o=t[r];e("object"==typeof o&&null!==o?vn(o):o,n+1)}if(Array.isArray(t)||t instanceof Array){const r=t.length;for(let o=0;o<r;o++){const r=t[o];e("object"==typeof r&&null!==r?vn(r):r,n+1)}}else if(t instanceof Set)for(const r of t){e("object"==typeof r&&null!==r?vn(r):r,n+1)}else if(t instanceof Map)for(const[r,o]of t){e("object"==typeof o&&null!==o?vn(o):o,n+1)}}}(e),n&&t(e),n=!0,()=>{const e=Ht.get(r);if(e){for(const t of e){const e=qt.get(t);e?(e.delete(r),0===e.size&&(qt.delete(t),Lt.delete(t))):Lt.delete(t)}Ht.delete(r)}}})}const kn=Symbol("cleanup"),jn=Symbol("unset-yet");const Mn=R({class(e){rn(e)},default:function(e,...t){return"object"==typeof e?function(e){if(on(e=at(e)))return e;try{Object.defineProperty(e,ae,{value:!0,writable:!1,enumerable:!1,configurable:!0})}catch{}return ae in e||en.add(e),e}(e):n=>{n.prototype[fe]=new Set(n.prototype[fe]||[]),n.prototype[fe].add(e);for(const e of t)n.prototype[fe].add(e);return n}}});function On(e,t){return Object.defineProperty(e,kn,{value:t,writable:!1,enumerable:!1,configurable:!0})}const En=new WeakMap,xn=new WeakMap;function Rn(e,t){e.branches??(e.branches=new WeakMap);let n=e.branches.get(t);return n||(n={},e.branches.set(t,n)),n}function Tn(e){const t=Me(e),n=En.get(t);if(n)return n;const r={},o=je((...t)=>{const n=t;if(n.some(e=>!(e&&["object","symbol","function"].includes(typeof e))))throw new Error("memoize expects non-null object arguments");let o=r;for(const e of n)o=Rn(o,e);if(dn(o,"memoize"),"result"in o){if(me.onMemoizationDiscrepancy){const t=me.isVerificationRun;me.isVerificationRun=!0;try{const t=Ct(()=>e(...n));v(o.result,t)||me.onMemoizationDiscrepancy(o.result,t,e,n,"calculation")}finally{me.isVerificationRun=t}}return o.result}if(o.cleanup=Nt(()=>It(()=>(o.result=e(...n),()=>{delete o.result,Yt(o,{type:"invalidate",prop:n},"memoize"),o.cleanup&&(o.cleanup(),o.cleanup=void 0)}),{opaque:!0})),me.onMemoizationDiscrepancy){const t=me.isVerificationRun;me.isVerificationRun=!0;try{const t=Ct(()=>e(...n));v(o.result,t)||me.onMemoizationDiscrepancy(o.result,t,e,n,"comparison")}finally{me.isVerificationRun=t}}return o.result},e);return En.set(t,o),En.set(o,o),o}const Dn=R({getter:(e,t,n)=>function(){let r=xn.get(e);r||(r=je(m(t=>e.call(t),`${String(t?.constructor?.name??t?.name??"Object")}.${String(n)}`),{method:e,propertyKey:n,...e[pe]?{[pe]:e[pe]}:{}}),xn.set(e,r));return Tn(r)(this)},method:(e,t,n)=>function(...r){let o=xn.get(e);o||(o=je(m((t,...n)=>e.call(t,...n),`${String(t?.constructor?.name??t?.name??"Object")}.${String(n)}`),{method:e,propertyKey:n,...e[pe]?{[pe]:e[pe]}:{}}),xn.set(e,o));return Tn(o)(this,...r)},default:Tn});function*Pn(e){let t=e.next();for(;!t.done;)yield vn(t.value),t=e.next()}function*An(e){let t=e.next();for(;!t.done;){const[n,r]=t.value;yield[vn(n),vn(r)],t=e.next()}}let Wn=(()=>{var e,t,n,r,o,s,i,c,a;let f,l,u=[Mn],h=[],d=function(){class e extends(_(F,{get(e){return this[q](e)},set(e,t){this[H](e,t)},getLength(){return this.length},setLength(e){this.length=e}})){toArray(){return Array.from(this)}}return e}();var p,g,y;return l=class extends d{get[(t=new WeakMap,n=new WeakMap,r=new WeakMap,o=new WeakMap,s=new WeakMap,i=new WeakMap,c=new WeakMap,e=new WeakSet,V)](){return this.toArray()}constructor(a,f){let l;if(super(),e.add(this),t.set(this,void 0),n.set(this,void 0),r.set(this,void 0),o.set(this,new Map),s.set(this,new Map),i.set(this,new Set),c.set(this,void 0),It(({ascend:e})=>{l=e}),N(this,c,l,"f"),"function"!=typeof a)throw new Error("Register requires a key function");N(this,t,a,"f"),N(this,n,vn([]),"f"),N(this,r,vn(new Map),"f"),f&&this.push(...f)}ensureKey(n){let r=C(this,s,"f").get(n);if(r)return r.key;if(r={key:void 0},C(this,s,"f").set(n,r),C(this,c,"f").call(this,()=>{const o=It(({reaction:o})=>{const s=C(this,t,"f").call(this,n);this.assertValidKey(s);const i=r.key;o&&void 0!==i&&!Object.is(s,i)&&C(this,e,"m",a).call(this,n,i,s),r.key=s});r.stop=o,C(this,i,"f").add(o)}),void 0===r.key)throw new Error("Register key function must return a property key");return r.key}assertValidKey(e){const t=typeof e;if("string"!==t&&"number"!==t&&"symbol"!==t)throw new Error("Register key function must return a property key")}setKeyValue(e,t){const n=C(this,r,"f").get(e);void 0!==n&&n!==t&&this.cleanupValue(n),C(this,r,"f").set(e,t)}cleanupValue(e){const t=C(this,s,"f").get(e);if(!t)return;const n=t.stop;n&&(t.stop=void 0,C(this,i,"f").delete(n),n()),C(this,s,"f").delete(e)}disposeKeyEffects(){for(const e of Array.from(C(this,s,"f").keys()))this.cleanupValue(e);C(this,i,"f").clear()}incrementUsage(e){const t=C(this,o,"f").get(e)??0;C(this,o,"f").set(e,t+1)}decrementUsage(e){const t=C(this,o,"f").get(e);if(t)if(t<=1){const t=C(this,r,"f").get(e);C(this,o,"f").delete(e),C(this,r,"f").delete(e),void 0!==t&&this.cleanupValue(t)}else C(this,o,"f").set(e,t-1)}normalizeIndex(e,t=!1){const n=this.length;let r=e;if(r<0&&(r=Math.max(n+r,0)),r>n){if(!t)throw new RangeError("Index out of bounds");r=n}if(!t&&r===n)throw new RangeError("Index out of bounds");return r}assignAt(e,t,r){const o=C(this,n,"f")[e];void 0!==o&&Object.is(o,t)||(void 0!==o&&this.decrementUsage(o),C(this,n,"f")[e]=t,this.incrementUsage(t)),this.setKeyValue(t,r)}insertKeyValue(e,t,r){C(this,n,"f").splice(e,0,t),this.incrementUsage(t),this.setKeyValue(t,r)}rebuildFrom(e){this.disposeKeyEffects(),C(this,n,"f").splice(0,C(this,n,"f").length),C(this,o,"f").clear(),C(this,r,"f").clear();for(const t of e){const e=this.ensureKey(t);C(this,n,"f").push(e),this.incrementUsage(e),C(this,r,"f").set(e,t)}}get length(){return C(this,n,"f").length}[(a=function(e,t,i){if(Object.is(t,i))return;const c=C(this,r,"f").get(i);if(void 0!==c&&c!==e)throw new Error(`Register key collision for key ${String(i)}`);const a=C(this,o,"f").get(t);if(!a)return;const f=C(this,o,"f").get(i)??0;this.setKeyValue(i,e);for(let e=0;e<C(this,n,"f").length;e++)Object.is(C(this,n,"f")[e],t)&&(C(this,n,"f")[e]=i);C(this,o,"f").set(i,f+a),C(this,o,"f").delete(t),C(this,r,"f").delete(t);const l=C(this,s,"f").get(e);l&&(l.key=i)},q)](e){const t=C(this,n,"f")[e];return void 0===t?void 0:C(this,r,"f").get(t)}[H](e,t){const n=this.ensureKey(t);if(e===this.length)return void this.insertKeyValue(e,n,t);const r=this.normalizeIndex(e);this.assignAt(r,n,t)}push(...e){for(const t of e){const e=this.ensureKey(t);this.insertKeyValue(this.length,e,t)}return this.length}pop(){if(this.length)return this.removeAt(this.length-1)}shift(){if(this.length)return this.removeAt(0)}unshift(...e){let t=0;for(const n of e){const e=this.ensureKey(n);this.insertKeyValue(t++,e,n)}return this.length}splice(e,t,...o){const s=this.normalizeIndex(e,!0),i=this.length-s,c=Math.min(void 0===t?i:Math.max(t,0),i),a=[];for(const e of o)a.push(this.ensureKey(e));const f=C(this,n,"f").splice(s,c,...a),l=[];for(const e of f){if(void 0===e)continue;const t=C(this,r,"f").get(e);this.decrementUsage(e),l.push(t)}for(let e=0;e<a.length;e++){const t=a[e],n=o[e];this.incrementUsage(t),this.setKeyValue(t,n)}return l}clear(){C(this,n,"f").length=0,C(this,o,"f").clear(),C(this,r,"f").clear(),this.disposeKeyEffects()}get(e){return C(this,r,"f").get(e)}set(e,t){C(this,r,"f").has(e)&&this.setKeyValue(e,t)}remove(e){let t=this.indexOfKey(e);for(;-1!==t;)this.removeAt(t),t=this.indexOfKey(e)}removeAt(e){const[t]=C(this,n,"f").splice(e,1);if(void 0===t)return;const o=C(this,r,"f").get(t);return this.decrementUsage(t),o}keep(e){const t=new Map;for(const[o,s]of C(this,n,"f").entries()){if(t.has(s)){t.get(s)||this.removeAt(o);continue}const n=e(C(this,r,"f").get(s));t.set(s,n),n||this.removeAt(o)}}hasKey(e){return C(this,o,"f").has(e)}indexOfKey(e){return C(this,n,"f").indexOf(e)}mapKeys(){return C(this,r,"f").keys()}update(...e){for(const t of e){const e=this.ensureKey(t);C(this,r,"f").has(e)&&this.setKeyValue(e,t)}}upsert(e,...t){for(const n of t){const t=this.ensureKey(n);C(this,r,"f").has(t)?this.setKeyValue(t,n):e(n)}}entries(){const e=this;return function*(){for(let t=0;t<C(e,n,"f").length;t++){const o=C(e,r,"f").get(C(e,n,"f")[t]);void 0!==o&&(yield[t,o])}}()}[Symbol.iterator](){const e=this;return function*(){for(const t of C(e,n,"f")){const n=C(e,r,"f").get(t);void 0!==n&&(yield n)}}()}toString(){return`[Register length=${this.length}]`}at(e){const t=e<0?this.length+e:e;if(!(t<0||t>=this.length))return this[q](t)}reverse(){return C(this,n,"f").reverse(),this}sort(e){const t=e?(t,n)=>e(C(this,r,"f").get(t),C(this,r,"f").get(n)):void 0;return C(this,n,"f").sort(t),this}fill(e,t=0,n=this.length){const r=this.toArray();return r.fill(e,t,n),this.rebuildFrom(r),this}copyWithin(e,t,n){const r=this.toArray();return r.copyWithin(e,t,n),this.rebuildFrom(r),this}},p=l,"symbol"==typeof(g="RegisterClass")&&(g=g.description?"[".concat(g.description,"]"):""),Object.defineProperty(p,"name",{configurable:!0,value:y?"".concat(y," ",g):g}),(()=>{const e="function"==typeof Symbol&&Symbol.metadata?Object.create(d[Symbol.metadata]??null):void 0;z(null,f={value:l},u,{kind:"class",name:l.name,metadata:e},null,h),l=f.value,e&&Object.defineProperty(l,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:e}),I(l,h)})(),l})();const $n=Wn;const zn=new WeakMap;function In(){const e=st();return e?zn.get(e):void 0}function Cn(e){Object.defineProperty(e,"value",{get:e.get,set:e.set,configurable:!0,enumerable:!0})}function Nn(e,t,n,r){return r&&Object.defineProperty(e,ue,{value:r,writable:!1,enumerable:!1,configurable:!0}),On(e,()=>{n();for(const e of t.values())e?.();t.clear()})}function Kn(e,t){e=vn(e);const n=vn([]),r=new Map;function o(e){const t=r.get(e);t&&(r.delete(e),t(),Reflect.deleteProperty(n,e))}const s=In(),i=s?s.depth+1:0,c=It(function({ascend:c}){const a=e.length;!function(e){b.set(n,"length",e,n)}(a);const f=Array.from(r.keys());for(let o=0;o<a;o++)r.has(o)||c(()=>{const c=o,a=It(function(){const r=Ct(()=>n[c]),o={key:c,source:e,get:()=>b.get(e,c,e),set:t=>b.set(e,c,t,e),old:r};Cn(o);const s=t(o,n);n[c]=s});Ke(a,`project[${i}]:${c}`),zn.set(a,{source:e,key:c,target:n,depth:i,parent:s}),r.set(o,a)});for(const e of f)e>=a&&o(e)});return Nn(n,r,()=>c(),{source:e,target:n,apply:t,depth:i,parent:s})}function Ln(e,t){const n=vn(e),r=new Map,o=vn(r),s=new Map;function i(e){const t=s.get(e);t&&(t(),s.delete(e),o.delete(e))}const c=In(),a=c?c.depth+1:0,f=It(function({ascend:e}){const r=new Set;for(const e of n.mapKeys())r.add(e);for(const i of r)s.has(i)||e(()=>{const e=It(function(){const e=Ct(()=>o.get(i)),r={key:i,source:n,get:()=>n.get(i),set:e=>(n.set(i,e),!0),old:e};Cn(r);const s=t(r,o);o.set(i,s)});Ke(e,`project[${a}]:${String(i)}`),zn.set(e,{source:n,key:i,target:o,depth:a,parent:c}),s.set(i,e)});for(const e of Array.from(s.keys()))r.has(e)||i(e)});return Nn(o,s,()=>f(),{source:n,target:o,apply:t,depth:a,parent:c})}function qn(e,t){const n=vn(e),r=vn({}),o=new Map;function s(e){const t=o.get(e);t&&(t(),o.delete(e),Reflect.deleteProperty(r,e))}const i=In(),c=i?i.depth+1:0,a=It(function({ascend:e}){const a=new Set;for(const e in n)a.add(e);const f=Reflect.ownKeys(n);for(const e of f)a.add(e);for(const s of a)o.has(s)||e(()=>{const e=It(function(){const e=s,o=Ct(()=>r[s]),i={key:e,source:n,get:()=>b.get(n,e,n),set:t=>b.set(n,e,t,n),old:o};Cn(i);const c=t(i,r);r[e]=c});Ke(e,`project[${c}]:${String(s)}`),zn.set(e,{source:n,key:s,target:r,depth:c,parent:i}),o.set(s,e)});for(const e of Array.from(o.keys()))a.has(e)||s(e)});return Nn(r,o,()=>a(),{source:n,target:r,apply:t,depth:c,parent:i})}function Hn(e,t){const n=vn(e),r=new Map,o=vn(r),s=new Map;function i(e){const t=s.get(e);t&&(t(),s.delete(e),o.delete(e))}const c=In(),a=c?c.depth+1:0,f=It(function({ascend:e}){const r=new Set;for(const e of n.keys())r.add(e);for(const i of r)s.has(i)||e(()=>{const e=It(function(){const e=Ct(()=>o.get(i)),r={key:i,source:n,get:()=>n.get(i),set:e=>(n.set(i,e),!0),old:e};Cn(r);const s=t(r,o);o.set(i,s)});Ke(e,`project[${a}]:${String(i)}`),zn.set(e,{source:n,key:i,target:o,depth:a,parent:c}),s.set(i,e)});for(const e of Array.from(s.keys()))r.has(e)||i(e)});return Nn(o,s,()=>f(),{source:n,target:o,apply:t,depth:a,parent:c})}const _n=Object.assign(function(e,t){if(Array.isArray(e))return Kn(e,t);if(e instanceof Map)return Hn(e,t);if(e instanceof $n)return Ln(e,t);if(e&&(e.constructor===Object||void 0===e.constructor))return qn(e,t);throw new Error("Unsupported source type")},{array:Kn,register:Ln,record:qn,map:Hn});function*Vn(e,{length:t=!0}={}){t&&(yield"length"),yield e}function*Fn(e,t,{length:n=!1}={}){const r=Math.min(e,t),o=Math.max(e,t);n&&(yield"length");for(let e=r;e<=o;e++)yield e}class Bn extends Array{get(e){return dn(this,e),vn(this[e])}set(e,t){const n=e>=this.length;this[e]=t,Qt(this,{type:"set",prop:e},Vn(e,{length:n}))}getLength(){return dn(this,"length"),this.length}setLength(e){const t=this.length;try{this.length=e}finally{Qt(this,{type:"set",prop:"length"},Fn(t,e,{length:!0}))}}}const Un={get:b.get,set:b.set};Object.assign(b,{get(e,t,n){if(e instanceof Array&&"string"==typeof t){if("length"===t)return Bn.prototype.getLength.call(e);const n=parseInt(t);if(!Number.isNaN(n))return Bn.prototype.get.call(e,n)}return Un.get(e,t,n)},set(e,t,n,r){if(e instanceof Array&&"string"==typeof t){if("length"===t)return Bn.prototype.setLength.call(e,n);const r=parseInt(t);if(!Number.isNaN(r))return Bn.prototype.set.call(e,r,n)}return Un.set(e,t,n,r)}});class Xn extends Array{toJSON(){return this}get[Symbol.toStringTag](){return"ReactiveArray"}at(e){const t=e<0?this.length+e:e;if(dn(this,t),e<0&&dn(this,"length"),!(t<0||t>=this.length))return vn(this[t])}toReversed(){return dn(this),vn(this.toReversed())}toSorted(e){return dn(this),vn(this.toSorted(e))}toSpliced(e,t,...n){return dn(this),void 0===t?this.toSpliced(e):this.toSpliced(e,t,...n)}with(e,t){return dn(this),vn(this.with(e,t))}entries(){return dn(this),An(this.entries())}keys(){return dn(this,"length"),this.keys()}values(){return dn(this),Pn(this.values())}[Symbol.iterator](){dn(this);const e=this[Symbol.iterator]();return{next(){const t=e.next();return t.done?t:{value:vn(t.value),done:!1}},[Symbol.iterator](){return this},[Symbol.dispose](){}}}indexOf(e,t){const n=this.length;let r=void 0===t?0:t;r<0&&(r=Math.max(n+r,0));const o=at(e);for(;r<n;r++){dn(this,r);const t=this[r];if(t===e||t===o||at(t)===o)return r}return dn(this,"length"),-1}lastIndexOf(e,t){const n=this.length;let r=void 0===t?n-1:t;r>=n&&(r=n-1),r<0&&(r=Math.max(n+r,-1));const o=at(e);for(;r>=0;r--){dn(this,r);const t=this[r];if(t===e||t===o||at(t)===o)return r}return dn(this,"length"),-1}includes(e,t){return-1!==this.indexOf(e,t)}find(e,t){if("function"==typeof e){const n=e,r=this.length;for(let e=0;e<r;e++){dn(this,e);const r=vn(this[e]);if(n.call(t,r,e,this))return r}return void dn(this,"length")}const n="number"==typeof t?t:void 0,r=this.indexOf(e,n);if(-1!==r)return vn(this[r])}findIndex(e,t){if("function"==typeof e){const n=e,r=this.length;for(let e=0;e<r;e++){dn(this,e);const r=vn(this[e]);if(n.call(t,r,e,this))return e}return dn(this,"length"),-1}const n="number"==typeof t?t:void 0;return this.indexOf(e,n)}flat(e){return dn(this),vn(void 0===e?this.flat():this.flat(e))}flatMap(e,t){return dn(this),vn(this.flatMap((n,r,o)=>e.call(t,vn(n),r,o),t))}filter(e,t){return dn(this),vn(this.filter((t,n,r)=>e(vn(t),n,r),t))}map(e,t){return dn(this),vn(this.map((t,n,r)=>e(vn(t),n,r),t))}reduce(e,t){dn(this);const n=void 0===t?this.reduce(e):this.reduce(e,t);return vn(n)}reduceRight(e,t){dn(this);const n=void 0!==t?this.reduceRight(e,t):this.reduceRight(e);return vn(n)}slice(e,t){for(const n of Fn(e||0,t||this.length-1))dn(this,n);return void 0===e?this.slice():void 0===t?this.slice(e):this.slice(e,t)}concat(...e){return dn(this),vn(this.concat(...e))}join(e){return dn(this),this.join(e)}forEach(e,t){dn(this),this.forEach((n,r,o)=>{e.call(t,vn(n),r,o)})}every(e,t){const n=this.length;for(let r=0;r<n;r++)if(dn(this,r),!e.call(t,vn(this[r]),r,this))return!1;return dn(this,"length"),!0}some(e,t){const n=this.length;for(let r=0;r<n;r++)if(dn(this,r),e.call(t,vn(this[r]),r,this))return!0;return dn(this,"length"),!1}push(...e){const t=this.length;try{return this.push(...e)}finally{Qt(this,{type:"bunch",method:"push"},Fn(t,t+e.length-1,{length:!0}))}}pop(){if(0!==this.length)try{return vn(this.pop())}finally{Qt(this,{type:"bunch",method:"pop"},Vn(this.length))}}shift(){if(0!==this.length)try{return vn(this.shift())}finally{Qt(this,{type:"bunch",method:"shift"},Fn(0,this.length+1,{length:!0}))}}unshift(...e){try{return this.unshift(...e)}finally{Qt(this,{type:"bunch",method:"unshift"},Fn(0,this.length-e.length,{length:!0}))}}splice(e,t,...n){const r=this.length;let o=e;o=o<0?Math.max(r+o,0):Math.min(o,r);let s=t;s=void 0===s?r-o:Math.max(0,Math.min(s,r-o));try{return vn(void 0===t?this.splice(e):this.splice(e,t,...n))}finally{Qt(this,{type:"bunch",method:"splice"},s===n.length?Fn(o,o+s-1):Fn(o,r+Math.max(n.length-s,0),{length:!0}))}}reverse(){try{return this.reverse()}finally{Qt(this,{type:"bunch",method:"reverse"},Fn(0,this.length-1))}}sort(e){e=e||((e,t)=>e.toString().localeCompare(t.toString()));try{return this.sort((t,n)=>e(vn(t),vn(n)))}finally{Qt(this,{type:"bunch",method:"sort"},Fn(0,this.length-1))}}fill(e,t,n){const r=this.length;let o=void 0===t?0:t;o=o<0?Math.max(r+o,0):Math.min(o,r);let s=void 0===n?r:n;s=s<0?Math.max(r+s,0):Math.min(s,r);try{return void 0===t?this.fill(e):void 0===n?this.fill(e,t):this.fill(e,t,n)}finally{s>o&&Qt(this,{type:"bunch",method:"fill"},Fn(o,s-1))}}copyWithin(e,t,n){try{return void 0===n?this.copyWithin(e,t):this.copyWithin(e,t,n)}finally{const r=this.length;let o=e;o<0?o=Math.max(r+o,0):o>=r&&(o=r);let s=t;s<0?s=Math.max(r+s,0):s>=r&&(s=r);let i=void 0===n?r:n;i<0?i=Math.max(r+i,0):i>=r&&(i=r);const c=Math.min(i-s,r-o);c>0&&Qt(this,{type:"bunch",method:"copyWithin"},Fn(o,o+c-1))}}}class Zn extends WeakMap{get[Symbol.toStringTag](){return"ReactiveWeakMap"}delete(e){const t=this.has(e),n=this.delete(e);return t&&Yt(k(this),{type:"del",prop:e},e),n}get(e){return dn(k(this),e),vn(this.get(e))}has(e){return dn(k(this),e),this.has(e)}set(e,t){const n=this.has(e),r=this.get(e),o=vn(t);return this.set(e,o),n&&r===o||fn(k(this),e,r,o,n),this}}class Gn extends Map{get[Symbol.toStringTag](){return"ReactiveMap"}get size(){return dn(this,"size"),this.size}clear(){const e=this.size>0;if(this.clear(),e){const e={type:"bunch",method:"clear"};Yt(this,e,"size"),Qt(k(this),e)}}entries(){return dn(k(this)),An(this.entries())}forEach(e,t){dn(k(this)),this.forEach(e,t)}keys(){return dn(k(this)),this.keys()}values(){return dn(k(this)),Pn(this.values())}[Symbol.iterator](){dn(k(this));const e=this[Symbol.iterator]();return{next(){const t=e.next();return t.done?t:{value:[t.value[0],vn(t.value[1])],done:!1}},[Symbol.iterator](){return this},[Symbol.dispose](){}}}delete(e){const t=this.has(e),n=this.delete(e);if(t){const t={type:"del",prop:e};Yt(k(this),t,e),Yt(this,t,"size")}return n}get(e){return dn(k(this),e),vn(this.get(e))}has(e){return dn(k(this),e),this.has(e)}set(e,t){const n=this.has(e),r=this.get(e),o=vn(t);if(this.set(e,o),!n||r!==o){fn(k(this),e,r,o,n);Yt(this,{type:n?"set":"add",prop:e},"size")}return this}}class Jn extends WeakSet{get[Symbol.toStringTag](){return"ReactiveWeakSet"}add(e){const t=this.has(e);return this.add(e),t||Yt(k(this),{type:"add",prop:e},e),this}delete(e){const t=this.has(e),n=this.delete(e);return t&&Yt(k(this),{type:"del",prop:e},e),n}has(e){return dn(k(this),e),this.has(e)}}class Yn extends Set{get[Symbol.toStringTag](){return"ReactiveSet"}get size(){return dn(this,"size"),this.size}add(e){const t=this.has(e),n=vn(e);if(this.add(n),!t){const e={type:"add",prop:n};Yt(k(this),e,n),Yt(this,e,"size")}return this}clear(){const e=this.size>0;if(this.clear(),e){const e={type:"bunch",method:"clear"};Yt(this,e,"size"),Qt(k(this),e)}}delete(e){const t=this.has(e),n=this.delete(e);if(t){const t={type:"del",prop:e};Yt(k(this),t,e),Yt(this,t,"size")}return n}has(e){return dn(k(this),e),this.has(e)}entries(){return dn(k(this)),An(this.entries())}forEach(e,t){dn(k(this)),this.forEach(e,t)}keys(){return dn(k(this)),Pn(this.keys())}values(){return dn(k(this)),Pn(this.values())}[Symbol.iterator](){dn(k(this));const e=this[Symbol.iterator]();return{next(){const t=e.next();return t.done?t:{value:vn(t.value),done:!1}},[Symbol.iterator](){return this},[Symbol.dispose](){}}}}pn.set(Array,Xn.prototype),pn.set(Set,Yn.prototype),pn.set(WeakSet,Jn.prototype),pn.set(Map,Gn.prototype),pn.set(WeakMap,Zn.prototype);const Qn={objectToProxy:it,proxyToObject:ct,effectToReactiveObjects:be,watchers:we,objectParents:Kt,objectsWithDeepWatchers:Lt,deepWatchers:qt,effectToDeepWatchedObjects:Ht,nonReactiveObjects:en},er=[],tr=R({getter:(e,t,n)=>function(){const t=er.findIndex(e=>e.object===this&&e.prop===n);if(t>-1)throw new Error(`Circular dependency detected: ${er.slice(t).map(e=>`${e.object.constructor.name}.${String(e.prop)}`).join(" -> ")} -> again`);er.push({object:this,prop:n});try{const t=e.call(this);return nr(this,n,t),t}finally{er.pop()}}});function nr(e,t,n){Object.defineProperty(e,t,{value:n})}const rr=Object.assign(R({method:(e,t,n)=>function(...t){return rr.warn(this,n),e.apply(this,t)},getter:(e,t,n)=>function(){return rr.warn(this,n),e.call(this)},setter:(e,t,n)=>function(t){return rr.warn(this,n),e.call(this,t)},class:e=>class extends e{constructor(...e){super(...e),rr.warn(this,"constructor")}},default:e=>R({method:(t,n,r)=>function(...n){return rr.warn(this,r,e),t.apply(this,n)},getter:(t,n,r)=>function(){return rr.warn(this,r,e),t.call(this)},setter:(t,n,r)=>function(n){return rr.warn(this,r,e),t.call(this,n)},class:t=>class extends t{constructor(...t){super(...t),rr.warn(this,"constructor",e)}}})}),{warn:(e,t,n)=>{}});var or={version:"1.0.8"};const{version:sr}=or,ir="__MUTTS_INSTANCE__",cr="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global&&global;if(cr){let e="mutts/index";const t=eval;try{if("undefined"!=typeof __filename)e=__filename;else{const n=t("import.meta");n&&n.url&&(e=n.url)}}catch(e){}const n={version:sr,source:e,timestamp:Date.now()};if(cr[ir]){const e=cr[ir];throw new Error(`[Mutts] Multiple instances detected!\nExisting instance: ${JSON.stringify(e,null,2)}\nNew instance: ${JSON.stringify(n,null,2)}\nThis usually happens when 'mutts' is both installed as a dependency and bundled, or when different versions are loaded. Please check your build configuration (aliases, externals) to ensure a single source of truth.`)}cr[ir]=n}e.AZone=Je,e.ArrayReadForward=F,e.DecoratorError=O,e.Destroyable=function(e,t){var n;return e&&"function"!=typeof e&&(t=e,e=void 0),e||(e=class{}),n=class extends e{static destroy(e){const t=n.destructors.get(e);if(!t)return!1;T.unregister(e[P]),n.destructors.delete(e),Object.setPrototypeOf(e,new Proxy({},W));for(const t of Object.getOwnPropertyNames(e))delete e[t];return t(),!0}static isDestroyable(e){return n.destructors.has(e)}constructor(...e){super(...e);const r={};this[P]=r;const o=t?.destructor??this[D];if(!o)throw new A("Destructor is not defined");function s(){o(r)}n.destructors.set(this,s),T.register(this,s,r)}},n.destructors=new WeakMap,n},e.DestructionError=A,e.Eventful=class{constructor(){K.set(this,new Map),L.set(this,[])}hook(e){return C(this,L,"f").includes(e)||C(this,L,"f").push(e),()=>{C(this,L,"f").splice(C(this,L,"f").indexOf(e),1)}}on(e,t){if("object"==typeof e)for(const t of Object.keys(e))this.on(t,e[t]);else if(void 0!==t){let n=C(this,K,"f").get(e);n||(n=[],C(this,K,"f").set(e,n)),n.push(t)}return()=>this.off(e,t)}off(e,t){if("object"==typeof e)for(const t of Object.keys(e))this.off(t,e[t]);else if(null!=t){const n=C(this,K,"f").get(e);n&&C(this,K,"f").set(e,n.filter(e=>e!==t))}else C(this,K,"f").delete(e)}emit(e,...t){const n=C(this,K,"f").get(e);if(n)for(const e of n)e.apply(this,t);for(const n of C(this,L,"f"))n.call(this,e,...t)}},e.FoolProof=b,e.Indexable=_,e.IterableWeakMap=X,e.IterableWeakSet=Z,e.ReactiveBase=bn,e.ReactiveError=ye,e.Register=$n,e.Zone=Ye,e.ZoneAggregator=et,e.ZoneHistory=Qe,e.addBatchCleanup=Tt,e.allocated=$,e.allocatedValues=P,e.arrayEquals=function(e,t){if(e===t)return!0;if(!Array.isArray(e)||!Array.isArray(t))return!1;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0},e.asyncHook=e=>t.addHook(e),e.asyncHooks=t,e.asyncZone=tt,e.atomic=$t,e.biDi=function(e,t,n){"function"!=typeof t&&(n=t.set,t=t.get);let r=Symbol();return It(je(()=>{const n=t();at(n)!==r&&e(n)},e)),n?$t(e=>{r=at(e),n(e)}):()=>{}},e.buildReactivityGraph=Fe,e.cache=nr,e.cached=tr,e.callOnGC=function(e){let t=!1;const n=()=>{t||(t=!0,e())};return T.register(n,e,e),n},e.chainPromise=ie,e.cleanedBy=On,e.cleanup=kn,e.contentRef=k,e.debounce=function(e){return R({method(t,n,r){let o=null;return function(...n){o&&clearTimeout(o),o=setTimeout(()=>{t.apply(this,n),o=null},e)}}})},e.decorator=R,e.deepCompare=v,e.deepWatch=Sn,e.defer=Dt,e.deprecated=rr,e.derived=function(e){const t={value:void 0};return On(t,Ct(()=>It(function(n){t.value=e(n)})))},e.describe=function(e){return(...t)=>n=>class extends n{constructor(...n){super(...n);for(const n of t)Object.defineProperty(this,n,{...Object.getOwnPropertyDescriptor(this,n),...e})}}},e.destructor=D,e.effect=It,e.effectAggregator=rt,e.enableDevTools=function(){"undefined"!=typeof window&&(Ee||(Ee=!0,window.__MUTTS_DEVTOOLS__={getGraph:Fe,setEffectName:Ke,setObjectName:Le,registerEffect:qe,registerObject:He}))},e.forwardArray=V,e.getActivationLog=function(){return ht},e.getActiveEffect=st,e.getActiveProjection=In,e.getAt=q,e.getState=Gt,e.immutables=tn,e.isCached=function(e,t){return!!Object.getOwnPropertyDescriptor(e,t)},e.isConstructor=y,e.isDevtoolsEnabled=Be,e.isNonReactive=on,e.isOwnAccessor=w,e.isReactive=function(e){return ct.has(e)},e.legacyDecorator=E,e.memoize=Dn,e.mixin=G,e.modernDecorator=x,e.named=M,e.organize=function(e,t,n){return Object.defineProperty(e,t,{get:n.get,set:n.set,configurable:!0,enumerable:!0}),Yt(e,{type:"set",prop:t},t),()=>delete e[t]},e.organized=function(e,t,n={}){const r=vn(e),o=vn(n),s=new Map;function i(e){const t=s.get(e);t&&(s.delete(e),t())}const c=It(function({ascend:e}){const n=new Set;for(const e in r)n.add(e);for(const i of n)s.has(i)||e(()=>{const e=It(function(){const e=i,n={key:e,get:()=>b.get(r,e,r),set:t=>b.set(r,e,t,r)};return Object.defineProperty(n,"value",{get:n.get,set:n.set,configurable:!0,enumerable:!0}),t(n,o)});s.set(i,e)});for(const e of Array.from(s.keys()))n.has(e)||i(e)});return On(o,()=>{c();for(const e of Array.from(s.keys()))i(e)})},e.profileInfo=Qn,e.project=_n,e.reactive=vn,e.reactiveOptions=me,e.register=function(e,t){return new Wn(e,t)},e.registerEffectForDebug=qe,e.registerNativeReactivity=function(e,t){e.prototype[ce]=t,rn(t)},e.registerObjectForDebug=He,e.renamed=m,e.resolve=function(e){const t=vn([]);return On(t,It(()=>{const n=e();t.length!==n.length&&(t.length=n.length);for(let e=0;e<n.length;e++)t[e]!==n[e]&&(t[e]=n[e])}))},e.root=Nt,e.scan=function(e,t,n){const r=vn(e),o=vn([]),s=new Map,i=vn([]),c=new WeakMap;let a=(()=>{var e;let r,o=[];return e=class{constructor(e,t){this.val=(I(this,o),e),this.prev=t}get acc(){const e=this.prev?this.prev.acc:n;return t(e,this.val)}},(()=>{const t="function"==typeof Symbol&&Symbol.metadata?Object.create(null):void 0;r=[Dn],z(e,null,r,{kind:"getter",name:"acc",static:!1,private:!1,access:{has:e=>"acc"in e,get:e=>e.acc},metadata:t},null,o),t&&Object.defineProperty(e,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t})})(),e})();function f(e){const t=s.get(e);t&&(t(),s.delete(e),Ct(()=>{Reflect.deleteProperty(i,e),Reflect.deleteProperty(o,e)}))}const l=It(function({ascend:e}){const t=r.length,n=new Map;let l;for(let f=0;f<t;f++){const t=b.get(r,f,r);if(!t||"object"!=typeof t&&"function"!=typeof t&&"symbol"!=typeof t)throw new Error("scan: items must be objects (WeakKey) for intermediate caching");const u=n.get(t)??0;n.set(t,u+1);let h=c.get(t);h||(h=[],c.set(t,h));let d=h[u];d?Ct(()=>d.prev)!==l&&(d.prev=l):(d=vn(new a(t,l)),h[u]=d),i[f]!==d&&(i[f]=d),s.has(f)||e(()=>{const e=f,t=It(function(){const t=i[e];if(t){const n=t.acc;Ct(()=>{o[e]=n})}});s.set(e,t)}),l=d}for(const e of Array.from(s.keys()))e>=t&&f(e);Ct(()=>{o.length!==t&&b.set(o,"length",t,o)})});return On(o,()=>{l();for(const e of s.values())e();s.clear()})},e.setAt=H,e.setEffectName=Ke,e.setObjectName=Le,e.tag=j,e.throttle=function(e){return R({method(t,n,r){let o=0,s=null;return function(...n){const r=Date.now();if(r-o>=e)return s&&(clearTimeout(s),s=null),o=r,t.apply(this,n);if(!s){const i=e-(r-o),c=[...n];s=setTimeout(()=>{o=Date.now(),t.apply(this,c),s=null},i)}}}})},e.touched=Qt,e.touched1=Yt,e.trackEffect=function(e){const t=st();if(!t)throw new Error("Not in an effect");pt.has(t)?pt.get(t).add(e):pt.set(t,new Set([e]))},e.unreactive=Mn,e.untracked=Ct,e.unwrap=at,e.watch=function(e,t,n={}){return"function"==typeof e?function(e,t,{immediate:n=!1,deep:r=!1}={}){let o,s=jn;const i=It(je(function(i){const c=e(i);s!==c&&(s===jn?n&&t(c):t(c,s)),s=c,r&&(o&&o(),o=Sn(c,e=>t(e,e)))},e));return()=>{i(),o&&o()}}(e,t,n):"object"==typeof e&&null!==e?function(e,t,{immediate:n=!1,deep:r=!1}={}){return r?Sn(e,t,{immediate:n}):It(function(){dn(e),n&&t(e),n=!0})}(e,t,n):(()=>{throw new Error("watch: value must be a function or an object")})()},e.zip=function(...e){if(!e.length)return[];const t=Math.min(...e.map(e=>e.length)),n=[];for(let r=0;r<t;r++){const t=e.map(e=>e[r]);n.push(t)}return n}});
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Mutts={})}(this,function(e){"use strict";var t="undefined"!=typeof document?document.currentScript:null;const n=new Set,r={addHook:e=>(n.add(e),()=>n.delete(e)),sanitizePromise:e=>e},o=new WeakMap;function s(){const e=new Set;for(const t of n){const n=t();n&&e.add(n)}return e}function i(e,t){if("function"!=typeof e)return e;const n=t||s();return function(...t){const r=[];for(const e of n)r.push(e());try{return e.apply(this,t)}finally{if(h.queueMicrotask)h.queueMicrotask.call(globalThis,()=>{h.queueMicrotask.call(globalThis,()=>{h.queueMicrotask.call(globalThis,()=>{for(let e=r.length-1;e>=0;e--)r[e]()})})});else for(let e=r.length-1;e>=0;e--)r[e]()}}}r.sanitizePromise=e=>e&&"function"==typeof e.then?new Promise((t,n)=>{setTimeout(()=>{e.then(t,n)},0)}):e;const c=new WeakMap;function a(e){if(e)for(const t of Object.getOwnPropertyNames(e))if(t.startsWith("on")){const n=Object.getOwnPropertyDescriptor(e,t);if(n&&n.set&&n.configurable){const r=n.set;Object.defineProperty(e,t,{...n,set:function(e){r.call(this,i(e))}})}}}"undefined"!=typeof EventTarget&&function(e){if(!e||!e.addEventListener||!e.removeEventListener)return;const t=e.addEventListener,n=e.removeEventListener;e.addEventListener=function(e,n,r){if("function"!=typeof n)return t.call(this,e,n,r);let o=c.get(this);o||(o=new Map,c.set(this,o));let s=o.get(e);s||(s=new WeakMap,o.set(e,s));let a=s.get(n);return a||(a=i(n),s.set(n,a)),t.call(this,e,a,r)},e.removeEventListener=function(e,t,r){if("function"!=typeof t)return n.call(this,e,t,r);const o=c.get(this);if(o){const s=o.get(e);if(s){const o=s.get(t);if(o)return n.call(this,e,o,r)}}return n.call(this,e,t,r)}}(EventTarget.prototype);const f=["undefined"!=typeof EventTarget&&EventTarget.prototype,"undefined"!=typeof HTMLElement&&HTMLElement.prototype,"undefined"!=typeof Window&&Window.prototype,"undefined"!=typeof Document&&Document.prototype,"undefined"!=typeof MessagePort&&MessagePort.prototype,"undefined"!=typeof XMLHttpRequest&&XMLHttpRequest.prototype,"undefined"!=typeof IDBRequest&&IDBRequest.prototype,"undefined"!=typeof IDBTransaction&&IDBTransaction.prototype,"undefined"!=typeof IDBDatabase&&IDBDatabase.prototype,"undefined"!=typeof FileReader&&FileReader.prototype,"undefined"!=typeof AbortSignal&&AbortSignal.prototype];for(const e of f)e&&a(e);const l=Symbol.for("mutts.originals"),u=Symbol.for("mutts.OriginalPromise");let h,d;function p(e,t){const n=o.get(this)||s(),r=h.then.call(this,i(e,n),i(t,n));return n.size>0&&o.set(r,n),r}function g(e){if("function"==typeof e){const t=new d((t,n)=>{const r=i(t),o=i(n);e(r,o)}),n=s();return o.set(t,n),t}return new d(e)}globalThis[l]?(h=globalThis[l],d=globalThis[u]):(d=globalThis.Promise,h={then:d.prototype.then,catch:d.prototype.catch,finally:d.prototype.finally,resolve:d.resolve,reject:d.reject,all:d.all,allSettled:d.allSettled,race:d.race,any:d.any,setTimeout:globalThis.setTimeout,setInterval:globalThis.setInterval,setImmediate:globalThis.setImmediate,requestAnimationFrame:globalThis.requestAnimationFrame,queueMicrotask:globalThis.queueMicrotask},globalThis[l]=h,globalThis[u]=d),h.allSettled||(h.allSettled=d.allSettled),h.any||(h.any=d.any),h.race||(h.race=d.race),Object.assign(g,d),g.prototype=d.prototype,g.resolve=e=>{const t=h.resolve.call(d,e),n=s();return n.size>0&&!o.has(t)&&o.set(t,n),t},g.reject=e=>{const t=h.reject.call(d,e),n=s();return n.size>0&&o.set(t,n),t},g.all=e=>{const t=h.all.call(d,e),n=s();return n.size>0&&o.set(t,n),t},g.allSettled=e=>{const t=h.allSettled.call(d,e),n=s();return n.size>0&&o.set(t,n),t},g.race=e=>{const t=h.race.call(d,e),n=s();return n.size>0&&o.set(t,n),t},g.any=e=>{const t=h.any.call(d,e),n=s();return n.size>0&&o.set(t,n),t},d.prototype.then!==p&&(d.prototype.then=p,d.prototype.catch=function(e){const t=o.get(this)||s(),n=h.catch.call(this,i(e,t));return t.size>0&&o.set(n,t),n},d.prototype.finally=function(e){const t=o.get(this)||s(),n=h.finally.call(this,i(e,t));return t.size>0&&o.set(n,t),n});try{Object.defineProperty(d,Symbol.species,{get:()=>g,configurable:!0})}catch(e){}globalThis.Promise=g,globalThis.setTimeout=(e,...t)=>h.setTimeout.call(globalThis,i(e),...t),globalThis.setInterval=(e,...t)=>h.setInterval.call(globalThis,i(e),...t),h.setImmediate&&(globalThis.setImmediate=(e,...t)=>h.setImmediate.call(globalThis,i(e),...t)),h.requestAnimationFrame&&(globalThis.requestAnimationFrame=e=>h.requestAnimationFrame.call(globalThis,i(e))),h.queueMicrotask&&(globalThis.queueMicrotask=e=>{h.queueMicrotask.call(globalThis,i(e))});const y=new Set([Object,Array,Date,Function,Set,Map,WeakMap,WeakSet,Promise,Error,TypeError,ReferenceError,SyntaxError,RangeError,URIError,EvalError,Reflect,Proxy,RegExp,String,Number,Boolean]);function m(e){return e&&"function"==typeof e&&(y.has(e)||e.toString?.().startsWith("class "))}function b(e,t){return Object.defineProperties(e,{name:{value:t}})}const w={get:(e,t,n)=>"undefined"!=typeof Node&&e instanceof Node?e[t]:Reflect.get(e,t,n),set:(e,t,n,r)=>"undefined"!=typeof Node&&e instanceof Node?(e[t]=n,!0):e instanceof Object||Reflect.has(e,t)?Reflect.set(e,t,n,r):(Object.defineProperty(e,t,{value:n,configurable:!0,writable:!0,enumerable:!0}),!0)};function v(e,t){const n=Object.getOwnPropertyDescriptor(e,t);return!(!n?.get&&!n?.set)}function k(e,t,n=new Map){if(e===t)return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return e===t;if(Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;let r=n.get(e);if(r?.has(t))return!0;if(r||(r=new Set,n.set(e,r)),r.add(t),Array.isArray(e)){if(!Array.isArray(t))return!1;if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!k(e[r],t[r],n))return!1;return!0}if(e instanceof Date){const n=t instanceof Date&&e.getTime()===t.getTime();return n}if(e instanceof RegExp){const n=t instanceof RegExp&&e.toString()===t.toString();return n}if(e instanceof Set){if(!(t instanceof Set)||e.size!==t.size)return!1;for(const r of e){let e=!1;for(const o of t)if(k(r,o,n)){e=!0;break}if(!e)return!1}return!0}if(e instanceof Map){if(!(t instanceof Map)||e.size!==t.size)return!1;for(const[r,o]of e)if(t.has(r)){if(!k(o,t.get(r),n))return!1}else{let e=!1;for(const[s,i]of t)if(k(r,s,n)&&k(o,i,n)){e=!0;break}if(!e)return!1}return!0}const o=Object.keys(e),s=Object.keys(t);if(o.length!==s.length)return!1;for(const r of o){if(!Object.hasOwn(t,r))return!1;if(!k(e[r],t[r],n))return!1}return!0}const S=new WeakMap;function x(e){return S.has(e)||S.set(e,Object.seal(Object.create(null,{contentOf:{value:e,writable:!1,configurable:!1}}))),S.get(e)}function j(e,t){return Object.defineProperties(t,{[Symbol.toStringTag]:{value:e,writable:!1,configurable:!1},toString:{value:()=>e,writable:!1,configurable:!1}}),t}function O(e,t){return Object.defineProperty(t,"name",{value:t.name?`${t.name}::${e}`:e,writable:!1,configurable:!0}),t}class E extends Error{constructor(e){super(e),this.name="DecoratorException"}}function M(e){return function(t,n,r,...o){if(void 0===n){if(m(t)){if(!("class"in e))throw new Error("Decorator cannot be applied to a class");return e.class(t)}}else if("object"==typeof t&&["string","symbol"].includes(typeof n)){if(!r)throw new Error("Decorator cannot be applied to a field");if("object"==typeof r&&"configurable"in r){if("get"in r||"set"in r){if(!("getter"in e)&&!("setter"in e))throw new Error("Decorator cannot be applied to a getter or setter");if("getter"in e){const o=e.getter(r.get,t,n);o&&(r.get=o)}if("setter"in e){const o=e.setter(r.set,t,n);o&&(r.set=o)}return r}if("function"==typeof r.value){if(!("method"in e))throw new Error("Decorator cannot be applied to a method");const o=e.method(r.value,t,n);return o&&(r.value=o),r}}}if(!("default"in e))throw new Error("Decorator do not have a default implementation");return e.default.call(this,t,n,r,...o)}}function T(e){return function(t,n,...r){if(!n?.kind||"string"!=typeof n.kind){if(!("default"in e))throw new Error("Decorator do not have a default implementation");return e.default.call(this,t,n,...r)}switch(n.kind){case"class":if(!("class"in e))throw new Error("Decorator cannot be applied to a class");return e.class(t);case"field":throw new Error("Decorator cannot be applied to a field");case"getter":if(!("getter"in e))throw new Error("Decorator cannot be applied to a getter");return e.getter(t,t,n.name);case"setter":if(!("setter"in e))throw new Error("Decorator cannot be applied to a setter");return e.setter(t,t,n.name);case"method":if(!("method"in e))throw new Error("Decorator cannot be applied to a method");return e.method(t,t,n.name);case"accessor":{if(!("getter"in e)&&!("setter"in e))throw new Error("Decorator cannot be applied to a getter or setter");const r={};if("getter"in e){const o=e.getter(t.get,t,n.name);o&&(r.get=o)}if("setter"in e){const o=e.setter(t.set,t,n.name);o&&(r.set=o)}return r}}}}const R=e=>{const t=T(e),n=M(e);return(e,r,...o)=>{const s=function(e,t){return"object"==typeof t&&null!==t&&"string"==typeof t.kind?"modern":"legacy"}(0,r,o[0]);return"modern"===s?t(e,r,...o):n(e,r,...o)}},P=new FinalizationRegistry(e=>e()),D=Symbol("destructor"),A=Symbol("allocated");class $ extends Error{static throw(e){return()=>{throw new $(e)}}constructor(e){super(`Object is destroyed. ${e}`),this.name="DestroyedAccessError"}}const W={[Symbol.toStringTag]:"MutTs Destroyable",get:$.throw("Cannot access destroyed object"),set:$.throw("Cannot access destroyed object")};const N=R({setter:(e,t,n)=>function(t){return this[A][n]=t,e.call(this,t)}});var z,I;const C=Symbol("events"),_=Symbol("hooks"),L={on(e,t){if("object"==typeof e)for(const t of Object.keys(e))this.on(t,e[t]);else if(void 0!==t){const n=this[C].get(e)??new Set;n.has(t)||n.add(t),this[C].set(e,n)}return()=>this.off(e,t)},off(e,t){if("object"==typeof e)for(const t of Object.keys(e))this.off(t,e[t]);else if(null!=t){const n=this[C].get(e);n&&(n.delete(t),n.size||this[C].delete(e))}else this[C].delete(e)},emit(e,...t){const n=this[C].get(e);if(n)for(const e of n)e.apply(this,t);for(const n of this[_])n.call(this,e,...t)}};function K(e,t,n){const r=new Map;return new Proxy(t,{get(o,s){if("string"!=typeof s)return o[s];if(n&&!e[C].has(s)&&!e[_].size)return()=>{};let i=r.get(s);return i||(i=(...n)=>t.apply(e,[s,...n]),r.set(s,i)),i}})}class B{constructor(){this[z]=new Map,this[I]=new Set,this.on=K(this,L.on),this.off=K(this,L.off),this.emit=K(this,L.emit,"use")}hook(e){return this[_].add(e),()=>{this[_].delete(e)}}}function q(e,t){return e.flavors=t,new Proxy(e,{get:(e,n,r)=>n in t?Reflect.get(t,n,r):e[n]})}function V(e,t,n){const r=function(...n){const r=n[n.length-1],o=void 0!==r&&"object"==typeof r?[...n.slice(0,-1),{...t,...r}]:[...n,t];return e.apply(this,o)};return n&&O(n,r),q(r,e.flavors||{})}z=C,I=_;const H=Symbol("getAt"),F=Symbol("setAt");function U(e,t){e&&"function"!=typeof e&&(t=e,e=void 0),e||(e=class{}),t||(t={get(e){if("function"!=typeof this[H])throw new Error("Indexable class must have an [getAt] method");return this[H](e)},set(e,t){if("function"!=typeof this[F])throw new Error("Indexable class has read-only numeric index access");this[F](e,t)}});class n extends e{}return Object.setPrototypeOf(n.prototype,new Proxy(e.prototype,{[Symbol.toStringTag]:"MutTs Indexable",get(e,n,r){if(n in e){const t=Object.getOwnPropertyDescriptor(e,n)?.get;return t?t.call(r):e[n]}if("string"==typeof n){if("length"===n&&t.getLength)return t.getLength.call(r);const e=Number(n);if(!Number.isNaN(e))return t.get.call(r,e)}},set(e,n,r,o){if(n in e){const t=Object.getOwnPropertyDescriptor(e,n)?.set;return t?t.call(o,r):e[n]=r,!0}if("string"==typeof n){if("length"===n&&t.setLength)return t.setLength.call(o,r),!0;const e=Number(n);if(!Number.isNaN(e)){if(!t.set)throw new Error("Indexable class has read-only numeric index access");return t.set.call(o,e,r),!0}}return Object.defineProperty(o,n,{value:r,writable:!0,enumerable:!0,configurable:!0}),!0},has(e,n){if(n in e)return!0;if("string"==typeof n){if("length"===n&&t.getLength)return!0;const e=Number(n);if(!Number.isNaN(e))return!0}return!1},ownKeys(e){const n=Reflect.ownKeys(e);if(t.getLength){n.push("length");const e=t.getLength.call(this);for(let t=0;t<e;t++)n.push(String(t))}return n},getOwnPropertyDescriptor(e,n){if(n in e)return Object.getOwnPropertyDescriptor(e,n);if("string"==typeof n){if("length"===n&&t.getLength)return{enumerable:!1,configurable:!0,get:()=>t.getLength.call(this)};const e=Number(n);if(!Number.isNaN(e))return{enumerable:!0,configurable:!0,get:()=>t.get.call(this,e),set:t.set?n=>t.set.call(this,e,n):void 0}}}})),n}const X=Symbol("forwardArray");class Z{get[X](){throw new Error("ArrayReadForward is not implemented")}get length(){return this[X].length}[Symbol.iterator](){return this[X][Symbol.iterator]()}map(e,t){return this[X].map(e,t)}filter(e,t){return this[X].filter(e,t)}reduce(e,t){return void 0!==t?this[X].reduce(e,t):this[X].reduce(e)}reduceRight(e,t){return void 0!==t?this[X].reduceRight(e,t):this[X].reduceRight(e)}forEach(e,t){this[X].forEach(e,t)}find(e,t){return this[X].find(e,t)}findIndex(e,t){return this[X].findIndex(e,t)}findLast(e,t){return this[X].findLast(e,t)}findLastIndex(e,t){return this[X].findLastIndex(e,t)}includes(e,t){return this[X].includes(e,t)}indexOf(e,t){return this[X].indexOf(e,t)}lastIndexOf(e,t){return this[X].lastIndexOf(e,t)}slice(e,t){return this[X].slice(e,t)}concat(...e){return this[X].concat(...e)}every(e,t){return this[X].every(e,t)}some(e,t){return this[X].some(e,t)}join(e){return this[X].join(e)}keys(){return this[X].keys()}values(){return this[X].values()}entries(){return this[X].entries()}toString(){return this[X].toString()}toLocaleString(e,t){return this[X].toLocaleString(e,t)}at(e){return this[X].at(e)}flat(e){return this[X].flat(e)}flatMap(e,t){return this[X].flatMap(e,t)}toReversed(){return this[X].toReversed?.()??[...this[X]].reverse()}toSorted(e){return this[X].toSorted?.(e)??[...this[X]].sort(e)}toSpliced(e,t,...n){return void 0===t?this[X].toSpliced(e):this[X].toSpliced(e,t,...n)}with(e,t){return this[X].with(e,t)}get[Symbol.unscopables](){return this[X][Symbol.unscopables]}}var Y,G;class J{constructor(e){if(this.uuids=new WeakMap,this.refs={},this[Y]="IterableWeakMap",this.registry=new FinalizationRegistry(e=>{delete this.refs[e]}),e)for(const[t,n]of e)this.set(t,n)}createIterator(e){const{refs:t}=this;return function*(){for(const n of Object.keys(t)){const[r,o]=t[n],s=r.deref();s?yield e(s,o):delete t[n]}}()}clear(){for(const e of Object.keys(this.refs)){const t=this.refs[e][0].deref();t&&this.registry.unregister(t)}this.uuids=new WeakMap,this.refs={}}delete(e){const t=this.uuids.get(e);return!!t&&(delete this.refs[t],this.uuids.delete(e),this.registry.unregister(e),!0)}forEach(e,t){for(const[n,r]of this)e.call(t??this,r,n,t??this)}get(e){const t=this.uuids.get(e);if(t)return this.refs[t][1]}has(e){return this.uuids.has(e)}set(e,t){let n=this.uuids.get(e);return n?this.refs[n][1]=t:(n=crypto.randomUUID(),this.uuids.set(e,n),this.refs[n]=[new WeakRef(e),t],this.registry.register(e,n,e)),this}get size(){return[...this].length}entries(){return this.createIterator((e,t)=>[e,t])}keys(){return this.createIterator((e,t)=>e)}values(){return this.createIterator((e,t)=>t)}[Symbol.iterator](){return this.entries()}}Y=Symbol.toStringTag;class Q{constructor(e){if(this.uuids=new WeakMap,this.refs={},this[G]="IterableWeakSet",this.registry=new FinalizationRegistry(e=>{delete this.refs[e]}),e)for(const t of e)this.add(t)}createIterator(e){const{refs:t}=this;return function*(){for(const n of Object.keys(t)){const r=t[n].deref();r?yield e(r):delete t[n]}}()}clear(){for(const e of Object.keys(this.refs)){const t=this.refs[e].deref();t&&this.registry.unregister(t)}this.uuids=new WeakMap,this.refs={}}add(e){let t=this.uuids.get(e);return t||(t=crypto.randomUUID(),this.uuids.set(e,t),this.refs[t]=new WeakRef(e),this.registry.register(e,t,e)),this}delete(e){const t=this.uuids.get(e);return!!t&&(delete this.refs[t],this.uuids.delete(e),this.registry.unregister(e),!0)}forEach(e,t){for(const n of this)e.call(t??this,n,n,t??this)}has(e){return this.uuids.has(e)}get size(){return[...this].length}entries(){return this.createIterator(e=>[e,e])}keys(){return this.createIterator(e=>e)}values(){return this.createIterator(e=>e)}[Symbol.iterator](){return this.keys()}union(e){const t={[Symbol.iterator]:()=>e.keys()},n=this;return new Set(function*(){yield*n;for(const e of t)n.has(e)||(yield e)}())}intersection(e){const t=this;return new Set(function*(){for(const n of t)e.has(n)&&(yield n)}())}difference(e){const t=this;return new Set(function*(){for(const n of t)e.has(n)||(yield n)}())}symmetricDifference(e){const t={[Symbol.iterator]:()=>e.keys()},n=this;return new Set(function*(){for(const t of n)e.has(t)||(yield t);for(const e of t)n.has(e)||(yield e)}())}isSubsetOf(e){for(const t of this)if(!e.has(t))return!1;return!0}isSupersetOf(e){const t={[Symbol.iterator]:()=>e.keys()};for(const e of t)if(!this.has(e))return!1;return!0}isDisjointFrom(e){for(const t of this)if(e.has(t))return!1;return!0}}function ee(e,t){const n=new WeakMap,r=e(Object);return n.set(Object,r),new Proxy(r,{apply(r,o,s){if(0===s.length)throw new Error("Mixin requires a base class");const i=s[0];if("function"!=typeof i)throw new Error("Mixin requires a constructor function");if(!(m(i)||i&&"function"==typeof i&&i.prototype))throw new Error("Mixin requires a valid constructor");const c=n.get(i);if(c)return c;let a=i;if(t){const e=class extends i{},n=i.prototype,r=new Proxy(n,{get(e,n,r){const o=w.get(e,n,r);return"function"!=typeof o||"string"!=typeof n||["constructor","toString","valueOf"].includes(n)?o:function(...e){const n=t(this);return o.apply(n,e)}}});Object.setPrototypeOf(e.prototype,r),a=e}const f=e(a);return n.set(i,f),f}})}G=Symbol.toStringTag;const te=(e,t)=>(...n)=>t[e](...n),ne=new WeakMap,re=new WeakMap;function oe(e,t){re.set(t,e),ne.set(e,t)}const se={[Symbol.toStringTag]:"MutTs PromiseChain function",get:(e,t)=>t===Symbol.toStringTag?"PromiseProxy":"string"==typeof t&&["then","catch","finally"].includes(t)?e[t]:le(e.then(e=>e[t]))},ie=e=>({then:te("then",e),catch:te("catch",e),finally:te("finally",e)}),ce={[Symbol.toStringTag]:"MutTs PromiseChain object",get(e,t,n){const r=Object.getOwnPropertyDescriptor(e,t)?.get,o=r?r.call(n):e[t];return"function"==typeof e?o:le(o)},apply:(e,t,n)=>le(e.apply(t,n))};function ae(e){const t=new Proxy(e,ce);return oe(e,t),t}function fe(e){return e&&["function","object"].includes(typeof e)}function le(e){if(!fe(e))return e;if(ne.has(e))return ne.get(e);if(!(e instanceof Promise))return ae(e);e=e.then(e=>fe(e)?ae(e):e);const t=Object.assign(function(...t){return le(e.then(e=>this?.then?this.then(n=>e.apply(n,t)):e.apply(this,t)))},ie(e)),n=new Proxy(t,se);return oe(e,n),n}function ue(e,t,n,r,o,s){function i(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var c,a=r.kind,f="getter"===a?"get":"setter"===a?"set":"value",l=!t&&e?r.static?e:e.prototype:null,u=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),h=!1,d=n.length-1;d>=0;d--){var p={};for(var g in r)p[g]="access"===g?{}:r[g];for(var g in r.access)p.access[g]=r.access[g];p.addInitializer=function(e){if(h)throw new TypeError("Cannot add initializers after decoration has completed");s.push(i(e||null))};var y=(0,n[d])("accessor"===a?{get:u.get,set:u.set}:u[f],p);if("accessor"===a){if(void 0===y)continue;if(null===y||"object"!=typeof y)throw new TypeError("Object expected");(c=i(y.get))&&(u.get=c),(c=i(y.set))&&(u.set=c),(c=i(y.init))&&o.unshift(c)}else(c=i(y))&&("field"===a?o.unshift(c):u[f]=c)}l&&Object.defineProperty(l,r.name,u),h=!0}function he(e,t,n){for(var r=arguments.length>2,o=0;o<t.length;o++)n=r?t[o].call(e,n):t[o].call(e);return r?n:void 0}function de(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)}function pe(e,t,n,r,o){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?o.call(e,n):o?o.value=n:t.set(e,n),n}"function"==typeof SuppressedError&&SuppressedError;const ge=Symbol("native-reactive"),ye=Symbol("non-reactive"),me=Symbol("unreactive-properties"),be=Symbol("all-props"),we=Symbol("projection-info"),ve=Symbol("stopped"),ke=Symbol("cleanup"),Se=Symbol("root-function");var xe;e.ReactiveErrorCode=void 0,(xe=e.ReactiveErrorCode||(e.ReactiveErrorCode={})).CycleDetected="CYCLE_DETECTED",xe.MaxDepthExceeded="MAX_DEPTH_EXCEEDED",xe.MaxReactionExceeded="MAX_REACTION_EXCEEDED",xe.WriteInComputed="WRITE_IN_COMPUTED",xe.TrackingError="TRACKING_ERROR",xe.BrokenEffects="BROKEN_EFFECTS";class je extends Error{constructor(e,t){super(e),this.debugInfo=t,this.name="ReactiveError"}get code(){return this.debugInfo?.code}get cause(){return this.debugInfo?.cause}}const Oe={enter:e=>{},leave:e=>{},chain:(e,t)=>{},beginChain:e=>{},endChain:()=>{},garbageCollected:e=>{},touched:(e,t,n,r)=>{},skipRunningEffect:e=>{},maxEffectChain:100,maxTriggerPerBatch:10,maxEffectReaction:"throw",onMemoizationDiscrepancy:void 0,cycleHandling:"development",isVerificationRun:!1,maxDeepWatchDepth:100,instanceMembers:!0,ignoreAccessors:!0,recursiveTouching:!0,asyncMode:"cancel",warn:(...e)=>{},introspection:{enableHistory:!1,historySize:50},zones:{setTimeout:!0,setInterval:!0,requestAnimationFrame:!0,queueMicrotask:!0}};function Ee(e,...t){const n=Oe[e];if("function"==typeof n)try{n(...t)}catch(t){Oe.warn(`options.${e} threw`,t)}}let Me=new WeakMap,Te=new WeakMap,Re=new WeakMap;function Pe(e){let t=Re.get(e);return t||(t={},Re.set(e,t)),t}let De=new WeakMap;function Ae(e,t){const n=De.get(t),r=n?.deref();if(r&&r!==e){const n=t.name||"anonymous",o=r.name||"anonymous",s=e.name||"anonymous";throw new Error(`[reactive] Abusive Shared Root detected: Root '${n}' is already identifying function '${o}'. Cannot reuse it for '${s}'. Shared roots cause lost updates and broken identity logic.`)}return De.set(t,new WeakRef(e)),Object.defineProperty(e,Se,{value:$e(t),writable:!1})}function $e(e){for(;e&&Se in e;)e=e[Se];return e}var We;function Ne(e){return e}class ze{enter(e){const t=this.active;return this.active=e,t}leave(e){this.active=e}with(e,t){const n=this.enter(e);let o;try{o=t()}finally{this.leave(n)}return r.sanitizePromise(o)}root(e){const t=this.enter();try{return e()}finally{this.leave(t)}}get zoned(){const e=this.active;return O(`${this}@${e}`,t=>this.with(e,t))}}class Ie extends ze{}class Ce extends ze{has(e){return this.history.has(e)}some(e){for(const t of this.history)if(e(t))return!0;return!1}constructor(e=new Ie){super(),this.controlled=e,this.history=new Set;const t=this;this.present=Object.create(e,Object.getOwnPropertyDescriptors({get active(){return e.active},set active(t){e.active=t},enter(n){if(n&&t.history.has(n))throw new Error("ZoneHistory: re-entering historical zone");return void 0!==n&&t.history.add(n),{added:n,entered:e.enter(n)}},leave:n=>(void 0!==n.added&&t.history.delete(n.added),e.leave(n.entered))}))}get active(){return{present:this.controlled.active,history:new Set(this.history)}}set active(e){this.history=e?.history?new Set(e.history):new Set,this.controlled.active=e?.present}}class _e extends ze{constructor(...e){super(),We.set(this,new Set);for(const t of e)de(this,We,"f").add(t)}get active(){const e=new Map;for(const t of de(this,We,"f"))void 0!==t.active&&e.set(t,t.active);return e}set active(e){for(const t of de(this,We,"f"))t.active=e?.get(t)}enter(e){const t=new Map;for(const n of de(this,We,"f")){const r=e?.get(n);t.set(n,Ne(n).enter(r))}return t}leave(e){for(const t of de(this,We,"f"))Ne(t).leave(e.get(t))}add(e){de(this,We,"f").add(e)}delete(e){de(this,We,"f").delete(e)}clear(){de(this,We,"f").clear()}}We=new WeakMap;const Le=j("async",new _e);r.addHook(()=>{const e=Le.active;return()=>{const t=Le.active;return Le.active=e,()=>Le.active=t}});const Ke=j("effectHistory",new Ce);j("effectHistory.present",Ke.present),Le.add(Ke);const Be=j("effectAggregator",new _e(Ke.present));function qe(e){const t=$e(e);return Ke.some(e=>$e(e)===t)}function Ve(){return Ke.present.active}function He(e,t){const n=e[ke];return Object.defineProperty(e,ke,{value:n?Object.defineProperties(()=>{n(),t()},{[ve]:{get:()=>n[ve]||t[ve]}}):t,writable:!1,enumerable:!1,configurable:!0})}const Fe="effect:enter",Ue="effect:leave";function Xe(e){const t=e.match(/^\s*at\s+(?:(.+?)\s+\()?(?:(.+?):(\d+):(\d+))\)?$/),n=e.match(/(?:(.+?)(?:\@|\(?))?(?:(.+?):(\d+):(\d+))(?:\@|\)?)$/),r=t||n;if(!r)return null;const[,o="anonymous",s,i,c]=r;return{functionName:o.trim(),fileName:s,lineNumber:parseInt(i,10),columnNumber:parseInt(c,10),raw:e.trim()}}let Ze;function Ye(e=new Error){if(!e.stack)return[];const t=e.stack.split("\n"),n=t.findIndex(e=>e.includes(Fe));-1!==n&&t.splice(n);const r=t.findLastIndex(e=>e.includes(Ue));if(-1!==r)t.splice(0,r+1);else{if(!Ze&&t[1]){const e=Xe(t[1]);e&&(Ze=e.fileName)}const e=Ze?Ze.lastIndexOf("/src/"):-1,n=Ze?Ze.lastIndexOf("/dist/"):-1;let r;for(Ze&&(-1!==e?Ze.substring(0,e+5):-1!==n?Ze.substring(0,n+6):Ze.substring(0,Ze.lastIndexOf("/")+1)),r=1;r<t.length;r++){const e=Xe(t[r]);if(!e)continue;if(!(/Lineage$/.test(e.functionName)||"eval"===e.functionName||["getStackFrame","captureLineage"].includes(e.functionName)))break}t.splice(0,r)}return t.map(Xe).filter(Boolean)}function Ge(e){const t=e??Ve(),n=Ye(),r=[];if(!t)return r.push({effectName:"root",stack:Je(n)}),r;let o=t,s=n;for(;o;){const e=$e(o);e.name;const t=e.name||"anonymous",n=Je(s);r.push({effectName:t,stack:n});const i=Pe(o).parent,c=Pe(o).creationStack;if(!i){if(c){r.push({effectName:"root",stack:Je(c)});break}break}o=i,s=c??[]}return r}function Je(e){const t=[];let n=!1;for(const r of e){const e=r.fileName.includes("/node_modules/");e&&!n?(n=!0,t.push({functionName:"...node_modules...",fileName:"[filtered]",lineNumber:0,columnNumber:0,raw:" at ...node_modules..."})):!e&&n?(n=!1,t.push(r)):e||t.push(r)}return t}function Qe(e){const t=[];for(let n=0;n<e.length;n++){const r=e[n];n>0&&t.push(` --- effect: ${e[n-1].effectName} ---`);for(const e of r.stack)t.push(` ${e.raw}`)}return t.join("\n")}const et={header:e=>{if(e&&e.__isLineage__){return["span",{style:`color: ${"undefined"!=typeof window&&window.matchMedia?.("(prefers-color-scheme: dark)").matches?"#cd9d5d":"#704214"}; font-weight: bold;`},`🦴 Effect Lineage (${e.segments.length} segments)`]}return null},hasBody:e=>e&&e.__isLineage__,body:e=>{if(!e||!e.__isLineage__)return null;const t=e.segments,n="undefined"!=typeof window&&window.matchMedia?.("(prefers-color-scheme: dark)").matches?{frameText:"#ccc",functionName:"#ffffff",segmentBg:"#2d2d2d"}:{frameText:"#555",functionName:"#222",segmentBg:"#eee"};return["div",{style:"padding: 5px; line-height: 1.4;"},...t.map((e,t)=>{const r=e.stack.map(e=>["div",{style:`margin-left: 20px; color: ${n.frameText}; font-family: monospace; font-size: 11px;`},["span",{style:`color: ${n.functionName};`},`at ${e.functionName} `],["span",{},`${e.fileName}:${e.lineNumber}:${e.columnNumber}`]]);return["div",{},["div",{style:`margin-top: 5px; padding: 2px 5px; background: ${n.segmentBg}; border-radius: 3px; font-weight: bold;`},0===t?`📍 Current: ${e.effectName}`:`↖ Effect: ${e.effectName}`],...r]})]}};const tt=new WeakMap,nt=new WeakSet,rt=new WeakMap,ot=new WeakMap;function st(e,t,n){let r=tt.get(e);r||(r=new Set,tt.set(e,r)),r.add({parent:t,prop:n})}function it(e,t,n){const r=tt.get(e);if(r){for(const e of r)if(e.parent===t&&e.prop===n){r.delete(e);break}0===r.size&&tt.delete(e)}}function ct(e){return!!nt.has(e)||ft(e)}function at(e,t){const n=tt.get(e);if(n)for(const{parent:e}of n){const t=rt.get(e);if(t)for(const e of t)Wn(e);at(e)}}function ft(e){const t=tt.get(e);if(!t)return!1;for(const{parent:e}of t){if(nt.has(e))return!0;if(ft(e))return!0}return!1}const lt=new WeakMap,ut=new WeakMap;function ht(e){let t=e;for(;t&&"object"==typeof t&&null!==t&&ut.has(t);)t=ut.get(t);return t}const dt=new WeakMap;function pt(e,t){const n={},r=gt(e=ht(e));r&&Object.assign(r,{evolution:t,next:n}),dt.set(e,n)}function gt(e){e=ht(e);let t=dt.get(e);return t||(t={},dt.set(e,t)),t}function yt(e,t,n,r,...o){const s=Ve();for(const i of o)for(const o of i){const i=r.get(o);if(i)for(const r of i){qe(r)?Ee("skipRunningEffect",r):(n.has(r)||(n.add(r),On(r)||yn(r,e,t,o)),sn(s,r,e,o,t))}}}function mt(e,t,n){bt(e,t,[n])}function bt(e,t,n){pt(e=ht(e),t);const r=Te.get(e);if(r){const o=new Set;n?yt(e,t,o,r,[be],n):yt(e,t,o,r,r.keys()),Ee("touched",e,t,n,o),Wn(Array.from(o))}nt.has(e)&&at(e)}const wt=new WeakSet,vt=new Set,kt=Symbol("absent");function St(...e){for(const t of e)t&&(t.prototype[ye]=!0);return e[0]}function xt(e){if(null===e||"object"!=typeof e)return!0;if(wt.has(e))return!0;if(e[ye])return!0;for(const t of vt)if(t(e))return!0;return!1}function jt(e){return function(e){return"object"==typeof e&&null!==e}(e)}function Ot(e){if(jt(e)){if(Array.isArray(e))return Array.prototype;try{return e.constructor}catch{return}}}function Et(e,t){return e!==t&&(!(!jt(e)||!jt(t))&&(!xt(e)&&!xt(t)&&Ot(e)===Ot(t)))}function Mt(e,t,n,r,o){const s={type:o?"set":"add",prop:t};if(Oe.recursiveTouching&&void 0!==n&&Et(n,r)){const o={obj:ht(e),prop:t};!function(e){if(!e.length)return;const t=new Set,n=e[0]?.origin;let r;if(n){r=new Set;const e=Te.get(n.obj);if(e){const t=new Set;yt(n.obj,{type:"set",prop:n.prop},t,e,[be],[n.prop]);for(const e of t)r.add(e)}if(0===r.size)return}for(const{target:o,evolution:s,prop:i}of e){if(!jt(o))continue;const e=ht(o);pt(e,s);const c=Te.get(e);let a;const f=[i];if(c){if(a=new Set,yt(e,s,a,c,[be],f),n&&r){const e=new Set;for(const t of a)(r.has(t)||Pt(t,r))&&e.add(t);a=e}for(const e of a)t.add(e)}Ee("touched",e,s,f,a),nt.has(e)&&at(e)}t.size&&Wn([...t])}(Rt(n,r,new WeakMap,[],o)),function(e,t,n){e=ht(e);const r=Te.get(e);if(!r)return;const o=r.get(n);if(!o)return;const s=new Set,i=Ve();for(const r of o)Pe(r).isOpaque&&(qe(r)?Ee("skipRunningEffect",r):(s.add(r),yn(r,e,t,n),sn(i,r,e,n,t)));s.size>0&&(Ee("touched",e,t,[n],s),Wn(Array.from(s)))}(e,s,t)}else mt(e,s,t)}function Tt(e){const t=new Set(Reflect.ownKeys(e));let n=Object.getPrototypeOf(e);for(;n&&!Object.hasOwn(n,"constructor");){for(const e of Reflect.ownKeys(n))t.add(e);n=Object.getPrototypeOf(n)}return t}function Rt(e,t,n=new WeakMap,r=[],o){return Et(e,t)&&jt(e)&&jt(t)?function(e,t,n){let r=e.get(t);return r||(r=new WeakSet,e.set(t,r)),!!r.has(n)||(r.add(n),!1)}(n,e,t)?r:Array.isArray(e)&&Array.isArray(t)?(function(e,t,n,r,o){const s=[],i=e.length,c=t.length,a=Math.max(i,c);for(let n=0;n<a;n++){const r=n<i,a=n<c;if(r&&!a){s.push({target:e,evolution:{type:"del",prop:n},prop:n,origin:o});continue}if(!r&&a){s.push({target:e,evolution:{type:"add",prop:n},prop:n,origin:o});continue}if(!r||!a)continue;const f=ht(e[n]),l=ht(t[n]);Object.is(f,l)||s.push({target:e,evolution:{type:"set",prop:n},prop:n,origin:o})}i!==c&&s.push({target:e,evolution:{type:"set",prop:"length"},prop:"length",origin:o});r.push(...s)}(e,t,0,r,o),r):(function(e,t,n,r,o){const s=Tt(e),i=Tt(t),c=[];for(const t of s)i.has(t)||c.push({target:e,evolution:{type:"del",prop:t},prop:t,origin:o});for(const t of i)s.has(t)||c.push({target:e,evolution:{type:"add",prop:t},prop:t,origin:o});for(const a of i){if(!s.has(a))continue;const i=ht(e[a]),f=ht(t[a]);Et(i,f)?Rt(i,f,n,r,o):Object.is(i,f)||c.push({target:e,evolution:{type:"set",prop:a},prop:a,origin:o})}r.push(...c)}(e,t,n,r,o),r):r}function Pt(e,t){let n=e;const r=new WeakSet;for(;n&&!r.has(n);){if(r.add(n),t.has(n))return!0;n=Pe(n).parent}return!1}function Dt(e,t=be){e=ht(e);const n=Ve();if(!n||"symbol"==typeof t&&t!==be)return;"dependencyHook"in n&&n.dependencyHook(e,t);let r=Te.get(e);r||(r=new Map,Te.set(e,r));let o=r.get(t);o||(o=new Set,r.set(t,o)),o.add(n);const s=Me.get(n);s?s.add(e):Me.set(n,new Set([e]))}St(Date,RegExp,Error,Promise,Function),"undefined"!=typeof window&&(!function(...e){for(const t of e){try{Object.defineProperty(t,ye,{value:!0,writable:!1,enumerable:!1,configurable:!1})}catch{}ye in t||wt.add(t)}e[0]}(window,document),St(Node,Element,HTMLElement,EventTarget));const At=new WeakMap,$t=[],Wt={[Symbol.toStringTag]:"MutTs Reactive",get(e,t,n){if(e&&"object"==typeof e&&t!==Symbol.toStringTag){const n=At.get(e.constructor);if(n&&Object.hasOwn(n,t)){const r=Object.getOwnPropertyDescriptor(n,t);if(r.get){if(!Object.hasOwn(e,t))return r.get.call(e);const n=Object.getOwnPropertyDescriptor(e,t);if(n.configurable||n.writable||n.get)return r.get.call(e)}else if(!Object.hasOwn(e,t))return(...t)=>r.value.apply(e,t)}}if(t===ye)return!1;const r=ht(e);if(r[me]?.has(t)||"symbol"==typeof t)return w.get(e,t,n);const o=Reflect.has(n,t),s=o&&Object.hasOwn(n,t),i=o&&!s,c=Oe.ignoreAccessors&&s&&(v(n,t)||v(r,t));if(o&&(Oe.instanceMembers&&i&&e instanceof Object||c)||Dt(e,t),i&&(!Oe.instanceMembers||!(e instanceof Object))){let n=It(Object.getPrototypeOf(e));for(;n&&n!==Object.prototype&&(Dt(n,t),!Object.hasOwn(n,t));){let e=It(Object.getPrototypeOf(n));e===n&&(e=It(Object.getPrototypeOf(ht(n)))),n=e}}const a=w.get(e,t,n);if("object"==typeof a&&null!==a){const n=It(a);return ct(e)&&st(n,e,t),n}return a},set(e,t,n,r){const o=ht(e),s=ht(r);if(o[me]?.has(t)||o!==s)return w.set(e,t,n,r);const i=ht(n);if(e&&"object"==typeof e&&t!==Symbol.toStringTag){const n=e.constructor&&At.get(e.constructor);if(n&&Object.hasOwn(n,t)){const r=Object.getOwnPropertyDescriptor(n,t);if(r.set)return r.set.call(e,i),!0}}let c=kt;if(Reflect.has(s,t)){Object.getOwnPropertyDescriptor(s,t),Object.getOwnPropertyDescriptor(o,t);c=Cn(()=>Reflect.get(o,t,r))}if(nt.has(e)&&("object"==typeof c&&null!==c&&it(c,e,t),"object"==typeof i&&null!==i)){st(It(i),e,t)}return c!==i&&w.set(e,t,i,r)&&Mt(e,t,c,i,c!==kt),!0},has(t,n){if($t.includes(t))throw new je(`[reactive] Circular dependency detected in 'has' check for property '${String(n)}'`,{code:e.ReactiveErrorCode.CycleDetected,cycle:[]});$t.push(t),Dt(t,n);const r=Reflect.has(t,n);return $t.pop(),r},deleteProperty(e,t){if(!Object.hasOwn(e,t))return!1;const n=e[t];return nt.has(e)&&"object"==typeof n&&null!==n&&it(n,e,t),delete e[t],mt(e,{type:"del",prop:t},t),nt.has(e)&&at(e),!0},ownKeys:e=>(Dt(e,be),Reflect.ownKeys(e))},Nt=new WeakSet,zt=ee(e=>class extends e{constructor(...e){return super(...e),Nt.has(new.target)?Ct(this):this}});function It(e){if(!e||"object"!=typeof e)return e;const t=e;if(xt(t))return t;if(ut.has(t))return t;const n=function(e){return lt.get(e)}(t);if(void 0!==n)return n;const r=!(ge in t)||t instanceof t[ge]?t:new t[ge](t);r!==t&&function(e,t){ut.set(e,t)}(r,t);const o=new Proxy(r,Wt);return function(e,t){lt.set(e,t),ut.set(t,e)}(t,o),o}const Ct=R({class(e){if(e.prototype instanceof zt)return Nt.add(e),e;class t extends e{constructor(...n){return super(...n),new.target===t||Nt.has(new.target)||Oe.warn(`${e.name} has been inherited by ${this.constructor.name} that is not reactive.\n@reactive decorator must be applied to the leaf class OR classes have to extend ReactiveBase.`),Ct(this)}}return Object.defineProperty(t,"name",{value:`Reactive<${e.name}>`}),t},get:e=>It(e),default:It});function _t(){if("undefined"==typeof document)return;const e=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?{panelBg:"rgba(30, 30, 30, 0.95)",panelBorder:"#444",headerBg:"#8B4513",headerText:"#ffffff",closeBtn:"#ffffff",placeholderText:"#999",segmentBorder:"#8B4513",titleText:"#ffffff",frameText:"#ccc",atText:"#888",linkText:"#58a6ff"}:{panelBg:"rgba(255, 255, 255, 0.95)",panelBorder:"#ddd",headerBg:"#704214",headerText:"#ffffff",closeBtn:"#ffffff",placeholderText:"#666",segmentBorder:"#704214",titleText:"#222",frameText:"#555",atText:"#999",linkText:"#005cc5"},t=Ct({activeLineage:[],isVisible:!0}),n=document.createElement("div");n.id="mutts-lineage-panel",Object.assign(n.style,{position:"fixed",bottom:"20px",right:"20px",width:"400px",maxHeight:"80vh",backgroundColor:e.panelBg,backdropFilter:"blur(10px)",border:`1px solid ${e.panelBorder}`,borderRadius:"12px",boxShadow:"0 10px 25px rgba(0,0,0,0.15)",zIndex:"999999",fontFamily:"Inter, system-ui, sans-serif",fontSize:"12px",display:"flex",flexDirection:"column",overflow:"hidden",transition:"opacity 0.3s, transform 0.3s"});const r=document.createElement("div");Object.assign(r.style,{padding:"12px 16px",background:e.headerBg,color:e.headerText,fontWeight:"600",display:"flex",justifyContent:"space-between",alignItems:"center",cursor:"grab"}),r.innerHTML='<span><span style="font-size: 14px; margin-right: 5px;">🦴</span> Mutts Lineage</span>';const o=document.createElement("button");o.innerText="×",Object.assign(o.style,{background:"none",border:"none",color:e.closeBtn,fontSize:"20px",cursor:"pointer",padding:"0 5px"}),o.onclick=()=>{t.isVisible=!1},r.appendChild(o),n.appendChild(r);const s=document.createElement("div");Object.assign(s.style,{padding:"16px",overflowY:"auto",flex:"1"}),n.appendChild(s),document.body.appendChild(n),In(()=>{n.style.opacity=t.isVisible?"1":"0",n.style.pointerEvents=t.isVisible?"all":"none",n.style.transform=t.isVisible?"translateY(0)":"translateY(20px)"}),In(()=>{0!==t.activeLineage.length?(s.innerHTML="",t.activeLineage.forEach((t,n)=>{const r=document.createElement("div");Object.assign(r.style,{marginBottom:"16px",borderLeft:`2px solid ${e.segmentBorder}`,paddingLeft:"12px"});const o=document.createElement("div");Object.assign(o.style,{fontWeight:"bold",marginBottom:"6px",color:e.titleText}),o.innerText=0===n?`📍 Current: ${t.effectName}`:`↖ Effect: ${t.effectName}`,r.appendChild(o),t.stack.forEach(t=>{const n=document.createElement("div");Object.assign(n.style,{color:e.frameText,marginBottom:"3px",fontSize:"11px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",cursor:"pointer"}),n.title=t.raw,n.innerHTML=`<span style="color: ${e.atText}">at</span> ${t.functionName} <span style="color: ${e.linkText}; text-decoration: underline;">(${t.fileName.split("/").pop()}:${t.lineNumber})</span>`,r.appendChild(n)}),s.appendChild(r)})):s.innerHTML=`<div style="color: ${e.placeholderText}; font-style: italic; text-align: center; margin-top: 20px;">No effect triggered yet...</div>`})}const Lt=Symbol("external-source");let Kt=!1;const Bt=new Set,qt=new Set,Vt=new WeakMap,Ht=new WeakMap;let Ft=0,Ut=0;const Xt={get enabled(){return Kt},logErrors:!1},Zt=new Map;function Yt(e){let t=Vt.get(e);if(!t){const n=$e(e);t=n?.name?.trim()||"effect_"+ ++Ft,Vt.set(e,t)}return t}function Gt(e){let t=Ht.get(e);if(!t){const n=e?.constructor?.name;t=`${n&&"Object"!==n?n:"object"}_${++Ut}`,Ht.set(e,t)}return t}function Jt(e){if(!e||Bt.has(e))return;Bt.add(e);const t=Me.get(e);if(t)for(const e of t)Qt(e)}function Qt(e){qt.has(e)||function(e){qt.add(e),Gt(e)}(e)}function en(e,t,n,r,o,s){const i=function(e){let t=Zt.get(e);return t||(t=new Map,Zt.set(e,t)),t}(e);let c=i.get(t);c||(c=new Map,i.set(t,c));let a=c.get(n);return a||(a={label:n,object:r,prop:o,evolution:s,count:0,lastTriggered:Date.now()},c.set(n,a)),a}function tn(e,t){Vt.set(e,t)}function nn(e,t){Ht.set(e,t),qt.add(e)}function rn(e){e&&Kt&&Jt(e)}function on(e){Kt&&Qt(e)}function sn(e,t,n,r,o){if(function(e,t,n,r){const o=Pe(e),s=o.trackers;if(s)for(const o of s)o(t,n,r,e)}(t,n,o,r),Oe.introspection.enableHistory&&function(e,t,n,r,o){const s={id:++hn,timestamp:Date.now(),source:e?Yt(e):"External",target:Yt(t),objectName:Gt(n),prop:String(r),type:o.type};ln.push(s),ln.length>Oe.introspection.historySize&&ln.shift()}(e,t,n,r,o),!Kt)return;Jt(t),e&&Jt(e);const s=function(e,t){const n=Gt(e);return t===be?`${n}.*`:"symbol"==typeof t?`${n}.${t.description??t.toString()}`:`${n}.${String(t)}`}(n,r),i=en(e??Lt,t,s,n,r,o);i.count+=1,i.lastTriggered=Date.now(),Qt(n)}function cn(e,t=5){const n=[];let r=e;for(let e=0;e<t;e++){let e,t="";e:for(const[n,o]of Zt)for(const[s,i]of o)if(s===r){let r=0;for(const o of i.values())o.lastTriggered>r&&(r=o.lastTriggered,t=o.label,e=n===Lt?void 0:n);if(e||t)break e}if(!e){if(t){n.push(`External -> (${t}) -> ${Yt(r)}`);break}break}n.push(`${Yt(e)} -> (${t}) -> ${Yt(r)}`),r=e}return n.reverse()}function an(){const e=[],t=[],n=new Map,r=new Set(Bt);!function(e){const t=Array.from(e);for(let n=0;n<t.length;n++){const r=Pe(t[n]).parent;r&&!e.has(r)&&(e.add(r),t.push(r))}}(r);const{nodes:o,nodeByEffect:s}=function(e){const t=[],n=new Map,r=Array.from(e);for(const e of r){const r=Yt(e),o={id:`effect_${t.length}`,label:r,type:"effect",depth:0,debugName:r};t.push(o),n.set(e,o)}const o=new Map,s=e=>{if(!e)return 0;const t=o.get(e);if(void 0!==t)return t;const n=Pe(e).parent,r=s(n)+(n?1:0);return o.set(e,r),r};for(const[e,t]of n){t.depth=s(e);const r=Pe(e).parent;if(r){const e=n.get(r);e&&(t.parentId=e.id)}}return{nodes:t,nodeByEffect:n}}(r);for(const t of o)e.push(t);for(const[e,t]of s)n.set(e,t.id);for(const t of qt){const r=`object_${e.length}`;e.push({id:r,label:Gt(t),type:"state",debugName:Ht.get(t)}),n.set(t,r)}if(Zt.has(Lt)){const t="effect_external";e.push({id:t,label:"External",type:"external",depth:0}),n.set(Lt,t)}for(const e of r){const r=n.get(e);if(!r)continue;const o=Me.get(e);if(o)for(const e of o){const o=n.get(e);o&&t.push({id:`${r}->${o}`,source:r,target:o,type:"dependency",label:"depends"})}}for(const[e,r]of Zt)for(const[o,s]of r){const r=n.get(o);if(!r)continue;const i=n.get(e);if(i)for(const e of s.values())t.push({id:`${i}->${r}:${e.label}`,source:i,target:r,type:"cause",label:e.count>1?`${e.label} (${e.count})`:e.label,count:e.count})}return{nodes:e,edges:t,meta:{generatedAt:Date.now(),devtoolsEnabled:Kt}}}function fn(){return Kt}const ln=[];let un,hn=0;function dn(e){const t=new Map;for(let n=0;n<e.length;n++){const r=e[n];if(t.has(r))return e.slice(t.get(r));t.set(r,n)}return null}function pn(e,t=20){const n=e.map(e=>e.name||"<anonymous>");if(n.length<=t)return n.join(" → ");const r=n.slice(0,5),o=n.slice(-10);return`${r.join(" → ")} ... (${n.length-15} more) ... ${o.join(" → ")}`}(function(){if("undefined"!=typeof process&&"production"===process.env?.NODE_ENV)return!1;if(void 0!=={url:"undefined"==typeof document&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:"undefined"==typeof document?location.href:t&&"SCRIPT"===t.tagName.toUpperCase()&&t.src||new URL("mutts.umd.js",document.baseURI).href}){const e={url:"undefined"==typeof document&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:"undefined"==typeof document?location.href:t&&"SCRIPT"===t.tagName.toUpperCase()&&t.src||new URL("mutts.umd.js",document.baseURI).href};if(!0===e.env?.PROD)return!1;if(!0===e.env?.DEV)return!0}return"undefined"==typeof globalThis||!("__MUTTS_DEV_MODE__"in globalThis)||!1!==globalThis.__MUTTS_DEV_MODE__})()&&!Kt&&(!function(){const e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:void 0;e&&(Kt||(Kt=!0,e.__MUTTS_DEVTOOLS__={getGraph:an,nodeLineage:e=>(function(e){for(let t=0;t<e.length;t++){const n=e[t];e.length;for(let e=0;e<n.stack.length;e++){const t=n.stack[e];n.stack.length,"...node_modules..."===t.functionName||t.functionName}}}(Ge()),"🦴 Effect Lineage Trace"+(e?` (${e})`:"")),nodeLineageLegacy(){},get browserLineage(){return{__isLineage__:!0,segments:e=Ge(),toString:()=>Qe(e)};var e},getLineage:Ge,captureLineage:Ye,formatLineage:Qe,showLineagePanel:_t,setEffectName:tn,setObjectName:nn,registerEffect:rn,registerObject:on,debug:Xt},e.devtoolsFormatters?e.devtoolsFormatters.push(et):e.devtoolsFormatters=[et]))}(),"undefined"!=typeof console&&console.info);const gn=new Array(100);function yn(t,n,r,o){const s=$e(t);if(!un)return;let i=un.get(s);i||(i=new Map,un.set(s,i));let c=i.get(n);c||(c=new Map,i.set(n,c));const a=(c.get(o)??0)+1;if(c.set(o,a),gn.unshift({effect:t,obj:n,evolution:r,prop:o}),gn.pop(),a>=Oe.maxTriggerPerBatch){const t=s?.name||"anonymous",n=`Aggressive trigger detected: effect "${t}" triggered ${a} times in the batch by the same cause.`;if("throw"===Oe.maxEffectReaction)throw new je(n,{code:e.ReactiveErrorCode.MaxReactionExceeded,count:a,effect:t});Oe.warn(`[reactive] ${n}`)}}let mn,bn=new WeakMap,wn=new WeakMap,vn=new WeakMap,kn=new WeakMap,Sn=!1;function xn(e,t){let n=e.get(t);return n||(n=new Q,e.set(t,n)),n}function jn(e,t,n){if(e===t)return!0;if(e===n)return!1;const r=new Set,o=[e];for(r.add(e),r.add(n);o.length>0;){const e=o.shift(),n=bn.get(e);if(n)for(const e of n){if(e===t)return!0;r.has(e)||(r.add(e),o.push(e))}}return!1}function On(e){return mn?.all.has($e(e))}const En=new Set;function Mn(e,t,n=new Set,r=[]){if(e===t)return[...r,t];if(n.has(e))return[];n.add(e);const o=[...r,e],s=bn.get(e);if(s)for(const e of s){const r=Mn(e,t,n,o);if(r.length>0)return r}return[]}function Tn(e,t){const n=Mn(t,e);return n.length>0?[e,...n]:[]}function Rn(t,n,r){const o=Pe(t);if(o.cleanup?.(),o.stopped)return;if(!mn)return;const s=$e(t);if("production"===Oe.cycleHandling)mn.all.has(s)&&mn.all.delete(s),mn.all.set(s,t);else{if(mn.all.has(s))return;mn.all.set(s,t)}if(n&&!r&&"production"!==Oe.cycleHandling){const r=$e(n);if(function(e,t){if(e===t)return!1;const n=kn.get(t);return!!n?.has(e)}(r,s)){const n=Tn(r,s),o=n.length>0?`Cycle detected: ${n.map(e=>e.name||e.toString()).join(" → ")}`:`Cycle detected: ${r.name||r.toString()} → ${s.name||s.toString()} (and back)`;mn.all.delete(s);const i=cn(t),c=Pe(t).creationStack;throw new je(`[reactive] ${o}`,{code:e.ReactiveErrorCode.CycleDetected,cycle:n.map(e=>e.name||e.toString()),details:o,causalChain:i,creationStack:c})}!function(e,t){if("production"===Oe.cycleHandling)return;const n=bn.get(e);if(n)n.add(t);else{const n=new Q;n.add(t),bn.set(e,n)}let r=wn.get(t);if(r||(r=new Q,wn.set(t,r)),r.add(e),e===t)return;const o=xn(kn,e),s=xn(vn,t);o.add(t),s.add(e);const i=vn.get(e);if(i)for(const e of i)e!==t&&(xn(kn,e).add(t),s.add(e));const c=kn.get(t);if(c)for(const t of c)t!==e&&(xn(vn,t).add(e),o.add(t));if(i?.size&&c?.size)for(const e of i){const t=xn(kn,e);for(const n of c)e!==n&&(t.add(n),xn(vn,n).add(e))}}(r,s)}}function Pn(e){mn?En.add(e):e()}const Dn=Pn;function An(e,t,n,r,o){if(n.has(e)){const t=r.indexOf(e);return r.slice(t).concat([e])}if(t.has(e))return[];t.add(e),n.add(e),r.push(e);const s=bn.get(e);if(s)for(const e of s)if(o.all.has(e)){const s=An(e,t,n,r,o);if(s.length>0)return s}return r.pop(),n.delete(e),[]}function $n(t){let n=null,r=null;if("production"===Oe.cycleHandling){const e=mn.all.entries().next().value;e&&([r,n]=e)}else for(const[e,t]of mn.all){if(0===(mn.inDegrees.get(e)??0)){n=t,r=e;break}}if(!n){if(mn.all.size>0){let t=function(e){const t=new Set,n=new Set,r=[];for(const[o]of e.all){if(t.has(o))continue;const s=An(o,t,n,r,e);if(s.length>0)return s}return[]}(mn);if(0===t.length)for(const[e]of mn.all){const n=kn.get(e);if(n){for(const r of n)if(r!==e&&mn.all.has(r)){const n=kn.get(r);if(n?.has(e)){t=[e,r,e];break}}if(t.length>0)break}}const n=t.length>0?`Cycle detected: ${t.map(e=>e.name||"<anonymous>").join(" → ")}`:"Cycle detected in effect batch - all effects have dependencies that prevent execution";throw new je(`[reactive] ${n}`,{code:e.ReactiveErrorCode.CycleDetected,cycle:t.map(e=>e.name||e.toString()),details:n})}return null}t.push($e(n));const o=n();return mn.all.delete(r),mn.inDegrees.delete(r),function(e,t){const n=kn.get(t);if(n)for(const t of n)if(e.all.has(t)){const n=e.inDegrees.get(t)??0;n>0&&e.inDegrees.set(t,n-1)}}(mn,r),o}function Wn(t,n){if(Sn)throw new je("[reactive] Reactive system is broken after an unrecoverable error. Call reset() to recover.",{code:e.ReactiveErrorCode.BrokenEffects});Array.isArray(t)||(t=[t]);const r=t.map($e);try{if(!mn){if(un)throw new Error("Batch already in progress");un=new Map,Ee("beginChain",r),mn={all:new Map,inDegrees:new Map};const o=Ve(),s=[],i={};let c=!1;try{if(n)for(let e=0;e<t.length;e++)try{const n=t[e]();void 0===n||"value"in i||(i.value=n)}finally{mn.all.delete($e(t[e]))}else{const e=t.length;for(let n=0;n<e;n++)Rn(t[n],o,!1);!function(e){if("production"===Oe.cycleHandling)return;const t=Ve(),n=t?$e(t):null;e.inDegrees.clear();for(const[t]of e.all){let r=0;const o=vn.get(t);if(o)for(const s of o)e.all.has(s)&&s!==n&&s!==t&&r++;e.inDegrees.set(t,r)}}(mn)}for(;mn.all.size>0||En.size>0;)if(mn.all.size>0){if(s.length>Oe.maxEffectChain){const t=dn(s),n=pn(s),r=t?`Max effect chain reached (cycle detected: ${pn(t)})`:`Max effect chain reached (trace: ${n})`,o=(mn?Array.from(mn.all.keys()):[]).map(e=>e.name||"<anonymous>"),i={code:e.ReactiveErrorCode.MaxDepthExceeded,effectuatedRoots:s,cycle:t,trace:n,maxEffectChain:Oe.maxEffectChain,queued:o.slice(0,50),queuedCount:o.length,causalChain:s.length>0?cn(mn.all.get(s[s.length-1])):[]};switch(Oe.maxEffectReaction){case"throw":case"debug":throw new je(`[reactive] ${r}`,i);case"warn":Oe.warn(`[reactive] ${r} (queued: ${o.slice(0,10).join(", ")}${o.length>10?", …":""})`)}}const t=$n(s);void 0===t||"value"in i||(i.value=t)}else{const e=Array.from(En);En.clear();for(const t of e)t()}c=!0}finally{c||(Sn=!0),un=void 0,mn=void 0,En.clear(),Ee("endChain")}return i.value}{Oe?.chain(r,$e(Ve()));const e=Ve();for(let r=0;r<t.length;r++)Rn(t[r],e,"immediate"===n);if(n){const e={};for(let n=0;n<t.length;n++)try{const r=t[n]();void 0===r||"value"in e||(e.value=r)}finally{const e=$e(t[n]);mn.all.delete(e)}return e.value}}}finally{}}const Nn=R({method:e=>function(...t){const n=()=>e.apply(this,t);return Object.defineProperty(n,"name",{value:`atomic(${e.name})`}),Wn(n,"immediate")},default:e=>function(...t){const n=()=>e.apply(this,t);return Object.defineProperty(n,"name",{value:`atomic(${e.name})`}),Wn(n,"immediate")}}),zn=new FinalizationRegistry(e=>e()),In=O(Ue,q(function(e,t){t?.name&&Object.defineProperty(e,"name",{value:t.name});const n=t?.asyncMode??Oe.asyncMode??"cancel",r=()=>{const t=Pe(r);if(t.cleanup){const e=t.cleanup;t.cleanup=void 0;try{Cn(()=>e())}catch(e){Oe.warn("Error during effect cleanup",e)}}if(l)if("cancel"===n&&u)u(),u=null,l=null;else if("ignore"===n)return;if(a)return;let o,i;Ee("enter",$e(e));let h,d=0,p=e=>{throw e};t.forwardThrow=p;try{if(i=s(O(Fe,()=>e.call(null,f))),Ee("leave",e),i&&"function"!=typeof i&&("object"!=typeof i||!("then"in i)))throw new je(`[reactive] Effect returned a non-function value: ${i}`);if(i&&"object"==typeof i&&"function"==typeof i.then){const e=i;let t=null;const n=new Promise((e,n)=>{t=n}),r=new je("[reactive] Effect canceled due to dependency change");l=Promise.race([e,n]),u=()=>{t&&t(r)},l=l.catch(e=>{e!==r&&p(e)})}else o=i}catch(e){h=e}finally{f.reaction=!0}t.cleanup=()=>{t.cleanup=void 0,o?.(),o=void 0,delete t.trackers,delete t.catchers;const e=Me.get(r);if(e){for(const t of e){const e=Te.get(t);if(e){for(const[t,n]of e.entries())n.delete(r),0===n.size&&e.delete(t);0===e.size&&Te.delete(t)}}Me.delete(r)}const n=t.children;if(n){for(const e of n)e();delete t.children}},p=e=>{const n=t.catchers;if(n)for(;d<n.length;){o?.(e),o=void 0;try{return void(o=n[d](e))}catch(e){d++}}if(!c)throw e;{const t=Pe(c);if(!t.forwardThrow)throw e;t.forwardThrow(e)}},t.forwardThrow=p,h&&p(h)},o=Pe(r);if(fn()){const e=Ye();e.length>0&&(o.creationStack=e)}const s=O(Ue,Ke.present.with(r,()=>O(Ue,Be.zoned))),i=O(Ue,Ke.zoned),c=Ke.present.active;o.parent=c;let a=!1;const f={tracked:s,ascend:O(Ue,e=>i(O(Fe,()=>e.call(null)))),reaction:!1};let l=null,u=null;function h(e){return Object.defineProperties(e,{[ve]:{get:()=>a}})}t?.dependencyHook&&(o.dependencyHook=t.dependencyHook),Ae(r,e),t?.opaque&&(o.isOpaque=!0),fn()&&rn(r),Wn(r,"immediate");const d=()=>{if(!a){a=!0,o.stopped=!0,u&&(u(),u=null,l=null);try{o.cleanup?.()}catch(e){Oe.warn("Error during effect cleanup",e)}!function(e){if("production"===Oe.cycleHandling)return;const t=$e(e),n=vn.get(t),r=kn.get(t),o=bn.get(t);if(o){for(const e of o){const n=wn.get(e);n?.delete(t)}bn.delete(t)}const s=wn.get(t);if(s){for(const e of s){const n=bn.get(e);n?.delete(t)}wn.delete(t)}if(n)for(const e of n){const n=kn.get(e);if(n&&(n.delete(t),r))for(const o of r)jn(e,o,t)||n.delete(o)}if(r)for(const e of r){const r=vn.get(e);if(r&&(r.delete(t),n))for(const o of n)jn(o,e,t)||r.delete(o)}if(n&&r)for(const e of n){const n=kn.get(e);if(n)for(const o of r)if(!jn(e,o,t)){n.delete(o);const t=vn.get(o);t?.delete(e)}}vn.delete(t),kn.delete(t)}(r),zn.unregister(d)}};if(!c){const t=h(()=>d());return zn.register(t,()=>{d(),Ee("garbageCollected",e)},d),t}if(c){const e=Pe(c);e.children||(e.children=new Set);const t=e.children,n=h(()=>{t.delete(n),d()});return t.add(n),n}return h(d)},{get opaque(){return V(this,{opaque:!0},"opaque")},named(e){return V(this,{name:e},"named")}}));function Cn(e){return Ke.present.root(e)}function _n(e){return Ke.root(e)}const Ln=new WeakMap,Kn=new WeakMap;function Bn(e,t){e.branches??(e.branches=new WeakMap);let n=e.branches.get(t);return n||(n={},e.branches.set(t,n)),n}function qn(e){const t=$e(e),n=Ln.get(t);if(n)return n;const r={},o=Ae((...t)=>{const n=t;if(n.some(e=>!(e&&["object","symbol","function"].includes(typeof e))))throw new Error("memoize expects non-null object arguments");let o=r;for(const e of n)o=Bn(o,e);if(Dt(o,"memoize"),"result"in o){if(Oe.onMemoizationDiscrepancy){const t=Oe.isVerificationRun;Oe.isVerificationRun=!0;try{const t=Cn(()=>e(...n));k(o.result,t)||Ee("onMemoizationDiscrepancy",o.result,t,e,n,"calculation")}finally{Oe.isVerificationRun=t}}return o.result}if(o.cleanup=_n(()=>In(()=>(o.result=e(...n),()=>{delete o.result,mt(o,{type:"invalidate",prop:n},"memoize"),o.cleanup&&(o.cleanup(),o.cleanup=void 0)}),{opaque:!0})),Oe.onMemoizationDiscrepancy){const t=Oe.isVerificationRun;Oe.isVerificationRun=!0;try{const t=Cn(()=>e(...n));k(o.result,t)||Ee("onMemoizationDiscrepancy",o.result,t,e,n,"comparison")}finally{Oe.isVerificationRun=t}}return o.result},e);return Ln.set(t,o),Ln.set(o,o),o}const Vn=R({getter:(e,t,n)=>function(){let r=Kn.get(e);r||(r=Ae(b(t=>e.call(t),`${String(t?.constructor?.name??t?.name??"Object")}.${String(n)}`),{method:e,propertyKey:n,...e[Se]?{[Se]:e[Se]}:{}}),Kn.set(e,r));return qn(r)(this)},method:(e,t,n)=>function(...r){let o=Kn.get(e);o||(o=Ae(b((t,...n)=>e.call(t,...n),`${String(t?.constructor?.name??t?.name??"Object")}.${String(n)}`),{method:e,propertyKey:n,...e[Se]?{[Se]:e[Se]}:{}}),Kn.set(e,o));return qn(o)(this,...r)},default:qn});function Hn(e,t){const n="function"==typeof e?e:Array.isArray(e)?()=>Array.from({length:e.length},(e,t)=>t):e instanceof Map?()=>e.keys():e instanceof Set?()=>e.values():()=>Object.keys(e),r=new Map,o=In(({ascend:e})=>{const o=new Set;for(const e of n())o.add(e);for(const n of o)r.has(n)||r.set(n,e(()=>In(()=>t(n))));for(const e of Array.from(r.keys()))o.has(e)||(r.get(e)(),r.delete(e))});return()=>{o();for(const e of r.values())e();r.clear()}}function Fn(e,t,{immediate:n=!1}={}){if(null==e)return;if("object"!=typeof e)throw new Error("Target of deep watching must be an object");const r=Ae(()=>t(e),t);return In(()=>{nt.add(e);let o=ot.get(r);o||(o=new Set,ot.set(r,o)),o.add(e);const s=new WeakSet;return function e(t,n=0){var r;if(!(!t||s.has(t)||(r=t,"object"!=typeof r||null===r)||n>Oe.maxDeepWatchDepth||xt(t))){s.add(t),nt.add(t),o.add(t);for(const r in ht(t))if(Object.hasOwn(t,r)){const o=t[r];e("object"==typeof o&&null!==o?Ct(o):o,n+1)}if(Array.isArray(t)||t instanceof Array){const r=t.length;for(let o=0;o<r;o++){const r=t[o];e("object"==typeof r&&null!==r?Ct(r):r,n+1)}}else if(t instanceof Set)for(const r of t){e("object"==typeof r&&null!==r?Ct(r):r,n+1)}else if(t instanceof Map)for(const[r,o]of t){e("object"==typeof o&&null!==o?Ct(o):o,n+1)}}}(e),n&&t(e),n=!0,()=>{const e=ot.get(r);if(e){for(const t of e){const e=rt.get(t);e?(e.delete(r),0===e.size&&(rt.delete(t),nt.delete(t))):nt.delete(t)}ot.delete(r)}}})}function*Un(e){let t=e.next();for(;!t.done;)yield Ct(t.value),t=e.next()}function*Xn(e){let t=e.next();for(;!t.done;){const[n,r]=t.value;yield[Ct(n),Ct(r)],t=e.next()}}const Zn=Symbol("unset-yet");const Yn=R({class(e){St(e)},default:function(e,...t){return"object"==typeof e?function(e){if(xt(e=ht(e)))return e;try{Object.defineProperty(e,ye,{value:!0,writable:!1,enumerable:!1,configurable:!0})}catch{}return ye in e||wt.add(e),e}(e):n=>{n.prototype[me]=new Set(n.prototype[me]||[]),n.prototype[me].add(e);for(const e of t)n.prototype[me].add(e);return n}}});let Gn=(()=>{var e,t,n,r,o,s,i,c,a,f;let l,u,h=[Yn],d=[],p=function(){class e extends(U(Z,{get(e){return this[H](e)},set(e,t){this[F](e,t)},getLength(){return this.length},setLength(e){this.length=e}})){toArray(){return Array.from(this)}}return e}();var g,y,m;return u=class extends p{get[(t=new WeakMap,n=new WeakMap,r=new WeakMap,o=new WeakMap,s=new WeakMap,i=new WeakMap,c=new WeakMap,a=new WeakMap,e=new WeakSet,X)](){return this.toArray()}on(e,t){return de(this,a,"f").on(e,t)}off(e,t){de(this,a,"f").off(e,t)}hook(e){return de(this,a,"f").hook(e)}constructor(f,l){let u;if(super(),e.add(this),t.set(this,void 0),n.set(this,void 0),r.set(this,void 0),o.set(this,new Map),s.set(this,new Map),i.set(this,new Set),c.set(this,void 0),a.set(this,new B),In(({ascend:e})=>{u=e}),pe(this,c,u,"f"),"function"!=typeof f)throw new Error("Register requires a key function");pe(this,t,f,"f"),pe(this,n,Ct([]),"f"),pe(this,r,Ct(new Map),"f"),l&&this.push(...l)}ensureKey(n){let r=de(this,s,"f").get(n);if(r)return r.key;if(r={key:void 0},de(this,s,"f").set(n,r),de(this,c,"f").call(this,()=>{const o=In(({reaction:o})=>{const s=de(this,t,"f").call(this,n);this.assertValidKey(s);const i=r.key;o&&void 0!==i&&!Object.is(s,i)&&de(this,e,"m",f).call(this,n,i,s),r.key=s});r.stop=o,de(this,i,"f").add(o)}),void 0===r.key)throw new Error("Register key function must return a property key");return r.key}assertValidKey(e){const t=typeof e;if("string"!==t&&"number"!==t&&"symbol"!==t)throw new Error("Register key function must return a property key")}setKeyValue(e,t,n){const o=de(this,r,"f").get(e);void 0!==o&&o!==t?(this.cleanupValue(o),de(this,r,"f").set(e,t),void 0!==n&&de(this,a,"f").emit("update",o,t,e,n)):de(this,r,"f").set(e,t)}cleanupValue(e){const t=de(this,s,"f").get(e);if(!t)return;const n=t.stop;n&&(t.stop=void 0,de(this,i,"f").delete(n),n()),de(this,s,"f").delete(e)}disposeKeyEffects(){for(const e of Array.from(de(this,s,"f").keys()))this.cleanupValue(e);de(this,i,"f").clear()}incrementUsage(e){const t=de(this,o,"f").get(e)??0;de(this,o,"f").set(e,t+1)}decrementUsage(e,t){const s=de(this,o,"f").get(e);if(s)if(s<=1){const s=de(this,r,"f").get(e);if(de(this,o,"f").delete(e),de(this,r,"f").delete(e),void 0!==s){this.cleanupValue(s);const r=t??de(this,n,"f").indexOf(e);de(this,a,"f").emit("delete",s,e,r)}}else de(this,o,"f").set(e,s-1)}normalizeIndex(e,t=!1){const n=this.length;let r=e;if(r<0&&(r=Math.max(n+r,0)),r>n){if(!t)throw new RangeError("Index out of bounds");r=n}if(!t&&r===n)throw new RangeError("Index out of bounds");return r}assignAt(e,t,o){const s=de(this,n,"f")[e];if(void 0!==s&&Object.is(s,t)){const n=de(this,r,"f").get(t);return this.setKeyValue(t,o),void(void 0!==n&&n!==o&&de(this,a,"f").emit("update",n,o,t,e))}void 0!==s&&this.decrementUsage(s),de(this,n,"f")[e]=t,this.incrementUsage(t),this.setKeyValue(t,o),de(this,a,"f").emit("add",o,t,e)}insertKeyValue(e,t,r){de(this,n,"f").splice(e,0,t),this.incrementUsage(t),this.setKeyValue(t,r),de(this,a,"f").emit("add",r,t,e)}rebuildFrom(e){this.disposeKeyEffects(),de(this,n,"f").splice(0,de(this,n,"f").length),de(this,o,"f").clear(),de(this,r,"f").clear();for(const t of e){const e=this.ensureKey(t);de(this,n,"f").push(e),this.incrementUsage(e),de(this,r,"f").set(e,t)}}get length(){return de(this,n,"f").length}[(f=function(e,t,i){if(Object.is(t,i))return;const c=de(this,r,"f").get(i);if(void 0!==c&&c!==e)throw new Error(`Register key collision for key ${String(i)}`);const f=de(this,o,"f").get(t);if(!f)return;const l=de(this,o,"f").get(i)??0;this.setKeyValue(i,e);let u=-1;for(let e=0;e<de(this,n,"f").length;e++)Object.is(de(this,n,"f")[e],t)&&(de(this,n,"f")[e]=i,-1===u&&(u=e));de(this,o,"f").set(i,l+f),de(this,o,"f").delete(t),de(this,r,"f").delete(t);const h=de(this,s,"f").get(e);h&&(h.key=i),-1!==u&&de(this,a,"f").emit("rekey",e,t,i,u)},H)](e){const t=de(this,n,"f")[e];return void 0===t?void 0:de(this,r,"f").get(t)}[F](e,t){const n=this.ensureKey(t);if(e===this.length)return void this.insertKeyValue(e,n,t);const r=this.normalizeIndex(e);this.assignAt(r,n,t)}push(...e){for(const t of e){const e=this.ensureKey(t);this.insertKeyValue(this.length,e,t)}return this.length}pop(){if(this.length)return this.removeAt(this.length-1)}shift(){if(this.length)return this.removeAt(0)}unshift(...e){let t=0;for(const n of e){const e=this.ensureKey(n);this.insertKeyValue(t++,e,n)}return this.length}splice(e,t,...o){const s=this.normalizeIndex(e,!0),i=this.length-s,c=Math.min(void 0===t?i:Math.max(t,0),i),a=[];for(const e of o)a.push(this.ensureKey(e));const f=de(this,n,"f").splice(s,c,...a),l=[];for(let e=0;e<f.length;e++){const t=f[e];if(void 0===t)continue;const n=de(this,r,"f").get(t);this.decrementUsage(t,s+e),l.push(n)}for(let e=0;e<a.length;e++){const t=a[e],n=o[e];this.incrementUsage(t),this.setKeyValue(t,n)}return l}clear(){de(this,n,"f").length=0,de(this,o,"f").clear(),de(this,r,"f").clear(),this.disposeKeyEffects()}get(e){return de(this,r,"f").get(e)}set(e,t){de(this,r,"f").has(e)&&this.setKeyValue(e,t)}remove(e){let t=this.indexOfKey(e);for(;-1!==t;)this.removeAt(t),t=this.indexOfKey(e)}removeAt(e){const[t]=de(this,n,"f").splice(e,1);if(void 0===t)return;const o=de(this,r,"f").get(t);return this.decrementUsage(t,e),o}keep(e){const t=new Map;for(const[o,s]of de(this,n,"f").entries()){if(t.has(s)){t.get(s)||this.removeAt(o);continue}const n=e(de(this,r,"f").get(s));t.set(s,n),n||this.removeAt(o)}}hasKey(e){return de(this,o,"f").has(e)}indexOfKey(e){return de(this,n,"f").indexOf(e)}mapKeys(){return de(this,r,"f").keys()}update(...e){for(const t of e){const e=this.ensureKey(t);if(de(this,r,"f").has(e)){const r=de(this,n,"f").indexOf(e);this.setKeyValue(e,t,r)}}}upsert(e,...t){for(const n of t){const t=this.ensureKey(n);de(this,r,"f").has(t)?this.setKeyValue(t,n):e(n)}}entries(){const e=this;return function*(){for(let t=0;t<de(e,n,"f").length;t++){const o=de(e,r,"f").get(de(e,n,"f")[t]);void 0!==o&&(yield[t,o])}}()}[Symbol.iterator](){const e=this;return function*(){for(const t of de(e,n,"f")){const n=de(e,r,"f").get(t);void 0!==n&&(yield n)}}()}toString(){return`[Register length=${this.length}]`}at(e){const t=e<0?this.length+e:e;if(!(t<0||t>=this.length))return this[H](t)}reverse(){return de(this,n,"f").reverse(),this}sort(e){const t=e?(t,n)=>e(de(this,r,"f").get(t),de(this,r,"f").get(n)):void 0;return de(this,n,"f").sort(t),this}fill(e,t=0,n=this.length){const r=this.toArray();return r.fill(e,t,n),this.rebuildFrom(r),this}copyWithin(e,t,n){const r=this.toArray();return r.copyWithin(e,t,n),this.rebuildFrom(r),this}},g=u,"symbol"==typeof(y="RegisterClass")&&(y=y.description?"[".concat(y.description,"]"):""),Object.defineProperty(g,"name",{configurable:!0,value:m?"".concat(m," ",y):y}),(()=>{const e="function"==typeof Symbol&&Symbol.metadata?Object.create(p[Symbol.metadata]??null):void 0;ue(null,l={value:u},h,{kind:"class",name:u.name,metadata:e},null,d),u=l.value,e&&Object.defineProperty(u,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:e}),he(u,d)})(),u})();const Jn=Gn;const Qn=new WeakMap;function er(){const e=Ve();return e?Qn.get(e):void 0}function tr(e){const t=Ve();t&&Qn.set(t,e)}function nr(e){Object.defineProperty(e,"value",{get:e.get,set:e.set,configurable:!0,enumerable:!0})}function rr(e,t,n,r){return r&&Object.defineProperty(e,we,{value:r,writable:!1,enumerable:!1,configurable:!0}),He(e,()=>{n();for(const e of t.values())e?.();t.clear()})}function or(e,t){e=Ct(e);const n=Ct([]),r=new Map;function o(e){const t=r.get(e);t&&(r.delete(e),t(),Reflect.deleteProperty(n,e))}const s=er(),i=s?s.depth+1:0,c=In(O(`project:${e[Symbol.toStringTag]}.length`,({ascend:c})=>{const a=e.length;!function(e){w.set(n,"length",e,n)}(a);const f=Array.from(r.keys());for(let o=0;o<a;o++)r.has(o)||c(function(){const c=o,a=In(O(`project:${e[Symbol.toStringTag]}[${c}]`,({reaction:r})=>{r||tr({source:e,key:c,target:n,depth:i,parent:s});const o=Cn(()=>n[c]),a={key:c,source:e,get:()=>w.get(e,c,e),set:t=>w.set(e,c,t,e),old:o};nr(a),n[c]=t(a,n)}));tn(a,`project[${i}]:${c}`),r.set(o,a)});for(const e of f)e>=a&&o(e)}));return rr(n,r,()=>c(),{source:e,target:n,apply:t,depth:i,parent:s})}function sr(e,t){e=Ct(e);const n=new Map,r=Ct(n),o=new Map;function s(e){const t=o.get(e);t&&(t(),o.delete(e),r.delete(e))}const i=er(),c=i?i.depth+1:0,a=In(function({ascend:n}){const a=new Set;for(const t of e.mapKeys())a.add(t);for(const s of a)o.has(s)||n(()=>{const n=In(function({reaction:n}){n||tr({source:e,key:s,target:r,depth:c,parent:i});const o=Cn(()=>r.get(s)),a={key:s,source:e,get:()=>e.get(s),set:t=>(e.set(s,t),!0),old:o};nr(a);const f=t(a,r);r.set(s,f)});tn(n,`project[${c}]:${String(s)}`),o.set(s,n)});for(const e of Array.from(o.keys()))a.has(e)||s(e)});return rr(r,o,()=>a(),{source:e,target:r,apply:t,depth:c,parent:i})}function ir(e,t){e=Ct(e);const n=Ct({}),r=new Map;function o(e){const t=r.get(e);t&&(t(),r.delete(e),Reflect.deleteProperty(n,e))}const s=er(),i=s?s.depth+1:0,c=In(function({ascend:c}){const a=new Set;for(const t in e)a.add(t);const f=Reflect.ownKeys(e);for(const e of f)a.add(e);for(const o of a)r.has(o)||c(()=>{const c=In(function({reaction:r}){r||tr({source:e,key:o,target:n,depth:i,parent:s});const c=o,a=Cn(()=>n[o]),f={key:c,source:e,get:()=>w.get(e,c,e),set:t=>w.set(e,c,t,e),old:a};nr(f);const l=t(f,n);n[c]=l});tn(c,`project[${i}]:${String(o)}`),r.set(o,c)});for(const e of Array.from(r.keys()))a.has(e)||o(e)});return rr(n,r,()=>c(),{source:e,target:n,apply:t,depth:i,parent:s})}function cr(e,t){e=Ct(e);const n=new Map,r=Ct(n),o=new Map;function s(e){const t=o.get(e);t&&(t(),o.delete(e),r.delete(e))}const i=er(),c=i?i.depth+1:0,a=In(function({ascend:n}){const a=new Set;for(const t of e.keys())a.add(t);for(const s of a)o.has(s)||n(()=>{const n=In(function({reaction:n}){n||tr({source:e,key:s,target:r,depth:c,parent:i});const o=Cn(()=>r.get(s)),a={key:s,source:e,get:()=>e.get(s),set:t=>(e.set(s,t),!0),old:o};nr(a);const f=t(a,r);r.set(s,f)});tn(n,`project[${c}]:${String(s)}`),o.set(s,n)});for(const e of Array.from(o.keys()))a.has(e)||s(e)});return rr(r,o,()=>a(),{source:e,target:r,apply:t,depth:c,parent:i})}const ar=Object.assign(function(e,t){if(Array.isArray(e))return or(e,t);if(e instanceof Map)return cr(e,t);if(e instanceof Jn)return sr(e,t);if(e&&(e.constructor===Object||void 0===e.constructor))return ir(e,t);throw new Error("Unsupported source type")},{array:or,register:sr,record:ir,map:cr});function*fr(e,{length:t=!0}={}){t&&(yield"length"),yield e}function*lr(e,t,{length:n=!1}={}){const r=Math.min(e,t),o=Math.max(e,t);n&&(yield"length");for(let e=r;e<=o;e++)yield e}class ur extends Array{get(e){return Dt(this,e),Ct(this[e])}set(e,t){const n=e>=this.length;this[e]=t,bt(this,{type:"set",prop:e},fr(e,{length:n}))}}const hr={get:w.get,set:w.set};Object.assign(w,{get(e,t,n){if(e instanceof Array&&"string"==typeof t){const n=parseInt(t);if(!Number.isNaN(n))return ur.prototype.get.call(e,n)}return hr.get(e,t,n)},set(e,t,n,r){if(e instanceof Array&&"string"==typeof t){const r=parseInt(t);if(!Number.isNaN(r))return ur.prototype.set.call(e,r,n)}return hr.set(e,t,n,r)}});class dr extends Array{toJSON(){return this}get length(){return Dt(this,"length"),this.length}set length(e){const t=this.length;if(t!==e)try{this.length=e}finally{bt(this,{type:"set",prop:"length"},lr(t,e,{length:!0}))}}at(e){const t=e<0?this.length+e:e;if(Dt(this,t),e<0&&Dt(this,"length"),!(t<0||t>=this.length))return Ct(this[t])}toReversed(){return Dt(this),Ct(this.toReversed())}toSorted(e){return Dt(this),Ct(this.toSorted(e))}toSpliced(e,t,...n){return Dt(this),void 0===t?this.toSpliced(e):this.toSpliced(e,t,...n)}with(e,t){return Dt(this),Ct(this.with(e,t))}entries(){return Dt(this),Xn(this.entries())}keys(){return Dt(this,"length"),this.keys()}values(){return Dt(this),Un(this.values())}[Symbol.iterator](){Dt(this);const e=this[Symbol.iterator]();return{next(){const t=e.next();return t.done?t:{value:Ct(t.value),done:!1}},[Symbol.iterator](){return this},[Symbol.dispose](){}}}indexOf(e,t){const n=this.length;let r=void 0===t?0:t;r<0&&(r=Math.max(n+r,0));const o=ht(e);for(;r<n;r++){Dt(this,r);const t=this[r];if(t===e||t===o||ht(t)===o)return r}return Dt(this,"length"),-1}lastIndexOf(e,t){const n=this.length;let r=void 0===t?n-1:t;r>=n&&(r=n-1),r<0&&(r=Math.max(n+r,-1));const o=ht(e);for(;r>=0;r--){Dt(this,r);const t=this[r];if(t===e||t===o||ht(t)===o)return r}return Dt(this,"length"),-1}includes(e,t){return-1!==this.indexOf(e,t)}find(e,t){if("function"==typeof e){const n=e,r=this.length;for(let e=0;e<r;e++){Dt(this,e);const r=Ct(this[e]);if(n.call(t,r,e,this))return r}return void Dt(this,"length")}const n="number"==typeof t?t:void 0,r=this.indexOf(e,n);if(-1!==r)return Ct(this[r])}findIndex(e,t){if("function"==typeof e){const n=e,r=this.length;for(let e=0;e<r;e++){Dt(this,e);const r=Ct(this[e]);if(n.call(t,r,e,this))return e}return Dt(this,"length"),-1}const n="number"==typeof t?t:void 0;return this.indexOf(e,n)}flat(e){return Dt(this),Ct(void 0===e?this.flat():this.flat(e))}flatMap(e,t){return Dt(this),Ct(this.flatMap((n,r,o)=>e.call(t,Ct(n),r,o),t))}filter(e,t){return Dt(this),Ct(this.filter((t,n,r)=>e(Ct(t),n,r),t))}map(e,t){return Dt(this),Ct(this.map((t,n,r)=>e(Ct(t),n,r),t))}reduce(e,t){Dt(this);const n=void 0===t?this.reduce(e):this.reduce(e,t);return Ct(n)}reduceRight(e,t){Dt(this);const n=void 0!==t?this.reduceRight(e,t):this.reduceRight(e);return Ct(n)}slice(e,t){for(const n of lr(e||0,t||this.length-1))Dt(this,n);return void 0===e?this.slice():void 0===t?this.slice(e):this.slice(e,t)}concat(...e){return Dt(this),Ct(this.concat(...e))}join(e){return Dt(this),this.join(e)}forEach(e,t){Dt(this),this.forEach((n,r,o)=>{e.call(t,Ct(n),r,o)})}every(e,t){const n=this.length;for(let r=0;r<n;r++)if(Dt(this,r),!e.call(t,Ct(this[r]),r,this))return!1;return Dt(this,"length"),!0}some(e,t){const n=this.length;for(let r=0;r<n;r++)if(Dt(this,r),e.call(t,Ct(this[r]),r,this))return!0;return Dt(this,"length"),!1}push(...e){const t=this.length;try{return this.push(...e)}finally{bt(this,{type:"bunch",method:"push"},lr(t,t+e.length-1,{length:!0}))}}pop(){if(0!==this.length)try{return Ct(this.pop())}finally{bt(this,{type:"bunch",method:"pop"},fr(this.length))}}shift(){if(0!==this.length)try{return Ct(this.shift())}finally{bt(this,{type:"bunch",method:"shift"},lr(0,this.length+1,{length:!0}))}}unshift(...e){try{return this.unshift(...e)}finally{bt(this,{type:"bunch",method:"unshift"},lr(0,this.length-e.length,{length:!0}))}}splice(e,t,...n){const r=this.length;let o=e;o=o<0?Math.max(r+o,0):Math.min(o,r);let s=t;s=void 0===s?r-o:Math.max(0,Math.min(s,r-o));try{return Ct(void 0===t?this.splice(e):this.splice(e,t,...n))}finally{bt(this,{type:"bunch",method:"splice"},s===n.length?lr(o,o+s-1):lr(o,r+Math.max(n.length-s,0),{length:!0}))}}reverse(){try{return this.reverse()}finally{bt(this,{type:"bunch",method:"reverse"},lr(0,this.length-1))}}sort(e){e=e||((e,t)=>e.toString().localeCompare(t.toString()));try{return this.sort((t,n)=>e(Ct(t),Ct(n)))}finally{bt(this,{type:"bunch",method:"sort"},lr(0,this.length-1))}}fill(e,t,n){const r=this.length;let o=void 0===t?0:t;o=o<0?Math.max(r+o,0):Math.min(o,r);let s=void 0===n?r:n;s=s<0?Math.max(r+s,0):Math.min(s,r);try{return void 0===t?this.fill(e):void 0===n?this.fill(e,t):this.fill(e,t,n)}finally{s>o&&bt(this,{type:"bunch",method:"fill"},lr(o,s-1))}}copyWithin(e,t,n){try{return void 0===n?this.copyWithin(e,t):this.copyWithin(e,t,n)}finally{const r=this.length;let o=e;o<0?o=Math.max(r+o,0):o>=r&&(o=r);let s=t;s<0?s=Math.max(r+s,0):s>=r&&(s=r);let i=void 0===n?r:n;i<0?i=Math.max(r+i,0):i>=r&&(i=r);const c=Math.min(i-s,r-o);c>0&&bt(this,{type:"bunch",method:"copyWithin"},lr(o,o+c-1))}}}class pr extends WeakMap{delete(e){const t=this.has(e),n=this.delete(e);return t&&mt(x(this),{type:"del",prop:e},e),n}get(e){return Dt(x(this),e),Ct(this.get(e))}has(e){return Dt(x(this),e),this.has(e)}set(e,t){const n=this.has(e),r=this.get(e),o=Ct(t);return this.set(e,o),n&&r===o||Mt(x(this),e,r,o,n),this}}class gr extends Map{get size(){return Dt(this,"size"),this.size}clear(){const e=this.size>0;if(this.clear(),e){const e={type:"bunch",method:"clear"};mt(this,e,"size"),bt(x(this),e)}}entries(){return Dt(x(this)),Xn(this.entries())}forEach(e,t){Dt(x(this)),this.forEach(e,t)}keys(){return Dt(x(this)),this.keys()}values(){return Dt(x(this)),Un(this.values())}[Symbol.iterator](){Dt(x(this));const e=Map.prototype[Symbol.iterator].call(this),t=e.next.bind(e);return e.next=()=>{const e=t();if(e.done)return e;const[n,r]=e.value;return{value:[Ct(n),Ct(r)],done:!1}},e}delete(e){const t=this.has(e),n=this.delete(e);if(t){const t={type:"del",prop:e};mt(x(this),t,e),mt(this,t,"size")}return n}get(e){return Dt(x(this),e),Ct(this.get(e))}has(e){return Dt(x(this),e),this.has(e)}set(e,t){const n=this.has(e),r=this.get(e),o=Ct(t);if(this.set(e,o),!n||r!==o){Mt(x(this),e,r,o,n);mt(this,{type:n?"set":"add",prop:e},"size")}return this}}class yr extends WeakSet{add(e){const t=this.has(e);return this.add(e),t||mt(x(this),{type:"add",prop:e},e),this}delete(e){const t=this.has(e),n=this.delete(e);return t&&mt(x(this),{type:"del",prop:e},e),n}has(e){return Dt(x(this),e),this.has(e)}}class mr extends Set{get size(){return Dt(this,"size"),this.size}add(e){const t=this.has(e),n=Ct(e);if(this.add(n),!t){const e={type:"add",prop:n};mt(x(this),e,n),mt(this,e,"size")}return this}clear(){const e=this.size>0;if(this.clear(),e){const e={type:"bunch",method:"clear"};mt(this,e,"size"),bt(x(this),e)}}delete(e){const t=this.has(e),n=this.delete(e);if(t){const t={type:"del",prop:e};mt(x(this),t,e),mt(this,t,"size")}return n}has(e){return Dt(x(this),e),this.has(e)}entries(){return Dt(x(this)),Xn(this.entries())}forEach(e,t){Dt(x(this)),this.forEach(e,t)}keys(){return Dt(x(this)),Un(this.keys())}values(){return Dt(x(this)),Un(this.values())}[Symbol.iterator](){Dt(x(this));const e=Set.prototype[Symbol.iterator].call(this),t=e.next.bind(e);return e.next=()=>{const e=t();return e.done?e:{value:Ct(e.value),done:!1}},e}}At.set(Array,dr.prototype),At.set(Set,mr.prototype),At.set(WeakSet,yr.prototype),At.set(Map,gr.prototype),At.set(WeakMap,pr.prototype);const br={objectToProxy:lt,proxyToObject:ut,effectToReactiveObjects:Me,watchers:Te,objectParents:tt,objectsWithDeepWatchers:nt,deepWatchers:rt,effectToDeepWatchedObjects:ot,nonReactiveObjects:wt},wr=[],vr=R({getter:(e,t,n)=>function(){const t=wr.findIndex(e=>e.object===this&&e.prop===n);if(t>-1)throw new Error(`Circular dependency detected: ${wr.slice(t).map(e=>`${e.object.constructor.name}.${String(e.prop)}`).join(" -> ")} -> again`);wr.push({object:this,prop:n});try{const t=e.call(this);return kr(this,n,t),t}finally{wr.pop()}}});function kr(e,t,n){Object.defineProperty(e,t,{value:n})}const Sr=q(function(e){return(...t)=>n=>class extends n{constructor(...n){super(...n);for(const n of t){const t=Object.getOwnPropertyDescriptor(this,n);Object.defineProperty(this,n,Object.assign(t||{},e))}}}},{get enumerable(){return Sr({enumerable:!0})},get hidden(){return Sr({enumerable:!1})},get configurable(){return Sr({configurable:!0})},get frozen(){return Sr({configurable:!1})},get writable(){return Sr({writable:!0})},get readonly(){return Sr({writable:!1})}}),xr=Object.assign(R({method:(e,t,n)=>function(...t){return xr.warn(this,n),e.apply(this,t)},getter:(e,t,n)=>function(){return xr.warn(this,n),e.call(this)},setter:(e,t,n)=>function(t){return xr.warn(this,n),e.call(this,t)},class:e=>class extends e{constructor(...e){super(...e),xr.warn(this,"constructor")}},default:e=>R({method:(t,n,r)=>function(...n){return xr.warn(this,r,e),t.apply(this,n)},getter:(t,n,r)=>function(){return xr.warn(this,r,e),t.call(this)},setter:(t,n,r)=>function(n){return xr.warn(this,r,e),t.call(this,n)},class:t=>class extends t{constructor(...t){super(...t),xr.warn(this,"constructor",e)}}})}),{warn:(e,t,n)=>{}});var jr={version:"1.0.9"};const{version:Or}=jr,Er="__MUTTS_INSTANCE__",Mr="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global&&global;if(Mr){let e="mutts/index";const t=eval;try{if("undefined"!=typeof __filename)e=__filename;else{const n=t("import.meta");n&&n.url&&(e=n.url)}}catch(e){}const n={version:Or,source:e,timestamp:Date.now()};if(Mr[Er]){const e=Mr[Er];throw new Error(`[Mutts] Multiple instances detected!\nExisting instance: ${JSON.stringify(e,null,2)}\nNew instance: ${JSON.stringify(n,null,2)}\nThis usually happens when 'mutts' is both installed as a dependency and bundled, or when different versions are loaded. Please check your build configuration (aliases, externals) to ensure a single source of truth.`)}Mr[Er]=n}e.AZone=ze,e.ArrayReadForward=Z,e.DecoratorError=E,e.Destroyable=function(e,t){var n;return e&&"function"!=typeof e&&(t=e,e=void 0),e||(e=class{}),n=class extends e{static destroy(e){const t=n.destructors.get(e);if(!t)return!1;P.unregister(e[A]),n.destructors.delete(e),Object.setPrototypeOf(e,new Proxy({},W));for(const t of Object.getOwnPropertyNames(e))delete e[t];return t(),!0}static isDestroyable(e){return n.destructors.has(e)}constructor(...e){super(...e);const r={};this[A]=r;const o=t?.destructor??this[D];if(!o)throw new $("Destructor is not defined");function s(){o(r)}n.destructors.set(this,s),P.register(this,s,r)}},n.destructors=new WeakMap,n},e.DestructionError=$,e.Eventful=B,e.FoolProof=w,e.Indexable=U,e.IterableWeakMap=J,e.IterableWeakSet=Q,e.ReactiveBase=zt,e.ReactiveError=je,e.Register=Jn,e.Zone=Ie,e.ZoneAggregator=_e,e.ZoneHistory=Ce,e.addBatchCleanup=Pn,e.allocated=N,e.allocatedValues=A,e.arrayEquals=function(e,t){if(e===t)return!0;if(!Array.isArray(e)||!Array.isArray(t))return!1;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0},e.asyncHook=e=>r.addHook(e),e.asyncHooks=r,e.asyncZone=Le,e.atomic=Nn,e.attend=Hn,e.biDi=function(e,t,n){"function"!=typeof t&&(n=t.set,t=t.get);let r=Symbol();return In(Ae(()=>{const n=t();ht(n)!==r&&e(n)},e)),n?Nn(e=>{r=ht(e),n(e)}):()=>{}},e.cache=kr,e.cached=vr,e.callOnGC=function(e){let t=!1;const n=()=>{t||(t=!0,e())};return P.register(n,e,e),n},e.chainPromise=le,e.cleanedBy=He,e.cleanup=ke,e.contentRef=x,e.createFlavor=function(e,t,n){const r=function(...n){return e.apply(this,t(...n))};return n&&O(n,r),q(r,e.flavors||{})},e.debounce=function(e){return R({method(t,n,r){let o=null;return function(...n){o&&clearTimeout(o),o=setTimeout(()=>{t.apply(this,n),o=null},e)}}})},e.decorator=R,e.deepCompare=k,e.deepWatch=Fn,e.defer=Dn,e.deprecated=xr,e.derived=function(e){const t={value:void 0};return He(t,Cn(()=>In(function(n){t.value=e(n)})))},e.describe=function(e,t=Object.create(null)){e=Ct(e);const n=Hn(()=>Reflect.ownKeys(e),n=>{const r=e[n];return r&&(Object.defineProperty(t,n,{enumerable:!0,...r,configurable:!0}),mt(t,{type:"set",prop:n},n)),()=>Reflect.deleteProperty(t,n)});return He(t,n)},e.descriptor=Sr,e.destructor=D,e.effect=In,e.effectAggregator=Be,e.flavorOptions=V,e.flavored=q,e.forwardArray=X,e.getActivationLog=function(){return gn},e.getActiveEffect=Ve,e.getActiveProjection=er,e.getAt=H,e.getState=gt,e.hooks=n,e.immutables=vt,e.isCached=function(e,t){return!!Object.getOwnPropertyDescriptor(e,t)},e.isConstructor=m,e.isNonReactive=xt,e.isOwnAccessor=v,e.isReactive=function(e){return ut.has(e)},e.legacyDecorator=M,e.lift=function(e){let t;const n=In(n=>{const r=e(n);if(!r||"object"!=typeof r)throw new Error("lift callback must return an array or object");if(t||(t=Array.isArray(r)?Ct([]):Ct({})),Array.isArray(r)&&Array.isArray(t)){t.length!==r.length&&(t.length=r.length);for(let e=0;e<r.length;e++)t[e]!==r[e]&&(t[e]=r[e])}else{if(Array.isArray(r)||Array.isArray(t))throw new Error("lift callback must return the same type as the previous result");Object.assign(t,r);for(const e of Object.keys(t))e in r||delete t[e]}});return He(t,n)},e.memoize=Vn,e.mixin=ee,e.modernDecorator=T,e.named=O,e.onEffectThrow=function(e,t){if(t??(t=Ve()),!t)throw new Error("Tracking an effect throw while not in an effect");const n=Pe(t);n.catchers?n.catchers.push(e):n.catchers=[e]},e.onEffectTrigger=function(e,t){if(t??(t=Ve()),!t)throw new Error("Tracking an effect trigger while not in an effect");const n=Pe(t);n.trackers?n.trackers.push(e):n.trackers=[e]},e.organize=function(e,t,n){return Object.defineProperty(e,t,{get:n.get,set:n.set,configurable:!0,enumerable:!0}),mt(e,{type:"set",prop:t},t),()=>delete e[t]},e.organized=function(e,t,n={}){const r=Ct(e),o=Ct(n),s=Hn(()=>{const e=[];for(const t in r)e.push(t);return e},e=>{const n=e,s={key:n,get:()=>w.get(r,n,r),set:e=>w.set(r,n,e,r)};return Object.defineProperty(s,"value",{get:s.get,set:s.set,configurable:!0,enumerable:!0}),t(s,o)});return He(o,s)},e.profileInfo=br,e.project=ar,e.reactive=Ct,e.reactiveOptions=Oe,e.register=function(e,t){return new Gn(e,t)},e.registerNativeReactivity=function(e,t){e.prototype[ge]=t,St(t)},e.renamed=b,e.reset=function(){Sn=!1,un=void 0,mn=void 0,En.clear(),bn=new WeakMap,wn=new WeakMap,vn=new WeakMap,kn=new WeakMap,Me=new WeakMap,Te=new WeakMap,Re=new WeakMap,De=new WeakMap,Ke.present.active=void 0},e.root=_n,e.scan=function(e,t,n){const r=Ct(e),o=Ct([]),s=new Map,i=Ct([]),c=new WeakMap;let a=(()=>{var e;let r,o=[];return e=class{constructor(e,t){this.val=(he(this,o),e),this.prev=t}get acc(){const e=this.prev?this.prev.acc:n;return t(e,this.val)}},(()=>{const t="function"==typeof Symbol&&Symbol.metadata?Object.create(null):void 0;r=[Vn],ue(e,null,r,{kind:"getter",name:"acc",static:!1,private:!1,access:{has:e=>"acc"in e,get:e=>e.acc},metadata:t},null,o),t&&Object.defineProperty(e,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t})})(),e})();function f(e){const t=s.get(e);t&&(t(),s.delete(e),Cn(()=>{Reflect.deleteProperty(i,e),Reflect.deleteProperty(o,e)}))}const l=In(function({ascend:e}){const t=r.length,n=new Map;let l;for(let f=0;f<t;f++){const t=w.get(r,f,r);if(!t||"object"!=typeof t&&"function"!=typeof t&&"symbol"!=typeof t)throw new Error("scan: items must be objects (WeakKey) for intermediate caching");const u=n.get(t)??0;n.set(t,u+1);let h=c.get(t);h||(h=[],c.set(t,h));let d=h[u];d?Cn(()=>d.prev)!==l&&(d.prev=l):(d=Ct(new a(t,l)),h[u]=d),i[f]!==d&&(i[f]=d),s.has(f)||e(()=>{const e=f,t=In(function(){const t=i[e];if(t){const n=t.acc;Cn(()=>{o[e]=n})}});s.set(e,t)}),l=d}for(const e of Array.from(s.keys()))e>=t&&f(e);Cn(()=>{o.length!==t&&w.set(o,"length",t,o)})});return He(o,()=>{l();for(const e of s.values())e();s.clear()})},e.setAt=F,e.tag=j,e.throttle=function(e){return R({method(t,n,r){let o=0,s=null;return function(...n){const r=Date.now();if(r-o>=e)return s&&(clearTimeout(s),s=null),o=r,t.apply(this,n);if(!s){const i=e-(r-o),c=[...n];s=setTimeout(()=>{o=Date.now(),t.apply(this,c),s=null},i)}}}})},e.touched=bt,e.touched1=mt,e.unreactive=Yn,e.untracked=Cn,e.unwrap=ht,e.watch=function(e,t,n={}){return"function"==typeof e?function(e,t,{immediate:n=!1,deep:r=!1}={}){let o,s=Zn;const i=In(Ae(function(i){const c=e(i);s!==c&&(s===Zn?n&&t(c):t(c,s)),s=c,r&&(o&&o(),o=Fn(c,e=>t(e,e)))},e));return Object.defineProperties(()=>{i(),o&&o()},{[ve]:{get:()=>i[ve]}})}(e,t,n):"object"==typeof e&&null!==e?function(e,t,{immediate:n=!1,deep:r=!1}={}){return r?Fn(e,t,{immediate:n}):In(function(){Dt(e),n&&t(e),n=!0})}(e,t,n):(()=>{throw new Error("watch: value must be a function or an object")})()},e.zip=function(...e){if(!e.length)return[];const t=Math.min(...e.map(e=>e.length)),n=[];for(let r=0;r<t;r++){const t=e.map(e=>e[r]);n.push(t)}return n}});
2
2
  //# sourceMappingURL=mutts.umd.js.map